JP2008113470A - Electronic watermark embedding method, electronic watermark detecting method, electronic watermark embedding apparatus, and electronic watermark detecting apparatus - Google Patents

Electronic watermark embedding method, electronic watermark detecting method, electronic watermark embedding apparatus, and electronic watermark detecting apparatus Download PDF

Info

Publication number
JP2008113470A
JP2008113470A JP2008017440A JP2008017440A JP2008113470A JP 2008113470 A JP2008113470 A JP 2008113470A JP 2008017440 A JP2008017440 A JP 2008017440A JP 2008017440 A JP2008017440 A JP 2008017440A JP 2008113470 A JP2008113470 A JP 2008113470A
Authority
JP
Japan
Prior art keywords
bit plane
embedded
embedding
data
digital watermark
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.)
Granted
Application number
JP2008017440A
Other languages
Japanese (ja)
Other versions
JP4834007B2 (en
Inventor
Toshio Fujine
俊夫 藤根
Kurato Maeno
蔵人 前野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP2008017440A priority Critical patent/JP4834007B2/en
Publication of JP2008113470A publication Critical patent/JP2008113470A/en
Application granted granted Critical
Publication of JP4834007B2 publication Critical patent/JP4834007B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide an electronic watermark embedding method and an apparatus, and an electronic watermark detecting method and an apparatus in which deterioration in image caused by electronic watermark embedding can be suppressed. <P>SOLUTION: In the electronic watermark embedding method, a bit plane for embedding information for input image data is specified, higher bit plane data are evaluated, labelling for indicating the order of locations into which information is embedded is performed based on the evaluation result and then the embedding data are embedded in the input image data based on the indicated order. In the electronic watermark detecting method, the image data in which the data have been embedded by the embedding method are received, the bit plane for extracting the information for the image data is specified, the higher bit plane data are evaluated, labelling for indicating the order of locations into which information has been embedded is performed based on the evaluation result and then the embedded data are extracted from the received image data based on the indicated order. <P>COPYRIGHT: (C)2008,JPO&INPIT

Description

本発明は、画像データの改ざんの検出等に用いられる電子透かし埋め込み方法、電子透かし検出方法、電子透かし埋め込み装置、及び電子透かし検出装置に関するものである。   The present invention relates to a digital watermark embedding method, a digital watermark detection method, a digital watermark embedding device, and a digital watermark detection device used for detecting alteration of image data.

≪第1の従来技術≫
[フラジャイル電子透かし技術]
図31は、ビットプレーン(bit-plane)の概念の説明図である。図31には、縦4個、横3個からなる係数が描かれている。各係数は、符号ビットと絶対値で表現される。図31に示されるように、ビットプレーンには、係数をMSB(最上位ビット)からLSB(最下位ビット)までの各ビットで順次スライスして得られる各サンプルに対応する絶対値(「1」又は「0」)のビットプレーンと、係数の符号(「+」又は「−」)のビットプレーンとがある。
≪First conventional technology≫
[Fragile digital watermark technology]
FIG. 31 is an explanatory diagram of the concept of a bit plane. In FIG. 31, a coefficient composed of four vertical elements and three horizontal elements is drawn. Each coefficient is expressed by a sign bit and an absolute value. As shown in FIG. 31, the bit plane includes an absolute value (“1”) corresponding to each sample obtained by sequentially slicing the coefficient with each bit from MSB (most significant bit) to LSB (least significant bit). Or “0”) and coefficient sign (“+” or “−”) bit planes.

図32は、ビットマップ画像にフラジャイル(fragile)電子透かしを埋め込む動作の説明図である。図32に示されるように、電子透かし埋め込み時には、LSB以外のビットプレーン(厳密に検証する場合には、LSB以外のビットプレーンと、LSBの埋め込みに使用していないすべてのビット)からハッシュ値を計算し、公開鍵暗号方式で暗号化したハッシュ値(電子署名)をLSBに埋め込む。通常、LSB内の埋め込み位置は、鍵をシードにした擬似ランダムシーケンス等を用いてランダマイズされる。   FIG. 32 is an explanatory diagram of an operation of embedding a fragile digital watermark in a bitmap image. As shown in FIG. 32, at the time of digital watermark embedding, a hash value is obtained from a bit plane other than the LSB (if strictly verified, a bit plane other than the LSB and all bits not used for embedding the LSB). The hash value (electronic signature) calculated and encrypted by the public key cryptosystem is embedded in the LSB. Normally, the embedding position in the LSB is randomized using a pseudo-random sequence using a key as a seed.

図33は、フラジャイル電子透かしを検証する動作の説明図である。図33に示されるように、電子透かしの検証時には、署名データの埋め込まれた画像のLSB部分から、埋め込み側と同様の手順で埋め込み位置を決定し、埋め込みデータを取り出す。取り出したデータから、電子透かし埋め込み時に生成されたハッシュ値を解読する。また、LSB以外のビットプレーン(厳密に検証する場合には、LSB以外のビットプレーンと、LSBの埋め込みに使用していないすべてのビット)から埋め込み側と同様のアルゴリズムでハッシュ値を計算し、これを、解読したハッシュ値と比較する。比較の結果、両方のハッシュ値が一致すれば画像に改ざんが無いことがわかる(例えば、特許文献1参照)。   FIG. 33 is an explanatory diagram of the operation of verifying the fragile digital watermark. As shown in FIG. 33, at the time of verifying the digital watermark, the embedded position is determined from the LSB portion of the image in which the signature data is embedded in the same procedure as that of the embedded side, and the embedded data is extracted. The hash value generated at the time of embedding the digital watermark is decrypted from the extracted data. In addition, a hash value is calculated from the bit plane other than the LSB (in the case of strict verification, a bit plane other than the LSB and all bits not used for embedding the LSB) by the same algorithm as the embedding side. Is compared with the decrypted hash value. As a result of comparison, if both hash values match, it can be seen that the image has not been tampered with (see, for example, Patent Document 1).

通常、画像データに比べて生成されるハッシュ値のビット長は非常に短い長さである。例えば、SHA1として知られているハッシュアルゴリズムの場合には、入力されるデータ長にかかわらず出力されるデータは160bitである。しかし、ハッシュ演算の特性上、画像に対して微少な変化があっただけで、生成されるハッシュ値は全く異なった値となる。このため、ハッシュ値を比較することにより、1ピクセルの改ざんであっても、検出することができる。また、1個のハッシュ値を計算する範囲を画像全体でなく、画像内のM×Nピクセルサイズのブロックで区切った範囲とすると、画像の改ざんをM×Nブロックの単位で検出することができ、画像内の改ざん箇所をブロック単位で特定することができる。   Usually, the bit length of the hash value generated compared to the image data is very short. For example, in the case of a hash algorithm known as SHA1, the output data is 160 bits regardless of the input data length. However, due to the characteristics of the hash calculation, the generated hash value is completely different only by a slight change in the image. For this reason, it is possible to detect even one-pixel alteration by comparing hash values. Further, if the range for calculating one hash value is not the entire image but a range divided by M × N pixel size blocks in the image, it is possible to detect alteration of the image in units of M × N blocks. The tampering location in the image can be specified in units of blocks.

また、フラジャイル電子透かしには、ウェーブレット(Wavelet)変換やDCT(離散コサイン変換)、量子化等をした後の周波数空間上の係数に対して、ハッシュ値や署名データを埋め込む方式もある。この方式の場合にも、ビットマップに対する電子透かしの場合と同様であり、ハッシュ値の計算対象や署名データの埋め込み対象が、画像データそのものから周波数変換後の係数に置き換わっただけである。さらにまた、ハッシュ値の計算対象と埋め込み対象の座標を変える方式もあるが、この方式の場合にも、同様の検出方法を用いている。   In addition, there is a method for embedding a hash value or signature data in a coefficient in a frequency space after wavelet transform, DCT (discrete cosine transform), quantization, or the like as the fragile digital watermark. This method is similar to the case of digital watermarking for a bitmap, in which the hash value calculation target and signature data embedding target are simply replaced with the coefficients after frequency conversion from the image data itself. Furthermore, there is a method of changing the coordinates of the hash value calculation target and the embedding target. In this method, the same detection method is used.

[周波数空間上の係数の符号化方法]
ウェーブレット変換やDCT、量子化等をした後の周波数空間上の係数に電子透かしを埋め込む場合、同時に係数を符号化(圧縮)する場合がある。図34は周波数空間上の係数を符号化する構成を示すブロック図である。図34に示されるように、係数を符号化する構成は、入力画像に対して周波数変換を行う周波数変換手段1011と、変換係数をMSBからLSBに至るビットプレーンに展開し、所定の大きさのコードブロックごとに各ビットプレーンの符号化パス(符号化処理を行う手順)を決定するビットプレーン符号化パス生成手段1012と、符号化パスに従って算術符号化を行う算術符号化手段1013と、生成された算術符号から目標の符号量(圧縮後のビットレート又はファイルサイズと等価)になるように符号量を制御するレート制御手段1014とを有する。
[Coding method of coefficients in frequency space]
When a digital watermark is embedded in a coefficient in a frequency space after wavelet transform, DCT, quantization, etc., the coefficient may be encoded (compressed) at the same time. FIG. 34 is a block diagram showing a configuration for encoding coefficients in the frequency space. As shown in FIG. 34, the configuration for encoding the coefficients is the frequency conversion means 1011 for performing frequency conversion on the input image, and the conversion coefficients are developed on the bit plane from the MSB to the LSB, and have a predetermined size. A bit-plane coding path generating unit 1012 for determining a coding pass (a procedure for performing a coding process) of each bit plane for each code block, and an arithmetic coding unit 1013 for performing arithmetic coding according to the coding pass. Rate control means 1014 for controlling the code amount so that the target code amount (equivalent to the compressed bit rate or file size) is obtained from the arithmetic code.

ある符号化方法の一例では、周波数変換手段1011が画像を係数のビットプレーンに変換し、ビットプレーン符号化パス生成手段1012が一つのビットプレーンに対して一つの符号化パスを生成し、算術符号化手段1013が符号化パスに従って算術符号化を行う。図35は、ビットプレーン番号‘n−2’、‘n−3’、…、‘1’、‘0’のビットプレーン(図35において、Bit-plane (n-2), Bit-plane (n-3),…, Bit-plane (1), Bit-plane (0)と表記する。)のそれぞれに対して一つの符号化パス(図35において、Coding Pass Xと表記する。)が生成される場合の算術符号化プロセスの説明図である。すべてのビットプレーンの算術符号化を行い、その後、レート制御手段1014が符号量の制御を行う。その際、レート制御手段1014は、各符号化パスごとの算術符号化量をカウントし、目標の符号化量に達した時点で、それより後の算術符号化データを切り捨てる。このようにして算術符号が打ち切られる位置を「算術符号打ち切り点」と呼ぶ。   In an example of a certain encoding method, the frequency conversion unit 1011 converts an image into a coefficient bit plane, the bit plane encoding pass generation unit 1012 generates one encoding pass for one bit plane, and an arithmetic code. The encoding means 1013 performs arithmetic encoding according to the encoding pass. 35 shows bit planes with bit plane numbers “n-2”, “n-3”,..., “1”, “0” (in FIG. 35, Bit-plane (n-2), Bit-plane (n -3),..., Bit-plane (1), Bit-plane (0)), one coding pass (denoted as Coding Pass X in FIG. 35) is generated. It is explanatory drawing of the arithmetic coding process in the case of. All bit planes are arithmetically encoded, and then rate control means 1014 controls the amount of codes. At that time, the rate control means 1014 counts the arithmetic coding amount for each coding pass, and when the target coding amount is reached, the arithmetic coding data after that is discarded. The position at which the arithmetic code is terminated in this way is called an “arithmetic code termination point”.

上記した例では、算術符号打ち切り点は、いずれかのビットプレーンの境界となるので、あるビットプレーンの一部の係数だけが圧縮後の算術符号データに含まれ、一部の係数が切り捨てられて、圧縮後の算術符号データに含まれないということはない。そのため、電子透かしを埋め込むときに、ある決められたビットプレーンに電子透かしを埋め込んでおき、そのビットプレーン以降に算術符号打ち切り点があれば、検証の際に、そのビットプレーンのすべてのデータを復号することができるので、すべての電子透かしを取り出すことができる。算術符号が行われる単位であるコードブロックごとに打ち切り点が異なっている場合も同様である。   In the above example, the arithmetic code truncation point is the boundary of one of the bit planes, so only some coefficients of a certain bit plane are included in the compressed arithmetic code data, and some coefficients are truncated. It is not included in the arithmetic code data after compression. Therefore, when embedding a digital watermark, the digital watermark is embedded in a predetermined bit plane, and if there is an arithmetic code cutoff point after that bit plane, all data in that bit plane is decoded at the time of verification. All the watermarks can be taken out. The same applies to the case where the cutoff point is different for each code block which is a unit in which arithmetic codes are performed.

しかし、例えば、次世代の静止画像符号化標準であるJPEG2000では、一つのビットプレーンを3種類の符号化パスで構成し、その後、各符号化パスに従って算術符号化を行っている。具体的には、周波数変換(この場合は、ウェーブレット変換)された係数の各ビットプレーンを、シグニフィカンスプロパゲーションパス(significance propagation pass)、マグニチュードリファイメントパス(magnitude refinement pass)、クリーンナップパス(cleanup pass)と呼ばれる3種類の符号化パスで算術符号化している。なお、ビットプレーンの各ビットがどの符号化パスで符号化されるかは、周辺の画素を含む既に符号化された上位のビットプレーンの状況に応じて異なる。   However, for example, in JPEG 2000, which is a next-generation still image coding standard, one bit plane is configured with three types of coding passes, and then arithmetic coding is performed according to each coding pass. Specifically, each bit plane of the frequency-transformed (in this case, wavelet transform) coefficient is converted into a significance propagation pass, a magnitude refinement pass, and a cleanup pass. Arithmetic coding is performed with three types of coding passes called “pass”. Note that in which encoding pass each bit of the bit plane is encoded depends on the situation of the higher-order bit plane that has already been encoded, including the surrounding pixels.

JPEG2000では、MSB側から何番目のビットプレーンで初めて「1」が出現するかを別途符号化し、最初に「1」が出現するビットプレーンは、クリーンナップパスのみで符号化される。以上の処理で生成される符号化パスを図示すると図36のようになる。図36では、あるコードブロックの符号化パス及び算術符号打ち切り点を示しているが、通常、それらはコードブロックごとに異なる。図36に示されるように、各ビットプレーン(図36において、Bit-plane (n-2), Bit-plane (n-3), Bit-plane (n-4), …, Bit-plane (0)と表記する。)に対して複数の符号化パス(図36において、Coding Pass A, Coding Pass B, Coding Pass Cと表記する。)に従う算術符号化を行い、その後、レート制御手段1014で符号量の制御を行う。その際、レート制御手段1014は、符号化パスの算術符号化量をカウントし、目標の符号化量に達した時点で、その後の算術符号化データを切り捨てる。   In JPEG2000, the first bit plane in which “1” appears for the first time from the MSB side is separately encoded, and the bit plane in which “1” first appears is encoded only in the cleanup pass. An encoding pass generated by the above processing is illustrated in FIG. In FIG. 36, an encoding pass and an arithmetic code cutoff point of a certain code block are shown, but usually they are different for each code block. As shown in FIG. 36, each bit plane (in FIG. 36, Bit-plane (n-2), Bit-plane (n-3), Bit-plane (n-4),..., Bit-plane (0 )), And performs arithmetic coding in accordance with a plurality of coding passes (indicated as Coding Pass A, Coding Pass B, and Coding Pass C in FIG. 36), and then the rate control means 1014 performs coding. Control the amount. At that time, the rate control means 1014 counts the arithmetic coding amount of the coding pass, and when the target coding amount is reached, truncates the subsequent arithmetic coding data.

≪第2の従来技術≫
[ビットプレーンの打ち切りがある場合の電子透かし埋め込み方法]
上記したように、画像データを周波数変換した変換係数に対して、圧縮しながら、電子透かしを埋め込む場合には、所定の大きさのコードブロックごとに変換係数のビットプレーンを途中から打ち切ることにより圧縮する場合がある。このような場合にも、画像データ全体を改ざん検出の対象とするため、打ち切られたビットプレーンの直前のビットプレーンに電子透かしが埋め込まれる。具体的には、図37に示されるように、あるコードブロックにおいてビットプレーン番号‘2’以下のビットプレーンが打ち切られる場合、ビットプレーン番号‘3’のビットプレーンに電子透かしが埋め込まれる。
≪Second conventional technology≫
[Digital watermark embedding method when bit plane is cut off]
As described above, when embedding a digital watermark while compressing the transform coefficient obtained by frequency conversion of the image data, compression is performed by truncating the bit plane of the transform coefficient for each code block of a predetermined size. There is a case. Even in such a case, since the entire image data is targeted for falsification detection, a digital watermark is embedded in the bit plane immediately before the aborted bit plane. Specifically, as shown in FIG. 37, when a bit plane having a bit plane number “2” or less is cut off in a certain code block, a digital watermark is embedded in the bit plane having the bit plane number “3”.

このようにすれば、復号する過程で検証する場合、ビットプレーン番号‘2’は打ち切られて存在しないので、復号できたビットプレーンのうち最下位のビットプレーン(ビットプレーン番号‘3’)に電子透かしが埋め込まれていることが分かる。従って、そのビットプレーンから電子透かしを抽出することができる。   In this way, when verifying in the decoding process, the bit plane number '2' is truncated and does not exist, so the lowest bit plane (bit plane number '3') of the decoded bit planes is electronically It can be seen that the watermark is embedded. Therefore, a digital watermark can be extracted from the bit plane.

≪第3の従来技術≫
第3の従来技術は、上記第1の従来技術と同じである。
≪Third prior art≫
The third conventional technique is the same as the first conventional technique.

特開2001−042768公報(図1〜図4)JP 2001-042768 A (FIGS. 1 to 4)

≪第1の従来技術の課題≫
第1の従来技術では、一つのビットプレーンを複数の符号化パスを用いて算術符号化する場合に、ビットプレーン途中の符号化パス以降の算術符号が打ち切られる可能性がある。例えば、図36に示されるように、算術符号打ち切り点以降の符号化パスの算術符号が切り捨てられた場合、ビットプレーン番号n−4のビットプレーン(図36においては、Bit-plane (n-4)と表記する。)の一部しか符号化されないことになる。
<< Problems of the first prior art >>
In the first prior art, when one bit plane is arithmetically encoded using a plurality of encoding passes, there is a possibility that the arithmetic codes after the encoding pass in the middle of the bit plane are cut off. For example, as shown in FIG. 36, when the arithmetic code of the coding pass after the arithmetic code cutoff point is discarded, the bit plane of bit plane number n-4 (in FIG. 36, Bit-plane (n-4 ), Only a part of it is encoded.

従って、電子透かしを埋め込むときに、ある決められたビットプレーンに電子透かしを埋め込んでおいても、そのビットプレーンを符号化している符号化パスの途中で算術符号が打ち切られ、それ以降の算術符号化データが切り捨てられることが起こり得る。この場合には、電子透かしを埋め込んだ係数のうち、一部の係数が切り捨てられて、圧縮後の算術符号データに含まれないことになる。その結果、埋め込んだ電子透かしをすべて取り出すことができず(フラジャイル電子透かしでは、改ざんがない場合、検証の際には埋め込んだときと全く同じ電子透かしが抽出されなければならない。)、電子透かしを正しく検証できなくなるという問題がある。   Therefore, even when a digital watermark is embedded, even if the digital watermark is embedded in a predetermined bit plane, the arithmetic code is cut off in the middle of the encoding pass encoding the bit plane, and the subsequent arithmetic codes It can happen that the digitized data is truncated. In this case, some of the coefficients in which the digital watermark is embedded are discarded and are not included in the compressed arithmetic code data. As a result, it is not possible to take out all embedded digital watermarks (in the case of a fragile digital watermark, if there is no tampering, the same digital watermark as that used when embedding must be extracted for verification) There is a problem that verification cannot be performed correctly.

≪第2の従来技術の課題≫
第2の従来技術では、圧縮されて電子透かしが埋め込まれた状態から、一度復号されると、どのビットプレーンで変換係数が打ち切られたかという情報が失われるので、電子透かしを埋め込んだビットプレーンを決定することができないという問題がある。
<< Problem of the second conventional technique >>
In the second prior art, once it is decoded from the state where the digital watermark is compressed and embedded, information on which bit plane has been censored is lost, so the bit plane in which the digital watermark is embedded is lost. There is a problem that it cannot be determined.

なお、JPEG2000の可逆型フィルタのような周波数変換を用いた場合、一度復号された画像を再び同じように周波数変換して変換係数を求めれば、全く同じ変換係数が得られる。そのため、図38(a)に示されるように、復号する際に打ち切られたビットプレーン(図38(a)においては、ビットプレーン番号‘2’、‘1’、‘0’)をすべて「0」として復号しておけば、再び同じように可逆型の周波数変換を行うことにより、打ち切られたビットプレーンはすべて「0」となる。従って、LSBから各ビットプレーンのビットを調べることにより、最初に「1」が出現するビットプレーンを電子透かしの埋め込まれたビットプレーンと判定することができる。ただし、この場合も、電子透かしを埋め込むことによって、電子透かしを埋め込んだビットプレーンのビットの中に「1」のビットが少なくとも1個存在するようにしなければならない。   When frequency conversion such as a reversible filter of JPEG2000 is used, exactly the same conversion coefficient can be obtained if a once-decoded image is frequency-converted again to obtain a conversion coefficient. Therefore, as shown in FIG. 38 (a), all the bit planes aborted at the time of decoding (in FIG. 38 (a), bit plane numbers “2”, “1”, “0”) are all “0”. ”, All the bit planes that have been censored are“ 0 ”by performing lossless frequency conversion again in the same manner. Therefore, by examining the bits of each bit plane from the LSB, the bit plane in which “1” first appears can be determined as the bit plane in which the digital watermark is embedded. In this case, however, it is necessary to embed a digital watermark so that at least one bit of “1” exists in the bits of the bit plane in which the digital watermark is embedded.

ところが、図38(b)に示されるように、復号の際に、打ち切られたビットプレーンの最上位ビットプレーン(図38(b)においては、ビットプレーン番号‘2’)は、非0係数の場合、通常「1」として復号されるため、上記のような手段を用いることもできない。このような処理が行われる理由としては、量子化された値を逆量子化する場合、量子化ステップサイズの半分の値を加えて値を再構成するのが、一番画質がよいとされていることが挙げられる。あるビットプレーン番号以下のビットプレーンを打ち切るということは、「2の(ビットプレーン番号)乗」の量子化ステップサイズで量子化することと等価である。そのため、そのステップサイズの半分を加えることが、ちょうど打ち切られたビットプレーンのうち最上位のビットプレーンを「1」として、復号することと等価になる。ただし、打ち切られたその他の下位ビットプレーンの値をどのようにするかは、復号の際の自由裁量に任されており、復号して再び周波数変換をした場合、どのような値になるかは予測できない。   However, as shown in FIG. 38 (b), the most significant bit plane (bit plane number “2” in FIG. 38 (b)) that was censored during decoding is a non-zero coefficient. In this case, since it is normally decoded as “1”, the above means cannot be used. The reason why such processing is performed is that when the quantized value is inversely quantized, it is considered that the image quality is best when the value is reconstructed by adding half the quantization step size. It is mentioned. Truncation of bit planes below a certain bit plane number is equivalent to quantization with a quantization step size of “2 (the bit plane number)”. Therefore, adding half of the step size is equivalent to decoding with the highest bit plane among the bit planes just censored as “1”. However, it is left to the discretion at the time of decoding how the value of the other lower bit planes that were censored is decided, and what value will be obtained when decoding and frequency conversion again? can not predict.

≪第3の従来技術の課題≫
第3の従来技術では、電子透かしの情報ビットの埋め込みに箇所によっては、画質の劣化が顕著になるという問題がある。
<< Problem of the third prior art >>
In the third prior art, there is a problem that the image quality is significantly deteriorated depending on the portion where the digital watermark information bits are embedded.

また、電子透かしの情報ビットを埋め込む係数を選択する際に、近傍にある係数群でグルーピングし、グループ内に情報ビットを埋め込む場合がある。しかし、グルーピング内に情報の埋め込みに適した箇所(例えば、図39に示される髪の毛等の高い周波数成分の領域)がない場合には、情報の埋め込みに適していない箇所(例えば、図39に示される均一な背景等の低い周波数成分の領域)に、情報の埋め込まなければならず、平坦な背景等において画質が劣化するという問題がある。また、JPEG2000のSNRスケーラビリティ使用時には、LSBよりもMSB側のビットプレーンに情報を埋め込むので、より一層、人間に知覚されやすくなる。   In addition, when selecting a coefficient to embed information bits of a digital watermark, there are cases where information bits are embedded in a group by grouping with a coefficient group in the vicinity. However, if there is no part suitable for information embedding in the grouping (for example, a region of high frequency components such as hair shown in FIG. 39), a part not suitable for information embedding (for example, shown in FIG. 39). In other words, information must be embedded in a low-frequency component region such as a uniform background), and there is a problem that image quality deteriorates in a flat background. In addition, when JPEG2000 SNR scalability is used, information is embedded in the bit plane on the MSB side rather than the LSB, which makes it even easier for humans to perceive.

≪参考発明の目的≫
参考発明は、第1の従来技術の課題を解決するためのものであり、その目的は、電子透かしを確実に検出できるようにする電子透かし埋め込み方法及び電子透かし埋め込み装置を提供することである。
<< Purpose of Reference Invention >>
The reference invention is intended to solve the problem of the first prior art, and an object thereof is to provide a digital watermark embedding method and a digital watermark embedding apparatus that can reliably detect a digital watermark.

≪参考発明の目的≫
参考発明は、第2の従来技術の課題を解決するためのものであり、その目的は、電子透かしが埋め込まれたビットプレーンを確実に特定できるようにする電子透かし埋め込み方法、電子透かし検出方法、電子透かし埋め込み装置、及び電子透かし検出装置を提供することである。
<< Purpose of Reference Invention >>
The reference invention is for solving the problem of the second prior art, and its purpose is to provide a digital watermark embedding method, a digital watermark detection method, and a digital watermark embedding method that can reliably identify a bit plane in which the digital watermark is embedded. An electronic watermark embedding device and an electronic watermark detection device are provided.

≪第3の発明の目的≫
第3の発明は、第3の従来技術の課題を解決するためのものであり、その目的は、電子透かしの埋め込みによる画質の劣化を抑制できるようにする電子透かし埋め込み方法、電子透かし検出方法、電子透かし埋め込み装置、及び電子透かし検出装置を提供することである。
<< Purpose of third invention >>
The third invention is to solve the problem of the third prior art, and an object of the third invention is to provide a digital watermark embedding method, a digital watermark detection method, and a digital watermark embedding method capable of suppressing deterioration of image quality due to embedding of the digital watermark. An electronic watermark embedding device and an electronic watermark detection device are provided.

また、第3の発明の他の目的は、埋め込み係数選択時に、圧縮の特性を利用することで、圧縮効率の低下を抑制できるようにする電子透かし埋め込み方法、電子透かし検出方法、電子透かし埋め込み装置、及び電子透かし検出装置を提供することである。   Another object of the third invention is to use a digital watermark embedding method, a digital watermark detection method, and a digital watermark embedding device that can suppress a decrease in compression efficiency by utilizing compression characteristics when selecting an embedding coefficient. And an electronic watermark detection apparatus.

また、第3の発明のさらに他の目的は、メッセージの埋め込み可能容量を増やすことができる電子透かし埋め込み方法、電子透かし検出方法、電子透かし埋め込み装置、及び電子透かし検出装置を提供することである。   Still another object of the third invention is to provide a digital watermark embedding method, a digital watermark detection method, a digital watermark embedding device, and a digital watermark detection device capable of increasing the embeddable capacity of a message.

参考発明の電子透かし埋め込み方法の一態様は、電子透かし埋め込み側の構成によって画像データに対して実行される電子透かし埋め込み方法であって、入力画像データを最上位ビットから最下位ビットまでの複数のビットプレーンに展開し、各ビットプレーン毎に1又は複数種類の第1の符号化パスを生成するステップと、前記第1の符号化パスに従って前記各ビットプレーンのデータを算術符号化して第1の符号化データを生成するステップと、目標となる符号量から前記算術符号化における算術符号化量を制御し、算術符号打ち切り点を決定するステップと、得られた算術符号打ち切り点がビットプレーン境界にない場合に、得られた算術符号打ち切り点をビットプレーン境界に変更するステップと、前記入力画像データから署名データを生成するステップと、前記入力画像データに署名データを埋め込むステップと、前記署名データが埋め込まれた画像データを複数のビットプレーンに展開し、各ビットプレーン毎に第2の符号化パスを生成するステップと、前記算術符号打ち切り点まで、前記第2の符号化パスに従って前記各ビットプレーンのデータを算術符号化して第2の符号化データを生成するステップとを有することを特徴としている。   One aspect of the digital watermark embedding method of the reference invention is a digital watermark embedding method executed on image data by the configuration of the digital watermark embedding side, and a plurality of input image data from the most significant bit to the least significant bit. Expanding into bit planes, generating one or more types of first coding pass for each bit plane, and arithmetically coding the data of each bit plane according to the first coding pass A step of generating encoded data, a step of controlling an arithmetic encoding amount in the arithmetic encoding from a target code amount, determining an arithmetic code truncation point, and the obtained arithmetic code truncation point at a bit plane boundary If not, the step of changing the obtained arithmetic code cutoff point to a bit plane boundary, and the signature data from the input image data Generating the signature data in the input image data, expanding the image data in which the signature data is embedded into a plurality of bit planes, and generating a second coding pass for each bit plane. And a step of generating second encoded data by arithmetically encoding the data of each bit plane according to the second encoding pass up to the arithmetic code cutoff point.

また、参考発明の電子透かし埋め込み方法の一態様は、電子透かし埋め込み側の構成によって画像データに対して実行される電子透かし埋め込み方法であって、電子透かしを埋め込むビットプレーンを示すID情報を埋め込むステップと、前記ID情報で指定されたビットプレーンにデータを埋め込むステップとを有することを特徴としている。また、参考発明の電子透かし検出方法の一態様は、電子透かし検証側の構成によって画像データに対して実行される電子透かし検出方法であって、前記電子透かし埋め込み方法によって画像データに埋め込まれたID情報を抽出し、データが埋め込まれているビットプレーンを特定するステップと、特定したビットプレーンからデータを抽出するステップとを有することを特徴としている。   Also, one aspect of the digital watermark embedding method of the reference invention is a digital watermark embedding method executed for image data by the configuration of the digital watermark embedding side, and embedding ID information indicating a bit plane in which the digital watermark is embedded And a step of embedding data in the bit plane specified by the ID information. Also, one aspect of the digital watermark detection method of the reference invention is a digital watermark detection method executed on image data by the configuration on the digital watermark verification side, wherein the ID embedded in the image data by the digital watermark embedding method The method has a step of extracting information and specifying a bit plane in which data is embedded, and a step of extracting data from the specified bit plane.

また、第3の発明の電子透かし埋め込み方法の一態様は、電子透かし埋め込み側の構成によって画像データに対して実行される電子透かし埋め込み方法であって、入力画像データに対して情報を埋め込むビットプレーンが指定され、この情報を埋め込むビットプレーンよりも上位のビットプレーンのデータを評価し、この評価結果に基づいて情報を埋め込む位置の順番を示すラベリングを行うステップと、前記ラベリングによって示された順番に従って、前記入力画像データに、埋め込みデータを埋め込むステップとを有することを特徴としている。また、第3の発明の電子透かし検出方法の一態様は、電子透かし検証側の構成によって画像データに対して実行される電子透かし検出方法であって、前記電子透かし埋め込み方法によってデータが埋め込まれた画像データを受信するステップと、前記受信した画像データに対して情報を抽出するビットプレーンが指定され、この指定されたビットプレーンよりも上位のビットプレーンのデータを評価し、この評価結果に基づいて情報が埋め込まれた位置の順番を示すラベリングを行うステップと、前記ラベリングによって示された順番に従って、前記受信した画像データから埋め込みデータを抽出するステップとを有することを特徴としている。   According to another aspect of the digital watermark embedding method of the third invention, there is provided a digital watermark embedding method executed for image data by the configuration of the digital watermark embedding side, and a bit plane for embedding information in input image data Is specified, and the data of the bit plane higher than the bit plane in which this information is embedded is evaluated, and the labeling indicating the order of the position in which the information is embedded is performed based on the evaluation result, and according to the order indicated by the labeling And embedding embedded data in the input image data. An aspect of the digital watermark detection method of the third invention is a digital watermark detection method executed on image data by the configuration of the digital watermark verification side, wherein the data is embedded by the digital watermark embedding method. A step of receiving image data and a bit plane for extracting information from the received image data are designated, and data of a bit plane higher than the designated bit plane is evaluated, and based on the evaluation result The method includes a step of performing labeling indicating the order of positions where information is embedded, and a step of extracting embedded data from the received image data in accordance with the order indicated by the labeling.

参考発明によれば、各ビットプレーンが複数の符号化パスで構成され、算術符号化されている場合であっても、埋め込んだ署名データを検証側ですべて取り出せるようにすることができる。   According to the reference invention, even if each bit plane is composed of a plurality of encoding passes and is arithmetically encoded, all the embedded signature data can be extracted on the verification side.

また、参考発明によれば、電子透かしを検証する際に、電子透かしをどこに埋め込んだかを示す情報が外部から得られなくても、電子透かしが埋め込まれたビットプレーンを特定することができる。そのため、電子透かしが埋め込まれているビットプレーンを特定し、埋め込んでおいたデータを抽出することができる。   Further, according to the reference invention, when verifying a digital watermark, the bit plane in which the digital watermark is embedded can be specified without obtaining information indicating where the digital watermark is embedded from the outside. Therefore, it is possible to identify the bit plane in which the digital watermark is embedded and extract the embedded data.

また、第3の発明によれば、埋め込みデータを画質の影響の少ない部分に埋め込むことができるため、画質を向上させることができる。   Further, according to the third aspect, since the embedded data can be embedded in a portion where the influence of the image quality is small, the image quality can be improved.

≪1.参考発明≫
≪1−1.第1の実施形態≫
[電子透かし埋め込み側の構成]
図1は、第1の実施形態に係る電子透かし埋め込み方法を実施する電子透かし埋め込み側の構成(電子透かし埋め込み装置)を示すブロック図である。
<< 1. Reference invention >>
<< 1-1. First Embodiment >>
[Configuration of the digital watermark embedding side]
FIG. 1 is a block diagram showing a configuration (digital watermark embedding apparatus) on the digital watermark embedding side for implementing the digital watermark embedding method according to the first embodiment.

図1に示されるように、第1の実施形態の電子透かし埋め込み側の構成は、入力端子1001を通して入力された画像データに周波数変換を施して変換係数を出力する周波数変換手段1011と、この周波数変換手段1011から出力された変換係数を記憶する変換係数記憶手段1021とを有する。また、第1の実施形態の電子透かし埋め込み側の構成は、周波数変換手段1011から出力された変換係数をビットプレーン符号化するための符号化パス(符号化処理を行う手順)を生成するビットプレーン符号化パス生成手段1012と、このビットプレーン符号化パス生成手段1012によって生成された各符号化パスに従って変換係数を算術符号化する算術符号化手段1013とを有する。さらに、第1の実施形態の電子透かし埋め込み側の構成は、算術符号化手段1013によって算術符号化された算術符号の符号量が目標符号量入力端子1003から入力された符号量になるように、生成される算術符号化データの符号量を制御するレート制御手段1014を有する。さらにまた、第1の実施形態の電子透かし埋め込み側の構成は、埋め込んだ電子透かしをすべて取り出せるようにするために、レート制御手段1014により決定された算術符号打ち切り点を変更する符号化パス制御手段1015を有する。   As shown in FIG. 1, the configuration on the digital watermark embedding side according to the first embodiment includes frequency conversion means 1011 that performs frequency conversion on image data input through an input terminal 1001 and outputs a conversion coefficient, and this frequency. Conversion coefficient storage means 1021 for storing the conversion coefficient output from the conversion means 1011. Further, the configuration of the digital watermark embedding side according to the first embodiment is a bit plane for generating an encoding pass (a procedure for performing an encoding process) for encoding a transform coefficient output from the frequency transform unit 1011 into a bit plane. The encoding pass generation means 1012 and the arithmetic encoding means 1013 for arithmetically encoding the transform coefficient according to each encoding pass generated by the bit plane encoding pass generation means 1012 are provided. Furthermore, the configuration on the digital watermark embedding side of the first embodiment is such that the code amount of the arithmetic code subjected to arithmetic coding by the arithmetic coding means 1013 becomes the code amount input from the target code amount input terminal 1003. Rate control means 1014 is provided for controlling the code amount of the arithmetically encoded data to be generated. Furthermore, the configuration of the digital watermark embedding side according to the first embodiment is an encoding path control unit that changes the arithmetic code cutoff point determined by the rate control unit 1014 so that all embedded digital watermarks can be extracted. 1015.

また、図1に示されるように、第1の実施形態の電子透かし埋め込み側の構成は、変換係数記憶手段1021に記憶された変換係数から署名データを生成する署名生成手段1101と、この署名生成手段1101から得られる署名データを変換係数に埋め込む署名埋め込み手段1102と、署名データが埋め込まれた変換係数をビットプレーン符号化するための符号化パスを生成するビットプレーン符号化パス生成手段1012Aと、このビットプレーン符号化パス生成手段1012Aによって生成された各符号化パスを算術符号化して、符号化/電子透かし埋め込み後の圧縮データを出力する算術符号化手段1013Aとを有する。算術符号化手段1013Aは、ビットプレーン符号化パス生成手段1012Aで生成した符号化パスごとに符号化パス制御手段1015で変更した符号化パスまで算術符号化を行い、符号化/電子透かし埋め込み後の圧縮データを得る。算術符号化手段1013Aで生成された符号化/電子透かし埋め込み後の圧縮データは、出力端子1004を通して出力され、ネットワーク等を経由して、以下に説明する電子透かし検証側の構成に渡される。   Further, as shown in FIG. 1, the configuration on the digital watermark embedding side of the first embodiment includes signature generation means 1101 for generating signature data from the conversion coefficient stored in the conversion coefficient storage means 1021, and this signature generation. A signature embedding unit 1102 that embeds signature data obtained from the unit 1101 in a transform coefficient, a bit plane encoding path generation unit 1012A that generates an encoding path for bit plane encoding the transform coefficient in which the signature data is embedded, Arithmetic coding means 1013A that arithmetically codes each coding pass generated by the bit plane coding pass generation means 1012A and outputs compressed data after encoding / digital watermark embedding. The arithmetic coding unit 1013A performs arithmetic coding up to the coding pass changed by the coding path control unit 1015 for each coding pass generated by the bit plane coding pass generation unit 1012A, and after encoding / digital watermark embedding Get compressed data. The compressed data after encoding / digital watermark embedding generated by the arithmetic coding means 1013A is output through the output terminal 1004 and passed to the configuration on the digital watermark verification side described below via a network or the like.

[電子透かし検証側の構成]
図2は、第1の実施形態の電子透かし検証側の構成(電子透かし検出装置)を示すブロック図である。
[Configuration on the digital watermark verification side]
FIG. 2 is a block diagram showing a configuration (digital watermark detection apparatus) on the digital watermark verification side of the first embodiment.

図2に示されるように、第1の実施形態の電子透かし検証側の構成は、上記した電子透かし埋め込み側の構成の出力端子1004(図1)から出力された圧縮データを入力端子1006を通して受け取り、圧縮データを復号する復号手段1031を有する。また、第1の実施形態の電子透かし検証側の構成は、復号手段1031によって得られた係数から署名データを生成する署名生成手段1202と、復号手段1031によって得られた係数から電子透かし埋め込み側で埋め込まれた署名データを抽出する署名抽出手段1201と、署名抽出手段1201により抽出された署名データと署名生成手段1202により生成された署名データとを比較し、比較結果を出力する署名比較手段1203とを有する。署名比較手段1203から出力された比較結果は、出力端子1007を通して出力される。   As shown in FIG. 2, the configuration on the digital watermark verification side of the first embodiment receives compressed data output from the output terminal 1004 (FIG. 1) of the configuration on the digital watermark embedding side through the input terminal 1006. And a decoding unit 1031 for decoding the compressed data. Also, the configuration on the digital watermark verification side of the first embodiment includes a signature generation unit 1202 that generates signature data from the coefficient obtained by the decryption unit 1031 and a digital watermark embedding side from the coefficient obtained by the decryption unit 1031. Signature extraction means 1201 for extracting the embedded signature data, signature comparison means 1203 for comparing the signature data extracted by the signature extraction means 1201 with the signature data generated by the signature generation means 1202 and outputting a comparison result Have The comparison result output from the signature comparison unit 1203 is output through the output terminal 1007.

[電子透かし埋め込み側の動作]
図1に示されるように、電子透かしを埋め込むターゲット画像の画像データを入力端子1001へ入力する。周波数変換手段1011は、入力端子1001へ入力された画像データに対して、例えば、ウェーブレット変換やDCTのような周波数変換を行い、周波数空間上の係数を生成する。変換係数記憶手段1021は、周波数変換手段1011により生成された変換係数を記憶する。
[Operation of digital watermark embedding]
As shown in FIG. 1, image data of a target image in which a digital watermark is embedded is input to an input terminal 1001. The frequency conversion unit 1011 performs frequency conversion such as wavelet conversion or DCT on the image data input to the input terminal 1001 to generate a coefficient in the frequency space. The conversion coefficient storage unit 1021 stores the conversion coefficient generated by the frequency conversion unit 1011.

ビットプレーン符号化パス生成部1012は、周波数変換手段1011で生成された変換係数を所定の大きさのコードブロック(Code-block)に分割し、各コードブロックごとにMSBからLSBに至る複数のビットプレーンに展開した上で、各ビットプレーンを符号化するための符号化パス(Coding pass)を予め決めておいたルールに応じて決定する。算術符号化手段1013は、ビットプレーン符号化パス生成手段1012で生成した符号化パスごとに算術符号化を行い、符号化(圧縮)されたデータを生成する。静止画像符号化標準であるJPEG2000を適用する場合は、周波数変換にはウェーブレット変換を用い、ウェーブレット変換係数の各ビットプレーンは前述の3種類の符号化パス(シグニフィカンスプロパゲーションパス、マグニチュードリファイメントパス、クリーンナップパス)で算術符号化する。   The bit plane encoding pass generation unit 1012 divides the transform coefficient generated by the frequency transform unit 1011 into code blocks (Code-block) having a predetermined size, and a plurality of bits from MSB to LSB for each code block. After expanding into a plane, a coding pass for coding each bit plane is determined according to a predetermined rule. The arithmetic encoding unit 1013 performs arithmetic encoding for each encoding pass generated by the bit plane encoding pass generation unit 1012 and generates encoded (compressed) data. When JPEG2000, which is a still image coding standard, is applied, wavelet transform is used for frequency transform, and each bit plane of wavelet transform coefficients is the above-described three kinds of coding passes (significance propagation pass, magnitude refinement). (Pass, cleanup pass).

レート制御手段1014は、算術符号化量が入力端子1003から入力された目標符号化量になるように、各コードブロックごとに算術符号化手段1013で得られた各符号化パスごとの算術符号化量をカウントし、目標符号化量に達した時点で、それ以降の符号化パスを切り捨てる。この処理により、各コードブロックにおける算術符号打ち切り点が求まり、圧縮後の算術符号化データに含まれる符号化パスが決まる(後述する図3(a)参照)。   The rate control unit 1014 performs arithmetic coding for each coding pass obtained by the arithmetic coding unit 1013 for each code block so that the arithmetic coding amount becomes the target coding amount input from the input terminal 1003. The amount is counted, and when the target encoding amount is reached, the subsequent encoding passes are discarded. By this process, the arithmetic code breakpoint in each code block is obtained, and the encoding pass included in the arithmetic encoded data after compression is determined (see FIG. 3A described later).

符号化パス制御手段1015は、レート制御手段1014で得られた算術符号打ち切り点が、あるビットプレーンのデータの一部が含まれないようなビットプレーンの途中にある場合(後述する図3(a)参照)、その算術符号打ち切り点をビットプレーンの境界になるように変更する(後述する図3(b)参照)。その後、各コードブロックにおいて、圧縮後の算術符号化データに含まれるビットプレーンのうち、最もLSB側のビットプレーンを署名データの埋め込まれるビットプレーンとする。   The coding path control means 1015 is in the middle of a bit plane where a part of the data of a certain bit plane is not included (see FIG. 3A described later). )), And the arithmetic code cutoff point is changed to be a boundary of the bit plane (see FIG. 3B described later). Thereafter, in each code block, among the bit planes included in the arithmetically encoded data after compression, the bit plane on the most LSB side is set as a bit plane in which signature data is embedded.

図3(a)及び(b)は、第1の実施形態における符号化パス制御方法の説明図である。図3(a)は、符号化パス制御手段1015による制御前のビットプレーンの符号化パスを示し、図3(b)は、符号化パス制御手段1015による制御後のビットプレーンの符号化パスを示す。図3(a)及び(b)においては、各ビットプレーンが3個の符号化パス(図において、Coding pass A,Coding pass B,Coding pass Cと記載する。)で構成されている。   FIGS. 3A and 3B are explanatory diagrams of a coding path control method according to the first embodiment. FIG. 3A shows the coding path of the bit plane before the control by the coding path control means 1015, and FIG. 3B shows the coding path of the bit plane after the control by the coding path control means 1015. Show. 3A and 3B, each bit plane is composed of three coding passes (denoted as Coding pass A, Coding pass B, and Coding pass C in the drawing).

レート制御手段1014は、コードブロックCB0(図3において、Code-block 0と表記する。)において、図3(a)に示されるように、ビットプレーン番号‘0’のビットプレーン(図3において、Bit-plane 0と表記する。)の途中の符号化パスA(図3において、Coding pass Aと表記する。)までが圧縮後の算術符号化データに含まれるように、算術符号打ち切り点を設定している。そこで、算術符号打ち切り点がビットプレーンの境界になるように、符号化パス制御手段1015により算術符号打ち切り点を変更し、図3(b)に示されるように、同じビットプレーン番号‘0’のビットプレーンの符号化パスCまでが圧縮後の算術符号化データに含まれるようにする。   As shown in FIG. 3 (a), the rate control means 1014 in the code block CB0 (denoted as Code-block 0 in FIG. 3) has the bit plane number “0” in FIG. Arithmetic code truncation points are set so that up to coding pass A (denoted as Coding pass A in FIG. 3) in the middle of Bit-plane 0) is included in the compressed arithmetic encoded data. is doing. Therefore, the arithmetic code truncation point is changed by the coding path control means 1015 so that the arithmetic code truncation point becomes the boundary of the bit plane, and as shown in FIG. Up to bit plane coding pass C is included in the arithmetic coded data after compression.

また、レート制御手段1014は、コードブロックCB1(図3において、Code-block 1と表記する。)において、図3(a)に示されるように、ビットプレーン番号‘1’のビットプレーン(図3において、Bit-plane 1と表記する。)の途中の符号化パスA(図3において、Coding pass Aと表記する。)までが圧縮後の算術符号化データに含まれるように、算術符号打ち切り点を設定している。そこで、算術符号打ち切り点がビットプレーンの境界になるように、符号化パス制御手段1015により算術符号打ち切り点を変更し、図3(b)に示されるように、一つ上位のビットプレーン番号‘2’のビットプレーン(図3において、Bit-plane 2と表記する。)の符号化パスCまでが圧縮後の算術符号化データに含まれるように算術符号打ち切り点を変更する。この場合、算術符号打ち切り点をビットプレーン境界にすればよく、同じビットプレーンを含むようにしても、一つ上位のビットプレーンまで含むようにしてもよい。   Further, the rate control means 1014, in the code block CB1 (indicated as Code-block 1 in FIG. 3), as shown in FIG. 3A, the bit plane of the bit plane number “1” (FIG. 3). In FIG. 3, the arithmetic code truncation point is such that the encoded pass data up to the middle of coding pass A (denoted as Coding pass A in FIG. 3) is included in the compressed arithmetic encoded data. Is set. Therefore, the arithmetic code truncation point is changed by the coding path control means 1015 so that the arithmetic code truncation point becomes the boundary of the bit plane, and as shown in FIG. The arithmetic code cut-off point is changed so that up to the coding pass C of the 2 ′ bit plane (denoted as Bit-plane 2 in FIG. 3) is included in the arithmetic coded data after compression. In this case, the arithmetic code truncation point may be a bit plane boundary, and the same bit plane may be included, or the bit plane one higher order may be included.

また、レート制御手段1014は、コードブロックCB2(図3において、Code-block 2と表記する。)において、図3(a)に示されるように、ビットプレーン番号‘2’のビットブレーン(図3において、Bit-plane 2と表記する。)の途中の符号化パスB(図3において、Coding pass Bと表記する。)まで含まれるような算術符号打ち切り点を設定している。そこで、算術符号打ち切り点がビットプレーンの境界になるように、符号化パス制御手段1015により算術符号打ち切り点を変更し、同じビットプレーン‘2’の符号化パスCまでが圧縮後の算術符号化データに含まれるように算術符号打ち切り点を変更する。   In addition, the rate control means 1014, in the code block CB2 (indicated as Code-block 2 in FIG. 3), as shown in FIG. In FIG. 3, an arithmetic code cut-off point is set so as to include up to coding path B (denoted as Coding pass B in FIG. 3). Therefore, the arithmetic code truncation point is changed by the coding path control means 1015 so that the arithmetic code truncation point becomes the boundary of the bit plane, and the arithmetic coding after compression is performed up to the coding pass C of the same bit plane '2'. Change the arithmetic code truncation point to be included in the data.

コードブロックCB3(図3においてCode-block 3と表記する。)においては、図3(a)に示されるように、算術符号打ち切り点がビットプレーン境界にあるので、これを変更する必要はない。   In the code block CB3 (denoted as Code-block 3 in FIG. 3), as shown in FIG. 3A, the arithmetic code cut-off point is at the bit plane boundary, so that it is not necessary to change this.

以上の処理によって、符号化パス制御後の各コードブロックにおける圧縮後の算術符号データに含まれる符号化パスの状態は図3(b)のようになる。また、署名データの埋め込まれるビットプレーンは、各コードブロックで圧縮後の算術符号化データに含まれるビットプレーンのうち、最もLSB側のビットプレーンになる。従って、図3(b)の場合には、圧縮後の算術符号化データに含まれるビットプレーンの番号は、コードブロックCB0,CB1,CB2,CB3のそれぞれについて、‘0’、‘2’、‘2’、‘1’となる。   With the above processing, the state of the coding pass included in the compressed arithmetic code data in each code block after the coding pass control is as shown in FIG. Also, the bit plane in which the signature data is embedded is the bit plane on the most LSB side among the bit planes included in the arithmetically encoded data compressed in each code block. Accordingly, in the case of FIG. 3B, the bit plane numbers included in the arithmetically encoded data after compression are “0”, “2”, and “0” for the code blocks CB0, CB1, CB2, and CB3, respectively. 2 ',' 1 '.

図3(a)及び(b)では、各ビットプレーンが3種類の符号化パスに分けられた場合を示すが、さらに多くの種類の符号化パスによって各ビットプレーンを構成した場合も同様に処理することができる。また、算術符号打ち切り点をビットプレーン境界に変更する際に、変更前における算術符号化量と変更後における算術符号化量との差異が一番小さくなるように、ビットプレーン境界を選択してもよい。   FIGS. 3A and 3B show a case where each bit plane is divided into three types of encoding passes, but the same processing is performed when each bit plane is configured by more types of encoding passes. can do. Also, when changing the arithmetic code cutoff point to a bit plane boundary, even if the bit plane boundary is selected so that the difference between the arithmetic coding amount before the change and the arithmetic coding amount after the change becomes the smallest Good.

署名生成手段1101は、変換係数記憶手段1021で保持されている変換係数に対して、署名データを生成する。変換係数のうち生成した署名データを埋め込む係数を除く変換係数から署名データを求める。具体的には、(1)署名データを埋め込むビットプレーン(これは符号化パス制御手段1015によって求められた)以外のビットブレーンのデータと、(2)署名データを埋め込むビットプレーンのうち署名データの埋め込みに使用されないすべてのビットとを用いて、SHA1等のハッシュ関数で得られたハッシュ値や、ハッシュ値をRSA等の暗号アルゴリズムで暗号化したもの、ハッシュ値の一部等を署名データとする。   The signature generation unit 1101 generates signature data for the conversion coefficient held in the conversion coefficient storage unit 1021. Signature data is obtained from the conversion coefficient excluding the coefficient in which the generated signature data is embedded among the conversion coefficients. Specifically, (1) bit plane data other than the bit plane in which the signature data is embedded (which is obtained by the coding path control means 1015) and (2) the signature data of the bit plane in which the signature data is embedded Using all the bits that are not used for embedding, the hash value obtained by a hash function such as SHA1, the hash value encrypted by an encryption algorithm such as RSA, or a part of the hash value is used as signature data. .

署名埋め込み手段1102は、変換係数記憶手段1021で保持されている変換係数に対して、署名生成手段1101から得られる署名データを埋め込む。埋め込み位置は、疑似ランダムシーケンスや、置換テーブルでスクランブルされた位置とすることもできる。   The signature embedding unit 1102 embeds signature data obtained from the signature generation unit 1101 in the conversion coefficient held in the conversion coefficient storage unit 1021. The embedding position can be a pseudo-random sequence or a position scrambled by a replacement table.

ビットプレーン符号化パス生成部1012Aは、署名埋め込み手段1102で得られた署名データが埋め込まれた変換係数に対して、ビットプレーン符号化パス生成部1012と同様の処理を行う。即ち、署名データが埋め込まれた変換係数に対して、所定の大きさのコードブロックに分割し、そのコードブロックごとにMSBからLSBに至る複数のビットプレーンに展開した上で、各ビットプレーンを符号化するため、符号化パスを予め決めておいたルールに応じて決定する。算術符号化手段1013Aは、ビットプレーン符号化パス生成手段1012Aで生成した符号化パスごとに符号化パス制御手段1015で変更した符号化パスまで算術符号化を行い、符号化(圧縮)されたデータを得る。署名データが埋め込まれ、符号化された係数は、出力端子1004を通して出力される。   The bit plane encoding pass generation unit 1012A performs the same processing as the bit plane encoding pass generation unit 1012 on the transform coefficient in which the signature data obtained by the signature embedding unit 1102 is embedded. That is, the transform coefficient in which the signature data is embedded is divided into code blocks of a predetermined size, each code block is expanded into a plurality of bit planes from MSB to LSB, and each bit plane is encoded. Therefore, the encoding pass is determined according to a predetermined rule. The arithmetic encoding unit 1013A performs arithmetic encoding up to the encoding pass changed by the encoding pass control unit 1015 for each encoding pass generated by the bit plane encoding pass generation unit 1012A, and is encoded (compressed) data. Get. The coefficient in which the signature data is embedded and encoded is output through the output terminal 1004.

[電子透かし検証側の動作]
図2に示されるように、電子透かしを検証する圧縮画像データを入力端子1006へ入力する。入力端子1006へ入力される圧縮画像データは、復号手段1031へ渡される。復号手段1031は、算術符号化されているデータを復号し、周波数空間上における変換係数を生成する。
[Operation of digital watermark verification side]
As shown in FIG. 2, compressed image data for verifying the digital watermark is input to the input terminal 1006. The compressed image data input to the input terminal 1006 is transferred to the decoding unit 1031. The decoding unit 1031 decodes data that has been arithmetically encoded, and generates transform coefficients in the frequency space.

署名抽出手段1201は、変換係数に埋め込まれた署名データを抽出する。抽出は、署名データ埋め込み時と同じ手法により埋め込み位置を決定し、埋め込んだ位置からデータを抽出することで行う。電子透かし埋め込み側でハッシュ値等を暗号化している場合、ここで暗号をデコードし、元のデータに戻し、署名比較手段1203へ渡す。   The signature extraction unit 1201 extracts signature data embedded in the conversion coefficient. Extraction is performed by determining an embedding position by the same method as that used when embedding signature data, and extracting data from the embedded position. When the hash value or the like is encrypted on the digital watermark embedding side, the encryption is decoded here, returned to the original data, and passed to the signature comparison unit 1203.

署名生成手段1202は、電子透かし埋め込み側と同様の方法により変換係数に対して署名データを生成する。ただし、電子透かし埋め込み側で暗号化等を使用している場合、ここで暗号化を行う必要はなく、署名抽出手段1201で暗号のデコードを行う。生成した署名データは、署名比較手段1203へ渡される。   The signature generation unit 1202 generates signature data for the conversion coefficient by the same method as the digital watermark embedding side. However, when encryption or the like is used on the digital watermark embedding side, it is not necessary to perform encryption here, and the signature extraction unit 1201 performs decoding of the encryption. The generated signature data is passed to the signature comparison unit 1203.

署名比較手段1203は、署名抽出手段1201により抽出された署名データと、署名生成手段1202により生成された署名データを比較し、この比較に基づいて、画像データの改ざんの有無を判定する。例えば、両方の署名データが一致した場合は改ざん無し、一致しない場合は改ざん有りと判定する。判定結果は、比較結果出力端子1007を通して出力される。   The signature comparison unit 1203 compares the signature data extracted by the signature extraction unit 1201 with the signature data generated by the signature generation unit 1202, and determines whether image data has been tampered with based on this comparison. For example, if both signature data match, it is determined that there is no falsification, and if they do not match, it is determined that falsification has occurred. The determination result is output through the comparison result output terminal 1007.

[第1の実施形態の効果]
以上説明したように、第1の実施形態によれば、各ビットプレーンが複数の符号化パスで構成され、算術符号化されている場合であっても、算術符号打ち切り点を変更することによって、埋め込んだ署名データを検証側ですべて取り出せるようにすることができる。また、第1の実施形態によれば、符号化後のデータ量を目標符号化量とするために、符号化処理におけるレート制御を用いることができるので、電子透かし埋め込み側の構成から、目標とする符号量となる符号化データを出力することができる。
[Effect of the first embodiment]
As described above, according to the first embodiment, even if each bit plane is configured by a plurality of coding passes and is arithmetic coded, by changing the arithmetic code breakpoint, All of the embedded signature data can be extracted on the verification side. In addition, according to the first embodiment, since the rate control in the encoding process can be used in order to set the encoded data amount as the target encoding amount, the configuration on the digital watermark embedding side can It is possible to output encoded data that is a code amount to be output.

≪1−2.第2の実施形態≫
[電子透かし埋め込み側の構成]
図4は、第2の実施形態に係る電子透かし埋め込み方法を実施する電子透かし埋め込み側の構成(電子透かし埋め込み装置)を示すブロック図である。図4において、図1(第1の実施形態)の構成と同一又は対応する構成には、同じ符号を付す。図4に示されるように、第2の実施形態の電子透かし埋め込み側の構成は、無効符号化パス打ち切り手段1016を有する点が、上記第1の実施形態(図1)の電子透かし埋め込み側の構成と相違する。
<< 1-2. Second Embodiment >>
[Configuration of the digital watermark embedding side]
FIG. 4 is a block diagram showing a configuration (digital watermark embedding apparatus) on the digital watermark embedding side that implements the digital watermark embedding method according to the second embodiment. In FIG. 4, the same reference numerals are given to the same or corresponding components as those in FIG. 1 (first embodiment). As shown in FIG. 4, the configuration of the digital watermark embedding side of the second embodiment has an invalid encoding pass truncation means 1016, which is the same as that of the digital watermark embedding side of the first embodiment (FIG. 1). It differs from the configuration.

[電子透かし埋め込み側の動作]
第2の実施形態の電子透かし埋め込み側の構成の動作は、無効符号化パス打ち切り手段1016の動作を除いて、第1の実施形態の電子透かし埋め込み側の構成(図1)の動作と同様である。図4に示される無効符号化パス打ち切り手段1016は、算術符号化手段1013Aで得られた符号化パスの符号結果において、各コードブロックで圧縮後の算術符号データに含まれるビットプレーンのうち、最もLSB側のビットプレーンの符号化パスで打ち切ってもよい符号化パスがあるかどうかを調べる。その結果、打ち切ってもよいと判断した符号化パスが存在する場合には、その符号化パスを圧縮後の算術符号化データに含まないように変更する。
[Operation of digital watermark embedding]
The operation of the configuration on the digital watermark embedding side of the second embodiment is the same as the operation of the configuration on the digital watermark embedding side (FIG. 1) of the first embodiment except for the operation of the invalid coding pass truncation means 1016. is there. The invalid coding pass truncation unit 1016 shown in FIG. 4 is the most significant bit plane included in the arithmetic code data compressed by each code block in the coding result of the coding pass obtained by the arithmetic coding unit 1013A. It is checked whether there is an encoding pass that can be terminated in the encoding pass of the bit plane on the LSB side. As a result, if there is an encoding pass that is determined to be aborted, the encoding pass is changed so that it is not included in the compressed arithmetically encoded data.

具体的には、無効符号化パス打ち切り手段1016が、上記ビットプレーンにおいて、算術符号化順が遅い符号化パスから順(一つのビットプレーンが符号化パス1,…,n−1,nの順で符号化されていた場合、符号化パスn,n−1,…,1の順)に調べて、初めて有意なデータが含まれている符号化パスを求める。そして、その有意なデータが含まれている符号化パスまでを圧縮後の算術符号データに含める符号化パスとして、算術符号打ち切り点を変更する。ここで、有意なデータとは、符号化対象となるビットに少なくとも一つの「1」が含まれていることを意味する。符号化対象のビットがすべて「0」である場合は、その符号化パスを圧縮後の算術符号化データに含めなくても、復号する際に符号化されていない符号化パスに該当するビットは「0」として復号すれば(通常の復号処理ではそのように取り扱われる)、署名埋め込み後の変換係数の値を、埋め込み側の装置と検証側の装置で同じにすることができる。このため、上記したように、有意なデータの無い符号化パスを打ち切ることができる。上記以外の点について、第2の実施形態における電子透かし埋め込み側の動作は、第1の実施形態における電子透かし埋め込み側の動作と同じである。   Specifically, the invalid coding pass truncation means 1016 performs the order from the coding pass with the slowest arithmetic coding order in the bit plane (one bit plane is in the order of coding passes 1,..., N−1, n). In this case, the coding pass including significant data is obtained for the first time in the order of coding passes n, n-1,. Then, the arithmetic code truncation point is changed as an encoding pass in which the encoded pass including the significant data is included in the compressed arithmetic code data. Here, significant data means that at least one “1” is included in the bits to be encoded. When all the bits to be encoded are “0”, even if the encoding pass is not included in the compressed arithmetic encoded data, the bits corresponding to the encoding pass that is not encoded at the time of decoding are If it is decoded as “0” (this is handled in the normal decoding process), the value of the transform coefficient after the signature is embedded can be made the same between the embedding device and the verification device. For this reason, as described above, an encoding pass without significant data can be terminated. Regarding operations other than the above, the operation on the digital watermark embedding side in the second embodiment is the same as the operation on the digital watermark embedding side in the first embodiment.

[電子透かし検証側の構成及び動作]
第2の実施形態の電子透かし検証側の構成及び動作は、第1の実施形態の電子透かし検証側の構成(図2)及び動作と同様である。
[Configuration and operation of digital watermark verification side]
The configuration and operation on the digital watermark verification side in the second embodiment are the same as the configuration (FIG. 2) and operation on the digital watermark verification side in the first embodiment.

[第2の実施形態の効果]
以上説明したように、第2の実施形態によれば、算術符号化の符号化パスのうちで、不必要な符号化パスがあるか調べ、不必要な符号化パスがあればその符号化パスを圧縮後の算術符号化データに含めないようにすることにより、同じ変換係数値を復号できることを保証しながら、算術符号化量を削減し、圧縮率の高いデータを得ることができる。
[Effects of Second Embodiment]
As described above, according to the second embodiment, it is checked whether there is an unnecessary coding pass among the coding passes of arithmetic coding, and if there is an unnecessary coding pass, that coding pass. Is not included in the arithmetically encoded data after compression, the amount of arithmetic encoding can be reduced and data with a high compression rate can be obtained while ensuring that the same transform coefficient value can be decoded.

≪1−3.第3の実施形態≫
上述した第1の実施形態の電子透かし埋め込み側の構成では、署名データを埋め込んだすべての変換係数に対して、算術符号化手段1013Aによる算術符号化を行う必要があった。これに対して、第3の実施形態の電子透かし埋め込み側の構成では、各ビットプレーン単位で算術符号を初期化/終端処理することで、算術符号化を各ビットプレーンで独立に処理できるようにし、署名データを埋め込んだビットプレーンのみを算術符号化手段1013Aにより算術符号化し、署名データを埋め込んでいないビットプレーンに対する算術符号化手段1013Aによる算術符号化を省略することができる。
<< 1-3. Third Embodiment >>
In the configuration on the digital watermark embedding side of the first embodiment described above, it is necessary to perform arithmetic coding by the arithmetic coding means 1013A for all transform coefficients in which the signature data is embedded. On the other hand, in the configuration of the digital watermark embedding side of the third embodiment, arithmetic coding is initialized / terminated in units of each bit plane so that arithmetic coding can be processed independently in each bit plane. Only the bit plane in which the signature data is embedded can be arithmetic encoded by the arithmetic encoding unit 1013A, and the arithmetic encoding by the arithmetic encoding unit 1013A for the bit plane in which the signature data is not embedded can be omitted.

[電子透かし埋め込み側の構成]
図5は、第3の実施形態に係る電子透かし埋め込み方法を実施する電子透かし埋め込み側の構成(電子透かし埋め込み装置)を示すブロック図である。図5において、図1(第1の実施形態)の構成と同一又は対応する構成には、同じ符号を付す。図5に示されるように、第3の実施形態の電子透かし埋め込み側の構成は、符号化器内部リセット手段1017を有する点、及び、レート制御手段1014から出力される算術符号化データを出力端子1004に出力する点が、上記第1の実施形態(図1)の電子透かし埋め込み側の構成と相違する。
[Configuration of the digital watermark embedding side]
FIG. 5 is a block diagram showing a configuration (digital watermark embedding apparatus) on the digital watermark embedding side that implements the digital watermark embedding method according to the third embodiment. In FIG. 5, the same reference numerals are given to the same or corresponding components as those in FIG. 1 (first embodiment). As shown in FIG. 5, the configuration on the digital watermark embedding side of the third embodiment has a point having an encoder internal reset unit 1017 and an arithmetically encoded data output from the rate control unit 1014 as an output terminal. The output to 1004 is different from the configuration on the digital watermark embedding side of the first embodiment (FIG. 1).

[電子透かし埋め込み側の動作]
算術符号化手段1013で用いられる算術符号には、JPEG2000等で用いられるMQ符号化等がある。MQ符号化の入力としては、符号化対象となるビット(シンボル)及びコンテキストを用いている。コンテキストとは、周辺画像から注目画素の0又は1の予測を行う確率評価モデルであり、予め決められた初期値から符号化対象として入力されたビットに応じて順次更新される。また、算術符号化手段1013は、算術符号化用のレジスタを内部に持っており、このレジスタも順次更新しながら算術符号化を行っている。
[Operation of digital watermark embedding]
The arithmetic codes used in the arithmetic coding means 1013 include MQ coding used in JPEG2000 or the like. As an input of MQ coding, bits (symbols) to be coded and context are used. The context is a probability evaluation model that predicts 0 or 1 of the pixel of interest from the surrounding image, and is sequentially updated according to bits input as an encoding target from a predetermined initial value. The arithmetic encoding unit 1013 has an arithmetic encoding register therein, and performs arithmetic encoding while sequentially updating the register.

算術符号化の各処理単位で独立に処理を行うためには、算術符号化用のコンテキストの初期化や内部レジスタの初期化を行う必要がある。また、符号化の終了時には、算術符号化用のレジスタから符号を吐き出す処理である終端処理を行う必要がある。第3の実施形態においては、算術符号化手段1013で算術符号化を行う際に、各ビットプレーン単位で独立に処理を行うため、符号化器内部リセット手段1017により、各ビットプレーンごとに処理の開始時と終了時に前述の初期化/終端処理を行う。   In order to perform processing independently in each arithmetic coding processing unit, it is necessary to initialize the context for arithmetic coding and initialize the internal register. Further, at the end of the encoding, it is necessary to perform a termination process that is a process for discharging the code from the arithmetic encoding register. In the third embodiment, when arithmetic coding is performed by the arithmetic coding unit 1013, processing is performed independently for each bit plane, so that processing is performed for each bit plane by the encoder internal reset unit 1017. The above initialization / termination process is performed at the start and end.

ビットプレーン符号化パス生成部1012Aは、署名埋め込み手段1102で得られた署名データが埋め込まれた変換係数に対して、ビットプレーン符号化パス生成部1012と同様の処理を行うが、符号化パス制御手段1015からの情報により、署名データを埋め込んでいないビットプレーンは、ビットの変更が行われないので、この処理をスキップする。また、同様に、算術符号化手段1013Aでも、符号化パス制御手段1015からの情報により、署名データを埋め込んでいないビットプレーンは、ビットの変更が行われないので、上記ビットプレーンの算術符号化は行わない。   The bit plane encoding pass generation unit 1012A performs the same processing as the bit plane encoding pass generation unit 1012 on the transform coefficient in which the signature data obtained by the signature embedding unit 1102 is embedded. Since the bit plane in which the signature data is not embedded is not changed by the information from the means 1015, this processing is skipped. Similarly, in the arithmetic coding unit 1013A, the bit plane in which the signature data is not embedded is not changed by the information from the coding path control unit 1015, so that the bit plane arithmetic coding is not performed. Not performed.

ただし、署名データを埋め込んだビットプレーンは、ビットが変更されているので、ビットプレーン符号化パス生成部1012Aでは、ビットプレーン符号化パス生成部1012と同様の処理が行われる。そして、その符号化パスに対しては、算術符号化手段1013Aで、算術符号化を行う。この際、符号化器内部リセット手段1017により、各ビットプレーンごとに前述の初期化/終端処理を行うことで、各ビットプレーンを独立に処理でき、署名データを埋め込んだビットプレーンのみの算術符号化が可能となる。   However, since the bit plane in which the signature data is embedded has changed bits, the bit plane encoding pass generation unit 1012A performs the same processing as the bit plane encoding pass generation unit 1012. For the encoding pass, arithmetic encoding means 1013A performs arithmetic encoding. At this time, by performing the initialization / termination process for each bit plane by the encoder internal reset means 1017, each bit plane can be processed independently, and only the bit plane in which the signature data is embedded is arithmetic encoded. Is possible.

その後、レート制御手段1014で確定している署名データを埋め込んでいないビットプレーンの算術符号化データと、算術符号化手段1013Aから得られる署名データを埋め込んだビットプレーンの算術符号化データを結合することにより、符号化(圧縮)されたデータを得る。上記以外の点について、第3の実施形態における電子透かし埋め込み側の動作は、第1の実施形態における電子透かし埋め込み側の動作と同じである。   Thereafter, arithmetic coding data of the bit plane in which the signature data determined by the rate control means 1014 is not embedded and arithmetic coding data of the bit plane in which the signature data obtained from the arithmetic coding means 1013A are embedded are combined. Thus, encoded (compressed) data is obtained. Regarding operations other than the above, the operation on the digital watermark embedding side in the third embodiment is the same as the operation on the digital watermark embedding side in the first embodiment.

[電子透かし検証側の構成及び動作]
第3の実施形態の電子透かし検証側の構成及び動作は、第1の実施形態の電子透かし検証側の構成(図2)及び動作と同様である。
[Configuration and operation of digital watermark verification side]
The configuration and operation on the digital watermark verification side of the third embodiment are the same as the configuration (FIG. 2) and operation on the digital watermark verification side of the first embodiment.

[第3の実施形態の効果]
以上説明したように、第3の実施形態によれば、算術符号化において各ビットプレーンを独立に処理するために、算術符号化の初期化/終端処理を行っている。それにより、再び算術符号化をする必要がない署名データを埋め込んでいないビットプレーンの算術符号化をスキップし、算術符号化を行う必要がある署名データの埋め込まれたビットプレーンのみを算術符号化することができ、演算処理量を減らすことができる。
[Effect of the third embodiment]
As described above, according to the third embodiment, initialization / termination processing of arithmetic coding is performed in order to independently process each bit plane in arithmetic coding. As a result, the arithmetic coding of the bit plane not embedded with the signature data that does not need to be encoded again is skipped, and only the bit plane in which the signature data that needs to be encoded is embedded is arithmetic encoded. And the amount of calculation processing can be reduced.

≪1−4.第4の実施形態≫
上述した第1の実施形態の電子透かし埋め込み側の構成では、署名データを埋め込んだすべての変換係数に対して、算術符号化手段1013Aによる算術符号化を行う必要があった。これに対して、第4の実施形態の電子透かし埋め込み側の構成では、算術符号化手段1013Aによる算術符号化を途中から再開できるように算術符号化手段1013の符号化器の内部情報を記憶しておくことにより、算術符号化手段1013Aによる算術符号化を行う必要がある署名データの埋め込またビットプレーンのみを符号化することができ、署名データを埋め込んでいないビットプレーンに対する算術符号化手段1013Aによる算術符号化を省略することができる。
<< 1-4. Fourth Embodiment >>
In the configuration on the digital watermark embedding side of the first embodiment described above, it is necessary to perform arithmetic coding by the arithmetic coding means 1013A for all transform coefficients in which the signature data is embedded. On the other hand, in the configuration of the digital watermark embedding side of the fourth embodiment, the internal information of the encoder of the arithmetic coding unit 1013 is stored so that the arithmetic coding by the arithmetic coding unit 1013A can be resumed from the middle. Thus, only the bit plane in which the signature data that needs to be subjected to the arithmetic encoding by the arithmetic encoding means 1013A can be encoded, and the bit encoding in which the signature data is not embedded is performed by the arithmetic encoding means 1013A. Arithmetic coding can be omitted.

[電子透かし埋め込み側の構成]
図6は、第4の実施形態に係る電子透かし埋め込み方法を実施する電子透かし埋め込み側の構成(電子透かし埋め込み装置)を示すブロック図である。図6において、図1(第1の実施形態)の構成と同一又は対応する構成には、同じ符号を付す。図6に示されるように、第4の実施形態の電子透かし埋め込み側の構成は、符号化器内部情報記憶手段1018を有する点、及び、レート制御手段1014から出力される算術符号を出力端子1004に出力する点が、上記第1の実施形態(図1)における電子透かし埋め込み側の構成と相違する。
[Configuration of the digital watermark embedding side]
FIG. 6 is a block diagram showing a configuration (digital watermark embedding apparatus) on the digital watermark embedding side that implements the digital watermark embedding method according to the fourth embodiment. In FIG. 6, the same or corresponding components as those in FIG. 1 (first embodiment) are denoted by the same reference numerals. As shown in FIG. 6, the configuration on the digital watermark embedding side according to the fourth embodiment includes an encoder internal information storage unit 1018 and an arithmetic code output from the rate control unit 1014 as an output terminal 1004. Is different from the configuration on the digital watermark embedding side in the first embodiment (FIG. 1).

[電子透かし埋め込み側の動作]
算術符号化手段1013で用いられる算術符号には、JPEG2000等で用いられるMQ符号化等がある。MQ符号化の入力としては、符号化対象となるビット(シンボル)及びコンテキストを用いている。コンテキストとは、周辺画像から注目画素の0又は1の予測を行う確率評価モデルであり、予め決められた初期値から符号化対象として入力されたビットに応じて、順次更新される。また、算術符号化には、算術符号化用のレジスタを内部に持っており、このレジスタも順次更新しながら算術符号化を行っている。
[Operation of digital watermark embedding]
The arithmetic codes used in the arithmetic coding means 1013 include MQ coding used in JPEG2000 or the like. As an input of MQ coding, bits (symbols) to be coded and context are used. The context is a probability evaluation model that predicts 0 or 1 of the pixel of interest from the surrounding image, and is sequentially updated according to bits input as an encoding target from a predetermined initial value. In addition, the arithmetic coding has a register for arithmetic coding inside, and the arithmetic coding is performed while sequentially updating this register.

算術符号化を途中から再開する場合、符号化器の内部情報(コンテキスト、レジスタ)を初期状態から符号化した場合と同じ状態にしておく必要がある。そのために、第4の実施形態では、符号化器内部状態記憶手段1018が、算術符号化手段1013で算術符号化を行う際に、ビットプレーンの境界から算術符号化を再開できるように、ビットプレーンごとに符号化器の内部情報を記憶している。   When resuming arithmetic coding from the middle, it is necessary to keep the internal information (context, register) of the encoder in the same state as when encoding from the initial state. Therefore, in the fourth embodiment, when the encoder internal state storage unit 1018 performs arithmetic encoding by the arithmetic encoding unit 1013, the bit plane is re-started so that the arithmetic encoding can be resumed from the boundary of the bit plane. The internal information of the encoder is stored for each.

ビットプレーン符号化パス生成部1012Aで、署名埋め込み手段1102で得られた署名データが埋め込まれた変換係数に対して、ビットプレーン符号化パス生成部1012と同様の処理を行うが、符号化パス制御手段1015からの情報により、署名データを埋め込んでいないビットプレーンは、ビットの変更が行われないので、この処理をスキップする。また、同様に、算術符号化手段1013Aでも上記ビットプレーンの算術符号化は行わない。ただし、ビットプレーン符号化パス生成部1012Aは、署名データを埋め込んだビットプレーンに対しては、ビットが変更されているので、ビットプレーン符号化パス生成部1012と同様の処理を行う。そして、その符号化パスに対しては、算術符号化手段1013Aで、算術符号化を行う。この際、符号化器内部状態記憶手段1018により、保持されている符号化器の内部情報を用いて、符号化するビットプレーンを符号化した際と同じ内部情報を符号化器に設定してから、算術符号化の処理を行う。   The bit plane encoding pass generation unit 1012A performs the same processing as the bit plane encoding pass generation unit 1012 on the transform coefficient in which the signature data obtained by the signature embedding unit 1102 is embedded. Since the bit plane in which the signature data is not embedded is not changed by the information from the means 1015, this processing is skipped. Similarly, the arithmetic coding unit 1013A does not perform the arithmetic coding of the bit plane. However, the bit plane encoding pass generation unit 1012A performs the same processing as the bit plane encoding pass generation unit 1012 because the bit is changed for the bit plane in which the signature data is embedded. For the encoding pass, arithmetic encoding means 1013A performs arithmetic encoding. At this time, the encoder internal state storage means 1018 sets the same internal information in the encoder as when the bit plane to be encoded is encoded by using the internal information of the held encoder. Performs arithmetic coding processing.

その後、レート制御手段1014で確定している署名データを埋め込んでいないビットプレーンの算術符号化データと、算術符号化手段1013Aから得られる署名データを埋め込んだビットプレーンの算術符号化データを結合することにより、符号化(圧縮)されたデータを得る。上記以外の点について、第4の実施形態の電子透かし埋め込み側の動作は、第1の実施形態の電子透かし埋め込み側の動作と同じである。   Thereafter, arithmetic coding data of the bit plane in which the signature data determined by the rate control means 1014 is not embedded and arithmetic coding data of the bit plane in which the signature data obtained from the arithmetic coding means 1013A are embedded are combined. Thus, encoded (compressed) data is obtained. Regarding operations other than the above, the operation on the digital watermark embedding side in the fourth embodiment is the same as the operation on the digital watermark embedding side in the first embodiment.

[電子透かし検証側の構成及び動作]
第4の実施形態の電子透かし検証側の構成及び動作は、第1の実施形態の電子透かし検証側の構成(図2)及び動作と同様である。
[Configuration and operation of digital watermark verification side]
The configuration and operation on the digital watermark verification side of the fourth embodiment are the same as the configuration (FIG. 2) and operation on the digital watermark verification side of the first embodiment.

[第4の実施形態の効果]
以上説明したように、第4の実施形態によれば、算術符号化を途中から再開できるように符号化器の内部情報を記憶しておくことにより、再び算術符号化をする必要がない署名データを埋め込んでいないビットプレーンの算術符号化をスキップし、算術符号化を行う必要がある署名データの埋め込まれたビットプレーンのみを算術符号化することができ、演算処理量を減らすことができる。
[Effect of the fourth embodiment]
As described above, according to the fourth embodiment, by storing the internal information of the encoder so that arithmetic encoding can be resumed from the middle, signature data that does not need to be arithmetic encoded again is stored. It is possible to skip the arithmetic coding of bit planes without embedding and encode only the bit plane in which the signature data that needs to be arithmetically coded is embedded, thereby reducing the amount of calculation processing.

≪1−5.第5の実施形態≫
上述した第1の実施形態の電子透かし埋め込みが側の構成では、まず変換係数に対して、算術符号化を行った後、署名データを埋め込み、さらに署名データを埋め込んだ係数に対して、もう一度算術符号化を行う必要があった。これに対して、第5の実施形態の電子透かし埋め込みが側の構成では、変換係数の算術符号化を行う前に、予め署名データを埋め込むビットプレーンを指定し、生成した署名データをそのビットプレーンに埋め込んだ後に、算術符号化を行う。
<< 1-5. Fifth embodiment >>
In the above-described configuration of the digital watermark embedding according to the first embodiment, the transform coefficient is first subjected to arithmetic coding, then the signature data is embedded, and the signature data is further embedded into the arithmetic once again. It was necessary to perform encoding. On the other hand, in the configuration of the digital watermark embedding according to the fifth embodiment, before performing arithmetic coding of the transform coefficient, a bit plane in which signature data is embedded is designated in advance, and the generated signature data is transferred to the bit plane. After embedding in, arithmetic coding is performed.

[電子透かし埋め込み側の構成]
図7は、第5の実施形態に係る電子透かし埋め込み方法を実施する電子透かし埋め込み側の構成(電子透かし埋め込み装置)を示すブロック図である。図7において、図1(第1の実施形態)の構成と同一又は対応する構成には、同じ符号を付す。
[Configuration of the digital watermark embedding side]
FIG. 7 is a block diagram showing a configuration (digital watermark embedding apparatus) on the digital watermark embedding side that implements the digital watermark embedding method according to the fifth embodiment. In FIG. 7, the same reference numerals are given to the same or corresponding components as those in FIG. 1 (first embodiment).

