(57)【要約】【課題】ドットデータ作成処理時に必要とされるバッファメモリの容量を削減できる技術を提供する。【解決手段】まず、印刷解像度よりも粗い解像度を有するＲＧＢデータを準備し、カラー印刷時に使用される複数のノズル全体の副走査方向の高さに相当する領域のカラー画像データを、ライン選択処理用バッファＢＦ１２に格納する。そして、このバッファＢＦ１２から、１回の主走査においてインクドットの記録対象となる印刷対象ラインのカラー画像データを選択する。また、このカラー画像データに関して、印刷解像度において色変換とディザ処理を少なくとも行うことによって、印刷対象ライン上の印刷画素におけるインクドットの記録状態を示すドットデータを作成してバッファＢＦ１４に格納する。【選択図】  図７
2004255700.tif 000002
【特許請求の範囲】
【請求項１】
主走査を行いつつ印刷ヘッドのノズルからインクを吐出させ、インクドットを印刷媒体上に記録することによってカラー印刷を行うために、インクドットの記録状態を示すドットデータを作成する方法であって、
（ａ）複数種類のインクを吐出するための複数のノズル群であって、副走査方向に沿ったノズルピッチが印刷画素のピッチよりも粗い複数のノズルでそれぞれ構成された複数のノズル群を備えた印刷ヘッドを準備する工程と、
（ｂ）印刷解像度よりも粗い解像度を有するカラー画像データを準備するとともに、カラー印刷時に使用される複数のノズル全体の副走査方向の高さに相当する領域のカラー画像データを、第１のバッファに格納する工程と、
（ｃ）１回の主走査において前記複数のノズル群によってインクドットの記録対象となる複数の印刷対象ライン上のカラー画像を表すカラー画像データを、前記第１のバッファから選択する工程と、
（ｄ）前記選択された複数の印刷対象ライン上のカラー画像データに関して、印刷解像度を有する閾値パターンを用いたハーフトーン処理を少なくとも行うことによって、前記選択された印刷対象ライン上の印刷画素におけるインクドットの記録状態を示すドットデータを作成して第２のバッファに格納する工程と、
（ｅ）前記第２のバッファから前記ドットデータを出力する工程と、
を備える方法。
【請求項２】
請求項１記載の方法であって、
前記第１のバッファに格納される前記カラー画像データは、３つの色成分で任意の色を表現する第１の表色系によって表現されており、
前記工程（ｄ）は、前記ハーフトーン処理の前に、前記第１の表色系から前記複数種類のインクで任意の色を表現する第２の表色系に変換する工程を含む、
方法。
【請求項３】
請求項１または２記載の方法であって、
前記１回の主走査においてインクドットの記録対象となる各印刷対象ライン上の印刷画素位置が、当該主走査においてインクドットの記録対象となる記録対象画素位置と、インクドットの記録対象とならない非記録対象画素位置とを含んでいるときに、
前記工程（ｄ）は、各印刷対象ライン上のドットデータの中で前記非記録対象画素位置におけるドットデータの値を、ドットの非形成を表す値に置き換える工程を含む、方法。
【請求項４】
複数種類のインクを吐出するための複数のノズル群であって、副走査方向に沿ったノズルピッチが印刷画素のピッチよりも粗い複数のノズルでそれぞれ構成された複数のノズル群を備えた印刷ヘッドを用い、主走査を行いつつ前記印刷ヘッドのノズルからインクを吐出させ、インクドットを印刷媒体上に記録することによってカラー印刷を行うために、インクドットの記録状態を示すドットデータを作成する印刷制御装置であって、
印刷解像度よりも粗い解像度を有するカラー画像データを準備するとともに、カラー印刷時に使用される複数のノズル全体の副走査方向の高さに相当する領域のカラー画像データを、第１のバッファに格納する第１の処理部と、
１回の主走査において前記複数のノズル群によってインクドットの記録対象となる複数の印刷対象ライン上のカラー画像を表すカラー画像データを、前記第１のバッファから選択する第２の処理部と、
前記選択された複数の印刷対象ライン上のカラー画像データに関して、印刷解像度を有する閾値パターンを用いたハーフトーン処理を少なくとも行うことによって、前記選択された印刷対象ライン上の印刷画素におけるインクドットの記録状態を示すドットデータを作成して第２のバッファに格納する第３の処理部と、
前記第２のバッファから前記ドットデータを出力する第４の処理部と、
を備える印刷制御装置。
【請求項５】
複数種類のインクを吐出するための複数のノズル群であって、副走査方向に沿ったノズルピッチが印刷画素のピッチよりも粗い複数のノズルでそれぞれ構成された複数のノズル群を備えた印刷ヘッドを用い、主走査を行いつつ前記印刷ヘッドのノズルからインクを吐出させ、インクドットを印刷媒体上に記録することによってカラー印刷を行うために、インクドットの記録状態を示すドットデータを作成するためのコンピュータプログラムであって、
（ａ）印刷解像度よりも粗い解像度を有するカラー画像データを受け取り、カラー印刷時に使用される複数のノズル全体の副走査方向の高さに相当する領域のカラー画像データを第１のバッファに格納する機能と、
（ｂ）１回の主走査において前記複数のノズル群によってインクドットの記録対象となる複数の印刷対象ライン上のカラー画像を表すカラー画像データを、前記第１のバッファから選択する機能と、
（ｃ）前記選択された複数の印刷対象ライン上のカラー画像データに関して、印刷解像度を有する閾値パターンを用いたハーフトーン処理を少なくとも行うことによって、前記選択された印刷対象ライン上の印刷画素におけるインクドットの記録状態を示すドットデータを作成して第２のバッファに格納する機能と、
（ｄ）前記第２のバッファから前記ドットデータを出力する機能と、
をコンピュータに実現させるコンピュータプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、主走査を行いつつ印刷ヘッドのノズルからインクを吐出させてカラー印刷を行う技術に関する。
【０００２】
【従来の技術】
インクジェットプリンタはコンピュータの出力装置として普及している。近年では、高画質化のためにインクジェットプリンタの印刷解像度が高まる傾向にあり、また、高速化のために１色当たりのノズル数も増大する傾向にある。
【０００３】
【発明が解決しようとする課題】
インクジェットプリンタで印刷を行う際には、ＲＧＢデータなどのカラー画像データから、各インクのインクドットの記録状態を表すドットデータを作成する処理が実行される。この処理では、多量のバッファメモリが使用されるが、印刷解像度やノズル数の増大に伴って、バッファメモリの必要容量も大幅に上昇する。例えば、印刷解像度が主走査方向と副走査方向にそれぞれ２倍になれば、印刷領域の画素数は４倍になる。このとき、単純な計算では、バッファメモリの容量も４倍となる。また、印刷解像度が４倍になればバッファメモリの容量は１６倍にも達する。
【０００４】
しかし、バッファメモリとして利用可能なメモリ資源には限界がある。そこで、従来から、ドットデータ作成処理時に必要とされるバッファメモリの容量を削減したいという要望があった。
【０００５】
本発明は、上記の課題を解決するためになされたものであり、ドットデータ作成処理時に必要とされるバッファメモリの容量を削減できる技術を提供することを目的とする。
【０００６】
【課題を解決するための手段およびその作用・効果】
上述の課題の少なくとも一部を解決するため、本発明の方法は、主走査を行いつつ印刷ヘッドのノズルからインクを吐出させ、インクドットを印刷媒体上に記録することによってカラー印刷を行うために、インクドットの記録状態を示すドットデータを作成する方法であって、
（ａ）複数種類のインクを吐出するための複数のノズル群であって、副走査方向に沿ったノズルピッチが印刷画素のピッチよりも粗い複数のノズルでそれぞれ構成された複数のノズル群を備えた印刷ヘッドを準備する工程と、
（ｂ）印刷解像度よりも粗い解像度を有するカラー画像データを準備するとともに、カラー印刷時に使用される複数のノズル全体の副走査方向の高さに相当する領域のカラー画像データを、第１のバッファに格納する工程と、
（ｃ）１回の主走査において前記複数のノズル群によってインクドットの記録対象となる複数の印刷対象ライン上のカラー画像を表すカラー画像データを、前記第１のバッファから選択する工程と、
（ｄ）前記選択された複数の印刷対象ライン上のカラー画像データに関して、印刷解像度を有する閾値パターンを用いたハーフトーン処理を少なくとも行うことによって、前記選択された印刷対象ライン上の印刷画素におけるインクドットの記録状態を示すドットデータを作成して第２のバッファに格納する工程と、
（ｅ）前記第２のバッファから前記ドットデータを出力する工程と、
を備える。
【０００７】
この方法によれば、第１のバッファに格納されるカラー画像データは、印刷解像度よりも粗い解像度を有するカラー画像データであって、カラー印刷時に使用される複数のノズル全体の副走査方向の高さに相当する領域の分のデータである。従って、印刷解像度が増加しても、バッファメモリの容量が過度に増大することが無いという効果がある。
【０００８】
なお、前記第１のバッファに格納される前記カラー画像データは、３つの色成分で任意の色を表現する第１の表色系によって表現されており、
前記工程（ｄ）は、前記ハーフトーン処理の前に、前記第１の表色系から前記複数種類のインクで任意の色を表現する第２の表色系に変換する工程を含むものとしてもよい。
【０００９】
また、前記１回の主走査においてインクドットの記録対象となる各印刷対象ライン上の印刷画素位置が、当該主走査においてインクドットの記録対象となる記録対象画素位置と、インクドットの記録対象とならない非記録対象画素位置とを含んでいるときに、
前記工程（ｄ）は、各印刷対象ライン上のドットデータの中で前記非記録対象画素位置におけるドットデータの値を、ドットの非形成を表す値に置き換える工程を含むものとしてもよい。
【００１０】
本発明は、上述のドットデータ作成方法の他に種々の態様で実現可能であり、例えば、印刷方法および印刷装置、印刷制御方法および印刷制御装置、印刷装置とコンピュータとを備えた印刷システム、これらの方法または装置を実現するコンピュータプログラム、および、そのプログラムを記録した記録媒体など種々の態様で実現することが可能である。
【００１１】
【発明の実施の形態】
以下、本発明の実施の形態について、実施例に基づき以下の順序で説明する。
Ａ．印刷システムの概要：
Ｂ．比較例の処理：
Ｃ．実施例の処理：
Ｄ．変形例：
【００１２】
Ａ．印刷システムの概要：
図１は、本発明の実施例としての印刷システムの構成を示すブロック図である。この印刷システムは、コンピュータ１００とプリンタ２００とが相互に接続された構成を有している。コンピュータ１００にはプリンタドライバ１１０がインストールされている。プリンタドライバ１１０は、アプリケーションプログラム（図示せず）から画像データを受け取り、バッファメモリ１２０を利用して色変換処理やハーフトーン処理を行って印刷データＰＤを生成し、プリンタ２００に供給する。印刷データＰＤは、印刷解像度を有する主走査ライン上の各画素についてインクドットの記録状態を指定するドットデータと、副走査送り量を特定する副走査送り量データとを含んでいる。なお、プリンタドライバ１１０は、印刷用のドットデータを生成する機能を実現するためのコンピュータプログラムに相当する。
【００１３】
プリンタドライバ１１０の機能を実現するためのプログラムは、コンピュータ読み取り可能な記録媒体に記録された形態で供給し得る。このような記録媒体としては、フレキシブルディスクやＣＤ−ＲＯＭ、光磁気ディスク、ＩＣカード、ＲＯＭカートリッジ、パンチカード、バーコードなどの符号が印刷された印刷物等のコンピュータが読み取り可能な種々の媒体を利用できる。
【００１４】
図２は、プリンタドライバ１１０が受け取るカラー画像データの解像度Ｒｄａｔａと、印刷データ（ドットデータ）の解像度Ｒｐｒｉｎｔとの関係を示す説明図である。本実施例では、カラー画像データの解像度Ｒｄａｔａ（「画像データ解像度」と呼ぶ）は３６０ｄｐｉであり、印刷データＰＤの解像度Ｒｐｒｉｎｔ（「印刷解像度」と呼ぶ）は７２０ｄｐｉであるものとしている。換言すれば、カラー画像データの１画素ＤＰＸのピッチは１／３６０インチであり、印刷画素ＰＰＸのピッチは１／７２０インチである。印刷解像度Ｒｐｒｉｎｔは、画像データ解像度Ｒｄａｔａよりも細かい値に設定されることが多い。なお、図３の例では主走査方向の印刷解像度と副走査方向の印刷解像度が同一であるとしているが、これらを異なる値に設定することも可能である。
【００１５】
プリンタドライバ１１０が実行するドットデータ作成処理では、カラー画像データが、所定の大きさのバンドＢＬを単位として処理される。このバンドＢＬの主走査方向の幅Ｗは印刷領域の幅と同じであり、また、副走査方向の高さＬ（ライン数）は予め設定された値である。以下の説明では、バンドＢＬの主走査方向の幅Ｗが８インチであり、また、副走査方向の高さＬが１００ライン分であるものとして説明する。
【００１６】
図３は、プリンタ２００の印刷ヘッド２１０の底面におけるノズル配列を示す説明図である。この印刷ヘッド２１０には、７つのノズル群が設けられている。７つのノズル群は、ブラックＫと、シアンＣと、マゼンタＭと、イエローＹと、ライトシアンＬＣと、ライトマゼンタＬＭと、ダークイエローＤＹと、の７種類のインクを吐出するためのものである。ライトシアンＬＣは、シアンＣと色相が同一で濃度が薄いインクである。ライトマゼンタＬＭも同様である。ダークイエローＤＹは、イエローＹに若干のグレー成分が含まれているインクである。各ノズル群は、同一のノズル数を有しており、副走査方向に沿って一定のノズルピッチＰｎｏｚｚｌｅで配列されている。本明細書では、ノズルピッチＰｎｏｚｚｌｅの逆数Ｒｎｏｚｚｌｅを「ノズル解像度」と呼ぶ。図３の例では、ノズル解像度Ｒｎｏｚｚｌｅは１８０ｄｐｉである。ノズル解像度Ｒｎｏｚｚｌｅは、印刷解像度Ｒｐｒｉｎｔよりも粗い値に設定されていることが多い。
【００１７】
なお、一部のノズル群（例えばブラックノズル群）は、他のノズル群よりも多くのノズルを有していてもよく、また、他のノズル群のノズルピッチの整数分の１のより小さいノズルピッチを有していてもよい。このような場合にも、カラー画像の印刷の際には、各ノズル群に関して同一数のノズルが選択されて使用されるのが普通である。印刷ヘッド２１０としては、一般に、複数種類のインクを吐出する複数のノズル群を有するものを用いることが可能である。
【００１８】
図４は、印刷ヘッド２１０を用いて実行される記録方式（印刷方式）の一例を示す説明図である。図４の左側には、５回の主走査（「パス」と呼ぶ）における印刷ヘッド２１０の位置を示している。この図では、図示の便宜上、印刷ヘッド２１０は１種類のインクのための１列のノズル群で代表されており、また、そのノズル数Ｎｎも１０個であるとして簡略化されている。図４の右半分には、印刷媒体上において記録対象となる印刷画素の位置を示している。個々の小さい四角枠が印刷画素を表している。黒丸が付された画素位置（奇数画素位置）と、白丸が付された画素位置（偶数画素位置）は、互いに異なるパスにおいてドット記録の対象となることを意味している。これについては後述する。
【００１９】
この例では、１パスが終了するたびに、一定の送り量Ｆ（＝５ドット）の副走査が行われている。通常の副走査では印刷媒体が移動するが、図４では図示の便宜上、印刷ヘッド２１０が移動するものとして描かれている。副走査が行われると、ノズルの位置が順次副走査方向に移動する。なお、記録方式によっては、副走査毎に異なる送り量Ｆが使用される場合もある。
【００２０】
パス１では、印刷ヘッド２１０の１０個のノズルによって１０本の主走査ラインＬ１，Ｌ５，Ｌ９…Ｌ３７が走査される。従って、これらの１０本の主走査ラインＬ１，Ｌ５，Ｌ９…Ｌ３７が、インクドットの記録対象となる。また、これらの主走査ラインＬ１，Ｌ５，Ｌ９…Ｌ３７上の画素のうち、黒丸が付された画素位置が、インクドットの記録対象となる画素位置（記録対象画素位置）である。同じ主走査ラインＬ１，Ｌ５，Ｌ９…Ｌ３７上で白丸が付された画素位置は、パス１においてインクドットの記録対象とならない画素位置（非記録対象画素位置）である。例えば、ラインＬ２１においては、黒丸の画素位置はパス１においてインクドットの記録対象となり、白丸の画素位置はパス５においてインクドットの記録対象となる。また、主走査ラインＬ１〜Ｌ２０の白丸の画素位置は、図４のパス１よりも前のパスにおいてインクドットの記録対象となっている。
【００２１】
本明細書では、図４のようなドット記録方式を「オーバーラップ記録方式」と呼ぶ。「オーバーラップ記録方式」とは、１回のパスでは主査ライン上の画素位置を間欠的・周期的にインクドットの記録対象とする方式である。すなわち、オーバーラップ記録方式では、各主走査ライン上における主走査の延べ回数は２回以上になり、各主走査ライン上のドットが異なる２つ以上のノズルを用いて記録される。図４の例では各主走査ライン上で行われる主走査の延べ回数は２回であるが、３回以上に設定することも可能である。このようなオーバーラップ記録方式を採用すると、ノズルの製造誤差に起因するドットの位置ズレが緩和されるので、画質を向上させることができるという利点がある。但し、図４の記録方式は単なる一例であり、オーバーラップ記録方式以外の記録方式を採用してもよい。
【００２２】
以下に説明する比較例や実施例では、以下のパラメータを使用して印刷データの生成処理を説明する。
・バンドＢＬの幅Ｗ（図２（Ａ））：画像データの処理単位であるバンドＢＬの主走査方向の幅。
・バンドＢＬの高さＬ（図２（Ａ））：バンドＢＬの副走査方向のライン数。
・画像データ解像度Ｒｄａｔａ（図２（Ａ））：元のカラー画像データ（ＲＧＢデータ）の解像度。
・印刷解像度Ｒｐｒｉｎｔ（図２（Ｂ））：印刷時の解像度。以下の説明では、主走査方向と副走査方向の印刷解像度が等しいものと仮定する。
・ノズル解像度Ｒｎｏｚｚｌｅ（図３）：ノズルの副走査方向のピッチを規定する解像度。
・使用ノズル数Ｎｎ（図４）：カラー印刷時に使用される１インク色当たりのノズル数。
・インク色数Ｎｃ（図３）：カラー印刷時に使用されるインク色の数。
【００２３】
Ｂ．比較例の処理：
以下では、実施例における印刷データの生成処理を説明する前に、従来行われていた処理を比較例として説明する。図５は、比較例における印刷データの生成処理の手順と、その処理に使用されるバッファメモリとを示す説明図である。なお、図５の各ステップＳ１〜Ｓ５は、プリンタドライバ１１０内の各モジュールによって実行される。なお、プリンタドライバ１１０内の各モジュールを「処理部」とも呼ぶ。
【００２４】
プリンタドライバ１１０は、アプリケーションプログラムからカラー画像データを受けると、ステップＳ１でＲＧＢデータのラスタライズと解像度変換とを行って、印刷解像度Ｒｐｒｉｎｔ（図２）を有するＲＧＢデータを生成する。そして、このＲＧＢデータをＲＧＢデータバンドバッファＢＦ１に格納する。ここで、「ラスタライズ」とは、主走査ライン毎にカラー画像データを配列する処理である。元のカラー画像データがビットマップデータである場合にはラスタライズは不要であるが、描画データや圧縮データの場合にはラスタライズが必要になる場合がある。
【００２５】
なお、プリンタドライバ１１０がアプリケーションプログラムから受信するカラー画像データとしては、ＲＧＢデータやＪＰＥＧデータなどの種々のデータ構造を有するものを利用できる。通常のカラー画像データは、３つの色成分で任意の色を表現するデータである。
【００２６】
プリンタドライバ１１０は、アプリケーションプログラムからＲＧＢデータを受け取り、これを印刷解像度Ｒｐｒｉｎｔに単純水増ししてバンドバッファＢＦ１に格納する。例えば、図２の例のように、元のＲＧＢデータの解像度Ｒｄａｔａが３６０ｄｐｉであり、印刷解像度Ｒｐｒｉｎｔが７２０ｄｐｉである場合には、解像度変換では、元の１画素ＤＰＸの画素値が２×２個の印刷画素ＰＰＸに割り当てられる。
【００２７】
図５のバンドバッファＢＦ１は、１つのバンドＢＬ（図２（Ａ））分のＲＧＢデータを格納する容量を有している。前述したように、バンドＢＬは、ドットデータ作成時の画像データの処理単位である。このバンドバッファＢＦ１の容量ＣＰ［ＢＦ１］は、以下の（１）式で与えられる。
【００２８】
ＣＰ［ＢＦ１］＝Ｗ×Ｒｐｒｉｎｔ×４×Ｌ  …（１）
【００２９】
ここで、値「４」は１画素分のＲＧＢデータのバイト数である。なお、図５に示すように、バンドバッファＢＦ１内の１画素分のＲＧＢデータは、各８ビットのＲ，Ｇ，Ｂ成分と、８ビット分のスタッフビットＸとで構成された４バイトのデータ構造を有している。ここで、Ｗ＝８インチ，Ｒｐｒｉｎｔ＝７２０ｄｐｉ，Ｌ＝１００ラインと仮定すると、バンドバッファＢＦ１の容量ＣＰ［ＢＦ１］は、約２．２メガバイトとなる。
【００３０】
ステップＳ２では、プリンタドライバ１１０が、バンドバッファＢＦ１からＲＧＢデータを順次読み出して色変換処理とディザ処理とを実行し、得られたドットデータをドットデータバンドバッファＢＦ２に格納する。色変換処理は、図示しない色変換ルックアップテーブルを用いて、ＲＧＢデータを複数のインク色のデータ（「インク色データ」と呼ぶ）に変換する処理である。ディザ処理は、印刷解像度を有する所定の閾値パターンと、インク色データとを比較してドットデータを生成する処理である。
【００３１】
ドットデータバンドバッファＢＦ２は、１つのバンドＢＬ分のドットデータを格納する容量を有している。このバンドバッファＢＦ２の容量ＣＰ［ＢＦ２］は、以下の（２）式で与えられる。
【００３２】
ＣＰ［ＢＦ２］＝Ｗ×Ｒｐｒｉｎｔ×（１／８）×Ｌ×Ｎｃ    …（２）
【００３３】
ここで、値「１／８」は１画素分のドットデータのバイト数である。すなわち、１インク色の１画素分のドットデータは、１ビット（すなわち１／８バイト）であるものとしている。一般に、１インク色の１画素分のドットデータがＭビットのときには、容量ＣＰ［ＢＦ２］は（２）式のＭ倍になる。これは、後述する他の式でも同様である。上記（２）式において、Ｗ＝８インチ，Ｒｐｒｉｎｔ＝７２０ｄｐｉ，Ｌ＝１００ライン，Ｎｃ＝７と仮定すると、バンドバッファＢＦ２の容量ＣＰ［ＢＦ２］は、約０．５メガバイトとなる。
【００３４】
ステップＳ３では、プリンタドライバ１１０が、ドット再配列処理（ステップＳ４）で使用されるドットデータを、バンドバッファＢＦ２から読み出して再配列処理用バッファＢＦ３に格納する。再配列処理用バッファＢＦ３の容量ＣＰ［ＢＦ３］は、以下の（３）式で与えられる。
【００３５】
ＣＰ［ＢＦ３］＝Ｗ×Ｒｐｒｉｎｔ×（１／８）×Ｎｎ×（Ｒｐｒｉｎｔ／Ｒｎｏｚｚｌｅ）×Ｎｃ    …（３）
【００３６】
なお、｛Ｎｎ×（Ｒｐｒｉｎｔ／Ｒｎｏｚｚｌｅ）｝の項は、図４に示すように、印刷ヘッド２１０の副走査方向の高さＨ１の範囲に存在する主走査ラインの数を示している。換言すれば、この高さＨ１は、カラー印刷時に使用される複数のノズル全体の副走査方向の高さに相当する。これから理解できるように、再配列処理用バッファＢＦ３には、１回のパスにおいて走査される領域の副走査方向の範囲にわたるドットデータが格納される。この意味では、このバッファＢＦ３に格納すべき必要最小限のデータは、印刷ヘッド２１０の両端のノズル位置を両端とする領域のデータであり、その副走査方向の高さは｛（Ｎｎ−１）×（Ｒｐｒｉｎｔ／Ｒｎｏｚｚｌｅ）＋１｝となる。しかし、この値と上述の高さＨ１の値との差は小さく、両者は実質的に同じである。ここで、Ｗ＝８インチ，Ｒｐｒｉｎｔ＝７２０ｄｐｉ，Ｎｎ＝１８０，Ｒｎｏｚｚｌｅ＝１８０ｄｐｉ，Ｎｃ＝７と仮定すると、（３）式で与えられるバンドバッファＢＦ３の容量ＣＰ［ＢＦ３］は約３．５メガバイトとなる。
【００３７】
ステップＳ４では、プリンタドライバ１１０がドットデータの再配列処理を実行して、１回のパスで使用されるドットデータを出力バッファＢＦ４に格納する。再配列処理とは、１回のパスにおいて使用されるドットデータのみを抽出して再配列する処理である。例えば、図４のパス１では、印刷ヘッド２１０のノズルで走査される主走査ラインＬ１，Ｌ５，Ｌ９，…Ｌ３７上の奇数番目の画素位置のみがドットの記録対象となる。従って、パス１を実行する場合には、この記録対象画素位置のドットデータだけを抽出してプリンタドライバ１１０からプリンタ２００に供給すればよい。
【００３８】
図６は、データ再配列処理の内容を示す説明図である。図６（Ａ）には図４のパス１用の印刷データを作成する場合における再配列処理用バッファＢＦ３内のドットデータと、印刷ヘッド２１０のノズル位置との関係が示されている。再配列処理用バッファＢＦ３には、４０本のラインＬ１〜Ｌ４０のすべての画素位置のドットデータが格納されている。パス１では、主走査ラインＬ１，Ｌ５，Ｌ９…Ｌ３７上の奇数画素位置のドットデータのみが使用される。従って、図６（Ｂ）に示すように、再配列処理では、これらの主走査ラインＬ１，Ｌ５，Ｌ９…Ｌ３７上の奇数画素位置のドットデータのみが抽出されて出力バッファＢＦ４に格納される。このとき、出力バッファＢＦ４内において、主走査ラインＬ１，Ｌ５，Ｌ９…Ｌ３７上の偶数画素位置（非記録対象画素位置）のドットデータは、ドットが形成されないことを示すダミーデータに置き換えられる。なお、出力バッファＢＦ４としては、図６（Ｃ）のように、非記録対象画素位置のデータを含まず、記録対象画素位置のデータのみを含むものを使用してもよい。
【００３９】
出力バッファＢＦ４として図６（Ｂ）に示すものを使用する場合には、その容量ＣＰ［ＢＦ４］は、以下の以下の（４）式で与えられる。
【００４０】
ＣＰ［ＢＦ４］＝Ｗ×Ｒｐｒｉｎｔ×（１／８）×Ｎｎ×Ｎｃ  …（４）
【００４１】
ここで、Ｗ＝８インチ，Ｒｐｒｉｎｔ＝７２０ｄｐｉ，Ｎｎ＝１８０，Ｎｃ＝７と仮定すると、出力バッファＢＦ４の容量ＣＰ［ＢＦ４］は約０．９メガバイトとなる。
【００４２】
ステップＳ５では、１パス分のドットデータが揃った後で、プリンタ２００にドットデータが転送される。また、１パス分のドットデータが揃うと、再配列処理用バッファＢＦ３内のドットデータのうちで、副走査送り量Ｆ（図４）に相当するライン数のドットデータが新たなドットデータに更新される。図４の例では、送り量Ｆは印刷解像度で５ライン分なので、５ライン分のドットデータが更新される。
【００４３】
以上の比較例におけるバッファＢＦ１〜ＢＦ４の合計容量は、約７．１メガバイトである。
【００４４】
Ｃ．実施例の処理：
図７は、本発明の実施例における印刷データの生成処理の手順と、その処理に使用されるバッファメモリとを示す説明図である。図７の各ステップＳ１１〜Ｓ１５は、プリンタドライバ１１０内の各モジュールによって実行される。
【００４５】
ステップＳ１１では、プリンタドライバ１１０は、ＲＧＢデータのラスタライズを行って、画像データ解像度Ｒｄａｔａ（図２）を有するＲＧＢデータを生成し、ＲＧＢデータバンドバッファＢＦ１１に格納する。比較例のステップＳ１との違いは、ＲＧＢデータの解像度変換を行わずに、画像データ解像度ＲｄａｔａのままでバンドバッファＢＦ１１に格納する点である。このバンドバッファＢＦ１１の容量ＣＰ［ＢＦ１１］は、以下の（５）式で与えられる。
【００４６】
ＣＰ［ＢＦ１１］＝Ｗ×Ｒｄａｔａ×４×Ｌ  …（５）
【００４７】
ここで、Ｗ＝８インチ，Ｒｄａｔａ＝３６０ｄｐｉ，Ｌ＝１００ラインと仮定すると、バンドバッファＢＦ１１の容量ＣＰ［ＢＦ１１］は、約１．１メガバイトとなる。このバンドバッファＢＦ１１の容量は、比較例のバンドバッファＢＦ１の容量（約２．２メガバイト）に、画像データ解像度Ｒｄａｔａと印刷解像度Ｒｐｒｉｎｔとの比（Ｒｄａｔａ／Ｒｐｒｉｎｔ）＝１／２を乗じた値となっている。
【００４８】
ステップＳ１２では、プリンタドライバ１１０が、バンドバッファＢＦ１１からＲＧＢデータを読み出してライン選択処理用バッファＢＦ１２に格納する。ライン選択処理用バッファＢＦ１２は、比較例における再配列処理用バッファＢＦ３に類似するものであり、印刷ヘッド２１０の副走査方向の高さＨ１（図４）の範囲のカラー画像データ（ＲＧＢデータ）を格納するためのものである。図８（Ａ）には、図４のパス１におけるライン選択処理用バッファＢＦ１２内の画像データと、印刷ヘッド２１０のノズル位置との関係が示されている。図４の高さＨ１に相当する高さＨ２に含まれる画像データのラインＤＬ１〜ＤＬ２０の数は、｛Ｎｎ×（Ｒｄａｔａ／Ｒｎｏｚｚｌｅ）｝である。すなわち、本実施例では、このライン数｛Ｎｎ×（Ｒｄａｔａ／Ｒｎｏｚｚｌｅ）｝が、カラー印刷時に使用される複数のノズル全体の副走査方向の高さに相当する。なお、バッファＢＦ１２に格納すべき必要最小限の画像データは、印刷ヘッド２１０の両端のノズル位置を両端とする領域のデータであり、その副走査方向の高さＨ２に相当する画像データのライン数は｛（Ｎｎ−１）×（Ｒｄａｔａ／Ｒｎｏｚｚｌｅ）＋１｝となる。但し、この値と上記の値｛Ｎｎ×（Ｒｄａｔａ／Ｒｎｏｚｚｌｅ）｝との差は小さく、両者は実質的に同一である。
【００４９】
ライン選択処理用バッファＢＦ１２の容量ＣＰ［ＢＦ１２］は、以下の（６）式で与えられる。
【００５０】
ＣＰ［ＢＦ１２］＝Ｗ×Ｒｄａｔａ×４×Ｎｎ×（Ｒｄａｔａ／Ｒｎｏｚｚｌｅ）  …（６）
【００５１】
ここで、Ｗ＝８インチ，Ｒｄａｔａ＝３６０ｄｐｉ，Ｎｎ＝１８０，Ｒｎｏｚｚｌｅ＝１８０ｄｐｉと仮定すると、バッファＢＦ１２の容量ＣＰ［ＢＦ１２］は約４．０メガバイトとなる。
【００５２】
ステップＳ１３では、プリンタドライバ１１０が、１回のパスで記録対象となる画像データのラインを順次選択するとともに、色変換処理とディザ処理とを実行する。図９は、実施例における色変換処理とディザ処理の内容を示している。ここでは、印刷解像度の主走査ラインの中の最上部の主走査ラインＬ１を記録対象としている。この処理では、まず、記録対象ラインＬ１に対応する画像データのラインＤＬ１が選択されて、ライン選択処理用バッファＢＦ１２から読み出される。そして、このラインＤＬ１上の画素値がインク色データに色変換され、そのインク色データに対してディザ処理が行われる。ディザ処理では、選択されたラインＤＬ１の画素Ｐ１，Ｐ２，Ｐ３…のインク色データと、プリンタドライバ１１０内に予め格納されている閾値マトリクスＴＭＸとが比較される。閾値マトリクスＴＭＸの各閾値は、印刷解像度Ｒｐｒｉｎｔの画素Ｔ１，Ｔ２…に対して割り当てられている。
【００５３】
この比較によって、印刷解像度Ｒｐｒｉｎｔを有する主走査ラインＬ１上の画素位置におけるドットの記録状態を示すドットデータが得られる。こうして得られた各画素のドットデータは、ドットデータラインバッファＢＦ１３に順次格納される。図９に示されているように、主走査ラインＬ１上の１画素目のドットデータは、画像データのラインＤＬ１の１番目の画素Ｐ１のインク色データと、閾値マトリクスＴＭＸの１番目の画素Ｔ１の閾値とを比較した結果である。また、２画素目のドットデータは、画像データのラインＤＬ１の１番目の画素Ｐ１のインク色データと、閾値マトリクスＴＭＸの２番目の画素Ｔ２の閾値とを比較した結果である。この例から理解できるように、本実施例の色変換処理とディザ処理では、ライン選択処理用バッファＢＦ１２から、同一の画素値が（Ｒｐｒｉｎｔ／Ｒｄａｔａ）回ずつ繰り返し読み出されて処理が実行される。副走査方向にも同様に、同一の画素値が（Ｒｐｒｉｎｔ／Ｒｄａｔａ）回ずつ繰り返し読み出される。この回数の値（Ｒｐｒｉｎｔ／Ｒｄａｔａ）は、印刷解像度Ｒｐｒｉｎｔと画像データ解像度Ｒｄａｔａとの比の値である。このように、本実施例では、画像データの同一の画素値を（Ｒｐｒｉｎｔ／Ｒｄａｔａ）回ずつ繰り返し読み出して色変換処理とディザ処理とを実行するので、ライン選択処理用バッファＢＦ１２に格納される画像データのデータ量が少なくて済むという利点がある。
【００５４】
ラインバッファＢＦ１３の容量ＣＰ［ＢＦ１３］は、以下の（７）式で与えられる（図７）。
【００５５】
ＣＰ［ＢＦ１３］＝Ｗ×Ｒｐｒｉｎｔ×（１／８）×Ｎｃ  …（７）
【００５６】
ここで、Ｗ＝８インチ，Ｒｐｒｉｎｔ＝７２０ｄｐｉ，Ｎｃ＝７と仮定すると、ラインバッファＢＦ１３の容量ＣＰ［ＢＦ１３］は、約５キロバイト（約０．００５メガバイト）となる。
【００５７】
図７のステップＳ１４では、プリンタドライバ１１０が、ドットデータラインバッファＢＦ１３からドットデータを読み出して水平ドット位置選択処理を行い、出力バッファＢＦ１４に格納する。水平ドット位置選択処理とは、ラインバッファＢＦ１３内のドットデータの中で、１回のパスにおいて使用されるドットデータのみを抽出する処理である。図４のパス１では主走査ラインＬ１上の奇数番目の画素位置のみがドットの記録対象となる。従って、パス１を実行する場合には、この記録対象画素位置のドットデータがステップＳ１４で抽出される。他の主走査ラインに関しても同様である。
【００５８】
図８（Ｂ）は、ドットデータラインバッファＢＦ１３に格納された主走査ラインＬ１のドットデータを示しており、図８（Ｃ）は、水平ドット位置選択処理後に出力バッファＢＦ１４に格納されたドットデータを示している。このとき、これらの主走査ラインＬ１上の偶数画素位置（非記録対象画素位置）のドットデータは、ドットが形成されないことを示すダミーデータに置き換えられる。なお、図６（Ｃ）で説明したように、出力バッファＢＦ１４としては、非記録対象画素位置のドットデータを含まず、記録対象画素位置のドットのみを含むものを使用してもよい。
【００５９】
出力バッファＢＦ１４の容量ＣＰ［ＢＦ１４］は、比較例と同じ以下の（８）式で与えられる。
【００６０】
ＣＰ［ＢＦ１４］＝Ｗ×Ｒｐｒｉｎｔ×１／８×Ｎｎ×Ｎｃ    …（８）
【００６１】
ここで、Ｗ＝８インチ，Ｒｐｒｉｎｔ＝７２０ｄｐｉ，Ｎｎ＝１８０，Ｎｃ＝７と仮定すると、出力バッファＢＦ４の容量ＣＰ［ＢＦ４］は約０．９メガバイトとなる。
【００６２】
ステップＳ１５では、１パス分のドットデータが揃った後で、プリンタ２００にドットデータが転送される。また、１パス分のドットデータが揃うと、ライン選択処理用バッファＢＦ１２内の画像データのうちで、副走査送り量Ｆ（図４）に相当するライン数の画像データが、新たな画像データに更新される。図４の例では、送り量Ｆは印刷解像度で５ライン分であり、画像データ解像度では２．５ラインに相当する。従って、１パス分の処理が終了すると、ライン選択処理用バッファＢＦ１２内の画像データのうち、必要に応じて２ライン分または３ライン分の画像データが更新される。
【００６３】
以上の実施例におけるバッファＢＦ１１〜ＢＦ１４の合計の容量は、約６．０メガバイトである。
【００６４】
図１０は、上述した比較例と実施例におけるバッファメモリの容量を比較して示す説明図である。印刷解像度Ｒｐｒｉｎｔが７２０ｄｐｉの場合には、比較例におけるバッファメモリの合計容量は約７．１メガバイトであり、実施例におけるバッファメモリの合計容量は約６．０メガバイトである。印刷解像度Ｒｐｒｉｎｔが１４４０ｄｐｉの場合には、比較例におけるバッファメモリの合計容量は約２０．９メガバイトであり、実施例におけるバッファメモリの合計容量は約７．９メガバイトである。印刷解像度Ｒｐｒｉｎｔが２８８０ｄｐｉになると、比較例におけるバッファメモリの合計容量は約６９．９メガバイトとなり、実施例におけるバッファメモリの合計容量は約１１．９メガバイトになる。この説明から理解できるように、比較例においても実施例においても、印刷解像度Ｒｐｒｉｎｔの増加に応じてバッファメモリの容量が増大するが、実施例における増大率は比較例に比べて極めて小さい。この理由は、比較例においては印刷解像度Ｒｐｒｉｎｔの増加に応じて再配列処理用バッファＢＦ３の容量が急激に増大しているからである。バッファ容量のパラメータ表示（図１０の２番目の欄）から理解できるように、再配列処理用バッファＢＦ３の容量は、印刷解像度Ｒｐｒｉｎｔの２乗に比例して増大する。これに対して、実施例では、印刷解像度Ｒｐｒｉｎｔの２乗に比例して容量が増大するバッファは使用していない。逆に、実施例のライン選択処理用バッファＢＦ１２は、印刷解像度Ｒｐｒｉｎｔが変わっても容量は変わらない。この両者の差が、合計容量の差となっていることが理解できる。
【００６５】
このように、上記実施例では、比較例のようにドットデータを作成した後に再配列処理を行う代わりに、印刷ヘッド２１０の副走査方向の高さＨ２（図８）に相当する領域のカラー画像データをライン選択処理用バッファＢＦ１２に格納し、このバッファＢＦ１２から印刷対象となるラインの画像データを選択的に読み出して色変換処理やディザ処理を行うことによってドットデータを作成している。この結果、印刷解像度Ｒｐｒｉｎｔが増加しても、これに応じてバッファメモリの合計容量が過度に増大することを防止することができる。
【００６６】
Ｄ．変形例：
以上、本発明のいくつかの実施の形態について説明したが、本発明はこのような実施の形態になんら限定されるものではなく、その要旨を逸脱しない範囲内において種々なる態様での実施が可能である。例えば、以下のような変形例も可能である。
【００６７】
Ｄ１．変形例１：
上記実施例では、図７に示した処理をすべてプリンタドライバ１１０が行うものとしていたが、これらの処理の全部または一部をプリンタ２００内のコントローラが実行するものとしてもよい。例えば、図７の例において、ステップＳ１２までの処理をプリンタドライバ１１０が行い、ステップＳ１３以降の処理をプリンタ２００内のコントローラが行うものとしてもよい。この場合には、プリンタドライバ１１０が使用するバッファメモリの合計容量は約５．５メガバイトになり、プリンタ２００のコントローラが使用するバッファメモリの合計容量は約０．９メガバイトになる。このように、カラー画像データから１パス分のドットデータを作成するためのドットデータ作成処理を、プリンタドライバ１１０とプリンタ２００内のコントローラとで適宜分担することによって、それぞれで使用されるバッファメモリの容量を適切に配分することが可能である。
【００６８】
なお、このような特徴を利用して、プリンタドライバ１１０が、図７のステップＳ１１〜Ｓ１５の処理をコンピュータ１００とプリンタ２００のいずれで実行するかを、印刷システムの環境に応じて適応的に決定するようことも可能である。例えば、印刷データ作成処理の実行に先だって、プリンタドライバ１１０がコンピュータ１００内の利用可能なメモリ資源の残量を調べ、その調査結果に応じてステップＳ１１〜Ｓ１５の処理をコンピュータ１００とプリンタ２００のいずれで実行するかを切り換えるようにしてもよい。こうすれば、印刷時における印刷システムの環境に応じた適切な負荷配分を行うことができるので、より高速に印刷データを作成することが可能である。
【００６９】
Ｄ２．変形例２：
上記実施例では、ディザ処理を行うことによってドットデータを作成していたが、カラー画像データを閾値パターンと比較するタイプの他のハーフトーン処理（例えば濃度パターン法）を利用することも可能である。
【００７０】
Ｄ３．変形例３：
上記実施例では、ライン選択処理用バッファＢＦ１２（図７）にＲＧＢデータを格納していたが、ＲＧＢデータの代わりに、Ｌ＊ａ＊ｂ＊表色系の画像データや、インク色への変換を行った後のインク色データを格納してもよい。インク色データをバッファＢＦ１２する場合にも、このインク色データが、元のカラー画像データの解像度と同じ解像度（実施例では３６０ｄｐｉ）を有することが好ましい。そして、ライン選択処理用バッファＢＦ１２から読み出されたインク色データ（これもカラー画像データの一種である）に関して、印刷画素毎にディザ処理が行われる。なお、通常は、インク色の種類は４以上なので、ライン選択処理用バッファＢＦ１２にＲＧＢデータなどの元のカラー画像データを格納する方が、バッファ容量の点から好ましい。
【００７１】
上記の説明から理解できるように、ライン選択処理用バッファＢＦ１２から読み出されたカラー画像データに関しては、印刷解像度に従ったハーフトーン処理が少なくとも行われてドットデータが作成される。
【００７２】
Ｄ４．変形例４：
図７に示した４種類のバッファＢＦ１１〜ＢＦ１４のうち、バンドバッファＢＦ１１とドットデータラインバッファＢＦ１３は省略することも可能である。この場合には、ステップＳ１１におけるラスタライズ後の画像データが、ライン選択処理用バッファＢＦ１２に直接格納される。また、ステップＳ１３で１画素分のドットデータが作成されると、ラインバッファＢＦ１３に格納することなく、そのドットデータの要否を判断する水平ドット位置選択処理が実行され、必要な画素（記録対象画素）のドットデータのみが出力バッファＢＦ１４に格納される。
【００７３】
Ｄ５．変形例５：
上記実施例では、インクジェットプリンタを用いているが、本発明は、他のタイプのプリンタにも適用可能である。
【図面の簡単な説明】
【図１】本発明の実施例としての印刷システムの構成を示すブロック図。
【図２】画像データ解像度Ｒｄａｔａと印刷解像度Ｒｐｒｉｎｔとの関係を示す説明図。
【図３】印刷ヘッド２１０の底面におけるノズル配列を示す説明図。
【図４】プリンタ２００によって実行されるドット記録方式の一例を示す説明図。
【図５】比較例における印刷データの生成処理の手順を示す説明図。
【図６】比較例におけるデータ再配列処理の内容を示す説明図。
【図７】実施例における印刷データの生成処理の手順を示す説明図。
【図８】実施例で使用される３種類のバッファＢＦ１２〜ＢＦ１４を示す説明図。
【図９】実施例における色変換処理とディザ処理の内容を示す説明図。
【図１０】比較例と実施例におけるバッファメモリ容量を比較して示す説明図。
【符号の説明】
１００…コンピュータ
１１０…プリンタドライバ
１２０…バッファメモリ
２００…プリンタ
【図１】
2004255700.tif 000003
【図２】
2004255700.tif 000004
【図３】
2004255700.tif 000005
【図４】
2004255700.tif 000006
【図５】
2004255700.tif 000007
【図６】
2004255700.tif 000008
【図７】
2004255700.tif 000009
【図８】
2004255700.tif 000010
【図９】
2004255700.tif 000011
【図１０】
2004255700.tif 000012