(57)【要約】【課題】記録画像の品位の低下を回避しつつ、誤差拡散方式による画像データの量子化処理を高速に行うことができる画像処理装置、記録装置、画像処理方法、プログラム、および記憶媒体を提供すること。【解決手段】誤差データによって表現される誤差値が基準値以下のときに、その基準値を超えた誤差値の表現が可能なデータ部分の少なくとも一部を除くことによって、誤差データを圧縮する。【選択図】図８
2008147883.tif 000002
【特許請求の範囲】
【請求項１】
各画素の諧調を表現する画像データを量子化処理するための方式として、注目画素の誤差データを当該注目画素の周辺の周辺画素に分散させる誤差拡散方式を用いる画像処理装置において、
前記誤差データによって表現される誤差値が基準値以下のときに、当該誤差データから、前記基準値を超えた誤差値の表現が可能なデータ部分の少なくとも一部を除くことによって、当該誤差データを圧縮誤差データに変換する変換手段と、
前記圧縮誤差データに、前記変換手段によって除かれたデータ部分を加えることによって、前記誤差データを復元する復元手段と、
を備えることを特徴とする画像処理装置。
【請求項２】
前記基準値は複数設定され、
前記生成手段は、前記複数の基準値の中から、前記誤差値以上であって、かつ前記誤差値に最も近い基準値を選択して用いることにより、前記誤差データを前記圧縮誤差データに変換する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記圧縮誤差データに、それが変換されていることを示す識別子を付与するための手段を備えることを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記圧縮誤差データに、その変換に用いられた前記基準値に対応する識別子を付与するための手段を備えることを特徴とする請求項２に記載の画像処理装置。
【請求項５】
前記圧縮誤差データに変換されない前記誤差データに、それが変換されていないことを示す識別子を付与するための手段を備えることを特徴とする請求項１から４のいずれかに記載の画像処理装置。
【請求項６】
前記圧縮誤差データを含む前記誤差データから、前記識別子を除くための手段を備えることを特徴とする請求項３から５のいずれかに記載の画像処理装置。
【請求項７】
前記誤差データによって表現される誤差値は、複数の画素から分散される誤差データのそれぞれによって表現される誤差値を合算した値であることを特徴とする請求項１から６のいずれかに記載の画像処理装置。
【請求項８】
前記量子化処理は、前記画素が複数並ぶ画素列毎に行い、
前記誤差データは、注目画素を含む画素列から、当該画素列に隣接する少なくとも１つの画素列に分散される誤差データである
ことを特徴とする請求項１から７のいずれかに記載の画像処理装置。
【請求項９】
前記圧縮誤差データを含む前記誤差データは、前記誤差値の正負を示す符号部を含むことを特徴とする請求項１から８のいずれかに記載の画像処理装置。
【請求項１０】
前記圧縮誤差データを含む前記誤差データを記憶可能な記憶手段と、
前記圧縮誤差データを含む前記誤差データを前記記憶手段に書き込み可能な書き込み手段と、
前記記憶手段から、前記圧縮誤差データを含む前記誤差データを読み出し可能な読み出し手段と、
を備えることを特徴とする請求項１から９のいずれかに記載の画像処理装置。
【請求項１１】
注目画素の画像データの階調値に、前記復元手段によって復元された誤差データを含む前記誤差データの誤差値を加算することにより、当該注目画素の画像データを補正する補正手段を備えることを特徴とする請求項１から１０のいずれかに記載の画像処理装置。
【請求項１２】
前記誤差データの誤差値は、複数のビットによって表現され、
前記変換手段は、前記誤差データの誤差値を実質的に表現する下位のビットを残し、他の上位のビットを除くことによって、当該誤差データを前記圧縮誤差データに変換する
ことを特徴とする請求項１から１１のいずれかに記載の画像処理装置。
【請求項１３】
各画素の諧調を表現する画像データを量子化処理するための方式として、注目画素の誤差データを当該注目画素の周辺の周辺画素に分散させる誤差拡散方式を用い、当該誤差拡散方式により量子化処理した前記画像データに基づいて、画像を記録する記録装置において、
前記誤差データによって表現される誤差値が基準値以下のときに、当該誤差データから、前記基準値を超えた誤差値の表現が可能なデータ部分の少なくとも一部を除くことによって、当該誤差データを圧縮誤差データに変換する変換手段と、
前記圧縮誤差データに、前記変換手段によって除かれたデータ部分を加えることによって、前記誤差データを復元する復元手段と、
を備えることを特徴とする記録装置。
【請求項１４】
各画素の諧調を表現する画像データを量子化処理するための方式として、注目画素の誤差データを当該注目画素の周辺の周辺画素に分散させる誤差拡散方式を用いる画像処理方法において、
前記誤差データによって表現される誤差値が基準値以下のときに、当該誤差データから、前記基準値を超えた誤差値の表現が可能なデータ部分の少なくとも一部を除くことによって、当該誤差データを圧縮誤差データに変換する工程と、
前記圧縮誤差データに、前記変換手段によって除かれたデータ部分を加えることによって、前記誤差データを復元する工程と、
を含むことを特徴とする画像処理方法。
【請求項１５】
請求項１４に記載の画像処理方法をコンピュータに実行させるためのプログラムコードを有することを特徴とするプログラム。
【請求項１６】
請求項１５に記載のプログラムが格納された、コンピュータにより読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、誤差拡散方式による画像データの量子化処理を高速に行うことができる画像処理装置、記録装置、画像処理方法、プログラム、および記憶媒体に関するものである。
【背景技術】
【０００２】
集積回路技術の一層の進展や情報通信技術の急速な発達に伴い、パーソナルコンピュータやデジタルカメラ等の情報機器は、オフィス用途および家庭用途として広く普及し、その性能も著しく向上している。また、こうした情報機器の普及によって、出力装置としての記録装置の需要もますます増大してきている。なかでも複数色のインク液滴によって画像を記録するインクジェット記録装置は、さまざまな産業分野において、また家庭用途として広く利用されている。特に近年は、インクジェット記録技術の高度化が進み、カラー写真のような高精細なカラー画像を出力可能な記録装置や、Ａ０幅やＢ０幅の大型の記録媒体に出力可能な記録装置が開発されている。
【０００３】
インクジェット記録装置は、ノズルを構成する多数の細孔（ノズルを形成する吐出口）が形成された記録ヘッドを用いて画像記録するものであり、それらの吐出口から、各色のインクを微小な液滴として吐出する構成となっている。いわゆるシリアルスキャン方式のインクジェット記録装置においては、記録媒体と対向する位置における記録ヘッドの主走査方向の往復移動と、その主走査方向と交差する方向における記録媒体の移動と、を伴って、記録媒体上に画像が記録される。複数のノズルは、主走査方向と交差する方向に沿って配列されてノズル列を形成する。記録装置に装着されたインクタンクに、各色のインクが貯留されており、このインクタンクから記録ヘッドに供給されたインクがノズルから吐出される。
【０００４】
インクジェット記録装置において扱う画像データは、各インク色について、画素毎にインク滴を吐出するか否かを表す２値データである。一方、記録装置に記録を指示するコンピュータ装置等のホスト装置上において扱う画像データは、例えば、各インク色について、画素毎に８ビットや１０ビット、すなわち２５６階調や１０２４階調で表現される高階調画像データである。したがって、インクジェット記録装置において記録を行うためには、高階調画像データを２値の画像データに変換する２値化処理、すなわち量子化処理を行う必要がある。
【０００５】
量子化処理を行う方式としては、誤差拡散方式とディザ方式とが広く知られている。誤差拡散方式は、各画素について、画素値としきい値とを比較して量子化を行うと共に、量子化処理により発生する量子化誤差を未処理の周辺画素に分配する量子化方式である。誤差拡散方式では、量子化処理によっても画像全体の濃度が保存されるため、良好な擬似階調表現が可能である。
【０００６】
シリアルスキャン方式のインクジェット記録装置において、画像データに誤差拡散方式の量子化処理を施す場合、記録ヘッドの主走査方向の移動を伴って記録される１ライン分の画素に対して、その一方端の画素から他方端の画素に向かう順序で量子化処理を行う。１ライン分の画素の量子化処理が終了すると、副走査方向に隣接する次の１ライン分の画素に対して、同様に量子化処理を行う。このようにして、画像全体の画像データに対しての量子化処理を行う。量子化処理により発生する量子化誤差は、量子化対象の注目画素と同一ライン上の画素、または、そのラインと副走査方向において隣接するライン上の画素に、拡散することができる。例えば、図１６に示すように、注目画素Ｐの量子化誤差が拡散される画素として、注目画素Ｐと同一ラインＬ１上の未処理の画素Ａ、Ｂ、Ｈ、Ｉ、および隣接ラインＬ２上の各画素Ｃ、Ｄ、Ｅ、Ｆ、Ｇの中から、全部または一部が選択できる。この場合、同一ラインＬ１上の画素に対して拡散する誤差データは、それらの画素が処理されるまでの間、誤差拡散回路内のバッファに一時的に保存される。また、隣接ラインＬ２上の画素に対して拡散する誤差データは、１ライン分まとめて誤差メモリに格納され、その隣接ラインＬ２の量子化処理時に、その隣接ラインＬ２上の画素の処理に合わせて誤差メモリから読み出される。
【０００７】
ところで、記録画像の高精細化や記録用紙サイズの大型化により、記録装置が扱う画像データのサイズは、従前に比べて増大化している。また、記録装置におけるプリンタエンジンの高機能化や記録ヘッドの大型化により、従来よりも高速な記録処理が実現されるようになっている。したがって、大容量の記録データをより高速に処理することが求められており、特に、誤差拡散方式による量子化処理の高速化が必要となっている。
【０００８】
特許文献１には、誤差メモリに誤差データを書き込むに当たり、シグモイド型の関数に近似した関数に基づいて誤差データのビット数を削減することによって、メモリアクセス回数を低減する画像処理装置が開示されている。
【０００９】
【特許文献１】特開２００１−２８５６３３号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかしながら、上述した従来例の画像処理装置では、ビット数を削減した誤差データから元の誤差データを完全に復元することができず、画像品位が低下するという問題があった。
【００１１】
本発明の目的は、記録画像の品位の低下を回避しつつ、誤差拡散方式による画像データの量子化処理を高速に行うことができる画像処理装置、記録装置、画像処理方法、プログラム、および記憶媒体を提供することにある。
【課題を解決するための手段】
【００１２】
本発明の画像処理装置は、各画素の諧調を表現する画像データを量子化処理するための方式として、注目画素の誤差データを当該注目画素の周辺の周辺画素に分散させる誤差拡散方式を用いる画像処理装置において、前記誤差データによって表現される誤差値が基準値以下のときに、当該誤差データから、前記基準値を超えた誤差値の表現が可能なデータ部分の少なくとも一部を除くことによって、当該誤差データを圧縮誤差データに変換する変換手段と、前記圧縮誤差データに、前記変換手段によって除かれたデータ部分を加えることによって、前記誤差データを復元する復元手段と、を備えることを特徴とする。
【００１３】
本発明の記録装置は、各画素の諧調を表現する画像データを量子化処理するための方式として、注目画素の誤差データを当該注目画素の周辺の周辺画素に分散させる誤差拡散方式を用い、当該誤差拡散方式により量子化処理した前記画像データに基づいて、画像を記録する記録装置において、前記誤差データによって表現される誤差値が基準値以下のときに、当該誤差データから、前記基準値を超えた誤差値の表現が可能なデータ部分の少なくとも一部を除くことによって、当該誤差データを圧縮誤差データに変換する変換手段と、前記圧縮誤差データに、前記変換手段によって除かれたデータ部分を加えることによって、前記誤差データを復元する復元手段と、を備えることを特徴とする記録装置。
【００１４】
本発明の画像処理方法は、各画素の諧調を表現する画像データを量子化処理するための方式として、注目画素の誤差データを当該注目画素の周辺の周辺画素に分散させる誤差拡散方式を用いる画像処理方法において、前記誤差データによって表現される誤差値が基準値以下のときに、当該誤差データから、前記基準値を超えた誤差値の表現が可能なデータ部分の少なくとも一部を除くことによって、当該誤差データを圧縮誤差データに変換する工程と、前記圧縮誤差データに、前記変換手段によって除かれたデータ部分を加えることによって、前記誤差データを復元する工程と、を含むことを特徴とする。
【００１５】
本発明のプログラムは、上記の画像処理方法をコンピュータに実行させるためのプログラムコードを有することを特徴とする。
【００１６】
本発明のコンピュータにより読み取り可能な記憶媒体は、上記のプログラムが格納されたことを特徴とする。
【発明の効果】
【００１７】
本発明によれば、誤差データによって表現される誤差値が基準値以下のときに、その基準値を超えた誤差値の表現が可能なデータ部分の少なくとも一部を除くことによって、誤差データを圧縮する。これにより、誤差データを完全に復元可能に圧縮して、記録画像の品位の低下を回避することができると共に、誤差拡散方式による画像データの量子化処理を高速に行うことができる。より具体的には、誤差メモリへの誤差データの格納、および、その誤差メモリからの誤差データの読み出しのためのアクセス回数を低減して、量子化処理の高速化を図ることができる。
【発明を実施するための最良の形態】
【００１８】
以下、本発明を記録装置に適用した場合の好適な実施の形態について図面を参照して説明する。
【００１９】
（第１の実施形態）
図１５は、本発明を適用可能なインクジェット記録装置１００におけるプリンタエンジン１１８の部分の概略斜視図である。
【００２０】
本例の記録装置１００はシリアルスキャン方式の記録装置であり、ガイド軸５１，５２によって、キャリッジ５３が矢印Ｘの主走査方向に移動自在にガイドされている。キャリッジ５３は、キャリッジモータおよびその駆動力を伝達するベルト等の駆動力伝達機構により、主走査方向に往復動される。キャリッジ５３には、記録ヘッドと、その記録ヘッドにインクを供給するインクタンクが搭載される。本例の場合、それらの記録ヘッドとインクタンクは、インクジェットカートリッジ５４を構成する。記録ヘッドには、インクを吐出可能な吐出口が主走査方向と交差する方向に配列されて、ノズル列が形成されている。吐出口からインクを吐出させるための手段としては、電気熱変換体（ヒータ）やピエゾ素子などを用いることができる。電気熱変換体を用いた場合には、その電気熱変換体の発熱によってインクを発泡させ、その発泡エネルギーを利用して、吐出口からインクを吐出させることができる。
【００２１】
被記録媒体としての用紙Ｐは、装置の前端部に設けられた挿入口５５から挿入された後、その搬送方向が反転されてから、送りローラ５６によって矢印Ｙの副走査方向に搬送される。記録装置１００は、記録ヘッドを主走査方向に移動させつつ、プラテン５７上の用紙Ｐのプリント領域に向かってインクを吐出させる記録動作と、その記録幅に対応する距離だけ用紙Ｐを副走査方向に搬送する搬送動作と、を繰り返す。これによって、用紙Ｐ上に順次画像が記録される。
【００２２】
キャリッジ５３の移動領域における図１５中の左端には、キャリッジ５３に搭載された記録ヘッドの吐出口の形成面と対向する回復系ユニット（回復処理手段）５８が設けられている。回復系ユニット５８には、記録ヘッドの吐出口のキャッピングが可能なキャップと、そのキャップ内に負圧を導入可能な吸引ポンプなどが備えられている。そして、吐出口を覆ったキャップ内に負圧を導入することにより、吐出口からインクを吸引排出させて、記録ヘッドの良好なインク吐出状態を維持すべく回復処理（「吸引回復処理」ともいう）をする。また、キャップ内に向かって、吐出口から画像の寄与しないインクを吐出させることによって、記録ヘッドの良好なインク吐出状態を維持すべく回復処理（「吐出回復処理」ともいう）をすることもできる。
【００２３】
図１は、記録装置１００の制御系のブロック構成図である。本例の記録装置１００は、画像形成コントロール装置１０１とプリンタエンジン１１８とを含む。
【００２４】
画像形成コントロール装置１０１は、パーソナルコンピュータ等のホスト装置３００から、記録指示のコマンドおよび記録用の画像データを受信し、受信した画像データをプリンタエンジン１１８によって記録可能な構成の２値の画像データに変換して出力する。画像形成コントロール装置１０１は、ＣＰＵ１０２、画像処理部１０３、プリンタエンジンインターフェース部１０４、通信インターフェース部１０５、拡張バス回路部１０６、ＲＡＭコントローラ１０７、およびＲＯＭコントローラ１０８を備えている。さらに、これらの機能部（「ブロック」ともいう）は、それぞれバスライン１１０ａ〜１１０ｇを介してシステムバスブリッジ１０９に接続されている。本例の場合、これらのブロックは、システムＬＳＩとして１つのパッケージに封止された画像形成コントローラＡＳＩＣ（Application Specific Integrated Circuit）１１１として構成されている。
【００２５】
また、画像形成コントロール装置１０１は、機能拡張ユニットを装着可能な拡張スロット１１２、ＲＡＭ部１１５、およびＲＯＭ部１１７を備える他、図示しない操作部、表示部、および電源回路部等を備えている。
【００２６】
ＣＰＵ１０２は、画像形成コントロール装置１０１全体の制御を司る。ＣＰＵ１０２は、ＲＯＭ部１１７またはＲＡＭ部１１５に格納されたプログラムを読み出し、そのプログラムの制御手順にしたがって順次制御を実行する。これによりＣＰＵ１０２は、画像処理部１０３を制御して、ホスト装置から受信した画像データを２値の画像データである画像形成データに変換する。またＣＰＵ１０２は、通信インターフェース部１０５、およびプリンタエンジンインターフェース部１０４の制御等を行う。通信インターフェース部１０５は、ホスト装置と通信するためのものである。またプリンタエンジンインターフェース部１０４は、通信プロトコルの解釈、および画像処理部１０３にて生成された２値の画像データのプリンタエンジン１１８への転送を行なう。
【００２７】
画像処理部１０３は、上述したように、ホスト装置から受信した画像データをプリンタエンジン１１８にて記録可能な２値の画像データに変換する機能を備えている。この画像処理部１０３の詳細な構成については後述する。
【００２８】
プリンタエンジンインターフェース部１０４は、画像形成コントロール装置１０１とプリンタエンジン１１８との間にてデータの送受信を行う。プリンタエンジンインターフェース部１０４は、ＤＭＡＣ（Dynamic Memory Access Controller；ダイナミックメモリアクセスコントローラ）を有する。このプリンタエンジンインターフェース部１０４は、画像処理部１０３にて生成されてＲＡＭ部１１５に格納されている２値の画像データを、ＲＡＭコントローラ１０７を介して順次読み出して、プリンタエンジン１１８に転送する機能を備えている。
【００２９】
通信インターフェース部１０５は、パーソナルコンピュータやワークステーション等のホスト装置３００と、記録装置１００と、の間にてデータの送受信を行う機能を備えている。さらに、この通信インターフェース部１０５は、ホスト装置３００から受信した画像データをＲＡＭコントローラ１０７を介してＲＡＭ部１１５に格納する機能を備えている。通信インターフェース部１０５の通信方式は、ＵＳＢ（Universal Serial Bus）やＩＥＥＥ１３９４などの高速シリアル通信、あるいはＩＥＥＥ１２８４などのパラレル通信などであってもよい。さらに、通信インターフェース部１０５の通信方式は、１００ＢＡＳＥ−ＴＸ等のネットワーク通信などいずれの方式であってもよく、また、これらの複数の通信方式を用いるものであってもよい。さらに、その通信方式は、有線による通信方式に限らず、無線による通信方式であってもよい。
【００３０】
拡張バス回路部１０６は、拡張スロット１１２に装着した機能拡張ユニットを制御する機能を備え、拡張バス１１３を介して、機能拡張ユニットにデータを送信する制御、および機能拡張ユニットが出力するデータを受信する制御を行う。拡張スロット１１２には、通信ユニットやハードディスクドライブユニットなどの装着が可能である。その通信ユニットは、ＵＳＢ、ＩＥＥＥ１３９４、ＩＥＥＥ１２８４、あるいはネットワーク通信などによるホスト装置３００との間の通信機能を提供し、またハードディスクドライブユニットは、大容量の記憶機能を提供する。
【００３１】
画像処理部１０３、通信インターフェース部１０５、および拡張バス回路部１０６は、プリンタエンジンインターフェース部１０４と同様にＤＭＡＣを有し、メモリアクセス要求を発行する機能を備えている。
【００３２】
ＲＡＭコントローラ１０７はＲＡＭ部１１５の制御機能を備え、そのＲＡＭ部１１５は、ＲＡＭバス１１４を介して画像形成コントローラＡＳＩＣ１１１に接続される。ＲＡＭコントローラ１０７は、ＣＰＵ１０２およびＤＭＡＣを有する各ブロックと、ＲＡＭ部１１５と、の間において、書き込みまたは読み出しされるデータを中継する。ＲＡＭコントローラ１０７は、ＣＰＵ１０２および各ブロックからの読み出し要求や書き込み要求に応じて、必要な制御信号を生成することにより、ＲＡＭ部１１５への書き込みやＲＡＭ部１１５からの読み出しを実現する。
【００３３】
ＲＯＭ部１１７は、ＲＯＭバス１１６を介して画像形成コントローラＡＳＩＣ１１１に接続され、ＲＯＭコントローラ１０８は、そのＲＯＭ部１１７の制御を行うための機能を備えている。ＲＯＭコントローラ１０８は、ＣＰＵ１０２からの読み出し要求に応じて、必要な制御信号を生成する。これによりＲＯＭコントローラ１０８は、予めＲＯＭ部１１７に格納された制御手順（プログラム）やデータを読み出して、読み出した内容をシステムバスブリッジ１０９を介してＣＰＵ１０２に送り返す。また、ＲＯＭ部１１７は、フラッシュメモリ等の電気的に書き換え可能なデバイスによって構成することができる。この場合、ＲＯＭコントローラ１０８は、必要な制御信号を発生してＲＯＭ部１１７の内容を書き換えるための機能を備える。
【００３４】
システムバスブリッジ１０９は、画像形成コントローラＡＳＩＣ１１１を構成する各ブロック間を接続するための機能を備える。さらにシステムバスブリッジ１０９は、複数のブロックから同時にアクセス要求が発行された場合に、バス権を調停するための機能を備えている。ＣＰＵ１０２、およびＤＭＡＣを有する各ブロックは、ＲＡＭ部１１５へのアクセス要求をＲＡＭコントローラ１０７を介してほぼ同時に発行する場合がある。この場合、システムバスブリッジ１０９は、予め指定されたプライオリティーにしたがって適切に調停を行う。
【００３５】
ＲＡＭ部１１５は、同期ＤＲＡＭ等によって構成される。ＲＡＭ部１１５は、ＣＰＵ１０２が実行する制御手順（プログラム）の格納機能、画像処理部１０３において生成された２値の画像データの一時的な記憶機能、およびＣＰＵ１０２のワークメモリとしての機能などを提供するメモリブロックである。また、ＲＡＭ部１１５は、通信インターフェース部１０５がホスト装置３００から受信した画像データの一時的なバッファリング機能を備える。さらに、ＲＡＭ部１１５は、拡張バス１１３を介して接続された機能拡張ユニットとの間にて受け渡しされるデータを、一時保存するための機能などをも備える
ＲＯＭ部１１７は、フラッシュメモリ等によって構成され、ＣＰＵ１０２が実行する制御手順（プログラム）および記録制御に必要なパラメータを格納する。フラッシュメモリは、電気的に書き換え可能で不揮発性のデバイスであり、決められたシーケンスにしたがって制御手順やパラメータを書き換えることが可能である。
【００３６】
さらに、各回路ブロックは、動作モード等を設定するためのレジスタを備える。またＣＰＵ１０２は、図示しないレジスタアクセスバスを介して、各回路ブロックの動作モード等を設定することが可能である。
【００３７】
プリンタエンジン１１８は、画像形成コントロール装置１０１から送出される２値の画像データに基づいて、記録媒体Ｐ上に画像を記録する記録機構である。本例のプリンタエンジン１１８は、インクジェット方式の記録ヘッド（インクジェット記録ヘッド）を用い、シアン（Ｃ）、マゼンタ（Ｍ）、イエロー（Ｙ）、黒（Ｋ）、ライトシアン（ＬＣ）、およびライトマゼンタ（Ｍ）の６色のインクによって画像を記録する。つまり、記録ヘッドをキャリッジ５３（図１５参照）と共に主走査方向に移動させつつ、それらのインクを記録ヘッドの吐出口から吐出する動作と、記録媒体Ｐを副走査方向に搬送する動作と、を繰り返すことによって、記録媒体Ｐ上に順次画像を記録する。それぞれのインク色毎に対応する吐出口は、主走査方向と交差する方向（本例の場合は、直交する方向）に沿って列状に並ぶように、複数形成されている。
【００３８】
図２は、画像処理部１０３のブロック構成、および、この画像処理部１０３によって処理される画像データの形式の説明図である。
【００３９】
本例の画像処理部１０３は、色変換処理部２０１、量子化処理部２０２、誤差データ圧縮部２０３、誤差データ伸長部２０４、およびレジスタ部２０５を含む。さらに画像処理部１０３は、画像データリードＤＭＡＣ２０６、画像データライトＤＭＡＣ２０７、誤差データリードＤＭＡＣ２０８、および誤差データライトＤＭＡＣ２０９を含む。
【００４０】
色変換処理部２０１は、ホスト装置３００から受信した入力画像データの色空間を、プリンタエンジン１１８において用いられるインクの色によって表される色空間に変換する。本例の場合、ホスト装置３００上における画像データは、赤（Ｒ）、緑（Ｇ）、青（Ｂ）のそれぞれについて８ビットずつのデータによって、各画素を表現する。色変換処理部２０１は、この画像データの色空間を、各画素をインクの色（Ｃ、Ｍ、Ｙ、Ｋ、ＬＣ、およびＬＭ）毎に１０ビットのデータによって表現する色空間に変換する。また色変換処理部２０１は、プリンタエンジン１１８の出力特性に応じたガンマ補正もあわせて行う。
【００４１】
量子化処理部２０２は、それぞれのインク色毎の画素要素について、誤差拡散方式による二値化処理を行うための機能を備えている。量子化処理部２０２は、注目画素に対して、その注目画素の周辺画素から拡散される量子化誤差を加算して、その値をしきい値と比較することによって、２値化処理すなわち量子化処理を行う。注目画素から発生する量子化誤差は、その周辺の未処理の画素へ拡散され、これにより、画像データの全体としての濃度値が保存される。
【００４２】
誤差データ圧縮部２０３は、量子化処理部２０２が未処理の周辺画素に対して拡散させる量子化誤差（「拡散誤差」および「誤差データ」ともいう）の内、隣接ラインの画素に拡散する誤差データのデータ量を圧縮するための機能を備えている。圧縮処理された誤差データは、誤差データライトＤＭＡＣ（書き込み手段）２０９に送られて、誤差メモリ（記憶手段）に格納される。誤差データの圧縮処理方法については後述する。
【００４３】
誤差データ伸長部２０４は、誤差データ圧縮部２０３により圧縮処理された誤差データを元のデータに伸長するための機能を備えている。この誤差データ伸長部２０４は、圧縮処理された誤差データを誤差データリードＤＭＡＣ２０８を介して受け取って伸長処理し、その伸長処理によって復元した誤差データを量子化処理部２０２に転送する。
【００４４】
本例の場合、隣接ラインＬ２に拡散する誤差データは、各インク色のいずれに対応する誤差データに関しても、図３（ａ）に示すように、正負の符号部の１ビットを含めた１１ビットによって表現され、負数は２の補数により表される。正の誤差データは、図３（ｂ）に示すようにＭＳＢが「０」のデータであり、負の誤差データは、図３（ｃ）に示すようにＭＳＢが「１」のデータである。
【００４５】
レジスタ部２０５は、画像処理の開始を指示する画像処理起動レジスタ、実行する画像処理の内容およびパラメータを指定するコマンド・パラメータレジスタ等を備えたレジスタ群から構成される。また、レジスタ部２０５は、圧縮処理および伸長処理に関するパラメータを設定するレジスタを有している。
【００４６】
画像データリードＤＭＡＣ２０６は、ＲＡＭ部１１５に格納された入力画像データを読み出すためのＤＭＡＣである。また、画像データライトＤＭＡＣ２０７は、入力画像データの量子化処理によって生成された２値の画像データをＲＡＭ部１１５に格納するためのＤＭＡＣである。
【００４７】
誤差データリードＤＭＡＣ２０８は、隣接ラインから拡散される誤差データを誤差メモリから読み出すためのＤＭＡＣである。誤差メモリは、圧縮誤差データを含む誤差データを記憶可能である。また、誤差データライトＤＭＡＣ２０９は、隣接ラインに拡散する誤差データを誤差メモリに格納するためのＤＭＡＣである。本例の誤差メモリは、ＲＡＭ部１１５の一部として構成される。
【００４８】
次に、量子化処理部２０２の動作について説明する。
【００４９】
まず量子化処理部２０２は、注目画素を含むライン（画素列）の前のライン（以下、「前ライン」ともいう）からの拡散される誤差データを読み出す。そして、その誤差データによって表現される誤差値を、色変換処理部２０１から出力された注目画素の画像データが表現する階調値に加算する。前ラインからの拡散される誤差データは、誤差データ圧縮部２０３により圧縮処理されてＲＡＭ部１１５に格納されている。ＲＡＭ部１１５から読み出された誤差データは、誤差データ伸長部２０４により伸長処理されて元の誤差データに復元されてから、量子化処理部２０２に送られる。また、注目画素に対しては、それが含まれる同一のライン（以下、「同一ライン」ともいう）上の処理済みの画素から拡散される誤差データも加算される。同一ラインの画素から拡散される誤差データは、量子化処理部２０２内の図示しないバッファに一時的に記憶される。同一ラインおよび前ラインの画素からの誤差データを注目画素に拡散した後、その注目画素における色要素毎の画像データをしきい値と比較して量子化し、その量子化した２値の記録データを画像データライトＤＭＡＣ２０７によってＲＡＭ部１１５に格納する。量子化処理は、画素列毎に行なわれる。
【００５０】
量子化処理によって発生する注目画素「Ｐ」の量子化誤差は、図４に示す拡散係数にしたがって、未処理の周辺画素に拡散される。同一ラインＬ１上の画素「Ａ」および「Ｂ」に拡散される誤差データは、量子化処理部２０２内の図示しないバッファに保存する。また、隣接ラインＬ２上の画素「Ｃ」、「Ｄ」および「Ｅ」に拡散される誤差データは、量子化処理部２０２内のバッファに一旦記憶されてから、同一画素に対して拡散される誤差データが全て足し合わされる。合算された誤差データは、誤差データ圧縮部２０３にて圧縮処理されてから、誤差データライトＤＭＡＣ２０９を介してＲＡＭ部１１５に格納される。
【００５１】
すなわち、図５中の隣接ラインＬ２上の画素「Ｘ」に対して拡散される誤差データは、以下の第１、第２、および第３の３つの誤差データを合算したものとなる。第１の誤差データは、図５（ａ）の注目画素「Ｒ」画素から、図４の画素「Ｅ」の拡散係数（１／１６）にしたがって拡散される誤差データである。第２の誤差データは、図５（ｂ）の注目画素「Ｓ」から、図４の画素「Ｄ」の拡散係数（１／４）にしたがって拡散される誤差データである。第３の誤差データは、図５（ｃ）の注目画素「Ｔ」から、図４の画素「Ｃ」の拡散係数（１／８）にしたがって拡散される誤差データである。
【００５２】
画像処理部１０３は、ＣＰＵ１０２からレジスタ部２０５への書き込みによって画像処理の開始が指示されると、ＲＡＭ部１１５に格納された入力画像データをラインの一方端の画素から他方端の画素まで順次読み出して、色変換処理および量子化処理を行う。画像処理部１０３は、このような処理（「ライン処理」ともいう）が終了すると、ＣＰＵ１０２に対して割り込みを発行して、ライン処理の完了を通知する。ＣＰＵ１０２からの指示により、副走査方向に隣接するラインの画素列についても同様のライン処理を行うことにより、画像データ全体の２値化処理が実現できる。２値化された画像データ（出力画像データ）は、順次ＲＡＭ部１１５に格納され、そしてプリンタエンジンインターフェース部１０４によってプリンタエンジン１１８へ送出されることにより、その画像データに基づいて記録媒体Ｐ上に画像が記録される。
【００５３】
次に、本例における記録装置の動作について説明する。
【００５４】
図６は、入力画像データを量子化処理するときの画像処理部１０３の動作手順を説明するためのフローチャートである。画像処理部１０３は、量子化処理の実行が指示されたときに、図６のフローチャートにしたがって画像処理動作を実行して、量子化処理を行う。
【００５５】
すなわち画像処理部１０３は、ステップＳ６０１にて、注目画素の画像データを画像データリードＤＭＡＣ２０６を介してＲＡＭ部１１５から読み出してから、ステップＳ６０２へ進む。次に画像処理部１０３は、ステップＳ６０２にて、注目画素の画像データをインク色によって表現される画像データに変換してから、ステップＳ６０３へ進む。その変換処理は、色変換処理部２０１によって行う。次に画像処理部１０３は、ステップＳ６０３にて、Ｃ、Ｍ、Ｙ、Ｋ、ＬＣ、およびＬＭの各色の要素毎に、注目画素の画像データを誤差拡散方式により量子化してから、ステップＳ６０４へ進む。この量子化処理については後述する。
【００５６】
次に画像処理部１０３は、ステップＳ６０４にて、１ライン分の画素の処理が終了したか否かを判定し、未処理の画素が残っている場合にはステップＳ６０１へ戻る。１ライン分の全ての画素の処理が終了している場合には、本処理動作を終了する。
【００５７】
本例では、図６のフローチャートにしたがう処理をハードウエア記述言語（Hardware Description Language；ＨＤＬ）によって記述して、論理合成を行うことにより、本画像処理動作の実行が可能な論理回路を生成する。そして、その論理回路によって画像処理部１０３を構成する。
【００５８】
次に、図７を参照して、図６におけるステップＳ６０３の量子化処理の手順について説明する。
【００５９】
まず画像処理部１０３は、図７のステップＳ７０１にて、圧縮処理されてＲＡＭ部１１５に格納されている前ライン上の画素の拡散誤差を、誤差データリードＤＭＡＣ２０８を介して読み出す。その前ライン上の画素の拡散誤差は、処理対象のライン（以下、「本ライン」ともいう）の前のラインから、本ラインの画像データに拡散される誤差データである。その読み出した誤差データは、誤差データ伸長部２０４によって伸長してから、本ラインの画像データに加算する。
【００６０】
画像処理部１０３は、次のステップＳ７０２にて、量子化処理部２０２内のバッファに格納された拡散誤差、つまり本ラインと同じ同一ライン上の画素から拡散される誤差データを、本ラインの画像データに加算してから、ステップＳ７０３へ進む。画像処理部１０３は、ステップＳ７０３にて、周辺画素から拡散される誤差データが加算された画像データを、図示しないレジスタに格納されたしきい値と比較することによって、２値の画像データを生成し、それからステップＳ７０４へ進む。画像処理部１０３は、ステップＳ７０４にて生成した２値の画像データを画像データライトＤＭＡＣ２０７を介してＲＡＭ部１１５へ書き込んでから、ステップＳ７０５へ進む。画像処理部１０３は、ステップＳ７０５にて、図４に示す拡散係数にしたがって発生した量子化誤差を周辺の量子化未処理の画素に拡散して、本処理動作を終了する。このステップＳ７０５により拡散される誤差データの内、同一ライン上の画素に拡散される誤差データは、量子化処理部２０２内のバッファに格納する。一方、隣接ライン上の画素に拡散される誤差データは、前述したように一旦バッファに格納され、そして注目画素に対して拡散される誤差データを全て合算した後に、誤差データ圧縮部２０３により圧縮処理される。その圧縮処理された誤差データは、誤差データライトＤＭＡＣ２０９を介してＲＡＭ部１１５に格納される。
【００６１】
次に、図８のフローチャートに基づいて、誤差データを圧縮処理する誤差データ圧縮部２０３の動作手順について説明する。
【００６２】
誤差データ圧縮部２０３は、テップＳ８０１において、量子化処理部２０２から受け取った誤差データの符号部と、数値部の上位６ビットのそれぞれと、が一致するか否かを判定する。符号部と、数値部の上位６ビットのそれぞれと、が一致する場合は、ステップＳ８０２へ進み、それらが一致しない場合はステップＳ８０３へ進む。符号部と比較する数値部の上位ビットの数は、レジスタ部２０５の図示しないレジスタに設定する。
【００６３】
誤差データの符号部と、数値部の上位６ビットのそれぞれと、が一致する場合、誤差データ圧縮部２０３は、ステップＳ８０２において、符号部と、数値部の下位４ビットと、を組み合わせた５ビットのデータに、識別子「０」を組み合わせ、つまり連接する。これにより、具体例をもって後述するように、誤差データを６ビットのデータに圧縮する。その後、ステップＳ８０４へ進む。一方、符号部と、数値部の上位６ビットのそれぞれと、が一致しない場合、誤差データ圧縮部２０３は、ステップＳ８０３において、符号部と、１０ビットの数値部と、から成る１１ビットの誤差データに、識別子「１」を組み合わせ、つまり連接する。これにより、具体例をもって後述するように、誤差データが１２ビットのデータとなる。その後、ステップＳ８０４へ進む。
【００６４】
誤差データ圧縮部２０３は、ステップＳ８０４において、Ｃ、Ｍ、Ｙ、Ｋ、ＬＣ、およびＬＭの全ての色要素毎に対応する画素について、誤差データの処理が終了したか否かを判定する。未処理の画素が残っている場合にはステップＳ８０１へ戻り、全ての色要素毎に対応する画素についての誤差データの処理が終了した場合には、ステップＳ８０５へ進む。誤差データ圧縮部２０３は、ステップＳ８０５において、処理した全ての色要素毎に対応する画素の誤差データを連接し、その一連の誤差データを誤差データライトＤＭＡＣ２０９を介してＲＡＭ部１１５に格納してから、本処理動作を終了する。
【００６５】
このように、図８のフローチャートにしたがった処理を行うことにより、誤差データの圧縮が可能になる。
【００６６】
例えば、図９（ａ）に示すような誤差データ、つまり符号部が「０」である正の誤差データであって、数値部の上位６ビットが「００００００」である誤差データは、図９（ｂ）に示すような６ビットのデータに変換される。その６ビットのデータは、符号部「０」と、数値部の下位４ビットと、を組み合わせた５ビットのデータに、識別子「０」を付加したデータである。同様に、図１０（ａ）に示すような誤差データ、つまり符号部が「１」である負の誤差データであって、数値部の上位６ビットが「１１１１１１」である誤差データは、図１０（ｂ）に示すような６ビットのデータに変換される。その６ビットのデータは、符号部「１」と、数値部の下位４ビットと、を組み合わせた５ビットのデータに、識別子「０」を付加したデータである。
【００６７】
一方、符号部と、数値部の上位６ビットのそれぞれと、が一致しない場合は、図９（ｃ）および図１０（ｃ）に示すように、元の誤差データに識別子「１」を連接した１２ビットのデータに変換される。
【００６８】
したがって、誤差データによって表現される誤差値の絶対値が１６よりも小さい場合、つまり誤差データの絶対値が数値部の下位４ビットによって表現可能な最大絶対値の１５（基準値）以下の場合には、誤差データが圧縮される。すなわち、１１ビットで表現される元の誤差データが６ビットのデータに圧縮される。このように、誤差データによって表現される誤差値が基準値以下のときに誤差データを圧縮した分、ＲＡＭ部１１５へのアクセス回数の低減が可能となる。
【００６９】
次に、図１１のフローチャートに基づいて、圧縮された拡散誤差データ（圧縮誤差データ）を伸長処理する誤差データ伸長部２０４の動作手順について説明する。
【００７０】
誤差データ伸長部２０４は、ステップＳ１１０１において、誤差データリードＤＭＡＣ２０８を介してＲＡＭ部から読み出した誤差データ（圧縮処理された誤差データ）について、先頭の１ビットの識別子が「０」であるか否かを判定する。その識別子が「０」の場合にはステップＳ１１０２へ進み、その識別子が「１」の場合にはステップＳ１１０３へ進む。
【００７１】
誤差データ伸長部２０４は、ステップＳ１１０２において、識別子に続く数値部が４ビットである誤差データを、数値部が１０ビットの誤差データに伸長してから、ステップＳ１１０４へ進む。このステップＳ１１０２の処理により、図９（ｂ）および図１０（ｂ）に示すように圧縮処理された誤差データは、それぞれ図９（ａ）および図１０（ａ）に示すような元の誤差データ、つまり数値部が１０ビットの元の誤差データに復元される。
【００７２】
一方、識別子が「１」の場合、誤差データ伸長部２０４は、ステップＳ１１０３において、先頭の識別子の１ビットを削除して１１ビットの誤差データを復元してから、ステップＳ１１０４へ進む。このステップＳ１１０３の処理により、図９（ｃ）および図１０（ｃ）に示す形式のデータから識別子が取り除かれて、符号部と、１０ビットの数値部と、からなる誤差データが復元される。
【００７３】
誤差データ伸長部２０４は、ステップＳ１１０４において、Ｃ、Ｍ、Ｙ、Ｋ、ＬＣ、およびＬＭの全ての色要素毎に対応する画素について、伸長処理が終了したか否かを判定する。その伸長処理が未処理の画素が残っている場合にはステップＳ１１０１へ戻り、全ての色要素毎に対応する画素についての伸長処理が終了した場合にはステップＳ１１０５へ進む。誤差データ伸長部２０４は、ステップＳ１１０５において、伸長した全ての色要素毎に対応する画素の誤差データを量子化処理部２０２に転送してから、本処理動作を終了する。
【００７４】
本例では、図７、図８、および図１１のフローチャートにしたがった処理をハードウエア記述言語によって記述して論理合成を行うことにより、誤差データの圧縮処理および伸長処理の実行が可能な論理回路を生成して、画像処理部を構成する。この場合、それぞれの色要素毎の画素に対する処理を同時に実行させるための同期回路を生成することが可能である。また、図６から図８、および図１１のフローチャートを、状態機械を構成して記述し、それぞれの色要素毎の画素に対する処理を順次実行するための回路を生成することも可能である。
【００７５】
（第２の実施形態）
上述した第１の実施形態においては、誤差データの絶対値が所定値よりも小さい場合に、誤差データの圧縮処理を行う記録装置について説明した。本発明は、このような実施形態に限定されるものではなく、誤差データの値に応じて、複数の圧縮処理方法の中から１つの圧縮処理方法を選択して実行する記録装置を構成することもできる。
【００７６】
以下、本発明を選択可能な２つの圧縮処理方法を有する記録装置に適用した場合の例について説明する。なお、本実施形態における記録装置の構成および画像処理部の構成は、上述した実施形態の図１、図２、および図１５と同一である。
【００７７】
図１２は、本実施形態の記録装置における誤差データ圧縮部２０３の動作手順を示すフローチャートである。
【００７８】
誤差データ圧縮部２０３は、ステップＳ１２０１において、量子化処理部２０２から受け取った誤差データについて、その符号部と、数値部の上位７ビットのそれぞれと、が一致するか否かを判定する。符号部と、数値部の上位７ビットのそれぞれと、が一致する場合にはステップＳ１２０３へ進み、それらが一致しない場合にはステップＳ１２０２へ進む。
【００７９】
誤符号部と、数値部の上位７ビットのそれぞれと、が一致しないと判定された場合、誤差データ圧縮部２０３は、ステップＳ１２０２において、符号部と、数値部の上位４ビットのそれぞれと、が一致するか否かを判定する。符号部と、数値部の上位４ビットのそれぞれと、が一致する場合にはステップＳ１２０４へ進み、それらが一致しない場合にはステップＳ１２０５へ進む。ステップＳ１２０１およびステップＳ１２０２において符号部と比較する数値部の上位ビットの数は、それぞれレジスタ部２０５の図示しないレジスタに設定する。
【００８０】
ステップＳ１２０１において、符号部と、数値部の上位７ビットのそれぞれと、が一致すると判定された場合、誤差データ圧縮部２０３は、ステップＳ１２０３において、誤差データを６ビットのデータに圧縮する。すなわち、後述するように、符号部と、数値部の下位３ビットと、を組み合わせた４ビットのデータに、識別子「１０」（２ビット）を連接する。それから、ステップＳ１２０６へ進む。
【００８１】
また、ステップＳ１２０２において、符号部と、数値部の上位４ビットのそれぞれと、が一致すると判定された場合、誤差データ圧縮部２０３は、ステップＳ１２０４において、誤差データを８ビットのデータに圧縮する。すなわち、後述するように、符号部と、数値部の下位６ットと、を組み合わせた７ビットのデータに、識別子「０」（１ビット）を連接する。それから、ステップＳ１２０６へ進む。一方、ステップＳ１２０２において、符号部と、数値部の上位４ビットのそれぞれと、が一致しないと判定された場合、誤差データ圧縮部２０３の処理はステップＳ１２０５に進む。そして、そのステップＳ１２０５において、符号部と１０ビットの数値部とから成る元々の誤差データに、識別子「１１」（２ビット）を連接してから、ステップＳ１２０６へ進む。
【００８２】
誤差データ圧縮部２０３は、ステップＳ１２０６において、Ｃ、Ｍ、Ｙ、Ｋ、ＬＣ、およびＬＭの全ての色要素毎に対応する画素について、誤差データの圧縮処理が終了したか否かを判定する。その圧縮処理が未処理の画素が残っている場合にはステップＳ１２０１へ戻り、全ての色要素毎に対応する画素についての圧縮処理が終了した場合にはステップＳ１２０７へ進む。誤差データ圧縮部２０３は、ステップＳ１２０７において、圧縮処理した全ての色要素毎に対応する画素の誤差データを連接して、その一連のデータを誤差データライトＤＭＡＣ２０９を介してＲＡＭ部１１５に格納してから、本処理動作を終了する。
【００８３】
図１２のフローチャートにしたがった圧縮処理を行うことにより、誤差データの圧縮が可能となる。例えば、図１３（ａ）に示す誤差データ、つまり符号部が「０」である正の誤差データであって、数値部の上位７ビットが「０００００００」である誤差データは、図１３（ｂ）に示すような６ビットのデータに変換される。その６ビットのデータは、符号部「０」と、数値部の下位３ビットと、を組み合わせた４ビットのデータに、識別子「１０」（２ビット）を付加（付与）したデータである。同様に、図１４（ａ）に示すような誤差データ、つまり符号部が「１」である負の誤差データであって、数値部の上位７ビットが「１１１１１１１」である誤差データは、図１４（ｂ）に示すような６ビットのデータに変換される。その６ビットのデータは、符号部「１」と、数値部の下位３ビットと、を組み合わせた４ビットのデータに、識別子「１０」（２ビット）を付加したデータである。
【００８４】
また、図１３（ｃ）に示すような誤差データ、つまり符号部が「０」であって、数値部の上位４ビットが「００００」である誤差データは、図１３（ｄ）に示すような８ビットのデータに変換される。その８ビットのデータは、符号部と、数値部の下位６ビットと、を組み合わせた７ビットのデータに、識別子「０」（１ビット）を付加したデータである。同様に、図１４（ｃ）に示すような誤差データ、つまり符号部が「１」であって、数値部の上位４ビットが「１１１１」である誤差データは、図１４（ｄ）に示すような８ビットのデータに変換される。その８ビットのデータは、符号部と、数値部の下位６ビットと、を組み合わせた７ビットのデータに、識別子「０」（１ビット）を付加したデータである。
【００８５】
一方、符号部と、数値部の上位４ビットのそれぞれと、が一致しない場合には、図１３（ｅ）および図１４（ｅ）に示すように、元の１１ビットの誤差データに、識別子「１１」（２ビット）が連接されて、１３ビットのデータに変換される。
【００８６】
したがって、誤差データの絶対値が８よりも小さい場合、つまり数値部の下位３ビットによって表現可能な最大絶対値の７（基準値）以下の場合には、１１ビットで表現される元の誤差データが６ビットのデータに圧縮される。また、誤差データの絶対値が８以上で６４よりも小さいときには、誤差データが８ビットのデータに圧縮される。すなわち、数値部の下位３ビットによって表現可能な最大絶対値の７を越えて、数値部の下位６ビットによって表現可能な最大絶対値の６３（基準値）以下の場合には、誤差データが８ビットのデータに圧縮される。このように、誤差データの絶対値に応じて誤差データを圧縮することにより、ＲＡＭ部１１５へのアクセス回数の低減が可能となる。
【００８７】
本例においては、図１２のフローチャートにしたがった処理をハードウエア記述言語によって記述して論理合成を行うことにより、誤差データの圧縮処理および伸長処理の実行が可能な論理回路を生成して、画像処理部を構成する。この場合、それぞれの色要素毎に対応する画素に対しての処理を同時に行なわせるために、同期回路を生成することが可能である。また、図１２のフローチャートを、状態機械を構成して記述し、それぞれの色要素毎の画素に対しての処理を順次行なわせるための回路を生成することも可能である。
【００８８】
（他の実施形態）
上述の実施形態においては、画像データを量子化処理によって２値化する場合について説明した。しかし、本発明はこれに限定されるものではなく、誤差拡散方式によって、画像データを３以上の階調数に量子化する多値誤差拡散方式を採用した記録装置を構成できることはいうまでもない。この場合、多値誤差拡散方式による量子化と濃度パターン法とを組み合わせることによって、２値の画像データを生成することができる。
【００８９】
また、上述の実施形態においては、１種類の圧縮方法または２種類の圧縮方法を有する場合について説明した。しかし、本発明はこれに限定されるものではなく、３以上の圧縮方法を有し、誤差データの絶対値に応じて圧縮方法を選択する記録装置が構成できることはいうまでもない。この場合には、符号部と数値部とを比較するステップを３段階以上備え、それぞれの比較ステップと圧縮方法とを対応付けることにより、３以上の圧縮方法の中から、誤差データの絶対値に応じた圧縮方法を選択して実施することが可能になる。
【００９０】
また、上述の実施形態においては、負の誤差データを２の補数によって表現する場合について説明した。しかし、本発明はこれに限定されるものではなく、誤差データを、符号と絶対値との組み合わせによって表現する記録装置が構成できることはいうまでもない。この場合、誤差データの数値部における上位の所定数のビットが全て「０」であるか否かを判定することにより、誤差データの圧縮方法を選択することが可能となる。つまり、誤差データの誤差値を実質的に表現する下位のビットを残して、他の上位のビットを除くことによって、誤差データを圧縮することができる。
【００９１】
また、上述の実施形態においては、識別子が固定値である場合について説明した。しかし、本発明はこれに限定されるものではなく、他の識別子を用いる記録装置、または任意の識別子を設定可能な記録装置が構成できることはいうまでもない。この場合には、識別子を内部バッファやレジスタに設定して、誤差データの特性に合わせた識別子を使用することが可能である。
【００９２】
本発明は、誤差データによって表現される誤差値が基準値以下のときに、その誤差データから、基準値を超えた誤差値の表現が可能なデータ部分の少なくとも一部を除くことによって、誤差データを圧縮誤差データに変換する変換処理ができればよい。その圧縮誤差データに、変換処理によって除かれたデータ部分を加えることによって、誤差データを復元することができる。また、その基準値を複数設定し、その複数の基準値の中から、誤差値以上であって、かつ誤差値に最も近い基準値を選択して用いることにより、誤差データを圧縮誤差データに変換することができる。
【００９３】
また、上述の実施形態においては、ＣＰＵおよび各回路ブロックが１つのパッケージに封止されたシステムＬＳＩとして構成される場合について説明した。しかし、本発明はこれに限定されるものではなく、一部の回路ブロックまたは全部の回路ブロックをそれぞれ個別のＩＣ等によって構成することができる。
【００９４】
また、上述の実施形態においては、ハードウエア記述言語により記述した内容を論理合成して論理回路を生成、その論理回路によって量子化処理を行う場合について説明したが、本発明はこれに限定されるものではない。上述した実施形態の機能を実現するソフトウエアのプログラムを記憶した記憶媒体を装置に供給し、その装置やコンピュータのＣＰＵが、記憶媒体に格納されたプログラムのプログラムコードを読み出してもよい。そのＣＰＵが読み出したプログラムを実行することによって、量子化処理を行う場合も本発明に含まれる。この場合には、記憶媒体から読み出されたプログラム自体が上述した実施形態の機能を実現することになり、そのプログラムを記憶した記憶媒体は本発明を構成することになる。プログラムを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭを用いることができる。また、コンピュータが読み出したプログラムの指示に基づき、コンピュータ上にて稼動しているＯＳなどが実際の処理の一部または全部を行い、その処理によって上述した実施形態の機能が実現される場合も本発明に含まれる。
【００９５】
（その他）
本発明は、各画素の諧調を表現する画像データを量子化処理するための方式として、注目画素の誤差データをその注目画素の周辺の周辺画素に分散させる誤差拡散方式を用いる画像処理装置、および画像処理方法としても適用可能である。その画像処理装置は、前述した実施形態のように記録装置１００に一体的に組み込まれる他、ホスト装置３００において構成することができる。
【００９６】
また本発明は、画像データによって表現可能な各画素の諧調数を減らすように、誤差拡散方式によって画像データを量子化処理することができればよい。したがって、量子化処理前の画像データの階調数は３以上であればよく、また量子化処理後の画像データの階調数は、量子化処理前の画像データの階調数よりも小さくて２以上であればよい。
【００９７】
また本発明は、量子化処理した画像データに基づいて画像を記録するための記録方式について、限定するものではない。したがって、その記録方式は、前述したインクジェット記録方式以外の記録方式であってもよく、また、その記録方式を実現する記録装置の構成も限定されない。
【図面の簡単な説明】
【００９８】
【図１】本発明の第１の実施形態における記録装置のブロック構成図である。
【図２】図１における画像処理部のブロック構成図である。
【図３】（ａ）、（ｂ）、（ｃ）は、図１の記録装置において扱う拡散誤差データの形式の説明図である。
【図４】図１の記録装置における量子化処理のための拡散係数の説明図である。
【図５】（ａ）、（ｂ）、（ｃ）は、図１の記録装置における隣接ラインへの拡散誤差の合算方法を説明するための図である。
【図６】図１の記録装置における量子化処理を含む画像処理を説明するためのフローチャートである。
【図７】図６の量子化処理を説明するためのフローチャートである。
【図８】図６の量子化処理における誤差データの圧縮処理を説明するためのフローチャートである。
【図９】（ａ）、（ｂ）、（ｃ）は、符号部が正であって、図８の誤差データの圧縮処理によって変換される誤差データの説明図である。
【図１０】（ａ）、（ｂ）、（ｃ）は、符号部が負であって、図８の誤差データの圧縮処理によって変換される誤差データの説明図である。
【図１１】図１の記録装置における誤差データの復元処理を説明するためのフローチャートである。
【図１２】本発明の第２の実施形態における誤差データの圧縮処理を説明するためのフローチャートである。
【図１３】（ａ）、（ｂ）、（ｃ）、（ｄ）、（ｅ）は、符号部が正であって、図１２の誤差データの圧縮処理によって変換される誤差データの説明図である。
【図１４】（ａ）、（ｂ）、（ｃ）、（ｄ）、（ｅ）は、符号部が負であって、図１２の誤差データの圧縮処理によって変換される誤差データの説明図である。
【図１５】本発明を適用可能な記録装置の概略斜視図である。
【図１６】誤差拡散方式の量子化処理において拡散される誤差データの説明図である。
【符号の説明】
【００９９】
１００    記録装置
１０１    画像形成コントロール装置
１０２    ＣＰＵ
１０３    画像処理部
１１１    画像形成コントローラＡＳＩＣ
１１５    ＲＡＭ部
１１７    ＲＯＭ部
１１８    プリンタエンジン
２０１    色変換処理部
２０２    量子化処理部
２０３    誤差データ圧縮部
２０４    誤差データ伸長部
２０５    レジスタ部
３００    ホスト装置
【図１】
2008147883.tif 000003
【図２】
2008147883.tif 000004
【図３】
2008147883.tif 000005
【図４】
2008147883.tif 000006
【図５】
2008147883.tif 000007
【図６】
2008147883.tif 000008
【図７】
2008147883.tif 000009
【図８】
2008147883.tif 000010
【図９】
2008147883.tif 000011
【図１０】
2008147883.tif 000012
【図１１】
2008147883.tif 000013
【図１２】
2008147883.tif 000014
【図１３】
2008147883.tif 000015
【図１４】
2008147883.tif 000016
【図１５】
2008147883.tif 000017
【図１６】
2008147883.tif 000018