(57)【特許請求の範囲】
【請求項１】
複数の情報シンボルにより表される数値に対して所定の演算を施すことにより中間検査値を得る中間検査値算出ステップと、
前記中間検査値を複数の中間シンボルで表す中間シンボル生成ステップと、
前記複数の中間シンボルに検査シンボルを付加することにより誤り訂正符号語を生成する誤り符号語生成ステップと、
前記複数の情報シンボルと前記誤り訂正符号語とを出力する出力ステップと、
を備えることを特徴とする符号化方法。
【請求項２】
請求項１に記載の符号化方法において、
前記中間検査値算出ステップでは、前記複数の情報シンボルそれぞれがＮ進数で表される数値を表す重み付きビットであると扱い、その数値を前記誤り訂正符号語を構成する複数の中間シンボルを得るための数値で除算し、該除算により得られる剰余を前記中間検査値とすることを特徴とする符号化方法。
【請求項３】
請求項１に記載の符号化方法において、
前記中間検査値算出ステップでは、前記複数の情報シンボルに対しハッシュ関数をかけ、これにより得られるハッシュ値を前記中間検査値とすることを特徴とする符号化方法。
【請求項４】
請求項１に記載の符号化方法において、
前記出力ステップでは、各情報シンボルを３以上奇数個重複して出力することを特徴とする符号化方法。
【請求項５】
請求項１に記載の符号化方法において、
前記情報シンボル、前記中間シンボル及び前記検査シンボルは二進数のシンボルであり、
値が１となる情報シンボルの数は所定数であり、
前記出力ステップにおいては、値が１となるデータの数が一定数となるように、値が１の所定数の情報シンボルそれぞれを１つのデータとして出力し、前記誤り訂正符号語に含まれる各中間シンボルと各検査シンボルとを相補的なデータ値を有する一対のデータとして出力することを特徴とする符号化方法。
【請求項６】
請求項１に記載の符号化方法により出力され、伝送路において誤りが加算された可能性がある前記複数の情報シンボルと、請求項１に記載の符号化方法により出力され、伝送路において誤りが加算された可能性がある前記誤り訂正符号語とを入力する入力ステップと、
前記誤り訂正符号語に対し誤り訂正処理を施すことにより、複数の復号化中間シンボルを得る誤り訂正ステップと、
前記複数の復号化中間シンボルを基に第１の復号化中間検査値を得る第１中間検査値算出ステップと、
前記複数の情報シンボルにより表される数値に対し前記所定の演算を施すことにより第２の復号化中間検査値を得る第２中間検査値算出ステップと、
前記第１の復号化中間検査値と前記第２の復号化中間検査値とを比較し、両者が一致していない場合には、誤りが残っていると判断するステップと、
を備えることを特徴とする復号化方法。
【請求項７】
請求項２に記載の符号化方法により出力され、伝送路において誤りが加算された可能性がある前記複数の情報シンボルと、請求項２に記載の符号化方法により出力され、伝送路において誤りが加算された可能性がある前記誤り訂正符号語とを入力する入力ステップと、
前記誤り訂正符号語に対し誤り訂正処理を施すことにより、複数の復号化中間シンボルを得る誤り訂正ステップと、
前記複数の復号化中間シンボルを基に第１の復号化中間検査値を得る第１中間検査値算出ステップと、
前記複数の情報シンボルにより表される数値に対し前記所定の演算を施すことにより第２の復号化中間検査値を得る第２中間検査値算出ステップと、
前記第１の復号化中間検査値と前記第２の復号化中間検査値とを比較し、両者が一致していない場合には、誤りが残っていると判断するステップと、
を備え、
前記第２中間検査値算出ステップでは、前記複数の情報シンボルそれぞれがＮ進数で表される数値を表す重み付きビットであると扱い、その数値を前記誤り訂正符号語を構成する複数の中間シンボルを得るための数値で除算し、該除算により得られる剰余を前記第２の復号化中間検査値とすることを特徴とする復号化方法。
【請求項８】
請求項３に記載の符号化方法により出力され、伝送路において誤りが加算された可能性がある前記複数の情報シンボルと、請求項３に記載の符号化方法により出力され、伝送路において誤りが加算された可能性がある前記誤り訂正符号語とを入力する入力ステップと、
前記誤り訂正符号語に対し誤り訂正処理を施すことにより、複数の復号化中間シンボルを得る誤り訂正ステップと、
前記複数の復号化中間シンボルを基に第１の復号化中間検査値を得る第１中間検査値算出ステップと、
前記複数の情報シンボルにより表される数値に対し前記所定の演算を施すことにより第２の復号化中間検査値を得る第２中間検査値算出ステップと、
前記第１の復号化中間検査値と前記第２の復号化中間検査値とを比較し、両者が一致していない場合には、誤りが残っていると判断するステップと、
を備え、
前記第２中間検査値算出ステップでは、前記複数の情報シンボルに対しハッシュ関数をかけ、これにより得られるハッシュ値を前記中間検査値とすることを特徴とする復号化方法。
【請求項９】
請求項４に記載の符号化方法により出力され、伝送路において誤りが加算された可能性がある前記複数の情報シンボルと、請求項４に記載の符号化方法により出力され、伝送路において誤りが加算された可能性がある前記誤り訂正符号語とを入力する入力ステップと、
前記誤り訂正符号語に対し誤り訂正処理を施すことにより、複数の復号化中間シンボルを得る誤り訂正ステップと、
前記複数の復号化中間シンボルを基に第１の復号化剰余を得る第１剰余算出ステップと、
前記情報シンボルに対し、多数決により誤り訂正を施す多数決ステップと、
前記多数決により誤り訂正された前記複数の情報シンボルにより表される数値に対し除算を施すことにより第２復号化剰余を得る第２剰余算出ステップと、
前記第１の復号化剰余と前記第２の復号化剰余とを比較し、両者が一致していない場合には、誤りが残っていると判断するステップと、
を備えることを特徴とする復号化方法。
【請求項１０】
請求項５に記載の符号化方法により出力され、伝送路において誤りが加算された可能性がある前記複数の情報シンボルと、請求項５に記載の符号化方法により出力され、伝送路において誤りが加算された可能性がある前記誤り訂正符号語とを表すデータを入力する入力ステップと、
入力したデータのうち値が１つなるデータの数が前記一定数でない場合には、処理をエラー終了するエラー終了ステップと、
前記誤り訂正符号語に対し誤り訂正処理を施すことにより、複数の復号化中間シンボルを得る誤り訂正ステップと、
前記複数の復号化中間シンボルを基に第１の復号化剰余を得る第１剰余算出ステップと、
前記複数の情報シンボルにより表される数値に対し除算を施すことにより第２復号化剰余を得る第２剰余算出ステップと、
前記第１の復号化剰余と前記第２の復号化剰余とを比較し、両者が一致していない場合には、誤りが残っていると判断するステップと、
を備えることを特徴とする復号化方法。
【請求項１１】
請求項６乃至１０の何れか１項に記載の復号化方法において、
前記誤り訂正ステップにおいて、誤り訂正ができない場合には、処理をエラー終了するエラー終了ステップを更に備えることを特徴とする復号化方法。
【請求項１２】
複数の情報シンボルにより表される数値に対して所定の演算を施すことにより中間検査値を得る中間検査値算出手段と、
前記中間検査値を複数の中間シンボルで表す中間シンボル生成手段と、
前記複数の中間シンボルに検査シンボルを付加することにより誤り訂正符号語を生成する誤り符号語生成手段と、
前記複数の情報シンボルと前記誤り訂正符号語とを出力する出力手段と、
を備えることを特徴とする符号化装置。
【請求項１３】
請求項１２に記載の符号化装置において、
前記中間検査値算出手段では、前記複数の情報シンボルそれぞれがＮ進数で表される数値を表す重み付きビットであると扱い、その数値を前記誤り訂正符号語を構成する複数の中間シンボルを得るための数値で除算し、該除算により得られる剰余を前記中間検査値とすることを特徴とする符号化装置。
【請求項１４】
請求項１２に記載の符号化装置において、
前記中間検査値算出手段では、前記複数の情報シンボルに対しハッシュ関数をかけ、これにより得られるハッシュ値を前記中間検査値とすることを特徴とする符号化装置。
【請求項１５】
請求項１２に記載の符号化装置において、
前記出力手段では、各情報シンボルを３以上奇数個重複して出力することを特徴とする符号化装置。
【請求項１６】
請求項１２に記載の符号化装置において、
前記情報シンボル、前記中間シンボル及び前記検査シンボルは二進数のシンボルであり、
値が１となる情報シンボルの数は所定数であり、
前記出力手段においては、値が１となるデータの数が一定数となるように、値が１の所定数の情報シンボルそれぞれを１つのデータとして出力し、前記誤り訂正符号語に含まれる各中間シンボルと各検査シンボルとを相補的なデータ値を有する一対のデータとして出力することを特徴とする符号化装置。
【請求項１７】
請求項１２に記載の符号化装置により出力され、伝送路において誤りが加算された可能性がある前記複数の情報シンボルと、請求項１２に記載の符号化装置により出力され、伝送路において誤りが加算された可能性がある前記誤り訂正符号語とを入力する入力手段と、
前記誤り訂正符号語に対し誤り訂正処理を施すことにより、複数の復号化中間シンボルを得る誤り訂正手段と、
前記複数の復号化中間シンボルを基に第１の復号化中間検査値を得る第１中間検査値算出手段と、
前記複数の情報シンボルにより表される数値に対し前記所定の演算を施すことにより第２の復号化中間検査値を得る第２中間検査値算出手段と、
前記第１の復号化中間検査値と前記第２の復号化中間検査値とを比較し、両者が一致していない場合には、誤りが残っていると判断する手段と、
を備えることを特徴とする復号化装置。
【請求項１８】
請求項１３に記載の符号化装置により出力され、伝送路において誤りが加算された可能性がある前記複数の情報シンボルと、請求項１３に記載の符号化装置により出力され、伝送路において誤りが加算された可能性がある前記誤り訂正符号語とを入力する入力手段と、
前記誤り訂正符号語に対し誤り訂正処理を施すことにより、複数の復号化中間シンボルを得る誤り訂正手段と、
前記複数の復号化中間シンボルを基に第１の復号化中間検査値を得る第１中間検査値算出手段と、
前記複数の情報シンボルにより表される数値に対し前記所定の演算を施すことにより第２の復号化中間検査値を得る第２中間検査値算出手段と、
前記第１の復号化中間検査値と前記第２の復号化中間検査値とを比較し、両者が一致していない場合には、誤りが残っていると判断する手段と、
を備え、
前記第２中間検査値算出手段では、前記複数の情報シンボルそれぞれがＮ進数で表される数値を表す重み付きビットであると扱い、その数値を前記誤り訂正符号語を構成する複数の中間シンボルを得るための数値で除算し、該除算により得られる剰余を前記第２の復号化中間検査値とすることを特徴とする復号化装置。
【請求項１９】
請求項１４に記載の符号化装置により出力され、伝送路において誤りが加算された可能性がある前記複数の情報シンボルと、請求項１４に記載の符号化装置により出力され、伝送路において誤りが加算された可能性がある前記誤り訂正符号語とを入力する入力手段と、
前記誤り訂正符号語に対し誤り訂正処理を施すことにより、複数の復号化中間シンボルを得る誤り訂正手段と、
前記複数の復号化中間シンボルを基に第１の復号化中間検査値を得る第１中間検査値算出手段と、
前記複数の情報シンボルにより表される数値に対し前記所定の演算を施すことにより第２の復号化中間検査値を得る第２中間検査値算出手段と、
前記第１の復号化中間検査値と前記第２の復号化中間検査値とを比較し、両者が一致していない場合には、誤りが残っていると判断する手段と、
を備え、
前記第２中間検査値算出手段では、前記複数の情報シンボルに対しハッシュ関数をかけ、これにより得られるハッシュ値を前記中間検査値とすることを特徴とする復号化装置。
【請求項２０】
請求項１５に記載の符号化装置により出力され、伝送路において誤りが加算された可能性がある前記複数の情報シンボルと、請求項１５に記載の符号化装置により出力され、伝送路において誤りが加算された可能性がある前記誤り訂正符号語とを入力する入力手段と、
前記誤り訂正符号語に対し誤り訂正処理を施すことにより、複数の復号化中間シンボルを得る誤り訂正手段と、
前記複数の復号化中間シンボルを基に第１の復号化剰余を得る第１剰余算出手段と、
前記情報シンボルに対し、多数決により誤り訂正を施す多数決手段と、
前記多数決により誤り訂正された前記複数の情報シンボルにより表される数値に対し除算を施すことにより第２復号化剰余を得る第２剰余算出手段と、
前記第１の復号化剰余と前記第２の復号化剰余とを比較し、両者が一致していない場合には、誤りが残っていると判断する手段と、
を備えることを特徴とする復号化装置。
【請求項２１】
請求項１６に記載の符号化装置により出力され、伝送路において誤りが加算された可能性がある前記複数の情報シンボルと、請求項１６に記載の符号化装置により出力され、伝送路において誤りが加算された可能性がある前記誤り訂正符号語とを表すデータを入力する入力手段と、
入力したデータのうち値が１つなるデータの数が前記一定数でない場合には、処理をエラー終了するエラー終了手段と、
前記誤り訂正符号語に対し誤り訂正処理を施すことにより、複数の復号化中間シンボルを得る誤り訂正手段と、
前記複数の復号化中間シンボルを基に第１の復号化剰余を得る第１剰余算出手段と、
前記複数の情報シンボルにより表される数値に対し除算を施すことにより第２復号化剰余を得る第２剰余算出手段と、
前記第１の復号化剰余と前記第２の復号化剰余とを比較し、両者が一致していない場合には、誤りが残っていると判断する手段と、
を備えることを特徴とする復号化装置。
【請求項２２】
請求項１７乃至２１の何れか１項に記載の復号化装置において、
前記誤り訂正手段において、誤り訂正ができない場合には、処理をエラー終了するエラー終了手段を更に備えることを特徴とする復号化装置。
【請求項２３】
請求項１乃至１１の何れか１項に記載の方法をコンピュータに行わせるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報シンボルの符号化方法及びその装置並びに情報シンボルの復号化方法及び復号化装置に関し、特に、二次元周波数空間に配置する情報シンボルを符号化するための符号化方法及びその装置並びに二次元周波数空間に配置された情報シンボルを復号化するための復号化方法及びその装置に関する。
【背景技術】
【０００２】
バーコードを印刷物やホームページに表示し、このバーコードをカメラで撮影し、撮影されたバーコードを基に、例えばＵＲＬ等のデータを得る方法が普及しているが、このような方法では、バーコードにより印刷物やホームページの体裁が下がってしまう。
【０００３】
このような問題を解決するために、画像にデータを表す電子透かしを挿入する方法が提案されている。この方法を利用すれば、撮影された画像からデータを得ることができるので、バーコードが不要となる。
【０００４】
このような方法に係る発明として、挿入装置は、拡大縮小率検出用パターン、回転角検出用パターン、候補位置のうち挿入データにより組み合わされる位置にデータパターンを設定し、全てのパターンを合わせて逆フーリエ変換し、原画像に変換により得た画像を加算し、検出装置は、画像をブロックに分割し、各ブロックのデータをフーリエ変換して各ブロックの各周波数成分の振幅を得て、各周波数成分の振幅をブロック間で加算して各周波数毎の総和振幅を得て、拡大縮小率検出用パターンで画像の拡大縮小率を検出し、回転角検出用パターンで画像の回転角を検出し、拡大縮小率及び回転角が補正された総和振幅で候補位置にあるもののうち相対的に大きな値を示す所定数の総和振幅の位置の組み合わせを基にデータを検出するような発明がある（例えば、特許文献１参照。）この発明は、特にカメラで画像を撮影した場合に、画像の縮尺が変化し、また、画像が回転してしまい、このためにデータを表す電子透かしを検出することができなくなってしまうという問題を解決するために、画像の拡大縮小率及び回転角度を検出するための電子透かしを画像に埋め込んでおくものである。
【特許文献１】特開２００４−１５３９６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
特許文献１に記載されている発明によれば、候補位置のうち挿入データにより組み合わされる位置にデータパターンを設定することにより、データが誤って検出される可能性を下げているが、これだけでは不十分である場合がある。例えば、誤ってデータが検出されると、ユーザに撮影した画像と全く関係がないコンテンツが提供されたりして、コンテンツ提供を運用する組織の信用が下がってしまう可能性がある。
【０００６】
そこで、本発明は、電子透かしの形態で挿入されたデータが誤って検出されてしまう可能性を極力減らすことを可能とする、情報シンボルの符号化方法及びその装置並びに情報シンボルの復号化方法及び復号化装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の第１の観点によれば、複数の情報シンボルにより表される数値に対して所定の演算を施すことにより中間検査値を得る中間検査値算出ステップと、前記中間検査値を複数の中間シンボルで表す中間シンボル生成ステップと、前記複数の中間シンボルに検査シンボルを付加することにより誤り訂正符号語を生成する誤り符号語生成ステップと、前記複数の情報シンボルと前記誤り訂正符号語とを出力する出力ステップと、を備えることを特徴とする符号化方法が提供される。
【０００８】
本発明の第２の観点によれば、本発明の第１の観点による符号化方法において、前記中間検査値算出ステップでは、前記複数の情報シンボルそれぞれがＮ進数で表される数値を表す重み付きビットであると扱い、その数値を前記誤り訂正符号語を構成する複数の中間シンボルを得るための数値で除算し、該除算により得られる剰余を前記中間検査値とすることを特徴とする符号化方法が提供される。
【０００９】
本発明の第３の観点によれば、本発明の第１の観点による符号化方法において、前記中間検査値算出ステップでは、前記複数の情報シンボルに対しハッシュ関数をかけ、これにより得られるハッシュ値を前記中間検査値とすることを特徴とする符号化方法が提供される。
【００１０】
本発明の第４の観点によれば、本発明の第１の観点による符号化方法において、前記出力ステップでは、各情報シンボルを３以上奇数個重複して出力することを特徴とする符号化方法が提供される。
【００１１】
本発明の第５の観点によれば、本発明の第１の観点による符号化方法において、前記情報シンボル、前記中間シンボル及び前記検査シンボルは二進数のシンボルであり、値が１となる情報シンボルの数は所定数であり、前記出力ステップにおいては、値が１となるデータの数が一定数となるように、値が１の所定数の情報シンボルそれぞれを１つのデータとして出力し、前記誤り訂正符号語に含まれる各中間シンボルと各検査シンボルとを相補的なデータ値を有する一対のデータとして出力することを特徴とする符号化方法が提供される。
【００１２】
本発明の第６の観点によれば、本発明の第１の観点による符号化方法により出力され、伝送路において誤りが加算された可能性がある前記複数の情報シンボルと、本発明の第１の観点による符号化方法により出力され、伝送路において誤りが加算された可能性がある前記誤り訂正符号語とを入力する入力ステップと、前記誤り訂正符号語に対し誤り訂正処理を施すことにより、複数の復号化中間シンボルを得る誤り訂正ステップと、前記複数の復号化中間シンボルを基に第１の復号化中間検査値を得る第１中間検査値算出ステップと、前記複数の情報シンボルにより表される数値に対し前記所定の演算を施すことにより第２の復号化中間検査値を得る第２中間検査値算出ステップと、前記第１の復号化中間検査値と前記第２の復号化中間検査値とを比較し、両者が一致していない場合には、誤りが残っていると判断するステップと、を備えることを特徴とする復号化方法が提供される。
【００１３】
本発明の第７の観点によれば、本発明の第２の観点による符号化方法により出力され、伝送路において誤りが加算された可能性がある前記複数の情報シンボルと、本発明の第２の観点による符号化方法により出力され、伝送路において誤りが加算された可能性がある前記誤り訂正符号語とを入力する入力ステップと、前記誤り訂正符号語に対し誤り訂正処理を施すことにより、複数の復号化中間シンボルを得る誤り訂正ステップと、前記複数の復号化中間シンボルを基に第１の復号化中間検査値を得る第１中間検査値算出ステップと、前記複数の情報シンボルにより表される数値に対し前記所定の演算を施すことにより第２の復号化中間検査値を得る第２中間検査値算出ステップと、前記第１の復号化中間検査値と前記第２の復号化中間検査値とを比較し、両者が一致していない場合には、誤りが残っていると判断するステップと、を備え、前記第２中間検査値算出ステップでは、前記複数の情報シンボルそれぞれがＮ進数で表される数値を表す重み付きビットであると扱い、その数値を前記誤り訂正符号語を構成する複数の中間シンボルを得るための数値で除算し、該除算により得られる剰余を前記第２の復号化中間検査値とすることを特徴とする復号化方法が提供される。
【００１４】
本発明の第８の観点によれば、本発明の第３の観点による符号化方法により出力され、伝送路において誤りが加算された可能性がある前記複数の情報シンボルと、本発明の第３の観点による符号化方法により出力され、伝送路において誤りが加算された可能性がある前記誤り訂正符号語とを入力する入力ステップと、前記誤り訂正符号語に対し誤り訂正処理を施すことにより、複数の復号化中間シンボルを得る誤り訂正ステップと、前記複数の復号化中間シンボルを基に第１の復号化中間検査値を得る第１中間検査値算出ステップと、前記複数の情報シンボルにより表される数値に対し前記所定の演算を施すことにより第２の復号化中間検査値を得る第２中間検査値算出ステップと、前記第１の復号化中間検査値と前記第２の復号化中間検査値とを比較し、両者が一致していない場合には、誤りが残っていると判断するステップと、を備え、前記第２中間検査値算出ステップでは、前記複数の情報シンボルに対しハッシュ関数をかけ、これにより得られるハッシュ値を前記中間検査値とすることを特徴とする復号化方法が提供される。
【００１５】
本発明の第９の観点によれば、本発明の第４の観点による符号化方法により出力され、伝送路において誤りが加算された可能性がある前記複数の情報シンボルと、本発明の第４の観点による符号化方法により出力され、伝送路において誤りが加算された可能性がある前記誤り訂正符号語とを入力する入力ステップと、前記誤り訂正符号語に対し誤り訂正処理を施すことにより、複数の復号化中間シンボルを得る誤り訂正ステップと、前記複数の復号化中間シンボルを基に第１の復号化剰余を得る第１剰余算出ステップと、前記情報シンボルに対し、多数決により誤り訂正を施す多数決ステップと、前記多数決により誤り訂正された前記複数の情報シンボルにより表される数値に対し除算を施すことにより第２復号化剰余を得る第２剰余算出ステップと、前記第１の復号化剰余と前記第２の復号化剰余とを比較し、両者が一致していない場合には、誤りが残っていると判断するステップと、を備えることを特徴とする復号化方法が提供される。
【００１６】
本発明の第１０の観点によれば、本発明の第５の観点による符号化方法により出力され、伝送路において誤りが加算された可能性がある前記複数の情報シンボルと、本発明の第５の観点による符号化方法により出力され、伝送路において誤りが加算された可能性がある前記誤り訂正符号語とを表すデータを入力する入力ステップと、入力したデータのうち値が１つなるデータの数が前記一定数でない場合には、処理をエラー終了するエラー終了ステップと、前記誤り訂正符号語に対し誤り訂正処理を施すことにより、複数の復号化中間シンボルを得る誤り訂正ステップと、前記複数の復号化中間シンボルを基に第１の復号化剰余を得る第１剰余算出ステップと、前記複数の情報シンボルにより表される数値に対し除算を施すことにより第２復号化剰余を得る第２剰余算出ステップと、前記第１の復号化剰余と前記第２の復号化剰余とを比較し、両者が一致していない場合には、誤りが残っていると判断するステップと、を備えることを特徴とする復号化方法が提供される。
【００１７】
本発明の第６乃至第１０の何れか１の観点によるの復号化方法において、前記誤り訂正ステップにおいて、誤り訂正ができない場合には、処理をエラー終了するエラー終了ステップを更に備えるようにしてもよい。
【発明の効果】
【００１８】
本発明によれば、電子透かしの形態で挿入されたデータが誤って検出されてしまう可能性を極力減らすことが可能となる。誤って検出される可能性がある程度ある場合には、検出エラーとする。そうすれば、ユーザは、再度画像の撮影からやり直しをすることができ、その結果、次回には正しくデータを検出することができる可能性が生じる。
【発明を実施するための最良の形態】
【００１９】
以下、図面を参照して本発明を実施するための最良の形態について詳細に説明する。
【００２０】
［実施形態１］
本実施形態では、電子透かし挿入装置は、原画像に、ＩＤに対応した電子透かしを挿入する。
【００２１】
ＩＤを表す情報ビットは、全部で３８ビットあるが、これは、Ａ−１〜Ａ６、Ｂ１〜Ｂ６、Ｃ１〜Ｃ６、Ｄ１〜Ｄ６、Ｅ１〜Ｅ６、Ｆ１〜Ｆ６、Ｇ１及びＧ２である。図１に示すように、１個の情報ビットには、周波数空間にある半円上の３個の点が対応する（例えば、情報ビットＡ−１に対しては円７の点０、１、２が対応する）。情報ビットの値が１である場合には、３点は全て所定値（データが１の値）を有し、情報ビットの値がゼロである場合には、３点の振幅は全て振幅がゼロである。
【００２２】
また、全部で３８個の情報ビットは、２つのグループに分割される。例えば、第１のグループに属する情報ビットは、Ａ１〜Ａ３、Ｂ１〜Ｂ３、Ｃ１〜Ｃ３、Ｄ１〜Ｄ３、Ｅ１〜Ｅ３、Ｆ１〜Ｆ３及びＧ１の１９個の情報ビットであり、第２のグループに属する情報ビットは、Ａ４〜Ａ６、Ｂ４〜Ｂ６、Ｃ４〜Ｃ６、Ｄ４〜Ｄ６、Ｅ４〜Ｅ６、Ｆ４〜Ｆ６及びＧ２の１９個のビットである。
【００２３】
第１のグループに属する１９個の情報ビットを基に第１のグループに属する４個の中間ビットを生成する。そして、４個の中間ビットに３個の検査ビットを追加することにより１誤り訂正２誤り検出能力を有する第１のハミング符号語を生成する。
【００２４】
同様に、第２のグループに属する１９個の情報ビットを基に第２のグループに属する４個の中間ビットを生成する。そして、４個の中間ビットに３個の検査ビットを追加することにより１誤り訂正２誤り検出能力を有する第２のハミング符号語を生成する。
【００２５】
図１で、ハ１−１〜ハ１−７の枠内にある点は、第１のハミング符号語に対応する点である。各枠内の２つの点は、第１のハミング符号語の各ビットに対応する。例えば、ハ１−１の枠内にある２つの点は、第１のハミング符号語の第１の中間ビットに対応し、ハ１−２の枠内にある２つの点は、第１のハミング符号語の第２の中間ビットに対応し、ハ１−３の枠内にある２つの点は、第１のハミング符号語の第３の中間ビットに対応し、ハ１−４の枠内にある２つの点は、第１のハミング符号語の第４の中間ビットに対応し、ハ１−５の枠内にある２つの点は、第１のハミング符号語の第１の検査ビットに対応し、ハ１−６の枠内にある２つの点は、第１のハミング符号語の第２の検査ビットに対応し、ハ１−７の枠内にある２つの点は、第１のハミング符号語の第３の検査ビットに対応する。
【００２６】
各枠内にある２つの点は相補的な値を有する。例えば、第１のハミング符号語の第１の中間ビットの値がゼロである場合には、枠ハ１−１内にある２つの点のうちの第１の点の値はゼロであり、他方の点の値は所定値（データが１の値）である。他方、第１のハミング符号語の第１の中間ビットの値が１である場合には、枠ハ１−１内にある２つの点のうちの第１の点の値は所定値（データが１の値）であり、他方の点の値はゼロである。他の点についても同様である。
【００２７】
図１で、ハ２−１〜ハ２−７の枠内にある点は、第２のハミング符号語に対応する点である。各枠内の２つの点は、第２のハミング符号語の各ビットに対応する。例えば、ハ２−１の枠内にある２つの点は、第２のハミング符号語第１の中間ビットに対応し、ハ２−２の枠内にある２つの点は、第２のハミング符号語第２の中間ビットに対応し、ハ２−３の枠内にある２つの点は、第２のハミング符号語第３の中間ビットに対応し、ハ２−４の枠内にある２つの点は、第２のハミング符号語第４の中間ビットに対応し、ハ２−５の枠内にある２つの点は、第２のハミング符号語の第１の検査ビットに対応し、ハ２−６の枠内にある２つの点は、第２のハミング符号語の第２の検査ビットに対応し、ハ２−７の枠内にある２つの点は、第２のハミング符号語の第３の検査ビットに対応する。
【００２８】
各枠内にある２つの点は相補的な値を有する。例えば、第２のハミング符号語の第１の中間ビットの値がゼロである場合には、枠ハ２−１内にある２つの点のうちの第１の点の値はゼロであり、他方の点の値は所定値（データが１の値）である。他方、第２のハミング符号語第１の中間ビットの値が１である場合には、枠ハ２−１内にある２つの点のうちの第１の点の値は所定値（データが１の値）であり、他方の点の値はゼロである。他の点についても同様である。
【００２９】
次に、情報ビットから中間ビットを生成し、更にハミング符号語を生成する方法について説明をする。
【００３０】
Ｎ個の情報ビットを以下のように表す。
【００３１】
ｘN-1、・・・ｘ3、ｘ2、ｘ1、ｘ０
この場合、中間ビットの基となる数値を以下のようにして表す。
【００３２】
ｙ＝ＭＯＤ（（ｘN-2×２N-2＋・・・＋ｘ2×２2＋ｘ0×２0）／１６）
ｚ＝ＭＯＤ（（ｘN-1×２N-1＋・・・＋ｘ3×２3＋ｘ1×２1）／１６）
すなわち、１ビット置きにグループ１とグループに分け、グループ毎に各ビットに２のべき乗を乗じて得た値の合計値を取り、これを１６で除算して得た剰余を中間ビットの基となる数値とする。ここで、べき乗の値は、各グループの各ビットのビット番号である。中間ビットの基と数値となる数値は、１６（＝２４）による除算の剰余であるので、２進数で下記のように４ビットで表すことができる。
【００３３】
ｙ＝ｙ3×２3＋ｙ2×２2＋ｙ1×２1＋ｙ0×２0
ｚ＝ｚ3×２3＋ｚ2×２2＋ｚ1×２1＋ｚ0×２0
第１の中間ビットは、ｙ３、ｙ２、ｙ１、ｙ０である。第２の中間ビットは、ｚ３、ｚ２、ｚ１、ｚ０である。これらに対し、所定の生成多項式により検査ビットｐ１，ｐ２、ｐ３、ｑ１、ｑ２、ｑ３を付加することにより
第１のハミング符号語
（ｙ3、ｙ2、ｙ1、ｙ0、ｐ1、ｐ2、ｐ3）
第２のハミング符号語
（ｚ3、ｚ2、ｚ1、ｚ0、ｑ1、ｑ2、ｑ3）
を得る。
【００３４】
図１を参照すると、第１グループに関し、中間ビットｙ３は、枠ハ１−１に対応し、中間ビットｙ２は、枠ハ１−２に対応し、中間ビットｙ１は、枠ハ１−３に対応し、中間ビットｙ０は、枠ハ１−４に対応し、検査ビットｐ１は、枠ハ１−５に対応し、検査ビットｐ２は、枠ハ１−６に対応し、検査ビットｐ３は、枠ハ１−７に対応する。
【００３５】
同様に、第２グループに関し、中間ビットｚ３は、枠ハ２−１に対応し、中間ビットｚ２は、枠ハ２−２に対応し、中間ビットｚ１は、枠ハ２−３に対応し、中間ビットｚ０は、枠ハ２−４に対応し、検査ビットｑ１は、枠ハ２−５に対応し、検査ビットｑ２は、枠ハ２−６に対応し、検査ビットｑ３は、枠ハ２−７に対応する。
【００３６】
次に、原画像に対し、ＩＤに対応する電子透かしを挿入する電子透かし挿入装置について図２を参照して説明する。なお、図２に示す電子透かし挿入装置は、ハードウェア、ソフトウェア又はそれらの組合せにより構成することができる。
【００３７】
図２を参照すると、ＩＤ入力部１１は、ＩＤを入力する。ＩＤは、例えば、ＵＲＬに対応したり、関連画像の識別情報を表したりする。
【００３８】
情報ビット生成部１３は、ＩＤを基に情報ビットを生成する。図１を参照すると、１つの情報ビットに対して３つの点のグループが対応するので、円２に対しては情報ビットは６ビット在り、円３に対しては情報ビットは６ビット在り、円４に対しては情報ビットは６ビット在り、円５に対しては情報ビットは６ビット在り、円６に対しては情報ビットは６ビット在り、円７に対しては情報ビットは８ビット在る。また、各円において、値が１となる情報ビットの数と値がゼロとなる情報ビットの数は等しい。従って、ＩＤのとりうる値は、（６Ｃ３）５×８Ｃ４＝２２４００００００通りとなる。
【００３９】
重複点生成部１５は、１つの情報ビットに対して３つの点を生成する。但し、点の数を３以外に５、７等の奇数としてもよい。具体的には、円２〜６に対しては、それぞれ、６個の情報ビットに対して６×３＝１８個の点を生成し、円７に対しては、８個の情報ビットに対して８×３＝２４個の点を生成する。情報ビットの値が１であれば、点の振幅は所定値であり、情報ビットの値がゼロであれば、点の振幅はゼロである。
【００４０】
中間ビット生成部１７は、上述した方法により、情報ビットを基に中間ビットを生成する。
【００４１】
検査ビット生成部１９は、中間ビットを基に所定の生成多項式によりハミング符号語の検査ビットを生成し、中間ビット及び検査ビットにより構成されるハミング符号語を出力する。
【００４２】
相補点生成部２１は、各中間ビット及び各検査ビットに対して、相補的な２つの点を生成する。中間ビット又は検査ビットの値がゼロであれば、それに対応する相補的な点のうちの一方の値はゼロであり、他方の値は所定値である。他方、中間ビット又は検査ビットの値が１であれば、それに対応する相補的な点のうちの一方の値は所定値であり、他方の値はゼロである。
【００４３】
補正用点生成部２３は、図１に示す回転角度検出用及び拡大縮小率検出用の点（円１の１１個の点、円３の点３、点１６、円６の点３、点２４）を生成する。
【００４４】
合成部２５は、二次元周波数空間において、重複点生成部１５、相補点生成部２１及び補正用点生成部２３からの点を加算する。具体的には、２次元周波数空間においてデータ値が１である点に所定のレベルの周波数成分を配置する。
【００４５】
逆フーリエ変換部２７は、合成部２５の出力を逆フーリエ変換する。逆フーリエ変換における点の数は、原画像の点の数と等しくてもよいが、原画像よりも少なくして、同一パターンが連続するようにしてもよい。例えば、原画像のサイズが２０４８×２０４８であれば、逆フーリエ変換のサイズを２０４８×２０４８としてもよいが、例えば、１２８×１２８として、１２８×１２８のパターンが縦横に１６個ずつ連続して、２０４８×２０４８の領域を覆うようにしてもよい。
【００４６】
加算部３１は、画像入力部２９が入力した原画像に対して、逆フーリエ変換部２７からの出力を加算して、電子透かし入り画像を生成する。
【００４７】
次に、誤りの検出及び訂正の方法について図３、図４及び図５を参照して説明する。なお、図３に示す電子透かし検出装置は、ハードウェア、ソフトウェア又はそれらの組合せにより構成することができる。
【００４８】
まず、フーリエ変換部５１は、読み取った画像をフーリエ変換する（ステップＳ１０１）。次に、絶対値算出部５３は、各周波数成分の絶対値を求める（ステップＳ１０３）。次に、補正部５５は、回転角度検出用の点及び拡大縮小率検出用の点を用いて、回転角度及びスケールを補正する（ステップＳ１０５）。
【００４９】
次に、点検出部５７は、各点の値がゼロであるか１であるかを検出する（ステップＳ１０７）。この検出のためには、閾値以上となるレベルの信号が埋め込まれている可能性がある点（データ値が１である可能性がある点）に窓を設け、窓を通過した周波数成分のうち絶対値レベルが閾値以上である点のうちレベルが高い順の所定数の点の値が１であるとする。窓を通過した周波数成分のうち絶対値レベルが閾値以上である点の数が所定数に達しない場合には、閾値を下げて、窓を通過した周波数成分のうち絶対値レベルが閾値以上である点の数が所定数に達するようにするが、或る程度まで下げても窓を通過した周波数成分のうち絶対値レベルが閾値以上である点の数が所定数に達しない場合には、制御部６７は、エラーフラグを立ててエラー終了する。
【００５０】
図１の例でいえば、円２には１８個の点があるが、この半分の９個の点が閾値以上となるレベルの信号が埋め込まれている点である。例えば、窓を通過した点のうち絶対値レベルが閾値以上である点の数が１０個であれば、絶対値レベルが高い順の９個の点に１が埋め込まれているとする。
【００５１】
同様に、円３には２０個の点があるが、この半分の１０個の点が閾値以上となるレベルの信号が埋め込まれている点である。例えば、窓を通過した点のうち絶対値レベルが閾値以上である点の数が１２個であれば、絶対値レベルが高い順の１０個の点に１が埋め込まれているとする。
【００５２】
同様に、円４には２２個の点があるが、この半分の１１個の点が閾値以上となるレベルの信号が埋め込まれている点である。例えば、窓を通過した点のうち絶対値レベルが閾値以上である点の数が１２個であれば、絶対値レベルが高い順の１１個の点に１が埋め込まれているとする。
【００５３】
図４に戻り、上述したように、各点の値が検出できなかった場合には（ステップＳ１０９でＮＯ）、制御部６７は、エラーフラグを立ててエラー終了する。各点の値が検出できない場合とは、例えば、閾値を或る程度まで下げても、閾値以上となる所定数の点が検出できない場合である。
【００５４】
次に、多数決部５９は、重複点生成部１５により生成された点を基に多数決を行い、その結果を情報ビットの値とする（ステップＳ１１１）。例えば、円２の点０、１及び２を基に１つの情報ビットの値を決定するが、３個の点のうちゼロ個又は１個の点の値が１であれば、情報ビットの値をゼロとし、２個又は３個の点の値が１であれば、情報ビットの値を１とする。
【００５５】
次に、エラー訂正部６１は、２つのハミング符号語それぞれについて誤り訂正を試みる（ステップＳ１１３）。誤り訂正ができない場合（誤りが２以上ある場合）（ステップＳ１１５でＮＯ）にはエラーフラグを立ててエラー終了する。
【００５６】
次に、点数点検部６３は、データ値が１である情報ビットの数が正しいか否かを確認する（ステップＳ１１７）。具体的には、円２〜６でデータ値が１である情報ビットの数が３であり、且つ、円７でデータ値が１である情報ビットの数が４であるか否かを確認する。正しくなければ（ステップＳ１１７でＮＯ）、エラー終了する。
【００５７】
次に、第１剰余計算部６５は、エラー訂正部６１によりハミング復号（エラー訂正）された結果を用いて第１剰余を計算する（ステップＳ１１９）。
【００５８】
具体的には、復号された第１のハミング符号語を
（ｙ’3、ｙ’2、ｙ’1、ｙ’0、ｐ’1、ｐ’2、ｐ’3）
として、復号された第２のハミング符号語
（ｚ’3、ｚ’2、ｚ’1、ｚ’0、ｑ’1、ｑ’2、ｑ’3）
とした場合、第１剰余ｙ’及びｚ’を下式により求める。
【００５９】
ｙ’＝ｙ’3×２3＋ｙ’2×２2＋ｙ’1×２1＋ｙ’0×２0
ｚ’＝ｚ’3×２3＋ｚ’2×２2＋ｚ’1×２1＋ｚ’0×２0
次に、第２剰余計算部６７は、多数決部５９により多数決（エラー訂正）された結果を用いて第２剰余を計算する（ステップＳ１２１）。
【００６０】
具体的には、第２剰余ｙ’’及びｚ’’を下式により求める。
【００６１】
ｙ’’＝ＭＯＤ（（ｘ’N-2×２N-2＋・・・＋ｘ’2×２2＋ｘ’0×２0）／１６）
ｚ’’＝ＭＯＤ（（ｘ’N-1×２N-1＋・・・＋ｘ’3×２3＋ｘ’1×２1）／１６）
但し、ｘ’は、多数決の結果である。
【００６２】
次に、制御部７１は、第１剰余と第２剰余とが等しいか否かを調べる（ステップＳ１２３）。
【００６３】
具体的には、第１剰余ｙ’と第２剰余ｙ’’とが等しく、且つ、第１剰余ｚ’と第２剰余ｚ’’とが等しいか否かを調べる。
【００６４】
上記の２条件のうち少なくとも１つの条件が満たされていないことは、少なくとも１つの誤訂正が行われたことを示す。従って、このような場合にはエラーフラグを立てて、エラー終了する（ステップＳ１２３でＮＯ）。
【００６５】
上記の２条件が共に成立する場合には（ステップＳ１２３でＹＥＳ）、多数決の結果を用いてＩＤの検出を行う（ステップＳ１２５）。
【００６６】
［実施形態２］
実施形態１では、二進数の各ビットをそのまま用いて中間ビットを生成した。これに対し、実施形態２では、二進十進変換を行い、十進数の各桁の数値を基に中間ビットを生成する。
【００６７】
すなわち、
Ｘ＝ｘN-1×２N-1＋・・・＋ｘ2×２2＋ｘ0×２0
＝ｑM-1×１０M-1＋・・・＋ｑ2×１０2＋ｑ0×１０0
として、ｑＭ−１〜ｑ０を求め、これらを基に下式により中間ビットの基となる数値を求める。
【００６８】
ｙ＝ＭＯＤ（（ｑM-2×１０M-2＋・・・＋ｑ2×１０2＋ｑ0×１０0）／１６）
ｚ＝ＭＯＤ（（ｑＭ-1×１０M-1＋・・・＋ｑ3×１０3＋ｑ1×１０1）／１６）
次に、上記の数値ｙ、ｚを下記のように二進数で表し、この二進数を表すビットを中間ビットとする。
【００６９】
ｙ＝ｙ3×２3＋ｙ2×２2＋ｙ1×２1＋ｙ0×２0
ｚ＝ｚ3×２3＋ｚ2×２2＋ｚ1×２1＋ｚ0×２0
従って、第１のハミング符号語は、
（ｙ3、ｙ2、ｙ1、ｙ0、ｐ1、ｐ2、ｐ3）
となり、第２のハミング符号語は、
（ｚ3、ｚ2、ｚ1、ｚ0、ｑ1、ｑ2、ｑ3）
となる。
【００７０】
復号された第１のハミング符号語を
（ｙ’3、ｙ’2、ｙ’1、ｙ’0、ｐ’1、ｐ’2、ｐ’3）
として、復号された第２のハミング符号語
（ｚ’3、ｚ’2、ｚ’1、ｚ’0、ｑ’1、ｑ’2、ｑ’3）
とした場合、第１剰余ｙ’及びｚ’を下式により求める。
【００７１】
ｙ’＝ｙ’3×２3＋ｙ’2×２2＋ｙ’1×２1＋ｙ’0×２0
ｚ’＝ｚ’3×２3＋ｚ’2×２2＋ｚ’1×２1＋ｚ’0×２0
また、第２剰余ｙ’’及びｚ’’を下式により求める。
【００７２】
ｙ’’＝ＭＯＤ（（ｑ’M-2×１０M-2＋・・・＋ｑ’2×１０2＋ｑ’0×１０0）／１６）
ｚ’’＝ＭＯＤ（（ｑ’Ｍ-1×１０M-1＋・・・＋ｑ’3×１０3＋ｑ’1×１０1）／１６）
［実施形態３］
実施形態１では、下式により中間ビットの基となる数値を求めた。
【００７３】
ｙ＝ＭＯＤ（（ｘN-2×２N-2＋・・・＋ｘ2×２2＋ｘ0×２0）／１６）
ｚ＝ＭＯＤ（（ｘN-1×２N-1＋・・・＋ｘ3×２3＋ｘ1×２1）／１６）
また、実施形態２では、下式により中間ビットの基となる数値を求めた。
【００７４】
ｙ＝ＭＯＤ（（ｑM-2×１０M-2＋・・・＋ｑ2×１０2＋ｑ0×１０0）／１６）
ｚ＝ＭＯＤ（（ｑＭ-1×１０M-1＋・・・＋ｑ3×１０3＋ｑ1×１０1）／１６）
すなわち、実施形態１でも実施形態２でも飛び飛びの桁の数値を用いて、各桁の重みも維持したまま、２系列の中間ビットの基となる数値を求めた。
【００７５】
これに対し、実施形態３では、飛び飛びの桁の数値を用いて、２系列の中間ビットの基となる数値を求める点は、実施形態１及び実施形態２と同様であるが、各桁の重みを連続したものとする。すなわち、実施形態３では、下式により中間ビットの基となる数値を求める。
【００７６】
Ｘ＝ｘN-1×２N-1＋・・・＋ｘ2×２2＋ｘ0×２0
＝ｑ2L-1×１０2L-1＋・・・＋ｑ2×１０2＋ｑ0×１０0
ｙ＝ＭＯＤ（（ｑ2L-２×１０L-1＋・・・＋ｑ2×１０1＋ｑ0×１０0）／１６）
ｚ＝ＭＯＤ（（ｑ2L-1×１０L-1＋・・・＋ｑ3×１０1＋ｑ1×１０1）／１６）
次に、上記の数値ｙ、ｚを下記のように二進数で表し、この二進数を表すビットを中間ビットとする。
【００７７】
ｙ＝ｙ3×２3＋ｙ2×２2＋ｙ1×２1＋ｙ0×２0
ｚ＝ｚ3×２3＋ｚ2×２2＋ｚ1×２1＋ｚ0×２0
従って、第１のハミング符号語は、
（ｙ3、ｙ2、ｙ1、ｙ0、ｐ1、ｐ2、ｐ3）
となり、第２のハミング符号語は、
（ｚ3、ｚ2、ｚ1、ｚ0、ｑ1、ｑ2、ｑ3）
となる。
【００７８】
復号された第１のハミング符号語を
（ｙ’3、ｙ’2、ｙ’1、ｙ’0、ｐ’1、ｐ’2、ｐ’3）
として、復号された第２のハミング符号語
（ｚ’3、ｚ’2、ｚ’1、ｚ’0、ｑ’1、ｑ’2、ｑ’3）
とした場合、第１剰余ｙ’及びｚ’を下式により求める。
【００７９】
ｙ’＝ｙ’3×２3＋ｙ’2×２2＋ｙ’1×２1＋ｙ’0×２0
ｚ’＝ｚ’3×２3＋ｚ’2×２2＋ｚ’1×２1＋ｚ’0×２0
また、第２剰余ｙ’’及びｚ’’を下式により求める。
【００８０】
ｙ’’＝ＭＯＤ（（ｑ’2L-２×１０L-1＋・・・＋ｑ’2×１０1＋ｑ’0×１０0）／１６）
ｚ’’＝ＭＯＤ（（ｑ’2L-1×１０L-1＋・・・＋ｑ’3×１０1＋ｑ’1×１０1）／１６）
［実施形態４］
実施形態１、実施形態２及び実施形態３では、２次元周波数空間に複数の円を設け、各円において、データ値が１となりうる点を所定数ｎだけ所定位置に定め、実際にデータ値が１となる点の数も所定数ｍ（＜ｎ）としていた。そして、データ値が１となる点には、所定の非ゼロの振幅となる周波数成分を配置していた。こうすることにより、カメラにより撮影した画像に対し、フーリエ変換と回転角度と拡大縮小率の補正と振幅の算出を行った後に、円上の所定位置の周波数成分の振幅が大きい順に所定数個の点を検出し、それらの点の成すパターンによりＩＤを復元することができた。
【００８１】
実施形態４は、データ値が１となりうる点を所定数ｎだけ所定位置に定め、実際にデータ値を１とする点の数も所定数ｍ（＜ｎ）とする点においては、実施形態１、実施形態２及び実施形態２と共通する。しかし、実施形態４では、データ値が１となりうる点の位置を円上の位置ではない位置とする。例えば、格子状にｎ１×ｎ２（＝ｎ）個の位置を定め、そのうちｍ（＜ｎ１×ｎ２）個の点をデータ値が１となる点とする。このようにしても、フーリエ変換と回転角度と拡大縮小率の補正と振幅の算出を行った後に、格子上の所定位置の周波数成分の振幅が大きい順に所定数個の点を検出し、それらの点の成すパターンによりＩＤを復元することができる。
【００８２】
［実施形態５］
実施形態１乃至４では、情報シンボルにより表される数値に対し除算を施すことにより剰余を求め、これを複数の中間シンボルで表し、中間シンボルに対し検査シンボルを付加することによりハミング符号語を生成していた。
【００８３】
これに対し、実施形態５では、情報シンボルにより表される数値をハッシュ関数に入力し、これにより得られるハッシュ値を中間シンボルで表し、中間シンボルに対し検査シンボルを付加することによりハミング符号語を生成する。
【００８４】
複数の情報ビットを２つのグループに分割し、それぞれのグループの情報シンボルを、同一又は異なったハッシュ関数に入力することにより、グループ毎のハッシュ値を得るようにしてもよい。また、複数の情報シンボル全体を、相互に異なった複数のハッシュ関数に入力し、それぞれのハッシュ関数から得られるそれぞれのハッシュ値をそれぞれのグループの中間シンボルとしてもよい。
【００８５】
［実施形態６］
実施形態１乃至５では、中間シンボルに対し検査シンボルを付加する際、ハミング符号語の生成多項式を用いていた。しかし、それ以外の生成多項式を用いて、ハミング符号語以外の誤り訂正符号語を生成してもよい。
【図面の簡単な説明】
【００８６】
【図１】本発明の実施形態による電子透かしの周波数空間におけるパターンを示す図である。
【図２】本発明の実施形態による電子透かし挿入装置の構成を示すブロック図である。
【図３】本発明の実施形態による電子透かし検出装置の構成を示すブロック図である。
【図４】本発明の実施形態１による電子透かし検出方法を示すフローチャート（１／２）である。
【図５】本発明の実施形態１による電子透かし検出方法を示すフローチャート（２／２）である。
【符号の説明】
【００８７】
１１  ＩＤ入力部
１３  情報点生成部
１５  重複点生成部
１７  中間ビット生成部
１９  検査ビット生成部
２１  相補点生成部
２３  補正用点生成部
２５  合成部
２７  逆フーリエ変換部
２９  画像入力部
３１  加算部
５１  フーリエ変換部
５３  絶対値算出部
５５  補正部
５７  点検出部
５９  多数決部
６１  エラー訂正部
６３  点数点検部
６５  第１剰余計算部
６７  第２剰余計算部
６９  ＩＤ検出部
７１  制御部
【図１】
0004662367.tif 000002
【図２】
0004662367.tif 000003
【図３】
0004662367.tif 000004
【図４】
0004662367.tif 000005
【図５】
0004662367.tif 000006