(57)【特許請求の範囲】
【請求項１】
画像情報に対して付加情報を多重化する画像処理装置であって、
前記画像情報の注目画素を誤差拡散処理により量子化する量子化手段と、
前記注目画素を含む複数画素の量子化値によって前記付加情報を示し、かつ特定濃度で前記量子化手段による誤差拡散処理では発生し得ない特定パターンを形成することにより、前記付加情報を多重化する多重化手段と、
前記多重化手段において形成される前記特定パターンの多重化間隔を前記付加情報の情報量に応じて制御する制御手段と、
を有することを特徴とする画像処理装置。
【請求項２】
前記制御手段は、前記特定パターンをひとつ多重化する前記画像情報のブロックサイズを前記付加情報の情報量に応じて制御することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記制御手段は、前記付加情報の情報量の増加に従って前記特定パターンをひとつ多重化する前記画像情報のブロックサイズが小さくなるように制御することを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記画像情報は複数色成分からなり、前記制御手段は、前記特定パターンの多重化対象色成分を前記付加情報の情報量に応じて制御することを特徴とする請求項１に記載の画像処理装置。
【請求項５】
前記制御手段は、前記付加情報の情報量の増加に従って前記多重化対象色成分の数を増やすように制御することを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記制御手段は、視覚感度の低い色成分から順次優先順位を付し、該優先順位に基づいて前記多重化対象色成分を制御することを特徴とする請求項４に記載の画像処理装置。
【請求項７】
前記制御手段は、前記特定パターンをひとつ多重化する前記画像情報のブロックサイズを、視覚感度の低い色成分ほど小さくなるように制御することを特徴とする請求項４に記載の画像処理装置。
【請求項８】
前記多重化手段は、前記量子化手段により既に量子化された周辺画素及び前記付加情報に基づいて前記量子化手段における量子化条件を制御することにより、前記特定パターンを形成することを特徴とする請求項１に記載の画像処理装置。
【請求項９】
前記多重化手段は、前記量子化手段における誤差拡散処理の際の量子化閾値を制御することを特徴とする請求項８に記載の画像処理装置。
【請求項１０】
画像情報に対して付加情報を多重化する画像処理方法であって、
前記画像情報の注目画素を誤差拡散処理により量子化する量子化工程と、
前記注目画素を含む複数画素の量子化値によって前記付加情報を示し、かつ特定濃度で前記量子化工程での誤差拡散処理では発生し得ない特定パターンを形成することにより、前記付加情報を多重化する多重化工程と、
前記多重化工程で形成される前記特定パターンの多重化間隔を前記付加情報の情報量に応じて制御する制御工程と、
を有することを特徴とする画像処理方法。
【請求項１１】
画像情報に対して付加情報を多重化する画像処理のプログラムコードを記録した記録媒体であって、該プログラムコードは少なくとも、
前記画像情報の注目画素を誤差拡散処理により量子化する量子化工程のコードと、
前記注目画素を含む複数画素の量子化値によって前記付加情報を示し、かつ特定濃度で前記量子化工程での誤差拡散処理では発生し得ない特定パターンを形成することにより、前記付加情報を多重化する多重化工程のコードと、
前記多重化工程で形成される前記特定パターンの多重化間隔を前記付加情報の情報量に応じて制御する制御工程のコードと、
を有することを特徴とする記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は画像処理装置及びその方法に関し、特に画像情報に対して付加情報を多重化する画像処理装置及びその方法に関する。
【０００２】
【従来の技術】
従来より、画像情報中に、画像に関連のある他の情報を多重化する研究が盛んに行われている。
【０００３】
近年では、電子透かし技術と称し、写真、絵画等の画像情報中に、その著作者名や、使用許可の可否等の付加情報を視覚的に判別しづらい様に多重化した上で、インターネット等のネットワークを介して流通させる技術が標準化されつつある。
【０００４】
また、他の応用分野としては、複写機やプリンタ等の画像形成装置の高画質化に伴い、紙幣や印紙等の有価証券の不正な偽造を防止する目的において、記録紙上に出力された画像から出力機器種別、及び、その機体番号を特定する為に、画像中に付加情報を埋め込む技術が知られている。
【０００５】
例えば、特開平７−１２３２４４では、視覚的に感度の低い色差成分、及び彩度成分の高周波域に付加情報を埋め込むことにより情報の多重化を行う技術が提案されている。
【０００６】
【発明が解決しようとする課題】
しかしながら、上記従来の多重化技術には、以下に示す問題がある。
【０００７】
図１２は、従来の付加情報の埋め込み方法を模式的に示す図である。同図によれば、画像情報Ａと付加情報Ｂが加算器１２０１を介して多重化されることにより、多重化情報Ｃが生成される。加算器１２０１においては、画像情報Ａの実空間上で加算を行なっても良いし、画像情報Ａをフーリエ変換等を用いて周波数領域に変換した後、付加情報Ｂを高周波域等に合成しても良い。
【０００８】
このようにして生成された多重化情報Ｃを、各種フィルタリング等の画像処理や非可逆圧縮等の符号化を施すことなくネットワーク上を流通させることが可能であれば、多重化情報Ｃから付加情報Ｂを復号することは、従来においても容易に可能である。また、例えばインターネット上で流通する画像情報は、多少のノイズ耐性があれば、エッジ強調や平滑化等、画質向上のためのデジタルフィルタを通しても復号が可能である。
【０００９】
ここで、画像形成装置が単色あたり２階調から数階調程度の表現能力しか有していない場合を想定する。近年、インクジェットプリンタは、染料濃度を薄くしたインクを有したり、出力するドット径を可変制御したりすることにより、単色あたり数階調表現を可能とする装置が知られているが、それでも疑似階調処理を用いない限りは、画像を写真調に表現することはできない。
【００１０】
図１３は、従来の付加情報の多重化に際し、擬似階調処理を行なう例を模式的に示す図である。即ち、図１２に示す構成に対して更に、疑似階調処理１３０１によって多重化情報Ｃを量子化情報Ｄに変換し、その後、プリンタ出力１３０２によって記録用紙上に印刷出力することにより、非常に劣化した紙上情報Ｅが得られる。
【００１１】
従って、上述した偽造防止の目的の為に、記録用紙上の情報から付加情報を復号するということは即ち、図１３に示す一連の処理後の紙上情報Ｅから付加情報Ｂを復号するということになる。しかしながら、擬似階調処理１３０１及びプリンタ出力１３０２の両処理による画像情報の変化量は非常に大きい。従って、付加情報を視覚的に判別できないように多重化し、かつ、多重化した付加情報を記録用紙上から正しく復号するということは、非常に困難なことである。
【００１２】
上述した特開平７−１２３２４４に記載された多重化技術においては、画像の高周波域に情報を付加させている。しかしながら後段の疑似階調処理において誤差拡散法を実施した場合には、誤差拡散法特有のハイパスフィルタの特性により、付加情報の帯域が誤差拡散で発生するテクスチャの帯域に埋没してしまい、復号が困難となってしまう恐れが多分にある。また、正確な復号のためには非常に精度の高いスキャナ装置が必要となる。
【００１３】
即ち、疑似階調処理が前提である場合には、図１３に示す多重化方式は適さないことがわかる。言い換えると、疑似階調処理の特性を大きく活かした付加情報の多重化方式が必要である。
【００１４】
付加情報の多重化と疑似階調処理の冗長性とを結び付けた例として、特許第２６４０９３９号、第２７７７８００号がある。
【００１５】
前者は、組織的ディザにて２値化を行なう際に、同一階調を表すディザマトリクスの中からいづれか一つを選定することによって、画像信号中に付加データを混入するものである。しかし、組織的ディザ法では、高解像の、しかも機械的精度の非常に優れたプリンタで無い限り、写真調の高画質出力は困難である。多少の機械的精度のずれが横筋等の低周波ノイズとして発生し、紙上で容易に視覚されてしまうからである。また、ディザマトリクスを周期的に変化させると、規則的に配列されていたデイザにより発生する特定周波数の帯域が乱され、画質的に悪影響を及ぼしてしまう。また、復号側においても、原信号である画像情報の画素値が不明な状態で、いかなるディザマトリクスで２値化されたかを推測して復号を行なわねばならず、正確な復号は困難であった。
【００１６】
また、後者は、カラーのディザパターン法を用いて、その配列により付加情報を多重化する方法を示している。この方法でも前者と同様、ディザマトリクスの切り換えによる画質劣化は避けられない。また、前者と比べて、より多くの付加情報を多重化できる代わりに、色成分の配列を変化させることによる色見の変化をもたらし、特に平坦部において画質劣化が大きくなる。また、復号も更に困難になることが予想される。
【００１７】
いずれにしても、ディザマトリクスを変化させる両者の方法では、画質劣化が大きい割に、復号が困難であるという問題点を有している。
【００１８】
また、特に音声情報等の大量の情報を画像中に埋め込む方法としては、例えば特許第２８３３９７５号に記載されている方法がある。これは、音声情報を所謂２次元バーコードと称されるドットコードに変換し、画像の余白部や画像の内部に印字するものである。
【００１９】
しかしながらこの方法は、画像情報に対して付加情報であるドットコードを多重化しているものではなく、また、付加情報（ドットコード）を視認されづらくしているものでもない。唯一、ドットコード視認されづらく工夫している例として、透明塗料を使用してコードを画像中に埋め込む例が記載されているが、特殊なインクを必要とするためコストアップを招くのみならず、当然、記録用紙上に出力された画像は当然画質劣化してしまう。
【００２０】
本発明は上記問題を解決するためになされたものであり、画像情報に対して画質劣化を抑制しつつ大量の付加情報の多重化を可能とする画像処理装置及びその方法を提供することを目的とする。
【００２１】
【課題を解決するための手段】
上記目的を達成するために、本発明の画像処理装置は以下の構成を備える。
【００２２】
即ち、画像情報に対して付加情報を多重化する画像処理装置であって、前記画像情報の注目画素を誤差拡散処理により量子化する量子化手段と、前記注目画素を含む複数画素の量子化値によって前記付加情報を示し、かつ特定濃度で前記量子化手段による誤差拡散処理では発生し得ない特定パターンを形成することにより、前記付加情報を多重化する多重化手段と、前記多重化手段において形成される前記特定パターンの多重化間隔を前記付加情報の情報量に応じて制御する制御手段と、を有することを特徴とする。
【００２４】
【発明の実施の形態】
以下、図面を参照して本発明に係る好適な実施形態について詳細に説明する。尚、各実施形態における画像処理装置は、主として、プリンタエンジンへ出力すべき画像情報を作成するコンピュータ内のプリンタドライバソフトとして内蔵することが効率的であるが、複写機、ファクシミリ、プリンタ本体等にハードウエア、及びソフトウエアとして内蔵することも効果がある。
【００２５】
＜発明の概要＞
本発明は、画像情報に対して画質劣化を抑制しつつ、大量の付加情報の多重化を可能とすることを目的としている。
【００２６】
画質劣化を抑制して付加情報を多重化する方法として、本出願人は、誤差拡散法によって生じるテクスチャを利用し、通常の疑似階調処理では発生し得ない量子化値のパターンを人工的に作成することにより、付加情報の符号を多重化する方法を見出している。
【００２７】
この方法によれば、テクスチャの形状が微視的に変化するのみであるため、視覚的には画質劣化が認められない。また、誤差拡散法の量子化閾値を変更することによって上記パターンを作成することにより、面積階調の濃度値も視覚的に保たれるため、極めて容易に異種信号の多重化が実現できる。
【００２８】
しかしながら、上記誤差拡散法のテクスチャを利用した多重化方法においては、多重化する付加情報は主として機種名や機種番号等のインデックス情報であることが前提となっていた。即ち、埋め込むべき情報量が画像情報に比べて非常に小さい場合が想定されていた。そのため、情報量の多い例えば音声情報等を多重化する場合を考えると、画像中に全ての付加情報を多重化することが困難となるおそれがある。
【００２９】
そこで本発明においては、大量の付加情報をも多重化可能とするために、画質劣化の許容限界となる多重化ブロックサイズを予め実験的に算出した値に基づいて算出しておく。そして、該ブロックサイズ内で１ビットの多重化を行なうことにより、付加情報のサイズ及び画像サイズに応じた多重化処理を実現した。
【００３０】
以下、本発明に係る好適な実施形態について説明する。
【００３１】
＜第１実施形態＞
本発明に係る第１実施形態においては、画像情報に対して音声情報を多重化する例について説明する。
【００３２】
図１は、本実施形態における画像処理システムの概要構成を示すブロック図である。同図において、破線で囲んだブロック１００は送信システムを示し、同じくブロック１０１は受信システムを示す。
【００３３】
送信システム１００において、１０２は多重化疑似階調処理部であり、入力された画像情報と、その画像中に埋め込むべき音声情報とを多重化する手段である。多重化擬似階調処理部１０２においては、多重化と疑似階調処理とを同時に実行するため、即ち、目的の異なる二種の処理を一度に実現する。尚、この多重化疑似階調処理についての詳細は後述する。多重化疑似階調処理された情報は、画像出力部１０３においてプリンタ等の出力機器により記録用紙等の媒体上に出力される。以下、記録用紙上に出力された情報を紙上情報と称する。
【００３４】
この紙上情報は、例えば遠隔地等にある送信相手側に送られる。紙上情報を受け取った受信システム１０１では、画像情報と音声情報の２種の情報を記録用紙上の画像として受信することになる。
【００３５】
受信システム１０１において、１０４は画像入力部であり、画像読み取り装置等によって紙上情報を入力する。この画像読み取り装置としては、サンプリング定理により、画像出力部１０３で用いられたプリンタ解像度の２倍以上の解像度を有していることが好ましい。１０５は多重情報分離部であり、入力された画像情報に多重化されている多重情報を分離して、独立した音声情報を得る手段である。分離された音声情報は、受信システム１０１内の不図示の再生装置等によって、再生することが可能になる。
【００３６】
次に、本実施形態の特徴である多重化疑似階調処理部１０２について詳細に説明する。
【００３７】
図２は、多重化疑似階調処理部１０２の詳細構成を示すブロック図である。同図において、１０はＣＰＵ１０ａ，ＲＯＭ１０ｂおよびＲＡＭ１０ｃなどからなる制御部であり、後述する各構成の動作および処理を制御する。特に、ＣＰＵ１０ａは、ＲＯＭ１０ｂに予め格納されプログラムに従い、ＲＡＭ１０ｃをワークメモリとして後述する多重化およびその関連処理の制御などを実行する。
【００３８】
２０１は多重化制御部であり、画像情報に多重化する情報（以下、付加情報と称する）を入力して多重化を制御する。２０２はノイズ除去部であり、画像情報中の突出したノイズ成分を除去する。このノイズ除去方法は、周知のフィルタリング技術によって実現できる。また、ノイズ成分のみならず、画像の高周波成分を除去するＬＰＦ（ローパスフィルタ）を用いることも効果的である。２０３は量子化部であり、付加情報が多重化された画像情報に対して、後段の画像出力部１０３のプリンタエンジンにおいて出力可能な階調数への量子化を行なう。尚、該量子化は疑似階調処理により行なうとする。２０４は多重化部であり、既に量子化の終了した量子化値のパターンを参照して量子化条件を変更することにより、付加情報の符号を多重化する。
【００３９】
次に、多重化制御部２０１について詳細に説明する。図３は、多重化制御部２０１における制御処理の手順を示すフローチャートである。
【００４０】
ステップS301において、画像情報の縦方向の画素数HEIGHT、横方向の画素数WIDTH、及び音声情報等の付加情報の情報量（ビット数）Ｎを入力する。続いてステップS302では、付加情報以外に多重化に必要な情報量αをＮに加算し、Ｎ2として算出する。ここでαとしては、多重化した場所を示すマーカコードや符号化条件等のヘッダ情報、及び誤り訂正符号等の冗長性を付与した情報、等が考えられる。次いでステップS303において、後述する多重化対象ブロックのサイズを示す変数ｗ，ｈを、以下の式に基づいて算出する。
【００４１】
ｗ ＝ WIDTH ×Ｎ2^(-1/2)        ・・・式１
ｂ ＝ HEIGHT×Ｎ2^(-1/2)        ・・・式２
（ここで、＾はべき乗を示し、例えば、ａ^bでａのｂ乗を表す）
続いてステップS304において、算出したｗ，ｈ共に、予め設定した閾値ｔｈよりも大きいか否かを判定する。一方でもｔｈ以下であれば、画像サイズに比べて付加情報の情報量があまりにも大きいため、ステップS305にてエラー表示を行なった後、処理を終了する。このｔｈとしては、付加情報を多重化することにより画質的に大きく劣化する臨界点を実験的に算出して決定しても良いし、もちろん実際に多重化が不可能となる値を設定しても良い。ｔｈの値がプリンタ等のエンジン特性に大きく影響されることは言うまでもない。
【００４２】
一方、ステップS304においてｗ，ｈ共にｔｈよりも大きければ、ステップS306にてｗ，ｈの値を多重化部２０３に出力し、処理を終了する。
【００４３】
次に、量子化部２０３について詳細に説明する。図４は、量子化部２０３の詳細構成を示すブロック図である。量子化部２０３においては、誤差拡散処理を用いた擬似階調処理を行なう。尚、一般的な誤差拡散処理の詳細は、例えば文献「R.Floyd&L.Steinberg:“An Adaptive Alogorithm for Spatial Grayscale”,SID Symposium Digest of Paper pp.36〜37(1975)」に記載されているため、ここでは詳細な説明を省略する。
【００４４】
以下、量子化値が２値である誤差拡散処理を例として説明する。
【００４５】
図４において４００は加算器を示し、入力された画像情報の注目画素値と、既に２値化された周辺画素から分配された量子化誤差が加算される。その加算結果と、多重化部２０４から送られてくる閾値ＴＨとを比較部４０１にて比較し、閾値ＴＨよりも加算結果の方が大きい場合には“１”を、それ以外では“０”を出力することにより、量子化する。尚、例えば８ビット精度で画素の階調を表現する場合には、最大値である“２５５”と最小値である“０”で表現するのが一般的である。尚、量子化値が“１”の時に記録用紙上にドット（インク、トナー等）が印刷されるとする。
【００４６】
４０２は減算器を示し、比較部４０１から出力された量子化結果と加算器４００から出力された加算結果との誤差を算出し、誤差配分演算部４０３に出力する。誤差配分演算部４０３においては、今後の量子化処理が施される周辺画素に誤差を配分する。この誤差の配分割合としては例えば、注目画素との相対的な距離に基づいて実験的に設定された誤差の配分テーブル４０４を予め所有しておき、配分テーブル４０４に記された配分割合に基づいて、各画素に誤差を分配する。
【００４７】
上述したように量子化部２０３においては一般的な誤差拡散処理を行なうが、比較部４０１に入力される閾値ＴＨを変更することにより、量子化結果を制御することができる。例えば、量子化結果を強制的に“１”としたい場合には、比較部４０１からの出力が“１”となるように、閾値ＴＨの値を十分小さく設定すれば良い。
【００４８】
この閾値ＴＨの設定は、多重化部２０４において行われる。以下、多重化部２０４における動作について詳細に説明する。多重化部２０４においては、既に量子化の終了した量子化値のパターンを参照して、量子化部２０３に送信すべき量子化閾値ＴＨを制御することにより、付加情報の符号の多重化を実現する。
【００４９】
図５は、多重化部２０４における量子化閾値ＴＨの制御手順を示すフローチャートである。ここでは、画像情報内のｗ×ｈ画素より成るブロック中に、１ビットの付加情報を埋め込む例について説明する。尚、量子化値は２値であるとする。
【００５０】
まずステップS501において、ｗ×ｈ画素から成るブロック内の画素値の分布状態を検知する。これは、ブロック内の全画素、もしくはサブサンプリングした複数の画素を走査して、ブロック内がどのような画素値分布になっているかを検出する。
【００５１】
次にステップS502では、検出した画素値分布に基づいて、付加情報を多重化する濃度域を決定する。ここでは、予め分類した濃度域毎に、付加情報を多重化する優先順位を付しておくことが望ましい。例えば８ビット（０〜２５５）の階調表現を行なう場合、予め１６ステップ単位程度のグループに濃度域を分類し、各グループに対して、低濃度，高濃度，中濃度の順になるように、予め優先順位を付けておく。この例ではグループ数も１６グループになるため、順位１から１６までの各グループの優先順位をＬＵＴ（ルックアップテーブル）等に設定しておくことになる。この順位付けはプリンタのエンジン特性等を考慮して実験的に設定すれば良い。当然、高濃度域の方が記録用紙上でのインクの滲み等により付加情報の分離が困難となるため、低濃度域を第１優先として付加情報を多重化することが好ましい。
【００５２】
このようにステップS502では、ブロック内を走査して、最も高い優先順位の濃度域を多重化対象の濃度域として決定する。
【００５３】
次にステップS503において、多重化する符号が“１”であるか“０”かを判定する。尚、ブロック内に多重化する符号は１ビットである。多重化する符号が“０”であればステップS504に、“１”であればステップS505にそれぞれ処理が移行する。
【００５４】
ステップS504，S505では共に、注目画素周辺の既に２値化を終了した複数の画素を参照するウインドウの適合パターンを設定する。即ち、予め各多重化濃度域毎に登録されている複数の画素値パターンの中から、ステップS502で決定した濃度域のパターン（以後、対象パターンと称す）を設定する。尚、予め登録されているパターンは、濃度域グループ毎に２種類（符号“１”／“０”のそれぞれに相当）ずつ存在するため、グループ数×２種類分のパターンが、予めテーブル等に保持されている。従って、ステップS504では該濃度域に対して予め登録されている符号“０”に対応するパターンＡを、また、ステップS505では同様に符号“１”に対応するパターンＢを、それぞれ対象パターンとして設定する。
【００５５】
ここで、ステップS504，S505において参照されるウインドウの例を図６に示す。同図において、＊印は注目画素、その他ａ，ｂ，ｃ，ｄ，ｅ，ｆ，ｇ，ｈで示す各画素は、既に最終的な２値化を終了した画素である。このウィンドウ内において参照される画素は８画素であるため、該参照画素が取りうるパターンとしては８ビット分の組み合わせが存在する。
【００５６】
また同様に、対象パターンとして設定されるパターンＡ及びパターンＢの例を、図７に示す。同図において、各画素毎の値“０”，“１”は量子化値を示し、“−”で示した位置の画素については、その値が不問である。尚、図７に示すパターン例は低濃度域のグループのものである。図７の（ａ）はパターンＡの例を示し、即ち、注目画素の周辺画素の組み合わせ（上記ウィンドウに相当）が同図のような配置である場合を、符号が“０”の時の対象パターンとする。同様に、図７の（ｂ）はパターンＢの例を示し、符号が“１”の時の対象パターンである。
【００５７】
図７より明らかなように、パターンＡでは、水平方向直前の画素において量子化値が“１”になっており、パターンＢでは垂直方向直前の画素において量子化値が“１”になっていることを特徴とする。従って本実施形態においては、詳細は後述するが、ブロック内でパターンＡの画素配列が検出されれば水平方向に連続した量子化パターンが形成され、パターンＢの画素配列が検出されれば垂直方向に連続した量子化パターンが形成される。
【００５８】
図５に戻り、ステップS506では変数ｉ，ｊ，ａを全て“０”に初期化する。尚、ｉは垂直方向のアドレスをカウントする変数、ｊは水平方向のアドレスをカウントする変数、ａは多重化のための閾値設定がなされたか否かを示すフラグである。
【００５９】
ステップS507でフラグａによって処理を分岐し、フラグａが“０”であれば多重化のための閾値は未設定であるため、ステップS508に進む。ステップS508においては、注目画素の値がステップS502で決定した多重化対象濃度域内であるか否かを判定する。注目画素が該濃度域内であればステップS509に進み、既に２値化を終了した複数の画素を参照するウインドウ内のパターンが、ステップS504又はS505で設定した対象パターンに適合しているか否かを判定する。
【００６０】
ここで、対象パターン（パターンＡ又はパターンＢ）に適合していればステップS510に進み、閾値ＴＨをＤに設定して量子化部２０３へ送出する。ここでＤの値としては、強制的に量子化部２０３における量子化出力が“１”となるべき値を設定する。これにより即ち、ブロック内でパターンＡの画素配列が検出されれば水平方向に連続した量子化パターンが形成され、該量子化パターンをもって多重化された“０”の符号を示す。一方、パターンＢの画素配列が検出されれば垂直方向に連続した量子化パターンが形成され、該量子化パターンをもって多重化された“１”の符号を示す。
【００６１】
一方、対象パターンに適合していなければステップS511において同様に閾値ＴＨをＣに設定して量子化部２０３に出力する。また、ステップS507及びS508にて否と判定された場合にも、ステップＳ５１１において閾値ＴＨをＣに設定する。尚、Ｃの値としては通常の量子化を行なうために、例えば“０”と“１”の各量子化値の中間値となる“０．５”を設定することが一般的である。また、画素値を８ビット表現とすれば、“１２８”が閾値Ｃに相当する。もちろん、閾値の値は各量子化値の中間値に限定するものではない。
【００６２】
そして、ステップS510において閾値ＴＨがＤと設定されて出力された場合のみ、ステップS512においてフラグａに“１”を立てることにより、当該ブロックにおける多重化のための閾値設定が終了したことを示す。
【００６３】
続いて、ステップS513で変数ｊの値をカウントアップして、水平方向のアドレスを１列分ずらす。そしてステップS514において、変数ｊがブロックの横方向の画素数であるｗ未満であるか否かを判定する。否であれば即ち、水平方向のｗ画素分の処理が終了したため、次にステップS515にて垂直方向の変数ｉをカウントアップし、ステップS516にて縦方向の画素数であるｈ行分の処理が終了したか否かを判定する。否であれば即ち、未処理の行が残っているため、ステップS507へ戻って一連の処理を繰り返す。
【００６４】
以上説明したように多重化部２０４においては、図５のフローチャートに示す一連の処理により、量子化部２０３へ出力する量子化閾値ＴＨを制御する。これにより、画像情報のブロック内で“１”もしくは“０”を示す付加情報の１ビット信号を多重化することが可能になる。
【００６５】
尚、図５のフローチャートにおいては説明を容易にするために、閾値ＴＨがＣ及びＤに設定された何れの場合にも出力を行なう例について説明したが、付加情報の符号を埋め込む“ＴＨ＝Ｄ”の場合が、“ＴＨ＝Ｃ”の場合よりも圧倒的に少なければ、量子化部２０３において閾値ＴＨの初期値としてＣを設定しておくことも有効である。即ち、多重化部２０４においては“ＴＨ＝Ｄ”になる画素の時のみ、量子化部２０３に対して切り替わり信号を発生し、量子化部２０３では該信号を受けた時のみ、閾値ＴＨとしてＤを用いて量子化処理を実行し、それ以外の画素についてはＣによる量子化を行なえば良い。
【００６６】
尚、図５に示した量子化閾値制御処理において、ウインドウ内のパターンが対象パターンに適合せず、ブロック内の走査が終了してしまう可能性がある。つまり、当該ブロックにおいて閾値変更による多重化が実現されないことが発生しうる。このような場合にはブロックの終端部において、復号可能なように量子化値を組み合わて符号を表現することにより、多重化を実現する方法が現実的には好ましい。また、対象濃度域を次の優先順位の濃度域グループに変更して、ブロック内を再走査して多重化を試みる方法や、多重化する符号を次のブロックへ先送りする方法等、様々な方法が考えられる。
【００６７】
また、ブロックサイズを示すｗ，ｈの決定方法としては、上述した式１，式２に限定されない。式１，式２によれば、画像の縦横比に応じてブロックを形成することになるが、例えば疑似階調処理におけるブロック内走査を考慮して、横方向に長く、縦方向に短くなるようなｗ、ｈを設定しても良いし、また、正方ブロックを形成しても良い。
【００６８】
以上、本実施形態における多重化処理を行なう構成について説明したが、本実施形態の思想は、疑似階調処理では通常発生し得ないテクスチャを量子化値の組み合わせにより人工的に作成し、そのテクスチャの有無により１ビットの符号を表現している点にある。
【００６９】
一般に誤差拡散法は、非常に独特なテクスチャが発生する量子化方法として知られている。従来より、視覚的に不快感を覚える鎖状につながるテクスチャの発生が、誤差拡散法の大きな問題点とされてきた。そのため、その不快なテクスチャを発生させないための提案も数多くなされてきた。
【００７０】
しかしながら、テクスチャの発生要因を解析すると、テクスチャのパターンの中には、発生しうるテクスチャと発生し得ないテクスチャとがある。例えば、誤差の配分テーブル４０４として図８に示す拡散マトリクスを想定すると、＊印で示す注目画素直前の画素が“１”に量子化された場合、負の量子化誤差が発生するために、隣接した注目画素は“１”に量子化されづらくなる。従って本実施形態によって付加された符号を復号する際には、例えば低濃度域（ハイライト）の平坦部であるということが検知できれば、水平方向に隣合った画素が共に“１”になるような量子化値のパターンは通常有り得ないため、該パターンが検出されればそれを符号として認識することができる。
【００７１】
ここで、一般にドットが連続して印刷されることにより形成されたテクスチャは、３６０ｄｐｉ程度の低解像のインクジェットプリンタで記録用紙上に印刷した場合でも非常に目立ちづらく、肉眼では全く視覚的な妨害にはならない。しかし、高解像度の画像読取装置であればドットがつながって印刷されていることが鮮明に検知できるため、埋め込まれた符号を復号することが容易に可能である。
【００７２】
このように、記録用紙上に形成されるテクスチャを任意に制御することができれば、視覚的には違和感なく符号を埋め込むことが可能である。これは、誤差拡散法の有する周波数特性が、或る固定の周波数にピークをもつものではなく、広帯域のハイパスフィルタになっているためである。
【００７３】
それに対して、短い周期で規則的に繰り返される組織的ディザ法では、テクスチャを任意に制御することは困難である。組織的ディザ法では、ディザ周期に基づく固定周波数に非常に大きな電力を有するため、そのピークを持つ周波数以外の帯域に情報を埋め込んだ場合には、視覚的に違和感が生じ、画質劣化につながってしまう。
【００７４】
尚、以上は低濃度域におけるテクスチャについて説明したが、低濃度域以外の中、高濃度域においても同様に、該当する濃度域では発生し得ないテクスチャを人工的に作成することにより、任意の符号を埋め込むことが可能である。即ち、復号側において、その判別できうる濃度域で、該当する濃度域には発生し得ないテクスチャのパターンを符号であると認識して復号することができれば良い。
【００７５】
以下、画像情報に対して実際に本実施形態による付加情報の多重化を行なった例を示す。図９は、記録用紙上に３種類の画像を出力した例を示す図である。これら３種類の画像を画像Ａ、画像Ｂ、画像Ｃとし、それぞれ同一の画像サイズであるとする。以下、この３種類の画像それぞれに、画像に関連する音声情報を多重化する場合について考える。尚、画像Ａ，Ｂ，Ｃに多重化する音声情報の情報量を、それぞれ４キロバイト（ｋＢ），１ｋＢ，９ｋＢとする。また、説明を容易にするために、ヘッダ情報やマーカコード、誤り訂正符号等による情報量の増加については無視するものとする。
【００７６】
この場合、画像サイズが同一で、多重化する音声情報の情報量の比が、Ａ：Ｂ：Ｃにおいて４：１：９であるため、音声情報の符号１ビットが多重化されるブロックの面積比は、１／４：１：１／９となる。このブロックの面積比の様子を図１０に示す。図１０において、各画像内の四角で囲まれた領域が、各画像において１ビットの符号が多重化される１ブロックを示す。当然、多重化する情報量がもっとも多い画像Ｃが、１ブロックの面積がもっとも小さく、従って符号の多重化による画質劣化がもっとも深刻となる。即ち、多重化する情報量の増加に伴って、画質劣化の可能性が大きくなることが分かる。
【００７７】
このことから本実施形態において、多重化ブロックのサイズ（ｗ×ｈ）に対して、画質劣化の臨界点として予め実験的に得られた値（ｔｈ）に基づく制限を設けることの必要性が分かる。
【００７８】
以上説明したように本実施形態によれば、通常発生し得ないテクスチャによって符号を表現することにより、画像情報に対して画質劣化を抑制しつつ、付加情報をその情報量や画像情報のサイズに応じて多重化することが可能となる。
【００７９】
また、画像情報に対して例えば音声情報等の大容量の付加情報を多重化することが容易に実現できるため、画質劣化を極力低減しつつ、記録用紙上で音声情報を流通させたり、また、画像中に秘匿情報を混入させたりすることが容易に可能となる。
【００８０】
＜第２実施形態＞
以下、本発明に係る第２実施形態について説明する。
【００８１】
第２実施形態における画像処理システムの構成は、上述した第１実施形態で示した図１及び図２と同様であり、多重化制御部２０１における動作が異なるのみであるため、詳細な説明を省略する。第２実施形態においては、画像形成時の色成分であるイエロー（Ｙ），マゼンタ（Ｍ），シアン（Ｃ），ブラック（Ｋ）の４成分のそれぞれに対して、付加情報の多重化を行なうことを特徴とする。従って、画像出力部１０３としてカラー出力を行なう装置を適用する際に非常に有効となる。
【００８２】
図１１は、第２実施形態の多重化制御部２０１における制御処理を示すフローチャートである。
【００８３】
ステップS1101において、画像情報の縦方向の画素数HEIGHT、横方向の画素数WIDTH、及び音声情報等の付加情報の情報量（ビット数）Ｎを入力する。続いてステップS1102では、付加情報以外に多重化に必要な情報量αをＮに加算し、Ｎ2として算出する。ここでαとしては、多重化した場所を示すマーカコードや符号化条件等のヘッダ情報、及び誤り訂正符号等の冗長性を付与した情報、等が考えられる。
【００８４】
次いでステップS1103において、画像情報内で取りうる一辺がｔｈである正方格子の数を示す変数Ｍを、以下の式に基づいて算出する。
【００８５】
Ｍ＝INT(WIDHT/ｔｈ)×INT(HEIGHT/ｔｈ)  ・・・式３
尚、式３においてINTは整数値を表し、小数部については切り捨てるとする。
【００８６】
このＭは即ち、WIDTH×HEIGHTの画像サイズ内において配列可能な、ｔｈの値を一辺とした正方格子ブロックの数を示している。尚、ｔｈとしては、付加情報を多重化することにより画質的に大きく劣化する臨界点を実験的に算出して決定しても良いし、もちろん実際に多重化が不可能になる値を設定しても良い。即ち、Ｍは多重化の限界である最大ブロック数であり、１ブロック内に１ビットの多重化を行なう場合、全Ｍビットまでの情報しか多重化できないことになる。
【００８７】
続いてステップS1104において、情報量Ｎ2とＭとの比較を行う。ここでＮ2の方が小さければ、ステップS1105においてＹ成分に関する以下の設定を行う。
【００８８】
ｗ_Ｙ ＝ ｈ_Ｙ ＝ ｔｈ                    ・・・式４
ここでｗ_Ｙ及びｈ_Ｙは、それぞれＹ成分多重化時のブロックの横画素数と縦画素数を示す。
【００８９】
一方、ステップS1104でＮ2の方がＭよりも大きければステップS1106に進み、今度はＮ2をＭの２倍と比較する。ここでＮ2の方が小さければ、２色による多重化が可能であるためステップS1107に進み、Ｙ成分に関するｗ_Ｙ，ｈ_Ｙの設定に加えて、更にＭ成分に関する以下の設定が行われる。
【００９０】
ｗ_Ｍ ＝ ｈ_Ｍ ＝ ((WIDTH×HEIGHT)/(Ｎ2−Ｍ))^(1/2)    ・・・式５
ここでｗ_Ｙ及びｈ_Ｙは、それぞれＭ成分多重化時のブロックの横画素数と縦画素数を示す。また、ｗ_Ｙ及びｈ_Ｙの設定はステップS1105と同様である。ステップS1107においては即ち、Ｙ成分で最大数の多重化ブロックを作成し、それでも多重化できない残りの情報量については、Ｍ成分に多重化する。この時、Ｍ成分のブロックサイズ(ｗ_Ｍ，ｈ_Ｍ）は、Ｙ成分多重化時のブロックサイズ(ｗ_Ｙ，ｈ_Ｙ)よりも大きくなるので、Ｍ成分においては多重化による画質劣化が小さくて済む。
【００９１】
一方、ステップS1106においてＮ2の方が２×Ｍよりも大きければステップS1108に進み、今度はＮ2をＭの３倍と比較する。ここでＮ2の方が小さければ、３色による多重化が可能であるためステップS1109に進み、Ｙ成分に関するｗ_Ｙ，ｈ_Ｙの設定に加えて、更にＭ成分、及びＣ成分に関する以下の設定が行われる。
【００９２】
ｗ_Ｍ ＝ ｈ_Ｍ ＝ ｔｈ              ・・・式６
ｗ_Ｃ ＝ ｈ_Ｃ ＝ ((WIDTH×HEIGHT)/(Ｎ2−２×Ｍ))^(1/2)  ・・・式７
ここでｗ_Ｃ及びｈ_Ｃは、それぞれＣ成分多重化時のブロックの横画素数と縦画素数を示す。また、ｗ_Ｙ及びｈ_Ｙの設定はステップS1105と同様であり、ｗ_Ｍ及びｈ_Ｍの設定は、ｗ_Ｙ及びｈ_Ｙと同様にｔｈの値が代入される。ステップS1109においては即ち、Ｙ，Ｍの両成分においては最小のブロックを作成して限界まで多重化を行い、それでもまだ多重化できない情報に関しては、Ｃ成分に多重化する。
【００９３】
一方、ステップS1108においてＮ2の方が３×Ｍよりも大きければ、ステップS1110においてエラー表示がなされた後、処理を終了する。
【００９４】
このように第２実施形態においては、画像を形成する各色成分に優先順位を付し、画質劣化の限界まで多重化を行なうことを特徴とする。
【００９５】
一般に、Ｙ，Ｍ，Ｃ，Ｋの４成分によりカラー画像を形成する際には、Ｙ成分が視覚的な感度がもっとも低い。第２実施形態における多重化方法は第１実施形態と同様に、誤差拡散法のテクスチャに情報を混入させる方式であるために、視覚的な画質劣化ははとんど無いが、それでも感度の低い色材で多重化を行なうことがより好ましい。そこで第２実施形態においては、Ｙを第１優先として、Ｍ，Ｃの順に多重化を実行する。当然、付加する情報量が画像サイズに比べて小さい場合には、少ない色材のみで多重化を実現できるが、情報量の増加に伴い、多重化処理をする色材が増えることになる。
【００９６】
尚、図１１に示すフローチャートにおいては、Ｋ成分に対する多重化処理を省略したが、もちろんＫ成分で多重化を実施しても良い。また、色材の優先順位はこれに限るものではない。例えば、インクジェットプリンタにおいて使用される染料濃度を薄めた淡インク等、視覚的感度がより低いと思われる色材に対してはより高い優先順位を付せば良い。
【００９７】
また第２実施形態においては、多重化ブロックとして縦方向と横方向の画素数が同じである正方格子を例として説明したが、もちろん多重化ブロックの形状は正方に限るものではない。
【００９８】
以上説明したように第２実施形態によれば、複数色成分からなる画像に対して、所定の優先順位に従って、色成分毎に画質劣化の限界まで付加情報を多重化する。従って、画質劣化を最小限に留めつつ、より多くの付加情報を多重化することが可能となる。
【００９９】
尚、上述した第１及び第２実施形態においては、音声情報を多重化する例について説明したが、本発明において多重化対象となる情報はこれに限るものではない。
【０１００】
また本発明は、多重化処理の制御が付加する情報量に連動することを特徴とし、上述した各実施形態で説明した制御方法に限定されるものではない。また、量子化値の組み合わせによりテクスチャの形状を変化させることにより付加情報を多重化する方法としても、閾値変更以外に様々な方法が考えられる。
【０１０１】
また、本発明の多重化方法は疑似階調処理のテクスチャを用いているため、当然、１ビットの多重化を行なう場合にも複数画素を参照する必要があり、また、誤差拡散法の閾値変更は、注目画素以降の複数画素の２値化結果にも影響を及ぼすことになる。そのため、１ブロック形成のための最小画素数は、上述したように、テクスチャとして視覚的に目立たないように、実験的に最適な値を算出することが好ましい。
【０１０２】
また、上記各実施形態においては、付加情報及び画像情報に応じて多重化条件を制御する例について説明したが、この多重化条件もヘッダ情報として多重化して送信することは当然である。受信側では、このヘッダ情報に記載された多重化条件に基づいて、付加情報と画像情報との分離を行うことになる。
【０１０３】
また本発明では、付加情報の情報量が既定値よりも多くなるとエラー表示を行なう例について説明したが、例えば既定値以上になると他の多重化方式を実行するというハイブリッド制御を行なうことも非常に有効である。
【０１０４】
【他の実施形態】
なお、本発明は、複数の機器（例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置など）に適用してもよい。
【０１０５】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（または記録媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはCPUやMPU）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１０６】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１０７】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【０１０８】
【発明の効果】
以上説明したように本発明によれば、誤差拡散法の原理的なテクスチャ発生を符号埋め込みに利用し、更に付加情報の情報量や画像サイズに応じて多重化条件を制御することにより、画像情報に対して画質劣化を抑制しつつ大量の付加情報を多重化することが可能となる。
【図面の簡単な説明】
【図１】本発明に係る一実施形態における画像処理システムの概要構成を示すブロック図、
【図２】本実施形態における多重化疑似階調処理部の詳細構成を示すブロック図、
【図３】本実施形態における多重化制御部の動作手順を示すフローチャート、
【図４】本実施形態における量子化部の詳細構成を示すブロック図、
【図５】本実施形態における多重化部の動作手順を示すフローチャート、
【図６】本実施形態における既２値化情報のウインドウの一例を示す図、
【図７】本実施形態における対象パターンの一例を示す図、
【図８】誤差拡散法における拡散マトリクスの一例を示す図、
【図９】本実施形態によって形成された画像例を示す図、
【図１０】形成画像におけるブロック分割の様子を示す図、
【図１１】本発明に係る第２実施形態における多重化制御部の動作手順を示すフローチャート、
【図１２】従来の多重化処理の一例を示すブロック図、
【図１３】従来の多重化処理の一例を示すブロック図、である。
【符号の説明】
１０２  多重化擬似階調処理部
１０３  画像出力部
１０４  画像入力部
１０５  多重情報分離部
２０１  多重化制御部
２０２  ノイズ除去部
２０３  量子化部
２０４  多重化部
４００  加算器
４０１  比較部
４０２  減算器
４０３  誤差配分演算部
【図１】
0003715821.tif 000002
【図２】
0003715821.tif 000003
【図３】
0003715821.tif 000004
【図４】
0003715821.tif 000005
【図５】
0003715821.tif 000006
【図６】
0003715821.tif 000007
【図７】
0003715821.tif 000008
【図８】
0003715821.tif 000009
【図９】
0003715821.tif 000010
【図１０】
0003715821.tif 000011
【図１１】
0003715821.tif 000012
【図１２】
0003715821.tif 000013
【図１３】
0003715821.tif 000014