JP4662367B2 - Information symbol encoding method and apparatus, information symbol decoding method and decoding apparatus - Google Patents

Information symbol encoding method and apparatus, information symbol decoding method and decoding apparatus Download PDF

Info

Publication number
JP4662367B2
JP4662367B2 JP2006114392A JP2006114392A JP4662367B2 JP 4662367 B2 JP4662367 B2 JP 4662367B2 JP 2006114392 A JP2006114392 A JP 2006114392A JP 2006114392 A JP2006114392 A JP 2006114392A JP 4662367 B2 JP4662367 B2 JP 4662367B2
Authority
JP
Japan
Prior art keywords
error correction
decoded
symbols
check value
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2006114392A
Other languages
Japanese (ja)
Other versions
JP2007288576A (en
Inventor
勲 篠原
尚 金田
豊 細金
伊津美 間嶋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kyodo Printing Co Ltd
Original Assignee
Kyodo Printing Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Kyodo Printing Co Ltd filed Critical Kyodo Printing Co Ltd
Priority to JP2006114392A priority Critical patent/JP4662367B2/en
Publication of JP2007288576A publication Critical patent/JP2007288576A/en
Application granted granted Critical
Publication of JP4662367B2 publication Critical patent/JP4662367B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、情報シンボルの符号化方法及びその装置並びに情報シンボルの復号化方法及び復号化装置に関し、特に、二次元周波数空間に配置する情報シンボルを符号化するための符号化方法及びその装置並びに二次元周波数空間に配置された情報シンボルを復号化するための復号化方法及びその装置に関する。   The present invention relates to an information symbol encoding method and apparatus, and an information symbol decoding method and apparatus, and more particularly to an encoding method and apparatus for encoding information symbols arranged in a two-dimensional frequency space, and The present invention relates to a decoding method and apparatus for decoding information symbols arranged in a two-dimensional frequency space.

バーコードを印刷物やホームページに表示し、このバーコードをカメラで撮影し、撮影されたバーコードを基に、例えばURL等のデータを得る方法が普及しているが、このような方法では、バーコードにより印刷物やホームページの体裁が下がってしまう。   A method of displaying a barcode on a printed matter or a homepage, photographing the barcode with a camera, and obtaining data such as a URL based on the photographed barcode is widely used. The code will reduce the appearance of printed materials and websites.

このような問題を解決するために、画像にデータを表す電子透かしを挿入する方法が提案されている。この方法を利用すれば、撮影された画像からデータを得ることができるので、バーコードが不要となる。   In order to solve such a problem, a method of inserting a digital watermark representing data into an image has been proposed. If this method is used, data can be obtained from the captured image, so that a barcode is not necessary.

このような方法に係る発明として、挿入装置は、拡大縮小率検出用パターン、回転角検出用パターン、候補位置のうち挿入データにより組み合わされる位置にデータパターンを設定し、全てのパターンを合わせて逆フーリエ変換し、原画像に変換により得た画像を加算し、検出装置は、画像をブロックに分割し、各ブロックのデータをフーリエ変換して各ブロックの各周波数成分の振幅を得て、各周波数成分の振幅をブロック間で加算して各周波数毎の総和振幅を得て、拡大縮小率検出用パターンで画像の拡大縮小率を検出し、回転角検出用パターンで画像の回転角を検出し、拡大縮小率及び回転角が補正された総和振幅で候補位置にあるもののうち相対的に大きな値を示す所定数の総和振幅の位置の組み合わせを基にデータを検出するような発明がある(例えば、特許文献1参照。)この発明は、特にカメラで画像を撮影した場合に、画像の縮尺が変化し、また、画像が回転してしまい、このためにデータを表す電子透かしを検出することができなくなってしまうという問題を解決するために、画像の拡大縮小率及び回転角度を検出するための電子透かしを画像に埋め込んでおくものである。
特開2004−15396号公報
As an invention relating to such a method, the insertion device sets a data pattern at a position to be combined by insertion data among an enlargement / reduction ratio detection pattern, a rotation angle detection pattern, and candidate positions, and reverses all patterns together. The Fourier transform is performed, the image obtained by the transform is added to the original image, and the detection device divides the image into blocks, Fourier transforms the data of each block to obtain the amplitude of each frequency component of each block, and each frequency Add component amplitude between blocks to obtain total amplitude for each frequency, detect image enlargement / reduction ratio with enlargement / reduction ratio detection pattern, detect rotation angle of image with rotation angle detection pattern, Data is detected based on a combination of positions of a predetermined number of total amplitudes that indicate a relatively large value among the total amplitudes at which the enlargement / reduction ratio and rotation angle are corrected and that are at candidate positions. There is an invention (see, for example, Patent Document 1). In the present invention, particularly when an image is taken with a camera, the scale of the image is changed and the image is rotated. In order to solve the problem that the image cannot be detected, a digital watermark for detecting the enlargement / reduction ratio and rotation angle of the image is embedded in the image.
JP 2004-15396 A

特許文献1に記載されている発明によれば、候補位置のうち挿入データにより組み合わされる位置にデータパターンを設定することにより、データが誤って検出される可能性を下げているが、これだけでは不十分である場合がある。例えば、誤ってデータが検出されると、ユーザに撮影した画像と全く関係がないコンテンツが提供されたりして、コンテンツ提供を運用する組織の信用が下がってしまう可能性がある。   According to the invention described in Patent Document 1, the possibility that data is erroneously detected is reduced by setting a data pattern at a position that is combined with insertion data among candidate positions. May be sufficient. For example, if data is erroneously detected, content that has nothing to do with the image taken by the user may be provided, which may reduce the trust of the organization that operates the content provision.

そこで、本発明は、電子透かしの形態で挿入されたデータが誤って検出されてしまう可能性を極力減らすことを可能とする、情報シンボルの符号化方法及びその装置並びに情報シンボルの復号化方法及び復号化装置を提供することを目的とする。   Therefore, the present invention provides an information symbol encoding method and apparatus, an information symbol decoding method, and an information symbol decoding method capable of reducing the possibility that data inserted in the form of a digital watermark is erroneously detected. An object of the present invention is to provide a decoding device.

本発明の第1の観点によれば、複数の情報シンボルにより表される数値に対して所定の演算を施すことにより中間検査値を得る中間検査値算出ステップと、前記中間検査値を複数の中間シンボルで表す中間シンボル生成ステップと、前記複数の中間シンボルに検査シンボルを付加することにより誤り訂正符号語を生成する誤り符号語生成ステップと、前記複数の情報シンボルと前記誤り訂正符号語とを出力する出力ステップと、を備えることを特徴とする符号化方法が提供される。   According to the first aspect of the present invention, an intermediate inspection value calculation step for obtaining an intermediate inspection value by performing a predetermined operation on a numerical value represented by a plurality of information symbols; An intermediate symbol generation step represented by a symbol, an error codeword generation step of generating an error correction codeword by adding a check symbol to the plurality of intermediate symbols, and outputting the plurality of information symbols and the error correction codeword And an output step. An encoding method is provided.

本発明の第2の観点によれば、本発明の第1の観点による符号化方法において、前記中間検査値算出ステップでは、前記複数の情報シンボルそれぞれがN進数で表される数値を表す重み付きビットであると扱い、その数値を前記誤り訂正符号語を構成する複数の中間シンボルを得るための数値で除算し、該除算により得られる剰余を前記中間検査値とすることを特徴とする符号化方法が提供される。   According to a second aspect of the present invention, in the encoding method according to the first aspect of the present invention, in the intermediate check value calculation step, the plurality of information symbols are weighted to represent a numerical value represented by an N-ary number. Encoding characterized in that it is treated as a bit, and the numerical value is divided by a numerical value for obtaining a plurality of intermediate symbols constituting the error correction codeword, and a remainder obtained by the division is used as the intermediate check value A method is provided.

本発明の第3の観点によれば、本発明の第1の観点による符号化方法において、前記中間検査値算出ステップでは、前記複数の情報シンボルに対しハッシュ関数をかけ、これにより得られるハッシュ値を前記中間検査値とすることを特徴とする符号化方法が提供される。   According to a third aspect of the present invention, in the encoding method according to the first aspect of the present invention, in the intermediate check value calculation step, a hash function is obtained by applying a hash function to the plurality of information symbols. Is provided as the intermediate check value.

本発明の第4の観点によれば、本発明の第1の観点による符号化方法において、前記出力ステップでは、各情報シンボルを3以上奇数個重複して出力することを特徴とする符号化方法が提供される。   According to a fourth aspect of the present invention, in the encoding method according to the first aspect of the present invention, in the output step, an odd number of three or more information symbols are output in an overlapping manner. Is provided.

本発明の第5の観点によれば、本発明の第1の観点による符号化方法において、前記情報シンボル、前記中間シンボル及び前記検査シンボルは二進数のシンボルであり、値が1となる情報シンボルの数は所定数であり、前記出力ステップにおいては、値が1となるデータの数が一定数となるように、値が1の所定数の情報シンボルそれぞれを1つのデータとして出力し、前記誤り訂正符号語に含まれる各中間シンボルと各検査シンボルとを相補的なデータ値を有する一対のデータとして出力することを特徴とする符号化方法が提供される。   According to a fifth aspect of the present invention, in the encoding method according to the first aspect of the present invention, the information symbol, the intermediate symbol, and the check symbol are binary symbols, and the information symbol has a value of 1 In the output step, each of a predetermined number of information symbols with a value of 1 is output as one data so that the number of data with a value of 1 is a fixed number, and the error An encoding method is provided that outputs each intermediate symbol and each check symbol included in the correction codeword as a pair of data having complementary data values.

本発明の第6の観点によれば、本発明の第1の観点による符号化方法により出力され、伝送路において誤りが加算された可能性がある前記複数の情報シンボルと、本発明の第1の観点による符号化方法により出力され、伝送路において誤りが加算された可能性がある前記誤り訂正符号語とを入力する入力ステップと、前記誤り訂正符号語に対し誤り訂正処理を施すことにより、複数の復号化中間シンボルを得る誤り訂正ステップと、前記複数の復号化中間シンボルを基に第1の復号化中間検査値を得る第1中間検査値算出ステップと、前記複数の情報シンボルにより表される数値に対し前記所定の演算を施すことにより第2の復号化中間検査値を得る第2中間検査値算出ステップと、前記第1の復号化中間検査値と前記第2の復号化中間検査値とを比較し、両者が一致していない場合には、誤りが残っていると判断するステップと、を備えることを特徴とする復号化方法が提供される。   According to a sixth aspect of the present invention, the plurality of information symbols that are output by the encoding method according to the first aspect of the present invention and that may have been added with errors in the transmission path, and the first of the present invention An input step of inputting the error correction codeword that is output by the encoding method according to the above aspect and that may have been added with an error in a transmission path, and performing error correction processing on the error correction codeword, An error correction step for obtaining a plurality of decoded intermediate symbols; a first intermediate check value calculating step for obtaining a first decoded intermediate check value based on the plurality of decoded intermediate symbols; and the plurality of information symbols. A second intermediate check value calculating step for obtaining a second decoded intermediate check value by performing the predetermined operation on the numerical value, the first decoded intermediate check value and the second decoded intermediate check Comparing the door, when both do not match, the decoding method characterized by comprising the steps of: determining that the remaining error is provided.

本発明の第7の観点によれば、本発明の第2の観点による符号化方法により出力され、伝送路において誤りが加算された可能性がある前記複数の情報シンボルと、本発明の第2の観点による符号化方法により出力され、伝送路において誤りが加算された可能性がある前記誤り訂正符号語とを入力する入力ステップと、前記誤り訂正符号語に対し誤り訂正処理を施すことにより、複数の復号化中間シンボルを得る誤り訂正ステップと、前記複数の復号化中間シンボルを基に第1の復号化中間検査値を得る第1中間検査値算出ステップと、前記複数の情報シンボルにより表される数値に対し前記所定の演算を施すことにより第2の復号化中間検査値を得る第2中間検査値算出ステップと、前記第1の復号化中間検査値と前記第2の復号化中間検査値とを比較し、両者が一致していない場合には、誤りが残っていると判断するステップと、を備え、前記第2中間検査値算出ステップでは、前記複数の情報シンボルそれぞれがN進数で表される数値を表す重み付きビットであると扱い、その数値を前記誤り訂正符号語を構成する複数の中間シンボルを得るための数値で除算し、該除算により得られる剰余を前記第2の復号化中間検査値とすることを特徴とする復号化方法が提供される。   According to a seventh aspect of the present invention, the plurality of information symbols output by the encoding method according to the second aspect of the present invention and possibly including an error added in the transmission path, and the second of the present invention An input step of inputting the error correction codeword that is output by the encoding method according to the above-mentioned viewpoint and that may have been added with an error in a transmission path, and performing error correction processing on the error correction codeword, An error correction step for obtaining a plurality of decoded intermediate symbols; a first intermediate check value calculating step for obtaining a first decoded intermediate check value based on the plurality of decoded intermediate symbols; and the plurality of information symbols. A second intermediate check value calculating step for obtaining a second decoded intermediate check value by performing the predetermined operation on the numerical value, the first decoded intermediate check value and the second decoded intermediate check And in the case where the two do not coincide with each other, it is determined that an error remains. In the second intermediate check value calculation step, each of the plurality of information symbols is represented by an N-ary number. The numerical value is divided by a numerical value for obtaining a plurality of intermediate symbols constituting the error correction codeword, and the remainder obtained by the division is decoded by the second decoding A decoding method is provided that is characterized by an intermediate check value.

本発明の第8の観点によれば、本発明の第3の観点による符号化方法により出力され、伝送路において誤りが加算された可能性がある前記複数の情報シンボルと、本発明の第3の観点による符号化方法により出力され、伝送路において誤りが加算された可能性がある前記誤り訂正符号語とを入力する入力ステップと、前記誤り訂正符号語に対し誤り訂正処理を施すことにより、複数の復号化中間シンボルを得る誤り訂正ステップと、前記複数の復号化中間シンボルを基に第1の復号化中間検査値を得る第1中間検査値算出ステップと、前記複数の情報シンボルにより表される数値に対し前記所定の演算を施すことにより第2の復号化中間検査値を得る第2中間検査値算出ステップと、前記第1の復号化中間検査値と前記第2の復号化中間検査値とを比較し、両者が一致していない場合には、誤りが残っていると判断するステップと、を備え、前記第2中間検査値算出ステップでは、前記複数の情報シンボルに対しハッシュ関数をかけ、これにより得られるハッシュ値を前記中間検査値とすることを特徴とする復号化方法が提供される。   According to an eighth aspect of the present invention, the plurality of information symbols that are output by the encoding method according to the third aspect of the present invention and that may have been added with errors in the transmission path, and the third aspect of the present invention. An input step of inputting the error correction codeword that is output by the encoding method according to the above aspect and that may have been added with an error in a transmission path, and performing error correction processing on the error correction codeword, An error correction step for obtaining a plurality of decoded intermediate symbols; a first intermediate check value calculating step for obtaining a first decoded intermediate check value based on the plurality of decoded intermediate symbols; and the plurality of information symbols. A second intermediate check value calculating step for obtaining a second decoded intermediate check value by performing the predetermined operation on the numerical value, the first decoded intermediate check value and the second decoded intermediate check And in the case where the two do not match, the step of determining that an error remains is included. In the second intermediate check value calculation step, a hash function is applied to the plurality of information symbols. A decryption method is provided in which the hash value obtained thereby is used as the intermediate check value.

本発明の第9の観点によれば、本発明の第4の観点による符号化方法により出力され、伝送路において誤りが加算された可能性がある前記複数の情報シンボルと、本発明の第4の観点による符号化方法により出力され、伝送路において誤りが加算された可能性がある前記誤り訂正符号語とを入力する入力ステップと、前記誤り訂正符号語に対し誤り訂正処理を施すことにより、複数の復号化中間シンボルを得る誤り訂正ステップと、前記複数の復号化中間シンボルを基に第1の復号化剰余を得る第1剰余算出ステップと、前記情報シンボルに対し、多数決により誤り訂正を施す多数決ステップと、前記多数決により誤り訂正された前記複数の情報シンボルにより表される数値に対し除算を施すことにより第2復号化剰余を得る第2剰余算出ステップと、前記第1の復号化剰余と前記第2の復号化剰余とを比較し、両者が一致していない場合には、誤りが残っていると判断するステップと、を備えることを特徴とする復号化方法が提供される。   According to a ninth aspect of the present invention, the plurality of information symbols that are output by the encoding method according to the fourth aspect of the present invention and that may have been added with errors in the transmission path, and the fourth aspect of the present invention. An input step of inputting the error correction codeword that is output by the encoding method according to the above aspect and that may have been added with an error in a transmission path, and performing error correction processing on the error correction codeword, An error correction step for obtaining a plurality of decoded intermediate symbols, a first residue calculation step for obtaining a first decoded residue based on the plurality of decoded intermediate symbols, and error correction by majority vote for the information symbols A majority step and a second residue calculation step for obtaining a second decoded residue by performing division on a numerical value represented by the plurality of information symbols error-corrected by the majority vote. And comparing the first decoding residue and the second decoding residue and determining that there is an error if they do not match, A decoding method is provided.

本発明の第10の観点によれば、本発明の第5の観点による符号化方法により出力され、伝送路において誤りが加算された可能性がある前記複数の情報シンボルと、本発明の第5の観点による符号化方法により出力され、伝送路において誤りが加算された可能性がある前記誤り訂正符号語とを表すデータを入力する入力ステップと、入力したデータのうち値が1つなるデータの数が前記一定数でない場合には、処理をエラー終了するエラー終了ステップと、前記誤り訂正符号語に対し誤り訂正処理を施すことにより、複数の復号化中間シンボルを得る誤り訂正ステップと、前記複数の復号化中間シンボルを基に第1の復号化剰余を得る第1剰余算出ステップと、前記複数の情報シンボルにより表される数値に対し除算を施すことにより第2復号化剰余を得る第2剰余算出ステップと、前記第1の復号化剰余と前記第2の復号化剰余とを比較し、両者が一致していない場合には、誤りが残っていると判断するステップと、を備えることを特徴とする復号化方法が提供される。   According to a tenth aspect of the present invention, the plurality of information symbols output by the encoding method according to the fifth aspect of the present invention and possibly including an error added in the transmission path, and the fifth aspect of the present invention An input step of inputting data representing the error correction codeword that may have been added with an error in the transmission path, and a data having a single value among the input data If the number is not the fixed number, an error ending step for ending the process in error, an error correction step for obtaining a plurality of decoded intermediate symbols by performing error correction processing on the error correction codeword, A first residue calculating step for obtaining a first decoded residue based on the decoded intermediate symbols, and dividing the numerical values represented by the plurality of information symbols into a second recovery A second residue calculating step for obtaining a residue, and a step of comparing the first decoding residue and the second decoding residue and determining that an error remains if they do not match. And a decoding method characterized by comprising:

本発明の第6乃至第10の何れか1の観点によるの復号化方法において、前記誤り訂正ステップにおいて、誤り訂正ができない場合には、処理をエラー終了するエラー終了ステップを更に備えるようにしてもよい。   In the decoding method according to any one of the sixth to tenth aspects of the present invention, the error correction step may further include an error ending step for ending the processing in error when error correction cannot be performed. Good.

本発明によれば、電子透かしの形態で挿入されたデータが誤って検出されてしまう可能性を極力減らすことが可能となる。誤って検出される可能性がある程度ある場合には、検出エラーとする。そうすれば、ユーザは、再度画像の撮影からやり直しをすることができ、その結果、次回には正しくデータを検出することができる可能性が生じる。   According to the present invention, it is possible to reduce as much as possible the possibility of erroneously detecting data inserted in the form of a digital watermark. If there is a possibility of erroneous detection, a detection error is assumed. Then, the user can start again from taking an image, and as a result, there is a possibility that data can be detected correctly next time.

以下、図面を参照して本発明を実施するための最良の形態について詳細に説明する。   The best mode for carrying out the present invention will be described below in detail with reference to the drawings.

[実施形態1]
本実施形態では、電子透かし挿入装置は、原画像に、IDに対応した電子透かしを挿入する。
[Embodiment 1]
In the present embodiment, the digital watermark insertion device inserts a digital watermark corresponding to the ID into the original image.

IDを表す情報ビットは、全部で38ビットあるが、これは、A−1〜A6、B1〜B6、C1〜C6、D1〜D6、E1〜E6、F1〜F6、G1及びG2である。図1に示すように、1個の情報ビットには、周波数空間にある半円上の3個の点が対応する(例えば、情報ビットA−1に対しては円7の点0、1、2が対応する)。情報ビットの値が1である場合には、3点は全て所定値(データが1の値)を有し、情報ビットの値がゼロである場合には、3点の振幅は全て振幅がゼロである。   There are a total of 38 information bits representing ID, which are A-1 to A6, B1 to B6, C1 to C6, D1 to D6, E1 to E6, F1 to F6, G1 and G2. As shown in FIG. 1, one information bit corresponds to three points on a semicircle in the frequency space (for example, points 0, 1, and 0 of circle 7 for information bit A-1). 2 corresponds). When the value of the information bit is 1, all three points have a predetermined value (data is 1 value), and when the value of the information bit is zero, the amplitude of all three points is zero. It is.

また、全部で38個の情報ビットは、2つのグループに分割される。例えば、第1のグループに属する情報ビットは、A1〜A3、B1〜B3、C1〜C3、D1〜D3、E1〜E3、F1〜F3及びG1の19個の情報ビットであり、第2のグループに属する情報ビットは、A4〜A6、B4〜B6、C4〜C6、D4〜D6、E4〜E6、F4〜F6及びG2の19個のビットである。   Also, a total of 38 information bits are divided into two groups. For example, the information bits belonging to the first group are 19 information bits of A1 to A3, B1 to B3, C1 to C3, D1 to D3, E1 to E3, F1 to F3 and G1, and the second group The information bits belonging to are 19 bits of A4 to A6, B4 to B6, C4 to C6, D4 to D6, E4 to E6, F4 to F6 and G2.

第1のグループに属する19個の情報ビットを基に第1のグループに属する4個の中間ビットを生成する。そして、4個の中間ビットに3個の検査ビットを追加することにより1誤り訂正2誤り検出能力を有する第1のハミング符号語を生成する。   Four intermediate bits belonging to the first group are generated based on the 19 information bits belonging to the first group. Then, by adding three check bits to the four intermediate bits, a first Hamming codeword having 1 error correction and 2 error detection capabilities is generated.

同様に、第2のグループに属する19個の情報ビットを基に第2のグループに属する4個の中間ビットを生成する。そして、4個の中間ビットに3個の検査ビットを追加することにより1誤り訂正2誤り検出能力を有する第2のハミング符号語を生成する。   Similarly, four intermediate bits belonging to the second group are generated based on 19 information bits belonging to the second group. Then, by adding three check bits to the four intermediate bits, a second Hamming codeword having 1 error correction and 2 error detection capabilities is generated.

図1で、ハ1−1〜ハ1−7の枠内にある点は、第1のハミング符号語に対応する点である。各枠内の2つの点は、第1のハミング符号語の各ビットに対応する。例えば、ハ1−1の枠内にある2つの点は、第1のハミング符号語の第1の中間ビットに対応し、ハ1−2の枠内にある2つの点は、第1のハミング符号語の第2の中間ビットに対応し、ハ1−3の枠内にある2つの点は、第1のハミング符号語の第3の中間ビットに対応し、ハ1−4の枠内にある2つの点は、第1のハミング符号語の第4の中間ビットに対応し、ハ1−5の枠内にある2つの点は、第1のハミング符号語の第1の検査ビットに対応し、ハ1−6の枠内にある2つの点は、第1のハミング符号語の第2の検査ビットに対応し、ハ1−7の枠内にある2つの点は、第1のハミング符号語の第3の検査ビットに対応する。   In FIG. 1, points within the frame of C 1-1 to C 1-7 are points corresponding to the first Hamming codeword. Two points in each frame correspond to each bit of the first Hamming codeword. For example, two points in the frame of Ha 1-1 correspond to the first intermediate bit of the first Hamming codeword, and two points in the frame of Ha 1-2 are the first Hamming. The two points corresponding to the second intermediate bit of the codeword and within the frame of C1-3 correspond to the third intermediate bit of the first Hamming codeword and are within the frame of C1-4. Two points correspond to the fourth intermediate bit of the first Hamming codeword, and two points within the frame of Ha-1-5 correspond to the first check bit of the first Hamming codeword The two points in the frame 1-6 correspond to the second check bits of the first Hamming codeword, and the two points in the frame 1-7 are the first Hamming Corresponds to the third check bit of the codeword.

