JP4024153B2 - 電子透かし埋め込み方法およびその方法を利用可能な符号化装置と復号装置 - Google Patents

電子透かし埋め込み方法およびその方法を利用可能な符号化装置と復号装置 Download PDF

Info

Publication number
JP4024153B2
JP4024153B2 JP2003003987A JP2003003987A JP4024153B2 JP 4024153 B2 JP4024153 B2 JP 4024153B2 JP 2003003987 A JP2003003987 A JP 2003003987A JP 2003003987 A JP2003003987 A JP 2003003987A JP 4024153 B2 JP4024153 B2 JP 4024153B2
Authority
JP
Japan
Prior art keywords
watermark
blocks
embedded
data
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2003003987A
Other languages
English (en)
Other versions
JP2004221715A (ja
Inventor
亜輝臣 国狭
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sanyo Electric Co Ltd
Original Assignee
Sanyo Electric Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sanyo Electric Co Ltd filed Critical Sanyo Electric Co Ltd
Priority to JP2003003987A priority Critical patent/JP4024153B2/ja
Publication of JP2004221715A publication Critical patent/JP2004221715A/ja
Application granted granted Critical
Publication of JP4024153B2 publication Critical patent/JP4024153B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Image Processing (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Description

【0001】
【発明の属する技術分野】
この発明は、電子透かし技術に関し、特に電子透かしの埋め込み方法、およびその方法を利用可能な符号化装置と復号装置に関する。
【0002】
【従来の技術】
ここ数年、インターネット利用人口が急増し、インターネット利用の新たなステージともいえるブロードバンド時代に入ろうとしている。ブロードバンド通信では通信帯域が格段に広がるため、音声、静止画、動画などデータ量の大きいコンテンツの配信も気軽にできるようになる。このようなデジタルコンテンツの流通が盛んになると、コンテンツの著作権の保護がより一層求められることになる。
【0003】
ネットワーク上に流通するコンテンツのデータは他人に容易にコピーされ、著作権に対する保護が十分ではないのが現状である。そこで著作権を保護するために、コンテンツの作成者や利用者の情報を電子透かしとしてコンテンツデータに埋め込む技術が開発されている。この電子透かし技術を用いることにより、ネットワーク上で流通するコンテンツデータから電子透かしを抽出して、不正利用を検出したり、不正コピーの流通経路を追跡することが可能となる。
【0004】
従来の電子透かしの埋め込み技術には、電子透かし情報を埋め込む処理の自由度を維持しつつ、耐性の強い電子透かしの埋め込みを可能とするものがある(たとえば、非特許文献1参照)。
【0005】
【非特許文献1】
Ingemar J. Cox, Joe Kilian, F. Thomson Leighton, and Talal Shamoon, "Secure Spread Spectrum Watermarking for Multimedia," IEEE Trans. on Image Processing, Vol. 6, No. 12, December 1997.
【0006】
【発明が解決しようとする課題】
電子透かしは、不正利用者による改ざんを防止するために、利用者には分からないようにコンテンツデータに埋め込まれる。しかしコンテンツデータは、流通過程や利用過程で、圧縮符号化や各種フィルタリングなどの信号処理が加えられたり、ユーザにより加工されたり、あるいは透かし情報が改ざんされるなど、さまざまな操作を受けることがあり、その過程で埋め込まれた電子透かしデータの一部が変更されたり、消失する可能性がある。したがって電子透かしはこういった操作に対する耐性が要求される。
【0007】
電子透かしの耐性を高めるための電子透かしの埋め込み技術が提案されているが、人間の視覚特性に合わせて、画像のエッジ部分やテクスチャ領域の中でも変化の大きな部分など高周波成分に電子透かしを埋め込む方法であり、個々のコンテンツデータの内容に強く依存し、透かし埋め込み後のコンテンツデータに対するさまざまな操作に対して耐性を強化するには、汎用性や柔軟性の面で限界がある。
【0008】
また、画像を圧縮符号化する際、画像をブロックに分割して、ブロック単位で圧縮符号化が行われる。ブロック分割することで、処理に必要なメモリ量を一定量に抑えることができるからである。一方、電子透かしは画像全体に埋め込まれるのが普通であり、ブロック単位の圧縮符号化との整合性がなく、画像全体をバッファするメモリを前提とした埋め込み処理であるため、大きなメモリ容量が必要である。
【0009】
本発明はこうした状況に鑑みてなされたもので、その目的は、耐性の強い電子透かしを埋め込み、電子透かしの検出誤差を低減することの可能な技術の提供にある。また別の目的は、圧縮符号化および復号に同期して、電子透かしの埋め込みおよび抽出を行うことの可能な技術の提供にある。
【0010】
【課題を解決するための手段】
本発明のある態様は電子透かし埋め込み方法に関する。この方法は、ホストデータの圧縮符号化と同期して、圧縮符号化の行われるブロックを電子透かしの埋め込み単位として、複数のブロックに実質的に同一の電子透かしデータを重複して埋め込む。
【0011】
ここでいうブロックとは、ホストデータを分割して圧縮符号化する際の処理単位であり、通常、一定のサイズであり、その処理単位毎にメモリに格納されて圧縮符号化処理がなされる。圧縮符号化の処理単位で電子透かしが埋め込まれるため、メモリ効率がよく、圧縮符号化と連動してリアルタイムに電子透かしの埋め込み処理が可能である。また複数のブロックに実質的に同一の電子透かしデータが繰り返し埋め込まれるため、透かしの耐性が強化される。ここで「実質的に同一の電子透かしデータ」とは、同一の電子透かしをブロック番号などの情報を用いてブロックごとに変更して埋め込む場合や、透かしのデータをブロックのデータに依存してスクランブルする場合も含める趣旨である。
【0012】
ホストデータは、電子透かしを埋め込む対象となるオリジナルデータであり、たとえば静止画、動画、音声などのデータである。埋め込まれる電子透かしには、オリジナルデータの識別情報、作成者情報、利用者情報などが含まれる。その他、認証を目的として、ホストデータのダイジェストデータ、すなわちホストデータの特徴を端的に表したデータを電子透かしとして埋め込むことも可能である。電子透かしの耐性とは、電子透かしの埋め込まれたホストデータが改変されるなどの攻撃を受けた場合や、電子透かしの埋め込まれたホストデータに圧縮符号化やフィルタリングなどの信号処理が施された場合など、電子透かしの埋め込み後のホストデータに対して何らかの操作が加えられた場合に電子透かしデータがもつ頑強性をいう。
【0013】
前記複数のブロックの各々に前記透かしデータを埋め込む際、前記透かしデータをスクランブルして生成された複数の透かしデータの候補を埋め込み、埋め込まれた透かしの候補の耐性をそれぞれ評価し、その評価が良好である前記透かしデータの候補が埋め込まれたブロックを埋め込みブロックとして選択してもよい。このようにブロックごとに透かしデータをスクランブルして高い耐性をもつ透かしデータを埋め込むことにより、ブロックごとのデータの特性を活かして、透かしの耐性をさらに強化することができる。
【0014】
電子透かしを埋め込む側では、電子透かしデータをスクランブルする際、元の電子透かしデータを複数の透かしデータの候補に対応づける1対多の写像が用いられる。電子透かしを抽出する側では、逆写像を行って、スクランブルされた透かしデータから元の電子透かしデータを得る。そのため電子透かしを抽出する側では、元の電子透かしデータと複数の透かしデータの候補の対応テーブルが利用されてもよい。また、電子透かしを埋め込む側で、元の電子透かしデータから所定の初期値のもとで複数の透かしデータの候補を生成するスクランブル関数が利用されてもよい。この場合、電子透かしを抽出する側では、スクランブルに利用された初期値とスクランブル関数にもとづいて、抽出された電子透かしの逆スクランブルが行われる。
【0015】
本発明の別の態様は符号化装置に関する。この装置は、ホストデータをブロック単位で圧縮符号化する符号化処理部と、ホストデータの圧縮符号化と同期して、圧縮符号化の行われる複数のブロックに実質的に同一の電子透かしデータを埋め込む透かし埋め込み処理部とを含む。前記透かし埋め込み処理部は、前記透かしデータをスクランブルして複数の透かしデータの候補を生成するスクランブル部と、前記ブロックに前記複数の透かしデータの候補のそれぞれを埋め込み、複数の埋め込みブロックの候補を生成する埋め込み部と、前記複数の埋め込みブロックの候補の各々について、当該電子透かしの耐性を評価する評価部と、前記耐性の評価値に基づいて前記複数の埋め込みブロックの候補の一つを選択する選択部とを含む。
【0016】
前記埋め込み部は、前記複数のブロックに埋め込まれる前記透かしデータの情報系列を誤り訂正符号化したときのパリティ系列を、前記複数のブロックの内、一部のブロックに電子透かしとして埋め込んでもよい。前記透かし埋め込み処理部は、圧縮符号化の行われるN個のブロックの内、K個のブロックに埋め込まれるべき前記透かしデータの情報ビットからなる情報系列を、符号化率がK/Nの誤り訂正符号を用いて誤り訂正符号化し、残りの(N−K)個のブロックに埋め込まれるべき、前記情報ビットと同一ビット長の冗長ビットからなるパリティ系列を生成するブロック誤り訂正符号化部をさらに含んでもよい。透かしデータの情報ビットがnビット(nは整数)であるとすると、K個のブロックに埋め込まれる情報系列はn×Kビットである。このK個のブロックに埋め込まれた情報系列の全体をK/Nの符号化率で誤り訂正符号化すると、全体でn×(N−K)ビットのパリティ系列が得られる。このパリティ系列をnビットずつ区切ることにより得られるnビットの冗長ビットを(N−K)個のブロックに電子透かしとして埋め込む。K個のブロックを情報系列埋め込み用ブロックと呼び、(N−K)個のブロックをパリティ系列埋め込み用ブロックと呼ぶ。情報系列埋め込み用ブロックに埋め込まれる情報ビット、およびパリティ系列埋め込み用ブロックに埋め込まれる冗長ビットはともにnビットであるから、電子透かしとしての埋め込み時には特に区別することなく両者を同一の方式で埋め込むことができる。
【0017】
本発明のさらに別の態様は復号装置に関する。この装置は、符号化ホストデータをブロック単位で復号する復号処理部と、前記符号化ホストデータの復号と同期して、復号の行われる複数のブロックから実質的に同一の電子透かしデータを抽出する透かし抽出処理部とを含む。前記透かし抽出処理部は、復号の行われる複数のブロックの各々からスクランブルされた透かしデータを抽出する抽出部と、前記スクランブルされた透かしデータのスクランブルを解除するデスクランブル部と、前記複数のブロックから抽出された複数の前記透かしデータを多数決判定することにより、埋め込まれた透かしデータを特定する判定部とを含む。複数のブロックから透かしデータを抽出して多数決判定することにより、透かしデータの検出精度を向上させることができる。
【0018】
前記抽出部は、前記複数のブロックから抽出される前記透かしデータの情報系列の誤り訂正のためのパリティ系列を、前記複数のブロックの内、一部のブロックから電子透かしとして抽出してもよい。前記透かし抽出処理部は、復号の行われるN個のブロックの内、K個のブロックから抽出される前記透かしデータの情報ビットからなる情報系列を、残りの(N−K)個のブロックから抽出される、前記情報ビットと同一ビット長の冗長ビットからなるパリティ系列により、誤り訂正するブロック誤り訂正復号部をさらに含んでもよい。
【0019】
本発明のさらに別の態様はコンピュータプログラムに関する。このプログラムは、ホストデータの圧縮符号化と同期して、スクランブルして生成された複数の電子透かしデータの候補を、圧縮符号化の行われるブロックに埋め込み、複数の埋め込みブロックの候補を生成するステップと、前記複数の埋め込みブロックの候補の各々について、埋め込まれた電子透かしの耐性を評価するステップと、前記耐性の評価値に基づいて前記複数の埋め込みブロックの候補の1つを最終的に電子透かしが埋め込まれたブロックとして選択するステップとをコンピュータに実行させる。
【0020】
本発明のさらに別の態様もコンピュータプログラムに関する。このプログラムは、符号化ホストデータの復号と同期して、復号の行われる複数のブロックの各々からスクランブルされた透かしデータを抽出するステップと、前記スクランブルされた透かしデータのスクランブルを解除するステップと、前記複数のブロックから抽出された複数の前記透かしデータを多数決判定して、埋め込まれた透かしデータを特定するステップとをコンピュータに実行させる。
【0021】
なお、以上の構成要素の任意の組み合わせ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【0022】
【発明の実施の形態】
実施の形態1
図1は、実施の形態1に係る符号化装置100の構成を示す。この構成は、ハードウエア的には、任意のコンピュータのCPU、メモリ、その他のLSIで実現でき、ソフトウエア的にはメモリにロードされた電子透かし埋め込み機能および圧縮符号化機能のあるプログラムなどによって実現されるが、ここではそれらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックがハードウエアのみ、ソフトウエアのみ、またはそれらの組み合わせによっていろいろな形で実現できることは、当業者には理解されるところである。
【0023】
符号化装置100は、ホストデータSを圧縮符号化する符号化処理部10と、圧縮符号化が行われるホストデータSのブロックVに透かし情報Iを埋め込む透かし埋め込み処理部38とを含む。ホストデータSは、たとえば音声、静止画、動画などのデータである。透かし情報Iは、そのホストデータSの識別情報、作成者情報、利用者情報など著作権に関する情報、ホストデータSの改ざん検出を行う認証情報、タイムスタンプなどである。以下では、ホストデータSとして画像を例に挙げ、ブロックVは二次元のピクセルデータであるとして説明するが、ホストデータSが音声であっても、圧縮符号化の処理単位として一次元のブロックVを考えることができ、同様の処理が可能である。
【0024】
ホストデータSは符号化処理部10のブロック分割部12によりブロックVに分割され、直交変換部14により離散コサイン変換や離散ウェーブレット変換などの直交変換により、空間周波数成分に変換される。直交変換部14により直交変換されたブロックVは、透かし埋め込み処理部38に供給される。透かし埋め込み処理部38はブロックVに透かし情報Iを埋め込み、埋め込みブロックWを符号化処理部10の量子化部16に与える。量子化部16は埋め込みブロックWを量子化する。可変長符号化部18は、ホストデータSの量子化された埋め込みブロックWを可変長符号化することにより、ホストデータSを圧縮し、透かし入り符号化ホストデータTを出力する。
【0025】
透かし埋め込み処理部38の暗号化部32は、秘密鍵Kを用いて、透かし情報Iを暗号化して、透かしデータXを生成する。暗号化部32は、ブロック分割部12から現在符号化処理中のブロックVのブロック番号の入力を受けて、ブロック番号によって透かし情報Iを暗号化することもできる。この場合、同一の透かし情報Iに対してブロック毎に異なる透かしデータXが生成されるが、暗号を復号して元の透かし情報Iを一意に復元できるため、ブロック番号によって異なる透かしデータXを実質的に同一の透かしであるとして扱う。
【0026】
変更部34は、暗号化部32から透かしデータXの入力を、直交変換部14から現在符号化処理中のブロックVの入力を受けて、ブロックVに依存して透かしデータXをスクランブルし、スクランブルされた透かしデータX’を出力する。埋め込み部36は、秘密鍵Kを用いて、直交変換部14から入力される現在符号化処理中のブロックVにスクランブルされた透かしデータX’を埋め込み、埋め込みブロックWを出力して量子化部16に与える。秘密鍵Kに依存しない埋め込み方式を用いてもよい。
【0027】
透かし埋め込み処理部38による透かし埋め込み処理は、符号化処理部10によって圧縮符号化がなされるホストデータSのすべてのブロックVについて、繰り返し行われ、すべてのブロックVに同一もしくは実質的に同一の透かしデータXが埋め込まれることになる。
【0028】
変更部34と埋め込み部36は協同して、複数のスクランブルされた透かしデータX’を生成し、それぞれをブロックVに埋め込み、複数の埋め込みブロックWの候補を生成し、それらの候補の一つを選択する機能をもつ。
【0029】
図2は変更部34と埋め込み部36の機能構成図である。L個のマルチプレクサ20は、透かしデータXの先頭にそれぞれ初期データC〜CL−1を挿入したL種類のビット系列Xを生成する。L個のスクランブラ22はL種類のビット系列をそれぞれスクランブルして、L種類のスクランブルされた透かしデータX’を生成する。L個のECC(Error Correction Code)部24はL種類のスクランブルされた透かしデータX’のそれぞれに誤り訂正のためのパリティを付加した透かしデータX’を生成する。ECC部24は、透かしビットの検出率を向上させるためのオプションであって、アプリケーションによっては必要ない場合もあり、この構成を省略してもよい。また、スクランブラ22とECC部24の順序を逆にして、L種類のビット系列に誤り訂正のためのパリティを付加した後に、それらをスクランブルして、L種類のスクランブルされた透かしデータを生成してもよい。
【0030】
L個の埋め込み部26は、L種類のスクランブルされた透かしデータX’のそれぞれを、圧縮符号化の行われるブロックVに埋め込み、L種類の埋め込みブロックWの候補を生成する。L個のSNR計算部28は、L種類の埋め込みブロックWの候補のそれぞれについて、透かしデータXの耐性を評価する。セレクタ30は、耐性の評価値が最良である埋め込みブロックWの候補を選択し、それを最終的な埋め込みブロックWとして出力する。
【0031】
図3は、実施の形態1に係る復号装置200の構成を示す。符号化装置100により電子透かしが埋め込まれて圧縮された、透かし入り符号化ホストデータTは、ネットワーク上で流通し、コンピュータにおいて利用される。その過程で透かし入り符号化ホストデータTは圧縮符号化や改ざんなどの操作を受ける。画像データであれば、JPEG圧縮、フィルタリング、量子化、色補正などの信号処理や、スケーリング、クロッピング、回転、並行移動等の幾何学的な変換など有用性のある操作が施されたり、電子透かしを除去したり改変するなどの不正な攻撃が加えられたりする。そのような操作による変形を埋め込みホストデータTに対するノイズNとみなし、ノイズNが付加した透かし入り符号化ホストデータTをT’(=T+N)と表記する。同様に透かし入り符号化ホストデータTの埋め込みブロックWについてもノイズNが付加したものをW’(=W+N)と表記する。
【0032】
復号装置200は、透かし入り符号化ホストデータT’を復号する復号処理部60と、透かし入り符号化ホストデータT’の埋め込みブロックW’から透かし情報Iを抽出する透かし抽出処理部40とを含む。
【0033】
透かし入り符号化ホストデータT’は復号処理部60の可変長符号復号部62により可変長符号が復号され、ブロック分割部64により埋め込みブロックW’に分割される。逆量子化部66は埋め込みブロックW’を逆量子化する。逆直交変換部68は埋め込みブロックW’を逆直交変換して、透かし入りホストデータU’を出力する。逆量子化部66は、透かしの抽出のために、逆量子化後の埋め込みブロックW’を透かし抽出処理部40に与える。
【0034】
透かし抽出処理部40の抽出部42は、秘密鍵Kを用いて、逆量子化部66から入力される現在復号処理中の埋め込みブロックW’に埋め込まれた透かしデータX’を抽出する。ECC復号部44はこの透かしデータX’に付加されているパリティビットを用いて誤り訂正を行い、透かしデータX’を生成する。デスクランブラ46は、誤り訂正後の透かしデータX’のスクランブルを解除し、透かしデータXを出力する。暗号復号部48は、秘密鍵Kを用いて、暗号化されている透かしデータXを復号して元の透かし情報Iを出力する。
【0035】
以上の透かし抽出処理を、復号処理部60が復号する透かし入り符号化ホストデータT’の埋め込みブロックW’に対して、繰り返し行うことで、すべての埋め込みブロックW’からそれぞれ透かし情報Iを抽出することができる。多数決判定部50は、すべての埋め込みブロックW’から抽出された複数の透かし情報Iを多数決判定して、最も多い透かし情報Iを正しい透かし情報Iであると特定する。
【0036】
多数決判定部50は、多数決判定により特定された透かし情報Iが検出された埋め込みブロックW’の数が所定の閾値より小さい場合には、透かしが埋め込まれていないと判断する。あるいは、何らかの透かしが埋め込まれていることが仮定されている場合には、多数決判定部50は、ホストデータSに対する改ざんが多数のブロックVに及んでいるため、正しい透かしの検出ができない旨の警告を出力してもよい。また、多数決判定部50は、最終的に特定された透かし情報Iとは異なる透かしが検出された埋め込みブロックW’については、改ざんの可能性があると判断し、その埋め込みブロックW’のブロック番号を通知する警告メッセージを出力することもできる。
【0037】
なお、多数決判定部50は、暗号復号部48により暗号が復号される前の透かしデータXについて、多数決判定を行うようにしてもよい。また、多数決判定部50は、抽出された複数の透かしビット列全体を互いに比較して、多数決判定により正しい透かしビット列を特定してもよく、あるいは、透かしの情報語の単位で互いに比較して、正しい情報語を特定してもよい。さらに、透かしデータXの情報ビット単位で多数決判定を行い、ビット毎に正しい値を特定してもよい。
【0038】
以上の構成の符号化装置100および復号装置200による電子透かしの埋め込みと抽出の手順を説明する。図10は、符号化装置100の透かし埋め込み処理部38による電子透かしの埋め込み手順を説明するフローチャートである。フローチャートの説明にあたり、図4から図9を適宜参照する。
【0039】
マルチプレクサ20は、暗号化部32により暗号化された透かしデータXの先頭にL種類の初期データを挿入してL個の符号系列を生成し(S10)、スクランブラ22は、それらの符号系列をスクランブルしてL種類のスクランブルされた透かしデータX’を生成する(S12)。
【0040】
図4は、透かしデータXとL種類のスクランブルされた透かしデータX’との関係を示す。(n−r)ビットの透かしデータXの先頭に、rビットの冗長語を識別データID[0]〜ID[L−1]として付加し、L種類の透かしデータの候補を作成する。最大2種類の候補が作成される。これらの候補に含まれる透かしデータXのビット列はこれから述べるスクランブル方式により、スクランブルされる。
【0041】
スクランブル方式の一例として、伝送や磁気記録におけるデジタル変調の際に利用されるGS(Guided Scramble)方式を採用する。GS方式は、ある一定のデータブロック長からなる情報系列に対して、L種類の符号系列を生成し、これらを次に送信する符号系列の候補として扱う。これらの候補の中から、伝送媒体の性質に合わせて最適なものを選択して最終的な符号系列とする。このGS方式により、多様性に富んだ符号系列の候補を簡単な方法で生成することができる。
【0042】
符号化装置100におけるマルチプレクサ20とスクランブラ22がGS符号化器の一部として機能する。GS符号化器は、Mビットからなる情報系列D(x)の直前にL種類のrビットの冗長語c(i=0,・・・,L−1)を付加し、L種類の符号系列c+D(x)を生成する。この符号系列の符号長は(M+r)ビットとなる。このようにして冗長語が付加された符号系列に対して、次式のようにN次元のスクランブル多項式S(x)で除算することにより商T(x)を求める。
【0043】
(x)=QS(x)[(c+D(x))x] (1)
ただし、Q[b]はbをaで除算した商を示す。商集合{T(x),・・・,TL−1(x)}がスクランブル後の符号系列の候補である。これらの候補の各々について、その符号系列が実際に用いられた際の性能を評価し、その評価値が最良であるものを最終的な符号系列として選択する。
【0044】
復調時には、復号装置40におけるデスクランブラ46がGS復号器として機能し、符号系列にS(x)を乗算し、下位Nビットと上位rビットの変換情報を捨てることにより、元の情報系列D(x)が得られる。
【0045】
ここでスクランブル多項式S(x)として、S(x)=x+1を用いた場合を説明する。M mod r=0の場合、(1)式は次式に示す畳み込み演算で表現可能である。
【0046】
=d(+)c (j=0)
=d(+)tj−1 (j=1,・・・,M/r−1)
ただし、i=0,・・・,L−1であり、dは元の情報系列D(x)をrビットずつ区切ったビット列、tは変換後の符号系列T(x)の先頭のrビットの冗長語c以降をrビットずつ区切ったビット列である。また(+)は排他的論理和(EX−OR)演算を示す。
【0047】
図5はこの符号化時の畳み込み演算を説明する図である。たとえば、M=6、r=2の場合を考える。元の情報系列D(x)=(1,0,1,0,0,1)に対して、冗長語c=(0,0)を付加して、変換後の符号系列T(x)を生成する。上記の符号化時の畳み込み演算により、t=d(+)c=(1,0)(+)(0,0)=(1,0)、t=d(+)t=(1,0)(+)(1,0)=(0,0)、t=d(+)t=(0,1)(+)(0,0)=(0,1)となり、変換後の符号系列T=(0,0,1,0,0,0,0,1)が得られる。ここで変換後の符号系列Tの先頭の2ビットは冗長語cであることに注意する。
【0048】
同様にして、冗長語c=(0,1)、c=(1,0)、c=(1,1)に対して、それぞれ変換後の符号系列T=(0,1,1,1,0,1,0,0)、T=(1,0,0,0,1,0,1,1)、T=(1,1,0,1,1,1,1,0)が得られる。
【0049】
復号時は次式のように畳み込み演算を行うことにより、元の情報系列D(x)が得られる。
【0050】
=t(+)c (j=0)
=t(+)tj−1 (j=1,・・・,M/r−1)
【0051】
図6はこの復号時の畳み込み演算を説明する図である。前述の例において、変換後の符号化系列T=(0,0,1,0,0,0,0,1)が与えられると、先頭の2ビットから冗長語c=(0,0)が得られ、上記の復号時の畳み込み演算により、d=t(+)c=(1,0)(+)(0,0)=(1,0)、d=t(+)t=(0,0)(+)(1,0)=(1,0)、d=t(+)t=(0,1)(+)(0,0)=(0,1)となり、元の情報系列D(x)=(1,0,1,0,0,1)が得られる。他の変換後の符号化系列T,T,Tについてもこの畳み込み演算により、元の情報系列D(x)が得られる。
【0052】
再び図10を参照する。スクランブラ22によって生成されたL種類のスクランブルされた透かしデータX’は、ECC部24により誤り訂正のためのパリティを付加された後に、埋め込み部26によりホストデータVのブロックVに埋め込まれる(S14)。
【0053】
L種類のスクランブルされた透かしデータX’をx,x,・・・,xL−1とする。各透かしデータの候補のビット系列は、次式のように表される。先頭のrビットは識別データである。また、スクランブル処理後のビット0は、−1に置き換えて、以下の処理を行う。
【0054】
={−1,・・・,−1,−1,x ,x ,・・・,x n−r−1
={−1,・・・,−1,1,x ,x ,・・・,x n−r−1
・・・
L−1={1,・・・,1,1,xL−1 ,xL−1 ,・・・,xL−1 n−r−1
【0055】
ホストデータSのブロックV内から、nビットの透かしデータの埋め込み対象としてサンプル集合のペア(V,V)を選択する。埋め込みサンプルの集合V,Vは、それぞれ次のようにn個の要素をもつ。
【0056】
={v ,v ,・・・,v n−1
={v ,v ,・・・,v n−1
ここでサンプルの集合V,Vの要素であるサブセットv 、v (i=0,1,・・・,n−1)は、いずれも同一のブロックV内でランダムに選択されたm個のサンプルデータからなる。
【0057】
={v i,0,v i,1,・・・,v i,m−1
={v i,0,v i,1,・・・,v i,m−1
【0058】
透かしデータの候補x(k=0,・・・,L−1)をサンプル集合のペア(V,V)に次のように埋め込み、L種類の埋め込みブロックの候補Wを生成する。
【0059】
+k i,j=v i,j+α i,j・x
−k i,j=v i,j−α i,j・x
ここでα i,jおよびα i,jは人間の視覚モデルにもとづいて知覚されるノイズを減少するためのスケーリングパラメータであり、いずれも正の値である。あるいは、α i,jおよびα i,jは、ある確率分布、たとえばガウシアン分布、一様分布などに従うように、秘密鍵Kによって生成される正の値であってもよい。この場合、透かしの埋め込み強度は減少するが、埋め込まれた透かしの秘匿性は向上する。このようにして、k番目の透かしデータの候補の各ビットx は各サブセットv 、v のそれぞれm個のサンプルに重複して埋め込まれる。重複の数mが大きいほど、透かしビットが失われる可能性が低くなり、検出誤差が小さくなる一方で、ホストデータに埋め込むことができる透かしのビット数が減少する。α i,jおよびα i,jは、視覚上の劣化を検知できないように各ピクセル毎に設定される値であり、原理的には、埋め込むピクセル数mを増やしても、人間の視覚上、画質の劣化は検知されない。しかし、1ビットを埋め込むのに費やすピクセル数が増加するということは、埋め込み領域には制限があるため、埋め込むことができるビット数が減少することを意味し、したがって埋め込み率の低下を招くことなる。
【0060】
符号化処理部10の直交変換部14が、ホストデータSを離散コサイン変換(Discrete Cosine Transform)により変換するときは、ブロックVはDCTブロックであり、サンプル集合の各サブセットv 、v のm個のサンプルデータは、1つのDCTブロックに含まれるm個のDCT係数である。
【0061】
図7は、離散コサイン変換されたホストデータSのブロックVにスクランブルされた透かしデータX’が埋め込まれる様子を説明する図である。同図のように、JPEGで用いられている離散コサイン変換では、ホストデータSの空間領域は縦横8ピクセルからなるブロックVに分割され、それぞれのブロックVが空間周波数成分に変換される。直交変換後の各ブロックVにスクランブルされた透かしデータX’の透かしビット列xが埋め込まれる。
【0062】
図8は、8×8のサイズのDCTブロックであるブロックV内の2m個のDCT係数に透かしビットx が埋め込まれる様子を示している。各サブセットv 、v として選ばれるそれぞれm個のDCT係数は、秘密鍵Kに基づいて選択される。このようにして、1ビットの透かしが1つのブロックVに埋め込まれる。この処理をn回繰り返すことで、ブロックV内の2nm個のDCT係数にnビットの透かしデータが埋め込まれる。
【0063】
直交変換部14が、ホストデータSを離散ウェーブレット変換(Discrete Wavelet Transform)により変換するときは、ブロックVは、離散ウェーブレット変換により生成されるサブバンドであり、サンプル集合の各サブセットv 、v のm個のサンプルデータは、1つのサブバンドに含まれるm個のウェーブレット変換係数である。
【0064】
図9は、離散ウェーブレット変換されたホストデータSの各サブバンドを説明する図である。同図に示すとおり、ホストデータSは離散ウェーブレット変換により4つの周波数サブバンドへ分割される。これらのサブバンドは、縦横両方向において低周波成分を有するLLサブバンドと、縦横のいずれかひとつの方向において低周波成分を有し、かつもう一方の方向において高周波成分を有するHLおよびLHサブバンドと、縦横両方向において高周波成分を有するHHサブバンドである。各サブバンドの縦横のピクセル数は処理前のホストデータSのそれぞれ1/2であり、一回のフィルタリングでサイズが1/4のサブバンドデータが得られる。
【0065】
こうして得られたサブバンドのうち、LLサブバンドに対して離散ウェーブレット変換によるフィルタリング処理が再度施され、さらにLL、HL、LH、HHの4つのサブバンドに分割される。このフィルタリングは所定の回数行われ、最後のフィルタリングで生じたLLサブバンドがホストデータVのDC成分に最も近いデータとなる。
【0066】
同図の例では、ホストデータSに離散ウェーブレット変換が3回施され、第1階層のHLサブバンドHL、LHサブバンドLHおよびHHサブバンドHH、第2階層のHLサブバンドHL、LHサブバンドLHおよびHHサブバンドHH、第3階層のLLサブバンドLL、HLサブバンドHL、LHサブバンドLH、およびHHサブバンドHHの順に圧縮符号化が行われる。透かし埋め込み処理部38は、これらのサブバンドの各々を透かしデータX’の埋め込みブロックとして透かしデータX’を埋め込む。各サブセットv 、v として選ばれるそれぞれm個のウェーブレット変換係数は、各サブバンドから秘密鍵Kに基づいて選択される。
【0067】
図10に戻り、SNR計算部28は、L種類の埋め込みブロックの候補Wに対して透かしデータxの耐性、すなわち埋め込み強度を評価し(S16)、セレクタ30は埋め込み強度が最大となる埋め込みブロックの候補Wを最終的な埋め込みブロックWとして選択する(S18)。
【0068】
埋め込み強度の評価式を与える前に、埋め込みブロックWに対して信号処理や画像処理などにより変形が加えられた場合に、透かしデータX’がどのように検出されるかを検討する。埋め込みブロックWに加えられる変形をノイズNとして扱う。ノイズの付加された埋め込みブロックW’から透かしデータX’を抽出する方法を説明する。埋め込みブロックの集合のペア(W’,W’)を次のように定義する。埋め込みブロックの集合W’,W’は次のようにそれぞれn個の要素をもつ。
【0069】
W’={w’ ,w’ ,・・・,w’ n−1
W’={w’ ,w’ ,・・・,w’ n−1
ここで埋め込みブロックの集合W’,W’の要素である各サブセットw’ 、w’ は、電子透かしの埋め込み位置に対応して、次のように埋め込みブロックW’のm個のサンプルデータからなる。
w’ ={w’ i,0,w’ i,1,・・・,w’ i,m−1
w’ ={w’ i,0,w’ i,1,・・・,w’ i,m−1
【0070】
透かしビットx を検出するために、次の検出値zを計算する。
=Σj=0 m−1(w’ i,j−w’ i,j
=Σj=0 m−1[(w i,j+n i,j)−(w i,j+n i,j)]
=Σj=0 m−1[(v i,j−v i,j)+(α i,j+α i,j)・x +(n i,j−n i,j)]
ここでΣj=0 m−1(v i,j−v i,j)はmが十分に大きいとき、一般にガウス分布に従い、0に近づく。またノイズの項Σj=0 m−1(n i,j−n i,j)についても同様に0に近づく。したがって、zはΣj=0 m−1[(α i,j+α i,j)・x ]の値で近似できる。(α i,j+α i,j)は正であるから、透かしビットx が1ならばzは正であり、透かしビットx が−1ならばzは負である。したがってzの正負により透かしビットx の値を判定することができる。
【0071】
埋め込み強度の評価は、ホストデータSのブロックVを透かしデータXに対するノイズとみなして、埋め込まれた透かしデータxに対して検出される透かしデータの分散を計算することにより行われる。分散が小さいほど、耐性が強いと考えることができる。埋め込みブロックの候補のペア(W+k,W−k)に対して次式によりSN比を評価して、最適な候補Kを選択する。
【0072】
K=argmax(P/σ
=Σi=0 n−1|Σj=0 m−1(w+k i,j−w−k i,j)|/n
σ =Σi=0 n−1|Σj=0 m−1(w+k i,j−w−k i,j)−P 1/2・x /n
【0073】
透かしビットx が{1,−1}のいずれであるかを判定するための前述の検出値zは、埋め込みブロックWにノイズが付加される前の状態では、z=Σj=0 m−1(w+k i,j−w−k i,j)で与えられることを考慮すると、分散σ は、透かしビットに関する検出値zと実際に埋め込まれた透かしビットの平均値P 1/2・x との差の自乗をi=0,・・・,n−1について評価して平均化したものであると言える。ただし、Pは検出値zのi=0,・・・,n−1についての自乗平均であり、埋め込まれた透かしの平均パワーを示す。したがって、埋め込まれた透かしデータxと抽出される透かしデータとの間のユークリッド距離が小さく、透かしビットを検出するための検出値の絶対値が大きいほど、P/σ の値は大きくなる。言い換えれば、P/σ が最大となる候補を選択することは、透かしビットの検出誤差が最小である候補を選択することを意味する。
【0074】
検出値zについて、v i,j>v i,jかつx =1ならばz>>0となり、v i,j<v i,jかつx =−1ならばz<<0となる。したがって前述の評価により最適な透かしデータxの候補を選択することは、検出値zによる透かしビットx の検出性能を向上させるために、v i,j>v i,jならばx’=1となり、v i,j<v i,jならばx’=−1となるように、元の透かしビットxをx’に変更することを意味する。これがGS方式のガイディングルールであり、これにより検出値zのレスポンスが改善する。
【0075】
SNR計算部28は、L種類の埋め込みブロックWの候補について、透かしデータXの耐性を評価する際に、圧縮符号化の際の量子化誤差を考慮に入れてもよい。具体的には、埋め込まれた透かしデータと検出される透かしデータとの間の分散により埋め込み強度を評価する際に、埋め込みホストデータWに対する量子化誤差を考慮した以下の重み付け分散を用いる。
【0076】
K=argmax(P/σ
=Σi=0 n−1|Σj=0 m−1(w*+k i,j−w*−k i,j)|/n
σ =Σi=0 n−1|Σj=0 m−1(w*+k i,j−w*−k i,j)−P 1/2・x /n
ここでw*+k i,j、w*−k i,jは量子化がなされた後の埋め込みホストデータWである。たとえばJPEG2000による圧縮符号化がなされる場合、w*+k i,j、w*−k i,jはJPEG2000の量子化方法を用いて以下のように計算することができる。
【0077】
JPEG2000の規格書「ISO/IEC 15444-1: JPEG 2000 image coding system, JPEG 2000 final committee draft, 18 August 2000」にもとづいて、JPEG2000の量子化方法を簡単に説明する。サブバンドbにおける量子化前のウェーブレット変換係数をa(u,v)、サブバンドbにおける量子化後のウェーブレット変換係数をq(u,v)とすると、JPEG2000では以下の量子化式を用いてウェーブレット変換係数の量子化が行われる。
【0078】
(u,v)=sign(a(u,v))・[|a(u,v)|/Δb]
ここで[x]はxを越えない最大の整数を表す。Δbはサブバンドbにおける量子化ステップであり、次式で与えられる。
Δb=2^(R−ε)・(1+μ/211
ここでRはサブバンドbにおけるダイナミックレンジ、εはサブバンドbにおける量子化の指数、μはサブバンドbにおける量子化の仮数である。
【0079】
このようにJPEG2000では、同一のサブバンドに属するウェーブレット変換係数は同じ量子化ステップで除算され、整数の値に丸められる。ブロックVに埋め込まれる透かしデータXはこのような量子化演算に対して耐性をもつ必要があるため、JPEG2000による量子化がなされた後の埋め込みブロックWの値を算出して、上述のようにその算出された埋め込みブロックWに対して透かしデータの耐性を評価する。透かし埋め込み処理部38は、符号化処理部10による圧縮符号化に同期して透かしの埋め込み処理を行うため、符号化処理部10において用いられる量子化パラメータを適宜参照することができる。
【0080】
図11は、復号装置200の透かし抽出処理部40による電子透かしの抽出手順を説明するフローチャートである。透かし抽出処理部40の抽出部42は、ノイズの付加された埋め込みブロックW’を受け取ると、ECC復号部44が硬入力の復号器で構成される場合には、検出値zを次のように計算し、検出値zの正負で、透かしビットx’が{−1,1}のいずれであるかを判定し、透かしデータX’を得る(S30)。また、ECC復号部44が軟入力の復号器で構成される場合には、検出値zを{−1,1}に硬判定することなく、そのまま、ECC復号部44に送る。
【0081】
=Σj=0 m−1(w’ i,j−w’ i,j
=Σj=0 m−1[(w i,j+n i,j)−(w i,j+n i,j)]
=Σj=0 m−1[(v i,j−v i,j)+(α i,j+α i,j)・x’+(n i,j−n i,j)]
【0082】
抽出された透かしデータX’はさらにECC復号部44により誤り訂正がなされ、デスクランブラ46によりスクランブルを解除され、元の透かしデータXが得られる(S32)。
【0083】
多数決判定部50は、複数の埋め込みブロックW’から得られる複数の透かしデータXを多数決判定することにより、埋め込まれた透かしを特定する(S34)。多数決判定部50は、多数決判定により特定された透かしと同じ透かしデータXが抽出された埋め込みブロックW’の数が所定の閾値より小さい場合(S36のN)、透かしが埋め込まれていないと判定する(S38)。特定された透かしが抽出された埋め込みブロックW’の数が所定の閾値以上の場合(S36のY)、特定された透かしとは異なる透かしデータXが抽出された埋め込みブロックW’について改ざんの可能性がある旨を警告する(S40)。
【0084】
以上述べたように、実施の形態によれば、ホストデータSの圧縮符号化処理に同期して透かしを埋め込むため、圧縮符号化に利用される小容量のメモリを利用して、圧縮符号化と同時に透かしの埋め込みが可能である。また、同様に透かし入り符号化ホストデータTの復号に同期して透かしを抽出することができる。
【0085】
また、GS方式を利用することにより、電子透かしを埋め込む画像や音声などのメディアデータが与えられると、透かしビット系列をそのメディアデータに埋め込みやすいビット系列に変換した上で埋め込むことができる。したがって信号処理、幾何変換、圧縮、データの改ざんなどに対する電子透かしの耐性を強化することができ、透かしの検出精度が大幅に改善する。
【0086】
また、複数のブロックVに実質的に同一の透かしを重複して埋め込むため、透かしの耐性をさらに強化することができる。また、ブロックVのデータ特性によっては、透かしの埋め込みが困難な場合もあるが、複数のブロックVを埋め込み対象とすることにより、比較的埋め込みやすいブロックに耐性を強化した透かしを埋め込むことができ、透かし抽出時の多数決判定により、全体として透かしの検出精度を向上させることができる。さらに、多数決判定により、ブロック単位で改ざんの有無を調べることができる。
【0087】
実施の形態2
図12は実施の形態2に係る符号化装置100の構成図である。本実施の形態では、GS符号化による透かしの埋め込みを行う前に誤り訂正符号化を行う点が、実施の形態1とは異なる。以下、実施の形態1と共通する構成については同一符号を付して説明を省き、実施の形態1とは異なる構成と動作について説明する。
【0088】
本実施の形態の透かし埋め込み処理部38は、圧縮符号化の行われるN個のブロックVの各々に独立に(n−r)ビットの透かし系列を埋め込む際、各ブロックVの(n−r)ビットの透かし系列を全てのブロックVにまたがって連結した(n−r)×Nビットのビット系列が、符号化率K/Nで誤り訂正符号化された一つの符号語を構成するように誤り訂正符号化を行う。このようなN個のブロックV全体を用いる誤り訂正符号の一例として、リードソロモン符号やBCH符号などのブロック符号(以下、ブロックECCと呼ぶ)を用いる。この誤り訂正符号化の処理により、圧縮符号化の行われる複数のブロックVの内、一部のブロックVに、冗長データが埋め込まれることになる。
【0089】
ブロックECC部33は、暗号化部32によって生成された透かしデータXの情報ビットDを後述のブロック誤り訂正符号により符号化して、冗長ビットPを出力する。セレクタ35は、暗号化部32から透かしデータXの情報ビットDの入力を、ブロックECC部33から透かしデータXの冗長ビットPの入力を受け、ブロック分割部12から入力される現在符号化処理中のブロックVのブロック番号にもとづいて、情報ビットDと冗長ビットPのどちらかを選択し、変更部34に与える。変更部34と埋め込み部36により、情報ビットDまたは冗長ビットPがGS符号化されて、現在符号化処理中のブロックVに透かしとして埋め込まれる。
【0090】
図13はブロック誤り訂正符号を説明する図である。ホストデータSのN個のブロックVは、K個の情報系列埋め込み用ブロック110と、(N−K)個のパリティ系列埋め込み用ブロック120に分けられる。暗号化部32により生成された(n−r)ビットの透かしデータXの情報ビットDは、K個の情報系列埋め込み用ブロック110の各々に埋め込まれる。K個の情報系列埋め込み用ブロック110に埋め込まれる(n−r)×Kビットの情報系列の全体をK/Nの符号化率で誤り訂正符号化すると、全体で(n−r)×(N−K)ビットのパリティ系列が得られる。このパリティ系列を(n−r)ビットずつ区切ることにより(n−r)ビットの冗長ビットPが得られる。この冗長ビットPが残りの(N−K)個のパリティ系列埋め込み用ブロック120の各々に埋め込まれる。
【0091】
一つのブロックVに埋め込まれる冗長ビットPのビット数は情報ビットDのビット数と同じであるから、特に冗長ビットPであるか情報ビットDであるかを区別せず、ホストデータSのブロックVに透かしとして埋め込むことができる。再び図12を参照し、セレクタ35は、現在符号化処理中のブロックVが情報系列埋め込み用ブロック110である場合は、情報ビットDを選択し、現在符号化処理中のブロックVがパリティ系列埋め込み用ブロック120である場合は、冗長ビットPを選択する。(n−r)ビットの情報ビットDまたは冗長ビットPは、変更部34によりrビットの冗長語を付加された後にスクランブルされ、埋め込み部36によりブロックVに埋め込まれる。
【0092】
図14は、実施の形態2に係る復号装置200の構成図である。実施の形態1の復号装置200とは異なり、透かし抽出処理部40は、ブロックECC復号部49をさらに含む。デスクランブラ46によりスクランブルを解除された透かしデータXは、現在復号処理中の埋め込みブロックW’が図13で説明した情報系列埋め込み用ブロック110に該当する場合は、情報ビットDであり、パリティ系列埋め込み用ブロック120に該当する場合は、冗長ビットPである。ブロックECC復号部49は、K個の情報系列埋め込み用ブロック110から抽出された情報ビットDからなる情報系列を、(N−K)個のパリティ系列埋め込み用ブロック120から抽出された冗長ビットPからなるパリティ系列により、誤り訂正する。これにより、K個の情報系列埋め込み用ブロック110から誤り訂正復号されたK個の透かしデータXが得られる。
【0093】
暗号復号部48は、誤り訂正復号された透かしデータXの暗号を復号して透かし情報Iを生成する。多数決判定部50は、K個の情報系列埋め込み用ブロック110から得られたK個の透かし情報Iを多数決判定する。本実施の形態では、(N−K)個のパリティ系列埋め込み用ブロック120はパリティ系列の埋め込みに使用されているので、これらのブロックからは透かし情報Iが得られないことに注意する。ただし、復号されたパリティ系列を多数決判定に利用することは可能である。この場合は、図12の透かし埋め込み処理部38のブロックECC部33から出力されるパリティ系列と復号されたパリティ系列との比較結果を多数決判定に利用する。そのためには、透かし抽出処理部40が、図12の暗号化部32およびブロックECC部33と同一の機能構成をさらに含むことが必要である。
【0094】
なお、実施の形態1では、透かしデータXのスクランブルの段階で、図2のECC部24による誤り訂正符号化を行っていたが、本実施の形態のようにブロック誤り訂正符号化を行う場合は、スクランブルの段階でのECC部24による誤り訂正符号化は省略してもよい。
【0095】
実施の形態1のECC部24のように、ブロック毎に、独立に、誤り訂正符号化を行う方式では、透かしの埋め込みにくい単調なデータを含むブロックや、強い攻撃を受けたブロックなど、非常に大きなノイズを含むブロックがある場合、誤り訂正が十分に働かないことがある。本実施の形態では、他のブロックと共同で誤り訂正符号化を行うため、いずれかのブロックで誤りが生じたとしても、その誤り数が訂正能力内であれば、他のブロックの助けを借りて誤り訂正することができ、符号長がN倍になったことで誤り訂正能力が向上する。
【0096】
実施の形態3
図15は実施の形態3に係る符号化装置100の構成図である。本実施の形態では、ブロック全体を誤り訂正符号化の単位とする点は、実施の形態2と同じであるが、使用される誤り訂正符号化方式が異なる。以下、実施の形態2と共通する構成については同一符号を付して説明を省き、実施の形態2とは異なる構成と動作について説明する。
【0097】
本実施の形態の透かし埋め込み処理部38は、圧縮符号化の行われるN個のブロックVの各々に独立に(n−r)ビットの透かし系列を埋め込む際、各ブロックVの(n−r)ビットの透かし系列を全てのブロックVにまたがって連結した(n−r)×Nビットのビット系列が、符号化率K/Nで誤り訂正符号化された一つの符号語を構成するように誤り訂正符号化を行う。このようなN個のブロックV全体を用いる誤り訂正符号の一例として、畳み込み符号を用いる。なお、畳み込み符号の代わりに、ターボ符号などのより誤り訂正能力の高い符号化方式を用いることも可能である。
【0098】
畳み込み符号化部37は、暗号化部32によって生成された透かしデータXの入力を受け、組織型の畳み込み符号によって透かしデータXのビット系列を逐次符号化し、情報ビットとパリティビットを交互に出力し、変更部34に与える。変更部34と埋め込み部36により、(n−r)×K/Nビットの情報ビットDと(n−r)×(1−K/N)ビットの冗長ビットPがGS符号化されて、現在符号化処理中のブロックVにnビットの透かしとして埋め込まれる。
【0099】
図16はブロック全体の畳み込み符号化を説明する図である。ホストデータSのN個のブロックVの各々に、(n−r)*K/Nビットの情報ビットDと(n−r)*(1−K/N)ビットの冗長ビットPで構成された(n−r)ビットの透かしビットがGS符号化された後に埋め込まれ、ブロック全体で見た場合、(n−r)×Kビットの情報系列と(n−r)×(N−K)ビットの冗長系列により構成された透かし系列がGS符号化された後に埋め込まれる。したがって、ホストデータS全体に埋め込まれている(n−r)ビットの透かし系列で見た場合、符号化率K/Nの誤り訂正符号化がなされた一つの符号語が形成されている。
【0100】
畳み込み符号化部37は、非組織型の畳み込み符号を用いて、透かしデータXのビット系列を誤り訂正符号化してもよい。非組織型の畳み込み符号の場合、情報ビットとパリティビットの区別なく、2種類の符号化ビットが交互に生成され、各ブロックVに(n−r)ビットの符号化系列が埋め込まれる。
【0101】
図17は、実施の形態3に係る復号装置200の構成図である。実施の形態2の復号装置200のブロックECC復号部49に代えて、畳み込み符号復号部51が用いられる。組織型の畳み込み符号の場合、現在復号処理中の埋め込みブロックW’から抽出される透かしデータXにはそれぞれ情報ビットDと冗長ビットPが含まれる。畳み込み符号復号部51は、N個の埋め込みブロックW’から抽出された情報系列とパリティ系列を一つの符号語として扱い、N個の埋め込みブロックW’全体で誤り訂正を行う。非組織型の畳み込み符号の場合には、情報ビットとパリティビットの区別がなく、N個の埋め込みブロックW’全体から抽出される符号化系列に対して誤り訂正が行われる。
【0102】
以上、本発明を実施の形態をもとに説明した。これらの実施の形態は例示であり、それらの各構成要素や各処理プロセスの組み合わせにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【0103】
上記の説明では、ホストデータSをブロック分割したときのすべてのブロックVに実質的に同一の透かしを埋め込むこととしたが、複数のブロックに同一の透かしを埋め込むのは、透かしの耐性強化のためであるから、耐性が弱まるが、一部のブロックまたは1つのブロックにだけ透かしを埋め込むことにしてもよい。また、1つの電子透かしをいくつかの部分に分け、ホストデータSの複数のブロックVに分散して埋め込んでもよい。いずれの場合でも、圧縮符号化および復号の処理に同期して、ブロック単位で透かしの埋め込みおよび抽出が可能であり、処理効率が向上する効果に変わりはない。また、このような処理により、複数種類の透かしの埋め込みが可能となる。
【0104】
また、実施の形態2および3では、すべてのブロックに埋め込まれている透かしを用いて一つの誤り訂正符号語を形成するようにしたが、この誤り訂正符号語の長さをh分の1にして、h個の誤り訂正符号語で全ブロックに埋め込まれる透かしを構成し、それらをすべてのブロックに埋め込むようにしてもよい。ただし、hが大きいほど、誤り訂正能力は低下する。
【0105】
また、上記の説明では透かし埋め込み対象のブロックVとして、直交変換の処理単位としてのブロックを想定し、DCTブロックや離散ウェーブレット変換のサブバンドをブロックVとして扱ったが、本発明の趣旨は、圧縮符号化の処理単位としてのブロックを透かし埋め込み対象とすることであるから、たとえば画像を所定サイズの領域に分割し、その分割画像をバッファリングして圧縮符号化を行う場合は、そのような分割画像を透かし埋め込み対象のブロックVとして扱ってもよい。また、静止画圧縮の標準規格であるJPEG2000では、画像をタイルという小領域に分割して、各タイルに対してウェーブレット変換を施すタイリングと呼ばれる手法が取られることがあるが、この場合には、タイルをブロックVとして扱ってもよい。したがって、これらの場合には、ブロックVには、複数のDCTブロックが含まれることや、離散ウェーブレット変換の複数のサブバンドが含まれることもありえる。いずれにしても、圧縮符号化の処理単位を透かし埋め込み対象とすることで、圧縮符号化および復号のプロセスと同期して、透かしの埋め込みおよび抽出がなされることで、必要メモリの削減と処理時間の短縮が図られる。
【0106】
また、上記の説明では、量子化前のブロックに対して、電子透かしデータが埋め込まれたが、量子化されたブロックに対して、電子透かしデータを埋め込んでもよい。もっともその場合は、透かしの埋め込みにより圧縮率が低下する。
【0107】
また、上記の説明では、複数の透かしデータの候補または埋め込み位置の候補を生成するために、多様性に富んだ候補の生成が可能なGS方式を用いたが、他のスクランブル方式を適用してもよく、また何らかの方法でランダムに候補のデータを生成してもよい。また実施の形態では、逆スクランブルにより、生成された透かしデータの候補から元の透かしデータを再現したが、生成された透かしデータの候補と元の透かしデータとを対応づけたテーブルを備え、このテーブルを参照して元の透かしデータを求めてもよい。
【0108】
またスクランブルの際に初期データとして使用した識別データは、透かしデータの先頭に挿入されて復号側に提供されていたが、この識別データを透かしには埋め込まずに、符号化側で秘密鍵として保持、管理してもよい。その場合、復号側はこの秘密鍵を取得した上で、透かしデータのスクランブルを解除する。
【0109】
また、上記の説明では、図2で示したように、L種類の透かしデータの候補を生成するために、L個のマルチプレクサ20、スクランブラ22、ECC部24、埋め込み部26、およびSNR計算部28が並列に設けられたが、これらの部材を単一構成にして、L種類の透かしデータの候補を逐次的に生成、評価して最適な候補を選択してもよい。
【0110】
【発明の効果】
本発明によれば、電子透かしの埋め込みと抽出処理を効率化し、透かしの耐性と検出精度を改善することができる。
【図面の簡単な説明】
【図1】 実施の形態1に係る符号化装置の構成図である。
【図2】 図1の変更部と埋め込み部の機能構成図である。
【図3】 実施の形態1に係る復号装置の構成図である。
【図4】 元の透かしデータとL種類のスクランブルされた透かしデータとの関係を説明する図である。
【図5】 符号化時の畳み込み演算を説明する図である。
【図6】 復号時の畳み込み演算を説明する図である。
【図7】 離散コサイン変換されたホストデータのブロックに透かしデータが埋め込まれる様子を説明する図である。
【図8】 図7のブロックに透かしビットが埋め込まれる様子を説明する図である。
【図9】 離散ウェーブレット変換されたホストデータのサブバンドを説明する図である。
【図10】 実施の形態1に係る電子透かしの埋め込み手順を説明するフローチャートである。
【図11】 実施の形態1に係る電子透かしの抽出手順を説明するフローチャートである。
【図12】 実施の形態2に係る符号化装置の構成図である。
【図13】 実施の形態2に係るブロック誤り訂正を説明する図である。
【図14】 実施の形態2に係る復号装置の構成図である。
【図15】 実施の形態3に係る符号化装置の構成図である。
【図16】 実施の形態3に係るブロック全体の畳み込み符号を説明する図である。
【図17】 実施の形態3に係る復号装置の構成図である。
【符号の説明】
10 符号化処理部、 12 ブロック分割部、 14 直交変換部、 16量子化部、 18 可変長符号化部、 20 マルチプレクサ、 22 スクランブラ、 24 ECC部、 26 埋め込み部、 28 SNR計算部、 32 暗号化部、 33 ブロックECC部、 34 変更部、 36 埋め込み部、 37 畳み込み符号化部、 38 透かし埋め込み処理部、 40 透かし抽出処理部、 42 抽出部、 44 ECC復号部、 46 デスクランブラ、 48 暗号復号部、 49 ブロックECC復号部、 50 多数決判定部、 51 畳み込み符号復号部、 60 復号処理部、 62 可変長符号復号部、 64 ブロック分割部、 66 逆量子化部、 68 逆直交変換部、 100 符号化装置、 200 復号装置。

Claims (12)

  1. ホストデータをブロック単位で圧縮符号化する符号化処理部と、
    ホストデータの圧縮符号化と同期して、圧縮符号化の行われる複数のブロックに子透かしデータを埋め込む透かし埋め込み処理部とを含み、
    前記透かし埋め込み処理部は、
    前記透かしデータをスクランブルして複数の透かしデータの候補を生成するスクランブル部と、
    前記ブロックに前記複数の透かしデータの候補のそれぞれを埋め込み、複数の埋め込みブロックの候補を生成する埋め込み部と、
    前記複数の埋め込みブロックの候補の各々について、当該電子透かしの耐性を評価する評価部と、
    前記耐性の評価値に基づいて前記複数の埋め込みブロックの候補の一つを選択する選択部とを含むことを特徴とする符号化装置。
  2. 前記評価部は、前記耐性を、前記ホストデータを前記透かしデータに対するノイズと見なした場合に計算されるSN比により評価することを特徴とする請求項に記載の符号化装置。
  3. 前記評価部は、前記埋め込みブロックを圧縮符号化する際の量子化誤差を考慮して前記耐性を評価することを特徴とする請求項またはに記載の符号化装置。
  4. 前記埋め込み部は、前記複数のブロックに埋め込まれる前記透かしデータをブロックにまたがって連結したデータ系列が誤り訂正符号化された一つの符号語を構成するように誤り訂正符号化を行った上で、前記透かしデータをブロック単位で埋め込むことを特徴とする請求項に記載の符号化装置。
  5. 前記埋め込み部は、前記複数のブロックに埋め込まれる前記透かしデータの情報系列を誤り訂正符号化したときのパリティ系列を、前記複数のブロックの内、一部のブロックに電子透かしとして埋め込むことを特徴とする請求項に記載の符号化装置。
  6. 前記透かし埋め込み処理部は、圧縮符号化の行われるN個のブロックの内、K個のブロックに埋め込まれるべき前記透かしデータの情報ビットからなる情報系列を、符号化率がK/Nの誤り訂正符号を用いて誤り訂正符号化し、残りの(N−K)個のブロックに埋め込まれるべき、前記情報ビットと同一ビット長の冗長ビットからなるパリティ系列を生成するブロック誤り訂正符号化部をさらに含むことを特徴とする請求項に記載の符号化装置。
  7. 符号化ホストデータをブロック単位で復号する復号処理部と、
    前記符号化ホストデータの復号と同期して、復号の行われる複数のブロックから子透かしデータを抽出する透かし抽出処理部とを含み、
    前記透かし抽出処理部は、
    復号の行われる複数のブロックの各々からスクランブルされた透かしデータを抽出する抽出部と、
    前記スクランブルされた透かしデータのスクランブルを解除するデスクランブル部と、
    前記複数のブロックから抽出された複数の前記透かしデータを多数決判定することにより、埋め込まれた透かしデータを特定する判定部とを含むことを特徴とする復号装置。
  8. 前記判定部は、多数決判定により特定された透かしデータとは異なる透かしデータが抽出されたブロックについて、改ざんの可能性がある旨の警告を出力することを特徴とする請求項に記載の復号装置。
  9. 前記抽出部は、前記複数のブロックから抽出される前記透かしデータの情報系列の誤り訂正のためのパリティ系列を、前記複数のブロックの内、一部のブロックから電子透かしとして抽出することを特徴とする請求項に記載の復号装置。
  10. 前記透かし抽出処理部は、復号の行われるN個のブロックの内、K個のブロックから抽出される前記透かしデータの情報ビットからなる情報系列を、残りの(N−K)個のブロックから抽出される、前記情報ビットと同一ビット長の冗長ビットからなるパリティ系列により、誤り訂正するブロック誤り訂正復号部をさらに含むことを特徴とする請求項に記載の復号装置。
  11. ホストデータの圧縮符号化と同期して、スクランブルして生成された複数の電子透かしデータの候補を、圧縮符号化の行われるブロックに埋め込み、複数の埋め込みブロックの候補を生成するステップと、
    前記複数の埋め込みブロックの候補の各々について、埋め込まれた電子透かしの耐性を評価するステップと、
    前記耐性の評価値に基づいて前記複数の埋め込みブロックの候補の1つを最終的に電子透かしが埋め込まれたブロックとして選択するステップとをコンピュータに実行させることを特徴とするコンピュータプログラム。
  12. 符号化ホストデータの復号と同期して、復号の行われる複数のブロックの各々からスクランブルされた透かしデータを抽出するステップと、
    前記スクランブルされた透かしデータのスクランブルを解除するステップと、
    前記複数のブロックから抽出された複数の前記透かしデータを多数決判定して、埋め込まれた透かしデータを特定するステップとをコンピュータに実行させることを特徴とするコンピュータプログラム。
JP2003003987A 2003-01-10 2003-01-10 電子透かし埋め込み方法およびその方法を利用可能な符号化装置と復号装置 Expired - Fee Related JP4024153B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003003987A JP4024153B2 (ja) 2003-01-10 2003-01-10 電子透かし埋め込み方法およびその方法を利用可能な符号化装置と復号装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003003987A JP4024153B2 (ja) 2003-01-10 2003-01-10 電子透かし埋め込み方法およびその方法を利用可能な符号化装置と復号装置

Publications (2)

Publication Number Publication Date
JP2004221715A JP2004221715A (ja) 2004-08-05
JP4024153B2 true JP4024153B2 (ja) 2007-12-19

Family

ID=32895091

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003003987A Expired - Fee Related JP4024153B2 (ja) 2003-01-10 2003-01-10 電子透かし埋め込み方法およびその方法を利用可能な符号化装置と復号装置

Country Status (1)

Country Link
JP (1) JP4024153B2 (ja)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4765054B2 (ja) * 2004-05-19 2011-09-07 国立大学法人山口大学 アナログ符号化システム
EP1729285A1 (en) * 2005-06-02 2006-12-06 Deutsche Thomson-Brandt Gmbh Method and apparatus for watermarking an audio or video signal with watermark data using a spread spectrum
JP4834844B2 (ja) * 2005-10-25 2011-12-14 国立大学法人電気通信大学 情報処理装置および情報処理方法、並びにプログラム
JP4625406B2 (ja) * 2005-12-21 2011-02-02 株式会社リコー 情報埋め込み装置、情報抽出装置、情報埋め込み方法、情報抽出方法、情報埋め込みプログラム、情報抽出プログラム、及び、情報記憶媒体
WO2009025006A1 (ja) * 2007-08-20 2009-02-26 Fujitsu Limited 画像処理装置
JP2010041710A (ja) 2008-07-11 2010-02-18 Ricoh Co Ltd 埋込情報検出装置、埋込情報検出方法、プログラムおよび記録媒体
CN102187583B (zh) 2008-08-19 2013-09-11 汤姆森特许公司 基于上下文的自适应二进制算术编码(cabac)的视频流兼容性
JP5373909B2 (ja) 2008-08-19 2013-12-18 トムソン ライセンシング 圧縮ビデオにおける構文要素のcabac/avc準拠の透かし入れ
BRPI0916944B1 (pt) 2008-08-19 2020-07-21 Contentarmor Método e aparelho para inserir marca dágua em vídeo codificado
US8948443B2 (en) 2008-08-19 2015-02-03 Thomson Licensing Luminance evaluation
KR101650882B1 (ko) * 2008-08-20 2016-08-24 톰슨 라이센싱 워터마킹의 블록 현상 및 충실도
US8824727B2 (en) 2008-08-20 2014-09-02 Thomson Licensing Selection of watermarks for the watermarking of compressed video
JP5753200B2 (ja) 2010-02-09 2015-07-22 トムソン ライセンシングThomson Licensing 伝搬マップを使用する透かし検出
CN106780278B (zh) * 2016-11-25 2020-08-04 陕西师范大学 一种结合零水印和块分类融合的自恢复图像加密和解密方法
CN107087086B (zh) * 2017-04-27 2019-02-05 齐鲁工业大学 一种基于码分复用的大容量可逆信息隐藏方法
JP7042567B2 (ja) * 2017-07-07 2022-03-28 合同会社DMM.com ユーザ特定情報が埋め込まれたデジタルコンテンツの配信
CN110211018B (zh) * 2019-06-12 2021-06-04 山东科技大学 一种基于奇偶判别策略的混沌加密可逆信息隐藏方法
CN113297592B (zh) * 2021-05-10 2023-02-07 复旦大学 一种面向关系数据库的水印溯源方法、装置及存储介质

Also Published As

Publication number Publication date
JP2004221715A (ja) 2004-08-05

Similar Documents

Publication Publication Date Title
JP4266677B2 (ja) 電子透かし埋め込み方法およびその方法を利用可能な符号化装置と復号装置
JP4107851B2 (ja) 電子透かし埋め込み方法およびその方法を利用可能な符号化装置と復号装置
JP3960959B2 (ja) 電子透かし埋め込み装置と方法ならびに電子透かし抽出装置と方法
JP4155956B2 (ja) 電子透かし埋め込み装置と方法ならびに電子透かし抽出装置と方法
JP4024153B2 (ja) 電子透かし埋め込み方法およびその方法を利用可能な符号化装置と復号装置
Sallee Model-based methods for steganography and steganalysis
TWI439135B (zh) 在編碼之內容上印浮水印
Yang et al. A contrast-sensitive reversible visible image watermarking technique
US7360093B2 (en) System and method for authentication of JPEG image data
Lee et al. A public verifiable copy protection technique for still images
US7313696B2 (en) Method for authentication of JPEG image data
US7493489B2 (en) System and method for authentication of JPEG image data
Zain Strict authentication watermarking with JPEG compression (SAW-JPEG) for medical images
US7627761B2 (en) System for authentication of JPEG image data
EP3602478B1 (en) Video watermarking
Korus et al. A scheme for censorship of sensitive image content with high-quality reconstruction ability
Chandramouli et al. Multiple-description framework for oblivious watermarking
Ayyappan et al. A review on reversible data hiding techniques
Puteaux et al. Hierarchical high capacity data hiding in JPEG crypto-compressed images
Chang et al. High-Capacity Reversible Data Hiding Method for JPEG Images.
JP4267038B2 (ja) 電子透かし埋め込み装置ならびに電子透かし抽出装置
JP5571756B2 (ja) ウォーターマークエンコードコンテンツ
Hassan et al. Variable block-size image authentication with localization and self-recovery
Ramkumar et al. On the design of data hiding methods robust to lossy compression
Zhang et al. Image watermarking algorithm based on the code division multiple access technique

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050915

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070612

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070619

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070810

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070904

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20071002

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101012

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees