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 PDFInfo
- 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
Links
Images
Abstract
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
ある符号化方法の一例では、周波数変換手段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
上記した例では、算術符号打ち切り点は、いずれかのビットプレーンの境界となるので、あるビットプレーンの一部の係数だけが圧縮後の算術符号データに含まれ、一部の係数が切り捨てられて、圧縮後の算術符号データに含まれないということはない。そのため、電子透かしを埋め込むときに、ある決められたビットプレーンに電子透かしを埋め込んでおき、そのビットプレーン以降に算術符号打ち切り点があれば、検証の際に、そのビットプレーンのすべてのデータを復号することができるので、すべての電子透かしを取り出すことができる。算術符号が行われる単位であるコードブロックごとに打ち切り点が異なっている場合も同様である。 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.
≪第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
また、図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
[電子透かし検証側の構成]
図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
[電子透かし埋め込み側の動作]
図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
ビットプレーン符号化パス生成部1012は、周波数変換手段1011で生成された変換係数を所定の大きさのコードブロック(Code-block)に分割し、各コードブロックごとにMSBからLSBに至る複数のビットプレーンに展開した上で、各ビットプレーンを符号化するための符号化パス(Coding pass)を予め決めておいたルールに応じて決定する。算術符号化手段1013は、ビットプレーン符号化パス生成手段1012で生成した符号化パスごとに算術符号化を行い、符号化(圧縮)されたデータを生成する。静止画像符号化標準であるJPEG2000を適用する場合は、周波数変換にはウェーブレット変換を用い、ウェーブレット変換係数の各ビットプレーンは前述の3種類の符号化パス(シグニフィカンスプロパゲーションパス、マグニチュードリファイメントパス、クリーンナップパス)で算術符号化する。
The bit plane encoding
レート制御手段1014は、算術符号化量が入力端子1003から入力された目標符号化量になるように、各コードブロックごとに算術符号化手段1013で得られた各符号化パスごとの算術符号化量をカウントし、目標符号化量に達した時点で、それ以降の符号化パスを切り捨てる。この処理により、各コードブロックにおける算術符号打ち切り点が求まり、圧縮後の算術符号化データに含まれる符号化パスが決まる(後述する図3(a)参照)。
The
符号化パス制御手段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-
また、レート制御手段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-
また、レート制御手段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-
コードブロックCB3(図3においてCode-block 3と表記する。)においては、図3(a)に示されるように、算術符号打ち切り点がビットプレーン境界にあるので、これを変更する必要はない。
In the code block CB3 (denoted as Code-
以上の処理によって、符号化パス制御後の各コードブロックにおける圧縮後の算術符号データに含まれる符号化パスの状態は図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
署名埋め込み手段1102は、変換係数記憶手段1021で保持されている変換係数に対して、署名生成手段1101から得られる署名データを埋め込む。埋め込み位置は、疑似ランダムシーケンスや、置換テーブルでスクランブルされた位置とすることもできる。
The
ビットプレーン符号化パス生成部1012Aは、署名埋め込み手段1102で得られた署名データが埋め込まれた変換係数に対して、ビットプレーン符号化パス生成部1012と同様の処理を行う。即ち、署名データが埋め込まれた変換係数に対して、所定の大きさのコードブロックに分割し、そのコードブロックごとにMSBからLSBに至る複数のビットプレーンに展開した上で、各ビットプレーンを符号化するため、符号化パスを予め決めておいたルールに応じて決定する。算術符号化手段1013Aは、ビットプレーン符号化パス生成手段1012Aで生成した符号化パスごとに符号化パス制御手段1015で変更した符号化パスまで算術符号化を行い、符号化(圧縮)されたデータを得る。署名データが埋め込まれ、符号化された係数は、出力端子1004を通して出力される。
The bit plane encoding
[電子透かし検証側の動作]
図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
署名抽出手段1201は、変換係数に埋め込まれた署名データを抽出する。抽出は、署名データ埋め込み時と同じ手法により埋め込み位置を決定し、埋め込んだ位置からデータを抽出することで行う。電子透かし埋め込み側でハッシュ値等を暗号化している場合、ここで暗号をデコードし、元のデータに戻し、署名比較手段1203へ渡す。
The
署名生成手段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
署名比較手段1203は、署名抽出手段1201により抽出された署名データと、署名生成手段1202により生成された署名データを比較し、この比較に基づいて、画像データの改ざんの有無を判定する。例えば、両方の署名データが一致した場合は改ざん無し、一致しない場合は改ざん有りと判定する。判定結果は、比較結果出力端子1007を通して出力される。
The
[第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
具体的には、無効符号化パス打ち切り手段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
[電子透かし埋め込み側の構成]
図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
[電子透かし埋め込み側の動作]
算術符号化手段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
算術符号化の各処理単位で独立に処理を行うためには、算術符号化用のコンテキストの初期化や内部レジスタの初期化を行う必要がある。また、符号化の終了時には、算術符号化用のレジスタから符号を吐き出す処理である終端処理を行う必要がある。第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
ビットプレーン符号化パス生成部1012Aは、署名埋め込み手段1102で得られた署名データが埋め込まれた変換係数に対して、ビットプレーン符号化パス生成部1012と同様の処理を行うが、符号化パス制御手段1015からの情報により、署名データを埋め込んでいないビットプレーンは、ビットの変更が行われないので、この処理をスキップする。また、同様に、算術符号化手段1013Aでも、符号化パス制御手段1015からの情報により、署名データを埋め込んでいないビットプレーンは、ビットの変更が行われないので、上記ビットプレーンの算術符号化は行わない。
The bit plane encoding
ただし、署名データを埋め込んだビットプレーンは、ビットが変更されているので、ビットプレーン符号化パス生成部1012Aでは、ビットプレーン符号化パス生成部1012と同様の処理が行われる。そして、その符号化パスに対しては、算術符号化手段1013Aで、算術符号化を行う。この際、符号化器内部リセット手段1017により、各ビットプレーンごとに前述の初期化/終端処理を行うことで、各ビットプレーンを独立に処理でき、署名データを埋め込んだビットプレーンのみの算術符号化が可能となる。
However, since the bit plane in which the signature data is embedded has changed bits, the bit plane encoding
その後、レート制御手段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
[電子透かし埋め込み側の構成]
図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
[電子透かし埋め込み側の動作]
算術符号化手段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
ビットプレーン符号化パス生成部1012Aで、署名埋め込み手段1102で得られた署名データが埋め込まれた変換係数に対して、ビットプレーン符号化パス生成部1012と同様の処理を行うが、符号化パス制御手段1015からの情報により、署名データを埋め込んでいないビットプレーンは、ビットの変更が行われないので、この処理をスキップする。また、同様に、算術符号化手段1013Aでも上記ビットプレーンの算術符号化は行わない。ただし、ビットプレーン符号化パス生成部1012Aは、署名データを埋め込んだビットプレーンに対しては、ビットが変更されているので、ビットプレーン符号化パス生成部1012と同様の処理を行う。そして、その符号化パスに対しては、算術符号化手段1013Aで、算術符号化を行う。この際、符号化器内部状態記憶手段1018により、保持されている符号化器の内部情報を用いて、符号化するビットプレーンを符号化した際と同じ内部情報を符号化器に設定してから、算術符号化の処理を行う。
The bit plane encoding
その後、レート制御手段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
[電子透かし埋め込み側の動作]
図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
署名生成手段1101は、周波数変換手段1011で得られた変換係数に対して、署名データを生成する。変換係数のうち生成した署名データを埋め込む係数を除く変換係数から署名データを求める。具体的には、埋め込みビットプレーン入力端子1005から入力された埋め込みビットプレーン以外と、そのビットプレーンのうち埋め込みに使用しないすべてのビットを用いて、SHA1等のハッシュ関数で得られたハッシュ値や、ハッシュ値をRSA等の暗号アルゴリズムで暗号化したもの、ハッシュ値の一部等を署名データとする。
The
署名埋め込み手段1102は、変換係数記憶手段1021で保持されている変換係数に対して、署名生成手段1101から得られる署名データを埋め込む。埋め込むビットプレーンは、埋め込みビットプレーン入力端子1005から入力されるビットプレーンである。埋め込み位置は、疑似ランダムシーケンスや、置換テーブルでスクランブルすることによって得られた位置とすることもできる。
The
ビットプレーン符号化パス生成部1012Aは、署名埋め込み手段1102で得られた署名データが埋め込まれた変換係数に対して、所定の大ささのコードブロックに分割し、そのコードブロックごとにMSBからLSBに至る複数のビットプレーンに展開した上で、各ビットプレーンを符号化するため、符号化パスを予め決めておいたルールに応じて決定する。算術符号化手段1013Aは、ビットプレーン符号化パス生成手段1012Aで生成した符号化パスごとに算術符号化を行い、符号化(圧縮)されたデータを得る。ビットプレーン符号化パス生成部1012A、算術符号化手段1013Aとも符号化パスの生成及びその算術符号化は、埋め込みビットプレーン入力端子1005から入力されるビットプレーンまで行えばよい。署名データが埋め込まれ、符号化された係数データは、出力端子1004を通して出力され、電子透かし検証側の構成に渡される。
The bit plane coding
[電子透かし検証側の構成及び動作]
第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
通常、レート制御において、算術符号打ち切り点は符号化(圧縮)された画像の画質が最適になるように符号化パスの境界で算術符号打ち切り点が決定される。しかし、制約条件付きレート制御手段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
即ち、算術符号打ち切り点をビットプレーン境界にするという条件で、目標符号量入力端子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
署名生成手段1101は、変換係数記憶手段1021で保持されている変換係数に対して、署名データを生成する。第1の実施形態と異なる点は、制約条件付きレート制御手段1019で求めた、署名データを埋め込むビットプレーンの情報を用いて署名データを生成することである。
The
算術符号化手段1013Aは、ビットプレーン符号化パス生成手段1012Aで生成した符号化パスごとに算術符号化を行う。第1の実施形態と異なる点は、制約条件付きレート制御手段1019で決定した符号化パスまでの算術符号化を行い、符号化(圧縮)されたデータを得ることである。上記以外の点について、第6の実施形態の電子透かし埋め込み側の動作は、第1の実施形態の電子透かし埋め込み側の動作と同じである。
The
[電子透かし検証側の構成及び動作]
第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
[電子透かし検証側の構成]
図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
[電子透かし埋め込み側の動作]
図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
ID情報埋め込み手段2102には、埋め込みビットプレーン入力端子2002を通して電子透かしが埋め込まれるビットプレーン番号が入力される。ID情報埋め込み手段2102は、入力されたビットプレーン番号のビットプレーンに、予め決めておいたID情報を埋め込む。電子透かしを埋め込むビットプレーンは、図11に示されるように、各コードブロックCB1〜CB8ごとに異なっていてもよい。図11の例では、コードブロックCB3において、電子透かしが埋め込まれるビットプレーン番号‘5’のビットプレーンに対して、N(bits)のID情報を埋め込んでいる。
The ID
ただし、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
なお、図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
また、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
[電子透かし検証側の動作]
図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
ID情報抽出手段2202では、各コードブロックの上位ビットプレーンから、ID情報埋め込み時と同じ手法によりID情報の埋め込み位置を決定し、埋め込んだ位置からID情報を抽出する。そして、抽出したID情報と埋め込んだID情報が一致するビットプレーンを求め、そのビットプレーンをデータが埋め込まれたビットプレーンである判定する。
The ID
ただし、上記説明はデータを埋め込むビットプレーンに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
[第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
[電子透かし検証側の構成]
図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
[電子透かし埋め込み側の動作]
図13に示されるように、乱数生成手段2112では、シード入力端子2008から、乱数を発生させるためのシードが入力され、乱数を生成する。ID情報埋め込み手段2102では、電子透かしを埋め込むビットプレーンにID情報を埋め込む際に、乱数生成手段2112で生成した乱数をID情報のビットパターンとして、ID情報を埋め込む。このように乱数を用いることにより、各コードブロックごとに異なるID情報が埋め込まれる。上記以外の点について、第8の実施形態における電子透かし埋め込み側の動作は、第7の実施形態における電子透かし埋め込み側の動作と同じである。
[Operation of digital watermark embedding]
As shown in FIG. 13, the random
[電子透かし検証側の動作]
図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
[第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
[電子透かし検証側の構成]
図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
[電子透かし埋め込み側の動作]
図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
ID情報埋め込み手段2102は、埋め込みビットプレーン入力端子2002から電子透かしが埋め込まれるビットプレーン番号が入力され、そのビットプレーンに予め決めておいたID情報を埋め込む。図17は、第9の実施形態に係る電子透かし埋め込み方法の説明図である。図17においては、電子透かしを埋め込むコードブロックは、コードブロック番号が偶数のコードブロックCB2,CB4,CB6,CB8のみであり、電子透かしを埋め込むビットプレーンは、各コードブロックごとで異なっていてもよい。図17の例では、コードブロックCB2において、電子透かしが埋め込まれるビットプレーン番号‘6’のビットプレーンに対して、N(bits)のID情報を埋め込んでいる。ただし、ID情報を埋め込んだ結果と全く同じビットパターンが、ID情報を埋め込んだビットプレーンより上位のビットプレーンに存在する場合は、第7の実施形態と同様な処理を施す。
The ID
署名生成情報埋め込み手段2106では、埋め込みビットプレーン入力端子2002から電子透かしが埋め込まれるビットプレーン番号が入力され、そのビットプレーンに、署名データを求める際にハッシュ生成の対象となった画像データがどの部分であったかを示す情報を埋め込む。
In the signature generation
具体的には、署名データの埋め込み対象ではないコードブロックにおいて、署名データを求める際にハッシュを生成する対象のデータがどの部分であったかを、電子透かしの検証側で署名データを求める際に識別するため、ハッシュ生成に用いた画像データのうち、最も下位のビットプレーン番号を埋め込み対象のビットプレーンに埋め込む。例えば、図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
署名埋め込み手段2110は、埋め込みビットプレーン入力端子2002から電子透かしが埋め込まれるビットプレーン番号が入力され、そのビットプレーンに署名生成手段2101から得られる署名データを埋め込む。図17の例では、コードブロックCB2において、電子透かしが埋め込まれるビットプレーン番号‘6’のビットプレーンに対して、既に埋め込まれたID情報、署名生成情報に引き続いて、M(bits)の署名データを埋め込んでいる。
The
なお、図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
[電子透かし検証例の動作]
図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
ID情報抽出手段2202は、電子透かしの埋め込み対象のコードブロックにおける上位ビットプレーンから、ID情報埋め込み時と同じ手法によりID情報の埋め込み位置を決定し、埋め込んだ位置からID情報を抽出する。そして、抽出したID情報と埋め込んだID情報が一致するビットプレーンを求め、そのビットプレーンを署名生成情報、署名データが埋め込まれたビットプレーンと判定する。
The ID
なお、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
署名生成情報抽出手段2208は、ID情報抽出手段2202で求めたビットプレーンから、画像データに埋め込まれた署名生成情報を抽出する。抽出には、署名生成情報の埋め込み時と同じ手法により埋め込み位置を決定し、埋め込んだ位置から、署名データを求める際にハッンュ生成で用いた画像データがどの部分であったかを示す情報を抽出することで行う。抽出した署名生成情報は、署名生成手段2210に渡す。
The signature generation
署名生成手段2210は、ID情報抽出手段2202と署名生成情報抽出手段2208から得られた情報を基に、電子透かし埋め込み側と同様の方法により画像データに対して署名データを生成する。即ち、署名データが埋め込まれているコードブロックに対しては、ID情報抽出手段2202で求めたビットプレーンに基づいて、署名データを求める際にハッシュ生成の対象となった画像データを決定でき、署名データが埋め込まれていないコードブロックに対しても、署名生成情報抽出手段2208で得られた情報(ハッシュ生成の対象となった画像データのうち最下位のビットプレーン番号)より、同じく署名データを求める際にハッシュ生成の対象となった画像データを決定できる。
Based on the information obtained from the ID
ただし、電子透かし埋め込み側で暗号化等を使用している場合、ここで暗号化を行う必要はなく、署名抽出手段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
署名比較手段2212では、署名抽出手段2206で抽出された署名データと、署名生成手段2210で生成された署名データとを比較する。例えば、両方の署名データが一致した場合は改ざん無し、一致しない場合は改ざん有りとし、その結果を比較結果出力端子2007を通して出力する。
The
[第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
図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,
[電子透かし検証側の動作]
図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
図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
入力端子3001へ入力される画像データは、ブロック化手段3100へ渡される。ブロック化手段3100では、入力された画像データを、M×Nサイズのブロックへ分割する。ピクセルデータへの電子透かしの場合は、M×Nピクセルのブロックとなり、また、周波数空間上での電子透かしの場合は、ウェーブレット変換やDCT後の係数空間上におけるM×N係数のブロックとなる。このブロックは、ピクセル空間上で同じ位置を示す、異なる周波数の係数群で構成してもよいし、ピクセル空間上で近い位置を示す、同じ周波数の係数群で構成してもよい。
The image data input to the
上位ビットプレーン評価手段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,
例えば、各画像データ単位に、埋め込みビットプレーン(例えば、図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
これを式で表現すると、以下のようになる。埋め込みビットプレーンより上位のビットプレーンのデータを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
図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
また、図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
以上のようにして得られた画質への影響の低い順を示すラベリングの順番に、署名データを画像データに埋め込み、署名データが埋め込まれた画像データが、画像データ出力端子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
[電子透かし検証側の動作]
図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
上位ビットプレーン評価手段3201は、抽出ビットプレーン入力端子3013から入力されたビットプレーン情報を用い、電子透かし埋め込み側の上位ビットプレーン評価手段3101(図18)と同じ方法で画像データのラベリングを行ない、ラベリング順に1係数から1ビットのメッセージを抽出する。メッセージ長をメッセージ先頭に埋め込んでいる場合は、メッセージ長を抽出してから、メッセージ本体を抽出する。抽出手段3203により抽出されたメッセージは、抽出結果出力端子3012を通して出力される。
The upper bit
[第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
[電子透かし検証側の構成]
図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
[電子透かし埋め込み側の動作]
図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
入力端子3001へ入力される画像データは、ブロック化手段3100へ渡される。ブロック化手段3100では、入力された画像データを、M×Nサイズのブロックへ分割する。ピクセルデータへの電子透かしの場合は、M×Nピクセルのブロックとなり、また、周波数空間上での電子透かしの場合は、ウェーブレット変換やDCT後の係数空間上におけるM×N係数のブロックとなる。このブロックは、ピクセル空間上で同じ位置を示す、異なる周波数の係数群で構成してもよいし、ピクセル空間上で近い位置を示す、同じ周波数の係数群で構成してもよい。
The image data input to the
ブロック判定手段3102は、埋め込みビットプレーン入力端子3003から入力されたデータにより指定されたビットプレーンをブロック単位に走査する。走査した結果、ビットプレーンのデータがすべて0(ゼロ)であるall0(オール0)ブロックをマークする。
The
上位ビットプレーン評価手段3101は、上位ビットプレーンを評価し、画質への影響の低い順に画像データに対しラベリングを行う。通常、平滑な領域(低周波数成分しかないような領域)に加えられる変更は、複雑な領域(高周波数成分が近傍にあるような領域)へ加えられる変更よりも知覚されやすいので、複雑な領域近辺に高い優先度を与えるようにラベリングを行う。ラベリングの方法は、上記第10の実施形態の場合と同様である。
The upper bit
埋め込み手段3103は、ブロック判定手段3102によってall0ブロックである判定されなかったブロックに属し、かつ、上位ビットプレーン評価手段3101によって、上位ビットプレーンに有意なデータがあるとされた画像データへのメッセージの埋め込みを行う。
The embedding
メッセージが、上記条件の画像データ数よりも多い場合、さらに、ブロック判定手段3102によってall0ブロックである判定されたブロックに属し、かつ、上位ビットプレーン評価手段3101によって、上位ビットプレーンに有意なデータがあるとされた画像データに対しても、メッセージの埋め込みを行う。メッセージの埋め込み位置は、メッセージを埋め込む前に予め決定しておく。
When the number of messages is larger than the number of image data under the above conditions, the
ゼロブロックマーキング手段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
図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
[電子透かし検証側の動作]
図26に示されるように、ブロック判定手段3202及び上位ビットプレーン評価手段3201は、電子透かし埋め込み側と同様の方法でブロックのマーキングを行う。抽出手段3203は、署名埋め込み側で埋め込み位置を決定したのと同じ方法で、画像データからメッセージを抽出する。
[Operation of digital watermark verification side]
As shown in FIG. 26, the
電子透かし埋め込み側では、ビットプレーンのデータが0のブロックへの埋め込みを避け、電子透かし検証側では、ビットプレーンのデータが0のブロックからの抽出を避けている。ゼロブロックマーキング手段3104は、メッセージの埋め込み位置を埋め込み側と検証側で同期させるため、ビッドプレーンのデータが0のブロックという状態が埋め込み側と検証側で変化しないために、マーキングを行う。第11の実施形態の電子透かし検証側の動作において、上記以外の点は、第10の実施形態の電子透かし検証側の動作と同様である。
On the digital watermark embedding side, embedding in a block with
[第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
[電子透かし検証側の構成]
図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
[電子透かし埋め込み側の動作]
図27に示されるように、埋め込み係数決定手段3301は、入力された埋め込みビットプレーン情報を元に、埋め込み位置を決定する。決定方法は、第10及び第11の実施形態の上位ビットプレーン評価手段3101(図18、図24)や、ブロック判定手段3102(図24)の方法を用いてもよい。
[Operation of digital watermark embedding]
As shown in FIG. 27, the embedding
埋め込み位置記憶手段3302は、埋め込み係数決定手段3301によって決定された埋め込み係数を記憶する。
The embedding
埋め込み手段3103は、埋め込みビットプレーン入力端子3003から入力されたビットプレーンで、埋め込み係数決定3301により決定された係数に対し、情報の埋め込みを行う。
The embedding
図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,
図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,
図29又は図30に示されるように、埋め込み係数決定手段3301により決定された係数で、かつ、実際に埋め込みに使用した係数を埋め込み位置記憶手段3302から取得し、埋め込みビットプレーンよりもLSB側のビットプレーンに、情報の埋め込みを行う。
As shown in FIG. 29 or FIG. 30, the coefficient determined by the embedding
電子透かしを埋め込んだビットプレーン以下の部分は、元の係数値との誤差値を最小にするように、すべて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
[電子透かし検証側の動作]
図28に示されるように、埋め込み係数決定手段3311は、入力された検出ビットプレーン情報を元に、埋め込まれた位置を決定する。決定方法は、第10の実施形態における上位ビットプレーン評価手段3201(図22)や、第11の実施形態におけるブロック判定手段3202(図26)の方法を用いてもよい。
[Operation of digital watermark verification side]
As shown in FIG. 28, the embedding
埋め込み位置記憶手段3312は、埋め込み係数決定手段3311によって決定された埋め込み係数を記憶する。
The embedding
抽出手段3203は、決定された係数に対し、情報の抽出を行う。また、埋め込み係数決定手段3311により決定された係数で、かつ、実際に抽出に使用した係数を埋め込み位置記憶手段3312から取得し、抽出ビットプレーンよりもLSB側のビットプレーンから、情報の抽出を行う(図29、図30参照)。第12の実施形態の電子透かし検証側の動作において、上記以外の点は、第10及び第11の実施形態の電子透かし検証側の動作と同様である。
The extracting
[第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.
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.
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)
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)
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 |
-
2008
- 2008-01-29 JP JP2008017440A patent/JP4834007B2/en not_active Expired - Fee Related
Patent Citations (2)
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)
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 |