画像処理装置、画像処理方法、および画像処理プログラム
【課題】印刷時における正確な色再現と処理の高速化とを実現できる画像処理装置、画像処理方法、および画像処理プログラムを提供すること。
【解決手段】プリンタードライバー300は、印刷データPDを構成する画素のうち、インデックス指定の画素については1次元色変換が行われる。インデックス指定の画素をラスタ方向に従って順次処理するとき、同じインデックスが指定された連続する複数の画素のうち、ラスタ方向に先頭の画素については1次元色変換を行い、求められたインク量セットに対してドット生成率変換、量子化を行う。一方、先頭画素と同じインデックスが指定された先頭以降の画素については、先頭画素について求めたドット生成率を量子化することによって、先頭画素と重複する処理を省略する。これにより、印刷のための処理を高速化するとともに、インデックスに指定されたインク量セットに従うことで色再現に優れた印刷を実現する。
【解決手段】プリンタードライバー300は、印刷データPDを構成する画素のうち、インデックス指定の画素については1次元色変換が行われる。インデックス指定の画素をラスタ方向に従って順次処理するとき、同じインデックスが指定された連続する複数の画素のうち、ラスタ方向に先頭の画素については1次元色変換を行い、求められたインク量セットに対してドット生成率変換、量子化を行う。一方、先頭画素と同じインデックスが指定された先頭以降の画素については、先頭画素について求めたドット生成率を量子化することによって、先頭画素と重複する処理を省略する。これにより、印刷のための処理を高速化するとともに、インデックスに指定されたインク量セットに従うことで色再現に優れた印刷を実現する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、印刷用の画像処理を行う画像処理装置、画像処理方法、および画像処理プログラムに関する。
【背景技術】
【0002】
従来、インク等の色材のドットを複数のドットサイズで形成するインクジェット方式の印刷においては、印刷の対象とする印刷データに対して、色材の色に対応する色表現のデータに変換する色変換と、各色の色材についてドットサイズごとのドット生成率に変換するドットサイズ変換とが順番に行われる。例えば、印刷データが、R(レッド)G(グリーン)B(ブルー)形式のデータであり、C(シアン)M(マゼンタ)Y(イエロー)K(ブラック)の各色の色材を使用して大ドット、中ドット、小ドットによるカラー印刷を行う場合、RGB形式の印刷データをCMYK形式のデータに色変換した後、各色についてドットサイズ変換が行われる。そして、各ドットサイズのドット生成率に従いドットサイズを制御したドットを用紙表面に形成することによって、印刷が行われる。
【0003】
また、印刷にて正確な色再現を実現するため、指定の色を再現するために使用すべき色材量の組み合わせに対応したインデックスを印刷データの画素ごとに指定することがある。印刷の際、印刷データの画素からインデックスを読み出し、所定のテーブルを参照してインデックスに対応する色材量分の色材を使用した印刷を実行することによって、指定の色を正確に再現することができる。こうしたインデックスを用いた印刷は、色見本の印刷等、厳密な色再現が要求される用途に主に用いられる。
【0004】
なお、色変換の処理を高速化する技術として、画像データが表す画像のうち同じRGB値が連続する部分に対して、連続した部分のうちの1画素についてRGB値をCMYK値に変換し、変換結果のCMYK値を他の画素に割り当てることがある(例えば、特許文献1参照)。この技術によれば、同じ色変換の処理の繰り返しを省略し、色変換の処理の高速化を図ることができる。
【0005】
【特許文献1】特開2004−54653号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
しかしながら、上述した特許文献1に記載の技術は、色変換の処理を高速化しようとするものであり、ドットサイズ変換の処理を高速化しようとするものではない。このため、インデックスが指定された画像データの印刷を複数のドットサイズのドットを形成して行う場合に、ドットサイズ変換を高速化することができず、正確な色再現と高速な処理速度とを兼ね備えた印刷用の画像処理を実現することができなかった。
【課題を解決するための手段】
【0007】
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の形態または適用例として実現することが可能である。
【0008】
[適用例1]印刷にて使用される複数の色材について、指定の色を再現させる色材量の組み合わせに対応するインデックスが指定された第1の画素を含む画像を印刷の対象とする印刷データを取得する印刷データ取得部と、前記第1の画素についてのインデックスを、各色材の色材量に変換する第1の色変換部と、前記第1の画素についての色材量から、印刷にて形成される複数のドットサイズの各ドットサイズについてドット生成量を求めるドット生成量取得部と、前記各ドットサイズのドット生成量に基づき、前記第1の画素について、各ドットサイズのドットの有無に対応する量子化データを生成する量子化処理部とを備え、前記印刷データは、前記第1の画素と同じインデックスが指定された第2の画素をさらに含み、前記量子化処理部は、前記第1の画素について求められたドット生成量に基づいて、前記第2の画素についての量子化データを生成することを特徴とする画像処理装置。
【0009】
この構成によれば、第1の画素と同じインデックスが指定された第2の画素については、インデックスを各色材の色材量に変換してドット生成量を求めることなく、第1の画素について求めたドット生成量から量子化データが生成される。このため、量子化データを求めるための処理量が低減することとなり、処理を高速化できる。また、第1の画素および第2の画素においては、インデックスによって直接指定された色材量から量子化データが求められるので、この量子化データによれば正確な色再現の印刷が可能となる。したがって、印刷時における正確な色再現と処理の高速化と兼ね備えた処理を実現することができる。
【0010】
[適用例2]上記画像処理装置において、前記画像データの第1の画素は、前記第2の画素を特定する特定情報を有し、前記第1の色変換部は、前記特定情報に基づき特定される画素について変換の処理を行うことなく、前記量子化処理部は、前記第1の画素におけるドット生成量を、前記特定情報に基づき特定される画素のドット生成量に適用して、当該適用したドット生成量に基づいて前記量子化データを生成することを特徴とする画像処理装置。
【0011】
この構成によれば、画像データの特定情報に基づいて第2の画素を特定し、処理の高速化を実現することができる。
【0012】
[適用例3]上記画像処理装置において、前記特定情報は、前記第1の画素と同じインデックスが指定された第2の画素が、前記第1の色変換部が処理する画素順に前記第1の画素から連続する画素数を示し、前記量子化処理部は、前記第1の画素から前記画素順に前記特定情報に基づく数の画素について、前記第1の画素についてのドット生成量を当該画素のドット生成量に適用して、当該適用したドット生成量に基づいて前記量子化データを生成することを特徴とする画像処理装置。
【0013】
この構成によれば、特定情報に示される画素数分、第1の画素から連続する第2の画素への処理量が低減することとなり、処理の高速化を実現できる。
【0014】
[適用例4]上記画像処理装置において、前記画像データは、印刷すべき色を階調表現する色情報が指定された第3の画素をさらに含み、前記第3の画素についての色情報を、各色材の色材量に変換する第2の色変換部をさらに備えることを特徴とする画像処理装置。
【0015】
この構成によれば、インデックスが指定された第1の画素および第2の画素、並びに印刷すべき色が階調表現された第3の画素とが混在する画像データを高速に処理することができることになる。
【0016】
[適用例5]上記画像処理装置において、前記画像データは、前記インデックスまたは前記色情報のいずれのデータを有する画素であるかを示すデータ種別情報を画素ごとに有し、前記データ種別情報に基づいて、前記インデックスのデータ種別の画素には前記第1の色変換部が処理を行い、前記色情報のデータ種別の画素には前記第2の色変換部が処理を行うことを特徴とする画像処理装置。
【0017】
この構成によれば、画像データの種別情報に従って画素ごとにデータ種別に対応する処理が行われるので、第1の画素、第2の画素、および第3の画素を含む画像データを適宜、高速に処理することができる。
【0018】
[適用例6]上記画像処理装置において、前記量子化データに基づいて、印刷を制御する印刷制御部をさらに備えることを特徴とする画像処理装置。
【0019】
この構成によれば、色再現に優れた印刷をより高速に行うことができる。
【0020】
[適用例7]印刷にて使用される複数の色材について、指定の色を再現させる色材量の組み合わせに対応するインデックスが指定された第1の画素を含む画像を印刷の対象とする印刷データを取得するステップと、前記第1の画素についてのインデックスを、各色材の色材量に変換するステップと、前記第1の画素についての色材量から、印刷にて形成される複数のドットサイズの各ドットサイズについてドット生成量を求めるステップと、前記各ドットサイズのドット生成量に基づき、前記第1の画素について、各ドットサイズのドットの有無に対応する量子化データを生成するステップとを有し、前記印刷データは、前記第1の画素と同じインデックスが指定された第2の画素をさらに含み、前記第1の画素について求められたドット生成量に基づいて、前記第2の画素についての量子化データを生成することを特徴とする画像処理方法。
【0021】
このようにすれば、印刷時における正確な色再現と処理の高速化と兼ね備えた処理を実現することができる。
【0022】
[適用例8]複数の色材を使用し、複数のドットサイズのドットを形成して印刷するための画像処理プログラムであって、コンピューターを、指定の色を再現させる色材量の組み合わせに対応するインデックスが指定された第1の画素を含む画像を印刷の対象とする印刷データを取得する印刷データ取得部と、前記第1の画素についてのインデックスを、各色材の色材量に変換する第1の色変換部と、前記第1の画素についての色材量から、印刷にて形成される複数のドットサイズの各ドットサイズについてドット生成量を求めるドット生成量取得部と、前記各ドットサイズのドット生成量に基づき、前記第1の画素について、各ドットサイズのドットの有無に対応する量子化データを生成する量子化処理部、として機能させ、前記印刷データは、前記第1の画素と同じインデックスが指定された第2の画素をさらに含み、前記量子化処理部は、前記第1の画素について求められたドット生成量に基づいて、前記第2の画素についての量子化データを生成することを特徴とする画像処理プログラム。
【0023】
この画像処理プログラムによれば、印刷時における正確な色再現と処理の高速化と兼ね備えた処理を、コンピューターによって実現することができる。
【発明を実施するための最良の形態】
【0024】
以下、本発明の実施の形態について実施例に基づいて説明する。
【0025】
(第1実施例)
図1は、第1実施例にかかる画像処理装置のハードウェア構成を示している。画像処理装置の一例であるコンピューター10は、プリンター20による印刷の制御装置であり、図1に示すように、CPU11と、RAM12と、ROM13と、ハードディスクドライブ14と、汎用I/F15と、ビデオI/F16と、入力I/F17と、バス18等から構成されている。バス18は、コンピューター10を構成する各要素11〜17の間でのデータ通信を実現するものであり、図示しないチップセット等によって通信が制御される。
【0026】
ハードディスクドライブ14には、プリンタードライバーのドライバープログラム(画像処理プログラム)DPの他、アプリケーションやオペレーティングシステム(以下、「OS」という)等の各種プログラムが記憶されている。なお、ドライバープログラムDPは、フレキシブルディスク、CD−ROMやDVD−ROM等の光ディスク、光磁気ディスク、メモリーカード、携帯型ハードディスク等、コンピューター読み取り可能な種々の記録媒体に記録された形態でコンピューター10に供給される。記録媒体に記録されたドライバープログラムDPは、コンピューター10に備わるドライブ装置(図示なし)等によって読み出され、ハードディスクドライブ14に記録されている。もっとも、ハードディスクドライブ14への記録方法としてはこれに限られることなく、コンピューター10が、インターネット等のネットワークを介して所定のサーバーからハードディスクドライブ14にドライバープログラムDPをダウンロードしていてもよい。
【0027】
汎用I/F15は、例えばUSB規格に準じたインターフェイスを提供するものであり、外部のプリンター20が接続されている。ビデオI/F16には外部のディスプレー30が接続されており、ビデオI/F16は、ディスプレー30に画像を表示するためのインターフェイスを提供する。入力I/F17には外部のキーボード40とマウス50が接続されており、入力I/F17は、キーボード40とマウス50からの入力信号をコンピューター10が取得するためのインターフェイスを提供する。
【0028】
なお、本実施例では、プリンター20はインクジェット方式の印刷を行い、特に、C(シアン)M(マゼンタ)Y(イエロー)K(ブラック)の各色のインク(色材)を吐出して、例として大・中・小の3種類のドットサイズのドットを選択的に印刷用紙上に形成するものとして以下の説明を行う。もっとも、本実施例ではCMYKのインクセットを使用する場合を例にして説明するが、インクセットについてはこれに限られるものではなく、例えば、R(レッド)、B(ブルー)、lc(ライトシアン)、lm(ライトマゼンタ)等のインクをさらに含む構成としてもよい。
【0029】
次に、コンピューター10のソフトウェア構成について説明する。図2は、コンピューター10のソフトウェア構成を示す図である。図2に示すように、コンピューター10は、ソフトウェア構成として、OS100と、アプリケーション200と、プリンタードライバー300と、ディスプレードライバー400とを有する。これらの各ソフトウェア構成は、ハードディスクドライブ14に記録されたプログラムをCPU11が実行することにより機能している。特に、プリンタードライバー300は、CPU11が、ハードディスクドライブ14からドライバープログラムDPを読み出して実行することにより機能している。
【0030】
OS100は、アプリケーション200や各ドライバー300,400が利用可能なAPI(Application Programming Interface)の1つとしての画像機器インターフェイス(以下、「GDI(Graphical Device Interface)」という)110と、スプーラー120を提供している。アプリケーション200からの要求に応じてGDI110が呼び出され、さらにGDI110の要求に応じてプリンタードライバー300やディスプレードライバー400が呼び出される。GDI110は、コンピューター10がプリンター20やディスプレー30等の画像出力装置による画像出力を制御するための汎用的な仕組みを提供する。そして、プリンタードライバー300はプリンター20の機種に固有の処理等を司り、ディスプレードライバー400はディスプレー30の機種に固有の処理等は司る。スプーラー120は、アプリケーション200やプリンタードライバー300やプリンター20の間に介在し、ジョブのコントロール等を実行する。
【0031】
アプリケーション200は、例えば、色見本のチャートを印刷するための見本印刷アプリケーションであり、キーボード40やマウス50等へのユーザー操作に従って印刷データPDを生成する。例えば、ユーザーによって任意に入力された内容の画像や予め登録された色見本の画像等が、アプリケーション200によって印刷対象の印刷データPDとされる。
【0032】
ここで、印刷データPDのデータ構造について説明する。印刷データPDはビットマップデータであり、マトリクス状に配列された多数の画素によりビットマップ画像を表現している。また、本実施例では、印刷データPDの1画素に4バイトの情報量が割り当てられ、各画素にはRGB値またはインデックスのいずれかの画素データが格納される。すなわち、印刷データPDの各画素は、RGB値またはインデックスのいずれかによって印刷すべき色が指定されている。
【0033】
図3(a)に、RGB値指定の画素のデータ形式を示す。図3(a)に示すように、RGB値指定の画素(第3の画素)の画素データは、データの0バイト目にデータ種別フラグFが設定される。このデータ種別フラグFは、RGB値指定の画素、またはインデックス指定の画素のいずれの画素であるかを示している。RGB値指定の画素では、データ種別フラグFは「0」とされる。そして、続く1バイト目にはR値、2バイト目にはG値、3バイト目にはB値が格納される。すなわち、RGB値指定の画素では、上述した4バイトのうち3バイトがRGB値を格納するために使用され、RGB各チャネルの階調値はそれぞれ8ビット(256階調)で階調表現される。
【0034】
図3(b)に、インデックス指定の画素のデータ形式を示す。図3(b)に示すように、インデックス指定の画素の画素データの0バイト目には、データ種別フラグFとして「1」が設定される。続く、1バイト目には、同一のインデックスを指定した画素が連続して繰り返される画素数を示す繰り返し数情報(特定情報)KDが格納され、2バイト目にはインデックスの上位8ビット、3バイト目にはインデックスの下位8ビットが格納される。すなわち、インデックス指定の画素では、合計16ビットのインデックスを格納するために上述した4バイトのうち2バイトが使用され、残る1バイト分を繰り返し情報に使用している。なお、インデックスとは、指定の色を再現するために使用すべき各色インクの使用量を示すインク値の組み合わせ(以下、「インク量セット」という)に予め対応させたものである。このインクデックスの組み合わせは、例えば、プリンターメーカーが予め設定したり、ユーザーが所望の組み合わせを追加したりすることによって、後述する1次元色変換テーブル331に予め登録されている。
【0035】
もっとも、印刷データPDのデータ構造としては上述した構成に限られるものではない。例えば、上述した図3(b)の例では、0バイト目の全8ビットのうち1ビットがデータ種別フラグFとして使用され、残る7ビットについては未使用である。そこで、0バイト目の残された7ビット分と1バイト目の8ビット分の合計15ビットを使用して繰り返し数情報を格納する構成としてもよい。また、0バイト目の8ビットのうち、データ種別フラグFを格納する位置としては、図3の例に限られることなく、例えば、0バイト目の先頭ビット等、0バイト目の8ビットのうちのどのビットにデータ種別フラグFを割り当ててもよい。
【0036】
さらに、0バイト目〜3バイト目のどのバイトにデータ種別フラグFを割り当てるかについても、図3の例に限られない。例えば、図4(a)に示すように、0バイト目に繰り返し数情報KD、1バイト目および2バイト目にインデックスを格納して、3バイト目のいずれかのビットにデータ種別フラグFを割り当てたデータ構成としてもよい。また、図4(b)に示すように、0バイト目に繰り返し数情報KD、2バイト目および3バイト目にインデックスを格納して、1バイト目のいずれかのビットにデータ種別フラグFを割り当てたデータ構成としてもよい。なお、こうして、インデックス指定のデータ形式についてデータ種別フラグFを割り当てる場所を変更した場合には、RGB値指定のデータ形式についても同様にデータ種別フラグFを割り当てる場所を変更しておくことが望ましい。両方のデータ形式に対して同様の処理によって、データ種別フラグFを読取可能となるからである。
【0037】
印刷データPDの構造について、具体例を用いてさらに説明する。図5(a)に印刷データPDが表す画像の一例を示す。図5(a)では、RGB値指定の画素を白地、インデックス指定の画素を斜線で示しており、図示するように、印刷データPDが表す画像Gは、RGB値指定の画素とインデックス指定の画素とから構成されている。なお、図5の例では、画素P3〜P5の3つの画素に指定されるインデックスは同一としている。
【0038】
プリンタードライバー300による後述する色変換、ドットサイズ変換および量子化の処理は、ラスタ方向に従って行われる。すなわち、印刷データPDの画像左端上の画素から右端の画素に向かって順次処理が行われ、右端の画素に至ると画素1つ分下の行の左端の画素に戻って、右端の画素に向かう方向に従って処理が行われる。図5(b)には、印刷データPDが表す画像のうち、ラスタ方向に連続した画素P1〜P8についてのデータ例を示している。図5(b)の例では、画素P1はRGB値指定の画素であるため、データの0バイト目にはデータ種別フラグFとして「0」、1〜3バイト目にRGB値が格納されている。画素P2、P6〜P8についても、同様に、0バイト目にデータ種別フラグFが「0」、1〜3バイト目にRGB値が格納されている。
【0039】
一方、画素(第1の画素)P3については、インデックス指定の画素であるため、0バイト目にはデータ種別フラグFとして「1」、1バイト目には繰り返し数情報KDが格納される。この繰り返し数情報KDは、自身の画素と同一のインデックスを指定する画素がラスタ方向に連続する画素数を示すものである。図5(a)の場合、画素P3〜P5の3つの画素について同一のインデックスであるので、先頭となる画素P3の1バイト目には繰り返し数情報KDとして「3」が格納される。そして、続く2バイト目には、指定の色に対応するインデックスの上位8ビット、3バイト目にはインデックスの下位8ビットのデータが格納される。この画素P3の画素情報によって、3つの画素P3〜P5に対して同一のインデックスが指定される。
【0040】
インデックス指定の画素のうち、先頭の画素P1からラスタ方向に連続する画素(第2の画素)P4、P5については、画素P3の画素情報によってインデックスが指定済であり、さらにインデックスを指定する必要がないため、上述した4バイトの領域には「0」が格納され、未入力の状態とされる。
【0041】
上述した構成を有する印刷データPDは、OS100が提供するGDI110やスプーラー120を経由してアプリケーション200からプリンタードライバー300に出力される。
【0042】
次に、プリンタードライバー300について説明する。図2に示すように、プリンタードライバー300は、印刷データ取得部310と、データ種類判定部320と、1次元色変換部(第1の色変換部)330と、3次元色変換部(第2の色変換部)340と、ドットサイズ変換部(ドット生成量取得部)350と、ハーフトーン処理部(量子化処理部)360と、ラスタ化処理部(印刷制御部)370とを含む。
【0043】
印刷データ取得部310は、アプリケーション200から印刷データPDを取得する。また、印刷データ取得部310は、必要に応じて、印刷データPDを印刷解像度に対応する解像度のデータに変換する処理を行う。
【0044】
データ種類判定部320は、印刷データPDに含まれるデータ種別フラグFを参照して、印刷データPDの画素ごとにRGB値指定の画素またはインデックス指定の画素のいずれであるかを判断する処理を行う。
【0045】
1次元色変換部330は、インデックス指定の画素について、インク量セットに色変換する処理(分版)を行う。1次元色変換は、インデックスと各色のインク値とを対応付けた1次元色変換テーブル(以下、「1D−LUT」という)331に従って行われる。図5に例として示すように、1D−LUT331では、16ビットで表されるインデックスの番号と、インクセットの各色について8ビットのインク値(本実施例では、C値、M値、Y値、K値)とが対応付けられている。この1D−LUT331は、ハードディスクドライブ14等に予め格納され、1次元色変換部330は、1D−LUT331に従って、画素に指定されたインデックスを各色インクのインク値、すなわちインク量セットに変換する。
【0046】
3次元色変換部340は、RGB値指定の画素について、指定のRGB値をインク量セットに色変換する処理(分版)を行う。このときの色変換は、RGB値とインク量セットとを対応付けた3次元色変換テーブル(以下、「3D−LUT」という)341に従って行う。3D−LUT341は、RGB値と各色のインク量セットとの対応関係を色空間における複数の代表的な座標について記述したテーブルであり、色の再現性、階調性、ガマット、インクデューティ等の特性が総合的に良好となるようRGB値とインク量セットとが予め対応付けられている。この3D−LUT341は、ハードディスクドライブ14等に予め格納されており、3次元色変換部340は、3D−LUT341に従って、画素に指定されたRGB値をインク量セットに変換する。なお、3次元色変換の際、3次元色変換部340は、3D−LUT341に直接記述されていないRGB値については補間演算を行うことにより、インク量セットへの変換が行われる。
【0047】
ドットサイズ変換部350は、インク量セットの各インク値を、各ドットサイズのドット生成量を示すドット生成率に変換する処理を行う。このドット生成率変換は、ドット生成率変換テーブル351に従って行われる。図7にドット生成率変換テーブル351の一例を示す。図示するように、ドット生成率変換テーブル351は、256階調(8ビット)の各インク値と、小ドット、中ドット、大ドットの各ドット生成率とが対応付けられている。このドット生成率変換テーブル351では、インク値が小さい範囲では小ドットによる画像形成が支配的となって、インク値が大きい範囲では大ドットによる画像形成が支配的となるように設定されている。これにより、低濃度の画像形成で発生する粒状感を抑制するとともに、高濃度の画像形成を少ないドット数で行うことができ、高画質且つ高速な印刷が実現されるようになっている。ドット生成率変換テーブル351は、ハードディスクドライブ14等に予め格納されており、ドットサイズ変換部350は、ドット生成率変換テーブル351を参照して、各色インク値を各ドットサイズのドット生成率に変換する。
【0048】
ハーフトーン処理部360は、ドットサイズ変換部350により求められたドット生成率に対してハーフトーン処理を行い、各ドットサイズについてドットの有無を示す量子化データに変換する。
【0049】
ラスタ化処理部370は、量子化データをラスタ化して、プリンター20が処理可能な印刷制御データCDを生成する。そして、生成した印刷制御データCDをOS100が提供するスプーラー120を介してプリンター20に出力することにより、当該印刷制御データCDに基づくプリンター20の動作を制御して、見本チャートを印刷用紙上に印刷させる。
【0050】
ここで、上述した1次元色変換部330およびドットサイズ変換部350は、ラスタ方向に従って印刷データPDの画素を順次処理するとき、繰り返し数情報KDが示す画素数分の画素に対しては先頭の画素についてのみ処理を行う。すなわち、先頭の画素については1次元色変換およびドットサイズ変換の処理を行い、先頭の画素に続く画素については1次元色変換およびドットサイズ変換の処理を行わない。そして、ハーフトーン処理部360は、先頭の画素について求められたドット生成率を、先頭の画素に続く繰り返し数分の画素に適用するようにして、先頭の画素を含めた繰り返し数分の画素に対しては同じドット生成率を適用して量子化データへの変換を行う。これにより、1次元色変換およびドット生成率変換に要する処理量の低減を図る。
【0051】
次に、コンピューター10がプリンター20の印刷を制御する処理についてフローチャートに従って説明する。図8,9は、印刷制御処理の流れを示すフローチャートである。処理を開始して、プリンタードライバー300の印刷データ取得部310がアプリケーション200から印刷データPDを取得すると(ステップS100)、データ種類判定部320は、印刷データPDを構成する画素のうちからラスタ方向に従う1つの画素を選択して注目画素とする(ステップS110)。
【0052】
次に、データ種類判定部320は、印刷データPDから注目画素のデータ種別フラグFを読み取り(ステップS120)、データ種別フラグFが「1」になっているか否かを判断する(ステップS130)。
【0053】
読み取ったデータ種別フラグが「0」であった場合(ステップS130:No)、注目画素はRGB値指定の画素であると判断され、当該画素については3次元色変換が行われる。3次元色変換部340は、印刷データPDから注目画素のRGB値を読み取り(ステップS140)、3D−LUT341に従って3次元色変換処理を行うことにより、注目画素のRGB値がインク量セットに変換される(ステップS150)。そして、ドットサイズ変換部350は、ドット生成率変換テーブル351に従ってインク量セットを各ドットサイズのドット生成率に変換し(ステップS160)、ハーフトーン処理部360はドット生成率をドットの有無に対応した量子化データに量子化する(ステップS170)。この量子化は、ディザ法や誤差拡散法等のハーフトーン処理により行われる。例えば、ディザ法によるハーフトーン処理を行う場合であれば、ディザマトリクスで指定される閾値とドット生成率とを比較して、ドット生成率が閾値より大きいか否かに応じてドットの有無が定められる。
【0054】
次に、ラスタ化処理部370は、印刷データPDの全画素について処理を終了したか否かを判断する(ステップS180)。未処理の画素が残っていない場合(ステップS180:No)、ステップS110に戻り、ラスタ方向に従う次の画素に注目して処理を繰り返す。図5に示した例の場合、上述したステップS130〜S180の処理により、画素P1〜P8のうち画素P1から処理が開始され、画素P1,P2のそれぞれについて、3次元色変換、ドット生成率変換、量子化の処理が順次行われる(図10(a)参照)。
【0055】
一方、ステップS130の判断において、読み取ったデータ種別フラグが「1」であった場合(ステップS130:Yes)、注目画素はインデックス指定の画素であると判断される。この場合、1次元色変換部330は、印刷データPDから注目画素のインデックスと繰り返し数情報KDとを読み取り(ステップS200)、1D−LUT331に従い1次元色変換処理を行う(ステップS210)。この1次元色変換処理により、注目画素に指定されたインデックスがインク量セットに変換される。そして、ドットサイズ変換部350は、ドット生成率変換テーブル351に従って、インク量セットのインク値を各ドットサイズのドット生成率のデータに変換し(ステップS220)、ハーフトーン処理部360によって、注目画素について量子化の処理が行われる(ステップS230)。図5の例では、画素P1,P2の次に注目画素とされる画素P3、すなわち同じインデックス指定の画素P3〜P5のうちの先頭画素について、1次元色変換、ドット生成率変換、量子化の処理が順に行われる(図10(b)参照)。
【0056】
次に、ステップS200にて読み取った繰り返し数情報KDに規定される画素数分の画素について、ステップS230の量子化を行ったか否かを判断する(ステップS240)。繰り返し数分の画素について量子化を行っていなければ(ステップS240:No)、ラスタ方向に従う次の画素を選択して新たな注目画素とする(ステップS250)。そして、ステップS220にて求めたドット生成率を当該新たな注目画素に適用して(ステップS260)、量子化する(ステップS230)。これにより、図5の例であれば、同じインデックスが指定された先頭の画素P3の次に注目される画素P4については、画素P3と同じドット生成率が適用されて、画素P4についての量子化が行われる。その後、同様にして、画素P5についても画素P3と同じドット生成率が適用されて、画素P5について量子化の処理が行われる(ステップS230、図10(c)参照)。こうして、繰り返し数の画素数分、ステップS230〜S260の処理を繰り返すことにより、先頭画素以降の画素については、先頭画素のドット生成率を適用することによって、新たに1次元色変換およびドット生成率変換の処理を行うことなく量子化の処理がなされる。すなわち、繰り返し数情報KDに指定された3つの画素P3,P4,P5に対して、1次元色変換およびドット生成率変換の処理を一度行うだけで済むことになる。そして、繰り返し数の画素数分、量子化が行われると(ステップS240:Yes)、ステップS180に進む。
【0057】
ステップS180の判断において、印刷データPDを構成する全画素について処理を終了したと判断すると(ステップS180:Yes)、ステップS190に進む。ステップS190では、ラスタ化処理部370は、量子化データのドット有りの画素に応じて、インクを吐出させる吐出信号をプリンター20が有する印刷ヘッドの各走査パスおよび各ノズルに割り振る処理を実行する。これにより、プリンター20が処理可能な印刷制御データCDが生成される。そして、生成された印刷制御データCDは、プリンター20の制御に必要な信号が添付された状態でスプーラー120を介してプリンター20に出力され、プリンター20による印刷が実行される。こうして印刷が実行されると、印刷制御処理を終了する。
【0058】
以上に説明したように、本実施例では、印刷データPDに含まれる繰り返し数情報KDに基づいて、ラスタ方向に連続して且つ同じインデックスの色が指定された複数の画素のうち、先頭の画素(図5の例では画素P3)についてのみ1次元色変換、ドット生成率変換および量子化の処理が行われる。そして、先頭画素以降の画素(図5の例では画素P4,P5)については、新たに1次元色変換、ドット生成率変換を行うことなく、先頭の画素についてのドット生成率を用いて量子化が行われる。すなわち、同じインデックスの色が指定された複数の画素のうち、1次元色変換とドット生成率変換の処理が実際に行われるのは先頭の画素のみとなる。したがって、インデックスでインク量セットが指定された印刷データPDに対する処理量が低減することとなり、印刷制御の処理の高速化が実現される。
【0059】
また、印刷データPDを構成する画素のうち、インデックス指定の画素については、インデックスによってインク量セットが直接指定されているため、RGB値によって色を指定する場合に比べると3次元色変換の補間処理に伴う変換誤差等の影響を受けることがなく、より正確な色再現を実現できる。したがって、正確な色再現および高速な処理速度を兼ね備えた印刷制御が可能となる。
【0060】
(第2実施例)
上記第1実施例では、図6に示すように、各色256階調(8ビット)のインク量セットに対応する1D−LUT331を用いて、インデックスを256階調のインク値に変換するようにした。インク量セットのインク値を16ビットとして、16ビットのインク値を割り当てたインデックスを1D−LUTに登録しておくことによって、より階調性に優れた高画質な印刷を実現することが可能である。第2実施例では、図11に示すように、1D−LUT330bにおいて、各インデックスに8ビットまたは16ビットのいずれかが割り当てられた場合の処理について説明する。なお、以下では、第1の実施例と同様の構成については同じ符号を付与し、詳細な説明は省略する。
【0061】
第2実施例の処理の流れについて、図12のフローチャートに従って説明する。なお、第1実施例におけるステップS100〜S190の処理については第2実施例においても同様であるため詳細な説明は省略し、インデックスが指定された注目画素に対して行う処理について説明することとする。
【0062】
ステップS130の判断において、注目画素にインデックスが指定されていると判断すると(ステップS130:Yes)、ステップS300に処理が進む。そして、インデックスが指定された注目画素について、印刷データPDからインデックスと繰り返し数情報KDを読み取り(ステップS300)、1D−LUT330bに従う1次元色変換(ステップS310)を行う。その後、変換したインク量セットのインク値が16ビットデータであるか否かを判断する(ステップS320)。インク値が16ビットデータでなく、8ビットデータであれば(ステップS320:No)、上記実施例と同様に、1D−LUT330bに従ってインク量セットを各ドットの生成率に変換する(ステップS330)。
【0063】
インク値が16ビットデータであれば(ステップS320:Yes)、ステップS340に進んで、16ビット精度のドット生成率を求めるための補間処理を行う。
【0064】
具体的には、ステップS340に処理が進むと、インク量セットの各インク色について下位8ビット分を切り捨てた上位8ビットのインク量セットからドット生成率を取得する。これにより、図13に例として示すように、16ビット精度のインク値Cに対して、ドット生成率変換テーブル351に対応する8ビット精度のインク値Lからドット生成率が求められる。そして、下位8ビット分を切り上げた上位8ビットのインク値からドット生成率を取得する(ステップS350)。ここでは、図13に示すように、8ビット精度のインク値Hからドット生成率が求められる。
【0065】
次に、インク値Lのドット生成率とインク値Hのドット生成率とを補間して、16ビット精度のインク値Cに対応するドット生成率を算出する(ステップS360)。例えば、インク値の下位8ビットを用いて線形補間等の手法を用いて補間することによって16ビット精度のドット生成率を得ることができる。
【0066】
ステップS330またはステップS360にてドット生成率が求まると、ステップS370に進んで量子化を行う。ステップS370以降の処理については、上記実施例におけるステップS230〜S250と同様であるため、説明を省略する。
【0067】
上述した第2実施例によれば、インデックスによって各インク色が16ビット精度となるインク量セットが指定された場合に、8ビットに対応するドット生成率変換テーブル351に従って16ビット精度のドット生成率を得ることができる。したがって、より階調性に優れ、高画質な印刷を実現することができる。また、ドット生成率変換テーブル351は依然として8ビットに対応したものであるため、ドット生成率変換テーブル351を格納するために使用するメモリ容量を増やすことなく、16ビット精度の処理に対応させることが可能である。
【0068】
以上、第1実施例および第2実施例について説明したが、これに限られることなくその趣旨に逸脱しない様々な形態としてもよい。以下、変形例について説明する。
【0069】
(変形例1)
上記第1実施例および第2実施例では、印刷データPDの画素に繰り返し数情報KDを設定することにより、同じインデックスが指定された画素を特定するようにしたが、同じインデックスが指定された画素を特定する方法としてはこれに限られない。例えば、繰り返し数情報KDではなく、ラスタ方向の順番に従う前または後の画素と同じインデックスが指定されているかを示すフラグを用いてもよい。例えば、図14に示すように、同じインデックスが指定される3つの画素P3〜P5のうち、画素P3については、インデックスを指定した旨を示すデータ種別フラグ「1」を設定し、画素P4,P5についてはラスタ方向に前方の画素と同じインデックスを指定する旨を示すデータ種別フラグ「2」を設定しておく。印刷制御処理において、データ種別フラグ「2」が設定された画素については、データ種別フラグ「1」が設定された前方の画素について求めたドット生成率を適用して量子化することにより、処理を高速化できる。
【0070】
(変形例2)
上記第1実施例および第2実施例では、繰り返し数情報KDが設定された印刷データPDを、アプリケーション200が生成する場合を例にして説明したが、印刷データに対してプリンタードライバー300が繰り返し数情報KDを付加する構成としてもよい。すなわち、アプリケーション200は、繰り返し数情報KDが未設定であるビットマップ形式の印刷データPD’(図15(a)参照)を生成する。プリンタードライバー300の印刷データ取得部310は印刷データPD’を解析して、同じインデックスが指定された複数の画素のうち、先頭の画素に対して繰り返し数情報KDを設定することにより、印刷データPDを取得する(図15(b)参照)。そして、印刷データPDに対して、データ種類判定部320、1次元色変換部330、3次元色変換部340、ドットサイズ変換部350、ハーフトーン処理部360、ラスタ化処理部370が上記実施例と同様の処理を行う。これにより、繰り返し数情報KDが設定されていない印刷データPD’についても処理の高速化と高画質な印刷とを実現できる。
【0071】
なお、上記第1実施例および第2実施例では、アプリケーション200から受け取る印刷データPDはビットマップデータであったが、印刷内容のオブジェクトやテキスト等を所定の言語で記述した描画データを受け取るようにしてもよい。この場合、印刷データ取得部310は、受け取った描画データの言語を解釈してビットマップ画像への展開、インデックスの付与、および繰り返し数情報KDの設定を行うことによって、印刷データPDを取得できる。
【0072】
(変形例3)
上記第1実施例および第2実施例では、プリンタードライバー300が、色変換の処理、ドット生成率変換の処理、ラスタ化の処理を行うようにしたが、これらの処理のうち一部の処理はプリンター側で行う構成としてもよい。例えば、画像処理装置であるコンピューター10は、色変換、ドット生成率変換、および量子化の処理を行い、量子化データを印刷制御データとしてプリンター20に出力して、ラスタ化の処理はプリンター20が行う構成としてもよい。また、コンピューター10は、色変換およびドット生成率変換の処理を行い、ドット生成率のデータを印刷制御データとしてプリンター20に出力して、量子化およびラスタ化の処理はプリンター20が行う構成としてもよい。もっとも、色変換の処理、ドット生成率変換の処理、ラスタ化の処理を行う画像処理装置をプリンターが備え、色変換以降の処理を全てプリンター側で実行する構成としてもよい。
【図面の簡単な説明】
【0073】
【図1】第1実施例にかかる画像処理装置のハードウェア構成を示す図。
【図2】コンピューターのソフトウェア構成を示す図。
【図3】印刷データを説明する図であり、(a)はRGB値指定の画素のデータ形式、(b)はインデックス指定の画素のデータ形式を示す図。
【図4】印刷データのデータ構成の一例を説明する図。
【図5】印刷データの一例を示す図であり、(a)は印刷データが表す画像、(b)は、印刷データのデータ構成例を示す図。
【図6】1D−LUTの一例を示す図。
【図7】ドット生成率変換テーブルの一例を示す図。
【図8】印刷制御処理の流れを示すフローチャート。
【図9】印刷制御処理の流れを示すフローチャート。
【図10】印刷データへの処理を説明する図。
【図11】第2実施例にかかる1D−LUTの一例を示す図。
【図12】印刷制御処理の流れを示すフローチャート。
【図13】ドット生成率変換を説明する図。
【図14】変形例1にかかる印刷データを説明する図。
【図15】変形例2にかかる印刷データへの処理を説明する図。
【符号の説明】
【0074】
10…画像処理装置としてのコンピューター、20…プリンター、200…アプリケーション、300…プリンタードライバー、310…印刷データ取得部、320…データ種類判定部、330…第1の色変換部としての1次元色変換部、331…1D−LUT、340…第2の色変換部としての3次元色変換部、341…3D−LUT、350…ドット生成量取得部としてのドットサイズ変換部、351…ドット生成率変換テーブル、360…量子化処理部としてのハーフトーン処理部、370…印刷制御部としてのラスタ化処理部、DP…画像処理プログラムとしてのドライバープログラム、PD…印刷データ、CD…印刷制御データ、F…データ種別情報としてのデータ種別フラグ、KD…特定情報としての繰り返し数情報、P1,P2,P6,P7,P8…第3の画素としてのRGB値指定の画素、P3…第1の画素としてのインデックス指定の画素、P4,P5…第2の画素としてのインデックス指定の画素。
【技術分野】
【0001】
本発明は、印刷用の画像処理を行う画像処理装置、画像処理方法、および画像処理プログラムに関する。
【背景技術】
【0002】
従来、インク等の色材のドットを複数のドットサイズで形成するインクジェット方式の印刷においては、印刷の対象とする印刷データに対して、色材の色に対応する色表現のデータに変換する色変換と、各色の色材についてドットサイズごとのドット生成率に変換するドットサイズ変換とが順番に行われる。例えば、印刷データが、R(レッド)G(グリーン)B(ブルー)形式のデータであり、C(シアン)M(マゼンタ)Y(イエロー)K(ブラック)の各色の色材を使用して大ドット、中ドット、小ドットによるカラー印刷を行う場合、RGB形式の印刷データをCMYK形式のデータに色変換した後、各色についてドットサイズ変換が行われる。そして、各ドットサイズのドット生成率に従いドットサイズを制御したドットを用紙表面に形成することによって、印刷が行われる。
【0003】
また、印刷にて正確な色再現を実現するため、指定の色を再現するために使用すべき色材量の組み合わせに対応したインデックスを印刷データの画素ごとに指定することがある。印刷の際、印刷データの画素からインデックスを読み出し、所定のテーブルを参照してインデックスに対応する色材量分の色材を使用した印刷を実行することによって、指定の色を正確に再現することができる。こうしたインデックスを用いた印刷は、色見本の印刷等、厳密な色再現が要求される用途に主に用いられる。
【0004】
なお、色変換の処理を高速化する技術として、画像データが表す画像のうち同じRGB値が連続する部分に対して、連続した部分のうちの1画素についてRGB値をCMYK値に変換し、変換結果のCMYK値を他の画素に割り当てることがある(例えば、特許文献1参照)。この技術によれば、同じ色変換の処理の繰り返しを省略し、色変換の処理の高速化を図ることができる。
【0005】
【特許文献1】特開2004−54653号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
しかしながら、上述した特許文献1に記載の技術は、色変換の処理を高速化しようとするものであり、ドットサイズ変換の処理を高速化しようとするものではない。このため、インデックスが指定された画像データの印刷を複数のドットサイズのドットを形成して行う場合に、ドットサイズ変換を高速化することができず、正確な色再現と高速な処理速度とを兼ね備えた印刷用の画像処理を実現することができなかった。
【課題を解決するための手段】
【0007】
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の形態または適用例として実現することが可能である。
【0008】
[適用例1]印刷にて使用される複数の色材について、指定の色を再現させる色材量の組み合わせに対応するインデックスが指定された第1の画素を含む画像を印刷の対象とする印刷データを取得する印刷データ取得部と、前記第1の画素についてのインデックスを、各色材の色材量に変換する第1の色変換部と、前記第1の画素についての色材量から、印刷にて形成される複数のドットサイズの各ドットサイズについてドット生成量を求めるドット生成量取得部と、前記各ドットサイズのドット生成量に基づき、前記第1の画素について、各ドットサイズのドットの有無に対応する量子化データを生成する量子化処理部とを備え、前記印刷データは、前記第1の画素と同じインデックスが指定された第2の画素をさらに含み、前記量子化処理部は、前記第1の画素について求められたドット生成量に基づいて、前記第2の画素についての量子化データを生成することを特徴とする画像処理装置。
【0009】
この構成によれば、第1の画素と同じインデックスが指定された第2の画素については、インデックスを各色材の色材量に変換してドット生成量を求めることなく、第1の画素について求めたドット生成量から量子化データが生成される。このため、量子化データを求めるための処理量が低減することとなり、処理を高速化できる。また、第1の画素および第2の画素においては、インデックスによって直接指定された色材量から量子化データが求められるので、この量子化データによれば正確な色再現の印刷が可能となる。したがって、印刷時における正確な色再現と処理の高速化と兼ね備えた処理を実現することができる。
【0010】
[適用例2]上記画像処理装置において、前記画像データの第1の画素は、前記第2の画素を特定する特定情報を有し、前記第1の色変換部は、前記特定情報に基づき特定される画素について変換の処理を行うことなく、前記量子化処理部は、前記第1の画素におけるドット生成量を、前記特定情報に基づき特定される画素のドット生成量に適用して、当該適用したドット生成量に基づいて前記量子化データを生成することを特徴とする画像処理装置。
【0011】
この構成によれば、画像データの特定情報に基づいて第2の画素を特定し、処理の高速化を実現することができる。
【0012】
[適用例3]上記画像処理装置において、前記特定情報は、前記第1の画素と同じインデックスが指定された第2の画素が、前記第1の色変換部が処理する画素順に前記第1の画素から連続する画素数を示し、前記量子化処理部は、前記第1の画素から前記画素順に前記特定情報に基づく数の画素について、前記第1の画素についてのドット生成量を当該画素のドット生成量に適用して、当該適用したドット生成量に基づいて前記量子化データを生成することを特徴とする画像処理装置。
【0013】
この構成によれば、特定情報に示される画素数分、第1の画素から連続する第2の画素への処理量が低減することとなり、処理の高速化を実現できる。
【0014】
[適用例4]上記画像処理装置において、前記画像データは、印刷すべき色を階調表現する色情報が指定された第3の画素をさらに含み、前記第3の画素についての色情報を、各色材の色材量に変換する第2の色変換部をさらに備えることを特徴とする画像処理装置。
【0015】
この構成によれば、インデックスが指定された第1の画素および第2の画素、並びに印刷すべき色が階調表現された第3の画素とが混在する画像データを高速に処理することができることになる。
【0016】
[適用例5]上記画像処理装置において、前記画像データは、前記インデックスまたは前記色情報のいずれのデータを有する画素であるかを示すデータ種別情報を画素ごとに有し、前記データ種別情報に基づいて、前記インデックスのデータ種別の画素には前記第1の色変換部が処理を行い、前記色情報のデータ種別の画素には前記第2の色変換部が処理を行うことを特徴とする画像処理装置。
【0017】
この構成によれば、画像データの種別情報に従って画素ごとにデータ種別に対応する処理が行われるので、第1の画素、第2の画素、および第3の画素を含む画像データを適宜、高速に処理することができる。
【0018】
[適用例6]上記画像処理装置において、前記量子化データに基づいて、印刷を制御する印刷制御部をさらに備えることを特徴とする画像処理装置。
【0019】
この構成によれば、色再現に優れた印刷をより高速に行うことができる。
【0020】
[適用例7]印刷にて使用される複数の色材について、指定の色を再現させる色材量の組み合わせに対応するインデックスが指定された第1の画素を含む画像を印刷の対象とする印刷データを取得するステップと、前記第1の画素についてのインデックスを、各色材の色材量に変換するステップと、前記第1の画素についての色材量から、印刷にて形成される複数のドットサイズの各ドットサイズについてドット生成量を求めるステップと、前記各ドットサイズのドット生成量に基づき、前記第1の画素について、各ドットサイズのドットの有無に対応する量子化データを生成するステップとを有し、前記印刷データは、前記第1の画素と同じインデックスが指定された第2の画素をさらに含み、前記第1の画素について求められたドット生成量に基づいて、前記第2の画素についての量子化データを生成することを特徴とする画像処理方法。
【0021】
このようにすれば、印刷時における正確な色再現と処理の高速化と兼ね備えた処理を実現することができる。
【0022】
[適用例8]複数の色材を使用し、複数のドットサイズのドットを形成して印刷するための画像処理プログラムであって、コンピューターを、指定の色を再現させる色材量の組み合わせに対応するインデックスが指定された第1の画素を含む画像を印刷の対象とする印刷データを取得する印刷データ取得部と、前記第1の画素についてのインデックスを、各色材の色材量に変換する第1の色変換部と、前記第1の画素についての色材量から、印刷にて形成される複数のドットサイズの各ドットサイズについてドット生成量を求めるドット生成量取得部と、前記各ドットサイズのドット生成量に基づき、前記第1の画素について、各ドットサイズのドットの有無に対応する量子化データを生成する量子化処理部、として機能させ、前記印刷データは、前記第1の画素と同じインデックスが指定された第2の画素をさらに含み、前記量子化処理部は、前記第1の画素について求められたドット生成量に基づいて、前記第2の画素についての量子化データを生成することを特徴とする画像処理プログラム。
【0023】
この画像処理プログラムによれば、印刷時における正確な色再現と処理の高速化と兼ね備えた処理を、コンピューターによって実現することができる。
【発明を実施するための最良の形態】
【0024】
以下、本発明の実施の形態について実施例に基づいて説明する。
【0025】
(第1実施例)
図1は、第1実施例にかかる画像処理装置のハードウェア構成を示している。画像処理装置の一例であるコンピューター10は、プリンター20による印刷の制御装置であり、図1に示すように、CPU11と、RAM12と、ROM13と、ハードディスクドライブ14と、汎用I/F15と、ビデオI/F16と、入力I/F17と、バス18等から構成されている。バス18は、コンピューター10を構成する各要素11〜17の間でのデータ通信を実現するものであり、図示しないチップセット等によって通信が制御される。
【0026】
ハードディスクドライブ14には、プリンタードライバーのドライバープログラム(画像処理プログラム)DPの他、アプリケーションやオペレーティングシステム(以下、「OS」という)等の各種プログラムが記憶されている。なお、ドライバープログラムDPは、フレキシブルディスク、CD−ROMやDVD−ROM等の光ディスク、光磁気ディスク、メモリーカード、携帯型ハードディスク等、コンピューター読み取り可能な種々の記録媒体に記録された形態でコンピューター10に供給される。記録媒体に記録されたドライバープログラムDPは、コンピューター10に備わるドライブ装置(図示なし)等によって読み出され、ハードディスクドライブ14に記録されている。もっとも、ハードディスクドライブ14への記録方法としてはこれに限られることなく、コンピューター10が、インターネット等のネットワークを介して所定のサーバーからハードディスクドライブ14にドライバープログラムDPをダウンロードしていてもよい。
【0027】
汎用I/F15は、例えばUSB規格に準じたインターフェイスを提供するものであり、外部のプリンター20が接続されている。ビデオI/F16には外部のディスプレー30が接続されており、ビデオI/F16は、ディスプレー30に画像を表示するためのインターフェイスを提供する。入力I/F17には外部のキーボード40とマウス50が接続されており、入力I/F17は、キーボード40とマウス50からの入力信号をコンピューター10が取得するためのインターフェイスを提供する。
【0028】
なお、本実施例では、プリンター20はインクジェット方式の印刷を行い、特に、C(シアン)M(マゼンタ)Y(イエロー)K(ブラック)の各色のインク(色材)を吐出して、例として大・中・小の3種類のドットサイズのドットを選択的に印刷用紙上に形成するものとして以下の説明を行う。もっとも、本実施例ではCMYKのインクセットを使用する場合を例にして説明するが、インクセットについてはこれに限られるものではなく、例えば、R(レッド)、B(ブルー)、lc(ライトシアン)、lm(ライトマゼンタ)等のインクをさらに含む構成としてもよい。
【0029】
次に、コンピューター10のソフトウェア構成について説明する。図2は、コンピューター10のソフトウェア構成を示す図である。図2に示すように、コンピューター10は、ソフトウェア構成として、OS100と、アプリケーション200と、プリンタードライバー300と、ディスプレードライバー400とを有する。これらの各ソフトウェア構成は、ハードディスクドライブ14に記録されたプログラムをCPU11が実行することにより機能している。特に、プリンタードライバー300は、CPU11が、ハードディスクドライブ14からドライバープログラムDPを読み出して実行することにより機能している。
【0030】
OS100は、アプリケーション200や各ドライバー300,400が利用可能なAPI(Application Programming Interface)の1つとしての画像機器インターフェイス(以下、「GDI(Graphical Device Interface)」という)110と、スプーラー120を提供している。アプリケーション200からの要求に応じてGDI110が呼び出され、さらにGDI110の要求に応じてプリンタードライバー300やディスプレードライバー400が呼び出される。GDI110は、コンピューター10がプリンター20やディスプレー30等の画像出力装置による画像出力を制御するための汎用的な仕組みを提供する。そして、プリンタードライバー300はプリンター20の機種に固有の処理等を司り、ディスプレードライバー400はディスプレー30の機種に固有の処理等は司る。スプーラー120は、アプリケーション200やプリンタードライバー300やプリンター20の間に介在し、ジョブのコントロール等を実行する。
【0031】
アプリケーション200は、例えば、色見本のチャートを印刷するための見本印刷アプリケーションであり、キーボード40やマウス50等へのユーザー操作に従って印刷データPDを生成する。例えば、ユーザーによって任意に入力された内容の画像や予め登録された色見本の画像等が、アプリケーション200によって印刷対象の印刷データPDとされる。
【0032】
ここで、印刷データPDのデータ構造について説明する。印刷データPDはビットマップデータであり、マトリクス状に配列された多数の画素によりビットマップ画像を表現している。また、本実施例では、印刷データPDの1画素に4バイトの情報量が割り当てられ、各画素にはRGB値またはインデックスのいずれかの画素データが格納される。すなわち、印刷データPDの各画素は、RGB値またはインデックスのいずれかによって印刷すべき色が指定されている。
【0033】
図3(a)に、RGB値指定の画素のデータ形式を示す。図3(a)に示すように、RGB値指定の画素(第3の画素)の画素データは、データの0バイト目にデータ種別フラグFが設定される。このデータ種別フラグFは、RGB値指定の画素、またはインデックス指定の画素のいずれの画素であるかを示している。RGB値指定の画素では、データ種別フラグFは「0」とされる。そして、続く1バイト目にはR値、2バイト目にはG値、3バイト目にはB値が格納される。すなわち、RGB値指定の画素では、上述した4バイトのうち3バイトがRGB値を格納するために使用され、RGB各チャネルの階調値はそれぞれ8ビット(256階調)で階調表現される。
【0034】
図3(b)に、インデックス指定の画素のデータ形式を示す。図3(b)に示すように、インデックス指定の画素の画素データの0バイト目には、データ種別フラグFとして「1」が設定される。続く、1バイト目には、同一のインデックスを指定した画素が連続して繰り返される画素数を示す繰り返し数情報(特定情報)KDが格納され、2バイト目にはインデックスの上位8ビット、3バイト目にはインデックスの下位8ビットが格納される。すなわち、インデックス指定の画素では、合計16ビットのインデックスを格納するために上述した4バイトのうち2バイトが使用され、残る1バイト分を繰り返し情報に使用している。なお、インデックスとは、指定の色を再現するために使用すべき各色インクの使用量を示すインク値の組み合わせ(以下、「インク量セット」という)に予め対応させたものである。このインクデックスの組み合わせは、例えば、プリンターメーカーが予め設定したり、ユーザーが所望の組み合わせを追加したりすることによって、後述する1次元色変換テーブル331に予め登録されている。
【0035】
もっとも、印刷データPDのデータ構造としては上述した構成に限られるものではない。例えば、上述した図3(b)の例では、0バイト目の全8ビットのうち1ビットがデータ種別フラグFとして使用され、残る7ビットについては未使用である。そこで、0バイト目の残された7ビット分と1バイト目の8ビット分の合計15ビットを使用して繰り返し数情報を格納する構成としてもよい。また、0バイト目の8ビットのうち、データ種別フラグFを格納する位置としては、図3の例に限られることなく、例えば、0バイト目の先頭ビット等、0バイト目の8ビットのうちのどのビットにデータ種別フラグFを割り当ててもよい。
【0036】
さらに、0バイト目〜3バイト目のどのバイトにデータ種別フラグFを割り当てるかについても、図3の例に限られない。例えば、図4(a)に示すように、0バイト目に繰り返し数情報KD、1バイト目および2バイト目にインデックスを格納して、3バイト目のいずれかのビットにデータ種別フラグFを割り当てたデータ構成としてもよい。また、図4(b)に示すように、0バイト目に繰り返し数情報KD、2バイト目および3バイト目にインデックスを格納して、1バイト目のいずれかのビットにデータ種別フラグFを割り当てたデータ構成としてもよい。なお、こうして、インデックス指定のデータ形式についてデータ種別フラグFを割り当てる場所を変更した場合には、RGB値指定のデータ形式についても同様にデータ種別フラグFを割り当てる場所を変更しておくことが望ましい。両方のデータ形式に対して同様の処理によって、データ種別フラグFを読取可能となるからである。
【0037】
印刷データPDの構造について、具体例を用いてさらに説明する。図5(a)に印刷データPDが表す画像の一例を示す。図5(a)では、RGB値指定の画素を白地、インデックス指定の画素を斜線で示しており、図示するように、印刷データPDが表す画像Gは、RGB値指定の画素とインデックス指定の画素とから構成されている。なお、図5の例では、画素P3〜P5の3つの画素に指定されるインデックスは同一としている。
【0038】
プリンタードライバー300による後述する色変換、ドットサイズ変換および量子化の処理は、ラスタ方向に従って行われる。すなわち、印刷データPDの画像左端上の画素から右端の画素に向かって順次処理が行われ、右端の画素に至ると画素1つ分下の行の左端の画素に戻って、右端の画素に向かう方向に従って処理が行われる。図5(b)には、印刷データPDが表す画像のうち、ラスタ方向に連続した画素P1〜P8についてのデータ例を示している。図5(b)の例では、画素P1はRGB値指定の画素であるため、データの0バイト目にはデータ種別フラグFとして「0」、1〜3バイト目にRGB値が格納されている。画素P2、P6〜P8についても、同様に、0バイト目にデータ種別フラグFが「0」、1〜3バイト目にRGB値が格納されている。
【0039】
一方、画素(第1の画素)P3については、インデックス指定の画素であるため、0バイト目にはデータ種別フラグFとして「1」、1バイト目には繰り返し数情報KDが格納される。この繰り返し数情報KDは、自身の画素と同一のインデックスを指定する画素がラスタ方向に連続する画素数を示すものである。図5(a)の場合、画素P3〜P5の3つの画素について同一のインデックスであるので、先頭となる画素P3の1バイト目には繰り返し数情報KDとして「3」が格納される。そして、続く2バイト目には、指定の色に対応するインデックスの上位8ビット、3バイト目にはインデックスの下位8ビットのデータが格納される。この画素P3の画素情報によって、3つの画素P3〜P5に対して同一のインデックスが指定される。
【0040】
インデックス指定の画素のうち、先頭の画素P1からラスタ方向に連続する画素(第2の画素)P4、P5については、画素P3の画素情報によってインデックスが指定済であり、さらにインデックスを指定する必要がないため、上述した4バイトの領域には「0」が格納され、未入力の状態とされる。
【0041】
上述した構成を有する印刷データPDは、OS100が提供するGDI110やスプーラー120を経由してアプリケーション200からプリンタードライバー300に出力される。
【0042】
次に、プリンタードライバー300について説明する。図2に示すように、プリンタードライバー300は、印刷データ取得部310と、データ種類判定部320と、1次元色変換部(第1の色変換部)330と、3次元色変換部(第2の色変換部)340と、ドットサイズ変換部(ドット生成量取得部)350と、ハーフトーン処理部(量子化処理部)360と、ラスタ化処理部(印刷制御部)370とを含む。
【0043】
印刷データ取得部310は、アプリケーション200から印刷データPDを取得する。また、印刷データ取得部310は、必要に応じて、印刷データPDを印刷解像度に対応する解像度のデータに変換する処理を行う。
【0044】
データ種類判定部320は、印刷データPDに含まれるデータ種別フラグFを参照して、印刷データPDの画素ごとにRGB値指定の画素またはインデックス指定の画素のいずれであるかを判断する処理を行う。
【0045】
1次元色変換部330は、インデックス指定の画素について、インク量セットに色変換する処理(分版)を行う。1次元色変換は、インデックスと各色のインク値とを対応付けた1次元色変換テーブル(以下、「1D−LUT」という)331に従って行われる。図5に例として示すように、1D−LUT331では、16ビットで表されるインデックスの番号と、インクセットの各色について8ビットのインク値(本実施例では、C値、M値、Y値、K値)とが対応付けられている。この1D−LUT331は、ハードディスクドライブ14等に予め格納され、1次元色変換部330は、1D−LUT331に従って、画素に指定されたインデックスを各色インクのインク値、すなわちインク量セットに変換する。
【0046】
3次元色変換部340は、RGB値指定の画素について、指定のRGB値をインク量セットに色変換する処理(分版)を行う。このときの色変換は、RGB値とインク量セットとを対応付けた3次元色変換テーブル(以下、「3D−LUT」という)341に従って行う。3D−LUT341は、RGB値と各色のインク量セットとの対応関係を色空間における複数の代表的な座標について記述したテーブルであり、色の再現性、階調性、ガマット、インクデューティ等の特性が総合的に良好となるようRGB値とインク量セットとが予め対応付けられている。この3D−LUT341は、ハードディスクドライブ14等に予め格納されており、3次元色変換部340は、3D−LUT341に従って、画素に指定されたRGB値をインク量セットに変換する。なお、3次元色変換の際、3次元色変換部340は、3D−LUT341に直接記述されていないRGB値については補間演算を行うことにより、インク量セットへの変換が行われる。
【0047】
ドットサイズ変換部350は、インク量セットの各インク値を、各ドットサイズのドット生成量を示すドット生成率に変換する処理を行う。このドット生成率変換は、ドット生成率変換テーブル351に従って行われる。図7にドット生成率変換テーブル351の一例を示す。図示するように、ドット生成率変換テーブル351は、256階調(8ビット)の各インク値と、小ドット、中ドット、大ドットの各ドット生成率とが対応付けられている。このドット生成率変換テーブル351では、インク値が小さい範囲では小ドットによる画像形成が支配的となって、インク値が大きい範囲では大ドットによる画像形成が支配的となるように設定されている。これにより、低濃度の画像形成で発生する粒状感を抑制するとともに、高濃度の画像形成を少ないドット数で行うことができ、高画質且つ高速な印刷が実現されるようになっている。ドット生成率変換テーブル351は、ハードディスクドライブ14等に予め格納されており、ドットサイズ変換部350は、ドット生成率変換テーブル351を参照して、各色インク値を各ドットサイズのドット生成率に変換する。
【0048】
ハーフトーン処理部360は、ドットサイズ変換部350により求められたドット生成率に対してハーフトーン処理を行い、各ドットサイズについてドットの有無を示す量子化データに変換する。
【0049】
ラスタ化処理部370は、量子化データをラスタ化して、プリンター20が処理可能な印刷制御データCDを生成する。そして、生成した印刷制御データCDをOS100が提供するスプーラー120を介してプリンター20に出力することにより、当該印刷制御データCDに基づくプリンター20の動作を制御して、見本チャートを印刷用紙上に印刷させる。
【0050】
ここで、上述した1次元色変換部330およびドットサイズ変換部350は、ラスタ方向に従って印刷データPDの画素を順次処理するとき、繰り返し数情報KDが示す画素数分の画素に対しては先頭の画素についてのみ処理を行う。すなわち、先頭の画素については1次元色変換およびドットサイズ変換の処理を行い、先頭の画素に続く画素については1次元色変換およびドットサイズ変換の処理を行わない。そして、ハーフトーン処理部360は、先頭の画素について求められたドット生成率を、先頭の画素に続く繰り返し数分の画素に適用するようにして、先頭の画素を含めた繰り返し数分の画素に対しては同じドット生成率を適用して量子化データへの変換を行う。これにより、1次元色変換およびドット生成率変換に要する処理量の低減を図る。
【0051】
次に、コンピューター10がプリンター20の印刷を制御する処理についてフローチャートに従って説明する。図8,9は、印刷制御処理の流れを示すフローチャートである。処理を開始して、プリンタードライバー300の印刷データ取得部310がアプリケーション200から印刷データPDを取得すると(ステップS100)、データ種類判定部320は、印刷データPDを構成する画素のうちからラスタ方向に従う1つの画素を選択して注目画素とする(ステップS110)。
【0052】
次に、データ種類判定部320は、印刷データPDから注目画素のデータ種別フラグFを読み取り(ステップS120)、データ種別フラグFが「1」になっているか否かを判断する(ステップS130)。
【0053】
読み取ったデータ種別フラグが「0」であった場合(ステップS130:No)、注目画素はRGB値指定の画素であると判断され、当該画素については3次元色変換が行われる。3次元色変換部340は、印刷データPDから注目画素のRGB値を読み取り(ステップS140)、3D−LUT341に従って3次元色変換処理を行うことにより、注目画素のRGB値がインク量セットに変換される(ステップS150)。そして、ドットサイズ変換部350は、ドット生成率変換テーブル351に従ってインク量セットを各ドットサイズのドット生成率に変換し(ステップS160)、ハーフトーン処理部360はドット生成率をドットの有無に対応した量子化データに量子化する(ステップS170)。この量子化は、ディザ法や誤差拡散法等のハーフトーン処理により行われる。例えば、ディザ法によるハーフトーン処理を行う場合であれば、ディザマトリクスで指定される閾値とドット生成率とを比較して、ドット生成率が閾値より大きいか否かに応じてドットの有無が定められる。
【0054】
次に、ラスタ化処理部370は、印刷データPDの全画素について処理を終了したか否かを判断する(ステップS180)。未処理の画素が残っていない場合(ステップS180:No)、ステップS110に戻り、ラスタ方向に従う次の画素に注目して処理を繰り返す。図5に示した例の場合、上述したステップS130〜S180の処理により、画素P1〜P8のうち画素P1から処理が開始され、画素P1,P2のそれぞれについて、3次元色変換、ドット生成率変換、量子化の処理が順次行われる(図10(a)参照)。
【0055】
一方、ステップS130の判断において、読み取ったデータ種別フラグが「1」であった場合(ステップS130:Yes)、注目画素はインデックス指定の画素であると判断される。この場合、1次元色変換部330は、印刷データPDから注目画素のインデックスと繰り返し数情報KDとを読み取り(ステップS200)、1D−LUT331に従い1次元色変換処理を行う(ステップS210)。この1次元色変換処理により、注目画素に指定されたインデックスがインク量セットに変換される。そして、ドットサイズ変換部350は、ドット生成率変換テーブル351に従って、インク量セットのインク値を各ドットサイズのドット生成率のデータに変換し(ステップS220)、ハーフトーン処理部360によって、注目画素について量子化の処理が行われる(ステップS230)。図5の例では、画素P1,P2の次に注目画素とされる画素P3、すなわち同じインデックス指定の画素P3〜P5のうちの先頭画素について、1次元色変換、ドット生成率変換、量子化の処理が順に行われる(図10(b)参照)。
【0056】
次に、ステップS200にて読み取った繰り返し数情報KDに規定される画素数分の画素について、ステップS230の量子化を行ったか否かを判断する(ステップS240)。繰り返し数分の画素について量子化を行っていなければ(ステップS240:No)、ラスタ方向に従う次の画素を選択して新たな注目画素とする(ステップS250)。そして、ステップS220にて求めたドット生成率を当該新たな注目画素に適用して(ステップS260)、量子化する(ステップS230)。これにより、図5の例であれば、同じインデックスが指定された先頭の画素P3の次に注目される画素P4については、画素P3と同じドット生成率が適用されて、画素P4についての量子化が行われる。その後、同様にして、画素P5についても画素P3と同じドット生成率が適用されて、画素P5について量子化の処理が行われる(ステップS230、図10(c)参照)。こうして、繰り返し数の画素数分、ステップS230〜S260の処理を繰り返すことにより、先頭画素以降の画素については、先頭画素のドット生成率を適用することによって、新たに1次元色変換およびドット生成率変換の処理を行うことなく量子化の処理がなされる。すなわち、繰り返し数情報KDに指定された3つの画素P3,P4,P5に対して、1次元色変換およびドット生成率変換の処理を一度行うだけで済むことになる。そして、繰り返し数の画素数分、量子化が行われると(ステップS240:Yes)、ステップS180に進む。
【0057】
ステップS180の判断において、印刷データPDを構成する全画素について処理を終了したと判断すると(ステップS180:Yes)、ステップS190に進む。ステップS190では、ラスタ化処理部370は、量子化データのドット有りの画素に応じて、インクを吐出させる吐出信号をプリンター20が有する印刷ヘッドの各走査パスおよび各ノズルに割り振る処理を実行する。これにより、プリンター20が処理可能な印刷制御データCDが生成される。そして、生成された印刷制御データCDは、プリンター20の制御に必要な信号が添付された状態でスプーラー120を介してプリンター20に出力され、プリンター20による印刷が実行される。こうして印刷が実行されると、印刷制御処理を終了する。
【0058】
以上に説明したように、本実施例では、印刷データPDに含まれる繰り返し数情報KDに基づいて、ラスタ方向に連続して且つ同じインデックスの色が指定された複数の画素のうち、先頭の画素(図5の例では画素P3)についてのみ1次元色変換、ドット生成率変換および量子化の処理が行われる。そして、先頭画素以降の画素(図5の例では画素P4,P5)については、新たに1次元色変換、ドット生成率変換を行うことなく、先頭の画素についてのドット生成率を用いて量子化が行われる。すなわち、同じインデックスの色が指定された複数の画素のうち、1次元色変換とドット生成率変換の処理が実際に行われるのは先頭の画素のみとなる。したがって、インデックスでインク量セットが指定された印刷データPDに対する処理量が低減することとなり、印刷制御の処理の高速化が実現される。
【0059】
また、印刷データPDを構成する画素のうち、インデックス指定の画素については、インデックスによってインク量セットが直接指定されているため、RGB値によって色を指定する場合に比べると3次元色変換の補間処理に伴う変換誤差等の影響を受けることがなく、より正確な色再現を実現できる。したがって、正確な色再現および高速な処理速度を兼ね備えた印刷制御が可能となる。
【0060】
(第2実施例)
上記第1実施例では、図6に示すように、各色256階調(8ビット)のインク量セットに対応する1D−LUT331を用いて、インデックスを256階調のインク値に変換するようにした。インク量セットのインク値を16ビットとして、16ビットのインク値を割り当てたインデックスを1D−LUTに登録しておくことによって、より階調性に優れた高画質な印刷を実現することが可能である。第2実施例では、図11に示すように、1D−LUT330bにおいて、各インデックスに8ビットまたは16ビットのいずれかが割り当てられた場合の処理について説明する。なお、以下では、第1の実施例と同様の構成については同じ符号を付与し、詳細な説明は省略する。
【0061】
第2実施例の処理の流れについて、図12のフローチャートに従って説明する。なお、第1実施例におけるステップS100〜S190の処理については第2実施例においても同様であるため詳細な説明は省略し、インデックスが指定された注目画素に対して行う処理について説明することとする。
【0062】
ステップS130の判断において、注目画素にインデックスが指定されていると判断すると(ステップS130:Yes)、ステップS300に処理が進む。そして、インデックスが指定された注目画素について、印刷データPDからインデックスと繰り返し数情報KDを読み取り(ステップS300)、1D−LUT330bに従う1次元色変換(ステップS310)を行う。その後、変換したインク量セットのインク値が16ビットデータであるか否かを判断する(ステップS320)。インク値が16ビットデータでなく、8ビットデータであれば(ステップS320:No)、上記実施例と同様に、1D−LUT330bに従ってインク量セットを各ドットの生成率に変換する(ステップS330)。
【0063】
インク値が16ビットデータであれば(ステップS320:Yes)、ステップS340に進んで、16ビット精度のドット生成率を求めるための補間処理を行う。
【0064】
具体的には、ステップS340に処理が進むと、インク量セットの各インク色について下位8ビット分を切り捨てた上位8ビットのインク量セットからドット生成率を取得する。これにより、図13に例として示すように、16ビット精度のインク値Cに対して、ドット生成率変換テーブル351に対応する8ビット精度のインク値Lからドット生成率が求められる。そして、下位8ビット分を切り上げた上位8ビットのインク値からドット生成率を取得する(ステップS350)。ここでは、図13に示すように、8ビット精度のインク値Hからドット生成率が求められる。
【0065】
次に、インク値Lのドット生成率とインク値Hのドット生成率とを補間して、16ビット精度のインク値Cに対応するドット生成率を算出する(ステップS360)。例えば、インク値の下位8ビットを用いて線形補間等の手法を用いて補間することによって16ビット精度のドット生成率を得ることができる。
【0066】
ステップS330またはステップS360にてドット生成率が求まると、ステップS370に進んで量子化を行う。ステップS370以降の処理については、上記実施例におけるステップS230〜S250と同様であるため、説明を省略する。
【0067】
上述した第2実施例によれば、インデックスによって各インク色が16ビット精度となるインク量セットが指定された場合に、8ビットに対応するドット生成率変換テーブル351に従って16ビット精度のドット生成率を得ることができる。したがって、より階調性に優れ、高画質な印刷を実現することができる。また、ドット生成率変換テーブル351は依然として8ビットに対応したものであるため、ドット生成率変換テーブル351を格納するために使用するメモリ容量を増やすことなく、16ビット精度の処理に対応させることが可能である。
【0068】
以上、第1実施例および第2実施例について説明したが、これに限られることなくその趣旨に逸脱しない様々な形態としてもよい。以下、変形例について説明する。
【0069】
(変形例1)
上記第1実施例および第2実施例では、印刷データPDの画素に繰り返し数情報KDを設定することにより、同じインデックスが指定された画素を特定するようにしたが、同じインデックスが指定された画素を特定する方法としてはこれに限られない。例えば、繰り返し数情報KDではなく、ラスタ方向の順番に従う前または後の画素と同じインデックスが指定されているかを示すフラグを用いてもよい。例えば、図14に示すように、同じインデックスが指定される3つの画素P3〜P5のうち、画素P3については、インデックスを指定した旨を示すデータ種別フラグ「1」を設定し、画素P4,P5についてはラスタ方向に前方の画素と同じインデックスを指定する旨を示すデータ種別フラグ「2」を設定しておく。印刷制御処理において、データ種別フラグ「2」が設定された画素については、データ種別フラグ「1」が設定された前方の画素について求めたドット生成率を適用して量子化することにより、処理を高速化できる。
【0070】
(変形例2)
上記第1実施例および第2実施例では、繰り返し数情報KDが設定された印刷データPDを、アプリケーション200が生成する場合を例にして説明したが、印刷データに対してプリンタードライバー300が繰り返し数情報KDを付加する構成としてもよい。すなわち、アプリケーション200は、繰り返し数情報KDが未設定であるビットマップ形式の印刷データPD’(図15(a)参照)を生成する。プリンタードライバー300の印刷データ取得部310は印刷データPD’を解析して、同じインデックスが指定された複数の画素のうち、先頭の画素に対して繰り返し数情報KDを設定することにより、印刷データPDを取得する(図15(b)参照)。そして、印刷データPDに対して、データ種類判定部320、1次元色変換部330、3次元色変換部340、ドットサイズ変換部350、ハーフトーン処理部360、ラスタ化処理部370が上記実施例と同様の処理を行う。これにより、繰り返し数情報KDが設定されていない印刷データPD’についても処理の高速化と高画質な印刷とを実現できる。
【0071】
なお、上記第1実施例および第2実施例では、アプリケーション200から受け取る印刷データPDはビットマップデータであったが、印刷内容のオブジェクトやテキスト等を所定の言語で記述した描画データを受け取るようにしてもよい。この場合、印刷データ取得部310は、受け取った描画データの言語を解釈してビットマップ画像への展開、インデックスの付与、および繰り返し数情報KDの設定を行うことによって、印刷データPDを取得できる。
【0072】
(変形例3)
上記第1実施例および第2実施例では、プリンタードライバー300が、色変換の処理、ドット生成率変換の処理、ラスタ化の処理を行うようにしたが、これらの処理のうち一部の処理はプリンター側で行う構成としてもよい。例えば、画像処理装置であるコンピューター10は、色変換、ドット生成率変換、および量子化の処理を行い、量子化データを印刷制御データとしてプリンター20に出力して、ラスタ化の処理はプリンター20が行う構成としてもよい。また、コンピューター10は、色変換およびドット生成率変換の処理を行い、ドット生成率のデータを印刷制御データとしてプリンター20に出力して、量子化およびラスタ化の処理はプリンター20が行う構成としてもよい。もっとも、色変換の処理、ドット生成率変換の処理、ラスタ化の処理を行う画像処理装置をプリンターが備え、色変換以降の処理を全てプリンター側で実行する構成としてもよい。
【図面の簡単な説明】
【0073】
【図1】第1実施例にかかる画像処理装置のハードウェア構成を示す図。
【図2】コンピューターのソフトウェア構成を示す図。
【図3】印刷データを説明する図であり、(a)はRGB値指定の画素のデータ形式、(b)はインデックス指定の画素のデータ形式を示す図。
【図4】印刷データのデータ構成の一例を説明する図。
【図5】印刷データの一例を示す図であり、(a)は印刷データが表す画像、(b)は、印刷データのデータ構成例を示す図。
【図6】1D−LUTの一例を示す図。
【図7】ドット生成率変換テーブルの一例を示す図。
【図8】印刷制御処理の流れを示すフローチャート。
【図9】印刷制御処理の流れを示すフローチャート。
【図10】印刷データへの処理を説明する図。
【図11】第2実施例にかかる1D−LUTの一例を示す図。
【図12】印刷制御処理の流れを示すフローチャート。
【図13】ドット生成率変換を説明する図。
【図14】変形例1にかかる印刷データを説明する図。
【図15】変形例2にかかる印刷データへの処理を説明する図。
【符号の説明】
【0074】
10…画像処理装置としてのコンピューター、20…プリンター、200…アプリケーション、300…プリンタードライバー、310…印刷データ取得部、320…データ種類判定部、330…第1の色変換部としての1次元色変換部、331…1D−LUT、340…第2の色変換部としての3次元色変換部、341…3D−LUT、350…ドット生成量取得部としてのドットサイズ変換部、351…ドット生成率変換テーブル、360…量子化処理部としてのハーフトーン処理部、370…印刷制御部としてのラスタ化処理部、DP…画像処理プログラムとしてのドライバープログラム、PD…印刷データ、CD…印刷制御データ、F…データ種別情報としてのデータ種別フラグ、KD…特定情報としての繰り返し数情報、P1,P2,P6,P7,P8…第3の画素としてのRGB値指定の画素、P3…第1の画素としてのインデックス指定の画素、P4,P5…第2の画素としてのインデックス指定の画素。
【特許請求の範囲】
【請求項1】
印刷にて使用される複数の色材について、指定の色を再現させる色材量の組み合わせに対応するインデックスが指定された第1の画素を含む画像を印刷の対象とする印刷データを取得する印刷データ取得部と、
前記第1の画素についてのインデックスを、各色材の色材量に変換する第1の色変換部と、
前記第1の画素についての色材量から、印刷にて形成される複数のドットサイズの各ドットサイズについてドット生成量を求めるドット生成量取得部と、
前記各ドットサイズのドット生成量に基づき、前記第1の画素について、各ドットサイズのドットの有無に対応する量子化データを生成する量子化処理部とを備え、
前記印刷データは、前記第1の画素と同じインデックスが指定された第2の画素をさらに含み、
前記量子化処理部は、前記第1の画素について求められたドット生成量に基づいて、前記第2の画素についての量子化データを生成することを特徴とする画像処理装置。
【請求項2】
請求項1に記載の画像処理装置において、
前記印刷データの第1の画素は、前記第2の画素を特定する特定情報を有し、
前記第1の色変換部は、前記特定情報に基づき特定される画素について変換の処理を行うことなく、
前記量子化処理部は、前記第1の画素におけるドット生成量を、前記特定情報に基づき特定される画素のドット生成量に適用して、当該適用したドット生成量に基づいて前記量子化データを生成することを特徴とする画像処理装置。
【請求項3】
請求項2に記載の画像処理装置において、
前記特定情報は、前記第1の画素と同じインデックスが指定された第2の画素が、前記第1の色変換部が処理する画素順に前記第1の画素から連続する画素数を示し、
前記量子化処理部は、前記第1の画素から前記画素順に前記特定情報に基づく数の画素について、前記第1の画素についてのドット生成量を当該画素のドット生成量に適用して、当該適用したドット生成量に基づいて前記量子化データを生成することを特徴とする画像処理装置。
【請求項4】
請求項1ないし3のいずれか一項に記載の画像処理装置において、
前記印刷データは、印刷すべき色を階調表現する色情報が指定された第3の画素をさらに含み、
前記第3の画素についての色情報を、各色材の色材量に変換する第2の色変換部をさらに備えることを特徴とする画像処理装置。
【請求項5】
請求項4に記載の画像処理装置において、
前記印刷データは、前記インデックスまたは前記色情報のいずれのデータを有する画素であるかを示すデータ種別情報を画素ごとに有し、
前記データ種別情報に基づいて、前記インデックスのデータ種別の画素には前記第1の色変換部が処理を行い、前記色情報のデータ種別の画素には前記第2の色変換部が処理を行うことを特徴とする画像処理装置。
【請求項6】
請求項1ないし5のいずれか一項に記載の画像処理装置において、
前記量子化データに基づいて、印刷を制御する印刷制御部をさらに備えることを特徴とする画像処理装置。
【請求項7】
印刷にて使用される複数の色材について、指定の色を再現させる色材量の組み合わせに対応するインデックスが指定された第1の画素を含む画像を印刷の対象とする印刷データを取得するステップと、
前記第1の画素についてのインデックスを、各色材の色材量に変換するステップと、
前記第1の画素についての色材量から、印刷にて形成される複数のドットサイズの各ドットサイズについてドット生成量を求めるステップと、
前記各ドットサイズのドット生成量に基づき、前記第1の画素について、各ドットサイズのドットの有無に対応する量子化データを生成するステップとを有し、
前記印刷データは、前記第1の画素と同じインデックスが指定された第2の画素をさらに含み、
前記第1の画素について求められたドット生成量に基づいて、前記第2の画素についての量子化データを生成することを特徴とする画像処理方法。
【請求項8】
複数の色材を使用し、複数のドットサイズのドットを形成して印刷するための画像処理プログラムであって、
コンピューターを、
指定の色を再現させる色材量の組み合わせに対応するインデックスが指定された第1の画素を含む画像を印刷の対象とする印刷データを取得する印刷データ取得部と、
前記第1の画素についてのインデックスを、各色材の色材量に変換する第1の色変換部と、
前記第1の画素についての色材量から、印刷にて形成される複数のドットサイズの各ドットサイズについてドット生成量を求めるドット生成量取得部と、
前記各ドットサイズのドット生成量に基づき、前記第1の画素について、各ドットサイズのドットの有無に対応する量子化データを生成する量子化処理部、として機能させ、
前記印刷データは、前記第1の画素と同じインデックスが指定された第2の画素をさらに含み、
前記量子化処理部は、前記第1の画素について求められたドット生成量に基づいて、前記第2の画素についての量子化データを生成することを特徴とする画像処理プログラム。
【請求項1】
印刷にて使用される複数の色材について、指定の色を再現させる色材量の組み合わせに対応するインデックスが指定された第1の画素を含む画像を印刷の対象とする印刷データを取得する印刷データ取得部と、
前記第1の画素についてのインデックスを、各色材の色材量に変換する第1の色変換部と、
前記第1の画素についての色材量から、印刷にて形成される複数のドットサイズの各ドットサイズについてドット生成量を求めるドット生成量取得部と、
前記各ドットサイズのドット生成量に基づき、前記第1の画素について、各ドットサイズのドットの有無に対応する量子化データを生成する量子化処理部とを備え、
前記印刷データは、前記第1の画素と同じインデックスが指定された第2の画素をさらに含み、
前記量子化処理部は、前記第1の画素について求められたドット生成量に基づいて、前記第2の画素についての量子化データを生成することを特徴とする画像処理装置。
【請求項2】
請求項1に記載の画像処理装置において、
前記印刷データの第1の画素は、前記第2の画素を特定する特定情報を有し、
前記第1の色変換部は、前記特定情報に基づき特定される画素について変換の処理を行うことなく、
前記量子化処理部は、前記第1の画素におけるドット生成量を、前記特定情報に基づき特定される画素のドット生成量に適用して、当該適用したドット生成量に基づいて前記量子化データを生成することを特徴とする画像処理装置。
【請求項3】
請求項2に記載の画像処理装置において、
前記特定情報は、前記第1の画素と同じインデックスが指定された第2の画素が、前記第1の色変換部が処理する画素順に前記第1の画素から連続する画素数を示し、
前記量子化処理部は、前記第1の画素から前記画素順に前記特定情報に基づく数の画素について、前記第1の画素についてのドット生成量を当該画素のドット生成量に適用して、当該適用したドット生成量に基づいて前記量子化データを生成することを特徴とする画像処理装置。
【請求項4】
請求項1ないし3のいずれか一項に記載の画像処理装置において、
前記印刷データは、印刷すべき色を階調表現する色情報が指定された第3の画素をさらに含み、
前記第3の画素についての色情報を、各色材の色材量に変換する第2の色変換部をさらに備えることを特徴とする画像処理装置。
【請求項5】
請求項4に記載の画像処理装置において、
前記印刷データは、前記インデックスまたは前記色情報のいずれのデータを有する画素であるかを示すデータ種別情報を画素ごとに有し、
前記データ種別情報に基づいて、前記インデックスのデータ種別の画素には前記第1の色変換部が処理を行い、前記色情報のデータ種別の画素には前記第2の色変換部が処理を行うことを特徴とする画像処理装置。
【請求項6】
請求項1ないし5のいずれか一項に記載の画像処理装置において、
前記量子化データに基づいて、印刷を制御する印刷制御部をさらに備えることを特徴とする画像処理装置。
【請求項7】
印刷にて使用される複数の色材について、指定の色を再現させる色材量の組み合わせに対応するインデックスが指定された第1の画素を含む画像を印刷の対象とする印刷データを取得するステップと、
前記第1の画素についてのインデックスを、各色材の色材量に変換するステップと、
前記第1の画素についての色材量から、印刷にて形成される複数のドットサイズの各ドットサイズについてドット生成量を求めるステップと、
前記各ドットサイズのドット生成量に基づき、前記第1の画素について、各ドットサイズのドットの有無に対応する量子化データを生成するステップとを有し、
前記印刷データは、前記第1の画素と同じインデックスが指定された第2の画素をさらに含み、
前記第1の画素について求められたドット生成量に基づいて、前記第2の画素についての量子化データを生成することを特徴とする画像処理方法。
【請求項8】
複数の色材を使用し、複数のドットサイズのドットを形成して印刷するための画像処理プログラムであって、
コンピューターを、
指定の色を再現させる色材量の組み合わせに対応するインデックスが指定された第1の画素を含む画像を印刷の対象とする印刷データを取得する印刷データ取得部と、
前記第1の画素についてのインデックスを、各色材の色材量に変換する第1の色変換部と、
前記第1の画素についての色材量から、印刷にて形成される複数のドットサイズの各ドットサイズについてドット生成量を求めるドット生成量取得部と、
前記各ドットサイズのドット生成量に基づき、前記第1の画素について、各ドットサイズのドットの有無に対応する量子化データを生成する量子化処理部、として機能させ、
前記印刷データは、前記第1の画素と同じインデックスが指定された第2の画素をさらに含み、
前記量子化処理部は、前記第1の画素について求められたドット生成量に基づいて、前記第2の画素についての量子化データを生成することを特徴とする画像処理プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【公開番号】特開2010−147841(P2010−147841A)
【公開日】平成22年7月1日(2010.7.1)
【国際特許分類】
【出願番号】特願2008−323324(P2008−323324)
【出願日】平成20年12月19日(2008.12.19)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】
【公開日】平成22年7月1日(2010.7.1)
【国際特許分類】
【出願日】平成20年12月19日(2008.12.19)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】
[ Back to top ]