(57)【要約】【課題】  煩雑なタイミング制御を行う必要がなく、簡易な構成で複数の画素列を誤差拡散方式により同時に量子化処理することができる画像処理装置を提供する。【解決手段】  画素列の一方端から順次他方端に向かって各画素を量子化処理する際に発生する量子化誤差を、量子化処理を行う注目画素が含まれる処理画素列の未処理画素および処理画素列に隣接し未処理画素を含む画素列の注目画素よりも前記他方端側に位置する画素に拡散する第一の誤差拡散手段と、前記量子化誤差を、注目画素が含まれる処理画素列の未処理画素および処理画素列に隣接し未処理画素を含む画素列の少なくとも注目画素よりも前記一方端側の画素に拡散する第二の誤差拡散手段と、画素列ごとに前記第一の誤差拡散手段および前記第二の誤差拡散手段のうちからいずれか一方の誤差拡散手段を選択して量子化する制御を行う誤差拡散選択制御手段とを備える。【選択図】  図４
2010011304.tif 000002
【特許請求の範囲】
【請求項１】
第一の方向に沿う画素列が第一の方向と直行する第二の方向に複数配列されて構成され、各画素が３以上の階調数によって階調化表現された画像データを誤差拡散方式により二値画像データに量子化処理を行う画像処理装置において、
画素列の一方端から順次他方端に向かって各画素を量子化処理する際に発生する量子化誤差を、量子化処理を行う注目画素が含まれる処理画素列の未処理画素および処理画素列に隣接し未処理画素を含む画素列の注目画素よりも前記他方端側に位置する画素に拡散する第一の誤差拡散手段と、
前記量子化誤差を、注目画素が含まれる処理画素列の未処理画素および処理画素列に隣接し未処理画素を含む画素列の少なくとも注目画素よりも前記一方端側の画素に拡散する第二の誤差拡散手段と、
画素列ごとに前記第一の誤差拡散手段および前記第二の誤差拡散手段のうちからいずれか一方の誤差拡散手段を選択して量子化する制御を行う誤差拡散選択制御手段とを備えたことを特徴とする画像処理装置。
【請求項２】
前記誤差拡散選択制御手段により前記第一の誤差拡散手段を選択した第一の画素列から前記第一の誤差拡散手段により量子化誤差が拡散される第二の画素列に前記誤差拡散選択制御手段により前記第二の誤差拡散手段を選択して量子化することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記一方端から互いに等距離にある前記第一の画素列の画素および前記第二の画素列の画素を同時に量子化処理することを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記第一の画素列の一画素を量子化処理した後、該画素の第一の方向に沿う隣接画素を量子化処理する以前に、該画素と前記一方端から互いに等距離にある前記第二の画素列の画素を量子化処理することを特徴とする請求項２に記載の画像処理装置。
【請求項５】
前記第二の画素列の一画素を量子化処理した後、該画素の第一の方向に沿う隣接画素を量子化処理する以前に、該画素と前記一方端から互いに等距離にある前記第一の画素列の画素を量子化処理することを特徴とする請求項２に記載の画像処理装置。
【請求項６】
前記第二の誤差拡散手段により隣接画素列に拡散される拡散誤差を記憶する記憶手段を備えたことを特徴とする請求項１〜請求項５のいずれかに記載の画像処理装置。
【請求項７】
前記記憶手段に記憶された拡散誤差を所定の画素に加算して補正処理を行う補正手段を備えたことを特徴とする請求項６に記載の画像処理装置。
【請求項８】
前記補正手段により拡散誤差を加算される画素が含まれる画素列に対して前記誤差拡散選択制御手段により前記第一の誤差拡散手段を選択することを特徴とする請求項７に記載の画像処理装置。
【請求項９】
前記画像データを構成する前記第二の方向に相隣接する複数の画素列のうちから前記複数の画素列の最も後端の画素列を除いた全ての画素列に対して前記誤差拡散選択制御手段により前記第一の誤差拡散手段を選択し、前記複数の画素列の最も後端の画素列に対して前記誤差拡散選択制御手段により前記第二の誤差拡散手段を選択して量子化することを特徴とする請求項１に記載の画像処理装置。
【請求項１０】
前記相隣接する複数の画素列において前記一方端から互いに等距離にある画素の全てを同時に量子化処理することを特徴とする請求項９に記載の画像処理装置。
【請求項１１】
前記相隣接する複数の画素列において前記一方端から互いに等距離にある画素の全てを量子化した後、前記第一の方向に相隣接する画素の量子化処理を行うことを特徴とする請求項９に記載の画像処理装置。
【請求項１２】
第一の方向に沿う画素列が第一の方向と直行する第二の方向に複数配列されて構成され、各画素が３以上の第一の階調数によって階調化表現された画像データを誤差拡散方式により第一の階調数よりも小さく２以上の第二の階調数によって階調化表現された画像データに量子化処理を行う画像処理装置において、
画素列の一方端から順次他方端に向かって各画素を量子化処理する際に発生する量子化誤差を、量子化処理を行う注目画素が含まれる処理画素列の未処理画素および処理画素列に隣接し未処理画素を含む画素列の注目画素よりも前記他方端側に位置する画素に拡散する第一の誤差拡散手段と、
前記量子化誤差を、注目画素が含まれる処理画素列の未処理画素および処理画素列に隣接し未処理画素を含む画素列の少なくとも注目画素よりも前記一方端側の画素に拡散する第二の誤差拡散手段と、
画素列ごとに前記第一の誤差拡散手段および前記第二の誤差拡散手段のうちからいずれか一方の誤差拡散手段を選択して量子化する制御を行う誤差拡散選択制御手段とを備え、
前記誤差拡散選択制御手段により前記第一の誤差拡散手段を選択した第一の画素列から前記第一の誤差拡散手段により量子化誤差が拡散される第二の画素列に前記誤差拡散選択制御手段により前記第二の誤差拡散手段を選択して量子化することを特徴とする画像処理装置。
【請求項１３】
前記一方端から互いに等距離にある前記第一の画素列の画素および前記第二の画素列の画素を同時に量子化処理することを特徴とする請求項１２に記載の画像処理装置。
【請求項１４】
前記第一の画素列の一画素を量子化処理した後、相続けて該画素と前記一方端から互いに等距離にある前記第二の画素列の画素を量子化処理することを特徴とする請求項１２に記載の画像処理装置。
【請求項１５】
第一の方向に沿う画素列が第一の方向と直行する第二の方向に複数配列されて構成され、各画素が３以上の第一の階調数によって階調化表現された画像データを誤差拡散方式により二値画像データまたは２より大きく前記第一の階調数よりも小さい第二の階調数によって階調化表現された画像データに量子化する処理を行う画像処理方法であって、
画素列の一方端から順次他方端に向かって各画素を量子化処理する際に発生する量子化誤差を、量子化処理を行う注目画素が含まれる処理画素列の未処理画素および処理画素列に隣接し未処理画素を含む画素列の注目画素よりも前記他方端側に位置する画素に拡散する第一の誤差拡散工程と、
前記量子化誤差を、注目画素が含まれる処理画素列の未処理画素および処理画素列に隣接し未処理画素を含む画素列の少なくとも注目画素よりも前記一方端側の画素に拡散する第二の誤差拡散工程と、
画素列ごとに前記第一の誤差拡散工程および前記第二の誤差拡散工程のうちからいずれか一方の誤差拡散工程を選択して量子化する選択工程と、
前記選択工程により前記第一の誤差拡散工程を選択した第一の画素列から前記第一の誤差拡散工程により量子化誤差が拡散される第二の画素列に前記選択工程により前記第二の誤差拡散工程を選択して量子化する制御工程とを実行することを特徴とする画像処理方法。
【請求項１６】
請求項１〜請求項１４のいずれかに記載の画像処理装置の画像処理を実現するための、又は
請求項１５に記載の画像処理方法を実現するための、コンピュータが読み取り可能なプログラムコードを有することを特徴とする画像処理プログラム。
【請求項１７】
請求項１６に記載の画像処理プログラムを記憶したことを特徴とするコンピュータが読み取り可能な形で記憶された記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、誤差メモリへのアクセスを低減して誤差拡散方式による量子化処理を高速に行う画像処理装置、画像処理方法、画像処理プログラム、およびプログラムを記憶した記憶媒体に関する。
【背景技術】
【０００２】
集積回路技術の一層の進展や情報通信技術の急速な発達に伴い、パーソナルコンピュータやデジタルカメラ等の情報機器がオフィス用途及び家庭用途ともに広く普及し、その性能も著しく向上している。また、こうした情報機器の普及によって、出力装置としてのプリンタ装置の需要もますます増大してきている。なかでも複数色のインク液滴によって画像を形成するインクジェットプリンタ装置がさまざまな産業分野で、また家庭用途として利用されている。特に近年は、インクジェットプリンタ技術の高度化が進み、カラー写真のような高精細なカラー画像を出力可能なプリンタ装置や、Ａ０幅やＢ０幅の大型の記録媒体に出力可能なプリンタ装置が開発されている。
【０００３】
インクジェットプリンタ装置は、プリンタヘッドに形成されたノズルと呼ばれる多数の細孔から各色のインクを微小な液滴として吐出する構成になっている。プリンタヘッドを記録媒体に平行な一定方向である主走査方向に往復運動させるとともに、記録媒体を、これを含む平面上で主走査方向と直交する副走査方向に移動させることにより、記録媒体上に画像が形成される。各色のインクはプリンタ装置に装着されたインクタンクに貯留されており、このインクタンクからプリンタヘッドに供給されたインクがノズルから吐出される。
【０００４】
インクジェットプリンタ装置で扱う画像データは、画素ごとに各色のインク滴を吐出するかどうかを表す二値のデータとして表現される。一方、プリンタ装置に印刷を指示するコンピュータ装置等のホスト装置上で扱う画像データは、画素ごとに例えば各色８ビットや１０ビット、すなわち２５６階調や１０２４階調で表現される高階調画像データとして構成される。従って、インクジェットプリンタ装置で印刷を行うためには、高階調画像データを二値画像データに変換する二値化処理、すなわち量子化処理を行う必要がある。
【０００５】
量子化処理を行う方式として誤差拡散方式とディザ方式が広く知られている。誤差拡散方式は、各画素において画素値としきい値を比較して量子化を行うとともに、量子化処理により発生する量子化誤差を未処理の周辺画素に分配する量子化方式である。誤差拡散方式では、量子化処理によっても画像全体の濃度が保存されるため、良好な擬似階調表現が可能である。
【０００６】
インクジェットプリンタ装置において、画像データに誤差拡散方式による量子化処理を施す場合、主走査方向に形成される１ラインに対して一方端の画素から他方端の画素に順次処理を行っていく。１ラインの処理が終了すると副走査方向に隣接するラインに対して同様に量子化処理を行い、画像全体の量子化処理を行う。量子化処理により発生する量子化誤差は、注目画素と同一ライン上の画素や副走査方向に隣接するライン上の画素に拡散することができる。量子化誤差を拡散する画素として、例えば図１４に示すように注目画素Ｐと同一ライン上の未処理画素であるＡ、Ｂ、Ｈ、およびＩの各画素や、隣接ライン上のＣ、Ｄ、Ｅ、Ｆ、およびＧの各画素の全部または一部を選択できる。このとき、同一ライン上の画素に対して拡散する誤差データは、それぞれの誤差が処理されるまでのあいだ誤差拡散回路内のバッファに一時的に保存される。また、隣接ライン上の画素に対して拡散する誤差データは、１ライン分まとめて誤差メモリに格納され、当該ラインの量子化処理時にそれぞれの画素の処理に合わせて誤差メモリから読み出される。
【０００７】
ところで、印刷画像の高精細化や出力用紙サイズの大型化により、プリンタ装置が扱う画像データのサイズは従前に比べ増大してきている。また、プリンタエンジンの高機能化やプリンタヘッドの大型化により、従来よりも高速な印刷処理が実現されるようになっている。従って、大容量の印刷データをより高速に処理することが求められており、特に誤差拡散方式による量子化処理の高速化が必要になっている。
【０００８】
そこで、特許文献１においては、画素列ごとに注目画素位置をずらしながら複数の画素列に対して誤差拡散法による多値化処理を行うことで、高速に多値化処理を実現する画像処理装置が開示されている。
【０００９】
また、特許文献２においては、量子化方式として誤差拡散方式とディザ方式を選択的に切り替えられる構成とし、メモリ残量に応じて適切な量子化方式を適用できる画像処理装置が開示されている。
【特許文献１】特開２００５−１４３１４０号公報
【特許文献２】特開２０００−１９６８８３号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかしながら、上述した従来例の画像処理装置では、注目画素位置をずらしながら複数の画素列に対して多値化処理を行うものにあっては、画素列間で複雑な座標計算や煩雑なタイミング制御を行う必要があるといった問題があった。
【００１１】
また、ディザ方式によって量子化処理する場合は、誤差拡散方式に比べて処理が単純であるので高速な処理が可能であるが、誤差拡散方式に比べて画像品位が低下するという問題があった。
【００１２】
そこで、本発明は上記従来例の問題点に鑑みてなされたもので、煩雑なタイミング制御を行う必要がなく、簡易な構成で複数の画素列を誤差拡散方式により同時に量子化処理することができる画像処理装置を提供することを目的とする。
【課題を解決するための手段】
【００１３】
上記目的を達成するために、請求項１に記載の画像処理装置では、第一の方向に沿う画素列が第一の方向と直行する第二の方向に複数配列されて構成され、各画素が３以上の階調数によって階調化表現された画像データを誤差拡散方式により二値画像データに量子化する処理を行う画像処理装置において、画素列の一方端から順次他方端に向かって各画素を量子化処理する際に発生する量子化誤差を、量子化処理を行う注目画素が含まれる処理画素列の未処理画素および処理画素列に隣接し未処理画素を含む画素列の注目画素よりも前記他方端側に位置する画素に拡散する第一の誤差拡散手段と、前記量子化誤差を、注目画素が含まれる処理画素列の未処理画素および処理画素列に隣接し未処理画素を含む画素列の少なくとも注目画素よりも前記一方端側の画素に拡散する第二の誤差拡散手段と、画素列ごとに前記第一の誤差拡散手段および前記第二の誤差拡散手段のうちからいずれか一方の誤差拡散手段を選択して量子化する制御を行う誤差拡散選択制御手段とを備えたことを特徴とする。
【００１４】
また、上記目的を達成するために、請求項２に記載の画像処理装置では、請求項１に記載の画像処理装置において、前記誤差拡散選択制御手段により前記第一の誤差拡散手段を選択した第一の画素列から前記第一の誤差拡散手段により量子化誤差が拡散される第二の画素列に前記誤差拡散選択制御手段により前記第二の誤差拡散手段を選択して量子化することを特徴とする。
【００１５】
また、上記目的を達成するために、請求項３に記載の画像処理装置では、請求項２に記載の画像処理装置において、前記一方端から互いに等距離にある前記第一の画素列の画素および前記第二の画素列の画素を同時に量子化処理することを特徴とする。
【００１６】
また、上記目的を達成するために、請求項４に記載の画像処理装置では、請求項２に記載の画像処理装置において、前記第一の画素列の一画素を量子化処理した後、該画素の第一の方向に沿う隣接画素を量子化処理する以前に、該画素と前記一方端から互いに等距離にある前記第二の画素列の画素を量子化処理することを特徴とする。
【００１７】
また、上記目的を達成するために、請求項５に記載の画像処理装置では、請求項２に記載の画像処理装置において、前記第二の画素列の一画素を量子化処理した後、該画素の第一の方向に沿う隣接画素を量子化処理する以前に、該画素と前記一方端から互いに等距離にある前記第一の画素列の画素を量子化処理することを特徴とする。
【００１８】
また、上記目的を達成するために、請求項６に記載の画像処理装置では、請求項１乃至請求項５のいずれかに記載の画像処理装置において、前記第二の誤差拡散手段により隣接画素列に拡散される拡散誤差を記憶する記憶手段を備えたことを特徴とする。
【００１９】
また、上記目的を達成するために、請求項７に記載の画像処理装置では、請求項６に記載の画像処理装置において、前記記憶手段に記憶された拡散誤差を所定の画素に加算して補正処理を行う補正手段を備えたことを特徴とする。
【００２０】
また、上記目的を達成するために、請求項８に記載の画像処理装置では、請求項７に記載の画像処理装置において、前記補正手段により拡散誤差を加算される画素が含まれる画素列に対して前記誤差拡散選択制御手段により前記第一の誤差拡散手段を選択することを特徴とする。
【００２１】
また、上記目的を達成するために、請求項９に記載の画像処理装置では、請求項１に記載の画像処理装置において、前記画像データを構成する前記第二の方向に相隣接する複数の画素列のうちから前記複数の画素列の最も後端の画素列を除いた全ての画素列に対して前記誤差拡散選択制御手段により前記第一の誤差拡散手段を選択し、前記複数の画素列の最も後端の画素列に対して前記誤差拡散選択制御手段により前記第二の誤差拡散手段を選択して量子化することを特徴とする。
【００２２】
また、上記目的を達成するために、請求項１０に記載の画像処理装置では、請求項９に記載の画像処理装置において、前記相隣接する複数の画素列において前記一方端から互いに等距離にある画素の全てを同時に量子化処理することを特徴とする。
【００２３】
また、上記目的を達成するために、請求項１１に記載の画像処理装置では、請求項９に記載の画像処理装置において、前記相隣接する複数の画素列において前記一方端から互いに等距離にある画素の全てを量子化した後、前記第一の方向に相隣接する画素の量子化処理を行うことを特徴とする。
【００２４】
また、上記目的を達成するために、請求項１２に記載の画像処理装置では、第一の方向に沿う画素列が第一の方向と直行する第二の方向に複数配列されて構成され、各画素が３以上の第一の階調数によって階調化表現された画像データを誤差拡散方式により第一の階調数よりも小さく２以上の第二の階調数によって階調化表現された画像データに量子化する処理を行う画像処理装置において、画素列の一方端から順次他方端に向かって各画素を量子化処理する際に発生する量子化誤差を、量子化処理を行う注目画素が含まれる処理画素列の未処理画素および処理画素列に隣接し未処理画素を含む画素列の注目画素よりも前記他方端側に位置する画素に拡散する第一の誤差拡散手段と、前記量子化誤差を、注目画素が含まれる処理画素列の未処理画素および処理画素列に隣接し未処理画素を含む画素列の少なくとも注目画素よりも前記一方端側の画素に拡散する第二の誤差拡散手段と、画素列ごとに前記第一の誤差拡散手段および前記第二の誤差拡散手段のうちからいずれか一方の誤差拡散手段を選択して量子化する制御を行う誤差拡散選択制御手段とを備え、前記誤差拡散選択制御手段により前記第一の誤差拡散手段を選択した第一の画素列から前記第一の誤差拡散手段により量子化誤差が拡散される第二の画素列に前記誤差拡散選択制御手段により前記第二の誤差拡散手段を選択して量子化することを特徴とする。
【００２５】
また、上記目的を達成するために、請求項１３に記載の画像処理装置では、請求項１２に記載の画像処理装置において、前記一方端から互いに等距離にある前記第一の画素列の画素および前記第二の画素列の画素を同時に量子化処理することを特徴とする。
【００２６】
また、上記目的を達成するために、請求項１４に記載の画像処理装置では、請求項１２に記載の画像処理装置において、前記第一の画素列の一画素を量子化処理した後、相続けて該画素と前記一方端から互いに等距離にある前記第二の画素列の画素を量子化処理することを特徴とする。
【００２７】
また、上記目的を達成するために、請求項１５記載の画像処理方法では、第一の方向に沿う画素列が第一の方向と直行する第二の方向に複数配列されて構成され、各画素が３以上の第一の階調数によって階調化表現された画像データを誤差拡散方式により二値画像データまたは２より大きく前記第一の階調数よりも小さい第二の階調数によって階調化表現された画像データに量子化する処理を行う画像処理方法であって、画素列の一方端から順次他方端に向かって各画素を量子化処理する際に発生する量子化誤差を、量子化処理を行う注目画素が含まれる処理画素列の未処理画素および処理画素列に隣接し未処理画素を含む画素列の注目画素よりも前記他方端側に位置する画素に拡散する第一の誤差拡散工程と、前記量子化誤差を、注目画素が含まれる処理画素列の未処理画素および処理画素列に隣接し未処理画素を含む画素列の少なくとも注目画素よりも前記一方端側の画素に拡散する第二の誤差拡散工程と、画素列ごとに前記第一の誤差拡散工程および前記第二の誤差拡散工程のうちからいずれか一方の誤差拡散工程を選択して量子化する選択工程と、前記選択工程により前記第一の誤差拡散工程を選択した第一の画素列から前記第一の誤差拡散工程により量子化誤差が拡散される第二の画素列に前記選択工程により前記第二の誤差拡散工程を選択して量子化する制御工程とを実行することを特徴とする。
【００２８】
また、上記目的を達成するために、請求項１６に記載の画像処理プログラムでは、請求項１〜請求項１４のいずれかに記載の画像処理装置の画像処理を実現するための、又は請求項１５に記載の画像処理方法を実現するためのコンピュータが読み取り可能なプログラムコードを有することを特徴とする。
【００２９】
また、上記目的を達成するために、請求項１７記載の記憶媒体では、請求項１６記載の画像処理プログラムをコンピュータが読み取り可能な形で記憶したことを特徴とする。
【発明の効果】
【００３０】
本発明によれば、画像データの複数のラインを同時に処理することで誤差メモリへの拡散誤差の格納、および誤差メモリからの拡散誤差の読み出しを低減することが可能になる。従って、画像品位の低下を招くことなく誤差メモリへのアクセスを減少することで処理の高速化が可能になるという効果を奏する。
【発明を実施するための最良の形態】
【００３１】
次に、本発明の詳細を実施例の記述に従って説明する。
【００３２】
以下、本発明をプリンタ装置に適用した場合の好適な実施の形態について図面を参照して説明する。
【実施例１】
【００３３】
図１は、本実施の形態に係る実施例１の画像処理装置（プリンタ装置）の構成を示すブロック図である。図中の符号１００はプリンタ装置であり、画像形成コントローラ装置１０１とプリンタエンジン１１８で概略構成される。
【００３４】
画像形成コントローラ装置１０１は、パーソナルコンピュータ等のホスト装置から印刷指示および印刷用の画像データを受信し、受信した画像データをプリンタエンジン１１８で印刷可能な構成の二値画像データに変換して出力する機能を提供する。画像形成コントローラ装置１０１は、ＣＰＵ１０２、画像処理部１０３、プリンタエンジンインターフェース部１０４、通信インターフェース部１０５、拡張バス回路部１０６、ＲＡＭコントローラ１０７、およびＲＯＭコントローラ１０８を備えている。さらに、これらの各ブロックはそれぞれバスライン１１０ａ〜１１０ｇを介してシステムバスブリッジ１０９に接続されている。本実施の形態では、これらのブロックはシステムＬＳＩとして一つのパッケージに封止された画像形成コントローラＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）１１１として実現されている。
【００３５】
また、画像形成コントローラ装置１０１は、機能拡張ユニットを装着する拡張スロット１１２、ＲＡＭ部１１５、およびＲＯＭ部１１７を備えるほか、図示しない操作部や表示部、電源回路部等から構成される。
【００３６】
ＣＰＵ１０２は、画像形成コントローラ装置１０１全体の制御を司るものである。ＣＰＵ１０２は、ＲＯＭ部１１７またはＲＡＭ部１１５に格納された制御手順を順次読み出し実行することによって、ホスト装置から受信した画像データを二値画像データである画像形成データに変換するための画像処理部１０３の制御を行う。またＣＰＵ１０２は、ホスト装置と通信するための通信インターフェース部１０５の制御や通信プロトコルの解釈、画像処理部１０３で生成された画像形成データをプリンタエンジン１１８へ転送するためのプリンタエンジンインターフェース部１０４の制御等を行う。
【００３７】
画像処理部１０３は、ホスト装置から受信した画像データをプリンタエンジン１１８で印刷可能な二値画像データに変換する機能を備えている。なお、画像処理部１０３の詳細な構成については図を参照して後述する。
【００３８】
プリンタエンジンインターフェース部１０４は、画像形成コントローラ装置１０１とプリンタエンジン１１８との間でデータの送受信を行うブロックである。プリンタエンジンインターフェース部１０４は、ＤＭＡＣ（Ｄｙｎａｍｉｃ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌｌｅｒ；ダイナミックメモリアクセスコントローラ）を有し、画像処理部１０３で生成されＲＡＭ部１１５に格納されている二値画像データを、ＲＡＭコントローラ１０７を介して順次読み出してプリンタエンジン１１８に転送する機能を備えている。
【００３９】
通信インターフェース部１０５は、パーソナルコンピュータやワークステーション等のホスト装置との間でデータの送受信を行う機能を備え、ホスト装置から受信した画像データを、ＲＡＭコントローラ１０７を介してＲＡＭ部１１５に格納する機能を備えている。通信インターフェース部１０５の通信方式としては、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）やＩＥＥＥ１３９４などの高速シリアル通信、ＩＥＥＥ１２８４などのパラレル通信、あるいは１００ＢＡＳＥ−ＴＸ等のネットワーク通信などいずれの方式であってもよい。またこれらの複数の通信方式を有していてもよい。さらには、有線による通信方式に限らず、無線による通信方式であっても本発明を構成する。
【００４０】
拡張バス回路部１０６は、拡張スロット１１２に装着した機能拡張ユニットを制御する機能を備え、拡張バス１１３を介して機能拡張ユニットにデータを送信する制御および機能拡張ユニットが出力するデータを受信する制御を行う。拡張スロット１１２には、ＵＳＢやＩＥＥＥ１３９４、ＩＥＥＥ１２８４、あるいはネットワーク通信などホスト装置との通信機能を提供する通信ユニットや、大容量記憶機能を提供するハードディスクドライブユニットなどが装着可能である。
【００４１】
なお、画像処理部１０３、通信インターフェース部１０５、および拡張バス回路部１０６は、プリンタエンジンインターフェース部１０４と同様にＤＭＡＣを有し、メモリアクセス要求を発行する機能を備えている。
【００４２】
ＲＡＭコントローラ１０７は、ＲＡＭバス１１４を介して画像形成コントローラＡＳＩＣ１１１に接続されたＲＡＭ部１１５の制御を行う機能を備えている。ＲＡＭコントローラ１０７はＣＰＵ１０２およびＤＭＡＣを有する各ブロックとＲＡＭ部１１５との間で、書き込みまたは読み出しされるデータの中継を行う。ＲＡＭコントローラ１０７は、ＣＰＵ１０２および各ブロックからの読み出し要求や書き込み要求に応じて必要な制御信号を生成してＲＡＭ部１１５への書き込みやＲＡＭ部１１５からの読み出しを実現する。
【００４３】
ＲＯＭコントローラ１０８は、ＲＯＭバス１１６を介して画像形成コントローラＡＳＩＣ１１１に接続されたＲＯＭ部１１７の制御を行う機能を備えている。ＲＯＭコントローラ１０８は、ＣＰＵ１０２からの読み出し要求に応じて必要な制御信号を生成して、予めＲＯＭ部１１７に格納された制御手順やデータを読み出し、システムバスブリッジ１０９を介してＣＰＵ１０２に読み出した内容を送り返す。また、ＲＯＭ部１１７がフラッシュメモリ等の電気的に書き換え可能なデバイスで構成される場合、ＲＯＭコントローラ１０８は必要な制御信号を発生してＲＯＭ部１１７の内容を書き換える機能を備えている。
【００４４】
システムバスブリッジ１０９は、画像形成コントローラＡＳＩＣ１１１を構成する各ブロック間を接続する機能を備えるほか、複数のブロックから同時にアクセス要求が発行された場合に、バス権を調停する機能を備えている。ＣＰＵ１０２およびＤＭＡＣを有する各ブロックがＲＡＭコントローラ１０７を介してＲＡＭ部１１５へのアクセス要求をほぼ同時に発行する場合があり、システムバスブリッジ１０９は予め指定されたプライオリティーに従って適切に調停を行うことができる。
【００４５】
ＲＡＭ部１１５は、同期ＤＲＡＭ等で構成され、ＣＰＵ１０２が実行する制御手順の格納、画像処理部１０３において生成された画像形成データの一時的な記憶、およびＣＰＵ１０２のワークメモリなどの機能を提供するメモリブロックである。また、ＲＡＭ部１１５は、通信インターフェース部１０５がホスト装置から受信した画像データの一時的なバッファリングや拡張バス１１３を介して接続された機能拡張ユニットとの間で受け渡しされるデータの一時保存などの機能を提供する。
【００４６】
ＲＯＭ部１１７は、フラッシュメモリ等で構成され、ＣＰＵ１０２が実行する制御手順およびプリンタ制御に必要なパラメータを格納する。フラッシュメモリは電気的に書き換え可能で不揮発性のデバイスであり、決められたシーケンスに従うことにより制御手順やパラメータを書き換えることが可能である。
【００４７】
このほか、各回路ブロックは動作モード等を設定するレジスタを備え、ＣＰＵ１０２は図示しないレジスタアクセスバスを介して各回路ブロックの動作モード等を設定することが可能である。
【００４８】
プリンタエンジン１１８は、画像形成コントローラ装置１０１から送出される二値画像データに基づいて記録媒体上に画像を印刷する印刷機構である。本実施例１では、プリンタエンジン１１８は、インクジェット方式であり、シアン（Ｃ）、マゼンタ（Ｍ）、イエロー（Ｙ）、黒（Ｋ）、ライトシアン（ＬＣ）、およびライトマゼンタ（Ｍ）の６色のインクによって画像を記録するものである。
【００４９】
次に、本実施例１に係るプリンタ装置の画像処理部について、図面を参照して説明する。図２は、画像処理部１０３の機能ブロックの構成および処理される画像データの形式を示す図である。
【００５０】
画像処理部１０３は、色変換処理部２０１、量子化処理部２０２、レジスタ部２０３、画像データリードＤＡＭＣ２０４、画像データライトＤＭＡＣ２０５、誤差データリードＤＭＡＣ２０６、および誤差データライトＤＭＡＣ２０７で概略構成される。
【００５１】
色変換処理部２０１は、ホスト装置から受信した入力画像データの色空間をプリンタエンジン１１８のインク色で表される色空間に変換するブロックである。本実施例１では、ホスト装置上の画像データは、各画素が赤（Ｒ）、緑（Ｇ）、青（Ｂ）のそれぞれ８ビットで表現されている。色変換処理部２０１では、この入力画像データを、プリンタエンジン１１８のインク色であるＣ、Ｍ、Ｙ、Ｋ、ＬＣ、およびＬＭのそれぞれ１０ビットで表現される色空間に変換する機能を備えている。また、色変換処理部２０１では、プリンタエンジン１１８の出力特性に応じたガンマ補正もあわせて行われる。
【００５２】
量子化処理部２０２は、それぞれの色要素について誤差拡散方式による二値化処理を行う機能を備えている。量子化処理部２０２では、周辺画素から拡散される誤差を注目画素に加算し、しきい値と比較することで二値化処理、すなわち量子化処理を行う。このとき発生する量子化誤差は、周辺の未処理の画素へ拡散され、全体として画像データの濃度が保存される。
【００５３】
レジスタ部２０３は、画像処理の開始を指示する画像処理起動レジスタや実行する画像処理の内容およびパラメータを指定するコマンド・パラメータレジスタ等を備えたレジスタ群から構成される。また、レジスタ部２０３は、１ラインの量子化処理を行うか、あるいは２ラインの量子化処理を行うかを設定するレジスタを有している。
【００５４】
画像データリードＤＭＡＣ２０４は、ＲＡＭ部１１５に格納された入力画像データを読み出すためのＤＭＡＣである。また、画像データライトＤＭＡＣ２０５は、入力画像データに対して量子化処理を行って生成された二値画像データをＲＡＭ部１１５に格納するためのＤＭＡＣである。
【００５５】
誤差データリードＤＭＡＣ２０６は、隣接ラインから拡散される誤差データを誤差メモリから読み出すためのＤＭＡＣである。また、誤差データライトＤＭＡＣ２０７は、隣接ラインに拡散する誤差データを誤差メモリに格納するためのＤＭＡＣである。なお、本実施例１では、誤差メモリはＲＡＭ部１１５の一部として構成される。
【００５６】
本実施例１では隣接ラインに拡散する誤差データは、各インク色とも図３（ａ）に示すように正負の符号１ビットを含めて１１ビットで表現され、負数は２の補数により表される。正の誤差データは図３（ｂ）に示すようにＭＳＢが「０」のデータであり、負の誤差データは図３（ｃ）に示すようにＭＳＢが「１」のデータである。
【００５７】
以下、量子化処理部の動作を詳細に説明する。量子化処理部２０２は１ラインまたは２ラインの画像データを量子化する。
【００５８】
量子化処理部２０２が１ラインの画像データを量子化するときは、色変換処理部２０１から出力された注目画素の画像データに、前ラインからの拡散誤差データを読み出して加算する。前ラインからの拡散誤差データはＲＡＭ部１１５に格納されている。また、注目画素には同一ラインの処理済みの画素からも拡散誤差が加算される。同一ラインからの拡散誤差は、量子化処理部２０２内の図示しないバッファに一時的に記憶されている。同一ラインおよび前ラインからの誤差を拡散した後、それぞれの色要素ごとにしきい値と比較して量子化を行い、出力データを画像データライトＤＭＡＣ２０５によってＲＡＭ部１１５に格納する。
【００５９】
量子化処理によって発生する量子化誤差は、図４に示す拡散係数にしたがって、未処理の周辺画素に拡散される。このうち、図４に「Ａ」および「Ｂ」で示す同一ラインへの拡散誤差は量子化処理部２０２内の図示しないバッファに保存する。また、図４に「Ｃ」、「Ｄ」および「Ｅ」で示す隣接ラインへの拡散誤差は量子化処理部２０２内のバッファにいったん記憶され、同一画素へ拡散する拡散誤差をすべて足し合わせる。合算された拡散誤差は、誤差データライトＤＭＡＣ２０５を介してＲＡＭ部１１５に格納される。すなわち、図５において「Ｘ」で示す画素への拡散誤差は、次の三つの拡散誤差を合算したものとなる。三つの拡散誤差とは、図５（ａ）の「Ｒ」で示す画素から図４の拡散係数「Ｅ」の画素への拡散誤差、図５（ｂ）の「Ｓ」で示す画素から拡散係数「Ｄ」の画素への拡散誤差、および図５（ｃ）の「Ｔ」で示す画素から拡散係数「Ｃ」の画素への拡散誤差である。
【００６０】
量子化処理部２０２が２ラインの画像データを並行的に量子化するときは、量子化処理部２０２には２ラインの注目画素の画像データが色変換処理部２０１から入力される。まず先頭ラインに近いラインの注目画素に、前ラインからの拡散誤差データをＲＡＭ部１１５から読み出して加算する。また、注目画素には同一ラインの処理済みの画素からも拡散誤差が加算される。同一ラインからの拡散誤差は、量子化処理部２０２内の図示しないバッファに一時的に記憶されている。同一ラインおよび前ラインからの誤差を拡散した後、それぞれの色要素ごとにしきい値と比較して量子化を行い、出力データを画像データライトＤＭＡＣ２０５によってＲＡＭ部１１５に格納する。
【００６１】
量子化処理によって発生する量子化誤差は、図６（ａ）に示す拡散係数に従って、未処理の周辺画素に拡散される。同一ラインへの誤差の拡散は１ライン処理のときと同様である。隣接ラインへの誤差の拡散は、図６（ａ）に「Ｅ」および「Ｆ」で示す画素に行う。すなわち、隣接ラインに対しては、注目画素位置よりも処理前方側に誤差を拡散する。この隣接ラインへの拡散誤差は量子化処理部２０２内のバッファに記憶される。
【００６２】
２ラインの注目画素のうち先頭ラインから遠いラインの画素には、まず量子化処理部２０２内のバッファに格納された前ラインからの誤差を拡散する。また、同一ラインの処理済みの画素からも拡散誤差を加算する。同一ラインおよび前ラインからの誤差を拡散した後は前ラインと同様に量子化を行い、出力データを画像データライトＤＭＡＣ２０５によってＲＡＭ部１１５に格納する。量子化処理によって発生する量子化誤差は、図６（ｂ）に示す拡散係数に従って、未処理の周辺画素に拡散する。同一ラインへの拡散については従前の説明とまったく同様であり、隣接ラインへの誤差の拡散は、図６（ｂ）に「Ｃ」、「Ｄ」および「Ｅ」で示す画素に誤差を拡散する。すなわち、隣接ラインに対しては、注目画素位置よりも処理後方側にも誤差を拡散する。拡散誤差はいったん量子化処理部２０２内のバッファに格納した後、同一画素への拡散誤差をすべて足し合わせて誤差データライトＤＭＡＣ２０５によってＲＡＭ部１１５に格納される。
【００６３】
なお、本実施例１では１ラインの量子化処理を行うか、２ラインの量子化処理を行うかはレジスタ部２０３内の図示しないレジスタに設定する。
【００６４】
画像処理部１０３は、ＣＰＵ１０２からレジスタ部２０３への書き込みによって画像処理の開始を指示されると、ＲＡＭ部１１５に格納された画像データを一方端の画素から他方端の画素まで順次読み出して、上述の色変換処理および量子化処理を行う。ライン処理が終了すると画像処理部１０３はＣＰＵ１０２に対して割り込みを発行して処理の完了を通知することができる。ＣＰＵ１０２からの指示により副走査方向に隣接する１ラインまたは２ラインについて同様に処理を行うことで画像データ全体の二値化処理が実現できる。二値化された出力画像データは順次ＲＡＭ部１１５に格納されていき、これをプリンタエンジンインターフェース部１０４によってプリンタエンジン１１８へ送出することで記録媒体への印刷が行われる。
【００６５】
以下、本発明の実施例１に係るプリンタ装置の動作を、図を参照して詳細に説明する。
【００６６】
図７は、本実施例１のプリンタ装置が画像データを量子化処理する場合の画像処理部の動作手順を示すフローチャートである。画像処理部１０３は量子化処理の実行を指示されると図７のフローチャートに従った画像処理動作を実行し、量子化処理を行う。
【００６７】
すなわち、ステップＳ７０１で画像処理部１０３は、注目画素の画像データを画像データリードＤＭＡＣ２０４を介してＲＡＭ部１１５から読み出し、ステップＳ７０２へ進む。このとき、レジスタ部２０３に設定された処理内容が１ラインの量子化処理の場合は一つの画素の画像データを読み出し、２ラインの量子化処理の場合は副走査方向に隣接する二つの画素の画像データを読み出す。
【００６８】
次に、ステップＳ７０２で画像処理部１０３は、注目画素を色変換処理部２０１によりインク色で表現される画像データに変換して、ステップＳ７０３へ進む。
【００６９】
次に、ステップＳ７０３で画像処理部１０３は、レジスタ部２０３に設定された処理内容が１ラインの量子化処理であるか２ラインの量子化処理であるかを判定する。設定された処理内容が１ラインの量子化処理であればステップＳ７０４へ進み、２ラインの量子化処理であればステップＳ７０５へ進む。
【００７０】
ステップＳ７０３で画像処理内容が１ラインの量子化処理と判定された場合は、ステップＳ７０４で画像処理部１０３は注目画素の画像データを誤差拡散方式により量子化して、ステップＳ７０７へ進む。なお、本ステップの１ライン量子化処理に係る処理の詳細は図を参照しつつ後述する。
【００７１】
一方、ステップＳ７０３で画像処理内容が２ラインの量子化処理と判定された場合は、ステップＳ７０５で画像処理部１０３は２ラインのうち先頭ラインに近いラインの注目画素の画像データを誤差拡散方式により量子化して、ステップＳ７０６へ進む。次に、ステップＳ７０６で画像処理部１０３は、２ラインのうち先頭ラインから遠いラインの注目画素の画像データを誤差拡散方式により量子化して、ステップＳ７０７へ進む。なお、ステップＳ７０５およびステップＳ７０６の２ライン量子化処理に係る処理の詳細は図を参照しつつ後述する。
【００７２】
ステップＳ７０７では、画像処理部は、指定した１ラインまたは２ライン分の画像処理が終了したか否かを判定し、未処理の画素が残っている場合はステップＳ７０１へ進み、ライン処理が終了している場合は本処理動作を終了する。
【００７３】
本実施例１では、図７に示すフローチャートに従った処理をハードウエア記述言語（Ｈａｒｄｗａｒｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ；ＨＤＬ）によって記述し、論理合成を行うことで本画像処理動作を実行可能な論理回路を生成して当該論理回路により画像処理部１０３を構成する。
【００７４】
ここで、図８を参照して、ステップＳ７０４の１ライン量子化処理手順を詳細に説明する。
【００７５】
ステップＳ８０１で画像処理部１０３は、ＲＡＭ部１１５に格納されている前ラインからの拡散誤差を誤差データリードＤＭＡＣ２０６を介して読み出し、画像データに加算して、ステップＳ８０２へ進む。
【００７６】
次に、ステップＳ８０２で画像処理部１０３は、量子化処理部２０２内のバッファに格納された同一ラインからの拡散誤差を画像データに加算し、ステップＳ８０３へ進む。
【００７７】
次に、ステップＳ８０３で画像処理部１０３は、周辺画素からの量子化誤差を拡散した画像データを図示しないレジスタに格納されたしきい値と比較して二値画像データを生成し、ステップＳ８０４へ進む。
【００７８】
次に、ステップＳ８０４で画像処理部１０３は、二値画像データを画像データライトＤＭＡＣ２０５を介してＲＡＭ部１１５へ書き込み、ステップＳ８０５へ進む。
【００７９】
次に、ステップＳ８０５で画像処理部１０３は、図４に示す拡散係数に従って発生した量子化誤差を周辺の量子化未処理画素に拡散して本処理動作を終了する。本ステップにより拡散される誤差のうち同一ラインへの拡散誤差は量子化処理部１０３内のバッファに格納し、隣接ラインへの拡散誤差はいったんバッファに格納された後、誤差データライトＤＭＡＣ２０７を介してＲＡＭ部１１５に格納される。
【００８０】
次に、ステップＳ７０５およびステップＳ７０６の第一２ライン量子化処理および第二２ライン量子化処理の処理手順を図９および図１０を参照して詳細に説明する。
【００８１】
図９は第一２ライン量子化処理手順の動作の流れを示すフローチャートであり、図１０は第二２ライン量子化処理手順の動作の流れを示すフローチャートである。図９および図１０では、図８に示した１ライン量子化処理手順のフローチャートと同じ処理手順については図８と同じ符号を括弧内に付し説明を省略する。
【００８２】
図９において、ステップＳ９０１からステップＳ９０４の処理手順は図８の１ライン量子化処理手順と同じ処理手順である。
【００８３】
ステップＳ９０５では、画像処理部１０３は、周辺の量子化未処理画素に図６（ａ）に示す拡散係数に従って発生した量子化誤差を拡散する。すなわち、隣接するラインへの誤差の拡散は、処理中の注目画素よりも処理方向前方側の画素に対してのみ行われる。また、この隣接ラインへの拡散誤差は量子化処理部１０３内のバッファに格納され、後述する第二２ライン量子化処理により読み出されて使用される。
【００８４】
次に、図１０に示す第二２ライン量子化処理の処理手順を説明する。ステップＳ１００１で画像処理部１０３は、前述の第一２ライン量子化処理により内部バッファに格納された隣接ラインへの拡散誤差を読み出し、画像データに加算して、ステップＳ１００２へ進む。
【００８５】
以下ステップＳ１００２ないしステップＳ１００４では、１ライン量子化処理および第一２ライン量子化処理と同様に、同一ラインからの誤差の拡散、しきい値との比較、および出力画像データのＲＡＭ部１１５への書き込みを行う。
【００８６】
次に、ステップＳ１００５で画像処理部１０３は、周辺の量子化未処理画素に図６（ｂ）に示す拡散係数に従って発生した量子化誤差を拡散する。すなわち、隣接するラインへの誤差の拡散は、処理中の注目画素よりも処理方向後方側の画素に対しても行われる。また、この隣接ラインへの拡散誤差はいったん画像処理部１０３内のバッファに格納された後、誤差データライトＤＭＡＣ２０７を介してＲＡＭ部１１５に格納される。
【００８７】
本実施例１では、図８ないし図１０に示すフローチャートに従った処理をハードウエア記述言語によって記述し論理合成を行うことで、それぞれの量子化処理を実行可能な論理回路を生成して当該論理回路により画像処理部を構成する。この場合、ハードウエア記述言語としてＶＨＤＬを用い、センシティビティーリストにクロック信号を記述したｐｒｏｃｅｓｓ文により各ステップを記述することで、第一２ライン量子化処理と第二２ライン量子化処理を同時動作させる同期回路を生成することが可能になる。また、図９および図１０に示すフローチャートを、状態機械を構成して記述し、第一２ライン量子化処理および第二２ライン量子化処理をこの順に順次処理する回路を生成することも可能である。
【００８８】
以下、図７ないし図１０に示すフローチャートで２ライン量子化処理を行う場合の量子化誤差の拡散について図を参照して説明する。
【００８９】
図１１において、斜線を施した二つの画素が注目画素であり、打点した画素は量子化処理の終了した画素、空白の画素は未処理の画素を表している。また、図１１中の矢印は注目画素から量子化誤差が拡散される画素を示しており、実線の矢印は同一ラインへの誤差の拡散を、破線の矢印は隣接ラインへの誤差の拡散を表している。２ラインのうち先頭ラインに近いラインから隣接ラインへ拡散される誤差は、処理方向前方側の画素にのみ拡散されており、先頭ラインから遠いラインの注目画素との同時処理が可能になっている。
【００９０】
以上のように、図７ないし図１０に示したフローチャートに従った処理を行うことにより、１ライン量子化処理および２ライン量子化処理のいずれかを選択して量子化処理することが可能である。また、２ライン量子化処理を行う場合には、処理方向同一位置の画素を同時処理することが可能であり、煩雑な座標計算や複雑なタイミング制御を行うことなく簡易な構成で高速な量子化処理を行うことが可能である。
【実施例２】
【００９１】
上述した実施例１では、１ライン量子化処理および２ライン量子化処理を選択して量子化処理を行うプリンタ装置について説明した。しかし、本発明は実施例１の実施の形態に限定されるものではなく、３以上の複数のラインの量子化処理を同時に行うプリンタ装置も本発明を構成することができる。以下、本発明を４ラインの量子化処理を同時に行うプリンタ装置に適用した場合の実施例２について説明する。
【００９２】
なお、本実施例２に係るプリンタ装置の構成および画像処理部の構成は、上述した実施例１の図１および図２とそれぞれ同一であるから、同図を流用して説明する。
【００９３】
以下、本実施例２に係るプリンタ装置の動作を、図を参照して詳細に説明する。図１２は、実施例２のプリンタ装置が画像データを量子化処理する場合の画像処理部の動作手順を示すフローチャートである。
【００９４】
画像処理部１０３は量子化処理の実行指示されると図１２のフローチャートに従った画像処理動作を実行し、量子化処理を行う。
【００９５】
すなわち、ステップＳ１２０１で画像処理部１０３は、注目画素の画像データを画像データリードＤＭＡＣ２０４を介してＲＡＭ部１１５から読み出し、ステップＳ１２０２へ進む。このとき、４ラインのそれぞれの注目画素、すなわち４つの画素の画像データを読み出す。
【００９６】
次に、ステップＳ１２０２で画像処理部１０３は、４つの注目画素のそれぞれを色変換処理部２０１によりインク色で表現される画像データに変換して、ステップＳ１２０３へ進む。
【００９７】
次に、ステップＳ１２０３で画像処理部１０３は、４ラインのうち最も先頭ラインに近いラインの注目画素に対して第一複数ライン量子化処理を行い、ステップＳ１２０４へ進む。
【００９８】
次に、ステップＳ１２０４で画像処理部１０３は、４ラインのうち２番目に先頭ラインに近いラインの注目画素に対して第一複数ライン量子化処理を行い、ステップＳ１２０５へ進む。
【００９９】
次に、ステップＳ１２０５で画像処理部１０３は、４ラインのうち３番目に先頭ラインに近いラインの注目画素に対して第一複数ライン量子化処理を行い、ステップＳ１２０６へ進む。
【０１００】
なお、ステップＳ１２０３、ステップＳ１２０４、およびステップＳ１２０５の第一複数ライン量子化処理は、上述した実施例１の第一２ライン量子化処理と同じ処理手順により量子化処理を行うものである。従って、隣接ラインへの量子化誤差の拡散は処理方向前方側の画素に対してのみ行われる。
【０１０１】
次に、ステップＳ１２０６で画像処理部１０３は、４ラインのうち先頭ラインから最も遠いラインの注目画素に対して第二複数ライン量子化処理を行い、ステップＳ１２０７へ進む。なお、第二複数ライン量子化処理は、上述した実施例１の第二２ライン量子化処理と同じ処理手順により量子化処理を行うものである。従って、隣接ラインへの量子化誤差の拡散は処理方向後方側の画素に対しても行われる。
【０１０２】
次に、ステップＳ１２０７で画像処理部１０３は、同時処理する４ライン分の画像処理が終了したか否かを判定し、未処理の画素が残っている場合はステップＳ１２０１へ進み、４ライン分の画像処理が終了している場合は本処理動作を終了する。
【０１０３】
本実施例２では、図１２に示すフローチャートに従った処理をハードウエア記述言語（Ｈａｒｄｗａｒｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ；ＨＤＬ）によって記述し、論理合成を行うことで本画像処理動作を実行可能な論理回路を生成して当該論理回路により画像処理部を構成する。
【０１０４】
また、それぞれの処理をＶＨＤＬで記述し、４ラインそれぞれの量子化処理をセンシティビティーリストにクロック信号を記述したｐｒｏｃｅｓｓ文により記述することで、４ラインの量子化処理を同時動作させる同期回路を生成することが可能になる。また、ハードウエア記述言語により状態機械を記述し、各処理をフローチャートに示す順に順次処理する回路を生成することも可能である。
【０１０５】
次に、図１２に示すフローチャートで４ライン量子化処理を行う場合の量子化誤差の拡散について図を参照して説明する。
【０１０６】
図１３において、斜線を施した四つの画素が注目画素であり、打点した画素は量子化処理の終了した画素、空白の画素は未処理の画素を表している。また、図１３中の矢印は注目画素から量子化誤差が拡散される画素を示しており、実線の矢印は同一ラインへの誤差の拡散を、破線の矢印は隣接ラインへの誤差の拡散を表している。４ラインのうち先頭ラインに近い側の３ラインからそれぞれの隣接ラインへ拡散される誤差は、処理方向前方側の画素にのみ拡散されており、４つのラインの注目画素を同時に処理することが可能になっている。
【０１０７】
以上のように、図１２に示したフローチャートに従った処理を行うことにより、４ライン量子化処理を行うことが可能である。また、処理方向同一位置の画素を同時処理することが可能であり、煩雑な座標計算や複雑なタイミング制御を行うことなく簡易な構成で量子化処理を行うことが可能である。
【産業上の利用可能性】
【０１０８】
なお、上述の実施の形態では、量子化処理により二値化する場合を説明した。しかし、本発明はこれに限定されるものではなく、誤差拡散方式により３以上の階調数に量子化する多値誤差拡散方式を採用したプリンタ装置であっても本発明を構成する。
【０１０９】
この場合、多値誤差拡散方式による量子化と濃度パターン法を組み合わせることで二値画像データを生成することができる。
【０１１０】
また、上述の実施の形態の実施例２では、４つのラインの処理を同時に行う場合を説明した。しかし、本発明はこれに限定されるものではなく、任意のライン数に対して同時に量子化処理を行うプリンタ装置であっても本発明を構成する。
【０１１１】
この場合、最も後端のラインを除くラインから隣接ラインに拡散する誤差を処理方向前方側に拡散することで濃度を保存した量子化処理を複数のラインで同時に行うことが可能になる。
【０１１２】
また、上述の実施の形態では、ＣＰＵおよび各回路ブロックが一つのパッケージに封止されたシステムＬＳＩとして構成される場合を説明した。しかし、本発明はこれに限定されるものではなく、一部の回路ブロックまたは全部の回路ブロックをそれぞれ個別のＩＣ等によって構成するプリンタ装置であっても本発明を構成する。
【０１１３】
また、上述の実施の形態では、ハードウエア記述言語により記述した内容を論理合成して生成される論理回路により量子化処理を行う場合を説明したが、本発明はこれに限定されるものではない。上述した実施の形態の機能を実現するソフトウエアのプログラムを記憶した記憶媒体を装置に供給し、装置やコンピュータのＣＰＵが記憶媒体に格納されたプログラムを読み出して実行することにより量子化処理を行う場合も本発明を構成する。
【０１１４】
この場合、記憶媒体から読み出されたプログラム自体が上述した実施の形態の機能を実現することになり、そのプログラムを記憶した記憶媒体は本発明を構成することになる。プログラムを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭを用いることができる。また、コンピュータが読み出したプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが実際の処理の一部または全部を行い、その処理によって上述した実施の形態の機能が実現される場合も含まれる。
【図面の簡単な説明】
【０１１５】
【図１】本発明の実施例１に係る画像処理装置（プリンタ装置）の構成を示すブロック図である。
【図２】本発明の実施例１に係るプリンタ装置の画像処理部の構成を示すブロック図である。
【図３】本発明の実施例１に係るプリンタ装置が扱う拡散誤差データの形式を説明する図である。
【図４】本発明の実施例１に係るプリンタ装置が１ラインの量子化処理を実行する場合の拡散係数を示す図である。
【図５】本発明の実施例１に係るプリンタ装置が１ラインの量子化処理を実行する場合の隣接ラインへの拡散誤差を合算する方法を説明する図である。
【図６】本発明の実施例１に係るプリンタ装置が２ラインの量子化処理を実行する場合の拡散係数を示す図である。（ａ）は隣接ラインの処理方向前方側に誤差を拡散する拡散係数を示す図、（ｂ）は隣接ラインの処理方向後方側にも誤差を拡散する拡散係数を示す図である。
【図７】本発明の実施例１に係るプリンタ装置の量子化処理を含む画像処理の動作の流れを示すフローチャートである。
【図８】本発明の実施例１に係るプリンタ装置の１ラインの量子化処理の動作の流れを示すフローチャートである。
【図９】本発明の実施例１に係るプリンタ装置の２ラインの量子化処理の動作の流れを示す第一のフローチャートである。
【図１０】本発明の実施例１に係るプリンタ装置の２ラインの量子化処理の動作の流れを示す第二のフローチャートである。
【図１１】本発明の実施例１に係るプリンタ装置が２ラインの量子化処理を行う際の量子化誤差の拡散を説明する図である。
【図１２】本発明の実施例２に係るプリンタ装置の４ラインの量子化処理を含む画像処理の動作の流れを示すフローチャートである。
【図１３】本発明の実施例２に係るプリンタ装置が４ラインの量子化処理を行う際の量子化誤差の拡散を説明する図である。
【図１４】誤差拡散方式における拡散係数を説明する図である。
【符号の説明】
【０１１６】
１００  プリンタ装置
１０１  画像形成コントローラ装置
１０２  ＣＰＵ
１０３  画像処理部
１０４  プリンタエンジンインターフェース部
１０５  通信ンインターフェース部
１０６  拡張バス回路部
１０７  ＲＡＭコントローラ
１０８  ＲＯＭコントローラ
１０９  システムバスブリッジ
１１０ａ〜１１０ｇ  バスライン
１１１  画像形成コントローラＡＳＩＣ
１１２  拡張スロット
１１３  拡張バス
１１４  ＲＡＭバス
１１５  ＲＡＭ部
１１６  ＲＯＭバス
１１７  ＲＯＭ部
１１８  プリンタエンジン
２０１  色変換処理部
２０２  量子化処理部
２０３  レジスタ部
２０４  画像データリードＤＭＡＣ
２０５  画像データライトＤＭＡＣ
２０６  誤差データリードＤＭＡＣ
２０７  誤差データライトＤＭＡＣ
【図１】
2010011304.tif 000003
【図２】
2010011304.tif 000004
【図３】
2010011304.tif 000005
【図４】
2010011304.tif 000006
【図５】
2010011304.tif 000007
【図６】
2010011304.tif 000008
【図７】
2010011304.tif 000009
【図８】
2010011304.tif 000010
【図９】
2010011304.tif 000011
【図１０】
2010011304.tif 000012
【図１１】
2010011304.tif 000013
【図１２】
2010011304.tif 000014
【図１３】
2010011304.tif 000015
【図１４】
2010011304.tif 000016