図7に示されるように、第5の実施形態の電子透かし埋め込み側の構成は、入力端子1001から入力された画像データを、周波数変換する周波数変換手段1011と、周波数変換手段1011により生成された変換係数を記憶する変換係数記憶手段1021とを有する。また、第5の実施形態の電子透かし埋め込み側の構成は、変換係数から署名データを生成する署名生成手段1101と、署名生成手段1101から得られる署名データを埋め込む署名埋め込み手段1102と、署名データが埋め込まれた変換係数をビットプレーン符号化するために符号化パスを生成するビットプレーン符号化パス生成手段1012Aと、各符号化パスを算術符号化する算術符号化手段1013Aとを有する。算術符号化手段1013Aで生成された符号化/電子透かし埋め込み後の圧縮データは、出力端子1004を通して出力される。また、署名生成手段1101、埋め込む署名埋め込み手段1102、ビットプレーン符号化パス生成手段1012A、及び算術符号化手段1013Aには、ビットプレーン入力端子1005を通してビットプレーンが入力される。   As shown in FIG. 7, the configuration of the digital watermark embedding side according to the fifth embodiment is generated by the frequency conversion unit 1011 that converts the frequency of the image data input from the input terminal 1001 and the frequency conversion unit 1011. Conversion coefficient storage means 1021 for storing the conversion coefficient. The configuration of the digital watermark embedding side according to the fifth embodiment includes a signature generating unit 1101 that generates signature data from a conversion coefficient, a signature embedding unit 1102 that embeds signature data obtained from the signature generating unit 1101, and a signature data Bit plane encoding pass generation means 1012A for generating an encoding pass for encoding the embedded transform coefficients into bit planes, and arithmetic encoding means 1013A for arithmetically encoding each encoding pass are included. The compressed data after encoding / digital watermark embedding generated by the arithmetic encoding means 1013A is output through the output terminal 1004. A bit plane is input to the signature generation unit 1101, the embedded signature embedding unit 1102, the bit plane encoding pass generation unit 1012 A, and the arithmetic encoding unit 1013 A through the bit plane input terminal 1005.

[電子透かし埋め込み側の動作]
図7に示されるように、電子透かしを埋め込むターゲット画像の画像データを入力端子1001へ入力する。入力端子1001へ入力される画像データは、周波数変換手段1011へ渡される。周波数変換手段1011では、入力された画像に対して、例えば、ウェーブレット変換のような周波数変換を行い、周波数空間上の係数を得る。また、変換係数記憶手段1021でその変換係数を記憶しておく。
[Operation of digital watermark embedding]
As shown in FIG. 7, the image data of the target image in which the digital watermark is embedded is input to the input terminal 1001. Image data input to the input terminal 1001 is passed to the frequency conversion unit 1011. The frequency conversion unit 1011 performs frequency conversion such as wavelet conversion on the input image to obtain a coefficient in the frequency space. Also, the conversion coefficient storage means 1021 stores the conversion coefficient.

署名生成手段1101は、周波数変換手段1011で得られた変換係数に対して、署名データを生成する。変換係数のうち生成した署名データを埋め込む係数を除く変換係数から署名データを求める。具体的には、埋め込みビットプレーン入力端子1005から入力された埋め込みビットプレーン以外と、そのビットプレーンのうち埋め込みに使用しないすべてのビットを用いて、SHA1等のハッシュ関数で得られたハッシュ値や、ハッシュ値をRSA等の暗号アルゴリズムで暗号化したもの、ハッシュ値の一部等を署名データとする。   The signature generation unit 1101 generates signature data for the conversion coefficient obtained by the frequency conversion unit 1011. Signature data is obtained from the conversion coefficient excluding the coefficient in which the generated signature data is embedded among the conversion coefficients. Specifically, a hash value obtained by a hash function such as SHA1 using all bits that are not used for embedding other than the embedded bit plane input from the embedded bit plane input terminal 1005, A hash value encrypted with an encryption algorithm such as RSA, a part of the hash value, and the like are used as signature data.

署名埋め込み手段1102は、変換係数記憶手段1021で保持されている変換係数に対して、署名生成手段1101から得られる署名データを埋め込む。埋め込むビットプレーンは、埋め込みビットプレーン入力端子1005から入力されるビットプレーンである。埋め込み位置は、疑似ランダムシーケンスや、置換テーブルでスクランブルすることによって得られた位置とすることもできる。   The signature embedding unit 1102 embeds signature data obtained from the signature generation unit 1101 in the conversion coefficient held in the conversion coefficient storage unit 1021. The embedded bit plane is a bit plane input from the embedded bit plane input terminal 1005. The embedding position can also be a position obtained by scrambling with a pseudo-random sequence or a replacement table.

ビットプレーン符号化パス生成部1012Aは、署名埋め込み手段1102で得られた署名データが埋め込まれた変換係数に対して、所定の大ささのコードブロックに分割し、そのコードブロックごとにMSBからLSBに至る複数のビットプレーンに展開した上で、各ビットプレーンを符号化するため、符号化パスを予め決めておいたルールに応じて決定する。算術符号化手段1013Aは、ビットプレーン符号化パス生成手段1012Aで生成した符号化パスごとに算術符号化を行い、符号化(圧縮)されたデータを得る。ビットプレーン符号化パス生成部1012A、算術符号化手段1013Aとも符号化パスの生成及びその算術符号化は、埋め込みビットプレーン入力端子1005から入力されるビットプレーンまで行えばよい。署名データが埋め込まれ、符号化された係数データは、出力端子1004を通して出力され、電子透かし検証側の構成に渡される。   The bit plane coding pass generation unit 1012A divides the transform coefficient in which the signature data obtained by the signature embedding unit 1102 is embedded into code blocks of a predetermined size, and from each MS to the LSB. In order to encode each bit plane after expanding to a plurality of bit planes, an encoding pass is determined according to a predetermined rule. The arithmetic encoding unit 1013A performs arithmetic encoding for each encoding pass generated by the bit plane encoding pass generation unit 1012A, and obtains encoded (compressed) data. The bit plane encoding pass generation unit 1012A and the arithmetic encoding unit 1013A may generate the encoding pass and the arithmetic encoding up to the bit plane input from the embedded bit plane input terminal 1005. Coefficient data in which signature data is embedded and encoded is output through an output terminal 1004 and passed to the configuration on the digital watermark verification side.

[電子透かし検証側の構成及び動作]
第5の実施形態の電子透かし検証側の構成及び動作は、第1の実施形態の電子透かし検証側の構成(図2)及び動作と同様である。
[Configuration and operation of digital watermark verification side]
The configuration and operation on the digital watermark verification side of the fifth embodiment are the same as the configuration (FIG. 2) and operation on the digital watermark verification side of the first embodiment.

[第5の実施形態の効果]
以上説明したように、第5の実施形態によれば、予め署名データを埋め込むビットプレーンを指定することで、変換係数を算術符号化する前に、生成した署名データを埋め込んでおき、その後、署名データを埋め込んだ変換係数の算術符号化を指定されたビットプレーンまで行うことで、第1の実施形態では2回行っていた算術符号化の処理を、1回に削減することができる。
[Effect of Fifth Embodiment]
As described above, according to the fifth embodiment, by specifying a bit plane in which signature data is embedded in advance, the generated signature data is embedded before the transform coefficient is arithmetically encoded, and then the signature data is embedded. By performing arithmetic coding of the transform coefficient in which data is embedded up to the designated bit plane, the arithmetic coding processing that has been performed twice in the first embodiment can be reduced to one time.

≪1−6.第6の実施形態≫
上述した第1の実施形態の電子透かし埋め込み側の構成では、変換係数に対して生成した符号化パスを算術符号化し、レート制御を行う場合、符号化パスの境界で算術符号打ち切り点を決定していた。これに対して、第6の実施形態の電子透かし埋め込み側の構成では、予めレート制御において算術符号打ち切り点を求める際に、ビットプレーンの途中で打ち切り点が設定されないように、ビットプレーンの境界にのみ算術符号打ち切り点が設定されるような制約条件を設けて、レート制御を行う。
<< 1-6. Sixth Embodiment >>
In the configuration of the digital watermark embedding side according to the first embodiment described above, when the encoding pass generated for the transform coefficient is arithmetically encoded and rate control is performed, the arithmetic code cutoff point is determined at the boundary of the encoding pass. It was. On the other hand, in the configuration on the digital watermark embedding side of the sixth embodiment, when the arithmetic code truncation point is obtained in advance in the rate control, the bit plane boundary is set so that the truncation point is not set in the middle of the bit plane. Only the arithmetic code truncation point is set so that the rate control is performed.

[電子透かし埋め込み側の構成]
図8は、第6の実施形態に係る電子透かし埋め込み方法を実施する電子透かし埋め込み側の構成(電子透かし埋め込み装置)を示すブロック図である。図8において、図1(第1の実施形態)の構成と同一又は対応する構成には、同じ符号を付す。第6の実施形態の電子透かし埋め込み側の構成は、第1の実施形態におけるレート制御手段1014に代えて、制約条件付きレート制御手段1019を備え、符号化パス制御手段1015を省略した点が、第1の実施形態の電子透かし埋め込み側の構成と相違する。
[Configuration of the digital watermark embedding side]
FIG. 8 is a block diagram showing a configuration (digital watermark embedding apparatus) on the digital watermark embedding side for executing the digital watermark embedding method according to the sixth embodiment. In FIG. 8, the same or corresponding components as those in FIG. 1 (first embodiment) are denoted by the same reference numerals. The configuration on the digital watermark embedding side of the sixth embodiment includes a rate control means 1019 with a constraint condition instead of the rate control means 1014 in the first embodiment, and omits the coding path control means 1015. This is different from the configuration on the digital watermark embedding side of the first embodiment.

[電子透かし埋め込み側の動作]
第6の実施形態の電子透かし埋め込み側の構成の動作は、制約条件付きレート制御手段1019、署名生成手段1101、及び算術符号化手段1013Aの動作を除いて、第1の実施形態の電子透かし埋め込み側の構成の動作と同様である。
[Operation of digital watermark embedding]
The operation of the configuration on the digital watermark embedding side of the sixth embodiment is the same as that of the first embodiment except for the operations of the rate control unit with constraint condition 1019, the signature generation unit 1101, and the arithmetic coding unit 1013A. This is the same as the operation of the configuration on the side.

通常、レート制御において、算術符号打ち切り点は符号化(圧縮)された画像の画質が最適になるように符号化パスの境界で算術符号打ち切り点が決定される。しかし、制約条件付きレート制御手段1019では、あるビットプレーンに埋め込んだ署名データを検証側ですべて取り出せるようにするため、ビットプレーン途中にある符号化パス以降の算術符号が打ち切られることがないように、算術符号打ち切り点を求める。   Usually, in rate control, the arithmetic code breakpoint is determined at the boundary of the coding pass so that the image quality of the encoded (compressed) image is optimized. However, in the rate control means with constraint condition 1019, in order to be able to extract all signature data embedded in a certain bit plane on the verification side, arithmetic codes after the encoding pass in the middle of the bit plane are not cut off. Find the arithmetic code cutoff point.

即ち、算術符号打ち切り点をビットプレーン境界にするという条件で、目標符号量入力端子1003から入力された符号量になるように、各コードブロックごとに算術符号化手段1013で得られた各符号化パスごとの算術符号化量をカウントし、目標の符号化量に達した時点で、それ以降のパスを切り捨てる。この処理により、各コードブロックにおける算術符号打ち切り点が求まり、圧縮後の算術符号データに含まれる符号化パスが決まる。算術符号打ち切り点をビットプレーン境界にするという条件を付けることで、すべてのコードブロックで、図3(b)のようなビットプレーン境界(符号化パスCoding pass Cの直後)に算術符号打ち切り点が設定される。ただし、第1の実施形態のように、レート制御で求めた算術符号打ち切り点を、画質を考慮せずに符号化パス制御手段で変更したこととは異なり、第6の実施形態では制約条件があるとは言え、その条件下では、目標となる符号量に対して、最適な画質の圧縮データが得られるように、レート制御を行うことができる。従って、ビットプレーンの境界に算術符号打ち切り点が存在するが、各コードブロックにおける算術符号打ち切り点は、図3(b)と全く同じとは限らない。また、制約条件付きレート制御手段1019では、各コードブロックで圧縮後の算術符号データに含まれるビットプレーンのうち、最もLSB側のビットプレーンを署名データの埋め込まれるビットプレーンとする。   In other words, each encoding obtained by the arithmetic encoding means 1013 for each code block so as to be the code amount input from the target code amount input terminal 1003 under the condition that the arithmetic code cutoff point is a bit plane boundary. The arithmetic coding amount for each pass is counted, and when the target coding amount is reached, the subsequent passes are truncated. By this processing, the arithmetic code cutoff point in each code block is obtained, and the encoding pass included in the compressed arithmetic code data is determined. By adding the condition that the arithmetic code breakpoint is a bit plane boundary, the arithmetic code breakpoint is located at the bit plane boundary (immediately after the coding pass C) as shown in FIG. Is set. However, unlike the first embodiment, the arithmetic code truncation point obtained by the rate control is changed by the coding path control means without considering the image quality, and in the sixth embodiment, the constraint condition is Nevertheless, rate control can be performed under such conditions so that compressed data with optimum image quality can be obtained for a target code amount. Therefore, although there are arithmetic code breakpoints at the bit plane boundaries, the arithmetic code breakpoints in each code block are not necessarily the same as in FIG. Further, the rate control means with constraint condition 1019 sets the bit plane on the most LSB side among the bit planes included in the arithmetic code data after compression in each code block as the bit plane in which the signature data is embedded.

署名生成手段1101は、変換係数記憶手段1021で保持されている変換係数に対して、署名データを生成する。第1の実施形態と異なる点は、制約条件付きレート制御手段1019で求めた、署名データを埋め込むビットプレーンの情報を用いて署名データを生成することである。   The signature generation unit 1101 generates signature data for the conversion coefficient held in the conversion coefficient storage unit 1021. The difference from the first embodiment is that the signature data is generated by using the information of the bit plane in which the signature data is embedded, which is obtained by the rate control unit with constraint condition 1019.

算術符号化手段1013Aは、ビットプレーン符号化パス生成手段1012Aで生成した符号化パスごとに算術符号化を行う。第1の実施形態と異なる点は、制約条件付きレート制御手段1019で決定した符号化パスまでの算術符号化を行い、符号化(圧縮)されたデータを得ることである。上記以外の点について、第6の実施形態の電子透かし埋め込み側の動作は、第1の実施形態の電子透かし埋め込み側の動作と同じである。   The arithmetic encoding unit 1013A performs arithmetic encoding for each encoding pass generated by the bit plane encoding pass generation unit 1012A. The difference from the first embodiment is that arithmetic coding is performed up to the coding pass determined by the rate control means with restriction condition 1019 to obtain coded (compressed) data. Regarding the points other than the above, the operation on the digital watermark embedding side in the sixth embodiment is the same as the operation on the digital watermark embedding side in the first embodiment.

[電子透かし検証側の構成及び動作]
第6の実施形態の電子透かし検証側の構成及び動作は、第1の実施形態の電子透かし検証側の構成(図2)及び動作と同様である。
[Configuration and operation of digital watermark verification side]
The configuration and operation on the digital watermark verification side of the sixth embodiment are the same as the configuration (FIG. 2) and operation on the digital watermark verification side of the first embodiment.

[第6の実施形態の効果]
以上説明したように、第6の実施形態によれば、一つのビットプレーンが複数の符号化パスで構成され、算術符号化されている場合でも、レート制御で決定される算術符号打ち切り点をビットプレーン境界に限定してレート制御を行うことで、埋め込んだ署名データを検証側ですべて取り出せるようにすることができる。また、通常、算術符号打ち切り点は符号化(圧縮)された画像の画質が最適になるように符号化パスの境界で算術符号打ち切り点が決定されるが、ビットプレーン境界に制約することで、最適な画質は得られない。しかし、制約条件付きではあるが符号化処理におけるレート制御を用いることができるので、目標とする符号量に対して準最適(ビットプレーン境界に算術符号打ち切り点を設定するという条件では最適)な画質を得ることができる。
[Effect of the sixth embodiment]
As described above, according to the sixth embodiment, even if one bit plane is composed of a plurality of coding passes and is arithmetically coded, the arithmetic code breakpoint determined by rate control is a bit. By performing rate control only on the plane boundary, it is possible to extract all the embedded signature data on the verification side. In addition, the arithmetic code breakpoint is usually determined at the boundary of the coding pass so that the image quality of the encoded (compressed) image is optimal, but by constraining the bitplane boundary, Optimal image quality cannot be obtained. However, because it is possible to use rate control in the encoding process with constraints, the image quality is sub-optimal for the target code amount (optimal when the arithmetic code truncation point is set at the bit plane boundary). Can be obtained.

なお、第6の実施形態の電子透かし埋め込み側の構成に、第2〜第4の実施形態の電子透かし埋め込み側の構成を組み合わせることもできる。   The configuration on the electronic watermark embedding side of the second to fourth embodiments can be combined with the configuration on the electronic watermark embedding side of the sixth embodiment.

≪2.参考発明≫
≪2−1.第7の実施形態≫
[電子透かし埋め込み側の構成]
図9は、第7の実施形態に係る電子透かし埋め込み方法を実施する電子透かし埋め込み側の構成(電子透かし埋め込み装置)を示すブロック図である。
≪2. Reference invention >>
<< 2-1. Seventh Embodiment >>
[Configuration of the digital watermark embedding side]
FIG. 9 is a block diagram showing a configuration (digital watermark embedding apparatus) on the digital watermark embedding side that implements the digital watermark embedding method according to the seventh embodiment.

図9に示されるように、第7の実施形態の電子透かし埋め込み側の構成は、入力端子2001に入力された画像データ及びビットプレーン入力端子2002に入力された埋め込みビットプレーンを指定するデータを受け取り、電子透かしが入力端子2002から入力された埋め込みビットプレーンに埋め込まれたことを示すID情報を埋め込むID情報埋め込み手段2102を有する。また、第7の実施形態の電子透かし埋め込み側の構成は、ID情報が埋め込まれた画像データに対して、埋め込みデータ入力端子2003から入力されたデータを、入力端子2002から入力された埋め込みビットプレーンに埋め込むデータ埋め込み手段2104を有する。データ埋め込み手段2104によりデータが埋め込まれた画像データは、出力端子2004を通して出力され、以下に説明する電子透かし検証側の構成に渡される。   As shown in FIG. 9, the configuration of the digital watermark embedding side according to the seventh embodiment receives image data input to the input terminal 2001 and data specifying the embedded bit plane input to the bit plane input terminal 2002. ID information embedding means 2102 for embedding ID information indicating that the digital watermark is embedded in the embedded bit plane input from the input terminal 2002. Also, the configuration of the digital watermark embedding side of the seventh embodiment is that the data input from the embedded data input terminal 2003 is replaced with the embedded bit plane input from the input terminal 2002 with respect to the image data in which the ID information is embedded. The data embedding unit 2104 is embedded. The image data in which the data is embedded by the data embedding unit 2104 is output through the output terminal 2004 and transferred to the configuration on the digital watermark verification side described below.

[電子透かし検証側の構成]
図10は、第7の実施形態の電子透かし検証側の構成を示すブロック図である。
[Configuration on the digital watermark verification side]
FIG. 10 is a block diagram illustrating a configuration of the digital watermark verification side according to the seventh embodiment.

図10に示されるように、第7の実施形態の電子透かし検証側の構成は、入力端子2005に入力された電子透かしの検証対象である画像データからID情報を抽出し、抽出したID情報からデータが埋め込まれたビットプレーンを特定するID情報抽出手段2202を有する。また、第7の実施形態の電子透かし検証側の構成は、画像データからデータを抽出するデータ抽出手段2204を有する。データ抽出手段2204の出力は、出力端子2006を通して出力される。   As shown in FIG. 10, the configuration on the digital watermark verification side according to the seventh embodiment extracts ID information from image data that is a verification target of the digital watermark input to the input terminal 2005, and extracts the extracted ID information from the extracted ID information. An ID information extraction unit 2202 for specifying a bit plane in which data is embedded is included. The configuration on the digital watermark verification side of the seventh embodiment includes data extraction means 2204 that extracts data from image data. The output of the data extraction means 2204 is output through the output terminal 2006.

[電子透かし埋め込み側の動作]
図9に示されるように、電子透かしを埋め込むターゲット画像の画像データを入力端子2001へ入力する。入力端子2001へ入力される画像データは、ピクセルデータ、又は、ピクセルデータを周波数変換して得られる変換係数である。
[Operation of digital watermark embedding]
As shown in FIG. 9, image data of a target image in which a digital watermark is embedded is input to the input terminal 2001. The image data input to the input terminal 2001 is pixel data or a conversion coefficient obtained by frequency conversion of the pixel data.

ID情報埋め込み手段2102には、埋め込みビットプレーン入力端子2002を通して電子透かしが埋め込まれるビットプレーン番号が入力される。ID情報埋め込み手段2102は、入力されたビットプレーン番号のビットプレーンに、予め決めておいたID情報を埋め込む。電子透かしを埋め込むビットプレーンは、図11に示されるように、各コードブロックCB1〜CB8ごとに異なっていてもよい。図11の例では、コードブロックCB3において、電子透かしが埋め込まれるビットプレーン番号‘5’のビットプレーンに対して、N(bits)のID情報を埋め込んでいる。   The ID information embedding unit 2102 receives the bit plane number in which the digital watermark is embedded through the embedded bit plane input terminal 2002. The ID information embedding unit 2102 embeds predetermined ID information in the bit plane of the input bit plane number. The bit plane in which the digital watermark is embedded may be different for each code block CB1 to CB8, as shown in FIG. In the example of FIG. 11, in the code block CB3, N (bits) ID information is embedded in the bit plane number “5” in which the digital watermark is embedded.

ただし、ID情報を埋め込んだ結果と全く同じビットパターンが、ID情報を埋め込んだビットプレーンより上位のビットプレーンに存在する場合がある。そのような条件下で電子透かしを検証すると、どちらが本当のID情報か区別できなくなる。そこで、上記のような場合には、上位のビットプレーンにおける該当するビットパターンのうち、少なくとも一つのビットの値を反転させておけばよい。   However, the same bit pattern as the result of embedding ID information may exist in a bit plane higher than the bit plane in which ID information is embedded. If the digital watermark is verified under such conditions, it cannot be distinguished which is the true ID information. Therefore, in the above case, it is only necessary to invert the value of at least one bit in the corresponding bit pattern in the upper bit plane.

データ埋め込み手段2104には、埋め込みビットプレーン入力端子2002を通して電子透かしが埋め込まれるビットプレーン番号が入力される。データ埋め込み手段2104は、電子透かしが埋め込まれるビットプレーン番号のビットプレーンに、埋め込みデータ入力端子2003から入力されたデータを埋め込む。図11の例では、コードブロックCB3において、電子透かしが埋め込まれるビットプレーン番号‘5’のビットプレーンに対して、埋め込んだID情報に引き続いて、M(bits)のデータを埋め込んでいる。   The data embedding unit 2104 receives a bit plane number into which a digital watermark is embedded through an embedded bit plane input terminal 2002. The data embedding unit 2104 embeds data input from the embedded data input terminal 2003 in the bit plane of the bit plane number in which the digital watermark is embedded. In the example of FIG. 11, in the code block CB3, M (bits) data is embedded following the embedded ID information in the bit plane number “5” in which the digital watermark is embedded.

なお、図11では、先頭のビット(図11の下側において、左端のビット)から順にN(bits)のID情報、M(bits)のデータを埋め込んいるが、埋め込むビット位置は、疑似ランダムシーケンスや、置換テーブルでスクランブルされることによって得られた位置とすることもできる。また、図11の例においては、画像データの1ビットに対して1ビットのID情報、データを順に埋め込んでいるが、画像データの複数のビットに対して、1ビットのID情報、データを埋め込んでもよい。また、データを何ビット埋め込んだかを示すために、データ先頭にデータのサイズを付加してもよい。   In FIG. 11, N (bits) ID information and M (bits) data are embedded sequentially from the first bit (the leftmost bit in the lower side of FIG. 11), but the embedded bit position is a pseudo-random sequence. Alternatively, the position can be obtained by being scrambled by a replacement table. In the example of FIG. 11, 1-bit ID information and data are sequentially embedded in 1 bit of image data. However, 1-bit ID information and data are embedded in a plurality of bits of image data. But you can. In order to indicate how many bits are embedded in the data, the data size may be added to the head of the data.

また、データを埋め込むビットプレーンに必ずID情報を埋め込む必要はなく、埋め込みビットプレーン入力端子2002から入力されるビットプレーン番号より、例えば、一つ上又は一つ下のビットプレーンにID情報を埋め込むようにしてもよい。さらに、ID情報を一つのビットプレーンに埋め込むのではなく、鍵をシードにした疑似ランダムシーケンス等を用いて、データを埋め込むビットプレーンを中心に、ID情報を埋め込むビットプレーンをランダマイズして、複数のビットプレーンに分散させて、ID情報を埋め込むこともできる。   Further, it is not always necessary to embed ID information in a bit plane in which data is embedded. For example, ID information is embedded in a bit plane that is one bit higher or lower than the bit plane number input from the embedded bit plane input terminal 2002. It may be. Furthermore, instead of embedding the ID information in one bit plane, using a pseudo-random sequence or the like using a key as a seed, the bit plane for embedding the ID information is randomized around a bit plane for embedding data, and a plurality of It is also possible to embed ID information by distributing it in bit planes.

また、ID情報と共にデータを埋め込むビットプレーン番号も埋め込むことで、任意のビットプレーンにID情報を埋め込むことも可能になる。図12の例を用いて説明すると、コードブロックCB3においては、ID情報はビットプレーン番号‘7’のビットプレーンに、データはビットプレーン番号‘5’のビットプレーンに埋め込んでいる。従って、ID情報を埋め込む際に、データを埋め込むビットプレーン番号である‘5’(2進数4ビットで表現すると“0101”)も一緒に埋め込んでおけばよい。   Also, by embedding a bit plane number for embedding data together with ID information, it is possible to embed ID information in an arbitrary bit plane. Referring to the example of FIG. 12, in the code block CB3, the ID information is embedded in the bit plane with the bit plane number “7”, and the data is embedded in the bit plane with the bit plane number “5”. Therefore, when the ID information is embedded, the bit plane number “5” (“0101” expressed in binary 4 bits) that embeds the data may be embedded together.

さらに、ID情報と共にデータを埋め込むビットプレーン番号を複数個埋め込むことで、それらのビットプレーン番号が示す複数のビットプレーンにデータを分割して埋め込むことも可能である。   Furthermore, by embedding a plurality of bit plane numbers for embedding data together with ID information, it is also possible to divide and embed data in a plurality of bit planes indicated by these bit plane numbers.

また、データ量を圧縮するために、ID情報、データを埋め込んだビットプレーンより下位のビットプレーンを必要に応じて打ち切る処理を行うこともできる。   In addition, in order to compress the data amount, it is possible to perform processing to cut off bit planes lower than the bit plane in which ID information and data are embedded as necessary.

埋め込み後、画像データ出力端子2004から、ID情報及びデータが埋め込まれた後の画像データが出力される。この画像データは、ネットワーク等を経由して電子透かし検証側の構成に渡される。   After the embedding, the image data output terminal 2004 outputs the image data after the ID information and data are embedded. This image data is passed to the configuration on the digital watermark verification side via a network or the like.

[電子透かし検証側の動作]
図10に示されるように、電子透かしを検証する画像データを入力端子2005へ入力する。入力端子2005へ入力される画像データは、ピクセルデータ、又は、ピクセルデータが周波数変換された変換係数である。
[Operation of digital watermark verification side]
As shown in FIG. 10, image data for verifying the digital watermark is input to the input terminal 2005. The image data input to the input terminal 2005 is pixel data or a conversion coefficient obtained by frequency-converting pixel data.

ID情報抽出手段2202では、各コードブロックの上位ビットプレーンから、ID情報埋め込み時と同じ手法によりID情報の埋め込み位置を決定し、埋め込んだ位置からID情報を抽出する。そして、抽出したID情報と埋め込んだID情報が一致するビットプレーンを求め、そのビットプレーンをデータが埋め込まれたビットプレーンである判定する。   The ID information extraction unit 2202 determines the ID information embedding position from the upper bit plane of each code block by the same method as that for ID information embedding, and extracts the ID information from the embedded position. Then, a bit plane in which the extracted ID information matches the embedded ID information is obtained, and the bit plane is determined to be a bit plane in which data is embedded.

ただし、上記説明はデータを埋め込むビットプレーンにID情報を埋め込んでいる場合であり、データを埋め込むビットプレーンより一つ上又は一つ下のビットプレーンにID情報を埋め込み側で埋め込んでいる場合は、上記説明と同様に、抽出したID情報と埋め込んだID情報が一致するビットプレーンを求め、そのビットプレーンより一つ下又は一つ上のビットプレーンをデータが埋め込まれたビットプレーンであると判定する。   However, the above description is a case where ID information is embedded in a bit plane in which data is embedded, and in a case where ID information is embedded in the bit plane one above or below the bit plane in which data is embedded, Similar to the above description, a bit plane in which the extracted ID information matches the embedded ID information is obtained, and a bit plane below or above the bit plane is determined to be a bit plane in which data is embedded. .

また、鍵をシードにした擬似ランダムシーケンス等でデータを埋め込むビットプレーンを中心に、ID情報が複数のビットプレーンに分散されて埋め込まれている場合は、ID情報検索時に、上位のビットプレーンから順番に、ID情報埋め込み時と同じ手法により分散させたビットプレーンを決定して、そのビットプレーンからID情報を抽出し、埋め込んだID情報と一致するか調べることによって、データが埋め込まれたビットプレーンを決定することができる。   In addition, when ID information is distributed and embedded in multiple bit planes, centering on the bit plane that embeds the data in a pseudo-random sequence with a key as a seed, etc. Next, by determining the bit plane distributed by the same method as when embedding the ID information, extracting the ID information from the bit plane, and checking whether it matches the embedded ID information, the bit plane in which the data is embedded is determined. Can be determined.

また、ID情報と共にデータを埋め込んだビットプレーン番号が埋め込まれている場合には、上記と同様に、まず抽出したID情報と埋め込んだID情報が一致するビットプレーンを求め、次にID情報と共に埋め込まれているビットプレーン番号を取り出す。その後、そのビットプレーン番号が指し示すビットプレーンをデータが埋め込まれたビットプレーンと判定する。図12の例を用いて説明すると、コードブロックCB3においては、ビットプレーン番号‘7’のビットプレーンからID情報が抽出でき、そのID情報と共に埋め込まれているビットプレーン番号を取り出すことによって、データが埋め込まれたビットプレーン番号が‘5’(2進数4ビットで表現すると“0101”)であることが分かる。   When the bit plane number in which the data is embedded together with the ID information is embedded, the bit plane in which the extracted ID information matches the embedded ID information is obtained first, and then embedded together with the ID information, as described above. Get the bit plane number that is stored. Thereafter, the bit plane indicated by the bit plane number is determined as a bit plane in which data is embedded. Referring to the example of FIG. 12, in the code block CB3, the ID information can be extracted from the bit plane of the bit plane number “7”, and the bit plane number embedded together with the ID information is extracted, so that the data is extracted. It can be seen that the embedded bit plane number is “5” (“0101” expressed in binary 4 bits).

さらには、ID情報と共に埋め込むビットプレーン番号が複数個埋め込まれている場合は、それら複数のビットプレーンにデータが埋め込まれていると決定する。   Further, when a plurality of bit plane numbers to be embedded together with the ID information are embedded, it is determined that data is embedded in the plurality of bit planes.

データ抽出手段2204は、ID情報抽出手段2202で求められたビットプレーンから、画像データに埋め込まれたデータを抽出する。抽出には、データ埋め込み時と同じ手法により埋め込み位置を決定し、埋め込んだ位置からデータを抽出することで行う。データのサイズがデータ先頭に付加されている場合は、データサイズを抽出してから、データ本体を抽出する。抽出したデータは、抽出結果出力端子2006を通して出力する。   The data extraction unit 2204 extracts data embedded in the image data from the bit plane obtained by the ID information extraction unit 2202. The extraction is performed by determining the embedding position by the same method as that at the time of data embedding and extracting data from the embedded position. If the data size is added to the head of the data, the data body is extracted after extracting the data size. The extracted data is output through the extraction result output terminal 2006.

[第7の実施形態の効果]
以上説明したように、第7の実施形態によれば、電子透かしを検証する際に、電子透かしをどこに埋め込んだかを示す情報が外部から得られなくても、画像に埋め込んでおいたID情報により、電子透かしが埋め込まれたビットプレーンを特定することができる。そのため、データ量を削減する目的でビットプレーンを打ち切り、打ち切られる直前のビットプレーンに電子透かしを埋め込んでおいた画像に対して、打ち切られたビットプレーンを任意の値で復号を行った場合でも、電子透かし検証側で、もう一度同じ周波数変換を行って変換係数を求め、更にデータが埋め込まれているビットプレーンであることを示すID情報を抽出することで、電子透かしが埋め込まれているビットプレーンを特定し、埋め込んでおいたデータを抽出することができる。
[Effect of the seventh embodiment]
As described above, according to the seventh embodiment, when verifying a digital watermark, even if information indicating where the digital watermark is embedded cannot be obtained from the outside, the ID information embedded in the image is used. The bit plane in which the digital watermark is embedded can be specified. Therefore, the bit plane is truncated for the purpose of reducing the amount of data, and even if the bit plane that has been truncated is decoded with an arbitrary value for an image in which a digital watermark is embedded in the bit plane immediately before the termination, On the digital watermark verification side, the same frequency conversion is performed again to obtain a conversion coefficient, and ID information indicating that the bit plane is embedded with data is further extracted, so that the bit plane in which the digital watermark is embedded is determined. Data that has been identified and embedded can be extracted.

≪2−2.第8の実施形態≫
上述した第7の実施形態の電子透かし埋め込み側の構成では、電子透かしの埋め込まれているビットプレーンであることを示すID情報を常に同じビットパターンを用いて電子透かしの埋め込みを行っていた。これに対して、第8の実施形態の電子透かし埋め込み側の構成では、電子透かし検証側の構成において発生する乱数と同じ乱数を発生させ、その乱数をID情報として用いることによって、常に異なるビットパターンをID情報として用いることができる。
<< 2-2. Eighth Embodiment >>
In the configuration on the digital watermark embedding side of the seventh embodiment described above, the digital watermark is always embedded using the same bit pattern for the ID information indicating the bit plane in which the digital watermark is embedded. On the other hand, in the configuration on the digital watermark embedding side of the eighth embodiment, the same random number as the random number generated in the configuration on the digital watermark verification side is generated, and the random number is used as ID information, so that different bit patterns are always obtained. Can be used as ID information.

[電子透かし埋め込み側の構成]
図13は、第8の実施形態に係る電子透かし埋め込み方法を実施する電子透かし埋め込み側の構成(電子透かし埋め込み装置)を示すブロック図である。図13において、図9(第7の実施形態)の構成と同一又は対応する構成には、同じ符号を付す。図13に示されるように、第8の実施形態の電子透かし埋め込み側の構成は、シード入力端子2008に入力されるシードを受け取り乱数を発生する乱数発生手段2112を有する点が、上記第7の実施形態の電子透かし埋め込み側の構成(図9)と相違する。
[Configuration of the digital watermark embedding side]
FIG. 13 is a block diagram showing a configuration (digital watermark embedding apparatus) on the digital watermark embedding side that implements the digital watermark embedding method according to the eighth embodiment. In FIG. 13, the same reference numerals are given to the same or corresponding components as those in FIG. 9 (seventh embodiment). As shown in FIG. 13, the configuration of the digital watermark embedding side according to the eighth embodiment has random number generating means 2112 that receives a seed input to the seed input terminal 2008 and generates a random number, as described above. This is different from the configuration (FIG. 9) on the digital watermark embedding side of the embodiment.

[電子透かし検証側の構成]
図14は、第8の実施形態に係る電子透かし検出方法を実施する電子透かし検証側の構成(電子透かし検出装置)を示すブロック図である。図14において、図10(第7の実施形態)の構成と同一又は対応する構成には、同じ符号を付す。図14に示されるように、第8の実施形態の電子透かし検証側の構成は、シード入力端子2009に入力されるシードを受け取り乱数を発生する乱数発生手段2112を有する点が、上記第7実施形態の電子透かし検証側の構成(図10)と相違する。
[Configuration on the digital watermark verification side]
FIG. 14 is a block diagram showing a configuration (digital watermark detection apparatus) on the digital watermark verification side that implements the digital watermark detection method according to the eighth embodiment. In FIG. 14, the same reference numerals are given to the same or corresponding components as those in FIG. 10 (seventh embodiment). As shown in FIG. 14, the configuration on the digital watermark verifying side of the eighth embodiment has random number generating means 2112 that receives a seed input to the seed input terminal 2009 and generates a random number. This is different from the configuration (FIG. 10) on the digital watermark verification side.

[電子透かし埋め込み側の動作]
図13に示されるように、乱数生成手段2112では、シード入力端子2008から、乱数を発生させるためのシードが入力され、乱数を生成する。ID情報埋め込み手段2102では、電子透かしを埋め込むビットプレーンにID情報を埋め込む際に、乱数生成手段2112で生成した乱数をID情報のビットパターンとして、ID情報を埋め込む。このように乱数を用いることにより、各コードブロックごとに異なるID情報が埋め込まれる。上記以外の点について、第8の実施形態における電子透かし埋め込み側の動作は、第7の実施形態における電子透かし埋め込み側の動作と同じである。
[Operation of digital watermark embedding]
As shown in FIG. 13, the random number generation unit 2112 receives a seed for generating a random number from a seed input terminal 2008 and generates a random number. The ID information embedding unit 2102 embeds the ID information using the random number generated by the random number generating unit 2112 as the bit pattern of the ID information when embedding the ID information in the bit plane in which the digital watermark is embedded. By using random numbers in this way, different ID information is embedded for each code block. Regarding the points other than the above, the operation on the digital watermark embedding side in the eighth embodiment is the same as the operation on the digital watermark embedding side in the seventh embodiment.

[電子透かし検証側の動作]
図14に示されるように、乱数生成手段2112では、シード入力端子2009から、乱数を発生させるためのシードが入力され、乱数を生成する。電子透かし検証側でも、電子透かし埋め込み側と同じシードが入力され、同じ乱数を生成する。ID情報抽出手段2202では、各コードブロックの上位ビットプレーンから、ID情報を抽出し、抽出したID情報と埋め込んだID情報が一致するビットプレーンを求める際に、乱数生成手段2112で生成した乱数をID情報のビットパターンとして使用する。もちろん、使用するビットパターンは、各コードブロックごとに異なるが、電子透かしの埋め込み側と同じビットパターンとなる。上記以外の点について、第8の実施形態における電子透かし検証側の動作は、第7の実施形態における電子透かし検証側の動作と同じである。
[Operation of digital watermark verification side]
As shown in FIG. 14, the random number generation unit 2112 receives a seed for generating a random number from a seed input terminal 2009 and generates a random number. Also on the digital watermark verification side, the same seed as that on the digital watermark embedding side is input, and the same random number is generated. The ID information extraction unit 2202 extracts the ID information from the upper bit plane of each code block, and obtains the random number generated by the random number generation unit 2112 when obtaining the bit plane in which the extracted ID information matches the embedded ID information. Used as a bit pattern of ID information. Of course, the bit pattern to be used is different for each code block, but the bit pattern is the same as that on the digital watermark embedding side. Regarding operations other than the above, the operation on the digital watermark verification side in the eighth embodiment is the same as the operation on the digital watermark verification side in the seventh embodiment.

[第8の実施形態の効果]
以上説明したように、第8の実施形態によれば、電子透かしを検証する際に、電子透かしを埋め込んだ位置に関する情報が外部から得られなくても、画像に埋め込んでおいたID情報により、電子透かしが埋め込まれたビットプレーンを特定することができる。そのため、データ量を削減する目的でビットプレーンを打ち切り、打ち切られる直前のビットプレーンに電子透かしを埋め込んでおいた画像に対して、打ち切られたビットプレーンを任意の値で復号を行った場合でも、電子透かし検証側で、もう一度同じ周波数変換を行って変換係数を求め、更にデータが埋め込まれているビットプレーンであることを示すID情報を抽出することで、電子透かしが埋め込まれているビットプレーンを特定し、埋め込んでおいたデータを抽出することができる。
[Effect of Eighth Embodiment]
As described above, according to the eighth embodiment, when verifying a digital watermark, even if information about the position where the digital watermark is embedded cannot be obtained from the outside, the ID information embedded in the image It is possible to specify a bit plane in which a digital watermark is embedded. Therefore, the bit plane is truncated for the purpose of reducing the amount of data, and even if the bit plane that has been truncated is decoded with an arbitrary value for an image in which a digital watermark is embedded in the bit plane immediately before the termination, On the digital watermark verification side, the same frequency conversion is performed again to obtain a conversion coefficient, and ID information indicating that the bit plane is embedded with data is further extracted, so that the bit plane in which the digital watermark is embedded is determined. Data that has been identified and embedded can be extracted.

また、第8の実施形態によれば、電子透かしが埋め込まれたビットプレーンを特定するためにID情報を埋め込む際、電子透かし埋め込み側と電子透かし検証側とで同じように発生させた乱数をID情報のビットパターンとして使用することができる。そのため、同一画像内でも、埋め込まれるID情報がすべて同じであるようなことはなく、悪意を持った第三者が容易にID情報を特定できないようにすることができる。   Further, according to the eighth embodiment, when embedding ID information to identify a bit plane in which a digital watermark is embedded, random numbers generated in the same manner on the digital watermark embedding side and the digital watermark verification side are set as IDs. It can be used as a bit pattern of information. Therefore, even in the same image, the embedded ID information is not all the same, and it is possible to prevent a malicious third party from easily identifying the ID information.

≪2−3.第9の実施形態≫
第9の実施形態の電子透かし検証側の構成は、改ざん検出を行うために画像データから署名データを生成し、その署名データを電子透かしとして埋め込む際に、署名データを埋め込んだビットプレーンに電子透かしを埋め込んだことを示すID情報を埋め込むと共に、検出時にどの部分の画像データから署名データが生成されたかを知るために、署名データを求める際に対象となった画像データがどの部分であったかを示す情報も同時に埋め込む。
<< 2-3. Ninth Embodiment >>
The configuration on the digital watermark verification side of the ninth embodiment generates signature data from image data in order to detect falsification, and when the signature data is embedded as a digital watermark, the digital watermark is embedded in the bit plane in which the signature data is embedded. In order to embed ID information indicating that the signature data is embedded and to know which part of the image data was generated from the signature data at the time of detection, it indicates which part was the target image data when obtaining the signature data Information is embedded at the same time.

[電子透かし埋め込み側の構成]
図15は、第9の実施形態に係る電子透かし埋め込み方法を実施する電子透かし埋め込み側の構成(電子透かし埋め込み装置)を示すブロック図である。図15において、図9(第7の実施形態)の構成と同一又は対応する構成には、同じ符号を付す。
[Configuration of the digital watermark embedding side]
FIG. 15 is a block diagram showing a configuration (digital watermark embedding apparatus) on the digital watermark embedding side that implements the digital watermark embedding method according to the ninth embodiment. In FIG. 15, the same reference numerals are given to the same or corresponding components as those in FIG. 9 (seventh embodiment).

図15に示されるように、第9の実施形態の電子透かし埋め込み側の構成は、入力端子2001に入力された画像データ及びビットプレーン入力端子2002に入力された埋め込みビットプレーンを指定するデータを受け取り、電子透かしが入力端子2002から入力された埋め込みビットプレーンに埋め込まれたことを示すID情報を埋め込むID情報埋め込み手段2102を有する。また、第9の実施形態の電子透かし埋め込み側の構成は、署名データを求める際にハッシュ生成の対象となった画像データがどの部分であったかを示す情報を埋め込む署名生成情報埋め込み手段2106を有する。さらに、第9の実施形態の電子透かし埋め込み側の構成は、画像データから署名データを生成する署名生成手段2108と、署名生成手段2108から得られる署名データを画像データに埋め込む署名埋め込み手段2110とを有する。署名埋め込み手段2110で生成された埋め込み後の画像データは、出力端子2004を通して出力される。出力された画像データは、例えば、ネットワークを経由して、以下に説明する電子透かし検証側の構成に渡される。   As shown in FIG. 15, the configuration of the digital watermark embedding side according to the ninth embodiment receives image data input to the input terminal 2001 and data specifying the embedded bit plane input to the bit plane input terminal 2002. ID information embedding means 2102 for embedding ID information indicating that the digital watermark is embedded in the embedded bit plane input from the input terminal 2002. In addition, the configuration on the digital watermark embedding side of the ninth embodiment includes a signature generation information embedding unit 2106 that embeds information indicating which portion of image data is a target of hash generation when obtaining signature data. Furthermore, the configuration of the digital watermark embedding side according to the ninth embodiment includes a signature generation unit 2108 that generates signature data from image data, and a signature embedding unit 2110 that embeds signature data obtained from the signature generation unit 2108 in the image data. Have. The embedded image data generated by the signature embedding unit 2110 is output through the output terminal 2004. For example, the output image data is transferred via a network to a configuration on the electronic watermark verification side described below.

[電子透かし検証側の構成]
図16は、第9の実施形態の電子透かし検証側の構成(電子透かし検出装置)を示すブロック図である。図16において、図10(第7の実施形態)の構成と同一又は対応する構成には同じ符号を付す。
[Configuration on the digital watermark verification side]
FIG. 16 is a block diagram illustrating a configuration (digital watermark detection apparatus) on the digital watermark verification side according to the ninth embodiment. In FIG. 16, the same reference numerals are given to the same or corresponding components as those in FIG. 10 (seventh embodiment).

図16に示されるように、第9の実施形態の電子透かし検証側の構成は、入力端子2005を通して入力された画像データからID情報を抽出し、抽出したID情報から署名データが埋め込まれたビットプレーンを特定するID情報抽出手段2202と、埋め込み側で埋め込まれた署名データを抽出する署名抽出手段2206とを有する。また、第9の実施形態の電子透かし検証側の構成は、署名データを求める際にハッシュ生成の対象となった画像データがどの部分であったかを示す情報を抽出する署名生成情報抽出手段2208と、その署名生成情報に基づき、画像データから署名データを生成する署名生成手段2210とを有する。さらに、第9の実施形態の電子透かし検証側の構成は、抽出された署名データと生成した署名データとを比較する署名比較手段2212を有する。署名比較生成手段2210から出力された比較結果は、出力端子2007を通して出力される。   As shown in FIG. 16, the digital watermark verification side configuration of the ninth embodiment extracts ID information from image data input through the input terminal 2005, and is a bit in which signature data is embedded from the extracted ID information. ID information extracting means 2202 for specifying a plane and signature extracting means 2206 for extracting signature data embedded on the embedding side. Further, the configuration on the digital watermark verification side of the ninth embodiment includes a signature generation information extraction unit 2208 that extracts information indicating which portion of image data is a target of hash generation when obtaining signature data, Signature generation means 2210 for generating signature data from image data based on the signature generation information. Furthermore, the configuration on the digital watermark verification side of the ninth embodiment includes a signature comparison unit 2212 that compares the extracted signature data with the generated signature data. The comparison result output from the signature comparison generation unit 2210 is output through the output terminal 2007.

[電子透かし埋め込み側の動作]
図15に示されるように、電子透かしを埋め込むターゲット画像の画像データを入力端子2001へ入力する。入力端子2001へ入力される画像データは、ピクセルデータ、又は、ピクセルデータを周波数変換して得られる変換係数である。
[Operation of digital watermark embedding]
As shown in FIG. 15, image data of a target image in which a digital watermark is embedded is input to the input terminal 2001. The image data input to the input terminal 2001 is pixel data or a conversion coefficient obtained by frequency conversion of the pixel data.

ID情報埋め込み手段2102は、埋め込みビットプレーン入力端子2002から電子透かしが埋め込まれるビットプレーン番号が入力され、そのビットプレーンに予め決めておいたID情報を埋め込む。図17は、第9の実施形態に係る電子透かし埋め込み方法の説明図である。図17においては、電子透かしを埋め込むコードブロックは、コードブロック番号が偶数のコードブロックCB2,CB4,CB6,CB8のみであり、電子透かしを埋め込むビットプレーンは、各コードブロックごとで異なっていてもよい。図17の例では、コードブロックCB2において、電子透かしが埋め込まれるビットプレーン番号‘6’のビットプレーンに対して、N(bits)のID情報を埋め込んでいる。ただし、ID情報を埋め込んだ結果と全く同じビットパターンが、ID情報を埋め込んだビットプレーンより上位のビットプレーンに存在する場合は、第7の実施形態と同様な処理を施す。   The ID information embedding unit 2102 receives a bit plane number into which a digital watermark is embedded from an embedded bit plane input terminal 2002, and embeds predetermined ID information in the bit plane. FIG. 17 is an explanatory diagram of a digital watermark embedding method according to the ninth embodiment. In FIG. 17, the code blocks in which the digital watermark is embedded are only the code blocks CB2, CB4, CB6, and CB8 whose code block numbers are even, and the bit plane in which the digital watermark is embedded may be different for each code block. . In the example of FIG. 17, in the code block CB2, N (bits) ID information is embedded in the bit plane number “6” in which the digital watermark is embedded. However, if the same bit pattern as the result of embedding the ID information exists in a bit plane higher than the bit plane in which the ID information is embedded, the same processing as in the seventh embodiment is performed.

署名生成情報埋め込み手段2106では、埋め込みビットプレーン入力端子2002から電子透かしが埋め込まれるビットプレーン番号が入力され、そのビットプレーンに、署名データを求める際にハッシュ生成の対象となった画像データがどの部分であったかを示す情報を埋め込む。   In the signature generation information embedding unit 2106, a bit plane number into which the digital watermark is embedded is input from the embedded bit plane input terminal 2002, and which portion of the image data subjected to hash generation when obtaining signature data is input to the bit plane. Embed information indicating whether or not.

具体的には、署名データの埋め込み対象ではないコードブロックにおいて、署名データを求める際にハッシュを生成する対象のデータがどの部分であったかを、電子透かしの検証側で署名データを求める際に識別するため、ハッシュ生成に用いた画像データのうち、最も下位のビットプレーン番号を埋め込み対象のビットプレーンに埋め込む。例えば、図17では、コードブロックCB1とCB2のデータからハッシュを求め、署名データを生成し、コードブロックCB2に埋め込む場合の例を示している。コードブロックCB2は、ビットプレーン番号‘6’のビットプレーンに、署名とともにID情報を埋め込むので、電子透かしの検証側で、ID情報を抽出することにより、署名データが埋め込まれているビットプレーンを決定でき、また署名データを生成する際にハッシュ生成に用いた画像データも決定することができる(ビットプレーン番号‘7’〜‘10’のすべてのビットとビットプレーン番号‘6’のビットプレーンのうち、署名データの埋め込みに使用しないすべてのビット)。しかし、コードブロックCB1に関しては、ID情報が埋め込まれていないので、このままでは、署名生成の際にどの部分をハッシュ生成に用いたかを、電子透かし検証側で識別できない。そこで、図17のように、ビットプレーン番号‘3’以下のビットプレーンが打ち切られ、ビットプレーン番号‘4’以上のビットプレーンのデータを用いてハッシュを生成する場合、署名データの埋め込み対象でないコードブロックCB1において、ハッシュ生成に用いたデータのうち、最も下位のビットプレーン番号である‘4’(2進数4ビットで表現すると“0100”)をコードブックCB2のデータの埋め込み対象であるビットプレーンに埋め込んでおく。   Specifically, in the code block that is not the target for embedding the signature data, the portion of the data for which the hash is generated when obtaining the signature data is identified when obtaining the signature data on the digital watermark verification side. Therefore, the lowest bit plane number among the image data used for hash generation is embedded in the bit plane to be embedded. For example, FIG. 17 shows an example in which a hash is obtained from the data of the code blocks CB1 and CB2, signature data is generated, and embedded in the code block CB2. Since the code block CB2 embeds the ID information together with the signature in the bit plane of the bit plane number “6”, the digital watermark verification side extracts the ID information to determine the bit plane in which the signature data is embedded. It is also possible to determine the image data used for hash generation when generating the signature data (all of the bit plane numbers “7” to “10” and the bit plane number “6”). , All bits not used to embed signature data). However, since the ID information is not embedded for the code block CB1, the digital watermark verification side cannot identify which part is used for hash generation when generating a signature. Therefore, as shown in FIG. 17, when a bit plane with a bit plane number '3' or less is truncated and a hash is generated using data of a bit plane with a bit plane number '4' or more, a code that is not a target for embedding signature data In block CB1, among the data used for hash generation, the lowest bit plane number “4” (“0100” when expressed in binary 4 bits) is used as the bit plane to be embedded in the data of code book CB2. Embed it.

署名生成手段2108は、画像データに対して署名データを生成する。埋め込みビットプレーン入力端子2002から電子透かしが埋め込まれるビットプレーン番号が入力され、画像データのうち生成した署名データを埋め込むビットを除く画像データから署名データを求める。具体的には、図17のコードブロックCB1及びCB2においては、コードブロックCB1におけるビットプレーン番号‘4’〜‘10’のすべてのビットプレーンと、コードブロックCB2におけるビットプレーン番号‘7’〜‘10’のすべてのビットプレーンと、ビットプレーン番号‘6’のビットプレーンのうち、署名データの埋め込みに使用しないすべてのビットを用いて、SHA1等のハッシュ関数で得られたハッシュ値や、ハッシュ値をRSA等で暗号化したもの、ハッシュ値の一部等を署名データとする。   The signature generation unit 2108 generates signature data for the image data. The bit plane number in which the digital watermark is embedded is input from the embedded bit plane input terminal 2002, and the signature data is obtained from the image data excluding the bit in which the generated signature data is embedded in the image data. Specifically, in the code blocks CB1 and CB2 of FIG. 17, all the bit planes having the bit plane numbers “4” to “10” in the code block CB1 and the bit plane numbers “7” to “10” in the code block CB2 are used. Of all the bit planes of 'and the bit plane of bit plane number' 6 ', all the bits not used for signature data embedding are used to obtain the hash value or hash value obtained by the hash function such as SHA1. The data encrypted with RSA or the like, a part of the hash value, or the like is used as signature data.

署名埋め込み手段2110は、埋め込みビットプレーン入力端子2002から電子透かしが埋め込まれるビットプレーン番号が入力され、そのビットプレーンに署名生成手段2101から得られる署名データを埋め込む。図17の例では、コードブロックCB2において、電子透かしが埋め込まれるビットプレーン番号‘6’のビットプレーンに対して、既に埋め込まれたID情報、署名生成情報に引き続いて、M(bits)の署名データを埋め込んでいる。   The signature embedding unit 2110 receives a bit plane number in which a digital watermark is embedded from an embedding bit plane input terminal 2002, and embeds signature data obtained from the signature generation unit 2101 in the bit plane. In the example of FIG. 17, in the code block CB2, the signature data of M (bits) following the already embedded ID information and signature generation information with respect to the bit plane of bit plane number “6” in which the digital watermark is embedded. Is embedded.

なお、図17では、先頭のビットから順にID情報、署名生成情報と署名データを埋め込んでいるが、埋め込むビット位置は、疑似ランダムシーケンスや、置換テーブルでスクランブルすることも可能である。また、画像データの1ビットに対して1ビットのID情報、署名生成情報、署名データを順に埋め込んでいるが、画像データの複数のビットに対して、1ビットのID情報、署名生成情報、署名データを埋め込んでもよい。   In FIG. 17, ID information, signature generation information, and signature data are embedded in order from the first bit. However, the embedded bit position can be scrambled with a pseudo-random sequence or a replacement table. In addition, 1-bit ID information, signature generation information, and signature data are sequentially embedded in 1 bit of image data, but 1-bit ID information, signature generation information, and signature are embedded in a plurality of bits of image data. Data may be embedded.

