(57)【特許請求の範囲】
【請求項１】
多値（Ｍ値）画像データを、多値誤差拡散または多値平均誤差最小法を用いてＮ値（Ｍ＞Ｎ≧２）に量子化する画像処理装置であって、
０以上１未満の一様分布の乱数を生成する手段と、
前記乱数をある固定値で量子化し、量子乱数を設定する手段と、
前記量子乱数に基づいて負の値が生成された画素位置には閾値を正の値が生成された画素位置の閾値よりも低く設定する手段と、
周辺の既に量子化済みの画素から重み付け積和された誤差を加えた補正データを出力する手段と、
前記Ｎ値画像データの生成に伴って発生する誤差を算出する手段と、
注目画素周辺の既に量子化済みの画素から重み付け積和された重み付け平均値を出力する手段と、
前記補正データと前記閾値とを比較して、Ｎ値画像データを出力する手段と、
を備えたことを特徴とする画像処理装置。
【請求項２】
多値（Ｍ値）画像データを、多値誤差拡散または多値平均誤差最小法を用いてＮ値（Ｍ＞Ｎ≧２）に量子化する画像処理装置であって、
注目画素の多値画像データの階調値に応じて、乱数閾値を変更設定する手段と、
０以上１未満の一様分布の乱数を生成する手段と、
前記乱数閾値を用いて前記乱数を量子化し、量子乱数を設定する手段と、
前記量子乱数を用いて閾値を設定する手段と、
周辺の既に量子化済みの画素から重み付け積和された誤差を加えた補正データを出力する手段と、
前記Ｎ値画像データの生成に伴って発生する誤差を算出する手段と、
注目画素周辺の既に量子化済みの画素から重み付け積和された重み付け平均値を出力する手段と、
前記補正データと前記閾値とを比較して、Ｎ値画像データを出力する手段と、
を備えたことを特徴とする画像処理装置。
【請求項３】
乱数を量子化するある固定値は、０以上１未満の実数であることを特徴とする請求項１記載の画像処理装置。
【請求項４】
前記乱数閾値は階調に応じて大きくなり、０以上１未満の実数に設定することを特徴とする請求項２記載の画像処理装置。
【請求項５】
請求項１乃至４のいずれか１項記載の画像処理装置の各手段の機能を有する画像記録装置。
【請求項６】
請求項１乃至４のいずれか１項記載の画像処理装置の各手段の機能をコンピュータに実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、多値画像データを高精細かつ高階調に印刷処理するための画像処理装置、画像記録装置（画像形成装置）、及びプログラムに関する。
【背景技術】
【０００２】
スキャナやディジタルカメラ等の入力装置で読み取った多値画像データをプリンタやディスプレイ等の出力装置に出力する画像入出力システムが存在する。その際に、入力装置で読み取った多値（例えば８ビット精度ならば２５６階調）の画像データを出力装置が出力可能な階調数の画像データに変換し、擬似的に連続階調を表現する方法として、擬似中間調処理というものが存在する。中でも出力装置がドットのＯＮ／ＯＦＦのみの２値しか表現できないときには２値化処理が従来から行われている。この２値化処理の中で解像性と階調性に共に優れたものとして誤差拡散処理や平均誤差最小法が存在する。誤差拡散法と平均誤差最小法は、誤差の拡散作業をいつ行うかが異なるだけであり、論理的には等価なものである。さらにこの誤差拡散処理を２値だけでなく、３値以上の階調数にも適応したものとして、多値誤差拡散処理が存在する。２値誤差拡散処理と同様に、階調性と解像性に優れた処理が可能である。
【０００３】
出力装置における３値以上の階調数を確保するために各種の方式がある。インクジェットプリンタにおいては吐出するインク量を制御することにより大中小ドットとドット径を変化させることや、ドットの重ね打ちや濃度を異なったインク・濃淡インクを用いて３値化以上の階調数を再現している。一般的には淡インクの濃度を濃インクの１／２〜１／６に希釈してある。またグラビア印刷のような凹版印刷において版に掘り込む深さを変化させることで紙に転写するインク量を制御し、３値以上の階調数を確保する方式がある。
【０００４】
ところで、誤差拡散処理では特有のテクスチャ、いわゆるワームが発生するという問題がある。これは同一の入力値・閾値・誤差マトリクスや同一の処理方向を用いることによって生じる。上記課題に対して閾値にランダムノイズを加算する技術が開示されている。また特許文献１には閾値にディザノイズを加算する技術が開示されている。
【０００５】
誤差拡散法における上記した問題に対処する従来の方法として、閾値を周期的にまたはランダムに変化させる方法がある。特許文献１には閾値にランダムノイズを加算する技術が開示されている。閾値にディザノイズを加算する技術が開示されている。しかしながら、閾値を周期的に変動させる方法では、周期構造を持たないためモアレが発生しにくいという誤差拡散処理の長所が損なわれてしまう。また、ランダムなノイズを加える方法では、当然ノイズの多い出力画像となってしまう。
【０００６】
人間の視覚特性に好ましいノイズを重畳して改善する方式として、デジタル複写機などの画像形成装置において、入力された画像信号に対し、視覚的に知覚し難い空間周波数特性のノイズを画像信号レベルに応じて重畳させることにより鮮鋭性（カラー画像の場合には色調・鮮鋭性）を損なうことなく、原稿自身に存在する画像ノイズや階調段差（擬似輪郭）などを低減させる技術がある。また、画像のエッジ部・平坦部などをフラクタル次元で分類し、分類結果に応じて重畳するノイズをブルーノイズ・１／ｆノイズ・ノイズなしと切り分ける技術がある。ブルーノイズと１／ｆノイズと人間の視覚特性に好ましいノイズを重畳しており、中濃度部では好ましい画像を得ることができる。
【０００７】
しかしながら、ハイライト部ではもともとドットが粗であり、このような画像は周波数空間において低周波領域に強いピークが存在する。このような低周波領域に上記のような高周波のノイズを重畳しても画質改善が難しい。
【０００８】
また、２値誤差拡散において、階調値１２７の場合、２画素に１画素のドットが出力されて市松模様のように分散していることが視覚特性上このましい。ところで、図１１に示す階調値１２６を２値誤差拡散した結果のように、階調値１２７近傍階調、階調値１２５や１２９などでは２画素に１画素と割り切れないため、所々で市松模様から崩れた構造となる。このため、階調値１２６では市松模様と他のパターンが混在することになり視覚的に好ましくないテクスチャが生じる。階調値１２６では市松模様と他のパターンがある程度離れて出現する、すなわち低周波的特性ともつため、このような階調に上記のような高周波のノイズを重畳しても画質改善が難しい。
【０００９】
ここで、閾値マトリックスには、低周波成分を抑制した２値（６４、１９２）の不規則信号を記憶し、注目画素位置の閾値を読み出し、補正画素値ｓｎｍ（＝入力画素値＋既処理画素誤差）に対して、該閾値を用いて閾値処理し、２値の出力画素値を出力することで、画質劣化のない、高品質な疑似中間調処理を実現することができる技術が開示されている（例えば、特許文献２参照）。
【特許文献１】特開２００１−１７７７２２号公報
【特許文献２】特許第３５６０２６５号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
解像性と階調性に優れた誤差拡散法であるが、好ましくないテクスチャの生成を抑制すること難しい。
【００１１】
本発明は、かかる問題点に鑑みてなされたものであり、誤差拡散に適したノイズを重畳することで画質劣化問題を解決できる画像処理装置、画像記録装置及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記課題を解決するため、本発明にかかる画像処理装置、画像記録装置及びプログラムでは、誤差拡散において、画像の階調に適したノイズを重畳することで、好ましくないテクスチャの生成を抑制し、良好な画質の出力画像結果を出力するものである。
【００１３】
かかる目的を達成するために、請求項１記載の発明は、多値（Ｍ値）画像データを、多値誤差拡散または多値平均誤差最小法を用いてＮ値（Ｍ＞Ｎ≧２）に量子化する画像処理装置であって、０以上１未満の一様分布の乱数を生成する手段と、前記乱数をある固定値で量子化し、量子乱数を設定する手段と、前記量子乱数に基づいて負の値が生成された画素位置には閾値を正の値が生成された画素位置の閾値よりも低く設定する手段と、周辺の既に量子化済みの画素から重み付け積和された誤差を加えた補正データを出力する手段と、前記Ｎ値画像データの生成に伴って発生する誤差を算出する手段と、注目画素周辺の既に量子化済みの画素から重み付け積和された重み付け平均値を出力する手段と、前記補正データと前記閾値とを比較して、Ｎ値画像データを出力する手段と、を備えたことを特徴としている。
【００１４】
請求項２記載の発明は、多値（Ｍ値）画像データを、多値誤差拡散または多値平均誤差最小法を用いてＮ値（Ｍ＞Ｎ≧２）に量子化する画像処理装置であって、注目画素の多値画像データの階調値に応じて、乱数閾値を変更設定する手段と、０以上１未満の一様分布の乱数を生成する手段と、前記乱数閾値を用いて前記乱数を量子化し、量子乱数を設定する手段と、前記量子乱数を用いて閾値を設定する手段と周辺の既に量子化済みの画素から重み付け積和された誤差を加えた補正データを出力する手段と、前記Ｎ値画像データの生成に伴って発生する誤差を算出する手段と、注目画素周辺の既に量子化済みの画素から重み付け積和された重み付け平均値を出力する手段と、前記補正データと前記閾値とを比較して、Ｎ値画像データを出力する手段と、を備えたことを特徴としている。
【００１５】
請求項３記載の発明は、乱数を量子化するある固定値は、０以上１未満の実数であることを特徴としている。
【００１６】
請求項４記載の発明は、前記乱数閾値は階調に応じて大きくなり、０以上１未満の実数に設定することを特徴としている。
【発明の効果】
【００１７】
本発明によれば、誤差拡散において、誤差拡散に適したノイズを重畳することで画質劣化を目立たなくさせ良好な画質の出力画像結果を得ることができる。
【発明を実施するための最良の形態】
【００１８】
〔実施形態１〕
以下、本発明の好適な実施の形態を添付図面を参照しながら詳細に説明する。構成要素には記号を付与して区別する。図１は、本発明の実施の形態における画像処理装置のブロック構成を示す図である（特に本発明に特徴的な画像処理を行う画像処理部のブロック構成を示す）。また、図２は、本発明の実施の形態における画像記録装置の構成を示す図である。
【００１９】
図３は、本発明の実施の形態の画像処理装置を用いて構成される画像入出力システムの構成を示す。画像入力装置３０１はスキャナやディジタルカメラ等の入力デバイスを示し、入力画像について例えば８ビット精度ならば２５６階調の画像データとして取り込まれる。この多値画像データが本実施形態の画像処理装置３０２に入力される。
【００２０】
画像処理装置（画像処理部）３０２では、画像入力装置３０１から入力された２５６階調の画像データに対し、この後段の画像出力装置３０３で出力可能な階調数に変換する処理を行う。この階調数変換処理では多値誤差拡散や多値平均誤差最小法を用いてもよい。画像処理装置３０２で量子化した画像データが図２に構成を示すような画像記録装置（画像形成装置、画像出力装置）３０３に送られる。
【００２１】
図２において、画像出力装置３０３は、フレーム２０１に横架したガイドレール２０２，２０３に移動可能に載設されたキャリッジ２０４にインクジェット記録ヘッド２０５（以下、単に「記録ヘッド」と称す）を搭載し、図示しないモータ等の駆動源によってキャリッジをガイドレール方向に移動して走査（主走査）可能とするとともに、ガイド板２０６にセットされる用紙２０７を、図示しない駆動源によってドライブギヤ２０８及びスプロケットギヤ２０９を介して回動される送りノブ２１０ａを備えたプラテン２１０にて取込み、プラテン２１０周面とこれに圧接するプレッシャローラ２１１とによって搬送し、記録ヘッド２０５によって用紙２０７に印字記録する。
【００２２】
記録ヘッド２０５は、図４に示すブラック（Ｋ）、イエロー（Ｙ）、マゼンタ（Ｍ）及びシアン（Ｃ）の各インクをそれぞれ吐出するための４個のインクジェットヘッド｛４Ｋ、４Ｙ、４Ｍ、４Ｃ｝や、図５に示すブラック（Ｋ）、イエロー（Ｙ）、マゼンタ（Ｍ）、シアン（Ｃ）、ライトイエロー（ＬＹ）、ライトマゼンタ（ＬＭ）及びライトシアン（ＬＣ）の各インクをそれぞれ吐出するための７個のインクジェットヘッド｛５Ｋ、５Ｙ、５Ｍ、５Ｃ、５ＬＹ、５ＬＭ、５ＬＭ｝を主走査方向の同一線上に配置して構成している。商品構成によってはインクの数を増減させても何ら構わない。具体的にはハイライト部でイエローのドットは目視し難い特性を持つのでライトイエローを省いてコストダウンを行った構成としても良いし、また、ライトブラックや、シアン・マゼンタ・イエロー・ブラックの各色の濃度を３段・４段に分けた構成にして高画質を実現した記録ヘッドとしてもよい。
【００２３】
上記の各インクジェットヘッドは、例えば圧電素子、気泡発生用ヒータ等のエネルギー発生手段であるアクチュエータを選択的に駆動して、液室内のインクに圧力を与えることによって、この液室に連通するノズルからインク滴を吐出飛翔させて、用紙７に付着させることで画像記録（画像形成）する。画像記録装置３０３は電子写真を用いて画像記録（画像形成）する場合等でも本発明にかかる処理方法が適用可能である。
【００２４】
また、図３のシステム構成図では、処理に応じてそれぞれの装置を独立したものとして示したが、この限りではなく、画像処理装置３０２の機能が画像入力装置３０１中に存在する形態や、画像出力装置３０３中に存在する形態等もある。
【００２５】
図１は、図３に示す本実施形態の画像処理装置３０２の構成を示すブロック図である。入力端子１０１は画像入力装置３０１より多値画像データが入力される。ここで、２次元の画像データを表わすために、In(x, y)として表わす（ｘは画像の主走査方向のアドレス、ｙは副走査方向のアドレスを示す）。
【００２６】
次に、この入力データIn(x, y)は加算器１０２へ入力される。加算器１０２は入力データIn(x, y)と誤差メモリ１０７から入力される誤差成分E(x, y)を加算し補正データC(x, y)を計算し、補正データC(x, y)を比較判定部１０３と減算器１０５へ出力する。
【００２７】
乱数計算部１０８は０以上１未満の一様分布の乱数R(x, y)を生成し、乱数R(x, y)を量子乱数計算部１０９へ出力する。
【００２８】
量子乱数計算部１０９は乱数計算部１０８より入力される乱数閾値RT(x, y)を式(１)に基づいて下記のように量子乱数QR(x, y)を計算し、量子乱数QR(x, y)を閾値設定部１１０へ出力する。
【００２９】
If( R(x, y) < ０.５ )
then QR(x, y)＝ Ａｍｐ
Else
then QR(x, y)＝  −Ａｍｐ                  （１）
【００３０】
ここでＡｍｐは適当な数値でよい。出力機の特性に応じて設定するあたいであり、おおよそ４〜３２程度で問題はない。
【００３１】
閾値設定部１１０は量子乱数計算部１０９より入力される量子乱数QR(x, y)を元に式(２)のように閾値T(x, y)を計算し、比較判定部１０３へ出力する。
【００３２】
T(x,y)＝ １２７ + QR(x, y)             （２）
【００３３】
比較判定部１０３は、加算器１０２から入力される補正データC(x, y)と閾値設定部１１１から入力される閾値T(x, y)に基づいて式(３)のように出力値Out(x, y)を決定する。
【００３４】
If( C(x, y) < T(x, y) )
then Out(x, y)＝ ０
Else
then Out(x, y)＝ ２５５                    （３）
【００３５】
このＯｕｔ（ｘ，ｙ）が出力端子１０４から画像出力装置３０３に対して出力される。
【００３６】
また、出力値Out(x, y)は減算器１０５に入力される。減算器１０５は補正データC(x, y)と出力値Out(x, y)から式(４)に示すように減算し、現画素で発生した誤差e(x, y)が算出される。
【００３７】
e(x, y)＝C(x, y)−Out(x, y)                （４）
【００３８】
次に誤差拡散部１０６では予め設定された拡散係数に基づいて、誤差e(x, y)を配分して誤差メモリ１０７に蓄積されている誤差データE(x, y)に加算していく。ここで例えば拡散係数として図６に示したような係数を用いた場合、誤差拡散部１０６では式(５)〜式(８)のような処理を行う。
【００３９】
E(x+１, y)   ＝E(x+１, y)  ＋e(x, y)×７/１６    (５)
E(x-１, y+１)＝E(x-１, y+１)＋e(x, y)×５/１６    (６)
E(x,   y+１)＝E(x,   y+１)＋e(x, y)×３/１６      (７)
E(x+１, y+１)＝E(x+１, y+１)＋e(x, y)×１/１６    (８)
【００４０】
以上のように図１の構成によって、画像処理部における多値誤差拡散処理が行われる。
【００４１】
次に、このような処理によりなぜこの誤差拡散処理で好ましくないテクスチャを発生させないかと説明する。
【００４２】
０以上１未満の一様分布の乱数R(x, y)を式(１)に従い量子化した量子乱数QR(x, y)の３２×３２画素の結果を図７に示す。図７において白画素は正の値となる点、黒画素は負の値となる点である。今、乱数R(x, y)は０以上１未満の一様分布乱数であるため、乱数の閾値を０．５としてあるから、おおよそ２画素に１画素は正の値、２画素に１画素は負の値が生成される。負の値が生成された画素位置には式(２)に従い、閾値は低く設定されてドットが出現しやすくなり、正の値が生成された画素位置には閾値は高く設定されてドットが出現しにくくなる。
【００４３】
式(１)の場合、２画素に１画素は正の値であるので、市松模様のように分散していることが視覚特性上このましい。しかしながら、式(２)で設定される閾値に重畳する値は図７に示すように所々でまとまっており、いわゆるクラスターを形成しており分散性は好ましいとはいえない。とはいえ、図７の黒画素で形成されたあるクラスター中の画素位置で式(３)に従いドットがＯｎとなった場合、同画素近傍には負の誤差が拡散されることとなる。このクラスター中の画素は閾値が低いのでドットは出やすいはずであるが、負の誤差が拡散されるため、ドットが出力されにくく、出力される画像は必ずしも図７と同一のクラスターを形成することはない。
【００４４】
さらに、単純２値誤差拡散では図１１のように階調値１２７近傍階調である階調値１２６では２画素に１画素と割り切れないため、所々で市松模様と他のパターンが混在することになる。しかしながら、図７のようなノイズを重畳した場合、ノイズのクラスター部の分布に応じて市松模様が崩れやすくなり図１１のような広範囲の市松模様が形成されることはない。
【００４５】
また、ノイズは乱数より生成しているためクラスターが非周期的に存在することとなり、特許文献１に示すディザノイズのような周期的なドットを形成することがなく、他の階調の結果と違和感がないノイズとなる。
【００４６】
〔実施形態２〕
本発明は上記の実施形態１にとらわれることなく、種々の変形実施が可能である。実施形態１を説明する図１の画像処理装置のブロックを図８に変えて説明する。
【００４７】
入力端子８０１は画像入力装置３０１より多値画像データが入力される。ここで、２次元の画像データを表わすために、In(x, y)として表わす（ｘは画像の主走査方向のアドレス、ｙは副走査方向のアドレスを示す）。
【００４８】
次に、この入力データIn(x, y)が乱数閾値設定部８０８と加算器８０２へ入力される。加算器８０２は入力データIn(x, y)と誤差メモリ８０７から入力される誤差成分E(x, y)を加算し補正データC(x, y)を計算し、補正データC(x, y)を比較判定部８０３と減算器８０５へ出力する。
【００４９】
また、入力データIn(x, y)は乱数閾値設定部８０８に入力され、本発明にかかわる乱数閾値RT(x, y)の設定を行う。乱数閾値設定部８０８は図９に示すような入力データIn(x, y)に応じた乱数閾値RT(x, y)を設定し、乱数閾値RT(x, y)を量子乱数計算部８１０へ出力する。
【００５０】
乱数計算部８０９は０以上１未満の一様分布の乱数R(x, y)を生成し、乱数R(x, y)を量子乱数計算部８１０へ出力する。
【００５１】
量子乱数計算部８１０は乱数閾値設定部８０８より入力される乱数閾値RT(x, y)と乱数計算部８０９より入力される乱数R(x, y)に基づいて下記のように量子乱数QR(x, y)を計算し、量子乱数QR(x, y)を閾値設定部８１１へ出力する。
【００５２】
If( R(x, y) < RT(x, y) )
then QR(x, y)＝Ａｍｐ
Else
then QR(x, y)＝−Ａｍｐ                    （９）
【００５３】
ここでＡｍｐは適当な数値でよい。出力機の特性に応じて設定するあたいであり、おおよそ４〜３２程度で問題はない。
【００５４】
閾値設定部８１１は量子乱数計算部８１０より入力される量子乱数QR(x, y)を元に式(２)のように閾値T(x, y)を計算し、比較判定部８０３へ出力する。
【００５５】
比較判定部８０３は、加算器８０２から入力される補正データC(x, y)と閾値設定部１１１から入力される閾値T(x, y)に基づいて式(３)のように出力値Out(x, y)を決定する。
【００５６】
このOut(x, y)が出力端子８０４から画像出力装置３０３に対して出力される。
【００５７】
また、出力値Out(x, y)は減算器８０５に入力される。減算器８０５は補正データC(x, y)と出力値Out(x, y)から式(４)に示すように減算し、現画素で発生した誤差e(x, y)が算出される。
【００５８】
次に誤差拡散部８０６では予め設定された拡散係数に基づいて、誤差e(x, y)を配分して誤差メモリ８０７に蓄積されている誤差データE(x,y)に加算していく。ここで例えば拡散係数として図７に示したような係数を用いた場合、誤差拡散部８０６では式(５)〜式(８)のような処理を行う。
【００５９】
以上のように図８の構成によって、画像処理部における多値誤差拡散処理が行われる。
【００６０】
次に、このような処理によりなぜこの誤差拡散処理で好ましくないテクスチャを発生させないかと説明する。
【００６１】
階調値１２７の場合、乱数閾値RT(x, y)は０.５となり、実施形態１で説明したように階調値１２６では図７のようなノイズを重畳することとなり、ノイズのクラスター部の分布に応じて市松模様が崩れやすくなり図１１のような広範囲の市松模様が形成されることはない。
【００６２】
同様に、階調値３２の場合、乱数閾値RT(x, y)は０.３１２５となる。式(９)に従い乱数R(x, y)を乱数閾値RT(x,y)で量子化した量子乱数QR(x, y)の３２×３２画素の結果を図１０に示す。図７と同様に、図１０も一部でクラスターを形成し、分散性は良好とは言えない。しかしながら、誤差拡散自体に階調に応じた分散する特性があり、誤差拡散の分散性を若干修正する程度であれば図９のようなノイズで問題はない。
【００６３】
また、階調値１の場合、乱数閾値RT(x, y)は０.２５となる。乱数R(x, y)は０以上１未満の一様分布乱数であるため、おおよそ４画素に３画素は正の値、４画素に１画素は負の値が生成される。階調値１は２５６画素に１画素ドットが出現することになるが、４画素に１画素は負の値となり、理想的なドット数より多く出現されるように思われるが、誤差拡散としてドットを出現した負の誤差が拡散されているため、４画素に１画素の閾値が低くなったとしても出力されるドット数は変動することはない。
【００６４】
実施形態２のようにすることでドットの分散性を制御することができる。具体的には次の２点を調整することである。１点目は乱数閾値設定部を実施形態１の式(１)で使用した乱数閾値を固定値から図９のように変更することである。２点目は式(９)で使用したＡｍｐを調整することである。式(１)では階調値１において２画素に１画素が負の値となるが、実施形態２では階調値１において４画素に１画素が負の値となり、実施形態１より分散しやすくなる。また、図１０において負とならない画素位置でも誤差が累積していればドットを出力することが可能であるが、Ａｍｐを大きくすることで、正の値となった箇所は閾値がより高くなるのでドットが出にくくなり、誤差拡散のもつ分散性からノイズのもつ分散性に近づけることができる。しかしながら、このノイズの分散性は視覚特性としてこのましくないので概ね図９のような値でよい。
【００６５】
誤差拡散部１０６では図７に示す係数を用いて説明したが、より計算機に適した係数を使用したとき分散性が異なり、不快なテクスチャを生成する可能性がある。このような場合には乱数閾値とＡｍｐを調整することで分散性を制御することが有効となる。
【００６６】
〔その他の実施形態〕
実施形態１・２では２値誤差拡散で説明したが、本方式は３値・４値といった多値誤差拡散にも応用可能である。図５に示すカートリッジを使用した３値誤差拡散の場合、出力値をドットｏｆｆ・ＬＣインク・Ｃインクの階調値を０・１２７・２５５とする。実施形態１のような乱数閾値を固定値とした場合は、式(２)を式(１０)・(１１)のように修正する。ここでT１(x,y)はドットｏｆｆとＬＣインクの出力を切り分ける閾値であり、T２(x,y)はＬＣインクとＣインクの出力を切り分ける閾値である。式(１０)・(１１)は３値誤差拡散の場合、ドットｏｆｆとＬＣインクの出力を切り分ける閾値＝６４、ＬＣインクとＣインクの出力を切り分ける閾値＝１９２に図７のようなノイズを重畳しているだけである。Ｎ値誤差拡散においても同様のＮ−１個ある各閾値に図７のようなノイズを重畳することで可能である。
【００６７】
T１(x,y)＝  ６４ + QR(x, y)                （１０）
T２(x,y)＝ １９２ + QR(x, y)               （１１）
【００６８】
同様に、実施形態２のような階調に応じた乱数閾値の場合は、実施形態２の乱数閾値設定部８０８において図１２に示すような入力データIn(x, y)に応じた乱数閾値RT(x, y)を設定し、式(１０)・(１１)のように閾値を設定することで可能となる。
【００６９】
本構成において乱数計算部は逐次計算でもよいし、ＬＵＴでもかまわない。逐次計算であれば省メモリとなり、ＬＵＴ方式では乱数テーブルを保持するメモリが必要となるがより高速に処理することができる。
【００７０】
また、本発明は誤差拡散処理に対するものであったが、同じように平均誤差最小法にも適用できる。
【００７１】
なお、本発明は、複数の機器（例えばホストコンピュータ，インタフェース機器，リーダ，プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機，ファクシミリ装置など）に適用してもよい。
【００７２】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（ＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになる。
【００７３】
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク，ハードディスク，光ディスク，光磁気ディスク，磁気テープ，不揮発性のメモリカード，ＲＯＭなどを用いることができる。
【００７４】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００７５】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００７６】
なお、請求項１記載の発明では、簡易な方法で誤差拡散に適したノイズを生成することで良好な画質の出力画像結果を得ることことができる。
【００７７】
また請求項２記載の発明では、簡易な方法で誤差格差における各階調に適したノイズを生成することで良好な画質の出力画像結果を得ることことができる。
【００７８】
また請求項３・４記載の発明では、ノイズ生成の特徴を規定することで良好な画質の出力画像結果を得ることことができる。
【００７９】
以上により本発明の実施の形態について説明した。なお、上述した実施形態は、本発明の好適な実施形態の一例を示すものであり、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲内において、種々変形実施が可能である。
【図面の簡単な説明】
【００８０】
【図１】本発明の実施の形態１における画像処理装置のブロック構成を示す図である。
【図２】本発明の実施の形態における画像記録装置の構成を示す図である。
【図３】本発明の実施の形態の画像処理装置を用いて構成される画像入出力システムの構成を示すである。
【図４】記録ヘッドの構成を示す図である。
【図５】記録ヘッドの構成を示す図である。
【図６】拡散係数を示す図である。
【図７】量子化した量子乱数QR(x, y)の３２×３２画素の結果を示す図である。
【図８】本発明の実施の形態２における画像処理装置のブロック構成を示す図である。
【図９】入力データIn(x, y)に応じた乱数閾値RT(x, y)の設定を示す図である。
【図１０】乱数R(x, y)を乱数閾値RT(x,y)で量子化した量子乱数QR(x, y)の３２×３２画素の結果を示す図である。
【図１１】階調値１２６を２値誤差拡散した結果を示す図である。
【図１２】入力データIn(x, y)に応じた乱数閾値RT(x, y)を設定し、式(１０)・(１１)のように閾値の設定を示す図である。
【符号の説明】
【００８１】
１０１    入力端子
１０２    加算器
１０３    比較判定部
１０４    出力端子
１０５    減算器
１０６    誤差拡散部
１０７    誤差メモリ
１０８    乱数計算部
１０９    量子乱数計算部
１１０    閾値設定部
【図１】
0005015695.tif 000002
【図２】
0005015695.tif 000003
【図３】
0005015695.tif 000004
【図４】
0005015695.tif 000005
【図５】
0005015695.tif 000006
【図６】
0005015695.tif 000007
【図７】
0005015695.tif 000008
【図８】
0005015695.tif 000009
【図９】
0005015695.tif 000010
【図１０】
0005015695.tif 000011
【図１１】
0005015695.tif 000012
【図１２】
0005015695.tif 000013