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