JP4035284B2 - 画像処理装置及び画像処理方法 - Google Patents
画像処理装置及び画像処理方法 Download PDFInfo
- Publication number
- JP4035284B2 JP4035284B2 JP2000309828A JP2000309828A JP4035284B2 JP 4035284 B2 JP4035284 B2 JP 4035284B2 JP 2000309828 A JP2000309828 A JP 2000309828A JP 2000309828 A JP2000309828 A JP 2000309828A JP 4035284 B2 JP4035284 B2 JP 4035284B2
- Authority
- JP
- Japan
- Prior art keywords
- image
- gradation
- value
- error diffusion
- input
- 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)
Description
【発明の属する技術分野】
本発明は、多階調の入力画像を、入力画像の階調数より少ない階調数を有する画像に変換する画像処理装置及び画像処理方法に関するものである。
【0002】
【従来の技術】
従来、多値画像データを2値(或いは2値以上で入力画像の階調数より少ない階調数を有する)画像に変換する手段として、R.Floydらによる誤差拡散法("An adaptive algorithm for spatial gray scale", SID International Symposium Digest of Technical Paperes,vol4.3,1975,pp.36-37)がある。この誤差拡散法は、ある画素で生じた2値化誤差を以降の複数画素へ拡散することにより擬似的に階調表現を行うものである。一般的な誤差拡散法では、2値化誤差を拡散する際の重み付け(拡散係数)を入力データの値に関わらず固定としていた。
【0003】
しかし、拡散係数を固定とする誤差拡散法では、ハイライト部及びシャドー部においてドットが均一に分散されず、鎖状に連なって発生するなどの問題点がある。このため、特開平10−312458号には、入力階調に応じて異なる拡散係数を用いる誤差拡散法が開示されている。
【0004】
この方法では、ハイライト部及びシャドー部における第1の拡散係数と、中間階調における第2の拡散係数とを定義し、ハイライト部から中間階調、及び中間階調からシャドー部への領域には、これら2つの拡散係数を線形補間したものを用いている。
【0005】
【発明が解決しようとする課題】
しかしながら、上記従来例による方法では、ハイライト部及びシャドー部と、中間階調領域に用いる拡散係数は定義されているが、これ以外の入力階調領域においては、2つの拡散係数を線形補間した拡散係数を用いており、全ての階調において最適な拡散係数が定義されていない。また既に拡散係数が定義されている階調においても、定義された拡散係数が最適である根拠はない。更に画像の解像度などの諸条件により、最適な拡散係数が異なるという問題点がある。
【0006】
本発明は、上述の課題を解決するためになされたもので、多階調の入力画像を入力画像の階調数より少ない階調数を有する画像に変換する処理に際し、全階調に対して良好な処理結果を得られる画像処理装置及び画像処理方法を提供することを目的とする。
【0007】
【課題を解決するための手段】
上記目的を達成するために、本発明は、入力階調毎に、誤差拡散処理で用いる誤差拡散係数を決定する画像処理装置であって、
前記入力階調毎に、複数の候補誤差拡散係数を生成する生成手段と、
前記入力階調毎に、前記生成手段により生成された複数の候補誤差拡散係数を用いて入力画像に対して誤差拡散処理を施して多値画像データを生成し、該多値画像データに基づき2値画像を生成する2値画像生成手段と、
前記入力階調毎に、前記2値画像生成手段により生成された、前記複数の候補誤差拡散係数毎の2値画像の画質を評価する評価手段と、
前記入力階調毎に、前記評価手段による評価結果に基づいて、前記複数の候補誤差拡散係数の中から1の候補誤差拡散係数を決定する決定手段とを有し、
前記評価手段は、前記2値画像をドットの重なりによる濃度変化に基づき多値画像に変換し、該多値画像を評価することにより前記2値画像の画質を評価し、
前記決定手段は、注目階調の前記評価結果と、該注目階調の近隣階調の前記評価結果とに基づいて、該注目階調の候補誤差拡散係数を決定することを特徴とする。
【0008】
また上記目的を達成するために、本発明は、入力階調毎に、誤差拡散処理で用いる誤差拡散係数を決定する画像処理方法であって、
前記入力階調毎に、複数の候補誤差拡散係数を生成する生成工程と、
前記入力階調毎に、前記生成工程により生成された複数の候補誤差拡散係数を用いて入力画像に対して誤差拡散処理を施して多値画像データを生成し、該多値画像データに基づき2値画像を生成する2値画像生成工程と、
前記入力階調毎に、前記2値画像生成工程により生成された、前記複数の候補誤差拡散係数毎の2値画像の画質を評価する評価工程と、
前記入力階調毎に、前記評価工程による評価結果に基づいて、前記複数の候補誤差拡散係数の中から1の候補誤差拡散係数を決定する決定工程とを有し、
前記評価工程は、前記2値画像をドットの重なりによる濃度変化に基づき多値画像に変換し、該多値画像を評価することにより前記2値画像の画質を評価し、
前記決定工程は、注目階調の前記評価結果と、該注目階調の近隣階調の前記評価結果とに基づいて、該注目階調の候補誤差拡散係数を決定することを特徴とする。
【0009】
【発明の実施の形態】
以下、図面を参照しながら本発明に係る実施の形態を詳細に説明する。
【0010】
[第1の実施形態]
図1は、第1の実施形態による画像処理装置の構成を示すブロック図である。同図において、101は画像生成ユニットであり、例えば画像を光学的に読み取り、多値画像データを出力する。102は画像メモリであり、画像生成ユニット101により生成された画像データを格納する。103は画像2値化ユニットであり、後述する方法により画像メモリ102に格納されている多値画像データの2値化を行う。104は拡散係数テーブルであり、画像2値化ユニット103において画素を2値化し誤差配分処理を行う際に用いる、階調データ毎の重み付け(拡散係数)が格納されたテーブルである。105は候補拡散係数生成ユニットであり、拡散係数テーブル104に格納する係数の候補として検討する拡散係数を順次生成する。
【0011】
106は2値画像メモリであり、画像2値化ユニット103により2値化された2値画像データが格納される。107は画像評価値演算ユニットであり、2値画像の評価値を求める。画像評価値演算ユニット107において求めた2値画像評価値データは108の画像評価値メモリに格納される。109は拡散係数選択ユニットであり、画像評価値メモリ108に格納された2値画像評価値データに基づき候補拡散係数の中から一つの拡散係数を選択する。そして、拡散係数選択ユニット109において選択された拡散係数が最終的に拡散係数テーブル104に格納される。
【0012】
図2は、第1の実施形態による誤差拡散係数テーブル104の一例を示す図である。図示するように、横一列の各ます目の値が注目画素の2値化誤差を周辺画素に分配する際の拡散係数であり、“0”から“1”の範囲内の実数が格納される。ここで、欄外左の数字は入力画素値を表し、欄上の文字は2値化誤差を分配する画素の注目画素に対する位置を表している。
【0013】
図3は、図1に示す画像2値化ユニット103の詳細な構成を示すブロック図である。同図において、301はデータ入力端子であり、各画素値が“0”から“255”の範囲内の8ビットの入力画像を読み込む。302は入力バッファであり、入力画像の一ライン分の各画素値を記憶する。303は入力補正ユニットであり、入力画像の1画素に処理済みの画素からの累積誤差を加算する。304は2値化ユニットであり、入力補正ユニット303において補正された入力画像の画素値を所定の閾値に基づき2値化する。305は出力バッファであり、2値化ユニット304において2値化されたデータを一ライン分記憶する。306は差分演算ユニットであり、注目画素に対する2値化誤差を求める。307は誤差配分ユニットであり、差分演算ユニット306で求めた2値化誤差を周辺画素に拡散する処理を行う。308は誤差バッファであり、注目画素の周辺画素に拡散した誤差を記憶するメモリである。309は出力レベル0又は255の2値信号の出力端子である。
【0014】
尚、上述の入力画像とは、各画素値が8ビットで“0”から“255”の範囲内の値をもつ多値画像データを指す。また、図示されない方法により入力画像の横サイズ(画素数)W、縦サイズHが指定されているものとする。
【0015】
図4は、第1の実施形態による入力バッファ302の構成を示す図である。各ます目内の値が入力画像の画素値であり、“0”から“255”の何れかの整数値が記憶される。
【0016】
図5は、第1の実施形態による出力バッファ305の構成を示す図である。各ます目内の値が出力されるデータであり、“0”か“255”のどちらかの値が記憶される。
【0017】
図6は、第1の実施形態による誤差バッファ308の構成を示す図である。各ます目内の値が2値化処理済みの画素からの累積誤差であり、“−255”から“255”の範囲の実数が記憶される。また、誤差バッファ308には、ライン端の処理に対応するために入力画像の横サイズWよりも2画素分余裕をもたせている。
【0018】
以上の構成からなる画像処理装置において、多値の入力画像を2値画像に変換する処理について説明する。
【0019】
図7は、第1の実施形態による入力多値画像を2値画像に変換する手順を示すフローチャートである。尚、このフローチャートでは、副走査方向のライン番号をy、主走査方向のドット番号をxとし、2値化の処理は画像左上端から右下端へ順に行うものとする。
【0020】
まず、ライン番号yを“1”に初期化し、図6に示した誤差バッファ308を“0”に初期化する(ステップS701)。つまり、この誤差バッファ308のE(1)からE(W+2)とEtempの値をそれぞれ“0”に設定する。
【0021】
次に、yライン目の画素値データを入力バッファ22に読み込む(ステップS702)。即ち、yライン目のxドット目の入力データをI(x)に代入する作業をx=1からx=Wについて行う。
【0022】
このようにして一ライン分の入力データを読み込んだ後、画素位置xを初期値“1”に設定し(ステップS703)、x番目の入力データI(x)に詳細は後述する処理済み画素からの拡散誤差E(x+1)を加え、補正データI'(x)とする(ステップS704)。そして、この補正データI'(x)を閾値127と比較し(ステップS705)、I'(x)が閾値127よりも大きければ、“255”を結果値P(x)に代入し(ステップS706)、大きくなければP(x)を“0”とする(ステップS707)。そして、注目画素の補正データI'(x)と求めた結果値P(x)との差を、2値化誤差Errとして求める(ステップS708)。
【0023】
次に、この2値化誤差Errを周辺画素に分配する処理を行う。このとき、配分の重み付け(拡散係数)は入力データI(x)によって異なる。まず、入力データI(x)の値に対応する拡散係数を拡散係数テーブル104より読み込み(ステップS709)、その重み付けに従って2値化誤差Errを周辺画素に分配する処理を行う。本実施形態では、図2に示した拡散係数テーブル104より読み込んだ拡散係数K1、K2、K3、K4を、図8に示すように注目画素周辺の未処理画素に2値化誤差Errを分配する。ここで、分配する2値化誤差Errは、誤差バッファ308に次のように格納される(ステップS710)。
【0024】
E(x+2)=E(x+2)+K1・Err
E(x)=E(x)+K2・Err
E(x+1)=Etemp+K3・Err
Etemp=K4・Err
次に、注目画素位置xがラインの端まで到達しているかを判断し(ステップS711)、到達していなければ注目画素を主走査方向に1つ移動し(ステップS712)、ステップS704からステップS711の処理を繰り返す。そして、端まで処理が終了した時点で、一ライン分の結果値P(1)からP(W)を出力し、Etempを“0”にリセットする(ステップS713)。その後、ライン番号yが最大値Hに到達したかを判断する(ステップS714)。yがHより小さければ、ライン番号yをインクリメントし(ステップS415)、ステップS702からステップS714の処理まで繰り返す。その後、yがHに到達していれば、本処理を終了する。
【0025】
尚、本実施形態では、一ラインを処理する方向は固定としているが、ライン毎に左右交互或いは予め定められた順序で方向を切り替えてもよい。例えば、右端から左方向に2値化処理を行う場合は、2値化の誤差を図9に示すように、図8に示す拡散係数の位置を左右逆にした位置に分配する。
【0026】
次に、本実施形態による拡散係数テーブル104を作成する方法について説明する。
【0027】
図10は、候補拡散係数生成ユニット105により生成される全候補拡散係数を示す図である。ここで、記号「*」は注目画素を表す。各階調データ値毎に、全候補拡散係数の中から一つの係数が選ばれ、上述の拡散係数テーブル104に格納される。
【0028】
図11は、第1の実施形態による拡散係数の設定処理を示すフローチャートである。まず、階調データ値gの初期値を“1”に設定し(ステップS1101)、その後全画素の値がgである縦2048画素、横512画素の入力画像を生成する(ステップS1102)。
【0029】
次に、図10に示した全侯補拡散係数について順次以下の処理を行う。まず、侯補拡散係数を設定し(ステップS1103)、拡散係数テーブル104のgに対応する位置に格納する。そして、生成した入力画像を上述の方法により2値化し、この2値画像から図12に示すように下中央部分の縦横256画素分を切り取る(ステップS1104)。
【0030】
次に、上述のように作成した縦横256画素の2値画像の画質評価値を詳細は後述する方法によって計算し(ステップS1105)、画像評価値メモリ108に格納する。その後、候補拡散係数の全てについて評価値演算を終了したか否かを確認し(ステップS1106)、終了していなければステップS1103からステップS1106の処理を繰り返す。
【0031】
また、全候補拡散係数についての評価値演算が終了していれば、階調データ値gをインクリメントし(ステップS1107)、gの値と“255”を比較する(ステップS1108)。ここで、gの値が“255”より小さければステップS1102からステップS1108の処理を繰り返すが、gの値が“255”に達していれば、画像評価値メモリ108に格納された評価値に基づき階調データ値g毎に全侯補拡散係数の中から詳細は後述の方法により一つの拡散係数を選択し、拡散係数テーブル104に格納し(ステップS1109)、上述の拡散係数テーブル作成過程を終了する。
【0032】
尚、上述の処理では、階調データ値gが“0”と“255”の場合の拡散係数は作成していないが、階調データ値gが“0”の場合はg=1における拡散係数を、同様にgの値が“255”の場合はg=254における拡散係数を拡散係数テーブル104に格納する。
【0033】
次に、上述の画像評価値演算ユニット107における評価値演算方法について説明する。
【0034】
図13は、第1の実施形態による2値画像の評価値演算処理を示すフローチャートである。まず、図11に示すステップS1104において、階調データ値g毎に設定した候補拡散係数を用いて作成された2値画像を読み込む(ステップS1301)。その後、実際のプリンタにおけるインクの重なりを考慮するため、読み込んだ2値画像を詳細は後述する方法により多値画像に変換する(ステップS1302)。
【0035】
その後、その多値画像の2次元フーリエ変換を行い、2次元パワースペクトルPW(i,j)を求める(ステップS1303)。ここで、i,jは“−128”〜“128”の範囲の値であり、2次元パワースペクトル上の位置を表す。図14に、2次元パワースペクトルの一例を示す。
【0036】
次に、上述のようにして求めた2値画像の2次元パワースペクトルを1次元化する(ステップS1304)。この処理は、図15に示すように、2次元パワースペクトルPW(i,j)を同心円状の輪帯で区切り、周波数帯域f毎のパワースペクトルの平均値を求める処理である。即ち、次式により求められる。
【0037】
【数1】
【0038】
ここで、INTは小数点以下の切り上げ処理を表す。また、周波数fは“0”〜“181”までの整数、N(f)はf=INT(√(i2+j2))を満たす画素位置(i,j)の数である。
【0039】
図16は、横軸に周波数fを、縦軸に各輪帯内のパワースペクトル平均値RAPS(f)をとったグラフの一例である。
【0040】
次に、上述の処理により一次元化したパワースペクトルRAPS(f)に対して、視覚特性フィルタ(VTF)処理を行う(ステップS1305)。本実施形態で用いる視覚特性フィルタは、次の式で表される。
【0041】
【数2】
【0042】
ここで、f'は空間周波数であり、視野角1度あたりの周期(cycles/degree)として与えられている。観察距離を300mmとし、2値画像の解像度を1200dpiに設定した場合、f'を上述のfに変換すると、上式は次のようになる。
【0043】
【数3】
【0044】
図17は、視覚特性フィルタの一例を示す図であり、fを横軸、VTF(f)を縦軸にとったグラフである。
【0045】
次に、上述の処理により求めた視覚特性フィルタVTF(f)を用いて、RAPS(f)に視覚特性フィルタ処理を行い、Filtered_RAPS(f)を求める。即ち、“0”〜“181”までの周波数fの値について次の演算を行う。
【0046】
Filtered_RAPS(f)=VTF2(f)×RAPS(f) 0≦f≦181
こうして視覚特性フィルタ処理を行った1次元パワースペクトルFiletered_RAPS(f)の総和を求め(直流成分は除く)、画像評価値とする(ステップS305)。即ち、次式で表される値を求め、画像評価値演算処理を終了する。
【0047】
【数4】
【0048】
次に、2値画像の、ドットの重なりを考慮した多値画像への変換処理について説明する。
【0049】
図18は、紙面上に形成されたドットが隣接するドットの領域にはみだす様子を例示したものである。図19は、第1の実施形態による2値画像を多値化する処理を示すフローチャートである。
【0050】
まず、全ての画素位置x,yについて、上述した隣接するドットへのはみだしによる濃度修正値F(x,y)を“0”に初期化する(ステップS1901)。次に、入力2値画像の副走査方向のライン番号yを“1”に初期化し(ステップS1902)、入力2値画像の主走査方向のドット番号xを“1”に初期化する(ステップS1903)。そして、入力2値画像の位置(x,y)における画素値P(x,y)を読み込み、以下の式により、F(x+i,y+j)の値を更新する(ステップS1904)。
【0051】
【数5】
【0052】
ここで、Cijは、注目するドットがはみ出した部分における隣接ドット領域の面積に占める割合である。また、D1は紙の白を基準としたドットの濃度であり、D2はドットを2回重ねた際の濃度とする。図20に、Cijの一例を示す。
【0053】
その後、ドット番号xをインクリメントし(ステップS1905)、xと入力2値画像の横サイズWとを比較する(ステップS1906)。ここで、xがWを超えていなければ、ステップS1904からステップS1906の濃度修正値の更新処理を繰り返す。また、xがWより大きければ、次のラインを処理するためにyをインクリメントし(ステップS1907)、yと入力2値画像の縦サイズHとを比較する。ここで、yがHに達していなければ、ステップS1903からステップS1908を繰り返す。また、yがHより大きければ、全ての入力2値画像の画素値P(x,y)に濃度修正値F(x,y)を加算し(ステップS1909)、2値画像を多値画像に変換する処理を終了する。
【0054】
次に、拡散係数選択ユニット109における拡散係数の選択方法について説明する。
【0055】
図21は、第1の実施形態による拡散係数の選択処理を示すフローチャートである。まず、階調データ値gを“1”に初期化する(ステップS2101)。次に、画像評価値メモリ108に格納された全候補拡散係数についての2値画像評価値を読み込み、同評価値が最小となる候補拡散係数を拡散係数テーブル104のg番目に格納する(ステップS2102)。そして、gの値をインクリメントし(ステップS2103)、gの値と“255”とを比較する(ステップS2104)。ここで、gの値が“255”よりも小さければステップS2102からステップS2104の処理を繰り返す。また、gの値が“255”に達すると、本処理を終了する。
【0056】
第1の実施形態によれば、画像評価関数を用いて入力階調毎に拡散係数を選ぶことにより、各階調に適した2値化処理を行うことが可能となる。
【0057】
[第2の実施形態]
前述した第1の実施形態では、拡散係数選択ユニット109において各階調毎の拡散係数を決定する際に、該当する一階調の評価値データのみを参照しているが、第2の実施形態では複数の階調における評価値データを参照する。
【0058】
図22は、第2の実施形態による拡散係数の選択処理を示すフローチャートである。まず、評価範囲を示す値INTVLを設定する(ステップS2201)。尚、ここでは、INTVLの値を“4”とする。次に、階調データ値gを“1”に初期化し(ステップS2202)、画像評価値メモリ108に格納された2値画像評価値を読み込み、候補拡散係数毎に階調g−INTVLからg+INTVLにおける2値画像評価値の和Sを求める(ステップS2203)。このとき、gがINTVLよりも小さい場合は、階調“1”からg+INTVLまでの評価値の和をSとする。またgが“255”−INTVLよりも小さい場合は、階調g−INTVLから“254”までの評価値の和をSとする。即ち、各候補係数について、以下のように求める。
【0059】
【数6】
【0060】
その後、評価値の和Sが最小となる候補拡散係数を求めて、拡散係数テーブル104のg番目に格納する(ステップS2204)。そして、gの値をインクリメントし(ステップS2205)、gの値と“255”を比較する(ステップS2206)。ここで、gの値が“255”よりも小さければステップS2203からステップS2206の処理を繰り返す。また、gの値が“255”に達すると、本処理を終了する。
【0061】
第2の実施形態によれば、一階調だけでなく近隣の階調における2値化画像の評価値も考慮することにより、選ばれる係数が1階調毎に大きく変化することがなくなる。このため、階調変化が滑らかな画像の2値化が可能となる。
【0062】
[第3の実施形態]
前述した第1の実施形態では、画像評価値演算ユニット107における画像評価値演算処理の際、ドットのはみ出しによる濃度変化を加味するために入力2値画像を同サイズの多値画像に変換したが、第3の実施形態では画像の1ドットを複数の画素で近似した多値画像に変換する。
【0063】
図23は、真円の一ドットを複数の画素を用いて近似した例である。隣接するドット間の距離をドットの直径より小さくすることにより、出力ドットのはみ出しや複数のドットの重なりを表す。
【0064】
図24は、第3の実施形態による入力2値画像から多値画像への変換を示す図である。図24に示す(a)は入力2値画像であり、同(b)は変換された多値画像である。また、D1はドットを一回打った際の紙面を基準とした濃度、D2は複数のドットが重なった際の濃度に対応する値である。
【0065】
このようにして入力2値画像から変換された多値画像に対し、前述した図13に示すステップS1303からステップS1306の処理を行い、画像評価値を求める。
【0066】
第3の実施形態によれば、複数の画素を用いて出力1ドットを表現するため、よりプリンタ出力画像に近い画像データの評価を行うことが可能となる。
【0067】
[第4の実施形態]
前述した第1乃至第3の実施形態では、図13に示す2値画像の評価値を求める処理において、実際のプリンタにおけるインクの重なりやドットのはみだしによる濃度変化を考慮するために2値画像を多値画像に変換しているが、2値画像のまま評価値を求めることも可能である。
【0068】
図25は、第4の実施形態による2値画像の評価値演算処理を示すフローチャートである。まず、図25に示すように、階調データ値g毎に設定した候補拡散係数を用いて作成された2値画像を読み込む(ステップS2501)。その後、その2値画像の2次元フーリエ変換を行い、2次元パワースペクトルPW(i,j)を求める(ステップS2502)。これ以降の処理は、図13に示したステップS1304〜S1306と同様であり、その説明は省略する。
【0069】
第4の実施形態によれば、プリンタの特徴を考慮しなくても良い場合、高速に2値画像の評価を行うことが可能となる。
【0070】
[第5の実施形態]
前述した実施形態では、画像2値化ユニット103において入力画像の2値化処理を行う際、誤差バッファ308の初期値を“0”としたが、第5の実施形態では乱数を初期値とする。
【0071】
図26は、第5の実施形態による入力画像の2値化処理を示すフローチャートである。まず、誤差バッファ308のEtempとE(1)からE(W+2)の初期値を“−64”〜“64”の範囲内の乱数(整数)に設定する(ステップS2601)。これ以降のステップS2602からステップS2612の処理は、図7に示したステップS702からステップS712の処理と同様であり、その説明を省略する。
【0072】
次に、一ライン分のデータの2値化処理が終了した後、“−64”〜“64”の何れかの整数をランダムに選択し、Etempに代入する(ステップS2613)。続くステップS2614、S2615は、図7に示したステップS714、S715と同様であり、ライン番号yが入力画像の縦サイズHに達した時点で2値化処理を終了する。
【0073】
第5の実施形態によれば、誤差バッファの初期値を“0”とした場合に生じるドットが横一列に規則的に並ぶ現象を緩和することが可能となる。
【0074】
[第6の実施形態]
前述した各実施形態では、拡散係数テーブル104に格納する、階調データ値gが“0”(g=0)の場合の拡散係数を、gが“1”(g=1)の場合の拡散係数と同じとしたが、この第6の実施形態ではg=0の場合は2値化誤差を拡散しないものとする。また、階調データ値g=255の場合も、2値化誤差を拡散しないものとする。図27は、第6の実施形態による拡散係数テーブルの一例を示す図である。
【0075】
第6の実施形態によれば、入力画像が白や黒の領域(入力階調が0か255の領域)によって区切られた多値画像であっても、2値化処理済みの部分の誤差が白黒の区切りを超えて影響を及ぼすことがなく、より鮮鋭な2値化が可能となる。
【0076】
尚、本発明は、前述した複数の実施形態における各処理を組み合わせて処理を行うことも可能である。
【0077】
また、本発明は複数の機器(例えば、ホストコンピュータ,インタフェイス機器,リーダ,プリンタなど)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、複写機,ファクシミリ装置など)に適用してもよい。
【0078】
更に、本発明の目的は前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(CPU若しくはMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。
【0079】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0080】
プログラムコードを供給するための記憶媒体としては、例えばフロッピーディスク,ハードディスク,光ディスク,光磁気ディスク,CD−ROM,CD−R,磁気テープ,不揮発性のメモリカード,ROMなどを用いることができる。
【0081】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)などが実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0082】
更に、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0083】
【発明の効果】
以上説明したように、本発明によれば、多階調の入力画像を入力画像の階調数より少ない階調数を有する画像に変換する処理に際し、入力階調毎に最適なパラメータを用いることにより、全階調に対して良好な処理結果を得ることが可能となる。
【図面の簡単な説明】
【図1】第1の実施形態による画像処理装置の構成を示すブロック図である。
【図2】第1の実施形態による誤差拡散係数テーブル104の一例を示す図である。
【図3】画像2値化ユニット103の詳細な構成を示すブロック図である。
【図4】第1の実施形態による入力バッファ302の構成を示す図である。
【図5】第1の実施形態による出力バッファ305の構成を示す図である。
【図6】第1の実施形態による誤差バッファ308の構成を示す図である。
【図7】第1の実施形態による入力多値画像を2値画像に変換する手順を示すフローチャートである。
【図8】誤差拡散の様子を説明するための図である。
【図9】誤差拡散の処理方向を逆にした様子を説明するための図である。
【図10】候補拡散係数生成ユニット105により生成される全候補拡散係数を示す図である。
【図11】第1の実施形態による拡散係数の設定処理を示すフローチャートである。
【図12】2値画像評価の対象とする部分を示す図である。
【図13】第1の実施形態による2値画像の評価値演算処理を示すフローチャートである。
【図14】2次元パワースペクトルの一例を示す図である。
【図15】2次元パワースペクトルの一次元化を説明するための図である。
【図16】1次元パワースペクトルの一例を示す図である。
【図17】視覚特性フィルタの一例を示す図である。
【図18】紙面上におけるインクドットの重なり、はみ出しを示す図である。
【図19】第1の実施形態による2値画像を多値化する処理を示すフローチャートである。
【図20】ドットの隣接ドット領域における重なり面積率の一例を示す図である。
【図21】第1の実施形態による拡散係数の選択処理を示すフローチャートである。
【図22】第2の実施形態による拡散係数の選択処理を示すフローチャートである。
【図23】第3の実施形態による一ドットを複数の画素を用いて近似した例である。
【図24】第3の実施形態による入力2値画像から多値画像への変換を示す図である。
【図25】第4の実施形態による2値画像の評価値演算処理を示すフローチャートである。
【図26】第5の実施形態による入力画像の2値化処理を示すフローチャートである。
【図27】第6の実施形態による拡散係数テーブルの一例を示す図である。
【符号の説明】
101 画像生成ユニット
102 画像メモリ
103 画像2値化ユニット
104 拡散係数テーブル
105 候補拡散係数生成ユニット
106 2値画像メモリ
107 画像評価値演算ユニット
108 画像評価値メモリ
109 拡散係数選択ユニット
Claims (2)
- 入力階調毎に、誤差拡散処理で用いる誤差拡散係数を決定する画像処理装置であって、
前記入力階調毎に、複数の候補誤差拡散係数を生成する生成手段と、
前記入力階調毎に、前記生成手段により生成された複数の候補誤差拡散係数を用いて入力画像に対して誤差拡散処理を施して多値画像データを生成し、該多値画像データに基づき2値画像を生成する2値画像生成手段と、
前記入力階調毎に、前記2値画像生成手段により生成された、前記複数の候補誤差拡散係数毎の2値画像の画質を評価する評価手段と、
前記入力階調毎に、前記評価手段による評価結果に基づいて、前記複数の候補誤差拡散係数の中から1の候補誤差拡散係数を決定する決定手段とを有し、
前記評価手段は、前記2値画像をドットの重なりによる濃度変化に基づき多値画像に変換し、該多値画像を評価することにより前記2値画像の画質を評価し、
前記決定手段は、注目階調の前記評価結果と、該注目階調の近隣階調の前記評価結果とに基づいて、該注目階調の候補誤差拡散係数を決定することを特徴とする画像処理装置。 - 入力階調毎に、誤差拡散処理で用いる誤差拡散係数を決定する画像処理方法であって、
前記入力階調毎に、複数の候補誤差拡散係数を生成する生成工程と、
前記入力階調毎に、前記生成工程により生成された複数の候補誤差拡散係数を用いて入力画像に対して誤差拡散処理を施して多値画像データを生成し、該多値画像データに基づき2値画像を生成する2値画像生成工程と、
前記入力階調毎に、前記2値画像生成工程により生成された、前記複数の候補誤差拡散係数毎の2値画像の画質を評価する評価工程と、
前記入力階調毎に、前記評価工程による評価結果に基づいて、前記複数の候補誤差拡散係数の中から1の候補誤差拡散係数を決定する決定工程とを有し、
前記評価工程は、前記2値画像をドットの重なりによる濃度変化に基づき多値画像に変換し、該多値画像を評価することにより前記2値画像の画質を評価し、
前記決定工程は、注目階調の前記評価結果と、該注目階調の近隣階調の前記評価結果とに基づいて、該注目階調の候補誤差拡散係数を決定することを特徴とする画像処理方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000309828A JP4035284B2 (ja) | 2000-10-10 | 2000-10-10 | 画像処理装置及び画像処理方法 |
US09/953,953 US7081972B2 (en) | 2000-09-20 | 2001-09-18 | Image processing apparatus and image processing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000309828A JP4035284B2 (ja) | 2000-10-10 | 2000-10-10 | 画像処理装置及び画像処理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002118747A JP2002118747A (ja) | 2002-04-19 |
JP4035284B2 true JP4035284B2 (ja) | 2008-01-16 |
Family
ID=18789902
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000309828A Expired - Fee Related JP4035284B2 (ja) | 2000-09-20 | 2000-10-10 | 画像処理装置及び画像処理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4035284B2 (ja) |
-
2000
- 2000-10-10 JP JP2000309828A patent/JP4035284B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2002118747A (ja) | 2002-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3934442B2 (ja) | マスク作成方法、画像処理装置及びソフトウェアプログラム | |
JP3603906B2 (ja) | 画像信号2値化処理装置および方法 | |
EP0514478B1 (en) | Digital halftoning with correlated minimum visual modulation patterns | |
US7081972B2 (en) | Image processing apparatus and image processing method | |
JP4035284B2 (ja) | 画像処理装置及び画像処理方法 | |
US7545997B2 (en) | Simulated high resolution using binary sub-sampling | |
JP3722955B2 (ja) | 疑似中間調処理方法、装置および記録媒体 | |
JP3798150B2 (ja) | 画像処理方法及び画像処理装置 | |
JP3814921B2 (ja) | グレースケール画像のハーフトーニング方法、およびグレースケール画像のハーフトーニング手段を有する装置 | |
JP2007208639A (ja) | 画像処理方法、画像処理装置、画像記録装置、プログラムおよび記録媒体 | |
JP2003069819A (ja) | 画像処理装置及び画像処理方法 | |
JP3990860B2 (ja) | 画像処理装置及び画像処理方法 | |
JP2006121697A (ja) | ビットマスク生成システム | |
JP4629057B2 (ja) | 画像処理装置 | |
JP3287717B2 (ja) | 画像処理装置 | |
JP3399341B2 (ja) | 画像処理方法および画像処理装置 | |
JP3974271B2 (ja) | 画像処理方法及び画像処理装置 | |
JP2006303999A (ja) | 画像処理方法および画像処理装置、および画像処理システム | |
JP4587153B2 (ja) | 画像処理装置及び方法 | |
JP3679522B2 (ja) | 画像処理方法及びその装置 | |
JP3431779B2 (ja) | 閾値マトリックス誤差拡散法による2値化方法およびコンピュータシステム | |
JP4650945B2 (ja) | 画像処理方法、画像処理装置、画像記録装置、プログラムおよび記録媒体 | |
JP2900907B2 (ja) | 画像処理装置 | |
JP3740739B2 (ja) | ディザマトリックス作成方法 | |
JP3943747B2 (ja) | 画像処理装置および多値化処理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20041214 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7426 Effective date: 20041214 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20041214 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070319 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070413 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070612 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070713 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070907 |
|
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: 20071005 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20071029 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101102 Year of fee payment: 3 |
|
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: 20101102 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111102 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121102 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131102 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |