(57)【要約】【課題】記録媒体の種類、記録解像度の変化があっても誤差拡散処理による２値化によって濃度特性が線形の階調表現を実現し、階調特性の優れた高品位な画像形成を実現することができる画像処理装置及び画像処理方法を提供することである。【解決手段】多値画像データを誤差拡散処理を施して擬似中間調画像を形成するための画像データに変換する際、多値画像データの各画素の値を２値化し、その２値化によって発生した誤差を出力し、多値画像データの各画素の値に従って、発生した誤差を補正し、その補正された誤差を次の画素の誤差拡散処理にフィードバックする。【選択図】　図７
2004048386.tif 000002
【特許請求の範囲】
【請求項１】
多値画像データを誤差拡散処理を施して擬似中間調画像を形成するための画像データに変換する画像処理方法であって、
前記多値画像データの各画素の値を２値化し、該２値化によって発生した誤差を生成する誤差発生工程と、
前記多値画像データの各画素の値に従って、前記誤差発生工程において発生した誤差を補正する誤差補正工程と、
前記誤差補正工程において補正された誤差を次の画素の誤差拡散処理にフィードバックするフィードバック工程とを有することを特徴とする画像処理方法。
【請求項２】
前記誤差補正工程は、
前記多値画像データの各画素の値に従って補正量を出力するテーブルを複数備え、
前記擬似中間調画像を形成する記録媒体と記録モードとに従って、前記複数のテーブルから１つを選択し、該選択されたテーブルを参照して、誤差補正量を出力することを特徴とする請求項１に記載の画像処理方法。
【請求項３】
前記誤差補正工程は、前記選択されたテーブルから出力される補正値を前記誤差発生工程において発生した誤差から減算して補正された誤差を出力する減算工程を含むことを特徴とする請求項２に記載の画像処理方法。
【請求項４】
前記誤差補正工程は、前記選択されたテーブルから出力される補正値を前記誤差発生工程において発生した誤差に積算して補正された誤差を出力する積算工程を含むことを特徴とする請求項２に記載の画像処理方法。
【請求項５】
前記フィードバック工程は、
前記誤差発生工程において発生した誤差を誤差拡散マトリクスを用いて周辺画素に拡散し、該拡散された誤差をバッファに累積する累積工程と、
前記バッファから前記次の画素にフィードバックする累積誤差を読みだし、前記誤差拡散マトリクスの各係数の値に基づいて前記累積誤差を正規化する正規化工程を含み、
前記誤差補正工程はさらに、前記正規化工程における正規化処理を前記選択されたテーブルから出力される補正値で補正することを特徴とする請求項２に記載の画像処理方法。
【請求項６】
前記複数のテーブルは２次元テーブルであり、
前記２次元テーブルは、前記誤差拡散処理において用いる誤差拡散マトリクスの中に含まれる有意な係数の数だけ備えられることを特徴とする請求項２に記載の画像処理方法。
【請求項７】
前記２次元テーブル各々は、入力される多値画像データの値と前記誤差発生工程において発生した誤差とから補正値が定められる構造となっていることを特徴とする請求項６に記載の画像処理方法。
【請求項８】
前記２次元テーブル各々は、前記多値画像データのとり得る値からサンプルされた代表値と前記誤差発生工程において発生し得る誤差からサンプルされた代表値とから補正値が定められる構造となっていることを特徴とする請求項６に記載の画像処理方法。
【請求項９】
前記定められた補正値に対して補間処理を行って入力される多値画像データの値と前記誤差発生工程において発生した誤差とに対する補正された誤差を出力する補間工程をさらに有することを特徴とする請求項８に記載の画像処理方法。
【請求項１０】
多値画像データを誤差拡散処理を施して擬似中間調画像を形成するための画像データに変換する画像処理装置であって、
前記多値画像データの各画素の値を２値化し、該２値化によって発生した誤差を生成する誤差発生手段と、
前記多値画像データの各画素の値に従って、前記誤差発生手段によって発生した誤差を補正する誤差補正手段と、
前記誤差補正手段によって補正された誤差を次の画素の誤差拡散処理にフィードバックするフィードバック手段とを有することを特徴とする画像処理装置。
【請求項１１】
前記誤差補正手段は、
前記多値画像データの各画素の値に従って補正量を出力する複数のテーブルと、
前記擬似中間調画像を形成する記録媒体と記録モードとに従って、前記複数のテーブルから１つを選択する選択手段とを有し、
前記選択手段によって選択されたテーブルを参照して、誤差補正値を出力することを特徴とする請求項１０に記載の画像処理装置。
【請求項１２】
前記誤差補正手段は、前記選択手段によって選択されたテーブルから出力される補正値を前記誤差発生手段によって発生した誤差から減算して補正された誤差を出力する減算器を含むことを特徴とする請求項１１に記載の画像処理装置。
【請求項１３】
前記誤差補正手段は、前記選択手段によって選択されたテーブルから出力される補正値を前記誤差発生手段によって発生した誤差に積算して補正された誤差を出力する積算器を含むことを特徴とする請求項１１に記載の画像処理装置。
【請求項１４】
前記フィードバック手段は、
前記誤差発生手段によって発生した誤差を誤差拡散マトリクスを用いて周辺画素に拡散し、該拡散された誤差をバッファに累積する累積手段と、
前記バッファから前記次の画素にフィードバックする累積誤差を読みだし、前記誤差拡散マトリクスの各係数の値に基づいて前記累積誤差を正規化する正規化手段を含み、
前記誤差補正手段はさらに、前記正規化手段による正規化処理を前記選択手段によって選択されたテーブルから出力される補正値で補正することを特徴とする請求項１１に記載の画像処理装置。
【請求項１５】
前記複数のテーブルは２次元テーブルであり、
前記２次元テーブルは、前記誤差拡散処理において用いる誤差拡散マトリクスの中に含まれる有意な係数の数だけ備えられることを特徴とする請求項１１に記載の画像処理装置。
【請求項１６】
前記２次元テーブル各々は、入力される多値画像データの値と前記誤差発生手段によって発生した誤差とから補正値が定められる構造となっていることを特徴とする請求項１５に記載の画像処理装置。
【請求項１７】
前記２次元テーブル各々は、前記多値画像データのとり得る値からサンプルされた代表値と前記誤差発生手段によって発生し得る誤差からサンプルされた代表値とから補正値が定められる構造となっていることを特徴とする請求項１５に記載の画像処理装置。
【請求項１８】
前記定められた補正値に対して補間処理を行って入力される多値画像データの値と前記誤差発生手段によって発生した誤差とに対する補正された誤差を出力する補間手段をさらに有することを特徴とする請求項１７に記載の画像処理装置。
【請求項１９】
請求項１乃至９に記載の画像処理方法の各工程を実行するプログラム。
【請求項２０】
請求項１９に記載されたプログラムをコンピュータで実行可能なコードで記述し、該コードを格納した記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は画像処理装置及び画像処理方法に関し、特に、多値画像データを高精細かつ高階調に表示及び記録する為の画像処理装置及びその画像処理方法に関する。
【０００２】
【従来の技術】
従来より、スキャナやディジタルカメラ等の入力装置で読み取った多値画像データをプリンタやディスプレイ等の出力装置に出力する画像入出力システムがある。
【０００３】
そのシステムでは、入力装置で読み取った多値（例えば、１画素８ビットならば２５６階調）の画像データを出力装置が出力可能なようにｎ値化処理が行われてきた。例えば、出力装置が１画素についてＯＮ／ＯＦＦのみの２つの表現しか出きない場合には、２値化処理が行なわれてきた。この２値化処理の中で画像の解像度と階調表現に共に優れたものとして誤差拡散処理がある。
【０００４】
ここで、従来の技術である誤差拡散の原理を図１を参照して説明する。
【０００５】
図１は誤差拡散処理の原理を説明するブロック図である。
【０００６】
入力装置で読み取った多値（例えば、１画素８ビットの階調が０〜２５５）の入力データ（Ｉｎ）には加算器６において割算部５の出力である周辺画素から拡散された誤差（ｄＩｎ）　が加算され、その結果得られた値（Ｉｎ＋ｄＩｎ）　が比較部２に入力される。比較部２では、閾値設定部１から読み出された閾値（例えば、１２７）と（Ｉｎ＋ｄＩｎ）の値とを比較して、（Ｉｎ＋ｄＩｎ）＞１２７である場合は、比較部２の出力値（Ｏｕｔ）を“２５５”とし、（Ｉｎ＋ｄＩｎ）≦１２７である場合は、その出力値（Ｏｕｔ）を“０”として出力する。
【０００７】
このようにして出力値（Ｏｕｔ）は２値データとなり、その値が“０”であることは（ＯＦＦ）を意味し、“２５５”であることは“ＯＮ”を意味する。
【０００８】
また、減算部３は、比較部２への入力値（Ｉｎ＋ｄＩｎ）から比較部２からの出力値（Ｏｕｔ）を減算して、差分（ｄＯｕｔ＝（Ｉｎ＋ｄＩｎ）−Ｏｕｔ）を算出してこれを２値化誤差（ｄＯｕｔ）とする。２値化誤差（ｄＯｕｔ）には、周辺画素への分配係数７が乗算され、その結果が誤差蓄積バッファ４に加算蓄積される。誤差蓄積バッファ４上の次に処理を行う画素（＊）の値が割算部５に入力され、そこで分配係数の総和（この例では、“３２”）で割算され正規化されて正規化誤差（ｄＩｎ）として出力される。
【０００９】
このように、誤差拡散処理とは、例えば、１画素８ビットの入力多値（Ｉｎ）を“０”または“２５５”の２値の出力値（Ｏｕｔ）に変換する際に発生する差分を周辺画素に分配しマクロ的には入力値の値を保存する処理である。
【００１０】
図２及び図３は、図１に示した誤差拡散により値が“１２７”の入力データを処理し出力装置によって出力された画像の状態を示した図である。
【００１１】
図２は、各画素が占める領域に対し、規則的にＯＮ／ＯＦＦを示すようになった出力画像結果を示しており、図３は、各画素が占める領域に対しＯＮとなる画素がその領域をはみ出して表現していることを示している。
【００１２】
例えば、インクジェットプリンタのようにインク液滴を記録紙のような記録媒体に吐出して画像を形成する場合には、記録媒体に吐出されたインク液滴の形状は円形で、しかも、１画素に対する領域より大きくなるのが常である。これは、記録媒体上では吐出されたインク形状が円形となるため、記録媒体全面にわたって記録をしたときにインクによって記録されない部分が出ないようにインクの吐出量が設定されていることによる。従って、図３に示されるような画像が形成されるのである。
【００１３】
また、図示されていないが、プラズマやバックライト付の液晶など発光体を用いた表示装置の場合も、光学系のフレアや内部反射のため、また表示輝度を上げるために発光部の領域を画素に対して大きくとるために、人間の目に入る前の状態としては、図２で示す画像表現より図３に示す画像表現になる。
【００１４】
但し表示装置の場合は、ＯＮとなる画素が明るい部分、ＯＦＦとなる画素が暗い部分を表現することになる。
【００１５】
以下、現象的には同じなので出力装置として、インクジェットプリンタを想定して説明する。
【００１６】
図４は、前述の誤差拡散法を用いて多値画像データを２値化し、その２値化データをインクジェットプリンタに出力して擬似中間調表現をした画像を記録した時の記録濃度特性を示す図である。
【００１７】
図４において、横軸は誤差拡散処理のために入力される多値画像データの値を示し、縦軸は誤差拡散処理による出力をインクジェットプリンタで出力した後の濃度値を示す。
【００１８】
図３に関連して説明したように、記録紙上に形成されるドットが円形であり、かつ吐出インクが記録紙上では滲みでドット形が大きくなるというドットゲイン現象のため、図４に示されているように記録濃度特性は、入力多値画像データの濃度値に対して線形ではなく、曲線８のように濃度特性が凸状になる。一方、視覚的にみて滑らかな連続階調を再現する為には、濃度特性が線形性をもつ必要がある。そのため、従来は、図１における入力画像データの値（Ｉｎ）に対し、図４において縦軸を０〜２５５の値に正規化した座標系で、曲線８についてＹ＝Ｘ（図中の細い破線）に関して対称な特性曲線９を用いてルックアップテーブル変換を施し、入力値に対し濃度特性が線形となるような変換処理を行なっていた。
【００１９】
図５は、図１に原理的に示した誤差拡散処理の入力多値画像データに濃度補正を行なうためにルックアップテーブル１０を追加した従来の構成を示すブロック図である。これによって、従来は濃度特性がリニアな記録結果を得ている。
【００２０】
また、上述したドットゲイン現象は、記録紙の種類（普通紙、コート紙、半光沢紙、光沢紙など）に応じて夫々の用紙が異なった特性を有するので、ドットの滲み現象の程度も異なってくる。加えて、記録解像度が、例えば、６００×６００ＤＰＩの場合と６００×１２００ＤＰＩの場合とでは記録濃度特性も異なる。
【００２１】
図６は、記録紙の種類、記録解像度の変化に従った記録濃度特性の変化を示す図である。
【００２２】
図６において、曲線１１は普通紙、曲線１２はコート紙、曲線１３は半光沢紙、曲線１４は光沢紙の場合の記録濃度特性をあらわしている。これらの特性は全て記録解像度が６００×６００ＤＰＩの時のものである。一方、曲線１５は、記録解像度が６００×１２００ＤＰＩの時の光沢紙の記録濃度特性を示す。各特性曲線は、それぞれの最高濃度値に対する濃度リニア特性に対し、異なった非線形濃度特性を示すのが特徴的である。
【００２３】
このように従来は、誤差拡散による２値化処理では線形の記録濃度特性が得られない為、２値化処理の前にルックアップテーブル処理を行い線形の濃度特性が得られるように補正している。
【００２４】
【発明が解決しようとする課題】
しかしながら上記従来例では、非線形なルックアップ変換処理を必要としていた為、量子化誤差が発生し、例えば、１画像８ビットの多値画像データを入力データとする場合、階調が２５６あるにもかかわらず、実際にはその２５６階調を線形の濃度特性を用いて表現できないという問題が発生していた。
【００２５】
また、その量子化誤差が大きい場合は、形成画像上に擬似輪郭が発生し滑らかな階調を実現できないという問題も発生していた。
【００２６】
さらに、従来例に従って２５６階調表現可能な線形の濃度特性を保証する為には、入力データ及び中間処理データのビット数を増やして実現することが必要であるが、回路構成上、８ビットデータを扱う場合に比べ、その回路ではゲート数の増加し、メモリが増加するなど構成が複雑になり安価なハードウェアを実現することが困難になる。
【００２７】
また、入力データをソフトウェアを用いて処理する場合においても、メモリの占有率の増加などにより処理速度の低下が発生する。特に、記録媒体（その結果、形成画像サイズが）がＢ０サイズとなる大判プリンタなどでは、その処理速度の低下は甚だしいものがある。
【００２８】
本発明は上記従来例とのその問題点に鑑みてなされたものであり、記録媒体の種類、記録解像度の変化があっても誤差拡散による２値化によって濃度特性が線形の階調表現を実現し、階調特性の優れた高品位な画像形成を実現することができ、さらに簡単で安価な構成で高速な処理を実現する画像処理装置及び画像処理方法を提供することを目的としている。
【００２９】
【課題を解決するための手段】
上記目的を達成するため本発明の画像処理方法は以下の構成からなる。
【００３０】
即ち、多値画像データを誤差拡散処理を施して擬似中間調画像を形成するための画像データに変換する画像処理方法であって、前記多値画像データの各画素の値を２値化し、該２値化によって発生した誤差を生成する誤差発生工程と、前記多値画像データの各画素の値に従って、前記誤差発生工程において発生した誤差を補正する誤差補正工程と、前記誤差補正工程において補正された誤差を次の画素の誤差拡散処理にフィードバックするフィードバック工程とを有することを特徴とする画像処理方法を備える。
【００３１】
なお、前記誤差補正工程では、多値画像データの各画素の値に従って補正量を出力するテーブルを複数備え、擬似中間調画像を形成する記録媒体と記録モードとに従って、これら複数のテーブルから１つを選択し、その選択されたテーブルを参照して、誤差補正量を出力するようにすると良い。
【００３２】
このようにして、前記誤差補正工程では、（１）その選択テーブルから出力される補正値を誤差発生工程において発生した誤差から減算して補正された誤差を出力する減算するようにしても良いし、（２）その選択テーブルから出力される補正値を誤差発生工程において発生した誤差に積算して補正された誤差を出力する積算するようにしても良いし、（３）前記フィードバック工程に、誤差発生工程において発生した誤差を誤差拡散マトリクスを用いて周辺画素に拡散し、該拡散された誤差をバッファに累積する工程と、そのバッファから次の画素にフィードバックする累積誤差を読みだし、誤差拡散マトリクスの各係数の値に基づいて累積誤差を正規化する工程を含むようにし、前記誤差補正工程はさらに、正規化処理をその選択テーブルから出力される補正値で補正するようにしても良い。
【００３３】
また、前記複数のテーブルを２次元テーブルとし、その２次元テーブルを、誤差拡散処理において用いる誤差拡散マトリクスの中に含まれる有意な係数の数だけ備えるようにしても良い。
【００３４】
このとき、これら２次元テーブル各々は、入力される多値画像データの値と誤差発生工程において発生した誤差とから補正値が定められる構造となるようにしても良いが、多値画像データのとり得る値からサンプルされた代表値と誤差発生工程において発生し得る誤差からサンプルされた代表値とから補正値が定められる構造となるようにしても良い。
【００３５】
後者の場合、その定められた補正値に対して補間処理を行って入力される多値画像データの値と誤差発生工程において発生した誤差とに対する補正された誤差を出力することが望ましい。
【００３６】
また他の発明によれば、多値画像データを誤差拡散処理を施して擬似中間調画像を形成するための画像データに変換する画像処理装置であって、前記多値画像データの各画素の値を２値化し、該２値化によって発生した誤差を生成する誤差発生手段と、前記多値画像データの各画素の値に従って、前記誤差発生手段によって発生した誤差を補正する誤差補正手段と、前記誤差補正手段によって補正された誤差を次の画素の誤差拡散処理にフィードバックするフィードバック手段とを有することを特徴とする画像処理装置を備える。
【００３７】
さらに他の発明によれば、上記のような画像処理方法の各工程を実行するプログラムを備える。
【００３８】
またさらに他の発明によれば、上記のプログラムをコンピュータで実行可能なコードで記述し、該コードを格納した記憶媒体を備える。
【００３９】
【発明の実施の形態】
以下添付図面を参照して本発明の好適な実施形態について詳細に説明する。
【００４０】
これ以降に説明では、まず多値画像データを入力して誤差拡散処理を行なって２値化データを出力する２値化処理装置のいくつかの実施形態について説明し、最後にこの２値化処理装置が応用される画像入出力システムについて説明する。
【００４１】
なお、いくつかの実施形態で説明する２値化処理装置の構成において、既に従来例において説明したのと同じ構成要素には同じ参照番号を付し、その説明は省略する。また、説明を簡単にするために全ての２値化処理装置では１画素８ビット（０〜２５５の階調）の多値画像データを入力し、これを２値化し、その出力値（Ｏｕｔ）は“２５５”或い“０”とする。従来例と同様に、この出力２値データの値が“０”であることは（ＯＦＦ）を意味し、“２５５”であることは“ＯＮ”を意味する。また、２値化のための閾値は“１２７”とする
＜第１実施形態＞
図７は本発明の第１実施形態に従う２値化処理方法を用いた２値化処理部の構成を示すブロック図である。
【００４２】
図７に示す２値化処理部では、加算器６が多値画像データ（Ｉｎ）　と割算部５からの出力である周辺画素からの拡散誤差（ｄＩｎ）を入力してこれを加算し、その加算した値（Ｉｎ＋ｄＩｎ）を比較部２に入力する。比較部２では、閾値設定部１から読み出された閾値（１２７）と（Ｉｎ＋ｄＩｎ）の値を比較して、（Ｉｎ＋ｄＩｎ）＞１２７であれば、出力値（Ｏｕｔ）を“２５５”とし、（Ｉｎ＋ｄＩｎ）≦１２７であれば“０”とする。
【００４３】
なお、閾値設定部１は、常に一定の閾値を発生しなくてもよく、誤差拡散処理特有のミミズ、はき寄せ状などのモアレパターンの発生を防止する為に、閾値設定部１に乱数テーブルを設け、所定の範囲内での閾値を発生するようにしても良い。
【００４４】
また、減算部３は比較部２への入力値（Ｉｎ＋ｄＩｎ）から比較部２からの出力値（Ｏｕｔ）を減算して２値化誤差（ｄＯｕｔ１＝（Ｉｎ＋ｄＩｎ）−Ｏｕｔ）を生成し、これを減算部１９に入力する。一方、テーブル変換部２０には、入力多値画像データ（Ｉｎ）の各値と差分補正値（ｆ（Ｉｎ））とが関係づけられた複数のテーブルが格納されており、ユーザによって指定された記録媒体（例えば、記録用紙）の種類、記録モード（例えば、高解像度記録、低解像度記録）に対応したパラメータがパラメータＤＢ２１からロードされると、複数のテーブルの内、そのパラメータに対応したテーブルを選択して用いるように設定する。
【００４５】
そして、テーブル変換部２０に多値画像データ（Ｉｎ）が入力されると、その値と指定された記録媒体の種類と記録モードとに対応した差分補正値（ｆ（Ｉｎ））を減算部１９に出力する。減算部１９は減算部３から出力された差分（ｄＯｕｔ１）から差分補正値（ｆ（Ｉｎ））を減算し、その結果得られた補正差分（ｄＯｕｔ２＝ｄＯｕｔ１−ｆ（Ｉｎ））を誤差蓄積バッファ４に出力する。
【００４６】
さて、その補正差分（ｄＯｕｔ２）は誤差が拡散される周辺画素夫々に対応した分配係数７が周辺画素それぞれに乗算され、その乗算結果が周辺画素に対応した誤差蓄積バッファ４に加算蓄積される。誤差蓄積バッファ４において次に処理を行う画素（＊）の値が割算部５に出力され、分配係数の総和（この例では、３２）で除算され正規化され、その結果が拡散誤差（ｄＩｎ）として加算部６に出力される。
【００４７】
図８は記録媒体の種類と記録モードに従って選択されるテーブル変換部２０で用いるテーブルの差分補正値の変化の例を表現した図である。図８において、横軸は入力多値画像データ（Ｉｎ）の値、縦軸は差分補正値（ｆ（Ｉｎ））である。
【００４８】
以上説明した実施形態（図７の構成）を従来例（図１の構成）と比較すると、この実施形態の２値化処理部は従来の構成に加えて、記録媒体の種類と記録モードとに対応したパラメータを備えたデータベースと、そのパラメータと入力多値画像データの値によって選択されるテーブルと、そのテーブルから出力される差分補正値を用いて一度得られた２値化誤差を補正する減算部とを備えている。
【００４９】
従って以上説明した実施形態に従えば、記録モードや記録媒体の種類に応じた適切な補正を行ってより滑らかな階調表現を実現することができる。
【００５０】
＜第２実施形態＞
ここでは第１実施形態で説明した構成の２値化処理部に含まれる差分補正を行なう減算部の代わりに積算部を用いる構成について説明する。
【００５１】
図９は本発明の第２実施形態に従う２値化処理方法を用いた２値化処理部の構成を示すブロック図である。この構成では、第１実施形態に従う２値化処理部の減算部１９の代わりに積算部２５が用いられている。
【００５２】
以下の説明では、第１実施形態との違いを中心に説明する。
【００５３】
積算部２５には減算部３によって得られた差分（ｄＯｕｔ１＝（Ｉｎ＋ｄＩｎ）−Ｏｕｔ）が入力される一方、テーブル変換部２０からは第１実施形態と同様に入力多値画像データ（Ｉｎ）の値に対応した差分補正値（ｆ（Ｉｎ））が入力される。そして、積算部２５はこれらの入力値を積算して補正差分（ｄＯｕｔ２＝ｄＯｕｔ１×　ｆ（Ｉｎ）））を出力する。この後、第１実施形態と同様の処理がなされる。
【００５４】
図１０は記録媒体の種類と記録モードに従って選択されるテーブル変換部２０で用いるテーブルの差分補正値の変化の例を表現した図である。図１０において、横軸は入力多値画像データ（Ｉｎ）の値、縦軸は差分補正値（ｆ（Ｉｎ））である。
【００５５】
従って以上説明した実施形態に従っても、第１実施形態と同様の効果を得ることができる。
【００５６】
＜第３実施形態＞
ここでは第１、２実施形態で説明した構成の２値化処理部に含まれる差分補正を減算部や積算部を用いて実現する代わりにテーブル変換部と割算部とを用いて実現する構成について説明する。
【００５７】
図１１は本発明の第３実施形態に従う２値化処理方法を用いた２値化処理部の構成を示すブロック図である。
【００５８】
以下の説明では、第１実施形態との違いを中心に説明する。
【００５９】
従来例と同様に減算部３で得られた２値化誤差（ｄＯｕｔ）は、誤差が拡散される周辺画素夫々に対応した分配係数２８が周辺画素それぞれに乗算され、その乗算結果が周辺画素に対応した誤差蓄積バッファ４に加算蓄積される。一方、テーブル変換部２６には、第１実施形態と同様に、指定された記録媒体の種類や記録モードに対応したパラメータがパラメータＤＢ２１からロードされ、そのパラメータに対応したテーブルが選択設定されており、入力多値画像データ（Ｉｎ）の値に対応した差分補正値（ｆ（Ｉｎ））を出力する。
【００６０】
そして、割算部２７は誤差蓄積バッファ４から次に処理を行う画素（＊）の値を入力し、これを分配係数２８の総和（この例では、“３２０”）と差分補正値とを加算された値（３２０＋ｆ（Ｉｎ））で除算し正規化して拡散誤差（ｄＩｎ））として出力する。
【００６１】
図１２は記録媒体の種類と記録モードに従って選択されるテーブル変換部２０で用いるテーブルの差分補正値の変化の例を表現した図である。差分補正値の変化の例を表現した図である。図１２において、横軸は入力多値画像データ（Ｉｎ）の値、縦軸は差分補正値（ｆ（Ｉｎ））である。
【００６２】
従って以上説明した実施形態に従えば、差分補正のための減算部や積算部が必要なく、より簡単な構成で第１、２実施形態と同様の効果を得ることができる。
【００６３】
＜第４実施形態＞
ここでは第１実施形態で説明した構成の２値化処理部に含まれる差分補正を減算部やテーブル変換部を用いて実現する代わりに、２次元（２Ｄ）テーブルを用いて実現する構成について説明する。
【００６４】
図１３は本発明の第４実施形態に従う２値化処理方法を用いた２値化処理部の構成を示すブロック図である。
【００６５】
以下の説明では、第１実施形態との違いを中心に説明する。
【００６６】
従来例と同様に減算部３で得られた２値化誤差（ｄＯｕｔ）は、２Ｄテーブル２９に出力される。この実施形態では、第１〜第３実施形態において分配係数７或いは２８として言及した誤差拡散マトリックスと同様に、４×３のサイズの誤差拡散マトリックスを用いるが、以下に説明するように実質的に用いる拡散係数の数は６つである。また、第１〜第３実施形態では、差分（ｄＯｕｔ）を誤差を分配係数を表した誤差拡散マトリックスによって分配し、その結果得られた分配誤差を該当する蓄積誤差バッファに加算蓄積された後、割算部５或いは２７で正規化していたが、この実施形態では、拡散誤差を正規化するまでの処理を２Ｄテーブル２９で担当する。
【００６７】
図１４はこの実施形態に従う２Ｄテーブル２９の構成を示す図である。図１４において、３０は誤差拡散マトリックスである。そして、この実施形態では、誤差拡散マトリックス３０に収められている６つの分配係数ａ１〜ａ６の具体的な値は入力多値画像データの値と得られた差分（ｄＯｕｔ）の値によって定められるようになっており、図１４に示すように、入力多値画像データ値と差分（ｄＯｕｔ）の値との関係が２Ｄテーブル形式として、６つの分配係数ａ１〜ａ６に対応して設けられている。
【００６８】
なお、これら６つのテーブルの組が複数組、この実施形態では備えられており、ユーザによって指定された記録媒体の種類と記録モードに対応した係数がパラメータＤＢ２１からロードされ、そのパラメータに基づいて、適切なテーブルの組が選択されるのは第１〜第３実施形態と同様である。
【００６９】
また、これらテーブル内の係数（ｇｎ（ｘ，ｙ））（ｎ＝１，６）によって、本発明の目的であるドットゲイン現象を含めた非線形な記録濃度特性を線形にする為に、差分（ｄＯｕｔ）値を入力多値画像データに応じて小さくしている。そのため、この実施形態では、入力多値画像データの値（ｘ＝Ｉｎ）と　差分値（ｙ＝ｄＯｕｔ）とによって定められる６つの拡散誤差の総和Σｇｎ（ｘ，ｙ）（ｎ＝１，６）が差分値（ｙ）　よりも大きくならない場合が多い。
【００７０】
いずれにせよ、この実施形態では、入力多値画像データの値（ｘ）と差分値（ｙ）が２Ｄテーブル２９に入力されると、係数ａ１に対応する画素に対しては、ｇ１（ｘ，ｙ）　が、係数ａ２に対応する画素に対してはｇ２（ｘ，ｙ）　、順に、係数ａ３にはｇ３（ｘ，ｙ）、係数ａ４にはｇ４（ｘ，ｙ）、係数ａ５にはｇ５（ｘ，ｙ）、係数ａ６にはｇ６（ｘ，ｙ）が出力され、拡散誤差マトリックス３０の分配係数ａ１〜ａ６の画素位置に対応する誤差蓄積バッファ４にその結果が加算蓄積される。
【００７１】
最後に、誤差蓄積バッファ４から次に処理を行う画素（＊）の値が拡散誤差（ｄＩｎ）　として加算部６に出力される。
【００７２】
図１５はこの実施形態の変形例に従う２Ｄテーブル２９の構成を示す図である。図１５において、３０は誤差拡散マトリックスである。
【００７３】
図１５と図１４とを比較すると分かるように、図１５に示す２Ｄテーブルは入力多値画像データの値（ｘ）と差分値（ｙ）があり得る全ての値に対して拡散誤差を定めたものではなく代表値に対して拡散誤差を定めたものである。そして、このテーブルを用いる場合、隣接する代表値から内部的に補間処理を行って各値に対する拡散誤差を出力する。この様な構成により、テーブルに必要なメモリ容量が少なくて良く、さらにテーブルをアクセスするためのアドレス数も少なくなりメモリの節約や処理の高速化につながる利点がある。
【００７４】
さて、図１５に示す例では、入力値（Ｉｎ）　の代表値は、入力多値画像データがとり得る値０〜２５５において、等間隔（１７）で１６点の代表値から構成され、差分値（ｄＯｕｔ）　は、その値がとり得る−１３６〜３９１において、等間隔（１７）で３２点の代表値から構成されている。なお、この例では、入力値、差分値共に実際にとり得る値を等間隔にサンプルした代表値で構成されているが、異なった間隔の値や等間隔でなく代表値をサンプルした構成によっても同じ効果が得られるのは言うまでもない。
【００７５】
一例として、入力画像多値データの値（Ｉｎ）が“２０”で、差分値（ｄＯｕｔ）が“４０”である場合について説明する。
【００７６】
この場合、これらの入力値の近傍の代表値は、入力多値画像データの値（Ｉｎ）に対しては“１７”と“３４”であり、入力差分値（ｄＯｕｔ）に対しては“３４”と“５１”である。従って、誤差拡散マトリックスの分配係数ａ１は、次のようにして、ｈ１（１７，３４）、ｈ１（３４，３４）　、ｈ１（１７，５１）　、ｈ１（３４，５１）　の４点からの補間演算によって求める。
【００７７】
まず、ｈ１（２０，３４）　とｈ１（２０，５１）　を次の補間方法から求める。
【００７８】
ｈ１（２０，３４）　＝（１４　×　ｈ１（１７，３４）　＋　３　×　ｈ１（３４，３４））／１７　……（１）
ｈ１（２０，５１）　＝（１４　×　ｈ１（１７，５１）　＋　３　×　ｈ１（３４，５１））／１７　……（２）
次に、式（１）と（２）によって得られたｈ１（２０，３４）とｈ１（２０，５１）からｈ１（２０，４０）を式（３）によって求める。
【００７９】
ｈ１（２０，４０）　＝（１１　×　ｈ１（２０，３４）　＋　６　×　ｈ１（２０，５１））／１７　……（３）
このようにして、誤差拡散マトリックスの分配係数ａ１が得られる。
【００８０】
同様にして、式（４）〜（６）を用いて、ａ２、ａ３、ａ４、ａ５、ａ６が得られる。
【００８１】
即ち、ｈｎ（２０，４０）（ｎ＝２，３，４，５，６）に関して、
ｈｎ（２０，３４）　＝（１４　×　ｈｎ（１７，３４）　＋　３　×　ｈｎ（３４，３４））／１７　……（４）
ｈｎ（２０，５１）　＝（１４　×　ｈｎ（１７，５１）　＋　３　×　ｈｎ（３４，５１））／１７　……（５）
を計算し、次に、ｈｎ（２０，３４）とｈｎ（２０，５１）から式（６）によってｈｎ（２０，４０）を計算する。
【００８２】
ｈｎ（２０，４０）　＝（１１　×　ｈｎ（２０，３４）　＋　６　×　ｈｎ（２０，５１））／１７　……（６）
なお、以上説明した例では、２Ｄテーブルのサイズは削減されるが補間演算を必要とするので、その代わりに入力多値画像データ（Ｉｎ）のの量子化数を減らすことによって、２Ｄテーブルのメモリサイズを少なくしても良い。
【００８３】
図１６は、図１４に示した２値化処理部の構成に量子化減少処理部３１を加えた構成を示すブロック図である。
【００８４】
この構成に従えば、量子化減少処理部３１では、ビットシフト処理によって１画素８ビットの多値画像データを１画素６ビット（階調値０〜６３）のデータに変換し、これを２Ｄテーブル２９に出力する。
【００８５】
この場合、８ビットデータのＬＳＢ側２ビットを落とすような処理をすれば、実質的には入力値（Ｉｎ）に対し等間隔（４）で代表値をサンプルする処理と同じになるが、例えば、量子化減少処理部３１に入力８ビット出力６ビットのルックアップテーブルを用いれば、入力値（Ｉｎ）に対し、非線形、かつ任意の量子化減少処理を実施することができる。
【００８６】
図１７はルックアップテーブルによる変換処理の例を示す図である。
【００８７】
従って以上説明した実施形態に従えば、差分補正のための減算部や積算部が必要なく、差分補正は実質的にテーブル参照による変換処理だけとなるので、より簡単な構成で且つ高速に第１、２実施形態と同様の効果を得ることができる。
【００８８】
また、大容量を必要とするテーブルのサイズを削減することにより、メモリ容量の削減も実現されるので装置コストの削減にも貢献する。
【００８９】
＜画像入出力システム＞
ここでは上述したいくつかの実施形態に従う２値化処理装置が応用される画像入出力システムについて説明する。
【００９０】
図１８は画像入出力システムの一般的な構成を示すブロック図である。
【００９１】
カラースキャナ、デジタルカメラなどの入力装置１０００で読み取った或いは生成された多値カラー画像データは、通常パーソナルコンピュータ１０１０を経て、ＣＲＴ、ＰＤＰ、或いはＬＣＤなどのモニタ１０２０に出力されその画面にカラー画像が表示される。
【００９２】
ユーザは、そのモニタ画面を見ながら、パーソナルコンピュータ１０１０に接続されたキーボード１０３０、スイッチ（ＳＷ）１０４０、ポインティングデバイス１０５０などを操作しながらレイアウト修正やＲＧＢ各色成分について色修正を行なう。
【００９３】
このようにして、修正編集されたカラー画像データはパーソナルコンピュータ１０１０において、これから出力する出力装置（例えば、インクジェットプリンタ）１０６０で用いる記録媒体（例えば、記録用紙）の種類、記録モードに合わせて輝度濃度変換が実行され、ＲＧＢデータからＣＭＹＫ成分からなる多値濃度データに変換される。
【００９４】
このＣＭＹＫ各色成分の多値濃度データは、前述した２値化処理部に入力されて２値化処理が行われ、ＣＭＹＫ各色成分２値化データが生成され、これらが出力装置１０６０（例えば、インクジェットプリンタ）に転送されてカラー画像が記録される。
【００９５】
なお、図１８では２値化処理装置がパーソナルコンピュータ１０１０に組み込まれた例を示しているが、その代わりに出力装置１０６０の側に組み込まれていても良い。
【００９６】
以上説明した実施形態では、誤差拡散処理が論理回路を用いて実行されるようなものとして説明したが、本発明はこれによって限定されるものではない。例えば、近年におけるマイクロプロセッサ（ＭＰＵ）の高性能化に伴って、誤差拡散処理をＲＯＭに格納されたプログラムをそのマイクロプロセッサが読みだして実行するようにして実現しても良い。
【００９７】
この場合、そのマイクロプロセッサがパーソナルコンピュータ１０１０に内蔵されている構成でも良いし、デジタルカメラを直接接続してカラー画像を出力する出力装置（例えば、インクジェットプリンタ１０６０）の場合にはその出力装置にマイクロプロセッサが内蔵されるような構成でも良い。
【００９８】
また、出力装置としてインクジェットプリンタの代わりにレーザビームプリンタや昇華型プリンタを用いても良い。
【００９９】
つまり本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（または記録媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１００】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１０１】
【発明の効果】
以上説明したように本発明によれば、視覚的に適した濃度特性を量子化誤差が少なく表現できるため、擬似輪郭のない優れた階調特性を実現できるという効果がある。
【０１０２】
さらに、安価で簡単な構成で高速な画像処理を行なうことができる。
【図面の簡単な説明】
【図１】誤差拡散処理の原理を説明するブロック図である。
【図２】図１に示した誤差拡散により値が“１２７”の入力データを処理し出力装置によって出力された画像の状態を示した図である。
【図３】図１に示した誤差拡散により値が“１２７”の入力データを処理し出力装置によって出力された画像の状態を示した図である。
【図４】誤差拡散法を用いて多値画像データを２値化し、その２値化データをインクジェットプリンタに出力して擬似中間調表現をした画像を記録した時の記録濃度特性を示す図である。
【図５】図１に原理的に示した誤差拡散処理の入力多値画像データに濃度補正を行なうためにルックアップテーブルを追加した従来の構成を示すブロック図である。
【図６】記録紙の種類と記録解像度の変化に従った記録濃度特性の変化を示す図である。
【図７】本発明の第１実施形態に従う２値化処理方法を用いた２値化処理部の構成を示すブロック図である。
【図８】記録媒体の種類と記録モードに従って選択され、第１実施形態に従うテーブル変換部２０で用いるテーブルの差分補正値の変化の例を表現した図である。
【図９】本発明の第２実施形態に従う２値化処理方法を用いた２値化処理部の構成を示すブロック図である。
【図１０】記録媒体の種類と記録モードに従って選択され、第２実施形態に従うテーブル変換部２０で用いるテーブルの差分補正値の変化の例を表現した図である。
【図１１】本発明の第３実施形態に従う２値化処理方法を用いた２値化処理部の構成を示すブロック図である。
【図１２】記録媒体の種類と記録モードに従って選択され、第３実施形態に従うテーブル変換部２６で用いるテーブルの差分補正値の変化の例を表現した図である。
【図１３】本発明の第４実施形態に従う２値化処理方法を用いた２値化処理部の構成を示すブロック図である。
【図１４】第４実施形態に従う２Ｄテーブル２９の構成を示す図である。
【図１５】第４実施形態の変形例に従う２Ｄテーブル２９の構成を示す図である。
【図１６】図１４に示した２値化処理部の構成に量子化減少処理部３１を加えた構成を示すブロック図である。
【図１７】ルックアップテーブルによる変換処理の例を示す図である。
【図１８】画像入出力システムの一般的な構成を示すブロック図である。
【符号の説明】
１　閾値設定部
２　比較部
３、１９　減算部
４　誤差蓄積バッファ
５　割算部
６　加算部
７　分配係数
２０　テーブル変換部
２１　パラメータＤＢ
【図１】
2004048386.tif 000003
【図２】
2004048386.tif 000004
【図３】
2004048386.tif 000005
【図４】
2004048386.tif 000006
【図５】
2004048386.tif 000007
【図６】
2004048386.tif 000008
【図７】
2004048386.tif 000009
【図８】
2004048386.tif 000010
【図９】
2004048386.tif 000011
【図１０】
2004048386.tif 000012
【図１１】
2004048386.tif 000013
【図１２】
2004048386.tif 000014
【図１３】
2004048386.tif 000015
【図１４】
2004048386.tif 000016
【図１５】
2004048386.tif 000017
【図１６】
2004048386.tif 000018
【図１７】
2004048386.tif 000019
【図１８】
2004048386.tif 000020