(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-15
(45)【発行日】2024-03-26
(54)【発明の名称】情報処理装置、情報処理装置の制御方法、プログラム、および記憶媒体
(51)【国際特許分類】
H04N 1/32 20060101AFI20240318BHJP
【FI】
H04N1/32 144
(21)【出願番号】P 2020000312
(22)【出願日】2020-01-06
【審査請求日】2022-12-19
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】110001243
【氏名又は名称】弁理士法人谷・阿部特許事務所
(72)【発明者】
【氏名】酒井 洋行
(72)【発明者】
【氏名】浦谷 充
(72)【発明者】
【氏名】石田 祐樹
(72)【発明者】
【氏名】大曲 勇気
(72)【発明者】
【氏名】鈴木 智博
【審査官】花田 尚樹
(56)【参考文献】
【文献】特開2006-229894(JP,A)
【文献】特開2010-011252(JP,A)
【文献】特開2013-164770(JP,A)
【文献】特開2011-070512(JP,A)
【文献】特開2019-186591(JP,A)
【文献】特開2001-043118(JP,A)
【文献】特開2009-271735(JP,A)
【文献】特開2008-177666(JP,A)
【文献】特開2003-110827(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 1/32 - 1/36
1/42 - 1/44
(57)【特許請求の範囲】
【請求項1】
撮像された撮像画像に含まれている付加情報を抽出する抽出手段と、
前記抽出手段で抽出された複数の付加情報のそれぞれに関する情報を表示手段に選択可能に表示するように制御する表示制御手段と、
前記表示制御手段の制御により表示された複数の付加情報のそれぞれに関する情報のうち、ユーザに選択された情報
に対応する付加情報に基づく通知
を行うように制御する通知
制御手段と、
を有し、
前記表示制御手段は、第1の撮像画像から抽出された第1の付加情報に関する情報を前記表示手段に表示している状態で、前記第1の撮像画像よりも後に撮像された第2の撮像画像から抽出した1つ以上の付加情報に前記第1の付加情報が含まれていても当該第1の付加情報に関する情報を前記表示手段に追加して表示することなく、前記1つ以上の付加情報に前記表示手段に表示されていない第2の付加情報が含まれている場合には当該第2の付加情報に関する情報を追加して表示するように制御する
ことを特徴とする情報処理装置。
【請求項2】
前記表示制御手段によって表示された情報に対応する付加情報を記憶手段に保存するように制御する保存制御手段を更に有し、
前記表示制御手段は、
前記第2の撮像画像から抽出した前記1つ以上の付加情報のうち、前記記憶手段に保存された付加情報に含まれる付加情報を前記表示手段に追加して表示しないように制御し、
前記第2の撮像画像から抽出した前記1つ以上の付加情報のうち、前記記憶手段に保存された付加情報に含まれない付加情報を前記表示手段に追加して表示するように制御する
ことを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記第2の撮像画像から抽出した前記1つ以上の付加情報と、前記記憶手段に保存された付加情報とを比較することで、前記第2の撮像画像から抽出した1つ以上の付加情報に前記表示手段に表示された情報に対応する付加情報があるか否かを判定する判定手段を更に有し、
前記表示制御手段は、前記判定手段による判定に基づいて前記追加して表示するか否かを制御することを特徴とする請求項2に記載の情報処理装置。
【請求項4】
前記第1の撮像画像から抽出された前記第1の付加情報に関する情報を前記表示手段に表示した際に、ユーザに対して、前記第1の撮像画像とは撮像領域の異なる撮像画像の取得を促す通知を行うことを特徴とする請求項1に記載の情報処理装置。
【請求項5】
前記表示制御手段による制御によって表示される前記情報は、それぞれに対応する付加情報を区別可能な情報であることを特徴とする請求項1乃至4のいずれか1項に記載の情報処理装置。
【請求項6】
前記表示制御手段は複数の付加情報のそれぞれに関する情報を表示するように制御し、
前記表示制御手段による制御によって表示される前記情報は前記複数の付加情報にそれぞれ付された番号を含むことを特徴とする請求項1乃至5のいずれか1項に記載の情報処理装置。
【請求項7】
前記通知制御手段は、前記通知として、ユーザに選択された情報に対応する付加情報のテキストとしての表示、ユーザに選択された情報に対応する付加情報であるURLのURL先の画面の表示、ユーザに選択された情報に対応する付加情報である音声データまたは音声付き動画データの音声の出力のうち少なくとも1つを行うように制御することを特徴とする請求項1乃至6のいずれか1項に記載の情報処理装置。
【請求項8】
前記付加情報は
、付加情報が埋め込まれている位置に関する
情報であって、画像における位置を限定可能な情報を含み、
前記表示制御手段は
、付加情報に関する情報とともに、前記位置に関する情報を表示する
ことを特徴とする請求項
1乃至7のいずれか1項に記載の情報処理装置。
【請求項9】
前記
表示制御手段は、
前記複数の付加情報のそれぞれに関する情報を、各付加情報のデータサイズ
が小さい順に表示するように制御することを特徴とする請求項
1乃至8のいずれか1項に記載の情報処理装置。
【請求項10】
撮像された撮像画像に含まれている付加情報を抽出することが可能な情報処理
装置の制御方法であって、
撮像画像から抽出された複数の付加情報のそれぞれに関する情報を表示手段に選択可能に表示するように制御する表示制御工程と、
前記表示制御工程での制御により表示された複数の付加情報のそれぞれに関する情報のうち、ユーザに選択された情報
に対応する付加情報に基づく通知
を行うように制御する通知
制御工程と、
を有し、
前記表示制御工程は、第1の撮像画像から抽出された第1の付加情報に関する情報を前記表示手段に表示している状態で、前記第1の撮像画像よりも後に撮像された第2の撮像画像から抽出した1つ以上の付加情報に前記第1の付加情報が含まれていても当該第1の付加情報に関する情報を前記表示手段に追加して表示することなく、前記1つ以上の付加情報に前記表示手段に表示されていない第2の付加情報が含まれている場合には当該第2の付加情報に関する情報を追加して表示するように制御する
ことを特徴とする情報処理
装置の制御方法。
【請求項11】
請求項1から
9のいずれか1項に記載の情報処理装置として、コンピュータを機能させるためのプログラム。
【請求項12】
請求項1から9のいずれか1項に記載の情報処理装置として、コンピュータを機能させるためのプログラムを格納したコンピュータが読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、記録画像に埋め込まれた付加情報を抽出する情報処理装置、情報処理装置の制御方法、プログラム、および記憶媒体に関する。
【背景技術】
【0002】
特許文献1には、カメラによって撮像した画像の画像データに付加情報(電子透かし情報)を埋め込むとともに、付加情報が埋め込まれた画像データに基づいて記録された記録画像を撮像した撮像画像から付加情報を抽出する技術が開示されている。この特許文献1に開示された技術では、付加情報(秘匿情報)を確実に抽出するために、付加情報と、当該付加情報を埋め込んだ位置情報とを、画像データ(画像信号)に埋め込むようにしている。具体的には、画像データの第1の信号成分に付加情報を埋め込み、画像データの第2の信号成分に上記位置情報を埋め込むようにしている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
画像データには、付加情報として、例えば、テキスト文書情報、音声情報、動画情報などの種々の情報を埋め込むことが可能となっている。ところが、画像データの複数の領域のそれぞれに、記録画像において視覚的に判別し難くなるように、異なる付加情報を埋め込んだ場合には、ユーザは記録画像のどの部分にどの付加情報が含まれているのかがわからない。このため、付加情報を抽出するために撮像した撮像画像において、複数の付加情報が含まれることがある。
【0005】
しかしながら、特許文献1に開示された技術では、抽出された複数の付加情報をどのように通知するのかが記載されておらず、ユーザに対して所望の付加情報を適切に通知することができない。
【0006】
本発明は、上記課題に鑑みてなされたものであり、撮像画像から抽出した複数の付加情報から所定の付加情報を適切に通知することが可能な技術を提供することを目的とする。
【課題を解決するための手段】
【0007】
上記目的を達成するために、本発明の一実施形態は、情報処理装置であって、撮像された撮像画像に含まれている付加情報を抽出する抽出手段と、前記抽出手段で抽出された複数の付加情報のそれぞれに関する情報を表示手段に選択可能に表示するように制御する表示制御手段と、前記表示制御手段の制御により表示された複数の付加情報のそれぞれに関する情報のうち、ユーザに選択された情報に対応する付加情報に基づく通知を行うように制御する通知制御手段と、を有し、前記表示制御手段は、第1の撮像画像から抽出された第1の付加情報に関する情報を前記表示手段に表示している状態で、前記第1の撮像画像よりも後に撮像された第2の撮像画像から抽出した1つ以上の付加情報に前記第1の付加情報が含まれていても当該第1の付加情報に関する情報を前記表示手段に追加して表示することなく、前記1つ以上の付加情報に前記表示手段に表示されていない第2の付加情報が含まれている場合には当該第2の付加情報に関する情報を追加して表示するように制御することを特徴とする。
【発明の効果】
【0008】
本発明によれば、撮像画像から抽出した付加情報から所定の付加情報を適切に通知することができるようになる。
【図面の簡単な説明】
【0009】
【
図1】実施形態による情報処理システムのブロック構成図。
【
図2】多重化エンコード処理装置のファームウェア構成を示すブロック図。
【
図7】誤差拡散法による誤差分配方法を説明する図。
【
図9】多重化エンコード処理の処理内容を示すフローチャート。
【
図10】多重化部のファームウェア構成を示すブロック図。
【
図12】記録処理の処理内容を示すフローチャート。
【
図13】多重化デコード処理装置のハードウェア構成を示すブロック図。
【
図14】多重化デコード処理装置のファームウェア構成を示すブロック図。
【
図15】撮像領域と付加情報の埋め込み位置とを説明する図。
【
図16】周波数特性の判定と複数のブロック単位に多重化された領域とを説明する図。
【
図19】多重化デコード処理の処理内容を示すフローチャート。
【
図20】第1実施形態の情報処理システムにおける通知処理の処理内容を示すフローチャート。
【
図21】第2実施形態の情報処理システムにおける通知処理の処理内容を示すフローチャート。
【発明を実施するための形態】
【0010】
以下、添付の図面を参照しながら、情報処理装置、情報処理装置の制御方法、プログラム、および記憶媒体の実施形態の一例を詳細に説明する。なお、以下の実施形態は、本発明を限定するものではなく、また、実施形態で説明されている特徴の組み合わせのすべてが本発明の解決手段の必須のものとは限らない。また、実施形態に記載されている構成要素の相対位置、形状などは、あくまで例示であり、この発明の範囲をそれらのみに限定する趣旨のものではない。
【0011】
(第1実施形態)
まず、
図1乃至
図20を参照しながら、第1実施形態による情報処理システムについて詳細に説明する。
【0012】
図1は、本実施形態による情報処理システム10のブロック構成図である。第1実施形態による情報処理システム10は、画像データに付加情報を埋め込む多重化エンコード処理装置12と、撮像画像から付加情報を抽出し、利用する多重化デコード処理装置14とを備えている。
【0013】
=多重化エンコード処理装置=
<ハードウェア構成>
多重化エンコード処理装置12では、画像データAと付加情報Bとを取得し、付加情報Bが埋め込まれた画像データAに基づく記録物Cを生成する。多重化エンコード処理装置12は、画像データAに付加情報Bを埋め込む多重化装置16と、多重化装置16で付加情報Bが埋め込まれた画像データAに基づいて記録する記録装置18とを備えている。多重化装置16(第1情報処理装置)は、CPU(中央処理装置)20、ROM22、およびRAM24を備えている。CPU20は、RAM24をワークエリアとしながら、ROM22に格納されたプログラムや各種パラメータにしたがって、演算、判定、および制御などを行う。
【0014】
画像データAは、入力端子26から多重化装置16に入力される。画像データAは、色成分を含む多階調の画像データである。付加情報Bは、入力端子28から多重化装置16に入力される。付加情報Bは、テキスト文書情報、音声情報、動画情報、テキスト文書、音声、画像、動画などの圧縮情報、他のバイナリ値に変換された変換情報などとなる。なお、多重化エンコード処理装置12については、上記多重化装置16の処理を制御部で実行するようにした記録装置としてもよい。
【0015】
<ファームウェア構成>
次に、多重化エンコード処理装置12のファームウェア構成について説明する。
図2は、多重化エンコード処理装置12のファームウェア構成を示すブロック図である。多重化エンコード処理装置12に入力された画像データAは、下記の各構成において処理が施され、記録装置18に送信されることとなる。
【0016】
・取得部
多重化エンコード処理装置12に送信された画像データAは、まず、取得部30において処理される。ここで、入力端子26から入力される画像データAは、例えば、文書データをJPEGフォーマットで圧縮して得られた非可逆画像データである。非可逆画像データには、圧縮する際に使用された量子化テーブルと画像データサイズとが含まれている。
【0017】
取得部30は、入力端子26から入力された画像データAから、画像データAを圧縮する際に使用された各種パラメータを取得する。即ち、画像データAが、文書データをJPEGフォーマットで圧縮して得られた非可逆画像データであれば、量子化テーブルおよび画像データサイズなどが取得されることとなる。取得されたパラメータについては、後述する復元部32に送信され、付加情報Bが埋め込まれる画像データの抽出に利用される。また、不図示の圧縮案出部に送信され、圧縮度を算出するための処理に利用される。
【0018】
・復元部
復元部32は、符号化され画像データを復号化して画像データを抽出する。なお、以下の説明では、抽出される画像データをJPEG画像として説明する。
図3を参照しながら、復元部32で実行される、符号化された画像データを復号化する複合処理について説明する。
図3は、符号化された画像データを復号化する処理内容を示すフローチャートである。
図3のフローチャートで示される一連の処理は、CPU20がROM22に記憶されているプログラムコードをRAM24に展開して実行されることにより行われる。あるいはまた、
図3におけるステップの一部または全部の機能をASICまたは電子回路などのハードウェアで実行してもよい。なお、各処理の説明における符号Sは、当該フローチャートにおけるステップであることを意味する(以下、本明細書において同様とする。)。
【0019】
ここで、JPEGのデータ形式である画像が、例えば、N個の8画素正方ブロック(8×8画素のブロック)に分割されているものとする。この場合、復元処理では、まず、N=1とし(S302)、第N番目のブロックを8画素正方ブロック単位でハフマン符号化し(S304)、取得部30で取得した量子化テーブルを用いて逆量子化し(S306)、それを逆DCT変換する(S308)。その後、第N番目ブロックが、最後のブロックか否かを判定し(S310)、差後のブロックでないと判定されると、Nをインクリメントして(S312)、S304に戻る。S310において、最後のブロックであると判定されると、この復元処理を終了する。
【0020】
なお、JPEGの復号化処理は公知の技術であるため、以下の説明では、ハフマン符号化、逆量子化、逆DCT(Discrete Cosine Transform)変換の概略について説明する。ハフマン符号化は、頻度の高いデータに近いビット数の符号を割り当てることによって、全体のビット数を減らすように圧縮する方法である。ハフマン符号化は、予めはハフマン符号を仕様で定義しておいて、元にデータに復号化する。逆量子化においては、取得部30において取得された量子化テーブル(画像データを圧縮する際に使用された量子化テーブル)を用いる逆量子化により、画像データに展開する処理である。
【0021】
逆DCT変換は、直流成分(DC成分)と交流成分(AC成分)にDCT変換された画像データをもとの画像濃度成分の情報に戻すための逆変換を行う処理である。JPEG圧縮は、輝度Y、色差Cb、Cr形式で実施されることが多く、その場合、逆DCT処理が施されたデータもYCbCrの形式になる。下記(1)式により、YCbCr形式の値をRGB形式の画像信号値に変換する。
R = Y + 1.402×Cr
G = Y - 0.344×Cb - 0.714×Cr ・・・ (1)
B = Y + 1.772×Cb
【0022】
・画像補正部
画像補正部34は、復元部32により復号化されたRGBデータに対し、画像の補正処理を施す。画像補正部34で行う補正としては、全体の色を明るくまたは暗くする明度調整、コントラスト調整、およびカラーバランスの調整のほか、写真の記録を想定した逆光補正および赤目補正など種々の補正が挙げられる。これらの補正を画像補正部34において一元的に処理することにより、記録装置18に依存しない処理を実現することができる。
【0023】
・解像度変換部
解像度変換部36は、画像補正部34などで処理された画像データを記録装置18に対応する解像度に変換する。即ち、画像データと、記録装置18の解像度とから変倍量が導き出され、この変倍量に基づいて拡大または縮小の処理を施す。変倍処理としては、ニアレストネイバー法、バイリニア法、バイキュービック法などがあり、処理の特性および処理速度を考慮して適宜選択される。
【0024】
・色補正部
色補正部38は、記録装置18による記録画像が好適な色となるように、画像データに変換処理を施す。例えば、表示装置に表示された画像を記録装置18で記録する場合、表示装置と記録装置18とにおける色再現範囲は必ずしも一致しない。ある色では記録装置18の色再現範囲の方が狭く、また、別の色では記録装置18の色再現範囲の方が広い場合がある。そのため、画像の劣化を最小限にして、適宜、色の圧縮および伸張を行う必要がある。
【0025】
本実施形態においては、それらの処理をRGB形式で実行する。つまり、記録装置18の再現性を考慮して、色補正部38に入力されたRGB値を記録装置18用のRGB値(以下、「記録装置用RGB」とも称する。)に変換する。この変換は、マトリクスなどの演算によって行うことも可能である。一般的には、三次元の色補正テーブル40が利用される。入力されるRGB値を各色8ビット(256階調)とした場合、すべての組み合わせを保持することは記憶容量の観点から現実的でない。このため、色補正テーブル40として、所定の間隔で間引かれたテーブルを用いる。
【0026】
図4は、色補正テーブル40の一例を示す図である。色補正テーブル40は、各色256階調を17点のグリッド点とし、それに対応する記録装置用RGB値を示したテーブルである(17×17×17=4913グリッド点)。グリッド点間の値は、補間処理を利用して算出する。補完方法は、いくつかの方法の中から選択して利用することができ、本実施形態では、四面体補間法を利用した。四面体補間法は、三次元空間の分割単体を四面体として、4つの格子点を用いる線形補間である。この四面体補間法では、まず、
図5(a)のようにその四面体をさらに細かい小四面体に分割する。各店の変換値をそれぞれf(p0)、f(p1)、f(p3)とした場合、下記(2)式により補間値f(p)を求めることができる。
【0027】
【0028】
ここで、w0、w1、w2、w3は、各頂点piと反対向位置における小四面体の体積比である(
図5(b)参照)。このように、太陽となるRGB値に対応した記録装置用RGB値を算出する。その場合、階調性を考慮して、出力を8ビット以上としてもよい。また、色補正テーブルは、記録装置の色再現範囲にも依存するため、例えば、記録に使用する記録用紙(記録媒体)が異なる場合には、それに応じたテーブルを準備することが好ましい。
【0029】
・インク色変換部
インク色変換部42は、色補正部38によって変換された記録装置用RGB値をインク色の値に変換する。この変換には、記録装置用RGB値の組み合わせと、インク色の値とが予め対応付けられた色分解テーブル44を用いる。色補正部38と同様に、インク色変換部42においてもグリッド点17点のテーブルを利用する。
【0030】
図6は、色分解テーブル44の一例を示す図である。色分解テーブル44では、インク色として、シアン(C)、マゼンタ(M)、イエロー(Y)、ブラック(K)の4色を想定し、各グリッド点に対応した4色の値が示されている。これらの値は、記録用紙(記録媒体)の記録面上においてインクが溢れないこと、インク同士が隣接した際に滲まないことなどを考慮して決定される。そのため、記録に使用する記録用紙(記録媒体)が異なる場合には、それに応じた色分解テーブル44を準備することが好ましい。また、上記した色補正部38と同様に、記録装置用RGB値に対応するインク色の値は、四面体補間処理によって補間することができる。
【0031】
・濃度補正部
インクジェット方式で記録する記録装置18では、記録用紙(記録媒体)上にドットを形成するために付与されるインクの量が多くなるにしたがって、ドットの重なりが増加し、画像の記録濃度が上昇し難くなる。濃度補正部46は、このような濃度の応答性を均一にするために濃度を補正する。このような濃度補正により、色補正テーブル40および色分解テーブル44の作成精度が確保しやすくなる。C、M、Y、Kのインクを用いる記録装置18では、それらのインク色について濃度補正を行う。本実施形態では、1次元の濃度補正テーブル48を用いる。濃度補正テーブル48としては、インク色ごとの入力8ビット(256階調)に対応したテーブルを用意しておけばよく、特に間引くこともなく、入力信号値と補正後の出力信号値とを対応付けたテーブルを用いることができる。
【0032】
・階調変換部
階調変換部50は、インク色ごとに変換されて濃度補正が施された多ビットデータを、記録装置18において記録可能な階調数に変換する。本実施形態では、記録「1」/非記録「0」の2階調(1ビット)に変換し、階調の変換方法としては、画像の低周波成分を排除して、視覚に好適な階調の再現が可能な誤差拡散法を用いる。また、入力信号として、0から255の8ビットのデータを想定する。
【0033】
図7は、誤差拡散法における誤差分配方法の説明図である。ターゲットピクセルの信号値Lと、閾値THとを比較する。本実施形態では、0から255を2値化するための閾値を127とし、下記のように、ターゲットピクセルが「1」(記録)または「0」(非記録)のいずれであるかを判定する。
L>TH ・・・・・・ 1(記録)
L≦TH ・・・・・・ 0(非記録)
【0034】
この判定結果に応じて、量子化代表値Vを下記のように設定する。
1(記録) ・・・・・・ 255
0(非記録) ・・・・・・ 0
【0035】
このように量子化代表値Vを設定することにより、発生する誤差E(=L-V)は、
図7の分配係数にしたがって周囲のピクセルに分配される。
【0036】
そして、次のターゲットピクセルの信号値Lに、分配された誤差Eaを加算した値Laと、閾値THとを比較し、下記のように、ターゲットピクセルが「1」(記録)または「0」(非記録)のいずれであるかを判定する。
La>TH ・・・・・・ 1(記録)
La≦TH ・・・・・・ 0(非記録)
【0037】
このような処理をすべてのピクセル、およびすべてのインク色C、M、Y、Kに対して実行することにより、記録可能な1ビットのインク色ごとの記録データが得られる。階調変調部52は、取得した記録データを記録装置18に送信する。
【0038】
ここで、記録装置18は、受信した記録データを記憶する受信メモリ、CPU、インクを記録媒体に付与する記録部を備える。記録装置18では、入力された記録データを受信メモリに記憶する。記録部は、記録データを記録ヘッドのノズルに対応したインク滴データに変換する。インク滴データを記録媒体の搬送方向に対して交差する方向に操作する記録ヘッドにより、記録媒体上にインクを吐出することで記録処理を行う。本実施形態では、シリアルスキャンタイプのインクジェット記録装置の構成を示しているが、フルラインタイプのインクジェット記録装置、あるいは、インクジェット方式以外の方式で記録媒体に対して記録する記録装置においても適用可能である。
【0039】
・付加情報
付加情報54は、多重化エンコード処理装置12において、画像データAに埋め込まれる付加情報Bであり、テキスト文書データなどである。テキスト文書データは、例えば、公知の文字コードを利用して、数字および文字を数値に割り当てた数値データであり、この数値データが付加情報54として多重化部56(後述する)に送信される。
【0040】
具体例として、「hello」という文字列に対応するテキスト文書データについて説明する。テキスト文書データは、数値データ、所謂、バイナリデータとする。バイナリデータとは「0」もしくは「1」の情報であり、この「0」もしくは「1」の情報の連続的なつながりが特定の意味を持つ。バイナリデータと文字との対応は、「文字コード」によって定義されている。文字コードの中の1つである「シフトJIS」の場合、「h」はバイナリデータの「01101000」に対応する。同様に、「e」は「01100101」、「l」は「01101100」、「o」は「01101111」のバイナリデータに対応する。したがって、「hello」という文字列は、バイナリデータでは、「0110100001100101011011000110110001101111」と表現できる。逆に、「0110100001100101011011000110110001101111」というバイナリデータを取得できれば、「hello」という文字列を取得することができる。付加情報54は、このようなバイナリデータに変換された数値データに対応する。
【0041】
・多重化部
多重化部56は、解像度変換部36で処理された画像データと、付加情報54(「0」、「1」のバイナリデータに変換されたテキスト文書など)とを受け取り、付加情報54を画像データに埋め込む処理を行う。この埋め込み処理(多重化処理)においては、付加情報54が埋め込まれた画像データに基づいて記録された記録画像(を撮像した撮像画像)から、付加情報54が読み取れるように、付加情報54を画像データに埋め込む。例えば、付加情報54の「0」、「1」のバイナリデータを読み取り可能なように、画像データにマスク処理を施して、バイナリデータに対応する「0」、「1」の情報を埋め込む。本実施形態では、画像データにマスク処理を施すことにより、画像データの所定領域に「0」、「1」のバイナリデータに対応する異なる周期性を持たせる。
【0042】
図8(a)(b)は、「0」、「1」のバイナリデータに対応するマスクデータを示す図である。
図8に示すマスクデータは、5px(画素)×5pxの領域に対応する大きさとなっている。また、マスクデータは、5px×5pxの領域に対応する画像データに対して、
図8(a)または
図8(b)の異なる周期性を持つパターンを画像に組み合わせることにより、「0」、「1」のバイナリデータを埋め込む。記録画像を読み取る際に、読み取ったデータの周波数解析などによって、「0」、「1」のバイナリデータに対応する周期性を認識することで、「0」、「1」のバイナリデータを読み取ることができる。
【0043】
多重化部56では、付加情報54のバイナリデータ(数値データ)に基づいて、画像データに「0」、「1」のバイナリデータに対応する周期性を持たせることにより、付加情報54を埋め込む。画像データに対する付加情報54の埋め込み方法の一例として、画像データを1色のグレー画像データとし、その画像データの全体に、「0」、「1」のバイナリデータを埋め込む方法について説明する。
【0044】
多重化される画像データのサイズは、縦幅640px、横幅480pxとし、マスクデータは、
図8(a)(b)と同様に5px×5pxの大きさとする。
図8(a)のマスクデータによって「0」のバイナリデータが表現され、
図8(b)のマスクデータによって「1」のバイナリデータが表現されるものとする。
図8(a)(b)のマスクデータにおいて、5×5の画素ブロックは、黒ブロック801と、白ブロック802と、斜線ブロック803とに分けられる。黒ブロック801は数値「+2」に対応し、白ブロック802は数値「0」に対応し、斜線ブロック803は数値「-1」に対応する。下記のコードにおいて、maskAが、trueの場合には「0」に対応する
図8(a)のマスクデータを用い、falseの場合には「1」に対応する
図8(b)のマスクデータを用いる。
図8(a)(b)の黒、白、斜線ブロックに対応する数値を画像データの全体に適用する疑似コードを以下に示す。
【0045】
疑似コード:
――――――――――――――――――――――――――――――
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 }
――――――――――――――――――――――――――――――
【0046】
上記した疑似コードに示されているように、画像全体を5px×5pxのブロックに分けて、ブロックごとにmaskAのデータを加算させることにより、
図8(a)(b)のパターンを形成する仕組みとなっている。
【0047】
なお、上記した説明では、1色のクレー画像データを例として説明しているが、RGB成分で適用し、三次元でマスクパターンを適用してもよいし、RGB成分を変換してYUV、Lab、Lchなどの色成分で適用するようにしてもよい。また、本実施形態では、マスクデータの適用方法として、5px×5pxのブロックに分けているが、これに限定されるものではない。例えば、他のブロックサイズの単位やマスク形状であってもよい。多重化された画像が記録された記録物Cが、撮像された際に、パターンを区別できる仕組みであれば、いずれの方法が用いられてもよい。
【0048】
付加情報54のバイナリデータ(数値データ)に対応するパターンとして、極力、人間の視覚に目立ちづらいパターンを形成した場合もある。画像データが1色のグレー画像データの場合には、輝度成分によってパターンを形成しなければならないため、視覚的に目立ちやすい。パターンの形状および周波数成分によるものの、輝度成分の変化より、色成分の変化の方が視覚的に目立ちにくい傾向がある。例えば、RGB成分を持つカラー画像を、YCbCr、LabまたはYuvなどの色空間に変換して、輝度成分と色成分とに分ける。そして、輝度成分ではなく、色成分にマスクデータを適用することにより、視覚的に目立ちにくいパターンを形成することができる。また、例えば、RGBの成分を持つカラー画像において、パターンをつける5px×5pxの領域において赤色が支配的である場合には、赤成分によってパターンを付けることが好ましい。
【0049】
本実施形態においては、マスクデータを5px×5pxのブロックに分けて画像データに加算する。しかし、ブロックサイズの単位およびマスク形状は任意であり、マスクデータを画像データに組み込む方法として、加算、減算、乗算、および除算などを組み合わせてもよい。付加情報54が埋め込まれた画像の記録物を撮像した際に、マスクデータのパターンを区別することができる方法であれば、どのような方法を用いてもよい。したがって、多重化部56は、付加情報54が埋め込まれた画像データに基づく記録物を撮像した撮像画像において、付加情報54を抽出可能なように、付加情報54を画像データに埋め込むための処理部である。
【0050】
<多重化エンコード処理>
次に、多重化装置16における多重化エンコード処理、つまり、入力された画像データに対する付加情報の埋め込み処理の具体的な処理内容について説明する。
図9は、本実施形態による多重化エンコード処理の処理内容を示すフローチャートである。
図9のフローチャートで示される一連の処理は、CPU20がROM22に記憶されているプログラムコードをRAM24に展開して実行されることにより行われる。あるいはまた、
図9におけるステップの一部または全部の機能をASICまたは電子回路などのハードウェアで実行してもよい。
【0051】
多重化エンコード処理では、まず、記録用の画像データを取得する(S902)。即ち、S902では、まず、取得部30が、入力された画像データAからパラメータを取得する。その後、復元部32が、取得したパラメータを用いて、符号化された画像データAを復号する。例えば、画像データAは、カメラ付きモバイル端末(スマートフォン)により予め撮像して、JPEGフォーマットでモバイル端末内のメモリに保存されたデータである。取得部30では、取得したJPEGの画像データを解凍し、静止画の3色8ビットのRGB画像データを生成する。また、S902では、必要に応じて、画像補正部34が、取得した画像データに対する補正もしくは加工処理を行ってもよい。
【0052】
次に、多重化部56が、付加情報54を取得する(S904)。付加情報54は、例えば、スマートフォンにおいてキー入力されたテキスト文書データとする。テキスト文書データは、例えば、公知の文字コードシフトJISを利用して、数字および文字を数値に割り当てた数値データとする。
【0053】
そして、解像度変換部36が、選択された用紙サイズ(記録媒体のサイズ)および記録装置18の解像度に基づいて、取得した画像データAに対して解像度変換処理を施す(S906)。例えば、選択された用紙サイズが2Lの場合、記録装置18における入力解像度の画素数に合わせて、画像データAの解像度を変換する。具体的には、記録装置18における入力解像度を600dpiとした場合、例えば、用紙サイズ2Lの画素数を3000画素×4000画素に設定する。この場合、画素数が1500画素×2000画素の画像データに対しては、縦方向および横方向の画素数がそれぞれ2倍になるように解像度変換を行う。画像データのアスペクト比を変更させたくない場合に、縦方向および横方向の拡大および縮小率を同じにして解像度変換を行う。
【0054】
その後、多重化部56が、解像度変換処理後の画像データに対して付加情報54を埋め込む多重化処理を行う(S908)。そして、付加情報54が埋め込まれた画像データ、つまり、多重化処理された画像データは、適宜、色補正部38、インク色変換部42、濃度補正部46、階調変換部50で処理されて、生成された記録データが記録装置18に送信される(S910)。
【0055】
<多重化部のファームウェア構成>
ここで、多重化部56と、多重化部56で実行される多重化の処理について説明する。
図10は、多重化部56のファームウェア構成を示すブロック図である。多重化部56は、色空間変換部58、ブロック位置設定部60、数値化部62、パターン選択部64、および情報多重化部66を備えている。
【0056】
・色空間変換部
色空間変換部58は、解像度変換部36においてサイズが変更された画像データの色空間を、情報多重化のための色空間に変換する処理部である。例えば、下記(3)式のように、情報多重化を行う色空間を、YUVのUとし、画像データのRGBの色空間をYUVの色空間に変換する。
Y = 0.299×R + 0.587×G + 0.114×B
U =-0.169×R - 0.331×G + 0.500×B ・・・ (3)
V = 0.500×R - 0.419×G - 0.081×B
【0057】
・ブロック位置設定部
本実施形態では、記録する画像データを複数のブロック領域に分け、ブロック単位で各画素の濃度を変調させて、
図8(a)(b)のマスクデータに対応するパターンを形成させることにより、付加情報54を埋め込むようにしている。ブロック位置設定部60は、色空間変換部58で処理された画像データにおいて、指定された色のプレーン画像に対して、指定された1つのブロックのサイズに合わせて、ブロックの位置座標を設定する。例えば、YUVのU色のプレーン画像のサイズを縦幅640px、横幅480pxとし、ブロックサイズを縦幅5px、横幅5pxとする。この場合、縦ブロック数は128(640÷5)、横ブロック数は96(480÷5)、合計のブロック数は、12288(128×96)となる。例えば、各ブロックの左上座標をブロック位置と定めて設定する。
【0058】
・数値化部
数値化部62は、取得した付加情報54を、数値化したデータに変換する。例えば、付加情報54がシフトJISの文字列とする。この場合には、数値化部62は、シフトJISの形式によって文字と数値とが対応付けられた変換マップを予め保持しておき、その変換マップを用いて文字列を数値列に変換する。例えば、文字列「hello」の場合、変換後の数値化したデータは、「0110100001100101011011000110110001101111」となる。
【0059】
・パターン選択部
パターン選択部64は、ブロック単位で各画素の濃度変調を行うためのマスクパターンが登録されており、数値化部62によって数値化された付加情報54に対して適用すべきマスクパターンを選択する。
図11(a)(b)は、周波数特性が異なる
図8(a)(b)のマスクパターンを数値化した図である。
図8(a)および
図11(a)のパターンは、付加情報54におけるバイナリデータの「0」に対応し、
図8(b)および11(b)のパターンは、付加情報54におけるバイナリデータの「1」に対応する。
【0060】
・情報多重化部
情報多重化部66は、色空間変換部58で処理された画像データと、ブロック位置設定部60で設定された各ブロックの位置と、パターン選択部64で選択されたマスクパターンとを取得する。そして、これら取得した各情報から、画像データにマスクパターンを適用した画像データを生成する。
【0061】
上記のように、画像サイズを縦幅640px、横幅480pxとし、1ブロックのサイズを縦幅5px、横幅5pxとした場合、合計のブロック数は12288となる。付加情報54を読み取る際の記録画像の撮像では、必ずしも画像全体を撮像できるとは限らない。そのため、記録画像の一部を撮像した撮像画像からでも付加情報の抽出を可能とするために、同じ付加情報を記録画像中の複数個所に埋め込む。
【0062】
例えば、96ブロックを1つの付加情報とした場合、全ブロック数12288に対して、同じ付加情報を128(12288÷96)領域に分けて埋め込むことになる。したがって、画像データは128の領域に分けられ、それらのうちの1つの領域に対して、縦幅5px、横幅5pxを1ブロックとした96ブロックの付加情報が埋め込まれる。96ブロックを1つの付加情報として取り扱うことにより、96ビットの付加情報が設定できる。但し、96ビットの開始位置がわかるように、シフトJISにおいて文字として表現されていない「11111111」の8ビットを付加情報の先頭に含ませる。したがって、88(96-8)ビットのデータを、付加情報として自由に設定することができる。
【0063】
一方、画像データには、異なる複数の付加情報54を埋め込むこともできる。この場合、n個の付加情報54を埋め込むものとすると、各種類の付加情報54はそれぞれ、128/n箇所に埋め込まれる。例えば、4種類の付加情報54の場合、各付加情報54はそれぞれ、32(128÷4)個の領域に埋め込まれることとなる。なお、各種類の付加情報54には、先頭の「11111111」の8ビットの後に、その種類を判別可能とするための情報が付与される。例えば、4種類であれば「00」、「01」、「10」、「11」のいずれかが付与される。したがって、この場合、86(96-8-2)ビットのデータを、付加情報として自由に設定することができる。
【0064】
96ビット内に収まるデータは、数値化部62において数値化された付加情報の「0」、「1」の数値列であり、5px×5pxの1ブロックごとに数値が提起され、その数値に対応するマスクパターンが選択される。画像データにおける5px×5pxのブロックに、付加情報に対応するマスクパターンが埋め込まれる。例えば、画像データをYUVのU色プレーンとし、それを1ブロック(5px×5px)ごとに処理し、そのYUVのU色プレーンの値に
図11(a)(b)のマスクパターンの値を適用する。例えば、下記(4)式のように、マスクパターンの数値に応じてYUVのU色プレーンの値(U値)を加減算処理し、その加減算処理を行う基準値を「10」とする。
適用後のU値
= YUVのU値 + 基準値 × マスクパターンの数値 ・・・ (4)
【0065】
例えば、1ブロック内の1画素のU値が「20」であり、適用するマスクパターンの数値が「0」である場合には、上記(4)式より20+10×0=20となり、適用後のU値は「20」となる。また、1ブロック内の1画素のU値が「30」であり、適用するマスクパターンの数値が「2」の場合には、上記(4)式より30+10×2=50となり、適用後のU値は「50」となる。
【0066】
上記したように、本実施形態では、画素ごとに適用するマスクパターンの数値と、基準値とを掛け合わせた値を加算することによって、多重化を実現するようにしたが、これに限定されるものではない。即ち、マスクパターンの適用方法は、U色プレーン上にマスクパターンを埋め込むことができればよく、例えば、YUVのU値に、マスクパターンの数値を掛け合わせてもよい。
【0067】
<記録処理>
次に、多重化エンコード処理装置12で記録物Cを生成するまでの一連の処理となる記録処理について説明する。
図12は、多重化エンコード処理装置12での記憶処理の処理内容を示すフローチャートである。
【0068】
ユーザからの指示などにより、記録処理が開始されると、まず、多重化装置16の多重化部56が、多重化エンコード処理を行う(S1202)。上記したように、この多重化エンコード処理により、付加情報54が埋め込まれた画像データ(多重化画像データ)が取得される。次に、色補正部38が、多重化画像データに対して、適宜に色補正を施す(S1204)。その後、記録データを生成し(S1206)、生成された記録データが記録装置18に送信され、記録装置18において、当該記録データに基づく記録を行い(S1208)、記録処理を終了する。S1208の記録によって記録物Cが生成される。なお、S1206では、まず、インク色変換部42が、色補正後の多重化画像データをインク色の値に変換し、濃度補正部46が濃度を補正する。そして、階調変換部50が、濃度補正後の多重化画像データを階調数に変換して、記録データを生成することとなる。
【0069】
=多重化デコード処理装置=
次に、多重化デコード処理装置(情報処理装置)14について説明する。多重化デコード処理装置14では、多重化エンコード処理装置12で生成した記録物Cに記録された記録画像から付加情報Bを抽出し、抽出した付加情報Bを通知する。具体的には、多重化エンコード処理された画像データに基づいて記録された記録物Cに記録された記録画像を、カメラなどの撮像装置によって撮像して、撮像画像の画像データを解析することによって、画像に埋め込まれている付加情報Bを抽出して通知する。
【0070】
<ハードウェア構成>
まず、多重化デコード処理装置14のハードウェア構成について説明する。
図13は、多重化デコード処理装置14のハードウェア構成を示すブロック図である。多重化デコード処理装置14としては、例えば、撮像センサを保持するカメラ付きモバイル端末を用いることができる。以下の説明では、多重化デコード処理装置14として、上記モバイル端末を用いた場合について説明する。
【0071】
多重化デコード処理装置14は、記録物Cにおける記録画像を撮像可能な撮像センサ68と、撮像画像の画像データから付加情報54を抽出する分離装置70(第2情報処理装置)とを備えている。また、多重化デコード処理装置14は、CPU72、ROM74、RAM76、二次記憶装置78、ディスプレイ80、キー入力装置82、無線LAN84、およびスピーカー86を備えている。
【0072】
CPU72は、RAM76をワークエリアとしながら、ROM74に格納されたプログラムや各種パラメータにしたがって、演算、判定、および制御などを行う。ハードディスクなどの二次記憶装置78は、画像ファイルや画像解析結果を保存するデータベースなど、各種データを保存する。ディスプレイ80は、CPU72で実行される各種処理の結果などをユーザに提示する。キー入力装置82は、例えば、ディスプレイ80がタッチパネル機能を備えることで実現され、タッチパネルの操作によって処理の指示や設定、文字の入力などを行う。
【0073】
無線LAN(Local Area Network)84は、インターネットに接続されており、インターネットに接続されたサイトにアクセスして、ディスプレイ80にサイトの画面などを表示させる。無線LAN84は、データの送受信などにも用いられる。スピーカー86は、抽出された付加情報が音声データまたは音声付き動画データの場合に、音声を出力する。また、インターネットの接続先に動作データがある場合には、その動画データの再生時の音声を出力する。
【0074】
なお、多重化デコード処理装置14の構成については、上記のようなカメラ付きモバイル端末に限定されるものではない。即ち、付加情報を分離するための分離装置に対して、別体に設けられた撮像装置から撮像画像の画像データが送信される構成としてもよい。なお、この場合、分離装置には、例えば、スピーカーやディスプレイなど、抽出した付加情報を利用するための装置が接続される。また、この場合、撮像装置としては、例えば、デジタルカメラ、ビデオカメラなどを用いることができる。分離装置としては、例えば、パーソナルコンピュータ、スマートフォンなどを用いることができる。
【0075】
<ファームウェア構成>
次に、多重化デコード処理装置14のファームウェア構成について説明する。
図14は、多重化デコード処理装置14のファームウェア構成を示すブロック図である。多重化デコード処理装置14は、撮像センサ68において、撮像部88と、色調整部90とを備えている。また、多重化デコード処理装置14は、分離装置70において、検出部92と、分離部94と、解析部96とを備えている。本実施形態では、テキスト文書データ、音声データ、動画データなどの数値化された付加情報が、記録物Cにおける記録画像に埋め込まれている。
【0076】
以下の説明では、記録物Cにおける記録画像の全体に、異なる複数の付加情報が所定の領域ごとに繰り返し埋め込まれているものとして説明する。例えば、付加情報A、B、C、Dの4種類を、所定の領域ごとに繰り返し埋め込まれているものとする(
図15(b)参照)
【0077】
・撮像部
撮像部88は、撮像センサ68内の撮像素子によって、記録物Cの記録画像を撮像して画像データに変換する。
図15(a)は、記録物Cにおける記録画像の撮像を説明する図である。記録物Cに相当する記録媒体1502に、多重化エンコード処理された画像データに基づく記録画像1504が記録されている。多重化デコード処理装置14としてのカメラ付きモバイル端末1506によって、領域1508が撮像される。即ち、撮像部88は、モバイル端末1506によって、記録媒体1502における記録画像1504を含む領域1508を撮像する。
【0078】
撮像部88の撮像素子としては、例えば、CCDを用いることができる。CCDは、フォトダイオード(受光素子)により光を感知して、その光を電圧に変化させる。その際、撮像素子ごとに配置したRGBまたはCMYなどのカラーフィルタにより、光の色をデータとして変換させることができる。フォトダイオードの検出信号は、色調整部90に送信される。
【0079】
・色調整部
色調整部90は、撮像部88におけるフォトダイオードの出力データを1画素がRGB8ビットデータの画像データに変換する。画像データに変換する前に、撮像時の光源などに応じて、フォトダイオードの出力データに対してRGBなどの色の補間処理が行われる。この補間処理では、デジタルカメラおよびカメラ付きモバイル端末などを用いて撮像する際に、白い被写体を白く撮像できるように調整することになる。撮像部88は、太陽またはライトなどの光源から照射されて、被写体から反射された光をフォトダイオードによって検知するため、光源に応じて画像の色が異なることになる。したがって、色調整部90は光源に応じた補間処理を行う。
【0080】
一般的な補間処理の方法として、光源の色合いを示す色温度によって表現された光の色を数値化した単位のケルビン(K)を用いる方法がある。一般的に、昼間の太陽光は5500K、白熱電球は3000Kであり、色温度が高いと青く見え、低いと赤く見える。このため、光源に応じて撮像画像の色が異なることになる。一般に、デジタルカメラおよびカメラ付きモバイル端末などには、撮像する際にセンサにより色温度を検知して、白い被写体が白く撮像されるように自動的に調整する、所謂、オートホワイトバランス調整機能が搭載されている。また、太陽光または白熱電球などの光源に応じて、手動によりホワイトバランスを調整することもできる。
【0081】
色調整部90は、フォトダイオードの出力データに対して、ホワイトバランスが調整された画像データを生成する。色調整部90で処理された画像データは、分離装置70に送信される。
【0082】
・検出部
検出部92は、色調整部90によって色調整された画像データが入力され、その画像データの周波数特性を判定することによって、付加情報が埋め込まれている位置(多重化位置)を検出する。
図16(a)は、二次元の周波数領域における周波数特性の差を説明する図である。
図16(a)では、横軸は水平方向の周波数、縦軸は垂直方向の周波数、中心となる原点は直流成分を示し、原点から遠ざかるにつれて高周波域となる。本実施形態では、多重化処理により周波数特性が変化する。
【0083】
例えば、
図8(a)のマスクデータを適用したときの周波数特性の変化により、
図16(a)の直線l1上に大きなパワースペクトルが生じる。また、
図8(b)のマスクデータを適用したときの周波数特性の変化により、
図16(a)の直線l2上に大きなパワースペクトルが生じる。付加情報54の分離時には、多重化信号を判定するために、このような大きなパワースペクトルが発生する周波数ベクトルを検出する。そのため、各々の周波数ベクトルを個別に強調して抽出することが必要となる。
【0084】
そのために、
図11(a)(b)のマスクパターンと同様に周波数特性を持つHPF(ハイパスフィルタ)を用いることができる。
図11(a)のマスクパターンに対応する空間フィルタは、直線l1上の周波数ベクトルを強調することが可能である。
図11(b)のマスクパターンに対応する空間フィルタは、直線l2上の周波数ベクトルを強調することが可能である。
【0085】
例えば、
図11(a)のマスクパターンを適用する量子化条件により、直線l1の周波数ベクトル上に大きなパワースペクトルが発生したと仮定する。この場合、そのパワースペクトルの変化量は、
図11(a)のマスクパターンに対応する空間フィルタによって増幅されるものの、
図11(b)のマスクパターンに対応する空間フィルタによってはほとんど増幅されない。
【0086】
即ち、複数の空間フィルタを並列に用いてフィルタリングした場合、パワースペクトルは、周波数ベクトルが一致した空間フィルタによってのみ増幅され、それ以外の空間フィルタによってはほとんど増幅されない。したがって、パワースペクトルを増幅させた空間フィルタを特定することにより、いかなる周波数ベクトル上に大きなパワースペクトルが発生したかを判定することができる。このように、周波数特性を判定することにより、付加情報を抽出することは可能となる。しかしながら、周波数特性を判定する際に、付加情報の抽出位置がずれた場合には、正しく抽出することが難しくなる。
【0087】
図16(b)は、記録物における記録画像が形成された記録領域を説明する図である。記録物Cとしての記録媒体1502に記録された記録画像1504は、複数のブロック単位に多重化された領域1602を含み、当該領域1602に対して、特定の周波数特性を持つように付加情報が埋め込まれている。
【0088】
図17(a)(b)は、周波数特性を判定する際の検出位置を説明するための図である。記録画像1700は、4つのブロックにおいて多重化されているものとする。領域1702、1704は、ブロック単位で周波数特性を判定する領域を示す。
図17(a)では、領域1702が多重化されたブロックの位置とずれていることを示す。
図17(b)では、領域1704が多重化されたブロックの位置と合致していることを示す。この場合、領域1704では、周波数特性を正しく判定すること可能だが、領域1702では、特定の周波数ベクトルのパワースペクトルが下がってしまい、周波数特性を正しく判定することが難しい。
【0089】
検出部92は、特定の周波数ベクトルのパワースペクトルが強いか弱いかに基づいて、ブロック位置を検出する。そこで、検出部92は、撮像画像の画像データに対し、ブロック位置、つまり、ブロック単位の周波数特性の判定領域をずらしながら、周波数特性の判定を行い、多重化されたブロックの位置を検出する。
【0090】
・分離部
分離部94は、検出部92で検出したブロックの位置を基準として、そのブロック単位の周波数特性の判定結果を利用して、多重化されている付加情報を抽出する。例えば、記録物Cとしての記録媒体1502に、複数種類の付加情報が多重化されて配置されているとする。各種類の付加情報は、ブロック数が126ブロック(横12ブロック×縦9ブロック)とする。この条件で、カメラ付きモバイル端末1506により撮像された撮像画像は、例えば、
図18のようになる。
【0091】
図18は、
図15(a)のように、記録物Cにおける記録画像1504を、カメラ付きモバイル端末1506によって撮像した撮像画像1701を示す。
図18では、撮像画像1802は、撮像された撮像画像を示し、ブロック1804は、多重化されるブロックを示す。撮像画像1802では、種類の異なる2つの付加情報については全ブロックが含まれ、また、4つの付加情報については一部のブロックのみが含まれている。
【0092】
1種類の付加情報が埋め込まれているブロック群の各ブロックに、多重化エンコード処理によって付加情報の「0」と「1」とが埋め込まれている。このため、ブロックごとの周波数ベクトルに基づいて、ブロックごとに埋め込まれている付加情報を判定する。即ち、直線l1(
図16(a)参照)の周波数ベクトルが所定の閾値を超えるブロックに関しては、そのブロックに埋め込まれている付加情報は「0」であると判定する。また、直線l2(
図16(a)参照)の周波数ベクトルが所定の閾値を超えるブロックに関しては、そのブロックに埋め込まれている付加情報は「1」であると判定する。
【0093】
・解析部
解析部96は、分離部94で付加情報として分離した数値列を解析し、元々の埋め込んだ付加情報の形式に変換する。例えば、予め、多重化する付加情報を、テキスト文書データとして、文字コードを「シフトJIS」で数値化した値であるとする。シフトJISの1倍とコード(半角文字)では、上位4ビットと下位4ビットとの組み合わせで、数値および文字に対応した変換を行える。例えば、上位4ビットが「0100」で、下位4ビットが「0001」の場合、この数値列は文字「A」と判定される。
【0094】
このように、変換マップを予め保持しておき、この変換マップと数値列とを対応させることで、数値列を文字へと変換することができる。 付加情報として分離した数値列は、RAM76に、一時的に保持しておき、二次記憶装置78に予め保持していた「シフトJIS」変換マップを参照可能なようにしておく。
【0095】
例えば、分離部94で分離した付加情報の数値列が、「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」が抽出される。
【0096】
付加情報を抽出すると、例えば、抽出された文字列をディスプレイ80で表示して通知する。また、抽出された文字列がURL(Uniform Resource Locator)である場合、無線LAN84でネットワークに接続し、ブラウザを利用して、ディスプレイ80にURL先の画面を表示して通知する。また、そのURLが動画サイトであった場合、ディスプレイ80で動画を表示し、スピーカー86で音声を出力して通知する。
【0097】
このように、本実施形態では、検出部92、分離部94、および解析部96(つまり、分離装置70)が、付加情報を抽出する抽出部として機能している。また、解析部96は、付加情報を通知する通知部として機能している。なお、詳細は後述するが、解析部96は、抽出した付加情報がある場合には、抽出した付加情報をディスプレイ80に選択可能に表示する。そして、解析部96は、ディスプレイ80に表示された複数の付加情報のうち、ユーザに選択された付加情報を選択して通知することとなる。即ち、本実施形態では、解析部96が、抽出した複数の付加情報を表示するようディスプレイ80の表示内容を制御する表示制御部として機能している。さらに、解析部96が、複数の付加情報の中から所定の付加情報を選択する選択部として機能している。
【0098】
<多重化デコード処理>
次に、多重化デコード処理装置14における多重化デコード処理、つまり、記録物Cの記録画像に埋め込まれた付加情報の抽出処理の具体的な処理内容について説明する。
図19は、本実施形態による多重化デコード処理の処理内容を示すフローチャートである。
図19のフローチャートで示される一連の処理は、CPU72がROM74に記憶されているプログラムコードをRAM76に展開して実行されることにより行われる。あるいはまた、
図19におけるステップの一部または全部の機能をASICまたは電子回路などのハードウェアで実行してもよい。
【0099】
多重化デコード処理が開始されると、まず、多重化された記録物Cにおける記録画像を撮像した撮像画像を取得する(S1902)。即ち、1902では、ユーザによる操作により、撮像部88が、当該記録画像を撮像する。あるいは、多重化デコード処理装置14に接続された撮像装置(不図示)などから出力された当該記録画像を撮像した撮像画像を取得する。取得した撮像画像は、撮像の際に取得した、撮像された光が色データ値に変換されたセンサ値とともに、色調整部90に送信される。
【0100】
次に、色調整部90が、取得した撮像画像の色調整を行う(S1904)。色調整部90は、撮像部88から色データ値を受信し、ホワイトバランス調整を行い、ホワイトバランス調整された色データを画像データとして生成する。色調整部90は、生成した画像データを分離装置70に送信する。もしくは、生成した画像データは、二次記憶装置78に保存される。
【0101】
そして、検出部92は、色調整部90でホワイトバランス調整した画像データを、色調整部90から受信、もしくは、二次記憶装置78から取得し、当該画像データに対して、周波数特性の判定を行い、多重化されている位置を検出する(S1906)。
【0102】
その後、CPU72が、検出部92により、画像データから多重化されている位置を検出できたか否かを判定する(S1908)。検出できなかったと判定されると、S1902に戻る。一方、検出できたと判定されると、分離部94が、色調整部90で生成された画像データと、検出部92で検出された多重化されている位置とに基づき周波数特性を判定した結果を用いて、多重化されている付加情報を数値データとして抽出する(S1910)。分離部94は、抽出した数値データを解析部96へ送信する。もしくは、RAM76に一時的に保存し、解析部96へ、その旨を通知する。
【0103】
次に、解析部96は、分離した付加情報に相当する数値データを取得し、数値データを解析し、その数値データを文字などの付加情報に変換する(S1912)。そして、CPU72は、解析部96で抽出したすべての数値データからの付加情報の取得を完了したか否かを判定する(S1914)。すべての数値データからの付加情報の取得を完了していないと判定されると、S1902に戻る。また、すべての数値データからの付加情報の取得を完了したと判定されると、この多重化デコード処理を終了する。
【0104】
多重化された画像データに基づく記録画像から付加情報を抽出できた場合には、後述する通知処理を経て、ディスプレイ80などに、結果を表示したり、ネットワークにアクセスしたりする。多重化された記録画像から付加情報を抽出できなかった場合には、例えば、撮像された撮像画像が、付加情報を抽出できるだけの領域を含んでいないことなどが考えられる。この場合、付加情報の一部しか抽出できなかったためにデータが完全でなく、再度撮像し直す必要がある。
【0105】
付加情報を抽出できているか否かの判定を行うために、例えば、付加情報自体に、付加情報のデータ量を示す値を含めておいてもよい。そして、データ量を抽出することで、付加情報のデータ量を判定するようにしてもよい。データ量であるか文字データであるかを判定する場合には、例えば、予め、数値列の組み合わせを決めておき、その数値列の直後の数ビットをデータ量と決めておけば、データ量を抽出することが可能となる。
【0106】
付加情報の一部しか抽出できない場合、例えば、抽出できた内容分を二次記憶装置78に保存しておき、追加で抽出できた際に、付加情報を結合してもよい。つまり、複数回に分けて付加情報を抽出するようにしてもよい。また、S1914で、抽出データ取得の完了の判定を行ったが、抽出できた付加情報からディスプレイ80などに表示させるようにしてもよい。
【0107】
<付加情報の通知>
ここで、多重化デコード処理で抽出した付加情報の、ユーザへの通知について説明する。多重化デコード処理装置14では、多重化デコード処理により付加情報の抽出が完了すると、抽出した付加情報を通知する通知処理が実行される。
図20は、通知処理の処理内容を示すフローチャートである。
図20のフローチャートで示される一連の処理は、CPU72がROM74に記憶されているプログラムコードをRAM76に展開して実行されることにより行われる。あるいはまた、
図20におけるステップの一部または全部の機能をASICまたは電子回路などのハードウェアで実行してもよい。
【0108】
通知処理では、まず、解析部96が、多重化デコード処理で抽出した付加情報を取得する(S2002)。S2002では、多重化デコード処理で抽出された付加情報のすべての付加情報を取得することとなる。即ち、多重化デコード処理により、複数の付加情報が取得された場合には、S2002では、多重化デコード処理で抽出された複数の付加情報を取得することとなる。
【0109】
次に、解析部96は、取得した付加情報が複数であるか否かを判定し(S2004)、付加情報が複数でない、つまり、1つであると判定されると、取得した付加情報に基づく通知を行い(S2006)、この通知処理を終了する。即ち、S2006では、取得した付加情報が、テキスト情報であればディスプレイ80に文字列を表示させ、付加情報がURLであればディスプレイ80にURL先の画面を表示させるとともに、必要に応じてスピーカーから音声を出力させる。
【0110】
また、S2004において、付加情報が複数であると判定されると、解析部96は、取得した複数の付加情報に関する情報を、ディスプレイ80において選択可能に表示する(S2008)。即ち、S2008では、ディスプレイ80において、ユーザに対して付加情報の数が明確になり、かつ、ユーザが選択できるように表示される。具体的には、例えば、付加情報に関する情報にそれぞれ番号を付して、当該番号を選択できるように表示する。あるいは、付加情報に関する情報を並べて、当該情報を選択可能に表示する。あるいは、リストボックスなどで付加情報に関する情報をリスト化して表示する。
【0111】
付加情報に関する情報とは、取得した複数の付加情報を区別可能な情報であればよく、例えば、付加情報がテキスト文書データであればテキスト文書である旨を示す情報であり、また、付加情報がURLであればURLである旨を示す情報となる。なお、付加情報に関する情報には、付加情報そのものを含まれるようにしてもよい。従って、テキスト文書データであれば、当該データが表す文字列などを表示するようにしてもよい。
【0112】
S2008での付加情報に関する情報の表示については、上記した例に限定されるものではなく、付加情報の数が明確になり、かつ、付加情報を選択可能であれば、どのような形態で表示されてもよい。また、S2008では、付加情報に関する情報の表示とともに、表示された複数の情報の中から、所望の情報を選択するよう促す通知を、ディスプレイ80などを介して通知してもよい。
【0113】
ディスプレイ80に複数の付加情報に関する情報を選択可能に表示すると、次に、解析部96は、表示されている付加情報に関する情報が選択されたか否かを判定する(S2010)。本実施形態では、ディスプレイ80に表示された付加情報に関する情報は、キー入力装置82を介してユーザが選択可能となっている。従って、S2010では、キー入力装置82の操作により、表示された付加情報に関する情報が選択されたか否かを判定することとなる。なお、S2010は、例えば、付加情報に関する情報が選択されたと判定されるまで繰り返し実行される。この場合、上記判定を所定時間だけ実行すると、ユーザによる選択が行われなかったと判定し、この通知処理を終了するようにしてもよい。
【0114】
S2010において、付加情報に関する情報が選択されたと判定されると、選択された付加情報に関する情報に対応する付加情報に基づく通知を行い(S2012)、この通知処理を終了する。即ち、S2012では、選択された付加情報に関する情報に対応する付加情報が、テキスト情報であればディスプレイ80にテキストを表示させ、付加情報がURLであればディスプレイ80にURL先の画面を表示させる。このとき、必要に応じてスピーカーから音声を出力させる。
【0115】
=本実施形態の効果=
以上において説明したように、第1実施形態による情報処理システム10では、記録画像に含まれる複数の付加情報を抽出すると、抽出した付加情報に関する情報を選択可能に表示するようにした。そして、ユーザによる付加情報に関する情報の選択に応じて、選択された情報に対応する付加情報に基づく通知を実行するようにした。これにより、情報処理システム10では、抽出した付加情報をユーザが適切に利用することができるようになる。
【0116】
(第2実施形態)
次に、
図21を参照しながら、第2実施形態による情報処理システムについて説明する。なお、以下の説明では、上記した第1実施形態と同一または相当する構成については、第1実施形態に用いた符号と同一の符号を用いることにより、その詳細な説明を省略する。
【0117】
この第2実施形態による情報処理システムでは、抽出された付加情報に関する情報を表示する際に、同じ付加情報に対応する情報を表示しないようにした点において、上記第1実施形態による情報処理システムと異なっている。
【0118】
カメラ付きのモバイル端末などで、付加情報を埋め込んだ記録物Cにおける記録画像を撮像する場合は、当該モバイル端末をかざす位置、つまり、当該モバイル端末の撮像位置によって、埋め込まれている付加情報が異なってしまう。付加情報を確実に抽出するためには、記録画像において、同じ付加情報を複数の領域に埋め込む。そして、モバイル端末の撮像位置を変更しながら、多重化デコード処理を繰り返すことにより、付加情報を確実に抽出することができるようになる。
【0119】
しかしながら、モバイル端末での撮像位置を変更しながら、多重化デコード処理を繰り返す場合、同じ付加情報を何度も抽出してしまう。このため、ディスプレイ80で抽出した付加情報を選択可能に表示する際に、抽出した付加情報をすべて表示すると、ディスプレイ80では、同じ情報が繰り返し表示され、表示される情報量が多くなり、ユーザが所望の付加情報を選択し難くなる。
【0120】
そこで、本実施形態では、撮像位置を変更しながら多重化デコード処理を繰り返す際に、抽出された付加情報について、まだ表示されていない付加情報についてのみ、ディスプレイ80に表示するようにした。以下の説明では、上記第1実施形態による情報処理システム10と異なる部分について詳細に説明し、同じ部分についてはその説明を省略する。
【0121】
=多重化デコード処理装置=
<付加情報の通知>
図21は、第2実施形態による情報処理システム10における、多重化デコード処理後に実行される通知処理の処理内容を示すフローチャートである。
図21は、通知処理の処理内容を示すフローチャートである。
図21のフローチャートで示される一連の処理は、CPU72がROM74に記憶されているプログラムコードをRAM76に展開して実行されることにより行われる。あるいはまた、
図21におけるステップの一部または全部の機能をASICまたは電子回路などのハードウェアで実行してもよい。
【0122】
図21の通知処理では、まず、多重化デコード処理で抽出した付加情報を取得する(S2102)。そして、取得した付加情報が複数であるか否かを判定し(S2104)、付加情報が複数でないと判定されると、後述するS2110に進む。なお、S2102、S2104の具体的な処理内容は、上記S2002、S2004と同じである。また、S2104において、付加情報が複数であると判定されると、解析部96は、S2102で取得した複数の付加情報の中で、互いに一致する付加情報があるか否かを判定する(S2106)。
【0123】
S2106において、互いに一致する付加情報がないと判定されると、後述するS2110に進む。また、S2106において、互いに一致する付加情報があると判定されると、解析部96は、互いに一致する付加情報を1つの付加情報とみなし(S2108)、S2110に進み、付加情報に関する情報を、ディスプレイ80において選択可能に表示する。S2110では、上記S2008と同様にして付加情報に関する情報が表示されることとなる。具体的には、付加情報が1つであれば、その付加情報のみがディスプレイ80に選択可能に表示される。また、付加情報が複数であれば、すべての付加情報がディスプレイ80に選択可能に表示される。また、既に付加情報が表示されている場合には、表示されている付加情報に追加して、新たな付加情報がディスプレイ80に選択可能に表示される。また、S2110では、情報が表示された付加情報を、例えば、RAM76に保存する。
【0124】
次に、解析部96は、表示されている付加情報に関する方法が選択されたか否かを判定する(S2112)。S2112の具体的な処理内容は上記2010と一致する。S2112において、付加情報に関する情報が選択されたと判定されると、選択された付加情報に関する情報に対応する付加情報に基づく通知を行い(S2114)、この通知処理を終了する。なお、S2114の具体的な処理内容は上記S2012と一致する。また、S2112において、付加情報に関する情報が選択されていないと判定されると、多重化デコード処理を実行する(S2116)。即ち、S2116では、
図19に示す多重化デコード処理が実行される。このとき、例えば、ユーザに対して、撮像領域の異なる撮像画像の取得を促す通知を行い、撮像された撮像画像に基づく多重化デコード処理が実行される。
【0125】
S2116での多重化デコード処理が終了すると、次に、解析部96は、当該多重化デコード処理で抽出した付加情報を取得する(S2118)。そして、解析部96は、取得した付加情報が複数であるか否かを判定し(S2120)、付加情報が複数でないと判定されると、後述するS2126に進む。なお、S2118、S2120の具体的な処理内容は、上記S2002、S2004と同じである。また、S2118において、付加情報が複数であると判定されると、解析部96は、S2118で取得した付加情報において、互いに一致する付加情報があるか否かを判定する(S2122)。S2122において、互いに一致する付加情報がないと判定されると、後述するS2124に進む。また、S2122において、互いに一致する付加情報があると判定されると、解析部96は、互いに一致する付加情報を1つの付加情報とみなす(S2124)。その後、S2126に進み、解析部96は、S2116での多重化デコード処理で取得した付加情報(S2124での処理済み)のうち、ディスプレイ80に表示された付加情報があるか否かを判定する。
【0126】
S2126では、S2116の多重化デコード処理で取得した付加情報と、RAM76に保存されている付加情報とを比較することで、ディスプレイ80に表示された付加情報があるか否かを判定する。S2126において、取得した付加情報が、RAM76に保存された付加情報に含まれていない、つまり、ディスプレイ80に表示された付加情報でないと判定されると、S2110に進み、取得された付加情報をディスプレイ80において選択可能に追加表示する。また、S2126において、取得された付加情報が、RAM76に保存された付加情報に含まれている、つまり、ディスプレイ80に表示された付加情報があると判定されると、ディスプレイ80に表示されていない付加情報を取得する(S2128)。その後、S2110に進み、S2128で取得した付加情報を、ディスプレイ80において選択可能に追加表示する。
【0127】
=本実施形態の効果=
以上において説明したように、第2実施形態による情報処理システム10では、多重化デコード処理を繰り返し行って、当該多重化デコード処理で取得した付加情報に関する情報を、ディスプレイ80に選択可能に表示した。なお、ディスプレイ80に表示する付加情報に関する情報については、既に表示されている付加情報に関する情報は除外し、まだ表示されていない付加情報に関する情報を追加して表示するようにした。これにより、ディスプレイ80に表示される付加情報に関する情報が簡素化され、ユーザが所望の付加情報に関する情報を選択し易くなる。
【0128】
(他の実施形態)
なお、上記した実施形態は、以下の(1)乃至(8)に示すように変形してもよい。
【0129】
(1)上記実施形態では、多重化デコード処理で取得した付加情報に関する情報を、ディスプレイ80に選択可能に表示させ、ユーザによる選択に応じて、付加情報を通知するようにしたが、これに限定されるものではない。即ち、所定の条件を設定しておき、当該所定の条件を満たす付加情報を通知するようにしてもよい。例えば、所定の条件として、付加情報の種類を設定する。具体的には、テキスト文書データを選択するテキスト表示モードに設定すると、URLなどの付加情報は選択されずに、テキスト文書データとなる付加情報が自動的に選択されてディスプレイ80に当該テキスト文書データに基づく文字列が表示される。
【0130】
(2)上記実施形態では特に記載しなかったが、ディスプレイ80に選択可能に表示された付加情報に関する情報は、1つだけ選択可能としてもよいし、チェックボックスなどを用いて、複数を選択可能なようにしてもよい。また、上記実施形態では特に記載しなかったが、ディスプレイ80に表示される付加情報に関する情報は、例えば、付加情報が抽出された順に表示するようにしてもよい。
【0131】
(3)上記実施形態では特に記載しなかったが、付加情報に、優先度に関する情報を埋め込み、当該優先度に関する情報に基づいて、ディスプレイ80における付加情報に関する情報の表示順序が決定されるようにしてもよい。または、当該優先度に関する情報に基づいて、抽出された付加情報の中から、通知すべき付加情報を自動的に選択し通知するようにしてもよい。
【0132】
また、上記実施形態では特に記載しなかったが、付加情報の種類ごとに優先度を設定し、設定された優先度に基づいて、ディスプレイ80において、付加情報の種類ごとに、抽出された順に付加情報に関する情報を表示するようにしてもよい。または、設定された優先度に基づいて、抽出された付加情報の中から、通知すべき付加情報を自動的に選択し通知するようにしてもよい。
【0133】
優先度については、例えば、付加情報のデータサイズ、データの簡単さに応じて決定される。そして、例えば、容易に表示可能なほど優先度が高くなる。具体的には、データサイズが小さいほど優先度が高く、また、動画データ、テキストデータであれば、テキストデータの方が、優先度が高くなる。
【0134】
(4)上記実施形態では特に記載しなかったが付加情報に、付加情報が埋め込まれる位置に関する情報を埋め込み、付加情報に関する情報とともに、当該付加情報に埋め込まれた位置に関する情報をディスプレイ80に表示するようにしてもよい。位置に関する情報としては、例えば、座標値、上下左右など、記録画像における位置を限定可能な情報であればよく、回転している場合には回転の有無を含むようにしてもよい。これにより、記録画像において、付加情報が埋め込まれている位置に意味のある場合に、ユーザがより適切に所望の付加情報を選択することができるようになる。
【0135】
(5)上記実施形態では特に記載しなかったが、予めオブジェクトを設定しておき、付加情報にオブジェクトに関する情報を埋め込む。そして、抽出された複数の付加情報のうち、設定されているオブジェクトに関する情報を含む付加情報を、優先的に選択して通知するようにしてもよい。また、撮像画像からオブジェクトを認識し、抽出された複数の付加情報の中から、認識されたオブジェクトに関する情報を含む付加情報を、優先的に選択して通知するようにしてもよい。なお、オブジェクトとしては、例えば、人物情報であり、父、母、子供などである。
【0136】
(6)上記実施形態では、多重化エンコード処理装置12を、多重化装置16と記録装置18とにより構成するようにしたが、これに限定されるものではない。即ち、多重化エンコード処理装置12は、画像データに付加情報を埋め込むことが可能な多重化部と、当該多重化部で付加情報が埋め込まれた画像データに基づいて記録可能な記録部とを備えた構成としてもよい。
【0137】
(7)本発明は、上記実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【0138】
(8)上記実施形態および上記した(1)乃至(7)に示す各種の形態は、適宜に組み合わせるようにしてもよい。
【符号の説明】
【0139】
10 情報処理システム
70 分離装置
92 検出部
94 分離部
96 解析部