(57)【要約】      （修正有）【課題】誤差拡散処理に関して、複数ラスタに対して並列に処理するモードと１つのラスタごとに処理するモードそれぞれに応じた適切なタイミングで画像データを供給する。【解決手段】２ラスタ並列処理モードの場合、第１のＤＭＡＣに対して、１ラスタ目の画像データを転送するように設定し、また、第２のＤＭＡＣに対して、２ラスタ目の画像データを転送するように設定する。次に、遅延量制御部に２ラスタ並列処理モードを設定する。遅延量制御部は、２ラスタ目の着目画素の処理タイミングが１ラスタ目の着目画素の処理タイミングよりも３画素分遅延するように遅延量を決定する。単一ラスタ処理モードの場合は、第１のＤＭＡＣに１ラスタ目の画像データのＣ、Ｍの２色を転送するように設定し、第２のＤＭＡＣに１ラスタ目の画像データのＹ、Ｋの２色を転送するように設定する。そして、遅延部に決定した遅延量（０画素分遅延）を設定する。【選択図】図８
2015037278.tif 000002
【特許請求の範囲】
【請求項１】
第１の動作モードと第２の動作モードを有して画像処理に係る動作を実行する画像処理手段と、
前記画像処理手段へデータをそれぞれ供給する第１および第２の供給手段と、
第１の動作モードか第２の動作モードかに応じて、前記第１の供給手段のデータ供給タイミングに対する前記第２の供給手段のデータ供給タイミングの遅延量を決定する決定手段と、
前記決定手段で決定した遅延量に従って、前記第１の供給手段のデータ供給タイミングに対する前記第２の供給手段のデータ供給タイミングを遅らせる遅延手段と、
を具えたことを特徴とする画像処理装置。
【請求項２】
前記画像処理手段は、誤差拡散処理を実行するものであり、
前記第１の動作モードは、誤差拡散処理を単一ラスタごとに実行するモードであり、
前記第２の動作モードは、誤差拡散処理を複数ラスタについて並列に実行するモードであり、
前記遅延量制御手段は、前記第２の動作モードの場合、並列に誤差拡散処理を実行する複数のラスタ相互で、それぞれの処理対象画素に誤差が拡散されない範囲に応じて前記遅延量を決定する、
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記第１の供給手段は第１のＤＭＡＣであり、前記第２の供給手段は第２のＤＭＡＣであり、前記第１および第２のＤＭＡＣはメモリから読み込んだデータを前記画像処理手段に供給することを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記遅延手段は、前記第１の動作モードの場合は、前記第２の動作モードのときに使用する遅延用バッファを、前記第１のＤＭＡＣおよび前記第２のＤＭＡＣが読み込んだデータを一時的に保持するデータバッファとして使用することを特徴とする請求項３に記載の画像処理装置。
【請求項５】
第１の動作モードと第２の動作モードを有して画像処理に係る動作を実行する画像処理手段と、前記画像処理手段へデータを供給する、それぞれ第１および第２の供給手段と、を用意する工程と、
第１の動作モードか第２の動作モードかに応じて、前記第１の供給手段のデータ供給タイミングに対する前記第２の供給手段のデータ供給タイミングの遅延量を決定する遅延量制御工程と、
前記遅延量に従って、前記第１の供給手段のデータ供給タイミングに対する前記第２の供給手段のデータ供給タイミングを遅らせる遅延工程と、
を有したことを特徴とする画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置および画像処理方法に関し、詳しくは、誤差拡散処理等の画像処理を行う技術に関するものである。
【背景技術】
【０００２】
この種の技術として、特許文献１には、画像データの複数のラスタに対する誤差拡散処理を順次所定の遅れを持たせて並列に行うことが記載されている。詳しくは、複数ラスタに対して並列に誤差拡散処理を行う場合、所定の遅れを持つことにより前ラスタの誤差拡散処理によって拡散される誤差データを加算した後の画素に対して処理する。例えば、２ラスタに対する並列処理の場合、２ラスタ目の処理対象画素のデータは、１ラスタ目からの誤差データも加算されたデータであることが必要である。このため、並列処理において、２ラスタ目の処理対象画素の位置は１ラスタ目の処理画素の位置よりも処理タイミングが遅れた位置になる。このため、誤差拡散処理部へ入力する画像データは、２ラスタ目の処理対象画素の位置が１ラスタ目の処理対象画素の位置よりも遅くなるように遅延させて供給する。
【０００３】
このように、複数のラスタに対して誤差拡散処理を並列に実行することにより、画像データの量子化処理を高速に実行することが可能になる。特に、大型化されたレーザプリンタやインクジェットプリンタにおいて大判の用紙に記録する用途では、その記録データ量の点で誤差拡散処理自体に比較的時間を要することから、誤差拡散処理の高速化は望ましいことである。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平６−２６６３２４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１では、画素データの複数ラスタに対して並列に誤差拡散処理を行うことができるが、１ラスタ毎に処理を行うことができないという問題があった。なお、誤差拡散処理を複数ラスタに対して並列に行う場合、高速な処理が可能となるものの、誤差拡散処理を１ラスタごとに行うのに比べて誤差データの拡散性が劣ったものとなる。
【０００６】
誤差拡散処理は、誤差を拡散させる画素および拡散させる方向に偏りがないようにすることにより、その処理によって量子化された画像データに基づく記録の高画質化が可能となる。１ラスタごとの誤差拡散処理の場合、１ラスタの処理が終わるごとに処理を開始する位置と方向を逆にして行うことができる。例えば、１ラスタ目は左端画素位置から右方向に処理を行い、２ラスタ目は右端画素位置から左方向に処理を行うように制御する。これにより、常に、誤差を拡散する画素を、拡散する方向における所定の位置の画素とすることができ、誤差を拡散する画素および方向に偏りがないようにすることができる。一方、誤差拡散処理を複数のラスタに対して並列に行う場合は、複数のラスタ毎に処理を開始する位置と方向を逆にすることになるので、高画質の記録を実現することができない場合がある。
【０００７】
ところで、画像処理によっては、記録の際に高画質が要求される場合と高速処理が要求される場合があり、これらの両方を実現するものが望まれている。
【０００８】
本発明の目的は、記録条件に応じた画像処理を実現することが可能な画像処理装置および画像処理方法を提供することである。
【課題を解決するための手段】
【０００９】
そのために本発明では、画像処理装置において、第１の動作モードと第２の動作モードを有して画像処理に係る動作を実行する画像処理手段と、前記画像処理手段へデータをそれぞれ供給する第１および第２の供給手段と、第１の動作モードか第２の動作モードかに応じて、前記第１の供給手段のデータ供給タイミングに対する前記第２の供給手段のデータ供給タイミングの遅延量を決定する決定手段と、前記決定手段で決定した遅延量に従って、前記第１の供給手段のデータ供給タイミングに対する前記第２の供給手段のデータ供給タイミングを遅らせる遅延手段と、を具えたことを特徴とする。
【発明の効果】
【００１０】
以上の構成によれば、記録条件に応じた画像処理を実現することが可能となる。
【図面の簡単な説明】
【００１１】
【図１】本発明の一実施形態に係るインクジェット記録装置の外観斜視図である。
【図２】図１に示す記録装置の記録部の構成の概略を示す斜視図である。
【図３】図１に示す記録装置のコントローラ部の概略構成を示すブロック図である。
【図４】本発明の第１実施形態に係る単一ラスタ処理モードの誤差拡散処理における誤差の拡散範囲を説明する図である。
【図５】２ラスタ並列処理モードの誤差拡散処理における誤差の拡散範囲を説明する図である。第１実施形態、第３実施形態における２ラスタ並列処理モードの誤差拡散処理における誤差の拡散範囲を説明する図である。
【図６】図３に示したデータ処理部の構成の詳細を示すブロック図である。
【図７】図６に示した入力用ＤＭＡＣの詳細な構成を示すブロック図である。
【図８】図６、図７にて説明したデータ処理部による、誤差拡散処理の動作モードに対応した制御を示すフローチャートである。
【図９】本発明の第２実施形態に係る２ラスタ並列処理による誤差拡散処理における２つ目の誤差データ拡散範囲を説明する図である。
【図１０】本発明の第２実施形態に係るデータ処理部４０７の誤差拡散処理の動作モードに対応した制御を示すフローチャートである。
【図１１】本発明の第３実施形態に係る入力用ＤＭＡＣ７０１の構成を示すブロック図である。
【図１２】（ａ）および（ｂ）は、本発明の第３実施形態に係る、２ラスタ並列処理モードおよび単一ラスタ処理モードそれぞれにおける遅延部１１０１のバッファ制御を説明する図である。
【発明を実施するための形態】
【００１２】
以下、図面を参照して本発明の実施形態を詳細に説明する。  
（第１実施形態）
図１は、本発明の一実施形態に係るインクジェット記録装置の外観斜視図である。図１に示されるように、記録装置２００の装置前面に手差し挿入口２０１が設けられ、また、その下部に装置前面において開閉可能なロール紙カセット２０２が設けられている。記録紙等の記録媒体（以下、記録媒体）は手差し挿入口２０１またはロール紙カセット２０２から記録装置内部へと供給される。記録装置２００は、２個の脚部２０３に支持された装置本体２０４、排紙された記録媒体を積載するスタッカ２０５、内部が透視可能な透明で開閉可能なアッパカバー２０６を備えている。このような構成の記録装置２００はＡ０、Ｂ０などのポスタサイズの大きな画像を記録することが可能なものである。
【００１３】
図２は、本実施形態の記録装置２００の記録部の構成の概略を示す斜視図である。本実施形態の記録装置はシリアルタイプの装置である。すなわち、記録ヘッド３０１は、記録媒体３０３に対して主走査方向に移動するキャリッジ３０２に搭載され、上記移動の速度に対応した周波数でインクを吐出する。１回の主走査が終了するごとに、記録媒体３０３は、給紙ローラ３０４および補助ローラ３０５のローラ対、搬送ローラ３０６および補助ローラ３０７のローラ対に挟持されながら図中矢印で示す副走査方向に所定の量だけ搬送される。このような主走査と搬送動作とを繰り返すことにより、記録媒体３０３に段階的に画像が記録されて行く。記録ヘッド３０１は、ブラック（Ｋ）、シアン（Ｃ）、マゼンタ（Ｍ）およびイエロー（Ｙ）の記録ヘッドが、図に示すように主走査方向に並列して配置されている。各色の記録ヘッドには、複数のインク吐出口が副走査方向に配列されている。
【００１４】
図３は、記録装置２００のコントローラ部の概略構成を示すブロック図である。ホストコンピュータ４０１は、記録するために必要な画像データ情報や記録条件情報から成る記録ジョブの作成などを行う情報処理装置である。コントローラ４０２は、記録装置２００の制御を行う制御装置である。
【００１５】
コントローラ４０２において、ＲＯＭ４０３は、記録装置２００を制御するためのプログラムを格納している読み出し可能なメモリである。ＣＰＵ４０４は、ＲＯＭ４０３に格納されたプログラムを実行することにより記録装置２００の制御を行う。ＲＡＭ４０５は、プログラムの実行領域やデータの格納領域として使用している読み書き可能なメモリである。ホストＩＦ制御部４０６は、ホストコンピュータ４０１との通信を行い、記録ジョブの受信などを行い、ＲＡＭ４０５へ格納する。コントローラ４０２にはデータ処理部４０７が用意され、この処理部は、記録ジョブに含まれる記録条件に従ってＲＡＭ４０５に格納された多値画像データを記録可能な２値画像データを生成する誤差拡散処理を行い、生成された２値画像データはＲＡＭ４０５へ格納する。ヘッドＩＦ制御部４０８は、ＲＡＭ４０５に格納された２値画像データをヘッド制御部４０９へ送信する。ヘッド制御部４０９は、コントローラ４０２から得た情報に基づいて記録データ４１０を出力して記録媒体３０３に画像を記録するように制御する。なお、共有バス４１１は、ＲＯＭ４０３、ＣＰＵ４０４、ＲＡＭ４０５、ホストＩＦ制御部４０６、データ処理部４０７、ヘッドＩＦ制御部４０８に接続される。この共有バス４１１を通じて、接続されたもの同士で通信が可能となる。
【００１６】
本実施形態では、記録ジョブに含まれる画像データは、１画素がＲ，Ｇ，Ｂの３色で構成され、１色の階調ビットが８ビットである多階調の画像データ（以下、多値画像データ）である。なお、画像データは、これに限定されず、例えば、１画素がＣ，Ｍ，Ｙ，Ｋ，Ｒ，Ｇ，Ｂのような７色で構成されていてもよく、１色の階調ビットが１６ビットであってもよい。ＣＰＵ４０４は、この多値画像データをＣ，Ｍ，Ｙ，Ｋのインク色に変換してインク色の多値画像データを生成する処理を行う。ＣＰＵ４０４によって生成されたインク色の多値画像データは、ＲＡＭ４０５に格納される。上述したデータ処理部４０７は、このインク色の多値画像データに対して誤差拡散処理を行いインク色毎に２値データを生成する。
【００１７】
なお、本実施形態は、誤差拡散処理によって２値のデータに量子化する形態に関するものであるが、量子化によって得られるデータは２値に限られないことはもちろんであり、３値、４値などの量子化データを得る誤差拡散処理にも本発明を適用することができる。
【００１８】
次に、本発明の一実施形態に係るデータ処理部４０７の詳細な構成について説明する。
【００１９】
本実施形態では、誤差拡散処理は単一ラスタ処理モードと２ラスタ並列処理モードの２つの動作モードで行う。
【００２０】
最初に、誤差拡散処理について簡単に説明する。誤差拡散処理は、多値の着目画素（処理対象画素）に対して、その画素の画素値（多値データ）と所定の閾値を比較し、“１”または“０”（それぞれインクを“吐出する”、“吐出しない”）の決定をする。これとともに、着目画素の画素値と閾値の差分を誤差データとして、これを着目画素の周辺画素に分配する。このように、着目画素にはその画素の元々画素値の他に周辺画素から分配される誤差データが含まれる。
【００２１】
図４は、本発明の第１実施形態に係る単一ラスタ処理モードの誤差拡散処理における誤差の拡散範囲を説明する図である。図中矢印５０２で示す、左端画素から右端画素の方向へ処理する際の着目画素５０１の誤差データは、着目画素が含まれるラスタ（以下、上ラスタ）における、着目画素の右隣の画素Ａに拡散される。また、上ラスタに隣接し次に誤差拡散処理が行われるラスタ（以下、下ラスタ）における、着目画素の右下の画素Ｂと、着目画素の下の画素Ｃと、着目画素の左下の画素Ｄも誤差データが拡散される。このように、下ラスタへの誤差データの拡散があることから、下ラスタの誤差拡散処理を行う前に下ラスタの画素に誤差データを加算する処理を行う。この誤差データの加算処理は、下ラスタの誤差拡散処理を行う前までに行えばよいので、以下で説明するように、下ラスタの誤差拡散処理を上ラスタの誤差拡散処理と並列に行うことができる。
【００２２】
図５は、本実施形態に係る２ラスタ並列処理モードの誤差拡散処理における誤差の拡散範囲を説明する図である。並列処理する２つのラスタのうち、矢印６０２で示す１ラスタ目の処理方向は、左端画素から右端画素の方向である。この方向において、１ラスタ目の着目画素が含まれるラスタ（以下、１ラスタ目）において着目画素６０１の誤差データは、右隣の画素Ａに拡散される。さらに、１ラスタ目に隣接し並列して誤差拡散処理が行われるラスタ（以下、２ラスタ目）における、着目画素６０１の右下の画素Ｂと、着目画素６０１の下の画素Ｃと、着目画素６０１の左下の画素Ｄに誤差データが拡散される。矢印６１２で示す２ラスタ目の処理方向は、１ラスタ目の処理方向６０２と同じ方向である。着目画素６１１の誤差データは、この処理方向６１２において、着目画素が含まれる２ラスタ目における着目画素６１１の右隣の画素Ａ´に拡散される。さらに、１ラスタ目とは反対側で２ラスタ目に隣接するラスタ（以下、３ラスタ目）における、着目画素６１１の右下の画素Ｂ´と、着目画素６１１の下の画素Ｃ´と、着目画素６１１の左下の画素Ｄ´に拡散される。このように、１ラスタ目の誤差拡散処理の誤差データが２ラスタ目の画素へ分配されるため、２ラスタ目の誤差拡散処理は、１ラスタ目の誤差拡散処理の誤差データが全て加算されるまで処理を待つ必要がある。この結果、本実施形態では、２ラスタ目の処理を行う着目画素は、１ラスタ目の着目画素から３画素左にずらして処理を行うようにしている。このように、並列に誤差拡散処理を実行する２つのラスタ相互で、それぞれの処理対象画素に誤差が拡散されないように遅延量を決定する。
【００２３】
図６は、データ処理部４０７（図３）の構成の詳細を示すブロック図である。
【００２４】
本実施形態のデータ処理部４０７において、入力用ＤＭＡＣ（ＤＭＡコントローラ）７０１は、ＤＭＡ方式で、共有バス４１１を介してＲＡＭ４０５からのインク色の多値画像データを読み出し、この読み出した画像データを誤差拡散処理部７０２へ供給するための制御を行う。誤差拡散処理部７０２は、入力ＤＭＡＣ７０１によって取得した画像データに対して、後述するように、高速記録モードまたは高画質記録モードのいずれかに応じた誤差拡散処理モードを切り替えて、それぞれ２値の記録データを生成する。出力ＤＭＡＣ（ＤＭＡコントローラ）７０３は、ＤＭＡ方式で、誤差拡散処理された２値記録データを取得してＲＡＭ４０５へ書き込むための制御を行う。
【００２５】
図７は、入力用ＤＭＡＣ７０１（図６）の詳細な構成を示すブロック図である。入力用ＤＭＡＣ７０１において、第１のＤＭＡＣ１０１（第１の供給部）および第２のＤＭＡＣ１０２（第２の供給部）は、それぞれ誤差拡散処理の動作モードに応じて、ＤＭＡ方式で、画像データを読み出しこれを誤差拡散処理部へ供給するための制御を行う。遅延量制御部１０３は、誤差拡散処理の動作モードに応じて第１のＤＭＡＣ１０１に割当てる処理内容と、第２のＤＭＡＣ１０２に割当てる処理内容を指示すると共に、第２のＤＭＡＣ１０２からの出力データの遅延量を決定する。遅延部１０４は、この決定された遅延量に応じて第２のＤＭＡＣ１０２から出力される画像データを第１のＤＭＡＣ１０１から出力される画像データよりもデータ供給タイミングを遅延させて誤差拡散処理部７０２へデータを送信する。２ラスタ並列処理モードの場合、例えば、遅延量制御部１０３は、第１のＤＭＡＣ１０１に１ラスタ目のＣ，Ｍ，Ｙ，Ｋの画像データを、第２のＤＭＡＣ１０２に２ラスタ目のＣ，Ｍ，Ｙ，Ｋの画像データを割当てる。単一ラスタ処理モードの場合、例えば、遅延量制御部１０３は、第１のＤＭＡＣ１０１にＣ，Ｍのインク色の画像データを、第２のＤＭＡＣ１０２にＹ，Ｋのインク色の画像データを割当てる。なお、誤差拡散処理の動作モードは、ＣＰＵ４０４により誤差拡散処理の動作モードが設定されると、遅延量制御部１０３は設定された動作モードに応じた遅延量を決定する。
【００２６】
バス１１０は、第１のＤＭＡＣ１０１から出力される画像データを誤差拡散処理部７０２へ送信する際に使用するバスである。バス１１１は、第２のＤＭＡＣ１０２から出力される画像データを誤差拡散処理部７０２へ送信する際に使用するバスである。バス１１０とバス１１１は、誤差拡散処理の動作モードに応じて役割が異なる。２ラスタ並列処理モードの場合、バス１１０は１ラスタ目のＣ、Ｍ、Ｙ、Ｋの画像データを送信するバスで、バス１１１は２ラスタ目のＣ、Ｍ、Ｙ、Ｋの画像データを送信するバスに設定される。誤差拡散処理部７０２は、バス１１０から受信する１ラスタ目の画像データと、バス１１１から受信する２ラスタ目の画像データを並列に誤差拡散処理を行う。一方、単一ラスタ処理のモードの場合、画像データを各画素で色単位に２つに分け、それぞれをバス１１０、バス１１１を介して送信する。例えば、Ｃ、Ｍ、Ｙ、Ｋのインク色のうち、バス１１０はＣ、Ｍのインク色の画像データを送信するためのバスで、バス１１１はＹ、Ｋのインク色の画像データを送信するためのバスに設定される。誤差拡散処理部７０２は、バス１１０を介して受信するＣ、Ｍのインク色の画像データと、バス１１１を介して受信するＹ、Ｋのインク色の画像データを対応する画素ごとの画像データとし、画素ごとにＣ、Ｍ、Ｙ、Ｋの画像データに対してそれぞれ誤差拡散処理を行う。すなわち、誤差拡散処理部７０２は、インク色毎にばらばらに転送された各インク色の画像データを元の１画素とし、誤差拡散処理を行う。
【００２７】
ここで、遅延量制御部１０３の制御について説明する。
【００２８】
２ラスタ並列処理モードの場合、遅延量制御部１０３は、２ラスタ目の誤差拡散処理をする際に、処理対象の画素が１ラスタ目の着目画素からの誤差データの拡散による影響を受けないように遅延量を決定する。すなわち、遅延量制御部１０３は、２ラスタ目の誤差拡散処理をする際に処理対象の画素が、１ラスタ目から誤差データが拡散された後のものとなるように、第２のＤＭＡＣ１０２から送信する画像データの遅延量を決定する。図５で説明した誤差拡散処理を行う場合、遅延量制御部１０３は遅延部１０４に遅延量を３画素と通知する。
【００２９】
一方、単一ラスタ処理モードの場合、第１のＤＭＡＣ１０１から出力される画像データと第２のＤＭＡＣ１０２から出力される画像データとを同じ画素位置とするため、遅延量制御部１０３は、遅延量を０と決定し、遅延部１０４へ遅延量を通知する。なお、この場合は、第２のＤＭＡＣ１０２から出力される画像データの転送は、第１のＤＭＡＣ１０１から出力される画像データの転送に対して遅延させない。
【００３０】
図８は、データ処理部４０７の誤差拡散処理の動作モードに対応した制御を示すフローチャートである。先ず、ステップＳ８０１で、ＣＰＵ４０４からデータ処理部４０７に送信された誤差拡散処理の動作モードの情報を受信する。次に、ステップＳ８０２で、受信した動作モードが単一ラスタ処理モードであるか否かを判定する。受信する動作モードの情報は、例えば、本実施形態の記録装置において記録モードが高画質の記録モードに設定されている場合は単一ラスタ処理モードである旨の情報となり、高速記録モードに設定されている場合は２ラスタ並列処理モードである旨の情報となる。ステップ８０２で、動作モードが単一ラスタ処理モード（第１の動作モード）である場合は、ステップＳ８１３へ進む。一方、動作モードが２ラスタ並列処理モード（第２の動作モード）である場合は、ステップＳ８０３へ進む。
【００３１】
動作モードが単一ラスタ処理モードでない場合、すなわち、２ラスタ並列処理モードの場合、先ず、ステップＳ８０３で、第１のＤＭＡＣ１０１に対して、１ラスタ目のＣ、Ｍ、Ｙ、Ｋそれぞれの画像データを転送するように設定する。同じくステップＳ８０４で、第２のＤＭＡＣ１０２に対して、２ラスタ目のＣ、Ｍ、Ｙ、Ｋそれぞれの画像データを転送するように設定する。次に、ステップＳ８０５で、遅延量制御部１０３に２ラスタ並列処理モードを設定する。そして、ステップ８０６で、遅延量制御部１０３は、２ラスタ並列処理モードが設定されたことに応じて、図５にて上述したように、２ラスタ目の着目画素の処理タイミングが１ラスタ目の着目画素の処理タイミングよりも所定画素分遅延するように遅延量を決定する。本実施形態では、３画素分遅延するように遅延量を決定する。また、ステップＳ８０７で、誤差拡散処理部７０２に対して、誤差拡散処理の動作モードを２ラスタ並列処理モードに設定する。
【００３２】
以上のステップＳ８０３〜ステップＳ８０７による設定により、入力用ＤＭＡＣ７０１は、１ラスタ目および２ラスタ目の画像データをそれぞれ読み出す。そして、２ラスタ目の画像データを１ラスタ目の画像データの画素位置をより３画素遅延させて、誤差拡散処理部へ送信するよう制御する。これにより、誤差拡散処理部７０２では１ラスタ目と２ラスタ目の誤差拡散処理を並列に行い２値の記録データを生成することができる。
【００３３】
単一ラスタ処理モードの場合は、第１のＤＭＡＣ１０１に転送させる色と第２のＤＭＡＣ１０２に転送させる色を設定する（Ｓ８１３，Ｓ８１４）。本実施形態では、ステップＳ８１３で、第１のＤＭＡＣ１０１に１ラスタ目の画像データのＣ、Ｍの２色を転送するように設定する。また、ステップＳ８１４で、第２のＤＭＡＣ１０２に１ラスタ目の画像データのＹ、Ｋの２色を転送するように設定する。なお、Ｓ８１３とＳ８１４の順番は逆としてもよい。次に、ステップＳ８１５で、遅延量制御部１０３に単一ラスタ処理モードを設定する。遅延量制御部１０３は、単一ラスタ処理であることから、画素間で遅延させる必要がないので遅延量をなし（０画素分遅延）として決定する。そして、ステップＳ８１６で、遅延部１０４に決定した遅延量（０画素分遅延）を設定する。最後に、ステップＳ８１７で、誤差拡散処理部７０２に対して、誤差拡散処理の動作モードを単一ラスタ処理モードに設定する。
【００３４】
以上のステップＳ８１３〜ステップＳ８１７による設定により、入力用ＤＭＡＣ７０１は、１ラスタ目の画像データを２つのＤＭＡＣを用いて読み出す。そして、第２のＤＭＡＣが読み出した画像データを遅延させずに第１のＤＭＡＣが読み出した画像データの画素位置と同期させて誤差拡散処理部７０２へ送信する。これにより、誤差拡散処理部７０２では１ラスタに対して誤差拡散処理を行い、２値の記録データを生成することができる。
【００３５】
以上説明したように、本実施形態によれば、誤差拡散処理の動作モードに応じて複数のＤＭＡＣ間で、出力、供給する画像データの遅延量を調整することができる。その結果、誤差拡散処理の単一ラスタ処理と複数ラスタ並列処理それぞれに対して適切なタイミングで、誤差拡散処理部への画像データの供給を行うことが可能となる。  また、複数ラスタ並列処理のモードと単一ラスタ処理のモードのように画像データ間の同期方法が異なる場合であっても、同じＤＭＡＣの構成で誤差拡散処理部へデータを供給することが可能になる。また、単一ラスタ処理でも複数のＤＭＡＣを用いることができることから、単一ラスタ処理モードの高速化に対応することが可能になる。
【００３６】
（第２実施形態）
上述した第１実施形態では、２ラスタ並列処理における誤差拡散範囲がＡ、Ｂ、Ｃ、Ｄである１種類の場合の遅延量の制御について説明した。本発明の第２実施形態は、２ラスタ並列処理における誤差拡散範囲が２種類である場合の遅延量の制御に関するものである。以下では、第１実施形態との違いが、誤差拡散範囲が可変であることとその遅延量の制御のみであるため、その違いについてのみを説明する。
【００３７】
本実施形態では、誤差データの拡散範囲の種類が２つであり、具体的には拡散範囲が図５および図９に示される範囲である。なお、拡散範囲を変更することにより、画質を調整することができる。ここで、単一ラスタモードの場合及び並列処理モードの場合それぞれで誤差データの拡散範囲の種類を２つとしてもよいし、いずれか一方のみ誤差データの拡散範囲の種類を２つとしてもよい。以下、並列処理モードで誤差拡散範囲の種類を２つとした場合について説明する。  図９は、本発明の第２実施形態に係る２ラスタ並列処理による誤差拡散処理における２つ目の誤差データ拡散範囲を説明する図である。図９に示す誤差拡散範囲は、第１実施形態の図５の誤差拡散範囲に、３画素追加されたものである。１ラスタ目の着目画素６０１の拡散範囲として追加された画素は、着目画素６０１を基準として、２ラスタ目における、着目画素６０１の下側の画素Ｃから、左へ２画素の画素Ｅと、さらに左隣の画素Ｆと、さらに左隣の画素Ｇと、着目画素６０１から右へ２画素の位置の画素Ｈと、２ラスタ目におけるその下の画素Ｉである。２ラスタ目の着目画素６０２の拡散範囲で追加された画素は、着目画素６０２を基準として、３ラスタ目における、着目画素６０１の下側の画素Ｃ´から、左へ２画素の位置の画素Ｅ´と、さらに左隣の画素の位置の画素Ｆ´と、さらに左隣の画素の位置の画素Ｇ´と、着目画素６０２から右へ２画素の位置の画素Ｈ´と、３ラスタ目におけるその下の画素の位置の画素Ｉ´である。
【００３８】
図９に示す誤差拡散範囲は、誤差データの拡散範囲が処理方向とは逆方向に広がったことから、２ラスタ目の着目画素の処理タイミング、を図５に示す誤差拡散範囲の場合よりも、さらに４画素分遅延させて１ラスタ目の着目画素の処理タイミングから７画素分遅延させる。
【００３９】
図１０は、本実施形態に係るデータ処理部４０７の誤差拡散処理の動作モードに対応した制御を示すフローチャートである。図１０において、第１実施形態に係る図８に示す処理と同じステップは同じステップ番号で示す。すなわち、図１０に示す本実施形態の処理が図８に示す処理と異なる点は、図８のステップＳ８０５およびＳ８０６の処理が、ステップＳ１００１〜Ｓ１００４の処理に変わった点である。
【００４０】
ステップＳ１００１では、遅延量制御部１０３に２ラスタ並列処理モードと誤差拡散範囲を設定する。本実施形態では、誤差拡散範囲として、図５に示す範囲又は図９に示す範囲を設定する。次に、ステップＳ１００２で、遅延量制御部１０３は、設定された誤差拡散範囲が、図５に示す範囲か否かを判定する。例えば、図５に示す範囲の場合は３画素分遅延するように遅延量を決定し、ステップＳ１００３へ進む。そして、ステップＳ１００３で、遅延部１０４に遅延量制御部１０３で決定した遅延量（３画素分遅延）を設定する。一方、ステップＳ１００２で、誤差拡散範囲が図９に示す範囲の場合は７画素遅延するように遅延量を決定し、ステップＳ１００４へ進む。そして、ステップＳ１００４で、遅延部１０４に遅延量制御部１０３で決定した遅延量（７画素分遅延）を設定する。
【００４１】
以上のステップＳ１００１〜Ｓ１００４の処理による設定によって、誤差拡散処理部７０２に入力する２ラスタ目の画像データを誤差拡散範囲に応じて遅延させることができ、これにより、１ラスタ目と２ラスタ目の誤差拡散処理を並列に行うことができるとともに誤差拡散範囲を柔軟に行うことができる。例えば、記録する画像データや、高速記録や高画質などの記録条件に応じて、拡散範囲を含む、誤差拡散処理の内容を変えることができ、画像データや記録条件に応じた適切な誤差拡散を行うことが可能となる。
【００４２】
（第３実施形態）
上述した第１実施形態では、単一ラスタ処理モードの遅延量が０で、第１のＤＭＡＣ１０１及び第２のＤＭＡＣ１０２から出力される画像データがそれぞれ直接誤差拡散処理部へ転送される形態について説明した。本発明の第３実施形態は、単一ラスタ処理において、２ラスタ並列処理で使用するための遅延部の遅延用バッファをデータバッファとして使用する形態に関するものである。以下では、第１実施形態と異なる点を説明する。遅延部の遅延用バッファをデータバッファとして使用するための、入力用ＤＭＡＣ７０１の構成と遅延部の構成について、図１１と図１２を参照して説明する。また、第１および第２実施形態では、１画素がＣ，Ｍ，Ｙ，Ｋのインク色で構成される画像データに対して誤差拡散処理を行う形態であるが、本実施形態は、１画素がＲＧＢの３色の画素値で構成され、誤差拡散処理部の中でインク色変換を行った後に誤差拡散処理を行う形態である。
【００４３】
図１１は、本発明の第３実施形態に係る入力用ＤＭＡＣ７０１の構成を示すブロック図である。第１実施形態に係る図７に示す構成と異なる点は、遅延部１１０１であり、第１のＤＭＡＣ１０１から出力される画像データも遅延部１１０１に入力される。
【００４４】
図１２（ａ）および（ｂ）は、本発明の第３実施形態に係る、２ラスタ並列処理モードおよび単一ラスタ処理モードそれぞれにおける遅延部１１０１のバッファ制御を説明する図である。図１２（ａ）は２ラスタ並列処理モード時のバッファ制御を示し、図１２（ｂ）は単一ラスタ処理モード時のバッファ制御を示している。
【００４５】
図１２（ａ）に示すように、２ラスタ並列処理モードでは、第１のＤＭＡＣ１０１から受信した画像データは、バッファを介さずそのまま誤差拡散処理部７０２の入力バス１１０へ送信される。一方、第２のＤＭＡＣ１０２から受信した画像データは、バッファ１２０１、バッファ１２０２、バッファ１２０３に順次入力する。すなわち、画像データは、これら３つのバッファを３画素分遅延させるバッファとして用いた後、誤差拡散処理部７０２の入力バス１１１へ転送される。このように、２ラスタ目の画素位置を遅延させることにより２ラスタ並列処理の誤差拡散処理を行う。
【００４６】
一方、単一ラスタ処理モードでは、遅延部の遅延用バッファを第２のＤＭＡＣ１０２だけでなく、第１のＤＭＡＣ１０１にも割当てる。単一ラスタ処理モードで、１画素あたりの色数が奇数の場合、各ＤＭＡCに均等に色数を分けることができない。このとき、各ＤＭＡＣの扱うデータ量が異なるため、１のＤＭＡCの転送が他のＤＭＡCの転送よりも先に終わることになり、他のＤＭＡＣの転送が終わるまでは次のデータの読み込みを行うことができない。したがって、各ＤＭＡCそれぞれに遅延部１１０１の遅延用バッファを割当てる。本実施形態では、図１２（ｂ）に示すように、単一ラスタ処理モードでは、第１のＤＭＡＣ１０１から入力した画像データのうち、Ｒ，Ｇの画像データは、バッファ１２０１、バッファ１２０２、バッファ１２０３に順次通されて、誤差拡散処理部７０２の入力バス１１０へ転送される。一方、第２のＤＭＡＣ１０２から入力した画像データのうち、Ｂの画像データは、バッファ１２０１、バッファ１２０２、バッファ１２０３に順次通されて、誤差拡散処理部７０２の入力バス１１１へ送信される。上述した構成とすることにより、Ｒ，Ｇの画像データと、Ｂの画像データがバッファ１２０１で同期される。このように、単一ラスタ処理モードにおいても、２ラスタ並列処理モードで使用する遅延用バッファを、データを一時的に保持するデータバッファとして使用することができる。なお、バッファ１２０２とバッファ１２０３は用いなくてもよい。
【００４７】
また、このとき、図１２（ｂ）に示すように、単一ラスタ処理モードでは、インク色毎にばらばらに転送された各インク色の画像データをバッファ１２０１〜１２０３において元の１画素とし、誤差拡散処理部７０２の入力バス１１０へ送信される。
【００４８】
以上のように、本実施形態によれば、誤差拡散処理の動作モードに応じて遅延部のバッファの使用用途を変えることができ、これにより、単一ラスタ処理時においてもデータバッファとして有効に使用することができる。例えば、単一ラスタ処理では２ラスタ並列処理のときよりも誤差データの発生量が多くなるため、誤差データのメモリへのリード（Ｒｅａｄ）／ライト（Ｗｒｉｔｅ）が多く、共有バスが混雑してしまい、誤差拡散処理部に安定した画像データの供給を妨げてしまう可能性がある。しかし、本実施形態では、単一ラスタ処理の場合にデータバッファをもつことができるため、ＤＭＡＣから画像データの読み出しトランザクションの発行を連続で行うことができ、安定した画像データの供給を妨げる要因からの影響を少なくすることができる。その結果、共有バスの混雑さやデータ量の違いに関係なく、誤差拡散処理部へ安定した画像データの供給を行うことができる。
【００４９】
本実施形態では、ＣＰＵ４０４が動作モード及び／又は誤差データの拡散範囲を設定することにより、遅延量制御部１０３が遅延量を決定し、複数のＤＭＡCにより、誤差拡散処理の並列処理を実行することができる。
【００５０】
（他の実施形態）
上述した第１〜第３実施形態では、誤差拡散処理の動作モードを単一ラスタ処理と２ラスタ並列処理である形態として説明したが、単一ラスタ処理と複数ラスタ並列処理であれば２ラスタ並列処理に限定されないことはもちろんである。例えば、単一ラスタ処理と３ラスタ並列処理であってもよく、この場合は、ＤＭＡCを３つ用いるようにすればよい。このとき、上述した実施形態と同様に、単一ラスタ処理と複数ラスタ並列処理で遅延部の設定を適宜変更すればよい。
【００５１】
複数ラスタ並列処理の場合、遅延部の遅延量は、誤差拡散範囲に応じて適宜変更すればよい。
【００５２】
実施形態３では、並列処理モードの場合はバス１１０及びバス１１１を使用し、単一ラスタモードの場合はバス１１０のみを使用するようにしたが、これに限定されるものではなく、単一ラスタモードの場合もバス１１０及びバス１１１を使用してもよい。具体的には、バッファ１２０１〜１２０３を介してＲ，Ｇの画像データをバス１１０へ送信し、Ｂの画像データをバス１１１へ送信するようにしてもよい。一方、実施形態１及び２において、並列処理モード及び単一ラスタモードのいずれの場合もバス１１０及びバス１１１を使用したが、これに限定されるものではなく、単一ラスタモードの場合はバス１１０のみ用いるようにしてもよい。すなわち、入力用ＤＭＡC７０１内で元の１画素とし、誤差拡散処理部７０２に転送するようにしてもよい。なお、図５及び図９では処理方向を１方向のみ示したが、逆方向での処理も存在し、処理方向は交互に切り替えられるようにしてもよい。
【００５３】
また、以上の実施形態の処理の全てをハードウェアで実行する必要はなく、一部をソフトウェアによって構成してもよい。
【００５４】
また、第１〜第３実施形態では、記録装置としてインクジェットプリンタの形態について説明したが、本発明の特徴及び構成が同様であれば、これに限定されない。記録装置としては、例えば、トナーを用いたレーザプリンタであってもよいし、複写機であってもよい。
【００５５】
また、第１〜第３実施形態では、動作モードに応じてデータ間の同期関係に差異が生じる例として誤差拡散処理を説明したが、本発明は、動作モードに応じてデータ間の同期関係に差異が生じる他の画像処理に適用することも可能である。具体的には、例えば、前ラインの処理結果を次のラインに反映させる画像処理に適用することができる。また、誤差拡散処理を含む、本発明に係るこのような画像処理は、上記記録装置において実行される形態ばかりか、ＰＣなどの情報処理装置において実行されてもよい。この点で、上述の各実施形態で説明した誤差拡散処理を実行する記録装置や上記情報処理装置は、本明細書において画像処理装置ということができる。
【符号の説明】
【００５６】
１０１    第１のＤＭＡＣ
１０２    第２のＤＭＡＣ
１０３    遅延量制御部
１０４    遅延部
４０７    データ処理部
７０１    入力用ＤＭＡＣ
７０２    誤差拡散処理部
【図１】
2015037278.tif 000003
【図２】
2015037278.tif 000004
【図３】
2015037278.tif 000005
【図４】
2015037278.tif 000006
【図５】
2015037278.tif 000007
【図６】
2015037278.tif 000008
【図７】
2015037278.tif 000009
【図８】
2015037278.tif 000010
【図９】
2015037278.tif 000011
【図１０】
2015037278.tif 000012
【図１１】
2015037278.tif 000013
【図１２】
2015037278.tif 000014