(57)【特許請求の範囲】
【請求項１】
複数の記録素子を備えた記録ヘッドを走査させて、画像データに基づいて記録を行う記録装置であって、
画像データを格納するプリントバッファと、
画像データをHV変換して前記記録ヘッドに供給する変換手段と、
前記プリントバッファに格納されたデータを読み出して前記変換手段に転送する転送手段とを有し、
前記プリントバッファには、１つの印刷幅に相当する領域の記録を完成させるための前記記録ヘッドによる走査回数に応じた画像データのグループに分割して格納し、
前記転送手段は、前記記録する画像データに応じて、画像データを前記グループごとに前記変換手段に転送することを特徴とする記録装置。
【請求項２】
前記変換手段は、前記転送手段により転送された画像データをHV変換して前記記録ヘッドに供給し、前記記録ヘッドは供給された前記画像データに対応するカラムを記録することを特徴とする請求項１に記載の記録装置。
【請求項３】
１つの印刷幅に相当する領域の記録を、前記記録ヘッドによる複数カラムおきの走査を複数回行うことにより完成させるカラム間引き印刷により行う場合には、前記プリントバッファには、前記画像データが、前記複数回の走査の各々で記録する画像データを前記グループとして格納されることを特徴とする請求項１または２に記載の記録装置。
【請求項４】
前記グループは画像データの奇数カラムと偶数カラムとにそれぞれ対応した２つのグループであり、前記転送手段は、画像データの奇数カラムと偶数カラムとをそれぞれに対応する走査毎に前記変換手段に転送することを特徴とする請求項１乃至３のいずれか一項に記載の記録装置。
【請求項５】
前記グループは画像データのカラム番号を走査回数の剰余類で分類したグループであり、前記転送手段は、画像データの各グループを、それぞれに対応する走査毎に前記変換手段に転送することを特徴とする請求項１乃至３のいずれか一項に記載の記録装置。
【請求項６】
画像データを格納するメモリを更に有し、前記プリントバッファには、前記メモリに格納された画像データが、１つの印刷幅に相当する領域の記録を完成させるための前記記録ヘッドによる走査回数に応じた画像データのグループに分割されて格納されることを特徴とする請求項１乃至３のいずれか一項に記載の記録装置。
【請求項７】
前記転送手段は、バーストモードを用いて前記プリントバッファに格納されたデータを読み出して前記変換手段に転送することを特徴とする請求項１乃至６のいずれか一項に記載の記録装置。
【請求項８】
前記画像データはカラー画像データであり、前記プリントバッファには色成分ごとに画像データが格納され、前記色成分ごとの前記記録ヘッドを有することを特徴とする請求項１乃至７のいずれか一項に記載の記録装置。
【請求項９】
前記画像データは二値画像データであることを特徴とする請求項１乃至８のいずれか一項に記載の記録装置。
【請求項１０】
画像データを格納するプリントバッファを有し、複数の記録素子を備えた記録ヘッドを走査させて、記録データに基づいて記録を行う記録装置の制御方法であって、
変換手段が、画像データをHV変換して前記記録ヘッドに供給する変換工程と、
転送手段が、前記プリントバッファに格納されたデータを読み出して前記変換手段に転送する転送工程とを有し、
前記プリントバッファには、１つのバンド領域の記録を完成させるための前記記録ヘッドによる走査回数に応じた画像データのグループに分割して格納し、
前記転送手段は、前記記録する画像データに応じて、画像データを前記グループごとに前記変換手段に転送することを特徴とする記録装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の記録素子を備えた記録ヘッドを走査させて、画像データに基づいて記録を行う技術に関する。
【背景技術】
【０００２】
特許文献１に開示されている記録装置では、プリントバッファと呼ばれるバーストリード機能を持つDRAMにラスタデータを格納し、所定量溜まったのちデータを読み出し、HV変換して記録ヘッドへ転送することが記載されている。HV変換とは、ライン方向に画素を順に並べたラスタデータを、記録ヘッドの並びに応じた順序に並べ替える変換である。
【０００３】
一方、プリントバッファへの格納前にHV変換を行い、カラムデータを読み出す構成とすることも考えられる。ただしこの場合、バーストリードで読み出す定まったサイズとレジ調を行うために必要なデータ量とが整合しなくなることが考えられる。なお「レジ調」とは、媒体上に置ける記録位置の調整であり、特に搬送方向についての記録位置の調整を指す。この構成の場合、シングルリードを付加する必要がでてきたり、データ読み出しのバースト長を長くしたり、また、読み出したデータから必要なビットを切りだすためのビットシフト操作が必要になるなど、回路が複雑化するといった問題がある。
【０００４】
一方、特許文献２に開示されている記録装置では、カラム間引きという記録方法が開示されている。カラム間引きとは、記録ヘッドの主走査方向に配列する画素列（カラム）に対し、周期的に選択されたカラムだけ記録動作を行う記録方法である。よって、カラム間引きを行った場合、各記録走査では、実際に配列する画素密度よりも低い画素密度で吐出動作を行うことになる。これにより、個々の記録素子の駆動周波数を見かけ上低下させることが出来るので、キャリッジの走査速度をアップし、記録速度を向上させることができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開2007-118595号公報
【特許文献２】特開2013-154590号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１記載のようにプリントバッファにラスタデータ（ラスタ画像データ）が格納されていると、特許文献２のようにカラム間引きの印刷モードで印刷する場合、読み出したラスタデータに対して読み捨てるデータが生じてしまう。そのためプリントバッファからの読み出しにおいて有効データの読み出し帯域低下を引き起こしていた。この有効データの読み出し帯域の低下は、記録速度向上の妨げとなり得る。
【０００７】
本発明は、上記従来技術に鑑みてなされたもので、カラム間引き印刷時におけるメモリ使用効率の低下を低減することができる技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上述のような課題を解決するために、本発明は、
複数の記録素子を備えた記録ヘッドを走査させて、画像データに基づいて記録を行う記録装置であって、
画像データを格納するプリントバッファと、
画像データをHV変換して前記記録ヘッドに供給する変換手段と、
前記プリントバッファに格納されたデータを読み出して前記変換手段に転送する転送手段とを有し、
前記プリントバッファには、１つの印刷幅に相当する領域の記録を完成させるための前記記録ヘッドによる走査回数に応じた画像データのグループに分割して格納し、
前記転送手段は、前記記録する画像データに応じて、画像データを前記グループごとに前記変換手段に転送することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、画像データが、１つの印刷幅に相当する領域の記録を完成させるための記録ヘッドによる走査回数に応じた画像データのグループに分割してプリントバッファに格納される。そのため、プリントバッファから読み出すデータに印刷に使われないデータが含まれることを低減することができ、メモリ使用効率を改善できる。
【図面の簡単な説明】
【００１０】
【図１】本発明におけるプリンタコントローラのブロック図
【図２】本発明の実施の形態１における画像処理RAMイメージ図
【図３】本発明の実施の形態１におけるプリントバッファイメージ図
【図４】本発明の実施の形態２における画像処理RAMイメージ図
【図５】本発明の実施の形態２におけるプリントバッファイメージ図
【図６】本発明の実施の形態１における記録ヘッドのブロック図
【発明を実施するための形態】
【００１１】
［実施形態１］
以下添付図面を参照して本発明の好適な実施形態について、さらに具体的かつ詳細に説明する。
【００１２】
なお、この明細書において、「記録」（「プリント、印刷」という場合もある）とは、文字、図形等有意の情報を形成する場合のみならず、有意無意を問わない。さらに人間が視覚で知覚し得るように顕在化したものであるか否かも問わず、広く記録媒体上に画像、模様、パターン等を形成する、または媒体の加工を行う場合も表すものとする。
【００１３】
また、「記録媒体」とは、一般的な記録装置で用いられる紙のみならず、広く、布、プラスチック・フィルム、金属板、ガラス、セラミックス、木材、皮革等、インクを受容可能なものも表すものとする。
【００１４】
さらに、「インク」（「液体」と言う場合もある）とは、上記「記録（プリント）」の定義と同様広く解釈されるべきものである。従って、記録媒体上に付与されることによって、画像、模様、パターン等の形成または記録媒体の加工、或いはインクの処理（例えば記録媒体に付与されるインク中の色剤の凝固または不溶化）に供され得る液体を表すものとする。
【００１５】
またさらに、「記録要素」とは、特にことわらない限り吐出口ないしこれに連通する液路およびインク吐出に利用されるエネルギーを発生する素子を総括して言うものとする。これは記録素子とも呼ぶ。
【００１６】
＜画像形成コントローラ＞
図1に画像形成コントローラのブロック図を示す。画像形成コントローラ100はホストPCからの信号を送受するインタフェースコントローラ101、ホストPCから受け取った信号を一時的に格納しておくインタフェースバッファ102、CPU103、画像処理部104、CPU103のプログラムを格納しておくROM105、画像処理を行う際に一時的にデータを格納しておく画像処理SRAM106、画像処理が実施された印刷用データを格納しておくプリントバッファ107、プリントバッファ107のデータを読み出してヘッド転送データ生成回路111に供給するプリントデータ読み出し回路108、エンコーダセンサ109から入力される信号に基づいてインクの吐出タイミングを生成する記録タイミング生成回路110、データをHV変換して複数の記録素子を有する記録ヘッド112へと送信するヘッド転送データ生成回路111から構成される。各ブロックは内部バスによって相互に接続されている。HV変換は、たとえばライン（あるいはロウ）方向にラスタ順にピクセル（或いはドット）が並んだラスタ画像データを、それと直交するカラム方向に所定数（たとえば記録ヘッドの高さ）のピクセルを並べ、それをライン方向に配置した形式に再配置するような変換である。また本例でいう「印刷」とは、字に限らず画像一般を媒体上に形成すること（あるいは記録すること）を指す。
【００１７】
ホストPC113から入力される印刷ジョブは、インタフェースコントローラ101を経由してインタフェースバッファ102に格納される。CPU103はインタフェースバッファ102に格納されたデータを圧縮復元し、画像処理SRAM106に入力する。CPU103は画像処理SRAM106に所定量のデータを格納した後、画像処理部104に起動の指示を送る。起動の指示を受け、画像処理部104は画像処理SRAM106に格納された画像データを読み出し、部内の色変換部で記録装置のインク色に分解する。その後、印刷ジョブに含まれる印刷モードに応じて、多値データを印刷するモードでは、分解された色ごとのデータをプリントバッファ107に格納する。二値画像データを印刷するモードでは、画像処理部104内の二値化部で、インク色ごとに多値画像データを二値画像データに変換し、さらに境界処理や不吐補完処理などの画像処理を施したのち、データをプリントバッファ107に格納する。
【００１８】
プリントバッファ107に溜まったデータが所定のデータ量になった時点で、画像処理部104はCPU103に対し割り込みを出力し、1スキャンの印刷準備が完了したことを伝える。CPU103は割り込みを検知すると、記録ヘッド112を搭載したキャリッジを走査方向に動かすよう指示を送る。
【００１９】
キャリッジの動作はエンコーダセンサ109の検出値によって画像形成コントローラ100に入力される。エンコーダセンサ109からの入力に基づき、記録タイミング生成回路110は読み出しタイミングを生成し、プリントデータ読み出し回路108へ指示する。指示されたタイミングでプリントデータ読み出し回路108はプリントバッファ107に溜まったデータの読み出しを行う。プリントデータ読み出し回路108は例えばバーストモードでリードし、ヘッド転送データ生成回路111に読み出したデータを転送する。ヘッド転送データ生成回路111はプリントデータ読み出し回路108から受け取ったデータをHV変換し記録ヘッド112に転送を行い、印刷データの記録が行われる。以下説明を簡略化するためにBk、C、M、Yの4色のシステムにおけるBkを扱う様子を説明する。
【００２０】
＜通常モードでの画像処理SRAM内のデータの配置の例＞
図2に画像処理SRAM106に画像処理済みの二値データが格納されるイメージを示す。画像処理SRAM106は64bit単位に1アドレスが対応している。またプリントバッファ107は1アドレスあたり8ビットとしている。図2(a)にはカラム間引きを行わない印刷モード（通常モードとも呼ぶ）でのデータの構造を示し、図2(b)には2カラム間引きを行う印刷モード（補間記録或いは補間モードとも呼ぶ）でのデータの構造を示す。
【００２１】
図2(a)を用いて、カラム間引きをしない印刷モードにおける画像処理SRAM106のデータ格納の様子を説明する。画像処理部104は所定の画像処理を施した後、図2(a)のような配置で画像処理SRAM106にデータを一旦格納する。図2(a)のアドレス0x00のD15からD0のビットには1ラスタ目の1〜16カラムのデータが格納されている。D31からD16のビットには2ラスタ目の1〜16カラムのデータが格納され、同様にD47からD32のビットには3ラスタ目の1〜16カラムのデータが格納され、D63からD48のビットには4ラスタ目の1〜16カラムのデータが格納されている。アドレス0x01から0x07には同様に5、6、7、・・・32ラスタ目それぞれの1〜16カラムのデータが格納されている。
【００２２】
図2(a)のアドレス0x10のD15からD0のビットには33ラスタ目の1〜16カラムのデータが格納されている。D31からD16のビットには34ラスタ目の1〜16カラムのデータが格納され、同様にD47からD32のビットには35ラスタ目の1〜16カラムのデータが格納され、D63からD48のビットには36ラスタ目の1〜16カラムのデータが格納されている。アドレス0x01から0x07には同様に37、38、39、・・・64ラスタ目それぞれの1〜16カラムのデータが格納されている。
【００２３】
カラム間引きをしない印刷モードでは、64ラスタ目の1〜16カラムのデータが画像処理SRAM106へ格納された時点で、プリントバッファ107へデータの格納が開始される。画像処理部104はアドレス0x17にデータが格納されると、アドレス0x00番地のデータ64ビットを読み出し、1ラスタ目の1〜16カラムのデータであるD15〜D0のデータ16ビットを図3(a)に示すプリントバッファ107の0x0200番地に書き込む。次に、
2ラスタ目の1〜16カラムのデータであるD31〜D16のデータ16ビットを0x0202番地に、
3ラスタ目の1〜16カラムのデータであるD47〜D32のデータ16ビットを0x0204番地に、
4ラスタ目の1〜16カラムのデータであるD63〜D48のデータ16ビットを0x0206番地に書き込む。以降同様に、画像処理SRAM106の0x01番地、0x02番地, ・・・に格納されている64ビットのデータを読み出し、16ビット単位に切りだしてプリントバッファ107の連続するアドレスに格納してゆく。
【００２４】
画像処理部104は、画像処理SRAM106のアドレス0x00番地のデータを読み出しプリントバッファ107へ格納した後、0x00番地へ65、66、67、68ラスタ目の1〜16カラムのデータを上書きする。以降同様に0x01、0x02、・・・番地のデータをプリントバッファ107へ格納した後、69、70、71、72、・・・と続くラスタデータを0x01、0x02、・・・番地へ上書きしてゆく。そして画像処理部104は、アドレス0x17にデータが格納されると、上述した手順でプリントバッファに、16カラム単位でアドレスが連続したロケーションに書き込む。格納されたデータがプリントバッファ107に転送されると、次の処理対象のドットデータがあらためて画像処理SRAM106に格納される。
【００２５】
＜プリントバッファ内のデータの配置の例＞
図3にプリントバッファ107に画像処理済みの二値データが格納されるイメージを示す。プリントバッファ107は8bit単位に1アドレスが対応している。なお16ビット／ワードとしてもよいが、その場合には図3に示したアドレスが16ビットごとに１増分するように変わる。もちろん1ワードのビット数は他の値であってもよい。図3(a)にはカラム間引きを行わない印刷モードでのデータの構造を示し、図3(b)には2カラム間引きを行う印刷モードでのデータの構造を示す。
【００２６】
プリントバッファ107に格納されている画像データのフォーマットについて詳細に説明を行う前に、本実施例にて使用される記録ヘッド112の構成を説明する。図6は記録ヘッド112のブロック図である。記録ヘッド112はBkヘッド601、Cヘッド602、Mヘッド603、Yヘッド604から構成される。それぞれのヘッドは上から順に128個のノズルが並んで配置されている。610はBK用のノズル列における第1番目のノズルを示し、611は第2番目のノズルを示す。記録ヘッド112は印刷用紙上を左から右へ移動することとなる。
【００２７】
図3(a)の斜線の網掛け部分にはラスタ方向に128ドット、カラム方向に16ドット分のデータが格納されている様子を示す。ラスタ方向の128ドットはヘッドの高さに合わせた格納量となっている。アドレス0x0200番地には、Bkノズル列の第1ノズル610用の第1カラム目から第16カラム目までのデータが格納されている。連続するアドレスである0x0202番地には第2ノズル611用の第1カラム目から第16カラム目までのデータが格納されている。以下同様に0x0204番地,0x0206番地・・・0x02FE番地にはそれぞれ、第3ノズル用、 第4ノズル、・・・第128ノズル用の第1カラム目から第16カラム目までのデータが格納されている。
【００２８】
図3(a)には今128個のノズルからなるBk用ノズル列のデータが16カラム分格納されている様子を示したが、画像処理部104は印刷幅（あるいは印字幅）分のデータがプリントバッファ107に格納されるまで、連続するアドレスに以上の処理を繰り返す。印刷幅とは、ラスタライン長×記録ヘッドの高さ領域であり、バンド領域とも呼ぶ。印刷幅分のデータには、各色成分についてヘッドのノズル数（或いは主走査画素数）×１ラスタラインの画素数（或いはカラム数）の印刷データを含む。プリントバッファ107に印刷幅分のデータが溜まった時、画像処理部104はCPU103に対して割込みを発生する。割込みを受信したCPU103は記録ヘッド112を搭載したキャリッジを走査方向に動かす。
【００２９】
キャリッジの動作はエンコーダセンサ109によって画像形成コントローラ100に入力される。エンコーダセンサ109からの入力に基づき記録タイミング生成回路110で生成されるタイミングで、プリントデータ読み出し回路108は0x0200番地を先頭アドレスとしてバーストリード機能を用いることにより自動的にアドレスをインクリメントさせながらデータの読み出しを行う。ここで、レジ調を行う場合には補正量に相当する分だけ読み出しアドレスを増減させることで実現する。例えば、読み出し開始アドレスとして0x202番地から読み出せば、読み出すデータはノズル列方向に1ドット下にシフトしたデータが読み出されることになる。同様にノズル列方向に1ドット上にシフトしたデータを読み出したい場合、読み出し開始アドレスを0x1FE番地から読み出せばよい。ただし今説明した例では0x200番地からデータを格納しているので、1ドット上のデータを読み出す際に、ゴミデータを読み出さないためには、0x1FE番地にはオールゼロのデータを事前に書き込んでおく必要がある。
【００３０】
今ヘッド高さが128ノズルのヘッドのため、プリントデータ読み出し回路108は一度に128アドレス分のデータを読み出す。読み出した各アドレスのデータの第nビット目のみを集めると、記録ヘッドのノズル列が同時にヒートされる記録データが揃うこととなり、これがいわゆるHV変換と呼ばれる。ヘッド転送データ生成回路111はHV変換を行うために読み出した各アドレスのデータの最上位ビット目のみを集め、これをアドレス順に（あるいは逆順に）記録ヘッド112に転送する。記録ヘッド112は、受け取った128ビットのデータに対応するノズルをその値に応じて同時に駆動し、データの値に応じてインクを吐出して1カラム目の記録を完了する。つぎに最上位から2番目のビットのみを集めて記録ヘッド112に転送し、同様にして2カラム目の記録を完了する。
【００３１】
以下同様に最上位から3,4,5,・・・16番目のビットのみをあつめて記録ヘッドに転送し、3,4,5,・・・16カラム目の記録を完了する。16カラム目の記録を完了した後、次の128アドレス分のデータを読み出し、17カラム目以降の記録を行う。以上を印刷幅分繰り返し行うことで、1スキャンの印刷動作を実現する。
【００３２】
＜補間モードの動作例＞
図2(b)を用いて、2カラム間引きを行う印刷モード（補間モード）における画像処理SRAM106のデータ格納の様子、すなわち記録装置の制御方法について説明する。カラム間引き印刷では、１つの印刷幅に相当する領域の記録を、複数カラムおきの記録ヘッドによる走査を複数回行うことにより完成させる。カラム間引き印刷2カラム間引きとは、1回の記録ヘッドの走査で1カラムおきの画素を記録する方式をいう。画像処理部104は所定の画像処理を施した後、図2(b)のような配置で画像処理SRAM106にデータを一旦格納する。図2(b)のアドレス0x00から0x07までは図2(a)と同じであるため説明を省略する。アドレス0x10のD15からD0のビットには1ラスタ目の17〜32カラムのデータが格納されている。D31からD16のビットには2ラスタ目の17〜32カラムのデータが格納され、同様にD47からD32のビットには3ラスタ目の17〜32カラムのデータが格納され、D63からD48のビットには4ラスタ目の17〜32カラムのデータが格納されている。アドレス0x11から0x17には同様に5、6、7、・・・32ラスタ目の17〜32カラムのデータが格納されている。
【００３３】
次に2カラム間引きを行う印刷モードにおけるデータ転送の様子を説明する。2カラム間引きを行う印刷モードでは、32ラスタ目の17〜32カラムのデータが画像処理SRAM106へ格納された時点で、プリントバッファ107へデータの格納が開始される。画像処理部104はアドレス0x17にデータが格納されると、アドレス0x00番地のデータ64ビットと、0x10番地のデータ64ビットとを読み出す。すなわち同一ラスタ内の連続した32カラムを含むデータを読み出す。0x00番地から読み出した64ビットデータの中から1ラスタ目の1〜16カラムの奇数ビットであるD15, D13, D11, D9, D7, D5, D3, D1の8ビットと、0x10番地から読み出した64ビットデータの中から1ラスタ目の17〜32カラムの奇数ビットであるD15, D13, D11, D9, D7, D5, D3, D1の8ビットとの16ビットを0x00番地から読み出した8ビットを上位としてプリントバッファ107の0x0200番地に書き込む。すなわち同一ラスタ内の連続した32カラムのうち、奇数カラムのデータを、その順序を維持しつつプリントバッファ107に書き込む。
【００３４】
次に0x00番地から読み出した2ラスタ目の1〜16カラムの奇数ビットであるD31, D29, D27, D25, D23, D21, D19, D17の8ビットと、0x10番地から読み出した2ラスタ目の17〜32カラムの奇数ビットであるD31, D29, D27, D25, D23, D21, D19, D17の8ビットとを、0x00番地から読み出した8ビットを上位としてプリントバッファ107の0x0202番地に書き込む。
【００３５】
以下同様に0x00番地から読み出した3ラスタ目の1〜16カラムの奇数ビットであるD47, D45, D43, D41, D39, D37, D35, D33の8ビットと、0x10番地から読み出した3ラスタ目の17〜32カラムの奇数ビットであるD47, D45, D43, D41, D39, D37, D35, D33の8ビットを0x0204番地に書き込む。次に、0x00番地から読み出した4ラスタ目の1〜16カラムの奇数ビットであるD63, D61, D59, D57, D55, D53, D51, D49の8ビットと、0x10番地から読み出した4ラスタ目の17〜32カラムの奇数ビットであるD63, D61, D59, D57, D55, D53, D51, D49の8ビットとを0x0206番地に書き込む。
【００３６】
また、奇数カラムのプリントバッファ107への格納と並行して偶数カラムについても同様にプリントバッファ107へ格納する。0x00番地から読み出した1ラスタ目の1〜16カラムの偶数ビットであるD14, D12, D10, D8, D6, D4, D2, D0の8ビットと、0x10番地から読み出した1ラスタ目の17〜32カラムの偶数ビットであるD14, D12, D10, D8, D6, D4, D2, D0の8ビットとの16ビットを0x1400番地に書き込む。次に0x00番地から読み出した2ラスタ目の1〜16カラムの偶数ビットであるD30, D28, D26, D24, D22, D20, D18, D16の8ビットと、0x10番地から読み出した2ラスタ目の17〜32カラムの偶数ビットであるのD30, D28, D26, D24, D22, D20, D18, D16の8ビットとの16ビットを0x1402番地に書き込む。次に0x00番地から読み出した3ラスタ目の1〜16カラムの偶数ビットであるD46, D44, D42, D40, D38, D36, D34, D32の8ビットと、0x10番地から読み出した3ラスタ目の17〜32カラムの偶数ビットであるD46, D44, D42, D40, D38, D36, D34, D32の8ビットとの16ビットを0x1404番地に書き込む。次に0x00番地から読み出した4ラスタ目の1〜16カラムの偶数ビットであるD62, D60, D58, D56, D54, D52, D50, D48の8ビットと0x10番地から読み出した4ラスタ目の17〜32カラムの偶数ビットであるD62, D60, D58, D56, D54, D52, D50, D48の8ビットとの16ビットを0x1406番地に書き込む。
【００３７】
以下同様に0x01番地と0x11番地、0x02番地と0x12番地、0x03番地と0x13番地、・・・の組合せで各ラスタの1〜32カラムのデータを読み出し、その奇数ビットである16ビットを0x0208、0x020A、0x020C、0x020E・・・0x02FEのアドレスにそれぞれ書き込み、偶数ビットである16ビットを0x1408、0x140A、0x140C、0x140E・・・0x14FEにそれぞれ書き込む。
【００３８】
以上の説明は、奇数カラム偶数カラムとも、32ライン×16カラムのデータをプリントバッファ107に格納する際の手順についてであるが、例えば、図2(b)に示した画像処理SRAM106のアドレス0x08〜0x0Fまでに33ラスタ目から64ラスタ目のそれぞれ1〜16カラムを格納し、アドレス0x18〜0x1Fまでに33ラスタ目から64ラスタ目のそれぞれ17〜32カラムを格納しておく。このようにすれば、上記手順を適用して奇数カラム偶数カラムとも、64ライン×16カラムのデータをプリントバッファ107に格納できる。65ラスタ目から128ラスタ目については改めて画像処理SRAM106に図2(b)と同様の形式で格納し、上記手順を同様に適用すれば、奇数カラム偶数カラムとも、128ライン×16カラムのデータをプリントバッファ107に格納できる。また画像処理SRAM106に128ライン×32カラム分のデータを格納しておけば、1回の画像処理SRAM106へのデータのロードで、奇数カラム偶数カラムとも、128ライン×16カラムのデータをプリントバッファ107に格納できる。
【００３９】
図3(b)の斜線の網掛け部分で示すプリントバッファ107のアドレス0x0200番地から0x02FE番地までは2カラム分離を行った後の奇数カラムのデータが格納されている様子を示す。なお2カラム分離とは、たとえば、ラスタ順の画素の並びを1カラムおきの2グループ（すなわち奇数カラムと偶数カラムの2グループ）に分離し、各グループを間引き済みデータとして印刷する方法で、2カラム間引きと同じ意味である。なお図3はひとつの色成分に着目したデータであり、カラー画像データについては、色成分ごとに同様の構成のデータがプリントバッファ107に格納される。
【００４０】
図3(b)において、アドレス0x0200番地にはBk用ノズル列の第1ノズル610用の第1、3、5、7、9、 ・・・第31カラムまでの16カラムのデータが格納されている。連続するアドレスである0x0202番地には第2ノズル611用の第1、3、5、7、9、 ・・・第31カラムまでの16カラムのデータが格納されている。以下同様に0x0204番地,0x0206番地・・・0x02FEにはそれぞれ、第3ノズル用, 第4ノズル用,・・・第128ノズル用のデータが格納されている。 
アドレス0x0300〜0x03FEには、ライン1〜128について、カラム33〜63の奇数カラムが上記手順で格納される。同様に、記録幅（1回のキャリッジの走査で記録される幅）の末尾まで、奇数カラムのデータがプリントバッファ107に格納される。
【００４１】
図3(b)のドットの網掛け部分で示すアドレス0x1400番地から0x14FE番地までは2カラム分離を行った後の偶数カラムのデータが格納されている様子を示す。アドレス0x1400番地にはBk用ノズル列の第1ノズル610用の第2、4、6、8、10、・・・第32カラムまでの16カラムのデータが格納されている。連続するアドレスである0x1402番地には第2ノズル611用の第2、4、6、8、10、・・・第32カラムまでの16カラムのデータが格納されている。以下同様に0x1404番地,0x1406番地・・・,0x14FE番地にはそれぞれ、第3ノズル用、第4ノズル用,・・・、第128ノズル用のデータが格納されている。
【００４２】
アドレス0x1500〜0x15FEには、ライン1〜128について、カラム34〜64の偶数カラムが上記手順で格納される。同様に、記録幅（1回のキャリッジの走査で記録される幅）の末尾まで、偶数カラムのデータがプリントバッファ107に格納される。
【００４３】
プリントバッファ107上の奇数カラムを格納している0x0200〜の領域にヘッド高さ（本例では128ドット）×印刷幅（本例では１ラスタラインの長さ）分のデータが溜まった時（同時に偶数カラムについてもデータが溜まっている）、画像処理部104はCPU103に対して割込みを発生する。割込みを受信したCPU103は記録ヘッド112を搭載したキャリッジを走査方向に動かす。
【００４４】
キャリッジの動作はエンコーダセンサ109によって画像形成コントローラ100に入力される。エンコーダセンサ109からの入力に基づき記録タイミング生成回路110で生成されるタイミングで、プリントデータ読み出し回路108はプリントバッファ107からのデータの読み出しを行う。奇数カラムを印刷するパスにおいては、0x0200番地を先頭アドレスとしてバーストリードによってデータの読み出しを行う。今ヘッド高さが128ノズルのため、一度に128ライン分のデータを読み出す。128ラインは、本例では8ビット／ワードであるので256ワード分のデータに相当する。なお16ビット／ワードとすれば128ワード分のデータに相当する。
【００４５】
ヘッド転送データ生成回路111はHV変換を行うためにプリントバッファ107から読み出した各アドレスのデータの最上位ビット目（すなわち第1カラム）のみを集め、これを記録ヘッド112に転送する。記録ヘッド112は受け取った128ビットのデータに対応するノズルをそのデータ値に応じて駆動してインクを吐出し、1カラム目の記録を完了する。つぎに最上位から2番目のビット（すなわち第3カラム）のみを集めて記録ヘッド112に転送する。打ち出すデータは3カラム目のデータとわかっているため、キャリッジは2カラム分移動され、第3カラムの位置で、記録ヘッド112は受け取った128ビットをその値に応じて同時に吐出し、3カラム目の記録を完了する。以下同様にプリントバッファ107のアドレス0x0200〜0x02FEに格納したデータのうち各ロケーションの3,4,5,・・・番目のビットのみをあつめて記録ヘッド112に転送し、奇数カラムすなわち5,7,9,・・・31カラム目の記録を完了する。31カラム目の記録を完了した後、次の128ライン分のデータをプリントバッファ107から読み出し、33カラム目以降の記録を同様の手順で行う。以上を印刷幅分繰り返し行うことで、奇数カラムを印刷するパスの1スキャン分の印刷動作を実現する。2カラムの間引きモードにおけるキャリッジの一回の走査速度は、カラム間引きしない印刷モードに比べ、概ね倍にすることができる。換言すれば、カラム間引きしない印刷モードに比べおおむねその半分の時間で1回の走査を完了することができる。また読み捨てるカラムがあるとすれば実質的な読み出し帯域は読み捨てがない場合の半分に低下するのに対して、本例では読み捨てがなく、プリントバッファ107に対する実質的なアクセス速度の低下が生じない。さらに、読み捨てがあると、プリントバッファ107へ画像処理RAM106からデータをロードする頻度が高くなり、それがメモリアクセスのオーバーヘッドとなるところを、本例ではそのオーバーヘッドも防止できる。
【００４６】
次に偶数カラムを印刷するパスについて説明する。偶数カラムを印刷するパスは、上述した奇数カラムを印刷するパスにおいて、奇数カラムを偶数カラムに置き換えた内容となる。偶数カラムを印刷するパスと奇数カラムを印刷するパスとの間ではシートの送りはなく、偶数カラムを補間する形で記録が行われる。
【００４７】
まず、プリントバッファ107上の奇数カラムを格納している0x0200〜の領域にヘッド高さ×印刷幅分のデータが溜まるとほぼ同時に、偶数カラムを格納している0x1400〜の領域には偶数カラムのデータがヘッド高さ×印刷幅分溜まっている。奇数カラムを印刷するパスにおいて記録動作が終了した後にCPU103はキャリッジを走査方向に再び動かし記録動作を開始する。奇数カラムを記録する際と同様に、キャリッジの動作はエンコーダセンサ109によって画像形成コントローラ100に入力される。エンコーダセンサ109からの入力に基づき記録タイミング生成回路110で生成されるタイミングで、プリントデータ読み出し回路108はデータの読み出しを行う。偶数カラムを印刷するパスにおいては0x1400番地を先頭アドレスとしてバーストリードによって、読み出しを行う。今ヘッド高さが128ノズルのため、一度に128アドレス分のデータを読み出す。
【００４８】
ヘッド転送データ生成回路111はHV変換を行うために読み出した各アドレスのデータの最上位ビット目のみを集め、これを記録ヘッド112に転送する。記録ヘッドは受け取った128ビットのデータの値に応じてインクを同時に吐出し2カラム目の記録を完了する。このときキャリッジは2カラム目の位置に移動されている。つぎに最上位から2番目のビットのみを集めて記録ヘッドに転送する。打ち出すデータは4カラム目のデータとわかっているため、キャリッジは4カラム目の記録位置に移動され、記録ヘッド112は受け取った128ビットの値に応じてインクを同時に吐出し、4カラム目の記録を完了する。
【００４９】
以下同様に3,4,5,・・・番目のビットのみをあつめて記録ヘッドに転送し、4,6,8,・・・カラム目の記録を完了する。32カラム目の記録を完了した後、次の128アドレス分のデータを読み出し、34カラム目以降の記録を行う。以上を印刷幅分繰り返し行うことで、偶数カラムを印刷するパスの1スキャン分の印刷動作を実現する。
【００５０】
奇数カラムと偶数カラムの記録により通常の1走査分の領域が記録されたなら、上記の手順を次の領域についても繰り返す。さらにこれを、印刷が完了するまで繰り返す。
【００５１】
以上説明したようにプリントバッファ107に格納するデータはラスタデータとしつつ、走査毎の領域、たとえば奇数カラムと偶数カラムとに分割して記憶されている。このため、2カラム間引き印刷を行っても、読み捨てるデータをなくし、データの読み出し帯域低下を抑制することができる。
【００５２】
なお上記実施形態では、偶数カラムの記録時には、奇数カラムの記録時と同じ方向にキャリッジを走査するものとして説明した。しかし、偶数カラムの記録時には、奇数カラムの記録時と逆方向にキャリッジを走査してもよい。この場合には、偶数カラムの記録をラスタラインの末尾の偶数カラムから始めて、カラム番号を減少させつつカラム2に至るまで順次偶数カラムを記録していく。印刷幅分のデータは既に格納済みなので、この場合にも上記例と同様に、プリントバッファ107に格納するデータはラスタデータとしつつ、2カラム間引き印刷を行っても、読み捨てるデータをなくし、データの読み出し帯域低下を抑制することができる。
【００５３】
なお、奇数と偶数は2の剰余類と言い替えることもできる。そして、本実施形態に示した間引き印刷は以下のように一般化できる。すなわち、画像を完成させるための走査回数をsとすれば、カラム番号をsの剰余類に分類し、1回の走査で各剰余類に属するカラムを記録し、その動作を、記録対象のカラムの属する剰余類を変更しつつs回繰り返すことで画像形成を実現する方法であると一般化することができる。もちろんこのs回の走査で記録されるのは記録ヘッドの幅相当の領域である。
【００５４】
［実施形態2］
実施例1では2カラム間引きの例を示したが、実施例2では4カラム間引きの例を示す。図１のブロック図は同じであるので、その説明は省略する。4カラム間引きは、カラムの番号を4の剰余類で分類し、1回の走査で同一の剰余類に属するカラムを記録する。その記録動作を、記録対象のカラムの属する剰余類を重複しないように変えつつ4回繰り返すことで、1回の通常モードの記録動作に匹敵する領域の記録を完成させる。以下詳細にその例を説明するが、1回の走査でスキップするカラム数と記録が完了させるための走査回数との差があるものの、その差に起因する相違点を除けば、2カラム間引きの動作と原理的には同様である。また、以下の説明では、32ラインずつプリントバッファ107へのデータ格納を行うよう説明しているが、64ラインずつであってもよいし、128ラインずつであってもよい。
【００５５】
4カラム間引きを行う印刷モードでは画像処理部104は図4のように画像処理SRAM106にデータを一旦格納する。アドレス0x00のD15からD0のビットには1ラスタ目の1〜16カラムのデータが格納されている。D31からD16のビットには2ラスタ目の1〜16カラムのデータが格納され、同様にD47からD32のビットには3ラスタ目の1〜16カラムのデータが格納され、D63からD48のビットには4ラスタ目の1〜16カラムのデータが格納されている。アドレス0x01から0x07には同様に5、6、7、・・・32ラスタ目の1〜16カラムのデータが格納されている。
【００５６】
アドレス0x10のD15からD0のビットには1ラスタ目の17〜32カラムのデータが格納されている。D31からD16のビットには2ラスタ目の17〜32カラムのデータが格納され、同様にD47からD32のビットには3ラスタ目の17〜32カラムのデータが格納され、D63からD48のビットには4ラスタ目の17〜32カラムのデータが格納されている。アドレス0x11から0x17には同様に5、6、7、・・・32ラスタ目の17〜32カラムのデータが格納されている。
【００５７】
アドレス0x20のD15からD0のビットには1ラスタ目の33〜48カラムのデータが格納されている。D31からD16のビットには2ラスタ目の33〜48カラムのデータが格納され、同様にD47からD32のビットには3ラスタ目の33〜48カラムのデータが格納され、D63からD48のビットには4ラスタ目の33〜48カラムのデータが格納されている。アドレス0x21から0x27には同様に5、6、7、・・・32ラスタ目の33〜48カラムのデータが格納されている。
【００５８】
アドレス0x30のD15からD0のビットには1ラスタ目の49〜64カラムのデータが格納されている。D31からD16のビットには2ラスタ目の49〜64カラムのデータが格納され、同様にD47からD32のビットには3ラスタ目の49〜64カラムのデータが格納され、D63からD48のビットには4ラスタ目の49〜64カラムのデータが格納されている。アドレス0x31から0x37には同様に5、6、7、・・・32ラスタ目の49〜64カラムのデータが格納されている。
【００５９】
4カラム間引きを行う印刷モードでは、32ラスタ目の49〜64カラムのデータが画像処理SRAM106へ格納された時点で、プリントバッファ107へのデータ格納が開始される。画像処理部104はアドレス0x37にデータが格納されると、アドレス0x00番地、0x10番地、0ｘ20番地、0x30番地のデータをそれぞれ読み出す。すなわち同一ラスタ内の連続した64カラムを含むデータを読み出す。
【００６０】
第1のカラムを分離するために0x00番地のD15,D11,D07,D03のビットと0x10番地のD15,D11,D07,D03のビットと0x20番地のD15,D11,D07,D03のビットと0x30番地のD15,D11,D07,D03のビットの16ビットをプリントバッファ107の0x0200番地に書き込む。次に0x00番地のD31,D27,D23,D19のビットと0x10番地のD31,D27,D23,D19のビットと0x20番地のD31,D27,D23,D19のビットと0x30番地のD31,D27,D23,D19のビットの16ビットをプリントバッファ107の0x0202番地に書き込む。次に、0x00番地のD47,D43,D39,D35のビットと0x10番地のD47,D43,D39,D35のビットと0x20番地のD47,D43,D39,D35のビットと0x30番地のD47,D43,D39,D35のビットの16ビットをプリントバッファ107の0x0204番地に書き込む。次に、0x00番地のD63,D59,D55,D51のビットと0x10番地のD63,D59,D55,D51のビットと0x20番地のD63,D59,D55,D51のビットと0x30番地のD63,D59,D55,D51のビットの16ビットをプリントバッファ107の0x0204番地に書き込む。ここで、4カラム分離における第1のカラムが分離され0x0200番地〜0x0207の領域に格納される。すなわち1ラスタ目の連続した64カラムのうち、たとえば4を法として剰余が3となるカラムのデータを、その順序を維持しつつプリントバッファ107に書き込む。
【００６１】
次に第2のカラムを分離するために、0x00番地のD14,D10,D06,D02のビットと0x10番地のD14,D10,D06,D02のビットと0x20番地のD14,D10,D06,D02のビットと0x30番地のD14,D10,D06,D02のビットの16ビットをプリントバッファ107の0x0B00番地に書き込む。次に0x00番地のD30,D26,D22,D18のビットと0x10番地のD30,D26,D22,D18のビットと0x20番地のD30,D26,D22,D18のビットと0x30番地のD30,D26,D22,D18のビットの16ビットをプリントバッファ107の0x0B02番地に書き込む。次に0x00番地のD46,D42,D38,D34のビットと0x10番地のD46,D42,D38,D34のビットと0x20番地のD46,D42,D38,D34のビットと0x30番地のD46,D42,D38,D34のビットの16ビットをプリントバッファ107の0x0B04番地に書き込む。次に0x00番地のD62,D58,D54,D50のビットと0x10番地のD62,D58,D54,D50のビットと0x20番地のD62,D58,D54,D50のビットと0x30番地のD62,D58,D54,D50のビットの16ビットをプリントバッファ107の0x0B08番地に書き込む。ここで、4カラム分離における第2のカラムが分離され0x0B00番地〜0x0B07番地の領域に格納される。すなわち2ラスタ目の連続した64カラムのうち、たとえば4を法として剰余が2となるカラムのデータを、その順序を維持しつつプリントバッファ107に書き込む。
【００６２】
次に第3のカラムを分離するために、0x00番地のD13,D09,D05,D01のビットと0x10番地のD13,D09,D05,D01のビットと0x20番地のD13,D09,D05,D01のビットと0x30番地のD13,D09,D05,D01のビットの16ビットをプリントバッファ107の0x1400番地に書き込む。次に0x00番地のD29,D25,D21,D17のビットと0x10番地のD29,D25,D21,D17のビットと0x20番地のD29,D25,D21,D17のビットと0x30番地のD29,D25,D21,D17のビットの16ビットをプリントバッファ107の0x1402番地に書き込む。次に0x00番地のD45,D41,D37,D33のビットと0x10番地のD45,D41,D37,D33のビットと0x20番地のD45,D41,D37,D33のビットと0x30番地のD45,D41,D37,D33のビットの16ビットをプリントバッファ107の0x1404番地に書き込む。次に0x00番地のD61,D57,D53,D49のビットと0x10番地のD61,D57,D53,D49のビットと0x20番地のD61,D57,D53,D49のビットと0x30番地のD61,D57,D53,D49のビットの16ビットをプリントバッファ107の0x1406番地に書き込む。ここで、4カラム分離における第3のカラムが分離され0x1400番地〜0x1407番地の領域に格納される。すなわち3ラスタ目の連続した64カラムのうち、たとえば4を法として剰余が1となるカラムのデータを、その順序を維持しつつプリントバッファ107に書き込む。
【００６３】
次に第4のカラムを分離するために、0x00番地のD12,D08,D04,D00のビットと0x10番地のD12,D08,D04,D00のビットと0x20番地のD12,D08,D04,D00のビットと0x30番地のD12,D08,D04,D00のビットの16ビットをプリントバッファ107の0x1D00番地に書き込む。次に、0x00番地のD28,D24,D20,D16のビットと0x10番地のD28,D24,D20,D16のビットと0x20番地のD28,D24,D20,D16のビットと0x30番地のD28,D24,D20,D16のビットの16ビットをプリントバッファ107の0x1D02番地に書き込む。次に0x00番地のD44,D40,D36,D32のビットと0x10番地のD44,D40,D36,D32のビットと0x20番地のD44,D40,D36,D32のビットと0x30番地のD44,D40,D36,D32のビットの16ビットをプリントバッファ107の0x1D04番地に書き込む。次に0x00番地のD60,D56,D52,D48のビットと0x10番地のD60,D56,D52,D48のビットと0x20番地のD60,D56,D52,D48のビットと0x30番地のD60,D56,D52,D48のビットの16ビットをプリントバッファ107の0x1D06番地に書き込む。ここで、4カラム分離における第4のカラムが分離され0x1D00番地〜0x1D07番地の領域に格納される。すなわち4ラスタ目の連続した64カラムのうち、たとえば4を法として剰余が0となるカラムのデータを、その順序を維持しつつプリントバッファ107に書き込む。
【００６４】
以下同様に0x01番地、0x11番地、0x21番地、0x31番地の組合せで読み出したデータから第1のカラムをプリントバッファ107の0x0208〜0x020Fのアドレスに書き込み、第2のカラムを0x0B08〜0x0B0Fのアドレスに書き込み、第3のカラムを0x1408〜0x140Fのアドレスに書き込み、第4のカラムを0x1D08〜0x1D0Fのアドレスに書き込む。0x02番地、0x12番地、0x22番地、0x32番地の組合せで読み出したデータから第1のカラムを0x0210〜0x021Fのアドレスに書き込み、第2のカラムを0x0B10〜0x0B1Fのアドレスに書き込み、第3のカラムを0x1410〜0x141Fのアドレスに書き込み、第4のカラムを0x1D10〜0x1D1Fのアドレスに書き込む。以上を32ラスタ目まですなわち画像処理SRAM105のアドレス0x07〜0x37まで繰り返す。さらに32ラスタ目まで第1〜第4のカラムがプリントバッファ107に格納されたなら、それ以降のラスタについても画像処理SRAM105へ格納する処理から実行して、1回の処理で32ラスタずつ、128ラスタまで上記処理を4回繰り返す。これにより、プリントバッファ107上の第1のカラムを格納している領域に128ライン×16カラム分のデータが格納される。これを、印刷幅の末尾まで繰り返し行うことで、ヘッド高さ×印刷幅分のデータをプリントバッファ107に格納する。データが格納されたタイミングで画像処理部104はCPU103に対して割込みを発生する。割込みを受信したCPU103はキャリッジを走査方向に動かし、第1のカラムの記録動作を開始する。キャリッジの動作はエンコーダセンサによって画像形成コントローラ100に入力される。
【００６５】
エンコーダセンサ109からの入力に基づき記録タイミング生成回路110で生成されるタイミングで、プリントデータ読み出し回路108はデータの読み出しを行う。
【００６６】
第1のカラムを印刷するパスにおいては、0x0200番地を先頭アドレスとしてバーストリードによって、読み出しを行う。今ヘッド高さが128ノズルのヘッドのため、プリントデータ読み出し回路108は一度に128アドレス分のデータを読み出し、ヘッド転送データ生成回路111に転送する。
【００６７】
2カラム間引きを行う時と同様に、ヘッド転送データ生成回路111はHV変換を行うために、読み出した各アドレスのデータの最上位ビットのみを集め、これを記録ヘッドに転送する。記録ヘッドは受け取った128ビットのデータを同時に吐出し1カラム目の記録を完了する。次に最上位から2番目のビットのみを集めて、記録ヘッドに転送する。打ち出すデータは5カラム目のデータとわかっているので、記録ヘッドはカラム間引きしない印刷モードに比べ、速度を4倍にして移動することができる。記録ヘッドは受け取った128ビットを同時に吐出し、５カラム目の記録を完了する。以下同様に3,4,5,・・・番目のビットのみをあつめて記録ヘッドに転送し、5,9,13,・・・カラム目の記録を完了する。61カラム目の記録を完了した後、次の128アドレス分のデータを読み出し、65カラム目以降の記録を行う。以上を印刷幅分繰り返し行うことで、第1のカラムを印刷するパスの1スキャン分の印刷動作を実現する。
【００６８】
第1のカラムの記録動作が完了した後に、第2のカラムを印刷するパスの記録動作を開始する。CPU103はキャリッジを走査方向に動かし記録動作を開始する。これまでと同様に、キャリッジの動作はエンコーダセンサ109によって画像形成コントローラ100に入力される。エンコーダセンサ109からの入力に基づき記録タイミング生成回路110で生成されるタイミングで、プリントデータ読み出し回路108はデータの読み出しプリントバッファ107からヘッド転送データ生成回路111へのデータ転送を行う。第2のカラムを印刷するパスにおいては0x0B00番地を先頭アドレスとしてバーストリードによって読み出しを行う。今ヘッド高さが128ノズルのヘッドのため、一度に128アドレス分のデータを読み出す。ヘッド転送データ生成回路111はHV変換を行うために、読み出した各アドレスのデータの最上位ビットのみを集め、これを記録ヘッドに転送する。記録ヘッドは受け取った128ビットのデータを同時に吐出し２カラム目の記録を完了する。次に最上位から2番目のビットのみを集めて、記録ヘッドに転送する。打ち出すデータは6カラム目のデータとわかっているので、記録ヘッドはカラム間引きしない印刷モードに比べ、速度を4倍にして移動することができる。記録ヘッドは受け取った128ビットを同時に吐出し、6カラム目の記録を完了する。以下同様に3,4,5,・・・番目のビットのみを集めて記録ヘッドに転送し、6,10, 14,・・・カラム目の記録を完了する。62カラム目の記録を完了した後、次の128アドレス分のデータを読み出し、66カラム目以降の記録を行う。以上を印刷幅分繰り返し行うことで、第2のカラムを印刷するパスの1スキャン分の印刷動作を実現する。
【００６９】
以降同様に、第3のカラムを印刷するパスにおいては、0x1400番地〜の領域のデータを読み出し、第4のカラムを印刷するパスにおいては、0x1C00番地〜の領域のデータを読み出し、記録動作を行うことで、4カラム間引きの記録を行うことができる。
【００７０】
以上説明したようにプリントバッファ107に格納するデータはラスタデータとしつつ、4カラム間引き印刷を行っても、読み捨てるデータをなくし、データの読み出し帯域低下を抑制することができる。
【００７１】
なお本実施形態でも、奇数カラムと偶数カラムとを、互いに異なる方向の走査によって記録してもよい。上記２つの実施形態では、二値のビットマップデータをプリントバッファ107に格納し、該二値データに基づいて画像を媒体上に記録するものとしたが、多値データであってもよい。この場合には、1画素あたりのビット数が2以上となる点、記録ヘッドでは多値に応じて記録濃度あるはドットサイズを変える点等において二値とは相違するが、この点を除けば上記実施形態を適用できる。ただし、多値の場合には、間引き印刷を行わないようにしてもよい。これはたとえば、ドットの微妙な位置ずれにより色味が変わるなどするためである。
【符号の説明】
【００７２】
１００  画像形成コントローラ、１０１  インタフェースコントローラ、１０４  画像処理部、１０６  画像処理SRAM、１０７  プリントバッファ、１０８  プリントデータ読み出し回路、１１０  記録タイミング生成回路、１１１  ヘッド転送データ生成回路、１１２  記録ヘッド
【図１】
0006487778.tif 000002
【図２】
0006487778.tif 000003
【図３】
0006487778.tif 000004
【図４】
0006487778.tif 000005
【図５】
0006487778.tif 000006
【図６】
0006487778.tif 000007