Data processing apparatus and method
Abstract
This record has no abstract on file.
Term
Term ended
Expired 13 December 2022, 3.8 years ago.
- Priority
- Filed
- Granted
- Expired
- Today
22 claims: 7 independent, 15 dependent
- 1マテリアルアイテム に 所定のコードワードの組のうちの1つのコードワードを導入することにより、 該 マテリアルアイテムの コードワードが埋め込まれたバージョン を生成する符号化データ処理装置において、 複数のコードワード係数を有する上記コードワードを生成するコードワード生成器と、 上記コードワード係数を上記マテリアルアイテムに結合する符号化プロセッサとを備え、 上記コードワードの組の各コードワードは、第1及び第2のフィールドを有するデータワードに固有に関連付けられ、該第1及び第2のフィールドの値の組の各値は、第1の複数の コードワード 係数を有する 該 コードワードの第1の部分及び第2の複数の コードワード 係数を有する 該 コードワードの第2の部分として表される ことを特徴とする 符号化データ処理装置。
- 2上記第1のフィールドの各値は、上記コードワードの第1の部分の第1の複数のコードワード係数の所定の 巡回シフト として表されることを特徴とする請求項1記載の符号化データ処理装置。
- 3上記コードワード生成器は、上記コードワードの第1の部分 を 導出 する擬似 乱数を生成する 擬似 乱数生成器を備え、上記第1のフィールドの値は、上記第1の 複数の コードワード係数の所定の 巡回シフト を定義することを特徴とする請求項2記載の符号化データ処理装置。
- 4上記コードワードの第2の部分の第2の複数の コードワード 係数は、複数のシード値のうち、上記第1のフィールドの値によって特定される補助的シード値を用いて生成され る擬似 乱数から導出され、該第2のフィールドの各値は、該第2の複数の コードワード 係数の対応するシフトとして表されることを特徴とする請求項1乃至3いずれか1項記載の符号化データ処理装置。
- 5上記コードワード生成器は、上記マテリアルアイテムのサンプルから、上記複数のコードワード係数を生成するための第1のシード値を生成することを特徴とする請求項1乃至4いずれか1項記載の符号化データ処理装置。
- 6上記符号化プロセッサは、順序変更コードに基づいて、上記第1の複数のコードワード係数及び上記第2の複数のコードワード係数の少なくともいずれか一方の順序を変更することを特徴とする請求項1乃至5いずれか1項記載の符号化データ処理装置。
- 7上記マテリアルアイテムを離散コサイン変換領域に変換する離散コサイン変換プロセッサ を備え、該 離散コサイン変換領域のマテリアルアイテムは、複数の離散コサイン係数によって 表され 、 上記符号化プロセッサは、上記 第1及び第2の複数の コードワード係数 のそれぞれと上記 離散コサイン変換係数の 対応する 1つとを加算することにより、上記コードワード係数と上記マテリアルアイテムとを結合し、 上記離散コサイン変換され、上記符号化プロセッサによって 上記コードワード 係数 が加算された マテリアルアイテム を逆離散コサイン変換することにより、上記マテリアルアイテムの コードワードが埋め込まれた バージョンを生成する逆離散コサイン変換プロセッサ を更に 備える請求項 1乃至 6 いずれか1項 記載の符号化データ処理装置。
- 8請求項1乃至7いずれか1項記載の符号化データ処理装置を備え、 オーディオ信号及び画像信号のうちの少なくとも1つが供給され、複写処理の前に 、 該オーディオ信号及び画像信号のうちの少なくとも1つにコードワードを導入する ことを特徴とする 映写装置。
- 9インターネットを介してダウンロードされるマテリアルアイテムを提供するウェブサーバ において、 請求項1乃至7いずれか1項記載の符号化データ処理装置を備え、 上記マテリアルアイテムが供給され、該 マテリアルアイテムがダウンロードされる前に 、 該マテリアルアイテムにコードワードを導入する ことを特徴とする ウェブサーバ。
- 10コードワードの組のうち、マテリアルアイテムの コードワードが埋め込まれた バージョン内に存在する少なくとも1つのコードワードを特定する検出データ処理装置であって、該 マテリアルアイテムのコードワードが埋め込まれた バージョンは、該マテリアルアイテム の 複数のサンプルの各サンプルに、複数のコードワード係数のうちの対応する1つのコードワード係数を結合することにより生成され、各コードワード係数は、第1及び第2のフィールドを有するデータワードに固有に関連付けられ、該第1のフィールドの値の組の各値は、第1の複数の コードワード 係数を有する 該 コードワードの第1の部分として表され、該第2のフィールドは、第2の複数の コードワード 係数を有する 該 コードワードの第2の部分として表され、 該 第1のフィールドの各値は、 該 コードワードの第1の部分の第1の複数のコードワード係数の所定の 巡回シフト として表されている検出データ処理装置において、 上記 コードワードが埋め込まれた マテリアルアイテムからコードワードを再生し、再生コードワードを生成する復号プロセッサと、 上記再生コードワードの第1の部分をコードワードの組から生成された各コードワードの第1の部分に相関させ て 、 該 生成された各コードワードに 対する第1の 相関値を算出し、 所定の閾値を超える 上記第1の 相関値から 対応する 第1のフィールドの値を検出し、 上記再生コードワードの第2の部分 を上記 コードワードの組から生成された各コードワードの第2の部分に相関させ て 、 該 生成された各コードワードに 対する 第2の相関値を算出し、 所定の閾値を 超える上記 第2の相関値から 対応する 第2のフィールドの値を検出することにより 、 少なくとも1つの第1の フィールド の値及び少なくとも1つの第2の フィールド の値を検出する検出プロセッサとを備える検出データ処理装置。
- 11上記検出プロセッサは、 上記再生コードワードの第1の部分 の フーリエ変換値を算出し、 上記生成されたコードワードの第1の部分の第1の複数のコードワード係数のフーリエ変換値を算出し、 上記再生コードワードの第1の部分のフーリエ変換値又は上記生成されたコードワードの第1の部分のフーリエ変換値のいずれか一方の複素共役を算出し、 上記再生コードワードの第1の部分のフーリエ変換 値又はその複素共役 と対応する上記生成されたコードワードの第1の部分のフーリエ変換 値又はその複素共役 とを乗算して第1の中間積サンプルを算出し、 上記 第1の 中間積サンプルを逆 フーリエ 変換し、それぞれが上記コードワードの第1の部分の相関値を表す相関サンプルを算出することに より、 上記再生コードワードの第1の部分の値と上記生成された各コードワードの第1の部分の値との相関値を算出することを特徴とする請求項10記載の検出データ処理装置。
- 12上記コードワードの第2の部分の第2の複数の コードワード 係数は 、上記 第1のフィールドの値によって特定される 複数の 補助的シード値 のうちの1つ を用いて生成され る擬似 乱数から導出され、該第2のフィールドの各値は、該第2の複数の コードワード 係数の対応するシフトとして表され、 上記復号プロセッサは、 上記 補助的シード値の組から、上記相関値から検出された第1のフィールドの値によって示される補助的シード値を特定し、 上記検出プロセッサは、上記特定された補助的シード値から上記第2の複数のコードワード係数を生成し、上記再生コードワードの第2の部分に対する上記第2の 複数の コードワード係数のシフトから上記第2の フィールド の値を特定することを特徴とする請求項10又は11記載の検出データ処理装置。
- 13上記検出プロセッサは、上記生成された第2の複数の コードワード 係数を上記再生コードワードの第2の部分に相関させることにより、該再生コードワードの第2の部分に対する該生成された第2の複数の コードワード 係数のシフトの値を特定することを特徴とする請求項12記載の検出データ処理装置。
- 14上記検出プロセッサは、 上記 再生コードワードの 第2の部分 の フーリエ変換値を算出し、 上記生成されたコードワードの第2の部分の第2の複数のコードワード係数のフーリエ変換値を算出し、 上記再生コードワードの第2の部分のフーリエ変換値又は上記生成されたコードワードの第2の部分のフーリエ変換値のいずれか一方の複素共役を算出し、 上記再生コードワードの第2の部分のフーリエ変換 値又はその複素共役 と対応する上記生成されたコードワードの第2の部分のフーリエ変換 値又はその複素共役 とを乗算して第2の中間積サンプルを算出し、 上記 第2の 中間積サンプルを逆 フーリエ 変換し、それぞれが上記コードワードの第2の部分の相関値を表す相関サンプルを算出することによ り、 上記生成された第2の複数の コードワード 係数を上記再生コードワードの第2の部分に相関させることを特徴とする請求項13記載の検出データ処理装置。
- 15上記コードワードの第1及び第2の部分を構成する 上記第1の複数のコードワード係数及び上記第2の複数のコードワード係数の少なくともいずれか一方は、順序変更コードに基づいて 、上記 マテリアル アイテム に埋め込まれ ており 、 上記 復号 プロセッサは、 上記 順序変更コードに基づいて 、 上記 再生コードワードの 第1及び第2の 部分 の少なくともいずれか一方の順序を戻すことを特徴とする請求項10乃至14いずれか1項記載の検出データ処理装置。
- 16上記コードワードの第1及び第2の部分を構成する 上記第1の複数のコードワード係数及び上記第2の複数のコードワード係数の少なくともいずれか一方は、順序変更コードに基づいて 、 マテリアル アイテム に埋め込まれ ており 、 上記検出プロセッサは、該順序変更コードに基づいて 、 上記 生成された 第1及び第2の 複数の コードワード係数の少なくともいずれか一方の順序を戻すことを特徴とする請求項10乃至14いずれか1項記載の検出データ処理装置。
- 17マテリアルアイテムの受信者を特定する受信者特定システムにおいて、 請求項1乃至7いずれか1項記載の符号化データ処理装置と、 請求項10乃至16いずれか1項記載の検出データ処理装置とを備え、 上記符号化データ装置は、上記受信者を固有に特定するシード値から生成されたコードワードをマテリアルアイテムに導入することにより、コードワードが埋め込まれたマテリアルアイテムを生成し、 上記検出データ処理装置は、上記マテリアルアイテムにおけるコードワードの有無を検 出することにより、所定の誤検出確率で該マテリアルアイテムの受信者を検出することを特徴とする 受信者特定システム。
- 18マテリアルアイテム に 所定のコードワードの組のうちの1つのコードワードを導入することにより、 該 マテリアルアイテムの コードワードが埋め込まれたバージョン を生成する符号化データ処理方法において、 複数のコードワード係数を生成することにより 、 上記コードワードを生成するステップと、 上記コードワード係数を上記マテリアルアイテムに結合するステップとを有し、 上記コードワードの組の各コードワードは、第1及び第2のフィールドを有するデータワードに固有に関連付けられ、該第1及び第2のフィールドの値の組の各値は、第1の複数の コードワード 係数を有する 該 コードワードの第1の部分及び第2の複数の コードワード 係数を有する 該 コードワードの第2の部分として表される ことを特徴とする 符号化データ処理方法。
- 19コードワードの組のうち、マテリアルアイテムの コードワードが埋め込まれた バージョン内に存在する少なくとも1つのコードワードを特定する検出データ処理方法であって、該 マテリアルアイテムのコードワードが埋め込まれた バージョンは、該マテリアルアイテム の 複数のサンプルの各サンプルに、複数のコードワード係数のうちの対応する1つのコードワード係数を結合することにより生成され、各コードワード係数は、第1及び第2のフィールドを有するデータワードに固有に関連付けられ、該第1のフィールドの値の組の各値は、第1の複数の コードワード 係数を有する 該 コードワードの第1の部分として表され、該第2のフィールドは、第2の複数の コードワード 係数を有する 該 コードワードの第2の部分として表され、 該 第1のフィールドの各値は、 該 コードワードの第1の部分の第1の複数のコードワード係数の所定の 巡回シフト として表されている検出データ処理方法において、 上記 コードワードが埋め込まれた マテリアルアイテムからコードワードを再生し、再生コードワードを生成するステップと、 上記再生コードワードの第1の部分をコードワードの組から生成された各コードワードの第1の部分に相関させ て 、 該 生成された各コードワードに 対する第1の 相関値を算出し、 所定の閾値を超える 上記第1の 相関値から 対応する 第1のフィールドの値を検出し、 上記再生コードワードの第2の部分 を 上記コードワードの組から生成された各コードワードの第2の部分に相関させ て 、 該 生成された各コードワードに 対する 第2の相関値を算出し、 所定の閾値を超える 上記 第2の相関値から 対応する 第2のフィールドの値を検出することにより 、 少なくとも1つの第1の フィールド の値及び少なくとも1つの第2の フィールド の値を検出するステップとを有する検出データ処理 方法 。
- 20データプロセッサにロードされて、該データプロセッサを請求項1乃至7いずれか1項記載の符号化データ処理装置又は請求項10乃至16いずれか1項記載の検出データ処理装置 における各プロセッサ として 機能 させる ための コンピュータにより実行可能なプログラム。
- 21データプロセッサにロードされて、該データプロセッサに請求項18 記載の符号化データ処理方法 又は 請求項 19記載の 検出データ処理 方法 における各ステップ を実行させる ための コンピュータにより実行可能なプログラム。
- 22マテリアルアイテムを表す信号を受信する受信装置 において、 請求項1乃至7いずれか1項記載の符号化データ処理装置を備え、 上記符号化データ処理装置は、上記 受信信号 に、該受信信号 を固有に識別する少なくとも1つのコードワードを結合する ことを特徴とする 受信装置。
Independent claims22
75 paragraphs, as filed
[Technical field to which the invention belongs] The present invention is a material.<u style="single">item</u>The present invention relates to a detection data processing device that detects a code word embedded in.<u style="single">Some</u>of<u style="single">Embodiment</u>In, codewords are used to identify material items.
[0002] [Conventional Technique] Material<u style="single">item</u>Material to identify<u style="single">item</u>The process of embedding information in is called water marking process.
[0003] The identification code word is embedded in the version of the material item to identify the version of the material item. That is, the material is processed by water marking.<u style="single">item</u>Can identify recipients of a particular version of. Here, the material<u style="single">item</u>Material in a way that does not match the intentions of the distributor<u style="single">item</u>If is copied or used, the distributor will use the material from the identification codeword.<u style="single">item</u>You can identify the version of and take appropriate measures.
[0004] In this specification, the material<u style="single">item</u>A material item that has been copied or used in a manner that does not meet the wishes of its supplier, owner, creator or distributor is referred to as an offending item or offending material for convenience.
[0005] The material may be any of a video material, an audio material, an audio / video material, a software program, a digital document and an information bearing material of any kind.
[0006] In order for the watermark mechanism to be successful, the user must use an identification code.<u style="single">word</u>Should be as difficult as possible to remove. Also, the user has an identification code<u style="single">word</u>It should also be as difficult as possible to change and show the creator of the material's offending item to others. Such user masking of codewords or tampering that causes codewords to indicate other users<u style="single">Collud attack</u>It is called (collusion attack).
[0007] [Problems to be Solved by the Invention] The same material is used in all watermark mechanisms.<u style="single">item</u>The user who received the copy of<u style="single">Collud attack</u>Must be difficult to succeed. Therefore, the mechanism of watermark is<u style="single">Collud attack</u>The watermark that was the target of<u style="single">Embedded</u>The material item needs to be identifiable with high probability. This identification is achieved by identifying the codeword reproduced from the offending material. On the other hand, the probability of determining that the codeword does not exist even though the codeword exists (missing probability: false negative probability) must be low. Furthermore, in reality<u style="single">Collud attack</u>The probability that a user who is not involved in the process will be mistakenly determined to be a user who has cheated (false positive probability) must be as low as possible.
[0008] U.S. Pat. No. 5,640,018 is a material.<u style="single">item</u>From<u style="single">of</u>From codewords that have a given number of coefficients in multiple copies<u style="single">Become</u>Digital watermark<u style="single">Embed</u>The water marking process is disclosed. Watermark<u style="single">Embedded</u>The material item is, for example, an image. The device for embedding the watermark disclosed here transforms the image into a Discrete Cosine Transform (hereinafter referred to as DCT) region. The digital watermark has a normal distribution and is composed of a set of randomly distributed coefficients. In the DCT region, for each DCT coefficient<u style="single">、</u>Each corresponding codeword coefficient<u style="single">Addition</u>Will be done. Related literature, published by MIT on July 27, 1998, by J. Kilian and FT Leighton, "<u style="single">Collud attack</u>Of the digital watermark against<u style="single">Resistance</u>(Resistance of Digital Watermarks to Collusion Attacks)<u style="single">Collud attack</u>A detailed mathematical analysis of this water marking process to prevent
[Means for Solving the Problems] The coded data processing device according to the present invention is a material item.<u style="single">To</u>By introducing a codeword from one of a given set of codewords<u style="single">This material item</u>of<u style="single">Embedded codeword</u>Make a copy. The coded data processing apparatus includes a codeword generator that generates a codeword having a plurality of codeword coefficients, and a coding processor that combines the codeword coefficients with a material item. Each codeword in a set of codewords is uniquely associated with a dataword that has first and second fields. Each value in the set of values in the first and second fields is a plurality of first values.<u style="single">Codeword</u>First part and second plural of codewords with coefficients<u style="single">Codeword</u>Represented as the second part of a codeword with coefficients.
[0010] According to the present invention, a watermark code word having hierarchical values can be generated. By generating the watermark codewords with the first and second parts, the data words in the first and second fields can be individually identified. The first and second fields can be associated with different parameters, such as address parameters. For example, the first field can identify the country of distribution of the material, and the second field can identify a specific distribution outlet within that country.
【0011】<u style="single">Preferred Embodiment</u>In, each value of the first field is a given of the first plurality of codeword coefficients of the first part of the codeword.<u style="single">Patrol shift</u>It is expressed as. In order to realize a practically effective system, the number of uniquely identifiable codewords should be as large as possible. For example, for distribution to consumer devices such as video devices and projectors for movie theaters, it is necessary to provide millions, preferably tens of millions of codeword sets. Here, the process of generating a set of codewords consisting of 10 million codewords and correlating each generated codeword with the reproduced codewords, that is, the first and second fields is a heavy processing load. Become. Of the present invention<u style="single">Embodiment</u>Allows efficient calculation of correlation values for at least the first part of a set of codewords. this<u style="single">Embodiment</u>So, at least the first part of a codeword in a set of codewords generates the first plurality of codeword coefficients and the first plurality of codeword coefficients.<u style="single">Patrol</u>It is generated by shifting in order and calculating other codewords. Thereby, the correlation value of the first part of all the codewords in the set can be calculated by using the Fourier transform correlator. As will be described later, the Fourier transform correlator calculates a set of correlation values in one process, which substantially reduces the calculation task.
[0012] A second plurality of second parts of a codeword<u style="single">Codeword</u>The coefficients are generated using the auxiliary seed value specified by the value in the first field of the multiple seed values.<u style="single">Pseudo</u>Derived from random numbers. Auxiliary seed values for generating the second part of the codeword are the values in the first field or the corresponding first plurality.<u style="single">Codeword</u>It may be generated by specifying the relative shift of the coefficients. Second<u style="single">field</u>Each value of is a second plural<u style="single">Codeword</u>Expressed as a relative shift of the coefficients. Hierarchical data words can be defined by constructing the watermark with the first and second parts. In addition, the codeword defined by each data word is<u style="single">Collud attack</u>It has strong resistance to resistance and can be detected efficiently using the Fourier transform correlation value.
【0013】<u style="single">Preferred Embodiment</u>In, the coding processor is based on the reordering code of the first and second<u style="single">plural</u>Embed these codeword coefficients in the material by changing the order of at least one of the codeword coefficients. Correspondingly<u style="single">Preferred Embodiment</u>In the data processor, the generated first and / or second<u style="single">plural</u>The correlation value is calculated by returning the order of the codeword coefficients or the reproduced first and / or second codeword coefficients. Codeword<u style="single">Patrol</u>By shifting<u style="single">Collud attack</u>Is more likely to succeed, but this probability can be reduced by changing the order of the codeword coefficients.
[0014] Further, the present invention<u style="single">Patent</u>Provided is a detection data processing device defined in the claims. As will be described later, the present invention<u style="single">Embodiment</u>In, the values of the first and second fields are specified from the first and second parts of the watermark. Preferably, this identification is the first plurality from a version of the reproduced codeword.<u style="single">Codeword</u>It is realized by correlating the coefficient with the first part of each codeword in the set of codewords to obtain the correlation value. This correlation is performed by the Fourier transform correlator. The value of the first field is specified by a correlation value that indicates the shift of the first plurality of codeword coefficients generated by the Fourier transform correlator. The first field identifies the auxiliary seed value, from which the second plurality of codeword coefficients that make up the second part of the watermark are generated. Here, the Fourier transform correlator is used again to identify the second field from the correlation value indicating the shift of the second codeword coefficient.
Further aspects and features of the present invention are:<u style="single">Patent</u>It is defined in the claims.
[Embodiment of the Invention] Watermark<u style="single">Embedding</u>Overview of the System Hereinafter, embodiments of the present invention will be described in the context of protecting video images. Deliver video images<u style="single">To do</u>The number of copies is determined by the number of users. Each copy has an identification code word to identify the copy assigned to one of these users.<u style="single">Embedded</u>。
[0017] Video images are digital<u style="single">of</u>This is a specific example of a material that is protected by embedding a codeword. The material protected by embedding the codeword may be a material containing software programs, digital documents, music, audio signals and any other kind of information, in addition to video images.
[0018] FIG. 1 is a block diagram showing a specific configuration of an encoding image processing apparatus that introduces an identification code word into a copy of an original image. The original image I is supplied from the source and goes to frame memory 1.<u style="single">Memory</u>Will be done. This original image has a watermark<u style="single">Embedded</u>It is reproduced as multiple copies, and each copy has a unique identification code word.<u style="single">Embedded</u>.. The original image is supplied to the DCT processor 2, which divides the original image into 8 × 8 pixel blocks and performs DCT processing on each 8 × 8 pixel block. As a result, the DCT processor 2 has a DCT transform image.<u style="single">(Hereafter, it is simply called DCT image.)</u>Generate V.
[0019] In the following description, the term "sample" refers to a discrete sample that constitutes an image (or may actually be another type of material). Samples from pixels<u style="single">Consists</u>It may be an image brightness sample. Therefore, the terms sample and pixel may be interchangeable in some circumstances.
The DCT image V is supplied to the coding processor (hereinafter, also referred to as an encoder) 4. The coding processor 4 is also supplied with the identification code word from the identification code word generator 8.
[0021] The identification code word generator 8 is supplied with a plurality of seed values. Each seed value is used to generate one of the corresponding identification codewords. Each generated identification code word is an original image<u style="single">I</u>Embedded in a copy of<u style="single">、</u>Watermark<u style="single">Embedded DCT</u>An image is generated. Identification code word generator 8<u style="single">pseudo</u>It is equipped with a random number generator.<u style="single">pseudo</u>The random number generator uses a specific identification codeword<u style="single">Constitution</u>Generate a codeword coefficient to do. preferable<u style="single">Embodiment</u>In, the codeword coefficients are generated based on a normal distribution. Instead of this, the codeword coefficient is<u style="single">pseudo</u>It may be predetermined based on the seed value used to initialize the random number generator. Therefore, each identification code word has a corresponding seed value, and each seed value is stored in the memory 12. That is, the identification code word<u style="single">X</u><sup><u style="single">i</u></sup>Seed value to generate<u style="single">seed</u><sub><u style="single">i</u></sub>Is read from memory 12 and this seed value<u style="single">seed</u><sub><u style="single">i</u></sub>In the identification code word generator 8 using<u style="single">pseudo</u>Initialize the random number generator.
[0022] In the following description, the original image<u style="single">I</u>The DCT version of is represented as V. here,<u style="single">V = {v</u><sub><u style="single">i</u></sub><u style="single">} = {v</u><sub><u style="single">1</u></sub><u style="single">, v</u><sub><u style="single">2</u></sub><u style="single">, v</u><sub><u style="single">3</u></sub><u style="single">, v</u><sub><u style="single">4</u></sub><u style="single">, , v</u><sub><u style="single">N</u></sub><u style="single">}</u>And<u style="single">v</u><sub><u style="single">i</u></sub>Is<u style="single">original</u>The DCT coefficient of the image. other<u style="single">Embodiment</u>In<u style="single">v</u><sub><u style="single">i</u></sub>Is an image sample value, and may represent an image sample value in a spatial region or an image sample value in another region.
[0023] Each identification code word<u style="single">X</u><sup><u style="single">i</u></sup>Is composed of n codeword coefficients as follows.<u style="single">X</u><sup><u style="single">i</u></sup><u style="single">= {x</u><sup><u style="single">i</u></sup><sub><u style="single">j</u></sub><u style="single">} = {x</u><sup><u style="single">i</u></sup><sub><u style="single">1</u></sub><u style="single">, x</u><sup><u style="single">i</u></sup><sub><u style="single">2</u></sub><u style="single">, x</u><sup><u style="single">i</u></sup><sub><u style="single">3</u></sub><u style="single">, x</u><sup><u style="single">i</u></sup><sub><u style="single">4</u></sub><u style="single">, ..., x</u><sup><u style="single">i</u></sup><sub><u style="single">n</u></sub><u style="single">}</u> The number n of codeword coefficients corresponds to the number of samples of the original image V. In addition, it should be noted.<u style="single">Codeword</u>The number of coefficients may be different and this number is specific<u style="single">Use</u>It may be decided according to.
[0024] And the i-th identification code word<u style="single">X</u><sup><u style="single">i</u></sup>The vector of the codeword coefficients constituting the encoder 4 is supplied to the encoder 4 via the channel 14. Encoder 4<u style="single">DCT</u>Identification code word on image V<u style="single">X</u><sup><u style="single">i</u></sup>To<u style="single">Embed</u>By doing so, the watermark<u style="single">Embedded</u>image<u style="single">W</u><sup><u style="single">i</u></sup>To generate. Actually, as shown in the following formula,<u style="single">DCT</u>image<u style="single">V</u>Each of<u style="single">DCT</u>coefficient<u style="single">v</u><sub><u style="single">1</u></sub><u style="single">~ v</u><sub><u style="single">N</u></sub>To each codeword coefficient<u style="single">x</u><sup><u style="single">i</u></sup><sub><u style="single">1</u></sub><u style="single">~ x</u><sup><u style="single">i</u></sup><sub><u style="single">n</u></sub>By adding, the watermark<u style="single">Embedded</u>image<u style="single">W</u><sup><u style="single">i</u></sup>Is generated.<u style="single">W</u><sup><u style="single">i</u></sup><u style="single">= V + X</u><sup><u style="single">i</u></sup><u style="single">W</u><sup><u style="single">i</u></sup><u style="single">= v</u><sub><u style="single">1</u></sub><u style="single">+ x</u><sup><u style="single">i</u></sup><sub><u style="single">1</u></sub><u style="single">, v</u><sub><u style="single">2</u></sub><u style="single">+ x</u><sup><u style="single">i</u></sup><sub><u style="single">2</u></sub><u style="single">, v</u><sub><u style="single">3</u></sub><u style="single">+ x</u><sup><u style="single">i</u></sup><sub><u style="single">3</u></sub><u style="single">, v</u><sub><u style="single">4</u></sub><u style="single">+ x</u><sup><u style="single">i</u></sup><sub><u style="single">4</u></sub><u style="single">, , v</u><sub><u style="single">n</u></sub><u style="single">+ x</u><sup><u style="single">i</u></sup><sub><u style="single">n</u></sub> As shown in Figure 1, the watermark<u style="single">Embedded</u>image<u style="single">W</u><sup><u style="single">i</u></sup>Was generated by encoder 4<u style="single">DCT</u>The image is output from this image processing device after being subjected to the inverse DCT transform by the inverse DCT processor 18 that performs the inverse DCT transform.
Therefore, as shown in FIG. 1, the watermark is displayed from the encoder 4.<u style="single">Embedded DCT</u>A set of images is output.<u style="single">Identifying code</u>word<u style="single">X</u><sup><u style="single">i</u></sup>With a maximum of 20 bits, you can select one of the 10 million identification codewords, the original image<u style="single">I</u>In contrast, 10 million watermarks<u style="single">Embedded</u>version<u style="single">Image W</u><sup><u style="single">i</u></sup>Can be generated.
[0026] By this identification code word,<u style="single">original</u>The watermark in image I<u style="single">Embedded</u>copy<u style="single">, That is, image W</u><sup><u style="single">i</u></sup>Can be identified individually, but other<u style="single">Embodiment</u>In, data can be sent in the image by the above-mentioned 20 bits. Therefore, it is used to select the identification codeword as described below.<u style="single">To do</u>20 bits<u style="single">DCT</u>Provides a 20-bit payload for sending data within Image V.
[0027] The watermark shown in Fig. 1<u style="single">Embedded</u>A coded image processor that produces an image is incorporated into a variety of products in a variety of different scenarios to which the present invention applies. For example, if you connect a coded image processor to a website or web server, the watermark will appear.<u style="single">Embedded</u>You can download the image. Prior to downloading a copy of the image, a unique codeword is introduced into the downloaded image, which allows the recipient of the downloaded image to be detected later.
[0028] In another application, the coded image processor is incorporated as part of a digital cinema projector, and the identification code word is incorporated into the image when projecting a movie, for example in a cinema.<u style="single">Embedded</u>.. This identification code word can identify the projector and movie theater on which the movie was projected. Therefore, the projector and the movie theater in which the pirated copy is made can be identified by the identification code word included in the pirated copy obtained by shooting the image projected from the projector. On the other hand, the watermark<u style="single">Embedded</u>The image may be copied as a photo or printed matter, or a copy of the copied photo or printed matter may be made and distributed. In FIG. 1, the watermark generated by the coded image processor is<u style="single">Embedded</u>The delivery destination of the image is a cloud-shaped frame<u style="single">expressed</u>Shown in delivery 19.
[0029] Detection processor In Fig. 2, the watermark is<u style="single">Embedded</u>It is a block diagram which shows the structure of the detecting image processing apparatus which detects one or more code words embedded in an offending marked image. Comprehensively speaking, the detection image processing apparatus shown in FIG. 2 is used for image offending.<u style="single">version</u>That is, it has a function of identifying one or more codewords existing in the copy.
[0030] Watermark<u style="single">Embedded offending image (below</u>Offending version of the image<u style="single">Also called. )</u>W'is the data<u style="single">Source</u>Supplied from, to frame memory 20<u style="single">Memory</u>Will be done. The detection process in this detection image processing device is<u style="single">Original image (hereinafter,</u>Original version of the image<u style="single">Also called. )</u>Need<u style="single">So</u>, The frame memory 24 has the original version of the image<u style="single">Memory</u>Has been done. Watermark<u style="single">Embedded</u>The offending version W'of the image and the original version of the image are supplied to the registration processor 30 via separate connection channels 26 and 28, respectively.
As mentioned above, the offending version W'of the image has a watermark.<u style="single">Embedded</u>image<u style="single">W</u><sup><u style="single">i</u></sup>It may have been generated by photographing or copying a part of. Therefore, in order to increase the detection rate of the identification code word, the registration processor 30 is set to the frame memories 20 and 24, respectively.<u style="single">Memory</u>Aligns the offending image that has been made with the original version of the image. The purpose is the original image<u style="single">I sample</u>When,<u style="single">Image W with watermark embedded by adding codeword coefficient</u><sub><u style="single">i</u></sub><u style="single">Match with the corresponding sample in</u>That is.
[0032] This<u style="single">Alignment</u>The process will be described with reference to FIG. Figure 3 shows the original image I<u style="single">、</u>Watermark<u style="single">Embedded</u>It is shown in comparison with the offending version W'of the image. As shown in Figure 3, the watermark<u style="single">Embedded</u>The offending version W'of the image is the original image<u style="single">I</u>It has an offset with respect to this offset, which is watermarked by the watermark.<u style="single">Embedded</u>Offending version of the image<u style="single">To</u>Generate<u style="single">did</u>Due to the relative field of view of the camera<u style="single">are doing</u>there is a possibility.
[0033] To reproduce codeword coefficients<u style="single">Is</u>, Watermark<u style="single">Embedded</u>Offending version of the image W'<u style="single">Sample</u>Original image from<u style="single">I</u>You need to subtract the correct sample of. Two images are aligned for this process. As shown in Figure 3,<u style="single">Alignment</u>Image W is the original image<u style="single">I</u>Has a peripheral area PA that includes parts that do not exist in.
[0034] Other<u style="single">Embodiment</u>So, for example, the offending version from the internet<u style="single">W'</u>Offending image W'<u style="single">Is essentially</u>Already the original image<u style="single">I</u>Version of<u style="single">Because it is complete in</u>In such cases, it is not necessary to use the registration processor 30. Therefore, this detection image processing device has a watermark.<u style="single">Embedded</u>It has an alternative channel 32 for feeding images directly to the playback processor 40.
【0035】<u style="single">Alignment</u>The generated image W is supplied to the reproduction processor 40. The reproduction processor 40 is also supplied with a copy of the original image I via the second channel 44.<u style="single">Alignment</u>The resulting image W and the original image I are converted into a DCT region by the DCT processor 46. Next, as shown in the following equation,<u style="single">From the sample of the image V'in the DCT area where the water mark is embedded, the sample of the original image V in the DCT area</u>By subtracting<u style="single">Regeneration</u>The codeword X'is calculated. X'= V'-V<u style="single">= v'</u><sub><u style="single">1</u></sub><u style="single">-v</u><sub><u style="single">1</u></sub><u style="single">, v'</u><sub><u style="single">2</u></sub><u style="single">-v</u><sub><u style="single">2</u></sub><u style="single">, v'</u><sub><u style="single">3</u></sub><u style="single">-v</u><sub><u style="single">3</u></sub><u style="single">, v'</u><sub><u style="single">4</u></sub><u style="single">-v</u><sub><u style="single">4</u></sub><u style="single">, ..., v'</u><sub><u style="single">n</u></sub><u style="single">-v</u><sub><u style="single">n</u></sub><u style="single">= x'</u><sub><u style="single">1</u></sub><u style="single">, x'</u><sub><u style="single">2</u></sub><u style="single">, x'</u><sub><u style="single">3</u></sub><u style="single">, x'</u><sub><u style="single">4</u></sub><u style="single">, ..., x'</u><sub><u style="single">n</u></sub> Therefore, the playback processor 40 identifies via the connection channel 50.<u style="single">To do</u>Outputs the estimated value of the codeword coefficient. The reproduction code word X'is supplied to the first input terminal of the correlator 52. The second input terminal of the correlator 52 is the codeword generated by the codeword generator 54.<u style="single">X</u><sup><u style="single">i</u></sup>Is being supplied. The codeword generator 54, like the identification codeword generator 8 described above, uses a predetermined seed value that uniquely identifies the codeword read from the memory 58.<u style="single">、</u>Generate all possible codeword pairs.
Correlator 52 produces n similar values sim (i). one<u style="single">Embodiment</u>In, the similarity value sim (i) is calculated by finding the correlation based on the following equation.
[0037] [Number 1]<img file="JP4100674B2_D0001.tif" />[0038] Each of the n similar values sim (i) is supplied to the detector 60. The detector 60 then sets a similarity value sim (i) for each of the n possible codewords.<u style="single">analysis</u>To do. FIG. 4 shows the relationship between a specific example of the similarity value sim (i) generated by the correlator 52 and the threshold value TH of each possible codeword. As shown in FIG. 4, two codewords 2001 and 12345 exceed the threshold TH. Therefore, the detector 60 has a watermark corresponding to codeword 2001 and codeword 12345.<u style="single">Embedded</u>It is determined that the offending image was created from the image version. Therefore, this<u style="single">Embodiment</u>In, the false positive probability, which is determined by the size of the population, which is 10 million, and the watermarking strength.<u style="single">α</u>Guarantee false positive probability based on<u style="single">for</u>The height of the threshold TH can be set. Shown in Figure 4<u style="single">Embodiment</u>Now, the similarity value generated by the correlator 52<u style="single">sim (i)</u>Is the threshold<u style="single">TH</u>If it exceeds, this watermark has this false positive probability.<u style="single">Embedded</u>Image recipient cheats and watermarks<u style="single">Embedded</u>image<u style="single">W</u><sup><u style="single">i</u></sup>It is judged that he was involved in the creation of the offending version of.
[0039] Hereinafter, the features and advantages of the watermark system shown in FIGS. 1 and 2 will be described.
[0040] The registered watermark<u style="single">Embedded</u>The process of aligning the offending version of the image with the copy of the original image is done by the sample of the original image and the watermark.<u style="single">Embedded</u>Includes processing to check the correlation with the image sample. This correlation process is performed by shifting each sample of the image by a different shift amount. This process will be described with reference to FIG. Figure 5A shows a discrete sample of the original image I, and Figure 5B shows the watermark.<u style="single">Embedded</u>A discrete sample of the offending image W'is shown. As shown in FIGS. 5A and 5B, the time difference between each sample is dt determined by the sampling rate. Figure 5C shows the results of shifting each sample set in these images and correlating the discrete samples.
[0041] As shown in FIG. 5C, 6 samples<u style="single">shift</u>And 7 samples<u style="single">shift</u>The correlation peak is the highest among them. So the watermark<u style="single">Embedded</u>The offending image is shifted by this amount with respect to the original image.<u style="single">Alignment</u>Will be done.
Fourier Decoding The watermark system described above with reference to FIGS. 1 and 2 has 10 million watermarks relative to the original image.<u style="single">Embedded</u>Version<u style="single">Generate</u>can do. This is achieved by using a 20-bit watermark value. Here, as described above, the watermark is among the plurality of codewords.<u style="single">Embedded</u>In order to detect the presence of codewords in an offending image, it is necessary to examine the correlation between the codewords reproduced from that image and each of the 10 million possible codewords. Such a calculation task imposes a heavy processing load.
[0043] The correlator based on the present invention reduces the burden of this arithmetic processing, and therefore<u style="single">、</u>Watermark<u style="single">Embedded</u>Reduce the time required to detect codewords in offending images. This correlator based on the present invention is shown in FIG. Correlator shown in Figure 6<u style="single">52</u>Provides an alternative and effective method for calculating the sum of the correlation values described above. That is, this<u style="single">Embodiment</u>Then, the sum of the correlation values is calculated based on the following formula.<u style="single">F</u><sup><u style="single">-1</u></sup><u style="single">[F (X') F (X</u><sup><u style="single">(1)</u></sup><u style="single">)</u><sup><u style="single">*</u></sup><u style="single">]</u>Where F (A) represents the Fourier transform of A,<u style="single">F</u><sup><u style="single">-1</u></sup>(A) represents the inverse Fourier transform of A.
[0044] The correlator 52 shown in FIG. 6 includes a first Fourier transform processor 100 and a second Fourier transform processor 102. The first and second Fourier transform processors 100 and 102 may be realized by using a fast Fourier transform algorithm. The second Fourier transform processor 102 is the generated codeword<u style="single">X</u><sup><u style="single">1</u></sup>The complex conjugate of the Fourier transform value of is also calculated. Play code word<u style="single">X'</u>Fourier transform value of and the generated codeword<u style="single">X</u><sup><u style="single">1</u></sup>Fourier transform of<u style="single">value</u>The complex conjugate of is supplied to the first and second input terminals of the multiplier 110, respectively. The multiplier 110 multiplies each sample from the Fourier transform processors 100 and 102 and supplies the result to the inverse Fourier transform processor 112. The correlator 52 outputs the inverse Fourier transform value of the multiplied signal sample.
As described above, in the correlator 52 shown in FIG. 6, n codewords are generated.<u style="single">X</u><sup><u style="single">i</u></sup>The time required to calculate the correlation between and the playback codeword X'is reduced. This is because the Fourier transform processors 100 and 102 and the inverse Fourier transform processor 112 can be configured by a fast Fourier transform integrated circuit such as a commercially available application specific integrated circuit (ASIC). Further, the inverse Fourier transform value output from the correlator 52 provides n similar values sim (i) corresponding to the sum of n correlation values. Here, in order to utilize the characteristics of the correlator 52 shown in FIG. 6, the code word is<u style="single">pseudo</u>One codeword generated using a specific seed value supplied to the random number generator<u style="single">X</u><sup><u style="single">(1)</u></sup>To<u style="single">,Patrol</u>Generated by shifting<u style="single">Was</u>To. The generation of this code word will be described below. First codeword, as described below<u style="single">X</u><sup><u style="single">(1)</u></sup>Is<u style="single">identification</u>By codeword generator 8<u style="single">pseudo</u>A value that corresponds to a randomly generated number<u style="single">x</u><sub><u style="single">1</u></sub><u style="single">~ x</u><sub><u style="single">n</u></sub>It is expressed as. Meanwhile, the second codeword<u style="single">X</u><sup><u style="single">(2)</u></sup>Is the first codeword<u style="single">X</u><sup><u style="single">(1)</u></sup>Against<u style="single">Patrol shift</u>Is generated by executing. In addition, as shown below, the other codewords are the first codeword until the nth codeword is shifted to the n-1 position.<u style="single">X</u><sup><u style="single">(1)</u></sup>To<u style="single">Patrol</u>It is generated by shifting the target.<u style="single">X</u><sup><u style="single">(1)</u></sup><u style="single">= (x</u><sub><u style="single">1</u></sub><u style="single">, x</u><sub><u style="single">2</u></sub><u style="single">, x</u><sub><u style="single">3</u></sub><u style="single">, x</u><sub><u style="single">4</u></sub><u style="single">..., x</u><sub><u style="single">n-1</u></sub><u style="single">, x</u><sub><u style="single">n</u></sub><u style="single">)</u><u style="single">X</u><sup><u style="single">(2)</u></sup><u style="single">= (x</u><sub><u style="single">2</u></sub><u style="single">, x</u><sub><u style="single">3</u></sub><u style="single">, x</u><sub><u style="single">4</u></sub><u style="single">..., x</u><sub><u style="single">n-1</u></sub><u style="single">, x</u><sub><u style="single">n</u></sub><u style="single">, x</u><sub><u style="single">1</u></sub><u style="single">)</u><u style="single">X</u><sup><u style="single">(3)</u></sup><u style="single">= (x</u><sub><u style="single">3</u></sub><u style="single">, x</u><sub><u style="single">4</u></sub><u style="single">..., x</u><sub><u style="single">n-1</u></sub><u style="single">, x</u><sub><u style="single">n</u></sub><u style="single">, x</u><sub><u style="single">1</u></sub><u style="single">, x</u><sub><u style="single">2</u></sub><u style="single">)</u>・・・<u style="single">X</u><sup><u style="single">(n)</u></sup><u style="single">= (x</u><sub><u style="single">n</u></sub><u style="single">, x</u><sub><u style="single">1</u></sub><u style="single">, x</u><sub><u style="single">2</u></sub><u style="single">, x</u><sub><u style="single">3</u></sub><u style="single">, x</u><sub><u style="single">4</u></sub><u style="single">..., x</u><sub><u style="single">n-2</u></sub><u style="single">, x</u><sub><u style="single">n-1</u></sub><u style="single">)</u> Using this set of codewords<u style="single">Coding processor 4</u>By constructing part or all of the set of codewords generated by, the Fourier transform correlator 52 can calculate all similar values for all n codewords in a single process. it can. Therefore, as described above, the corresponding shift from 1 to n with respect to the original codeword produces a sum of n similar values, sim (i), for at least one codeword, as shown in FIG. A sum of large similar values sim (i) is generated. Thus, the correlator 52 is the first codeword.<u style="single">X</u><sup><u style="single">(1)</u></sup>It is possible to receive only one generated codeword corresponding to and calculate similar values for n codeword pairs as shown in FIG.
[0046] As is clear from the above explanation, it is possible if the codeword contains N samples.<u style="single">Patrol</u>There are only N shifts. Therefore, if the required codeword population p is greater than N, multiple underlying watermarks are needed. Each underlying watermark is<u style="single">Patrol</u>Shifts to generate N unique codewords.
[0047] Water mark<u style="single">Embedded</u>If an image constitutes one of multiple images, for example a video sequence, each image should have the same codeword.<u style="single">Embed</u>be able to. Therefore, it is shown in FIG.<u style="single">Correlator (hereinafter,</u>Fourier transform correlator<u style="single">Also called. ) 52</u>When one suspected code word in the judgment is specified by using, the subsequent correlation value is calculated even if the sum of all the correlation values sim (i) is used as described above. Can be done. Here, since the code word being determined has already been specified, the correlation processing is performed by the Fourier transform correlator shown in FIG.<u style="single">52</u>You only have to do it for the codeword specified by.
[0048] Also, the generated first codeword<u style="single">X</u><sup><u style="single">1</u></sup>Instead of calculating the complex conjugate of the Fourier transform value of<u style="single">X'</u>You may calculate the complex conjugate of the Fourier transform value of. This process is represented as a second variation of the process by the Fourier transform correlator shown below.<u style="single">F</u><sup><u style="single">-1</u></sup><u style="single">[F (X')</u><sup><u style="single">*</u></sup><u style="single">F (X</u><sup><u style="single">(1)</u></sup><u style="single">)]</u> Thus, the playback codeword<u style="single">X'</u>Either the complex conjugate of the Fourier transform value of the above and the Fourier transform value of the generated codeword are calculated by either the Fourier transform processor 100 or 102.
Changing the order of secret codewords First codeword X<sup>1</sup>To<u style="single">Patrol</u>The method of generating codewords by shifting the watermark has a problem that the security of the watermark is lowered. is this,<u style="single">Collud attack</u>In, the watermark<u style="single">Embedded</u>This is because the two images are compared. For each image<u style="single">hand</u>, Same codeword<u style="single">Patrol</u>Codeword, which is two versions of the same codeword generated by shifting<u style="single">Embedded</u>If<u style="single">Collud attack</u>For those who try, the watermark<u style="single">Embedded</u>2<u style="single">Horn</u>Identify differences between materials and therefore<u style="single">、</u>Makes it easier to identify codewords.<u style="single">Collud attack</u>If the person attempting to identify the codeword, he / she will be able to remove the watermark or falsify the watermark to pretend to be another person.
[0050] Such<u style="single">Collud attack</u>To prevent this<u style="single">Embodiment</u>Now, based on the secret permutation code π,<u style="single">Patrol</u>Randomly change the order of each codeword coefficient of each codeword that is shifted in a random manner. Watermarks can be used to change the order of codeword coefficients.<u style="single">Embedded</u>It is kept secret from the recipient of the image. This will<u style="single">Collud attack</u>The person who tries is the watermark<u style="single">Embedded</u>It becomes difficult to identify the correlation between the two images,<u style="single">Collud attack</u>Is less likely to succeed.
In the detection image processing apparatus, the secret reordering code π is known. detection<u style="single">image</u>In processing equipment, codeword generator<u style="single">54</u>Or, the order is reversed with respect to the codeword coefficient or the reproduction codeword coefficient generated by the reproduction processor 40.<u style="single">π</u><sup><u style="single">-1</u></sup>After executing, the correlation processing is performed. The coded image processing device shown in FIG. 1 and the detection shown in FIG.<u style="single">image</u>The operation of the processing device is shown in FIGS. 7 and 8, respectively.
Generating Watermark Code Words An improved technique for generating watermark code words will be described with reference to FIGS. 9 and 10. As mentioned above, the codeword<u style="single">Patrol</u>By using a Fourier transform correlator to generate multiple codewords by shifting the watermark<u style="single">Embedded</u>Watermark codewords in material items can be detected efficiently.
[0053] Further, as described above, the first code word.<u style="single">X</u><sup><u style="single">1</u></sup>To<u style="single">Patrol</u>When you shift to generate a codeword,<u style="single">Collud attack</u>There is a problem that it is easily attacked by. Such a possibility can be reduced by changing the order of the codeword coefficients with a secret order change code, as described above.
【0054】<u style="single">Collud attack</u>To further reduce the chances of success<u style="single">Embodiment</u>In, the codeword generator 8 that operates as part of the coded image processing apparatus generates a watermark codeword having a plurality of individually generated parts. As will be described later, the watermark can be constructed hierarchically by generating a code word having a plurality of parts. Here, a 20-bit code word will be described as an example. The 20-bit codeword provides more than 10 million (1048576) codewords as possible data values.
[0055] Described here.<u style="single">Embodiment</u>Now, divide the 20-bit codeword into two parts, each consisting of 10 bits. This is shown in FIG. The first 10 bits are used to generate the first part of the watermark, WM1. The second 10 bits are used to generate the second portion of the watermark, WM2. The first part WM1 and the second part WM2 are watermarked as described above.<u style="single">Embed</u>Embedded in the image.
【0056】<u style="single">Preferred Embodiment</u>In, the first part WM1 constitutes a part of the codeword generator 8.<u style="single">pseudo</u>Generated by a random number generator<u style="single">Ru</u>It is formed by generating one codeword consisting of a first codeword coefficient. These numbers are the basal seed values, as shown in Figure 9.<u style="single">SEED</u><sub><u style="single">base</u></sub>Generated from. The basal seed value may be generated from a sample source image.
In the 10-bit first part WM1 of the watermark, each of the 1024 possible data values is 1024 obtained by shifting the first part WM1 of the codeword generated from the base seed value. Represented by the possible shifts of. As shown in FIG. 9, this shift has a possible value from 0 to 1023.
The second portion of the watermark, WM2, is the first portion of the watermark, WM1.<u style="single">Depends on</u>Will be generated. The shift applied to the first part WM1 is 1024 possible auxiliary seed values (sup)<u style="single">p</u>Mapped to one of lementary seeds). That is, the codeword<u style="single">i</u>Second shift<u style="single">X</u><sup><u style="single">1</u></sup><u style="single"> i = X</u><sup><u style="single">1</u></sup><sub><u style="single">i</u></sub>Is a unique auxiliary seed value (<u style="single">seed</u><sub><u style="single">i</u></sub>) Is specified. From this auxiliary seed value, X in Figure 9<sup>2</sup>Further codewords shown as are generated. Thus, the first codeword that makes up the first part WM1<u style="single">X</u><sup><u style="single">1</u></sup><sub><u style="single">i</u></sub>And the second codeword X for the second part WM2<sup>2</sup><sub>i</sub>There is a certain unique relationship with the seed value used to generate. Here, in order to represent an additional 1024 possible values, the second part WM2 of the watermark is 10 bits of the second part WM2.<u style="single">of</u>Shifted based on the value. As shown in FIG. 10, this process forms a hierarchical structure of values. First part 1024 first generated by WM1<u style="single">Value</u>Provides an indicator of the codewords that make up the second part WM2. The possible shift of the codeword generated from the second part WM2 is the second 1024 at the second level of the hierarchical structure.<u style="single">Individual</u>Provides a set of values for.
[0059] Of the present invention<u style="single">Embodiment</u>Now, the watermark is based on multiple hierarchies.<u style="single">Embedded</u>The image can be identified. For example, the first part WM1 can be used to identify the country, region, or part of the region to which the image was delivered. On the other hand, the second level of the hierarchy has a second part of the region, such as the watermark.<u style="single">Embedded</u>It can be used to identify the town or cinema in which the image was played. This will make the watermark<u style="single">Embedded</u>The image is played back and the location where the offending copy was made from this image can be identified faster and more accurately.
A further advantage of generating a codeword with two parts, WM1 and WM2, is which of the 1024 values for each of the two hierarchical levels using the Fourier transform correlator shown in FIG. The point is that it can be efficiently identified whether it exists. In this combination, the second part of the watermark, WM2, is generated from 1024 possible shifts of the second codeword, so with further Fourier transform decoding, the second part of the codeword, WM2. Can identify possible shifts.
[0061] By generating a watermark codeword with two related parts<u style="single">Collud attack</u>Can reduce the probability of success. As mentioned above, you may change the order of either or both of these codeword parts and then embed them in the image.
[0062] Other application examples The coded data processing device of the watermark system can be applied to other applications in addition to the projector and the web server described above. For example, the present invention receives a signal from a communication device and introduces a code word into the received signal.<u style="single">、</u>Watermark for information<u style="single">Embed</u>It can also be applied to receivers / decoders. For example, a set-top box receives television and video signals from a broadcast "head-end" or multicast device. In such an application, the encoded data processor forms part of a set-top box and introduces a watermark codeword into the video signal as it receives and decodes the signal. one<u style="single">Embodiment</u>In, this watermark codeword uniquely identifies the settop box that received and decoded the video signal.
[0063] Further, the present invention can also be applied to a digital movie receiver that receives digital movie data (digital cinema film) from a satellite. The digital movie receiver receives a signal representing a digital movie, decodes the signal, and plays the digital movie. The receiver comprises a coded data processor that introduces a watermark codeword into the decoded movie signal. The watermark code word uniquely identifies, for example, a digital movie receiver that has received digital movie data.
[0064] Further, the present invention can be applied to a digital camera, a camcorder, or the like provided with a memory and a memory controller. In this application example, the coded data processing apparatus according to the present invention introduces a water mark code word stored in a memory into a video signal captured by a digital camera or the like. In this application, the codewords are pre-stored in memory and therefore the coded data processor does not include a codeword generator. The codeword stored in the memory is embedded in the video signal under the control of the memory controller, thereby making the video signal unique or<u style="single">Semi</u>Identify quasi-uniquely.
[0065] Further<u style="single">Embodiment</u>In, the coded data processing apparatus based on the present invention individually embeds a series of watermark code words in each of a plurality of different digital image frames constituting a continuous image or moving image. These codewords may be related to each other, and these codewords allow the image corresponding to each frame to be individually identified.
Further various aspects and features of the present invention are:<u style="single">Patent</u>It is defined in the claims. The embodiments described above can be variously modified without departing from the scope of the claims.
BRIEF DESCRIPTION OF THE DRAWINGS [Fig. 1] Fig. 1 is a block diagram showing a configuration of a coded image processing apparatus.
FIG. 2 is a block diagram showing a configuration of a detection image processing device.
[Fig. 3] Fig. 3A shows the original image, and Fig. 3B shows the watermark.<u style="single">Embedded</u>An image is shown, Figure 3C<u style="single">Alignment</u>It is a figure which shows the image which was made.
FIG. 4 is a graph showing a specific example of correlation results for each codeword in a set of N codewords.
FIG. 5A is a graph corresponding to the sample of the original image I, and FIG. 5B has a watermark.<u style="single">Embedded</u>It is a graph corresponding to image W', and Fig. 5C shows the original image and watermark.<u style="single">Embedded</u>It is a graph which shows the correlation result for every discrete sample shift with an image.
FIG. 6 is a block diagram showing a configuration of a correlator that is a part of the detection data processor shown in FIG.
FIG. 7: Watermark is created by a coded image data processing device.<u style="single">Embedded</u>the image<u style="single">Generate</u>It is a flowchart which shows the procedure to perform.
FIG. 8 shows the watermark received by the detection data processor shown in FIG.<u style="single">Embedded</u>It is a flowchart which shows the process of specifying a watermark from an image.
FIG. 9 is a diagram illustrating a process of generating a code word coefficient having at least two parts.
FIG. 10 is a diagram showing hierarchical information constructed using codewords having two parts generated by the process shown in FIG.
Every citation, both ways
| Document | Relation | Office |
|---|---|---|
| JP2001216763A | Cites | Japan |
| JP2001525153A | Cites | Japan |
| WO99045705A1 | Cites | World Intellectual Property Organization (WIPO) |
| WO00033282A1 | Cites | World Intellectual Property Organization (WIPO) |
| JP2001525152A | Cites | Japan |
| WO01011563A1 | Cites | World Intellectual Property Organization (WIPO) |
7 members in 4 offices
Priority claims5
| Document | Office | Kind | Date |
|---|---|---|---|
| 0129841 | United Kingdom | A | |
| 0129841 | United Kingdom | A | |
| 01298413 | United Kingdom | – | |
| 2001200129841 | – | – | – |
| GB20010029841 | – | – | – |
Members7
| Document | Office | Kind | |
|---|---|---|---|
| GB2383219A | United Kingdom | A | |
| EP1324263A2 | European Patent Office (EPO) | A2 | |
| US2003131242A1 | United States of America | A1 | |
| JP2004040753A | Japan | A | |
| EP1324263A3 | European Patent Office (EPO) | A3 | |
| US7284129B2 | United States of America | B2 | |
| JP4100674B2This record | Japan | B2 |
19 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Cancellation because of no payment of annual feesLAPS | LAPS | |
| Receipt of annual feesJAPANESE INTERMEDIATE CODE: R250R250 | R250 | |
| Renewal fee payment (event date is renewal date of database)FPAY | FPAY | |
| Renewal fee payment (event date is renewal date of database)FPAY | FPAY | |
| Renewal fee payment (event date is renewal date of database)FPAY | FPAY | |
| Renewal fee payment (event date is renewal date of database)FPAY | FPAY | |
| Certificate of patent or registration of utility modelJAPANESE INTERMEDIATE CODE: R150R150 | R150 | |
| First payment of annual fees (during grant procedure)JAPANESE INTERMEDIATE CODE: A61A61 | A61 | |
| Written decision to grant a patent or to grant a registration (utility model)JAPANESE INTERMEDIATE CODE: A01A01 | A01 | |
| Decision of grant or rejection writtenTRDD | TRDD | |
| Written amendmentJAPANESE INTERMEDIATE CODE: A523A521 | A521 | |
| Written permission of extension of timeJAPANESE INTERMEDIATE CODE: A602A602 | A602 | |
| Written request for extension of timeJAPANESE INTERMEDIATE CODE: A601A601 | A601 | |
| Written permission of extension of timeJAPANESE INTERMEDIATE CODE: A602A602 | A602 | |
| Written request for extension of timeJAPANESE INTERMEDIATE CODE: A601A601 | A601 | |
| Written permission of extension of timeJAPANESE INTERMEDIATE CODE: A602A602 | A602 | |
| Written request for extension of timeJAPANESE INTERMEDIATE CODE: A601A601 | A601 | |
| Notification of reasons for refusalJAPANESE INTERMEDIATE CODE: A131A131 | A131 | |
| Written request for application examinationJAPANESE INTERMEDIATE CODE: A621A621 | A621 |
Numbers
- Publication
- 4100674
- Publication, DOCDB
- 4100674
- Publication, EPODOC
- JP4100674B
- Application
- 362515
- Application, DOCDB
- 2002362515
- Application, EPODOC
- JP20020362515
Titles2
- Japanese
- データ処理装置及びデータ処理方法
- English
- Data processing device and data processing method
Classification
- CPC, 7
- H04N1/32154
- G06T1/0071
- G06T2201/0052
- G06T2201/0063
- H04N1/32165
- H04N2201/324
- H04N2201/327
- IPC, 17
- H04N1 387
- G06Q30 00
- G06Q10 00
- G06T1 00
- G09C5 00
- H04L9 36
- H04N7 08
- H04N7 081
- H04N7 30
- G10L11 00
- G10L19 018
- G10L25 51
- H04N1 32
- H04N19 467
- H04N19 60
- H04N19 625
- H04N19 70