JP4587153B2 - 画像処理装置及び方法 - Google Patents
画像処理装置及び方法 Download PDFInfo
- Publication number
- JP4587153B2 JP4587153B2 JP2001191846A JP2001191846A JP4587153B2 JP 4587153 B2 JP4587153 B2 JP 4587153B2 JP 2001191846 A JP2001191846 A JP 2001191846A JP 2001191846 A JP2001191846 A JP 2001191846A JP 4587153 B2 JP4587153 B2 JP 4587153B2
- Authority
- JP
- Japan
- Prior art keywords
- noise
- pixel
- quantization
- value
- threshold
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Image Processing (AREA)
- Facsimile Image Signal Circuits (AREA)
- Color Image Communication Systems (AREA)
Description
【発明の属する技術分野】
本発明は、例えば、入力された多階調画像を入力画像の階調数より少ない階調数を有する画像に変換する画像処理方法及び装置に関する。
【0002】
【従来の技術】
従来、多値画像データを2値画像(または2値以上で入力階調数より少ない階調数を有する画像)に変換する手段としてR.Floydらによる誤差拡散法("An adaptive algorithm for spatial gray scale", SID International Symposium Digest of Technical Papers, vol4.3, 1975, pp.36-37)がある。この誤差拡散法は、ある画素で生じた2値化誤差を以降の複数画素へ拡散することにより、擬似的に階調表現を行うものである。しかし、誤差拡散法を用いた従来の画像処理装置では、低濃度領域の立ち上り部におけるドット生成が大幅に遅延するという問題があった。また、特定の入力階調においては、出力2値画像に規則的パターンが発生し、それが目について画質を劣化させることがあった。
【0003】
上記問題点を解決するため、特開平8−307680では、多値画像データの階調値に基づいて閾値を設定する誤差拡散法が開示されている。この方法を概略すると、多階調画像データを誤差拡散法又は平均誤差最小法を用いて第1階調値及び第2階調値に変換する画像処理装置において、注目画素の多階調画像データの階調値に基づいて閾値のベース成分を設定し、さらにそのベース成分に乱数値を加えて2値化のための閾値を設定するものである。この方法によれば、注目画素の多階調画像データの階調値に応じて閾値を最適化することにより、上記ドット生成遅延を解消し、さらに注目画素の階調値に応じて閾値にノイズを印加することにより、上記規則的パターンの発生を防止している。
【0004】
【発明が解決しようとする課題】
しかしながら、上記従来例では、閾値に印加するノイズとして乱数を使用するため、前記ノイズの特性を二次元的に制御することが困難であるという欠点があった。このため、複数のプレーンからなるカラー多値画像において、プレーン毎の量子化を行った場合、異なる色成分のドットの重なりを制御することも困難であった。
【0005】
本発明は、上記課題を解決するためになされたものであり、誤差拡散法を用いた多値画像の擬似中間調表現処理に際し、閾値に印加するノイズの二次元的な特性を制御しながら上記規則的パターンを防止し、かつドット生成遅延を解消する画像処理方法及び装置を提供することを目的とする。
【0006】
【課題を解決するための手段】
上記目的を達成するため、本発明は次のような構成から成る。
【0007】
複数の色成分プレーンを有するカラー画像データを量子化する画像処理装置であって、
2つの異なるノイズ制御情報が同数ずつ一様に分散した疑似周期的な2次元配列であるノイズマトリックスを記憶するノイズマトリックス記憶手段と、
画素位置を用いて前記ノイズマトリックスを参照することにより注目画素に対応するノイズ制御情報を求め、該ノイズ制御情報に基づき、入力画素値に対応する量子化閾値に対してノイズ振幅量を加算および減算することにより求められる2つの異なる量子化閾値のいずれかを設定する閾値設定手段と、
前記注目画素の周辺画素から該注目画素に対して拡散された量子化誤差の累積値を、前記注目画素の画素値に加算する加算手段と、
前記閾値設定手段により設定された量子化閾値を用いて、前記加算手段から出力された画素値を量子化する量子化手段と、
前記量子化手段による注目画素の量子化誤差を前記注目画素近傍の画素に拡散する誤差拡散手段とを有し、
前記ノイズマトリクス記憶手段は、前記複数の色成分プレーンのそれぞれに対応させてノイズマトリックスを記憶し、
出力画像におけるドットを重なりにくくすべき、前記複数の色成分プレーンにおける第1色成分プレーンと第2色成分プレーンにおけるノイズマトリクスは、ノイズ制御情報が反転している。
【0008】
あるいは、複数の色成分プレーンを有するカラー画像データを量子化する画像処理装置であって、
2つの異なるノイズ制御情報が同数ずつ一様に分散した疑似周期的な2次元配列であるノイズマトリックスを記憶するノイズマトリックス記憶手段と、
画素位置を用いて前記ノイズマトリックスを参照することにより注目画素に対応するノイズ制御情報を求め、該ノイズ制御情報に基づき、入力画素値に対応する量子化閾値に対してノイズ振幅量を加算および減算することにより求められる2つの異なる量子化閾値のいずれかを設定する閾値設定手段と、
前記注目画素の周辺画素から該注目画素に対して拡散された量子化誤差の累積値を、前記注目画素の画素値に加算する加算手段と、
前記閾値設定手段により設定された量子化閾値を用いて、前記加算手段から出力された画素値を量子化する量子化手段と、
前記量子化手段による注目画素の量子化誤差を前記注目画素近傍の画素に拡散する誤差拡散手段とを有し、
前記閾値設定手段は、出力画像におけるドットを重なりにくくすべき前記複数の色成分プレーンにおける第1色成分プレーンと第2色成分プレーンに対して、異なる量子化閾値を設定する。
【0016】
【発明の実施の形態】
(第1の実施形態)
図1は、第1の実施形態による画像処理装置の構成を示したブロック図である。同図において、10は画素データの入力部、11は累積誤差加算部、12は各要素が1又は−1の値をもつ2次元のノイズマトリックスが格納されたノイズマトリックスメモリ、13は量子化のための閾値に加えるノイズ量が入力画素データ毎に格納されたノイズ量ルックアップテーブル(LUT)、14は入力画素データと画素位置に従い量子化に用いる閾値を設定する閾値設定部、15は量子化部、16は処理後のデータの出力部、17は誤差演算部、18は誤差拡散部、19は累積誤差を格納する誤差バッファである。なおここで、入力画素データとは0から255の範囲の整数値である。
【0017】
<2値化処理手順>
以下、図1の画像処理装置の動作について図2のフローチャートに従って説明する。
【0018】
まず、図示しない画像走査部により入力画像が順次走査され、各画素データが入力部10より入力される(ステップS100)。画像の走査は、画像領域の左上画素から開始し右方向に1画素ずつ進み、右端に達したら1画素下の左端画素から同様に右下画素まで行う。
【0019】
次に、累積誤差加算部11において、入力画素データIに誤差バッファ19の画素位置に対応する値が加算される(ステップS101)。なお、ここでは注目されている入力画素を注目画素と呼ぶ場合もある。注目画素とは注目している画素の位置により同一性が保持されるものとする。すなわち、入力された値に対して何らかの加工がされた場合であっても、位置が変わらない限り注目画素であることには変わらない。
【0020】
誤差バッファ19には、1個の記憶領域Etempと、画像の横画素数Wと同数の記憶領域E(x)とが含まれ、後述する方法で量子化誤差が格納されている。なお、誤差バッファ19は処理開始前に全て初期値0で初期化されているものとする。
【0021】
図3は、誤差バッファ19の詳細を示した図である。累積誤差加算部11では、入力画素データIに横画素位置xに対応する誤差E(x)が加えられる。即ち、誤差加算後のデータをI'とすると、
I'=I+E(x)
となる。
【0022】
次に、閾値設定部14において、後述する方法により閾値Tを設定する(ステップS102)。次に、量子化部15において、誤差加算後の画素データI'と閾値Tとを比較し、出力画素値Oを決定する(ステップS103)。その規則は次の通りである。
O=0 (I'<T)
O=255 (I'≧T)
次に、誤差演算部17において、注目画素Iに誤差加算後の画素データI'と出力画素値Oとの差分Errを、次のようにして計算する(ステップS104)。
Err=I'−O
次に、誤差拡散部18において、横画素位置xに応じて以下の様に誤差Errの拡散処理が行われる(ステップS105)。
すなわち、注目画素の画素位置xが1ラインの両端以外である場合には、二値化誤差Errの値は、その7/16が注目画素の直後の画素に分配され、残りの9/16は注目画素の属するラインの次のラインに分配される。注目画素の次のラインにおいては、注目画素と同じ横画素位置xを有する画素(すなわち注目画素の真下の画素)にErrの5/16が、その直前の画素(すなわち、注目画素の左下の画素)と直後の画素(すなわち、注目画素の右下の画素)に、Errのそれぞれ3/16と1/16が分配される。
【0023】
また、注目画素の位置xが1ラインの先頭である場合には、誤差Errの値は、その7/16が注目画素の直後の画素に、8/16が注目画素の真下の画素に、1/16が注目画素の右下の画素に分配される。
【0024】
また、注目画素の位置xが1ラインの末尾である場合には、誤差Errの値は、すべて次のラインに分配される。その内訳は、Errの3/16が注目画素の左下の画素に、13/16が注目画素の真下の画素に分配される。
【0025】
以上で、1画素分の2値化処理が完了する。以上の処理を全ての画素について行うことで、画像の擬似中間調処理が行われる。
【0026】
<閾値設定処理>
次に、閾値設定部14における閾値Tの設定手順を説明する。まず入力画素データの横と縦の画素位置をそれぞれx、yとし、ノイズマトリックスメモリ12に格納されているノイズマトリックスより画素位置x、yに対応するノイズ符号を求める。ノイズマトリックスは、後述する方法であらかじめ作成され、ノイズマトリックスメモリ12に格納されている。
【0027】
図4はノイズマトリックスの一例であり、マトリックスの各要素は+1又は−1の何れかの値をもつ。本実施形態では、ノイズマトリックスの縦横の要素数を16×16とした。ここで、ノイズマトリックスにおける(i,j)番目の要素をN(i,j)とすると、入力画素データの画素位置(x,y)に対応するノイズ符号Nは、
N=N(x%16,y%16)
となる。なお、%は剰余演算を表す。
【0028】
次に、このノイズ符号Nと入力画素データIに従い、ノイズ量LUT13より閾値Tを求める。ノイズ量LUT13には、0から255までの入力画素データ毎に、Nの値に対応する2個の整数値が格納されている。図5は、ノイズ量LUT13の詳細を示す図であり、このLUTから上記ノイズ符号Nと入力画素データIに対応する値を読み込んで閾値Tとし、閾値設定処理を終了する。
【0029】
すなわち、二値化処理は、二値化しようとする画素の値に応じた値に、その画素の位置に応じたノイズ値を加算した値を閾値として行われる。ノイズは、所定サイズの領域(ここでは16×16)中における総和が0となるように与えられるために、閾値の平均は変わらず、その結果、平均濃度もノイズを加算しない場合と同様に保たれる。
【0030】
次に、ノイズマトリックス12の作成手順を図6のフローチャートに従って説明する。ここで作成するノイズマトリックス12は、最も均一に2つの値が分散した周期的パターンに多少のランダム性を取り入れた擬似周期的なパターンをもつ。本実施形態において前記擬似周期的パターンは、ランダムに初期要素を求め、求めた要素位置に対して一定の斥力ポテンシャルを付与し、該ポテンシャルが最小となる位置に新たな要素を設定する処理を繰り返すことにより生成されるものであり、斥力ポテンシャルは、要素からの位置に従って減衰する関数で表される。まず、1要素目をランダムにひとつ選び、当該要素のみを1、他の要素の値を−1に初期化する(ステップS200)。ここでは、最初に1の値を与えられた要素の位置を(x0,y0)とする。次に、ポテンシャルの初期化を行う(ステップS201)。ポテンシャルは値1をもつ要素からの距離rに対して以下の関数f(r)で与えられるものとする。
f(r)=−0.41r+1.21 (r<2)
f(r)=2.76exp(−r) (2≦r<10)
f(r)=0 (r≧10)
従って、要素(x0,y0)による、マトリックス内の要素(x,y)に対するポテンシャルP(x,y)は次の式で求められる。
P(x,y)=f(√({(x−x0+16)%16}2+{(y−y0+16)%16}2))
ただし、x0−10<x<x0+10、y0−10<y<y0+10
次に、ポテンシャルの最も小さい要素を検索し、その値を1とする(ステップS202)。ポテンシャルの最小値を持つ要素が複数ある場合は、ランダムに一つの要素を選択する。次に、新たに1とした要素に対するポテンシャルを計算する(ステップS203)。ステップS202において1とした要素の位置を(x1、y1)とすると、新たなポテンシャルは次式により求められる。
P(x,y)=f(√({(x−x1+16)%16}2+{(y−y1+16)%16}2))
ただし、x1−10<x<x1+10、y1−10<y<y1+10
前記ステップS202、S203を、1の値をもつ要素と−1の値をもつ要素の数が等しくなるまで繰り返す。以上のようにしてノイズマトリックスの生成が行われる。上記の手順により、1と−1の値をもつ要素が一様に分散した視覚的に好ましい疑似周期的ノイズパターンを生成することができる。このように擬似周期的パターンをノイズパターンとして使用する場合、一様乱数をノイズとして使用した場合と比べて低周波が少ないため、粒状性の悪化を防止するように働く。
なお、ノイズマトリックス生成のための手段は本画像処理装置に組み込まれる必要はなく、予め別個のノイズマトリックス生成装置によりノイズマトリックスを生成し、結果マトリックスのみをノイズマトリックスメモリに格納するものとする。
【0031】
<ノイズ量LUT作成手順>
次に、ノイズ量LUT13の作成手順を図7のフローチャートに従って説明する。図8は後述する量子化(二値化)誤差平均値a v e _E(g)の算出時に使用される画像を示しており、80は二値化処理が施される全画像領域であり、81は量子化誤差平均値a v e _E(g)を算出する際の対象となる画像領域である。図9は、入力画素の階調データと、後述する手順で得られる平均量子化誤差ave_E(g)との関係を示している。以下、例として入力階調g=1に対応する閾値ノイズ量設定手順について説明する。
【0032】
まず、ノイズ量LUT13の値を全ての入力階調データに対して0に初期化する(ステップS300)。
【0033】
次に、512×512画素の一様な階調値g=1をもつ画像データに対して量子化(二値化)処理を行い、量子化誤差の平均値a v e_ E(g)を求める(ステップS301)。画像の走査は画像領域の左上端の画素から開始し、画像の右下端の画素に向かって二値化処理が行われる。この手順は、ノイズ量LUTの内容をすべて0とした場合の図2の手順である。そして、図8に示される、ドットの形成が安定状態に達したと思われる、画像の下端付近における256×256画素の画像領域81に対して、累積誤差加算後の画素データI'と出力画素値Oとの差分、すなわち量子化誤差Eの平均値ave_E(g)を求める。すなわち、図2のステップS104において誤差演算を行い差分Errを計算するが、その値を画像領域81について積算し、256×256画素で割ることで平均化して平均値ave_E(g)が得られる。
【0034】
次に、量子化誤差の平均値a v e _E(g)の符号を反転させ、その値にノイズ振幅量+10及び−10をそれぞれ加算し、さらにその値に二値化に通常用いられる閾値128を加えた値T1、T2をノイズ量LUT13に格納する(ステップS302)。すなわち、T1,T2は次のように与えられる。
T1=−a v e _E(g)+10+128
T2=−a v e _E(g)−10+128
つまり、入力階調g=1の場合の量子化誤差平均値a v e _E (g)を77とすると、ノイズ量LUT13に格納する値は、−77±10+128であり、61及び41となる。
【0035】
次に、入力画素の階調データgが取り得る全ての値(256階調)について上記処理が終了したか確認し(ステップS303)、終了していればノイズ量LUT13作成処理を終了する。終了していなければgの値を変えて、全ての画素がその値をもつ画像の二値化処理における二値化誤差の平均値を求め、ノイズ量LUTへの登録値を求める処理を繰り返す。
【0036】
すなわち、ノイズ量LUT13においては、平均の閾値128に、平均量子化誤差ave_E(g)の符号を反転させた値−ave_E(g)が加えられ、さらにノイズ振幅量として±10が加算されている。ノイズ振幅量の+10と−10は、分布の比率が一定であるために、一定の広がりに対しては平均値が0となる。
そのため、ノイズ量LUT13においては、ある画素値に対しては、その画素の二値化処理時の平均二値化誤差が0となるように閾値が与えられることになる。
【0037】
以上の手順で生成されるノイズマトリックス12及びノイズ量LUT13を用いて、図2の手順に従って多値画像の二値化処理を行うことで、次のような効果がある。
【0038】
すなわち、本実施形態では、量子化のための閾値に加算するノイズ平均値を、平均量子化誤差ave_E(g)の符号を反転させた値とすることで、平均量子化誤差ave_E(g)が全ての入力階調に対して0となる。一般に、ドットの生成遅延は、平均量子化誤差ave_E(g)が0とならない階調において発生するとされている(特開平07-111591)。そのため、本実施形態の画像処理装置においては、二値化処理においてドットの生成遅延を発生させず、原多値画像に忠実な二値画像を生成することができる。
【0039】
また、ノイズ振幅量である±10は、入力階調に応じて変化させることも可能である。例えば、誤差拡散法による二値化を行った際に、64、128等の入力階調においては規則的パターンが発生しやすく、それが目について画質を劣化させることがある。図10は上記規則的パターンの一例であり、パターン100は入力階調64に対応する出力パターン、パターン101は入力階調128に対応する出力パターンである。このような階調においては、ノイズ振幅量を他階調よりも大きく設定することにより、上記規則的パターンの発生を低減できる。逆に、ノイズの印加による粒状性の悪化が目立ちやすい低濃度部においては、ノイズ振幅を小さくすることもできる。
【0040】
以上のような構成により、出力画像の粒状性を悪化させずに誤差拡散法特有の周期性が緩和され、かつドットの生成遅延が低減するような閾値を設定することができる。
【0041】
ここで、図2の二値化処理や、図6のノイズマトリックス作成処理、図7のノイズ量LUT作成処理の手順を行うためのコンピュータの構成を図20に示す。これらの手順は同一のコンピュータにより処理することもできるが、図2の二値化処理時にノイズマトリックス12及びノイズ量LUT13が用意されていればよいことから、それぞれ別個のコンピュータにより処理することもできる。
【0042】
図20において、ホストコンピュータ3000は、ROM3のプログラム用ROMやRAM2に記憶された、図2、図6、図7の手順のコンピュータプログラム等に基づいて、それら手順を実行するCPU1を備え、システムバス4に接続される各デバイスをCPU1が統括的に制御する。RAM2は、CPU1の主メモリ、ワークエリア等として機能する。ノイズマトリックス12やノイズ量LUT13もRAM2に格納される。
【0043】
キーボードコントローラ(KBC)5は、キーボード9や不図示のポインティングデバイスからのキー入力を制御する。CRTコントローラ(CRTC)6は、CRTディスプレイ10の表示を制御する。ディスクコントローラ(DKC)7は、ブートプログラム、種々のアプリケーション、フォントデータ、ユーザファイル、編集ファイル等を記憶するハードディスク(HD)、フロッピーディスク(FD)等の外部メモリ11とのアクセスを制御する。プリンタコントローラ(PRTC)8は、所定の双方向インターフェース(双方向I/F)21を介して不図示のプリンタに接続されて、プリンタとの通信制御処理を実行する。
【0044】
図1に示した各ブロックも、CPU1により所定のプログラムを実行することで実現できる。その場合、入力部10は、外部メモリ11等からの画像の読み込みを行うためのプログラムにより、出力部10は、二値化処理後の画像データをRAM2や外部メモリ11に書き出すプログラムにより実現される。
【0045】
(第2の実施形態)
図11は、本発明の第2の実施形態である画像処理装置の構成を示したブロック図である。本実施形態の画像処理装置は、第1の実施形態の画像処理装置に対して、入力階調毎の閾値平均値が記憶された閾値平均値LUT21と、入力階調毎の閾値ノイズ振幅が記憶されたノイズ量LUT13が追加及び変更された構成となっている。以下、図11の画像処理装置を用いた閾値設定手順を図12のフローチャートに従って説明する。なお、本実施例における入力画像の量子化手順は、図2のフローチャートに示される量子化手順と同様であるため、説明を省略する。
【0046】
まず、入力画素データの横と縦の画素位置をそれぞれx、yとし、ノイズマトリックスメモリ12に格納されているノイズマトリックスより画素位置x、yに対応するノイズ符号Nを、第1の実施形態と同じ図6の手順により求める(ステップS400)。
【0047】
次に、入力画素データIに従い、ノイズ量LUT13よりノイズ振幅N_ a m pを求める(ステップS401)。ノイズ量LUT13には、0から255までの入力階調毎に1個の値が格納されており、規則的パターンの発生しやすい階調においては他の階調より大きい値が格納されている。図13は、ノイズ量LUT13の詳細を示す図である。
【0048】
次に、入力画素データIに従い、閾値平均値LUT21より閾値平均値Th_a v eを求める(ステップS402)。図14は閾値平均値LUT21の詳細を示す図であり、図9に示される入力階調毎の平均量子化誤差a v e_ E (g)の符号を反転し、128を加算した値が格納されている。すなわち、第1実施形態の図7のステップS301で説明した手順と同様の手順で平均量子化誤差a v e_ E (g)を求め、Th_a v e=128−a v e_ E (g)として求めることができる。
【0049】
次に、位置(x,y)における値gの画素の量子化のための閾値Tを、
T=N(x%16,y%16)× N_a m p(g)+ Th_a v e(g)
により求め(ステップS403)、閾値設定処理を終了する。ただし、%は剰余を求める演算であり、N(i,j)は、画素位置(i,j)に対応するノイズ符号、N_a m p(g)は、画素値gに対応する図13のノイズ量LUT13に登録されたノイズ振幅である。
【0050】
このように、閾値平均値と閾値ノイズ振幅を別個に記憶させることにより、前記閾値平均値又はノイズ振幅を個別に変更することが容易となる。
【0051】
(第3の実施形態)
図15は、本発明の第3の実施形態である画像処理装置の構成を示したブロック図である。本実施形態は、シアン(C)、マゼンタ(M)、イエロー(Y)、ブラック(K)の4つのプレーンからなるカラー画像に適用するものであり、本実施形態の画像処理装置は、第1の実施形態の画像処理装置に対して、ノイズ量LUT22が複数の色に対応するLUTに変更されている。
【0052】
図16は、本実施形態におけるノイズ量LUT22の詳細を示した図である。図16においてM、K用の閾値ノイズ量を示す2個の値は、C、Y用の閾値ノイズ量の組み合わせを逆にしたものとなっている。例えば、図16において、入力値が0の場合、C,Y用の閾値ノイズ量は、ノイズ符号N=1に対して118、ノイズ符号N=−1に対して138であるが、M,K用の閾値ノイズ量は、ノイズ符号N=1に対して138、ノイズ符号N=−1に対して118となっている。また、ノイズマトリックスメモリ12には2個のマトリックス170,171が格納されている。ノイズ量LUTの値は、第1実施形態の図7の手順でC,Y用あるいはM,K用のいずれかを求めた後、同一の画素値における、各ノイズ符号値に対する閾値を互いに交換することで得ることができる。
【0053】
図17は、ノイズマトリックスメモリ12の詳細を示す図である。マトリックス170はC、M用ノイズマトリックス、マトリックス171はY、K用ノイズマトリックスである。なおノイズマトリックス170は第1の実施形態と同様に図6の手順により作成されたものである。またノイズマトリックス171の各要素は、前記ノイズマトリックス170を90度回転させる処理を行って得られる値となっている。
【0054】
閾値設定部14では、処理しようとする色に応じた閾値ノイズ量とノイズマトリックスを選択し、第1の実施形態と同様に閾値設定処理を行う。なお本実施例における色毎の量子化処理は第1の実施形態と同様であるため、説明を省略する。
【0055】
このように、CとM、YとK用の閾値ノイズの上限と下限を各画素位置において反転させることにより、出力画像における上記各色のドットを重なりにくくすることができる。なお、CとM、YとK用のノイズマトリクスを共用せず、マトリクスの要素である1と−1を互いに反転させることで、C,M,Y,Kそれぞれのカラープレーンごとに独立したノイズマトリクスを割り当ててもよい。例えば、図17のマトリクス170はCとYとで共用されるが、これを反転させ、一方をC用に、他方をY用に割り当てる。マトリクス171についても同様である。このようにした場合には、各カラープレーンについての量子化処理を全く同一の手順で行う。色によってノイズの上限を取るか下限を取るか切り替える必要はない。こうすることで、上述した処理と同様の結果を得られることに加えて、各カラープレーンについての量子化処理を全く同一の手順で行うことができ、処理対象の色を参酌する必要がなくなり、処理の簡単迅速化を図ることができる。
【0056】
なお上記CとMの閾値ノイズ設定手順を、同色(例えばC)の異なる濃度をもつ2つのプレーンに対して使用することも可能である。
【0057】
以上のような構成により、2つのプレーンにおける入力画素値がほぼ等しい領域において、ドットを重なりにくくなるような閾値を設定することが可能となる。
【0058】
(第4の実施形態)
第3の実施形態では、+1と−1の値をもつ要素(ノイズ符号)の比率が同一であるノイズマトリックスを2個用いて色毎に閾値の設定を行ったが、本実施形態では+1と−1の比率が異なる4つのノイズマトリックスを用いて閾値を設定する。
【0059】
以下、CMYK各色に対応する4個のノイズマトリックス作成手順を図18のフローチャートに従って説明する。なお、各マトリックスは16×16のサイズをもつ。
【0060】
まず、各マトリックスの要素をすべて−1に初期化する(ステップS500)。
次に、C用マトリックスから1要素目をランダムにひとつ選択し、その値を1とする(ステップS501)。次に、ポテンシャルの計算を第1実施形態と同様に行う(ステップS502)。
【0061】
次に、ポテンシャルの最も小さい要素位置を検索し、M用マトリックスにおける当該要素の値を1とする(ステップS503)。ポテンシャルの最小値を持つ要素が複数ある場合は、ランダムに一つの要素を選択する。
【0062】
次に、新たに1とした要素に対するポテンシャルを加算し(ステップS504)、最小ポテンシャルをもつY用マトリックス要素の値を1とする(ステップS505)。K用マトリックスにも同様のステップを繰り返す(ステップS506−508)。
【0063】
前記ステップS501からS508を、各マトリックスにおいて1の値をもつ要素がマトリックスの総要素数の1/4となるまで繰り返す(ステップS509)。
以上のようにしてノイズマトリックスの生成を行う。
【0064】
図19は、本実施形態におけるノイズマトリックスの例であり、マトリックス190から193は、それぞれC、M、Y、K用ノイズマトリックスを示す。上記の手順により、1の値をもつ要素の位置が色毎に全て異なり、かつ各マトリックスにおける1の値をもつ要素が一様に分散した擬似周期的パターンとなるような4個のノイズマトリックスを作成することができる。
【0065】
なおノイズ量LUT12には、第1の実施形態と同様の手順により求めた各入力階調における量子化誤差平均値a v e_E(g)に対して、予め以下の演算により入力階調毎にT1、T2の値を求め、格納しておく。
【0066】
T1 = −a v e_E(g)+15+128
T2 = −a v e_E(g)−5+128
つまり、入力階調g=1の場合の量子化誤差平均値a v e_E (g)を77とすると、ノイズ量LUT13に格納する値は、66及び46となる。T1がノイズ符号N=1に対応し、T2がノイズ符号−1に対応する。各色のノイズマトリックスにおける、ノイズ符号の分布の不均等さ、すなわち+1が1個に対して−1が3個となる分布の不均等さを、ノイズ振幅に、ノイズ符号が+1の場合に対応する振幅を、ノイズ符号が−1の場合に対応する振幅の3倍とするよう重みを付けることで補償している。このため、一定の画像の広がりについては、ノイズ振幅の平均値は0となる。
【0067】
さらに、各カラープレーンに対応するノイズマトリックスを、あたかもひとつのノイズマトリックスを作成するかのようにして作成することで、各カラープレーンにおいて、ノイズマトリックス中の符号が+1となる画素位置が重複することを防止できる。
【0068】
以上のような構成により、特にC、M、Y、Kの各色成分の入力画素値がほぼ等しい領域において、色の異なるドットが重なりにくくなるような閾値を設定することが可能となる。
【0069】
なお本発明の目的は前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラム読出し実行することによっても、本発明の目的が達成される。
【0070】
この場合、記憶媒体から読出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0071】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピーディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROMなどを用いることができる。
【0072】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOSなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【0073】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【0074】
【発明の効果】
以上説明したように、本発明によれば、出力画像の粒状性を悪化させずに誤差拡散法特有の周期性を緩和し、かつドットの生成遅延を軽減することができる。
【図面の簡単な説明】
【図1】本発明の第一の実施例である画像処理装置のブロック図
【図2】第一の実施例である画像処理装置の動作を説明するフローチャート
【図3】誤差バッファの構成例の図
【図4】ノイズマトリックスの一例を示す図
【図5】ノイズ量LUT13の一例を示す図
【図6】閾値ノイズの設定手順を説明するフローチャート
【図7】ノイズ量LUT13の生成手順を説明するフローチャート
【図8】平均量子化誤差量算出時に使用する画像を示す図
【図9】入力階調データと平均量子化誤差の関係を示す図
【図10】特定の入力階調において出力画像に発生する規則的パターンを示す図
【図11】本発明の第二の実施例である画像処理装置のブロック図
【図12】閾値設定手順を説明するフローチャート
【図13】ノイズ量LUT13の一例を示す図
【図14】閾値平均値LUT21の一例を示す図
【図15】本発明の第三の実施例である画像処理装置のブロック図
【図16】ノイズ量LUT13の一例を示す図
【図17】第三の実施例におけるノイズマトリックスメモリを示す図
【図18】ノイズマトリックスの生成手順を説明するフローチャート
【図19】第四の実施例におけるノイズマトリックスメモリを示す図
【図20】実施形態の画像処理装置として機能し得るコンピュータのブロック図
Claims (5)
- 複数の色成分プレーンを有するカラー画像データを量子化する画像処理装置であって、
2つの異なるノイズ制御情報が同数ずつ一様に分散した疑似周期的な2次元配列であるノイズマトリックスを記憶するノイズマトリックス記憶手段と、
画素位置を用いて前記ノイズマトリックスを参照することにより注目画素に対応するノイズ制御情報を求め、該ノイズ制御情報に基づき、入力画素値に対応する量子化閾値に対してノイズ振幅量を加算および減算することにより求められる2つの異なる量子化閾値のいずれかを設定する閾値設定手段と、
前記注目画素の周辺画素から該注目画素に対して拡散された量子化誤差の累積値を、前記注目画素の画素値に加算する加算手段と、
前記閾値設定手段により設定された量子化閾値を用いて、前記加算手段から出力された画素値を量子化する量子化手段と、
前記量子化手段による注目画素の量子化誤差を前記注目画素近傍の画素に拡散する誤差拡散手段とを有し、
前記ノイズマトリクス記憶手段は、前記複数の色成分プレーンのそれぞれに対応させてノイズマトリックスを記憶し、
出力画像におけるドットを重なりにくくすべき、前記複数の色成分プレーンにおける第1色成分プレーンと第2色成分プレーンにおけるノイズマトリクスは、ノイズ制御情報が反転していることを特徴とする画像処理装置。 - 複数の色成分プレーンを有するカラー画像データを量子化する画像処理装置であって、
2つの異なるノイズ制御情報が同数ずつ一様に分散した疑似周期的な2次元配列であるノイズマトリックスを記憶するノイズマトリックス記憶手段と、
画素位置を用いて前記ノイズマトリックスを参照することにより注目画素に対応するノイズ制御情報を求め、該ノイズ制御情報に基づき、入力画素値に対応する量子化閾値に対してノイズ振幅量を加算および減算することにより求められる2つの異なる量子化閾値のいずれかを設定する閾値設定手段と、
前記注目画素の周辺画素から該注目画素に対して拡散された量子化誤差の累積値を、前記注目画素の画素値に加算する加算手段と、
前記閾値設定手段により設定された量子化閾値を用いて、前記加算手段から出力された画素値を量子化する量子化手段と、
前記量子化手段による注目画素の量子化誤差を前記注目画素近傍の画素に拡散する誤差拡散手段とを有し、
前記閾値設定手段は、出力画像におけるドットを重なりにくくすべき前記複数の色成分プレーンにおける第1色成分プレーンと第2色成分プレーンに対して、異なる量子化閾値を設定することを特徴とする画像処理装置。 - 前記閾値設定手段は、入力画素値と該入力画素値に対応する量子化閾値に対してノイズ振幅量を加算および減算することにより求められる前記2つの異なる量子化閾値との対応関係を記憶するノイズ量テーブルを使用することを特徴とする請求項1又は2記載の画像処理装置。
- 請求項1乃至3のいずれか一項に記載の画像処理装置の各手段としてコンピュータを機能させるためのプログラム。
- 2つの異なるノイズ制御情報が同数ずつ一様に分散した疑似周期的な2次元配列であるノイズマトリックスを記憶するノイズマトリックス記憶手段を有する画像処理装置により、複数の色成分プレーンを有するカラー画像データを量子化する画像処理方法であって、
画素位置を用いて前記ノイズマトリックスを参照することにより注目画素に対応するノイズ制御情報を求め、該ノイズ制御情報に基づき、入力画素値に対応する量子化閾値に対してノイズ振幅量を加算および減算することにより求められる2つの異なる量子化閾値のいずれかを設定する閾値設定工程と、
前記注目画素の周辺画素から該注目画素に対して拡散された量子化誤差の累積値を、前記注目画素の画素値に加算する加算工程と、
前記閾値設定工程により設定された量子化閾値を用いて、前記加算工程の出力である画素値を量子化する量子化工程と、
前記量子化工程による注目画素の量子化誤差を前記注目画素近傍の画素に拡散する誤差拡散工程とを有し、
前記ノイズマトリクス記憶手段は、前記複数の色成分プレーンのそれぞれに対応させてノイズマトリックスを記憶し、
出力画像におけるドットを重なりにくくすべき、前記複数の色成分プレーンにおける第1色成分プレーンと第2色成分プレーンにおけるノイズマトリクスは、ノイズ制御情報が反転していることを特徴とする画像処理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001191846A JP4587153B2 (ja) | 2001-06-25 | 2001-06-25 | 画像処理装置及び方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001191846A JP4587153B2 (ja) | 2001-06-25 | 2001-06-25 | 画像処理装置及び方法 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2003008893A JP2003008893A (ja) | 2003-01-10 |
JP2003008893A5 JP2003008893A5 (ja) | 2008-08-07 |
JP4587153B2 true JP4587153B2 (ja) | 2010-11-24 |
Family
ID=19030397
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001191846A Expired - Fee Related JP4587153B2 (ja) | 2001-06-25 | 2001-06-25 | 画像処理装置及び方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4587153B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4522812B2 (ja) * | 2004-10-07 | 2010-08-11 | 株式会社リコー | 画像処理装置、画像処理方法、その方法をコンピュータに実行させるプログラム、およびコンピュータ読み取り可能な記録媒体 |
US7760400B2 (en) | 2004-10-07 | 2010-07-20 | Ricoh Company, Limited | Creating multiple threshold matrices to be used in error diffused multilevel halftoning |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08307680A (ja) * | 1995-05-12 | 1996-11-22 | Seiko Epson Corp | 画像処理装置 |
JP2001069349A (ja) * | 1999-08-27 | 2001-03-16 | Ricoh Co Ltd | 画像処理方法、画像処理装置および記録媒体 |
JP2001148783A (ja) * | 1999-11-19 | 2001-05-29 | Sharp Corp | 画像処理装置 |
-
2001
- 2001-06-25 JP JP2001191846A patent/JP4587153B2/ja not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08307680A (ja) * | 1995-05-12 | 1996-11-22 | Seiko Epson Corp | 画像処理装置 |
JP2001069349A (ja) * | 1999-08-27 | 2001-03-16 | Ricoh Co Ltd | 画像処理方法、画像処理装置および記録媒体 |
JP2001148783A (ja) * | 1999-11-19 | 2001-05-29 | Sharp Corp | 画像処理装置 |
Also Published As
Publication number | Publication date |
---|---|
JP2003008893A (ja) | 2003-01-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4634292B2 (ja) | 画像処理装置、画像処理方法、その方法をコンピュータに実行させるプログラム | |
US5729663A (en) | Method and apparatus for gray screening | |
JP2003046777A (ja) | マスク作成方法、画像処理装置、ソフトウェアプログラム、並びにマスクデータ | |
JP2003179755A (ja) | 画像処理システム | |
JPH05308515A (ja) | 画像中のピクセル値を量子化する方法 | |
JP4236804B2 (ja) | 画像処理方法、その装置及び記憶媒体 | |
JPH11164146A (ja) | 画像データ処理システム及び画像データ処理方法 | |
JPH1084478A (ja) | 入力画像変換方法及び画素値量子化方法 | |
JPH1070659A (ja) | 誤差拡散方法及びシステム | |
KR102307264B1 (ko) | 화상 처리 장치, 화상 처리 방법 및 저장 매체 | |
JP2004042325A (ja) | プリンタ及びその画像処理装置 | |
JP4587153B2 (ja) | 画像処理装置及び方法 | |
JPH10229496A (ja) | 多グレーレベルのハーフトーン画像にグレーレベルを追加する方法及び装置 | |
JP2003069819A (ja) | 画像処理装置及び画像処理方法 | |
JPH0863596A (ja) | 誤差拡散方法、誤差拡散システム及び誤差値発生方法 | |
JP2000022951A (ja) | 画像処理方法及び装置 | |
JPH0998290A (ja) | 画像記録装置及び画像記録方法 | |
JP5312158B2 (ja) | 画像処理装置及び画像処理方法 | |
JP2004048194A (ja) | 画像処理装置及び方法 | |
JP2007129441A (ja) | 閾値マトリクス作成法および画像処理方法 | |
JPH11252364A (ja) | 画像処理方法および画像処理装置 | |
JP2000270210A (ja) | 画像処理装置 | |
JP4412213B2 (ja) | 画像処理装置、画像処理方法およびプログラム | |
JP3737471B2 (ja) | 画像処理方法および画像処理システム | |
JP4834582B2 (ja) | 画像処理装置およびその方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080625 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080625 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20091029 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20091116 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100115 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20100319 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100618 |
|
A911 | Transfer of reconsideration by examiner before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20100702 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20100830 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100906 Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100831 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130917 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130917 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130917 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130917 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |