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