(57)【要約】【課題】誤差拡散法に基づき量子化する際に、高いバンド幅が要求される誤差メモリへのアクセスを効率良く回避し、高速処理と高品位出力を両立させる。【解決手段】誤差拡散法を用いて多値画像情報をＮ（Ｎは２以上の整数）値に量子化し、量子化で発生した誤差データを累積拡散誤差としてメモリに蓄積する際に、多値画像情報に対して要求された処理性能（印字モード）が、高速処理を必要とする場合（Ｓ１０２のＮＯ）、誤差データを累積拡散誤差としてメモリへ蓄積しないよう制御する（Ｓ１０６）。【選択図】      図１
2004328266.tif 000002
【特許請求の範囲】
【請求項１】
誤差拡散法を用いて多値画像情報をＮ（Ｎは２以上の整数）値に量子化する量子化方法において、
誤差拡散法を用いて多値画像情報をＮ値に量子化する量子化工程と、
前記量子化工程で発生した誤差データを累積拡散誤差としてメモリに蓄積する蓄積工程と、
前記多値画像情報に対して要求された処理性能に応じて前記メモリへの蓄積を制御する制御工程とを有することを特徴とする量子化方法。
【請求項２】
前記制御工程は、前記多値画像情報に対して高速処理が要求された場合、前記誤差データを累積拡散誤差としてメモリへ蓄積しないよう制御することを特徴とする請求項１記載の量子化方法。
【請求項３】
前記累積拡散誤差は、注目画素の下方ラインの周辺画素への誤差データであることを特徴とする請求項２記載の量子化方法。
【請求項４】
前記量子化工程は、前記多値画像情報を多値誤差拡散法により量子化する際に、前記多値画像情報に対して要求された処理性能に応じて前記Ｎ値を変更して濃度パターン法により２値化することを特徴とする請求項１記載の量子化方法。
【請求項５】
前記量子化工程は、基準の閾値にノイズ成分を加算した量子化閾値を用いて量子化することを特徴とする請求項１記載の量子化方法。
【請求項６】
前記制御工程は、前記多値画像情報に対して要求された処理性能に応じて前記累積拡散誤差としてメモリへ蓄積する誤差データのビット数を制御することを特徴とする請求項１記載の量子化方法。
【請求項７】
前記制御工程は、前記多値画像情報に対して高速処理が要求された場合、前記誤差データを少ないビット数に制御することを特徴とする請求項６記載の量子化方法。
【請求項８】
前記累積拡散誤差は、注目画素の下方ラインの周辺画素への誤差データであることを特徴とする請求項６記載の量子化方法。
【請求項９】
前記量子化工程は、前記多値画像情報を多値誤差拡散法により量子化する際に、前記多値画像情報に対して要求された処理性能に応じて前記Ｎ値を変更して濃度パターン法により２値化することを特徴とする請求項６記載の量子化方法。
【請求項１０】
前記制御工程は、更に処理する色情報に応じて前記累積拡散誤差としてメモリへ蓄積する誤差データのビット数を制御することを特徴とする請求項６記載の量子化方法。
【請求項１１】
請求項１記載の量子化方法により前記多値画像情報を量子化し、量子化された画像情報に基づき画像を形成することを特徴とする画像形成システム。
【請求項１２】
コンピュータに請求項１に記載の量子化方法を実行させるためのプログラム。
【請求項１３】
請求項１２に記載のプログラムが記録されたコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、誤差拡散法を用いて多値画像情報をＮ値に量子化する技術に関するものである。
【０００２】
【従来の技術】
近年、パーソナルコンピュータ（ＰＣ）、複写機又はワードプロセッサなどのＯＡ機器が広く普及しており、これらのＯＡ機器の画像形成（記録）装置の一種として、インクジェット方式によりディジタル画像記録を行う装置が急速に発展及び普及している。特にＯＡ機器の高機能化と共にカラー化が進んでおり、これらに伴って様々なカラーインクジェット記録装置が開発されてきている。
【０００３】
一般に、インクジェット記録装置には、記録手段（プリントヘッド）、インクタンクを搭載するキャリッジ、記録紙を搬送する搬送手段及びこれらを制御する制御手段が具備されている。そして、複数の吐出口からインク液滴を吐出させるプリントヘッドを記録紙の搬送方向（副走査方向）と直行する方向（主走査方向）にシリアルスキャンさせ、一方で非記録時に記録幅に等しい量で間欠搬送するものである。更に、カラー対応のインクジェット記録装置の場合には、複数色のプリントヘッドから吐出されるインク液滴の重ね合わせによりカラー画像を形成している。
【０００４】
インクジェット記録装置において、インクを吐出させる方法としては、吐出口近傍に発熱素子（電気／熱エネルギー変換体）を設け、この発熱素子に電気信号を印加することによりインクを局所的に加熱して圧力変化を起こさせてインクを吐出口から吐出させるサーマル方式、又はピエゾ素子等の電気／圧力変換手段を用いてインクに機械的圧力を付与してインクを吐出するピエゾ方式などが用いられている。一般に、前者のサーマル方式はノズルの高密度化が容易で、ヘッドを低コストで構成できる反面、発熱を利用しているためにインクやヘッドの劣化を招き易い。一方、後者のピエゾ方式は吐出制御性に優れ、インクの自由度が高く、ヘッド寿命が半永久的であるといった特徴がある。
【０００５】
これらの記録方法は、記録信号に応じてインクを微少な液滴として吐出口から記録媒体上に吐出することにより文字や図形などの記録を行うものであり、ノンインパクトであるため騒音が少ないこと、ランニングコストが低いこと、装置が小型化し易いこと、カラー化が容易であることなどの利点を有していることから、コンピュータやワードプロセッサ等と併用され、或いは単独で使用される複写機、プリンタ、ファクシミリ等の記録装置における画像形成（記録）手段として広く用いられている。
【０００６】
図１６及び図１７は、インクジェット記録装置のコントローラ部及びエンジン部の概略構成を示すブロック図である。
【０００７】
まず、コントローラ部の機能及び概略動作について説明する。図１６において、ＣＰＵ１６０１はＵＳＢインタフェース１６０４或いはＩＥＥＥ１３９４インタフェース１６０５を介してホストＰＣ１６０６（１６０７）に接続されており、制御プログラムを格納したＲＯＭ１６０９や更新可能な制御プログラムや処理プログラムや各種定数データなどを格納したＥＥＰＲＯＭ１６１０、及びホストＰＣ１６０６から受信したコマンド信号や画像情報を格納するためのＲＡＭ１６０８にアクセスし、これらのメモリに格納された情報に基づいて記録動作を制御する。操作パネル１６１２のキーから入力される指示情報は操作パネルインタフェース１６１１を介してＣＰＵ１６０１に伝達され、またＣＰＵ１６０１からの命令により同様に操作パネルインタフェース１６１１を介して操作パネル１６１２のＬＥＤ点灯やＬＣＤ表示が制御される。拡張インタフェース１６１５はＬＡＮコントローラやＨＤＤなどの拡張カードを接続することにより機能拡張を行うためのインタフェースである。画像情報は画像データ処理部１６１３で各インク色のドットデータに変換され、エンジン部へ出力される。またコントローラ部とエンジン部との間の各種コマンドやステータス情報の送受信は同様に画像データ処理部１６１３を介して行われる。
【０００８】
次に、エンジン部の機能及び動作概要について説明する。図１７において、エンジン部はバンドメモリ制御部１７１２を介してコントローラ部と接続されている。ＣＰＵ１７０１は制御プログラムを格納したＲＯＭ１７０３や更新可能な制御プログラムや処理プログラムや各種定数データなどを格納したＥＥＰＲＯＭ１７０４、及びコントローラ部から受信したコマンド信号や画像情報を格納するためのＲＡＭ１７０２にアクセスし、これらのメモリに格納された情報に基づいて記録動作を制御する。出力ポート１７０５及びキャリッジモータ制御回路１７０７を介してキャリッジモータ１７０９を動作させることによりキャリッジ１７１１を移動させ、また出力ポート１７０５及び紙搬送モータ制御回路１７０６を介して紙搬送モータ１７０８を動作させることにより搬送ローラなどの紙搬送機構１７１０を動作させる。更に、ＣＰＵ１７０１はＲＡＭ１７０２に格納されている各種情報に基づきバンドメモリ制御部１７１２やプリントヘッド制御部１７１４を制御してプリントヘッド１７１５を駆動することにより記録媒体上に所望の画像を記録することができる。
【０００９】
また、不図示の電源回路からはＣＰＵや各種制御回路を動作させるためのロジック駆動電圧Ｖｃｃ（例えば３．３Ｖ）、各種モータ駆動電圧Ｖｍ（例えば２４Ｖ）、プリントヘッドを駆動させるためのヒート電圧Ｖｈ（例えば１２Ｖ）等が出力される。
【００１０】
従来のインクジェット記録方法において、インクのにじみのない高発色カラー画像を得るためにはインク吸収層を有する専用コート紙を使用する必要があったが、近年はインクの改良等によりプリンタや複写機等で大量に使用される普通紙への印字適性を持たせた方法も実用化されている。更には、ＯＨＰシートや布、プラスチック、シート等の様々な記録媒体への対応が望まれており、このような要求に応えるため、インクの吸収特性が異なる記録媒体（記録メディア）を必要に応じて選択した際に記録媒体の種類に係わりなく最良の記録が可能な記録装置の開発及び製品化が進められている。また、記録媒体の大きさについても、宣伝広告用のポスタや衣類等の織布では大きいサイズのものが要求されてきている。このようなインクジェット記録装置は、優れた記録手段として幅広い分野で需要が高まっており、より一層高品位な画像の提供が求められ、また更なる高速化への要求も一段と高まっていると言える。
【００１１】
一般に、カラーインクジェット記録方法はシアン（Ｃｙ），マゼンタ（Ｍｇ），イエロー（Ｙｅ）の３色のカラーインクを使用し、更にはブラック（Ｂｋ）を加えた４色のインクを使用してカラー記録を実現する。このようなカラーインクジェット記録装置においては、キャラクタのみ印字するモノクロインクジェット記録装置と異なり、カラーイメージ画像を記録するに当たり、発色性や階調性、一様性など、様々な要素が必要となる。
【００１２】
また、インクジェット記録装置では、更に多階調として自然画像をより高品位に形成するため、従来の（Ｃｙ），マゼンタ（Ｍｇ），イエロー（Ｙｅ），ブラック（Ｂｋ）の４色に加え、インク濃度の低いライトＣｙ，ライトＭｇ，ライトＹｅの３色を加えた７色インクを用いることにより、ハイライト部分の粒状感を軽減したものなどが多く実現されている。
【００１３】
しかしながら、記録される画像の品位はプリントヘッド単体の性能に依存するところが大きい。即ち、プリントヘッドの吐出口の形状や電気／熱変換体（吐出ヒータ）のばらつきなどのプリントヘッド製作工程時に生じるノズル毎の僅かな違いがそれぞれに吐出されるインクの吐出量や吐出方向の向きに影響を及ぼし、最終的に形成される記録画像の濃度ムラとして画像品位を劣化させる原因となる。その結果として、ヘッド主走査方向に対して周期的にエリアファクタ１００％を満たせない“白”の部分が存在したり、逆に必要以上にドットが重なり合ったり、或いは白筋が発生したりすることとなる。これらの現象が、通常人間の目で濃度ムラとして感知される。
【００１４】
そこで、これらの濃度ムラ対策としてマルチパス記録法と呼ばれる方式が提案されている。簡単のために８ノズルからなる単一インク色ヘッドを用いた場合を例に挙げて説明する。
【００１５】
まず、偶数列／奇数列パターンや千鳥／逆千鳥パターンを用いて記録データを間引くことによりパスデータを生成する固定マスク方式を採用して２パス記録を実現する場合について説明する。第１走査において千鳥パターンを記録し、記録幅の半分（４ドット幅）だけ紙送りを行った後、第２走査において逆千鳥パターンを記録することにより記録を完成する。即ち、順次４ドット単位の紙送りと、千鳥／逆千鳥パターンの記録を交互に行うことにより、４ドット単位の記録領域を１スキャン毎に完成させていく（図１８）。
【００１６】
次に、記録ドットと非記録ドットとが乱数的に配列されたランダムマスクパターンなどを用いて記録データを間引くことによりパスデータを生成するテーブル参照方式を採用して２パス記録を実現する場合について説明する。
【００１７】
図１４は、記録走査毎のマスクテーブルの一構成例を示す図である。図１４に示すテーブル領域Ａ，Ｂはそれぞれ第１パス，第２パスにおいて使用する相補的なマスクテーブルである。テーブルは１ｂｉｔ／ｄｏｔで、０はマスク対象であることを示し、１は非マスク対象であることを示す。マスクテーブルＡ，Ｂはそれぞれが主走査方向１２画素×副走査方向４画素に対応したサイズのテーブルであり、これを各方向に繰り返し展開してマスクデータとして使用する。プリントヘッドが備えるノズル数は８であり、２パス記録における紙搬送量に相当する画素数は８／２＝４であり、これはテーブルＡ及びＢの副走査方向サイズと一致する。
【００１８】
図１５は、図１４で示したマスクテーブルを用いた記録走査の様子を説明するための図である。８個のノズルに対応する８ラインのデータに対して、４ライン毎にＡ，Ｂをマスクパターンとして適用する。各記録走査においては、格納されたマスクテーブルを用いて画像データのマスク処理（記録ドットを非記録ドットに置き換える）を実行し、パスデータを生成出力する。具体的には、画像データとマスクデータとの論理積をとることにより、マスクデータが１である場合には画像データをそのまま出力し、マスクデータが０である場合には画像データを０に置き換えることにより実現される。全ての画像領域は、常に２回の走査によりＡ，Ｂの順にマスク処理されて記録データが生成されることになる。ここで、Ａ，ＢのマスクＯＦＦ（１）比率は等しく各々５０％程度である。
【００１９】
このようにして、１つのラインを異なる２つのノズルを用いて記録することにより、濃度ムラを抑えた高品位な画像を形成することができる。またマルチパス記録法は、インクを乾かしながら記録していくことによりブリーディング（にじみ）を抑えるといった効果や、走査毎の記録ドットを低減することから吐出不良の原因となるプリントヘッドの昇温を抑制する効果、なども同時に達成できる。
ここでは主走査方向について説明したが、副走査方向に対して連続するドットを間引いて記録することにより更なる高画質化が可能になる。また、ノズル解像度よりも高い解像度で副走査方向の画像形成を実現したい場合には、この副走査方向の間引き記録は必須の処理となる。
【００２０】
各走査のパスデータを生成する方法としては、上述のような記録ドットと非記録ドットとが乱数的に配列されたランダムマスクパターンなどを用いて記録データを間引くことによりパスデータを生成する方法（テーブル参照方式と称す）や、偶数列／奇数列パターンや千鳥／逆千鳥パターンを用いて記録データを間引くことによりパスデータを生成する方法（固定マスク方式と称す）のほかに、記録ドットに着目して間引き処理を行うことによりパスデータを生成する方法（データマスク方式と称す）、或いはこれらを併用した方式などが知られている。
【００２１】
次に、図１６に示したコントローラ部内の画像データ処理部１６１３における画像データ処理について説明する。
【００２２】
図１３は、画像データ処理部１６１３における画像データ処理の流れを示す図である。例えば、ホストＰＣ１６０６より受信されたＲＧＢの多値画像データは色変換処理１３０１によってインク色（例えばＣｙ，Ｍｇ，Ｙｅ，Ｂｋ）の多値画像データに変換され、続いて、量子化処理１３０２によってインク色毎の２値データに変換される。このようにして、多値画像データはエンジン部（プリントヘッド）において出力可能なレベル（ここでは２値）に変換される。
【００２３】
この量子化処理の方法として誤差拡散法とディザ法が広く知られている。誤差拡散法では、注目画素について周辺画素に拡散係数を割り当て、注目画素において発生する量子化誤差を拡散係数に応じて周辺画素に振り分ける。これにより、画像全体の濃度は保存されることになり、良好な疑似階調表現が可能となる。一方、ディザ法では、マトリクス状の閾値からなるディザマトリクスを用意しておき、各閾値と入力データの各画素との１対１の画素比較を行い、ＯＮ／ＯＦＦを決定する。一般に、ディザ法では、誤差拡散法を適用した画像に比べて画品位が低下する傾向にあるが、誤差拡散法は誤差が伝播するまで次画素の処理に移行できず高速処理が困難である。
【００２４】
基本的な誤差拡散法の２値化処理方法を具体的に説明する。図５は矢印で示すようにラスタの左から右に処理する際の拡散係数マトリクスの一例である。この拡散係数マトリクスとは、各画素に対する誤差の伝播割合を示すものである。誤差拡散法では、閾値と画素値の比較を行い、ドットのＯＮ／ＯＦＦを判定すると同時に、その誤差を算出して周囲の画素値に伝播させる。ここで誤差は画素値と評価値の差で表される。評価値は１０ビット（１０２４階調）画素値に対してＯＮならば１０２３、ＯＦＦならば０、閾値を５１２固定とすると、画素値が７２２の場合には判定結果はドットＯＮ、誤差は３０１となる。この例では、同一ライン上の後続するＡ，Ｂの２画素と、下ラインのＣ，Ｄ，Ｅ，Ｆ，Ｇの５画素に誤差を拡散する。このように誤差の伝播を行うことで、画像データの濃度は保存される。
【００２５】
また、最近のインクジェット記録装置のような高解像度の２値出力装置では、より滑らかな中間調画像を表現するために多階調で表現する誤差拡散法（多値誤差拡散法）が利用されている。以下に多値誤差拡散法と濃度パターン法とを組み合わせた量子化方法について具体例を挙げて説明する。
【００２６】
まず、多値画像データに対して多値誤差拡散法により５値化処理を施す。多値誤差拡散法による５値化においては４つの閾値を備え、画素値との比較によって０〜４の出力値を決定する。そこで発生する誤差は２値化の際と同様にして拡散マトリクスに従って周囲の画素値へ伝播させる。更に、５値データに対して濃度パターン法を用いて２値データに展開する。具体的には、２×２の網点マトリクスに従って５値データを網点展開処理するものである。ここで、多値画像データの解像度（入力解像度）を６００ｐｐｉ×６００ｐｐｉ（ｐｐｉはｐｉｘｅｌ／ｉｎｃｈ）とし、プリントヘッドによる最終的な記録解像度（出力解像度）を１２００ｄｐｉ×１２００ｄｐｉ（ｄｐｉはｄｏｔ／ｉｎｃｈ）とする。本方式により、ドットのＯＮ／ＯＦＦの２階調でしか表現できなかった各画素を拡張することによって５階調表現を可能とし、しかも高速化が困難な誤差拡散処理を出力解像度よりも低い６００ｐｐｉ×６００ｐｐｉで実施することにより、誤差拡散の処理時間を１／４に削減することができる。
【００２７】
実際のインクジェット記録装置においては、その印字モードなどに対応付けて入力解像度と出力解像度の関係を設定し、これに従った網点マトリクスサイズに応じて多値誤差拡散法による最適な出力階調数Ｎを選択して量子化処理を実行するものなどが提案されている。例えば、高速モードでは入力解像度３００ｐｐｉ×３００ｐｐｉに対して多値誤差拡散法により８値化を行った後に４×４の網点マトリクスを用いて出力解像度１２００ｄｐｉ×１２００ｄｐｉの記録ドットデータを生成し、高品位モードでは入力解像度６００ｐｐｉ×６００ｐｐｉに対して多値誤差拡散法により４値化を行った後に２×２の網点マトリクスを用いて出力解像度１２００ｄｐｉ×１２００ｄｐｉの記録ドットデータを生成する。これにより、目的に応じて処理の高速化と高品位化とのバランスに優れた量子化処理が可能になる。
【００２８】
また、Ｂｋのみ他インク色よりも吐出インク滴量が多くなるよう構成し、Ｂｋのみ低い解像度で画像形成を行うことで、モノクロ画像形成を高速化するインクジェット記録装置なども実用化されている。このような装置においては、例えば全てのインク色に対して入力解像度３００ｐｐｉ×３００ｐｐｉで、Ｂｋのみが出力解像度６００ｄｐｉ×６００ｄｐｉ、他のインク色が出力解像度１２００ｄｐｉ×１２００ｄｐｉであれば、Ｂｋでは多値誤差拡散法により４値化を行った後に２×２の網点マトリクスを用いて展開し、他のインク色においては多値誤差拡散法により８値化を行った後に４×４の網点マトリクスを用いて展開する、といった処理が必要となる。
【００２９】
先に述べたように、誤差拡散法は着目している画素にドットを形成したか否かによって生じる階調表現の誤差を周囲画素に分配すると同時に、周囲から拡散された誤差を解消するように着目画素のドットＯＮ／ＯＦＦ判断を行う手法であり、一般に高画質な画像が得られるが、処理の高速化が困難である。これに対してディザ法では、ディザマトリクスを構成する閾値と比較することによってドットＯＮ／ＯＦＦ判定を行うため、迅速な判断処理が可能である。
【００３０】
このため、高速処理が要求される場合には誤差拡散法ではなくディザ法を用いて量子化処理を行うシステムが数多く提案されている（例えば、特許文献１、特許文献２参照）が、ディザ法では誤差拡散法に比べて画質が劣化する傾向にあり、最高画質をねらったシステムの階調表現に採用できるほど画質に優れた処理を実現することは困難である。また、できるだけ高画質な画像を得るために画像の一部のドットに対してのみディザ法を用いるシステムなども提案されているが、全ての画素に対して誤差拡散法を用いた場合と遜色ない画質を得ることが困難なだけでなく、切替処理による弊害が見られる場合がある。
【００３１】
【特許文献１】
特開平９−８３８０７号公報
【特許文献２】
特開平１０−０５１６５１号公報
【発明が解決しようとする課題】
また、誤差拡散法を用いた量子化処理の高速化には、次に述べるような課題が存在する。以下、具体例を挙げながら誤差拡散法による量子化における問題点について詳細に説明する。
【００３２】
まず、画素毎に発生する誤差データについて説明する。入力画像データを１０ｂｉｔ（０〜１０２３）とする。閾値は５１２固定とし、判定結果がＯＮならば１０２３、ＯＦＦならば０、更に固定的で係数の和が１である拡散マトリクスを用いるとすれば、発生する誤差データは−５１１〜＋５１１、累積される拡散誤差データも同様に−５１１〜＋５１１、累積誤差データが加算された補正画素データは−５１１〜＋１５３４で表される。
【００３３】
誤差拡散法において処理画素と同一ライン以外の画素へ誤差を伝播させるためには、ライン処理毎に次のラインへの拡散誤差を格納するための誤差メモリを備える必要がある。具体的には、インク色毎にライン画素数に１０ｂｉｔを乗じた容量（ｂｉｔ数）のメモリが要求されることになる。例えば、処理ラインの他に以降の１ラインに誤差を拡散する場合、インク色６色、解像度１２００ｄｐｉ、最大印字幅１２インチに対応するには６色×１２インチ×１２００ｄｐｉ×１０ｂｉｔ×１ライン＝０．８Ｍｂｉｔのメモリ容量となる。
【００３４】
ある画素の処理に着目すると、１色につき誤差データの読み出し１回と書き込み１回のアクセスが発生するため、６色処理の場合には合計１２回の誤差メモリへのアクセスが必要になる。即ち、仮に動作周波数１００ＭＨｚで画素あたり２サイクル処理を実現しようとすると、１００ＭＨｚ／２×１２回×１０ｂｉｔ＝６Ｇｂｉｔ／Ｓという非常に高いアクセス速度が要求されることになる。
【００３５】
このような誤差メモリの高いバンド幅の要求は多くの問題を引き起こすこととなる。
【００３６】
１つ目の大きな問題は量子化処理性能そのものに与える影響である。このように高いバンド幅を要求される誤差メモリへのアクセスがネックとなって十分な量子化処理性能が発揮できない場合があるといった問題点がある。
【００３７】
２つ目の大きな問題はシステム全体に対する影響である。特に、低コスト化の目的から他の画像処理メモリやシステムメモリと物理的なメモリを共用するシステムなどでは、誤差メモリ空間への高い頻度のアクセスが他の画像データ処理やシステム動作に悪影響を及ぼす可能性があるといった問題点がある。
【００３８】
本発明は、上述の課題を解決するためになされたもので、誤差拡散法に基づき量子化する際に、高いバンド幅が要求される誤差メモリへのアクセスを効率良く回避し、高速処理と高品位出力を両立させることを目的とする。
【００３９】
【課題を解決するための手段】
上記目的を達成するために、本発明は、誤差拡散法を用いて多値画像情報をＮ（Ｎは２以上の整数）値に量子化する量子化方法において、誤差拡散法を用いて多値画像情報をＮ値に量子化する量子化工程と、前記量子化工程で発生した誤差データを累積拡散誤差としてメモリに蓄積する蓄積工程と、前記多値画像情報に対して要求された処理性能に応じて前記メモリへの蓄積を制御する制御工程とを有することを特徴とする。
【００４０】
【発明の実施の形態】
以下、図面を参照しながら本発明に係る実施の形態を詳細に説明する。
【００４１】
図３は、インクジェット記録装置における記録部の構成を示す図である。図３において、３０１はプリントヘッドであり、ブラック（Ｂｋ）、シアン（Ｃｙ）、マゼンタ（Ｍｇ）、イエロー（Ｙｅ）の４色のカラーインクがそれぞれ封入されたインクタンクと、それぞれに対応した独立した４つのヘッドからなるマルチヘッドにより構成されている。各色のノズル数は１２８０ノズルである。３０２はキャリッジであり、プリントヘッド３０１を支持し、記録と共にこれらを移動させる。尚、キャリッジ３０２は非記録状態などの待機時にはホームポジション位置ＨＰにある。
【００４２】
３０３は紙送りローラであり、不図示の補助ローラと共に記録紙３０５を押さえながら回転し、記録紙３０５をＹ方向に随時送っていく。３０４は給紙ローラであり、記録紙３０５の給紙を行うと共に紙送りローラ３０３及び補助ローラと同様に記録紙３０５を押さえる役割を果たす。ここで、プリントヘッド３０１はＢｋ，Ｃｙ，Ｍｇ，Ｙｅの各々４色について、それぞれ紙送り方向に配置された１２８０個のノズルをそれぞれ有している。
【００４３】
ここで、上述した構成の記録部における基本的な記録動作について説明する。
記録開始命令により、ホームポジション位置ＨＰで待機中のキャリッジ３０２はＸ方向に移動しながらプリントヘッド３０１の複数のノズルにより記録データに従い記録紙３０５上にインクを吐出して記録を行う。その後、記録紙３０５端部まで記録データの記録が終了すると、キャリッジ３０２は元のホームポジション位置ＨＰに戻る。そして、紙送りローラ３０３が矢印方向へ回転することによりＹ方向へ所定の幅だけ紙送りを行い、再びキャリッジ３０２はＸ方向に移動しながらインクを吐出して記録を開始する。このようなスキャン動作と紙送り動作との繰り返しによりデータ記録を実現する。
【００４４】
尚、本実施形態のインクジェット記録装置は、ホストＰＣとの間で画像情報や各種制御情報のやりとりをするためのインタフェース、入力画像情報をインク色毎のドットのＯＮ／ＯＦＦデータに変換するための画像データ処理部などで構成されるコントローラ部（図１６）と、記録紙の搬送やキャリッジの駆動などを行うと共にプリントヘッド３０１を制御して画像を形成するエンジン部（図１７）とで構成されている。
【００４５】
本実施形態では、「高速モード」と「高品位モード」との２つの印字モードを備えており、これらを選択して画像形成を行う。この「高速モード」は２パス・双方向で画像を形成するものであり、また「高品位モード」は４パス・片方向で画像を形成するものである。ここで、２パス記録では、走査間で行われる紙搬送量は常に６４０画素相当（一定）であり、これはノズル数１２８０をパス数２で除した値と一致する。何れのモードにおいても、記録解像度は１２００ｄｐｉ×１２００ｄｐｉである。
【００４６】
［第１の実施形態］
次に、図１６に示すコントローラ部内の画像データ処理部１６１３が入力画像情報をインク色毎の多値画像データに変換した後、誤差拡散法を用いて多値画像データを量子化することによりエンジン部へ出力する各インク色のドットデータを生成する第１の実施形態の処理について説明する。
【００４７】
図４は、第１の実施形態における画像データ処理部の概略構成を示す図である。図４において、４０１は色変換部であり、入力された画像情報を４色のインク毎の多値画像データに変換する。４０２は誤差拡散処理部であり、誤差拡散法を用いて多値画像データを量子化することにより各インク色のドットデータを生成する。
【００４８】
第１の実施形態における誤差拡散処理を説明する前に、まず基本的な誤差拡散法について説明する。ここでは簡単化のため、出力階調数を２として説明する。
図５は、誤差拡散法における拡散係数マトリクスを示す図である。この例では、図中の矢印で示すように、ラスタの左から右に処理する際の拡散係数マトリクスの一例を示している。誤差拡散法では、閾値と画素値との比較を行い、ドットのＯＮ／ＯＦＦを判定すると同時に、その誤差を算出して周囲の画素値に伝播させる。ここで、誤差は画素値と評価値との差で表される。評価値は１０ビット画素値に対してＯＮならば１０２３、ＯＦＦならば０である。閾値は５１２（固定）とする。例えば、画素値が７２２の場合、判定結果はドットＯＮ、誤差は３０１となる。この例では、同一ラインの後続するＡ，Ｂの２画素と、その下方ラインのＣ，Ｄ，Ｅ，Ｆ，Ｇの５画素に誤差を拡散する。また、ライン番号Ｌの画素の量子化処理により発生するライン番号（Ｌ＋１）への拡散誤差は、画素毎の拡散誤差として一旦誤差メモリに格納される。尚、発生誤差は符号付きの１１ｂｉｔデータである。
【００４９】
次に、第１の実施形態における誤差拡散処理部４０２の構成及び誤差拡散処理（２値化）について詳細に説明する。尚、ここでは簡単化のため、単一インク色について説明する。
【００５０】
図２は、第１の実施形態における誤差拡散処理部の概略構成を示すブロック図である。図２において、２０１は入力補正部であり、入力画素値に累積誤差値を加算して補正入力画素値を生成して出力する。２０２は比較部であり、補正入力画素値と閾値とを比較して階調値を出力する。２０３は評価値選択部であり、比較部２０２における比較結果に応じた階調値に対応する評価値を選択して出力する。２０４は誤差算出部であり、補正入力画素値と評価値選択部２０４からの出力である評価値との差分を誤差値として出力する。
【００５１】
２０５〜２１１はそれぞれＡ拡散誤差算出部、Ｂ拡散誤差算出部、Ｃ拡散誤差算出部、Ｄ拡散誤差算出部、Ｅ拡散誤差算出部、Ｆ拡散誤差算出部、Ｇ拡散誤差算出部であり、画素Ａ、画素Ｂ、画素Ｃ、画素Ｄ、画素Ｅ、画素Ｆ、画素Ｇへの拡散誤差を生成して出力する。２１２〜２１７はそれぞれＡ加算部、Ｂ加算部、Ｃ加算部、Ｄ加算部、Ｅ加算部、Ｆ加算部であり、前段の拡散誤差に対してそれぞれ画素Ａへの拡散誤差、画素Ｂへの拡散誤差、画素Ｃへの拡散誤差、画素Ｄへの拡散誤差、画素Ｅへの拡散誤差、画素Ｆへの拡散誤差を加算する。２１８は遅延部であり、サイクル調整のための遅延処理を行う。２１９は誤差拡散対象制御部であり、発生した誤差の拡散対象を決定して各部へ指示する。２２０は誤差データ入力部であり、上方ラインでの累積拡散誤差データを図外の誤差メモリから入力する。２２１は誤差データ出力部であり、図外の誤差メモリへ下方ラインへの累積拡散誤差データを出力する。
【００５２】
次に、第１の実施形態における誤差拡散処理部４０２の基本的な量子化動作について説明する。
【００５３】
図外から入力された画素値は入力補正部２０１へ供給される。この入力補正部２０１では、入力画素値と拡散誤差が累積された累積値とを加算して補正画素値を出力する。次の比較部２０２では、補正画素値と判定閾値との間の比較を行い、判定閾値より大きければドットＯＮと判定して階調値１を、小さければドットＯＦＦと判定して階調値０を出力する。次に、評価値選択部２０３では、比較部２０２の判定結果がドットＯＮならばドットＯＮ評価値を出力し、ドットＯＦＦならばドットＯＦＦ評価値を出力する。そして、誤差算出部２０４では補正画素値と評価値選択部２０３から出力された評価値との間の差分である誤差値を算出する。
【００５４】
この誤差算出部２０４からの出力である誤差値は、Ｃ誤差拡散算出部２０７、Ｄ誤差拡散算出部２０８、Ｅ誤差拡散算出部２０９、Ｆ誤差拡散算出部２１０、Ｇ誤差拡散算出部２１１へ供給されて、それぞれ画素Ｃ、画素Ｄ、画素Ｅ、画素Ｆ、画素Ｇに対する拡散誤差が算出される。拡散される誤差は画素処理サイクル毎にＦ加算部２１７、Ｅ加算部２１６、Ｄ加算部２１５、Ｃ加算部２１４と累積加算され、誤差データ出力部２２１を介して下方ラインへの累積拡散誤差データとして図外の誤差メモリへ一時格納される。
【００５５】
一方、誤差算出部２０４からの出力である誤差値は、Ａ誤差拡散算出部２０５、Ｂ誤差拡散算出部２０６へも同様に供給されて、それぞれ画素Ａ、画素Ｂに対する拡散誤差が算出される。また、Ｂ加算部２１３には誤差データ入力部２２０を介して図外の誤差メモリより上方ラインの処理時に拡散された上方ライン累積拡散誤差データが入力され、画素Ｂへの拡散誤差と加算される。更に、Ａ加算部２１２により画素Ａに対する拡散誤差を加算することで画素Ａ〜画素Ｇにおいて順次加算された累積拡散誤差データが得られる。
【００５６】
次に、第１の実施形態において特徴的な誤差拡散処理部４０２が印字モードに応じて誤差拡散対象を選択する処理について詳細に説明する。具体的には、誤差拡散処理部４０２の誤差拡散対象制御部２１９が要求された印字モードに関する情報に応じて、発生した拡散誤差を同一ライン及び下方ラインに位置する画素Ａ〜画素Ｇの６つの画素に分配するか、或いは同一ラインの画素Ａと画素Ｂの２つの画素のみに分配するかを決定する。そして、その決定に基づいて誤差拡散処理制御を行うと同時に、同一ラインの画素Ａと画素Ｂにのみ拡散する場合には誤差データ入力部２２０による誤差メモリからの入力処理や誤差データ出力部２２１による誤差メモリへの出力処理を停止するよう指示するものである。
【００５７】
図１は、第１の実施形態における誤差拡散処理を示すフローチャートである。
まず、印字モードに関する情報を取得する（ステップＳ１０１）。印字モードが「高品位モード」であれば（ステップＳ１０２のＹＥＳ）、同一ラインの画素Ａと画素Ｂに加えて下方ラインの画素Ｃ、画素Ｄ、画素Ｅ、画素Ｆ、画素Ｇを拡散対象として拡散マトリクスを６画素拡散モードに切り替える（ステップＳ１０３）。次に、外部の誤差メモリへの書き込み／読み出し制御をＯＮとし（ステップＳ１０４）、下方ラインへの拡散誤差を誤差メモリへ書き込む処理と上方ラインの拡散誤差を誤差メモリから読み出す処理とを実行可能とする。
【００５８】
一方、印字モードが「高品位モード」でなければ、即ち、「高速モード」であれば（ステップＳ１０２のＮＯ）、同一ラインの画素Ａと画素Ｂのみを拡散対象として拡散マトリクスを２画素拡散モードに切り替える（ステップＳ１０５）。次に、外部の誤差メモリへの書き込み／読み出し制御をＯＦＦとし（ステップＳ１０６）、下方ラインへの拡散誤差を誤差メモリへ書き込む処理と上方ラインの拡散誤差を誤差メモリから読み出す処理とを実行不可とする。
【００５９】
このようにして、誤差拡散法に基づき所定の拡散先へ発生誤差を拡散しながら２値化処理を行う際に、印字モードが「高品位モード」では下方ラインも含めた画素へ発生誤差を分配し、「高速モード」では同一ラインにのみ発生誤差を分配することにより、誤差メモリへのアクセスを不要とする。
【００６０】
即ち、高速処理が要求される印字モードでは、発生誤差の拡散先を同一ラインの画素に限定することにより誤差メモリへのアクセスを不要とし、システム全体の高速処理を可能とする。また、高品位処理が要求される印字モードでは、発生誤差を下方ラインにも分配することにより高品位な量子化処理を実現できる。
【００６１】
以上詳細に説明した第１の実施形態によれば、誤差拡散法を用いた２値化処理において、印字モードに対応付けられた要求処理性能に応じて、発生誤差の拡散対象画素を制限することにより、高速処理が要求されるモードでは誤差メモリへのアクセスを回避した高速処理を実現する一方、高品位処理が要求されるモードでは拡散先を制限せずに高品位な量子化処理を可能とし、ユーザ要求やシステム要求に応じた高速性能と高品位性能とを実現した量子化方法を提供することができる。
【００６２】
［第２の実施形態］
次に、図面を参照しながら本発明に係る第２の実施形態を詳細に説明する。
【００６３】
第１の実施形態では、誤差拡散法に基づく２値化処理において、要求される処理性能に応じて誤差拡散対象を同一ラインの画素に限定することにより、誤差メモリへのアクセス発生を回避してシステム全体の要求メモリバンド幅を削減して高速処理を実現していた。しかしながら、本発明はこれに限定されるものではなく、多値誤差拡散法に基づくＮ値化処理に対して適用することも可能である。
【００６４】
第２の実施形態として、多値誤差拡散法に基づくＮ値化処理と網点マトリクスを用いた２値化展開とを組み合わせた量子化方法について詳細に説明する。
【００６５】
尚、第２の実施形態におけるインクジェット記録装置の記録部は図３に示した第１の実施形態の構成と同様である。また、内部を構成するエンジン部及びコントローラ部についても、その基本構成は図１６及び図１７に示した構成と同様である。
【００６６】
次に、図１６に示すコントローラ部内の画像データ処理部１６１３が入力画像情報をインク色毎の多値画像データに変換した後に、多値誤差拡散法と濃度パターン法を用いて多値画像データを量子化することによりエンジン部へ出力する各インク色のドットデータを生成する第２の実施形態の処理について説明する。
【００６７】
図９は、第２の実施形態における画像データ処理部の概略構成を示す図である。図９において、９０１は色変換部であり、入力された画像情報を４色のインク毎の多値画像データに変換する。９０２は多値誤差拡散処理部であり、多値画像データを多値誤差拡散法により出力階調数ＮにＮ値化する。９０３は網点処理部であり、濃度パターン法により２値化処理（網点処理）を行う。
【００６８】
上記構成において、第２の実施形態における画像データ処理部の量子化処理は、多値誤差拡散処理部９０２による多値誤差拡散法に基づくＮ値化処理と、網点処理部９０３による濃度パターン法を用いた２値化処理（網点処理）とを組み合わせることにより実現される。尚、多値誤差拡散法による出力階調数Ｎは可変であり、これらを適応的に組み合わせてドットパターンに展開するものである。
【００６９】
また、第２の実施形態は、図８に示す２つの印字モードに応じて適応的な量子化処理を選択して実行するものである。図８に示す「高速モード」では入力解像度３００ｐｐｉ×３００ｐｐｉに対して誤差拡散法により８値化した後に４×４の網点マトリクスを用いて展開し、出力解像度である１２００ｄｐｉ×１２００ｄｐｉのドットデータを得る。「高品位モード」では入力解像度６００ｐｐｉ×６００ｐｐｉに対して誤差拡散法により４値化した後に２×２の網点マトリクスを用いて展開し、出力解像度である１２００ｄｐｉ×１２００ｄｐｉのドットデータを得る。
【００７０】
このようにして処理負荷の重い誤差拡散の処理解像度を印字モード毎に段階的に選択することで、高速処理と高品位処理をバランスよく実行できる。
【００７１】
次に、第２の実施形態における多値誤差拡散処理部９０２の構成及び多値誤差拡散処理（Ｎ値化）について詳細に説明する。尚、ここでは簡単化のため、単一インク色について説明する。
【００７２】
図７は、第２の実施形態における多値誤差拡散処理部の概略構成を示すブロック図である。図７において、７０１は入力補正部であり、入力画素値に累積誤差値を加算して補正入力画素値を生成して出力する。７０２は比較部であり、補正入力画素値と複数の閾値とを比較して階調値を出力する。７０３は評価値選択部であり、比較部７０２における比較結果に応じた階調値に対応する評価値を選択して出力する。７０４は誤差算出部であり、補正入力画素値と評価値選択部７０３からの出力である評価値との差分を誤差値として出力する。
【００７３】
７０５〜７１１はそれぞれＡ拡散誤差算出部、Ｂ拡散誤差算出部、Ｃ拡散誤差算出部、Ｄ拡散誤差算出部、Ｅ拡散誤差算出部、Ｆ拡散誤差算出部、Ｇ拡散誤差算出部であり、画素Ａ、画素Ｂ、画素Ｃ、画素Ｄ、画素Ｅ、画素Ｆ、画素Ｇへの拡散誤差を生成して出力する。７１２〜７１７はそれぞれＡ加算部、Ｂ加算部、Ｃ加算部、Ｄ加算部、Ｅ加算部、Ｆ加算部であり、前段の拡散誤差に対してそれぞれ画素Ａへの拡散誤差、画素Ｂへの拡散誤差、画素Ｃへの拡散誤差、画素Ｄへの拡散誤差、画素Ｅへの拡散誤差、画素Ｆへの拡散誤差を加算する。７１８は遅延部であり、サイクル調整のための遅延処理を行う。７１９は誤差拡散対象制御部であり、発生した誤差の拡散対象を決定して各部へ指示する。７２０は誤差データ入力部であり、上方ラインでの累積拡散誤差データを図外の誤差メモリから入力する。７２１は誤差データ出力部であり、図外の誤差メモリへ下方ラインへの累積拡散誤差データを出力する。
【００７４】
次に、第２の実施形態における多値誤差拡散処理部９０２の基本的な量子化動作について説明する。
【００７５】
図外から入力された画素値は入力補正部７０１へ供給される。この入力補正部７０１では、入力画素値と拡散画素が累積された累積値とを加算して補正画素値を出力する。次の比較部７０２では、補正画素値と（Ｎ−１）個の判定閾値との間の比較を行い、これらの大小関係により出力階調値を決定する。次に、評価値選択部７０３では、Ｎ個の評価値の中から出力階調値に対応付けられた評価値を選択して出力する。そして、誤差算出部７０４では補正画素値と評価値との間の差分である誤差値を算出する。
【００７６】
この誤差算出部７０４からの出力である誤差値は、Ｃ誤差拡散算出部７０７、Ｄ誤差拡散算出部７０８、Ｅ誤差拡散算出部７０９、Ｆ誤差拡散算出部７１０、Ｇ誤差拡散算出部７１１へ供給されて、それぞれ画素Ｃ、画素Ｄ、画素Ｅ、画素Ｆ、画素Ｇに対する拡散誤差が算出される。拡散される誤差は画素処理サイクル毎にＦ加算部７１７、Ｅ加算部７１６、Ｄ加算部７１５、Ｃ加算部７１４と累積加算され、誤差データ出力部７２１を介して下方ラインへの累積拡散誤差データとして図外の誤差メモリへ一時格納される。
【００７７】
一方、誤差算出部７０４からの出力である誤差値は、Ａ誤差拡散算出部７０５、Ｂ誤差拡散算出部７０６へも同様に供給されて、それぞれ画素Ａ、画素Ｂに対する拡散誤差が算出される。また、Ｂ加算部７１３には誤差データ入力部７２０を介して図外の誤差メモリより上方ラインの処理時に拡散された上方ライン累積拡散誤差データが入力され、画素Ｂへの拡散誤差と加算される。更に、Ａ加算部７１２により画素Ａに対する拡散誤差を加算することで画素Ａ〜画素Ｇにおいて順次加算された累積拡散誤差データが得られる。
【００７８】
次に、第２の実施形態において特徴的な多値誤差拡散処理９０２が印字モードに応じて誤差拡散対象を選択する処理について詳細に説明する。具体的には、多値誤差拡散処理部９０２の誤差拡散対象制御部７１９が要求された印字モードに関する情報に応じて、発生した拡散誤差を同一ライン及び下方ラインに位置する画素Ａ〜画素Ｇの６つの画素に分配するか、或いは同一ラインの画素Ａと画素Ｂの２つの画素のみに分配するかを決定する。そして、その決定に基づいて誤差拡散処理制御を行うと同時に、同一ラインの画素Ａと画素Ｂにのみ拡散する場合には誤差データ入力部７２０による誤差メモリからの入力処理や誤差データ出力部７２１による誤差メモリへの出力処理を停止するよう指示するものである。
【００７９】
図６は、第２の実施形態における多値誤差拡散処理を示すフローチャートである。まず、印字モードに関する情報を取得する（ステップＳ６０１）。印字モードが「高品位モード」であれば（ステップＳ６０２のＹＥＳ）、出力階調数を４値に設定し（ステップＳ６０３）、同一ラインの画素Ａと画素Ｂに加えて下方ラインの画素Ｃ、画素Ｄ、画素Ｅ、画素Ｆ、画素Ｇを拡散対象として拡散マトリクスを６画素拡散モードに切り替える（ステップＳ６０４）。次に、外部の誤差メモリへの書き込み／読み出し制御をＯＮとし（ステップＳ６０５）、下方ラインへの拡散誤差を誤差メモリへ書き込む処理と上方ラインの拡散誤差を誤差メモリから読み出す処理とを実行可能とする。
【００８０】
一方、印字モードが「高品位モード」でなければ、即ち、「高速モード」であれば（ステップＳ６０２のＮＯ）、出力階調数を８値に設定し（ステップＳ６０６）、同一ラインの画素Ａと画素Ｂのみを拡散対象として拡散マトリクスを２画素拡散モードに切り替える（ステップＳ６０７）。そして、外部の誤差メモリへの書き込み／読み出し制御をＯＦＦとし（ステップＳ６０８）、下方ラインへの拡散誤差を誤差メモリへ書き込む処理と上方ラインの拡散誤差を誤差メモリから読み出す処理とを実行不可とする。
【００８１】
このようにして、多値誤差拡散法に基づき所定の拡散先へ発生誤差を拡散しながら量子化処理を行う際に、印字モードが「高品位モード」では下方ラインも含めた画素へ発生誤差を分配し、「高速モード」では同一ラインにのみ発生誤差を分配することにより、誤差メモリへのアクセスを不要とする。
【００８２】
即ち、高速処理が要求される印字モードでは、発生誤差の拡散先を同一ラインの画素に限定することにより誤差メモリへのアクセスを不要とし、システム全体の高速処理を可能とする。また、高品位処理が要求される印字モードでは、発生誤差を下方ラインにも分配することにより高品位な量子化処理を実現できる。
【００８３】
以上詳細に説明した第２の実施形態によれば、多値誤差拡散法を用いたＮ値化処理において、印字モードに対応付けられた要求処理性能に応じて、発生誤差の拡散対象画素を制限することにより、高速処理が要求されるモードでは誤差メモリへのアクセスを回避した高速処理を実現する一方、高品位処理が要求されるモードでは拡散先を制限せずに高品位な量子化処理を可能とし、ユーザ要求やシステム要求に応じた高速性と高品位性とを実現した量子化方法を提供することができる。
【００８４】
［第３の実施形態］
次に、図面を参照しながら本発明に係る第３の実施形態を詳細に説明する。
【００８５】
第１及び第２の実施形態では、誤差拡散法に基づく量子化処理において、要求される処理性能に応じて誤差拡散対象を同一ラインの画素に限定することにより、誤差メモリへのアクセス発生を回避してシステム全体の要求メモリバンド幅を削減して高速処理を実現していた。
【００８６】
しかしながら、発生誤差を同一ラインに対してのみ分配する方式では最終的なドット配列がライン毎に似通ってしまい、特に均一濃度の画像領域で著しい画質劣化を引き起こす場合がある。
【００８７】
第３の実施形態として、量子化閾値を制御することにより画品位の劣化を回避及び抑制する処理について詳細に説明する。
【００８８】
尚、第３の実施形態におけるインクジェット記録装置の記録部は図３に示した第１の実施形態の構成と同様である。また、内部を構成するエンジン部及びコントローラ部についても、その基本構成は図１６及び図１７に示した構成と同様である。
【００８９】
また、第３の実施形態における画像データ処理部の構成は図４に示した第１の実施形態の構成と同様である。
【００９０】
次に、第３の実施形態における誤差拡散処理部（第１の実施形態では４０２に相当）の構成及び誤差拡散処理（２値化）について詳細に説明する。尚、ここでは簡単化のため、単一インク色について説明する。
【００９１】
図１１は、第３の実施形態における誤差拡散処理部の概略構成を示すブロック図である。１１０１は入力補正部であり、入力画素値に累積誤差値を加算して補正入力画素値を生成して出力する。１１２２は閾値生成部であり、基準の閾値にノイズ成分を加えることにより判定閾値を生成する。１１０２は比較部であり、補正入力画素値と判定閾値とを比較して階調値を出力する。１１０３は評価値選択部であり、比較部１１０２における比較結果に応じた階調値に対応する評価値を選択して出力する。１１０４は誤差算出部であり、補正入力画素値と評価値選択部１１０４からの出力である評価値との差分を誤差値として出力する。
【００９２】
１１０５〜１１１１はそれぞれＡ拡散誤差算出部、Ｂ拡散誤差算出部、Ｃ拡散誤差算出部、Ｄ拡散誤差算出部、Ｅ拡散誤差算出部、Ｆ拡散誤差算出部、Ｇ拡散誤差算出部であり、画素Ａ、画素Ｂ、画素Ｃ、画素Ｄ、画素Ｅ、画素Ｆ、画素Ｇへの拡散誤差を生成して出力する。１１１２〜１１１７はそれぞれＡ加算部、Ｂ加算部、Ｃ加算部、Ｄ加算部、Ｅ加算部、Ｆ加算部であり、前段の拡散誤差に対してそれぞれ画素Ａへの拡散誤差、画素Ｂへの拡散誤差、画素Ｃへの拡散誤差、画素Ｄへの拡散誤差、画素Ｅへの拡散誤差、画素Ｆへの拡散誤差を加算する。１１１８は遅延部であり、サイクル調整のための遅延処理を行う。１１１９は誤差拡散対象制御部であり、発生した誤差の拡散対象を決定して各部へ指示する。１１２０は誤差データ入力部であり、上方ラインでの累積拡散誤差データを図外の誤差メモリから入力する。１１２１は誤差データ出力部であり、図外の誤差メモリへ下方ラインへの累積拡散誤差データを出力する。
【００９３】
次に、第３の実施形態における誤差拡散処理部の基本的な量子化動作について説明する。
【００９４】
図外から入力された画素値は入力補正部１１０１へ供給される。この入力補正部１１０１では、入力画素値と拡散画素が蓄積された累積値とを加算して補正画素値を出力する。閾値生成部１１２２では、ランダムなノイズ成分を基準の閾値に加算処理を行って判定閾値を生成する。次の比較部１１０２では、補正画素値と判定閾値との間の比較を行い、判定閾値より大きければドットＯＮと判定して階調値１を、小さければドットＯＦＦと判定して階調値０を出力する。次に、評価値選択部１１０３では、比較部１１０２の判定結果がドットＯＮならばドットＯＮ評価値を出力し、ドットＯＦＦならばドットＯＦＦ評価値を出力する。そして、誤差算出部１１０４では補正画素値と評価値選択部１１０３から出力された評価値との間の差分である誤差値を算出する。
【００９５】
この誤差算出部１１０４からの出力である誤差値は、Ｃ誤差拡散算出部１１０７、Ｄ誤差拡散算出部１１０８、Ｅ誤差拡散算出部１１０９、Ｆ誤差拡散算出部１１１０、Ｇ誤差拡散算出部１１１１へ供給されて、それぞれ画素Ｃ、画素Ｄ、画素Ｅ、画素Ｆ、画素Ｇに対する拡散誤差が算出される。拡散された誤差は画素処理サイクル毎にＦ加算部１１１７、Ｅ加算部１１１６、Ｄ加算部１１１５、Ｃ加算部１１１４と累積加算され、誤差データ出力部１１２１を介して下方ラインへの累積拡散誤差データとして図外の誤差メモリへ一時格納される。
【００９６】
一方、誤差算出部１１０４からの出力である誤差値は、Ａ誤差拡散算出部１１０５、Ｂ誤差拡散算出部１１０６へも同様に供給されて、それぞれ画素Ａ、画素Ｂに対する拡散誤差が算出される。また、Ｂ加算部１１１３には誤差データ入力部１１２０を介して図外の誤差メモリより上方ラインの処理時に拡散された上方ライン累積拡散誤差データが入力され、画素Ｂへの拡散誤差と加算される。更に、Ａ加算部１１１２により画素Ａに対する誤差を加算することで画素Ａ〜画素Ｇにおいて順次加算された累積拡散誤差データが得られる。
【００９７】
次に、第３の実施形態において特徴的な誤差拡散処理部が印字モードに応じて誤差拡散対象を選択する処理について詳細に説明する。具体的には、上述の誤差拡散対象制御部１１１９が要求された印字モードに関する情報に応じて、発生した拡散誤差を同一ライン及び下方ラインに位置する画素Ａ〜画素Ｇの６つの画素に分配するか、或いは同一ラインの画素Ａと画素Ｂの２つの画素のみに分配するかを決定する。そして、その決定に基づいて誤差拡散処理制御を行うと同時に、同一ラインの画素Ａと画素Ｂにのみ拡散する場合には誤差データ入力部１１２０による誤差メモリからの入力処理や誤差データ出力部１１２１による誤差メモリへの出力処理を停止するよう指示する。更には、拡散対象の制限に応答して閾値生成部１１２２において基準の閾値に加算されるノイズ成分の振れ幅を制御するものである。
【００９８】
図１０は、第３の実施形態における誤差拡散処理を示すフローチャートである。まず、印字モードに関する情報を取得する（ステップＳ１００１）。印字モードが「高品位モード」であれば（ステップＳ１００２のＹＥＳ）、同一ラインの画素Ａと画素Ｂに加えて下方ラインの画素Ｃ、画素Ｄ、画素Ｅ、画素Ｆ、画素Ｇを拡散対象として拡散マトリクスを６画素拡散モードに切り替える（ステップＳ１００３）。次に、外部の誤差メモリへの書き込み／読み出し制御をＯＮとし（ステップＳ１００４）、下方ラインへの拡散誤差を誤差メモリへ書き込む処理と上方ラインの拡散誤差を誤差メモリから読み出す処理とを実行可能とする。そして、閾値生成部１１２２で基準の閾値に加えられるノイズ成分の振幅を通常値に設定する（ステップＳ１００５）。
【００９９】
一方、印字モードが「高品位モード」でなければ、即ち、「高速モード」であれば、同一ラインの画素Ａと画素Ｂのみを拡散対象として拡散マトリクスを２画素拡散モードに切り替える（ステップＳ１００６）。次に、外部の誤差メモリへの書き込み／読み出し制御をＯＦＦとし（ステップＳ１００７）、下方ラインへの拡散誤差を誤差メモリへ書き込む処理と上方ラインの拡散誤差を誤差メモリから読み出す処理とを実行不可とする。そして、閾値生成部１１２２で基準の閾値に加えられるノイズ成分の振幅を相対的に大き目に設定する（ステップＳ１００８）。
【０１００】
このようにして、誤差拡散法に基づき所定の拡散先へ発生誤差を拡散しながら２値化処理を行う際に、印字モードが「高品位モード」では下方ラインも含めた画素へ発生誤差を分配し、「高速モード」では同一ラインにのみ発生誤差を分配することにより、誤差メモリへのアクセスを不要とする。
【０１０１】
即ち、高速処理が要求される印字モードでは、発生誤差の拡散先を同一ラインの画素に限定することにより誤差メモリへのアクセスを不要とし、システム全体の高速処理を可能とする。また、大き目のノイズ成分を閾値に加えることにより画品位の劣化を回避、抑制しながら高速処理を実現できる。
【０１０２】
尚、第３の実施形態では、基準の閾値に加えるノイズ成分の生成方法については説明していないが、内部で発生させた乱数値を用いるものであっても良いし、図１２に示すマトリクス状に配置された乱数マトリクスを座標に応じて参照するものであっても良い。
【０１０３】
以上詳細に説明した第３の実施形態によれば、誤差拡散法を用いた２値化処理において、印字モードに対応付けられた要求処理性能に応じて、発生誤差の拡散対象画素を制限すると共に閾値ノイズ成分の振幅を大き目に設定することにより、似通ったドット配列のライン生成を回避して高速、且つ高品位な量子化処理を可能とする一方、高品位処理が要求されるモードでは拡散先を制限せずに高品位な量子化処理を行うことにより、ユーザ要求やシステム要求に応じた高速性能と高品位性能とを高い次元で両立させた量子化方法を提供することができる。
【０１０４】
［第４の実施形態］
次に、図面を参照しながら本発明に係る第４の実施形態を詳細に説明する。
【０１０５】
第１乃至第３の実施形態では、図５に示した拡散係数マトリクスを用いて図中の矢印で示すように、ラスタの左から右に処理し、発生した誤差を同一ラインの後続するＡ，Ｂの２画素と、下方ラインのＣ，Ｄ，Ｅ，Ｆ，Ｇの５画素とに拡散していたが、第４の実施形態では、図１９に示すように、同一ラインの後続するＡ，Ｂの２画素と、下方ラインのＣ，Ｄ，Ｅの３画素とに拡散するものである。
そして、画像形成を行う際に選択された印字モードに応じて、誤差メモリへ格納する誤差データのデータ形式を制限し、読み出す際に復元することにより、高速性能と高品位性能とを実現するものである。
【０１０６】
尚、第４の実施形態におけるインクジェット記録装置の記録部は図３に示した第１の実施形態の構成と同様である。また、内部を構成するエンジン部及びコントローラ部についても、その基本構成は図１６及び図１７に示した構成と同様である。
【０１０７】
また、第４の実施形態における画像データ処理部の構成は図４に示した第１の実施形態の構成と同様である。
【０１０８】
次に、第４の実施形態における誤差拡散処理部（第１の実施形態では４０２に相当）の構成及び誤差拡散処理（２値化）について詳細に説明する。尚、ここでは簡単化のため、単一インク色について説明する。
【０１０９】
図２０は、第４の実施形態における誤差拡散処理部の概略構成を示すブロック図である。図２０において、２００１は入力補正部であり、入力画素値に累積誤差値を加算して補正入力画素値を生成して出力する。２００２は比較部であり、補正入力画素値と閾値とを比較して階調値を出力する。２００３は評価値選択部であり、比較部２００２における比較結果に応じた階調値に対応する評価値を選択して出力する。２００４は誤差算出部であり、補正入力画素値と評価値選択部２００４からの出力である評価値との差分を誤差値として出力する。
【０１１０】
２００５〜２００９はそれぞれＡ拡散誤差算出部、Ｂ拡散誤差算出部、Ｃ拡散誤差算出部、Ｄ拡散誤差算出部、Ｅ拡散誤差算出部であり、画素Ａ、画素Ｂ、画素Ｃ、画素Ｄ、画素Ｅへの拡散誤差を生成して出力する。２０１０〜２０１３はそれぞれＡ加算部、Ｂ加算部、Ｃ加算部、Ｄ加算部であり、前段の拡散誤差に対してそれぞれ画素Ａへの拡散誤差、画素Ｂへの拡散誤差、画素Ｃへの拡散誤差、画素Ｄへの拡散誤差への拡散誤差を加算する。２０１４は遅延部であり、サイクル調整のための遅延処理を行う。２０１５は誤差変換部であり、下方ラインへの累積拡散誤差データを所定のデータ形式に変換する。２０１６は誤差データ出力部であり、図外の誤差メモリへ下方ラインへの累積拡散誤差データを出力する。２０１８は誤差データ入力部であり、上方ラインでの累積拡散誤差データを図外の誤差メモリから入力する。２０１７は誤差逆変換部であり、累積誤差データを復元処理する。２０１９は下方誤差分配制限制御部であり、誤差変換部２０１５で変換されるデータ形式を選択する。尚、変換されるデータ形式については更に後述する。
【０１１１】
次に、第４の実施形態における誤差拡散処理部の基本的な量子化動作について説明する。
【０１１２】
図外から入力された画素値は入力補正部２００１へ供給される。この入力補正部２００１では、入力画素値と拡散誤差が累積された累積値とを加算して補正画素値を出力する。次の比較部２００２では、補正画素値と判定閾値との間の比較を行い、判定閾値より大きければドットＯＮと判定して階調値１を、小さければドットＯＦＦと判定して階調値０を出力する。次に、評価値選択部２００３では、比較部２００２の判定結果がドットＯＮならばドットＯＮ評価値を出力し、ドットＯＦＦならばドットＯＦＦ評価値を出力する。そして、誤差算出部２００４では補正画素値と評価値選択部２００３から出力された評価値との間の差分である誤差値を算出する。
【０１１３】
この誤差算出部２００４からの出力である誤差値は、Ｃ誤差拡散算出部２００７、Ｄ誤差拡散算出部２００８、Ｅ誤差拡散算出部２００９へ供給されて、それぞれ画素Ｃ、画素Ｄ、画素Ｅに対する拡散誤差が算出される。拡散される誤差は画素処理サイクル毎にＤ加算部２０１３、Ｃ加算部２０１２と累積加算される。
そして、誤差変換部２０１５で所定のデータ形式に変換され、誤差データ出力部２０１６を介して下方ラインへの累積拡散誤差データとして図外の誤差メモリへ一時格納される。
【０１１４】
一方、誤差算出部２００４からの出力である誤差値は、Ａ誤差拡散算出部２００５、Ｂ誤差拡散算出部２００６へも同様に供給されて、それぞれ画素Ａ、画素Ｂに対する拡散誤差が算出される。また、誤差データ入力部２０１８を介して図外の誤差メモリより上方ラインの処理時に拡散された上方ライン累積拡散誤差データが誤差逆変換部２０１７で元のデータ形式に復元されてＢ加算部２０１１に入力され、画素Ｂへの拡散誤差と加算される。更に、Ａ加算部２０１０により画素Ａに対する拡散誤差を加算することで画素Ａ〜画素Ｅにおいて順次加算された累積拡散誤差データが得られる。
【０１１５】
次に、第４の実施形態において特徴的な誤差拡散処理部が印字モードに応じて下方ラインへの誤差拡散を制限する処理について詳細に説明する。具体的には、下方誤差分配制限制御部２０１９が要求された印字モードに関する情報に応じて下方ラインへの累積拡散誤差データを制限するものである。即ち、下方ラインに位置する画素Ｃ〜画素Ｅに対する拡散誤差を、×２３  値（８の倍数）に制限することで符号付き８ｂｉｔデータとするか、×２７  値（１２８の倍数）に制限することで４ｂｉｔデータとするかを決定する。そして、この決定に基づき、誤差拡散処理を行うと同時に、誤差変換部２０１５により拡散誤差を８ｂｉｔ又は４ｂｉｔデータに変換し、誤差データ出力部２０１６を介して誤差メモリに格納し、また誤差逆変換部２０１７により誤差入力データ部２０１８を介して誤差メモリから読み出した８ｂｉｔ又は４ｂｉｔに制限されたデータを符号付き１１ｂｉｔの拡散誤差データに復元するものである。
【０１１６】
尚、誤差拡散算出部２００５〜２００９は、テーブルに基づき拡散誤差を算出する方式を採用している。即ち、発生誤差の入力に対して拡散誤差値を出力するテーブルを参照することで各画素への拡散誤差データを得るもので、テーブルへの設定値を変更することにより各画素への誤差配分を制御可能である。
【０１１７】
図２１は、第４の実施形態における誤差拡散処理を示すフローチャートである。まず、印字モードに関する情報を取得する（ステップＳ２１０１）。印字モードが「高品位モード」であれば（ステップＳ２１０２のＹＥＳ）、下方誤差分配制限制御部２０１９は８ｂｉｔ誤差データ形式を選択し（ステップＳ２１０３）、誤差変換部２０１５が下方ラインの画素Ｃ、画素Ｄ、画素Ｅに対する拡散誤差を×２３  値に限定する。即ち、累積拡散誤差データのうち、上位７ｂｉｔと符号からなる８ｂｉｔデータに変換する（ステップＳ２１０４）。そして、誤差データ出力部２０１６が８ｂｉｔデータの累積拡散誤差データを誤差メモリへ一時格納する（ステップＳ２１０５）。
【０１１８】
一方、印字モードが「高品位モード」でなければ、即ち「高速モード」であれば（ステップＳ２１０２のＮＯ）、下方誤差分配制限制御部２０１９は４ｂｉｔ誤差データ形式を選択し（ステップＳ２１０６）、誤差変換部２０１５が下方ラインの画素Ｃ、画素Ｄ、画素Ｅに対する拡散誤差を×２７  値に限定する。即ち、累積拡散誤差データのうち、上位３ｂｉｔと符号からなる４ｂｉｔデータに変換する（ステップＳ２１０７）。そして、誤差データ出力部２０１６が４ｂｉｔデータの累積拡散誤差データを誤差メモリへ一時格納する（ステップＳ２１０８）。
【０１１９】
このようにして、下方ラインへの累積拡散誤差データを、印字モードが「高品位モード」では×２３  値に限定し、「高速モード」では×２７  値に限定して誤差を分配することで誤差メモリへのアクセスを抑制する。
【０１２０】
即ち、高速処理が要求される印字モードでは、下方ラインへの誤差分配に制限を与え（制限を強め）、累積誤差情報を少ないビット数で表現できるように制御することで誤差メモリへのアクセスを抑制し、システム全体の高速処理を可能とする。また、高品位処理が要求される印字モードでは、下方ラインへの誤差分配の制限をなくし（制限を弱め）、発生誤差を下方ラインにも効率良く分配することにより高品位な量子化処理を実現できる。
【０１２１】
以上詳細に説明した第４の実施形態によれば、誤差拡散法を用いた２値化処理において、印字モードに対応付けられた要求処理性能に応じて、下方ラインへの誤差分配制限を制御することにより、高速処理が要求されるモードでは誤差メモリへのアクセスを抑制した高速処理を実現する一方、高品位処理が要求されるモードでは誤差拡散の自由度を高めて高品位な量子化処理を可能とし、ユーザ要求やシステム要求に応じた高速性能と高品位性能とを実現した量子化方法を提供することができる。
【０１２２】
［第５の実施形態］
次に、図面を参照しながら本発明に係る第５の実施形態を詳細に説明する。
【０１２３】
第４の実施形態では、誤差拡散法に基づく２値化処理において、要求される処理性能に応じて下方ラインへの誤差分配制限を制御することにより、誤差メモリへのアクセス発生を抑制してシステム全体の要求メモリバンド幅を削減して高速処理を実現していた。しかしながら、本発明はこれに限定されるものではなく、多値誤差拡散法に基づくＮ値化処理に対して適用することも可能である。
【０１２４】
第５の実施形態として、多値誤差拡散法に基づくＮ値化処理と網点マトリクスを用いた２値化展開とを組み合わせた量子化方法について詳細に説明する。
【０１２５】
尚、第５の実施形態におけるインクジェット記録装置の記録部は図３に示した第１の実施形態の構成と同様である。また、内部を構成するエンジン部及びコントローラ部についても、その基本構成は図１６及び図１７に示した構成と同様である。
【０１２６】
また、第５の実施形態における画像データ処理部の構成は図９に示した第２の実施形態の構成と同様である。そして、この構成により、入力画像情報をインク色毎の多値画像データに変換した後に、多値誤差拡散法によりＮ値化処理を行い、濃度パターン法を用いて２値化処理（網点処理）を行うことにより各インク色のドットデータを生成し、生成した各インクのドットデータをエンジン部へ出力するものである。
【０１２７】
また、第５の実施形態は、図２２に示す２つの印字モードに応じて適応的な量子化処理を選択して実行するものである。図２２に示す「高速モード」では入力解像度３００ｐｐｉ×３００ｐｐｉに対して誤差拡散法によって８値化した後に、４×４の網点マトリクスを用いて展開し、出力解像度である１２００ｄｐｉ×１２００ｄｐｉのドットデータを得る。また、「高品位モード」では入力解像度１２００ｐｐｉ×１２００ｐｐｉに対して誤差拡散法により２値化して出力解像度である１２００ｄｐｉ×１２００ｄｐｉのドットデータを得る。
【０１２８】
このようにして処理負荷の重い誤差拡散の処理解像度を印字モード毎に段階的に選択することで、高速処理と高品位処理をバランスよく実行できる。
【０１２９】
尚、「高品位モード」における誤差拡散処理（２値化処理）の発生誤差データは符号付きの１１ｂｉｔであるのに対して「高速モード」における多値誤差拡散処理（８値化処理）の発生誤差データは符号付きの９ｂｉｔである。
【０１３０】
次に、第５の実施形態における多値誤差拡散処理部の構成及び多値誤差拡散処理（Ｎ値化）について詳細に説明する。尚、ここでは簡単化のため、単一インク色について説明する。
【０１３１】
図２３は、第５の実施形態における多値誤差拡散処理部の概略構成を示すブロック図である。図２３において、２３０１は入力補正部であり、入力画素値に累積誤差値を加算して補正入力画素値を生成して出力する。２３０２は比較部であり、補正入力画素値と複数の閾値とを比較して階調値を出力する。２３０３は評価値選択部であり、比較部２３０２における比較結果に応じた階調値に対応する評価値を選択して出力する。２３０４は誤差算出部であり、補正入力画素値と評価値選択部２３０３からの出力である評価値との差分を誤差値として出力する。
【０１３２】
２３０５〜２３０９はそれぞれＡ拡散誤差算出部、Ｂ拡散誤差算出部、Ｃ拡散誤差算出部、Ｄ拡散誤差算出部、Ｅ拡散誤差算出部であり、画素Ａ、画素Ｂ、画素Ｃ、画素Ｄ、画素Ｅへの拡散誤差を生成して出力する。２３１０〜２３１３はそれぞれＡ加算部、Ｂ加算部、Ｃ加算部、Ｄ加算部であり、前段の拡散誤差に対してそれぞれ画素Ａへの拡散誤差、画素Ｂへの拡散誤差、画素Ｃへの拡散誤差、画素Ｄへの拡散誤差を加算する。２３１４は遅延部であり、サイクル調整のための遅延処理を行う。２３１５は誤差変換部であり、下方ラインへの累積拡散誤差データを所定のデータ形式に変換する。２３１６は誤差データ出力部であり、図外の誤差メモリへ下方ラインへの累積拡散誤差データを出力する。２３１８は誤差データ入力部であり、上方ラインでの累積拡散誤差データを図外の誤差メモリから入力する。２３１７は誤差逆変換部であり、累積誤差データを復元処理する。２３１９は下方誤差分配制限制御部であり、誤差変換部２３１５で変換されるデータ形式を選択する。
【０１３３】
次に、第５の実施形態における多値誤差拡散処理部の基本的な量子化動作について説明する。
【０１３４】
図外から入力された画素値は入力補正部２３０１へ供給される。この入力補正部２３０１では、入力画素値と拡散画素が累積された累積値とを加算して補正画素値を出力する。次の比較部２３０２では、補正画素値と（Ｎ−１）個の判定閾値との間の比較を行い、これらの大小関係により出力階調値を決定する。次に、評価値選択部２３０３では、Ｎ個の評価値の中から出力階調値に対応付けられた評価値を選択して出力する。そして、誤差算出部２３０４では補正画素値と評価値との間の差分である誤差値を算出する。
【０１３５】
この誤差算出部２３０４からの出力である誤差値は、Ｃ誤差拡散算出部２３０７、Ｄ誤差拡散算出部２３０８、Ｅ誤差拡散算出部２３０９へ供給されて、それぞれ画素Ｃ、画素Ｄ、画素Ｅに対する拡散誤差が算出される。拡散される誤差は画素処理サイクル毎にＤ加算部２３１３、Ｃ加算部２３１２と累積加算される。そして、誤差変換部２３１５で所定のデータ形式に変換され、誤差データ出力部２３１６を介して下方ラインへの累積拡散誤差データとして図外の誤差メモリへ一時格納される。
【０１３６】
一方、誤差算出部２３０４からの出力である誤差値は、Ａ誤差拡散算出部２３０５、Ｂ誤差拡散算出部２３０６へも同様に供給されて、それぞれ画素Ａ、画素Ｂに対する拡散誤差が算出される。また、誤差データ入力部２３１８を介して図外の誤差メモリより上方ラインの処理時に拡散された上方ライン累積拡散誤差データが誤差逆変換部２３１７で元のデータ形式に復元されてＢ加算部２３１１に入力され、画素Ｂへの拡散誤差と加算される。更に、Ａ加算部２３１０により画素Ａに対する拡散誤差を加算することで画素Ａ〜画素Ｅにおいて順次加算された累積拡散誤差データが得られる。
【０１３７】
次に、第５の実施形態において特徴的な多値誤差拡散処理部が印字モードに応じて下方ラインへの誤差拡散を制限する処理について詳細に説明する。具体的には、下方誤差分配制限制御部２３１９が要求された印字モードに関する情報に応じて下方ラインへの累積拡散誤差データを制限するものである。即ち、下方ラインに位置する画素Ｃ〜画素Ｅに対する拡散誤差を、×２３  値（８の倍数）に制限することで符号付き８ｂｉｔデータとするか、×２５  値（３２の倍数）に制限することで４ｂｉｔデータとするかを決定する。そして、この決定に基づき、多値誤差拡散処理を行うと同時に、誤差変換部２３１５により拡散誤差を８ｂｉｔ又は４ｂｉｔデータに変換し、誤差データ出力部２３１６を介して誤差メモリに格納し、また誤差逆変換部２３１７により誤差入力データ部２３１８を介して誤差メモリから読み出した８ｂｉｔ又は４ｂｉｔに制限されたデータを符号付き１１ｂｉｔ又は９ｂｉｔの拡散誤差データに復元するものである。
【０１３８】
尚、「高品位モード」では、２値化処理による発生誤差が符号付き１１ｂｉｔであるのに対して、「高速モード」では、８値化処理による発生誤差が符号付き９ｂｉｔであるため、「高速モード」で下方ラインへの誤差データを４ｂｉｔに限定することの影響が同じ出力階調数の場合に比べて少なくなる。
【０１３９】
図２４は、第５の実施形態における多値誤差拡散処理を示すフローチャートである。まず、印字モードに関する情報を取得する（ステップＳ２４０１）。印字モードが「高品位モード」であれば（ステップＳ２４０２のＹＥＳ）、出力階調数として２値を選択する（ステップＳ２４０３）。更に、下方誤差分配制限制御部２３１９は８ｂｉｔ誤差データ形式を選択し（ステップＳ２４０４）、誤差変換部２３１５が下方ラインの画素Ｃ、画素Ｄ、画素Ｅに対する拡散誤差を×２３  値に限定する。即ち、累積拡散誤差データのうち、上位７ｂｉｔと符号からなる８ｂｉｔデータに変換する（ステップＳ２４０５）。そして、誤差データ出力部２０１６が８ｂｉｔデータの累積拡散誤差データを誤差メモリへ一時格納する（ステップＳ２４０６）。
【０１４０】
一方、印字モードが「高品位モード」でなければ、即ち「高速モード」であれば（ステップＳ２４０２のＮＯ）、出力階調数として２値を選択する（ステップＳ２４０７）。更に、下方誤差分配制限制御部２３１９は４ｂｉｔ誤差データ形式を選択し（ステップＳ２４０８）、誤差変換部２３１５が下方ラインの画素Ｃ、画素Ｄ、画素Ｅに対する拡散誤差を×２５  値に限定する。即ち、９ｂｉｔの累積拡散誤差データのうち、上位３ｂｉｔと符号からなる４ｂｉｔデータに変換する（ステップＳ２４０９）。そして、誤差データ出力部２３１６が４ｂｉｔデータの累積拡散誤差データを誤差メモリへ一時格納する（ステップＳ２４１０）。
【０１４１】
このようにして、下方ラインへの累積拡散誤差データを、印字モードが「高品位モード」では×２３  値に限定し、「高速モード」では×２５  値に限定して誤差を分配することで誤差メモリへのアクセスを抑制する。
【０１４２】
即ち、高速処理が要求される印字モードでは、処理解像度を低減すると共に出力階調数を増やし、更に下方ラインへの誤差分配に制限を与え（制限を強め）、累積誤差情報を少ないビット数で表現できるように制御することで誤差メモリへのアクセスを抑制し、システム全体の高速処理を可能とする。また、高品位処理が要求される印字モードでは、下方ラインへの誤差分配の制限をなくし（制限を弱め）、発生誤差を下方ラインにも効率良く分配することにより高品位な量子化処理を実現できる。
【０１４３】
また、多値誤差拡散処理の出力階調数Ｎが大きいほど、最大発生誤差が小さくなるため、Ｎが大きいと、誤差分配に与える制限が相対的に小さい状態でも誤差ビット数を削減することが可能となる。このことは、高速処理が要求されるに従って処理解像度を落として量子化処理を実行することと併せると非常に好都合である。
【０１４４】
以上詳細に説明した第５の実施形態によれば、多値誤差拡散法を用いたＮ値化処理において、印字モードに対応付けられた要求処理性能に応じて、出力階調数及び下方ラインへの誤差分配制限を制御することにより、高速処理が要求されるモードでは誤差メモリへのアクセスを抑制した高速処理を実現する一方、高品位処理が要求されるモードでは誤差拡散の自由度を高めて高品位な量子化処理を可能とし、ユーザ要求やシステム要求に応じた高速性能と高品位性能とを実現した量子化方法を提供することができる。
【０１４５】
［第６の実施形態］
次に、図面を参照しながら本発明に係る第６の実施形態を詳細に説明する。
【０１４６】
第４及び第５の実施形態では、誤差拡散法に基づく量子化処理において、要求される処理性能に応じて下方ラインへの誤差分配制限を制御することにより、誤差メモリへのアクセス発生を回避してシステム全体の要求メモリバンド幅を削減して高速処理を実現していた。
【０１４７】
第６の実施形態では、更に高速性能と高品位性能とのバランスを高めるために、処理色に応じて下方ラインへの誤差か分配制限を制御するものである。
【０１４８】
第６の実施形態におけるインクジェット記録装置の記録部は図３に示した第１乃至第５の実施形態と異なり、ブラック（Ｂｋ）、シアン（Ｃｙ）、マゼンタ（Ｍｇ）、イエロー（Ｙｅ）に加えて、ライトシアン（ＬＣ）、ライトマゼンタ（ＬＭ）の６色のカラーインクがそれぞれ封入されたインクタンクと、それぞれに対応した独立の６つのヘッドからなるマルチヘッドにより構成されている。
【０１４９】
第６の実施形態でも、第４の実施形態と同様に誤差拡散法に基づき２値化処理を行うものであり、「高速モード」と「高品位モード」との２つの印字モードを備えており、これらを選択して画像形成を行う。この「高速モード」は２パス・双方向で画像を形成するものであり、また「高品位モード」は４パス・片方向で画像を形成するものである。ここで、２パス記録では、走査間で行われる紙搬送量は常に６４０画素相当（一定）であり、これはノズル数１２８０をパス数２で除した値と一致する。何れのモードにおいても、記録解像度は１２００ｄｐｉ×１２００ｄｐｉである。誤差拡散処理における発生誤差は符号付き１１ｂｉｔのデータである。
【０１５０】
次に、第６の実施形態における誤差拡散処理部の構成及び誤差拡散処理（２値化）について詳細に説明する。
【０１５１】
図２５は、誤差拡散処理部の概略構成を示すブロック図である。図２５において、２５０１は入力補正部であり、入力画素値に累積誤差値を加算して補正入力画素値を生成して出力する。２５０２は比較部であり、補正入力画素値と閾値とを比較して階調値を出力する。２５０３は評価値選択部であり、比較部２５０２における比較結果に応じた階調値に対応する評価値を選択して出力する。２５０４は誤差算出部であり、補正入力画素値と評価値選択部２５０４からの出力である評価値との差分を誤差値として出力する。
【０１５２】
２５０５〜２５０９はそれぞれＡ拡散誤差算出部、Ｂ拡散誤差算出部、Ｃ拡散誤差算出部、Ｄ拡散誤差算出部、Ｅ拡散誤差算出部であり、画素Ａ、画素Ｂ、画素Ｃ、画素Ｄ、画素Ｅへの拡散誤差を生成して出力する。２５１０〜２５１３はそれぞれＡ加算部、Ｂ加算部、Ｃ加算部、Ｄ加算部であり、前段の拡散誤差に対してそれぞれ画素Ａへの拡散誤差、画素Ｂへの拡散誤差、画素Ｃへの拡散誤差、画素Ｄへの拡散誤差への拡散誤差を加算する。２５１４は遅延部であり、サイクル調整のための遅延処理を行う。２５１５は誤差変換部であり、下方ラインへの累積拡散誤差データを所定のデータ形式に変換する。２５１６は誤差データ出力部であり、図外の誤差メモリへ下方ラインへの累積拡散誤差データを出力する。２５１８は誤差データ入力部であり、上方ラインでの累積拡散誤差データを図外の誤差メモリから入力する。２５１７は誤差逆変換部であり、累積誤差データを復元処理する。２５１９は下方誤差分配制限制御部であり、誤差変換部２５１５で変換されるデータ形式を選択する。
【０１５３】
次に、第６の実施形態における誤差拡散処理部の基本的な量子化動作について説明する。
【０１５４】
図外から入力された画素値は入力補正部２５０１へ供給される。この入力補正部２５０１では、入力画素値と拡散誤差が累積された累積値とを加算して補正画素値を出力する。次の比較部２５０２では、補正画素値と判定閾値との間の比較を行い、判定閾値より大きければドットＯＮと判定して階調値１を、小さければドットＯＦＦと判定して階調値０を出力する。次に、評価値選択部２５０３では、比較部２５０２の判定結果がドットＯＮならばドットＯＮ評価値を出力し、ドットＯＦＦならばドットＯＦＦ評価値を出力する。そして、誤差算出部２５０４では補正画素値と評価値選択部２５０３から出力された評価値との間の差分である誤差値を算出する。
【０１５５】
この誤差算出部２５０４からの出力である誤差値は、Ｃ誤差拡散算出部２５０７、Ｄ誤差拡散算出部２５０８、Ｅ誤差拡散算出部２５０９へ供給されて、それぞれ画素Ｃ、画素Ｄ、画素Ｅに対する拡散誤差が算出される。拡散される誤差は画素処理サイクル毎にＤ加算部２５１３、Ｃ加算部２５１２と累積加算される。そして、誤差変換部２５１５で所定のデータ形式に変換され、誤差データ出力部２５１６を介して下方ラインへの累積拡散誤差データとして図外の誤差メモリへ一時格納される。
【０１５６】
一方、誤差算出部２５０４からの出力である誤差値は、Ａ誤差拡散算出部２５０５、Ｂ誤差拡散算出部２５０６へも同様に供給されて、それぞれ画素Ａ、画素Ｂに対する拡散誤差が算出される。また、誤差データ入力部２５１８を介して図外の誤差メモリより上方ラインの処理時に拡散された上方ライン累積拡散誤差データが誤差逆変換部２５１７で元のデータ形式に復元されてＢ加算部２５１１に入力され、画素Ｂへの拡散誤差と加算される。更に、Ａ加算部２５１０により画素Ａに対する拡散誤差を加算することで画素Ａ〜画素Ｅにおいて順次加算された累積拡散誤差データが得られる。
【０１５７】
次に、第６の実施形態において特徴的な誤差拡散処理部が印字モード及びインク色に応じて下方ラインへの誤差拡散を制限する処理について詳細に説明する。具体的には、下方誤差分配制限制御部２５１９が要求された印字モード及びインク色に関する情報に応じて下方ラインへの累積拡散誤差データを制限するものである。即ち、下方ラインに位置する画素Ｃ〜画素Ｅに対する拡散誤差を、×２３  値（８の倍数）に制限することで符号付き８ｂｉｔデータとするか、×２７  値（１２８の倍数）に制限することで４ｂｉｔデータとするかを決定する。そして、この決定に基づき、誤差拡散処理を行うと同時に、誤差変換部２５１５により拡散誤差を８ｂｉｔ又は４ｂｉｔデータに変換し、誤差データ出力部２５１６を介して誤差メモリに格納し、また誤差逆変換部２５１７により誤差入力データ部２５１８を介して誤差メモリから読み出した８ｂｉｔ又は４ｂｉｔに制限されたデータを符号付き１１ｂｉｔの拡散誤差データに復元するものである。
【０１５８】
図２６は、第６の実施形態における誤差拡散処理を示すフローチャートである。まず、印字モード及びインク色に関する情報を取得する（ステップＳ２６０１）。印字モードが「高品位モード」であれば（ステップＳ２６０２のＹＥＳ）、下方誤差分配制限制御部２５１９は８ｂｉｔ誤差データ形式を選択し（ステップＳ２６０３）、誤差変換部２５１５が下方ラインの画素Ｃ、画素Ｄ、画素Ｅに対する拡散誤差を×２３  値に限定する。即ち、累積拡散誤差データのうち、上位７ｂｉｔと符号からなる８ｂｉｔデータに変換する（ステップＳ２６０４）。そして、誤差データ出力部２５１６が８ｂｉｔデータの累積拡散誤差データを誤差メモリへ一時格納する（ステップＳ２６０５）。
【０１５９】
一方、印字モードが「高品位モード」でなく、「高速モード」で（ステップＳ２６０２のＮＯ）、更にインク色がブラック、シアン、マゼンタの何れかの場合（ステップＳ２６０６のＹＥＳ）、上述の印字モードが「高品位モード」と同様に処理する。また、インク色が淡色（イエロー、ライトシアン、ライトマゼンタ）であれば（ステップＳ２６０６のＮＯ）、下方誤差分配制限制御部２５１９は４ｂｉｔ誤差データ形式を選択し（ステップＳ２６０７）、誤差変換部２５１５が下方ラインの画素Ｃ、画素Ｄ、画素Ｅに対する拡散誤差を×２７  値に限定する。即ち、累積拡散誤差データのうち、上位３ｂｉｔと符号からなる４ｂｉｔデータに変換する（ステップＳ２６０８）。そして、誤差データ出力部２５１６が４ｂｉｔデータの累積拡散誤差データを誤差メモリへ一時格納する（ステップＳ２６０９）。
【０１６０】
このようにして、印字モードが「高速モード」で、インク色が「淡色」の場合のみ下方ラインへの累積拡散誤差データを、×２７  値に限定し、これ以外では×２３  値に限定して誤差を分配することで誤差メモリへのアクセスを抑制する。
【０１６１】
即ち、高速処理が要求される印字モードで特定のインク色のみ、下方ラインへの誤差分配に制限を与え（制限を強め）、累積誤差情報を少ないビット数で表現できるように制御することで誤差メモリへのアクセスを抑制し、システム全体の高速処理を可能とする。また、それ以外では、下方ラインへの誤差分配の制限をなくし（制限を弱め）、発生誤差を下方ラインにも効率良く分配することにより高品位な量子化処理を実現できる。
【０１６２】
以上詳細に説明した第６の実施形態によれば、誤差拡散法を用いた２値化処理において、印字モード及び特定のインク色に対応付けられた要求処理性能に応じて、下方ラインへの誤差分配制限を制御することにより、高速処理が要求されるモードでは誤差メモリへのアクセスを抑制した高速処理を実現する一方、高品位処理が要求されるモードでは誤差拡散の自由度を高めて高品位な量子化処理を可能とし、ユーザ要求やシステム要求に応じた高速性能と高品位性能とを実現した量子化方法を提供することができる。
【０１６３】
［第１乃至第６の実施形態の変形例］
第１乃至第６の実施形態では、処理すべき画素と同一ラインの画素の他に下方の１ラインに誤差を拡散する場合を例に挙げて説明したが、本発明はこれに限定されるものではなく、下方の２ライン以上の画素に対して誤差を拡散する方式に適用することも可能である。また、誤差の拡散対象となる画素数についても制限されるものではない。
【０１６４】
また、第２及び第４の実施形態では、多値誤差拡散処理の出力階調数として、２×２の網点マトリクスを用いる場合には４値、４×４の網点マトリクスを用いる場合には８値を例に挙げて説明したが、マトリクスサイズに対する出力階調数は印字モード、記録メディア、プリントヘッド特性、などに応じて最適に設定されるべきものである。また、出力階調数は４や１６に限定されるものではなく、２以上の全ての出力階調数に適用できることは言うまでもない。
【０１６５】
また、第１乃至第６の実施形態では、ライン毎に常に決められた方向に画素を処理していく方式について説明したが、ライン毎に処理方向を交互に切り替えるものであっても良いし、ランダムに処理方向を選択するものであっても良い。
【０１６６】
また、第１乃至第６の実施形態では、最終的に２値画像データにより単一サイズのドットを用いて画像を形成するもの（２値記録）について説明したが、３値以上の多値画像データに基づき、異なる複数サイズのドットを選択的に形成して画像を完成させるもの（多値記録）や同一インクの重ね打ちを行うものであっても良い。
【０１６７】
また、第１乃至第５の実施形態では、ブラック（Ｂｋ）、シアン（Ｃｙ）、マゼンタ（Ｍｇ）、イエロー（Ｙｅ）の４色インクを、第６の実施形態ではブラック（Ｂｋ）、シアン（Ｃｙ）、マゼンタ（Ｍｇ）、イエロー（Ｙｅ）、ライトシアン（ＬＣ）、ライトマゼンタ（ＬＭ）を用いたインクジェット方式の画像形成システムについて説明したが、色数や色種はこれに限定されるものではない。Ｂｋを除く３色のインクを用いたものであっても良いし、他の特別色を追加したものであっても良い。また搭載するプリントヘッドは１組（各色１つ）に限定されるものではなく、複数組（各色２つ以上）のプリントヘッドを備えて高速処理を実現する画像形成システムなどにも適用できる。
【０１６８】
また、第１乃至第６の実施形態では、量子化処理やパスデータ生成処理をインクジェット記録装置内部で行う構成について説明したが、これらの一部或いは全部を接続されるホストＰＣ側のドライバやその他の外部装置で実現する構成であっても良いことは明らかである。
【０１６９】
また、第１乃至第６の実施形態では、プリントヘッドの動作原理や構成により制限されるものではない。即ち、プリントヘッドは吐出口近傍に発熱素子（電気／熱エネルギー変換素子）を設け、この発熱素子に電気信号を印加することによりインクを局所的に加熱して圧力変化を起こさせ、インクを吐出口から吐出させるサーマル方式であっても良いし、ピエゾ素子等の電気／圧力変換手段を用いてインクに機械的圧力を付与してインクを吐出させるピエゾ方式であっても良い。
【０１７０】
また、第１乃至第６の実施形態では、インクジェット方式の画像形成システムを例に挙げて説明したが、適用可能な画像形成システムはインクジェット方式に限定されるものではなく、溶融型熱転写方式やレーザ方式などに適用することも可能である。
【０１７１】
また、本発明に係る画像形成システムの形態は、コンピュータやワードプロセッサをはじめとする情報処理装置の画像出力装置として一体又は別体に設けられるものに限らず、読取装置と組み合わせた複写装置や通信機能を有するファクシミリ装置などであっても良い。
【０１７２】
［他の実施形態］
尚、本発明は複数の機器（例えば、ホストコンピュータ，インターフェース機器，リーダ，プリンタなど）から構成されるシステムに適用しても、１つの機器からなる装置（例えば、複写機，ファクシミリ装置など）に適用しても良い。
【０１７３】
また、本発明の目的は前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（ＣＰＵ若しくはＭＰＵ）が記録媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。
【０１７４】
この場合、記録媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記録媒体は本発明を構成することになる。
【０１７５】
このプログラムコードを供給するための記録媒体としては、例えばフロッピー（登録商標）ディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，磁気テープ，不揮発性のメモリカード，ＲＯＭなどを用いることができる。
【０１７６】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１７７】
更に、記録媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１７８】
【発明の効果】
以上説明したように、本発明によれば、誤差拡散法に基づき量子化する際に、高いバンド幅が要求される誤差メモリへのアクセスを効率良く回避し、高速処理と高品位出力を両立させることができる。
【図面の簡単な説明】
【図１】第１の実施形態における誤差拡散処理を示すフローチャートである。
【図２】第１の実施形態における誤差拡散処理部の概略構成を示すブロック図である。
【図３】インクジェット記録装置における記録部の構成を示す図である。
【図４】第１の実施形態における画像データ処理部の概略構成を示す図である。
【図５】誤差拡散法における拡散係数マトリクスの一例を示す図である。
【図６】第２の実施形態における多値誤差拡散処理を示すフローチャートである。
【図７】第２の実施形態における多値誤差拡散処理部の概略構成を示すブロック図である。
【図８】第２の実施形態における印字モードと量子化処理との関係を示す図である。
【図９】第２の実施形態における画像データ処理部の概略構成を示す図である。
【図１０】第３の実施形態における誤差拡散処理を示すフローチャートである。
【図１１】第３の実施形態における誤差拡散処理部の概略構成を示すブロック図である。
【図１２】第３の実施形態における乱数マトリクスを示す図である。
【図１３】画像データ処理部１６１３における画像データ処理の流れを示す図である。
【図１４】記録走査毎のマスクテーブルの一構成例を示す図である。
【図１５】図１４で示したマスクテーブルを用いたマルチパス記録の様子を説明するための図である。
【図１６】インクジェット記録装置のコントローラ部の概略構成を示すブロック図である。
【図１７】インクジェット記録装置のエンジン部の概略構成を示すブロック図である。
【図１８】千鳥パターン／逆千鳥パターンを用いたマルチパス記録の様子を説明するための図である。
【図１９】第４の実施形態における拡散係数マトリクスの一例を示す図である。
【図２０】第４の実施形態における誤差拡散処理部の概略構成を示すブロック図である。
【図２１】第４の実施形態における誤差拡散処理を示すフローチャートである。
【図２２】第５の実施形態における印字モードと量子化処理との関係を示す図である。
【図２３】第５の実施形態における多値誤差拡散処理部の概略構成を示すブロック図である。
【図２４】第５の実施形態における多値誤差拡散処理を示すフローチャートである。
【図２５】誤差拡散処理部の概略構成を示すブロック図である。
【図２６】第６の実施形態における誤差拡散処理を示すフローチャートである。
【図１】
2004328266.tif 000003
【図２】
2004328266.tif 000004
【図３】
2004328266.tif 000005
【図４】
2004328266.tif 000006
【図５】
2004328266.tif 000007
【図６】
2004328266.tif 000008
【図７】
2004328266.tif 000009
【図８】
2004328266.tif 000010
【図９】
2004328266.tif 000011
【図１０】
2004328266.tif 000012
【図１１】
2004328266.tif 000013
【図１２】
2004328266.tif 000014
【図１３】
2004328266.tif 000015
【図１４】
2004328266.tif 000016
【図１５】
2004328266.tif 000017
【図１６】
2004328266.tif 000018
【図１７】
2004328266.tif 000019
【図１８】
2004328266.tif 000020
【図１９】
2004328266.tif 000021
【図２０】
2004328266.tif 000022
【図２１】
2004328266.tif 000023
【図２２】
2004328266.tif 000024
【図２３】
2004328266.tif 000025
【図２４】
2004328266.tif 000026
【図２５】
2004328266.tif 000027
【図２６】
2004328266.tif 000028