JP4266677B2 - Digital watermark embedding method and encoding device and decoding device capable of using the method - Google Patents
Digital watermark embedding method and encoding device and decoding device capable of using the method Download PDFInfo
- Publication number
- JP4266677B2 JP4266677B2 JP2003065808A JP2003065808A JP4266677B2 JP 4266677 B2 JP4266677 B2 JP 4266677B2 JP 2003065808 A JP2003065808 A JP 2003065808A JP 2003065808 A JP2003065808 A JP 2003065808A JP 4266677 B2 JP4266677 B2 JP 4266677B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- watermark
- embedded
- host data
- digest
- 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
Links
- 238000000034 method Methods 0.000 title claims description 74
- 238000011156 evaluation Methods 0.000 claims description 34
- 238000013139 quantization Methods 0.000 claims description 23
- 238000004590 computer program Methods 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 34
- 230000008569 process Effects 0.000 description 25
- 238000012545 processing Methods 0.000 description 25
- 230000006835 compression Effects 0.000 description 15
- 238000007906 compression Methods 0.000 description 15
- 238000000605 extraction Methods 0.000 description 15
- 230000006870 function Effects 0.000 description 15
- 238000012937 correction Methods 0.000 description 14
- 238000001514 detection method Methods 0.000 description 13
- 230000004075 alteration Effects 0.000 description 12
- 238000001914 filtration Methods 0.000 description 12
- 230000008859 change Effects 0.000 description 8
- 239000000284 extract Substances 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 6
- 238000009826 distribution Methods 0.000 description 6
- 238000006243 chemical reaction Methods 0.000 description 5
- 230000009466 transformation Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 241000282412 Homo Species 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 239000000470 constituent Substances 0.000 description 2
- 230000006866 deterioration Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000006837 decompression Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000012447 hatching Effects 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 238000009827 uniform distribution Methods 0.000 description 1
- 230000009978 visual deterioration Effects 0.000 description 1
Images
Landscapes
- Image Processing (AREA)
- Television Systems (AREA)
- Editing Of Facsimile Originals (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Description
【0001】
【発明の属する技術分野】
この発明は、電子透かし技術に関し、特に電子透かしの埋め込み方法、およびその方法を利用可能な符号化装置と復号装置に関する。
【0002】
【従来の技術】
ここ数年、インターネット利用人口が急増し、インターネット利用の新たなステージともいえるブロードバンド時代に入ろうとしている。ブロードバンド通信では通信帯域が格段に広がるため、音声、静止画、動画などデータ量の大きいコンテンツの配信も気軽にできるようになる。このようなデジタルコンテンツの流通が盛んになると、コンテンツの著作権の保護がより一層求められることになる。
【0003】
ネットワーク上に流通するコンテンツのデータは他人に容易にコピーされ、著作権に対する保護が十分ではないのが現状である。そこで著作権を保護するために、コンテンツの作成者や利用者の情報を電子透かしとしてコンテンツデータに埋め込む技術が開発されている。この電子透かし技術を用いることにより、ネットワーク上で流通するコンテンツデータから電子透かしを抽出して、不正利用を検出したり、不正コピーの流通経路を追跡することが可能となる。
【0004】
従来の電子透かしの埋め込み技術には、電子透かし情報を埋め込む処理の自由度を維持しつつ、耐性の強い電子透かしの埋め込みを可能とするものがある(たとえば、特許文献1参照)。
【0005】
また、従来のデジタル署名による画像認証技術には、画像に対するJPEG(Joint Photographic Expert Group)圧縮は許容するが、その他の不正な操作があった場合には、画像の認証が不成立になるデジタル署名の生成を可能とするものがある(たとえば、非特許文献1参照)。
【0006】
【特許文献1】
特開2000−13587号公報 (全文、第1−15図)
【非特許文献1】
Ching-Yung Lin and Shih-Fu Chang, "A Robust Image Authentication Method Distinguishing JPEG Compression from Malicious Manipulation," IEEE Trans. on Circuits and Systems for Video Technology, pp.153 -168, Feb. 2001.
【0007】
【発明が解決しようとする課題】
電子透かしは、不正利用者による改ざんを防止するために、利用者には分からないようにコンテンツデータに埋め込まれる。しかしコンテンツデータは、流通過程や利用過程で、圧縮符号化や各種フィルタリングなどの信号処理が加えられたり、ユーザにより加工されたり、あるいは透かし情報が改ざんされるなど、さまざまな操作を受けることがあり、その過程で埋め込まれた電子透かしデータの一部が変更されたり、消失する可能性がある。したがって電子透かしはこういった操作に対する耐性が要求される。
【0008】
特許文献1には、電子透かしの耐性を高めるための電子透かしの埋め込み技術が提案されているが、人間の視覚特性に合わせて、画像のエッジ部分やテクスチャ領域の中でも変化の大きな部分など高周波成分に電子透かしを埋め込む方法であり、個々のコンテンツデータの内容に強く依存し、透かし埋め込み後のコンテンツデータに対するさまざまな操作に対して耐性を強化するには、汎用性や柔軟性の面で限界がある。
【0009】
本発明はこうした状況に鑑みてなされたもので、その目的は、耐性の強い電子透かしを埋め込み、電子透かしの検出誤差を低減することの可能な技術の提供にある。
【0010】
【課題を解決するための手段】
本発明のある態様は電子透かし埋め込み方法に関する。この方法は、スクランブルして生成された複数の電子透かしデータの候補をホストデータの指定されたブロックに埋め込み、それらの電子透かしの耐性を評価して、その評価が良好である前記電子透かしデータの候補が埋め込まれたホストデータを取得する。
【0011】
ホストデータは、電子透かしを埋め込む対象となるオリジナルデータであり、たとえば静止画、動画、音声などのデータである。埋め込まれる電子透かしには、オリジナルデータの識別情報、作成者情報、利用者情報などが含まれる。その他、認証を目的として、ホストデータのダイジェストデータ、すなわちホストデータの特徴を端的に表したデータを電子透かしとして埋め込むことも可能である。電子透かしの耐性とは、電子透かしの埋め込まれたホストデータが改変されるなどの攻撃を受けた場合や、電子透かしの埋め込まれたホストデータに圧縮符号化やフィルタリングなどの信号処理が施された場合など、電子透かしの埋め込み後のホストデータに対して何らかの操作が加えられた場合に電子透かしデータがもつ頑強性をいう。
【0012】
電子透かしを埋め込む側では、電子透かしデータをスクランブルする際、元の電子透かしデータを複数の透かしデータの候補に対応づける1対多の写像が用いられる。電子透かしを抽出する側では、逆写像を行って、スクランブルされた透かしデータから元の電子透かしデータを得る。そのため電子透かしを抽出する側では、元の電子透かしデータと複数の透かしデータの候補の対応テーブルが利用されてもよい。また、電子透かしを埋め込む側で、元の電子透かしデータから所定の初期値のもとで複数の透かしデータの候補を生成するスクランブル関数が利用されてもよい。この場合、電子透かしを抽出する側では、スクランブルに利用された初期値とスクランブル関数にもとづいて、抽出された電子透かしの逆スクランブルが行われる。
【0013】
本発明の別の態様は符号化装置に関する。この装置は、電子透かしデータを埋め込むべきホストデータから複数のブロックを選択するブロック選択部と、前記ブロック選択部により選択された前記複数のブロックの各々に異なる電子透かしデータを独立に埋め込む埋め込み部とを含む。
【0014】
ここでいうブロックとは、ホストデータの分割単位であり、ホストデータに対して空間周波数成分に変換するフィルタリング処理が施される場合には、フィルタリング処理が施される前のホストデータにおける空間領域に対応する。たとえば、ホストデータに離散ウェーブレット変換によるフィルタリング処理が施された場合は、離散ウェーブレット変換後のホストデータの各サブバンドから選択された、離散ウェーブレット変換前のホストデータにおける同一の空間領域を構成するウェーブレット変換係数の集合が、電子透かしデータの埋め込みブロックとなる。
【0015】
別の例として、ホストデータがブロック分割され、各ブロックに離散コサイン変換によるフィルタリング処理が施された場合は、離散コサイン変換後のホストデータの各ブロックは、そのまま離散コサイン変換前のホストデータの各ブロックに対応するので、この離散コサイン変換係数を含むブロックが電子透かしデータの埋め込みブロックとなる。もっとも、離散コサイン変換の最小処理単位であるブロックの1つ分を埋め込みブロックにするとは限らず、ここではホストデータのある部分領域を埋め込みブロックとする趣旨であるから、離散コサイン変換の処理単位であるブロックをいくつか集めたものを埋め込みブロックとしてもよい。
【0016】
本発明のさらに別の態様も符号化装置に関する。この装置は、電子透かしデータを埋め込むべきホストデータから特定のブロックを選択するブロック選択部と、前記電子透かしデータをスクランブルして複数の透かしデータの候補を生成するスクランブル部と、前記ブロック選択部により選択された前記ホストデータの前記特定のブロックに前記複数の透かしデータの候補のそれぞれを埋め込み、複数の埋め込みホストデータの候補を生成する埋め込み部と、前記複数の埋め込みホストデータの候補の各々について、当該電子透かしの耐性を評価する評価部と、前記耐性の評価値に基づいて前記複数の埋め込みホストデータの候補の一つを選択して出力する選択部とを含む。
【0017】
本発明のさらに別の態様も符号化装置に関する。この装置は、電子透かしデータを埋め込むべきホストデータのブロックを選択するブロック選択部と、前記電子透かしデータが埋め込まれる前記ホストデータの前記ブロックの埋め込み位置の候補を複数生成する位置情報生成部と、前記ブロック選択部により選択された前記ホストデータの前記ブロックの前記複数の埋め込み位置の候補のそれぞれに前記透かしデータを埋め込み、複数の埋め込みホストデータの候補を生成する埋め込み部と、前記複数の埋め込みホストデータの候補の各々について、当該電子透かしの耐性を評価する評価部と、前記耐性の評価値に基づいて前記複数の埋め込みホストデータの候補の一つを選択して出力する選択部とを含む。
【0018】
前記ブロック選択部は、前記特定のブロックとして、異なる周波数成分をもつ複数のブロックの組み合わせを選択してもよい。たとえば、主に高周波成分を含むブロックと主に低周波成分を含むブロックの組み合わせを選択してもよい。また、前記特定のブロックとして、ホストデータにおいて所定量だけ離れた位置にあり、隣接しない複数のブロックの組み合わせを選択してもよい。このように複数のブロックの組み合わせが選択された場合、この組み合わせが透かしデータの埋め込みおよび抽出の単位となる。
【0019】
前記評価部は、前記耐性を、前記ホストデータを前記透かしデータに対するノイズと見なした場合に計算されるSN比により評価してもよい。前記評価部は、前記埋め込みホストデータに対して有用性のある操作を施した上で、前記耐性を評価してもよい。有用性のある操作とは、たとえば圧縮符号化や各種フィルタリングなどの信号処理、スケーリングや回転などの幾何学的変換などである。前記評価部は、前記埋め込みホストデータを圧縮符号化する際の量子化誤差を考慮して前記耐性を評価してもよい。前記耐性をSN比で評価する場合、埋め込みホストデータに有用性のある操作を施した後に抽出される透かしデータと実際に埋め込まれた透かしデータとの間の分散を評価してもよい。
【0020】
本発明のさらに別の態様は復号装置に関する。この装置は、ホストデータから電子透かしの埋め込まれた複数のブロックを選択するブロック選択部と、前記ブロック選択部により選択された前記複数のブロックの各々から独立にスクランブルされた透かしデータを抽出する抽出部と、前記スクランブルされた透かしデータのスクランブルを解除するデスクランブル部とを含む。これによりブロックごとに改ざんの有無を検出することができる。
【0021】
本発明のさらに別の態様も復号装置に関する。この装置は、ホストデータから電子透かしの埋め込まれたブロックを選択するブロック選択部と、電子透かしが埋め込まれた前記ホストデータの前記ブロックの埋め込み位置の候補を複数生成する位置情報生成部と、前記複数の埋め込み位置の候補のそれぞれを用いて、前記ブロック選択部により選択された前記ホストデータの前記ブロックに埋め込まれた透かしデータの候補を複数抽出する抽出部と、前記抽出された複数の透かしデータの候補を想定される透かしデータとの間で照合する照合部と、前記照合部による照合結果に基づいて前記複数の透かしデータの候補の一つを選択して出力する選択部とを含む。
【0022】
本発明のさらに別の態様はコンピュータプログラムに関する。このプログラムは、電子透かしデータを埋め込むべきホストデータから特定のブロックを選択する工程と、前記電子透かしデータをスクランブルして複数の透かしデータの候補を生成する工程と、前記ブロック選択部により選択された前記ホストデータの前記特定のブロックに前記複数の透かしデータの候補のそれぞれを埋め込み、複数の埋め込みホストデータの候補を生成する工程と、前記複数の埋め込みホストデータの候補の各々について、当該電子透かしの耐性を評価する工程と、前記耐性の評価値に基づいて前記複数の埋め込みホストデータの候補の一つを選択する工程とをコンピュータに実行させる。
【0023】
本発明のさらに別の態様は電子透かし埋め込み方法に関する。この方法は、ホストデータのダイジェストデータをスクランブルして複数の電子透かしデータの候補を生成し、それらの透かしデータの候補がそれぞれ前記ホストデータに埋め込まれた場合における当該電子透かしの耐性を評価し、その評価が良好であるものを前記ダイジェストデータが埋め込まれたホストデータとして取得する。
【0024】
前記ダイジェストデータは、前記ホストデータを特徴づけるサンプルデータの上位ビットを用いて生成されてもよい。ホストデータは圧縮符号化の際、量子化され、下位ビットの情報が落とされる。そこで、サンプルデータの上位ビットからダイジェストデータを生成するとき、量子化で落とされる下位ビットを使用しないようにしてもよい。また、サンプルデータの比較的下位の位置にあるビットは、透かしデータの埋め込みにも使用される。そこで、サンプルデータの上位ビットからダイジェストデータを生成するとき、量子化の影響を受けない下位ビットであっても、透かしデータの埋め込みに利用されるビットを使用しないようにしてもよい。
【0025】
本発明のさらに別の態様は符号化装置に関する。この装置は、ホストデータのダイジェストデータを生成するダイジェスト生成部と、前記ダイジェストデータをスクランブルして複数の透かしデータの候補を生成するスクランブル部と、前記複数の透かしデータの候補をそれぞれ前記ホストデータに埋め込み、複数の埋め込みホストデータの候補を生成する埋め込み部と、前記複数の埋め込みホストデータの候補の各々について、当該電子透かしの耐性を評価する評価部と、前記耐性の評価値に基づいて前記複数の埋め込みホストデータの候補の一つを選択して出力する選択部とを含む。
【0026】
ホストデータから特定のブロックを選択するブロック選択部をさらに含み、前記ダイジェスト部は前記ホストデータの前記特定のブロックから前記ダイジェストデータを生成し、前記埋め込み部は、前記ホストデータの前記特定のブロックに前記複数の透かしデータの候補のそれぞれを埋め込み、前記複数の埋め込みホストデータの候補を生成してもよい。このように、ホストデータのブロックを指定してダイジェストを生成することにより、ダイジェストデータを一方向性関数によりハッシングするような場合でも、ホストデータの改ざん箇所をブロック単位で検出できるようになる。
【0027】
本発明のさらに別の態様は復号装置に関する。この装置は、ホストデータから電子透かしとして埋め込まれたダイジェストデータを抽出する抽出部と、前記ホストデータからダイジェストデータを生成するダイジェスト生成部と、前記ダイジェスト生成部により生成されたダイジェストデータを前記抽出部により抽出されたダイジェストデータと照合することにより、前記ホストデータに対する改ざんの有無とともに改ざんのおおまかな位置を特定する照合部とを含む。ダイジェストデータはホストデータの低周波成分などによりホストデータのおおまかな特徴を表したものであるため、照合部によりダイジェストデータの一部のビットに不一致が発見されると、その不一致のビットに対応するホストデータの箇所に変更があったと考えられ、改ざんのおおまかな位置をつかむことができる。
【0028】
ホストデータから電子透かしの埋め込まれたブロックを選択するブロック選択部をさらに含み、前記抽出部は、前記ホストデータの前記ブロックから前記ダイジェストデータを抽出し、前記ダイジェスト生成部は、前記ホストデータの前記ブロックから前記ダイジェストデータを生成してもよい。このように、ダイジェストデータが生成されるブロックが決まっていることにより、抽出されるダイジェストデータが一方向性関数によりハッシングされているような場合でも、改ざん箇所をブロック単位で特定することができる。
【0029】
本発明のさらに別の態様はコンピュータプログラムに関する。このプログラムは、ホストデータからダイジェストデータを生成する工程と、生成されたダイジェストデータをスクランブルして複数の透かしデータの候補を生成する工程と、前記ホストデータに前記複数の透かしデータの候補のそれぞれを埋め込み、複数の埋め込みホストデータの候補を生成する工程と、前記複数の埋め込みホストデータの候補の各々について、当該電子透かしの耐性を評価する工程と、前記耐性の評価値に基づいて前記複数の埋め込みホストデータの候補の一つを選択する工程とをコンピュータに実行させる。
【0030】
なお、以上の構成要素の任意の組み合わせ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【0031】
【発明の実施の形態】
実施の形態1
図1は、実施の形態1に係る符号化装置10の構成を示す。この構成は、ハードウエア的には、任意のコンピュータのCPU、メモリ、その他のLSIで実現でき、ソフトウエア的にはメモリにロードされた電子透かし埋め込み機能のあるプログラムなどによって実現されるが、ここではそれらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックがハードウエアのみ、ソフトウエアのみ、またはそれらの組み合わせによっていろいろな形で実現できることは、当業者には理解されるところである。
【0032】
符号化装置10は、ホストデータVに透かし情報Iを埋め込む処理を行い、埋め込みホストデータWを出力する。ホストデータVは、たとえば音声、静止画、動画などのデータである。透かし情報Iは、そのホストデータVの識別情報、作成者情報、利用者情報など著作権に関する情報、ホストデータVの改ざん検出を行う認証情報、タイムスタンプなどである。透かし情報Iは、一般にこれらの情報を暗号化したものである。
【0033】
ビット長伸長部12は、ホストデータV内のある特定ブロックに埋め込むべきsビットの透かし情報Iに対して秘密鍵Kによる演算を施して、よりビット長の長いtビットの透かしデータXに変換する。ここで、s、tは自然数であり、t≧sを満たす。暗号化の関数をf0とすると、この処理は変換式X=f0(I,K)で表される。また、透かしが埋め込まれるブロックが静止画のように二次元のデータ列として構成され、かつ、そのブロックサイズがM×Nの場合、t≦M×Nの関係が成り立つ。
【0034】
変更部14は、透かしデータXとホストデータVを用いて、透かしデータXをスクランブルし、スクランブルされた透かしデータX'を出力する。スクランブルの関数をf2とすると、この処理は変換式X'=f2(X,V)で表される。
【0035】
埋め込みブロック選択部18は、透かしデータXを埋め込むべきホストデータVのブロックを選択する。透かし情報Iがブロック識別情報などで構成される場合は、識別情報が示すブロックを選択する。あるいは、ブロックと無関係の情報、もしくは、その情報の一部を透かし情報Iとして取り扱う場合には、秘密鍵Kを用いて、ランダムに埋め込むブロックを選択する。埋め込み部16は、秘密鍵Kを用いて、埋め込みブロック選択部18により選択されたホストデータVのブロックにスクランブルされた透かしデータX'を埋め込み、埋め込みホストデータWを出力する。埋め込みの関数をf1とすると、この処理は変換式W=f1(V,X',K)で表される。秘密鍵Kに依存しない埋め込み方式の場合は、W=f1(V,X')となる。
【0036】
変更部14と埋め込み部16は協同して、複数のスクランブルされた透かしデータX'を生成し、それぞれをホストデータVの選択されたブロックに埋め込み、複数の埋め込みホストデータWの候補を生成し、それらの候補の一つを選択する機能をもつ。以上の透かし埋め込み処理を、透かしを埋め込むべきホストデータVの全てのブロックに対して、繰り返し行うことで、各ブロックに独立に透かしが埋め込まれることになる。
【0037】
図2は変更部14と埋め込み部16の機能構成図である。L個のマルチプレクサ20は、透かしデータXの先頭にそれぞれ初期データC0〜CL−1を挿入したL種類のビット系列Xbを生成する。L個のスクランブラ22はL種類のビット系列をそれぞれスクランブルして、L種類のスクランブルされた透かしデータX'bを生成する。L個のECC(Error Correction Code)部24はL種類のスクランブルされた透かしデータX'bのそれぞれに誤り訂正のためのパリティを付加した透かしデータX'cを生成する。ECC部24は、透かしビットの検出率を向上させるためのオプションであって、アプリケーションによっては必要ない場合もあり、この構成を省略してもよい。また、スクランブラ22とECC部24の順序を逆にして、L種類のビット系列に誤り訂正のためのパリティを付加した後に、それらをスクランブルして、L種類のスクランブルされた透かしデータを生成してもよい。
【0038】
L個の埋め込み部26は、L種類のスクランブルされた透かしデータX'cのそれぞれを、埋め込みブロック選択部18により選択されたホストデータVのブロックに埋め込み、L種類の埋め込みホストデータWの候補を生成する。L個のSNR計算部28は、L種類の埋め込みホストデータWの候補のそれぞれについて、透かしデータXの耐性を評価する。セレクタ30は、耐性の評価値が最良である埋め込みホストデータWの候補を選択し、それを最終的な埋め込みホストデータWとして出力する。
【0039】
図3は、実施の形態1に係る復号装置40の構成を示す。符号化装置10により電子透かしが埋め込まれた埋め込みホストデータWは、ネットワーク上で流通し、コンピュータにおいて利用される。その過程で埋め込みホストデータWは圧縮符号化や改ざんなどの操作を受ける。画像データであれば、JPEG圧縮、フィルタリング、量子化、色補正などの信号処理や、スケーリング、クロッピング、回転、並行移動等の幾何学的な変換など有用性のある操作が施されたり、電子透かしを除去したり改変するなどの不正な攻撃が加えられたりする。そのような操作による変形を埋め込みホストデータWに対するノイズNとみなし、ノイズNが付加した埋め込みホストデータWを埋め込みホスト信号W'(=W+N)とする。復号装置40は、埋め込みホスト信号W'から埋め込まれた透かし情報Iを抽出する処理を行う。
【0040】
埋め込みブロック選択部41は、必要な場合は秘密鍵Kを用いて、埋め込みホスト信号W'から透かしデータの埋め込まれたブロックを選択する。抽出部42は、秘密鍵Kを用いて、埋め込みホスト信号W'から選択されたブロックに埋め込まれた透かしデータX'cを抽出する。ECC復号部44はこの透かしデータX'cに付加されているパリティビットを用いて誤り訂正を行い、透かしデータX'bを生成する。デスクランブラ46は秘密鍵Kを用いて、誤り訂正後の透かしデータX'bのスクランブルを解除し、透かしデータXbを出力する。ビット長復元部48は、秘密鍵Kを用いて、この透かしデータXbのビット長を復元して元の透かし情報Iを出力する。以上の透かし抽出処理を、透かしが埋め込まれたホストデータVの全てのブロックに対して、繰り返し行うことで、各ブロックから独立に透かしを抽出することができる。また、透かしが正しく抽出できなかったブロックが存在した場合には、そのブロックの改ざんが行われたものと判断することで、ブロック単位による改ざん検出が可能となる。
【0041】
以上の構成の符号化装置10および復号装置40による電子透かしの埋め込みと抽出の手順を説明する。図11は、符号化装置10による電子透かしの埋め込み手順を説明するフローチャートである。フローチャートの説明にあたり、図4から図10を適宜参照する。マルチプレクサ20は、ビット長伸長部12によりビット長が伸長された透かしデータXの先頭にL種類の初期データを挿入してL個の符号系列を生成し(S10)、スクランブラ22は、それらの符号系列をスクランブルしてL種類のスクランブルされた透かしデータX'を生成する(S12)。
【0042】
図4は、透かしデータXとL種類のスクランブルされた透かしデータX'との関係を示す。nビットの透かしデータXの先頭に、rビットの冗長語を識別データID[0]〜ID[L−1]として付加し、L種類の透かしデータの候補を作成する。最大2r種類の候補が作成される。これらの候補に含まれる透かしデータXのビット列はこれから述べるスクランブル方式により、スクランブルされる。
【0043】
スクランブル方式の一例として、伝送や磁気記録におけるデジタル変調の際に利用されるGS(Guided Scramble)方式を採用する。GS方式は、ある一定のデータブロック長からなる情報系列に対して、L種類の符号系列を生成し、これらを次に送信する符号系列の候補として扱う。これらの候補の中から、伝送媒体の性質に合わせて最適なものを選択して最終的な符号系列とする。このGS方式により、多様性に富んだ符号系列の候補を簡単な方法で生成することができる。
【0044】
符号化装置10におけるマルチプレクサ20とスクランブラ22がGS符号化器内の符号系列の候補生成部として機能する。GS符号化器は、nビットからなる情報系列D(x)の直前にL種類のrビットの冗長語ci(i=0,・・・,L−1)を付加し、L種類の符号系列cixn+D(x)を生成する。この符号系列の符号長は(n+r)ビットとなる。このようにして冗長語が付加された符号系列に対して、次式のようにN次元のスクランブル多項式S(x)で除算することにより商Ti(x)を求める。
【0045】
Ti(x)=QS(x)[(cixn+D(x))xN] (1)
ただし、Qa[b]はbをaで除算した商を示す。商集合{T0(x),・・・,TL−1(x)}がスクランブル後の符号系列の候補である。これらの候補の各々について、その符号系列が実際に用いられた際の性能を評価し、その評価値が最良であるものを最終的な符号系列として選択する。
【0046】
復調時には、復号装置40におけるデスクランブラ46がGS復号器として機能し、符号系列にS(x)を乗算し、下位Nビットと上位rビットの変換情報を捨てることにより、元の情報系列D(x)が得られる。
【0047】
ここでスクランブル多項式S(x)として、S(x)=xr+1を用いた場合を説明する。n mod r=0の場合、(1)式は次式に示す畳み込み演算で表現可能である。
【0048】
tj=dj(+)ci (j=0)
tj=dj(+)tj−1 (j=1,・・・,n/r−1)
ただし、i=0,・・・,L−1であり、djは元の情報系列D(x)をrビットずつ区切ったビット列、tjは変換後の符号系列Ti(x)の先頭のrビットの冗長語ci以降をrビットずつ区切ったビット列である。また(+)は排他的論理和(EX−OR)演算を示す。
【0049】
図5はこの符号化時の畳み込み演算を説明する図である。たとえば、n=6、r=2の場合を考える。元の情報系列D(x)=(1,0,1,0,0,1)に対して、冗長語c0=(0,0)を付加して、変換後の符号系列T0(x)を生成する。上記の符号化時の畳み込み演算により、t0=d0(+)c0=(1,0)(+)(0,0)=(1,0)、t1=d1(+)t0=(1,0)(+)(1,0)=(0,0)、t2=d2(+)t1=(0,1)(+)(0,0)=(0,1)となり、変換後の符号系列T0=(0,0,1,0,0,0,0,1)が得られる。ここで変換後の符号系列T0の先頭の2ビットは冗長語c0であることに注意する。
【0050】
同様にして、冗長語c1=(0,1)、c2=(1,0)、c3=(1,1)に対して、それぞれ変換後の符号系列T1=(0,1,1,1,0,1,0,0)、T2=(1,0,0,0,1,0,1,1)、T3=(1,1,0,1,1,1,1,0)が得られる。
【0051】
復号時は次式のように畳み込み演算を行うことにより、元の情報系列D(x)が得られる。
【0052】
dj=tj(+)ci (j=0)
dj=tj(+)tj−1 (j=1,・・・,n/r−1)
【0053】
図6はこの復号時の畳み込み演算を説明する図である。前述の例において、変換後の符号化系列T0=(0,0,1,0,0,0,0,1)が与えられると、先頭の2ビットから冗長語c0=(0,0)が得られ、上記の復号時の畳み込み演算により、d0=t0(+)c0=(1,0)(+)(0,0)=(1,0)、d1=t1(+)t0=(0,0)(+)(1,0)=(1,0)、d2=t2(+)t1=(0,1)(+)(0,0)=(0,1)となり、元の情報系列D(x)=(1,0,1,0,0,1)が得られる。他の変換後の符号化系列T1,T2,T3についてもこの畳み込み演算により、元の情報系列D(x)が得られる。
【0054】
再び図11を参照する。埋め込みブロック選択部18は、ホストデータVから透かしデータX'を埋め込むべきブロックを選択する(S13)。スクランブラ22によって生成されたL種類のスクランブルされた透かしデータX'は、ECC部24により誤り訂正のためのパリティを付加された後に、埋め込み部26によりホストデータVの選択されたブロックに埋め込まれる(S14)。
【0055】
L種類のスクランブルされた透かしデータX'をx0,x1,・・・,xL−1とする。各透かしデータの候補のビット系列は、次式のように表される。先頭のrビットは識別データである。また、スクランブル処理後のビット0は、−1に置き換えて、以下の処理を行う。
【0056】
x0={−1,・・・,−1,−1,x0 0,x0 1,・・・,x0 n−1}
x1={−1,・・・,−1,1,x1 0,x1 1,・・・,x1 n−1}・・・
xL−1={1,・・・,1,1,xL−1 0,xL−1 1,・・・,xL−1 n−1}
【0057】
埋め込みブロック選択部18は、(n+r)ビットからなる透かしデータの埋め込み対象として、一つのブロックを選択する。さらに、その選択されたブロック内から、サンプル集合のペア(V+,V−)を選択する。埋め込みサンプルの集合V+,V−は、それぞれ次のように(n+r)個の要素をもつ。
【0058】
V+={v+ 0,v+ 1,・・・,v+ n+r−1}
V−={v− 0,v− 1,・・・,v− n+r−1}
ここでサンプルの集合V+,V−の要素であるサブセットv+ i、v− i(i=0,1,・・・,n+r−1)は、いずれも同一のブロック内でランダムに選択されたm個のサンプルデータからなる。
【0059】
v+ i={v+ i,0,v+ i,1,・・・,v+ i,m−1}
v− i={v− i,0,v− i,1,・・・,v− i,m−1}
【0060】
透かしデータの候補xk(k=0,・・・,L−1)をサンプル集合のペア(V+,V−)に次のように埋め込み、L種類の埋め込みホストデータの候補Wkを生成する。
【0061】
w+k i,j=v+ i,j+α+ i,j・xk i
w−k i,j=v− i,j−α− i,j・xk i
ここでα+ i,jおよびα− i,jは人間の視覚モデルにもとづいて知覚されるノイズを減少するためのスケーリングパラメータであり、いずれも正の値である。あるいは、α+ i,jおよびα− i,jは、ある確率分布、たとえばガウシアン分布、一様分布などに従うように、秘密鍵Kによって生成される正の値であってもよい。この場合、透かしの埋め込み強度は減少するが、埋め込まれた透かしの秘匿性は向上する。このようにして、k番目の透かしデータの候補の各ビットxk iは各サブセットv+ i、v− iのそれぞれm個のサンプルに重複して埋め込まれる。重複の数mが大きいほど、透かしビットが失われる可能性が低くなり、検出誤差が小さくなる一方で、ホストデータに埋め込むことができる透かしのビット数が減少する。α+ i,jおよびα− i,jは、視覚上の劣化を検知できないように各ピクセル毎に設定される値であり、原理的には、埋め込むピクセル数mを増やしても、人間の視覚上、画質の劣化は検知されない。しかし、1ビットを埋め込むのに費やすピクセル数が増加するということは、埋め込み領域には制限があるため、埋め込むことができるビット数が減少することを意味し、したがって埋め込み率の低下を招くことになる。
【0062】
透かしデータの埋め込み対象のブロックの一例として、ホストデータVを離散コサイン変換(Discrete Cosine Transform)したときに得られるDCTブロックを用いる場合、各サブセットv+ i、v− iのm個のサンプルデータは、透かしの埋め込み対象として選択された1つのDCTブロックに含まれるm個のDCT係数である。図7は、埋め込みブロック選択部18により選択される透かしデータX'の埋め込みブロックを説明する図である。同図のように、JPEGで用いられている離散コサイン変換では、ホストデータVの空間領域が縦横8ピクセルからなるブロックに分割され、それぞれのブロック内で各ピクセルが空間周波数成分に変換される。埋め込みブロック選択部18は、透かしビット列xkを埋め込むブロックとして、同図のようにDCTブロック120を選択する。
【0063】
図8は、8×8のDCTブロック内の2m個のDCT係数に透かしビットxk i(i=0,1,・・・,n+r−1)が埋め込まれる様子を示している。各サブセットv+ i、v− iとして選ばれるそれぞれm個のDCT係数は、秘密鍵Kに基づいて選択される。このようにして(n+r)ビットの透かしデータが同一のブロックに埋め込まれる。なお、上記の説明では透かし埋め込み対象のブロックとして1つのDCTブロックを選択したが、埋め込み対象のブロックを、離散コサイン変換の最小処理単位であるDCTブロックとする必要はなく、ある程度の大きさをもった分割領域であってもよい。その場合は、いくつかのDCTブロックの集合を1つの埋め込み対象ブロックとみなして、同様の透かし埋め込み処理を行えばよい。
【0064】
透かしデータの埋め込み対象のブロックの他の例として、ホストデータVを離散ウェーブレット変換したときに得られるウェーブレット変換係数の集合を考える。図9は、離散ウェーブレット変換されたホストデータVの各サブバンドから選択された、同一の空間領域を構成するウェーブレット変換係数の集合を説明する図である。同図に示すとおり、ホストデータVは離散ウェーブレット変換により4つの周波数サブバンドへ分割される。これらのサブバンドは、縦横両方向において低周波成分を有するLLサブバンドと、縦横のいずれかひとつの方向において低周波成分を有し、かつもう一方の方向において高周波成分を有するHLおよびLHサブバンドと、縦横両方向において高周波成分を有するHHサブバンドである。各サブバンドの縦横のピクセル数は処理前のホストデータVのそれぞれ1/2であり、一回のフィルタリングでサイズが1/4のサブバンドデータが得られる。
【0065】
こうして得られたサブバンドのうち、LLサブバンドに対して離散ウェーブレット変換によるフィルタリング処理が再度施され、さらにLL、HL、LH、HHの4つのサブバンドに分割される。このフィルタリングは所定の回数行われ、最後のフィルタリングで生じたLLサブバンドがホストデータVのDC成分に最も近いデータとなる。
【0066】
離散ウェーブレット変換前のホストデータVの特定の空間領域に対応するウェーブレット変換係数を各階層のサブバンドから選択すると、図9に示すように、ツリー構造のウェーブレット変換係数の集合100〜109が得られる。すなわち第3階層のLLサブバンドLL3、HLサブバンドHL3、LHサブバンドLH3、およびHHサブバンドHH3からはそれぞれ1ピクセルからなるウェーブレット変換係数100、101、102、および103が選択され、第2階層のHLサブバンドHL2、LHサブバンドLH2およびHHサブバンドHH2からはそれぞれ2×2のウェーブレット変換係数104、105および106が選択され、最後に第1階層のHLサブバンドHL1、LHサブバンドLH1およびHHサブバンドHH1からはそれぞれ4×4のウェーブレット変換係数107、108および109が選択される。これらのウェーブレット変換係数の集合は、離散ウェーブレット変換前のホストデータVにおける特定の空間領域のデータが階層的に空間周波数成分に変換されたものである。したがって、これらのウェーブレット変換係数の集合を透かしデータX'の埋め込みブロックとして選択して透かしデータX'を埋め込むなら、透かしデータX'はホストデータVの特定の空間領域に埋め込まれたことになる。各サブセットv+ i、v− iとしてこのようなツリー構造のウェーブレット変換係数の集合を用いてもよい。
【0067】
図10は、ウェーブレット変換係数の集合内の2m個のウェーブレット変換係数に透かしビットxk iが埋め込まれる様子を示している。図9の3つの階層から選択されたウェーブレット変換係数を集めると、図10のように8×8のウェーブレット変換係数の集合110が得られる。ウェーブレット変換の階層数をHとすると、2H×2Hのウェーブレット変換係数のマトリックスが得られる。もっともこれは、最小サイズの埋め込みブロックを説明したものであり、ホストデータVの透かし埋め込み領域として、ある程度の大きさをもった分割領域を選択すると、その領域に対応するウェーブレット変換係数のマトリックスのサイズは当然大きくなる。こうして得られるウェーブレット変換係数のマトリックスを埋め込みブロックとして扱い、この埋め込みブロック内のm個のウェーブレット変換係数に透かしビットxk i(i=0,1,・・・,n+r−1)を図8と同様の方法で埋め込む。
【0068】
図11に戻り、SNR計算部28は、L種類の埋め込みホストデータの候補Wkに対して透かしデータxkの耐性、すなわち埋め込み強度を評価し(S16)、セレクタ30は埋め込み強度が最大となる埋め込みホストデータの候補Wkを最終的な埋め込みホストデータWとして選択する(S18)。
【0069】
埋め込み強度の評価式を与える前に、埋め込みホストデータWに対して信号処理や画像処理などにより変形が加えられた場合に、透かしデータX'がどのように検出されるかを検討する。埋め込みホストデータWに加えられる変形をノイズNとして扱い、ノイズNが加わった埋め込みホストデータWを埋め込みホスト信号W'と呼ぶ。この埋め込みホスト信号W'から透かしデータX'を抽出する方法を説明する。埋め込みホスト信号の集合のペア(W'+,W'−)を次のように定義する。埋め込みホスト信号の集合W'+,W'−は次のようにそれぞれ(n+r)個の要素をもつ。
【0070】
W'+={w'+ 0,w'+ 1,・・・,w'+ n+r−1}
W'−={w'− 0,w'− 1,・・・,w'− n+r−1}
ここで埋め込みホスト信号の集合W'+,W'−の要素である各サブセットw'+ i、w'− iは、電子透かしの埋め込み位置に対応して、次のように埋め込みホスト信号W'のm個のサンプルデータからなる。
w'+ i={w'+ i,0,w'+ i,1,・・・,w'+ i,m−1}
w'− i={w'− i,0,w'− i,1,・・・,w'− i,m−1}
【0071】
透かしビットxk iを検出するために、次の判定値ziを計算する。
zi=Σ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)・xk i+(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に近づく。したがって、ziはΣj=0 m−1[(α+ i,j+α− i,j)・xk i]の値で近似できる。(α+ i,j+α− i,j)は正であるから、透かしビットxk iが1ならばziは正であり、透かしビットxk iが−1ならばziは負である。したがってziの正負により透かしビットxk iの値を判定することができる。
【0072】
埋め込み強度の評価は、ホストデータVを透かしデータXに対するノイズとみなして、埋め込まれた透かしデータxkに対して検出される透かしデータの分散を計算することにより行われる。分散が小さいほど、耐性が強いと考えることができる。埋め込みホストデータの候補のペア(W+k,W−k)に対して次式によりSN比を評価して、最適な候補Kを選択する。
【0073】
K=argmaxk(Pk/(2σk 2))
Pk=Σi=0 n+r−1|Σj=0 m−1(w+k i,j−w−k i,j)|2/(n+r)
σk 2=Σi=0 n+r−1|Σj=0 m−1(w+k i,j−w−k i,j)−Pk 1/2・xk i|2/(n+r)
【0074】
透かしビットxk iが{1,−1}のいずれであるかを判定するための前述の判定値ziは、埋め込みホストデータWにノイズが付加される前の状態では、zi=Σj=0 m−1(w+k i,j−w−k i,j)で与えられることを考慮すると、分散σk 2は、透かしビットに関する検出値ziと実際に埋め込まれた透かしビットの平均値Pk 1/2・xk iとの差の自乗をi=0,・・・,n+r−1について評価して平均化したものであると言える。ただし、Pkは検出値ziのi=0,・・・,n+r−1についての自乗平均であり、埋め込まれた透かしの平均パワーを示す。したがって、埋め込まれた透かしデータxkと抽出される透かしデータとの間のユークリッド距離が小さく、透かしビットを検出するための判定値の絶対値が大きいほど、Pk/(2σk 2)の値は大きくなる。言い換えれば、Pk/(2σk 2)が最大となる候補を選択することは、透かしビットの検出誤差が最小である候補を選択することを意味する。
【0075】
判定値ziについて、v+ i,j>v+ i,jかつxk i=1ならばzi>>0となり、v+ i,j<v+ i,jかつxk i=−1ならばzi<<0となる。したがって前述の評価により最適な透かしデータxkの候補を選択することは、判定値ziによる透かしビットxk iの検出性能を向上させるために、v+ i,j>v+ i,jならばx'i=1となり、v+ i,j<v+ i,jならばx'i=−1となるように、元の透かしビットxiをx'iに変更することを意味する。これがGS方式のガイディングルールであり、これにより判定値ziのレスポンスが改善する。
【0076】
復号装置40の抽出部42は、ノイズの付加された埋め込みホスト信号W'を受け取ると、ECC復号部44が硬入力の復号器で構成される場合には、判定値ziを次のように計算し、判定値ziの正負で、透かしビットx'が{−1,1}のいずれであるかを判定し、透かしデータX'を得る。また、ECC復号部44が軟入力の復号器で構成される場合には、判定値ziを{−1,1}に硬判定することなく、そのまま、ECC復号部44に送る。
【0077】
zi=Σ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'i+(n+ i,j−n− i,j)]
【0078】
抽出された透かしデータX'はさらにECC復号部44により誤り訂正がなされ、デスクランブラ46によりスクランブルを解除され、元の透かしデータXが得られる。
【0079】
以上述べたように、実施の形態によれば、GS方式を用いて、電子透かしを埋め込む画像や音声などのメディアデータが与えられると、透かしビット系列をそのメディアデータに埋め込みやすいビット系列に変換した上で埋め込むことができる。したがって信号処理、幾何変換、圧縮、データの改ざんなどに対する電子透かしの耐性を強化することができ、透かしの検出精度が大幅に改善する。また透かしビットの埋め込み対象として特定のブロックを選択し、ブロックごとに独立に、透かしビットを埋め込むため、ブロックごとに透かしの検出を行うことで、ブロック単位で改ざんの有無を調べることができる。したがって、画像の特定の部分を変更したり、オブジェクトを新たに追加するなどの改ざんが行われた箇所をブロック単位で検出可能となる。
【0080】
上記の実施の形態では、図2で示したように、L種類の透かしデータの候補を生成するために、L個のマルチプレクサ20、スクランブラ22、ECC部24、埋め込み部26、およびSNR計算部28が並列に設けられたが、これらの部材を単一構成にして、L種類の透かしデータの候補を逐次的に生成、評価して最適な候補を選択してもよい。
【0081】
図12は、そのような逐次型の電子透かしの埋め込み手順を説明するフローチャートである。埋め込みブロック選択部18は、ホストデータVから透かしデータを埋め込むべきブロックをあらかじめ選択する(S19)。変数iを1に初期化する(S20)。マルチプレクサ20は、暗号化部12により暗号化された透かしデータXの先頭にi番目の初期データを挿入して符号系列を生成し(S22)、スクランブラ22は、その符号系列をスクランブルして、i番目のスクランブルされた透かしデータX'を生成する(S24)。スクランブラ22によって生成されたi番目のスクランブルされた透かしデータX'は、必要に応じてECC部24により誤り訂正のためのパリティを付加された後に、埋め込み部26によりホストデータVの選択されたブロックに埋め込まれる(S26)。SNR計算部28は、i番目の埋め込みホストデータの候補Wiに対して透かしデータxiの耐性、すなわち埋め込み強度Siを評価する(S28)。セレクタ30は、埋め込み強度Siが最低の評価値を保証する基準値Tより大きいかどうかを判定する(S30)。もし埋め込み強度Siが基準値Tより大きければ(S30のY)、変数Kに現在の変数iの値を代入し(S32)、K番目の埋め込みホストデータの候補を最終的な埋め込みホストデータWとして選択する(S40)。埋め込み強度Siが基準値T以下の場合(S30のN)、現在の変数iの値がLに等しいなら(S34のY)、これまで調べた埋め込み強度Skの値が最大となる添え字kを変数Kに代入し(S38)、K番目の埋め込みホストデータの候補を最終的な埋め込みホストデータWとして選択する(S40)。現在の変数iの値がLより小さいなら(S34のN)、変数iを1だけインクリメントして(S36)、ステップS22に戻る。
【0082】
この繰り返し処理により、埋め込み強度が所望の基準値以上である候補が得られた時点で、その候補を最終的な埋め込みホストデータWとして選択し、そのような候補が生成されなければ、L個の埋め込みホストデータの候補を生成して、その中から埋め込み強度が最大であるものを最終的な埋め込みホストデータWとして選択することができる。
【0083】
上記の説明では、埋め込みブロック選択部18は、透かしビット列xkを埋め込むブロックとして1つのブロックを選択した。しかしながら選択されたブロックが背景画像や単調な画像である場合には、高周波成分が少なく透かしデータの埋め込みが困難である場合もある。そこで埋め込みブロック選択部18は、透かしビット列xkの埋め込み対象として、2つ以上のブロックを組み合わせて選択してもよい。この場合、2つ以上のブロックに透かしビット列xkが埋め込まれるため、組み合わせのブロックのいずれかで改ざんが行われたかどうかを検出することができるが、いずれのブロックであるかは特定できない。
【0084】
図13は、離散コサイン変換されたホストデータVから選択された2つのDCTブロック120および130を示す。たとえば一方のDCTブロック120は透かしデータが埋め込み難い低周波成分を主に含み、他方のDCTブロック130は透かしデータを埋め込み易い高周波成分を主に含むといった組み合わせを選択する。DCTブロックに含まれる周波数成分はDCT係数をもとに判断してもよく、またDCTブロック内のピクセル値の分散に基づいて判断してもよい。また、隣接するブロックは互いに似た周波数成分をもつことが多いため、位置がなるべく離れたブロックを組み合わせてもよい。またこのような組み合わせブロックはランダムに選択されてもよい。ブロックの組み合わせを透かしデータの埋め込み単位とすることにより、ブロック間での埋め込み強度の違いを吸収して、埋め込み強度の平均化を図ることができる。
【0085】
図14は、離散ウェーブレット変換されたホストデータVから選択された2つのウェーブレット変換係数の集合を示す。図9で説明した離散ウェーブレット変換前のホストデータVの特定の空間領域に対応するウェーブレット変換係数の集合100〜109の他に、ホストデータVの別の特定の空間領域に対応するウェーブレット変換係数の集合200〜209が図14に斜線を付けて示されている。これら2つのウェーブレット変換係数の集合は、図13のDCTブロックの組み合わせと同様、たとえば低周波成分を多く含む空間領域と高周波成分を多く含む空間領域にそれぞれ対応している。
【0086】
図13および図14で説明した埋め込みブロックの組み合わせは、秘密鍵Kに基づいて決定されるため、復号装置40の埋め込みブロック選択部41は、秘密鍵Kを用いて、透かしデータX'が埋め込まれたブロックを選択することができる。すなわち秘密鍵Kにより、復号装置40は、符号化装置10が埋め込んだブロックの組み合わせと同一のブロックの組み合わせを特定することが可能である。
【0087】
さらに別のブロックの組み合わせ方法として、埋め込みブロック選択部18は、何らかの特徴量にもとづいて互いに異なる特徴をもつブロックを選択して組み合わせてもよい。たとえばピクセル値の分散などの特徴量を評価して、物体の表面のようなテクスチャタイプのブロックと、背景のようにフラットなタイプのブロックとを組み合わせてもよい。
【0088】
このように特徴量にもとづいて組み合わせブロックを選択した場合、復号装置40の埋め込みブロック選択部41において、同様の特徴量を評価して埋め込みブロックを正しく選択することは難しくなる。なぜなら、改ざんによりこのような特徴量は一般に変化するからである。このように特徴量にもとづいて組み合わせブロックを選択した場合、埋め込みブロックを特定するための情報を秘密鍵として復号装置40に送信することで対処することができる。あるいは復号装置40の埋め込みブロック選択部41が特徴量にもとづいて埋め込みブロックを決定することにして、多くのブロックにおいて透かしデータが正しく抽出できなかった場合には、改ざんがあったと判定することにしてもよい。もっとも、この場合にはブロック単位で改ざんを検出することはできず、単に改ざんの有無を検出することができるだけになる。
【0089】
実施の形態2
図15は実施の形態2に係る符号化装置11の構成を示す。本実施の形態では、電子透かしの埋め込まれたホストデータVが受ける圧縮符号化などの特定の処理をあらかじめ想定し、透かしの埋め込み時にその特定の処理による影響を考慮して、電子透かしに耐性をもたせる。実施の形態1と共通する構成については同一符号を付して説明を省き、実施の形態1とは異なる構成と動作について説明する。
【0090】
変更部15は、透かしデータXをスクランブルする際、ホストデータVが受ける特定の処理による歪みDを考慮して耐性の強い透かしデータのビット系列を選択し、スクランブルされた透かしデータX'を出力する。図16は変更部15と埋め込み部16の機能構成図である。重みつきSNR計算部29は、L種類のスクランブルされた透かしデータX'cが埋め込まれたホストデータWの候補について、透かしデータXの耐性を評価する際に、特定の処理により想定される歪みDを考慮に入れる。具体的には、埋め込まれた透かしデータと検出される透かしデータとの間のSNRにより埋め込み強度を評価する際に、埋め込みホストデータWに対する特定の処理による劣化を考慮した以下の重み付けSNRを用いる。
【0091】
K=argmaxk(Pk/(2σk 2))
Pk=Σi=0 n+r−1|Σj=0 m−1(w*+k i,j−w*−k i,j)|2/(n+r)
σk 2=Σi=0 n+r−1|Σj=0 m−1(w*+k i,j−w*−k i,j)−Pk 1/2・xk i|2/(n+r)
ここでw*+k i,j、w*−k i,jは特定の処理がなされた後の埋め込みホストデータWである。特定の処理がたとえばJPEG2000による圧縮であると分かっている場合、w*+k i,j、w*−k i,jはJPEG2000の量子化方法を用いて計算することができる。
【0092】
JPEG2000の規格書「ISO/IEC 15444-1: JPEG 2000 image coding system, JPEG 2000 final committee draft, 18 August 2000」にもとづいて、JPEG2000の量子化方法を簡単に説明する。サブバンドbにおける量子化前のウェーブレット変換係数をab(u,v)、サブバンドbにおける量子化後のウェーブレット変換係数をqb(u,v)とすると、JPEG2000では以下の量子化式を用いてウェーブレット変換係数の量子化が行われる。
【0093】
qb(u,v)=sign(ab(u,v))・[|ab(u,v)|/Δb]
ここで[x]はxを越えない最大の整数を表す。Δbはサブバンドbにおける量子化ステップであり、次式で与えられる。
Δb=2^(Rb−εb)・(1+μb/211)
ここでRbはサブバンドbにおけるダイナミックレンジ、εbはサブバンドbにおける量子化の指数、μbはサブバンドbにおける量子化の仮数である。
【0094】
このようにJPEG2000では、同一のサブバンドに属するウェーブレット変換係数は同じ量子化ステップで除算され、整数の値に丸められる。ホストデータVに埋め込まれる透かしデータXはこのような量子化演算に対して耐性をもつ必要があるため、JPEG2000による量子化がなされた後の埋め込みホストデータWの値を算出して、上述のようにその算出されたホストデータWに対して透かしデータの耐性を評価する。
【0095】
本実施の形態によれば、透かしの埋め込み時に、埋め込み後のホストデータに対する特定の処理を想定して埋め込み強度を評価し、埋め込み強度の高い透かしデータのビット系列を選択するため、特定の処理に対する耐性の強い電子透かし埋め込みデータを生成することができる。
【0096】
実施の形態3
図17は、実施の形態3に係る符号化装置50の構成を示す。この符号化装置50は、透かしデータXをホストデータVの複数の埋め込み位置の候補に埋め込み、透かしの耐性が強くなる候補を選択して、最終的な埋め込みホストデータWとして出力する。実施の形態1と共通する構成については同一符号を付して説明を省き、実施の形態1とは異なる構成と動作について説明する。
【0097】
埋め込みブロック選択部56は、秘密鍵Kを用いてホストデータVからQ個のブロックを選択する。各ブロックのサイズがM×Nであれば、Q×M×Nサンプルの埋め込み候補が得られる。実施の形態1のDCT係数に透かしを埋め込む例では、Q=1、M=8、N=8と限定した場合について説明を行ったが、本実施の形態では、これらのパラメータを特定することなく説明を行う。位置検出部52は、このQ×M×Nサンプルの埋め込み候補の中からスクランブルされた埋め込み位置Pを生成し、埋め込み部54は、秘密鍵Kを用いて、ホストデータVの埋め込み位置Pに透かしデータXを埋め込み、埋め込みホストデータWを出力する。位置検出部52と埋め込み部54は協同して、複数の埋め込み位置Pを生成し、それぞれの埋め込み位置Pに透かしデータXを埋め込み、複数の埋め込みホストデータWの候補を生成し、それらの候補の一つを選択する機能をもつ。
【0098】
図18は位置検出部52と埋め込み部54の機能構成図である。ECC部24は透かしデータXbに誤り訂正のためのパリティを付加した透かしデータXcを生成する。位置情報生成部60は、埋め込みブロック選択部56によりホストデータVから選択されたQ個のブロックについてL個の埋め込み位置Pの候補を生成する。位置情報生成部60は、初期埋め込み位置P*に対して、L種類の初期データC0〜CL−1を与えて、実施の形態1に述べたGS方式により、初期埋め込み位置P*をスクランブルすることで、L個のスクランブルされた埋め込み位置Pの候補を生成する。
【0099】
埋め込み部26はL個の埋め込み位置Pの候補のそれぞれに透かしデータXcを埋め込み、L種類の埋め込みホストデータWの候補を生成する。SNR計算部28により、L種類の埋め込みホストデータWの候補のそれぞれについて透かしデータXの耐性が評価され、耐性の評価値が最良である埋め込みホストデータWがセレクタ30から出力される。このようにして、埋め込みブロック選択部56により選択されたQ個の埋め込みブロックに、透かしデータXを埋め込む際の最適な埋め込み位置が決定される。
【0100】
図19は、実施の形態3に係る復号装置70の構成を示す。この復号装置は、埋め込みホスト信号W'から埋め込まれた透かしデータXcを抽出し、この透かしデータXcに対して誤り復号し、誤り訂正がなされた透かしデータXbを得る処理を行う。
【0101】
埋め込みブロック選択部61は、秘密鍵Kを用いて、埋め込みホスト信号W'から透かしデータの埋め込まれたQ個のブロックを選択する。位置情報生成部60は、図18に示した符号化装置50における位置情報生成部60と同様に、埋め込みブロック選択部61により選択されたQ個のブロックについてL個の埋め込み位置Pの候補を生成する。L個の抽出部42は、秘密鍵Kを用いて、位置情報生成部60により与えられたL個の埋め込み位置Pの候補から、埋め込みホスト信号W'に埋め込まれたL種類の透かしデータXcの候補を抽出する。L個の埋め込み位置Pの候補の内、一つの候補が正しい埋め込み位置である。整合フィルタ62は、L種類の透かしデータXcの候補と、想定される透かしデータYとの間で相関を計算し、マッチングをとる。セレクタ64が相関の最も高い透かしデータXcの候補を選択することで、正しい埋め込み位置にある透かしデータXcが得られる。
【0102】
さらに透かしデータXcは、ECC復号部44により誤り訂正がなされる。ビット長復元部48は、秘密鍵Kを用いて、この透かしデータXbのビット長を復元して元の透かし情報Iを出力する。
【0103】
想定される透かしデータYは、ホストデータVに埋め込まれた透かしデータXがあらかじめわかっている場合に与えられる。たとえば、ホストデータVの作成者があらかじめわかっており、その作成者の透かしデータXがホストデータVに埋め込まれているかどうかを確認する場合がある。一般に、本実施の形態は、埋め込まれている電子透かし情報があらかじめ想定されているが、透かしデータの埋め込み位置が候補としてしか与えられていない場合に適用することができる。
【0104】
本実施の形態によれば、電子透かしを埋め込む対象となるメディアデータが与えられると、そのメディアデータに応じて、透かしデータを埋め込み易い位置を検出して、透かしデータを埋め込むことができ、埋め込まれる透かしの耐性を強化することができる。
【0105】
実施の形態4
図20は実施の形態4に係る符号化装置10の構成を示す。本実施の形態では、ホストデータVから生成されるダイジェストデータを電子透かしとしてホストデータVに埋め込む。実施の形態1の符号化装置10と共通する構成については同一符号を付して説明を省き、実施の形態1とは異なる構成と動作について説明する。
【0106】
ダイジェスト生成部13は、埋め込みブロック選択部18により選択されたホストデータVのブロックの特徴を端的に表したダイジェストデータを生成する。このダイジェストデータは、ホストデータVの圧縮符号化によっても壊れないデータであり、たとえばホストデータVが画像である場合は、画像を空間周波数成分に変換したときの低周波成分から得られる。ダイジェスト生成部13は、一方向性関数によりダイジェストデータをハッシングする。セキュリティを高めたい場合は、ダイジェスト生成部13は、さらに、ダイジェストデータを秘密鍵Kにより暗号化する。ダイジェスト生成部13はこうして得られるダイジェストデータを透かしデータXとして出力する。実施の形態1と同様に、変更部14は、透かしデータXをスクランブルし、スクランブルされた透かしデータX'を出力し、埋め込み部16は、秘密鍵Kを用いて、埋め込みブロック選択部18により選択されたホストデータVのブロックにスクランブルされた透かしデータX'を埋め込み、埋め込みホストデータWを出力する。
【0107】
図21は変更部14と埋め込み部16の機能構成図である。埋め込みブロック選択部18により選択されるホストデータVのブロックがダイジェスト生成部13に入力されて、ダイジェスト生成部13によりダイジェストデータが生成され、透かしデータXが出力される。この透かしデータXが実施の形態1と同様にスクランブルされてホストデータVのブロックに埋め込まれ、埋め込みホストデータWが出力される。SNR計算部28による透かしデータXの埋め込み強度の評価は、実施の形態2で説明した、JPEG2000などの圧縮符号化を想定した評価方法を用いる。
【0108】
図22は実施の形態4に係る復号装置40の構成を示す。実施の形態1の復号装置40とは異なる構成と動作について説明する。ダイジェスト生成部43は、埋め込みブロック選択部41により選択された埋め込みホスト信号W'のブロックからダイジェストデータを生成し、一方向性関数によりダイジェストデータをハッシングする。さらに、符号化装置10のダイジェスト生成部13において、秘密鍵Kにより埋め込みデータの暗号化がなされている場合は、ダイジェスト生成部43は、さらに、ダイジェストデータを秘密鍵Kにより暗号化する。ダイジェスト生成部13はこうして得られるダイジェストデータを比較部49に与える。
【0109】
第1の実施の形態と同様に、抽出部42は、秘密鍵Kを用いて、埋め込みブロック選択部41により選択された埋め込みホスト信号W'のブロックに埋め込まれた透かしデータX'cを抽出する。ECC復号部44はこの透かしデータX'cに付加されているパリティビットを用いて誤り訂正を行い、透かしデータX'bを生成する。デスクランブラ46は秘密鍵Kを用いて、誤り訂正後の透かしデータX'bのスクランブルを解除し、透かしデータXbを出力する。こうして得られた透かしデータXbは、ハッシングされたダイジェストデータである。
【0110】
比較部49は、ダイジェスト生成部43により生成されたダイジェストデータを、抽出部42以降の処理により透かしとして抽出されたダイジェストデータと照合することにより、改ざんの有無を判定し、判定結果を出力する。透かしとして埋め込まれたダイジェストデータは、埋め込みブロック選択部41により選択されるブロックから作られたものであり、照合されるダイジェストデータに不一致があることは、その選択されたブロックに改ざんがあったことを意味するから、改ざんの有無とともに改ざんのあったブロックを特定することもできる。このようにダイジェストデータを生成するブロックをはじめから決めておくことで、改ざんの有無とともに改ざんの行われたおおまかな位置を特定することができるようになる。
【0111】
本実施の形態では、ダイジェスト生成部43においてダイジェストデータの暗号化を行ったが、ダイジェスト生成部43では暗号化は行わずに、デスクランブラ46の直後に、暗号の復号器を設置する構成も可能である。この場合は、比較部49では、暗号化されていないダイジェストデータの比較を行うことになる。
【0112】
図23から図25を用いて、透かしデータの埋め込み対象のブロックからダイジェストデータを生成する方法を説明する。透かしデータの埋め込みブロックは、実施の形態1で説明した図7のDCTブロックまたは図9のウェーブレット変換係数の集合である。埋め込みブロックの変換係数の値をai,jとすると、この変換係数値ai,jの上位ビットをダイジェストデータとして用いることができる。また別の方法として、次式にしたがって、縦、横、斜めの3方向で隣接サンプルとの絶対値差分を計算し、ある固定のビット数に丸めた値bi,jをダイジェストとして用いてもよい。
bi,j=〈|ai,j−(ai+1,j+ai,j+1+ai+1,j+1)/3|〉p
ここで〈〉pは上位pビットに丸める演算を示す。
【0113】
図23(a)は、透かしデータの埋め込みブロックの変換係数の例を示し、図23(b)はその変換係数を上記のように隣接サンプルとの間で差分処理した後の値を示す。この例では下位5ビットを除去している。このように差分演算することにより、画像のエッジ部のみに大きな値が得られ、画像のオブジェクトの付加や除去などエッジの変化を伴う改ざんの検出が容易になる。また、自然画像のように多くの平坦部を含む画像においては、近傍画素は非常に近い値を取る場合がほとんどであるため、差分を取ることにより値が0に近づく。そのため、ダイジェストデータに必要なビット数を抑えることができる。
【0114】
図24は、透かしデータが埋め込まれるサンプルのビット構成を説明する図である。ダイジェストデータはサンプルの特徴を表現する上位ビットを用いて作られる。一方、透かしデータは人間に知覚できないレベルで埋め込むために、サンプルの特徴にあまり関係のない下位ビットを使用して埋め込むのがよい。しかし、サンプルの下位ビットはJPEG2000などの圧縮符号化における量子化処理で落とされるため、透かしデータは量子化により落とされない中位ビットを利用して埋め込まれることになる。したがって、サンプルは、MSB(Most Significant Bit)からLSB(Least Significant Bit)の間で上位から順に、ダイジェストに使用可能なビットA、透かし埋め込み可能なビットB、および量子化により省略されるビットCに分けられる。
【0115】
ダイジェストに使用可能なビットAと透かし埋め込み可能なビットBの境界であるJND(Just Noticeable Difference)は、HVS(Human Visual System)により定められる人間が知覚できる限界の透かし埋め込みレベルであり、これより下位のビットであれば、透かしを埋め込んでも人間の目ではわからない。もっとも、JNDの境界ぎりぎりまで、ダイジェストや透かし埋め込みに利用する必要はなく、ホストデータVの圧縮率を上げるため、JNDの境界の上下に多少の余裕をもたせて、ダイジェストに使用可能なビットAおよび透かし埋め込み可能なビットBを決めてもよい。
【0116】
ダイジェストデータはホストデータVの特徴を端的に表すものであればよいため、一般には画像の低周波成分により構成することができる。たとえば、ウェーブレット変換係数の場合は、もっとも低周波の階層のLLサブバンドをダイジェストデータとする。DCT係数の場合は、DCTブロックの左上の低周波成分をダイジェストデータとする。しかしながら、画像の低周波成分からダイジェストデータを生成した場合、その空間周波数よりも高い周波数をもつ細かな改ざんがあっても、ダイジェストデータには改ざんの痕跡が残らない。そこで、より細かい改ざんの検出を可能とするため、ホストデータVの低周波成分以外に高周波成分も用いてダイジェストデータを生成してもよい。
【0117】
たとえば、ウェーブレット変換係数の場合、低周波の階層のサブバンドだけでなく、高周波の階層のサブバンドも用いて、ダイジェストデータを生成する。その場合でも、上述のように、JNDで決まる境界より上位のビットをダイジェストデータに利用し、境界より下位で量子化により省略されないビットを透かしデータの埋め込みに利用すればよいが、量子化により省略される下位のビット数は高周波成分ほど多くなることに注意する。
【0118】
図25(a)〜(c)は、それぞれ、第3階層、第2階層、第1階層のサブバンドにおけるウェーブレット変換係数のサンプルのビット構成である。量子化により省略されるビットCは、第3階層では2ビットであるが、第2階層では3ビット、第1階層では4ビットに増えており、高周波成分になるほど量子化の影響を受けるビット数は増えていく。これに伴い、透かし埋め込み可能なビットBを固定ビット数とすると、ダイジェストに使用可能なビットAのビット数は高周波成分になるほど少なくなる。
【0119】
DCT係数の場合は、DCTブロックの右下に行くほど高周波成分になる。DCTブロックの左上の低周波成分だけでなく、右下の高周波成分も利用してダイジェストデータを生成する。このとき、DCTブロックの右下に行くほど、量子化により落とされるビット数が増え、ダイジェストデータに使用可能なビット数は制限される。
【0120】
本実施の形態によれば、ホストデータの特定のブロックから生成したダイジェストデータを耐性の強化された透かしとしてホストデータVのブロックに埋め込むことができる。ホストデータを受け取った側では、ホストデータからダイジェストデータを生成し、ホストデータから電子透かしとして抽出されるダイジェストデータと照合することにより、ホストデータの改ざんの有無を検出することができる。
【0121】
ダイジェストデータは透かしとしてロバストに埋め込まれているため、誤り訂正により訂正可能な程度の軽度の改ざんの場合は、透かしとして抽出されるダイジェストデータは埋め込まれたものと同じものとなる可能性が高い。一方、ホストデータから生成されるダイジェストデータは、ホストデータの特徴を表したものであり、もともとホストデータの変更により壊れやすい性質をもつため、軽度の改ざんでも異なったものになる。特にダイジェストデータを一方向性関数でハッシングする場合は、わずかの変更でも大きく異なったものになる。したがって、壊れやすいダイジェストと、耐性の強い透かしデータとの比較により、軽度の改ざんでも検出することができる。
【0122】
また、透かしビットが壊されるような大きな改ざんがあった場合には、改ざんされたホストデータから生成されるダイジェストデータは、本来のダイジェストデータとは大きく異なるものになる。また、当然、透かしデータも改ざんの影響を受けるので、透かしとして抽出される比較対象のダイジェストデータも改ざんにより一部が破壊されて抽出されることになる。しかし、両者が偶然に一致するように改ざんすることは困難であり、改ざんのあったホストデータから生成されるダイジェストデータと、透かしとして抽出されるダイジェストデータとは一致しないことから、この場合にも改ざんがあったことを検出することができる。
【0123】
実施の形態5
図26は実施の形態5に係る符号化装置10の構成を示す。本実施の形態では、ホストデータVのブロックを特定することなく、ホストデータV全体からダイジェストデータを生成して、電子透かしとして埋め込む点が、実施の形態4とは異なる。実施の形態4の符号化装置10と共通する構成については同一符号を付して説明を省き、実施の形態4とは異なる構成と動作について説明する。
【0124】
ダイジェスト生成部13は、ホストデータVの特徴を端的に表したダイジェストデータを生成し、必要であれば秘密鍵Kにより暗号化する。このダイジェストデータは、ホストデータV全体から抽出されたものであり、ホストデータVのあるブロックが変更されると、ダイジェストデータの対応するビットが変更されるという対応関係があり、ホストデータVのブロックの改ざんを識別可能に構成されている。ダイジェスト生成部13はこうして得られるダイジェストデータを透かしデータXとして出力する。実施の形態4と同様に、変更部14は、透かしデータXをスクランブルし、スクランブルされた透かしデータX'を出力し、埋め込み部16は、秘密鍵Kを用いて、埋め込みブロック選択部18により選択されたホストデータVのブロックにスクランブルされた透かしデータX'を埋め込み、埋め込みホストデータWを出力する。
【0125】
図27は実施の形態5に係る復号装置40の構成を示す。実施の形態4の復号装置40とは異なる構成と動作について説明する。ダイジェスト生成部43は、埋め込みホスト信号W'からダイジェストデータを生成し、秘密鍵Kにより暗号化する。ダイジェスト生成部13はこうして得られるダイジェストデータを比較部49に与える。比較部49は、抽出部42以降の処理により透かしとして抽出されたダイジェストデータを、ダイジェスト生成部43により生成されたダイジェストデータと照合することにより、改ざんの有無を判定し、判定結果を出力する。ここで、ダイジェストデータは、前述のようにホストデータVの全体から抽出され、ホストデータVのブロックの改ざんを識別可能に構成されており、またハッシングされていないデータであるため、照合によりダイジェストデータに不一致のあるビットが見つかると、それに対応するホストデータVのブロックが改ざんされていることがわかる。
【0126】
以上、本発明を実施の形態をもとに説明した。これらの実施の形態は例示であり、それらの各構成要素や各処理プロセスの組み合わせにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【0127】
そのような変形例として、実施の形態2における特定の処理を想定して埋め込み強度を評価する方法は、実施の形態3における埋め込み強度の評価の際にも適用することができる。
【0128】
複数の透かしデータの候補または埋め込み位置の候補を生成するために、多様性に富んだ候補の生成が可能なGS方式を用いたが、他のスクランブル方式を適用してもよく、また何らかの方法でランダムに候補のデータを生成してもよい。また実施の形態では、逆スクランブルにより、生成された透かしデータの候補から元の透かしデータを再現したが、生成された透かしデータの候補と元の透かしデータとを対応づけたテーブルを備え、このテーブルを参照して元の透かしデータを求めてもよい。
【0129】
またスクランブルの際に初期データとして使用した識別データは、透かしデータの先頭に挿入されて復号側に提供されていたが、この識別データを透かしには埋め込まずに、符号化側で秘密鍵として保持、管理してもよい。その場合、復号側はこの秘密鍵を取得した上で、透かしデータのスクランブルを解除する。また実施の形態3では、復号側でこの識別データを秘密鍵として入手する場合は、埋め込み位置が秘密鍵から特定されるため、整合フィルタ62による埋め込み位置の検出作業が不要となり、したがってあらかじめ想定される透かしビットを用意しておく必要もなくなる。
【0130】
なお、実施の形態1の変形として、逐次型の候補の生成、評価のための構成と動作を説明したが、同様の逐次型の構成と動作が、実施の形態2から5のいずれにも適用できることはいうまでもない。
【0131】
実施の形態3では、埋め込み位置の候補をスクランブル方式により生成したが、埋め込み位置の候補を次に述べるテーブルマッチングによりランダムに生成してもよい。このために、電子透かしの埋め込み側と抽出側は、埋め込み位置の候補を識別するための識別データと埋め込む位置とを対応づけたテーブルを備える。このテーブルは、透かしデータの第1ビットについて、たとえば、「識別番号0の場合は(1,29)の位置、識別番号1の場合は(983,251)の位置、・・・、識別番号15の場合は(542,37)の位置に埋め込む」といった識別番号と埋め込み座標との対応関係を格納する。第2番目から第n番目のビットについてもそれぞれ埋め込み位置が異なる対応関係が格納される。埋め込み位置は何らかの方法でランダムに生成される。埋め込み側では、このテーブルを参照して、埋め込み位置の候補の識別データに対応づけて埋め込み位置の候補を生成し、透かしデータをその候補の位置に埋め込む。抽出側では、埋め込み位置の候補の識別データにもとづいてこのテーブルを参照することにより、埋め込み位置を特定し、透かしデータをその位置から抽出する。この方法によれば、埋め込み位置のランダム性が十分に保証され、頑強な埋め込みを実現することができる。また抽出側では、埋め込み位置の候補の識別データ以外にこのテーブルをもっていなければ、埋め込み位置を知ることができないため、セキュリティを高めることができる。
【0132】
実施の形態5では、ダイジェストデータに使用されるビットと透かし埋め込みに使用されるビットの間で干渉が起こらないように、JNDで与えられる境界よりも上位のビットからダイジェストデータを生成したが、透かし埋め込みに利用されるビットの領域も利用してダイジェストデータを生成し、復号装置において透かしを抽出して照合する際に、透かし埋め込みによる影響分を調整してダイジェストデータの比較を行うようにしてもよい。この場合、符号化装置においてJNDを決める処理を省略することができる。
【0133】
【発明の効果】
本発明によれば、電子透かしの耐性が向上し、透かしの検出精度が改善する。
【図面の簡単な説明】
【図1】 実施の形態1に係る符号化装置の構成図である。
【図2】 図1の変更部と埋め込み部の機能構成図である。
【図3】 実施の形態1に係る復号装置の構成図である。
【図4】 元の透かしデータとL種類のスクランブルされた透かしデータとの関係を説明する図である。
【図5】 符号化時の畳み込み演算を説明する図である。
【図6】 復号時の畳み込み演算を説明する図である。
【図7】 離散コサイン変換されたホストデータにおける透かしデータの埋め込みブロックを説明する図である。
【図8】 図7のブロックにスクランブルされた透かしデータを埋め込む方法を説明する図である。
【図9】 離散ウェーブレット変換されたホストデータにおける、透かしデータが埋め込まれるウェーブレット変換係数の集合を説明する図である。
【図10】 図9のウェーブレット変換係数の集合にスクランブルされた透かしデータを埋め込む方法を説明する図である。
【図11】 符号化装置による電子透かしの埋め込み手順を説明するフローチャートである。
【図12】 符号化装置による別の電子透かしの埋め込み手順を説明するフローチャートである。
【図13】 離散コサイン変換されたホストデータにおける透かしデータの埋め込みブロックのペアを説明する図である。
【図14】 離散ウェーブレット変換されたホストデータにおける、透かしデータが埋め込まれるウェーブレット変換係数の集合のペアを説明する図である。
【図15】 実施の形態2に係る符号化装置の構成図である。
【図16】 図15の変更部と埋め込み部の機能構成図である。
【図17】 実施の形態3に係る符号化装置の構成図である。
【図18】 図17の位置検出部と埋め込み部の機能構成図である。
【図19】 実施の形態3に係る復号装置の構成図である。
【図20】 実施の形態4に係る符号化装置の構成図である。
【図21】 図20の変更部と埋め込み部の機能構成図である。
【図22】 実施の形態4に係る復号装置の構成図である。
【図23】 透かしデータの埋め込みブロックの変換係数の差分処理を説明する図である。
【図24】 透かしデータが埋め込まれるサンプルのビット構成を説明する図である。
【図25】 透かしデータが埋め込まれるウェーブレット変換係数のビット構成を階層別に説明する図である。
【図26】 実施の形態5に係る符号化装置の構成図である。
【図27】 実施の形態5に係る復号装置の構成図である。
【符号の説明】
10 符号化装置、 12 ビット長伸長部、 13 ダイジェスト生成部、14 変更部、 16 埋め込み部、 18 埋め込みブロック選択部、 20 マルチプレクサ、 22 スクランブラ、 24 ECC部、 26 埋め込み部、 28 SNR計算部、 29 重みつきSNR計算部、 30 セレクタ、 40 復号装置、 41 埋め込みブロック選択部、 42 抽出部、44 ECC復号部、 46 デスクランブラ、 49 比較部、 50 符号化装置、 52 位置検出部、 54 埋め込み部、 56 埋め込みブロック選択部、 60 位置情報生成部、 61 埋め込みブロック選択部、 62整合フィルタ、 64 セレクタ、 70 復号装置。[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a digital watermark technique, and more particularly to a digital watermark embedding method and an encoding device and a decoding device that can use the method.
[0002]
[Prior art]
Over the past few years, the Internet population has increased rapidly and is entering a broadband era, a new stage of Internet usage. With broadband communication, the communication band is greatly expanded, so it is possible to easily distribute content with a large amount of data such as voice, still images, and moving images. When such digital content distribution becomes popular, protection of the copyright of the content will be further demanded.
[0003]
The content data distributed on the network is easily copied by others and the copyright protection is not sufficient. Therefore, in order to protect the copyright, a technique for embedding information of a content creator and a user into content data as a digital watermark has been developed. By using this digital watermark technology, it is possible to extract digital watermarks from content data distributed on the network, detect unauthorized use, and track distribution routes of unauthorized copies.
[0004]
Some conventional digital watermark embedding techniques enable embedding of a highly durable digital watermark while maintaining the degree of freedom of the process of embedding digital watermark information (see, for example, Patent Document 1).
[0005]
The conventional digital signature image authentication technology allows JPEG (Joint Photographic Expert Group) compression on an image, but if there is any other unauthorized operation, the digital signature of the image is not authenticated. There is one that can be generated (for example, see Non-Patent Document 1).
[0006]
[Patent Document 1]
Japanese Patent Laid-Open No. 2000-13587 (full text, FIG. 1-15)
[Non-Patent Document 1]
Ching-Yung Lin and Shih-Fu Chang, "A Robust Image Authentication Method Distinguishing JPEG Compression from Malicious Manipulation," IEEE Trans. On Circuits and Systems for Video Technology, pp.153 -168, Feb. 2001.
[0007]
[Problems to be solved by the invention]
The digital watermark is embedded in the content data so as not to be understood by the user in order to prevent tampering by an unauthorized user. However, content data may be subjected to various operations in the distribution process and usage process, such as signal processing such as compression coding and various filtering, processing by the user, and alteration of watermark information. In this process, a part of the embedded digital watermark data may be changed or lost. Therefore, the digital watermark is required to be resistant to such operations.
[0008]
[0009]
The present invention has been made in view of such circumstances, and an object thereof is to provide a technique capable of embedding a strong digital watermark and reducing a detection error of the digital watermark.
[0010]
[Means for Solving the Problems]
One embodiment of the present invention relates to a digital watermark embedding method. This method embeds a plurality of digital watermark data candidates generated by scrambling in a specified block of host data, evaluates the resistance of the digital watermark, and evaluates the watermark data of which the evaluation is good. Get host data with embedded candidates.
[0011]
The host data is original data to be embedded with a digital watermark, and is data such as a still image, a moving image, and audio, for example. The embedded digital watermark includes original data identification information, creator information, user information, and the like. In addition, for the purpose of authentication, digest data of host data, that is, data that directly represents the characteristics of host data can be embedded as a digital watermark. Digital watermark tolerance refers to the case where the host data with embedded digital watermark is subjected to an attack such as alteration, or the host data with embedded digital watermark is subjected to signal processing such as compression coding or filtering. This refers to the robustness of the digital watermark data when some operation is applied to the host data after the digital watermark is embedded.
[0012]
On the electronic watermark embedding side, when the digital watermark data is scrambled, a one-to-many mapping that associates the original digital watermark data with a plurality of watermark data candidates is used. On the digital watermark extraction side, reverse mapping is performed to obtain the original digital watermark data from the scrambled watermark data. Therefore, on the side of extracting a digital watermark, a correspondence table of original digital watermark data and a plurality of watermark data candidates may be used. In addition, a scramble function for generating a plurality of watermark data candidates based on a predetermined initial value from the original digital watermark data may be used on the side of embedding the digital watermark. In this case, on the side of extracting the digital watermark, the extracted digital watermark is descrambled based on the initial value and the scramble function used for scrambling.
[0013]
Another aspect of the present invention relates to an encoding apparatus. The apparatus includes a block selection unit that selects a plurality of blocks from host data in which digital watermark data is to be embedded, and an embedding unit that independently embeds different digital watermark data in each of the plurality of blocks selected by the block selection unit; including.
[0014]
The block here is a division unit of the host data. When the filtering process for converting the host data into the spatial frequency component is performed, in the spatial region in the host data before the filtering process is performed. Correspond. For example, if filtering processing is applied to the host data by the discrete wavelet transform, the wavelets that make up the same spatial region in the host data before the discrete wavelet transformation selected from each subband of the host data after the discrete wavelet transformation A set of transform coefficients becomes an embedded block of digital watermark data.
[0015]
As another example, when host data is divided into blocks and each block is subjected to filtering processing by discrete cosine transform, each block of host data after discrete cosine transform is directly converted into each block of host data before discrete cosine transform. Since the block corresponds to the block, the block including the discrete cosine transform coefficient is an embedded block of digital watermark data. However, one block that is the minimum processing unit of discrete cosine transform is not necessarily an embedding block, and here, since a partial area with host data is an embedding block, it is a processing unit of discrete cosine transform. A collection of several blocks may be used as an embedded block.
[0016]
Yet another embodiment of the present invention also relates to an encoding apparatus. The apparatus includes a block selection unit that selects a specific block from host data in which digital watermark data is to be embedded, a scramble unit that scrambles the digital watermark data to generate a plurality of watermark data candidates, and the block selection unit. For each of the plurality of embedded host data candidates, an embedding unit that embeds each of the plurality of watermark data candidates in the specific block of the selected host data and generates a plurality of embedded host data candidates. An evaluation unit that evaluates the resistance of the digital watermark; and a selection unit that selects and outputs one of the plurality of embedded host data candidates based on the evaluation value of the resistance.
[0017]
Yet another embodiment of the present invention also relates to an encoding apparatus. The apparatus includes a block selection unit that selects a block of host data in which digital watermark data is to be embedded, a position information generation unit that generates a plurality of candidates for the embedded position of the block of the host data in which the digital watermark data is embedded, An embedding unit that embeds the watermark data in each of the plurality of embedding position candidates of the block of the host data selected by the block selecting unit, and generates a plurality of embedding host data candidates; and the plurality of embedding hosts For each data candidate, an evaluation unit that evaluates the resistance of the digital watermark and a selection unit that selects and outputs one of the plurality of embedded host data candidates based on the evaluation value of the resistance.
[0018]
The block selection unit may select a combination of a plurality of blocks having different frequency components as the specific block. For example, a combination of a block mainly containing high frequency components and a block mainly containing low frequency components may be selected. Further, as the specific block, a combination of a plurality of blocks which are located at a predetermined distance in the host data and are not adjacent to each other may be selected. When a combination of a plurality of blocks is selected in this way, this combination becomes a unit for embedding and extracting watermark data.
[0019]
The evaluation unit may evaluate the tolerance based on an S / N ratio calculated when the host data is regarded as noise with respect to the watermark data. The evaluation unit may evaluate the tolerance after performing a useful operation on the embedded host data. Useful operations include, for example, signal processing such as compression coding and various filtering, and geometric transformation such as scaling and rotation. The evaluation unit may evaluate the tolerance in consideration of a quantization error when compressing and encoding the embedded host data. When the tolerance is evaluated by the SN ratio, the variance between the watermark data extracted after performing useful operations on the embedded host data and the actually embedded watermark data may be evaluated.
[0020]
Yet another embodiment of the present invention relates to a decoding apparatus. The apparatus includes: a block selection unit that selects a plurality of blocks in which electronic watermarks are embedded from host data; and an extraction that extracts scrambled watermark data independently from each of the plurality of blocks selected by the block selection unit. And a descrambling unit for descrambling the scrambled watermark data. Thereby, the presence or absence of falsification can be detected for each block.
[0021]
Yet another embodiment of the present invention also relates to a decoding apparatus. The apparatus includes: a block selection unit that selects a block in which electronic watermarks are embedded from host data; a position information generation unit that generates a plurality of embedded position candidates for the blocks in the host data in which electronic watermarks are embedded; An extraction unit that extracts a plurality of watermark data candidates embedded in the block of the host data selected by the block selection unit, using each of a plurality of embedding position candidates, and the extracted plurality of watermark data A collation unit that collates with the assumed watermark data, and a selection unit that selects and outputs one of the plurality of watermark data candidates based on the collation result by the collation unit.
[0022]
Yet another embodiment of the present invention relates to a computer program. The program includes a step of selecting a specific block from host data in which digital watermark data is to be embedded, a step of generating a plurality of watermark data candidates by scrambling the digital watermark data, and a block selection unit. Embedding each of the plurality of watermark data candidates in the specific block of the host data to generate a plurality of embedded host data candidates; and for each of the plurality of embedded host data candidates, Causing the computer to execute a step of evaluating the resistance and a step of selecting one of the plurality of embedded host data candidates based on the evaluation value of the resistance.
[0023]
Yet another embodiment of the present invention relates to a digital watermark embedding method. This method scrambles the digest data of the host data to generate a plurality of watermark data candidates, and evaluates the tolerance of the watermark when each of the watermark data candidates is embedded in the host data, What has a good evaluation is acquired as host data in which the digest data is embedded.
[0024]
The digest data may be generated using upper bits of sample data characterizing the host data. The host data is quantized at the time of compression encoding, and information of lower bits is dropped. Therefore, when the digest data is generated from the upper bits of the sample data, the lower bits dropped by quantization may not be used. In addition, bits in a relatively lower position of the sample data are also used for embedding watermark data. Therefore, when the digest data is generated from the upper bits of the sample data, the bits used for embedding the watermark data may not be used even if the lower bits are not affected by the quantization.
[0025]
Yet another embodiment of the present invention relates to an encoding device. The apparatus includes a digest generation unit that generates digest data of host data, a scramble unit that scrambles the digest data to generate a plurality of watermark data candidates, and each of the plurality of watermark data candidates as the host data. An embedding unit that generates a plurality of embedded host data candidates, an evaluation unit that evaluates the resistance of the digital watermark for each of the plurality of embedded host data candidates, and the plurality of the plurality of embedded host data based on the resistance evaluation value A selection unit that selects and outputs one of the embedded host data candidates.
[0026]
A block selection unit that selects a specific block from the host data; wherein the digest unit generates the digest data from the specific block of the host data; and the embedding unit includes the specific block of the host data. Each of the plurality of watermark data candidates may be embedded to generate the plurality of embedded host data candidates. Thus, by generating a digest by designating a block of host data, it becomes possible to detect a falsified portion of the host data in units of blocks even when the digest data is hashed with a one-way function.
[0027]
Yet another embodiment of the present invention relates to a decoding apparatus. The apparatus includes: an extractor that extracts digest data embedded as digital watermark from host data; a digest generator that generates digest data from the host data; and the extractor that generates digest data generated by the digest generator And a collation unit for identifying a rough position of the falsification together with whether or not the host data has been falsified by collating with the digest data extracted by the above. Digest data represents the general characteristics of host data due to the low-frequency component of the host data. Therefore, if a mismatch is found in some bits of the digest data by the collation unit, it corresponds to the mismatched bit. It is thought that there was a change in the location of the host data, and it is possible to grasp the rough position of the alteration.
[0028]
A block selection unit that selects a block in which a digital watermark is embedded from the host data; wherein the extraction unit extracts the digest data from the block of the host data; and the digest generation unit includes the digest of the host data. The digest data may be generated from the block. As described above, since the block in which the digest data is generated is determined, even when the extracted digest data is hashed by the one-way function, the tampered portion can be specified in units of blocks.
[0029]
Yet another embodiment of the present invention relates to a computer program. The program includes a step of generating digest data from host data, a step of scrambling the generated digest data to generate a plurality of watermark data candidates, and each of the plurality of watermark data candidates in the host data. Embedding, generating a plurality of embedded host data candidates, evaluating each digital watermark resistance for each of the plurality of embedded host data candidates, and the plurality of embeddings based on the resistance evaluation value Selecting one of the host data candidates.
[0030]
It should be noted that any combination of the above-described constituent elements and a conversion of the expression of the present invention between a method, an apparatus, a system, a recording medium, a computer program, and the like are also effective as an aspect of the present invention.
[0031]
DETAILED DESCRIPTION OF THE INVENTION
FIG. 1 shows a configuration of
[0032]
The
[0033]
The bit
[0034]
The changing
[0035]
The embedding
[0036]
The changing
[0037]
FIG. 2 is a functional configuration diagram of the changing
[0038]
The
[0039]
FIG. 3 shows a configuration of
[0040]
The embedded
[0041]
A procedure for embedding and extracting a digital watermark by the
[0042]
FIG. 4 shows the relationship between the watermark data X and the L types of scrambled watermark data X ′. At the beginning of the n-bit watermark data X, r-bit redundant words are added as identification data ID [0] to ID [L-1] to create L types of watermark data candidates. 2 maxrKind candidates are created. The bit string of the watermark data X included in these candidates is scrambled by the scramble method described below.
[0043]
As an example of the scramble system, a GS (Guided Scramble) system used for digital modulation in transmission or magnetic recording is adopted. In the GS method, L types of code sequences are generated for an information sequence having a certain data block length, and these are treated as candidates for a code sequence to be transmitted next. Among these candidates, an optimum one is selected in accordance with the properties of the transmission medium to obtain a final code sequence. By this GS method, a variety of code sequence candidates can be generated by a simple method.
[0044]
The
[0045]
Ti(X) = QS (x)[(Cixn+ D (x)) xN] (1)
However, Qa[B] indicates a quotient obtained by dividing b by a. Quotient set {T0(X), ..., TL-1(X)} is a scrambled code sequence candidate. For each of these candidates, the performance when the code sequence is actually used is evaluated, and the one with the best evaluation value is selected as the final code sequence.
[0046]
At the time of demodulation, the
[0047]
Here, S (x) = x as scramble polynomial S (x)rA case where +1 is used will be described. When n mod r = 0, the expression (1) can be expressed by the convolution operation shown in the following expression.
[0048]
tj= Dj(+) Ci (J = 0)
tj= Dj(+) Tj-1 (J = 1,..., N / r-1)
Where i = 0,..., L−1 and djIs a bit string obtained by dividing the original information series D (x) by r bits, tjIs the converted code sequence TiThe first r-bit redundant word c in (x)iThis is a bit string obtained by dividing the rest by r bits. (+) Indicates an exclusive OR (EX-OR) operation.
[0049]
FIG. 5 is a diagram for explaining the convolution operation at the time of encoding. For example, consider the case where n = 6 and r = 2. For the original information series D (x) = (1, 0, 1, 0, 0, 1), the redundant word c0= (0,0) is added, and the converted code sequence T0(X) is generated. By the above convolution operation at the time of encoding, t0= D0(+) C0= (1, 0) (+) (0, 0) = (1, 0), t1= D1(+) T0= (1,0) (+) (1,0) = (0,0), t2= D2(+) T1= (0,1) (+) (0,0) = (0,1), and the converted code sequence T0= (0,0,1,0,0,0,0,1) is obtained. Here, the converted code sequence T0The first 2 bits of the redundant word c0Note that
[0050]
Similarly, the redundant word c1= (0,1), c2= (1,0), c3= (1, 1) for each converted code sequence T1= (0,1,1,1,0,1,0,0), T2= (1, 0, 0, 0, 1, 0, 1, 1), T3= (1,1,0,1,1,1,1,0) is obtained.
[0051]
At the time of decoding, the original information series D (x) is obtained by performing a convolution operation as in the following equation.
[0052]
dj= Tj(+) Ci (J = 0)
dj= Tj(+) Tj-1 (J = 1,..., N / r-1)
[0053]
FIG. 6 is a diagram for explaining the convolution operation at the time of decoding. In the above example, the converted encoded sequence T0= (0, 0, 1, 0, 0, 0, 0, 1), the redundant word c from the first two bits0= (0,0) is obtained, and by the above convolution operation at the time of decoding, d0= T0(+) C0= (1,0) (+) (0,0) = (1,0), d1= T1(+) T0= (0,0) (+) (1,0) = (1,0), d2= T2(+) T1= (0,1) (+) (0,0) = (0,1), and the original information series D (x) = (1,0,1,0,0,1) is obtained. Other converted encoded sequence T1, T2, T3Also, the original information series D (x) is obtained by this convolution operation.
[0054]
Refer to FIG. 11 again. The embedding
[0055]
L types of scrambled watermark data X ′ are x0, X1, ..., xL-1And The bit sequence of each watermark data candidate is expressed as follows. The leading r bits are identification data. Also,
[0056]
x0= {-1, ...,-1, -1, x0 0, X0 1, ..., x0 n-1}
x1= {-1, ...,-1,1, x1 0, X1 1, ..., x1 n-1} ...
xL-1= {1, ..., 1,1, xL-1 0, XL-1 1, ..., xL-1 n-1}
[0057]
The embedding
[0058]
V+= {V+ 0, V+ 1, ..., v+ n + r-1}
V−= {V− 0, V− 1, ..., v− n + r-1}
Here a set of samples V+, V−A subset v that is an element of+ i, V− i(I = 0, 1,..., N + r−1) are composed of m sample data randomly selected in the same block.
[0059]
v+ i= {V+ i, 0, V+ i, 1, ..., v+ i, m-1}
v− i= {V− i, 0, V− i, 1, ..., v− i, m-1}
[0060]
Watermark data candidate xk(K = 0,..., L−1) is a sample set pair (V+, V−) Embedded as follows, and L types of embedded host data candidates WkIs generated.
[0061]
w+ K i, j= V+ i, j+ Α+ i, j・ Xk i
w-K i, j= V− i, j-Α− i, j・ Xk i
Where α+ i, jAnd α− i, jIs a scaling parameter for reducing noise perceived based on the human visual model, and is a positive value. Or α+ i, jAnd α− i, jMay be a positive value generated by the secret key K so as to follow a certain probability distribution, such as a Gaussian distribution, a uniform distribution, or the like. In this case, the embedding strength of the watermark is reduced, but the confidentiality of the embedded watermark is improved. In this way, each bit x of the kth watermark data candidatek iIs each subset v+ i, V− iAre embedded in m samples. The greater the number of duplicates m, the less likely the watermark bits are lost and the smaller the detection error, while the fewer the number of watermark bits that can be embedded in the host data. α+ i, jAnd α− i, jIs a value set for each pixel so that visual deterioration cannot be detected. In principle, even if the number m of pixels to be embedded is increased, deterioration of image quality is not detected by human vision. However, an increase in the number of pixels used to embed one bit means that the number of bits that can be embedded is reduced because the embedment area is limited, thus leading to a decrease in the embedment rate. Become.
[0062]
As an example of a block to be embedded with watermark data, when a DCT block obtained by performing discrete cosine transform on the host data V is used, each subset v+ i, V− iThe m sample data are m DCT coefficients included in one DCT block selected as a watermark embedding target. FIG. 7 is a diagram for explaining an embedded block of the watermark data X ′ selected by the embedded
[0063]
FIG. 8 shows that 2m DCT coefficients in an 8 × 8 DCT block are divided into watermark bits xk i(I = 0, 1,..., N + r−1) is embedded. Each subset v+ i, V− iEach of the m DCT coefficients selected as is selected based on the secret key K. In this way, (n + r) -bit watermark data is embedded in the same block. In the above description, one DCT block is selected as a watermark embedding target block. However, the embedding target block does not need to be a DCT block that is a minimum processing unit of discrete cosine transform, and has a certain size. It may be a divided area. In that case, a similar watermark embedding process may be performed by regarding a set of several DCT blocks as one embedding target block.
[0064]
As another example of a block to be embedded with watermark data, a set of wavelet transform coefficients obtained when the host data V is subjected to discrete wavelet transform is considered. FIG. 9 is a diagram for explaining a set of wavelet transform coefficients constituting the same spatial region, selected from each subband of the host data V subjected to discrete wavelet transform. As shown in the figure, the host data V is divided into four frequency subbands by discrete wavelet transform. These subbands include LL subbands having low frequency components in both vertical and horizontal directions, HL and LH subbands having low frequency components in any one of vertical and horizontal directions, and high frequency components in the other direction. This is an HH subband having a high frequency component in both the vertical and horizontal directions. The number of vertical and horizontal pixels of each subband is 1/2 of the host data V before processing, and subband data having a size of 1/4 is obtained by one filtering.
[0065]
Of the subbands obtained in this way, the filtering process by the discrete wavelet transform is performed again on the LL subband, and further divided into four subbands of LL, HL, LH, and HH. This filtering is performed a predetermined number of times, and the LL subband generated by the last filtering becomes data closest to the DC component of the host data V.
[0066]
When wavelet transform coefficients corresponding to a specific spatial region of the host data V before the discrete wavelet transform are selected from the subbands of each layer, a set of wavelet transform
[0067]
FIG. 10 shows that the 2m wavelet transform coefficients in the set of wavelet transform coefficients are converted into watermark bits x.k iShows the state of embedded. When the wavelet transform coefficients selected from the three layers of FIG. 9 are collected, an 8 × 8 wavelet transform coefficient set 110 is obtained as shown in FIG. If the number of wavelet transform layers is H, 2H× 2HA matrix of wavelet transform coefficients is obtained. However, this is a description of the minimum-size embedding block. When a divided area having a certain size is selected as the watermark embedding area of the host data V, the size of the matrix of wavelet transform coefficients corresponding to that area is selected. Will naturally grow. The wavelet transform coefficient matrix thus obtained is treated as an embedding block, and the m wavelet transform coefficients in the embedding block are converted into watermark bits xk i(I = 0, 1,..., N + r−1) are embedded by the same method as in FIG.
[0068]
Returning to FIG. 11, the
[0069]
Before the embedding strength evaluation formula is given, it will be examined how the watermark data X ′ is detected when the embedding host data W is deformed by signal processing, image processing, or the like. The deformation applied to the embedded host data W is treated as noise N, and the embedded host data W with the noise N added is called an embedded host signal W ′. A method for extracting the watermark data X ′ from the embedded host signal W ′ will be described. A pair of embedded host signals (W '+, W '−) Is defined as follows. A set W ′ of embedded host signals+, W '−Each has (n + r) elements as follows.
[0070]
W '+= {W '+ 0, W '+ 1, ..., w '+ n + r-1}
W '−= {W '− 0, W '− 1, ..., w '− n + r-1}
Here, a set W ′ of embedded host signals+, W '−Each subset w ′ that is an element of+ i, W '− iCorresponds to m sample data of the embedded host signal W ′ as follows, corresponding to the embedded position of the digital watermark.
w '+ i= {W '+ i, 0, W '+ i, 1, ..., w '+ i, m-1}
w '− i= {W '− i, 0, W '− i, 1, ..., w '− i, m-1}
[0071]
Watermark bit xk iIn order to detectiCalculate
zi= Σ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) Xk i+ (N+ i, j-N− i, j]]
Where Σj = 0 m-1(V+ i, j-V− i, j) Generally follows a Gaussian distribution and approaches 0 when m is sufficiently large. The noise term Σj = 0 m-1(N+ i, j-N− i, j) Approaches 0 in the same manner. Therefore, ziIs Σj = 0 m-1[(Α+ i, j+ Α− i, j) Xk i]. (Α+ i, j+ Α− i, j) Is positive, so the watermark bit xk iZ is 1iIs positive and the watermark bit xk iZ if -1iIs negative. Therefore ziWatermark bit xk iCan be determined.
[0072]
The embedding strength is evaluated by regarding the host data V as noise with respect to the watermark data X, and the embedded watermark data xkIs performed by calculating the variance of the detected watermark data. It can be considered that the smaller the variance, the stronger the tolerance. Candidate pair of embedded host data (W+ K, W-K) To evaluate the signal-to-noise ratio according to the following equation and select an optimal candidate K.
[0073]
K = argmaxk(Pk/ (2σk 2))
Pk= Σi = 0 n + r-1| Σj = 0 m-1(W+ K i, j-W-K i, j) |2/ (N + r)
σk 2= Σi = 0 n + r-1| Σj = 0 m-1(W+ K i, j-W-K i, j-Pk 1/2・ Xk i|2/ (N + r)
[0074]
Watermark bit xk iIs the above-mentioned determination value z for determining which of {1, -1}iIs z before the noise is added to the embedded host data W.i= Σj = 0 m-1(W+ K i, j-W-K i, j), The variance σk 2Is the detected value z for the watermark bitsiAnd the average value P of the watermark bits actually embeddedk 1/2・ Xk iIt can be said that the squares of the differences are evaluated and averaged for i = 0,..., N + r−1. However, PkIs the detected value ziOf squares of i = 0,..., N + r−1, and indicates the average power of the embedded watermark. Therefore, the embedded watermark data xkAnd Euclidean distance between the extracted watermark data and the extracted watermark data are smaller and the absolute value of the determination value for detecting the watermark bit is larger.k/ (2σk 2) Value increases. In other words, Pk/ (2σk 2Selecting the candidate that maximizes ()) means selecting the candidate with the smallest watermark bit detection error.
[0075]
Judgment value ziV+ i, j> V+ i, jAnd xk i= 1 if zi>> 0 and v+ i, j<V+ i, jAnd xk i== z if -1i<< 0. Therefore, the optimum watermark data x is evaluated according to the above evaluation.kSelecting a candidate ofiWatermark bit x byk iIn order to improve the detection performance of+ i, j> V+ i, jThen x 'i= 1, v+ i, j<V+ i, jThen x 'i= Original watermark bit x such that = 1iX 'iMeans to change. This is the GS method guiding rule, and the judgment value ziResponse is improved.
[0076]
When the
[0077]
zi= Σ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, jX)i+ (N+ i, j-N− i, j]]
[0078]
The extracted watermark data X ′ is further subjected to error correction by the
[0079]
As described above, according to the embodiment, when media data such as an image or sound in which a digital watermark is embedded is given using the GS method, the watermark bit sequence is converted into a bit sequence that can be easily embedded in the media data. Can be embedded above. Therefore, it is possible to enhance the digital watermark resistance against signal processing, geometric transformation, compression, data tampering, and the like, and the watermark detection accuracy is greatly improved. In addition, since a specific block is selected as a watermark bit embedding target and a watermark bit is embedded independently for each block, the presence or absence of tampering can be checked for each block by detecting the watermark for each block. Therefore, it is possible to detect, in units of blocks, portions where alterations such as changing a specific part of the image or adding a new object have been performed.
[0080]
In the above embodiment, as shown in FIG. 2, in order to generate candidates for L types of watermark data,
[0081]
FIG. 12 is a flowchart for explaining such a sequential digital watermark embedding procedure. The embedding
[0082]
When a candidate having an embedding strength equal to or higher than a desired reference value is obtained by this iterative process, the candidate is selected as the final embedded host data W. If such a candidate is not generated, L candidates are generated. Candidates for the embedded host data are generated, and the one having the maximum embedding strength can be selected as the final embedded host data W.
[0083]
In the above description, the embedding
[0084]
FIG. 13 shows two
[0085]
FIG. 14 shows a set of two wavelet transform coefficients selected from the host data V subjected to discrete wavelet transform. In addition to the set of wavelet transform
[0086]
Since the combination of the embedding blocks described in FIGS. 13 and 14 is determined based on the secret key K, the embedding
[0087]
As yet another block combination method, the embedding
[0088]
When the combination block is selected based on the feature amount in this way, it is difficult for the embedded
[0089]
FIG. 15 shows a configuration of
[0090]
When the watermark data X is scrambled, the changing
[0091]
K = argmaxk(Pk/ (2σk 2))
Pk= Σi = 0 n + r-1| Σj = 0 m-1(W* + K i, j-W* -K i, j) |2/ (N + r)
σk 2= Σi = 0 n + r-1| Σj = 0 m-1(W* + K i, j-W* -K i, j-Pk 1/2・ Xk i|2/ (N + r)
Where w* + K i, j, W* -K i, jIs the embedded host data W after a specific process is performed. If it is known that the specific process is, for example, compression by JPEG2000, w* + K i, j, W* -K i, jCan be calculated using the JPEG2000 quantization method.
[0092]
Based on the JPEG2000 standard "ISO / IEC 15444-1: JPEG 2000 image coding system, JPEG 2000 final committee draft, 18 August 2000", the quantization method of JPEG 2000 will be briefly described. The wavelet transform coefficient before quantization in subband b is expressed as ab(U, v), the wavelet transform coefficient after quantization in subband b is qbAssuming that (u, v), in JPEG 2000, the wavelet transform coefficient is quantized using the following quantization formula.
[0093]
qb(U, v) = sign (ab(U, v)) ・ [| ab(U, v) | / Δb]
Here, [x] represents the maximum integer not exceeding x. Δb is the quantization step in subband b and is given by:
Δb = 2 ^ (Rb−εb) ・ (1 + μb/ 211)
Where RbIs the dynamic range in subband b, εbIs the quantization index in subband b, μbIs the mantissa of quantization in subband b.
[0094]
Thus, in JPEG2000, wavelet transform coefficients belonging to the same subband are divided by the same quantization step and rounded to an integer value. Since the watermark data X embedded in the host data V needs to be resistant to such a quantization operation, the value of the embedded host data W after being quantized by JPEG2000 is calculated, as described above. Then, the tolerance of the watermark data is evaluated for the calculated host data W.
[0095]
According to the present embodiment, when embedding a watermark, the embedding strength is evaluated assuming a specific process for the embedded host data, and a bit sequence of watermark data with a high embedding strength is selected. It is possible to generate digital watermark embedded data having high tolerance.
[0096]
FIG. 17 shows a configuration of
[0097]
The embedded
[0098]
FIG. 18 is a functional configuration diagram of the
[0099]
The embedding
[0100]
FIG. 19 shows a configuration of
[0101]
The embedded
[0102]
Watermark data XcThe error is corrected by the
[0103]
The assumed watermark data Y is given when the watermark data X embedded in the host data V is known in advance. For example, there is a case where the creator of the host data V is known in advance and it is confirmed whether or not the watermark data X of the creator is embedded in the host data V. In general, the present embodiment assumes that embedded digital watermark information is assumed in advance, but can be applied to the case where the embedded position of watermark data is given only as a candidate.
[0104]
According to the present embodiment, given media data to be embedded with a digital watermark, a position where the watermark data can be easily embedded can be detected according to the media data, and the watermark data can be embedded and embedded. Watermark resistance can be enhanced.
[0105]
Embodiment 4
FIG. 20 shows a configuration of
[0106]
The digest
[0107]
FIG. 21 is a functional configuration diagram of the changing
[0108]
FIG. 22 shows a configuration of
[0109]
Similar to the first embodiment, the
[0110]
The
[0111]
In the present embodiment, the digest
[0112]
A method for generating digest data from a block to be embedded with watermark data will be described with reference to FIGS. The watermark data embedding block is the DCT block of FIG. 7 described in the first embodiment or the set of wavelet transform coefficients of FIG. The value of the conversion coefficient of the embedded block is ai, jThen, this conversion coefficient value ai, jCan be used as digest data. As another method, the absolute value difference with the adjacent sample is calculated in three directions of vertical, horizontal, and diagonal in accordance with the following formula, and the value b rounded to a fixed number of bitsi, jMay be used as a digest.
bi, j= <| Ai, j-(Ai + 1, j+ Ai, j + 1+ Ai + 1, j + 1) / 3 |>p
here<>pIndicates an operation for rounding to upper p bits.
[0113]
FIG. 23A shows an example of a transform coefficient of a watermark data embedding block, and FIG. 23B shows a value after differential processing of the transform coefficient between adjacent samples as described above. In this example, the lower 5 bits are removed. By calculating the difference in this way, a large value can be obtained only in the edge portion of the image, and it becomes easy to detect tampering accompanied by a change in the edge such as addition or removal of an object in the image. Further, in an image including many flat portions such as a natural image, neighboring pixels often take very close values, and thus the value approaches 0 by taking a difference. Therefore, the number of bits necessary for the digest data can be suppressed.
[0114]
FIG. 24 is a diagram for explaining a bit configuration of a sample in which watermark data is embedded. Digest data is created using upper bits representing the characteristics of the sample. On the other hand, in order to embed the watermark data at a level that cannot be perceived by humans, it is preferable to embed the watermark data using lower bits that are not so much related to the characteristics of the sample. However, since the lower bits of the sample are dropped by quantization processing in compression encoding such as JPEG2000, the watermark data is embedded using the middle bits that are not dropped by quantization. Therefore, the sample is, from the MSB (Most Significant Bit) to the LSB (Least Significant Bit), in order from the top, bit A that can be used for digest, bit B that can be watermark embedded, and bit C that is omitted by quantization. Divided.
[0115]
JND (Just Noticeable Difference), which is the boundary between bit A that can be used for digest and bit B that can be embedded in watermark, is the limit of watermark embedding perceivable by humans defined by HVS (Human Visual System). If it is a bit, even if the watermark is embedded, it is not understood by human eyes. However, it is not necessary to use for digest and watermark embedding until the boundary of JND, and in order to increase the compression rate of host data V, bits A and A that can be used for digest are provided with some margin above and below the JND boundary. Bit B that can be embedded with a watermark may be determined.
[0116]
Since the digest data only needs to express the characteristics of the host data V, it can be generally composed of low-frequency components of the image. For example, in the case of wavelet transform coefficients, the LL subband of the lowest frequency layer is used as digest data. In the case of DCT coefficients, the low frequency component at the upper left of the DCT block is used as digest data. However, when digest data is generated from low-frequency components of an image, no trace of tampering remains in the digest data even if there is a fine tampering with a frequency higher than the spatial frequency. Therefore, in order to enable finer alteration detection, digest data may be generated using a high-frequency component in addition to the low-frequency component of the host data V.
[0117]
For example, in the case of a wavelet transform coefficient, digest data is generated using not only a low-frequency subband but also a high-frequency subband. Even in that case, as described above, bits higher than the boundary determined by JND may be used for digest data, and bits lower than the boundary may be used for embedding watermark data, but may be omitted due to quantization. Note that the lower number of bits to be played increases with higher frequency components.
[0118]
FIGS. 25A to 25C are bit configurations of wavelet transform coefficient samples in the third, second, and first subbands, respectively. The number of bits C to be omitted by quantization is 2 bits in the third layer, but increases to 3 bits in the second layer and 4 bits in the first layer. Will increase. Accordingly, if the number of bits B that can be embedded with a watermark is a fixed number of bits, the number of bits A that can be used for the digest becomes smaller as the frequency becomes higher.
[0119]
In the case of the DCT coefficient, the higher the frequency, the lower the DCT block. Digest data is generated using not only the upper left low frequency component of the DCT block but also the lower right high frequency component. At this time, the lower the right side of the DCT block is, the more bits are dropped due to quantization, and the number of bits usable for digest data is limited.
[0120]
According to the present embodiment, digest data generated from a specific block of host data can be embedded in a block of host data V as a watermark with enhanced durability. On the host data receiving side, it is possible to detect whether the host data has been tampered with by generating digest data from the host data and comparing it with the digest data extracted from the host data as a digital watermark.
[0121]
Since the digest data is robustly embedded as a watermark, the digest data extracted as the watermark is likely to be the same as the embedded data in the case of slight alteration that can be corrected by error correction. On the other hand, the digest data generated from the host data represents the characteristics of the host data, and originally has the property of being easily broken by the change of the host data. In particular, when hashing digest data with a one-way function, even a slight change can be very different. Therefore, it is possible to detect even a slight tampering by comparing a fragile digest with highly resistant watermark data.
[0122]
In addition, when there is a large alteration such that the watermark bit is broken, the digest data generated from the altered host data is significantly different from the original digest data. Of course, since the watermark data is also affected by the alteration, a part of the digest data to be compared extracted as a watermark is also destroyed and extracted by the alteration. However, since it is difficult to falsify so that both coincide by chance, the digest data generated from the falsified host data and the digest data extracted as a watermark do not match. It can be detected that tampering has occurred.
[0123]
Embodiment 5
FIG. 26 shows a configuration of
[0124]
The digest
[0125]
FIG. 27 shows a configuration of
[0126]
The present invention has been described based on the embodiments. Those skilled in the art will understand that these embodiments are exemplifications, and that various modifications can be made to combinations of the respective constituent elements and processing processes, and such modifications are also within the scope of the present invention. By the way.
[0127]
As such a modification, the method of evaluating the embedding strength assuming a specific process in the second embodiment can be applied to the evaluation of the embedding strength in the third embodiment.
[0128]
In order to generate a plurality of watermark data candidates or embedding position candidates, a GS method capable of generating a variety of candidates is used. However, other scramble methods may be applied, or in some way. Candidate data may be randomly generated. In the embodiment, the original watermark data is reproduced from the generated watermark data candidates by descrambling. However, the table includes a table that associates the generated watermark data candidates with the original watermark data. , The original watermark data may be obtained.
[0129]
The identification data used as the initial data at the time of scrambling was inserted at the beginning of the watermark data and provided to the decoding side, but this identification data is not embedded in the watermark but is held as a secret key on the encoding side. , You may manage. In that case, the decryption side acquires the secret key and then descrambles the watermark data. In the third embodiment, when the identification data is obtained as a secret key on the decryption side, since the embedding position is specified from the secret key, the operation of detecting the embedding position by the matched
[0130]
As a modification of the first embodiment, the configuration and operation for generating and evaluating the sequential candidates have been described. However, the same sequential configuration and operation can be applied to any of the second to fifth embodiments. Needless to say, it can be done.
[0131]
Although the embedding position candidates are generated by the scramble method in the third embodiment, the embedding position candidates may be randomly generated by table matching described below. For this purpose, the digital watermark embedding side and the extraction side include a table in which identification data for identifying candidates for embedding positions and embedding positions are associated with each other. This table shows the first bit of the watermark data, for example, “if the identification number is 0, the position of (1,29), if the identification number is 1, the position of (983,251),..., The
[0132]
In the fifth embodiment, digest data is generated from bits higher than the boundary given by JND so that interference does not occur between bits used for digest data and bits used for watermark embedding. The digest data is also generated using the bit area used for embedding, and when the watermark is extracted and verified in the decoding device, the influence of the watermark embedding is adjusted and the digest data is compared. Good. In this case, the process of determining JND in the encoding device can be omitted.
[0133]
【The invention's effect】
According to the present invention, the tolerance of digital watermarking is improved and the watermark detection accuracy is improved.
[Brief description of the drawings]
FIG. 1 is a configuration diagram of an encoding apparatus according to
FIG. 2 is a functional configuration diagram of a changing unit and an embedding unit in FIG. 1;
3 is a configuration diagram of a decoding apparatus according to
FIG. 4 is a diagram illustrating a relationship between original watermark data and L types of scrambled watermark data.
FIG. 5 is a diagram illustrating a convolution operation at the time of encoding.
FIG. 6 is a diagram illustrating a convolution operation at the time of decoding.
FIG. 7 is a diagram illustrating an embedded block of watermark data in discrete cosine transformed host data.
FIG. 8 is a diagram illustrating a method of embedding scrambled watermark data in the block of FIG.
FIG. 9 is a diagram illustrating a set of wavelet transform coefficients in which watermark data is embedded in host data subjected to discrete wavelet transform.
10 is a diagram for explaining a method of embedding scrambled watermark data in the set of wavelet transform coefficients of FIG. 9. FIG.
FIG. 11 is a flowchart for explaining a digital watermark embedding procedure by the encoding apparatus.
FIG. 12 is a flowchart illustrating another digital watermark embedding procedure performed by the encoding apparatus.
FIG. 13 is a diagram for explaining a pair of embedded blocks of watermark data in the host data subjected to discrete cosine transform.
FIG. 14 is a diagram illustrating a pair of wavelet transform coefficient sets in which watermark data is embedded in host data subjected to discrete wavelet transform.
FIG. 15 is a configuration diagram of an encoding apparatus according to
16 is a functional configuration diagram of the changing unit and the embedding unit of FIG. 15;
FIG. 17 is a configuration diagram of an encoding apparatus according to
18 is a functional configuration diagram of the position detection unit and the embedding unit of FIG. 17;
FIG. 19 is a configuration diagram of a decoding apparatus according to
FIG. 20 is a configuration diagram of an encoding apparatus according to Embodiment 4.
FIG. 21 is a functional configuration diagram of the changing unit and the embedding unit of FIG. 20;
22 is a block diagram of a decoding apparatus according to Embodiment 4. FIG.
FIG. 23 is a diagram for describing a difference process between transform coefficients of watermark data embedded blocks;
FIG. 24 is a diagram illustrating a bit configuration of a sample in which watermark data is embedded.
FIG. 25 is a diagram illustrating the bit configuration of wavelet transform coefficients in which watermark data is embedded, by layer.
26 is a block diagram of an encoding apparatus according to Embodiment 5. FIG.
27 is a block diagram of a decoding apparatus according to Embodiment 5. FIG.
[Explanation of symbols]
DESCRIPTION OF
Claims (15)
前記電子透かしデータをスクランブルして複数の透かしデータの候補を生成するスクランブル部と、
前記ブロック選択部により選択された前記ホストデータの前記特定のブロックに前記複数の透かしデータの候補のそれぞれを埋め込み、複数の埋め込みホストデータの候補を生成する埋め込み部と、
前記複数の埋め込みホストデータの候補の各々について、当該電子透かしの耐性を評価する評価部と、
前記耐性の評価値に基づいて前記複数の埋め込みホストデータの候補のうちの耐性の評価値が最良の埋め込みホストデータの候補を選択して出力する選択部とを含むことを特徴とする符号化装置。A block selection unit for selecting a specific block from the host data to be embedded with the digital watermark data;
A scramble unit that scrambles the digital watermark data to generate a plurality of watermark data candidates;
An embedding unit that embeds each of the plurality of watermark data candidates in the specific block of the host data selected by the block selection unit, and generates a plurality of embedded host data candidates;
For each of the plurality of embedded host data candidates, an evaluation unit that evaluates the resistance of the digital watermark;
And a selection unit that selects and outputs the embedded host data candidate having the best resistance evaluation value among the plurality of embedded host data candidates based on the resistance evaluation value. .
前記電子透かしデータをスクランブルして複数の透かしデータの候補を生成する工程と、
前記ブロック選択部により選択された前記ホストデータの前記特定のブロックに前記複数の透かしデータの候補のそれぞれを埋め込み、複数の埋め込みホストデータの候補を生成する工程と、
前記複数の埋め込みホストデータの候補の各々について、当該電子透かしの耐性を評価する工程と、
前記耐性の評価値に基づいて前記複数の埋め込みホストデータの候補のうちの耐性の評価値が最良の埋め込みホストデータの候補を選択する工程とをコンピュータに実行させることを特徴とするコンピュータプログラム。Selecting a specific block from the host data in which the watermark data is to be embedded;
Scrambling the digital watermark data to generate a plurality of watermark data candidates;
Embedding each of the plurality of watermark data candidates in the specific block of the host data selected by the block selection unit to generate a plurality of embedded host data candidates;
For each of the plurality of embedded host data candidates, evaluating the resistance of the digital watermark;
A computer program causing a computer to execute a step of selecting a candidate of embedded host data having the best resistance evaluation value from among the plurality of embedded host data candidates based on the resistance evaluation value .
前記ダイジェストデータをスクランブルして複数の透かしデータの候補を生成するスクランブル部と、
前記複数の透かしデータの候補をそれぞれ前記ホストデータに埋め込み、複数の埋め込みホストデータの候補を生成する埋め込み部と、
前記複数の埋め込みホストデータの候補の各々について、当該電子透かしの耐性を評価する評価部と、
前記耐性の評価値に基づいて前記複数の埋め込みホストデータの候補のうちの耐性の評価値が最良の埋め込みホストデータの候補を選択して出力する選択部とを含むことを特徴とする符号化装置。A digest generator for generating digest data of the host data;
A scramble unit that scrambles the digest data to generate a plurality of watermark data candidates;
An embedding unit that embeds each of the plurality of watermark data candidates in the host data and generates a plurality of embedded host data candidates;
For each of the plurality of embedded host data candidates, an evaluation unit that evaluates the resistance of the digital watermark;
And a selection unit that selects and outputs the embedded host data candidate having the best resistance evaluation value among the plurality of embedded host data candidates based on the resistance evaluation value. .
生成されたダイジェストデータをスクランブルして複数の透かしデータの候補を生成する工程と、
前記ホストデータに前記複数の透かしデータの候補のそれぞれを埋め込み、複数の埋め込みホストデータの候補を生成する工程と、
前記複数の埋め込みホストデータの候補の各々について、当該電子透かしの耐性を評価する工程と、
前記耐性の評価値に基づいて前記複数の埋め込みホストデータの候補のうちの耐性の評価値が最良の埋め込みホストデータの候補を選択する工程とをコンピュータに実行させることを特徴とするコンピュータプログラム。Generating digest data from host data;
Scrambling the generated digest data to generate a plurality of watermark data candidates;
Embedding each of the plurality of watermark data candidates in the host data to generate a plurality of embedded host data candidates;
For each of the plurality of embedded host data candidates, evaluating the resistance of the digital watermark;
A computer program causing a computer to execute a step of selecting a candidate of embedded host data having the best resistance evaluation value from among the plurality of embedded host data candidates based on the resistance evaluation value .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003065808A JP4266677B2 (en) | 2002-09-20 | 2003-03-11 | Digital watermark embedding method and encoding device and decoding device capable of using the method |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002276093 | 2002-09-20 | ||
JP2003065808A JP4266677B2 (en) | 2002-09-20 | 2003-03-11 | Digital watermark embedding method and encoding device and decoding device capable of using the method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004163855A JP2004163855A (en) | 2004-06-10 |
JP4266677B2 true JP4266677B2 (en) | 2009-05-20 |
Family
ID=32827704
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003065808A Expired - Fee Related JP4266677B2 (en) | 2002-09-20 | 2003-03-11 | Digital watermark embedding method and encoding device and decoding device capable of using the method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4266677B2 (en) |
Families Citing this family (42)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7644282B2 (en) | 1998-05-28 | 2010-01-05 | Verance Corporation | Pre-processed information embedding system |
US6737957B1 (en) | 2000-02-16 | 2004-05-18 | Verance Corporation | Remote control signaling using audio watermarks |
EP2442566A3 (en) | 2002-10-15 | 2012-08-08 | Verance Corporation | Media Monitoring, Management and Information System |
US9055239B2 (en) | 2003-10-08 | 2015-06-09 | Verance Corporation | Signal continuity assessment using embedded watermarks |
US20060239501A1 (en) | 2005-04-26 | 2006-10-26 | Verance Corporation | Security enhancements of digital watermarks for multi-media content |
US7616776B2 (en) | 2005-04-26 | 2009-11-10 | Verance Corproation | Methods and apparatus for enhancing the robustness of watermark extraction from digital host content |
US7369677B2 (en) | 2005-04-26 | 2008-05-06 | Verance Corporation | System reactions to the detection of embedded watermarks in a digital host content |
JP2006025409A (en) | 2004-06-11 | 2006-01-26 | Canon Inc | Image processing apparatus and image processing method |
CA2605641A1 (en) * | 2005-04-26 | 2006-11-02 | Verance Corporation | Security enhancements of digital watermarks for multi-media content |
US8020004B2 (en) | 2005-07-01 | 2011-09-13 | Verance Corporation | Forensic marking using a common customization function |
US8781967B2 (en) | 2005-07-07 | 2014-07-15 | Verance Corporation | Watermarking in an encrypted domain |
US8259938B2 (en) | 2008-06-24 | 2012-09-04 | Verance Corporation | Efficient and secure forensic marking in compressed |
US8838977B2 (en) | 2010-09-16 | 2014-09-16 | Verance Corporation | Watermark extraction and content screening in a networked environment |
US8533481B2 (en) | 2011-11-03 | 2013-09-10 | Verance Corporation | Extraction of embedded watermarks from a host content based on extrapolation techniques |
US8615104B2 (en) | 2011-11-03 | 2013-12-24 | Verance Corporation | Watermark extraction based on tentative watermarks |
US8923548B2 (en) | 2011-11-03 | 2014-12-30 | Verance Corporation | Extraction of embedded watermarks from a host content using a plurality of tentative watermarks |
US8682026B2 (en) | 2011-11-03 | 2014-03-25 | Verance Corporation | Efficient extraction of embedded watermarks in the presence of host content distortions |
US8745403B2 (en) | 2011-11-23 | 2014-06-03 | Verance Corporation | Enhanced content management based on watermark extraction records |
US9547753B2 (en) | 2011-12-13 | 2017-01-17 | Verance Corporation | Coordinated watermarking |
US9323902B2 (en) | 2011-12-13 | 2016-04-26 | Verance Corporation | Conditional access using embedded watermarks |
US9571606B2 (en) | 2012-08-31 | 2017-02-14 | Verance Corporation | Social media viewing system |
US8726304B2 (en) | 2012-09-13 | 2014-05-13 | Verance Corporation | Time varying evaluation of multimedia content |
US20140075469A1 (en) | 2012-09-13 | 2014-03-13 | Verance Corporation | Content distribution including advertisements |
US8869222B2 (en) | 2012-09-13 | 2014-10-21 | Verance Corporation | Second screen content |
US9262793B2 (en) | 2013-03-14 | 2016-02-16 | Verance Corporation | Transactional video marking system |
US9485089B2 (en) | 2013-06-20 | 2016-11-01 | Verance Corporation | Stego key management |
US9251549B2 (en) | 2013-07-23 | 2016-02-02 | Verance Corporation | Watermark extractor enhancements based on payload ranking |
US9208334B2 (en) | 2013-10-25 | 2015-12-08 | Verance Corporation | Content management using multiple abstraction layers |
JP2017514345A (en) | 2014-03-13 | 2017-06-01 | ベランス・コーポレイション | Interactive content acquisition using embedded code |
US10504200B2 (en) | 2014-03-13 | 2019-12-10 | Verance Corporation | Metadata acquisition using embedded watermarks |
EP3183882A4 (en) | 2014-08-20 | 2018-07-04 | Verance Corporation | Content management based on dither-like watermark embedding |
WO2016086047A1 (en) | 2014-11-25 | 2016-06-02 | Verance Corporation | Enhanced metadata and content delivery using watermarks |
US9942602B2 (en) | 2014-11-25 | 2018-04-10 | Verance Corporation | Watermark detection and metadata delivery associated with a primary content |
WO2016100916A1 (en) | 2014-12-18 | 2016-06-23 | Verance Corporation | Service signaling recovery for multimedia content using embedded watermarks |
US10257567B2 (en) | 2015-04-30 | 2019-04-09 | Verance Corporation | Watermark based content recognition improvements |
US10477285B2 (en) | 2015-07-20 | 2019-11-12 | Verance Corporation | Watermark-based data recovery for content with multiple alternative components |
US20190132652A1 (en) | 2016-04-18 | 2019-05-02 | Verance Corporation | System and method for signaling security and database population |
WO2018237191A1 (en) | 2017-06-21 | 2018-12-27 | Verance Corporation | Watermark-based metadata acquisition and processing |
US11468149B2 (en) | 2018-04-17 | 2022-10-11 | Verance Corporation | Device authentication in collaborative content screening |
US20210076095A1 (en) | 2019-08-28 | 2021-03-11 | Verance Corporation | Watermark-based dynamic ad insertion |
US11722741B2 (en) | 2021-02-08 | 2023-08-08 | Verance Corporation | System and method for tracking content timeline in the presence of playback rate changes |
CN113297592B (en) * | 2021-05-10 | 2023-02-07 | 复旦大学 | Watermark traceability method, device and storage medium for relational database |
-
2003
- 2003-03-11 JP JP2003065808A patent/JP4266677B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004163855A (en) | 2004-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4266677B2 (en) | Digital watermark embedding method and encoding device and decoding device capable of using the method | |
JP4107851B2 (en) | Digital watermark embedding method and encoding device and decoding device capable of using the method | |
JP3960959B2 (en) | Digital watermark embedding apparatus and method, and digital watermark extraction apparatus and method | |
JP4155956B2 (en) | Digital watermark embedding apparatus and method, and digital watermark extraction apparatus and method | |
Busch et al. | Digital watermarking: From concepts to real-time video applications | |
Yang et al. | A contrast-sensitive reversible visible image watermarking technique | |
JP4024153B2 (en) | Digital watermark embedding method and encoding device and decoding device capable of using the method | |
Phadikar et al. | Novel wavelet-based QIM data hiding technique for tamper detection and correction of digital images | |
Qiao et al. | Watermarking methods for MPEG encoded video: Towards resolving rightful ownership | |
Chandramouli et al. | Digital watermarking | |
Das et al. | Implementation and analysis of digital watermarking techniques for multimedia authentication | |
Ayyappan et al. | A review on reversible data hiding techniques | |
JP4267038B2 (en) | Digital watermark embedding device and digital watermark extraction device | |
Cruz et al. | Image content authentication system based on semi-fragile watermarking | |
Hu et al. | Secure image hiding scheme based upon vector quantization | |
Tsai et al. | A watermarking-based authentication with malicious detection and recovery | |
Goswami et al. | Coloured and Gray Scale Image Steganography using Block Level DWT DCT Transformation | |
Negrat et al. | Variable length encoding in multiple frequency domain steganography | |
Kasana et al. | Block-based high capacity multilevel image steganography | |
Chuang et al. | Data steganography for optical color image cryptosystems | |
Lou et al. | Robust watermarking technique for digital images utilizing the invariant relation of vector quantization indices | |
Huang et al. | Enhanced Embedding Capacity for Data Hiding Approach Based on Pixel Value Differencing and Pixel Shifting Technology. Electronics 2023, 12, 1200 | |
D’Angelo et al. | Watermark-based authentication | |
Keerthi et al. | Hiding Text in a Video Using Frequency Domain and Time Domain | |
Thomas | Efficient video watermarking with SWT and empirical PCA based decoding |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20041201 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20081007 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081021 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081217 |
|
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: 20090120 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090217 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120227 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |