JP2019009733A - 情報処理装置、情報処理方法およびプログラム - Google Patents

情報処理装置、情報処理方法およびプログラム Download PDF

Info

Publication number
JP2019009733A
JP2019009733A JP2017126521A JP2017126521A JP2019009733A JP 2019009733 A JP2019009733 A JP 2019009733A JP 2017126521 A JP2017126521 A JP 2017126521A JP 2017126521 A JP2017126521 A JP 2017126521A JP 2019009733 A JP2019009733 A JP 2019009733A
Authority
JP
Japan
Prior art keywords
multiplexing
image data
additional information
information processing
color
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2017126521A
Other languages
English (en)
Other versions
JP6808581B2 (ja
Inventor
祐樹 石田
Yuki Ishida
祐樹 石田
浦谷 充
Mitsuru Uratani
充 浦谷
洋行 酒井
Hiroyuki Sakai
洋行 酒井
勇気 大曲
Yuki Omagari
勇気 大曲
鈴木 智博
Tomohiro Suzuki
智博 鈴木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2017126521A priority Critical patent/JP6808581B2/ja
Priority to US16/017,034 priority patent/US11295407B2/en
Publication of JP2019009733A publication Critical patent/JP2019009733A/ja
Application granted granted Critical
Publication of JP6808581B2 publication Critical patent/JP6808581B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/0021Image watermarking
    • G06T1/0028Adaptive watermarking, e.g. Human Visual System [HVS]-based watermarking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/40Picture signal circuits
    • H04N1/40068Modification of image resolution, i.e. determining the values of picture elements at new relative positions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/0021Image watermarking
    • G06T1/005Robust watermarking, e.g. average attack or collusion attack resistant
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32101Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N1/32144Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title embedded in the image data, i.e. enclosed or integrated in the image, e.g. watermark, super-imposed logo or stamp
    • H04N1/32149Methods relating to embedding, encoding, decoding, detection or retrieval operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/46Colour picture communication systems
    • H04N1/54Conversion of colour picture signals to a plurality of signals some of which represent particular mixed colours, e.g. for textile printing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2201/00General purpose image data processing
    • G06T2201/005Image watermarking
    • G06T2201/0052Embedding of the watermark in the frequency domain
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2201/00General purpose image data processing
    • G06T2201/005Image watermarking
    • G06T2201/0053Embedding of the watermark in the coding stream, possibly without decoding; Embedding of the watermark in the compressed domain
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2201/00General purpose image data processing
    • G06T2201/005Image watermarking
    • G06T2201/0065Extraction of an embedded watermark; Reliable detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10024Color image

Abstract

【課題】色変換による出力画像に多重化された付加情報の抽出の失敗を防ぐ情報処理装置を提供する。
【解決手段】情報処理装置の多重化エンコード処理は、第1の画像データと第1の画像データに埋め込む付加情報を所得し、第1の画像データを補正して解像度変換した後、画像データを出力する出力装置に依存する色空間で定められる第2の画像データに変換する。変換した第2の画像データに対して、多重化パラメータを用いて付加情報を多重化する。
【選択図】図4

Description

本発明は、付加情報を多重化する情報処理装置、情報処理方法およびプログラムに関する。
画像に対して、画像以外の付加情報を埋め込んだ(以下、多重化と記載)電子透かし技術が知られている。電子透かし技術では、例えば、写真、絵画等の画像中に、その著作者名や、使用許可の可否等の付加情報が視覚的に判別しづらい様に多重化される。また、応用分野として、複写機、プリンタ等の画像出力装置の高画質化に伴い、紙幣、印紙、有価証券等の偽造を防止する目的で、紙上に出力された画像から出力機器及びその機体番号を特定する為に、画像中に付加情報を多重化する技術が知られている。また、紙上に出力された画像中に多重化した付加情報を取り出すために、スキャナや携帯端末の内蔵カメラ等の撮像デバイスで対象の出力物の撮影を行い、その撮影画像を解析することで多重化した付加情報を取り出す技術が知られている。
画像に付加情報を多重化する方法として画像の局所領域で色を変調させてパターンを埋め込む技術が知られている。特許文献1では、画像を16画素(4×4画素)のブロック毎に分けて16画素のうち、半分を元画素+1とし、残りの半分を元画素‐1としている。画像を印刷し、撮像デバイスで撮影した撮影画像のブロック毎の画素の増減の変調を解析することで多重化した付加情報を取り出すことができる。また局所領域で画素の増減を行っているので、印刷した際には画素が平均化され人の目には判別しづらくなる。
特許第3959890号明細書
画像をプリンタ等の出力機器で出力する際には、カメラ、スキャナ、モニタ等のデバイスに依存した入力色空間(sRGB、AdobeRGB等)からプリンタ等のデバイスに依存した出力色空間(deviceRGB等)に色変換することが一般的である。入力色空間と出力色空間は色再現範囲が異なる為、非線形な色変換が行われる。
画像に付加情報を多重化する際に入力色空間で色を変調する多重化処理を実行した後で色変換を行うと入力色空間の色の変調が失われてしまうことがある。特に入力色空間に対して出力色空間が狭い場合においては、減ってしまう領域において色の変調が失われてしまうことがある。色の変調が失われると多重化した付加情報を適切に抽出できなくなってしまう。
本発明の目的は、このような従来の問題点を解決することにある。上記の点に鑑み、本発明は、色変換による出力画像に多重化された付加情報の抽出の失敗を防ぐ情報処理装置、情報処理方法およびプログラムを提供することを目的とする。
上記課題を解決するため、本発明に係る情報処理装置は、第1の画像データを取得する第1の取得手段と、前記第1の取得手段により取得した前記第1の画像データを、画像データを出力する出力手段に依存する色空間で定められる第2の画像データに変換する第1の変換手段と、前記第1の変換手段により変換した前記第2の画像データに対して、多重化パラメータを用いて付加情報を多重化する多重化手段と、を備えることを特徴とする。
本発明によれば、色変換による出力画像に多重化された付加情報の抽出の失敗を防ぐことができる。
多重化エンコード処理を行う画像処理装置のハードウェア構成を示す図である。 多重化デコード処理を行う画像処理装置のハードウェア構成を示す図である。 多重化エンコード処理のファームウェアのブロック構成を示す図である。 多重化エンコード処理を示すフローチャートである。 付加情報多重化処理のファームウェアのブロック構成を示す図である。 色変換テーブルを示す図である。 多重化パラメータのテーブルを示す図である。 多重化デコード処理のファームウェアのブロック構成を示す図である。 多重化エンコード処理された印刷物を撮影する概念を示す図である。 多重化デコード処理を示すフローチャートである。 マスクデータの概念図である。 二次元の周波数領域での周波数特性の差を示す図である。 色変換を示す図である。 マスクパターンを示す図である。 印刷用紙にブロック毎に多重化されている様子を示す図である。 ブロックの検出位置を説明するための図である。 多重化エンコード処理のファームウェアのブロック構成を示す図である。 付加情報多重化処理のファームウェアのブロック構成を示す図である。 付加情報多重化装置のハードウェア構成を示す図である。 多重化パラメータのテーブルを示す図である。
以下、添付図面を参照して本発明の実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。なお、同一の構成要素には同一の参照番号を付して、説明を省略する。
[第1の実施形態]
図1(a)(b)は、本実施形態における画像情報に付加情報を埋め込む多重化エンコードを行う画像処理装置のハードウェア構成を示す図である。画像処理装置では、画像情報Aと付加情報Bを取得し、画像情報Aに付加情報Bを埋め込んだ印刷物Cが生成される。図1(a)は、画像情報Aに付加情報Bを埋め込む処理をプリンタ103とは別の付加情報多重化装置102で行う構成を示している。図1(b)は、画像情報Aに付加情報Bを埋め込む処理をプリンタ103内で行う構成を示している。
図1(a)では、入力端子100にて、画像情報Aが入力される。画像情報Aは、色成分を含む多階調画像データである。また、入力端子101にて、付加情報Bが入力される。付加情報Bは、テキスト文書データや音声データ、画像データや動画データを示す。または、テキスト文書情報や音声情報や画像、動画情報を圧縮したデータや、別のバイナリ値に変換されたデータを示す。付加情報多重化装置102は、画像情報Aに付加情報Bを埋め込む処理を行う装置である。付加情報埋多重化処理の詳細については、後述する。プリンタ103は、画像情報Aに付加情報Bが埋め込まれた画像データを印刷して、印刷物Cを生成する。
図19は、図1の付加情報多重化装置102のハードウェア構成例を説明する図である。CPU1902は、中央演算装置であり、例えば、付加情報を多重化する処理をプログラムに従って実行する。ROM1903は、CPU1902により実行されるプログラムを記憶する。RAM1904は、CPU1902によるプログラムの実行時に、各種情報を一時的に記憶するためのメモリを提供する。2次記憶装置1905は、例えばハードディスクであり、画像ファイルや付加情報などを保存するための記憶媒体である。
ディスプレイ1906は、ユーザインタフェース画面や処理内容等を表示する。キー入力装置1907は、キーボードなどの機器の操作を介して処理の指示や設定、文字入力等を受け付ける。ネットワークインタフェース1908は、例えばLAN(Local Area Network)に接続されている。また、LANは、インターネットに接続されている。CPU1902は、ネットワークインタフェース1908により、インターネットに接続されたサイトにアクセスして、ディスプレイ1906にサイトの画面を表示させたり、データを送受信する。付加情報多重化装置102は、例えばPCやスマートフォンの情報処理装置であるが、画像情報Aに付加情報Bを埋め込む処理が実行可能であれば他の形態の装置でも良い。
図1(b)では、付加情報多重化装置102に相当する付加情報多重化部105がプリンタ103に含まれている構成を示している。図1(a)と同様、入力端子100にて、画像情報Aが入力される。また、入力端子101にて、付加情報Bが入力される。プリンタ103内の付加情報多重化部105は、画像情報Aに付加情報Bを埋め込む処理を行う。また、印刷部106は、付加情報多重化部105で画像情報Aに付加情報Bが埋め込まれた画像データを印刷し、印刷物Cを生成する。
図1に示す画像情報Aに付加情報Bが埋め込まれた画像データを印刷して、印刷物Cを生成する方法を、以下、多重化エンコード処理とする。
図2は、本実施形態における画像情報から付加情報を抽出する多重化デコードを行う画像処理装置のハードウェア構成を示す図である。図2は、多重化エンコード処理された印刷物Cをカメラなどの撮像装置で、撮像し、撮影した画像を解析することで、埋め込まれている付加情報Bを抽出する装置を示す。図2において、カメラ付モバイル端末201は、撮像センサ202を備え、印刷物Cを撮影する機能を有する。付加情報分離装置203は、撮像センサ202で撮影された撮影後の画像を解析することによって、付加情報Bを抽出する。付加情報抽出処理の詳細については、後述する。
CPU204は、中央演算装置であり、本実施形態で説明する情報処理方法をプログラムに従って実行する。ROM205は、CPU204により実行されるプログラムを記憶する。RAM206は、CPU204によるプログラムの実行時に、各種情報を一時的に記憶するためのメモリを提供する。2次記憶装置207は、例えばハードディスクであり、画像ファイルや画像解析結果を保存するデータベースなどを保存するための記憶媒体である。
ディスプレイ208は、本実施形態の処理結果である抽出された付加情報をユーザに表示する。キー入力装置209は、例えばディスプレイ208がタッチパネル機能を備えることで実現され、タッチパネルの操作で処理の指示や設定、文字入力等を受け付ける。ネットワークインタフェース210は、例えば無線LAN(Local Area Network)に接続されている。また、LANは、インターネットに接続されている。CPU204は、インターネットに接続されたサイトにアクセスして、ディスプレイ208にサイトの画面を表示させたり、データを送受信する。
スピーカ211は、抽出した付加情報が音声データや音声付動画データの場合に、音声を出力する。また、インターネットに接続したそのアクセス先に動画データがある場合には、その動画データにより再生される音声を出力する。カメラ付きモバイル端末201は、撮像センサ202を内蔵しているが、そのような構成に限られない。例えば、別装置が撮像センサ202を制御して、撮影画像を付加情報分離装置203に送信するようにしても良い。例えば、撮像センサ202として、デジタルカメラやビデオカメラを用い、付加情報分離装置203として、パソコンやスマートフォンを用いて、印刷物Cから付加情報Bを抽出しても良い。
図2に示す印刷物Cから付加情報Bを抽出する方法を、以下、多重化デコード処理とする。
<多重化エンコード処理の説明>
図3は、本実施形態における多重化エンコード処理の基本ファームウェアのブロック構成を示す図である。画像データは、以下に説明する処理が実行され、記録ヘッドと接続された印刷エンジンが処理可能な解像度、階調数に変換され、送信される。図3に示す各処理部について説明する。
付属情報取得部301は、画像データを圧縮する際に使用された各種パラメータを取得する。圧縮する際に使用された各種パラメータは、画像データ復元部302に送られ、圧縮された画像から画像データを抽出する処理に用いられる。また、圧縮する際に使用された各種パラメータは、不図示の圧縮度算出部に送られ、圧縮度を算出する処理に用いられる。
例えば、入力画像は、文書データをJPEGフォーマットで圧縮して得られた非可逆画像データであり、記録媒体に記録される。非可逆画像データには、圧縮する際に使用された量子化テーブルと画像データサイズが含まれている。付属情報取得部301は、取得した画像データサイズ情報と量子化テーブルを画像データ復元部302に送る。
画像データ復元部302は、符号化された画像データを復号化して画像データを抽出する。
画像補正部303は、画像データ復元部302により取得されたRGBデータに対し、画像補正を実行する。画像補正としては、全体の色を明るくしたい、暗くしたいといった明度調整や、コントラスト調整、カラーバランスの調整のほか、写真印刷を想定した逆光補正や赤目補正などがある。これらの画像補正は、本ブロックで一元的に処理を行うことで、プリンタ103に依存しない処理を実現することが可能となる。
解像度変換部304は、プリンタ103に対応した解像度への変換処理を実行する。入力される画像データとプリンタの解像度から、必要な変倍量が導き出され、拡大または縮小の処理が実行される。変倍処理としては、ニアレストネイバーやバイリニア、バイキュービック法などがあり、処理の特性や処理速度に基づいて、適宜選択される。
色変換部305は、プリンタ103で出力した際に好適な色となるような変換処理を実行する。例えば、表示装置に表示された画像をプリンタで記録する場合、必ずしも色再現範囲は一致しない。ある色ではプリンタの方が再現範囲は狭く、また別の色では逆であったりする。そのため、画像の劣化を最小限にし、適宜、色の圧縮・伸長を行う必要がある。
本実施形態では、色変換部305は、RGB形式での変換を行う。つまり、色変換部305は、本ブロックに入力されたRGB値を、デバイスの再現性を考慮し、プリンタ向けのRGB値(以下、DeviceRGBとする)に変換する。変換は、マトリクスなどの演算で行うことも可能であるが、本実施形態では、3次元の色変換テーブル311を用いる。
入力されるRGB値を各色8ビット(256階調)とした場合、全組み合わせを保持することは、容量の観点から現実的でないので、色変換テーブル311は、所定の間隔で間引かれたものを用いる。図6に色変換テーブルの一例を示す。図6では、各色256階調を17点のグリッドとし、それに対応するDeviceRGB値を記載したテーブルとなっている(17×17×17=4913グリッド)。グリッド間の値は、補間処理により算出する。補間処理については四面体補間など周知の技術を用いても良い。
上記により、対象となるRGB値に対応したDeviceRGB値を算出するが、階調性を考慮して出力を8ビット以上としても良い。また、色変換テーブルは、上述の通りプリンタ103の色再現範囲に依存するので、例えば記録に使用する記録用紙が異なる場合は、それらに応じたテーブルを準備する。なお、本実施形態では、色変換の色空間についてRGBからRGBの変換で説明するが、CMYKからCMYK、RGBからCMYK、CMYKからRGBなどの色空間でも適用可能である。
インク色変換部306は、色変換部305で変換されたDeviceRGB値をインク色の値へと変換する。この変換において、予め各DeviceRGBの組み合わせに対応したインク色の値が記述された色分解テーブル312を用いる。尚、本ブロックにおいても、色変換部305と同様、17のグリッドのテーブルを用いる。
本実施形態では、インク色として、シアン(C)、マゼンタ(M)、イエロー(Y)、ブラック(K)の4色を想定しており、各グリッドに対応した4色の値が記述されているテーブルが用いられる。これらは、記録用紙の紙面上でインクが溢れないことや、インク同士が隣接した際、滲まないことを考慮して決定された値である。つまり、色分解テーブル312についても、記録用紙が異なる場合、それらに応じたテーブルを用意しておく。上述の色変換テーブル311と同様、グリッド間の、対象となるDeviceRGB値に対応したインク分解後の値は、四面体補間などを適用して求められる。
インクジェット記録方式の場合、記録用紙上にドットとして塗布されるインク量が多くなるにつれ、ドットの重なりが増加し、記録濃度が上昇しにくくなる。濃度補正部307は、濃度の応答性を均一にするように補正する。これにより、上記の色変換テーブル311や色分解テーブル312の作成時の精度が確保しやすくなる。
濃度補正部307は、C、M、Y、Kの各色について補正を行えばよいので、ここでは1次元の濃度補正テーブル313を用いる。例えば、各色の入力8ビット(256階調)に対応したテーブルを用意しておく。また、間引くことを行わずに、各信号値に対応した値が記述されたテーブルが用いられても良い。
階調変換部308は、インク色変換され、濃度補正を実行された多ビットデータをプリンタ103で記録可能な階調数に変換する。ここでは階調変換処理の説明のため、記録(1)/非記録(0)の2階調(1ビット)のプリンタ103として説明する。階調変換方法としては、画像の低周波成分を排除し、視覚に好適な階調再現可能な誤差拡散法を用いる。また、入力信号は、8ビットの0〜255を想定して説明する。
ここで、誤差拡散法における誤差分配方法について説明する。ターゲットピクセルの信号値を信号値Lとした場合、閾値THとの比較が行われる。0〜255を2値にするために、閾値は127とする。その比較の結果の大小により、L>THの場合は1(記録)、L≦THの場合は0(非記録)と判定される。そして、判定結果に応じて量子化代表値Vを、1(記録)の場合は255、0(非記録)の場合は0と設定する。そのとき、発生する誤差E(=L−V)は、分配係数に従って周囲のピクセルに分配される。そして、次のターゲットピクセルの信号値Lに、分配された誤差Eaを加算した値Laに対し、閾値との比較が行われる。従って、La>THの場合は1(記録)、La≦THの場合は0(非記録)と判定される。この処理を全てのピクセル、全てのインク色C、M、Y、Kに対して行うことで、記録可能な1ビットのインク色データを得ることができる。階調変換部308は、生成したインク色データを印刷エンジンに送る。
印刷エンジンは、受信されたデータを記憶する受信メモリ、CPU、記録材を記録媒体に付与する印刷部、を備える。印刷エンジンでは、入力されたインク色データを受信メモリに記憶する。印刷部は、インク色データを記録ヘッドのノズルに対応したインク滴データに変換する。インク滴データをメディアの搬送方向に対して交差する方向に走査する記録ヘッドにより、記録媒体上に吐出することで印刷処理を行う。本実施形態では、シリアル走査型のインクジェット記録装置の構成を示しているが、ラインヘッドによる記録装置やレーザーエンジンによる記録装置など他の記録装置においても適用可能である。
付加情報309は、図1に示す付加情報多重化装置102、もしくは、付加情報多重化部105により、入力される画像情報Aに対して埋め込む情報を示す。例えば、付加情報309は、テキスト文書データであり、例えば、文字コードを用いて、数字や文字を数値に割り当てた数値データとする。数値データは、図3の付加情報309として、付加情報多重化部310に送信される。
例えば、テキスト文書データとして、「hello」という情報として説明する。テキスト文書データは、数値データいわゆるバイナリデータで取り扱うとする。バイナリデータとは「0」もしくは「1」の情報であり、この「0」もしくは「1」の情報が連続でつながることにより、特定の意味を持つ。PC上では文字を普通に扱えているが、それぞれの文字には対応するバイナリデータが定められている。どのバイナリデータに対してどの文字が対応しているかは「文字コード」と呼ばれるもので定義されている。文字コードの中の一つである「シフトJIS」を例にすると、「h」はバイナリデータの「01101000」に対応している。同様に「e」は「01100101」、「l」は「01101100」、「o」は「01101111」というバイナリデータに対応している。
「hello」という文字はバイナリデータで「0110100001100101011011000110110001101111」と表現できる。逆に「0110100001100101011011000110110001101111」というバイナリデータを取得できれば「hello」という文字を取得することができる。付加情報309は、このバイナリデータに変換された数値データとする。
付加情報多重化部310は、付加情報309と多重化パラメータ315を受け取り、画像データに付加情報309を多重化する処理を行う。多重化処理は、テキスト文書などを「0」、「1」のバイナリデータに変換した付加情報309を、後段で抽出して読み取れるような形式で、画像データに埋め込む。例えば、「0」、「1」を読み取れる形式とするために、画像データにマスク処理を実行し、画像領域に対して、2つの周期性を持たせる。
2つの周期性を持たせるためのマスクデータの一例を、図11(a)(b)に示す。図11(a)(b)は、マスクデータのイメージ図である。図11(a)(b)は、5px(ピクセル)×5pxで構成されたマスクデータであり、5px×5pxの領域に対して2つの周期性を持ったパターンを画像に掛け合わせることで、「0」、「1」を表現させる。画像を読み取る際に、周波数解析などで2つの周期性を判断できれば、「0」、「1」を読み取ることができる。
付加情報多重化部310は、埋め込む付加情報の数値データに基づいて、画像上にパターンを形成することで多重化を実現する。例えば、画像に付加情報を埋め込む例として、1色のグレー画像データの画像全体に対して「0」「1」を交互に適用する方法について説明する。
多重化される画像のサイズは、縦幅640px、横幅480pxとする。また、マスクデータは、図11と同様に、5px×5pxで構成されたマスクデータとする。ここで、図11(a)を「0」とし、図11(b)を、「1」と定義する。
例えば、マスクデータは、図11の黒ブロック1101と白ブロック1102と斜線ブロック1103に分けて定められている。各数値として、黒ブロック1101は+2、白ブロック1102は0、斜線ブロックは−1とする。
下記のコードにおいて、maskAがtrueの場合、「0」として図11(a)を示し、falseの場合、「1」として、図11(b)を示す。図11(a)(b)の黒、白、斜線ブロックの各数値をマスクデータとし、画像全体に適用する疑似コードを以下に示す。
疑似コード:
――――――――――――――――――――――――――――――
1 int i, j, k, l;
2 int width = 640, height=480;
3 unsigned char *data = 画像データ;
4 int **maskA = マスクデータ;
6 bool isMaskA = true;
5 for(j = 0; j < height; j+=5){
6 for(i = 0; i < width; i+=5){
7 for(k = 0; k < 5; k++){
8 for(l = 0; l < 5; l++){
if(isMaskA == true){
9 data[(i+k)+(j+l)*width] += maskA[k][l];

10 }
11 }
12 }
13 }
――――――――――――――――――――――――――――――
上記疑似コードに示す通り、画像全体を5px×5pxのブロックに分けて、ブロック毎に、maskAのデータを加算させることで、パターンを形成させる仕組みとなっている。また、上記では、1色のグレー画像データで説明しているが、パターンを形成する方法では、極力、人間の視覚的に目立ちづらいようにパターンを形成させたい場合もある。グレー画像データでは、輝度成分でパターンを形成しなければならないので、視覚的に目立ちやすい。形成するパターンの形状や周波数成分にもよるが、輝度成分の変化より、色成分の変化の方が、視覚的に目立ちにくいことが知られている。
そこで、例えば、RGB成分を持つカラー画像データを利用し、YCbCrなどやLab、Yuv、Lchなどへの色空間変換を行い、輝度成分と色成分に分ける。そして、輝度成分ではなく、色成分にマスクデータを適用し、パターンを形成させることで、視覚的に目立ちにくい画像を生成することができる。従って、本実施形態では、YUVを使用した方法について説明する。
また、本実施形態では、マスクデータの適用方法として、5px×5pxブロックに分けているが、そのような構成に限られない。例えば、他のブロックサイズの単位やマスク形状であっても良い。多重化された印刷物Cが、撮影した際に、パターンを区別できる仕組みであれば、いずれの方法が用いられても良い。
付加情報多重化部310は、多重化された印刷物Cを撮影して、付加情報を抽出できるように、画像データに付加情報を埋め込む。付加情報多重化部310による多重化処理の詳細については後述する。
多重化パラメータ315は、付加情報多重化部310で使用するパラメータである。図7は、多重化パラメータの一例を示すテーブルである。図7では、入力をYUVとして、各色256階調を17点のグリッドとし、それに対応するU適用値を記載したテーブルとなっている(17×17×17=4913グリッド)。U適用値は、図14(a)(b)のマスクパターンの各数値に対応している。グリッド間の値は、補間処理を用いて算出される。補間処理については、四面体補間などが用いられて良い。多重化パラメータ315による多重化処理の詳細については後述する。
図4を参照しながら、多重化エンコード処理について説明する。図4は、本実施形態における多重化エンコード処理を示すフローチャートである。図4の処理は、例えば、CPU1902がROM1903に記憶されたプログラムをRAM1904に読み出して実行することにより実現する。
S401で、CPU1902は、画像情報Aを印刷用画像として取得する。S401の処理は、図3の付属情報取得部301、画像データ復元部302による処理に対応する。例えば、画像情報Aは、カメラ付きモバイル端末(スマートフォン)で予め撮影し、JPEGフォーマットで端末内のメモリに保存した画像である。CPU1902は、取得したJPEG画像を解凍し、静止画の3色8ビットのRGB画像データを生成する。また、CPU1902は、必要に応じて、図3の画像補正部303により、取得した画像に、補正もしくは加工処理を行っても良い。
次に、S402で、CPU1902は、付加情報Bを印刷用画像に埋め込むデータとして取得する。S402の処理は、図3の付加情報309、付加情報多重化部310による処理に対応する。例えば、スマートフォンで、任意にキー入力を行ったテキスト文書データが取得される。ここで、テキスト文書データは、例えば、文字コードシフトJISを用いて、数字や文字を数値に割り当てた数値データとする。数値データは、図3の付加情報309として、付加情報多重化部310に送信される。
次に、S403で、CPU1902は、任意で選択された用紙サイズとプリンタの解像度から、取得した画像情報Aに対して解像度変換処理を行う。S403の処理は、図3の解像度変換部304による処理に対応する。例えば、選択した用紙サイズを2Lとした場合、プリンタ103への入力解像度の画素数に合わせて、解像度変換が行われる。プリンタ103への入力解像度が600dpi(dot per inch)とした場合、例えば、用紙サイズ2Lの画素数が、3000画素×4000画素と設定される。この場合、取得した画像情報Aの画素数が、1500画素×2000画素の場合、縦、横、各々2倍の画素数になるように、解像度変換が行われる。入力画像のアスペクト比を変更したくない場合、縦、横の拡大及び縮小率を同じとして、解像度変換が行われる。
次に、S404で、CPU1902は、解像度変換処理後の画像データに対して適宜、色変換を行う。S404の処理は、図3の色変換部305による処理に対応する。
次に、S405で、CPU1902は、色変換後の画像データに対して、付加情報を多重化する処理を行う。S405の処理は、図3の付加情報多重化部310による処理に対応する。付加情報多重化部310の詳細については後述する。
次に、S406で、CPU1902は、画像データをインク色に変換した画像に濃度補正を加えた画像データを、階調数に従って階調変換を行い、印刷用データを生成する。
S406の処理は、図3の図3のインク色変換部306、濃度補正部307及び、階調変換部308による処理に対応する。
そして、S407で、CPU1902は、階調変換された画像を、図3に示す印刷エンジンへ送信する。印刷エンジンでは、記録媒体に、階調変換された画像に応じて各色のインクが塗布され、印刷物Cが生成され、その後、図4の処理を終了する。
図3の付加情報多重化部310と図4のS405の処理について、図5を参照しながら説明する。図5は、本実施例における付加情報多重化処理のファームウェアのブロック構成を示す図である。図5に示す各処理部について説明する。
色空間変換部501は、色変換部305で色変換を行った画像データに対して、情報多重化を行う色空間に変換する処理部である。例えば、情報多重化を行う色空間をYUVのUとし、入力画像の色空間がRGBだった場合、式(1)、式(2)、式(3)により、RGBの色空間をYUVの色空間に変換する。
Y = 0.299×R+0.587×G+0.114×B ・・・(1)
U =−0.169×R−0.331×G+0.500×B ・・・(2)
V = 0.500×R−0.419×G−0.081×B ・・・(3)
本実施形態では、Uプレーンで説明を行うが、YやVについても同様である。本実施形態では、印刷を行う画像データを複数のブロック領域に分けて、ブロック単位で、各画素の濃度変調により、パターンを形成させることで、付加情報を埋め込む。
ブロック位置設定部502は、色空間変換後の画像データを取得し、指定した色プレーンの画像に対し、指定した1つのブロックのサイズに合わせて、ブロックの位置座標を設定する処理部である。例えば、YUVのU色プレーンの画像サイズが、縦幅640px、横幅480pxで、ブロックサイズが、縦幅5px、横幅5pxとする。その場合、縦ブロック数は、640÷5=128で、128ブロック数となり、横ブロック数は、480÷5=96で、96ブロック数となる。また、合計ブロック数は、128×96=12288で、12288ブロック数となる。例えば、各ブロックの左上座標をブロック位置と定めて設定する。
数値化部503は、付加情報309を受信して、付加情報309を数値化したデータに変換する処理部である。例えば、付加情報309が、シフトJISの文字列とする。数値化部503は、シフトJISの形式で、文字と数値が対応した変換マップを予め保持しておき、文字列を数値列にデータ変換する。文字列「hello」の場合、変換後の数値列「0110100001100101011011000110110001101111」となる。
パターン選択部504は、ブロック単位で、各画素の濃度変調を行うためのマスクパターンを登録しておき、数値化部503で付加情報309を数値化したデータに対して適用すべきマスクパターンを選択する処理部である。
図14は、周波数特性の異なるマスクパターンを数値化したイメージ図を示す。例えば、縦幅5px、横幅5pxを1ブロックとし、1ブロックのマスクパターンとして、図14(a)と図14(b)が用いられる。また、多重化する数値が「0」の場合、図14(a)とし、多重化する数値が「1」の場合、図14(b)とする。即ち、1ブロック毎に、「0」「1」の1ビットを表現できることになる。
情報多重化部505は、色空間変換部501で色空間変換した画像データを取得し、ブロック位置設定部502で設定した各ブロックの位置を取得する。さらに、情報多重化部505は、パターン選択部504で選択した数値毎のマスクパターンを取得する。さらに、情報多重化部505は、多重化パラメータ315を取得する。情報多重化部505は、各取得した情報から、画像データに対してマスクパターンを適用した画像を生成する処理部である。
印刷物を撮影する際に、必ずしも全体を撮影できるとは限らないので、印刷物の一部のみの撮影でも付加情報を抽出できるように、同じデータを複数個所に埋め込んでおく。例えば、画像全体のブロック数が12288ブロックで、一つの付加情報の単位を96ブロックとすると、12288÷96=128で、同じデータを128領域に分けて埋め込むことになる。つまり、画像データを128の領域に分けることになる。1つの領域に対し、縦幅5px、横幅5pxを1ブロックとした96ブロックが含まれる。96ブロックを1つの付加情報として取り扱うので、96ビットの付加情報を設定できる。但し、96ビットの開始位置がわかるように、シフトJISでは文字として表現していない「11111111」の8ビットを文字の先頭に含ませる。従って、96−8=88ビットのデータを付加情報として定義することが可能となる。
88ビット内に収まるデータとして、数値化部503で設定した「0」「1」の数値列が定義される。ブロック毎に、数値が定義され、数値に従ってマスクパターンが選択される。さらに、マスクパターン内の数値に従って画素毎の数値が決定される。
例えば、色空間変換部501によって色空間変換された画像内の1ブロック(5px×5px)のYUV値が全てY:0、U:−112、V:0だと仮定する。その場合、図7の多重化パラメータ315に従ってU値を変換すると、マスクパターンが「0」の場合は−112、「2」の場合は−102、「−1」の場合は、−122となる。つまり、同じU値−112で埋められた5px×5pxのブロック内がマスクパターンによってU値が1112、−102、−122のいずれかに変更され所定の周期をもつことになる。
本実施形態では、画素毎に適用するマスクパターンの数値と基準値を掛け合わせた値を加算することによって、多重化を実現させている。マスクパターンの適用方法は、Uプレーン上に、ブロック単位に周波数を変更できる値の変更方法であれば、そのような構成に限られない。例えば、多重化パラメータ315のようなテーブルではなく、YUVのU値に、マスクパターンの数値を掛け合わせた値を用いるようにしても良い。
以上が、多重化エンコードの処理の説明である。上述した多重化エンコード処理については、図1(a)の付加情報多重化装置102による処理内容を示し、また、図1(b)の付加情報多重化部105による処理内容を示している。
図1にも示すように、多重化エンコード処理を行う処理部は、プリンタ103に含まれていなくても、含まれていてもいずれでも良い。付加情報多重化装置102もしくは、付加情報多重化部105で、生成された多重化エンコード処理後の多重化画像を、プリンタ103及び印刷部106に送信できれば、図1(a)(b)のいずれの構成が用いられても良い。
<多重化デコード処理の説明>
図8は、本実施形態における多重化デコード処理の基本ファームウェアのブロック構成を示す図である。以下に説明する処理が実行され、印刷物に埋め込まれている付加情報が抽出される。図8に示す各処理部について説明する。
撮像センサ202は、撮影部801と色調整部802を含む。付加情報分離装置203は、多重化位置検出部803、付加情報分離部804、抽出データ解析部805を含む。本実施形態では、テキスト文書データや音声データや動画データなどの数値化された付加情報のデータが、印刷物C上にパターン形状として付加されているものとする。例えば、付加情報は、印刷物C全体に、同じ情報を領域毎に繰り返し付加されているとして説明する。撮像部801は、多重化エンコード処理された印刷物Cを、図2の撮像センサ202内の撮像素子で、撮像画像データに変換する。
図9は、多重化エンコード処理された印刷物をカメラ付きモバイル端末で、撮影するイメージ図を示す。同図において、印刷物901は、印刷物Cに相当する記録媒体に多重化エンコード処理された印刷物を示す。領域902は、印刷物901の印刷領域内で、多重化エンコード処理された領域を示す。端末903は、カメラ付モバイル端末201に相当する機能を有する装置を示す。領域904は、カメラ付モバイル端末903で、撮影される領域を示す。
例えば、撮像部801では、図9のように、カメラ付モバイル端末903で、多重化エンコード処理された印刷物901内の多重化エンコード処理された領域902内で、撮影領域904を撮影する。
例えば、撮像センサ202内の撮像素子をCCDとする。撮像素子CCDについては、既に公知の技術なので、詳細は省略する。概略を説明すると、CCDは、光をフォトダイオードという受光素子が感知して、光を電圧に変化させることが可能である。その際に、素子毎に配置したRGBやCMYなどのカラーフィルタを通すことにより、光を色のデータとして変換させることができる。撮影されたセンサ値は、色調整部802に送られる。
色調整部802は、撮像部801においてフォトダイオードで取り出したセンサ値に対し、例えば、1画素YUV、8ビットデータとして、画像データに変換する。また、ホワイトバランスや明るさ調整など、通常撮影時に実行される色調整処理も併せて行う。
多重化位置検出部803は、多重化した印刷物が撮影され色調整された画像データを取得する。多重化位置検出部803は、取得した画像データに対して、周波数特性を取得する。多重化位置検出部803は、取得した周波数特性を判定することで、多重化されている位置を検出する。
図12は、二次元の周波数領域で周波数特性の差を示す概略図である。横軸は水平方向の周波数、縦軸は垂直方向の周波数を示している。中心となる原点は直流成分を示し、原点から遠ざかるにつれて、高周波域となる。本実施形態では、図14(a)(b)のマスクパターンの切換えにより、多重化された印刷物のYUVのU成分の周波数特性が変わる。
例えば、図14(a)によるU成分の特性の変化により、図12の直線1201の周波数ベクトル上に大きなパワースペクトルが生じるとする。また、図14(b)によるU成分の特性の変化により、図12の直線1202の周波数ベクトル上に大きなパワースペクトルが生じるとする。付加情報分離時には、この大きなパワースペクトルが発生する周波数ベクトルを検出することで多重化信号を判定することができる。
図14(a)、(b)は、特定の周波数ベクトルの方向性を有するHPF(ハイパスフィルタ)に相当する。図14(a)、(b)は、周波数ベクトル検出時の空間フィルタとしても用いられる。即ち、図14(a)の空間フィルタでは、直線1201上の周波数ベクトルを強調することが可能になり、また、図14(b)の空間フィルタでは、直線1202上の周波数ベクトルを強調することが可能になる。
例えば、今、図14(a)のマスクパターンにより、図12の直線1201の周波数ベクトル上に大きなパワースペクトルが発生したとする。その場合、図14(a)の空間フィルタではパワースペクトルの変化量が増幅するが、図14(b)の空間フィルタでは、ほとんど増幅されない。即ち、複数の空間フィルタを並列にフィルタリングすると、周波数ベクトルが一致した空間フィルタ時のみ増幅し、それ以外のフィルタでは増幅がほとんど生じない。従って、いかなる周波数ベクトル上に大きなパワースペクトルが発生しているかを容易に判定することができる。
また、今回YUVのU成分において周波数特性を変化させて多重化された印刷物の付加情報分離時にU成分により周波数ベクトルを検出したが、U成分が失われてしまうと付加情報が分離できないことになる。U成分ではなく他のY成分やV成分に特性が移った場合、Y成分やV成分で周波数特性を判定すると付加情報を分離することができるが、U成分のみ解析するよりも時間がかかってしまう。
上記のように、周波数特性の判定を行うことで、データを抽出することが可能となる。しかしながら、周波数特性を判定する際に、抽出すべき位置がずれていると、正しく抽出しにくくなってしまう。
図16は、周波数特性を判定する際の検出位置を説明するための図である。画像1601は、印刷物の4つのブロックにおいて多重化されている画像を示す。領域1602、1603は、ブロック単位で周波数特性を判定する領域を示す。図16において、領域1602は、多重化されているブロックの位置とずれていることを示す。領域1603は、多重化されているブロックの位置と合っていることを示す。この場合、領域1603は、予め決めた周波数を正しく特定することが可能だが、領域1602は、特定の周波数ベクトルのパワースペクトルが下がってしまうので、予め決めた周波数の特定が困難になる。
多重化位置検出部803は、特定の周波数ベクトルのパワースペクトルが強いか弱いかに基づいて、ブロック位置を検出する。そこで、多重化位置検出部803は、取得した撮像後の画像データに対し、ブロック位置をずらしながら、周波数特性の判定を行い、多重化されたブロックの位置を検出する。
付加情報分離部804は、多重化位置検出部803で検出した位置を基準とし、周波数特性を判定した結果を利用して、多重化されている付加情報を抽出する。
図15は、印刷用紙にブロック毎に多重化されている様子を示す図である。同図において、印刷用紙1501は、印刷用紙を示し、ブロック1502は、多重化されるブロックを示す。多重化されているブロック数が横8ブロック、縦12ブロック、計96ブロックとする。図15において、ブロック毎に、多重化エンコード処理で、付加情報の「0」と「1」が埋め込まれているものとする。
例えば、図12の、直線1201の周波数ベクトルのパワースペクトルがある閾値を超えていれば、データ「0」と判定される。また、直線1202上の周波数ベクトルのパワースペクトルがある閾値を超えていれば、データ「1」と判定される。多重化位置検出部803で検出した位置を基準に、ブロック単位で、96ブロック分、位置をずらしながら、周波数特性の判定が行われる。この場合、1ブロック毎に、「0」「1」の1ビットを判定できるので、合計96ビットのデータを抽出することができる。このように、位置をずらしながら周波数特性の判定を行うことで、多重化されたデータを抽出することができる。
抽出データ解析部805は、付加情報分離部804で付加情報として分離した数値列に対して、データを解析し、元々埋め込んだ付加情報の形式に変換する処理である。例えば、予め多重化する付加情報を、テキスト文書データとして、文字コードを「シフトJIS」で数値化した値であるとする。
シフトJISの1バイトコード(半角文字)では、上位4ビットと下位4ビットの組み合わせで、数値及び文字に対応した変換を行える。例えば、上位4ビットが「0100」で、下位4ビットが「0001」の場合、文字列として、「A」と判定される。このように、変換マップを予め保持しておき、数値列を対応させることで、文字へと変換することができる。
付加情報として分離した数値列は、図2のRAM206に、一時的に保持しておき、2次記憶装置207に予め保持していた「シフトJIS」変換マップを参照可能なようにしておく。
例えば、付加情報分離部804で分離した付加情報の数値列が、「0110100001100101011011000110110001101111」とする。この場合、変換マップに対応させると以下のようになる。上位4ビット「0110」、下位4ビット「1000」で、文字「h」となる。上位4ビット「0110」、下位4ビット「0101」で、文字「e」となる。上位4ビット「0110」、下位4ビット「1100」で、文字「l」となる。上位4ビット「0110」、下位4ビット「1100」で、文字「l」となる。上位4ビット「0110」、下位4ビット「1111」で、文字「o」となる。従って、文字列として、「hello」が抽出される。
付加情報を抽出すると、例えば抽出された文字列を図2のディスプレイ208で表示する。また、抽出された文字列がURL(Uniform Resource Locator)である場合、ネットワークインタフェース210でネットワークに接続し、ブラウザを利用して、ディスプレイ208にURL先の画面を表示する。また、そのURLが動画サイトであった場合、ディスプレイ208で動画を表示し、スピーカ211で、音声を出力する。
図10は、本実施形態における多重化デコード処理を示すフローチャートである。図10の処理は、例えば、CPU204がROM205に記憶されたプログラムをRAM206に読み出して実行することにより実現される。
S1001では、CPU204は、撮像センサ201により、多重化された印刷物Cの撮影を行う。撮像センサ201は、撮影された光が色データ値に変換されたセンサ値を、色調整部802に送信する。S1001の処理は、図8の撮像部801の撮像センサによる撮影画像を取得する処理に対応する。
S1002では、CPU204は、取得した撮影画像の色調整を行う。色調整部802は、撮像部801から色データ値を受信し、ホワイトバランス調整を行い、ホワイトバランス調整された色データを画像データとして生成する。色調整部802は、生成した画像データを付加情報分離装置203へ送信する。もしくは、生成した画像データは、図2の2次記憶装置207に保存される。S1002の処理は、図8の色調整部802による、ホワイトバランスの色調整を行った画像を生成する処理に対応する。
S1003では、CPU204は、色調整部802からホワイトバランス後の画像データを受信し、もしくは、図2の2次記憶装置207に保存された画像データを取得する。多重化位置検出部803は、取得した画像データに対して、周波数特性の判定を行い、多重化されている位置を検出する。S1003の処理は、図8の多重化位置検出部803による、画像データから多重化されている基準位置を検出する処理に対応する。
S1004では、CPU204は、多重化位置検出部803により、画像データから、多重化されている基準位置を検出できたか否かを判定する。検出できたと判定された場合、S1005へ進み、検出できなかったと判定された場合、S1001の処理を繰り返す。
S1005では、CPU204は、色調整部802で生成された画像データと、多重化位置検出部803で検出した多重化されている基準位置に基づいて、周波数特性を判定した結果を用いて、多重化されている付加情報を数値データとして抽出する。S1005の処理は、図8の付加情報分離部804による、画像データから付加情報を抽出する処理に対応する。付加情報分離部804は、抽出した数値データを図8の抽出データ解析部805へ送信する。もしくは、付加情報分離部804は、図2のRAM206に一時的に保存し、抽出データ解析部805へ、その旨を通知する。
S1006では、CPU204は、図8の抽出データ解析部805により、分離した付加情報に相当する数値データを取得し、数字データを解析し、文字データなどの付加情報に変換する。S1006の処理は、図8の抽出データ解析部805による、付加情報を抽出する処理に対応する。
S1007では、CPU204は、図8の抽出データ解析部805で抽出した付加情報の取得を完了したか否かを判定する。付加情報の取得を完了したと判定した場合、図10の多重化デコード処理を終了し、取得を完了していないと判定した場合、S1001の処理を繰り返す。
多重化された印刷物から付加情報を抽出できた場合、図2のディスプレイ208などに、結果を表示したり、ネットワークにアクセスしたりする。多重化された印刷物から付加情報を抽出できなかった場合、例えば、撮影された画像データが、付加情報を抽出するだけの領域を全て含んでいない場合が考えられる。その場合、付加情報の一部しか抽出できなかったためにデータが完全ではなく、再度、撮影し直す必要がある。
付加情報を抽出できているか否かの判定を行うために、例えば、付加情報自体に、付加情報のデータ量を示す値を含めておいても良い。そして、データ量を抽出することで、付加情報のデータ量を判定するようにしても良い。データ量であるか文字データであるかを判定する場合には、例えば、予め、数値列の組み合わせを決めておき、その数値列の直後の数ビットをデータ量と決めておけば、データ量を抽出することが可能となる。
付加情報の一部しか抽出できない場合、例えば、抽出できた内容分を、図2の2次記憶装置207に保存しておき、追加で抽出できた際に、付加情報を結合しても良い。つまり、複数回に分けて、付加情報を抽出するようにしても良い。また、S1007で、抽出データ取得の完了の判定を行っているが、抽出できた付加情報から、図2のディスプレイなどに表示させるようにしても良い。
上記において本実施形態の構成について説明した。下記において本実施形態の一例について説明する。本実施形態では、図3の色変換部305の後で付加情報多重化部310による多重化処理を行っている。これは、既に説明したように、色変換部305は、プリンタのインクやメディアの色再現性を考慮したデバイスの色空間(DeviceRGB等)に色変換している。図13は、色変換の一例を表す図である。説明の簡略化のために、Labの色空間のabの二次元平面について説明する。色空間1301は、色変換前のsRGBの色空間をLabの色空間に変換した状態を表している。また、色空間1302は、プリンタの所定のインクとメディアのDeviceRGBの色空間をLabの色空間に変換した状態を表している。つまり、色変換部305により、色変換前のA、B、Cの色は、色変換後に、A’、B’、C’に変換される。
ここで、色変換後のU成分(YUV)で埋め込んだマスクパターンの「−1」「0」「2」を色変換前のa*成分(Lab)におけるA、B、Cとした場合、色変換によってA’、B’、C’の間の距離がそれぞれ短くなってしまっている。これは、色変換前に多重化処理を行うと付加情報を分離する際に周波数特性の判定が失敗し、付加情報が分離できなくなってしまう可能性があることを示している。
本実施形態においては、画像に付加情報を埋め込む際に、出力色空間で色の変調が実現されるように多重化することができる。その結果、上記のように、印刷物から付加情報を抽出できなくなってしまうことを防ぐことができる。
[第2の実施形態]
以下、第1の実施形態と異なる点について、第2の実施形態を説明する。図17は、本実施形態における多重化エンコード処理の基本ファームウェアのブロック構成を示す図である。図3のブロック図と同じ番号で表示している場合は、図3における説明と同じであるので、その説明を省略する。
本実施形態では、多重化処理を色変換部305の前段で処理している。既に説明したように、多重化処理を行った後で色変換を行うと多重化した周波数特性が失われてしまうことがある。その為、本実施形態では、多重化パラメータ315をパラメータ変換部316で変換して作成した色変換前多重化パラメータ317を用いて多重化処理を行う。その結果、多重化処理後に色変換を行ったとしても多重化した周波数特性が失われないようにすることができる。
例えば、図7の多重化パラメータ315で入力YUVが(144、−64、−96)の時、U適用値を適用後のYUVは「0」「2」「−1」でそれぞれ、(144、−64、−96)(144、−54、−96)(144、−74、−96)となるとする。これを、以下の式(4)、(5)、(6)によりRGB値に変換すると(9、235、31)(9、231、48)(9、238、13)となる。
R = Y+1.402×V ・・・(4)
G = Y−0.344×U−0.714×V ・・・(5)
B = Y+1.772×U ・・・(6)
このRGB値をパラメータ変換部316と色変換テーブル311を用いて色変換前のRGB値を算出する。色変換前のRGB値を算出する方法は、一般的な方法を用いて良い。例えば、色変換テーブルを用いている場合は、色変換テーブルによるマッピング方法に従って逆変換することにより、また、色変換テーブルの色変換後のRGB値を四面体補間等の補間処理をすることにより色変換前のRGB値を算出することができる。
上記の例を用いて、色変換後のRGB値から色変換前のRGB値を算出するとそれぞれ、(5、250、27)、(6、249、40)、(9、250、3)となる。以上のような変換を図7の多重化パラメータ315の4913グリッドのYUV値に対して行い、色変換前の3つのRGB値を算出しテーブル化することで図20に示すような色変換前多重化パラメータ317を作成することができる。
図18を参照しながら、本実施形態における多重化処理を説明する。第1の実施形態では、色空間変換部501によりRGBからYUVの画像に色変換しているが、本実施形態では、RGBの画像を用いる。つまり、色空間変換をせずにRGBのそれぞれのプレーンに対してブロック位置設定部502と情報多重化部505を実行することにより、多重化後の画像を作成する。その後、色変換部305により色変換を行うことでマスクパターンのRGB値がそれぞれ(9、235、31)(9、231、48)(9、238、13)となる。そして、その際のYUV値が(144、−64、−96)(144、−54、−96)(144、−74、−96)となる。
このように、本実施形態によれば、色変換前のRGB画像に対して多重化処理を実行したとしても、多重化の色の変調が失われることがなくなるので、印刷物から付加情報を適切に抽出することができる。なお、本実施形態は、第1の実施形態と組み合わせて構成されても良い。その場合、図3の各処理部の構成と、図17の各処理部の構成とを含み、第1の実施形態と第2の実施形態のいずれかの動作を選択的に実行可能とするように構成されても良い。
本実施形態では、多重化パラメータ315から変換して色変換前多重化パラメータ317を作成している。しかしながら、予め作成済みの多重化パラメータ317をROM1903等の記憶部に保持するようにし、多重化処理を実行する際に、保持された多重化パラメータ317を読み出して多重化処理を実行しても良い。また、本実施形態では、RGBの色空間で多重化処理を実行しているが、他の色空間上、例えばCMYK空間上で実行されても良い。
例えば、オフセット印刷等の印刷機では、色変換時にCMYKの色空間上での処理を行う。CMYKの色変換においても非線形な色変換が実施されるので、RGBと同様に周波数特性が失われてしまう。従って、RGBの場合と同様に、色変換前のCMYK値を算出することで、本実施形態の動作を実現することができる。また、RGBやCMYKを所定の演算式に従い、Lab、YUV、YCbCr,Lch等の色空間に変換した場合でも、本実施形態の動作を実現することができる。
(その他の実施例)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
102 付加情報多重化装置: 103 プリンタ: 105 付加情報多重化部: 106 印刷部: 1902 CPU: 1903 ROM: 1904 RAM

Claims (12)

  1. 第1の画像データを取得する第1の取得手段と、
    前記第1の取得手段により取得した前記第1の画像データを、画像データを出力する出力手段に依存する色空間で定められる第2の画像データに変換する第1の変換手段と、
    前記第1の変換手段により変換した前記第2の画像データに対して、多重化パラメータを用いて付加情報を多重化する多重化手段と、
    を備えることを特徴とする情報処理装置。
  2. 前記第1の変換手段は、前記出力手段に依存しない第1の色空間で定められる前記第1の画像データを、前記出力手段に依存する第2の色空間で定められる前記第2の画像データに変換することを特徴とする請求項1に記載の情報処理装置。
  3. 前記多重化手段は、輝度成分と色成分により定められる色空間上の画像データである前記第2の画像データに対して、前記多重化パラメータを用いて前記付加情報を多重化することを特徴とする請求項2に記載の情報処理装置。
  4. 前記多重化手段は、前記多重化パラメータにより色成分を変調することで前記付加情報を多重化することを特徴とする請求項3に記載の情報処理装置。
  5. 前記第2の画像データを、輝度成分と色成分により定められる色空間上の画像データに変換する第2の変換手段、をさらに備えることを特徴とする請求項3又は4に記載の情報処理装置。
  6. 前記第1の色空間および前記第2の色空間は、RGBもしくはCMYKで定められる色空間であることを特徴とする請求項2乃至5のいずれか1項に記載の情報処理装置。
  7. 前記付加情報を多重化する際に用いられる前記多重化パラメータを、前記第1の色空間で定められるデータに変換する第3の変換手段、をさらに備え、
    前記第3の変換手段により当該多重化パラメータを前記第1の色空間で定められるデータに変換した場合、
    前記多重化手段は、前記変換手段により変換した前記第2の画像データに対して多重化を行う代わりに、前記取得手段により取得した前記第1の画像データに対して、前記第3の変換手段により前記多重化パラメータを変換した前記第1の色空間で定められるデータを用いて前記付加情報を多重化する、
    ことを特徴とする請求項2乃至6のいずれか1項に記載の情報処理装置。
  8. 前記付加情報を取得する第2の取得手段、をさらに備え、
    前記多重化手段は、前記変換手段により変換された前記第2の画像データに対して、前記多重化パラメータを用いて、前記第2の取得手段により取得した前記付加情報を多重化する、
    ことを特徴とする請求項1乃至7のいずれか1項に記載の情報処理装置。
  9. 前記出力手段は、印刷装置であることを特徴とする請求項1乃至8のいずれか1項に記載の情報処理装置。
  10. 前記出力手段を含むことを特徴とする請求項1乃至9のいずれか1項に記載の情報処理装置。
  11. 情報処理装置において実行される情報処理方法であって、
    第1の画像データを取得する取得工程と、
    前記取得工程において取得した前記第1の画像データを、画像データを出力する出力手段に依存する色空間で定められる第2の画像データに変換する変換工程と、
    前記変換工程において変換した前記第2の画像データに対して、多重化パラメータを用いて付加情報を多重化する多重化工程と、
    を有することを特徴とする情報処理方法。
  12. 請求項1乃至9のいずれか1項に記載の情報処理装置の各手段としてコンピュータを機能させるためのプログラム。
JP2017126521A 2017-06-28 2017-06-28 情報処理装置、情報処理方法およびプログラム Active JP6808581B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2017126521A JP6808581B2 (ja) 2017-06-28 2017-06-28 情報処理装置、情報処理方法およびプログラム
US16/017,034 US11295407B2 (en) 2017-06-28 2018-06-25 Information processing apparatus, information processing method, and non-transitory computer-readable storage medium storing program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017126521A JP6808581B2 (ja) 2017-06-28 2017-06-28 情報処理装置、情報処理方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2019009733A true JP2019009733A (ja) 2019-01-17
JP6808581B2 JP6808581B2 (ja) 2021-01-06

Family

ID=64738701

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017126521A Active JP6808581B2 (ja) 2017-06-28 2017-06-28 情報処理装置、情報処理方法およびプログラム

Country Status (2)

Country Link
US (1) US11295407B2 (ja)
JP (1) JP6808581B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11847369B2 (en) 2021-08-20 2023-12-19 Canon Kabushiki Kaisha Information processing apparatus, information processing method, printing system, and storage medium

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6679540B2 (ja) 2017-06-28 2020-04-15 キヤノン株式会社 情報処理装置、情報処理システム、情報処理方法、プログラム、および記憶媒体
JP2022123580A (ja) * 2021-02-12 2022-08-24 キヤノン株式会社 多重化処理を実行する情報処理装置、その制御方法およびプログラム
JP2022139237A (ja) * 2021-03-11 2022-09-26 キヤノン株式会社 情報処理装置とプログラム及び画像処理方法
JP2022139239A (ja) * 2021-03-11 2022-09-26 キヤノン株式会社 情報処理装置とプログラム及び画像処理方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8379908B2 (en) * 1995-07-27 2013-02-19 Digimarc Corporation Embedding and reading codes on objects
JP3959890B2 (ja) 1999-04-23 2007-08-15 セイコーエプソン株式会社 印刷システム、印刷情報生成装置、プリンタ、印刷方法、および記録媒体
US7142689B2 (en) 2000-01-31 2006-11-28 Canon Kabushiki Kaisha Image processing apparatus for determining specific images
US7663670B1 (en) * 2001-02-09 2010-02-16 Digital Imaging Systems Gmbh Methods and systems for embedding camera information in images
JP2002281283A (ja) 2001-03-21 2002-09-27 Sharp Corp 情報埋め込み方法、情報検出方法及びプログラムを記録した記録媒体
US20080012872A1 (en) * 2006-05-25 2008-01-17 Flickinger Jon M Jr System for Real-time Processing Changes Between Video Content in Disparate Formats
JP5760438B2 (ja) * 2010-12-28 2015-08-12 富士通株式会社 電子透かし埋め込み装置、電子透かし埋め込み方法及び電子透かし埋め込み用コンピュータプログラムならびに電子透かし検出装置
JP5887897B2 (ja) * 2011-12-05 2016-03-16 株式会社リコー 画像処理装置及び画像処理方法
EP3087552A1 (en) * 2013-12-23 2016-11-02 Thomson Licensing Method and system for matching images and display devices
JP2016063324A (ja) * 2014-09-16 2016-04-25 キヤノン株式会社 画像処理装置、画像処理方法及びプログラム
US10033904B2 (en) * 2015-10-06 2018-07-24 Canon Kabushiki Kaisha Information processing apparatus for multiplexing information in an image, information processing method, and storage medium storing program

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11847369B2 (en) 2021-08-20 2023-12-19 Canon Kabushiki Kaisha Information processing apparatus, information processing method, printing system, and storage medium

Also Published As

Publication number Publication date
US11295407B2 (en) 2022-04-05
US20190005601A1 (en) 2019-01-03
JP6808581B2 (ja) 2021-01-06

Similar Documents

Publication Publication Date Title
JP6808581B2 (ja) 情報処理装置、情報処理方法およびプログラム
US10992837B2 (en) Information processing apparatus, control method thereof, and storage medium
US20200288096A1 (en) Information processing apparatus, information processing system, information processing method, and storage medium
US10033904B2 (en) Information processing apparatus for multiplexing information in an image, information processing method, and storage medium storing program
US20230045024A1 (en) Information processing apparatus, method, and computer-readable medium
US11790477B2 (en) Digital watermark analysis apparatus and digital watermark analysis method
JP6789890B2 (ja) 情報処理装置、情報処理方法およびプログラム、並びに多重化パラメータの作成方法
JP2023067166A (ja) 画像処理装置及び画像処理方法
US11563871B2 (en) Information processing apparatus, control method, and product performing multiplexing processing changing a component in different color spaces with respect to printing and non-printing areas
JP7451187B2 (ja) 画像処理装置、画像処理方法およびプログラム
JP6952499B2 (ja) 情報処理装置及びプログラム
JP2005284423A (ja) 画像処理装置、および、画像処理方法
JP7455584B2 (ja) 情報処理装置、情報処理装置の制御方法、プログラム、および記憶媒体
JP6664179B2 (ja) 情報処理装置、情報処理方法およびプログラム
JP2023042153A (ja) 画像処理装置、画像処理方法、およびプログラム
JP2001352453A (ja) 画像再生装置
JP2006295677A (ja) 画像処理方法、画像処理装置、およびプログラム
JP2000078391A (ja) 印刷方法および装置並びに記録媒体
JP2021106332A (ja) 情報処理装置、情報処理方法およびプログラム
JP4995772B2 (ja) 画像再現システム及び方法
JP2022189089A (ja) 情報処理装置、方法およびプログラム、並びにシステム
JP2020043461A (ja) 画像処理装置と画像処理方法、及びプログラム
JP2009105808A (ja) 画像処理装置及び画像処理方法ならびに画像処理方法を実行するプログラム、記憶媒体
JP2004242039A (ja) 画像処理装置
JP2009189003A (ja) 画像処理装置、画像処理方法および画像形成装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190401

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200128

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200214

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20200403

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200603

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20201109

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201209

R151 Written notification of patent or utility model registration

Ref document number: 6808581

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151