(57)【要約】【課題】  ＤＲＡＭとの転送効率を維持しながら、バッファ容量を抑えた走査変換を実現する。【解決手段】  外部記憶装置と画像処理手段の間で画像データを転送する画像処理装置であって、前記外部記憶装置から画像データを読み込む画像データ読み込み手段と、前記外部記憶装置に画像データを書き出す画像データ書き出し手段と、画像データのライン毎に所望の遅延量を付与する遅延付与手段と、前記外部記憶装置と画像処理手段の間の画像データ転送を制御する画像データ転送制御手段を有し、前記画像データ転送制御手段は、前記外部記憶装置への転送単位に内包する画素数を横幅にし、前記画素数と画素シフト量によって決まる所定ライン数の画素ブロックを、前記読み込み手段及び書き出し手段に転送させることを特徴とする画像処理装置。【選択図】  図１
2020167470.tif 000002
【特許請求の範囲】
【請求項１】
外部記憶装置と画像処理手段の間で画像データを転送する画像処理装置であって、
前記外部記憶装置から画像データを読み込む画像データ読み込み手段と、
前記外部記憶装置に画像データを書き出す画像データ書き出し手段と、
画像データのライン毎に所望の遅延量を付与する遅延付与手段と、
前記外部記憶装置と画像処理手段の間の画像データ転送を制御する画像データ転送制御手段を有し、
前記画像データ転送制御手段は、前記外部記憶装置への転送単位に内包する画素数を横幅にし、前記画素数と画素シフト量によって決まる所定ライン数の画素ブロックを、前記読み込み手段及び書き出し手段に転送させることを特徴とする画像処理装置。
【請求項２】
前記画像データ読み込み手段は、複数の前記画素ブロックを前記外部記憶装置の異なる主走査位置から読み込むとともに、
前記遅延付与手段は、複数の前記画素ブロックの夫々のライン毎に遅延量を付与することを特徴とする請求項１記載の画像処理装置。
【請求項３】
各ラインの遅延量は、（画素シフト量）×（ライン番号−１）であることを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記遅延付与手段は、複数の前記画素ブロックの夫々のライン毎に付与された遅延差を解消するように、ライン毎に所望の遅延量を付与し、
前記画像データ書き出し手段は、遅延差の解消された画素ブロックを前記外部記憶装置の異なる主走査位置に書き出すことを特徴とする請求項１〜３の何れか１項に記載の画像処理装置。
【請求項５】
前記画素ブロックのライン数は（画素数）／（画素シフト量）以上であることを特徴とする請求項１〜４の何れか１項に記載の画像処理装置。
【請求項６】
前記読み込み手段と前記書き出し手段で転送する画素ブロックの画素数は異なることを特徴とする請求項１〜５の何れか１項に記載の画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、外部記憶装置に保持された画素データをライン毎に所定の遅延を付加もしくは解消して読み書きする技術に関する。
【背景技術】
【０００２】
デジタル画像データに対してコンピュータで様々な処理を施すことが広く行われている。近年、画像の高解像度化が進み、従来と比較し扱うデータ量が増大している。
【０００３】
画像処理の中には、疑似階調化手段によって二値化処理を行う誤差拡散法がある。誤差拡散法において走査順に従った逐次的な処理を実施すると、画像データの横幅の画素数に応じた大容量の誤差バッファを持つ必要がある。そのため、画像の高解像度化に伴い、より多くの誤差バッファが必要になっている。例えば、ＣＭＹＫ  Ａ４サイズ  ６００ＤＰＩで誤差データを８ビットとした場合、１ライン当たり、２３０ｋビット（＝４ＣＯＬＯＲ×７２００Ｐｉｘ×８ビット）のバッファが必要になる。
【０００４】
そこでこの誤差バッファの容量を低減させるために、斜め方向に誤差拡散する手法がある（特許文献１）。この手法では、主走査方向に誤差バッファを持たなくて済むが、画素データの走査変換を行う必要がある。特許文献２では、各ラインで異なる段数のＦＩＦＯを構成し、走査変換を実現している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平１０−２２４６２７
【特許文献２】特開平６−９８１６５
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献２において、ラインに応じた遅延をＦＩＦＯ（先入れ先出し）メモリによって走査変換を実現している。斜め方向に走査変換するため、ＦＩＦＯメモリによって遅延させるべき段数がライン高さ方向に進むにつれ増加する。ライン高さの２乗に比例して、必要なバッファ容量が増加することとなり、回路コストを増加させていた。
【０００７】
また、斜め方向の画素データを直接ＤＲＡＭから取得することもできる。しかしながら、一般的に使われるバースト転送を利用する場合、斜めに走査する場合は、行アドレスを変更する必要がある。よって行アドレスの変換のたびにプリチャージ動作が必要になり、アクセスに時間を要し、転送効率を低下させてしまう。
【０００８】
本発明は、上記課題に鑑み、ＤＲＡＭとの転送効率を維持しながら、バッファ容量を抑えた走査変換を実現する方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
外部記憶装置と画像処理手段の間で画像データを転送する画像供給装置であって、
前記外部記憶装置から画像データを読み込む画像データ読み込み手段と、
前記外部記憶装置に画像データを書き出す画像データ書き出し手段と、
画像データのライン毎に所望の遅延量を付与する遅延付与手段と、
前記外部記憶装置と画像処理手段の間の画像データ転送を制御する画像データ転送制御手段を有し、
前記画像データ転送制御手段は、前記外部記憶装置への転送単位に内包する画素数を横幅にし、上記画素数と画素シフト量によって決まる所定ライン数の画素ブロックを、前記読み込み手段及び書き出し手段に転送させることを特徴とする画像供給装置。
【発明の効果】
【００１０】
本発明によれば、ＤＲＡＭとの転送効率を維持しながら、ラインごとに設けるバッファ容量を抑制することが可能になる。
【図面の簡単な説明】
【００１１】
【図１】機能構成例を示す
【図２】入力画像データの一例を示す
【図３】入力画像データの転送単位（画素シフト量２）
【図４】入力画像データの転送単位（画素シフト量３）
【図５】遅延付与部の内部構造を示す（画素シフト量２）
【図６】動作例を説明するためのフローチャートを示す
【図７】遅延付与回路の内部構造を示す（画素シフト量３）
【発明を実施するための形態】
【００１２】
［実施例１］
実施例１では、Ｎ値画像をＭ値画像（Ｍ＜Ｎ）に変換する誤差拡散処理を用いた例で説明する。
【００１３】
まず構成要素について説明する。
【００１４】
図１は機能構成例を示すブロック図である。
【００１５】
図１において、画像データ読み込み部１００は例えばスキャナやデジタルカメラ等の画像入力機器やハードディスク等の各種記憶装置（不図示）からＮ値画像データの分割された処理領域の読み込みを行う。
【００１６】
画像データ書き出し部１０１はＭ値に変換したＭ値画像データを画像入力機器や記憶媒体に書き出す。
【００１７】
ここで、ある画像を複数の領域に分割し、領域毎に処理を行う際の処理領域をバンド領域と呼ぶ。
【００１８】
画像データ転送制御部１０２は、画像データ読み込み部１００にバンド領域内のどの画像ブロックを読み込むかを指示する。また、読み込んだ画像ブロックが所望の遅延が付与されるように遅延付与部１０３を制御する。
【００１９】
遅延付与部１０３は、画像データ読み込み部１００から受け取った画像ブロックに所望の遅延を付与し、斜め方向に走査変換し、後段の誤差拡散処理を実施する画像処理部１０４に画像ブロックを送付する。
【００２０】
画像処理部１０４は、遅延付与部１０３から受け取った画像ブロックに対して誤差拡散処理を施し、Ｍ＜Ｎの関係となるＭ値画像データに変換する。また、Ｍ値に変換した画像データは、画像処理部１０４で処理されたＭ値画像データを遅延付与部１０３に送付する。
【００２１】
遅延付与部１０３は、画像処理部１０４から受け取った画像データに所望の遅延量を付与して、ライン間に生じた遅延を解消させ、斜め方向の走査を主走査方向の走査に戻し、画像データ書き出し部１０１に送付する。
【００２２】
画像データ転送制御部１０２は、ライン間の遅延が解消された画像ブロックが各種記憶媒体の所望の位置に書き出されるように、画像データ書き出し部１０１を制御する。また、遅延付与部１０３を制御し、ライン間の遅延が解消されるように所望の遅延を付与するように制御する。
【００２３】
以下、図を用いて詳細に説明する。
【００２４】
図２は、外部記憶装置への読み込み、書き出しされる画像データのイメージ図である。図２に示すＣＭＹＫ各色成分のバンド領域の画像データ２００に対し、横幅がＮバイトで縦がＬラインのブロックに分割して転送する。画像ブロックの横幅Ｎバイトは、外部記憶装置への転送単位と一致する。本実施例の場合、画像ブロックの横幅を画像データの画素数に変換すると、外部記憶装置への読み込み、もしくは書き出しするデータのビット幅が異なるため、画素数は異なる。また、ライン数Ｌは、後述するように画像処理部１０４で必要な画素シフト量と横幅のＴ画素によって決まり、（画素シフト量）×（縦Ｌライン＋１）は（横Ｔ画素）より小さくなることはない。即ち、（縦Ｌライン）は、（（横Ｔ画素）／（画素シフト量））−１以上となる。図２に示す通り、Ｘ軸方向を主走査方向、Ｙ軸方向を副走査方向とする。
【００２５】
図３及び図４を用いて、外部記憶装置上のバンド領域を示す。画像データ転送制御部１０２は、読み込む画素ブロックの位置を画像データ書き出し部１０１に指示し、画像データの読み込みを行う。
【００２６】
図３及び図４に示す外部記憶装置上のバンド領域は、主走査方向に沿って先頭（図では左端）から末尾（図では右端）までを座標Ｘ０から順にＸ１、Ｘ２、・・・と定義する。副走査方向に沿って先頭（図では上端）から末端（図では下端）までを座標Ｌ０から順にＬ１、Ｌ２、・・・と定義する。
【００２７】
図３は、転送単位当りの画素数が８で、画素シフト量が２の場合の画素ブロック毎にバンド領域を示している。この場合、画素ブロックのライン数は、（横８画素）／（画素シフト量２）＝４となるため、ここでは４ラインとして説明する。つまり横画素８×４ラインの単位のブロックに分割して転送する。また、図３の斜線で示した画素を順に画像処理部１０４に供給する。
【００２８】
画素シフト量は、画像処理部１０４で実施する誤差拡散処理において、画素（Ｘ２３，Ｌ０）の処理が完了すると、次のラインＬ１の画素（Ｘ２１，Ｌ１）の処理が確定する。同様に画素（Ｘ２１、Ｌ１）が確定すると、画素（Ｘ１９、Ｌ２）が確定し、さらに画素（Ｘ１７、Ｌ３）が確定することが出来る。さらに画素（Ｘ１７，Ｌ３）が確定されると、第二のグループの画素（Ｘ２２、Ｌ４）が確定できる。つまり、処理画素と当該処理画素の処理を完了すると処理可能となる画素の主走査方向の位置関係を示している。
【００２９】
図４は、転送単位当りの画素数が８で、画素シフト量が３の場合の画素ブロック毎にバンド領域を示している。この場合、画素ブロックのライン数は、（横８画素）／（画素シフト量３）＝２．６６７となる。図４（ａ）では画素ブロックのライン数を３と固定した例を示す。図４（ｂ）では画素ブロックのライン数を２と３で変動させる例を示す。図４（ｂ）に示す画素ブロックのライン数２と３の割合は、上記で算出したライン数２．６６７を実現する割合となる。
【００３０】
図４（ａ）に示すように、画素ブロックのライン数に小数点以下を切り上げて、固定ライン数とする場合、バンド領域を分割した画素ブロックの転送量は一定となる。したがって、画像データ転送制御部１０２が、画像読み込み部１００及び画像書き出し部１０１に対して制御が簡素化できる。一方で、図４（ａ）の画素ブロックＡ３、Ｂ３、Ｃ３及びＤ３が示すように、バンド領域外のデータを余剰に読み込みもしくは書き出ししてしまう可能性がある。このように、画素ブロックのライン数を固定にするか変動させるかは、制御の簡素化と転送量についてトレードオフの関係となる。また、画素ブロックのライン数は、（横Ｔ画素）／（画素シフト量）以上であればよいが、ライン数を必要以上に大きくすると、上記のように転送したラインが使用されない場合が増えるため、ライン数を必要以上に大きく設定することは好ましくない。
【００３１】
画像の読み込み及び書き出しにおいては、図３及び図４で示したように、互いに主走査方向の異なるグループの画素ブロックを順に読み込み及び書き出しを行う。
【００３２】
図５は、図３に示す画素ブロックに対する遅延付与部１０３の内部構成を示している。図５の破線で囲った領域が遅延付与部１０３である。遅延付与部１０３はラインごとに数の異なるＦＩＦＯメモリを備えた構成となっており、ラインごとに遅延量を段階的に変化させるようになっている。
【００３３】
ＦＩＦＯメモリの段数は以下の計算式で算出できる。
【００３４】
ＦＩＦＯ段数＝画素シフト量×（ライン番号−１）
画素シフト量を２とし、この計算式に基づくと、第一入力遅延ライン５０１では、ＦＩＦＯ段数は０となるため、画像処理部１０４に遅延を付与せずにそのまま画像処理部１０４に入力される。第二入力遅延ライン５０２では、２つのＦＩＦＯメモリ５０５によって所定の遅延時間だけ遅延されて画像処理部１０４に入力される。第三入力遅延ライン５０３では、４つのＦＩＦＯメモリ５０６で先述した所定の遅延時間の２倍だけ遅延され、画像処理部１０４に入力される。以下、同様にして第四入力遅延ライン５０４では、６つのＦＩＦＯメモリ５０７で先述した所定の遅延時間の３倍だけ遅延され、画像処理部１０４に入力される。ここではＦＩＦＯメモリによって所望の遅延が与えられたのちに、選択回路５１１によってデータが選択される構成を示したが、画像処理部１０４に各入力遅延ラインと各出力遅延ラインが直接、画像処理部１０４に接続される構成でも構わない。
【００３５】
なお、ＦＩＦＯメモリの段数は、画素シフト量に応じて調整することが望ましい。画素シフト量よりも多い段数にしておくと画像の読み込み位置に柔軟に対応することが出来る。
【００３６】
まず、画像ブロックが遅延付与部１０３を経由し、斜め方向へ走査変換されて画像処理部１０４に供給する、遅延付与部の入力段５２０について説明する。
【００３７】
選択回路５１１には、第一入力遅延ライン５０１に入力された画像ブロック１つ分が到来する。次に第二入力遅延ライン５０２に入力された画像ブロックがこの直後に到来する。そして第三入力遅延ライン５０３にさらにこの直後に画像ブロックが到来する。最後に第四入力遅延ライン５０４がさらにこの直後に画像ブロックが到来する。このようにして、走査方向を主走査方向から斜め方向に変換する。
【００３８】
次に、画像処理部１０４で所望の画像処理が施された画像ブロックが遅延付与部１０３に供給され、元の主走査方向に変換される、遅延付与部の出力段５２１について説明する。
【００３９】
遅延付与部の出力段側の処理では、ライン内の最大の遅延量から入力段の対応するラインに与えた遅延量を減算した遅延量を付与する。すなわち、第一出力遅延ライン５２２では、ライン内の最大遅延量６から入力段の遅延量０を減算した６の遅延量を与える。第二出力遅延ライン５２３では、ライン内の最大遅延量６から入力段の遅延量２を減算した４の遅延量を与える。第三出力遅延ライン５２４では、ライン内の最大遅延量６から入力段の遅延量４を減算した２の遅延量を与える。同様にして第四出力遅延ライン５２５では、減算結果が０になるため、遅延量を付加しない。
【００４０】
まず、画像処理部１０４で画像処理が施された画像ブロックは、選択回路５１２を介して、遅延付与部の後段５２１の各ライン５２２〜５２５に供給される。第一入力遅延ライン５０１に入力された画像ブロックが選択回路５１２で選択され、第一出力遅延ライン５２２に供給される。第一出力遅延ライン５２２では、先述した所定の遅延時間の３倍だけ遅延され、画像データ転送制御部１０２に供給される。第二入力遅延ライン５０２に入力された画像ブロックが第二出力遅延ライン５２３に供給され、先述した所定の遅延時間の２倍だけ遅延されて画像データ転送制御部１０２に供給される。以下同様に、第三入力遅延ライン５０３は第三出力遅延ライン５２４を介し、先述した所定の遅延時間だけ遅延される。第四入力遅延ライン５０４は第四出力遅延ライン５２５を介し、遅延を付与せず、それぞれ画像データ転送制御部１０２に供給され、元の主走査方向に変換される。
【００４１】
以下、図６のフローチャートを用いて、図４に示す画素ブロックについて処理する例を説明する。
【００４２】
遅延付与部１０３は、図４に示す画素ブロックの場合、図７のような構成とする。始めに外部記憶装置から画像データを読み込む例について説明する。
【００４３】
画像データ読み込み部１０１が外部記憶装置から画像データを読み込む（Ｓ６０１）。
【００４４】
画像データ転送制御部１０２は読み込まれた画像データと画像処理部１０４で処理内容から必要な画素シフト量を決める（Ｓ６０２）。ここでは、画像処理部１０４は誤差拡散処理を実施する例を示し、画素シフトは３とする。
【００４５】
画像データ転送制御部１０２はＳ６０２で決めた画素シフト量に基づき、転送ライン数を決める（Ｓ６０３）。転送ライン数は、先述した計算式に基づき（横８画素）／（画素シフト量３）＝２．６６７ラインとすればよい。ここでは３ライン固定とする。
【００４６】
画像データ転送制御部１０２が画素シフト量と転送ライン数から主走査の位置を決める（Ｓ６０４）。この実施例では、図４（ａ）に示したように第一のグループの主走査方向の呼び出し位置Ｄ１を基準に、副走査方向に一つずらした第二のグループでは、主走査方向を一画像ブロック分減算した位置Ｃ２から呼び出す。同様に第三のグループは、さらに主走査方向を一画像ブロック分減算した位置Ｂ３から呼び出す。
【００４７】
画像データ転送制御部１０２が画素位置から誤差データの読み込みが必要かどうかを判定する（Ｓ６０５）。判定は処理される画素データの位置によって決まる。ここでは、第一の転送単位は、先頭画素ラインを含むため、誤差データの読み込みが必要だと判定される。ただし、先頭画素ラインを含む場合でも、画像の最上端で領域間の誤差が存在しない場合は、誤差データの読み込みは不要と判断される。
【００４８】
誤差データの読み込みが必要と判断された場合は、画像処理部１０４が外部記憶装置から所望の誤差データを読み込む（Ｓ６０６）。
【００４９】
誤差データは画像処理部内の誤差メモリに転送する（Ｓ６０７）。画像処理部１０４が誤差データを取得し、画像処理部内の誤差メモリに転送する。
【００５０】
誤差データの読み込みが必要ないと判定された場合は、画像データ転送制御部１０２が遅延付与部１０３の選択回路７３１を切り替える（Ｓ６０８）。
【００５１】
次に画像データ転送制御部１０２が遅延付与部１０３の各入力ラインに画素ブロックを転送する（Ｓ６０９）。
【００５２】
転送された画素ブロックは、遅延付与部１０３で遅延ラインごとに所望の遅延が付与される（Ｓ６１０）。
【００５３】
すなわち第一のグループに対応する遅延ラインは、７０１、７０２、７０３であり、第一のグループの第一入力遅延ライン７０１では、画像処理部１０４に遅延を付与せずにそのまま画像処理部１０４に入力される。第一のグループの第二入力遅延ライン７０２では、３つのＦＩＦＯメモリ７０９によって所定の遅延時間だけの３倍だけ遅延されて画像処理部１０４に入力される。第一のグループの第三入力遅延ライン７０３では、６つのＦＩＦＯメモリ７１０で所定の遅延時間の６倍だけ遅延され、画像処理部１０４に入力される。今回、画素シフト量が３であるため、第一のグループの第一入力遅延ラインを基準として、各ラインで３倍の遅延量が段階的に付与されるように構成される。第２のグループにおいても同様に第二グループの第一入力遅延ライン７０４を基準として、各ラインで３倍の遅延量が段階的に付与されるように構成される。第３のグループにおいても同様に第３グループの第一入力遅延ライン７０７を基準として、各ラインで３倍の遅延量が段階的に付与されるように構成される。なお、ＦＩＦＯ段数は先述したＦＩＦＯ段数の算出式に基づき構成される。ここでも、画素シフト量は３となるため、第一のグループではＦＩＦＯ段数は、第一入力遅延ライン８０１から順に０、３、６となる。第二のグループでは、図４（ｂ）の画素の読み込み位置に基づいて遅延量のオフセットを１として、ＦＩＦＯ段数は、第一の入力遅延ライン８０４から順に１、４、７となる。第三のグループでも同様に、第一の入力遅延ライン８０７から順にＦＩＦＯ段数が２、５となる。
【００５４】
遅延付与部１０３で遅延が付与された画像ブロックは、画像処理部１０４で受信される（Ｓ６１１）。その後、画像処理部１０４が誤差拡散の処理を実施する（Ｓ６１２）。
【００５５】
画像処理部１０４で誤差拡散の処理が完了したら、画像ブロックを遅延付与部１０３に転送する（Ｓ６１３）。
【００５６】
其々の入力遅延ラインを通過した画素ブロックは、対応した出力遅延ラインを通過するように選択回路７３２を切り替える。
【００５７】
すなわち、第一のグループの第一入力遅延ライン７０１を通過した画素は、第一のグループの第一の出力遅延ライン７２３を通過するように、選択回路７３２を切り替える。
【００５８】
以下同様に入力遅延ラインを通過した画素は、対応する出力遅延ラインを通過するように、選択回路７３２を切り替える。
【００５９】
転送された画素ブロックは、遅延付与部１０３で遅延ラインごとに所望の遅延が付与される（Ｓ６１４）。
【００６０】
ラインごとに遅延付与部の入力段で与えられた遅延差を解消させるように、出力側で遅延を与えられる。すなわち、第一のグループでは、入力側の最大遅延量は６であるため、入力側の遅延量と出力側の遅延量の和が最大遅延量６となるようにＦＩＦＯを構成すればよい。例えば、第一のグループの第一出力遅延ライン７２３に関しては、第一のグループの第一入力遅延ライン７０１で遅延を付与していないため、（最大遅延量６）−（第一入力ラインの遅延量０）＝６となるため、６段のＦＩＦＯ７１６で構成する。同様にして、第一のグループの第二出力遅延ライン７２４に関しては、（最大遅延量６）−（第２入力ラインの遅延量３）＝３となるため、３段のＦＩＦＯ７１７で構成する。同様にして、第一のグループの第三の出力遅延ライン７２５に関しては、（最大遅延量６）−（第三入力ラインの遅延量６）＝０となるため、ＦＩＦＯ段数は０となる。第二のグループに関しては、最大遅延量が７であるため、第二グループの第一の出力遅延ライン７２６は６段のＦＩＦＯ７１９となる。第二グループの第二の出力遅延ライン７２７は３段のＦＩＦＯ７２０、第二グループの第三の出力遅延ライン７２８は０段のＦＩＦＯとなる。
【００６１】
次に画像データ転送制御部１０２が画素位置から誤差データの書き出しが必要かどうかを判定する（Ｓ６１５）。
【００６２】
判定は処理される画素データの位置によって決まる。ここでは、第一の転送単位の最終ラインは、次の第二の転送単位の先頭行に誤差データを転送する必要があるため、誤差データの書き出しが必要だと判定される。なお、最終ラインを含む場合でも、画像の最下部で領域間の誤差が存在しない場合は、誤差データの書き出しが不要と判定される。
【００６３】
誤差データの書き出しが必要と判断された場合、画像処理部１０４が誤差データを外部記憶装置へ書き出す（Ｓ６１６）。
【００６４】
次に誤差拡散処理を施した画素ブロックを外部記憶装置へ書き出す（Ｓ６１７）。
【００６５】
誤差拡散処理によって、画素データがＮ値からＭ値に変換される。画素データのビット幅が変更される場合、転送される画素データのグループ分けが変更される。即ち、画素ブロックは、転送単位×ライン数で定義されるが、転送単位に内包される画素数が変わるため、画素データが内包される画素ブロックが変更となる。これにより、外部記憶装置への転送は常に一定の転送単位で実施され、画像処理の内容によって転送効率が低下するということがない。
【００６６】
すべての画素ブロックが処理されるまで上記の処理を繰り返す（Ｓ６１８）。
【００６７】
また、横画素６が入力された場合でも対応できる。転送ライン数は、先述した計算式に基づき（横６画素）／（画素シフト量３）＝２ライン以上にすればよい。ここでは３ラインとしているため、対応できる。つまり、想定される入力画像の最大の横幅に合わせて転送のライン数を用意しておけば、最大の横幅よりも小さい画像にも対応できる。
【００６８】
以上のようにして、外部記憶装置から画像データをブロック転送する際に、所定ライン数のブロックを主走査位置の異なる領域から複数読み込み、読み込んだ複数ブロックの画素に対し、ライン毎に所定の遅延量を付与して出力することが可能になる。
【００６９】
このように、画像データと誤差拡散処理に応じて転送するライン数を制御することで、バンド高さに応じたＦＩＦＯメモリを設ける必要がないため、バッファ容量を抑制することが可能になる。
【００７０】
上記のような構成にすれば、図６のフローチャートに基づいて、転送する画像ブロックのライン数が可変の場合について誤差拡散の画像処理を実施することができる。
【００７１】
以上のように、バンド領域を主走査位置の異なる画素ブロックに分割し、画素ブロックのライン数を（横Ｔ画素）／（画素シフト量）以上とすることで、遅延付与回路に対する遅延量を好適に削減することができる。また、画素シフト量と外部記憶装置への転送単位によって画素ブロックの画素数を決めることで、転送効率を維持することができる。
【００７２】
本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施例の機能を実現するソフトウェア（プログラム）を、データ通信用のネットワーク又は各種記憶媒体を介してシステム或いは装置に供給する。そして、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。また、そのプログラムをコンピュータが読み取り可能な記録媒体に記録して提供しても良い。
【符号の説明】
【００７３】
１００  画像データ読み込み部
１０１  画像データ書き込み部
１０２  画像データ転送制御部
１０３  遅延付与部
１０４  画像処理部
１０８  画像供給部
【図１】
2020167470.tif 000003
【図２】
2020167470.tif 000004
【図３】
2020167470.tif 000005
【図４】
2020167470.tif 000006
【図５】
2020167470.tif 000007
【図６】
2020167470.tif 000008
【図７】
2020167470.tif 000009