各枠内にある2つの点は相補的な値を有する。例えば、第1のハミング符号語の第1の中間ビットの値がゼロである場合には、枠ハ1−1内にある2つの点のうちの第1の点の値はゼロであり、他方の点の値は所定値(データが1の値)である。他方、第1のハミング符号語の第1の中間ビットの値が1である場合には、枠ハ1−1内にある2つの点のうちの第1の点の値は所定値(データが1の値)であり、他方の点の値はゼロである。他の点についても同様である。   The two points within each frame have complementary values. For example, if the value of the first intermediate bit of the first Hamming codeword is zero, the value of the first point of the two points in the frame c 1-1 is zero, while the other The value of the point is a predetermined value (data is a value of 1). On the other hand, when the value of the first intermediate bit of the first Hamming codeword is 1, the value of the first point of the two points in the frame c 1-1 is a predetermined value (data is 1) and the value of the other point is zero. The same applies to other points.

図1で、ハ2−1〜ハ2−7の枠内にある点は、第2のハミング符号語に対応する点である。各枠内の2つの点は、第2のハミング符号語の各ビットに対応する。例えば、ハ2−1の枠内にある2つの点は、第2のハミング符号語第1の中間ビットに対応し、ハ2−2の枠内にある2つの点は、第2のハミング符号語第2の中間ビットに対応し、ハ2−3の枠内にある2つの点は、第2のハミング符号語第3の中間ビットに対応し、ハ2−4の枠内にある2つの点は、第2のハミング符号語第4の中間ビットに対応し、ハ2−5の枠内にある2つの点は、第2のハミング符号語の第1の検査ビットに対応し、ハ2−6の枠内にある2つの点は、第2のハミング符号語の第2の検査ビットに対応し、ハ2−7の枠内にある2つの点は、第2のハミング符号語の第3の検査ビットに対応する。   In FIG. 1, points within the frames of C2-1 to C2-7 correspond to the second Hamming codeword. Two points in each frame correspond to each bit of the second Hamming codeword. For example, two points within the frame of Ha 2-1 correspond to the first intermediate bit of the second Hamming codeword, and two points within the frame of Ha 2-2 are the second Hamming code. The two points corresponding to the second intermediate bit of the word and in the frame of C2-3 correspond to the second intermediate bit of the second Hamming codeword and the two points in the frame of C2-4 The point corresponds to the fourth intermediate bit of the second Hamming codeword, and the two points within the frame of Ha-2-5 correspond to the first check bit of the second Hamming codeword, The two points within the -6 frame correspond to the second check bit of the second Hamming codeword, and the two points within the frame 2-7 correspond to the second Hamming codeword. Corresponds to 3 check bits.

各枠内にある2つの点は相補的な値を有する。例えば、第2のハミング符号語の第1の中間ビットの値がゼロである場合には、枠ハ2−1内にある2つの点のうちの第1の点の値はゼロであり、他方の点の値は所定値(データが1の値)である。他方、第2のハミング符号語第1の中間ビットの値が1である場合には、枠ハ2−1内にある2つの点のうちの第1の点の値は所定値(データが1の値)であり、他方の点の値はゼロである。他の点についても同様である。   The two points within each frame have complementary values. For example, when the value of the first intermediate bit of the second Hamming codeword is zero, the value of the first point out of the two points in the frame c 2-1 is zero, The value of the point is a predetermined value (data is a value of 1). On the other hand, when the value of the first intermediate bit of the second Hamming codeword is 1, the value of the first point of the two points in the frame c 2-1 is a predetermined value (data is 1 The value of the other point is zero. The same applies to other points.

次に、情報ビットから中間ビットを生成し、更にハミング符号語を生成する方法について説明をする。   Next, a method for generating intermediate bits from information bits and further generating a Hamming codeword will be described.

N個の情報ビットを以下のように表す。   N information bits are represented as follows.

N-1、・・・x3、x2、x1、x
この場合、中間ビットの基となる数値を以下のようにして表す。
x N-1 ,... x 3 , x 2 , x 1 , x 0
In this case, the numerical value that is the basis of the intermediate bit is expressed as follows.

y=MOD((xN-2×2N-2+・・・+x2×22+x0×20)/16)
z=MOD((xN-1×2N-1+・・・+x3×23+x1×21)/16)
すなわち、1ビット置きにグループ1とグループに分け、グループ毎に各ビットに2のべき乗を乗じて得た値の合計値を取り、これを16で除算して得た剰余を中間ビットの基となる数値とする。ここで、べき乗の値は、各グループの各ビットのビット番号である。中間ビットの基と数値となる数値は、16(=2)による除算の剰余であるので、2進数で下記のように4ビットで表すことができる。
y = MOD ((x N-2 × 2 N-2 +... + x 2 × 2 2 + x 0 × 2 0 ) / 16)
z = MOD ((x N-1 × 2 N-1 +... + x 3 × 2 3 + x 1 × 2 1 ) / 16)
That is, every other bit is divided into group 1 and group, and for each group, the total value of the values obtained by multiplying each bit by a power of 2 is taken, and the remainder obtained by dividing this by 16 is used as the base of the intermediate bits. It becomes the numerical value. Here, the power value is the bit number of each bit of each group. Since the base of the intermediate bits and the numerical value that is the numerical value is the remainder of division by 16 (= 2 4 ), it can be expressed in binary as 4 bits as shown below.

y=y3×23+y2×22+y1×21+y0×20
z=z3×23+z2×22+z1×21+z0×20
第1の中間ビットは、y、y、y、yである。第2の中間ビットは、z、z、z、zである。これらに対し、所定の生成多項式により検査ビットp,p、p、q、q、qを付加することにより
第1のハミング符号語
(y3、y2、y1、y0、p1、p2、p3
第2のハミング符号語
(z3、z2、z1、z0、q1、q2、q3
を得る。
y = y 3 × 2 3 + y 2 × 2 2 + y 1 × 2 1 + y 0 × 2 0
z = z 3 × 2 3 + z 2 × 2 2 + z 1 × 2 1 + z 0 × 2 0
The first intermediate bits are y 3 , y 2 , y 1 , y 0 . The second intermediate bits are z 3 , z 2 , z 1 , z 0 . On the other hand, by adding check bits p 1 , p 2 , p 3 , q 1 , q 2 , q 3 by a predetermined generator polynomial, the first Hamming codeword (y 3 , y 2 , y 1 , y 0, p 1, p 2, p 3)
Second Hamming codeword (z 3 , z 2 , z 1 , z 0 , q 1 , q 2 , q 3 )
Get.

図1を参照すると、第1グループに関し、中間ビットyは、枠ハ1−1に対応し、中間ビットyは、枠ハ1−2に対応し、中間ビットyは、枠ハ1−3に対応し、中間ビットyは、枠ハ1−4に対応し、検査ビットpは、枠ハ1−5に対応し、検査ビットpは、枠ハ1−6に対応し、検査ビットpは、枠ハ1−7に対応する。 Referring to FIG. 1, for the first group, intermediate bit y 3 corresponds to frame c 1-1, intermediate bit y 2 corresponds to frame c 1-2, and intermediate bit y 1 corresponds to frame c 1 -3, intermediate bit y 0 corresponds to frame c 1-4, check bit p 1 corresponds to frame c 1-5, and check bit p 2 corresponds to frame c 1-6. , check bit p 3 corresponds to Wakuha 1-7.

同様に、第2グループに関し、中間ビットzは、枠ハ2−1に対応し、中間ビットzは、枠ハ2−2に対応し、中間ビットzは、枠ハ2−3に対応し、中間ビットzは、枠ハ2−4に対応し、検査ビットqは、枠ハ2−5に対応し、検査ビットqは、枠ハ2−6に対応し、検査ビットqは、枠ハ2−7に対応する。 Similarly, for the second group, intermediate bit z 3 corresponds to frame c 2-1, intermediate bit z 2 corresponds to frame c 2-2, and intermediate bit z 1 corresponds to frame c 2-3. The intermediate bit z 0 corresponds to frame c 2-4, the check bit q 1 corresponds to frame c 2-5, the check bit q 2 corresponds to frame c 2-6, and the check bit q 3 corresponds to Wakuha 2-7.

次に、原画像に対し、IDに対応する電子透かしを挿入する電子透かし挿入装置について図2を参照して説明する。なお、図2に示す電子透かし挿入装置は、ハードウェア、ソフトウェア又はそれらの組合せにより構成することができる。   Next, a digital watermark insertion apparatus that inserts a digital watermark corresponding to an ID into an original image will be described with reference to FIG. Note that the digital watermark insertion apparatus shown in FIG. 2 can be configured by hardware, software, or a combination thereof.

図2を参照すると、ID入力部11は、IDを入力する。IDは、例えば、URLに対応したり、関連画像の識別情報を表したりする。   Referring to FIG. 2, the ID input unit 11 inputs an ID. For example, the ID corresponds to a URL or represents identification information of a related image.

情報ビット生成部13は、IDを基に情報ビットを生成する。図1を参照すると、1つの情報ビットに対して3つの点のグループが対応するので、円2に対しては情報ビットは6ビット在り、円3に対しては情報ビットは6ビット在り、円4に対しては情報ビットは6ビット在り、円5に対しては情報ビットは6ビット在り、円6に対しては情報ビットは6ビット在り、円7に対しては情報ビットは8ビット在る。また、各円において、値が1となる情報ビットの数と値がゼロとなる情報ビットの数は等しい。従って、IDのとりうる値は、(×=224000000通りとなる。 The information bit generation unit 13 generates information bits based on the ID. Referring to FIG. 1, since a group of three points corresponds to one information bit, there are 6 information bits for circle 2, 6 information bits for circle 3, For 4 there are 6 information bits, for circle 5 there are 6 information bits, for circle 6 there are 6 information bits, for circle 7 there are 8 information bits. The In each circle, the number of information bits whose value is 1 is equal to the number of information bits whose value is zero. Thus, possible values of ID becomes (6 C 3) 5 × 8 C 4 = 224000000 ways.

重複点生成部15は、1つの情報ビットに対して3つの点を生成する。但し、点の数を3以外に5、7等の奇数としてもよい。具体的には、円2〜6に対しては、それぞれ、6個の情報ビットに対して6×3=18個の点を生成し、円7に対しては、8個の情報ビットに対して8×3=24個の点を生成する。情報ビットの値が1であれば、点の振幅は所定値であり、情報ビットの値がゼロであれば、点の振幅はゼロである。   The overlapping point generator 15 generates three points for one information bit. However, the number of points may be an odd number such as 5 or 7 in addition to 3. Specifically, for circles 2-6, 6 × 3 = 18 points are generated for 6 information bits, respectively, and for circle 7, 8 information bits are generated. 8 × 3 = 24 points are generated. If the value of the information bit is 1, the amplitude of the point is a predetermined value, and if the value of the information bit is zero, the amplitude of the point is zero.

中間ビット生成部17は、上述した方法により、情報ビットを基に中間ビットを生成する。   The intermediate bit generation unit 17 generates intermediate bits based on the information bits by the method described above.

検査ビット生成部19は、中間ビットを基に所定の生成多項式によりハミング符号語の検査ビットを生成し、中間ビット及び検査ビットにより構成されるハミング符号語を出力する。   The check bit generation unit 19 generates a check bit of a Hamming codeword using a predetermined generator polynomial based on the intermediate bit, and outputs a Hamming codeword composed of the intermediate bit and the check bit.

相補点生成部21は、各中間ビット及び各検査ビットに対して、相補的な2つの点を生成する。中間ビット又は検査ビットの値がゼロであれば、それに対応する相補的な点のうちの一方の値はゼロであり、他方の値は所定値である。他方、中間ビット又は検査ビットの値が1であれば、それに対応する相補的な点のうちの一方の値は所定値であり、他方の値はゼロである。   The complementary point generator 21 generates two complementary points for each intermediate bit and each check bit. If the value of the intermediate bit or check bit is zero, the value of one of the corresponding complementary points is zero and the other value is a predetermined value. On the other hand, if the value of the intermediate bit or the check bit is 1, one of the complementary points corresponding thereto is a predetermined value, and the other value is zero.

補正用点生成部23は、図1に示す回転角度検出用及び拡大縮小率検出用の点(円1の11個の点、円3の点3、点16、円6の点3、点24)を生成する。   The correction point generation unit 23 performs the rotation angle detection and enlargement / reduction ratio detection points (11 points of the circle 1, points 3 and 16 of the circle 3, points 3 and 6 of the circle 6 shown in FIG. ) Is generated.

合成部25は、二次元周波数空間において、重複点生成部15、相補点生成部21及び補正用点生成部23からの点を加算する。具体的には、2次元周波数空間においてデータ値が1である点に所定のレベルの周波数成分を配置する。   The synthesizer 25 adds the points from the overlapping point generator 15, the complementary point generator 21, and the correction point generator 23 in the two-dimensional frequency space. Specifically, a frequency component of a predetermined level is arranged at a point where the data value is 1 in the two-dimensional frequency space.

逆フーリエ変換部27は、合成部25の出力を逆フーリエ変換する。逆フーリエ変換における点の数は、原画像の点の数と等しくてもよいが、原画像よりも少なくして、同一パターンが連続するようにしてもよい。例えば、原画像のサイズが2048×2048であれば、逆フーリエ変換のサイズを2048×2048としてもよいが、例えば、128×128として、128×128のパターンが縦横に16個ずつ連続して、2048×2048の領域を覆うようにしてもよい。   The inverse Fourier transform unit 27 performs inverse Fourier transform on the output of the synthesis unit 25. The number of points in the inverse Fourier transform may be equal to the number of points in the original image, but may be smaller than the original image and the same pattern may be continuous. For example, if the size of the original image is 2048 × 2048, the size of the inverse Fourier transform may be 2048 × 2048, but for example, 128 × 128, and 16 patterns of 128 × 128 are continuously arranged vertically and horizontally, You may make it cover the area | region of 2048x2048.

加算部31は、画像入力部29が入力した原画像に対して、逆フーリエ変換部27からの出力を加算して、電子透かし入り画像を生成する。   The adding unit 31 adds the output from the inverse Fourier transform unit 27 to the original image input by the image input unit 29 to generate a digital watermarked image.

次に、誤りの検出及び訂正の方法について図3、図4及び図5を参照して説明する。なお、図3に示す電子透かし検出装置は、ハードウェア、ソフトウェア又はそれらの組合せにより構成することができる。   Next, an error detection and correction method will be described with reference to FIGS. 3, 4, and 5. FIG. Note that the digital watermark detection apparatus shown in FIG. 3 can be configured by hardware, software, or a combination thereof.

まず、フーリエ変換部51は、読み取った画像をフーリエ変換する(ステップS101)。次に、絶対値算出部53は、各周波数成分の絶対値を求める(ステップS103)。次に、補正部55は、回転角度検出用の点及び拡大縮小率検出用の点を用いて、回転角度及びスケールを補正する(ステップS105)。   First, the Fourier transform unit 51 performs a Fourier transform on the read image (step S101). Next, the absolute value calculation part 53 calculates | requires the absolute value of each frequency component (step S103). Next, the correcting unit 55 corrects the rotation angle and the scale using the rotation angle detection point and the enlargement / reduction ratio detection point (step S105).

次に、点検出部57は、各点の値がゼロであるか1であるかを検出する(ステップS107)。この検出のためには、閾値以上となるレベルの信号が埋め込まれている可能性がある点(データ値が1である可能性がある点)に窓を設け、窓を通過した周波数成分のうち絶対値レベルが閾値以上である点のうちレベルが高い順の所定数の点の値が1であるとする。窓を通過した周波数成分のうち絶対値レベルが閾値以上である点の数が所定数に達しない場合には、閾値を下げて、窓を通過した周波数成分のうち絶対値レベルが閾値以上である点の数が所定数に達するようにするが、或る程度まで下げても窓を通過した周波数成分のうち絶対値レベルが閾値以上である点の数が所定数に達しない場合には、制御部67は、エラーフラグを立ててエラー終了する。   Next, the point detection part 57 detects whether the value of each point is zero or 1 (step S107). For this detection, a window is provided at a point where a signal having a level equal to or higher than the threshold may be embedded (a point where the data value may be 1), and out of the frequency components that have passed through the window. It is assumed that the value of a predetermined number of points in descending order of the level among points whose absolute value level is equal to or greater than the threshold value is 1. If the number of points whose absolute value level is greater than or equal to the threshold value among the frequency components that have passed through the window does not reach the predetermined number, the threshold value is lowered and the absolute value level of the frequency component that has passed through the window is greater than or equal to the threshold The number of points reaches a predetermined number, but if the number of points whose absolute value level is equal to or greater than the threshold value among the frequency components that have passed through the window does not reach the predetermined number even if it is lowered to a certain level, control is performed. The unit 67 sets an error flag and ends the error.

図1の例でいえば、円2には18個の点があるが、この半分の9個の点が閾値以上となるレベルの信号が埋め込まれている点である。例えば、窓を通過した点のうち絶対値レベルが閾値以上である点の数が10個であれば、絶対値レベルが高い順の9個の点に1が埋め込まれているとする。   In the example of FIG. 1, there are 18 points in the circle 2, but a signal having a level at which half of the nine points are equal to or greater than the threshold is embedded. For example, if the number of points whose absolute value level is equal to or greater than the threshold among the points that have passed through the window is 10, it is assumed that 1 is embedded in the nine points in descending order of the absolute value level.

同様に、円3には20個の点があるが、この半分の10個の点が閾値以上となるレベルの信号が埋め込まれている点である。例えば、窓を通過した点のうち絶対値レベルが閾値以上である点の数が12個であれば、絶対値レベルが高い順の10個の点に1が埋め込まれているとする。   Similarly, although there are 20 points in the circle 3, a signal having a level at which half of the 10 points is equal to or higher than the threshold value is embedded. For example, if the number of points whose absolute value level is equal to or greater than the threshold among the points that have passed through the window is 12, it is assumed that 1 is embedded in the 10 points in descending order of the absolute value level.

同様に、円4には22個の点があるが、この半分の11個の点が閾値以上となるレベルの信号が埋め込まれている点である。例えば、窓を通過した点のうち絶対値レベルが閾値以上である点の数が12個であれば、絶対値レベルが高い順の11個の点に1が埋め込まれているとする。   Similarly, although there are 22 points in the circle 4, a signal having a level at which 11 points of the half are equal to or higher than the threshold is embedded. For example, if the number of points whose absolute value level is equal to or greater than the threshold among the points passing through the window is 12, 1 is embedded in 11 points in descending order of the absolute value level.

図4に戻り、上述したように、各点の値が検出できなかった場合には(ステップS109でNO)、制御部67は、エラーフラグを立ててエラー終了する。各点の値が検出できない場合とは、例えば、閾値を或る程度まで下げても、閾値以上となる所定数の点が検出できない場合である。   Returning to FIG. 4, as described above, when the value of each point cannot be detected (NO in step S109), the control unit 67 sets an error flag and ends the error. The case where the value of each point cannot be detected is, for example, the case where a predetermined number of points that are equal to or greater than the threshold cannot be detected even if the threshold is lowered to some extent.

次に、多数決部59は、重複点生成部15により生成された点を基に多数決を行い、その結果を情報ビットの値とする(ステップS111)。例えば、円2の点0、1及び2を基に1つの情報ビットの値を決定するが、3個の点のうちゼロ個又は1個の点の値が1であれば、情報ビットの値をゼロとし、2個又は3個の点の値が1であれば、情報ビットの値を1とする。   Next, the majority decision unit 59 makes a majority decision based on the points generated by the overlapping point generation unit 15, and sets the result as the value of the information bit (step S111). For example, the value of one information bit is determined based on the points 0, 1, and 2 of the circle 2, but if the value of zero or one of the three points is 1, the value of the information bit If the value of two or three points is 1, the value of the information bit is 1.

次に、エラー訂正部61は、2つのハミング符号語それぞれについて誤り訂正を試みる(ステップS113)。誤り訂正ができない場合(誤りが2以上ある場合)(ステップS115でNO)にはエラーフラグを立ててエラー終了する。   Next, the error correction unit 61 attempts error correction for each of the two Hamming codewords (step S113). If error correction cannot be performed (when there are two or more errors) (NO in step S115), an error flag is set and the process ends with an error.

次に、点数点検部63は、データ値が1である情報ビットの数が正しいか否かを確認する(ステップS117)。具体的には、円2〜6でデータ値が1である情報ビットの数が3であり、且つ、円7でデータ値が1である情報ビットの数が4であるか否かを確認する。正しくなければ(ステップS117でNO)、エラー終了する。   Next, the score checking unit 63 checks whether or not the number of information bits whose data value is 1 is correct (step S117). Specifically, it is confirmed whether the number of information bits having a data value of 1 in circles 2 to 6 is 3 and the number of information bits having a data value of 1 in circle 7 is 4 or not. . If not correct (NO in step S117), the process ends in error.

次に、第1剰余計算部65は、エラー訂正部61によりハミング復号(エラー訂正)された結果を用いて第1剰余を計算する(ステップS119)。   Next, the first residue calculation unit 65 calculates the first residue using the result of hamming decoding (error correction) by the error correction unit 61 (step S119).

具体的には、復号された第1のハミング符号語を
(y’3、y’2、y’1、y’0、p’1、p’2、p’3
として、復号された第2のハミング符号語
(z’3、z’2、z’1、z’0、q’1、q’2、q’3
とした場合、第1剰余y’及びz’を下式により求める。
Specifically, the decoded first Hamming codeword is (y ′ 3 , y ′ 2 , y ′ 1 , y ′ 0 , p ′ 1 , p ′ 2 , p ′ 3 ).
As a decoded second Hamming codeword (z ′ 3 , z ′ 2 , z ′ 1 , z ′ 0 , q ′ 1 , q ′ 2 , q ′ 3 )
In this case, the first remainders y ′ and z ′ are obtained by the following equation.

y’=y’3×23+y’2×22+y’1×21+y’0×20
z’=z’3×23+z’2×22+z’1×21+z’0×20
次に、第2剰余計算部67は、多数決部59により多数決(エラー訂正)された結果を用いて第2剰余を計算する(ステップS121)。
y ′ = y ′ 3 × 2 3 + y ′ 2 × 2 2 + y ′ 1 × 2 1 + y ′ 0 × 2 0
z ′ = z ′ 3 × 2 3 + z ′ 2 × 2 2 + z ′ 1 × 2 1 + z ′ 0 × 2 0
Next, the second remainder calculation unit 67 calculates the second remainder using the result of majority decision (error correction) by the majority decision unit 59 (step S121).

具体的には、第2剰余y’’及びz’’を下式により求める。   Specifically, the second remainders y ″ and z ″ are obtained by the following equations.

y’’=MOD((x’N-2×2N-2+・・・+x’2×22+x’0×20)/16)
z’’=MOD((x’N-1×2N-1+・・・+x’3×23+x’1×21)/16)
但し、x’は、多数決の結果である。
y ″ = MOD ((x ′ N−2 × 2 N−2 +... + x ′ 2 × 2 2 + x ′ 0 × 2 0 ) / 16)
z ″ = MOD ((x ′ N−1 × 2 N−1 +... + x ′ 3 × 2 3 + x ′ 1 × 2 1 ) / 16)
However, x ′ is the result of majority vote.

次に、制御部71は、第1剰余と第2剰余とが等しいか否かを調べる(ステップS123)。   Next, the control unit 71 checks whether or not the first remainder and the second remainder are equal (step S123).

具体的には、第1剰余y’と第2剰余y’’とが等しく、且つ、第1剰余z’と第2剰余z’’とが等しいか否かを調べる。   Specifically, it is checked whether the first remainder y ′ and the second remainder y ″ are equal and the first remainder z ′ and the second remainder z ″ are equal.

上記の2条件のうち少なくとも1つの条件が満たされていないことは、少なくとも1つの誤訂正が行われたことを示す。従って、このような場合にはエラーフラグを立てて、エラー終了する(ステップS123でNO)。   The fact that at least one of the above two conditions is not satisfied indicates that at least one erroneous correction has been performed. Therefore, in such a case, an error flag is set and the error ends (NO in step S123).

上記の2条件が共に成立する場合には(ステップS123でYES)、多数決の結果を用いてIDの検出を行う(ステップS125)。   If the above two conditions are both satisfied (YES in step S123), ID is detected using the result of majority decision (step S125).

[実施形態2]
実施形態1では、二進数の各ビットをそのまま用いて中間ビットを生成した。これに対し、実施形態2では、二進十進変換を行い、十進数の各桁の数値を基に中間ビットを生成する。
[Embodiment 2]
In the first embodiment, intermediate bits are generated by using the binary bits as they are. On the other hand, in the second embodiment, binary-decimal conversion is performed to generate intermediate bits based on the numerical value of each decimal digit.

すなわち、
X=xN-1×2N-1+・・・+x2×22+x0×20
=qM-1×10M-1+・・・+q2×102+q0×100
として、qM−1〜qを求め、これらを基に下式により中間ビットの基となる数値を求める。
That is,
X = x N-1 × 2 N-1 + ... + x 2 × 2 2 + x 0 × 2 0
= Q M-1 × 10 M-1 +... + Q 2 × 10 2 + q 0 × 10 0
Q M−1 to q 0 are obtained, and based on these, the numerical value that is the basis of the intermediate bit is obtained by the following equation.

y=MOD((qM-2×10M-2+・・・+q2×102+q0×100)/16)
z=MOD((qM-1×10M-1+・・・+q3×103+q1×101)/16)
次に、上記の数値y、zを下記のように二進数で表し、この二進数を表すビットを中間ビットとする。
y = MOD ((q M-2 × 10 M-2 +... + q 2 × 10 2 + q 0 × 10 0 ) / 16)
z = MOD ((q M-1 × 10 M-1 +... + q 3 × 10 3 + q 1 × 10 1 ) / 16)
Next, the numerical values y and z are expressed in binary numbers as follows, and the bits representing the binary numbers are intermediate bits.

y=y3×23+y2×22+y1×21+y0×20
z=z3×23+z2×22+z1×21+z0×20
従って、第1のハミング符号語は、
(y3、y2、y1、y0、p1、p2、p3
となり、第2のハミング符号語は、
(z3、z2、z1、z0、q1、q2、q3
となる。
y = y 3 × 2 3 + y 2 × 2 2 + y 1 × 2 1 + y 0 × 2 0
z = z 3 × 2 3 + z 2 × 2 2 + z 1 × 2 1 + z 0 × 2 0
Therefore, the first Hamming codeword is
(Y 3 , y 2 , y 1 , y 0 , p 1 , p 2 , p 3 )
And the second Hamming codeword is
(Z 3 , z 2 , z 1 , z 0 , q 1 , q 2 , q 3 )
It becomes.

復号された第1のハミング符号語を
(y’3、y’2、y’1、y’0、p’1、p’2、p’3
として、復号された第2のハミング符号語
(z’3、z’2、z’1、z’0、q’1、q’2、q’3
とした場合、第1剰余y’及びz’を下式により求める。
The decoded first Hamming codeword is (y ′ 3 , y ′ 2 , y ′ 1 , y ′ 0 , p ′ 1 , p ′ 2 , p ′ 3 )
As a decoded second Hamming codeword (z ′ 3 , z ′ 2 , z ′ 1 , z ′ 0 , q ′ 1 , q ′ 2 , q ′ 3 )
In this case, the first remainders y ′ and z ′ are obtained by the following equation.

y’=y’3×23+y’2×22+y’1×21+y’0×20
z’=z’3×23+z’2×22+z’1×21+z’0×20
また、第2剰余y’’及びz’’を下式により求める。
y ′ = y ′ 3 × 2 3 + y ′ 2 × 2 2 + y ′ 1 × 2 1 + y ′ 0 × 2 0
z ′ = z ′ 3 × 2 3 + z ′ 2 × 2 2 + z ′ 1 × 2 1 + z ′ 0 × 2 0
Further, the second remainders y ″ and z ″ are obtained by the following equations.

y’’=MOD((q’M-2×10M-2+・・・+q’2×102+q’0×100)/16)
z’’=MOD((q’M-1×10M-1+・・・+q’3×103+q’1×101)/16)
[実施形態3]
実施形態1では、下式により中間ビットの基となる数値を求めた。
y ″ = MOD ((q ′ M−2 × 10 M−2 +... + q ′ 2 × 10 2 + q ′ 0 × 10 0 ) / 16)
z ″ = MOD ((q ′ M−1 × 10 M−1 +... + q ′ 3 × 10 3 + q ′ 1 × 10 1 ) / 16)
[Embodiment 3]
In the first embodiment, the numerical value that is the basis of the intermediate bit is obtained by the following equation.

y=MOD((xN-2×2N-2+・・・+x2×22+x0×20)/16)
z=MOD((xN-1×2N-1+・・・+x3×23+x1×21)/16)
また、実施形態2では、下式により中間ビットの基となる数値を求めた。
y = MOD ((x N-2 × 2 N-2 +... + x 2 × 2 2 + x 0 × 2 0 ) / 16)
z = MOD ((x N-1 × 2 N-1 +... + x 3 × 2 3 + x 1 × 2 1 ) / 16)
In the second embodiment, the numerical value that is the basis of the intermediate bit is obtained by the following equation.

y=MOD((qM-2×10M-2+・・・+q2×102+q0×100)/16)
z=MOD((qM-1×10M-1+・・・+q3×103+q1×101)/16)
すなわち、実施形態1でも実施形態2でも飛び飛びの桁の数値を用いて、各桁の重みも維持したまま、2系列の中間ビットの基となる数値を求めた。
y = MOD ((q M-2 × 10 M-2 +... + q 2 × 10 2 + q 0 × 10 0 ) / 16)
z = MOD ((q M-1 × 10 M-1 +... + q 3 × 10 3 + q 1 × 10 1 ) / 16)
That is, in the first embodiment and the second embodiment, the numerical values that are the bases of two series of intermediate bits are obtained using the numerical values of the skipped digits while maintaining the weight of each digit.

これに対し、実施形態3では、飛び飛びの桁の数値を用いて、2系列の中間ビットの基となる数値を求める点は、実施形態1及び実施形態2と同様であるが、各桁の重みを連続したものとする。すなわち、実施形態3では、下式により中間ビットの基となる数値を求める。   On the other hand, the third embodiment is similar to the first embodiment and the second embodiment in that the numerical value that is the basis of two series of intermediate bits is obtained using the numerical value of the skipped digits. Are consecutive. That is, in the third embodiment, a numerical value that is the basis of the intermediate bit is obtained by the following equation.

X=xN-1×2N-1+・・・+x2×22+x0×20
=q2L-1×102L-1+・・・+q2×102+q0×100
y=MOD((q2L-2×10L-1+・・・+q2×101+q0×100)/16)
z=MOD((q2L-1×10L-1+・・・+q3×101+q1×101)/16)
次に、上記の数値y、zを下記のように二進数で表し、この二進数を表すビットを中間ビットとする。
X = x N-1 × 2 N-1 + ... + x 2 × 2 2 + x 0 × 2 0
= Q 2L-1 × 10 2L-1 + ... + q 2 × 10 2 + q 0 × 10 0
y = MOD ((q 2L−2 × 10 L−1 +... + q 2 × 10 1 + q 0 × 10 0 ) / 16)
z = MOD ((q 2L-1 × 10 L-1 +... + q 3 × 10 1 + q 1 × 10 1 ) / 16)
Next, the numerical values y and z are expressed in binary numbers as follows, and the bits representing the binary numbers are intermediate bits.

y=y3×23+y2×22+y1×21+y0×20
z=z3×23+z2×22+z1×21+z0×20
従って、第1のハミング符号語は、
(y3、y2、y1、y0、p1、p2、p3
となり、第2のハミング符号語は、
(z3、z2、z1、z0、q1、q2、q3
となる。
y = y 3 × 2 3 + y 2 × 2 2 + y 1 × 2 1 + y 0 × 2 0
z = z 3 × 2 3 + z 2 × 2 2 + z 1 × 2 1 + z 0 × 2 0
Therefore, the first Hamming codeword is
(Y 3 , y 2 , y 1 , y 0 , p 1 , p 2 , p 3 )
And the second Hamming codeword is
(Z 3 , z 2 , z 1 , z 0 , q 1 , q 2 , q 3 )
It becomes.

復号された第1のハミング符号語を
(y’3、y’2、y’1、y’0、p’1、p’2、p’3
として、復号された第2のハミング符号語
(z’3、z’2、z’1、z’0、q’1、q’2、q’3
とした場合、第1剰余y’及びz’を下式により求める。
The decoded first Hamming codeword is (y ′ 3 , y ′ 2 , y ′ 1 , y ′ 0 , p ′ 1 , p ′ 2 , p ′ 3 )
As a decoded second Hamming codeword (z ′ 3 , z ′ 2 , z ′ 1 , z ′ 0 , q ′ 1 , q ′ 2 , q ′ 3 )
In this case, the first remainders y ′ and z ′ are obtained by the following equation.

y’=y’3×23+y’2×22+y’1×21+y’0×20
z’=z’3×23+z’2×22+z’1×21+z’0×20
また、第2剰余y’’及びz’’を下式により求める。
y ′ = y ′ 3 × 2 3 + y ′ 2 × 2 2 + y ′ 1 × 2 1 + y ′ 0 × 2 0
z ′ = z ′ 3 × 2 3 + z ′ 2 × 2 2 + z ′ 1 × 2 1 + z ′ 0 × 2 0
Further, the second remainders y ″ and z ″ are obtained by the following equations.

y’’=MOD((q’2L-2×10L-1+・・・+q’2×101+q’0×100)/16)
z’’=MOD((q’2L-1×10L-1+・・・+q’3×101+q’1×101)/16)
[実施形態4]
実施形態1、実施形態2及び実施形態3では、2次元周波数空間に複数の円を設け、各円において、データ値が1となりうる点を所定数nだけ所定位置に定め、実際にデータ値が1となる点の数も所定数m(<n)としていた。そして、データ値が1となる点には、所定の非ゼロの振幅となる周波数成分を配置していた。こうすることにより、カメラにより撮影した画像に対し、フーリエ変換と回転角度と拡大縮小率の補正と振幅の算出を行った後に、円上の所定位置の周波数成分の振幅が大きい順に所定数個の点を検出し、それらの点の成すパターンによりIDを復元することができた。
y ″ = MOD ((q ′ 2L−2 × 10 L−1 +... + q ′ 2 × 10 1 + q ′ 0 × 10 0 ) / 16)
z ″ = MOD ((q ′ 2L−1 × 10 L−1 +... + q ′ 3 × 10 1 + q ′ 1 × 10 1 ) / 16)
[Embodiment 4]
In the first embodiment, the second embodiment, and the third embodiment, a plurality of circles are provided in the two-dimensional frequency space, and in each circle, a predetermined number n of points where the data value can be 1 is determined, and the data value is actually The number of points to be 1 was also a predetermined number m (<n). A frequency component having a predetermined non-zero amplitude is arranged at a point where the data value is 1. By doing this, after performing Fourier transform, rotation angle, enlargement / reduction ratio correction, and amplitude calculation on the image taken by the camera, a predetermined number of frequency components in a predetermined position on the circle in descending order of amplitude. The points were detected, and the ID could be restored by the pattern formed by those points.

実施形態4は、データ値が1となりうる点を所定数nだけ所定位置に定め、実際にデータ値を1とする点の数も所定数m(<n)とする点においては、実施形態1、実施形態2及び実施形態2と共通する。しかし、実施形態4では、データ値が1となりうる点の位置を円上の位置ではない位置とする。例えば、格子状にn1×n2(=n)個の位置を定め、そのうちm(<n1×n2)個の点をデータ値が1となる点とする。このようにしても、フーリエ変換と回転角度と拡大縮小率の補正と振幅の算出を行った後に、格子上の所定位置の周波数成分の振幅が大きい順に所定数個の点を検出し、それらの点の成すパターンによりIDを復元することができる。   In the fourth embodiment, a point where the data value can be 1 is set at a predetermined position by a predetermined number n, and the number of points where the data value is actually 1 is also a predetermined number m (<n). Common to the second embodiment and the second embodiment. However, in the fourth embodiment, the position of a point where the data value can be 1 is not a position on the circle. For example, n1 × n2 (= n) positions are defined in a lattice shape, and m (<n1 × n2) points among them are points where the data value is 1. Even in this case, after performing the Fourier transform, the rotation angle, the enlargement / reduction ratio correction, and the amplitude calculation, the predetermined number of points are detected in descending order of the amplitude of the frequency component at the predetermined position on the lattice. An ID can be restored by a pattern formed by dots.

[実施形態5]
実施形態1乃至4では、情報シンボルにより表される数値に対し除算を施すことにより剰余を求め、これを複数の中間シンボルで表し、中間シンボルに対し検査シンボルを付加することによりハミング符号語を生成していた。
[Embodiment 5]
In the first to fourth embodiments, a remainder is obtained by dividing a numerical value represented by an information symbol, this is represented by a plurality of intermediate symbols, and a check symbol is added to the intermediate symbol to generate a Hamming codeword. Was.

これに対し、実施形態5では、情報シンボルにより表される数値をハッシュ関数に入力し、これにより得られるハッシュ値を中間シンボルで表し、中間シンボルに対し検査シンボルを付加することによりハミング符号語を生成する。   In contrast, in the fifth embodiment, a numerical value represented by an information symbol is input to a hash function, a hash value obtained thereby is represented by an intermediate symbol, and a check symbol is added to the intermediate symbol to obtain a Hamming codeword. Generate.

複数の情報ビットを2つのグループに分割し、それぞれのグループの情報シンボルを、同一又は異なったハッシュ関数に入力することにより、グループ毎のハッシュ値を得るようにしてもよい。また、複数の情報シンボル全体を、相互に異なった複数のハッシュ関数に入力し、それぞれのハッシュ関数から得られるそれぞれのハッシュ値をそれぞれのグループの中間シンボルとしてもよい。   A plurality of information bits may be divided into two groups, and information symbols of each group may be input to the same or different hash functions to obtain a hash value for each group. Alternatively, the entire plurality of information symbols may be input to a plurality of mutually different hash functions, and the respective hash values obtained from the respective hash functions may be used as intermediate symbols of the respective groups.

[実施形態6]
実施形態1乃至5では、中間シンボルに対し検査シンボルを付加する際、ハミング符号語の生成多項式を用いていた。しかし、それ以外の生成多項式を用いて、ハミング符号語以外の誤り訂正符号語を生成してもよい。
[Embodiment 6]
In the first to fifth embodiments, a Hamming codeword generator polynomial is used when adding a check symbol to an intermediate symbol. However, an error correction codeword other than a Hamming codeword may be generated using other generator polynomials.

本発明の実施形態による電子透かしの周波数空間におけるパターンを示す図である。It is a figure which shows the pattern in the frequency space of the digital watermark by embodiment of this invention. 本発明の実施形態による電子透かし挿入装置の構成を示すブロック図である。It is a block diagram which shows the structure of the digital watermark insertion apparatus by embodiment of this invention. 本発明の実施形態による電子透かし検出装置の構成を示すブロック図である。It is a block diagram which shows the structure of the digital watermark detection apparatus by embodiment of this invention. 本発明の実施形態1による電子透かし検出方法を示すフローチャート(1/2)である。It is a flowchart (1/2) which shows the digital watermark detection method by Embodiment 1 of this invention. 本発明の実施形態1による電子透かし検出方法を示すフローチャート(2/2)である。It is a flowchart (2/2) which shows the digital watermark detection method by Embodiment 1 of this invention.

符号の説明Explanation of symbols

11 ID入力部
13 情報点生成部
15 重複点生成部
17 中間ビット生成部
19 検査ビット生成部
21 相補点生成部
23 補正用点生成部
25 合成部
27 逆フーリエ変換部
29 画像入力部
31 加算部
51 フーリエ変換部
53 絶対値算出部
55 補正部
57 点検出部
59 多数決部
61 エラー訂正部
63 点数点検部
65 第1剰余計算部
67 第2剰余計算部
69 ID検出部
71 制御部
11 ID input unit 13 Information point generation unit 15 Duplicate point generation unit 17 Intermediate bit generation unit 19 Check bit generation unit 21 Complementary point generation unit 23 Correction point generation unit 25 Composition unit 27 Inverse Fourier transform unit 29 Image input unit 31 Addition unit 51 Fourier transform unit 53 Absolute value calculation unit 55 Correction unit 57 Point detection unit 59 Majority determination unit 61 Error correction unit 63 Score check unit 65 First residue calculation unit 67 Second residue calculation unit 69 ID detection unit 71 Control unit

Claims (23)

複数の情報シンボルにより表される数値に対して所定の演算を施すことにより中間検査値を得る中間検査値算出ステップと、
前記中間検査値を複数の中間シンボルで表す中間シンボル生成ステップと、
前記複数の中間シンボルに検査シンボルを付加することにより誤り訂正符号語を生成する誤り符号語生成ステップと、
前記複数の情報シンボルと前記誤り訂正符号語とを出力する出力ステップと、
を備えることを特徴とする符号化方法。
An intermediate inspection value calculation step for obtaining an intermediate inspection value by performing a predetermined operation on a numerical value represented by a plurality of information symbols;
An intermediate symbol generation step of representing the intermediate inspection value with a plurality of intermediate symbols;
An error codeword generation step of generating an error correction codeword by adding a check symbol to the plurality of intermediate symbols;
An output step of outputting the plurality of information symbols and the error correction codeword;
An encoding method comprising:
請求項1に記載の符号化方法において、
前記中間検査値算出ステップでは、前記複数の情報シンボルそれぞれがN進数で表される数値を表す重み付きビットであると扱い、その数値を前記誤り訂正符号語を構成する複数の中間シンボルを得るための数値で除算し、該除算により得られる剰余を前記中間検査値とすることを特徴とする符号化方法。
The encoding method according to claim 1,
In the intermediate check value calculation step, each of the plurality of information symbols is treated as a weighted bit representing a numerical value represented by an N-ary number, and the numerical value is obtained to obtain a plurality of intermediate symbols constituting the error correction codeword The encoding method is characterized in that the remainder obtained by the division is used as the intermediate check value.
請求項1に記載の符号化方法において、
前記中間検査値算出ステップでは、前記複数の情報シンボルに対しハッシュ関数をかけ、これにより得られるハッシュ値を前記中間検査値とすることを特徴とする符号化方法。
The encoding method according to claim 1,
In the intermediate check value calculating step, a hash function is applied to the plurality of information symbols, and a hash value obtained thereby is used as the intermediate check value.
請求項1に記載の符号化方法において、
前記出力ステップでは、各情報シンボルを3以上奇数個重複して出力することを特徴とする符号化方法。
The encoding method according to claim 1,
In the output step, an odd number of three or more information symbols are output in an overlapping manner.
請求項1に記載の符号化方法において、
前記情報シンボル、前記中間シンボル及び前記検査シンボルは二進数のシンボルであり、
値が1となる情報シンボルの数は所定数であり、
前記出力ステップにおいては、値が1となるデータの数が一定数となるように、値が1の所定数の情報シンボルそれぞれを1つのデータとして出力し、前記誤り訂正符号語に含まれる各中間シンボルと各検査シンボルとを相補的なデータ値を有する一対のデータとして出力することを特徴とする符号化方法。
The encoding method according to claim 1,
The information symbol, the intermediate symbol and the check symbol are binary symbols;
The number of information symbols whose value is 1 is a predetermined number,
In the output step, each of a predetermined number of information symbols with a value of 1 is output as one data so that the number of data with a value of 1 is a constant number, and each intermediate code included in the error correction codeword An encoding method comprising: outputting a symbol and each check symbol as a pair of data having complementary data values.
請求項1に記載の符号化方法により出力され、伝送路において誤りが加算された可能性がある前記複数の情報シンボルと、請求項1に記載の符号化方法により出力され、伝送路において誤りが加算された可能性がある前記誤り訂正符号語とを入力する入力ステップと、
前記誤り訂正符号語に対し誤り訂正処理を施すことにより、複数の復号化中間シンボルを得る誤り訂正ステップと、
前記複数の復号化中間シンボルを基に第1の復号化中間検査値を得る第1中間検査値算出ステップと、
前記複数の情報シンボルにより表される数値に対し前記所定の演算を施すことにより第2の復号化中間検査値を得る第2中間検査値算出ステップと、
前記第1の復号化中間検査値と前記第2の復号化中間検査値とを比較し、両者が一致していない場合には、誤りが残っていると判断するステップと、
を備えることを特徴とする復号化方法。
The plurality of information symbols that are output by the encoding method according to claim 1 and that may have been added with errors in the transmission path, and that are output by the encoding method according to claim 1 and that have errors in the transmission path. An input step of inputting the error correction codeword that may have been added;
An error correction step of obtaining a plurality of decoded intermediate symbols by performing error correction processing on the error correction codeword;
A first intermediate check value calculating step for obtaining a first decoded intermediate check value based on the plurality of decoded intermediate symbols;
A second intermediate check value calculating step of obtaining a second decoded intermediate check value by performing the predetermined operation on a numerical value represented by the plurality of information symbols;
Comparing the first decoded intermediate check value and the second decoded intermediate check value, and if both do not match, determining that an error remains;
A decoding method comprising:
請求項2に記載の符号化方法により出力され、伝送路において誤りが加算された可能性がある前記複数の情報シンボルと、請求項2に記載の符号化方法により出力され、伝送路において誤りが加算された可能性がある前記誤り訂正符号語とを入力する入力ステップと、
前記誤り訂正符号語に対し誤り訂正処理を施すことにより、複数の復号化中間シンボルを得る誤り訂正ステップと、
前記複数の復号化中間シンボルを基に第1の復号化中間検査値を得る第1中間検査値算出ステップと、
前記複数の情報シンボルにより表される数値に対し前記所定の演算を施すことにより第2の復号化中間検査値を得る第2中間検査値算出ステップと、
前記第1の復号化中間検査値と前記第2の復号化中間検査値とを比較し、両者が一致していない場合には、誤りが残っていると判断するステップと、
を備え、
前記第2中間検査値算出ステップでは、前記複数の情報シンボルそれぞれがN進数で表される数値を表す重み付きビットであると扱い、その数値を前記誤り訂正符号語を構成する複数の中間シンボルを得るための数値で除算し、該除算により得られる剰余を前記第2の復号化中間検査値とすることを特徴とする復号化方法。
The plurality of information symbols that are output by the encoding method according to claim 2 and that may have been added with errors in the transmission path, and are output by the encoding method according to claim 2, and errors are transmitted in the transmission path. An input step of inputting the error correction codeword that may have been added;
An error correction step of obtaining a plurality of decoded intermediate symbols by performing error correction processing on the error correction codeword;
A first intermediate check value calculating step for obtaining a first decoded intermediate check value based on the plurality of decoded intermediate symbols;
A second intermediate check value calculating step of obtaining a second decoded intermediate check value by performing the predetermined operation on a numerical value represented by the plurality of information symbols;
Comparing the first decoded intermediate check value and the second decoded intermediate check value, and if both do not match, determining that an error remains;
With
In the second intermediate check value calculation step, each of the plurality of information symbols is treated as a weighted bit representing a numerical value represented by an N-ary number, and the numerical symbol is converted into a plurality of intermediate symbols constituting the error correction codeword. A decoding method, comprising: dividing by a numerical value to obtain, and using the remainder obtained by the division as the second decoding intermediate check value.
請求項3に記載の符号化方法により出力され、伝送路において誤りが加算された可能性がある前記複数の情報シンボルと、請求項3に記載の符号化方法により出力され、伝送路において誤りが加算された可能性がある前記誤り訂正符号語とを入力する入力ステップと、
前記誤り訂正符号語に対し誤り訂正処理を施すことにより、複数の復号化中間シンボルを得る誤り訂正ステップと、
前記複数の復号化中間シンボルを基に第1の復号化中間検査値を得る第1中間検査値算出ステップと、
前記複数の情報シンボルにより表される数値に対し前記所定の演算を施すことにより第2の復号化中間検査値を得る第2中間検査値算出ステップと、
前記第1の復号化中間検査値と前記第2の復号化中間検査値とを比較し、両者が一致していない場合には、誤りが残っていると判断するステップと、
を備え、
前記第2中間検査値算出ステップでは、前記複数の情報シンボルに対しハッシュ関数をかけ、これにより得られるハッシュ値を前記中間検査値とすることを特徴とする復号化方法。
The plurality of information symbols that are output by the encoding method according to claim 3 and that may have been added with errors in the transmission path, and that are output by the encoding method according to claim 3, and errors are transmitted in the transmission path. An input step of inputting the error correction codeword that may have been added;
An error correction step of obtaining a plurality of decoded intermediate symbols by performing error correction processing on the error correction codeword;
A first intermediate check value calculating step for obtaining a first decoded intermediate check value based on the plurality of decoded intermediate symbols;
A second intermediate check value calculating step of obtaining a second decoded intermediate check value by performing the predetermined operation on a numerical value represented by the plurality of information symbols;
Comparing the first decoded intermediate check value and the second decoded intermediate check value, and if both do not match, determining that an error remains;
With
In the second intermediate check value calculating step, a hash function is applied to the plurality of information symbols, and a hash value obtained thereby is used as the intermediate check value.
請求項4に記載の符号化方法により出力され、伝送路において誤りが加算された可能性がある前記複数の情報シンボルと、請求項4に記載の符号化方法により出力され、伝送路において誤りが加算された可能性がある前記誤り訂正符号語とを入力する入力ステップと、
前記誤り訂正符号語に対し誤り訂正処理を施すことにより、複数の復号化中間シンボルを得る誤り訂正ステップと、
前記複数の復号化中間シンボルを基に第1の復号化剰余を得る第1剰余算出ステップと、
前記情報シンボルに対し、多数決により誤り訂正を施す多数決ステップと、
前記多数決により誤り訂正された前記複数の情報シンボルにより表される数値に対し除算を施すことにより第2復号化剰余を得る第2剰余算出ステップと、
前記第1の復号化剰余と前記第2の復号化剰余とを比較し、両者が一致していない場合には、誤りが残っていると判断するステップと、
を備えることを特徴とする復号化方法。
The plurality of information symbols output by the encoding method according to claim 4 and possibly having errors added in the transmission path, and output by the encoding method according to claim 4, and errors in the transmission path are An input step of inputting the error correction codeword that may have been added;
An error correction step of obtaining a plurality of decoded intermediate symbols by performing error correction processing on the error correction codeword;
A first residue calculating step for obtaining a first decoded residue based on the plurality of decoded intermediate symbols;
A majority step for performing error correction on the information symbol by majority;
A second residue calculating step of obtaining a second decoded residue by dividing a numerical value represented by the plurality of information symbols that has been error-corrected by the majority vote;
Comparing the first decoded residue with the second decoded residue and determining that there is an error if they do not match;
A decoding method comprising:
請求項5に記載の符号化方法により出力され、伝送路において誤りが加算された可能性がある前記複数の情報シンボルと、請求項5に記載の符号化方法により出力され、伝送路において誤りが加算された可能性がある前記誤り訂正符号語とを表すデータを入力する入力ステップと、
入力したデータのうち値が1つなるデータの数が前記一定数でない場合には、処理をエラー終了するエラー終了ステップと、
前記誤り訂正符号語に対し誤り訂正処理を施すことにより、複数の復号化中間シンボルを得る誤り訂正ステップと、
前記複数の復号化中間シンボルを基に第1の復号化剰余を得る第1剰余算出ステップと、
前記複数の情報シンボルにより表される数値に対し除算を施すことにより第2復号化剰余を得る第2剰余算出ステップと、
前記第1の復号化剰余と前記第2の復号化剰余とを比較し、両者が一致していない場合には、誤りが残っていると判断するステップと、
を備えることを特徴とする復号化方法。
The plurality of information symbols that are output by the encoding method according to claim 5 and that may have been added with errors in the transmission path, and are output by the encoding method according to claim 5, and errors are transmitted in the transmission path. An input step of inputting data representing the error correction codeword that may have been added;
If the number of data having a single value among the input data is not the predetermined number, an error end step for terminating the process with an error;
An error correction step of obtaining a plurality of decoded intermediate symbols by performing error correction processing on the error correction codeword;
A first residue calculating step for obtaining a first decoded residue based on the plurality of decoded intermediate symbols;
A second residue calculating step of obtaining a second decoded residue by dividing the numerical value represented by the plurality of information symbols;
Comparing the first decoded residue with the second decoded residue and determining that there is an error if they do not match;
A decoding method comprising:
請求項6乃至10の何れか1項に記載の復号化方法において、
前記誤り訂正ステップにおいて、誤り訂正ができない場合には、処理をエラー終了するエラー終了ステップを更に備えることを特徴とする復号化方法。
The decoding method according to any one of claims 6 to 10,
The decoding method according to claim 1, further comprising an error ending step of ending the process with an error if the error correction cannot be corrected.
複数の情報シンボルにより表される数値に対して所定の演算を施すことにより中間検査値を得る中間検査値算出手段と、
前記中間検査値を複数の中間シンボルで表す中間シンボル生成手段と、
前記複数の中間シンボルに検査シンボルを付加することにより誤り訂正符号語を生成する誤り符号語生成手段と、
前記複数の情報シンボルと前記誤り訂正符号語とを出力する出力手段と、
を備えることを特徴とする符号化装置。
Intermediate test value calculation means for obtaining an intermediate test value by performing a predetermined operation on a numerical value represented by a plurality of information symbols;
Intermediate symbol generating means for representing the intermediate inspection value by a plurality of intermediate symbols;
Error codeword generation means for generating an error correction codeword by adding a check symbol to the plurality of intermediate symbols;
Output means for outputting the plurality of information symbols and the error correction codeword;
An encoding device comprising:
請求項12に記載の符号化装置において、
前記中間検査値算出手段では、前記複数の情報シンボルそれぞれがN進数で表される数値を表す重み付きビットであると扱い、その数値を前記誤り訂正符号語を構成する複数の中間シンボルを得るための数値で除算し、該除算により得られる剰余を前記中間検査値とすることを特徴とする符号化装置。
The encoding device according to claim 12,
The intermediate check value calculation means treats each of the plurality of information symbols as a weighted bit representing a numerical value represented by an N-ary number, and obtains the plurality of intermediate symbols constituting the error correction codeword. The encoding apparatus is characterized in that the remainder obtained by the division is used as the intermediate check value.
請求項12に記載の符号化装置において、
前記中間検査値算出手段では、前記複数の情報シンボルに対しハッシュ関数をかけ、これにより得られるハッシュ値を前記中間検査値とすることを特徴とする符号化装置。
The encoding device according to claim 12,
The intermediate check value calculating means applies a hash function to the plurality of information symbols, and uses a hash value obtained thereby as the intermediate check value.
請求項12に記載の符号化装置において、
前記出力手段では、各情報シンボルを3以上奇数個重複して出力することを特徴とする符号化装置。
The encoding device according to claim 12,
3. The encoding apparatus according to claim 1, wherein the output means outputs three or more odd numbers of information symbols.
請求項12に記載の符号化装置において、
前記情報シンボル、前記中間シンボル及び前記検査シンボルは二進数のシンボルであり、
値が1となる情報シンボルの数は所定数であり、
前記出力手段においては、値が1となるデータの数が一定数となるように、値が1の所定数の情報シンボルそれぞれを1つのデータとして出力し、前記誤り訂正符号語に含まれる各中間シンボルと各検査シンボルとを相補的なデータ値を有する一対のデータとして出力することを特徴とする符号化装置。
The encoding device according to claim 12,
The information symbol, the intermediate symbol and the check symbol are binary symbols;
The number of information symbols whose value is 1 is a predetermined number,
The output means outputs each of a predetermined number of information symbols with a value of 1 as one data so that the number of data with a value of 1 is a constant number, and each intermediate part included in the error correction codeword An encoding apparatus that outputs a symbol and each check symbol as a pair of data having complementary data values.
請求項12に記載の符号化装置により出力され、伝送路において誤りが加算された可能性がある前記複数の情報シンボルと、請求項12に記載の符号化装置により出力され、伝送路において誤りが加算された可能性がある前記誤り訂正符号語とを入力する入力手段と、
前記誤り訂正符号語に対し誤り訂正処理を施すことにより、複数の復号化中間シンボルを得る誤り訂正手段と、
前記複数の復号化中間シンボルを基に第1の復号化中間検査値を得る第1中間検査値算出手段と、
前記複数の情報シンボルにより表される数値に対し前記所定の演算を施すことにより第2の復号化中間検査値を得る第2中間検査値算出手段と、
前記第1の復号化中間検査値と前記第2の復号化中間検査値とを比較し、両者が一致していない場合には、誤りが残っていると判断する手段と、
を備えることを特徴とする復号化装置。
The plurality of information symbols output by the encoding device according to claim 12 and possibly having errors added in the transmission path, and output by the encoding device according to claim 12, and errors in the transmission path are Input means for inputting the error correction codeword that may have been added;
Error correcting means for obtaining a plurality of decoded intermediate symbols by performing error correction processing on the error correction codeword;
First intermediate check value calculating means for obtaining a first decoded intermediate check value based on the plurality of decoded intermediate symbols;
Second intermediate check value calculating means for obtaining a second decoded intermediate check value by performing the predetermined operation on the numerical values represented by the plurality of information symbols;
Means for comparing the first decoded intermediate check value with the second decoded intermediate check value and determining that an error remains if they do not match;
A decoding device comprising:
請求項13に記載の符号化装置により出力され、伝送路において誤りが加算された可能性がある前記複数の情報シンボルと、請求項13に記載の符号化装置により出力され、伝送路において誤りが加算された可能性がある前記誤り訂正符号語とを入力する入力手段と、
前記誤り訂正符号語に対し誤り訂正処理を施すことにより、複数の復号化中間シンボルを得る誤り訂正手段と、
前記複数の復号化中間シンボルを基に第1の復号化中間検査値を得る第1中間検査値算出手段と、
前記複数の情報シンボルにより表される数値に対し前記所定の演算を施すことにより第2の復号化中間検査値を得る第2中間検査値算出手段と、
前記第1の復号化中間検査値と前記第2の復号化中間検査値とを比較し、両者が一致していない場合には、誤りが残っていると判断する手段と、
を備え、
前記第2中間検査値算出手段では、前記複数の情報シンボルそれぞれがN進数で表される数値を表す重み付きビットであると扱い、その数値を前記誤り訂正符号語を構成する複数の中間シンボルを得るための数値で除算し、該除算により得られる剰余を前記第2の復号化中間検査値とすることを特徴とする復号化装置。
The plurality of information symbols that are output by the encoding device according to claim 13 and that may have been added with errors in the transmission path, and that are output by the encoding device according to claim 13 and that have errors in the transmission path. Input means for inputting the error correction codeword that may have been added;
Error correcting means for obtaining a plurality of decoded intermediate symbols by performing error correction processing on the error correction codeword;
First intermediate check value calculating means for obtaining a first decoded intermediate check value based on the plurality of decoded intermediate symbols;
Second intermediate check value calculating means for obtaining a second decoded intermediate check value by performing the predetermined operation on the numerical values represented by the plurality of information symbols;
Means for comparing the first decoded intermediate check value with the second decoded intermediate check value and determining that an error remains if they do not match;
With
In the second intermediate check value calculation means, each of the plurality of information symbols is treated as a weighted bit representing a numerical value represented by an N-ary number, and the numerical value is converted into a plurality of intermediate symbols constituting the error correction codeword. A decoding apparatus, characterized by dividing by a numerical value to be obtained and using the remainder obtained by the division as the second decoding intermediate check value.
請求項14に記載の符号化装置により出力され、伝送路において誤りが加算された可能性がある前記複数の情報シンボルと、請求項14に記載の符号化装置により出力され、伝送路において誤りが加算された可能性がある前記誤り訂正符号語とを入力する入力手段と、
前記誤り訂正符号語に対し誤り訂正処理を施すことにより、複数の復号化中間シンボルを得る誤り訂正手段と、
前記複数の復号化中間シンボルを基に第1の復号化中間検査値を得る第1中間検査値算出手段と、
前記複数の情報シンボルにより表される数値に対し前記所定の演算を施すことにより第2の復号化中間検査値を得る第2中間検査値算出手段と、
前記第1の復号化中間検査値と前記第2の復号化中間検査値とを比較し、両者が一致していない場合には、誤りが残っていると判断する手段と、
を備え、
前記第2中間検査値算出手段では、前記複数の情報シンボルに対しハッシュ関数をかけ、これにより得られるハッシュ値を前記中間検査値とすることを特徴とする復号化装置。
The plurality of information symbols output by the encoding device according to claim 14 and possibly having an error added in the transmission path, and output by the encoding device according to claim 14, wherein an error occurs in the transmission path. Input means for inputting the error correction codeword that may have been added;
Error correcting means for obtaining a plurality of decoded intermediate symbols by performing error correction processing on the error correction codeword;
First intermediate check value calculating means for obtaining a first decoded intermediate check value based on the plurality of decoded intermediate symbols;
Second intermediate check value calculating means for obtaining a second decoded intermediate check value by performing the predetermined operation on the numerical values represented by the plurality of information symbols;
Means for comparing the first decoded intermediate check value with the second decoded intermediate check value and determining that an error remains if they do not match;
With
The decoding apparatus characterized in that the second intermediate check value calculating means applies a hash function to the plurality of information symbols and uses the hash value obtained thereby as the intermediate check value.
請求項15に記載の符号化装置により出力され、伝送路において誤りが加算された可能性がある前記複数の情報シンボルと、請求項15に記載の符号化装置により出力され、伝送路において誤りが加算された可能性がある前記誤り訂正符号語とを入力する入力手段と、
前記誤り訂正符号語に対し誤り訂正処理を施すことにより、複数の復号化中間シンボルを得る誤り訂正手段と、
前記複数の復号化中間シンボルを基に第1の復号化剰余を得る第1剰余算出手段と、
前記情報シンボルに対し、多数決により誤り訂正を施す多数決手段と、
前記多数決により誤り訂正された前記複数の情報シンボルにより表される数値に対し除算を施すことにより第2復号化剰余を得る第2剰余算出手段と、
前記第1の復号化剰余と前記第2の復号化剰余とを比較し、両者が一致していない場合には、誤りが残っていると判断する手段と、
を備えることを特徴とする復号化装置。
The plurality of information symbols output by the encoding device according to claim 15 and possibly having errors added in the transmission path, and output by the encoding device according to claim 15, wherein errors are transmitted in the transmission path. Input means for inputting the error correction codeword that may have been added;
Error correcting means for obtaining a plurality of decoded intermediate symbols by performing error correction processing on the error correction codeword;
First residue calculating means for obtaining a first decoded residue based on the plurality of decoded intermediate symbols;
A majority means for performing error correction on the information symbol by majority;
Second residue calculating means for obtaining a second decoded residue by dividing a numerical value represented by the plurality of information symbols that has been error-corrected by the majority vote;
Means for comparing the first decoding residue and the second decoding residue and determining that an error remains if they do not match;
A decoding device comprising:
請求項16に記載の符号化装置により出力され、伝送路において誤りが加算された可能性がある前記複数の情報シンボルと、請求項16に記載の符号化装置により出力され、伝送路において誤りが加算された可能性がある前記誤り訂正符号語とを表すデータを入力する入力手段と、
入力したデータのうち値が1つなるデータの数が前記一定数でない場合には、処理をエラー終了するエラー終了手段と、
前記誤り訂正符号語に対し誤り訂正処理を施すことにより、複数の復号化中間シンボルを得る誤り訂正手段と、
前記複数の復号化中間シンボルを基に第1の復号化剰余を得る第1剰余算出手段と、
前記複数の情報シンボルにより表される数値に対し除算を施すことにより第2復号化剰余を得る第2剰余算出手段と、
前記第1の復号化剰余と前記第2の復号化剰余とを比較し、両者が一致していない場合には、誤りが残っていると判断する手段と、
を備えることを特徴とする復号化装置。
The plurality of information symbols output by the encoding device according to claim 16 and possibly having errors added in the transmission path, and output by the encoding device according to claim 16, wherein errors are transmitted in the transmission path. Input means for inputting data representing the error correction codeword that may have been added;
An error ending means for ending the process with an error when the number of data having one value among the input data is not the predetermined number;
Error correcting means for obtaining a plurality of decoded intermediate symbols by performing error correction processing on the error correction codeword;
First residue calculating means for obtaining a first decoded residue based on the plurality of decoded intermediate symbols;
Second residue calculating means for obtaining a second decoded residue by dividing the numerical value represented by the plurality of information symbols;
Means for comparing the first decoding residue and the second decoding residue and determining that an error remains if they do not match;
A decoding device comprising:
請求項17乃至21の何れか1項に記載の復号化装置において、
前記誤り訂正手段において、誤り訂正ができない場合には、処理をエラー終了するエラー終了手段を更に備えることを特徴とする復号化装置。
The decoding device according to any one of claims 17 to 21,
The decoding apparatus according to claim 1, further comprising error ending means for ending the process with an error when the error correction means cannot correct the error.
請求項1乃至11の何れか1項に記載の方法をコンピュータに行わせるためのプログラム。   The program for making a computer perform the method of any one of Claims 1 thru | or 11.
JP2006114392A 2006-04-18 2006-04-18 Information symbol encoding method and apparatus, information symbol decoding method and decoding apparatus Expired - Fee Related JP4662367B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006114392A JP4662367B2 (en) 2006-04-18 2006-04-18 Information symbol encoding method and apparatus, information symbol decoding method and decoding apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006114392A JP4662367B2 (en) 2006-04-18 2006-04-18 Information symbol encoding method and apparatus, information symbol decoding method and decoding apparatus

Publications (2)

Publication Number Publication Date
JP2007288576A JP2007288576A (en) 2007-11-01
JP4662367B2 true JP4662367B2 (en) 2011-03-30

Family

ID=38759918

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006114392A Expired - Fee Related JP4662367B2 (en) 2006-04-18 2006-04-18 Information symbol encoding method and apparatus, information symbol decoding method and decoding apparatus

Country Status (1)

Country Link
JP (1) JP4662367B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010098735A (en) * 2008-10-16 2010-04-30 Thomson Licensing Method of correction of binary data error and error detection

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4922965B2 (en) * 2008-02-25 2012-04-25 セイコーインスツル株式会社 Digital watermark generation apparatus, digital watermark generation method, digital watermark generation program, digital watermark detection apparatus, and digital watermark detection program
JP5557210B2 (en) * 2010-04-21 2014-07-23 共同印刷株式会社 Digital watermark insertion apparatus, digital watermark insertion method, digital watermark detection apparatus, and digital watermark detection method

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000112353A (en) * 1998-10-01 2000-04-21 Kodo Ido Tsushin Security Gijutsu Kenkyusho:Kk Hash function system
JP2000187441A (en) * 1997-12-08 2000-07-04 Nippon Telegr & Teleph Corp <Ntt> Method and device for encoding embedded information, storage medium storing embedded information encoding program, method and device for decoding extracted information, and storage medium storing extracted information decoding program, and method and device for encoding digital watermark information, and storage medium storing digital watermark information encoding program, and method and device for decoding digital watermark information, and storage medium storing digital watermark information decoding program
JP2001036417A (en) * 1999-07-22 2001-02-09 Japan Radio Co Ltd Device, method and medium for correcting and encoding error, and device, method and medium for decoding error correction code
JP2001237791A (en) * 2000-01-11 2001-08-31 Trw Inc Wireless transmission system of burst and packet using product code by repeated decoding

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0399340A (en) * 1989-09-12 1991-04-24 Fujitsu Ltd Multi-cpu system runaway monitoring system
US5719884A (en) * 1995-07-27 1998-02-17 Hewlett-Packard Company Error correction method and apparatus based on two-dimensional code array with reduced redundancy

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000187441A (en) * 1997-12-08 2000-07-04 Nippon Telegr & Teleph Corp <Ntt> Method and device for encoding embedded information, storage medium storing embedded information encoding program, method and device for decoding extracted information, and storage medium storing extracted information decoding program, and method and device for encoding digital watermark information, and storage medium storing digital watermark information encoding program, and method and device for decoding digital watermark information, and storage medium storing digital watermark information decoding program
JP2000112353A (en) * 1998-10-01 2000-04-21 Kodo Ido Tsushin Security Gijutsu Kenkyusho:Kk Hash function system
JP2001036417A (en) * 1999-07-22 2001-02-09 Japan Radio Co Ltd Device, method and medium for correcting and encoding error, and device, method and medium for decoding error correction code
JP2001237791A (en) * 2000-01-11 2001-08-31 Trw Inc Wireless transmission system of burst and packet using product code by repeated decoding

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010098735A (en) * 2008-10-16 2010-04-30 Thomson Licensing Method of correction of binary data error and error detection

Also Published As

Publication number Publication date
JP2007288576A (en) 2007-11-01

Similar Documents

Publication Publication Date Title
Houghton The engineer’s error coding handbook
KR20080018560A (en) Error correction circuit, method there-of and semiconductor memory device including the circuit
JP6657690B2 (en) Decoding device, program, and information transmission system
JP4662367B2 (en) Information symbol encoding method and apparatus, information symbol decoding method and decoding apparatus
US7168024B2 (en) Data processing system and method
JP2011130333A (en) Cyclic redundancy check code generating circuit, and cyclic redundancy check code generating method
Wang et al. Reliable and secure memories based on algebraic manipulation correction codes
JP6774511B2 (en) FEC error addition device, test signal generator using it, and FEC error addition method
JP5602312B2 (en) Error correction decoding device
JP4787732B2 (en) Information bit string division method and apparatus
JP3248098B2 (en) Syndrome calculation device
JP6774512B2 (en) FEC error addition device, test signal generator using it, and FEC error addition method
JP3661089B2 (en) Error correction apparatus, error correction method, and recording medium
JP4878398B2 (en) Information symbol encoding method and apparatus, and information symbol decoding method and apparatus
US10623018B2 (en) Method of arrangement of an algorithm in cyclic redundancy check
JP4698469B2 (en) Information symbol encoding method and apparatus, information symbol decoding method and decoding apparatus
JP4799514B2 (en) Encoding processing apparatus, encoding processing method, and encoding processing program
JP2543319B2 (en) Encoder
JPWO2019030860A1 (en) Method and apparatus for generating redundant bit for error detection
JP3239866B2 (en) Data inspection method and apparatus based on CRC and recording medium
JP2008112522A (en) Device and method for detecting error
JP2500141B2 (en) Error correction method and apparatus
RU2006116104A (en) METHOD AND DECORING DEVICE FOR CORRECTING TWO ERRORS IN ACCEPTED CODE
JP2003174436A (en) Code inspecting method and circuit
JP2009182835A (en) Decoder and communication system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090403

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101021

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 4662367

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20140114

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees