(57)【要約】【課題】ヘッダ情報を含まず後半分が前半分のビット毎反転になる符号を対象に、埋め込まれた情報の情報量を簡易に判断し、情報の抽出を適切に行う。【解決手段】ヘッダ情報を含まず後半分が前半分のビット毎反転になる符号を埋め込んだ画像情報を処理する画像処理装置であって、処理対象画像を取得する画像取得手段と、取得した処理対象画像から所定の長さの処理対象シンボル列を抽出するシンボル列抽出手段と、抽出した処理対象シンボル列の前半分と後半分がビット反転になっているか否かを判定するビット反転判定手段と、当該ビット反転判定手段でビット反転になっていると判定した場合に、前記所定の長さから対応する情報量を決定する情報量決定手段と、決定された情報量に基づいて前記処理対象シンボル列から情報を抽出する情報抽出手段とを備える。【選択図】図２
2011101120.tif 000002
【特許請求の範囲】
【請求項１】
ヘッダ情報を含まず後半分が前半分のビット毎反転になる符号を埋め込んだ画像情報を処理する画像処理装置であって、
処理対象画像を取得する画像取得手段と、
取得した処理対象画像から所定の長さの処理対象シンボル列を抽出するシンボル列抽出手段と、
抽出した処理対象シンボル列の前半分と後半分がビット反転になっているか否かを判定するビット反転判定手段と、
当該ビット反転判定手段でビット反転になっていると判定した場合に、前記所定の長さから対応する情報量を決定する情報量決定手段と、
決定された情報量に基づいて前記処理対象シンボル列から情報を抽出する情報抽出手段と
を備えたことを特徴とする画像処理装置。
【請求項２】
請求項１に記載の画像処理装置において、
前記ビット反転判定手段がビット反転になっていないと判定した場合に、
前記ビット反転判定手段は、前記所定の長さより短い長さの処理対象シンボル列に対して、当該所定の長さより短い長さの処理対象シンボル列の前半分と後半分がビット反転になっているか否かを判定し、
前記情報量決定手段は、前記ビット反転判定手段でビット反転になっていると判定した場合に、前記所定の長さより短い長さから対応する情報量を決定する
ことを特徴とする画像処理装置。
【請求項３】
請求項１または２のいずれか一項に記載の画像処理装置において、
前記画像取得手段は、紙原稿をスキャンして画像を取得する
ことを特徴とする画像処理装置。
【請求項４】
請求項１乃至３のいずれか一項に記載の画像処理装置において、
前記情報抽出手段は、誤り訂正符号を利用して情報を復号する
ことを特徴とする画像処理装置。
【請求項５】
ヘッダ情報を含まず後半分が前半分のビット毎反転になる符号を埋め込んだ画像情報を処理する画像処理装置の処理方法であって、
処理対象画像を取得する画像取得工程と、
取得した処理対象画像から所定の長さの処理対象シンボル列を抽出するシンボル列抽出工程と、
抽出した処理対象シンボル列の前半分と後半分がビット反転になっているか否かを判定するビット反転判定工程と、
当該ビット反転判定工程でビット反転になっていると判定した場合に、前記所定の長さから対応する情報量を決定する情報量決定工程と、
決定された情報量に基づいて前記処理対象シンボル列から情報を抽出する情報抽出工程と
を備えたことを特徴とする画像処理方法。
【請求項６】
請求項５に記載の画像処理方法において、
前記ビット反転判定工程がビット反転になっていないと判定した場合に、
前記ビット反転判定工程は、前記所定の長さより短い長さの処理対象シンボル列に対して、当該所定の長さより短い長さの処理対象シンボル列の前半分と後半分がビット反転になっているか否かを判定し、
前記情報量決定工程は、前記ビット反転判定工程でビット反転になっていると判定した場合に、前記所定の長さより短い長さから対応する情報量を決定する
ことを特徴とする画像処理方法。
【請求項７】
請求項５または６のいずれか一項に記載の画像処理装置において、
前記画像取得工程は、紙原稿をスキャンして画像を取得する
ことを特徴とする画像処理方法。
【請求項８】
請求項５乃至７のいずれか一項に記載の画像処理装置において、
前記情報抽出工程は、誤り訂正符号を利用して情報を復号する
ことを特徴とする画像処理方法。
【請求項９】
画像処理装置を構成するコンピュータを、請求項１乃至４のいずれか一項に記載された各手段として機能させる
ための画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像への情報の埋め込みおよび埋め込まれた情報の抽出の技術に関する。
【背景技術】
【０００２】
近年、著作権保護、トレース、偽造防止、改ざん検知等の目的で、画像、動画、音声などのコンテンツに任意の情報を埋め込む技術の検討が進められている。
【０００３】
特許文献１には、コンテンツに埋め込むシンボル列の復号精度を向上させるために、符号化対象シンボル列Ｘとパイロットシンボル列Ａを桁毎に加算し、符号化対象シンボル列Ｘと演算後シンボル列Ｘ＋Ａを結合して｛Ｘ，Ｘ＋Ａ｝とし、更に、バイナリシンボル列の元０／１の出現確率を均等にするように、これに全て「１」のシンボル列Ｂを桁毎に加算した｛Ｘ＋Ｂ，Ｘ＋Ａ＋Ｂ｝を結合して｛Ｘ，Ｘ＋Ａ，Ｘ＋Ｂ，Ｘ＋Ａ＋Ｂ｝とする技術が開示されている。後半分｛Ｘ＋Ｂ，Ｘ＋Ａ＋Ｂ｝は前半分｛Ｘ，Ｘ＋Ａ｝のビット毎反転になり、前半分｛Ｘ，Ｘ＋Ａ｝を簡略にＹと標記すると、全体の｛Ｘ，Ｘ＋Ａ，Ｘ＋Ｂ，Ｘ＋Ａ＋Ｂ｝は｛Ｙ，Ｙ＋Ｂ｝と標記することができる。
【０００４】
ところで、コンテンツへの情報埋め込み技術では、当然ながら、埋め込まれている情報シンボルをコンテンツから正しく抽出できることが要求される。特に、埋め込み前の原稿等との対比を要さず、情報が埋め込まれたコンテンツだけを用いて情報を抽出できることが要求される。
【０００５】
ここで、コンテンツに埋め込まれている情報の情報量（サイズ）を正確に判断することは、埋め込まれている情報をコンテンツから抽出する上で重要な事項となる。すなわち、コンテンツには画像の汚れ等に起因する読取エラーに対する耐性を高めるために同じ情報が繰り返し埋め込まれているため、情報の１単位分の情報量がわからないと情報の正確な抽出が行えないからである。
【０００６】
例えば、近年普及しているＱＲコード等の情報埋め込み方式では、埋め込まれている情報の情報量をヘッダ情報により判断することができ、その情報量に基づいて情報の抽出を適切に行うことができる。
【０００７】
また、特許文献２にも、画像情報に付加情報を多重化して印刷する場合に、付加情報のサイズを示す情報およびその誤り訂正符号情報でヘッダ情報を生成して多重化させる技術が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【０００８】
上述したように、ヘッダ情報を含む情報埋め込み方式では、埋め込まれている情報の情報量をヘッダ情報から判断して情報の抽出を適切に行うことができる。しかし、ヘッダ情報を含まない情報埋め込み方式では簡易に情報量を判断する手法がない。
【０００９】
上述した特許文献１に示された符号は復号精度の点で優れたものであるが、ヘッダ情報を含まないため、簡易に情報量を判断する方法がなく、情報の抽出を適切に行うことができない。
【００１０】
図１は誤った情報量の判断により埋め込み情報の抽出が正常に行えない例を示す図である。すなわち、特許文献１に示された符号のタイプとして６４ｂｉｔ版と１２８ｂｉｔ版があるとして、埋め込み側で１２８ｂｉｔ版により画像に情報が埋め込まれたとする。この場合、抽出側で６４ｂｉｔ版との判断で情報の抽出を行うと、情報の抽出が行えなかったり、間違った情報の抽出となったりしてしまうことになる。
【００１１】
本発明は上記の従来の問題点に鑑み提案されたものであり、その目的とするところは、ヘッダ情報を含まず後半分が前半分のビット毎反転になる符号を対象に、埋め込まれた情報の情報量を簡易に判断し、情報の抽出を適切に行うことのできる画像処理装置、画像処理方法および画像処理プログラムを提供することにある。
【課題を解決するための手段】
【００１２】
上記の課題を解決するため、本発明にあっては、請求項１に記載されるように、ヘッダ情報を含まず後半分が前半分のビット毎反転になる符号を埋め込んだ画像情報を処理する画像処理装置であって、処理対象画像を取得する画像取得手段と、取得した処理対象画像から所定の長さの処理対象シンボル列を抽出するシンボル列抽出手段と、抽出した処理対象シンボル列の前半分と後半分がビット反転になっているか否かを判定するビット反転判定手段と、当該ビット反転判定手段でビット反転になっていると判定した場合に、前記所定の長さから対応する情報量を決定する情報量決定手段と、決定された情報量に基づいて前記処理対象シンボル列から情報を抽出する情報抽出手段とを備える画像処理装置を要旨としている。
【００１３】
また、請求項２に記載されるように、請求項１に記載の画像処理装置において、前記ビット反転判定手段がビット反転になっていないと判定した場合に、前記ビット反転判定手段は、前記所定の長さより短い長さの処理対象シンボル列に対して、当該所定の長さより短い長さの処理対象シンボル列の前半分と後半分がビット反転になっているか否かを判定し、前記情報量決定手段は、前記ビット反転判定手段でビット反転になっていると判定した場合に、前記所定の長さより短い長さから対応する情報量を決定するようにすることができる。
【００１４】
また、請求項３に記載されるように、請求項１または２のいずれか一項に記載の画像処理装置において、前記画像取得手段は、紙原稿をスキャンして画像を取得するようにすることができる。
【００１５】
また、請求項４に記載されるように、請求項１乃至３のいずれか一項に記載の画像処理装置において、前記情報抽出手段は、誤り訂正符号を利用して情報を復号するようにすることができる。
【００１６】
また、請求項５に記載されるように、ヘッダ情報を含まず後半分が前半分のビット毎反転になる符号を埋め込んだ画像情報を処理する画像処理装置の処理方法であって、処理対象画像を取得する画像取得工程と、取得した処理対象画像から所定の長さの処理対象シンボル列を抽出するシンボル列抽出工程と、抽出した処理対象シンボル列の前半分と後半分がビット反転になっているか否かを判定するビット反転判定工程と、当該ビット反転判定工程でビット反転になっていると判定した場合に、前記所定の長さから対応する情報量を決定する情報量決定工程と、決定された情報量に基づいて前記処理対象シンボル列から情報を抽出する情報抽出工程とを備える画像処理方法として構成することができる。
【００１７】
また、請求項６に記載されるように、請求項５に記載の画像処理方法において、前記ビット反転判定工程がビット反転になっていないと判定した場合に、前記ビット反転判定工程は、前記所定の長さより短い長さの処理対象シンボル列に対して、当該所定の長さより短い長さの処理対象シンボル列の前半分と後半分がビット反転になっているか否かを判定し、前記情報量決定工程は、前記ビット反転判定工程でビット反転になっていると判定した場合に、前記所定の長さより短い長さから対応する情報量を決定するようにすることができる。
【００１８】
また、請求項７に記載されるように、請求項５または６のいずれか一項に記載の画像処理装置において、前記画像取得工程は、紙原稿をスキャンして画像を取得するようにすることができる。
【００１９】
また、請求項８に記載されるように、請求項５乃至７のいずれか一項に記載の画像処理装置において、前記情報抽出工程は、誤り訂正符号を利用して情報を復号するようにすることができる。
【００２０】
また、請求項９に記載されるように、画像処理装置を構成するコンピュータを、請求項１乃至４のいずれか一項に記載された各手段として機能させる画像処理プログラムとして構成することができる。
【発明の効果】
【００２１】
本発明の画像処理装置、画像処理方法および画像処理プログラムにあっては、ヘッダ情報を含まない符号であっても、符号の後半分が前半分のビット毎反転になるという性質を利用することで、埋め込まれた情報の情報量を簡易に判断し、情報の抽出を適切に行うことができる。
【図面の簡単な説明】
【００２２】
【図１】誤った情報量の判断により埋め込み情報の抽出が正常に行えない例を示す図である。
【図２】本発明の第１の実施形態にかかる画像処理装置の構成例を示す図である。
【図３】情報埋め込みの処理例を示すフローチャートである。
【図４】埋め込みシンボル列の例を示す図である。
【図５】埋め込み情報抽出の概要を示す図である。
【図６】埋め込み情報抽出の処理例を示すフローチャートである。
【図７】距離計算の対象部分の例を示す図である。
【図８】本発明の第２の実施形態で対象とする埋め込みシンボル列の例を示す図である。
【図９】本発明の第２の実施形態にかかる画像処理装置の構成例を示す図である。
【図１０】埋め込み情報抽出の処理例を示すフローチャートである。
【図１１】本発明の第３の実施形態で対象とする埋め込みシンボル列の例を示す図である。
【図１２】本発明の第３の実施形態による埋め込み情報抽出の処理例を示すフローチャートである。
【図１３】距離計算の対象部分の例を示す図である。
【発明を実施するための形態】
【００２３】
以下、本発明の好適な実施形態につき説明する。
【００２４】
＜第１の実施形態＞
図２は本発明の第１の実施形態にかかる画像処理装置の構成例を示す図である。
【００２５】
図２において、画像処理装置１は、バス（ＢＵＳ）上に接続された、ＣＰＵ（Central Processing Unit）１１と、メモリ１２と、ＨＤＤ（Hard Disk Drive）１３と、入力部（操作キー等）１４と、表示部（液晶パネル等）１５と、印刷部（プリンタエンジン等）１６と、読み取り部（スキャナ等）１７とを備えている。
【００２６】
メモリ１２上には、ＣＰＵ１１を動作させるコンピュータプログラムが格納されている。情報の埋め込みに用いられるコンピュータプログラムとして、埋め込みシンボル列生成モジュール１２１と、シンボル埋め込みモジュール１２２と、画像出力モジュール１２３とが設けられている。画像からの情報の抽出に用いられるコンピュータプログラムとして、処理対象画像取得モジュール１２４と、処理対象シンボル列抽出モジュール１２５と、距離計算モジュール１２６と、情報量決定モジュール１２７と、情報抽出モジュール１２８とが設けられている。
【００２７】
図３は情報埋め込みの処理例を示すフローチャートである。
【００２８】
図３において、処理を開始すると、先ず、埋め込みシンボル列生成モジュール１２１の動作により、埋め込みシンボル列を生成する（ステップＳ１０１）。具体的には、埋め込みシンボル列としてシンボル列｛Ｙ，Ｙ＋Ｂ｝を生成する。このうち、シンボル全てが「１」のシンボル列Ｂは予め保持しておく。Ｙの長さはＮとする。ここでは、情報量Ａ１の場合は、図４（ａ）に示すように、埋め込みシンボル列は｛Ｙ１，Ｙ１＋Ｂ１｝と標記する。Ｙ１の長さはＮ１とする。情報量Ａ２の場合は、図４（ｂ）に示すように、埋め込みシンボル列は｛Ｙ２，Ｙ２＋Ｂ２｝と標記する。Ｙ２の長さはＮ２とする。
【００２９】
図３に戻り、続いて、シンボル埋め込みモジュール１２２の動作により、埋め込みシンボル列を画像に埋め込む（ステップＳ１０２）。具体的には電子透かし技術等を用いて情報を埋め込む。例えば、特開２００６−２２２５７０号公報に示されるような文字間隔の間隔長を用いて情報を埋め込むとか、特開２００９−８１８３２号公報に示されるような地紋パターンで情報を埋め込むことができる。なお、画像に情報の埋め込みを行う場合、画像の各所にシンボル列を繰り返して埋め込むことにより、原稿の汚れ等に対する耐性を強くすることができる。
【００３０】
次いで、画像出力モジュール１２３の動作により、埋め込みシンボル列を埋め込んだ画像を出力する（ステップＳ１０３）。例えば、印刷部１６により画像を用紙に出力するとか、ＨＤＤ１３にデータを出力して保存することができる。
【００３１】
次に、情報が埋め込まれた画像からの情報の抽出について説明する。情報が埋め込まれた画像は、読み取り部１７によりスキャンされて取得されるか、データの状態で取得される。
【００３２】
図５は埋め込み情報抽出の概要を示す図である。符号のタイプとして６４ｂｉｔ版と１２８ｂｉｔ版があり、埋め込み側で６４ｂｉｔ版あるいは１２８ｂｉｔ版により画像に情報が埋め込まれたとする。この場合、抽出側では、先ず情報量を判断してバージョン判断を行い、バージョンに合った適切なモジュールにより情報の抽出を行う。従って、情報の抽出が行えなかったり、間違った情報の抽出となったりしてしまうことがなくなる。
【００３３】
図６は埋め込み情報抽出の処理例を示すフローチャートである。なお、画像に埋め込む情報量はＡ１もしくはＡ２のいずれかであるものとする。例えば、Ａ１は１２８ｂｉｔ、Ａ２は６４ｂｉｔとする。
【００３４】
図６において、処理を開始すると、処理対象画像取得モジュール１２４の動作により、処理対象画像を取得する（ステップＳ２０１）。例えば、読み取り部１７により紙原稿を画像として読み込んだり、装置内のＨＤＤ１３から電子画像をロードしたりする。更に、ネットワークを経由して電子画像を取得することも考えられる。
【００３５】
次いで、処理対象シンボル列抽出モジュール１２５の動作により、処理対象画像から処理対象シンボル列を抽出する（ステップＳ２０２）。抽出するシンボル列の長さは、図７（ａ）に示すように、情報量の長い方、例えば６４ｂｉｔと１２８ｂｉｔの場合は１２８ｂｉｔの埋め込みシンボル列の長さ（２Ｎ１）に設定する。
【００３６】
図６に戻り、続いて、距離計算モジュール１２６の動作により、処理対象シンボル列の前半部Ｃ１と後半部Ｃ２をビット毎に対比し、ハミング距離を計算する（ステップＳ２０３）。前半部Ｃ１と後半部Ｃ２のハミング距離をＣ１Ｃ２と標記する。
【００３７】
次いで、ハミング距離Ｃ１Ｃ２が事前設定した閾値Ｔ１より大きいか否か判断する（ステップＳ２０４）。処理対象シンボル列が実際には情報量Ａ１である場合、図７（ａ）に示すように、前半部Ｃ１はＹ１、後半部Ｃ２はＹ１＋Ｂ１となり、全ビットが異なることとなり、ハミング距離は最大値となって閾値Ｔ１より大きくなる。逆に、処理対象シンボル列が実際には情報量Ａ２である場合、図７（ｂ）に示すように、前半部Ｃ１は｛Ｙ２，Ｙ２＋Ｂ２｝、後半部Ｃ２も｛Ｙ２，Ｙ２＋Ｂ２｝となり、全ビットが同じとなり、ハミング距離は最小値となって閾値Ｔ１より小さくなる。
【００３８】
図６に戻り、ハミング距離Ｃ１Ｃ２が事前設定した閾値Ｔ１より大きい場合（ステップＳ２０４のＹｅｓ）、情報量決定モジュール１２７の動作により情報量はＡ１と判定し、情報抽出モジュール１２８の動作により、処理対象シンボル列の前Ｎ１ビットを抽出情報とする（ステップＳ２０５）。そして、抽出結果を出力し（ステップＳ２０９）、処理を終了する。
【００３９】
一方、ハミング距離Ｃ１Ｃ２が事前設定した閾値Ｔ１より大きくない場合（ステップＳ２０４のＮｏ）、今度は情報量をＡ２と想定し直し、処理対象シンボル列を２Ｎ２の長さに変更し、変更後の処理対象シンボル列の前半部Ｄ１と後半部Ｄ２のハミング距離を距離計算モジュール１２６の動作により計算する（ステップＳ２０６）。前半部Ｄ１と後半部Ｄ２のハミング距離をＤ１Ｄ２と標記する。
【００４０】
次いで、ハミング距離Ｄ１Ｄ２が事前設定した閾値Ｔ２より大きいか否か判断する（ステップＳ２０７）。処理対象シンボル列が実際には情報量Ａ２である場合、図７（ｂ）に示すように、前半部Ｄ１はＹ２、後半部Ｄ２はＹ２＋Ｂ２となり、全ビットが異なることとなり、ハミング距離は最大値となって閾値Ｔ２より大きくなる。
【００４１】
図６に戻り、ハミング距離Ｄ１Ｄ２が事前設定した閾値Ｔ２より大きい場合（ステップＳ２０７のＹｅｓ）、情報量決定モジュール１２７の動作により情報量はＡ２と判定し、情報抽出モジュール１２８の動作により、処理対象シンボル列の前Ｎ２ビットを抽出情報とする（ステップＳ２０８）。そして、抽出結果を出力し（ステップＳ２０９）、処理を終了する。
【００４２】
また、ハミング距離Ｄ１Ｄ２が事前設定した閾値Ｔ２より大きくない場合（ステップＳ２０７のＮｏ）、判断不能として処理を終了する。
【００４３】
＜第２の実施形態＞
第２の実施形態は、埋め込みシンボル列としてシンボル列｛Ｙ，Ｙ＋Ｂ｝のＹは直接情報ではなく、誤り訂正符号の符号語としている。誤り訂正符号としては、例えば、ＢＣＨ符号、ＲＳ符号等を用いることができる。
【００４４】
図８は第２の実施形態で対象とする埋め込みシンボル列の例を示す図であり、（ａ）は情報量Ａ１の場合、（ｂ）は情報量Ａ２の場合をそれぞれ示している。
【００４５】
図９は第２の実施形態にかかる画像処理装置の構成例を示す図である。図２に示した第１の実施形態における画像処理装置１の構成と比較して、メモリ１２に誤り訂正符号複合モジュール１２９が新たに設けられている点が異なる。
【００４６】
図１０は埋め込み情報抽出の処理例を示すフローチャートである。
【００４７】
図１０において、ステップＳ３０１〜Ｓ３０４、Ｓ３０６、Ｓ３０７の処理は、図６に示した第１の実施形態におけるステップＳ２０１〜Ｓ２０４、Ｓ２０６、Ｓ２０７の処理と同様である。
【００４８】
図１０においては、ハミング距離Ｃ１Ｃ２が事前設定した閾値Ｔ１より大きい場合（ステップＳ３０４のＹｅｓ）、情報量決定モジュール１２７の動作により情報量はＡ１と判定し、処理対象シンボル列の前Ｎ１の長さを復号対象とする（ステップＳ３０５）。また、ハミング距離Ｄ１Ｄ２が事前設定した閾値Ｔ２より大きい場合（ステップＳ３０７のＹｅｓ）、情報量決定モジュール１２７の動作により情報量はＡ２と判定し、処理対象シンボル列の前Ｎ２の長さを復号対象とする（ステップＳ３０８）。
【００４９】
そして、ステップＳ３０５もしくはステップＳ３０８の後、誤り訂正符号複合モジュール１２９の動作により、誤り訂正符号で復号を行う（ステップＳ３０９）。すなわち、情報量がＡ１の場合は、前Ｎ１の長さのシンボル列を復号対象にして誤り訂正符号により復号する。情報量がＡ２の場合は、前Ｎ２の長さのシンボル列を復号対象にして誤り訂正符号により復号する。
【００５０】
その後、抽出結果を出力し（ステップＳ２０９）、処理を終了する。
【００５１】
＜第３の実施形態＞
第３の実施形態は、画像に埋め込まれている情報量が３種類である場合に対応したものである。情報量は、例えば、Ａ１（２５６ｂｉｔ）、Ａ２（１２８ｂｉｔ）もしくはＡ３（６４ｂｉｔ）のいずれかであるものとしている。情報量が４種類以上である場合も同様に対応することができる。
【００５２】
図１１は第３の実施形態で対象とする埋め込みシンボル列の例を示す図であり、（ａ）は情報量Ａ１の場合、（ｂ）は情報量Ａ２の場合、（ｃ）は情報量Ａ３の場合をそれぞれ示している。
【００５３】
図１２は第３の実施形態による埋め込み情報抽出の処理例を示すフローチャートである。
【００５４】
図１２において、処理を開始すると、処理対象画像取得モジュール１２４の動作により、処理対象画像を取得する（ステップＳ４０１）。
【００５５】
次いで、処理対象シンボル列抽出モジュール１２５の動作により、処理対象画像から処理対象シンボル列を抽出する（ステップＳ４０２）。抽出するシンボル列の長さは、図１３（ａ）に示すように、情報量のいちばん長い２５６ｂｉｔの埋め込みシンボル列の長さ（２Ｎ１）に設定する。
【００５６】
図１２に戻り、続いて、距離計算モジュール１２６の動作により、処理対象シンボル列の前半部Ｃ１と後半部Ｃ２をビット毎に対比し、ハミング距離を計算する（ステップＳ４０３）。
【００５７】
次いで、ハミング距離Ｃ１Ｃ２が事前設定した閾値Ｔ１より大きいか否か判断する（ステップＳ４０４）。処理対象シンボル列が実際には情報量Ａ１である場合、図１３（ａ）に示すように、前半部Ｃ１はＹ１、後半部Ｃ２はＹ１＋Ｂ１となり、全ビットが異なることとなり、ハミング距離は最大値となって閾値Ｔ１より大きくなる。逆に、処理対象シンボル列が実際には情報量Ａ２である場合、図１３（ｂ）に示すように、前半部Ｃ１は｛Ｙ２，Ｙ２＋Ｂ２｝、後半部Ｃ２も｛Ｙ２，Ｙ２＋Ｂ２｝となり、全ビットが同じとなり、ハミング距離は最小値となって閾値Ｔ１より小さくなる。同様に、処理対象シンボル列が実際には情報量Ａ３である場合、図１３（ｃ）に示すように、前半部Ｃ１は｛Ｙ３，Ｙ３＋Ｂ３，Ｙ３，Ｙ３＋Ｂ３｝、後半部Ｃ２も｛Ｙ３，Ｙ３＋Ｂ３，Ｙ３，Ｙ３＋Ｂ３｝となり、全ビットが同じとなり、ハミング距離は最小値となって閾値Ｔ１より小さくなる。
【００５８】
図１２に戻り、ハミング距離Ｃ１Ｃ２が事前設定した閾値Ｔ１より大きい場合（ステップＳ４０４のＹｅｓ）、情報量決定モジュール１２７の動作により情報量はＡ１と判定し、情報抽出モジュール１２８の動作により、処理対象シンボル列の前Ｎ１ビットを抽出情報とする（ステップＳ４０５）。そして、抽出結果を出力し（ステップＳ４１２）、処理を終了する。
【００５９】
一方、ハミング距離Ｃ１Ｃ２が事前設定した閾値Ｔ１より大きくない場合（ステップＳ４０４のＮｏ）、今度は情報量をＡ２と想定し直し、処理対象シンボル列を２Ｎ２の長さに変更し、変更後の処理対象シンボル列の前半部Ｄ１と後半部Ｄ２のハミング距離を距離計算モジュール１２６の動作により計算する（ステップＳ４０６）。
【００６０】
次いで、ハミング距離Ｄ１Ｄ２が事前設定した閾値Ｔ２より大きいか否か判断する（ステップＳ４０７）。処理対象シンボル列が実際には情報量Ａ２である場合、図１３（ｂ）に示すように、前半部Ｄ１はＹ２、後半部Ｄ２はＹ２＋Ｂ２となり、全ビットが異なることとなり、ハミング距離は最大値となって閾値Ｔ２より大きくなる。逆に、処理対象シンボル列が実際には情報量Ａ３である場合、図１３（ｃ）に示すように、前半部Ｄ１は｛Ｙ３，Ｙ３＋Ｂ３｝、後半部Ｄ２も｛Ｙ３，Ｙ３＋Ｂ３｝となり、全ビットが同じとなり、ハミング距離は最小値となって閾値Ｔ２より小さくなる。
【００６１】
図１２に戻り、ハミング距離Ｄ１Ｄ２が事前設定した閾値Ｔ２より大きい場合（ステップＳ４０７のＹｅｓ）、情報量決定モジュール１２７の動作により情報量はＡ２と判定し、情報抽出モジュール１２８の動作により、処理対象シンボル列の前Ｎ２ビットを抽出情報とする（ステップＳ４０８）。そして、抽出結果を出力し（ステップＳ４１２）、処理を終了する。
【００６２】
また、ハミング距離Ｄ１Ｄ２が事前設定した閾値Ｔ２より大きくない場合（ステップＳ４０７のＮｏ）、今度は情報量をＡ３と想定し直し、処理対象シンボル列を２Ｎ３の長さに変更し、変更後の処理対象シンボル列の前半部Ｅ１と後半部Ｅ２のハミング距離を距離計算モジュール１２６の動作により計算する（ステップＳ４０９）。
【００６３】
次いで、ハミング距離Ｅ１Ｅ２が事前設定した閾値Ｔ３より大きいか否か判断する（ステップＳ４１０）。処理対象シンボル列が実際には情報量Ａ３である場合、図１３（ｃ）に示すように、前半部Ｅ１はＹ３、後半部Ｅ２はＹ３＋Ｂ３となり、全ビットが異なることとなり、ハミング距離は最大値となって閾値Ｔ３より大きくなる。
【００６４】
図１２に戻り、ハミング距離Ｅ１Ｅ２が事前設定した閾値Ｔ３より大きい場合（ステップＳ４１０のＹｅｓ）、情報量決定モジュール１２７の動作により情報量はＡ３と判定し、情報抽出モジュール１２８の動作により、処理対象シンボル列の前Ｎ３ビットを抽出情報とする（ステップＳ４１１）。そして、抽出結果を出力し（ステップＳ４１２）、処理を終了する。
【００６５】
また、ハミング距離Ｅ１Ｅ２が事前設定した閾値Ｔ３より大きくない場合（ステップＳ４１０のＮｏ）、判断不能として処理を終了する。
【００６６】
＜総括＞
以上説明したように、本実施形態によれば、ヘッダ情報を含まない符号であっても、符号の後半分が前半分のビット毎反転になるという性質を利用することで、埋め込まれた情報の情報量を簡易に判断し、情報の抽出を適切に行うことができる。
【００６７】
以上、本発明の好適な実施の形態により本発明を説明した。ここでは特定の具体例を示して本発明を説明したが、特許請求の範囲に定義された本発明の広範な趣旨および範囲から逸脱することなく、これら具体例に様々な修正および変更を加えることができることは明らかである。すなわち、具体例の詳細および添付の図面により本発明が限定されるものと解釈してはならない。
【符号の説明】
【００６８】
１          画像処理装置
１１        ＣＰＵ
１２        メモリ
１２１      埋め込みシンボル列生成モジュール
１２２      シンボル埋め込みモジュール
１２３      画像出力モジュール
１２４      処理対象画像取得モジュール
１２５      処理対象シンボル列抽出モジュール
１２６      距離計算モジュール
１２７      情報量決定モジュール
１２８      情報抽出モジュール
１２９      誤り訂正符号複合モジュール
１３        ＨＤＤ
１４        入力部
１５        表示部
１６        印刷部
１７        読み取り部
【先行技術文献】
【特許文献】
【００６９】
【特許文献１】特開２００９−７６９６８号公報
【特許文献２】特開２００２−２１８２０７号公報
【図１】
2011101120.tif 000003
【図２】
2011101120.tif 000004
【図３】
2011101120.tif 000005
【図４】
2011101120.tif 000006
【図５】
2011101120.tif 000007
【図６】
2011101120.tif 000008
【図７】
2011101120.tif 000009
【図８】
2011101120.tif 000010
【図９】
2011101120.tif 000011
【図１０】
2011101120.tif 000012
【図１１】
2011101120.tif 000013
【図１２】
2011101120.tif 000014
【図１３】
2011101120.tif 000015