(57)【特許請求の範囲】
【請求項１】
情報が視認し難いように埋め込まれた印刷物の撮像画像から、該情報を抽出する情報処理装置であって、
画像を撮像する撮像手段と、
前記撮像手段により撮像された前記印刷物の撮像画像から前記情報を抽出する抽出手段と、
前記抽出手段による抽出が開始され且つ前記印刷物上の複数箇所に対応する前記撮像画像中の複数領域から所定の情報が抽出されない場合には、前記撮像画像に対する解析に基づいて、前記情報処理装置と前記印刷物との位置関係に応じた第１の報知を行う報知手段と
を備え、
前記複数領域から前記所定の情報が抽出されない場合には、前記撮像手段により連続的に撮像される複数の撮像画像のそれぞれに基づいて、前記報知手段による前記第１の報知が連続的に行われ、
前記複数領域から前記所定の情報が抽出された場合には、前記抽出手段は前記印刷物の撮像画像から更に付加情報を抽出し且つ前記報知手段は第２の報知を行う
ことを特徴とする情報処理装置。
【請求項２】
前記第２の報知は、進行状況の報知を含むことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記印刷物には、前記付加情報の符号よりも高速に抽出可能な方法で埋め込まれた画像情報が前記所定の情報として印刷されていることを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記第２の報知は、前記情報処理装置の位置を変化させないことを促す報知を含むことを特徴とする請求項１に記載の情報処理装置。
【請求項５】
前記印刷物上の複数箇所は、前記印刷物における所定の複数の箇所であることを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
前記所定の複数の箇所は、前記印刷物の互いに異なる端部における箇所であることを特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記第２の報知は、前記付加情報の抽出が可能である旨の報知を含むことを特徴とする請求項１乃至６のいずれか１項に記載の情報処理装置。
【請求項８】
前記第１の報知は、前記付加情報の抽出が不可能である旨の報知を含むことを特徴とする請求項１乃至７の何れか１項に記載の情報処理装置。
【請求項９】
前記第１の報知は、前記複数領域から前記所定の情報を抽出するための位置に前記情報処理装置の移動を促す報知であることを特徴とする請求項１乃至８の何れか１項に記載の情報処理装置。
【請求項１０】
前記報知手段は、前記複数領域のうちの前記所定の情報が抽出された一部の領域に基づき、前記第１の報知を行うことを特徴とする請求項９に記載の情報処理装置。
【請求項１１】
前記第１の報知は、前記情報処理装置を移動させることで前記印刷物に対する前記情報処理装置の傾きを正すことを促す報知であることを特徴とする請求項９または１０に記載の情報処理装置。
【請求項１２】
前記第１の報知および前記第２の報知は、ディスプレイの表示による報知であることを特徴とする請求項１乃至１１のいずれか１項に記載の情報処理装置。
【請求項１３】
前記第１の報知および前記第２の報知は、スピーカからの音の出力による報知であることを特徴とする請求項１乃至１１の何れか１項に記載の情報処理装置。
【請求項１４】
前記情報処理装置は、カメラ付き携帯端末であることを特徴とする請求項１乃至１３の何れか１項に記載の情報処理装置。
【請求項１５】
情報が視認し難いように埋め込まれた印刷物の撮像画像から、該情報を抽出する情報処理装置が行う情報処理方法であって、
前記情報処理装置の抽出手段が、撮像手段により撮像された前記印刷物の撮像画像から前記情報を抽出する抽出工程と、
前記情報処理装置の報知手段が、前記抽出手段による抽出が開始され且つ前記印刷物上の複数箇所に対応する前記撮像画像中の複数領域から所定の情報が抽出されない場合には、前記撮像画像に対する解析に基づいて、前記情報処理装置と前記印刷物との位置関係に応じた第１の報知を行う報知工程と
を備え、
前記複数領域から前記所定の情報が抽出されない場合には、前記撮像手段により連続的に撮像される複数の撮像画像のそれぞれに基づいて、前記報知工程による前記第１の報知が連続的に行われ、
前記複数領域から前記所定の情報が抽出された場合には、前記抽出工程では前記印刷物の撮像画像から更に付加情報を抽出し且つ前記報知工程では第２の報知を行う
ことを特徴とする情報処理方法。
【請求項１６】
コンピュータを、請求項１乃至１４の何れか１項に記載の情報処理装置の前記撮像手段を除く各手段として機能させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像に多重化された情報の抽出技術に関するものである。
【背景技術】
【０００２】
近年では、電子透かし技術と称し、写真、絵画等の画像情報中に、その著作者名や、使用許可の可否等の付加情報を視覚的に判別しづらい様に多重化して、インターネット等のネットワークを通じて流通する技術が標準化されつつある。
【０００３】
また、他の応用分野としては、複写機、プリンタ等の画像出力装置の高画質化に伴い、紙幣、印紙、有価証券等の不正な偽造を防止する目的で、紙上に出力された画像から出力機器、及び、その機体番号を特定する為に、画像中に付加情報を埋め込む技術がある。
【０００４】
視覚的に判別しづらいように付加情報を埋め込む事は、視覚的に写真や絵画等の印刷物の邪魔をしないというメリットがある一方で、付加情報が埋め込まれている事が視覚的に判別できないというデメリットがあった。付加情報が埋め込まれている事を判別するには付加情報分離装置で実際に付加情報を解析することが考えられるが、全ての付加情報を解析するには時間がかかってしまう場合があった。特許文献１では、付加情報の一部が解析出来た場合に、解析の可能性があることを画面出力や音声出力を使用して利用者に通知する事を開示している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−５００４３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１に開示されている技術は、以下のような課題がある。すなわち、付加情報の一部が解析されたとしてもその他の付加情報が解析できないケースが存在する。
【０００７】
例えば、スマートフォンに付属する撮影デバイスの撮影機能を利用して付加情報解析を行う場合、写真や絵画のような被写体と撮影デバイスとが平行に配置されて撮影されるとは限らない。さらに、写真を平面に置いた状態で撮影したとしても、撮影者はスマートフォンを手に持った状態で撮影する為、スマートフォンが安定せず傾いてしまう事がある。また、スマートフォンは撮影を行う際に画面に撮影動画を表示している為、撮影者は画面を見ようとして撮影者側にスマートフォンを傾ける傾向がある。被写体に対して撮影デバイスが傾いている場合、被写体内の位置に応じて被写体と撮影デバイスとの間の撮影距離が変わってしまう。撮影距離が変わると焦点距離も変わり、撮影された被写体の位置に応じて画像がボケる為、付加情報の解析が出来ない。
【０００８】
本発明は、このような問題に鑑みてなされたものであり、付加情報が印刷された印刷物の撮像画像から該付加情報を抽出する際に、該抽出に関するメッセージを適切にユーザに報知するための技術を提供する。
【課題を解決するための手段】
【０００９】
本発明の一様態は、情報が視認し難いように埋め込まれた印刷物の撮像画像から、該情報を抽出する情報処理装置であって、
画像を撮像する撮像手段と、
前記撮像手段により撮像された前記印刷物の撮像画像から前記情報を抽出する抽出手段と、
前記抽出手段による抽出が開始され且つ前記印刷物上の複数箇所に対応する前記撮像画像中の複数領域から所定の情報が抽出されない場合には、前記撮像画像に対する解析に基づいて、前記情報処理装置と前記印刷物との位置関係に応じた第１の報知を行う報知手段と
を備え、
前記複数領域から前記所定の情報が抽出されない場合には、前記撮像手段により連続的に撮像される複数の撮像画像のそれぞれに基づいて、前記報知手段による前記第１の報知が連続的に行われ、
前記複数領域から前記所定の情報が抽出された場合には、前記抽出手段は前記印刷物の撮像画像から更に付加情報を抽出し且つ前記報知手段は第２の報知を行う
ことを特徴とする。
【発明の効果】
【００１０】
本発明の構成により、付加情報が印刷された印刷物の撮像画像から該付加情報を抽出する際に、該抽出に関するメッセージを適切にユーザに報知することができる。
【図面の簡単な説明】
【００１１】
【図１】システム、カメラ付携帯端末の構成例を示すブロック図。
【図２】付加情報多重化装置１０２の構成例を示すブロック図。
【図３】誤差拡散部２００の構成例を示すブロック図。
【図４】付加情報多重化装置１０２が行う処理のフローチャート。
【図５】多重化領域を説明する図。
【図６】量子化閾値マトリクスを示す図。
【図７】付加情報分離装置１０６の構成例を示すブロック図。
【図８】印刷物の撮像画像の一例を示す図。
【図９】空間フィルタを示す図。
【図１０】二次元の周波数領域を示す図。
【図１１】符号抽出処理のフローチャート。
【図１２】間引き方法をテーブル形式にて示した図。
【図１３】間引き方法をテーブル形式にて示した図。
【図１４】カメラ付携帯端末１０４と印刷物１４０１との姿勢関係を説明する図。
【図１５】付加情報が抽出可能であるのかの判定処理のフローチャート。
【図１６】印刷画像の一例を示す図。
【図１７】メッセージの通知例を示す図。
【図１８】第２の実施形態を説明する図。
【発明を実施するための形態】
【００１２】
以下、添付図面を参照し、本発明の好適な実施形態について説明する。なお、以下説明する実施形態は、本発明を具体的に実施した場合の一例を示すもので、特許請求の範囲に記載した構成の具体的な実施例の１つである。
【００１３】
［第１の実施形態］
以下では、次のような情報処理装置の一例について説明する。即ち、印刷物の撮像画像を取得し、該撮像画像から、印刷物上の複数箇所に印刷された符号のうち所定の箇所から該符号を抽出したか否かに基づき、複数箇所に印刷された付加情報の抽出に関するメッセージを報知する情報処理装置である。
【００１４】
先ず、印刷画像（印刷対象となる画像や文字を含む）としての画像情報に付加情報を埋め込む（多重化する）付加情報多重化装置について説明する。なお、付加情報多重化装置は、プリンタや複合機等に搭載されているプリンタエンジンに出力する印刷画像（画像情報）を生成するコンピュータ内のプリンタドライバソフトウェアやアプリケーションソフトとして該コンピュータにインストールされても良い。また、付加情報多重化装置は、複写機、ファクシミリ、プリンタ本体等にハードウエア及び／又はソフトウエアとして内蔵されても良い。
【００１５】
図１は、このような付加情報多重化装置を含む、印刷物に付加情報を埋め込んで出力するシステムの構成例を示すブロック図である。
【００１６】
付加情報多重化装置１０２には、モノクロ若しくは多階調の印刷画像（画像情報）と、該印刷画像に埋め込む情報である付加情報と、が入力される。付加情報は、画像情報とは異なる情報であり、例えば、音声情報、動画情報、テキスト文書情報、画像情報に関する著作権、撮影日時、撮影場所、撮影者等の画像属性情報、該画像情報とは異なる他の画像情報、等がある。
【００１７】
そして付加情報多重化装置１０２は、印刷画像上の複数箇所に付加情報を埋め込むのであるが、その埋め込みの際には、埋め込んだ付加情報が視認し難くなるように埋め込む。そして付加情報多重化装置１０２は、付加情報を埋め込んだ印刷画像をプリンタ１０３に対して送出する。
【００１８】
プリンタ１０３は、インクジェットプリンタ、レーザープリンタ等、疑似階調処理を用いることにより階調表現を実現するプリンタであり、付加情報多重化装置１０２からの印刷画像を紙などの記録媒体上に記録することで印刷物を生成する印刷装置である。もちろん、付加情報多重化装置１０２からの印刷画像を紙などの記録媒体上に記録する装置であれば、複合機など、印刷機能を有する他の装置であっても構わない。
【００１９】
次に、上記の付加情報多重化装置１０２の構成例を、図２のブロック図を用いて説明する。
【００２０】
誤差拡散部２００は、入力された印刷画像に対して誤差拡散法を用いた疑似階調処理を施すことで、入力階調数よりも少ない量子化レベルに変換し、複数画素の量子化値によって面積的に階調性を表現する印刷画像に変換する。誤差拡散処理の詳細については後述する。そして誤差拡散部２００は、疑似階調処理を施した印刷画像をプリンタ１０３に対して送出する。
【００２１】
ブロック化部２０１は、入力された印刷画像を複数の領域（ブロック）に分割（ブロック化）する。なお、分割する領域の形状は矩形であっても良いし、他の形状であっても良い。例えば、同じ属性の領域（オブジェクトごとの領域など）ごとに分割しても良い。
【００２２】
量子化条件制御部２０２は、ブロック化部２０１にて分割されたそれぞれのブロックの量子化条件を制御する。この量子化条件は、誤差拡散部２００において用いられる。
【００２３】
制御部２１０は、付加情報多重化装置１０２を構成する各機能部の動作制御を行うと共に、付加情報多重化装置１０２が行うものとして後述する各処理を実行若しくは制御するためのものである。制御部２１０は、ＲＯＭ２１２、ＣＰＵ２１１、ＲＡＭ２１３を有する。
【００２４】
ＣＰＵ２１１は、ＲＯＭ２１２やＲＡＭ２１３に格納されているコンピュータプログラムやデータを用いて処理を実行する。これによりＣＰＵ２１１は、付加情報多重化装置１０２を構成する各部の動作制御を行うと共に、付加情報多重化装置１０２が行うものとして後述する各処理を実行若しくは制御する。
【００２５】
ＲＯＭ２１２には、付加情報多重化装置１０２の設定データや、付加情報多重化装置１０２が行うものとして後述する各処理をＣＰＵ２１１に実行若しくは制御させるためのコンピュータプログラムやデータが格納されている。
【００２６】
ＲＡＭ２１３は、ＣＰＵ２１１が各種の処理を実行する際に用いるワークエリアを有する。
【００２７】
次に、誤差拡散部２００の構成例を、図３のブロック図を用いて説明する。以下では説明を簡単にするために、量子化値が２値である誤差拡散処理を例にして説明する。
【００２８】
加算器３００には、印刷画像を構成する各画素の画素値が入力され、該画素の画素値に、誤差分配演算部３０３から供給される「既に２値化された該画素の周辺画素の分配された量子化誤差」を加算する。
【００２９】
比較部３０１には、加算器３００から出力された注目画素の画素値と、該注目画素が属するブロックについて量子化条件制御部２０２が決定した量子化条件において該注目画素に対する閾値と、を比較する。そして、加算器３００から出力された注目画素の画素値＞閾値の場合には、注目画素の量子化値として「１」を出力し、加算器３００から出力された注目画素の画素値≦閾値の場合には、注目画素の量子化値として「０」を出力する。なお、印刷画像が８ビットの精度で階調を表現する画像（各画素の画素値が８ビットで表現される画像（８ビット画像））である場合、量子化値「１」に対応する量子化代表値は「２５５」となり、量子化値「０」に対応する量子化代表値は「０」となる。
【００３０】
このように、印刷画像の各画素に対して「１」若しくは「０」となる量子化値が決定するのであるが、量子化値が「１」となる画素は（インク、トナー等を用いて）印刷され（対応するドットが印字され）、量子化値が「０」となる画素は印刷されない。
【００３１】
減算器３０２は、比較部３０１から出力された注目画素の量子化値に対応する量子化代表値と、加算器３００から出力された注目画素の画素値と、の差分を該注目画素に対する誤差として求める。
【００３２】
誤差分配演算部３０３は、減算器３０２が注目画素について求めた誤差を、該注目画素の周辺画素に分配する。誤差の配分割合は注目画素との相対的な距離に基づいて実験的に設定された誤差の配分テーブル３０４を予め所有しておき、該配分テーブル３０４に記された配分割合に基づいて誤差を分配する。図３の配分テーブル３０４は、周囲４画素分の配分テーブルを示しているが、これに限るものではない。
【００３３】
次に、上記のような構成を有する付加情報多重化装置１０２が、印刷画像の各ブロックに対して量子化条件を設定し、該各ブロックに対して該量子化条件に基づく誤差拡散を行う一連の処理について、図４のフローチャートを用いて説明する。なお、図４のフローチャートでは、ブロック化部２０１による印刷画像のブロック分割は省略しているが、このブロック分割は、ステップＳ４０３までには行っておく必要がある。
【００３４】
＜ステップＳ４０１＞
ＣＰＵ２１１は、印刷画像の垂直方向の画素位置（ｘ座標値）を示す変数ｉの値を０に初期化する。
【００３５】
＜ステップＳ４０２＞
ＣＰＵ２１１は、印刷画像の水平方向の画素位置（ｙ座標値）を示す変数ｊの値を０に初期化する。以下では、印刷画像の左上隅の位置を原点（０，０）とし、ｘ座標値は画像右方向に増加し、ｙ座標値は画像下方向に増加するものとする。しかし、以下の処理において、印刷画像上の全ての画素位置をスキャンできるであれば、変数ｉ、ｊの初期値やスキャン方向はここで説明するものに限らない。
【００３６】
＜ステップＳ４０３＞
量子化条件制御部２０２は、印刷画像における画素位置（ｉ、ｊ）における画素が、符号を多重化する領域（多重化領域）に属しているか否かを判断する。ここで、多重化領域について、図５を例にとり説明する。
【００３７】
５００は、印刷画像全体を表しており、垂直方向のサイズ＝ＨＥＩＧＨＴ、水平方向のサイズ＝ＷＩＤＴＨとなっている。また、印刷画像５００内の点線で区分しているそれぞれの矩形はブロック化部２０１によって分割されたそれぞれのブロックを表しており、垂直方向のサイズ＝Ｍ画素、水平方向のサイズ＝Ｎ画素となっている。なお、Ｍは２≦Ｍ＜ＨＥＩＧＨＴを満たす自然数、Ｎは２≦Ｎ＜ＷＩＤＴＨを満たす自然数である。なお、図５では、印刷画像５００の原点を基準点としてブロック化を行っているが、原点とは異なる点を基準点としてブロック化を行っても良い。
【００３８】
図５のように、印刷画像５００の原点を基準点としてブロック化を行うと、水平方向のブロック数Ｗ＝ＩＮＴ（ＷＩＤＴＨ／Ｎ）となり、垂直方向のブロック数Ｈ＝ＩＮＴ（ＨＥＩＧＨＴ／Ｍ）となる。ここでＩＮＴ（Ｘ）はＸの整数部分を返す関数である。図５に示す如く、印刷画像５００の原点から水平方向にＷ個、垂直方向にＨ個のブロックが並んだ状態においては、印刷画像５００の右端及び下端にブロックが存在しない領域（非ブロック領域）が発生する。本実施形態では、各ブロックの領域を多重化領域とし、非ブロック領域を非多重化領域とする。
【００３９】
すなわち、ステップＳ４０３では、印刷画像における画素位置（ｉ、ｊ）が、何れかのブロック内の画素位置（多重化領域内の画素位置）であるのかを判断する。そしてこの判断の結果、印刷画像における画素位置（ｉ、ｊ）が多重化領域内の画素位置である場合には、処理はステップＳ４０５に進み、非多重化領域内の画素位置である場合には、処理はステップＳ４０４に進む。
【００４０】
＜ステップＳ４０４＞
量子化条件制御部２０２は、量子化条件として量子化条件Ｃを設定する。量子化条件Ｃが如何なるものであるのかについては後述する。
【００４１】
＜ステップＳ４０５＞
量子化条件制御部２０２は、印刷画像における画素位置（ｉ、ｊ）が属するブロックに割り当てられている符号を取得する。本実施形態では、ブロック数分の要素を有し且つ該要素には対応するブロックに対するビット値が登録されている配列を作成し、該配列において、印刷画像における画素位置（ｉ、ｊ）が属するブロックに対応する要素に登録されているビット値を取得する。図５の場合、ブロック数は縦１４個×横１４個＝１９６個であるから、要素数１９６個の１次元配列ＣＯＤＥ［］を生成する。そして、ＣＯＤＥ［０］，ＣＯＤＥ［１］，…，ＣＯＤＥ［１９５］のそれぞれには、０番目のブロックに対応するビット値、１番目のブロックに対応するビット値、…、１９５番目のブロックに対応するビット値が登録されている。なお、この配列は１４×１４の２次元配列でも良い。
【００４２】
また、印刷画像におけるブロックには、その位置を表す位置情報を多重化するブロックと、付加情報を多重化するブロックと、がある。図５において、ハッチングされたブロック５０１は位置情報を多重化するブロック（位置情報多重化ブロック）であり、ハッチングされていないブロック５０２は、付加情報を多重化するブロック（付加情報多重化ブロック）である。図５の場合、縦２個×横２個の位置情報多重化ブロックで１セットを構成しており、縦２個×横２個の位置情報多重化ブロックのそれぞれに対応するビット値から成る４ビット値で、該縦２個×横２個の位置情報多重化ブロックから成る１セットの位置情報を表す。また、該セットは印刷画像５００中に９個設けられている。
【００４３】
上段左のセットを１番目、上段中央のセットを２番目、上段右のセットを３番目、中段左のセットを４番目、中段中央のセットを５番目、中段右のセットを６番目、下段左のセットを７番目、下段中央のセットを８番目、下段右のセットを９番目とする。
【００４４】
このとき、上段左のセットの位置情報を「００００」とし、その場合、該セットを構成するそれぞれのブロックに対応するビット値を「０」とする。また、上段中央のセットの位置情報を「０００１」とし、その場合、該セットにおいて左上隅、右上隅、左下隅のそれぞれのブロックに対応するビット値を「０」とし、右下隅のブロックに対応するビット値を「１」とする。また、上段右のセットの位置情報を「００１０」とし、その場合、該セットにおいて左上隅、右上隅、右下隅のそれぞれのブロックに対応するビット値を「０」とし、左下隅のブロックに対応するビット値を「１」とする。
【００４５】
また、中段左のセットの位置情報を「００１１」とし、その場合、該セットにおいて左上隅、右上隅のそれぞれのブロックに対応するビット値を「０」とし、左下隅、右下隅のブロックに対応するビット値を「１」とする。また、中段中央のセットの位置情報を「０１００」とし、その場合、該セットにおいて左上隅、左下隅、右下隅のそれぞれのブロックに対応するビット値を「０」とし、右上隅のブロックに対応するビット値を「１」とする。また、中段右のセットの位置情報を「０１０１」とし、その場合、該セットにおいて左上隅、左下隅のそれぞれのブロックに対応するビット値を「０」とし、右上隅、右下隅のブロックに対応するビット値を「１」とする。
【００４６】
また、下段左のセットの位置情報を「０１１０」とし、その場合、該セットにおいて左上隅、右下隅のそれぞれのブロックに対応するビット値を「０」とし、左下隅、右上隅のブロックに対応するビット値を「１」とする。また、下段中央のセットの位置情報を「０１１１」とし、その場合、該セットにおいて左上隅のブロックに対応するビット値を「０」とし、右上隅、左下隅、右下隅のブロックに対応するビット値を「１」とする。また、下段右のセットの位置情報を「１０００」とし、その場合、該セットにおいて右上隅、左下隅、右下隅のそれぞれのブロックに対応するビット値を「０」とし、左上隅のブロックに対応するビット値を「１」とする。
【００４７】
このように、位置情報多重化ブロックのそれぞれには、該位置情報多重化ブロックが属するセットの位置情報と、該セット中の該位置情報多重化ブロックの位置と、に応じたビット値が割り当てられる。なお、位置情報多重化ブロックに対するビット値の割り当て方法はこれに限るものではない。例えば、位置情報多重化ブロックの位置情報として、印刷画像５００上の位置情報多重化ブロックのブロック位置（１番目のブロック、２番目のブロック、…）や、位置情報多重化ブロックの何れかの部分の画素位置を用いても良い。また、印刷物上の位置情報多重化ブロックの位置を該位置情報多重化ブロックの位置情報として用いても良い。
【００４８】
然るに、量子化条件制御部２０２は、ブロックの並び順に対応するビット値（位置情報多重化ブロックに対しては上記のようにして割り当てたビット値、付加情報多重化ブロックに対しては、入力された付加情報において該付加情報多重化ブロックに対応するビット値）を並べたビット列を配列ＣＯＤＥとして生成する。そして量子化条件制御部２０２は、該配列ＣＯＤＥにおいて、印刷画像における画素位置（ｉ、ｊ）が属するブロックに対応する要素に登録されているビット値ｂｉｔを取得する。印刷画像における画素位置（ｉ、ｊ）が属するブロックに対応する要素に登録されているビット値ｂｉｔは以下のようにして配列ＣＯＤＥから取得する。
【００４９】
ｂｉｔ＝ｃｏｄｅ［ＩＮＴ（ｉ／Ｍ）×Ｗ＋ＩＮＴ（ｊ／Ｎ）］
＜ステップＳ４０６＞
量子化条件制御部２０２は、ステップＳ４０５で取得したビット値ｂｉｔが「１」であるのか「０」であるのかを判断する。この判断の結果、ステップＳ４０５で取得したビット値ｂｉｔが「１」である場合には、処理はステップＳ４０８に進み、「０」である場合には、処理はステップＳ４０７に進む。
【００５０】
＜ステップＳ４０７＞
量子化条件制御部２０２は、量子化条件として量子化条件Ａを設定する。量子化条件Ａが如何なるものであるのかについては後述する。
【００５１】
＜ステップＳ４０８＞
量子化条件制御部２０２は、量子化条件として量子化条件Ｂを設定する。量子化条件Ｂが如何なるものであるのかについては後述する。
【００５２】
＜ステップＳ４０９＞
誤差拡散部２００は、ステップＳ４０４，Ｓ４０７，Ｓ４０８の何れかで、印刷画像における画素位置（ｉ、ｊ）の画素について設定した量子化条件に基づいて、該画素に対して図３を用いて説明した誤差拡散処理（量子化処理）を行う。
【００５３】
＜ステップＳ４１０＞
ＣＰＵ２１１は、変数ｊの値を１つインクリメントする。
【００５４】
＜ステップＳ４１１＞
ＣＰＵ２１１は、ｊ＜ＷＩＤＴＨであるのか否かを判断する。この判断の結果、ｊ＜ＷＩＤＴＨであれば、処理はステップＳ４０３に戻り、ｊ＜ＷＩＤＴＨでなければ、処理はステップＳ４１２に進む。
【００５５】
＜ステップＳ４１２＞
ＣＰＵ２１１は、変数ｉの値を１つインクリメントする。
【００５６】
＜ステップＳ４１３＞
ＣＰＵ２１１は、ｉ＜ＨＥＩＧＨＴであるか否かを判断する。この判断の結果、ｉ＜ＨＥＩＧＨＴであれば、処理はステップＳ４０２に戻り、ｉ＜ＨＥＩＧＨＴでなければ、図４のフローチャートに従った処理は終了する。
【００５７】
次に、上記の量子化条件Ａ、量子化条件Ｂ、量子化条件Ｃのそれぞれについて説明する。
【００５８】
誤差拡散法における量子化条件には様々な因子があるが、本実施形態では量子化条件は、量子化閾値とする。量子化条件Ｃは多重化領域外で使用されるため、量子化閾値は任意の値でよい。例えば、印刷画像が８ビット画像であり、量子化レベルが２値の場合、上記の通り最大の量子化代表値は「２５５」となり、最小の量子化代表値は「０」となるため、その中間値「１２８」を量子化閾値とする。すなわち、量子化条件Ｃとして、「量子化閾値を「１２８」に固定する」という条件を採用する。
【００５９】
量子化条件Ａ、量子化条件Ｂは多重化領域内で使用されるため、量子化条件の違いによる画質の違いを生じさせなければならない。但し、画質の違いは視覚的には判別しにくいように表現し、かつ、記録媒体上から容易に識別できなくてはならない。
【００６０】
そこで本実施形態では、一例として、量子化条件Ａとして図６（ａ）に示す量子化閾値マトリクス、量子化条件Ｂとして図６（ｂ）に示す量子化閾値マトリクスを採用する。それぞれの量子化閾値マトリクスにおいてそれぞれのマスは１画素に対応しており、斜線部分のマスには量子化閾値θ１、非斜線部分のマスには量子化閾値θ２（θ２＞θ１）が設定されている。すなわち、図６（ａ）の量子化閾値マトリクスは、量子化条件Ａにおける量子化閾値の変化の周期を表したもので、図６（ｂ）の量子化閾値マトリクスは、量子化条件Ｂにおける量子化閾値の変化の周期を表したものである。
【００６１】
量子化閾値θ１としては、量子化閾値θ２と比べて突出した値を用いる。例えば、印刷画像が８ビット画像である場合、上記の通り最大の量子化代表値は「２５５」、最小の量子化代表値は「０」となるため、その中間値「１２８」を量子化閾値θ２とし、これと比べて突出した値「１０」を量子化閾値θ１とする。
【００６２】
このような量子化閾値マトリクスをステップＳ４０９にて使用する場合に、画素位置（ｉ、ｊ）に対応する量子化閾値は以下のようにして特定する。すなわち、画素位置（ｉ、ｊ）が属するブロック内に、該ブロックに対して設定した量子化閾値マトリクスを２次元的に繰り返し配置した場合に、該画素位置（ｉ、ｊ）に対応する量子化閾値マトリクスの要素（量子化閾値）を特定する。然るに、画素位置（ｉ、ｊ）に対してはこの特定した量子化閾値を用いて、上記の誤差拡散処理を行う。
【００６３】
量子化閾値が低くなると、該量子化閾値を適用した画素の量子化値が「１」（量子化代表値「２５５」）になりやすくなる。すなわち、図６（ａ）の量子化閾値マトリクスを適用したブロックでは、図６（ａ）の斜線部分のマスの並びで量子化値「１」の画素が並ぶことになる。同様に、図６（ｂ）の量子化閾値マトリクスを適用したブロックでは、図６（ｂ）の斜線部分のマスの並びで量子化値「１」の画素が並ぶことになる。換言すると、Ｎ画素×Ｍ画素のブロック毎に、図６（ａ）の斜線部分のマスの並びでドットが発生するブロックと、図６（ｂ）の斜線部分のマスの並びでドットが発生するブロックと、が混在することになる。
【００６４】
なお、上記の説明では、誤差拡散法の量子化閾値に符号を表す所定の周期性を重畳することにより多重化を実現してきたが、これに限るものではなく、例えば、以下の方式も考えられる。
【００６５】
・  直接RGBの輝度情報に周期性を重畳する方式
・  RGBの輝度情報を輝度‐色差情報（例えばYCｒCb信号、XYZ信号、L*a*b*信号）に分離して周期性を多重化する方式
・  RGBの輝度情報をインク色（例えばCMYK信号）に分離して周期性を多重化する方式
次に、上記の付加情報多重化装置１０２が上記のようにして配列ＣＯＤＥの各要素を多重化した印刷画像が印刷された印刷物から付加情報を抽出（分離）する付加情報分離装置について説明する。このような付加情報分離装置を搭載した装置としては、例えば、カメラ付携帯電話、カメラ付スマートフォン、カメラ付きタブレットＰＣ等のカメラ付携帯端末が考えられる。また、付加情報分離装置は、外部の撮像デバイスによって撮像された上記の印刷物の撮像画像を該撮像デバイスから取得し、該取得した撮像画像から付加情報を抽出する装置であっても良い。以下では、このような付加情報分離装置を搭載したカメラ付携帯端末について説明する。先ず、カメラ付携帯端末の構成例を図１（ｂ）のブロック図を用いて説明する。
【００６６】
撮像センサ１０５は、カメラ付携帯端末１０４の姿勢に応じた撮像方向の被写体を撮像するものである。ユーザがカメラ付携帯端末１０４を手に把持して撮像センサ１０５の視野内に印刷物が含まれるようにカメラ付携帯端末１０４の姿勢を調整して撮像指示を入力すると、撮像センサ１０５は、印刷物が含まれる撮像画像を撮像する。この印刷物は上記の通り、付加情報多重化装置１０２が上記のようにして配列ＣＯＤＥの各要素を多重化した印刷画像が印刷された印刷物である。この印刷物はプリンタ１０３によって得られる。
【００６７】
付加情報分離装置１０６は、撮像センサ１０５によって撮像された印刷物の撮像画像から付加情報を抽出するものであるが、本実施形態ではその前に、該撮像画像から付加情報の分離が可能であるか否かを判断し、可能であればその旨を報知する。付加情報分離装置１０６が撮像画像から抽出した付加情報は端子１０７を介してスピーカー１０８やディスプレイ１０９に対して送出される。付加情報が音声情報であれば、端子１０７を介してスピーカー１０８に対して送出されるし、付加情報が画像情報（文字情報を含む）であれば、端子１０７を介してディスプレイ１０９に対して送出される。また、付加情報は、端子１０７を介して外部の機器に対して送信されても良い。すなわち、付加情報の出力先については特定の出力先に限るものではない。
【００６８】
第二撮像センサ１１１は、撮像センサ１０５とは別途設けられた撮像センサであり、印刷物の撮影は第二撮像センサ１１１を用いて行っても良い。
【００６９】
次に、付加情報分離装置１０６の構成例について、図７のブロック図を用いて説明する。
【００７０】
ずれ検出部７０１には、撮像センサ１０５から送出された印刷物の撮像画像が入力される。撮像センサ１０５の解像度（撮像センサ解像度）は、印刷物を作成するプリンタ１０３の解像度（プリンタ解像度）と同等以上であることが好ましい。当然、正確に印刷物のドットの点在情報を読み込む為には、サンプリング定理により、撮像センサ解像度はプリンタ解像度よりも２倍以上であることが必要になる。しかし、同等以上であれば、正確でなくとも、ある程度ドットが点在していることを判別することは可能である。本実施形態では、説明を簡単にするために、プリンタ解像度と撮像センサ解像度とが同一解像度であるものとする。
【００７１】
ずれ検出部７０１は、撮像センサ１０５から送出された撮像画像の幾何学的ずれを検出する。プリンタ出力、カメラ付携帯端末１０４による撮影を経ている為に、ずれ検出部７０１に入力される撮像画像は、付加情報多重化装置１０２が生成した印刷画像とは幾何学的に大きくずれている場合がある。そこで、ずれ検出部７０１では、印刷物と印刷物以外との境界線（印刷物境界線）をエッジ検出にて検出する。
【００７２】
印刷物の撮像画像の一例を図８に示す。プリンタ解像度と撮像センサ解像度とが同一解像度であれば、プリンタ１０３の記録媒体上記録時の斜行、及びカメラ付携帯端末１０４を印刷物にかざす時のずれ等により、画像の回転方向（傾き）が補正すべき大きな要因となる。そのため、この印刷物境界線を検出することにより、どの程度回転方向でずれが生じているのかが判断できる。
【００７３】
ブロック化部７０２は、撮像画像上に、ブロック化部２０１によるブロックサイズよりも小さい矩形領域（ブロック）を、一定間隔（スキップ画素数）を空けて複数箇所に設定する（ブロック化）。図５の場合、ブロック化部２０１によるブロックサイズはＮ画素×Ｍ画素であるから、ブロック化部７０２が撮像画像上に一定間隔を空けて複数箇所に設定するブロックのサイズＰ画素×Ｑ画素は、Ｐ≦Ｎ及びＱ≦Ｍという条件を満たす必要がある。
【００７４】
すなわち、多重化時のＮ画素×Ｍ画素のブロックと想定される領域内に、Ｐ画素×Ｑ画素のブロックがひとつ内包するようにブロック化する。上記の「スキップ画素数」は、「水平方向にＮ画素、垂直方向にＭ画素」が基本となるが、ずれ検出部７０１が検出したずれ量をブロック数で割り出し、１ブロックあたりのずれ量を演算して、スキップ画素数に加算して補正する必要がある。
【００７５】
空間フィルタＡ７０３は、その各係数が、量子化条件Ａの量子化閾値θ１の周期に適応して作成されるものである。量子化条件Ａが図６（ａ）の量子化閾値マトリクスである場合、空間フィルタＡ７０３は、図９（ａ）に示す各係数から成るマトリクスである。空白のマスには「０」の値を有する係数が設定されているものとする。
【００７６】
空間フィルタＢ７０４は、その各係数が、量子化条件Ｂの量子化閾値θ１の周期に適応して作成されるものである。量子化条件Ｂが図６（ｂ）の量子化閾値マトリクスである場合、空間フィルタＢ７０４は、図９（ｂ）に示す各係数から成るマトリクスである。空白のマスには「０」の値を有する係数が設定されているものとする。
【００７７】
空間フィルタＡ７０３、空間フィルタＢ７０４の何れでも、それぞれのマスが１画素に対応しており、５画素×５画素の中央部のマスにおける係数が着目画素に適用され、その周辺部の２４個のマスにおける係数が該着目画素の周辺の２４画素に適用される。図９（ａ）、（ｂ）から明らかな様に、これらの空間フィルタはエッジ強調のフィルタになっている。しかも、その強調するエッジの方向性と多重化した時の量子化閾値θ１の方向性とが一致している。つまり、図９（ａ）の空間フィルタは図６（ａ）の量子化閾値マトリクスに、図９（ｂ）の空間フィルタは図６（ｂ）の量子化閾値マトリクスに一致するように作成する。
【００７８】
フィルタリング部７０５ａは、ブロック化部７０２による各ブロック内の各画素に対して空間フィルタＡ７０３を適用することで、該ブロック内のエッジが強調されたものを、該ブロックとは別途生成する。例えば、着目画素に空間フィルタＡ７０３を適用する場合、着目画素の画素値に対して空間フィルタＡ７０３の中央部のマスに記載の係数値「２」を乗じ、着目画素の周辺画素に対しては空間フィルタＡ７０３において対応する位置のマスに記載の係数値を乗じる。これにより、着目画素を中心とする５画素×５画素のサイズを有する領域内の各画素の画素値に対して空間フィルタＡ７０３において対応する位置の係数値を乗じることができる。そして５画素×５画素のそれぞれの係数値が応じられた画素値の合計値を求め、該合計値を着目画素の画素値とする。このように、ブロック内の各画素を着目画素としてこのような処理を行うことで、該ブロック内のエッジが強調されたものを、該ブロックとは別途生成することができる。
【００７９】
フィルタリング部７０５ｂは、ブロック化部７０２による各ブロック内の各画素に対して空間フィルタＢ７０４を適用することで、該ブロック内のエッジが強調されたものを、該ブロックとは別途生成する。ブロックに対する空間フィルタＢ７０４の適用については、ブロックに対する空間フィルタＡ７０３の適用と同様にして行う。
【００８０】
間引き部Ａ７０６は、フィルタリング部７０５ａによって生成されたブロック（該ブロック内の各画素の画素値を変換値と呼称する場合がある）に対して、ある規則性に基づく間引き処理を行う。間引き部Ｂ７０７は、フィルタリング部７０５ｂによって生成されたブロック（該ブロック内の各画素の画素値を変換値と呼称する場合がある）に対して、ある規則性に基づく間引き処理を行う。本実施形態では、この間引きの規則性を周期性と位相とに分離して処理する。すなわち、間引き部Ａ７０６及び間引き部Ｂ７０７では間引きの周期性が異なっていて、各々、位相を変化させた複数の間引き処理を実行する。間引き方法については後述する。
【００８１】
変換値加算部７０８ａは、間引き部Ａ７０６による間引き後のブロック内の各画素の画素値（変換値）を、位相毎にそれぞれ加算する。変換値加算部７０８ｂは、間引き部Ｂ７０７による間引き後のブロック内の各画素の画素値（変換値）を、位相毎にそれぞれ加算する。この間引き処理及び変換値の加算処理は、空間フィルタで強調した所定周波数ベクトルの電力を抽出することに相当する。
【００８２】
分散値部７０９ａは、変換値加算部７０８ａが位相毎に加算した加算結果の分散を算出する。分散値部７０９ｂは、変換値加算部７０８ｂが位相毎に加算した加算結果の分散を算出する。
【００８３】
判定部７１０は、分散値部７０９ａ及び分散値部７０９ｂによって求められたそれぞれの周期性における分散値に基づいて、多重化された符号を判定する。
【００８４】
図１０の二次元の周波数領域において、横軸は水平方向の周波数、縦軸は垂直方向の周波数を示している。中心となる原点は直流成分を示し、原点から遠ざかるにつれて、高周波域となる。図１０中の円は、誤差拡散によるカットオフ周波数を示している。誤差拡散法のフィルタ特性は、低周波域がカットオフされたＨＰＦ（ハイパスフィルタ）の特性を示し、そのカットオフされる周波数は、対象画像の濃度に応じて変化する。
【００８５】
本実施形態の場合、量子化閾値の変更により、量子化後に発生する周波数特性が変化する。即ち、図６（ａ）の量子化閾値マトリクスにおける量子化閾値の変更では図１０の直線Ａ（周波数ベクトルＡ）上に、図６（ｂ）の量子化閾値マトリクスにおける量子化閾値の変更では図１０の直線Ｂ（周波数ベクトルＢ）上に大きなパワースペクトルが生じる。分離時には、この大きなパワースペクトルが発生する周波数ベクトルを検出することが多重化信号の判定につながる。そこで、各々の周波数ベクトルを個別に強調、抽出することが必要になる。
【００８６】
図９（ａ）のマトリクス及び図９（ｂ）のマトリクスは、特定の周波数ベクトルの方向性を有するＨＰＦに相当する。すなわち、図９（ａ）の空間フィルタでは、直線Ａ上の周波数ベクトルを強調することが可能になり、また、図９（ｂ）の空間フィルタでは、直線Ｂ上の周波数ベクトルを強調することが可能になる。例えば、図６（ａ）の量子化閾値マトリクスによる量子化条件の変更により、図１０の直線Ａの周波数ベクトル上に大きなパワースペクトルが発生したと仮定する。その場合、図９（ａ）の空間フィルタではパワースペクトルの変化量が増幅するが、図９（ｂ）の空間フィルタでは、ほとんど増幅されない。すなわち、複数の空間フィルタを並列にフィルタリングした場合には、周波数ベクトルが一致した空間フィルタ時のみ増幅し、それ以外のフィルタでは増幅がほとんど無い為、いかなる周波数ベクトル上に大きなパワースペクトルが発生しているかが容易にわかる。
【００８７】
制御部７９０は、付加情報分離装置１０６を構成する各機能部の動作制御を行うと共に、付加情報分離装置１０６が行うものとして後述する各処理を実行若しくは制御するためのものである。制御部７９０は、ＲＯＭ７９１、ＣＰＵ７９２、ＲＡＭ７９３を有する。
【００８８】
ＣＰＵ７９２は、ＲＯＭ７９１やＲＡＭ７９３に格納されているコンピュータプログラムやデータを用いて処理を実行する。これによりＣＰＵ７９２は、付加情報分離装置１０６を構成する各部の動作制御を行うと共に、付加情報分離装置１０６が行うものとして後述する各処理を実行若しくは制御する。
【００８９】
ＲＯＭ７９１には、付加情報分離装置１０６の設定データや、付加情報分離装置１０６が行うものとして後述する各処理をＣＰＵ７９２に実行若しくは制御させるためのコンピュータプログラムやデータが格納されている。
【００９０】
ＲＡＭ７９３は、ＣＰＵ７９２が各種の処理を実行する際に用いるワークエリアを有する。
【００９１】
次に、間引き部Ａ７０６、間引き部Ｂ７０７、変換値加算部７０８ａ、変換値加算部７０８ｂ、分散値部７０９ａ、分散値部７０９ｂ、判定部７１０、制御部７９０によって行われる処理について、同処理のフローチャートを示す図１１を用いて説明する。なお、図１１のフローチャートに従った処理はブロックごとに行われるものである。
【００９２】
＜ステップＳ１１０１＞
ＣＰＵ７９２は、以降の処理で用いる変数ｉの値を０に初期化する。
【００９３】
＜ステップＳ１１０２＞
ＣＰＵ７９２は、以降の処理で用いる変数ｊの値を０に初期化する。
【００９４】
＜ステップＳ１１０３＞
ＣＰＵ７９２は、フィルタリング部７０５ａ（フィルタリング部７０５ｂ）によって生成されたブロックに対する間引きの規則性の因子、すなわち、「周期性」及び「位相」の２因子を決定する。以降では、変数ｉを周期性に関する変数として用い、変数ｊを位相に関する変数として用いる。周期性及び位相の条件は、番号（ナンバー）により管理されていて、周期性ナンバー（以下Ｎｏ．と略す）がｉ、位相Ｎｏ.がｊである間引き方法の因子を設定する。
【００９５】
＜変数ｉの値が「０」の場合＞
間引き部Ａ７０６は、周期性Ｎｏ.がｉ、位相Ｎｏ.がｊである間引き方法の因子に基づく間引き方法でもって、フィルタリング部７０５ａからのブロックに対する間引き処理を行う。
【００９６】
＜変数ｉの値が「１」の場合＞
間引き部Ｂ７０７は、周期性Ｎｏ.がｉ、位相Ｎｏ.がｊである間引き方法の因子に基づく間引き方法でもって、フィルタリング部７０５ｂからのブロックに対する間引き処理を行う。
【００９７】
＜ステップＳ１１０４＞
＜変数ｉの値が「０」の場合＞
変換値加算部７０８ａは、間引き部Ａ７０６によって間引き処理がなされたブロック内の各画素の画素値の合計値を求め、該求めた合計値を配列ＴＯＴＡＬ［ｉ］［ｊ］に登録する。
【００９８】
＜変数ｉの値が「１」の場合＞
変換値加算部７０８ｂは、間引き部Ｂ７０７によって間引き処理がなされたブロック内の各画素の画素値の合計値を求め、該求めた合計値を配列ＴＯＴＡＬ［ｉ］［ｊ］に登録する。
【００９９】
＜ステップＳ１１０５＞
ＣＰＵ７９２は、変数ｊの値を１つインクリメントする。
【０１００】
＜ステップＳ１１０６＞
ＣＰＵ７９２は、変数ｊの値が、「位相を変化させて間引き処理をする回数Ｊ」未満であるのか否かを判断する。この判断の結果、ｊ＜Ｊであれば、処理はステップＳ１１０３に戻り、ｊ≧Ｊであれば、処理はステップＳ１１０７に進む。
【０１０１】
＜ステップＳ１１０７＞
＜変数ｉの値が「０」の場合＞
分散値部７０９ａは、配列ＴＯＴＡＬ［ｉ］［ｊ］の分散値を求める。すなわち、配列ＴＯＴＡＬ［ｉ］［ｊ］に登録されている各合計値が、位相の差により、どの程度ばらついているのかを評価する。そして分散値部７０９ａは、該求めた分散値を配列Ｂ［ｉ］に登録する。
【０１０２】
＜変数ｉの値が「１」の場合＞
分散値部７０９ｂは、配列ＴＯＴＡＬ［ｉ］［ｊ］の分散値を求め、該求めた分散値を配列Ｂ［ｉ］に登録する。
【０１０３】
＜ステップＳ１１０８＞
ＣＰＵ７９２は、変数ｉの値を１つインクリメントする。
【０１０４】
＜ステップＳ１１０９＞
ＣＰＵ７９２は、変数ｉの値が「周期性を変化させて間引き処理をする回数Ｉ」（本実施形態ではＩ＝２）未満であるのか否かを判断する。この判断の結果、ｉ＜Ｉであれば、処理はステップＳ１１０２に戻り、ｉ≧Ｉであれば、処理はステップＳ１１１０に進む。
【０１０５】
＜ステップＳ１１１０＞
判定部７１０は、Ｂ［０］〜Ｂ［Ｉ−１］のうち最大値Ｂ［ｉ’］を特定し、ｉ’を変数ｉｍａｘに代入する。
【０１０６】
＜ステップＳ１１１１＞
判定部７１０は、周期性Ｎｏ.がｉｍａｘである符号を多重化された符号であると判定する。
【０１０７】
図１１のフローチャートに従った処理について具体例を挙げて説明すべく、I＝２、J＝４の例について説明する。図１２、１３は、ブロックサイズをＰ＝Ｑ＝１６とした時の間引き方法をテーブル形式にて示したもので、それぞれ、周期性Ｎｏ.＝０の時の間引き方法（間引き部Ａ７０６に相当）、周期性Ｎｏ.＝１の時の間引き方法（間引き部Ｂ７０７に相当）を示している。図１２，１３の何れでも、それぞれのマスが１画素分を表している。なお、図１２，１３ではＰ＝Ｑとしているが、Ｐ≠Ｑであっても良いし、矩形でなくても良い。
【０１０８】
また、マスの中に記している値は、該マスに対応する画素が間引かれるときの位相Ｎｏ.を示している。例えば、「０」が記されているマスに対応する画素は、ｊ＝０のときに間引き対象となる画素である。すなわち、図１２、図１３ともに、位相は４種であり、位相Ｎｏ.が０〜３の時の間引き方法に相当する。
【０１０９】
図１２、図１３に示した周期性については、それぞれ、図１２は図６（ａ）の、図１３は図６（ｂ）の周期性に一致している。上記にて説明したように、図６（ａ）、（ｂ）では共に、斜線部分のマスの並びで量子化値「１」の画素が並ぶことになる。その為、例えば、多重化時に量子化条件Ａであったブロックの場合には、図６（ａ）の周期性で量子化値「１」が並びやすくなる。然るに、適合した空間フィルタを用いてフィルタリングすると、更にその周波数成分が増幅され、図１２の周期性で間引きして上記の合計値を求めると、その合計値の分散値は大きくなる。しかし、多重化時に量子化条件Ａであったブロックを、適合しない空間フィルタを用いてフィルタリングし、なおかつ、図１３の周期性で間引きした場合には、上記の合計値の分散値は小さくなる。すなわち、量子化値の周期性と間引きの周期性が異なる為、間引きの位相の違いによる上記の合計値は平均的になり、ばらつきは小さくなる。反対に、多重化時に量子化条件Ｂであったブロックでは、図１２の周期性で間引きすると、分散値は小さくなり、図１３の周期性で間引きすると、分散値は大きくなる。
【０１１０】
図４のフローチャートに上記の例を当てはめると、ビット値ｂｉｔ＝０の場合には量子化条件Ａを設定し、ビット値ｂｉｔ＝１の場合には量子化条件Ｂを設定している。然るに、周期性Ｎｏ.＝０の分散値が大きいときにはビット値ｂｉｔ＝０、逆に周期性Ｎｏ.＝１の分散値が大きいときにはビット値ｂｉｔ＝１と判断できる。すなわち、量子化条件と、空間フィルタ特性、及び、間引き条件の周期性を関連づけることで、容易に多重化、及び、分離が実現できる。なお、上記の説明では、周期性Ｎｏ.は０と１の２種であり、ブロック内の多重化符号は１ビットであったが、周期性Ｎｏ.は３種類以上であっても良いし、多重化符号は２ビット以上であっても構わない。当然、量子化条件の種類と、空間フィルタの種類、間引き条件の周期性Ｎｏ.の種類（上記のＩの値）とは一致する。
【０１１１】
本実施形態では、直交変換による量子化条件の規則性に対応した周波数の電力値の比較をしなくても、容易に符号を分離できる。しかも、実空間領域の処理の為、非常に高速に分離処理が実現できる。
【０１１２】
なお、上記の量子化条件Ａ、Ｂ、空間フィルタＡ、Ｂ、間引き部Ａ７０６、Ｂ７０７のそれぞれはあくまでも一例であり、これに限るものではない。すなわち、他の周期性を持たせても良いし、空間フィルタのタップ数、間引きのブロックサイズ等は前述した例よりも大きくても小さくても構わない。
【０１１３】
また、図１１の動作手順では、説明を簡単にするために、周期性Ｎｏ.に対応する変数ｉ、及び位相Ｎｏ.に対応する変数ｊの繰り返し処理にて説明している。しかし、実際には、Ｐ画素×Ｑ画素のブロック内の画素アドレスによる繰り返し処理の方が実現が容易である。すなわち、図１２、図１３に示したように、ブロック内の各画素アドレスに対して周期性Ｎｏ.、及び位相Ｎｏ.の２種の情報をテーブルとして予め格納しておき、対応した周期性Ｎｏ.、及び位相Ｎｏ.の各々の変数に対して画素値を加算していく方法である。この方法では、Ｐ画素×Ｑ画素分を処理するだけで、並列に、周期性Ｎｏ.、及び位相Ｎｏ.の各集合の合計値を算出することができる。
【０１１４】
また、図１１の動作手順では、空間フィルタを用いたフィルタリング後の間引きした画素値の合計値の分散値を算出し、分散値の大小比較により、符号を判定していたが、これに限るものではない。例えば、分散値を用いない評価関数の比較による方法も考えられる。すなわち、間引きした画素値の合計値の偏りは、位相をずらした際に、ひとつの位相の時だけ値が突出しやすいため、「ばらつき度合い」が評価できれば良い。例えば、ばらつき度合いを評価するには、分散値以外に次の評価関数が考えられる。
（１）  間引きした画素値の合計値の最大値と最小値の差分
（２）  間引きした画素値の合計値の最大値と２番目に大きな値との差分、もしくは、最小値と２番目に小さな値との差分のどちらか
（３）  間引きした画素値の合計値によるヒストグラムを作成した時の、前後の順番の差分の最大値
また、上記の（１）、（２）、（３）の評価関数は絶対的な差分値であるが、これらの差分値と画素値、もしくは画素値や変換値の総和等との相対的な比率も評価関数として用いることができる。また、量子化値は２値化を例にして説明したが、これには限らない。
【０１１５】
このように本実施形態によれば、画像をＭ画素×Ｎ画素よりなるブロック単位で量子化条件を変更し、該量子化条件に従って画像を量子化することにより画像に対して所定の情報を埋め込むことができる。その為、例えば直交変換をして情報を埋め込む方法に比べて、画質劣化を抑制し、かつ高速に、かつ埋め込まれた情報が精度よく抽出できるように画像に対して情報を埋め込むことができる。
【０１１６】
ここで、上記のようにして動作するカメラ付携帯端末１０４は、撮像画像から付加情報の抽出を行う前に、印刷物から付加情報が抽出可能であるのか否かを判断し、抽出可能である場合に、その旨をユーザに通知する。
【０１１７】
例えば、図１４（ａ）に示す如く、ユーザＰがカメラ付携帯端末１０４を用いて印刷物１４０１を撮影する場合を考える。ユーザＰはカメラ付携帯端末１０４のディスプレイ１０９（カメラ付携帯端末１０４においてユーザＰと対面する面に設けられているとする）に表示されている撮像画像を閲覧しながら撮像センサ１０５の視野内に印刷物１４０１を納めようとする。図１４（ａ）において点線の矢印は視野範囲を表している。しかし、ユーザＰはディスプレイ１０９を見やすくするために、印刷物１４０１に対してカメラ付携帯端末１０４を手前に傾けてしまうことが多い。カメラ付携帯端末１０４の印刷物１４０１に対する姿勢が図１４（ａ）の如く状態でカメラ付携帯端末１０４が撮像した撮像画像は図１６（ａ）の如く、撮像画像上部に近いほど遠距離の対象、撮像画像下部に近いほど近距離の対象、が撮像された画像となる。
【０１１８】
然るに、カメラ付携帯端末１０４から見て印刷物１４０１の手前側に焦点を合わせて撮像すると、撮像画像の下部付近はピントがあっているものの、撮像画像の上部付近ではぼけたものとなる。このような撮像画像では、撮像画像の下部付近からは付加情報の抽出が可能であるものの、上部付近ではぼけているため、撮像画像上の全ての付加情報を抽出することは困難若しくは不可能となる。
【０１１９】
逆に、カメラ付携帯端末１０４から見て印刷物１４０１の奥側に焦点を合わせて撮像すると、撮像画像の上部付近はピントがあっているものの、撮像画像の下部付近ではぼけたものとなる。このような撮像画像では、撮像画像の上部付近からは付加情報の抽出が可能であるものの、下部付近ではぼけているため、撮像画像上の全ての付加情報を抽出することは困難若しくは不可能となる。
【０１２０】
撮像画像上で印刷物１４０１の何れの箇所でもボケが発生しないようにするため（図１６（ｂ）のような撮像画像を撮像するため）には、図１４（ｂ）に示す如く、カメラ付携帯端末１０４の撮像方向が印刷物１４０１の面と略直交するようにカメラ付携帯端末１０４の姿勢を調整する必要がある。
【０１２１】
このように、撮像画像中の印刷物の何れの箇所でも付加情報が抽出可能であるか否かを付加情報の抽出前に判断するためには、撮像画像中に写っている印刷物の範囲の端部にボケがないか（端部付近から位置情報が抽出できたか）を判断すればよい。そこで本実施形態に係るカメラ付携帯端末１０４は、印刷物の撮像画像から付加情報を抽出する前に、図１５のフローチャートに従った処理を実行する。
【０１２２】
＜ステップＳ１５０１＞
撮像センサ１０５は撮像動作を行うことで撮像画像を生成する。撮像センサ１０５による撮像は、カメラ付携帯端末１０４に備わっている不図示のスイッチやボタン、ディスプレイ１０９がタッチパネル画面であれば該タッチパネル画面、をユーザが操作することに応じたＣＰＵ７９２による制御によって行われる。もちろん、このような指示の入力なしに、撮像センサ１０５が連続的に撮像している各フレームの画像を以下の処理で用いる撮像画像としても構わない。
【０１２３】
ここでは、撮像センサ１０５は、図５に例示した印刷画像（位置情報及び付加情報が多重化された印刷画像）が印刷された印刷物の撮像画像を撮像したとする。
【０１２４】
＜ステップＳ１５０２＞
付加情報分離装置１０６は、図１１のフローチャートに従った処理を含む上記の情報抽出処理を行うことで、ステップＳ１５０１で生成された撮像画像上の複数の規定箇所から位置情報を抽出する。
【０１２５】
例えば、図５の印刷画像が印刷された印刷物の撮像画像の場合、該撮像画像を複数の分割領域に分割し、左上隅の分割領域から右下隅の分割領域に向けてラスタスキャン順に各分割領域をスキャンして位置情報の抽出処理を行う。そして、ある分割領域から「印刷画像に多重化した位置情報のうち最小値を表す位置情報」（図５の例では「００００」）が抽出された場合、この抽出処理は終了させる。そして次に、右下隅の分割領域から左上隅の分割領域に向けてラスタスキャン順に各分割領域をスキャンして位置情報の抽出処理を行う。そして、ある分割領域から「印刷画像に多重化した位置情報のうち最大値を表す位置情報」（図５の例では「１０００」）が抽出された場合、この抽出処理は終了させる。
【０１２６】
なお、分割領域のサイズは、上記のＮ画素×Ｍ画素のサイズよりも十分に大きくても良く、例えば、撮像画像を４等分したそれぞれを分割領域としても良い。また、位置情報は、隣接する４つの位置情報多重化ブロックのそれぞれから符号（１ビットの値）を抽出し、該抽出した符号を位置情報多重化ブロックの位置に応じて並べることで得られる。
【０１２７】
＜ステップＳ１５０３＞
ＣＰＵ７９２は印刷画像に多重化した位置情報のうち最小値を表す位置情報（図５の例では「００００」）、印刷画像に多重化した位置情報のうち最大値を表す位置情報（図５の例では「１０００」）の両方をステップＳ１５０２で抽出できたか否かを判断する。図５の場合、位置情報「００００」、位置情報「１０００」の両方が抽出できたということは、撮像画像の左上隅と右下隅とが位置情報の抽出が可能となる程度の画質であること、すなわち、撮像画像の左上隅と右下隅とにピントが合っていることを意味する。この場合、撮像画像に多重化されたそれぞれの付加情報の抽出は可能となる。一方、位置情報「００００」、位置情報「１０００」の一方でも抽出できなかったということは、撮像画像の左上隅と右下隅の少なくとも一方が位置情報の抽出が可能となる程度の画質ではないことを意味する。すなわち、撮像画像の左上隅と右下隅の少なくとも一方にピントが合っていないことを意味する。この場合、撮像画像から抽出できない付加情報が存在する可能性がある。
【０１２８】
然るに、印刷画像に多重化した位置情報のうち最小値を表す位置情報、印刷画像に多重化した位置情報のうち最大値を表す位置情報の両方をステップＳ１５０２で抽出した場合には処理はステップＳ１５０４に進む。一方、印刷画像に多重化した位置情報のうち最小値を表す位置情報、印刷画像に多重化した位置情報のうち最大値を表す位置情報のうち少なくとも一方を抽出していない場合には、処理はステップＳ１５０１に戻る。
【０１２９】
＜ステップＳ１５０４＞
ＣＰＵ７９２は、撮像画像から付加情報の抽出（分離）が可能である旨を示すメッセージをユーザに通知する。例えば、撮像画像から付加情報の抽出（分離）が可能である旨を示すメッセージ文や、撮像画像から付加情報の抽出（分離）が可能である旨を示すメッセージを表現する画像（アニメーション画像を含む）をディスプレイ１０９に表示する。また例えば、撮像画像から付加情報の抽出（分離）が可能である旨を示すメッセージを表す音声をスピーカー１０８から音声出力する。また、カメラ付携帯端末１０４が撮像画像から付加情報の抽出（分離）が可能である状態（位置、姿勢）を維持するために、カメラ付携帯端末１０４の状態（位置、姿勢）を変化させないようユーザに通知するメッセージを出力してもよい。なお、メッセージの通知方法はこれに限るものではなく、単にＬＥＤ等の発光部品を規定の発光パターンで発光させても良い。また、ネットワークを介して上記のメッセージ文やメッセージを表現する画像（アニメーション画像を含む）、音声情報としてのメッセージを適当な送信先に送信しても良い。また、さらに位置情報を取得し、取得した位置情報の数に応じてプログレスバーの進行状況の変化を画面に表示する事も考えられる。
【０１３０】
また、ステップＳ１５０３においては、画像の上部と下部において位置情報が抽出されたか判定しているが、互いに異なる端部に対応する領域の組み合わせは、これに限らない。例えば右部と左部について判定を行ってもよい。また３箇所以上等、所定の複数個所について判定を行い、当該所定の複数個所について位置情報を取得可能と判定された場合に、ステップＳ１５０４における通知を行っても良い。
【０１３１】
さらに、画像の上部と下部の両方に対して判定を行う場合に限らず、例えば上部のみについて判定を行ってもよい。即ち、ユーザがスマートフォン等の撮像装置をユーザ側に傾けて撮影した場合には、画像の下部よりも上部において位置情報が抽出できない可能性が高い。そのため、上部において位置情報が抽出できた場合には下部においても抽出できている可能性が高いため、上部についてのみ判定を行っても良い。
【０１３２】
また、ステップＳ１５０２、Ｓ１５０３においては、印刷物に多重化された付加情報とは異なる位置情報について取得、判定を行っていたが、これに限らない。例えば上記付加情報について、取得、判定が行われても良い。
【０１３３】
図１７（ａ）に、ステップＳ１５０４においてディスプレイ１０９に表示されるメッセージの一例を示している。図１７（ａ）では、撮像画像から付加情報の抽出（分離）が可能であるから該抽出を開始し、現在付加情報の抽出中である旨を示すメッセージがディスプレイ１０９に表示されている。
【０１３４】
図１７（ｂ）に、ステップＳ１５０４においてスピーカー１０８から出力されるメッセージの一例を示している。図１７（ｂ）では、撮像画像から付加情報の抽出（分離）が可能であるから該抽出を開始し、現在付加情報の抽出中である旨を示すメッセージが音声としてスピーカー１０８から音声出力されている。
【０１３５】
なお、図１５のフローチャートでは、印刷画像に多重化した位置情報のうち最小値を表す位置情報、印刷画像に多重化した位置情報のうち最大値を表す位置情報のうち少なくとも一方を抽出していない場合には、ユーザに何も通知していない。しかし、このような場合においても、対応するメッセージ（他メッセージ）をユーザに通知しても良い。すなわち、撮像画像から付加情報の抽出（分離）が不可能である旨を示すメッセージ文や、撮像画像から付加情報の抽出（分離）が不可能である旨を示すメッセージを表現する画像（アニメーション画像を含む）をディスプレイ１０９に表示する。また、撮像画像から付加情報の抽出（分離）が不可能である旨を示すメッセージを表す音声をスピーカー１０８から音声出力する。なお、メッセージの通知方法はこれに限るものではなく、単にＬＥＤ等の発光部品を規定の発光パターンで発光させても良い。また、ネットワークを介して上記のメッセージ文やメッセージを表現する画像（アニメーション画像を含む）、音声情報としてのメッセージを適当な送信先に送信しても良い。
【０１３６】
また、印刷画像に多重化した位置情報のうち最小値を表す位置情報、印刷画像に多重化した位置情報のうち最大値を表す位置情報のうち少なくとも一方を抽出していない場合、カメラ付携帯端末１０４の姿勢を正す必要がある。例えば、カメラ付携帯端末１０４と印刷物１４０１との間の姿勢関係が図１４（ａ）に示すようなものであった場合、これを図１４（ｂ）に示す如く姿勢関係に正す必要がある。そこで、このような場合には、カメラ付携帯端末１０４の姿勢を正すべく移動を促す旨のメッセージをユーザに通知しても良い。
【０１３７】
また、印刷画像に多重化した位置情報のうち最小値を表す位置情報、印刷画像に多重化した位置情報のうち最大値を表す位置情報のうち少なくとも一方を抽出していない場合、カメラ付携帯端末１０４の姿勢をどのように正すのかを通知するようにしても良い。例えば、最小値を表す位置情報、最大値を表す位置情報のうち前者の抽出には成功し、後者の抽出には失敗しているとする。この場合、その一因として、撮像画像の上部付近に写っている印刷物の部分についてはピントが合っていて、撮像画像上の下部付近に写っている印刷物の部分についてはピントは合っていないことが考えられる。然るにこのような場合には、カメラ付携帯端末１０４の上部を軸にしてカメラ付携帯端末１０４を傾斜させることで撮像画像上の下部付近に写っている印刷物の部分にピントが合うようにすることを、文字列やアイコンなどを用いてユーザに通知すればよい。逆に、最小値を表す位置情報、最大値を表す位置情報のうち前者の抽出には失敗し、後者の抽出には成功しているとする。この場合、その一因として、撮像画像の下部付近に写っている印刷物の部分についてはピントが合っていて、撮像画像上の上部付近に写っている印刷物の部分についてはピントは合っていないことが考えられる。然るにこのような場合には、カメラ付携帯端末１０４の下部を軸にしてカメラ付携帯端末１０４を傾斜させることで撮像画像上の上部付近に写っている印刷物の部分にピントが合うようにすることを、文字列やアイコンなどを用いてユーザに通知すればよい。
【０１３８】
このように、メッセージの種別やその通知方法には様々なものが考えられる。また、上記の幾つかのメッセージを組み合わせて使用しても構わないし、通知方法も２種類以上を併用して使用しても構わない。
【０１３９】
なお、上記の例では、カメラ付携帯端末１０４の縦方向の傾きに注目しており、そのため、ブロック５０１及びこれに隣接する位置情報多重化ブロックから成るセット、ブロック５０３及びこれに隣接する位置情報多重化ブロックから成るセット、のそれぞれの位置情報を抽出するようにした。しかし、横方向の傾きに対応するためには、これらの２セットに、ブロック５０４及びこれに隣接する位置情報多重化ブロックから成るセットを加えた３セットの位置番号を取得すればよい。
【０１４０】
このように、撮像画像からどの位置情報（どの位置のブロック（セット））を読み出すのかについては、用途に応じて異なる。然るに、例えば、撮像画像からどの位置情報を読み出すのかをカメラ付携帯端末１０４の姿勢などの状況に応じて複数種保持しておき、現在のカメラ付携帯端末１０４の状況に応じた位置情報を読み出すようにしても構わない。
【０１４１】
また、位置情報として適用可能な情報は、上記のように、セット単位での通し番号に限るものではなく、他の情報を採用しても構わない。例えば、ＸＹ座標のブロック数や画素数、距離を用いても良いし、付加情報の内容と埋め込み位置とを紐づけて記憶しておき、付加情報の内容で埋め込み位置を特定することも出来る。
【０１４２】
このように本実施形態によれば、付加情報を埋め込んだ印刷物の撮像画像から該付加情報を読み出す前に、該印刷物上の異なる位置に埋め込まれた符号を抽出して解析することで、該読み出しが可能か否かを付加情報抽出の前にユーザに通知することができる。
【０１４３】
［第２の実施形態］
以下では、第１の実施形態の差分について重点的に説明し、以下で特に触れない限りは、第１の実施形態と同様であるものとする。第１の実施形態では、位置情報及び付加情報の両方を同じ方法で印刷画像に多重化しているが、本実施形態では、位置情報の多重化については、位置情報が第１の実施形態よりも高速に読み出されるように多重化する。
【０１４４】
例えば、位置情報を多重化する際に、第１の実施形態では図１８（ａ）に示す如く、Ｎ画素×Ｍ画素のサイズのブロック単位で多重化していた。これに対し、本実施形態では、位置情報を多重化する際には、図１８（ｂ）に示す如く、Ｎ’（Ｎ’＞Ｎ）画素×Ｍ’（Ｍ’＞Ｍ）画素のサイズのブロック単位で多重化する。位置情報多重化ブロックのサイズを大きくすることで位置情報を高速に読みだすことが出来る。また印刷時に多重化周期が劣化しにくいというメリットもある。ブロックサイズが大きい為、例え位置情報多重化ブロックの一部の多重化周期が劣化したとしても、その他の部分の多重化周期が残っている為、位置情報を読み出すことが出来る。また同様に位置情報多重化ブロックの多重化周期の解像度を低くしたり、多重化周期の強度を強くしても同様の効果が実現可能である。多重化周期の解像度を低くすると印刷時に多重化周期が劣化しにくい。また４値の誤差拡散処理を想定し、多重化強度の強い場所は４値で表現し、多重化強度の低い場所は２値で表現することで印刷時に多重化周期の強度が高い場所は劣化しにくい。
【０１４５】
なお、本実施形態では、位置情報多重化ブロックのサイズを付加情報多重化ブロックのサイズよりも大きくすることで、位置情報を多重化する際に付加情報と比較して撮影時に劣化しにくい、または印刷時に読みだしやすい多重化方法を使用した。ここで、その特性を生かしその他の方法に使用できる。
【０１４６】
例えば、印刷画像に対して位置情報に加えてユニークなＩＤ番号を多重化して印刷する。そしてこのような印刷物の撮影時には１回目は位置情報とＩＤ番号と付加情報を読み出し、カメラ付携帯端末１０４に記憶する。２回目に読みだす際はＩＤ番号を読み出した時にカメラ付携帯端末１０４に記憶済みのＩＤ番号と比較し、一致した場合は対応する記憶済みの付加情報を取得する事でより高速に付加情報の読み出しができる。
【０１４７】
また、印刷画像に対して位置情報に加えてバージョン番号を多重化すると、付加情報分離装置のバージョンに応じて処理フローを切り替える事が出来る。例えば、バージョン番号１．００が埋め込まれた印刷物とバージョン番号２．００が埋め込まれた印刷物とが存在し、バージョン番号１．００の印刷物をバージョン番号１．００の付加情報分離装置が撮像したとする。このとき、この付加情報分離装置は撮像画像からバージョン番号を読み出すのであるが、該読み出したバージョン番号は付加情報分離装置のバージョン番号と同じ１．００であるから以降の付加情報抽出処理を行う。一方、バージョン番号２．００の印刷物をバージョン番号１．００の付加情報分離装置が撮像したとする。このとき、付加情報分離装置は撮像画像からバージョン番号を読み出すが、該読み出したバージョン番号は付加情報分離装置のバージョン番号とは異なる２．００であるから「読み出し不可能」等を通知するためのメッセージを通知して以降の処理は行わない。
【０１４８】
（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【０１４９】
１０６：付加情報分離装置
【図１】
0006643854.tif 000002
【図２】
0006643854.tif 000003
【図３】
0006643854.tif 000004
【図４】
0006643854.tif 000005
【図５】
0006643854.tif 000006
【図６】
0006643854.tif 000007
【図７】
0006643854.tif 000008
【図８】
0006643854.tif 000009
【図９】
0006643854.tif 000010
【図１０】
0006643854.tif 000011
【図１１】
0006643854.tif 000012
【図１２】
0006643854.tif 000013
【図１３】
0006643854.tif 000014
【図１４】
0006643854.tif 000015
【図１５】
0006643854.tif 000016
【図１６】
0006643854.tif 000017
【図１７】
0006643854.tif 000018
【図１８】
0006643854.tif 000019