JP4838769B2 - 画像処理装置および画像処理方法、並びに、インクジェット記録装置 - Google Patents

画像処理装置および画像処理方法、並びに、インクジェット記録装置 Download PDF

Info

Publication number
JP4838769B2
JP4838769B2 JP2007181441A JP2007181441A JP4838769B2 JP 4838769 B2 JP4838769 B2 JP 4838769B2 JP 2007181441 A JP2007181441 A JP 2007181441A JP 2007181441 A JP2007181441 A JP 2007181441A JP 4838769 B2 JP4838769 B2 JP 4838769B2
Authority
JP
Japan
Prior art keywords
data
pixel
gradation
quantized
mry
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
Application number
JP2007181441A
Other languages
English (en)
Other versions
JP2009020617A (ja
Inventor
智和 柳内
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2007181441A priority Critical patent/JP4838769B2/ja
Publication of JP2009020617A publication Critical patent/JP2009020617A/ja
Application granted granted Critical
Publication of JP4838769B2 publication Critical patent/JP4838769B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、カラー画像データに基づいて各色2階調の画像データを生成する画像処理技術に関するものである。
ワードプロセッサ、パーソナルコンピュータ、ファクシミリ等に於ける情報出力装置として、所望される文字や画像等の情報を用紙やフィルム等のシート状の記録媒体に記録を行う記録装置が用いられている。このような記録装置には様々な記録方式のものがあるが、記録媒体に記録剤を付着させることで記録媒体上にテキストや画像を形成する方式が広く実用化されている。このような方式の代表例として、インクジェット記録装置がある。
インクジェット記録装置では、記録速度の向上や高画質化等のために、同一色同一濃度のインクを吐出可能な複数のインク吐出口(ノズル)を集積配列したノズル群を有する記録ヘッドを用いる。さらに、画質を向上するために、同一色相で濃度の異なるインクを用いるものや、同一色かつ同一濃度のインクの1回あたりの吐出量を複数段階に制御可能としたノズル群が設けられる場合もある。このような画像形成装置においては、1画素が多値で表現される入力画像データをドットの記録信号に対応させた2値画像(入力階調数よりは少ない階調数を有する画像)に変換し記録を行う。
2値画像に変換する方法として、R.Floydらによる誤差拡散法(非特許文献1)がある。この誤差拡散法は、ある画素で生じた二値化誤差を以降の複数画素へ拡散することにより、擬似的に階調表現を行うものである。そのため、同一色相で濃度の異なるインク、あるいは、異なる色相のインクのドット配置を制御するために誤差拡散法を用いる画像処理技術が提案されている。例えば、特許文献1には複数種類のドットが重ならないようにドットを配置する手法が開示されている。
特開2004−336570号公報 R.Floyd他、"An adaptive algorithm for spatial gray scale", SID International Symposium Digest of Technical Papers, vol4.3, 1975, pp.36-37
しかしながら、上述の特許文献1による手法では、LUT(LookUp Table)を用いることにより複数のインクプレーンに関して互いの配置に制約を持ちながらそれぞれの擬似階調出力値が決定される。そのため、濃度の高いマゼンタドットは視認されやすくなるが、濃度の低いイエロードットは視認されにくくなる。上記処理結果として、ドット配置に制約を持ちながら打たれたマゼンタドットのみ視認されやすくなるため、粒状感が悪化してしまうことになる。
さらに、特許文献1による手法では、インクプレーンの数が増加した場合、処理が複雑化する。たとえば、4種類のインクプレーンを対象とする場合、4次元LUTが必要となる。近年のインクジェットプリンタではシアン(C)、マゼンタ(M)、イエロー(Y)の基本インクに、レッド(R)、グリーン(G)、ブルー(B)の特色インクが追加されることがある。そのため、特色インクを含めたドット配置制御を考えると、処理の複雑度の観点から特許文献1の手法は実用的でない。
本発明は上述の問題点に鑑みなされたものであり、処理の複雑度を低減しつつより高画質な画像形成を可能とする技術を提供することを目的とする。
上述の問題点の1つ以上を解決するために、本発明の画像処理装置は以下の構成を備える。すなわち、画像データを構成するn個(nは2以上の正整数)の色成分の各々に対応するn個のi階調(iは2以上の正整数)データからn個の2階調データを生成する画像処理装置であって、前記n個のi階調データの各画素の合計値により表現されるデータの各画素を誤差拡散処理によりn+1階調の量子化値に変換し、n個合計のn+1階調データに対応する第1の量子化データを生成する第1の量子化データ生成手段と、前記n個の色成分を、相対的に視認性の高いk個(k<nの正整数)の色が含まれる第1の色グループと相対的に視認性の低いn−k個の色が含まれる第2の色グループとに区分し、該第2の色グループに対応するn−k個のi階調データの各画素の合計値により表現されるデータの各画素と前記第1の量子化データの各画素との差分量により表現されるデータを誤差拡散処理によりk+1階調の量子化値に変換し、前記第1の色グループに対応するk個合計のk+1階調データに対応する第2の量子化データを生成する第2の量子化データ生成手段と、前記第1の量子化データの各画素と前記第2の量子化データの各画素との差分量により表現されるデータを前記第2の色グループに対応するn−k個合計に対応する第3の量子化データとして生成する第3の量子化データ生成手段と、前記kまたは前記n−kの少なくとも一方が1より大きい場合、前記第1の色グループまたは前記第2の色グループの少なくとも一方について、前記第1の量子化データ生成手段、前記第2の量子化データ生成手段および前記第3の量子化データ生成手段を再帰的に実行することにより前記n個の2階調データを生成するよう制御する制御手段と、を備える。
上述の問題点の1つ以上を解決するために、本発明の画像処理方法は以下の構成を備える。すなわち、画像データを構成するn個(nは2以上の正整数)の色成分の各々に対応するn個のi階調(iは2以上の正整数)データからn個の2階調データを生成する画像処理方法であって、前記n個のi階調データの各画素の合計値により表現されるデータの各画素を誤差拡散処理によりn+1階調の量子化値に変換し、n個合計のn+1階調データに対応する第1の量子化データを生成する第1の量子化データ生成工程と、前記n個の色成分を、相対的に視認性の高いk個(k<nの正整数)の色が含まれる第1の色グループと相対的に視認性の低いn−k個の色が含まれる第2の色グループとに区分し、該第2の色グループに対応するn−k個のi階調データの各画素の合計値により表現されるデータの各画素と前記第1の量子化データの各画素との差分量により表現されるデータを誤差拡散処理によりk+1階調の量子化値に変換し、前記第1の色グループに対応するk個合計のk+1階調データに対応する第2の量子化データを生成する第2の量子化データ生成工程と、前記第1の量子化データの各画素と前記第2の量子化データの各画素との差分量により表現されるデータを前記第2の色グループに対応するn−k個合計に対応する第3の量子化データとして生成する第3の量子化データ生成工程と、前記kまたは前記n−kの少なくとも一方が1より大きい場合、前記第1の色グループまたは前記第2の色グループの少なくとも一方について、前記第1の量子化データ生成工程、前記第2の量子化データ生成工程および前記第3の量子化データ生成工程を再帰的に実行することにより前記n個の2階調データを生成するよう制御する制御工程と、を備える。
本発明によれば、処理の複雑度を低減しつつより高画質な画像形成を可能とする技術を提供することができる。
以下に、図面を参照して、この発明の好適な実施の形態を詳しく説明する。なお、以下の実施の形態はあくまで例示であり、本発明の範囲を限定する趣旨のものではない。
(第1実施形態)
本発明に係る画像処理装置の第1実施形態として、画像形成システムを例に挙げて以下に説明する。
<システム構成>
図1は、第1実施形態による画像形成装置を含む画像形成システムの構成を示したブロック図である。1は画像処理装置を、2はプリンタを示す。なお、画像処理装置1は例えば一般的なパーソナルコンピュータ(PC)にインストールされたプリンタドライバによって実現され得る。その場合、以下に説明する画像処理装置1の各部は、PC内部のCPUがのプリンタドライバを構成するプログラムを実行することにより実現されることになる。なお、ここでは、画像処理装置1とプリンタ2と別体構成である例について説明するが、プリンタ内部に画像処理装置1に相当する画像処理部を含むような構成であってもよい。
画像処理装置1とプリンタ2とは、プリンタインタフェース又はネットワークインタフェースによって接続されている。画像処理装置1は、データ入力部101より印刷対象の画像データを入力し、画像バッファ102にその入力画像データを格納する。色分解処理部103は、入力されたカラー画像をプリンタ2が備えるインク色へ色分解する。この色分解処理に際しては、色分解用ルックアップテーブル(LUT)104が参照される。
ハーフトーン処理部105は、色分解処理部103によって得られた各色の多階調(3階調以上)の画像データを2値画像データに変換する。得られた各色の2値画像データはハーフトーン画像格納メモリ106に格納される。ハーフトーン画像格納メモリ106に格納された2値画像データはデータ出力部107よりプリンタ2へ出力される。
プリンタ2は、記録ヘッド201を記録媒体202に対して相対的に縦横に移動することにより、記録媒体上に画像を形成する。記録ヘッドはワイヤードット方式、感熱方式、熱転写方式、インクジェット方式等の方式のものを用いることができ、いずれも一つ以上の記録素子(インクジェット方式であればノズル)を有する。移動部203は、ヘッド制御部204の制御下で、記録ヘッド201を移動する。搬送部205は、ヘッド制御部204の制御下で、記録媒体を搬送する。また、インク色及び吐出量選択部206は、画像処理装置1により形成された各色の2値画像データに基づいて、記録ヘッド201に搭載されるインク色と該ヘッドが吐出可能なインク吐出量の中から、インク色と吐出量を選択する。
図2は、プリンタ2に搭載される記録ヘッド201の構成例を示す図である。ここでは、シアン(C)、マゼンタ(M)、イエロー(Y)、ブラック(K)の4色のインクに加え、レッド(R)、グリーン(G)、ブルー(B)の3色を含めた計7色のインクを使用する場合を例示している。
なお、図2においては、説明を簡単にするため用紙搬送方向にノズルが一列に配置された構成を有する記録ヘッドを示している。ただし、ノズルの数、配置はこれに限られるものではない。例えば、同一インク色に対しノズル列が複数あっても良いし、同一インク色に対し複数のノズルがジグザグに配置されているような構成であっても良い。また、図2では各インク色のノズル列がヘッドの移動方向に配置されているが、用紙搬送方向に一列に配置する構成であっても良い。
<装置の動作>
以下では、画像処理装置1がRGBの3色(各色8ビット)で表現される入力画像データに基づいて、CMYKRGBの7色(各色1ビット)で表現される印刷データを生成する処理について説明する。なお、色成分は2以上の正整数である任意のn個に対して適用可能である。つまり、n個のi階調(iは2以上の正整数)データからn個の2階調データを生成するような構成であってもよい。
図3は、第1実施形態の画像処理装置1の動作フローチャートである。
ステップS101では、多階調のカラー入力画像データがデータ入力部101より入力され、画像バッファ102に格納される。なお、ここでは、入力画像データは、レッド(R_in)、グリーン(G_in)、ブルー(B_in)の3つの色成分によって表現され、各色256階調(8ビット)であるとする。
ステップS102では、色分解処理部103は、色分解用LUT104のLUTを用いて、画像バッファ102に格納された多階調のカラー入力画像データの色分解処理を行なう。この色分解処理では、カラー入力画像データをRGBからCMYK及びRGBのインク色プレーンへ色分解する。
前述のように記録ヘッド201は、7種類の各インク色に対応するノズル列を利用して、記録媒体上にドットを形成する。そのため、画像処理装置1に入力されるRGBのカラー入力画像データは、CMYKRGBの各プレーンの7プレーンの画像データへ変換されプリンタ2に出力される。即ち、7種類の記録態様に対応した7種類のプレーンの画像データが生成される。なお、色分解処理の詳細については後述する。
ステップS103では、ハーフトーン処理部105はハーフトーン処理のための画素位置選択処理を行う。
ステップS104では、少ない階調数に変換するハーフトーン処理を実施する。本実施形態では、色分解処理部103によって入力画像の各画素データを8ビットの階調値のプレーンへ分解する。そして、ハーフトーン処理部105は色分解処理部103によって得られたプレーンを2レベルの階調値のデータ(2値データ)に変換する。なお、第1実施形態のハーフトーン処理は、多値の入力画像データを2値画像(または2値以上で入力階調数より少ない階調数の画像)に変換する処理として、例えばR.Floydらによる誤差拡散法を用いる。なお、本実施形態のハーフトーン処理部105の詳細については後述する。
ステップS105では、ハーフトーン処理後の2値画像データはハーフトーン画像格納メモリ106に格納する。
図4は、ハーフトーン処理部105に入力される各色のプレーン61と、2値画像データ62の構成例を示した図である。色分解処理部103は、入力画像の横画素数Wと縦画素数Hと同数の二次元的な記憶領域I(x、y)に多値(8ビット)のデータが配置されたプレーン61(多値画像データ)の各画素値を生成する。ハーフトーン処理部105は、プレーン61に階調変換処理を施して各色のプレーンの各画素位置の2値データを生成する。ハーフトーン画像格納メモリ106は、入力画像の横画素数Wと縦画素数Hと同数の二次元的な記憶領域O(x、y)を有し、各画素位置に対応する2値画像データを格納する。
なお、本実施形態では、各プレーンの対応する画素を順次に入力して各記録態様に対応した2値画像データを生成していく。したがって、多値画像のプレーン61全体を保持するメモリ空間を用意する必要はない。また、ハーフトーン画像格納メモリ106にしても、例えばバンド単位の記録動作に必要なサイズのメモリ空間を用意したものであっても良い。
ステップS106では、処理対象の全画素についてハーフトーン画像を生成したか否かを判定する。
ステップS107では、ハーフトーン画像格納メモリ106に格納されたハーフトーン処理後の画像データを出力ドットパターンとしてデータ出力部107により出力する。
ステップS108では、プリンタ2は、データ出力部107より出力された画像データを受信し、該画像データに従ってインク色及び吐出量を選択して画像形成を行う。画像の形成において、プリンタ2は、例えば、記録ヘッド201を記録媒体に対して左から右に移動しながら一定の駆動間隔で各ノズルを駆動(つまりインクの吐出のオン/オフを制御)して記録媒体上に画像を記録していく。一回の走査が終了すると、記録ヘッドを左端に戻すと同時に、記録媒体202を一定量搬送する。以上の処理を繰り返すことにより画像の形成が行われる。
<色分解処理の詳細>
図5は、画像処理装置1における色分解処理部103の構成を示す図である。501は輝度濃度変換部、502はUCR(Under Color removal:下色除去)/BG(Black Generation:黒生成)処理部である。また、503はBG量設定部、504はUCR量設定部、505は特色インク分解処理部、特色インク分解処理用LUT506である。
まず、輝度濃度変換部501において入力された輝度情報8ビットの画像データR_in、G_in、B_inは次式に基づきCMYへ変換される。
C=−αlog(R_in/255) ・・・(1)
M=−αlog(G_in/255) ・・・(2)
Y=−αlog(B_in/255) ・・・(3)
但し、αは任意の実数である。
次に、CMYデータはBG量設定部503に設定されたβ(Min(C,M,Y),μ)、及びUCR量設定部504に設定された値μにより、
C’=C−(μ/100)×Min(C,M,Y) ・・・(4)
M’=M−(μ/100)×Min(C,M,Y) ・・・(5)
Y’=Y−(μ/100)×Min(C,M,Y) ・・・(6)
K’= β(Min(C,M,Y),μ)×(μ/100)×Min(C,M,Y) ・・・(7)
と変換される。ここで、β(Min(C,M,Y),μ)は、Min(C,M,Y)及びμによって変動する実数であり、この値によってKインクの使用方法を設定することができる。
続いて、レッド、グリーン及びブルーの色域を構成する色成分であるC’M’Y’の3色については、特色インク分解処理部505にて、特色インク分解処理用LUT506を参照し、次式の通り特色インク分解を実施する。
C”=Lut(C’,M’,Y’) ・・・(8)
M”=Lut(C’,M’,Y’) ・・・(9)
Y”=Lut(C’,M’,Y’) ・・・(10)
R’=Lut(M’,Y’) ・・・(11)
G’=Lut(C’,Y’) ・・・(12)
B’=Lut(C’,M’) ・・・(13)
なお、C”、M”、Y”、R’、G’、B’は、特色インク分解後のシアン、マゼンタ、イエロー、レッド、グリーン及びブルーの出力データ値をそれぞれ示している。式(8)から式(13)の右辺に定義される関数が特色インク分解処理用LUTに該当する。
図6は、特色インク分解処理用LUTの一例を示す図である。具体的には、CMYの入力値に応じてRGB及びCMYのインク分解量が決定される構成である。なお、本LUTの作成に際しては、予めCMYRGBの6色の組み合わせによって構成される色票を印刷し、目標色に対応するインク分解量を定めている。本実施形態1では、前記インク分解量を定める手段は画像形成装置と別個に設けられており、結果のみを特色インク分解処理用LUTに保持する構成である。
<ハーフトーン処理の詳細>
次に、ハーフトーン処理部105において用いられる誤差拡散法について説明する。なお、上述したように、色分解処理後のCMYRGBの各プレーン画像は0〜255の8ビット画像とする。一般にはi階調データ(iは2以上の正整数)として表される。ここでは説明を簡略化するため、マゼンタ、レッド、イエローのドットプレーン、M”、R’、Y”における誤差拡散処理による擬似階調処理を例として説明する。なお以下の処理は、入力された画像データにおける1画素を注目画素として、全画素について順次実行される。
図7は、ハーフトーン処理部105の動作を説明するフローチャートである。ただし、あらかじめ優先されるべきドットのグループ化が設定されているとする。ここで、グループ化とは、該グループ単位でドットの重なりを制御できるように分けられていることである。
そして、階層1グループとしてGr1、Gr2が設定された場合、Gr1とGr2の単位でドットの重なりを制御可能なことを示す。また、階層2グループとしてGrx_1、Grx_2が設定された場合、Grx_1、Grx_2単位でドットの重なりを制御可能なことを示す。
図9は、M”、R’、Y”の3プレーンを2つのグループにグループ化する例を示す図である。なお、グループ化は、例えば、相対的に視認性の高い(濃度の高い)色をより高い優先度にするよう予め決定しておくとよい。たとえば、M”、R’、Y”の3色を比較すると、視認性の高い順にM”、R’、Y”となる。ただし、M”とR’はR’とY”に比較し視認性の差が小さい。そこで、階層1グループとして、Gr1:M”R’、Gr2:Y”が設定されている。さらに、階層2グループとしてGr1_1:M”、Gr1_2:R’が設定されている。また、図10は、CMYKRGBの7プレーンを5つのグループにグループ化する例を示している。一般には、n個の色成分を相対的に視認性の高いk個(k<nの正整数)の色が含まれる第1の色グループと、相対的に視認性の低いn−k個の色が含まれる第2の色グループとに区分する。以下では、説明を簡単にするために、図9に示されるM”、R’、Y”の3プレーンに対する処理について説明する。
ステップS1では、階層1グループ、Gr1_data(第1の色グループのk個合計のデータに相当)をそれぞれ算出する。そして、Gr2_data(第2の色グループのn−k個合計のデータに相当)、および、階層2グループGr1_1data、Gr1_2dataについても同様に算出する。
階層1グループ:
Gr1_data = M”+ R’
Gr2_data = Y” ・・・(14)
階層2グループ:
Gr1_1data = M”
Gr1_2data = R’ ・・・(15)
ステップS2では、Gr2_dataが、あらかじめ指定された値kよりも大きいか、小さいかの判断を行う。Gr2_data>= kの場合ステップS3に進み、Gr2_data<kの場合ステップS5に進む。
ステップS3では、Gr1、Gr2の各プレーン間でドット位置の重なりを許可しないよう配置制御を行う。配置制御の詳細については以下(処理1)で説明する。
ステップS4では、Gr1、Gr2の各プレーン間でドット位置の重なりを許可する配置制御を行う。配置制御の詳細については以下(処理2)で説明する。
ステップS5では、画像データ中の全画素について上述のステップS1〜S4の処理を実行完了したか否かを判定する。完了していなければ、注目画素を移動し、ステップS1〜S4を再度実行する。完了した場合は処理を終了する。
<処理1(ステップS3)>
ステップS3の処理は、上述のように各プレーン間でドット位置の重なりを許可しないよう、配置を決定する処理である。具体的には、まず、階層1グループ、つまり、Gr1data(マゼンタ、レッド)とGr2data(イエロー)との間でドットが重ならないように制御する。続いて、階層2グループ、つまり、Gr1_1data(マゼンタ)とGr1_2data(レッド)との間でドットが重ならないように制御する。このようにする事により、Gr1_1data(マゼンタ)、Gr1_2data(レッド)およびGr2data(イエロー)の間でドットが重ならないようにする。以下、当該処理の実現方法について詳細に説明する。
図8(a)は、ステップS3の処理の詳細を説明する図である。なお、図8(a)に示す各機能構成部はハードウェアにより実現しても良いし一部或いは全てをソフトウエアにより実現してもよい。また、図11は、ステップS3の処理の詳細フローチャートである。なお、第一量子化部601は第1の量子化データ生成手段に、第二量子化部602は第2の量子化データ生成手段および第3の量子化データ生成手段に相当する。
ステップS3の処理にて、マゼンタ、レッド、イエローの3つのドットプレーンデータ(各プレーンは0〜255の値をとる)に対して2値化(量子化値は0または255)を行う。その場合、第一量子化部601は、Gr1_data、Gr2_dataデータの対応画素の合計データI_mryを入力する。すなわち、マゼンタ、レッド、イエローの各々のプレーンにおける対応する画素値の合計をI_mryに入力する。より一般的には、n個の色成分のn個合計のデータを入力する。そして、入力されたI_mryに対して誤差拡散処理を施し、第1の量子化データに相当する4値化(量子化値は0,255,510,765の何れか)を行う。なお、一般にはn個の色成分の場合にn+1階調データを生成する。
より具体的に説明すると、まずステップS201において、Gr1_data + Gr2_data(マゼンタ,レッド,イエロードットプレーンの画素値の合計データ)I_mryを第一量子化部601に入力する。ここで、I_mryは次式のように算出される。
I_mry =Gr1_data + Gr2_data ・・・(16)
図12は、誤差拡散処理における注目画素周辺の誤差拡散係数(K1〜K4の4つの係数)を説明する図である。例えば、K1=7/16、K2=3/16、K3=5/16、K4=1/16とする。このような誤差拡散係数により誤差を拡散、累積するために、第一量子化部601における累積誤差ラインバッファ604には、図13の(a)に示す記憶領域をゆうする。つまり、1個の記憶領域E_mry0と、入力画像の横画素数Wと同数の記憶領域E_mry(x)(x=1〜W)とを有し、後述する方法で量子化誤差が格納されていく。なお、累積誤差ラインバッファ604は処理開始前に全て初期値0で初期化されていてもよいし、ランダム値で初期化されてもよい。
ステップS202において、累積誤差加算部605は、注目画素の横画素位置xに対応する誤差E_mry(x)を累積誤差ラインバッファ604より読み出し、加算する。即ち、入力された合計データをI_mry、累積誤差加算後のデータをI_mry’とすると、
I_mry’= I_mry + E_mry(x) ・・・(17)
となる。
次に、ステップS203において、閾値選択部606は閾値T_mryを選択する。閾値T_mryは、例えば、入力画素データI_mryに応じて、
T_mry(I_mry)=128 (0≦I_mry≦255) ・・・(18)
T_mry(I_mry)=384 (255<I_mry≦510) ・・・(19)
T_mry(I_mry)=640 (510<I_mry ≦765) ・・・(20)
と設定される。或いは、ドット生成遅延を回避するために、平均量子化誤差が小さくなるように閾値T_mryを入力画素データI_mryに応じて細かく変更しても良い。
次に、ステップS204において、量子化部607は、誤差加算後の画素データI_mry’と閾値T(I_mry)とを比較し、出力画素値Out_mryを決定する。その規則は次の通りである。
Out_mry=0 ・・・(21)
(0≦I_mry≦255,I_mry’<T(I_mry))
Out_mry=255 ・・・(22)
(0≦I_mry≦255,I_mry’≧T(I_mry))又は
(255<I_mry≦510,I_mry’<T(I_mry))
Out_mry=510 ・・・(23)
(255≦I_mry≦510,I_mry’≧T(I_mry))又は
(510<I_mry≦765,I_mry’<T(I_mry))
Out_mry=765 ・・・(24)
(510<I_mry≦765,I_mry’≧T(I_mry))
ここでGr1_data + Gr2_data(マゼンタ,レッド,イエロードットプレーンの画素値の合計データ)I_mryを4値化することの意味を説明する。例えば式(22)に示すようにOut_mry=255となることは、その場所に、マゼンタ、レッド、イエローいずれかのドットが1つ打たれることを意味する。すなわち、Out_mry=255とは、その場所にマゼンタドットが確定するわけでなく、レッドドット、イエロードットも確定しない。この時点で確定していることは、マゼンタかレッドかイエローの、どのドットが打たれるかわからないが、少なくともどれか一つは打たれることである。
同様にOut_mry=510となることは、その場所に、マゼンタ、レッド、イエローいずれかのドットが2つ打たれることを意味する。この時点で確定していることは、マゼンタドットかレッドドットかイエロードットか打たれるかわからないが、少なくともどれか2つは打たれることである。ただし、同じドットは最大でも1つしか打つことができない。
すなわち、Out_mryにより各画素の以下の特徴が表現される。
Out_mry=0 ・・・マゼンタ、レッド、イエロードットのいずれも打たれない。
Out_mry=255 ・・・マゼンタ、レッド、イエロードットのいずれか1つが打たれる。
Out_mry=510 ・・・マゼンタ、レッド、イエロードットのいずれか2つが打たれる。
Out_mry=765 ・・・マゼンタ、レッド、イエロードットが打たれる。
次に、ステップS205において、誤差演算部608で注目画素の合計値I_mryに誤差を加算した後の画素データI_mry’と出力画素値Out_mryとの差分量Err_mryを、次のようにして計算する。
Err_mry(x)=I_mry’− Out_mry ・・・(25)
そして、ステップS206において、誤差拡散部609は、横画素位置xに応じて、累積誤差ラインバッファ604において、以下の様に誤差Err_mry(x)の拡散処理を行う。
E_mry(x+1) ← E_mry(x+1)+Err_mry(x)×7/16 (x<W)
E_mry(x−1) ← E_mry(x−1)+Err_mry(x)×3/16 (x>1)
E_mry(x) ← E_mry0+Err_mry(x)×5/16 (1<x<W)
E_mry(x) ← E_mry0+Err_mry(x)×8/16 (x=1)
E_mry(x) ← E_mry0+Err_mry(x)×13/16 (x=W)
E_mry0 ← E_mry×1/16 (x<W)
E_mry0 ← 0 (x=W)
・・・(26)
以上で、Gr1_data+Gr2_data(マゼンタ,レッド,イエロードットプレーンの画素値の合計データ)の1画素分の3プレーン合計データに対して第1の量子化データに相当する4値化が完了する。
このようにして得られる3つのドットプレーンの合計データの4値化処理により、少なくとも3プレーントータルで、好適な配置が確保されることになる。ただし、この時点では3つのドットプレーンのどのドットが打たれるかは決定していない。
次に、第二量子化部602において、Gr1_data(すなわち、マゼンタ、レッドの2つのドットプレーンの注目画素の画素値の合計データ)I_mrに対して誤差拡散処理を施し3値化(量子化値0,255,510)を行う。
まずステップS207において、合計データI_mrを第二量子化部602に入力する。なおI_mrは以下のように算出される。
I_mr =Gr1_data ・・・(27)
図8(a)の第二量子化部602における累積誤差ラインバッファ610は、累積誤差ラインバッファ604と同様の構成を有する。すなわち、累積誤差ラインバッファ610は図13の(b)に示されるように、1個の記憶領域E_mr0と入力画像の横画素数Wと同数の記憶領域E_mr(x)(x=1〜W)とを有し、後述する方法で量子化誤差を格納している。なお、累積誤差ラインバッファ610は処理開始前に全て初期値0で初期化されていてもよいし、ランダム値で初期化されてもよい。
次に、ステップS208において、累積誤差加算部611で、注目画素の横画素位置xに対応する誤差E_mr(x)が加算される。即ち、入力された注目画素の合計値をI_mr、累積誤差加算後のデータをI_mr’とすると、
I_mr’=I_mr+E_mr(x) ・・・(28)
となる。
次に、ステップS209において、閾値選択部612で閾値T_mrを選択する。閾値T_mrの選択において、
t_mr=I_mr−I_mr ・・・(29)
とおくと、閾値T_mrは、
T_mr(t_mr)=128 (0≦t_mr≦255) ・・・(30)
と設定される。なお、ドット生成遅延を回避するため、平均量子化誤差が小さくなるよう、閾値T_mr(t_mr)をt_mrに応じて細かく変更しても良い。なお、ここでは、I_mry−I_mrは常に255以下となるので、T_mr(t_mr)=128をとる。
次に、ステップS210において、量子化部613は、誤差加算後の画素データI_mr’と閾値T(t_mr)と前述のGr1_data + Gr2_data(3ドットプレーンの多値化結果Out_mry)とを比較する。そして、出力画素値Out_mr(3値化の値)とGr2_data(すなわちイエロードット最終結果Out_y)を決定する。その規則は次の通りである。
Out_mry−I_mr’≧T(t_mr)のとき: ・・・(31)
Out_mr=Out_mry−255 ・・・(32)
Out_y=255 ・・・(33)
Out_mry−I_mr’<T(t_mr)のとき: ・・・(34)
Out_mr=Out_mry ・・・(35)
Out_y=0 ・・・(36)
例えば、Out_mry=765の時、Out_mry − I_mr’≧T(t_mr)となるため、式(31)の条件が成立し、Out_mr=510となる。このようにして、式(31)〜(36)で、Gr1_data(すなわちマゼンタ、レッドの2つのドットプレーンの合計データ)の第2の量子化データに相当する3値化(量子化値0,255,510)が決定する。また、それに伴い、Gr1_data(すなわちイエロードットプレーン)(Out_y)の2値化(量子化値0,255)が決定する。つまり、この時点でGr1_dataの2値データが確定することになる。なお、式(33)はGr1_data(イエロードット)が打たれることを意味し、式(36)はイエロードットが打たれないことを意味する。
ここでGr1_data(マゼンタ、レッドの2つのドットプレーンの合計データ)の3値化の意味を説明する。例えばOut_mr=255とは、その場所に、マゼンタ、レッドいずれかのドットが1つ打たれることを意味する。すなわち、Out_mr=255とは、その場所にマゼンタドットが確定するわけでなく、レッドドットも確定しない。この時点で確定していることは、マゼンタかレッドの、いずれのドットが打たれるかわからないが、少なくともどれか一つは打たれることである。
さらに、Out_mry=510とは、その場所に、マゼンタ、レッドいずれかのドットが2つ打たれることを意味する。同色のドットは最大でも1つしか打つことができないという前提上、マゼンタ、レッドのどちらも打たれることを意味する。
以上をまとめると次のようになる。
Out_mr=0 ・・・マゼンタ、レッドドットのいずれも打たれない。
Out_mr=255 ・・・マゼンタ、レッドドットのいずれか1つが打たれる。
Out_mr=510 ・・・マゼンタ、レッドドットが打たれる。
ステップS211において、誤差演算部614は注目画素I_mrに誤差加算後の画素データI_mr’と出力画素値Out_mrとの差分量Err_mrを、次の式(37)ようにして計算する。
Err_mr(x)=I_mr’−Out_mr ・・・(37)
ステップS212において、誤差拡散部615は、誤差拡散部609と同様に、注目画素の横画素位置xに応じて、累積誤差ラインバッファ610を用いて以下の様に誤差Err_mr(x)を拡散する。
E_mr(x+1) ← E_mr(x+1)+Err_mr(x)×7/16 (x<W)
E_mr(x−1) ← E_lm(x−1)+Err_lm(x)×3/16 (x>1)
E_mr(x) ← E_mr0+Err_mr(x)×5/16 (1<x<W)
E_mr(x) ← E_mr0+Err_mr(x)×8/16 (x=1)
E_mr(x) ← E_mr0+Err_mr(x)×13/16 (x=W)
E_mr0 ← E_mr×1/16 (x<W)
E_mr0 ← 0 (x=W)
・・・(38)
以上で、1画素分のGr1_data(マゼンタ、レッドドット、M”、R’の2プレーンの合計データ)に対して第2の量子化データに相当する3値化(量子化値0,255,510)が完了する。また、同時に、Gr2_data(イエロードットY”)の第3の量子化データに相当する2値化(量子化値0,255)結果が確定する。
つまり、Gr1_dataの3値化は、Gr1_data(マゼンタ、レッド2プレーントータル)に対して、より好適な配置を確保することに目的がある。そして、確保された配置の残りの配置として、Gr2_data(イエロードットY”)の2値化結果が確定するわけである。すなわち、優先度が相対的に高く設定されたGr1_dataはより好適な配置となり、優先度が相対的に低く設定されたGr2_dataはGr1_dataが配置された後の余りの位置に配置される。これにより、Gr1_dataと、Gr2_dataのドットの重なりを許可しない制御が実現する。
次に、Gr1_1data(すなわちマゼンタドットのプレーンデータ)に対して誤差拡散処理を施し2値化を行う。まずステップS213において、Gr1_1data(マゼンタドットの注目画素のデータ)I_mを第三量子化部603に入力する。なおI_mは以下のように算出される。
I_m=Gr1_1data ・・・(39)
図8の第三量子化部603における累積誤差ラインバッファ616は、累積誤差ラインバッファ604と同様の構成を有する。即ち、累積誤差ラインバッファ616は、図13の(c)に示すように、1個の記憶領域E_m0と入力画像の横画素数Wと同数の記憶領域E_m(x)(x=1〜W)とを有し、後述する方法で量子化誤差を格納している。なお、累積誤差ラインバッファ616は処理開始前に全て初期値0で初期化されていてもよいし、ランダム値で初期化されてもよい。
次に、ステップS214において、累積誤差加算部617で入力画素データの横画素位置xに対応する誤差E_m(x)が加算される。つまり、分散させて反映されることに相当する。即ち、入力された注目画素データをI_m、累積誤差加算後のデータをI_m’とすると、
I_m’=I_m+E_m(x) ・・・(40)
となる。
次にステップS215において、閾値選択部618は、閾値T_mを選択する。閾値T_mの選択においては、例えば、
t_m=I_mr−I_m ・・・(41A)
とおくと、閾値T_mは、
T_m(t_m)=128 (0≦t_m≦255) ・・・(41B)
と設定される。或いは、ドット生成遅延を回避するため、平均量子化誤差が小さくなるよう、t_mに応じて細かく閾値T_mを変更しても良い。なお、I_mr−I_mは255以下となるので、本実施形態では必ずT_m(t_mr)=128をとる。
次に、ステップS216において、量子化部619は、誤差加算後の画素データI_m’と閾値T_m(t_m)とOut_mr(量子化値0,255,510)とを比較する。なお、Out_mr(量子化値0,255,510)は、前述のGr1_data(マゼンタ、レッドの2つのドットプレーンの合計データ)の多値化結果である。そして、Gr1_2data(レッドドット)の最終2値化結果Out_r、とGr1_1data(マゼンタドット)の最終2値化結果Out_mを決定する。その規則は次の通りである。
Out_mr−I_m’≧T(t_m)のとき、 ・・・(42)
Out_m = Out_mr−255 ・・・(43)
Out_r = 255 ・・・(44)
Out_mr−I_m’<T(t_m)のとき ・・・(45)
Out_m = Out_mr ・・・(46)
Out_r = 0 ・・・(47)
例えば、Out_mr=510の時、 Out_mr − I_m’≧T(t_m)となるため、式(42)の条件となり、Out_m=255となる。このため、式(42)〜(47)で、Gr1_1data(マゼンタデータ)Out_mの2値化が決定すると同時にGr1_2data(レッドデータ)Out_rの2値化が決定する。すなわち、レッドドット最終結果Out_rとマゼンタドット最終結果Out_mが同時に確定する。なお、式(44)はレッドドットが打たれることを意味し、式(47)はレッドドットが打たれないことを意味する。
次に、ステップS217において、誤差演算部620で注目画素I_mに誤差加算後の画素データI_m’と出力画素値Out_mとの差分量Err_mを、次のようにして計算する。
Err_m(x)=I_m’− Out_m ・・・(47)
次に、ステップS218において、誤差拡散部621は、誤差演算部608,615と同様に、誤差を拡散する。即ち、累積誤差ラインバッファ616を用いて、横画素位置xに応じて以下の様に誤差Err_m(x)の拡散処理が行われる。
E_m(x+1) ← E_m(x+1)+Err_m(x)×7/16 (x<W)
E_m(x−1) ← E_m(x−1)+Err_m(x)×3/16 (x>1)
E_m(x) ← E_m0+Err_m(x)×5/16 (1<x<W)
E_m(x) ← E_m0+Err_m(x)×8/16 (x=1)
E_m(x) ← E_m0+Err_m(x)×13/16 (x=W)
E_m0 ← E_m×1/16 (x<W)
E_m0 ← 0 (x=W)
・・・(48)
以上で、1画素分のGr1_1data(マゼンタデータM”)に対して2値化(量子化値0,255)が完了する。同時に、Gr1_2data(レッドデータR’)の2値化(量子化値0,255)結果も確定する。
つまり、Gr1_1data(マゼンタデータ)の2値化は、Gr1_1dataに対して、より好適な配置を確保することに目的がある。そして、Gr1_1dataに対して確保された配置の残りの配置として、Gr1_2data(レッドデータ)の2値化結果が確定するわけである。すなわち、優先度が相対的に高く設定されたGr1_1data(マゼンタデータ)はより好適な配置となり、優先度が相対的に低く設定されたGr1_2data(レッドデータ)はGr1_1dataが配置された後の余りの位置に配置される。これにより、Gr1_dataと、Gr2_dataのドットの重なりを許可しない制御が実現する。
また、以上で説明したように、第1実施形態では2階層のグループ化を行い、階層ごとに再帰的に同様の演算を行うことにより、最終的にここの色成分に対応する2値化データ(2階調データ)を決定している。同様にして、より多いn個の色成分で表現されていた場合であっても、階層化されたグループ化を行うことにより、再帰的な誤差拡散の演算を行うことにより2階調データを決定可能であることが分かる。なお、再帰的に演算実行の有無の判定方法としては、各グループ(第1の色グループと第2の色グループ)に含まれる色成分の数の少なくとも一方が1より大きいか否かを判定するようにすればよい。
<処理2(ステップS4)>
上述の処理1では(ステップS3)ドット重なりが起こらないよう配置を決定することができる。しかし、ドット打ち込み数が少ない領域(ハイライト領域)では、イエローのドット打ち込み数が少ない。また、イエロードットは視認性が低いため、ドットが抜けたような画像となって、粒状感が悪化してしまう。そこで、以下では、イエローのドット抜けによる粒状感悪化の顕在化を防ぐ処理を行う。
以下、ステップS4の処理の詳細を、機能構成を説明する図8(b)、フローチャート図14と共に説明する。なお、図8(b)の内部構成は601〜621は図8(a)と同じ構成である。
まず、マゼンタ、レッド、イエローの3つのドットプレーンのデータ(各プレーンは0〜255の値をとる)に対して2値化(量子化値0,255)を行う。その場合、まず第一量子化部601は、Gr2_data(イエローのドットプレーンの対応画素のデータI_y)を入力する。そして、入力されたGr2_dataに対して誤差拡散処理を施し、2値化(量子化値0,255)を行う。
より具体的に説明すると、まずステップS301において、Gr2_data(イエロードットプレーンの対応する画素データI_y)を第一量子化部601に入力する。ここで、I_yは次式のように算出される。
I_y = Gr2_data ・・・(49)
ステップS302において、累積誤差加算部605は、注目画素の横画素位置xに対応する誤差E_mry(x)を累積誤差ラインバッファ604より読み出し、加算する。即ち、入力された合計データをI_y、累積誤差加算後のデータをI_y’とすると、
I_y’= I_y + E_mry(x) …(50)
となる。
次に、ステップS303において、閾値選択部606は閾値T_yを選択する。閾値T_yは、例えば、
T_y(I_y)=128 (0≦I_y≦255) ・・・(51)
と設定される。或いは、ドット生成遅延を回避するために、平均量子化誤差が小さくなるように閾値T_yを入力画素データI_yに応じて細かく変更しても良い。
次に、ステップS304において、量子化部607は、誤差加算後の画素データI_y’と閾値T(I_y)とを比較し、出力画素値Out_yを決定する。その規則は次の通りである。
Out_y=0 ・・・(51)
(0≦I_y≦255,I_y’<T(I_y))
Out_y=255 ・・・(52)
(0≦I_y≦255,I_y’≧T(I_y))
Out_y=0 ・・・イエロードットは打たれない。
Out_y=255 ・・・イエロードットは打たれる。
次に、ステップS305において、誤差演算部608で注目画素のI_yに誤差を加算した後の画素データI_y’と出力画素値Out_yとの差分量Err_mryを、次のようにして計算する。
Err_mry(x)=I_y’− Out_y ・・・(53)
そして、ステップS306において、誤差拡散部609は、横画素位置xに応じて、累積誤差ラインバッファ604において、以下の様に誤差Err_mry(x)の拡散処理を行う。
E_mry(x+1) ← E_mry(x+1)+Err_mry(x)×7/16 (x<W)
E_mry(x−1) ← E_mry(x−1)+Err_mry(x)×3/16 (x>1)
E_mry(x) ← E_mry0+Err_mry(x)×5/16 (1<x<W)
E_mry(x) ← E_mry0+Err_mry(x)×8/16 (x=1)
E_mry(x) ← E_mry0+Err_mry(x)×13/16 (x=W)
E_mry0 ← E_mry×1/16 (x<W)
E_mry0 ← 0 (x=W)
・・・(54)
以上で、Gr2_data(イエロードットY”)の1画素分の2値化が完了する。
次に、第二量子化部602において、Gr1_data(マゼンタ、レッドの2つのドットプレーンの注目画素の画素値の合計データ)に対して誤差拡散処理を施し3値化(量子化値0,255,510)を行う。
まずステップS307において、Gr1_dataを第二量子化部602に入力する。なおI_mrは以下のように算出される。
I_mr =Gr1_data・・・(55)
図8(b)の第二量子化部602における累積誤差ラインバッファ610は、累積誤差ラインバッファ604と同様の構成を有する。すなわち、累積誤差ラインバッファ610は図13の(b)に示されるように、1個の記憶領域E_mr0と入力画像の横画素数Wと同数の記憶領域E_mr(x)(x=1〜W)とを有し、後述する方法で量子化誤差を格納している。なお、累積誤差ラインバッファ610は処理開始前に全て初期値0で初期化されていてもよいし、ランダム値で初期化されてもよい。
次に、ステップS308において、累積誤差加算部611で、注目画素の横画素位置xに対応する誤差E_mr(x)が加算される。即ち、入力された注目画素の合計値をI_mr、累積誤差加算後のデータをI_mr’とすると、
I_mr’=I_mr+E_mr(x) ・・・(56)
となる。
次に、ステップS309において、閾値選択部606は閾値T_mryを選択する。閾値T_mryは、例えば、入力画素データI_mryに応じて、
T_mr(I_mr)=128 (0≦I_mr≦255) ・・・(57)
T_mr(I_mr)=384 (255<I_mr≦510) ・・・(58)
と設定される。或いは、ドット生成遅延を回避するために、平均量子化誤差が小さくなるように閾値T_mrを入力画素データI_mrに応じて細かく変更しても良い。
次に、ステップS310において、量子化部607は、誤差加算後の画素データI_mr’と閾値T(I_mr)とを比較し、出力画素値Out_mrを決定する。その規則は次の通りである。
Out_mr=0 ・・・(59)
(0≦I_mr≦255,I_mr’<T(I_mr))
Out_mr=255 ・・・(60)
(0≦I_mr≦255,I_mr’≧T(I_mr))又は
(255<I_mr≦510,I_mr’<T(I_mr))
Out_mr=510 ・・・(61)
(255≦I_mr≦510,I_mr’≧T(I_mr))又は
(510<I_mr≦765,I_mr’<T(I_mr))

ここでGr1_data(マゼンタ、レッドの2つのドットプレーンの合計データ)の3値化(I_mr’)の意味を説明する。例えばOut_mr=255とは、その場所に、マゼンタ、レッドいずれかのドットが1つ打たれることを意味する。すなわち、Out_mr=255とは、その場所にマゼンタドットが確定するわけでなく、レッドドットも確定しない。この時点で確定していることは、マゼンタかレッドの、いずれのドットが打たれるかわからないが、少なくともどれか一つは打たれることである。
さらに、Out_mr=510とは、その場所に、マゼンタ、レッドいずれかのドットが2つ打たれることを意味する。同じドットは最大でも1つしか打つことができないという前提上、マゼンタ、レッドのどちらも打たれることを意味する。
以上をまとめると次のようになる。
Out_mr=0 ・・・マゼンタ、レッドドットのいずれも打たれない。
Out_mr=255 ・・・マゼンタ、レッドドットのいずれか1つが打たれる。
Out_mr=510 ・・・マゼンタ、レッドドットが打たれる。
ステップS311において、誤差演算部614は注目画素I_mrに誤差加算後の画素データI_mr’と出力画素値Out_mrとの差分量Err_mrを、次の式(62)ようにして計算する。
Err_mr(x)=I_mr’−Out_mr ・・・(62)
ステップS312において、誤差拡散部615は、誤差拡散部609と同様に、注目画素の横画素位置xに応じて、累積誤差ラインバッファ610を用いて以下の様に誤差Err_mr(x)を拡散する。
E_mr(x+1) ← E_mr(x+1)+Err_mr(x)×7/16 (x<W)
E_mr(x−1) ← E_lm(x−1)+Err_lm(x)×3/16 (x>1)
E_mr(x) ← E_mr0+Err_mr(x)×5/16 (1<x<W)
E_mr(x) ← E_mr0+Err_mr(x)×8/16 (x=1)
E_mr(x) ← E_mr0+Err_mr(x)×13/16 (x=W)
E_mr0 ← E_mr×1/16 (x<W)
E_mr0 ← 0 (x=W)
・・・(63)
以上で、1画素分のGr1_data(マゼンタ、レッドドット、M”、R’の2プレーンの合計データ)に対して3値化(量子化値0,255,510)が完了する。
Gr1_data(マゼンタ、レッドドットの2つのドットプレーンの合計データ)の3値化は、当該2つのドットプレーンのどのドットが打たれるかわからないが、少なくとも2プレーントータルで、より好適な配置を確保することに目的がある。
次に、Gr1_1data(マゼンタドットのプレーンデータ)に対して誤差拡散処理を施し2値化を行う。まずステップS313において、マゼンタドットの注目画素のデータI_mを第三量子化部603に入力する。なおI_mは以下のように算出される。
I_m=Gr1_1data ・・・(64)
図8(b)の第三量子化部603における累積誤差ラインバッファ616は、累積誤差ラインバッファ604と同様の構成を有する。即ち、累積誤差ラインバッファ616は、図13の(c)に示すように、1個の記憶領域E_m0と入力画像の横画素数Wと同数の記憶領域E_m(x)(x=1〜W)とを有し、後述する方法で量子化誤差を格納している。なお、累積誤差ラインバッファ616は処理開始前に全て初期値0で初期化されていてもよいし、ランダム値で初期化されてもよい。
次に、ステップS314において、累積誤差加算部617で入力画素データの横画素位置xに対応する誤差E_m(x)が加算される。即ち、入力された注目画素データをI_m、累積誤差加算後のデータをI_m’とすると、
I_m’=I_m+E_m(x) ・・・(65)
となる。
次にステップS315において、閾値選択部618は、閾値T_mを選択する。閾値T_mの選択においては、例えば、
t_m=I_mr−I_m ・・・(66A)
とおくと、閾値T_mは、
T_m(t_m)=128 (0≦t_m≦255) ・・・(66B)
と設定される。或いは、ドット生成遅延を回避するため、平均量子化誤差が小さくなるよう、t_mに応じて細かく閾値T_mを変更しても良い。なお、I_mr−I_mは255以下となるので、本実施形態では必ずT_m(t_mr)=128をとる。
次に、ステップS316において、量子化部619は、誤差加算後の画素データI_m’と閾値T_m(t_m)とOut_mr(量子化値0,255,510)とを比較する。なお、Out_mr(量子化値0,255,510)は、前述のGr1_data(マゼンタ、レッドの2つのドットプレーンの合計データ)の多値化結果である。そして、Gr1_2data(レッドドット)の最終2値化結果Out_r、とGr1_2data(マゼンタドット)の最終2値化結果Out_mを決定する。その規則は次の通りである。
Out_mr−I_m’≧T(t_m)のとき、 ・・・(67)
Out_m = Out_mr−255 ・・・(68)
Out_r = 255 ・・・(69)
Out_mr−I_m’<T(t_m)のとき ・・・(70)
Out_m = Out_mr ・・・(71)
Out_r = 0 ・・・(72)
例えば、Out_mr=510の時、 Out_mr − I_m’≧T(t_m)となるため、式(69)の条件となり、Out_m=255となる。このため、式(67)〜(72)で、マゼンタプレーンデータOut_mの2値化が決定すると同時にレッドプレーンデータOut_rの2値化が決定する。すなわち、レッドドット最終結果Out_rとマゼンタドット最終結果Out_mが同時に確定する。なお、式(69)はレッドドットが打たれることを意味し、式(72)はレッドドットが打たれないことを意味する。
次に、ステップS317において、誤差演算部620で注目画素I_mに誤差加算後の画素データI_m’と出力画素値Out_mとの差分量Err_mを、次のようにして計算する。
Err_m(x)=I_m’− Out_m ・・・(73)
次に、ステップS318において、誤差拡散部621は、誤差演算部608,615と同様に、誤差を拡散する。即ち、累積誤差ラインバッファ616を用いて、横画素位置xに応じて以下の様に誤差Err_m(x)の拡散処理が行われる。
E_m(x+1) ← E_m(x+1)+Err_m(x)×7/16 (x<W)
E_m(x−1) ← E_m(x−1)+Err_m(x)×3/16 (x>1)
E_m(x) ← E_m0+Err_m(x)×5/16 (1<x<W)
E_m(x) ← E_m0+Err_m(x)×8/16 (x=1)
E_m(x) ← E_m0+Err_m(x)×13/16 (x=W)
E_m0 ← E_m×1/16 (x<W)
E_m0 ← 0 (x=W)
・・・(74)
以上で、1画素分のGr1_1data(マゼンタドットプレーンデータM”)に対して2値化(量子化値0,255)が完了する。同時に、Gr1_2data(レッドドットプレーンデータR’)の2値化(量子化値0,255)結果も確定する。
つまり、Gr1_1data(マゼンタプレーンデータ)の2値化は、Gr1_1dataに対して、より好適な配置を確保することに目的がある。そして、Gr1_1dataに対して確保された配置の余りの配置として、Gr1_2data(レッドドット)の2値化結果が確定するわけである。すなわち、優先度が相対的に高く設定されたGr1_1data(マゼンタドット)はより好適な配置となり、優先度が相対的に低く設定されたGr1_2data(レッドドット)はGr1_1data(マゼンタドット)が配置された後の余りの位置に配置される。つまり、レッドドットに比べて視覚的に目立つマゼンタドットをより好適な位置に配置したほうが、視覚的に良好な画像が得られるからである。
以上をまとめると、ステップS4の処理では、まずGr2_dataに対し独立に誤差拡散処理を行い、次にGr1_1dataと、Gr1_2dataのドットが重ならない制御が実現する。
ステップS3(処理1)およびステップS4(処理2)において説明したグループ化を用いる処理を実行することにより、処理の複雑度を低減することが可能となる。また、601、602、603の各量子化部で実行される演算処理は共通であるため、物理的には同一の量子化部を時分割で動作させることにより機器構成も単純化可能となる。また、濃度の低いドットが目立たなくなることで、粒状感悪化が顕在化することを防ぐことも可能となる。そのため、より高画質な画像形成が可能となる。
以上説明したように、第1実施形態に係る画像処理装置により、処理の複雑度を低減しつつより高画質な画像形成を可能とする技術を提供することができる。
(変形例)
第1実施形態では、プリンタ2に出力するデータとして各色2値(1ビット)のデータを生成した。しかし、吐出されるインク滴の大きさが可変であるマルチドット記録を行うインクジェットプリンタを対象として、より多値(例えば各色3ビット)のデータを生成しても良い。つまり、インク滴の大きさに対応する値のデータを出力するよう構成してもよい。
また、上述の説明では、当該画像処理をプリンタ2の外部の画像処理装置1により生成するよう構成したが、プリンタ内部に当該処理を実行する処理回路を設けるようにしてもよい。さらに、記録ヘッドに設けられた電子回路により実現しても良い。
また、本発明は、例えば記録媒体の記録幅に対応する長さの記録ヘッドを有し、記録ヘッドに対して記録媒体を移動させて記録を行う、いわゆるフルライン型の記録装置など記録装置にも適用できる。すなわち、シリアル型の記録装置(プリンタ)以外の、記録ヘッドを記録媒体に対して相対的に移動させて記録を行う記録装置に対しても適用することができる。
(他の実施形態)
なお、本発明は、前述した実施形態の機能を実現するプログラムを、システム或いは装置に直接或いは遠隔から供給し、そのシステム或いは装置が、供給されたプログラムコードを読み出して実行することによっても達成される。従って、本発明の機能処理をコンピュータで実現するために、コンピュータにインストールされるプログラムコード自体も本発明の技術的範囲に含まれる。
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等、プログラムの形態を問わない。
プログラムを供給するための記録媒体としては、例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク(CD、DVD)、光磁気ディスク、磁気テープ、不揮発性のメモリカード、ROMなどがある。
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現される。
第1実施形態による画像形成装置を含む画像形成システムの構成を示したブロック図である。 プリンタ2に搭載される記録ヘッド201の構成例を示す図である。 第1実施形態の画像処理装置1の動作フローチャートである。 ハーフトーン処理部105に入力される各色のプレーン61と、2値画像データ62の構成例を示した図である。 画像処理装置1における色分解処理部103の構成を示す図である。 特色インク分解処理用LUTの一例を示す図である。 ハーフトーン処理部105の動作フローチャートである。 ハーフトーン処理部105の動作の詳細を説明する機能ブロック図である。 M”、R’、Y”の3プレーンを2つのグループにグループ化する例を示す図である。 CMYKRGBの7プレーンを5つのグループにグループ化する例を示す図である。 ステップS3の処理(処理1)の詳細フローチャートである。 誤差拡散処理における注目画素周辺の誤差拡散係数を説明する図である。 累積誤差ラインバッファに格納されるデータを示す図である。 ステップS4の処理(処理2)の詳細フローチャートである。

Claims (5)

  1. 画像データを構成するn個(nは2以上の正整数)の色成分の各々に対応するn個のi階調(iは2以上の正整数)データからn個の2階調データを生成する画像処理装置であって、
    前記n個のi階調データの各画素の合計値により表現されるデータの各画素を誤差拡散処理によりn+1階調の量子化値に変換し、n個合計のn+1階調データに対応する第1の量子化データを生成する第1の量子化データ生成手段と、
    前記n個の色成分を、相対的に視認性の高いk個(k<nの正整数)の色が含まれる第1の色グループと相対的に視認性の低いn−k個の色が含まれる第2の色グループとに区分し、該第2の色グループに対応するn−k個のi階調データの各画素の合計値により表現されるデータの各画素と前記第1の量子化データの各画素との差分量により表現されるデータを誤差拡散処理によりk+1階調の量子化値に変換し、前記第1の色グループに対応するk個合計のk+1階調データに対応する第2の量子化データを生成する第2の量子化データ生成手段と、
    前記第1の量子化データの各画素と前記第2の量子化データの各画素との差分量により表現されるデータを前記第2の色グループに対応するn−k個合計に対応する第3の量子化データとして生成する第3の量子化データ生成手段と、
    前記kまたは前記n−kの少なくとも一方が1より大きい場合、前記第1の色グループまたは前記第2の色グループの少なくとも一方について、前記第1の量子化データ生成手段、前記第2の量子化データ生成手段および前記第3の量子化データ生成手段を再帰的に実行することにより前記n個の2階調データを生成するよう制御する制御手段と、
    を備えることを特徴とする画像処理装置。
  2. 前記制御手段は、さらに、
    前記第1の色グループに対応するk個のi階調データの各画素の合計値により表現されるデータの各画素から生成される量子化データの各画素と前記第3の量子化データ生成手段により生成される第3の量子化データとの差分量により表現されるデータを、前記第2の量子化データ生成手段で用いられる前記各画素の合計値により表現されるデータの各画素に分散させて反映させることを特徴とする請求項1に記載の画像処理装置。
  3. 画像データを構成するn個(nは2以上の正整数)の色成分の各々に対応するn個のi階調(iは2以上の正整数)データからn個の2階調データを生成する画像処理方法であって、
    前記n個のi階調データの各画素の合計値により表現されるデータの各画素を誤差拡散処理によりn+1階調の量子化値に変換し、n個合計のn+1階調データに対応する第1の量子化データを生成する第1の量子化データ生成工程と、
    前記n個の色成分を、相対的に視認性の高いk個(k<nの正整数)の色が含まれる第1の色グループと相対的に視認性の低いn−k個の色が含まれる第2の色グループとに区分し、該第2の色グループに対応するn−k個のi階調データの各画素の合計値により表現されるデータの各画素と前記第1の量子化データの各画素との差分量により表現されるデータを誤差拡散処理によりk+1階調の量子化値に変換し、前記第1の色グループに対応するk個合計のk+1階調データに対応する第2の量子化データを生成する第2の量子化データ生成工程と、
    前記第1の量子化データの各画素と前記第2の量子化データの各画素との差分量により表現されるデータを前記第2の色グループに対応するn−k個合計に対応する第3の量子化データとして生成する第3の量子化データ生成工程と、
    前記kまたは前記n−kの少なくとも一方が1より大きい場合、前記第1の色グループまたは前記第2の色グループの少なくとも一方について、前記第1の量子化データ生成工程、前記第2の量子化データ生成工程および前記第3の量子化データ生成工程を再帰的に実行することにより前記n個の2階調データを生成するよう制御する制御工程と、
    を備えることを特徴とする画像処理方法。
  4. 請求項3に記載の画像処理方法をコンピュータに実行させるためのプログラム。
  5. 請求項2に記載の画像処理方法により生成される前記n個の2階調データをインクの吐出のオン/オフに対応させて記録することを特徴とするインクジェット記録装置。
JP2007181441A 2007-07-10 2007-07-10 画像処理装置および画像処理方法、並びに、インクジェット記録装置 Expired - Fee Related JP4838769B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007181441A JP4838769B2 (ja) 2007-07-10 2007-07-10 画像処理装置および画像処理方法、並びに、インクジェット記録装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007181441A JP4838769B2 (ja) 2007-07-10 2007-07-10 画像処理装置および画像処理方法、並びに、インクジェット記録装置

Publications (2)

Publication Number Publication Date
JP2009020617A JP2009020617A (ja) 2009-01-29
JP4838769B2 true JP4838769B2 (ja) 2011-12-14

Family

ID=40360225

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007181441A Expired - Fee Related JP4838769B2 (ja) 2007-07-10 2007-07-10 画像処理装置および画像処理方法、並びに、インクジェット記録装置

Country Status (1)

Country Link
JP (1) JP4838769B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8294964B2 (en) * 2009-04-08 2012-10-23 Xerox Corporation CMYK to CMYKKpRGB transform for halftone dot overlap control
JP5237215B2 (ja) * 2009-07-15 2013-07-17 キヤノン株式会社 画像処理装置及び方法
JP6332529B2 (ja) * 2017-06-08 2018-05-30 株式会社リコー 画像処理システム

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000067246A (ja) * 1998-08-18 2000-03-03 Hajime Matsuoka 色空間上の線分による画像の領域分割
US6501564B1 (en) * 1999-05-07 2002-12-31 Hewlett-Packard Company Tone dependent plane dependent error diffusion halftoning
JP4467771B2 (ja) * 2000-11-30 2010-05-26 キヤノン株式会社 画像処理装置及び画像処理方法
JP4280473B2 (ja) * 2002-09-20 2009-06-17 キヤノン株式会社 画像処理装置および方法
JP4552400B2 (ja) * 2003-08-07 2010-09-29 セイコーエプソン株式会社 画像表示装置、画像表示方法及び画像表示プログラム
JP2005277657A (ja) * 2004-03-24 2005-10-06 Fuji Xerox Co Ltd 画像処理装置、画像形成装置及びその制御方法
JP2006067510A (ja) * 2004-08-30 2006-03-09 Canon Inc 画像処理装置、画像処理方法
JP2006148334A (ja) * 2004-11-17 2006-06-08 Canon Inc 画像処理方法および記録システム
JP4535978B2 (ja) * 2005-09-22 2010-09-01 コニカミノルタIj株式会社 画像形成装置、画像形成方法及び画像形成プログラム

Also Published As

Publication number Publication date
JP2009020617A (ja) 2009-01-29

Similar Documents

Publication Publication Date Title
US8922856B2 (en) Image processing apparatus, image forming apparatus, and control method thereof for printing based on constraining condition information
US7798589B2 (en) Image forming apparatus, image processing apparatus, and control method therefor
JP5921110B2 (ja) 画像処理装置およびその制御方法
EP1267565B1 (en) Method for multilevel printing of digital images using reduced colorant amounts
JP3885310B2 (ja) 印刷画像の欠陥を減少するためのハーフトーン画像発生装置および方法
JPH11314383A (ja) プリント・ドライバ製造方法及びカラー印刷システム
JP2009262455A (ja) 画像形成装置、その制御手段及びコンピュータプログラム
US20080123147A1 (en) Control Of Ink Ejection Amount Based on Dot Formation Order
JP4599239B2 (ja) 画像処理方法及び画像処理装置
EP1437678B1 (en) Colorimetric ink depletion processing for printers
JP4838769B2 (ja) 画像処理装置および画像処理方法、並びに、インクジェット記録装置
JP2005041041A (ja) インクジェット印刷のためのエッジ処理
JP2011025658A (ja) 画像形成装置及び画像形成方法
JPH115298A (ja) 画像形成装置のエッジ補間方法及びエッジ補間装置
JP2006115431A (ja) 中間階調処理装置、印刷装置、情報処理装置、中間階調処理方法及びプログラム
EP0954164B1 (en) Printer with progressive column error diffusion system and method of using the same for improved printer throughput
JP2010120185A (ja) 画像処理装置及び画像処理方法
US6249354B1 (en) Image processing apparatus and method
JP2005280276A (ja) インクジェット記録方法およびインクジェット記録システム
JP2005053147A (ja) インクジェット印刷のためのエッジ処理
JP4251492B2 (ja) 画像処理装置、画像記録装置、プログラムおよび記録媒体
JP2005059499A (ja) 画像形成装置及び方法、記録ヘッド、コンピュータプログラム並びに記録媒体
JP2005295131A (ja) 画像処理装置、画像処理方法および画像処理プログラム
JP2007129559A (ja) 画像処理装置および画像処理システム
JP3870604B2 (ja) データ変換装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100707

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110829

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: 20110902

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: 20110930

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141007

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141007

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees