(57)【要約】【課題】多数決後の誤りを低減させてデコード性能を向上させること。【解決手段】画像処理装置１００は、一連のコードが複数回埋め込まれた画像を取得した場合に、画像を複数のブロックに分割し、ブロックペアを構成する各ブロックの特徴量に基づいて、ブロックペアに対応付けられたコードの正解頻度を示す正解頻度データ１７０ａを記憶部１７０から取得する。そして、正解頻度データ１７０ａを基にして各ブロックペアに対する重みを決定し、ブロックペアに対応付けられたコードに対して重み付け（ブロックペアに対応する重みでコードに重み付けを行う）をして多数決を行い、画像に埋め込まれた一連のコードを判定する。【選択図】        図１
2008219515.tif 000002
【特許請求の範囲】
【請求項１】
画像を複数のブロックに分割し、ブロックペアを構成する各ブロックの特徴量に基づいてブロックペアに対応付けられたコードをブロックペアごとに抽出し、前記画像に複数回埋め込まれた一連のコードを判定する画像処理装置であって、
前記ブロックペアを構成する各ブロックの特徴量に基づいて、当該ブロックペアに対応付けられたコードの正解頻度を示す正解頻度情報を取得する取得手段と、
前記正解頻度情報を基にして各ブロックペアに対する重みを判定する重み判定手段と、
前記ブロックペアに対応付けられたコードに対して前記重み判定手段によって判定された重みで重み付けをして多数決を行い前記画像に埋め込まれた一連のコードを判定するコード判定手段と、
を備えたことを特徴とする画像処理装置。
【請求項２】
前記画像に埋め込まれた一連のコードは当該一連のコードを訂正する訂正コードを含み、前記コード判定手段によって判定された一連のコードに含まれる訂正コードを基にして、当該一連のコードを訂正可能か否かを判定する訂正可否判定手段と、前記訂正可否判定手段の判定結果に基づいて前記正解頻度情報を更新する更新手段とを更に備えたことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記正解頻度情報の初期値は、元の画像の画素値と自画像処理装置に入力された後の画像の画素値との対応関係に基づいて設定されていることを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記コード判定手段は、正解頻度が閾値以上となるブロックペアから得られるコードのみを利用して前記画像に埋め込まれた一連のコードを判定することを特徴とする請求項１、２または３に記載の画像処理装置。
【請求項５】
画像を複数のブロックに分割し、ブロックペアを構成する各ブロックの特徴量に基づいてブロックペアに対応付けられたコードをブロックペアごとに抽出し、前記画像に複数回埋め込まれた一連のコードを判定する画像処理装置であって、
前記一連のコードは、当該コードを訂正する訂正コードを含み、
前記ブロックペアを構成する各ブロックの特徴量に基づいて、当該ブロックペアに対応付けられたコードの正解頻度を示す正解頻度情報を取得する取得手段と、
前記正解頻度情報を基にして各ブロックペアに対する重みを判定する重み判定手段と、
前記ブロックペアに対応付けられたコードに対して多数決を行い前記画像に埋め込まれた一連のコードを判定するコード判定手段と、
前記コード判定手段によって判定された一連のコードに含まれる訂正コードを基にして、当該一連のコードを訂正可能か否かを判定する訂正可否判定手段と、
前記訂正可否判定手段の判定結果に基づいて、前記ブロックペアに対応付けられたコードに対して前記重み判定手段によって判定された重みで重み付けをして多数決を行い前記画像に埋め込まれた一連のコードを再度判定するコード再判定手段と、
を備えたことを特徴とする画像処理装置。
【請求項６】
画像を複数のブロックに分割し、ブロックペアを構成する各ブロックの特徴量に基づいてブロックペアに対応付けられたコードをブロックペアごとに抽出し、前記画像に複数回埋め込まれた一連のコードを判定する画像処理装置の画像処理方法であって、
前記画像処理装置は、
前記ブロックペアを構成する各ブロックの特徴量に基づいて、当該ブロックペアに対応付けられたコードの正解頻度を示す正解頻度情報を取得する取得工程と、
前記正解頻度情報を基にして各ブロックペアに対する重みを判定する重み判定工程と、
前記ブロックペアに対応付けられたコードに対して前記重み判定工程によって判定された重みで重み付けをして多数決を行い前記画像に埋め込まれた一連のコードを判定するコード判定工程と、
を含んだことを特徴とする画像処理方法。
【請求項７】
前記画像に埋め込まれた一連のコードは当該一連のコードを訂正する訂正コードを含み、前記コード判定工程によって判定された一連のコードに含まれる訂正コードを基にして、当該一連のコードを訂正可能か否かを判定する訂正可否判定工程と、前記訂正可否判定工程の判定結果に基づいて前記正解頻度情報を更新する更新工程とを更に含んだことを特徴とする請求項６に記載の画像処理方法。
【請求項８】
前記正解頻度情報の初期値は、元の画像の画素値と前記画像処理装置に入力された後の画像の画素値との対応関係に基づいて設定されていることを特徴とする請求項６または７に記載の画像処理方法。
【請求項９】
前記コード判定工程は、正解頻度が閾値以上となるブロックペアから得られるコードのみを利用して前記画像に埋め込まれた一連のコードを判定することを特徴とする請求項６、７または８に記載の画像処理方法。
【請求項１０】
画像を複数のブロックに分割し、ブロックペアを構成する各ブロックの特徴量に基づいてブロックペアに対応付けられたコードをブロックペアごとに抽出し、前記画像に複数回埋め込まれた一連のコードを判定する画像処理装置の画像処理方法であって、
前記一連のコードは、当該コードを訂正する訂正コードを含み、
前記画像処理装置は、
前記ブロックペアを構成する各ブロックの特徴量に基づいて、当該ブロックペアに対応付けられたコードの正解頻度を示す正解頻度情報を取得する取得工程と、
前記正解頻度情報を基にして各ブロックペアに対する重みを判定する重み判定工程と、
前記ブロックペアに対応付けられたコードに対して多数決を行い前記画像に埋め込まれた一連のコードを判定するコード判定工程と、
前記コード判定工程によって判定された一連のコードに含まれる訂正コードを基にして、当該一連のコードを訂正可能か否かを判定する訂正可否判定工程と、
前記訂正可否判定工程の判定結果に基づいて、前記ブロックペアに対応付けられたコードに対して前記重み判定工程によって判定された重みで重み付けをして多数決を行い前記画像に埋め込まれた一連のコードを再度判定するコード再判定手段と、
を含んだことを特徴とする画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、画像を複数のブロックに分割し、ブロックペアを構成する各ブロックの特徴量に基づいてブロックペアに対応付けられたコードをブロックペアごとに抽出し、前記画像に複数回埋め込まれた一連のコードを判定する画像処理装置等に関し、特に、多数決後の誤りを低減させてデコード性能を向上させることができる画像処理装置および画像処理方法に関するものである。
【背景技術】
【０００２】
従来より、偽造の防止、不正利用の防止、あるいは付加サービスを提供するために、画像などに任意のコードを埋め込む技術、および、かかる技術によって画像に埋め込まれたコードを抽出する技術が考案され、実用化されている。
【０００３】
例えば、特許文献１では、画像をブロック単位に分割し、２個のブロック（ブロックペア）の平均画素値を調整することによって、任意のコードを画像に埋め込む方法が公開されている。また、同発明では、画像をブロック単位に分割し、ブロックペアの各ブロックの平均画素値に基づいて画像に埋め込まれたコードを抽出する方法も記載されている。
【０００４】
更に、特許文献１では、複数桁からなるコードを繰り返し画像に埋め込み、デコード時に繰り返し埋め込まれたコードを抽出し、複数のコードを基に多数決を実施して画像に埋め込まれたコードを最終的に判定している。
【０００５】
同じコードを画像に繰り返し埋め込んでおき、画像からコードを抽出する場合に多数決を実施してコードを判定する方法の目的は、抽出されたコードの部分的な誤りを補正するためである。すなわち、画像から抽出した複数のコードの中で正しいコードが多ければ、コードの一部が間違っていても多数決により正しいコードを得られることができるという考えに基づいている。
【０００６】
【特許文献１】特開２００４−３４９８７９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、上述した従来の技術では、画像に埋め込まれたデータを正確に抽出することができないという問題があった。図１０および図１１は、従来の技術にかかる問題点を説明するための図である。
【０００８】
図１０に示すように、コードを埋め込んだ画像を紙面に印刷してカメラ等の入力機器で入力すると、印刷および入力機器の入力特性の非線形性により、入力画像におけるブロックペアの平均画素値の差が撮影画像では平坦になってしまう領域（以下、不感領域と表記する）が生じる。なお、画素値が大きくなると、画像は白に近づき、画素値が小さくなると画像は黒に近づく。
【０００９】
ブロックペアの平均画素値が不感領域に入っていると、ブロックペアにおける平均画素値の差が「０」となったり、微小なノイズの影響で大小関係が反転してしまい正しくデコードできない可能性が高くなる。このため、不感領域に含まれるブロックペアが多いと、多数決を実施しても画像に実際に埋め込まれたコードと異なるコードが抽出されてデコードに失敗してしまう。
【００１０】
図１１は、３ビットのデータ「１１０」が５回繰り返して画像に埋め込まれている例を示している。図１１の太線で囲んだ部分はブロックペアの画素値が不感領域に入っており、間違った値が抽出された場合を示している。最上位のビットは、正しく１が取得されたブロックペアが２個、間違って取得されたブロックペアが３個であり、多数決の結果、誤った値である０が選択されている。このように、間違った値の出現頻度が多い場合には、従来の多数決方法では必ず間違った値が選択されて正しくデコードできない。
【００１１】
通常は、デコード結果の信頼性を高めるために、多数決と誤り訂正を組合せたコードの埋め込みおよびデコードを行う。誤り訂正を用いる場合には、元のデータに対して誤り訂正用のデータを加えたデータを繰り返し画像に埋め込み、デコード時に多数決を行った後に誤り訂正を行うことで、ある程度までの誤りを訂正できる。
【００１２】
しかしながら、不感領域に含まれるブロックペアが多くなって、多数決後の誤りが誤り訂正可能な範囲を超えるほどに増加すると、誤り訂正ができなくなり、画像に埋め込まれたコードを抽出できなくなる。
【００１３】
この発明は、上述した従来技術による問題点を解消するためになされたものであり、多数決後の誤りを低減させてデコード性能を向上させることができる画像処理装置および画像処理方法を提供することを目的とする。
【課題を解決するための手段】
【００１４】
上述した課題を解決し、目的を達成するため、本発明は、画像を複数のブロックに分割し、ブロックペアを構成する各ブロックの特徴量に基づいてブロックペアに対応付けられたコードをブロックペアごとに抽出し、前記画像に複数回埋め込まれた一連のコードを判定する画像処理装置であって、前記ブロックペアを構成する各ブロックの特徴量に基づいて、当該ブロックペアに対応付けられたコードの正解頻度を示す正解頻度情報を取得する取得手段と、前記正解頻度情報を基にして各ブロックペアに対する重みを判定する重み判定手段と、前記ブロックペアに対応付けられたコードに対して前記重み判定手段によって判定された重みで重み付けをして多数決を行い前記画像に埋め込まれた一連のコードを判定するコード判定手段と、を備えたことを特徴とする。
【００１５】
また、本発明は、上記発明において、前記画像に埋め込まれた一連のコードは当該一連のコードを訂正する訂正コードを含み、前記コード判定手段によって判定された一連のコードに含まれる訂正コードを基にして、当該一連のコードを訂正可能か否かを判定する訂正可否判定手段と、前記訂正可否判定手段の判定結果に基づいて前記正解頻度情報を更新する更新手段とを更に備えたことを特徴とする。
【００１６】
また、本発明は、上記発明において、前記正解頻度情報の初期値は、元の画像の画素値と自画像処理装置に入力された後の画像の画素値との対応関係に基づいて設定されていることを特徴とする。
【００１７】
また、本発明は、上記発明において、前記コード判定手段は、正解頻度が閾値以上となるブロックペアから得られるコードのみを利用して前記画像に埋め込まれた一連のコードを判定することを特徴とする。
【００１８】
また、本発明は、画像を複数のブロックに分割し、ブロックペアを構成する各ブロックの特徴量に基づいてブロックペアに対応付けられたコードをブロックペアごとに抽出し、前記画像に複数回埋め込まれた一連のコードを判定する画像処理装置であって、前記一連のコードは、当該コードを訂正する訂正コードを含み、前記ブロックペアを構成する各ブロックの特徴量に基づいて、当該ブロックペアに対応付けられたコードの正解頻度を示す正解頻度情報を取得する取得手段と、前記正解頻度情報を基にして各ブロックペアに対する重みを判定する重み判定手段と、前記ブロックペアに対応付けられたコードに対して多数決を行い前記画像に埋め込まれた一連のコードを判定するコード判定手段と、前記コード判定手段によって判定された一連のコードに含まれる訂正コードを基にして、当該一連のコードを訂正可能か否かを判定する訂正可否判定手段と、前記訂正可否判定手段の判定結果に基づいて、前記ブロックペアに対応付けられたコードに対して前記重み判定手段によって判定された重みで重み付けをして多数決を行い前記画像に埋め込まれた一連のコードを再度判定するコード再判定手段と、を備えたことを特徴とする。
【００１９】
また、本発明は、画像を複数のブロックに分割し、ブロックペアを構成する各ブロックの特徴量に基づいてブロックペアに対応付けられたコードをブロックペアごとに抽出し、前記画像に複数回埋め込まれた一連のコードを判定する画像処理装置の画像処理方法であって、前記画像処理装置は、前記ブロックペアを構成する各ブロックの特徴量に基づいて、当該ブロックペアに対応付けられたコードの正解頻度を示す正解頻度情報を取得する取得工程と、前記正解頻度情報を基にして各ブロックペアに対する重みを判定する重み判定工程と、前記ブロックペアに対応付けられたコードに対して前記重み判定工程によって判定された重みで重み付けをして多数決を行い前記画像に埋め込まれた一連のコードを判定するコード判定工程と、を含んだことを特徴とする。
【００２０】
また、本発明は、上記発明において、前記画像に埋め込まれた一連のコードは当該一連のコードを訂正する訂正コードを含み、前記コード判定工程によって判定された一連のコードに含まれる訂正コードを基にして、当該一連のコードを訂正可能か否かを判定する訂正可否判定工程と、前記訂正可否判定工程の判定結果に基づいて前記正解頻度情報を更新する更新工程とを更に含んだことを特徴とする。
【００２１】
また、本発明は、上記発明において、前記正解頻度情報の初期値は、元の画像の画素値と前記画像処理装置に入力された後の画像の画素値との対応関係に基づいて設定されていることを特徴とする。
【００２２】
また、本発明は、上記発明において、前記コード判定工程は、正解頻度が閾値以上となるブロックペアから得られるコードのみを利用して前記画像に埋め込まれた一連のコードを判定することを特徴とする。
【００２３】
また、本発明は、画像を複数のブロックに分割し、ブロックペアを構成する各ブロックの特徴量に基づいてブロックペアに対応付けられたコードをブロックペアごとに抽出し、前記画像に複数回埋め込まれた一連のコードを判定する画像処理装置の画像処理方法であって、前記一連のコードは、当該コードを訂正する訂正コードを含み、前記画像処理装置は、前記ブロックペアを構成する各ブロックの特徴量に基づいて、当該ブロックペアに対応付けられたコードの正解頻度を示す正解頻度情報を取得する取得工程と、前記正解頻度情報を基にして各ブロックペアに対する重みを判定する重み判定工程と、前記ブロックペアに対応付けられたコードに対して多数決を行い前記画像に埋め込まれた一連のコードを判定するコード判定工程と、前記コード判定工程によって判定された一連のコードに含まれる訂正コードを基にして、当該一連のコードを訂正可能か否かを判定する訂正可否判定工程と、前記訂正可否判定工程の判定結果に基づいて、前記ブロックペアに対応付けられたコードに対して前記重み判定工程によって判定された重みで重み付けをして多数決を行い前記画像に埋め込まれた一連のコードを再度判定するコード再判定手段と、を含んだことを特徴とする。
【発明の効果】
【００２４】
本発明によれば、ブロックペアを構成する各ブロックの特徴量に基づいて、ブロックペアに対応付けられたコードの正解頻度を示す正解頻度情報を取得し、正解頻度情報を基にして各ブロックペアに対する重みを判定し、ブロックペアに対応付けられたコードに対して重み付けをして多数決を行い画像に埋め込まれた一連のコードを判定するので、多数決後の誤りを低減させてデコード性能を向上させることができる。
【００２５】
また、本発明によれば、画像に埋め込まれた一連のコードはこの一連のコードを訂正する訂正コードを含み、一連のコードに含まれる訂正コードを基にして、一連のコードを訂正可能か否かを判定し、判定結果に基づいて正解頻度情報を更新するので、ブロックペアに対応する正解頻度を学習させることができ、デコード性能を向上させることができる。
【００２６】
また、本発明によれば、正解頻度情報の初期値は、元の画像の画素値と画像処理装置に入力された後の画像の画素値との対応関係に基づいて設定されているので、正解頻度に対する学習を早めることができる。
【００２７】
また、本発明によれば、正解頻度が閾値以上となるブロックペアから得られるコードのみを利用して画像に埋め込まれた一連のコードを判定するので、確からしさの度合いが高いブロックペアを利用して多数決を行うことができる。
【００２８】
また、本発明によれば、一旦、重み付けを行わずに多数決を行い、デコードが失敗した場合に、重み付けによる多数決を実行するので、少なくとも従来と同等のデコード性能を保証した上で、さらにデコード性能を向上させることができる。
【発明を実施するための最良の形態】
【００２９】
以下に添付図面を参照して、この発明に係る画像処理装置および画像処理方法の好適な実施の形態を詳細に説明する。
【実施例１】
【００３０】
まず、本実施例１にかかる画像処理装置の概要および特徴について説明する。本実施例１にかかる画像処理装置は、一連のコードが複数回埋め込まれた画像を取得した場合に、画像を複数のブロックに分割し、ブロックペアを構成する各ブロックの特徴量に基づいて、コードを検出すると共に、ブロックペアに対応付けられたコードの正解頻度を示す正解頻度情報を取得する。
【００３１】
そして、画像処理装置は、正解頻度情報を基にして各ブロックペアに対する重みを決定し、ブロックペアに対応付けられたコードに対して重み付け（ブロックペアに対応する重みでコードに重み付けを行う）をして多数決を行い、画像に埋め込まれた一連のコードを判定する。
【００３２】
このように、本実施例１にかかる画像処理装置は、各ブロックペアの特徴量に対応する正解頻度から各ブロックペアの重みを判定し、判定した重みによってブロックペアに対応付けられたコードに対して重み付けを行うと共に、多数決を行って画像に埋め込まれた一連のコードを判定するので、多数決後の誤りを低減させてデコード性能を向上させることができる。
【００３３】
なお、本実施例１において、ブロック（画像）の特徴量は、平均濃度、平均画素値、粒状度、彩度、濃度重心、分散等、画像から求められる特徴量を示す。各特徴量のいずれか一つを用いてデコードを行っても良いし、各特徴量を複合的に用いてデコードを行っても良い。
【００３４】
また、画像を複数のブロックに分割し、ブロックペアを構成する各ブロックの特徴量を調整して、一連のコードを画像に埋め込む方法は、特許文献１（特開２００４−３４９８７９号公報）に記載されている方法を用いればよい。特許文献１に記載の方法によって、画像には一連のコードが複数回埋め込むことができる。そして、かかる一連のコードには、コードの誤りを訂正する誤り訂正コード（例えば、ＢＣＨ（Bose  Ray-Chaudhuri  Hocquenghem）符号）が含まれているものとする。
【００３５】
次に、本実施例１にかかる画像処理装置の構成について説明する。図１は、本実施例１にかかる画像処理装置の構成を示す機能ブロック図である。同図に示すように、この画像処理装置１００は、画像切出部１１０と、ブロック分割部１２０と、ブロック抽出部１３０と、平均化部１４０と、レジスタ１５０ａ，１５０ｂと、比較部１６０と、記憶部１７０と、デコード部１８０と、更新処理部１９０とを備えて構成される。
【００３６】
このうち、画像切出部１１０は、コードが埋め込まれた画像（誤り訂正コードを含んだ一連のコードが繰り返し埋め込まれた画像）のデータ（以下、画像コード化データと表記する）を入力装置（カメラ、スキャナなど；図示略）から取得し、画像コード化データに切り取りデータ（例えば、余白データ）を含む場合に、全体から、有効な画像コード化データを切出す処理部である。画像切出部１１０は、切出した画像コード化データをブロック分割部１２０に出力する。
【００３７】
ブロック分割部１２０は、画像切出部１１０から画像コード化データを取得した場合に、画像コード化データを複数のブロックに分割したブロック分割画像データを生成する処理部である。ブロック分割部１２０は、例えば、画像コード化データをＮ行×Ｍ列（ＮおよびＭは自然数）のブロックに分割する。ブロック分割部１２０は、ブロック分割画像データをブロック抽出部１３０に出力する。
【００３８】
ブロック抽出部１３０は、ブロック分割画像データからブロックペア（２つのブロック）を、デコード対象となるコードのビットシフトに追従させて順次抽出し、ブロックペアにおける特徴量（例えば、画素値の分布）をブロック画素値データとして順次平均化部１４０に出力する処理部である。
【００３９】
ここで、コードのビットシフトとは、一連のコード（ビット）の最左側ビットから右側ビット側へ向けて、ビットのポインタを右側へ１ビットずつシフトさせることをいう。例えば、一連のコードが「１０１」である場合には、ポインタを「１」から右側に、「０」、「１」とシフトさせる。
【００４０】
平均化部１４０は、ブロック画素値データから、ブロックペアにおける一方のブロックに対応する画像の平均画素値を示す左側平均濃度データと、他方のブロックに対応する画像の平均画素値を示す右側平均濃度データとを求める処理部である。平均化部１４０は、コードのビットシフトに追従させて左側平均濃度データをレジスタ１５０ａに順次格納し、右側平均濃度データをレジスタ１５０ｂに順次格納する。
【００４１】
比較部１６０は、レジスタ１５０ａに格納された左側平均濃度データとレジスタ１５０ｂに格納された右側平均濃度データとを基にして、ブロックペアに対応付けられたコードを判定する処理部である。具体的に、比較部１６０は、左側画素値と右側画素値との関係が、
左側画素値＜右側画素値・・・（Ａ）
である場合には、ブロックペアに対応付けられたコードを「１」と判定する。
【００４２】
また、比較部１６０は、左側画素値と右側画素値との関係が、
左側画素値＞右側画素値・・・（Ｂ）
である場合には、ブロックペアに対応付けられたコードを「０」と判定する。一方、左側画素値と右側画素値との関係が、
左側画素値＝右側画素値・・・（Ｃ）
である場合には、ブロックペアに対応付けられたコードを「不明」と判定する。
【００４３】
デコード時に使用する特徴量（例えば、平均画素値）と上記（Ａ）、（Ｂ）の条件は、コードの埋め込み時と同じにする必要がある。また、比較部１６０は、ブロックペアを構成する左右のブロックの平均画素値が等しい場合（条件（Ｃ）に対応する場合）、「不明」と判定して多数決の対象から除外する方法の他、常に「０」または「１」のどちらかに割り当てたり、「０」と「１」とを交互に割り当てるようにしてもよい。
【００４４】
比較部１６０は、判定結果となるコードを順次、デコード部１８０に出力する。また、比較部１６０は、コードに対応するブロックペアの左側画素値および右側画素値を左右画素値データとしてデコード部１８０に出力する。すなわち、比較部１６０は、判定結果となるコードと、かかるコードに対応する左右画素値データとをデコード部１８０に出力する。
【００４５】
記憶部１７０は、正解頻度データ１７０ａを記憶する記憶部である。ここで、正解頻度データ１７０ａは、比較部１６０によって判定されたコードの正解した頻度の情報（あるいはブロックペアの各平均画素値から判定されたコードの正解率）を記憶するデータである。なお、比較部１６０によって判定されたコードが正解したか否かは、後述するデコード部１８０によって判定される。図２は、正解頻度データ１７０ａのデータ構造の一例を示す図である。
【００４６】
図２に示すように、この正解頻度データ１７０ａは、正解回数データおよび取得回数データを含んでいる。正解回数データ（図２の左側）についてまず説明する。ブロックペアを構成するブロックをそれぞれブロック１、ブロック２とすると、正解回数データは、ブロック１の平均画素値Ｌｉ（ｉ＝１〜ｎ；ｎは自然数）と、ブロック２の平均画素値Ｒｊ（ｊ＝１〜ｎ；ｎは自然数）と、それぞれの平均画素値に対応する正解回数Ｃｉｊとを含んでいる（平均画素値Ｌｉは、左側画素値に対応し、平均画素値Ｒｊは、右側画素値に対応する）。
【００４７】
平均画素値Ｌｉおよび平均画素値Ｒｊに対応する左側画素値および右側画素値を基にして比較部１６０によって判定されたコードが正解した場合には、平均画素値Ｌｉと平均画素値Ｒｊとに対応する正解回数Ｃｉｊの値に所定値が加算される。一方、平均画素値Ｌｉおよび平均画素値Ｒｊに対応する左側画素値および右側画素値を基にして比較部１６０によって判定されたコードが正解しなかった場合には、平均画素値Ｌｉと平均画素値Ｒｊとに対応する正解回数Ｃｉｊの値はそのままの値となる。
【００４８】
続いて、取得回数データ（図２の右側）について説明する。ブロックペアを構成するブロックをそれぞれブロック１、ブロック２とすると、取得回数データは、ブロック１の平均画素値Ｌｉ（ｉ＝１〜ｎ；ｎは自然数）と、ブロック２の平均画素値Ｒｊ（ｊ＝１〜ｎ；ｎは自然数）と、それぞれの平均画素値に対応する取得回数Ｎｉｊとを含んでいる（平均画素値Ｌｉは、左側画素値に対応し、平均画素値Ｒｊは、右側画素値に対応する）。
【００４９】
取得回数Ｎｉｊは、デコード部１８０が比較部１６０から左右画素値データを取得した回数を示す。デコード部１８０が左右画素値データを取得する回数に応じて、取得回数Ｎｉｊの値（左右画素値データの平均画素値Ｌｉおよび平均画素値Ｒｉに対応する取得回数Ｎｉｊの値）に所定値が加算される。
【００５０】
平均画素値Ｌｉおよび平均画素値Ｒｊに対応する正解頻度は、図２に示す正解回数データと取得回数データとを基にして算出することができる。具体的に、平均画素値Ｌｉと平均画素値Ｒｊに対応する正解頻度Ｓｉｊは、
正解頻度Ｓｉｊ＝Ｃｉｊ／Ｎｉｊ
によって算出することができる。
【００５１】
図１の説明に戻ると、デコード部１８０は、比較部１６０から取得するコード、左右画素値データ、および、記憶部１７０の正解頻度データ１７０ａを基にして、画像コード化データに埋め込まれた一連のコードを判定する処理部である。
【００５２】
ここで、デコード部１８０の処理を具体的に説明する。まず、デコード部１８０は、比較部１６０からコードを順次取得し、一連のコードごとに一時記憶部（図示略）に記憶する。例えば、画像コード化データに３ビットのコードが５回繰り返して埋め込まれている場合には、３ビットから構成される５つのコードを一時記憶部に記憶する。デコード部１８０は、一時記憶部に一連のコードを記憶する場合に、各コードと左右画素値データとを対応付けて記憶しておくものとする。
【００５３】
そして、デコード部１８０は、各コードに対応付けられた左右画素値データと、正解頻度データ１７０ａの正解回数データおよび取得回数データとを比較して、各コードの正解頻度を算出する。実施例１において、デコード部１８０は、正解頻度をそのままブロックペアに対応する重みとし、かかる重みによってコードに重み付けを行った後、多数決を行う。
【００５４】
図３は、重み付けを行って多数決を行う場合の処理を説明するための図である。図３に示す例では、不感領域外の重みが「０．７」、不感領域の重みが「０．３」となった場合の例である。同図に示すように、例えば、最上位ビットは、０が３個で重みが０．３なので、３×０．３＝０．９となる。一方、１が２個で重みが０．７なので、２×０．７＝１．４となり、０．９と１．４とを比較して、値が大きいほうの１．４に対応する「１」が多数決結果となる。他のビットも同様に多数決を行い、最終的な多数決結果となる一連のコードを判定する（図３に示す例では、一連のコードは「１１０」となる）。
【００５５】
続いて、デコード部１８０は、一連のコードに含まれる誤り訂正コードを基にして、誤り訂正を実行可能か否かを判定する。デコード部１８０は、誤り訂正コードによる誤り訂正が実行できないと判定した場合には、エラーを出力装置（図示略）に出力する。
【００５６】
一方、デコード部１８０は、誤り訂正コードによる誤り訂正が実行可能な場合には、誤り訂正コードに基づいて、誤り訂正を実行し、誤り訂正を行った一連のコードを出力装置に出力する。そして、デコード部１８０は、一連のコードのうち、誤り訂正を行う必要のなかったコードに対応する左右画素値データと、誤り訂正を行ったコードに対応する左右画素値データとを更新処理部１９０に出力する。
【００５７】
更新処理部１９０は、記憶部１７０に記憶された正解頻度データ１７０ａを更新する処理部である。具体的に、更新処理部１９０は、デコード部１８０による誤り訂正を行う必要のなかったコードに対応する左右画素値データを取得した場合には、左右画素値データに対応する正解回数Ｃｉｊに所定値を加算すると共に、左右画素値データに対応する取得回数Ｎｉｊに所定値を加算する。
【００５８】
また、更新処理部１９０は、デコード部１８０による誤り訂正を行ったコードに対応する左右画素値データを取得した場合には、左右画素値データに対応する取得回数Ｎｊｉに所定値を加算する。
【００５９】
次に、本実施例１にかかる画像処理装置１００の処理手順について説明する。図４は、本実施例１にかかる画像処理装置１００の処理手順を示すフローチャートである。同図に示すように、画像処理装置１００は、画像切出部１１０が画像コード化データを取得し（ステップＳ１０１）、ブロック分割部１２０、ブロック抽出部１３０、平均化部１４０を介してレジスタ１５０ａ、１５０ｂに格納されたデータ（左側平均濃度データおよび右側平均濃度データ）を基にして、比較部１６０は、ブロックペアに対応付けられたコードを判定する（ステップＳ１０２）。
【００６０】
続いて、デコード部１８０が、ブロックペアに対応する正解頻度データから重みを判定し（ステップＳ１０３）、各コードの重みを反映して多数決を実行し、画像に埋め込まれた一連のコードを判定する（ステップＳ１０４）。
【００６１】
そして、デコード部１８０は、一連のコードに含まれる誤り訂正コードを基にして誤り訂正を実行し、誤り訂正が成功したか否かを判定する（ステップＳ１０５）。誤り訂正が失敗した場合には（ステップＳ１０６，Ｎｏ）、エラーを出力する（ステップＳ１０７）。
【００６２】
一方、誤り訂正が成功した場合には（ステップＳ１０６，Ｙｅｓ）、更新処理部１９０が、ブロックペアの特徴量に対応する正解頻度データを更新し（ステップＳ１０８）、デコード部１８０が画像コード化データから抽出したコードを出力する（ステップＳ１０９）。
【００６３】
このように、ブロックペアの正解頻度データを基にしてコードに重み付けを行った後に多数決を行うことで、より正確にデコードを実施することができる。
【００６４】
次に、本実施例１にかかる正解頻度データ１７０ａの初期値の設定方法について説明する。本実施例１にかかる正解頻度データ１７０ａの初期値はどのように設定しても構わないが、例えば、元の画像の画素値と画像処理装置１００に入力された画像の画素値との対応関係から設定することができる。図５は、正解頻度データの初期値の設定方法を説明するための図である。
【００６５】
図５に示すように、画像処理装置１００に入力された画像の画素値（図５の横軸に対応）が領域Ａに含まれる場合には、かかる領域に対応する画素値の正解頻度が０となるように、正解頻度データの正解回数データおよび取得回数データを設定する。例えば、画素値Ｒ１（図２参照）が領域Ａに含まれている場合には、Ｒ１に対応する列Ｃ１１〜Ｃｎ１を０に設定し、Ｎ１１〜Ｎｎ１を１に設定する。
【００６６】
画像処理装置１００に入力された画像の画素値が領域Ｂに含まれる場合には、かかる領域に対応する画素値の正解頻度が０．５となるように、正解頻度データの正解回数データおよび取得回数データを設定する。画像処理装置１００に入力された画像の画素値が領域Ｃに含まれている場合には、かかる領域に対応する画素値の正解頻度が１となるように、正解頻度データの正解回数データおよび取得回数データを設定する。
【００６７】
画像処理装置１００に入力された画像の画素値が領域Ｄに含まれる場合には、かかる領域に対応する画素値の正解頻度が０．５となるように、正解頻度データの正解回数データおよび取得回数データを設定する。画像処理装置１００に入力された画像の画素値が領域Ｅに含まれている場合には、かかる領域に対応する画素値の正解頻度が０となるように、正解頻度データの正解回数データおよび取得回数データを設定する。
【００６８】
このように、元の画像の画素値と画像処理装置１００に入力された画像の画素値との対応関係から正解頻度データ１７０ａの初期値を設定することによって、デコード性能を向上させることができる。
【００６９】
上述してきたように、本実施例１にかかる画像処理装置１００は、一連のコードが複数回埋め込まれた画像を取得した場合に、画像を複数のブロックに分割し、ブロックペアを構成する各ブロックの特徴量に基づいて、ブロックペアに対応付けられたコードの正解頻度を示す正解頻度データ１７０ａを記憶部１７０から取得する。そして、正解頻度データ１７０ａを基にして各ブロックペアに対する重みを決定し、ブロックペアに対応付けられたコードに対して重み付け（ブロックペアに対応する重みでコードに重み付けを行う）をして多数決を行い、画像に埋め込まれた一連のコードを判定するので、多数決後の誤りを低減させてデコード性能を向上させることができる。
【００７０】
また、本実施例１にかかる画像処理装置１００は、更新処理部１９０が、コードの誤り訂正結果を基にして、正解頻度データ１７０ａを更新するので、入力画像のデコード処理に成功するたびに正解頻度の学習が進み、より正しい結果を優先した多数決を実行することができる。
【００７１】
なお、本実施例１では、正解頻度データ１７０ａのデータ構造を図２を用いて説明したが、正解頻度データ１７０ａのデータ構造はこれに限定されるものではない。図６は、正解頻度データのその他のデータ構造を示す図である。
【００７２】
図６に示すように、この正解頻度データは、ブロックペアを構成する各ブロックの平均画素値の差の絶対値Ｄｋ（ｋは自然数）と正解回数Ｃｋと取得回数Ｎｋとを含んでいる。図６に示すようなデータ構造の正解頻度データを基にしてデコード部１８０がコードに対する重みを判定する場合には、比較部１６０から取得する左右画素値データから隣接ブロックの平均画素値の差の絶対値を算出し、算出した絶対値に対応する正解頻度をコードに対する重みとして判定する。
【００７３】
すなわち、隣接ブロックの平均画素値の差の絶対値がＤｋならば、コードの重みは、
重み＝Ｃｋ／Ｎｋ
となる。
【００７４】
入力装置から取得した画像の画素値が図１０に示したような不感領域に含まれている場合には、埋め込み時の隣接ブロックの平均画素値の差に対して、入力された画像から取得した平均画素値の差は不感領域やダイナミックレンジの狭まりなどにより狭まって取得され、平均画素値の差がなくなってしまったり、ノイズ等の影響で反転する場合がある。このように平均画素値と正解頻度には相関があることから平均画素値の差に対する正解頻度を用いることができる。
【００７５】
図２に示した正解頻度データは、２個のブロックの平均画素値を使うため、ブロックの平均画素値の差を用いる場合（図６参照）よりも情報量が多く、より高い精度で正解頻度を保持することを期待できる。
【００７６】
一方、図６に示した正解頻度データは、１元のテーブルであり、図２に示した２次元のテーブルよりサイズを小さくできるため、装置への組み込みなど使用できる記憶容量が制約される場合に有効である。
【００７７】
また、本実施例１にかかる画像処理装置１００は、デコード部１８０が正解頻度データ１７０ａを基にしてブロックペアに対応する重みを判定し、判定した重みでコードに重み付けを行い多数決を行っていたが、これに限定されるものではなく、正解頻度が閾値以上となるブロックペアから得られるコードのみを利用して画像コード化データに埋め込まれた一連のコードを判定してもよい。
【００７８】
すなわち、デコード部１８０は、正解頻度データ１７０ａの正解頻度が閾値未満となるブロックペアのコードを除外し、正解頻度が閾値以上となるブロックペアのコードのみを利用して多数決を行い、画像コード化データに埋め込まれたコードを判定する。このように、正解頻度が閾値以上となるブロックペアのコードのみを用いて多数決を行うことによって、デコード性能を向上させることができる。
【実施例２】
【００７９】
次に、本実施例２にかかる画像処理装置の概要および特徴について説明する。本実施例２にかかる画像処理装置は、一連のコードが複数回埋め込まれた画像を取得した場合に、画像を複数のブロックに分割し、ブロックペアを構成する各ブロックの特徴量に基づいて重み付けを行わない多数決を実施して、一連のコードを検出する。そして、検出したコードが間違ったコードである場合に、ブロックペアに対応付けられたコードの正解頻度情報を取得し、正解頻度情報を基にしてブロックペアに対応付けられたコードに対して重み付けをして多数決を行い、画像に埋め込まれた一連のコードを判定する。
【００８０】
このように、本実施例２にかかる画像処理装置は、先に重み付けによる多数決を行わない従来通りのデコードを行い、従来のデコードが失敗した場合にのみ、正解頻度情報に基づいた多数決を実施してコードを判定するので、少なくもと、従来同等のデコード性能を保持した上で、画像から一連のコードを正確に抽出することができる。
【００８１】
次に、本実施例２にかかる画像処理装置の構成について説明する。図７は、本実施例２にかかる画像処理装置の構成を示す機能ブロック図である。同図に示すように、画像処理装置２００は、画像切出部２１０と、ブロック分割部２２０と、ブロック抽出部２３０と、平均化部２４０と、レジスタ２５０ａ，２５０ｂと、比較部２６０と、記憶部２７０と、デコード部２８０と、更新処理部２９０とを備えて構成される。
【００８２】
このうち、画像切出部２１０、ブロック分割部２２０、ブロック抽出部２３０、平均化部２４０、レジスタ２５０ａ，２５０ｂ、比較部２６０、記憶部２７０、更新処理部２９０に関する説明は、図１において説明した画像切出部１１０、ブロック分割部１２０、ブロック抽出部１３０、平均化部１４０、レジスタ１５０ａ，１５０ｂ、比較部１６０、記憶部１７０、更新処理部１９０に関する説明と同様であるため説明を省略する。
【００８３】
デコード部２８０は、比較部２６０から取得するコード、左右画素値データ、および、記憶部２７０の正解頻度データ２７０ａを基にして、画像コード化データに埋め込まれた一連のコードを判定する処理部である。なお、デコード部２８０は、実施例１に示したデコード部１８０と異なり、一旦、重み付けを行わない多数決を実施して画像コード化データに埋め込まれた一連のコードを判定する。そして、重み付けを行わない多数決によって画像コード化データに埋め込まれたデータを判定することができなかった場合に（デコードに失敗した場合に）、実施例１のデコード部１８０と同様に、各コードに対応する重みを用いて多数決を実施し、画像コード化データに埋め込まれた一連のコードを判定する。
【００８４】
ここで、デコード部２８０の処理を具体的に説明する。まず、デコード部２８０は、比較部２６０からコードを順次取得し、一連のコードごとに一時記憶部（図示略）に記憶する。例えば、画像コード化データに３ビットのコードが５回繰り返して埋め込まれている場合には、３ビットから構成される５つのコードを一時記憶部に記憶する。デコード部２８０は、一時記憶部に一連のコードを記憶する場合に、各コードと左右画素値データとを対応付けて記憶しておくものとする。
【００８５】
そして、デコード部２８０は、各ブロックペアに対応する重みを利用しないで、各一連のコードを基に多数決を実施し、多数決結果となる一連のコードを判定する。デコード部２８０は、一連のコードに含まれる誤り訂正コードを基にして、誤り訂正を実行可能か否かを判定する。
【００８６】
デコード部２８０は、誤り訂正コードによる誤り訂正が実行可能な場合には、誤り訂正コードに基づいて、誤り訂正を実行し、誤り訂正を行った一連のコードを出力装置に出力する。そして、デコード部２８０は、一連のコードのうち、誤り訂正を行う必要のなかったコードに対応する左右画素値データと、誤り訂正を行ったコードに対応する左右画素値データとを更新処理部２９０に出力する。
【００８７】
一方、デコード部２８０は、重み付けを行わない多数決結果により、画像コード化データに埋め込まれたデータを判定することができなかった場合には、各コードに対応付けられた左右画素値データと、正解頻度データ２７０ａの正解回数データおよび取得回数データとを比較して、各コードの正解頻度を算出する。実施例２において、デコード部２８０は、正解頻度をそのままブロックペアに対応する重みとし、かかる重みによってコードに重み付けを行った後、多数決を行う。
【００８８】
続いて、デコード部２８０は、一連のコードに含まれる誤り訂正コードを基にして、誤り訂正を実行可能か否かを判定する。デコード部２８０は、誤り訂正コードによる誤り訂正が実行できないと判定した場合には、エラーを出力装置に出力する。
【００８９】
一方、デコード部２８０は、誤り訂正コードによる誤り訂正が実行可能な場合には、誤り訂正コードに基づいて、誤り訂正を実行し、誤り訂正を行った一連のコードを出力装置に出力する。そして、デコード部２８０は、一連のコードのうち、誤り訂正を行う必要のなかったコードに対応する左右画素値データと、誤り訂正を行ったコードに対応する左右画素値データとを更新処理部２９０に出力する。
【００９０】
次に、本実施例２にかかる画像処理装置２００の処理手順について説明する。図８は、本実施例２にかかる画像処理装置２００の処理手順を示すフローチャートである。同図に示すように、画像処理装置２００は、画像切出部２１０が画像コード化データを取得し（ステップＳ２０１）、ブロック分割部２２０、ブロック抽出部２３０、平均化部２４０を介してレジスタ２５０ａ，２５０ｂに格納されたデータ（左側平均濃度データおよび右側平均濃度データ）を基にして、比較部２６０は、ブロックペアに対応付けられたコードを判定する（ステップＳ２０２）。
【００９１】
続いて、デコード部２８０が多数決を実行し、画像に埋め込まれたコードを判定し（ステップＳ２０３）、一連のコードに含まれる誤りコードを基にして誤り訂正を実行し、誤り訂正が成功したか否かを判定する（ステップＳ２０４）。そして、誤り訂正に成功した場合には（ステップＳ２０５，Ｙｅｓ）、ステップＳ２１１に移行する。
【００９２】
一方、誤り訂正が成功しなかった場合には（ステップＳ２０５，Ｎｏ）、ブロックペアに対応する正解頻度データから重みを判定し（ステップＳ２０６）、各コードの重みを反映して多数決を実行し、画像に埋め込まれた一連のコードを判定する（ステップＳ２０７）。
【００９３】
デコード部２８０は、一連のコードに含まれる誤りコードを基にして誤り訂正を実行し、誤り訂正が成功したか否かを判定する（ステップＳ２０８）。誤り訂正が失敗した場合には（ステップＳ２０９，Ｎｏ）、エラーを出力する（ステップＳ２１０）。
【００９４】
一方、誤り訂正が成功した場合には（ステップＳ２０９，Ｙｅｓ）、更新処理部２９０がブロックペアの特徴量に対応する正解頻度データを更新し（ステップＳ２１１）、デコード部２８０が画像コード化データから抽出したコードを出力する（ステップＳ２１２）。
【００９５】
このように、デコード部２８０は、一旦、重み付けを行わないで多数決を行ってデコードし、デコードに失敗した場合にのみ重み付けを行って多数決を行い一連のコードを判定するので、従来同等のデコード性能を保証することができる。
【００９６】
上述してきたように、本実施例２にかかる画像処理装置２００は、一連のコードが複数回埋め込まれた画像を取得した場合に、画像を複数のブロックに分割し、ブロックペアを構成する各ブロックの特徴量に基づいて重み付けを行わない多数決を実施して、一連のコードを検出する。そして、デコード部２８０は、検出したコードが間違ったコードである場合に、ブロックペアに対応付けられたコードの正解頻度情報を取得し、正解頻度情報を基にしてブロックペアに対応付けられたコードに対して重み付けをして多数決を行い、画像に埋め込まれた一連のコードを判定するので、少なくもと、従来同等のデコード性能を保持した上で、画像から一連のコードを正確に抽出することができる。
【００９７】
ところで、本実施例１，２において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部あるいは一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【００９８】
また、図１、７示した画像処理装置１００，２００の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行われる各処理機能は、その全部または任意の一部がＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【００９９】
図９は、図１あるいは図７に示した画像処理装置を構成するコンピュータのハードウェア構成を示す図である。このコンピュータ５０は、画像データの入力を受け付ける入力機器（カメラ等）５１と、ユーザからのデータの入力を受け付ける入力装置５２、モニタ５３、ＲＡＭ（Random  Access  Memory）５４、レジスタ５５、各種プログラムを記録した記録媒体からプログラムを読み取る媒体読取装置５６、ネットワークを介して他のコンピュータとの間でデータの授受をおこなうネットワークインターフェース５７、ＣＰＵ（Central  Processing  Unit）５８、および、ＨＤＤ（Hard  Disk  Drive）５９をバス６０で接続して構成される。
【０１００】
そして、ＨＤＤ５９には、上述した画像処理装置１００（２００）の機能と同様の機能を発揮する画像処理プログラム５９ｂが記憶されている。そして、ＣＰＵ５８が画像処理プログラム５９ｂをＨＤＤ５９から読み出して実行することにより、上述した画像処理装置１００（２００）の機能部の機能を実現する画像処理プロセス５８ａが起動される。この画像処理プロセス５８ａは、図１に示した画像切出部１１０、ブロック分割部１２０、ブロック抽出部１３０、平均化部１４０、比較部１６０、デコード部１８０（あるいは図７の２８０）、更新処理部１９０に対応する。
【０１０１】
また、ＨＤＤ５９には、上述した画像処理装置１００の記憶部１７０に記憶されるデータに対応する各種データ５９ａが記憶される。この各種データ５９ａは、図１，７に示した正解頻度データなどに対応する。
【０１０２】
ＣＰＵ５８は、各種データ５９ａをＨＤＤ５９に記憶するとともに、各種データ５９ａをＨＤＤ５９から読み出してＲＡＭ５４に格納し、ＲＡＭ５４に格納された各種データ５４ａを利用して画像コード化データに埋め込まれたコードを判定する。
【０１０３】
（付記１）画像を複数のブロックに分割し、ブロックペアを構成する各ブロックの特徴量に基づいてブロックペアに対応付けられたコードをブロックペアごとに抽出し、前記画像に複数回埋め込まれた一連のコードを判定する画像処理装置であって、
前記ブロックペアを構成する各ブロックの特徴量に基づいて、当該ブロックペアに対応付けられたコードの正解頻度を示す正解頻度情報を取得する取得手段と、
前記正解頻度情報を基にして各ブロックペアに対する重みを判定する重み判定手段と、
前記ブロックペアに対応付けられたコードに対して前記重み判定手段によって判定された重みで重み付けをして多数決を行い前記画像に埋め込まれた一連のコードを判定するコード判定手段と、
を備えたことを特徴とする画像処理装置。
【０１０４】
（付記２）前記画像に埋め込まれた一連のコードは当該一連のコードを訂正する訂正コードを含み、前記コード判定手段によって判定された一連のコードに含まれる訂正コードを基にして、当該一連のコードを訂正可能か否かを判定する訂正可否判定手段と、前記訂正可否判定手段の判定結果に基づいて前記正解頻度情報を更新する更新手段とを更に備えたことを特徴とする付記１に記載の画像処理装置。
【０１０５】
（付記３）前記正解頻度情報の初期値は、元の画像の画素値と自画像処理装置に入力された後の画像の画素値との対応関係に基づいて設定されていることを特徴とする付記１または２に記載の画像処理装置。
【０１０６】
（付記４）前記コード判定手段は、正解頻度が閾値以上となるブロックペアから得られるコードのみを利用して前記画像に埋め込まれた一連のコードを判定することを特徴とする付記１、２または３に記載の画像処理装置。
【０１０７】
（付記５）画像を複数のブロックに分割し、ブロックペアを構成する各ブロックの特徴量に基づいてブロックペアに対応付けられたコードをブロックペアごとに抽出し、前記画像に複数回埋め込まれた一連のコードを判定する画像処理装置であって、
前記一連のコードは、当該コードを訂正する訂正コードを含み、
前記ブロックペアを構成する各ブロックの特徴量に基づいて、当該ブロックペアに対応付けられたコードの正解頻度を示す正解頻度情報を取得する取得手段と、
前記正解頻度情報を基にして各ブロックペアに対する重みを判定する重み判定手段と、
前記ブロックペアに対応付けられたコードに対して多数決を行い前記画像に埋め込まれた一連のコードを判定するコード判定手段と、
前記コード判定手段によって判定された一連のコードに含まれる訂正コードを基にして、当該一連のコードを訂正可能か否かを判定する訂正可否判定手段と、
前記訂正可否判定手段の判定結果に基づいて、前記ブロックペアに対応付けられたコードに対して前記重み判定手段によって判定された重みで重み付けをして多数決を行い前記画像に埋め込まれた一連のコードを再度判定するコード再判定手段と、
を備えたことを特徴とする画像処理装置。
【０１０８】
（付記６）画像を複数のブロックに分割し、ブロックペアを構成する各ブロックの特徴量に基づいてブロックペアに対応付けられたコードをブロックペアごとに抽出し、前記画像に複数回埋め込まれた一連のコードを判定する画像処理装置の画像処理方法であって、
前記画像処理装置は、
前記ブロックペアを構成する各ブロックの特徴量に基づいて、当該ブロックペアに対応付けられたコードの正解頻度を示す正解頻度情報を取得する取得工程と、
前記正解頻度情報を基にして各ブロックペアに対する重みを判定する重み判定工程と、
前記ブロックペアに対応付けられたコードに対して前記重み判定工程によって判定された重みで重み付けをして多数決を行い前記画像に埋め込まれた一連のコードを判定するコード判定工程と、
を含んだことを特徴とする画像処理方法。
【０１０９】
（付記７）前記画像に埋め込まれた一連のコードは当該一連のコードを訂正する訂正コードを含み、前記コード判定工程によって判定された一連のコードに含まれる訂正コードを基にして、当該一連のコードを訂正可能か否かを判定する訂正可否判定工程と、前記訂正可否判定工程の判定結果に基づいて前記正解頻度情報を更新する更新工程とを更に含んだことを特徴とする付記６に記載の画像処理方法。
【０１１０】
（付記８）前記正解頻度情報の初期値は、元の画像の画素値と前記画像処理装置に入力された後の画像の画素値との対応関係に基づいて設定されていることを特徴とする付記６または７に記載の画像処理方法。
【０１１１】
（付記９）前記コード判定工程は、正解頻度が閾値以上となるブロックペアから得られるコードのみを利用して前記画像に埋め込まれた一連のコードを判定することを特徴とする付記６、７または８に記載の画像処理方法。
【０１１２】
（付記１０）画像を複数のブロックに分割し、ブロックペアを構成する各ブロックの特徴量に基づいてブロックペアに対応付けられたコードをブロックペアごとに抽出し、前記画像に複数回埋め込まれた一連のコードを判定する画像処理装置の画像処理方法であって、
前記一連のコードは、当該コードを訂正する訂正コードを含み、
前記画像処理装置は、
前記ブロックペアを構成する各ブロックの特徴量に基づいて、当該ブロックペアに対応付けられたコードの正解頻度を示す正解頻度情報を取得する取得工程と、
前記正解頻度情報を基にして各ブロックペアに対する重みを判定する重み判定工程と、
前記ブロックペアに対応付けられたコードに対して多数決を行い前記画像に埋め込まれた一連のコードを判定するコード判定工程と、
前記コード判定工程によって判定された一連のコードに含まれる訂正コードを基にして、当該一連のコードを訂正可能か否かを判定する訂正可否判定工程と、
前記訂正可否判定工程の判定結果に基づいて、前記ブロックペアに対応付けられたコードに対して前記重み判定工程によって判定された重みで重み付けをして多数決を行い前記画像に埋め込まれた一連のコードを再度判定するコード再判定手段と、
を含んだことを特徴とする画像処理方法。
【０１１３】
（付記１１）画像を複数のブロックに分割し、ブロックペアを構成する各ブロックの特徴量に基づいてブロックペアに対応付けられたコードをブロックペアごとに抽出し、前記画像に複数回埋め込まれた一連のコードを判定する画像処理プログラムであって、
コンピュータに、
前記ブロックペアを構成する各ブロックの特徴量に基づいて、当該ブロックペアに対応付けられたコードの正解頻度を示す正解頻度情報を取得する取得手順と、
前記正解頻度情報を基にして各ブロックペアに対する重みを判定する重み判定手順と、
前記ブロックペアに対応付けられたコードに対して前記重み判定手順によって判定された重みで重み付けをして多数決を行い前記画像に埋め込まれた一連のコードを判定するコード判定手順と、
を実行させることを特徴とする画像処理プログラム。
【０１１４】
（付記１２）前記画像に埋め込まれた一連のコードは当該一連のコードを訂正する訂正コードを含み、前記コンピュータに、前記コード判定手順によって判定された一連のコードに含まれる訂正コードを基にして、当該一連のコードを訂正可能か否かを判定する訂正可否判定手順と、前記訂正可否判定手順の判定結果に基づいて前記正解頻度情報を更新する更新手順とを更に実行させることを特徴とする付記１１に記載の画像処理プログラム。
【０１１５】
（付記１３）前記正解頻度情報の初期値は、元の画像の画素値と前記コンピュータに入力された後の画像の画素値との対応関係に基づいて設定されていることを特徴とする付記１１または１２に記載の画像処理プログラム。
【０１１６】
（付記１４）前記コード判定手順は、正解頻度が閾値以上となるブロックペアから得られるコードのみを利用して前記画像に埋め込まれた一連のコードを判定することを特徴とする付記１１、１２または１３に記載の画像処理プログラム。
【０１１７】
（付記１５）画像を複数のブロックに分割し、ブロックペアを構成する各ブロックの特徴量に基づいてブロックペアに対応付けられたコードをブロックペアごとに抽出し、前記画像に複数回埋め込まれた一連のコードを判定する画像処理プログラムであって、
前記一連のコードは、当該コードを訂正する訂正コードを含み、
コンピュータに、
前記ブロックペアを構成する各ブロックの特徴量に基づいて、当該ブロックペアに対応付けられたコードの正解頻度を示す正解頻度情報を取得する取得手順と、
前記正解頻度情報を基にして各ブロックペアに対する重みを判定する重み判定手順と、
前記ブロックペアに対応付けられたコードに対して多数決を行い前記画像に埋め込まれた一連のコードを判定するコード判定手順と、
前記コード判定手順によって判定された一連のコードに含まれる訂正コードを基にして、当該一連のコードを訂正可能か否かを判定する訂正可否判定手順と、
前記訂正可否判定手順の判定結果に基づいて、前記ブロックペアに対応付けられたコードに対して前記重み判定手順によって判定された重みで重み付けをして多数決を行い前記画像に埋め込まれた一連のコードを再度判定するコード再判定手順と、
を実行させることを特徴とする画像処理プログラム。
【産業上の利用可能性】
【０１１８】
以上のように、本発明にかかる画像処理装置および画像処理方法は、画像に埋め込まれたコードを抽出する装置等に有用であり、特に、画像の画素値の影響を受けずにデコード性能を向上させる場合に適している。
【図面の簡単な説明】
【０１１９】
【図１】本実施例１にかかる画像処理装置の構成を示す機能ブロック図である。
【図２】正解頻度データのデータ構造の一例を示す図である。
【図３】重み付けを行って多数決を行う場合の処理を説明するための図である。
【図４】本実施例１にかかる画像処理装置の処理手順を示すフローチャートである。
【図５】正解頻度データの初期値の設定方法を説明するための図である。
【図６】正解頻度データのその他のデータ構造を示す図である。
【図７】本実施例２にかかる画像処理装置の構成を示す機能ブロック図である。
【図８】本実施例２にかかる画像処理装置の処理手順を示すフローチャートである。
【図９】図１あるいは図７に示した画像処理装置を構成するコンピュータのハードウェア構成を示す図である。
【図１０】従来の技術にかかる問題点を説明するための図（１）である。
【図１１】従来の技術にかかる問題点を説明するための図（２）である。
【符号の説明】
【０１２０】
５１    入力機器
５２    入力装置
５３    モニタ
５４    ＲＡＭ
５４ａ，５９ａ    各種データ
５５，１５０ａ，１５０ｂ，２５０ａ，２５０ｂ    レジスタ
５６    媒体読取装置
５７    ネットワークインターフェース
５８    ＣＰＵ
５８ａ  画像処理プロセス
５９    ＨＤＤ
５９ｂ  画像処理プログラム
１００，２００    画像処理装置
１１０，２１０    画像切出部
１２０，２２０    ブロック分割部
１３０，２３０    ブロック抽出部
１４０，２４０    平均化部
１６０，２６０    比較部
１７０，２７０    記憶部
１７０ａ，２７０ａ  正解頻度データ
１８０，２８０    デコード部
１９０，２９０    更新処理部
【図１】
2008219515.tif 000003
【図２】
2008219515.tif 000004
【図３】
2008219515.tif 000005
【図４】
2008219515.tif 000006
【図５】
2008219515.tif 000007
【図６】
2008219515.tif 000008
【図７】
2008219515.tif 000009
【図８】
2008219515.tif 000010
【図９】
2008219515.tif 000011
【図１０】
2008219515.tif 000012
【図１１】
2008219515.tif 000013