さらに、第7の実施形態と同様に、ID情報を署名生成情報や署名データと必ず同じビットプレーンに埋め込んでおく必要はない。また、ID情報、署名生成情報、署名データをそれぞれ複数のビットプレーンに分散させて埋め込んでおいてもよい。   Furthermore, as in the seventh embodiment, it is not always necessary to embed ID information in the same bit plane as signature generation information and signature data. Further, ID information, signature generation information, and signature data may be distributed and embedded in a plurality of bit planes.

また、データ量を圧縮するために、第7の実施形態と同様にID情報、署名生成情報、署名データを埋め込んだビットプレーンより下位のビットプレーン(例えば、図17におけるコードブロックCB2におけるビットプレーン番号‘5’以下)及びハッシュの生成に用いていないビットプレーン(例えば、図17におけるコードブロックCB1におけるビットプレーン番号‘3’以下)を必要に応じて打ち切る処理を行うこともできる。   Also, in order to compress the data amount, a bit plane lower than the bit plane in which ID information, signature generation information, and signature data are embedded (for example, the bit plane number in the code block CB2 in FIG. 17), as in the seventh embodiment. It is also possible to perform processing to cut off bit planes not used for hash generation (for example, bit plane number “3” or less in code block CB1 in FIG. 17) as necessary.

署名埋め込み手段2110から出力されたID情報、署名生成情報及び署名データが埋め込まれた後の画像データは、画像データ出力端子2004を通して出力される。   The image data after the ID information, signature generation information, and signature data output from the signature embedding unit 2110 are embedded is output through the image data output terminal 2004.

[電子透かし検証例の動作]
図16に示されるように、電子透かしを検証する画像データを入力端子2005へ入力する。入力端子2005へ入力される画像データは、ピクセルデータ、又は、ピクセルデータが周波数変換された変換係数である。
[Operation of digital watermark verification example]
As shown in FIG. 16, image data for verifying the digital watermark is input to the input terminal 2005. The image data input to the input terminal 2005 is pixel data or a conversion coefficient obtained by frequency-converting pixel data.

ID情報抽出手段2202は、電子透かしの埋め込み対象のコードブロックにおける上位ビットプレーンから、ID情報埋め込み時と同じ手法によりID情報の埋め込み位置を決定し、埋め込んだ位置からID情報を抽出する。そして、抽出したID情報と埋め込んだID情報が一致するビットプレーンを求め、そのビットプレーンを署名生成情報、署名データが埋め込まれたビットプレーンと判定する。   The ID information extraction unit 2202 determines the ID information embedding position from the upper bit plane in the code block to be embedded with the digital watermark by the same method as that for ID information embedding, and extracts the ID information from the embedded position. Then, a bit plane in which the extracted ID information matches the embedded ID information is obtained, and the bit plane is determined to be a bit plane in which signature generation information and signature data are embedded.

なお、ID情報が署名生成情報や署名データと異なるビットプレーンに埋め込まれている場合や、ID情報、署名生成情報、署名データがそれぞれ異なるビットプレーンに分散されて埋め込まれている場合でも、第7の実施形態と同様に署名生成情報や署名データが埋め込まれたビットプレーンを求めることができる。   Even when the ID information is embedded in a bit plane different from the signature generation information and signature data, or when the ID information, signature generation information, and signature data are distributed and embedded in different bit planes, the seventh Similarly to the embodiment, a bit plane in which signature generation information and signature data are embedded can be obtained.

署名抽出手段2206は、ID情報抽出手段2202で求めたビットプレーンから、画像データに埋め込まれた署名データを抽出する。抽出には、署名データ埋め込み時と同じ手法により埋め込み位置を決定し、埋め込んだ位置から署名データを抽出することで行う。電子透かし埋め込み側でハッシュ値等を暗号化している場合、ここで暗号をデコードし、元のデータに戻し、署名比較手段2212へ渡す。   The signature extraction unit 2206 extracts the signature data embedded in the image data from the bit plane obtained by the ID information extraction unit 2202. The extraction is performed by determining the embedding position by the same method as that used when embedding the signature data, and extracting the signature data from the embedded position. When the hash value or the like is encrypted on the digital watermark embedding side, the encryption is decoded here, returned to the original data, and passed to the signature comparison unit 2212.

署名生成情報抽出手段2208は、ID情報抽出手段2202で求めたビットプレーンから、画像データに埋め込まれた署名生成情報を抽出する。抽出には、署名生成情報の埋め込み時と同じ手法により埋め込み位置を決定し、埋め込んだ位置から、署名データを求める際にハッンュ生成で用いた画像データがどの部分であったかを示す情報を抽出することで行う。抽出した署名生成情報は、署名生成手段2210に渡す。   The signature generation information extraction unit 2208 extracts the signature generation information embedded in the image data from the bit plane obtained by the ID information extraction unit 2202. For extraction, the embedding position is determined by the same method as that used when embedding the signature generation information, and information indicating the portion of the image data used in the han generation when obtaining the signature data is extracted from the embedded position. To do. The extracted signature generation information is passed to the signature generation means 2210.

署名生成手段2210は、ID情報抽出手段2202と署名生成情報抽出手段2208から得られた情報を基に、電子透かし埋め込み側と同様の方法により画像データに対して署名データを生成する。即ち、署名データが埋め込まれているコードブロックに対しては、ID情報抽出手段2202で求めたビットプレーンに基づいて、署名データを求める際にハッシュ生成の対象となった画像データを決定でき、署名データが埋め込まれていないコードブロックに対しても、署名生成情報抽出手段2208で得られた情報(ハッシュ生成の対象となった画像データのうち最下位のビットプレーン番号)より、同じく署名データを求める際にハッシュ生成の対象となった画像データを決定できる。   Based on the information obtained from the ID information extraction unit 2202 and the signature generation information extraction unit 2208, the signature generation unit 2210 generates signature data for the image data by the same method as the digital watermark embedding side. That is, for the code block in which the signature data is embedded, based on the bit plane obtained by the ID information extraction unit 2202, the image data that is the object of hash generation when obtaining the signature data can be determined. For the code block in which no data is embedded, the signature data is also obtained from the information obtained by the signature generation information extraction unit 2208 (the lowest bit plane number of the image data subjected to hash generation). At this time, it is possible to determine the image data that is the object of hash generation.

ただし、電子透かし埋め込み側で暗号化等を使用している場合、ここで暗号化を行う必要はなく、署名抽出手段2206で暗号のデコードを行う。生成した署名データは、署名比較手段2212へ渡す。   However, when encryption or the like is used on the digital watermark embedding side, it is not necessary to perform encryption here, and the signature extraction unit 2206 performs decoding of the encryption. The generated signature data is transferred to the signature comparison unit 2212.

署名比較手段2212では、署名抽出手段2206で抽出された署名データと、署名生成手段2210で生成された署名データとを比較する。例えば、両方の署名データが一致した場合は改ざん無し、一致しない場合は改ざん有りとし、その結果を比較結果出力端子2007を通して出力する。   The signature comparison unit 2212 compares the signature data extracted by the signature extraction unit 2206 with the signature data generated by the signature generation unit 2210. For example, if both signature data match, no tampering is detected, and if they do not match, tampering is detected, and the result is output through the comparison result output terminal 2007.

[第9の実施形態の効果]
以上説明したように、第9の実施形態によれば、電子透かしが埋め込まれているビットプレーンであることを示すID情報及び署名データを求める際にハッシュを生成する対象のデータの位置に関する情報を示す署名生成情報を画像に埋め込んでおくことで、外部からそれらの情報が得られなくても、署名データが埋め込まれたビットプレーンと署名データを求める際にハッシュ生成で用いられた画像データを特定することができる。そのため、データ量を削減する目的で、署名生成や署名データの埋め込みに用いられていないビットプレーンを打ち切った画像に対して、打ち切られたビットプレーンを任意の値で復号を行った場合でも、電子透かし検証側で、もう一度同じ周波数変換を行って変換係数を求め、更に署名データと署名生成情報が埋め込まれているビットプレーンを示すID情報を抽出することで、署名データと署名生成情報が埋め込まれているビットプレーンを特定し、埋め込んでおいた署名データを抽出することができる。さらに、署名データを求める際にハッシュを生成する対象のデータがどの部分であったかを示す署名生成情報を抽出することで、どの部分の画像データから署名データが生成されたかも決定でき、電子透かし埋め込み側と同様に署名データを生成することができる。その結果、正しい改ざん検出結果を得ることができる。
[Effects of Ninth Embodiment]
As described above, according to the ninth embodiment, the ID information indicating that it is a bit plane in which the digital watermark is embedded, and the information on the position of the data for which the hash is generated when the signature data is obtained. By embedding the signature generation information shown in the image, it is possible to identify the image data used in hash generation when obtaining the bit plane in which the signature data is embedded and the signature data, even if the information cannot be obtained from the outside can do. Therefore, even if the bit plane that was not used for signature generation or signature data embedding is decoded with an arbitrary value for the purpose of reducing the amount of data, On the watermark verification side, the same frequency conversion is performed again to obtain a conversion coefficient, and the ID data indicating the bit plane in which the signature data and the signature generation information are embedded is extracted, whereby the signature data and the signature generation information are embedded. The specified bit plane can be identified and the embedded signature data can be extracted. Furthermore, by extracting the signature generation information that indicates which part of the data for which the hash is to be generated when obtaining the signature data, it is possible to determine which part of the image data the signature data was generated from, and embedding the digital watermark Signature data can be generated in the same manner as the side. As a result, a correct alteration detection result can be obtained.

≪3.第3の発明≫
≪3−1.第10の実施形態≫
[電子透かし埋め込み側の構成]
図18は、第10の実施形態に係る電子透かし埋め込み方法を実施する電子透かし埋め込み側の構成(電子透かし埋め込み装置)を示すブロック図である。
≪3. Third invention >>
<< 3-1. Tenth Embodiment >>
[Configuration of the digital watermark embedding side]
FIG. 18 is a block diagram showing a configuration (digital watermark embedding apparatus) on the digital watermark embedding side that implements the digital watermark embedding method according to the tenth embodiment.

図18に示されるように、第10の実施形態の電子透かし埋め込み側の構成は、入力端子3001に入力された画像データを、1又は複数のブロックに分割するブロック化手段3100を有する。また、第10の実施形態の電子透かし埋め込み側の構成は、ブロック化手段3100によりブロック化された画像データ及び埋め込みビットプレーン入力端子3003を通して入力される埋め込みビットプレーンを指定するデータを受け取り、ブロック化された画像データの上位ビットプレーンを調べる上位ビットプレーン評価手段3101を有する。さらに、第10の実施形態の電子透かし埋め込み側の構成は、ブロック化手段3100によりブロック化された画像データ、埋め込みビットプレーン入力端子3003を通して入力される埋め込みビットプレーンを指定するデータ、上位ビットプレーン評価手段3101から出力される評価結果、及び埋め込みデータ入力端子3002を通して入力されたデータを受け取り、埋め込みデータ入力端子3002から入力されたデータを画像データの指定されたビットプレーンの評価結果に基づく位置に埋め込む埋め込み手段3103を有する。埋め込み手段3103から出力されるデータ埋め込み後の画像データは、出力端子3004を通して出力される。   As shown in FIG. 18, the configuration on the digital watermark embedding side of the tenth embodiment includes a blocking unit 3100 that divides image data input to the input terminal 3001 into one or a plurality of blocks. Also, the configuration on the digital watermark embedding side of the tenth embodiment receives the image data blocked by the blocking unit 3100 and the data specifying the embedded bit plane input through the embedded bit plane input terminal 3003 and blocks it. The high-order bit plane evaluation means 3101 for examining the high-order bit plane of the image data thus obtained. Furthermore, the configuration of the digital watermark embedding side of the tenth embodiment is that the image data blocked by the blocking unit 3100, the data specifying the embedded bit plane input through the embedded bit plane input terminal 3003, and the upper bit plane evaluation The evaluation result output from the means 3101 and the data input through the embedded data input terminal 3002 are received, and the data input from the embedded data input terminal 3002 is embedded at a position based on the specified bit plane evaluation result of the image data. An embedding unit 3103 is included. The embedded image data output from the embedding unit 3103 is output through the output terminal 3004.

図19は、第10の実施形態に係る電子透かし埋め込み方法を実施する電子透かし埋め込み側の構成(電子透かし埋め込み装置)のJPEG2000圧縮器への適用例を示すブロック図である。図19において、図18の構成と同一又は対応する構成には同じ符号を付す。   FIG. 19 is a block diagram showing an application example of the configuration of the digital watermark embedding side (digital watermark embedding device) that implements the digital watermark embedding method according to the tenth embodiment to a JPEG2000 compressor. In FIG. 19, the same reference numerals are given to the same or corresponding components as those in FIG.

図19に示されるように、JPEG2000圧縮器は、図18の構成に加えて、入力画像データがカラー画像データである場合にカラー空間を変換するカラー変換手段3050と、入力画像データのタイル分割を行うタイル分割手段3054と、ウェーブレット変換を行うウェーブレット変換手段3051と、ウェーブレット係数を量子化する量子化手段3052と、電子透かしの埋め込まれた係数を符号化する符号化手段3053とを有する。符号化手段3053により符号化されたビットストリームは、埋め込み後画像ビットストリーム出力端子3005を通して出力される。   As shown in FIG. 19, in addition to the configuration of FIG. 18, the JPEG 2000 compressor performs color conversion means 3050 for converting a color space when input image data is color image data, and tile division of the input image data. Tile dividing means 3054 for performing, wavelet transforming means 3051 for performing wavelet transform, quantization means 3052 for quantizing wavelet coefficients, and encoding means 3053 for encoding coefficients embedded with digital watermarks. The bit stream encoded by the encoding unit 3053 is output through the post-embedding image bit stream output terminal 3005.

[電子透かし検証側の動作]
図22は、第10の実施形態に係る電子透かし検出方法を実施する電子透かし検証側の構成(電子透かし検出装置)を示すブロック図である。
[Operation of digital watermark verification side]
FIG. 22 is a block diagram showing a configuration (digital watermark detection apparatus) on the digital watermark verification side that implements the digital watermark detection method according to the tenth embodiment.

図22に示されるように、第10の実施形態の電子透かし検証側の構成は、入力端子3010を通して入力された画像データを、ブロックに分割するブロック化手段3200を有する。また、第10の実施形態の電子透かし検証側の構成は、ブロック化手段3200によりブロック化された画像データ及び抽出ビットプレーン入力端子3013を経由して入力される抽出するビットプレーンを指定するデータを受け取り、ブロック化された画像データの上位ビットプレーンを調べる上位ビットプレーン評価手段3201を有する。さらに、第10の実施形態の電子透かし検証側の構成は、ブロック化手段3200によりブロック化された画像データ、抽出ビットプレーン入力端子3013を通して入力される抽出ビットプレーンを指定するデータ、及び上位ビットプレーン評価手段3201から出力される評価結果を受け取り、入力された画像データについて、指定された抽出ビットプレーンの中の上記評価結果に基づく位置からデータを抽出するに抽出手段3203を有する。抽出手段3203から出力される抽出結果は、出力端子3012を通して出力される。   As shown in FIG. 22, the configuration on the digital watermark verification side of the tenth embodiment has a blocking unit 3200 that divides image data input through an input terminal 3010 into blocks. In addition, the configuration on the digital watermark verification side of the tenth embodiment includes image data that is blocked by the blocking unit 3200 and data that specifies a bit plane to be extracted that is input via the extraction bit plane input terminal 3013. Upper bit plane evaluation means 3201 for checking the upper bit plane of the received and blocked image data is provided. Furthermore, the configuration on the digital watermark verification side of the tenth embodiment is the image data blocked by the blocking unit 3200, the data specifying the extracted bit plane input through the extracted bit plane input terminal 3013, and the upper bit plane. An extraction unit 3203 is provided for receiving the evaluation result output from the evaluation unit 3201 and extracting data from the position based on the evaluation result in the designated extraction bit plane for the input image data. The extraction result output from the extraction unit 3203 is output through the output terminal 3012.

図23は、第10の実施形態に係る電子透かし検出方法を実施する電子透かし検証側の構成(電子透かし検出装置)のJPEG2000伸張器への適用例を示すブロック図である。図23において、図22の構成と同一又は対応する構成には同じ符号を付す。図23に示されるように、JPEG2000伸張器へ適用した場合には、図22のブロック化手段3200に代えて、JPEG2000ビットストリームを復号し、ウェーブレット係数とブロック情報を出力する復号手段3204を有する。   FIG. 23 is a block diagram illustrating an application example of the configuration (digital watermark detection apparatus) on the digital watermark verification side that implements the digital watermark detection method according to the tenth embodiment to a JPEG2000 decompressor. 23, the same reference numerals are given to the same or corresponding components as those in FIG. As shown in FIG. 23, when the present invention is applied to a JPEG2000 decompressor, it has a decoding means 3204 for decoding a JPEG2000 bitstream and outputting wavelet coefficients and block information instead of the blocking means 3200 of FIG.

[電子透かし埋め込み側の動作]
図18に示されるように、電子透かしを埋め込むターゲット画像の画像データを入力端子3001へ入力する。ピクセルデータへ直接電子透かしを埋め込む場合は、入力データはピクセルデータとなる。また、周波数空間上での電子透かしの場合は、入力データはウェーブレット係数やDCT係数となる。
[Operation of digital watermark embedding]
As shown in FIG. 18, image data of a target image in which a digital watermark is embedded is input to the input terminal 3001. When the digital watermark is directly embedded in the pixel data, the input data is pixel data. In the case of digital watermarking in the frequency space, the input data is wavelet coefficients or DCT coefficients.

入力端子3001へ入力される画像データは、ブロック化手段3100へ渡される。ブロック化手段3100では、入力された画像データを、M×Nサイズのブロックへ分割する。ピクセルデータへの電子透かしの場合は、M×Nピクセルのブロックとなり、また、周波数空間上での電子透かしの場合は、ウェーブレット変換やDCT後の係数空間上におけるM×N係数のブロックとなる。このブロックは、ピクセル空間上で同じ位置を示す、異なる周波数の係数群で構成してもよいし、ピクセル空間上で近い位置を示す、同じ周波数の係数群で構成してもよい。   The image data input to the input terminal 3001 is passed to the blocking unit 3100. The blocking unit 3100 divides the input image data into M × N size blocks. In the case of digital watermarking to pixel data, it becomes a block of M × N pixels, and in the case of digital watermarking on the frequency space, it becomes a block of M × N coefficients on the coefficient space after wavelet transform or DCT. This block may be composed of coefficient groups having different frequencies and indicating the same position in the pixel space, or may be composed of coefficient groups having the same frequency and indicating a close position in the pixel space.

上位ビットプレーン評価手段3101は、画質への影響の低い順に画像データに対しラベリングを行う。通常、平滑な領域(低周波数成分しかないような領域)に加えられる変更は、複雑な領域(高周波数成分が近傍にあるような領域)へ加えられる変更よりも知覚されやすいので、複雑な領域近辺に高い優先度を与えるようにラベリングを行う。   Upper bit plane evaluation means 3101 labels image data in ascending order of influence on image quality. Typically, changes made to smooth regions (regions with only low frequency components) are more perceptible than changes made to complex regions (regions with high frequency components nearby), so complex regions Perform labeling to give high priority to the neighborhood.

図20は、第10の実施形態に係る電子透かし埋め込み方法の説明図である。図20においては、横方向左側から順に係数1〜8を並べ、縦方向下から順にビットプレーン番号‘0’〜‘10’を並べている。また、図20においては、ビットプレーン番号‘5’のビットプレーンが情報埋め込みに使用されるビットプレーンであり、黒色塗りつぶし箇所は、従来の情報埋め込みに使用した係数ビットである。また、図20において、網掛け箇所は、上位ビットプレーンに非0の値のある係数ビットであり、クロスハッチング箇所は、上位ビットプレーンが0である非0の係数ビットである。   FIG. 20 is an explanatory diagram of a digital watermark embedding method according to the tenth embodiment. In FIG. 20, coefficients 1 to 8 are arranged in order from the left side in the horizontal direction, and bit plane numbers “0” to “10” are arranged in order from the bottom in the vertical direction. In FIG. 20, the bit plane with the bit plane number “5” is a bit plane used for information embedding, and the black-filled portion is a coefficient bit used for conventional information embedding. In FIG. 20, shaded portions are coefficient bits having a non-zero value in the upper bit plane, and cross-hatched portions are non-zero coefficient bits having an upper bit plane of 0.

例えば、各画像データ単位に、埋め込みビットプレーン(例えば、図20におけるビットプレーン番号‘5’のビットプレーン)よりも上位にあるデータのレベルに応じてラベリングを行う。この場合、ラベルは、データのレベルを基準にソートを行ったときの順番に相当する(例えば、図20においては、係数2,5,8,1の順)。また、値0の画像データは、値0の範囲内で、周囲に非0の画像データが存在する順でラベリングを行う。   For example, for each image data unit, labeling is performed according to the level of data higher than the embedded bit plane (for example, the bit plane of bit plane number “5” in FIG. 20). In this case, the labels correspond to the order when sorting is performed based on the data level (for example, in the order of coefficients 2, 5, 8, 1 in FIG. 20). In addition, the image data with value 0 is labeled in the order in which non-zero image data exists in the vicinity of the value 0.

これを式で表現すると、以下のようになる。埋め込みビットプレーンより上位のビットプレーンのデータをa(x,y)とすると、|a(x,y)|>0である画像データに対しては、a(x,y)の大きい順にラベリングを行う。また、|a(x,y)|=0である画像データに対しては、8近傍の画像データの値の絶対和、即ち、
(|a(x+1,y)|+|a(x,y+1)|
+|a(x−1,y)|+|a(x,y−1)|
+|a(x+1,y+1)|+|a(x−1,y+1)|
+|a(x+1,y−1)|+|a(x−1,y−1)|)
の大きい順にラベリングを行う。
This can be expressed as follows: Assuming that the data of the bit plane higher than the embedded bit plane is a (x, y), the image data with | a (x, y) |> 0 are labeled in descending order of a (x, y). Do. For image data with | a (x, y) | = 0, the absolute sum of the values of image data in the vicinity of 8, that is,
(| A (x + 1, y) | + | a (x, y + 1) |
+ | A (x-1, y) | + | a (x, y-1) |
+ | A (x + 1, y + 1) | + | a (x-1, y + 1) |
+ | A (x + 1, y-1) | + | a (x-1, y-1) |)
Label in ascending order.

埋め込み手段3103では、上位ビットプレーン評価手段3101でラベリングを行った順に、埋め込みを行う。埋め込みは、ラベリングを行った順に、各画像データに対して1ビットの埋め込みメッセージを順に埋め込んでいく。Xビットのメッセージの埋め込みには、X個の画像データが用いられる。また、メッセージ先頭にメッセージのサイズを埋め込んでもよい。この場合、X+Y個(Yは、メッセージ長を埋め込むのに必要なビット数)の画像データが用いられる。   The embedding unit 3103 performs embedding in the order in which the upper bit plane evaluation unit 3101 performs labeling. In embedding, a 1-bit embedding message is sequentially embedded in each image data in the order in which labeling is performed. X image data is used for embedding the X-bit message. Also, the message size may be embedded at the beginning of the message. In this case, X + Y pieces of image data (Y is the number of bits necessary for embedding the message length) are used.

図21は、第10の実施形態に係る電子透かし埋め込み方法の他の例説明図である。図21の上側には、横方向左側から順に係数1〜8を並べ、縦方向下から順にビットプレーン番号‘0’〜‘10’を並べた例が示されている。また、図21においては、ビットプレーン番号‘5’のビットプレーンが情報埋め込みに使用されるビットプレーンであり、黒色塗りつぶし箇所は、従来の情報埋め込みに使用した係数ビットである。また、図21において、網掛け箇所は、上位ビットプレーンに非0の値のある係数ビットであり、クロスハッチング箇所は、上位ビットプレーンが0である非0の係数ビットである。さらにまた、図21の中央付近には、各グループの埋め込みビットプレーン(上位ビットプレーンの値でソートした後)を示し、左側から右側に向けて、値の大きな係数ビットから値の小さな係数ビットが描かれている。図21には、画像や埋め込み係数を複数のグループに分け、各グループ単位に1ビット埋め込む場合が示されている。図21においては、複数グループへの分割方法は、各グループに、大きな値の係数が均等に割り振られるようにしている。   FIG. 21 is an explanatory diagram of another example of the digital watermark embedding method according to the tenth embodiment. 21 shows an example in which coefficients 1 to 8 are arranged in order from the left side in the horizontal direction and bit plane numbers “0” to “10” are arranged in order from the bottom in the vertical direction. In FIG. 21, the bit plane with bit plane number “5” is a bit plane used for information embedding, and the black-painted portion is a coefficient bit used for conventional information embedding. In FIG. 21, shaded portions are coefficient bits having a non-zero value in the upper bit plane, and cross-hatched portions are non-zero coefficient bits having an upper bit plane of 0. Further, in the vicinity of the center of FIG. 21, the embedded bit planes of each group (after sorting by the values of the upper bit plane) are shown, and from the left side to the right side, the coefficient bits having the largest value are changed to the coefficient bits having the smallest value. It is drawn. FIG. 21 shows a case where images and embedding coefficients are divided into a plurality of groups and 1 bit is embedded in each group. In FIG. 21, the division method into a plurality of groups is such that a large value coefficient is equally allocated to each group.

また、図21には、複数ビット情報に基づいて1ビット情報を計算し、計算によって得られた1ビット情報を埋め込む方法が説明されている。図21に示されるように、例えば、1ビットを埋め込むためのグループのデータが“0101”(4ビット)である場合に、これらの複数ビットのデータの排他的論理和(XOR)を計算する。この場合には、XOR演算の結果は0である。この演算結果0を、このグループに埋め込む値(1ビット)と比較し、比較の結果が異なる場合には、XOR演算の結果が埋め込むビット値に等しくなるように、各グループのある1ビットの値を変更する。   FIG. 21 illustrates a method of calculating 1-bit information based on multiple-bit information and embedding 1-bit information obtained by the calculation. As shown in FIG. 21, for example, when the group data for embedding 1 bit is “0101” (4 bits), the exclusive OR (XOR) of these multiple bits of data is calculated. In this case, the result of the XOR operation is zero. This operation result 0 is compared with a value (1 bit) embedded in this group, and if the comparison results are different, a 1-bit value in each group is set so that the result of the XOR operation is equal to the embedded bit value To change.

以上のようにして得られた画質への影響の低い順を示すラベリングの順番に、署名データを画像データに埋め込み、署名データが埋め込まれた画像データが、画像データ出力端子3004を通して、埋め込み後画像データ出力端子を通して出力される。   The signature data is embedded in the image data in the order of labeling indicating the order of low influence on the image quality obtained as described above, and the image data embedded with the signature data passes through the image data output terminal 3004 and is the post-embedding image. Output through the data output terminal.

[電子透かし検証側の動作]
図22に示されるように、電子透かしを検証するターゲット画像の画像データを入力端子3010へ入力する。ピクセルデータへ直接電子透かしが埋め込まれている場合は、入力データはピクセルデータとなる。また、周波数空間上での電子透かしの場合は、入力データはウェーブレット係数やDCT係数となる。入力端子3010へ入力される画像データは、ブロック化手段3200へ渡される。ブロック化手段3200では、入力された画像データを、M×Nサイズのブロックへ分割する。ピクセルデータへの電子透かしの場合は、M×Nピクセルのブロックとなり、また、周波数空間上での電子透かしの場合は、ウェーブレット変換やDCT後の係数空間上におけるM×N係数のブロックとなる。
[Operation of digital watermark verification side]
As shown in FIG. 22, the image data of the target image for verifying the digital watermark is input to the input terminal 3010. When a digital watermark is directly embedded in the pixel data, the input data is pixel data. In the case of digital watermarking in the frequency space, the input data is wavelet coefficients or DCT coefficients. The image data input to the input terminal 3010 is passed to the blocking unit 3200. The blocking unit 3200 divides the input image data into M × N size blocks. In the case of digital watermarking to pixel data, it becomes a block of M × N pixels, and in the case of digital watermarking on the frequency space, it becomes a block of M × N coefficients on the coefficient space after wavelet transform or DCT.

上位ビットプレーン評価手段3201は、抽出ビットプレーン入力端子3013から入力されたビットプレーン情報を用い、電子透かし埋め込み側の上位ビットプレーン評価手段3101(図18)と同じ方法で画像データのラベリングを行ない、ラベリング順に1係数から1ビットのメッセージを抽出する。メッセージ長をメッセージ先頭に埋め込んでいる場合は、メッセージ長を抽出してから、メッセージ本体を抽出する。抽出手段3203により抽出されたメッセージは、抽出結果出力端子3012を通して出力される。   The upper bit plane evaluation unit 3201 uses the bit plane information input from the extracted bit plane input terminal 3013 to label the image data in the same manner as the upper bit plane evaluation unit 3101 (FIG. 18) on the digital watermark embedding side. A 1-bit message is extracted from 1 coefficient in the order of labeling. If the message length is embedded at the beginning of the message, the message body is extracted after extracting the message length. The message extracted by the extraction unit 3203 is output through the extraction result output terminal 3012.

[第10の実施形態の効果]
以上説明したように、第10の実施形態によれば、埋め込みデータを画質の影響の少ない部分に埋め込むことができるため、電子透かしが埋め込まれた画像の画質を向上させることができる。また、電子透かし検証側では、電子透かしが埋め込まれたビットプレーンよりも上位のビットプレーンの情報を用いてデータの埋め込み位置を検出するため、電子透かしが埋め込まれたビットブレーンと、それよりも上位のビットプレーンを取得した段階で、電子透かしの抽出を行うことができる。
[Effect of Tenth Embodiment]
As described above, according to the tenth embodiment, since embedded data can be embedded in a portion having little influence on image quality, the image quality of an image embedded with a digital watermark can be improved. In addition, since the digital watermark verification side detects the data embedding position using the information of the bit plane higher than the bit plane in which the digital watermark is embedded, the bit brain in which the digital watermark is embedded and the higher level than that. The digital watermark can be extracted when the bit plane is acquired.

≪3−2.第11の実施形態≫
[電子透かし埋め込み側の構成]
図24は、第11の実施形態に係る電子透かし埋め込み方法を実施する電子透かし埋め込み側の構成(電子透かし埋め込み装置)を示すブロック図である。図24において、図18(第10の実施形態)の構成と同一又は対応する構成には、同じ符号を付す。図24に示されるように、第11の実施形態の電子透かし埋め込み側の構成は、ブロック判定手段3102と、ゼロブロックマーキング手段3104とを有する点が、上記第10の実施形態の電子透かし埋め込み側の構成(図18)と相違する。
<< 3-2. Eleventh embodiment >>
[Configuration of the digital watermark embedding side]
FIG. 24 is a block diagram showing a configuration (digital watermark embedding apparatus) on the digital watermark embedding side for executing the digital watermark embedding method according to the eleventh embodiment. In FIG. 24, the same reference numerals are given to the same or corresponding components as those in FIG. 18 (tenth embodiment). As shown in FIG. 24, the configuration of the digital watermark embedding side of the eleventh embodiment is that the block determining unit 3102 and the zero block marking unit 3104 have the configuration of the digital watermark embedding side of the tenth embodiment. This is different from the configuration (FIG. 18).

[電子透かし検証側の構成]
図26は、第11の実施形態に係る電子透かし検出方法を実施する電子透かし検証側の構成(電子透かし検出装置)を示すブロック図である。図26において、図22(第10の実施形態)の構成と同一又は対応する構成には、同じ符号を付す。図26に示されるように、第11の実施形態の電子透かし検証側の構成は、ブロック判定手段3202を有する点が、上記第10の実施形態の電子透かし検証側の構成(図22)と相違する。
[Configuration on the digital watermark verification side]
FIG. 26 is a block diagram showing a configuration (digital watermark detection apparatus) on the digital watermark verification side that implements the digital watermark detection method according to the eleventh embodiment. In FIG. 26, the same reference numerals are given to the same or corresponding components as those in FIG. 22 (tenth embodiment). As shown in FIG. 26, the configuration on the digital watermark verification side in the eleventh embodiment is different from the configuration on the digital watermark verification side in the tenth embodiment (FIG. 22) in that the block determination unit 3202 is included. To do.

[電子透かし埋め込み側の動作]
図24に示されるように、電子透かしを埋め込むターゲット画像の画像データを入力端子3001へ入力する。ピクセルデータへ直接電子透かしを埋め込む場合は、入力データはピクセルデータとなる。また、周波数空間上での電子透かしの場合は、入力データはウェーブレット係数やDCT係数となる。
[Operation of digital watermark embedding]
As shown in FIG. 24, the image data of the target image in which the digital watermark is embedded is input to the input terminal 3001. When the digital watermark is directly embedded in the pixel data, the input data is pixel data. In the case of digital watermarking in the frequency space, the input data is wavelet coefficients or DCT coefficients.

入力端子3001へ入力される画像データは、ブロック化手段3100へ渡される。ブロック化手段3100では、入力された画像データを、M×Nサイズのブロックへ分割する。ピクセルデータへの電子透かしの場合は、M×Nピクセルのブロックとなり、また、周波数空間上での電子透かしの場合は、ウェーブレット変換やDCT後の係数空間上におけるM×N係数のブロックとなる。このブロックは、ピクセル空間上で同じ位置を示す、異なる周波数の係数群で構成してもよいし、ピクセル空間上で近い位置を示す、同じ周波数の係数群で構成してもよい。   The image data input to the input terminal 3001 is passed to the blocking unit 3100. The blocking unit 3100 divides the input image data into M × N size blocks. In the case of digital watermarking to pixel data, it becomes a block of M × N pixels, and in the case of digital watermarking on the frequency space, it becomes a block of M × N coefficients on the coefficient space after wavelet transform or DCT. This block may be composed of coefficient groups having different frequencies and indicating the same position in the pixel space, or may be composed of coefficient groups having the same frequency and indicating a close position in the pixel space.

ブロック判定手段3102は、埋め込みビットプレーン入力端子3003から入力されたデータにより指定されたビットプレーンをブロック単位に走査する。走査した結果、ビットプレーンのデータがすべて0(ゼロ)であるall0(オール0)ブロックをマークする。   The block determination unit 3102 scans the bit plane specified by the data input from the embedded bit plane input terminal 3003 in units of blocks. As a result of scanning, the all0 (all 0) block whose bit plane data is all 0 (zero) is marked.

上位ビットプレーン評価手段3101は、上位ビットプレーンを評価し、画質への影響の低い順に画像データに対しラベリングを行う。通常、平滑な領域(低周波数成分しかないような領域)に加えられる変更は、複雑な領域(高周波数成分が近傍にあるような領域)へ加えられる変更よりも知覚されやすいので、複雑な領域近辺に高い優先度を与えるようにラベリングを行う。ラベリングの方法は、上記第10の実施形態の場合と同様である。   The upper bit plane evaluation unit 3101 evaluates the upper bit plane and performs labeling on the image data in ascending order of influence on image quality. Typically, changes made to smooth regions (regions with only low frequency components) are more perceptible than changes made to complex regions (regions with high frequency components nearby), so complex regions Perform labeling to give high priority to the neighborhood. The labeling method is the same as in the tenth embodiment.

埋め込み手段3103は、ブロック判定手段3102によってall0ブロックである判定されなかったブロックに属し、かつ、上位ビットプレーン評価手段3101によって、上位ビットプレーンに有意なデータがあるとされた画像データへのメッセージの埋め込みを行う。   The embedding unit 3103 belongs to a block that has not been determined to be an all0 block by the block determining unit 3102, and the message to the image data for which the upper bit plane evaluating unit 3101 has determined that there is significant data in the upper bit plane. Perform embedding.

メッセージが、上記条件の画像データ数よりも多い場合、さらに、ブロック判定手段3102によってall0ブロックである判定されたブロックに属し、かつ、上位ビットプレーン評価手段3101によって、上位ビットプレーンに有意なデータがあるとされた画像データに対しても、メッセージの埋め込みを行う。メッセージの埋め込み位置は、メッセージを埋め込む前に予め決定しておく。   When the number of messages is larger than the number of image data under the above conditions, the block determination unit 3102 further belongs to the block determined to be an all0 block, and the upper bit plane evaluation unit 3101 has significant data in the upper bit plane. A message is also embedded in the image data that is assumed to be present. The message embedding position is determined in advance before embedding the message.

ゼロブロックマーキング手段3104は、メッセージの埋め込まれたブロックで、埋め込みビットプレーンのデータがすべて0となったall0ブロックに、マーキングを行う。マーキングは、ブロックのメッセージを埋め込んだビットプレーン上で、メッセージの埋め込みに使用しなかった部分の少なくとも1画像データを1にすることで行う。1にする画像データは、メッセージ埋め込みに使用せず、かつ、上位ビットプレーン評価手段3101による評価値が大きいものとしてもよい。   The zero block marking means 3104 performs marking on the all0 block in which the embedded bitplane data is all 0 in the block in which the message is embedded. The marking is performed by setting at least one image data of a portion not used for embedding the message to 1 on the bit plane in which the message of the block is embedded. The image data set to 1 may not be used for message embedding and may have a large evaluation value by the upper bit plane evaluation unit 3101.

図25は、第11の実施形態に係る電子透かし埋め込み法を実施する電子透かし埋め込み側の構成(電子透かし埋め込み装置)の他の例を示すブロック図である。ゼロブロックマーキング手段3104は、メッセージを埋め込む予定のブロックすべてに、マーキングを行う。マーキングは、ブロックのメッセージを埋め込んだビットプレーン上で、メッセージの埋め込みに使用しない部分の少なくとも1画像データを1にすることで行う。1にする画像データは、メッセージ埋め込みに使用せず、かつ、上位ビットプレーン評価手段による評価値が大きいものとしてもよい。署名等を埋め込む場合、マーキングを行ってから署名値を計算する必要があるが、その場合、図25の構成となる。   FIG. 25 is a block diagram showing another example of the configuration (digital watermark embedding apparatus) on the digital watermark embedding side that implements the digital watermark embedding method according to the eleventh embodiment. The zero block marking unit 3104 performs marking on all blocks in which messages are to be embedded. Marking is performed by setting at least one image data of a portion not used for embedding a message to 1 on a bit plane in which a block message is embedded. The image data to be set to 1 may not be used for message embedding and may have a large evaluation value by the upper bit plane evaluation means. When embedding a signature or the like, it is necessary to calculate a signature value after marking, but in this case, the configuration is as shown in FIG.

[電子透かし検証側の動作]
図26に示されるように、ブロック判定手段3202及び上位ビットプレーン評価手段3201は、電子透かし埋め込み側と同様の方法でブロックのマーキングを行う。抽出手段3203は、署名埋め込み側で埋め込み位置を決定したのと同じ方法で、画像データからメッセージを抽出する。
[Operation of digital watermark verification side]
As shown in FIG. 26, the block determination unit 3202 and the higher-order bit plane evaluation unit 3201 perform block marking in the same manner as on the digital watermark embedding side. The extracting unit 3203 extracts a message from the image data by the same method as that for determining the embedding position on the signature embedding side.

電子透かし埋め込み側では、ビットプレーンのデータが0のブロックへの埋め込みを避け、電子透かし検証側では、ビットプレーンのデータが0のブロックからの抽出を避けている。ゼロブロックマーキング手段3104は、メッセージの埋め込み位置を埋め込み側と検証側で同期させるため、ビッドプレーンのデータが0のブロックという状態が埋め込み側と検証側で変化しないために、マーキングを行う。第11の実施形態の電子透かし検証側の動作において、上記以外の点は、第10の実施形態の電子透かし検証側の動作と同様である。   On the digital watermark embedding side, embedding in a block with bit plane data 0 is avoided, and on the digital watermark verification side, extraction from a block with bit plane data 0 is avoided. The zero block marking means 3104 performs marking in order to synchronize the embedding position of the message between the embedding side and the verification side, so that the state that the block of the bid plane data is 0 does not change between the embedding side and the verification side. The operation on the digital watermark verification side of the eleventh embodiment is the same as the operation on the digital watermark verification side of the tenth embodiment except for the above.

[第11の実施形態の効果]
第11の実施形態によれば、ゼロビットプレーンへの埋め込みを避けているので、符号化効率を向上させることができる。
[Effect of the eleventh embodiment]
According to the eleventh embodiment, since the embedding in the zero bit plane is avoided, the encoding efficiency can be improved.

≪3−3.第12の実施形態≫
[電子透かし埋め込み側の構成]
図27は、第12の実施形態に係る電子透かし埋め込み方法を実施する電子透かし埋め込み側の構成(電子透かし埋め込み装置)を示すブロック図である。図27において、図18(第10の実施形態)の構成と同一又は対応する構成には、同じ符号を付す。図27に示されるように、第12の実施形態の電子透かし埋め込み側の構成は、埋め込みビットプレーンと画像データから、埋め込み対象の係数を決定する埋め込み係数決定手段3301と、決定した埋め込み係数を記憶する埋め込み位置記憶手段3302と、入力画像データに埋め込みデータを埋め込む埋め込み手段3103とを有する。
<< 3-3. Twelfth Embodiment >>
[Configuration of the digital watermark embedding side]
FIG. 27 is a block diagram showing a configuration (digital watermark embedding apparatus) on the digital watermark embedding side for executing the digital watermark embedding method according to the twelfth embodiment. In FIG. 27, the same reference numerals are given to the same or corresponding components as those in FIG. 18 (tenth embodiment). As shown in FIG. 27, the configuration on the digital watermark embedding side according to the twelfth embodiment stores an embedding coefficient determining means 3301 that determines an embedding target coefficient from an embedding bit plane and image data, and stores the determined embedding coefficient. Embedded position storage means 3302 and embedding means 3103 for embedding embedded data in input image data.

[電子透かし検証側の構成]
図28は、第12の実施形態に係る電子透かし検出方法を実施する電子透かし検証側の構成(電子透かし検出装置)を示すブロック図である。図28において、図22(第10の実施形態)の構成と同一又は対応する構成には、同じ符号を付す。図28に示されるように、第12の実施形態の電子透かし検証側の構成は、埋め込みビットプレーンと画像データから、埋め込み対象の係数を決定する埋め込み係数決定手段3311と、決定した埋め込み係数を記憶する埋め込み位置記憶手段3312と、画像データから埋め込み画像を抽出する抽出手段3203とを有する。
[Configuration on the digital watermark verification side]
FIG. 28 is a block diagram showing a configuration (digital watermark detection apparatus) on the digital watermark verification side that implements the digital watermark detection method according to the twelfth embodiment. In FIG. 28, the same reference numerals are given to the same or corresponding components as those in FIG. 22 (tenth embodiment). As shown in FIG. 28, the configuration on the digital watermark verification side of the twelfth embodiment stores an embedding coefficient determining unit 3311 that determines an embedding target coefficient from an embedding bit plane and image data, and stores the determined embedding coefficient. Embedded position storage means 3312 and extraction means 3203 for extracting an embedded image from the image data.

[電子透かし埋め込み側の動作]
図27に示されるように、埋め込み係数決定手段3301は、入力された埋め込みビットプレーン情報を元に、埋め込み位置を決定する。決定方法は、第10及び第11の実施形態の上位ビットプレーン評価手段3101(図18、図24)や、ブロック判定手段3102(図24)の方法を用いてもよい。
[Operation of digital watermark embedding]
As shown in FIG. 27, the embedding coefficient determining unit 3301 determines an embedding position based on the input embedding bit plane information. As the determination method, the method of the upper bit plane evaluation unit 3101 (FIGS. 18 and 24) or the block determination unit 3102 (FIG. 24) of the tenth and eleventh embodiments may be used.

埋め込み位置記憶手段3302は、埋め込み係数決定手段3301によって決定された埋め込み係数を記憶する。   The embedding position storage unit 3302 stores the embedding coefficient determined by the embedding coefficient determination unit 3301.

埋め込み手段3103は、埋め込みビットプレーン入力端子3003から入力されたビットプレーンで、埋め込み係数決定3301により決定された係数に対し、情報の埋め込みを行う。   The embedding unit 3103 embeds information in the coefficient determined by the embedding coefficient determination 3301 on the bit plane input from the embedding bit plane input terminal 3003.

図29は、第12の実施形態に係る電子透かし埋め込み方法の説明図である。図29においては、横方向左側から順に係数1〜8を並べ、縦方向下から順にビットプレーン番号‘0’〜‘10’を並べている。また、図29においては、ビットプレーン番号‘5’のビットプレーンが情報埋め込みに使用されるビットプレーンであり、黒色塗りつぶし箇所は、従来の情報埋め込みに使用した係数ビットである。また、図29において、網掛け箇所は、埋め込みに使用した係数の、埋め込みビットプレーンよりも下位のビットプレーン(情報の埋め込みに追加して使用する部分)である。   FIG. 29 is an explanatory diagram of a digital watermark embedding method according to the twelfth embodiment. In FIG. 29, coefficients 1 to 8 are arranged in order from the left in the horizontal direction, and bit plane numbers “0” to “10” are arranged in order from the bottom in the vertical direction. In FIG. 29, the bit plane of bit plane number “5” is a bit plane used for information embedding, and the black-filled portion is a coefficient bit used for conventional information embedding. In FIG. 29, the shaded portion is a bit plane (a portion used in addition to information embedding) lower than the embedding bit plane of the coefficient used for embedding.

図30は、第12の実施形態に係る電子透かし埋め込み方法の他の例の説明図である。図30においては、横方向左側から順に係数1〜8を並べ、縦方向下から順にビットプレーン番号‘0’〜‘10’を並べている。また、図30においては、ビットプレーン番号‘0’‘4’‘7’のビットプレーンが情報埋め込みに使用されるビットプレーンであり、黒色塗りつぶし箇所は、従来の情報埋め込みに使用した係数ビットである。また、図30において、網掛け箇所は、埋め込みに使用した係数の、埋め込みビットプレーンよりも下位のビットプレーン(情報の埋め込みに追加して使用する部分)である。   FIG. 30 is an explanatory diagram of another example of the digital watermark embedding method according to the twelfth embodiment. In FIG. 30, coefficients 1 to 8 are arranged in order from the left in the horizontal direction, and bit plane numbers “0” to “10” are arranged in order from the bottom in the vertical direction. Further, in FIG. 30, the bit plane with bit plane number “0” 4 ”7” is a bit plane used for information embedding, and the black-filled portion is a coefficient bit used for conventional information embedding. . In FIG. 30, the shaded portion is a bit plane (a portion used in addition to information embedding) lower than the embedding bit plane of the coefficient used for embedding.

図29又は図30に示されるように、埋め込み係数決定手段3301により決定された係数で、かつ、実際に埋め込みに使用した係数を埋め込み位置記憶手段3302から取得し、埋め込みビットプレーンよりもLSB側のビットプレーンに、情報の埋め込みを行う。   As shown in FIG. 29 or FIG. 30, the coefficient determined by the embedding coefficient determining means 3301 and the coefficient actually used for embedding are acquired from the embedding position storage means 3302, and the LSB side from the embedding bit plane is obtained. Information is embedded in the bit plane.

電子透かしを埋め込んだビットプレーン以下の部分は、元の係数値との誤差値を最小にするように、すべて0(all0)、すべて1(all1)、又はその中間値にしたり、埋め込みによってデータが変更しなかった場合、そのままにしたりする。また、すべてゼロ(all0)又はすべて1(all1)にした場合、それらの値を評価することで埋め込み位置が判明しやすくなるため、下位ビットをランダムな値で満たす(フィルする)こともある。この場合、データの埋め込みキャパシティを無駄に浪費していることになるので、下位ビットに情報の埋め込みを行う。   The portion below the bit plane in which the digital watermark is embedded is set to all 0 (all 0), all 1 (all 1), or an intermediate value so as to minimize an error value with respect to the original coefficient value. If you did not change it, leave it as it is. In addition, when all zeros (all0) or all ones (all1) are set, the embedding position can be easily found by evaluating those values, and therefore the lower bits may be filled (filled) with random values. In this case, since the data embedding capacity is wasted, information is embedded in the lower bits.

改ざん検出用の電子透かしの場合、埋め込みビットプレーン入力端子3003から入力されたビットプレーンに対しては署名データを埋め込み、それよりもLSB側の部分にはメッセージの埋め込みに使用してもよい。また、電子透かし検証時に、1ビットプレーン単位でのプログレッシブ伝送に対応するように、メッセージはビットプレーン順に埋め込んでもよい。第12の実施形態の電子透かし埋め込み側の動作において、上記以外の点は、第10及び第11の実施形態の電子透かし埋め込み側の動作と同様である。   In the case of digital watermarking for falsification detection, signature data may be embedded in the bit plane input from the embedded bit plane input terminal 3003, and may be used for embedding a message in the portion on the LSB side. Further, at the time of digital watermark verification, messages may be embedded in the order of bit planes so as to support progressive transmission in units of 1 bit planes. The operation on the electronic watermark embedding side of the twelfth embodiment is the same as the operation on the electronic watermark embedding side of the tenth and eleventh embodiments except for the above.

[電子透かし検証側の動作]
図28に示されるように、埋め込み係数決定手段3311は、入力された検出ビットプレーン情報を元に、埋め込まれた位置を決定する。決定方法は、第10の実施形態における上位ビットプレーン評価手段3201(図22)や、第11の実施形態におけるブロック判定手段3202(図26)の方法を用いてもよい。
[Operation of digital watermark verification side]
As shown in FIG. 28, the embedding coefficient determination unit 3311 determines the embedded position based on the input detection bit plane information. As the determination method, the method of the upper bit plane evaluation unit 3201 (FIG. 22) in the tenth embodiment or the block determination unit 3202 (FIG. 26) in the eleventh embodiment may be used.

埋め込み位置記憶手段3312は、埋め込み係数決定手段3311によって決定された埋め込み係数を記憶する。   The embedding position storage unit 3312 stores the embedding coefficient determined by the embedding coefficient determination unit 3311.

抽出手段3203は、決定された係数に対し、情報の抽出を行う。また、埋め込み係数決定手段3311により決定された係数で、かつ、実際に抽出に使用した係数を埋め込み位置記憶手段3312から取得し、抽出ビットプレーンよりもLSB側のビットプレーンから、情報の抽出を行う(図29、図30参照)。第12の実施形態の電子透かし検証側の動作において、上記以外の点は、第10及び第11の実施形態の電子透かし検証側の動作と同様である。   The extracting unit 3203 extracts information for the determined coefficient. Further, the coefficient determined by the embedding coefficient determining means 3311 and the coefficient actually used for extraction are acquired from the embedding position storage means 3312, and information is extracted from the bit plane on the LSB side with respect to the extracted bit plane. (See FIGS. 29 and 30). The operations on the digital watermark verification side of the twelfth embodiment are the same as the operations on the digital watermark verification side of the tenth and eleventh embodiments except for the above.

[第12の実施形態の効果]
以上説明したように、第12の実施形態によれば、MSBとLSBの間のビットプレーンに情報を埋め込んだ場合、それよりも下位のビットプレーンのデータに情報を埋め込むことで、埋め込み可能な情報量を飛躍的に増大させることができる。
[Effect of the twelfth embodiment]
As described above, according to the twelfth embodiment, when information is embedded in the bit plane between the MSB and the LSB, the information that can be embedded is embedded by embedding information in the data of the lower bit plane. The amount can be increased dramatically.

≪4.他の利用形態≫
上記第1〜第12の実施形態の構成は、コンピュータシステムで構成することができる。この場合には、上記各実施形態における電子透かし埋め込み方法及び電子透かし検出方法を、コンピュータシステムにインストールされたアプリケーションプログラムに従って実行させることができる。このアプリケーションプログラムのインストール方法には、インストール用プログラムが記録された記憶媒体からのインストールやインターネットを経由したダウンロード等の方法がある。
<< 4. Other forms of use >>
The configurations of the first to twelfth embodiments can be configured by a computer system. In this case, the digital watermark embedding method and the digital watermark detection method in each of the above embodiments can be executed according to an application program installed in the computer system. There are methods for installing the application program, such as installation from a storage medium in which an installation program is recorded, and download via the Internet.

上記第1〜第12の実施形態の構成は、コンピュータシステムで構成することができるので、上記第1〜第12の実施形態の内の幾つかの構成の機能を組み合わせたシステムを提供することも可能である。   Since the configurations of the first to twelfth embodiments can be configured by a computer system, it is also possible to provide a system that combines the functions of several configurations of the first to twelfth embodiments. Is possible.

参考発明の第1の実施形態に係る電子透かし埋め込み方法を実施する電子透かし埋め込み側の構成(電子透かし埋め込み装置)を示すブロック図である。It is a block diagram which shows the structure (digital watermark embedding apparatus) of the digital watermark embedding side which implements the digital watermark embedding method based on 1st Embodiment of a reference invention. 参考発明の第1〜第6の実施形態の電子透かし検証側の構成(電子透かし検出装置)を示すブロック図である。It is a block diagram which shows the structure (digital watermark detection apparatus) by the side of the digital watermark verification of the 1st-6th embodiment of reference invention. (a)及び(b)は、参考発明の第1の実施形態の符号化パス制御方法の説明図である。(A) And (b) is explanatory drawing of the encoding pass control method of 1st Embodiment of reference invention. 参考発明の第2の実施形態に係る電子透かし埋め込み方法を実施する電子透かし埋め込み側の構成(電子透かし埋め込み装置)を示すブロック図である。It is a block diagram which shows the structure (digital watermark embedding apparatus) of the digital watermark embedding side which implements the digital watermark embedding method based on 2nd Embodiment of a reference invention. 参考発明の第3の実施形態に係る電子透かし埋め込み方法を実施する電子透かし埋め込み側の構成(電子透かし埋め込み装置)を示すブロック図である。It is a block diagram which shows the structure (digital watermark embedding apparatus) of the digital watermark embedding side which implements the digital watermark embedding method based on 3rd Embodiment of a reference invention. 参考発明の第4の実施形態に係る電子透かし埋め込み方法を実施する電子透かし埋め込み側の構成(電子透かし埋め込み装置)を示すブロック図である。It is a block diagram which shows the structure (digital watermark embedding apparatus) of the digital watermark embedding side which implements the digital watermark embedding method based on 4th Embodiment of a reference invention. 参考発明の第5の実施形態に係る電子透かし埋め込み方法を実施する電子透かし埋め込み側の構成(電子透かし埋め込み装置)を示すブロック図である。It is a block diagram which shows the structure (digital watermark embedding apparatus) of the digital watermark embedding side which implements the digital watermark embedding method which concerns on 5th Embodiment of reference invention. 参考発明の第6の実施形態に係る電子透かし埋め込み方法を実施する電子透かし埋め込み側の構成(電子透かし埋め込み装置)を示すブロック図である。It is a block diagram which shows the structure (digital watermark embedding apparatus) of the digital watermark embedding side which implements the digital watermark embedding method based on 6th Embodiment of reference invention. 参考発明の第7の実施形態に係る電子透かし埋め込み方法を実施する電子透かし埋め込み側の構成(電子透かし埋め込み装置)を示すブロック図である。It is a block diagram which shows the structure (digital watermark embedding apparatus) of the digital watermark embedding side which implements the digital watermark embedding method based on 7th Embodiment of a reference invention. 参考発明の第7の実施形態に係る電子透かし検出方法を実施する電子透かし検証側の構成(電子透かし検出装置)を示すブロック図である。It is a block diagram which shows the structure (digital watermark detection apparatus) of the digital watermark verification side which implements the digital watermark detection method which concerns on 7th Embodiment of reference invention. 参考発明の第7の実施形態の電子透かし埋め込み方法の説明図である。It is explanatory drawing of the digital watermark embedding method of 7th Embodiment of reference invention. 参考発明の第7の実施形態に係る電子透かし埋め込み方法の他の例の説明図である。It is explanatory drawing of the other example of the electronic watermark embedding method based on 7th Embodiment of reference invention. 参考発明の第8の実施形態に係る電子透かし埋め込み方法を実施する電子透かし埋め込み側の構成(電子透かし埋め込み装置)を示すブロック図である。It is a block diagram which shows the structure (digital watermark embedding apparatus) of the digital watermark embedding side which implements the digital watermark embedding method based on 8th Embodiment of reference invention. 参考発明の第8の実施形態に係る電子透かし検出方法を実施する電子透かし検証側の構成(電子透かし検出装置)を示すブロック図である。It is a block diagram which shows the structure (digital watermark detection apparatus) of the digital watermark verification side which implements the digital watermark detection method which concerns on 8th Embodiment of reference invention. 参考発明の第9の実施形態に係る電子透かし埋め込み方法を実施する電子透かし埋め込み側の構成(電子透かし埋め込み装置)を示すブロック図である。It is a block diagram which shows the structure (digital watermark embedding apparatus) of the digital watermark embedding side which implements the digital watermark embedding method based on 9th Embodiment of reference invention. 参考発明の第9の実施形態に係る電子透かし検出方法を実施する電子透かし検証側の構成(電子透かし検出装置)を示すブロック図である。It is a block diagram which shows the structure (digital watermark detection apparatus) by the digital watermark verification side which implements the digital watermark detection method which concerns on 9th Embodiment of reference invention. 参考発明の第9の実施形態に係る電子透かし埋め込み方法の説明図である。It is explanatory drawing of the digital watermark embedding method which concerns on 9th Embodiment of reference invention. 第3の発明の第10の実施形態に係る電子透かし埋め込み方法を実施する電子透かし埋め込み側の構成(電子透かし埋め込み装置)を示すブロック図である。It is a block diagram which shows the structure (digital watermark embedding apparatus) of the digital watermark embedding side which implements the digital watermark embedding method based on 10th Embodiment of 3rd invention. 第3の発明の第10の実施形態に係る電子透かし埋め込み方法を実施する電子透かし埋め込み側の構成(電子透かし埋め込み装置)のJPEG2000圧縮器への適用例を示すブロック図である。It is a block diagram which shows the example of application to the JPEG2000 compressor of the structure (digital watermark embedding apparatus) of the digital watermark embedding side which implements the digital watermark embedding method based on 10th Embodiment of 3rd invention. 第3の発明の第10の実施形態に係る電子透かし埋め込み方法の説明図である。It is explanatory drawing of the digital watermark embedding method based on 10th Embodiment of 3rd invention. 第3の発明の第10の実施形態に係る電子透かし埋め込み方法の他の例の説明図である。It is explanatory drawing of the other example of the electronic watermark embedding method based on 10th Embodiment of 3rd invention. 第3の発明の第10の実施形態に係る電子透かし検出方法を実施する電子透かし検証側の構成(電子透かし検出装置)を示すブロック図である。It is a block diagram which shows the structure (digital watermark detection apparatus) of the digital watermark verification side which implements the digital watermark detection method which concerns on 10th Embodiment of 3rd invention. 第3の発明の第10の実施形態に係る電子透かし検出方法を実施する電子透かし検証側の構成(電子透かし検出装置)のJPEG2000伸張器への適用例を示すブロック図である。It is a block diagram which shows the example of application to the JPEG2000 expander of the structure (digital watermark detection apparatus) of the digital watermark verification side which implements the digital watermark detection method based on 10th Embodiment of 3rd invention. 第3の発明の第11の実施形態に係る電子透かし埋め込み方法を実施する電子透かし埋め込み側の構成(電子透かし埋め込み装置)を示すブロック図である。It is a block diagram which shows the structure (digital watermark embedding apparatus) of the digital watermark embedding side which implements the digital watermark embedding method based on 11th Embodiment of 3rd invention. 第3の発明の第11の実施形態に係る電子透かし埋め込み方法を実施する電子透かし埋め込み側の構成(電子透かし埋め込み装置)の他の例を示すブロック図である。It is a block diagram which shows the other example of the structure (digital watermark embedding apparatus) of the digital watermark embedding side which implements the digital watermark embedding method based on 11th Embodiment of 3rd invention. 第3の発明の第11の実施形態に係る電子透かし検出方法を実施する電子透かし検証側の構成(電子透かし検出装置)を示すブロック図である。It is a block diagram which shows the structure (digital watermark detection apparatus) by the digital watermark verification side which implements the digital watermark detection method based on 11th Embodiment of 3rd invention. 第3の発明の第12の実施形態に係る電子透かし埋め込み方法を実施する電子透かし埋め込み側の構成(電子透かし埋め込み装置)を示すブロック図である。It is a block diagram which shows the structure (digital watermark embedding apparatus) of the digital watermark embedding side which implements the digital watermark embedding method based on 12th Embodiment of 3rd invention. 第3の発明の第12の実施形態に係る電子透かし検出方法を実施する電子透かし検証側の構成(電子透かし検出装置)を示すブロック図である。It is a block diagram which shows the structure (digital watermark detection apparatus) by the digital watermark verification side which implements the digital watermark detection method based on 12th Embodiment of 3rd invention. 第3の発明の第12の実施形態に係る電子透かし埋め込み方法の説明図である。It is explanatory drawing of the digital watermark embedding method based on 12th Embodiment of 3rd invention. 第3の発明の第12の実施形態に係る電子透かし埋め込み方法の他の例の説明図である。It is explanatory drawing of the other example of the electronic watermark embedding method based on 12th Embodiment of 3rd invention. ビットプレーンの概念の説明図である。It is explanatory drawing of the concept of a bit plane. ビットマップ画像にフラジャイル電子透かしを埋め込む動作の説明図である。It is explanatory drawing of the operation | movement which embeds a fragile digital watermark in a bitmap image. フラジャイル電子透かしを検証する動作の説明図である。It is explanatory drawing of the operation | movement which verifies a fragile electronic watermark. 周波数空間上の係数を符号化する構成を示すブロック図である。It is a block diagram which shows the structure which encodes the coefficient on frequency space. 一つのビットプレーンに対して1種類の符号化パスが生成される場合の算術符号化を示す説明図である。It is explanatory drawing which shows arithmetic coding in case one kind of encoding pass is produced | generated with respect to one bit plane. 一つのビットプレーンに対して3種類の符号化パスが生成される場合の算術符号化を示す説明図である。It is explanatory drawing which shows arithmetic coding in case three types of encoding passes are produced | generated with respect to one bit plane. ビットプレーン番号‘2’以下のビットプレーンが打ち切られ、ビットプレーン番号‘3’のビットプレーンに電子透かしが埋め込まれる場合を示す説明図である。FIG. 10 is an explanatory diagram illustrating a case where a bit plane with a bit plane number “2” or less is cut off and a digital watermark is embedded in a bit plane with a bit plane number “3”. (a)は、復号の際に、打ち切られたビットプレーンをすべて「0」とした場合を示す説明図であり、(b)は、復号の際に、打ち切られたビットプレーンの最上位ビットプレーンが非0係数である場合を示す説明図である。(A) is explanatory drawing which shows the case where all the bit planes which were aborted at the time of decoding are set to “0”, and (b) is the most significant bit plane of the bit plane which was aborted at the time of decoding. It is explanatory drawing which shows the case where is a non-zero coefficient. 情報の埋め込みに適した領域と適していない領域を示す説明図である。It is explanatory drawing which shows the area | region suitable for embedding information, and the area | region which is not suitable.

符号の説明Explanation of symbols

1011 周波数変換手段、
1012 ビットプレーン符号化パス生成手段、
1012A ビットプレーン符号化パス生成手段、
1013 算術符号化手段、
1013A 算術符号化手段、
1014 レート制御手段、
1015 符号化パス制御手段、
1016 無効符号化パス打ち切り手段、
1017 符号化器リセット手段、
1018 符号化器内部状態記憶手段、
1019 制御条件付きレート制御手段、
1021 変換係数記憶手段、
1031 復号手段、
1101 署名生成手段、
1102 署名埋め込み手段、
1201 署名抽出手段、
1202 署名生成手段、
1203 署名比較手段、
2102 ID情報埋め込み手段、
2104 データ埋め込み手段、
2106 署名生成情報埋め込み手段、
2108 署名生成手段、
2110 署名埋め込み手段、
2112 乱数生成手段、
2202 ID情報抽出手段、
2204 データ抽出手段、
2206 署名抽出手段、
2208 署名生成情報抽出手段、
2210 署名生成手段、
2212 署名比較手段、
3050 カラー変換手段、
3051 ウェーブレット変換手段、
3052 量子化手段、
3053 符号化手段、
3054 タイル分割手段、
3100 ブロック化手段、
3101 上位ビットプレーン評価手段、
3102 ブロック判定手段、
3103 埋め込み手段、
3104 ゼロブロックマーキング手段、
3200 ブロック化手段、
3201 上位ビットプレーン評価手段、
3202 ブロック判定手段、
3203 抽出手段、
3204 復号手段、
3301 埋め込み係数決定手段、
3302 埋め込み位置記憶手段、
3311 埋め込み係数決定手段、
3312 埋め込み位置記憶手段。
1011 frequency conversion means,
1012 bit plane coding pass generation means;
1012A bit plane coding pass generation means,
1013 arithmetic coding means,
1013A arithmetic coding means,
1014 rate control means;
1015 encoding path control means;
1016 Invalid encoding pass truncation means,
1017 Encoder resetting means;
1018 encoder internal state storage means;
1019 Rate control means with control conditions;
1021 conversion coefficient storage means,
1031 decryption means;
1101 Signature generation means,
1102 signature embedding means,
1201 signature extraction means;
1202 signature generation means,
1203 signature comparison means,
2102 ID information embedding means,
2104 data embedding means,
2106 signature generation information embedding means,
2108 signature generation means,
2110 signature embedding means,
2112 random number generation means,
2202 ID information extraction means,
2204 data extraction means,
2206 signature extraction means,
2208 signature generation information extraction means,
2210 signature generation means,
2212 signature comparison means;
3050 color conversion means,
3051 wavelet transform means;
3052 quantization means,
3053 encoding means,
3054 tile dividing means;
3100 blocking means,
3101: upper bit plane evaluation means,
3102 block determination means,
3103 embedding means,
3104 zero block marking means,
3200 blocking means,
3201 Upper bit plane evaluation means,
3202 block determination means,
3203 extraction means,
3204 decryption means,
3301 Embedding coefficient determination means,
3302 embedded position storage means;
3311 Embedding coefficient determining means,
3312 Embedding position storage means.

Claims (12)

電子透かし埋め込み側の構成によって画像データに対して実行される電子透かし埋め込み方法であって、
入力画像データに対して情報を埋め込むビットプレーンが指定され、この情報を埋め込むビットプレーンよりも上位のビットプレーンのデータを評価し、この評価結果に基づいて情報を埋め込む位置の順番を示すラベリングを行うステップと、
前記ラベリングによって示された順番に従って、前記入力画像データに、埋め込みデータを埋め込むステップと
を有することを特徴とする電子透かし埋め込み方法。
An electronic watermark embedding method executed on image data by a configuration of an electronic watermark embedding side,
A bit plane for embedding information is specified for the input image data, data of a bit plane higher than the bit plane for embedding this information is evaluated, and labeling indicating the order of positions where information is embedded is performed based on the evaluation result. Steps,
And embedding embedded data in the input image data in the order indicated by the labeling.
電子透かし検証側の構成によって画像データに対して実行される電子透かし検出方法であって、
前記請求項1に記載の電子透かし埋め込み方法によってデータが埋め込まれた画像データを受信するステップと、
前記受信した画像データに対して情報を抽出するビットプレーンが指定され、この指定されたビットプレーンよりも上位のビットプレーンのデータを評価し、この評価結果に基づいて情報が埋め込まれた位置の順番を示すラベリングを行うステップと、
前記ラベリングによって示された順番に従って、前記受信した画像データから埋め込みデータを抽出するステップと
を有することを特徴とする電子透かし検出方法。
A digital watermark detection method executed on image data by a configuration on a digital watermark verification side,
Receiving the image data embedded with the digital watermark embedding method according to claim 1;
A bit plane from which information is extracted is specified for the received image data, the data of the bit plane higher than the specified bit plane is evaluated, and the order of the positions where the information is embedded based on the evaluation result Performing a labeling indicating
And a step of extracting embedded data from the received image data in the order indicated by the labeling.
電子透かし埋め込み側の構成によって画像データに対して実行される電子透かし埋め込み方法であって、
入力画像データを複数のブロックに分けるステップと、
指定されたビットプレーンをブロック単位に走査し、ビットプレーンのデータがすべて0であるオール0ブロックを特定するステップと、
前記入力画像データに、埋め込みデータを埋め込むステップとをさらに有し、
前記埋め込みデータを埋め込むステップにおいて、前記オール0ブロック以外のブロックにデータを埋め込む
ことを特徴とする請求項1に記載の電子透かし埋め込み方法。
An electronic watermark embedding method executed on image data by a configuration of an electronic watermark embedding side,
Dividing the input image data into a plurality of blocks;
Scanning the designated bit plane in units of blocks and identifying all 0 blocks in which all of the bit plane data is 0;
Embedding embedded data in the input image data,
The digital watermark embedding method according to claim 1, wherein in the step of embedding the embedded data, the data is embedded in a block other than the all 0 block.
電子透かし検証側の構成によって画像データに対して実行される電子透かし検出方法であって、
前記請求項3に記載の電子透かし埋め込み方法によってデータが埋め込まれた画像データを受信するステップと、
入力画像データを複数のブロックに分けるステップと、
指定されたビットプレーンをブロック単位に走査し、ビットプレーンのデータがすべて0であるオール0ブロックを特定するステップと、
前記受信した画像データに対して情報を抽出するビットプレーンが指定され、この指定されたビットプレーンよりも上位のビットプレーンのデータを評価し、この評価結果に基づいて情報が埋め込まれた位置の順番を示すラベリングを行うステップと、
前記ラベリングによって示された順番に従って、前記受信した画像データから埋め込みデータを抽出するステップとを有し、
前記データを抽出するステップにおいて、前記オール0ブロック以外のブロックからデータを抽出する
ことを特徴とする電子透かし検出方法。
A digital watermark detection method executed on image data by a configuration on a digital watermark verification side,
Receiving image data in which data is embedded by the digital watermark embedding method according to claim 3;
Dividing the input image data into a plurality of blocks;
Scanning the designated bit plane in units of blocks and identifying all 0 blocks in which all of the bit plane data is 0;
A bit plane from which information is extracted is specified for the received image data, the data of the bit plane higher than the specified bit plane is evaluated, and the order of the positions where the information is embedded based on the evaluation result Performing a labeling indicating
Extracting embedded data from the received image data according to the order indicated by the labeling;
In the step of extracting the data, data is extracted from a block other than the all-zero block.
電子透かし埋め込み側の構成によって画像データに対して実行される電子透かし埋め込み方法であって、
入力画像データに対して情報を埋め込むビットプレーンが指定され、情報を埋め込む位置を特定するステップと、
前記埋め込み位置を記憶するステップと、
前記情報を埋め込む位置よりも下位のビットプレーンに、メッセージ情報を埋め込むステップと
を有することを特徴とする電子透かし埋め込み方法。
An electronic watermark embedding method executed on image data by a configuration of an electronic watermark embedding side,
A bit plane for embedding information in the input image data is specified, and a step of identifying a position where the information is embedded;
Storing the embedding position;
Embedding message information in a bit plane lower than the position where the information is embedded.
電子透かし検証側の構成によって画像データに対して実行される電子透かし検出方法であって、
前記請求項5に記載の電子透かし埋め込み方法によってデータが埋め込まれた画像データを受信するステップと、
この受信した画像データに対して情報を埋め込むビットプレーンが指定され、情報を埋め込む位置を特定するステップと、
前記埋め込み位置を記憶するステップと、
前記情報を埋め込む位置よりも下位のビットプレーンからメッセージ情報を抽出するステップと
を有することを特徴とする電子透かし検出方法。
A digital watermark detection method executed on image data by a configuration on a digital watermark verification side,
Receiving the image data embedded with the digital watermark embedding method according to claim 5;
A step of designating a bit plane in which information is embedded in the received image data and specifying a position in which the information is embedded;
Storing the embedding position;
Extracting the message information from a bit plane lower than the position where the information is embedded.
画像データに対して電子透かしを埋め込む電子透かし埋め込み装置であって、
入力画像データに対して情報を埋め込むビットプレーンが指定され、この情報を埋め込むビットプレーンよりも上位のビットプレーンのデータを評価し、この評価結果に基づいて情報を埋め込む位置の順番を示すラベリングを行う第1の上位ビットプレーン評価手段と、
前記ラベリングによって示された順番に従って、前記入力画像データに、埋め込みデータを埋め込む埋め込み手段と
を有することを特徴とする電子透かし埋め込み装置。
An electronic watermark embedding device for embedding an electronic watermark into image data,
A bit plane for embedding information is specified for the input image data, data of a bit plane higher than the bit plane for embedding this information is evaluated, and labeling indicating the order of positions where information is embedded is performed based on the evaluation result. First upper bit plane evaluation means;
An electronic watermark embedding apparatus comprising: embedding means for embedding embedded data in the input image data in the order indicated by the labeling.
画像データから電子透かしを検出する電子透かし検出装置であって、
前記請求項7に記載の電子透かし埋め込み装置によってデータが埋め込まれた画像データを受信する手段と、
前記受信した画像データに対して情報を抽出するビットプレーンが指定され、この指定されたビットプレーンよりも上位のビットプレーンのデータを評価し、この評価結果に基づいて情報が埋め込まれた位置の順番を示すラベリングを行う第2の上位ビットプレーン評価手段と、
前記ラベリングによって示された順番に従って、前記受信した画像データから埋め込みデータを抽出する抽出手段と
を有することを特徴とする電子透かし検出装置。
An electronic watermark detection apparatus for detecting an electronic watermark from image data,
Means for receiving image data in which data is embedded by the digital watermark embedding device according to claim 7;
A bit plane from which information is extracted is specified for the received image data, the data of the bit plane higher than the specified bit plane is evaluated, and the order of the positions where the information is embedded based on the evaluation result Second higher-order bit plane evaluation means for performing labeling indicating
An electronic watermark detection apparatus comprising: extraction means for extracting embedded data from the received image data in the order indicated by the labeling.
画像データに対して電子透かしを埋め込む電子透かし埋め込み装置であって、
入力画像データを複数のブロックに分けるブロック化手段と、
指定されたビットプレーンをブロック単位に走査し、ビットプレーンのデータがすべて0であるオール0ブロックを特定するブロック判定手段と、
前記入力画像データに、埋め込みデータを埋め込む手段とを有し、
前記埋め込む手段がオール0ブロック以外のブロックにデータを埋め込む
ことを特徴とする請求項7に記載の電子透かし埋め込み装置。
An electronic watermark embedding device for embedding an electronic watermark into image data,
Blocking means for dividing input image data into a plurality of blocks,
A block determination unit that scans a designated bit plane in units of blocks and identifies all 0 blocks in which all the data of the bit plane is 0;
Means for embedding embedded data in the input image data,
The digital watermark embedding apparatus according to claim 7, wherein the embedding unit embeds data in a block other than all 0 blocks.
画像データから電子透かしを検出する電子透かし検出装置であって、
前記請求項9に記載の電子透かし埋め込み装置によってデータが埋め込まれた画像データを受信し、入力画像データを複数のブロックに分けるブロック化手段と、
指定されたビットプレーンをブロック単位に走査し、ビットプレーンのデータがすべて0であるオール0ブロックを特定するブロック判定手段と、
前記受信した画像データに対して情報を抽出するビットプレーンが指定され、この指定されたビットプレーンよりも上位のビットプレーンのデータを評価し、この評価結果に基づいて情報が埋め込まれた位置の順番を示すラベリングを行う第2の上位ビットプレーン評価手段と、
前記ラベリングによって示された順番に従って、前記受信した画像データから埋め込みデータを抽出する抽出手段とを有し、
前記抽出手段において、前記オール0ブロック以外のブロックからデータを抽出する
ことを特徴とする電子透かし検出装置。
An electronic watermark detection apparatus for detecting an electronic watermark from image data,
Blocking means for receiving image data in which data is embedded by the digital watermark embedding device according to claim 9, and dividing the input image data into a plurality of blocks;
A block determination unit that scans a designated bit plane in units of blocks and identifies all 0 blocks in which all the data of the bit plane is 0;
A bit plane from which information is extracted is specified for the received image data, the data of the bit plane higher than the specified bit plane is evaluated, and the order of the positions where the information is embedded based on the evaluation result Second higher-order bit plane evaluation means for performing labeling indicating
Extracting means for extracting embedded data from the received image data according to the order indicated by the labeling;
The digital watermark detection apparatus characterized in that the extraction means extracts data from blocks other than the all-zero block.
画像データに対して電子透かしを埋め込む電子透かし埋め込み装置であって、
入力画像データに対して情報を埋め込むビットプレーンが指定され、情報を埋め込む位置を特定する埋め込み係数決定手段と、
前記埋め込み位置を記憶する埋め込み位置記憶手段と、
前記情報を埋め込む位置よりも下位のビットプレーンに、メッセージ情報を埋め込む埋め込み手段と
を有することを特徴とする電子透かし埋め込み装置。
An electronic watermark embedding device for embedding an electronic watermark into image data,
A bit plane for embedding information in the input image data is specified, and an embedding coefficient determination means for specifying a position where information is embedded;
An embedded position storage means for storing the embedded position;
An electronic watermark embedding apparatus comprising: embedding means for embedding message information in a bit plane lower than a position where the information is embedded.
画像データから電子透かしを検出する電子透かし検出装置であって、
前記請求項11に記載の電子透かし埋め込み装置によってデータが埋め込まれた画像データを受信し、この受信した画像データに対して情報を埋め込むビットプレーンが指定され、情報を埋め込む位置を特定する埋め込み係数決定手段と、
前記埋め込み位置を記憶する埋め込み位置記憶手段と、
前記情報を埋め込む位置よりも下位のビットプレーンからメッセージ情報を抽出する抽出手段と
を有することを特徴とする電子透かし検出装置。
An electronic watermark detection apparatus for detecting an electronic watermark from image data,
12. The image data in which data is embedded by the digital watermark embedding device according to claim 11 is received, a bit plane in which information is embedded is specified for the received image data, and an embedding coefficient determination for specifying a position in which the information is embedded is determined. Means,
An embedded position storage means for storing the embedded position;
An electronic watermark detection apparatus comprising: extraction means for extracting message information from a bit plane lower than a position where the information is embedded.
JP2008017440A 2008-01-29 2008-01-29 Digital watermark embedding method, digital watermark detection method, digital watermark embedding device, and digital watermark detection device Expired - Fee Related JP4834007B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008017440A JP4834007B2 (en) 2008-01-29 2008-01-29 Digital watermark embedding method, digital watermark detection method, digital watermark embedding device, and digital watermark detection device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008017440A JP4834007B2 (en) 2008-01-29 2008-01-29 Digital watermark embedding method, digital watermark detection method, digital watermark embedding device, and digital watermark detection device

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2003115254A Division JP4144416B2 (en) 2003-04-21 2003-04-21 Digital watermark embedding method, digital watermark detection method, digital watermark embedding device, and digital watermark detection device

Publications (2)

Publication Number Publication Date
JP2008113470A true JP2008113470A (en) 2008-05-15
JP4834007B2 JP4834007B2 (en) 2011-12-07

Family

ID=39445680

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008017440A Expired - Fee Related JP4834007B2 (en) 2008-01-29 2008-01-29 Digital watermark embedding method, digital watermark detection method, digital watermark embedding device, and digital watermark detection device

Country Status (1)

Country Link
JP (1) JP4834007B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111275602A (en) * 2020-01-16 2020-06-12 深圳市广道高新技术股份有限公司 Face image security protection method, system and storage medium

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001144932A (en) * 1999-11-11 2001-05-25 Canon Inc Image processor and its method
JP2002204357A (en) * 2000-12-28 2002-07-19 Nikon Corp Image decoder, image encoder and recording medium

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001144932A (en) * 1999-11-11 2001-05-25 Canon Inc Image processor and its method
JP2002204357A (en) * 2000-12-28 2002-07-19 Nikon Corp Image decoder, image encoder and recording medium

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111275602A (en) * 2020-01-16 2020-06-12 深圳市广道高新技术股份有限公司 Face image security protection method, system and storage medium
CN111275602B (en) * 2020-01-16 2023-06-30 深圳市广道数字技术股份有限公司 Face image security protection method, system and storage medium

Also Published As

Publication number Publication date
JP4834007B2 (en) 2011-12-07

Similar Documents

Publication Publication Date Title
Celik et al. Reversible data hiding
US7389420B2 (en) Content authentication and recovery using digital watermarks
EP2130173B1 (en) Modifying a coded bitstream
Yang et al. A contrast-sensitive reversible visible image watermarking technique
JP2009518945A (en) Watermark encoded content
JPH11284843A (en) Method and device for incorporating watermark in bit stream representation of digital image sequence
Kumar et al. Reversible data hiding: A contemporary survey of state-of-the-art, opportunities and challenges
JP4024153B2 (en) Digital watermark embedding method and encoding device and decoding device capable of using the method
JP4144416B2 (en) Digital watermark embedding method, digital watermark detection method, digital watermark embedding device, and digital watermark detection device
Tew et al. Multi-layer authentication scheme for HEVC video based on embedded statistics
JP2008283479A (en) Method, program and device for inserting reversible watermark data and image processing system
Akar et al. Data hiding in digital images using a partial optimization technique based on the classical LSB method
JP4834006B2 (en) Digital watermark embedding method, digital watermark detection method, digital watermark embedding device, and digital watermark detection device
JP2006081169A (en) Method and device for adding water mark to digital data
JP4218539B2 (en) Digital watermark embedding device, digital watermark detection device, digital watermark embedding method, and digital watermark detection method
JP4834007B2 (en) Digital watermark embedding method, digital watermark detection method, digital watermark embedding device, and digital watermark detection device
JP4821200B2 (en) Data conversion apparatus, data conversion method, data conversion program, and computer-readable recording medium on which data conversion program is recorded
Li et al. AMBTC based high payload data hiding with modulo-2 operation and Hamming code
Tew et al. HEVC video authentication using data embedding technique
EP1743296B1 (en) Watermarking a compressed information signal
Kuribayashi et al. Reversible watermark with large capacity based on the prediction error expansion
JP4144469B2 (en) Digital watermark verification apparatus and digital watermark verification method
JP4414328B2 (en) Image processing apparatus and image processing apparatus
EP1555630B1 (en) Watermarking of images
JP3566924B2 (en) Digital watermark embedding method, detection method, digital watermark embedding device, detection device, recording medium recording digital watermark embedding program, and recording medium recording detection program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080129

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110118

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20110303

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20110317

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110317

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20110317

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: 20110920

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110922

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4834007

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20140930

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees