(57)【要約】【課題】  印刷装置および印刷のためのデータ処理装置において、画質の低下を抑制しつつ、データ処理に必要なメモリ容量を低減する。【解決手段】印刷装置２０は、複数の出力画素の各々について生成されるデータであってドットの有無を含む複数のドット状態のいずれかを示すドットデータを用いて、印刷媒体上にドットを記録する。印刷装置２０が備えるＣＰＵ３１は、１回の主走査における複数本の記録対象ラスタラインについて、ラスタラインごとに画素データを取得する。ＣＰＵ３１は、画素データが取得される度に、ラスタラインについてドットデータを順次生成して、ドットデータ記憶部に格納する。ＣＰＵ３１は、１回の主走査によって記録対象とされる複数本のラスタラインについてドットデータが格納されたときに、出力画素の記録順に従って、ドットデータを並び替えて出力する。【選択図】  図６
2006175620.tif 000002
【特許請求の範囲】
【請求項１】
入力画像データに応じて出力画像を構成する複数の出力画素の各々について生成されるデータであってドットの有無を含む複数のドット状態のいずれかを示すドットデータを用いて、印刷媒体上にドットを記録する印刷装置であって、
主走査方向に走査されつつ前記出力画素を記録する印刷ヘッドであって、１回の主走査によって、所定の間隔を有する複数本の画素列を形成する出力画素を記録可能な印刷ヘッドと、
１回の主走査によって記録される複数本の画素列について、画素列を構成する複数の出力画素にそれぞれ対応する複数の画素データを、前記入力画像データを構成する入力画素データの中から、画素列ごとに順次取得する画素データ取得部と、
前記ドットデータを格納するためのドットデータ格納部と、
画素列ごとに前記複数の画素データが取得される度に、取得された前記複数の画素データを用いて画素列を構成する複数の出力画素の前記ドットデータを生成して前記ドットデータ格納部に格納するドットデータ生成部と、
前記ドットデータ格納部に、前記１回の主走査によって記録される複数本の画素列について前記ドットデータが格納されたときに、前記出力画素の記録順に従って、格納された前記ドットデータを並び替えて出力するドットデータ出力部と、
出力された前記ドットデータを受信すると共に、主走査に合わせて、受信した前記ドットデータを用いて前記印刷ヘッドを駆動してドットを記録させるヘッド駆動部と、
を備える印刷装置。
【請求項２】
請求項１に記載の印刷装置において、
前記入力画像データが表す入力画像は、第１の解像度を有し、
前記出力画像は、前記第１の解像度より高い第２の解像度を有する印刷装置。
【請求項３】
請求項１または請求項２に記載の印刷装置において、
前記印刷装置は、
１つの画素列について複数回の主走査を行うと共に、画素列を形成する複数の出力画素を前記複数回の主走査に分配して記録し、
前記ドットデータ格納部は、
生成された前記ドットデータのうち、次の主走査において記録対象とされている出力画素の前記ドットデータを選択的に格納する印刷装置。
【請求項４】
請求項３に記載の印刷装置において、
前記ドットデータ生成部は、
ドットデータを生成しようとする画素列を構成する各出力画素に割り当てられた乱数を用いて、ドットデータを生成し、
異なる主走査のために、同じ画素列について前記ドットデータを複数回生成する際に、同じ出力画素には同じ乱数が割り当てられる印刷装置。
【請求項５】
請求項１ないし請求項４のいずれかに記載の印刷装置において、
前記ドットデータの生成は、画素列単位で処理が完結する誤差拡散法を用いて実行される印刷装置。
【請求項６】
請求項１ないし請求項５のいずれかに記載の印刷装置は、さらに、
前記入力画像データの１部であって、前記出力画像において１回の主走査において記録される複数本の画素列に対応する入力画素データを少なくとも含む部分入力画像データを、主走査ごとに取得する部分入力画像データ取得部を備え、
前記画素データ取得部は、
前記画素データを、前記部分入力画像データを構成する入力画素データの中から取得する印刷装置。
【請求項７】
請求項６に記載の印刷装置において、
取得される前記部分入力画像データは、
前記出力画像において１回の主走査において記録される複数本の画素列に対応する入力画素データを全て含む入力画像の最小の矩形領域に対応する入力画素データである印刷装置。
【請求項８】
請求項６に記載の印刷装置において、
取得される前記部分入力画像データは、
前記出力画像において１回の主走査において記録される複数本の画素列に、それぞれ対応する入力画素データである印刷装置。
【請求項９】
請求項１ないし請求項８のいずれかに記載の印刷装置において、
前記入力画素データ取得部によって取得される前記入力画素データは、任意の第１の表色系で表されており、
前記ドットデータ生成部は、
取得された前記入力画素データを、前記第１の表色系から前記印刷装置が記録可能なドットの色を成分とする第２の表色系に変換し、変換した前記入力画素データに基づいて前記ドットデータを生成する印刷装置。
【請求項１０】
請求項６ないし請求項８のいずれかに記載の印刷装置において、
取得された前記部分入力画像データを構成する前記入力画素データは、任意の第１の表色系で表されており、
前記印刷装置は、さらに、
取得された前記部分入力画像データを構成する前記入力画素データを、前記第１の表色系から前記印刷装置が記録可能なドットの色を成分とする第２の表色系に変換する表色系変換部を備え、
前記画素データ取得部によって取得される前記入力画素データは、前記第２の表色系に変換された前記入力画素データである印刷装置。
【請求項１１】
１回の主走査によって互いに間隔を有する複数本の画素列を形成する出力画素を記録可能な印刷ヘッドと、入力画像データに応じて出力画像を構成する出力画素の各々について生成されるデータであってドットの有無を含む複数のドット状態のいずれかを示すドットデータを用いて前記印刷ヘッドを駆動してドットを記録させるヘッド駆動部と、を備える印刷部に前記ドットデータを供給するデータ処理装置であって、
１回の主走査によって記録される複数本の画素列について、画素列を構成する複数の出力画素にそれぞれ対応する複数の画素データを、前記入力画像データを構成する入力画素データの中から、画素列ごとに順次取得する画素データ取得部と、
前記ドットデータを格納するためのドットデータ格納部と、
画素列ごとに前記複数の画素データが取得される度に、取得された前記複数の画素データを用いて画素列を構成する複数の出力画素の前記ドットデータを生成して前記ドットデータ格納部に格納するドットデータ生成部と、
前記ドットデータ格納部に、前記１回の主走査によって記録される複数本の画素列について前記ドットデータが格納されたときに、前記出力画素の記録順に従って、格納された前記ドットデータを並び替えて前記ヘッド駆動部に出力するドットデータ出力部と、
を備えるデータ処理装置。
【請求項１２】
１回の主走査によって互いに間隔を有する複数本の画素列を形成する出力画素を記録可能な印刷ヘッドと、入力画像データに応じて出力画像を構成する出力画素の各々について生成されるデータであってドットの有無を含む複数のドット状態のいずれかを示すドットデータを用いて前記印刷ヘッドを駆動してドットを記録させるヘッド駆動部と、を備える印刷部に前記ドットデータを供給するデータ処理方法であって、
１回の主走査によって記録される複数本の画素列について、画素列を構成する複数の出力画素にそれぞれ対応する複数の画素データを、前記入力画像データを構成する入力画素データの中から、画素列ごとに順次取得し、
画素列ごとに前記複数の画素データが取得される度に、取得された前記複数の画素データを用いて画素列を構成する複数の出力画素の前記ドットデータを生成し、
生成された前記ドットデータを格納し、
前記１回の主走査によって記録される複数本の画素列について前記ドットデータが格納されたときに、前記出力画素の記録順に従って、格納された前記ドットデータを並び替えて前記ヘッド駆動部に出力するデータ処理方法。
【請求項１３】
１回の主走査によって互いに間隔を有する複数本の画素列を形成する出力画素を記録可能な印刷ヘッドと、入力画像データに応じて出力画像を構成する出力画素の各々について生成されるデータであってドットの有無を含む複数のドット状態のいずれかを示すドットデータを用いて前記印刷ヘッドを駆動してドットを記録させるヘッド駆動部と、を備える印刷部に前記ドットデータを供給するためのコンピュータプログラムであって、
１回の主走査によって記録される複数本の画素列について、画素列を構成する複数の出力画素にそれぞれ対応する複数の画素データを、前記入力画像データを構成する入力画素データの中から、画素列ごとに順次取得する機能と、
画素列ごとに前記複数の画素データが取得される度に、取得された前記複数の画素データを用いて画素列を構成する複数の出力画素の前記ドットデータを生成する機能と、
生成された前記ドットデータを格納しておく機能と、
前記１回の主走査によって記録される複数本の画素列について前記ドットデータが格納されたときに、前記出力画素の記録順に従って、格納された前記ドットデータを並び替えて前記ヘッド駆動部に出力する機能と、
をコンピュータに実現させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷技術に関し、特に、印刷装置または印刷のためのデータ処理装置に必要なメモリ容量を低減する技術に関する。
【背景技術】
【０００２】
画像データ生成装置（例えば、デジタルスチルカメラ）によって生成された入力画像データに基づいて印刷媒体上にドットを記録することによって、出力画像を印刷する印刷装置（例えば、インクジェットプリンタ）が広く普及している。これらの印刷装置では、ドット状態（ドットの有無、ドットのサイズ等）を示すドットデータに応じて、出力画像を印刷する。このため、これらの印刷装置で印刷を実行するためには、入力画像データを用いて出力画像を構成する画素分のドットデータを生成する必要がある。
【０００３】
一方で、画像データ生成装置が生成する入力画像データや、印刷装置が印刷可能な出力画像は、高画質化の要請からより高解像度化する傾向にある。入力画像データや、出力画像が高解像度になるほど大量の入力画素データやドットデータを扱う必要があるため、印刷装置が必要とするメモリ容量が増加する問題があった。例えば、入力画像データを構成する入力画素データの配列順と印刷装置が出力画素を記録する順番とは、一般的に対応していないため、従来は、入力画素データの配列順に入力画素データに対応するドットデータを生成した後、生成されたドットデータを出力画素の記録順に並べ替える処理（以下、並べ替え処理という。）を行っていた。かかる場合には、生成されたドットデータを上述の並べ替え処理のために一時的に格納するメモリが必要であり、出力画像が高解像度化すると大容量のメモリが必要であった。
【０００４】
この問題を解決するため、複数個のドットデータを一つのインデックスデータで表現してデータ量を減らし、インデックスデータ単位で上述の並べ替え処理を実行する技術が知られている（例えば、特許文献１）。
【０００５】
【特許文献１】特開２００２−２４０３７０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記従来技術では、インデックスデータに変換することによって、必要なメモリ容量が低減できる代わりに、表現可能なドットパターンの種類が減少するという問題があった。例えば、画素ごとのドットの有無によって２×２画素領域で表現できるドットパターンは１６種類であり、４ビット（１ビット×４）のデータで表される。しかしながら、２×２画素領域を、２ビットのインデックスデータに変換すると、４種類のドットパターンしか使用できない。つまり、データ量が半分になる代わりに、使用可能なドットパターンは４分の１になってしまう。このため、必要なメモリ容量の低減と引き替えに、出力画像の画質が低下するおそれがあった。このような課題は、印刷装置に限らず、印刷装置にドットデータを供給するデータ処理装置（例えば、印刷装置に接続されたパーソナルコンピュータ）においても共通する課題であった。
【０００７】
本発明は、上記課題を解決するためになされたものであり、印刷装置および印刷のためのデータ処理装置において、画質の低下を抑制しつつ、データ処理に必要なメモリ容量を低減することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題の少なくとも一部を解決するため、本発明の第１の態様は、入力画像データに応じて出力画像を構成する複数の出力画素の各々について生成されるデータであってドットの有無を含む複数のドット状態のいずれかを示すドットデータを用いて、印刷媒体上にドットを記録する印刷装置を提供する。本発明の第１の態様に係る印刷装置は、主走査方向に走査されつつ前記出力画素を記録する印刷ヘッドであって、１回の主走査によって、所定の間隔を有する複数本の画素列を形成する出力画素を記録可能な印刷ヘッドと、１回の主走査によって記録される複数本の画素列について、画素列を構成する複数の出力画素にそれぞれ対応する複数の画素データを、前記入力画像データを構成する入力画素データの中から、画素列ごとに順次取得する画素データ取得部と、前記ドットデータを格納するためのドットデータ格納部と、画素列ごとに前記複数の画素データが取得される度に、取得された前記複数の画素データを用いて画素列を構成する複数の出力画素の前記ドットデータを生成して前記ドットデータ格納部に格納するドットデータ生成部と、前記ドットデータ格納部に、前記１回の主走査によって記録される複数本の画素列について前記ドットデータが格納されたときに、前記出力画素の記録順に従って、格納された前記ドットデータを並び替えて出力するドットデータ出力部と、出力された前記ドットデータを受信すると共に、主走査に合わせて、受信した前記ドットデータを用いて前記印刷ヘッドを駆動してドットを記録させるヘッド駆動部と、を備えることを特徴とする。
【０００９】
本発明の第１の態様に係る印刷装置によれば、１回の主走査において記録される画素列に含まれる出力画素についてドットデータを生成して、１回の主走査ごとに、ドットデータの並べ替えを実行する。つまり、１回の主走査において記録対象でない画素列についてドットデータを生成しないので、並べ替え処理のためにドットデータを一時的に格納しておくために必要なメモリ容量を低減できる。また、１画素ごとに独立したドットデータを用いて印刷を実行するため、上述したインデックスデータを用いる場合より、画質の低下を抑制できる。
【００１０】
本発明の第１の態様に係る印刷装置において、前記入力画像データが表す入力画像は、第１の解像度を有し、前記出力画像は、前記第１の解像度より高い第２の解像度を有しても良い。かかる場合には、入力画像データより解像度が高くデータ量が多いドットデータを一時的に格納しておくメモリが低減される。
【００１１】
本発明の第１の態様に係る印刷装置において、前記印刷装置は、１つの画素列について複数回の主走査を行うと共に、画素列を形成する複数の出力画素を前記複数回の主走査に分配して記録し、前記ドットデータ格納部は、生成された前記ドットデータのうち、次の主走査において記録される出力画素の前記ドットデータを選択的に格納しても良い。こうすれば、画素列に含まれる全ての出力画素のドットデータ格納せずに、記録対象の出力画素のドットデータを選択的に格納するので、並べ替え処理のためにドットデータを一時的に格納しておくために必要なメモリ容量をさらに低減できる。
【００１２】
本発明の第１の態様に係る印刷装置において、前記ドットデータ生成部は、ドットデータを生成しようとする画素列を構成する各出力画素に割り当てられた乱数を用いて、ドットデータを生成し、異なる主走査のために、同じ画素列について前記ドットデータを複数回生成する際に、同じ出力画素には同じ乱数が割り当てても良い。こうすれば、ドットデータの生成に乱数を用いる場合において、同じ画素列について異なる主走査のために複数回ドットデータを生成する際に、それぞれの主走査において、同じドットデータが作成される。
【００１３】
本発明の第１の態様に係る印刷装置において、前記ドットデータの生成は、画素列単位で処理が完結する誤差拡散法を用いて実行されても良い。こうすれば、同一の画素列に含まれる出力画素だけを考慮する誤差拡散法を用いて、さらに、画質が向上することができる。
【００１４】
本発明の第１の態様に係る印刷装置は、さらに、前記入力画像データの１部であって、前記出力画像において１回の主走査において記録される複数本の画素列に対応する入力画素データを少なくとも含む部分入力画像データを、主走査ごとに取得する部分入力画像データ取得部を備え、前記画素データ取得部は、前記画素データを、前記部分入力画像データを構成する入力画素データの中から取得しても良い。こうすれば、主走査ごとに部分入力画像データを取得するので、入力画像データを一時的に格納しておくメモリ容量を低減できる。
【００１５】
本発明の第１の態様に係る印刷装置において、取得される前記部分入力画像データは、前記出力画像において１回の主走査において記録される複数本の画素列に対応する入力画素データを全て含む入力画像の最小の矩形領域に対応する入力画素データであっても良い。こうすれば、主走査ごとに取得する部分入力画像データのデータ量を低減し、部分入力画像データを一時的に格納しておくメモリ容量を低減できる。
【００１６】
本発明の第１の態様に係る印刷装置において、取得される前記部分入力画像データは、前記出力画像において１回の主走査において記録される複数本の画素列に、それぞれ対応する入力画素データであっても良い。こうすれば、主走査ごとに取得する部分入力画像データのデータ量を、さらに低減し、部分入力画像データを一時的に格納しておくメモリ容量を、さらに低減できる。
【００１７】
本発明の第１の態様に係る印刷装置において、前記入力画素データ取得部によって取得される前記入力画素データは、任意の第１の表色系で表されており、前記ドットデータ生成部は、取得された前記入力画素データを、前記第１の表色系から前記印刷装置が記録可能なドットの色を成分とする第２の表色系に変換し、変換した前記入力画素データに基づいて前記ドットデータを生成しても良い。こうすれば、ドットデータを生成するときに、処理対象の出力画素ごとに対応する入力画素データを第１の表色系から第２の表色系に変換するので、第２の表色系に変換後の入力画像データを一時的に格納しておく必要がない。したがって、第１の表色系で表された画素データにおける１画素当たりのデータ量が、第２の表色系で表された画素データにおける１画素当たりのデータ量より小さい場合には、入力画像データを一時的に格納しておくメモリ量を低減できる。
【００１８】
本発明の第１の態様に係る印刷装置において、取得された前記部分入力画像データを構成する前記入力画素データは、任意の第１の表色系で表されており、前記印刷装置は、さらに、取得された前記部分入力画像データを構成する前記入力画素データを、前記第１の表色系から前記印刷装置が記録可能なドットの色を成分とする第２の表色系に変換する表色系変換部を備え、前記画素データ取得部によって取得される前記入力画素データは、前記第２の表色系に変換された前記入力画素データであっても良い。こうすれば、入力画像データの解像度で、第２の表色系に変換するので、出力画像の解像度が入力画像データの解像度より高い場合には、出力画素ごとに第２の表色系への変換処理を実行するよりも、処理量を低減することができる。
【００１９】
本発明の第２の態様は、１回の主走査によって互いに間隔を有する複数本の画素列を形成する出力画素を記録可能な印刷ヘッドと、入力画像データに応じて出力画像を構成する出力画素の各々について生成されるデータであってドットの有無を含む複数のドット状態のいずれかを示すドットデータを用いて前記印刷ヘッドを駆動してドットを記録させるヘッド駆動部と、を備える印刷部に前記ドットデータを供給するデータ処理装置を提供する。本発明の第２の態様に係るデータ処理装置は、１回の主走査によって記録される複数本の画素列について、画素列を構成する複数の出力画素にそれぞれ対応する複数の画素データを、前記入力画像データを構成する入力画素データの中から、画素列ごとに順次取得する画素データ取得部と、前記ドットデータを格納するためのドットデータ格納部と、画素列ごとに前記複数の画素データが取得される度に、取得された前記複数の画素データを用いて画素列を構成する複数の出力画素の前記ドットデータを生成して前記ドットデータ格納部に格納するドットデータ生成部と、前記ドットデータ格納部に、前記１回の主走査によって記録される複数本の画素列について前記ドットデータが格納されたときに、前記出力画素の記録順に従って、格納された前記ドットデータを並び替えて前記ヘッド駆動部に出力するドットデータ出力部と、を備えることを特徴とする。
【００２０】
本発明の第３の態様は、１回の主走査によって互いに間隔を有する複数本の画素列を形成する出力画素を記録可能な印刷ヘッドと、入力画像データに応じて出力画像を構成する出力画素の各々について生成されるデータであってドットの有無を含む複数のドット状態のいずれかを示すドットデータを用いて前記印刷ヘッドを駆動してドットを記録させるヘッド駆動部と、を備える印刷部に前記ドットデータを供給するデータ処理方法を提供する。本発明の第３の態様に係るデータ処理方法は、１回の主走査によって記録される複数本の画素列について、画素列を構成する複数の出力画素にそれぞれ対応する複数の画素データを、前記入力画像データを構成する入力画素データの中から、画素列ごとに順次取得し、画素列ごとに前記複数の画素データが取得される度に、取得された前記複数の画素データを用いて画素列を構成する複数の出力画素の前記ドットデータを生成し、生成された前記ドットデータを格納し、前記１回の主走査によって記録される複数本の画素列について前記ドットデータが格納されたときに、前記出力画素の記録順に従って、格納された前記ドットデータを並び替えて前記ヘッド駆動部に出力することを特徴とする。
【００２１】
本発明の第２の態様に係るデータ処理装置、および、第３の態様にかかる方法によれば、本発明の第１の態様に係る印刷装置と同様の作用・効果を得ることができる。また、本発明の第２の態様に係るデータ処理装置、および、第３の態様に係る方法は、本発明の第１の態様に係る印刷装置と同様に種々の態様にて実現され得る。
【００２２】
なお、この発明は、種々の形態で実現することが可能であり、例えば、上記方法または装置の機能を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体、そのコンピュータプログラムを含み搬送波内に具現化されたデータ信号、等の形態で実現することができる。
【発明を実施するための最良の形態】
【００２３】
以下、本発明にかかる印刷装置について、図面を参照しつつ、実施例に基づいて説明する。
【００２４】
Ａ．第１実施例：
・印刷装置の構成：
図１〜図３を参照して、第１実施例に係る印刷装置の概略構成について説明する。図１は、本発明の第１実施例としての印刷装置の概略構成図である。図２は、印刷ヘッドの下面におけるノズル配列を示す説明図である。図３は、制御回路の内部構成を示す説明図である。
【００２５】
印刷装置２０は、主走査と副走査を繰り返しながら印刷ヘッドを駆動して複数種類のインクを印刷媒体上に吐出させて、ドットパターンを記録するインクジェット方式のプリンタである。複数種類のインクとして、本実施例では、シアン（Ｃ）、マゼンタ（Ｍ）、イエロ（Ｙ）、ブラック（Ｋ）の４色に、色材濃度の低い淡シアン（ＬＣ）、淡マゼンタ（ＬＭ）を加えた計６色のインクを用いている。尚、以下では、各色のインクを上記でかっこ書きで示したアルファベットを用いて、略称するものとする（例えば、シアンインクは、Ｃインクと略称する）。
【００２６】
図１に示すように、印刷装置２０は、キャリッジモータ２２によってキャリッジ２１をプラテン２３の軸方向（主走査方向）に往復動させる主走査送り機構と、紙送りモータ２４によって印刷用紙Ｐを副走査方向に搬送する副走査送り機構と、キャリッジ２１に搭載された印刷ヘッド２１１と、これらの紙送りモータ２４，キャリッジモータ２２，印刷ヘッド２１１および操作パネル２９との信号のやり取りを司る制御回路３０とを備えている。
【００２７】
主走査送り機構は、プラテン２３の軸方向と並行に架設されキャリッジ２１を摺動可能に保持する摺動軸２５と、キャリッジモータ２２との間に無端の駆動ベルト２６を張設するプーリ２７と、キャリッジ２１の原点位置を検出する位置センサ２８とを備えている。副走査送り機構は、プラテン２３と、給紙補助ローラ（図示省略）と、紙送りモータ２４の回転をプラテン２３と給紙補助ローラに伝達するギヤトレイン（図示省略）とを備えている。
【００２８】
図２に示すように、印刷ヘッド２１１の底面には、インクを吐出してドットを記録するための複数のノズルＮｚが設けられている。これらノズルＮｚは、印刷に用いられる６色のインクのそれぞれについて複数個設けられており、同一色のドットを記録する複数のノズルＮｚは、副走査方向に沿って、ノズル列を形成するように配置されている。ノズル列を形成する各ノズルＮｚは所定のノズルピッチｐで配置されている。同一色のノズル列を形成する各ノズルＮｚは、必ずしも一列に配置される必要はなく、例えば、１つおきに位相をずらして千鳥状に配置されても良い。ノズルＮｚからインクを吐出する方法は、種々の方法を適用することができる。すなわち、ピエゾ素子を用いてインクを吐出する方式や、インク通路に配置したヒータでインク通路内に泡（バブル）を発生させてインク滴を吐出する方法などを用いることができる。
【００２９】
図３に示すように、制御回路３０は、ＣＰＵ３１と、ＰＲＯＭ３２と、ＲＡＭ３３と、メモリカードＭＣを装着可能なカードスロット３４と、紙送りモータ２４やキャリッジモータ２２等と信号のやり取りを行う周辺機器入出力部（ＰＩＯ）３５と、駆動波形生成回路３９と、駆動バッファ３７を備えている。これらは互いにバス３８で接続されている。この結果、これらの各構成要素は、相互にデータのやり取りが可能となっている。
【００３０】
ＰＲＯＭ３２には、印刷装置２０の動作を制御する制御プログラムおよび入力画像データを用いてドットデータを生成するデータ処理プログラムが格納されている。ＣＰＵ３１は、ＲＡＭ３３をワークバッファとして、これらのプログラムを実行する。すなわち、ＣＰＵ３１、ＰＲＯＭ３２、ＲＡＭ３３からなる情報処理部４５は、印刷装置２０の動作を制御する制御処理部および後述するドットデータを生成するデータ処理部として機能する。
【００３１】
駆動バッファ３７は、印刷ヘッド２１１に供給されるドットデータを一時的に格納する。駆動波形生成回路３９は、印刷ヘッド２１１に備えられたノズルＮｚを駆動するための駆動波形（駆動電圧）を生成する。駆動バッファ３７および駆動波形生成回路は、情報処理部４５の制御に従い、印刷ヘッド２１１に設けられた上述のノズルＮｚを駆動する。すなわち、駆動バッファ３７と駆動波形生成回路３９は、ノズルＮｚを駆動して、印刷ヘッド２１１にドットを記録させるヘッド駆動部４０として機能する。より具体的に説明すると、ノズルＮｚの駆動は、キャリッジ２４０の主走査および副走査に合わせて、駆動バッファ３７がドットデータを、駆動波形生成回路３９が駆動波形を、ノズルＮｚに対してそれぞれ供給することによって実行される。
【００３２】
図４を参照して、ドットデータを生成するデータ処理部としての情報処理部４５の機能的構成について説明する。図４は、データ処理部としての情報処理部４５の機能的構成を示すブロック図である。
【００３３】
情報処理部４５は、データ処理部として、部分入力画像データ取得部Ｍ１と、画素データ取得部Ｍ２と、ドットデータ生成部Ｍ３と、ドットデータ格納部Ｍ４と、ドットデータ出力部Ｍ５とを備える。
【００３４】
部分入力画像データ取得部Ｍ１は、メモリカードＭＣに格納された入力画像データから一回の主走査に必要な部分入力画像データを取得する。
【００３５】
画素データ取得部Ｍ２は、１回の主走査によって記録される複数本の画素列を特定する。画素データ取得部Ｍ２は、特定された画素列ごとに、画素列を構成する複数の出力画素にそれぞれ対応する複数の画素データを、順次取得する。なお、画素データは、前記入力画像データを構成する入力画素データの中から取得される。
【００３６】
ドットデータ生成部Ｍ３は、取得された複数の画素データを用いて画素列を構成する複数の出力画素のドットデータを生成する。ドットデータの生成は、複数の画素データが取得される度に、画素列ごと実行される。ドットデータ生成部Ｍ３は、生成されたドットデータを、後述するドットデータ格納部Ｍ４に格納しておく。
【００３７】
ドットデータ格納部Ｍ４は、ドットデータ生成部Ｍ３が、生成されたドットデータを一時的に格納しておくために用いられる。本実施例では、ＲＡＭ３３の所定の領域が、ドットデータ格納部Ｍ４として機能する。
【００３８】
ドットデータ出力部Ｍ５は、ドットデータ格納部Ｍ４に１回の主走査によって用いられるドットデータが格納されたときに、印刷ヘッド２１１が出力画素を記録する記録順に従って、ドットデータを並び替える。ドットデータ出力部Ｍ５は、並び替えたドットデータを、駆動バッファ３７に出力する。
【００３９】
なお、図４において破線で示すように、取得された部分入力画像データに対して色変換処理を実行する表色系変換部Ｍ６を独立して備えても良い。部分入力画像データに対する色変換は、第２変形例において説明する。
【００４０】
・印刷装置の動作：
・記録方式の概要：
図５を参照して、先ず、印刷装置２０におけるドットの記録方式について説明する。図５は、印刷装置の記録方式の一例を示す説明図である。ここで、理解の容易のため、印刷ヘッドに備えられたノズル数が、各インク色ごとのノズル列あたり４個である場合について説明する。
【００４１】
図５において、左側は、各パスにおける４個のノズル（＃Ａ〜＃Ｄ）の副走査方向における位置を示している。ここで、「パス」とは１回分の主走査を意味しており、パスｎ（ｎは自然数）は、ｎ回目の主走査を意味している（以下、ｎをパス番号という。）。４個のノズルの位置は、１回のパスが終了する度に、副走査送り量Ｌだけ、副走査方向に送られる。但し、実際には、副走査方向の送りは紙送りモータ２４（図１）によって用紙を移動させることによって実現されている。この例では、４個のノズルのノズルピッチｐは３画素であり、副走査送り量Ｌは２画素である。
【００４２】
図５において、右側は、印刷媒体上に記録される出力画像を概念的に示している。図５に示す出力画像は、縦方向の解像度と横方向の解像度が、共に６００ｄｐｉ(dot per inch)である。出力画像における丸印および菱形の印は、出力画像を構成する出力画素Ｐｏを示している。各出力画素Ｐｏ内の数字は、その出力画素を記録するパスのパス番号を示している。図５に示されるように、ノズルピッチｐに応じた間隔を有する複数本の画素列上の画素が、１回のパスによって記録される。丸印は、奇数回目のパスによって記録される出力画素Ｐｏを示し、菱形の印は、偶数回目のパスによって記録される出力画素Ｐｏを示している。この例では、主走査方向にならぶ出力画素によって形成される画素列（以下、ラスタラインという。）上の画素のうち、奇数回目のパスで記録される画素は、図５の左から奇数番目の画素であり、偶数番目のパスで記録される画素の位置は、左から偶数番目の画素である。従って、同一のラスタライン上の画素は、異なる２つのノズルによってそれぞれ間欠的に記録される。例えば、有効記録範囲内の最上端のラスタラインは、パス２においてノズル＃Ｃによって１ドットおきに間欠的に記録された後に、パス５においてノズル＃Ａで１ドットおきに間欠的に記録される。このように、１つのラスタライン上の出力画素を、複数回のパスに分配して記録する記録方式をオーバーラップ方式と呼ぶ。この例のオーバーラップ方式では、各ノズルは、１回の主走査中に１ドット記録した後に、１ドット記録を禁止するように、間欠的なタイミングでノズルが駆動される。
【００４３】
オーバーラップ方式によれば、複数個のノズルを用いて異なるパスによって、１つのラスタラインを記録するので、各ラスタラインの間に「バンディング」と呼ばれる筋状の画像劣化領域が現れることを抑制することができる。「バンディング」は、同一のラスタライン上の出力画素が、ノズルの製造誤差等に起因して、理想的な位置（設計された位置）から副走査方向に沿って同一の方向にずれた場合に、そのラスタラインと隣接するラスタラインとの間に隙間が発生してしまう現象である。
【００４４】
このような記録方式において、図５の左側に示す出力画像上の実線より上の範囲は、全ての画素を記録対象にすることができないので、実際には記録を禁止される範囲（記録禁止範囲）である。一方、上記実線より下の範囲は、全ての画素を記録対象とすることができる範囲（有効記録範囲）である。
【００４５】
以上説明したように、記録方式を定める種々の条件（印刷条件）、例えば、ノズルピッチｋ、副走査送り量Ｌ、によって、ラスタラインが記録される順番は様々であることがわかる。このような記録方式は、必ずしも印刷装置２０ごとに１つに限られるものではなく、ユーザーの選択（例えば、高速印刷モードと、高画質印刷モードの選択）等によって、１つの印刷装置２０で各種の記録方式が用いられ得る。
【００４６】
・印刷処理：
図６〜図１４を参照して、印刷処理について説明する。図６は、印刷処理の処理ルーチンを示すフローチャートである。印刷処理は、例えば、ユーザが、印刷したい画像の入力画像データを格納する格納部としてのメモリーカードＭＣを印刷装置２０に装着すると共に、操作パネル２９を介して、印刷したい入力画像データを指定して印刷の実行を指示したときに、開始される。以下では、縦および横の解像度がそれぞれ２００ｄｐｉ（２００ｄｐｉ×２００ｄｐｉ）の入力画像データを用いて、図５を参照して説明した記録方式（６００ｄｐｉ×６００ｄｐｉ）で印刷が実行される場合を例に、印刷処理を説明する。印刷処理は、ＣＰＵ３１（情報処理部４５）が、ＰＲＯＭ３２に記録された印刷装置の制御プログラムおよびデータ処理プログラムに従って実行する処理である。
【００４７】
印刷処理は、印刷に必要な全てのパスについて、パス単位の処理を繰り返すことによって実行される。図６においてステップＳ１０２〜ステップＳ１１４までが、１回のパスで実行される単位処理（以下、パス処理という。）である。以下、ｎ回目のパスｎにおけるパス処理を代表して説明する。ｎ回目のパス処理が開始されると、ＣＰＵ３１は、メモリカードＭＣに記録された入力画像データから、ｎ回目のパス処理に必要な部分入力画像データを取得して、ＲＡＭ３３に格納する（ステップＳ１０２）。この際、（ｎ−１）回目のパス処理に用いられた部分入力画像データは、新たに取得された部分入力画像データに置換されるため、ＲＡＭ３３から消去される。
【００４８】
図７は、ｎ回目のパス処理において取得される部分入力画像データについて示す説明図である。図７（ａ）では、説明の便宜のため、入力画像データが表す入力画像と、印刷装置２０が記録しようとする出力画像とを重ねて示している。入力画像の解像度（以下、第１の解像度ともいう。）は、出力画像の解像度（以下、第２の解像度ともいう。）の３分の１である。従って、１個の入力画素Ｐｉに、９個（３×３個）の出力画素Ｐｏが対応することが解る。図７（ａ）では、パスｎで記録される出力画素Ｐｏが太線の丸印で示されており、パスｎで記録される出力画素Ｐｏに対応する入力画素Ｐｉがハッチングで示されている。
【００４９】
部分入力画像データは、パスｎによって記録される複数のラスタライン上の出力画素に対応する画素データを全て含むように、取得される必要がある。パスｎで記録されるラスタライン（以下、記録対象ラスタラインという。）とは、ラスタラインを形成する出力画素のうち少なくとも一部がパスｎにおいて記録されるラスタラインを指す。本実施例では、ＣＰＵ３１は、図７（ａ）においてハッチングされた帯状の領域Ｌｉに対応する複数の入力画素データＰｉｄを取得する。領域Ｌｉは、複数の記録対象ラスタラインに対応する入力画素Ｐｉを全て含む入力画像上の領域であって、最も小さい矩形の領域である。
【００５０】
ここで、図７（ｂ）は、ＲＡＭ３３に格納されている部分入力画像データを概念的に示している。入力画像データは、一般的には、ＹＣｂＣｒ表色系で表された入力画素データを圧縮したＪＰＥＧ形式で、メモリカードＭＣに記録されている。ＣＰＵ３１は、入力画像データのうち上述した必要な部分のみを伸張し、周知の変換マトリックスＳを用いたＹＣｂＣｒ−ＲＧＢ変換処理を実行する。ＣＰＵ３１は、ＲＧＢ表色系で表された入力画素データ（ＲＧＢデータ）の集合を、部分入力画像データとして取得する。一般的にＲＧＢ表色系は、ＲＧＢ各成分値を、２５６階調を有する階調値（１バイトデータ）によって表すので、部分入力画素データを構成する入力画素データＰｉｄは、３バイト（１バイト×３色）のデータである。もちろん、入力画素データＰｉｄは、ＲＧＢデータである必要はなく、任意の第１の表色系で表されたデータであっても良い。
【００５１】
ステップＳ１０４〜ステップＳ１０８は、ｎ回目のパスで記録されるラスタライン（画素列）を順次処理対象にして、ラスタライン単位で繰り返される処理である。この処理は、簡単に説明すると、処理対象のラスタライン上の出力画素Ｐｏのそれぞれについてドットデータ生成して、生成されたドットデータを一時的にＲＡＭ３３に格納しておく処理である。
【００５２】
ＣＰＵ３１は、部分入力画像データを取得すると、パスｎにおける記録対象ラスタラインの中から、処理対象とするラスタラインを指定する（ステップＳ１０２）。
【００５３】
図８は、パスｎにおける記録対象の出力画素（以下、対象出力画素という。）と、対応する入力画素Ｐｉを示す説明図である。図８において、丸印は対象出力画素を示している。パスｎにおける記録対象ラスタラインは、上述のとおり対象出力画素が位置するラスタラインである。図８において、ラスタラインＬ１〜Ｌ４は、パスｎにおける記録対象ラスタラインを示している。本実施例では、ＣＰＵ３１は、Ｌ１−Ｌ２−Ｌ３−Ｌ４という順序で、処理対象とするラスタラインを指定していく。以下では、図８におけるラスタラインＬ１が指定されたものとして説明する。
【００５４】
ＣＰＵ３１は、処理対象のラスタラインを１つ指定すると、指定されたラスタラインを形成する各出力画素Ｐｏについてドットデータを生成する処理（以下、ドットデータ生成処理という。）を実行する（ステップＳ１０６）。
【００５５】
ドットデータ生成処理について説明する前に、ドットデータについて、説明しておく。本実施例において、ドットデータは出力画像を構成する出力画素Ｐｏの各々について、ドットの記録の有無を示すデータである。ある出力画素Ｐｏについてドットを記録する場合には、その出力画素Ｐｏのドットデータは「１」となり、ドットを記録しない場合には、その出力画素Ｐｏのドットデータは「０」となる。すなわち、１つのドットデータは、「１」または「０」を表す１ビットのデータ（２値データ）である。もちろん印刷装置２０が、１つの画素について複数種類のドット状態を表現可能である場合には、ドットデータは、多階調データであっても良い。例えば、印刷装置２０が、小ドット、中ドット、大ドットの３種類のドットを形成可能である場合には、ドット無し「００」、小ドット「０１」、中ドット「１０」、大ドット「１１」というように、２ビット４階調のデータをドットデータとしても良い。
【００５６】
また、ドットデータは、印刷に用いる各インク色ごとに生成される。本実施例に係る印刷装置２０では、上述のとおり６色のインク（Ｃ、Ｍ、Ｙ、Ｋ、ＬＣ、ＬＭ）を用いるので、１つの出力画素Ｐｏあたり６つのドットデータ（合計６ビット）が生成される。
【００５７】
図９は、ドットデータ生成処理の処理ルーチンを示すフローチャートである。ＣＰＵ３１は、ドットデータ生成処理を開始すると、処理対象のラスタラインを形成する全ての出力画素Ｐｏについて、それぞれ対応する画素データ（本実施例では、ＲＧＢデータ）を取得する（ステップＳ２００）。ラスタラインを形成する出力画素Ｐｏのうち、パスｎにおける対象出力画素（図８における丸印）だけでなく、他のパスで記録される画素（図８における菱形の印）についても、画素データが取得される。各出力画素Ｐｏに対応する画素データは、ステップＳ１０２においてＲＡＭ３３に格納した部分入力画像データに含まれる入力画素データＰｉｄ（図７（ｂ））の中から特定される。
【００５８】
ＣＰＵ３１は、画素データを取得すると、取得された画素データに対して色変換処理を実行する（ステップＳ２０２）。色変換処理は、任意の第１の表色系で表された画素データ（本実施例では、ＲＧＢデータ）を、印刷に用いる各インク色を成分とする第２の表色系で表された画素データに変換する処理である。第２の表色系における各成分値（Ｃ、Ｍ、Ｙ、ＬＣ、ＬＭ、Ｋ）は、所定面積当たりにおける各インクのインク量を２５６階調で表している。このため、第２の表色系は、インク量表色系（インク量色空間）とも呼ばれる。色変換処理は、色変換テーブルＬＵＴを参照して実行される。
【００５９】
図１０は、色変換テーブルＬＵＴの一例を示す説明図である。色変換テーブルＬＵＴは、ＲＧＢ表色系における複数の代表データ（図１０左欄）と、これらに対応するインク量表色系におけるデータ（図１０右欄）とが記録されたテーブルである。ＣＰＵ３１は、色変換テーブルＬＵＴを参照しながら、補間演算を実行して任意の値を有する入力画素データを、ＲＧＢ表色系からインク量表色系に変換することができる。
【００６０】
ＣＰＵ３１は、インク量表色系に変換した画素データを用いてハーフトーン処理を実行し、処理対象のラスタライン上の各出力画素のドットデータを生成する（ステップＳ２０４）。本実施例では、ハーフトーン処理の方法として誤差拡散法を用いる。本実施例において用いる誤差拡散法は、ラスタライン単位で処理が完結する方法（以下、１行誤差拡散法という。）である。
【００６１】
図１１は、１行誤差拡散法における誤差の配分の一例を示す説明図である。ＣＰＵ３１は、ラスタライン上の出力画素について、左から右へ順番に着目して、各画素にドットを記録するか否かを判断する。まず、ＣＰＵ３１は、一番左端の画素に着目し、その画素データの値Ｌｔを予め定められたしきい値Ｔｈ（例えば、１２８）と比較する。Ｌｔ≧Ｔｈである場合には、ＣＰＵ３１は、その画素についてドットを記録すると判断し、ドットデータ「１」を生成する。そして、ＣＰＵ３１は、ドットを記録することによってその画素において表現される階調Ｌｒ（例えば、２５５）と、画素データの値Ｌｔとの誤差（Ｌｔ−Ｌｒ）を、まだドットの形成の有無を判断していない画素に配分する。ここで、誤差（Ｌｔ−Ｌｒ）は、図１１に示すように、着目する画素と同じラスタライン上であり、かつ、着目する画素より右側の画素に、所定の割合で配分される。一方、Ｌｔ＜Ｔｈである場合には、ＣＰＵ３１は、その画素についてドットを記録しないと判断し、ドットデータ「０」を生成する。そして、ＣＰＵ３１は、ドットを記録しないことによってその画素において表現されない値Ｌｔを、まだドットの形成の有無を判断していない画素に配分する。表現されない値Ｌｔの配分の仕方は、ドットを記録する場合における誤差（Ｌｔ−Ｌｒ）の配分の仕方と同様である（図１１参照）。
【００６２】
その後、ＣＰＵ３１は、順次、右側の画素について着目し、ドットデータを生成していく。その際には、ＣＰＵ３１は、「その画素の画素データの値Ｌｔと、すでにドットデータを生成した左側の画素から配分された誤差Ｌｅとの和」と、しきい値Ｔｈとを比較する。ＣＰＵ３１は、（Ｌｔ＋Ｌｅ）≧Ｔｈである場合には、その画素についてドットを記録すると判断する。そして、ＣＰＵ３１は、ドット形成によってその画素において表現される階調Ｌｒと（Ｌｔ＋Ｌｅ）との誤差（Ｌｔ＋Ｌｅ−Ｌｒ）を、まだドットの形成の有無を判断していない画素に配分する。一方、（Ｌｔ＋Ｌｅ）＜Ｔｈである場合には、ＣＰＵ３１は、その画素についてドットを記録しないと判断する。その画素において表現されない値（Ｌｔ＋Ｌｅ）を、まだドットの形成の有無を判断していない画素に配分する。（Ｌｔ＋Ｌｅ−Ｌｒ）および（Ｌｔ＋Ｌｅ）の配分の仕方は、図１１に示すとおりである。
【００６３】
このようにして、誤差の配分先を、同じラスタライン上の右側の画素に限定することによって、ドットデータ生成処理を、ラスタライン単位で完結する処理とすることができる。ＣＰＵ３１は、処理対象のラスタライン上の全ての画素について、全てのインク色のドットデータを生成すると、ドットデータ生成処理を終了して、図６に示す処理にリターンする。
【００６４】
ＣＰＵ３１は、次に、生成されたドットデータのうち、必要なドットデータを選択的にドットデータ格納部に格納する（ステップＳ１０８）。必要なドットデータとは、パスｎにおける対象出力画素のドットデータである。ドットデータ格納部は、ＲＡＭ３３に確保されたメモリ領域である。
【００６５】
図１２は、ドットデータ格納部に格納されるドットデータを示す概念図である。パスｎで記録対象とされる出力画素Ｐｏは、図８に示すように、左から奇数番目の画素である。図１２に示すように、生成されたドットデータのうち左から奇数番目の画素のドットデータのみが選択的に格納される。図１２では、Ｙインクのドットデータについてのみ示しているが、各インク色のドットデータが、ドットデータ格納部における所定の領域に格納される。
【００６６】
ＣＰＵ３１は、ドットデータを格納すると、パスｎにおける全ての記録対象ラスタラインＬ１〜Ｌ４を処理対象として、上述したＳ１０４〜Ｓ１０８の処理を実行したか否かを判断する（ステップＳ１１０）。ＣＰＵ３１は、まだ、処理対象とされていないラスタラインがある場合（ステップＳ１１０：ｎｏ）には、ステップＳ１０４に戻って、未処理のラスタラインを処理対象として、上述の処理を繰り返す。ＣＰＵ３１は、全てのラスタラインについて処理した場合（ステップＳ１１０：ｙｅｓ）には、ステップＳ１１２に移行する。
【００６７】
ＣＰＵ３１は、ドットデータ格納部に格納されたドットデータを、印刷ヘッド２１１が用いる順番、すなわち、印刷ヘッド２１１が出力画素Ｐｏを記録する順番に、並べ替えて駆動バッファ３７に出力する（ステップＳ１１２）。
【００６８】
図１３を参照して、ドットデータの駆動バッファ３７への出力について説明する。駆動バッファ３７には、出力された順番に、順次、ドットデータが格納される。この結果、駆動バッファ３７には、パスｎにおいて印刷ヘッド２１１によって出力画素が記録される順番に、各出力画素のドットデータが格納される。具体的には、ドットデータ格納部におけるドットデータの配列と、駆動バッファ３７におけるドットデータの配列との行と列を入れ替えるように並び替えられる。例えば、図１４に示すように、ドットデータ格納部において２行×ｂ列にあるドットデータを、駆動バッファ３７においてｂ行×２列に格納する。図１３では、Ｙインクのドットデータ（Ｙデータ）のみを具体的に示しているが、他の各インク色のドットデータについても、同様に並び替えられ、駆動バッファ３７に出力される。
【００６９】
パスｎにおける全ての対象出力画素のドットデータが駆動バッファ３７に格納されると、ＣＰＵ３１は、キャリッジモータ２２を駆動して印刷ヘッド２１１を主走査方向に移動させると共に、パスｎにおける対象出力画素を記録する（ステップＳ１１４）。
【００７０】
対象出力画素の記録は、ＣＰＵ３１の制御に従い、ヘッド駆動部４０が、印刷ヘッド２１１のノズルＮｚを駆動することによって実行される。ヘッド駆動部４０は、駆動バッファ３７に格納されたドットデータと、駆動波形生成回路３９によって生成された駆動波形（駆動電圧）を用いてノズルＮｚを駆動する。
【００７１】
図１４は、ヘッド駆動部がノズルを駆動するメカニズムを概念的に示した説明図である。理解の容易のため、図１４では、ノズル数は、各インク色ごとに４個ずつであるとし、Ｙインクを印刷するノズルＮｚのみを図示している。印刷ヘッド２１１の主走査に合わせて、駆動波形生成回路３９が駆動波形を出力すると、駆動波形は全てのノズルＮｚに一斉に供給される。このとき、駆動波形が供給されるだけで直ちにノズルＮｚが駆動されるわけではない。駆動波形によって実際に駆動されるのは、駆動波形を受けたときに、駆動バッファ３７からドットを記録することを意味するドットデータ「１」が供給されているノズルＮｚのみであり、これらのノズルだけがインク滴を吐出してドットを記録する。逆に言えば、駆動バッファ３７からドットを記録しないことを意味するドットデータ「０」が供給されているノズルＮｚは、駆動信号が供給されていても、実際には駆動されず、インク滴を吐出することはない。駆動バッファ３７には、上述の通り印刷ヘッド２１１が対象出力画素を記録する順番に、記録する対象出力画素のドットデータが格納されているので、これらのドットデータが駆動バッファ３７から順次ノズルＮｚに供給されることによって、印刷ヘッド２１１は、ドットデータに従って所望のドットパターンを印刷媒体上に記録することができる。
【００７２】
上述したパスｎの処理が終了すると、ＣＰＵ３１は、全てのパスについて上述の処理（Ｓ１０２〜Ｓ１１４）が終了したか否かを判断する（ステップＳ１１６）。ＣＰＵ３１は、パスｎが最後のパスではなく、まだ全パスが終了していないと判断したら（ステップＳ１１６：ｎｏ）、ステップ１００に戻り、（ｎ＋１）回目のパスについて、上述した処理を繰り返す。ＣＰＵ３１は、パスｎが最後のパスであり、全パスが終了したと判断したら（ステップＳ１１６：ｙｅｓ）、印刷処理を終了する。
【００７３】
以上説明したように、本実施例に係る印刷装置２０によれば、各パス処理において、記録対象ラスタラインについてのドットデータが選択的に生成されて、ドットデータ格納部に格納される。したがって、ドットデータの並べ替え処理のためにドットデータを一次的に確保しておくドットデータ格納部の必要容量が低減される。
【００７４】
さらに、ラスタラインについて生成されたドットデータのうち、各パスごとに、記録対象とされている対象出力画素が、選択的にドットデータ格納部に格納される。したがって、さらに、ドットデータ格納部の必要容量が低減される。
【００７５】
図１５を参照して、理解の容易のため、従来のドットデータの生成について簡単に説明しておく。図１５は、従来のドットデータの生成処理を実行するデータ処理部のＲＡＭの状態を示す説明図である。従来は、先ず、一回のパスに必要な部分入力画像データをＲＡＭに格納した後（図１５におけるＡ領域）、これらの部分入力画像データに対応する全ての出力画素について、ドットデータを生成していた（図１５におけるＹデータを参照）。そして、これらのドットデータを、一時的にドットデータ格納部に格納し、格納されたドットデータの中から一回のパスで記録する出力画素のドットデータを選択的に取得して、印刷ヘッドが記録する順番に並べ替えて、駆動バッファに出力していた。図１５におけるＹデータのうち、黒く塗りつぶされた画素が、１回のパスで記録される出力画素のドットデータを示している。ドットデータは、印刷装置２０が用いるインクの種類ごとに必要であるので、もちろん、ドットデータ格納部も、インクの種類数に応じた容量が必要である。
【００７６】
本実施例に係る印刷装置２０では、図１５において黒く塗りつぶされたドットデータだけを、選択的にドットデータ格納部に格納しており、従来に比較して、ドットデータ格納部の必要容量が低減されていることが解る。
【００７７】
従来では、ノズルピッチｐが大きくなるとその分、ドットデータ格納部の容量が増大していたが、本実施例では、そのような不都合は生じない。
【００７８】
さらに、本実施例では、１行誤差拡散法を用いて、ドットデータを生成しているので、ドットデータ格納部の必要容量を低減しても、出力画像を高画質に維持できる。誤差拡散法を用いると、一般的に、画素単位で完結するハーフトーン処理（例えば、ディザ法）を用いる場合よりも、出力画像を高画質化できる。
【００７９】
また、上述した従来技術（特許文献１）は、複数のドットデータを１つのインデックスデータで表すことにより表現可能なドットパターンの種類が減少し、画質が低下するおそれがあったが、本実施例における印刷処理では、そのような不都合はない。
【００８０】
Ｂ．第２実施例：
図１６を参照して、第２実施例に係るデータ処理装置について説明する。図１６は、第２実施例に係るデータ処理装置としてのパーソナルコンピュータを含む印刷システムの概略構成図である。
【００８１】
第２実施例では、第１実施例において印刷装置２０の情報処理部４５（ＣＰＵ３１）が有していたデータ処理部としての機能を、パーソナルコンピュータ９０が有している。図１６に示すように、第１実施例において図４を参照して説明したデータ処理部としての情報処理部４５の機能的構成を全てパーソナルコンピュータ９０が有している。すなわち、パーソナルコンピュータ９０が、第２実施例におけるデータ処理部９５として機能する。第２実施例におけるデータ処理部９５の具体的構成は、第１実施例におけるデータ処理部としての情報処理部４５の機能的構成と同じであるので、同一の符号を付しその説明を省略する。
【００８２】
パーソナルコンピュータ９０は、入力画像データを格納するハードディスクドライブＨＤＤから入力画像データを取得し、ドットデータを生成する。パーソナルコンピュータ９０には、ケーブルＣＶを介して印刷装置２０が接続されており、生成したドットデータを印刷装置２０に供給する。印刷装置２０は、供給されたドットデータを駆動バッファ３７に格納して、格納されたドットデータを用いて、出力画素Ｐｏを記録する。
【００８３】
パーソナルコンピュータ９０におけるドットデータの生成、および、印刷装置２０における出力画素Ｐｏの記録の具体的な処理は、第１実施例と同じである。すなわち、図６を参照して説明した印刷処理のうち、ステップＳ１０２〜ステップＳ１１２までをパーソナルコンピュータ９０が実行し、ステップＳ１１４を印刷装置２０におけるＣＰＵ３１が実行する。そして、パーソナルコンピュータ９０と印刷装置におけるＣＰＵ３１とが同期しながら、パスごとに上記処理を繰り返す（Ｓ１１６）ことによって、印刷処理を実行していく。
【００８４】
以上のような第２実施例に係るデータ処理装置としてのパーソナルコンピュータ９０によれば、パーソナルコンピュータ９０において、第１実施例に係る印刷装置２０と同様の作用・効果を実現することができる。すなわち、パーソナルコンピュータ９０において、ドットデータ格納部の必要容量を低減することができる。もちろん、印刷装置２０側は、ドットデータ格納部としてのメモリ領域を確保する必要はない。
【００８５】
Ｃ．変形例：
図１７〜図２２を参照して、上記実施例の変形例について説明する。変形例については、上述した実施例と異なる部分のみについて説明し、同一の部分については説明を省略する。
【００８６】
・第１変形例：
第１変形例における印刷処理では、１行誤差拡散法を実行する際に、乱数を用いる。図１７は、乱数を用いた１行誤差拡散法における誤差の配分の一例を示す説明図である。図１８は、乱数を用いた１行誤差拡散法について説明する説明図である。誤差拡散法を用いた場合、ドットパターンが周期性を持つことによって出力画像の画質が低下する場合があった。例えば、ドットパターンの周期性により、入力画像データには表現されていない周期的な模様が、出力画像上に現れてしまう場合があった。乱数を用いるのは、これらの不都合を抑制するためである。
【００８７】
乱数を用いた１行誤差拡散法について、具体的に説明する。ＣＰＵ３１は、１行誤差拡散法によりドットデータを生成する際（図９：ステップＳ２０４）、処理対象のラスタライン上の各出力画素のそれぞれに乱数Ｒを割り当てる（図１８参照）。乱数Ｒは、０または１のいずれかの値を有している。
【００８８】
ＣＰＵ３１は、第１実施例と同様に、ラスタライン上の出力画素について、左から右へ順番にドットデータを生成していく。ただし、第１実施例と異なり、ＣＰＵ３１は、着目画素の誤差を配分する際に、着目する出力画素に割り当てられた乱数Ｒを用いて、図１７に示す割合で配分する。図１７において、割り当てられた乱数Ｒが「１」であるとき、Ｒ-1は「０」である。一方、割り当てられた乱数Ｒが「０」であるとき、Ｒ-1は「１」である。ここで、異なるパスのために、同じラスタラインについてドットデータを複数回生成する際には、ＣＰＵ３１は、同じ出力画素には同じ乱数を割り当てる。以下、具体的に説明する。
【００８９】
図５に示す記録方式の場合、それぞれのラスタラインは、２つの異なるパスにおいて、記録対象とされる（例えば、有効記録範囲の一番上のラスタラインは、パス２とパス５において、記録対象にされる。）。ここで、あるラスタラインを記録対象にする２つのパスを、それぞれパスｎ、パスｍとする。図１８は、同じラスタラインについて、割り当てられる乱数Ｒと生成されるドットデータと出力画素の記録に使用されるドットデータとを、パスｎ（図１８（ａ））とパスｍ（図１８（ｂ））のそれぞれについて示している。図１８において、ハッチングされたドットデータは、それぞれのパスで、記録対象とされる出力画素のドットデータ（使用されるドットデータ）を示している。
【００９０】
ＣＰＵ３１は、図１８に示すように、パスｎとパスｍにおいて、同じ割り当て乱数Ｒを割り当てる。こうすれば、図１８（ａ）（ｂ）に示すように、パスｎにおいてそのラスタラインについて生成されるドットデータと、パスｍにおいてそのラスタラインについて生成されるドットデータが同じになる。このようにするのは、同じラスタラインについてパスごとに異なるドットデータが生成された場合、出力画像において、パスｎにおいて記録された画素とパスｍにおいて記録された画素との整合性がなくなり、画質が低下するおそれがあるからである。
【００９１】
その他にも、ドットデータを生成する際に、乱数を用いて画質劣化を抑制する方法は、種々考えられる。本変形例において、上述の方法に代えて、または、上述の方法と共に、乱数を用いる他の方法を用いても良い。例えば、各出力画素について取得した乱数Ｒを、しきい値Ｔｈ、または、画素データの値に加えて、誤差拡散法を実行しても良い。画素データの値に乱数Ｒを加える場合には、色変換前のＲＧＢデータの値に加えても良いし、色変換後のインク量を表す値に加えても良い。こうすれば、出力画像におけるいわゆるケタ落ちを目立たなくすることができ、出力画像の画質を向上しうる。ケタ落ちとは、出力画像において滑らかに色の濃度が変化するべき部分において、ある濃度（例えば、濃度１２８）を有する領域と、他の濃度（例えば、濃度１２７）を有する領域との境界線が画像に現れてしまう現象である。
【００９２】
本変形例によれば、上述した実施例と同様の作用・効果に加えて、上述したドットパターンの周期性による画質低下を抑制できる。
【００９３】
・第２変形例：
図１９は、第２変形例における印刷処理の処理ルーチンを示すフローチャートである。図２０は、第２変形例におけるドットデータ生成処理の処理ルーチンを示すフローチャートである。上記実施例では、図９を参照して説明したように、ドットデータ生成処理において、ラスタライン上の出力画素ごとに、取得された画素データを色変換していた（図９：ステップＳ２０２）。本変形例では、これに替えて、部分入力画像データを取得した後に、取得された部分入力画像データを構成する入力画素データをまとめて色変換する（図１９：ステップＳ１０３１）。そして、図２０に示すように、ドットデータ生成処理においては、色変換を実施する必要がない。
【００９４】
入力画像データが表す入力画像の解像度より出力画像の解像度が高く、１つの入力画素データＰｉｄと複数の出力画素Ｐｏが対応している場合には、上記実施例のように出力画素ごとに色変換を実行すると、同じ入力画素データＰｉｄの色変換を複数回実行することとなり、データ処理負荷が大きくなる。これに対して本変形例では、部分入力画像データをまとめて色変換するため、入力画素データＰｉｄごとに１回の色変換を実行するだけで良く、処理負荷が低くなる利点がある。
【００９５】
一方で、本変形例の場合、色変換後の部分入力画像データを、ＲＡＭ３３に一時的に格納しておく必要がある。ここで、色変換前の部分入力画像データより、色変換後の部分入力画像データの方がデータ量が増加する場合がある。例えば、色変換前の部分入力画像データを構成する入力画素データＰｉｄが２５６階調のＲＧＢデータである場合、色変換前の入力画素データＰｉｄ当たりのデータ量は３バイトである。一方、色変換後の入力画素データＰｉｄが２５６階調のインク量表色系で表されたデータである場合、色変換後の入力画素データＰｉｄ当たりのデータ量は、１バイト×印刷に用いるインク色の数となる。例えば、６色のインクを用いる場合には、色変換処理後の入力画素データＰｉｄ当たりのデータ量は６バイトとなり、色変換処理により部分入力画像データが２倍になる。この結果、本変形例では、部分入力画像データを格納するためのメモリ領域の容量が、上記実施例と比較して２倍必要となる。ただし、ＣＭＹコンポジット印刷のように、３色のインクを用いる場合には、色変換処理後の入力画素データＰｉｄ当たりのデータ量は３バイトであり、色変換前と比較してデータ量の増加はない。
【００９６】
このように、上記実施例のように対象出力画素ごとに対応する入力画素データＰｉｄの色変換を実行するか、本変形例のように部分入力画像データの段階で入力画素データＰｉｄの色変換を実行するかは、印刷に用いるインク色の数、ＲＡＭ３３の容量、ＣＰＵ３１の処理能力等を勘案して決定される。
【００９７】
さらに、上記実施例では、１回のパス処理ごとに、全てのインク色分（６色分）のドットデータをドットデータ格納部に格納した後に、駆動バッファ３７に出力していた（図１３参照）。本変形例では、これに替えて、図１９に示すように、ＣＰＵ３１は、処理対象のインク色を指定し（ステップＳ１０３２）、指定されたインク色分のドットデータのみを生成すると共にドットデータ格納部に格納する（ステップＳ１０４〜Ｓ１１０）。そして、ＣＰＵ３１は、指定されたインク色のドットデータについて駆動バッファ３７に出力（ステップＳ１１２）した後、ステップＳ１０３２に戻って、他のインク色について上述の処理（ステップＳ１０３２〜Ｓ１１２）を繰り返す（ステップＳ１１３）。
【００９８】
このように、１回のパス処理において、各インク色ごとに複数回（本実施例では、６回）に分けて、ドットデータを駆動バッファ３７に出力する。この結果、ドットデータ格納部は、１色分のドットデータを格納する容量を有していれば良いので、さらに、ドットデータ格納部の必要容量が低減される。
【００９９】
・第３変形例：
図２１は、第３変形例における実施例との相違点について示す説明図である。上記実施例では、出力画像の解像度が６００ｄｐｉ×６００ｄｐｉであり、入力画像の解像度が２００ｄｐｉ×２００ｄｐｉである場合のように、縦方向および横方向共に、入力画像の解像度が出力画像の解像度の整数分の１になっている場合について説明した。第３変形例では、入力画像の解像度が出力画像の解像度の整数分の１になっていない場合の処理について説明する。
【０１００】
第３変形例の第１の態様は、上記実施例において部分入力画像データを取得した段階で（図６：ステップＳ１０２）、取得した入力画像の解像度を、出力画像の整数分の１の解像度であって取得した入力画像の解像度に最も近い解像度に変換する。例えば、図２１（ａ）に示すように、出力画像の解像度が６００ｄｐｉ×６００ｄｐｉであり、取得した入力画像の解像度が１８０ｄｐｉ×１８０ｄｐｉである場合には、入力画像の解像度を２００ｄｐｉ×２００ｄｐｉに変換して、２００ｄｐｉ×２００ｄｐｉの部分入力画像データをＲＡＭ３３に格納する。こうすれば、以降の処理（図６：ステップ１０４以降の処理）を、上記実施例と同様に実行することができる。解像度を変換する方法は、ニアレストネイバ法等、種々の周知の方法を用いれば良い。
【０１０１】
第３変形例の第２の態様は、上記実施例において、ラスタラインを形成する各出力画素に対応する画素データを取得する（図９：ステップＳ２００）ときに、入力画素データＰｉｄを用いた補間処理を実行して画素データを取得する。例えば、図２１（ｂ）に示すように、出力画像の解像度が６００ｄｐｉ×６００ｄｐｉであり、取得した入力画像の解像度が１８０ｄｐｉ×１８０ｄｐｉである場合を考える。入力画素Ｐｉの境界上にある出力画素Ｐｏ（例えば、図２１（ｂ）で黒く塗りつぶされた出力画素Ｐｏ）に対応する画素データは、その出力画素Ｐｏに最も近い入力画素Ｐｉ（図２１（ｂ）でクロスハッチングされた入力画素Ｐｉ）を表す入力画素データＰｉｄとしても良い（ニアレストネイバ法）。また、その出力画素Ｐｏの周辺の入力画素Ｐｉ（図２１（ｂ）では、クロスハッチングおよびハッチングされた４つの入力画素Ｐｉ）を表す入力画素データＰｉｄの値を用いて、その画素に対応する画素データを線形補間により算出しても良い。
【０１０２】
・第４変形例：
図２２は、第４変形例における部分入力画像データの取得について示す説明図である。上記実施例では、部分入力画像データを取得する際（図６：ステップＳ１０２）に、帯状の矩形領域Ｌｉに対応する入力画像データを取得していた（図７参照）。かかる場合には、印刷記録方式によっては、必要のない入力画素データＰｉｄまで取得する場合がある。
【０１０３】
第４変形例では、１回のパスにおける記録対象ラスタラインごとに、それぞれ対応する入力画像における画素列を特定して、特定された画素列を表す入力画素データＰｉｄを、部分入力画像データとして取得する。例えば、図２２（ａ）に示すように、出力画像の解像度が６００ｄｐｉ×６００ｄｐｉ、入力画像の解像度が３００ｄｐｉ×３００ｄｐｉ、ノズルピッチが４である場合を考える。この場合、１回のパスを実行する際に必要な入力画素データＰｉｄは、入力画像において１列おきに配置された主走査方向の画素列に対応する入力画素データＰｉｄである。図２２（ａ）の例では、このパスにおいて必要な画素列はａ、ｃ、ｅ列であり、これらの列の間にあるｂ、ｄ列は必要ないことが解る。
【０１０４】
このような場合に、本態様によれば、部分入力画像データを取得する際に、記録対象ラスタラインごとに、それぞれ対応する入力画素データＰｉｄを取得するので、不必要な画素列を表す入力画素データＰｉｄを取得しない。この結果、上記実施例において取得される部分入力画像データ（図２２（ｂ）参照）よりも、本変形例において取得される部分入力画像データ（図２２（ｃ）参照）が小さくなる。この結果、部分入力画像データを格納するメモリの必要容量を低減することができる。
【０１０５】
以上、実施例、変形例に基づき本発明について説明してきたが、上記した発明の実施の形態は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明は、その趣旨並びに特許請求の範囲を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれる。
【図面の簡単な説明】
【０１０６】
【図１】第１実施例としての印刷装置の概略構成図。
【図２】印刷ヘッドの下面におけるノズル配列を示す説明図。
【図３】制御回路の内部構成を示す説明図。
【図４】データ処理部としての情報処理部４５の機能的構成を示すブロック図。
【図５】印刷装置の記録方式の一例を示す説明図。
【図６】印刷処理の処理ルーチンを示すフローチャート。
【図７】ｎ回目のパス処理において取得される部分入力画像データについて示す説明図。
【図８】パスｎにおける対象出力画素と、対応する入力画素Ｐｉを示す説明図。
【図９】ドットデータ生成処理の処理ルーチンを示すフローチャート。
【図１０】色変換テーブルＬＵＴの一例を示す説明図。
【図１１】１行誤差拡散法における誤差の配分の一例を示す説明図。
【図１２】ドットデータ格納部に格納されるドットデータを示す概念図。
【図１３】ドットデータの駆動バッファ３７への出力について説明する概念図。
【図１４】ヘッド駆動部がノズルを駆動するメカニズムを概念的に示した説明図。
【図１５】従来のドットデータの生成処理を実行するデータ処理部のＲＡＭの状態を示す説明図。
【図１６】第２実施例に係るデータ処理装置を含む印刷システムの概略構成図。
【図１７】乱数を用いた１行誤差拡散法における誤差の配分の一例を示す説明図。
【図１８】乱数を用いた１行誤差拡散法について説明する説明図。
【図１９】第２変形例における印刷処理の処理ルーチンを示すフローチャート。
【図２０】第２変形例におけるドットデータ生成処理の処理ルーチンを示すフローチャート。
【図２１】第３変形例における実施例との相違点について示す説明図。
【図２２】第４変形例における部分入力画像データの取得について示す説明図。
【符号の説明】
【０１０７】
２０…印刷装置
２１…キャリッジ
２１１…印刷ヘッド
２２…キャリッジモータ
２３…プラテン
２４…紙送りモータ
２５…摺動軸
２６…駆動ベルト
２７…プーリ
２８…位置センサ
２９…操作パネル
３０…制御回路
３１…ＣＰＵ
３２…ＰＲＯＭ
３３…ＲＡＭ
３４…カードスロット
３５…周辺機器入出力部
３７…駆動バッファ
３８…バス
３９…駆動波形生成回路
４０…ヘッド駆動部
４５…情報処理部
３８…プーリ
９０…パーソナルコンピュータ
９５…データ処理部
Ｍ１…部分入力画像データ取得部
Ｍ２…画素データ取得部
Ｍ３…ドットデータ生成部
Ｍ４…ドットデータ格納部
Ｍ５…ドットデータ出力部
Ｍ６…表色系変換部
ＬＵＴ…色変換テーブル
ＭＣ…メモリカード
Ｎｚ…ノズル
Ｐｉ…入力画素
Ｐｏ…出力画素
【図１】
2006175620.tif 000003
【図２】
2006175620.tif 000004
【図３】
2006175620.tif 000005
【図４】
2006175620.tif 000006
【図５】
2006175620.tif 000007
【図６】
2006175620.tif 000008
【図７】
2006175620.tif 000009
【図８】
2006175620.tif 000010
【図９】
2006175620.tif 000011
【図１０】
2006175620.tif 000012
【図１１】
2006175620.tif 000013
【図１２】
2006175620.tif 000014
【図１３】
2006175620.tif 000015
【図１４】
2006175620.tif 000016
【図１５】
2006175620.tif 000017
【図１６】
2006175620.tif 000018
【図１７】
2006175620.tif 000019
【図１８】
2006175620.tif 000020
【図１９】
2006175620.tif 000021
【図２０】
2006175620.tif 000022
【図２１】
2006175620.tif 000023
【図２２】
2006175620.tif 000024