(57)【要約】【課題】印刷時における正確な色再現と処理の高速化とを実現できる画像処理装置、画像処理方法、および画像処理プログラムを提供すること。【解決手段】プリンタードライバー３００は、印刷データＰＤを構成する画素のうち、インデックス指定の画素については１次元色変換が行われる。インデックス指定の画素をラスタ方向に従って順次処理するとき、同じインデックスが指定された連続する複数の画素のうち、ラスタ方向に先頭の画素については１次元色変換を行い、求められたインク量セットに対してドット生成率変換、量子化を行う。一方、先頭画素と同じインデックスが指定された先頭以降の画素については、先頭画素について求めたドット生成率を量子化することによって、先頭画素と重複する処理を省略する。これにより、印刷のための処理を高速化するとともに、インデックスに指定されたインク量セットに従うことで色再現に優れた印刷を実現する。【選択図】図２
2010147841.tif 000002
【特許請求の範囲】
【請求項１】
印刷にて使用される複数の色材について、指定の色を再現させる色材量の組み合わせに対応するインデックスが指定された第１の画素を含む画像を印刷の対象とする印刷データを取得する印刷データ取得部と、
前記第１の画素についてのインデックスを、各色材の色材量に変換する第１の色変換部と、
前記第１の画素についての色材量から、印刷にて形成される複数のドットサイズの各ドットサイズについてドット生成量を求めるドット生成量取得部と、
前記各ドットサイズのドット生成量に基づき、前記第１の画素について、各ドットサイズのドットの有無に対応する量子化データを生成する量子化処理部とを備え、
前記印刷データは、前記第１の画素と同じインデックスが指定された第２の画素をさらに含み、
前記量子化処理部は、前記第１の画素について求められたドット生成量に基づいて、前記第２の画素についての量子化データを生成することを特徴とする画像処理装置。
【請求項２】
請求項１に記載の画像処理装置において、
前記印刷データの第１の画素は、前記第２の画素を特定する特定情報を有し、
前記第１の色変換部は、前記特定情報に基づき特定される画素について変換の処理を行うことなく、
前記量子化処理部は、前記第１の画素におけるドット生成量を、前記特定情報に基づき特定される画素のドット生成量に適用して、当該適用したドット生成量に基づいて前記量子化データを生成することを特徴とする画像処理装置。
【請求項３】
請求項２に記載の画像処理装置において、
前記特定情報は、前記第１の画素と同じインデックスが指定された第２の画素が、前記第１の色変換部が処理する画素順に前記第１の画素から連続する画素数を示し、
前記量子化処理部は、前記第１の画素から前記画素順に前記特定情報に基づく数の画素について、前記第１の画素についてのドット生成量を当該画素のドット生成量に適用して、当該適用したドット生成量に基づいて前記量子化データを生成することを特徴とする画像処理装置。
【請求項４】
請求項１ないし３のいずれか一項に記載の画像処理装置において、
前記印刷データは、印刷すべき色を階調表現する色情報が指定された第３の画素をさらに含み、
前記第３の画素についての色情報を、各色材の色材量に変換する第２の色変換部をさらに備えることを特徴とする画像処理装置。
【請求項５】
請求項４に記載の画像処理装置において、
前記印刷データは、前記インデックスまたは前記色情報のいずれのデータを有する画素であるかを示すデータ種別情報を画素ごとに有し、
前記データ種別情報に基づいて、前記インデックスのデータ種別の画素には前記第１の色変換部が処理を行い、前記色情報のデータ種別の画素には前記第２の色変換部が処理を行うことを特徴とする画像処理装置。
【請求項６】
請求項１ないし５のいずれか一項に記載の画像処理装置において、
前記量子化データに基づいて、印刷を制御する印刷制御部をさらに備えることを特徴とする画像処理装置。
【請求項７】
印刷にて使用される複数の色材について、指定の色を再現させる色材量の組み合わせに対応するインデックスが指定された第１の画素を含む画像を印刷の対象とする印刷データを取得するステップと、
前記第１の画素についてのインデックスを、各色材の色材量に変換するステップと、
前記第１の画素についての色材量から、印刷にて形成される複数のドットサイズの各ドットサイズについてドット生成量を求めるステップと、
前記各ドットサイズのドット生成量に基づき、前記第１の画素について、各ドットサイズのドットの有無に対応する量子化データを生成するステップとを有し、
前記印刷データは、前記第１の画素と同じインデックスが指定された第２の画素をさらに含み、
前記第１の画素について求められたドット生成量に基づいて、前記第２の画素についての量子化データを生成することを特徴とする画像処理方法。
【請求項８】
複数の色材を使用し、複数のドットサイズのドットを形成して印刷するための画像処理プログラムであって、
コンピューターを、
指定の色を再現させる色材量の組み合わせに対応するインデックスが指定された第１の画素を含む画像を印刷の対象とする印刷データを取得する印刷データ取得部と、
前記第１の画素についてのインデックスを、各色材の色材量に変換する第１の色変換部と、
前記第１の画素についての色材量から、印刷にて形成される複数のドットサイズの各ドットサイズについてドット生成量を求めるドット生成量取得部と、
前記各ドットサイズのドット生成量に基づき、前記第１の画素について、各ドットサイズのドットの有無に対応する量子化データを生成する量子化処理部、として機能させ、
前記印刷データは、前記第１の画素と同じインデックスが指定された第２の画素をさらに含み、
前記量子化処理部は、前記第１の画素について求められたドット生成量に基づいて、前記第２の画素についての量子化データを生成することを特徴とする画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷用の画像処理を行う画像処理装置、画像処理方法、および画像処理プログラムに関する。
【背景技術】
【０００２】
従来、インク等の色材のドットを複数のドットサイズで形成するインクジェット方式の印刷においては、印刷の対象とする印刷データに対して、色材の色に対応する色表現のデータに変換する色変換と、各色の色材についてドットサイズごとのドット生成率に変換するドットサイズ変換とが順番に行われる。例えば、印刷データが、Ｒ（レッド）Ｇ（グリーン）Ｂ（ブルー）形式のデータであり、Ｃ（シアン）Ｍ（マゼンタ）Ｙ（イエロー）Ｋ（ブラック）の各色の色材を使用して大ドット、中ドット、小ドットによるカラー印刷を行う場合、ＲＧＢ形式の印刷データをＣＭＹＫ形式のデータに色変換した後、各色についてドットサイズ変換が行われる。そして、各ドットサイズのドット生成率に従いドットサイズを制御したドットを用紙表面に形成することによって、印刷が行われる。
【０００３】
また、印刷にて正確な色再現を実現するため、指定の色を再現するために使用すべき色材量の組み合わせに対応したインデックスを印刷データの画素ごとに指定することがある。印刷の際、印刷データの画素からインデックスを読み出し、所定のテーブルを参照してインデックスに対応する色材量分の色材を使用した印刷を実行することによって、指定の色を正確に再現することができる。こうしたインデックスを用いた印刷は、色見本の印刷等、厳密な色再現が要求される用途に主に用いられる。
【０００４】
なお、色変換の処理を高速化する技術として、画像データが表す画像のうち同じＲＧＢ値が連続する部分に対して、連続した部分のうちの１画素についてＲＧＢ値をＣＭＹＫ値に変換し、変換結果のＣＭＹＫ値を他の画素に割り当てることがある（例えば、特許文献１参照）。この技術によれば、同じ色変換の処理の繰り返しを省略し、色変換の処理の高速化を図ることができる。
【０００５】
【特許文献１】特開２００４−５４６５３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述した特許文献１に記載の技術は、色変換の処理を高速化しようとするものであり、ドットサイズ変換の処理を高速化しようとするものではない。このため、インデックスが指定された画像データの印刷を複数のドットサイズのドットを形成して行う場合に、ドットサイズ変換を高速化することができず、正確な色再現と高速な処理速度とを兼ね備えた印刷用の画像処理を実現することができなかった。
【課題を解決するための手段】
【０００７】
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の形態または適用例として実現することが可能である。
【０００８】
［適用例１］印刷にて使用される複数の色材について、指定の色を再現させる色材量の組み合わせに対応するインデックスが指定された第１の画素を含む画像を印刷の対象とする印刷データを取得する印刷データ取得部と、前記第１の画素についてのインデックスを、各色材の色材量に変換する第１の色変換部と、前記第１の画素についての色材量から、印刷にて形成される複数のドットサイズの各ドットサイズについてドット生成量を求めるドット生成量取得部と、前記各ドットサイズのドット生成量に基づき、前記第１の画素について、各ドットサイズのドットの有無に対応する量子化データを生成する量子化処理部とを備え、前記印刷データは、前記第１の画素と同じインデックスが指定された第２の画素をさらに含み、前記量子化処理部は、前記第１の画素について求められたドット生成量に基づいて、前記第２の画素についての量子化データを生成することを特徴とする画像処理装置。
【０００９】
この構成によれば、第１の画素と同じインデックスが指定された第２の画素については、インデックスを各色材の色材量に変換してドット生成量を求めることなく、第１の画素について求めたドット生成量から量子化データが生成される。このため、量子化データを求めるための処理量が低減することとなり、処理を高速化できる。また、第１の画素および第２の画素においては、インデックスによって直接指定された色材量から量子化データが求められるので、この量子化データによれば正確な色再現の印刷が可能となる。したがって、印刷時における正確な色再現と処理の高速化と兼ね備えた処理を実現することができる。
【００１０】
［適用例２］上記画像処理装置において、前記画像データの第１の画素は、前記第２の画素を特定する特定情報を有し、前記第１の色変換部は、前記特定情報に基づき特定される画素について変換の処理を行うことなく、前記量子化処理部は、前記第１の画素におけるドット生成量を、前記特定情報に基づき特定される画素のドット生成量に適用して、当該適用したドット生成量に基づいて前記量子化データを生成することを特徴とする画像処理装置。
【００１１】
この構成によれば、画像データの特定情報に基づいて第２の画素を特定し、処理の高速化を実現することができる。
【００１２】
［適用例３］上記画像処理装置において、前記特定情報は、前記第１の画素と同じインデックスが指定された第２の画素が、前記第１の色変換部が処理する画素順に前記第１の画素から連続する画素数を示し、前記量子化処理部は、前記第１の画素から前記画素順に前記特定情報に基づく数の画素について、前記第１の画素についてのドット生成量を当該画素のドット生成量に適用して、当該適用したドット生成量に基づいて前記量子化データを生成することを特徴とする画像処理装置。
【００１３】
この構成によれば、特定情報に示される画素数分、第１の画素から連続する第２の画素への処理量が低減することとなり、処理の高速化を実現できる。
【００１４】
［適用例４］上記画像処理装置において、前記画像データは、印刷すべき色を階調表現する色情報が指定された第３の画素をさらに含み、前記第３の画素についての色情報を、各色材の色材量に変換する第２の色変換部をさらに備えることを特徴とする画像処理装置。
【００１５】
この構成によれば、インデックスが指定された第１の画素および第２の画素、並びに印刷すべき色が階調表現された第３の画素とが混在する画像データを高速に処理することができることになる。
【００１６】
［適用例５］上記画像処理装置において、前記画像データは、前記インデックスまたは前記色情報のいずれのデータを有する画素であるかを示すデータ種別情報を画素ごとに有し、前記データ種別情報に基づいて、前記インデックスのデータ種別の画素には前記第１の色変換部が処理を行い、前記色情報のデータ種別の画素には前記第２の色変換部が処理を行うことを特徴とする画像処理装置。
【００１７】
この構成によれば、画像データの種別情報に従って画素ごとにデータ種別に対応する処理が行われるので、第１の画素、第２の画素、および第３の画素を含む画像データを適宜、高速に処理することができる。
【００１８】
［適用例６］上記画像処理装置において、前記量子化データに基づいて、印刷を制御する印刷制御部をさらに備えることを特徴とする画像処理装置。
【００１９】
この構成によれば、色再現に優れた印刷をより高速に行うことができる。
【００２０】
［適用例７］印刷にて使用される複数の色材について、指定の色を再現させる色材量の組み合わせに対応するインデックスが指定された第１の画素を含む画像を印刷の対象とする印刷データを取得するステップと、前記第１の画素についてのインデックスを、各色材の色材量に変換するステップと、前記第１の画素についての色材量から、印刷にて形成される複数のドットサイズの各ドットサイズについてドット生成量を求めるステップと、前記各ドットサイズのドット生成量に基づき、前記第１の画素について、各ドットサイズのドットの有無に対応する量子化データを生成するステップとを有し、前記印刷データは、前記第１の画素と同じインデックスが指定された第２の画素をさらに含み、前記第１の画素について求められたドット生成量に基づいて、前記第２の画素についての量子化データを生成することを特徴とする画像処理方法。
【００２１】
このようにすれば、印刷時における正確な色再現と処理の高速化と兼ね備えた処理を実現することができる。
【００２２】
［適用例８］複数の色材を使用し、複数のドットサイズのドットを形成して印刷するための画像処理プログラムであって、コンピューターを、指定の色を再現させる色材量の組み合わせに対応するインデックスが指定された第１の画素を含む画像を印刷の対象とする印刷データを取得する印刷データ取得部と、前記第１の画素についてのインデックスを、各色材の色材量に変換する第１の色変換部と、前記第１の画素についての色材量から、印刷にて形成される複数のドットサイズの各ドットサイズについてドット生成量を求めるドット生成量取得部と、前記各ドットサイズのドット生成量に基づき、前記第１の画素について、各ドットサイズのドットの有無に対応する量子化データを生成する量子化処理部、として機能させ、前記印刷データは、前記第１の画素と同じインデックスが指定された第２の画素をさらに含み、前記量子化処理部は、前記第１の画素について求められたドット生成量に基づいて、前記第２の画素についての量子化データを生成することを特徴とする画像処理プログラム。
【００２３】
この画像処理プログラムによれば、印刷時における正確な色再現と処理の高速化と兼ね備えた処理を、コンピューターによって実現することができる。
【発明を実施するための最良の形態】
【００２４】
以下、本発明の実施の形態について実施例に基づいて説明する。
【００２５】
（第１実施例）
図１は、第１実施例にかかる画像処理装置のハードウェア構成を示している。画像処理装置の一例であるコンピューター１０は、プリンター２０による印刷の制御装置であり、図１に示すように、ＣＰＵ１１と、ＲＡＭ１２と、ＲＯＭ１３と、ハードディスクドライブ１４と、汎用Ｉ／Ｆ１５と、ビデオＩ／Ｆ１６と、入力Ｉ／Ｆ１７と、バス１８等から構成されている。バス１８は、コンピューター１０を構成する各要素１１〜１７の間でのデータ通信を実現するものであり、図示しないチップセット等によって通信が制御される。
【００２６】
ハードディスクドライブ１４には、プリンタードライバーのドライバープログラム（画像処理プログラム）ＤＰの他、アプリケーションやオペレーティングシステム（以下、「ＯＳ」という）等の各種プログラムが記憶されている。なお、ドライバープログラムＤＰは、フレキシブルディスク、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭ等の光ディスク、光磁気ディスク、メモリーカード、携帯型ハードディスク等、コンピューター読み取り可能な種々の記録媒体に記録された形態でコンピューター１０に供給される。記録媒体に記録されたドライバープログラムＤＰは、コンピューター１０に備わるドライブ装置（図示なし）等によって読み出され、ハードディスクドライブ１４に記録されている。もっとも、ハードディスクドライブ１４への記録方法としてはこれに限られることなく、コンピューター１０が、インターネット等のネットワークを介して所定のサーバーからハードディスクドライブ１４にドライバープログラムＤＰをダウンロードしていてもよい。
【００２７】
汎用Ｉ／Ｆ１５は、例えばＵＳＢ規格に準じたインターフェイスを提供するものであり、外部のプリンター２０が接続されている。ビデオＩ／Ｆ１６には外部のディスプレー３０が接続されており、ビデオＩ／Ｆ１６は、ディスプレー３０に画像を表示するためのインターフェイスを提供する。入力Ｉ／Ｆ１７には外部のキーボード４０とマウス５０が接続されており、入力Ｉ／Ｆ１７は、キーボード４０とマウス５０からの入力信号をコンピューター１０が取得するためのインターフェイスを提供する。
【００２８】
なお、本実施例では、プリンター２０はインクジェット方式の印刷を行い、特に、Ｃ（シアン）Ｍ（マゼンタ）Ｙ（イエロー）Ｋ（ブラック）の各色のインク（色材）を吐出して、例として大・中・小の３種類のドットサイズのドットを選択的に印刷用紙上に形成するものとして以下の説明を行う。もっとも、本実施例ではＣＭＹＫのインクセットを使用する場合を例にして説明するが、インクセットについてはこれに限られるものではなく、例えば、Ｒ（レッド）、Ｂ（ブルー）、ｌｃ（ライトシアン）、ｌｍ（ライトマゼンタ）等のインクをさらに含む構成としてもよい。
【００２９】
次に、コンピューター１０のソフトウェア構成について説明する。図２は、コンピューター１０のソフトウェア構成を示す図である。図２に示すように、コンピューター１０は、ソフトウェア構成として、ＯＳ１００と、アプリケーション２００と、プリンタードライバー３００と、ディスプレードライバー４００とを有する。これらの各ソフトウェア構成は、ハードディスクドライブ１４に記録されたプログラムをＣＰＵ１１が実行することにより機能している。特に、プリンタードライバー３００は、ＣＰＵ１１が、ハードディスクドライブ１４からドライバープログラムＤＰを読み出して実行することにより機能している。
【００３０】
ＯＳ１００は、アプリケーション２００や各ドライバー３００，４００が利用可能なＡＰＩ（Application Programming Interface）の１つとしての画像機器インターフェイス（以下、「ＧＤＩ（Graphical Device Interface）」という）１１０と、スプーラー１２０を提供している。アプリケーション２００からの要求に応じてＧＤＩ１１０が呼び出され、さらにＧＤＩ１１０の要求に応じてプリンタードライバー３００やディスプレードライバー４００が呼び出される。ＧＤＩ１１０は、コンピューター１０がプリンター２０やディスプレー３０等の画像出力装置による画像出力を制御するための汎用的な仕組みを提供する。そして、プリンタードライバー３００はプリンター２０の機種に固有の処理等を司り、ディスプレードライバー４００はディスプレー３０の機種に固有の処理等は司る。スプーラー１２０は、アプリケーション２００やプリンタードライバー３００やプリンター２０の間に介在し、ジョブのコントロール等を実行する。
【００３１】
アプリケーション２００は、例えば、色見本のチャートを印刷するための見本印刷アプリケーションであり、キーボード４０やマウス５０等へのユーザー操作に従って印刷データＰＤを生成する。例えば、ユーザーによって任意に入力された内容の画像や予め登録された色見本の画像等が、アプリケーション２００によって印刷対象の印刷データＰＤとされる。
【００３２】
ここで、印刷データＰＤのデータ構造について説明する。印刷データＰＤはビットマップデータであり、マトリクス状に配列された多数の画素によりビットマップ画像を表現している。また、本実施例では、印刷データＰＤの１画素に４バイトの情報量が割り当てられ、各画素にはＲＧＢ値またはインデックスのいずれかの画素データが格納される。すなわち、印刷データＰＤの各画素は、ＲＧＢ値またはインデックスのいずれかによって印刷すべき色が指定されている。
【００３３】
図３（ａ）に、ＲＧＢ値指定の画素のデータ形式を示す。図３（ａ）に示すように、ＲＧＢ値指定の画素（第３の画素）の画素データは、データの０バイト目にデータ種別フラグＦが設定される。このデータ種別フラグＦは、ＲＧＢ値指定の画素、またはインデックス指定の画素のいずれの画素であるかを示している。ＲＧＢ値指定の画素では、データ種別フラグＦは「０」とされる。そして、続く１バイト目にはＲ値、２バイト目にはＧ値、３バイト目にはＢ値が格納される。すなわち、ＲＧＢ値指定の画素では、上述した４バイトのうち３バイトがＲＧＢ値を格納するために使用され、ＲＧＢ各チャネルの階調値はそれぞれ８ビット（２５６階調）で階調表現される。
【００３４】
図３（ｂ）に、インデックス指定の画素のデータ形式を示す。図３（ｂ）に示すように、インデックス指定の画素の画素データの０バイト目には、データ種別フラグＦとして「１」が設定される。続く、１バイト目には、同一のインデックスを指定した画素が連続して繰り返される画素数を示す繰り返し数情報（特定情報）ＫＤが格納され、２バイト目にはインデックスの上位８ビット、３バイト目にはインデックスの下位８ビットが格納される。すなわち、インデックス指定の画素では、合計１６ビットのインデックスを格納するために上述した４バイトのうち２バイトが使用され、残る１バイト分を繰り返し情報に使用している。なお、インデックスとは、指定の色を再現するために使用すべき各色インクの使用量を示すインク値の組み合わせ（以下、「インク量セット」という）に予め対応させたものである。このインクデックスの組み合わせは、例えば、プリンターメーカーが予め設定したり、ユーザーが所望の組み合わせを追加したりすることによって、後述する１次元色変換テーブル３３１に予め登録されている。
【００３５】
もっとも、印刷データＰＤのデータ構造としては上述した構成に限られるものではない。例えば、上述した図３（ｂ）の例では、０バイト目の全８ビットのうち１ビットがデータ種別フラグＦとして使用され、残る７ビットについては未使用である。そこで、０バイト目の残された７ビット分と１バイト目の８ビット分の合計１５ビットを使用して繰り返し数情報を格納する構成としてもよい。また、０バイト目の８ビットのうち、データ種別フラグＦを格納する位置としては、図３の例に限られることなく、例えば、０バイト目の先頭ビット等、０バイト目の８ビットのうちのどのビットにデータ種別フラグＦを割り当ててもよい。
【００３６】
さらに、０バイト目〜３バイト目のどのバイトにデータ種別フラグＦを割り当てるかについても、図３の例に限られない。例えば、図４（ａ）に示すように、０バイト目に繰り返し数情報ＫＤ、１バイト目および２バイト目にインデックスを格納して、３バイト目のいずれかのビットにデータ種別フラグＦを割り当てたデータ構成としてもよい。また、図４（ｂ）に示すように、０バイト目に繰り返し数情報ＫＤ、２バイト目および３バイト目にインデックスを格納して、１バイト目のいずれかのビットにデータ種別フラグＦを割り当てたデータ構成としてもよい。なお、こうして、インデックス指定のデータ形式についてデータ種別フラグＦを割り当てる場所を変更した場合には、ＲＧＢ値指定のデータ形式についても同様にデータ種別フラグＦを割り当てる場所を変更しておくことが望ましい。両方のデータ形式に対して同様の処理によって、データ種別フラグＦを読取可能となるからである。
【００３７】
印刷データＰＤの構造について、具体例を用いてさらに説明する。図５（ａ）に印刷データＰＤが表す画像の一例を示す。図５（ａ）では、ＲＧＢ値指定の画素を白地、インデックス指定の画素を斜線で示しており、図示するように、印刷データＰＤが表す画像Ｇは、ＲＧＢ値指定の画素とインデックス指定の画素とから構成されている。なお、図５の例では、画素Ｐ３〜Ｐ５の３つの画素に指定されるインデックスは同一としている。
【００３８】
プリンタードライバー３００による後述する色変換、ドットサイズ変換および量子化の処理は、ラスタ方向に従って行われる。すなわち、印刷データＰＤの画像左端上の画素から右端の画素に向かって順次処理が行われ、右端の画素に至ると画素１つ分下の行の左端の画素に戻って、右端の画素に向かう方向に従って処理が行われる。図５（ｂ）には、印刷データＰＤが表す画像のうち、ラスタ方向に連続した画素Ｐ１〜Ｐ８についてのデータ例を示している。図５（ｂ）の例では、画素Ｐ１はＲＧＢ値指定の画素であるため、データの０バイト目にはデータ種別フラグＦとして「０」、１〜３バイト目にＲＧＢ値が格納されている。画素Ｐ２、Ｐ６〜Ｐ８についても、同様に、０バイト目にデータ種別フラグＦが「０」、１〜３バイト目にＲＧＢ値が格納されている。
【００３９】
一方、画素（第１の画素）Ｐ３については、インデックス指定の画素であるため、０バイト目にはデータ種別フラグＦとして「１」、１バイト目には繰り返し数情報ＫＤが格納される。この繰り返し数情報ＫＤは、自身の画素と同一のインデックスを指定する画素がラスタ方向に連続する画素数を示すものである。図５（ａ）の場合、画素Ｐ３〜Ｐ５の３つの画素について同一のインデックスであるので、先頭となる画素Ｐ３の１バイト目には繰り返し数情報ＫＤとして「３」が格納される。そして、続く２バイト目には、指定の色に対応するインデックスの上位８ビット、３バイト目にはインデックスの下位８ビットのデータが格納される。この画素Ｐ３の画素情報によって、３つの画素Ｐ３〜Ｐ５に対して同一のインデックスが指定される。
【００４０】
インデックス指定の画素のうち、先頭の画素Ｐ１からラスタ方向に連続する画素（第２の画素）Ｐ４、Ｐ５については、画素Ｐ３の画素情報によってインデックスが指定済であり、さらにインデックスを指定する必要がないため、上述した４バイトの領域には「０」が格納され、未入力の状態とされる。
【００４１】
上述した構成を有する印刷データＰＤは、ＯＳ１００が提供するＧＤＩ１１０やスプーラー１２０を経由してアプリケーション２００からプリンタードライバー３００に出力される。
【００４２】
次に、プリンタードライバー３００について説明する。図２に示すように、プリンタードライバー３００は、印刷データ取得部３１０と、データ種類判定部３２０と、１次元色変換部（第１の色変換部）３３０と、３次元色変換部（第２の色変換部）３４０と、ドットサイズ変換部（ドット生成量取得部）３５０と、ハーフトーン処理部（量子化処理部）３６０と、ラスタ化処理部（印刷制御部）３７０とを含む。
【００４３】
印刷データ取得部３１０は、アプリケーション２００から印刷データＰＤを取得する。また、印刷データ取得部３１０は、必要に応じて、印刷データＰＤを印刷解像度に対応する解像度のデータに変換する処理を行う。
【００４４】
データ種類判定部３２０は、印刷データＰＤに含まれるデータ種別フラグＦを参照して、印刷データＰＤの画素ごとにＲＧＢ値指定の画素またはインデックス指定の画素のいずれであるかを判断する処理を行う。
【００４５】
１次元色変換部３３０は、インデックス指定の画素について、インク量セットに色変換する処理（分版）を行う。１次元色変換は、インデックスと各色のインク値とを対応付けた１次元色変換テーブル（以下、「１Ｄ−ＬＵＴ」という）３３１に従って行われる。図５に例として示すように、１Ｄ−ＬＵＴ３３１では、１６ビットで表されるインデックスの番号と、インクセットの各色について８ビットのインク値（本実施例では、Ｃ値、Ｍ値、Ｙ値、Ｋ値）とが対応付けられている。この１Ｄ−ＬＵＴ３３１は、ハードディスクドライブ１４等に予め格納され、１次元色変換部３３０は、１Ｄ−ＬＵＴ３３１に従って、画素に指定されたインデックスを各色インクのインク値、すなわちインク量セットに変換する。
【００４６】
３次元色変換部３４０は、ＲＧＢ値指定の画素について、指定のＲＧＢ値をインク量セットに色変換する処理（分版）を行う。このときの色変換は、ＲＧＢ値とインク量セットとを対応付けた３次元色変換テーブル（以下、「３Ｄ−ＬＵＴ」という）３４１に従って行う。３Ｄ−ＬＵＴ３４１は、ＲＧＢ値と各色のインク量セットとの対応関係を色空間における複数の代表的な座標について記述したテーブルであり、色の再現性、階調性、ガマット、インクデューティ等の特性が総合的に良好となるようＲＧＢ値とインク量セットとが予め対応付けられている。この３Ｄ−ＬＵＴ３４１は、ハードディスクドライブ１４等に予め格納されており、３次元色変換部３４０は、３Ｄ−ＬＵＴ３４１に従って、画素に指定されたＲＧＢ値をインク量セットに変換する。なお、３次元色変換の際、３次元色変換部３４０は、３Ｄ−ＬＵＴ３４１に直接記述されていないＲＧＢ値については補間演算を行うことにより、インク量セットへの変換が行われる。
【００４７】
ドットサイズ変換部３５０は、インク量セットの各インク値を、各ドットサイズのドット生成量を示すドット生成率に変換する処理を行う。このドット生成率変換は、ドット生成率変換テーブル３５１に従って行われる。図７にドット生成率変換テーブル３５１の一例を示す。図示するように、ドット生成率変換テーブル３５１は、２５６階調（８ビット）の各インク値と、小ドット、中ドット、大ドットの各ドット生成率とが対応付けられている。このドット生成率変換テーブル３５１では、インク値が小さい範囲では小ドットによる画像形成が支配的となって、インク値が大きい範囲では大ドットによる画像形成が支配的となるように設定されている。これにより、低濃度の画像形成で発生する粒状感を抑制するとともに、高濃度の画像形成を少ないドット数で行うことができ、高画質且つ高速な印刷が実現されるようになっている。ドット生成率変換テーブル３５１は、ハードディスクドライブ１４等に予め格納されており、ドットサイズ変換部３５０は、ドット生成率変換テーブル３５１を参照して、各色インク値を各ドットサイズのドット生成率に変換する。
【００４８】
ハーフトーン処理部３６０は、ドットサイズ変換部３５０により求められたドット生成率に対してハーフトーン処理を行い、各ドットサイズについてドットの有無を示す量子化データに変換する。
【００４９】
ラスタ化処理部３７０は、量子化データをラスタ化して、プリンター２０が処理可能な印刷制御データＣＤを生成する。そして、生成した印刷制御データＣＤをＯＳ１００が提供するスプーラー１２０を介してプリンター２０に出力することにより、当該印刷制御データＣＤに基づくプリンター２０の動作を制御して、見本チャートを印刷用紙上に印刷させる。
【００５０】
ここで、上述した１次元色変換部３３０およびドットサイズ変換部３５０は、ラスタ方向に従って印刷データＰＤの画素を順次処理するとき、繰り返し数情報ＫＤが示す画素数分の画素に対しては先頭の画素についてのみ処理を行う。すなわち、先頭の画素については１次元色変換およびドットサイズ変換の処理を行い、先頭の画素に続く画素については１次元色変換およびドットサイズ変換の処理を行わない。そして、ハーフトーン処理部３６０は、先頭の画素について求められたドット生成率を、先頭の画素に続く繰り返し数分の画素に適用するようにして、先頭の画素を含めた繰り返し数分の画素に対しては同じドット生成率を適用して量子化データへの変換を行う。これにより、１次元色変換およびドット生成率変換に要する処理量の低減を図る。
【００５１】
次に、コンピューター１０がプリンター２０の印刷を制御する処理についてフローチャートに従って説明する。図８，９は、印刷制御処理の流れを示すフローチャートである。処理を開始して、プリンタードライバー３００の印刷データ取得部３１０がアプリケーション２００から印刷データＰＤを取得すると（ステップＳ１００）、データ種類判定部３２０は、印刷データＰＤを構成する画素のうちからラスタ方向に従う１つの画素を選択して注目画素とする（ステップＳ１１０）。
【００５２】
次に、データ種類判定部３２０は、印刷データＰＤから注目画素のデータ種別フラグＦを読み取り（ステップＳ１２０）、データ種別フラグＦが「１」になっているか否かを判断する（ステップＳ１３０）。
【００５３】
読み取ったデータ種別フラグが「０」であった場合（ステップＳ１３０：Ｎｏ）、注目画素はＲＧＢ値指定の画素であると判断され、当該画素については３次元色変換が行われる。３次元色変換部３４０は、印刷データＰＤから注目画素のＲＧＢ値を読み取り（ステップＳ１４０）、３Ｄ−ＬＵＴ３４１に従って３次元色変換処理を行うことにより、注目画素のＲＧＢ値がインク量セットに変換される（ステップＳ１５０）。そして、ドットサイズ変換部３５０は、ドット生成率変換テーブル３５１に従ってインク量セットを各ドットサイズのドット生成率に変換し（ステップＳ１６０）、ハーフトーン処理部３６０はドット生成率をドットの有無に対応した量子化データに量子化する（ステップＳ１７０）。この量子化は、ディザ法や誤差拡散法等のハーフトーン処理により行われる。例えば、ディザ法によるハーフトーン処理を行う場合であれば、ディザマトリクスで指定される閾値とドット生成率とを比較して、ドット生成率が閾値より大きいか否かに応じてドットの有無が定められる。
【００５４】
次に、ラスタ化処理部３７０は、印刷データＰＤの全画素について処理を終了したか否かを判断する（ステップＳ１８０）。未処理の画素が残っていない場合（ステップＳ１８０：Ｎｏ）、ステップＳ１１０に戻り、ラスタ方向に従う次の画素に注目して処理を繰り返す。図５に示した例の場合、上述したステップＳ１３０〜Ｓ１８０の処理により、画素Ｐ１〜Ｐ８のうち画素Ｐ１から処理が開始され、画素Ｐ１，Ｐ２のそれぞれについて、３次元色変換、ドット生成率変換、量子化の処理が順次行われる（図１０（ａ）参照）。
【００５５】
一方、ステップＳ１３０の判断において、読み取ったデータ種別フラグが「１」であった場合（ステップＳ１３０：Ｙｅｓ）、注目画素はインデックス指定の画素であると判断される。この場合、１次元色変換部３３０は、印刷データＰＤから注目画素のインデックスと繰り返し数情報ＫＤとを読み取り（ステップＳ２００）、１Ｄ−ＬＵＴ３３１に従い１次元色変換処理を行う（ステップＳ２１０）。この１次元色変換処理により、注目画素に指定されたインデックスがインク量セットに変換される。そして、ドットサイズ変換部３５０は、ドット生成率変換テーブル３５１に従って、インク量セットのインク値を各ドットサイズのドット生成率のデータに変換し（ステップＳ２２０）、ハーフトーン処理部３６０によって、注目画素について量子化の処理が行われる（ステップＳ２３０）。図５の例では、画素Ｐ１，Ｐ２の次に注目画素とされる画素Ｐ３、すなわち同じインデックス指定の画素Ｐ３〜Ｐ５のうちの先頭画素について、１次元色変換、ドット生成率変換、量子化の処理が順に行われる（図１０（ｂ）参照）。
【００５６】
次に、ステップＳ２００にて読み取った繰り返し数情報ＫＤに規定される画素数分の画素について、ステップＳ２３０の量子化を行ったか否かを判断する（ステップＳ２４０）。繰り返し数分の画素について量子化を行っていなければ（ステップＳ２４０：Ｎｏ）、ラスタ方向に従う次の画素を選択して新たな注目画素とする（ステップＳ２５０）。そして、ステップＳ２２０にて求めたドット生成率を当該新たな注目画素に適用して（ステップＳ２６０）、量子化する（ステップＳ２３０）。これにより、図５の例であれば、同じインデックスが指定された先頭の画素Ｐ３の次に注目される画素Ｐ４については、画素Ｐ３と同じドット生成率が適用されて、画素Ｐ４についての量子化が行われる。その後、同様にして、画素Ｐ５についても画素Ｐ３と同じドット生成率が適用されて、画素Ｐ５について量子化の処理が行われる（ステップＳ２３０、図１０（ｃ）参照）。こうして、繰り返し数の画素数分、ステップＳ２３０〜Ｓ２６０の処理を繰り返すことにより、先頭画素以降の画素については、先頭画素のドット生成率を適用することによって、新たに１次元色変換およびドット生成率変換の処理を行うことなく量子化の処理がなされる。すなわち、繰り返し数情報ＫＤに指定された３つの画素Ｐ３，Ｐ４，Ｐ５に対して、１次元色変換およびドット生成率変換の処理を一度行うだけで済むことになる。そして、繰り返し数の画素数分、量子化が行われると（ステップＳ２４０：Ｙｅｓ）、ステップＳ１８０に進む。
【００５７】
ステップＳ１８０の判断において、印刷データＰＤを構成する全画素について処理を終了したと判断すると（ステップＳ１８０：Ｙｅｓ）、ステップＳ１９０に進む。ステップＳ１９０では、ラスタ化処理部３７０は、量子化データのドット有りの画素に応じて、インクを吐出させる吐出信号をプリンター２０が有する印刷ヘッドの各走査パスおよび各ノズルに割り振る処理を実行する。これにより、プリンター２０が処理可能な印刷制御データＣＤが生成される。そして、生成された印刷制御データＣＤは、プリンター２０の制御に必要な信号が添付された状態でスプーラー１２０を介してプリンター２０に出力され、プリンター２０による印刷が実行される。こうして印刷が実行されると、印刷制御処理を終了する。
【００５８】
以上に説明したように、本実施例では、印刷データＰＤに含まれる繰り返し数情報ＫＤに基づいて、ラスタ方向に連続して且つ同じインデックスの色が指定された複数の画素のうち、先頭の画素（図５の例では画素Ｐ３）についてのみ１次元色変換、ドット生成率変換および量子化の処理が行われる。そして、先頭画素以降の画素（図５の例では画素Ｐ４，Ｐ５）については、新たに１次元色変換、ドット生成率変換を行うことなく、先頭の画素についてのドット生成率を用いて量子化が行われる。すなわち、同じインデックスの色が指定された複数の画素のうち、１次元色変換とドット生成率変換の処理が実際に行われるのは先頭の画素のみとなる。したがって、インデックスでインク量セットが指定された印刷データＰＤに対する処理量が低減することとなり、印刷制御の処理の高速化が実現される。
【００５９】
また、印刷データＰＤを構成する画素のうち、インデックス指定の画素については、インデックスによってインク量セットが直接指定されているため、ＲＧＢ値によって色を指定する場合に比べると３次元色変換の補間処理に伴う変換誤差等の影響を受けることがなく、より正確な色再現を実現できる。したがって、正確な色再現および高速な処理速度を兼ね備えた印刷制御が可能となる。
【００６０】
（第２実施例）
上記第１実施例では、図６に示すように、各色２５６階調（８ビット）のインク量セットに対応する１Ｄ−ＬＵＴ３３１を用いて、インデックスを２５６階調のインク値に変換するようにした。インク量セットのインク値を１６ビットとして、１６ビットのインク値を割り当てたインデックスを１Ｄ−ＬＵＴに登録しておくことによって、より階調性に優れた高画質な印刷を実現することが可能である。第２実施例では、図１１に示すように、１Ｄ−ＬＵＴ３３０ｂにおいて、各インデックスに８ビットまたは１６ビットのいずれかが割り当てられた場合の処理について説明する。なお、以下では、第１の実施例と同様の構成については同じ符号を付与し、詳細な説明は省略する。
【００６１】
第２実施例の処理の流れについて、図１２のフローチャートに従って説明する。なお、第１実施例におけるステップＳ１００〜Ｓ１９０の処理については第２実施例においても同様であるため詳細な説明は省略し、インデックスが指定された注目画素に対して行う処理について説明することとする。
【００６２】
ステップＳ１３０の判断において、注目画素にインデックスが指定されていると判断すると（ステップＳ１３０：Ｙｅｓ）、ステップＳ３００に処理が進む。そして、インデックスが指定された注目画素について、印刷データＰＤからインデックスと繰り返し数情報ＫＤを読み取り（ステップＳ３００）、１Ｄ−ＬＵＴ３３０ｂに従う１次元色変換（ステップＳ３１０）を行う。その後、変換したインク量セットのインク値が１６ビットデータであるか否かを判断する（ステップＳ３２０）。インク値が１６ビットデータでなく、８ビットデータであれば（ステップＳ３２０：Ｎｏ）、上記実施例と同様に、１Ｄ−ＬＵＴ３３０ｂに従ってインク量セットを各ドットの生成率に変換する（ステップＳ３３０）。
【００６３】
インク値が１６ビットデータであれば（ステップＳ３２０：Ｙｅｓ）、ステップＳ３４０に進んで、１６ビット精度のドット生成率を求めるための補間処理を行う。
【００６４】
具体的には、ステップＳ３４０に処理が進むと、インク量セットの各インク色について下位８ビット分を切り捨てた上位８ビットのインク量セットからドット生成率を取得する。これにより、図１３に例として示すように、１６ビット精度のインク値Ｃに対して、ドット生成率変換テーブル３５１に対応する８ビット精度のインク値Ｌからドット生成率が求められる。そして、下位８ビット分を切り上げた上位８ビットのインク値からドット生成率を取得する（ステップＳ３５０）。ここでは、図１３に示すように、８ビット精度のインク値Ｈからドット生成率が求められる。
【００６５】
次に、インク値Ｌのドット生成率とインク値Ｈのドット生成率とを補間して、１６ビット精度のインク値Ｃに対応するドット生成率を算出する（ステップＳ３６０）。例えば、インク値の下位８ビットを用いて線形補間等の手法を用いて補間することによって１６ビット精度のドット生成率を得ることができる。
【００６６】
ステップＳ３３０またはステップＳ３６０にてドット生成率が求まると、ステップＳ３７０に進んで量子化を行う。ステップＳ３７０以降の処理については、上記実施例におけるステップＳ２３０〜Ｓ２５０と同様であるため、説明を省略する。
【００６７】
上述した第２実施例によれば、インデックスによって各インク色が１６ビット精度となるインク量セットが指定された場合に、８ビットに対応するドット生成率変換テーブル３５１に従って１６ビット精度のドット生成率を得ることができる。したがって、より階調性に優れ、高画質な印刷を実現することができる。また、ドット生成率変換テーブル３５１は依然として８ビットに対応したものであるため、ドット生成率変換テーブル３５１を格納するために使用するメモリ容量を増やすことなく、１６ビット精度の処理に対応させることが可能である。
【００６８】
以上、第１実施例および第２実施例について説明したが、これに限られることなくその趣旨に逸脱しない様々な形態としてもよい。以下、変形例について説明する。
【００６９】
（変形例１）
上記第１実施例および第２実施例では、印刷データＰＤの画素に繰り返し数情報ＫＤを設定することにより、同じインデックスが指定された画素を特定するようにしたが、同じインデックスが指定された画素を特定する方法としてはこれに限られない。例えば、繰り返し数情報ＫＤではなく、ラスタ方向の順番に従う前または後の画素と同じインデックスが指定されているかを示すフラグを用いてもよい。例えば、図１４に示すように、同じインデックスが指定される３つの画素Ｐ３〜Ｐ５のうち、画素Ｐ３については、インデックスを指定した旨を示すデータ種別フラグ「１」を設定し、画素Ｐ４，Ｐ５についてはラスタ方向に前方の画素と同じインデックスを指定する旨を示すデータ種別フラグ「２」を設定しておく。印刷制御処理において、データ種別フラグ「２」が設定された画素については、データ種別フラグ「１」が設定された前方の画素について求めたドット生成率を適用して量子化することにより、処理を高速化できる。
【００７０】
（変形例２）
上記第１実施例および第２実施例では、繰り返し数情報ＫＤが設定された印刷データＰＤを、アプリケーション２００が生成する場合を例にして説明したが、印刷データに対してプリンタードライバー３００が繰り返し数情報ＫＤを付加する構成としてもよい。すなわち、アプリケーション２００は、繰り返し数情報ＫＤが未設定であるビットマップ形式の印刷データＰＤ’（図１５（ａ）参照）を生成する。プリンタードライバー３００の印刷データ取得部３１０は印刷データＰＤ’を解析して、同じインデックスが指定された複数の画素のうち、先頭の画素に対して繰り返し数情報ＫＤを設定することにより、印刷データＰＤを取得する（図１５（ｂ）参照）。そして、印刷データＰＤに対して、データ種類判定部３２０、１次元色変換部３３０、３次元色変換部３４０、ドットサイズ変換部３５０、ハーフトーン処理部３６０、ラスタ化処理部３７０が上記実施例と同様の処理を行う。これにより、繰り返し数情報ＫＤが設定されていない印刷データＰＤ’についても処理の高速化と高画質な印刷とを実現できる。
【００７１】
なお、上記第１実施例および第２実施例では、アプリケーション２００から受け取る印刷データＰＤはビットマップデータであったが、印刷内容のオブジェクトやテキスト等を所定の言語で記述した描画データを受け取るようにしてもよい。この場合、印刷データ取得部３１０は、受け取った描画データの言語を解釈してビットマップ画像への展開、インデックスの付与、および繰り返し数情報ＫＤの設定を行うことによって、印刷データＰＤを取得できる。
【００７２】
（変形例３）
上記第１実施例および第２実施例では、プリンタードライバー３００が、色変換の処理、ドット生成率変換の処理、ラスタ化の処理を行うようにしたが、これらの処理のうち一部の処理はプリンター側で行う構成としてもよい。例えば、画像処理装置であるコンピューター１０は、色変換、ドット生成率変換、および量子化の処理を行い、量子化データを印刷制御データとしてプリンター２０に出力して、ラスタ化の処理はプリンター２０が行う構成としてもよい。また、コンピューター１０は、色変換およびドット生成率変換の処理を行い、ドット生成率のデータを印刷制御データとしてプリンター２０に出力して、量子化およびラスタ化の処理はプリンター２０が行う構成としてもよい。もっとも、色変換の処理、ドット生成率変換の処理、ラスタ化の処理を行う画像処理装置をプリンターが備え、色変換以降の処理を全てプリンター側で実行する構成としてもよい。
【図面の簡単な説明】
【００７３】
【図１】第１実施例にかかる画像処理装置のハードウェア構成を示す図。
【図２】コンピューターのソフトウェア構成を示す図。
【図３】印刷データを説明する図であり、（ａ）はＲＧＢ値指定の画素のデータ形式、（ｂ）はインデックス指定の画素のデータ形式を示す図。
【図４】印刷データのデータ構成の一例を説明する図。
【図５】印刷データの一例を示す図であり、（ａ）は印刷データが表す画像、（ｂ）は、印刷データのデータ構成例を示す図。
【図６】１Ｄ−ＬＵＴの一例を示す図。
【図７】ドット生成率変換テーブルの一例を示す図。
【図８】印刷制御処理の流れを示すフローチャート。
【図９】印刷制御処理の流れを示すフローチャート。
【図１０】印刷データへの処理を説明する図。
【図１１】第２実施例にかかる１Ｄ−ＬＵＴの一例を示す図。
【図１２】印刷制御処理の流れを示すフローチャート。
【図１３】ドット生成率変換を説明する図。
【図１４】変形例１にかかる印刷データを説明する図。
【図１５】変形例２にかかる印刷データへの処理を説明する図。
【符号の説明】
【００７４】
１０…画像処理装置としてのコンピューター、２０…プリンター、２００…アプリケーション、３００…プリンタードライバー、３１０…印刷データ取得部、３２０…データ種類判定部、３３０…第１の色変換部としての１次元色変換部、３３１…１Ｄ−ＬＵＴ、３４０…第２の色変換部としての３次元色変換部、３４１…３Ｄ−ＬＵＴ、３５０…ドット生成量取得部としてのドットサイズ変換部、３５１…ドット生成率変換テーブル、３６０…量子化処理部としてのハーフトーン処理部、３７０…印刷制御部としてのラスタ化処理部、ＤＰ…画像処理プログラムとしてのドライバープログラム、ＰＤ…印刷データ、ＣＤ…印刷制御データ、Ｆ…データ種別情報としてのデータ種別フラグ、ＫＤ…特定情報としての繰り返し数情報、Ｐ１，Ｐ２，Ｐ６，Ｐ７，Ｐ８…第３の画素としてのＲＧＢ値指定の画素、Ｐ３…第１の画素としてのインデックス指定の画素、Ｐ４，Ｐ５…第２の画素としてのインデックス指定の画素。
【図１】
2010147841.tif 000003
【図２】
2010147841.tif 000004
【図３】
2010147841.tif 000005
【図４】
2010147841.tif 000006
【図５】
2010147841.tif 000007
【図６】
2010147841.tif 000008
【図７】
2010147841.tif 000009
【図８】
2010147841.tif 000010
【図９】
2010147841.tif 000011
【図１０】
2010147841.tif 000012
【図１１】
2010147841.tif 000013
【図１２】
2010147841.tif 000014
【図１３】
2010147841.tif 000015
【図１４】
2010147841.tif 000016
【図１５】
2010147841.tif 000017