JP3684178B2 - Image processing apparatus and image processing method - Google Patents
Image processing apparatus and image processing method Download PDFInfo
- Publication number
- JP3684178B2 JP3684178B2 JP2001243956A JP2001243956A JP3684178B2 JP 3684178 B2 JP3684178 B2 JP 3684178B2 JP 2001243956 A JP2001243956 A JP 2001243956A JP 2001243956 A JP2001243956 A JP 2001243956A JP 3684178 B2 JP3684178 B2 JP 3684178B2
- Authority
- JP
- Japan
- Prior art keywords
- information
- image
- extraction
- image processing
- time
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Facsimile Image Signal Circuits (AREA)
- Record Information Processing For Printing (AREA)
- Image Processing (AREA)
- Television Systems (AREA)
- Editing Of Facsimile Originals (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、画像処理装置及び画像処理方法に関し、特に、画像情報中に、該画像情報とは別の情報、例えば音声情報や、テキスト文書情報、画像に関する諸情報、全く別の画像情報等を付加情報として、視覚的に目立たぬように埋め込む画像処理に関する。
【0002】
【従来の技術】
従来より、画像情報中に、画像に関連のある他の情報を多重化する研究が盛んに行われている。近年では、電子透かし技術と称し、写真、絵画等の画像情報中に、その著作者名や、使用許可の可否等の付加情報を視覚的に判別しづらい様に多重化して、インターネット等のネットワークを通じて流通する技術が標準化されつつある。
【0003】
また、他の応用分野としては、複写機、プリンタ等の画像出力装置の高画質化に伴い、紙幣、印紙、有価証券等の不正な偽造を防止する目的で、紙上に出力された画像から出力機器、及び、その機体番号を特定する為に、画像中に付加情報を埋め込む技術がある。
【0004】
例えば、特開平7-123244では、視覚的に感度の低い色差成分、及び彩度成分の高周波域に付加情報を埋め込むことにより情報の多重化を行う技術を提案している。
【0005】
しかし、前述した技術は以下の問題点がある。図14は、電子透かし技術の一般的な付加情報の埋め込みを示した図である。画像情報Aと付加情報Bが加算器1401を介して多重化され、Cという多重化情報に変化する。図14は画像情報の実空間領域で付加情報を多重化する例である。この多重化情報Cを各種フィルタリング等の画像処理や、非可逆圧縮等の符号化をせずに流通することが可能であれば、多重化情報Cから付加情報Bを復号することは従来技術でも容易である。インターネット上で流通する画像情報では、多少のノイズ耐性があれば、エッジ強調、平滑化等の画質向上のデジタルフィルタを通しても復号が可能になる。
【0006】
しかし、今、多重化した画像をプリンタ等の出力装置により印字し、その印字物から付加情報を取り出す場合を想定する。しかも、使用するプリンタが単色あたり2階調から数階調程度の表現能力しか有していないプリンタ出力を想定する。近年、インクジェットプリンタは、染料濃度を薄くしたインクを有したり、出力するドット径を可変に制御したりして、単色あたり数階調表現できる装置が上市されているが、それでも疑似階調処理を用いない限り、写真調の画像の階調性は表現できない。
【0007】
すなわち、図14の電子透かし技術を用いた多重化方法をプリンタに出力するという前述の想定では、図15に示すように、疑似階調処理1501により多重化情報CはDという量子化情報に変化し、その後、プリンタ出力1502にて紙上に印字されることにより、非常に劣化したEという紙上情報(印字物)に変化する。従って、前述した偽造防止の目的の為に紙上の情報から付加情報を復号するということは、図15の一連の処理後の紙上情報Eから付加情報Bを復号することになるわけである。この1501、1502の両処理による情報の変化量は非常に大きく、視覚的に判別できないように付加情報を多重化し、かつ、多重化した付加情報を紙上から正しく復号することは非常に困難なことになる。
【0008】
また、図16は、実空間領域ではなく、画像情報をフーリエ変換等を用い、周波数領域に変換してから高周波域等に合成する従来の電子透かし技術の例を示している。図16において、画像情報を直交変換処理1601により周波数領域に変換し、加算器1602により、視覚的に判別しづらい特定の周波数に付加情報が加算される。1603逆直交変換処理により再び実空間領域に戻された後に、図15の例と同様に、疑似階調処理、プリンタ出力という大きな変化を伴うフィルタを通ることに相当する。
【0009】
図17では、紙上からの付加情報の分離の手順を示している。すなわち、印字物をスキャナ等の画像読み取り装置1701を介して、印字物の情報を入力する。入力された情報は、疑似階調処理により階調表現されている画像である為に、逆疑似階調処理である復元処理1702を施す。復元処理は、LPF(ローパスフィルタ)を用いるのが一般的である。復元後の情報を1703により直交変換処理させた後に、1704の分離処理において、特定の周波数の電力から埋め込んだ付加情報の分離を行う。
【0010】
以上の図16、図17から明らかなように、付加情報を多重化してから分離するまでに、複雑な多数の処理工程を通過することがわかる。カラー画像の場合には、この一連の処理工程の中にプリンタ特有の色に変換する色変換処理も含まれることになる。このような複雑な処理工程でも良好な分離を実現するためには、非常に耐性の強い信号を入れなくてはならない。良好な画質を維持しつつ、耐性の強い信号を入れるのは困難である。また、処理工程が多数、複雑ということは、多重化、及び分離に要する処理時間が非常に長くなってしまう。
【0011】
また、前述した特開平7-123244では、高周波域に情報を付加させているが、後段の疑似階調処理で、誤差拡散法を実施した場合には、誤差拡散法特有のハイパスフィルタの特性により、付加情報の帯域が誤差拡散で発生するテクスチャの帯域に埋没してしまい、復号に失敗する恐れが多分にある。また、復号には非常に精度の高いスキャナ装置が必要になる。
【0012】
すなわち、疑似階調処理が前提である場合には、図15、図16の方式は適さないことがわかる。言い換えると、疑似階調処理の特性を大きく活かした付加情報の多重化方式が必要になる。
【0013】
付加情報の多重化と疑似階調処理の冗長性とを結び付けた例として、特登録2640939、特登録2777800がある。
【0014】
前者は、組織的ディザ法にて2値化する際に、同一階調を表すディザマトリクスの中からいづれか一つを選定することによって、画像信号中にデータを混入するものである。
【0015】
しかし、組織的ディザ法では、高解像の、しかも機械的精度の非常に優れたプリンタで無い限り、写真調の高画質の出力は困難である。多少の機械的精度のずれが、横筋等の低周波のノイズとして発生し、紙上では容易に視覚されてくるからである。また、ディザマトリクスを周期的に変化させると、規則的に配列されていたディザにより発生する特定周波数の帯域が乱され、画質的に悪影響を及ぼす。また、ディザマトリクスの種類により階調表現能力が大きく異なる。特に紙上においては、ドットの重なり等における面積率の変化がディザマトリクスによって異なる為、たとえ信号上では均一濃度である領域でもディザマトリクスの切り替えで濃度の変化を引き起こすことも考えられる。
【0016】
また、復号(分離)側にとって、原信号である画像情報の画素値が不明な状態で、いかなるディザマトリクスで2値化されたかを推測する復号方法では、誤った復号をしてしまう可能性が非常に大きい。
【0017】
また、後者は、カラーのディザパターン法を用いて、その配列により付加情報を多重化する方法である。この方法でも前者と同様、切り換えにより画質劣化は避けられない。また、前者と比べて、より多くの付加情報を多重化できる代わりに、色成分の配列を変化させることによる色見の変化をもたらし、特に平坦部において画質劣化が大きくなる。また、紙上での復号も更に困難になることが予想される。
【0018】
いずれにしても、ディザマトリクスを変化させる両者の方法では、画質劣化が大きい割に、復号が困難という問題点を有している。
【0019】
そこで、本発明の出願人は、先に、誤差拡散法によって生じるテクスチャを利用し、通常の疑似階調処理では発生し得ない量子化値の組み合わせを人工的に作成することにより符号の埋め込みにする方法を提案した。
【0020】
この方法は、テクスチャの形状が微視的に多少変化するだけなので、視覚的には画質が劣化するものではない。また、誤差拡散法の量子化閾値を変更する方法を用いれば、視覚的に面積階調の濃度値も保たれる為、極めて容易に異種信号の多重化が実現できる。
【0021】
しかし、前述の提案によると、復号側では、テクスチャが人工的であるか否かを判別しなくてはならない。紙上に出力した印字物では、ドットのよれ等の所望の着弾点位置からのずれにより、テクスチャが良好に再現できない場合がある。
【0022】
また、カラー画像においては、最も視覚的に感度の低い色成分に多重化する方法が主流であるが、実空間領域でのテクスチャの判別は、他の色成分の影響を受けやすく、多重化情報の分離が困難なものになってしまう。
【0023】
また、本出願人は、前述した問題点を解決する為に、誤差拡散法の量子化閾値自身を所定の周期性で振幅変調し、この閾値変調の周期性を領域単位に複数種類制御することによって、擬似階調処理の量子化値の発生確率を制御し、この周期性に基づき符号を埋め込む方法を提案した。この方法は、前述したテクスチャの位置や形状を判別する方法に比べ、符号を形成している位相情報よりも、複数の所定周波数帯域での相対的な電力情報が重要な復号因子になる為、紙上においても良好な復号が実現できる。
【0024】
【発明が解決しようとする課題】
しかし、前述した提案には以下のような問題点がある。
【0025】
すなわち、印字物からの付加情報の分離となる復号手段を考えた場合に、経時変化による印字物の劣化が大きな問題となる。電子的なファイルであれば、デジタルデータの永年性により、そのような劣化因子は全く考慮する必要がないが、印字物、特にインクジェットプリンタによる紙への出力では、印字直後と、印字してから数日後、数ヶ月後、数年後では、インク、及び記録した印字媒体の特質、堅牢性能により退色、変色が発生し、その変化の度合いも異なってくる。
【0026】
今までは、復号方式が単独であり、印字した状況がわかり得なかった為、印字直後の印字物においても数年後の退色後の印字物においても、同一の復号方法を用いるしか方法がなかった。また、印字物の作成日時のみならず、作成時の温湿度等の環境を知る手段がなかった為、いかなる環境で印字された印字物でも同様に同一の復号方法を用いるしかなかった。
【0027】
すなわち、復号における検出精度、復号処理時間の最適設計が実現できる復号システムが提案できなかった。
【0028】
本発明は、上記課題を解決するためになされたものであり、画像から所定の情報を抽出する際の抽出精度、抽出時間の最適化を実現することができる画像処理装置及び画像処理方法を提供することを目的とする。
【0029】
【課題を解決するための手段】
上記目的を達成するために、本発明の画像処理装置は、所定の情報が埋め込まれた画像を像形成した記録物を読み取って該記録物に応じた画像を入力する画像入力手段と、前記記録物に対する像形成状況に関する関連情報を入力する関連情報入力手段と、前記入力された画像から前記所定の情報を抽出する抽出手段と、前記入力された関連情報に基づいて前記抽出手段による抽出精度を切り替える切替手段とを有することを特徴とする。
【0030】
また、本発明の画像処理方法は、所定の情報が埋め込まれた画像を像形成した記録物を読み取って該記録物に応じた画像を入力する画像入力工程と、前記記録物に対する像形成状況に関する関連情報を入力する関連情報入力工程と、前記入力された画像から前記所定の情報を抽出する抽出工程と、前記入力された関連情報に基づいて前記抽出工程による抽出精度を切り替える切替工程とを有することを特徴とする。
【0031】
【発明の実施の形態】
以下、本発明に係る一実施形態について、図面を参照して詳細に説明する。尚、本実施形態における画像処理装置は、主として、プリンタエンジンへ出力すべき画像情報を作成するコンピュータ内のプリンタドライバソフト、もしくは、アプリケーションソフトとして内蔵することが効率的であるが、複写機、ファクシミリ、プリンタ本体等にハードウエア、及びソフトウエアとして内蔵することも効果がある。
【0032】
(第1の実施形態)
図1は、第1の実施形態の画像処理システムの構成を表すブロック図である。
【0033】
100、101、102はともに入力端子を示し、100からは多階調の画像情報を、101からは、画像情報の中に埋め込むべき必要な付加情報が入力される。この付加情報は、入力端子100にて入力される画像情報とは別の情報、例えば音声情報や、テキスト文書情報、入力端子100にて入力される画像に関する著作権、撮影日時、撮影場所、撮影者等の諸情報、また、全く別の画像情報等、様々な応用が考えられる。
【0034】
102からは、プリンタから印字物が作成される日時に関する情報が入力される。本実施形態では、前述した付加情報に加え、印字日時をヘッダ情報として画像情報に埋め込む。この印字日時は、使用者によるキーボード、もしくはマウス等による入力でも良いし、接続しているコンピュータ、及び、その他のシステム上で管理している時計中の日時でも良い。
【0035】
103は、埋め込み情報多重化装置を示し、視覚的に判別しづらいように、画像情報中に日時情報と付加情報(以下、この2種を合わせて埋め込み情報と称す)を埋め込ませる装置である。この埋め込み情報多重化装置103は、埋め込み情報の多重化とともに、入力した多階調の画像情報の量子化をも司る。
【0036】
104はプリンタを示し、埋め込み情報多重化装置103で作成された情報をプリンタエンジンにて出力する。プリンタは、インクジェットプリンタ、レーザープリンタ等、疑似階調処理を用いることにより階調表現を実現するプリンタを想定する。
【0037】
出力された印字物は、スキャナ105を用いて印字物上の情報を読み取り、埋め込み情報分離装置106によって、印字物中に埋め込まれた埋め込み情報を分離(抽出)し、出力端子107に出力する。
【0038】
図2は、図1の埋め込み情報多重化装置103の構成を示すブロック図である。
【0039】
200は誤差拡散処理部を示し、入力された画像情報を誤差拡散法を用いた疑似階調処理することによって、入力階調数よりも少ない量子化レベルに変換し、複数画素の量子化値によって面積的に階調性を表現する。誤差拡散処理についての詳細は後述する。
【0040】
201はブロック化部を示し、入力された画像情報を所定領域単位に区分する。このブロック化は矩形でも良いし、矩形以外の領域に区分しても良い。
【0041】
202は量子化条件制御部を示し、ブロック化部201にてブロック化した領域単位で量子化条件を変更、制御する。量子化条件制御部202は、入力端子101で入力された埋め込み情報に基づき、ブロック単位で量子化条件が制御される。
【0042】
210は、CPU211、ROM212、RAM213などからなる制御部である。CPU211は、ROM212に保持された制御プログラムに従って、上述した各構成の動作、及び処理を制御する。RAM213は、CPU211の作業領域として使用される。
【0043】
図3は、誤差拡散処理部200の詳細を表すブロック図である。一般的な誤差拡散処理は、文献R.Floyd & L.Steinberg: “An Adaptive Alogorithm for Spatial Grayscale”, SID Symposium Digest of Paper pp.36〜37 (1975)に詳細が記載されている。
いま、量子化値が2値である誤差拡散処理を例にして説明する。尚、量子化値は2値に限らず、多値、例えば3値、4値でもよい。
【0044】
300は加算器を示し、入力された画像情報の注目画素値と既に2値化された周辺画素の分配された量子化誤差が加算される。量子化条件制御部202からの量子化閾値と誤差の加算された加算結果とを比較部301にて比較し、所定の閾値よりも大きい場合には“1”を、それ以外では“0”を出力する。例えば、8ビットの精度で画素の階調を表現する場合には、最大値である“255”と最小値である“0”で表現するのが一般的である。いま、量子化値が“1”の時に、紙上にドット(インク、トナー等)が印字されると仮定する。
【0045】
302は減算器を示し、量子化結果と前述した加算結果との誤差を算出し、誤差配分演算部303に基づいて、今後の量子化処理が施される周辺画素に誤差を配分する。誤差の配分割合は注目画素との相対的な距離に基づいて実験的に設定された誤差の配分テーブル304を予め所有しておき、配分テーブルに記された配分割合に基づいて誤差を分配する。
【0046】
図3の配分テーブル304は、周囲4画素分の配分テーブルを示しているが、これに限るものではない。
【0047】
次に量子化条件制御部202を含む全体の動作手順について、図4のフローチャートを基に説明する。いま、量子化値は2値である例について述べる。尚、量子化値は2値に限らず、多値、例えば3値、4値でもよい。
【0048】
S401は、変数iの初期化を示す。変数iは垂直方向のアドレスをカウントする変数である。
【0049】
S402は、変数jの初期化を示す。変数jは水平方向のアドレスをカウントする変数である。
【0050】
続いてS403は、i、jのアドレス値による判定工程であり、現在の処理アドレスであるi、jの座標が多重化処理を実行すべき領域に属しているか否かを判定している。
【0051】
図5を基に多重化領域について説明する。図5は、水平画素数がWIDTH、垂直画素数がHEIGHTから成る、ひとつの画像イメージを示している。
【0052】
いま、この画像イメージ中に埋め込み情報を多重化すると仮定する。画像イメージの左上を原点とし、横N画素、縦M画素でブロック化をする。本実施形態では、原点を基準点としてブロック化を行なうが、原点から離れた点を基準点として設定しても良い。この画像イメージ中に最大限の情報を多重化する場合に、N×Mのブロックを基準点から配置していく。すなわち、水平方向に配置可能なブロック数をW、垂直方向に配置可能なブロック数をHとすると、以下の関係になる。
W = INT(WIDTH / N) ・・・式1
H = INT(HEIGHT / M) ・・・式2
但し、INT( )は( )内の整数部分を示す。
【0053】
式1、式2において割り切れない剰余画素数が、N×Mのブロックを複数配置した時の端部に相当し、符号多重化領域外となる。
【0054】
図4中、S403にて、現在処理している注目画素が多重化領域外と判定された場合には、S404にて量子化条件Cが設定される。
【0055】
一方、多重化領域内と判定された場合には、多重化すべき埋め込み情報を読み込む。いま、説明を容易にする為に、埋め込み情報をcode[ ]という配列を用いて、各1ビットづつ表現するものとする。例えば印字日時関連情報を32ビット分、付加情報を200ビット分の情報と仮定すると、埋め込み情報は2種が加算された232ビット分となり、配列code[ ]はcode[0]からcode[231]まで、各1ビットづつが格納されていることになる。
【0056】
S405において、変数bitは、以下のように配列code[ ]内の情報を代入する。
bit = code[INT(i / M)×W + INT(j / N)]・・・式3
続いて、S406にて代入した変数bitが“1”か否かを判定する。前述したように、配列code[ ]内の情報は各1ビットずつ格納されている為、変数bitの値も“0”か“1”かの何れかを示すことになる。
【0057】
S406にて、“0”と判定された場合には、S407にて量子化条件Aを、“1”と判定された場合には、S408にて量子化条件Bを設定する。
【0058】
続いてS409では、設定された量子化条件に基づいて量子化処理を行う。この量子化処理は、図3にて説明している誤差拡散法に相当する。
【0059】
続いて、S410では水平方向変数jをカウントアップし、S411にて画像の水平画素数であるWIDTH未満か否かを判定し、 処理画素数がWIDTHになるまで前述の処理を繰り返す。また、水平方向の処理がWIDTH画素数分終了すると、S412にて垂直方向変数iをカウントアップし、S413にて画像の垂直画素数であるHEIGHT未満か否かを判定し、 処理画素数がHEIGHTになるまで前述の処理を繰り返す。以上の動作手順により、N×M画素よりなるブロック単位で、量子化条件を変更することが可能になる。
【0060】
続いて、量子化条件A、B、Cの例について説明する。
【0061】
誤差拡散法における量子化条件は様々な因子があるが、本実施形態では量子化条件は、量子化閾値とする。量子化条件Cの使用は、多重化領域外である為に、量子化閾値は何でも良い。前述したように、1画素が8ビットによる階調表現で、量子化レベルが2値の場合には、最大値である“255”、及び、最小値である“0”が量子化代表値となるが、その中間値となる“128”を量子化閾値として設定することが多い。すなわち、
量子化条件Cでは、量子化閾値を“128”固定とする条件にする。
【0062】
量子化条件A、量子化条件Bの使用は多重化領域内のブロックである為、量子化条件の違いによる画質の違いを生じさせなければならない。但し、画質の違いは視覚的には判別しにくいように表現し、かつ、紙上から容易に識別できなくてはならない。
【0063】
図6は、量子化条件A、Bを表した例である。図6(a)は、量子化条件Aにおける量子化閾値の変化の周期を示した図である。図中、ひとつのマスを1画素分と想定し、白いマスは固定閾値、灰色のマスを変動閾値とする。
【0064】
すなわち、図6(a)の例では、横8画素、縦4画素のマトリクスを組み、灰色のマスの閾値のみ突出した値を閾値として設定する。
【0065】
図6(b)は、同様に、量子化条件Bにおける量子化閾値の変化の周期を示した図である。図6(b)の例では、図6(a)とは異なり、横4画素、縦8画素のマトリクスを組み、灰色のマスの閾値のみ突出した値を閾値として設定する。
【0066】
いま、前述したように1画素が8ビットの階調値の場合に、一例として、固定閾値として“128”、突出した閾値を“48”と設定する。量子化閾値が低くなると、注目画素の量子化値が“1”(量子化代表値“255”)になりやすくなる。すなわち、図6(a)、(b)ともに、図中の灰色のマスの並びで量子化値“1”が発生しやすくなる。言い換えると、N×M画素のブロック毎に、図6(a)の灰色のマスの並びでドットが発生するブロックと、図6(b)の灰色のマスの並びでドットが発生するブロックとが混在することになる。当然、N×M画素の同一ブロック内では、図6(a)、もしくは図6(b)のマトリクスを繰り返すことになる。
【0067】
誤差拡散法における量子化閾値の多少の変更は、画質的には大きな影響を及ぼさない。組織的ディザ法においては、使用するディザパターンによって、階調表現の画質が大きく左右する。しかし、前述したような、規則的に量子化閾値の変化を与えた誤差拡散法では、あくまでも画質を決定する階調表現は誤差拡散法であるため、ドットの並びが多少変化したり、テクスチャの発生が変化したり等、階調表現の画質にはほとんど影響を与えないことになる。
【0068】
それは、量子化閾値が変化した場合でも、あくまでも信号値と量子化値との差分となる誤差は周囲画素に拡散される為、入力された信号値はマクロ的に保存される。すなわち、誤差拡散法におけるドットの並び、テクスチャの発生に関しては冗長性が非常に大きいことになる。
【0069】
また、前述した例は、単純に変数bitの値が“0”の時には量子化条件A、“1”の時には量子化条件Bとして切り替えていたが、これに限るものではない。量子化条件の組み合わせによって変数bitを表現することも可能である。例えば、図7に示した様に、N×M画素のブロックを更に4つの小ブロックに分割し、変数bitの値が“0”の時には図7(a)の配置を、“1”の時には、図7(a)の配置を使用して量子化することで違いを出すことも可能である。
【0070】
次に、埋め込み情報分離装置106について説明する。
【0071】
図8は、埋め込み情報分離装置106の構成を示すブロック図である。
【0072】
800は、入力端子を示し、スキャナで読み込まれた画像情報が入力される。使用するスキャナの解像度は、印字物を作成するプリンタ解像度と同等以上が好ましい。当然、正確に印字物のドットの点在情報を読み込む為には、サンプリング定理により、スキャナ側はプリンタ側よりも2倍以上の解像度が必要になる。しかし、同等以上であれば、正確でなくとも、ある程度ドットが点在しているのを判別することは可能である。
【0073】
本実施形態では、説明を容易にするためにプリンタ解像度とスキャナ解像度が同一解像度と想定する。
【0074】
801は、印字物作成関連情報復号部を示し、埋め込まれた付加情報のうち、まずは、ヘッダ情報である印字日時情報を復号する。この印字物作成関連情報復号部801は、後述する付加情報復号部Bを使用するのが好ましいが、ここでは限定しない。まずはヘッダ情報から復号するわけである。
【0075】
802は選択部を示し、復号された印字日時情報から、以下の変数Dの計算をする。
D =(復号日時)−(印字日時) ・・・式4
すなわち、変数Dは、印字物を作成してから、どの程度の時間が経ているかを計算するものである。この場合の復号日時は、印字日時と同様に、使用者によるキーボード、もしくはマウス等による入力でも良いし、接続しているコンピュータ、及び、その他のシステム上で管理している時計中の日時でも良い。
【0076】
803、804は、それぞれ、付加情報復号部A、付加情報復号部Bを示し、選択部802で算出したDの値に基づいて、一方が選択される。
【0077】
805は、スイッチを示し、以下の選択がなされる。
1) D < TH の場合 ・・・ 付加情報復号部Aを選択
2) それ以外の場合 ・・・ 付加情報復号部Bを選択
ここで、THは予め実験的、経験的に求めた閾値である。すなわち、余り印字してから月日が経っていないと判断した場合には、付加情報復号部Aを、それ以外では、復号部Bを選択する。
【0078】
図9は、復号部Aの構成を示すブロック図である。
【0079】
901は、ブロック化部を示し、P×Q画素単位にブロック化をする。このブロックは、多重化時にブロック化したN×M画素よりも小さくなければならない。すなわち、
P≦N、かつ Q≦M ・・・式5
の関係が成り立つ。
【0080】
また、 P×Q画素単位のブロック化は、ある一定間隔毎スキップしてブロック化を行う。すなわち、多重化時のN×M画素よりなるブロックと想定される領域内に、P×Q画素単位のブロックがひとつ内包するようにブロック化する。スキップ画素数は、水平N画素分、垂直M画素分が基本となる。
【0081】
902、903は、それぞれ特性の異なる空間フィルタA、Bを示し、904は、周辺画素との積和を演算するディジタルフィルタリング部を示している。この空間フィルタの各係数は、多重化時の量子化条件の変動閾値の周期に適応して作成する。
【0082】
いま、埋め込み情報多重化装置106における量子化条件の変更を図6(a)、図6(b)の2種の周期性を用いることにより付加情報を多重化したと仮定する。
【0083】
その時の埋め込み情報分離装置106に使用する空間フィルタA902、空間フィルタB903の例を、図10(a)、図10(b)に示す。図中、5×5画素の中央部が注目画素になり、それ以外の24画素分が周辺画素になる。図中、空白部の画素は、フィルタ係数が“0”であることを表している。図から明らかな様に、図10(a)、(b)はエッジ強調のフィルタになっている。しかも、その強調するエッジの方向性と多重化した時の変動閾値の方向性とが一致している。つまり、図10(a)は図6(a)に、また、図10(b)は図6(b)に一致するように作成する。
【0084】
905は、特徴量検出部を示し、空間フィルタA902、及び、空間フィルタB903によるフィルタリング部904からのフィルタ後の変換値を基に、なんらかの特徴量を検出する。検出する特徴量の例として、以下のものが考えられる。
1.デジタルフィルタ後のブロック内の変換値の最大値
2.デジタルフィルタ後のブロック内の変換値の最大値と最小値の差分
3.デジタルフィルタ後のブロック内の変換値の分散値
本実施形態では、上記3に示した分散値を特徴量とする。
【0085】
906は、判定部を示し、それぞれの分散値の大小比較をして、分散値が大きい方を符号と判断する。すなわち、空間フィルタAによるフィルタリングの分散値が大きければ、印字時に量子化条件Aで量子化されたものと推測し、反対に空間フィルタBによるフィルタリングの分散値が大きければ、印字時に量子化条件Bで量子化されたものと推測する。
【0086】
量子化条件は、付加情報の符号(式3のbit)に連動している為、量子化条件が識別できるということは、多重化された符号が特定できることに相当する。すなわち、量子化条件Aと推測された場合には、bit=0、量子化条件Bと推測された場合には、bit=1と判断できる。
【0087】
図11は、付加情報復号部Bを示すブロック図である。
【0088】
図1101は、ブロック化部を示し、図9の902と同じでP×Q画素単位にブロック化する。
【0089】
1102は、直交変換部を示し、ブロック化したP×Q画素を直交変換する。ただ、2次元の直交変換を行う時には、Q=Pの正方ブロックでブロック化する必要がある。本実施形態では、DCT(離散コサイン変換)を例にする。
【0090】
P×P画素よりなるブロックの二次元DCTの変換係数は、
但し、C(x)=1/√2 (x=0),
C(x)=1 (x≠0) ・・・式6
で与えられる。
【0091】
1103は、クラス分類部を示し、直交変換係数の帯域毎にクラス分類する。
【0092】
図12は、P=Q=16の時のクラス分類の一例を示している。図12は、1ブロック内の直交変換係数F(u,v)を表していて、左上がDC成分、残りの255成分がAC成分となる。
【0093】
いま、F(4,8)を中心とするクラスAと、F(8,4)を中心とするクラスBの2クラスを作成する。2クラスを図中、太線で示す。このクラス分類部1103は、全256成分をクラス分類する必要はなく、所望の成分を中心とした複数のクラスに分類するだけで良い。この必要なクラス数は、多重化時に量子化制御した条件数に対応する。すなわち、量子化制御した条件数よりもクラス数は多くなることはない。
【0094】
1104は、電力比較部を示し、各クラスの電力の総和を比較する。演算を高速にする為に、発生した変換係数の絶対値を電力の代用としても良い。各クラスの電力の総和を比較することで、付加情報の信号を判断する。
【0095】
いま、多重化時に図6(a)、(b)の量子化条件A、Bを施した例について説明する。前述したように、量子化条件A、Bを用いた量子化では、各々角度の異なる斜め方向にドットが並ぶテクスチャが発生しやすい。すなわち、量子化条件Aにおいて量子化したブロックでは、直交変換処理を行うと、図12のクラスAに大きな電力が発生する。
【0096】
一方、量子化条件Bにおいて量子化したブロックでは、直交変換処理を行うと、図12のクラスBに大きな電力が発生する。
【0097】
すなわち、クラスAとクラスBの電力の大小関係を相対的に比較することにより、該当するブロックの多重化時の量子化条件が、量子化条件A、量子化条件Bの何れであるかが判断できる。量子化条件は、付加情報の符号(式3のbit)に連動している為、量子化条件が識別できるということは、多重化された符号が特定できることに相当する。
【0098】
図4に示したフローチャートの例では、bit=0を量子化条件A、bit=1を量子化条件Bに設定している為、クラスAの電力の方が大きい場合には、bit=0、クラスBの電力の方が大きい場合には、bit=1と判断できる。
【0099】
以上、2種の復号部を説明したが、本実施形態の復号部の切り替えは、復号検出率と復号時間との最適設計に必要である。
【0100】
すなわち、印字から余り時間の経ていない印字物に関しては、変色、退色が進行していないと判断し、復号時間の速い復号部Aにて復号する。一方、印字からかなり時間の経過したものに関しては、変色、退色が進行していると判断し、復号時間よりも復号検出率を優先にして、より精度の高い復号方法を用いる。
【0101】
このように、印字日時からの経過時間を評価因子にすることにより、変色、退色が予測することができ、より最適な復号部を選択することができる。
【0102】
本実施形態では、復号部をA、Bの2種にて説明したが、当然これ以上でも構わない。また、復号部もこれに限定するものではない。
【0103】
また、復号部を同一にして、その検出精度だけを変化させる方法も考えられる。すなわち、より精度が求められる復号部においては、冗長性の高い、繰り返しによる復号が有効である。
【0104】
例えば、前述のP×Q画素による直交変換を用いる方法(復号部B)では、P×Q画素のブロックを空間的に数画素ずらして複数回の直交変換を行い、複数回のクラス比較を通して判断の精度を高める方法が考えられる。その際に、印字日時からの経過時間を評価因子にして、繰り返しの回数を経過時間と共に徐々に増やす様に制御することも有効な方法である。
【0105】
当然、複数回の直交変換を用いて判断した方が、復号精度は向上するが、処理時間は余計にかかってしまう。その最適化は経験的に設計するのが好ましい。
【0106】
また、退色の程度を予測して補正する方法も考えられる。すなわち、退色により印字物の濃度が薄くなる為、印字日時からの経過時間を評価因子にして、経験的な補正値を算出して、濃度補正をも含めた復号方法も考えられる。
【0107】
その際には、経過時間に依存した濃度補正カーブなるものを複数種テーブルとして予め用意しておいて、復号時に補正するものである。
【0108】
また、色材(インク)により退色の程度が異なる場合には、復号処理に使用する色を変化する方法も考えられる。例えば、仮にマゼンタが他の色(シアン、イエロー、ブラック)よりも退色しやすい傾向があれば、経過時間を評価因子にして、RGBのうち、マゼンタの補色となるG成分からの復号影響度合いを変化させることも有効である。
【0109】
すなわち、経過時間が経っていない場合には、G成分の復号を中心に判断して、経過時間が経つほどにG成分の復号の影響を減らして判断する方法である。
【0110】
以上説明したように、上記第1の実施形態によれば、印字日時からの経過時間に基づいて画像に埋め込まれた所定の情報を抽出する抽出方法を切り替えることにより、抽出時の抽出精度、抽出時間の最適化を実現することができる。
【0111】
(第2の実施形態)
図13に、第2の実施形態の画像処理システムの構成を示す。
【0112】
図13は、図1に示した構成と一部異なっているので、異なる点のみ説明する。すなわち、本実施形態では、前述した第1の実施形態の印字日時情報の代わりに、端子1301から印字環境情報をヘッダ情報として埋め込むものである。
【0113】
印字環境情報とは、印字物を作成した時の温度、湿度、気圧(高度)等が考えられるが、本実施形態では温度のみを対象とする。印字時の温度は、使用者によるキーボード、もしくはマウス等による入力でも良いし、プリンタ内蔵の温度検知部からの信号によるものでも良い。今、例えば、温度情報を16ビット分、付加情報を200ビットとすると、合計216ビットの埋め込み情報を多重化することになる。
【0114】
復号部は前述した第1の実施形態と同様である。本実施形態では、前述した第1の実施形態の変数Dの換わりに、温度情報を変数Tとして、復号部の切り替え、もしくは復号精度の制御を行うことを特徴とする。
【0115】
印字時の温度は、インクジェットプリンタや電子写真系のプリンタにとって、ドット径が変化する要因となる。すなわち、高温時に印字したものは、ドット径が大きくなり、常温時よりも復号がより困難になる恐れがある。逆に低温時に印字したものは、ドット径が小さくなり、同様に常温時よりも復号が困難になる恐れがある。そこで、変数Tは、常温時を中心にして、高温、もしくは、低温に変化するにつれ、復号精度を向上させるような制御をすることが必要だ。復号精度の向上は、前述したように、復号時間とのトレードオフになる為に、実験的に最適な方法を設定する必要がある。
【0116】
以上、印字環境を温度を例にして説明したが、前述した他の環境情報でも同様の制御が実現できる。
【0117】
また、印字日時情報、各種印字環境情報を合わせてヘッダにして埋め込み情報にして多重化する方法も考えられる。
【0118】
また、多重化方法、付加情報の分離方法は限定しない。いかなる、多重化方法、分離方法においても、印字日時からの経過時間、もしくは、印字時の環境情報に基づいて分離方法を制御する構成は有効である。
【0119】
以上説明したように、上記第2の実施形態によれば、印字時の環境情報基づいて画像に埋め込まれた所定の情報を抽出する抽出方法を切り替えることにより、抽出時の抽出精度、抽出時間の最適化を実現することができる。
【0120】
(他の実施形態)
また、本発明は、複数の機器(例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタ等)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、複写機、ファクシミリ装置等)に適用しても良い。
【0121】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウエアのプログラムコードを記録した記憶媒体(または記録媒体)を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0122】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0123】
【発明の効果】
以上説明したように、本発明によれば、印字日時からの経過時間、もしくは、印字時の環境情報に基づいて画像に埋め込まれた所定の情報を抽出する抽出方法を切り替えることにより、抽出時の抽出精度、抽出時間の最適化を実現することができる。
【0124】
また、本発明により、容易に画像情報への付加情報の多重化が実現できる為、画像情報中に音声情報や秘匿情報を埋め込むサービス、アプリケーションが提供できる。また、紙幣、印紙、有価証券等の不正な偽造行為を抑制したり、画像情報の著作権侵害を防止したりすることができる。
【図面の簡単な説明】
【図1】本実施形態の画像処理システムを示す要部ブロック図
【図2】図1の埋め込み情報多重化装置を示す要部ブロック図
【図3】図2の誤差拡散処理部を示す要部ブロック図
【図4】量子化制御部を含む多重化処理の動作手順を示すフローチャート
【図5】ブロック化の一例
【図6】量子化条件における量子化閾値変化の一例
【図7】量子化条件の組み合わせの配置例
【図8】図1の埋め込み情報分離装置を示す要部ブロック図
【図9】図8の付加情報復号部Aの構成を示すブロック図
【図10】空間フィルタの一例
【図11】図8の付加情報復号部Bの構成を示すブロック図
【図12】二次元周波数領域での周波数ベクトルの説明図
【図13】第2の実施形態の埋め込み情報分離装置を示す要部ブロック図
【図14】従来法の多重化の一例を示すブロック図
【図15】従来法の多重化の一例を示すブロック図
【図16】従来法の多重化の一例を示すブロック図
【図17】従来法の分離の一例を示すブロック図[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an image processing apparatus and an image processing method, and in particular, in image information, information other than the image information, for example, voice information, text document information, various information about an image, completely different image information, and the like. As additional information, the present invention relates to image processing that is embedded in a visually inconspicuous manner.
[0002]
[Prior art]
Conventionally, research on multiplexing other information related to an image in image information has been actively conducted. In recent years, it has been referred to as digital watermarking technology. In image information such as photographs and paintings, additional information such as the author's name and permission to use is multiplexed so that it is difficult to visually distinguish them, and networks such as the Internet The technology distributed through is being standardized.
[0003]
Another application field is output from images output on paper to prevent unauthorized counterfeiting of banknotes, stamps, securities, etc. as image quality of image output devices such as copiers and printers increases. There is a technique for embedding additional information in an image in order to specify a device and its machine number.
[0004]
For example, Japanese Patent Application Laid-Open No. 7-123244 proposes a technique for multiplexing information by embedding additional information in a high-frequency region of a color difference component and a saturation component with low visual sensitivity.
[0005]
However, the technique described above has the following problems. FIG. 14 is a diagram showing embedding of general additional information in the digital watermark technique. Image information A and additional information B are multiplexed through an adder 1401 and changed to multiplexed information C. FIG. 14 shows an example in which additional information is multiplexed in the real space area of image information. If it is possible to distribute this multiplexed information C without performing various image processing such as filtering or encoding such as lossy compression, it is possible to decode the additional information B from the multiplexed information C even in the prior art. Easy. Image information distributed on the Internet can be decoded through a digital filter for improving image quality such as edge enhancement and smoothing if it has some noise tolerance.
[0006]
However, it is assumed that the multiplexed image is printed by an output device such as a printer, and additional information is extracted from the printed matter. In addition, a printer output is assumed in which the printer to be used has an expression capability of about 2 to several gradations per single color. In recent years, inkjet printers have been launched on the market that can display several gradations per single color by using ink with a low dye concentration or variably controlling the output dot diameter. Unless tone is used, the gradation of a photographic image cannot be expressed.
[0007]
That is, in the above-described assumption that the multiplexing method using the digital watermark technique of FIG. 14 is output to the printer, the multiplexed information C is changed to the quantized information D by the
[0008]
FIG. 16 shows an example of a conventional digital watermark technique in which image information is converted into a frequency domain using a Fourier transform or the like, and then synthesized into a high frequency area or the like instead of the real space domain. In FIG. 16, image information is converted into a frequency domain by an
[0009]
FIG. 17 shows a procedure for separating additional information from paper. That is, information on the printed matter is input via the
[0010]
As is clear from FIGS. 16 and 17, it can be seen that a large number of complicated processing steps are passed from the multiplexing of the additional information to the separation. In the case of a color image, this series of processing steps includes a color conversion process for converting to a color unique to the printer. In order to achieve good separation even in such a complicated processing step, a very strong signal must be input. It is difficult to input a strong signal while maintaining good image quality. In addition, the large number of processing steps and the complexity make the processing time required for multiplexing and separation very long.
[0011]
Further, in the above-mentioned Japanese Patent Laid-Open No. 7-123244, information is added to the high frequency region. However, when the error diffusion method is performed in the pseudo gradation processing in the subsequent stage, the high-pass filter characteristic unique to the error diffusion method is used. The additional information band is buried in the texture band generated by error diffusion, and there is a possibility that decoding may fail. In addition, a highly accurate scanner device is required for decoding.
[0012]
In other words, it is understood that the methods shown in FIGS. 15 and 16 are not suitable when pseudo gradation processing is assumed. In other words, a method of multiplexing additional information that greatly utilizes the characteristics of pseudo gradation processing is required.
[0013]
Special registration 2640939 and special registration 2777800 are examples in which multiplexing of additional information and redundancy of pseudo gradation processing are combined.
[0014]
In the former, when binarization is performed by the systematic dither method, data is mixed in the image signal by selecting one of the dither matrices representing the same gradation.
[0015]
However, with the systematic dither method, it is difficult to output a photographic image with high image quality unless the printer has high resolution and excellent mechanical accuracy. This is because a slight deviation in mechanical accuracy occurs as low-frequency noise such as horizontal stripes and is easily visible on paper. In addition, when the dither matrix is periodically changed, a band of a specific frequency generated by the regularly arranged dither is disturbed, which adversely affects image quality. Also, the gradation expression ability varies greatly depending on the type of dither matrix. Particularly on paper, since the change in area ratio due to dot overlap or the like varies depending on the dither matrix, it may be possible to cause a change in density by switching the dither matrix even in a region having a uniform density on the signal.
[0016]
In addition, for the decoding (separation) side, a decoding method that estimates what dither matrix is used for binarization while the pixel value of the image information that is the original signal is unknown may cause erroneous decoding. Very big.
[0017]
The latter is a method of multiplexing additional information according to the arrangement using a color dither pattern method. In this method, as in the former case, image quality deterioration cannot be avoided by switching. In addition, as compared with the former, more additional information can be multiplexed, but color change is caused by changing the arrangement of the color components, and image quality deterioration is particularly large in a flat portion. Also, it is expected that decoding on paper will become even more difficult.
[0018]
In any case, both methods of changing the dither matrix have a problem that decoding is difficult although image quality deterioration is large.
[0019]
Therefore, the applicant of the present invention first uses the texture generated by the error diffusion method to artificially create a combination of quantized values that cannot be generated by normal pseudo gradation processing, thereby embedding codes. Proposed method to do.
[0020]
In this method, the texture shape only slightly changes microscopically, so that the image quality is not visually deteriorated. In addition, if a method for changing the quantization threshold of the error diffusion method is used, the density value of the area gradation is visually maintained, so that multiplexing of different signals can be realized very easily.
[0021]
However, according to the above proposal, the decoding side must determine whether the texture is artificial or not. In the printed matter output on the paper, the texture may not be reproduced well due to a deviation from a desired landing point position such as a warp of dots.
[0022]
In color images, the method of multiplexing to the color component with the lowest visual sensitivity is the mainstream, but the texture discrimination in the real space region is easily influenced by other color components, and the multiplexing information Separation becomes difficult.
[0023]
In addition, in order to solve the above-described problems, the present applicant performs amplitude modulation on the quantization threshold of the error diffusion method with a predetermined periodicity, and controls a plurality of types of the periodicity of the threshold modulation for each region. Proposed a method of embedding codes based on this periodicity by controlling the generation probability of the quantization value of pseudo gradation processing. In this method, since the relative power information in a plurality of predetermined frequency bands is an important decoding factor rather than the phase information forming the code, compared to the method of determining the position and shape of the texture described above, Good decoding can be realized even on paper.
[0024]
[Problems to be solved by the invention]
However, the above proposal has the following problems.
[0025]
That is, when considering a decoding unit that separates additional information from a printed matter, deterioration of the printed matter due to changes over time becomes a serious problem. In the case of electronic files, such deterioration factors do not need to be considered at all due to the long-lasting nature of digital data. However, in the printed matter, especially on paper output by an inkjet printer, immediately after printing and after printing. After several days, months, and years, fading and discoloration occur due to the characteristics and fastness of the ink and the recorded printing medium, and the degree of change varies.
[0026]
Until now, since the decoding method was single and the printing situation could not be understood, there was no choice but to use the same decoding method for both the printed matter immediately after printing and the printed matter after several years after fading. It was. Further, since there was no means for knowing not only the date and time of creation of the printed matter but also the environment such as temperature and humidity at the time of creation, the same decoding method could only be used for printed matter printed in any environment.
[0027]
That is, it has not been possible to propose a decoding system that can realize optimal design of detection accuracy and decoding processing time in decoding.
[0028]
The present invention has been made to solve the above-described problems, and provides an image processing apparatus and an image processing method capable of optimizing extraction accuracy and extraction time when extracting predetermined information from an image. The purpose is to do.
[0029]
[Means for Solving the Problems]
In order to achieve the above object, an image processing apparatus of the present invention includes an image input unit that reads a recorded material in which an image in which predetermined information is embedded is formed and inputs an image corresponding to the recorded material, and the recording Related information input means for inputting related information relating to the image formation status of the object, and the predetermined information from the input imageExtractBased on the extraction means and the input related informationExtraction accuracy by the extraction meansSwitching means for switching betweenIt is characterized by that.
[0030]
The image processing method of the present invention also relates to an image input step of reading a recorded material in which an image in which predetermined information is embedded is imaged and inputting an image corresponding to the recorded material, and an image forming state for the recorded material. A related information input step for inputting related information, and the predetermined information from the input image.ExtractBased on the extraction process and the input related informationExtraction accuracy by the extraction processSwitching step for switching betweenIt is characterized by.
[0031]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, an embodiment according to the present invention will be described in detail with reference to the drawings. The image processing apparatus according to the present embodiment is efficiently incorporated mainly as printer driver software or application software in a computer that creates image information to be output to the printer engine. It is also effective to incorporate the printer main body as hardware and software.
[0032]
(First embodiment)
FIG. 1 is a block diagram illustrating a configuration of an image processing system according to the first embodiment.
[0033]
[0034]
From 102, information related to the date and time when a printed matter is created from the printer is input. In this embodiment, in addition to the above-described additional information, the print date and time is embedded in the image information as header information. This printing date and time may be input by a user using a keyboard or a mouse, or may be a date and time in a clock managed on a connected computer or other system.
[0035]
[0036]
[0037]
The output printed matter reads information on the printed matter using the
[0038]
FIG. 2 is a block diagram showing a configuration of the embedded
[0039]
An error
[0040]
[0041]
Reference numeral 202 denotes a quantization condition control unit, which changes and controls the quantization condition in units of areas blocked by the blocking
[0042]
A
[0043]
FIG. 3 is a block diagram showing details of the error
Now, an error diffusion process in which the quantized value is binary will be described as an example. The quantized value is not limited to binary, but may be multivalued, for example, ternary or quaternary.
[0044]
[0045]
[0046]
The distribution table 304 in FIG. 3 shows a distribution table for four surrounding pixels, but is not limited to this.
[0047]
Next, the entire operation procedure including the quantization condition control unit 202 will be described with reference to the flowchart of FIG. Now, an example in which the quantized value is binary will be described. The quantized value is not limited to binary, but may be multivalued, for example, ternary or quaternary.
[0048]
S401 indicates initialization of the variable i. The variable i is a variable for counting vertical addresses.
[0049]
S402 indicates initialization of the variable j. The variable j is a variable for counting horizontal addresses.
[0050]
Subsequently, S403 is a determination step based on the address values of i and j, and it is determined whether or not the coordinates of i and j, which are the current processing addresses, belong to an area where the multiplexing process is to be executed.
[0051]
The multiplexed area will be described with reference to FIG. FIG. 5 shows one image having a horizontal pixel number of WIDTH and a vertical pixel number of HEIGHT.
[0052]
Assume that the embedded information is multiplexed in this image. The upper left of the image is set as the origin, and blocking is performed with N horizontal pixels and M vertical pixels. In the present embodiment, the origin is set as a reference point, but the block may be set as a reference point. When the maximum information is multiplexed in this image, N × M blocks are arranged from the reference point. That is, when the number of blocks that can be arranged in the horizontal direction is W and the number of blocks that can be arranged in the vertical direction is H, the following relationship is established.
W = INT (WIDTH / N) ...
H = INT (HEIGHT / M) ...
However, INT () indicates an integer part in ().
[0053]
The number of remaining pixels that cannot be divided in
[0054]
In FIG. 4, if it is determined in S403 that the pixel of interest currently being processed is outside the multiplexing region, the quantization condition C is set in S404.
[0055]
On the other hand, if it is determined that it is within the multiplexed area, the embedded information to be multiplexed is read. For ease of explanation, it is assumed that the embedded information is expressed bit by bit using an array called code []. For example, assuming that the printing date / time related information is 32 bits and the additional information is 200 bits, the embedded information is 232 bits obtained by adding two types, and the array code [] is changed from code [0] to code [231]. Up to this point, each bit is stored.
[0056]
In S405, the variable bit is substituted with information in the array code [] as follows.
bit = code [INT (i / M) x W + INT (j / N)] ...
Subsequently, it is determined whether or not the variable bit substituted in S406 is “1”. As described above, since information in the array code [] is stored one bit at a time, the value of the variable bit indicates either “0” or “1”.
[0057]
If “0” is determined in S406, the quantization condition A is set in S407, and if “1” is determined, the quantization condition B is set in S408.
[0058]
Subsequently, in S409, a quantization process is performed based on the set quantization condition. This quantization process corresponds to the error diffusion method described in FIG.
[0059]
Subsequently, in S410, the horizontal variable j is counted up, and in S411, it is determined whether or not it is less than WIDTH which is the number of horizontal pixels of the image, and the above-described processing is repeated until the number of processed pixels becomes WIDTH. When the horizontal processing is completed for the number of WIDTH pixels, the vertical variable i is counted up in S412, and it is determined in S413 whether or not it is less than HEIGHT which is the vertical pixel number of the image. Repeat the above process until. With the above operation procedure, the quantization condition can be changed in units of blocks each consisting of N × M pixels.
[0060]
Subsequently, examples of the quantization conditions A, B, and C will be described.
[0061]
Although there are various factors in the quantization condition in the error diffusion method, in this embodiment, the quantization condition is a quantization threshold. Since the use of the quantization condition C is outside the multiplexing region, any quantization threshold value may be used. As described above, when one pixel is represented by 8 bits of gradation and the quantization level is binary, the maximum value “255” and the minimum value “0” are the quantization representative value. However, “128” which is the intermediate value is often set as the quantization threshold. That is,
In the quantization condition C, the quantization threshold is fixed to “128”.
[0062]
Since the use of the quantization condition A and the quantization condition B is a block in the multiplexing region, a difference in image quality due to a difference in the quantization condition must be generated. However, the difference in image quality must be expressed so that it is difficult to distinguish visually, and it must be easily identifiable from the paper.
[0063]
FIG. 6 is an example showing the quantization conditions A and B. FIG. 6A is a diagram showing a cycle of change of the quantization threshold in the quantization condition A. In the figure, one square is assumed to be one pixel, a white square is a fixed threshold, and a gray square is a variation threshold.
[0064]
In other words, in the example of FIG. 6A, a matrix of 8 horizontal pixels and 4 vertical pixels is assembled, and a value that protrudes only from the gray square threshold is set as the threshold.
[0065]
Similarly, FIG. 6B is a diagram illustrating the period of change of the quantization threshold in the quantization condition B. In the example of FIG. 6B, unlike FIG. 6A, a matrix of 4 horizontal pixels and 8 vertical pixels is assembled, and a value that protrudes only from a gray square threshold is set as the threshold.
[0066]
As described above, when one pixel has an 8-bit gradation value as described above, for example, “128” is set as the fixed threshold value, and “48” is set as the protruding threshold value. When the quantization threshold is lowered, the quantization value of the target pixel tends to be “1” (quantization representative value “255”). That is, in both FIGS. 6A and 6B, the quantized value “1” is likely to occur due to the arrangement of gray cells in the figure. In other words, for each N × M pixel block, there are a block in which dots are generated in the arrangement of gray squares in FIG. 6A and a block in which dots are generated in the arrangement of gray squares in FIG. 6B. Will be mixed. Naturally, the matrix shown in FIG. 6A or 6B is repeated in the same block of N × M pixels.
[0067]
A slight change in the quantization threshold in the error diffusion method does not have a significant effect on image quality. In the systematic dither method, the image quality of gradation expression greatly depends on the dither pattern used. However, in the error diffusion method in which the quantization threshold is regularly changed as described above, the gradation expression that determines the image quality is the error diffusion method, so the dot arrangement may change slightly or the texture may change. The image quality of the gradation expression is hardly affected, such as occurrence changes.
[0068]
That is, even when the quantization threshold changes, the error that is the difference between the signal value and the quantized value is diffused to surrounding pixels, so that the input signal value is stored in a macro manner. In other words, the redundancy is very large with respect to dot arrangement and texture generation in the error diffusion method.
[0069]
In the above-described example, the switching is simply performed as the quantization condition A when the value of the variable bit is “0”, and as the quantization condition B when the value of the variable bit is “1”. However, the present invention is not limited to this. It is also possible to express the variable bit by a combination of quantization conditions. For example, as shown in FIG. 7, the N × M pixel block is further divided into four small blocks. When the value of the variable bit is “0”, the arrangement of FIG. It is also possible to make a difference by quantizing using the arrangement of FIG.
[0070]
Next, the embedded
[0071]
FIG. 8 is a block diagram illustrating a configuration of the embedded
[0072]
[0073]
In the present embodiment, for ease of explanation, it is assumed that the printer resolution and the scanner resolution are the same.
[0074]
[0075]
D = (Decoding date / time) − (Printing date / time) Expression 4
That is, the variable D is for calculating how much time has passed since the printed matter was created. The decoding date and time in this case may be input by the user using a keyboard or mouse as in the case of the printing date and time in the clock managed by the connected computer and other systems. .
[0076]
[0077]
1) When D <TH: Select additional information decoding unit A
2) Otherwise: Select additional information decoding unit B
Here, TH is a threshold value obtained experimentally and empirically in advance. That is, if it is determined that the month and day have not passed since the last printing, the additional information decoding unit A is selected. Otherwise, the decoding unit B is selected.
[0078]
FIG. 9 is a block diagram illustrating a configuration of the decoding unit A.
[0079]
P ≦ N and Q ≦ M Formula 5
The relationship holds.
[0080]
Further, the block formation in units of P × Q pixels is performed by skipping at certain intervals. That is, the block is formed so that one block of P × Q pixel unit is included in an area assumed to be a block of N × M pixels at the time of multiplexing. The number of skip pixels is basically N horizontal pixels and M vertical pixels.
[0081]
[0082]
Now, it is assumed that the quantization condition in the embedded
[0083]
Examples of the spatial filter A 902 and the
[0084]
Reference numeral 905 denotes a feature amount detection unit, which detects some feature amount based on the converted values after filtering from the
1. Maximum conversion value in the block after digital filter
2. Difference between the maximum and minimum conversion values in the block after digital filtering
3. Variance value of converted value in block after digital filter
In the present embodiment, the variance value shown in 3 above is used as a feature amount.
[0085]
Reference numeral 906 denotes a determination unit that compares the respective variance values and determines that the one with the larger variance value is a code. That is, if the variance value of the filtering by the spatial filter A is large, it is estimated that the quantization is performed under the quantization condition A at the time of printing. On the contrary, if the variance value of the filtering by the spatial filter B is large, the quantization condition B at the time of printing is I guess it was quantized with.
[0086]
Since the quantization condition is linked to the code of additional information (bit in Expression 3), the fact that the quantization condition can be identified corresponds to the ability to specify the multiplexed code. That is, when the quantization condition A is estimated, it can be determined that bit = 0, and when the quantization condition B is estimated, bit = 1.
[0087]
FIG. 11 is a block diagram showing the additional information decoding unit B.
[0088]
FIG. 1101 shows a blocking unit, which is the same as 902 in FIG. 9 and blocks in units of P × Q pixels.
[0089]
[0090]
The conversion coefficient of the two-dimensional DCT of the block consisting of P × P pixels is
However, C (x) = 1 / √2 (x = 0),
C (x) = 1 (x ≠ 0) Expression 6
Given in.
[0091]
[0092]
FIG. 12 shows an example of class classification when P = Q = 16. FIG. 12 shows orthogonal transform coefficients F (u, v) in one block, with the DC component on the upper left and the AC component of the remaining 255 components.
[0093]
Now, two classes, class A centering on F (4,8) and class B centering on F (8,4), are created. Two classes are indicated by bold lines in the figure. The
[0094]
[0095]
Now, an example in which the quantization conditions A and B of FIGS. 6A and 6B are applied at the time of multiplexing will be described. As described above, in the quantization using the quantization conditions A and B, a texture in which dots are arranged in oblique directions with different angles is likely to occur. That is, in the block quantized under the quantization condition A, when orthogonal transformation processing is performed, large power is generated in class A in FIG.
[0096]
On the other hand, in the block quantized under the quantization condition B, when orthogonal transformation processing is performed, large power is generated in class B in FIG.
[0097]
That is, it is determined whether the quantization condition at the time of multiplexing the corresponding block is the quantization condition A or the quantization condition B by relatively comparing the magnitude relationship between the power of class A and class B. it can. Since the quantization condition is linked to the code of additional information (bit in Expression 3), the fact that the quantization condition can be identified corresponds to the ability to specify the multiplexed code.
[0098]
In the example of the flowchart shown in FIG. 4, since bit = 0 is set to the quantization condition A and bit = 1 is set to the quantization condition B, when the power of class A is larger, bit = 0, If the power of class B is larger, it can be determined that bit = 1.
[0099]
Although two types of decoding units have been described above, switching of the decoding units according to the present embodiment is necessary for optimal design of the decoding detection rate and the decoding time.
[0100]
That is, it is determined that discoloration or fading has not progressed for a printed matter that has not passed the time since printing, and is decoded by the decoding unit A having a fast decoding time. On the other hand, for those that have passed a considerable amount of time since printing, it is determined that discoloration and fading have progressed, and a decoding method with higher accuracy is used with priority given to the decoding detection rate over decoding time.
[0101]
In this way, by using the elapsed time from the print date and time as an evaluation factor, discoloration and fading can be predicted, and a more optimal decoding unit can be selected.
[0102]
In the present embodiment, the decoding unit has been described with two types of A and B, but naturally more than this may be used. Further, the decoding unit is not limited to this.
[0103]
In addition, a method of changing the detection accuracy with the same decoding unit is also conceivable. That is, in a decoding unit that requires higher accuracy, it is effective to perform decoding by repetition with high redundancy.
[0104]
For example, in the above-described method using orthogonal transformation using P × Q pixels (decoding unit B), a block of P × Q pixels is spatially shifted by several pixels, orthogonal transformation is performed a plurality of times, and determination is made through a plurality of class comparisons. A method for improving the accuracy of the above can be considered. In that case, it is also effective to control the elapsed time from the printing date and time so that the number of repetitions gradually increases with the elapsed time.
[0105]
Of course, the determination using multiple orthogonal transforms improves the decoding accuracy, but requires more processing time. The optimization is preferably designed empirically.
[0106]
A method of predicting and correcting the degree of fading is also conceivable. In other words, since the density of the printed matter becomes lighter due to fading, a decoding method including density correction by calculating an empirical correction value using the elapsed time from the printing date as an evaluation factor is also conceivable.
[0107]
In this case, a density correction curve depending on the elapsed time is prepared in advance as a plurality of types of tables and corrected at the time of decoding.
[0108]
Further, when the degree of fading differs depending on the color material (ink), a method of changing the color used for the decoding process is also conceivable. For example, if magenta tends to fade more easily than other colors (cyan, yellow, black), the elapsed time is used as an evaluation factor, and the degree of decoding influence from the G component that is complementary to magenta in RGB is set. It is also effective to change.
[0109]
That is, when the elapsed time has not passed, the determination is made mainly on the decoding of the G component, and the influence of the decoding of the G component is reduced as the elapsed time passes.
[0110]
As described above, according to the first embodiment, the extraction accuracy and extraction at the time of extraction can be changed by switching the extraction method for extracting the predetermined information embedded in the image based on the elapsed time from the printing date and time. Time optimization can be realized.
[0111]
(Second Embodiment)
FIG. 13 shows the configuration of the image processing system of the second embodiment.
[0112]
Since FIG. 13 is partially different from the configuration shown in FIG. 1, only different points will be described. In other words, in this embodiment, printing environment information is embedded as header information from the terminal 1301 instead of the printing date and time information of the first embodiment described above.
[0113]
The printing environment information may be temperature, humidity, atmospheric pressure (altitude), etc. when the printed matter is created. In this embodiment, only the temperature is targeted. The temperature at the time of printing may be input by a user using a keyboard or a mouse, or may be a signal from a temperature detection unit built in the printer. Now, for example, if temperature information is 16 bits and additional information is 200 bits, a total of 216 bits of embedded information is multiplexed.
[0114]
The decoding unit is the same as that in the first embodiment described above. The present embodiment is characterized in that, instead of the variable D in the first embodiment described above, the temperature information is used as a variable T to switch the decoding unit or control the decoding accuracy.
[0115]
The temperature at the time of printing is a factor that changes the dot diameter for an ink jet printer or an electrophotographic printer. That is, a printed matter at a high temperature has a large dot diameter and may be more difficult to decode than at a normal temperature. On the other hand, when printed at a low temperature, the dot diameter is small, and similarly, there is a possibility that decoding is more difficult than at normal temperature. Therefore, the variable T needs to be controlled so as to improve the decoding accuracy as it changes to high temperature or low temperature mainly at normal temperature. As described above, since the decoding accuracy is traded off with the decoding time, it is necessary to set an optimal method experimentally.
[0116]
The printing environment has been described above by taking the temperature as an example, but the same control can be realized with the other environmental information described above.
[0117]
Another possible method is to combine the print date / time information and various print environment information into a header and embed information.
[0118]
The multiplexing method and the additional information separation method are not limited. In any multiplexing method or separation method, a configuration in which the separation method is controlled based on the elapsed time from the print date or the environment information at the time of printing is effective.
[0119]
As described above, according to the second embodiment, by switching the extraction method for extracting the predetermined information embedded in the image based on the environmental information at the time of printing, the extraction accuracy and the extraction time at the time of extraction can be changed. Optimization can be realized.
[0120]
(Other embodiments)
In addition, the present invention can be applied to a system composed of a plurality of devices (for example, a host computer, interface device, reader, printer, etc.), or a device (for example, a copier, a facsimile device, etc.) composed of a single device. You may apply to.
[0121]
Another object of the present invention is to supply a storage medium (or recording medium) that records software program codes for realizing the functions of the above-described embodiments to a system or apparatus, and to perform a computer (or CPU) of the system or apparatus. Needless to say, this can also be achieved by reading and executing the program code stored in the storage medium. In this case, the program code itself read from the storage medium realizes the functions of the above-described embodiments, and the storage medium storing the program code constitutes the present invention. Further, by executing the program code read by the computer, not only the functions of the above-described embodiments are realized, but also an operating system (OS) running on the computer based on the instruction of the program code. It goes without saying that a case where the function of the above-described embodiment is realized by performing part or all of the actual processing and the processing is included.
[0122]
Further, after the program code read from the storage medium is written in a memory provided in a function expansion card inserted into the computer or a function expansion unit connected to the computer, the function expansion is performed based on the instruction of the program code. It goes without saying that the CPU or the like provided in the card or the function expansion unit performs part or all of the actual processing, and the functions of the above-described embodiments are realized by the processing.
[0123]
【The invention's effect】
As described above, according to the present invention, by switching the extraction method for extracting predetermined information embedded in an image based on the elapsed time from the print date or the environment information at the time of printing, Optimization of extraction accuracy and extraction time can be realized.
[0124]
Further, according to the present invention, additional information can be easily multiplexed with image information, so that a service or application for embedding audio information or confidential information in image information can be provided. In addition, illegal counterfeiting such as banknotes, stamps, and securities can be suppressed, and copyright infringement of image information can be prevented.
[Brief description of the drawings]
FIG. 1 is a principal block diagram showing an image processing system of an embodiment.
2 is a principal block diagram showing the embedded information multiplexing apparatus of FIG. 1; FIG.
3 is a principal block diagram showing the error diffusion processing unit of FIG. 2;
FIG. 4 is a flowchart showing an operation procedure of a multiplexing process including a quantization control unit.
FIG. 5 shows an example of blocking.
FIG. 6 shows an example of quantization threshold change under quantization conditions.
FIG. 7 shows an example of arrangement of combinations of quantization conditions.
8 is a principal block diagram showing the embedded information separating apparatus of FIG. 1. FIG.
9 is a block diagram showing a configuration of an additional information decoding unit A in FIG.
FIG. 10 shows an example of a spatial filter.
11 is a block diagram showing a configuration of an additional information decoding unit B in FIG. 8;
FIG. 12 is an explanatory diagram of a frequency vector in a two-dimensional frequency domain.
FIG. 13 is a principal block diagram showing an embedded information separating apparatus according to a second embodiment;
FIG. 14 is a block diagram illustrating an example of conventional multiplexing.
FIG. 15 is a block diagram illustrating an example of conventional multiplexing.
FIG. 16 is a block diagram illustrating an example of conventional multiplexing;
FIG. 17 is a block diagram showing an example of separation in the conventional method
Claims (11)
前記記録物に対する像形成状況に関する関連情報を入力する関連情報入力手段と、
前記入力された画像から前記所定の情報を抽出する抽出手段と、
前記入力された関連情報に基づいて前記抽出手段による抽出精度を切り替える切替手段とを有することを特徴とする画像処理装置。Image input means for reading a recorded material in which an image in which predetermined information is embedded is formed and inputting an image corresponding to the recorded material;
Related information input means for inputting related information related to the image formation status of the recorded matter;
Extracting means for extracting the predetermined information from the input image;
An image processing apparatus comprising: a switching unit that switches extraction accuracy by the extraction unit based on the input related information.
前記記録物に対する像形成状況に関する関連情報を入力する関連情報入力工程と、
前記入力された画像から前記所定の情報を抽出する抽出工程と、
前記入力された関連情報に基づいて前記抽出工程による抽出精度を切り替える切替工程とを有することを特徴とする画像処理方法。An image input step of reading a recorded material in which an image in which predetermined information is embedded is formed and inputting an image corresponding to the recorded material;
A related information input step of inputting related information regarding the image formation status of the recorded matter;
An extraction step of extracting the predetermined information from the input image;
An image processing method comprising: a switching step of switching extraction accuracy by the extraction step based on the input related information.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001243956A JP3684178B2 (en) | 2001-08-10 | 2001-08-10 | Image processing apparatus and image processing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001243956A JP3684178B2 (en) | 2001-08-10 | 2001-08-10 | Image processing apparatus and image processing method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003060887A JP2003060887A (en) | 2003-02-28 |
JP3684178B2 true JP3684178B2 (en) | 2005-08-17 |
Family
ID=19073960
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001243956A Expired - Fee Related JP3684178B2 (en) | 2001-08-10 | 2001-08-10 | Image processing apparatus and image processing method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3684178B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3768225B2 (en) | 2003-04-02 | 2006-04-19 | 松下電器産業株式会社 | Image processing method, image processing apparatus, photographing apparatus, and image output apparatus |
US9961231B2 (en) | 2015-10-06 | 2018-05-01 | Canon Kabushiki Kaisha | Image processing method that attempts decoding of additional information using a plurality of decoding methods, and apparatus therefor |
-
2001
- 2001-08-10 JP JP2001243956A patent/JP3684178B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003060887A (en) | 2003-02-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3647405B2 (en) | Image processing apparatus and image processing method | |
JP4218920B2 (en) | Image processing apparatus, image processing method, and storage medium | |
US6763121B1 (en) | Halftone watermarking method and system | |
US7058199B1 (en) | Methods and apparatus for hiding data in halftone images | |
JP3599621B2 (en) | Image processing apparatus, image processing method, and storage medium | |
JP3639742B2 (en) | Image processing apparatus and method | |
US20050031160A1 (en) | Error diffusion halftone watermarking | |
US7171019B2 (en) | Image processing apparatus and image processing method | |
US7408680B2 (en) | Image processing apparatus and method | |
US6853736B2 (en) | Image processing apparatus, image processing method and storage medium | |
JP3684181B2 (en) | Image processing apparatus and image processing method | |
JP4310031B2 (en) | Image processing apparatus, image processing method, and storage medium | |
JP4311698B2 (en) | Image processing apparatus, image processing method, and recording medium | |
JP3684178B2 (en) | Image processing apparatus and image processing method | |
JP3787511B2 (en) | Image processing apparatus and image processing method | |
JP3478781B2 (en) | Image processing apparatus, image processing method, and storage medium | |
JP3715821B2 (en) | Image processing apparatus and method | |
JP4147074B2 (en) | Image processing apparatus and image processing method | |
JP2003110838A (en) | Device and method for processing image | |
JP2003110839A (en) | Device and method for processing image | |
JP3535791B2 (en) | Image processing apparatus, image processing method, and storage medium | |
JP2001103281A (en) | Image processing device and image processing method | |
JP3740338B2 (en) | Image processing apparatus and method, and storage medium | |
JP2001292301A (en) | Image processing apparatus, image processing method, and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20041018 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050215 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050415 |
|
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: 20050517 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050527 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 3684178 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090603 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090603 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100603 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110603 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120603 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120603 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130603 Year of fee payment: 8 |
|
LAPS | Cancellation because of no payment of annual fees |