JP6635741B2 - 画像処理装置及び制御方法 - Google Patents

画像処理装置及び制御方法 Download PDF

Info

Publication number
JP6635741B2
JP6635741B2 JP2015198931A JP2015198931A JP6635741B2 JP 6635741 B2 JP6635741 B2 JP 6635741B2 JP 2015198931 A JP2015198931 A JP 2015198931A JP 2015198931 A JP2015198931 A JP 2015198931A JP 6635741 B2 JP6635741 B2 JP 6635741B2
Authority
JP
Japan
Prior art keywords
additional information
image
image data
photographing
multiplexed
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.)
Active
Application number
JP2015198931A
Other languages
English (en)
Other versions
JP2017073653A (ja
JP2017073653A5 (ja
Inventor
火韋 宋
火韋 宋
三宅 信孝
信孝 三宅
祐樹 石田
祐樹 石田
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 JP2015198931A priority Critical patent/JP6635741B2/ja
Priority to US15/278,741 priority patent/US10412265B2/en
Publication of JP2017073653A publication Critical patent/JP2017073653A/ja
Publication of JP2017073653A5 publication Critical patent/JP2017073653A5/ja
Application granted granted Critical
Publication of JP6635741B2 publication Critical patent/JP6635741B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Editing Of Facsimile Originals (AREA)
  • Image Processing (AREA)
  • Television Systems (AREA)

Description

本発明は、画像処理装置および画像処理方法に関する。特に、画像情報中に、該画像情報とは別の情報、例えば音声情報やテキスト文書情報、画像に関する諸情報など全く別の画像情報を付加情報として、視覚的に目立たぬように埋め込まれた印字物から、該付加情報を撮像媒体で読み出す画像処理に関する。
近年では、付加情報を多重化した印刷物を携帯端末で複数回撮影する。そして、その複数枚の撮影画像の解析結果をマージすることにより携帯端末の手ぶれ等のランダムノイズの影響を抑え、最終的に印刷物の付加情報を正確に取得することが可能になりつつある(例えば特許文献1)。
特開2006−50043号公報
従来の手法では、手ぶれ等のランダムノイズは撮影画像毎にランダムに異なる場所に存在するため、複数枚の撮影画像の解析結果をマージすることにより、ランダムノイズの影響を抑えることは出来た。例えば、複数枚のいずれか一つからでも多重化された付加情報の一部を取得できれば、複数枚の画像から逆多重化して得た付加情報をマージして、付加情報全体を得ることができる。しかしながら、携帯端末のライトの写りこみやレンズ収差等に起因する定常的なノイズは撮影画像毎に場所が変わることなく存在し続ける。そのため、従来の複数枚の撮影画像のマージだけでは、結局マージ後の画像にも同じ位置にノイズが発生することになるため、ユーザの意図しない付加情報が取得されるおそれがあった。
本発明は上記課題に鑑みてなされたもので、定常的ノイズを考慮した画像処理装置、画像処理方法及びプログラムを提供することを目的とする。
上記目的を達成するために、本発明の画像処理装置は、画像処理装置であって、
付加情報が多重化された画像が複数の撮影条件で撮影されることによりそれぞれの画像データを取得する取得手段と、
前記複数の撮影条件それぞれの画像データから多重化された付加情報を抽出する抽出手段と、
前記複数の撮影条件それぞれの画像データから抽出された付加情報を評価する評価手段と、
前記評価手段による評価に基づいて、採用可能と判定された付加情報を採用する採用手段と
前記採用手段により採用可能と判定されない付加情報が存在する場合、前記それぞれの画像データにおいて採用可能と判定されない付加情報が多重化されている領域に基づいて前記画像処理装置の移動方向と移動量を決定する決定手段と、
前記決定された移動方向と移動量に基づくメッセージを通知する通知手段とを有する。
本発明によれば、複数枚画像の解析結果をマージすることにより、正確な付加情報の取得ができる技術を提供することができる。
実施形態の付加情報多重化装置と付加情報分離装置の全体外観図である。 図1の付加情報多重化装置を示す要部ブロック図である。 量子化手段の詳細を示すブロック図である。 印字物作成の動作手順を示すフローチャートである。 紙面上の電子透かし重畳領域を説明した図である。 量子化閾値の変化の周期を説明した図である。 付加情報多重化装置を示す要部ブロック図である。 撮影された画像内での画像の傾きの説明する図である。 空間フィルタの例を示す図である。 周波数領域を説明した図である。 電子透かし復号の動作手順を示すフローチャートである。 画素特定方法の例を示す図である。 画素特定方法の例を示す図である。 カメラの撮影による定常的ノイズの例を示す図である。 定常的ノイズを抑えることを示すフローチャートである。 撮影条件を設定することにより、定常的ノイズを抑える具体例を示す図である。 定常的ノイズを抑えることを示すフローチャートである。 定常的ノイズを抑える具体例を示す図である。 定常的ノイズを抑えることを示すフローチャートである。 定常的ノイズを抑える具体例を示す図である。
以下、図面を参照して本発明に係る好適な実施形態を詳細に説明する。尚、実施形態における画像処理システムは、付加情報を印字物に埋め込む付加情報多重化装置102と、プリンタ103、該付加情報を印字物から読み取る付加情報分離装置を含むカメラ付携帯端末104で構成される。なお、本実施形態では、こうした撮像デバイスをカメラ付携帯端末と呼ぶ。なお実施形態等では用語「印字」あるいは「印字物」を用いているが、印刷されたオブジェクトが文字のみとは限らない。写真や線画などの他のオブジェクトも含めて「印字」あるいは「印字物」と称しており、それぞれを「印刷」や「印刷物」あるいは「出力」や「出力物」と言い替えることもできる。
(第1の実施形態)
図1は、第1の実施形態の画像処理システムの構成を示すブロック図である。入力端子100からは多階調の画像情報が、入力端子101からは、画像情報の中に埋め込むべき付加情報が入力される。この付加情報は、画像情報とは別の情報であり、例えば音声情報や動画情報、テキスト文書情報などが挙げられる。付加情報多重化装置102は、視覚的に判別しづらいように、画像情報中に付加情報を埋め込む。この付加情報多重化装置102は、付加情報の多重化とともに、入力した多階調の画像情報の量子化も実行する。
プリンタ103は、付加情報多重化装置102で作成された情報をプリンタエンジンにて媒体上に可視化し、印字物として出力する。プリンタ103は、インクジェットプリンタ、レーザープリンタ等、疑似階調処理を用いることにより階調表現を実現するプリンタを想定する。
出力された印字物上の画像は、カメラ付携帯端末104の撮像センサ105を用いて読みとり、付加情報分離装置106によって、印字物に印刷された画像中に埋め込まれた付加情報(多重化データ)を分離し、出力端子107に出力する。この出力端子107は、取得した付加情報を出力するインターフェイスであり、例えば音声情報であればスピーカー108への出力となり、画像情報であればディスプレイ109への出力となる。また、出力端子107は外部デバイスへデータを出力するインターフェイスでも構わない。また、カメラ付携帯端末104に複数の撮像センサがある場合、印字物の撮影は第二撮像センサ111で行ってもよい。またカメラ付携帯端末104は制御部120を有する。制御部120は、たとえばカメラの光学系の焦点位置や撮影用のライトなどをユーザの操作に従って、あるいは予め与えられた設定に従って調整する。
<付加情報多重化装置102の構成>
図2は、図1の付加情報多重化装置102の構成を示すブロック図である。
誤差拡散部200は、入力端子100より入力された画像情報を、誤差拡散法を用いた疑似階調処理することによって、入力階調数よりも少ない量子化レベルに変換し、複数画素の量子化値によって面積的に階調性を表現する。誤差拡散処理についての詳細は後述する。
ブロック化部201は、入力された画像情報を所定領域単位に区分する。量子化条件制御部202は、ブロック化部201にてブロック化した領域単位で量子化条件を変更し、制御する。量子化条件制御部202は、入力端子101から入力された付加情報に基づき、ブロック単位で量子化条件を制御する。量子化条件制御部202により制御され、出力される量子化条件には例えば量子化閾値を含む。2値化の場合には量子化閾値は1つであるが、多値化の場合には、量子化後の階調数に応じた数の閾値が出力される。また、階調数を量子化条件に含めてもよい。
制御部210は、CPU211、ROM212、RAM213などを含む。CPU211は、ROM212に保持された制御プログラムを実行して、上述した各構成たとえば誤差拡散部200、量子化条件制御部202の動作、及び処理を制御する。RAM213は、CPU211の作業領域として使用される。また上述したブロックは制御部210により制御されるハードウエアであってもよいが、制御部210によるプログラムの実行で実現される論理的な機能ブロックであってもよい。
<誤差拡散部200の構成>
図3は、誤差拡散部200の詳細を表すブロック図である。本実施形態では、量子化値が2値である誤差拡散処理を例にして説明する。
加算器300は、入力された画像情報の注目画素値と既に2値化された周辺画素の分配された量子化誤差とを加算する。量子化条件制御部202からの量子化閾値と、加算器300によって誤差が加算された画素値とを比較部301にて比較し、量子化閾値よりも大きい場合には"1"を、それ以外では"0"を出力する。例えば、8ビットの精度で画素の階調を表現する場合には、最大値である"255"と最小値である"0"で表現するのが一般的である。
量子化値が"1"(すなわち255)の時に、紙上にドット(インク、トナー等)が印字されると仮定する。減算器302は、量子化結果と、前述した注目画素値と分配された誤差との加算結果との誤差すなわち量子化誤差を算出し、誤差配分演算部303に基づいて、今後の量子化処理が施される周辺画素に誤差を配分する。誤差の配分割合は注目画素とその周辺画素との相対的な距離に基づいて実験的に設定された誤差の配分テーブル304を予め所有している。誤差配分演算部303は、配分テーブル304に記された配分割合に基づいて、減算器302により得られた量子化誤差を分配する。図3の配分テーブル304は、注目画素の周囲8画素のうち、量子化されていない4画素分の配分テーブルを示しているが、これに限るものではない。
<量子化条件制御部および誤差拡散部による処理手順>
次に量子化条件制御部202を含む全体の動作手順について、図4のフローチャートを基に説明する。いま、量子化値は2値である例について述べる。なお、図4のフローチャートは、CPU211が、フローチャートに関するプログラムを読み出して実行することで実現される。
S401では、制御部210が変数iの初期化を行う。変数iは処理対象の画素すなわち注目画素の垂直方向のアドレスをカウントする変数である。
S402では、制御部210が変数jの初期化を行う。変数jは注目画素の水平方向のアドレスをカウントする変数である。
続いてS403は、制御部210が、現在の注目画素のアドレスである座標(i、j)が、多重化処理を実行すべき領域に属しているか否かを判定している。
図5を基に多重化領域について説明する。図5は、水平画素数がWIDTH、垂直画素数がHEIGHTから成る、ひとつの画像を示している。画像の左上を原点とし、横N画素、縦M画素のブロックで画像をブロック化する。本実施形態では、原点を基準点としてブロック化を行うが、原点から離れた点を基準点として設定しても良い。この画像中に最大限の情報を多重化する場合に、N×Mのブロックを基準点から配置していく。すなわち、水平方向に配置可能なブロック数をW、垂直方向に配置可能なブロック数をHとすると、以下の関係になる。
W = INT(WIDTH / N) ...式1
H = INT(HEIGHT / M) ...式2
但し、INT( )は( )内の値の整数部分を示す。
式1、式2において割り切れない剰余画素数が、N×Mのブロックを画像中に複数配置した時の端部に相当し、付加情報を多重化する領域の外、すなわち符号多重化領域外となる。図4のS403においては、注目画素が、原点を基準にして水平方向にW x N、垂直方向にH x Mの矩形領域内にあれば符号多重化領域内と判定され、そうでなければ符号多重化領域外と判定される。ここでN,Mはブロック化部201によるブロックのサイズであり、WIDTH,HEIGHTは処理対象の画像データ(すなわち付加情報が多重化された画像データ)のサイズである。
S403にて、現在処理している注目画素が多重化領域外と判定された場合には、制御部210はS404にて量子化条件Cを設定する。一方、現在処理している注目画素が多重化領域内と判定された場合には、制御部210は多重化すべき付加情報をS405で読み込む。説明を容易にする為に、付加情報をcode[ ]という配列を用いて、各1ビットずつ表現するものとする。例えば付加情報を48ビット分の情報と仮定すると、配列code[ ]はcode[0]からcode[47]まで、各1ビットずつが格納されていることになる。S405において、変数bitに、以下のように配列code[ ]内の情報を代入する。
bit = code[INT(i / M)×W + INT(j / N)] ...式3
ここで式3の右辺のインデックスは、ブロックをラスタ順に配置したときの順番を示している。式3により、処理対象の画像データの各ブロックに付加情報の各ビットが対応付けられる。このことから、付加情報codeのビット数は、W×H以下であり、望ましくはW×Hと等しい。例えば図5ではブロック数は4×6=24であるが、codeが48ビットであるなら、例えば8×6=48ブロックにブロック化することが望ましい。
続いて、制御部210は、S406にて、S405で代入した変数bitが"1"か否かを判定する。前述したように、配列code[ ]内の情報は配列要素ごとに1ビットずつ格納されている為、変数bitの値も"0"か"1"かの何れかを示すことになる。
制御部210は、S406にて"0"と判定した場合には、S407にて量子化条件Aを設定し、"1"と判定した場合には、S408にて量子化条件Bを設定する。
続いてS409では、設定した量子化条件に基づいて制御部210が量子化処理を行う。なお、誤差拡散部200が、S409の処理を行ってもよい。この量子化処理は、図3にて説明している誤差拡散法に相当する。
続いて、S410では水平方向変数jを1カウントアップし、S411にて制御部210は、カウントアップされた後の注目画素が画像の水平画素数であるWIDTH未満か否かを判定し、処理画素数がWIDTHになるまで前述の処理を繰り返す。また、水平方向の処理がWIDTH画素数分終了すると、S412にて垂直方向変数iを1カウントアップする。そして、S413にて制御部210は、カウントアップされた後の注目画素が画像の垂直画素数であるHEIGHT未満か否かを判定し、処理画素数がHEIGHTになるまで前述の処理を繰り返す。
以上の動作手順により、N×M画素よりなるブロック単位で、付加情報に応じて量子化条件を変更することが可能になる。
<量子化条件>
続いて、量子化条件A、B、Cの例について説明する。誤差拡散法における量子化条件は様々な因子があるが、第1の実施形態では、量子化条件は量子化閾値とする。量子化条件Cが選択される場合は、注目画素は多重化領域外である為に、量子化閾値は何でも良い。前述したように、1画素が8ビットによる階調表現で、量子化レベルが2値の場合には、最大値である"255"、及び、最小値である"0"が量子化代表値となるが、その中間値となる"128"を量子化閾値として設定することが多い。すなわち、量子化条件Cでは、量子化閾値を"128"固定とする条件にする。量子化条件A、量子化条件Bを使用する場合は、注目画素が多重化領域内のブロックに属する為、量子化条件の違いによる画質の違いを生じさせなければならない。但し、画質の違いは視覚的には判別しにくいように表現し、かつ、紙上から容易に識別できなくてはならない。
図6は、量子化条件A、Bを表した例である。図6(a)は、量子化条件Aにおける量子化閾値の変化の周期を示した図である。図中、ひとつのマスを1画素とし、白いマスは固定閾値、灰色のマスを変動閾値とする。すなわち、図6(a)の例では、横8画素、縦4画素のマトリクスを組み、灰色のマスの閾値のみ突出した値を閾値として設定する。図6(b)は、同様に、量子化条件Bにおける量子化閾値の変化の周期を示した図である。図6(b)の例では、図6(a)とは異なり、横4画素、縦8画素のマトリクスを組み、灰色のマスの閾値のみ突出した値を閾値として設定する。
いま、前述したように1画素が8ビットの階調値で表される場合に、一例として、固定閾値として"128"、突出した閾値を"10"と設定する。量子化閾値が低くなると、注目画素の量子化値が"1"(量子化代表値"255")になりやすくなる。すなわち、図6(a)、(b)ともに、図中の灰色のマスの並びで量子化値"1"が並びやすくなる。言い換えると、N×M画素のブロック毎に、図6(a)の灰色のマスの並びでドットが発生するブロックと、図6(b)の灰色のマスの並びでドットが発生するブロックとが混在することになる。
誤差拡散法における量子化閾値の多少の変更は、画質的には大きな影響を及ぼさない。組織的ディザ法においては、使用するディザパターンによって、階調表現の画質が大きく左右される。しかし、前述したような、規則的に量子化閾値の変化を与えた誤差拡散法では、あくまでも画質を決定する階調表現は誤差拡散法である。そのため、ドットの並びが多少変化したり、テクスチャの発生が変化したりしても、階調表現の画質にはほとんど影響を与えないことになる。それは、量子化閾値が変化した場合でも、あくまでも信号値と量子化値との差分となる誤差は周囲画素に拡散される為、入力された信号値はマクロ的に保存されるためである。すなわち、誤差拡散法におけるドットの並び、テクスチャの発生に関しては冗長性が非常に大きいことになる。カラー画像データの場合には、各カラーコンポーネントについて上記の手順で量子化を行えばよい。
ところで、上記説明では、誤差拡散法の量子化閾値に符号を表す所定の周期性を重畳することにより多重化を実現してきたが、以下の方式も考えられる。
・直接RGBの輝度情報に周期性を重畳する方式
・RGBの輝度情報を輝度‐色差情報(例えばYCrCb信号)に分離して周期性を多重化する方式
・RGBの輝度情報をインク色(例えばCMYK信号)に分離して周期性を多重化する方式
周期性の多重化は上述のように量子化閾値を用いてもよい。
<付加情報分離装置の構成>
次に、図1の画像処理システムにおける付加情報分離装置106について説明する。図7は、付加情報分離装置106の構成を示すブロック図である。説明を容易にする為に、前述した付加情報多重化装置102の例と同様、分割したブロック内に各1ビットずつの付加情報が多重化されている印字物から分離する例について説明する。当然、多重化装置における1ブロックあたりの付加情報量と、分離装置における1ブロックあたりの分離情報量は等しくなる。
入力端子700には、カメラ付携帯端末104で読み込まれた画像情報が入力される。使用するカメラ付携帯端末104の撮像センサの解像度は、印字物を作成するプリンタ解像度と同等以上が好ましい。当然、正確に印字物のドットの点在情報を読み込む為には、サンプリング定理により、撮像センサ側はプリンタ側よりも2倍以上の解像度が必要になる。しかし、同等以上であれば、正確でなくとも、ある程度ドットが点在しているのを判別することは可能である。第1の実施形態では、説明を容易にするためにプリンタ解像度と撮像センサの解像度が同一解像度と想定する。
幾何学的ずれ検出部701は、カメラ付携帯端末104で撮影した画像の幾何学的ずれを検出する。処理対象の画像は、プリンタにおける出力処理、カメラ付携帯端末104における撮影処理を経ている為に、入力端子700から入力される画像情報は、プリンタ出力以前の画像情報とは幾何学的に大きくずれている場合がある。そこで、幾何学的ずれ検出部701では、印字物と印字物以外との境界線をエッジ検出にて検出する。
図8は、入力端子700から入力される撮影画像を示した図である。いま、プリンタ解像度と撮像センサ解像度とが同一解像度であれば、プリンタの紙上記録時の斜行、及び、カメラ付携帯端末104を印字物にかざす時のずれ等により、画像の回転方向(傾き)が補正すべき大きな要因となる。そのため、この印字物の境界線を検出することにより、どの程度回転方向でずれが生じているかが判断できる。このずれ量は、たとえば水平方向の所定の画素数に対して垂直方向にずれた画素数などで表すことができる。
ブロック化部702は、横方向にP画素、縦方向にQ画素単位にブロック化をする。このブロックは、電子透かしの重畳時にブロック化したN×M画素よりも小さくなければならない。すなわち、
P≦N、かつ Q≦M ... 式4
の関係が成り立つ。
また、P×Q画素単位のブロック化は、一定間隔で行う。すなわち、多重化時のN×M画素よりなるブロックと想定される領域内に、P×Q画素単位のブロックがひとつ内包するようにブロック化する。つまりブロックのピッチは、水平方向についてN画素、垂直方向についてM画素が基本となり、この場合、ブロック間の間隙は、水平方向にN−P画素、垂直方向にM−Q画素となる。ただし、上述したように原画像とキャプチャ画像との間にはずれがあり、幾何学的ずれ検出部701により検出したずれ量を1ブロックあたりのずれ量に換算して、スキップ画素数に加算して補正する必要がある。たとえば或るP×Qブロックの右横のP×Qブロックを決定する際に、単に水平方向のピッチがN画素となるようにP×Qブロックを決めるのではなく、右方向にN画素移動した場合の垂直方向のずれを検出したずれ量から求める。そして、その画素数だけ垂直方向にずらした位置を基準としてP×Qブロックを確保する。
空間フィルタ703、704は、それぞれ特性の異なっており、フィルタリング部705は、周辺画素との積和を演算するディジタルフィルタリングを行う。この空間フィルタ703,704の各係数は、多重化時の量子化条件の変動閾値の周期に適応して作成する。いま、多重化装置102において、付加情報の値に応じて図6(a)、(b)の2種の量子化閾値を用いることにより付加情報を画像データ多重化したとする。その時の分離装置106で使用する空間フィルタA703、空間フィルタB704の例を、図9(a)、(b)に示す。図中、5×5画素の中央部が注目画素になり、それ以外の24画素分が周辺画素になる。図中、空白部の画素は、フィルタ係数が"0"であることを表している。図から明らかな様に、図9(a)、(b)はエッジ強調のフィルタになっている。しかも、その強調するエッジの方向性と多重化で用いた変動閾値の方向性(具体的には黒画素が並び易い方向性)とが一致している。つまり、図9(a)は図6(a)に、また、図9(b)は図6(b)に一致するように作成する。
画素特定部706、707は、P×Q画素より成るブロック内のフィルタリング後の信号(以下、変換値と称す)を、ある規則性に基づいて画素位置の特定処理をする。第1の実施形態では、この特定する画素位置の規則性を周期性と位相とに分離して処理する。すなわち、画素特定部706、及び707では特定する画素位置の周期性が異なっていて、各々、位相を変化させた複数の画素位置特定処理を実行する。画素位置特定方法については後述する。
変換値加算部708は、画素特定部706、及び707にて特定した画素位置の変換値を、位相毎にそれぞれ加算する。この画素位置特定処理、及び、変換値の加算処理は、空間フィルタ703,704で強調した所定周波数ベクトルの電力を抽出することに相当する。周波数ベクトルとは、ここでは画像の水平方向と垂直方向それぞれの周波数成分の組であり、画像の二次元的な周波数特性を示す。
分散値算出部709は、位相毎に加算した複数の加算値の分散を、それぞれの周期性において算出する。
判定部710は、それぞれの周期性における分散値に基づいて、多重化された符号を判定する。
図10は、二次元の周波数領域で第1の実施形態の概略を示した図である。横軸は水平方向の周波数、縦軸は垂直方向の周波数を示している。中心となる原点は直流成分を示し、原点から遠ざかるにつれて、高周波域となる。図中の円は、誤差拡散によるカットオフ周波数を示している。誤差拡散法のフィルタ特性は、低周波域がカットオフされたHPF(ハイパスフィルタ)の特性を示し、そのカットオフされる周波数は、対象画像の濃度に応じて変化する。今回、量子化閾値の変更により、量子化後に発生する周波数特性が変化するが、図6(a)に示した量子化閾値を用いて量子化された画像では、図10の直線A上の周波数ベクトルに、また、図6(b)に示した量子化閾値を用いて量子化された画像では、図10の直線B上の周波数ベクトルに大きなパワースペクトルが生じる。すなわち、図6(a)の閾値マトリクスの白い部分を128、黒い部分を10とすると、黒い部分が黒画素となり易くなる。そのため、この閾値マトリクスを用いて量子化した画像では、垂直方向に4画素の整数倍の周期の、水平方向に8画素の整数倍の周期の成分すなわちその逆数の周波数特性が現れやすいと考えられる。つまり図6(a)の閾値マトリクスを用いて量子化した画像からは、垂直方向の周波数が水平方向の周波数のほぼ倍となる周波数ベクトルのパワースペクトルが検出される。図6(b)では、水平方向と垂直方向とが図6(a)の場合と入れ替わることとなる。付加情報の分離時には、この大きなパワースペクトルが発生する周波数ベクトルを検出することが多重化信号の判定につながる。そこで、各々の周波数ベクトルを個別に強調、抽出することが必要になる。
図9(a)、(b)は、特定の周波数ベクトルの方向性を有するHPFに相当する。すなわち、図9(a)の空間フィルタでは、直線A上の周波数ベクトルを強調することが可能になり、また、図9(b)の空間フィルタでは、直線B上の周波数ベクトルを強調することが可能になる。例えば、図6(a)による量子化条件の適用により、図10の直線Aの周波数ベクトル上に大きなパワースペクトルが発生したと仮定する。その時に、図9(a)の空間フィルタでは直線A上のパワースペクトルが増幅されるが、図9(b)の空間フィルタでは、ほとんど増幅されない。すなわち、複数の空間フィルタを並列にフィルタリングした場合には、周波数ベクトルが一致した空間フィルタ時のみ増幅し、それ以外のフィルタでは増幅がほとんど無い為、いかなる周波数ベクトル上に大きなパワースペクトルが発生しているかが容易にわかる。
<付加情報分離装置106による処理手順>
図11は、図7の画素特定部706、及び画素特定部707、変換値加算部708、分散値算出部709、判定部710の動作手順を示すフローチャートである。図11の手順は、図11に示した各構成要素で実行される。具体的には、S1103を画素特定部で、S1104を変換値加算部で、S1107を分散値部で、S1110,S1111を判定部710で実行する。その間にあるパラメータの設定処理や判定処理は例えば不図示の制御部などで行ってもよい。また、図11で言及する周期性No.の値は画素特定部から分散値部に至る処理ブロックのシーケンスに対応しており、図7では周期性No.の数は0,1の2つである。すなわち図11では周期性No.iの値を変えて直列的に処理されているが、図7のようにハードウエアで実現する場合には、異なる周期性No.に対応する処理は並列に実行される。このため図7の構成で図11の手順を実行する際には、パラメータiに関するS1108及びS1109は行われない。なお図11の処理は、不図示のCPU等のプロセッサーあるいは制御部により図11の手順全体を実現するためのプログラムを実行することで行われてもよい。以下の説明では、付加情報分離装置106が動作の主体であるとする。
図11中、S1101、及びS1102では、変数の初期化を行い、本フローで用いる変数i、jの値を0に初期化する。
S1103では、画素特定部706、707による特定する画素位置の規則性の因子、すなわち、"周期性"及び"位相"の2因子を決定する工程である。本フローでは、周期性に関する変数をi、位相に関する変数をjとする。
この周期性及び位相の条件は、番号(ナンバー)により管理されていて、いま、周期性ナンバー(以下No.と略す)がi、位相No.がjである画素位置特定方法の因子を設定する。この例については図12、図13を参照して説明する。この因子により処理対象の変換値の画像データ中における位置が特定される。なおi,jはそれぞれ周期性と位相とを示すインデックスであるが、以下では周期性i、位相jと呼ぶこともある。
続いてS1104は、ブロック内で特定された位置の変換値を加算する工程である。加算した加算値を変数の配列TOTAL[i][j]として記憶する。パラメータi,jに応じて通常は複数の画素(変換値)が特定されるため、S1104では特定された位置の変換値の合計値を求めてTOTAL[i][j]に記憶する。
S1105にて変数jをカウントアップして、S1106にて固定値Jと比較する。Jは、位相を変化させて画素位置特定処理をする所定の回数が格納されている。もし、変数jがJ未満であればS1103に戻り、カウントアップ後のjによる新たな位相No.により、画素位置特定処理、及び、特定された位置の画素(すなわち変換値)の加算処理が繰り返される。インデックスjの値が異なれば、特定される画素の位置も異なる。
位相をずらした画素位置特定処理、及び加算処理が設定回数終了した場合には、S1107にて、加算結果TOTAL[i][j]の分散値B[i]を算出する。すなわち、各加算結果が、位相の差により、どの程度ばらついているかを評価する。ここでは、iを固定して、インデックスjについて0からJ−1までのJ個のTOTAL[i][j]の分散値を求める。分散値はB[i]とおく。
S1108にて変数iをカウントアップして、S1109にて固定値Iと比較する。Iは、周期性を変化させて画素位置特定処理をする回数が格納されている。もし、変数iがI未満であればS1102に戻り、カウントアップ後のiによる新たな周期性No.の条件を用いて、再び、画素位置特定処理、及び、変換値の加算処理及び分散の算出が繰り返される。分散値は、特定の位相インデックスに対応する画素への値"1"(あるいは255等の画素の最大値)の平均値からのばらつきを示しており、ばらつきが小さいほど値は小さく、ばらついているほど値は大きくなる。
S1109にてiが設定回数終了したと判断されると、分散値B[i]はI個算出できたことになる。S1110にて、I個の分散値の集合から分散値の最大値を検出し、その時のiの値を変数imaxに代入する。
S1111では、符号の判定の工程であり、周期性No.がimaxである符号を多重化された符号であると判定して終了する。ただし、ブロック内の画像に対するフィルタ処理によってパワースペクトルが表れない場合には、現在行っている復号処理は、多重化方法に対応した復号処理ではなく、復号は失敗したものと判定して処理を終了するのが望ましい。逆にパワースペクトルが表れるなら復号は成功したと判断できる。この判定は例えばB[imax]が所定の条件を満たしていないことを判定して実現できる。所定の条件としては例えばB[imax]が所定の閾値以上であることを採用できるが、分散Bは正規化された値ではなく、固定的な閾値が適当ではない場合もある。そこで、S1111では、たとえば考え得る最大の分散値Bmaxを求め、B[imax]/Bmaxを所定の閾値と比較して、閾値より小さければ復号は失敗したものと判定して処理を終了する。また一つのブロックで判断せず、所定数の連続したブロックで前記条件を満たさない場合に、復号が失敗したものと判定してもよい。なお分散値Bmaxはたとえば以下の手順で求めることができよう。すなわち、特定の位相No.に対応する位置の画素値(変換値)を"1"(あるいは255など、画素値の最大値)に、他の画素値を0とした画像について、図11の手順で分散を求め、その値をBmaxとする。そして、その値を量子化閾値マトリクスごとに関連づけて格納し、用意しておく。このようにすることでB[imax]/Bmaxは0と1との間の値をとるよう正規化され、固定的な閾値と比較することができる。なおこの閾値は実験的に決定しておけばよい。
いま、I=2、J=4の例を示す。図12、図13は、ブロックサイズをP=Q=16とした時の画素位置の特定方法をテーブル形式にて示している。図中、ブロック内のひとマスが1画素に相当する。図ではブロック形状をP=Qの正方としているが、正方には限らないし、矩形以外でも良い。
図12は、周期性No. = 0のときの画素位置特定方法(図7の画素特定部A706に相当)、図13は、周期性No. = 1のときの画素位置特定方法(図7の画素特定部B707に相当)を示している。図中、ブロック内の各画素に示している値は、位相No. jに対応する画素を示している。パラメータjは位相を示しているが、周期性と位相とにより画素ブロック中の画素位置が特定されることから、図11、図12では、特定される位置の画素に位相No.jの値をマークして示した。例えば"0"と表示している画素は、j= 0のときに特定される位置の画素に対応する。すなわち、図12、図13ともに、位相は4種であり、位相No.jが0〜3の時の画素の特定方法に相当する。すなわち、周期性No.の値に応じて図12や図13に示したマトリクスが特定され、特定されたマトリクスにおける画素の位置が位相No.の値に応じて特定される。
図12、図13に示した、同じ位相インデックス(位相No.)に対応する画素位置の周期性は、図6(a)の周期性と、図6(b)の周期性とにそれぞれ一致している。前述したように、図6(a)、(b)ともに図中の灰色のマスの並びで量子化値"1"(但し、"0"、"1"の2値の場合)が並びやすくなる。その為、例えば、多重化時に量子化条件Aであったブロックの場合には、図6(a)の周期性で量子化値"1"が並びやすくなり、その周期性に適合した空間フィルタによりフィルタリングすると更にその周波数成分が増幅される。そのため、特定の位相インデックスに対応する位置の画素に量子化値"1"が集中し、図12の周期性で変換値を特定して加算すると、その加算結果の分散は大きくなる。
それに比べて、量子化条件Aであったブロックを、適合しない空間フィルタを用いてフィルタリングし、なおかつ、図13の周期性により画素位置を特定した場合には、変換値の加算結果の分散値は小さくなる。すなわち、量子化値の周期性と特定される画素位置の周期性とが異なる為、特定する画素位置の位相の違いによる変換値の加算値は平均的になり、ばらつきは小さくなる。反対に、多重化時に量子化条件Bであったブロックでは、図12では、分散値は小さくなり、図13では分散値は大きくなる。
図4に示したフローチャートの例を当てはめると、bit = 0を量子化条件A、bit = 1を量子化条件Bに設定している。その為、周期性No. = 0の分散値が大きいとき(すなわちimax=0のとき)にはbit = 0、逆に周期性No. = 1の分散値が大きいとき(すなわちimax=1のとき)には bit = 1と判断できる。すなわち、量子化条件と、空間フィルタ特性、及び、画素位置を特定する条件の周期性とを関連づけることで、容易に画像と符号との多重化および分離(あるいは逆多重化)が実現できる。本実施形態では、周期性No.は0と1の2種であり、ブロック内の多重化符号は1ビットであったが、多重化符号はこれ以上でも良いのは勿論である。当然、量子化条件の種類と、空間フィルタの種類、画素位置特定条件の周期性No.の種類(Iの値)とは一致する。
以上の説明から明らかなとおり、図11の手順における所定の値Jは、画像データに多重化されている可能性のある符号情報の種類の数を示す。また所定の値Iは、1周期の間にとり得る位相の数を示す。本例では、位相は画素単位の離散的な値であるので、1周期の画素数をIの値としてもよい。
図11の手順は図5に示したブロックごとに適用されて、ブロックごとの量子化条件に対応する符号が判定される。そしてその例えばW×H個の符号を、ブロックの順序で配列することで、埋め込まれた符号情報を再生する。本例では、例えば量子化条件Aは"0"に、量子化条件Bは"1"に相当するので、これをブロックの順序で並べて元の符号情報が再生される。なお相異なる2n+1個の量子化条件(すなわち量子化閾値のパターン)を用意し、そのうちの2n個の量子化条件をnビットの符号語にそれぞれ対応付けることで、1ブロックあたりnビットの符号情報を多重化できる。
また図11の手順は、一方の方向について図11の手順を行うことで多重化した符号を特定できるのであれば、画像の一方の方向についてのみ実行すればよい。たとえば図6に示した量子化条件(すなわち符号パターン)は、一方の方向について図11を実行することで区別できる。しかし、一方の方向だけでは多重化された符号をひとつに絞れない場合には、水平方向および垂直方向それぞれについて実行し、各方向について独立してimaxの値を決定した後に、それらを総合して最終的なimaxを決定してもよい。例えば一方の方向について複数の分散値B[i]がほぼ同じ値となった場合、たとえば分散値の最大値との差分が所定値以内の分散値を最大値の候補とし、それら候補の分散値の周期性インデックスiを、imaxの候補として残しておく。そして水平および垂直の両方向についてimaxの候補を決定し、両方向に共通する周期性インデックスiの値を最終的なimaxとして決定する。そしてそのインデックス値imaxに関連付けられた符号を、画像に多重化された符号であると判定する。
また図11の手順は、画像情報と付加情報の画素パターンとの相関を求める手順、あるいはブロックごとの画素値の分布と閾値マトリクスとの相関を判定して前記閾値マトリクスに対応する情報を抽出する手順と言い替えることもできる。すなわち、付加情報が多重化された画像情報と、多重化された付加情報の各ビットあるいはビット群に対応する画素パターン(量子化閾値に相当するパターン)との相関度を求める。そして、相関が所定程度より低ければ復号は失敗したものと判断し、所定程度以上の相関があれば、相関する画素パターンに対応するビットあるいはビット群が多重化されているものと判断する。このことは、図11の手順に限らず、上記相関の程度を求める手順を実行することで、多重化した付加情報を復号できることを意味している。あるいは、付加情報を多重化した画像のブロックごとに、当該ブロックに含まれる画像情報の空間周波数と量子化閾値マトリクスのパターンの空間周波数との一致の程度を判定する。そして、一致の程度が所定の程度以上であれば、その量子化閾値マトリクスに対応した符号を復号する復号方法ということもできる。
第1の実施形態では、直交変換による量子化条件の規則性に対応した周波数の電力値の比較をしなくても、容易に符号を分離できる。しかも、実空間領域の処理の為、非常に高速に分離処理が実現できる。
以上、第1の実施形態を説明してきたが、量子化条件A、B、及び、空間フィルタA、B、画素特定部A,Bは一例であり、これに限るものではない。他の周期性を持たせても良いし、空間フィルタのタップ数、画素位置を特定するためのブロックサイズ等は前述した例よりも大きくても小さくても構わない。
また、図11の動作手順では、本発明の思想を容易に説明するために、周期性No.である変数i、及び、位相No.である変数jの繰り返し処理にて説明している。しかし、実際には、P×Q画素よりなるブロック内の画素アドレスによる繰り返し処理の方が実現が容易である。すなわち、図12、図13に示したように、ブロック内の各画素アドレスに対して周期性No.、及び、位相No.の2種の情報をテーブルとして予め格納しておき、対応した周期性No.、及び、位相No.の各々の変数に対して変換値を加算していく方法である。この方法では、P×Q画素分を処理するだけで、並列に、周期性No.、及び、位相No.の各集合の加算値を算出することができる。
また、図11の動作手順では、空間フィルタ後の特定された位置の変換値の加算結果の分散を算出して、分散値の大小比較により、符号を判定していたが、これに限るものではない。分散値を用いない評価関数の比較による方法も考えられる。特定された位置の変換値の加算結果の偏りは、位相をずらした際に、ひとつの位相の時だけ値が突出しやすいため、"ばらつき度合い"が評価できれば良い。
例えば、ばらつき度合いを評価するには、分散値以外に次の評価関数が考えられる。
1.特定された位置の変換値を加算した加算値の最大値と最小値の差分
2.特定された位置の変換値を加算した加算値の最大値と2番目に大きな値との差分、もしくは、最小値と2番目に小さな値との差分のどちらか
3.特定された位置の変換値を加算した加算値によるヒストグラムを作成した時の、前後の順番の差分の最大値。
また、上記1、2、3の評価関数は絶対的な差分値であるが、これらの差分値と変換値、もしくは画素値や変換値の総和等との相対的な比率も評価関数として用いることができる。また、量子化値は2値化を例にして説明したが、これには限らない。
このように第1の実施形態によれば、画像をM×N画素よりなるブロック単位で量子化条件を変更し、該量子化条件に従って画像を量子化することにより画像に対して所定の情報を埋め込むことができる。その結果、従来における情報埋め込み方法、例えば直交変換をして情報を埋め込む方法に比べて、画質劣化を抑制し、かつ高速に、かつ埋め込まれた情報が精度よく抽出できるように画像に対して情報を埋め込むことができる。
[多重化印字物の連続撮影]
次に、カメラ付携帯端末104による、付加情報が多重化された印刷物(多重化印字物と呼ぶ。)の連続撮影について説明する。カメラ付携帯端末104は撮影時、その撮影条件により複数の定常的な劣化が生じる。なお定常的な劣化とは、例えば、一定の撮影条件の下で撮影した画像中の一定の位置に生じる劣化であり、劣化の原因や種類については必ずしも一定でなくともよい。ただし付加情報の復号を困難にする劣化が問題であるので、復号の失敗となる劣化の種類や原因は多重化の方法に応じて異なる可能性がある。図4等で説明した方法で付加情報が多重化された画像の場合には、ブロック内の輝度レベル(あるいは濃度レベル)や空間周波数特性が変えられるような劣化により付加情報の復号が困難となる。たとえば、ライトの写りこみにより局所的に輝度レベルが高くなったり、撮像素子やローパスフィルタに付着したごみなどにより局所的に輝度レベルが低下したりすることなどが、復号した付加情報の誤りの原因となり得る。
図14(a)は、カメラのライトを付けて、印字物を撮影したときの撮影画像である。黒い丸の部分はカメラライトの写りこみであり、カメラライトが付いている限り写り込みは存在し続ける。図14(b)、図14(c)は、カメラで印字物を撮影した時、カメラレンズ収差による影響を説明したものである。図14(b)は、カメラの焦点(星印)を中心部に合わせて撮影した画像であり、カメラの収差の影響で周辺部にボケ(一点鎖線で囲んだ部分)が生じる。図14(c)は、カメラの焦点(星印)を周辺部に合わせた画像であり、周辺部のボケがある程度改善されるが、中心部の画像は逆にボケ(一点鎖線で囲んだ部分)で劣化する。
続いて、図15を用いて、付加情報分離手法について詳しく説明する。図15は本実施形態に係るカメラ付携帯端末104の機能的なブロックを示す。なお、図15を機能ブロックとして説明するが、図15はそれら機能による処理の流れを示すフローチャートともいえる。本例においては、各機能を制御部120によりデコード用アプリ(すなわちプログラム)を実行することで実現されるが、専用のハードウエアで実現することもできる。
ユーザはまず、カメラ付携帯端末104のデコード用アプリを立ち上げる。このデコード用アプリは、撮影条件を設定する撮影条件設定機能S1501と、撮影条件設定機能S1501に基づいて印字物を撮影する撮影機能S1502と、S1502より得られた画像に多重化された付加情報をデコードするデコード機能S1503を備える。そして、デコード用アプリは、S1503より得られた画像毎の多重化データ(すなわち画像に多重化された付加情報)を評価する多重化データ評価機能S1504と、S1504により評価された画像毎の多重化データをマージ(あるいは合成)し、最終的に正確な付加情報を取得する多重化データマージ機能S1505を備える。
図16は、図15の付加情報分離手法の一例を説明したものである。以下、図15の各機能を、図16を用いて詳しく説明する。
撮影条件設定機能S1501では、複数の撮影条件を設定することができる。例えば、周囲の光量不足を考慮したカメラ付携帯端末のライトON、ライトの写りこみによる影響を抑えるためのライトOFFなどが撮影条件の一例として挙げられる。その他にも、撮影時のカメラ付携帯端末の移動スピードを考慮した複数のシャッタースピードの設定、処理速度やメモリ容量を考慮した撮影解像度の指定などの撮影条件もある。これらの撮影条件以外の撮影条件が設定されても良い。
また、過去に設定した撮影条件によって、現在の撮影条件を動的に設定してもよい。例えば、まずはカメラの撮影条件設定をオートに設定して撮影した後、そのオート時の撮影条件により、次の撮影条件を決めてもよい。また、カメラ付携帯端末104のカメラの撮影条件が周囲環境により自動的に設定される場合、周囲環境を変化させることにより、間接的にカメラ付携帯端末の撮影情報を変更させてもよい。例えば、光量を大きくすることにより、自動的にシャッタースピードを速くするための撮影情報が設定されても良い。
撮影条件設定機能S1501は、図16の撮影条件1601として、ライトON/OFFと焦点の位置により、4通りの撮影条件を設定している。たとえば図14(b)、図14(c)に示した2つの焦点位置と、図14(a)に示したライトのオン/オフとを組み合わせて4通りの条件を設定できる。つまり、ユーザは、各撮影条件で撮影するため、4回の撮影をすることになる。
撮影機能S1502は、撮影条件設定機能S1501の設定に基づいて撮影を行う。撮影条件に応じた設定の変更は、カメラ付携帯端末104が撮影ごとに行うことが望ましい。撮影条件に応じた設定の変更は、制御部120の制御下で行われる。撮影は、複数の撮影条件を設定してから、連続撮影してもよい。また、一枚の撮影毎に撮影条件を設定し、繰り返し撮影してもよい。なお、この撮影は、静止画の連写モードで撮影してもよいし、動画モードで撮影したのち1コマずつ切り出して、画像データとして分割してもよい。また、カメラ付携帯端末104のカメラ機能ではなくデジタルスチールカメラで撮影する場合は、連続撮影した複数の画像をパソコンなどに取り込み、パソコンのOS上でデコードアプリを立ち上げ、取りこんだ複数の画像を処理してもよい。図16の撮影画像1602の(a)~(d)は、S1501で予め設定した4通りの撮影条件1601にて同じ被写体を撮影した結果である。また、撮影画像1602には、図14のようにライトの写り込みとレンズ収差によるボケ部分が表示されている。
デコード機能S1503では、撮影機能S1502より得られた各画像に埋め込まれた多重化情報をデコードし多重化データを取得する。このデコード処理の詳細は、図7で上述したのでここでは割愛する。図16の1枚デコード結果1603は、図16の撮影画像(a)~(d)それぞれを対象として、デコード機能S1503によりデコードを行い得られた多重化データである。ここで、写り込みとボケ部分と多重化データの対応について説明する。例えば、対象となる画像は水平方向について5つの領域に分割され、各領域が更に複数のブロックに分割されてそれぞれの領域に付加情報が多重化されている。図16の撮影画像(a)の各領域から得られた多重化データの例として、左端の領域からは多重化データc、左から2番目の領域からは多重化データBが得られたことを示している。
図16の撮影画像(a)、(c)において、ライトの写り込み部分は右から2番目の領域に含まれる。図16の撮影画像(a)のデコード結果1603における多重化データのうち向かって右から2番目のデータは写り込み部分に対応する領域から復号された情報であり、多重化データDが得られたことが示されている。一方、図16の撮影画像(c)のデコード結果1603における多重化データのうち向かって右から2番目のデータは写り込み部分に対応する領域から復号された情報であり、多重化データCが得られたことが示されている。図16の撮影画像(a)、(b)において、ボケ部分は両端の領域に含まれる。図16のデコード結果1603における多重化データの右から1番目と5番目のデータは周辺部のボケ部分に対応する領域から復号された情報である。図16の撮影画像(c)、(d)において、ボケ部分は中央の領域に含まれる。図16のデコード結果1603における多重化データの右から3番目のデータは中心部のボケ部分に対応する領域から復号された情報である。
多重化データ評価機能S1504では、デコード機能S1503より得られたデータ(すなわち付加情報)に対応する評価値を算出する。評価は、デコードの単位とされた各領域を対象として行われる。評価値算出手法には、画像情報のみ用いて評価値を算出する手法と画像情報以外の情報も利用して評価値を算出方法の二つがある。まずは、画像情報による評価値算出手法について説明する。一番簡単な例として、図7の判定部710で用いられる判定値をそのまま評価値として利用してもよいし、その判定値から新たな評価値を算出してもよい。また、完全に新たに画像情報より評価値を算出してもよい。画像情報より得られた評価値であれば、これに限定されない。
新た評価値の一例として、誤り検出を用いた評価値算出方法をはじめいくつかの方法について説明する。まず、誤り検出を用いた方法では、図1の付加情報101の入力において付加情報に誤り検出符号を追加することにより、誤り検出機能を持たせることができる。誤り検出符号として、CRC等複数の手法が提案されているので、ここでは詳しく述べない。データの誤りを検出するものであれば、これに限らない。本例では、図5に示したように、付加情報はブロックごとに多重化される。そのため、誤り検出符号もまた誤り検出符号のために確保したブロックに多重化される。たとえば図16に示したデコードの単位と成る各領域には複数のブロックが含まれ、そのうちのいくつかのブロックが追加される誤り検出符号のために割り当てられる。誤り検出符号は上述したCRCであってもよいが、符号長を短縮するためにパリティビットなどの単純なチェックサムであってもよい。
また判定部710による判定結果を利用して評価する方法では、評価対象となる領域は復号処理時のブロックであってよい。たとえば、図7の例ではブロックごとに得られた2つの分散値を評価し、閾値パターンがいずれか一方であることを顕著に示すほど高い評価値を与える。そのため例えばひとつのブロックについて得られた2つの分散値の差分の絶対値を評価値とすることが考えられる。この場合、差分が小さいほど当該ブロックに多重化された符号の判別が困難であり、デコードにより得られたデータの確度が低いと評価できる。
また画像情報とは異なる情報を用いて付加情報を評価することにより評価値を求めても良い。たとえば、画像情報以外の情報とは、撮影条件や、カメラ機種、カメラのセンサより得られた情報などがある。例えば、カメラのライトONの場合、ライトの写り込み部分の評価値を最低値にすることができる。また、カメラの焦点が周辺部の場合、周辺部の評価値を大きくすることができる。ライトがオンであることや焦点距離はカメラから取得できる。ただし、画像中のライトの写り込みや合焦していない部分(焦点が合っていない部分)を知るためには、評価対象の画像中のライトの像を認識し、また画像のぼけを評価するなど、画像分析を行う必要がある場合もある。また、カメラの機種によって、非圧縮撮影画像と圧縮撮影画像が取得できるものに分かれる。圧縮が主に彩度に対して行われていれば、彩度の多重化信号は失われる可能性がある。したがって、撮影した画像を圧縮するカメラでは、評価値算出の過程において、彩度の重要度を変更することにより、評価値を変更させるのが望ましい。例えば、撮影した画像を圧縮する機種では、彩度に付加情報を多重化している場合、別途得られた評価値にさらに所定の係数(例えば1以下の正の係数)を乗ずる。なお彩度に付加情報を多重化するためには、たとえば撮影したRGB等のカラー画像を輝度−色差表色系(たとえばL*a*b*)に変換し、その色差成分を図4で説明した手順で量子化することで付加情報を多重化すればよい。
そして、デコード機能S1503よりデータを取得した後、データ評価機能であるS1504では、それらのデータに対して評価(例えば誤り検出を含む)を実施する。上述した例のように誤り検出符号を用いたなら、誤りが検出されなかった場合に評価値を最高値に設定し、誤りが検出された場合に評価値を最低値にすることができる。画像情報以外の情報を用いる場合にも上述した要領で評価値を得ることができる。図16のデータの評価1604は、図16のデコード結果1603の多重化データに対応する評価値の例である。この例では、より大きい数値がより高評価であることを示す。図16のデータの評価1604の評価値は写り込みとボケ部分で低くなる特徴がある。例えば、図16の撮影画像(a)の左端の領域に含まれる各ブロックを、図7を用いて判定した結果、3という評価値が算出されたことが示されている。同様に、図16の撮影画像(a)の左から2番目の領域に含まれる各ブロックを、図7を用いて判定した結果、8という評価値が算出されたことが示されている。
多重化データマージ機能S1505では、多重化データ評価機能S1504より得られた評価値に基づいて多重化データを採用し、マージする。図16のデータ1605は、図16のデータの評価1604の評価値より、閾値を8として閾値以上の領域に多重化されていたデータを採用したものである。図16のマージ結果1606は、図16の採用データ1605をマージしたものであり、最終的に正確なデータを取得することができる。また、図16の採用データ1605において、同じ領域から復号したデータが複数あり、それらデータが互いに異なる場合、評価値によって、例えば評価値が高いデータを優先的に採用して、マージしてもよい。
以上説明した構成及び手順により、例えばライトの写り込みや画像のぼけなど、定常的ノイズを含む画像から、当該画像に多重化された付加情報をデコード(あるいは復号あるいは逆多重化)する際にも、デコードした付加情報の誤りを抑制することができる。例えば、多重化データ「ABCDE」が埋め込まれた画像の印字物を撮影することで撮影画像(a)が得られたとする。この撮影画像(a)だけから多重化データを取得した場合、ボケ部分等の影響で多重化データ「CBCDD」が得られることになり、埋め込まれていた多重化データ「ABCDE」を得ることができないおそれがあった。しかし、本実施形態では、複数の撮影条件で得られた複数の撮影画像から評価の高い多重化データをマージすることで、結果として多重化データ「ABCDE」を得ることが可能となり、デコードした付加情報の誤りを抑制することができる。
なお本実施形態では、ノイズとして焦点のずれとカメラにより点灯するライトの写り込みとを例として説明した。しかし、他の定常的ノイズについても同様に異なる撮影条件で撮影した同一の画像から付加情報を復号し、それを評価した上でマージすることによって誤りを減少させることができる。ここで撮影条件は、定常的ノイズの発生に係る設定などであり、カメラにより制御可能な設定であることが望ましい。
(第2の実施形態)
第1の実施形態の撮影条件設定において、想定される撮影条件の組み合わせは無数にあり、そのすべての撮影条件で撮影し、復号を試み、復号した情報を評価するのは現実的ではない。第2の実施形態では、このような場合でも、付加情報の正確な分離が可能な構成について説明する。
図17のフローチャートは、実施形態1の図15に対し、S1701及びS1702を追加した構成となっている。そのため、ここでは図15と同一ブロックについては、同一の参照番号を付加して、その説明を省略し、新たに追加したS1701及びS1702の詳細について説明する。なお図15についてはブロック図として説明していたが、制御部120により実行される手順のフローチャートしてみてもよく、図17はその観点で図15を流用するものである。後述の図19についても同様である。
図18は、図17の付加情報分離手法の例を説明したものである。全データ取得判定S1701では、マージ後全部のデータが取得出来たかを判定する。S1701の判定の結果、全部のデータが取得出来た場合(S1701でYES)には処理を終了する。一方、S1701の判定の結果、全部のデータが取得出来なかった場合(S1701でNO)には撮影条件算出機能S1702に移行する。
撮影条件算出機能S1702では、多重化データマージ機能S1505より得られたデータより、正確にデコードできない部分を特定し、その部分に適した撮影条件を設定することができる。例えば、デコードできない部分が集中していれば、その部分に適した撮影条件にすることが出来る。また、デコードできない部分が分散していれば、その中で複数の撮影条件にすることも出来る。
以下、図18を用いて詳しく説明する。図18の(a)、(b)は中心部が黒色の多重化印刷物を撮影した画像である。具体的には、或る撮影条件下で図18の画像(a)を撮影した場合、S1503による画像(a)のデコード結果がS1504で評価される。その評価結果に基づいて、評価値が所定値より低い部分、すなわち正確にデコードできていない部分は、S1505におけるマージ処理では採用されない。S1701において全領域のデータが取得できていないと判定された場合には、S1702において、データが取得できていない領域を特定し、その部分に適した撮影条件を設定する。たとえば、画像(a)から復号した情報を評価して、白部分の評価値が閾値に達していないと判定される。その合焦していない部分(白部分)の距離が近すぎるのか遠すぎるのかわからなければ、S1702では画像(a)の撮影条件を基に、焦点距離を短くする設定と長くする設定の両方の撮影条件を決定する。また、焦点以外でも、合焦していない部分(白部分)に適したホワイトバランスやシャッタースピードなどの撮影条件を設定してもよい。S1501ではその撮影条件を設定し(あるいはS1702で設定されていれば何もしなくともよい)、S1502ではその撮影条件で画像(b)を撮影する。そして、画像(b)の白部分をデコードして得た情報の評価値が閾値に達していれば、S1505におけるマージにより、全データが得られたと判定される。このように、撮影条件を変更して撮影した画像(b)では、画像(a)で正確にデコードできない部分が正確にデコード出来るようになる。このように画像(a)では、撮影条件を中心部に合わせているため、撮影条件が黒色の部分に適しているので、白部分の多重化信号が劣化する可能性が高い。したがって、同じ撮影条件で撮影しても白部分の正確なデータは取得できない。画像(b)は、画像(a)の白部分の劣化した場所に適した撮影条件を設定し撮影した画像である。撮影条件が白部分に適しているので、画像(a)の白部分の劣化した場所のデータが正しくデコード出来るようになる。逆に、黒部分の多重化信号が劣化する。最終的に、画像(a)の結果と画像(b)の結果をマージすれば、正確な多重化データが得られる。
図20の(c)、(d)は同じ付加情報を複数回異なる領域に多重化した印字物の一部が経年劣化により正しくデコード出来ない場合、正しくデコードする例を示したものである。具体的には、画像(c)のデコード結果より、正確にデコード出来ない部分が存在する場合、その候補となる場所に適した撮影条件で撮影し画像(d)を取得する。そして、画像(d)では、画像(c)で正確にデコードできない部分が正確にデコード出来るようになる。画像(c)では、経年劣化部分と同じデータが埋め込まれている候補部分は周辺部に存在する。しかし、画像(c)では撮影条件である焦点を中心部に合わせているため、周辺部では焦点が合わず、周辺部では正しいデータがデコード出来ない。したがって、同じ撮影条件で撮影しても正確なデータは取得できない。画像(d)では、撮影条件を経年劣化部分と同じデータが埋め込まれている候補部分に合わせているため、候補部分のデータが正しくデコード出来る。つまり、画像(c)の結果と画像(d)の結果をマージすれば、正確な多重化データが得られる。ただしこれは、同一の情報が複数の領域に多重化されていることを復号する際に知っていることが前提となる。同一の情報が複数の領域に多重化されていることを複合したデータの一部より知ってもよい。また本例は、光源が特定の部分に写り込んだ画像についても適用できる。
このように付加情報が冗長に多重化されている場合にも、デコードを良好に行えた部分から得た情報を復号された情報として採用する。こうすることで、たとえば焦点のずれや元画像の経年劣化という定常的ノイズを含む画像から、当該画像に多重化された付加情報を、誤りを抑制して抽出することができる。これらの手法以外でも、マージ後のデータより撮影条件を設定する手法であれば、これに限らない。
(第3の実施形態)
本実施形態では、第1の実施形態または第2の実施形態において、ユーザにカメラまたは印字物の移動を促し、カメラまたは印字物の移動により、定常的ノイズの影響を抑えることを説明する。
図20を用いて、定常的ノイズの影響を抑える一例を説明する。図20の撮影画像(a)、(b)は、撮影画像(a)を撮影した後、右にカメラを動かし撮影画像(b)を撮影したものである。印字物を基準に見る場合、カメラを右に動かすことにより、ライトの写り込みも印字物の右に動く。そして、撮影画像(a)では写り込みにより正確な付加情報が取得できなかった場所は、ライトの写り込みの位置が移動することにより、撮影画像(b)では正確な付加情報が取得可能な場所になる。そして、撮影画像(a)と撮影画像(b)の結果をマージすることにより、最終的に正確な付加情報の取得が可能になる。
図19のフローチャートは、実施形態2の図17のフローチャートに対し、S1901を追加した構成となっている。そのため、ここでは図17のフローチャートと同一ステップについては、同一のステップ番号を付加して、その説明を省略し、新たに追加したS1901の詳細について説明する。
ユーザ移動通知機能S1901では、撮影機能S1502の後または全データ取得判定S1701の判定がNOの場合にユーザが移動することを通知する。通知する手法としては、音声、画面表示、振動など、ユーザに通知できる方法であれば、これに限らない。この通知には、少なくともカメラの移動を促すメッセージを含む。
また、撮影条件算出機能S1702での正確にデコードできない部分より、移動すべき方向を画面上に表示してもよい。さらに、移動量を示す情報が含まれていてもよい。この場合、S1901では、たとえば画像中に含まれる定常的なノイズ(例えばライトの写り込み)およびその位置を特定し、その領域を、ノイズが含まれないように撮影できるカメラの移動方向を決定する。さらに移動量を決定しても良い。そして決定した移動方向(および移動量)が表示される。
またカメラの移動を伴う場合には、S1505のデータのマージにおいて、画像間で一致する部分を判定し、画像間における領域の対応を決定する必要がある。これはたとえば画像間の相関を求めることで行えばよい。また最初に撮影する画像は、たとえば紙媒体等に記録された画像全体を含む、基準となる画像であることが望ましい。この場合には、基準画像を基にして、カメラを移動して撮影した画像との対応が決定され、デコードされた符号のマージがその対応関係に従って行われる。また、移動前後の画像のデコード結果の符号により、対応関係を決定し、符号のマージを行ってもよい。
以上説明した本実施形態においても、画像に発生する定常的なノイズの影響を軽減し、良好な付加情報の復号を実現できる。なお本実施形態は、第1の実施形態と組み合わせて実施することもできる。
なお上述した実施形態はすべてカメラ付携帯端末で説明したが、画像を撮影するカメラ機能を有さない情報処理装置であっても、撮影した画像を対象として各実施形態のデコードを行うことで、実施形態の発明の実現できる。この場合には、端末からカメラの撮影条件を設定し、カメラの設定を変更できる必要がある。さらにこの場合には、カメラの機能により実現できる撮影条件のみならず、端末装置に接続されたカメラ以外の機器により撮影条件を与えることやそれを変更することもできる。
[その他の実施例]
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
102:付加情報多重化装置、104:カメラ付携帯端末、106:付加情報分離装置、120:制御部、S1501:撮影条件設定機能、S1502:撮影機能、S1503:デコード機能、S1504:多重化データ評価機能、S1505:多重化データマージ機能

Claims (14)

  1. 画像処理装置であって、
    付加情報が多重化された画像が複数の撮影条件で撮影されることによりそれぞれの画像データを取得する取得手段と、
    前記複数の撮影条件それぞれの画像データから多重化された付加情報を抽出する抽出手段と、
    前記複数の撮影条件それぞれの画像データから抽出された付加情報を評価する評価手段と、
    前記評価手段による評価に基づいて、採用可能と判定された付加情報を採用する採用手段と
    前記採用手段により採用可能と判定されない付加情報が存在する場合、前記それぞれの画像データにおいて採用可能と判定されない付加情報が多重化されている領域に基づいて前記画像処理装置の移動方向と移動量を決定する決定手段と、
    前記決定された移動方向と移動量に基づくメッセージを通知する通知手段とを有することを特徴とする画像処理装置。
  2. 前記抽出手段は、前記画像を構成する複数の領域から、該領域に多重化された付加情報を抽出し、
    前記評価手段は、前記領域ごとに前記付加情報を評価し、前記採用手段は、前記評価手段による評価に基づいて、前記複数の領域それぞれから抽出された閾値を超える評価の前記付加情報を採用することを特徴とする請求項1に記載の画像処理装置。
  3. 前記採用手段は、第1撮影条件で前記画像を撮影することで取得された第1画像データの第1領域の第1付加情報に対する評価値が閾値を超えており、かつ、前記第1撮影条件とは異なる第2撮影条件で前記画像を撮影することで取得された第2画像データの前記第1領域の第2付加情報に対する評価値が閾値を超えている場合、前記第1付加情報と前記第2付加情報の中でより高い評価値の付加情報を採用することを特徴とする請求項1または2に記載の画像処理装置。
  4. 前記複数の撮影条件を設定する設定手段を更に有することを特徴とする請求項1乃至3のいずれか1項に記載の画像処理装置。
  5. 前記評価手段は、前記付加情報に追加された誤り検出符号に基づいて前記付加情報が正し抽出されたか判定することを特徴とする請求項1乃至のいずれか一項に記載の画像処理装置。
  6. 前記付加情報は、前記画像を構成するブロックごとに、多重化する情報に応じた閾値マトリクスを用いて量子化を行うことで前記情報が多重化されており、
    前記抽出手段は、前記ブロックごとの画素値の分布と前記閾値マトリクスとの相関を判定して前記閾値マトリクスに対応する情報を抽出し、
    前記評価手段は、前記抽出手段による情報の抽出の確度が高いほど高い評価とすることを特徴とする請求項1乃至のいずれか一項に記載の画像処理装置。
  7. 前記撮影条件には、前記画像処理装置の撮影手段の有する光学系の焦点位置と、撮影用のライトのオンまたはオフの設定との少なくとも一方を含むことを特徴とする請求項1乃至のいずれか一項に記載の画像処理装置。
  8. 前記取得手段は、前記複数の撮影条件を切り替えながら撮影された前記画像の画像データを取得することを特徴とする請求項1乃至のいずれか一項に記載の画像処理装置。
  9. 前記評価手段は、前記画像データとは異なる情報を用いて前記付加情報を評価することを特徴とする請求項1乃至8のいずれか一項に記載の画像処理装置。
  10. 前記画像処理装置の移動前に画像を撮影することで得られた移動前の画像データと、前記画像処理装置の移動後に画像を撮影することで得られた移動後の画像データとにおいて一致する部分を判定し、移動前の画像データと移動後の画像データの対応関係を特定する特定手段を更に有し、
    前記採用手段は、移動前の画像データから取得された付加情報と、前記移動後の画像データから前記特定手段の特定結果に基づいて取得された付加情報を採用することを特徴とする請求項1乃至9のいずれか1項に記載の画像処理装置。
  11. 付加情報が多重化された画像が複数の撮影条件で撮影されることによりそれぞれの画像データを取得する取得手段と、
    前記複数の撮影条件それぞれの画像データから多重化された付加情報を抽出する抽出手段と、
    前記複数の撮影条件それぞれの画像データから抽出された付加情報を評価する評価手段と、
    前記評価手段による評価に基づいて、採用可能と判定された付加情報を採用する採用手段と
    を有し、
    前記複数の撮影条件は、撮影用のライトがオン状態である第1撮影条件と、撮影用のライトがオフ状態である第2撮影条件とが含まれることを特徴とする画像処理装置。
  12. 請求項1乃至11のいずれか一項に記載の画像処理装置としてコンピュータを機能させるためのプログラム。
  13. 画像処理装置の制御方法であって、
    付加情報が多重化された画像が複数の撮影条件で撮影されることによりそれぞれの画像データを取得する取得工程と、
    前記複数の撮影条件それぞれの画像データから多重化された付加情報を抽出する抽出工程と、
    前記複数の撮影条件それぞれの画像データから抽出された付加情報を評価する評価工程と、
    前記評価に基づいて、採用可能と判定された付加情報を採用する採用工程と
    前記採用工程により採用可能と判定されない付加情報が存在する場合、前記それぞれの画像データにおいて採用可能と判定されていない付加情報が多重化されている領域に基づいて前記画像処理装置の移動方向と移動量を決定する決定工程と、
    前記決定された移動方向と移動量に基づくメッセージを通知する通知工程とを有することを特徴とする画像処理装置の制御方法。
  14. 付加情報が多重化された画像が複数の撮影条件で撮影されることによりそれぞれの画像データを取得する取得工程と、
    前記複数の撮影条件それぞれの画像データから多重化された付加情報を抽出する抽出工程と、
    前記複数の撮影条件それぞれの画像データから抽出された付加情報を評価する評価工程と、
    前記評価工程による評価に基づいて、採用可能と判定された付加情報を採用する採用工程と
    を有し、
    前記複数の撮影条件は、撮影用のライトがオン状態である第1撮影条件と、撮影用のライトがオフ状態である第2撮影条件とが含まれることを特徴とする制御方法。
JP2015198931A 2015-10-06 2015-10-06 画像処理装置及び制御方法 Active JP6635741B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015198931A JP6635741B2 (ja) 2015-10-06 2015-10-06 画像処理装置及び制御方法
US15/278,741 US10412265B2 (en) 2015-10-06 2016-09-28 Information processing apparatus that displays a prompt to move the apparatus and information processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015198931A JP6635741B2 (ja) 2015-10-06 2015-10-06 画像処理装置及び制御方法

Publications (3)

Publication Number Publication Date
JP2017073653A JP2017073653A (ja) 2017-04-13
JP2017073653A5 JP2017073653A5 (ja) 2018-11-15
JP6635741B2 true JP6635741B2 (ja) 2020-01-29

Family

ID=58538441

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015198931A Active JP6635741B2 (ja) 2015-10-06 2015-10-06 画像処理装置及び制御方法

Country Status (1)

Country Link
JP (1) JP6635741B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6976734B2 (ja) * 2017-06-15 2021-12-08 キヤノン株式会社 画像処理装置、画像処理方法、およびプログラム
JP6808583B2 (ja) 2017-06-28 2021-01-06 キヤノン株式会社 画像処理装置、画像処理システム、画像処理方法、およびプログラム
JP6907047B2 (ja) 2017-06-28 2021-07-21 キヤノン株式会社 情報処理装置、その制御方法およびプログラム
JP7458766B2 (ja) * 2019-12-13 2024-04-01 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、プログラムおよび記憶媒体

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001333325A (ja) * 2000-05-19 2001-11-30 Fuji Photo Film Co Ltd 画像撮像装置、画像撮像装置の制御方法及び画像処理方法
JP3647405B2 (ja) * 2001-09-26 2005-05-11 キヤノン株式会社 画像処理装置及び画像処理方法
JP4269861B2 (ja) * 2003-09-12 2009-05-27 沖電気工業株式会社 印刷物処理システム,透かし入り文書印刷装置,透かし入り文書読み取り装置,印刷物処理方法,情報読み取り装置,および情報読み取り方法
JP4232676B2 (ja) * 2004-04-05 2009-03-04 沖電気工業株式会社 情報検出装置,画像処理システム,および情報検出方法

Also Published As

Publication number Publication date
JP2017073653A (ja) 2017-04-13

Similar Documents

Publication Publication Date Title
US9769380B2 (en) Image processing apparatus, method, and storage medium for obtaining watermark information
US9602691B2 (en) Image processing apparatus that determines code corresponding to a digital watermark embedded in an image
US9569831B2 (en) Image processing apparatus, image processing method, and non-transitory computer-readable storage medium for extracting information embedded in a printed material
US20140071131A1 (en) Image processing apparatus, image processing method and program
JP6635741B2 (ja) 画像処理装置及び制御方法
KR20080102172A (ko) 이미지 정보를 필터링하기 위한 적응형 이미지 필터
CN109151244B (zh) 移动信息处理装置、其控制方法和存储介质
US10412265B2 (en) Information processing apparatus that displays a prompt to move the apparatus and information processing method
US10033904B2 (en) Information processing apparatus for multiplexing information in an image, information processing method, and storage medium storing program
JP6643854B2 (ja) 情報処理装置、情報処理方法、及びコンピュータプログラム
JP2017005644A (ja) 画像処理装置、画像処理方法及び撮像装置
JP2006049949A (ja) 画像処理装置、画像処理方法およびプログラム
KR101434897B1 (ko) 화상 처리 장치, 및 화상 처리 장치의 제어 방법
JP6976734B2 (ja) 画像処理装置、画像処理方法、およびプログラム
JP2017072958A (ja) 画像処理装置および画像に多重化された情報の復号方法およびプログラム
JP2017073649A (ja) 情報処理装置、情報処理方法、及びコンピュータプログラム
JP7458766B2 (ja) 情報処理装置、情報処理装置の制御方法、プログラムおよび記憶媒体
JPH10210360A (ja) デジタルカメラ
US10764491B2 (en) Image processing apparatus, image processing method, and storage medium
JP7463087B2 (ja) 情報処理装置、情報処理方法、及びプログラム
JP2018207229A (ja) 情報処理装置、制御方法及びプログラム
JP2011254393A (ja) 符号化装置、符号化方法及びプログラム
JP6664179B2 (ja) 情報処理装置、情報処理方法およびプログラム
JP2016099836A (ja) 撮像装置、画像処理装置、画像処理方法、及びプログラム
JP6278728B2 (ja) 画像処理装置、画像生成装置、制御方法およびプログラム

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181002

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181002

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190729

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190802

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191001

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: 20191118

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191217

R151 Written notification of patent or utility model registration

Ref document number: 6635741

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151