(57)【特許請求の範囲】
【請求項１】
多階調画像データを誤差拡散法又は平均誤差最小法を用いて第１階調値及び第２階調値（第１階調値＜第２階調値）のみからなる２階調画像データに変換する画像処理装置において、
注目画素の周辺の既に２値化済みの画素から拡散された誤差をその注目画素の多階調画像データに加えて補正しその補正結果を補正画素データとして出力する誤差補正手段と、
注目画素の多階調画像データの階調値に基づいて設定されたベース成分ｓｌｓｈ（Ｂ）  にノイズが重畳した閾値を、２値化のための閾値ｓｌｓｈとして設定する閾値設定手段と、
設定された閾値に基づいて前記補正画素データを２階調画像データに変換する２値化手段とを有しており、
上記閾値設定手段は、
注目画素の多階調画像データの階調値をｄａｔａ、前記第１階調値と第２階調値との間の中間の値をｍ、乱数値の重畳によって変動する前記閾値の下限をｓｌｓｈ（Ｌ）  、乱数値の重畳によって変動する前記閾値の上限をｓｌｓｈ（Ｕ）  とするとき、次の条件、すなわち
（１）ｄａｔａが第１階調値近辺の低濃度領域の場合に、閾値の下限ｓｌｓｈ（Ｌ）が
ｄａｔａ≦ｓｌｓｈ（Ｌ）≦（ｍ＋ｄａｔａ）／２
の範囲内に入り、
（２）ｄａｔａが第２階調値近辺の高濃度領域の場合に、閾値の上限ｓｌｓｈ（Ｕ）が
（ｍ＋ｄａｔａ）／２≦ｓｌｓｈ（Ｕ）≦ｄａｔａ
の範囲内に入るという条件のうちの少なくともいずれか一方を満たすように前記２値化のための閾値ｓｌｓｈを設定することを特徴とする画像処理装置。
【請求項２】
請求項１記載の画像処理装置において、
前記閾値設定手段は、
注目画素の多階調画像データの階調値ｄａｔａの値に応じて次式、すなわち
ｓｌｓｈ（Ｂ）＝（ｄａｔａ×（Ｋ−１）＋ｍ）／Ｋ
（但し、Ｋは２以上の正数で表される定数）
に従って設定されたベース成分ｓｌｓｈ（Ｂ）  にノイズが重畳した閾値を、前記２値化のための閾値ｓｌｓｈとして設定することを特徴とする画像処理装置。
【請求項３】
請求項１記載の画像処理装置において、
前記閾値設定手段は、
注目画素の多階調画像データの階調値ｄａｔａの値に応じて段階的に設定された前記ベース成分ｓｌｓｈ（Ｂ）  にノイズが重畳した閾値を、前記２値化のための閾値ｓｌｓｈとして設定することを特徴とする画像処理装置。
【請求項４】
請求項１記載の画像処理装置において、
前記閾値設定手段は、
注目画素の多階調画像データの階調値ｄａｔａの値に応じて次式、すなわち
ｄａｔａ＜ｍ−Ｌ１のとき、          ｓｌｓｈ（Ｂ）＝ｄａｔａ＋Ｌ１
ｍ−Ｌ１＜ｄａｔａ＜ｍ＋Ｌ２のとき、  ｓｌｓｈ（Ｂ）＝ｍ
ｍ＋Ｌ２＜ｄａｔａのとき、          ｓｌｓｈ（Ｂ）＝ｄａｔａ−Ｌ２
（但し、Ｌ１，Ｌ２は０〜ｍの間の整数で表される定数）
に従って設定されたベース成分ｓｌｓｈ（Ｂ）  にノイズが重畳した閾値を、前記２値化のための閾値ｓｌｓｈとして設定することを特徴とする画像処理装置。
【請求項５】
請求項１から請求項４のうちのいずれか１つに記載の画像処理装置において、多階調画像データの階調値ｄａｔａが０〜２５５の２５６階調のとき、前記第１階調値近辺の低濃度領域は、階調値１６以下の領域であることを特徴とする画像処理装置。
【請求項６】
請求項１から請求項５のうちのいずれか１つに記載の画像処理装置において、
前記誤差補正手段は、
各画素毎の拡散誤差積算値を記憶する拡散誤差記憶部と、
補正画素データと２値化結果との間の２値化誤差を演算し、その２値化誤差を誤差拡散法を用いて注目画素の近傍の未２値化画素へ分配して拡散する演算を行い、前記拡散誤差記憶部に記憶された各画素毎の拡散誤差積算値に、前記注目画素からの拡散誤差を加算して新たな拡散誤差積算値を求め、前記拡散誤差記憶部に記憶された各画素毎の拡散誤差積算値を更新する誤差拡散部と、
注目画素の多階調画像データと前記拡散誤差記憶部に記憶された注目画素の拡散誤差積算値とを加算して前記補正画素データを演算するデータ補正部とを有しており、
注目画素の多階調画像データを誤差拡散法を用いて補正して補正画素データとして出力することを特徴とする画像処理装置。
【請求項７】
請求項１から請求項５のうちのいずれか１つに記載の画像処理装置において、
前記誤差補正手段は、
各画素毎の誤差を記憶する誤差記憶部と、
補正画素データと２値化結果との間の２値化誤差を演算し、その２値化誤差を前記誤差記憶部に記憶する誤差拡散部と、
前記誤差記憶部に記憶された注目画素の周辺の画素の２値化誤差を読み出して所定の重み付けをすることにより平均誤差を求め、この平均誤差を注目画素の多階調画像データに加算して前記補正画素データを演算するデータ補正部とを有しており、
注目画素の多階調画像データを平均誤差最小法を用いて補正して補正画素データとして出力することを特徴とする画像処理装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、多階調画像データを中間調表示可能な２階調画像データに変換して出力する画像処理装置、特に多階調画像データを誤差拡散法又は平均誤差最小法を用いて中間調表示可能な２階調画像データに変換して出力する画像処理装置に関する。
【０００２】
【従来の技術】
従来より、スキャナ等の画像入力装置を用いて読み取った多階調画像データや、コンピュータを用いて演算された多階調グラフィック画像データ等を、例えばＣＲＴディスプレイ、液晶ディスプレイ、プリンタ等といった画像出力装置を用いて再生表示させたり、あるいはファクシミリやデジタル複写機等といった画像出力装置を用いて再生表示させることが行われている。
【０００３】
このとき、画像出力装置として、多階調の画像データが再生表示できるものを用いる場合には問題はないが、例えば、ドット単位での階調制御ができないプリンタ装置やディスプレイ装置を用いた場合には、各画素の階調数を２階調に減らす２値化処理を行う必要がある。さらに、多階調画像データを保存し、あるいは転送するために、そのデータ容量を減らそうとする場合には、同様にして各画素の階調数を２階調に減らす２値化処理をすることが広く行われている。
【０００４】
このように多階調画像データを２値化処理する手法としては、各種のものがある。その中で最も画質の優れたものとして、誤差拡散法や、それと等価な平均誤差最小法が広く用いられている。これらの誤差拡散法及び平均誤差最小法は、高解像度でありながら、連続的な階調制御が可能であるという優れた特徴を持つ。
【０００５】
誤差拡散法は、ある画素の２値化時に生じた量子化誤差を、周辺のまだ２値化していない画素に拡散して加えるものである。一方、平均誤差最小法は、周辺の２値化済みの画素に生じた量子化誤差の重み付き平均値で、次の注目画素のデータ値を修正するものである。誤差拡散法と平均誤差最小法は、誤差の拡散作業をいつ行うかが異なるだけであり、論理的には互いに等価である。例えば、特開平１−２８４１７３号公報に誤差拡散法を使用した画像処理方法及び装置が開示されている。しかしながら、誤差拡散法や平均誤差最小法を用いた従来の画像処理装置では、多階調画像データを２階調画像データに変換する際に、次のような問題があった。
【０００６】
第１の問題点
低濃度領域（すなわち、黒ドットが疎な領域）の立上り部における黒ドットの生成及び高濃度領域（すなわち、白ドットが疎な領域）の立上り部における白ドットの生成が大幅に遅延し、その結果、最悪の場合には画像が変形してしまう場合があるという問題があった。
【０００７】
第２の問題点
また、低濃度領域や高濃度領域が終わった後も、周辺画素に対する異常な誤差の拡散が残り、低濃度領域の後に続く画像データは高濃度側に歪み、高濃度領域の後に続く画像データは低濃度側に歪む、いわゆる「尾引き」という現象が生じるという問題があった。
【０００８】
前記第１の問題点を、白い紙上に黒インクのドットを印画する２階調プリンタ装置の場合について考えると、黒ドットはインクが滲んで大きくなるのに対し、白ドットは周囲の黒ドットからの滲みで潰れて目立ち難くなる。よって、この第１の問題点は特に低濃度部において目立つ結果となる。
【０００９】
以下、前記第１の問題点及び第２の問題点を図面を用いてより詳細に説明する。図２２は、多階調を用いて表示された原画像１００を示している。この原画像１００は、濃度階調値２５２（２５５で最高値）の正方形をした高濃度領域１１０の中に、濃度階調値３（０が最低濃度）の正方形の低濃度領域１２０が存在し、さらにこの低濃度領域１２０の右下に濃度階調値２３１（背景濃度２５２よりもやや低濃度）の傾き角度４５゜の直線１３０が描かれている。
【００１０】
図２３（ａ）には、誤差拡散法を用いた従来技術により、図２２に示す原画像１００の多階調画像データを２値化した画像が示されている。なお、図２３（ｂ）には、図２３（ａ）の場所を示すための概略図が示されている。この２値化画像は、原画像１００の左上隅画素を２値化開始点とし、右方向に１行分２値化した後、１画素下の行の左端に移る、という２値化作業を繰り返して得られたものである。これに対し、図２４は、同じ原画像１００が理想的に２値化された場合の出力例を示している。
【００１１】
両者を比較すると、図２３では、正方形をした高濃度領域１１０の上辺及び左辺の領域１４０（図２３（ｂ）参照）で白ドットの生成が遅延し、さらに正方形の低濃度領域１２０の上辺及び左辺の領域１４２では、黒ドットの生成の遅延が生じている。すなわち、領域１４０及び１４２では、前述した第１の問題が生じている。さらに、階調値３の正方形をした低濃度領域１２０の尾引きの影響で、その右下にある領域１５０において、直線１３０の一部１３２が消失してしまっている。このように領域１５０では、前述した第２の問題が発生している。
【００１２】
このような第１及び第２の問題点を解決するための画像処理装置の一例が特開平１−１３０９４５号公報に提案されている。ここに提案された第１の実施例は、０〜２５５の２５６階調の入力濃度データを扱う場合に、入力濃度データ値が１以上２９以下の場合に、閾値が以下に示すようにランダムに変化するようにしている。すなわち、入力データが１〜４のときは２０〜２３０の幅で、入力データが５〜１４のときは５０〜２００の幅で、そして入力データが１５〜２９のときは１００〜１５０の幅で、それぞれ、閾値をランダムに変化させる。ランダムノイズの幅は、データが１〜４のときは±１０５、データが５〜１４のときは±７５、そしてデータが１５〜２９のときは±２５というふうになっており、０に近い低濃度領域ほど大きなノイズを加える結果となっている。但し、閾値の期待値はいずれも１２５で一定となっている。
【００１３】
このようにすると、低濃度時には大きな閾値ノイズによって閾値が非常に小さな値になるケースが生じる。このため、低濃度領域の立ち上がり部でも２５５側に２値化される画素が発生し、ドット生成の遅延が改善される。しかし、この手法によって前記第１の問題点を改善しようとした場合には、低濃度領域は非常にノイズの多い、低品位な画像となってしまう。また、この従来方法では、判定回路という特別な機構を設け、この判定回路を用いて注目画素周辺の２値化済み画素の２値化結果を調べ、周辺に既にドットがある場合には、注目画素をドット有りに２値化しないような判定処理を行っている。これは、低濃度領域に画像ノイズが発生しやすいという前記の問題を少しでも改善するためであろうと思われる。しかしそのためには、判定回路が近傍の１２画素という多くの画素の２値化結果を参照するという複雑な判定処理が必要となり、処理時間がかかる上に画質的にもまだ十分ではないという問題があった。これに加えてこの従来技術では、第２の問題点の改善も不十分であった。
【００１４】
また、前記第１及び第２の問題点を改善するための別の手法として、特開平３−１１２２６９号公報に開示された画像処理装置や、特開平４−１２６４６４号公報に開示された画像処理装置等が提案されている。これらの従来装置は、注目画素近傍の複数画素の２値化結果を参照することによって、平均濃度値を推定し、それを閾値として注目画素の２値化を行っている。しかし、これらの従来装置に関しては次の２つの問題があった。
【００１５】
（１）周辺の１０以上もの画素の２値化結果を参照する必要があり、処理時間がかかったり、複雑な処理回路が必要となったりするという問題があった。
【００１６】
（２）さらに、データが急に変化しているエッジ部分では、周辺画素の平均濃度値を用いるのでは適切でなく、この結果、不適切な２値化が行われて再現画像にノイズが発生してしまうという問題があった。
【００１７】
上記のような問題を解決するために、すなわち、低濃度領域及び高濃度領域の立上り部でのドット生成の遅延や、低濃度領域又は高濃度領域が終わった後の尾引きの問題を解決することができると共に、画質劣化につながる副作用がなく、しかも複雑な処理回路等を用いなくても多階調画像データを高速に２階調画像データに画像処理できるようにするために、本発明者は特願平５−３５２８９８号に次の画像処理装置を提案した。
【００１８】
すなわち、その提案にかかる画像処理装置は、多階調画像データを誤差拡散法又は平均誤差最小法を用いて第１階調値及び第２階調値（第１階調値＜第２階調値）のみからなる２階調画像データに変換する画像処理装置において、注目画素の周辺の既に２値化済みの画素から拡散された誤差をその注目画素の多階調画像データに加えて補正しその補正結果を補正画素データとして出力する誤差補正手段と、注目画素の多階調画像データの階調値に基づいて２値化のための閾値を設定する閾値設定手段と、設定された閾値に基づいて前記補正画素データを２階調画像データに変換する２値化手段とを有している。そして、注目画素の多階調画像データの階調値をｄａｔａ、前記第１階調値と第２階調値との間の中間の値をｍ、閾値をｓｌｓｈとするとき、前記閾値設定手段は、図４に示すように、注目画素の多階調画像データの階調値ｄａｔａに応じて閾値ｓｌｓｈを次式、すなわち
（１）ｄａｔａが第１階調値近辺の値の場合（例えば符号Ａで示す領域）には、
ｄａｔａ≦ｓｌｓｈ≦（ｍ＋ｄａｔａ）／２
（２）ｄａｔａが第２階調値近辺の値の場合（例えば符号Ｂで示す領域）には、
（ｍ  ＋ｄａｔａ）／２≦ｓｌｓｈ≦ｄａｔａ
に示す許容範囲（図４の斜線で示す範囲）の少なくともいずれか一方を満たすように設定するようにした。つまり、多階調画像データの階調値に応じて２値化のための閾値ｓｌｓｈを最適値に変化させるという方法、すなわち閾値最適化法を提案した。
【００１９】
この閾値最適化法は未だ公知ではないので、以下に少し詳しく説明する。図１２は、上記閾値最適化法を用いた画像処理装置の機能ブロック図を示している。この画像処理装置３０は、閾値設定手段３２と、誤差補正手段３４と、２値化手段３６とを有している。閾値設定手段３２及び誤差補正手段３４には、注目画素の多階調画像データ２００として、ｉ行ｊ列目の画素Ｐ［ｉ，ｊ］  のデータｄａｔａ（ｉ，ｊ）  が入力される。
【００２０】
閾値設定手段３２は、この注目画素Ｐ［ｉ，ｊ］  の多階調画像データｄａｔａ（ｉ，ｊ）  を２値化する際に用いる閾値ｓｌｓｈ（ｉ，ｊ）  を、注目画素の多階調画像データｄａｔａ（ｉ，ｊ）に応じて、次式、すなわち、
ｓｌｓｈ（ｉ，ｊ）＝（ｄａｔａ（ｉ，ｊ）×（Ｋ−１）＋１２８）／Ｋ  ‥‥（１）
（ここで、Ｋは２以上の整数で表される定数）
に基づいて設定する。
【００２１】
誤差補正手段３４は、注目画素Ｐ［ｉ，ｊ］  の多階調画像データｄａｔａ（ｉ，ｊ）を、周辺画素の２値化によって生じる２値化誤差に基づいて誤差拡散法を用いて補正し、補正画素データｄａｔａ＿ｃ（ｉ，ｊ）  として２値化手段３６へ向けて出力する。そして２値化手段３６は、入力される注目画素Ｐ［ｉ，ｊ］  の補正画素データｄａｔａ＿ｃ（ｉ，ｊ）  を、閾値ｓｌｓｈ（ｉ，ｊ）  と比較して２値化し、その２値化結果ｒｅｓｕｌｔ（ｉ，ｊ）  を２階調画像データ２３０として出力する。すなわち、補正画素データを次の条件、すなわち
ｄａｔａ＿ｃ（ｉ，ｊ）≧ｓｌｓｈ（ｉ，ｊ）ならば、ｒｅｓｕｌｔ（ｉ，ｊ）＝２５５
ｄａｔａ＿ｃ（ｉ，ｊ）＜ｓｌｓｈ（ｉ，ｊ）ならば、ｒｅｓｕｌｔ（ｉ，ｊ）＝０    ‥‥（２）
の条件で２値化して出力する。
【００２２】
以上のようにして、画像処理装置３０は、入力される注目画素の多階調画像データ２００を、誤差拡散法を用いて中間調表示可能な階調値０及び階調値２５５のみから成る２階調画像データ２３０に変換して出力する。この画像処理装置３０は、低濃度領域や高濃度領域で多量の２値化誤差の蓄積が生じていたのを、閾値設定手段３２を用いて解消し、それに起因して生じていた低濃度領域又は高濃度領域の立上り部でのドット生成の遅延や、低濃度領域又は高濃度領域が終わった後の尾引き等の問題を解消するものである。これらの各現象が解決される理由を詳しく説明すれば次の通りである。
【００２３】
まず、図１２に示す画像処理装置３０において、閾値設定手段３２が設定する閾値を１２８に固定し、さらに画像データ２００として、全画素が一定階調値であるような画像のデータを入力した。そして、原画像データに加えられる２値化誤差ｅｒｒ（ｉ，ｊ）の平均値がどうなるかを調べてみた。
【００２４】
具体的には、図１２に示す画像処理装置３０から閾値設定手段３２を取り除き、閾値を１２８にほぼ固定した。そして、図１８に示すように、原画像サイズが６００画素×４００画素であり、全画素が一定の階調値であるような原画像１６０を、その左上隅を出発点として２値化処理した。そして、ドット形成が安定状態に達したと思われる、右下隅の２００画素×１００画素の領域１７０について、原画像データに加えられる２値化誤差ｅｒｒ（ｉ，ｊ）の平均値を平均２値化誤差として求めた。但し、閾値は１２８に完全固定ではなく、±６の範囲の少量の乱数値、すなわちランダムノイズを加えてある。このノイズは、原画像データがコンピュータで作り出した人工的なデータの場合に、特定の規則的パターンが生じるのを防ぐために付加したものである。
【００２５】
図１９は、以上の実験を、異なる階調値の原画像１６０について行った結果を表したものである。この実験結果から明らかなように、原画像１６０の階調値が１〜４という低濃度の場合や、その階調値が２５１〜２５４という高濃度の場合は、原画像１６０の平均２値化誤差は０になるどころか、絶対値で１００にも達するような大きな値となっていることがわかる。平均２値化誤差は、定常状態における誤差の拡散、蓄積量の期待値に相当するものである。誤差拡散法は、２値化誤差の局所的平均値を最小にする手法であると考えられているから、低濃度領域や高濃度領域で平均２値化誤差が０でなく、このような絶対値の大きな値をとるということは、非常に興味深い発見であった。
【００２６】
この図１９に示す実験データから、ドット生成の遅延及び尾引きの各現象が生じるメカニズムを、次のように解析することができる。
【００２７】
（１）２値化誤差の蓄積
原画像１６０の階調値が１〜８や、２４７〜２５４というように０又は２５５の近辺の値をとる場合には、閾値を１２８のように固定すると、ドットが安定して形成される定常状態に落ち着くまでには、平均２値化誤差の絶対値が８０以上に達するような多量の誤差蓄積が成される必要がある。特に、階調値が１〜４や２５１〜２５４の値の原画像データ１６０では、ドットが安定して形成される定常状態に落ち着くまでに、１００以上の多量の誤差が蓄積される必要がある。この誤差蓄積量は、多階調画像データ１６０の濃度値が２値化濃度値である０及び２５５に近づくほど大きくなる。
【００２８】
（２）誤差の蓄積時間
また、画像データの濃度が０付近の値の場合、それを０に２値化してもわずかな２値化誤差しか生じない。そのため、この２値化誤差が拡散及び蓄積して８０〜１００前後の値に達するまでには、かなりの蓄積時間が必要となる。また、画像データの濃度が２５５付近の値の場合にも、その２値化誤差が拡散及び蓄積して８０〜１００前後の値に達するまでには、同様にしてかなりの蓄積時間が必要となる。しかも、蓄積速度も画像データの濃度値が２値化濃度値である０及び２５５に近づくほど遅くなる。
【００２９】
（３）ドット生成の遅延の問題点
誤差が蓄積されて定常状態での蓄積量に達するまでの蓄積期間中は、ドットは形成されない。このため、ドット形成のために多量の誤差蓄積量が必要とされ、しかも、必要とされる誤差蓄積量に達するまでにかなりの蓄積時間が必要になると、ドット生成の遅延が発生することになる。これがドット生成の遅延の原因である。
【００３０】
（４）尾引きの問題点
ドット形成のために多量の誤差蓄積量が必要になると、多量に蓄積された誤差が、領域外部にまで拡散されて周辺の画像データを歪ませる。これが、尾引きが発生する原因である。
【００３１】
以上のように、ドット生成の遅延及び尾引きの各現象は、低濃度領域及び高濃度領域において２値化誤差が蓄積するということが根本的な原因であることがわかる。本発明者によって提案された閾値最適化法は、原画像データ２００が低濃度のときには閾値を小さくし、そして高濃度のときには閾値を大きくするようにして、原画像データ２００の濃度に応じて閾値を最適化することで、「誤差の蓄積」それ自体を解消しつつ、「誤差の蓄積」無しでドット生成を行うことを可能とするものである。
【００３２】
図２０は、閾値最適化法を用いることによって「誤差の蓄積」が解消されることを示している。すなわち、図２０は、図１２において閾値設定手段３２を用いて閾値ｓｌｓｈを上式（１）、すなわち
ｓｌｓｈ（ｉ，ｊ）＝（ｄａｔａ（ｉ，ｊ）×（Ｋ−１）＋１２８）／Ｋ  ‥‥（１）
のように最適化するようにした場合に、図１９と同様にして調べた平均２値化誤差がどのようになるかを明らかにしたものである。図２０には、図１９に示した閾値が１２８に固定の場合に加えて、上式（１）におけるＫの値を２，４，８，∞の各値とした場合の結果がプロットしてある。Ｋ＝∞の場合、ｓｌｓｈ＝ｄａｔａとなる。但し、図２０の場合も、図１９の場合と同様に、上式（１）で決まった閾値に最大で±６の少量のランダムノイズを加えている。
【００３３】
図２０より、Ｋ＝２、すなわちｓｌｓｈ＝（ｄａｔａ＋１２８）／２とすれば、平均２値化誤差が最大でも５０以下となり、閾値を１２８に固定した場合に比べて半分以下に減少し、誤差の蓄積量を大きく減少させる効果があるのがわかる。さらに、Ｋ＝４とすると、全体的に平均２値化誤差が０に近づき、さらにＫ＝８とすると、画像データの濃度が１，２や２５３，２５４といった０や２５５に極めて近い階調値の場合でも、平均２値化誤差はほぼ０になる。
【００３４】
図１２に示す画像処理装置３０を用いて実際にプリンタによって印画を行い、尾引きの影響を評価する実験を行ったところ、平均２値化誤差の絶対値を５０以下に押さえることにより、尾引きの影響を大幅に軽減できることが確認された。このことから、上式（１）のＫの値をＫ＝２〜∞の範囲に設定することにより、すなわち、閾値ｓｌｓｈを画像データｄａｔａの階調値に応じて、
ｄａｔａ＜１２８  のときには、ｄａｔａ  ≦  ｓｌｓｈ  ≦  （１２８＋ｄａｔａ）／２
ｄａｔａ＞１２８  のときには、（１２８＋ｄａｔａ）／２  ≦  ｓｌｓｈ  ≦  ｄａｔａ  ‥‥（３）
の範囲になるように設定することにより、平均２値化誤差の絶対値を５０以下に納めることができ、よって、尾引きを解消することができる。
【００３５】
次に、ドット生成の遅延の影響を評価する実験を行った。この実験の結果、ドット生成の遅延も平均２値化誤差が減るに従って改善されることが確認された。上式（１）のＫを大きくし過ぎると、平均２値化誤差が０を越えて、その符号が逆転してしまう過補正状態が生じる。しかし、実際の印字結果の主観評価では、やや過補正状態にまでドット生成速度を早めた方が、印字強調的な効果が生じて好ましい画質になった。ｄａｔａ値が１，２や２５３，２５４といったドット生成の遅延の最も大きいデータ領域の再現性を重視した主観評価結果では、Ｋ＝８〜２４程度の範囲が非常に良好で、Ｋ＝１６は最適であった。
【００３６】
図２１には、平均２値化誤差が常に０になる閾値が示されている。この閾値は、図２０を基にして補間演算による推定値として求めた。図１２における閾値設定手段３２を、図２１に基づいて原画像データから閾値を決定するように形成すれば、尾引きの期待値が０になる最良の閾値設定手段３２が実現できる。なお、図２１には、同時に、上式（１）のＫの値が２，８，∞の場合の特性図が描かれている。これらの特性曲線から、Ｋの値をＫ＝８前後に設定した場合に、平均２値化誤差を０にするための好適な近似値が得られることがわかる。また、先に述べたように、ドット生成の遅延の改善の点から、平均２値化誤差が０を越えて符号が逆転した「過補正状態」気味の方が良い主観的評価が得られる場合があり、主観評価では、Ｋ＝１６程度の近似式を用いた場合に最良の結果が得られた。Ｋ＝∞までゆくと、データ変化部のエッジがかなり強調される結果となるが、これも画像の使用目的によっては十分に有用なものとなる。
【００３７】
また、図２１では、原画像データ２００が０又は２５５の場合の最適閾値を１２８としたが、データ階調値と２値化結果値とが等しい場合の閾値は、どのように設定しても大差はなくなる。従って、図１２の閾値設定手段３２でも、データ値が０又は２５５の場合には、閾値をどのように設定しても良い。
【００３８】
以上のように、図１２に示す閾値最適化法を用いた画像処理装置３０によれば、多階調画像データ２００を誤差拡散法を用いて、中間調可能な２階調画像データ２３０に変換して出力すると共に、その２値化処理に使用する閾値を、多階調画像データ２００の階調値に基づいて上式（３）、すなわち
ｄａｔａ＜１２８  のときには、ｄａｔａ  ≦  ｓｌｓｈ  ≦  （１２８＋ｄａｔａ）／２
ｄａｔａ＞１２８  のときには、（１２８＋ｄａｔａ）／２  ≦  ｓｌｓｈ  ≦  ｄａｔａ  ‥‥（３）
の範囲に設定することにより、ドット生成の遅延及び尾引きの各現象を根本的に解決することができた。
【００３９】
なお、図２０及び図２１に示した補正データは、誤差拡散法における誤差拡散重みマトリクスとして図１７（ａ）に示すマトリクスを用いた場合のものである。異なるマトリクスを用いた場合は、定量的には多少異なった結果が得られるが、定性的な傾向はほとんど変わりがない。つまり、以上に説明した閾値最適化法は種々の誤差拡散重みマトリクスに対して有効である。
【００４０】
図２４は、図１２に示す閾値最適化法を用いた画像処理装置３０を使用して、図２２に示す原画像１００を印画した場合の出力例を示す図である。図２３で問題となった、ドット生成の遅延や、低濃度領域１２０からの尾引きによる直線１３０の中央部の消失等の問題点が完璧に解消していることが解る。
【００４１】
【発明が解決しようとする課題】
ところで、誤差拡散法で自然画を２値化した場合には、通常、特定の周期性や規則性の無いドットが分散した状態の２値化パターンが得られる。これに対し、原画像データがコンピュータグラフィックスによって作られたような、非常に均一性の高いデータであるような場合には、２値化によって生じるドットパターンに一定の規則的な繰り返しが生じ、それが目について画質を劣化させることがある。代表的な例は、原画像データの階調値が５０％の場合に、図２５に示すように、ドット生成パターンが完全に１ドットＤおきに規則的に並んでしまうような場合である。
【００４２】
通常は、そのような規則性パターンの発生を防止するための対策として、閾値や２値化前の画像データ自体に適量の乱数値、すなわちノイズを加える方法が有効であることが知られている。しかしながら、本発明者による上記の閾値最適化法とそのようなノイズ印加方法を併せて用いてみると、閾値最適化方法を用いることによりドット生成の遅延及び尾引きの問題は解決されるものの、今度は、低濃度領域でのノイズ印加が再現画像の画質に相当な悪影響を与えていることが顕在化するようになった。すなわち、閾値最適化法を利用する以前の従来の誤差拡散法では、低濃度領域で生じるドット生成の遅延等の問題を少しでもごまかすために、低濃度領域でも２値化のための閾値等に相当量のノイズを加えることでむしろ全体的な画質が改善されていた。このため、低濃度領域でも中濃度領域と同量、場合によってはそれ以上のノイズを閾値等に印加、すなわち重畳することが普通に行われていた。
【００４３】
規則的パターンは原画像データが特定の階調値である程度以上の面積を占める場合に生じやすいが、どの階調値で生じるかは、どの範囲にどのような重みで誤差拡散するか、等の誤差拡散手法によって変わってくる。しかしながら、通常は、ドット密度が１０％以下の低濃度領域や、９０％以上の高濃度領域ではほとんど生じず、主に中濃度領域で生じる。従って、規則的なパターンを防ぐ目的からは、０％〜１０％の低濃度領域に加えるノイズは、それほど大きくする必要がないか、場合によっては全くなくてもほとんど問題がない。
【００４４】
また、ノイズの印加自体による画質劣化の程度は、中濃度領域に比べて低濃度領域では大きくなる。その理由は次の通りである。例えば、中濃度領域としてデータ値が１２７の場合を考えてそれを０に２値化すると、１２７の誤差が生じる。この状況は、１画素で生じる誤差の絶対値自体が大きい上に、狭い範囲にＯＮドットとＯＦＦドットが混在する形になるため、誤差の絶対値が大きい上のその符号が目まぐるしく変化するということである。この状況下で、例えば＋１６〜−１６程度の範囲で変動するノイズ、すなわち乱数値を閾値に加えても、それほど大きな画質劣化にはつながらない。
【００４５】
これに対し、ドット密度が低い低濃度領域では、小さな誤差がある程度の範囲にわたって積み重なって、その結果、補正データ値が閾値を越えたところでドットがＯＮになる。例えば、データ値が３の場合を考え、それを０に２値化しても３の２値化誤差しか生じない。この３の誤差ずつの積み重ねを行っているところに、＋１６〜−１６までの大きなノイズを加えると、ドット生成パターンはかなり乱れ、ドットの分散の均一性を大きく損なうことになる。
【００４６】
本発明は、以上のような問題点を解決するために成されたものであって、より具体的には、低濃度領域及び高濃度領域の立ち上がり部でのドット生成の遅延や、低濃度領域又は高濃度領域が終わった後の尾引きの問題を解決するために本発明者によって既に提案された閾値最適化法と、規則性パターンの発生を防止して良好な再現画像を得られるようにするために２値化のための閾値にノイズを重畳するという方法とを併用する場合に、特に低濃度領域及び高濃度領域においてドットの分散が不均一になって再現画像が乱れるという現象を確実に防止できるようにすることを目的とする。
【００４７】
【課題を解決するための手段】
上記の目的を達成するため本発明に係る画像処理装置は、多階調画像データを誤差拡散法又は平均誤差最小法を用いて第１階調値及び第２階調値（第１階調値＜第２階調値）のみからなる２階調画像データに変換する画像処理装置において、
（１）注目画素の周辺の既に２値化済みの画素から拡散された誤差をその注目画素の多階調画像データに加えて補正しその補正結果を補正画素データとして出力する誤差補正手段と、
（２）注目画素の多階調画像データの階調値に基づいて設定されたベース成分ｓｌｓｈ（Ｂ）  にノイズが重畳した閾値を、２値化のための閾値ｓｌｓｈとして設定する閾値設定手段と、
（３）設定された閾値ｓｌｓｈに基づいて前記補正画素データを２階調画像データに変換する２値化手段とを有する。
【００４８】
そして、上記閾値設定手段は、注目画素の多階調画像データの階調値をｄａｔａ、前記第１階調値と第２階調値との間の中間の値をｍ、乱数の重畳によって変動する前記閾値の下限をｓｌｓｈ（Ｌ）  、乱数の重畳によって変動する前記閾値の上限をｓｌｓｈ（Ｕ）  とするとき、次の条件、すなわち
（Ｉ）ｄａｔａが第１階調値近辺の低濃度領域の場合に、閾値の下限ｓｌｓｈ（Ｌ）が
ｄａｔａ  ≦  ｓｌｓｈ（Ｌ）  ≦  （ｍ＋ｄａｔａ）／２  ‥‥  （４）
の範囲内に入り、
（ＩＩ）ｄａｔａが第２階調値近辺の高濃度領域の場合に、閾値の上限ｓｌｓｈ（Ｕ）が
（ｍ＋ｄａｔａ）／２  ≦  ｓｌｓｈ（Ｕ）  ≦  ｄａｔａ  ‥‥  （５）
の範囲内に入るという条件のうちの少なくともいずれか一方を満たすように、閾値ｓｌｓｈを設定する。
【００４９】
上記の（４）式及び（５）式は、例えば次のようにして設定できる。すなわち、画像データの階調値ｄａｔａが第１階調値近辺の低濃度領域の場合に閾値のベース部ｓｌｓｈ（Ｂ）を
ｄａｔａ  ≦  ｓｌｓｈ（Ｂ）  ≦  （ｍ＋ｄａｔａ）／２  ‥‥  （４’）
と設定し、さらに画像データの階調値ｄａｔａが第２階調値近辺の高濃度領域の場合に閾値のベース部ｓｌｓｈ（Ｂ）を
（ｍ＋ｄａｔａ）／２  ≦  ｓｌｓｈ（Ｂ）  ≦  ｄａｔａ  ‥‥  （５’）
と設定するとき、低濃度領域では閾値のベース部ｓｌｓｈ（Ｂ）  に＋方向のノイズを加え、一方、高濃度領域では閾値のベース部ｓｌｓｈ（Ｂ）  に−方向のノイズを加える。つまり、図４に示すように、閾値のベース部ｓｌｓｈ（Ｂ）を式（４’）及び式（５’）で規定される斜線領域の中に設定し、さらにそのベース部ｓｌｓｈ（Ｂ）  に、例えば図５において斜線で示す範囲内で乱数的に変化するノイズ成分を重畳する。
【００５０】
上記説明において第１階調値近辺の低濃度領域とは、広い意味では、多階調画像データの階調値ｄａｔａの中央値よりも低い領域のことであり、第２階調値近辺の高濃度領域とは、同様に広い意味では、多階調画像データの階調値ｄａｔａの中央値よりも高い領域のことである。しかしながら、再現画像におけるドットの分散が均一になるという本発明の効果が顕著に発現するのは、本発明者の実験によれば、特に低濃度領域に関しては、多階調画像データの階調値ｄａｔａが０〜２５５の２５６階調であるときに、階調値１６以下の領域であった。
【００５１】
閾値設定手段は、例えば、注目画素の多階調画像データの階調値ｄａｔａの値に応じて、次式、すなわち
ｓｌｓｈ（Ｂ）＝（ｄａｔａ×（Ｋ−１）＋ｍ）／Ｋ
（但し、Ｋは２以上の正数で表される定数）
に従って設定されたベース成分ｓｌｓｈ（Ｂ）  にノイズが重畳した閾値を、前記２値化のための閾値ｓｌｓｈとして設定することができる。
【００５２】
また、閾値設定手段は、注目画素の多階調画像データの階調値ｄａｔａの値に応じて段階的に設定された前記ベース成分ｓｌｓｈ（Ｂ）  にノイズが重畳した閾値を、前記２値化のための閾値ｓｌｓｈとして設定することができる。
【００５３】
また、閾値設定手段は、注目画素の多階調画像データの階調値ｄａｔａの値に応じて、次式、すなわち
ｄａｔａ＜ｍ−Ｌ１のとき、          ｓｌｓｈ（Ｂ）＝ｄａｔａ＋Ｌ１
ｍ−Ｌ１＜ｄａｔａ＜ｍ＋Ｌ２のとき、  ｓｌｓｈ（Ｂ）＝ｍ
ｍ＋Ｌ２＜ｄａｔａのとき、          ｓｌｓｈ（Ｂ）＝ｄａｔａ−Ｌ２
（但し、Ｌ１，Ｌ２は０〜ｍの間の整数で表される定数）
に従って設定されたベース成分ｓｌｓｈ（Ｂ）  にノイズが重畳した閾値を、前記２値化のための閾値ｓｌｓｈとして設定することができる。
【００５４】
誤差補正手段は、誤差拡散法を用いるもの、あるいは平均誤差最小法を用いるものを適宜に選択して使用できる。誤差拡散法を用いる誤差補正手段は、（１）各画素毎の拡散誤差積算値を記憶する拡散誤差記憶部と、（２）補正画素データと２値化結果との２値化誤差を演算し、その２値化誤差を誤差拡散法を用いて注目画素の近傍の未２値化画素へ分配して拡散する演算を行い、前記拡散誤差記憶部に記憶された各画素毎の拡散誤差積算値に、前記注目画素からの拡散誤差を加算して新たな拡散誤差積算値を求め、前記拡散誤差記憶部に記憶された各画素毎の拡散誤差積算値を更新する誤差拡散部と、（３）注目画素の多階調画像データと、前記拡散誤差記憶部に記憶された注目画素の拡散誤差積算値とを加算して前記補正画素データを演算するデータ補正部とを有する構成を採用できる。
【００５５】
また、平均誤差最小法を用いる誤差補正手段は、（１）各画素毎の誤差を記憶する誤差記憶部と、（２）補正画素データと２値化結果との２値化誤差を演算し、その２値化誤差を前記誤差記憶部に記憶する誤差拡散部と、（３）前記誤差記憶部に記憶された注目画素の周辺の画素の２値化誤差を読み出し所定の重み付けをすることにより平均誤差を求め、この平均誤差を注目画素の多階調画像データに加算して前記補正画素データを演算するデータ補正部とを有する構成を採用できる。
【００５６】
【作用】
多階調画像データは、誤差補正手段及び閾値設定手段に入力される。誤差補正手段は、注目画素の多階調画像データに、周辺の既に２値化済みの画素から拡散された誤差を加えて補正しその補正結果を補正画素データとして出力する。閾値設定手段は、注目画素の多階調画像データの階調値に基づいて閾値のベース成分ｓｌｓｈ（Ｂ）  を設定すると共にそのベース成分に乱数値、すなわちノイズを重畳して閾値ｓｌｓｈを設定する。そして、設定されたその閾値ｓｌｓｈに従って誤差拡散法又は平均誤差最小法を用いた２値化処理が行われる。
【００５７】
本発明では、次の条件、すなわち
（Ｉ）ｄａｔａが第１階調値近辺の低濃度領域の場合に、閾値ｓｌｓｈの下限ｓｌｓｈ（Ｌ）  が
ｄａｔａ  ≦  ｓｌｓｈ（Ｌ）  ≦  （ｍ＋ｄａｔａ）／２    ‥‥（４）
の範囲内に入り、
（ＩＩ）ｄａｔａが第２階調値近辺の高濃度領域の場合に、閾値ｓｌｓｈの上限ｓｌｓｈ（Ｕ）  が
（ｍ＋ｄａｔａ）／２  ≦  ｓｌｓｈ（Ｕ）  ≦  ｄａｔａ    ‥‥（５）
の範囲内に入るという条件のうちの少なくともいずれか一方を満たすように、閾値ｓｌｓｈを設定した。ここで、「第１階調値近辺」とは、ｍより小さい範囲の一部または全部を、「第２階調値近辺」とは、ｍより大きい範囲の一部または全部を意味している。
【００５８】
以上により、多階調画像データの階調値が小さいときには閾値ｓｌｓｈを小さく、一方、多階調画像データの階調値が大きいときには閾値ｓｌｓｈも大きくなるように、注目画素の多階調画像データの階調値に応じて閾値ｓｌｓｈを最適化するようにしたので、２値化に伴って発生する誤差の蓄積を解消して、注目画素のドット生成を良好に行うことができる。より具体的には、低濃度領域や高濃度領域で、多量の誤差の蓄積が発生するという現象を解消することができ、それに起因して生じていた、低濃度領域又は高濃度領域の立ち上がり部でのドット生成の遅延や、低濃度領域又は高濃度領域が終わった後の尾引き等の問題を、画質劣化につながる副作用なしに根本的に解決できる。
【００５９】
さらに、２値化のための閾値にノイズを重畳するようにしたので再現画像に規則性パターンが発生することを防止して良好な再現画像を得ることができる。しかも、そのように閾値にノイズを重畳する場合でも、本発明では低濃度領域では＋方向へノイズを加え、高濃度領域では−方向へノイズを加え、つまりそれぞれドットが出難くなる方向へノイズを加えるようにしたので、本来出るべき位置よりもずっと前の位置でドットがいきなり出てしまうといった不都合が無くなり、よって、特に低濃度領域及び高濃度領域においてドットの分散が不均一になって再現画像が乱れるという現象を確実に防止できる。
【００６０】
【実施例】
図１は、本発明に係る画像処理装置を用いた画像作成システムを示している。このシステムでは、階調画像データ出力装置１０から出力される原画像の多階調画像データ２００が画像処理装置３０へ入力される。画像処理装置３０は、入力された原画像の多階調画像データ２００を２階調に階調数変換して２値画像出力装置２０へ出力する。より具体的には、多階調画像データ２００を、誤差拡散法又は平均誤差最小法を用いて補正し、中間調表示可能な第１階調値及び第２階調値のみから成る２階調画像データ２３０に変換して出力する。本実施例では、第１階調値として０（白）を出力し、第２階調値として２５５（黒）を出力するものとする。２値画像出力装置２０は、画像処理装置３０から出力される２階調画像データ２３０に基づき原画像を再生出力する。
【００６１】
本実施例において、階調画像データ出力装置１０はコンピュータを用いて形成されている。そして、このコンピュータは、ハードディスク等に記憶された多階調画像データ２００を画像処理装置３０へ向けて出力するように構成される。多階調画像データ２００は、０〜２５５の２５６階調の濃度データとして表されている。なお、この階調画像データ出力装置１０は、これ以外に、例えばコンピュータグラフィックの多階調画像データを出力するように形成しても良く、また、コンピュータ以外でも、例えば、スキャナ、ビデオカメラ等といった各種の手段を用いても良い。
【００６２】
本実施例の２値画像出力装置２０は、画素単位で階調制御ができないプリンタを用いて形成され、入力される２階調画像データ２３０に基づいて原画像を中間調表示可能に再生出力する。なお、２値画像出力装置２０は、プリンタ以外に、必要に応じてＣＲＴディスプレイ、液晶ディスプレイ、ファクシミリ装置、デジタル複写機等を用いても良い。
【００６３】
システムの具体例
本発明において、画像処理装置３０は、階調画像データ出力装置１０又は２値画像出力装置２０と別体に形成しても良いが、必要に応じて、これら各装置１０又は２０と一体に形成しても良い。例えば、図９に示すように、階調画像データ出力装置１０としてホストコンピュータ１２を用い、２値画像出力装置２０としてプリンタ２２を用いた場合には、本発明の画像処理装置３０を、プリンタ２２内へ一体的に組み込んで形成することができる。この場合には、プリンタ２２は、ホストコンピュータ１２より出力する多階調画像データ２００が入力されるデータ入力部２４と、画像処理装置３０と、２値化ドット印画手段２６とを含んで構成される。
【００６４】
また、図１０に示すように、ホストコンピュータ１２内へ一体的に組み込んで形成しても良い。この場合、ホストコンピュータ１２は、階調画像ファイルの読込手段１４と、プリンタドライバ１６と、データ出力手段１８とを含むように構成される。そして、プリンタドライバ１６は、階調画像ファイル読込手段１４から多階調画像データ２００が入力される画像処理装置３０と、この画像処理装置３０の出力に基づいてプリンタ制御コマンドを生成するプリンタ制御コマンド生成手段１６ａとを含み、プリンタ制御コマンドに基づいてプリンタ２２を制御するように構成されている。
【００６５】
なお、図１１に示すように、階調画像データ出力装置１０としてスキャナ５０を用い、このスキャナ５０で読み込んだ多階調画像データを２値化データとしてホストコンピュータ６０へ出力する場合には、スキャナ５０に画像処理装置３０を一体的に組み込んで形成すれば良い。この場合には、スキャナ５０は、画像を光学的に読み取る階調画像データ読み取り部５２と、読み取られた多階調画像データ２００を２階調画像データ２３０として出力する画像処理装置３０と、出力された２階調画像データ２３０のデータをホストコンピュータへ向けて出力する２値化データ出力部５４とを含んで構成される。
【００６６】
なお、本発明の画像処理装置は必要に応じ、前述した各種装置以外の装置に一体的に組み込んで形成することもできる。
【００６７】
なお、説明の都合上、以降の説明では、図１に示すように、本発明の画像処理装置３０は階調画像データ出力装置１０及び２値画像データ出力装置２０とは別体に形成されるものとして、その説明を行う。
【００６８】
画像処理装置
図２は、本発明に係る画像処理装置の一実施例の機能ブロック図を示している。この画像処理装置３０は、閾値設定手段３２と、誤差補正手段３４と、２値化手段３６と、そして乱数値発生手段８とを有している。閾値設定手段３２及び誤差補正手段３４には、注目画素の多階調画像データ２００として、ｉ行ｊ列目の画素Ｐ［ｉ，ｊ］  のデータｄａｔａ（ｉ，ｊ）  が入力される。
【００６９】
閾値設定手段３２は、この注目画素Ｐ［ｉ，ｊ］  の多階調画像データｄａｔａ（ｉ，ｊ）  に応じて閾値のベース部ｓｌｓｈ（Ｂ）（ｉ，ｊ）  を設定し、さらにそのベース部ｓｌｓｈ（Ｂ）（ｉ，ｊ）  に乱数値発生手段８から出力される乱数値を重畳することにより、多階調画像データ２００を２値化するのに用いる閾値ｓｌｓｈ（ｉ，ｊ）  を設定する。なお、閾値ベース部ｓｌｓｈ（Ｂ）（ｉ，ｊ）  は、
ｓｌｓｈ（Ｂ）（ｉ，ｊ）＝（ｄａｔａ（ｉ，ｊ）×（Ｋ−１）＋１２８）／Ｋ  ‥‥（１’）
（ここで、Ｋは２以上の整数で表される定数）
に基づいて決められる。また、乱数値発生手段８は、例えば、図５に示すように、低濃度領域では＋側へ変動し、高濃度領域では−側へ変動する乱数値を出力する。今、数式（１’）が図８において直線Ｃで表されるものとすれば、これに図５の乱数値を重畳すると、図８に斜線で示す範囲で変動する閾値ｓｌｓｈが設定される。この閾値ｓｌｓｈに関して、符号ｓｌｓｈ（Ｌ）  で示す部分が閾値ｓｌｓｈの下限であり、符号ｓｌｓｈ（Ｕ）で示す部分が閾値ｓｌｓｈの上限である。
【００７０】
図２に戻って、誤差補正手段３４は、注目画素Ｐ［ｉ，ｊ］    の多階調画像データｄａｔａ（ｉ，ｊ）  を、周辺画素の２値化によって生じる２値化誤差に基づいて誤差拡散法を用いて補正し、補正画素データｄａｔａ＿ｃ（ｉ，ｊ）  として２値化手段３６へ向けて出力する。そして２値化手段３６は、入力される注目画素Ｐ［ｉ，ｊ］  の補正画素データｄａｔａ＿ｃ（ｉ，ｊ）  を、閾値ｓｌｓｈ（ｉ，ｊ）  と比較して２値化し、その２値化結果ｒｅｓｕｌｔ（ｉ，ｊ）  を２階調画像データ２３０として出力する。すなわち、補正画素データを次の条件、すなわち
0003554077.tif 000002
の条件で２値化して出力する。
【００７１】
誤差補正手段３４は、データ補正手段３８、誤差拡散手段４０及び拡散誤差記憶手段４２を有している。拡散誤差記憶手段４２は、原画像の各画素毎の拡散誤差積算値ｔｏｔａｌ＿ｅｒｒ（ｍ，ｎ）を記憶する。また、誤差拡散手段４０は、まず、２値化結果ｒｅｓｕｌｔ（ｉ，ｊ）  と補正データｄａｔａ＿ｃ（ｉ，ｊ）  とにより、２値化誤差ｅｒｒ（ｉ，ｊ）を、
ｅｒｒ（ｉ，ｊ）＝ｄａｔａ＿ｃ（ｉ，ｊ）−ｒｅｓｕｌｔ（ｉ，ｊ）  ‥‥（６）
のようにして求める。次に、その２値化誤差ｅｒｒ（ｉ，ｊ）を近傍の未２値化画素Ｐ［ｍ，ｎ］  、すなわちＰ（ｉ，ｊ＋１），Ｐ（ｉ＋１，ｊ），‥‥等へ分配して拡張する。具体的には、拡散誤差記憶手段４２が記憶している各画素毎の拡散誤差積算値ｔｏｔａｌ＿ｅｒｒ  （ｍ，ｎ）に、注目画素Ｐ［ｉ，ｊ］からの拡散誤差分を加算してゆく。今、図１７（ａ）のような誤差拡散重みマトリクスを用いるとする。図１７の「＊」が注目画素を示している。重みの合計値は１６なので、注目画素での２値化誤差に、分配対象の画素位置に応じた重み値を乗じた後、１６で割った値を以下のように拡散誤差積算値ｔｏｔａｌ＿ｅｒｒ（ｍ，ｎ）に加算する。
【００７２】
0003554077.tif 000003
以上の加算処理により注目画素Ｐ［ｉ，ｊ］  の２値化に伴う誤差拡散は終わる。この加算処理は、２値化手段３６から２値化結果が出力される毎に繰り返して行われる。なお、誤差拡散法の重みマトリクスの例としては、図１７（ａ）に示すもの以外にも、必要に応じて例えば、図１７（ｂ）又は図１７（ｃ）に示すマトリクス、あるいはその他各種のマトリクスを採用できる。
【００７３】
そして、データ補正手段３８は、注目画素Ｐ［ｉ，ｊ］  の多階調画像データｄａｔａ（ｉ，ｊ）  が入力されると、その注目画素Ｐ［ｉ，ｊ］  に対応した拡散誤差積算値ｔｏｔａｌ＿ｅｒｒ（ｉ，ｊ）を拡散誤差記憶手段４２から読み出し、これを次式、すなわち、
ｄａｔａ＿ｃ（ｉ，ｊ）＝ｄａｔａ（ｉ，ｊ）  ＋  ｔｏｔａｌ＿ｅｒｒ（ｉ，ｊ）  ‥‥（８）
に基づいて注目画素の多階調画像データｄａｔａ（ｉ，ｊ）  に加え、こうして補正画像データｄａｔａ＿ｃ（ｉ，ｊ）を求める。
【００７４】
以上のようにして、本実施例の画像処理装置３０は、入力される注目画素の多階調画像データ２００を、誤差拡散法を用いて中間調表示可能な第１階調値０及び第２階調値２５５のみから成る２階調画像データ２３０に変換して出力する。この画像処理装置３０は、閾値ｓｌｓｈのベース部分ｓｌｓｈ（Ｂ）  を図８の直線Ｃのように、低濃度領域で小さく且つ高濃度領域で大きくなるように設定したので、従来であれば低濃度領域や高濃度領域で多量の２値化誤差の蓄積が生じていたのを解消でき、それに起因して発生していた、低濃度領域又は高濃度領域の立上り部でのドット生成の遅延や、低濃度領域又は高濃度領域が終わった後の尾引き等の問題が解消された。
【００７５】
さらに、閾値ｓｌｓｈはノイズ成分を含んでいるので、再現画像に規則性パターンが発生して画質が劣化することを防止でき、良好な再現画像を得ることができる。しかも本実施例では、低濃度領域（例えば、図４のＡ領域）において閾値ｓｌｓｈの下限ｓｌｓｈ（Ｌ）が
ｄａｔａ  ≦  ｓｌｓｈ（Ｌ）  ≦  （ｍ＋ｄａｔａ）／２
の範囲内に入り、さらに高濃度領域（例えば、図４のＢ領域）において閾値ｓｌｓｈの上限ｓｌｓｈ（Ｕ）が
（ｍ＋ｄａｔａ）／２  ≦  ｓｌｓｈ（Ｕ）  ≦  ｄａｔａ
の範囲内に入るように設定したので、閾値ｓｌｓｈにノイズが加えられるにもかかわらず、ドットは出難い傾向に設定されている。この結果、例えば低濃度領域において閾値ｓｌｓｈが異常に小さくなることに起因してドットの分散の均一性が悪くなるという不都合が解消される。
【００７６】
なお、閾値ｓｌｓｈのベース部ｓｌｓｈ（Ｂ）  に重畳するためのノイズは、図５に示すような変動範囲を有するものに限られるものではなく、図６に示す変動範囲を有するもの、あるいは図７に示す変動範囲を有するもの等を適宜に選択して用いることができる。
【００７７】
（閾値設定手段３２の変形例）
上記実施例において、閾値設定手段３２は、
ｓｌｓｈ（Ｂ）（ｉ，ｊ）＝（ｄａｔａ（ｉ，ｊ）×（Ｋ−１）＋１２８）／Ｋ  ‥‥（１’）
に基づいて閾値ｓｌｓｈのベース部ｓｌｓｈ（Ｂ）  の設定を行っている。しかしながら、閾値ベース部ｓｌｓｈ（Ｂ）  はそれ以外の方法によって設定することができる。例えば、図１３に示すように、
0003554077.tif 000004
の条件に従って閾値ベース部ｓｌｓｈ（Ｂ）  を設定できる。ここにおいて、Ｌ１，Ｌ２は０〜６４の適当な値でよいが、８〜１６の範囲とすると最適となる。なお、Ｌ１及びＬ２は同じ値に設定しても良い。式（９）に従う場合には、画像データの階調値ｄａｔａが１２８前後の場合には、数式（３）で示した
0003554077.tif 000005
という範囲から外れることになるが、本発明が解決しようとしている問題点、すなわちドット生成の遅延、尾引き及びドット分散の不均一が特に顕著となるのは、画像データの階調値ｄａｔａが０又は２５５近辺の値（０及び２５５は含まない）、発明者の目視観察によれば特に階調値１６以下の低濃度領域であった。従って、全データ領域で上式（３）が満たされる必要はなく、ｄａｔａが０又は２５５近辺の値の場合に式（３）が満たされれば良い。従って、閾値のベース部ｓｌｓｈ（Ｂ）  を上式（９）のように設定しても、ドット生成の遅延、尾引き及びドット分散の不均一の各種問題を解決して良好な２値化画像を得ることができる。
【００７８】
図１４は、閾値のベース部ｓｌｓｈ（Ｂ）  のさらに他の設定例を示している。この例では、原画像データ２００の階調値に応じて閾値ベース部ｓｌｓｈ（Ｂ）  を、連続的ではなく段階的に設定する。このようにしても、良好な２値画像を得ることができる。
【００７９】
図１５は、閾値のベース部ｓｌｓｈ（Ｂ）  のさらに他の設定例を示している。この例では、低濃度領域のみに、本発明の特徴である閾値最適化動作が働くようにしてある。すなわち、画像データ２００の閾値が高濃度領域側にある場合には、閾値のベース部は１２８に固定され、画像データ２００が低濃度領域側の０近辺の値にあるときに、閾値ベース部ｓｌｓｈ（Ｂ）  を上式（３）を満足するように設定する。例えば、ドットの滲み量の大きいプリンタ装置では、高濃度領域の孤立した白ドットがほとんど潰れてしまうため、高濃度領域では、ドット生成の遅延という問題がもともと顕著に現れない。そのため、ドット生成の遅延が目立ちやすい低濃度領域のみを、本発明によって改善しようとするものである。
【００８０】
（閾値設定手段の具体例）
図２における閾値設定手段３２は、原画像データから２値化のための閾値を設定するために、閾値ベース部ｓｌｓｈ（Ｂ）  の演算及びそのベース部へのノイズ成分の加算をその都度行うように形成しても良く、また、原画像データの階調値と閾値との対応関係を予め変換テーブル内に記憶しておき、それを参照するように形成しても良い。
【００８１】
図１６には、閾値設定手段３２を、ＲＯＭを用いて構成した場合の具体例が示されている。ＲＯＭのアドレスバスＡ０〜Ａ７に８ビットの原画像データを入力すると、それに対応した８ビットの閾値がデータバスＤ０〜Ｄ７に出力されるよう形成されている。
【００８２】
（他の実施例）
上記の実施例では、誤差拡散法を用いて多階調画像データ２００を補正する場合を例にとって説明したが、本発明はこれに限られず、平均誤差最小法を用いて補正する場合にも適用できる。図３は、その平均誤差最小法を用いた画像処理装置３０の好適な実施例を示している。なお、図３において図２に示した実施例と対応する部材には同一の符号を付すことにしてその説明は省略する。
【００８３】
本実施例において、誤差補正手段３４は、データ補正手段３８と、誤差計算手段４４と、そして誤差記憶手段４６とを有する。誤差計算手段４４は、前記数式（６）すなわち、
ｅｒｒ（ｉ，ｊ）＝ｄａｔａ＿ｃ（ｉ，ｊ）−ｒｅｓｕｌｔ（ｉ，ｊ）
に従って、注目画素の２値化誤差ｅｒｒ  を演算し、誤差記憶手段４６の注目画素に対応したアドレスにその値を書き込むように形成されている。この結果、誤差記憶手段４６の各画素アドレスに対応した記憶エリアには、２値化済みの画素の２値化誤差が順次に書き込み記憶されてゆく。
【００８４】
データ補正手段３８は、注目画素Ｐ［ｉ，ｊ］の多階調画像データｄａｔａ（ｉ，ｊ）が入力されると、その注目画素Ｐ［ｉ，ｊ］  近傍の２値化済みの画素の誤差を誤差記憶手段４６から読み出す。そして、読み出した誤差データに所定の重み付けをして平均誤差を求め、この平均誤差を注目画素の多階調画像データｄａｔａ（ｉ，ｊ）  に加え、これを補正画像データｄａｔａ＿ｃ（ｉ，ｊ）として２値化手段３６へ向けて出力する。
【００８５】
これ以外の構成及び作用は、図２に示した先の実施例の場合と同様であるので、ここではそれらの説明は省略する。このような平均誤差最小法を用いた場合でも、誤差拡散法を用いた図２の実施例の場合と同様な効果を奏することができる。
【００８６】
以上、好ましい実施例を挙げて本発明を説明したが、本発明はそれらの実施例に限定されるものではなく、特許請求の範囲に記載した技術的範囲内で種々に改変できる。例えば、以上の実施例では原画像データが０で白、２５５で黒となるような濃度データである場合を例にとって説明したが、原画像データが０で黒、２５５で白となるような、明度データである場合も、本発明を同様に適用できることはいうまでもない。
【００８７】
【発明の効果】
請求項１記載の画像処理装置によれば、多階調画像データの階調値が小さいときには閾値ｓｌｓｈを小さく、一方、多階調画像データの階調値が大きいときには閾値ｓｌｓｈも大きくなるように、注目画素の多階調画像データの階調値に応じて閾値ｓｌｓｈを最適化するようにしたので、２値化に伴って発生する誤差の蓄積を解消して、注目画素のドット生成を良好に行うことができる。より具体的には、低濃度領域や高濃度領域で、多量の誤差の蓄積が発生するという現象を解消することができ、それに起因して生じていた、低濃度領域又は高濃度領域の立ち上がり部でのドット生成の遅延や、低濃度領域又は高濃度領域が終わった後の尾引き等の問題を、画質劣化につながる副作用なしに根本的に解決できる。
【００８８】
さらに、２値化のための閾値にノイズを重畳するようにしたので再現画像に規則性パターンが発生することを防止して良好な再現画像を得ることができる。しかも、そのように閾値にノイズを重畳する場合でも、本発明では低濃度領域では＋方向へノイズを加え、高濃度領域では−方向へノイズを加え、つまりそれぞれドットが出難くなる方向へノイズを加えるようにしたので、本来出るべき位置よりもずっと前の位置でドットがいきなり出てしまうといった不都合が無くなり、よって、特に低濃度領域及び高濃度領域においてドットの分散が不均一になって再現画像が乱れるという現象を確実に防止できる。
【００８９】
さらに、閾値設定手段を、簡単な演算を行うか又は変換テーブルを参照する等の単純な構成で実現できるため、複雑な処理回路を必要とせず、高速且つ良好な画像処理を行うことができる。
【００９０】
さらに、閾値設定手段が設定する閾値を増減させることにより、ドット生成速度の調整が可能となり、必要に応じて過補正状態を設定することができ、これにより例えば、エッジ強調的な効果を期待できるという副次的な効果が得られる。
【図面の簡単な説明】
【図１】本発明に係る画像処理装置を用いた画像処理システムの一例のブロック図である。
【図２】本発明に係る画像処理装置の一実施例を示す機能ブロック図である。
【図３】本発明に係る画像処理装置の他の一実施例を示す機能ブロック図である。
【図４】本発明において適用される閾値の許容範囲の一例を示すグラフである。
【図５】ノイズ範囲の一例を示すグラフである。
【図６】ノイズ範囲の他の一例を示すグラフである。
【図７】ノイズ範囲のさらに他の一例を示すグラフである。
【図８】本発明において適用される閾値の一例を示すグラフである。
【図９】本発明に係る画像処理装置を組み込んだ画像処理システムの一例の全体を示す概略図である。
【図１０】本発明に係る画像処理装置を組み込んだ画像処理システムの他の一例の全体を示す概略図である。
【図１１】本発明に係る画像処理装置を組み込んだ画像処理システムのさらに他の一例の全体を示す概略図である。
【図１２】本発明者の提案による閾値最適化法を用いた画像処理装置の一例を示す機能ブロック図である。
【図１３】閾値の設定の仕方の一例を示すグラフである。
【図１４】閾値の設定の仕方の他の一例を示すグラフである。
【図１５】閾値の設定の仕方のさらに他の一例を示すグラフである。
【図１６】本発明に用いられる閾値設定手段のハードウエアの構成の一例を示す図である。
【図１７】本発明に係る画像処理装置で用いられる拡散重みマトリクスの具体例を示す図である。
【図１８】平均２値化誤差を求めるために使用した原画像データと、平均２値化誤差を求める領域との関係を示す説明図である。
【図１９】原画像データの階調値と平均２値化誤差との関係を示すグラフである。
【図２０】図１に示す画像処理装置において平均２値化誤差がどのように発生するかを示すグラフである。
【図２１】平均２値化誤差が常に０になる閾値を示すグラフである。
【図２２】２値化すべき原画像の一例を示す平面図である。
【図２３】従来の誤差拡散法によって得られた２値化結果の説明図である。
【図２４】本発明者の提案による閾値最適化法を用いた画像処理装置を使用して得られる２値化結果の説明図である。
【図２５】階調値が５０％であるドット生成パターンを模式的に示す図である。
【符号の説明】
８        乱数値発生手段
１０        階調画像データ出力装置
３０        画像処理装置
３２        閾値設定手段
３４        誤差補正手段
３６        ２値化手段
３８        データ補正手段
４０        誤差拡散手段
４２        拡散誤差記憶手段
２００        多階調画像データ
２３０        ２階調画像データ
【図１】
0003554077.tif 000006
【図２】
0003554077.tif 000007
【図３】
0003554077.tif 000008
【図４】
0003554077.tif 000009
【図５】
0003554077.tif 000010
【図６】
0003554077.tif 000011
【図７】
0003554077.tif 000012
【図８】
0003554077.tif 000013
【図９】
0003554077.tif 000014
【図１０】
0003554077.tif 000015
【図１１】
0003554077.tif 000016
【図１２】
0003554077.tif 000017
【図１３】
0003554077.tif 000018
【図１４】
0003554077.tif 000019
【図１５】
0003554077.tif 000020
【図１６】
0003554077.tif 000021
【図１７】
0003554077.tif 000022
【図１８】
0003554077.tif 000023
【図１９】
0003554077.tif 000024
【図２０】
0003554077.tif 000025
【図２１】
0003554077.tif 000026
【図２２】
0003554077.tif 000027
【図２３】
0003554077.tif 000028
【図２４】
0003554077.tif 000029
【図２５】
0003554077.tif 000030