(57)【要約】      （修正有）【課題】色変換による出力画像に多重化された付加情報の抽出の失敗を防ぐ情報処理装置を提供する。【解決手段】情報処理装置の多重化エンコード処理は、第１の画像データと第１の画像データに埋め込む付加情報を所得し、第１の画像データを補正して解像度変換した後、画像データを出力する出力装置に依存する色空間で定められる第２の画像データに変換する。変換した第２の画像データに対して、多重化パラメータを用いて付加情報を多重化する。【選択図】図４
2019009733.tif 000002
【特許請求の範囲】
【請求項１】
第１の画像データを取得する第１の取得手段と、
前記第１の取得手段により取得した前記第１の画像データを、画像データを出力する出力手段に依存する色空間で定められる第２の画像データに変換する第１の変換手段と、
前記第１の変換手段により変換した前記第２の画像データに対して、多重化パラメータを用いて付加情報を多重化する多重化手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記第１の変換手段は、前記出力手段に依存しない第１の色空間で定められる前記第１の画像データを、前記出力手段に依存する第２の色空間で定められる前記第２の画像データに変換することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記多重化手段は、輝度成分と色成分により定められる色空間上の画像データである前記第２の画像データに対して、前記多重化パラメータを用いて前記付加情報を多重化することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記多重化手段は、前記多重化パラメータにより色成分を変調することで前記付加情報を多重化することを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記第２の画像データを、輝度成分と色成分により定められる色空間上の画像データに変換する第２の変換手段、をさらに備えることを特徴とする請求項３又は４に記載の情報処理装置。
【請求項６】
前記第１の色空間および前記第２の色空間は、ＲＧＢもしくはＣＭＹＫで定められる色空間であることを特徴とする請求項２乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
前記付加情報を多重化する際に用いられる前記多重化パラメータを、前記第１の色空間で定められるデータに変換する第３の変換手段、をさらに備え、
前記第３の変換手段により当該多重化パラメータを前記第１の色空間で定められるデータに変換した場合、
前記多重化手段は、前記変換手段により変換した前記第２の画像データに対して多重化を行う代わりに、前記取得手段により取得した前記第１の画像データに対して、前記第３の変換手段により前記多重化パラメータを変換した前記第１の色空間で定められるデータを用いて前記付加情報を多重化する、
ことを特徴とする請求項２乃至６のいずれか１項に記載の情報処理装置。
【請求項８】
前記付加情報を取得する第２の取得手段、をさらに備え、
前記多重化手段は、前記変換手段により変換された前記第２の画像データに対して、前記多重化パラメータを用いて、前記第２の取得手段により取得した前記付加情報を多重化する、
ことを特徴とする請求項１乃至７のいずれか１項に記載の情報処理装置。
【請求項９】
前記出力手段は、印刷装置であることを特徴とする請求項１乃至８のいずれか１項に記載の情報処理装置。
【請求項１０】
前記出力手段を含むことを特徴とする請求項１乃至９のいずれか１項に記載の情報処理装置。
【請求項１１】
情報処理装置において実行される情報処理方法であって、
第１の画像データを取得する取得工程と、
前記取得工程において取得した前記第１の画像データを、画像データを出力する出力手段に依存する色空間で定められる第２の画像データに変換する変換工程と、
前記変換工程において変換した前記第２の画像データに対して、多重化パラメータを用いて付加情報を多重化する多重化工程と、
を有することを特徴とする情報処理方法。
【請求項１２】
請求項１乃至９のいずれか１項に記載の情報処理装置の各手段としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、付加情報を多重化する情報処理装置、情報処理方法およびプログラムに関する。
【背景技術】
【０００２】
画像に対して、画像以外の付加情報を埋め込んだ（以下、多重化と記載）電子透かし技術が知られている。電子透かし技術では、例えば、写真、絵画等の画像中に、その著作者名や、使用許可の可否等の付加情報が視覚的に判別しづらい様に多重化される。また、応用分野として、複写機、プリンタ等の画像出力装置の高画質化に伴い、紙幣、印紙、有価証券等の偽造を防止する目的で、紙上に出力された画像から出力機器及びその機体番号を特定する為に、画像中に付加情報を多重化する技術が知られている。また、紙上に出力された画像中に多重化した付加情報を取り出すために、スキャナや携帯端末の内蔵カメラ等の撮像デバイスで対象の出力物の撮影を行い、その撮影画像を解析することで多重化した付加情報を取り出す技術が知られている。
【０００３】
画像に付加情報を多重化する方法として画像の局所領域で色を変調させてパターンを埋め込む技術が知られている。特許文献１では、画像を１６画素（４×４画素）のブロック毎に分けて１６画素のうち、半分を元画素＋１とし、残りの半分を元画素‐１としている。画像を印刷し、撮像デバイスで撮影した撮影画像のブロック毎の画素の増減の変調を解析することで多重化した付加情報を取り出すことができる。また局所領域で画素の増減を行っているので、印刷した際には画素が平均化され人の目には判別しづらくなる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第３９５９８９０号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００５】
画像をプリンタ等の出力機器で出力する際には、カメラ、スキャナ、モニタ等のデバイスに依存した入力色空間（ｓＲＧＢ、ＡｄｏｂｅＲＧＢ等）からプリンタ等のデバイスに依存した出力色空間（ｄｅｖｉｃｅＲＧＢ等）に色変換することが一般的である。入力色空間と出力色空間は色再現範囲が異なる為、非線形な色変換が行われる。
【０００６】
画像に付加情報を多重化する際に入力色空間で色を変調する多重化処理を実行した後で色変換を行うと入力色空間の色の変調が失われてしまうことがある。特に入力色空間に対して出力色空間が狭い場合においては、減ってしまう領域において色の変調が失われてしまうことがある。色の変調が失われると多重化した付加情報を適切に抽出できなくなってしまう。
【０００７】
本発明の目的は、このような従来の問題点を解決することにある。上記の点に鑑み、本発明は、色変換による出力画像に多重化された付加情報の抽出の失敗を防ぐ情報処理装置、情報処理方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するため、本発明に係る情報処理装置は、第１の画像データを取得する第１の取得手段と、前記第１の取得手段により取得した前記第１の画像データを、画像データを出力する出力手段に依存する色空間で定められる第２の画像データに変換する第１の変換手段と、前記第１の変換手段により変換した前記第２の画像データに対して、多重化パラメータを用いて付加情報を多重化する多重化手段と、を備えることを特徴とする。
【発明の効果】
【０００９】
本発明によれば、色変換による出力画像に多重化された付加情報の抽出の失敗を防ぐことができる。
【図面の簡単な説明】
【００１０】
【図１】多重化エンコード処理を行う画像処理装置のハードウェア構成を示す図である。
【図２】多重化デコード処理を行う画像処理装置のハードウェア構成を示す図である。
【図３】多重化エンコード処理のファームウェアのブロック構成を示す図である。
【図４】多重化エンコード処理を示すフローチャートである。
【図５】付加情報多重化処理のファームウェアのブロック構成を示す図である。
【図６】色変換テーブルを示す図である。
【図７】多重化パラメータのテーブルを示す図である。
【図８】多重化デコード処理のファームウェアのブロック構成を示す図である。
【図９】多重化エンコード処理された印刷物を撮影する概念を示す図である。
【図１０】多重化デコード処理を示すフローチャートである。
【図１１】マスクデータの概念図である。
【図１２】二次元の周波数領域での周波数特性の差を示す図である。
【図１３】色変換を示す図である。
【図１４】マスクパターンを示す図である。
【図１５】印刷用紙にブロック毎に多重化されている様子を示す図である。
【図１６】ブロックの検出位置を説明するための図である。
【図１７】多重化エンコード処理のファームウェアのブロック構成を示す図である。
【図１８】付加情報多重化処理のファームウェアのブロック構成を示す図である。
【図１９】付加情報多重化装置のハードウェア構成を示す図である。
【図２０】多重化パラメータのテーブルを示す図である。
【発明を実施するための形態】
【００１１】
以下、添付図面を参照して本発明の実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。なお、同一の構成要素には同一の参照番号を付して、説明を省略する。
【００１２】
［第１の実施形態］
図１（ａ）（ｂ）は、本実施形態における画像情報に付加情報を埋め込む多重化エンコードを行う画像処理装置のハードウェア構成を示す図である。画像処理装置では、画像情報Ａと付加情報Ｂを取得し、画像情報Ａに付加情報Ｂを埋め込んだ印刷物Ｃが生成される。図１（ａ）は、画像情報Ａに付加情報Ｂを埋め込む処理をプリンタ１０３とは別の付加情報多重化装置１０２で行う構成を示している。図１（ｂ）は、画像情報Ａに付加情報Ｂを埋め込む処理をプリンタ１０３内で行う構成を示している。
【００１３】
図１（ａ）では、入力端子１００にて、画像情報Ａが入力される。画像情報Ａは、色成分を含む多階調画像データである。また、入力端子１０１にて、付加情報Ｂが入力される。付加情報Ｂは、テキスト文書データや音声データ、画像データや動画データを示す。または、テキスト文書情報や音声情報や画像、動画情報を圧縮したデータや、別のバイナリ値に変換されたデータを示す。付加情報多重化装置１０２は、画像情報Ａに付加情報Ｂを埋め込む処理を行う装置である。付加情報埋多重化処理の詳細については、後述する。プリンタ１０３は、画像情報Ａに付加情報Ｂが埋め込まれた画像データを印刷して、印刷物Ｃを生成する。
【００１４】
図１９は、図１の付加情報多重化装置１０２のハードウェア構成例を説明する図である。ＣＰＵ１９０２は、中央演算装置であり、例えば、付加情報を多重化する処理をプログラムに従って実行する。ＲＯＭ１９０３は、ＣＰＵ１９０２により実行されるプログラムを記憶する。ＲＡＭ１９０４は、ＣＰＵ１９０２によるプログラムの実行時に、各種情報を一時的に記憶するためのメモリを提供する。２次記憶装置１９０５は、例えばハードディスクであり、画像ファイルや付加情報などを保存するための記憶媒体である。
【００１５】
ディスプレイ１９０６は、ユーザインタフェース画面や処理内容等を表示する。キー入力装置１９０７は、キーボードなどの機器の操作を介して処理の指示や設定、文字入力等を受け付ける。ネットワークインタフェース１９０８は、例えばＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）に接続されている。また、ＬＡＮは、インターネットに接続されている。ＣＰＵ１９０２は、ネットワークインタフェース１９０８により、インターネットに接続されたサイトにアクセスして、ディスプレイ１９０６にサイトの画面を表示させたり、データを送受信する。付加情報多重化装置１０２は、例えばＰＣやスマートフォンの情報処理装置であるが、画像情報Ａに付加情報Ｂを埋め込む処理が実行可能であれば他の形態の装置でも良い。
【００１６】
図１（ｂ）では、付加情報多重化装置１０２に相当する付加情報多重化部１０５がプリンタ１０３に含まれている構成を示している。図１（ａ）と同様、入力端子１００にて、画像情報Ａが入力される。また、入力端子１０１にて、付加情報Ｂが入力される。プリンタ１０３内の付加情報多重化部１０５は、画像情報Ａに付加情報Ｂを埋め込む処理を行う。また、印刷部１０６は、付加情報多重化部１０５で画像情報Ａに付加情報Ｂが埋め込まれた画像データを印刷し、印刷物Ｃを生成する。
【００１７】
図１に示す画像情報Ａに付加情報Ｂが埋め込まれた画像データを印刷して、印刷物Ｃを生成する方法を、以下、多重化エンコード処理とする。
【００１８】
図２は、本実施形態における画像情報から付加情報を抽出する多重化デコードを行う画像処理装置のハードウェア構成を示す図である。図２は、多重化エンコード処理された印刷物Ｃをカメラなどの撮像装置で、撮像し、撮影した画像を解析することで、埋め込まれている付加情報Ｂを抽出する装置を示す。図２において、カメラ付モバイル端末２０１は、撮像センサ２０２を備え、印刷物Ｃを撮影する機能を有する。付加情報分離装置２０３は、撮像センサ２０２で撮影された撮影後の画像を解析することによって、付加情報Ｂを抽出する。付加情報抽出処理の詳細については、後述する。
【００１９】
ＣＰＵ２０４は、中央演算装置であり、本実施形態で説明する情報処理方法をプログラムに従って実行する。ＲＯＭ２０５は、ＣＰＵ２０４により実行されるプログラムを記憶する。ＲＡＭ２０６は、ＣＰＵ２０４によるプログラムの実行時に、各種情報を一時的に記憶するためのメモリを提供する。２次記憶装置２０７は、例えばハードディスクであり、画像ファイルや画像解析結果を保存するデータベースなどを保存するための記憶媒体である。
【００２０】
ディスプレイ２０８は、本実施形態の処理結果である抽出された付加情報をユーザに表示する。キー入力装置２０９は、例えばディスプレイ２０８がタッチパネル機能を備えることで実現され、タッチパネルの操作で処理の指示や設定、文字入力等を受け付ける。ネットワークインタフェース２１０は、例えば無線ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）に接続されている。また、ＬＡＮは、インターネットに接続されている。ＣＰＵ２０４は、インターネットに接続されたサイトにアクセスして、ディスプレイ２０８にサイトの画面を表示させたり、データを送受信する。
【００２１】
スピーカ２１１は、抽出した付加情報が音声データや音声付動画データの場合に、音声を出力する。また、インターネットに接続したそのアクセス先に動画データがある場合には、その動画データにより再生される音声を出力する。カメラ付きモバイル端末２０１は、撮像センサ２０２を内蔵しているが、そのような構成に限られない。例えば、別装置が撮像センサ２０２を制御して、撮影画像を付加情報分離装置２０３に送信するようにしても良い。例えば、撮像センサ２０２として、デジタルカメラやビデオカメラを用い、付加情報分離装置２０３として、パソコンやスマートフォンを用いて、印刷物Ｃから付加情報Ｂを抽出しても良い。
【００２２】
図２に示す印刷物Ｃから付加情報Ｂを抽出する方法を、以下、多重化デコード処理とする。
【００２３】
＜多重化エンコード処理の説明＞
図３は、本実施形態における多重化エンコード処理の基本ファームウェアのブロック構成を示す図である。画像データは、以下に説明する処理が実行され、記録ヘッドと接続された印刷エンジンが処理可能な解像度、階調数に変換され、送信される。図３に示す各処理部について説明する。
【００２４】
付属情報取得部３０１は、画像データを圧縮する際に使用された各種パラメータを取得する。圧縮する際に使用された各種パラメータは、画像データ復元部３０２に送られ、圧縮された画像から画像データを抽出する処理に用いられる。また、圧縮する際に使用された各種パラメータは、不図示の圧縮度算出部に送られ、圧縮度を算出する処理に用いられる。
【００２５】
例えば、入力画像は、文書データをＪＰＥＧフォーマットで圧縮して得られた非可逆画像データであり、記録媒体に記録される。非可逆画像データには、圧縮する際に使用された量子化テーブルと画像データサイズが含まれている。付属情報取得部３０１は、取得した画像データサイズ情報と量子化テーブルを画像データ復元部３０２に送る。
【００２６】
画像データ復元部３０２は、符号化された画像データを復号化して画像データを抽出する。
【００２７】
画像補正部３０３は、画像データ復元部３０２により取得されたＲＧＢデータに対し、画像補正を実行する。画像補正としては、全体の色を明るくしたい、暗くしたいといった明度調整や、コントラスト調整、カラーバランスの調整のほか、写真印刷を想定した逆光補正や赤目補正などがある。これらの画像補正は、本ブロックで一元的に処理を行うことで、プリンタ１０３に依存しない処理を実現することが可能となる。
【００２８】
解像度変換部３０４は、プリンタ１０３に対応した解像度への変換処理を実行する。入力される画像データとプリンタの解像度から、必要な変倍量が導き出され、拡大または縮小の処理が実行される。変倍処理としては、ニアレストネイバーやバイリニア、バイキュービック法などがあり、処理の特性や処理速度に基づいて、適宜選択される。
【００２９】
色変換部３０５は、プリンタ１０３で出力した際に好適な色となるような変換処理を実行する。例えば、表示装置に表示された画像をプリンタで記録する場合、必ずしも色再現範囲は一致しない。ある色ではプリンタの方が再現範囲は狭く、また別の色では逆であったりする。そのため、画像の劣化を最小限にし、適宜、色の圧縮・伸長を行う必要がある。
【００３０】
本実施形態では、色変換部３０５は、ＲＧＢ形式での変換を行う。つまり、色変換部３０５は、本ブロックに入力されたＲＧＢ値を、デバイスの再現性を考慮し、プリンタ向けのＲＧＢ値（以下、ＤｅｖｉｃｅＲＧＢとする）に変換する。変換は、マトリクスなどの演算で行うことも可能であるが、本実施形態では、３次元の色変換テーブル３１１を用いる。
【００３１】
入力されるＲＧＢ値を各色８ビット（２５６階調）とした場合、全組み合わせを保持することは、容量の観点から現実的でないので、色変換テーブル３１１は、所定の間隔で間引かれたものを用いる。図６に色変換テーブルの一例を示す。図６では、各色２５６階調を１７点のグリッドとし、それに対応するＤｅｖｉｃｅＲＧＢ値を記載したテーブルとなっている（１７×１７×１７＝４９１３グリッド）。グリッド間の値は、補間処理により算出する。補間処理については四面体補間など周知の技術を用いても良い。
【００３２】
上記により、対象となるＲＧＢ値に対応したＤｅｖｉｃｅＲＧＢ値を算出するが、階調性を考慮して出力を８ビット以上としても良い。また、色変換テーブルは、上述の通りプリンタ１０３の色再現範囲に依存するので、例えば記録に使用する記録用紙が異なる場合は、それらに応じたテーブルを準備する。なお、本実施形態では、色変換の色空間についてＲＧＢからＲＧＢの変換で説明するが、ＣＭＹＫからＣＭＹＫ、ＲＧＢからＣＭＹＫ、ＣＭＹＫからＲＧＢなどの色空間でも適用可能である。
【００３３】
インク色変換部３０６は、色変換部３０５で変換されたＤｅｖｉｃｅＲＧＢ値をインク色の値へと変換する。この変換において、予め各ＤｅｖｉｃｅＲＧＢの組み合わせに対応したインク色の値が記述された色分解テーブル３１２を用いる。尚、本ブロックにおいても、色変換部３０５と同様、１７のグリッドのテーブルを用いる。
【００３４】
本実施形態では、インク色として、シアン（Ｃ）、マゼンタ（Ｍ）、イエロー（Ｙ）、ブラック（Ｋ）の４色を想定しており、各グリッドに対応した４色の値が記述されているテーブルが用いられる。これらは、記録用紙の紙面上でインクが溢れないことや、インク同士が隣接した際、滲まないことを考慮して決定された値である。つまり、色分解テーブル３１２についても、記録用紙が異なる場合、それらに応じたテーブルを用意しておく。上述の色変換テーブル３１１と同様、グリッド間の、対象となるＤｅｖｉｃｅＲＧＢ値に対応したインク分解後の値は、四面体補間などを適用して求められる。
【００３５】
インクジェット記録方式の場合、記録用紙上にドットとして塗布されるインク量が多くなるにつれ、ドットの重なりが増加し、記録濃度が上昇しにくくなる。濃度補正部３０７は、濃度の応答性を均一にするように補正する。これにより、上記の色変換テーブル３１１や色分解テーブル３１２の作成時の精度が確保しやすくなる。
【００３６】
濃度補正部３０７は、Ｃ、Ｍ、Ｙ、Ｋの各色について補正を行えばよいので、ここでは１次元の濃度補正テーブル３１３を用いる。例えば、各色の入力８ビット（２５６階調）に対応したテーブルを用意しておく。また、間引くことを行わずに、各信号値に対応した値が記述されたテーブルが用いられても良い。
【００３７】
階調変換部３０８は、インク色変換され、濃度補正を実行された多ビットデータをプリンタ１０３で記録可能な階調数に変換する。ここでは階調変換処理の説明のため、記録（１）／非記録（０）の２階調（１ビット）のプリンタ１０３として説明する。階調変換方法としては、画像の低周波成分を排除し、視覚に好適な階調再現可能な誤差拡散法を用いる。また、入力信号は、８ビットの０〜２５５を想定して説明する。
【００３８】
ここで、誤差拡散法における誤差分配方法について説明する。ターゲットピクセルの信号値を信号値Ｌとした場合、閾値ＴＨとの比較が行われる。０〜２５５を２値にするために、閾値は１２７とする。その比較の結果の大小により、Ｌ＞ＴＨの場合は１（記録）、Ｌ≦ＴＨの場合は０（非記録）と判定される。そして、判定結果に応じて量子化代表値Ｖを、１（記録）の場合は２５５、０（非記録）の場合は０と設定する。そのとき、発生する誤差Ｅ（＝Ｌ−Ｖ）は、分配係数に従って周囲のピクセルに分配される。そして、次のターゲットピクセルの信号値Ｌに、分配された誤差Ｅａを加算した値Ｌａに対し、閾値との比較が行われる。従って、Ｌａ＞ＴＨの場合は１（記録）、Ｌａ≦ＴＨの場合は０（非記録）と判定される。この処理を全てのピクセル、全てのインク色Ｃ、Ｍ、Ｙ、Ｋに対して行うことで、記録可能な１ビットのインク色データを得ることができる。階調変換部３０８は、生成したインク色データを印刷エンジンに送る。
【００３９】
印刷エンジンは、受信されたデータを記憶する受信メモリ、ＣＰＵ、記録材を記録媒体に付与する印刷部、を備える。印刷エンジンでは、入力されたインク色データを受信メモリに記憶する。印刷部は、インク色データを記録ヘッドのノズルに対応したインク滴データに変換する。インク滴データをメディアの搬送方向に対して交差する方向に走査する記録ヘッドにより、記録媒体上に吐出することで印刷処理を行う。本実施形態では、シリアル走査型のインクジェット記録装置の構成を示しているが、ラインヘッドによる記録装置やレーザーエンジンによる記録装置など他の記録装置においても適用可能である。
【００４０】
付加情報３０９は、図１に示す付加情報多重化装置１０２、もしくは、付加情報多重化部１０５により、入力される画像情報Ａに対して埋め込む情報を示す。例えば、付加情報３０９は、テキスト文書データであり、例えば、文字コードを用いて、数字や文字を数値に割り当てた数値データとする。数値データは、図３の付加情報３０９として、付加情報多重化部３１０に送信される。
【００４１】
例えば、テキスト文書データとして、「ｈｅｌｌｏ」という情報として説明する。テキスト文書データは、数値データいわゆるバイナリデータで取り扱うとする。バイナリデータとは「０」もしくは「１」の情報であり、この「０」もしくは「１」の情報が連続でつながることにより、特定の意味を持つ。ＰＣ上では文字を普通に扱えているが、それぞれの文字には対応するバイナリデータが定められている。どのバイナリデータに対してどの文字が対応しているかは「文字コード」と呼ばれるもので定義されている。文字コードの中の一つである「シフトＪＩＳ」を例にすると、「ｈ」はバイナリデータの「０１１０１０００」に対応している。同様に「ｅ」は「０１１００１０１」、「ｌ」は「０１１０１１００」、「ｏ」は「０１１０１１１１」というバイナリデータに対応している。
【００４２】
「ｈｅｌｌｏ」という文字はバイナリデータで「０１１０１００００１１００１０１０１１０１１０００１１０１１０００１１０１１１１」と表現できる。逆に「０１１０１００００１１００１０１０１１０１１０００１１０１１０００１１０１１１１」というバイナリデータを取得できれば「ｈｅｌｌｏ」という文字を取得することができる。付加情報３０９は、このバイナリデータに変換された数値データとする。
【００４３】
付加情報多重化部３１０は、付加情報３０９と多重化パラメータ３１５を受け取り、画像データに付加情報３０９を多重化する処理を行う。多重化処理は、テキスト文書などを「０」、「１」のバイナリデータに変換した付加情報３０９を、後段で抽出して読み取れるような形式で、画像データに埋め込む。例えば、「０」、「１」を読み取れる形式とするために、画像データにマスク処理を実行し、画像領域に対して、２つの周期性を持たせる。
【００４４】
２つの周期性を持たせるためのマスクデータの一例を、図１１（ａ）（ｂ）に示す。図１１（ａ）（ｂ）は、マスクデータのイメージ図である。図１１（ａ）（ｂ）は、５ｐｘ（ピクセル）×５ｐｘで構成されたマスクデータであり、５ｐｘ×５ｐｘの領域に対して２つの周期性を持ったパターンを画像に掛け合わせることで、「０」、「１」を表現させる。画像を読み取る際に、周波数解析などで２つの周期性を判断できれば、「０」、「１」を読み取ることができる。
【００４５】
付加情報多重化部３１０は、埋め込む付加情報の数値データに基づいて、画像上にパターンを形成することで多重化を実現する。例えば、画像に付加情報を埋め込む例として、１色のグレー画像データの画像全体に対して「０」「１」を交互に適用する方法について説明する。
【００４６】
多重化される画像のサイズは、縦幅６４０ｐｘ、横幅４８０ｐｘとする。また、マスクデータは、図１１と同様に、５ｐｘ×５ｐｘで構成されたマスクデータとする。ここで、図１１（ａ）を「０」とし、図１１（ｂ）を、「１」と定義する。
【００４７】
例えば、マスクデータは、図１１の黒ブロック１１０１と白ブロック１１０２と斜線ブロック１１０３に分けて定められている。各数値として、黒ブロック１１０１は＋２、白ブロック１１０２は０、斜線ブロックは−１とする。
【００４８】
下記のコードにおいて、ｍａｓｋＡがｔｒｕｅの場合、「０」として図１１（ａ）を示し、ｆａｌｓｅの場合、「１」として、図１１（ｂ）を示す。図１１（ａ）（ｂ）の黒、白、斜線ブロックの各数値をマスクデータとし、画像全体に適用する疑似コードを以下に示す。
【００４９】
疑似コード：
――――――――――――――――――――――――――――――
１      ｉｎｔ  ｉ，  ｊ，  ｋ，  ｌ；
２      ｉｎｔ  ｗｉｄｔｈ  ＝  ６４０，  ｈｅｉｇｈｔ＝４８０；
３      ｕｎｓｉｇｎｅｄ  ｃｈａｒ  ＊ｄａｔａ  ＝  画像データ；
４      ｉｎｔ  ＊＊ｍａｓｋＡ  ＝  マスクデータ；
６      ｂｏｏｌ  ｉｓＭａｓｋＡ  ＝  ｔｒｕｅ；
５      ｆｏｒ（ｊ  ＝  ０；  ｊ  ＜  ｈｅｉｇｈｔ；  ｊ＋＝５）｛
６        ｆｏｒ（ｉ  ＝  ０；  ｉ  ＜  ｗｉｄｔｈ；  ｉ＋＝５）｛
７                ｆｏｒ（ｋ  ＝  ０；  ｋ  ＜  ５；  ｋ＋＋）｛
８                    ｆｏｒ（ｌ  ＝  ０；  ｌ  ＜  ５；  ｌ＋＋）｛
ｉｆ（ｉｓＭａｓｋＡ  ＝＝  ｔｒｕｅ）｛
９                        ｄａｔａ［（ｉ＋ｋ）＋（ｊ＋ｌ）＊ｗｉｄｔｈ］  ＋＝  ｍａｓｋＡ［ｋ］［ｌ］；
｝
１０  ｝
１１  ｝
１２  ｝
１３  ｝
――――――――――――――――――――――――――――――
上記疑似コードに示す通り、画像全体を５ｐｘ×５ｐｘのブロックに分けて、ブロック毎に、ｍａｓｋＡのデータを加算させることで、パターンを形成させる仕組みとなっている。また、上記では、１色のグレー画像データで説明しているが、パターンを形成する方法では、極力、人間の視覚的に目立ちづらいようにパターンを形成させたい場合もある。グレー画像データでは、輝度成分でパターンを形成しなければならないので、視覚的に目立ちやすい。形成するパターンの形状や周波数成分にもよるが、輝度成分の変化より、色成分の変化の方が、視覚的に目立ちにくいことが知られている。
【００５０】
そこで、例えば、ＲＧＢ成分を持つカラー画像データを利用し、ＹＣｂＣｒなどやＬａｂ、Ｙｕｖ、Ｌｃｈなどへの色空間変換を行い、輝度成分と色成分に分ける。そして、輝度成分ではなく、色成分にマスクデータを適用し、パターンを形成させることで、視覚的に目立ちにくい画像を生成することができる。従って、本実施形態では、ＹＵＶを使用した方法について説明する。
【００５１】
また、本実施形態では、マスクデータの適用方法として、５ｐｘ×５ｐｘブロックに分けているが、そのような構成に限られない。例えば、他のブロックサイズの単位やマスク形状であっても良い。多重化された印刷物Ｃが、撮影した際に、パターンを区別できる仕組みであれば、いずれの方法が用いられても良い。
【００５２】
付加情報多重化部３１０は、多重化された印刷物Ｃを撮影して、付加情報を抽出できるように、画像データに付加情報を埋め込む。付加情報多重化部３１０による多重化処理の詳細については後述する。
【００５３】
多重化パラメータ３１５は、付加情報多重化部３１０で使用するパラメータである。図７は、多重化パラメータの一例を示すテーブルである。図７では、入力をＹＵＶとして、各色２５６階調を１７点のグリッドとし、それに対応するＵ適用値を記載したテーブルとなっている（１７×１７×１７＝４９１３グリッド）。Ｕ適用値は、図１４（ａ）（ｂ）のマスクパターンの各数値に対応している。グリッド間の値は、補間処理を用いて算出される。補間処理については、四面体補間などが用いられて良い。多重化パラメータ３１５による多重化処理の詳細については後述する。
【００５４】
図４を参照しながら、多重化エンコード処理について説明する。図４は、本実施形態における多重化エンコード処理を示すフローチャートである。図４の処理は、例えば、ＣＰＵ１９０２がＲＯＭ１９０３に記憶されたプログラムをＲＡＭ１９０４に読み出して実行することにより実現する。
【００５５】
Ｓ４０１で、ＣＰＵ１９０２は、画像情報Ａを印刷用画像として取得する。Ｓ４０１の処理は、図３の付属情報取得部３０１、画像データ復元部３０２による処理に対応する。例えば、画像情報Ａは、カメラ付きモバイル端末（スマートフォン）で予め撮影し、ＪＰＥＧフォーマットで端末内のメモリに保存した画像である。ＣＰＵ１９０２は、取得したＪＰＥＧ画像を解凍し、静止画の３色８ビットのＲＧＢ画像データを生成する。また、ＣＰＵ１９０２は、必要に応じて、図３の画像補正部３０３により、取得した画像に、補正もしくは加工処理を行っても良い。
【００５６】
次に、Ｓ４０２で、ＣＰＵ１９０２は、付加情報Ｂを印刷用画像に埋め込むデータとして取得する。Ｓ４０２の処理は、図３の付加情報３０９、付加情報多重化部３１０による処理に対応する。例えば、スマートフォンで、任意にキー入力を行ったテキスト文書データが取得される。ここで、テキスト文書データは、例えば、文字コードシフトＪＩＳを用いて、数字や文字を数値に割り当てた数値データとする。数値データは、図３の付加情報３０９として、付加情報多重化部３１０に送信される。
【００５７】
次に、Ｓ４０３で、ＣＰＵ１９０２は、任意で選択された用紙サイズとプリンタの解像度から、取得した画像情報Ａに対して解像度変換処理を行う。Ｓ４０３の処理は、図３の解像度変換部３０４による処理に対応する。例えば、選択した用紙サイズを２Ｌとした場合、プリンタ１０３への入力解像度の画素数に合わせて、解像度変換が行われる。プリンタ１０３への入力解像度が６００ｄｐｉ（ｄｏｔ  ｐｅｒ  ｉｎｃｈ）とした場合、例えば、用紙サイズ２Ｌの画素数が、３０００画素×４０００画素と設定される。この場合、取得した画像情報Ａの画素数が、１５００画素×２０００画素の場合、縦、横、各々２倍の画素数になるように、解像度変換が行われる。入力画像のアスペクト比を変更したくない場合、縦、横の拡大及び縮小率を同じとして、解像度変換が行われる。
【００５８】
次に、Ｓ４０４で、ＣＰＵ１９０２は、解像度変換処理後の画像データに対して適宜、色変換を行う。Ｓ４０４の処理は、図３の色変換部３０５による処理に対応する。
【００５９】
次に、Ｓ４０５で、ＣＰＵ１９０２は、色変換後の画像データに対して、付加情報を多重化する処理を行う。Ｓ４０５の処理は、図３の付加情報多重化部３１０による処理に対応する。付加情報多重化部３１０の詳細については後述する。
【００６０】
次に、Ｓ４０６で、ＣＰＵ１９０２は、画像データをインク色に変換した画像に濃度補正を加えた画像データを、階調数に従って階調変換を行い、印刷用データを生成する。
Ｓ４０６の処理は、図３の図３のインク色変換部３０６、濃度補正部３０７及び、階調変換部３０８による処理に対応する。
【００６１】
そして、Ｓ４０７で、ＣＰＵ１９０２は、階調変換された画像を、図３に示す印刷エンジンへ送信する。印刷エンジンでは、記録媒体に、階調変換された画像に応じて各色のインクが塗布され、印刷物Ｃが生成され、その後、図４の処理を終了する。
【００６２】
図３の付加情報多重化部３１０と図４のＳ４０５の処理について、図５を参照しながら説明する。図５は、本実施例における付加情報多重化処理のファームウェアのブロック構成を示す図である。図５に示す各処理部について説明する。
【００６３】
色空間変換部５０１は、色変換部３０５で色変換を行った画像データに対して、情報多重化を行う色空間に変換する処理部である。例えば、情報多重化を行う色空間をＹＵＶのＵとし、入力画像の色空間がＲＧＢだった場合、式（１）、式（２）、式（３）により、ＲＧＢの色空間をＹＵＶの色空間に変換する。
【００６４】
Ｙ  ＝  ０．２９９×Ｒ＋０．５８７×Ｇ＋０．１１４×Ｂ  ・・・（１）
Ｕ  ＝−０．１６９×Ｒ−０．３３１×Ｇ＋０．５００×Ｂ  ・・・（２）
Ｖ  ＝  ０．５００×Ｒ−０．４１９×Ｇ−０．０８１×Ｂ  ・・・（３）
本実施形態では、Ｕプレーンで説明を行うが、ＹやＶについても同様である。本実施形態では、印刷を行う画像データを複数のブロック領域に分けて、ブロック単位で、各画素の濃度変調により、パターンを形成させることで、付加情報を埋め込む。
【００６５】
ブロック位置設定部５０２は、色空間変換後の画像データを取得し、指定した色プレーンの画像に対し、指定した１つのブロックのサイズに合わせて、ブロックの位置座標を設定する処理部である。例えば、ＹＵＶのＵ色プレーンの画像サイズが、縦幅６４０ｐｘ、横幅４８０ｐｘで、ブロックサイズが、縦幅５ｐｘ、横幅５ｐｘとする。その場合、縦ブロック数は、６４０÷５＝１２８で、１２８ブロック数となり、横ブロック数は、４８０÷５＝９６で、９６ブロック数となる。また、合計ブロック数は、１２８×９６＝１２２８８で、１２２８８ブロック数となる。例えば、各ブロックの左上座標をブロック位置と定めて設定する。
【００６６】
数値化部５０３は、付加情報３０９を受信して、付加情報３０９を数値化したデータに変換する処理部である。例えば、付加情報３０９が、シフトＪＩＳの文字列とする。数値化部５０３は、シフトＪＩＳの形式で、文字と数値が対応した変換マップを予め保持しておき、文字列を数値列にデータ変換する。文字列「ｈｅｌｌｏ」の場合、変換後の数値列「０１１０１００００１１００１０１０１１０１１０００１１０１１０００１１０１１１１」となる。
【００６７】
パターン選択部５０４は、ブロック単位で、各画素の濃度変調を行うためのマスクパターンを登録しておき、数値化部５０３で付加情報３０９を数値化したデータに対して適用すべきマスクパターンを選択する処理部である。
【００６８】
図１４は、周波数特性の異なるマスクパターンを数値化したイメージ図を示す。例えば、縦幅５ｐｘ、横幅５ｐｘを１ブロックとし、１ブロックのマスクパターンとして、図１４（ａ）と図１４（ｂ）が用いられる。また、多重化する数値が「０」の場合、図１４（ａ）とし、多重化する数値が「１」の場合、図１４（ｂ）とする。即ち、１ブロック毎に、「０」「１」の１ビットを表現できることになる。
【００６９】
情報多重化部５０５は、色空間変換部５０１で色空間変換した画像データを取得し、ブロック位置設定部５０２で設定した各ブロックの位置を取得する。さらに、情報多重化部５０５は、パターン選択部５０４で選択した数値毎のマスクパターンを取得する。さらに、情報多重化部５０５は、多重化パラメータ３１５を取得する。情報多重化部５０５は、各取得した情報から、画像データに対してマスクパターンを適用した画像を生成する処理部である。
【００７０】
印刷物を撮影する際に、必ずしも全体を撮影できるとは限らないので、印刷物の一部のみの撮影でも付加情報を抽出できるように、同じデータを複数個所に埋め込んでおく。例えば、画像全体のブロック数が１２２８８ブロックで、一つの付加情報の単位を９６ブロックとすると、１２２８８÷９６＝１２８で、同じデータを１２８領域に分けて埋め込むことになる。つまり、画像データを１２８の領域に分けることになる。１つの領域に対し、縦幅５ｐｘ、横幅５ｐｘを１ブロックとした９６ブロックが含まれる。９６ブロックを１つの付加情報として取り扱うので、９６ビットの付加情報を設定できる。但し、９６ビットの開始位置がわかるように、シフトＪＩＳでは文字として表現していない「１１１１１１１１」の８ビットを文字の先頭に含ませる。従って、９６−８＝８８ビットのデータを付加情報として定義することが可能となる。
【００７１】
８８ビット内に収まるデータとして、数値化部５０３で設定した「０」「１」の数値列が定義される。ブロック毎に、数値が定義され、数値に従ってマスクパターンが選択される。さらに、マスクパターン内の数値に従って画素毎の数値が決定される。
【００７２】
例えば、色空間変換部５０１によって色空間変換された画像内の１ブロック（５ｐｘ×５ｐｘ）のＹＵＶ値が全てＹ：０、Ｕ：−１１２、Ｖ：０だと仮定する。その場合、図７の多重化パラメータ３１５に従ってＵ値を変換すると、マスクパターンが「０」の場合は−１１２、「２」の場合は−１０２、「−１」の場合は、−１２２となる。つまり、同じＵ値−１１２で埋められた５ｐｘ×５ｐｘのブロック内がマスクパターンによってＵ値が１１１２、−１０２、−１２２のいずれかに変更され所定の周期をもつことになる。
【００７３】
本実施形態では、画素毎に適用するマスクパターンの数値と基準値を掛け合わせた値を加算することによって、多重化を実現させている。マスクパターンの適用方法は、Ｕプレーン上に、ブロック単位に周波数を変更できる値の変更方法であれば、そのような構成に限られない。例えば、多重化パラメータ３１５のようなテーブルではなく、ＹＵＶのＵ値に、マスクパターンの数値を掛け合わせた値を用いるようにしても良い。
【００７４】
以上が、多重化エンコードの処理の説明である。上述した多重化エンコード処理については、図１（ａ）の付加情報多重化装置１０２による処理内容を示し、また、図１（ｂ）の付加情報多重化部１０５による処理内容を示している。
【００７５】
図１にも示すように、多重化エンコード処理を行う処理部は、プリンタ１０３に含まれていなくても、含まれていてもいずれでも良い。付加情報多重化装置１０２もしくは、付加情報多重化部１０５で、生成された多重化エンコード処理後の多重化画像を、プリンタ１０３及び印刷部１０６に送信できれば、図１（ａ）（ｂ）のいずれの構成が用いられても良い。
【００７６】
＜多重化デコード処理の説明＞
図８は、本実施形態における多重化デコード処理の基本ファームウェアのブロック構成を示す図である。以下に説明する処理が実行され、印刷物に埋め込まれている付加情報が抽出される。図８に示す各処理部について説明する。
【００７７】
撮像センサ２０２は、撮影部８０１と色調整部８０２を含む。付加情報分離装置２０３は、多重化位置検出部８０３、付加情報分離部８０４、抽出データ解析部８０５を含む。本実施形態では、テキスト文書データや音声データや動画データなどの数値化された付加情報のデータが、印刷物Ｃ上にパターン形状として付加されているものとする。例えば、付加情報は、印刷物Ｃ全体に、同じ情報を領域毎に繰り返し付加されているとして説明する。撮像部８０１は、多重化エンコード処理された印刷物Ｃを、図２の撮像センサ２０２内の撮像素子で、撮像画像データに変換する。
【００７８】
図９は、多重化エンコード処理された印刷物をカメラ付きモバイル端末で、撮影するイメージ図を示す。同図において、印刷物９０１は、印刷物Ｃに相当する記録媒体に多重化エンコード処理された印刷物を示す。領域９０２は、印刷物９０１の印刷領域内で、多重化エンコード処理された領域を示す。端末９０３は、カメラ付モバイル端末２０１に相当する機能を有する装置を示す。領域９０４は、カメラ付モバイル端末９０３で、撮影される領域を示す。
【００７９】
例えば、撮像部８０１では、図９のように、カメラ付モバイル端末９０３で、多重化エンコード処理された印刷物９０１内の多重化エンコード処理された領域９０２内で、撮影領域９０４を撮影する。
【００８０】
例えば、撮像センサ２０２内の撮像素子をＣＣＤとする。撮像素子ＣＣＤについては、既に公知の技術なので、詳細は省略する。概略を説明すると、ＣＣＤは、光をフォトダイオードという受光素子が感知して、光を電圧に変化させることが可能である。その際に、素子毎に配置したＲＧＢやＣＭＹなどのカラーフィルタを通すことにより、光を色のデータとして変換させることができる。撮影されたセンサ値は、色調整部８０２に送られる。
【００８１】
色調整部８０２は、撮像部８０１においてフォトダイオードで取り出したセンサ値に対し、例えば、１画素ＹＵＶ、８ビットデータとして、画像データに変換する。また、ホワイトバランスや明るさ調整など、通常撮影時に実行される色調整処理も併せて行う。
【００８２】
多重化位置検出部８０３は、多重化した印刷物が撮影され色調整された画像データを取得する。多重化位置検出部８０３は、取得した画像データに対して、周波数特性を取得する。多重化位置検出部８０３は、取得した周波数特性を判定することで、多重化されている位置を検出する。
【００８３】
図１２は、二次元の周波数領域で周波数特性の差を示す概略図である。横軸は水平方向の周波数、縦軸は垂直方向の周波数を示している。中心となる原点は直流成分を示し、原点から遠ざかるにつれて、高周波域となる。本実施形態では、図１４（ａ）（ｂ）のマスクパターンの切換えにより、多重化された印刷物のＹＵＶのＵ成分の周波数特性が変わる。
【００８４】
例えば、図１４（ａ）によるＵ成分の特性の変化により、図１２の直線１２０１の周波数ベクトル上に大きなパワースペクトルが生じるとする。また、図１４（ｂ）によるＵ成分の特性の変化により、図１２の直線１２０２の周波数ベクトル上に大きなパワースペクトルが生じるとする。付加情報分離時には、この大きなパワースペクトルが発生する周波数ベクトルを検出することで多重化信号を判定することができる。
【００８５】
図１４（ａ）、（ｂ）は、特定の周波数ベクトルの方向性を有するＨＰＦ（ハイパスフィルタ）に相当する。図１４（ａ）、（ｂ）は、周波数ベクトル検出時の空間フィルタとしても用いられる。即ち、図１４（ａ）の空間フィルタでは、直線１２０１上の周波数ベクトルを強調することが可能になり、また、図１４（ｂ）の空間フィルタでは、直線１２０２上の周波数ベクトルを強調することが可能になる。
【００８６】
例えば、今、図１４（ａ）のマスクパターンにより、図１２の直線１２０１の周波数ベクトル上に大きなパワースペクトルが発生したとする。その場合、図１４（ａ）の空間フィルタではパワースペクトルの変化量が増幅するが、図１４（ｂ）の空間フィルタでは、ほとんど増幅されない。即ち、複数の空間フィルタを並列にフィルタリングすると、周波数ベクトルが一致した空間フィルタ時のみ増幅し、それ以外のフィルタでは増幅がほとんど生じない。従って、いかなる周波数ベクトル上に大きなパワースペクトルが発生しているかを容易に判定することができる。
【００８７】
また、今回ＹＵＶのＵ成分において周波数特性を変化させて多重化された印刷物の付加情報分離時にＵ成分により周波数ベクトルを検出したが、Ｕ成分が失われてしまうと付加情報が分離できないことになる。Ｕ成分ではなく他のＹ成分やＶ成分に特性が移った場合、Ｙ成分やＶ成分で周波数特性を判定すると付加情報を分離することができるが、Ｕ成分のみ解析するよりも時間がかかってしまう。
【００８８】
上記のように、周波数特性の判定を行うことで、データを抽出することが可能となる。しかしながら、周波数特性を判定する際に、抽出すべき位置がずれていると、正しく抽出しにくくなってしまう。
【００８９】
図１６は、周波数特性を判定する際の検出位置を説明するための図である。画像１６０１は、印刷物の４つのブロックにおいて多重化されている画像を示す。領域１６０２、１６０３は、ブロック単位で周波数特性を判定する領域を示す。図１６において、領域１６０２は、多重化されているブロックの位置とずれていることを示す。領域１６０３は、多重化されているブロックの位置と合っていることを示す。この場合、領域１６０３は、予め決めた周波数を正しく特定することが可能だが、領域１６０２は、特定の周波数ベクトルのパワースペクトルが下がってしまうので、予め決めた周波数の特定が困難になる。
【００９０】
多重化位置検出部８０３は、特定の周波数ベクトルのパワースペクトルが強いか弱いかに基づいて、ブロック位置を検出する。そこで、多重化位置検出部８０３は、取得した撮像後の画像データに対し、ブロック位置をずらしながら、周波数特性の判定を行い、多重化されたブロックの位置を検出する。
【００９１】
付加情報分離部８０４は、多重化位置検出部８０３で検出した位置を基準とし、周波数特性を判定した結果を利用して、多重化されている付加情報を抽出する。
【００９２】
図１５は、印刷用紙にブロック毎に多重化されている様子を示す図である。同図において、印刷用紙１５０１は、印刷用紙を示し、ブロック１５０２は、多重化されるブロックを示す。多重化されているブロック数が横８ブロック、縦１２ブロック、計９６ブロックとする。図１５において、ブロック毎に、多重化エンコード処理で、付加情報の「０」と「１」が埋め込まれているものとする。
【００９３】
例えば、図１２の、直線１２０１の周波数ベクトルのパワースペクトルがある閾値を超えていれば、データ「０」と判定される。また、直線１２０２上の周波数ベクトルのパワースペクトルがある閾値を超えていれば、データ「１」と判定される。多重化位置検出部８０３で検出した位置を基準に、ブロック単位で、９６ブロック分、位置をずらしながら、周波数特性の判定が行われる。この場合、１ブロック毎に、「０」「１」の１ビットを判定できるので、合計９６ビットのデータを抽出することができる。このように、位置をずらしながら周波数特性の判定を行うことで、多重化されたデータを抽出することができる。
【００９４】
抽出データ解析部８０５は、付加情報分離部８０４で付加情報として分離した数値列に対して、データを解析し、元々埋め込んだ付加情報の形式に変換する処理である。例えば、予め多重化する付加情報を、テキスト文書データとして、文字コードを「シフトＪＩＳ」で数値化した値であるとする。
【００９５】
シフトＪＩＳの１バイトコード（半角文字）では、上位４ビットと下位４ビットの組み合わせで、数値及び文字に対応した変換を行える。例えば、上位４ビットが「０１００」で、下位４ビットが「０００１」の場合、文字列として、「Ａ」と判定される。このように、変換マップを予め保持しておき、数値列を対応させることで、文字へと変換することができる。
【００９６】
付加情報として分離した数値列は、図２のＲＡＭ２０６に、一時的に保持しておき、２次記憶装置２０７に予め保持していた「シフトＪＩＳ」変換マップを参照可能なようにしておく。
【００９７】
例えば、付加情報分離部８０４で分離した付加情報の数値列が、「０１１０１００００１１００１０１０１１０１１０００１１０１１０００１１０１１１１」とする。この場合、変換マップに対応させると以下のようになる。上位４ビット「０１１０」、下位４ビット「１０００」で、文字「ｈ」となる。上位４ビット「０１１０」、下位４ビット「０１０１」で、文字「ｅ」となる。上位４ビット「０１１０」、下位４ビット「１１００」で、文字「ｌ」となる。上位４ビット「０１１０」、下位４ビット「１１００」で、文字「ｌ」となる。上位４ビット「０１１０」、下位４ビット「１１１１」で、文字「ｏ」となる。従って、文字列として、「ｈｅｌｌｏ」が抽出される。
【００９８】
付加情報を抽出すると、例えば抽出された文字列を図２のディスプレイ２０８で表示する。また、抽出された文字列がＵＲＬ(Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ)である場合、ネットワークインタフェース２１０でネットワークに接続し、ブラウザを利用して、ディスプレイ２０８にＵＲＬ先の画面を表示する。また、そのＵＲＬが動画サイトであった場合、ディスプレイ２０８で動画を表示し、スピーカ２１１で、音声を出力する。
【００９９】
図１０は、本実施形態における多重化デコード処理を示すフローチャートである。図１０の処理は、例えば、ＣＰＵ２０４がＲＯＭ２０５に記憶されたプログラムをＲＡＭ２０６に読み出して実行することにより実現される。
【０１００】
Ｓ１００１では、ＣＰＵ２０４は、撮像センサ２０１により、多重化された印刷物Ｃの撮影を行う。撮像センサ２０１は、撮影された光が色データ値に変換されたセンサ値を、色調整部８０２に送信する。Ｓ１００１の処理は、図８の撮像部８０１の撮像センサによる撮影画像を取得する処理に対応する。
【０１０１】
Ｓ１００２では、ＣＰＵ２０４は、取得した撮影画像の色調整を行う。色調整部８０２は、撮像部８０１から色データ値を受信し、ホワイトバランス調整を行い、ホワイトバランス調整された色データを画像データとして生成する。色調整部８０２は、生成した画像データを付加情報分離装置２０３へ送信する。もしくは、生成した画像データは、図２の２次記憶装置２０７に保存される。Ｓ１００２の処理は、図８の色調整部８０２による、ホワイトバランスの色調整を行った画像を生成する処理に対応する。
【０１０２】
Ｓ１００３では、ＣＰＵ２０４は、色調整部８０２からホワイトバランス後の画像データを受信し、もしくは、図２の２次記憶装置２０７に保存された画像データを取得する。多重化位置検出部８０３は、取得した画像データに対して、周波数特性の判定を行い、多重化されている位置を検出する。Ｓ１００３の処理は、図８の多重化位置検出部８０３による、画像データから多重化されている基準位置を検出する処理に対応する。
【０１０３】
Ｓ１００４では、ＣＰＵ２０４は、多重化位置検出部８０３により、画像データから、多重化されている基準位置を検出できたか否かを判定する。検出できたと判定された場合、Ｓ１００５へ進み、検出できなかったと判定された場合、Ｓ１００１の処理を繰り返す。
【０１０４】
Ｓ１００５では、ＣＰＵ２０４は、色調整部８０２で生成された画像データと、多重化位置検出部８０３で検出した多重化されている基準位置に基づいて、周波数特性を判定した結果を用いて、多重化されている付加情報を数値データとして抽出する。Ｓ１００５の処理は、図８の付加情報分離部８０４による、画像データから付加情報を抽出する処理に対応する。付加情報分離部８０４は、抽出した数値データを図８の抽出データ解析部８０５へ送信する。もしくは、付加情報分離部８０４は、図２のＲＡＭ２０６に一時的に保存し、抽出データ解析部８０５へ、その旨を通知する。
【０１０５】
Ｓ１００６では、ＣＰＵ２０４は、図８の抽出データ解析部８０５により、分離した付加情報に相当する数値データを取得し、数字データを解析し、文字データなどの付加情報に変換する。Ｓ１００６の処理は、図８の抽出データ解析部８０５による、付加情報を抽出する処理に対応する。
【０１０６】
Ｓ１００７では、ＣＰＵ２０４は、図８の抽出データ解析部８０５で抽出した付加情報の取得を完了したか否かを判定する。付加情報の取得を完了したと判定した場合、図１０の多重化デコード処理を終了し、取得を完了していないと判定した場合、Ｓ１００１の処理を繰り返す。
【０１０７】
多重化された印刷物から付加情報を抽出できた場合、図２のディスプレイ２０８などに、結果を表示したり、ネットワークにアクセスしたりする。多重化された印刷物から付加情報を抽出できなかった場合、例えば、撮影された画像データが、付加情報を抽出するだけの領域を全て含んでいない場合が考えられる。その場合、付加情報の一部しか抽出できなかったためにデータが完全ではなく、再度、撮影し直す必要がある。
【０１０８】
付加情報を抽出できているか否かの判定を行うために、例えば、付加情報自体に、付加情報のデータ量を示す値を含めておいても良い。そして、データ量を抽出することで、付加情報のデータ量を判定するようにしても良い。データ量であるか文字データであるかを判定する場合には、例えば、予め、数値列の組み合わせを決めておき、その数値列の直後の数ビットをデータ量と決めておけば、データ量を抽出することが可能となる。
【０１０９】
付加情報の一部しか抽出できない場合、例えば、抽出できた内容分を、図２の２次記憶装置２０７に保存しておき、追加で抽出できた際に、付加情報を結合しても良い。つまり、複数回に分けて、付加情報を抽出するようにしても良い。また、Ｓ１００７で、抽出データ取得の完了の判定を行っているが、抽出できた付加情報から、図２のディスプレイなどに表示させるようにしても良い。
【０１１０】
上記において本実施形態の構成について説明した。下記において本実施形態の一例について説明する。本実施形態では、図３の色変換部３０５の後で付加情報多重化部３１０による多重化処理を行っている。これは、既に説明したように、色変換部３０５は、プリンタのインクやメディアの色再現性を考慮したデバイスの色空間（ＤｅｖｉｃｅＲＧＢ等）に色変換している。図１３は、色変換の一例を表す図である。説明の簡略化のために、Ｌａｂの色空間のａｂの二次元平面について説明する。色空間１３０１は、色変換前のｓＲＧＢの色空間をＬａｂの色空間に変換した状態を表している。また、色空間１３０２は、プリンタの所定のインクとメディアのＤｅｖｉｃｅＲＧＢの色空間をＬａｂの色空間に変換した状態を表している。つまり、色変換部３０５により、色変換前のＡ、Ｂ、Ｃの色は、色変換後に、Ａ’、Ｂ’、Ｃ’に変換される。
【０１１１】
ここで、色変換後のＵ成分（ＹＵＶ）で埋め込んだマスクパターンの「−１」「０」「２」を色変換前のａ＊成分（Ｌａｂ）におけるＡ、Ｂ、Ｃとした場合、色変換によってＡ’、Ｂ’、Ｃ’の間の距離がそれぞれ短くなってしまっている。これは、色変換前に多重化処理を行うと付加情報を分離する際に周波数特性の判定が失敗し、付加情報が分離できなくなってしまう可能性があることを示している。
【０１１２】
本実施形態においては、画像に付加情報を埋め込む際に、出力色空間で色の変調が実現されるように多重化することができる。その結果、上記のように、印刷物から付加情報を抽出できなくなってしまうことを防ぐことができる。
【０１１３】
［第２の実施形態］
以下、第１の実施形態と異なる点について、第２の実施形態を説明する。図１７は、本実施形態における多重化エンコード処理の基本ファームウェアのブロック構成を示す図である。図３のブロック図と同じ番号で表示している場合は、図３における説明と同じであるので、その説明を省略する。
【０１１４】
本実施形態では、多重化処理を色変換部３０５の前段で処理している。既に説明したように、多重化処理を行った後で色変換を行うと多重化した周波数特性が失われてしまうことがある。その為、本実施形態では、多重化パラメータ３１５をパラメータ変換部３１６で変換して作成した色変換前多重化パラメータ３１７を用いて多重化処理を行う。その結果、多重化処理後に色変換を行ったとしても多重化した周波数特性が失われないようにすることができる。
【０１１５】
例えば、図７の多重化パラメータ３１５で入力ＹＵＶが（１４４、−６４、−９６）の時、Ｕ適用値を適用後のＹＵＶは「０」「２」「−１」でそれぞれ、（１４４、−６４、−９６）（１４４、−５４、−９６）（１４４、−７４、−９６）となるとする。これを、以下の式（４）、（５）、（６）によりＲＧＢ値に変換すると（９、２３５、３１）（９、２３１、４８）（９、２３８、１３）となる。
【０１１６】
Ｒ  ＝  Ｙ＋１．４０２×Ｖ  ・・・（４）
Ｇ  ＝  Ｙ−０．３４４×Ｕ−０．７１４×Ｖ  ・・・（５）
Ｂ  ＝  Ｙ＋１．７７２×Ｕ  ・・・（６）
このＲＧＢ値をパラメータ変換部３１６と色変換テーブル３１１を用いて色変換前のＲＧＢ値を算出する。色変換前のＲＧＢ値を算出する方法は、一般的な方法を用いて良い。例えば、色変換テーブルを用いている場合は、色変換テーブルによるマッピング方法に従って逆変換することにより、また、色変換テーブルの色変換後のＲＧＢ値を四面体補間等の補間処理をすることにより色変換前のＲＧＢ値を算出することができる。
【０１１７】
上記の例を用いて、色変換後のＲＧＢ値から色変換前のＲＧＢ値を算出するとそれぞれ、（５、２５０、２７）、（６、２４９、４０）、（９、２５０、３）となる。以上のような変換を図７の多重化パラメータ３１５の４９１３グリッドのＹＵＶ値に対して行い、色変換前の３つのＲＧＢ値を算出しテーブル化することで図２０に示すような色変換前多重化パラメータ３１７を作成することができる。
【０１１８】
図１８を参照しながら、本実施形態における多重化処理を説明する。第１の実施形態では、色空間変換部５０１によりＲＧＢからＹＵＶの画像に色変換しているが、本実施形態では、ＲＧＢの画像を用いる。つまり、色空間変換をせずにＲＧＢのそれぞれのプレーンに対してブロック位置設定部５０２と情報多重化部５０５を実行することにより、多重化後の画像を作成する。その後、色変換部３０５により色変換を行うことでマスクパターンのＲＧＢ値がそれぞれ（９、２３５、３１）（９、２３１、４８）（９、２３８、１３）となる。そして、その際のＹＵＶ値が（１４４、−６４、−９６）（１４４、−５４、−９６）（１４４、−７４、−９６）となる。
【０１１９】
このように、本実施形態によれば、色変換前のＲＧＢ画像に対して多重化処理を実行したとしても、多重化の色の変調が失われることがなくなるので、印刷物から付加情報を適切に抽出することができる。なお、本実施形態は、第１の実施形態と組み合わせて構成されても良い。その場合、図３の各処理部の構成と、図１７の各処理部の構成とを含み、第１の実施形態と第２の実施形態のいずれかの動作を選択的に実行可能とするように構成されても良い。
【０１２０】
本実施形態では、多重化パラメータ３１５から変換して色変換前多重化パラメータ３１７を作成している。しかしながら、予め作成済みの多重化パラメータ３１７をＲＯＭ１９０３等の記憶部に保持するようにし、多重化処理を実行する際に、保持された多重化パラメータ３１７を読み出して多重化処理を実行しても良い。また、本実施形態では、ＲＧＢの色空間で多重化処理を実行しているが、他の色空間上、例えばＣＭＹＫ空間上で実行されても良い。
【０１２１】
例えば、オフセット印刷等の印刷機では、色変換時にＣＭＹＫの色空間上での処理を行う。ＣＭＹＫの色変換においても非線形な色変換が実施されるので、ＲＧＢと同様に周波数特性が失われてしまう。従って、ＲＧＢの場合と同様に、色変換前のＣＭＹＫ値を算出することで、本実施形態の動作を実現することができる。また、ＲＧＢやＣＭＹＫを所定の演算式に従い、Ｌａｂ、ＹＵＶ、ＹＣｂＣｒ，Ｌｃｈ等の色空間に変換した場合でも、本実施形態の動作を実現することができる。
【０１２２】
（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【０１２３】
１０２  付加情報多重化装置：  １０３  プリンタ：  １０５  付加情報多重化部：  １０６  印刷部：  １９０２  ＣＰＵ：  １９０３  ＲＯＭ：  １９０４  ＲＡＭ
【図１】
2019009733.tif 000003
【図２】
2019009733.tif 000004
【図３】
2019009733.tif 000005
【図４】
2019009733.tif 000006
【図５】
2019009733.tif 000007
【図６】
2019009733.tif 000008
【図７】
2019009733.tif 000009
【図８】
2019009733.tif 000010
【図９】
2019009733.tif 000011
【図１０】
2019009733.tif 000012
【図１１】
2019009733.tif 000013
【図１２】
2019009733.tif 000014
【図１３】
2019009733.tif 000015
【図１４】
2019009733.tif 000016
【図１５】
2019009733.tif 000017
【図１６】
2019009733.tif 000018
【図１７】
2019009733.tif 000019
【図１８】
2019009733.tif 000020
【図１９】
2019009733.tif 000021
【図２０】
2019009733.tif 000022