JP2010064347A - 制御装置、制御方法、及びコンピュータプログラム - Google Patents

制御装置、制御方法、及びコンピュータプログラム Download PDF

Info

Publication number
JP2010064347A
JP2010064347A JP2008232397A JP2008232397A JP2010064347A JP 2010064347 A JP2010064347 A JP 2010064347A JP 2008232397 A JP2008232397 A JP 2008232397A JP 2008232397 A JP2008232397 A JP 2008232397A JP 2010064347 A JP2010064347 A JP 2010064347A
Authority
JP
Japan
Prior art keywords
constraint information
scan
halftone
color
data
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.)
Pending
Application number
JP2008232397A
Other languages
English (en)
Other versions
JP2010064347A5 (ja
Inventor
Yasuhiro Ito
靖浩 伊藤
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 JP2008232397A priority Critical patent/JP2010064347A/ja
Priority to US12/556,055 priority patent/US8432581B2/en
Publication of JP2010064347A publication Critical patent/JP2010064347A/ja
Publication of JP2010064347A5 publication Critical patent/JP2010064347A5/ja
Priority to US13/745,616 priority patent/US8514455B2/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/40Picture signal circuits
    • H04N1/405Halftoning, i.e. converting the picture signal of a continuous-tone original into a corresponding signal showing only two levels
    • H04N1/4051Halftoning, i.e. converting the picture signal of a continuous-tone original into a corresponding signal showing only two levels producing a dispersed dots halftone pattern, the dots having substantially the same size
    • H04N1/4052Halftoning, i.e. converting the picture signal of a continuous-tone original into a corresponding signal showing only two levels producing a dispersed dots halftone pattern, the dots having substantially the same size by error diffusion, i.e. transferring the binarising error to neighbouring dot decisions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/40Picture signal circuits
    • H04N1/405Halftoning, i.e. converting the picture signal of a continuous-tone original into a corresponding signal showing only two levels
    • H04N1/4055Halftoning, i.e. converting the picture signal of a continuous-tone original into a corresponding signal showing only two levels producing a clustered dots or a size modulated halftone pattern
    • H04N1/4056Halftoning, i.e. converting the picture signal of a continuous-tone original into a corresponding signal showing only two levels producing a clustered dots or a size modulated halftone pattern the pattern varying in one dimension only, e.g. dash length, pulse width modulation [PWM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/46Colour picture communication systems
    • H04N1/52Circuits or arrangements for halftone screening

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Color, Gradation (AREA)
  • Facsimile Image Signal Circuits (AREA)
  • Ink Jet (AREA)
  • Fax Reproducing Arrangements (AREA)

Abstract

【課題】 シート状の記録媒体上に従来よりも良好にドットを配置することを目的とする。
【解決手段】 同一の走査内でのシアン及びマゼンタの制約情報による制約を、隣接する走査間におけるシアン及びマゼンタの制約情報による制約よりも強くする。したがって、ドットが着弾した直後に、ドットの着弾位置の隣接域に異なる色のドットが着弾されることを防ぐことができる。
【選択図】 図1

Description

本発明は、制御装置、制御方法、及びコンピュータプログラムに関し、特に、シート状の記録媒体に画像を形成するために用いて好適なものである。
ワードプロセッサ、パーソナルコンピュータ、ファクシミリ等の画像出力装置としては、一般に、所望される文字や画像等の情報を、用紙やフィルム等のシート状の記録媒体に記録する記録装置が用いられる。このような記録装置としては様々な記録方式のものがある。なかでも記録媒体に記録剤を付着させることで記録媒体上に画像を形成する方式が広く実用化されている。このような方式の代表例として、インクジェット記録方式が知られている。
インクジェット記録方式を適用した記録装置においては、記録速度の向上や高画質化等を実現するために、同一色同一濃度のインクを吐出可能な複数のインク吐出口(ノズル)を集積配列したノズル群を備える。更に、画質の向上を実現するために、同一色で濃度の異なるインクを吐出可能としたノズル群や、同一色で同一濃度のインクの吐出量を何段階かに変えて吐出可能としたノズル群が記録装置に設けられる場合もある。
このような記録装置において、多値の入力画像データをドットの記録信号にあたる2値画像(又はN値:Nは2以上であって入力画像データの階調数より少ない階調数)に変換する2値化処理(N値化処理)の手法として、誤差拡散法が知られている。誤差拡散法によれば、ある画素で生じた2値化誤差(又はN値化誤差)を、その画素の周囲の複数の画素へ拡散することにより、擬似的に階調表現を行う。
また、誤差拡散法の他に、多値の入力画像データをドットの記録信号にあたる2値画像(又はN値:Nは2以上であって入力画像データの階調数より少ない階調数)に変換する手段として、ディザ法が知られている。ディザ法によれば、予め用意した閾値マトリクスと多値の入力データとを比較してN値化を行うことで、擬似的に階調表現を行う。ディザ法は誤差拡散法よりも処理が単純であるため、より高速な処理を行うことが可能となる。
前述した誤差拡散法やディザ法によって階調数が変換された画像を、実際に記録媒体上に形成する際に、その画質向上を目的として、画像の形成順や配置を決定する技術が提案されている(例えば、特許文献1参照)。かかる技術によれば、走査毎に誤差拡散法を適用することにより、各走査のレジストレーションが変動した場合でも、濃度ムラ等による画像品質の低下を抑えることが可能となる。具体的には、所定の記録媒体における同一の主走査記録領域に対して異なるノズル群によって複数回主走査を行い、その主走査毎に誤差拡散法により2値(またはN値)画像を形成する。このように主走査毎に誤差拡散法を実施して2値画像を生成する場合、主走査内のドット配置の分散性が高く均一となる。したがって、複数の主走査によって画像が形成される際に、記録媒体の送り量や記録素子の位置等の物理的なレジストレーションが変動しても、粒状性の変化は発生しにくくなるという効果がある。更に、複数の走査間のドット配置において相関が少ないため、レジストレーションが変動しても、紙面に対するドットの被覆率変化が低減され、濃度ムラがかなり緩和される。
特開2000-103088号公報
しかしながら、前述した従来の手法によれば、印字の際に走査方向が複数ある(例えば、往復印字における往路と復路のような場合)ことを考慮していない。このため、ドットの配置の仕方によっては、複数の走査方向(往路と復路)で、互いのトッドが近づきすぎてしまい、にじみが発生してしまうという問題点があった。
本発明は、このような問題点に鑑みてなされたものであり、シート状の記録媒体上に従来よりも良好にドットを配置することを目的とする。
本発明の制御装置は、シート状の記録媒体の上を相対的に走査しながら、前記記録媒体の表面に、異なる色のドットを個別に付着させるための記録素子における色の付着動作を制御する制御装置であって、前記異なる色のドットが相互に近づかないようにするための制約を示す制約情報を色毎に個別に作成する制約情報作成手段と、前記制約情報作成手段により作成された制約情報に基づいて、入力された画像データに対してN値化処理(Nは2以上の整数)を施して、当該画像データに基づく画像を前記記録媒体の表面に形成するためのドットパターンを色毎に個別に作成するドットパターン作成手段とを有し、前記制約情報作成手段は、前記記録素子における同一の走査内での前記制約を、前記記録素子における相互に隣接する走査間における前記制約よりも強くするように、前記制約情報を作成することを特徴とする。
本発明の制御方法は、シート状の記録媒体の上を相対的に走査しながら、前記記録媒体の表面に、異なる色のドットを個別に付着させるための記録素子における色の付着動作を制御する制御方法であって、前記異なる色のドットが相互に近づかないようにするための制約を示す制約情報を色毎に個別に作成する制約情報作成ステップと、前記制約情報作成ステップにより作成された制約情報に基づいて、入力された画像データに対してN値化処理(Nは2以上の整数)を施して、当該画像データに基づく画像を前記記録媒体の表面に形成するためのドットパターンを色毎に個別に作成するドットパターン作成ステップとを有し、前記制約情報作成ステップは、前記記録素子における同一の走査内での前記制約を、前記記録素子における相互に隣接する走査間における前記制約よりも強くするように、前記制約情報を作成することを特徴とする。
本発明のコンピュータプログラムは、シート状の記録媒体の上を相対的に走査しながら、前記記録媒体の表面に、異なる色のドットを個別に付着させるための記録素子における色の付着動作を制御するための処理をコンピュータに実行させるためのコンピュータプログラムあって、前記異なる色のドットが相互に近づかないようにするための制約を示す制約情報を色毎に個別に作成する制約情報作成ステップと、前記制約情報作成ステップにより作成された制約情報に基づいて、入力された画像データに対してN値化処理(Nは2以上の整数)を施して、当該画像データに基づく画像を前記記録媒体の表面に形成するためのドットパターンを色毎に個別に作成するドットパターン作成ステップとをコンピュータに実行させ、前記制約情報作成ステップは、前記記録素子における同一の走査内での前記制約を、前記記録素子における相互に隣接する走査間における前記制約よりも強くするように、前記制約情報を作成することを特徴とする。
本発明によれば、異なる色のドットが相互に近づかないようにするための制約が、記録素子における同一の走査内におけるものの方が、相互に隣接する走査間におけるものよりも強くなるようにした。したがって、ある色のドットが記録媒体の表面に付着するしてから、その色と異なる色のドットが記録媒体の表面に付着するまでの時間が短い場合に、それらのドットを相互に近づけないようにすることができる。したがって、シート状の記録媒体上に従来よりも良好にドットを配置することができる。
(第1の実施形態)
以下に、図面を参照しながら、本発明の第1の実施形態について説明する。尚、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
図1は、画像形成システムの構成の一例を示すブロック図である。
図1において、画像処理装置1は、例えば一般的なパーソナルコンピュータにインストールされたプリンタドライバによって実施され得る。その場合、以下に説明する画像処理装置1の各部は、コンピュータが所定のプログラムを実行することにより実現されることになる。また、例えば、プリンタ2が画像処理装置1を含む構成としてもよい。
画像処理装置1とプリンタ2は、プリンタインタフェース又は回路によって相互に接続されている。
画像入力端子101は、印刷対象の画像データを外部から入力し、これを入力画像バッファ102に格納する。色分解処理部103は、入力された画像データをプリンタ2が備えるインク色へ色分解する。この色分解処理に際しては、色分解用ルックアップテーブル(LUT)104が参照される。
走査Duty設定部105は、走査Duty設定用LUT106を参照して、色分解処理部103にて分解された各インク色の値を更に走査毎の各インク色の値へ変換し、走査Dutyバッファ107にそのデータを格納する。本実施形態における走査Dutyデータは、各走査における記録インクの量を示すものである。
ハーフトーン処理部108は、走査Duty設定部105によって得られた走査毎の各インク色の多階調(3階調以上)値のデータを、後述する制約情報バッファ109に蓄えられた値に基づいて2値画像データに変換する。
制約情報バッファ109には、記録される画像上のアドレスにドットが形成されやすいか否かを示す制約情報が蓄えられている。尚、本実施形態では、シアン(C)とマゼンタ(M)で1つの制約情報バッファ109を共用するようにしている。一方、イエロー(Y)とブラック(K)に関しては各色独立で制約情報バッファ109を持つ。
ハーフトーン画像格納バッファ110には、ハーフトーン処理部108にて得られた各色の2値画像データが格納される。
制約情報演算部111は、ハーフトーン画像格納バッファ110に格納された2値画像データと、走査Dutyバッファ107に格納された"走査毎の各インクの値のデータ"とに基づく所定の演算を行って、制約情報バッファ109の内容を更新する。
ハーフトーン画像格納バッファ110に格納された2値画像データは、画像出力端子112よりプリンタ2へ出力される。
プリンタ2は、紙等のシート状の記録媒体202に対して記録ヘッド201を相対的に縦横に移動することにより、画像処理装置1にて形成された2値画像データを記録媒体202上に形成する。記録ヘッド201としては、熱転写方式、電子写真方式、インクジェット方式等のものを用いることができ、いずれも1つ以上の記録素子(インクジェット方式であればノズル)を有する。
移動部203は、ヘッド制御部204の制御下で、記録ヘッド201を移動する。搬送部205は、ヘッド制御部204の制御下で、記録媒体202を搬送する。また、インク色選択部206は、画像処理装置1により形成された各色の2値画像データに基づいて、記録ヘッド201に搭載されるインク色の中から、インク色を選択する。
図2は、記録ヘッド201の構成の一例を示す図である。本実施形態ではC、M、Y、Kの4色のインクに加え、相対的にインク濃度が低い淡シアン(Lc)、淡マゼンタ(Lm)を含めた6色のインクを、記録ヘッド201に搭載している。
また、本実施形態の記録ヘッド201は、主走査方向において双方向の移動を行いながらインクを吐出する。すなわち、プリンタ2は、印刷時に往路印刷と復路印刷とを行い、往路印刷(往路の走査)を行う際には、図2に向かって右から左へ、復路印刷(復路の走査)を行う際には、図2に向かって左から右へ記録ヘッド201を移動させながらインクの吐出を行う。
本実施形態においては、図2に示す通り、記録ヘッド201は、ノズルが主走査方向に対して左からシアン、マゼンタの順に並んでいる。このため、往路の走査を行う際には、シアン、マゼンタの順でインクが吐出される。これに対し、復路の走査を行う際には、主走査方向に対する色の吐出順が逆転し、マゼンタ、シアンの順でインクが吐出される。このため、復路の走査を行う時と往路の走査を行う時とでハーフトーン処理の順序を逆転させる必要がある。
尚、図2では、説明を簡単にするために、用紙搬送方向にノズルが一列に配置された構成を示している。しかしながら、ノズルの数、配置はこの例に限られるものではない。例えば、同一色でも吐出量が異なるノズル列を有しても良いし、同一の吐出量のノズルが複数列あっても良いし、ノズルがジグザグに配置されているような構成であっても良い。また、図2では、各インク色をヘッド移動方向に沿って一列に配置しているが、各インク色を用紙搬送方向に沿って一列に配置する構成であっても良い。
次に、図3のフローチャートを参照しながら、画像処理装置1における画像形成処理の概要の一例を説明する。尚、図3以降の説明では、特にシアンとマゼンタの印字処理に注目して説明するが、他の色もシアンとマゼンタと同様に印字処理を行うことができる。
まず、画像入力端子101は、多階調のカラー画像データを入力して、入力画像バッファ102に格納する(ステップS1)。
次に、色分解処理部103は、入力された画像データに対して色分解処理を行う(ステップS2)。
次に、ハーフトーン処理部108は、往路の走査におけるシアンに関してのハーフトーン処理を行い、往路の走査で印字するドットを決定する(ステップS3)。
次に、往路の走査におけるシアンに関してのハーフトーン処理の結果に基づき、往路の走査におけるマゼンタに関してのハーフトーン処理を行い、往路の走査で印字するドットを決定する(ステップS4)。
そして、プリンタ2は、ステップS3、S4の処理結果を参照し、往路の印字を行う(ステップS5)。
次に、ハーフトーン処理部108は、復路の走査におけるマゼンタに関してのハーフトーン処理を行い、復路の走査で印字するドットを決定する。
次に、ハーフトーン処理部108は、復路の走査におけるマゼンタに関してのハーフトーン処理の結果に基づき、復路の走査におけるシアンに関してのハーフトーン処理を行い、復路の走査で印字するドットを決定する(ステップS7)。
そして、プリンタ2は、ステップS6とS7の処理結果を参照し、復路の印字を行う(ステップS8)。
次に、ハーフトーン処理部108は、全ての走査が完了したかどうかを判定する(ステップ9)。この判定の結果、全ての走査が完了していれば図3によるフローチャートの処理を終了する。一方、全ての走査が完了していなければ、ステップS3に戻る。
次に、図4のフローチャートを参照しながら、画像処理装置1における画像形成処理の詳細の一例を説明する。この図4のフローチャートは、図3に示したフローチャートを詳しく示したものである。
まず、画像入力端子101は、多階調のカラー画像データを入力して、入力画像バッファ102に格納する(ステップS101)。ここで入力されるカラー画像データは、レッド(R)、グリーン(G)、ブルー(B)の3つの色成分によりカラー画像データを構築している。
次に、色分解処理部103は、入力画像バッファ102に格納された多階調のカラー画像データに対し、色分解用LUT104を用いて、RGBからCMYK及びLcLmのインク色プレーンへの色分解処理を行う(ステップS102)。本実施形態では、色分解処理後の各画素データを8ビットとして扱う。しかしながら、8ビット以上の階調数への変換を行っても構わない。
前述したように本実施形態における記録ヘッド201は、6種類のインク色を保有する。そのため、赤(R)、緑(G)、青(B)のカラー画像データは、シアン(C)、マゼンタ(M)、黄(Y)、黒(K)淡シアン(Lc)、淡マゼンタ(Lm)の各プレーンの計6プレーンの画像データへ変換される。即ち、6種類のインク色に対応した6種類のプレーンの画像データが生成される。
ここで、図5を参照しながら、本実施形態における色分解処理の詳細の一例を説明する。
図5は、色分解処理部103に入力される画像データと色分解処理部103から出力される画像データの詳細の一例を示す図である。図5に示すように、色分解処理部103は、色分解用LUT104を参照して、入力したカラー画像データR'G'B'を、以下の式(1)〜式(6)の通りに、CMYKLcLmの画像データへ変換する。
C=C_LUT_3D(R',G',B') ・・・(1)
K=M_LUT_3D(R',G',B') ・・・(2)
Y=Y_LUT_3D(R',G',B') ・・・(3)
K=K_LUT_3D(R',G',B') ・・・(4)
Lc=Lc_LUT_3D(R',G',B') ・・・(5)
Lm=Lm_LUT_3D(R',G',B') ・・・(6)
ここで、式(1)〜式(6)の右辺に定義される各関数が、色分解用LUT104の内容に該当する。色分解用LUT104は、赤(R)、緑(G)、青(B)の3つの入力値から、各インク色への出力値を定めるためのテーブルである。本実施形態では、CMYKLcLmの6色を具備する構成であるため、色分解用LUT104は、3つ入力値から6つ出力値を得るための構成となる。
以上の処理により、本実施形態における色分解処理が完了する。
図4の説明に戻り、次に、走査Duty設定部105は、走査番号kと、色分解処理によって得られた画像データの切り出し位置(色分解データ切り出し位置)Ycut(k)とを設定する(ステップS103)。尚、以下の説明では、色分解処理によって得られた画像データを、必要に応じて色分解後画像データと称する。
色分解データ切り出し位置Ycut(k)は、色分解後画像データの走査番号kにおける切り出し位置である。この色分解データ切り出し位置Ycut(k)は、Y軸の座標(縦方向の座標)であり、記録ヘッド201に備わっているノズルのうち、最上端にあるノズルの座標に相当する。尚、走査番号kの初期値は1であり、処理ループ毎に1ずつインクリメントされる。また、本実施形態においては、記録ヘッド201は双方向で印字を行うため、走査番号kの値により往路印字になる場合と復路印字になる場合とが存在する。本実施形態においては、走査番号kの値により、以下の様に分類される。
k=1,3,5,・・・ :往路
k=2,4,6,・・・ :復路
以下では、Y軸方向に一列に16個のノズル(16個のノズルからなるノズル列)を記録ヘッド201が具備し、画像上の同一主走査記録領域に対して4回のスキャンで画像を形成させる4パス印字を行う場合を例に挙げて説明する。
図6は、色分解データ切り出し位置Ycut(k)の設定方法の一例を説明する図である。
一般的に、4パス印字の場合、図6に示すように、走査番号kが初期値(k=1)の走査では、記録ヘッド201に備わっているノズルのうち、下端から1/4のノズルのみを使用して画像を形成する。次の走査番号(k=2)の走査では、走査番号kが1の走査のときよりも、記録ヘッド201に備わっている16個のノズルの1/4に相当する長さ(ノズル4個分に相当する長さ)だけ下方に紙送りしてから画像を形成する。更に、その次の走査番号(k=3)の走査では、走査番号kが2の走査のときよりも、記録ヘッド201に備わっている16個のノズルの1/4に相当する長さ(ノズル4個分に相当する長さ)だけ下方に紙送りしてから画像を形成する。このような画像形成及び紙送りを繰り返して、最終的に出力される画像(最終出力画像)が形成される。そのため、走査番号kが1の場合、記録ヘッド201に備わっているノズルのうち、最上端にあるノズルのY軸の座標(縦方向の座標)に相当する位置(=−12)が、色分解データ切り出し位置Ycut(1)となる。
この色分解データ切り出し位置Ycut(k)を一般化すると、式(7)のようになる。ここで、Nzzlは、記録ヘッド201においてY軸方向に一列に配置されているノズルの数であり、Passは、パス数(同一主走査記録領域に対するスキャンの回数)であり、kは、走査番号である。
Ycut(k)=−Nzzl+(Nzzl/Pass)×k ・・・(7)
図4の説明に戻り、以上のようにして色分解データ切り出し位置Ycut(k)が設定されると、走査Duty設定部105は、走査Duty設定用LUT106と、色分解後画像データとに基づき、往路の走査に対するDuty値を設定する(ステップS104)。
図7は、走査Duty設定用LUT106に与えられる値の一例を概念的に示す図である。
16個のノズルからなるノズル列を用いて4パス印字を行う場合、走査Duty設定用LUT106には、図7に示すような値が与えられる。図7の縦軸はノズルの位置、横軸はDuty分割率を示す。
図7に示すように、本実施形態では、変曲点P1〜P4を4ノズル毎に設定した後、各変曲点P1〜P4を線形補間して16ノズル分のDuty分割率を求める。そして、求めた16ノズル分のDuty分割率を走査Duty設定用LUT106に保持する。ここで、変曲点P1〜P4の数値は、以下の式(8)の条件を満足するように設定される。
P1+P2+P3+P4=1.0 ・・・(8)
尚、走査Duty設定用LUT106として保持される値は、以上の設定方法に限られるものではない。例えば、変曲点を更に細かく設定してもよいし、Duty分割率をノズル毎に直接個別に指定しても良い。
図8は、走査Dutyの設定方法の一例を説明する図である。
図8に示すように、ステップS104で設定される走査Dutyは、走査Duty設定用LUT106の値と、色分解後画像データとの積として設定される。すなわち、図8に示すように、色分解後画像データ1801に対して、ノズル毎に設定されたDuty分割率1802を乗じることにより、ノズル毎の走査Duty1803が得られる。これにより、実際の走査時には、ターゲットとする色分解後画像データに対し、各ノズルは走査Dutyバッファ803分のみのインクを吐出して画像を形成する。
ここで本実施形態においては、対応するノズルが、画像のY軸方向のアドレスの領域外の座標に位置するときは、走査Dutyの値を0とする。
図9は、走査番号kが1の場合の走査Dutyの算出方法の一例を説明する図である。
図9に示すように、走査番号kが1の場合には、16個のノズルからなるノズル列の上から3/4のノズル(上から12個のノズル)における"画像のY軸方向のアドレス(画像Yアドレス)"が負になる。このため、これら12個のノズルに対する走査Dutyの値として0が設定され、ノズル列の下から1/4のノズル(下から4個のノズル)に対する走査Dutyの値として有意な値が設定される。
図10は、走査番号kが1〜7の場合の走査Dutyの一例を示す図である。
また、色分解データ切り出し位置Ycut(k)は、走査番号kによって決まる。このため、走査番号kが1〜7の場合、走査Duty1803は、図10に示すように決定される。
図10では、各走査番号(k=1〜7)における走査Duty1803a〜803gが示されており、走査番号k毎に走査Dutyが異なっていることが分かる。図10における各走査Duty1803a〜803gは、色分解後画像データ1801と、走査Duty設定用LUT106に格納されているDuty分割率1802との積により定まる。このため、紙送りしながらこれらの積をとると、図10の領域1の部分では、走査番号kが1〜4の4回の走査で形成される1ラスタの合計値が色分解後画像データ1801と同じになる。同様に領域2、3、4においても、1ラスタの合計値が色分解後画像データと同じになる。
本実施形態においては、図10に示すように走査Duty1803a〜803gが分解される。また、本発明では、予めDuty分解閾値D_Th3を用意しておき、このDuty分解閾値D_Th3と、色分解後画像データ1801とを比較する。そして、Duty分解閾値D_Th3よりも色分解後画像データ1801の値が小さい場合(後述する式(10)〜式(15)に相当)には、4回の走査で画像を形成せずに、1〜3回の走査で画像を形成するようにする。
前述したような走査Duty設定部105における走査Duty1803の設定を、例えばシアンC(X,Y)に限って式で詳細に表すと、以下の式(9)〜式(15)のように与えられる。ここで、C_d(X,Y)は、アドレス(X,Y)における走査Dutyを示す。S_LUT(Y)は、アドレスYにおける走査Duty設定用LUT106の値を示す。また、0≦nx<画像Xサイズ(画像のX軸方向(横方向、ヘッド移動方向)のサイズ)、0≦ny<Nzzl(ノズル列を構成するノズルの数、ここでは16)が満たされるようにする。また、Duty分解閾値として、前述した閾値D_Th3に加えて、更に小さい閾値D_Th2、D_Th1(D_Th3>D_Th2>D_Th1)が定義されている。
まず、C(nx,Ycut(k)+ny)>D_Th3のとき、走査DutyC_d(nx,ny)は、以下の式(9)のようになる。
C_d(nx,ny)=C(nx,Ycut(k)+ny)×S_LUT(ny) ・・・(9)
また、C(nx,Ycut(k)+ny)≦D_Th1のとき、走査DutyC_d(nx,ny)は、以下の式(10)、式(11)のようになる。
すなわち、走査番号kが「1,5,・・・,4n+1(nは0以上の整数)」では、走査DutyC_d(nx,ny)は、以下の式(10)のようになる。
C_d(nx,ny)=C(nx,Ycut(k)+ny) ・・・(10)
一方、前記以外の走査番号kでは、走査DutyC_d(nx,ny)は、以下の式(11)のようになる。
C_d(nx,ny)=0 ・・・(11)
また、C(nx,Ycut(k)+ny)≦D_Th2のとき、走査DutyC_d(nx,ny)は、以下の式(12)、式(13)のようになる。
すなわち、走査番号kが「1,5,・・・,4n+1(nは0以上の整数)」及び「2,6,・・・,4n+2(nは0以上の整数)」では、走査DutyC_d(nx,ny)は、以下の式(12)のようになる。
C_d(nx,ny)=C(nx,Ycut(k)+ny)/2 ・・・(12)
一方、前記以外の走査番号kでは、走査DutyC_d(nx,ny)は、以下の式(13)のようになる。
C_d(nx,ny)=0 ・・・(13)
また、C(nx,Ycut(k)+ny)≦D_Th3のとき、走査DutyC_d(nx,ny)は、以下の式(14)、式(15)のようになる。
すなわち、「1,5,・・・,4n+1(nは0以上の整数)」、「2,6,・・・,4n+2(nは0以上の整数)」、及び「3,7,・・・,4n+3(nは0以上の整数)」では、走査DutyC_d(nx,ny)は、以下の式(14)のようになる。
C_d(nx,ny)=C(nx,Ycut(k)+ny)/3 ・・・(14)
一方、前記以外の走査番号kでは、走査DutyC_d(nx,ny)は、以下の式(15)のようになる。
C_d(nx,ny)=0 ・・・(15)
式(9)に示す走査DutyC_d(nx,ny)が、通常のDuty分解処理における走査Dutyであり、式(10)〜(15)に示す走査DutyC_d(nx,ny)が、例外のDuty分解処理における走査Dutyである。色分解後画像データの値が、Duty分解閾値D_Th1以下の場合には、式(10)、式(11)で示すように1回の走査で画像を形成するようにする。また、色分解後画像データの値が、Duty分解閾値D_Th2以下の場合には、式(12)、式(13)で示すように2回の走査で画像を形成するようにする。そして、色分解後画像データの値が、Duty分解閾値D_Th3以下の場合には、式(14)、式(15)で示すように3回の走査で画像を形成するようにする。
Lc(X,Y)、M(X,Y)、Lm(X,Y)、Y(X,Y)、K(X,Y)に対しても同様に、前記式により走査Dutyへの分解が行われる。
尚、本実施形態では、4パス印字を行う場合を例に挙げて説明したため、式(10)〜式(15)のようにして例外のDuty分解処理における走査Dutyを設定した。しかしながら、4パス印字以外の印字を行う場合にも、例外のDuty分解処理における走査Dutyを設定することができる。例えば8パス印字を行う場合でも同様に、Duty分解閾値D_Th1〜D_Th7を設定して、例外のDuty分解処理における走査Dutyを設定する必要がある。
以上のように走査Duty設定部105で設定された走査Dutyのデータは、走査Dutyバッファ107に格納される(ステップS105)。
図11は、走査Dutyバッファ107に格納される走査Dutyのデータの一例を概念的に示す図である。
図11に示すように、走査Dutyバッファ107は、Y軸方向(縦方向)がノズル数、X軸方向(横方向)が画像のX軸方向のサイズ(画像Xサイズ)に相当するバンド状の走査Dutyのデータの値を、色毎に格納する。
図4の説明に戻り、ステップS106において、ハーフトーン処理部108は、シアンのハーフトーン処理を行う。シアンのハーフトーン処理は、走査Dutyバッファ107に格納されている"シアンに対する走査Dutyのデータ"と、制約情報バッファ109に格納されている制約情報との合計値を、2レベルの階調値(2値データ)に変換する処理である。
図12は、制約情報バッファ109に格納される制約情報のデータの一例を概念的に示す図である。
図12に示すように、制約情報バッファ109は、Y軸方向(縦方向)がノズル数、X軸方向(横方向)が画像のX軸方向のサイズ(画像Xサイズ)に相当するバンド状の制約情報のデータを有する。本実施形態では、この制約情報のデータをシアンとマゼンタとで共用する。
制約情報バッファ109には、記録される画像上のアドレスに2値画像が形成されやすいか否かを示す制約情報が格納される。この制約情報は、走査番号kごとに更新される。ただし、走査番号が1の処理を開始する時には、制約情報の初期値として全て0が代入される。
すなわち、制約情報をシアンとマゼンタとで共用すると、アドレス(X,Y)における制約情報は、CM_r(X,Y)、Lc_r(X,Y)、Lm_r(X,Y)、Y_r(X,Y)、K_r(X,Y)の5つとなる。これらの初期値は以下の式(16)〜式(20)のように記述される。尚、ここでは、0≦nx<画像Xサイズ(画像のX軸方向(横方向、ヘッド移動方向)のサイズ)、0≦ny<Nzzl(ノズル列を構成するノズルの数、ここでは16)が満たされるようにする。
CM_r(nx,ny)=0 ・・・(16)
Lc_r(nx,ny)=0 ・・・(17)
Lm_r(nx,ny)=0 ・・・(18)
Y_r(nx,ny)=0 ・・・(19)
K_r(nx,ny)=0 ・・・(20)
そのため、制約情報Lc_r、Lm_r、Y_r、K_rについては、走査番号kが2以上(k≧2)のときに有意な値に更新されていくことになる。一方、シアンとマゼンタとで共用する制約情報CM_rについては、同一の走査番号内で制約情報を更新していくことになる。シアンとマゼンタとで共用するCM_rの更新についての詳細は後述する。
本実施形態のハーフトーン処理においては、多値のカラー画像データを2値画像(又は2値以上の階調数で、入力されたカラー画像データよりも階調数より少ない階調数の画像)に変換する処理として、誤差拡散法を用いる。勿論、誤差拡散法に代えて、平均誤差最小法やディザ法を使用することも可能である。
以下、説明を簡略化するため、4パス印字を行う場合であって、走査番号kが1である場合におけるシアンのハーフトーン処理の詳細を説明する。図13は、ハーフトーン処理部108のシアンに関する処理の詳細な構成の一例を示す図である。図14は、シアンのハーフトーン処理を行う場合のハーフトーン処理部108の詳細な処理の一例を説明するフローチャートである。
まず、図14に示すステップS201において、図13に示す制約情報加算部301は、シアンの走査Dutyと制約情報との合計を入力する。すなわち、制約情報加算部301は、シアンの走査Duty(C_d)と、シアンとマゼンタとで共用する制約情報(CM制約情報)CM_rの合計値である"注目画素の画素データIc"を以下の式(21)のように算出する。ただし、走査番号kが1(k=1)のとき、制約情報CM_rは全て0であるとする。
Ic=C_d+CM_r ・・・(21)
次に、ステップS202において、累積誤差加算部306は、誤差拡散処理用に累積誤差を加算する。以下に、累積誤差の加算処理について詳細に説明する。
図15は、誤差拡散係数の一例を示す図である。図15において「●」は、注目画素を表し、「→」は、処理方向を表す。
図15に示すように、ここでは、誤差拡散処理のための誤差拡散係数として、4つの誤差拡散係数K1〜K4を持つとする。例えば、K1=7/16、K2=3/16、K3=5/16、K4=1/16とする。ただし、誤差拡散係数K1〜K4は、このように固定とする必要はなく、階調に応じて変更させても良い。また、誤差拡散係数は、これら4つの係数に限らず、更に多くの係数を持つようにしても良い。
このような誤差拡散係数K1〜K4により誤差を拡散、累積するために、ハーフトーン処理部108では、シアンに対して4組の累積誤差ラインバッファ302〜305を確保する。そして、使用する累積誤差ラインバッファ302〜305を走査番号毎に、例えば以下のように切り替える。
すなわち、走査番号k=1,5,・・・,4n+1(nは0以上の整数)のときには、シアン(4n+1)累積誤差ラインバッファ302を使用する。また、走査番号k=2,6,・・・,4n+2のときには、シアン(4n+2)累積誤差ラインバッファ303を使用する。また、走査番号k=3,7,・・・,4n+3のときには、シアン(4n+3)累積誤差ラインバッファ304を使用する。また、走査番号k=4,8,・・・,4n+4のときには、シアン(4n+4)累積誤差ラインバッファ305を使用する。
図16は、累積誤差ラインバッファの記憶領域の一例を概念的に示す図である。
図16(a)において、累積誤差ラインバッファ302〜305は、記憶領域1501〜1504を有する。すなわち、累積誤差ラインバッファ302〜305は、「Ec1_0,Ec1(x)」、「Ec2_0,Ec2(x)」、「Ec3_0,Ec3(x)」、「Ec4_0,Ec4(x)」の4組の記憶領域1501〜1504を有する。例えば、シアン(4n+1)累積誤差ラインバッファ302は、1個の記憶領域Ec1_0と、入力された画像データの横方向の画素数Wと同数の記憶領域Ec1_(x)(x=1〜W)を有する。また、各シアン累積誤差ラインバッファ302〜305は、夫々、走査番号kが1、2、3、4(k=1、2、3、4)の処理の開始時にのみ、全て初期値0で初期化されている。例えば、走査番号kが5の処理の開始時には、シアン(4n+1)累積誤差ラインバッファ302は初期化されない。本実施形態では、4パス印字を行うため、1色あたり前述した4組の累積誤差ラインバッファ302〜305が必要になる。また、詳細は後述するが、マゼンタについての累積誤差ラインバッファも同様に4組必要となる。
走査番号kが1(k=1)の場合、シアン(4n+1)累積誤差ラインバッファ302を使用した誤差拡散処理が実施される。すなわち、累積誤差加算部306は、シアンの走査DutyとCM制約情報との合計値データに対して、入力された画素データの横方向の画素の位置xに対応する誤差Ec1(x)が加算される。すなわち、制約情報加算部301から入力された注目画素の画素データをIc、累積誤差を加算した後の画素データをIc'とすると、以下の式(23)が成り立つ。
Ic'=Ic+Ec1(x) ・・・(22)
次に、ステップS203において、閾値選択部307は閾値Tを選択する。閾値Tは、例えば以下の式(23)のように設定される。
T=128 ・・・(23)
或いは、ドット生成遅延を回避するため、平均量子化誤差が小さくなるよう、シアンの走査Duty(C_d)に応じて閾値Tを以下の式(24)のように細かく変更しても良い。
T=f(C_d) ・・・(24)
次に、ステップS204において、量子化部308は、誤差加算後の注目画素の画素データIc'と閾値Tとを比較し、ドットの2値化結果である出力画素値Out_cを決定する。その規則は次の式(25)、式(26)の通りである。
Ic'<Tのとき、
Out_c=0 ・・・(25)
Ic'≧Tのとき、
Out_c=255 ・・・(26)
次に、ステップS205において、誤差演算部309は、注目画素の画素データIcに誤差を加算した画素データIc'と、出力画素値Out_cとの差分Err_cを、次の式(27)のようにして算出する。
Err_c(x)=Ic'−Out_c ・・・(27)
次に、ステップS206において、誤差拡散部310は、誤差を拡散する。すなわち、誤差拡散部310は、シアン(4n+1)累積誤差ラインバッファ302を用いて、横方向の画素の位置xに応じた誤差Err_c(x)の拡散処理を、以下の式(28)のようにして行う。
Ec1(x+1)←Ec1(x+1)+Err_c(x)×7/16(x<W)
Ec1(x−1)←Ec1(x−1)+Err_c(x)×3/16(x>1)
Ec1(x)←Ec1_0+Err_c(x)×5/16 (1<x<W)
Ec1(x)←Ec1_0+Err_c(x)×8/16 (x=1)
Ec1(x)←Ec1_0+Err_c(x)×13/16 (x=W)
Ec1_0←Err_c(x)×1/16 (x<W)
Ec1_0←0 (x=W)
・・・(28)
以上で、往路時、すなわち走査番号kが1(k=1)のときのシアンの1画素分の2値化(量子化値0,255)が完了する。
以上説明したステップS201〜S206の処理を、バンド内の全ての画素(アドレス(0,0)〜(W−1,Nzzl−1))で行う(ステップS207)ことにより、シアンのハーフトーンデータのドット位置、すなわちシアンドットのオン/オフを決定できる。
図4の説明に戻り、以上のステップS106におけるシアンのハーフトーン処理が終了すると、ハーフトーン処理部108は、次の処理を行う。すなわち、ハーフトーン処理部108は、ハーフトーン処理が実行されることにより得られた"シアンの2値画像データ"を、ハーフトーン画像格納バッファ110に格納する(ステップS107)。
図17は、走査番号kが1(k=1)の場合のシアンの走査Dutyをハーフトーン処理した結果が、ハーフトーン画像格納バッファ110に格納された様子の一例を概念的に示す図である。
図17に示すように、ハーフトーン画像格納バッファ110には、走査Dutyの画素の位置に対応する"ノズル数(Nzzl)×画像のX軸方向のサイズ(画像Xサイズ:W)分の2値画像データ"が格納される。
次に、画像出力端子112は、ハーフトーン画像格納バッファ110に蓄えられたバンドデータであって、縦方向がノズル数、横方向が画像Xサイズに相当する"シアンのハーフトーンのバンドデータ(2値画像データ)"を外部に転送する(ステップS108)。
次に、制約情報演算部111は、シアンのドット配置に基づいて、CM制約情報を演算する(ステップS109)。尚、詳細は後述するが本実施形態においては、まず、シアンのドット配置に基づいてCM制約情報を算出した後、そのCM制約情報に基づいてマゼンタのドット配置を決定する。そして、決定したマゼンタのドット配置に基づいてCM制約情報を更新し、これを次の走査番号に対応する制約情報とする。
以下に、ステップS109において、シアンのドット配置に基づくCM制約情報の演算処理を行う際の処理の一例を詳細に説明する。図18は、制約情報演算部111のシアンに関する処理の詳細な構成の一例を示す図である。図19は、CM制約情報を演算する場合の制約情報演算部111の詳細な処理の一例を説明するフローチャートである。
まず、図19に示すステップS301において、図18に示す加算部401は、走査Dutyバッファ107内のシアンの走査Dutyのデータと、累積走査Dutyバッファ403に保持されているデータとを加算する。ここで累積走査Dutyバッファ403には、初期値0が代入されている。走査番号kが1(k=1)のとき、各色のデータは、以下の式(29)〜式(34)のように記述される。尚、アドレス(X,Y)における各色の累積走査Dutyバッファのデータを夫々、CM_sum_d(X,Y)、Lc_sum_d(X,Y)、Lm_sum_d(X,Y)、Y_sum_d(X,Y)、K_sum_d(X,Y)とする。また、0≦nx<画像Xサイズ(画像のX軸方向(横方向、ヘッド移動方向)のサイズ)、0≦ny<Nzzl(ノズル列を構成するノズルの数、ここでは16)が満たされるようにする。
C_sum_d(nx,ny)=0 ・・・(29)
Lc_sum_d(nx,ny)=0 ・・・(30)
M_sum_d(nx,ny)=0 ・・・(31)
Lm_sum_d(nx,ny)=0 ・・・(32)
Y_sum_d(nx,ny)=0 ・・・(33)
K_sum_d(nx,ny)=0 ・・・(34)
ここで、往路のシアンに限って説明すると、ステップS301による加算後の累積走査DutyデータC_sum_d'は、以下の式(35)のように算出される。
C_sum_d'=C_d+C_sum_d ・・・(35)
次に、ステップS302において、加算部402は、ハーフトーン画像格納バッファ110に格納された"シアンの2値画像データ"と、累積ハーフトーンバッファ404に格納されているデータとを加算する。ここで、累積ハーフトーンバッファ404には、初期値0が代入されている。走査番号kが1(k=1)のとき、各色のデータは、以下の式(36)〜式(47)のように記述される。尚、アドレス(X,Y)における走査番号kがn(k=n)のときのC、Lc、M、Lm、Y、Kの各色の"累積ハーフトーンバッファ404に格納されているデータ"を夫々以下のように示すとする。すなわち、Out_c_sum(X,Y,(n%4))、Out_lc_sum(X,Y,(n%4))、Out_m_sum(X,Y,(n%4))、Out_lm_sum(X,Y,(n%4))、Out_y_sum(X,Y,(n%4))、Out_k_sum(X,Y,(n%4))とする。ここで、%は剰余演算子を示し、3つ目の添字は、4つある累積ハーフトーンバッファ404の何番目を使用するかを表したものである。更に、各累積ハーフトーンバッファ404は、ハーフトーン処理を行ってからの経過時間TM(n%4)を持っている。また、0≦nx<画像Xサイズ(画像のX軸方向(横方向、ヘッド移動方向)のサイズ)、0≦ny<Nzzl(ノズル列を構成するノズルの数、ここでは16)が満たされるようにする。
Out_c_sum(nx,ny,0)=0 ・・・(36)
Out_lc_sum(nx,ny,0)=0 ・・・(37)
Out_m_sum(nx,ny,0)=0 ・・・(38)
Out_lm_sum(nx,ny,0)=0 ・・・(39)
Out_y_sum(nx,ny,0)=0 ・・・(40)
Out_k_sum(nx,ny,0)=0 ・・・(41)
TMc(0)=0 ・・・(42)
TMlc(0)=0 ・・・(43)
TMm(0)=0 ・・・(44)
TMlm(0)=0 ・・・(45)
TMy(0)=0 ・・・(46)
TMk(0)=0 ・・・(47)
ここで、シアンに限って説明すると、ステップS302において、走査番号kが1(k=1)のときの累積ハーフトーンデータ(2値画像データ)Out_c_sum(0)は、以下の式(48)のように算出される。
Out_c_sum(0)←Out_c ・・・(48)
ここで、各変数の添字はバッファの番号を示し、前述のOut_c_sumの3つ目の変数に相当する。また、累積ハーフトーンデータOut_cはハーフトーンデータであるので、その値は、0若しくは255の値である。
次に、ステップS303において、加算部401は、式(35)にて算出した累積走査DutyデータC_sum_d'を、累積走査Dutyバッファ403に書き込む。これにより、以下の式(49)が成り立つ。
C_sum_d←C_sum_d' ・・・(49)
次に、ステップ304において、加算部402は、式(48)にて算出した累積ハーフトーンデータOut_c_sumを、累積ハーフトーンバッファ404に書き込む。
次に、ステップS305において、累積走査Dutyフィルタ処理部405は、累積走査Dutyバッファ403に保持された累積走査DutyデータC_sum_dに対するフィルタ処理を行う。このフィルタ処理においては、同じパス内のマゼンタのドットが着弾するまでの時間差tに応じて変化する2次元ガウシアンフィルタF_m(t,x,y)を用いる。そして、以下の式(50)のようにして、フィルタ処理を行った累積走査DutyデータC_sum_dfを算出する。
C_sum_df=C_sum_d*F_m(t,x,y) ・・・(50)
ここで、*はコンボリューションを示す。また、tは、シアンのドットが打たれてから、次にマゼンタのドットが打たれるまでの着弾時間差を表す。本実施形態では、着弾時間差tの値に応じて、2次元ガウシアンフィルタF_mは、大まかに2通りの値を取り得るものとする。例えば、次のマゼンタのドットが、シアンと同一の走査内で印字される場合はt<0.1に対応する2次元ガウシアンフィルタF_mを用いる。一方、次のマゼンタのドットが、次の走査で印字される場合にはt≧0.1に対応する2次元ガウシアンフィルタF_mを用いる。尚、本実施形態では、着弾時間差tについて2通りの場合分けをしているが、もちろんより多くの場合分けを行っても構わない。
尚、2次元ガウシアンフィルタF_mは、以下の式(51)のように表される。
F_m=F'_m/Sum_m ・・・(51)
式(51)において、Sum_mは、F'_m係数の合計値である。また、F'_mは以下の式(52)で表される。
Figure 2010064347
式(52)において、σx(t)、σy(t)は、前述した着弾時間差tに応じて値が変化する。また、tは、累積ハーフトーンデータOut_c_sumに付随する時間TMcを参照して決定される。
図20は、フィルタ処理を行った後の走査Dutyのデータの一例を概念的に示す図である。
また、図21(a)は、シアンの処理に対して使用される2次元ガウシアンフィルタF_mの具体例を示す図である。尚、ここでは、フィルタ2001のサイズが3×3の正方形である場合を例に挙げて示すが、フィルタ2001のサイズは、これに限るものではない。例えば、フィルタ2001のサイズは、5×5、7×7、9×9のような正方形でも、3×5、5×7、5×9のような長方形でも良い。
次に、ステップS306において、累積ハーフトーンデータフィルタ処理部406は、累積ハーフトーンバッファ404に保持された累積ハーフトーンデータOut_c_sum(0)〜Out_c_sum(3)に対するフィルタ処理を行う。前述したが、Out_c_sumの添字はバッファの番号を示し、式(36)〜式(41)に示した累積ハーフトーンデータOut_c_sumの3つ目の変数に相当する。また、このフィルタ処理においては、着弾時間差tに応じて変化する2次元ガウシアンフィルタLPF_b(t,x,y)を用いる。そして、以下の式(53)のようにして、フィルタ処理を行った累積ハーフトーンデータOut_c_sum_LPFを算出する。
Out_c_sum_LPF(n)=Out_c_sum(n)*LPF_b(n) (n:0〜3) ・・・(53)
ここで、*はコンボリューションを示す
また、2次元ガウシアンフィルタLFP_bは、以下の式(54)のように表される。
LPF_b=LPF'_b/Sum_b ・・・(54)
式(54)において、Sum_bは、LPF'_b係数の合計値である。また、LPF'_bは以下の式(55)で表される。
Figure 2010064347
式(55)において、σx(t)、σy(t)は、前述した着弾時間差tに応じて値が変化する。tは、累積ハーフトーンデータOut_c_sumに付随する時間TMcを参照して決定される。
図21(b)は、2次元ガウシアンフィルタLPF_bの具体例を示す図である。尚、ここでもフィルタ2001と同様に、フィルタ2002のサイズが3×3の正方形である場合を例に挙げて示すが、フィルタ2002のサイズは、これに限るものではない。例えば、フィルタ2002のサイズは、5×5、7×7、9×9のような正方形でも、3×5、5×7、5×9のような長方形でも良い。ただし、十分な効果を得るために、着弾時間差tが小さいほどσx(t)、σy(t)の値が小さくなることが望ましい。
図22は、フィルタと制約の強さとの関係の一例を概念的に示す図である。
図22に示すように、フィルタの画像上での制約範囲が小さいほど、周波数空間上での制約範囲が大きくなり、結果として制約周波数範囲が大きくなる。このため、前述したように、着弾時間差tが小さいほどσx(t)、σy(t)の値が小さくなることが望ましい。
一般的に、同一の走査内で異なる色を印字する場合、異なる色のドット同士の紙面上への着弾時間差は僅かである。このときに、これら異なる色のドット同士の着弾位置が略同じだった場合、これら異なる色のドット同士は混じりあう可能性が高くなる。同一の走査内で先行して打たれたドットが、紙面上で完全に乾燥する前に、後続のドットが打たれてしまうためである。この状態を避けるため、同一の走査内で異なる色を印字する場合には、通常よりも制約を強くし、異なる色のドット同士をできるだけ離して着弾させる必要がある。
また、図21に示すように、2次元ガウシアンフィルタLFP_b(フィルタ2002)も、2次元ガウシアンフィルタF_m(フィルタ2001)と同様に、次のマゼンタのドットが打たれるまでの時間(着弾時間差)tに応じて、フィルタ係数が変化している。尚、図21では、2次元ガウシアンフィルタF_m、LPF_b(フィルタ2001、2002)のフィルタ係数として同じフィルタ係数を用いているが、異なるフィルタ係数を用いてもよい。例えば、復路の走査を行うときの制約情報による制約の強さが、往路の走査を行うときの制約情報による制約の強さよりも大きくなるように、フィルタ係数を設定することができる。
そして、累積ハーフトーンデータ合算部412は、フィルタ処理をした累積ハーフトーンデータOut_c_sum_LPF(0)〜Out_c_sum_LPF(3)を合算し一つの累積ハーフトーン画像データOut_c_sum_LPFとする。すなわち、累積ハーフトーンデータフィルタ処理部406は、以下の式(56)の計算を行う。
Figure 2010064347
次に、ステップS307において、減算部407は、累積走査Dutyフィルタ処理部405で算出されたデータから、累積ハーフトーンデータフィルタ処理部406で算出されたデータを減算する。すなわち、減算部407は、累積走査DutyデータC_sum_dfから、累積ハーフトーン画像データOut_c_sum_LPFを減算する。
次に、ステップS308において、重み積算部408は、ステップ307で算出された値に、重み係数h1(実数)を積算することによって、制約情報CM_rを得る。ステップS307、S308における処理は、以下の式(57)のように表される。
CM_r←(−Out_c_sum_LPF+C_sum_df)×h1 ・・・(57)
次に、ステップS309において、制約情報データバッファ加算部409は、式(57)で得られた制約情報CM_rのデータと、更新前のCM制約情報のデータとを加算して、シアンのドット配置を反映した後の制約情報CM_rを算出する。そして、この制約情報CM_rをマゼンタのハーフトーン処理の制約情報として保存する。
次に、ステップS310において、累積走査Dutyデータシフト部410は、累積走査Dutyバッファ403に保持された累積走査DutyデータC_sum_dを、一回の紙送り量LF(=Nzzl/Pass=16/4=4)だけ上にシフトする。ここで、シフトした累積走査DutyデータC_sum_dは、以下の式(58)のように算出される。尚、0≦nx<画像Xサイズ(画像のX軸方向(横方向、ヘッド移動方向)のサイズ)、0≦ny<Nzzl(ノズル列を構成するノズルの数、ここでは16)が満たされるようにする。
C_sum_d(nx,ny)=C_sum_d(nx,ny+LF) ・・・(58)
式(58)においても、ny+LF≧Nzzlのときは、C_sum_d(nx,ny)=0とする。すなわち、紙送り量LFに相当する下端のノズル分(この場合4ノズル分)には0を代入する。
そして、ステップS311において、累積ハーフトーンデータシフト部411は、各累積ハーフトーンデータOut_c_sum(0)〜Out_c_sum(2)の添字を1インクリメントし、累積ハーフトーンバッファ404の中身を入れ替える(式(59))。また、累積ハーフトーンデータシフト部411は、各累積ハーフトーンデータに付随する経過時間TMに、次にマゼンタドットが打たれるまでの時間tを加算し、当該経過時間TMの値も入れ替える。このとき、制約情報を共有しているシアンとマゼンタについての経過時間TMを同期させるようにする(式(60)、式(61))。
Out_c_sum(n)←Out_c_sum(n−1) ・・・(59)
TMc(n)←TMc(n−1)+t ・・・(60)
TMm(n)←TMm(n−1)+t ・・・(61)
ただし、n=1〜3である。
以上で、図4のステップS109における制約情報演算処理が終了する。
次に、ステップS110において、制約情報演算部111は、CM制約情報の演算結果により、シアンとマゼンタとで共用するCM制約情報(制約情報バッファ109)を更新する。
次に、ステップS111において、ハーフトーン処理部108は、マゼンタのハーフトーン処理を行う。マゼンタのハーフトーン処理は、走査Dutyバッファ107に格納されている"マゼンタに対する走査Dutyのデータ"と、制約情報バッファ109に格納されている制約情報との合計値を、2レベルの階調値(2値データ)に変換する処理である。尚、本実施形態における制約情報バッファ109は、シアンとマゼンタとで共用しているため、制約情報バッファ109は、図12に示したようなバッファ形態となる。
以下、マゼンタのハーフトーン処理の詳細を説明する。図23は、ハーフトーン処理部108のマゼンタに関する処理の詳細な構成の一例を示す図である。図24は、マゼンタのハーフトーン処理を行う場合のハーフトーン処理部108の詳細な処理の一例を説明するフローチャートである。
まず、図24に示すステップS401において、図23に示す制約情報加算部501は、マゼンタの走査Dutyと制約情報との合計を入力する。すなわち、制約情報加算部501は、マゼンタ走査Duty(M_d)と、シアンとマゼンタとで共用する制約情報(CM制約情報)CM_rの合計値である"注目画素の画素データIm"を、以下の式(62)のように算出する。ただし、ここで入力される制約情報CM_rには、前述した(57)式により、既にシアンの制約情報が反映されている。
Im=M_d+CM_r ・・・(62)
次に、ステップS402において、累積誤差加算部506は、誤差拡散処理用に累積誤差を加算する。以下に、累積誤差の加算処理について詳細に説明する。ここでも、誤差拡散処理のための誤差拡散係数として、図15に示したような4つの誤差拡散係数K1〜K4を持つとする。
このような誤差拡散係数K1〜K4により誤差を拡散、累積するために、ハーフトーン処理部108では、マゼンタに対して4組の累積誤差ラインバッファ502〜505を確保する。そして、使用する累積誤差ラインバッファ502〜505を走査番号毎に、例えば以下のように切り替える。
すなわち、走査番号k=1,5,・・・,4n+1(nは0以上の整数)のときには、マゼンタ(4n+1)累積誤差ラインバッファ502を使用する。また、走査番号k=2,6,・・・,4n+2のときには、マゼンタ(4n+2)累積誤差ラインバッファ503を使用する。また、走査番号k=3,7,・・・,4n+3のときには、マゼンタ(4n+3)累積誤差ラインバッファ504を使用する。また、走査番号k=4,8,・・・,4n+4のときには、マゼンタ(4n+4)累積誤差ラインバッファ505を使用する。
尚、各累積誤差ラインバッファ502〜505は、夫々、図16(b)に示すような4組の記憶領域1505〜1508を有する。すなわち、各累積誤差ラインバッファ502〜505は、「Em1_0,Em1(x)」、「Em2_0,Em2(x)」、「Em3_0,Em3(x)」、「Em4_0,Em4(x)」の記憶領域1505〜1508を有する。例えば、マゼンタ(4n+1)累積誤差ラインバッファ502は、1個の記憶領域Em1_0と、入力された画像データの横方向の画素数Wと同数の記憶領域Em1_(x)(x=1〜W)を有する。また、各マゼンタ累積誤差ラインバッファ502〜505は、夫々、走査番号kが、1、2、3、4(k=1、2、3、4)の処理の開始時にのみ、全て初期値0で初期化されている。例えば、走査番号kが5の処理の開始時には、マゼンタ(4n+1)累積誤差ラインバッファ502は初期化されない。
走査番号kが1(k=1)の場合、マゼンタ(4n+1)累積誤差ラインバッファ502を使用した誤差拡散処理が実施される。すなわち、累積誤差加算部506は、マゼンタの走査DutyとCM制約情報との合計値データに対して、入力された画素データの横方向の画素の位置xに対応する誤差Em1(x)が加算される。すなわち、制約情報加算部501から入力された注目画素の画素データをIm、累積誤差を加算した後の画素データをIm'とすると、以下の式(63)が成り立つ。
Ic'=Ic+Ec1(x) ・・・(63)
次に、ステップS403において、閾値選択部507は閾値Tを選択する。閾値Tは、例えば以下の式(64)のように設定される。
T=128 ・・・(64)
或いは、ドット生成遅延を回避するため、平均量子化誤差が小さくなるよう、マゼンタの走査Duty(M_d)に応じて閾値Tを以下の式(65)のように細かく変更しても良い。
T=f(M_d) ・・・(65)
次に、ステップS404において、量子化部508は、誤差加算後の注目画素の画素データIm'と閾値Tとを比較し、ドットの2値化結果である出力画素値Out_mを決定する。その規則は次の式(66)、式(67)の通りである。
Im'<Tのとき、
Out_m=0 ・・・(66)
Im'≧Tのとき、
Out_m=255 ・・・(67)
次に、ステップS405において、誤差演算部509は、注目画素の画素データImに誤差を加算した画素データIm'と、出力画素値Out_mとの差分Err_mを、次の式(68)のようにして算出する。
Err_m(x)=Im'−Out_m ・・・(68)
次に、ステップS406において、誤差拡散部510は、誤差を拡散する。すなわち、誤差拡散部510は、マゼンタ(4n+1)累積誤差ラインバッファ502を用いて、横方向の画素の位置xに応じた誤差Err_m(x)の拡散処理を、以下の式(69)のようにして行う。
Em1(x+1)←Em1(x+1)+Err_m(x)×7/16(x<W)
Em1(x−1)←Em1(x−1)+Err_m(x)×3/16(x>1)
Em1(x)←Em1_0+Err_m(x)×5/16 (1<x<W)
Em1(x)←Em1_0+Err_m(x)×8/16 (x=1)
Em1(x)←Em1_0+Err_m(x)×13/16 (x=W)
Em1_0←Err_m(x)×1/16 (x<W)
Em1_0←0 (x=W)
・・・(69)
以上で、走査番号kが1(k=1)のマゼンタの1画素分の2値化(量子化値0,255)が完了する。
以上説明したステップS401〜S406の処理を、バンド内の全ての画素で行う(ステップS407)ことにより、マゼンタのハーフトーン画像データのドット位置、すなわちマゼンタドットのオン/オフを決定することができる。
図4の説明に戻り、以上のステップS111におけるマゼンタのハーフトーン処理が終了すると、ハーフトーン処理部108は、次の処理を行う。すなわち、ハーフトーン処理部108は、ハーフトーン処理が実行されることにより得られた"マゼンタの2値画像データ"をハーフトーン画像格納バッファ110に格納する(ステップS112)。
図25は、走査番号kが1(k=1)の場合のマゼンタの走査Dutyをハーフトーン処理した結果が、ハーフトーン画像格納バッファ110に格納された様子の一例を概念的に示す図である。
図25に示すように、ハーフトーン画像格納バッファ110には、走査Dutyの画素の位置に対応する"ノズル数(Nzzl)×画像のX軸方向のサイズ(画像Xサイズ:W)分の2値画像データ"が格納される。
次に、画像出力端子112は、ハーフトーン画像格納バッファ110に蓄えられたバンドデータであって、縦方向がノズル数、横方向が画像Xサイズに相当する"マゼンタのハーフトーンのバンドデータ(2値画像データ)"を外部に転送する(ステップS113)。
次に、制約情報演算部111は、マゼンタのドット配置に基づいてCM制約情報を演算する(ステップS114)。
以下に、ステップS114において、マゼンタのドット配置に基づくCM制約情報の演算処理の一例を詳細に説明する。図26は、制約情報演算部111のマゼンタに関する処理の詳細な構成の一例を示す図である。図27は、CM制約情報を演算する場合の制約情報演算部111の詳細な処理の一例を説明するフローチャートである。尚、図26において、加算部402に相当する構成を付加してもよい。
まず、図27に示すステップS501において、図26に示す加算部601は、走査Dutyバッファ107内のマゼンタの走査Dutyのデータと、累積走査Dutyバッファ603に保持されているデータとを加算する。
ここで、往路のマゼンタに限って説明すると、ステップS501による加算後の累積走査DutyデータM_sum_d'は、以下の式(70)のように算出される。
M_sum_d'=M_d+M_sum_d ・・・(70)
次に、ステップS502において、累積ハーフトーンバッファ602は、ハーフトーン画像データを累積ハーフトーン画像データへ追加する。
次に、ステップS503において、加算部601は、式(70)にて算出した累積走査DutyデータM_sum_d'を、累積走査Dutyバッファ603に書き込む。これにより、以下の式(71)が成り立つ。
M_sum_d←M_sum_d' ・・・(71)
次に、ステップS504において、累積走査Dutyフィルタ処理部605は、累積走査Dutyバッファ603に保持されたM_sum_dに対するフィルタ処理を行う。このフィルタ処理においては、次のパスのシアンのドットが着弾するまでの時間差tに応じて変化する2次元ガウシアンフィルタF_m(t,x,y)を用いる。そして、以下の式(73)のようにして、フィルタ処理を行った累積走査DutyデータM_sum_dfを算出する。
M_sum_df=M_sum_d*F_m(t,x,y) ・・・(73)
ここで、*はコンボリューションを示す。また、tは、マゼンタのドットが打たれてから、次にシアンのドットが打たれるまでの着弾時間差を表す。本実施形態では、着弾時間差tの値に応じて、2次元ガウシアンフィルタF_mは、大まかに2通りの値を取り得るものとする。例えば、次のシアンのドットが、マゼンタと同一の走査内で印字される場合はt<0.1に対応する2次元ガウシアンフィルタF_mを用いる。一方、次のシアンのドットが、次の走査で印字される場合にはt≧0.1に対応する2次元ガウシアンフィルタF_mを用いる。尚、本実施形態では、着弾時間差tについて2通りの場合分けをしているが、もちろんより多くの場合分けを行っても構わない。
尚、2次元ガウシアンフィルタF_mは、前述の式(51)〜式(52)のように表される。また、tは、累積ハーフトーンデータOut_m_sumに付随する時間TMmを参照し決定される。
図28は、フィルタ処理を行った後の走査Dutyのデータの一例を概念的に示す図である。
また、前述したように図21(a)は、マゼンタの処理に対して使用される2次元ガウシアンフィルタF_mの具体例を示す図である。尚、ここでは、説明を簡略化するため、フィルタ2003のサイズが5×5の正方形である場合を例に挙げて示すが、フィルタ2003のサイズは、これに限るものではない。例えば、フィルタ2003のサイズは、7×7、9×9のような正方形でも、3×5、5×7、5×9のような長方形でも良い。
次に、ステップS505において、累積ハーフトーンデータフィルタ処理部604は、累積ハーフトーンバッファ602に保持されたOut_m_sum(0)〜Out_m_sum(3)に対するフィルタ処理を行う。このフィルタ処理においては、着弾時間差tに応じて変化する2次元ガウシアンフィルタLPF_b(t,x,y)を用いる。すなわち、前述の式(53)〜式(55)のようにして、フィルタ処理を行った累積ハーフトーンデータOut_m_sum_LPF(0)〜Out_m_sum_LPF(3)を算出する。また、tは、累積ハーフトーンデータOut_m_sumに付随する時間TMmを参照して決定される。
前述したように図21(b)は、2次元ガウシアンフィルタLPF_bの具体例を示す図である。尚、ここでもフィルタ2003と同様に、フィルタ2004のサイズが5×5の正方形である場合を例に挙げて示すが、フィルタ2004のサイズは、これに限るものではない。例えば、フィルタ2004のサイズは7×7、9×9のような正方形でも、3×5、5×7、5×9のような長方形でも良い。ただし、十分な効果を得るために、着弾時間差tが大きいほどσx(t)、σy(t)の値が小さくなることが望ましい。また、次元ガウシアンフィルタLPF_bはローパス特性を有することが好ましい。
また、図21に示すように、2次元ガウシアンフィルタLFP_b(フィルタ2004)も、2次元ガウシアンフィルタF_m(フィルタ2003)と同様に、次のシアンのドットが打たれるまでの時間(着弾時間差)tに応じて、フィルタ係数が変化している。尚、図21では、2次元ガウシアンフィルタF_m、LPF_b(フィルタ2003、2004)のフィルタ係数として同じフィルタ係数を用いているが、異なるフィルタ係数を用いてもよい。
次に、ステップS506において、累積ハーフトーンデータ合算部606は、ステップS505にてフィルタ処理をした累積ハーフトーンバッファOut_m_sum_LPF(0)〜Out_m_sum_LPF(3)を、式(56)のように合算する。そして、一つの累積ハーフトーン画像データOut_m_sum_LPFを得る。
次に、ステップS507において、制約情報データバッファシフト部610は、制約情報バッファ109に書き込まれた制約情報CM_rを、一回の紙送り量LF(=Nzzl/Pass=16/4=4)だけ上にシフトする。ここで、シフトした制約情報は、以下の式(74)により算出される。尚、0≦nx<画像Xサイズ(画像のX軸方向(横方向、ヘッド移動方向)のサイズ)、0≦ny<Nzzl(ノズル列を構成するノズルの数、ここでは16)が満たされるようにする。
CM_r(nx,ny)=CM_r(nx,ny+LF) ・・・(74)
式(74)において、ny+LF≧Nzzlのときは、CM_r(nx,ny)=0とする。すなわち、紙送り量LFに相当する下端のノズル分(この場合4ノズル分)には0を代入する。
前述したように、次の走査番号k用の制約情報を算出するためには、相対的に紙送り量LFを上方にシフトさせ、更に、紙送り量LFに相当する下端のノズル分には制約情報CM_rに0を代入する必要がある。ここで、マゼンタの処理において、制約情報CM_rを紙送り量LFだけシフトさせるのは、同一の走査番号kにおけるシアン、マゼンタのハーフトーンの画像(2値画像)が、双方とも既に処理済みだからである。更に、本実施形態では、シアンとマゼンタとで制約情報を共用しているため、同一の走査番号kにおけるシアン、マゼンタの双方のドット配置の決まった後に、制約情報CM_rを紙送り量LF分だ上方にシフトさせる。
次に、ステップS508において、累積走査Dutyデータシフト部611は、累積走査Dutyバッファ603に保持された累積走査DutyデータM_sum_dを、一回の紙送り量LF(=Nzzl/Pass=16/4=4)だけ上にシフトする。ここで、シフトした累積走査DutyデータM_sum_dは、以下の式(75)のように算出される。尚、0≦nx<画像Xサイズ(画像のX軸方向(横方向、ヘッド移動方向)のサイズ)、0≦ny<Nzzl(ノズル列を構成するノズルの数、ここでは16)が満たされるようにする。
M_sum_d(nx,ny)=M_sum_d(nx,ny+LF) ・・・(75)
式(75)においても、ny+LF≧Nzzlのときは、M_sum_d(nx,ny)=0とする。すなわち、紙送り量LFに相当する下端のノズル分(この場合4ノズル分)には0を代入する。
図29は、シフト後の走査Dutyのデータの一例を概念的に示す図である。
そして、ステップS509において、累積ハーフトーンデータシフト部612は、各累積ハーフトーンバッファOut_m_sum(0)〜Out_m_sum(2)の添字を1インクリメントする。これにより、累積ハーフトーンバッファ602の中身が入れ替わる(式(76))。また、累積ハーフトーンデータシフト部612は、各累積ハーフトーン画像データに付随する経過時間TMに、次にシアンドットが打たれるまでの時間tを加算し、当該経過時間TMの値も入れ替える。このとき、制約情報を共有しているシアンとマゼンタについての経過時間TMを同期させるようにする(式(77)、式(78))。
Out_m_sum(n)←Out_m_sum(n−1) ・・・(76)
TMm(n)←TMm(n−1)+t ・・・(77)
TMc(n)←TMc(n−1)+t ・・・(78)
ただし、n=1〜3である。
図30は、シフト後のハーフトーン画像のデータの一例を概念的に示す図である。
次に、ステップS510において、減算部607は、累積走査Dutyフィルタ処理部605で算出されたデータから、累積ハーフトーンデータフィルタ処理部604で算出されたデータを減算する。すなわち、減算部407は、累積走査DutyデータM_sum_dfから、累積ハーフトーン画像データOut_m_sum_LPFを減算する。
次に、ステップS511において、重み積算部608は、ステップ510で算出された値に、重み係数h2(実数)を積算することによって、制約情報CM_rを得る。ステップS510、S511における処理は、以下の式(79)のように表される。
CM_r←(−Out_m_sum_LPF+M_sum_df)×h2 ・・・(79)
次に、ステップS512において、制約情報データバッファ加算部609は、式(79)で得られた制約情報CM_rのデータと、シフト済みのCM制約情報(更新前のCM制約情報)のデータとを加算しする。これにより、シアン・マゼンタのドット配置を反映した後の制約情報CM_rが算出される。
以下の式(80)に、ステップS510〜S512により算出される、シアン・マゼンタのドット配置を反映した後の制約情報CM_rの演算式を示す。
CM_r←(−Out'_m_LPF+M'_df)×h2+CM'_r ・・・(80)
以上で、図4のステップS114における、マゼンタのドット配置に基づくCM制約情報の演算処理が終了する。
次に、ステップS115において、制約情報演算部111は、CM制約情報の演算結果により、シアンとマゼンタとで共用するCM制約情報(制約情報バッファ109)を更新する。このように更新されたCM制約情報は、次の走査番号k+1以降のドット配置を決定するための情報として参照される。
次に、ステップS116において、ハーフトーン画像データ(2値画像データ)を画像処理装置1から受けたプリンタ2は、その画像データに適合するインク色を選択し、印字動作を開始する。ステップS116においては、紙等のシート状の記録媒体に対して記録ヘッド201が左から右に移動しながら、一定の駆動間隔で各ノズルを駆動して記録媒体上に画像を記録する往路主走査を一回行う。更に往路主走査が終了すると、主走査と垂直方向の走査である副走査が1回行われる。
次に、ステップS117において、走査Duty設定部105は、走査番号kを1インクリメントする。そして、走査Duty設定部105は、インクリメントした走査番号kと、画像データの切り出し位置(色分解データ切り出し位置)Ycut(k)とを再び設定する。
次に、ステップS118において、走査Duty設定部105は、走査Duty設定用LUT106と、各色分解後画像データとに基づき、復路の走査に対するDuty値を設定する(ステップS118)。
ここで本実施形態においては、先に述べた往路の印字の時と同様に、対応するノズルが、画像のY軸方向のアドレスの領域外の座標に位置するときは、走査Dutyの値を0とする。
上述したような走査Duty設定部105における走査Dutyの設定を、例えばシアンC(X,Y)に限って式で詳細に表すと、前述の式(9)〜式(15)に従うようになる。尚、このときのC_d(X,Y)はアドレス(X,Y)における走査Dutyを、S_LUT(Y)はアドレスYにおける走査Duty設定用LUT106の値を夫々示す。また、0≦nx<画像Xサイズ(画像のX軸方向(横方向、ヘッド移動方向)のサイズ)、0≦ny<Nzzl(ノズル列を構成するノズルの数、ここでは16)が満たされるようにする。また、Duty分解閾値として、閾値D_Th3に加えて、更に小さい閾値D_Th2、D_Th1(D_Th3>D_Th2>D_Th1)が定義されている。
色分解後画像データの値が、Duty分解閾値D_Th1以下である場合には、式(10)、式(11)で示したように1回の走査で画像を形成するようにする。また、色分解後画像データの値が、Duty分解閾値D_Th2以下の場合には、式(12)、式(13)で示すように2回の走査で画像を形成するようにする。そして、そして、色分解後画像データの値が、Duty分解閾値D_Th3以下の場合には、式(14)、式(15)で示すように3回の走査で画像を形成するようにする。
Lc(X,Y)、M(X,Y)、Lm(X,Y)、Y(X,Y)、K(X,Y)に対しても同様に、前記式により走査Dutyへの分解が行われる。
尚、本実施形態では、4パス印字を行う場合を例に挙げて説明したため、式(10)〜式(15)のようにして例外のDuty分解処理における走査Dutyを設定した。しかしながら、4パス印字以外の印字を行う場合にも、例外のDuty分解処理における走査Dutyを設定することができる。例えば8パス印字を行う場合でも同様に、Duty分解閾値D_Th1〜D_Th7を設定して、例外のDuty分解処理における走査Dutyを設定する必要がある。
以上のように走査Duty設定部105で設定された走査Dutyのデータは、走査Dutyバッファ107に格納される(ステップSS119)。すなわち、走査Dutyバッファ107は、図11に示したように、Y軸方向(縦方向)がノズル数、X軸方向(横方向)が画像のX軸方向のサイズ(画像Xサイズ)に相当するバンド状の走査Dutyのデータ値を、色毎に格納する。
図4の説明に戻り、ステップS120において、ハーフトーン処理部108は、マゼンタのハーフトーン処理を行う。マゼンタのハーフトーン処理は、走査Dutyバッファ107に格納されている"マゼンタに対する走査Dutyのデータ"と制約情報バッファ109に格納されている制約情報との合計値を、2レベルの階調値(2値データ)に変換する処理である。
前述した通り、本実施形態においては、記録ヘッド201は、図2に示すように、ノズルが主走査に対して左からシアン、マゼンタの順に並んでいる。このため、往路の走査時と復路の走査時とでは、主走査方向に対する色の吐出順が逆転する。すなわち、復路の走査時では、マゼンタ、シアンの順に吐出される。このため、復路の走査時には、往路の走査時とは逆にマゼンタのハーフトーン処理から先に行う。
以下、復路の走査の詳細に関して、改めて説明するが、復路の走査時には、往路の走査時にシアンに関して行った処理をマゼンタに関して行い、往路の走査時にマゼンタに関して行った処理をシアンに関して行うものとなる。
以下、マゼンタのハーフトーン処理の詳細を説明する。図31は、ハーフトーン処理部108のマゼンタに関する処理の詳細な構成の一例を示す図である。図32は、マゼンタのハーフトーン処理を行う場合のハーフトーン処理部108の詳細な処理の一例を説明するフローチャートである。
まず、図32に示すステップS601において、図31に示す制約情報加算部701は、マゼンタの走査Dutyと制約情報との合計を入力する。すなわち、制約情報加算部701は、マゼンタ走査Duty(M_d)と、シアンとマゼンタとで共用する制約情報(CM制約情報)CM_rの合計値である"注目画素の画素データ"Imを、以下の式(81)ように算出する。ただし、ここで入力される制約情報CM_rには、既に往路のシアンとマゼンタの制約情報が反映されている。
Im=M_d+CM_r ・・・(81)
次に、ステップS602において、累積誤差加算部706は、誤差拡散処理用に累積誤差を加算する。以下に、累積誤差の加算処理について詳細に説明する。ここでも、誤差拡散処理のための誤差拡散係数として、図15に示したような4つの誤差拡散係数K1〜K4を持つとする。
このような誤差拡散係数K1〜K4により誤差を拡散、累積するために、ハーフトーン処理部108では、マゼンタに対して4組の累積誤差ラインバッファ702〜705を確保する。そして、使用する累積誤差ラインバッファ702〜705を走査番号毎に、シアンの処理の時と同様に切り替える。
尚、各累積誤差ラインバッファ702〜705も、夫々、図16(b)に示した記憶領域1505〜1508を有する。すなわち、各累積誤差ラインバッファ502〜505は、「Em1_0,Em1(x)」、「Em2_0,Em2(x)」、「Em3_0,Em3(x)」、「Em4_0,Em4(x)」の記憶領域1505〜1508を有する。例えば、マゼンタ(4n+1)累積誤差ラインバッファ702は、1個の記憶領域Em1_0と、入力された画像データの横方向の画素数Wと同数の記憶領域Em1_(x)(x=1〜W)を有する。
走査番号kが2(k=2)の場合、マゼンタ(4n+2)累積誤差ラインバッファ703を使用した誤差拡散処理が実施される。すなわち、累積誤差加算部706は、マゼンタの走査DutyとCM制約情報との合計値データに対して、入力された画素データの横方向の画素の位置xに対応する誤差Em2(x)が加算される。すなわち、制約情報加算部701から入力された注目画素の画素データをIm、累積誤差を加算した後の画素データをIm'とすると、以下の式(82)が成り立つ。
Im'=Im+Em2(x) ・・・(82)
次に、ステップS603において、閾値選択部707は閾値Tを選択する。閾値Tは、例えば以下の式(84)のように設定される。
T=128 ・・・(83)
或いは、ドット生成遅延を回避するため、平均量子化誤差が小さくなるよう、マゼンタの走査Duty(M_d)に応じて閾値Tを以下の式(84)のように細かく変更しても良い。
T=f(M_d) ・・・(84)
次に、ステップS604において、量子化部908は、誤差加算後の注目画素の画素データIm'と閾値Tとを比較し、ドットの2値化結果である出力画素値Out_mを決定する。その規則は次の式(85)、式(86)の通りである。
Im'<Tのとき、
Out_m=0 ・・・(85)
Im'≧Tのとき、
Out_m=255 ・・・(86)
次に、ステップS605において、誤差演算部709は、注目画素の画素データImに誤差を加算した画素データIm'と、出力画素値Out_mとの差分Err_mを、次の式(87)のようにして算出する。
Err_m(x)=Im'−Out_m ・・・(87)
次に、ステップS606において、誤差拡散部710は、誤差を拡散する。すなわち、誤差拡散部710は、マゼンタ(4n+2)累積誤差ラインバッファ702を用いて、横方向の画素の位置xに応じた誤差Err_m(x)の拡散処理を、以下の式(88)のようにして行う。
Em2(x+1)←Em2(x+1)+Err_m(x)×7/16(x<W)
Em2(x−1)←Em2(x−1)+Err_m(x)×3/16(x>1)
Em2(x)←Em2_0+Err_m(x)×5/16 (1<x<W)
Em2(x)←Em2_0+Err_m(x)×8/16 (x=1)
Em2(x)←Em2_0+Err_m(x)×13/16 (x=W)
Em2_0←Err_m(x)×1/16 (x<W)
Em2_0←0 (x=W)
・・・(88)
以上で、走査番号kが2(k=2)のマゼンタの1画素分の2値化(量子化値0,255)が完了する。
以上説明したステップS601〜S606の処理を、バンド内の全ての画素で行う(ステップS607)ことにより、マゼンタのハーフトーン画像データのドット位置、すなわちマゼンタドットのオン/オフを決定することができる。
図4の説明に戻り、以上のステップS120におけるマゼンタのハーフトーン処理が終了すると、ハーフトーン処理部108は、次の処理を行う。すなわち、ハーフトーン処理部108は、ハーフトーン処理が実行されることにより得られた"マゼンタの2値画像データ"をハーフトーン画像格納バッファ110に格納する(ステップS121)。
図33は、走査番号kが2(k=2)の場合のマゼンタの走査Dutyをハーフトーン処理した結果が、ハーフトーン画像格納バッファ110に格納された様子の一例を概念的に示す図である。
図33に示すように、ハーフトーン画像格納バッファ110には、走査Dutyの画素の位置に対応する"ノズル数(Nzzl)×画像のX軸方向のサイズ(画像Xサイズ:W)分の2値画像データ"が格納される。
次に、画像出力端子112は、ハーフトーン画像格納バッファ110に蓄えられたバンドデータであって、縦方向がノズル数、横方向が画像Xサイズに相当する"マゼンタのハーフトーンのバンドデータ(2値画像データ)"を外部に転送する(ステップS122)。
次に、制約情報演算部111は、マゼンタのドット配置に基づいてCM制約情報を演算する(ステップS123)。尚、前述したように、まず、往路のドット配置に基づいてCM制約情報を算出した後、そのCM制約情報に基づいて復路のマゼンタのドット配置を決定する。そして、決定した復路のマゼンタのドット配置に基づいてCM制約情報を更新し、これを復路のシアンのドットに対応する制約情報とする。
以下に、ステップS123において、復路のマゼンタのドット配置に基づくCM制約情報の演算処理の一例を詳細に説明する。図34は、制約情報演算部111のマゼンタに関する処理の詳細な構成の一例を示す図である。図35は、CM制約情報を演算する場合の制約情報演算部111の詳細な処理の一例を説明するフローチャートである。尚、図34において、加算部402に相当する構成を付加してもよい。
まず、図35のステップS701において、図34に示す加算部801は、走査Dutyバッファ107内のマゼンタの走査Dutyのデータと、累積走査Dutyバッファ803に保持されているデータを加算する。
ここで復路のマゼンタに限って説明すると、ステップS701による加算後の累積走査DutyデータC_sum_d'は、以下の式(89)のように算出される。
M_sum_d'=M_d+M_sum_d ・・・(89)
次に、ステップS702において、累積ハーフトーンバッファ802は、ハーフトーン画像データを累積ハーフトーン画像データへ追加する。
ここで、復路のマゼンタに限って説明すると、ステップS702において、走査番号kが2(k=2)のときの累積ハーフトーンデータ(2値画像データ)Out_m_sum(0)は、以下の式(90)のように算出される。
Out_m_sum(0)←Out_m ・・・(90)
ここで、各変数の添字はバッファの番号を示す。
次に、ステップS703において、加算部801は、式(89)にて算出された累積走査DutyデータM_sum_d'を、累積走査Dutyバッファ803に書き込む。これにより、以下の式(91)が成り立つ。
M_sum_d←M_sum_d' ・・・(91)
次に、ステップS704において、累積ハーフトーンバッファ802は、式(91)にて算出された累積ハーフトーンデータOut_m_sum'を書き込む。これにより、以下の式(92)が成り立つ。
Out_m_sum←Out_m_sum' ・・・(92)
次に、ステップS705において、累積走査Dutyフィルタ処理部805は、累積走査Dutyバッファ803に保持されたM_sum_dに対するフィルタ処理を行う。このフィルタ処理においては、前述した往路の印字時と同様に、同じパス内のシアンのドットが着弾するまでの時間差tに応じて変化する2次元ガウシアンフィルタF_m(t,x,y)を用いる。そして、以下の式(93)のようにして、フィルタ処理を行った累積走査DutyデータM_sum_dfを算出する。
M_sum_df=M_sum_d*F_m(t,x,y) ・・・(93)
ここで、*はコンボリューションを示す。また、tは、マゼンタのドットが打たれてから、次にシアンのドットがが打たれるまでの着弾時間差を表す。本実施形態では、着弾時間差tの値に応じて、2次元ガウシアンフィルタF_mは、大まかに2通りの値を取り得るものとする。例えば、次のシアンのドットが、マゼンタと同一の走査内で印字される場合はt<0.1に対応する2次元ガウシアンフィルタF_mを用いる。一方、次のシアンのドットが、次の走査で印字される場合にはt≧0.1に対応する2次元ガウシアンフィルタF_mを用いる。尚、本実施形態では、着弾時間差tについて2通りの場合分けをしているが、もちろんより多くの場合分けを行っても構わない。
尚、2次元ガウシアンフィルタF_mは、前述の式(51)〜式(52)のように表される。また、tは、累積ハーフトーンデータに付随する時間TMmを参照して決定される。
図36は、フィルタ処理を行った後の走査Dutyのデータの一例を概念的に示す図である。
2次元ガウシアンフィルタF_mの具体例は、図21(a)に示したフィルタ2001のようになる。尚、ここでは、説明を簡略化するため、フィルタ2001のサイズが3×3の正方形である場合を例に挙げて示すが、フィルタ2001のサイズは、これに限るものではない。例えば、フィルタ2001のサイズは、5×5、7×7、9×9のような正方形でも、3×5、5×7、5×9のような長方形でも良い。また、フィルタ2001は、ローパス特性、バンドパス特性、及びハイパス特性の何れの特性を持つフィルタであっても良い。
次に、ステップS706において、累積ハーフトーンデータフィルタ処理部804は、累積ハーフトーンバッファ802に保持された累積ハーフトーンデータOut_m_sum(0)〜Out_m_sum(3)に対するフィルタ処理を行う。このフィルタ処理においては、着弾時間差tに応じて変化する2次元ガウシアンフィルタLPF_b(t,x,y)を用いる。そして、前述した式(53)〜式(55)のようにして、フィルタ処理を行った累積ハーフトーンデータOut_m_sum_LPFを算出する。また、tは、累積ハーフトーンデータに付随する時間TMmを参照して決定される。
2次元ガウシアンフィルタLPF_bの具体例は、図21(b)に示したフィルタ2002のようになる。尚、ここでもフィルタ2001と同様に、フィルタ2002のサイズが3×3の正方形である場合を例に挙げて示すが、フィルタ2002のサイズは、これに限るものではない。例えば、フィルタ2002のサイズは、5×5、7×7、9×9のような正方形でも、3×5、5×7、5×9のような長方形でも良い。ただし、十分な効果を得るために、着弾時間差tが小さいほどσx(t)、σy(t)の値が小さくなることが望ましい。
そして、累積ハーフトーンデータ合算部806は、フィルタ処理をした累積ハーフトーンバッファOut_m_sum_LPF(0)〜Out_m_sum_LPF(3)を合算し、一つの累積ハーフトーン画像データOut_m_sum_LPFとする。
図37は、フィルタ処理を行った後のハーフトーン画像データの一例を概念的に示す図である。
次に、ステップS707において、減算部807は、累積走査Dutyフィルタ処理部805で算出されたデータから、累積ハーフトーンデータフィルタ処理部804で算出されたデータを減算する。
次に、ステップS708において、重み積算部808は、ステップS707で算出された値に、重み係数h3(実数)を積算することによって、制約情報CM_rを得る。ステップS707、S708における処理は、以下の式(94)のように表される。
CM_r←(−Out_m_sum_LPF+M_sum_df)×h3 ・・・(94)
次に、ステップS709において、制約情報データバッファ加算部809は、式(94)で得られた制約情報CM_rのデータと、更新前のCM制約情報のデータとを加算して、マゼンタのドット位置を反映した後の制約情報CM_rを算出する。そして、この制約情報CM_rをシアンのハーフトーン処理の制約情報として保存しておく。
次に、ステップS710において、累積走査Dutyデータシフト部810は、累積走査Dutyバッファ803に保持された累積走査DutyデータM_sum_dを、一回の紙送り量LF(=Nzzl/Pass=16/4=4)だけ上にシフトする。ここで、シフトした累積走査DutyデータM_sum_dは、以下の式(95)のように算出される。尚、0≦nx<画像Xサイズ(画像のX軸方向(横方向、ヘッド移動方向)のサイズ)、0≦ny<Nzzl(ノズル列を構成するノズルの数、ここでは16)が満たされるようにする。
M_sum_d(nx,ny)=M_sum_d(nx,ny+LF) ・・・(95)
式(95)においても、ny+LF≧Nzzlのときは、CM_r(nx,ny)=0とする。すなわち、紙送り量LFに相当する下端のノズル分(この場合4ノズル分)には0を代入する。
そして、ステップS711において、累積ハーフトーンデータシフト部811は、各累積ハーフトーンデータOut_m_sum(0)〜Out_m_sum(2)の添字を1インクリメントし、累積ハーフトーンバッファ802の中身を入れ替える(式(96))。また、累積ハーフトーンデータシフト部811は、各累積ハーフトーンデータに付随する経過時間TMに、次にマゼンタドットが打たれるまでの時間tを加算し、当該経過時間TMの値も入れ替える。このとき、制約情報を共有しているシアンとマゼンタについての経過時間TMを同期させるようにする(式(97)、式(98))。
Out_m_sum(n)←Out_m_sum(n−1) ・・・(96)
TMm(n)←TMm(n−1)+t ・・・(97)
TMc(n)←TMc(n−1)+t ・・・(98)
ただし、n=1〜3である。
以上で、図4のステップS123における制約情報演算処理が終了する。
次に、ステップS124において、制約情報演算部111は、CM制約情報の演算結果により、シアンとマゼンタとで共用するCM制約情報(制約情報バッファ109)を更新する。
次に、ステップS125において、ハーフトーン処理部108は、シアンのハーフトーン処理を行う。シアンのハーフトーン処理は、走査Dutyバッファ107に格納されている"シアンに対する走査Dutyのデータ"と、制約情報バッファ109に格納されている制約情報との合計値を、2レベルの階調値(2値データ)に変換する処理である。
以下、シアンのハーフトーン処理の詳細を説明する。図38は、ハーフトーン処理部108のシアンに関する処理の詳細な構成の一例を示す図である。図39は、シアンのハーフトーン処理を行う場合のハーフトーン処理部108の詳細な処理の一例を説明するフローチャートである。
まず、図39に示すステップS801において、図38に示す制約情報加算部901は、シアンの走査Dutyと制約情報との合計を入力する。すなわち、制約情報加算部901は、シアン走査Duty(C_d)と、シアンとマゼンタとで共用する制約情報(CM制約情報)CM_rの合計値データ"注目画素の画素データIc"を、以下の式(99)のように算出する。ただし、走査番号kが1(k=1)のとき、制約情報C_rは全て0である。
Ic=C_d+CM_r ・・・(99)
次に、ステップS802において、累積誤差加算部906は、誤差拡散処理用に累積誤差を加算する。誤差拡散処理のための誤差拡散係数として、図15に示したような4つの誤差拡散係数K1〜K4を持つとする。例えば、K1=7/16、K2=3/16、K3=5/16、K4=1/16とする。ただし、誤差拡散係数K1〜K4は、このように固定とする必要はなく、階調に応じて変更させても良い。また、誤差拡散係数は、これら4つの係数に限らず、更に多くの係数を持つようにしても良い。
このような誤差拡散係数K1〜K4により誤差を拡散、累積するために、ハーフトーン処理部108では、シアンに対して4組の累積誤差ラインバッファ902〜905を確保する。そして、使用する累積誤差ラインバッファ902〜905を走査番号毎に、例えば以下のように切り替える。
すなわち、走査番号k=1,5,・・・,4n+1(nは0以上の整数)のときには、シアン(4n+1)累積誤差ラインバッファ902を使用する。また、走査番号k=2,6,・・・,4n+2のときには、シアン(4n+2)累積誤差ラインバッファ903を使用する。また、走査番号k=3,7,・・・,4n+3のときには、シアン(4n+3)累積誤差ラインバッファ904を使用する。また、走査番号k=4,8,・・・,4n+4のときには、シアン(4n+4)累積誤差ラインバッファ905を使用する。
尚、各累積誤差ラインバッファ902〜905は、夫々、図16(a)に示すような4組の記憶領域1501〜1504を有する。すなわち、各累積誤差ラインバッファ902〜905は、「Ec1_0,Ec1(x)」、「Ec2_0,Ec2(x)」、「Ec3_0,Ec3(x)」、「Ec4_0,Ec4(x)」の記憶領域1501〜1504を有する。例えば、シアン(4n+2)累積誤差ラインバッファ903は、1個の記憶領域Ec2_0と、入力された画像データの横方向の画素数Wと同数の記憶領域Ec2_(x)(x=1〜W)を有する。本実施形態では、4パス印字を行うため、1色あたり前述した4組の累積誤差ラインバッファ902〜905が必要になる。
走査番号kが2(k=2)の場合、シアン(4n+2)累積誤差ラインバッファ903を使用した誤差拡散処理が実施される。すなわち、累積誤差加算部906において、シアンの走査DutyとCM制約情報との合計値データに対して、入力された画素データの横方向の画素の位置xに対応する誤差Ec2(x)が加算される。すなわち、制約情報加算部901から入力された注目画素の画素データをIc、累積誤差を加算した後の画素データをIc'とすると、以下の式(100)が成り立つ。
Ic'=Ic+Ec1(x) ・・・(100)
次に、ステップS803において、閾値選択部907は閾値Tを選択する。閾値Tは、例えば以下の式(101)のように設定される。
T=128 ・・・(101)
或いは、ドット生成遅延を回避するため、平均量子化誤差が小さくなるよう、シアンの走査Duty(C_d)に応じて閾値Tを以下の式(102)のように細かく変更しても良い。
T=f(C_d) ・・・(102)
次に、ステップS804において、量子化部908は、誤差加算後の注目画素の画素データIc'と閾値Tとを比較し、ドットの2値化結果である出力画素値Out_cを決定する。その規則は次の式(103)、式(104)の通りである。
Ic'<Tのとき、
Out_c=0 ・・・(103)
Ic'≧Tのとき、
Out_c=255 ・・・(104)
次に、ステップS805において、誤差演算部709は、注目画素の画素データIcに誤差を加算した画素データIc'と、出力画素値Out_cとの差分Err_cを、次の式(105)のようにして算出する。
Err_c(x)=Ic'−Out_c ・・・(105)
次に、ステップS806において、誤差拡散部710は、誤差を拡散する。すなわち、シアン(4n+2)累積誤差ラインバッファ903を用いて、横方向の画素の位置xに応じた誤差Err_c(x)の拡散処理を、以下の式(106)のようにして行う。
Ec2(x+1)←Ec2(x+1)+Err_c(x)×7/16(x<W)
Ec2(x−1)←Ec2(x−1)+Err_c(x)×3/16(x>1)
Ec2(x)←Ec2_0+Err_c(x)×5/16 (1<x<W)
Ec2(x)←Ec2_0+Err_c(x)×8/16 (x=1)
Ec2(x)←Ec2_0+Err_c(x)×13/16 (x=W)
Ec2_0←Err_c(x)×1/16 (x<W)
Ec2_0←0 (x=W)
・・・(106)
以上で、走査番号kが2(k=2)のシアン1画素分の2値化(量子化値0,255)が完了する。
以上説明したステップS801〜S806の処理を、バンド内の全ての画素(アドレス(0,0)〜(W−1,Nzzl−1))で行う(ステップS807)。これにより、シアンのハーフトーン画像データのドット位置、すなわち、シアンドットのオン/オフを決定することができる。
図4の説明に戻り、ステップS125におけるシアンのハーフトーン処理が終了すると、ハーフトーン処理部108は、次の処理を行う。すなわち、ハーフトーン処理部108は、ハーフトーン処理が実行されることにより得られた"シアンの2値画像データ"をハーフトーン画像格納バッファ110に格納する(ステップS126)。
図40は、走査番号kが2(k=2)の場合のシアンの走査Dutyをハーフトーン処理した結果が、ハーフトーン画像格納バッファ110に格納された様子の一例を概念的に示す図である。
図40に示すように、ハーフトーン画像格納バッファ110には、走査Dutyの画素の位置に対応する"ノズル数(Nzzl)×画像のX軸方向のサイズ(画像Xサイズ:W)分の2値画像データ"が格納される。
次に、画像出力端子112は、ハーフトーン画像格納バッファ110に蓄えられたバンドデータであって、縦方向がノズル数、横方向が画像Xサイズに相当する"シアンのハーフトーンのバンドデータ(2値画像データ)"を外部に転送する(ステップS127)。
次に、制約情報演算部111は、シアンのドット配置に基づいてCM制約情報を演算する(ステップS128)。
以下に、ステップS128において、復路のシアンのドット配置に基づくCM制約情報の演算処理の一例を詳細に説明する。図41は、制約情報演算部111におけるシアンに関する処理の詳細な構成の一例を示すブロック図である。図41は、CM制約情報を演算する場合の制約情報演算部111の詳細な処理の一例を説明するフローチャートである。尚、図41において、加算部402に相当する構成を付加してもよい。
まず、図42に示すステップS901において、図41に示す加算部1001は、走査Dutyバッファ107内のシアンの走査Dutyのデータと、累積走査Dutyバッファ1003に保持されているデータとを加算する。
ここで、復路のシアンに限って説明すると、ステップS901による加算後の累積走査DutyデータC_sum_d'は、以下の式(107)のように算出される。
C_sum_d'=C_d+C_sum_d ・・・(107)
次に、ステップS902において、累積ハーフトーンバッファ1002は、ハーフトーン画像データを累積ハーフトーン画像データへ追加する。
次に、ステップS903において、加算部1001は、式(107)にて算出した累積走査DutyデータC_sum_d'を、累積走査Dutyバッファ1003に書き込む。これにより、以下の式(108)が成り立つ。
C_sum_d←C_sum_d' ・・・(108)
次に、ステップS904において、累積走査Dutyフィルタ処理部1005は、累積走査Dutyバッファ1003に保持されたC_sum_dに対するフィルタ処理を行う。このフィルタ処理においては、次のパスのシアンのドットが着弾するまでの時間差tに応じて変化する2次元ガウシアンフィルタF_m(t,x,y)を用いる。そして、以下の式(109)のようにして、フィルタ処理を行った累積走査DutyデータC_sum_dfを算出する。
C_sum_df=C_sum_d*F_m(t,x,y) ・・・(109)
ただし、*はコンボリューションを示す。
ここで、*はコンボリューションを示す。また、tは、シアンのドットが打たれた後から、次にマゼンタのドットが打たれるまでの着弾時間差を表す。本実施形態では、着弾時間差tの値に応じて、2次元ガウシアンフィルタF_mは、大まかに2通りの値を取り得るものとする。例えば、次のマゼンタのドットが、シアンと同一の走査内で印字される場合はt<0.1に対応する2次元ガウシアンフィルタF_mを用いる。一方、次のマゼンタのドットが、次の走査で印字される場合にはt≧0.1に対応する2次元ガウシアンフィルタF_mを用いる。尚、本実施形態では、着弾時間差tについて2通りの場合分けをしているが、もちろんより多くの場合分けを行っても構わない。
尚、2次元ガウシアンフィルタF_mは、前述の式(51)〜式(52)のように表される。また、tは、累積ハーフトーンデータOut_c_sumに付随する時間TMmを参照し決定される。
図43は、フィルタ処理を行った後の走査Dutyのデータの一例を概念的に示す図である。
また、2次元ガウシアンフィルタF_mの具体例は、図21(a)に示したフィルタ2003のようになる。尚、ここでは、説明を簡略化するため、フィルタ2003のサイズが5×5の正方形である場合を例に挙げて示すが、フィルタ2003のサイズは、これに限るものではない。例えば、フィルタ2003のサイズは、7×7、9×9のような正方形でも、3×5、5×7、5×9のような長方形でも良い。また、フィルタ2003は、ローパス特性に限らず、バンドパス特性や、ハイパス特性のフィルタであっても良い。
次に、ステップS905において、累積ハーフトーンデータフィルタ処理部1004は、累積ハーフトーンバッファ1002に保持されたOut_c_sum(0)〜Out_c_sum(3)に対するフィルタ処理を行う。このフィルタ処理においては、着弾時間差tに応じて変化する2次元ガウシアンフィルタLPF_b(t,x,y)を用いる。すなわち、前述の式(53)〜式(55)のようにして、フィルタ処理を行った累積ハーフトーンデータOut_c_sum_LPF(0)〜Out_c_sum_LPF(3)を算出する。また、tは、累積ハーフトーンデータOut_c_sumに付随する時間TMcを参照して決定される。
2次元ガウシアンフィルタLPF_bの具体例は、図21(b)に示したフィルタ2004のようになる。尚、ここでもフィルタ2003と同様に、フィルタ2004のサイズが5×5の正方形である場合を例に挙げて示すが、フィルタ2004のサイズは、これに限るものではない。例えば、フィルタ2004のサイズは7×7、9×9のような正方形でも、3×5、5×7、5×9のような長方形でも良い。ただし、十分な効果を得るために、着弾時間差tが大きいほどσx(t)、σy(t)の値が小さくなることが望ましい。また、2次元ガウシアンフィルタLPF_bはローパス特性を有することが好ましい。
また、図21に示すように、2次元ガウシアンフィルタLFP_b(フィルタ2004)も、2次元ガウシアンフィルタF_m(フィルタ2003)と同様に、次のマゼンタのドットが打たれるまでの時間(着弾時間差)tに応じて、フィルタ係数が変化している。尚、図21では、2次元ガウシアンフィルタF_m、LPF_b(フィルタ2003、2004)のフィルタ係数として同じフィルタ係数を用いているが、異なるフィルタ係数を用いてもよい。
図44は、フィルタ処理を行った後のハーフトーン画像データの一例を概念的に示す図である。
次に、ステップS906において、累積ハーフトーンデータ合算部1006は、前記ステップS905にてフィルタ処理した各累積ハーフトーンバッファOut_c_sum_LPF(0)〜Out_c_sum_LPF(3)を、式(56)のようにして合算する。そして、一つの累積ハーフトーン画像データOut_c_sum_LPFを得る。
次に、ステップS907において、制約情報データバッファシフト部1010は、制約情報バッファ109に書き込まれた制約情報CM_rを、一回の紙送り量LF(=Nzzl/Pass=16/4=4)だけ上にシフトする。ここで、シフトした制約情報は、以下の式(110)により算出される。尚、0≦nx<画像Xサイズ(画像のX軸方向(横方向、ヘッド移動方向)のサイズ)、0≦ny<Nzzl(ノズル列を構成するノズルの数、ここでは16)が満たされるようにする。
CM_r(nx,ny)=CM_r(nx,ny+LF) ・・・(110)
本実施形態では、シアンとマゼンタとで制約情報を共用しているため、走査番号kが1(k=1)のときと同様に、シアン、マゼンタの双方のドット配置が決まった後に、制約情報CM_rを紙送り量LF分だ上方にシフトさせる。
次に、ステップS908において、累積走査Dutyデータシフト部1011は、累積走査Dutyバッファ1003に保持された累積走査DutyデータC_sum_dを、一回の紙送り量LF(=Nzzl/Pass=16/4=4)だけ上にシフトする。ここで、シフトした累積走査DutyデータC_sum_dは、は、以下の式(111)のように算出される。尚、0≦nx<画像Xサイズ(画像のX軸方向(横方向、ヘッド移動方向)のサイズ)、0≦ny<Nzzl(ノズル列を構成するノズルの数、ここでは16)が満たされるようにする。
C_sum_d(nx,ny)=C_sum_d(nx,ny+LF) ・・・(111)
式(111)においても、ny+LF≧Nzzlのときは、C_sum_d(nx,ny)=0とする。すなわち、紙送り量LFに相当する下端のノズル分(この場合4ノズル分)には0を代入する。
そして、ステップS909において、累積ハーフトーンデータシフト部612は、各累積ハーフトーンバッファOut_c_sum(0)〜Out_c_sum(2)の添字を1インクリメントする。これにより、累積ハーフトーンバッファ1002の中身が入れ替わる(式(112))。また、累積ハーフトーンデータシフト部1012は、各累積ハーフトーン画像データに付随する経過時間TMに、次にマゼンタドットが打たれるまでの時間tを加算し、当該経過時間TMの値も入れ替える。このとき、制約情報を共有しているシアンとマゼンタについての経過時間TMを同期させるようにする(式(113)、式(114))。
Out_c_sum(n)←Out_c_sum(n−1) ・・・(112)
TMc(n)←TMc(n−1)+t ・・・(113)
TMm(n)←TMm(n−1)+t ・・・(114)
ただし、n=1〜3である。
次に、ステップS910において、減算部1007は、累積走査Dutyフィルタ処理部1005で算出されたデータから、累積ハーフトーンデータフィルタ処理部1004で算出されたデータを減算する。
次に、ステップS911において、重み積算部1008は、ステップS910で算出された値に、重み係数h4(実数)を積算することによって、制約情報CM_rを得る。ステップS910、S911における処理は、以下の式(115)のように表される。
CM_r←(−Out_c_sum_LPF+C_sum_df)×h4 ・・・(115)
次に、ステップS912において、制約情報データバッファ加算部1009は、式(115)で得られた制約情報CM_rのデータと、シフト済みのCM制約情報(更新前のCM制約情報)のデータとを加算しする。これにより、シアン・マゼンタのドット配置を反映した後の制約情報CM_rが算出される。
以下の式(116)に、ステップS910〜S912により算出される、シアン・マゼンタのドット配置を反映した後の制約情報CM_rの演算式を示す。
CM_r←(−Out'_c_LPF+C'_df)×h4+CM'_r ・・・(116)
以上で、図4のステップS128における、シアンのドット配置に基づくCM制約情報の演算処理が終了する。尚、重み係数h1〜h4は、同一の走査における制約情報CM_rの制約範囲の方が、異なる走査間(例えば隣接する走査間)における制約情報CM_rの制約範囲よりも大きくなるように調整されている。例えば、重み係数h1、h3を、重み係数h2、h4よりも大きくすることができる。また、重み係数h1〜h4は、復路における制約情報CM_rの制約範囲の方が、往路における制約情報CM_rの制約範囲よりも大きくなるように調整されている。例えば、復路の走査を行うときの重み係数h1、h2を、往路の走査を行うときの重み係数h3、h4よりも大きくすることができる。
次に、ステップS129において、制約情報演算部111は、CM制約情報の演算結果により、シアンとマゼンタとで共用するCM制約情報(制約情報バッファ109)を更新する。このように更新されたCM制約情報は、次の走査番号k+1以降の往路のドット配置を決定するための情報として参照される。
次に、ステップS130において、ハーフトーン画像データ(2値画像データ)を画像処理装置1から受けたプリンタ2は、その画像データに適合するインク色を選択し、印字動作を開始する。ステップS116においては、紙等のシート状の記録媒体に対して記録ヘッド201が右から左に移動しながら、一定の駆動間隔で各ノズルを駆動して記録媒体上に画像を記録する復路主走査を一回行う。更に復路主走査が終了すると、主走査と垂直方向の走査である副走査が1回行われる。
次に、ステップS131において、走査Duty設定部105は、全ての走査が終了したか否かの判定を行う。この判定の結果、全ての走査が終了した場合には一連の画像形成処理が完了し、図4のフローチャートによる処理を終了する。一方、全ての走査が終了していない場合には、ステップS103に戻る。
以上のように本実施形態では、例えば、記録ヘッド201によって、シート状の記録媒体の上を相対的に走査しながら、記録媒体の表面に、異なる色のドットを個別に付着させるための記録素子の一例が実現される。また、例えば、画像処理装置1によって、記録素子における色の付着動作を制御する制御装置の一例が実現される。また、例えば、図4のステップS109、S114、S123、S128の処理を行うことによって、制約情報作成手段の一例が実現される。また、例えば、図4のステップS106、S111、S120、S125の処理を行うことによって、ドットパターン作成手段の一例が実現される。
以上のように本実施形態では、同一の走査内でのシアン及びマゼンタの制約情報による制約を、隣接する走査間におけるシアン及びマゼンタの制約情報による制約よりも強くする。このように、制約情報の制御を後続色とパス間とで変えることにより、ドットが着弾した直後に、ドットの着弾位置の隣接域に異なる色のドットが着弾されることを防ぐことができる。したがって、紙面上に好適なドットを配置できる。これにより、異色ドット同士のビーディングを防ぎ、にじみによる粒状性悪化を防ぐことができる。また、色間での低周波排他が実現できるため、カラー印字における粒状性が良化し、更に着弾変動に対するロバスト性が向上する。また、着弾時間差に応じて、制約情報を制御し、ドット同士のインクのにじみを低減することで良好な粒状性を確保できる。
(第2の実施形態)
次に、本発明の第2実施形態について説明する。前述した第1の実施形態では、記録ヘッド201の往路と復路とで、制御情報の作成順、2値化処理(ハーフトーン処理)による2値化画像の作成順を入れ替えるようにした。これに対し、本実施形態では、記録ヘッドの往路と復路とで、制御情報の作成順、2値化処理(ハーフトーン処理)による2値化画像の作成順を入れ替えないで、第1の実施形態と同様の効果が得られるようにしている。このように、本実施形態と前述した第1の実施形態とは、記録ヘッドの往路と復路とで、2値化処理(ハーフトーン処理)を行う色の順序を入れ替えないようにするための構成及び処理が主として異なる。したがって、本実施形態の説明において、第1の実施形態と同一の部分については、図1〜図44に付した符号と同一の符号を付すこと等により、詳細な説明を省略する。
まず、本実施形態では、記録ヘッドの形状が第1の実施形態ものと異なる。図45は、本実施形態における記録ヘッドの構成の一例を示す図である。
図45において、本実施形態では、シアン(C)、マゼンタ(M)、イエロー(Y)、ブラック(K)、淡シアン(Lc)、淡マゼンタ(Lm)の6色のインクのうち、シアンとマゼンタを記録ヘッド4501の両端に搭載している。すなわち、記録ヘッド4501の移動方向における両端の夫々において、端からシアン、マゼンタの順にインクを配置するようにしている。これにより、往路と復路との何れの主走査においても、シアンとマゼンタのインクの吐出順(付着順)を同じにすることができる。
例えば、往路の印字時(記録ヘッド4501は、図45に向かって右から左に移動するとする)には、シアンとマゼンタの印字に、ノズル4501a、4501bを用いる。一方、復路の印字時(記録ヘッド4501は、図45に向かって左から右に移動するとする)には、シアンとマゼンタの印字に、ノズル4501c、4501dを用いる。このため、図4に示したように、往路(ステップS103〜116)と復路(ステップS117〜S130)とで色順を変えて制約情報に関する処理を行う必要がない。すなわち、全ての走査処理を、往路の印刷時の処理(ステップS103〜S116)でまかなえるため、処理を簡略化できる。
図46は、画像処理装置における画像形成処理の一例を説明する図である。
図46において、ステップS1001〜S1016の処理は、図4のステップS101〜S116と同じであり、ステップS1017は、図4のステップS131と同じである。したがって、ここでは、図46の詳細な説明を省略する。
以上のように本実施形態では、例えば、記録ヘッド4501によって記録素子の一例が実現される。また、例えば、図46のステップS1009、S1014の処理を行うことによって、制約情報作成手段の一例が実現される。また、例えば、図46のステップS1006、S1011の処理を行うことによって、ドットパターン作成手段の一例が実現される。
尚、往路でノズル4501c、4501dを用い、復路でノズル4501c、4501dを用いても良い。また、シアンとマゼンタ以外のノズルを複数もっていても構わない。このようにした際、図45に示したシアンとマゼンタのノズルの関係と同様に、記録ヘッドの移動方向で同色のノズルの位置が対称となる位置とように、各色のノズルを配置することにより、往路と復路とで、制約情報の作成時の色順の違いを無視することができる。
尚、各実施形態では、所定の方向に配列された複数のノズルを有する記録ヘッドを、ノズルの配列方向と交差する方向に記録媒体上で走査させて、記録媒体にインクを吐出することで画像を形成するインクジェット記録方式を用いた場合を例に挙げて説明した。しかしながら、本発明は、インクジェット方式以外の他の方式に従って記録を行う記録装置(例えば熱転写方式や電子写真方式)に対しても適用できる。この場合、インク滴を吐出するノズルは、ドットを記録する記録素子やレーザー発光素子に対応することとなる。
本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体(記録媒体)等としての実施態様をとることが可能である。具体的には、複数の機器(例えば、ホストコンピュータ、インタフェース機器、撮像装置、webアプリケーション等)から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
(本発明の他の実施形態)
前述した本発明の実施形態における制御装置を構成する各手段、並びに制御方法の各ステップは、コンピュータのRAMやROMなどに記憶されたプログラムが動作することによって実現できる。このプログラム及び前記プログラムを記録したコンピュータ読み取り可能な記録媒体は本発明に含まれる。
また、本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。
尚、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム(実施形態では図3、4、14、19、24、27等に示すフローチャートに対応したプログラム)を、システムあるいは装置に直接、あるいは遠隔から供給するものを含む。そして、そのシステムあるいは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合も本発明に含まれる。
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であってもよい。
プログラムを供給するための記録媒体としては、例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RWなどがある。また、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などもある。
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、前記ホームページから本発明のコンピュータプログラムそのもの、若しくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、ダウンロードした鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現される。
尚、前述した各実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
本発明の第1の実施形態を示し、画像形成システムの構成の一例を示すブロック図である。 本発明の第1の実施形態を示し、記録ヘッドの構成の一例を示す図である。 本発明の第1の実施形態を示し、画像処理装置における画像形成処理の概要の一例を説明するフローチャートである。 本発明の第1の実施形態を示し、画像処理装置における画像形成処理の詳細の一例を説明するフローチャートである。 本発明の第1の実施形態を示し、色分解処理部に入力される画像データと色分解処理部から出力される画像データの詳細の一例を示す図である。 本発明の第1の実施形態を示し、色分解データ切り出し位置の設定方法の一例を説明する図である。 本発明の第1の実施形態を示し、走査Duty設定用LUTに与えられる値の一例を概念的に示す図である。 本発明の第1の実施形態を示し、走査Dutyの設定方法の一例を説明する図である。 本発明の第1の実施形態を示し、走査番号が1の場合の走査Dutyの算出方法の一例を説明する図である。 本発明の第1の実施形態を示し、走査番号が1〜7の場合の走査Dutyの一例を示す図である。 本発明の第1の実施形態を示し、走査Dutyバッファに格納される走査Dutyのデータの一例を概念的に示す図である。 本発明の第1の実施形態を示し、制約情報バッファに格納される制約情報のデータの一例を概念的に示す図である。 本発明の第1の実施形態を示し、ハーフトーン処理部のシアンに関する処理の詳細な構成の一例を示す図である。 本発明の第1の実施形態を示し、シアンのハーフトーン処理を行う場合のハーフトーン処理部の詳細な処理の一例を説明するフローチャートである。 本発明の第1の実施形態を示し、誤差拡散係数の一例を示す図である。 本発明の第1の実施形態を示し、累積誤差ラインバッファの記憶領域の一例を概念的に示す図である。 本発明の第1の実施形態を示し、走査番号kが1の場合のシアンの走査Dutyをハーフトーン処理した結果が、ハーフトーン画像格納バッファに格納された様子の一例を概念的に示す図である。 本発明の第1の実施形態を示し、制約情報演算部のシアンに関する処理の詳細な構成の一例を示す図である。 本発明の第1の実施形態を示し、CM制約情報を演算する場合の制約情報演算部の詳細な処理の一例を説明するフローチャートである。 本発明の第1の実施形態を示し、フィルタ処理を行った後の走査Dutyのデータの一例を概念的に示す図である。 本発明の第1の実施形態を示し、2次元ガウシアンフィルタの具体例を示す図である。 本発明の第1の実施形態を示し、フィルタと制約の強さとの関係の一例を概念的に示す図である。 本発明の第1の実施形態を示し、ハーフトーン処理部のマゼンタに関する処理の詳細な構成の一例を示す図である。 本発明の第1の実施形態を示し、マゼンタのハーフトーン処理を行う場合のハーフトーン処理部の詳細な処理の一例を説明するフローチャートである。 本発明の第1の実施形態を示し、走査番号kが1の場合のマゼンタの走査Dutyをハーフトーン処理した結果が、ハーフトーン画像格納バッファに格納された様子の一例を概念的に示す図である。 本発明の第1の実施形態を示し、制約情報演算部のマゼンタに関する処理の詳細な構成の一例を示す図である。 本発明の第1の実施形態を示し、CM制約情報を演算する場合の制約情報演算部の詳細な処理の一例を説明するフローチャートである。 本発明の第1の実施形態を示し、フィルタ処理を行った後の走査Dutyのデータの一例を概念的に示す図である。 本発明の第1の実施形態を示し、シフト後の走査Dutyのデータの一例を概念的に示す図である。 本発明の第1の実施形態を示し、シフト後のハーフトーン画像のデータの一例を概念的に示す図である。 本発明の第1の実施形態を示し、ハーフトーン処理部108のマゼンタに関する処理の詳細な構成の一例を示す図である。 本発明の第1の実施形態を示し、マゼンタのハーフトーン処理を行う場合のハーフトーン処理部の詳細な処理の一例を説明するフローチャートである。 本発明の第1の実施形態を示し、走査番号が2の場合のマゼンタの走査Dutyをハーフトーン処理した結果が、ハーフトーン画像格納バッファに格納された様子の一例を概念的に示す図である。 本発明の第1の実施形態を示し、制約情報演算部のマゼンタに関する処理の詳細な構成の一例を示す図である。 本発明の第1の実施形態を示し、CM制約情報を演算する場合の制約情報演算部の詳細な処理の一例を説明するフローチャートである。 本発明の第1の実施形態を示し、フィルタ処理を行った後の走査Dutyのデータの一例を概念的に示す図である。 本発明の第1の実施形態を示し、フィルタ処理を行った後のハーフトーン画像データの一例を概念的に示す図である。 本発明の第1の実施形態を示し、ハーフトーン処理部のシアンに関する処理の詳細な構成の一例を示す図である。 本発明の第1の実施形態を示し、シアンのハーフトーン処理を行う場合のハーフトーン処理部の詳細な処理の一例を説明するフローチャートである。 本発明の第1の実施形態を示し、走査番号kが2の場合のシアンの走査Dutyをハーフトーン処理した結果が、ハーフトーン画像格納バッファに格納された様子の一例を概念的に示す図である。 本発明の第1の実施形態を示し、制約情報演算部におけるシアンに関する処理の詳細な構成の一例を示すブロック図である。 本発明の第1の実施形態を示し、CM制約情報を演算する場合の制約情報演算部の詳細な処理の一例を説明するフローチャートである。 本発明の第1の実施形態を示し、フィルタ処理を行った後の走査Dutyのデータの一例を概念的に示す図である。 本発明の第1の実施形態を示し、フィルタ処理を行った後のハーフトーン画像データの一例を概念的に示す図である。 本発明の第2の実施形態を示し、記録ヘッドの構成の一例を示す図である。 本発明の第2の実施形態を示し、画像処理装置における画像形成処理の一例を説明する図である。
符号の説明
1 画像処理装置
2 プリンタ
101 画像入力端子
102 入力画像バッファ
103 色分解処理部
104 色分解用LUT
105 走査Duty設定部
106 走査Duty設定用LUT
107 走査Dutyバッファ
108 ハーフトーン処理部
109 制約情報バッファ
110 ハーフトーン画像格納バッファ
111 制約情報演算部
112 画像出力端子
201、4501 記録ヘッド

Claims (7)

  1. シート状の記録媒体の上を相対的に走査しながら、前記記録媒体の表面に、異なる色のドットを個別に付着させるための記録素子における色の付着動作を制御する制御装置であって、
    前記異なる色のドットが相互に近づかないようにするための制約を示す制約情報を色毎に個別に作成する制約情報作成手段と、
    前記制約情報作成手段により作成された制約情報に基づいて、入力された画像データに対してN値化処理(Nは2以上の整数)を施して、当該画像データに基づく画像を前記記録媒体の表面に形成するためのドットパターンを色毎に個別に作成するドットパターン作成手段とを有し、
    前記制約情報作成手段は、前記記録素子における同一の走査内での前記制約を、前記記録素子における相互に隣接する走査間における前記制約よりも強くするように、前記制約情報を作成することを特徴とする制御装置。
  2. 前記記録素子は、シート状の記録媒体の上を相対的に往復するものであり、且つ前記異なる色の往路における付着順と復路における付着順とが入れ替わるものであり、
    前記制約情報作成手段は、前記色毎の制約情報の作成順を、前記往路と前記復路とで入れ替えるようにし、
    前記ドットパターン作成手段は、前記色毎のドットパターンの作成順を、前記往路と前記復路とで入れ替えるようにすることを特徴とする請求項1に記載の制御装置。
  3. 前記記録素子は、シート状の記録媒体の上を相対的に往復するものであり、且つ前記異なる色の往路における付着順と復路における付着順とが入れ替わらないものであり、
    前記制約情報作成手段は、前記色毎の制約情報の作成順を、前記往路と前記復路とで同じにし、
    前記ドットパターン作成手段は、前記色毎のドットパターンの作成順を、前記往路と前記復路とで同じにすることを特徴とする請求項1に記載の制御装置。
  4. 前記制約情報作成手段は、前記異なる色における前記制約が、前記往路と前記復路とで異なるように、前記制約情報を作成することを特徴とする請求項1〜3の何れか1項に記載の制御装置。
  5. 前記制約情報作成手段は、前記異なる色における前記復路での前記制約を、前記往路での前記制約よりも強くするように、前記制約情報を作成することを特徴とする請求項4に記載の制御装置。
  6. シート状の記録媒体の上を相対的に走査しながら、前記記録媒体の表面に、異なる色のドットを個別に付着させるための記録素子における色の付着動作を制御する制御方法であって、
    前記異なる色のドットが相互に近づかないようにするための制約を示す制約情報を色毎に個別に作成する制約情報作成ステップと、
    前記制約情報作成ステップにより作成された制約情報に基づいて、入力された画像データに対してN値化処理(Nは2以上の整数)を施して、当該画像データに基づく画像を前記記録媒体の表面に形成するためのドットパターンを色毎に個別に作成するドットパターン作成ステップとを有し、
    前記制約情報作成ステップは、前記記録素子における同一の走査内での前記制約を、前記記録素子における相互に隣接する走査間における前記制約よりも強くするように、前記制約情報を作成することを特徴とする制御方法。
  7. シート状の記録媒体の上を相対的に走査しながら、前記記録媒体の表面に、異なる色のドットを個別に付着させるための記録素子における色の付着動作を制御するための処理をコンピュータに実行させるためのコンピュータプログラムあって、
    前記異なる色のドットが相互に近づかないようにするための制約を示す制約情報を色毎に個別に作成する制約情報作成ステップと、
    前記制約情報作成ステップにより作成された制約情報に基づいて、入力された画像データに対してN値化処理(Nは2以上の整数)を施して、当該画像データに基づく画像を前記記録媒体の表面に形成するためのドットパターンを色毎に個別に作成するドットパターン作成ステップとをコンピュータに実行させ、
    前記制約情報作成ステップは、前記記録素子における同一の走査内での前記制約を、前記記録素子における相互に隣接する走査間における前記制約よりも強くするように、前記制約情報を作成することを特徴とするコンピュータプログラム。
JP2008232397A 2008-09-10 2008-09-10 制御装置、制御方法、及びコンピュータプログラム Pending JP2010064347A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2008232397A JP2010064347A (ja) 2008-09-10 2008-09-10 制御装置、制御方法、及びコンピュータプログラム
US12/556,055 US8432581B2 (en) 2008-09-10 2009-09-09 Image processing apparatus and method
US13/745,616 US8514455B2 (en) 2008-09-10 2013-01-18 Image processing apparatus and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008232397A JP2010064347A (ja) 2008-09-10 2008-09-10 制御装置、制御方法、及びコンピュータプログラム

Publications (2)

Publication Number Publication Date
JP2010064347A true JP2010064347A (ja) 2010-03-25
JP2010064347A5 JP2010064347A5 (ja) 2011-10-27

Family

ID=41799045

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008232397A Pending JP2010064347A (ja) 2008-09-10 2008-09-10 制御装置、制御方法、及びコンピュータプログラム

Country Status (2)

Country Link
US (2) US8432581B2 (ja)
JP (1) JP2010064347A (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11254663A (ja) * 1998-03-13 1999-09-21 Seiko Epson Corp 印刷装置および印刷方法並びに記録媒体
JP2005169940A (ja) * 2003-12-12 2005-06-30 Canon Inc インクジェット記録装置及びインクジェット記録方法
JP2008006591A (ja) * 2006-06-27 2008-01-17 Seiko Epson Corp ディザマトリックスの生成
JP2008188805A (ja) * 2007-02-01 2008-08-21 Canon Inc 画像処理装置、画像形成装置およびその制御方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4620817B2 (ja) * 1998-05-29 2011-01-26 キヤノン株式会社 画像処理装置および画像処理方法
US6307645B1 (en) * 1998-12-22 2001-10-23 Xerox Corporation Halftoning for hi-fi color inks
WO2004100528A1 (ja) * 2003-05-07 2004-11-18 Sharp Kabushiki Kaisha 画像処理装置、画像処理方法、画像形成装置、コンピュータ・ソフトウエアおよび記録媒体
JP4166744B2 (ja) * 2004-10-18 2008-10-15 シャープ株式会社 画像処理装置、画像形成装置、画像処理方法、コンピュータプログラム及び記録媒体
US7948652B2 (en) * 2006-04-11 2011-05-24 Canon Kabushiki Kaisha Processor, method, and program for processing data using a mask pattern to print dots in each area in a non-periodic arrangement by using an integral multiple of the areas

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11254663A (ja) * 1998-03-13 1999-09-21 Seiko Epson Corp 印刷装置および印刷方法並びに記録媒体
JP2005169940A (ja) * 2003-12-12 2005-06-30 Canon Inc インクジェット記録装置及びインクジェット記録方法
JP2008006591A (ja) * 2006-06-27 2008-01-17 Seiko Epson Corp ディザマトリックスの生成
JP2008188805A (ja) * 2007-02-01 2008-08-21 Canon Inc 画像処理装置、画像形成装置およびその制御方法

Also Published As

Publication number Publication date
US8432581B2 (en) 2013-04-30
US20130128318A1 (en) 2013-05-23
US8514455B2 (en) 2013-08-20
US20100060957A1 (en) 2010-03-11

Similar Documents

Publication Publication Date Title
JP5147251B2 (ja) 画像処理装置、及び画像処理装置の制御方法
US8274704B2 (en) Image processing apparatus and method for selecting a processing mode based on attributes of original multivalued image data
JP4777268B2 (ja) 画像形成装置、及び画像処理装置の制御方法
US11531854B2 (en) Image processing apparatus, image processing method and storage medium
JP5921110B2 (ja) 画像処理装置およびその制御方法
US8253974B2 (en) Image forming apparatus, image processing apparatus, and control method therefor
JP2008194855A (ja) 画像形成装置、画像処理装置およびその制御方法
JP5197335B2 (ja) 画像形成装置およびその制御方法、情報処理装置およびその制御方法、プログラム、並びに記憶媒体
JP2015156635A (ja) 画像処理装置および画像処理方法
US8836994B2 (en) Data processing system and data processing method forming a high-quality image on a printing medium by selecting a mask pattern data group based on a frequency characteristic of the input image data and mask pattern data group
JPH115298A (ja) 画像形成装置のエッジ補間方法及びエッジ補間装置
JP2010120185A (ja) 画像処理装置及び画像処理方法
JP2010155390A (ja) 画像形成装置およびその制御方法
JP5596965B2 (ja) 画像処理装置、画像処理方法およびプログラム
JP5517589B2 (ja) 画像処理装置、画像処理方法およびプログラム
JP2010064347A (ja) 制御装置、制御方法、及びコンピュータプログラム
JP5300352B2 (ja) 画像処理装置及び画像処理方法
JP5596913B2 (ja) 画像処理装置および画像処理方法
JP6994923B2 (ja) 制御装置及び制御方法
JP6192373B2 (ja) 画像処理装置、画像処理方法およびプログラム
JP2010069802A (ja) 画像形成装置およびその制御方法
JP2010094895A (ja) 画像形成装置、画像形成方法及びプログラム
JP2007129559A (ja) 画像処理装置および画像処理システム
JP2011114395A (ja) 画像処理装置、画像処理方法、及びプログラム
JP2015199216A (ja) 画像処理装置および画像処理方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110908

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110908

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130129

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130130

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130328

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140107

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140306

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20140715