(57)【要約】【課題】色の変調によって付加情報が埋め込まれた画像の撮影画像から、その付加情報を適確に抽出すること。【解決手段】撮像部８０１によって、色の変調によって付加情報が埋め込まれた画像を撮影する。ホワイトバランスの設定部１７０１は、撮像センサ２０２によって撮影された画像のホワイトバランスの調整値として、付加情報が埋め込まれた画像に対応付けられた調整値を設定し、その設定値に基づいて、色調整部８０２がホワイトバランスを調整する。【選択図】図１８
2019009745.tif 000002
【特許請求の範囲】
【請求項１】
画像を撮影する撮影手段と、前記撮影手段によって撮影された画像のホワイトバランスを調整する調整手段と、前記調整手段によってホワイトバランスが調整された画像を処理する処理手段と、を含む情報処理装置であって、
前記撮影手段によって撮影される画像は、付加情報に応じて少なくとも色成分が変調された画像データに基づいて記録された付加情報埋め込み画像を含み、
前記調整手段は、前記付加情報埋め込み画像に対応付けられた調整値に基づいて、前記撮影手段によって撮影された前記付加情報埋め込み画像のホワイトバランスを調整し、
前記処理手段は、前記調整手段によってホワイトバランスが調整された前記付加情報埋め込み画像に対応する画像データの色成分の変調を解析することにより、当該画像データから前記付加情報を抽出することを特徴とする情報処理装置。
【請求項２】
前記調整値は、前記付加情報埋め込み画像用の一定のデフォルト値であることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記調整値は、前記付加情報埋め込み画像における前記色成分の変調条件に応じて異なることを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記調整手段は、前記撮影手段の撮影環境に応じて自動的にホワイトバランスを調整するオートホワイトバランス調整機能を備え、
前記調整手段は、前記付加情報埋め込み画像のホワイトバランスの調整時には前記オートホワイトバランス調整機能を用いないことを特徴とする請求項１から３のいずれか１項に記載の情報処理装置。
【請求項５】
前記調整手段は、前記撮影手段の撮影環境に応じて自動的にホワイトバランスを調整するオートホワイトバランス調整機能を備え、
前記調整手段は、前記調整値に基づいて、前記付加情報埋め込み画像のホワイトバランスの許容調整範囲を設定し、かつ、前記オートホワイトバランス調整機能により、前記許容調整範囲内において前記付加情報埋め込み画像のホワイトバランスを調整することを特徴とする請求項３に記載の情報処理装置。
【請求項６】
前記調整手段は、選択可能な複数の調整値に基づいて、前記付加情報埋め込み画像のホワイトバランスを調整することを特徴とする請求項２から５のいずれか１項に記載の情報処理装置。
【請求項７】
前記調整手段は、前記付加情報に応じて少なくとも色成分が変調された画像データを生成するアプリケーションのバージョンと、前記付加情報埋め込み画像の特徴の解析結果と、のうちの少なくとも一方に基づいて、前記調整値を選択することを特徴とする請求項６に記載の情報処理装置。
【請求項８】
前記調整手段は、前記付加情報埋め込み画像と共に記録物に記録された情報に基づいて、アプリケーションのバージョンを判定することを特徴とする請求項７に記載の情報処理装置。
【請求項９】
前記撮影手段は、前記付加情報埋め込み画像を照明する光源を備え、
前記調整手段は、前記光源の色温度に応じた調整値に基づいて、前記付加情報埋め込み画像のホワイトバランスを調整することを特徴とする請求項１から８のいずれか１項に記載の情報処理装置。
【請求項１０】
画像を撮影する撮影手段と、前記撮影手段によって撮影された画像のホワイトバランスを調整する調整手段と、前記調整手段によってホワイトバランスが調整された画像を処理する処理手段と、前記撮影手段によって撮影される画像を照明する光源と、を備えた情報処理装置であって、
前記撮影手段によって撮影される画像は、付加情報に応じて少なくとも色成分が変調された画像データに基づいて記録された付加情報埋め込み画像を含み、
前記調整手段は、前記撮影手段の撮影環境に応じて自動的にホワイトバランスを調整するオートホワイトバランス調整機能を備え、
前記情報処理装置は、前記付加情報埋め込み画像のホワイトバランスの調整時には前記オートホワイトバランス調整機能を用いず、前記光源の色温度に応じた調整値に基づいて、前記撮影手段によって撮影された前記付加情報埋め込み画像のホワイトバランスを調整し、
前記処理手段は、前記調整手段によってホワイトバランスが調整された前記付加情報埋め込み画像に対応する画像データの色成分の変調を解析することにより、当該画像データから前記付加情報を抽出することを特徴とする情報処理装置。
【請求項１１】
請求項１から１０のいずれか１項に記載の情報処理装置と、
前記付加情報埋め込み画像が記録された記録物を作成する作成装置と、
を含むことを特徴とする情報処理システム。
【請求項１２】
前記作成装置は、前記付加情報に応じて少なくとも色成分が変調された画像データを生成する生成手段と、前記生成手段によって生成された前記画像データに基づいて、前記付加情報埋め込み画像を記録する記録手段と、を含むことを特徴とする請求項１１に記載の情報処理システム。
【請求項１３】
撮影された画像のホワイトバランスを調整してから、ホワイトバランスが調整された画像を処理する情報処理方法であって、
撮影される画像は、付加情報に応じて少なくとも色成分が変調された画像データに基づいて記録された付加情報埋め込み画像を含み、
前記情報処理方法は、
前記付加情報埋め込み画像に対応付けられた調整値に基づいて、撮影された前記付加情報埋め込み画像のホワイトバランスを調整する工程と、
ホワイトバランスが調整された前記付加情報埋め込み画像に対応する画像データの色成分の変調を解析することにより、当該画像データから前記付加情報を抽出する工程と、
を含むことを特徴とする情報処理方法。
【請求項１４】
請求項１３に記載の情報処理方法をコンピュータに実行させるためのプログラム。
【請求項１５】
請求項１４に記載のプログラムが記憶された記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記録画像に埋め込まれた付加情報を抽出するための情報処理装置、情報処理システム、情報処理方法、プログラム、および記憶媒体に関するものである。
【背景技術】
【０００２】
特許文献１には、電子カメラによって撮影した画像の画像データに付加情報（電子透かし情報）を埋め込み、画像処理用コンピュータによって、その付加情報が埋め込まれた画像データから付加情報を検出する技術が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第４６４５７５８号
【発明の概要】
【発明が解決しようとする課題】
【０００４】
付加情報を埋め込む場合には、その付加情報を視覚的に判別しづらくするために、色の変調によって付加情報を埋め込むことが望ましい。このように色の変調によって付加情報が埋め込まれた画像を記録し、その記録画像をカメラ内臓の携帯端末等の情報処理装置によって撮影して、その撮影画像から付加情報を抽出しようとした場合、情報処理装置によって撮影画像の色味が変化するおそれがある。具体的には、情報処理装置において、撮影画像のホワイトバランスを撮影環境に応じて調整した場合、その調整値によって撮影画像の色味が変化する。ホワイトバランスを撮影環境に応じて自動的に調整するオートホワイトバランス調整機能を用いた場合も同様である。このように撮影画像の色味が変化した場合には、色の変調によって埋め込まれた付加情報が抽出できなくなるおそれがある。
【０００５】
本発明の目的は、色の変調によって付加情報が埋め込まれた画像の撮影画像から、その付加情報を適確に抽出することができる情報処理装置、情報処理システム、情報処理方法、プログラム、および記憶媒体を提供することにある。
【課題を解決するための手段】
【０００６】
本発明の情報処理装置は、画像を撮影する撮影手段と、前記撮影手段によって撮影された画像のホワイトバランスを調整する調整手段と、前記調整手段によってホワイトバランスが調整された画像を処理する処理手段と、を含む情報処理装置であって、前記撮影手段によって撮影される画像は、付加情報に応じて少なくとも色成分が変調された画像データに基づいて記録された付加情報埋め込み画像を含み、前記調整手段は、前記付加情報埋め込み画像に対応付けられた調整値に基づいて、前記撮影手段によって撮影された前記付加情報埋め込み画像のホワイトバランスを調整し、前記処理手段は、前記調整手段によってホワイトバランスが調整された前記付加情報埋め込み画像に対応する画像データの色成分の変調を解析することにより、当該画像データから前記付加情報を抽出することを特徴とする。
【発明の効果】
【０００７】
本発明によれば、色の変調によって付加情報が埋め込まれた画像を撮影し、その付加情報が埋め込まれた画像に対応付けられた調整値に基づいて、その撮影した画像のホワイトバランスを最適に調整することにより、付加情報を高精度に抽出することができる。
【図面の簡単な説明】
【０００８】
【図１】本発明の第１の実施形態における多重化エンコード処理部の異なる基本構成の説明図
【図２】本発明の第１の実施形態における多重化デコード処理部の基本構成の説明図
【図３】図１の多重化エンコード処理部のブロック図
【図４】図３における画像データの復元部の動作を説明するためのフローチャート
【図５】図３における色補正テーブルの一例の説明図
【図６】図６の色補正テーブルのグリッド点間の値を補間する四面体補間法の説明図
【図７】図３における色分解テーブルの一例の説明図
【図８】誤差拡散法における誤差分配方法の説明図
【図９】画像データの処理に用いるマスクデータの説明図
【図１０】多重化エンコード処理を説明するためのフローチャート
【図１１】図３における付加情報の多重化部のブロック図
【図１２】図９のマスクパターンを数値化したパターンの説明図
【図１３】画像データの記録処理を説明するためのフローチャート
【図１４】図２の多重化デコード処理部のブロック図
【図１５】図１４の多重化位置の検出部による画像データの周波数特性の判定方法の説明図
【図１６】画像データの周波数特性と、判定領域と、の関係の説明図
【図１７】多重化デコード処理を説明するためのフローチャート
【図１８】本発明の第１の実施形態における多重化デコード処理部の特徴的な構成の説明図
【発明を実施するための形態】
【０００９】
以下、本発明の実施形態を図面に基づいて説明する。
【００１０】
（第１の実施形態）
本発明の第１の実施形態における情報処理システムは、画像情報に付加情報を埋め込む多重化エンコード処理部と、撮影画像から付加情報を抽出する多重化デコード処理部と、含む。以下においては、情報処理システムの基本構成と、情報処理システムの特徴的な構成（特に、多重化デコード処理部の構成）と、に分けて説明する。
【００１１】
（１）基本構成
（１−１）多重化エンコード処理部のハードウェア
図１（ａ），（ｂ）は、情報処理システムにおいて、画像情報に付加情報（「多重化情報」および「埋め込み情報」といもいう）を埋め込む多重化エンコードのためのハードウェア（多重化エンコード処理部）の構成例の説明図である。このハードウェアは、画像データ（画像情報）Ａと付加データ（付加情報）Ｂとを取得し、それらの情報Ａ，Ｂが埋め込まれた記録物Ｃを生成する。図１（ａ）のハードウェアは、プリンタ（記録装置）とは別の装置によって、画像データＡに付加情報Ｂを埋め込む処理を行うように構成されている。図１（ｂ）のハードウェアは、プリンタ（記録装置）内において、画像データＡに付加情報Ｂを埋め込む処理を行うように構成されている。
【００１２】
図１（ａ）の構成において、入力端子１００から入力される画像データＡは、色成分を含む多階調の画像データである。入力端子１０１から入力される付加情報Ｂは、テキスト文書データ、音声データ、動画データ、あるいは、テキスト文書情報、音声情報、画像、動画情報を圧縮したデータ、および他のバイナリ値に変換されたデータなどである。付加情報の多重化装置１０２は、後述するように、画像データＡに付加情報Ｂを埋め込む処理（「多重化処理」および「埋め込み処理」ともいう）を行う。プリンタ（記録装置）１０３は、付加情報Ｂが埋め込まれた画像データＡに基づく記録動作によって、記録物Ｃを生成する。
【００１３】
図１（ｂ）の構成において、図１（ａ）の多重化装置１０２に相当する付加情報の多重化部１０５は、プリンタ１０３に含まれている。図１（ａ）の構成と同様に、入力端子１００から画像データＡが入力され、入力端子１０１かれ付加情報Ｂが入力される。プリンタ１０３内の付加情報の多重化部１０５は、画像データＡに付加情報Ｂを埋め込む処理を行う。また、プリンタ１０３内の記録部１０６は、付加情報Ｂが埋め込まれた画像データＡに基づく記録動作によって、記録物Ｃを生成する。このように付加情報Ｂが埋め込まれた画像データＡに基づいて記録物Ｃを生成する処理を「多重化エンコード処理」ともいう。
【００１４】
図２は、情報処理システムにおいて、記録物Ｃに記録された画像情報から付加情報Ｂを抽出する多重化デコードのためのハードウェア（多重化デコード処理部）の構成例の説明図である。このハードウェアは、多重化エンコード処理された記録物Ｃをカメラなどの撮像装置によって撮像して、その撮影画像を解析することによって、その画像に埋め込まれている付加情報Ｂを抽出（「読み出し処理」、「分離処理」、および「抽出処理」ともいう）する。
【００１５】
図２において、撮像センサ２０２を保持するカメラ付きモバイル端末（情報処理装置）２０１は、記録物Ｃの撮影機能をもつ。付加情報の分離装置２０３は、撮像センサ２０２によって撮影された画像を解析することによって、後述するように、付加情報Ｂを抽出する。ＣＰＵ（中央演算装置）２０４は、プログラムにしたがって情報処理方法を実行し、ＲＯＭ２０５には、ＣＰＵ２０４によって実行されるプログラムが記憶されている。ＲＡＭ２０６は、ＣＰＵ２０４によるプログラムの実行時に、各種情報を一時的に記憶するためのメモリとして機能する。ハードディスク等の２次記憶装置２０７は、画像ファイルおよび画像解析結果を含むデータベースなどを保存する。ディスプレイ２０８は、ＣＰＵ２０４の処理結果などをユーザに提示する。キー入力装置２０９は、タッチパネル機能を備えるディスプレイ２０８を用いて、タッチパネルの操作によって処理の指示および文字の入力等を行う。無線ＬＡＮ（Local Area Network）２１０はインターネット１１５に接続されており、インターネットに接続されたサイトにアクセスして、ディスプレイ２０８にサイトの画面などを表示させる。無線ＬＡＮ２１０は、データを送受信などにも用いられる。スピーカー２１１は、抽出された付加情報が音声データまたは音声付動画データの場合に、音声を出力する。また、インターネットの接続先に動画データがある場合には、その動画データの再生時に音声を出力する。
【００１６】
カメラ付きモバイル端末２０１は、撮像センサ２０２を内蔵する構成に限定されない。例えば、モバイル端末２０１とは別の装置によって撮像センサ２０２を制御して、撮影画像を付加情報の分離装置２０３に送信する構成であってもよい。撮像センサ２０２としては、デジタルカメラおよびビデオカメラなどを用いることができ、また、付加情報の分離装置２０３としては、パソコンおよびスマートフォンなどを用いることができ、記録物Ｃから付加情報Ｂを抽出できる構成であればよい。以下においては、記録物Ｃから付加情報Ｂを抽出する方法を「多重化デコード処理」ともいう。
【００１７】
（１−２）多重化エンコード処理のためのファームウェア構成
図３は、多重化エンコード処理のための基本的なファームウェア構成のブロック図である。画像データは、以下の処理が施され、記録ヘッドに接続された記録エンジンが受信可能な解像度および階調数に変換されてから、記録エンジンに送信される。
【００１８】
（１−２−１）付属情報取得部
付属情報の取得部３０１は、画像データを圧縮する際に使用された各種パラメータを取得する。その取得された各種パラメータは、画像データの復元部３０２に送られて、圧縮された画像から画像データを抽出するための処理に利用される。また、その取得された各種パラメータは、圧縮度を算出するための処理に利用される。例えば、入力画像は、文書データをＪＰＥＧフォーマットで圧縮して得られた非可逆画像データであり、記録媒体に記録される。非可逆画像データには、圧縮する際に使用された量子化テーブルと画像データサイズとが含まれている。取得された画像データサイズ情報および量子化テーブルは、画像データの復元部３０２に送られる。
【００１９】
（１−２−２）画像データ復元部
画像データの復元部３０２は、符号化された画像データを復号化して、画像データを抽出する。以下においては、入力画像をＪＰＥＧ画像として説明する。
【００２０】
図４は、符号化された画像データを復号化するプロセスを説明するためのフローチャートである。例えば、ＪＰＥＧのデータ形式である画像がＮ個の８画素正方ブロック（８×８画素のブロック）に分割されているものとする。まず、１番目のブロックを８画素正方ブロック単位でハフマン符号化し（Ｓ４１，Ｓ４２）、取得した量子化テーブルを用いて逆量子化し（Ｓ４３）、次に、それを逆ＤＣＴ変換する（Ｓ４４）。これを対象画面のＮ個の全ブロックについて実行する（Ｓ４５，Ｓ４６）。ＪＰＥＧの復号化処理は既に公知である方法を用いるため、以下において、ハフマン符号化、逆量子化、逆ＤＣＴ変換の詳細については割愛し、それらの概略のみについて説明する。
【００２１】
ハフマン符号化は、頻度の高いデータに短いビット数の符号を割当てることによって、全体のビット数を減らすように圧縮する方法である。ハフマン復号化は、予めハフマン符号を仕様で定義しておいて、元のデータに復号化する。逆量子化においては、付属情報の取得部３０１によって取得された量子化テーブル（画像データを圧縮する際に使用された量子化テーブル）を用いる逆量子化により、画像データに展開する処理である。逆ＤＣＴ変換は、直流成分（ＤＣ成分）と交流成分（ＡＣ成分）にＤＣＴ変換された画像データを元の画像濃度成分のデータに戻すための逆変換を行う処理である。ＪＰＥＧ圧縮は、輝度Ｙ、色差Ｃｂ、Ｃｒ形式で実施されることが多く、その場合、逆ＤＣＴ処理が施されたデータもＹＣｂＣｒの形式になる。下式１により、ＹＣｂＣｒ形式の値をＲＧＢ形式の画像信号値に変換する。
式１：
Ｒ  ＝  Ｙ  ＋  １．４０２×Ｃｒ
Ｇ  ＝  Ｙ  −  ０．３４４×Ｃｂ  −  ０．７１４×Ｃｒ
Ｂ  ＝  Ｙ  ＋  １．７７２×Ｃｂ
【００２２】
（１−２−３）画像補正部
画像補正部３０３は、画像データの復元部３０２により複合化されたＲＧＢデータに対し、画像の補正処理を施す。画像の補正としては、全体の色を明るくまたは暗くする明度調整、コントラスト調整、およびカラーバランスの調整の他、写真の記録を想定した逆光補正および赤目補正などの様々な補正が挙げられる。これらの補正を画像補正部３０３において一元的に処理することにより、記録装置に依存しない処理を実現することができる。
【００２３】
（１−２−４）解像度変換部
解像度変換部３０４は、画像データを記録装置に対応する解像度に変換する。入力される画像データと、記録装置の解像度と、に応じて導き出された変倍量に基づいて、拡大または縮小の処理を施す。変倍処理としては、ニアレストネイバー、バイリニア、バイキュービック法などが存在し、処理の特性、および処理速度を考慮して適宜選択すればよい。
【００２４】
（１−２−５）色補正部
色補正部３０５は、記録装置による記録画像が好適な色となるように、画像データに変換処理を施す。例えば、表示装置に表示された画像を記録する場合、表示装置と記録装置における色再現範囲は必ずしも一致しない。ある色では記録装置の再現範囲の方が狭く、また、別の色では記録装置の再現範囲の方が広い場合がある。そのため、画像の劣化を最小限にして、適宜、色の圧縮および伸長を行う必要がある。
【００２５】
本例において、それらの処理をＲＧＢ形式で実施する。つまり、記録装置の再現性を考慮して、色補正部３０５に入力されたＲＧＢ値を記録装置用のＲＧＢ値（以下、「記録装置用ＲＧＢ」ともいう）に変換する。この変換は、マトリクスなどの演算によって行うことも可能である。一般的には、３次元の色補正テーブル３１１が利用される。入力されるＲＧＢ値を各色８ビット（２５６階調）とした場合、全ての組み合わせを保持することは記憶容量の観点から現実的でないため、色補正テーブル３１１として、所定の間隔で間引かれたテーブルを用いる。
【００２６】
図５は、色補正テーブル３１１の一例の説明図である。本例の色補正テーブル３１１は、各色２５６階調を１７点のグリッド点とし、それに対応する記録装置用ＲＧＢ値を記載したテーブルである（１７＊１７＊１７＝４９１３グリッド点）。グリッド点間の値は、補間処理を利用して算出する。補間方法は、幾つかの方法の中から選択して利用することができ、本例においては四面体補間法を利用した。四面体補間法とは、３次元空間の分割単位を四面体として、４つの格子点を用いる線形補間である。この四面体補間法においては、まず、図６（ａ）のように３次元空間を四面体に分割してから、ターゲットとなる点ｐが、分割された四面体のうちのいずれに属するかを決定する。その四面体の４頂点をそれぞれｐ０、ｐ１、ｐ２、ｐ３とし、図６（ｂ）のように、その四面体をさらに細かい小四面体に分割する。各点の変換値をそれぞれｆ（ｐ０）、ｆ（ｐ１）、ｆ（ｐ２）、ｆ（ｐ３）とした場合、下式２により補間値ｆ（ｐ）を求めることができる。
【００２７】
【数１】
2019009745.tif 000003
【００２８】
ここで、ｗ０、ｗ１、ｗ２、ｗ３は、各頂点ｐｉと反対向位置における小四面体の体積比である。このように、対象となるＲＧＢ値に対応した記録装置用ＲＧＢ値を算出する。その場合、階調性を考慮して、出力を８ビット以上としてもよい。また、色補正テーブルは、記録装置の色再現範囲にも依存するため、例えば、記録に使用する記録用紙（記録媒体）が異なる場合は、それに応じたテーブルを準備することが望ましい。
【００２９】
（１−２−６）インク色変換部
インク色変換部３０６は、色補正部３０５によって変換された記録装置用ＲＧＢ値をインク色の値に変換する。この変換には、記録装置用ＲＧＢ値の組み合わせと、インク色の値と、が予め対応付けられた色分解テーブル３１２を用いる。色補正部３０５と同様に、インク色変換部３０６においてもグリッド点１７のテーブルを利用する。
【００３０】
図７は、色分解テーブル３１２の一例の説明図である。本例の色分解テーブル３１２において、インク色として、シアン（Ｃ）、マゼンタ（Ｍ）、イエロー（Ｙ）、ブラック（Ｋ）の４色を想定し、各グリッド点に対応した４色の値が記載されている。これらの値は、記録用紙（記録媒体）の記録面上においてインクが溢れないこと、インク同士が隣接した際に滲まないこと、などを考慮して決定される。そのため、記録に使用する記録用紙（記録媒体）が異なる場合は、それに応じた色分解テーブル３１２を準備することが望ましい。また、上述の色補正部３０５と同様に、記録装置用ＲＧＢ値に対応するインク色の値は、四面体補間処理によって補間することができる。
【００３１】
（１−２−７）濃度補正部３０７
インクジェット記録装置においては、記録用紙（記録媒体）上にドットを形成するために付与されるインクの量が多くなるにしたがって、ドットの重なりが増加し、画像の記録濃度が上昇しにくくなる。濃度補正部３０７は、このような濃度の応答性を均一にするために濃度を補正する。このような濃度補正により、色補正テーブル３１１および色分解テーブル３１２の作成精度が確保しやすくなる。Ｃ（シアン）、Ｍ（マゼンタ）、Ｙ（イエロー）、Ｋ（ブラック）のインクを用いる記録装置においては、それらのインク色について濃度補正を行う。本例おいては、１次元の濃度補正テーブル３１３を用いる。そのテーブルとしては、インク色毎の入力８ビット（２５６階調）に対応したテーブルを用意しておけばよく、特に間引くことなく、入力信号値と補正後の出力信号値とを対応付けたテーブルを用いることができる。
【００３２】
（１−２−８）階調変換部３０８
階調変換部３０８は、インク色毎に変換されて濃度補正が施された多ビットデータを、記録装置において記録可能な階調数に変換する。本例においては、記録「１」／非記録「０」の２階調（１ビット）に変換し、階調の変換方法としては、画像の低周波成分を排除して、視覚に好適な階調の再現が可能な誤差拡散法を用いる。また、入力信号として、０〜２５５の８ビットのデータを想定する。
【００３３】
図８は、誤差拡散法における誤差分配方法の説明図である。ターゲットピクセルの信号値Ｌと、しきい値ＴＨと、を比較する。本例においては、０〜２５５を２値化するためにしきい値を１２７とし、下記のように、そのターゲットピクセルが「１」（記録）または「０」（非記録）のいずれであるかを判定する。
Ｌ＞ＴＨ    ・・・・・・    １（記録）
Ｌ≦ＴＨ    ・・・・・・    ０（非記録）
【００３４】
この判定結果に応じて、量子化代表値Ｖを下記のように設定する。
１（記録）    ・・・・・・    ２５５
０（非記録）  ・・・・・・    ０
【００３５】
このように量子化代表値Ｖを設定することにより、発生する誤差Ｅ（＝Ｌ−Ｖ）は、図８の分配係数にしたがって周囲のピクセルに分配される。
【００３６】
次のターゲットピクセルの信号値Ｌに、分配された誤差Ｅaを加算した値Ｌａと、しきい値と、を比較し、下記のように、そのターゲットピクセルが「１」（記録）または「０」（非記録）のいずれであるかを判定する。
Ｌａ＞ＴＨ    ・・・・・・    １（記録）
Ｌａ≦ＴＨ    ・・・・・・    ０（非記録）
【００３７】
このような処理を全てのピクセル、および全てのインク色Ｃ、Ｍ、Ｙ、Ｋに対して実行するころにより、記録可能な１ビットのインク色毎の記録データが得られる。
【００３８】
（１−２−９）付加情報
付加情報３０９は、図１（ａ）の多重化装置１０２もしくは図１（ｂ）多重化部１０５において、画像データＡに埋め込まれる付加情報Ａであり、テキスト文書データなどである。テキスト文書データは、例えば、既に公知である文字コードを利用して、数字および文字を数値に割り当てた数値データであり、この数値データが付加情報３０９として多重化部３１０に送信される。
【００３９】
具体例として、「ｈｅｌｌｏ」という文字に対応するテキスト文書データについて説明する。テキスト文書データは、数値データいわゆるバイナリデータとする。バイナリデータとは「０」もしくは「１」の情報であり、この「０」もしくは「１」の情報の連続的なつながりが特定の意味を持つ。バイナリデータと文字との対応は、「文字コード」によって定義されている。文字コードの中の１つである「シフトＪＩＳ」の場合、「ｈ」はバイナリデータの「０１１０１０００」に対応する。同様に、「ｅ」は「０１１００１０１」、「ｌ」は「０１１０１１００」、「ｏ」は「０１１０１１１１」のバイナリデータに対応する。したがって、「ｈｅｌｌｏ」という文字はバイナリデータでは、「０１１０１００００１１００１０１０１１０１１０００１１０１１０００１１０１１１１」と表現できる。逆に、「０１１０１００００１１００１０１０１１０１１０００１１０１１０００１１０１１１１」というバイナリデータを取得できれば、「ｈｅｌｌｏ」という文字を取得することができる。付加情報３０９は、このようなバイナリデータに変換された数値データに対応する。
【００４０】
（１−２−１０）付加情報多重化部
付加情報の多重化部３１０は、解像度変換部３０４において変換された画像データと、付加情報３０９と、を受け取り、画像データに付加情報３０９を埋め込む。この埋め込み処理（多重化処理）においては、付加情報３０９（「０」、「１」のバイナリデータに変換されたテキスト文書など）が埋め込まれた画像データの記録画像から、その付加情報３０９が読み取れるように、付加情報３０９を画像データに埋め込む。例えば、付加情報３０９の「０」，「１」のバイナリデータが読み取れるように、画像データにマスク処理を施して、バイナリデータに対応する「０」，「１」の情報を埋め込む。本例においては、画像データにマスク処理を施すことにより、所定領域の画像データに、「０」,「１」のバイナリデータに対応する異なる周期性を持たせる。
【００４１】
図９（ａ）,（ｂ）は、「０」、「１」のバイナリデータに対応するマスクデータの説明図である。これらのマスクデータは、５ｐｘ（画素）×５ｐｘ（画素）の領域に対応する大きさである。これらのマスクデータは、５ｐｘ（画素）×５ｐｘ（画素）の領域に対応する画像データに対して、図９（ａ）または図９（ｂ）の異なる周期性を持つパターンを画像に組み合わせることにより、「０」，「１」のバイナリデータを埋め込む。記録画像を読み込む際に、その読み取りデータの周波数解析などによって、「０」，「１」のバイナリデータに対応する周期性を認識することにより、それらの「０」，「１」のバイナリデータを読み取ることができる。
【００４２】
付加情報の多重化部３１０においては、付加情報３０９のバイナリデータ（数値データ）に基づいて、画像データに、「０」，「１」のバイナリデータに対応する周期性を持たせることにより、付加情報３０９を埋め込む。画像データに対する付加情報３０９の埋め込み方法の一例として、画像データを１色のグレー画像データとし、その画像データの全体に、「０」,「１」のバイナリデータを埋め込む方法について説明する。
【００４３】
多重化される画像のサイズは縦幅６４０ｐｘ、横幅４８０ｐｘとし、マスクデータは、図９（ａ）,（ｂ）と同様に５ｐｘ×５ｐｘの大きさとする。図９（ａ）のマスクデータによって、「０」のバイナリデータが表現され、図９（ｂ）によって、「１」のバイナリデータが表現されるものとする。図９（ａ）,（ｂ）のマスクデータにおいて、５×５の画素ブロックは、黒ブロック１１０１と白ブロック１１０２と斜線ブロック１１０３とに分けられる。黒ブロック１１０１は数値「＋２」に対応し、白ブロック１１０２は数値「０」に対応し、斜線ブロック１１０３は数値「−１」に対応する。maskAがtrueの場合には、「０」に対応する図８（ａ）のマスクデータを用い、それがfalseの場合には、「１」に対応する図８（ｂ）のマスクデータを用いる。図８（ａ）,（ｂ）の黒、白、斜線ブロックに対応する数値を画像データの全体に適用する疑似コードを以下に示す。
疑似コード：
――――――――――――――――――――――――――――――
1             int i, j, k, l;
2             int width = 640, height=480;
3             unsigned char *data = 画像データ; 
4             int **maskA = マスクデータ;
5             bool isMaskA = true;
6             for(j = 0; j < height; j+=5){
7              for(i = 0; i < width; i+=5){
8               for(k = 0; k < 5; k++){
9                for(l = 0; l < 5; l++){
if(isMaskA == true){
10            data[(i+k)+(j+l)*width] += maskA[k][l];
}
11               }
12              }
13             }
14            }
――――――――――――――――――――――――――――――
【００４４】
上記疑似コードに示されているように、画像全体を５ｐｘ×５ｐｘのブロックに分けて、ブロック毎に、maskAのデータを加算させることにより、図９（ａ），（ｂ）のパターンを形成する。
【００４５】
付加情報３０９のバイナリデータ（数値データ）に対応するパターンとして、極力、人間の視覚的に目立ちづらいパターンを形成したい場合もある。本例のように、画像データが１色のグレー画像データの場合は、輝度成分によってパターンを形成しなければならないため、視覚的に目立ちやすい。パターンの形状および周波数成分にもよるものの、輝度成分の変化より、色成分の変化の方が視覚的に目立ちにくい傾向がある。例えば、ＲＧＢ成分を持つカラー画像をＹＣｂＣｒ、Ｌａｂ、またはＹｕｖなどの色空間に変換して、輝度成分と色成分とに分ける。そして、輝度成分ではなく、色成分にマスクデータを適用することにより、視覚的に目立ちにくいパターンを形成することができる。また、例えば、ＲＧＢの成分を持つカラー画像において、パターンを付ける５ｐｘ×５ｐｘの領域において赤色が支配的である場合には、赤成分によってパターンを付けることが望ましい。
【００４６】
本例においては、マスクデータを５ｐｘ×５ｐｘのブロックに分けて画像データに加算する。しかし、ブロックサイズの単位およびマスク形状は任意であり、マスクデータを画像データに組み込む方法として、加算、減算、乗算、および除算などを組み合わせてもよい。付加情報３０９が埋め込まれた画像の記録物を撮影した際に、マスクデータのパターンを区別することができる方法であれば、いずれの方法を用いてもよい。したがって、付加情報の多重化部３１０は、付加情報３０９が埋め込まれた画像の記録物を撮影した際に、その付加情報３０９を抽出できるように、付加情報３０９を画像データに埋め込むための処理部である。
【００４７】
（１−３）多重化エンコード処理
図１０は、本例における多重化エンコード処理を説明するためのフローチャートである。
【００４８】
まずは、図３の付属情報の取得部３０１および画像データの復元部３０２によって、記録用の画像データＡを取得する（ステップＳ１１）。例えば、画像データＡは、カメラ付きモバイル端末（スマートフォン）により予め撮影して、ＪＰＥＧフォーマットでモバイル端末内のメモリに保存されたデータである。取得したＪＰＥＧの画像データを解凍し、静止画の３色８ビットのＲＧＢの画像データを生成する。また、必要に応じて、図３の画像補正部３０３によって、取得した画像データに補正もしくは加工処理を施す。
【００４９】
次に、画像データＡに埋め込む付加情報３０９を取得する（ステップＳ１２）。例えば、スマートフォンにおいてキー入力されたテキスト文書データを取得する。テキスト文書データは、例えば、公知の文字コードシフトＪＩＳを利用して、数字および文字を数値に割り当てた数値データとする。その数値データは、付加情報３０９として多重化部３１０に送信される。
【００５０】
次に、任意に選択された用紙サイズ（記録媒体のサイズ）および記録装置の解像度に基づいて、取得した画像データＡに対して解像度変換処理を施す（ステップＳ１３）。例えば、選択された用紙サイズを２Ｌとした場合、記録装置における入力解像度の画素数に合わせて、画像データＡの解像度を変換する。具体的には、記録装置における入力解像度を６００ｄｐｉ（ｄｏｔ  ｐｅｒ  ｉｎｃｈ）とした場合、用紙サイズ２Ｌの画素数を３０００画素×４０００画素に設定する。この場合、画素数が１５００画素×２０００画素の画像データＡに対しては、縦方向および横方向の画素数がそれぞれ２倍となるように解像度変換を行う。入力画像のアスペクト比を変更させたくない場合に、縦方向および横方向の拡大および縮小率を同じにして、解像度変換を行う。
【００５１】
次に、図３の付加情報の多重化部３１０によって、画像データＡに付加情報３０９を埋め込むための付加情報の多重化処理を行う（ステップＳ１４）。図１１は、本例における多重化部３１０のファームウェア構成を説明するためのブロック図である。以下、多重化部３１０における各処理部について説明する。
【００５２】
（１−３−１）色空間変換部
色空間変換部５０１は、解像度変換部３０４においてサイズが変更された画像データの色空間を、情報多重化のための色空間に変換する処理部である。例えば、下式３のように、情報多重化を行う色空間をＹＵＶのＵとし、画像データのＲＧＢの色空間をＹＵＶの色空間に変換する。
式３：
Ｙ  ＝  ０．２９９×Ｒ  ＋  ０．５８７×Ｇ  ＋  ０．１１４×Ｂ
Ｕ  ＝−０．１６９×Ｒ  −  ０．３３１×Ｇ  ＋  ０．５００×Ｂ
Ｖ  ＝  ０．５００×Ｒ  −  ０．４１９×Ｇ  −  ０．０８１×Ｂ
【００５３】
（１−３−２）ブロック位置設定部
本例においては、画像データを複数のブロック領域に分け、ブロック単位で各画素の濃度を変調させて、図９（ａ）,（ｂ）のマスクデータに対応するパターンを形成させることにより、付加情報３０９を埋め込む。ブロック位置設定部５０２は、色空間変換後の画像データを取得し、指定された色のプレーン画像に対して、指定された１つのブロックのサイズに合わせて、ブロックの位置座標を設定する。例えば、ＹＵＶのＵ色のプレーン画像のサイズを縦幅６４０ｐｘ、横幅４８０ｐｘとし、ブロックサイズを縦幅５ｐｘ、横幅５ｐｘとする。この場合、縦ブロック数は１２８（＝６４０÷５）、横ブロック数は９６（＝４８０÷５９６）、合計のブロック数は１２２８８（＝１２８×９６）となる。例えば、各ブロックの左上座標をブロック位置と定めて設定することができる。
【００５４】
（１−３−３）数値化部
数値化部５０３は、受信した付加情報３０９を数値化したデータに変換する。例えば、付加情報３０９をシフトＪＩＳの文字列とする。この場合には、シフトＪＩＳの形式によって文字と数値とが対応付けられた変換マップを予め保持しておき、その変換マップを用いて文字列を数値列に変換する。例えば、文字列「ｈｅｌｌｏ」の場合、変換後の数値列「０１１０１００００１１００１０１０１１０１１０００１１０１１０００１１０１１１１」となる。
【００５５】
（１−３−４）パターン選択部
パターン選択部５０４は、ブロック単位で各画素の濃度変調を行うためのマスクパターンが登録されており、数値化部５０３によって数値化された付加情報３０９に対して適用すべきマスクパターンを選択する。
【００５６】
図１２（ａ），（ｂ）は、周波数特性が異なる図９（ａ），（ｂ）のパターンを数値化した図である。前述したように、図９（ａ）および図１２（ａ）のパターンは、付加情報３０９のバイナリデータの「０」に対応し、図９（ｂ）および図１２（ｂ）のパターンは、付加情報３０９のバイナリデータの「１」に対応する。
【００５７】
（１−３−５）情報多重化部
情報多重化部５０５は、色空間変換部５０１において色空間変換した画像データと、ブロック位置設定部５０２において設定された各ブロックの位置と、パターン選択部５０４において選択されたマスクパターンと、を取得する。情報多重化部５０５は、これらの取得情報から、画像データにマスクパターンを適用した画像データを生成する。
【００５８】
前述したように、画像サイズを縦幅６４０ｐｘ、横幅４８０ｐｘとし、１ブロックのサイズを縦幅５ｐｘ、横幅５ｐｘとした場合、合計のブロック数は１２２８８となる。記録物Ｃの記録画像を撮影する際に、必ずしも画像全体を撮影できるとは限らない。そのため、記録物Ｃの記録画像の一部を撮影だけでも付加情報が抽出できるように、同じ付加情報を記録画像中の複数個所に埋め込む。例えば、９６ブロックを１つの付加情報とした場合、全ブロック数１２２８８に対して、同じ付加情報を１２８（＝１２２８８÷９６）領域に分けて埋め込む。したがって、画像データは１２８の領域に分けられ、それらのうちの１つの領域に対して、縦幅５ｐｘ、横幅５ｐｘを１ブロックとした９６ブロックの付加情報が埋め込まれる。９６ブロックを１つの付加情報として取り扱うことにより、９６ビットの付加情報が設定できる。但し、９６ビットの開始位置が分かるように、シフトＪＩＳにおいては文字として表現されていない「１１１１１１１１」の８ビットを付加情報の先頭に含ませる。したがって、８８（＝９６−８）ビットのデータが付加情報となる。
【００５９】
９６ビット内に収まるデータは、数値化部５０３において数値化された付加情報の「０」，「１」の数値列であり、５ｐｘ×５ｐｘの１ブロック毎に数値が定義され、その数値に対応するマスクパターンが選択される。画像データにおける５ｐｘ×５ｐｘのブロックに、付加情報に対応するマスクパターンが埋め込まれる。例えば、画像データをＹＵＶのＵ色プレーンとし、それを１ブロック（５ｐｘ×５ｐｘ）毎に処理し、そのＹＵＶのＵ色プレーンの値に図１１（ａ），（ｂ）のマスクパターンの値を適用する。例えば、下記のように、それらのマスクパターンの数値に応じてＹＵＶのＵ色プレーンの値（Ｕ値）を加減算処理し、その加減算処理を行う基準値を１０とする。
式４：
適用後のＵ値  ＝  ＹＵＶのＵ値  ＋  基準値  ×  マスクパターンの数値
【００６０】
例えば、１ブロック内の１画素のＵ値が「２０」であり、適用するマスクパターンの数値が「０」である場合には、下式５のようにＵ値が処理される。
式５：
適用後のＵ値  ＝  ２０  ＋  １０  ×  ０  ＝  ２０
【００６１】
また、１ブロック内の１画素のＵ値が「３０」であり、適用するマスクパターンの数値が「２」の場合には、下式６のようにＵ値が処理される。
式６：
適用後のＵ値  ＝  ３０  ＋  １０  ×  ２  ＝  ５０
【００６２】
このように本例においては、画素毎に適用するマスクパターンの数値と、基準値と、を掛け合わせた値を加算することによって、多重化を実現する。マスクパターンの適用方法は、Ｕ色プレーン上に、マスクパターンを埋め込むことができればよく、本例の方法に限定されず、例えば、ＹＵＶのＵ値に、マスクパターンの数値を掛け合わせてもよい。
【００６３】
このような多重化エンコード処理は、図１（ａ）の付加情報の多重化装置１０２または図１（ｂ）の付加情報の多重化部１０５によって実行される。多重化エンコード処理は、プリンタ１０３に含まれていなくてもよく、プリンタ１０３に含まれていてもよい。多重化装置１０２もしくは多重化部１０５において生成された多重化エンコード処理後の画像データは、プリンタ１０３もしくは記録部１０６に送信される。
【００６４】
（１−４）画像データの記録処理
図１３は、多重化エンコード処理後の画像データの記録処理を説明するためのフローチャートである。
【００６５】
まず、図３の付加情報の多重化部３１０において付加情報が埋め込まれた画像データ（多重化画像データ）を取得する（ステップＳ３１）。次に、図３の色補正部３０５によって、多重化画像データに適宜、色補正を施す（ステップＳ３２）。次に、図３のインク色変換部３０６、濃度補正部３０７、階調変換部３０８において、色補正後の画像データをインク色の値に変換してから濃度を補正し、その濃度補正後の画像データを階調数に変換することにより、記録データを生成する（ステップＳ３３）。その記録データは図３の記録エンジンに送信され、その記録エンジンは、記録データに基づいて各色のインクを記録媒体に付与することにより、記録物Ｃを生成する。
【００６６】
（１−５）多重化デコード処理の基本ファームウェア
図１４（ａ）は、本例における多重化デコード処理の基本ファームウェア構成の説明図であり、記録物Ｃの記録画像に埋め込まれている付加情報を抽出する。
【００６７】
本例における撮像センサ２０２（図２参照）は、撮像部８０１と色調整部８０２とを備えている。また、本例における付加情報の分離装置２０３（図２参照）は、多重化位置の検出部８０３、付加情報の分離部８０４、および抽出データの解析部８０５を備えている。また、本例においては、テキスト文書データ、音声データ、動画データなどの数値化された付加情報のデータが記録物Ｃの記録画像に埋め込まれている。以下においては、付加情報は、記録物Ｃの記録画像の全体に、同じ付加情報が所定の領域毎に繰り返し埋め込まれているものとして説明する。
【００６８】
（１−５−１）撮像部
撮像部８０１は、撮像センサ２０２内の撮像素子によって、記録物Ｃの記録画像を撮像して画像データに変換する。
【００６９】
図１４（ｂ）は、記録物Ｃの記録画像をカメラ付きモバイル端末２０１によって撮影する場合の説明図である。記録物Ｃに相当する記録媒体９０１の記録領域９０２に、多重化エンコード処理された画像が記録されている。領域９０４は、図２のカメラ付きモバイル端末２０１に相当する装置９０３によって撮影される領域である。撮像部８０１は、装置９０３によって、記録媒体９０１の記録領域９０２内の領域９０４の画像を撮影する。撮像部８０１内の撮像素子としてはＣＣＤを用いることができ、ＣＣＤは、フォトダイオード（受光素子）により光を感知して、その光を電圧に変化させる。その際、撮像素子毎に配置したＲＧＢまたはＣＭＹなどのカラーフィルタにより、光を色のデータとして変換させることができる。フォトダイオードの検出信号は、色調整部８０２に送られる。
【００７０】
（１−５−２）色調整部
色調整部８０２は、撮像部８０１におけるフォトダイオードの出力データを１画素がＲＧＢ８ビットデータの画像データに変換する。画像データに変換する前に、撮影時の光源などに応じて、フォトダイオードの出力データに対してＲＧＢなどの色の補間処理が行われる。その補間処理は、デジタルカメラおよびカメラ付きモバイル端末２０１などを用いて撮影する際に、白い被写体を白く撮影できるように調整することになる。撮像部８０１は、太陽またはライトなどの光源から照射されて、被写体から反射された光をフォトダイオードによって検知するため、光源に応じて画像の色が異なることになる。したがって、色調整部８０２は光源に応じた補間処理を行う。
【００７１】
一般的な補間処理の方法として、光源の色合いを示す色温度によって表現された光の色を数値化した単位のケルビン（Ｋ）を用いる方法がある。一般的に、昼間の太陽光は５５００Ｋ、白熱電球は３０００Ｋであり、色温度が高いと青く見え、低いと赤く見える。そのため、光源に応じて撮像画像の色が異なることになる。一般に、デジタルカメラおよびカメラ付きモバイル端末２０１などには、撮影する際にセンサにより色温度を検知して、白い被写体が白く撮影できるよう自動的に調整する、いわゆるオートホワイトバランス調整機能が搭載されている。また、太陽光または白熱電球などの光源に応じて、手動によりホワイトバランスを調整することもできる。
【００７２】
色調整部８０２は、フォトダイオードの出力データに対して、ホワイトバランスが調整された画像データを生成する。その画像データは、付加情報の分離装置２０３に送られる。
【００７３】
（１−５−３）多重化位置の検出部
多重化位置の検出部８０３は、色調整部８０２によって色調整された画像データを入力し、その画像データの周波数特性を判定することによって、付加情報が埋め込まれている位置（多重化位置）を検出する。
【００７４】
図１５（ａ）は、二次元の周波数領域における周波数特性の差の説明図であり、横軸は水平方向の周波数、縦軸は垂直方向の周波数、中心となる原点は直流成分を示し、原点から遠ざかるにつれて高周波域となる。本例においては、多重化処理により周波数特性が変化する。
【００７５】
例えば、前述したように、図９（ａ）のマスクパターンを適用したときの周波数特性の変化により、図１５（ａ）中の直線１２０１上に大きなパワースペクトルが生じる。また、また、図９（ｂ）のマスクパターンを適用したときの周波数特性の変化により、図１５（ａ）中の直線１２０２上に大きなパワースペクトルが生じる。付加情報の分離時には、多重化信号を判定するために、このような大きなパワースペクトルが発生する周波数ベクトルを検出する。そのため、各々の周波数ベクトルを個別に強調して抽出することが必要となる。
【００７６】
そのために、図１２（ａ）、（ｂ）のマスクパターンと同様の周波数特性をもつＨＰＦ（ハイパスフィルタ）を用いることができる。図１２（ａ）のマスクパターンに対応する空間フィルタは、図１５（ａ）中の直線１２０１上の周波数ベクトルを強調することが可能である。図１２（ｂ）のマスクパターンに対応する空間フィルタは、図１５（ａ）中の直線１２０２上の周波数ベクトルを強調することが可能である。例えば、図１２（ｂ）のマスクパターンを適用する量子化条件により、図１５（ａ）中の直線１２０１の周波数ベクトル上に大きなパワースペクトルが発生したと仮定する。この場合、そのパワースペクトルの変化量は、図１２（ａ）のマスクパターンに対応する空間フィルタによって増幅されるものの、図１２（ｂ）のマスクパターンに対応する空間フィルタによってはほとんど増幅されない。すなわち、複数の空間フィルタを並列に用いてフィルタリングした場合、パワースペクトルは、周波数ベクトルが一致した空間フィルタによってのみ増幅され、それ以外の空間フィルタによってはほとんど増幅されない。したがって、パワースペクトルを増幅させた空間フィルタを特定することにより、いかなる周波数ベクトル上に大きなパワースペクトルが発生したかを判定することができる。このように周波数特性を判定することにより、付加情報を抽出することは可能となる。その際、付加情報の抽出位置がずれた場合には、それを正しく抽出することが難しくなる。
【００７７】
図１５（ｂ）は、記録物Ｃにおける記録領域の説明図である。記録物Ｃとしての記録媒体１５０１は、複数のブロック単位に多重化された領域１５０２を含み、そのブロック単位の領域１５０２に対して、特定の周波数特性を持つように付加情報が埋め込まれる。
【００７８】
図１６（ａ），（ｂ）は、多重化されたブロックと、周波数特性を判定領域と、の関係の説明図であり、記録媒体１５０１は、４つのブロックにおいて多重化されている。図１６（ａ）においては、ブロック単位の周波数特性を判定する判定領域６０２がブロックの位置からずれており、図１６（ｂ）においては、ブロック単位の周波数特性を判定する判定領域６０３がブロックの位置と一致している。図１６（ａ）の場合には、判定領域６０２において周波数特性を正しく判定することができる。一方、図１６（ｂ）の場合には、判定領域６０３において、特定の周波数ベクトルのパワースペクトルが下がってしまい、周波数特性を正しく判定することが難しい。
【００７９】
多重化位置の検出部８０３は、空間フィルタを利用して、多重化させたブロック単位の周波数特性を判定する。その際に、多重化されたブロックの位置を特定することが必要である。その多重化されたブロックの位置は、特定の周波数ベクトルのパワースペクトルの強度に基づいて特定することができる。そのため、多重化位置の検出部８０３においては、撮像画像に対し、ブロック単位の周波数特性の判定領域をずらしながら周波数特性を検出し、その周波数特性の判定することによって、多重化されたブロックの位置を特定する。
【００８０】
（１−５−４）付加情報の分離部
ブロック単位の周波数特性は、多重化位置の検出部８０３によって検出されたブロックの位置を基準として判定され、付加情報の分離部８０４は、そのブロック単位の周波数特性の判定結果に基づいて、多重化された付加情報を抽出する。
【００８１】
図１５（ｂ）のように、多重化されたブロック数を計９６ブロック（横８ブロック×縦１２ブロック）とした場合、それらのブロック毎に、多重化エンコード処理によって付加情報の「０」と「１」が埋め込まれている。ブロック毎の周波数ベクトルに基づいて、ブロック毎に埋め込まれている付加情報を判定する。すなわち、図１５（ａ）中の直線１２０１の周波数ベクトルが所定の閾値を越えるブロックに関しては、そのブロックに埋め込まれている付加情報は「０」であると判定する。また、図１５（ａ）中の直線１２０２の周波数ベクトルが所定の閾値を越えるブロックに関しては、そのブロックに埋め込まれている付加情報は「１」であると判定する。
【００８２】
検出部８０３によって検出されたブロックの位置を基準にして、周波数特性の判定領域をブロック単位でずらすことにより、図１５（ｂ）中の計９６ブロックの周波数特性を判定して、それぞれのフロックに埋め込まれた付加情報を抽出することができる。この場合、１ブロック毎に、「０」，「１」の１ビットの付加情報が抽出できるため、計９６ブロックから、合計９６ビットのデータを抽出することができる。このように、周波数特性の判定領域をずらしながら、周波数特性を判定することにより、複数のブロックから、多重化された付加情報を抽出することができる。
【００８３】
（１−５−５）抽出データの解析部
抽出データの解析部８０５は、付加情報の分離部８０４によって付加情報として分離された数値列を解析し、その数値列を元々の埋め込み前の付加情報の形式に変換する。
【００８４】
例えば、予め、多重化する付加情報をテキスト文書データとして、その文字コードを「シフトＪＩＳ」に数値化しておく。シフトＪＩＳの１バイトコード（半角文字）においては、上位４ビットと下位４ビットの組み合わせによって、数値および文字に対応した変換（数値化）が可能である。例えば、上位４ビットが「０１００」、下位４ビットが「０００１」の場合、それらの数値列は文字「Ａ」と判定される。このように、変換マップを予め保持しておき、その変換マップと数値列とを対応させることによって、数値列を文字に変換することができる。例えば、付加情報として分離された数値列は、図２のＲＡＭ２０６に一時的に保持し、「シフトＪＩＳ」変換マップは、２次記憶装置２０７に、参照可能に予め保持しておくことができる。
【００８５】
付加情報の分離部８０４によって、付加情報として、「０１１０１００００１１００１０１０１１０１１０００１１０１１０００１１０１１１１」の数値列が分離された場合を想定する。この数値列は、変換マップによって次のように変換される。
上位４ビット「０１１０」、下位４ビット「１０００」は、文字「ｈ」に変換される。
上位４ビット「０１１０」、下位４ビット「０１０１」は、文字「ｅ」に変換される。
上位４ビット「０１１０」、下位４ビット「１１００」は、文字「ｌ」に変換される。
上位４ビット「０１１０」、下位４ビット「１１００」は、文字「ｌ」に変換される。
上位４ビット「０１１０」、下位４ビット「１１１１」は、文字「ｏ」に変換される。
したがって、「ｈｅｌｌｏ」の文字列に変換されることになる。
【００８６】
このように付加情報として抽出された文字列は、例えば、図２のディスプレイ２０８に表示させることができる。また、抽出された文字列がＵＲＬ(Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ)の場合には、図２の無線ＬＡＮ２１０によってネットワークに接続し、ブラウザを利用して、ディスプレイ２０８に、ＵＲＬ先の画面を表示することもできる。また、そのＵＲＬが動画サイトであった場合には、ディスプレイ２０８に動画を表示し、スピーカー２１１によって音声を流すこともできる。
【００８７】
（１−６）多重化デコード処理
図１７は、本例における多重化デコード処理を説明するためのフローチャートである。
【００８８】
まず、カメラ付きモバイル端末２０１（図２参照）における図１４の撮像部８０１の撮像センサによって、記録物Ｃの記録画像を撮影する（ステップＳ８１）。撮影された光は、色データに変換されてから図１４の色調整部８０２に送信される。色調整部８０２は、フォトダイオードの出力データをホワイトバランス調整して画像データを生成する（ステップＳ８２）。生成された画像データは、図２および図８の付加情報の分離装置２０３へ送信、もしくは、図２の２次記憶装置２０７に保存される。図１４の多重化位置の検出部８０３は、そのホワイトバランスが調整された画像データに基づいて、前述したように多重化されている位置を検出する（ステップＳ８３）。ステップＳ８４においては、多重化位置の検出部８０３によって、多重化されているブロックの位置が検出できたか否かを判定する。それが検出できた場合には、次の付加情報の分離処理（ステップＳ８５）に移行し、それが検出できなかった場合には、先のステップＳ８１に戻る。
【００８９】
ステップＳ８５において、図１４の付加情報の分離部８０４は、前述したように、色調整部８０２によって生成された画像データと、多重化位置の検出部８０３によって検出されたブロックの位置と、に基づいて、ブロック毎の周波数特性を判定する。そして、その判定結果に基づいて、多重化されている付加情報を数値データとして抽出する。抽出された数値データは、図１４の抽出データの解析部８０５へ送信、もしくは、図２のＲＡＭ２０６に一時的に保存してから図１４の抽出データの解析部８０５へ通知する。
【００９０】
次に、図１４の抽出データの解析部８０５は、前述したように、付加情報として抽出された数値データを解析し、その数値データを文字などの付加情報に変換する（ステップＳ８６）。次のステップＳ８７においては、抽出された全ての数値データに関して、このような解析部８０５による付加情報への変換が終了したか否かを判定する。それが完了した場合には、図１７の多重化デコード処理を終了し、それが完了しなかった場合には、先のステップＳ８１に戻る。文字などに抽出された付加情報は、図２のディスプレイ２０８などに表示することができ、また、その付加情報に基づいてネットワークにアクセスすることができる。
【００９１】
記録物Ｃから付加情報が完全に抽出できなった場合、その原因としては、例えば、記録物Ｃの撮影領域に、付加情報が埋め込まれた領域の一部しか含まれていなかったことが考えられる。この場合には、付加情報の一部しか抽出ずできないため、再度、記録物Ｃを撮影し直す必要がある。付加情報を抽出できたか否かの判定は、例えば、付加情報自体に、付加情報のデータ量を示す値を予め含めておき、その値から、付加情報のデータ量を判定することができる。付加情報としてのデータがデータ量または文字データのいずれに関するものであるかを区別するために、例えば、予め、数値列の組み合わせを決めておき、その数値列の直後の数ビットをデータ量に関するデータとする。
【００９２】
また、付加情報の一部しか抽出できない場合には、例えば、抽出できた内容だけを図２の２次記憶装置２０７に保存しておき、その保存した付加情報の一部に対して、その後の処理により抽出された付加情報を結合してもよい。このように、複数回に分けて、付加情報を抽出してもよい。また、複数回に分けて抽出された付加情報を順次、図２のディスプレイ２０８などに表示させてもよい。
【００９３】
（２）特徴的な構成
本実施形態においては、前述した多重化デコード処理部の基本構成に対して、特徴的な構成が加えられている。
【００９４】
図１８は、本実施形態において特徴的な多重化デコード処理部の説明図であり、前述した図１４の基本構成における多重化デコード処理部に対して、ホワイトバランスの設定部１７０１を備えた構成となっている。具体的には、撮像センサ２０２の色調整部８０２に、ホワイトバランスの設定部１７０１が接続されている。以下においては、ホワイトバランスの設定部１７０１と色調整部８０２の処理について説明する。
【００９５】
多重化エンコード処理された画像が記録された記録物Ｃを撮影するために、カメラ付きモバイル端末２０１（図２参照）にインストールされている多重化デコード処理用のアプリケーションを起動して、撮像センサ２０２を起動する。通常のカメラにおけるアプリケーションを起動した場合には、オートホワイトバランス調整機能により、ホワイトバランスが自動的に調整される。本実施形態における多重化デコード処理用のアプリケーションは、このようなオートホワイトバランス調整機能に頼らずに、ホワイトバランスを調整する。以下、ホワイトバランスの調整について説明し、他の処理に関しては、上述した基本構成と同じであるため説明を省略する。
【００９６】
（２−１）ホワイトバランスの設定部
ホワイトバランスの設定部１７０１は、カメラ付きモバイル端末２０１内に備わる処理部であり、記録物Ｃを撮影する際に、ホワイトバランスの調整値を設定する。特定の色が支配的な画像が記録された記録物Ｃを撮影する場合、ホワイトバランスを自動的に調整する「自動」（オートホワイトバランス調整）が設定されているときには、「色かぶり」が生じていると誤判定されるおそれがある。この場合には、撮影画像の色が変化してしまう。例えば、マスクデータなどにより、ＹＵＶ−Ｕ成分の色成分を変調して多重化エンコード処理された記録物Ｃを撮影した場合を想定し、その撮影画像内の２つの画素Ａ１，Ａ２のＲＧＢ値を以下の値とする。
画素Ａ１（Ｒ，Ｇ，Ｂ）＝（１００、３９、２５４）
画素Ａ２（Ｒ，Ｇ，Ｂ）＝（１００、６０、１４８）
【００９７】
これらの２つの画素Ａ１，Ａ２は、ＲＧＢ値をＹＵＶ値に変換したときの画素をＢ１，Ｂ２とする。
画素Ｂ１（Ｙ，Ｕ，Ｖ）＝（８２、９７、１３）
画素Ｂ２（Ｙ，Ｕ，Ｖ）＝（８２、３７、１３）
【００９８】
画素Ｂ１と画素Ｂ２のＹＵＶ−Ｕの差分値は、６０（＝９７−３７）であり、このＵ成分の差に基づいて付加情報が判別される。ホワイトバランスを自動的に調整（オートホワイトバランス調整）する「自動」が設定される場合に、「赤かぶり」と生じていると判定された結果、画像Ａ１，Ａ２のＲ値が下げられ、かつＧ，Ｂ値が上げられた画素をＣ１，Ｃ２とする。それらの画素Ｃ１，Ｃ２のＲＧＢ値を以下の値とする。
画素Ｃ１（Ｒ，Ｇ，Ｂ）＝（６８、５８、２５５）
画素Ｃ２（Ｒ，Ｇ，Ｂ）＝（６８、９０、２５５）
【００９９】
これらの２つの画素Ｃ１，Ｃ２は、ＲＧＢ値をＹＵＶ値に変換したときの画素をＤ１，Ｄ２とする。
画素Ｄ１（Ｙ，Ｕ，Ｖ）＝（８４、９６、−１１）
画素Ｄ２（Ｙ，Ｕ，Ｖ）＝（１０２、８６、−２４）
【０１００】
画素Ｄ１と画素Ｄ２のＹＵＶ−Ｕの差分値は、１０（＝９６−８６）となり、画素Ｂ１と画素Ｂ２のＹＵＶ−Ｕの差分値の６０よりも小さくなる。このように、ホワイトバランスが自動的に調整（オートホワイトバランス調整）された場合には、多重化デコード処理の際に、必要な色の変調量が取得できない画素が生じるおそれがある。
【０１０１】
そこで本実施形態においては、多重化エンコード処理の際に予め想定される多重化デコード処理時の光源に対応するように、その光源に対応する調整値に基づいて、多重化デコード処理時にホワイトバランスを調整する。その想定される光源に対応する調整値は、デフォルト値として設定されていてもよい。一般に、カメラ撮影の場合には、自動的に光源の種類を認識して、その光源の種類に応じて自動的にホワイトバランスが調整（オートホワイトバランス調整）される。本実施形態において、多重化デコード処理におけるホワイトバランスの調整時には、このようなオートホワイトバランス調整機能は用いない。
【０１０２】
一般的なホワイトバランス調整においては、光の色味を温度に例えて表現した色温度を用い、その色温度としてケルビン値が利用される。例えば、光源が晴天下の太陽光の場合の色温度は６５００Ｋ（ケルビン）、光源が夕焼けの太陽光の場合の色温度は３５００Ｋに設定される。一般的なオートホワイトバランス調整においては、光源を自動的に推定し、その光源に応じて、色温度としてのケルビン値を設定する。ホワイトバランスの調整においては、設定されたケルビン値に対応するゲイン量に基づいて、ＲＧＢ値が補正される。
【０１０３】
本実施形態においては、例えば、記録物Ｃの撮影時の光源の色温度が５５００Ｋ（ケルビン）となることを想定して、記録物Ｃが多重化エンコード処理された場合、ホワイトバランスの設定部１７０１は、色温度として５５００Ｋ（ケルビン）を設定する。つまり、多重化エンコード処理の際に想定された多重化デコード処理時の光源に対応する色温度に基づいて、ホワイトバランスを調整する。通常、多重化エンコード処理された記録物Ｃは、その記録物Ｃを多重化デコード処理するアプリケーションとひもづいて利用される。また、多重化デコード処理を実行するカメラ付きモバイル端末２０１に、予め、記録物Ｃの撮影時の光源に関する光源情報を保持しておくことにより、ホワイトバランスの設定部１７０１は、その光源情報を利用して色温度を設定することができる。ホワイトバランスの設定部１７０１において設定された色温度は、図１８の色調整部８０２に送信される。
【０１０４】
（２−２）色調整部
図１８における色調整部８０２は、ホワイトバランスの設定部１７０１から受信した色温度に基づいて、記録物Ｃの撮影画像のＲＧＢ値をゲイン調整する。近年のカメラ付きモバイル端末２０１には、光源の種類を手動により設定し、その設定された光源の種類に応じて撮影画像のＲＧＢ値をゲイン調整することにより、ホワイトバランスを調整する機能を備えたものがある。本実施形態においては、このようなカメラ付きモバイル端末２０１の機能を利用し、多重化デコード処理の際に、ホワイトバランスの設定部１７０１において設定された色温度を利用して、ホワイトバランスを調整することができる。
【０１０５】
（２−３）本実施形態の効果
多重化デコード処理の際に、オートホワイトバランス調整機能を利用した場合には、付加情報を読み取ることが難しくなるおそれがある。本実施形態においては、多重化エンコード処理の際に想定された多重化デコード処理時の光源に対応する色温度に基づいて、多重化デコード処理の際にホワイトバランスを調整することにより、付加情報を確実に読み取ることができる。ホワイトバランスの自動調整（オートホワイトバランス調整）の機能を備えるカメラ付きモバイル端末２０１の場合には、多重化デコード処理の際に、そのオートホワイトバランス調整機能をオフにする。また、このようにオートホワイトバランス調整機能をオフにして記録物を撮影することにより、撮影画像の色の変動を抑えて、付加情報の読み取り動作を安定させることができる。
【０１０６】
（第２の実施形態）
前述した第１の実施形態においては、多重化エンコード処理の際に想定された多重化デコード処理時の光源に対応するように、記録物Ｃを撮影する際にホワイトバランスを調整することにより、付加情報の確実な読み取りを可能とする。このような第１の実施形態においては、特定の色が支配的な画像が記録物Ｃに記録された場合を想定し、その場合には、ホワイトバランスを自動的に調整（オートホワイトバランス調整）しない。しかしながら、記録物Ｃを撮影する際には、その記録画像自体の色の影響だけではなく、撮影環境の影響を受ける場合がある。この場合には、撮影環境における光源に応じて、ホワイトバランスを調整する必要がある。例えば、発光色が赤い光源の下において記録物Ｃを撮影した場合には、その撮影画像全体が赤くなり、ホワイトバランスを調整しても記録画像全体が赤い状態のままとなるおそれがある。
【０１０７】
そこで本実施形態においては、多重化デコード処理において記録物Ｃを撮影する際に、記録物Ｃに積極的に照明を当てる。近年のカメラ付きモバイル端末２０１には、図２のように、被写体を照明する光源２１２としてＬＥＤライトを備えたものがある。その光源２１２の色温度は、一般的には５５００Ｋ（ケルビン）前後であって、白色蛍光灯の光と、晴天下の太陽光と、の間の色温度に設定されている。また、近年のカメラ付きモバイル端末２０１には、光源２１２として複数の色合いのＬＥＤライトを備えたものもあり、照明光の調光も可能である。このような調光機能を利用して調光される光源を、多重化エンコード処理において予め想定することにより、多重化デコード処理において、その想定された光源の下において記録物Ｃを撮影して、その光源に応じてホワイトバランスを調整することができる。この場合、想定される光源２１２に対応する色温度として、例えば、５５００Ｋ（ケルビン）をデフォルト値として設定してもよい。また、カメラ付きモバイル端末２０１に備わる光源２１２は、ユーザにより任意のタイミングで起動させることが可能であり、またカメラ機構が利用される場合には自動的に被写体を照明することも可能である。
【０１０８】
このように本実施形態においては、多重化デコード処理の際に、所定の光源によって積極的に記録物Ｃを照明して撮影する。その所定の光源を予め想定することにより、その光源に対応するようにホワイトバランスを調整して、撮影環境の影響を小さく抑えることができる。したがって、適切なホワイトバランス調整を実施して、付加情報を確実に読み取ることができる。
【０１０９】
（他の実施形態）
上述した実施形態においては、予め想定した光源に対応する色温度の設定値に基づいて、ホワイトバランスを調整する。しかし、これには限定されず、例えば、多重化エンコード処理の際に、想定される光源の色温度の範囲に幅がある場合には、光源の色温度をあえて一意に設定しておく必要はない。例えば、光源の色温度を５０００〜６０００Ｋ（ケルビン）の範囲に設定してもよい。近年のカメラ付きモバイル端末２０１には、撮影時のホワイトバランスを調整するために、光源の色温度の範囲が指定可能なものもある。その指定された光源の色温度の範囲において、ホワイトバランスを調整するようにしてもよい。
【０１１０】
また、多重化エンコード処理を実行するソフトウェアのバージョンが異なる可能性がある。この場合に、ホワイトバランスの調整値として一意の光源の色温度を設定すると汎用性がなくなるため、所定の条件下において、ホワイトバランスの調整値を切り替えてもよい。例えば、多重化エンコード処理を実行するソフトウェアのバージョンに応じて、調整値としての色温度を切り替えてもよい。また、多重化デコードを実行するソフトウェアのバージョン毎に、記録物Ｃの撮影時に、ホワイトバランスの調整値を切り替えてもよい。また、記録物Ｃからマーカーなどを読み取って、その読み取り結果に基づいて、多重化デコード処理を実行するソフトウェアのバージョンを判定し、そのバージョンに応じてホワイトバランスの調整値を切り替えてもよい。さらに、記録物Ｃの記録画像の特徴の解析情報を用いて、ホワイトバランスの調整値を切り替えてもよい。
【０１１１】
また本発明は、色の変調によって付加情報が埋め込まれた画像を撮影し、その撮影画像から付加情報を高精度に抽出できるように、付加情報が埋め込まれた画像に対応付けられた調整値に基づいて、その撮影画像のホワイトバランスが調整できればよい。その調整値は、付加情報が埋め込まれた画像用（付加情報埋め込み画像用）の一定のデフォルト値であってもよく、あるいは、付加情報埋め込み画像における色成分の変調条件に応じ異なる値であってもよい。また、付加情報が埋め込まれた画像に対応付けられた調整値に基づいて、付加情報埋め込み画像のホワイトバランスの許容調整範囲を設定し、その許容調整範囲内において、オートホワイトバランス調整機能によりホワイトバランスを自動調整してもよい。
【０１１２】
また、選択可能な複数の調整値に基づいて、付加情報埋め込み画像のホワイトバランスを調整してもよい。その場合には、付加情報に応じて少なくとも色成分が変調された画像データを生成するアプリケーションのバージョンと、付加情報埋め込み画像の特徴の解析結果と、のうちの少なくとも一方に基づいて、調整値を選択することができる。そのアプリケーションのバージョンは、例えば、付加情報埋め込み画像と共に、記録物にマーカーなどとして記録された情報に基づいて判定することができる。
【０１１３】
以上説明した実施形態は、本発明の効果を得るための構成例であり、類似の別手法、あるいは異なるパラメータを用いて同等の効果が得られる場合は、本発明の範疇に含まれる。また、本発明は、複数の機器（例えば、ホストコンピュータ、インタフェース機器、リーダ、プリンタ等）から構成されるシステム、および１つの機器からなる装置（例えば、プリンタ、複写機、ファクシミリ装置等）に対して適用することができる。
【０１１４】
また、本発明の目的は、以下の構成によっても達成することができる。まず、システムあるいは装置に対して、前述した実施形態の機能を実現するためのソフトウェアのプログラムコードを記録した記憶媒体（または記録媒体）を供給する。次に、そのシステムあるいは装置のコンピュータ（ＣＰＵまたはＭＰＵ）によって、記憶媒体に格納されたプログラムコードを読み出し実行する。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードおよびそのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また本発明は、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能を実現する構成に限定されない。例えば、そのプログラムコードの指示に基づいて、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を実行し、その処理によって、前述した実施形態の機能が実現される場合も本発明に含まれる。
【０１１５】
さらに、本発明の目的は、以下の構成によっても達成することができる。まず、コンピュータに挿入された機能拡張カード、またはコンピュータに接続された機能拡張ユニットに備わるメモリに、記憶媒体から読み出されたプログラムコードが書き込まれる。その後、そのプログラムコードの指示に基づいて、その機能拡張カードまたは機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を実行し、その処理によって、前述した実施形態の機能が実現される場合も本発明に含まれる。
【符号の説明】
【０１１６】
１０３  プリンタ（記録装置）
２０１  カメラ付きモバイル端末（情報処理装置）
２０２  撮像センサ
８０１  撮像部
８０２  色調整部
１７０１  ホワイトバランスの設定値
Ａ  画像データ
Ｂ  付加情報
Ｃ  記録物
【図１】
2019009745.tif 000004
【図２】
2019009745.tif 000005
【図３】
2019009745.tif 000006
【図４】
2019009745.tif 000007
【図５】
2019009745.tif 000008
【図６】
2019009745.tif 000009
【図７】
2019009745.tif 000010
【図８】
2019009745.tif 000011
【図９】
2019009745.tif 000012
【図１０】
2019009745.tif 000013
【図１１】
2019009745.tif 000014
【図１２】
2019009745.tif 000015
【図１３】
2019009745.tif 000016
【図１４】
2019009745.tif 000017
【図１５】
2019009745.tif 000018
【図１６】
2019009745.tif 000019
【図１７】
2019009745.tif 000020
【図１８】
2019009745.tif 000021