(57)【要約】【課題】ＨＶ変換における画像データの転送を待たせることなく高速に画像処理できる画像データの横縦変換、そのための横縦変換方法及び横縦変換回路、該回路を適用する画像形成装置を提供する。【解決手段】入力されるラスタ方向順次のデータをライン方向に変換する場合に、ラスターデータを複数ラインの画像データ群を連続したアドレスに配置するように貯えるメモリの第１領域から、２５６ラインのラスターデータを読み出して、一度に２５６ラインの横縦変換を行い、ライン方向に連続した画像データ群を第１領域の連続したアドレスに配置するように、メモリに書き戻すモードＡと、メモリの第２領域から、１２８ラインのラスターデータを読み出して、一度に１２８ラインの横縦変換を行い、ライン方向に連続した画像データ群を第２領域の連続したアドレスに配置するように、メモリに書き戻すモードＢとを設け、メモリの空き領域の大きさに従って、モードＡとモードＢとを切り替えて横縦変換を行う。【選択図】      図２１
2004223964.tif 000002
【特許請求の範囲】
【請求項１】
入力されるラスタ方向順次のデータをライン方向に変換して、ライン方向に複数の記録素子を一列に並べた記録ヘッドをラスタ方向に移動させながら、該変換後のデータを記録するシリアルスキャン型の画像形成装置で用いる画像データ変換回路であって、
ラスターデータをメモリ手段に一時貯えるよう制御する記憶制御手段と、
所定ライン分のラスターデータから該所定ライン方向の幅を有する画像データを一度に生成するレジスタ群からなり、画像データの横縦変換を行う横縦変換手段と、
前記メモリ手段から、第１のライン数のラスターデータを読み出して、前記横縦変換手段により一度に前記第１のライン数の横縦変換を行い、前記メモリ手段に書き戻すよう制御する第１の変換制御手段と、
前記メモリ手段から、前記第１のライン数よりも少ない第２のライン数のラスターデータを読み出して、前記横縦変換手段により一度に前記第２のライン数の横縦変換を行い、前記メモリ手段に書き戻すよう制御する第２の変換制御手段と、
前記メモリ手段の空き領域の大きさに従って、前記第１及び第２の変換制御手段を切り替えて横縦変換を行う切替手段とを有することを特徴とする画像データ変換回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は画像データの横縦変換、特に入力されるラスタ方向順次のデータを垂直方向に変換して、縦方向に複数の記録素子を一列に並べた記録ヘッドをラスタ方向に移動させながら、該変換後のデータを記録するシリアルスキャン型の画像形成装置で用いる画像データの横縦変換方法及び画像データ変換回路、該回路を適用する画像形成装置に関するものである。
【０００２】
【従来の技術】
従来、プリンタ等の記録ヘッドとして複数の記録素子を備えたドットインパクト方式、サーマル方式、インクジェット方式などを用いた画像形成装置は、記録用紙の搬送方向（副走査方向）と直行する方向（所謂ラスタ方向、又は主走査方向）に記録ヘッドを移動させながら画像形成を行い、記録ヘッド幅分の１行の画像形成を終えた段階で記録ヘッドの幅分だけ記録用紙を搬送し、その繰り返しで記録する方式（シリアルスキャン方式）が一般的である。記録する画像データは記録ヘッドの幅に相当するデータが順次記録ヘッドに転送され、１画素に相当する距離を主走査方向に移動する度に記録素子が駆動され画像を形成する。
【０００３】
ところが、ホストコンピュータ等から送られてくる画像データはラスタ方向に連続したデータである場合が多く、ラスタ方向の画像データを縦方向（ノズルの並んでいる方向）の画像データに変更する（以後、ＨＶ変換とも記す）必要がある。従来は、ヘッドのノズル数に対して少ない単位でのＨＶ変換を行い、ＨＶ変換を終了した画像データがヘッドのノズル数分以上用意出来た時点で、ヘッドにデータを転送して画像形成を行っていた。例えば、３２ドット×３２ドット単位のＨＶ変換器をもつ場合のＨＶ変換では、一度ラスター方向の画像データを３２ライン分メモリに書込み、３２ドット×３２ドットの画像データをＨＶ変換器に取り込み、縦方向の画像データに変換して、再び変換後の画像データを画像メモリに書き戻していた。
【０００４】
しかし、近年のヘッドにおける多ノズル化により、一度に出力する画像データの量が増大してくると、比較的大きな単位でのＨＶ変換により高速に画像データを用意することと、出力する画像データを高速に読み出すこととが必要になってきた。そこで、画像メモリの連続したアドレスに格納された画像データの書込み／読み出しを高速にアクセス（バーストアクセス）することが可能なＳＤＲＡＭ等を用いた画像データ制御回路が利用されている。
【０００５】
例えば、その一例として、３２ｂｉｔ（ラスター方向）×２５６ｂｉｔ（垂直方向）のラッチ群で構成されるＨＶ変換器を用い、一度に３２ｂｉｔ×２５６ライン分のＨＶ変換を行い、またヘッドノズルを６４０ノズルと仮定する。まず、ＨＯＳＴから送信されるラスター方向の画像データを、画像メモリに１ラインずつ書込む。そして２５６ライン分の画像データが書込まれたら、ＨＶ変換を起動し３２ｂｉｔ×２５６ライン単位でのＨＶ変換を横幅分行う。以上を繰り返し、ヘッドノズル以上のライン数のＨＶ変換後の画像データが用意出来たら、ヘッドに画像データを転送し記録媒体に出力する。
【０００６】
【発明が解決しようとする課題】
しかしながら、上記従来例では画像メモリ内に２５６ライン分の空き領域がないと、ラスター方向の画像データを書込むことが出来ない。その為に、限られた画像メモリの容量内で繰り返し、既に出力した２５６ライン分の空き領域に次の画像データの書込み及びＨＶ変換を行いながら画像形成を行う場合においては、画像データを読み出し画像形成している領域に、次に画像形成しなければならない画像データの用意をしなければならない状態が発生する。この時、画像データを読み出している最中は、ＨＯＳＴからのラスター方向の画像データを１ラインも受信することが出来ず、画像形成している画像データの領域が空くまで待機しなければならないため、画像メモリバスの効率化、プリンタ画像形成の高速化の妨げとなっている。
【０００７】
本発明は、上記従来の問題点に鑑み、ＨＶ変換における画像データの転送を待たせることなく高速に画像処理できる画像データの横縦変換、そのための横縦変換方法及び横縦変換回路、該回路を適用する画像形成装置を提供する。
【０００８】
【課題を解決するための手段】
かかる課題を解決するために、本発明の画像データ変換回路は、入力されるラスタ方向順次のデータをライン方向に変換して、ライン方向に複数の記録素子を一列に並べた記録ヘッドをラスタ方向に移動させながら、該変換後のデータを記録するシリアルスキャン型の画像形成装置で用いる画像データ変換回路であって、ラスターデータをメモリ手段に一時貯えるよう制御する記憶制御手段と、所定ライン分のラスターデータから該所定ライン方向の幅を有する画像データを一度に生成するレジスタ群からなり、画像データの横縦変換を行う横縦変換手段と、前記メモリ手段から、第１のライン数のラスターデータを読み出して、前記横縦変換手段により一度に前記第１のライン数の横縦変換を行い、前記メモリ手段に書き戻すよう制御する第１の変換制御手段と、前記メモリ手段から、前記第１のライン数よりも少ない第２のライン数のラスターデータを読み出して、前記横縦変換手段により一度に前記第２のライン数の横縦変換を行い、前記メモリ手段に書き戻すよう制御する第２の変換制御手段と、前記メモリ手段の空き領域の大きさに従って、前記第１及び第２の変換制御手段を切り替えて横縦変換を行う切替手段とを有することを特徴とする。
【０００９】
【発明の実施の形態】
以下、本発明の実施形態について図面を参照しながら、詳細に説明する。
【００１０】
尚、本明細書において、「プリント」（以下においては「記録」という場合もある）とは、文字、図形等有意の情報を形成する場合のみならず、有意無意を問わず、また人間が視覚で知覚しうるように顕在化したものであるか否かを問わず、記録媒体上に液体を付与することによって広く画像、模様、パターン等を形成する、または媒体の加工を行う場合も言うものとする。又、「記録媒体」とは、一般的な記録装置で用いられている紙のみならず、広く布、プラスチックフィルム、金属板等、記録ヘッドによって吐出されるインクを受容可能なものも言うものとする。更に「インク」とは、上記「プリント」の定義と同様広く解釈されるべきもので、記録媒体上に付与されることによって画像、模様、パターン等の形成、または記録媒体の加工に供されうる液体を言うものとする。
【００１１】
＜本実施形態の横縦変換を適用する画像形成装置の構成例＞
図１は、本実施形態の画像形成装置の記録制御部の要部構成を説明するブロック図であり、例えば、画像形成データを格納する画像形成バッファ制御回路に対応する。
【００１２】
１００は、画像処理ＩＣ（後述）１０２とコマンドのやり取り、２値化された画像データを３２ｂｉｔのバス幅で、ラスター（記録ヘッドのスキャン方向）方向で転送するＨＯＳＴコンピュータである。１０１は画像処理ＩＣ（後述）と接続され、各レジスタの設定により、画像データの転送開始アドレス、画像データの画像形成開始位置、ＳＤＲＡＭ内部の画像データの書き込み状態を把握するＣＰＵ、１０２はＣＰＵ１０１に制御され、主に画像メモリ（後述）１０８の制御、ラスター方向の画像データをヘッドの並びの垂直方向に変換する画像処理ＩＣである。
【００１３】
以下画像処理ＩＣ１０２内部の各機能ブロックの説明をする。１０３は、ＨＯＳＴ１００より転送されるラスター方向の画像データを一旦バッファするＦＩＦＯであるＩ／Ｆブロック、１０４は、Ｉ／Ｆブロック１０３で一旦バッファされた画像データを、画像メモリ１０８内の離散的なアドレスに配置するＩ／ＦＤＭＡブロック、１０５は、ＨＶ変換時に、画像メモリ１０８にアクセスし適当な画像データを読み出し、またＨＶ変換後の画像データを適当なアドレスに書き込むＨＶＤＭＡブロック、１０６は、２５６ｂｉｔ×３２ｂｉｔのラッチ群で構成され、縦２５６ｂｉｔで横３２ｂｉｔの画像データのＨＶ変換を行うＨＶ変換器、１０７は、ＨＶ変換された後の画像データを読み出し、ヘッド（後述）１０９の画像形成タイミングにあわせて画像データをヘッドに転送するＨｅａｄ＿ＤＭＡブロックである。ここで、画像処理ＩＣ１０２は、３２ｂｉｔのバスを入出力インタフェースとして有する汎用のデータ転送制御チップとして独立に提供されてよい。あるいは、更にＣＰＵ１０１やＳＤＲＡＭ１０８などと一体化したチップや制御回路として提供されてもよい。あるいは、逆にＨＶＤＭＡブロック１０５やＨＶ変換器１０６を別のチップで提供してもよい。すなわち、本発明に係る回路単位は図１の要素の種々の組み合わせが可能であり、その回路単位での商品化の価値がある。
【００１４】
又、１０８は、メモリアドレスとしてＣｏｌｕｍｎ方向００〜ＦＦｈ（本明細書で”ＸＸＸｈ”は、ヘキサデシマルの数を表す）、Ｒａｗ方向に０００ｈ〜７ＦＦｈデータ幅の３２ｂｉｔの画像データ空間を持つ画像メモリ（ＳＤＲＡＭ）、１０９は、多数のノズル（不図示）を備えた、Ｈｅａｄ＿ＤＭＡブロックからの画像データを実際の画像形成のタイミングによりインクの吐出を行うことで、画像形成を行うヘッドである。尚、本実施形態では、説明の為に画像は一色、又、ノズルの数は６４０ノズルとして以下の説明をする。
【００１５】
図２は、本実施形態の代表的な画像形成装置であるインクジェットプリンタＩＪＲＡの構成の概要を示す外観斜視図である。
【００１６】
図２において、駆動モータ５０１３の正逆回転に連動して駆動力伝達ギア５００９〜５０１１を介して回転するリードスクリュー５００５の螺旋溝５００４に対して係合するキャリッジＨＣはピン（不図示）を有し、ガイドレール５００３に支持されて矢印ａ，ｂ方向を往復移動する。キャリッジＨＣには、記録ヘッドＩＪＨとインクタンクＩＴとを内蔵した一体型インクジェットカートリッジＩＪＣが搭載されている。５００２は紙押え板であり、キャリッジＨＣの移動方向に亙って記録用紙Ｐをプラテン５０００に対して押圧する。５００７，５００８はフォトカプラで、キャリッジのレバー５００６のこの域での存在を確認して、モータ５０１３の回転方向切り換え等を行うためのホームポジション検知器である。５０１６は記録ヘッドＩＪＨの前面をキャップするキャップ部材５０２２を支持する部材で、５０１５はこのキャップ内を吸引する吸引器で、キャップ内開口５０２３を介して記録ヘッドの吸引回復を行う。５０１７はクリーニングブレードで、５０１９はこのブレードを前後方向に移動可能にする部材であり、本体支持板５０１８にこれらが支持されている。ブレードは、この形態でなく周知のクリーニングブレードが本例に適用できることは言うまでもない。又、５０２１は、吸引回復の吸引を開始するためのレバーで、キャリッジと係合するカム５０２０の移動に伴って移動し、駆動モータからの駆動力がクラッチ切り換え等の公知の伝達機構で移動制御される。
【００１７】
これらのキャッピング、クリーニング、吸引回復は、キャリッジがホームポジション側の領域に来た時にリードスクリュー５００５の作用によってそれらの対応位置で所望の処理が行えるように構成されているが、周知のタイミングで所望の動作を行うようにすれば、本例にはいずれも適用できる。
【００１８】
次に、上述した装置の記録制御を実行するための制御構成について説明する。
【００１９】
図３はインクジェットプリンタＩＪＲＡの制御回路の構成を示すブロック図である。
【００２０】
制御回路を示す同図において、１７００は記録信号を入力するインタフェース、１７０１はＭＰＵ、１７０２はＭＰＵ１７０１が実行する制御プログラムを格納するＲＯＭ、１７０３は各種データ（上記記録信号やヘッドに供給される記録データ等）を保存しておくＤＲＡＭである。１７０４は記録ヘッド１７０８に対する記録データの供給制御を行うゲートアレイ（Ｇ．Ａ．）であり、インタフェース１７００、ＭＰＵ１７０１、ＲＡＭ１７０３間のデータ転送制御も行う。１７１０は記録ヘッド１７０８を搬送するためのキャリアモータ、１７０９は記録紙搬送のための搬送モータである。１７０５は記録ヘッドを駆動するヘッドドライバ、１７０６，１７０７はそれぞれ搬送モータ１７０９、キャリアモータ１７１０を駆動するためのモータドライバである。
【００２１】
上記制御構成の動作を説明すると、インタフェース１７００に記録信号が入るとゲートアレイ１７０４とＭＰＵ１７０１との間で記録信号がプリント用の記録データに変換される。そして、モータドライバ１７０６、１７０７が駆動されると共に、ヘッドドライバ１７０５に送られた記録データに従って記録ヘッドが駆動され、記録が行われる。
【００２２】
＜本実施形態の横縦変換を適用する画像形成装置の動作例＞
図４は、上記保実施形態の横縦変換を適用する画像形成装置の動作手順例を示すフローチャートである。
【００２３】
まず、ステップＳ１０とＳ２０で、ＳＤＲＡＭ１０８の空容量が２５６ライン以上あるか、１２８ライン以上あるかを判断する。空容量が２５６ライン以上ある場合は、モードＡ（以下に詳説する）による画像データのＨＶ変換及び転送が可能であるので、ステップＳ２０でＩ／ＦＤＭＡブロック１０４とＨＶＤＭＡブロック１０５にモードＡでの動作の指示及びパラメータの設定を行う（以下、図１１で説明）。一方、空容量が２５６ライン未満だが１２８ライン以上ある場合は、ステップＳ４０でＩ／ＦＤＭＡブロック１０４とＨＶＤＭＡブロック１０５にモードＢでの動作の指示及びパラメータの設定を行う（以下、図１８で説明）。
【００２４】
次に、ステップＳ５０で、設定されたモードでＩ／ＦＤＭＡブロック１０４によるＨＯＳＴ１００からＳＤＲＡＭ１０８への画像データの転送（ラスター方向＝主走査方向）を行う。本例では、ステップＳ５０で２５６ラインの画像データがＤＲＡＭ１０８へ記憶されると、ステップＳ６０に進んで、ＨＶＤＭＡブロック１０５によりＳＤＲＡＭ１０８から読み出された２５６ラインの３２ｂｉｔがＨＶ変換器１０６で順に横縦変換（実際は横から縦）されて、ＨＶＤＭＡブロック１０５によりＳＤＲＡＭ１０８の読み出された同じ領域に書き戻される。尚、ステップＳ５０とＳ６０の処理は共にＤＭＡ処理であり、インタラプト処理により並行に行われてよい。
【００２５】
ステップＳ７０では、ＨＶ変換されて印刷処理されていない画像データが、本例では６４０ライン（ヘッド１０９のノズルの数）分以上であるかが判定される。６４０ライン分以上のＨＶ変換データが用意されると、ステップＳ８０で現在ヘッド１０９が走査中であるか否かが判定される（走査中とは、印刷及びヘッドリターン中を含む）。走査中でなければヘッド１０９が空きであるとして、ステップＳ９０でＨｅａｄ＿ＤＭＡブロック１０７によりＳＤＲＡＭ１０８から６４０ラインの画像データを読み出してプリント処理を実行する。ここで、プリントは６４０ライン全部を１回の走査で行わず、分割処理をする。本例では、その一例として、奇数ノズル／偶数ノズルを交互に選択するプリント処理を例に説明する。尚、ステップＳ９０もＨｅａｄ＿ＤＭＡブロック１０７によるＤＭＡ処理であるので、インタラプト処理によりステップＳ５０とＳ６０の処理と並行に行われてよい。
【００２６】
上記ＤＭＡ処理のタイミング制御はＤＭＡブロック間で行ってもよいが、ＣＰＵ１０１で一括して行うのが望ましい。
【００２７】
＜モードＡ：２５６ライン毎にＨＶ変換＞
次に図を用いて、２５６ライン毎にＨＶ変換を行うモードＡを説明する。
【００２８】
（ＳＤＲＡＭ１０８への書き込み例）
図５は、ＨＯＳＴ１００がプリンタエンジン部に転送する画像データの構成例である。ここで説明の為に、画像データをライン単位毎に区切り、上位ラインから１ライン、２ライン、３ライン…とし、更に、１つのラスター画像データを画像メモリのバス幅の３２ｂｉｔ毎に分け、上位の方（画像の左側）から１ワード（Ｗ）、２ワード、３ワード…とする。また１ライン目の３ワード目の３２ｂｉｔの画像データを”１−３”と言うように表現する。本実施形態では、転送する画像データ、１ラインのサイズを５１２ワード（５１２×３２ｂｉｔ＝１６３８４ドット）までをサポートするものとする。
【００２９】
図６は、画像メモリ１０８の内部を表す図であり、Ｃｏｌｕｍｎ方向に００ｈ〜ＦＦｈ、Ｒａｗ方向に０００ｈ〜１ＦＦｈを一色で２５６ライン分の画像データの領域とし、全領域ではＲａｗ方向に０００ｈ〜７ＦＦｈまでの領域で、２５６ライン×４＝１０２４ライン分の画像データを確保することができるＳＤＲＡＭ１０８を使用している。
【００３０】
まず、ＨＯＳＴ１００は、画像データの１ラインを１−１、１−２、１−３、…、１−５１２の順番で、画像処理ＩＣ１０２内部のＩ／Ｆブロック１０３に転送する。転送開始時に、ＣＰＵ１０１は、Ｉ／ＦＤＭＡブロック１０３に転送開始アドレス、（Ｒａｗ０００ｈ，Ｃｏｌｕｍｎ００ｈ）を設定する。次に、画像メモリ１０８へのＤＭＡ転送を開始する。Ｉ／ＦＤＭＡブロック１０３は、設定された転送開始アドレスの、（Ｒａｗ０００ｈ，Ｃｏｌｕｍｎ００ｈ）に１−１を書き込む。次に、Ｉ／ＦＤＭＡブロック１０３のアドレスカウンタ（不図示）により、Ｃｏｌｕｍｎ方向に＋２０ｈして、（Ｒａｗ０００ｈ，Ｃｏｌｕｍｎ２０ｈ）に１−２を書き込む。同様にＣｏｌｕｍｎ方向に＋２０ｈして１−３を順に書き込む。
【００３１】
以上を繰り返し、ＣｏｌｕｍｎアドレスがＦＦｈを超えるときは、Ｃｏｌｕｍｎは００ｈにクリアしＲａｗ方向に＋８ｈする。すなわち、１−９は（Ｒａｗ００８ｈ，Ｃｏｌｕｍｎ００ｈ）に書き込まれる。以上を繰り返し、ＣＰＵ１０１によりソフトで設定された転送開始アドレスを元に、１ラインの画像データの５１２ワードをハードで、離散的なアドレスに書き込むと、図６のように配置される。
【００３２】
同様に、２ラインの画像データの５１２ワードを、ＨＯＳＴ１００からＩ／Ｆブロック１０３に転送する。ＣＰＵ１０１は、画像処理ＩＣ１０２に、２ラインの転送開始アドレスとして（Ｒａｗ０００ｈ，Ｃｏｌｍｎ０１ｈ）にセットし、１ラスターと同様にアドレスカウンタを動かし、２−１、２−２、…、２−５１２を画像メモリの離散的なアドレスに配置する。続いて、３ラインの転送開始アドレスを（Ｒａｗ０００ｈ，Ｃｏｌｕｍｎ０２ｈ）に、４ラインの転送開始アドレスは、（Ｒａｗ０００ｈ，Ｃｏｌｕｍｎ０３ｈ）のように転送開始アドレスを設定し、次ラスター転送時にはＣｏｌｕｍｎ方向に＋１ｈしていく。
【００３３】
更に、Ｃｏｌｕｍｎ方向の転送開始アドレスが１Ｆｈを超えるときには、Ｒａｗ方向アドレスを＋１ｈして、Ｃｏｌｕｍｎは００ｈにリセットする。３３ライン目の転送開始アドレスは（Ｒａｗ００１ｈ，Ｃｏｌｕｍｎ００ｈ）にセットされる。以上の様にして、ラスター毎に転送開始アドレスをＣＰＵ１０１によって設定し、画像処理ＩＣ１０２のアドレスカウンタにより、２５６ライン分の画像データを画像メモリに離散的に配置する。又、２５６ライン目以降は、２５７〜５１２ラインがＲａｗ２００ｈ〜３ＦＦｈ、５１３〜７６８ラインがＲａｗ４００ｈ〜５ＦＦｈ，７６９〜１０２４ラインがＲａｗ６００ｈ〜７ＦＦｈの領域に書込まれ、ＳＤＲＡＭ１０８内には１〜１０２４ライン分でメモリフルとなる。
【００３４】
次に、図７を用いて、ラスターデータ転送終了後の画像メモリ内部の様子を説明する。
【００３５】
図７のように、２５６ライン分の画像データ転送終了後は１ライン〜２５６ラインまでの１ワードのデータの塊が（Ｒａｗ０００ｈ〜００７ｈ，Ｃｏｌｕｍｎ００ｈ〜１Ｆｈ）の領域に配置される。同様に、１ライン〜２５６ラインの２ワードはＣｏｌｕｍｎ２０ｈ〜３Ｆｈの領域に、１ライン〜２５６ラインの３ワードはＣｏｌｕｍｎ４０ｈ〜５Ｆｈの領域に配置される。又、説明の為に各ラインの１ワードを１Ｗ、２ワードを２Ｗ、３ワードを３Ｗ、…とすると、１Ｗ〜５１２Ｗはそれぞれ図７のようにラスター方向に３２ｂｉｔ、縦（ノズル方向）２５６ｂｉｔの画像のブロックとなり、１ラインから３２ラインまでが、Ｃｏｌｕｍｎ方向に連続したアドレスに配置される。各Ｗのデータは画像データ転送時と同様に横並び、すなわちラスター方向に並んでいる為、実際にインクの吐出を行うヘッドノズルの並びである縦の方向に変換（以後ＨＶ変換）をしなければならない。
【００３６】
（モードＡのＨＶ変換例）
次に、ＨＶ変換の様子について図８を用いて説明する。
【００３７】
図８の上段は、１Ｗの１〜２５６ラインの画像メモリ１０８の配置を示したものである。図８の中段は、１Ｗの画像データがＨＶ変換器１０６に取り込まれる様子を示している。図８の下段は、ＨＶ変換器１０６であり３２ｂｉｔ×２５６のラッチ群で構成され、１Ｗの画像データがＨＶ変換器１０６に取り込まれる様子を示している。
【００３８】
ＣＰＵ１０１は２５６ラスター分の画像データ転送後に、ＨＶＤＭＡブロック１０５にＨＶ変換開始アドレス（Ｒａｗ０００ｈ，Ｃｏｌｕｍｎ００ｈ）を設定し、ＨＶのモードをモードＡ（２５６ライン毎のＨＶ変換）にセット、またＨＶ変換回数の設定を行う。本実施形態では横幅５１２Ｗの画像データで、一度に縦２５６ｂｉｔ横３２ｂｉｔのＨＶ変換を行うので、ＨＶ変換回数に５１２回をセットする。そしてＨＶ変換を起動する。
【００３９】
ＨＶＤＭＡブロック１０５は、設定されたアドレスを基に１Ｗの画像データのうち、図８の中段に示すように、１−１〜８−１までを８バースト（ＳＤＲＡＭ１０８の高速連続アクセス）で取り込み、ＨＶ変換器１０６に取り込む。同様にして、９−１〜１６−１、１７−１〜２４−１、…２４９−１〜２５６−１の順で８バースト×３２回行うことで、１Ｗの画像データをＨＶ変換器１０６に取り込む。以上のように、Ｃｏｌｕｍｎ方向に連続したアドレスに配置された画像データを８バーストアクセスにより取り込むことで、高速にＨＶ変換器１０６に取り込むことができる。
【００４０】
次に、ＨＶ変換器１０６に取り込んだ画像データを垂直方向に引き抜き、ＳＤＲＡ１０８に書き戻すＨＶ変換を行う。
【００４１】
図９の上段は、ＨＶ変換器１０６に１Ｗの画像データが取り込まれた様子である。各ラスター方向の画像データ（１−１、２−１、…、２５６−１）は３２ｂｉｔで構成されていて、上位のｂｉｔからＤ３１〜Ｄ０とする。すなわち、ラスター方向の画像データ１６３８４ｂｉｔを、３２ｂｉｔ単位で区切ったものを左端から１Ｗ、２Ｗ、…、５１２Ｗとして、各Ｗをｂｉｔ単位で区切ったものを左からＤ３１、Ｄ３０、Ｄ２９、…、Ｄ０としているので、ラスター方向と垂直方向の画像データ群のｂｉｔ単位でのラスター方向の並びは、左端から、１Ｗの（Ｄ３１、Ｄ３０、Ｄ２９、…、Ｄ０）、２Ｗの（Ｄ３１、Ｄ３０、…Ｄ０）、５１２Ｗの（Ｄ３１、…Ｄ２、Ｄ１、Ｄ０）のような１６３８４ｂｉｔの順番となる。
【００４２】
図９の中段は、ＨＶ変換器１０６から読み出してＳＤＲＡＭ１０８に書き込む８バーストアクセスを示す図である。各ラインのＤ３１のグループ、Ｄ３０のグループ、…、Ｄ０のグループの２５６ｂｉｔがノズル方向の縦に並んだ画像データとなるので、Ｄ３１のグループ２５６ｂｉｔを３２ｂｉｔずつ８のグループに分け、上位から（Ｄ３１−１、Ｄ３１−２、…、Ｄ３１−８）とする。そしてＤ３１−１〜Ｄ３１−８をバーストアクセスにより、画像メモリの１Ｗが書込まれていた領域内の（Ｒａｗ０００ｈ，Ｃｏｌｕｍｎ００ｈ〜０７ｈ）に書込む。同様にして、Ｄ３０−１〜Ｄ３０−８をＣｏｌｕｍｎ０８〜０Ｆｈに書込む。ＨＶ変換器に取り込んだ時と同様にアドレスをインクリメントさせて、Ｄ３１〜Ｄ０までのグループを８バーストアクセスで画像メモリに書き込む。
【００４３】
すると、図９の下段のように、Ｄ３１〜Ｄ０までのＨＶ変換された画像データの２５６ｂｉｔが、Ｃｏｌｕｍｎ方向に８連続したアドレスに書き込まれる。以上のようにして、１ＷのＨＶ変換を行うことで、一回目のＨＶ変換を終了する。ＨＶ変換の回数は５１２回にセットされているので、ＨＶＤＭＡブロック１０５はアドレスを２Ｗの１ライン目が格納されている（Ｒａｗ０００ｈ，Ｃｏｌｕｍｎ２０ｈ）に初期化及びインクリメントして、１Ｗと同じようにＳＤＲＡＭ１０８のアドレスを変化させて、２ＷのＨＶ変換を行い、２回目のＨＶ変換を終了する。同様にＨＶＤＭＡブロック１０５は３ＷのＨＶ変換時にはアドレスを（Ｒａｗ０００ｈ，Ｃｏｌｕｍｎ４０ｈ）に初期化及びインクリメントして３ＷのＨＶ変換を行い、３回目のＨＶ変換を終了する。以上のように、ＨＶＤＭＡブロック１０５は図７における各Ｗの１ライン目の画像データが格納されている領域にアドレスをハード的に初期化及びインクリメントさせながら、引き続き４Ｗ、５Ｗ、…、５１２ＷのＨＶ変換をおこなう。
【００４４】
５１２Ｗ分のＨＶ変換が終了すると、図１０のように各Ｗの元の領域にＨＶ変換されたＤ３１〜Ｄ０のそれぞれの２５６ｂｉｔが配置される。又、各ＷのＤ３１〜Ｄ０は、各々Ｃｏｌｕｍｎ方向に８連続したアドレスに配置されているので、画像形成時における画像データ読み出し時にも８バーストアクセスで、２５６ｂｉｔ分（２５６ライン分）の画像データを高速に読み出すことが可能になる。又、２５７ライン目以降は、Ｒａｗ２００ｈ以降の領域に、同じように２５６ライン毎の画像領域にラスター方向の画像データをＳＤＲＡＭ１０８に格納し、ＨＶ変換を行う。以上のようにして、２５６ライン分毎に８バーストアクセスにより、高速に画像データのＨＶ変換を行うことができる。
【００４５】
（モードＡにおけるパラメータ設定例）
図１１は、モードＡにおけるパラメータ、例えば、ＳＤＲＡＭ１０８へのライトアドレス（カラム，ロウ）／リードアドレス（カラム，ロウ）の初期値や、カラムアドレス及びロウアドレスの加算値、アドレスを初期化する閾値など、の設定手順例を示すフローチャートである。このフローチャートに従う動作はＣＰＵ１０１が実行する。尚、上記説明では、Ｉ／ＦＤＭＡブロック１０４が所定量の画像データをＳＤＲＡＭ１０８に書き込んだ時点で、ＣＰＵ１０１の制御でＨＶＤＭＡブロック１０５のアドレスの設定をし、又ＤＭＡブロックの初期化やアドレス加算もＣＰＵ１０１が制御するように説明したが、図１１では、モードＡのＨＶ変換の開始時にＩ／ＦＤＭＡブロック１０４及びＨＶＤＭＡブロック１０５に初期値、加算値、閾値を設定して、ＤＭＡブロックはＣＰＵ１０１の制御を離れて自動的に動作する（ハード的にあるいはソフト的に）ような構成で説明する。本実施形態は係る構成に限定されるものではない。
【００４６】
まず、ステップＳ２１からＳ２３で、Ｉ／ＦＤＭＡブロック１０４に初期値、加算値、閾値を設定する。ステップＳ２１では、ライトアドレスの初期値を設定する。本例では（Ｒａｗｎ００ｈ，Ｃｏｌｕｍｎ００ｈ）である。尚、Ｒａｗのｎ００ｈの”ｎ”は、以下の図１９から図２２に示すように、ＳＤＲＡＭ１０８のどのブロック（本例では０〜３の４ブロック）から書き込むかにより変化する。以下では、説明を明瞭にするため（Ｒａｗ０００ｈ，Ｃｏｌｕｍｎ００ｈ）、すなわちｎ＝０として説明する。
【００４７】
次に、ステップＳ２２でカラムアドレスの制御値（加算値と閾値）が設定される。本例では、加算値０１として２０ｈが、閾値０１としてＦＦｈが設定される。この設定により、図６及び図７のように、例えば、１−１から１−８までは＋２０ｈしながら格納され、カラムアドレスがＦＦｈを越えると００ｈに初期化される。又、加算値０２として０１ｈが、閾値０２として１Ｆｈが設定される。この設定により、１−１から１−５１２までが格納されると、カラムアドレスが初期値の００ｈ＋０１ｈ＝０１ｈとなって、２−１が（Ｒａｗ００１ｈ，Ｃｏｌｕｍｎ００ｈ）に格納されるように制御される。この加算値０２による加算でカラムアドレスの初期値が１Ｆｈを越える（図７で３２−１までの格納が終わる）と、カラムアドレスの初期値は再び００ｈとなる（図７で３３−１の格納位置参照）。
【００４８】
次に、ステップＳ２３では、ロウアドレスの制御値（加算値と閾値）が設定される。本例では、加算値１１として００８ｈが、閾値１１として（ｎ＋１）ＦＦｈが設定される。この設定により、上記カラムアドレスがＦＦｈを越えた場合に、図６及び図７のように、１−８の格納の次は１−９が（Ｒａｗ００８ｈ，Ｃｏｌｕｍｎ００ｈ）に格納される。そして１ＦＦｈを越える（例えば１−５１２まで格納される）と、ロウアドレスは初期化され２−１は０００ｈに格納される。又、加算値１２として００１ｈが、閾値１２として００７ｈが設定される。この設定により、例えば３２−５１２までが格納されると、ロウアドレスの初期値が＋００１ｈされて３３−１が００１ｈに格納される。そして、閾値１２により最後の２５６−５１２までが格納されたことを判定する。
【００４９】
上記Ｉ／ＦＤＭＡブロック１０４の初期値、加算値、閾値の設定により、Ｉ／ＦＤＭＡブロック１０４はＨＯＳＴ１００からのラスター画像データを、図６及び図７のように、ＳＤＲＡＭ１０８に格納できる。尚、初期化や加算などの制御は、ハード的にもソフト的にも可能であるが、処理速度を高めるにはハードウエア化が望ましい。
【００５０】
次に、ステップＳ２４からＳ２６で、ＨＶＤＭＡブロック１０５に初期値、加算値、閾値を設定する。ＨＶＤＭＡブロック１０５は既に説明した如く、１つのＷ単位でＳＤＲＡＭ１０８から８バーストで読み出して、ＨＶ変換器１０６に順に書き込み、ＨＶ変換された画像データをＨＶ変換器１０６から読み出して、ＳＤＲＡＭ１０８の同じＷ領域に８バーストで書き込むように動作する。
【００５１】
まず、ステップＳ２４で、ライト／リードアドレスの初期化を行う。本例では（Ｒａｗｎ００ｈ，Ｃｏｌｕｍｎ００ｈ）である。そして、モードを８バーストモード（３２ｂｉｔの８ワードを連続でリード／ライトする）に設定する。尚、Ｒａｗのｎ００ｈの”ｎ”は、ステップＳ２１に対応し、ＳＤＲＡＭ１０８のどのブロック（本例では０〜３の４ブロック）から書き込むかにより変化する。以下では、説明を明瞭にするため（Ｒａｗ０００ｈ，Ｃｏｌｕｍｎ００ｈ）、すなわちｎ＝０として説明する。
【００５２】
次に、ステップＳ２５では、カラムアドレスの制御値（加算値と閾値）が設定される。本例では、加算値２１として０８ｈが、閾値２１として１Ｆｈが設定される。この設定により、図９及び図１０のように、例えば、Ｄ３１（Ｄ３１−１〜Ｄ３１−８）からＤ２８（Ｄ２８−１〜Ｄ２８−８）までは＋０８ｈしながら８バーストモードで格納され、カラムアドレスが１Ｆｈを越えると００ｈに初期化される。又、加算値２２として２０ｈが、閾値２２としてＦＦｈが設定される。この設定により、図１０のように１ＷにＤ３１からＤ０までが格納されると、カラムアドレスが初期値の００ｈ＋２０ｈ＝２０ｈとなって、２ＷのＤ３１が（Ｒａｗ０００ｈ，Ｃｏｌｕｍｎ２０ｈ）に格納されるように制御される。この加算値２２による加算でカラムアドレスの初期値がＦＦｈを越える（図１０で８Ｗまでの格納が終わる）と、カラムアドレスの初期値は再び００ｈとなる（図１０で９ＷのＤ３１の格納位置参照）。
【００５３】
次に、ステップＳ２６では、ロウアドレスの制御値（加算値と閾値）が設定される。本例では、加算値３１として００１ｈが、閾値３１として００７ｈが設定される。この設定により、上記カラムアドレスが１Ｆｈを越えた場合に、図９及び図１０のように、Ｄ２８の格納の次はＤ２７が（Ｒａｗ００１ｈ，Ｃｏｌｕｍｎ００ｈ）に格納される。そして００７ｈを越える（例えばＤ０まで格納される）と、ロウアドレスは初期化され次のＷのＤ３１は０００ｈに格納される。又、加算値３２として００８ｈが、閾値３２として（ｎ＋１）ＦＦｈが設定される。この設定により、例えば８Ｗまでが格納されると、ロウアドレスの初期値が＋００８ｈされて９ＷのＤ３１が００８ｈに格納される。そして、閾値３２により最後の５１２Ｗまでが格納されたことを判定する。
【００５４】
上記ＨＶＤＭＡブロック１０５の初期値、加算値、閾値の設定により、ＨＶＤＭＡブロック１０６はＳＤＲＡＭ１０８から８バーストモードで読み出されたＷ単位の画像データを、図９及び図１０のように、ＨＶ変換されてＳＤＲＡＭ１０８の同じＷの領域に書き戻される。尚、初期化や加算などの制御は、ハード的にもソフト的にも可能であるが、処理速度を高めるにはハードウエア化が望ましい。
【００５５】
＜モードＢ：１２８ライン毎にＨＶ変換＞
次に、１２８ライン毎にＨＶ変換を行うモードＢを説明する。
【００５６】
（ＳＤＲＡＭ１０８への書き込み例）
図１２乃至図１４に、モードＢ時の画像データの配置を示す。
【００５７】
図１２は、１〜１２８ライン、ＤＭＡ転送時の各々で、ＣＰＵ１０１がＩ／ＦＤＭＡブロック１０４に設定するスタートアドレスを示したＳＤＲＡＭ１０８内の様子であり、図１３は、１Ｗ目と９Ｗ目の１〜１２８ライン分の画像データの配置を示す図である。モードＡ時と同じように、１ラインの１Ｗ目を１−１、２Ｗ目を１−２とする。
【００５８】
まず、１ライン目の転送時には、ＣＰＵ１０１はＤＭＡ転送開始アドレスを（Ｒａｗ０００ｈ，Ｃｏｌｕｍｎ０００ｈ）に設定する。Ｉ／ＦＤＭＡブロック１０４は設定されたスタートアドレスに対し、モードＡ時と同じアドレスカウンタにより、Ｃｏｌｕｍｎ方向に＋２０ｈして１−２は（Ｒａｗ０００ｈ，Ｃｏｌｕｍｎ２０ｈ）に書込む。同様に＋２０ｈして１−３をＣｏｌｕｍｎ４０ｈに書込む。以上を繰り返し、ＣｏｌｕｍｎがＦＦｈを超える時には、Ｒａｗ方向に＋８ｈし、ＣｏｌｕｍｎはＣＰＵ１０１に設定された値に戻す。すなわち、１−９は図１２のように、（Ｒａｗ００８ｈ，Ｃｏｌｕｍｎ００ｈ）に書込む。以上を繰り返し、１−１〜１−５１２を離散的に配置する。
【００５９】
次に、２ライン目の転送時には、ＣＰＵ１０１は転送開始アドレスを（Ｒａｗ０００ｈ，Ｃｏｌｕｍｎ０１ｈ）にセットし１ライン目と同様に転送する。同様に、２、３、４ライン目の転送開始アドレスをＣｏｌｕｍｎ方向に＋０１ｈして転送する。又、ＣＰＵ１０１は５ライン目の転送時には、転送開始アドレスを図１２に示すように（Ｒａｗ００１ｈ，Ｃｏｌｕｍｎ００ｈ）にセットし転送する。以上のように、Ｃｏｕｌｍｎ方向に＋０１ｈして転送開始アドレスを設定し、Ｃｏｌｕｍｎアドレスが０３ｈを超える時はＲａｗアドレスを＋０１ｈし、Ｃｏｌｕｍｎアドレスを００ｈに初期化する。
【００６０】
以上のように、図１２の各Ｗの（Ｒａｗ０００ｈ〜００７ｈ，Ｃｏｌｕｍｎ００ｈ〜０３ｈ）に対応する領域内に１〜３２ラインのラスターの転送開始アドレスを設定し、各々５１２Ｗ分（画像の横幅サイズ分）ハード的に転送する。次に、３３〜６４ラインの画像データ転送時には、図１２に示すように、（Ｒａｗ０００ｈ〜００７ｈ，Ｃｏｌｕｍｎ０８ｈ〜０ｂｈ）内に、ＣＰＵ１０１は画像データ転送開始アドレスを設定し、各々ハード的に５１２Ｗ分転送する。同様に、６５〜１２８ラインを、図１３のようにスタートアドレスを設定し転送する。すなわち、（Ｃｏｌｕｍｎ０４ｈ〜０７ｈ、０ｃｈ〜０Ｆｈ、１４ｈ〜１７ｈ、１ｃｈ〜２０ｈ）は空いている状態になる（後に１２８〜２５６ラスターが転送される）。以上のように、１〜１２８ラインを転送すると、７０１の様に１Ｗ目と９Ｗ目の画像データが配置される。
【００６１】
又、図１４に示すように、１２９〜２５６ライン転送時には、空いている領域（Ｃｏｌｕｍｎ０４ｈ〜０７ｈ、０ｃｈ〜０Ｆｈ、１４ｈ〜１７ｈ、１ｃｈ〜２０ｈ）に、転送開始アドレスを設定し画像データを配置する。以上のように、１〜２５６ラインを転送すると、図１４に示すように、Ｃｏｌｕｍｎ方向に４アドレス、Ｒａｗ方向に７アドレスの矩形領域に３２ライン分ずつの各Ｗが、各々配置される。又、Ｃｏｌｕｍｎアドレス４単位毎に前半１２８ライン、後半１２８ラインが交互に配置される。以上のように、モードＡと同等のハード構成によるアドレスカウンタで、ＣＰＵ１０１が各ラインの転送開始アドレスの設定をモードＡの時と変えることにより、モードＢの画像データ配置を行う。
【００６２】
（モードＢのＨＶ変換例）
次に、モードＢのＨＶ変換について説明する。
【００６３】
モードＢにおいては、１２８ライン分の画像データが転送されるとＨＶ変換が可能となる。１２８ライン分の転送が終了したら、ＣＰＵ１０１はモードＢ時のＨＶ変換を開始する。
【００６４】
まず、画像処理ＩＣ１０２内のＨＶ変換のモードをモードＢに設定し、ＨＶ変換開始アドレスを（Ｒａｗ０００ｈ，Ｃｏｌｕｍｎ００ｈ）に設定し、ＨＶの回数を設定する。モードＢのＨＶ変換は、一度に２Ｗ分のＨＶ変換を行うので、５１２Ｗ分の半分の２５６回を設定する。ＣＰＵ１０１は以上の設定後に、ＨＶ変換起動をかける。ＨＶＤＭＡブロック１０５は、ＳＤＲＡＭ１０８から画像データを読み出し、ＨＶ変換器に書込む工程を開始する。図１５は一回目のＨＶ変換器への取り込みを示すＳＤＲＡＭ１０８内部の様子とＨＶ変換器１０６の様子である。ＣＰＵ１０１によるＨＶ変換の起動に伴いＨＶＤＭＡブロック１０５は、ＨＶ変換開始アドレスの（Ｒａｗ０００ｈ，Ｃｏｌｕｍｎ００ｈ）よりＣｏｌｕｍｎ方向に連続したアドレスに配置された１Ｗ目の１−１〜４−１の画像データを４バーストアクセスにより、図１５のようにＨＶ変換器に書込み、アドレスをＲａｗ方向に＋０１ｈする。
【００６５】
同様に、（Ｒａｗ００１，Ｃｏｌｕｍｎ００ｈ）から５−１〜８−１を取り込みＨＶ変換器１０６に書込み、アドレスをＲａｗ方向に＋０１ｈする。以上を繰り返し、Ｒａｗ００７ｈより２９−１〜３２−１をＨＶ変換器１０６に書込んだ後は、アドレスのＲａｗを０００ｈに戻し、Ｃｏｌｕｍｎ方向に＋０８ｈして３３−１〜３７−１を４バーストアクセスで取り込む。以上を繰り返して、図１５のように、ＨＶＤＭＡブロック１０５内のアドレスカウンタにより、アドレスを図１５の上段の矢印のようにインクリメントさせながら、４バーストアクセスを３２回繰り返して、１−１〜１２８−１をＨＶ変換器１０６に書込む。
【００６６】
ＨＶ変換器１０６は３２ｂｉｔ×２５６で構成されている為に半分空いている状態なので、Ｒａｗ００８ｈ〜００Ｆｈに納められている９Ｗ目の画像データも一緒にＨＶ変換器１０６に取り込む。転送開始アドレス（Ｒａｗ００７ｈ，Ｃｏｌｕｍｎ１８ｈ）の状態から、（Ｒａｗ００８ｈ，Ｃｏｌｕｍｎ００ｈ）にインクリメントし、同様に４バーストを３２回繰り返し、アドレスを図１５のように動作させて１−９〜１２８−９をＨＶ変換器１０６に取り込む。以上のようにして１−１〜１２８−１、１−９〜１２８−９をＨＶ変換器１０６に取り込む。
【００６７】
次に、ＨＶ変換器１０６に取り込まれた画像データをラスター方向と垂直の方向に変換して、ＳＤＲＡＭ１０８に書込む。図１６にＨＶ変換器１０６からＳＤＲＡＭ１０８への書込む様子を示す。
【００６８】
図１６のように、ＨＶ変換器１０６内の３２ｂｉｔ×２５６の画像データを上位より（画像の左端）Ｄ３１、Ｄ３０、Ｄ２９、…、Ｄ０とすると、各々Ｄ３１群、Ｄ３０群、…、Ｄ０群を取り出すと垂直方向の画像データを取り出すことができる。まず，１−１〜１２８−１及び１−９〜１２８−９のＤ３１群を取り出す。説明の為に１−１〜３２−１及び１−９〜３２−９の３２ｂｉｔのＤ３１群をＤ３１−１、３３−１〜６４−１及び３３−９〜６４−９の３２ｂｉｔのＤ３０群をＤ３１−２、…とする。取り出されたＤ３１群の内、１Ｗ目のＤ３１−１〜Ｄ３１−４を、ＨＶ変換開始アドレスに設定された（Ｒａｗ０００ｈ，Ｃｏｌｕｍｎ００ｈ）を基に、Ｃｏｌｕｍｎ００ｈ〜０４ｈに４バーストアクセスで書込む。アドレスをＲａｗ方向に＋８ｈさせ、９Ｗ目のＤ３１−１〜Ｄ３１−４を（Ｒａｗ００８ｈ，Ｃｏｌｕｍｎ００ｈ〜０４ｈ）に同様に書込む。
【００６９】
次に、アドレスＲａｗを００１ｈにインクリメントし、１Ｗ目のＤ３０−１〜Ｄ３０−４を同様に４バーストアクセスで書込み、アドレスＲａｗ方向に＋０８ｈして、（Ｒａｗ００９ｈ，Ｃｏｌｕｍｎ００ｈ）から９Ｗ目のＤ３０−１〜Ｄ３０−４を書込む。以上のように、アドレスをインクリメントしながら、１Ｗ目と９Ｗ目のＤ３１〜Ｄ０を４バーストアクセス６４回で書込む。すると、図１６の下段のように、（Ｒａｗ０００ｈ〜００Ｆｈ，Ｃｏｌｕｍｎ００ｈ〜１Ｆｈ）の半分の領域に１Ｗと９Ｗの１〜１２８ライン分のＨＶ変換後の画像データが書込まれ、一回目のＨＶ変換（１Ｗ、９Ｗ）が終了する。
【００７０】
次に、（Ｒａｗ０００ｈ，Ｃｏｌｕｍｎ２０ｈ）に移動し、２Ｗ目と１０Ｗ目の画像データをＨＶ変換器１０６に取り込み、変換後の画像データを１回目と同様に、ＳＤＲＡＭ１０８の元のアドレスに書込み、２回目のＨＶ変換を終了する。次に、（Ｒａｗ０００ｈ，Ｃｏｌｕｍｎ４０ｈ）に移動し３Ｗ目と１１Ｗ目のＨＶ変換を行い３回目のＨＶ変換をする。以上を繰り返し、最後に、（Ｒａｗ１Ｆ０，ＣｏｌｕｍｎＥ０）から５０４Ｗと５１２ＷのＨＶ変換を行い２５６回目のＨＶ変換を終了すると、図１７のように、ＳＤＲＡＭ１０８内部には１〜１２８ライン分のＨＶ変換後の画像データが格納される。
【００７１】
尚、（Ｃｏｌｕｍｎ０４ｈ〜０７ｈ、０Ｃ〜０Ｆｈ、１４ｈ〜１８ｈ、１ｃｈ〜１Ｆｈ、…、Ｆｃ〜ＦＦｈ）の空いている領域には、次の１２９〜２５６ラインの画像データが格納される。引き続き、図１４のように１２９〜２５６ラスターまでのラスター画像データが転送されていれば、同様に１２９〜２５６ラスターまでのＨＶ変換を行うと、１〜１２８ラインのＨＶ変換後における、ＳＤＲＡＭ１０８内の未使用領域内でＨＶ変換が行われるので１〜２５６ライン分のＨＶ変換後には、モードＡと同様に図１０と同じ画像データの配置になる。
【００７２】
上記構成により、モードＡの場合、ＳＤＲＡＭ１０８内のＲａｗ方向に（０００ｈ〜１ＦＦｈ  ，２００ｈ〜３ＦＦｈ，４００ｈ〜５ＦＦｈ，６００ｈ〜７ＦＦｈ）の２５６ライン分の空いている領域がないと、画像データを書込むことができないが、モードＢにおいては、１２８ライン分の領域が空いていれば画像データを書込むことが出来る。以上のように、モードＢ時はＳＤＲＡＭ１０８の４バーストアクセスを利用し、画像データの配置とＨＶ変換のアドレッシングをモードＡ時と変えることで、１２８ライン毎にＨＶ変換を行うことができ、変換後の画像データはモードＡのＨＶ変換時と同じ配置になる。又、ＳＤＲＡＭ１０８のＲａｗ０００ｈ〜１ＦＦｈ以外の領域（２００ｈ〜３ＦＦｈ、４００ｈ〜５ＦＦｈ、６００ｈ〜７ＦＦｈ）でのＨＶ変換も領域が違うだけで、モードＡ、モードＢ共に同じ様に動作する。
【００７３】
（モードＢにおけるパラメータ設定例）
図１８は、モードＢにおけるパラメータ、例えば、ＳＤＲＡＭ１０８へのライトアドレス（カラム，ロウ）／リードアドレス（カラム，ロウ）の初期値や、カラムアドレス及びロウアドレスの加算値、アドレスを初期化する閾値など、の設定手順例を示すフローチャートである。このフローチャートに従う動作はＣＰＵ１０１が実行する。尚、上記説明では、Ｉ／ＦＤＭＡブロック１０４が所定量の画像データをＳＤＲＡＭ１０８に書き込んだ時点で、ＣＰＵ１０１の制御でＨＶＤＭＡブロック１０５のアドレスの設定をし、又ＤＭＡブロックの初期化やアドレス加算もＣＰＵ１０１が制御するように説明したが、図１８では、モードＢのＨＶ変換の開始時にＩ／ＦＤＭＡブロック１０４及びＨＶＤＭＡブロック１０５に初期値、加算値、閾値を設定して、ＤＭＡブロックはＣＰＵ１０１の制御を離れて自動的に動作する（ハード的にあるいはソフト的に）ような構成で説明する。本実施形態は係る構成に限定されるものではない。
【００７４】
まず、ステップＳ４１からＳ４３で、Ｉ／ＦＤＭＡブロック１０４に初期値、加算値、閾値を設定する。ステップＳ４１では、ライトアドレスの初期値を設定する。本例では（Ｒａｗｎ００ｈ，Ｃｏｌｕｍｎ００ｈ）である。尚、Ｒａｗのｎ００ｈの”ｎ”は、以下の図１９から図２２に示すように、ＳＤＲＡＭ１０８のどのブロック（本例では０〜３の４ブロック）から書き込むかにより変化する。以下では、説明を明瞭にするため（Ｒａｗ０００ｈ，Ｃｏｌｕｍｎ００ｈ）、すなわちｎ＝０として説明する。
【００７５】
次に、ステップＳ４２でカラムアドレスの制御値（加算値と閾値）が設定される。本例では、加算値０１として２０ｈが、閾値０１としてＦＦｈが設定される。この設定により、図１３のように、例えば、１−１から１−８までは＋２０ｈしながら格納され、カラムアドレスがＦＦｈを越えると００ｈに初期化される。又、加算値０２として０１ｈが、閾値０２として０３ｈが設定される。この設定により、１−１から１−５１２までが格納されると、カラムアドレスが初期値の００ｈ＋０１ｈ＝０１ｈとなって、２−１が（Ｒａｗ００１ｈ，Ｃｏｌｕｍｎ００ｈ）に格納されるように制御される。この加算値０２による加算でカラムアドレスの初期値が０３ｈを越える（図１２で４−１までの格納が終わる）と、カラムアドレスの初期値は再び００ｈとなる（図１２で５−１の格納位置参照）。
【００７６】
又、加算値０３として０８ｈが、閾値０３として１Ｂｈが設定される。この設定により、１−１から３２−５１２までが格納されると、カラムアドレスが初期値の００ｈ＋０８ｈ＝０８ｈとなって、３３−１が（Ｒａｗ０００ｈ，Ｃｏｌｕｍｎ０８ｈ）に格納されるように制御される。この加算値０３による加算でカラムアドレスの初期値が１Ｂｈを越える（図１２で１２８−５１２までの格納が終わる）と、１〜１２８ラインの転送が終了する。又、加算値０４として０４ｈが、閾値０４として１Ｆｈが設定される。この設定により、１２９〜２５６ラインの格納が、図１４に示すように、カラムアドレスが初期値を０４ｈとして、１〜１２８ラインと同様に行われる。この加算値０４による加算でカラムアドレスの初期値が１Ｆｈを越えると、図１４で２５６−５１２までの５１２ラインの転送が終了する。
【００７７】
次に、ステップＳ４３では、ロウアドレスの制御値（加算値と閾値）が設定される。本例では、加算値１１として００８ｈが、閾値１１として（ｎ＋１）ＦＦｈが設定される。この設定により、上記カラムアドレスがＦＦｈを越えた場合に、図１２及び図１３のように、１−８の格納の次は１−９が（Ｒａｗ００８ｈ，Ｃｏｌｕｍｎ００ｈ）に格納される。そして１ＦＦｈを越える（例えば１−５１２まで格納される）と、ロウアドレスは初期化され２−１は０００ｈに格納される。又、加算値１２として００１ｈが、閾値１２として００７ｈが設定される。この設定により、例えば４−５１２までが格納されると、ロウアドレスの初期値が＋００１ｈされて５−１が００１ｈに格納される。そして、閾値１２により最後の１２８−５１２（あるいは２５６−５１２）までが格納されたことを判定する。
【００７８】
上記Ｉ／ＦＤＭＡブロック１０４の初期値、加算値、閾値の設定により、Ｉ／ＦＤＭＡブロック１０４はＨＯＳＴ１００からのラスター画像データを、図１２乃至図１４のように、ＳＤＲＡＭ１０８に格納できる。尚、初期化や加算などの制御は、ハード的にもソフト的にも可能であるが、処理速度を高めるにはハードウエア化が望ましい。
【００７９】
次に、ステップＳ４４からＳ４６で、ＨＶＤＭＡブロック１０５に初期値、加算値、閾値を設定する。ＨＶＤＭＡブロック１０５は既に説明した如く、１つのＷ単位でＳＤＲＡＭ１０８から４バーストで読み出して、ＨＶ変換器１０６に順に書き込み、ＨＶ変換された画像データをＨＶ変換器１０６から読み出して、ＳＤＲＡＭ１０８の同じＷ領域に４バーストで書き込むように動作する。Ｂモードでは、Ｗ中の半分の１２８ラインの画像データが独立にＨＶ変換が可能である。
【００８０】
まず、ステップＳ４４で、ライト／リードアドレスの初期化を行う。本例では１〜１２８ラインの場合は（Ｒａｗｎ００ｈ，Ｃｏｌｕｍｎ００ｈ）、１２９〜２５６ラインの場合は（Ｒａｗｎ００ｈ，Ｃｏｌｕｍｎ０４ｈ）である。以下、１２９〜２５６ラインをＢ１モード、１２９〜２５６ラインをＢ２モードとする。そして、モードを４バーストモード（３２ｂｉｔの４ワードを連続でリード／ライトする）に設定する。尚、Ｒａｗのｎ００ｈの”ｎ”は、ステップＳ２１に対応し、ＳＤＲＡＭ１０８のどのブロック（本例では０〜３の４ブロック）から書き込むかにより変化する。以下では、説明を明瞭にするため（Ｒａｗ０００ｈ，Ｃｏｌｕｍｎ００ｈ）、すなわちｎ＝０として説明する。
【００８１】
次に、ステップＳ４５では、カラムアドレスの制御値（加算値と閾値）が設定される。本例では、加算値２１として０８ｈが、閾値２１として１Ｂｈが設定される。この設定により、図１６及び図１７のように、例えば、Ｄ３１（Ｄ３１−１〜Ｄ３１−４）からＤ２８（Ｄ２８−１〜Ｄ２８−４）までは＋０８ｈしながら４バーストモードで格納され、カラムアドレスが１Ｂｈを越えると００ｈに初期化される。又、加算値２２として２０ｈが、閾値２２としてＦＦｈが設定される。この設定により、図１７のように１ＷにＤ３１からＤ０までが格納されると、カラムアドレスが初期値の００ｈ＋２０ｈ＝２０ｈとなって、２ＷのＤ３１が（Ｒａｗ０００ｈ，Ｃｏｌｕｍｎ２０ｈ）に格納されるように制御される。この加算値２２による加算でカラムアドレスの初期値がＦＦｈを越える（図１７で８Ｗまでの格納が終わる）と、カラムアドレスの初期値は再び００ｈとなる。又、加算値２３として０４ｈが、閾値２３として１Ｆｈが設定される。この設定により、各Ｗの１２９ライから２５６ラインのＤ３１からＤ０までが格納されると、カラムアドレスが初期値の００ｈ＋０４ｈ＋２０ｈ＝２４ｈとなって、２Ｗの１２９ラインのＤ３１が（Ｒａｗ０００ｈ，Ｃｏｌｕｍｎ２４ｈ）に格納されるように制御される。この加算値２３による加算でカラムアドレスが１Ｆｈを越える（各Ｗの２５６ラインの格納が終わる）と、カラムアドレスの初期値は再び０４ｈとなる。
【００８２】
次に、ステップＳ４６では、ロウアドレスの制御値（加算値と閾値）が設定される。本例では、加算値３１として００１ｈが、閾値３１として００７ｈが設定される。この設定により、上記カラムアドレスが１Ｂｈを越えた場合に、図１６のように、Ｄ２８の格納の次はＤ２７が（Ｒａｗ００１ｈ，Ｃｏｌｕｍｎ００ｈ）に格納される。そして００７ｈを越える（例えばＤ０まで格納される）と、ロウアドレスは初期化され次のＷのＤ３１は０００ｈに格納される。又、加算値３２として００８ｈが、閾値３２としてｉｊＦｈが設定される。この設定により、例えば１Ｗが格納されると、ロウアドレスの初期値が＋００８ｈされて９ＷのＤ３１が００８ｈに格納される。そして、閾値３２により９Ｗが格納されたことを判定すると、２Ｗの格納のため０００ｈに初期化される。又、加算値３３として０１０ｈが、閾値３３として（ｎ＋１）ＦＦｈが設定される。この設定により、例えば１６Ｗまでが格納されると、ロウアドレスの初期値が＋０１０ｈされて１７ＷのＤ３１が０１０ｈに格納される。そして、閾値３３により５１２Ｗが格納されたことを判定すると、１Ｗの１２９ラインから２５６ラインの格納のため０００ｈに初期化される。
【００８３】
上記ＨＶＤＭＡブロック１０５の初期値、加算値、閾値の設定により、ＨＶＤＭＡブロック１０６はＳＤＲＡＭ１０８から４バーストモードで読み出されたＷの１２８ライン単位の画像データを、図１６及び図１７のように、ＨＶ変換されてＳＤＲＡＭ１０８の同じＷの半分の領域に書き戻す。尚、初期化や加算などの制御は、ハード的にもソフト的にも可能であるが、処理速度を高めるにはハードウエア化が望ましい。
【００８４】
＜モードＡとモードＢを使用する本実施形態の制御例＞
次に、以上説明したモードＡ、モードＢを利用した本実施形態の実際の動きを説明する。
【００８５】
まず、ＨＯＳＴ１００との通信により画像形成開始行程を行う。ＨＯＳＴ１００とＣＰＵ１０１は、コマンドのやり取りを行い、ＨＯＳＴ１００は２値に展開した画像データの転送を開始する。ＣＰＵ１０１はまず画像処理ＩＣ１０２に対し、先述した、モードＡの受信方法で画像データを配置する。ＨＯＳＴ１０１は１ラインずつ画像データを転送し、転送された画像データはＩ／Ｆブロック１０３、Ｉ／ＦＤＭＡブロック１０４を介し、モードＡの配置でＳＤＲＡＭ１０８に書き込まれる。ＣＰＵ１０１は、ＳＤＲＡＭ１０８内に１〜２５６ラスター分の画像データが蓄えられた時点で、モードＡでの１〜２５６ライン分のＨＶ変換を開始する。
【００８６】
モードＡでのＨＶ変換は、４バーストアクセスで行うモードＢに比べ、８バーストアクセスで行う分だけ高速である。引き続き、ＨＯＳＴ１００は２５７ライン以降の画像データを転送し、２５７〜５１２ラインの２５６ライン分の画像データがＳＤＲＡＭ１０８に書き込まれた時点で、同じ様にモードＡでのＨＶ変換を行う。続いてＨＯＳＴ１００は５１３〜７６８ラインを転送し、ＣＰＵ１０１はモードＡでＨＶ変換を行う。すると、ＳＤＲＡＭ１０８内には１〜７６８ラインのＨＶ変換された画像データが配置される。その時におけるＳＤＲＡＭ１０８内の様子と、ヘッドの様子を図１９に示す。図１９は１〜７６８ラインの画像データが配置された時の様子である。前述した様に、ＳＤＲＡＭ１０８は３２ｂｉｔ幅で、Ｃｏｌｕｍｎ方向００ｈ〜ＦＦｈ、Ｒａｗ方向０００ｈ〜３ＦＦｈで構成されるメモリであり、図１９のように、Ｒａｗ０００ｈ〜１ＦＦｈに１〜２５６ライン、２００ｈ〜３ＦＦｈに２５７〜５１２ライン、４００ｈ〜５ＦＦｈに５１３〜７６８ラインのＨＶ変換後画像データが格納されている。
【００８７】
実際インクを吐出するヘッドは、図１９のように６４０個のノズルで構成されており、ラスター方向に横幅分移動しつつ吐出することで、一度に６４０ラインの出力が出来る。尚、このような多数のノズルを持ったヘッドを駆動し、画像形成を行うインクジェット方式のプリンタにおいては、ノズルのよれなどによる、スジ及びムラなどを防ぐ為に画像データを間引き、同じ領域の画像を複数回走査（スキャン）して、画像形成を行うマルチパス画像形成方式が利用される。本実施形態では、１スキャン中に６４０ノズルのうち、３２０のノズルを使って間引いた画像データを画像形成し、前回のスキャンで間引かれた画像データを吐出する。すなわち、１スキャンする毎に３２０ライン（ノズル）分ずつ印刷媒体を移動させながら出力し、同じ画像領域を２回スキャンすることで、画像形成が完成する２パス方式を利用する。
【００８８】
１スキャン時は、図１９のように６４０ノズルのうちの後半３２０ノズルを利用し、ＳＤＲＡＭ１０８のＲａｗ０００ｈ〜３ＦＦｈにある１〜３２０ライン分の画像を画像形成する。まず、ＣＰＵ１０１は１〜５１２ライン分のＨＶ変換後（２５６ライン毎にＨＶ変換を行うので２５６×２＝５１２ライン分のＨＶ変換が終了すると、画像形成出来るＨＶ変換後の画像データは、３２０ライン以上となる）、Ｈｅａｄ＿ＤＭＡブロック１０７に画像データ読み出し開始アドレスをセットし、画像形成を開始する。読みだし開始アドレスは、１ラインの１Ｗ目のＤ３１の画像データが配置されている（Ｒａｗ０００ｈ，Ｃｏｌｕｍｎ００ｈ）にセットする。ＳＤＲＡＭ１０８内には、ノズル方向の画像データがＣｏｌｕｍｎ方向に８つ連続したアドレスに書込まれているので、前述したアドレスから８バーストアクセスにより１Ｗ目のＤ３１を２５６ライン分（３２ｂｉｔ×８バースト）取り出し、次にアドレスをＲａｗ方向に＋２００ｈして、２５７〜５１２ラインが格納されている領域から１Ｗ目のＤ３１を、２バーストアクセスにより２５７〜３４０ラインを読み出す。Ｈｅａｄ＿ＤＭＡブロック１０７に読み出された、１〜３２０ラインの１ＷのＤ３１のうち間引く画像データを本ブロック内でマスクし、実際に吐出する画像データのみをヘッドに転送し、ＣＰＵ１０１はヘッド１０９を印刷媒体のラスター方向に移動しつつ、ヘッド１０９が吐出する位置に来た時のタイミングで吐出させる。
【００８９】
同様にアドレスを（Ｒａｗ  ０００ｈ，Ｃｏｌｕｍｎ００８ｈ）に移動させ、１ＷのＤ３０の１〜３２０ラインをＳＤＲＡＭ１０８から読み出して吐出する。以上のように、ヘッド１０９をラスター方向に動かしつつ、１ＷのＤ３１〜Ｄ０、２ＷのＤ３１〜Ｄ０、…、５１２ＷのＤ３１〜Ｄ０の１〜３２０ライン分の画像データをハード的に読み出して出力し、１スキャン目の画像形成を終了する。又、この様にヘッドから画像データを吐出している時も、ＳＤＲＡＭ１０８のバスが空いているタイミングを利用して、モードＡでＲａｗ６００ｈ〜７ＦＦｈ内に、７６９〜１０２４ライン分の画像データの配置とＨＶ変換も行う。
【００９０】
次に、印刷媒体を３２０ライン分移動させ、２スキャン目の画像形成を行う。図１９の２スキャン目のヘッドのように、１〜６４０ライン分の画像データを読み出して画像形成を行う。ＣＰＵ１０１は、Ｈｅａｄ＿ＤＭＡブロック１０７に画像データ読み出しアドレスとして、１ライン目の１Ｗ、Ｄ３１のアドレスである（Ｒａｗ０００ｈ，Ｃｏｌｕｍｎ００ｈ）を設定し、８バーストアクセスにより１Ｗ目のＤ３１を２５６ライン分（３２ｂｉｔ×８バースト）取り出し、次にアドレスをＲａｗ方向に＋２００ｈして、２５７〜５１２ライン分の１ＷのＤ３１を同じように８バーストアクセスで読込み、更にＲａｗアドレスを＋２００ｈして、Ｒａｗ４００ｈの領域から４バーストアクセスにより、５１３〜６４０ラインの１Ｗ、Ｄ３１を読み出す。Ｈｅａｄ＿ＤＭＡブロック１０７に読み出された、１〜６４０ライン分の画像データは、１スキャン目と同様に画像形成を行わない画像データをマスクして、ヘッドに転送する。ＣＰＵ１０１はヘッドを印刷媒体のラスター方向に移動しつつ、ヘッドが吐出する位置に来た時のタイミングで吐出させる。
【００９１】
同様に、アドレスを（Ｒａｗ０００ｈ，Ｃｏｌｕｍｎ００８ｈ）に移動させ、１ＷのＤ３０の１〜６４０ラインをＳＤＲＡＭ１０８から読み出して吐出する。以上の様に、ヘッド１０９をラスター方向に動かしつつ、１ＷのＤ３１〜Ｄ０、２ＷのＤ３１〜Ｄ０、…、５１２ＷのＤ３１〜Ｄ０の１〜６４０ライン分の画像データをハード的に読み出して出力し、２スキャン目の画像形成を終了する。
【００９２】
次に、３スキャン目の画像形成を行う。図２０に３スキャン目のＳＤＲＡＭ１０８とヘッド１０９の関係を示す。３スキャン目は３２１〜９６０ラインの画像形成を行うので、ＳＤＲＡＭ１０８のＲａｗ６００ｈ〜７ＦＦｈ内に７６９〜１０２４ライン分のＨＶ変換が終了していないと画像形成を開始することができない。又、Ｒａｗ０００ｈ〜１ＦＦｈに書込まれていた１〜２５６ラインの画像データは、既に画像形成終了した領域で且２５６ライン分の空き領域なので、１０２５〜１２８０ラインの画像データの配置とＨＶ変換をモードＡで行うことが出来る。ＣＰＵ１０１は、１０２４ラインまでのＨＶ変換終了していたら、Ｈｅａｄ＿ＤＭＡブロック１０９に３スキャン目の画像形成開始の画像位置である３２１ラインの１Ｗ、Ｄ３１の転送開始アドレス（Ｒａｗ２００ｈ，Ｃｏｌｕｍｎ０２ｈ）にセットする。Ｈｅａｄ＿ＤＭＡブロック１０７は、Ｃｏｌｕｍｎ０２ｈ〜０７ｈの３２１〜５１２ライン分の１Ｗ、Ｄ３１を６バーストアクセスで読込み、Ｒａｗ方向に＋２００ｈだけインクメントし、Ｃｏｌｕｍｎを０００ｈに初期化し、Ｒａｗ４００ｈより、８バーストアクセスで５１３〜７６８ライン分の１ＷのＤ３１を読込み、Ｒａｗ方向に＋２００ｈして、Ｒａｗ６００ｈより、７６９〜９６０ライン分の１ＷのＤ３１（Ｃｏｌｕｍｎ００ｈ〜０５ｈの連続したアドレスに格納されている）を６バーストアクセスで読込む。Ｈｅａｄ＿ＤＭＡブロック１０７内に読込まれた、３２１〜９６０ラインの１Ｗ、Ｄ３１は、全スキャン時と同様に画像データを間引き、ヘッドの位置情報に基づき画像形成を行う。同様に、アドレスを（Ｒａｗ２０１ｈ，Ｃｏｌｕｍｎ０８ｈ）にインクリメントし、１ＷのＤ３０、３２１〜９６０ライン分の画像データを読み出し、同様に画像形成を行う。
【００９３】
以上を繰り返して、印刷媒体の横幅分である３２１〜９６０ライン分の１Ｗ〜５１２Ｗの画像データを画像形成終了すると、３スキャン目を終了する。又、画像形成中にＳＤＲＡＭ１０８のバスが空いている時に、Ｒａｗ０００ｈ〜Ｒａｗ１ＦＦｈの領域に１０２５〜１２８０ラインの画像データの書込み及びＨＶ変換を行う。
【００９４】
次に、４スキャン目を開始する。ここで、４スキャン目は６４１〜１２８０ライン分の画像形成を行い、５スキャン目は９６１〜１６００ライン分の画像形成を行うので、４スキャン目終了時には、１６００ラインまでのＨＶ変換が終了していなければならない。ところが、４スキャン目の時は、１５３７〜１７９２ラインが書込まれる予定である、Ｒａｗ４００ｈ〜５ＦＦｈの領域に書込まれている画像データ、６４１〜７６８ライン分の出力を行っている。又、モードＡでの画像データ書込み及びＨＶ変換では、２５６ライン分の領域が空いていないと、画像データを書込む事が出来ないので、４スキャン中に５スキャン目に画像形成する画像データである１５８７ライン以降を書込むことが出来ず、４スキャン目が終了するまで待ってから、１５３７ライン以降の画像データを書込み、ＨＶ変換をすることになる。４スキャン時は、Ｒａｗ４００ｈ〜５ＦＦｈの領域のうち６４１ライン以降の画像形成を行っているので、５１３〜６４０ラインの１２８ライン分の領域は空いている。そこでモードＢを利用することで、４スキャン中に１５３７〜１６６４ラインの書込み及びＨＶ変換は可能であるので、４スキャン中のＳＤＲＡＭ１０８のバスが空いている時間にモードＢにより、１５３７〜１６６４ラインの書込み及びＨＶ変換を行う。
【００９５】
図２１及び２２に、４、５スキャン時のヘッドとＳＤＲＡＭ１０８の様子を示す。図２１は４スキャン時の状態であり、ＣＰＵ１０１は６４０〜１２８０ラインの画像データが用意できていたら、Ｈｅａｄ＿ＤＭＡブロック１０７に、６４１ライン１Ｗ、Ｄ３１のアドレス（Ｒａｗ４００ｈ，Ｃｏｌｕｍｎ０４ｈ）を読み出し開始アドレスにセットする。Ｈｅａｄ＿ＤＭＡブロック１０７は、Ｃｏｌｕｍｎ０４ｈ〜０７ｈの６４１〜７６８ライン分の１Ｗ、Ｄ３１を４バーストアクセスで読込み、Ｒａｗ方向に＋２００ｈ、Ｃｏｌｕｍｎを０００ｈにインクメントし、Ｒａｗ６００ｈより、８バーストアクセスで７６９〜１０２４ライン分の１ＷのＤ３１を読込み、Ｒａｗアドレスを０００ｈにインクリメントし、Ｒａｗ０００ｈより１０２５〜１２８０ライン分の１ＷのＤ３１（Ｃｏｌｕｍｎ００ｈ〜０７ｈの連続したアドレスに格納されている）を８バーストアクセスで読込む。Ｈｅａｄ＿ＤＭＡブロック１０７に読込まれた６４１〜１２８０の６４０ラインの画像データは、実際に出力する画像データのみに間引き、ヘッドに転送し画像形成を行う。
【００９６】
以上を繰り返し、６４１〜１２８０ラインの１Ｗ〜５１２Ｗの画像形成を行う。またこの間に、１２８１〜１５３６ラインをモードＡで、１５３７〜１６６４ラインをモードＢにより、ＳＤＲＡＭ１０８への画像データ転送及びＨＶ変換を行う。
【００９７】
次に、５スキャン目の画像形成を図２２のように、９６１〜１６００ライン分の画像形成を行う。この時、１５３７〜１６６４ラインの画像データは４スキャン中に、モードＢにより用意されているので、すぐに５スキャン目を開始することが出来る。
【００９８】
以上のように、画像メモリの空き領域の大きさと、次に出力する画像データのメモリ上の領域により、今出力している画像データの領域に、次に出力する画像データの書き込み及びＨＶ変換を行う時は、画像データ受信及びＨＶ変換のモードを変えることによって、次スキャン出力予定の画像データを、前スキャン時中に用意することが可能となるので、高速に画像形成ができる。
【００９９】
（本実施形態の上記制御例を実現するためのデータ例）
以下、図２３〜図２５に、本実施形態の上記制御例を実現するためのデータ例を示す。尚、これらのデータ例は上記制御例を実現するための一例であって、これに限定されるものではない。
【０１００】
図２３は、本実施形態の２５６ライン単位の４つの領域からなるＳＤＲＡＭ１０８において、各領域（以下、ロウブロックと言う）の使用状況を表すテーブル２３０である。各ロウブロック０〜３に対応して、そのロウブロックのアドレス範囲２３１、モードＡで有効な画像データが格納されているか（満）／格納されていないか（空）を表すフラグ２３２、モードＢで１〜１２８ライン（以下、モードＢ１で示す）の有効な画像データが格納されているか（満）／格納されていないか（空）を表すフラグ２３３、モードＢで１２９〜２５６ライン（以下、モードＢ２で示す）の有効な画像データが格納されているか（満）／格納されていないか（空）を表すフラグ２３４を有している。尚、フラグ”１”はＨＯＳＴ１００からＩ／ＦＤＭＡブロック１０４によって格納されてＨＶ変換された後、Ｈｅａｄ＿ＤＭＡブロック１０７によりヘッド１０９に出力されていないデータが残っている状態を表わし、フラグ”０”はＨＯＳＴ１００からＩ／ＦＤＭＡブロック１０４によって格納さていないか、Ｈｅａｄ＿ＤＭＡブロック１０７によりヘッド１０９にその領域のデータが全て出力された状態を表わしている。
【０１０１】
例えば、図２１の４スキャンの時点を例に示すと、図２３のように、モードＡ単位では全部のロウブロック０〜３に有効な画像データがＨＶ変換されて用意されている。しかし、ロウブロック２のモードＢ１（１〜１２８ライン）の領域は、既に２及び３スキャンで画像データはヘッド１０９に出力済みなので、モードＢにより書き込み可能の空き領域となっている。
【０１０２】
図２４は、１６スキャン（本実施形態の２５６ライン／ロウブロックで４ロウブロックのＳＡＲＡＭ１０８で、６４０ノズルのヘッドで２パス画像形成方式の場合には、ＳＡＲＡＭ１０８からの読み出しアドレスは１６スキャン毎の繰り返しになる）の夫々のスキャン２４１における、（使用するロウブロック，バースト）の組み合わせ２４２を示すテーブル２４０である。
【０１０３】
例えば、図２３の例と同様の４スキャンの読み出しは、（２，４）：ロウブロック２を４バーストアクセス，（３，８）：ロウブロック３を８バーストアクセス，（０，８）：ロウブロック０を８バーストアクセスで行う。
【０１０４】
尚、２バースト及び６バーストは、上記説明では示されていないが、４バースト、８バーストで前後の２ワードをマスクしたり、アドレスの初期値と閾値を更に制御したりすることが考えられる。又、６バーストは４バーストと２バーストの組み合わせで実現してもよく、当業者にはアドレス制御の構成は容易に想到し得る。
【０１０５】
図２５は、Ｈｅａｄ＿ＤＭＡブロック１０７にセットされるＳＤＲＡＭ１０８のロウ及びカラムの初期アドレスを記憶するテーブルを示す図である。
【０１０６】
図２５の上段は、ロウブロックに対応してロウ初期アドレスを記憶するてーｎブル２５１、図２５の中段は、各バーストと図２４の各スキャンでの読み出し順とに対応してカラム初期アドレスを記憶するテーブル２５２である。図２５の下段は、図２４で述べた６バーストを４バーストと２バーストで実現する場合の、２バーストと図２４の各スキャンでの読み出し位置とに対応してカラム初期アドレスを記憶するテーブル２５３である。
【０１０７】
（本実施形態の上記制御例の処理手順例）
上記図２３〜図２５のテーブルを使用して、図１９〜図２２に示すスキャンを行う手順例を、図２６のフローチャートに示す。
【０１０８】
まず、ステップＳ９１でスキャンＮｏ．を１に初期化する。次に、ステップＳ９２で、リードアドレスの制御値をセットする。カラムアドレスでは、加算値４１が０８ｈに、閾値４１が１Ｆｈにセットされる。これらの値は、バースト単位のアドレス加算値と、Ｗ内でのカラムアドレスのリセットを表す。又、加算値４２が２０ｈに、閾値４２がＦＦｈにセットされる。これらの値は、Ｗ単位のアドレス加算値と、ブロック単位でのカラムアドレスのリセットを表す。又、ロウアドレスでは、加算値５１が００１ｈに、閾値５１が００７ｈにセットされる。これらの値は、Ｗ内のカラムアドレスのリセット時のアドレス加算値と、Ｗ内でのロウアドレスのリセットを表す。又、加算値５２が００８ｈに、閾値５２が１ＦＦｈにセットされる。これらの値は、Ｗ単位のアドレス加算値と、ブロック単位でのロウアドレスのリセットを表す。
【０１０９】
ステップＳ９３でスキャンＮｏ．から図２４のテーブルに基づいて（ロウブロック，バースト）組のセットを読み出す。ステップＳ９４では、ヘッド１０９のヘッドＮｏ．を初期化する。本例ではヘッドＮｏ．を１とする。ステップＳ９５で（ロウブロック，バースト）組とその読み出し順とを使って、図２５に基づいてロウアドレス及びカラムアドレスの初期値をＨｅａｄ＿ＤＭＡブロック１０７にセットし、バースト値を選択する。ステップＳ９６で、Ｈｅａｄ＿ＤＭＡブロック１０７をスタートさせてＳＤＲＡＭ１０８からの読み出し、ヘッド１０９への書き込みを行う。この間に、ヘッドＮｏ．は順にインクリメントされる。
【０１１０】
ステップＳ９７では、１Ｗ分の画像データが転送されたか否かが判定される。例えば、１Ｗ分は、８バーストでは２５６ライン幅の主走査方向３２ドットの画像データ、４バーストでは１２８ライン幅の主走査方向３２ドットの画像データである。１Ｗ分が転送されるとステップＳ９８に進んで、ステップＳ９３で読み出した（ロウブロック，バースト）組の全て（例えば、６４０ノズルの主走査方向３２ドットの画像データ）が転送されたか否かを判断する。（ロウブロック，バースト）組が残っていれば、ステップＳ９５に戻ってステップＳ９５〜Ｓ９８を繰り返す。（ロウブロック，バースト）組の全てが転送されると、ステップＳ９９で５１２Ｗ分（すなわち、主走査方向の全ドットのデータ）が転送されたか否かが判定される。５１２Ｗ分転送されていないと、ステップＳ９４に戻ってヘッドＮｏ．の１に初期化しステップＳ９５〜Ｓ９８を繰り返す。５１２Ｗ分の転送が終わるとステップＳ１００で所望のプリントが完了したか否かが判断される。例えば、１頁分のプリントが完了したかを判断する。完了してなければ、ステップＳ１０１でスキャンＮｏ．を１インクリメントして、ステップＳ９３〜Ｓ９９を繰り返す。
【０１１１】
上記手順では、ヘッド１０９に画像データを送りながらプリント走査することを考慮して、６４０ノズル分の３２ドットを転送する手順としたが、１スキャンライン分のデータを転送してからプリント走査を開始する構成であれば、２５６ラインの主走査方向の全ドットのデータ単位に転送する手順であってもよい。
【０１１２】
尚、上記実施形態では、Ａモード（２５６ラインＨＶ変換）とＢモード（１２８ラインＨＶ変換）の２つを用意して適宜しようする例を示したが、ヘッドのライン数などにより異なるラインのＨＶ変換を行っても、あるいは２つでなく更に多くのモードを用意して行ってもよく、それらは上記実施形態を知れば容易に想到し得るものであり、これらも本発明に含まれるものである。
【０１１３】
上記本実施形態は、入力されるラスタ方向順次のデータをライン方向に変換して、ライン方向に複数の記録素子を一列に並べた記録ヘッドをラスタ方向に移動させながら、該変換後のデータを記録するシリアルスキャン型の画像形成装置で用いる画像データ変換回路であって、ラスターデータをメモリ手段に一時貯えるよう制御する記憶制御部と、所定ライン分のラスターデータから該所定ライン方向の幅を有する画像データを一度に生成するレジスタ群からなり、画像データの横縦変換を行う横縦変換部と、前記メモリ手段から、第１のライン数のラスターデータを読み出して、前記横縦変換部により一度に前記第１のライン数の横縦変換を行い、前記メモリ手段に書き戻すよう制御する第１の変換制御部と、前記メモリ手段から、前記第１のライン数よりも少ない第２のライン数のラスターデータを読み出して、前記横縦変換部により一度に前記第２のライン数の横縦変換を行い、前記メモリ手段に書き戻すよう制御する第２の変換制御部と、前記メモリ手段の空き領域の大きさに従って、前記第１及び第２の変換制御部を切り替えて横縦変換を行う切替部とを有する。
【０１１４】
ここで、前記メモリ手段の空き領域が、前記第１の変換制御部で横縦変換するライン数分の領域より少なく前記第２の変換制御部で横縦変換するライン数分の領域以上の場合に、前記第２の変換制御部により横縦変換を行う。又、前記第１及び第２の変換制御部は、前記メモリ手段から読み出す領域と書き戻す領域とが同じであ。又、前記記憶制御部は、前記第１及び第２の変換制御部により前記メモリ手段から取り出す複数ラインの画像データ群を、前記メモリ手段の連続したアドレスに配置する。又、前記第１及び第２の変換制御部は、変換後の画像データを前記メモリ手段に書き戻す時に、ライン方向に連続した画像データ群を前記メモリ手段の連続したアドレスに配置する。
【０１１５】
又、所定ライン分のラスターデータから該所定ライン方向の幅を有する画像データを一度に生成するレジスタ群からなり、画像データの横縦変換を行う横縦変換手段を有し、入力されるラスタ方向順次のデータをライン方向に変換して、ライン方向に複数の記録素子を一列に並べた記録ヘッドをラスタ方向に移動させながら、該変換後のデータを記録するシリアルスキャン型の画像形成装置で用いる画像データ変換回路の制御方法であって、ラスターデータを複数ラインの画像データ群を連続したアドレスに配置するようにメモリ手段に一時貯える記憶工程と、前記メモリ手段の第１領域から、第１のライン数のラスターデータを読み出して、前記横縦変換手段により一度に前記第１のライン数の横縦変換を行い、ライン方向に連続した画像データ群を前記第１領域の連続したアドレスに配置するように、前記メモリ手段に書き戻す第１の変換工程と、前記メモリ手段の第２領域から、前記第１のライン数よりも少ない第２のライン数のラスターデータを読み出して、前記横縦変換手段により一度に前記第２のライン数の横縦変換を行い、ライン方向に連続した画像データ群を前記第２領域の連続したアドレスに配置するように、前記メモリ手段に書き戻す第２の変換工程と、前記メモリ手段の空き領域の大きさに従って、前記第１及び第２の変換制御手段を切り替えて横縦変換を行う切替工程とを有する。この制御方法を実現するプログラム及び該プログラムを
又、入力されるラスタ方向順次のデータをライン方向に変換して、ライン方向に複数の記録素子を一列に並べた記録ヘッドをラスタ方向に移動させながら、該変換後のデータを記録するシリアルスキャン型の画像形成装置であって、入力されるラスタ方向順次のデータをライン方向に変換する画像データ変換回路は、ラスターデータをメモリ手段に一時貯えるよう制御する記憶制御部と、所定ライン分のラスターデータから該所定ライン方向の幅を有する画像データを一度に生成するレジスタ群からなり、画像データの横縦変換を行う横縦変換部と、前記メモリ手段から、第１のライン数のラスターデータを読み出して、前記横縦変換部により一度に前記第１のライン数の横縦変換を行い、前記メモリ手段に書き戻すよう制御する第１の変換制御部と、前記メモリ手段から、前記第１のライン数よりも少ない第２のライン数のラスターデータを読み出して、前記横縦変換部により一度に前記第２のライン数の横縦変換を行い、前記メモリ手段に書き戻すよう制御する第２の変換制御部と、前記メモリ手段の空き領域の大きさに従う制御信号により、前記第１及び第２の変換制御手段を切り替えて横縦変換を行う切替部とを有する。
【０１１６】
又、所定ライン分のラスターデータから該所定ライン方向の幅を有する画像データを一度に生成するレジスタ群からなり、画像データの横縦変換を行う横縦変換手段を設け、入力されるラスタ方向順次のデータをライン方向に変換する画像データ変換方法であって、ラスターデータを複数ラインの画像データ群を連続したアドレスに配置するようにメモリ手段に一時貯える記憶工程と、前記メモリ手段の第１領域から、第１のライン数のラスターデータを読み出して、前記横縦変換手段により一度に前記第１のライン数の横縦変換を行い、ライン方向に連続した画像データ群を前記第１領域の連続したアドレスに配置するように、前記メモリ手段に書き戻す第１の変換工程と、前記メモリ手段の第２領域から、前記第１のライン数よりも少ない第２のライン数のラスターデータを読み出して、前記横縦変換手段により一度に前記第２のライン数の横縦変換を行い、ライン方向に連続した画像データ群を前記第２領域の連続したアドレスに配置するように、前記メモリ手段に書き戻す第２の変換工程と、前記メモリ手段の空き領域の大きさに従って、前記第１及び第２の変換制御手段を切り替えて横縦変換を行う切替工程とを有する。
【０１１７】
以上説明し本実施形態によれば、画像メモリの空き領域が少ない場合にはより少ない領域内で少ないライン単位での変換処理が行えるので、画像データの転送を待たせることなく高速に画像処理できる。
【０１１８】
又、本発明は、複数の機器（例えばホストコンピュータ、インタフェース機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（複写機、プリンタ、ファクシミリ装置など）に適用してもよい。
【０１１９】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記憶した記憶媒体を、システムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成される。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１２０】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピーディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。
【０１２１】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【０１２２】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【０１２３】
【発明の効果】
本発明により、ＨＶ変換における画像データの転送を待たせることなく高速に画像処理できる画像データの横縦変換方法を提供する。
【図面の簡単な説明】
【図１】本実施形態の記録制御装置の要部構成を示すブロック図である。
【図２】本実施形態の記録制御装置が適用されるインクジェットプリンタの斜視図である。
【図３】本実施形態の記録制御装置が適用されるインクジェットプリンタの構成例を示すブロック図である。
【図４】本実施形態の記録制御装置の動作手順例を示すフローチャートである。
【図５】モードＡ時のラスターデータ転送時の画像データの様子を示す図である。
【図６】モードＡ時のラスターデータ転送時のＳＤＲＡＭ内の様子を示す図である。
【図７】モードＡ時のラスターデータ転送終了後のＳＤＲＡＭ内の様子を示す図である。
【図８】モードＡ時におけるＨＶ変換器にラスターデータ取り込み時の様子を示す図である。
【図９】モードＡ時におけるＨＶ変換後データの転送時の様子を示す図である。
【図１０】ＨＶ変換終了後のＳＤＲＡＭ内の様子を示す図である。
【図１１】モードＡ時におけるＩ／ＦＤＭＡブロック及びＨＶＤＭＡブロックのアドレス制御例を示すフローチャートである。
【図１２】モードＢ時のラスターデータ転送時のＳＤＲＡＭ内の様子を示す図である。
【図１３】モードＢ時のラスターデータ転送時のＳＤＲＡＭ内の様子を示す図である。
【図１４】モードＢ時のラスターデータ転送終了後のＳＤＲＡＭ内の様子を示す図である。
【図１５】モードＢ時におけるＨＶ変換器にラスターデータ取り込み時の様子を示す図である。
【図１６】モードＢ時におけるＨＶ変換後データの転送時の様子を示す図である。
【図１７】モードＢ時における１２８ラインのＨＶ変換後のＳＤＲＡＭ内の様子を示す図である。
【図１８】モードＢ時におけるＩ／ＦＤＭＡブロック及びＨＶＤＭＡブロックのアドレス制御例を示すフローチャートである。
【図１９】１スキャン時の画像形成領域とＳＤＲＡＭの関係を示す図である。
【図２０】２スキャン時の画像形成領域とＳＤＲＡＭの関係を示す図である。
【図２１】３スキャン時の画像形成領域とＳＤＲＡＭの関係を示す図である。
【図２２】４スキャン時の画像形成領域とＳＤＲＡＭの関係を示す図である。
【図２３】図１９〜図２２のスキャンをするためのＳＤＲＡＭの空を判別するフラグを記憶するテーブル例を示す図である。
【図２４】図１９〜図２２のスキャンをするためのスキャンＮｏ．に対応する（ロウブロック，バースト）組を記憶するテーブル例を示す図である。
【図２５】図１９〜図２２のスキャンをするためのＨｅａｄ＿ＤＭＡブロックの初期アドレスを記憶するテーブル例を示す図である。
【図２６】図１９〜図２２のスキャンをするための本実施形態の制御手順例を示すフローチャートである。
【図１】
2004223964.tif 000003
【図２】
2004223964.tif 000004
【図３】
2004223964.tif 000005
【図４】
2004223964.tif 000006
【図５】
2004223964.tif 000007
【図６】
2004223964.tif 000008
【図７】
2004223964.tif 000009
【図８】
2004223964.tif 000010
【図９】
2004223964.tif 000011
【図１０】
2004223964.tif 000012
【図１１】
2004223964.tif 000013
【図１２】
2004223964.tif 000014
【図１３】
2004223964.tif 000015
【図１４】
2004223964.tif 000016
【図１５】
2004223964.tif 000017
【図１６】
2004223964.tif 000018
【図１７】
2004223964.tif 000019
【図１８】
2004223964.tif 000020
【図１９】
2004223964.tif 000021
【図２０】
2004223964.tif 000022
【図２１】
2004223964.tif 000023
【図２２】
2004223964.tif 000024
【図２３】
2004223964.tif 000025
【図２４】
2004223964.tif 000026
【図２５】
2004223964.tif 000027
【図２６】
2004223964.tif 000028