(57)【要約】      （修正有）【課題】画像データに情報を埋め込む多重化方式として複数の方式を利用可能な場合に、ユーザが煩わしい設定をすることなく、埋め込まれた情報を取得することが可能な画像処理装置、および画像に多重化された情報の復号方法およびプログラムを提供する。【解決手段】カメラ付携帯端末の多重化デコード用アプリを立ち上げる。このデコード用アプリは、印刷物を撮影する撮影機能Ｓ１４０１と、複数の異なる多重化パターンをデコードする多重化デコード機能Ｓ１４０２と、デコードして取得した情報をそれぞれ複数の異なるメモリ領域に格納する情報格納機能Ｓ１４０３と、カメラ付携帯端末のディスプレイに表示するコンテンツ再生機能Ｓ１４０４を持っている。【選択図】図１４
2017072958.tif 000002
【特許請求の範囲】
【請求項１】
複数の異なる多重化方法のうちの少なくとも一つによって付加情報が多重化された印刷物を撮影した画像情報から前記付加情報を取得する画像処理装置であって、
前記複数の異なる多重化方法に対応した複数の異なる復号方法により前記画像情報から前記付加情報の復号を試みる復号処理手段と、
前記復号処理手段により復号が成功した前記付加情報を出力する出力手段と
を有することを特徴とする画像処理装置。
【請求項２】
前記画像情報を分割したブロックを単位として前記付加情報は多重化されており、前記復号処理手段は、前記ブロックごとに、前記複数の異なる復号方法それぞれにより前記付加情報の復号を試み、成功した前記復号方法で前記画像情報の残りの部分について復号することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記復号処理手段は、前記画像情報の全体について、前記複数の異なる復号方法それぞれにより前記付加情報の復号を試みることを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記復号処理手段は、前記画像情報に含まれる領域ごとに、前記複数の異なる復号方法それぞれによる前記付加情報の復号を試みることを特徴とする請求項１に記載の画像処理装置。
【請求項５】
前記復号処理手段は、前記画像情報に含まれる領域から復号した前記付加情報により、前記付加情報が多重化された領域および当該領域の復号方法を特定し、特定した前記領域に多重化された付加情報を、特定した前記復号方法により復号することを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記複数の異なる多重化方法のうちのひとつとして、前記画像情報を分割したブロックを単位として、前記ブロックに前記付加情報の符号に対応した量子化閾値マトリクスにより前記ブロックを量子化することで前記付加情報を多重化する第１の多重化方法を含み、
前記復号処理手段は、前記ブロックごとに、当該ブロックに含まれる画像情報の空間周波数と前記量子化閾値マトリクスのパターンの空間周波数との一致の程度を判定し、一致の程度が所定値を超えていれば前記量子化閾値マトリクスに対応した符号を復号することを特徴とする請求項１乃至５のいずれか一項に記載の画像処理装置。
【請求項７】
前記第１の多重化方法における前記付加情報の符号と前記量子化閾値マトリクスとの対応付けを変えることで前記複数の異なる多重化方法とすることを特徴とする請求項６に記載の画像処理装置。
【請求項８】
前記第１の多重化方法と、前記第１の多重化方法とは異なる多重化方法を前記複数の異なる多重化方法とすることを特徴とする請求項６に記載の画像処理装置。
【請求項９】
前記復号処理手段は、前記複数の異なる復号方法それぞれを並行して行うことで、前記画像情報から前記付加情報の復号を試みることを特徴とする請求項１乃至８のいずれか一項に記載の画像処理装置。
【請求項１０】
前記復号処理手段は、前記複数の異なる復号方法を切り替えながら行うことで、前記画像情報から前記付加情報の復号を試みることを特徴とする請求項１乃至８のいずれか一項に記載の画像処理装置。
【請求項１１】
前記付加情報は、不可視情報であることを特徴とする請求項１乃至１０のいずれか一項に記載の画像処理装置。
【請求項１２】
前記付加情報は、可視情報と不可視情報とが混在していることを特徴とする請求項１乃至１０のいずれか一項に記載の画像処理装置。
【請求項１３】
前記可視情報と前記不可視情報が混在している画像において、前記復号処理手段は、前記可視情報から取得した付加情報と、前記不可視情報から取得した付加情報とを照合し、一致を判定することを特徴とする請求項１２に記載の画像処理装置。
【請求項１４】
印刷物を撮影して画像情報を得る撮影手段を更に有することを特徴とする請求項１乃至１３のいずれか一項に記載の画像処理装置。
【請求項１５】
前記出力手段は、前記付加情報を再生する再生手段を含むことを特徴とする請求項１乃至１４のいずれか一項に記載の画像処理装置。
【請求項１６】
複数の異なる多重化方法のうちの少なくとも一つによって付加情報が多重化された印刷物を撮影した画像情報から前記付加情報を取得する、画像に多重化された情報の復号方法であって、
前記複数の異なる多重化方法に対応した複数の異なる復号方法により前記画像情報から前記付加情報の復号を試み、
復号が成功した前記付加情報を出力する
ことを特徴とする復号方法。
【請求項１７】
請求項１乃至１５のいずれか１項に記載の画像処理装置の各手段としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置および画像に多重化された情報の復号方法およびプログラムに関し、特に、画像情報中に、該画像情報とは別の情報、例えば音声情報やテキスト文書情報、画像に関する諸情報など全く別の画像情報を付加情報として、視覚的に目立たぬように埋め込まれた印刷物から、該付加情報を撮像媒体で読み出す画像処理に関する。
【背景技術】
【０００２】
従来、画像情報中に、画像に関連のある他の情報を多重化する研究が盛んに行われている。近年では、電子透かし技術と称し、写真、絵画等の画像情報中に、その著作者名や、使用許可の可否等の付加情報を視覚的に判別しづらい様に多重化して、インターネット等のネットワークを通じて流通する技術が標準化されつつある。また、他の応用分野としては、複写機、プリンタ等の画像出力装置の高画質化に伴い、紙幣、印紙、有価証券等の不正な偽造を防止する目的で、紙上に出力された画像から出力機器、及び、その機体番号を特定する為に、画像中に付加情報を埋め込む技術がある。例えば、特許文献１では、印刷物に電子透かしを埋め込む際に、任意の一種類の電子透かし方式において、印刷物の種類や特性に応じて色や輝度を変更したパターンを埋め込むことで、そのパターンを目立たなくさせるという技術を提案している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第３９５９８９０号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１では、複数の異なる情報付加方式があり、そのうちのいずれかの方式で印刷物にパターンが埋め込まれる。その場合、特に電子透かし技術のようなユーザに不可視な多重化方式では、印刷物から該情報を取得する際にどのデコード方式で処理すべきか分からず、ユーザは一つ一つ試していく手間が発生してしまうという問題点がある。こ
本発明は上記従来例に鑑みて成されたもので、画像データに情報を埋め込む多重化方式として複数の方式を利用可能な場合に、ユーザが煩わしい設定をすることなく、埋め込まれた情報を取得することが可能な画像処理装置、および画像に多重化された情報の復号方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００５】
上記目的を達成するために本発明は以下の構成を有する。
【０００６】
複数の異なる多重化方法のうちの少なくとも一つによって付加情報が多重化された印刷物を撮影した画像情報から前記付加情報を取得する画像処理装置であって、
前記複数の異なる多重化方法に対応した複数の異なる復号方法により前記画像情報から前記付加情報の復号を試みる復号処理手段と、
前記復号処理手段により復号が成功した前記付加情報を出力する出力手段と
を有することを特徴とする画像処理装置。
【発明の効果】
【０００７】
本発明によれば、画像データに複数の異なる方式で情報が埋め込まれていても、ユーザが煩わしい設定をせずに、印刷物から埋め込まれた情報を取得することが可能となる。
【図面の簡単な説明】
【０００８】
【図１】実施形態の付加情報多重化装置と付加情報分離装置の全体外観図である。
【図２】図１の付加情報多重化装置を示す要部ブロック図である。
【図３】量子化手段の詳細を示すブロック図である。
【図４】印刷物作成の動作手順を示すフローチャートである。
【図５】紙面上の電子透かし重畳領域を説明した図である。
【図６】量子化閾値の変化の周期を説明した図である。
【図７】ＲＧＢの輝度情報に周期性を加算した付加情報多重化装置を示す要部ブロック図である。
【図８】撮影された画像内での画像の傾きの説明する図である。
【図９】空間フィルタの例を示す図である。
【図１０】周波数領域を説明した図である。
【図１１】電子透かし復号の動作手順を示すフローチャート図である。
【図１２】画素画素特定方法の例を示す図である。
【図１３】画素画素特定方法の例を示す図である。
【図１４】撮影した画像からコンテンツ再生するまでのフローチャートである。
【図１５】図１４の多重化デコード機能に格納された複数の異なるデコード処理を示す図である。
【図１６】一種類の付加情報が埋め込まれた印刷物を撮影した画像を示す図である。
【図１７】二種類の付加情報が埋め込まれた印刷物を撮影した画像を示す図である。
【図１８】付加情報とＱＲコード（登録商標）が付加された印刷物を読み取った画像を示す図である。
【図１９】付加情報とＱＲコード（登録商標）が付加された印刷物を読み取った画像を示す図である。
【図２０】読み取った画像から情報判定するまでのフローチャートである。
【発明を実施するための形態】
【０００９】
以下、図面を参照して本発明に係る好適な実施形態を詳細に説明する。尚、実施形態における画像処理装置は、付加情報を印刷物に埋め込む付加情報多重化装置と、該付加情報を印刷物から読み取る付加情報分離装置がある。付加情報多重化装置として、プリンタエンジンへ出力すべき画像情報を作成するコンピュータ内のプリンタドライバソフト、もしくは、アプリケーションソフトとして内蔵することが効率的であるが、複写機、ファクシミリ、プリンタ本体等にハードウエア、及びソフトウエアとして内蔵することも効果がある。付加情報分離装置として、カメラ付携帯電話、カメラ付スマートフォンやタブレットＰＣなどが挙げられる。以下、こうした撮像デバイスをカメラ付携帯端末と呼ぶ。一方、付加情報分離装置として例えば、デジタルスチールカメラで撮影した画像をコンピュータ内のアプリケーションソフトで付加情報を分離する一連の装置でもよい。端末はコンピュータ等の情報処理装置であり、したがって実施形態で説明する手順は情報処理装置によって実行される画像処理方法あるいは情報処理方法である。カメラ付携帯電話のカメラは外付けのカメラであってもよい。なお実施形態等で用語「印刷」あるいは「印刷物」を用いているが、印刷されたオブジェクトが文字のみとは限らない。写真や線画などの他のオブジェクトも含めて「印刷」あるいは「印刷物」と称しており、「出力」や「出力物」と言い替えることもできる。
【００１０】
（第１の実施形態）
図１は、第１の実施形態の画像処理システムの構成を示すブロック図である。
入力端子１００からは多階調の画像情報が、入力端子１０１からは、画像情報の中に埋め込むべき必要な付加情報が入力される。この付加情報は、入力端子１００にて入力される画像情報とは別の情報、例えば音声情報や動画情報、テキスト文書情報、入力端子１００にて入力される画像に関する著作権、撮影日時、撮影場所、撮影者等の諸情報、また、全く別の画像情報等、様々な応用が考えられる。
付加情報多重化装置１０２は、視覚的に判別しづらいように、画像情報中に付加情報を埋め込ませる装置である。この付加情報多重化装置１０２は、付加情報の多重化とともに、入力した多階調の画像情報の量子化をも司る。
プリンタ１０３は、付加情報多重化装置で作成された情報をプリンタエンジンにて媒体上に可視化し、印刷物として出力する。プリンタ１０３は、インクジェットプリンタ、レーザープリンタ等、疑似階調処理を用いることにより階調表現を実現するプリンタを想定する。
出力された印刷物上の画像は、カメラ付携帯端末１０４の撮像センサ１０５を用いて読みとり、付加情報分離装置１０６によって、印刷物に印刷された画像中に埋め込まれた付加情報を分離し、出力端子１０７に出力する。この出力端子１０７は、取得した付加情報を出力するインターフェイスであり、例えば音声情報であればカメラ付携帯端末１０４のスピーカー１０８への出力となり、画像情報であればディスプレイ１０９への出力となる。また、出力端子１０７は外部デバイスへデータを出力するインターフェイスでも構わない。また、カメラ付携帯端末１０４に複数の撮像センサがある場合、印刷物の撮影は第二撮像センサ１１１で行ってもよい。
【００１１】
＜付加情報多重化装置１０２の構成＞
図２は、図１の付加情報多重化装置１０２の構成を示すブロック図である。
誤差拡散部２００は、入力端子１００より入力された画像情報を誤差拡散法を用いた疑似階調処理することによって、入力階調数よりも少ない量子化レベルに変換し、複数画素の量子化値によって面積的に階調性を表現する。誤差拡散処理についての詳細は後述する。
ブロック化部２０１は、入力された画像情報を所定領域単位に区分する。このブロック化部２０１により行われるブロック化は矩形でも良いし、矩形以外の領域に区分しても良い。
量子化条件制御部２０２は、ブロック化部２０１にてブロック化した領域単位で量子化条件を変更し、制御する。量子化条件制御部２０２は、入力端子１０１から入力された付加情報に基づき、ブロック単位で量子化条件を制御する。量子化条件制御部２０２により制御され、出力される量子化条件には例えば量子化閾値を含む。２値化の場合には量子化閾値は１つであるが、多値化の場合には、量子化後の階調数に応じた数の閾値が出力される。また、階調数を量子化条件に含めてもよい。
制御部２１０は、ＣＰＵ２１１、ＲＯＭ２１２、ＲＡＭ２１３などを含む。ＣＰＵ２１１は、ＲＯＭ２１２に保持された制御プログラムを実行して、上述した各構成たとえば誤差拡散部２００、量子化条件制御部２０２の動作、及び処理を制御する。ＲＡＭ２１３は、ＣＰＵ２１１の作業領域として使用される。また上述したブロックは制御部２１０により制御されるハードウエアであってもよいが、制御部２１０によるプログラムの実行で実現される論理的な機能ブロックであってもよい。
【００１２】
＜誤差拡散処理部２００の構成＞
図３は、誤差拡散処理部２００の詳細を表すブロック図である。いま、量子化値が2値である誤差拡散処理を例にして説明する。
加算器３００は、入力された画像情報の注目画素値と既に２値化された周辺画素の分配された量子化誤差とを加算する。量子化条件制御部２０２からの量子化閾値と、加算器３００によって誤差が加算された画素値とを比較部３０１にて比較し、量子化閾値よりも大きい場合には"１"を、それ以外では"０"を出力する。例えば、８ビットの精度で画素の階調を表現する場合には、最大値である"２５５"と最小値である"０"で表現するのが一般的である。
いま、量子化値が"１"（すなわち２５５）の時に、紙上にドット（インク、トナー等）が印刷されると仮定する。減算器３０２は、量子化結果と、前述した注目画素値と分配された誤差との加算結果との誤差すなわち量子化誤差を算出し、誤差配分演算部３０３に基づいて、今後の量子化処理が施される周辺画素に誤差を配分する。誤差の配分割合は注目画素とその周辺画素との相対的な距離に基づいて実験的に設定された誤差の配分テーブル３０４を予め所有している。誤差配分演算部３０３は、配分テーブル３０４に記された配分割合に基づいて、減算器３０２により得られた量子化誤差を分配する。図３の配分テーブル３０４は、注目画素の周囲８画素のうち、量子化されていない４画素分の配分テーブルを示しているが、これに限るものではない。
【００１３】
＜量子化条件制御部および誤差拡散部による処理手順＞
次に量子化条件制御部２０２を含む全体の動作手順について、図４のフローチャートを基に説明する。いま、量子化値は２値である例について述べる。
Ｓ４０１では、制御部２１０が変数iの初期化を行う。変数iは処理対象の画素すなわち注目画素の垂直方向のアドレスをカウントする変数である。
Ｓ４０２では、制御部２１０が変数jの初期化を行う。変数jは注目画素の水平方向のアドレスをカウントする変数である。
続いてＳ４０３は、i、jのアドレス値による判定工程であり、制御部２１０が、現在の注目画素のアドレスである座標（i、j）が、多重化処理を実行すべき領域に属しているか否かを判定している。
【００１４】
図５を基に多重化領域について説明する。図５は、水平画素数がWIDTH、垂直画素数がHEIGHTから成る、ひとつの画像を示している。いま、この画像中に付加情報を多重化すると仮定する。画像の左上を原点とし、横Ｎ画素、縦Ｍ画素のブロックで画像をブロック化する。本実施形態では、原点を基準点としてブロック化を行うが、原点から離れた点を基準点として設定しても良い。この画像中に最大限の情報を多重化する場合に、Ｎ×Ｍのブロックを基準点から配置していく。すなわち、水平方向に配置可能なブロック数をＷ、垂直方向に配置可能なブロック数をＨとすると、以下の関係になる。
W = INT(WIDTH / N) ...式１
H = INT(HEIGHT / M) ...式２
但し、INT( )は( )内の値の整数部分を示す。
式１、式２において割り切れない剰余画素数が、Ｎ×Ｍのブロックを画像中に複数配置した時の端部に相当し、付加情報を多重化する領域の外、すなわち符号多重化領域外となる。図４のＳ４０３においては、注目画素が、原点を基準にして水平方向にＷ x Ｎ、垂直方向にＨ ｘ Ｍの矩形領域内にあれば符号多重化領域内と判定され、そうでなければ符号多重化領域外と判定される。ここでＮ，Ｍはブロック化部２０１によるブロックのサイズであり、ＷＩＤＴＨ，ＨＥＩＧＨＴは処理対象の画像データのサイズである。
【００１５】
図４中、Ｓ４０３にて、現在処理している注目画素が多重化領域外と判定された場合には、制御部２１０はＳ４０４にて量子化条件Ｃを設定する。一方、多重化領域内と判定された場合には、制御部２１０は多重化すべき付加情報をＳ４０５で読み込む。いま、説明を容易にする為に、付加情報をcode[ ]という配列を用いて、各１ビットずつ表現するものとする。例えば付加情報を４８ビット分の情報と仮定すると、配列code[ ]はcode[0]からcode[47]まで、各１ビットずつが格納されていることになる。Ｓ４０５において、変数bitに、以下のように配列code[ ]内の情報を代入する。
bit = code[INT(i / M)×W + INT(j / N)] ...式３
ここで式３の右辺のインデックスは、ブロックをラスタ順に配置したときの順番を示している。式３により、処理対象の画像データの各ブロックに付加情報の各ビットが対応付けられる。このことから、付加情報codeのビット数は、Ｗ×Ｈ以下であり、望ましくはＷ×Ｈと等しい。例えば図５ではブロック数は４×６＝２４であるが、codeが４８ビットであるなら、例えば８×６＝４８ブロックにブロック化することが望ましい。
【００１６】
続いて、制御部２１０は、Ｓ４０６にて、Ｓ４０５で代入した変数bitが"１"か否かを判定する。前述したように、配列code[ ]内の情報は配列要素ごとに１ビットずつ格納されている為、変数bitの値も"０"か"１"かの何れかを示すことになる。
制御部２１０は、Ｓ４０６にて"０"と判定した場合には、Ｓ４０７にて量子化条件Ａを設定し、"１"と判定した場合には、Ｓ４０８にて量子化条件Ｂを設定する。
続いてＳ４０９では、設定した量子化条件に基づいて制御部２１０が量子化処理を行う。誤差拡散部２００が行ってもよい。この量子化処理は、図３にて説明している誤差拡散法に相当する。
続いて、Ｓ４１０では水平方向変数jを１カウントアップし、Ｓ４１１にて画像の水平画素数であるWIDTH未満か否かを判定し、処理画素数がWIDTHになるまで前述の処理を繰り返す。また、水平方向の処理がWIDTH画素数分終了すると、Ｓ４１２にて垂直方向変数iを１カウントアップし、Ｓ４１３にて画像の垂直画素数であるHEIGHT未満か否かを判定し、処理画素数がHEIGHTになるまで前述の処理を繰り返す。
以上の動作手順により、Ｎ×Ｍ画素よりなるブロック単位で、付加情報に応じて量子化条件を変更することが可能になる。
【００１７】
＜量子化条件＞
続いて、量子化条件Ａ、Ｂ、Ｃの例について説明する。誤差拡散法における量子化条件は様々な因子があるが、第１の実施形態では、量子化条件は量子化閾値とする。量子化条件Ｃが選択される場合は、注目画素は多重化領域外である為に、量子化閾値は何でも良い。前述したように、１画素が８ビットによる階調表現で、量子化レベルが２値の場合には、最大値である"２５５"、及び、最小値である"０"が量子化代表値となるが、その中間値となる"１２８"を量子化閾値として設定することが多い。すなわち、量子化条件Ｃでは、量子化閾値を"１２８"固定とする条件にする。量子化条件Ａ、量子化条件Ｂを使用する場合は、注目画素が多重化領域内のブロックに属する為、量子化条件の違いによる画質の違いを生じさせなければならない。但し、画質の違いは視覚的には判別しにくいように表現し、かつ、紙上から容易に識別できなくてはならない。
【００１８】
図６は、量子化条件Ａ、Ｂを表した例である。図６（ａ）は、量子化条件Ａにおける量子化閾値の変化の周期を示した図である。図中、ひとつのマスを１画素とし、白いマスは固定閾値、灰色のマスを変動閾値とする。すなわち、図６（ａ）の例では、横８画素、縦４画素のマトリクスを組み、灰色のマスの閾値のみ突出した値を閾値として設定する。図６（ｂ）は、同様に、量子化条件Ｂにおける量子化閾値の変化の周期を示した図である。図６（ｂ）の例では、図６（ａ）とは異なり、横４画素、縦８画素のマトリクスを組み、灰色のマスの閾値のみ突出した値を閾値として設定する。
【００１９】
いま、前述したように１画素が８ビットの階調値で表される場合に、一例として、固定閾値として"１２８"、突出した閾値を"１０"と設定する。量子化閾値が低くなると、注目画素の量子化値が"１"（量子化代表値"２５５"）になりやすくなる。すなわち、図６（ａ）、（ｂ）ともに、図中の灰色のマスの並びで量子化値"１"が並びやすくなる。言い換えると、Ｎ×Ｍ画素のブロック毎に、図６（ａ）の灰色のマスの並びでドットが発生するブロックと、図６（ｂ）の灰色のマスの並びでドットが発生するブロックとが混在することになる。
【００２０】
誤差拡散法における量子化閾値の多少の変更は、画質的には大きな影響を及ぼさない。組織的ディザ法においては、使用するディザパターンによって、階調表現の画質が大きく左右される。しかし、前述したような、規則的に量子化閾値の変化を与えた誤差拡散法では、あくまでも画質を決定する階調表現は誤差拡散法であるため、ドットの並びが多少変化したり、テクスチャの発生が変化したりしても、階調表現の画質にはほとんど影響を与えないことになる。それは、量子化閾値が変化した場合でも、あくまでも信号値と量子化値との差分となる誤差は周囲画素に拡散される為、入力された信号値はマクロ的に保存されるためである。すなわち、誤差拡散法におけるドットの並び、テクスチャの発生に関しては冗長性が非常に大きいことになる。カラー画像データの場合には、各カラーコンポーネントについて上記の手順で量子化を行えばよい。
【００２１】
ところで、上記説明では、誤差拡散法の量子化閾値に符号を表す所定の周期性を重畳することにより多重化を実現してきたが、以下の方式も考えられる。
・直接RGBの輝度情報に周期性を重畳する方式
・RGBの輝度情報を輝度‐色差情報（例えばYCrCb信号）に分離して周期性を多重化する方式
・RGBの輝度情報をインク色（例えばCMYK信号）に分離して周期性を多重化する方式
周期性の多重化は上述のように量子化閾値を用いてもよい。
【００２２】
＜付加情報分離装置の構成＞
次に、図１の画像処理システムにおける付加情報分離装置１０６について説明する。図７は、付加情報分離装置１０６の構成を示すブロック図である。説明を容易にする為に、前述した情報付加多重化装置１０２の例と同様、分割したブロック内に各１ビットずつの付加情報が多重化されている印刷物から分離する例について説明する。当然、多重化装置における１ブロックあたりの付加情報量と、分離装置における１ブロックあたりの分離情報量は等しくなる。
入力端子７００には、カメラ付携帯端末１０４で読み込まれた画像情報が入力される。使用するカメラ付携帯端末１０４の撮像センサの解像度は、印刷物を作成するプリンタ解像度と同等以上が好ましい。当然、正確に印刷物のドットの点在情報を読み込む為には、サンプリング定理により、撮像センサ側はプリンタ側よりも２倍以上の解像度が必要になる。しかし、同等以上であれば、正確でなくとも、ある程度ドットが点在しているのを判別することは可能である。第１の実施形態では、説明を容易にするためにプリンタ解像度と撮像センサの解像度が同一解像度と想定する。
幾何学的ずれ検出部７０１は、カメラ付携帯端末１０４で撮影した画像の幾何学的ずれを検出する。処理対象の画像は、プリンタ出力、カメラ付携帯端末１０４撮影を経ている為に、入力端子７００から入力される画像情報は、プリンタ出力以前の画像情報とは幾何学的に大きくずれている場合がある。そこで、幾何学的ずれ検出部７０１では、印刷物と印刷物以外との境界線をエッジ検出にて検出する。
【００２３】
図８は、入力端子７００から入力される撮影画像を示した図である。いま、プリンタ解像度と撮像センサ解像度とが同一解像度であれば、プリンタの紙上記録時の斜行、及び、カメラ付携帯端末１０４を印刷物にかざす時のずれ等により、画像の回転方向（傾き）が補正すべき大きな要因となる。そのため、この印刷物の境界線を検出することにより、どの程度回転方向でずれが生じているかが判断できる。このずれ量は、たとえば水平方向の所定の画素数に対して垂直方向にずれた画素数などで表すことができる。
【００２４】
ブロック化部７０２は、横方向にＰ画素、縦方向にＱ画素単位にブロック化をする。このブロックは、電子透かしの重畳時にブロック化したＮ×Ｍ画素よりも小さくなければならない。すなわち、
Ｐ≦Ｎ、かつ  Ｑ≦Ｍ  ...  式４
の関係が成り立つ。
また、Ｐ×Ｑ画素単位のブロック化は、一定間隔で行う。すなわち、多重化時のＮ×Ｍ画素よりなるブロックと想定される領域内に、Ｐ×Ｑ画素単位のブロックがひとつ内包するようにブロック化する。つまりブロックのピッチは、水平方向についてＮ画素、垂直方向についてＭ画素が基本となり、この場合、ブロック間の間隙は、水平方向にＮ−Ｐ画素、垂直方向にＭ−Ｑ画素となる。ただし、上述したように原画像とキャプチャ画像との間にはずれがあり、幾何学的ずれ検出部７０１により検出したずれ量を１ブロックあたりのずれ量に換算して、スキップ画素数に加算して補正する必要がある。たとえば或るＰ×Ｑブロックの右横のＰ×Ｑブロックを決定する際に、単に水平方向のピッチがＮ画素となるようにＰ×Ｑブロックを決めるのではなく、右方向にＮ画素移動した場合の垂直方向のずれを検出したずれ量から求め、その画素数だけ垂直方向にずらした位置を基準としてＰ×Ｑブロックを確保する。
【００２５】
空間フィルタ７０３、７０４は、それぞれ特性の異なっており、フィルタリング部７０５は、周辺画素との積和を演算するディジタルフィルタリングを行う。この空間フィルタ７０３，７０４の各係数は、多重化時の量子化条件の変動閾値の周期に適応して作成する。いま、多重化装置１０２において、付加情報の値に応じて図６（ａ）、（ｂ）の２種の量子化閾値を用いることにより付加情報を画像データ多重化したとする。その時の分離装置１０６で使用する空間フィルタＡ７０３、空間フィルタＢ７０４の例を、図９（ａ）、（ｂ）に示す。図中、５×５画素の中央部が注目画素になり、それ以外の２４画素分が周辺画素になる。図中、空白部の画素は、フィルタ係数が"０"であることを表している。図から明らかな様に、図９（ａ）、（ｂ）はエッジ強調のフィルタになっている。しかも、その強調するエッジの方向性と多重化で用いた変動閾値の方向性（具体的には黒画素が並び易い方向性）とが一致している。つまり、図９（ａ）は図６（ａ）に、また、図９（ｂ）は図６（ｂ）に一致するように作成する。
【００２６】
画素特定部７０６、７０７は、Ｐ×Ｑ画素より成るブロック内のフィルタリング後の信号（以下、変換値と称す）を、ある規則性に基づいて画素位置の特定処理をする。第１の実施形態では、この特定する画素位置の規則性を周期性と位相とに分離して処理する。すなわち、画素特定部７０６、及び７０７では特定する画素位置の周期性が異なっていて、各々、位相を変化させた複数の画素位置特定処理を実行する。画素位置特定方法については後述する。
変換値加算部７０８は、画素特定部７０６、及び７０７にて特定した画素位置の変換値を、位相毎にそれぞれ加算する。この画素位置特定処理、及び、変換値の加算処理は、空間フィルタ７０３，７０４で強調した所定周波数ベクトルの電力を抽出することに相当する。周波数ベクトルとは、ここでは画像の水平方向と垂直方向それぞれの周波数成分の組であり、画像の二次元的な周波数特性を示す。
分散値算出部７０９は、位相毎に加算した複数の加算値の分散を、それぞれの周期性において算出する。
判定部７１０は、それぞれの周期性における分散値に基づいて、多重化された符号を判定する。
【００２７】
図１０は、二次元の周波数領域で第１の実施形態の概略を示した図である。横軸は水平方向の周波数、縦軸は垂直方向の周波数を示している。中心となる原点は直流成分を示し、原点から遠ざかるにつれて、高周波域となる。図中の円は、誤差拡散によるカットオフ周波数を示している。誤差拡散法のフィルタ特性は、低周波域がカットオフされたＨＰＦ（ハイパスフィルタ）の特性を示し、そのカットオフされる周波数は、対象画像の濃度に応じて変化する。今回、量子化閾値の変更により、量子化後に発生する周波数特性が変化するが、図６（ａ）に示した量子化閾値を用いて量子化された画像では、図１０の直線Ａ上の周波数ベクトルに、また、図６（ｂ）に示した量子化閾値を用いて量子化された画像では、図１０の直線Ｂ上の周波数ベクトルに大きなパワースペクトルが生じる。すなわち、図６（ａ）の閾値マトリクスの白い部分を１２８、黒い部分を１０とすると、黒い部分が黒画素となり易いことから、この閾値マトリクスを用いて量子化した画像では、垂直方向に４画素の整数倍の周期の、水平方向に８画素の整数倍の周期の成分すなわちその逆数の周波数特性が現れやすいと考えられる。つまり図６（ａ）の閾値マトリクスを用いて量子化した画像からは、垂直方向の周波数が水平方向の周波数のほぼ倍となる周波数ベクトルのパワースペクトルが検出される。図６（ｂ）では、水平方向と垂直方向とが図６（ａ）の場合と入れ替わることとなる。付加情報の分離時には、この大きなパワースペクトルが発生する周波数ベクトルを検出することが多重化信号の判定につながる。そこで、各々の周波数ベクトルを個別に強調、抽出することが必要になる。
【００２８】
図９（ａ）、（ｂ）は、特定の周波数ベクトルの方向性を有するＨＰＦに相当する。すなわち、図９（ａ）の空間フィルタでは、直線Ａ上の周波数ベクトルを強調することが可能になり、また、図９（ｂ）の空間フィルタでは、直線Ｂ上の周波数ベクトルを強調することが可能になる。例えば、今、図６（ａ）による量子化条件の適用により、図１０の直線Ａの周波数ベクトル上に大きなパワースペクトルが発生したと仮定する。その時に、図９（ａ）の空間フィルタでは直線Ａ上のパワースペクトルが増幅されるが、図９（ｂ）の空間フィルタでは、ほとんど増幅されない。すなわち、複数の空間フィルタを並列にフィルタリングした場合には、周波数ベクトルが一致した空間フィルタ時のみ増幅し、それ以外のフィルタでは増幅がほとんど無い為、いかなる周波数ベクトル上に大きなパワースペクトルが発生しているかが容易にわかる。
【００２９】
＜付加情報分離装置１０６による処理手順＞
図１１は、図７の画素特定部７０６、及び画素特定部７０７、変換値加算部７０８、分散値算出部７０９、判定部７１０の動作手順を示すフローチャートである。図１１の手順は、図１１に示した各構成要素で実行される。具体的には、Ｓ１１０３を画素特定部で、Ｓ１１０４を変換値加算部で、Ｓ１１０７を分散値部で、Ｓ１１１０，Ｓ１１１１を判定部７１０で実行する。その間にあるパラメータの設定処理や判定処理は例えば不図示の制御部などで行ってもよい。また、図１１で言及する周期性No.の値は画素特定部から分散値部に至る処理ブロックのシーケンスに対応しており、図７では周期性No.の数は０，１の２つである。すなわち図１１では周期性No.iの値を変えて直列的に処理されているが、図７のようにハードウエアで実現する場合には、異なる周期性No.に対応する処理は並列に実行される。このため図７の構成で図１１の手順を実行する際には、パラメータｉに関するＳ１１０８及びＳ１１０９は行われない。なお図１１の処理は、不図示のＣＰＵ等のプロセッサーあるいは制御部により図１１の手順全体を実現するためのプログラムを実行することで行われてもよい。以下の説明では、付加情報分離装置１０６が動作の主体であるとする。
図１１中、Ｓ１１０１、及びＳ１１０２では、変数の初期化を行い、本フローで用いる変数i、jの値を０に初期化する。
Ｓ１１０３では、画素特定部７０６、７０７による特定する画素位置の規則性の因子、すなわち、"周期性"及び"位相"の２因子を決定する工程である。本フローでは、周期性に関する変数をi、位相に関する変数をjとする。この周期性及び位相の条件は、番号（ナンバー）により管理されていて、いま、周期性ナンバー（以下No.と略す）がi、位相No.がjである画素位置特定方法の因子を設定する。この例については図１２、図１３を参照して説明する。この因子により処理対象の変換値の画像データ中における位置が特定される。なおｉ，ｊはそれぞれ周期性と位相とを示すインデックスであるが、以下では周期性ｉ、位相ｊと呼ぶこともある。
続いてＳ１１０４は、ブロック内で特定された位置の変換値を加算する工程である。加算した加算値を変数の配列TOTAL[i][j]として記憶する。パラメータｉ，ｊに応じて通常は複数の画素（変換値）が特定されるため、Ｓ１１０４では特定された位置の変換値の合計値を求めてTOTAL[i][j]に記憶する。
Ｓ１１０５にて変数jをカウントアップして、Ｓ１１０６にて固定値Jと比較する。Jは、位相を変化させて画素位置特定処理をする所定の回数が格納されている。もし、変数jがJ未満であればＳ１１０３に戻り、カウントアップ後のjによる新たな位相No.により、画素位置特定処理、及び、特定された位置の画素（すなわち変換値）の加算処理が繰り返される。インデックスｊの値が異なれば、特定される画素の位置も異なる。
【００３０】
位相をずらした画素位置特定処理、及び加算処理が設定回数終了した場合には、Ｓ１１０７にて、加算結果TOTAL[i][j]の分散値Ｂ[i]を算出する。すなわち、各加算結果が、位相の差により、どの程度ばらついているかを評価する。ここでは、iを固定して、インデックスｊについて０からＪ−１までのJ個のTOTAL[i][j]の分散値を求める。分散値はB[i]とおく。
【００３１】
Ｓ１１０８にて変数iをカウントアップして、Ｓ１１０９にて固定値Iと比較する。Iは、周期性を変化させて画素位置特定処理をする回数が格納されている。もし、変数iがI未満であればＳ１１０２に戻り、カウントアップ後のiによる新たな周期性No.の条件を用いて、再び、画素位置特定処理、及び、変換値の加算処理及び分散の算出が繰り返される。分散値は、特定の位相インデックスに対応する画素への値"１"（あるいは２５５等の画素の最大値）の平均値からのばらつきを示しており、ばらつきが小さいほど値は小さく、ばらついているほど値は大きくなる。
Ｓ１１０９にてiが設定回数終了したと判断されると、分散値B[i]はI個算出できたことになる。Ｓ１１１０にて、I個の分散値の集合から分散値の最大値を検出し、その時のiの値を変数imaxに代入する。
【００３２】
Ｓ１１１１では、符号の判定の工程であり、周期性No.がimaxである符号を多重化された符号であると判定して終了する。ただし、ブロック内の画像に対するフィルタ処理によってパワースペクトルが表れない場合には、現在行っている復号処理は、多重化方法に対応した復号処理ではなく、復号は失敗したものと判定して処理を終了するのが望ましい。逆にパワースペクトルが表れるなら復号は成功したと判断できる。この判定は例えばＢ[imax]が所定の条件を満たしていないことを判定して実現できる。所定の条件としては例えばＢ[imax]が所定の閾値以上であることを採用できるが、分散Ｂは正規化された値ではなく、固定的な閾値が適当ではない場合もある。そこで、Ｓ１１１１では、たとえば考え得る最大の分散値Ｂmaxを求め、Ｂ[imax]／Ｂmaxを所定の閾値と比較して、閾値より小さければ復号は失敗したものと判定して処理を終了する。また一つのブロックで判断せず、所定数の連続したブロックで前記条件を満たさない場合に、復号が失敗したものと判定してもよい。なお分散値Ｂmaxはたとえば以下の手順で求めることができよう。すなわち、特定の位相No.に対応する位置の画素値（変換値）を"１"（あるいは２５５など、画素値の最大値）に、他の画素値を０とした画像について、図１１の手順で分散を求め、その値をＢmaxとする。そして、その値を量子化閾値マトリクスごとに関連づけて格納し、用意しておく。このようにすることでＢ[imax]／Ｂmaxは０と１との間の値をとるよう正規化され、固定的な閾値と比較することができる。なおこの閾値は実験的に決定しておけばよい。
【００３３】
いま、I＝２、J＝４の例を示す。図１２、図１３は、ブロックサイズをＰ＝Ｑ＝１６とした時の画素位置の特定方法をテーブル形式にて示している。図中、ブロック内のひとマスが１画素に相当する。図ではブロック形状をＰ＝Ｑの正方としているが、正方には限らないし、矩形以外でも良い。
【００３４】
図１２は、周期性No. = 0のときの画素位置特定方法（図７の画素特定部Ａ７０６に相当）、図１３は、周期性No. = １のときの画素位置特定方法（図７の画素特定部Ｂ７０７に相当）を示している。図中、ブロック内の各画素に示している値は、位相No. jに対応する画素を示している。パラメータｊは位相を示しているが、周期性と位相とにより画素ブロック中の画素位置が特定されることから、図１１、図１２では、特定される位置の画素に位相No.ｊの値をマークして示した。例えば"０"と表示している画素は、j= 0のときに特定される位置の画素に対応する。すなわち、図１２、図１３ともに、位相は４種であり、位相No.jが０〜３の時の画素の特定方法に相当する。すなわち、周期性No.の値に応じて図１２や図１３に示したマトリクスが特定され、特定されたマトリクスにおける画素の位置が位相No.の値に応じて特定される。
【００３５】
図１２、図１３に示した、同じ位相インデックス（位相No.）に対応する画素位置の周期性は、図６（ａ）の周期性と、図６（ｂ）の周期性とにそれぞれ一致している。前述したように、図６（ａ）、（ｂ）ともに図中の灰色のマスの並びで量子化値"１"（但し、"０"、"１"の２値の場合）が並びやすくなる。その為、例えば、多重化時に量子化条件Ａであったブロックの場合には、図６（ａ）の周期性で量子化値"１"が並びやすくなり、その周期性に適合した空間フィルタによりフィルタリングすると更にその周波数成分が増幅される。そのため、特定の位相インデックスに対応する位置の画素に量子化値"１"が集中し、図１２の周期性で変換値を特定して加算すると、その加算結果の分散は大きくなる。
【００３６】
それに比べて、量子化条件Ａであったブロックを、適合しない空間フィルタを用いてフィルタリングし、なおかつ、図１３の周期性により画素位置を特定した場合には、変換値の加算結果の分散値は小さくなる。すなわち、量子化値の周期性と特定される画素位置の周期性とが異なる為、特定する画素位置の位相の違いによる変換値の加算値は平均的になり、ばらつきは小さくなる。反対に、多重化時に量子化条件Ｂであったブロックでは、図１２では、分散値は小さくなり、図１３では分散値は大きくなる。
【００３７】
図４に示したフローチャートの例を当てはめると、bit = ０を量子化条件Ａ、bit = １を量子化条件Ｂに設定している為、周期性No. = ０の分散値が大きいとき（すなわちｉｍａｘ＝０のとき）にはbit = ０、逆に周期性No. = １の分散値が大きいとき（すなわちｉｍａｘ＝１のとき）には bit = １と判断できる。すなわち、量子化条件と、空間フィルタ特性、及び、画素位置を特定する条件の周期性とを関連づけることで、容易に画像と符号との多重化および分離（あるいは逆多重化）が実現できる。本実施形態では、周期性No.は０と１の２種であり、ブロック内の多重化符号は１ビットであったが、多重化符号はこれ以上でも良いのは勿論である。当然、量子化条件の種類と、空間フィルタの種類、画素位置特定条件の周期性No.の種類（Ｉの値）とは一致する。
【００３８】
以上の説明から明らかなとおり、図１１の手順における所定の値Ｊは、画像データに多重化されている可能性のある符号情報の種類の数を示す。また所定の値Ｉは、１周期の間にとり得る位相の数を示す。本例では、位相は画素単位の離散的な値であるので、１周期の画素数をＩの値としてもよい。
【００３９】
図１１の手順は図５に示したブロックごとに適用されて、ブロックごとの量子化条件に対応する符号が判定される。そしてその例えばＷ×Ｈ個の符号を、ブロックの順序で配列することで、埋め込まれた符号情報を再生する。本例では、例えば量子化条件Ａは"０"に、量子化条件Ｂは"１"に相当するので、これをブロックの順序で並べて元の符号情報が再生される。なお相異なる２n＋１個の量子化条件（すなわち量子化閾値のパターン）を用意し、そのうちの２n個の量子化条件をｎビットの符号語にそれぞれ対応付けることで、１ブロックあたりｎビットの符号情報を多重化できる。
【００４０】
また図１１の手順は、一方の方向について図１１の手順を行うことで多重化した符号を特定できるのであれば、画像の一方の方向についてのみ実行すればよい。たとえば図６に示した量子化条件（すなわち符号パターン）は、一方の方向について図１１を実行することで区別できる。しかし、一方の方向だけでは多重化された符号をひとつに絞れない場合には、水平方向および垂直方向それぞれについて実行し、各方向について独立してｉｍａｘの値を決定した後に、それらを総合して最終的なｉｍａｘを決定してもよい。例えば一方の方向について複数の分散値Ｂ［ｉ］がほぼ同じ値となった場合、たとえば分散値の最大値との差分が所定値以内の分散値を最大値の候補とし、それら候補の分散値の周期性インデックスｉを、ｉｍａｘの候補として残しておく。そして水平および垂直の両方向についてｉｍａｘの候補を決定し、両方向に共通する周期性インデックスｉの値を最終的なｉｍａｘとして決定する。そしてそのインデックス値ｉｍａｘに関連付けられた符号を、画像に多重化された符号であると判定する。
【００４１】
また図１１の手順は、画像情報と付加情報の画素パターンとの相関を求める手順と言い替えることもできる。すなわち、付加情報が多重化された画像情報と、多重化された付加情報の各ビットあるいはビット群に対応する画素パターン（量子化閾値に相当するパターン）との相関度を求める。そして、相関が所定程度より低ければ復号は失敗したものと判断し、所定程度以上の相関があれば、相関する画素パターンに対応するビットあるいはビット群が多重化されているものと判断する。このことは、図１１の手順に限らず、上記相関の程度を求める手順を実行することで、多重化した付加情報を復号できることを意味している。あるいは、付加情報を多重化した画像のブロックごとに、当該ブロックに含まれる画像情報の空間周波数と量子化閾値マトリクスのパターンの空間周波数との一致の程度を判定し、一致の程度が所定の程度以上であれば、その量子化閾値マトリクスに対応した符号を復号する復号方法ということもできる。
【００４２】
第１の実施形態では、直交変換による量子化条件の規則性に対応した周波数の電力値の比較をしなくても、容易に符号を分離できる。しかも、実空間領域の処理の為、非常に高速に分離処理が実現できる。
【００４３】
以上、第１の実施形態を説明してきたが、量子化条件Ａ、Ｂ、及び、空間フィルタＡ、Ｂ、画素特定部Ａ，Ｂは一例であり、これに限るものではない。他の周期性を持たせても良いし、空間フィルタのタップ数、画素位置を特定するためのブロックサイズ等は前述した例よりも大きくても小さくても構わない。
【００４４】
また、図１１の動作手順では、本発明の思想を容易に説明するために、周期性No.である変数ｉ、及び、位相No.である変数ｊの繰り返し処理にて説明している。しかし、実際には、Ｐ×Ｑ画素よりなるブロック内の画素アドレスによる繰り返し処理の方が実現が容易である。すなわち、図１２、図１３に示したように、ブロック内の各画素アドレスに対して周期性No.、及び、位相No.の２種の情報をテーブルとして予め格納しておき、対応した周期性No.、及び、位相No.の各々の変数に対して変換値を加算していく方法である。この方法では、Ｐ×Ｑ画素分を処理するだけで、並列に、周期性No.、及び、位相No.の各集合の加算値を算出することができる。
【００４５】
また、図１１の動作手順では、空間フィルタ後の特定された位置の変換値の加算結果の分散を算出して、分散値の大小比較により、符号を判定していたが、これに限るものではない。分散値を用いない評価関数の比較による方法も考えられる。特定された位置の変換値の加算結果の偏りは、位相をずらした際に、ひとつの位相の時だけ値が突出しやすいため、"ばらつき度合い"が評価できれば良い。
【００４６】
例えば、ばらつき度合いを評価するには、分散値以外に次の評価関数が考えられる。
１．特定された位置の変換値を加算した加算値の最大値と最小値の差分
２．特定された位置の変換値を加算した加算値の最大値と２番目に大きな値との差分、もしくは、最小値と２番目に小さな値との差分のどちらか
３．特定された位置の変換値を加算した加算値によるヒストグラムを作成した時の、前後の順番の差分の最大値。
【００４７】
また、上記１、２、３の評価関数は絶対的な差分値であるが、これらの差分値と変換値、もしくは画素値や変換値の総和等との相対的な比率も評価関数として用いることができる。また、量子化値は２値化を例にして説明したが、これには限らない。
【００４８】
このように第１の実施形態によれば、画像をＭ×Ｎ画素よりなるブロック単位で量子化条件を変更し、該量子化条件に従って画像を量子化することにより画像に対して所定の情報を埋め込むことができるので、従来における情報埋め込み方法、例えば直交変換をして情報を埋め込む方法に比べて、画質劣化を抑制し、かつ高速に、かつ埋め込まれた情報が精度よく抽出できるように画像に対して情報を埋め込むことができる。
【００４９】
［符号多重化の具体例］
以下に、カメラ付携帯端末１０４にて、符号情報が多重化された画像情報を可視化した多重化印刷物を撮影し、撮影により得た画像情報をデコードして得られた符号情報をコンテンツ表示するフローについて、その詳細を図１４、図１５を用いて説明する。ここで、本実施形態では、写真や広告チラシやチケットといった様々な印刷物を想定する。また、埋め込まれる情報は、写真の被写体の詳細情報や、撮影時の音声データや動画データ、商品の生産者やメーカーや消費期限、チケットの座席情報などを想定する。なお、以下の説明では、画像情報に埋め込まれた付加情報を多重化情報と呼ぶこともある。
【００５０】
ユーザはまず、カメラ付携帯端末１０４の多重化デコード用アプリを立ち上げる。このデコード用アプリは、図１４に示すように、印刷物を撮影する撮影機能Ｓ１４０１と、複数の異なる多重化パターンをデコードする多重化デコード機能Ｓ１４０２と、デコードして取得した情報をそれぞれ複数の異なるメモリ領域に格納する情報格納機能Ｓ１４０３と、カメラ付携帯端末１０４のディスプレイ１０９に表示するコンテンツ再生機能Ｓ１４０４を持っている。各機能は、カメラ付携帯端末１０４の不図示のプロセッサーにより実行されるプログラムで、あるいはそれによって制御されるハードウエアデバイスで、あるいはその組み合わせによって実現される。
【００５１】
ユーザはカメラ付携帯端末１０４を印刷物にかざし、多重化パターンが読み取れる位置に調整する。その状態で撮影機能Ｓ１４０１によって印刷物を撮影して、その画像を保存する。
【００５２】
次に、多重化デコード機能Ｓ１４０２によって、撮影された画像に対して、複数の異なるデコード処理を行う。本実施形態では、三種類の異なる多重化情報Ａ、Ｂ、Ｃが存在するケースを扱う。そして、印刷物にはそのうちのいずれか一種類が埋め込まれていることを前提とする。多重化デコード機能Ｓ１４０２は、上記三種類の異なる多重化情報Ａ、Ｂ、Ｃにそれぞれ対応した、三種類の異なるデコード処理Ａ'、Ｂ'、Ｃ'が備えられている。これを図１５に示す。すなわち、多重化情報Ａはデコード処理Ａ'を、多重化情報Ｂはデコード処理Ｂ'を、多重化情報Ｃはデコード処理Ｃ'をかけることで、埋め込まれた情報を取得できるものとする。デコード処理の詳細は、図７および図１１で説明したのでここでは割愛する。なお多重化情報（すなわち多重化された付加情報）Ａは、図４の手順で多重化され、図１１の手順で逆多重化される付加情報である。多重化情報Ｂ，Ｃは、この方法と同一の方法で異なる量子化条件により多重化した情報であってもよい。また、異なる方法で多重化された付加情報であってもよい。その多重化の方法としてはたとえば、ランダムノイズを埋め込む方法で多重化する手法や、人の目に視認しにくい赤外線インクや黄色インクを用いて画像に情報をオーバーレイする手法などがある。もちろんこれら多重化情報は、多重化の方法に応じた復号方法でデコードする必要があり、一定のレベルの信号を復号できない場合には、いずれの方法も復号が失敗したものと判断され、そこで復号処理を停止することができる。
【００５３】
それぞれのデコード処理によって画像情報に埋め込まれた符号情報がデコードされた結果、取得された情報は情報格納機能Ｓ１４０３によって多重化デコード用アプリのメモリ領域に保存される。この取得された所定の情報とは、例えば、写真の撮影日時や人物の情報、撮影された時の音声、撮影位置の情報が記載されたホームページのＵＲＬであったり、スーパーの広告チラシに印刷された商品の情報、旅行雑誌に印刷された観光地情報などである。
【００５４】
最後に、コンテンツ再生機能Ｓ１４０４で、取得された所定の情報を表示または再生する。例えば、写真に写っている人物の名前やプロフィール、撮影された時の音声を再生、ＵＲＬ先にアクセスして、ホームページを表示するといった例が挙げられる。または、スーパーの商品のコンテンツ取得現在の価格や、観光地の現在の天気などでもよい。
【００５５】
ここから、多重化デコード用アプリが単一のデコード処理を必要に応じて切り替えながら行う処理（以下、シングルスレッドと呼ぶ）によって、複数の多重化デコード処理を略同時に行うシステムを説明する。撮影された画像は多重化デコード用アプリのメモリ領域に保存される。
【００５６】
デコード処理を始める前は、ユーザは印刷物のどこにどの種類の多重化情報が埋め込まれているか分からない。そこで、図１６に示すように、撮影された画像の先頭アドレスからデコード処理Ａ'、Ｂ'、Ｃ'をシングルスレッド上で順次かけていく。例えば、多重化情報Ａが１０画素×１０画素を１ブロックとして多重化されているなら、１０画素×１０画素を１ブロックとする符号多重化画像をデコードするためのデコード処理Ａ'を、撮影された画像中の先頭のブロックに施す。先頭のブロックは、たとえば図８で説明した要領でブロック分けしたブロックのうち、ラスタ走査順で先頭となるブロックである。復号した付加情報が取得できればその情報をデコード処理Ａ'用に確保されたメモリ領域に格納する。次に、多重化情報Ｂが例えば２０画素×２０画素を１ブロックとして多重化されているなら、２０画素×２０画素を１ブロックとする符号多重化画像をデコードするためのデコード処理Ｂ'を上述した要領で１つのブロックに適用する。この場合も上記同様に、復号した付加情報が取得できればその情報をデコード処理Ｂ'用に確保されたメモリ領域に格納する。多重化情報Ｃについても同様にデコード処理Ｃ'を施す。こうして、複数の異なるデコード処理を切り替えながら、撮影された画像から順にデコード処理をかけ、情報が取得できれば、各々のメモリ領域に格納していく。
【００５７】
ここで、複数の異なるデコード処理Ａ'、Ｂ'、Ｃ'をシングルスレッド上で各々のブロック別に切り替えながら処理していったが、印刷物の中に一種類の多重化方法でしか付加情報が埋め込まれていないことが予め分かっていれば、最初に付加情報が検出された多重化方法に限定して、その後のデコード処理をその多重化方法に対応した手順を行えばよい。つまり、撮影された画像を先頭アドレスからデコード処理Ａ'、Ｂ'、Ｃ'をかけていき、最初にデコード処理Ａ'にて情報が取得されたなら、その後は画像の最後端までデコード処理Ａ'のみをかける。こうすることで、デコード処理Ｂ'、Ｃ'をかける負荷が省けて、処理速度の短縮化を図ることができる。
【００５８】
一方、シングルスレッドにおいて、別の処理方法も提案する。撮影された画像全面すなわち画像情報全体にまずはデコード処理Ａ'をかけ、それが終了すると再度画像の先頭アドレスに戻り、次に画像全面にデコード処理Ｂ'をかけ、それが終了すると今度は画像全面にデコード処理Ｃ'をかけるという方法である。埋め込まれた情報が例えば動画であり、全てをデコードし終わるのに時間がかかり、さらには全てをデコードし終えないと再生できない場合は、このように画像全面を一つのデコード処理で行う方法が、ユーザに早くコンテンツ再生できるので望ましい。
【００５９】
続いて、多重化デコード用アプリが複数のデコード処理を並行して行う処理（以下、マルチスレッドと呼ぶ）によって、複数の多重化デコード処理を略同時に行うシステムを説明する。この方法は、デコード処理の数に応じてスレッドを立てて、それぞれのスレッドで異なるデコード処理を行う。シングルスレッドの例と同様に、撮影された画像は多重化デコード用アプリのメモリ領域に格納され、各スレッドからアクセスできるものとする。マルチスレッドによる処理方法は、デコード処理を三つ並行して行えるので、シングルスレッドと比べて処理速度の短縮化を図ることができる。多重化デコード用アプリのメモリ領域に、情報格納機能Ｓ１４０３によって各デコード処理の結果を格納し、デコード処理Ａ'で多重化情報がデコードできた場合、その結果を表すフラグを立てておく。こうすれば、印刷物に多重化情報Ａが存在していることがわかるので、他のスレッドからデコード処理Ａ'のフラグを参照すれば、デコード処理Ｂ'とデコード処理Ｃ'をその時点で終了すれことができる。このようにフラグを参照して不要なスレッドを中止することで、スレッドの数を減らし、多重化デコード用アプリの処理負荷を低減することができる。
【００６０】
ところで、撮影機能Ｓ１４０１でピンボケや手ぶれなどで印刷物がうまく撮影できていないと、多重化デコード機能Ｓ１４０２で多重化情報が正しく読み取れないことも考えられる。その場合は、カメラ付携帯端末１０４のディスプレイ１０９に再度撮影を行うようエラーメッセージを表示してもよい。
【００６１】
（第２の実施形態）
本実施形態では、図１７に示すように、印刷物に三つの異なる多重化情報Ａ、Ｂ、Ｃのうち少なくとも二つが埋め込まれていることを前提とする。ここでも、シングルスレッドとマルチスレッドのそれぞれについて説明する。
【００６２】
まず、シングルスレッドでデコード処理を行う場合は、第１の実施形態と同様に、撮影された画像の先頭アドレスからデコード処理Ａ'、Ｂ'、Ｃ'をそれぞれのブロック毎に順に切り替えながらかけていく。この方法によると、最初に多重化情報Ａがデコードされる（図１７参照）。その間、デコード処理Ｂ'、Ｃ'は中断すればよい。その後、多重化情報Ａの領域の復号処理が終了すると、再度デコード処理Ａ'、Ｂ'、Ｃ'を順次切り替えながら、画像にかけていく。なお多重化情報Ａの領域の復号処理の終了は、あるブロックに対するデコード処理Ａ'による復号が失敗したことをきっかけとするので、当該ブロック以降の領域については、デコード処理Ａ'を除いたレコード処理Ｂ'、Ｃ'を順次切り替えて復号を試みてもよい。デコードが完了した多重化情報Ａについては、完了した時点でコンテンツ再生機能Ｓ１４０４にて情報を表示すればよい。こうすることで、次のデコード処理を待たずに、ユーザにコンテンツを表示することができる。さらに、デコード処理を続けると、図１７に示すように、今度は多重化情報Ｂがデコードされる。ここでも、多重化情報Ｂがデコードし終わるまでは、デコード処理Ａ'、Ｃ'を中止にすればよい。そうすることで、処理速度の短縮化を図ることができる。
【００６３】
図１７の多重化情報Ａに、多重化情報Ｂが画像の中のどの位置にあるかといった情報を埋め込んでおいてもよい。つまり、多重化情報Ａをデコードしたのちに、多重化情報Ｂが埋め込まれた画像領域までアドレスを移動し、そこからデコード処理Ｂ'のみを行う。つまり、次の、或いは次以降の多重化情報の位置を埋め込んでおくことで、処理速度の短縮化を図ることができる。
【００６４】
ところで、第１の実施形態で、シングルスレッドにて画像全面にデコード処理Ａ'をかけ、次に再び画像全面にデコード処理Ｂ'をかけ、その次に再び画像全面にデコード処理Ｃ'をかけた。本実施形態でも同様の処理方法を行ってもよい。この場合、デコード処理Ａ'でデコードされた画像領域がどこかといった位置情報を、情報格納機能Ｓ１４０３で保存しておく。その画像領域には多重化情報Ｂ、Ｃは埋め込まれていないので、デコード処理Ｂ'とＣ'を行う際に、その位置情報を参照することで、デコード処理Ｂ'とＣ'を省略することができる。
【００６５】
次に、マルチスレッドにてデコード処理を行う方法を説明する。第１の実施形態と同様に、三つのスレッドによって、撮影された画像の先頭アドレスからデコード処理を行う。図１７で先に説明したように、デコード処理Ａ'にて多重化情報Ａの結果が、デコード処理Ｂ'にて多重化情報Ｂの結果が取得され、その情報は情報格納機能Ｓ１４０３で格納される。通常は、先にデコードされた多重化情報Ａをコンテンツ再生機能Ｓ１４０４にて再生すればよい。ところが、多重化情報Ａが例えばホームページのＵＲＬであって、現在のネットワーク環境が接続されにくい場合、本来次に表示すべきだった多重化情報Ｂが、ネットワークが接続されるまで表示されないことになる。このような場合には、二番目に取得された多重化情報Ｂを先に表示するといった、コンテンツ表示の順番を入れ替える。例えば、コンテンツ再生機能Ｓ１４０４の中で、コンテンツ再生の待機時間を設けておき、その時間内に表示できない情報に関しては、表示順を最後に移動させる。そして、次に表示する予定だったコンテンツを先に再生する。これにより、ユーザは複数の情報を待ち時間を減らして取得することができる。
【００６６】
また、第１の実施形態と同様、デコード処理Ａ'でデコードできた場合に、情報格納機能Ｓ１４０３にてそのフラグを立てておく。こうすれば、図１７に示す印刷物の左上の領域に多重化情報Ａが存在していることがわかり、他のスレッドであるデコード処理Ｂ'とＣ'の処理を、その画像領域においては処理を終了すればよい。また、多重化情報Ａの最後に、埋め込んだ情報の終了個所を示す信号を入れておけば、それをデコードした時点で多重化情報Ａの終了を識別できる。終了が識別できた画像領域を情報格納機能Ｓ１４０３にてフラグを立てておけば、他のスレッドのデコード処理が参照して、該画像領域のデコード処理は行わないようにしておく。こうして、多重化デコード用アプリの処理負荷を低減することができる。
【００６７】
これまでは、一つの印刷物を撮影してデコード処理するケースについて述べてきたが、例えばアルバムのように、複数の写真が並べられた１ページを撮影するケースも本発明が適用できる。アルバムの１ページ内に２枚の写真が並べられ、一つ目の写真に多重化情報Ａが、二つ目の写真には多重化情報Ｂが埋め込まれていると、その１ページを撮影した画像は図１７に他ならない。上記で説明したように、この撮影画像を複数の異なるデコード処理を行うことで、二つの写真からそれぞれ所定の情報を取得することができる。
【００６８】
本実施形態では、図１７では二つの多重化情報ＡとＢが印刷物上で重ならないことを想定したが、これら多重化情報が重なって印刷される場合もある。図７でも説明したように、本実施形態の多重化情報は周期性を制御して埋め込んでいるため、複数の多重化情報が印刷物上で重なった場合は、デコードできない可能性がある。そのため、複数の異なるデコード処理を行う際に、多重化情報が埋め込まれた領域が重なっていることが分かれば、多重化デコード用アプリで、その旨を示す警告などを表示すればよい。
【００６９】
（第３の実施形態）
上記二つの実施形態は、ユーザに不可視の不可視情報を印刷物に埋め込む例について述べた。第３の実施形態として、ユーザに不可視の多重化情報とバーコードやＱＲコード（登録商標）に代表されるユーザに可視の可視情報が混在する印刷物について説明する。
【００７０】
ユーザに不可視の多重化情報は、前述したように、写真や図柄など元々印刷物に印刷されているものに対して、印刷物のデザインを崩すことなく、情報を埋め込むことができる。その反面、ユーザは印刷物のどこに情報が埋め込まれているのか、識別できないという欠点がある。一方、バーコードやＱＲコード（登録商標）のようにユーザに可視の情報は、ユーザが印刷物のどこに情報が記載されているかを把握することができる。その反面、印刷物の空白部分に印刷しないといけないので、自由なデザインレイアウトを阻害することがある。
【００７１】
こうした利点や欠点を踏まえて、ユーザに存在を知らせたい重要な情報は、ＱＲコード（登録商標）にして誰でも識別しやすくすればよい。例えば、広告チラシの印刷物において、詳細な情報を得るためにネットワークに接続させるなら、そのＵＲＬをＱＲコード（登録商標）にして印刷物に入れることで、ユーザの利便性を高めることができる。一方で、印刷物のデザインを崩してまで入れる必要がない付属的な情報や、限られたユーザのみに情報を提供したい場合などは、多重化情報として印刷物の元々のデザインに埋め込めばよい。
【００７２】
コンサートのチケットや航空券のチケットを例に、図１８を用いて説明する。これまで述べてきた撮影デバイスは、カメラ付携帯端末１０４であったが、ここでは入場ゲートにある読み取りセンサとする。図１８の画像が、チケットを読み取りセンサで読み取った画像である。コンサート会場や空港では、入場ゲートで読み取りセンサにＱＲコード（登録商標）をかざして入場するケースがある。チケットのＱＲコード（登録商標）には、購入者情報や座席情報などが埋め込まれている。ところが、バーコードやＱＲコード（登録商標）のように広く知られた仕様では、その中身の情報を改ざんされる恐れがある。そうした場合に、不可視の多重化情報をＱＲコード（登録商標）の付近に埋め込んでおくことが有効である。ＱＲコード（登録商標）と同じ情報または改ざんされてはいけない情報のみを、多重化情報ＡとしてＱＲコード（登録商標）の付近に配置しておく。入場ゲートシステムにおけるデコード処理フローは、図２０のようになる。入場ゲートの読み取りセンサにかざされたチケットは、読み取り機能Ｓ２００１によって撮像される。デコード機能Ｓ２００２には、ＱＲコード（登録商標）をデコードする処理部と多重化情報Ａをデコードする処理部があり、マルチスレッドにて撮影画像からそれぞれデコードを行う。デコードによって取得された情報は、情報格納機能Ｓ２００３に格納される。次に、情報判定機能Ｓ２００４で、ＱＲコード（登録商標）から取得された情報と、多重化情報Ａから取得された情報とを照合し、真偽を判定する。もしＱＲコード（登録商標）が改ざんされていて、多重化情報Ａと不整合が発生した場合、入場ゲートを開けない、もしくは偽物であることを入場ゲートのディスプレイに表示する、もしくは入場ゲートから電子音を出して警告するといった機能を備えればよい。こうして、ユーザに識別しやすいようにチケットにＱＲコード（登録商標）を印刷して、その内容を管理し、一方で多重化情報を埋め込んで改ざん防止を行う。コンサート会場や空港では、短時間で大勢の客の入場に対応しなければならない。本実施形態では、マルチスレッドによる複数の異なるデコード処理によって、この課題を解決できる。
【００７３】
次に、図１８、１９に本実施形態の印刷物の一例を示す。図１８は印刷物内に占めるＱＲコード（登録商標）の面積より多重化情報Ａの面積の方が大きい。逆に、図１９は印刷物内に占める多重化情報Ａの面積よりＱＲコード（登録商標）の面積の方が大きい。広告チラシの印刷物で、ユーザに明示的に知らせたい情報が少ない場合は、図１８のようにＱＲコード（登録商標）を少なくして、その他の付属情報を広告チラシの写真領域に埋め込む。これにより、写真領域を減らすことなく、必要な情報を広告チラシ一枚に埋め込められる。一方で、例えば広告チラシに掲載する商品の数が多く、それぞれにユーザに明示的に知らせたい情報がある場合は、写真領域を減らしてその分ＱＲコード（登録商標）の数を増やし、空白領域にＱＲコード（登録商標）を印刷する。その中で、写真領域に多重化情報を埋め込む。このように、ユーザに明示したい情報量と、広告チラシのデザインレイアウトを考慮し、ＱＲコード（登録商標）の量と多重化情報の量を決定するのが望ましい。その際に、先に記したようにデコード機能Ｓ２００２でＱＲコードと多重化情報Ａをデコードし、Ｓ２００３でそれぞれ取得した情報を格納する。こうすることで、広告チラシに埋め込まれた情報を、ユーザがデコード方法を切り替えることなく、取得することができる。
【００７４】
ところで、ＱＲコード（登録商標）やバーコードと多重化情報の二つの方法で、印刷物に同じ情報を埋め込む利点が、上記以外にもある。一般的にＱＲコード（登録商標）やバーコードは視認性を高めるために、黒で印刷されることが多い。すなわちインクジェットプリンタでは黒インクのみで印刷されることが多い。一方で、多重化情報は写真や図柄に埋め込むため、黒インク以外にも一般的にカラーインク（シアン、マゼンタ、イエローなど）で印刷されることが多い。ここで、印刷途中に黒インクがなくなったり、インクジェットプリンタのノズルが詰まって黒インクが出なくなった場合、ＱＲコードは印刷できない。その際、カラーインクによって多重化情報が印刷物に埋め込まれていれば、多重化情報をデコードすることで所定の情報を取得することができる。
【００７５】
（その他の実施形態）
上記実施形態において、シングルスレッドで複数の異なるデコード処理を行う場合、デコード処理Ａ'、Ｂ'、Ｃ'の順番に処理を行ってきた。しかし、デコード処理の順番はこれに限らない。例えば、前回の撮影画像にて、デコード処理Ｃ'で所定の情報が取得できたなら、今回のデコード処理もＣ'から行ってもよい。
【００７６】
また、ユーザが使用するデコード処理が決まっているなら、多重化デコード用アプリのＵＩ上で使用するデコード処理を予め選択すればよい。こうすることで、使用しないデコード処理を省き、処理負荷を軽減することができる。
【００７７】
また、複数の異なる多重化情報から、複数の異なる所定の情報を取得した場合、コンテンツ再生機能Ｓ１４０４で表示する順番を予め定めておいてもよい。例えば、一つの撮影画像の中に複数の写真がレイアウトされていて、それぞれの写真から撮影日時、撮影時の音声、撮影場所などが取得できた場合、写真が撮影された時系列順に音声ファイルを再生させるといったことが考えられる。または、多重化情報が埋め込まれた位置の順に一つのリストを作成し、それを一括表示してもよい。
【００７８】
その他、撮像デバイスとして、第１〜第２の実施形態ではカメラ付携帯端末１０４を、第３の実施形態では入場ゲートの読み取りセンサを例に挙げた。本発明は情報が埋め込まれた印刷物が撮影できれば、そのデバイス形態は問わない。例えば、通信機能がついたデジタルスチールカメラ、パソコンに接続されているデジタルスチールカメラ、スキャナでもよい。さらには、眼鏡に内蔵されたウェアラブルカメラや車載カメラなどで、屋外に飾られた広告看板を撮影し、そこに埋め込まれた多重化情報から所定の情報を取得するといったケースも、全て本実施形態が適用できる。
【００７９】
また本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００８０】
１００  画像情報、１０１  付加情報、１０２  付加情報多重化装置、１０３  プリンタ、１０４  カメラ付携帯端末、１０５  撮像センサ、１０６  付加情報分離装置
【図１】
2017072958.tif 000003
【図２】
2017072958.tif 000004
【図３】
2017072958.tif 000005
【図４】
2017072958.tif 000006
【図５】
2017072958.tif 000007
【図６】
2017072958.tif 000008
【図７】
2017072958.tif 000009
【図８】
2017072958.tif 000010
【図９】
2017072958.tif 000011
【図１０】
2017072958.tif 000012
【図１１】
2017072958.tif 000013
【図１２】
2017072958.tif 000014
【図１３】
2017072958.tif 000015
【図１４】
2017072958.tif 000016
【図１５】
2017072958.tif 000017
【図１６】
2017072958.tif 000018
【図１７】
2017072958.tif 000019
【図１８】
2017072958.tif 000020
【図１９】
2017072958.tif 000021
【図２０】
2017072958.tif 000022