(57)【要約】【課題】ＣＰＵの処理負荷を軽減することができ、任意のヘッドギャップの印刷ヘッドに対応可能な印刷装置を提供する。【解決手段】イメージバッファから読み出したイメージデータを色毎に記憶する内蔵メモリ３７，３８と、内蔵メモリ３７，３８に記憶されているイメージデータを印刷ヘッドへ転送するにあたり、印刷ヘッドの走査毎にイメージデータの転送開始を色毎に指示する第１のカウンタと、印刷ヘッドの走査毎にイメージデータの転送終了を色毎に指示する第２のカウンタと、を有し、第１のカウンタに基づきイメージデータの転送開始前にヌルデータを転送し、第２のカウンタに基づきイメージデータの転送終了後にヌルデータを転送するヘッド制御部３１を備えた。【選択図】      図２
2005305832.tif 000002
【特許請求の範囲】
【請求項１】
印刷ヘッドの主走査方向の移動に従い、イメージバッファに格納されている各色のイメージデータを前記印刷ヘッドへ順次転送して印刷を行う印刷装置において、
前記イメージバッファから読み出した前記イメージデータを色毎に記憶する内蔵メモリと、
前記内蔵メモリに記憶されている前記イメージデータを前記印刷ヘッドへ転送するにあたり、前記印刷ヘッドの走査毎に前記イメージデータの転送開始を色毎に指示する第１のカウンタと、
前記印刷ヘッドの走査毎に前記イメージデータの転送終了を色毎に指示する第２のカウンタと、を有し、
前記第１のカウンタに基づいて前記イメージデータの転送開始前に前記印刷ヘッドへヌルデータを転送し、前記第２のカウンタに基づいて前記イメージデータの転送終了後に前記印刷ヘッドへヌルデータを転送するヘッド制御部を備えた、
ことを特徴とする印刷装置。
【請求項２】
前記第１のカウンタは、前記印刷ヘッドに形成される各色ノズル列間のヘッドギャップに対応したヌルギャップが設定されるヌルギャップカウンタを有してなる、
請求項１記載の印刷装置。
【請求項３】
前記ヌルギャップカウンタには、前記イメージデータの転送開始を指示する所定のカウンタ値から前記ヌルギャップに相当するカウント数分を差し引いたカウンタ値が初期値として前記印刷ヘッドの走査毎に設定される、
請求項２記載の印刷装置。
【請求項４】
前記印刷ヘッドは、前記主走査方向の往動時と復動時とでそれぞれインク滴を吐出する双方向動作を行うものであり、
前記ヌルギャップカウンタには、前記印刷ヘッドの走査方向に対応した前記ヌルギャップが設定される、
請求項２又は３記載の印刷装置。
【請求項５】
前記第１のカウンタは、前記イメージデータの転送ビット数を前記内蔵メモリの１面分についてカウントする転送ビット指定カウンタをさらに有してなる、
請求項１乃至４のいずれか一項記載の印刷装置。
【請求項６】
前記第２のカウンタには、前記内蔵メモリの１面分の前記イメージデータの転送をカウント単位として、前記印刷ヘッドの１走査分の前記イメージデータの転送数を指示するカウンタ値が初期値として前記印刷ヘッドの走査毎に設定される、
請求項１乃至５のいずれか一項記載の印刷装置。
【請求項７】
前記内蔵メモリは、同一の記憶容量を有する第１のメモリと第２のメモリとをそれぞれ色毎に備えており、
前記ヘッド制御部は、前記イメージバッファから読み出した前記イメージデータを前記第１のメモリと前記第２のメモリとに交互に記憶し、該第１のメモリと該第２のメモリとに対してそれぞれ設けられる前記第１のカウンタに基づいて、それら第１および第２のメモリから前記イメージデータを交互に読み出して前記印刷ヘッドへの転送を行う、
請求項１乃至６のいずれか一項記載の印刷装置。
【請求項８】
前記ヘッド制御部は、
前記イメージバッファから読み出した前記イメージデータを前記内蔵メモリに書き込むための書き込み制御信号を生成する書き込み制御部と、
前記印刷ヘッドへ転送する前記イメージデータを前記内蔵メモリから順次ノズル数分ずつ読み出すための読み出し制御信号を生成するヘッド送信制御部と、
前記書き込み制御信号に基づく前記内蔵メモリへの前記イメージデータの書き込み、および前記読み出し制御信号に基づく前記内蔵メモリからの前記イメージデータの読み出しを行い、前記第１のカウンタと前記第２のカウンタとに基づいて前記印刷ヘッドへの前記ヌルデータと前記イメージデータとの転送を行う転送制御部と、を有する、
請求項１乃至７のいずれか一項記載の印刷装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、印刷装置に係り、詳しくはイメージバッファに格納されているイメージデータを印刷ヘッドへ順次転送して印刷処理を行う印刷装置に関するものである。
【背景技術】
【０００２】
従来、印刷装置の一つとして、例えばインクジェット方式のプリンタが知られている。近年、こうしたプリンタにあっては、パソコン等のホストコンピュータと接続されていなくとも、いわゆるスタンドアロン機としてそれ単体での印刷処理を行うことが可能となっている。この種のプリンタにおいて、色変換・２値化処理等の一連の画像処理は、例えばＣＰＵとバスを介して接続される制御ＡＳＩＣによって実現される。この制御ＡＳＩＣには、同ＡＳＩＣが直接データを読み書き可能なメモリ（例えばＳＤＲＡＭ）が接続されており、印刷ヘッドへ供給する各色イメージデータ（具体的にはドット形成の有無を示すドットデータ）を格納するためのイメージバッファ等はこのメモリを利用して構築される。
【０００３】
このようなプリンタにおいて、イメージバッファに格納されるイメージデータは、ＣＰＵの制御の下、該ＣＰＵが直接データを読み書き可能なメモリ（例えばＳＤＲＡＭ、以下「ＣＰＵメモリ」という）内に一旦読み込まれた後、印刷ヘッドへ順次転送される。印刷ヘッドは、こうして受け取った各色イメージデータをもとに、各色のインク滴をそれぞれの色に対応するノズルから吐出することにより印刷媒体上に画像を形成する。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記のような従来構成では、以下のような問題がある。
第１に、印刷ヘッドへのイメージデータの転送をＣＰＵの制御に基づいて行うため、ＣＰＵの処理負荷が大きくなるといった問題がある。近年のプリンタは多機能化・高機能化が一層望まれており、したがって、ＣＰＵが実行する処理は可能な限り軽減させることが望ましい。
【０００５】
第２に、このようにＣＰＵの制御に基づいてイメージデータの転送を行う場合、印刷ヘッドのヘッドギャップが一定の値に制限されるといった問題がある。詳しくは、印刷ヘッドには各色に対応したノズル列間にヘッドギャップが形成されている。従って、各色ノズルから吐出するインクドットを印刷媒体上の同一画素の位置に形成（着弾）するには、こうしたヘッドギャップを埋めるべく、各色のイメージデータに対しヌルデータ（全ビットが「０」のデータ）を付与して転送する必要がある。言い換えれば、各色のイメージデータを転送するタイミングをヘッドギャップに対応させて色毎にずらす（これをヌルギャップという）必要がある。
【０００６】
こうしたデータ転送をＣＰＵの制御に基づいて行う場合、ＣＰＵは各色についてのイメージデータの転送を一挙に管理しなければならないので、ＣＰＵの処理効率を極力低下させずに転送を行うには、ヘッドギャップは、ＣＰＵメモリに逐次読み込むイメージデータのサイズに依存したある一定の値に制限されてしまう。
【０００７】
この問題を解決するために、ヘッドギャップに対応した所定の転送量のヌルデータをあらかじめイメージデータに付与してイメージバッファ内に格納しておく方法も考えられるが、この方法は、イメージバッファのサイズが大きくなるため好適ではない。
【０００８】
この発明は、こうした従来の実情に鑑みてなされたものであり、その目的は、ＣＰＵの処理負荷を軽減することができ、任意のヘッドギャップの印刷ヘッドに対応可能な印刷装置を提供することにある。
【課題を解決するための手段】
【０００９】
上記目的を達成するため、この発明は、印刷ヘッドの主走査方向の移動に従い、イメージバッファに格納されている各色のイメージデータを印刷ヘッドへ順次転送して印刷を行う印刷装置において、前記イメージバッファから読み出した前記イメージデータを色毎に記憶する内蔵メモリと、前記内蔵メモリに記憶されている前記イメージデータを前記印刷ヘッドへ転送するにあたり、前記印刷ヘッドの走査毎に前記イメージデータの転送開始を色毎に指示する第１のカウンタと、前記印刷ヘッドの走査毎に前記イメージデータの転送終了を色毎に指示する第２のカウンタと、を有し、前記第１のカウンタに基づいて前記イメージデータの転送開始前に前記印刷ヘッドへヌルデータを転送し、前記第２のカウンタに基づいて前記イメージデータの転送終了後に前記印刷ヘッドへヌルデータを転送するヘッド制御部を備えた、ことをその要旨とする。
【００１０】
この構成によれば、印刷ヘッドの各走査において、ヘッド制御部は、第１のカウンタがイメージデータの転送開始を指示するカウンタ値となるまではヌルデータの転送を行う。また、第１のカウンタに従ってイメージデータの転送を開始した後は、第２のカウンタがイメージデータの転送終了を指示するカウンタ値となるまで同イメージデータの転送を行う。そして、第２のカウンタがイメージデータの転送終了を指示するカウンタ値となった後は、ヌルデータの転送を再度行う。ここで、本構成では、各色のイメージデータの転送開始と転送終了とはそれぞれ第１のカウンタと第２のカウンタとによって色毎に独立して指示される。これによりヘッド制御部は、イメージデータに付与するヌルデータを色毎にそれぞれ自動生成して転送することができる。このように、本構成では、各色のイメージデータに付与するヌルデータをヘッド制御部内部で自動生成して印刷ヘッドへ転送することができる。従って、ＣＰＵの処理負荷を軽減して、任意のヘッドギャップの印刷ヘッドに対応した印刷処理を行うことが可能となる。
【００１１】
上述した印刷装置において、前記第１のカウンタは、前記印刷ヘッドに形成される各色ノズル列間のヘッドギャップに対応したヌルギャップが設定されるヌルギャップカウンタを有してなる、ことを要旨としている。
【００１２】
印刷ヘッドにはヘッドギャップが形成されており、ヌルデータは、こうしたヘッドギャップを埋めて各色ノズルから吐出されるインクドットの形成（着弾）位置を合わせるために必要となる。言い換えれば、各色イメージデータの転送を開始するタイミングは、このヘッドギャップに依存したものとなる。従って、このようなヘッドギャップに対応した各色のヌルギャップ区間をヌルギャップカウンタにてカウントするようにすれば、各色のイメージデータの転送開始前にヌルデータを転送することができる。
【００１３】
上述した印刷装置において、前記ヌルギャップカウンタには、前記イメージデータの転送開始を指示する所定のカウンタ値から前記ヌルギャップに相当するカウント数分を差し引いたカウンタ値が初期値として前記印刷ヘッドの走査毎に設定される、ことを要旨としている。
【００１４】
この構成によれば、ヘッド制御部は、ヌルギャップカウンタが所定のカウンタ値であることを条件としてイメージデータの転送を開始する。なお、この転送開始を指示する所定のカウンタ値としては、どのような値であってもよく、例えばカウンタの上限値や下限値であってもよいし、その他任意の値であってもよい。即ち、所定のカウンタ値とは、ヘッド制御部が各色イメージデータの転送を開始するにあたっての判断の基準とするカウンタ値である。従って、例えば、この基準とするカウンタ値から上記ヌルギャップに相当するカウント数分を差し引いたカウンタ値を初期値としてあらかじめヌルギャップカウンタに印刷ヘッドの走査毎に設定しておけば、各色のヌルギャップカウンタがそれぞれ所定のカウンタ値となったことを条件にイメージデータの転送を開始させることができる。
【００１５】
上述した印刷装置において、前記印刷ヘッドは、前記主走査方向の往動時と復動時とでそれぞれインク滴を吐出する双方向動作を行うものであり、前記ヌルギャップカウンタには、前記印刷ヘッドの走査方向に対応した前記ヌルギャップが設定される、ことを要旨としている。
【００１６】
このように、印刷ヘッドが双方向動作を行う場合には、その往動時と復動時とでヌルギャップはそれぞれ異なったものとなる。本構成によれば、印刷ヘッドの走査方向に応じて適切なヌルギャップが設定されるため、印刷ヘッドの往動時と復動時とのいずれにおいてもヌルデータの転送を好適に行うことができる。
【００１７】
上述した印刷装置において、前記第１のカウンタは、前記イメージデータの転送ビット数を前記内蔵メモリ１面分についてカウントする転送ビット指定カウンタをさらに有してなる、ことを要旨としている。
【００１８】
この構成によれば、ヘッド制御部は、イメージデータを内蔵メモリから読み出して印刷ヘッドへ転送する毎に転送ビット指定カウンタを順次カウントアップする。従って、ヘッド制御部は、転送ビット指定カウンタのカウンタ値を参照すれば、印刷ヘッドへ順次転送するイメージデータの転送ビット位置を把握することができる。
【００１９】
上述した印刷装置において、前記第２のカウンタには、前記内蔵メモリ１面分の前記イメージデータの転送をカウント単位として、前記印刷ヘッドの１走査分の前記イメージデータの転送数を指示するカウンタ値が初期値として前記印刷ヘッドの走査毎に設定される、ことを要旨としている。
【００２０】
この構成によれば、ヘッド制御部は、第２のカウンタのカウンタ値に基づいて、１走査分のイメージデータの転送終了を把握することができ、該転送終了後にヌルデータを転送することができるようになる。
【００２１】
上述した印刷装置において、前記内蔵メモリは、同一の記憶容量を有する第１のメモリと第２のメモリとをそれぞれ色毎に備えており、前記ヘッド制御部は、前記イメージバッファから読み出した前記イメージデータを前記第１のメモリと前記第２のメモリとに交互に記憶し、該第１のメモリと該第２のメモリとに対してそれぞれ設けられる前記第１のカウンタに基づいて、それら第１および第２のメモリから前記イメージデータを交互に読み出して前記印刷ヘッドへの転送を行う、ことを要旨としている。
【００２２】
このように、内蔵メモリとして各色それぞれについて第１のメモリと第２のメモリとを設け、それら２つのメモリにイメージデータの書き込み／読み出しを交互に行うようにすれば、データ転送を効率的に行うことができる。
【００２３】
上述した印刷装置において、前記ヘッド制御部は、前記イメージバッファから読み出した前記イメージデータを前記内蔵メモリに書き込むための書き込み制御信号を生成する書き込み制御部と、前記印刷ヘッドへ転送する前記イメージデータを前記内蔵メモリから順次ノズル数分ずつ読み出すための読み出し制御信号を生成するヘッド送信制御部と、前記書き込み制御信号に基づく前記内蔵メモリへの前記イメージデータの書き込み、および前記読み出し制御信号に基づく前記内蔵メモリからの前記イメージデータの読み出しを行い、前記第１のカウンタと前記第２のカウンタとに基づいて前記印刷ヘッドへの前記ヌルデータと前記イメージデータとの転送を行う転送制御部と、を有する、ことを要旨としている。
【００２４】
この構成によれば、ヘッド制御部は、印刷ヘッドへ１走査分のイメージデータを転送するにあっては、ＣＰＵの制御を介在させることなく行うことができる。また、ヘッド制御部は、こうしたイメージデータの転送を行うにあたっては、ＣＰＵの制御を介在させることなく内部でヌルデータを自動生成して印刷ヘッドへ転送することができる。従って、任意のヘッドギャップを有する印刷ヘッドに対応しつつ、ＣＰＵの処理負荷を軽減しながら好適に印刷処理を行うことが可能である。
【発明を実施するための最良の形態】
【００２５】
以下、この発明を、複合機プリンタ（印刷装置）に具体化した一実施の形態を図１〜図９に従って説明する。
まず、複合機プリンタの概略構成を図１を参照しながら説明する。
【００２６】
複合機プリンタ（以下「プリンタ」という）１は、スキャナ機能と、プリンタ機能と、コピー機能とを併せ備えるインクジェットプリンタであって、パソコン等のホストコンピュータ（以下「ホスト」という）２と接続しなくともそれ単体で印刷処理を実行することのできるスタンドアロン機である。勿論、プリンタ１をホスト２と接続して該ホスト２の周辺機器として印刷処理やスキャナ読み取り処理等の各種処理を実行することもできる。
【００２７】
また、プリンタ１は、メモリカード等の可搬型記録媒体を装着可能ともなっていて、こうした記録媒体から画像データを読み込んで印刷処理を実行することもできる。さらに、プリンタ１は、所定のインタフェース、例えばＵＳＢ（Universal Serial Bus）やブルートゥース（登録商標）等を介して、デジタルカメラや携帯電話機、或いはハードディスク等の外部機器３と通信可能に接続することも可能である。なお、プリンタ１は、ＵＳＢを介して外部機器３と接続される際には自身がＵＳＢホストとなり、接続相手機器がＵＳＢデバイスとなるようにする。
【００２８】
プリンタ１は、第１のＳＤＲＡＭ（Synchronous DRAM）１１と、第２のＳＤＲＡＭ１２と、ＲＯＭ１３と、印刷ユニット１４と、スキャナユニット１５と、カードスロット１６と、ＡＳＩＣ（Application Specific IC）１７とを備えて構成されている。
【００２９】
ＲＯＭ１３には、プリンタ１を制御するための各種のプログラムやデータ等が格納される。第１のＳＤＲＡＭ１１には、メモリカードや外部機器３から読み込まれた例えばＪＰＥＧ形式の画像ファイル等が格納される。第２のＳＤＲＡＭ１２には種々の領域が確保される。例えば、第２のＳＤＲＡＭ１２には、スキャンして読み取られたＲＧＢラインデータを格納するための領域や、そのラインデータに色変換・２値化処理を施して生成したＣＭＹＫドットデータ（色プレーン）を格納するための領域や、マイクロウィーブ処理により各色プレーンのラスタラインを印刷ヘッドのノズル数やノズル配列に対応させて並び替え生成したイメージデータを格納するための領域（イメージバッファ）等が確保される。
【００３０】
印刷ユニット１４は、キャリッジおよびそれに取り付けられた印刷ヘッド、キャリッジモータ、紙送りモータ等から構成されている。印刷ヘッドは、記録紙等の印刷媒体の搬送路に対応した面に各色用のノズルを多数個有しており、キャリッジモータの駆動に基づき主走査方向（紙送り方向に垂直な方向）に往復移動しながら、各色のインク滴をそれぞれの色に対応するノズルから吐出することにより印刷媒体上に画像を形成する。
【００３１】
スキャナユニット１５は、露光ランプ、ＣＣＤ（電荷結合素子）センサ、パルスモータ、Ａ／Ｄ変換回路等から構成されている。このスキャナユニット１５は、原稿台（図示略）に載置された原稿を光学的に読み取って上記ＣＣＤに蓄えられた電荷をＡ／Ｄ変換し、読み取った画像をＲＧＢ表色系の多階調画像データとして生成する。
【００３２】
カードスロット１６は、可搬型記録媒体としてのメモリカード等を挿し込むための装着部として設けられ、プリンタ１は、このカードスロット１６に装着されたメモリカード等に保存されている画像データを読み込んで印刷処理を実行することもできる。
【００３３】
ＡＳＩＣ１７は、ＣＰＵ２０、ホストインタフェース回路（以下「ホストＩ／Ｆ」という）２１、ＵＳＢホスト回路２２、デコード回路２３、カードインタフェース回路（以下「カードＩ／Ｆ」という）２４、スキャナ入力回路２５、画像処理ユニット２６、マイクロウィーブ回路２７、印刷制御ユニット２８およびＳＤＲＡＭインタフェース回路（以下「ＳＤＲＡＭＩ／Ｆ」という）２９を備えている。このうち、ＣＰＵ２０、ホストＩ／Ｆ２１、ＵＳＢホスト回路２２、デコード回路２３、カードＩ／Ｆ２４、スキャナ入力回路２５、画像処理ユニット２６、マイクロウィーブ回路２７、および印刷制御ユニット２８は、ＡＳＩＣ１７の内部バス３０に接続されている。なお、内部バス３０には、上述した第１のＳＤＲＡＭ１１及びＲＯＭ１３も接続されている。
【００３４】
ＣＰＵ２０は、ＲＯＭ１３に格納されているプログラムを読み出し、このプログラムにしたがった処理を実行することでプリンタ１の動作を統括的に制御する。例えば、ＣＰＵ２０は、画像処理ユニット２６をして色変換・２値化処理を実行させたり、印刷制御ユニット２８をして後述する第２のＳＤＲＡＭ１２からのイメージデータの転送処理等を実行させたりする。
【００３５】
ホストＩ／Ｆ２１は、所定のインタフェースケーブルにより接続されたホスト２からの印刷制御データの受信やホスト２へのステータス情報の送信等、ホスト２との双方向通信の制御を行う。ＵＳＢホスト回路２２は、ＵＳＢケーブルを通じて外部機器３（ＵＳＢストレージデバイス）から読み込まれたＪＰＥＧ形式の画像ファイル等を内部バス３０を介して第１のＳＤＲＡＭ１１に格納する。また、カードＩ／Ｆ２４は、カードスロット１９を通じてメモリカードから読み込まれたＪＰＥＧ形式の画像ファイル等を内部バス３０を介して第１のＳＤＲＡＭ１１に格納する。なお、カードＩ／Ｆ２４とカードスロット１９とにより読取部が構成されている。
【００３６】
デコード回路２３は、第１のＳＤＲＡＭ１１から読み出されたＪＰＥＧ形式の画像ファイルを解凍（デコード）し、該デコードして得られたＲＧＢ表色系の多階調画像データ（以下「ＲＧＢデータ」という）をＳＤＲＡＭＩ／Ｆ２９を介して第２のＳＤＲＡＭ１２に格納する。
【００３７】
スキャナ入力回路２５は、上記スキャナユニット１５により読み取られたＲＧＢ多階調データをＳＤＲＡＭＩ／Ｆ２９を介して第２のＳＤＲＡＭ１２に格納する。なお、スキャナ入力回路２５とスキャナユニット１５とによりスキャナ部が構成されている。
【００３８】
ＳＤＲＡＭＩ／Ｆ２９は、第２のＳＤＲＡＭ１２へのデータの書き込み、および第２のＳＤＲＡＭ１２からのデータの読み出しを制御する。なお、本実施の形態においては、ＳＤＲＡＭＩ／Ｆ２９は、ＡＳＩＣ１７と第２のＳＤＲＡＭ１２との間をバースト転送によってデータの転送を行う。ここでバースト転送とは、１つのアドレスを設定すると、次に続くアドレスのデータを連続して転送する転送方式である。
【００３９】
画像処理ユニット２６は、このＳＤＲＡＭＩ／Ｆ２９を通じて第２のＳＤＲＡＭ１２からＲＧＢ多階調データを取得し、或いはスキャナ入力回路２５（スキャナ部）からＲＧＢ多階調データを直接取得し、それに色変換処理を施してＣＭＹＫ表色系の多階調画像データ（以下「ＣＭＹＫデータ」という）を生成する。また、画像処理ユニット２６は、この色変換後の多階調画像データ（ＣＭＹＫデータ）に２値化処理を施して、画素の階調値により表現されているＣＭＹＫデータをドット形成の有無による表現形式のＣＭＹＫドットデータ（色プレーン）に変換し、それをＳＤＲＡＭＩ／Ｆ２９を通じて第２のＳＤＲＡＭ１２に格納する。
【００４０】
なお、本実施の形態においては、ＣＭＹＫデータは、例えばＣ（シアン），Ｍ（マゼンタ），Ｙ（イエロー），Ｋ（ブラック），ＬＣ（ライトシアン），ＬＭ（ライトマゼンタ），ＤＹ（ダークイエロー），ＣＲ（クリア）の８色であり、これら各色についてそれぞれドット展開して１ドット当たり２ビットのドットデータを生成するようになっている。２ビットのドットデータは、ドット形成の有無とドットを形成するに当たってのドットの大きさとを示すデータであり、本実施の形態では、大ドットを形成する（例えば「１１」）、中ドットを形成する（例えば「１０」）、小ドットを形成する（例えば「０１」）、および、ドットを形成しない（例えば「００」）のうちいずれかを示すデータである。
【００４１】
マイクロウィーブ回路２７は、第２のＳＤＲＡＭ１２からＳＤＲＡＭＩ／Ｆ２９を通じてＣＭＹＫドットデータを取得し、それにマイクロウィーブ処理を施して各色プレーンのラスタラインを印刷ヘッドのノズル数やノズル配列に対応させて並び替えたイメージデータを生成する。このイメージデータはＳＤＲＡＭＩ／Ｆ２９を通じて第２のＳＤＲＡＭ１２（イメージバッファ）に格納される。
【００４２】
ここで、マイクロウィーブ処理について説明すると、印刷ヘッドの各ノズルは、紙送り方向（副走査方向）に印刷解像度よりも低解像度のノズルピッチで配置されているため、連続する番号のラスタを１回の主走査で形成することができない。そこで、毎回の主走査ではノズルピッチ間隔で複数本のラスタを形成しながら、ラスタを形成する度に形成位置を少しずつずらして、ラスタとラスタの間を少しずつラスタで埋めていくようにし、最終的に連続したラスタを形成する処理をマイクロウィーブ処理という。
【００４３】
印刷制御ユニット２８は、ヘッド制御部としてのヘッドコントロールユニット（以下「ＨＣＵ」という）３１（図２）や、印刷ヘッドのアクチュエータ（圧電振動子）を駆動するための駆動信号（具体的には台形波）を発生させる信号発生部（図示略）、紙送りモータやキャリッジモータを駆動制御する駆動回路（図示略）等を有して構成されている。
【００４４】
印刷制御ユニット２８は、上記第２のＳＤＲＡＭ１２からＳＤＲＡＭＩ／Ｆ２９を通じて後述するＨＣＵ３１の内蔵メモリにイメージデータを逐次読み込み、このイメージデータを印刷ヘッドに印字データとして供給する。なお、印刷ヘッドには、上記信号発生部にて発生した駆動信号も供給される。そして、印刷制御ユニット２８は、紙送りモータやキャリッジモータを駆動制御して印刷ヘッドを主走査方向に往復移動させ、インクドットの吐出の有無および吐出するインクドットの量（ドットの大きさ）を制御した各色のインクドットをその色に対応したノズルから吐出させる。なお、印刷制御ユニット２８と印刷ユニット１４とにより印刷実行部が構成されている。
【００４５】
次に、本実施の形態にかかるＨＣＵ３１の具体的構成について詳述する。
本実施の形態のＨＣＵ３１は、第２のＳＤＲＡＭ１２（イメージバッファ）に格納されている各色のイメージデータをＣＰＵバス（図１に示すＡＳＩＣ１７の内部バス３０）を介さずに同ＨＣＵ３１の内蔵メモリに転送することが可能である。しかもＨＣＵ３１は、印刷ヘッドの１走査分の印字処理に必要なイメージデータを転送するにあたっては、その転送過程でＣＰＵ２０の制御を介在させることなくデータ転送を行うことができる。勿論ＨＣＵ３１は、こうしたデータ転送をＣＰＵ２０の制御のもとで実行することも可能である。また、本実施の形態のＨＣＵ３１は、印刷ヘッドに形成されている各色ノズル列間のヘッドギャップに応じてヌルデータをＨＣＵ３１内部で自動生成し、該生成したヌルデータをイメージデータに付与して印刷ヘッドへ転送する機能も有している。
【００４６】
ここで、ヘッドギャップについて説明すると、図３に示すように、例えば本実施の形態の印刷ヘッドＨＤには、Ｃ，Ｍ，Ｙ，Ｋ，ＬＣ，ＬＭ，ＤＹ，ＣＲの各色に対応した８列分のノズル列が形成されており、各色ノズル列間にはそれぞれヘッドギャップＨＧ１〜ＨＧ７が形成されている。なお、各色ノズル列において、１ノズル列当たりには、本実施の形態では例えば１８４個のノズルが形成されている。印刷ヘッドＨＤには、このようにヘッドギャップＨＧ１〜ＨＧ７が形成されているため、各色のインクドットを印刷媒体上の同一画素の位置に形成（着弾）するには、同印刷ヘッドＨＤの移動に合わせて各色のノズルから吐出するインクドットの着弾タイミングをそれらヘッドギャップＨＧ１〜ＨＧ７に対応させてそれぞれずらす必要がある。
【００４７】
また、ヌルデータとは、全てのビットを「０」としたデータ（本実施の形態では１ドット分に対応した「００」の２ビットデータ）である。このヌルデータは具体的には、上記したように各色ノズルから吐出するインクドットを印刷媒体上の同一画素の位置に形成（着弾）するために、各色のイメージデータに付与して転送するヘッド制御用のデータである。このようなヌルデータは、後述するように、印刷ヘッドＨＤの主走査方向の移動にしたがって、各走査における印字開始前（イメージデータ転送前）と印字終了後（イメージデータ転送後）とに付与して転送する必要がある。
【００４８】
図２は、本実施の形態のＨＣＵ３１を示すブロック図である。ＨＣＵ３１は、アドレスデコード部３２と、共通レジスタ部３３と、書き込み制御部３４と、ヘッド送信制御部３５と、転送制御部としての制御信号調停部３６と、内蔵メモリを構成する第１ＲＡＭ３７（第１のメモリ）および第２ＲＡＭ３８（第２のメモリ）と、データセレクト部３９と、グリッチ防止回路４０と、コマンドセレクト部４１と、割り込み管理部４２とを備えている。なお、第１ＲＡＭ３７および第２ＲＡＭ３８は、本実施の形態においてはＳＲＡＭ（Static RAM）にて構成されている。
【００４９】
アドレスデコード部３２は、ＣＰＵ２０が共通レジスタ部３３や、書き込み制御部３４、制御信号調停部３６および割り込み管理部４２の各内部レジスタをアクセスする際に該ＣＰＵ２０から出力されるアドレスをデコードし、それら各レジスタについての選択信号をアサートする。
【００５０】
共通レジスタ部３３は、ＨＣＵ３１の各種動作設定を行うために設けられる共通レジスタ群であって、これには例えばＨＣＵ３１の初期設定を行うための初期化レジスタやモード設定を行うためのモード設定レジスタ等が含まれる。
【００５１】
ここで、モード設定について説明すると、本実施の形態のＨＣＵ３１は、プリンタ１が使用可能な印刷ヘッドの種類（ノズル数やノズル配列等）にそれぞれ対応したデータ転送を行う。即ち、印刷ヘッドには、上述した本実施の形態における印刷ヘッドＨＤ（図３）のように各色に対応したノズル列をヘッドの横方向（主走査方向）にそれぞれ色数分有してなるものや、図示は省略するが複数色分のノズル列がヘッドの縦方向（副走査方向）に沿って配列されてなるものなど、ノズル列数やノズル数等の異なる様々な種類がある。モード設定レジスタには、これらの各種印刷ヘッドのうち、プリンタ１がどの印刷ヘッドを使用して印刷を行うのか、その種類が書き込まれており、ＨＣＵ３１は、このモード設定レジスタの設定値に基づいて各印刷ヘッドに対応したデータ転送を行う。
【００５２】
書き込み制御部３４は、第２のＳＤＲＡＭ１２からのイメージデータの読み出しに必要な読み出し制御信号を制御信号調停部３６からの読み出し要求（図示略）に基づいて生成し、それをＳＤＲＡＭＩ／Ｆ２９（図１）に出力する。ＳＤＲＡＭＩ／Ｆ２９は、この読み出し制御信号に応答して第１ＲＡＭ３７や第２ＲＡＭ３８の１面分に格納するイメージデータを第２のＳＤＲＡＭ１２から読み出す。そして、書き込み制御部３４は、この第２のＳＤＲＡＭ１２から読み出されたデータをＳＤＲＡＭＩ／Ｆ２９を通じて受け取り、それを制御信号調停部３６へ転送する。
【００５３】
また、書き込み制御部３４は、このように第２のＳＤＲＡＭ１２から読み出されたイメージデータを制御信号調停部３６により第１ＲＡＭ３７や第２ＲＡＭ３８へ書き込むために必要な書き込み制御信号を生成する。なお、第１ＲＡＭ３７と第２ＲＡＭ３８とには、印刷ヘッドの主走査方向の移動にしたがって、その走査順にイメージデータが交互に書き込まれる。
【００５４】
ヘッド送信制御部３５は、第１ＲＡＭ３７や第２ＲＡＭ３８に順次転送されたイメージデータを制御信号調停部３６により印刷ヘッドの主走査方向の移動にしたがってそれぞれノズル数分ずつ読み出すための読み出し制御信号を生成する。この読み出し制御信号は、上記駆動信号（台形波）に同期して図示しないトリガ発生ユニットにより発生されるトリガ信号axtrg に基づいて生成される。なお、ヘッド送信制御部３５は、印刷ヘッドＨＤがイメージデータに基づき駆動信号（台形波）を取り込むために必要なクロック信号HSOCLKの生成等も行う。
【００５５】
制御信号調停部３６は、書き込み制御部３４より受け取った書き込み制御信号と、ヘッド送信制御部３５より受け取った読み出し制御信号とをＲＡＭの選択状態にしたがって調停し、これら各制御信号をもとに第１ＲＡＭ３７および第２ＲＡＭ３８をアクセス（書き込み／読み出し）する。具体的には、制御信号調停部３６は、ビットカウンタbitcnt（図４）と転送カウンタtrcnt （図５）とを備えており、第１ＲＡＭ３７と第２ＲＡＭ３８とのうちいずれのＲＡＭを対象としてデータの書き込み／読み出しを行うかは、上記ビットカウンタbitcntのカウンタ値をもとに判断する。これらビットカウンタbitcntと転送カウンタtrcnt とについては後述する。
【００５６】
上記したように、制御信号調停部３６は、第１ＲＡＭ３７および第２ＲＡＭ３８へのイメージデータの書き込みを交互に行う。言い換えれば、制御信号調停部３６は、第１ＲＡＭ３７および第２ＲＡＭ３８からのイメージデータの読み出しを交互に行い、選択状態にあるＲＡＭからの１面分のイメージデータの読み出しが終了したら、そのＲＡＭに次に格納すべき１面分のイメージデータを書き込み制御部３４を介して受け取り、書き込みを行う。
【００５７】
なお、このような制御信号調停部３６は、色毎に設けられる第１ＲＡＭ３７と第２ＲＡＭ３８との２つのＲＡＭに対してそれぞれ１つずつ割り当てられている。即ち、本実施の形態においてはプリンタ１は８色印刷を行うものであるため、これに対応してＨＣＵ３１にはそれぞれ８つずつの制御信号調停部３６ａ〜３６ｈと第１ＲＡＭ３７ａ〜３７ｈと第２ＲＡＭ３８ａ〜３８ｈとが設けられている。なお、制御信号調停部３６ａ〜３６ｈは、それぞれの色に対応した第１ＲＡＭ３７ａ〜３７ｈと第２ＲＡＭ３８ａ〜３８ｈとを使用しながらそれぞれ同様な動作を色毎に独立して行うようになっている。したがって、以下の説明では、煩雑さを避ける為に、特に明記しない限りはこれらの色を区別せずにそれぞれ「制御信号調停部３６」、「第１ＲＡＭ３７」、「第２ＲＡＭ３８」として記載し、この場合には各色について同様な構成ならびに作用を有するものとする。
【００５８】
コマンドセレクト部４１は、印刷ヘッドの種類に対応した該ヘッド制御用のコマンドデータをヘッド送信制御部３５からの制御信号に基づいて選択出力する。具体的には、このコマンドセレクト部４１には、特殊ヘッド（上述した１つのノズル列に複数色分のノズル列が縦配列されるものなど）に対応したコマンドデータが記憶されており、本実施の形態のような印刷ヘッドＨＤ（図３）に対応するコマンドデータ等は、上述した第１ＲＡＭ３７および第２ＲＡＭ３８にイメージデータとともに記憶されている。
【００５９】
データセレクト部３９は、選択された印刷ヘッドの種類にしたがって、同印刷ヘッドへ送信するコマンドデータを第１ＲＡＭ３７や第２ＲＡＭ３８から読み出されたコマンドデータと上記コマンドセレクト部４１から出力されるコマンドデータとのうちいずれとするかを選択し、グリッチ防止回路４０へ出力する。なお、コマンドデータは、制御信号調停部３６により読み出されたイメージデータに付与されてグリッチ防止回路４０へ出力される。ここで、データセレクト部３９は、制御信号調停部３６から上記ヌルデータが出力される場合（詳細は後述する）には、このヌルデータにコマンドデータを付与してグリッチ防止回路４０へ出力する。
【００６０】
グリッチ防止回路４０は、例えばフリップフロップ回路（図示略）によって構成され、データセレクト部３９を通じて出力されるデータに生じる組み合わせ遅延に起因したノイズ（グリッチ）を解消する。このグリッチ防止回路４０を介して出力されるデータが各色に対応した印字データhso1〜hso8（具体的にはヌルデータ或いはイメージデータに、コマンドデータを付与したデータ）として上記クロック信号HSOCLKとともに印刷ヘッドＨＤへ供給される。
【００６１】
なお、割り込み管理部４２は、ＨＣＵ３１がＣＰＵ２０に対し実行する割り込み処理について管理しており、上記駆動信号の発生を行う信号発生部等からの割り込み信号axahcuint に基づいてＣＰＵ２０に対する割り込み信号xhint を生成する。
【００６２】
図４は、制御信号調停部３６に備えられるビットカウンタbitcntを示す概念図である。なお、ビットカウンタbitcntは、各色の第１ＲＡＭ３７と第２ＲＡＭ３８とに対しそれぞれ独立して設けられている。
【００６３】
このビットカウンタbitcntは、本実施の形態では例えば１３ビットで構成されており、具体的にはそのうち上位９ビット[12:4]で構成されるヌルギャップカウンタnullcnt と、残りの下位４ビット[3:0] で構成される転送ビット指定カウンタfdcnt とから構成されている。
【００６４】
ヌルギャップカウンタnullcnt には、印刷ヘッドＨＤに形成される各色ノズル列間のヘッドギャップＨＧ１〜ＨＧ７に基づいて、実データ（イメージデータ）の転送開始を指示するためのヌルギャップが設定される。なお、ヌルギャップとは具体的には、各色ノズル列間のヘッドギャップＨＧ１〜ＨＧ７を埋めて、各色ノズルから吐出するインクドットを印刷媒体上の同一画素の位置に形成（着弾）するために必要なヌルデータの転送量を指示する値である。
【００６５】
詳述すると、ＨＣＵ３１は、印刷ヘッドＨＤによる１走査分の印字処理において、例えば、最初にシアンについての印字が開始されるときには、次のマゼンタについての印字が開始されるまでの間において、それらシアンとマゼンタとのノズル列間のヘッドギャップＨＧ１を埋めるために、このヘッドギャップＨＧ１に対応したヌルギャップ相当分のヌルデータを同マゼンタの実データ（イメージデータ）の転送開始に先立って転送する必要がある。また、その後イエローについての印字が開始されるまでの間にあっては、シアンとイエローとのノズル列間のヘッドギャップＨＧ１＋ＨＧ２を埋めるために、このヘッドギャップＨＧ１＋ＨＧ２に対応したヌルギャップ相当分のヌルデータを同イエローの実データ（イメージデータ）の転送開始に先立って転送する必要がある。以下、他の色についても同様に、それぞれヘッドギャップＨＧ１〜ＨＧ７に対応した各色ヌルギャップ相当分のヌルデータをそれらの実データ転送の開始に先立って転送する必要がある。
【００６６】
このようなヌルギャップの設定は、印刷ヘッドＨＤによる各走査の開始に先立ってＣＰＵ２０によって設定される。この設定は、具体的にはＨＣＵ３１に上記トリガ信号axtrg が入力されたときにヌルギャップカウンタnullcnt のレジスタ値ENB1が“１”であることを条件に印字処理を開始（イメージデータの転送を開始）するべく、このときのカウンタ値からヌルギャップ相当分のカウンタ値を差し引いた値を初期値として同カウンタnullcnt のレジスタ値ENB1，BCT4〜BCT11 に設定する。
【００６７】
これによりＨＣＵ３１は、トリガ信号axtrg が入力されたときにヌルギャップカウンタnullcnt のレジスタ値ENB1が“０”であれば、ヌルデータを印刷ヘッドＨＤに転送して同カウンタnullcnt を１ドット分進める。なお、本実施の形態では各ドットを２ビットで構成しているため、ＨＣＵ３１はヌルデータの転送ごとにヌルギャップカウンタnullcnt を２ずつカウントアップする。
【００６８】
ＨＣＵ３１は、こうしてヌルギャップカウンタnullcnt をヌルデータの転送ごとに順次カウントアップしていき、トリガ信号axtrg が入力されたときに同カウンタnullcnt のレジスタ値ENB1が“１”であれば、第１ＲＡＭ３７や第２ＲＡＭ３８の実データ（イメージデータ）を印刷ヘッドＨＤに転送して同カウンタnullcnt を１ドット分（２ビット）進める。
【００６９】
なお、本実施の形態のプリンタ１は、印刷ヘッドＨＤの往動時と復動時とにおいてそれぞれインクの吐出を行うことにより画像形成（双方向印刷）を行うプリンタとしている。この場合、ヌルギャップカウンタnullcnt に設定するヌルギャップは印刷ヘッドＨＤの走査方向（往動方向、復動方向）に応じてそれぞれ変更される。
【００７０】
一方、転送ビット指定カウンタfdcnt は、ＨＣＵ３１が第１ＲＡＭ３７や第２ＲＡＭ３８内の実データ（イメージデータ）を印刷ヘッドＨＤへ転送する毎に、その転送ビット数をＲＡＭ１面分についてカウントする。言い換えれば、転送ビット指定カウンタfdcnt は、ＨＣＵ３１が実データを印刷ヘッドＨＤに転送するにあたり、第１ＲＡＭ３７や第２ＲＡＭ３８内の転送ビット位置を指示する。
【００７１】
ここで、第１ＲＡＭ３７および第２ＲＡＭ３８は、本実施の形態では例えば１９２ワード×１６ビットのデータ記憶容量を有して構成されており、これらの各ＲＡＭ３７，３８には、図６に示すように、１ライン当たり８ドット分のデータが印刷ヘッドＨＤのノズル数分（本例では１８４ノズル数分）記憶される。なお、図６では省略しているが、第１ＲＡＭ３７および第２ＲＡＭ３８には、こうしたイメージデータの他に、上述したコマンドデータも記憶される。
【００７２】
ＨＣＵ３１は、このような第１ＲＡＭ３７や第２ＲＡＭ３８から上記トリガ信号axtrg の入力（具体的にはそれによって生成される読み出し制御信号）に基づいてイメージデータを順次ノズル数分ずつ読み出して印刷ヘッドＨＤへ送信する。具体的には、各ドットを構成する２ビットのデータのうち、まず上位ビット側のデータ（図６において「Ｈ」側のビットデータ）をノズル数分読み出して送信した後、これに続いて下位ビット側のデータ（図６において「Ｌ」側のビットデータ）を同じくノズル数分読み出して送信する。そして、最後にコマンドデータを付加して送信する。ＨＣＵ３１は、こうして第１ＲＡＭ３７や第２ＲＡＭ３８から順次ノズル数分ずつ読み出したイメージデータを印刷ヘッドＨＤへ８回（１ライン当たり８ドット分）転送することにより、ＲＡＭ１面分についてのデータ転送を終了する。
【００７３】
転送ビット指定カウンタfdcnt は、ＨＣＵ３１によるこのようなデータ転送に対応するべくビットカウンタbitcntの下位４ビット分[3:0] を使用して構成されている。つまり、ＨＣＵ３１は、トリガ信号axtrg の入力に基づいてＲＡＭ内のイメージデータを順次ノズル数分ずつ転送する毎に転送ビット指定カウンタfdcnt を１ドット分ずつ（具体的には２ずつ）進めていく。従って、ＨＣＵ３１は、印刷ヘッドＨＤへイメージデータを転送するにあたっては、この転送ビット指定カウンタfdcnt のレジスタ値BCT0〜BCT3を参照することにより、その転送ビット位置（０，２，４，６，８，１０，１２，１４）を知ることができる。そして、ＨＣＵ３１は、転送ビット指定カウンタfdcnt の値が１６になると、ＲＡＭ１面分についてのデータ転送を終了したと判断して、データ読み出しを行うＲＡＭを第１ＲＡＭ３７と第２ＲＡＭ３８との間で切り替える。
【００７４】
図５は、制御信号調停部３６に備えられる転送カウンタtrcnt を示す概念図である。なお、転送カウンタtrcnt は、色毎にそれぞれ独立して設けられている。
転送カウンタtrcnt は、本実施の形態では例えば１６ビットで構成されており、同カウンタtrcnt には、印刷ヘッドＨＤによる１走査分の印字処理において、第１ＲＡＭ３７や第２ＲＡＭ３８に記憶されているイメージデータをそれぞれＲＡＭ１面分をカウント単位として何面分転送するかを指示する値が初期値として設定される。この設定は、印刷ヘッドＨＤによる各走査の開始に先立ってＣＰＵ２０によって設定される。
【００７５】
即ち、ＨＣＵ３１は、この転送カウンタtrcnt のカウンタ値をもとに第１ＲＡＭ３７と第２ＲＡＭ３８とからＲＡＭ１面分のイメージデータを交互に読み出して印刷ヘッドＨＤへ順次転送し、これら第１ＲＡＭ３７と第２ＲＡＭ３８とを切り替える毎に転送カウンタtrcnt のカウンタ値を１ずつデクリメントする。そしてＨＣＵ３１は、転送カウンタtrcnt のカウンタ値が０（具体的には各レジスタ値TRC0〜TRC15が０）となると、１走査分のイメージデータの転送を終了したと判断する。
【００７６】
ＨＣＵ３１は、このように転送カウンタtrcnt のカウンタ値が０となって、１走査分のイメージデータの転送を終了すると、その後は、トリガ信号axtrg の入力を条件にヌルデータの転送を行う。
【００７７】
詳述すると、印刷ヘッドＨＤによる１走査分の印字処理において、例えば最初にシアンについての印字が終了したときには、最後のクリアについての印字が終了するまでの間においてそれらノズル列間のヘッドギャップＨＧ１〜ＨＧ７を埋めるために、このヘッドギャップＨＧ１〜ＨＧ７に対応したヌルギャップ相当分のヌルデータを転送する必要がある。即ち、シアンについての印字が終了（実データの転送が終了）した後は、印字外領域におけるインク滴の吐出を防止するために、他の全ての色についての印字が終了するまで、ヌルデータを転送する必要がある。なお、印刷ヘッドＨＤによる１走査分の印字処理にあっては、全ての色についての印字が終了するまで、上記トリガ信号axtrg がＨＣＵ３１に入力されるようになっている。これによりＨＣＵ３１は、転送カウンタtrcnt の値が０となった色については、その後、トリガ信号axtrg のＨＣＵ３１への入力が停止されるまでヌルデータを転送する。
【００７８】
次に、上記のように構成されたＨＣＵ３１の作用について説明する。
図７は、第２のＳＤＲＡＭ１２から第１ＲＡＭ３７および第２ＲＡＭ３８へのデータ転送処理を示す概念図である。なお、説明の簡素化の為、ここでは１走査当たりのイメージデータのサイズを例えば８０ビット（４０ドット分）としている。この場合、転送カウンタtrcnt には、ＲＡＭ１面分をカウント単位とした、印刷ヘッドＨＤの１走査分のイメージデータの転送数に対応するカウンタ値“５”（＝８０／１６）があらかじめ走査の開始に先立って設定される。このカウンタ値は、上記したように、印刷ヘッドＨＤへのＲＡＭ１面分のイメージデータの転送が終了する毎に順次１ずつデクリメントされる。
【００７９】
図７（ａ）に示すように、ＨＣＵ３１は、印刷ヘッドＨＤの往動時にあっては、まず第２のＳＤＲＡＭ１２のアドレス+0x000を指定して、この先頭アドレスに続くＲＡＭ１面分のイメージデータ（１８４×１６ビット分、以下同様）を第２のＳＤＲＡＭ１２から第１ＲＡＭ３７へ転送する。次いで、第２のＳＤＲＡＭ１２のアドレス+0x170を指定して、この先頭アドレスに続くＲＡＭ１面分のイメージデータを第２のＳＤＲＡＭ１２から第２ＲＡＭ３８へ転送する。以下同様にして、ＲＡＭへ転送するデータの先頭アドレス+0x2E0，+0x450，+0x5c0を順次指定することにより、第１ＲＡＭ３７と第２ＲＡＭ３８とに交互にデータを転送（本例ではＲＡＭ５面分）する。
【００８０】
一方、印刷ヘッドＨＤの復動時にあっては、図７（ｂ）に示すように、ＨＣＵ３１は、まず第２のＳＤＲＡＭ１２のアドレス+0x5c0を指定して、この先頭アドレスに続くＲＡＭ１面分のイメージデータを第２のＳＤＲＡＭ１２から第２ＲＡＭ３８へ転送する。以下、上記往動時とは逆のアドレスを辿って、ＲＡＭへ転送するデータの先頭アドレス+0x450，+0x2E0，+0x170，+0x000を順次指定することにより第１ＲＡＭ３７と第２ＲＡＭ３８とに交互にデータを転送（本例ではＲＡＭ５面分）する。
【００８１】
図８は、印刷ヘッドＨＤの往動時と復動時とにおける同印刷ヘッドＨＤへのデータ転送処理を示すタイミングチャートである。なお、図８では一部の色について示している。
図８（ａ）に示すように、ＨＣＵ３１は、印刷ヘッドＨＤの往動時にあっては、同ヘッドＨＤのノズル配列（図３）に従って、例えば、クリア、ダークイエロー、ライトマゼンタ、…シアンの順に実データ（イメージデータ）の転送を行う。
【００８２】
ここで、クリアのノズル列とダークイエローのノズル列との間にはヘッドギャップＨＧ７が形成されていることから、ダークイエローについて設けられているヌルギャップカウンタnullcnt には、このヘッドギャップＨＧ７に対応したヌルギャップが設定される。従って、ＨＣＵ３１は、クリアについて実データの転送を開始した後、ダークイエローについては、上記ヘッドギャップＨＧ７に対応するヌルギャップ相当分だけヌルデータの転送を行ってから実データの転送を開始する。
【００８３】
また、クリアのノズル列とライトマゼンタのノズル列との間にはヘッドギャップＨＧ７＋ＨＧ６が形成されていることから、ライトマゼンタについて設けられているヌルギャップカウンタnullcnt には、このヘッドギャップＨＧ７＋ＨＧ６に対応したヌルギャップが設定される。従って、ＨＣＵ３１は、クリアについて実データの転送を開始した後、ライトマゼンタについては、上記ヘッドギャップＨＧ７＋ＨＧ６に対応するヌルギャップ相当分だけヌルデータの転送を行ってから実データの転送を開始する。
【００８４】
以下、ライトシアン、ブラック、イエロー、マゼンタ、シアンについても同様に、それぞれのヌルギャップカウンタnullcnt にあらかじめ設定したヌルギャップにしたがって所定ドット数分のヌルデータの転送を行ってから実データの転送を開始する。
【００８５】
その後、ＨＣＵ３１は、各色について設けられている転送ビット指定カウンタfdcnt と転送カウンタtrcnt とに基づき各色それぞれ１走査分の実データの転送を行い、実データの転送が終了するとそれに続いてヌルデータの転送を開始する。
【００８６】
具体的には本例においては、クリア、ダークイエロー、ライトマゼンタ、…シアンの順に実データの転送処理が終了する。この場合、ＨＣＵ３１は、シアンについての実データの転送処理が終了するまで、他のクリア、ダークイエロー、ライトマゼンタ、…マゼンタについては、それぞれ実データの転送終了後、それに続いてヌルデータの転送を行う。
【００８７】
一方、図８（ｂ）に示すように、ＨＣＵ３１は、印刷ヘッドＨＤの復動時にあっては、同ヘッドＨＤのノズル配列（図３）に従って、上記往動時とは逆の順、即ち、シアン、マゼンタ、イエロー、…クリアの順に実データ（イメージデータ）の転送を行う。
【００８８】
ここで、シアンのノズル列とマゼンタのノズル列との間にはヘッドギャップＨＧ１が形成されていることから、同シアンについて設けられているヌルギャップカウンタnullcnt には、このヘッドギャップＨＧ１に対応したヌルギャップが設定される。従って、ＨＣＵ３１は、シアンについて実データの転送を開始した後、マゼンタについては、上記ヘッドギャップＨＧ１に対応するヌルギャップ相当分だけヌルデータの転送を行ってから実データの転送を開始する。
【００８９】
また、シアンのノズル列とイエローのノズル列との間にはヘッドギャップＨＧ１＋ＨＧ２が形成されていることから、同イエローについて設けられているヌルギャップカウンタnullcnt には、このヘッドギャップＨＧ１＋ＨＧ２に対応したヌルギャップが設定される。従って、ＨＣＵ３１は、シアンについて実データの転送を開始した後、イエローについては、上記ヘッドギャップＨＧ１＋ＨＧ２に対応するヌルギャップ相当分だけヌルデータの転送を行ってから実データの転送を開始する。
【００９０】
以下、ブラック、ライトシアン、ライトマゼンタ、ダークイエロー、クリアについても同様に、それぞれのヌルギャップカウンタnullcnt にあらかじめ設定したヌルギャップにしたがって所定ドット数分のヌルデータの転送を行ってから実データの転送を開始する。
【００９１】
その後、ＨＣＵ３１は、各色について設けられている転送ビット指定カウンタfdcnt と転送カウンタtrcnt とに基づき各色それぞれ１走査分の実データの転送を行い、実データの転送が終了するとそれに続いてヌルデータの転送を開始する。
【００９２】
具体的には本例においては、シアン、マゼンタ、イエロー、…クリアの順に実データの転送処理が終了する。この場合、ＨＣＵ３１は、クリアについての実データの転送処理が終了するまで、他のシアン、マゼンタ、イエロー、…ダークイエローについては、それぞれ実データの転送終了後、それに続いてヌルデータの転送を行う。
【００９３】
図９は、第１ＲＡＭ３７および第２ＲＡＭ３８から印刷ヘッドＨＤへデータ転送を行うにあたっての処理の流れを示すフローチャートである。なお、ここでは１色分の転送処理について説明する。
【００９４】
ＨＣＵ３１は、１走査についての印字処理が開始されると、まずトリガ信号axtrg の入力があるか無いかを判断し（ステップ１００）、ここでトリガ信号axtrg の入力があると判断した場合には、次いでビットカウンタbitcntのカウンタ値が所定値に達しているか否かを判断する（ステップ１１０）。具体的には、ＨＣＵ３１は、ヌルギャップカウンタnullcnt のカウンタ値が実データの転送開始を指示する所定のカウンタ値に達しているか否か（本例ではレジスタ値ENB1が“１”となっているか否か）を判断する。
【００９５】
ここで、ヌルギャップカウンタnullcnt のカウンタ値が実データの転送開始を指示するカウンタ値に達していないと判断した場合には（ステップ１１０；ＮＯ）、ＨＣＵ３１は、ヌルデータをノズル数分にて転送する（ステップ１２０）。そして、ＨＣＵ３１は、このヌルデータの転送に伴いビットカウンタbitcntのカウンタ値、具体的にはヌルギャップカウンタnullcnt のカウンタ値を１ドット分カウントアップし（ステップ１３０）、その後、上記ステップ１００に戻って次のトリガ信号axtrg の入力を待つ。
【００９６】
一方、ヌルギャップカウンタnullcnt のカウンタ値が実データの転送開始を指示するカウンタ値に達していると判断した場合には（ステップ１１０；ＹＥＳ）、ＨＣＵ３１は、実データをノズル数分にて転送する（ステップ１４０）。そして、ＨＣＵ３１は、この実データの転送に伴いビットカウンタbitcntのカウンタ値、具体的には転送ビット指定カウンタfdcnt のカウンタ値を１ドット分カウントアップする（ステップ１５０）。
【００９７】
次に、ＨＣＵ３１は、現在読み出しを行っている第１ＲＡＭ３７または第２ＲＡＭ３８について、そのＲＡＭ１面分についての実データの転送を終了したか否かを判断する（ステップ１６０）。具体的には、転送ビット指定カウンタfdcnt の値が実データの転送終了を指示するカウンタ値に達しているか否か（本例ではカウンタ値が“１６”となっているか否か）を判断する。
【００９８】
ここで、転送ビット指定カウンタfdcnt のカウンタ値が実データの転送終了を指示するカウンタ値に達していないと判断した場合には（ステップ１６０；ＮＯ）、ＨＣＵ３１は次のトリガ信号axtrg の入力を待つ（ステップ１７０）。そして、その後トリガ信号axtrg の入力があると判断した場合には、上記ステップ１４０に戻って、転送ビット指定カウンタfdcnt により指示される転送ビット位置の実データをノズル数分にて転送し、それに伴い同カウンタfdcnt のカウンタ値を１ドット分カウントアップする。ＨＣＵ３１は、このように転送ビット指定カウンタfdcnt のカウンタ値を参照しながら、ＲＡＭ１面分（本例では１８４×１６ビット分）についての実データ転送を行う。
【００９９】
そして、転送ビット指定カウンタfdcnt のカウンタ値が実データの転送終了を指示するカウンタ値に達していると判断した場合（ステップ１６０；ＹＥＳ）、即ち、ＲＡＭ１面分についての実データ転送が終了したと判断した場合には、ＨＣＵ３１は、次いで転送カウンタtrcnt のカウンタ値をデクリメントする（ステップ１８０）。
【０１００】
次に、ＨＣＵ３１は、この転送カウンタtrcnt のカウンタ値が“０”となっているか否かを判断する（ステップ１９０）。
ここで、転送カウンタtrcnt のカウンタ値が“０”ではないと判断した場合（ステップ１９０；ＮＯ）には、即ち、１走査分の実データの転送が終了していないと判断した場合には、ＨＣＵ３１は次のトリガ信号axtrg の入力を待つ（ステップ２００）。そして、その後トリガ信号axtrg の入力があると判断した場合には、ＨＣＵ３１は、上記ステップ１４０に戻り、第１ＲＡＭ３７と第２ＲＡＭ３８との間で切り替えた次の読み出し対象のＲＡＭ１面分についての実データの転送を上記同様にして行う。
【０１０１】
そして、転送カウンタtrcnt のカウンタ値が“０”であると判断した場合（ステップ１９０；ＹＥＳ）には、即ち、１走査分の実データの転送が終了したと判断した場合には、ＨＣＵ３１は、以降、トリガ信号axtrg の入力を条件としてヌルデータを転送する（ステップ２１０）。これによりＨＣＵ３１は、１走査分のデータ転送処理を終了する。
【０１０２】
以上記述したように、本実施の形態によれば、以下の効果を奏する。
（１）ＨＣＵ３１には、印刷ヘッドＨＤの走査毎にイメージデータの転送開始を指示するヌルギャップカウンタnullcnt と、同印刷ヘッドＨＤの走査毎にイメージデータの転送終了を指示する転送カウンタtrcnt とがそれぞれ色毎に設けられている。これによりＨＣＵ３１は、印刷ヘッドＨＤの各走査において、ヌルギャップカウンタnullcnt が転送開始を指示するカウンタ値となるまではヌルデータの転送を行う。また、ヌルギャップカウンタnullcnt に従ってイメージデータの転送を開始した後は、転送カウンタtrcnt が転送終了を指示するカウンタ値となるまで同イメージデータの転送を行う。そして、転送カウンタtrcnt が転送終了を指示するカウンタ値となった後は、ヌルデータの転送を各色の印字終了まで行う。従って、本実施の形態によれば、ＣＰＵ２０の制御を介在させることなく１走査分のイメージデータの転送をＨＣＵ３１が行うことができる。また、こうしたイメージデータの転送を行うにあたっては、ＨＣＵ３１内部でヌルデータを色毎に自動生成して転送することができる。
【０１０３】
（２）ヌルギャップカウンタnullcnt には、ヘッドギャップＨＧ１〜ＨＧ７に対応したヌルギャップが設定される。これによりＨＣＵ３１は、ヌルギャップカウンタnullcnt のカウンタ値に基づいて、イメージデータの転送開始前にヌルデータを転送することができる。
【０１０４】
（３）上記ヌルギャップカウンタnullcnt には、任意のヌルギャップを設定することができる。これにより、本実施の形態では、任意のヘッドギャップの印刷ヘッドに対応した印刷処理を行うことができる。
【０１０５】
（４）ヌルギャップカウンタnullcnt には、印刷ヘッドＨＤの走査方向（往動時および復動時）にそれぞれ対応したヌルギャップが設定される。これによりＨＣＵ３１は、印刷ヘッドＨＤの往動時と復動時とのいずれにおいてもヌルデータの転送を好適に行うことができる。
【０１０６】
（５）ＨＣＵ３１には、印刷ヘッドＨＤへのイメージデータの転送ビット数をＲＡＭ１面分についてカウントする転送ビット指定カウンタfdcnt が色毎に設けられている。これによりＨＣＵ３１は、転送ビット指定カウンタfdcnt のカウンタ値を参照すれば、印刷ヘッドＨＤへ転送するイメージデータの転送ビット位置を知ることができる。
【０１０７】
（６）ＨＣＵ３１には、印刷ヘッドＨＤの１走査分のイメージデータを転送するにあたって、ＲＡＭ１面分のイメージデータを何面分転送すればよいかを指示する転送カウンタtrcnt が色毎に設けられている。これによりＨＣＵ３１は、転送カウンタtrcnt のカウンタ値に基づいて、イメージデータの転送終了後にヌルデータを転送することができる。
【０１０８】
（７）本実施の形態では、各色ごとにそれぞれ第１ＲＡＭ３７と第２ＲＡＭ３８との２つのメモリが設けられている。この構成とすれば、データ転送を効率的に行うことができる。
【０１０９】
なお、上記実施の形態では、以下の態様に変更した変形例を採用してもよい。
（変形例１）上記実施の形態では、ヌルギャップカウンタnullcnt と転送ビット指定カウンタfdcnt とをビットカウンタbitcnt内にて個別に構成したが、これら各カウンタnullcnt ，fdcnt の機能を１つのカウンタにて実現してもよい。
【０１１０】
（変形例２）上記実施の形態では、各色にそれぞれ第１ＲＡＭ３７と第２ＲＡＭ３８との２つのＲＡＭを設けたが、必ずしも２つ設ける必要はない。
（変形例３）上記実施の形態では各ドットは２ビット構成としたが、必ずしも２ビットに限られるものではない。
【０１１１】
（変形例４）上記実施の形態ではプリンタ１は、双方向印刷を行うものとしたが、単方向印刷を行うものであっても勿論よい。
（変形例５）上記実施の形態ではプリンタ１は、Ｃ，Ｍ，Ｙ，Ｋ，ＬＣ，ＬＭ，ＤＹ，ＣＲの８色印刷を行うものとしたが、勿論この８色に限定されるものではない。
【図面の簡単な説明】
【０１１２】
【図１】一実施の形態における複合機プリンタ（印刷装置）のブロック図。
【図２】ＨＣＵ（ヘッド制御部）の具体的構成を示すブロック図。
【図３】印刷ヘッドを示す概念図。
【図４】ビットカウンタを示す概念図。
【図５】転送カウンタを示す概念図。
【図６】ＨＣＵの内蔵メモリ（第１ＲＡＭ、第２ＲＡＭ）を示す概念図。
【図７】（ａ），（ｂ）は内蔵メモリへのデータ転送を示す概念図。
【図８】（ａ），（ｂ）は印刷ヘッドへのデータ転送を示すタイミングチャート。
【図９】印刷ヘッドへのデータ転送処理を示すフローチャート。
【符号の説明】
【０１１３】
１…印刷装置としての複合機プリンタ、１２…イメージバッファを構成する第２のＳＤＲＡＭ、１４…印刷ユニット、１７…ＡＳＩＣ、２０…ＣＰＵ、２８…印刷制御ユニット、２９…ＳＤＲＡＭＩ／Ｆ、３１…ヘッド制御部としてのＨＣＵ、３２…アドレスデコード部、３３…共通レジスタ部、３４…書き込み制御部、３５…ヘッド送信制御部、３６（３６ａ〜３６ｈ）…転送制御部としての制御信号調停部、３７（３７ａ〜３７ｈ）…第１のメモリとしての第１ＲＡＭ、３８（３８ａ〜３８ｈ）…第２のメモリとしての第２ＲＡＭ、３９データセレクト部、４０…グリッチ防止回路、４１…コマンドセレクト部、４２…割り込み管理部、ＨＤ…印刷ヘッド、ＨＧ１〜ＨＧ７…ヘッドギャップ、axtrg …トリガ信号、bitcnt…第１のカウンタとしてのビットカウンタ、nullcnt …ヌルギャップカウンタ、fdcnt …転送ビット指定カウンタ、trcnt …第２のカウンタとしての転送カウンタ。
【図１】
2005305832.tif 000003
【図２】
2005305832.tif 000004
【図３】
2005305832.tif 000005
【図４】
2005305832.tif 000006
【図５】
2005305832.tif 000007
【図６】
2005305832.tif 000008
【図７】
2005305832.tif 000009
【図８】
2005305832.tif 000010
【図９】
2005305832.tif 000011