JP4024153B2 - 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
- JP4024153B2 JP4024153B2 JP2003003987A JP2003003987A JP4024153B2 JP 4024153 B2 JP4024153 B2 JP 4024153B2 JP 2003003987 A JP2003003987 A JP 2003003987A JP 2003003987 A JP2003003987 A JP 2003003987A JP 4024153 B2 JP4024153 B2 JP 4024153B2
- Authority
- JP
- Japan
- Prior art keywords
- watermark
- blocks
- embedded
- data
- unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Image Processing (AREA)
- Editing Of Facsimile Originals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Description
【0001】
【発明の属する技術分野】
この発明は、電子透かし技術に関し、特に電子透かしの埋め込み方法、およびその方法を利用可能な符号化装置と復号装置に関する。
【0002】
【従来の技術】
ここ数年、インターネット利用人口が急増し、インターネット利用の新たなステージともいえるブロードバンド時代に入ろうとしている。ブロードバンド通信では通信帯域が格段に広がるため、音声、静止画、動画などデータ量の大きいコンテンツの配信も気軽にできるようになる。このようなデジタルコンテンツの流通が盛んになると、コンテンツの著作権の保護がより一層求められることになる。
【0003】
ネットワーク上に流通するコンテンツのデータは他人に容易にコピーされ、著作権に対する保護が十分ではないのが現状である。そこで著作権を保護するために、コンテンツの作成者や利用者の情報を電子透かしとしてコンテンツデータに埋め込む技術が開発されている。この電子透かし技術を用いることにより、ネットワーク上で流通するコンテンツデータから電子透かしを抽出して、不正利用を検出したり、不正コピーの流通経路を追跡することが可能となる。
【0004】
従来の電子透かしの埋め込み技術には、電子透かし情報を埋め込む処理の自由度を維持しつつ、耐性の強い電子透かしの埋め込みを可能とするものがある(たとえば、非特許文献1参照)。
【0005】
【非特許文献1】
Ingemar J. Cox, Joe Kilian, F. Thomson Leighton, and Talal Shamoon, "Secure Spread Spectrum Watermarking for Multimedia," IEEE Trans. on Image Processing, Vol. 6, No. 12, December 1997.
【0006】
【発明が解決しようとする課題】
電子透かしは、不正利用者による改ざんを防止するために、利用者には分からないようにコンテンツデータに埋め込まれる。しかしコンテンツデータは、流通過程や利用過程で、圧縮符号化や各種フィルタリングなどの信号処理が加えられたり、ユーザにより加工されたり、あるいは透かし情報が改ざんされるなど、さまざまな操作を受けることがあり、その過程で埋め込まれた電子透かしデータの一部が変更されたり、消失する可能性がある。したがって電子透かしはこういった操作に対する耐性が要求される。
【0007】
電子透かしの耐性を高めるための電子透かしの埋め込み技術が提案されているが、人間の視覚特性に合わせて、画像のエッジ部分やテクスチャ領域の中でも変化の大きな部分など高周波成分に電子透かしを埋め込む方法であり、個々のコンテンツデータの内容に強く依存し、透かし埋め込み後のコンテンツデータに対するさまざまな操作に対して耐性を強化するには、汎用性や柔軟性の面で限界がある。
【0008】
また、画像を圧縮符号化する際、画像をブロックに分割して、ブロック単位で圧縮符号化が行われる。ブロック分割することで、処理に必要なメモリ量を一定量に抑えることができるからである。一方、電子透かしは画像全体に埋め込まれるのが普通であり、ブロック単位の圧縮符号化との整合性がなく、画像全体をバッファするメモリを前提とした埋め込み処理であるため、大きなメモリ容量が必要である。
【0009】
本発明はこうした状況に鑑みてなされたもので、その目的は、耐性の強い電子透かしを埋め込み、電子透かしの検出誤差を低減することの可能な技術の提供にある。また別の目的は、圧縮符号化および復号に同期して、電子透かしの埋め込みおよび抽出を行うことの可能な技術の提供にある。
【0010】
【課題を解決するための手段】
本発明のある態様は電子透かし埋め込み方法に関する。この方法は、ホストデータの圧縮符号化と同期して、圧縮符号化の行われるブロックを電子透かしの埋め込み単位として、複数のブロックに実質的に同一の電子透かしデータを重複して埋め込む。
【0011】
ここでいうブロックとは、ホストデータを分割して圧縮符号化する際の処理単位であり、通常、一定のサイズであり、その処理単位毎にメモリに格納されて圧縮符号化処理がなされる。圧縮符号化の処理単位で電子透かしが埋め込まれるため、メモリ効率がよく、圧縮符号化と連動してリアルタイムに電子透かしの埋め込み処理が可能である。また複数のブロックに実質的に同一の電子透かしデータが繰り返し埋め込まれるため、透かしの耐性が強化される。ここで「実質的に同一の電子透かしデータ」とは、同一の電子透かしをブロック番号などの情報を用いてブロックごとに変更して埋め込む場合や、透かしのデータをブロックのデータに依存してスクランブルする場合も含める趣旨である。
【0012】
ホストデータは、電子透かしを埋め込む対象となるオリジナルデータであり、たとえば静止画、動画、音声などのデータである。埋め込まれる電子透かしには、オリジナルデータの識別情報、作成者情報、利用者情報などが含まれる。その他、認証を目的として、ホストデータのダイジェストデータ、すなわちホストデータの特徴を端的に表したデータを電子透かしとして埋め込むことも可能である。電子透かしの耐性とは、電子透かしの埋め込まれたホストデータが改変されるなどの攻撃を受けた場合や、電子透かしの埋め込まれたホストデータに圧縮符号化やフィルタリングなどの信号処理が施された場合など、電子透かしの埋め込み後のホストデータに対して何らかの操作が加えられた場合に電子透かしデータがもつ頑強性をいう。
【0013】
前記複数のブロックの各々に前記透かしデータを埋め込む際、前記透かしデータをスクランブルして生成された複数の透かしデータの候補を埋め込み、埋め込まれた透かしの候補の耐性をそれぞれ評価し、その評価が良好である前記透かしデータの候補が埋め込まれたブロックを埋め込みブロックとして選択してもよい。このようにブロックごとに透かしデータをスクランブルして高い耐性をもつ透かしデータを埋め込むことにより、ブロックごとのデータの特性を活かして、透かしの耐性をさらに強化することができる。
【0014】
電子透かしを埋め込む側では、電子透かしデータをスクランブルする際、元の電子透かしデータを複数の透かしデータの候補に対応づける1対多の写像が用いられる。電子透かしを抽出する側では、逆写像を行って、スクランブルされた透かしデータから元の電子透かしデータを得る。そのため電子透かしを抽出する側では、元の電子透かしデータと複数の透かしデータの候補の対応テーブルが利用されてもよい。また、電子透かしを埋め込む側で、元の電子透かしデータから所定の初期値のもとで複数の透かしデータの候補を生成するスクランブル関数が利用されてもよい。この場合、電子透かしを抽出する側では、スクランブルに利用された初期値とスクランブル関数にもとづいて、抽出された電子透かしの逆スクランブルが行われる。
【0015】
本発明の別の態様は符号化装置に関する。この装置は、ホストデータをブロック単位で圧縮符号化する符号化処理部と、ホストデータの圧縮符号化と同期して、圧縮符号化の行われる複数のブロックに実質的に同一の電子透かしデータを埋め込む透かし埋め込み処理部とを含む。前記透かし埋め込み処理部は、前記透かしデータをスクランブルして複数の透かしデータの候補を生成するスクランブル部と、前記ブロックに前記複数の透かしデータの候補のそれぞれを埋め込み、複数の埋め込みブロックの候補を生成する埋め込み部と、前記複数の埋め込みブロックの候補の各々について、当該電子透かしの耐性を評価する評価部と、前記耐性の評価値に基づいて前記複数の埋め込みブロックの候補の一つを選択する選択部とを含む。
【0016】
前記埋め込み部は、前記複数のブロックに埋め込まれる前記透かしデータの情報系列を誤り訂正符号化したときのパリティ系列を、前記複数のブロックの内、一部のブロックに電子透かしとして埋め込んでもよい。前記透かし埋め込み処理部は、圧縮符号化の行われるN個のブロックの内、K個のブロックに埋め込まれるべき前記透かしデータの情報ビットからなる情報系列を、符号化率がK/Nの誤り訂正符号を用いて誤り訂正符号化し、残りの(N−K)個のブロックに埋め込まれるべき、前記情報ビットと同一ビット長の冗長ビットからなるパリティ系列を生成するブロック誤り訂正符号化部をさらに含んでもよい。透かしデータの情報ビットがnビット(nは整数)であるとすると、K個のブロックに埋め込まれる情報系列はn×Kビットである。このK個のブロックに埋め込まれた情報系列の全体をK/Nの符号化率で誤り訂正符号化すると、全体でn×(N−K)ビットのパリティ系列が得られる。このパリティ系列をnビットずつ区切ることにより得られるnビットの冗長ビットを(N−K)個のブロックに電子透かしとして埋め込む。K個のブロックを情報系列埋め込み用ブロックと呼び、(N−K)個のブロックをパリティ系列埋め込み用ブロックと呼ぶ。情報系列埋め込み用ブロックに埋め込まれる情報ビット、およびパリティ系列埋め込み用ブロックに埋め込まれる冗長ビットはともにnビットであるから、電子透かしとしての埋め込み時には特に区別することなく両者を同一の方式で埋め込むことができる。
【0017】
本発明のさらに別の態様は復号装置に関する。この装置は、符号化ホストデータをブロック単位で復号する復号処理部と、前記符号化ホストデータの復号と同期して、復号の行われる複数のブロックから実質的に同一の電子透かしデータを抽出する透かし抽出処理部とを含む。前記透かし抽出処理部は、復号の行われる複数のブロックの各々からスクランブルされた透かしデータを抽出する抽出部と、前記スクランブルされた透かしデータのスクランブルを解除するデスクランブル部と、前記複数のブロックから抽出された複数の前記透かしデータを多数決判定することにより、埋め込まれた透かしデータを特定する判定部とを含む。複数のブロックから透かしデータを抽出して多数決判定することにより、透かしデータの検出精度を向上させることができる。
【0018】
前記抽出部は、前記複数のブロックから抽出される前記透かしデータの情報系列の誤り訂正のためのパリティ系列を、前記複数のブロックの内、一部のブロックから電子透かしとして抽出してもよい。前記透かし抽出処理部は、復号の行われるN個のブロックの内、K個のブロックから抽出される前記透かしデータの情報ビットからなる情報系列を、残りの(N−K)個のブロックから抽出される、前記情報ビットと同一ビット長の冗長ビットからなるパリティ系列により、誤り訂正するブロック誤り訂正復号部をさらに含んでもよい。
【0019】
本発明のさらに別の態様はコンピュータプログラムに関する。このプログラムは、ホストデータの圧縮符号化と同期して、スクランブルして生成された複数の電子透かしデータの候補を、圧縮符号化の行われるブロックに埋め込み、複数の埋め込みブロックの候補を生成するステップと、前記複数の埋め込みブロックの候補の各々について、埋め込まれた電子透かしの耐性を評価するステップと、前記耐性の評価値に基づいて前記複数の埋め込みブロックの候補の1つを最終的に電子透かしが埋め込まれたブロックとして選択するステップとをコンピュータに実行させる。
【0020】
本発明のさらに別の態様もコンピュータプログラムに関する。このプログラムは、符号化ホストデータの復号と同期して、復号の行われる複数のブロックの各々からスクランブルされた透かしデータを抽出するステップと、前記スクランブルされた透かしデータのスクランブルを解除するステップと、前記複数のブロックから抽出された複数の前記透かしデータを多数決判定して、埋め込まれた透かしデータを特定するステップとをコンピュータに実行させる。
【0021】
なお、以上の構成要素の任意の組み合わせ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【0022】
【発明の実施の形態】
実施の形態1
図1は、実施の形態1に係る符号化装置100の構成を示す。この構成は、ハードウエア的には、任意のコンピュータのCPU、メモリ、その他のLSIで実現でき、ソフトウエア的にはメモリにロードされた電子透かし埋め込み機能および圧縮符号化機能のあるプログラムなどによって実現されるが、ここではそれらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックがハードウエアのみ、ソフトウエアのみ、またはそれらの組み合わせによっていろいろな形で実現できることは、当業者には理解されるところである。
【0023】
符号化装置100は、ホストデータSを圧縮符号化する符号化処理部10と、圧縮符号化が行われるホストデータSのブロックVに透かし情報Iを埋め込む透かし埋め込み処理部38とを含む。ホストデータSは、たとえば音声、静止画、動画などのデータである。透かし情報Iは、そのホストデータSの識別情報、作成者情報、利用者情報など著作権に関する情報、ホストデータSの改ざん検出を行う認証情報、タイムスタンプなどである。以下では、ホストデータSとして画像を例に挙げ、ブロックVは二次元のピクセルデータであるとして説明するが、ホストデータSが音声であっても、圧縮符号化の処理単位として一次元のブロックVを考えることができ、同様の処理が可能である。
【0024】
ホストデータSは符号化処理部10のブロック分割部12によりブロックVに分割され、直交変換部14により離散コサイン変換や離散ウェーブレット変換などの直交変換により、空間周波数成分に変換される。直交変換部14により直交変換されたブロックVは、透かし埋め込み処理部38に供給される。透かし埋め込み処理部38はブロックVに透かし情報Iを埋め込み、埋め込みブロックWを符号化処理部10の量子化部16に与える。量子化部16は埋め込みブロックWを量子化する。可変長符号化部18は、ホストデータSの量子化された埋め込みブロックWを可変長符号化することにより、ホストデータSを圧縮し、透かし入り符号化ホストデータTを出力する。
【0025】
透かし埋め込み処理部38の暗号化部32は、秘密鍵Kを用いて、透かし情報Iを暗号化して、透かしデータXを生成する。暗号化部32は、ブロック分割部12から現在符号化処理中のブロックVのブロック番号の入力を受けて、ブロック番号によって透かし情報Iを暗号化することもできる。この場合、同一の透かし情報Iに対してブロック毎に異なる透かしデータXが生成されるが、暗号を復号して元の透かし情報Iを一意に復元できるため、ブロック番号によって異なる透かしデータXを実質的に同一の透かしであるとして扱う。
【0026】
変更部34は、暗号化部32から透かしデータXの入力を、直交変換部14から現在符号化処理中のブロックVの入力を受けて、ブロックVに依存して透かしデータXをスクランブルし、スクランブルされた透かしデータX’を出力する。埋め込み部36は、秘密鍵Kを用いて、直交変換部14から入力される現在符号化処理中のブロックVにスクランブルされた透かしデータX’を埋め込み、埋め込みブロックWを出力して量子化部16に与える。秘密鍵Kに依存しない埋め込み方式を用いてもよい。
【0027】
透かし埋め込み処理部38による透かし埋め込み処理は、符号化処理部10によって圧縮符号化がなされるホストデータSのすべてのブロックVについて、繰り返し行われ、すべてのブロックVに同一もしくは実質的に同一の透かしデータXが埋め込まれることになる。
【0028】
変更部34と埋め込み部36は協同して、複数のスクランブルされた透かしデータX’を生成し、それぞれをブロックVに埋め込み、複数の埋め込みブロックWの候補を生成し、それらの候補の一つを選択する機能をもつ。
【0029】
図2は変更部34と埋め込み部36の機能構成図である。L個のマルチプレクサ20は、透かしデータXの先頭にそれぞれ初期データ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種類のスクランブルされた透かしデータを生成してもよい。
【0030】
L個の埋め込み部26は、L種類のスクランブルされた透かしデータX’cのそれぞれを、圧縮符号化の行われるブロックVに埋め込み、L種類の埋め込みブロックWの候補を生成する。L個のSNR計算部28は、L種類の埋め込みブロックWの候補のそれぞれについて、透かしデータXの耐性を評価する。セレクタ30は、耐性の評価値が最良である埋め込みブロックWの候補を選択し、それを最終的な埋め込みブロックWとして出力する。
【0031】
図3は、実施の形態1に係る復号装置200の構成を示す。符号化装置100により電子透かしが埋め込まれて圧縮された、透かし入り符号化ホストデータTは、ネットワーク上で流通し、コンピュータにおいて利用される。その過程で透かし入り符号化ホストデータTは圧縮符号化や改ざんなどの操作を受ける。画像データであれば、JPEG圧縮、フィルタリング、量子化、色補正などの信号処理や、スケーリング、クロッピング、回転、並行移動等の幾何学的な変換など有用性のある操作が施されたり、電子透かしを除去したり改変するなどの不正な攻撃が加えられたりする。そのような操作による変形を埋め込みホストデータTに対するノイズNとみなし、ノイズNが付加した透かし入り符号化ホストデータTをT’(=T+N)と表記する。同様に透かし入り符号化ホストデータTの埋め込みブロックWについてもノイズNが付加したものをW’(=W+N)と表記する。
【0032】
復号装置200は、透かし入り符号化ホストデータT’を復号する復号処理部60と、透かし入り符号化ホストデータT’の埋め込みブロックW’から透かし情報Iを抽出する透かし抽出処理部40とを含む。
【0033】
透かし入り符号化ホストデータT’は復号処理部60の可変長符号復号部62により可変長符号が復号され、ブロック分割部64により埋め込みブロックW’に分割される。逆量子化部66は埋め込みブロックW’を逆量子化する。逆直交変換部68は埋め込みブロックW’を逆直交変換して、透かし入りホストデータU’を出力する。逆量子化部66は、透かしの抽出のために、逆量子化後の埋め込みブロックW’を透かし抽出処理部40に与える。
【0034】
透かし抽出処理部40の抽出部42は、秘密鍵Kを用いて、逆量子化部66から入力される現在復号処理中の埋め込みブロックW’に埋め込まれた透かしデータX’cを抽出する。ECC復号部44はこの透かしデータX’cに付加されているパリティビットを用いて誤り訂正を行い、透かしデータX’bを生成する。デスクランブラ46は、誤り訂正後の透かしデータX’bのスクランブルを解除し、透かしデータXを出力する。暗号復号部48は、秘密鍵Kを用いて、暗号化されている透かしデータXを復号して元の透かし情報Iを出力する。
【0035】
以上の透かし抽出処理を、復号処理部60が復号する透かし入り符号化ホストデータT’の埋め込みブロックW’に対して、繰り返し行うことで、すべての埋め込みブロックW’からそれぞれ透かし情報Iを抽出することができる。多数決判定部50は、すべての埋め込みブロックW’から抽出された複数の透かし情報Iを多数決判定して、最も多い透かし情報Iを正しい透かし情報Iであると特定する。
【0036】
多数決判定部50は、多数決判定により特定された透かし情報Iが検出された埋め込みブロックW’の数が所定の閾値より小さい場合には、透かしが埋め込まれていないと判断する。あるいは、何らかの透かしが埋め込まれていることが仮定されている場合には、多数決判定部50は、ホストデータSに対する改ざんが多数のブロックVに及んでいるため、正しい透かしの検出ができない旨の警告を出力してもよい。また、多数決判定部50は、最終的に特定された透かし情報Iとは異なる透かしが検出された埋め込みブロックW’については、改ざんの可能性があると判断し、その埋め込みブロックW’のブロック番号を通知する警告メッセージを出力することもできる。
【0037】
なお、多数決判定部50は、暗号復号部48により暗号が復号される前の透かしデータXについて、多数決判定を行うようにしてもよい。また、多数決判定部50は、抽出された複数の透かしビット列全体を互いに比較して、多数決判定により正しい透かしビット列を特定してもよく、あるいは、透かしの情報語の単位で互いに比較して、正しい情報語を特定してもよい。さらに、透かしデータXの情報ビット単位で多数決判定を行い、ビット毎に正しい値を特定してもよい。
【0038】
以上の構成の符号化装置100および復号装置200による電子透かしの埋め込みと抽出の手順を説明する。図10は、符号化装置100の透かし埋め込み処理部38による電子透かしの埋め込み手順を説明するフローチャートである。フローチャートの説明にあたり、図4から図9を適宜参照する。
【0039】
マルチプレクサ20は、暗号化部32により暗号化された透かしデータXの先頭にL種類の初期データを挿入してL個の符号系列を生成し(S10)、スクランブラ22は、それらの符号系列をスクランブルしてL種類のスクランブルされた透かしデータX’を生成する(S12)。
【0040】
図4は、透かしデータXとL種類のスクランブルされた透かしデータX’との関係を示す。(n−r)ビットの透かしデータXの先頭に、rビットの冗長語を識別データID[0]〜ID[L−1]として付加し、L種類の透かしデータの候補を作成する。最大2r種類の候補が作成される。これらの候補に含まれる透かしデータXのビット列はこれから述べるスクランブル方式により、スクランブルされる。
【0041】
スクランブル方式の一例として、伝送や磁気記録におけるデジタル変調の際に利用されるGS(Guided Scramble)方式を採用する。GS方式は、ある一定のデータブロック長からなる情報系列に対して、L種類の符号系列を生成し、これらを次に送信する符号系列の候補として扱う。これらの候補の中から、伝送媒体の性質に合わせて最適なものを選択して最終的な符号系列とする。このGS方式により、多様性に富んだ符号系列の候補を簡単な方法で生成することができる。
【0042】
符号化装置100におけるマルチプレクサ20とスクランブラ22がGS符号化器の一部として機能する。GS符号化器は、Mビットからなる情報系列D(x)の直前にL種類のrビットの冗長語ci(i=0,・・・,L−1)を付加し、L種類の符号系列cixM+D(x)を生成する。この符号系列の符号長は(M+r)ビットとなる。このようにして冗長語が付加された符号系列に対して、次式のようにN次元のスクランブル多項式S(x)で除算することにより商Ti(x)を求める。
【0043】
Ti(x)=QS(x)[(cixM+D(x))xN] (1)
ただし、Qa[b]はbをaで除算した商を示す。商集合{T0(x),・・・,TL−1(x)}がスクランブル後の符号系列の候補である。これらの候補の各々について、その符号系列が実際に用いられた際の性能を評価し、その評価値が最良であるものを最終的な符号系列として選択する。
【0044】
復調時には、復号装置40におけるデスクランブラ46がGS復号器として機能し、符号系列にS(x)を乗算し、下位Nビットと上位rビットの変換情報を捨てることにより、元の情報系列D(x)が得られる。
【0045】
ここでスクランブル多項式S(x)として、S(x)=xr+1を用いた場合を説明する。M mod r=0の場合、(1)式は次式に示す畳み込み演算で表現可能である。
【0046】
tj=dj(+)ci (j=0)
tj=dj(+)tj−1 (j=1,・・・,M/r−1)
ただし、i=0,・・・,L−1であり、djは元の情報系列D(x)をrビットずつ区切ったビット列、tjは変換後の符号系列Ti(x)の先頭のrビットの冗長語ci以降をrビットずつ区切ったビット列である。また(+)は排他的論理和(EX−OR)演算を示す。
【0047】
図5はこの符号化時の畳み込み演算を説明する図である。たとえば、M=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であることに注意する。
【0048】
同様にして、冗長語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)が得られる。
【0049】
復号時は次式のように畳み込み演算を行うことにより、元の情報系列D(x)が得られる。
【0050】
dj=tj(+)ci (j=0)
dj=tj(+)tj−1 (j=1,・・・,M/r−1)
【0051】
図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)が得られる。
【0052】
再び図10を参照する。スクランブラ22によって生成されたL種類のスクランブルされた透かしデータX’は、ECC部24により誤り訂正のためのパリティを付加された後に、埋め込み部26によりホストデータVのブロックVに埋め込まれる(S14)。
【0053】
L種類のスクランブルされた透かしデータX’をx0,x1,・・・,xL−1とする。各透かしデータの候補のビット系列は、次式のように表される。先頭のrビットは識別データである。また、スクランブル処理後のビット0は、−1に置き換えて、以下の処理を行う。
【0054】
x0={−1,・・・,−1,−1,x0 0,x0 1,・・・,x0 n−r−1}
x1={−1,・・・,−1,1,x1 0,x1 1,・・・,x1 n−r−1}
・・・
xL−1={1,・・・,1,1,xL−1 0,xL−1 1,・・・,xL−1 n−r−1}
【0055】
ホストデータSのブロックV内から、nビットの透かしデータの埋め込み対象としてサンプル集合のペア(V+,V−)を選択する。埋め込みサンプルの集合V+,V−は、それぞれ次のようにn個の要素をもつ。
【0056】
V+={v+ 0,v+ 1,・・・,v+ n−1}
V−={v− 0,v− 1,・・・,v− n−1}
ここでサンプルの集合V+,V−の要素であるサブセットv+ i、v− i(i=0,1,・・・,n−1)は、いずれも同一のブロックV内でランダムに選択されたm個のサンプルデータからなる。
【0057】
v+ i={v+ i,0,v+ i,1,・・・,v+ i,m−1}
v− i={v− i,0,v− i,1,・・・,v− i,m−1}
【0058】
透かしデータの候補xk(k=0,・・・,L−1)をサンプル集合のペア(V+,V−)に次のように埋め込み、L種類の埋め込みブロックの候補Wkを生成する。
【0059】
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ビットを埋め込むのに費やすピクセル数が増加するということは、埋め込み領域には制限があるため、埋め込むことができるビット数が減少することを意味し、したがって埋め込み率の低下を招くことなる。
【0060】
符号化処理部10の直交変換部14が、ホストデータSを離散コサイン変換(Discrete Cosine Transform)により変換するときは、ブロックVはDCTブロックであり、サンプル集合の各サブセットv+ i、v− iのm個のサンプルデータは、1つのDCTブロックに含まれるm個のDCT係数である。
【0061】
図7は、離散コサイン変換されたホストデータSのブロックVにスクランブルされた透かしデータX’が埋め込まれる様子を説明する図である。同図のように、JPEGで用いられている離散コサイン変換では、ホストデータSの空間領域は縦横8ピクセルからなるブロックVに分割され、それぞれのブロックVが空間周波数成分に変換される。直交変換後の各ブロックVにスクランブルされた透かしデータX’の透かしビット列xkが埋め込まれる。
【0062】
図8は、8×8のサイズのDCTブロックであるブロックV内の2m個のDCT係数に透かしビットxk iが埋め込まれる様子を示している。各サブセットv+ i、v− iとして選ばれるそれぞれm個のDCT係数は、秘密鍵Kに基づいて選択される。このようにして、1ビットの透かしが1つのブロックVに埋め込まれる。この処理をn回繰り返すことで、ブロックV内の2nm個のDCT係数にnビットの透かしデータが埋め込まれる。
【0063】
直交変換部14が、ホストデータSを離散ウェーブレット変換(Discrete Wavelet Transform)により変換するときは、ブロックVは、離散ウェーブレット変換により生成されるサブバンドであり、サンプル集合の各サブセットv+ i、v− iのm個のサンプルデータは、1つのサブバンドに含まれるm個のウェーブレット変換係数である。
【0064】
図9は、離散ウェーブレット変換されたホストデータSの各サブバンドを説明する図である。同図に示すとおり、ホストデータSは離散ウェーブレット変換により4つの周波数サブバンドへ分割される。これらのサブバンドは、縦横両方向において低周波成分を有するLLサブバンドと、縦横のいずれかひとつの方向において低周波成分を有し、かつもう一方の方向において高周波成分を有するHLおよびLHサブバンドと、縦横両方向において高周波成分を有するHHサブバンドである。各サブバンドの縦横のピクセル数は処理前のホストデータSのそれぞれ1/2であり、一回のフィルタリングでサイズが1/4のサブバンドデータが得られる。
【0065】
こうして得られたサブバンドのうち、LLサブバンドに対して離散ウェーブレット変換によるフィルタリング処理が再度施され、さらにLL、HL、LH、HHの4つのサブバンドに分割される。このフィルタリングは所定の回数行われ、最後のフィルタリングで生じたLLサブバンドがホストデータVのDC成分に最も近いデータとなる。
【0066】
同図の例では、ホストデータSに離散ウェーブレット変換が3回施され、第1階層のHLサブバンドHL1、LHサブバンドLH1およびHHサブバンドHH1、第2階層のHLサブバンドHL2、LHサブバンドLH2およびHHサブバンドHH2、第3階層のLLサブバンドLL3、HLサブバンドHL3、LHサブバンドLH3、およびHHサブバンドHH3の順に圧縮符号化が行われる。透かし埋め込み処理部38は、これらのサブバンドの各々を透かしデータX’の埋め込みブロックとして透かしデータX’を埋め込む。各サブセットv+ i、v− iとして選ばれるそれぞれm個のウェーブレット変換係数は、各サブバンドから秘密鍵Kに基づいて選択される。
【0067】
図10に戻り、SNR計算部28は、L種類の埋め込みブロックの候補Wkに対して透かしデータxkの耐性、すなわち埋め込み強度を評価し(S16)、セレクタ30は埋め込み強度が最大となる埋め込みブロックの候補Wkを最終的な埋め込みブロックWとして選択する(S18)。
【0068】
埋め込み強度の評価式を与える前に、埋め込みブロックWに対して信号処理や画像処理などにより変形が加えられた場合に、透かしデータX’がどのように検出されるかを検討する。埋め込みブロックWに加えられる変形をノイズNとして扱う。ノイズの付加された埋め込みブロックW’から透かしデータX’を抽出する方法を説明する。埋め込みブロックの集合のペア(W’+,W’−)を次のように定義する。埋め込みブロックの集合W’+,W’−は次のようにそれぞれn個の要素をもつ。
【0069】
W’+={w’+ 0,w’+ 1,・・・,w’+ n−1}
W’−={w’− 0,w’− 1,・・・,w’− n−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}
【0070】
透かしビット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の値を判定することができる。
【0071】
埋め込み強度の評価は、ホストデータSのブロックVを透かしデータXに対するノイズとみなして、埋め込まれた透かしデータxkに対して検出される透かしデータの分散を計算することにより行われる。分散が小さいほど、耐性が強いと考えることができる。埋め込みブロックの候補のペア(W+k,W−k)に対して次式によりSN比を評価して、最適な候補Kを選択する。
【0072】
K=argmaxk(Pk/σk 2)
Pk=Σi=0 n−1|Σj=0 m−1(w+k i,j−w−k i,j)|2/n
σk 2=Σi=0 n−1|Σj=0 m−1(w+k i,j−w−k i,j)−Pk 1/2・xk i|2/n
【0073】
透かしビット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−1について評価して平均化したものであると言える。ただし、Pkは検出値ziのi=0,・・・,n−1についての自乗平均であり、埋め込まれた透かしの平均パワーを示す。したがって、埋め込まれた透かしデータxkと抽出される透かしデータとの間のユークリッド距離が小さく、透かしビットを検出するための検出値の絶対値が大きいほど、Pk/σk 2の値は大きくなる。言い換えれば、Pk/σk 2が最大となる候補を選択することは、透かしビットの検出誤差が最小である候補を選択することを意味する。
【0074】
検出値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のレスポンスが改善する。
【0075】
SNR計算部28は、L種類の埋め込みブロックWの候補について、透かしデータXの耐性を評価する際に、圧縮符号化の際の量子化誤差を考慮に入れてもよい。具体的には、埋め込まれた透かしデータと検出される透かしデータとの間の分散により埋め込み強度を評価する際に、埋め込みホストデータWに対する量子化誤差を考慮した以下の重み付け分散を用いる。
【0076】
K=argmaxk(Pk/σk 2)
Pk=Σi=0 n−1|Σj=0 m−1(w*+k i,j−w*−k i,j)|2/n
σk 2=Σi=0 n−1|Σj=0 m−1(w*+k i,j−w*−k i,j)−Pk 1/2・xk i|2/n
ここでw*+k i,j、w*−k i,jは量子化がなされた後の埋め込みホストデータWである。たとえばJPEG2000による圧縮符号化がなされる場合、w*+k i,j、w*−k i,jはJPEG2000の量子化方法を用いて以下のように計算することができる。
【0077】
JPEG2000の規格書「ISO/IEC 15444-1: JPEG 2000 image coding system, JPEG 2000 final committee draft, 18 August 2000」にもとづいて、JPEG2000の量子化方法を簡単に説明する。サブバンドbにおける量子化前のウェーブレット変換係数をab(u,v)、サブバンドbにおける量子化後のウェーブレット変換係数をqb(u,v)とすると、JPEG2000では以下の量子化式を用いてウェーブレット変換係数の量子化が行われる。
【0078】
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における量子化の仮数である。
【0079】
このようにJPEG2000では、同一のサブバンドに属するウェーブレット変換係数は同じ量子化ステップで除算され、整数の値に丸められる。ブロックVに埋め込まれる透かしデータXはこのような量子化演算に対して耐性をもつ必要があるため、JPEG2000による量子化がなされた後の埋め込みブロックWの値を算出して、上述のようにその算出された埋め込みブロックWに対して透かしデータの耐性を評価する。透かし埋め込み処理部38は、符号化処理部10による圧縮符号化に同期して透かしの埋め込み処理を行うため、符号化処理部10において用いられる量子化パラメータを適宜参照することができる。
【0080】
図11は、復号装置200の透かし抽出処理部40による電子透かしの抽出手順を説明するフローチャートである。透かし抽出処理部40の抽出部42は、ノイズの付加された埋め込みブロックW’を受け取ると、ECC復号部44が硬入力の復号器で構成される場合には、検出値ziを次のように計算し、検出値ziの正負で、透かしビットx’が{−1,1}のいずれであるかを判定し、透かしデータX’を得る(S30)。また、ECC復号部44が軟入力の復号器で構成される場合には、検出値ziを{−1,1}に硬判定することなく、そのまま、ECC復号部44に送る。
【0081】
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)]
【0082】
抽出された透かしデータX’はさらにECC復号部44により誤り訂正がなされ、デスクランブラ46によりスクランブルを解除され、元の透かしデータXが得られる(S32)。
【0083】
多数決判定部50は、複数の埋め込みブロックW’から得られる複数の透かしデータXを多数決判定することにより、埋め込まれた透かしを特定する(S34)。多数決判定部50は、多数決判定により特定された透かしと同じ透かしデータXが抽出された埋め込みブロックW’の数が所定の閾値より小さい場合(S36のN)、透かしが埋め込まれていないと判定する(S38)。特定された透かしが抽出された埋め込みブロックW’の数が所定の閾値以上の場合(S36のY)、特定された透かしとは異なる透かしデータXが抽出された埋め込みブロックW’について改ざんの可能性がある旨を警告する(S40)。
【0084】
以上述べたように、実施の形態によれば、ホストデータSの圧縮符号化処理に同期して透かしを埋め込むため、圧縮符号化に利用される小容量のメモリを利用して、圧縮符号化と同時に透かしの埋め込みが可能である。また、同様に透かし入り符号化ホストデータTの復号に同期して透かしを抽出することができる。
【0085】
また、GS方式を利用することにより、電子透かしを埋め込む画像や音声などのメディアデータが与えられると、透かしビット系列をそのメディアデータに埋め込みやすいビット系列に変換した上で埋め込むことができる。したがって信号処理、幾何変換、圧縮、データの改ざんなどに対する電子透かしの耐性を強化することができ、透かしの検出精度が大幅に改善する。
【0086】
また、複数のブロックVに実質的に同一の透かしを重複して埋め込むため、透かしの耐性をさらに強化することができる。また、ブロックVのデータ特性によっては、透かしの埋め込みが困難な場合もあるが、複数のブロックVを埋め込み対象とすることにより、比較的埋め込みやすいブロックに耐性を強化した透かしを埋め込むことができ、透かし抽出時の多数決判定により、全体として透かしの検出精度を向上させることができる。さらに、多数決判定により、ブロック単位で改ざんの有無を調べることができる。
【0087】
実施の形態2
図12は実施の形態2に係る符号化装置100の構成図である。本実施の形態では、GS符号化による透かしの埋め込みを行う前に誤り訂正符号化を行う点が、実施の形態1とは異なる。以下、実施の形態1と共通する構成については同一符号を付して説明を省き、実施の形態1とは異なる構成と動作について説明する。
【0088】
本実施の形態の透かし埋め込み処理部38は、圧縮符号化の行われるN個のブロックVの各々に独立に(n−r)ビットの透かし系列を埋め込む際、各ブロックVの(n−r)ビットの透かし系列を全てのブロックVにまたがって連結した(n−r)×Nビットのビット系列が、符号化率K/Nで誤り訂正符号化された一つの符号語を構成するように誤り訂正符号化を行う。このようなN個のブロックV全体を用いる誤り訂正符号の一例として、リードソロモン符号やBCH符号などのブロック符号(以下、ブロックECCと呼ぶ)を用いる。この誤り訂正符号化の処理により、圧縮符号化の行われる複数のブロックVの内、一部のブロックVに、冗長データが埋め込まれることになる。
【0089】
ブロックECC部33は、暗号化部32によって生成された透かしデータXの情報ビットDを後述のブロック誤り訂正符号により符号化して、冗長ビットPを出力する。セレクタ35は、暗号化部32から透かしデータXの情報ビットDの入力を、ブロックECC部33から透かしデータXの冗長ビットPの入力を受け、ブロック分割部12から入力される現在符号化処理中のブロックVのブロック番号にもとづいて、情報ビットDと冗長ビットPのどちらかを選択し、変更部34に与える。変更部34と埋め込み部36により、情報ビットDまたは冗長ビットPがGS符号化されて、現在符号化処理中のブロックVに透かしとして埋め込まれる。
【0090】
図13はブロック誤り訂正符号を説明する図である。ホストデータSのN個のブロックVは、K個の情報系列埋め込み用ブロック110と、(N−K)個のパリティ系列埋め込み用ブロック120に分けられる。暗号化部32により生成された(n−r)ビットの透かしデータXの情報ビットDは、K個の情報系列埋め込み用ブロック110の各々に埋め込まれる。K個の情報系列埋め込み用ブロック110に埋め込まれる(n−r)×Kビットの情報系列の全体をK/Nの符号化率で誤り訂正符号化すると、全体で(n−r)×(N−K)ビットのパリティ系列が得られる。このパリティ系列を(n−r)ビットずつ区切ることにより(n−r)ビットの冗長ビットPが得られる。この冗長ビットPが残りの(N−K)個のパリティ系列埋め込み用ブロック120の各々に埋め込まれる。
【0091】
一つのブロックVに埋め込まれる冗長ビットPのビット数は情報ビットDのビット数と同じであるから、特に冗長ビットPであるか情報ビットDであるかを区別せず、ホストデータSのブロックVに透かしとして埋め込むことができる。再び図12を参照し、セレクタ35は、現在符号化処理中のブロックVが情報系列埋め込み用ブロック110である場合は、情報ビットDを選択し、現在符号化処理中のブロックVがパリティ系列埋め込み用ブロック120である場合は、冗長ビットPを選択する。(n−r)ビットの情報ビットDまたは冗長ビットPは、変更部34によりrビットの冗長語を付加された後にスクランブルされ、埋め込み部36によりブロックVに埋め込まれる。
【0092】
図14は、実施の形態2に係る復号装置200の構成図である。実施の形態1の復号装置200とは異なり、透かし抽出処理部40は、ブロックECC復号部49をさらに含む。デスクランブラ46によりスクランブルを解除された透かしデータXは、現在復号処理中の埋め込みブロックW’が図13で説明した情報系列埋め込み用ブロック110に該当する場合は、情報ビットDであり、パリティ系列埋め込み用ブロック120に該当する場合は、冗長ビットPである。ブロックECC復号部49は、K個の情報系列埋め込み用ブロック110から抽出された情報ビットDからなる情報系列を、(N−K)個のパリティ系列埋め込み用ブロック120から抽出された冗長ビットPからなるパリティ系列により、誤り訂正する。これにより、K個の情報系列埋め込み用ブロック110から誤り訂正復号されたK個の透かしデータXが得られる。
【0093】
暗号復号部48は、誤り訂正復号された透かしデータXの暗号を復号して透かし情報Iを生成する。多数決判定部50は、K個の情報系列埋め込み用ブロック110から得られたK個の透かし情報Iを多数決判定する。本実施の形態では、(N−K)個のパリティ系列埋め込み用ブロック120はパリティ系列の埋め込みに使用されているので、これらのブロックからは透かし情報Iが得られないことに注意する。ただし、復号されたパリティ系列を多数決判定に利用することは可能である。この場合は、図12の透かし埋め込み処理部38のブロックECC部33から出力されるパリティ系列と復号されたパリティ系列との比較結果を多数決判定に利用する。そのためには、透かし抽出処理部40が、図12の暗号化部32およびブロックECC部33と同一の機能構成をさらに含むことが必要である。
【0094】
なお、実施の形態1では、透かしデータXのスクランブルの段階で、図2のECC部24による誤り訂正符号化を行っていたが、本実施の形態のようにブロック誤り訂正符号化を行う場合は、スクランブルの段階でのECC部24による誤り訂正符号化は省略してもよい。
【0095】
実施の形態1のECC部24のように、ブロック毎に、独立に、誤り訂正符号化を行う方式では、透かしの埋め込みにくい単調なデータを含むブロックや、強い攻撃を受けたブロックなど、非常に大きなノイズを含むブロックがある場合、誤り訂正が十分に働かないことがある。本実施の形態では、他のブロックと共同で誤り訂正符号化を行うため、いずれかのブロックで誤りが生じたとしても、その誤り数が訂正能力内であれば、他のブロックの助けを借りて誤り訂正することができ、符号長がN倍になったことで誤り訂正能力が向上する。
【0096】
実施の形態3
図15は実施の形態3に係る符号化装置100の構成図である。本実施の形態では、ブロック全体を誤り訂正符号化の単位とする点は、実施の形態2と同じであるが、使用される誤り訂正符号化方式が異なる。以下、実施の形態2と共通する構成については同一符号を付して説明を省き、実施の形態2とは異なる構成と動作について説明する。
【0097】
本実施の形態の透かし埋め込み処理部38は、圧縮符号化の行われるN個のブロックVの各々に独立に(n−r)ビットの透かし系列を埋め込む際、各ブロックVの(n−r)ビットの透かし系列を全てのブロックVにまたがって連結した(n−r)×Nビットのビット系列が、符号化率K/Nで誤り訂正符号化された一つの符号語を構成するように誤り訂正符号化を行う。このようなN個のブロックV全体を用いる誤り訂正符号の一例として、畳み込み符号を用いる。なお、畳み込み符号の代わりに、ターボ符号などのより誤り訂正能力の高い符号化方式を用いることも可能である。
【0098】
畳み込み符号化部37は、暗号化部32によって生成された透かしデータXの入力を受け、組織型の畳み込み符号によって透かしデータXのビット系列を逐次符号化し、情報ビットとパリティビットを交互に出力し、変更部34に与える。変更部34と埋め込み部36により、(n−r)×K/Nビットの情報ビットDと(n−r)×(1−K/N)ビットの冗長ビットPがGS符号化されて、現在符号化処理中のブロックVにnビットの透かしとして埋め込まれる。
【0099】
図16はブロック全体の畳み込み符号化を説明する図である。ホストデータSのN個のブロックVの各々に、(n−r)*K/Nビットの情報ビットDと(n−r)*(1−K/N)ビットの冗長ビットPで構成された(n−r)ビットの透かしビットがGS符号化された後に埋め込まれ、ブロック全体で見た場合、(n−r)×Kビットの情報系列と(n−r)×(N−K)ビットの冗長系列により構成された透かし系列がGS符号化された後に埋め込まれる。したがって、ホストデータS全体に埋め込まれている(n−r)ビットの透かし系列で見た場合、符号化率K/Nの誤り訂正符号化がなされた一つの符号語が形成されている。
【0100】
畳み込み符号化部37は、非組織型の畳み込み符号を用いて、透かしデータXのビット系列を誤り訂正符号化してもよい。非組織型の畳み込み符号の場合、情報ビットとパリティビットの区別なく、2種類の符号化ビットが交互に生成され、各ブロックVに(n−r)ビットの符号化系列が埋め込まれる。
【0101】
図17は、実施の形態3に係る復号装置200の構成図である。実施の形態2の復号装置200のブロックECC復号部49に代えて、畳み込み符号復号部51が用いられる。組織型の畳み込み符号の場合、現在復号処理中の埋め込みブロックW’から抽出される透かしデータXにはそれぞれ情報ビットDと冗長ビットPが含まれる。畳み込み符号復号部51は、N個の埋め込みブロックW’から抽出された情報系列とパリティ系列を一つの符号語として扱い、N個の埋め込みブロックW’全体で誤り訂正を行う。非組織型の畳み込み符号の場合には、情報ビットとパリティビットの区別がなく、N個の埋め込みブロックW’全体から抽出される符号化系列に対して誤り訂正が行われる。
【0102】
以上、本発明を実施の形態をもとに説明した。これらの実施の形態は例示であり、それらの各構成要素や各処理プロセスの組み合わせにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【0103】
上記の説明では、ホストデータSをブロック分割したときのすべてのブロックVに実質的に同一の透かしを埋め込むこととしたが、複数のブロックに同一の透かしを埋め込むのは、透かしの耐性強化のためであるから、耐性が弱まるが、一部のブロックまたは1つのブロックにだけ透かしを埋め込むことにしてもよい。また、1つの電子透かしをいくつかの部分に分け、ホストデータSの複数のブロックVに分散して埋め込んでもよい。いずれの場合でも、圧縮符号化および復号の処理に同期して、ブロック単位で透かしの埋め込みおよび抽出が可能であり、処理効率が向上する効果に変わりはない。また、このような処理により、複数種類の透かしの埋め込みが可能となる。
【0104】
また、実施の形態2および3では、すべてのブロックに埋め込まれている透かしを用いて一つの誤り訂正符号語を形成するようにしたが、この誤り訂正符号語の長さをh分の1にして、h個の誤り訂正符号語で全ブロックに埋め込まれる透かしを構成し、それらをすべてのブロックに埋め込むようにしてもよい。ただし、hが大きいほど、誤り訂正能力は低下する。
【0105】
また、上記の説明では透かし埋め込み対象のブロックVとして、直交変換の処理単位としてのブロックを想定し、DCTブロックや離散ウェーブレット変換のサブバンドをブロックVとして扱ったが、本発明の趣旨は、圧縮符号化の処理単位としてのブロックを透かし埋め込み対象とすることであるから、たとえば画像を所定サイズの領域に分割し、その分割画像をバッファリングして圧縮符号化を行う場合は、そのような分割画像を透かし埋め込み対象のブロックVとして扱ってもよい。また、静止画圧縮の標準規格であるJPEG2000では、画像をタイルという小領域に分割して、各タイルに対してウェーブレット変換を施すタイリングと呼ばれる手法が取られることがあるが、この場合には、タイルをブロックVとして扱ってもよい。したがって、これらの場合には、ブロックVには、複数のDCTブロックが含まれることや、離散ウェーブレット変換の複数のサブバンドが含まれることもありえる。いずれにしても、圧縮符号化の処理単位を透かし埋め込み対象とすることで、圧縮符号化および復号のプロセスと同期して、透かしの埋め込みおよび抽出がなされることで、必要メモリの削減と処理時間の短縮が図られる。
【0106】
また、上記の説明では、量子化前のブロックに対して、電子透かしデータが埋め込まれたが、量子化されたブロックに対して、電子透かしデータを埋め込んでもよい。もっともその場合は、透かしの埋め込みにより圧縮率が低下する。
【0107】
また、上記の説明では、複数の透かしデータの候補または埋め込み位置の候補を生成するために、多様性に富んだ候補の生成が可能なGS方式を用いたが、他のスクランブル方式を適用してもよく、また何らかの方法でランダムに候補のデータを生成してもよい。また実施の形態では、逆スクランブルにより、生成された透かしデータの候補から元の透かしデータを再現したが、生成された透かしデータの候補と元の透かしデータとを対応づけたテーブルを備え、このテーブルを参照して元の透かしデータを求めてもよい。
【0108】
またスクランブルの際に初期データとして使用した識別データは、透かしデータの先頭に挿入されて復号側に提供されていたが、この識別データを透かしには埋め込まずに、符号化側で秘密鍵として保持、管理してもよい。その場合、復号側はこの秘密鍵を取得した上で、透かしデータのスクランブルを解除する。
【0109】
また、上記の説明では、図2で示したように、L種類の透かしデータの候補を生成するために、L個のマルチプレクサ20、スクランブラ22、ECC部24、埋め込み部26、およびSNR計算部28が並列に設けられたが、これらの部材を単一構成にして、L種類の透かしデータの候補を逐次的に生成、評価して最適な候補を選択してもよい。
【0110】
【発明の効果】
本発明によれば、電子透かしの埋め込みと抽出処理を効率化し、透かしの耐性と検出精度を改善することができる。
【図面の簡単な説明】
【図1】 実施の形態1に係る符号化装置の構成図である。
【図2】 図1の変更部と埋め込み部の機能構成図である。
【図3】 実施の形態1に係る復号装置の構成図である。
【図4】 元の透かしデータとL種類のスクランブルされた透かしデータとの関係を説明する図である。
【図5】 符号化時の畳み込み演算を説明する図である。
【図6】 復号時の畳み込み演算を説明する図である。
【図7】 離散コサイン変換されたホストデータのブロックに透かしデータが埋め込まれる様子を説明する図である。
【図8】 図7のブロックに透かしビットが埋め込まれる様子を説明する図である。
【図9】 離散ウェーブレット変換されたホストデータのサブバンドを説明する図である。
【図10】 実施の形態1に係る電子透かしの埋め込み手順を説明するフローチャートである。
【図11】 実施の形態1に係る電子透かしの抽出手順を説明するフローチャートである。
【図12】 実施の形態2に係る符号化装置の構成図である。
【図13】 実施の形態2に係るブロック誤り訂正を説明する図である。
【図14】 実施の形態2に係る復号装置の構成図である。
【図15】 実施の形態3に係る符号化装置の構成図である。
【図16】 実施の形態3に係るブロック全体の畳み込み符号を説明する図である。
【図17】 実施の形態3に係る復号装置の構成図である。
【符号の説明】
10 符号化処理部、 12 ブロック分割部、 14 直交変換部、 16量子化部、 18 可変長符号化部、 20 マルチプレクサ、 22 スクランブラ、 24 ECC部、 26 埋め込み部、 28 SNR計算部、 32 暗号化部、 33 ブロックECC部、 34 変更部、 36 埋め込み部、 37 畳み込み符号化部、 38 透かし埋め込み処理部、 40 透かし抽出処理部、 42 抽出部、 44 ECC復号部、 46 デスクランブラ、 48 暗号復号部、 49 ブロックECC復号部、 50 多数決判定部、 51 畳み込み符号復号部、 60 復号処理部、 62 可変長符号復号部、 64 ブロック分割部、 66 逆量子化部、 68 逆直交変換部、 100 符号化装置、 200 復号装置。[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 strong digital watermark while maintaining the degree of freedom of the process of embedding digital watermark information (see Non-Patent
[0005]
[Non-Patent Document 1]
Ingemar J. Cox, Joe Kilian, F. Thomson Leighton, and Talal Shamoon, "Secure Spread Spectrum Watermarking for Multimedia," IEEE Trans. On Image Processing, Vol. 6, No. 12, December 1997.
[0006]
[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.
[0007]
Digital watermark embedding technology has been proposed to increase the resistance of digital watermarks, but in accordance with human visual characteristics, a method for embedding digital watermarks in high-frequency components such as edge portions of images and portions with large changes in texture regions Therefore, there is a limit in terms of versatility and flexibility to reinforce resistance to various operations on content data after embedding a watermark, which strongly depends on the contents of individual content data.
[0008]
In addition, when compressing and encoding an image, the image is divided into blocks, and compression encoding is performed in units of blocks. This is because the amount of memory required for processing can be suppressed to a certain amount by dividing the block. On the other hand, digital watermarks are usually embedded in the entire image, and are inconsistent with compression coding in units of blocks, and are embedded based on a memory that buffers the entire image, so a large memory capacity is required. It is.
[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. Another object is to provide a technique capable of embedding and extracting a digital watermark in synchronization with compression encoding and decoding.
[0010]
[Means for Solving the Problems]
One embodiment of the present invention relates to a digital watermark embedding method. In this method, in synchronism with the compression encoding of host data, substantially the same digital watermark data is redundantly embedded in a plurality of blocks using a block on which compression encoding is performed as a digital watermark embedding unit.
[0011]
The block here is a processing unit when the host data is divided and compressed and encoded, and usually has a fixed size, and is stored in the memory for each processing unit and subjected to the compression encoding process. Since the digital watermark is embedded in the compression coding processing unit, the memory efficiency is high, and the digital watermark embedding process can be performed in real time in conjunction with the compression coding. Also, since substantially the same digital watermark data is repeatedly embedded in a plurality of blocks, the watermark resistance is enhanced. Here, “substantially the same digital watermark data” refers to the case where the same digital watermark is embedded by changing the block number or other information for each block, or the watermark data is scrambled depending on the block data. The purpose is to include.
[0012]
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. 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 resistance 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.
[0013]
When embedding the watermark data in each of the plurality of blocks, a plurality of watermark data candidates generated by scrambling the watermark data are embedded, and the tolerance of the embedded watermark candidates is evaluated, and the evaluation is good. The block in which the watermark data candidate is embedded may be selected as an embedded block. As described above, by scrambled the watermark data for each block and embedding watermark data having high tolerance, the tolerance of the watermark can be further enhanced by taking advantage of the data characteristics of each block.
[0014]
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.
[0015]
Another aspect of the present invention relates to an encoding apparatus. This apparatus includes an encoding processing unit that compresses and encodes host data in units of blocks, and substantially the same digital watermark data in a plurality of blocks that are subjected to compression encoding in synchronization with the compression encoding of host data. A watermark embedding processing unit to be embedded. The watermark embedding processing unit scrambles the watermark data to generate a plurality of watermark data candidates, and embeds each of the plurality of watermark data candidates in the block to generate a plurality of embedded block candidates. And selecting each of the plurality of embedded block candidates based on the evaluation value of the tolerance, and an evaluation unit that evaluates the resistance of the digital watermark for each of the plurality of embedded block candidates Part.
[0016]
The embedding unit may embed a parity sequence when an information sequence of the watermark data embedded in the plurality of blocks is subjected to error correction coding as a digital watermark in a part of the plurality of blocks. The watermark embedding processing unit converts an information sequence composed of information bits of the watermark data to be embedded in K blocks out of N blocks subjected to compression encoding, and performs error correction with a coding rate of K / N A block error correction encoding unit that generates a parity sequence composed of redundant bits having the same bit length as the information bits to be error correction encoded using a code and embedded in the remaining (N−K) blocks But you can. If the information bits of the watermark data are n bits (n is an integer), the information series embedded in K blocks is n × K bits. When the entire information sequence embedded in the K blocks is subjected to error correction coding at a coding rate of K / N, a parity sequence of n × (NK) bits is obtained as a whole. The n redundant bits obtained by dividing the parity sequence by n bits are embedded in (NK) blocks as a digital watermark. K blocks are called information sequence embedding blocks, and (N−K) blocks are called parity sequence embedding blocks. Since both the information bits embedded in the information sequence embedding block and the redundant bits embedded in the parity sequence embedding block are n bits, they can be embedded in the same method without distinction when embedding as a digital watermark. it can.
[0017]
Yet another embodiment of the present invention relates to a decoding apparatus. This apparatus extracts substantially the same digital watermark data from a plurality of blocks to be decoded in synchronization with decoding of the encoded host data and a decoding processing unit for decoding the encoded host data in units of blocks. And a watermark extraction processing unit. The watermark extraction processing unit includes: an extraction unit that extracts scrambled watermark data from each of a plurality of blocks to be decoded; a descrambling unit that unscrambles the scrambled watermark data; and the plurality of blocks A determination unit that identifies embedded watermark data by performing majority determination of the plurality of extracted watermark data. By extracting watermark data from a plurality of blocks and making a majority decision, watermark data detection accuracy can be improved.
[0018]
The extraction unit may extract a parity sequence for error correction of an information sequence of the watermark data extracted from the plurality of blocks as a digital watermark from a part of the plurality of blocks. The watermark extraction processing unit extracts, from the remaining (N−K) blocks, an information sequence including information bits of the watermark data extracted from K blocks among N blocks to be decoded. The block may further include a block error correction decoding unit that performs error correction using a parity sequence including redundant bits having the same bit length as the information bits.
[0019]
Yet another embodiment of the present invention relates to a computer program. The program includes a step of embedding a plurality of digital watermark data candidates generated by scrambling in a block subjected to compression encoding in synchronization with compression encoding of host data to generate a plurality of embedded block candidates And, for each of the plurality of embedded block candidates, evaluating the resistance of the embedded digital watermark, and finally selecting one of the plurality of embedded block candidates based on the evaluation value of the digital watermark And selecting the block as an embedded block.
[0020]
Still another embodiment of the present invention also relates to a computer program. The program includes a step of extracting scrambled watermark data from each of a plurality of blocks to be decoded in synchronization with decoding of encoded host data, a step of unscrambled the scrambled watermark data, and A step of determining the majority of the plurality of watermark data extracted from the plurality of blocks and identifying the embedded watermark data.
[0021]
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, etc. are also effective as an aspect of the present invention.
[0022]
DETAILED DESCRIPTION OF THE INVENTION
FIG. 1 shows a configuration of
[0023]
The
[0024]
The host data S is divided into blocks V by the
[0025]
The
[0026]
The changing
[0027]
The watermark embedding processing by the watermark embedding
[0028]
The changing
[0029]
FIG. 2 is a functional configuration diagram of the changing
[0030]
The
[0031]
FIG. 3 shows a configuration of
[0032]
The
[0033]
The watermarked encoded host data T ′ is decoded by the variable length
[0034]
The
[0035]
By repeating the above-described watermark extraction processing on the embedded block W ′ of the watermarked encoded host data T ′ decoded by the
[0036]
The majority
[0037]
The majority
[0038]
A procedure for embedding and extracting a digital watermark by the
[0039]
The
[0040]
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−r) -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.
[0041]
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.
[0042]
The
[0043]
Ti(X) = QS (x)[(CixM+ 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.
[0044]
At the time of demodulation, the
[0045]
Here, S (x) = x as scramble polynomial S (x)rA case where +1 is used will be described. When M mod r = 0, the expression (1) can be expressed by the convolution operation shown in the following expression.
[0046]
tj= Dj(+) Ci (J = 0)
tj= Dj(+) Tj-1 (J = 1,..., M / 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.
[0047]
FIG. 5 is a diagram for explaining the convolution operation at the time of encoding. For example, consider the case where M = 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
[0048]
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.
[0049]
At the time of decoding, the original information series D (x) is obtained by performing a convolution operation as in the following equation.
[0050]
dj= Tj(+) Ci (J = 0)
dj= Tj(+) Tj-1 (J = 1,..., M / r-1)
[0051]
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.
[0052]
Refer to FIG. 10 again. The L types of scrambled watermark data X ′ generated by the
[0053]
L types of scrambled watermark data X '0, X1, ..., xL-1And The bit sequence of each watermark data candidate is expressed as follows. The leading r bits are identification data. Also, bit 0 after the scramble process is replaced with -1, and the following process is performed.
[0054]
x0= {-1, ...,-1, -1, x0 0, X0 1, ..., x0 n-r-1}
x1= {-1, ...,-1,1, x1 0, X1 1, ..., x1 n-r-1}
...
xL-1= {1, ..., 1,1, xL-1 0, XL-1 1, ..., xL-1 n-r-1}
[0055]
From the block V of the host data S, a pair of sample sets (V+, V−) Is selected. Set of embedded samples V+, V−Each has n elements as follows.
[0056]
V+= {V+ 0, V+ 1, ..., v+ n-1}
V−= {V− 0, V− 1, ..., v− n-1}
Here a set of samples V+, V−A subset v that is an element of+ i, V− i(I = 0, 1,..., N−1) are composed of m pieces of sample data randomly selected in the same block V.
[0057]
v+ i= {V+ i, 0, V+ i, 1, ..., v+ i, m-1}
v− i= {V− i, 0, V− i, 1, ..., v− i, m-1}
[0058]
Watermark data candidate xk(K = 0,..., L−1) is a sample set pair (V+, V−) As follows, and L types of embedded block candidates WkIs generated.
[0059]
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. .
[0060]
When the
[0061]
FIG. 7 is a diagram for explaining how the scrambled watermark data X ′ is embedded in the block V of the host data S subjected to discrete cosine transform. As shown in the figure, in the discrete cosine transform used in JPEG, the spatial region of the host data S is divided into blocks V each consisting of 8 pixels vertically and horizontally, and each block V is converted into a spatial frequency component. Watermark bit string x of watermark data X 'scrambled to each block V after orthogonal transformationkIs embedded.
[0062]
FIG. 8 shows a watermark bit x with 2m DCT coefficients in block V, which is a DCT block of 8 × 8 size.k iShows the state of 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, a 1-bit watermark is embedded in one block V. By repeating this process n times, n-bit watermark data is embedded in 2 nm DCT coefficients in the block V.
[0063]
When the
[0064]
FIG. 9 is a diagram for explaining each subband of the host data S subjected to discrete wavelet transform. As shown in the figure, the host data S 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 vertical and horizontal directions. The number of vertical and horizontal pixels in each subband is ½ of the host data S before processing, and subband data having a size of ¼ can be obtained by one filtering.
[0065]
Of the subbands obtained in this way, the filtering process by the discrete wavelet transform is again performed 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]
In the example of the figure, the discrete wavelet transform is performed three times on the host data S, and the HL subband HL of the first layer is applied.1, LH subband LH1And HH subband HH1, HL subband HL of the second layer2, LH subband LH2And HH subband HH2, LL subband LL of the third layer3, HL subband HL3, LH subband LH3, And HH subband HH3In this order, compression encoding is performed. The watermark embedding
[0067]
Returning to FIG. 10, the
[0068]
Before giving an embedding strength evaluation formula, how the watermark data X ′ is detected when the embedding block W is deformed by signal processing, image processing, or the like will be considered. The deformation applied to the embedded block W is treated as noise N. A method of extracting the watermark data X ′ from the noise-embedded embedded block W ′ will be described. A pair of sets of embedded blocks (W '+, W ’−) Is defined as follows. Set of embedding blocks W ′+, W ’−Each has n elements as follows.
[0069]
W ’+= {W ’+ 0, W ’+ 1, ..., w '+ n-1}
W ’−= {W ’− 0, W ’− 1, ..., w '− n-1}
Here, a set W ′ of embedded blocks+, W ’−Each subset w ′ that is an element of+ i, W ’− iCorresponds to the embedding position of the digital watermark, and consists of m sample data of the embedding block W ′ as follows.
w ’+ i= {W ’+ i, 0, W ’+ i, 1, ..., w '+ i, m-1}
w ’− i= {W ’− i, 0, W ’− i, 1, ..., w '− i, m-1}
[0070]
Watermark bit xk iTo detect the following detection value ziCalculate
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.
[0071]
The embedding strength is evaluated by regarding the block V of the host data S 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. Embedded block candidate pairs (W+ K, W-K) To evaluate the signal-to-noise ratio according to the following equation and select an optimal candidate K.
[0072]
K = argmaxk(Pk/ Σk 2)
Pk= Σi = 0 n-1| Σj = 0 m-1(W+ K i, j-W-K i, j) |2/ N
σk 2= Σi = 0 n-1| Σj = 0 m-1(W+ K i, j-W-K i, j-Pk 1/2・ Xk i|2/ N
[0073]
Watermark bit xk iDetection value z for determining whether {1} is {1, -1}iIs z before the noise is added to the embedded block 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 square of the difference is evaluated and averaged for i = 0,..., N−1. However, PkIs the detected value ziOf squares of i = 0,..., N−1, indicating 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 detected value for detecting the watermark bit is larger.k/ Σk 2The value of increases. In other words, Pk/ Σk 2Selecting a candidate that maximizes the value means selecting a candidate having the smallest watermark bit detection error.
[0074]
Detection 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 for the detected value ziWatermark 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.iResponse is improved.
[0075]
The
[0076]
K = argmaxk(Pk/ Σk 2)
Pk= Σi = 0 n-1| Σj = 0 m-1(W* + K i, j-W* -K i, j) |2/ N
σk 2= Σi = 0 n-1| Σj = 0 m-1(W* + K i, j-W* -K i, j-Pk 1/2・ Xk i|2/ N
Where w* + K i, j, W* -K i, jIs embedded host data W after quantization. For example, when JPEG2000 compression encoding is performed, w* + K i, j, W* -K i, jCan be calculated using the JPEG2000 quantization method as follows.
[0077]
Based on the JPEG2000 standard “ISO / IEC 15444-1: JPEG 2000 image coding system, JPEG 2000 final committee draft, 18 August 2000”, the JPEG 2000 quantization method 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.
[0078]
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.
[0079]
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 block V needs to be resistant to such a quantization operation, the value of the embedded block W after being quantized by JPEG2000 is calculated, and as described above, The resistance of the watermark data is evaluated for the calculated embedded block W. Since the watermark embedding
[0080]
FIG. 11 is a flowchart for explaining a digital watermark extraction procedure performed by the watermark
[0081]
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]]
[0082]
The extracted watermark data X 'is further subjected to error correction by the
[0083]
The majority
[0084]
As described above, according to the embodiment, in order to embed a watermark in synchronization with the compression encoding process of the host data S, the compression encoding is performed using a small-capacity memory used for the compression encoding. At the same time, watermarks can be embedded. Similarly, the watermark can be extracted in synchronization with the decoding of the watermarked encoded host data T.
[0085]
Also, by using the GS method, when media data such as an image or sound for embedding a digital watermark is given, the watermark bit sequence can be embedded after being converted into a bit sequence that can be easily embedded in the media data. 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.
[0086]
Further, since substantially the same watermark is redundantly embedded in the plurality of blocks V, the watermark resistance can be further enhanced. Also, depending on the data characteristics of the block V, it may be difficult to embed a watermark, but by embedding a plurality of blocks V, it is possible to embed a watermark with enhanced resistance to a block that is relatively easy to embed, Through the majority decision at the time of watermark extraction, the watermark detection accuracy can be improved as a whole. Furthermore, the presence of tampering can be checked in block units by majority decision.
[0087]
FIG. 12 is a configuration diagram of
[0088]
The watermark embedding
[0089]
The
[0090]
FIG. 13 is a diagram for explaining a block error correction code. The N blocks V of the host data S are divided into K information
[0091]
Since the number of redundant bits P embedded in one block V is the same as the number of information bits D, it is not particularly distinguished whether it is redundant bits P or information bits D, and the block V of the host data S is not distinguished. Can be embedded as a watermark. Referring to FIG. 12 again, when the block V currently being encoded is the information
[0092]
FIG. 14 is a configuration diagram of the
[0093]
The encryption /
[0094]
In the first embodiment, error correction coding is performed by the
[0095]
As in the
[0096]
Embodiment 3
FIG. 15 is a configuration diagram of
[0097]
The watermark embedding
[0098]
The
[0099]
FIG. 16 is a diagram for explaining the convolutional coding of the entire block. Each of the N blocks V of the host data S is composed of (n−r) * K / N information bits D and (n−r) * (1−K / N) redundant bits P. When the watermark bits of (n−r) bits are embedded after GS encoding and viewed as a whole block, an information sequence of (n−r) × K bits and (n−r) × (N−K) bits A watermark sequence composed of redundant sequences is embedded after GS encoding. Therefore, when viewed from the (n−r) -bit watermark sequence embedded in the entire host data S, one codeword subjected to error correction coding at the coding rate K / N is formed.
[0100]
The
[0101]
FIG. 17 is a configuration diagram of the
[0102]
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.
[0103]
In the above description, the substantially same watermark is embedded in all the blocks V when the host data S is divided into blocks. However, the same watermark is embedded in a plurality of blocks in order to enhance the resistance of the watermark. Therefore, although the tolerance is weakened, a watermark may be embedded only in some blocks or only one block. Further, one digital watermark may be divided into several parts and distributed and embedded in a plurality of blocks V of the host data S. In either case, the watermark can be embedded and extracted in units of blocks in synchronization with the compression encoding and decoding processes, and the effect of improving the processing efficiency remains unchanged. In addition, by such processing, a plurality of types of watermarks can be embedded.
[0104]
In the second and third embodiments, one error correction codeword is formed using a watermark embedded in all blocks, but the length of this error correction codeword is set to 1 / h. Thus, a watermark to be embedded in all blocks may be configured with h error correction codewords and embedded in all blocks. However, the error correction capability decreases as h increases.
[0105]
In the above description, the block V as a watermark embedding target is assumed to be a block as a unit of orthogonal transform processing, and a DCT block or a subband of discrete wavelet transform is treated as a block V. However, the gist of the present invention is compression Since a block as an encoding processing unit is a watermark embedding target, for example, when an image is divided into regions of a predetermined size and the divided image is buffered and compressed and encoded, such division is performed. The image may be handled as a block V to be watermark embedded. In addition, in JPEG2000, which is a standard for still image compression, a technique called tiling may be used in which an image is divided into small areas called tiles and wavelet transform is performed on each tile. The tile may be treated as a block V. Therefore, in these cases, the block V may include a plurality of DCT blocks or a plurality of subbands of the discrete wavelet transform. In any case, by setting the processing unit of compression coding as a watermark embedding target, watermark embedding and extraction are performed in synchronization with the compression coding and decoding processes, thereby reducing the required memory and processing time. Is shortened.
[0106]
In the above description, the digital watermark data is embedded in the block before quantization. However, the digital watermark data may be embedded in the quantized block. In that case, however, the compression rate is lowered by embedding the watermark.
[0107]
In the above description, in order to generate a plurality of watermark data candidates or embedding position candidates, the GS method capable of generating a variety of candidates is used. However, other scramble methods can be applied. Alternatively, candidate data may be randomly generated by some method. In the embodiment, the original watermark data is reproduced from the generated watermark data candidates by descrambling. , The original watermark data may be obtained.
[0108]
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.
[0109]
In the above description, as shown in FIG. 2,
[0110]
【The invention's effect】
According to the present invention, it is possible to improve the efficiency of watermark embedding and extraction, and improve watermark tolerance and detection accuracy.
[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 a state in which watermark data is embedded in a block of host data that has been subjected to discrete cosine transform.
FIG. 8 is a diagram illustrating a state in which watermark bits are embedded in the block of FIG.
FIG. 9 is a diagram for explaining a subband of host data subjected to discrete wavelet transform;
FIG. 10 is a flowchart for explaining a digital watermark embedding procedure according to the first embodiment;
FIG. 11 is a flowchart for explaining a digital watermark extraction procedure according to the first embodiment;
12 is a configuration diagram of an encoding apparatus according to
FIG. 13 is a diagram for explaining block error correction according to the second embodiment.
14 is a block diagram of a decoding apparatus according to
15 is a configuration diagram of an encoding apparatus according to Embodiment 3. FIG.
FIG. 16 is a diagram for explaining convolutional codes for the entire block according to Embodiment 3;
FIG. 17 is a configuration diagram of a decoding apparatus according to Embodiment 3.
[Explanation of symbols]
10 coding processing unit, 12 block division unit, 14 orthogonal transform unit, 16 quantization unit, 18 variable length coding unit, 20 multiplexer, 22 scrambler, 24 ECC unit, 26 embedding unit, 28 SNR calculation unit, 32 cipher Conversion unit, 33 block ECC unit, 34 changing unit, 36 embedding unit, 37 convolutional encoding unit, 38 watermark embedding processing unit, 40 watermark extraction processing unit, 42 extraction unit, 44 ECC decoding unit, 46 descrambler, 48 encryption decoding Unit, 49 block ECC decoding unit, 50 majority decision determination unit, 51 convolutional code decoding unit, 60 decoding processing unit, 62 variable length code decoding unit, 64 block division unit, 66 inverse quantization unit, 68 inverse orthogonal transform unit, 100
Claims (12)
ホストデータの圧縮符号化と同期して、圧縮符号化の行われる複数のブロックに電子透かしデータを埋め込む透かし埋め込み処理部とを含み、
前記透かし埋め込み処理部は、
前記透かしデータをスクランブルして複数の透かしデータの候補を生成するスクランブル部と、
前記ブロックに前記複数の透かしデータの候補のそれぞれを埋め込み、複数の埋め込みブロックの候補を生成する埋め込み部と、
前記複数の埋め込みブロックの候補の各々について、当該電子透かしの耐性を評価する評価部と、
前記耐性の評価値に基づいて前記複数の埋め込みブロックの候補の一つを選択する選択部とを含むことを特徴とする符号化装置。An encoding processing unit that compresses and encodes host data in units of blocks;
And compression coding of host data and synchronization, and a watermark embedding processing unit embeds the child watermark data collector into a plurality of blocks made of compression coding,
The watermark embedding processing unit
A scramble unit that scrambles the 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 block and generates a plurality of embedded block candidates;
For each of the plurality of embedded block candidates, an evaluation unit that evaluates the resistance of the digital watermark;
And a selection unit that selects one of the plurality of embedded block candidates based on the tolerance evaluation value.
前記符号化ホストデータの復号と同期して、復号の行われる複数のブロックから電子透かしデータを抽出する透かし抽出処理部とを含み、
前記透かし抽出処理部は、
復号の行われる複数のブロックの各々からスクランブルされた透かしデータを抽出する抽出部と、
前記スクランブルされた透かしデータのスクランブルを解除するデスクランブル部と、
前記複数のブロックから抽出された複数の前記透かしデータを多数決判定することにより、埋め込まれた透かしデータを特定する判定部とを含むことを特徴とする復号装置。A decoding processor that decodes encoded host data in units of blocks;
In synchronism with the decoding of the encoded host data, and a watermark extracting unit for extracting child watermark data collector from a plurality of blocks made of decoding,
The watermark extraction processing unit
An extractor for extracting scrambled watermark data from each of a plurality of blocks to be decoded;
A descrambling unit for descrambling the scrambled watermark data;
A decoding apparatus comprising: a determination unit that identifies embedded watermark data by performing a majority decision on the plurality of watermark data extracted from the plurality of blocks.
前記複数の埋め込みブロックの候補の各々について、埋め込まれた電子透かしの耐性を評価するステップと、
前記耐性の評価値に基づいて前記複数の埋め込みブロックの候補の1つを最終的に電子透かしが埋め込まれたブロックとして選択するステップとをコンピュータに実行させることを特徴とするコンピュータプログラム。Synchronizing with the compression encoding of the host data, embedding a plurality of digital watermark data candidates generated by scrambling into a block subjected to compression encoding, and generating a plurality of embedded block candidates;
Evaluating the embedded digital watermark resistance for each of the plurality of embedded block candidates;
A computer program causing a computer to execute a step of finally selecting one of the plurality of embedded block candidates as a block in which a digital watermark is embedded based on the evaluation value of the tolerance.
前記スクランブルされた透かしデータのスクランブルを解除するステップと、
前記複数のブロックから抽出された複数の前記透かしデータを多数決判定して、埋め込まれた透かしデータを特定するステップとをコンピュータに実行させることを特徴とするコンピュータプログラム。Extracting scrambled watermark data from each of a plurality of blocks to be decoded in synchronization with decoding of the encoded host data;
Descrambling the scrambled watermark data; and
A computer program for causing a computer to execute majority determination of a plurality of the watermark data extracted from the plurality of blocks and to specify embedded watermark data.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003003987A JP4024153B2 (en) | 2003-01-10 | 2003-01-10 | Digital watermark embedding method and encoding device and decoding device capable of using the method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003003987A JP4024153B2 (en) | 2003-01-10 | 2003-01-10 | Digital watermark embedding method and encoding device and decoding device capable of using the method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004221715A JP2004221715A (en) | 2004-08-05 |
JP4024153B2 true JP4024153B2 (en) | 2007-12-19 |
Family
ID=32895091
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003003987A Expired - Fee Related JP4024153B2 (en) | 2003-01-10 | 2003-01-10 | Digital watermark embedding method and encoding device and decoding device capable of using the method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4024153B2 (en) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4765054B2 (en) * | 2004-05-19 | 2011-09-07 | 国立大学法人山口大学 | Analog encoding system |
EP1729285A1 (en) * | 2005-06-02 | 2006-12-06 | Deutsche Thomson-Brandt Gmbh | Method and apparatus for watermarking an audio or video signal with watermark data using a spread spectrum |
WO2007049479A1 (en) * | 2005-10-25 | 2007-05-03 | The University Of Electro-Communications | Information processing apparatus, information processing method, and program |
JP4625406B2 (en) * | 2005-12-21 | 2011-02-02 | 株式会社リコー | Information embedding device, information extracting device, information embedding method, information extracting method, information embedding program, information extracting program, and information storage medium |
WO2009025006A1 (en) * | 2007-08-20 | 2009-02-26 | Fujitsu Limited | Image processor |
JP2010041710A (en) | 2008-07-11 | 2010-02-18 | Ricoh Co Ltd | Apparatus, method for detecting embedded information,program, and recording medium |
CN102187673B (en) | 2008-08-19 | 2014-07-30 | 汤姆森特许公司 | Luminance evaluation |
WO2010021682A1 (en) | 2008-08-19 | 2010-02-25 | Thomson Licensing | Cabac/avc compliant watermarking of syntax elements in compressed video |
KR101612729B1 (en) | 2008-08-19 | 2016-04-15 | 톰슨 라이센싱 | A propagation map |
BRPI0917456B1 (en) | 2008-08-19 | 2020-09-15 | Contentarmor | METHOD FOR SERVICE TO VIDEO FLOW OF ADAPTATIVE BINARY ARITHMETIC CODING WITH CONTEXT BASED (CABAC) |
US20110142418A1 (en) * | 2008-08-20 | 2011-06-16 | Shan He | Blockiness and fidelity in watermarking |
CN102132564B (en) | 2008-08-20 | 2013-09-11 | 汤姆森特许公司 | Selection of watermarks for the watermarking of compressed video |
CN102754124B (en) | 2010-02-09 | 2016-08-03 | 汤姆森许可贸易公司 | Use the watermark detection propagating figure |
CN106780278B (en) * | 2016-11-25 | 2020-08-04 | 陕西师范大学 | Self-recovery image encryption and decryption method combining zero watermark and block classification fusion |
CN107087086B (en) * | 2017-04-27 | 2019-02-05 | 齐鲁工业大学 | A kind of high-capacity reversible information concealing method based on code division multiplexing |
JP7042567B2 (en) * | 2017-07-07 | 2022-03-28 | 合同会社DMM.com | Distribution of digital content with embedded user-specific information |
CN110211018B (en) * | 2019-06-12 | 2021-06-04 | 山东科技大学 | Chaos encryption reversible information hiding method based on odd-even discrimination strategy |
CN113297592B (en) * | 2021-05-10 | 2023-02-07 | 复旦大学 | Relational database-oriented watermark tracing method, device and storage medium |
CN118014815A (en) * | 2024-03-12 | 2024-05-10 | 淮南师范学院 | Image watermark embedding method, image watermark extracting method, image watermark embedding device, image watermark extracting device, image watermark embedding equipment and storage medium |
-
2003
- 2003-01-10 JP JP2003003987A patent/JP4024153B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004221715A (en) | 2004-08-05 |
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 | |
JP4024153B2 (en) | Digital watermark embedding method and encoding device and decoding device capable of using the method | |
JP4155956B2 (en) | Digital watermark embedding apparatus and method, and digital watermark extraction apparatus and method | |
Sallee | Model-based methods for steganography and steganalysis | |
TWI439135B (en) | Watermarking encoded content | |
Yang et al. | A contrast-sensitive reversible visible image watermarking technique | |
US7360093B2 (en) | System and method for authentication of JPEG image data | |
Lee et al. | A public verifiable copy protection technique for still images | |
US7313696B2 (en) | Method for authentication of JPEG image data | |
US7493489B2 (en) | System and method for authentication of JPEG image data | |
Zain | Strict authentication watermarking with JPEG compression (SAW-JPEG) for medical images | |
US7627761B2 (en) | System for authentication of JPEG image data | |
Korus et al. | A scheme for censorship of sensitive image content with high-quality reconstruction ability | |
EP3602478B1 (en) | Video watermarking | |
Chandramouli et al. | Multiple-description framework for oblivious watermarking | |
Ayyappan et al. | A review on reversible data hiding techniques | |
Puteaux et al. | Hierarchical high capacity data hiding in JPEG crypto-compressed images | |
Chang et al. | High-Capacity Reversible Data Hiding Method for JPEG Images. | |
JP4267038B2 (en) | Digital watermark embedding device and digital watermark extraction device | |
JP5571756B2 (en) | Watermark encoded content | |
Hassan et al. | Variable block-size image authentication with localization and self-recovery | |
Ramkumar et al. | On the design of data hiding methods robust to lossy compression | |
Zhang et al. | Image watermarking algorithm based on the code division multiple access technique |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050915 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070612 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070619 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070810 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20070904 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20071002 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101012 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |