JP2006186509A - Watermark system - Google Patents
Watermark system Download PDFInfo
- Publication number
- JP2006186509A JP2006186509A JP2004376004A JP2004376004A JP2006186509A JP 2006186509 A JP2006186509 A JP 2006186509A JP 2004376004 A JP2004376004 A JP 2004376004A JP 2004376004 A JP2004376004 A JP 2004376004A JP 2006186509 A JP2006186509 A JP 2006186509A
- Authority
- JP
- Japan
- Prior art keywords
- information
- error
- image
- embedding
- 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.)
- Pending
Links
Images
Landscapes
- Image Processing (AREA)
- Editing Of Facsimile Originals (AREA)
Abstract
Description
本発明は、画像に対して情報を埋め込む電子透かし技術において、電子透かし画像からの情報を読み出す際のエラーを低減するための技術に関する。 The present invention relates to a technique for reducing errors in reading information from a digital watermark image in a digital watermark technique for embedding information in an image.
従来、ディジタルデータを印刷記録する技術とし、バーコードやそれを進化させた2次元バーコードが広く知られ用いられている。これらのコードは明らかにデータが記録されている印刷部分が認知でき、見栄えが良くない。場合によってはディジタルデータが印刷されている部分を改竄する等の事も可能である。これらの技術に対して、一見、人間の目には認識できないような形式で付加する電子透かし技術がさかんに研究・開発されている。これらの技術の多くはディジタルデータを埋め込む対象画像をユーザーの目的や好みに応じて任意の写真や絵柄等にすることができる特徴がある。しかし、ディジタルデータを埋め込む場合、対象画像の画像の濃淡や色、急激な濃淡変化等、本来の対象画像とディジタルデータとの埋め込み印刷とが干渉しあい、ディジタルデータの記録再生過程においてエラーを発生する場合がある。 Conventionally, as a technique for printing and recording digital data, a barcode and an evolved two-dimensional barcode are widely known and used. These codes clearly recognize the printed part where the data is recorded and do not look good. In some cases, it is possible to tamper with a portion where digital data is printed. For these technologies, digital watermark technology that adds a format that cannot be recognized by human eyes at first glance has been researched and developed. Many of these techniques have the feature that the target image in which the digital data is embedded can be made into an arbitrary photograph or picture according to the purpose and preference of the user. However, when embedding digital data, the embedding printing of the original target image and the digital data interferes with each other, such as the density and color of the image of the target image, and a sudden change in density, and an error occurs in the recording and reproduction process of the digital data. There is a case.
例えば、本出願人は、特許文献1においてディジタルデータの埋め込み方法を提案している。この手法では、埋め込むべきディジタルデータの「0」と「1」の各符号に対して互いに異なるパターン画像を割り当て、そのパターン画像を符号列とパターン画像の配列規則とに従って配列することにより埋め込み画像を形成し、この埋め込み画像を対象となる画像データに重畳することでデータを埋め込む。個々のパターン画像は、
(a)双方のパターン画像の対応する画素同士を加算した結果は、いずれも同じ所定値(例えば「0」)になる、
(b)各々のパターン画像中の全画素を加算した結果は、いずれも同じ所定値(例えば「0」)になる、
(c)各々のパターン画像は、画像の中心部を通り、その方向が異なる、画素値の不連続線(エッジと呼ぶ)を有する。エッジの方向は、例えば垂直線及び水平線に沿った方向とすることができる、
(d)各々のパターン画像の持つ画素値の絶対値は中心でもっとも大きく、中心から離れるほど小さくなる、
という特徴を有している。
For example, the present applicant has proposed a digital data embedding method in
(A) The result of adding the corresponding pixels of both pattern images is the same predetermined value (for example, “0”).
(B) The result of adding all the pixels in each pattern image is the same predetermined value (for example, “0”).
(C) Each pattern image has a discontinuous line (referred to as an edge) of pixel values passing through the center of the image and having different directions. The direction of the edge can be, for example, a direction along a vertical line and a horizontal line,
(D) The absolute value of the pixel value of each pattern image is the largest at the center and decreases as the distance from the center increases.
It has the characteristics.
このような特徴を持った、エッジの方向を水平及び垂直としたパターン画像の一例を図10に示す。図10においては、例えばパターン(A)が符号「0」、パターン(B)が符号「1」を示す。 FIG. 10 shows an example of a pattern image having such features and having the edge directions horizontal and vertical. In FIG. 10, for example, the pattern (A) indicates the code “0”, and the pattern (B) indicates the code “1”.
このように面積を持ったパターンによって符号を表現することで各画質劣化要因に対する耐性を獲得する一方、合成後に画像の濃度が大きく変化することが防止され((a),(b)の特徴による)、パターン画像の検出が容易で復号処理が簡便となり((b),(c)の特徴による)、かつパターン同士の間でのエッジの発生が防止されて((d)の特徴による)、その存在が視覚的に目立たないようになる。このエッジは、復号時のパターン周期の推定等に用いられる。 In this way, by expressing the code by a pattern having an area, the resistance to each image quality deterioration factor is acquired, while the density of the image is prevented from changing greatly after composition (depending on the characteristics of (a) and (b)). ), The detection of the pattern image is easy and the decoding process is simplified (according to the characteristics of (b) and (c)), and the occurrence of an edge between the patterns is prevented (according to the characteristics of (d)). Its presence becomes visually inconspicuous. This edge is used for estimation of a pattern period at the time of decoding.
このパターン画像を合成した画像を、復号する際は、パターン画像内のエッジによって仕切られた各象限に相当する合成後の画素値の和(第1から第4象限についてR1からR4)を算出し、例えば、R1>R2かつR1>R4かつR3>R2かつR3>R4の場合に符号「1」であると判定する。すなわち、各象限ごとの画素値群の和の比較によって復号を行うことができる。 When decoding an image obtained by synthesizing this pattern image, a sum of pixel values after synthesis corresponding to each quadrant divided by edges in the pattern image (R1 to R4 for the first to fourth quadrants) is calculated. For example, when R1> R2 and R1> R4 and R3> R2 and R3> R4, it is determined that the code is “1”. That is, decoding can be performed by comparing the sum of pixel value groups for each quadrant.
特許文献1のように、各符号のパターン画像内にエッジができ、このエッジを復号に用いるデータ埋め込み方式の場合、埋め込み対象の画像の濃淡変化が急激な部分に重なって印刷されたディジタルデータの情報は読み取りエラー(再生エラー)を起こしやすいという性質がある。例えばエッジの方向が水平及び垂直である図10のようなパターン画像を用いる場合、パターン画像は対角線方向に沿った特徴を持つので、埋め込み対象画像の中に濃淡変化が斜め方向に顕著な部分がある場合、その部分重畳されたパターン画像は復号しづらくなる。
In the case of a data embedding method in which an edge is formed in a pattern image of each code as in
このようにディジタルデータを電子透かし技術により対象画像に埋め込むする場合、埋め込む対象画像とディジタルデータとが干渉し、読み取りエラーを招くことがあり、信頼性の高いディジタルデータの記録再生を行う装置を実現するためには、これらの読み取りエラーを排除する必要がある。 In this way, when digital data is embedded in a target image using digital watermark technology, the target image and digital data may interfere with each other, resulting in a reading error, and a device for recording and reproducing highly reliable digital data is realized. In order to do this, it is necessary to eliminate these reading errors.
本発明は、電子透かしによる情報埋め込みにおいて、埋め込んだ情報の読み取りエラーの低減のための技術を提供する。 The present invention provides a technique for reducing errors in reading embedded information in information embedding using a digital watermark.
本発明に係る電子透かしシステムは、情報埋め込み側装置と情報読み取り側装置とを備える電子透かしシステムであって、前記情報埋め込み側装置は、埋め込み対象画像に対して付加情報を埋め込んで電子透かし画像を生成するエンコード手段と、前記付加情報のデータ配列において、電子透かし画像からそのデータ配列を抽出する際に誤認識されやすい部分を検出し、その部分を示すエラーマップ情報を生成するエラーマップ生成手段と、を備え、前記情報読み取り側装置は、前記電子透かし画像に埋め込まれたデータ配列を抽出するデータ抽出手段と、抽出されたデータ配列を前記エラーマップ情報に基づき処理することにより前記付加情報を求めるデコード手段とを備える。 An electronic watermarking system according to the present invention is an electronic watermarking system including an information embedding device and an information reading device, and the information embedding device embeds additional information in an embedding target image and displays the electronic watermark image. Encoding means for generating; and error map generating means for detecting a portion that is likely to be erroneously recognized when extracting the data array from the digital watermark image in the data array of the additional information, and generating error map information indicating the part; The information reading side device obtains the additional information by processing the extracted data array based on the error map information, and a data extracting means for extracting the data array embedded in the digital watermark image Decoding means.
なお、エラーマップ情報は、付加情報のデータ配列において、電子透かし画像からそのデータ配列を抽出する際に誤認識されやすい部分を示す情報であるが、これは誤認識されにくい部分を示す情報と原理的に等価である。 The error map information is information indicating a portion that is easily misrecognized when the data sequence is extracted from the digital watermark image in the data sequence of the additional information. Are equivalent.
好適な態様では、前記エラーマップ生成手段は、テスト用データ配列をランダムに生成するテストデータ生成手段と、前記テスト用データ配列を前記埋め込み対象画像に埋め込んでテスト用電子透かし画像を生成するエンコードシミュレーション手段と、前記テスト用電子透かし画像に埋め込まれたデータ配列を抽出し、該データ配列を前記テスト用データ配列と比較することで、抽出時に誤認識が生じた部分を求めるデコードシミュレーション手段と、を備え、ランダムに生成された各テスト用データ配列について、前記エンコードシミュレーション手段及び前記デコードシミュレーション手段に処理を行わせて前記誤認識が生じた部分を求めて記録し、前記誤認識が生じた部分として検出された回数が所定数を超える部分を前記誤認識されやすい部分として抽出する。 In a preferred aspect, the error map generation means includes test data generation means for randomly generating a test data array, and encoding simulation for generating a test digital watermark image by embedding the test data array in the embedding target image. And a decoding simulation means for extracting a data array embedded in the test digital watermark image and comparing the data array with the test data array to obtain a portion in which erroneous recognition occurred during extraction. For each test data array generated at random, let the encode simulation means and the decode simulation means perform processing to obtain and record the portion where the misrecognition occurred, as a portion where the misrecognition occurred A portion where the number of detected times exceeds a predetermined number is erroneously recognized. It is extracted as the easy part.
以下、図面を参照して、本発明を実施するための最良の形態(以下「実施形態」と呼ぶ)について説明する。 The best mode for carrying out the present invention (hereinafter referred to as “embodiment”) will be described below with reference to the drawings.
電子透かしの方式には、画像の空間上でデータを埋め込む方式と、画像を周波数空間へと変換した上でデータを埋め込む方式とがある。 As a digital watermarking method, there are a method of embedding data in an image space and a method of embedding data after converting an image into a frequency space.
前者は、図1に示すように付加情報の埋め込み先となる埋め込み対象画像のプレーン1と、付加情報を表す付加画像のプレーン2との間で、画素ごと、或いはブロックごとに乗算、加算、あるいはその他の演算を行うことで、合成画像データ(情報埋め込み済みの画像)を得るものである。特許文献1に示した方式はこの一例である。この方式は、埋め込み対象画像プレーン1の性質によって付加画像プレーン2の特定の位置に誤りが発生しやすい性質がある。すなわち、埋め込み対象画像中には、埋め込むべき付加画像と干渉しやすい性質を持った場所が存在する場合があり、このような場所に埋め込まれた情報は、正しく読み取れない可能性が高い。
As shown in FIG. 1, the former is a multiplication or addition for each pixel or each block between the
また、同様に周波数空間上で埋め込み対象画像プレーンと付加画像プレーンを重ねあわせる後者の方法においても、同様に埋め込み対象画像との干渉により、埋め込む情報の特定のビット位置に誤りが発生しやすい性質がある。 Similarly, in the latter method of superimposing the embedding target image plane and the additional image plane in the frequency space, there is also a property that an error is likely to occur in a specific bit position of the embedded information due to interference with the embedding target image. is there.
本実施形態では、このような性質に鑑み、予め読み取りエラーが発生しやすい位置(すなわち埋め込んだビット値とは違うビット値が読み取られる傾向が強い位置)を検出してエラー位置情報を生成し、これをエンコーダ側とデコーダ側で利用することにより、復号誤りの低減を図る。 In the present embodiment, in view of such properties, a position where a read error is likely to occur in advance (that is, a position where a bit value different from the embedded bit value is likely to be read) is detected, and error position information is generated. By using this on the encoder side and decoder side, decoding errors are reduced.
図2は、このような考えに従った電子透かしシステムのシステム構成図である。図示のように、このシステムは、情報埋め込み側装置10と、エラー情報管理装置20と、情報読み取り側装置30とから構成される。
FIG. 2 is a system configuration diagram of a digital watermark system according to such an idea. As shown in the figure, this system includes an information
情報埋め込み側装置10は、埋め込み対象画像に対し付加情報を埋め込む処理を行う装置であり、エンコーダ12、エラーマップ生成部14及び画像出力部16を備えている。
The information
エンコーダ12は、付加情報を符号化して埋め込み対象画像に埋め込む手段である。このエンコーダ12としては、例えば特許文献1に示したようなものなど、従来の様々な電子透かし方式のエンコーダを用いることが出来る。なお、1つの好適な実施例では、エンコーダ12は、従来公知のエンコーダが行うデータ埋め込み処理(基本処理と呼ぶ)に加え、更に、エラーマップ生成部14が求めるエラーマップを利用して読み取りエラーが生じ難い場所に付加情報を埋め込むという追加処理を持つようにすることも出来る。この追加処理の詳細は後述する。なお、エンコーダ12がエラーマップを利用することは必須のことではなく、エンコーダ12がエラーマップを使用しない場合の処理方式の例についても後で説明する。
The
エラーマップ生成部14は、埋め込み対象画像の中で、その画像に埋め込んだ付加情報の読み取りエラーが発生しやすい場所を検出するための手段である。一般に画像へのデータ埋め込みにおいては、埋め込み対象画像の各画素、或いはその画像を所定サイズの矩形領域に分割して出来た各ブロックに対し、ラスタ走査順序等のように、あらかじめ決まった順序で付加情報の各ビットを埋め込んでいく。したがって、エラーマップ生成部14は、埋め込むべき付加情報のビット配列において、読み取りエラーが起こりやすいビット位置を検出する手段と捉えることも出来る。本実施形態のエラーマップ生成部14は、テスト用の付加情報としてランダムなビット列を生成し、これを与えられた埋め込み対象画像に埋め込んで読み取るというシミュレーションを繰り返すことで、埋め込み対象画像における読み取りエラーを誘発しやすい位置、すなわち付加情報ビット配列において読み取りエラーが生じやすいビット位置を求め、これらエラーを生じやすい位置のマップ(エラーマップ情報)を生成する。このようにランダムなテストデータを多数用いて統計的にエラーの生じやすい位置を求めることにより、例えばチケットや役所が発行する証明書などのように、1枚ずつ異なる多くの識別番号や通し番号等を同じ絵柄(埋め込み対象画像)に埋め込む場合にうまく対応することが出来る。エラーマップ生成部14の内部構成や詳細な処理内容は後述する。 The error map generation unit 14 is a means for detecting a place where an error in reading additional information embedded in the image is likely to occur in the embedding target image. In general, when embedding data in an image, each pixel of the embedding target image or each block formed by dividing the image into rectangular areas of a predetermined size is added in a predetermined order such as a raster scanning order. Embed each bit of information. Therefore, the error map generation unit 14 can also be regarded as means for detecting a bit position where a read error is likely to occur in the bit array of the additional information to be embedded. The error map generation unit 14 according to the present embodiment generates a random bit string as additional information for testing, and repeats a simulation of embedding it in a given embedding target image to read out a reading error in the embedding target image. A position where an error is likely to occur, that is, a bit position where a reading error is likely to occur in the additional information bit array is obtained, and a map (error map information) of the position where such an error is likely to occur is generated. In this way, by using a lot of random test data to obtain a statistically error-prone position, a number of different identification numbers and serial numbers, etc., such as tickets and certificates issued by government offices, can be obtained. It can cope well when embedding in the same pattern (embedding target image). The internal configuration and detailed processing contents of the error map generator 14 will be described later.
エラー情報管理装置20は、情報埋め込み側装置10が生成したエラーマップ情報を保持管理し、情報読み取り側装置30に対し提供する。エラー情報管理装置20は、例えば、インターネットやイントラネットその他のデータ通信ネットワークを介して情報埋め込み側装置10及び情報読み取り側装置30と通信可能となっている。
The error
情報埋め込み側装置10のエラーマップ生成部14は、作成したエラーマップ情報を、そのエラーマップの対象である埋め込み対象画像を一意に示す埋め込み対象画像ID(識別情報)と共に、エラー情報管理装置20に登録する。エラー情報管理装置20は、この埋め込み対象画像IDとエラーマップ情報とを対応づけ、例えばこれらの組をテーブルに登録して管理する。エラー管理装置20は、情報読み取り側装置30からエラーマップ情報の要求を受け取ると、その要求の中で指定された埋め込み対象画像IDを求め、その埋め込み対象画像IDに対応するエラーマップ情報を返す。なお、埋め込み対象画像IDは、エラーマップ生成部14が付与するようにしてもよいし、エラー情報管理装置20が付与し、エラーマップ生成部14に通知するようにしてもよい。
The error map generation unit 14 of the
また、エラーマップ生成部14は、埋め込み対象画像IDをエンコーダ12に伝える。エンコーダ12は、その埋め込み対象画像IDを、付加情報と共に埋め込み対象画像中に埋め込んでもよいし、或いは埋め込み結果の画像に対して可視の数字或いは記号の列として組み込んでもよい。いずれにしても、情報読み取り側装置30でその埋め込み対象画像IDが読み取れる方式で、埋め込み対象画像IDを画像中に組み込む。
Further, the error map generation unit 14 notifies the
画像出力部16は、このようにしてエンコーダ12が生成した情報埋め込み済み画像100を出力する。ここでの画像出力の形式は、用紙等の媒体に印刷する場合もあれば、電子的な画像ファイルとして出力する場合もある。
The
このように生成された情報埋め込み済み画像100を読み取る情報読み取り側装置30では、画像入力部32が、その情報埋め込み済み画像100を読み取る。情報埋め込み済み画像100が用紙に印刷されている場合は画像入力部32はそれを光学的に読み取るスキャナであり、情報埋め込み済み画像100がファイルとして入力される場合は画像入力部32は画像ファイルを開くソフトウエアである。
In the information reading
デコーダ34は、画像入力部32から入力された情報埋め込み済み画像100の画像データを受け取り、その画像データの中から付加情報を復号する。基本的な復号処理は、特許文献1に示されたものなどのように従来公知のものでよいが、本実施形態ではこれに加え、デコーダ34が、その情報埋め込み済み画像100から読み取った埋め込み対象画像IDをエラー情報管理装置20に渡してこれに対応するエラーマップ情報を取得し、そのエラーマップ情報を利用して、例えばエラーが生じやすい場所に該当する復号ビット値は無視するなどの追加処理を行うことで、読み取りエラー(付加情報の再生エラー)を低減する。すなわち、デコーダ34は、まず従来公知の基本的な復号処理により、情報埋め込み済み画像100から、そこに埋め込まれた生のデータビット列を再生する。そして、追加処理により、その生のデータビット列を、エラーマップ情報に従って解釈することにより、元の付加情報を復元する。追加処理の詳細については、後で説明する。
The
以上大略的に説明したが、このシステムでは、情報埋め込み側で、埋め込み対象画像においてデータの再生エラーを招きやすい箇所を検出し、その情報を情報読み取り側に伝達して利用することで、再生エラーを低減している。 As described above, in this system, the information embedding side detects a portion that is likely to cause a data reproduction error in the embedding target image, and transmits the information to the information reading side for use. Is reduced.
なお、以上の例では、復号に必要なエラーマップ情報を特定するの埋め込み対象画像IDを用いたが、これは必須ではない。例えば、チケット等の文書に表示される識別番号や通し番号と、その文書の復号のためのエラーマップ情報との関係をエラー情報管理装置20に登録しておけば、埋め込み対象画像IDを画像中に組み込まなくても、情報読み取り側装置30は読み取った画像から検出したその文書の識別番号等をエラー情報管理装置20に通知することで、付加情報を復号する際に必要なエラーマップ情報を得ることが出来る。
In the above example, the embedding target image ID for specifying the error map information necessary for decoding is used, but this is not essential. For example, if the relationship between an identification number or serial number displayed on a document such as a ticket and error map information for decoding the document is registered in the error
次に、エラーマップ生成部14の細部について、図3を参照して説明する。図3に示すように、テスト情報発生器12、エンコーダ144、デコーダ146、及びエラー検出器148を備える。
Next, details of the error map generator 14 will be described with reference to FIG. As shown in FIG. 3, a
テスト情報発生器142は、テスト用付加情報としてランダムなビット列を発生する。このビット列は1と0が均等に含まれていることが望ましい。具体的なランダムビット列の発生手段としはM系列などの擬似ランダムなビット列を発生させる公知の手法を利用することができる。発生したテスト用付加情報のビット列は、エンコーダ142及びエラー検出器148に供給される。
The
エンコーダ144は、テスト情報発生器142が発生させたテスト用付加情報を、埋め込み対象画像に対して埋め込む。このエンコーダ142が行う処理は、情報埋め込み側装置10のエンコーダ12のデータ埋め込み処理の基本処理と同じものである。したがって、エンコーダ144として、エンコーダ12の基本機能を用いてももちろんよい。なお、前述のエンコーダ12で付加情報が埋め込まれた画像は画像出力部16により印刷などの形で出力されたが、エラーマップ生成部14におけるエンコーダ144から出力されるテスト用付加情報が埋め込まれた画像データは、データのままデコーダ146に渡される。
The
デコーダ146は、受け取った画像データから付加情報を復号する、このデコーダ146の行う復号処理は、情報読み取り側装置30のデコーダ34の基本的な復号処理と同じものである。この復号処理により、画像データに埋め込まれたテスト用付加情報のビット列が求められる。求められたビット列はエラー検出器148に入力される。
The
エラー検出器148は、デコーダ146から入力されるビット列(すなわち画像から読み取ることができたデータ)を、テスト情報発生器142から供給されたテスト用付加情報のビット列と、先頭ビットから順に比較し、誤りのあるビット位置を求めて記録する。
The
以上のような構成により、所定数のランダムなビット列を発生させて埋め込み対象画像に埋め込み、読み取りエラーのあるビット位置を求めて記録していく。この記録に基づき、統計的に読み取りエラーの発生しやすいビット位置(或いはその逆)を求め、エラーマップを作成する。 With the configuration as described above, a predetermined number of random bit strings are generated and embedded in an embedding target image, and bit positions having read errors are obtained and recorded. Based on this record, a bit position (or vice versa) where a reading error is likely to occur statistically is obtained, and an error map is created.
なお、エラー検出器148は、最も単純な実施例では、正しいテスト用付加情報と値が異なるビット位置を求めるものでよいが、別の実施例として、そのビット位置で生じた読み取りエラーの極性(方向性)、すなわち0を1と誤ったのかその逆なのかを求めて記録することも好適である。
In the simplest embodiment, the
次に、図4を参照して、エラーマップ生成部14の処理動作を説明する。以下では、説明の便宜上、1つの埋め込み対象画像に埋め込む付加情報(ビット列)の大きさをN(ビット)とする。 Next, the processing operation of the error map generator 14 will be described with reference to FIG. In the following, for convenience of explanation, the size of additional information (bit string) embedded in one embedding target image is N (bits).
この処理では、まず最初に、各種変数の初期化動作を行う(S10)。この処理では、まずエラー検出のループ回数Tを設定する。エラーマップ生成では、一連のエラー検出動作は最低一回行えばよいが、エラー情報の精度を高めるために同様な操作を数回繰り返すことが望ましい。ループ回数Tはこの繰り返しの回数を設定する数値であり、最低1から設定することできるが、埋め込む付加情報のビット数Nや求めるエラー情報の精度あるいは処理時間等により決められることが望ましく、簡単な目安としては付加情報のビット数Nと等しいかこれに近い数値にしておけばよい。また、この初期化動作では、エラー検出動作の回数を示すループカウンタの値Cを0に初期化し、更に読み取りエラーのあったビット位置を記録するための配列であるビット列エラーマップEの全要素を0に設定する。このビット列エラーマップEは、Nビットの付加情報の各ビットにおける読み取りエラーの発生回数を記録するための配列であり、0〜N−1までのN個の要素を持つ。 In this process, first, various variables are initialized (S10). In this process, first, an error detection loop count T is set. In error map generation, a series of error detection operations may be performed at least once, but it is desirable to repeat the same operation several times in order to improve the accuracy of error information. The number of loops T is a numerical value for setting the number of repetitions, and can be set from a minimum of 1. However, it is desirable that the number of loops is determined by the number N of bits of additional information to be embedded, accuracy of error information to be obtained, processing time, etc. As a guideline, a numerical value equal to or close to the number of bits N of the additional information may be used. In this initialization operation, the value C of the loop counter indicating the number of error detection operations is initialized to 0, and all elements of the bit string error map E, which is an array for recording the bit position where the read error has occurred, are stored. Set to 0. This bit string error map E is an array for recording the number of occurrences of read errors in each bit of N-bit additional information, and has N elements from 0 to N-1.
次に、テスト情報発生器142によりテスト用付加情報のビット列Dt(ビット数はNビット)を発生させる(S12)。テスト情報発生器142は規則性がなく、作動するごとに異なったビット列を発生することが望ましい。テスト情報発生器142にM系列の擬似乱数を発生させるものを用いた場合は、その系列周期をN−1としておき、繰り返し回数T=N−1とすると、各ループ回数において必ず異なった疑似ランダムのテスト用付加情報を発生することができるため、エラー検出の精度上望ましく、さらに発生機構が簡単である利点がある。
Next, the
次に、エンコーダ144により、このテスト用付加情報を、与えられた埋め込み対象対象画像に埋め込み、エラー検出用電子画像Gを得る(S14)。ここで、エンコーダ144においては、埋め込み対象画像からの干渉による付加情報の読み取りエラーを検出することを目的としてエンコードを行うため、実際に電子透かしのために付加情報を埋め込むエンコーダよりも、エラーが発生しやすいエンコードパラメータを用いることが望ましい。一例として、図1のように埋め込み対象画像プレーン1と付加情報プレーン2とをある種の演算処理、例えば埋め込み対象画像プレーン1の各画素値Pと付加情報プレーン2の画素値Qとから埋め込み処理後の画像の画素値Rを次に式(1)のように求める場合を考える。
Next, the
R=P+a×Q …(1) R = P + a × Q (1)
この式(1)において、aは埋め込み強度を示す正の係数であり、この値が大きくなるほど埋め込み処理後の画像において付加情報の画像が埋め込み対象画像より目立ちやすく、すなわち見方を変えれば復号がしやすくなる。したがって、この係数aの値を実際に電子透かしを入れる際に用いる値より小さくすれば、相対的に後のデコード処理でエラーが発生しやすいエラー検出画像Gを得ることができる。 In this equation (1), a is a positive coefficient indicating the embedding strength. As this value increases, the image of the additional information is more conspicuous in the image after embedding processing than the embedding target image, that is, decoding is performed if the view is changed. It becomes easy. Therefore, if the value of the coefficient a is made smaller than the value used when the digital watermark is actually inserted, an error detection image G that is relatively likely to cause an error in later decoding processing can be obtained.
次に、このように電子的に求めたエラー検出画像Gをデコーダ146によりデコード(復号)する(S16)。このデコード処理により求められるNビットのビット列を、検出データビット列Ddと呼ぶことにする。 Next, the error detection image G obtained electronically in this way is decoded (decoded) by the decoder 146 (S16). An N-bit bit string obtained by this decoding process is called a detection data bit string Dd.
次に、エラー検出器148により、テスト用付加情報のビット列Dtと検出データビット列Ddとをビットごとに比較する(S18)。この比較により、ビット列のあるビット位置で両者の不一致が検出されたら、ビット列エラーマップEにおけるそのビットの位置i(iは0〜N−1の整数)の値E(i)に1を足す。
Next, the
また、エラーの極性を求める実施例の場合は、Dt(i)=0でありDd(i)=1となったエラーについてはE(i)の値を1増やし、逆にDt(i)=1でありDd(i)=0となったエラーについてはE(i)の値を1減ずるようにすればよい。埋め込み対象画像との干渉による読み取りエラーは、埋め込み対象画像中のその場所の画像の特徴に起因するものであるため、0を1と読み取ってしまう極性のエラーか、1を0と読み取ってしまう極性のエラーか、そのどちらかが優勢となる傾向がある。このため、このようにエラーマップEの各要素の値を増減することで、その要素に対応するビット位置のエラーの性質を示すことができる。なお、もちろんエラーマップとして、各極性のエラー発生回数をそれぞれ個別に積算するものを用い、それぞれ個別にカウントするようにしてももちろんよい。 In the embodiment for determining the polarity of the error, for the error in which Dt (i) = 0 and Dd (i) = 1, the value of E (i) is increased by 1, and conversely Dt (i) = For an error that is 1 and Dd (i) = 0, the value of E (i) may be reduced by 1. Since the reading error due to the interference with the embedding target image is caused by the characteristics of the image at the location in the embedding target image, a polarity error that reads 0 as 1 or a polarity that reads 1 as 0 Either one of the errors tends to prevail. Therefore, by increasing or decreasing the value of each element of the error map E in this way, the nature of the error at the bit position corresponding to that element can be shown. Of course, an error map may be used in which the number of error occurrences of each polarity is individually integrated and counted individually.
いずれにしても、エラーマップは、付加情報のビット列上で発生するエラーの位置を示していることが第一の目的である。 In any case, the first purpose is that the error map indicates the position of an error that occurs on the bit string of the additional information.
次にS20では、S12で生成したテスト用付加情報の各ビットの値を反転(すなわち1は0に、0は1に変換)させて、その反転結果のビット列をエンコーダ144により埋め込み対象画像Dt*に埋め込んでエラー検出用電子画像Gを求める。そして、この電子画像Gをデコードし(S22)、そのデコード結果をS20で求めた反転ビット列と比較し、この比較の結果不一致となったビット位置をビット列エラーマップEに記録する(S24)。このようにビット列を反転させてエラー検出を行うのは、前述したようにエラーの出方には2種類の極性があり、ビットを反転させないとエラー検出ができない場合が有るからである。しかし、このビット列を反転してエラー検出を行うことは必須ではない。テスト用付加画像が十分にランダムに、十分な数だけ発生させてシミュレーションを行うのならば、反転しなくても同等の結果を得ることが出来る。従って、この反転処理は、エラー検出の精度と原理的にビット列を反転してのエラー検出の効果が上がる場合において用いればよい。
Next, in S20, the value of each bit of the test additional information generated in S12 is inverted (that is, 1 is converted to 0, and 0 is converted to 1), and the bit string resulting from the inversion is embedded by the
以上のS24までの処理が終わると、次にループカウンタCの値を1増加させ(S26)、このループカウンタCがS10で設定された所定のループ回数Tの値に達していなければ(S28)、S12に戻って新たなテスト用付加情報Dtを発生させ、以上の処理を繰り返す。ループカウンタCの値がTに達した場合、一連の処理動作は終了する。 When the processing up to S24 is completed, the value of the loop counter C is then incremented by 1 (S26). If the loop counter C has not reached the value of the predetermined number of loops T set in S10 (S28). Returning to S12, new test additional information Dt is generated, and the above processing is repeated. When the value of the loop counter C reaches T, the series of processing operations ends.
この処理の結果ビット列エラーマップEは、与えられた一枚の埋め込み対象画像について、その画像に様々な付加情報を埋め込んでそれを復号したとき場合の、付加情報の各ビット位置でのエラーの発生分布を示している。エラー検出部14は、このビット列エラーマップEに基づき、付加情報において読み取りエラーが発生しやすいビット位置を判定する。この判定は、例えばエラー発生回数の閾値Hをあらかじめ定めておき、ビット列エラーマップEにおける各ビット位置の要素のうちその閾値Hを超えるエラー発生回数を示すビット位置を、読み取りエラーが発生しやすいビット位置と判定すればよい。このようにして求めた読み取りエラーの発生しやすいビット位置の組がエラーマップ情報であり、これがエラー情報管理装置20に提供される。
As a result of this processing, the bit string error map E indicates that an error occurs at each bit position of the additional information when various additional information is embedded in the given image to be embedded and decoded. Distribution is shown. Based on this bit string error map E, the error detection unit 14 determines a bit position in the additional information where a read error is likely to occur. For this determination, for example, a threshold H for the number of error occurrences is determined in advance, and a bit position indicating the number of error occurrences exceeding the threshold H among the elements of each bit position in the bit string error map E What is necessary is just to determine with a position. A set of bit positions that are likely to cause read errors as described above is error map information, which is provided to the error
ここで、単にエラーが発生しやすいビット位置だけでなく、そのビット位置におけるエラーの極性も併せてエラーマップ情報に含めるようにすることも好適である。この場合のエラーマップ情報としては、例えばつぎのようなデータ構造のものを用いることができる。すなわち、このエラーマップ情報は、付加情報のビット数だけの要素を持つ配列であり、各要素はそれぞれ2ビットからなり、その2ビットのうち最初のビットはその要素に対応するビット位置が読み取りエラーの生じやすい位置か否かを示し、後のビットは生じやすい読み取りエラーの極性を示す。 Here, not only the bit position where an error is likely to occur but also the polarity of the error at the bit position is preferably included in the error map information. As the error map information in this case, for example, data having the following data structure can be used. In other words, this error map information is an array having elements as many as the number of bits of the additional information, and each element is composed of 2 bits, and the first bit of the 2 bits has an error in reading the bit position corresponding to that element. The subsequent bits indicate the polarity of read errors that are likely to occur.
なお閾値Hは、Eの要素が取り得る範囲について、電子透かしのアルゴリズム等による性質やエラーの出現頻度を考慮し、必要に応じシミュレーション等を行って決めればよい。 Note that the threshold value H may be determined by performing a simulation or the like as necessary in consideration of the nature of the digital watermark algorithm and the appearance frequency of errors in the range that can be taken by the element of E.
1つの好適な実施例では、このエラーマップ情報をエンコーダ12に提供し、エンコーダ12による付加情報の埋め込み処理を、読み取りエラーに対する耐性の高いものとする。すなわち、エンコーダ12は、基本処理に対する追加処理として、例えば、埋め込むべき付加情報のビット列を、エラーマップ情報に示される読み取りエラーが発生しやすいビット位置を避けて再配列し直してから埋め込む処理を行う。これにより、エラーが発生しやすいビット位置のデータがなくても、付加情報を再生できることになる。以下、このようなエンコーダ12の追加処理の例を説明する。
In one preferred embodiment, this error map information is provided to the
この処理を説明するため、具体例として、埋め込み対象画像に埋め込むビット列のビット数Nを64、エラー検出時のループ回数TをN−1すなわち63とし、テスト情報発生器12はN−1の周期のM系列を発生させるものであり、図4の処理で求められたビット列エラーマップEが図5に示すようなものであったとする。
In order to explain this processing, as a specific example, the bit number N of the bit string to be embedded in the embedding target image is 64, the loop count T at the time of error detection is N−1, that is 63, and the
図5中の各マス目の中の数字はビット列エラーマップEの各要素の値を示している。ここで、この例では、ビット列エラーマップEの各要素に対応するビット位置が読み取りエラーの発生箇所であるかどうかを決める閾値Hを仮に絶対値で10とする。すなわち |E(i)| ≦H としてH=10とするからE(i) の値がプラスマイナス10以内であれば読み取りエラーと見なさないとした。図5のビット列エラーマップEにおいて、この閾値Hとの比較により読み取りエラーの発生しやすいと判定されたマス目にはハッチングを施して他と区別した。これから、ビット位置i=12,18,23,36,49,55が、エラーの発生しやすい箇所と判定され、これらの箇所を示す情報がエラーマップ情報としてエンコーダ12及びエラー情報管理装置20に渡される。
A number in each square in FIG. 5 indicates a value of each element of the bit string error map E. Here, in this example, a threshold value H that determines whether or not a bit position corresponding to each element of the bit string error map E is a read error occurrence point is assumed to be 10 in absolute value. That is, since | E (i) | ≦ H and H = 10, if the value of E (i) is within plus or
このエラーマップ情報を受け取ったエンコーダ12によるエンコード(付加情報の埋め込み)処理の一例を、図6を参照して説明する。この例では、埋め込み対象画像に埋め込む付加情報のサイズを48ビットとし、付加情報をY(1,0,...,47)と表す。この例では埋め込めるビット列のビット数Nは64ビットであるが、エラーが発生する箇所が16カ所あった場合を見込んで、実際に埋め込む付加情報のサイズをその分少なく設定しておく。図5に例示したビットマップEはエラーが発生しやすい箇所が6カ所あることを示しているため、この例では10ビット分の余裕があることになる。埋め込む付加情報のビット数は、本来埋め込める情報のビット列の大きさNよりも小さい値に設定するが、どの程度小さい値にするかに関しては電子透かしのアルゴリズム等に依存するエラーの出現頻度から適宜定める。
An example of encoding (additional information embedding) processing by the
図6では、上段には埋め込むべき情報として与えられる48ビットの付加情報Y(1,0,....47)のビット列の一部を、下段にはその付加情報Yに対しエラー耐性を高める処理を加えることによりできる、実際に埋め込み対象画像に埋め込まれる埋め込みビット列X(0,1,....63)の対応部分を示す。この図に示すように、エラーが発生しやすいと判定されたビット位置以外のビット位置では、Y(0)=X(0),Y(1)=X(1),....といった具合に、付加情報Yの値をそのまま埋め込みビット列Xでの値として採用していく。Y(11)まではこのようにして割当が出来る。次の13番目のビット位置(すなわちE(12))はエラーが発生しやすいビット位置であるため、付加情報のビット値Y(12)はX(12)へ割り当てず、その後最初に現れるエラーが発生しにくいビット位置(すなわち「エラーが発生しやすい」と判定されなかったビット位置)へと繰り延べて割り当てる。この例では、14番目(i=13)がそれに該当するので、X(13)にY(12)の値を割り当てる。以降、次にエラーが発生しやすいビット位置に行き当たるまでは、付加情報Yの各ビットは、1つずつ後ろにずれて埋め込みビット列Xにセットされる。次にエラーが発生しやすいビット位置はi=18であるから、Y(17)=X(18)の割り当ては行わず、Y(17)はその次の(エラーが発生しやすいビット位置ではない)X(19)に割り当てる。 In FIG. 6, a part of a bit string of 48-bit additional information Y (1,0,... 47) given as information to be embedded is shown in the upper stage, and error resistance is increased for the additional information Y in the lower stage. A corresponding portion of an embedded bit string X (0, 1,... 63) that is actually embedded in an embedding target image that can be added by processing is shown. As shown in this figure, Y (0) = X (0), Y (1) = X (1),... At bit positions other than those determined to be prone to errors. In addition, the value of the additional information Y is adopted as the value in the embedded bit string X as it is. Up to Y (11) can be assigned in this way. Since the next thirteenth bit position (that is, E (12)) is an error-prone bit position, the bit value Y (12) of the additional information is not assigned to X (12), and the first error that appears after that is not assigned. It is deferred and assigned to bit positions that are unlikely to occur (that is, bit positions that have not been determined to be “prone to error”). In this example, since 14th (i = 13) corresponds to it, the value of Y (12) is assigned to X (13). Thereafter, each bit of the additional information Y is shifted back one by one and set in the embedded bit string X until the bit position where an error is likely to occur next is reached. Since the bit position where an error is likely to occur is i = 18, Y (17) = X (18) is not assigned, and Y (17) is not the bit position where an error is likely to occur (the error is likely to occur). ) Assign to X (19).
このように、図6に例示した方式では、付加情報Yの各ビットを先頭ビットから順に、エラーが発生しやすいと判定されたビット位置iを避けて順番に再配列することで、埋め込みビット列Xを生成する。図5に例示したエラーマップの例においては、付加情報のビット列の最後Y(47)は埋め込みビット列のX(52)に割り振られる。埋め込みビット列X(53)からX(63)までは未割り当ての状態であるが、デコードに際して不必要であるのでダミーのビット情報を記録するなどしておく。 As described above, in the method illustrated in FIG. 6, each bit of the additional information Y is rearranged in order from the first bit in order, avoiding the bit position i that is determined to be prone to error. Is generated. In the example of the error map illustrated in FIG. 5, the last Y (47) of the bit string of the additional information is assigned to X (52) of the embedded bit string. The embedded bit strings X (53) to X (63) are unallocated, but are unnecessary for decoding, so dummy bit information is recorded.
また、エラーマップ情報においてエラーが発生しやすい位置として記録されているビット位置の値X(12),X(18),X(23),X(36),X(49)については、復号(デコード)時には無視するので、基本的にはどのような値をセットしてもよい。ただし、より好適には、それら各値に、それぞれE(12),E(18),E(23),E(36),E(49)のマップ情報の極性(符号)に応じ、それぞれ読み取りエラーの結果として出やすいビット情報を記録するようにする。すなわちX(12)=0,X(18)=1,X(23)=0,X(36)=1,X(49)=0とする。これは以下のような理由からである。 Also, bit position values X (12), X (18), X (23), X (36), and X (49) recorded as positions where errors are likely to occur in the error map information are decoded ( Since it is ignored at the time of (decoding), basically any value may be set. However, more preferably, each value is read according to the polarity (sign) of the map information of E (12), E (18), E (23), E (36), E (49), respectively. Bit information that is likely to appear as a result of an error is recorded. That is, X (12) = 0, X (18) = 1, X (23) = 0, X (36) = 1, X (49) = 0. This is for the following reason.
すなわち、例えば特許文献1の情報埋め込みでは、0を1と読み誤る読み取りエラーを起こしやすい箇所においては、元々その箇所の埋め込み対象画像自体が、付加情報の「1」を表すパターン画像に近い画像特徴を持っている可能性が高い。したがって、そのような場所に「0」を示すパターン画像を埋め込んだのでは、元の埋め込み対象画像とは逆の特徴を持つパターン画像を重畳することになり、元の埋め込み対象画像の特徴が弱まることになる。これに対し、読み取りエラーとして出やすい「1」のパターン画像は、元の埋め込み対象画像と特徴が似ているので、埋め込みによる画像の変化が少ない。このように、エラーが発生しやすい箇所にそれぞれ読み取りエラーの結果として出やすいビット情報を割り当てることは、埋め込み前後での画像の見栄えの変化を少なくすることが出来るという点で好適である。
That is, for example, in the information embedding in
次に図7を参照して、エンコーダ12によるエラーマップ情報を用いたエンコード処理の別の例を説明する。この図でも、上段には埋め込むべき48ビットの付加情報Y(1,0,....47)のビット列の一部を、下段にはその付加情報Yに対しエラー耐性を高める処理を加えた埋め込みビット列X(0,1,....63)の対応部分を示す。
Next, another example of the encoding process using the error map information by the
図7の手法では、読み取りエラーが発生しやすいビット位置か否かに依らず、Y(0)=X(0),Y(1)=X(1),..Y(47)=X(47)と、先頭ビットから順番に付加情報Yの値を埋め込みビット列に割り当てていく。そして、その後のX(48)以降の各ビットに、エラーの発生しやすいビット位置と判定されたi=12,18,...の各ビット位置の付加情報Y(12),Y(18)を順に割り当てていく。ここで、例えばY(18)はX(49)に割り当てられることになるが、i=49のビット位置はエラーが発生しやすい位置なので、Y(18)は次のX(50)に割り当てられる。このように、エラーが発生しやすいと判定されたビット位置は避けて、値を順に割り当てる。 In the method of FIG. 7, Y (0) = X (0), Y (1) = X (1), ..Y (47) = X (, regardless of whether or not the bit position is likely to cause a read error. 47) and the value of the additional information Y is assigned to the embedded bit string in order from the first bit. Then, for each bit after X (48), i = 12, 18,. . . The additional information Y (12) and Y (18) of each bit position is sequentially assigned. Here, for example, Y (18) is assigned to X (49), but since the bit position of i = 49 is a position where an error is likely to occur, Y (18) is assigned to the next X (50). . In this way, values are assigned in order, avoiding bit positions determined to be prone to errors.
エンコーダ12は、このようにして図6又は図7の手法で付加情報Yから埋め込みビット列Xを生成すると、この埋め込みビット列Xを埋め込み対象画像に対して埋め込む。例えば埋め込み方式として特許文献1の方式を用いた場合、その埋め込みビット列Xの各ビットの値をそれぞれ対応するパターン画像に置き換えて順に配列することで、付加情報プレーン2を生成する(図1参照)。そして、この付加情報プレーン2と埋め込み対象画像プレーン1とを合成することで、付加情報が埋め込まれた電子透かし画像を生成する。なお、これはあくまで一例であり、その他の電子透かし方式により埋め込みビット列Xを画像中に埋め込んでももちろんよい。
When the
以上、エラーマップ情報を利用したデータ埋め込み方式の例を説明した。図6に示したデータ埋め込み方式をとった場合、情報読み取り側装置30のデコーダ34では、エラーマップ情報をエラー情報管理装置20から取得し、情報埋め込み済み画像100から読み取ったビット列を、先頭ビットから順に、そのエラーマップ情報にエラーが発生しやすいビット位置として示されたビットを無視しながら解釈することで、埋め込まれた付加情報を復元することが出来る。
The example of the data embedding method using error map information has been described above. When the data embedding method shown in FIG. 6 is adopted, the
一方、図7の方式を採用した場合は、情報読み取り側装置30は、情報埋め込み済み画像100から読み取ったビット列のうちエラーマップ情報においてエラーが発生しやすいと判定したビットに対し、そのビット列において付加情報のビット数以降の各ビット(但しエラーが発生しやすいと判定されたビットは除く)の値を順に当てはめていくことにより、元の付加情報を復元する。なお、図7の方式の場合、付加情報のビット数を何らかの方法で知る必要がある。これには、付加情報のビット数の情報を、例えばエラーマップ情報の一部に組み込んでおき、情報読み取り側装置30に伝達するようにすればよい。
On the other hand, when the method of FIG. 7 is adopted, the information reading
以上のように、エンコード時に付加情報ビット列Yを埋め込みビット列Xに割り当てた方法を、デコード側も共有していれば、容易に逆の過程を実行して、画像100から読み取った生データビット列から誤りのない付加情報を復元できる。
As described above, if the decoding side shares the method of assigning the additional information bit string Y to the embedded bit string X at the time of encoding, the reverse process is easily performed, and an error is detected from the raw data bit string read from the
以上は、エラーマップ情報をエンコーダ12によるデータ埋め込み処理に適用した場合の例であった。これに対し、次に説明する図8の方式では、エンコーダ12はエラーマップ情報を利用しない。但し、この方式では、付加情報にはエラー訂正符号(ECC)が含まれているものとする。すなわち、埋め込むべき生のデータが与えられた場合、エンコーダ12はそのデータに対し周知の方法によりエラー訂正符号を付加して、付加情報を構成する。
The above is an example when the error map information is applied to the data embedding process by the
この例では、エラーマップ情報は上述の例と同様とするが、エラー訂正符号が含まれることを考慮して、付加情報Yのビット数を64ビットとする。 In this example, the error map information is the same as in the above example, but the number of bits of the additional information Y is 64 bits in consideration of the fact that an error correction code is included.
この方式では、エンコーダ12は、エラー訂正符号を組み込んだ付加情報Y(i)を、そのまま埋め込みビット列X(i)とする。すなわち、エンコーダ12は、従来のものと同じでよく、何ら特別なことはしなくてよい。
In this method, the
これを受け取った情報読み取り側装置30のデコーダ34は、情報埋め込み済み画像100から読み取ったビット列に対し、エラー情報管理装置20から取得したエラーマップ情報を利用して調整を加えた上で、エラー訂正符号による誤り訂正を適用する。この実施例では、エラーマップ情報として、エラーが発生しやすいビット位置だけでなく、そのビット位置におけるエラーの極性の情報を含んだものを用いる。
The
このエラーマップ情報として、上述したデータ形式、すなわち各ビット位置ごとに、その位置がエラーの発生しやすい位置か否かを示すビットと、そのビットで生じやすいエラーの極性を示したビットとの2ビットを含むエラーマップ情報を用いる場合、それは図9に示すようなものとなる。これは、図5のビット列エラーマップに対応したものである。 As this error map information, there are two data formats, that is, a bit indicating whether or not each bit position is a position where an error is likely to occur, and a bit indicating the polarity of an error likely to occur at that bit. When error map information including bits is used, it is as shown in FIG. This corresponds to the bit string error map of FIG.
このエラーマップ情報において、0を1に誤り易いビット位置については、画像から読み取ったそのビット位置のビットの値が0であればそのビットの値はそのまま0とし、1であればランダムビット発生器によりランダムに発生される1又は0の値をそのビットの値に置き換える。逆にエラーマップ情報の中で1を0に誤り易いと示されたビット位置については、その画像から読み取ったそのビットの値が1であればそのまま1とし、0であればランダムビット発生器の出力値に置き換える。すなわち、この方式では、エラーの極性により出現しやすい値とは逆のビット値が読み取られた場合には、そもそもエラーでは出現しにくい値が現れているので、読み取りエラーはないものとしてその値を信用するわけである。一方、エラーにより出現しやすい値が読み取られた場合には、その値は信用できないとしてランダムな値に置き換え、エラー訂正符号のエラー訂正能力による訂正にゆだねる。このような処理により、エラーが発生しやすいビット位置で誤りが発生する割合を減少することができ、エラー訂正の効率よく働かせることができる。また、エラーが発生しやすいビット位置が分かっている場合、消失誤り回復と呼ばれる手法を用いることによりエラー訂正を強化することが出来るので、正しいデータを復元できる可能性を高めることが出来る。 In this error map information, for a bit position that is likely to be erroneously set to 0 as 1, if the bit value of the bit position read from the image is 0, the bit value is 0 as it is, and if it is 1, a random bit generator Replaces the randomly generated value of 1 or 0 with the value of that bit. On the other hand, in the error map information, the bit position indicated as 1 is likely to be mistaken for 0 is set to 1 if the value of the bit read from the image is 1, and if it is 0, the random bit generator Replace with output value. In other words, in this method, when a bit value that is opposite to the value that tends to appear due to the polarity of the error is read, a value that hardly appears in the error appears in the first place. Trust. On the other hand, when a value that is likely to appear due to an error is read, the value is replaced with a random value because it cannot be trusted, and the error correction code is corrected by the error correction capability. By such processing, it is possible to reduce the rate at which errors occur at bit positions where errors are likely to occur, and to work efficiently in error correction. In addition, when a bit position where an error is likely to occur is known, error correction can be strengthened by using a technique called erasure error recovery, so that the possibility that correct data can be restored can be increased.
なお、図8の方式では、付加情報Yにはエラー訂正符号が含まれるため、同じビット数では表現できる情報量が少なくなる。例えば、64ビットの付加情報Yが表現できる情報量は、数ビットからせいぜい20ビットほどになってしまう。このようなデータの効率の面での不利はあるものの、この方式は、図6及び図7のように付加情報のビット列自体を変更してしまうことがないため、従来方式との互換性が高い。すなわち、本実施形態の手法に準拠していない従来のデコーダでも、読み取りエラーの影響はあるものの、いちおうの復号が可能である、という利点がある。 In the method of FIG. 8, since the additional information Y includes an error correction code, the amount of information that can be expressed with the same number of bits is reduced. For example, the amount of information that can be expressed by 64-bit additional information Y is from several bits to 20 bits at most. Although there is such a disadvantage in terms of data efficiency, this method does not change the bit string itself of the additional information as shown in FIGS. 6 and 7, and thus is highly compatible with the conventional method. . That is, there is an advantage that even a conventional decoder that does not comply with the method of the present embodiment has a read error, but can be decoded properly.
以上の例では、特許文献1と同じ埋め込み対象画像の空間内で付加情報を埋め込む場合を例に取ったが、周波数空間内で埋め込みを行う場合も同様でよい。すなわちこの場合、埋め込み対象画像を周波数成分に変換し、その各周波数成分の値に付加情報のビットを埋め込んでいくことになる。ここで、エラーマップ生成部14は、この周波数成分に対してランダムビット列を埋め込んで逆変換することで電子透かし画像を生成し、これをデコードして読み取りエラーのあったビット位置を求める。これを繰り返し行うことで、統計的に読み取りエラーの発生しやすいビット位置を求め、これをエラーマップ情報として用いることで、上述の例と同様の処理が実現できる。
In the above example, the case of embedding additional information in the same embedding target image space as in
また、以上の例では、エラーマップ情報として、読み取りエラーが発生しやすいビット位置のマップを用いたが、この逆に読み取りエラーが発生しにくいビット位置のマップを作り、このようなビット位置にのみ付加情報のビットを割り当てるようにするようにしてももちろんよい。 In the above example, a map of bit positions where read errors are likely to occur is used as error map information. Conversely, a map of bit positions where read errors are unlikely to occur is created, and only such bit positions are created. Of course, additional information bits may be allocated.
また以上の例では、エラーマップ情報を生成するに当たりテスト用付加情報として、ランダムに生成したビット列を用いたが、これも一例である。例えば、埋め込み対象画像に対して埋め込まれる可能性のある付加情報があらかじめ定まっており、その数があまり多くない場合などには、それら付加情報自体をテスト用データとしてエラーマップを生成するようにしてももちろんよい。 In the above example, the bit map generated at random is used as the test additional information in generating the error map information, but this is also an example. For example, if additional information that may be embedded in an image to be embedded is determined in advance and the number of such additional information is not so large, an error map is generated using the additional information itself as test data. Of course it is good.
また、以上の例では、エラーマップ情報を情報埋め込み側装置10からネットワーク上のエラー情報管理装置20に登録し、これを情報読み取り側装置30が取得して利用する方式を採ったが、これも一例に過ぎない。埋め込み側から読み取り側へのエラーマップ情報の伝達は、例えば電子メールなどの通信手段によって行ってもよいし、コンピュータ読み取り可能な可搬型の記録媒体に記録し送付することにより行ってもよい。また、エラーマップ情報そのものを埋め込み対象画像に埋め込んだり、或いは可視情報として情報埋め込み済み画像100に組み込んだりしてもよい。
In the above example, the error map information is registered from the information embedding
10 情報埋め込み側装置、12 エンコーダ、14 エラーマップ生成部、16 画像出力部、20 エラー情報管理装置、30 情報読み取り側装置、32 画像入力部、34 デコーダ。
DESCRIPTION OF
Claims (9)
前記情報埋め込み側装置は、
埋め込み対象画像に対して付加情報を埋め込んで電子透かし画像を生成するエンコード手段と、
前記付加情報のデータ配列において、電子透かし画像からそのデータ配列を抽出する際に誤認識されやすい部分を検出し、その部分を示すエラーマップ情報を生成するエラーマップ生成手段と、
を備え、
前記情報読み取り側装置は、
前記電子透かし画像に埋め込まれたデータ配列を抽出するデータ抽出手段と、
抽出されたデータ配列を前記エラーマップ情報に基づき処理することにより前記付加情報を求めるデコード手段と、
を備える、
ことを特徴とする電子透かしシステム。 An electronic watermarking system comprising an information embedding device and an information reading device,
The information embedding device is:
Encoding means for embedding additional information in an embedding target image to generate a digital watermark image;
In the data array of the additional information, an error map generating means for detecting a part that is likely to be erroneously recognized when extracting the data array from the digital watermark image, and generating error map information indicating the part;
With
The information reading side device is:
Data extraction means for extracting a data array embedded in the digital watermark image;
Decoding means for obtaining the additional information by processing the extracted data array based on the error map information;
Comprising
An electronic watermarking system characterized by that.
テスト用データ配列をランダムに生成するテストデータ生成手段と、
前記テスト用データ配列を前記埋め込み対象画像に埋め込んでテスト用電子透かし画像を生成するエンコードシミュレーション手段と、
前記テスト用電子透かし画像に埋め込まれたデータ配列を抽出し、該データ配列を前記テスト用データ配列と比較することで、抽出時に誤認識が生じた部分を求めるデコードシミュレーション手段と、
を備え、ランダムに生成された各テスト用データ配列について、前記エンコードシミュレーション手段及び前記デコードシミュレーション手段に処理を行わせて前記誤認識が生じた部分を求めて記録し、前記誤認識が生じた部分として検出された回数が所定数を超える部分を前記誤認識されやすい部分として抽出することを特徴とする請求項1記載の電子透かしシステム。 The error map generating means includes
Test data generation means for randomly generating a test data array;
Encoding simulation means for embedding the test data array in the embedding target image to generate a test digital watermark image;
A decoding simulation means for extracting a data array embedded in the test digital watermark image and comparing the data array with the test data array to obtain a portion in which erroneous recognition occurred during extraction;
A part for which the misrecognition occurs, for each test data array generated at random, by causing the encode simulation unit and the decode simulation unit to perform processing to obtain and record the part where the misrecognition occurred 2. The digital watermark system according to claim 1, wherein a part in which the number of detected times exceeds a predetermined number is extracted as the part that is easily misrecognized.
前記情報読み取り側装置のデコード手段は、前記電子透かし画像から抽出されたデータ配列に対し、前記エラーマップ情報を参照して前記エンコード手段とは逆のデータ配列変更処理を行うことで、前記付加情報を求める、
ことを特徴とする請求項1〜3のいずれか1項に記載の電子透かしシステム。 The encoding unit of the information embedding side device generates an embedded data string by rearranging the data of the additional information based on the error map information, avoiding the erroneously recognized portion, and Embed in the target image,
The decoding means of the information reading side device performs the data arrangement changing process opposite to the encoding means on the data arrangement extracted from the digital watermark image with reference to the error map information. Seeking
The digital watermark system according to claim 1, wherein the digital watermark system is a digital watermark system.
前記エンコード手段は、前記埋め込みデータ列における前記誤認識されやすい部分には、誤認識の結果として認識されやすい値を、その部分に対応するエラー極性情報に基づき求めてセットする、
ことを特徴とする請求項4記載の電子透かしシステム。 The error map generation means generates error map information including error polarity information indicating whether the misrecognized portion is easily misrecognized as 0 as 1 or vice versa, as the error map information.
The encoding means determines and sets a value that is easily recognized as a result of erroneous recognition, based on error polarity information corresponding to the part, in the erroneously recognized part of the embedded data string.
The digital watermark system according to claim 4.
前記エラーマップ生成手段は、前記エラーマップ情報として、前記誤認識されやすい部分が、0を1と誤認識されやすいのかその逆なのかを示すエラー極性情報を含んだエラーマップ情報を生成し、
前記デコード手段は、前記電子透かし画像から抽出したデータ配列において、前記誤認識されやすい部分を前記エラーマップ情報から判別し、該部分の値が誤認識の結果として認識されやすい値か否かをエラー極性情報に基づき判定し、誤認識の結果として認識されやすい値であればその値をランダムに生成した値に置き換え、そうでなければ該部分の値を変更せずに採用することで埋め込み情報を再生し、再生した埋め込み情報に対してエラー訂正処理を行うことで前記付加情報を求める、
ことを特徴とする請求項1〜3のいずれか1項に記載の電子透かしシステム。 The encoding means embeds embedded information obtained by adding an error correction code to the additional information in the embedding target image,
The error map generation means generates error map information including error polarity information indicating whether the misrecognized portion is easily misrecognized as 0 as 1 or vice versa, as the error map information.
In the data array extracted from the digital watermark image, the decoding means determines the erroneously recognized portion from the error map information, and determines whether the value of the portion is a value that is easily recognized as a result of erroneous recognition. Judgment based on polarity information, if it is a value that is easily recognized as a result of misrecognition, replace that value with a randomly generated value, otherwise adopt the value without changing the value of that part The additional information is obtained by performing error correction processing on the reproduced embedded information that is reproduced,
The digital watermark system according to claim 1, wherein the digital watermark system is a digital watermark system.
前記付加情報のデータ配列において、電子透かし画像からそのデータ配列を抽出する再に誤認識されやすい部分を検出し、その部分を示すエラーマップ情報を生成するエラーマップ生成手段と、
を備える情報埋め込み側装置。 An encoding unit that embeds additional information in an embedding target image and generates a digital watermark image;
In the data array of the additional information, an error map generating means for detecting a portion that is easily misrecognized again by extracting the data array from the digital watermark image and generating error map information indicating the portion;
An information embedding device.
テスト用データ配列をランダムに生成するテストデータ生成手段と、
前記テスト用データ配列を前記埋め込み対象画像に埋め込んでテスト用電子透かし画像を生成するエンコードシミュレーション手段と、
前記テスト用電子透かし画像に埋め込まれたデータ配列を抽出し、該データ配列を前記テスト用データ配列と比較することで、抽出時に誤認識が生じた部分を求めるデコードシミュレーション手段と、
を備え、ランダムに生成された各テスト用データ配列について、前記エンコードシミュレーション手段及び前記デコードシミュレーション手段に処理を行わせて前記誤認識が生じた部分を求めて記録し、前記誤認識が生じた部分として検出された回数が所定数を超える部分を前記誤認識されやすい部分として抽出することを特徴とする請求項7記載の情報埋め込み側装置。 The error map generating means includes
Test data generation means for randomly generating a test data array;
Encoding simulation means for embedding the test data array in the embedding target image to generate a test digital watermark image;
A decoding simulation means for extracting a data array embedded in the test digital watermark image and comparing the data array with the test data array to obtain a portion in which erroneous recognition occurred during extraction;
A part for which the misrecognition occurs, for each test data array generated at random, by causing the encode simulation unit and the decode simulation unit to perform processing to obtain and record the part where the misrecognition occurred 8. The information embedding side device according to claim 7, wherein a portion where the number of detected times exceeds a predetermined number is extracted as the portion that is likely to be erroneously recognized.
電子透かし画像からそのデータ配列を抽出する際に誤認識されやすい部分を示したエラーマップ情報を取得し、前記データ抽出手段で抽出されたデータ配列を前記エラーマップ情報に基づき処理することにより前記付加情報を求めるデコード手段と、
を備える情報読み取り側装置。
Data extraction means for extracting a data array embedded in a given digital watermark image;
The error map information indicating a portion that is likely to be erroneously recognized when extracting the data sequence from the digital watermark image is acquired, and the data sequence extracted by the data extraction unit is processed based on the error map information to add the data Decoding means for obtaining information;
An information reading side device comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004376004A JP2006186509A (en) | 2004-12-27 | 2004-12-27 | Watermark system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004376004A JP2006186509A (en) | 2004-12-27 | 2004-12-27 | Watermark system |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006186509A true JP2006186509A (en) | 2006-07-13 |
Family
ID=36739307
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004376004A Pending JP2006186509A (en) | 2004-12-27 | 2004-12-27 | Watermark system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006186509A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008182702A (en) * | 2007-01-23 | 2008-08-07 | Xerox Corp | System and method for embedding dispersed miniature security mark |
-
2004
- 2004-12-27 JP JP2004376004A patent/JP2006186509A/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008182702A (en) * | 2007-01-23 | 2008-08-07 | Xerox Corp | System and method for embedding dispersed miniature security mark |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4269861B2 (en) | Printed material processing system, watermarked document printing device, watermarked document reading device, printed material processing method, information reading device, and information reading method | |
JP3628312B2 (en) | Watermark information embedding device and watermark information detection device | |
US8050451B2 (en) | Electronic forms using indicia, sometimes hidden indicia | |
JP5253352B2 (en) | Method for embedding a message in a document and method for embedding a message in a document using a distance field | |
JP4277800B2 (en) | Watermark information detection method | |
US20130028466A1 (en) | Embedding and Detecting Hidden Information | |
JP2004127297A (en) | Bar code having extended visibility, system and method thereof | |
JP2004140825A (en) | Foreground/background document processing using dataglyphs | |
WO2005094058A1 (en) | Printing medium quality adjusting system, examining watermark medium output device, watermark quality examining device, adjusted watermark medium output device, printing medium quality adjusting method, and examining watermark medium | |
JP2007501976A (en) | Background data channel on paper or other carrier | |
EP1382193A1 (en) | Detecting halftone modulations embedded in an image | |
WO2006035677A1 (en) | Image processing method and image processing device | |
JP2006222788A (en) | Image verification device, image embedding device, image detection device, image embedding method, image detection method, computer program, and printed matter manufacturing method | |
TWI411927B (en) | Method of embedding information in input image, method of extracting information from input image and related apparatuses thereof | |
JP2006186509A (en) | Watermark system | |
JP2008085579A (en) | Device for embedding information, information reader, method for embedding information, method for reading information and computer program | |
JP3545782B2 (en) | How to keep confidential documents confidential | |
JP4613807B2 (en) | Document processing apparatus and document processing method | |
Pamboukian et al. | Reversible data hiding and reversible authentication watermarking for binary images | |
JP2007036652A (en) | Image processing method, image processing apparatus, program, and storage medium | |
JP2005295458A (en) | Information detecting apparatus, information embedding apparatus, image processing system, information detecting method, and information embedding method | |
JP4192906B2 (en) | Watermark information detection apparatus and watermark information detection method | |
Puhan et al. | Secure tamper localization in binary document image authentication | |
Puhan et al. | Localization and text sequence restoration using noise pixels in binary document image watermarking | |
JP5176940B2 (en) | Image processing apparatus and program |