(57)【特許請求の範囲】
【請求項１】
付加情報が埋め込まれた画像データから前記付加情報を抽出する情報処理装置において、
前記画像データを複数の条件にしたがって分割し、該分割した隣接するブロックに含まれる特徴量の差異について前記条件毎に比較した結果に基づいて、前記画像データから前記付加情報を抽出する条件を推定する条件推定手段と、
該推定した条件にしたがって前記画像データにおける所定の領域を分割する領域分割手段と、
該分割して得るブロック毎の特徴量を取得し、隣接する前記ブロック毎に、該隣接するブロック間における前記特徴量の関係を該関係に対応する前記付加情報の一部または全部に変換して前記付加情報を抽出する付加情報抽出手段と、
該抽出した付加情報の正誤を判別し、正しいと判断した場合に前記付加情報を出力する付加情報出力手段と、
を備える画像処理装置。
【請求項２】
前記領域分割手段は、前記付加情報抽出手段で抽出した付加情報が正しい付加情報でないと判断した場合には、前記条件推定手段で推定した条件と異なる条件にしたがって前記画像データにおける所定の領域を分割する、
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記条件推定手段は、
前記画像データの一部の領域を前記画像データから付加情報を抽出する第１の条件にしたがって分割し、該分割して得るブロック毎の特徴量を取得し、該隣接するブロック間における前記特徴量の第１の差異を算出する第１の特徴量算出手段と、
前記一部の領域を前記第１の条件と分割数が異なる第２の条件にしたがって分割し、該分割して得るブロック毎の特徴量を取得し、該隣接するブロック間における前記特徴量の第２の差異を算出する第２の特徴量算出手段と、
前記第１の差異と前記第２の差異とを比較し、該比較の結果に応じて前記第１の条件および前記第２の条件のいずれかを前記付加情報を抽出する条件に選出する条件選出手段と、
を備える請求項１に記載の情報処理装置。
【請求項４】
付加情報が埋め込まれた画像データから前記付加情報を抽出する処理を情報処理装置に行なわせるためのプログラムにおいて、
前記画像データを記憶する画像データ記憶手段から前記画像データを読み出し、該画像データを複数の条件にしたがって分割し、該分割した隣接するブロックに含まれる特徴量の差異について前記条件毎に比較した結果に基づいて、前記画像データから前記付加情報を抽出する条件を推定する条件推定処理と、
該推定した条件にしたがって前記画像データにおける所定の領域を分割する領域分割処理と、
該分割して得るブロック毎の特徴量を取得し、隣接する前記ブロック毎に、該隣接するブロック間における前記特徴量の関係を該関係に対応する前記付加情報の一部または全部に変換して前記付加情報を抽出する付加情報抽出処理と、
該抽出した付加情報の正誤を判別し、正しいと判断した場合に前記付加情報を出力する付加情報出力処理と、
を情報処理装置に実行させるプログラム。
【請求項５】
付加情報が埋め込まれた画像データから前記付加情報を抽出するデコード方法において、
前記画像データを記憶する画像データ記憶手段から前記画像データを読み出し、該画像データを複数の条件にしたがって分割し、該分割した隣接するブロックに含まれる特徴量の差異について前記条件毎に比較した結果に基づいて、前記画像データから前記付加情報を抽出する条件を推定し、
該推定した条件にしたがって前記画像データにおける所定の領域を分割し、
該分割して得るブロック毎の特徴量を取得し、隣接する前記ブロック毎に、該隣接するブロック間における前記特徴量の関係を該関係に対応する前記付加情報の一部または全部に変換して前記付加情報を抽出し、
該抽出した付加情報の正誤を判別し、正しいと判断した場合に前記付加情報を出力する、
ことを特徴とするデコード方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データに埋め込まれた任意のデータを抽出する画像処理装置に関する。
【背景技術】
【０００２】
近年、デジタルデータや印刷画像（以下、「画像データ」という）に対して任意のデータ（以下、「付加情報」という）を埋め込む方法の開発が進められている。付加情報が埋め込まれた画像データは、例えば、ユーザインタフェースや、権利主張のために用いられている。
【０００３】
特許文献１には、画像をブロックに分割し、ペアブロック毎に階調レベルの大小関係と付加情報を構成するコードとを対応付けることによって、画像データに付加情報を埋め込む方法が開示されている。以下、画像データに付加情報を埋め込む処理を「エンコード」という。
【０００４】
上述の方法により付加情報が埋め込まれた画像データから当該付加情報を抽出する処理（以下、「デコード」という）を行なう場合、付加情報埋め込み時のブロック数などの条件を知っている必要がある。したがって、使用されているブロック数に複数の候補がある場合、各候補のブロック数を使用して固定の順番で順次デコードを行い、デコードに成功したものを出力するという方法が考えられる。
【０００５】
しかし、上述のデコード方法では、本来使用すべきブロック数の候補が順番の後の方にある場合、複数の候補のブロック数についてデコードを行なって初めてデコード結果が得られるため、デコードが完了するまでに時間がかかるという問題点があった。
【０００６】
例えば、（１）画像を３８ブロック×４８ブロックに分割して１２桁のデータ（２進数）を埋め込んだ場合におけるデコード、（２）画像を５４ブロック×６８ブロックを用いて２４桁のデータを埋め込んだ場合におけるデコード、の順番でデコードを行なう場合、場合（２）の画像からデータを得るためには場合（１）の処理を必ず行なわなければならない。
【特許文献１】特開２００４−３４９８７９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本発明は、上述した問題に鑑みてなされたものであり、その解決しようとする課題は、画像に埋め込まれた任意のデータを抽出する条件が複数考えられる場合であっても、高速にデコードを行なうことができる画像処理装置を提供することである。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本情報処理装置は、任意の付加情報が埋め込まれた画像データから前記付加情報を抽出する情報処理装置において、前記画像データを構成する情報の一部または全部を取得し、該取得した情報から、前記画像データから前記付加情報を抽出する条件を推定する条件推定手段と、該推定した条件にしたがって前記画像データにおける所定の領域を分割する領域分割手段と、該分割して得るブロック毎の特徴量を取得し、隣接する前記ブロック毎に、該隣接するブロック間における前記特徴量の関係を該関係に対応する前記付加情報の一部または全部に変換して前記付加情報を抽出する付加情報抽出手段と、該抽出した付加情報の正誤を判別し、正しいと判断した場合に前記付加情報を出力する付加情報出力手段と、を備える。
【０００９】
本情報処理装置によると、条件推定手段が、画像データを構成する情報の一部または全部を取得し、取得した情報から、画像データから付加情報を抽出する条件を推定する。そして、付加情報抽出手段が、推定した条件にしたがって領域分割手段が分割したブロックにおける隣接するブロック間の特徴量の関係を、対応する付加情報の一部または全部に変換して付加情報を抽出する。
【００１０】
したがって、画像データから付加情報を抽出する条件が複数存在する場合であっても、画像データからの付加情報の抽出に失敗する可能性を十分低く抑えることが可能となる。その結果、画像データから付加情報を抽出する条件が複数存在する場合であっても、高速に画像データから付加情報を抽出することが可能となる。
【発明の効果】
【００１１】
以上に説明したように、本発明によると、画像に埋め込まれた任意のデータを抽出する条件が複数考えられる場合であっても、高速にデコードを行なうことができる画像処理装置を提供することが可能となる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の実施形態について、図１〜図１２に基づいて説明する。
図１は、本実施例に係る画像処理装置１００の概要を説明する図である。
本実施例に係る画像処理装置１００は、任意の付加情報が埋め込まれた画像データ（以下、単に「画像データ」という）から付加情報を抽出する条件（以下、「デコード条件」という）を推定する条件推定手段１０１と、画像データに係る画像領域を分割する領域分割手段１０２と、分割した領域（以下、「ブロック」という）間の特徴量の関係から付加情報を抽出する付加情報抽出手段１０３と、抽出した付加情報を出力する付加情報出力手段１０４と、を備える。なお、「画像データに係る画像領域」とは、画像データをディスプレイ等の表示装置に表示した時の画像の領域のことをいう。
【００１３】
本実施例に係る画像データは、画像データに係る画像領域を複数のブロックに分割し、隣接する２つのブロック（以下、「ペアブロック」という）毎に、ペアブロックにおけるブロック間の特徴量の関係（例えば、階調レベルの大小関係）と、所定のコード（例えば、「０」または「１」）と、を１対１に対応するように特徴量の関係を調整することによって、付加情報を示すコード（２進数、以下、「情報コード」という）を埋め込んだ画像データである。
【００１４】
条件推定手段１０１は、画像データから、画像データを構成する情報の一部または全部を取得し、取得した情報に基づいてデコード条件を推定する。
ここで、「画像データを構成する情報」とは、例えば、画像データに係る画像における各画素の階調情報（例えば、ＲＧＢ値）である。あるいは、画像データに係る画像のアスペクト比である。
【００１５】
また、デコード条件とは、例えば、付加情報を画像データに埋め込むエンコード処理の条件である。具体的には、エンコード時に分割するブロック数やブロックサイズ、情報コードの桁数などである。
【００１６】
領域分割手段１０２は、デコード条件にしたがって画像データに係る画像領域を、複数のブロックに分割する。
付加情報抽出手段１０３は、ブロック毎の特徴量を算出し、各ペアブロックにおけるブロック間の特徴量の関係を、当該関係と対応付けられた情報コードに変換する。そして、得られた情報コードを付加情報に変換して付加情報を抽出する。
【００１７】
ここで、「特徴量」とは、例えば、各ブロックにおけるＲＧＢ値（例えば、ブルーの値）の階調レベルである。この場合、「ブロック間の特徴量の関係」とは、例えば、ブロック間における階調レベルの大小関係である。しかし、これに限定する趣旨ではなく、ブロック内における所定の領域（例えば、ブロックの中心部分）の濃度の平均値や彩度の平均値の平均値などブロック内の画像を特徴付ける指標であればよい。
【００１８】
付加情報出力手段１０４は、付加情報出力手段１０４が抽出した付加情報を、あらかじめ決められた装置（例えば、図示しない表示装置、記憶装置）等に出力する。
（第１の実施例）
図２は、本実施例に係る画像データ２００を説明する図である。
【００１９】
本実施例に係る画像データ２００は、以下の何れかのエンコード条件によりエンコードされた画像データである。
（１）画像データ２０１は、画像データに係る画像を、縦４８ブロック、横３８ブロックに分割して１２桁のコードを複数個埋め込んだ画像データである。以下、このエンコード条件を「第１のエンコード条件」といい、この画像データ２０１をデコードする条件を「第１のデコード条件」という。
【００２０】
（２）画像データ２０２は、画像データに係る画像を、縦６８ブロック、横５４ブロックに分割して２４桁のコードを複数個埋め込んだ画像データである。以下、このエンコード条件を「第２のエンコード条件」といい、この画像データ２０２をデコードする条件を「第２のデコード条件」という。
【００２１】
なお、本実施例では、上記２つのデコード条件を用いてデコードできる画像処理装置１００について説明するが、これに限定する趣旨ではないのは当然である。必要に応じて、２以上のデコード条件にしたがってデコードを行なうようにしてもよい。
【００２２】
図３は、本実施例に係る画像処理装置１００の動作を説明するフローチャートである。
画像処理装置１００は、画像データのデコード処理を開始すると、処理をステップＳ３０１に移行する。
【００２３】
ステップＳ３０１において、画像処理装置１００は、画像データが記憶されている外部記憶装置１２５から所望の画像データ読み出し、あらかじめ決められた画像データに係る画像の一部の領域（以下、「評価領域」という）の情報を取得する。そして、当該領域を分割してペアブロックを取得する。
【００２４】
例えば、画像処理装置１００は、評価領域を第１のデコード条件（横方向のブロック数に限る）にしたがって分割したペアブロック（以下、「第１のペアブロック」という）を取得する。同様に、画像処理装置１００は、評価領域を第２のデコード条件（横方向のブロック数に限る）にしたがって分割したペアブロック（以下、「第２のペアブロック」という）を取得する。
【００２５】
なお、第１および第２のデコード条件は、画像処理装置１００に備わる外部記憶装置１２５等にあらかじめ記憶しておき、必要に応じて読み出すようにすればよい。
ここで、第１のデコード条件にしたがって評価領域を分割して第１のペアブロックを取得する処理について図４を用いて説明する。
【００２６】
図４に示すように、本実施例に係る画像処理装置１００は、画像データ２００に係る画像の中央部の領域を評価領域４００として取得する。ただし、評価領域を図４に示す領域
に限定する趣旨ではない。評価領域は、第１または第２のデコード条件にしたがって必要な桁数のコードが抽出可能な領域であれば画像データに係る画像のいずれの領域でもよい。
【００２７】
本実施例に係る評価領域４００は、横幅は画像データに係る画像の横幅と同じであるが、縦幅ｄは１画素である。したがって、第１のデコード条件にしたがって横方向３８ブロックに分割して第１のペアブロックを生成する。なお、縦幅を１画素に限定する趣旨でないのは当然である。
【００２８】
第２のデコード条件にしたがって評価領域を分割して第２のペアブロックを取得する場合も同様である。
上述のように第１および第２のペアブロックを取得すると、画像処理装置１００は、処理をステップＳ３０２に移行する。
【００２９】
ステップＳ３０２において、画像処理装置１００は、第１のペアブロックについて、ブロックペア毎にブロックペア間の階調レベルの差を算出し、階調レベルの差の平均Ｄ１を算出する。同様に、画像処理装置１００は、第２のペアブロックについて、階調レベルの差の平均Ｄ２を算出する。
【００３０】
ここで、第１および第２のペアブロックにおける階調レベルの差の平均と、適用するデコード条件との関係について図５および図６を用いて説明する。
図５は、第１のエンコード条件でエンコードされた画像データの評価領域における各ブロックペアの階調レベルの差を示す図である。横軸は、評価領域におけるブロックペアの中心位置を示し、縦軸は、階調レベルを示す。本実施例では、画像データが有するＲＧＢ値のブルーの値についての階調レベルを使用しているが、他の１または２以上のＲＧＢ値を使用してもよいし、グレースケール等を使用してもよい。
【００３１】
そして、図５に示す実践は、第１のデコード条件（横方向のブロック数に限る）にしたがって評価領域を分割した第１のブロックペアにおける各ブロック間の階調レベルの差を示し、一点破線は、第２のデコード条件（横方向のブロック数に限る）にしたがって評価領域を分割した第２のブロックペアにおける各ブロック間の階調レベルの差を示している。
【００３２】
図５に示すように、第１のエンコード条件でエンコードされた画像データの場合、第１のブロックペアにおける各ブロック間の階調レベルの差が、第２のブロックペアにおける各ブロック間の階調レベルの差より大きくなることがわかる。
【００３３】
すなわち、第１のエンコード条件でエンコードされた画像データの場合、第１のブロックペアにおける階調レベルの差の平均Ｄ１が、第２のブロックペアにおける階調レベルの差の平均Ｄ２より大きくなる。
【００３４】
図６は、第２のエンコード条件でエンコードされた画像データの評価領域における各ブロックペアの階調レベルの差を示す図である。図５と同様に、横軸は、評価領域におけるブロックペアの位置を示し、縦軸は、階調レベルを示す。
【００３５】
また、図６に示す実践は、第１のデコード条件（横方向のブロック数に限る）にしたがって評価領域を分割した第１のブロックペアにおける各ブロック間の階調レベルの差を示し、一点破線は、第２のデコード条件（横方向のブロック数に限る）にしたがって評価領域を分割した第２のブロックペアにおける各ブロック間の階調レベルの差を示している。
【００３６】
図６に示すように、第２のエンコード条件でエンコードされた画像データの場合、第２のブロックペアにおける各ブロック間の階調レベルの差が、第１のブロックペアにおける各ブロック間の階調レベルの差より大きくなることがわかる。
【００３７】
すなわち、第２のエンコード条件でエンコードされた画像データの場合、第２のブロックペアにおける階調レベルの差の平均Ｄ２が、第１のブロックペアにおける階調レベルの差の平均Ｄ１より大きくなる。
【００３８】
ステップＳ３０２において、階調レベルの差の平均Ｄ１およびＤ２を算出すると、画像処理装置１００は、処理をステップＳ３０３に移行する。
ステップＳ３０３において、画像処理装置１００は、階調レベルの差の平均Ｄ１とＤ２とを比較する。そして、Ｄ１＞Ｄ２の場合、画像処理装置１００は、処理をステップＳ３０４に移行し、第１のデコード条件を優先的に使用するように設定する。また、Ｄ１≦Ｄ２の場合、画像処理装置１００は、処理をステップＳ３０５に移行し、第２のデコード条件を優先的に使用するように設定する。
【００３９】
ステップＳ３０４またはＳ３０５において、デコード条件の優先度の設定が完了すると、画像処理装置１００は、処理をステップＳ３０６に移行する。そして、画像処理装置１００は、優先度の高いデコード条件にしたがって画像データのデコードを実行する。
【００４０】
ステップＳ３０７において、画像処理装置１００は、ステップＳ３０６でデコードした結果得られる情報コードに基づいてデコードが成功したか否かを判断する。例えば、あらかじめ情報コードにエラーチェック用のコード（例えば、パリティコードやＥＣＣなど）を付加したものを画像データに埋め込んでおき、ステップＳ３０６でデコードした結果得られる情報コードについてエラーチェックを行なえばよい。
【００４１】
ステップＳ３０７において、デコードが成功したと判断すると、画像処理装置１００は、処理をステップＳ３０８に移行する。そして、デコードによって抽出した付加情報を、表示装置や外部記憶装置１２５等に出力する。
【００４２】
ステップＳ３０７において、デコードが失敗したと判断すると、画像処理装置１００は、処理をステップＳ３０９に移行し、全てのデコード条件についてデコードを実行したか否かを判断する。
【００４３】
そして、実行していないデコード条件があると判断した場合、画像処理装置１００は、処理をステップＳ３１０に移行する。そして、他のデコード条件を取得し、処理をステップＳ３０６に移行する。
【００４４】
また、全てのデコード条件についてデコードを実行したと判断した場合、画像処理装置１００は、処理をステップＳ３１１に移行する。そして、例えば、表示装置等にデコードが失敗した旨のメッセージ等を表示し、デコード処理を終了する。
【００４５】
なお、本実施例では、画像処理装置１００が２つのデコード条件を備える場合について説明したが、３つ以上のデコード条件を備えてもよい。この場合、例えば、ステップＳ３０２において、デコード条件毎に評価領域におけるペアブロックの階調レベルの差の平均Ｄ１、Ｄ２、Ｄ３、・・・を算出し、ステップＳ３０３において、階調レベルの差の平均が大きい順にソートし、ソートした順にデコード条件を適用してステップＳ３０６〜Ｓ３１２の処理を実行すればよい。
【００４６】
図７は、本実施例に係る画像データ２００の具体的な構成を説明する図である。なお、
図７には、第１のエンコード条件にしたがって生成された画像データの場合について示しているが、第２のエンコード条件にしたがって生成された画像データも同様である。
【００４７】
以下、説明を簡単にするために図７に示す矢印ａの方向を「横方向」、矢印ｂの方向を「縦方向」という。
画像データに係る画像領域は、縦方向に４８ブロック、横方向に３８ブロックに分割できる。そして、横方向に隣接する２つのブロックをペアブロックとする。図７は、画像領域を、領域Ｌ００１、Ｒ００１、Ｌ００２、Ｒ００２、・・・、Ｌ９１２、Ｒ９１２に分割した場合を示している。
【００４８】
この場合、領域Ｌ００１とＲ００１、Ｌ００２とＲ００２、・・・、Ｌ９１２とＲ９１２がペアブロックとなる。以下、例えば、ブロックＡ及びＢで構成されるペアブロックを（Ａ，Ｂ）と表記する。
【００４９】
画像領域に付加情報を埋め込む場合、画像領域からペアブロック（Ｌ００１，Ｒ００１）を読み出す。そして、領域Ｌ００１とＲ００１についての平均濃度ｄ１、ｄ２を算出する。そして、情報コード「０」を埋め込む場合には、「ｄ１＜ｄ２」の関係となるように平均濃度ｄ１及びｄ２を調整し、情報コード「１」を埋め込む場合には、「ｄ１≧ｄ２」の関係となるように平均濃度ｄ１及びｄ２が調整される。
【００５０】
同様に、画像領域を横方向に、ペアブロック（Ｌ００２，Ｒ００２）、（Ｌ００３，Ｒ００３）、・・・、（Ｌ９１２，Ｒ９１２）を取得し、各情報コードと対応するように、各ペアブロックの平均濃度ｄ１及びｄ２を調整する。
【００５１】
なお、図７では分割したブロックについて、横方向に隣接する２つのブロックをペアブロックとした場合の例について示したが、例えば、縦方向に隣接する２つのブロックをペアブロックとしてもよい。また、ブロック全体の平均濃度（ｄ１、ｄ２など）を算出しているが、例えば、ブロックの中心分の所定の領域における平均濃度を使用してもよい。
【００５２】
図８は、本実施例に係るデコード処理（ステップＳ３０６）の具体的な処理を示すフローチャートである。
ステップＳ８０１において、画像処理装置１００は、画像データに係る画像領域を、ステップＳ３０４またはＳ３０５で設定したデコード条件にしたがって分割し、ペアブロックを抽出する。そして、処理をステップＳ８０２に移行する。
【００５３】
ステップＳ８０２において、画像処理装置１００は、カウンタを０に初期化する。ここで、カウンタとは、付加情報をコード化したビット列のビット番号を保持するための変数である。例えば、情報コードが「１０１１００１０１１００（２進数）」の場合、最上位ビットから順に「１」、「０」、「１」、「１」、「０」、「０」、・・・、を画像データに埋め込む。この時、カウンタ値は順に、「０」、「１」、「２」、「３」、「４」、「５」、・・・、とカウントされる。
【００５４】
ステップＳ８０３において、画像処理装置１００は、ステップＳ８０１で取得したペアブロックの各ブロックの平均濃度ｄ１、ｄ２を算出する。そして、画像処理装置１００は、処理をステップＳ８０４に移行する。
【００５５】
ステップＳ８０４において、画像処理装置１００は、ステップＳ８０３で算出した平均濃度ｄ１とｄ２とを比較する。
ステップＳ８０５において、ステップＳ８０４における比較の結果、平均濃度がｄ１＜ｄ２の関係にある場合、画像処理装置１００は、処理をステップＳ８０６に移行する。そ
して、画像処理装置１００は、当該ペアブロックに対応する情報コード「０」を生成する。
【００５６】
ステップＳ８０５において、ステップＳ８０４における比較の結果、平均濃度がｄ１≧ｄ２の関係にある場合、画像処理装置１００は、処理をステップＳ８０７に移行する。そして、画像処理装置１００は、当該ペアブロックに対応する情報コード「１」を生成する。
【００５７】
ステップＳ８０８において、画像処理装置１００は、カウンタ値を１だけインクリメントする。そして、処理をステップＳ８０９に移行する。
ステップＳ８０９において、画像処理装置１００は、情報コードの全ビット（すなわち、デコード条件の桁数のビット列）についてステップＳ８０３〜Ｓ８０７のデコード処理が完了したか否かを判別する。
【００５８】
例えば、画像処理装置１００は、カウント値とデコード条件の桁数Ｍとを比較し、カウンタ値がＭ以上の場合、情報コードの全ビットについてステップＳ８０３〜Ｓ８０７のデコード処理が完了したと判断して、処理をステップＳ８１０に移行する。
【００５９】
また、カウンタ値がＭより小さい場合、情報コードの全ビットについてステップＳ８０３〜Ｓ８０７のデコード処理が完了していないと判断する。そして、処理をステップＳ８０１１に移行する。
【００６０】
ステップＳ８１０において、画像処理装置１００は、カウンタを０に初期化する。そして、処理をステップＳ８１１に移行する。
ステップＳ８１１において、画像処理装置１００は、画像領域内の全ブロックについて、ステップＳ８０３〜Ｓ８１０の処理を行なったか否かを判断する。そして、全ブロックに対して、ステップＳ８０３〜Ｓ８１０の処理が完了した場合には、処理をステップＳ８１２に移行する。
【００６１】
また、全ブロックに対して、ステップＳ８０３〜Ｓ８１０の処理が完了していない場合には、処理をステップＳ８０３に移行する。そして、ステップＳ８０３〜Ｓ８１１の処理を繰返し行なう。
【００６２】
以上の処理によって、画像処理装置１００は、画像領域に繰り返し埋め込まれている情報コードを画像データから抽出することとなる。
ステップＳ８１２において、画像処理装置１００は、ステップＳ８０３〜Ｓ８１１の処理によって取得した複数の情報コードに対して、後述する多数決判定処理を行なって１の情報コードを決定する。
【００６３】
ステップＳ８１３において、画像処理装置１００は、ステップＳ８１２で決定した情報コードを付加情報に変換する。そして、ステップＳ８１４に移行してデコード処理を終了する。
【００６４】
なお、情報コードを付加情報に変換するに際し、あらかじめ情報コードと付加情報とを対応付けたテーブル等を使用してもよいし、情報コードにＪＩＳコード等を使用してもよい。
【００６５】
図９は、本実施例に係るデコード処理における多数決判定処理の概要を説明する図である。なお、図９には、第１のデコード条件（情報コードが１２桁）の場合について示しているが、第２のデコード条件（情報コードが２４桁）の場合についても同様である。
【００６６】
図９に示す「ｃ００１、ｃ００２、・・・、ｃ００１２」、「ｃ０１３、ｃ０１４、・・・、ｃ００２４」、「ｃ０２５、ｃ０２６、・・・、ｃ００３６」、・・・、「ｃ１０９、ｃ１１０、・・・、ｃ１２０」は、図８に示したステップＳ８０３〜Ｓ８１１の処理によって読み出された情報コードを示している。
【００６７】
画像処理装置１００は、ビット毎に最も多い値を抽出する。例えば、画像処理装置１００は、ｂｉｔ１のビットについて、ｃ００１、ｃ０１３、ｃ０２５、・・・、ｃ１０９の中で最も多い値を抽出する。そして、抽出した値をｂｉｔ１の値に決定する。同様に、ｂｉｔ２、ｂｉｔ３、・・・・、ｂｉｔ１２の各ビットも決定する。
【００６８】
以上の多数決処理によって、決まったビット列を情報コードに決定する。
（第２の実施例）
図１０は、本実施例に係る画像処理装置１００の動作を説明するフローチャートである。
【００６９】
画像処理装置１００は、画像データのデコード処理を開始すると、処理をステップＳ１００１に移行する。
ステップＳ１００１において、画像処理装置１００は、画像データが記憶されている外部記憶装置１２５から所望の画像データ読み出す。そして、例えば、画像データのヘッダ情報を参照して、縦横の画素数を取得する。そして、画像データに係る画像のアスペクト比を算出する。
【００７０】
画像データに係る画像のアスペクト比を算出すると、画像処理装置１００は、処理をステップＳ１００２に移行する。
ここで、本実施例では、図１１に示すように、画像データに係る画像のアスペクト比が「１：１〜１：１．２」の範囲である場合、画像データに係る画像領域を縦：４２ブロック、横：４２ブロックに分割してデコード処理を行なう。以下、この条件を「第３のデコード条件」という。
【００７１】
また、画像データに係る画像のアスペクト比が「１：１．２〜１：１．４」の範囲である場合、画像データに係る画像領域を縦４８ブロック、横３８ブロックに分割してデコード処理を行なう。以下、この条件を「第４のデコード条件」という。
【００７２】
ステップＳ１００２において、画像処理装置１００は、アスペクト比が１．２より小さい場合、処理をステップＳ１００３に移行し、第３のデコード条件を優先的に使用するように設定する。また、アスペクト比が１．２以上の場合、処理をステップＳ１００４に移行し、第４のデコード条件を優先的に使用するように設定する。
【００７３】
ステップＳ１００３またはＳ１００４において、優先度の設定が完了すると、画像処理装置１００は、処理をステップＳ１００５に移行する。そして、画像処理装置１００は、優先度の高いデコード条件を、画像処理装置１００に備わる外部記憶装置１２５等から読み出し、当該デコード条件にしたがって画像データのデコード処理を実行する。
【００７４】
以降のステップＳ１００５〜Ｓ１０１１の処理は、図３に示したステップＳ３０６〜Ｓ３１２で説明した処理と同じなので省略する。
なお、本実施例においても、画像処理装置１００が２つのデコード条件を備える場合について説明したが、第１の実施例と同様に、３つ以上のデコード条件を備えてもよい。この場合、例えば、あらかじめアスペクト比の範囲「１：１〜１：１．２」、「１：１．２〜１：１．３」、「１：１．３〜１：１．４」、・・・に応じて優先するデコード条件を
記憶しておき、ステップＳ１００２において、ステップＳ１００１で算出したアスペクト比に応じて優先するデコード条件を決定すればよい。
【００７５】
図１２に示す画像処理装置１００は、周辺機器や各種ソフトウェアを実行する他に本実施例に係る画像処理を実現するプログラムを実行するＣＰＵ１２１と、プログラムを実行するために使用される揮発性のメモリ１２２（例えば、ＲＡＭ）と、外部からのデータ入力手段である入力装置１２３（例えば、キーボードやマウス）と、データ等を表示する出力装置１２４と、画像処理装置１００が動作するために必要なプログラムやデータの他に本実施例に係る画像処理を実現するプログラムを記録する外部記録装置１２５と、メモリ１２２や外部記録装置１２５のデータを可搬記録媒体１２７（例えば、フロッピイディスクやＭＯディスク、ＣＤ−ＲやＤＶＤ−Ｒなど）に出力し、あるいは、可搬記録媒体１２７からプログラムやデータ等を読み出す媒体駆動装置１２６と、ネットワーク１２９に接続するネットワーク接続装置１２８と、を有し、これらの装置がバス１２０に接続されて相互にデータの受け渡しが行なえる構成となっている。なお、上述の全ての装置が必須という趣旨ではなく、適宜必要となる装置を用いて画像処理装置１００を構成すればよい。
【００７６】
上述の構成において、条件推定手段、領域分割手段、付加情報抽出手段および付加情報出力手段は、所定のプログラムの命令をＣＰＵ１２１に実行させることによって実現することができる。
【００７７】
以上に説明した第１の実施例に係る推定処理（ステップＳ３０１〜Ｓ３０５）と第２の実施例に係る推定処理（ステップＳ１００１〜Ｓ１００４）は、組み合わせて実施することも可能である。すなわち、ステップＳ３０４およびＳ３０５の処理の後に、ステップＳ１００１〜Ｓ１００４の処理を実施してもよいし、ステップＳ１００３およびＳ１００４の処理の後に、ステップＳ３０１〜Ｓ３０５の処理を実施することも可能である。
【００７８】
以上に説明したように、本実施例に係る画像処理装置１００は、図３のステップＳ３０１〜Ｓ３０５や図１０のステップＳ１００１〜Ｓ１００４に示したように、画像データを構成する情報の一部または全部を利用して、当該画像データに適用すべきデコード条件を推定する。そして、推定したデコード条件を優先的に用いて画像データに対するデコードを行なう。
【００７９】
その結果、デコードに失敗する確率を低く抑えることができるので、デコード条件が複数考えられる場合であっても、無駄な時間を費やすことなく高速にデコードを完了することが可能となる効果を奏する。
【００８０】
また、複数のデコード条件が考えられる画像データであっても、高速にデコードすることが可能となるので、複数のエンコード条件でエンコードすることが可能となるなどエンコード装置における自由度も向上する効果を奏する。
【００８１】
例えば、分割するブロックのブロックサイズ、ブロックの縦横比、ブロック数等を画像データのアスペクト比等に応じて、デコード装置が既知の条件の範囲内で臨機応変に変更してエンコードすることが可能となる。
【００８２】
以上の実施例１〜２を含む実施形態に関し、さらに以下の付記を開示する。
（付記１）  任意の付加情報が埋め込まれた画像データから前記付加情報を抽出する情報処理装置において、
前記画像データを構成する情報の一部または全部を取得し、該取得した情報から、前記画像データから前記付加情報を抽出する条件を推定する条件推定手段と、
該推定した条件にしたがって前記画像データにおける所定の領域を分割する領域分割手
段と、
該分割して得るブロック毎の特徴量を取得し、隣接する前記ブロック毎に、該隣接するブロック間における前記特徴量の関係を該関係に対応する前記付加情報の一部または全部に変換して前記付加情報を抽出する付加情報抽出手段と、
該抽出した付加情報の正誤を判別し、正しいと判断した場合に前記付加情報を出力する付加情報出力手段と、
を備える画像処理装置。
（付記２）  前記抽出した付加情報が正しい付加情報でないと判断した場合には、前記推定した条件と異なる条件にしたがって前記画像データにおける所定の領域を分割する、
ことを特徴とする付記１に記載の画像処理装置。
（付記３）  前記条件推定手段は、
前記画像データにおける任意の一部の領域を第１の条件にしたがって分割し、該分割して得るブロック毎の特徴量を取得し、該隣接するブロック間における前記特徴量の第１の差異を算出する第１の特徴量算出手段と、
前記一部の領域を第２の条件にしたがって分割し、該分割して得るブロック毎の特徴量を取得し、該隣接するブロック間における前記特徴量の第２の差異を算出する第２の特徴量算出手段と、
前記第１の差異と前記第２の差異とを比較し、該比較の結果に応じて前記条件に選出する条件選出手段と、
を備える付記１に記載の情報処理装置。
（付記４）  前記第１および第２の条件は、前記所定の領域を分割して得るブロック数、であることを特徴とする付記３に記載の情報処理装置。
（付記５）  前記第１および第２の条件は、前記所定の領域を分割するブロックのサイズ、であることを特徴とする付記３に記載の情報処理装置。
（付記６）  前記条件選出手段は、前記第１の差異と前記第２の差異とを比較し、より大きい差異が得られる条件を、前記画像データから前記付加情報を抽出する条件に選出する、ことを特徴とする付記３に記載の情報処理装置。
（付記７）  前記条件推定手段は、前記画像データのアスペクト比を取得し、該アスペクト比に応じて前記条件を選出する、ことを特徴とする付記１記載の情報処理装置。
（付記８）  前記特徴量は、前記ブロックにおける階調レベルである、ことを特徴とする付記１に記載の情報処理装置。
（付記９）  任意の付加情報が埋め込まれた画像データから前記付加情報を抽出する処理を情報処理装置に行なわせるためのプログラムにおいて、
前記画像データを記憶する画像データ記憶手段から前記画像データを読み出し、該画像データを構成する情報の一部または全部を取得し、該取得した情報から、前記画像データから前記付加情報を抽出する条件を推定する条件推定処理と、
該推定した条件にしたがって前記画像データにおける所定の領域を分割する領域分割処理と、
該分割して得るブロック毎の特徴量を取得し、隣接する前記ブロック毎に、該隣接するブロック間における前記特徴量の関係を該関係に対応する前記付加情報の一部または全部に変換して前記付加情報を抽出する付加情報抽出処理と、
該抽出した付加情報の正誤を判別し、正しいと判断した場合に前記付加情報を出力する付加情報出力処理と、
を情報処理装置に実行させるプログラム。
（付記１０）  任意の付加情報が埋め込まれた画像データから前記付加情報を抽出するデコード方法において、
前記画像データを記憶する画像データ記憶手段から前記画像データを読み出し、該画像データを構成する情報の一部または全部を取得し、該取得した情報から、前記画像データから前記付加情報を抽出する条件を推定し、
該推定した条件にしたがって前記画像データにおける所定の領域を分割し、
該分割して得るブロック毎の特徴量を取得し、隣接する前記ブロック毎に、該隣接するブロック間における前記特徴量の関係を該関係に対応する前記付加情報の一部または全部に変換して前記付加情報を抽出し、
該抽出した付加情報の正誤を判別し、正しいと判断した場合に前記付加情報を出力する、
ことを特徴とするデコード方法。
【図面の簡単な説明】
【００８３】
【図１】本実施例に係る画像処理装置の概要を説明する図である。
【図２】第１の実施例に係る画像データを説明する図である。
【図３】第１の実施例に係る画像処理装置の動作を説明するフローチャートである。
【図４】第１のデコード条件にしたがって評価領域を分割して第１のペアブロックを取得する処理を説明する図である。
【図５】第１および第２のペアブロックにおける階調レベルの差の平均と、適用するデコード条件との関係について説明する図である。
【図６】第１および第２のペアブロックにおける階調レベルの差の平均と、適用するデコード条件との関係について説明する図である。
【図７】第１の実施例に係る画像データの具体的な構成を説明する図である。
【図８】第１の実施例に係るデコード処理（ステップＳ３０６）の具体的な処理を示すフローチャートである。
【図９】第１の実施例に係るデコード処理における多数決判定処理の概要を説明する図である。
【図１０】第２の実施例に係る画像処理装置の動作を説明するフローチャートである。
【図１１】第２の実施例に係るデコード条件について説明する図である。
【図１２】本実施例に係る画像処理装置の構成例を示す図である。
【符号の説明】
【００８４】
１００      画像処理装置
１０１      条件推定手段
１０２      領域分割手段
１０３      付加情報抽出手段
１０４      付加情報出力手段
【図１】
0005035047.tif 000002
【図３】
0005035047.tif 000003
【図４】
0005035047.tif 000004
【図５】
0005035047.tif 000005
【図６】
0005035047.tif 000006
【図７】
0005035047.tif 000007
【図８】
0005035047.tif 000008
【図９】
0005035047.tif 000009
【図１０】
0005035047.tif 000010
【図１２】
0005035047.tif 000011
【図２】
0005035047.tif 000012
【図１１】
0005035047.tif 000013