(57)【特許請求の範囲】
【請求項１】
画像情報に対して該画像とは別の情報である付加情報を付加する画像処理装置であって、
前記画像情報を入力する画像情報入力手段と、
前記付加情報を入力する付加情報入力手段と、
前記画像情報入力手段により入力された画像情報を所定領域単位にブロック化するブロック化手段と、
第１の量子化閾値及び第２の量子化閾値の発生確率分布について、第１の発生確率分布を有する第１の量子化設定方法と第２の発生確率分布を有する第２の量子化設定方法それぞれの、前記ブロック手段によりブロック化した所定領域内における選択の規則を示す第１の規則性と第２の規則性のいずれかを、前記付加情報入力手段により入力された付加情報を表す符号に基づき用いることによって、前記所定領域内の画像情報の各画素に対して前記第１の量子化設定方法を設定するか前記第２の量子化設定方法を設定するかを選択する選択手段と、
前記選択手段により選択された前記第１の量子化設定方法または前記第２の量子化設定方法に基づいて、前記所定領域内の画像情報の各画素に対して前記第１の量子化閾値または前記第２の量子化閾値を設定する設定手段と、
前記設定手段により設定された前記第１の量子化閾値または前記第２の量子化閾値に用いて、前記所定領域内の画像情報の各画素を誤差拡散法により量子化する量子化手段とを有すること特徴とする画像処理装置。
【請求項２】
前記第１の発生確率分布の平均値は、量子化代表値間の中間値よりも大であり、前記第２の発生確率分布の平均値は、該中間値よりも小であることを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記付加情報は、音声情報であることを特徴とする請求項１記載の画像処理装置。
【請求項４】
前記付加情報は、画像の著作権情報であることを特徴とする請求項１記載の画像処理装置。
【請求項５】
画像情報に対して該画像とは別の情報である付加情報を付加する画像処理方法であって、
前記画像情報を入力する画像情報入力工程と、
前記付加情報を入力する付加情報入力工程と、
前記画像情報入力工程により入力された画像情報を所定領域単位にブロック化するブロック化工程と、
第１の量子化閾値及び第２の量子化閾値の発生確率分布について、第１の発生確率分布を有する第１の量子化設定方法と第２の発生確率分布を有する第２の量子化設定方法それぞれの、前記ブロック工程によりブロック化した所定領域内における選択の規則を示す第１の規則性と第２の規則性のいずれかを、前記付加情報入力工程により入力された付加情報を表す符号に基づき用いることによって、前記所定領域内の画像情報の各画素に対して前記第１の量子化設定方法を設定するか前記第２の量子化設定方法を設定するかを選択する選択工程と、
前記選択工程により選択された前記第１の量子化設定方法または前記第２の量子化設定方法に基づいて、前記所定領域内の画像情報の各画素に対して前記第１の量子化閾値または前記第２の量子化閾値を設定する設定工程と、
前記設定工程により設定された前記第１の量子化閾値または前記第２の量子化閾値に用いて、前記所定領域内の画像情報の各画素を誤差拡散法により量子化する量子化工程とを有すること特徴とする画像処理方法。
【請求項６】
コンピュータを請求項１に記載の画像処理装置として機能させるためのコンピュータプログラムを格納することを特徴とするコンピュータにより読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像処理装置、画像処理方法及び記憶媒体に関する。
【０００２】
【従来の技術】
従来より、画像情報中に、画像に関連のある他の情報を多重化する研究が盛んに行われている。近年では、電子透かし技術と称し、写真、絵画等の画像情報中に、その著作者名や、使用許可の可否等の付加情報を視覚的に判別しづらい様に多重化して、インターネット等のネットワークを通じて流通する技術が標準化されつつある。
【０００３】
また、他の応用分野としては、複写機、プリンタ等の画像出力装置の高画質化に伴い、紙幣、印紙、有価証券等の不正な偽造を防止する目的で、紙上に出力された画像から出力機器、及び、その機体番号を特定する為に、画像中に付加情報を埋め込む技術がある。例えば、特開平7-123244では、視覚的に感度の低い色差成分、及び彩度成分の高周波域に付加情報を埋め込むことにより情報の多重化を行う技術を提案している。
【０００４】
【発明が解決しようとする課題】
しかし、前述した技術は以下の問題点がある。図１９は、電子透かし技術の一般的な付加情報の埋め込みを示した図である。画像情報Aと付加情報Bが加算器１９０１を介して多重化され、Cという多重化情報に変化する。図１９は画像情報の実空間領域で付加情報を多重化する例である。この多重化情報Cを各種フィルタリング等の画像処理や、非可逆圧縮等の符号化をせずに流通することが可能であれば、多重化情報Cから付加情報Bを復号することは従来技術でも容易である。インターネット上で流通する画像情報では、多少のノイズ耐性があれば、エッジ強調、平滑化等の画質向上のデジタルフィルタを通しても復号が可能になる。
【０００５】
しかし、今、多重化した画像をプリンタ等の出力装置により印字し、その印字物から付加情報を取り出す場合を想定する。しかも、使用するプリンタが単色あたり２階調から数階調程度の表現能力しか有していないプリンタ出力を想定する。
【０００６】
近年、インクジェットプリンタは、染料濃度を薄くしたインクを有したり、出力するドット径を可変に制御したりして、単色あたり数階調表現できる装置が上市されているが、それでも疑似階調処理を用いない限り、写真調の画像の階調性は表現できない。すなわち、図１９の電子透かし技術を用いた多重化方法をプリンタに出力するという前述の想定では、図２０に示すように、疑似階調処理２００１により多重化情報CはDという量子化情報に変化し、その後、プリンタ出力２００２にて紙上に印字されることにより、非常に劣化したEという紙上情報（印字物）に変化する。
【０００７】
従って、前述した偽造防止の目的の為に紙上の情報から付加情報を復号するということは、図２０の一連の処理後の紙上情報Eから付加情報Bを復号することになるわけである。この疑似階調処理２００１、プリンタ出力２００２の両処理による情報の変化量は非常に大きく、視覚的に判別できないように付加情報を多重化し、かつ、多重化した付加情報を紙上から正しく復号することは非常に困難なことになる。
【０００８】
また、図２１は、実空間領域ではなく、画像情報をフーリエ変換等を用い、周波数領域に変換してから高周波域等に合成する従来の電子透かし技術の例を示している。図２１において、画像情報を直行変換処理２１０１により周波数領域に変換し、加算器２１０２により、視覚的に判別しづらい特定の周波数に付加情報が加算される。２１０３逆直行変換処理により再び実空間領域に戻された後に、図２０の例と同様に、疑似階調処理、プリンタ出力という大きな変化を伴うフィルタを通ることに相当する。
【０００９】
図２２では、紙上からの付加情報の分離の手順を示している。すなわち、印字物をスキャナ等の画像読み取り装置２２０１を介して、印字物の情報を入力する。入力された情報は、疑似階調処理により階調表現されている画像である為に、逆疑似階調処理である復元処理２２０２を施す。復元処理は、ＬＰＦ（ローパスフィルタ）を用いるのが一般的である。復元後の情報を２２０３により直行変換処理させた後に、２２０４分離部において、特定の周波数の電力から埋め込んだ付加情報の分離を行う。
【００１０】
以上の図２１、図２２から明らかなように、付加情報を多重化してから分離するまでに、複雑な多数の処理工程を通過することがわかる。カラー画像の場合には、この一連の処理工程の中にプリンタ特有の色に変換する色変換処理も含まれることになる。このような複雑な処理工程でも良好な分離を実現するためには、非常に耐性の強い信号を入れなくてはならない。良好な画質を維持しつつ、耐性の強い信号を入れるのは困難である。また、処理工程が多数、複雑ということは、多重化、及び分離に要する処理時間が非常に長くなってしまう。
【００１１】
また、前述した特開平7-123244では、高周波域に情報を付加させているが、後段の疑似階調処理で、誤差拡散法を実施した場合には、誤差拡散法特有のハイパスフィルタの特性により、付加情報の帯域が誤差拡散で発生するテクスチャの帯域に埋没してしまい、復号に失敗する恐れが多分にある。また、復号には非常に精度の高いスキャナ装置が必要になる。すなわち、疑似階調処理が前提である場合には、図２０、図２１の方式は適さないことがわかる。言い換えると、疑似階調処理の特性を大きく活かした付加情報の多重化方式が必要になる。
【００１２】
付加情報の多重化と疑似階調処理の冗長性とを結び付けた例として、特登録2640939、特登録2777800がある。
【００１３】
前者は、組織的ディザ法にて2値化する際に、同一階調を表すディザマトリクスの中からいずれか一つを選定することによって、画像信号中にデータを混入するものである。しかし、組織的ディザ法では、高解像の、しかも機械的精度の非常に優れたプリンタで無い限り、写真調の高画質の出力は困難である。多少の機械的精度のずれが、横筋等の低周波のノイズとして発生し、紙上では容易に視覚されてくるからである。
【００１４】
また、ディザマトリクスを周期的に変化させると、規則的に配列されていたディザにより発生する特定周波数の帯域が乱され、画質的に悪影響を及ぼす。また、ディザマトリクスの種類により階調表現能力が大きく異なる。特に紙上においては、ドットの重なり等における面積率の変化がディザマトリクスによって異なる為、たとえ信号上では均一濃度である領域でもディザマトリクスの切り替えで濃度の変化を引き起こすことも考えられる。
【００１５】
また、復号（分離）側にとって、原信号である画像情報の画素値が不明な状態で、いかなるディザマトリクスで2値化されたかを推測する復号方法では、誤った復号をしてしまう可能性が非常に大きい。
【００１６】
また、後者は、カラーのディザパターン法を用いて、その配列により付加情報を多重化する方法である。この方法でも前者と同様、切り換えにより画質劣化は避けられない。また、前者と比べて、より多くの付加情報を多重化できる代わりに、色成分の配列を変化させることによる色見の変化をもたらし、特に平坦部において画質劣化が大きくなる。また、紙上での復号も更に困難になることが予想される。
【００１７】
いずれにしても、ディザマトリクスを変化させる両者の方法では、画質劣化が大きい割に、復号が困難という問題点を有している。
【００１８】
そこで、本発明の出願人は、先に、誤差拡散法によって生じるテクスチャを利用し、通常の疑似階調処理では発生し得ない量子化値の組み合わせを人工的に作成することにより符号の埋め込みにする方法を提案した。
【００１９】
この方法は、テクスチャの形状が微視的に多少変化するだけなので、視覚的には画質が劣化するものではない。また、誤差拡散法の量子化閾値を変更する方法を用いれば、視覚的に面積階調の濃度値も保たれる為、極めて容易に異種信号の多重化が実現できる。
【００２０】
しかし、前述の提案によると、復号側では、テクスチャが人工的であるか否かを判別しなくてはならない。紙上に出力した印字物では、ドットのよれ等の所望の着弾点位置からのずれにより、テクスチャが良好に再現できない場合がある。また、カラー画像においては、最も視覚的に感度の低い色成分に多重化する方法が主流であるが、実空間領域でのテクスチャの判別は、他の色成分の影響を受けやすく、多重化情報の分離が困難なものになってしまう。
【００２１】
また、音声情報の様に非常に大量の情報量を画像中に埋め込む例として特登録2833975号に記載されている方法もある。特登録2833975号では、音声情報を所謂2次元バーコードと称されているドットコードに変換し、画像の余白部や画像の内部に印字するものである。しかし、この方法では、ドットコードと画像情報とは、２種の異種情報を多重化しているものではなく、また、視覚的にコードを視認されづらくしているものでもない。唯一、視認されづらく工夫している例として、透明塗料を使用してコードを画像中に埋め込む例が提案されているが、これも特殊なインクを必要とし、コストアップになるばかりでなく、当然、紙上に出力した画質は劣化する。
【００２２】
本発明は、上記問題を少なくとも一つ解決することができる画像処理装置、画像処理方法及び記憶媒体を提供することを目的とする。
【００２３】
更に本発明は、画像に対して所定の情報を付加することによる画質劣化を抑圧し、かつ埋め込まれた情報が精度よく抽出できるように画像に対して所定の情報を付加することができる画像処理装置、画像処理方法及び記憶媒体を提供することを目的とする。
【００２４】
【課題を解決するための手段】
上記目的を達成するために、本発明は、画像情報に対して該画像とは別の情報である付加情報を付加する画像処理装置であって、前記画像情報を入力する画像情報入力手段と、前記付加情報を入力する付加情報入力手段と、前記画像情報入力手段により入力された画像情報を所定領域単位にブロック化するブロック化手段と、第１の量子化閾値及び第２の量子化閾値の発生確率分布について、第１の発生確率分布を有する第１の量子化設定方法と第２の発生確率分布を有する第２の量子化設定方法それぞれの、前記ブロック手段によりブロック化した所定領域内における選択の規則を示す第１の規則性と第２の規則性のいずれかを、前記付加情報入力手段により入力された付加情報を表す符号に基づき用いることによって、前記所定領域内の画像情報の各画素に対して前記第１の量子化設定方法を設定するか前記第２の量子化設定方法を設定するかを選択する選択手段と、前記選択手段により選択された前記第１の量子化設定方法または前記第２の量子化設定方法に基づいて、前記所定領域内の画像情報の各画素に対して前記第１の量子化閾値または前記第２の量子化閾値を設定する設定手段と、前記設定手段により設定された前記第１の量子化閾値または前記第２の量子化閾値に用いて、前記所定領域内の画像情報の各画素を誤差拡散法により量子化する量子化手段とを有すること特徴とする。
【００２５】
【発明の実施の形態】
以下、図面を参照して本発明に係る好適な実施形態を詳細に説明する。尚、実施形態における画像処理装置は、主として、プリンタエンジンへ出力すべき画像情報を作成するコンピュータ内のプリンタドライバソフト、もしくは、アプリケーションソフトとして内蔵することが効率的であるが、複写機、ファクシミリ、プリンタ本体等にハードウエア、及びソフトウエアとして内蔵することも効果がある。
【００２６】
（第１の実施形態）
図１は、本発明の画像処理システムの構成を表すブロック図である。
【００２７】
１００、及び１０１はともに入力端子を示し、入力端子１００からは多階調の画像情報を、入力端子１０１からは画像情報の中に埋め込むべき必要な付加情報が入力される。この付加情報は、入力端子１００にて入力される画像情報とは別の情報、例えば音声情報や、テキスト文書情報、入力端子１００にて入力される画像に関する著作権、撮影日時、撮影場所、撮影者等の諸情報、該画像情報を出力する装置に関する情報、また、全く別の画像情報等、様々な応用が考えられる。
【００２８】
１０２は、付加情報多重化装置を示し、視覚的に判別しづらいように、画像情報中に付加情報を埋め込ませる装置である。この付加情報多重化装置１０２は、付加情報の多重化とともに、入力した多階調の画像情報の量子化をも司る。
【００２９】
１０３はプリンタを示し、付加情報多重化装置で作成された情報をプリンタエンジンにて出力する。プリンタは、インクジェットプリンタ、レーザープリンタ等、疑似階調処理を用いることにより階調表現を実現するプリンタを想定する。
【００３０】
印字物に埋め込まれた付加情報を抽出する際には、まず、スキャナ１０４を用いて印字物上の情報を読み取る。そして、付加情報分離装置１０５によって、印字物中に埋め込まれた付加情報を分離し、出力端子１０６に出力する。
【００３１】
図２は、図１の付加情報多重化装置１０２の構成を示すブロック図である。
【００３２】
２００は誤差拡散部を示し、入力された画像情報を誤差拡散法を用いた疑似階調処理することによって、入力階調数よりも少ない量子化レベルに変換し、複数画素の量子化値によって面積的に階調性を表現する。誤差拡散処理についての詳細は後述する。
【００３３】
２０１はブロック化部を示し、入力された画像情報を所定領域単位に区分する。このブロック化は矩形でも良いし、矩形以外の領域に区分しても良い。
【００３４】
２０２は制御部を示し、入力端子１０１で入力された付加情報に基づき、ブロック化部２０１にてブロック化した領域単位で量子化閾値の設定条件を制御する。
【００３５】
２０３は、量子化閾値設定部を示し、制御部２０２からの制御に応じて、複数の量子化閾値の設定の中から所定の設定を規則的に選択して実行する。
【００３６】
量子化閾値設定部２０３による量子化閾値の設定は画素単位で実行され、設定された量子化閾値に応じて、誤差拡散部２００にて量子化処理が実行される。
【００３７】
２１０は、ＣＰＵ２１１、ＲＯＭ２１２、ＲＡＭ２１３などからなる制御部である。
【００３８】
ＣＰＵ２１１は、ＲＯＭ２１２に保持された制御プログラムに従って、上述した各構成の動作、及び処理を制御する。ＲＡＭ２１３は、ＣＰＵ２１１の作業領域として使用される。
【００３９】
図３は、誤差拡散処理２００の詳細を表すブロック図である。一般的な誤差拡散処理は、文献R.Floyd & L.Steinberg: "An Adaptive Alogorithm for Spatial Grayscale", SID Symposium Digest of Paper  pp.36〜37 (1975)に詳細が記載されている。
【００４０】
いま、量子化値が2値である誤差拡散処理を例にして説明する。
【００４１】
３００は加算器を示し、入力された画像情報の注目画素値と既に2値化された周辺画素の分配された量子化誤差が加算される。量子化閾値設定部からの量子化の閾値と誤差の加算された加算結果とを比較部３０１にて比較し、所定の閾値よりも大きい場合には"１"を、それ以外では"０"を出力する。例えば、８ビットの精度で画素の階調を表現する場合には、最大値である"２５５"と最小値である"０"で表現するのが一般的である。いま、量子化値が"１"の時に、紙上にドット（インク、トナー等）が印字されると仮定する。
【００４２】
３０２は減算器を示し、量子化結果と前述した加算結果との誤差を算出し、誤差配分演算部３０３に基づいて、今後の量子化処理が施される周辺画素に誤差を配分する。誤差の配分割合は注目画素との相対的な距離に基づいて実験的に設定された誤差の配分テーブル３０４を予め所有しておき、配分テーブルに記された配分割合に基づいて誤差を分配する。
【００４３】
図３の配分テーブル３０４は、周囲４画素分の配分テーブルを示しているが、これに限るものではない。
【００４４】
次に制御部２０２を含む全体の動作手順について、図４のフローチャートを基に説明する。いま、量子化値は2値である例について述べる。
【００４５】
ステップＳ４０１は、変数iの初期化を示す。変数iは垂直方向のアドレスをカウントする変数である。
【００４６】
ステップＳ４０２は、変数ｊの初期化を示す。変数ｊは水平方向のアドレスをカウントする変数である。
【００４７】
続いてステップＳ４０３は、i、ｊのアドレス値による判定工程であり、現在の処理アドレスであるi、ｊの座標が多重化処理を実行すべき領域に属しているか否かを判定する。
【００４８】
図５を基に多重化領域について説明する。図５は、水平画素数がWIDTH、垂直画素数がHEIGHTから成る、ひとつの画像イメージを示している。いま、この画像イメージ中に付加情報を多重化すると仮定する。画像イメージの左上を原点とし、横Ｎ画素、縦Ｍ画素でブロック化をする。本実施形態では、原点を基準点としてブロック化を行なうが、原点から離れた点を基準点として設定しても良い。この画像イメージ中に最大限の情報を多重化する場合に、Ｎ×Ｍのブロックを基準点から配置していく。すなわち、水平方向に配置可能なブロック数をＷ、垂直方向に配置可能なブロック数をＨとすると、以下の関係になる。
W = INT(WIDTH / N)        …式１
H = INT(HEIGHT / M)        …式２
但し、INT( )は( )内の整数部分を示す。
【００４９】
式１、式２において割り切れない剰余画素数が、Ｎ×Ｍのブロックを複数配置した時の端部に相当し、符号多重化領域外となる。
【００５０】
図４中、ステップＳ４０３にて、現在処理している注目画素が多重化領域外と判定された場合には、ステップＳ４０４にて量子化閾値が設定される。この場合の量子化閾値は多重化領域外である為、いかなる値でも良い。１画素が８ビットによる階調表現で、量子化レベルが２値の場合には、最大値である"２５５"、及び、最小値である"０"が量子化代表値となるが、その中間値（平均値）となる"１２８"を量子化閾値として設定することが多い。ただ、誤差拡散法の場合には、量子化閾値の大小に関わらず、平均的な濃度が保存されるため、固定値に設定した場合でも、前述したような量子化代表値間の中間値に限らなくても良い。また、固定値に限らず、変動させた量子化閾値を用いても良い。
【００５１】
一方、多重化領域内と判定された場合には、多重化すべき付加情報を読み込む。いま、説明を容易にする為に、付加情報をcode[ ]という配列を用いて、各１ビットづつ表現するものとする。例えば付加情報を４８ビット分の情報と仮定すると、配列code[ ]はcode[0]からcode[47]まで、各１ビットづつが格納されていることになる。Ｓ４０５において、変数bitは、以下のように配列code[ ]内の情報を代入する。
bit = code[INT(i / M)×W + INT(j / N)]      …式３
【００５２】
続いて、ステップＳ４０６にて代入した変数bitが"１"か否かを判定する。前述したように、配列code[ ]内の情報は各１ビットずつ格納されている為、変数bitの値も"０"か"１"かの何れかを示すことになる。ステップＳ４０６にて、"０"と判定された場合には、ステップＳ４０７にて規則性Ａの選択手順に基づき、量子化閾値設定手段を選択し、また、"１"と判定された場合には、ステップＳ４０８にて規則性Ｂの選択手順に基づき、量子化閾値設定手段を選択する。
【００５３】
続いてステップＳ４０９では、乱数を発生させ、発生した乱数の値に応じて、ステップＳ４１０にて、選択した量子化閾値設定手段から、量子化閾値を設定する。ステップＳ４１１は量子化手段であり、設定された量子化閾値に基づいて量子化処理を行う。この量子化処理は、図３にて説明している誤差拡散法に相当する。
【００５４】
続いて、ステップＳ４１２では水平方向変数ｊをカウントアップし、ステップＳ４１３にて画像の水平画素数であるWIDTH未満か否かを判定し、処理画素数がWIDTHになるまで前述の処理を繰り返す。また、水平方向の処理がWIDTH画素数分終了すると、Ｓ４１４にて垂直方向変数ｉをカウントアップし、ステップＳ４１５にて画像の垂直画素数であるHEIGHT未満か否かを判定し、処理画素数がHEIGHTになるまで前述の処理を繰り返す。
【００５５】
以上の動作手順により、Ｎ×Ｍ画素よりなるブロック単位で、量子化閾値の設定に関する規則性を変更することが可能になる。
【００５６】
続いて、前述した量子化閾値設定手段の選択の規則性A、Ｂの例について説明する。
【００５７】
規則性Ａ、規則性Ｂの使用は多重化領域内のブロック単位である為、規則性の違いによる画質の違いを生じさせなければならない。但し、画質の違いは視覚的には判別しにくいように表現し、かつ、紙上からは容易に、かつ正確に、分離できなくてはならない。
【００５８】
図６、図７は、規則性Ａ、Ｂを表した例である。図６は、規則性Ａにおける量子化閾値設定手段の選択の周期を示した図、また、図７は、規則性Ｂにおける量子化閾値設定手段の選択の周期を示した図である。
【００５９】
図中、ひとつのマスを１画素分と想定し、マス内の記号は、量子化閾値設定手段の種類を示している。すなわち、図６、図７ともに、量子化閾値設定手段ａ、ｂ、ｃの３種類の規則的配列が設定されている。また、図６、図７の例では、８×８画素単位の規則性（以下、この規則性を定義した８×８画素のブロックを小ブロックと称す）を示しているが、Ｎ×Ｍ画素よりなるブロックが８×８画素以上の場合には、当然、この小ブロックを繰り返すことになる。
【００６０】
量子化閾値設定手段ａ、ｂ、ｃは、乱数を発生させ、発生させた乱数の値に基づいて、閾値を決定する。すなわち、発生した乱数の値を、設定する状態数に所定の確率毎に割り振れば、容易に任意の確率分布を作成することができる。
【００６１】
例えば、０〜９までの乱数を発生させた場合に、乱数値０が発生した場合を状態１、乱数値１〜９までが発生した場合を状態２と設定すると、乱数値は全て同じ確率で発生するものと仮定した場合には、状態１は１割、状態２は９割の発生確率分布を得ることができる。
【００６２】
図８（ａ）、（ｂ）、（ｃ）は、量子化閾値設定手段ａ、ｂ、ｃの確率分布の様子を示した図である。図８では、縦軸に発生確率、横軸に設定する量子化閾値を示している。
【００６３】
図８（ａ）は、TH1に２割、TH2に８割の確率分布、図８（ｂ）は、TH1に２割、TH3に８割の確率分布、図８（ｃ）は、TH1に８割、TH4に１割、TH5に１割の確率分布になるように、それぞれ設定している。今、TH1を量子化代表値間の中間値とする。（１画素が８ビットによる階調表現で"１２８"に相当する）
【００６４】
量子化閾値設定手段ａ、ｂ、ｃの確率分布が、図8（ａ）、（ｂ）、（ｃ）である場合に、規則性A、Bを用いた設定条件の制御では、量子化結果が個々の規則性を有するようになる。量子化閾値設定手段ａでは、量子化閾値が、８割の確率で量子化代表値間の中間値よりも小さな値に設定される為、量子化閾値設定手段ａの時の注目画素は、量子化値が"１"（量子化代表値"２５５"）になりやすくなる。つまり、図6、及び、図7の量子化閾値設定手段ａの並びで、量子化値"１"が並びやすくなる。規則性A、Bともに設定手段の配列が異なっている為、量子化値"１"が並びやすくなる角度が異なり、局所的な画像に特徴量の違いが発生する。
【００６５】
反対に量子化閾値設定手段ｂでは、８割の確率で量子化代表値間の中間値よりも大きな値に設定される為、量子化閾値設定手段ｂの時の注目画素は、量子化値が"０"（量子化代表値"０"）になりやすくなる。すなわち、高濃度領域では、図6、及び、図7の量子化閾値設定手段ｂの並びで、量子化値"０"が並びやすくなり、量子化閾値設定手段aと同様、局所的な画像に特徴量の違いが発生する。
【００６６】
量子化閾値設定手段ｃでは、中間値となるTH1が８割で、上下に１割づつの確率で、量子化閾値を変更させている。これは不規則性を生じさせる効果がある。
【００６７】
量子化閾値設定手段a、ｂで、所定の確率でTH1を選択しているのも不規則性を与える同様の効果であり、規則性A、Bによる量子化代表値の配置が忠実に実現されるのを防いでいる。すなわち、所定の確率で、規則性を乱すことにより、人工的に作成した不自然なドットのつながりを防ぐことができる。
【００６８】
本実施形態は誤差拡散法の冗長性に着目したものである。
【００６９】
誤差拡散法では、注目画素の量子化誤差は周囲画素への拡散によって十分にフィードバックされる。誤差拡散法において量子化閾値の変更は、ドットの並びが多少変化したり、テクスチャの発生が変化したり等、局所的な画質に影響を与えるが、フィードバック系が有効に機能するために、全体的な階調表現の画質にはほとんど影響を与えない。それに比べて組織的ディザ法では、量子化閾値の配列によってのみ階調表現する為、ディザパターンの違いによる画質の差は大きくなる。
【００７０】
誤差拡散法の量子化フィルタの周波数特性は広帯域のハイパスフィルタの特性を有する。すなわち、付加情報における規則性を、多少、誤差拡散において発生するノイズ特性に似せてあげることにより、あたかも誤差拡散法で発生したテクスチャの如く見立て、付加する信号成分をカムフラージュすることが可能になる。言い換えると、人工的に作成した規則的な低周波域のノイズの電力の一部を、若干、白色雑音化して広帯域に拡散することに相当する。これは誤差拡散法だから実現できることである。
【００７１】
次に、付加情報分離装置１０５について説明する。
【００７２】
図９は、付加情報分離装置１０５の構成を示すブロック図である。９００は、入力端子を示し、スキャナで読み込まれた画像情報が入力される。使用するスキャナの解像度は、印字物を作成するプリンタ解像度と同等以上が好ましい。当然、正確に印字物のドットの点在情報を読み込む為には、サンプリング定理により、スキャナ側はプリンタ側よりも２倍以上の解像度が必要になる。しかし、同等以上であれば、正確でなくとも、ある程度ドットが点在しているのを判別することは可能である。本実施形態では、説明を容易にするためにプリンタ解像度とスキャナ解像度が同一解像度と想定する。
【００７３】
９０１は、幾何学的ずれ検出部を示し、スキャナで入力した画像の幾何学的ずれを検出する。当然、プリンタ出力、スキャナ入力を経ている為に、スキャナからの入力端子９００から送信される画像情報は、プリンタ出力以前の画像情報とは幾何学的に大きくずれている場合がある。そこで、幾何学的ずれ検出部９０１では、印字物中の画像情報が印字されていると想定されている端部４点を検出する。いま、プリンタ解像度とスキャナ解像度が同一解像度であれば、プリンタの紙上記録時の斜行、及び、スキャナに印字物をセットする時のずれ等により、画像の回転方向（傾き）が補正すべき大きな要因となる。そのため、この端部４点を検出することにより、どの程度回転方向でずれが生じているかが判断できる。
【００７４】
９０２は、ブロック化部を示し、Ｐ×Ｑ画素単位にブロック化をする。このブロックは、多重化時にブロック化したＮ×Ｍ画素よりも小さくなければならない。すなわち、
Ｐ≦Ｎ、かつＱ≦Ｍ        …式４
の関係が成り立つ。
【００７５】
また、Ｐ×Ｑ画素単位のブロック化は、ある一定間隔毎スキップしてブロック化を行う。すなわち、多重化時のＮ×Ｍ画素よりなるブロックと想定される領域内に、Ｐ×Ｑ画素単位のブロックがひとつ内包するようにブロック化する。スキップ画素数は、水平Ｎ画素分、垂直Ｍ画素分が基本となるが、幾何学的ずれ検出部９０１より検出したずれ量をブロック数で割り出し、１ブロックあたりのずれ量を演算して、スキップ画素数に加算して補正する必要がある。
【００７６】
図１０は、ずれ量を補正したブロック化を表す図である。図中、最も大きな矩形領域は、スキャナから送信されたスキャナ画像を示し、その内側の大きな太線で囲まれた領域Ｄは、印字されたと想定される画像印字部を表している。画像印字部Ｄの端部４点を検出することにより、画像情報の回転方向のずれが判断できる。端部の検出は、予め印字時に端部を示すマーカーを記録する方法や、紙の白領域と印字部との濃度差を基に検出する方法等がある。いま、水平方向のずれをＴ、垂直方向のずれをＳとする。１ブロックあたりのずれ量（ Ｔ'、Ｓ'）を以下の様に計算する。
Ｔ'＝Ｔ×Ｍ／HEIGHT        …式５
Ｓ'＝Ｓ×Ｎ／WIDTH          …式６
【００７７】
小さな太線で囲まれた矩形領域は、Ｐ×Ｑ画素単位でブロック化したブロックを示している。説明を容易にする為、上部１列目のみブロック化して表示している。式５、式６により補正したブロック化によって、多重化時のＮ×Ｍ画素よりなるブロックと想定される領域内に、Ｐ×Ｑ画素単位のブロックがひとつ内包するように各ブロック開始位置を制御する。
【００７８】
９０３は、直行変換部を示し、ブロック化したＰ×Ｑ画素を直行変換する。ただ、２次元の直交変換を行う時には、Ｑ＝Ｐの正方ブロックでブロック化する必要がある。本実施例では、ＤＣＴ（離散コサイン変換）を例にする。
Ｐ×Ｐ画素よりなるブロックの二次元ＤＣＴの変換係数は、
0004310031.tif 000002
で与えられる。
【００７９】
９０４は、クラス分類部を示し、直交変換係数の帯域毎にクラス分類する。図１１は、Ｐ＝Ｑ＝１６の時のクラス分類の一例を示している。図１１は、１ブロック内の直交変換係数F(u,v)を表していて、左上がＤＣ成分、残りの２５５成分がＡＣ成分となる。いま、F(4,8)を中心とするクラスＡと、F(8,4)を中心とするクラスＢの２クラスを作成する。２クラスを図中、太線で示す。このクラス分類部は、全２５６成分をクラス分類する必要はなく、所望の成分を中心とした複数のクラスに分類するだけで良い。この必要なクラス数は、多重化時に量子化制御した条件数に対応する。すなわち、量子化制御した条件数よりもクラス数は多くなることはない。
【００８０】
９０５は、電力比較部を示し、各クラスの電力の総和を比較する。演算を高速にする為に、発生した変換係数の絶対値を電力の代用としても良い。各クラスの電力の総和を比較することで、付加情報の信号を判断する。いま、多重化時に図６、図7の規則性Ａ、Ｂを施した例について説明する。前述したように、規則性Ａ、Ｂを用いた量子化閾値設定部では、各々角度の異なる斜め方向にドットが並ぶテクスチャが発生しやすい。すなわち、規則性Ａにおいて量子化したブロックでは、直交変換処理を行うと、図１１のクラスＡに大きな電力が発生する。一方、規則性Ｂにおいて量子化したブロックでは、直交変換処理を行うと、図１１のクラスＢに大きな電力が発生する。すなわち、クラスＡとクラスＢの電力の大小関係を相対的に比較することにより、該当するブロックの多重化時の規則性が、規則性Ａ、規則性Ｂの何れであるかが判断できる。規則性は、付加情報の符号（式３のbit）に連動している為、規則性が識別できるということは、多重化された符号が特定できることに相当する。
【００８１】
図４に示したフローチャートの例では、bit = ０を規則性Ａ、bit = １を規則性Ｂに設定している為、クラスＡの電力の方が大きい場合には、bit = ０、クラスＢの電力の方がが大きい場合には、bit = １と判断できる。
【００８２】
前述したように、誤差拡散法による量子化では、誤差拡散法のフィルタ自体が高周波域を通過させるハイパスフィルタの特性を有している。その為、通常の量子化後の変換係数ではクラスＡ、Ｂという低中周波域の電力が少なくなり、前述のような判断が可能になる。もし、この低中周波域の電力が相対的に大きければ、人工的に量子化条件を制御した為に、大きな電力が発生したものと想定することができる。すなわち、量子化条件の変更周期の規則性を変化させることによって、視覚的にはほとんど判別つかずに所望の電力を大きく発生させることができる。本実施形態では、多重化時の規則性の制御が、規則性Ａ、Ｂの２通りであり、また、分離時のクラス分類もクラスＡ、クラスＢの２通りという例を示した。これは、ブロック内の付加情報が１ビットである例であるが、当然、より多くの規則性を制御して、より多くのクラス分類をすることも可能である。
【００８３】
本実施形態では、従来例のように多重化時に直行変換をして情報を埋め込む必要はない。ただ単に、量子化条件選択の規則性を変更するだけで、量子化後の周波数の偏りを作成している。しかも、周波数の偏りが、誤差拡散法の高周波成分発生に紛れる為、視覚的に偏りは検知されづらい。また、プリンタ部に送信される直前段である量子化時に多重化している為、分離精度は非常に高くなる。
【００８４】
以上、本実施形態を説明してきたが、幾何学的ずれが大きければ大きいほど、ブロック化した画像が傾いているために、所望の周波数からずれてしまう。例えば、F(4,8)に大きな電力が発生するように多重化した場合でも、画像が傾くと、当然、発生する周波数もF(4,8)からずれてしまう。そのため、幾何学的ずれ量を基にクラス分類の構成を動的に変化させる構成も考えられる。当然、ずれ量が少なければ、クラス分類は１成分のみで１クラスを構成しても良い。
【００８５】
また、直交変換の手段は、ＤＣＴを例に説明したが、これに限るものではない。アダマール変換、フーリエ変換、ウェーブレット変換等、他の直交変換でも良いことは当然である。
【００８６】
また、量子化閾値設定手段の選択手順の規則性Ａ、Ｂ、及び、クラス分類のクラスＡ、クラスＢは一例であり、これに限るものではない。他の規則性を持たせても良いのは勿論である。また、量子化閾値設定手段の変更は、カウンタを用いて、水平、垂直の周期を変化させても良いし、予め規則性を設定したテーブルを用意し、切り替えて使用しても良い。
【００８７】
また、量子化は２値化を例にして説明したが、これには限らない。
【００８８】
また、量子化閾値設定手段の発生確率分布は、図８の例のように、単順な量子化閾値の切り替えを示したが、当然、これには限らない。例えば、図１２（ａ）、（ｂ）、（ｃ）は、量子化閾値設定手段a'、ｂ'、ｃ'を示し、それぞれ、量子化閾値設定手段a、ｂ、ｃに対応した一例である。図１２では、図８の例とは異なり、連続的な量子化閾値の設定が可能であり、所定の確率分布になるように、予めテーブルとして保持しておく方法が考えられる。
【００８９】
また、乱数値を切り替えのみに用いるのではなく、発生した乱数値に対して所定の値を加算、減算、乗算、べき乗等の各種演算を施し、自由に量子化閾値を演算結果により算出する方法も容易に実現できる。
【００９０】
本実施形態では、量子化閾値設定手段の閾値発生の確率分布が、各々、大きく異なっていることが絶対条件である。複数の量子化閾値設定手段のうち、少なくともひとつは、確率分布の平均値は、量子化代表値間の中間値以外でなくてはならない。望ましくは、量子化閾値設定手段を３種以上使用する場合には、確率分布の平均値は、少なくとも１つは量子化代表値間の中間値よりも大、かつ、少なくとも１つは量子化代表値間の中間値よりも小であることが好ましい。
【００９１】
この確率分布を設計することが、付加情報を多重化させた後の印字物の画質設計につながる。その為、各々の確率分布は実験的に作成するのが好ましい。
【００９２】
また、前述した実施形態とは異なり、付加情報の符号に応じて、選択する量子化閾値設定手段の規則性のみならず、組み合わせが変化する例も考えられる。
【００９３】
図１３、図１４を例に説明する。図１３は、図６と同様に量子化閾値設定手段の選択の規則性Ａを示し、図１４は、規則性Ｃを示す。いま、付加情報の符号に応じて、規則性Ａと規則性Ｃの二通りにて量子化閾値設定手段の選択を実行するものと仮定する。前述した実施形態では、量子化閾値設定手段の規則性のみが異なっていたが、この例では、量子化閾値設定手段の組み合わせも異なっている。すなわち、規則性Ａが、量子化閾値設定手段ａ、ｂ、ｃの組み合わせであるのに対し、規則性Ｃでは、量子化閾値設定手段ｃ、ｄ、ｅの組み合わせである。
【００９４】
図１５（ａ）に量子化閾値設定手段ｄの確率分布を、図１５（ｂ）に量子化閾値設定手段ｅの確率分布を示す。図８（ａ）、（ｂ）に示した量子化閾値設定手段ａ、ｂの確率分布と比較すると、ＴＨ１とＴＨ２，及び、ＴＨ１とＴＨ３の確率分布の偏り具合が小さくなっている。
【００９５】
すなわち、規則性Ｃは規則性Ａと比べると、垂直方向に配列している為、ノイズとして認識されやすく、垂直方向にドットが連続してつながった場合には、画質的に目障りなものになってしまう。
【００９６】
そこで、量子化閾値設定手段ｄ、及び量子化閾値設定手段ｅでは、量子化閾値設定手段ａ、及び量子化閾値設定手段ｂよりも、量子化閾値がＴＨ１に設定される確率を増加し、垂直方向にドットが連続してつながるのを確率的に防いでいる。ただ、完全に垂直方向のドットの連続が消滅すると、分離時に所望の周波数の電力値が小さくなってしまうので、前述したように確率分布は実験的に最適なものを設計する必要がある。
【００９７】
本実施形態では、付加情報の符号に応じて、規則性が視覚的に目立つもの、目立ちづらいもの等の確率分布を、各々自由に設計することができる。
【００９８】
また、規則的な配列自体を乱数により変更する方法も考えられる。
【００９９】
前述した例は、全て、所定の規則性に基づいて、量子化閾値設定手段が配列されていた。乱数の使用も、量子化閾値設定手段の内部で、量子化閾値の発生確率の為に用いていた。しかし、乱数で確率的に閾値を設定しても、マクロ的には設定した確率に近づくが、ブロック単位で見ると、必ずしも所望の確率にならないことも多い。その結果、あるブロックでは、規則的なノイズが目立って来たり、また、あるブロックでは、規則性が完全に失われて分離ができない等の問題が生じてくる。そこで、付加情報を多重化するブロック単位、もしくは、規則性を定義している小ブロック単位で所望の確率になるように制御する方法が考えられる。
【０１００】
一例として、図１６、図１７を基に説明する。
【０１０１】
図１６は、８×８画素の６４画素の小ブロックよりなる量子化閾値設定手段の規則性Ｄを示している。図１６において、小ブロック内での、量子化閾値設定手段ｆの設定画素は４８画素、量子化閾値設定手段ｇの設定画素は１６画素分存在している。量子化閾値設定手段ｆ、ｇの確立分布を図１８（ａ）、（ｂ）に示す。図から明らかな様に、量子化閾値設定手段ｆはＴＨ４固定（ＴＨ４の確率分布が１０割）であり、量子化閾値設定手段ｇはＴＨ５固定（ＴＨ５の確率分布が１０割）である。前述したように、誤差拡散法の場合、組織的ディザ法と異なり、量子化閾値の絶対的な値自体は、全体的な濃度変化に対して大きな影響を与えない。その為、ＴＨ４、もしくは、ＴＨ５は量子化代表値間の中間値に限る必要はないし、また、ＴＨ４、ＴＨ５の小ブロック内の比率を乗じた平均値も中間値にならなくても良い。本実施形態では、量子化閾値設定手段ｇの中で、所定の確率で、量子化閾値設定手段をｆに変更する。例えば2/16の確率で変更する場合には、乱数を用いて量子化閾値設定手段ｇにて設定されている１６画素中、任意の２画素を対象画素として抽出し、強制的に量子化閾値設定手段ｆに変更する。
【０１０２】
図１７は変更した様子を示す。図中、太線で囲まれた画素が、変更になった画素である。小ブロック内での変更する確率が予め決定しているだけで、どの画素が変更されるかは決まっていない。すなわち、この変更画素の不規則性により、予め設定されている所定の規則性を乱すことが可能になる。
【０１０３】
また、図１６、図１７は、１種類の規則性変更の例を示したが、付加情報を多重化するには、２種類以上の規則性が必要なのは勿論である。
【０１０４】
また、図１６、図１７では、量子化閾値設定手段ｆ、ｇの２種類にて説明したが、使用する設定手段の数は、これに限らない。
【０１０５】
また、図１８（ａ）（ｂ）は、ともに発生確率１０割の例を示したが、当然これに限るものではない。
【０１０６】
以上、量子化条件の規則性を乱す方法について、乱数を用いた例を説明してきたが、乱数の発生方法については限定しない。また、乱数を用いずに、種々の規則性に基づいて実行しても良いし、不規則性をテーブルとして予め保持しておくことも可能である。
【０１０７】
以上、付加情報多重化装置、及び、付加情報分離装置の各々について説明してきたが、本実施形態は、この組み合わせに限定するものではない。
【０１０８】
（他の実施形態）
また、上述した実施形態では、画像から情報を分離する際に画像のブロック化を行ったが、これは画像に情報を付加する際に多くの情報を付加できるするためである。
【０１０９】
従って、画像に付加されている付加情報が１ビットの情報（例えば、「画像の出力を許可する、許可しない」等の情報）であれば、情報付加時に画像のブロック化を行わなくても情報を付加することができるので、情報を分離する際には、必ずしも画像をブロック化する必要はない。
【０１１０】
また、本発明は、複数の機器（例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタ等）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置等）に適用しても良い。
【０１１１】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウエアのプログラムコードを記録した記憶媒体（または記録媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１１２】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１１３】
【発明の効果】
以上説明したように、画像に所定の情報を付加する際に、確率的に量子化閾値を設定するための、発生確率分布の異なる複数の量子化閾値設定手段を有し、前記所定の情報に応じて、前記複数の量子化閾値設定手段を選択する規則性を所定の画像領域単位で制御し、前記量子化閾値設定手段により設定した量子化閾値を用いて、前記画像を誤差拡散法により量子化することにより、画像に対して所定の情報を付加することによる画質劣化を抑圧し、かつ埋め込まれた情報が精度よく抽出できるように画像に対して所定の情報を付加することができる。
【図面の簡単な説明】
【図１】本発明の画像処理システムを示す要部ブロック図
【図２】図１の付加情報多重化装置を示す要部ブロック図
【図３】図２の誤差拡散手段を示す要部ブロック図
【図４】制御手段を含む多重化処理の動作手順を示すフローチャート
【図５】ブロック化の一例
【図６】量子化閾値設定手段の選択の規則性の一例
【図７】量子化閾値設定手段の選択の規則性の一例
【図８】量子化閾値設定手段の発生確率分布の一例
【図９】図１の付加情報分離装置を示す要部ブロック図
【図１０】スキャナ画像内での画像の傾きの説明図
【図１１】直行変換ブロック内のクラス分類の一例
【図１２】量子化閾値設定手段の発生確率分布の一例
【図１３】量子化閾値設定手段の選択の規則性の一例
【図１４】量子化閾値設定手段の選択の規則性の一例
【図１５】量子化閾値設定手段の発生確率分布の一例
【図１６】量子化閾値設定手段の選択の規則性の一例
【図１７】図１６の規則性変更の一例
【図１８】量子化閾値設定手段の発生確率分布の一例
【図１９】従来法の多重化の一例を示すブロック図
【図２０】従来法の多重化の一例を示すブロック図
【図２１】従来法の多重化の一例を示すブロック図
【図２２】従来法の多重化の一例を示すブロック図
【図１】
0004310031.tif 000003
【図２】
0004310031.tif 000004
【図３】
0004310031.tif 000005
【図４】
0004310031.tif 000006
【図５】
0004310031.tif 000007
【図６】
0004310031.tif 000008
【図７】
0004310031.tif 000009
【図８】
0004310031.tif 000010
【図９】
0004310031.tif 000011
【図１０】
0004310031.tif 000012
【図１１】
0004310031.tif 000013
【図１２】
0004310031.tif 000014
【図１３】
0004310031.tif 000015
【図１４】
0004310031.tif 000016
【図１５】
0004310031.tif 000017
【図１６】
0004310031.tif 000018
【図１７】
0004310031.tif 000019
【図１８】
0004310031.tif 000020
【図１９】
0004310031.tif 000021
【図２０】
0004310031.tif 000022
【図２１】
0004310031.tif 000023
【図２２】
0004310031.tif 000024