JP2007274398A - 情報シンボルの符号化方法及びその装置並びに情報シンボルの復号化方法及び復号化装置 - Google Patents

情報シンボルの符号化方法及びその装置並びに情報シンボルの復号化方法及び復号化装置 Download PDF

Info

Publication number
JP2007274398A
JP2007274398A JP2006098297A JP2006098297A JP2007274398A JP 2007274398 A JP2007274398 A JP 2007274398A JP 2006098297 A JP2006098297 A JP 2006098297A JP 2006098297 A JP2006098297 A JP 2006098297A JP 2007274398 A JP2007274398 A JP 2007274398A
Authority
JP
Japan
Prior art keywords
parity
error
points
information symbols
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2006098297A
Other languages
English (en)
Other versions
JP4698469B2 (ja
Inventor
Hiroyuki Watanabe
浩幸 渡辺
Ayumi Hase
歩美 長谷
Itsumi Majima
伊津美 間嶋
Isao Shinohara
勲 篠原
Takashi Kaneda
尚 金田
Yutaka Hosogane
豊 細金
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 JP2006098297A priority Critical patent/JP4698469B2/ja
Publication of JP2007274398A publication Critical patent/JP2007274398A/ja
Application granted granted Critical
Publication of JP4698469B2 publication Critical patent/JP4698469B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Processing (AREA)
  • Editing Of Facsimile Originals (AREA)

Abstract

【課題】電子透かしの形態で挿入されたデータが誤って検出されてしまう可能性を極力減らす。
【解決手段】二次元周波数空間において、a1〜a11、b1〜b11、c1、c2はデータ点を表す。a12ー1,a12−2、・・・a15−1、a15−2、b12−1、b12−2、・・・b15−1、b15−2は、ハミング符号の検査シンボルを表す。c1、c2、d1、d2、・・・、i1、i2、j1、j2は、偶数パリティを表す。偶数パリティやハミング符号語を用いたエラー検出、ハミング符号語を用いたエラー訂正を組み合わせて行う。
【選択図】図1

Description

本発明は、情報シンボルの符号化方法及びその装置並びに情報シンボルの復号化方法及び復号化装置に関し、特に、二次元周波数空間に配置する情報シンボルを符号化するための符号化方法及びその装置並びに二次元周波数空間に配置された情報シンボルを復号化するための復号化方法及びその装置に関する。
バーコードを印刷物やホームページに表示し、このバーコードをカメラで撮影し、撮影されたバーコードを基に、例えばURL等のデータを得る方法が普及しているが、このような方法では、バーコードにより印刷物やホームページの体裁が下がってしまう。
このような問題を解決するために、画像にデータを表す電子透かしを挿入する方法が提案されている。この方法を利用すれば、撮影された画像からデータを得ることができるので、バーコードが不要となる。
このような方法に係る発明として、挿入装置は、拡大縮小率検出用パターン、回転角検出用パターン、候補位置のうち挿入データにより組み合わされる位置にデータパターンを設定し、全てのパターンを合わせて逆フーリエ変換し、原画像に変換により得た画像を加算し、検出装置は、画像をブロックに分割し、各ブロックのデータをフーリエ変換して各ブロックの各周波数成分の振幅を得て、各周波数成分の振幅をブロック間で加算して各周波数毎の総和振幅を得て、拡大縮小率検出用パターンで画像の拡大縮小率を検出し、回転角検出用パターンで画像の回転角を検出し、拡大縮小率及び回転角が補正された総和振幅で候補位置にあるもののうち相対的に大きな値を示す所定数の総和振幅の位置の組み合わせを基にデータを検出するような発明がある(例えば、特許文献1参照。)この発明は、特にカメラで画像を撮影した場合に、画像の縮尺が変化し、また、画像が回転してしまい、このためにデータを表す電子透かしを検出することができなくなってしまうという問題を解決するために、画像の拡大縮小率及び回転角度を検出するための電子透かしを画像に埋め込んでおくものである。
特開2004−15396号公報
特許文献1に記載されている発明によれば、候補位置のうち挿入データにより組み合わされる位置にデータパターンを設定することにより、データが誤って検出される可能性を下げているが、これだけでは不十分である場合がある。例えば、誤ってデータが検出されると、ユーザに撮影した画像と全く関係がないコンテンツが提供されたりして、コンテンツ提供を運用する組織の信用が下がってしまう可能性がある。
そこで、本発明は、電子透かしの形態で挿入されたデータが誤って検出されてしまう可能性を極力減らすことを可能とする、情報シンボルの符号化方法及びその装置並びに情報シンボルの復号化方法及び復号化装置を提供することを目的とする。
本発明の第1の観点によれば、複数の情報シンボルを複数のグループに分割し、各グループに対し偶数パリティ又は奇数パリティを付加する第1パリティ付加ステップと、前記複数の情報シンボルのうちの一部を基に、この一部の情報シンボルを含むエラー訂正符号語を生成するエラー訂正符号語生成ステップと、前記一部の情報シンボルに含められなかった情報シンボルに対し偶数パリティ又は奇数パリティを付加する第2パリティ付加ステップと、前記第1パリティ付加ステップで付加された偶数パリティ又は奇数パリティ及び前記第2パリティ付加ステップで付加された偶数パリティ又は奇数パリティに対し偶数パリティ又は奇数パリティを付加する第3パリティ付加ステップと、を備えることを特徴とする情報シンボルの符号化方法が提供される。
上記の情報シンボルの符号化方法において、前記エラー訂正符号語生成ステップでは、前記一部の情報シンボルを複数のグループに分割し、各グループ毎にエラー訂正符号語を生成するようにしてもよい。
上記の情報シンボルの符号化方法において、前記複数の情報シンボルそれぞれに対しては1つの点を対応させ、前記偶数パリティ又は前記奇数パリティ及び前記エラー訂正符号語の検査シンボルそれぞれに対しては2つの点を対応させるようにしてもよい。
本発明の第2の観点によれば、本発明の第1の観点による情報シンボルの符号化方法により生成された符号語を復号化する復号化方法において、前記第1パリティ付加シンボルで付加されたパリティを基に、前記複数の情報シンボルに誤りが生じたか否かを判断する第1誤り検出ステップと、前記第1誤り検出ステップで、前記複数の情報シンボルに誤りが生じたことが判断された場合に、前記第3パリティ付加ステップで付加されたパリティを基に、前記第1パリティ付加ステップで付加された偶数パリティ又は奇数パリティ又は前記第2パリティ付加ステップで付加された偶数パリティ又は奇数パリティに誤りが生じたか否かを判断する第2誤り検出ステップと、前記第2誤り検出ステップで、前記第1パリティ付加ステップで付加された偶数パリティ又は奇数パリティ又は前記第2パリティ付加ステップで付加された偶数パリティ又は奇数パリティに誤りが生じたことが判断された場合に、エラー終了する第1エラー終了ステップと、を備えることを特徴とする復号化方法が提供される。
上記の復号化方法において、前記第2誤り検出ステップで、前記第1パリティ付加ステップで付加された偶数パリティ及び奇数パリティ又は前記第2パリティ付加ステップで付加された偶数パリティ又は奇数パリティに誤りが生じなかったことが判断された場合に、前記エラー訂正符号語を用いてエラー訂正を行うエラー訂正ステップを更に備えるようにしてもよい。
上記の復号化方法において、前記符号化方法において、データ値が1となる点の数が予め定められており、前記エラー訂正が成功した場合に、データ値が1となる点の数が予め定められた通りとなっているか否かを調べる点数検査ステップと、前記点数検査ステップにおいて、データ値が1となる点の数が予め定められた通りとなっていることが確認された場合に、前記第1パリティ付加シンボルで付加されたパリティを基に、前記複数の情報シンボルに誤りが残っているか否かを判断する第2誤り検出ステップと、前記第2誤り検出ステップで、前記複数の情報シンボルに誤りが残っていないことが判断された場合に、現在の情報シンボルを基にIDを検出するID検出ステップと、を更に備えることを特徴とする復号化方法が提供される。
上記の復号化方法において、前記第2誤り検出ステップで、前記複数の情報シンボルに誤りが残っていることが判断された場合に、エラー終了する第2エラー終了ステップを更に備えるようにしてもよい。
上記の復号化方法において、前記点数検査ステップにおいて、データ値が1となる点の数が予め定められた通りとなっていないことが確認された場合に、前記一部の情報シンボルに含められなかった情報シンボルを反転すると、データ値が1となる点の数が予め定められた通りとなり、且つ、前記第2パリティ付加ステップで付加されたパリティを用いたパリティチェックの結果が正しくなるか否かを判断する補助ステップを更に備えるようにしてもよい。
上記の復号化方法において、前記補助ステップの結果が正常である場合に、前記一部の情報シンボルに含められなかった情報シンボルを反転した上で、前記第1パリティ付加シンボルで付加されたパリティを基に、前記複数の情報シンボルに誤りが残っているか否かを判断する第3誤り検出ステップと、
前記第3誤り検出ステップで、前記複数の情報シンボルに誤りが残っていないことが判断された場合に、現在の情報シンボルを基にIDを検出するID検出ステップと、を更に備えるようにしてもよい。
上記の復号化方法において、前記第3誤り検出ステップで、前記複数の情報シンボルに誤りが残っていることが判断された場合に、エラー終了する第3エラー終了ステップを更に備えるようにしてもよい。
本発明の第3の観点によれば、複数の情報シンボルを複数のグループに分割し、各グループに対し偶数パリティ又は奇数パリティを付加する第1パリティ付加ステップと、前記複数の情報シンボルを基に、これらの複数の情報シンボルを含むエラー訂正符号語を生成するエラー訂正符号語生成ステップと、を備え、二次元周波数空間において、同一円上に配置される非ゼロの周波数成分の数が所定数となるように、情報シンボルを表す周波数成分であって、振幅が非ゼロであるものの数を所定値とし、各偶数パリティ又は各奇数パリティを振幅がゼロである周波数成分と振幅が非ゼロである周波数成分との対で表し、前記エラー訂正符号語に含まれる各検査シンボルを振幅がゼロである周波数成分と振幅が非ゼロである周波数成分との対で表すことを特徴とする符号化方法が提供される。
上記の符号化方法において、パリティとそれの基となる情報シンボルが、前記二次元周波数空間において、同一放射半直線上に並ばないようにしてもよい。
上記の符号化方法において、パリティとそれの基となる情報シンボルが、前記二次元周波数空間において、所定数以上同一円周上に並ばないようにしてもよい。
本発明の第4の観点によれば、本発明の第3の観点による情報シンボルの符号化方法により生成された符号語を復号化する復号化方法において、前記偶数パリティ又は奇数パリティを用いてパリティチェックを行う第1エラー検出ステップと、前記エラー訂正符号語を用いてエラー検出を行う第2エラー検出ステップと、前記第1エラー検出ステップ、前記第2エラー検出ステップ又はその双方においてエラーが検出された場合に、前記エラー訂正符号語を用いてエラー訂正を行うエラー訂正ステップと、前記エラー訂正を行った後に、前記二次元周波数空間において、前記同一円上に配置される非ゼロの周波数成分の数が所定数であるか否かを検査する検査ステップと、前記検査ステップで、前記同一円上に配置される非ゼロの周波数成分の数が所定数であることが確認された場合に、前記偶数パリティ又は奇数パリティを用いてパリティチェックを再度行う第3エラー検出ステップと、前記第3エラー検出ステップにおいて、エラーが検出されない場合に、現在の情報シンボルを基にIDを検出するID検出ステップと、を更に備えることを特徴とする復号化方法が提供される。
本発明によれば、電子透かしの形態で挿入されたデータが誤って検出されてしまう可能性を極力減らすことが可能となる。誤って検出される可能性がある程度ある場合には、検出エラーとする。そうすれば、ユーザは、再度画像の撮影からやり直しをすることができ、その結果、次回には正しくデータを検出することができる可能性が生じる。
以下、図面を参照して本発明を実施するための最良の形態について詳細に説明する。
[実施形態1]
本実施形態では、電子透かし挿入装置は、原画像に、IDに対応した電子透かしを挿入する。
IDを表す情報ビットは、全部で24ビットあるが、これは、Aグループ、Bグループ及びCグループに分割される。Aグループの情報ビットの数は11であり、Bグループの情報ビットの数は11であり、Cグループの情報ビットの数は2である。1個の情報ビットには、周波数空間にある半円上の1個の点が対応する。半円上に1個の点があれば、空間周波数の性質上、原点を中心として点対称の位置にもう1個の点が存在するが、以下では、半円のみに着目して説明をする。
図1は、IDに対応した電子透かしを周波数領域で見た図である。
図1において、三角で示す6個の点は、カメラ等で撮影された電子透かし入り画像の回転角度及び拡大縮小率を検出するための点である。撮影された画像は、フーリエ変換されるが、その後、これらの6個の点を利用して周波数領域にある点の位置の補正が行われる。すなわち、これらの6個の点を利用して、2次元周波数空間の回転角度及びスケールが補正される。
図1を参照すると、Aグループの11個の情報ビットに対応する点は11個ある。これらの点は、円2の5個の点a1、a2、a3、a4、a5、円3の4個の点a6、a7、a8、a9及び円4の2個の点a10、a11である。
Bグループの11個の情報ビットに対応する点は、11個ある。これらの点は、円2の4個の点b1、b2、b3、b4、円3の3個の点b5、b6、b7及び円4の4個の点b8、b9、b10、b11である。
Cグループの2個の情報ビットに対応する点は、2個ある。これらの点は、円2の1個の点c1及び円3の1個の点c2である。
また、円毎に点をみると、円2には、情報ビットに対応する点が10個あり、円3には、情報ビットに対応する点が8個あり、円4には、情報ビットに対応する点が6個ある。
Aグループの11個の情報ビットに対しては、4個の検査ビットが付加さる。11個の情報ビットと4個の検査ビットが1つのハミング符号語を構成し、これは1誤り訂正能力を有する。1個の情報ビットには、空間周波数にある半円上の1個の点が対応するのに対し、1個の検査ビットには、空間周波数にある半円上の2個の点が対応する。
Aグループの4個の検査ビットに対応する点は8個(すなわち、4対)ある。これらの点は、円1の8個の点a12−1、a12−2、a13−1、a13−2、a14−1、a14−2、a15−1、a15−2である。a12−1とa12−2が一対を成し、これらは相補的な値を取る。すなわち、片方が1であれば他方はゼロである。同様に、a13−1とa13−2が一対を成し、a14−1とa14−2が一対を成し、a15−1とa15−2が一対を成す。
BグループについてもAグループについてと同様であり、Bグループの4個の検査ビットに対応する点は8個(すなわち、4対)ある。これらの点は、円1の8個の点b12−1、b12−2、b13−1、b13−2、b14−1、b14−2、b15−1、b15−2である。b12−1とb12−2が一対を成し、b13−1とb13−2が一対を成し、b14−1とb14−2が一対を成し、b15−1とb15−2が一対を成す。
Cグループの2個の情報ビットに対しては、ハミング符号語を構成するための検査ビットが付加されない。従って、Cグループの2個の情報ビットに対し、ハミング符号語を用いたエラー訂正が行われることはない。
その代わりに、Cグループの2個の情報ビットに対し1個のパリティが付加される。また、1個のパリティに対応する点は2個であり、これらは相補的な値を取る。すなわち、片方が1であれば他方はゼロである。これらの点は、円4の2個の点c3−1、c3−2である。
ハミング符号語を構成するためのパリティとは別に、Aグループの11個の情報ビット、Bグループの11個の情報ビット、Cグループの2個の情報ビットに対し、6個の偶数パリティが付加される。但し、偶数パリティの代わりに奇数パリティを用いてもよい。パリティ計算の基とならない情報ビットはない。すなわち、Aグループの11個の情報ビット、Bグループの11個の情報ビット、Cグループの2個の情報ビットの各々に対しては、少なくとも1つのパリティが付加される。従って、Aグループの11個の情報ビット、Bグループの11個の情報ビット、Cグループの2個の情報ビットのうちの少なくとも1つの情報ビットにおいて誤りが発生しているならば、6個の偶数パリティそれぞれを用いた6個のパリティチェックのうちの少なくとも1つのパリティチェックにおいて誤りが検出されることとなる。
例えば、A〜Cグループには、24個の情報ビットがあるが、この24個の情報ビットを4ビットずつ6分割し、各4ビットに対し1つの偶数パリティを設けるようにしてもよい。また、24個の情報ビットを重複を排除せずにnビット(n>4)ずつ6分割し、各nビットに対し1つの偶数パリティを設けるようにしてもよい。
6個の偶数パリティそれぞれに対しては2個の点が対応する。従って、6個の偶数パリティに対しては、合計で12個の点が対応する。各パリティに対する2個の点は、相補的な値を取る。すなわち、片方が1であれば他方はゼロである。従って、6個の偶数パリティには、円2にある一対の点d1、d2、円2にある一対の点e1、e2、円2にある一対の点f1、f2、円3にある一対の点g1、g2、円3にある一対の点h1、h2及び円3にある一対の点i1、i2が対応する。
Cグループの2個の情報ビットに対する1個の偶数パリティ(この代わりに奇数パリティを用いてもよい。)及びA〜Cグループの24(=11+11+2)個の情報ビットに対する6個の偶数パリティを合わせると7個の偶数パリティが存在することとなるが、この7個の偶数パリティに対して、1個の偶数パリティ(この代わりに奇数パリティを用いてもよい。)が付加される。この偶数パリティに対しては2個の点が対応する。これらは相補的な値を取る。すなわち、片方が1であれば他方はゼロである。7個の偶数パリティに対して付加される偶数パリティ(すなわち、偶数パリティに対して付される偶数パリティ)に対応する点は、一対の点j1、j2である。
次に、原画像に対し、IDに対応する電子透かしを挿入する電子透かし挿入装置について図2を参照して説明する。なお、図2に示す電子透かし挿入装置は、ハードウェア、ソフトウェア又はそれらの組合せにより構成することができる。
図2を参照すると、ID入力部11は、IDを入力する。IDは、例えば、URLに対応したり、関連画像の識別情報を表したりする。
情報点生成部13は、IDを基に情報点を生成する。上述したように、円2に10個の情報点、円3に8個の情報点、円4に6個の情報点が在り、各円において、データ値がゼロである点の数とデータ値が1である点の数が等しくなるようにしている。従って、情報点によって表すことができるIDは、10××=352800通りである。
また、回転角度と拡大縮小率を検出するための点は円1に2個、円4に2個、円5に2個あり、各円において片方の点のデータ値が1であれば、他方の点のデータ値はゼロである。更に、パリティに対応する一対の点は、同一円に存在し、片方の点のデータ値が1であれば、他方の点のデータ値はゼロである。従って、各円に存在するデータ値が1である点の数が定まっている。具体的には、円1に存在するデータ値が1である点の数は9であり、円2に存在するデータ値が1である点の数は9であり、円3に存在するデータ値が1である点の数は7であり、円4に存在するデータ値が1である点の数は5であり、円5に存在するデータ値が1である点の数は1である。このように、データ値が1である点の数が各円において定まっているため、それだけでもエラーに対して強くなっている。なお、データ値が1である点には、所定値の振幅の周波数成分が加算される。
ハミング符号パリティ生成部15は、グループAの11個の情報点に対してハミング符号語の生成式に従って、4個のパリティを生成し、同様に、グループBの11個の情報点に対してハミング符号語の生成式に従って、4個のパリティを生成する。
ハミング符号パリティ点生成部17は、ハミング符号パリティ生成部15により生成された8個のパリティに従って、これらを表す16個の点a12−1、a12−2、・・・、a15−1、a15−2、b12−1、b12−2、・・・、b15−1、b15−2を生成する。
偶数パリティ生成部19は、A〜Cグループに属する24個の情報点を基に、所定のパリティ生成式に従って、6個のパリティを生成する。また、Cグループに属する2個の情報点に対するパリティも生成する。更に、これらの合わせて7個のパリティについてのパリティも生成する。従って、合わせて8個のパリティを生成する。
偶数パリティ点生成部21は、偶数パリティ生成部19が生成した8個のパリティに対応した16個のパリティ点c3−1、c3−2、d1、d2、e1、e2、・・・、j1、j2を生成する。
合成部23は、情報点生成部13が生成した情報点、ハミング符号パリティ点生成部17が生成したパリティ点及び偶数パリティ生成部21が生成したパリティ点を合成する。具体的には、2次元周波数空間においてデータ値が1である点に所定のレベルの周波数成分を配置する。
逆フーリエ変換部25は、合成部23の出力を逆フーリエ変換する。逆フーリエ変換における点の数は、原画像の点の数と等しくてもよいが、原画像よりも少なくして、同一パターンが連続するようにしてもよい。例えば、原画像のサイズが2048×2048であれば、逆フーリエ変換のサイズを2048×2048としてもよいが、例えば、128×128として、128×128のパターンが縦横に16個ずつ連続して、2048×2048の領域を覆うようにしてもよい。
加算部29は、画像入力部27が入力した原画像に対して、逆フーリエ変換部25からの出力を加算して、電子透かし入り画像を生成する。
次に、誤りの検出及び訂正の方法について図3、図4及び図5を参照して説明する。なお、図3に示す電子透かし検出装置は、ハードウェア、ソフトウェア又はそれらの組合せにより構成することができる。
まず、フーリエ変換部51は、読み取った画像をフーリエ変換する(ステップS101)。次に、絶対値算出部53は、各周波数成分の絶対値を求める(ステップS103)。次に、補正部55は、回転角度検出用の点及び拡大縮小率検出用の点を用いて、回転角度及びスケールを補正する(ステップS105)。
次に、点検出部57は、各点の値がゼロであるか1であるかを検出する(ステップS107)。この検出のためには、閾値以上となるレベルの信号が埋め込まれている可能性がある点(データ値が1である可能性がある点)に窓を設け、窓を通過した周波数成分のうち絶対値レベルが閾値以上である点のうちレベルが高い順の所定数の点の値が1であるとする。窓を通過した周波数成分のうち絶対値レベルが閾値以上である点の数が所定数に達しない場合には、閾値を下げて、窓を通過した周波数成分のうち絶対値レベルが閾値以上である点の数が所定数に達するようにするが、或る程度まで下げても窓を通過した周波数成分のうち絶対値レベルが閾値以上である点の数が所定数に達しない場合には、制御部67は、エラーフラグを立ててエラー終了する。
図1の例でいえば、円1にある情報点の数がゼロであり、パリティ点の数が16であり、回転角度・拡大縮小率検出用の点の数が2であるが、パリティ点のうち8個の点が閾値以上となるレベルの信号が埋め込まれている点であり、回転角度・拡大縮小率検出用の点のうち1個の点が閾値以上となるレベルの信号が埋め込まれている点であるため、合わせて9個の点を検出することとなる。例えば、窓を通過した点のうち絶対値レベルが閾値以上である点の数が11個であれば、絶対値レベルが高い順の9個の点に1が埋め込まれているとする。
同様に、円2にある情報点の数が10であり、パリティ点の数が8であり、回転角度・拡大縮小率検出用の点の数がゼロであるが、情報点のうち5個の点が閾値以上となるレベルの信号が埋め込まれている点であり、パリティ点のうち4個の点が閾値以上となるレベルの信号が埋め込まれている点であるため、合わせて9個の点を検出することとなる。例えば、窓を通過した点のうち絶対値レベルが閾値以上である点の数が11個であれば、絶対値レベルが高い順の9個の点に1が埋め込まれているとする。
同様に、円3にある情報点の数が8であり、パリティ点の数が6であり、回転角度・拡大縮小率検出用の点の数がゼロであるが、情報点のうち4個の点が閾値以上となるレベルの信号が埋め込まれている点であり、パリティ点のうち3個の点が閾値以上となるレベルの信号が埋め込まれている点であるため、合わせて7個の点を検出することとなる。例えば、窓を通過した点のうち絶対値レベルが閾値以上である点の数が10個であれば、絶対値レベルが高い順の7個の点に1が埋め込まれているとする。
同様に、円4にある情報点の数が6であり、パリティ点の数が2であり、回転角度・拡大縮小率検出用の点の数が2であるが、情報点のうち3個の点が閾値以上となるレベルの信号が埋め込まれている点であり、パリティ点のうち1個の点が閾値以上となるレベルの信号が埋め込まれている点であり、回転角度・拡大縮小率検出用の点のうち1個の点が閾値以上となるレベルの信号が埋め込まれている点であるため、合わせて5個の点を検出することとなる。例えば、窓を通過した点のうち絶対値レベルが閾値以上である点の数が6個であれば、絶対値レベルが高い順に5個の点に1が埋め込まれているとする。
図4に戻り、上述したように、各点の値が検出できなかった場合には(ステップS109でNO)、制御部67は、エラーフラグを立ててエラー終了する。各点の値が検出できない場合とは、例えば、閾値を或る程度まで下げても、閾値以上となる所定数の点が検出できない場合である。
次に、パリティチェック部59は、データに付加された偶数パリティを用いた、合わせて6個のパリティチェック(点d1、d2に対応するパリティを用いたパリティチェック、点e1、e2に対応するパリティを用いたパリティチェック、点f1、f2に対応するパリティを用いたパリティチェック、点g1、g2に対応するパリティを用いたパリティチェック、点h1、h2に対応するパリティを用いたパリティチェック、点i1、i2に対応するパリティを用いたパリティチェック)を行う(ステップS111)。
全てのパリティチェックにおいて、パリティエラーが検出されなければ(ステップS113でYES)、全てのデータ点に誤りが含まれていない可能性が非常に高いため、ID検出部65は、直ちに、IDの検出を行う(ステップS115)。
ここでIDの検出とは、各円毎の値が1であるデータ点の位置の組合せに基づいたIDの検出のことである。図1の例では、円2にはデータ点が10個あり、円3にはデータ点が8個あり、円4にはデータ点が6個あり、それぞれの円において値が1である点の数と値がゼロである点の数は半々であるため、10××=352800通りのIDのうちの1つのIDを検出する。
他方、少なくとも1つのパリティチェックにおいて、パリティエラーが検出されたならば(ステップS113でNO)、何れかのデータ点に誤りが含まれている可能性もあるが、パリティ自体に誤りが含まれている可能性もある。
そのため、この場合には、パリティ自体に誤りが含まれているかどうかを確認するために、パリティチェック部59は、パリティに付加されたパリティを用いたパリティチェック(点d1、d2に対応するパリティ、点e1、e2に対応するパリティ、点f1、f2に対応するパリティ、点g1、g2に対応するパリティ、点h1、h2に対応するパリティ、点i1、i2に対応するパリティに対して付加されたパリティ(点j1、j2がこれに対応する)を用いたパリティチェック)をおこなう(ステップS117)。
パリティに付加されたパリティを用いたパリティチェックでエラーが検出された場合には(ステップS119でNO)、データに付加されたパリティに誤りがある可能性がある。すなわち、データに誤りが含まれていることがステップS111、S113で確認できたが、これからハミング符号語等による誤り訂正をしても、その後に、誤り訂正が正しく行えたか否かをパリティを用いて検出すること(ステップS133)ができない。従って、この場合には、制御部67は、エラーフラグを立ててエラー終了する。
このようにして、エラー訂正できたとしても、それが誤訂正である確率を低くしている。これは、誤訂正して謝ったIDを検出してしまうと、誤ったコンテンツなどをユーザに提供することとなるが、これが致命的となるからである。他方、エラー終了して、ユーザにそれを知らせれば、ユーザは再度画像の撮影を試みて、その後正しくIDを検出することができる可能性が残される。従って、ステップS119でNOであれば、エラー終了して、誤訂正が検出できない事態を避けることとしている。
パリティに付加されたパリティを用いたパリティチェックでエラーが検出されなかった場合には(ステップS119でYES)、エラー訂正部61は、Aグループ及びBグループでハミング符号語を用いたエラー訂正を試みる(ステップS121)。
Aグループ、Bグループ又はその双方でハミング符号語を用いた誤り訂正ができなかった場合には(具体的には、本例では、ハミング符号語を用いた誤り訂正では1誤り訂正のみしかできないので、2誤りが検出された場合には)(ステップS123でNO)、制御部67は、エラーフラグを立ててエラー終了する。本例では、Aグループで2誤り検出された場合、Bグループで2誤り検出された場合又は双方のグループで2誤り検出された場合には、エラー終了する。
ステップS123でYESである場合とは、Aグループ及びBグループそれぞれにおける誤りの数が1以下であり、ステップS123を経た後には、Aグループ及びBグループの双方に誤りが残っていない場合である。
しかし、まだ、Cグループについては、誤りが残っている可能性がある。また、ステップS121で誤訂正がされた可能性が僅かながらもある。そこで、各円において、値が1のデータが埋め込まれているデータ点の数が正しいか否かをみる(ステップS125)。本例では、円2において値が1となったデータ点の数が5であり、円3において値が1となったデータ点の数が4であり、円4において値が1となったデータ点の数が3であるか否かを確認する。
ステップS125での判断が否定的である場合には、Cグループのデータ値に誤りがある可能性がある。そこで、Cグループに属する点のうちステップS125での判断結果が否定的であった円に属する点のデータ値を反転し、その円において、値が1のデータが埋め込まれている点の数が正しくなったか否かをみる(ステップS127)。具体的には、円2についてステップS125での判断が否定的であれば、点C1のデータ値を反転してみて、円2において、値が1のデータが埋め込まれている点の数が正しくなったか否かをみる。円3についてステップS125での判断が否定的であれば、点C2のデータ値を反転してみて、円3において、値が1のデータが埋め込まれている点の数が正しくなったか否かをみる。円2及び円3についてステップS125での判断が否定的であれば、円2及び円3の双方についてこの操作と判断を行う。
反転してみて、正しくならなかった円があるならば(ステップS127でNO)、ステップS125での判断が否定的となった原因はグループCのデータ値に誤りがあることではなく、グループA、グループB又はその双方に誤りが残っていることを意味するので、制御部67は、エラーフラグを立ててエラー終了する。
反転してみて、正しくなったならば(ステップS127でYES)、ステップS125での判断が否定的となった原因はグループCのデータ値に誤りがあることである可能性が極めて高い。そこで、そうである場合には、Cグループにおいて、反転後のデータ値を用いてパリティチェックを行う(ステップS129)。
ステップS129でのパリティチェックの結果が誤りであれば、ステップS125での判断が否定的となった原因はグループCのデータ値に誤りがあることであると結論づけることができない。すなわち、グループAやグループBに誤りがある可能性がある。このため、ステップS129でのパリティチェックの結果に誤りがあれば(ステップS131でNO)、制御部67は、エラーフラグを立ててエラー終了する。
ステップS129でのパリティチェックの結果が正しければ(ステップS131でYES)、ステップS125での判断結果が否定的となった原因はグループCのデータ値に誤りがあることであるとほぼ確定できる。そこで、再度、ステップS111と同様なパリティチェックを行い(ステップS133)、パリティエラーがなければ、IDの検出を行う(ステップS115)。
また、ステップS125での判断結果が肯定的である場合には、ステップS121で、ハミング符号語を用いた誤り訂正が正しく行われた可能性が高いため、再度、ステップS111と同様なパリティチェックを行い(ステップS133)、パリティエラーがなければ、IDの検出を行う(ステップS115)。
[実施形態2]
実施形態1における電子透かしの周波数空間における分布は図1に示すようなものであるが、実施形態2における電子透かしの周波数空間における分布は図6に示すようなものである。
実施形態1では、24個の情報ビットを11個の情報ビットより構成されるAグループ、11個の情報ビットより構成されるBグループ及び2個の情報ビットより構成されるCグループに分割した。これに対し、実施形態2では、24個の情報ビットを4個の情報ビットより成るAグループ、4個の情報ビットより成るBグループ、4個の情報ビットより成るCグループ、4個の情報ビットより成るDグループ、4個の情報ビットより成るEグループ及び4個の情報ビットより成るFグループに分割する。
実施形態1では、Aグループ及びBグループのみに対しハミング符号語を構成するようにしたが、実施形態2では、Aグループ乃至Fグループの全てに対してハミング符号語を構成するようにする。また、実施形態1では、11個の情報ビットに対し4個の検査ビットを付加することによりハミング符号語を構成したが、実施形態2では、4個の情報ビットに対し3個の検査ビットを付加することによりハミング符号語を構成する。両方とも1誤り訂正能力を有するハミング符号語である。
具体的には、実施形態2では、Aグループの4個の情報ビットに対し3個の検査ビットを付加することによりハミング符号語を構成する。Bグループ乃至Fグループに対しても同様である。
また、実施形態2では、実施形態1とは異なり、ハミング符号語から洩れる情報ビット(実施形態1でのCグループに属するような情報ビット)は存在しない。
図6を参照すると、点a1〜a4は、グループAに属する4個の情報ビットに対応する点である。また、実施形態1と同様に、1個の検査ビットに対しては一対の点が対応する。従って、Aグループに属する3個の検査ビットに対応する点は6個あり、これらは、点a5−1、a5−2、a6−1、a6−2、a7−1、a7−2である。点a5−1と点a5−2が一対となり、これが1つの検査ビットに対応する。点a5−1と点a5−2の値は相補的である。すなわち、片方のデータ値が1であれば、他方のデータ値はゼロである。
グループB乃至グループFについても、グループAと同様である。従って、例えば、Bグループの情報ビットに対応する点はb1、b2、b3、b4であり、Bグループの検査ビットに対応する点は、b5−1、b5−2、b6−1、b6−2、b7−1、b7−2である。b5−1及びb5−2は対を成し1つの検査ビットに対応し、b6−1及びb6−2は対を成し1つの検査ビットに対応し、b6−1及びb6−2は対を成し1つの検査ビットに対応する。
次に、偶数パリティについて説明する。但し、上記と同様に偶数パリティの代わりに奇数パリティを用いてもよい。
偶数パリティは、合計で4個生成される。各偶数パリティは、6個の情報ビットに対して設けられる。従って、合計で、24(=4×6)個の情報ビット(a1〜a4、・・・、f1〜f4)を網羅し、偶数パリティが付けられない情報ビットは存在しないこととなる。また、偶数パリティは、別々のハミング符号語の構成要素である情報ビットに対して設けられる。すなわち、或る偶数パリティは、情報ビットai、bj、ck、dl、em、fn(i、j、k、l、m、nは1乃至4の何れかの値)に対して設けられる。
また、1つの偶数パリティに対しては、一つの相補的な点が対応する。図6の例では、点i1、i2が第1の偶数パリティに対応し、点j1、j2が第2の偶数パリティに対応し、点k1、k2が第3の偶数パリティに対応し、点l1、l2が第4の偶数パリティに対応する。
第1の偶数パリティは、点a4、b3、c1、d2、e1、f4に対応する情報ビットを基に算出される。
第2の偶数パリティは、点a3、b4、c2、d1、e4、f1に対応する情報ビットを基に算出される。
第3の偶数パリティは、点a1、b2、c4、d3、e2、f3に対応する情報ビットを基に算出される。
第4の偶数パリティは、点a2、b1、c3、d4、e3、f2に対応する情報ビットを基に算出される。
また、点a1〜a4、b1〜b4、・・・、f1〜f4の分布からわかるように、それぞれの偶数パリティは、可能な限り異なった円にある点に対応する情報ビットを基に算出される。更に、点a1〜a4、b1〜b4、・・・、f1〜f4の分布からわかるように、それぞれの偶数パリティは、可能な限り異なった放射線にある点に対応する情報ビットを基に算出される。このような分布を用いることにより、撮影後の各偶数パリティの値に含まれるエラーができるかぎりランダムになるようにしている。例えば、同一放射線にある点に対応する情報ビットを基に偶数パリティを計算すると、2誤りのために、誤りが検出されない可能性が大きくなってしまうが、上述のような分布を選定することにより、2誤りのために誤りが検出されないことが生ずる可能性を低く抑えることができる。
図6において三角で表す点は、回転角度や拡大縮小を補正するための点であるが、この詳細についての説明は省略する。
次に、原画像に対し、IDに対応する電子透かしを挿入する電子透かし挿入装置について図2を参照して説明する。
図2を参照すると、ID入力部11は、IDを入力する。IDは、例えば、URLに対応したり、関連画像の識別情報を表したりする。
情報点生成部13は、IDを基に情報点を生成する。円1に8個の情報点、円2に10個の情報点、円3に6個の情報点が在り、各円において、データ値がゼロである点の数とデータ値が1である点の数が等しくなるようにしている。従って、情報点によって表すことができるIDは、×10×=352800通りである。
また、回転角度と拡大縮小率を検出するための点は円1に2個あり、円3に2個あり、片方の点のデータ値が1であれば、他方の点のデータ値はゼロである。更に、パリティに対応する一対の点は、同一円に存在し、片方の点のデータ値が1であれば、他方の点のデータ値はゼロである。従って、各円に存在するデータ値が1である点の数が定まっている。具体的には、円1に存在するデータ値が1である点の数は14であり、円2に存在するデータ値が1である点の数は12であり、円3に存在するデータ値が1である点の数は10である。このように、データ値が1である点の数が各円において定まっているため、それだけでもエラーに対して強くなっている。なお、データ値が1である点には、所定値の振幅の周波数成分が加算される。
ハミング符号パリティ生成部15は、グループAの4個の情報点に対してハミング符号語の生成式に従って、3個のパリティを生成し、同様に、グループB〜Fそれぞれの4個の情報点に対してハミング符号語の生成式に従って、3個のパリティを生成する。
ハミング符号パリティ点生成部17は、ハミング符号パリティ生成部15により生成された18個のパリティに従って、これらを表す36個の点a5−1、a5−2、a6−1、a6−2、a7−1、a7−2、・・・、f5−1、f5−2、f6−1、f6−2、f7−1、f7−2を生成する。
偶数パリティ生成部19は、A〜Fグループに属する24個の情報点を基に、所定のパリティ生成式に従って、4個のパリティを生成する。
偶数パリティ点生成部21は、偶数パリティ生成部19が生成した4個のパリティに対応した8個のパリティ点i1、i2、j1、j2、k1、k2、l1、l2を生成する。
合成部23は、情報点生成部13が生成した情報点、ハミング符号パリティ点生成部17が生成したパリティ点及び偶数パリティ生成部21が生成したパリティ点を合成する。具体的には、2次元周波数空間においてデータ値が1である点に所定のレベルの周波数成分を配置する。
逆フーリエ変換部25は、合成部23の出力を逆フーリエ変換する。逆フーリエ変換における点の数は、原画像の点の数と等しくてもよいが、原画像よりも少なくして、同一パターンが連続するようにしてもよい。例えば、原画像のサイズが2048×2048であれば、逆フーリエ変換のサイズを2048×2048としてもよいが、例えば、128×128として、128×128のパターンが縦横に16個ずつ連続して、2048×2048の領域を覆うようにしてもよい。
加算部29は、画像入力部27が入力した原画像に対して、逆フーリエ変換部25からの出力を加算して、電子透かし入り画像を生成する。
次に、誤りの検出及び訂正の方法について図3、図7及び図8を参照して説明する。
まず、フーリエ変換部51は、読み取った画像をフーリエ変換する(ステップS201)。次に、絶対値算出部53は、各周波数成分の絶対値を求める(ステップS203)。次に、補正部55は、回転角度検出用の点及び拡大縮小率検出用の点を用いて、回転角度及びスケールを補正する(ステップS205)。
次に、点検出部57は、各点の値がゼロであるか1であるかを検出する(ステップS207)。この検出のためには、閾値以上となるレベルの信号が埋め込まれている可能性がある点(データ値が1である可能性がある点)に窓を設け、窓を通過した周波数成分のうち絶対値レベルが閾値以上である点のうちレベルが高い順の所定数の点の値が1であるとする。窓を通過した周波数成分のうち絶対値レベルが閾値以上である点の数が所定数に達しない場合には、閾値を下げて、窓を通過した周波数成分のうち絶対値レベルが閾値以上である点の数が所定数に達するようにするが、或る程度まで下げても窓を通過した周波数成分のうち絶対値レベルが閾値以上である点の数が所定数に達しない場合には、制御部67は、エラーフラグを立ててエラー終了する。
図6の例でいえば、円1にある情報点の数が8であり、パリティ点の数が18であり、回転角度・拡大縮小率検出用の点の数が2であるが、情報点のうち4個の点が閾値以上となるレベルの信号が埋め込まれている点であり、パリティ点のうち9個の点が閾値以上となるレベルの信号が埋め込まれている点であり、回転角度・拡大縮小率検出用の点のうち1個の点が閾値以上となるレベルの信号が埋め込まれている点であるため、合わせて14個の点を検出することとなる。例えば、窓を通過した点のうち絶対値レベルが閾値以上である点の数が16個であれば、絶対値レベルが高い順の14個の点に1が埋め込まれているとする。
同様に、円2にある情報点の数が10であり、パリティ点の数が14であるが、情報点のうち5個の点が閾値以上となるレベルの信号が埋め込まれている点であり、パリティ点のうち7個の点が閾値以上となるレベルの信号が埋め込まれている点であるため、合わせて12個の点を検出することとなる。例えば、窓を通過した点のうち絶対値レベルが閾値以上である点の数が15個であれば、絶対値レベルが高い順の12個の点に1が埋め込まれているとする。
同様に、円3にある情報点の数が6であり、パリティ点の数が12であり、回転角度・拡大縮小率検出用の点の数が2であるが、情報点のうち3個の点が閾値以上となるレベルの信号が埋め込まれている点であり、パリティ点のうち6個の点が閾値以上となるレベルの信号が埋め込まれている点であり、回転角度・拡大縮小率検出用の点のうち1個の点が閾値以上となるレベルの信号が埋め込まれている点であるため、合わせて10個の点を検出することとなる。例えば、窓を通過した点のうち絶対値レベルが閾値以上である点の数が12個であれば、絶対値レベルが高い順の10個の点に1が埋め込まれているとする。
図7に戻り、上述したように、各点の値が検出できなかった場合には(ステップS209でNO)、制御部67は、エラーフラグを立ててエラー終了する。各点の値が検出できない場合とは、例えば、閾値を或る程度まで下げても、閾値以上となる所定数の点が検出できない場合である。
次に、パリティチェック部59は、データに付加された偶数パリティを用いた、合わせて4個のパリティチェック(点i1、i2に対応するパリティを用いたパリティチェック、点j1、j2に対応するパリティを用いたパリティチェック、点k1、k2に対応するパリティを用いたパリティチェック、点l1、l2に対応するパリティを用いたパリティチェック)を行う(ステップS211)。
何れかのパリティチェックにおいて、パリティエラーが検出されたならば(ステップS213でNO)、ハミング符号語を用いたエラー訂正をするためにステップS221に進む。
全てのパリティチェックにおいて、パリティエラーが検出されなければ(ステップS213でYES)、ハミング符号語を用いたエラー検出を行う(ステップS215)。
パリティを用いたエラー検出においても、ハミング符号語を用いたエラー検出においてもエラーが検出されない場合には(ステップS213でYES、ステップS217でYES)、全てのデータ点に誤りが含まれていない可能性が非常に高いため、ID検出部65は、直ちに、IDの検出を行う(ステップS219)。
ここでIDの検出とは、各円毎の値が1であるデータ点の位置の組合せに基づいたIDの検出のことである。図6の例では、円1にはデータ点が8個あり、円2にはデータ点が10個あり、円3にはデータ点が6個あり、それぞれの円において値が1である点の数と値がゼロである点の数は半々であるため、×10×=352800通りのIDのうちの1つのIDを検出する。
ハミング符号語を用いたエラー検出においてラーが検出されたならば(ステップS217でNO)、ハミング符号語を用いたエラー訂正をするためにステップS221に進む。
ハミング符号語を用いたエラー訂正(ステップS221)においては、6個のハミング符号語のそれぞれについて1誤り訂正を試みる。
いずれかのハミング符号語について、エラー訂正に失敗したならば(具体的には、本例では、ハミング符号語を用いた誤り訂正では1誤り訂正のみしかできないので、2誤りが検出された場合には)(ステップS223でNO)、制御部67は、エラーフラグを立ててエラー終了する。
全てのハミング符号語について、エラー訂正に成功したならば、各円において、データ値が1である点の数が規定値通りであるか否かを調べる(ステップS225)。具体的には、円1については、全部で28個の点のうちの14個の点のデータ値が1であり、円2については、全部で24個の点のうちの12個の点のデータ値が1であり、円3については、全部で20個の点のうちの10個の点のデータ値が1であるか否かを調べる。
ステップS225でのチェック結果が否定的であれば、誤訂正された可能性があるため、制御部67は、エラーフラグを立ててエラー終了する。
ステップS225でのチェック結果が肯定的であれば、再度、ステップS211と同様に、データに付加された偶数パリティを用いた、合わせて4個のパリティチェック(点i1、i2に対応するパリティを用いたパリティチェック、点j1、j2に対応するパリティを用いたパリティチェック、点k1、k2に対応するパリティを用いたパリティチェック、点l1、l2に対応するパリティを用いたパリティチェック)を行う(ステップS227)。
何れかのパリティチェックにおいて、パリティエラーが検出されたならば(ステップS229でNO)、誤訂正された可能性があるため、制御部67は、エラーフラグを立ててエラー終了する。
全てのパリティチェックにおいて、パリティエラーが検出されなければ(ステップS229でYES)、正しく訂正されたと判断できるため、ステップS219に進み、ID検出部65は、IDの検出を行う。
ステップS129でのパリティチェックの結果が誤りであれば、ステップS125での判断が否定的となった原因はグループCのデータ値に誤りがあることであると結論づけることができない。すなわち、グループAやグループBに誤りがある可能性がある。このため、ステップS129でのパリティチェックの結果に誤りがあれば(ステップS131でNO)、制御部67は、エラーフラグを立ててエラー終了する。
ステップS129でのパリティチェックの結果が正しければ(ステップS131でYES)、ステップS125での判断結果が否定的となった原因はグループCのデータ値に誤りがあることであるとほぼ確定できる。そこで、再度、ステップS111と同様なパリティチェックを行い(ステップS133)、パリティエラーがなければ、IDの検出を行う(ステップS115)。
また、ステップS125での判断結果が肯定的である場合には、ステップS121で、ハミング符号語を用いた誤り訂正が正しく行われた可能性が高いため、再度、ステップS111と同様なパリティチェックを行い(ステップS133)、パリティエラーがなければ、IDの検出を行う(ステップS115)。
[実施形態3]
実施形態1及び実施形態2では、2次元周波数空間に複数の円を設け、各円において、データ値が1となりうる点を所定数nだけ所定位置に定め、実際にデータ値が1となる点の数も所定数m(<n)としていた。そして、データ値が1となる点には、所定の非ゼロの振幅となる周波数成分を配置していた。こうすることにより、カメラにより撮影した画像に対し、フーリエ変換と回転角度と拡大縮小率の補正と振幅の算出を行った後に、円上の所定位置の周波数成分の振幅が大きい順に所定数個の点を検出し、それらの点の成すパターンによりIDを復元することができた。
実施形態3は、データ値が1となりうる点を所定数nだけ所定位置に定め、実際にデータ値を1とする点の数も所定数m(<n)とする点においては、実施形態1及び実施形態2と共通する。しかし、実施形態3では、データ値が1となりうる点の位置を円上の位置ではない位置とする。例えば、格子状にn1×n2(=n)個の位置を定め、そのうちm(<n1×n2)個の点をデータ値が1となる点とする。このようにしても、フーリエ変換と回転角度と拡大縮小率の補正と振幅の算出を行った後に、格子上の所定位置の周波数成分の振幅が大きい順に所定数個の点を検出し、それらの点の成すパターンによりIDを復元することができる。
本発明の実施形態1による電子透かしの周波数空間におけるパターンを示す図である。 本発明の実施形態による電子透かし挿入装置の構成を示すブロック図である。 本発明の実施形態による電子透かし検出装置の構成を示すブロック図である。 本発明の実施形態1による電子透かし検出方法を示すフローチャート(1/2)である。 本発明の実施形態1による電子透かし検出方法を示すフローチャート(2/2)である。 本発明の実施形態2による電子透かしの周波数空間におけるパターンを示す図である。 本発明の実施形態2による電子透かし検出方法を示すフローチャート(1/2)である。 本発明の実施形態2による電子透かし検出方法を示すフローチャート(2/2)である。
符号の説明
11 ID入力部
13 情報点生成部
15 ハミング符号パリティ生成部
17 ハミング符号パリティ生成部
19 偶数パリティ生成部
21 偶数パリティ点生成部
23 合成部
25 逆フーリエ変換部
27 画像入力部
29 加算部
51 フーリエ変換部
53 絶対値算出部
55 補正部
57 点検出部
59 パリティチェック部
61 エラー訂正部
63 点数点検部
65 ID検出部
67 制御部

Claims (29)

  1. 複数の情報シンボルを複数のグループに分割し、各グループに対し偶数パリティ又は奇数パリティを付加する第1パリティ付加ステップと、
    前記複数の情報シンボルのうちの一部を基に、この一部の情報シンボルを含むエラー訂正符号語を生成するエラー訂正符号語生成ステップと、
    前記一部の情報シンボルに含められなかった情報シンボルに対し偶数パリティ又は奇数パリティを付加する第2パリティ付加ステップと、
    前記第1パリティ付加ステップで付加された偶数パリティ又は奇数パリティ及び前記第2パリティ付加ステップで付加された偶数パリティ又は奇数パリティに対し偶数パリティ又は奇数パリティを付加する第3パリティ付加ステップと、
    を備えることを特徴とする情報シンボルの符号化方法。
  2. 請求項1に記載の情報シンボルの符号化方法において、
    前記エラー訂正符号語生成ステップでは、前記一部の情報シンボルを複数のグループに分割し、各グループ毎にエラー訂正符号語を生成することを特徴とする情報シンボルの符号化方法。
  3. 請求項1又は2に記載の情報シンボルの符号化方法において、
    前記複数の情報シンボルそれぞれに対しては1つの点を対応させ、前記偶数パリティ又は前記奇数パリティ及び前記エラー訂正符号語の検査シンボルそれぞれに対しては2つの点を対応させることを特徴とする情報シンボルの符号化方法。
  4. 請求項1に記載の情報シンボルの符号化方法により生成された符号語を復号化する復号化方法において、
    前記第1パリティ付加シンボルで付加されたパリティを基に、前記複数の情報シンボルに誤りが生じたか否かを判断する第1誤り検出ステップと、
    前記第1誤り検出ステップで、前記複数の情報シンボルに誤りが生じたことが判断された場合に、前記第3パリティ付加ステップで付加されたパリティを基に、前記第1パリティ付加ステップで付加された偶数パリティ又は奇数パリティ又は前記第2パリティ付加ステップで付加された偶数パリティ又は奇数パリティに誤りが生じたか否かを判断する第2誤り検出ステップと、
    前記第2誤り検出ステップで、前記第1パリティ付加ステップで付加された偶数パリティ又は奇数パリティ又は前記第2パリティ付加ステップで付加された偶数パリティ又は奇数パリティに誤りが生じたことが判断された場合に、エラー終了する第1エラー終了ステップと、
    を備えることを特徴とする復号化方法。
  5. 請求項4に記載の復号化方法において、
    前記第2誤り検出ステップで、前記第1パリティ付加ステップで付加された偶数パリティ及び奇数パリティ又は前記第2パリティ付加ステップで付加された偶数パリティ又は奇数パリティに誤りが生じなかったことが判断された場合に、前記エラー訂正符号語を用いてエラー訂正を行うエラー訂正ステップを更に備えることを特徴とする復号化方法。
  6. 請求項5に記載の復号化方法において、
    前記符号化方法において、データ値が1となる点の数が予め定められており、
    前記エラー訂正が成功した場合に、データ値が1となる点の数が予め定められた通りとなっているか否かを調べる点数検査ステップと、
    前記点数検査ステップにおいて、データ値が1となる点の数が予め定められた通りとなっていることが確認された場合に、前記第1パリティ付加シンボルで付加されたパリティを基に、前記複数の情報シンボルに誤りが残っているか否かを判断する第2誤り検出ステップと、
    前記第2誤り検出ステップで、前記複数の情報シンボルに誤りが残っていないことが判断された場合に、現在の情報シンボルを基にIDを検出するID検出ステップと、
    を更に備えることを特徴とする復号化方法。
  7. 請求項6に記載の復号化方法において、
    前記第2誤り検出ステップで、前記複数の情報シンボルに誤りが残っていることが判断された場合に、エラー終了する第2エラー終了ステップを更に備えることを特徴とする復号化方法。
  8. 請求項6に記載の復号化方法において、
    前記点数検査ステップにおいて、データ値が1となる点の数が予め定められた通りとなっていないことが確認された場合に、
    前記一部の情報シンボルに含められなかった情報シンボルを反転すると、データ値が1となる点の数が予め定められた通りとなり、且つ、前記第2パリティ付加ステップで付加されたパリティを用いたパリティチェックの結果が正しくなるか否かを判断する補助ステップを更に備えることを特徴とする復号化方法。
  9. 請求項8に記載の復号化方法において、
    前記補助ステップの結果が正常である場合に、前記一部の情報シンボルに含められなかった情報シンボルを反転した上で、前記第1パリティ付加シンボルで付加されたパリティを基に、前記複数の情報シンボルに誤りが残っているか否かを判断する第3誤り検出ステップと、
    前記第3誤り検出ステップで、前記複数の情報シンボルに誤りが残っていないことが判断された場合に、現在の情報シンボルを基にIDを検出するID検出ステップと、
    を更に備えることを特徴とする復号化方法。
  10. 請求項9に記載の復号化方法において、
    前記第3誤り検出ステップで、前記複数の情報シンボルに誤りが残っていることが判断された場合に、エラー終了する第3エラー終了ステップを更に備えることを特徴とする復号化方法。
  11. 複数の情報シンボルを複数のグループに分割し、各グループに対し偶数パリティ又は奇数パリティを付加する第1パリティ付加ステップと、
    前記複数の情報シンボルを基に、これらの複数の情報シンボルを含むエラー訂正符号語を生成するエラー訂正符号語生成ステップと、
    を備え、
    二次元周波数空間において、同一円上に配置される非ゼロの周波数成分の数が所定数となるように、情報シンボルを表す周波数成分であって、振幅が非ゼロであるものの数を所定値とし、各偶数パリティ又は各奇数パリティを振幅がゼロである周波数成分と振幅が非ゼロである周波数成分との対で表し、前記エラー訂正符号語に含まれる各検査シンボルを振幅がゼロである周波数成分と振幅が非ゼロである周波数成分との対で表すことを特徴とする符号化方法。
  12. 請求項11に記載の符号化方法において、
    パリティとそれの基となる情報シンボルが、前記二次元周波数空間において、同一放射半直線上に並ばないようにしたことを特徴とする符号化方法。
  13. 請求項11又は12に記載の符号化方法において、
    パリティとそれの基となる情報シンボルが、前記二次元周波数空間において、所定数以上同一円周上に並ばないようにしたことを特徴とする符号化方法。
  14. 請求項11乃至13の何れか1項に記載の符号化方法により生成された符号語を復号化する復号化方法において、
    前記偶数パリティ又は奇数パリティを用いてパリティチェックを行う第1エラー検出ステップと、
    前記エラー訂正符号語を用いてエラー検出を行う第2エラー検出ステップと、
    前記第1エラー検出ステップ、前記第2エラー検出ステップ又はその双方においてエラーが検出された場合に、
    前記エラー訂正符号語を用いてエラー訂正を行うエラー訂正ステップと、
    前記エラー訂正を行った後に、前記二次元周波数空間において、前記同一円上に配置される非ゼロの周波数成分の数が所定数であるか否かを検査する検査ステップと、
    前記検査ステップで、前記同一円上に配置される非ゼロの周波数成分の数が所定数であることが確認された場合に、前記偶数パリティ又は奇数パリティを用いてパリティチェックを再度行う第3エラー検出ステップと、
    前記第3エラー検出ステップにおいて、エラーが検出されない場合に、現在の情報シンボルを基にIDを検出するID検出ステップと、
    を更に備えることを特徴とする復号化方法。
  15. 複数の情報シンボルを複数のグループに分割し、各グループに対し偶数パリティ又は奇数パリティを付加する第1パリティ付加手段と、
    前記複数の情報シンボルのうちの一部を基に、この一部の情報シンボルを含むエラー訂正符号語を生成するエラー訂正符号語生成手段と、
    前記一部の情報シンボルに含められなかった情報シンボルに対し偶数パリティ又は奇数パリティを付加する第2パリティ付加手段と、
    前記第1パリティ付加手段で付加された偶数パリティ又は奇数パリティ及び前記第2パリティ付加手段で付加された偶数パリティ又は奇数パリティに対し偶数パリティ又は奇数パリティを付加する第3パリティ付加手段と、
    を備えることを特徴とする情報シンボルの符号化装置。
  16. 請求項15に記載の情報シンボルの符号化装置において、
    前記エラー訂正符号語生成手段では、前記一部の情報シンボルを複数のグループに分割し、各グループ毎にエラー訂正符号語を生成することを特徴とする情報シンボルの符号化装置。
  17. 請求項15又は16に記載の情報シンボルの符号化装置において、
    前記複数の情報シンボルそれぞれに対しては1つの点を対応させ、前記偶数パリティ又は前記奇数パリティ及び前記エラー訂正符号語の検査シンボルそれぞれに対しては2つの点を対応させることを特徴とする情報シンボルの符号化装置。
  18. 請求項15に記載の情報シンボルの符号化装置により生成された符号語を復号化する復号化装置において、
    前記第1パリティ付加シンボルで付加されたパリティを基に、前記複数の情報シンボルに誤りが生じたか否かを判断する第1誤り検出手段と、
    前記第1誤り検出手段で、前記複数の情報シンボルに誤りが生じたことが判断された場合に、前記第3パリティ付加手段で付加されたパリティを基に、前記第1パリティ付加手段で付加された偶数パリティ又は奇数パリティ又は前記第2パリティ付加手段で付加された偶数パリティ又は奇数パリティに誤りが生じたか否かを判断する第2誤り検出手段と、
    前記第2誤り検出手段で、前記第1パリティ付加手段で付加された偶数パリティ又は奇数パリティ又は前記第2パリティ付加手段で付加された偶数パリティ又は奇数パリティに誤りが生じたことが判断された場合に、エラー終了する第1エラー終了手段と、
    を備えることを特徴とする復号化装置。
  19. 請求項18に記載の復号化装置において、
    前記第2誤り検出手段で、前記第1パリティ付加手段で付加された偶数パリティ及び奇数パリティ又は前記第2パリティ付加手段で付加された偶数パリティ又は奇数パリティに誤りが生じなかったことが判断された場合に、前記エラー訂正符号語を用いてエラー訂正を行うエラー訂正手段を更に備えることを特徴とする復号化装置。
  20. 請求項19に記載の復号化装置において、
    前記符号化装置において、データ値が1となる点の数が予め定められており、
    前記エラー訂正が成功した場合に、データ値が1となる点の数が予め定められた通りとなっているか否かを調べる点数検査手段と、
    前記点数検査手段において、データ値が1となる点の数が予め定められた通りとなっていることが確認された場合に、前記第1パリティ付加シンボルで付加されたパリティを基に、前記複数の情報シンボルに誤りが残っているか否かを判断する第2誤り検出手段と、
    前記第2誤り検出手段で、前記複数の情報シンボルに誤りが残っていないことが判断された場合に、現在の情報シンボルを基にIDを検出するID検出手段と、
    を更に備えることを特徴とする復号化装置。
  21. 請求項20に記載の復号化装置において、
    前記第2誤り検出手段で、前記複数の情報シンボルに誤りが残っていることが判断された場合に、エラー終了する第2エラー終了手段を更に備えることを特徴とする復号化装置。
  22. 請求項20に記載の復号化装置において、
    前記点数検査手段において、データ値が1となる点の数が予め定められた通りとなっていないことが確認された場合に、
    前記一部の情報シンボルに含められなかった情報シンボルを反転すると、データ値が1となる点の数が予め定められた通りとなり、且つ、前記第2パリティ付加手段で付加されたパリティを用いたパリティチェックの結果が正しくなるか否かを判断する補助手段を更に備えることを特徴とする復号化装置。
  23. 請求項22に記載の復号化装置において、
    前記補助手段の結果が正常である場合に、前記一部の情報シンボルに含められなかった情報シンボルを反転した上で、前記第1パリティ付加シンボルで付加されたパリティを基に、前記複数の情報シンボルに誤りが残っているか否かを判断する第3誤り検出手段と、
    前記第3誤り検出手段で、前記複数の情報シンボルに誤りが残っていないことが判断された場合に、現在の情報シンボルを基にIDを検出するID検出手段と、
    を更に備えることを特徴とする復号化装置。
  24. 請求項23に記載の復号化装置において、
    前記第3誤り検出手段で、前記複数の情報シンボルに誤りが残っていることが判断された場合に、エラー終了する第3エラー終了手段を更に備えることを特徴とする復号化装置。
  25. 複数の情報シンボルを複数のグループに分割し、各グループに対し偶数パリティ又は奇数パリティを付加する第1パリティ付加手段と、
    前記複数の情報シンボルを基に、これらの複数の情報シンボルを含むエラー訂正符号語を生成するエラー訂正符号語生成手段と、
    を備え、
    二次元周波数空間において、同一円上に配置される非ゼロの周波数成分の数が所定数となるように、情報シンボルを表す周波数成分であって、振幅が非ゼロであるものの数を所定値とし、各偶数パリティ又は各奇数パリティを振幅がゼロである周波数成分と振幅が非ゼロである周波数成分との対で表し、前記エラー訂正符号語に含まれる各検査シンボルを振幅がゼロである周波数成分と振幅が非ゼロである周波数成分との対で表すことを特徴とする符号化装置。
  26. 請求項25に記載の符号化装置において、
    パリティとそれの基となる情報シンボルが、前記二次元周波数空間において、同一放射半直線上に並ばないようにしたことを特徴とする符号化装置。
  27. 請求項25又は26に記載の符号化装置において、
    パリティとそれの基となる情報シンボルが、前記二次元周波数空間において、所定数以上同一円周上に並ばないようにしたことを特徴とする符号化装置。
  28. 請求項25乃至27の何れか1項に記載の符号化装置により生成された符号語を復号化する復号化装置において、
    前記偶数パリティ又は奇数パリティを用いてパリティチェックを行う第1エラー検出手段と、
    前記エラー訂正符号語を用いてエラー検出を行う第2エラー検出手段と、
    前記第1エラー検出手段、前記第2エラー検出手段又はその双方においてエラーが検出された場合に、
    前記エラー訂正符号語を用いてエラー訂正を行うエラー訂正手段と、
    前記エラー訂正を行った後に、前記二次元周波数空間において、前記同一円上に配置される非ゼロの周波数成分の数が所定数であるか否かを検査する検査手段と、
    前記検査手段で、前記同一円上に配置される非ゼロの周波数成分の数が所定数であることが確認された場合に、前記偶数パリティ又は奇数パリティを用いてパリティチェックを再度行う第3エラー検出手段と、
    前記第3エラー検出手段において、エラーが検出されない場合に、現在の情報シンボルを基にIDを検出するID検出手段と、
    を更に備えることを特徴とする復号化装置。
  29. 請求項1乃至14の何れか1項に記載の方法をコンピュータに行わせるためのプログラム
JP2006098297A 2006-03-31 2006-03-31 情報シンボルの符号化方法及びその装置並びに情報シンボルの復号化方法及び復号化装置 Expired - Fee Related JP4698469B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006098297A JP4698469B2 (ja) 2006-03-31 2006-03-31 情報シンボルの符号化方法及びその装置並びに情報シンボルの復号化方法及び復号化装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006098297A JP4698469B2 (ja) 2006-03-31 2006-03-31 情報シンボルの符号化方法及びその装置並びに情報シンボルの復号化方法及び復号化装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2011023883A Division JP4878398B2 (ja) 2011-02-07 2011-02-07 情報シンボルの符号化方法及びその装置並びに情報シンボルの復号方法及び復号装置

Publications (2)

Publication Number Publication Date
JP2007274398A true JP2007274398A (ja) 2007-10-18
JP4698469B2 JP4698469B2 (ja) 2011-06-08

Family

ID=38676724

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006098297A Expired - Fee Related JP4698469B2 (ja) 2006-03-31 2006-03-31 情報シンボルの符号化方法及びその装置並びに情報シンボルの復号化方法及び復号化装置

Country Status (1)

Country Link
JP (1) JP4698469B2 (ja)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03262222A (ja) * 1990-03-13 1991-11-21 Nippon Hoso Kyokai <Nhk> Fm多重信号送出装置
JPH04149382A (ja) * 1990-10-12 1992-05-22 Ube Ind Ltd カード式ロッカシステム
JPH06178098A (ja) * 1992-04-21 1994-06-24 Fuji Xerox Co Ltd 画像処理装置および悪用画像処理防止用原稿
JPH0944995A (ja) * 1995-08-02 1997-02-14 Toshiba Corp デジタル記録再生装置
JP2005223880A (ja) * 2004-01-08 2005-08-18 Ricoh Co Ltd 文書作成装置、文書検証装置、文書作成方法、文書検証方法、文書作成プログラム、文書検証プログラム、文書作成プログラムを格納した記録媒体、および文書検証プログラムを格納した記録媒体
JP2005252878A (ja) * 2004-03-05 2005-09-15 Sharp Corp 伝送エラー検出装置および伝送制御装置
JP2006014170A (ja) * 2004-06-29 2006-01-12 Kyodo Printing Co Ltd 電子透かし挿入方法、電子透かし挿入装置及び電子透かし挿入プログラム並びに電子透かし検出方法、電子透かし検出装置及び電子透かし検出プログラム
JP2006050069A (ja) * 2004-08-02 2006-02-16 Kyodo Printing Co Ltd 電子透かし挿入方法、電子透かし挿入装置及び電子透かし挿入プログラム並びに電子透かし検出方法、電子透かし検出装置及び電子透かし検出プログラム

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03262222A (ja) * 1990-03-13 1991-11-21 Nippon Hoso Kyokai <Nhk> Fm多重信号送出装置
JPH04149382A (ja) * 1990-10-12 1992-05-22 Ube Ind Ltd カード式ロッカシステム
JPH06178098A (ja) * 1992-04-21 1994-06-24 Fuji Xerox Co Ltd 画像処理装置および悪用画像処理防止用原稿
JPH0944995A (ja) * 1995-08-02 1997-02-14 Toshiba Corp デジタル記録再生装置
JP2005223880A (ja) * 2004-01-08 2005-08-18 Ricoh Co Ltd 文書作成装置、文書検証装置、文書作成方法、文書検証方法、文書作成プログラム、文書検証プログラム、文書作成プログラムを格納した記録媒体、および文書検証プログラムを格納した記録媒体
JP2005252878A (ja) * 2004-03-05 2005-09-15 Sharp Corp 伝送エラー検出装置および伝送制御装置
JP2006014170A (ja) * 2004-06-29 2006-01-12 Kyodo Printing Co Ltd 電子透かし挿入方法、電子透かし挿入装置及び電子透かし挿入プログラム並びに電子透かし検出方法、電子透かし検出装置及び電子透かし検出プログラム
JP2006050069A (ja) * 2004-08-02 2006-02-16 Kyodo Printing Co Ltd 電子透かし挿入方法、電子透かし挿入装置及び電子透かし挿入プログラム並びに電子透かし検出方法、電子透かし検出装置及び電子透かし検出プログラム

Also Published As

Publication number Publication date
JP4698469B2 (ja) 2011-06-08

Similar Documents

Publication Publication Date Title
US7149947B1 (en) Method of and system for validating an error correction code and parity information associated with a data word
EP3260980B1 (en) An apparatus and method for generating an error code for a block comprising a plurality of data bits and a plurality of address bits
JP2006243818A (ja) 位置同定機能付き印刷物、2次元座標同定装置、画像形成装置及びその方法
RU2016117231A (ru) Носитель кода и капсула для приготовления напитка посредством центрифугирования, система и способ приготовления напитка посредством центрифугирования
EP2141816A1 (en) Encoding method, encoding apparatus, decoding method, and decoding apparatus using block code
JP2008181501A (ja) バーコードパターン
JP5080817B2 (ja) ポストビタビエラー訂正方法及びポストビタビ処理器
US8910009B1 (en) Method and apparatus for enhancing error detection in data transmission
JP4698469B2 (ja) 情報シンボルの符号化方法及びその装置並びに情報シンボルの復号化方法及び復号化装置
JP4878398B2 (ja) 情報シンボルの符号化方法及びその装置並びに情報シンボルの復号方法及び復号装置
JP4662367B2 (ja) 情報シンボルの符号化方法及びその装置並びに情報シンボルの復号化方法及び復号化装置
US20140075272A1 (en) Device and method for testing a circuit to be tested
JP4978325B2 (ja) 画像処理装置、画像処理方法およびそのコンピュータ・プログラム
JP6774512B2 (ja) Fecエラー付加装置、それを用いた試験信号発生装置、及びfecエラー付加方法
JP5557210B2 (ja) 電子透かし挿入装置及び電子透かし挿入方法並びに電子透かし検出装置及び電子透かし検出方法
JP2010141572A (ja) データ点検出方法、データ点検出装置及びデータ点検出プログラム
JP2011109455A (ja) 電子透かし挿入装置、その方法及びそのプログラム、電子透かし検出装置、その方法及びそのプログラム並びに印刷物
JP5163633B2 (ja) 磁気読み取り装置、磁気読み取り方法およびプログラム
JP4910786B2 (ja) 画像処理装置および画像処理方法
JP4172586B2 (ja) 電子透かし挿入方法、電子透かし挿入装置及び電子透かし挿入プログラム並びに電子透かし検出方法、電子透かし検出装置及び電子透かし検出プログラム
KR100259296B1 (ko) 오류정정 방법
JP2008205892A (ja) 画像処理装置、画像処理システムおよび画像処理プログラム
WO2024052226A1 (en) Digital data embedding and extraction in music and other audio signals
KR0151524B1 (ko) 디코더 장치 및 방법
JP5063645B2 (ja) 電子透かし検出装置及び電子透かし検出プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090305

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100924

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100929

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101108

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101209

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110207

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110225

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110301

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees