(57)【特許請求の範囲】
【請求項１】
１次元以上の色空間における座標値として表現されたカラー画像データを受け取り、該カラー画像データに所定の補正を行って出力する画像処理装置であって、
前記色空間を各次元について分割することによって得られた格子点の各々に対応付けて、該格子点の座標値が示すカラー画像データの補正データを記憶している補正テーブルと、
前記カラー画像データの座標値からの距離が所定値以内の範囲から、重複を許してＮ（Ｎは２以上の整数）個の前記格子点を不確定的に選択する格子点選択手段と、
前記選択したＮ個の格子点に対応付けて記憶されている補正データに基づいて、前記カラー画像データに対応する補正データを算出する補正データ算出手段と
を備える画像処理装置。
【請求項２】
請求項１記載の画像処理装置であって、
前記格子点選択手段は、前記Ｎ個の格子点を選択するに際して、前記色空間を各次元毎に分割している階調値たる分割階調値を各成分毎にＮ組選択するとともに、該分割階調値の選択に際しては、前記カラー画像データの座標値に近い該分割階調値ほど高い確率で選択する手段である画像処理装置。
【請求項３】
請求項１記載の画像処理装置であって、
前記補正データ算出手段は、前記Ｎ個の格子点に対応づけて記憶されている補正データを算術平均することによって、前記カラー画像データに対応する補正データを算出する手段である画像処理装置。
【請求項４】
Ｍ（Ｍは任意の正の整数）次元の色空間における座標値として表現されたカラー画像データを受け取り、該カラー画像データに所定の補正を行って出力する画像処理装置であって、
前記色空間を各次元について分割することによって得られた格子点の各々に対応付けて、該格子点の座標値が示すカラー画像データの補正データを記憶している補正テーブルと、
前記カラー画像データの座標値からの距離が所定値以内の範囲から、重複を許して前記Ｍ個以下の複数の前記格子点を選択する格子点選択手段と、
前記選択した複数の格子点に対応付けて記憶されている補正データに基づいて、前記カラー画像データに対応する補正データを算出する補正データ算出手段と
を備える画像処理装置。
【請求項５】
請求項４記載の画像処理装置であって、
前記格子点選択手段は、前記Ｍ個以下の複数の格子点を選択するに際して、前記色空間を各次元毎に分割している階調値たる分割階調値を、各成分毎に該複数組選択するとともに、該分割階調値の選択に際しては、前記カラー画像データの座標値に近い該分割階調値ほど高い確率で選択する手段である画像処理装置。
【請求項６】
請求項４記載の画像処理装置であって、
前記補正データ算出手段は、前記複数の格子点に対応づけて記憶されている補正データを算術平均することによって、前記カラー画像データに対応する補正データを算出する手段である画像処理装置。
【請求項７】
１次元以上の色空間における座標値として表現されたカラー画像データを受け取り、該カラー画像データに所定の補正を行って出力する画像処理装置であって、
前記色空間を各次元について分割することによって得られた格子点の各々に対応付けて、該格子点の座標値が示すカラー画像データの補正データを記憶している補正テーブルと、
前記カラー画像データの座標値からの距離が所定値以内の範囲から、重複を許してＮ（Ｎは２以上の整数）個の前記格子点を選択する格子点選択手段と、
前記選択したＮ個の格子点に対応付けて記憶されている補正データを前記補正テーブルから読み出し、該読み出した補正データを算術平均することによって、
前記画像データに対応する補正データを算出する補正データ算出手段と
を備える画像処理装置。
【請求項８】
請求項７記載の画像処理装置であって、
前記格子点選択手段は、前記Ｎ個の格子点を選択するに際して、前記色空間を各次元毎に分割している階調値たる分割階調値を各成分毎にＮ組選択するとともに、該分割階調値の選択に際しては、前記カラー画像データの座標値に近い該分割階調値ほど高い確率で選択する手段である画像処理装置。
【請求項９】
請求項１，４，７のいずれかに記載の画像処理装置であって、
前記格子点選択手段は、前記複数選択した格子点の確率的な期待値と前記カラー画像データの座標値との偏差が所定値以下となるように、該複数の格子点を選択する手段である画像処理装置。
【請求項１０】
請求項９記載の画像処理装置であって、
前記格子点選択手段は、前記色空間を各次元毎に分割している階調値たる分割階調値を、前記選択すべき格子点の個数（Ｋ個）だけ各成分毎に選択することによって、該Ｋ個の格子点を選択する手段である画像処理装置。
【請求項１１】
請求項１０記載の画像処理装置であって、
前記格子点選択手段は、
前記カラー画像データの座標値にノイズを加えて、各成分毎に判定用データを生成する判定用データ生成手段と、
前記成分毎の判定用データと所定の閾値とを比較することによって、各成分毎に前記Ｋ個の分割階調値を選択する分割階調値選択手段と
を備えている画像処理装置。
【請求項１２】
請求項１１記載の画像処理装置であって、
前記複数の分割階調値の中から、前記カラー画像データの座標値よりも小さく且つ該座標値に最も近い分割階調値たる第１の分割階調値と、該カラー画像データの座標値よりも大きく且つ該座標値に最も近い分割階調値たる第２の分割階調値とを、各成分毎に検出する分割階調値検出手段と、
前記第１の分割階調値と前記第２の分割階調値との階調差たる格子間階調差を各成分毎に算出し、階調値０から該格子間階調差の範囲で、互いに期待値の異なる前記Ｋ個のノイズを各成分毎に発生させるノイズ発生手段と
を備え、
前記判定用データ生成手段は、前記カラー画像データの座標値に前記Ｋ個のノイズを加えることにより、各成分毎にＫ個の前記判定用データを生成する手段であり、
前記分割階調値選択手段は、前記Ｋ個の判定用データと前記所定の閾値との大小関係に基づいて前記第１の分割階調値あるいは前記第２の分割階調値のいずれかを該判定用データ毎に選択することにより、前記Ｋ個の分割階調値を選択する手段である画像処理装置。
【請求項１３】
請求項１２記載の画像処理装置であって、
前記ノイズ発生手段は、
前記格子間階調差のＫ分の１の階調値を、各成分毎にシフト量として算出するシフト量算出手段と、
階調値０から前記シフト量の範囲のノイズを各成分毎に基準ノイズとして発生する基準ノイズ発生手段と
を備えるとともに、
前記基準ノイズを前記シフト量だけＫ−１回シフトさせることによって、互いに期待値の異なる前記Ｋ個のノイズを発生させる手段である画像処理装置。
【請求項１４】
請求項１１記載の画像処理装置であって、
前記複数の分割階調値の中から、前記カラー画像データの座標値よりも小さく且つ該座標値に最も近い分割階調値たる第１の分割階調値と、該カラー画像データの座標値よりも大きく且つ該座標値に最も近い分割階調値たる第２の分割階調値とを、各成分毎に検出する分割階調値検出手段と、
前記第１の分割階調値と前記第２の分割階調値との間を等分するＫ−１個の階調値と該第２の分割階調値とを、前記閾値として複数設定する閾値設定手段と
を備え、
前記判定用データ生成手段は、前記第１の分割階調値と前記第２の分割階調値との階調差に相当する大きさのノイズを加えて、前記判定用データを各成分毎に生成する手段であり、
前記分割階調値選択手段は、前記設定された閾値と前記判定用データとの大小関係に基づいて前記第１の分割階調値あるいは前記第２の分割階調値のいずれかを該閾値毎に選択することにより、前記Ｋ個の分割階調値を選択する手段である画像処理装置。
【請求項１５】
請求項９記載の画像処理装置であって、
前記格子点選択手段は、２つの格子点を選択する手段である画像処理装置。
【請求項１６】
請求項９記載の画像処理装置であって、
前記画像処理の実行速度あるいは前記カラー画像データの補正精度の少なくともいずれかに関する処理モードの設定を検出する処理モード検出手段を備え、
前記格子点選択手段は、前記検出した処理モードに応じた個数の前記格子点を選択する手段である画像処理装置。
【請求項１７】
請求項１６記載の画像処理装置であって、
前記格子点選択手段は、前記処理モードの設定が、前記実行速度よりも前記補正精度を優先する設定になっている場合は、該補正精度よりも該実行速度を優先する設定になっている場合よりも多数の格子点を選択する手段である画像処理装置。
【請求項１８】
請求項９記載の画像処理装置であって、
前記カラー画像データは、レッド（Ｒ）軸、グリーン（Ｇ）軸、ブルー（Ｂ）軸を各軸とする色空間における座標値として表現されたＲＧＢ画像データであり、
前記補正テーブルは、前記補正データとして、少なくともシアン、マゼンタ、イエロの各色についての階調値を記憶しているテーブルである画像処理装置。
【請求項１９】
１次元以上の色空間における座標値として表現されたカラー画像データを受け取り、該カラー画像データに所定の補正を行って出力する画像処理方法であって、
（Ａ）前記色空間を各次元について分割することによって得られた格子点の各々に対応付けて、該格子点の座標値が示すカラー画像データの補正データを記憶しておく工程と、
（Ｂ）前記カラー画像データの座標値からの距離が所定値以内の範囲から、重複を許してＮ（Ｎは２以上の整数）個の前記格子点を不確定的に選択する工程と、
（Ｃ）前記選択したＮ個の格子点に対応付けて記憶されている補正データに基づいて、前記カラー画像データに対応する補正データを算出する工程と
を備える画像処理方法。
【請求項２０】
Ｍ（Ｍは任意の正の整数）次元の色空間における座標値として表現されたカラー画像データを受け取り、該カラー画像データに所定の補正を行って出力する画像処理方法であって、
（Ａ）前記色空間を各次元について分割することによって得られた格子点の各々に対応付けて、該格子点の座標値が示すカラー画像データの補正データを記憶しておく工程と、
（Ｂ）前記カラー画像データの座標値からの距離が所定値以内の範囲から、重複を許して前記Ｍ個以下の複数の前記格子点を選択する工程と、
（Ｃ）前記選択した複数の格子点に対応付けて記憶されている補正データに基づいて、前記カラー画像データに対応する補正データを算出する工程と
を備える画像処理方法。
【請求項２１】
１次元以上の色空間における座標値として表現されたカラー画像データを受け取り、該カラー画像データに所定の補正を行って出力する画像処理方法であって、
（Ａ）前記色空間を各次元について分割することによって得られた格子点の各々に対応付けて、該格子点の座標値が示すカラー画像データの補正データを記憶しておく工程と、
（Ｂ）前記カラー画像データの座標値からの距離が所定値以内の範囲から、重複を許してＮ（Ｎは２以上の整数）個の前記格子点を選択する工程と、
（Ｃ）前記選択したＮ個の格子点に対応付けて記憶されている補正データを前記補正テーブルから読み出し、該読み出した補正データを算術平均することによって、前記画像データに対応する補正データを算出する工程と
を備える画像処理方法。
【請求項２２】
請求項１９ないし２１のいずれかに記載の画像処理方法であって、
前記工程（Ｂ）は、前記複数選択した格子点の確率的な期待値と前記カラー画像データの座標値との偏差が所定値以下となるように、該複数の格子点を選択する工程である画像処理方法。
【請求項２３】
請求項１９ないし２２のいずれかに記載の画像処理方法であって、
前記工程（Ｂ）は、２つの格子点を選択する工程である画像処理方法。
【請求項２４】
１次元以上の色空間における座標値として表現されたカラー画像データを受け取り、該カラー画像データに所定の補正を加えてカラー画像を印刷する印刷装置であって、
前記色空間を各次元について分割することによって得られた格子点の各々に対応付けて、該格子点の座標値が示すカラー画像データの補正データを記憶している補正テーブルと、
前記カラー画像データの座標値からの距離が所定値以内の範囲から、重複を許してＮ（Ｎは２以上の整数）個の前記格子点を不確定的に選択する格子点選択手段と、
前記選択したＮ個の格子点に対応付けて記憶されている補正データに基づいて、前記カラー画像データに対応する補正データを算出する補正データ算出手段と、
前記算出した補正データに基づいて、前記カラー画像を印刷する印刷手段と
を備える印刷装置。
【請求項２５】
Ｍ（Ｍは任意の正の整数）次元の色空間における座標値として表現されたカラー画像データを受け取り、該カラー画像データに所定の補正を加えてカラー画像を印刷する印刷装置であって、
前記色空間を各次元について分割することによって得られた格子点の各々に対応付けて、該格子点の座標値が示すカラー画像データの補正データを記憶している補正テーブルと、
前記カラー画像データの座標値からの距離が所定値以内の範囲から、重複を許して前記Ｍ個以下の複数の前記格子点を選択する格子点選択手段と、
前記選択した複数の格子点に対応付けて記憶されている補正データに基づいて、前記カラー画像データに対応する補正データを算出する補正データ算出手段と、
前記算出した補正データに基づいて、前記カラー画像を印刷する印刷手段と
を備える印刷装置。
【請求項２６】
１次元以上の色空間における座標値として表現されたカラー画像データを受け取り、該カラー画像データに所定の補正を加えてカラー画像を印刷する印刷装置であって、
前記色空間を各次元について分割することによって得られた格子点の各々に対応付けて、該格子点の座標値が示すカラー画像データの補正データを記憶している補正テーブルと、
前記カラー画像データの座標値からの距離が所定値以内の範囲から、重複を許してＮ（Ｎは２以上の整数）個の前記格子点を選択する格子点選択手段と、
前記選択したＮ個の格子点に対応付けて記憶されている補正データを前記補正テーブルから読み出し、該読み出した補正データを算術平均することによって、
前記画像データに対応する補正データを算出する補正データ算出手段と、
前記算出した補正データに基づいて、前記カラー画像を印刷する印刷手段と
を備える印刷装置。
【請求項２７】
請求項２４ないし２６のいずれかに記載の印刷装置であって、
前記格子点選択手段は、前記複数選択した格子点の確率的な期待値と前記カラー画像データの座標値との偏差が所定値以下となるように、該複数の格子点を選択する手段である印刷装置。
【請求項２８】
１次元以上の色空間における座標値として表現されたカラー画像データを受け取り、該カラー画像データに所定の補正を行って出力する画像処理方法を実現するためのプログラムを、コンピュータで読みとり可能に記録した記録媒体であって、
（Ａ）前記色空間を各次元について分割することによって得られた格子点の各々に対応付けて、該格子点の座標値が示すカラー画像データの補正データを記憶しておく機能と、
（Ｂ）前記カラー画像データの座標値からの距離が所定値以内の範囲から、重複を許してＮ（Ｎは２以上の整数）個の前記格子点を不確定的に選択する機能と、
（Ｃ）前記選択したＮ個の格子点に対応付けて記憶されている補正データに基づいて、前記カラー画像データに対応する補正データを算出する機能と
を記録した記録媒体。
【請求項２９】
Ｍ（Ｍは任意の正の整数）次元の色空間における座標値として表現されたカラー画像データを受け取り、該カラー画像データに所定の補正を行って出力する画像処理方法を実現するためのプログラムを、コンピュータで読みとり可能に記録した記録媒体であって、
（Ａ）前記色空間を各次元について分割することによって得られた格子点の各々に対応付けて、該格子点の座標値が示すカラー画像データの補正データを記憶しておく機能と、
（Ｂ）前記カラー画像データの座標値からの距離が所定値以内の範囲から、重複を許して前記Ｍ個以下の複数の前記格子点を選択する機能と、
（Ｃ）前記選択した複数の格子点に対応付けて記憶されている補正データに基づいて、前記カラー画像データに対応する補正データを算出する機能と
を記録した記録媒体。
【請求項３０】
１次元以上の色空間における座標値として表現されたカラー画像データを受け取り、該カラー画像データに所定の補正を行って出力する画像処理方法を実現するためのプログラムを、コンピュータで読みとり可能に記録した記録媒体であって、
（Ａ）前記色空間を各次元について分割することによって得られた格子点の各々に対応付けて、該格子点の座標値が示すカラー画像データの補正データを記憶しておく機能と、
（Ｂ）前記カラー画像データの座標値からの距離が所定値以内の範囲から、重複を許してＮ（Ｎは２以上の整数）個の前記格子点を選択する機能と、
（Ｃ）前記選択したＮ個の格子点に対応付けて記憶されている補正データを前記補正テーブルから読み出し、該読み出した補正データを算術平均することによって、前記画像データに対応する補正データを算出する機能と
を記録した記録媒体。
【請求項３１】
請求項２８ないし３０のいずれかに記載の記録媒体であって、
前記機能（Ｂ）は、前記複数選択した格子点の確率的な期待値と前記カラー画像データの座標値との偏差が所定値以下となるように、該複数の格子点を選択する機能である記録媒体。
【請求項３２】
１次元以上の色空間における座標値として表現されたカラー画像データを受け取り、該カラー画像データに所定の補正を行って出力する画像処理方法を、コンピュータを用いて実現するためのプログラムであって、
（Ａ）前記色空間を各次元について分割することによって得られた格子点の各々に対応付けて、該格子点の座標値が示すカラー画像データの補正データを記憶しておく機能と、
（Ｂ）前記カラー画像データの座標値からの距離が所定値以内の範囲から、重複を許してＮ（Ｎは２以上の整数）個の前記格子点を不確定的に選択する機能と、
（Ｃ）前記選択したＮ個の格子点に対応付けて記憶されている補正データに基づいて、前記カラー画像データに対応する補正データを算出する機能と
を備えたプログラム。
【請求項３３】
Ｍ（Ｍは任意の正の整数）次元の色空間における座標値として表現されたカラー画像データを受け取り、該カラー画像データに所定の補正を行って出力する画像処理方法、コンピュータを用いて実現するためのプログラであって、
（Ａ）前記色空間を各次元について分割することによって得られた格子点の各々に対応付けて、該格子点の座標値が示すカラー画像データの補正データを記憶しておく機能と、
（Ｂ）前記カラー画像データの座標値からの距離が所定値以内の範囲から、重複を許して前記Ｍ個以下の複数の前記格子点を選択する機能と、
（Ｃ）前記選択した複数の格子点に対応付けて記憶されている補正データに基づいて、前記カラー画像データに対応する補正データを算出する機能と
を備えたプログラム。
【請求項３４】
１次元以上の色空間における座標値として表現されたカラー画像データを受け取り、該カラー画像データに所定の補正を行って出力する画像処理方法を、コンピュータを用いて実現するためのプログラムであって、
（Ａ）前記色空間を各次元について分割することによって得られた格子点の各々に対応付けて、該格子点の座標値が示すカラー画像データの補正データを記憶しておく機能と、
（Ｂ）前記カラー画像データの座標値からの距離が所定値以内の範囲から、重複を許してＮ（Ｎは２以上の整数）個の前記格子点を選択する機能と、
（Ｃ）前記選択したＮ個の格子点に対応付けて記憶されている補正データを前記補正テーブルから読み出し、該読み出した補正データを算術平均することによって、前記画像データに対応する補正データを算出する機能と
を備えたプログラム。
【請求項３５】
請求項３２ないし３４のいずれかに記載のプログラムであって、
前記機能（Ｂ）は、前記複数選択した格子点の確率的な期待値と前記カラー画像データの座標値との偏差が所定値以下となるように、該複数の格子点を選択する機能であるプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、カラー画像データを補正する画像処理方法に関し、詳しくは、補正テーブルを参照することによって迅速に画像処理を行う技術に関する。
【０００２】
【従来の技術】
カラー原稿をスキャナなどの画像入力部を用いて読み取り、読み取ったカラー画像データを、例えばＣＲＴなどのディスプレイやカラープリンタなどを用いて再生表示させる画像処理装置が知られている。
【０００３】
これらディスプレイやカラープリンタなどの画像出力装置は、それぞれに特有の色再現特性を有していることから、スキャナなどを用いて入力したカラー画像の色を、画像出力装置の特性によらず良好に再現するためは、使用する画像出力装置の色再現特性に合わせて色補正処理を行うことが必要となる。こうした色補正を行うための代表的な手法としては、色補正テーブルを用いる技術が提案されている（特開平４−１８５０７５号など）。色補正テーブルとは、カラー画像データと補正済みの画像データとを対応付けて記憶した数表である。例えば、カラー画像データがレッド（以下、Ｒと記す）、グリーン（以下、Ｇと記す）、ブルー（以下、Ｂと記す）の３色成分で表現可能なことに着目すると、これら各色成分を直交３軸に取った色空間を考えることができ、この色空間を格子状に分割して、各格子点に補正済みのカラー画像データを予め記憶した３次元の数表を作成することができる。カラー画像データを補正するときには、色空間上でカラー画像データに対応する座標点と該座標点の周囲にある格子点とを検出し、周囲の格子点に記憶されている補正データから補間演算を行うことによって、カラー画像データに対応する補正データを求めることができる。
【０００４】
また、本願出願人は、色補正テーブルを参照しながらも、補間演算を行うことなく色補正処理を行うことによって迅速に処理可能な手法を開発し、既に出願済みである（特開平９−２９４２１２号）。この手法では、カラー画像データに対応する座標点を、該座標点の周辺にあるいずれかの格子点に強制的に割り付ける。色補正テーブルには、各格子点について補正済みの画像データが予め記憶されているから、座標点を周辺の格子点に割り付けてしてしまえば、補間演算を行うことなく、カラー画像データを補正データに迅速に色変換することができる。以下では、色補正テーブルを参照するに先立って、カラー画像データに対応する座標点を周辺の格子点に強制的に割り付ける処理を、「プレ変換処理」と呼ぶことにする。このように、プレ変換処理により割り付けた格子点から求めた補正データは、カラー画像データを色補正して得られる本来の補正データとは異なっている。すなわち、個々の画像データで見れば誤差が発生していることになる。以下では、このようにプレ変換処理によって生じる誤差を「プレ変換誤差」と呼ぶことにする。個々のカラー画像データにはプレ変換誤差が生じていても、所定領域の画像全体として見たときにプレ変換誤差が互いに打ち消し合って、全体としての誤差が許容値以下に収まるようにプレ変換しておけば、誤差の発生による画質の悪化を避けることができる。
【０００５】
もっとも、個々の画像データで発生するプレ変換誤差があまりに大きい場合は、たとえ誤差同士が打ち消し合って、所定領域の画像全体としての誤差が許容値以下に収まっていたとしても、個々のプレ変換誤差が目立って画質を悪化させるおそれがある。この様な場合は、色補正テーブルの格子点の間隔を密にしてやればよい。格子点の間隔を密にして多数の格子点を設けてやれば、これら格子点の中のいずれかは、カラー画像データの座標点の近くに存在することとなるので、プレ変換誤差を減少させることができる。換言すれば、プレ変換処理を行う場合には、許容値を超えたプレ変換誤差が発生することを回避するために、格子点が適切な間隔で設定された色補正テーブルを用いることが好ましいと言える。
【０００６】
【発明が解決しようとする課題】
近年では、表示画質を向上させるための技術が進歩した結果、プレ変換誤差に対する許容値も次第に厳しくなる傾向にあり、これに伴って、格子点間隔の密な色補正テーブルが用いられるようになっている。しかし、格子点の間隔が密になれば、それに伴って格子点の総数も増加するので、１つの色補正テーブルに記憶されているデータ量が増加してしまう。その結果、色補正テーブルを記憶するために必要な記憶容量が増加してしまう。また、色変換処理中で扱う色補正テーブルのデータ量が大きくなれば、処理の速度が低下するので、画像を迅速に表示することが困難になるといった問題が生じる。
【０００７】
もちろん、補間演算を行えば、格子点間隔を密にしなくてもプレ変換誤差を減少させることができるが、補間のための演算時間が増加してしまうので、迅速に色変換を行うことは困難である。
【０００８】
本発明は、従来技術における上述の課題を解決するためになされたものであり、色補正テーブルのデータ量を増加させることなくプレ変換誤差を低減して、高画質な画像を迅速に表示可能な技術の提供を目的とする。
【０００９】
【課題を解決するための手段およびその作用・効果】
上述の課題の少なくとも一部を解決するため、本発明の第１の画像処理装置は、次の構成を採用した。すなわち、
１次元以上の色空間における座標値として表現されたカラー画像データを受け取り、該カラー画像データに所定の補正を行って出力する画像処理装置であって、
前記色空間を各次元について分割することによって得られた格子点の各々に対応付けて、該格子点の座標値が示すカラー画像データの補正データを記憶している補正テーブルと、
前記カラー画像データの座標値からの距離が所定値以内の範囲から、重複を許してＮ（Ｎは２以上の整数）個の前記格子点を不確定的に選択する格子点選択手段と、
前記選択したＮ個の格子点に対応付けて記憶されている補正データに基づいて、前記カラー画像データに対応する補正データを算出する補正データ算出手段と
を備えることを要旨とする。
【００１０】
また、上記の画像処理装置に対応する本発明の第１の画像処理方法は、
１次元以上の色空間における座標値として表現されたカラー画像データを受け取り、該カラー画像データに所定の補正を行って出力する画像処理方法であって、
（Ａ）前記色空間を各次元について分割することによって得られた格子点の各々に対応付けて、該格子点の座標値が示すカラー画像データの補正データを記憶しておく工程と、
（Ｂ）前記カラー画像データの座標値からの距離が所定値以内の範囲から、重複を許してＮ（Ｎは２以上の整数）個の前記格子点を不確定的に選択する工程と、
（Ｃ）前記選択したＮ個の格子点に対応付けて記憶されている補正データに基づいて、前記カラー画像データに対応する補正データを算出する工程と
を備えることを要旨とする。
【００１１】
かかる第１の画像処理装置および第１の画像処理方法においては、色空間上の座標値として表現されたカラー画像データを受け取ると、該座標値からの距離が所定値以内にある複数の格子点の中から、Ｎ（Ｎは２以上の整数）個の格子点を不確定的に選択する。ここで、「格子点を不確定的に選択」とは、選択される格子点がカラー画像データに対して確定していないことを言う。従って、例えカラー画像データが同じであっても、選択するたびに異なる格子点が選択され得る。次いで、こうして選択した格子点に記憶されている補正データに基づいて、カラー画像データに対応する補正データを算出する。
【００１２】
カラー画像データに対応する補正データを算出するに際して、該座標値からの距離が所定値以内の範囲から任意に選択した複数の格子点に基づいて算出すれば、１つの格子点に基づいて算出する場合よりもプレ変換誤差を減少させることができる。また、格子点に記憶されている補正データは迅速に参照することができるので、参照する格子点の数が増加しても、そのことによる所要時間の増加はごく僅かであり、依然として迅速にカラー画像データの補正を行うことができる。更に、このようにしてカラー画像データの補正を行えば、補正テーブルに含まれる格子点の総数を増やさずともプレ変換誤差を減少させることが可能である。このことから、本発明の第１の画像処理装置および画像処理方法によれば、補正テーブルのデータ量を増加させることなくプレ変換誤差を低減して、高画質な画像を迅速に表示することが可能となる。
【００１３】
加えて、選択する格子点は、カラー画像データの座標値に応じて確定的に選択される必要はなく、Ｎ個の格子点を不確定的に選択すればよい。このように、格子点を不確定的に選択することができれば、カラー画像データの座標値に応じて確定的に選択する場合に比べて、複数の格子点を迅速に選択することができ、延いてはカラー画像データの補正を迅速に行うことが可能となる。
【００１４】
加えて、選択する格子点の個数は、必要に応じて自由に増やすことができる。格子点の個数を増やしてやれば、それだけプレ変換誤差を抑制することが可能である。逆に、格子点の個数を減らしてやれば、カラー画像データを補正データに変換する処理を迅速に行うことが可能となる。このように、本発明の第１の画像処理装置および画像処理方法によれば、カラー画像データの変換に要求される変換精度あるいは変換速度に応じて、柔軟に対応することも可能となる。
【００１５】
本発明の第１の画像処理装置においては、Ｎ個の格子点を選択するに際して、前記色空間を各次元毎に分割している階調値たる分割階調値を各成分毎にＮ組選択することとして、これら分割階調値の中で、前記カラー画像データの座標値に近い分割階調値ほど高い確率で選択する様にしても良い。
【００１６】
カラー画像データに対応する補正データを算出するに際して、カラー画像データの座標点に近い格子点を用いて算出すれば、それだけ正確な補正データを算出することができる。また、カラー画像データの座標点と、色空間上での距離が近い格子点の代わりに、該色空間の座標軸上で該座標点に近い成分を有する格子点を用いることとすれば、複数の格子点を容易に選択することができる。このことから、複数の格子点の選択に際しては、前記分割階調値の中から、前記カラー画像データの座標値に近い分割階調値ほど高い確率となるように、各成分毎にＮ組の分割階調値を選択して、選択したＮ個の格子点に記憶されている補正データに基づいて補正データを算出すれば、プレ変換誤差を効果的に減少させることが可能となるので好適である。
【００１７】
また、本発明の第１の画像処理装置においては、カラー画像データに対応する補正データを算出するに際して、複数の格子点に記憶されている補正データを読み出して、これらの補正データを算術平均することによって、該カラー画像データに対応する補正データを算出することとしてもよい。
【００１８】
算術平均は迅速に実行することができるので、こうすれば格子点に記憶されている補正データから、カラー画像データに対応する補正データを迅速に算出することができ、延いては高画質な画像を迅速に表示することが可能となる。
【００１９】
また、いわゆる補間演算を行う場合は、カラー画像データの座標値と格子点との位置関係に応じて適切な重み係数を求め、各格子点に記憶されている補正データにこれら重み係数を乗算する必要がある。これに対して、こうした本発明の第１の画像処理装置および画像処理方法においては、単に格子点の補正データを算術平均するだけで足り、カラー画像データの座標値と格子点との位置関係に応じて求めた重み係数を乗算する必要がない。このため、カラー画像データに対応する補正データを迅速に求めることが可能となる。
【００２０】
尚、算術平均を行う際には、各格子点に記憶されている補正データの加算値を格子点の個数で除算する必要があるが、これに伴って丸め誤差が発生して、補正データの算出精度が低下するおそれがある。そこで、補正データの加算値を格子点の個数で除算する代わりに、該個数よりも小さな数で除算した値あるいは加算値そのものを、前記算術平均値の代わりに使用することとしても良い。こうすれば丸め誤差を少なくすることができるので、その分だけ補正データの算出精度を向上させることが可能である。
【００２１】
また、前述した課題の少なくとも一部を解決するため、本発明の第２の画像処理装置は次の構成を採用した。すなわち、
Ｍ（Ｍは任意の正の整数）次元の色空間における座標値として表現されたカラー画像データを受け取り、該カラー画像データに所定の補正を行って出力する画像処理装置であって、
前記色空間を各次元について分割することによって得られた格子点の各々に対応付けて、該格子点の座標値が示すカラー画像データの補正データを記憶している補正テーブルと、
前記カラー画像データの座標値からの距離が所定値以内の範囲から、重複を許して前記Ｍ個以下の複数の前記格子点を選択する格子点選択手段と、
前記選択した複数の格子点に対応付けて記憶されている補正データに基づいて、前記カラー画像データに対応する補正データを算出する補正データ算出手段と
を備えることを要旨とする。
【００２２】
また、上記の画像処理装置に対応する本発明の第２の画像処理方法は、
Ｍ（Ｍは任意の正の整数）次元の色空間における座標値として表現されたカラー画像データを受け取り、該カラー画像データに所定の補正を行って出力する画像処理方法であって、
（Ａ）前記色空間を各次元について分割することによって得られた格子点の各々に対応付けて、該格子点の座標値が示すカラー画像データの補正データを記憶しておく工程と、
（Ｂ）前記カラー画像データの座標値からの距離が所定値以内の範囲から、重複を許して前記Ｍ個以下の複数の前記格子点を選択する工程と、
（Ｃ）前記選択した複数の格子点に対応付けて記憶されている補正データに基づいて、前記カラー画像データに対応する補正データを算出する工程と
を備えることを要旨とする。
【００２３】
かかる第２の画像処理装置および第２の画像処理方法においては、Ｍ次元の色空間における座標値として表現されたカラー画像データを受け取って、該座標値からの距離が所定値以内の範囲から、Ｍ個以下の複数の格子点を選択する。次いで、こうして選択した格子点に記憶されている補正データに基づいて、カラー画像データに対応する補正データを算出する。
【００２４】
こうして、カラー画像データに対応する補正データを、複数の格子点の補正データから算出することとすれば、補正テーブルのデータ量を増加させることなくプレ変換誤差を低減することが可能であり、延いては高画質な画像を表示することが可能となる。また、本発明の第２の画像処理装置および画像処理方法によれば、Ｍ個以下の複数の格子点を参照するだけで、カラー画像データに対応する補正データを算出することが可能である。格子点に記憶されている補正データから補間演算を行って、求める補正データを算出しようとすると、カラー画像データがＭ次元データの場合には少なくとも（Ｍ＋１）個の格子点を参照しなければならないことと比べれば、このことは、より少数の格子点の補正データに基づいて算出可能なことを示している。このことから、本発明の第２の画像処理装置および画像処理方法によれば、カラー画像データに対応する補正データを迅速に算出することができ、延いては高画質な画像を迅速に表示することが可能となる。
【００２５】
加えて、本発明の第２の画像処理装置および画像処理方法においても、前述した第１の画像処理装置および画像処理方法と同様に、選択する格子点の個数を必要に応じて適切な個数に設定することができる。従って、カラー画像データの変換に要求される変換精度あるいは変換速度に応じて、柔軟に対応することが可能である。
【００２６】
本発明の第２の画像処理装置においては、前記複数の格子点を選択するに際して、前記色空間を各次元毎に分割している階調値たる分割階調値を各成分毎に複数組選択することとして、これら分割階調値の中で、前記カラー画像データの座標値に近い分割階調値ほど高い確率で選択する様にしても良い。
【００２７】
複数の格子点を選択するに際して、該座標値に近い格子点ほど高い確率で選択することとすれば、単に、該座標値からの距離が所定値以下の範囲から複数の格子点を選択した場合よりも、該カラー画像データに対応する補正データをより正確に算出することができる。また、カラー画像データの座標点と、色空間上での距離が近い格子点の代わりに、該色空間の座標軸上で該座標点に近い成分を有する格子点を用いることとすれば、複数の格子点を容易に選択することができる。従って、複数の格子点の選択に際しては、前記分割階調値の中から、前記カラー画像データの座標値に近い分割階調値ほど高い確率となるように、各成分毎に複数組の分割階調値を選択する。こうして選択した複数個の格子点に記憶されている補正データに基づいて補正データを算出すれば、全体としてプレ変換誤差を減少させることができ、延いては高画質の画像を表示することが可能となる。
【００２８】
また、本発明の第２の画像処理装置においては、複数の格子点に記憶されている補正データから、カラー画像データに対応する補正データを算出するに際して、それぞれの格子点の補正データを算術平均し、得られた値を該カラー画像データに対応する補正データとしてもよい。
【００２９】
算術平均は迅速に実行することができるので、選択した複数の格子点に記憶されている補正データを算術平均して、カラー画像データに対応する補正データを算出すれば、求める補正データを迅速に算出することが可能となる。
【００３０】
また、こうした本発明の第２の画像処理装置および画像処理方法においては、カラー画像データに対応する補正データを算出するためには、各格子点に記憶されている補正データを算術平均するだけよく、各格子点の補正データの補間演算を行う必要がない。このため、カラー画像データの座標値と各格子点との位置関係に応じて求めた重み係数を乗算する必要がないので、カラー画像データに対応する補正データを迅速に求めることが可能となる。尚、こうした第２の画像処理装置および画像処理方法においても、算術平均を行うに際しては前述した第１の画像処理装置と同様に、各格子点に記憶されている補正データの加算値を格子点の個数で除算して算術平均を行う代わりに、該補正データの加算値を格子点の個数よりも小さな数で除算した値あるいは加算値そのものを、前記算術平均値の代わりに使用することとしても良い。
【００３１】
前述した課題の少なくとも一部を解決するため、本発明の第３の画像処理装置は、次の構成を採用した。すなわち、
１次元以上の色空間における座標値として表現されたカラー画像データを受け取り、該カラー画像データに所定の補正を行って出力する画像処理装置であって、
前記色空間を各次元について分割することによって得られた格子点の各々に対応付けて、該格子点の座標値が示すカラー画像データの補正データを記憶している補正テーブルと、
前記カラー画像データの座標値からの距離が所定値以内の範囲から、重複を許してＮ（Ｎは２以上の整数）個の前記格子点を選択する格子点選択手段と、
前記選択したＮ個の格子点に対応付けて記憶されている補正データを前記補正テーブルから読み出し、該読み出した補正データを算術平均することによって、前記画像データに対応する補正データを算出する補正データ算出手段と
を備えることを要旨とする。
【００３２】
また、上記の画像処理装置に対応する本発明の第３の画像処理方法は、
１次元以上の色空間における座標値として表現されたカラー画像データを受け取り、該カラー画像データに所定の補正を行って出力する画像処理方法であって、
（Ａ）前記色空間を各次元について分割することによって得られた格子点の各々に対応付けて、該格子点の座標値が示すカラー画像データの補正データを記憶しておく工程と、
（Ｂ）前記カラー画像データの座標値からの距離が所定値以内の範囲から、重複を許してＮ（Ｎは２以上の整数）個の前記格子点を選択する工程と、
（Ｃ）前記選択したＮ個の格子点に対応付けて記憶されている補正データを前記補正テーブルから読み出し、該読み出した補正データを算術平均することによって、前記画像データに対応する補正データを算出する工程と
を備える画像処理方法。
【００３３】
かかる第３の画像処理装置および第３の画像処理方法においては、カラー画像データを受け取ると、色空間上で該カラー画像データの座標値からの距離が所定値以内の範囲から複数の格子点を選択する。次いで、こうして選択した格子点に記憶されている補正データを読み出して、該読み出した補正データを算術平均し、得られた値を、該カラー画像データに対応する補正データとする。
【００３４】
カラー画像データに対応する補正データを算出するに際して、こうして複数の格子点から読み出した補正データに基づいて算出すれば、１つの格子点に基づいて算出する場合よりもプレ変換誤差を減少させることが可能であり、延いては高画質な画像を表示することが可能となる。また、本発明の第３の画像処理装置および画像処理方法によれば、補正テーブルに含まれる格子点の総数を増やす必要はないので、補正テーブルのデータ量を増加させることもない。更に、格子点の補正データは迅速に参照することができるので、参照する格子点の数が増加しても、そのことによる所要時間の増加はごく僅かである。加えて算術平均は、補間演算とは異なり、カラー画像データの座標値と格子点との位置関係に応じて求めた重み係数を乗算する必要がないので、その分だけ補間演算よりも迅速に実行することが可能である。従って、複数の格子点から読み出した補正データの算術平均値を、該カラー画像データに対応する補正データとすれば、迅速にカラー画像データの補正を行うことができる。このことから、本発明の第３の画像処理装置および画像処理方法によれば、補正テーブルのデータ量を増加させることなくプレ変換誤差を低減して、高画質な画像を迅速に表示することが可能となる。
【００３５】
加えて、本発明の第３の画像処理装置および画像処理方法においても、前述した画像処理装置および画像処理方法と同様に、選択する格子点の個数を必要に応じて適切に設定することができる。こうすれば、カラー画像データの変換に要求される変換精度あるいは変換速度に応じて、柔軟に対応することが可能となる。
【００３６】
更に、第３の画像処理装置および画像処理方法においても、算術平均を行うに際しては前述した画像処理装置および画像処理方法と同様に、各格子点に記憶されている補正データの加算値を格子点の個数で除算して算術平均を行う代わりに、該補正データの加算値を格子点の個数よりも小さな数で除算した値あるいは加算値そのものを、前記算術平均値の代わりに使用することとしても良い。
【００３７】
本発明の第３の画像処理装置においては、前記複数の格子点を選択するに際して、前記色空間を各次元毎に分割している階調値たる分割階調値を各成分毎に複数組選択することとして、これら分割階調値の中で、前記カラー画像データの座標値に近い分割階調値ほど高い確率で選択する様にしても良い。
【００３８】
格子点を複数選択するに際して、カラー画像データの座標値に近い格子点ほど高い確率で選択することとすれば、単に、該座標値からの距離が所定値以下の範囲から任意に複数の格子点を選択した場合よりも、該カラー画像データに対応する補正データを正確に算出することが可能となる。また、カラー画像データの座標点と、色空間上での距離が近い格子点の代わりに、該色空間の座標軸上で該座標点に近い成分を有する格子点を用いることとすれば、複数の格子点を容易に選択することができる。このことから、複数の格子点の選択に際しては、前記分割階調値の中から、前記カラー画像データの座標値に近い分割階調値ほど高い確率となるように、各成分毎に複数組の分割階調値を選択する。こうして選択した複数個の格子点に記憶されている補正データに基づいて補正データを算出すれば、全体としてプレ変換誤差を減少させることができ、延いては高画質の画像を表示することが可能となる。
【００３９】
上述した本発明の第１ないし第３の画像処理装置および画像処理方法においては、カラー画像データの座標値と複数選択した格子点の確率的な期待値との偏差が、所定値以下となるように、該複数の格子点を選択することとしてもよい。ここで、「確率的な期待値」とは、あるカラー画像データから複数の格子点を選択する処理を多数回行ったときに、これら格子点の分布の中心となる座標値をいう。
【００４０】
各カラー画像データに対する複数の格子点をこのようにして選択すれば、多数のカラー画像データを補正したときに、補正に伴う誤差を所定値以下に抑制し、延いてはカラー画像データの補正に伴う色ズレを抑制することができるので、高画質の画像を表示することが可能となって好ましい。
【００４１】
こうした画像処理装置においては、複数の格子点を選択するに際して、前記色空間を各次元毎に分割している階調値たる分割階調値を、該選択すべき格子点の個数（Ｋ個）だけ各成分毎に選択し、成分毎に選択したこれら分割階調値を組み合わせることによって、該Ｋ個の格子点を選択することとしても良い。
【００４２】
こうすれば、各成分毎に分割階調値を選択することによって格子点を選択することができるので、カラー画像データに対する複数の格子点を選択する処理を、単純な手法を用いて実現することが可能となる。
【００４３】
かかる画像処理装置においては、カラー画像データにノイズを加えて各成分毎に判定用データを生成するとともに、該判定用データと所定の閾値とを比較することによって、各成分毎に前記Ｋ組の分割階調値を選択することとしてもよい。
【００４４】
ノイズの採り得る値は自ずから所定の分布を有しているので、個々のノイズの値と閾値との偏差が互いに打ち消し合って該偏差が許容値以下となるような閾値を、予め求めておくことができる。従って、このような閾値に基づいて定めた所定の閾値と判定用データとを比較することによって、複数の格子点を選択すれば、多数のカラー画像データを補正したときに、補正に伴う誤差を所定値以下に抑制することができ、延いては高画質の画像を表示することが可能となるので好ましい。
【００４５】
また判定用データは、次のようにして生成することとしても良い。先ず、複数の分割階調値の中から、カラー画像データの座標値よりも小さく且つ該座標値に最も近い分割階調値たる第１の分割階調値と、該カラー画像データの座標値よりも大きく且つ該座標値に最も近い分割階調値たる第２の分割階調値とを、各成分毎に検出する。次いで、前記第１の分割階調値と前記第２の分割階調値との階調差たる格子間階調差を各成分毎に算出し、階調値０から該格子間階調差の範囲で、互いに期待値の異なる前記Ｋ個のノイズを各成分毎に発生させる。ここで「ノイズの期待値」とは、有意な統計処理が可能なほどに多数のノイズを発生させたときのノイズの平均値を言う。こうして生成したＫ個のノイズを前記カラー画像データの座標値に加えることにより、各成分毎にＫ個の前記判定用データを生成することとしてもよい。
【００４６】
こうしてＫ個の判定用データが得られたら、各判定用データと閾値とを比較して、該閾値との大小関係に応じて第１の分割階調値あるいは第２の分割階調値のいずれかを各判定用データ毎に選択する。このように、互いに期待値の異なるノイズを用いてＫ個の判定用データを発生させれば、第１の分割階調値および第２の分割階調値は、カラー画像データの座標値に応じた適切な比率で選択されることになるので、複数の格子点を適切に選択することができる。その結果、プレ変換誤差がより一層低減されて、高画質な画像を表示することが可能となるので好ましい。
【００４７】
期待値の異なるＫ個のノイズは、次のようにして発生させることとしても良い。前記格子間階調差のＫ分の１の階調値を、各成分毎にシフト量として算出する。次いで、階調値０から前記シフト量の範囲のノイズを基準ノイズとして各成分毎に発生させる。こうして発生した基準ノイズを、前記シフト量ずつＫ−１回シフトさせることによって、互いに期待値の異なる前記Ｋ個のノイズを発生させることとしてもよい。
【００４８】
こうすれば、期待値が等間隔となるようなＫ個のノイズを発生させることができる。このようなノイズを用いて格子点を選択すれば、より適切に格子点を選択することが可能となるので好ましい。
【００４９】
また、複数の格子点を選択するに際しては、判定用データと閾値とを次のようにして生成しても良い。先ず、複数の分割階調値の中から、第１の分割階調値と第２の分割階調値とを各成分毎に検出する。ここで第１の分割階調値とは、複数の分割階調値の中でカラー画像データの座標値よりも小さく、且つ該座標値に最も近い分割階調値であり、また第２の分割階調値とは、カラー画像データの座標値よりも大きく且つ該座標値に最も近い分割階調値である。次いで、前記第１の分割階調値と前記第２の分割階調値との階調差に相当する大きさのノイズを発生させ、発生させたノイズをカラー画像データの座標値に加えることにより、各成分毎の判定用データを生成する。一方、第１の分割階調値と第２の分割階調値との間をＫ−１等分する階調値を各成分毎に検出し、これら階調値に第２の分割階調値を加えたＫ個の階調値を生成する。こうして生成したＫ個の閾値と判定用データとを各成分毎に比較し、各閾値との大小関係に応じて第１の分割階調値あるいは第２の分割階調値のいずれかを選択することとしても良い。
【００５０】
このようにして第１の分割階調値あるいは第２の分割階調値を選択してやれば、これら分割階調値はカラー画像データの座標値に応じて適切な比率で選択されることになるので、Ｋ個の格子点を適切に選択することができる。その結果、プレ変換誤差がより一層低減されて、高画質な画像を表示することが可能となる。
【００５１】
あるいは、こうした画像処理装置および画像処理方法においては、カラー画像データ毎に２つの格子点を選択し、これら格子点の補正データに基づいて、該カラー画像データに対応する補正データを算出することとしてもよい。
【００５２】
詳細には後述するが、カラー画像データ毎に２つの格子点を選択して補正データを算出するだけでも、プレ変換誤差を減少させることが可能である。従って、こうすれば、補正テーブルのデータ量を増加させることなくプレ変換誤差を低減させることができ、それだけ高画質な画像を表示することができる。特に、格子点の数が２つの場合には、コンピュータ内でビットをシフトさせる動作を利用することにより、算術平均を迅速に実行することができるので、カラー画像データを迅速に補正することが可能となって好ましい。
【００５３】
もちろん、カラー画像データ毎に選択する格子点は、画像処理条件に応じて適切な個数を選択することとしても良い。例えば、画像処理の実行速度あるいはカラー画像データの補正精度の少なくともいずれかに関する処理モードの設定を検出し、検出した処理モードに応じた個数の格子点を選択することとしても良い。尚、画像処理の実行速度あるいはカラー画像データの補正精度は、画像処理を行うに際して明示的に設定されてもよく、あるいは画像処理条件の設定内容に基づいて導き出されるものとすることもできる。
【００５４】
こうすれば、選択する格子点の個数を、処理モードに応じた適切な個数とすることができるので、カラー画像データをより適切に補正することが可能となる。
【００５５】
更には、前記処理モードの設定が、実行速度よりもカラー画像データの補正精度を優先する設定になっている場合は、該補正精度よりも該実行速度を優先する設定になっている場合よりも多数の格子点を選択する様にしても良い。
【００５６】
カラー画像データに対して選択する格子点の数が増えるほど、プレ変換誤差の大きさは小さくなるので、カラー画像データの補正精度を向上させることができる。逆に、選択する格子点の数が少なくなるほどカラー画像データを迅速に補正することができる。従って、処理モードが、実行速度よりもカラー画像データの補正精度を優先する設定になっている場合は、該補正精度よりも該実行速度を優先する設定になっている場合よりも多数の格子点を選択することとすれば、処理モードの設定に応じて適切な数の格子点を選択して、カラー画像データを適切に補正することが可能となるので好ましい。
【００５７】
上述した画像処理装置においては、前記カラー画像データは、レッド（Ｒ）軸、グリーン（Ｇ）軸、ブルー（Ｂ）軸を各軸とする色空間における座標値として表現されたＲＧＢ画像データであるとして、前記補正テーブルは、前記補正データとして、少なくともシアン、マゼンタ、イエロの各色についての階調値を記憶しているテーブルであるとしてもよい。
【００５８】
カラー画像データを印刷するためには、前記ＲＧＢ画像データを、シアン、マゼンタ、イエロの各色を少なくとも含んだ各色の階調値による画像データに変換しなければならない場合が多い。上述した画像処理装置を用いれば、こうしたカラー画像データの変換を迅速に行い、しかもプレ変換誤差の発生も抑制しながらカラー画像データを変換することができるので好適である。
【００５９】
上述した本発明の第１ないし第３の画像処理装置は、印刷装置に好適に適用することができる。すなわち、本発明の画像処理装置はいずれも、カラー画像データを受け取って所定の補正を迅速に施すことができる。また、カラー画像データを補正するに際して発生するプレ変換誤差の大きさを、大幅に抑制することができるので、高画質の画像を印刷することができる。従って、こうした本発明の第１ないし第３の画像処理装置を印刷装置に適用すれば、カラー画像データを迅速に補正して、高画質の画像を迅速に印刷することが可能となって好ましい。
【００６０】
また、こうした印刷装置に適用する第１ないし第３の画像処理装置は、カラー画像データに応じて複数の格子点を選択するに際して、該カラー画像データの座標値と複数選択した格子点の確率的な期待値との偏差が、所定値以下となるように格子点を選択するものとしてもよい。
【００６１】
各カラー画像データに対する複数の格子点をこのようにして選択すれば、多数のカラー画像データを補正したときに、補正に伴う誤差を所定値以下に抑制し、延いてはカラー画像データの補正に伴う色ズレを抑制することができる。従って、このような画像処理装置を印刷装置に適用すれば、色ズレのない高画質のカラー画像を印刷することが可能となるので好適である。
【００６２】
上述した本発明の第１ないし第３の画像処理方法は、コンピュータにプログラムを読み込ませることにより、コンピュータの機能を用いて実現することができる。従って、本発明は次のように、記録媒体として把握することも可能である。すなわち、上述した本発明の第１の画像処理装置に対応する本発明の第１の記録媒体は、
１次元以上の色空間における座標値として表現されたカラー画像データを受け取り、該カラー画像データに所定の補正を行って出力する画像処理方法を実現するためのプログラムを、コンピュータで読みとり可能に記録した記録媒体であって、
（Ａ）前記色空間を各次元について分割することによって得られた格子点の各々に対応付けて、該格子点の座標値が示すカラー画像データの補正データを記憶しておく機能と、
（Ｂ）前記カラー画像データの座標値からの距離が所定値以内の範囲から、重複を許してＮ（Ｎは２以上の整数）個の前記格子点を不確定的に選択する機能と、
（Ｃ）前記選択したＮ個の格子点に対応付けて記憶されている補正データに基づいて、前記カラー画像データに対応する補正データを算出する機能と
を記録したことを要旨とする。
【００６３】
また、上述した本発明の第２の画像処理装置に対応する本発明の第２の記録媒体は、
Ｍ（Ｍは任意の正の整数）次元の色空間における座標値として表現されたカラー画像データを受け取り、該カラー画像データに所定の補正を行って出力する画像処理方法を実現するためのプログラムを、コンピュータで読みとり可能に記録した記録媒体であって、
（Ａ）前記色空間を各次元について分割することによって得られた格子点の各々に対応付けて、該格子点の座標値が示すカラー画像データの補正データを記憶しておく機能と、
（Ｂ）前記カラー画像データの座標値からの距離が所定値以内の範囲から、重複を許して前記Ｍ個以下の複数の前記格子点を選択する機能と、
（Ｃ）前記選択した複数の格子点に対応付けて記憶されている補正データに基づいて、前記カラー画像データに対応する補正データを算出する機能と
を記録したことを要旨とする。
【００６４】
更に、上述した本発明の第３の画像処理方法に対応する本発明の第３の記録媒体は、
１次元以上の色空間における座標値として表現されたカラー画像データを受け取り、該カラー画像データに所定の補正を行って出力する画像処理方法を実現するためのプログラムを、コンピュータで読みとり可能に記録した記録媒体であって、
（Ａ）前記色空間を各次元について分割することによって得られた格子点の各々に対応付けて、該格子点の座標値が示すカラー画像データの補正データを記憶しておく機能と、
（Ｂ）前記カラー画像データの座標値からの距離が所定値以内の範囲から、重複を許してＮ（Ｎは２以上の整数）個の前記格子点を選択する機能と、
（Ｃ）前記選択したＮ個の格子点に対応付けて記憶されている補正データを前記補正テーブルから読み出し、該読み出した補正データを算術平均することによって、前記画像データに対応する補正データを算出する機能と
を記録したことを要旨とする。
【００６５】
これら記録媒体に記憶されているプログラムをコンピュータに読み込ませ、上述の各種機能をコンピュータに実行させれば、カラー画像データを補正する際に発生するプレ変換誤差を抑制することによって、高画質な画像データを迅速に表示させることが可能となる。
【００６６】
【発明の実施の形態】
本発明の作用・効果をより明確に説明するために、本発明の実施例を、次のような順序に従って説明する。
Ａ．発明の概要：
Ｂ．プレ変換誤差を減少させることができる原理：
Ｃ．第１実施例：
Ｃ−１．装置構成：
Ｃ−２．画像処理の概要：
Ｃ−３．第１実施例のプレ変換・色変換処理：
Ｃ−４．プレ変換処理：
Ｃ−５．色変換処理：
Ｃ−６．変形例：
Ｄ．第２実施例：
Ｄ−１．第２実施例のプレ変換処理：
Ｄ−２．第２実施例の色変換処理：
Ｅ．第３実施例：
Ｅ−１．第３実施例のプレ変換処理：
Ｅ−２．変形例：
【００６７】
Ａ．発明の概要：
実施例の詳細な説明に先立って、理解の便宜を図るために、図１を参照しながら本発明の概要について説明する。図１は、印刷システムを例にとって、本発明の概要を概念的に説明するための説明図である。図示した印刷システムは、画像処理装置としてのコンピュータ１０と、カラープリンタ２０などから構成されている。コンピュータ１０は、デジタルカメラやカラースキャナなどの画像機器から、ＲＧＢ各色階調値によって表現されたカラー画像データを受け取ると、該カラー画像データを、カラープリンタ２０で印刷可能な各色ドットの形成有無によって表現された印刷データに変換する。こうしたカラー画像データの変換は、プリンタドライバ１２と呼ばれる専用のプログラムを用いて行われる。尚、ＲＧＢ各色階調値によるカラー画像データは、各種アプリケーションプログラムを用いてコンピュータ１０で作成することもできる。
【００６８】
プリンタドライバ１２は、解像度変換モジュール、プレ変換・色変換モジュール１４、階調数変換モジュール、インターレースモジュールといった複数のモジュールから構成されている。詳細には後述するが、プリンタドライバ１２はカラー画像データを受け取ると、これらモジュールで順次、画像処理を施すことによって、受け取ったカラー画像データを印刷データに変換する。
【００６９】
図１に示されているように、プレ変換・色変換モジュール１４では、解像度変換モジュールから受け取ったＲＧＢ画像データに対して、プレ変換処理、色変換処理、変換結果合成処理のそれぞれの処理を順次行う。図示したように色変換処理はプレ変換処理に続いて行われる処理であるが、説明の都合上、先ず、色変換処理について説明した後に、プレ変換処理について説明する。色変換処理では、色変換テーブル（ＬＵＴ）１６を参照することによって、ＲＧＢ各色階調値で表現された画像データをカラープリンタ２０が形成可能なドットの色、すなわちシアン（Ｃ）色、マゼンタ（Ｍ）色、イエロ（Ｙ）色の各色階調値による画像データに変換する。ＬＵＴ（色変換テーブル）１６には、ＲＧＢ色空間を格子状に分割したそれぞれの格子点に対応付けて、各格子点のＲＧＢ画像データに対応するＣＭＹ各色階調値が記憶されている。尚、以下では、説明の煩雑化を避けるために、カラープリンタ２０に備えられているインクは、Ｃ，Ｍ，Ｙ各色のインクのみであるものとして説明するが、もちろん黒（Ｋ）色や、淡シアン（ＬＣ）色、淡マゼンタ（ＬＭ）色などの他のインクが備えられたカラープリンタにも同様の説明を適用することができる。
【００７０】
プレ変換処理では、色変換処理に先立って、ＲＧＢ色空間上でＲＧＢカラー画像データが示す座標点を、該座標値の周辺にあるＬＵＴ（色変換テーブル）１６の格子点に割り付ける処理を行う。ここで、本発明のプレ変換処理では、１つの座標点について複数個の格子点を選択し、ＲＧＢカラー画像データの座標点をこれら選択した格子点に割り付ける。図１中のＬＵＴ１６の枠内には、画像データの座標点を格子点に割り付ける様子が概念的に示されている。ＬＵＴ１６の枠内に示した説明図は、ＲＧＢ色空間の一部を拡大して示したものであり、説明図中の×印はＲＧＢ画像データの座標点を、説明図中の○印および●印は座標点の周りにあるＬＵＴの格子点を、それぞれ模式的に示している。また、説明図中で×印から●印に伸びる２つの矢印は、ＲＧＢ画像データの座標点が、第１の格子点および第２の格子点の２つの格子点に割り付けられている様子を、模式的に示したものである。
【００７１】
尚、ここでは図示の煩雑化を避けるために、画像データの座標点は２つの格子点に割り付けられるものとしているが、割り付ける格子点の数は２つに限らず、より多数の格子点に割り付けることができる。また、これら複数の格子点は、重複して同じ格子点に割り付けることも可能である。すなわち、図示した例における第１の格子点と第２の格子点とが同じ格子点であっても構わない。
【００７２】
更に、ここでは、画像処理を施すカラー画像データはＲＧＢ画像データであって、色空間はＲＧＢ各色による３次元色空間であるものとして説明しているが、もちろんこれに限られるものではない。例えば、画像処理を施す画像データを、ＲＧＢ画像データではなく、ＣＭＹ画像データ、あるいはこれに黒（Ｋ）色や他色を加えたより高次元の画像データであるとして、これらの画像データに本発明を適用することも可能である。また、より低次元すなわち１次元の画像データ、あるいは２次元の画像データに本発明を適用することも可能である。カラー画像データを格子点に割り付けるプレ変換処理の詳細については後述する。
【００７３】
このように本発明では、プレ変換処理において、１つの座標点のカラー画像データから複数の格子点を発生させる。こうして複数の格子点を発生させた後、続く色変換処理では、ＬＵＴ（色変換テーブル）を参照することによって、各格子点に対応する画像データを、それぞれのＣＭＹ画像データに色変換する。
【００７４】
色変換処理に続いて行う変換結果合成処理では、各格子点から読み出したＣＭＹ画像データに基づいて、ＲＧＢ画像データに対応するＣＭＹ画像データを算出する。このようにしてＲＧＢ画像データに対するＣＭＹ画像データが得られたら、階調数変換モジュールおよびインターレースモジュールにおいて、ＣＭＹ画像データに所定の処理を施すことによって、ＲＧＢ画像データを印刷データに変換する。
【００７５】
ここで、本発明の第１の態様では、ＲＧＢ色空間上でＲＧＢカラー画像データが示す座標点を、該座標点の周辺にあるＬＵＴの格子点に割り付けるに際して、格子点を複数選択して、選択した格子点に画像データを割り付けている。このようにして割り付けた格子点に記憶されているＣＭＹ画像データを読み出し、読み出した画像データに基づいて、ＲＧＢ画像データに対応するＣＭＹ画像データを算出する。こうして画像データを色変換してやれば、１つの座標点を１つの格子点に割り付ける従来のプレ変換処理を用いた場合に比べて、プレ変換誤差を減少させることができる。この理由については、後ほど詳しく説明する。もちろん、こうした方法では、複数の格子点のＣＭＹ画像データを求めなければならず、その分だけ変換に要する時間は増加する。しかし、各格子点のＣＭＹ画像データはＬＵＴに予め記憶されているので、実際には、格子点のＣＭＹ画像データを求める処理は極めて迅速に行うことが可能であり、従って、参照する格子点の数が増えても処理に要する時間の増加は極めて僅かである。
【００７６】
加えて、詳細には後述するが、本発明においては１つの座標点を割り付ける格子点の数は２つ以上の自由な整数とすることができ、格子点の数を増やすほどプレ変換誤差を減少させることができる。すなわち、プレ変換誤差の許容可能な大きさに応じて必要十分な格子点数とすることができるので、この点からも処理を迅速に行うことができる。これを、複数の格子点から補間演算して色変換する場合と比較して説明する。例えば、ＬＵＴがＲＧＢ各色による３次元ＬＵＴである場合、カラー画像データの座標点を補間演算して色変換するためには、補間方法の中では参照する格子点数の少ない四面体補間を行うものとしても、４つの格子点のデータを参照しなければならない。これに対して本発明においては、２つの格子点を参照するだけで色変換することができる。もちろん、補間演算する場合に比べれば変換による誤差は大きくなるが、前述したように、プレ変換誤差の大きさが許容値以下であれば画質に悪影響を与えることはなく、多くの場合においては、２つの格子点を参照するだけでプレ変換誤差を充分に小さくすることができる。
【００７７】
また、本発明の第２の態様では、Ｍ次元のカラー画像データが示す座標点をＬＵＴの格子点に割り付けるに際して、該座標点の周辺から選択した前記Ｍ個以下の複数の格子点に画像データを割り付けている。こうして割り付けた格子点に記憶されているＣＭＹ画像データを読み出し、読み出した画像データに基づいて、ＲＧＢ画像データに対応するＣＭＹ画像データを算出する。このようにして色変換を行うことによっても、上述した本発明の第１の態様と同様の理由により、１つの座標点を１つの格子点に割り付ける従来のプレ変換処理を用いた場合に比べて、プレ変換誤差を減少させることができる。もちろん、本発明の第２の態様では、画像データを割り付ける格子点の個数は、画像データの次元をＭ次元としたときに、常にＭ個以下となっていることから、迅速に色変換を行うことができる。特に、Ｍ次元の画像データを補間演算するためには、（Ｍ＋１）個以上の格子点を参照しなければならないことと比較すれば、本発明の第２の態様のプレ変換・色変換処理を行うことにより、色変換処理に要する時間を大きく短縮化することが可能となる。
【００７８】
本発明の第３の態様では、画像データを割り付けた複数の格子点から読み出したＣＭＹ画像データに基づいて、ＲＧＢ画像データに対応するＣＭＹ画像データを算出するに際して、読み出したＣＭＹ画像データを算術平均することによって、求めようとするＣＭＹ画像データを算出する。このように１つの座標点を複数の格子点に割り付けて、これら格子点のＣＭＹ画像データを算術平均することによってＲＧＢ画像データを色変換することとすれば、上述した本発明の第１の態様と同様の理由により、従来のプレ変換処理を用いた場合に比べて、プレ変換誤差を減少させることができる。また、各格子点のＣＭＹ画像データからＲＧＢ画像データに対応するＣＭＹ画像データを算出する手法の中で、算術平均を用いた手法は、補間演算とは異なって座標点から各格子点までの距離を求める必要がなく、きわめて迅速に実行可能な手法である。このことから、算術平均を用いてＣＭＹ画像データを算出すれば、迅速にプレ変換・色変換処理を行うことが可能となる。
【００７９】
また、上述した本発明の各種の態様においては、ＲＧＢ画像データを複数の格子点に割り付けるに際して、これら格子点の座標の確率的な期待値（カラー画像データを複数の格子点に割り付ける処理を多数回行ったときに、これら格子点の分布の中心となる座標値）と、ＲＧＢ画像データとの偏差が所定値以下となるように、各格子点を選択することとしても良い。こうして選択した格子点に基づいてＲＧＢ画像データをＣＭＹ画像データに色変換すれば、色変換の前後でカラー画像データの表現する色彩の差異を許容値に抑制して、正確な色変換を行うことが可能となる。
【００８０】
以下では、１つの座標点を複数の格子点に変換し、これら格子点のＣＭＹ画像データからＣＭＹ画像データを求めることで、プレ変換誤差を減少させることができる原理について説明した後、かかる原理を適用した各種の実施例について説明する。
【００８１】
Ｂ．プレ変換誤差を減少させることができる原理：
図２は、複数の格子点を用いることによって、プレ変換誤差を減少させることが可能となる原理を示した説明図である。尚、理解を容易にするために、ここでは、画像データおよびＬＵＴ（色変換テーブル）は、それぞれ１次元の画像データおよび数表であるとする。すなわち、プリンタドライバ１２では、通常、画像データは、ＲＧＢ各色の成分を有する３階調値の組合せとして表現された３次元データとして扱われており、ＬＵＴ（色変換テーブル）は、ＲＧＢ各色階調値の組合せと、この組合せによる画像データを色変換したデータとを対応付けて記録した３次元の数表として表現することができるが、図２では、画像データは、Ｒ軸の階調値を成分とする１次元のデータであるとして表されている。
【００８２】
プレ変換誤差が減少する原理を説明するための準備として、先ず初めに、図２（ａ）を参照しながら通常のプレ変換処理について簡単に説明しておく。今、階調値Ｘを有する画像データが入力されたとすると、通常のプレ変換処理では、画像データを、ＬＵＴ中の周辺の格子点に割り付ける処理を行う。ここでは、ＬＵＴは１次元であるとしており、画像データは、階調値Ｒ1 の格子点Ｐ1 あるいは階調値Ｒ2 の格子点Ｐ2 のいずれかの格子点に割り付けられる。続いて行われる色変換処理では、こうして割り付けられた格子点に記憶されているＣＭＹ各色の階調値を読み出して、得られた階調値の組合せを、色変換後の画像データとする。以下では、説明の煩雑化を避けるためにＣの階調値に着目して説明するが、他色の階調値についても同様のことが当てはまる。ＬＵＴの格子点Ｐ1 ，Ｐ2 にはそれぞれ階調値Ｃ1 ，Ｃ2 が記憶されているとすると、画像データを格子点Ｐ1 に割り付けた場合には色変換後のデータとして階調値Ｃ1 が得られ、また、格子点Ｐ2 に割り付けた場合には色変換後のデータとして階調値Ｃ2 が得られる。
【００８３】
こうして画像データをいずれかの格子点に割り付けることによって発生するプレ変換誤差は、階調値Ｘの画像データを階調値Ｒ1 の格子点に変更したことによる誤差、あるいは階調値Ｘの画像データを階調値Ｒ2 の格子点に変更したことによる誤差のいずれかの誤差である。プレ変換誤差が最大となるのは、階調値Ｒ1 の画像データを格子点Ｐ2 に割り付けた場合、あるいは階調値Ｒ2 の画像データの格子点Ｐ1 に割り付けた場合である。ＬＵＴの格子点Ｐ1 には階調値Ｃ1 が記憶され、ＬＵＴの格子点Ｐ2 には階調値Ｃ2 が記憶されているとしているから、発生するプレ変換誤差の最大値は、いずれの場合でも、階調値（Ｃ2 −Ｃ1 ）となる。以上の準備を踏まえた上で、画像データをＬＵＴの複数の格子点に割り付けることによってプレ変換誤差を減少させることが可能な原理について説明する。
【００８４】
図２（ｂ）は、画像データを２つの格子点に割り付ける場合を示している。尚、画像データをより多数の格子点に割り付けることも可能であるが、この様な変形例については実施例の中で説明することとして、ここでは２つの格子点に割り付ける場合について説明する。また、説明の都合から、画像データを割り付ける２つの格子点を、便宜的に、第１の格子点および第２の格子点と呼んで区別することにする。
【００８５】
図２（ａ）の場合と同様に、画像データの座標値は階調値Ｘ、格子点Ｐ1 の座標値は階調値Ｒ1 、格子点Ｐ2 の座標値は階調値Ｒ2 であるとする。今、画像データの座標値が格子点Ｐ2 よりも格子点Ｐ1 に近い場合、すなわち階調値Ｘが、
Ｘ  ＜  （Ｒ1 ＋Ｒ2 ）／２
を満たしている場合を考えると、画像データは第１の格子点としては、必ず格子点Ｐ1 に割り付けられる。図２（ｂ）において、画像データを示す×印から、格子点Ｐ1 を示す○印に向かって伸びる実線の矢印は、画像データを第１の格子点として格子点Ｐ1 に割り付けることを模式的に示している。また、画像データは第２の格子点としては、格子点Ｐ1 あるいは格子点Ｐ2 のいずれか一方の格子点に割り付けられる。図２（ｂ）において、画像データを示す×印から、格子点Ｐ1 ，Ｐ2 を示すそれぞれの○印に向かって伸びる破線の矢印は、第２の格子点としては格子点Ｐ1 あるいは格子点Ｐ2 のいずれかの格子点に、画像データが割り付けられることを模式的に示したものである。従って、画像データの座標値が格子点Ｐ2 よりも格子点Ｐ1 に近い場合は、画像データは、重複して１つの格子点Ｐ1 に割り付けられるか、あるいは格子点Ｐ1 および格子点Ｐ2 の２つの格子点に割り付けられることになる。
【００８６】
続く色変換処理では、こうして割り付けた第１の格子点、第２の格子点に記憶されている階調値をそれぞれ読み出して、これらの算術平均を行い、得られた階調値を色変換後の画像データとする。図２（ｃ）は、２つの格子点に記憶されている階調値から色変換後の画像データを算出する様子を示した説明図である。先ず、第１の格子点、第２の格子点がいずれも格子点Ｐ1 に割り付けられた場合について説明する（図２（ｃ）の上段を参照のこと）。ＬＵＴの格子点Ｐ1 には階調値Ｃ1 が記憶されているから、この場合は、第１の格子点からも第２の格子点からも階調値Ｃ1 が得られることになり、色変換後の階調値は、これらの階調値を算術平均した階調値Ｃ1 となる。尚、ここでは算術平均するものとして説明しているが、必ずしも算術平均に限られず、例えば、階調値Ｃ1 と階調値Ｃ2 との間を任意の比率に内分する階調値として算出することもできる。
【００８７】
プレ変換を行わずに（例えば補間演算などの方法によって）得られた色変換後の階調値をＣx とすると、階調値（Ｃx −Ｃ1 ）のプレ変換誤差が発生していることになる。プレ変換誤差が最大値になるのは、画像データの階調値が格子点Ｐ1 と格子点Ｐ2 のちょうど中間の階調値の時に、第１の格子点も第２の格子点もいずれも格子点Ｐ1 に割り付けられた場合である。この誤差は、図２（ａ）に示した通常のプレ変換処理において、格子点Ｐ1 と格子点Ｐ2 との中点に相当する画像データを格子点Ｐ1 に変更したことによって生じる誤差と同じであり、プレ変換誤差の最大値が大きく減少している。
【００８８】
次に、第１の格子点が格子点Ｐ1 に、第２の格子点が格子点Ｐ2 に割り付けられた場合について説明する（図２（ｃ）の下段を参照のこと）。この場合は、第１の格子点からは階調値Ｃ1 が得られ、第２の格子点からは階調値Ｃ2 が得られるので、色変換後の階調値は、これらの階調値を算術平均した階調値（Ｃ1 ＋Ｃ2 ）／２となる。このときに発生するプレ変換誤差は、階調値（Ｃ1 ＋Ｃ2 ）／２から階調値Ｃx を減算した値となる。プレ変換誤差が最大値になるのは、画像データの階調値が格子点Ｐ1 の階調値と一致している時に、第１の格子点を格子点Ｐ1 に割り付けるとともに、第２の格子点を格子点Ｐ2 に割り付けた場合である。この時に発生するプレ変換誤差は、図２（ａ）に示した通常のプレ変換処理において、格子点Ｐ1 に相当する画像データを、格子点Ｐ1 と格子点Ｐ2 のほぼ中点に変更したことによって生じる誤差と同じであり、この場合もプレ変換誤差の最大値が大きく減少していることになる。
【００８９】
以上の説明では、画像データの階調値Ｘが格子点Ｐ2 の階調値Ｒ2 よりも格子点Ｐ1 の階調値Ｒ1 に近い場合について説明したが、逆に格子点Ｐ2 の階調値Ｒ2 に近い場合についても同様のことが成り立つ。すなわち、この場合は、図２（ｄ）に示すように、第２の格子点は、必ず格子点Ｐ2 に割り付けられる。また、第１の格子点は、格子点Ｐ1 あるいは格子点Ｐ2 のいずれかの格子点に割り付けられるようにすればよい。その結果、画像データは、格子点Ｐ1 および格子点Ｐ2 の２つの格子点に割り付けられるか、あるいは重複して１つの格子点Ｐ2 に割り付けられることになる。どちらの場合でも、上述の説明と同様にして、通常のプレ変換処理を行う場合に比べて、発生するプレ変換誤差の最大値が大きく減少していることを確かめることができる。
【００９０】
以上に説明したように、１つの画像データを複数の格子点に割り付けることで、プレ変換誤差を大きく減少させることが可能である。このことは、統計的な手法を用いても確認することができる。図３（ａ）は、複数の画像データについて実際にプレ変換処理を行い、発生したプレ変換誤差の標準偏差を算出した結果をまとめた説明図である。図３（ａ）では、通常のプレ変換処理すなわち、１つの画像データを１つの格子点に割り付けた場合と、本発明のプレ変換処理のように２つの格子点に割り付けた場合とを比較している。初めに、図３（ａ）の意味するところについて説明する。
【００９１】
前述した図２と同様に、説明の便宜から画像データはＲ成分のみを有する１次元データであるとして、画像データは階調値Ｒ1 から階調値Ｒ2 の範囲の階調値を採り得るものとする。この様な画像データに対して、通常のプレ変換処理あるいは本発明のプレ変換処理を行って、それぞれの場合に発生するプレ変換誤差の標準偏差を算出する。
【００９２】
図３（ｂ）は、通常のプレ変換処理を行った場合を概念的に示している。階調値Ｘの画像データは、通常のプレ変換処理を行うことにより、図示されているように階調値Ｒ1 の格子点Ｐ1 あるいは階調値Ｒ2 の格子点Ｐ2 のいずれかに割り付けられるから、画像データの階調値が「Ｘ」の時に発生するプレ変換誤差は、階調値「Ｘ−Ｒ1 」または階調値「Ｒ2 −Ｘ」のいずれかとなる。従って階調値Ｘの画像データのプレ変換処理を何度も行って複数個のプレ変換誤差を算出すれば、プレ変換誤差の標準偏差を求めることができる。こうして求めた標準偏差は、画像データが階調値Ｘを取るときのプレ変換誤差の標準偏差である。階調値がＲ1 からＲ2 の範囲にある任意の画像データについても同様にして、プレ変換誤差の標準偏差を求めることができる。
【００９３】
図３（ａ）中に示した破線は、画像データに対して通常のプレ変換処理、すなわち１つの画像データを格子点Ｐ1 または格子点Ｐ2 のいずれかに割り付けた場合に発生するプレ変換誤差の標準偏差を示している。例えば、階調値（Ｒ1 ＋Ｒ2 ）／２の画像データは、格子点Ｐ1 あるいは格子点Ｐ2 のいずれに割り付けられた場合にも同じ値のプレ変換誤差（Ｒ2 −Ｒ1 ）／２が発生することと対応して、標準偏差も（Ｒ2 −Ｒ1 ）／２となっている。図３（ａ）の破線は、階調値Ｒ1 から階調値Ｒ2 の範囲を５０等分し、それぞれの分割点に相当する画像データに複数回（千回程度）プレ変換処理を行い、各分割点で算出したプレ変換誤差の標準偏差を結んだものである。
【００９４】
図３（ｃ）は、本発明のプレ変換処理、具体的には１つの画像データを２つの格子点に割り付ける様子を概念的に示している。図では、画像データの階調値Ｘは、２つの格子点の中点の階調値すなわち階調値（Ｒ1 ＋Ｒ2 ）／２よりも小さい場合を示している。図２を用いて説明したように、この様な画像データに対して本発明のプレ変換処理を行うと、プレ変換誤差は階調値（Ｘ−Ｒ1 ）あるいは階調値（（Ｒ1 ＋Ｒ2 ）／２）−Ｘのいずれかとなる。従って階調値Ｘの画像データに対して本発明のプレ変換処理を何度も行うことにより、プレ変換誤差の標準偏差を算出することができる。
【００９５】
図３（ａ）に示した実線は、階調値Ｒ1 から階調値Ｒ2 の画像データに対して、こうして本発明のプレ変換処理を行ったときに生じるプレ変換誤差の標準偏差を示している。プレ変換誤差の算出には、図中の破線で示した通常のプレ変換処理と全く同じ画像データを使用している。図中の実線と破線とを比較すれば明らかなように、本発明のプレ変換処理を行うことによってプレ変換誤差を通常のプレ変換誤差よりも大きく減少させることが可能である。
【００９６】
このような大きな効果が得られるのは、次の２つの要因が重畳して現れたためである。すなわち、▲１▼１つの画像データを複数（ここでは２つ）の格子点に割り付けていることと、▲２▼これら複数の格子点が適切に選択されていることの２つの要因に因るものである。以下では、これら要因について説明する。
【００９７】
図３（ａ）に示した一点鎖線は、１つの画像データを単純に２つの格子点に割り付けた場合の、プレ変換誤差の標準偏差を示している。具体的には、画像データに通常のプレ変換処理を２回行って２つの格子点に割り付け、これら格子点の中間点に画像データが割り付けられたものとして、このときに発生するプレ変換誤差の標準偏差を算出する。こうしたプレ変換処理を複数回行えば、誤差の標準偏差を算出することができる。画像データを複数の格子点に割り付けた場合は、これら格子点の座標値の平均値を算出し、これら平均値を各成分とする座標点に画像データが割り付けられたものとして、プレ変換誤差を算出すればよい。図３（ａ）中の破線と一点鎖線とを比較すれば明らかなように、この様にして求めたプレ変換誤差は、通常のプレ変換処理によって生じた誤差よりも小さくなっている。プレ変換処理そのものは通常のプレ変換処理を行っていることから、破線と一点鎖線との差は、上述の▲１▼の要因、すなわち画像データを割り付ける格子点数を単純に増やしたことにより生じた効果を示していると、考えられる。
【００９８】
また、図３（ａ）中の一点鎖線と実線との差は、上述の▲２▼の要因による効果であると考えられる。すなわち、一点鎖線の場合も破線の場合も、いずれも１つの画像データを２つの格子点に割り付けている点は同じである。しかし、前述したように実線の場合は、画像データの階調値に応じて２つの格子点が適切に割り付けられている。つまり、画像データの階調値Ｘが
Ｘ  ＜  （Ｒ1 ＋Ｒ2 ）／２
を満たしている場合は、第１の格子点としては、必ず格子点Ｐ1 に割り付けられ、第２の格子点としては、格子点Ｐ1 あるいは格子点Ｐ2 のいずれか一方の格子点に割り付けられている。逆の場合は、画像データは第１の格子点としては、格子点Ｐ1 あるいは格子点Ｐ2 のいずれか一方の格子点に割り付けられ、第１の格子点としては、必ず格子点Ｐ1 に割り付けられている。図３（ａ）中の一点鎖線と実線との差は、このように２つの格子点が適切に選択されている効果、すなわち前述した▲２▼の要因により生じたものと考えられる。従って、これら２つの要因が重畳的に発揮させることによって、プレ変換誤差を大きく減少させることが可能である。尚、ここでは２つの要因がともに現れる場合について説明したが、もちろん、▲１▼の要因のみが現れた場合でも通常のプレ変換処理に比べて誤差を減少させることは可能である。従って、本発明においては、通常のプレ変換処理を複数階行うことによって、１つの画像データを複数の格子点に割り付けるものとすることも可能である。
【００９９】
このように、１つの画像データを１つの格子点に割り付ける通常のプレ変換処理では、格子点Ｐ2 の画像データを格子点Ｐ1 に変更したことに相当するプレ変換誤差が発生するのに対して、本発明では、１つの画像データを２つの格子点に割り付けることで、発生するプレ変換誤差の最大値を大きく減少させることが可能となる。尚、１つの画像データを２つの格子点に割り付ける方法には、種々の方法が存在するが、これらについては後述する実施例において詳しく説明する。
【０１００】
以上の説明では、理解の便宜のために、画像データおよびＬＵＴが１次元であるものとしたが、本発明は、画像データおよびＬＵＴが多次元の場合にも容易に拡張することができる。以下では、画像データおよびＬＵＴが２次元である場合を例にとって、本発明を多次元に拡張するための考え方について説明する。
【０１０１】
図４は、２次元の画像データに本発明のプレ変換処理を適用して色変換を行う様子を概念的に示した説明図である。画像データを階調値Ｒx および階調値Ｇx の組合せによって表現された２次元のデータであるとすると、画像データは、Ｒ軸およびＧ軸が張る２次元の色空間（色平面）上の座標点として表すことができる。また、座標点の周囲にある４つの格子点を、それぞれ格子点Ｐ1 （Ｒ1 ，Ｇ1 ），格子点Ｐ2 （Ｒ2 ，Ｇ1 ），格子点Ｐ3 （Ｒ1 ，Ｇ2 ），格子点Ｐ4 （Ｒ2 ，Ｇ2 ）とする。すなわち、画像データに対応する座標点の周辺では、Ｒ軸は階調値Ｒ1 および階調値Ｒ2 で分割され、Ｇ軸は階調値Ｇ1 および階調値Ｇ2 で分割されていることになる。
【０１０２】
こうした多次元の画像データは、各次元ごとに別々に処理を行う。図４の例示を参照しながら説明すると、先ず、Ｒ成分に着目して、画像データのＲ成分（階調値Ｒx ）を、階調値Ｒ1 あるいは階調値Ｒ2 のいずれかに割り付けてやる。図４に示されているように、ここでは、階調値Ｒx は階調値Ｒ2 よりも階調値Ｒ1 に近い場合を想定しているから、第１の格子点のＲ成分は必ず階調値Ｒ1 に割り付けられ、第２の格子点のＲ成分は階調値Ｒ1 または階調値Ｒ2 のいずれかに割り付けられる。次いで、Ｇ成分に着目すると、図４に示されているように、画像データのＧ成分（階調値Ｇx ）は階調値Ｇ1 よりも階調値Ｇ2 に近いから、Ｒ成分とは異なり、第２の格子点のＧ成分は必ず階調値Ｇ2 に割り付けられ、第１の格子点のＧ成分は階調値Ｇ1 または階調値Ｇ2 のいずれかに割り付けられる。
【０１０３】
図４（ａ）は、こうして画像データの第１の格子点および第２の格子点を周辺の格子点に割り付ける様子を模式的に表している。先ず、第１の格子点について考えると、第１の格子点のＲ成分は階調値Ｒ1 を採り、Ｇ成分は階調値Ｇ1 または階調値Ｇ2 のいずれかを採るから、第１の格子点は格子点Ｐ1 または格子点Ｐ3 のいずれかに割り付けられることになる。図４（ａ）中で、画像データの座標値を示す×印から格子点Ｐ1 および格子点Ｐ3 に伸びる実線の矢印は、第１の格子点が格子点Ｐ1 または格子点Ｐ3 のいずれかに割り付けられることを模式的に表したものである。第２の格子点についても同様に、第２の格子点のＧ成分は階調値Ｇ2 を取り、Ｒ成分は階調値Ｒ1 または階調値Ｒ2 のいずれかを取るから、第２の格子点は格子点Ｐ3 または格子点Ｐ4 のいずれかに割り付けられることになる。図４（ａ）中で、画像データを示す×印から格子点Ｐ3 および格子点Ｐ4 に伸びる破線の矢印は、第２の格子点が格子点Ｐ3 または格子点Ｐ4 のいずれかに割り付けられることを模式的に表したものである。
【０１０４】
図４（ｂ）は、こうして割り付けた第１の格子点および第２の格子点に記憶されている階調値を読み出して色変換後の階調値を算出する様子を、場合を分けて示した説明図である。尚、ＬＵＴの格子点Ｐ1 ，Ｐ2 ，Ｐ3 ，Ｐ4 にそれぞれ記憶されているＣ（シアン）成分の階調値は、階調値Ｃ1 ，Ｃ2 ，Ｃ3 ，Ｃ4 であるとしている。図４（ｂ）の最上段に示したように、第１の格子点が格子点Ｐ1 に割り付けられ、第２の格子点が格子点Ｐ3 に割り付けられた場合は、第１の格子点からは階調値Ｃ1 が読み出され、第２の格子点からは階調値Ｃ3 が読み出される。色変換後の階調値は、これらを算術平均することによって、階調値（Ｃ1 ＋Ｃ3 ）／２と求めることができる。こうして得られた階調値は、格子点Ｐ1 と格子点Ｐ3 との中点の画像データを色変換した階調値と、ほぼ等しくなる。尚、このように多次元の画像データを２つの格子点に割り付ける場合にも、単純に算術平均するのではなく、画像データの座標点と格子点Ｐ1 および格子点Ｐ3 との距離に応じて、階調値Ｃ1 と階調値Ｃ3 とを、任意あるいは所定の比率で内分することとしても良い。
【０１０５】
図４（ｂ）の上から２段目に示したように、第１の格子点が格子点Ｐ1 に割り付けられ、第２の格子点が格子点Ｐ4 に割り付けられた場合は、第１の格子点からは階調値Ｃ1 が読み出され、第２の格子点からは階調値Ｃ4 が読み出され、これらを算術平均することによって色変換後の階調値は、階調値（Ｃ1 ＋Ｃ4 ）／２となる。この階調値は、格子点Ｐ1 と格子点Ｐ4 との中点の画像データを色変換した階調値と、ほぼ等しい。図４（ｂ）の下から２段目に示す場合、すなわち第１の格子点と第２の格子点とが、いずれも格子点Ｐ3 に割り付けられた場合は、色変換後の階調値は、同様にして階調値Ｃ3 となる。また、図４（ｂ）の最下段に示した場合、すなわち第１の格子点が格子点Ｐ3 に、第２の格子点が格子点Ｐ4 に割り付けられた場合は、色変換後の階調値は、（Ｃ3 ＋Ｃ4 ）／２となる。この階調値は、格子点Ｐ3 と格子点Ｐ4 との中点の画像データを色変換した階調値と、ほぼ等しくなる。
【０１０６】
このように、画像データを２つ（あるいは複数）の格子点に割り付けて色変換を行えば、プレ変換誤差を大きく減少させることができる。図４に示した例に即して説明すると、本発明のプレ変換処理を用いた場合、画像データは、実質的には次のような座標点に割り付けられたことに相当する。すなわち、▲１▼格子点Ｐ1 と格子点Ｐ3 との中点付近の座標点、あるいは▲２▼格子点Ｐ1 と格子点Ｐ4 との中点付近の座標点、▲３▼格子点Ｐ3 、▲４▼格子点Ｐ3 と格子点Ｐ4 との中点付近の座標点、のいずれかの座標点に割り付けられたことに相当すると考えることができる。これに対して、通常のプレ変換処理では、画像データは、格子点Ｐ1 ，格子点Ｐ2 ，格子点Ｐ3 ，格子点Ｐ4 のいずれかの格子点に割り付けられる。言うまでもなく、画像データをこれら格子点に割り付けた場合よりも、前述した各種格子点の中点付近の座標点、あるいは画像データに近い格子点に割り付けた場合の方が、プレ変換誤差は小さくなる。このことは、２つの格子点を任意あるいは所定の比率で内分する場合にも同様に適用することができる。以上の説明から明らかなように、画像データを２つ（あるいは複数）の格子点に割り付けることによって、プレ変換誤差を大きく減少させることが可能となる。
【０１０７】
実施例についての説明に入る前に、多次元への拡張を図る際の変形例について簡単に説明する。図５は、本発明を多次元に拡張する際の変形例を示す説明図である。画像データのＲ成分は階調値Ｒ2 よりも階調値Ｒ1 に近いので、第１の格子点あるいは第２の格子点のいずれかの格子点は、Ｒ成分が必ず階調値Ｒ1 となっている。同様に、画像データのＧ成分は階調値Ｇ1 よりも階調値Ｇ2 に近いので、第１、第２の格子点のいずれかの格子点は、Ｇ成分が必ず階調値Ｇ2 となっている。そこで、これらを組み合わせて２次元に拡張するに際して、第１の格子点は階調値の確定した成分を有する格子点とし、第２の格子点は階調値の確定していない成分を有する格子点とする。すなわち、Ｒ成分の階調値Ｒ1 およびＧ成分の階調値Ｇ2 は確定しているので、第１の格子点は、これら確定した成分を組み合わせて得られる座標値（Ｒ1 ，Ｇ2 ）の格子点Ｐ3 に割り付ける。図５（ａ）中で、画像データの座標値を示す×印から格子点Ｐ3 に伸びる実線の矢印は、第１の格子点を格子点Ｐ3 に割り付けることを模式的に示している。
【０１０８】
第２の格子点は、階調値の確定していない成分を組み合わせて得られる格子点に割り付ける。すなわち、階調値の確定していない成分は、Ｒ成分については階調値Ｒ1 または階調値Ｒ2 、Ｇ成分については階調値Ｇ1 または階調値Ｇ2 であるから、第２の格子点は、これらを組み合わせて得られる格子点Ｐ1 ，Ｐ2 ，Ｐ3 ，Ｐ4 のいずれかの格子点に割り付けられる。図５（ａ）中で、画像データの座標値を示す×印から格子点Ｐ1 ，Ｐ2 ，Ｐ3 ，Ｐ4 に伸びる破線の矢印は、第２の格子点をこれら格子点のいずれかに割り付けることを模式的に示している。
【０１０９】
図５（ｂ）には、こうして第１の格子点、および第２の格子点がそれぞれの格子点に割り付られた場合の組合せを場合分けして、色変換後の階調値を示している。尚、図５（ｂ）に示した例では、色変換後の階調値は算術平均によって算出するものとしている。このように、本発明を多次元に拡張するに際しては、以上に説明した考え方を用いて拡張することもできる。図４（ｂ）と図５（ｂ）とを比較すれば明らかなように、２つの考え方には若干の相違があるものの、実質的にはいずれの方法によっても大きな違いが生じることはないと考えられる。
【０１１０】
以下では、迅速に画像処理を行いながら、上述した原理を利用することで、発生するプレ変換誤差を抑制して、高画質な画像を迅速に表示することの可能な各種実施例について説明する。
【０１１１】
Ｃ．第１実施例：
Ｃ−１．装置構成：
図６は、本実施例の画像処理装置としてのコンピュータ１００の構成を示す説明図である。コンピュータ１００は、ＣＰＵ１０２を中心に、ＲＯＭ１０４やＲＡＭ１０６などを、バス１１６で互いに接続して構成された周知のコンピュータである。
【０１１２】
コンピュータ１００には、フレキシブルディスク１２４やコンパクトディスク１２６のデータを読み込むためのディスクコントローラＤＤＣ１０９や、周辺機器とデータの授受を行うための周辺機器インターフェースＰ／ＩＦ１０８、ＣＲＴ１１４を駆動するためのビデオインターフェースＶ／ＩＦ１１２等が接続されている。Ｐ／ＩＦ１０８には、後述するカラープリンタ２００や、ハードディスク１１８等が接続されている。また、デジタルカメラ１２０や、カラースキャナ１２２等をＰ／ＩＦ１０８に接続すれば、デジタルカメラ１２０やカラースキャナ１２２で取り込んだ画像を印刷することも可能である。また、ネットワークインターフェースカードＮＩＣ１１０を装着すれば、コンピュータ１００を通信回線３００に接続して、通信回線に接続された記憶装置３１０に記憶されているデータを取得することもできる。
【０１１３】
図７は、本実施例のカラープリンタ２００の概略構成を示す説明図である。カラープリンタ２００はシアン，マゼンタ，イエロ，ブラックの４色インクのドットを形成可能なインクジェットプリンタである。もちろん、これら４色のインクに加えて、染料濃度の低いシアン（淡シアン）インクと染料濃度の低いマゼンタ（淡マゼンタ）インクとを含めた合計６色のインクドットを形成可能なインクジェットプリンタを用いることもできる。尚、以下では場合によって、シアンインク，マゼンタインク，イエロインク，ブラックインク，淡シアンインク，淡マゼンタインクのそれぞれを、Ｃインク，Ｍインク，Ｙインク，Ｋインク，ＬＣインク，ＬＭインクと略称するものとする。
【０１１４】
カラープリンタ２００は、図示するように、キャリッジ２４０に搭載された印字ヘッド２４１を駆動してインクの吐出およびドット形成を行う機構と、このキャリッジ２４０をキャリッジモータ２３０によってプラテン２３６の軸方向に往復動させる機構と、紙送りモータ２３５によって印刷用紙Ｐを搬送する機構と、ドットの形成やキャリッジ２４０の移動および印刷用紙の搬送を制御する制御回路２６０などから構成されている。
【０１１５】
キャリッジ２４０には、Ｋインクを収納するインクカートリッジ２４２と、Ｃインク，Ｍインク，Ｙインクの各種インクを収納するインクカートリッジ２４３とが装着されている。キャリッジ２４０にインクカートリッジ２４２，２４３を装着すると、カートリッジ内の各インクは図示しない導入管を通じて、印字ヘッド２４１の下面に設けられた各色毎のインク吐出ヘッド２４４ないし２４７に供給され、それぞれのインク吐出ヘッド２４４ないし２４７から各色のインク滴が吐出される。
【０１１６】
制御回路２６０は、ＣＰＵ２６１とＲＯＭ２６２とＲＡＭ２６３等から構成されており、キャリッジモータ２３０と紙送りモータ２３５の動作を制御することによってキャリッジ２４０の主走査と副走査とを制御するとともに、コンピュータ１００から供給される印刷データに基づいて、各ノズルから適切なタイミングでインク滴を吐出する。こうして、制御回路２６０の制御の下、印刷媒体上の適切な位置に各色のインクドットを形成することによって、カラープリンタ２００はカラー画像を印刷することができる。
【０１１７】
尚、各色のインク吐出ヘッドからインク滴を吐出する方法には、種々の方法を適用することができる。すなわち、ピエゾ素子を用いてインクを吐出する方式や、インク通路に配置したヒータでインク通路内に泡（バブル）を発生させてインク滴を吐出する方法などを用いることができる。また、インクを吐出する代わりに、熱転写などの現象を利用して印刷用紙上にインクドットを形成する方式や、静電気を利用して各色のトナー粉を印刷媒体上に付着させる方式のプリンタを使用することも可能である。
【０１１８】
更には、吐出するインク滴の大きさを制御したり、あるいは一度に複数のインク滴を吐出して、吐出するインク滴の数を制御することにより、印刷用紙上に形成されるインクドットの大きさを制御可能な、いわゆるバリアブルドットプリンタを使用することもできる。
【０１１９】
図８は、インク吐出ヘッド２４４ないし２４７におけるインクジェットノズルＮｚの配列を示す説明図である。図示するように、インク吐出ヘッドの底面には、各色毎のインクを吐出する４組のノズルアレイが形成されており、各組のノズルアレイには、ノズルＮｚが一定のノズルピッチｋで千鳥状に配列されている。こうしてノズルが千鳥上に配列されているので、ノズルピッチｋを小さな値に製造することが容易になる。もっとも、これらノズルが、一直線上に配列されていても構わない。
【０１２０】
以上のようなハードウェア構成を有するカラープリンタ２００は、キャリッジモータ２３０を駆動することによって、各色のインク吐出ヘッド２４４ないし２４７を印刷用紙Ｐに対して主走査方向に移動させ、また紙送りモータ２３５を駆動することによって、印刷用紙Ｐを副走査方向に移動させる。制御回路２６０は、印刷データに従って、キャリッジ２４０の主走査および副走査を繰り返しながら、適切なタイミングでノズルを駆動してインク滴を吐出することによって、カラープリンタ２００は印刷用紙上にカラー画像を印刷している。
【０１２１】
Ｃ−２．画像処理の概要：
図９は、本実施例の画像処理装置としてのコンピュータ１００が、受け取った画像データに所定の画像処理を加えることによって、画像データを印刷データに変換する処理の流れを示すフローチャートである。かかる処理は、コンピュータ１００のオペレーティングシステムがプリンタドライバ１２を起動することによって開始される。以下、図９に従って、本実施例の画像データ変換処理について簡単に説明する。
【０１２２】
プリンタドライバ１２は、画像データ変換処理を開始すると、先ず初めに、変換すべきＲＧＢカラー画像データの読み込みを開始する（ステップＳ１００）。次いで、取り込んだ画像データの解像度を、カラープリンタ２００が印刷するための解像度に変換する（ステップＳ１０２）。カラー画像データの解像度が印刷解像度よりも低い場合は、線形補間を行うことで隣接する画像データ間に新たなデータを生成し、逆に印刷解像度よりも高い場合は一定の割合でデータを間引くことによって、画像データの解像度を印刷解像度に変換する。
【０１２３】
プリンタドライバ１２は、解像度変換処理に続いてプレ変換・色変換処理を行う（ステップＳ１０４）。かかる処理は、印刷解像度に変換されたＲＧＢ画像データに前述したプレ変換処理を施し、続けて、後述の色変換処理を施すことによってＣＭＹ各色階調値によって表現された画像データに変換する処理である。解像度変換処理で印刷解像度に変換された画像データは、プレ変換処理を施されることによってＬＵＴ（色変換テーブル）の格子点のデータに変換される。プレ変換処理において画像データを格子点のデータに変換すれば、これに伴ってプレ変換誤差が発生するが、プレ変換処理では、プレ変換誤差が互いに打ち消し合って、所定範囲の画像全体で見たときに誤差が許容値以下となるような方法で、画像データが格子点のデータに変換される。加えて本実施例のプレ変換処理においては、１つの画像データを複数の格子点のデータに変換することで、個々のプレ変換誤差の大きさも大幅に抑制することが可能となっている。プレ変換処理の詳細については後述する。
【０１２４】
プレ変換処理においてＬＵＴの格子点のデータに変換された画像データは、続いて色変換処理が施される。色変換処理とは、Ｒ，Ｇ，Ｂの階調値の組み合わせによって表現されているカラー画像データを、Ｃ，Ｍ，Ｙ，Ｋなどのカラープリンタ２００で使用する各色の階調値の組み合わせによって表現された画像データに変換する処理である。かかる変換はたいへんに非線形性の強い変換であることから、ＬＵＴ（色変換テーブル）を参照することによって行われる。ＬＵＴに記憶されていない画像データを色変換する場合は、ＬＵＴに記録されたデータから補間演算することで、色変換後の画像データを算出するのが通常である。しかし本実施例では、画像データは、既にプレ変換処理においてＬＵＴの格子点のデータに変換されているので、色変換処理では既に格子点に記憶されているデータを単に読み出すだけでよく、極めて迅速に色変換処理を行うことができる。尚、本実施例のプレ変換処理では、１つの画像データを複数の格子点のデータに変換していることから、本実施例の色変換処理では、複数の格子点のデータを読み出すとともに、読み出したデータに基づいて、画像データを色変換したデータを求める処理も併せて行っている。格子点のデータを読み出す処理は極めて迅速に行うことができ、また読み出したデータから色変換後のデータを求める処理も迅速に行うことができるので、こうした処理を行った場合でも補間演算する場合に比べれば極めて迅速に色変換処理を実行することができる。本実施例の色変換処理の詳細については後述する。
【０１２５】
プリンタドライバ１２は色変換処理を終了すると、階調数変換処理を開始する（ステップＳ１０６）。階調数変換処理とは次のような処理である。色変換処理によって、ＲＧＢ画像データはＣ，Ｍ，Ｙ，Ｋ各色の階調データに変換されている。これら各色の階調データは、階調値０から２５５の２５６階調を有するデータである。これに対し、本実施例のカラープリンタ２００は、「ドットを形成する」，「ドットを形成しない」のいずれかの状態しか採り得ない。そこで、２５６階調を有する各色の階調データを、カラープリンタ２００が表現可能な２階調で表現された画像データに変換する必要がある。このような階調数の変換を行う処理が階調数変換処理である。
【０１２６】
こうして階調数変換処理を終了したら、プリンタドライバはインターレース処理を開始する（ステップＳ１０８）。インターレース処理とは、ドットの形成有無に対応する２階調のデータに変換された画像データを、ドットの形成順序を考慮しながらカラープリンタ２００に転送すべき順序に並べ替える処理である。プリンタドライバ１２は、インターレース処理を行って最終的に得られた画像データを、印刷データとしてカラープリンタ２００に出力する（ステップＳ１１０）。カラープリンタ２００は、印刷データに従って、各色のインクドットを印刷媒体上に形成する。その結果、画像データに対応したカラー画像が印刷媒体上に印刷される。
【０１２７】
Ｃ−３．第１実施例のプレ変換・色変換処理：
以下では、上述した画像データ変換処理中で行われる第１実施例のプレ変換・色変換処理について説明する。図１０は、第１実施例のプレ変換・色変換処理の流れを示したフローチャートである。かかる処理は、プリンタドライバが前述したコンピュータ１００のＣＰＵ１０２の機能を利用して実行される。
【０１２８】
プリンタドライバはプレ変換・色変換処理を開始すると、先ず初めに画素１つ分の画像データＤx を読み込む（ステップＳ２００）。この画像データは、図９の画像データ変換処理の中の解像度変換処理において、印刷解像度に変換されたＲＧＢ画像データである。
【０１２９】
次いで、読み込んだ画像データを、第１の格子点および第２の格子点に割り付ける処理を行う（ステップＳ２０２）。本明細書中では、「プレ変換処理」のことを、画像データを格子点に割り付ける処理と呼ぶことがあるものとする。尚、画像データを割り付ける格子点の数は２つに限られるものではなく、より多数の格子点とすることもできる。プレ変換処理の詳細については、別図を用いて後ほど詳しく説明する。また、より多数の格子点に割り付ける変形例のプレ変換処理についても後述する。
【０１３０】
画像データを第１の格子点と第２の格子点とに割り付けたら、ＬＵＴの第１の格子点および第２の格子点に記憶されているＣＭＹ各色についての階調値を読み出すことによって、画像データをＣＭＹ各色による画像データに色変換する（ステップＳ２０４）。かかる処理についても、後ほど詳しく説明する。
【０１３１】
以上の処理を行って、読み込んだＲＧＢ画像データをＣＭＹ各色による画像データに変換したら、すべての画像データについての変換が終了したか否かを判断する（ステップＳ２０６）。未変換の画像データが残っていれば、ステップＳ２００に戻って上述した一連の処理を行い、すべてのＲＧＢ画像データをＣＭＹ各色の画像データに変換したら、図１０に示すプレ変換・色変換処理を抜けて、図９に示した画像データ変換処理に復帰する。
【０１３２】
Ｃ−４．プレ変換処理：
図１１は、プレ変換・色変換処理中で、画像データを格子点に割り付ける処理（プレ変換処理）の流れを示すフローチャートである。以下、図１１を参照しながら、図１０のステップＳ２０２における処理について詳しく説明する。
【０１３３】
プレ変換処理を開始すると、先ず初めに、色空間上で画像データ（Ｄx ）の周囲にある各格子点の座標値を検出する処理を行う（ステップＳ３００）。これは次のような処理である。図１２は、Ｒ，Ｇ，Ｂ各軸が複数の座標値で分割されて、色空間が複数の小さな直方体（正六面体を含む）に細分されている様子を示している。ＬＵＴ（色変換テーブル）は、こうして色空間を細分して発生させた各格子点に、格子点の座標値に対応するＣＭＹ各色の階調値を記憶した数表である。今、ＲＧＢ画像データＤx が入力されたとして、ＲＧＢ色空間上で該画像データに対応する座標点を考えると、こうした座標点は、色空間を細分している複数の直方体の中の、いずれかの直方体に包含されることになる。
【０１３４】
図１３は、画像データＤx に対応する座標点が１つの直方体に包含されている様子を示した説明図である。図に示した例示では、座標点を包含する直方体は、ＲＧＢ色空間を、Ｒ軸の階調値Ｒ1 および階調値Ｒ2 で分割し、Ｇ軸の階調値Ｇ1 および階調値Ｇ2 で分割し、Ｂ軸の階調値Ｂ1 および階調値Ｂ2 で分割することによって形成されている。これを、画像データＤx の各成分毎に見れば、Ｒ軸については画像データＤx は階調値Ｒ1 および階調値Ｒ2 に包含されていることになる。同様に、Ｇ軸については階調値Ｇ1 および階調値Ｇ2 に、Ｂ軸については階調値1 および階調値Ｂ2 にそれぞれ包含されていることになる。図１１に示すステップＳ３００では、このように画像データＤx を包含する格子点の座標値（各成分ごとの見れば、画像データＤx の両隣にある格子点の座標値）を、各成分毎に検出する処理を行う。尚、以下では主にＲ成分に着目して説明するが、ＲＧＢの各成分について同様な処理が行われる。
【０１３５】
以上のようにして画像データＤx を包含する座標値（すなわち画像データＤx の両隣にある座標値）を各成分毎に検出したら、座標値の間隔を算出して第１のノイズＮs1を発生させる（ステップＳ３０２）。かかる処理について、Ｒ成分の場合を例にとって説明する。図１３に示すように、Ｒ成分については画像データＤx は階調値Ｒ1 と階調値Ｒ2 とに包含されており、これら座標値の間隔は、階調値（Ｒ2 −Ｒ1 ）である。この座標値の間隔の半分の振幅を有するノイズを発生させて、第１のノイズＮs1とする。こうした第１のノイズＮs1は、種々の方法で発生させることができるが、ここでは乱数を用いた次式によって得られた値を用いることとする。
Ｎs1＝（Ｒ2 −Ｒ1 ）・ＲＤ［０，１］／２
ここで、上式中のＲＤ［０，１］は、区間［０，１］で乱数を発生させる関数である。尚、第１のノイズＮs1は、ＲＧＢ成分毎に算出するが、ＲＤ［０，１］の値そのものは、各成分で同じ値を用いることができる。
【０１３６】
また、画像データの座標点を包含する直方体が正六面体である場合は、各成分の座標値の間隔は同じ値となるので、第１のノイズＮs1の値も各成分で同じ値を用いることもできる。このように、各成分で乱数、あるいは第１のノイズを共用すれば、その分だけ処理の迅速化につながるので好ましい。
【０１３７】
こうして第１のノイズＮs1を発生させたら、画像データＤx の各成分に第１のノイズＮs1を加算して、第１の判定データＤr1を各成分毎に算出する（ステップＳ３０４）。すなわち、Ｒ成分について説明すれば、ステップＳ３０２でＲ成分について求めた第１のノイズＮs1を、画像データのＲ成分Ｒx に加算することにより、Ｒ成分についての第１の判定データＤr1を算出する。
【０１３８】
次いで、上方の座標値Ｇup（画像データＤx の両隣にある座標値の中で階調値が大きい方の座標値）を閾値thに設定した後（ステップＳ３０６）、第１の判定データＤr1が閾値thより大きいか否かを各成分毎に判断する（ステップＳ３０８）。そして、第１の判定データＤr1の方が大きければ（ステップＳ３０８：ｙｅｓ）、その成分については、第１の格子点の座標値Ｐre1 として上方の座標値Ｇupを設定し（ステップＳ３１０）、そうでなければ（ステップＳ３０８：ｎｏ）下方の座標値Ｇlw（画像データＤx の両隣にある座標値の中で階調値が小さい方の座標値）を設定する（ステップＳ３１２）。この処理について、図１４、図１５を用いて更に詳しく説明する。
【０１３９】
図１４（ａ）は、第１の格子点のＲ成分の階調値を設定する処理について示した説明図である。図中に示した黒塗りの三角印は画像データＤx のＲ成分Ｒx の位置を示している。画像データＤx の両隣にある上方の座標値Ｇupおよび下方の座標値Ｇlwは、それぞれ階調値Ｒ2 および階調値Ｒ1 である。前述したように、第１のノイズＮs1は、階調値０から、階調値（Ｒ2 −Ｒ1 ）／２までの間で、任意の階調値を採るから、画像データのＲ成分Ｒx に第１のノイズＮs1を加えた第１の判定データＤr1は、図１４（ａ）中で斜線を付して示した範囲の任意の値を採ることになる。また、閾値thは、階調値Ｒ2 に設定されている。
【０１４０】
図１４（ａ）に示したように画像データのＲ成分Ｒx が、両隣にある座標値Ｒ1 ，Ｒ2 の平均値よりも小さい場合は、第１の判定データＤr1は閾値thを越えることはない。従って、この様な場合は、第１の格子点のＲ成分には、必ず下方の座標値Ｇlw（階調値Ｒ1 ）が設定される。図１４（ａ）中で、斜線を付した部分から座標値Ｒ1 に伸びる破線の矢印は、第１の判定データＤr1がどのような値を採ろうとも、第１の格子点のＲ成分が必ず階調値Ｒ1 に設定されることを模式的に示したものである。これに対して、画像データのＲ成分Ｒx が、両隣にある座標値Ｒ1 ，Ｒ2 の平均値よりも大きい場合は、上方の座標値Ｇupまたは下方の座標値Ｇlwのいずれか一方の座標値が設定されることになる。これを、図１５（ａ）を参照しながら説明する。
【０１４１】
図１５（ａ）は、画像データのＲ成分Ｒx が、両隣にある座標値Ｒ1 ，Ｒ2 の平均値より大きい場合に、第１の格子点のＲ成分を設定する様子を示した説明図である。画像データＲx に第１のノイズＮs1を加えた第１の判定データＤr1は、図中に斜線を付して表した範囲で任意の階調値を採ることができる。前述したように第１のノイズＮs1は、階調値０から、階調値（Ｒ2 −Ｒ1 ）／２までの間で、任意の階調値を採るから、画像データのＲ成分に第１のノイズＮs1を加えた第１の判定データＤr1は、この場合は、閾値thよりも大きくなる場合と小さくなる場合とが生じる。第１の判定データＤr1が閾値thよりも小さい場合には、第１の格子点のＲ成分は下方の座標値Ｇlw（階調値Ｒ1 ）に設定され、第１の判定データＤr1が閾値thよりも大きくなった場合には上方の座標値Ｇup（階調値Ｒ2 ）に設定される。図１５（ａ）中で、斜線を付した領域で、閾値thより左側の部分から座標値Ｒ1 に向かって伸びる破線の矢印は、第１の判定データＤr1が閾値thより小さい場合は、第１の格子点のＲ成分が階調値Ｒ1 に設定されることを模式的に表したものである。同様に、閾値thより右側にあって斜線を付した領域から座標値Ｒ2 に伸びる破線の矢印は、第１の判定データＤr1が閾値thより大きい場合は、第１の格子点のＲ成分が階調値Ｒ2 に設定されることを模式的に示したものである。図１１中のステップＳ３０８ないしステップＳ３１２においては、この様にして第１の格子点の各成分の階調値を設定することにより、第１の格子点が１つ選択される。
【０１４２】
以上のようにして第１の格子点を選択したら、続いて第２の格子点を選択する処理を開始する。第２の格子点を選択するに際しては、先ず初めに第２のノイズＮs2を算出する（図１１のステップＳ３１４）。第２のノイズＮs2は、画像データＤx の両隣にある座標値Ｇupと座標値Ｇlwとの階調差の半分の値と、第１のノイズＮs1とを加算した値を使用する。第２のノイズＮs2も第１のノイズＮs1と同様に各成分毎に算出されるが、前述したように、画像データの座標点を包含する直方体が正六面体である場合は、各成分とも同じ値のノイズを用いることとしてもよい。
【０１４３】
次いで、画像データＤx の各成分に第２のノイズＮs2を加算することによって、第２の判定データＤr2を算出し（ステップＳ３１６）、算出した第２の判定データＤr2と閾値thとを、各成分毎に比較する（ステップＳ３１８）。そして、第２の判定データＤr2の方が大きければ（ステップＳ３１８：ｙｅｓ）、その成分については、上方の座標値Ｇupを第２の格子点の座標値Ｐre2 として設定する（ステップＳ３２０）。逆に、第２の判定データＤr2の方が小さい場合は（ステップＳ３１８：ｎｏ）、その成分については、下方の座標値Ｇlwを第２の格子点の座標値Ｐre2 として設定する（ステップＳ３２２）。これを、第２の格子点についてのＲ成分の座標値を設定する場合を例にとって、再び図１４、図１５を参照しながら説明する。
【０１４４】
図１４（ｂ）は、画像データのＲ成分Ｒx が、上方の座標値Ｒ2 と下方の座標値Ｒ1 との平均値（Ｒ1 ＋Ｒ2 ）／２よりも小さい場合に、第２の格子点のＲ成分の座標値を設定する処理を示した説明図である。閾値thは、第１の格子点の場合と同様に、階調値Ｒ2 に設定されている。第２の格子点の座標値を設定するために使用する第２のノイズＮs2は、前述したように第１のノイズＮs1よりも、階調値Ｒ1 と階調値Ｒ2 との平均値（Ｒ1 ＋Ｒ2 ）／２だけ大きな値を採る。ここで、第１のノイズＮs1は、図１４（ａ）中に斜線で示した範囲で任意の値を採ることができ、従って、画像データＲx に第２のノイズＮs2を加算した第２の判定データＤr2は、図１４（ｂ）中に斜線を付して示した範囲内で任意の値を採り得ることになる。
【０１４５】
第２の判定データＤr2が閾値thよりも小さい場合、すなわち図１４（ｂ）中に斜線を付した範囲内で閾値thよりも左側にある場合には、第２の格子点のＲ成分は階調値Ｒ1 に設定される。逆に、第２の判定データＤr2が閾値thよりも大きい場合、すなわち図１４（ｂ）中で閾値thよりも右側にある場合は、第２の格子点のＲ成分は階調値Ｒ2 に設定される。図１４（ｂ）中で、斜線を付した領域で閾値thより左側の部分から座標値Ｒ1 に向かって伸びる破線の矢印は、第２の判定データＤr2が閾値thより小さい場合は、第２の格子点のＲ成分が階調値Ｒ1 に設定されることを模式的に表したものである。
【０１４６】
これに対して、画像データのＲ成分Ｒx が、画像データの両隣にある座標値Ｒ1 およびＲ2 の平均値（Ｒ1 ＋Ｒ2 ）／２よりも大きい場合は、第２の格子点のＲ成分は必ず上方の座標値Ｇupに設定されることになる。これを、図１５（ｂ）に即して説明すると、画像データのＲ成分Ｒx が平均値（Ｒ1 ＋Ｒ2 ）／２よりも大きい場合は、画像データＲx に第２のノイズＮs2を加算した第２の判定データＤr2は、図中に斜線を付して示した範囲で任意の値を採り得る。図から明らかなように、画像データがどのような値を採ろうとも第２の判定データＤr2は必ず閾値thよりも大きくなるので、第２の格子点のＲ成分は常に階調値Ｒ2 に設定される。
【０１４７】
以上の説明では、第２の格子点のＲ成分の階調値を設定する様子について説明したが、Ｇ成分、Ｂ成分についても同様にして各成分の階調値を設定する。図１１中のステップＳ３１８ないしステップＳ３２２においては、この様にして、第２の格子点の各成分の階調値を設定することで、第２の格子点が１つ選択される。
【０１４８】
上述した処理を行うことにより、画像データＤx の座標値（Ｒx ，Ｇx ，Ｂx ）に応じて第１の格子点および第２の格子点が選択される様子を、図１６を参照しながら説明する。図１６は、画像データの各成分が、いずれも上方の座標値よりも下方の座標値に近いとした場合、すなわち画像データＤx が図１６中で斜線を付して示した領域にある場合に、画像データＤx が第１の格子点および第２の格子点として、どのような格子点に割り付けられるかを示した説明図である。
【０１４９】
画像データのＲ，Ｇ，Ｂの各成分の階調値Ｒx ，Ｇx ，Ｂx はいずれも下方の座標値Ｒ1 ，Ｇ1 ，Ｂ1 に近いから、図１４に示す場合に相当する。すなわち、第１の格子点の各成分については、図１４（ａ）を用いて説明したように、必ず下方の座標値Ｒ1 ，Ｇ1 ，Ｂ1 にそれぞれ設定される。また、第２の格子点の各成分については、図１４（ｂ）に示すように、第２のノイズＮs2が採る値に応じて、下方の座標値Ｒ1 ，Ｇ1 ，Ｂ1 に設定される場合と、上方の座標値Ｒ2 ，Ｇ2 ，Ｂ2 に設定される場合とがある。
【０１５０】
図１６（ｂ）には、第１の格子点および第２の格子点について、各成分の採り得る階調値を場合分けして示している。前述したように、第１の格子点のＲＧＢ各成分はいずれも下方の座標値の階調値に設定されるから、第１の格子点は必ず格子点Ｐ1 （Ｒ1 ，Ｇ1 ，Ｂ1 ）に設定される。また、第２の格子点の各成分は次のように設定される。Ｒ成分は、階調値Ｒ1 （下方の座標値の階調値）または階調値Ｒ2 （上方の座標値の階調値）のいずれかに設定され、Ｇ成分は、階調値Ｇ1 （下方の座標値の階調値）または階調値Ｇ2 （上方の座標値の階調値）のいずれかに、Ｂ成分は、階調値Ｂ1 （下方の座標値の階調値）または階調値Ｂ2 （上方の座標値の階調値）のいずれかに設定される。このことから、結局、第２の格子点は格子点Ｐ1 （Ｒ1 ，Ｇ1 ，Ｂ1 ）、格子点Ｐ2 （Ｒ2 ，Ｇ1 ，Ｂ1 ）、格子点Ｐ3 （Ｒ2 ，Ｇ2 ，Ｂ1 ）、格子点Ｐ4 （Ｒ1 ，Ｇ2 ，Ｂ1 ）、格子点Ｐ5 （Ｒ1 ，Ｇ1 ，Ｂ2 ）、格子点Ｐ6 （Ｒ2 ，Ｇ1 ，Ｂ2 ）、格子点Ｐ7 （Ｒ2 ，Ｇ2 ，Ｂ2 ）、格子点Ｐ8 （Ｒ1 ，Ｇ2 ，Ｂ2 ）のいずれかの格子点に設定されることになる。図１６（ａ）中に示した●印は、第１の格子点が格子点Ｐ1 に設定されたことを示している。また、同図中に示した○印は、第２の格子点がこれら格子点のいずれかに設定されることを示している。
【０１５１】
図１７は、画像データのＲ成分Ｒx 、Ｇ成分Ｇx は下方の座標値に近く、Ｂ成分Ｂx は上方の座標値に近いとした場合、すなわち画像データＤx が図１７中で斜線を付して示した領域にある場合に、第１の格子点および第２の格子点としてどのような格子点が選択されるかを示した説明図である。
【０１５２】
画像データのＲ成分，Ｇ成分は、それぞれ下方の座標値Ｒ1 ，Ｇ1 に近く、Ｂ成分は上方の座標値Ｂ2 に近い。従って、第１の格子点のＲ成分，Ｇ成分はそれぞれ階調値Ｒ1 ，Ｇ1 に設定され（図１４（ａ）参照）、第１の格子点のＢ成分は階調値Ｂ1 ，Ｂ2 のいずれかに設定される。また、第２の格子点については、Ｂ成分は階調値Ｂ2 に設定され、Ｒ成分は階調値Ｒ1 ，Ｒ2 のいずれかに、Ｇ成分は階調値Ｇ1 ，Ｇ2 のいずれかに設定される。
【０１５３】
図１７（ｂ）には、第１の格子点および第２の格子点について、各成分の採り得る階調値の組合せを場合分けして示している。第１の格子点は、図示されているように格子点Ｐ1 （Ｒ1 ，Ｇ1 ，Ｂ1 ）、格子点Ｐ5 （Ｒ1 ，Ｇ1 ，Ｂ2 ）のいずれかを採り得る。また、それぞれの場合について、第２の格子点は格子点Ｐ5 （Ｒ1 ，Ｇ1 ，Ｂ2 ）、格子点Ｐ8 （Ｒ1 ，Ｇ2 ，Ｂ2 ）、格子点Ｐ6 （Ｒ2 ，Ｇ1 ，Ｂ2 ）、格子点Ｐ7 （Ｒ2 ，Ｇ2 ，Ｂ2 ）のいずれかの格子点を採り得る。図１７（ａ）中に示した●印は、第１の格子点が格子点Ｐ1 または格子点Ｐ5 のいずれかに設定されることを示し、同図中に示した○印は、第２の格子点が格子点Ｐ5 ，Ｐ6 ，Ｐ7 ，Ｐ8 のいずれかに設定されることを示している。
【０１５４】
図１１に示した格子点割り付け処理（プレ変換処理）においては、以上に説明したようにして、画像データＤx の座標値に応じて第１の格子点と第２の格子点とを１つずつ選択する。また、同じ格子点が重複して、第１の格子点および第２の格子点として選択される場合もある。こうして、２つの格子点を選択したら、図１１に示したプレ変換処理を終了して、図１０に示したプレ変換・色変換処理に復帰する。
【０１５５】
Ｃ−５．色変換処理：
こうしてプレ変換処理を終了したら、続いて色変換処理を開始する（図１０のステップＳ２０４）。すなわち、ＲＧＢ各色の階調値によって表現された画像データＤx は、前述したプレ変換処理によって第１の格子点、第２の格子点に変換されるが、これら格子点もＲ，Ｇ，Ｂを各成分とする座標値によって表現されている。そこで、続く色変換処理では、これらＲＧＢ各成分による座標値を、Ｃ，Ｍ，Ｙインクなどのカラープリンタ２００で使用するインク各色の階調値によって表現されたＣＭＹ画像データに変換する処理を行う。
【０１５６】
図１８は、プレ変換処理に続いて行われる色変換処理の流れを示したフローチャートである。かかる処理も、上述したプレ変換処理と同様に、プリンタドライバがコンピュータ１００のＣＰＵ１０２の機能を利用して実行する処理である。以下、図１８のフローチャートに従って説明する。
【０１５７】
色変換処理を開始すると、プリンタドライバは、ＬＵＴ（色変換テーブル）の第１の格子点に記憶された各色の階調値を読み出す処理を行う（ステップＳ４００）。前述したように、ＬＵＴの各格子点には、Ｃ，Ｍ，Ｙなどのカラープリンタで使用するインク各色の階調値の組合せが記憶されている。ステップＳ４００において、第１の格子点に記憶されている各色の階調値を読み出すことによって、第１の格子点を表すＲＧＢ各成分による座標値は、ＣＭＹ各色の階調値に変換される。尚、ここでは説明が煩雑となることを避けるために、ＬＵＴの格子点にはＣ，Ｍ，Ｙ各色の階調値が記憶されているものとして説明するが、もちろん、Ｋ（黒色）など、プリンタに備えられたインク各色の階調値を記憶しておくことも可能である。
【０１５８】
第２の格子点についても同様に、ＬＵＴに記憶されているＣＭＹ各色の階調値を読み出すことにより、第２の格子点を表すＲＧＢ座標値は、ＣＭＹ各色の階調値に変換される（ステップＳ４０２）。
【０１５９】
こうして第１の格子点および第２の格子点について、ＣＭＹ各色の階調値を読み出したら、これら階調値を各色毎に算術平均することによって、ＲＧＢ画像データＤx に対応するＣＭＹ画像データＤcxを算出する（ステップＳ４０４）。例えば、第１の格子点から読み出したＣＭＹ階調値を、それぞれＣ1 ，Ｍ1 ，Ｙ1 として、第２の格子点から読み出したＣＭＹ階調値を、それぞれＣ2 ，Ｍ2 ，Ｙ2 とすると、画像データＤx に対応するＣＭＹ画像データＤcxのＣ成分Ｃx ，Ｍ成分Ｍx ，Ｙ成分Ｙx のそれぞれは次式によって算出される。
Ｃx ＝（Ｃ1 ＋Ｃ2 ）／２
Ｍx ＝（Ｍ1 ＋Ｍ2 ）／２
Ｙx ＝（Ｙ1 ＋Ｙ2 ）／２
【０１６０】
以上のようにして、ＣＭＹ画像データＤcxのＣ，Ｍ，Ｙ各成分の階調値を算出したら図１８の色変換処理を終了して、図１０に示したプレ変換・色変換処理に復帰する。この時点で、図１０のステップＳ２００で読み込んだＲＧＢ画像データＤx は、第１の格子点および第２の格子点を介して、ＣＭＹ各色によって表現されたＣＭＹ画像データＤcxに色変換されたことになる。尚、ここでは、ＣＭＹ画像データＤcxの各成分の階調値は、第１の格子点および第２の格子点から読み出した階調値を各成分毎に平均した値としているが、これに限らず、２つの格子点の階調値を所定の比率あるいは任意の比率で内分する階調値とすることもできる。こうしてすべてのＲＧＢ画像データＤx をＣＭＹ画像データＤcxに色変換したら、図１０に示したプレ変換・色変換処理も終了して、図９の画像データ変換処理に復帰する。
【０１６１】
上述したプレ変換・色変換処理においても、画像データＤx をＬＵＴの格子点に割り付けることに起因してプレ変換誤差が発生する。しかし、第１の格子点および第２の格子点を設定するために、上述した第１のノイズＮs1および第２のノイズＮs2を使用し、設定したこれら格子点に記憶されている階調値を算術平均してＣＭＹ画像データを求めることとすれば、各画像データで生じるプレ変換誤差が互いに打ち消し合うようにすることができる。以下では、この理由について説明する。尚、説明の便宜から、以下では、画像データＤx およびＬＵＴ（色変換テーブル）が、それぞれ１次元の画像データおよび数表であるものとして説明する。
【０１６２】
今、画像データＤx を包含する格子点を格子点Ｐ1 ，Ｐ2 として、画像データＤx が格子点Ｐ1 と格子点Ｐ2 との間を１：３の割合で内分しているとする。また、ＬＵＴの格子点Ｐ1 ，Ｐ2 にはそれぞれ階調値Ｃ1 ，Ｃ2 が記憶されているものとする。図１９（ａ）は、このような場合の画像データＤx と格子点Ｐ1 および格子点Ｐ2 との位置関係を示している。
【０１６３】
補間演算を用いて画像データＤx を色変換する場合、色変換したデータＤcxは、格子点Ｐ1 に記憶されている階調値Ｃ1 と格子点Ｐ2 に記憶されている階調値Ｃ2 とを、距離の逆比となるように内分することによって算出する。図１９（ａ）に示した例では、画像データＤx を色変換したデータＤcxは次式によって算出される。
Ｄcx＝（３／４）・Ｃ1 ＋（１／４）・Ｃ2
【０１６４】
一方、本実施例のプレ変換処理を行うことにより、第１の格子点および第２の格子点を設定して色変換する場合は次のようになる。図１９（ｂ）は、第１の格子点を設定している様子を示している。前述したように、第１の格子点は、第１の判定データＤr1と閾値thとの大小関係を比較した結果に応じて設定される（例えば、図１４を参照のこと）。ここで、第１の判定データＤr1は、画像データＤx に第１のノイズＮs1を加算することによって求められる値である。また、閾値は階調値Ｒ2 に設定されている。画像データＤx は、格子点Ｐ1 と格子点Ｐ2 とを１：３に内分するとしているから、第１の判定データＤr1は常に閾値thよりも小さく、従って、第１の格子点は常に格子点Ｐ1 に設定される。
【０１６５】
図１９（ｃ）は、第２の格子点を設定している様子を示している。前述したように、第２の格子点は第２の判定データＤr2と閾値thとの大小関係に基づいて設定される。具体的には、第２の判定データＤr2の方が閾値thより小さければ第２の格子点は格子点Ｐ1 に設定され、逆に第２の判定データＤr2の方が大きければ第２の格子点は格子点Ｐ2 に設定される。ここで、第２の判定データＤr2は、画像データＤx に第１のノイズＮs1と、（Ｒ2 −Ｒ1 ）／２とを加えた値であり、第１のノイズＮs1は、０から（Ｒ2 −Ｒ1 ）／２の範囲で任意の値を採り得る。画像データＤx は、２つの格子点を１：３の比率で内分するとしているから、
Ｄx ＝（３／４）・Ｒ1 ＋（１／４）・Ｒ2
となっている。このような階調値Ｄx に第１のノイズＮs1と階調値（Ｒ2 −Ｒ1 ）／２とを加えて得られる第２の判定データＤr2は、階調値Ｒ2 −（Ｒ2 −Ｒ1 ）／４から階調値Ｒ2 ＋（Ｒ2 −Ｒ1 ）／４の範囲で任意の値を、ほぼ同じ確率で採り得ることになる。
【０１６６】
図１９（ｃ）中では、こうした第２の判定データＤr2が採り得る範囲を、斜線を付して表している。図１９（ｃ）中で斜線を付して示した範囲の内で、第２の判定データＤr2が、閾値th（階調値Ｒ2 ）よりも小さい（図中で左側にある）部分にある場合は、画像データＤx は格子点Ｐ1 に設定される。逆に、第２の判定データＤr2が、閾値thより大きい（図中で右側にある）部分は格子点Ｐ2 に設定される。図１９（ｃ）および以上の説明から明らかなように、画像データＤx が格子点Ｐ1 と格子点Ｐ2 との間を１：３の比率で内分する場合には、第２の格子点は格子点Ｐ1 あるいは格子点Ｐ2 に、ほぼ同じ確率で設定されることになる。
【０１６７】
図１９（ｄ）は、こうした処理を、ある程度まとまった回数（Ｎ回）行ったときに、第１の格子点あるいは第２の格子点として、格子点Ｐ1 および格子点Ｐ2 が設定される回数を示した説明図である。第１の格子点は必ず格子点Ｐ1 に設定されるから、図示されているように、第１の格子点はＮ回とも格子点Ｐ1 に設定される。また第２の格子点については、格子点Ｐ1 ，格子点Ｐ2 が同じ割合でＮ／２回ずつ設定される。結局、第１の格子点および第２の格子点をまとめてみれば、画像データＤx は、格子点Ｐ1 と格子点Ｐ2 との割合が３：１となるように割り付けられることになる。結局、多くの画像データに対してプレ変換・色変換処理を行えば、画像データＤx は階調値Ｃ1 ，階調値Ｃ2 に３：１の比率で変換され、これらを算術平均して色変換したデータＤcxは、
Ｄcx＝（３／４）・Ｃ1 ＋Ｃ2 ／４
となる。この値は、補間演算によって求めた値と一致する。
【０１６８】
以上では、画像データＤx が格子点Ｐ1 と格子点Ｐ2 とを１：３に内分する場合を例にとって説明したが、２つの格子点の間をいかなる値に内分する場合にも、ある程度のまとまった個数の画像データを処理すれば、補間演算して得た階調値と一致することを確かめることができる。このことから、個々の画像データについては格子点Ｐ1 あるいは格子点Ｐ2 のいずれかに割り付けられることに伴うプレ変換誤差が発生しているが、多数の画像データの処理を行えば、個々の画像データで生じたプレ変換誤差が互いに打ち消し合ことにより、補間演算を行って算出した場合とほぼ同じ結果が得られるのである。
【０１６９】
以上、詳しく説明したように、本実施例のプレ変換・色変換処理では、初めにプレ変換処理を行って画像データをＬＵＴの複数個の格子点に割り付ける。次いで、それぞれの格子点に記憶されている各色の階調値を読み出し、読み出した階調値を成分毎に合成することによって、画像データに対応する色変換データを求めている。こうして画像データを複数の格子点に割り付けて色変換すれば、前述した原理から、１つの格子点に割り付ける通常のプレ変換処理を行った場合に比べて、プレ変換誤差を大きく減少させることができる。
【０１７０】
通常のプレ変換処理を行った場合と比較しながら、本実施例のプレ変換処理が備える利点について、更に詳しく説明する。一例として、画像データを２つの格子点に割り付けた場合を考えると、本実施例のプレ変換処理を行えば、１つの格子点に割り付ける通常のプレ変換処理を行う場合に比べて、発生するプレ変換誤差の大きさを大きく減少させることができる。もちろん通常のプレ変換処理においても、参照するＬＵＴの格子点数を増やせば、発生するプレ変換誤差の大きさを減少させることができる。しかし、通常のプレ変換処理においてプレ変換誤差を減少させるためには、ＬＵＴの各軸の分割数を２倍に増加させる必要があり、３次元ＬＵＴの場合には、ＬＵＴ全体の格子点数は８倍にも増加する。これに伴って、ＬＵＴを記憶するために要する記憶容量も大幅に増加してしまう。これに対して、本実施例のプレ変換処理によれば、割り付ける格子点の数を増やすだけで、こうした問題を何ら生じさせることなくプレ変換誤差を減少させることができる。
【０１７１】
加えて、例え、通常のプレ変換処理において参照するＬＵＴの格子点数を８倍に増加させた場合であっても、画像データを２つの格子点に割り付ける本実施例のプレ変換処理を用いて色変換した方が、高い変換精度を実現することができる。これは次の理由による。ＬＵＴの格子点に記憶される階調値は、整数に丸められて記憶されている。このため、通常のプレ変換処理を用いて色変換することによって得られるデータは、丸め誤差を含んだ整数値となっている。これに対して、本実施例のプレ変換処理を用いて色変換する場合は、２つの格子点に記憶されている階調値（整数）から算出しているために、小数の値を採ることが可能である。従って、本実施例のプレ変換処理を用いて色変換すれば、丸めによる誤差が発生しない分だけ、変換精度を向上させることができるのである。
【０１７２】
また、本実施例のプレ変換・色変換処理では、複数の格子点から読み出した階調値を算術平均することによっても、ＲＧＢ画像データＤx に対応するＣＭＹ画像データＤcxを求めることができる。算術平均は迅速に行うことができるので、補間演算を行って色変換する場合に比べて、たいへん迅速に色変換することができる。特に、格子点の数が２の倍数個（例えば、２個、４個など）である場合には、ＣＰＵ内でビットをシフトさせる手法を利用して迅速に算術平均を求めることが可能である。
【０１７３】
更に、補間演算を用いて色変換する場合、例えばＬＵＴがＲＧＢ各色による３次元ＬＵＴであるとすると、補間演算の中では参照する格子点数の少ない四面体補間を行うものとしても、４つの格子点のデータを参照しなければならない。これに対して本実施例のプレ変換処理を用いて色変換すれば、最も少ない場合では２つの格子点を参照するだけで色変換を行うことが可能であり、この点からも迅速に色変換することができる。
【０１７４】
もちろん、本実施例のプレ変換・色変換処理においても、通常のプレ変換処理を用いた場合に比べれば、複数の格子点に記憶されている階調値を読み出さなければならない分だけ処理に要する時間は増加する。しかし、格子点に記憶された階調値を読み出す処理は極めて迅速に行うことができるので、読み出す格子点の数が増えても処理に要する時間の増加はごく僅かでしかなく、通常のプレ変換処理を行った場合と同じ様に、迅速に処理することが可能である。
【０１７５】
尚、以上の説明では、第１の格子点および第２の格子点に記憶されている階調値から、色変換後の画像データＤcxを算出する際に、これら階調値を算術平均するものとして説明した。こうすれば、個々の画像データではプレ変換誤差が生じるものの、多数の画像データを処理すれば互いの誤差が打ち消し合うために、補間演算を用いて色変換した場合とほぼ同様の結果を得ることができる。もちろん、補間演算による結果との偏差が許容範囲に納まるのであれば、必ずしも格子点から読み出した階調値を算術平均する必要はなく、異なる手法を用いて算出した値を、色変換後の画像データとすることも可能である。
【０１７６】
Ｃ−６．変形例：
以上の説明では、第１のノイズＮs1および第２のノイズＮs2として、乱数に基づいて発生させたランダムノイズを用いるものとして説明したが、いわゆる誤差拡散法と呼ばれる手法を適用することもできる。誤差拡散法とは、ある画素で生じた誤差を周辺の未処理の画素に拡散しながら処理を進めていく手法である。以下、こうした本実施例の変形例について簡単に説明する。
【０１７７】
図１０に示したプレ変換・色変換処理は、通常、画像の左上隅の画素を起点画素として、左端の画素から右端の画素に向かって１画素ずつ順番に処理が行われ、右端の画素に達したら、１画素下の行に移って、再び左端から右端に向かって同様の処理が行われる。こうして１画面分のすべての画素について処理を終了するまで、同じ処理が繰り返される。図２０は、１画面分の画像データのプレ変換・色変換処理を行っている途中の状態を模式的に示した説明図である。図２０の中央に示した「＊」は処理中の画素（着目画素）を示している。また、着目画素の左上方および上方の領域にある斜線を付した○印は、処理済みの画素を示しており、着目画素の右下方および下方にある○印は、未だ処理していない画素を示している。
【０１７８】
今、図２０に示した着目画素の画像データをＬＵＴの２つの格子点に割り付けたとすると、これに伴う誤差が着目画素で発生する。誤差の算出方法については後述する。誤差拡散法では、こうして発生した誤差を、周辺の未処理の画素に所定の重みを付けて拡散させる。図２１は、周辺の画素に誤差を拡散させるために用いられる重み係数を例示した説明図である。例えば、図２０（ａ）に示した場合は、「＊」で示した着目画素の右側の画素には誤差の１／２が拡散され、着目画素の下の画素および右下の画素には誤差の１／４が拡散される。
【０１７９】
こうして着目画素で生じた誤差を周辺の未処理画素に拡散したら、着目画素を１画素だけ移動させて、右隣の画素を新たな着目画素とした後、この画素の画像データをＬＵＴの２つの格子点に割り付ける処理を開始する。かかる処理は、図１１を用いて前述したように、画像データＤx に第１のノイズＮs1を加算した第１の判定データＤr1と、画像データＤx に第２のノイズＮs2を加算した第２の判定データＤr2とを、閾値thと比較することによって行われる。但し、前述した方法では、第１のノイズは乱数を用いて発生させたのに対して、誤差拡散法を用いる第１の変形例では、着目画素の周辺にある処理済みの画素から拡散されてきた誤差の合計値を第１のノイズＮs1として使用する。
【０１８０】
図２２は、周辺の既処理の画素で発生した誤差が、着目画素に拡散されてくる様子を概念的に示した説明図である。尚、誤差の拡散に際しては、図２１（ａ）に示した重み係数を使用するものとしている。図中に「＊」で示した画素が着目画素であり、斜線を付した○印で示した画素が既処理の画素である。また、既処理の画素から着目画素に向かう矢印は、誤差が拡散されていることを模式的に示したものである。第１の変形例では、これら周辺の画素から拡散されてきた誤差の合計値を、第１のノイズＮs1として使用し、また、第１のノイズＮs1に格子点の階調差の平均値を加算した値を、第２のノイズＮs2として使用するのである。
【０１８１】
画像データＤx を２つの格子点に割り付けることによって生じる誤差は、２つの格子点の座標値の算術平均を各成分毎に算出し、画像データＤx の対応する成分から、算出した平均値を減算することによって算出する。こうして着目画素について、画像データＤx を２つの格子点に割り付けたことによる誤差を算出したら、図２１に例示した重み係数に従って周辺の未処理画素に誤差を拡散する。以上の処理を終了したら、着目画素を１つ右隣の画素に移動して、すべての画素についての処理を終了するまで、上述した処理を繰り返す。
【０１８２】
以上に説明したように、誤差拡散法を適用して、処理済みの周辺の画素から拡散されてきた誤差の合計値を、第１のノイズＮs1として用いた場合でも、前述した方法と同様の効果を得ることができる。以下、この理由について簡単に説明する。
【０１８３】
仮に、画像データＤx の各成分が、該画像データを包含する格子点の座標値の平均値よりも小さいとすると、画像データＤx は２つとも下方の格子点（座標値の小さい方の格子点）に割り付けられるか、上方の格子点（座標値の大きい方の格子点）と下方の格子点とに割り付けられるかのどちらかである。なぜなら、初期状態として第１のノイズＮs1の値を「０」とすると、図１４を用いて前述したように、第１の格子点も第２の格子点もいずれも下方の格子点（座標値の小さい方の格子点）に割り付けられ、その結果、誤差が発生する。ここでは、画像データＤx が、該画像データを包含する格子点の座標値の平均値よりも小さいとしているので、こうして発生した誤差は、上方の格子点（座標値の大きい方の格子点）と下方の格子点との階調差の半分よりも小さな値である。次の画素には、このように、周辺の各画素で発生した誤差が拡散されてくるので、次の画素での第１のノイズＮs1も、上方の格子点と下方の格子点との階調差の半分より小さな値となる。すなわち、この場合は、発生する誤差の最大値は、２つの格子点の間隔の半分の階調値となる。
【０１８４】
また、画像データＤx の各成分が、該画像データを包含する格子点の座標値の平均値よりも大きいとした場合は、画像データＤx は、上方の格子点と下方の格子点とに割り付けられるか、２つとも上方の格子点に割り付けられるかのどちらかである。なぜなら、初期状態として第１のノイズＮs1の値を「０」とすると、図１５を用いて前述したように、第１の格子点は下方の格子点に割り付けられ、第２の格子点は上方の格子点に割り付けられる。ここでは、画像データＤx が、該画像データを包含する格子点の座標値の平均値よりも大きいとしているので、こうして発生した誤差は、上方の格子点と下方の格子点との階調差の半分よりも小さな値である。次の画素には、このように、周辺の各画素で発生した誤差が拡散されてくるので、次の画素での第１のノイズＮs1も、上方の格子点と下方の格子点との階調差の半分より小さな値となる。すなわち、この場合にも、発生する誤差の最大値は、２つの格子点の間隔の半分の階調値となる。このように誤差拡散法を用いた場合でも、２つの格子点をまとめてみれば発生する誤差は、画像データＤx がどのような値を採るかに関わらず、階調値０から、該画像データＤx を包含する格子点の間隔の半分の階調値までの任意の値を採り得る。このような誤差が周辺の画素から拡散してくることにより、各画素での第１のノイズＮs1は、階調値０から、該画像データＤx を包含する格子点の間隔の半分の階調値までの任意の値を採り得ることになる。結局、誤差拡散法による誤差を利用した場合も、乱数を用いて誤差を発生させた場合も、第１のノイズＮs1はほぼ同様の値となるので、前述した方法と同様の効果を得ることができる。
【０１８５】
また、誤差拡散法には、周辺の画素で生じた誤差を解消しようとする機能があることが知られている。従って、誤差拡散法を用いた変形例の方法によれば、各画素で生じたプレ変換誤差を速やかに打ち消し合わせることができ、より高画質の画像を印刷することができるという利点が得られる。
【０１８６】
Ｄ．第２実施例：
以上の説明では、画像データＤx を第１の格子点および第２の格子点の、２つの格子点に割り付けるものとして説明したが、割り付ける格子点は２つに限られるものではなく、より多数の格子点に割り付けることができる。以下では、こうした第２実施例のプレ変換・色変換処理について説明する。
【０１８７】
Ｄ−１．第２実施例のプレ変換処理：
図２３は、第２実施例において、画像データを格子点に割り付ける処理（プレ変換処理）の流れを示すフローチャートである。かかる処理は、図１０に示したプレ変換・色変換処理中で画像データを読み込んだ後に行われる処理である。図１１を用いて前述した第１実施例のプレ変換処理に対して、割り付ける格子点の数が３つに増えている点が大きく異なっている。尚、ここでは、３つの格子点に割り付けるものとして説明するが、より多くの格子点に割り付ける場合にも同様の考え方を適用することによって容易に拡張することができる。以下、図２３を参照しながら、第２実施例において、画像データを３つの格子点に割り付ける処理について説明する。
【０１８８】
第２実施例のプレ変換処理を開始すると、第１実施例のプレ変換処理と同様に、先ず初めに色空間上で画像データ（Ｄx ）の周囲にある各格子点の座標値を検出する処理を行う（ステップＳ５００）。すなわち、図１３に示したように、ＬＵＴ（色変換テーブル）を構成する小さな複数の直方体の中から、画像データＤx の座標点を包含する直方体を検出し、この直方体の頂点の座標値を各成分毎に検出する処理を行う。
【０１８９】
次いで、閾値thを上方の座標値（Ｇup）に設定する（ステップＳ５０２）。ここで、上方の座標値Ｇupとは、ステップＳ５００で検出した各格子点の座標値を各成分毎に分類したときの、階調値が大きい方の座標値である。図１３に示した例では、Ｒ成分の上方の座標値Ｇupは階調値Ｒ2 であり、Ｇ成分、Ｂ成分の上方の座標値Ｇupは、それぞれ階調値Ｇ2 、階調値Ｂ2 となる。
【０１９０】
閾値thを設定したら、第１のノイズＮs1および第１の判定データＤr1を算出する（ステップＳ５０４）。第１のノイズＮs1は、次式によって算出する。
Ｎs1＝（Ｒ2 −Ｒ1 ）・ＲＤ［０，１］／３
ここで、上式中のＲＤ［０，１］は、区間［０，１］で乱数を発生させる関数である。ＲＤ［０，１］を「３」で除算しているのは、画像データを３つの格子点に割り付けていることに対応する。従って、より多数（Ｎ個）の格子点に割り付ける場合は、ＲＤ［０，１］を「Ｎ」で除算すればよい。また、第１の判定データＤr1は、次式によって算出することができる。
Ｄr1＝Ｄx ＋Ｎs1
【０１９１】
次いで、こうして算出した第１の判定データＤr1と、閾値thとの大小関係に基づいて、第１の格子点を設定する（ステップＳ５０６）。かかる処理は、図１１を用いて前述した第１実施例の処理と同様にして各成分毎に行う。すなわち、閾値thよりも第１の判定データＤr1の方が大きければ、その成分については、第１の格子点の座標値として上方の座標値Ｇupを設定し、そうでなければ下方の座標値Ｇlwを設定する。ここで、下方の座標値Ｇlwとは、ステップＳ５００で検出した各格子点の座標値を各成分毎に分類したときの、階調値が小さい方の座標値である。図１３に示した例では、Ｒ成分，Ｇ成分，Ｂ成分の下方の座標値Ｇlwはそれぞれ階調値Ｒ1 ，Ｇ1 ，Ｂ1 である。こうした処理を各成分について行うことにより、第１の格子点を１つ設定することができる。
【０１９２】
第１の格子点を設定したら、今度は第２の格子点を設定するために、第２のノイズＮs2と第２の判定データＤr2とを算出する処理を行う（ステップＳ５０８）。第２のノイズＮs2は、画像データＤx の両隣にある下方の座標値Ｇlpと上方の座標値Ｇupとを１：３に内分する階調値と、第１のノイズＮs1とを加算した値を使用する。尚、座標値Ｇlwと座標値Ｇupとを１：３に内分する階調値を使用するのは、画像データＤx を３つの格子点に割り付けていることによるものである。従って、より多数（Ｎ個）の格子点に割り付ける場合は、第１のノイズＮs1に、座標値Ｇlwと座標値Ｇupとを１：Ｎに内分する階調値を加算した値を第２のノイズＮs2とすればよい。
【０１９３】
こうして算出した第２の判定データＤr2と、閾値thとを比較することにより、第２の格子点を設定する（ステップＳ５１０）。すなわち、閾値thよりも第２の判定データＤr2の方が大きければ、その成分については、第２の格子点の座標値として上方の座標値Ｇupを設定し、そうでなければ下方の座標値Ｇlwを設定する。こうした処理を各成分について行うことにより、第２の格子点を１つ設定することができる。
【０１９４】
第３の格子点についても、第１の格子点、第２の格子点と同様にして設定することができる。先ず、第３のノイズＮs3と第３の判定データＤr3とを算出し（ステップＳ５１２）、得られた第３の判定データＤr3と閾値thとを比較することによって、第３の格子点を設定する（ステップＳ５１４）。ここで、第３のノイズＮs3は、画像データＤx の両隣にある下方の座標値Ｇlwと上方の座標値Ｇupとを２：３に内分する階調値と、第１のノイズＮs1とを加算した値を使用する。第３の判定データＤr3は、画像データＤx に第３のノイズＮs3を加算することによって求めることができる。こうして算出した第３の判定データＤr3が閾値thよりも大きい場合は、その成分については、第３の格子点の座標値として上方の座標値Ｇupを設定し、そうでなければ下方の座標値Ｇlwを設定する。こうした処理を各成分について行うことにより、第３の格子点を１つ設定する。
【０１９５】
以上のようにして、第１の格子点、第２の格子点、第３の格子点を設定したら、図２３に示した第２実施例のプレ変換処理を終了して、図１０に示すプレ変換・色変換処理に復帰する。
【０１９６】
上述した第２実施例のプレ変換処理によって、画像データが３つの格子点に設定される様子について、図２４を用いて説明する。図２４は、画像データＤx を３つの格子点に割り付ける処理を概念的に示した説明図である。図２４（ａ）は、第１の格子点を割り付ける場合を示し、図２４（ｂ）は第２の格子点を割り付ける場合を、図２４（ｃ）は第３の格子点を割り付ける場合を示している。尚、説明が煩雑になることを避けるために、図２４では、それぞれの格子点のＲ成分の座標値を設定する処理について示しているが、Ｇ成分、Ｂ成分についても同様の説明が当てはまる。
【０１９７】
先ず、第１の格子点を設定する場合について、図２４（ａ）を参照しながら説明する。図中に示した黒塗りの三角印は画像データＤx のＲ成分Ｒx の位置を示し、図中のＲ1 およびＲ2 は、それぞれ、画像データＤx の両隣にある上方の座標値Ｇupおよび下方の座標値Ｇlwの座標値である。また、図２４に示した例では、画像データのＲ成分Ｒx は、座標値Ｒ1 と座標値Ｒ2 のほぼ中央、厳密には、座標値Ｒ1 ＋（Ｒ2 −Ｒ1 ）／３から、座標値Ｒ1 ＋（Ｒ2 −Ｒ1 ）・２／３の範囲にある場合を示している。
【０１９８】
図２４（ａ）に示すように、画像データＤx が、座標値Ｒ1 ＋（Ｒ2 −Ｒ1 ）／３から、座標値Ｒ1 ＋（Ｒ2 −Ｒ1 ）・２／３の範囲にある場合は、画像データＤx に第１のノイズＮs1を加えた第１の判定データＤr1の値は、斜線を付して示した範囲で任意の値を採り得る。図から明らかなように、第１の判定データＤr1は、どのような値を採ろうとも閾値thを超えることはない。従って、第１の格子点のＲ成分は、必ず座標値Ｒ1 に設定される。
【０１９９】
第２の格子点は次のように設定される。画像データＤx に第２のノイズＮs2を加えた第２の判定データＤr2は、図２４（ｂ）中に斜線を付して示すように、第２のノイズＮs2の値に応じて閾値thより小さい場合と大きくなる場合とがある。第２の判定データＤr2が閾値thよりも小さい場合は、第２の格子点のＲ成分は座標値Ｒ1 に設定され、閾値thよりも大きい場合は、第２の格子点のＲ成分は座標値Ｒ2 に設定されることになる。
【０２００】
第３の格子点は次のように設定される。画像データＤx に第３のノイズＮs3を加えた加えた第３の判定データＤr3は、図２４（ｃ）に示すように、第３のノイズの値によらず常に閾値thよりも大きくなる。従って、第３の格子点のＲ成分は必ず座標値Ｒ2 に設定されることになる。
【０２０１】
画像データＤx が異なる範囲にある場合にも、同様にして第１の格子点、第２の格子点、第３の格子点の座標値を設定することができる。図２５は、画像データＤx の値に応じて、これら３つの格子点のＲ成分が設定される様子をまとめて示した説明図である。図の上段は、画像データＤx が、座標値Ｒ1 から座標値Ｒ1 ＋（Ｒ2 −Ｒ1 ）／３の範囲にある場合を示し、図の中段は、図２４に示した場合、すなわち画像データＤx が、座標値Ｒ1 ＋（Ｒ2 −Ｒ1 ）／３から座標値Ｒ1 ＋（Ｒ2 −Ｒ1 ）・２／３の範囲にある場合を示している。また、図の下段は、画像データＤx が、座標値Ｒ1 ＋（Ｒ2 −Ｒ1 ）・２／３から座標値Ｒ2 の範囲にある場合を示している。
【０２０２】
Ｄ−２．第２実施例の色変換処理：
以上のようにして、画像データを３つの格子点に割り付けたら、続いて色変換処理を行う。図２６は、第２実施例において、プレ変換処理に続いて行われる色変換処理の流れを示すフローチャートである。第２実施例のプレ変換処理では、画像データを３つの格子点に割り付けることに対応して、色変換処理では、第１の格子点、第２の格子点、第３の格子点をそれぞれ割り付けたＬＵＴの格子点に記憶されている階調値を順次読み出し（ステップＳ６００、ステップＳ６０２、ステップＳ６０４）、続いて、読み出したこれら階調値を成分毎に算術平均することにより、色変換した画像データの階調値を算出する（ステップＳ６０６）。尚、ここでは、最も単純な場合として算術平均するものとして説明するが、予め定めておいた他の方法を用いて算出しても構わない。
【０２０３】
尚、画像データＤx はＲ，Ｇ，Ｂの各成分を有しており、また色変換によって得られる画像データもＣ，Ｍ，Ｙ各色成分を有しているが、説明の煩雑化を避けるために、以下では、Ｒ成分およびＣ成分のみに着目して説明する。また、ＬＵＴの座標値Ｒ1 の格子点には、色変換済みの階調値として階調値Ｃ1 が記憶されており、ＬＵＴの座標値Ｒ2 の格子点には、階調値Ｃ2 が記憶されているとする。図２７は、第２実施例のプレ変換処理によって割り付けられた３つの格子点に、こうした色変換処理を施すことによって得られた階調値を示した説明図である。
【０２０４】
図２５を用いて前述したように第１の格子点、第２の格子点、第３の格子点は、画像データＤx の値に応じて割り付けられるから、色変換処理によって得られる階調値も、画像データＤx の値に応じて異なった値となる。すなわち、画像データＤx が、座標値Ｒ1 から座標値Ｒ1 ＋（Ｒ2 −Ｒ1 ）／３の範囲にある場合、色変換後の値は、階調値Ｃ1 または階調値（２／３）・Ｃ1 ＋（１／３）・Ｃ2 のいずれかの値となる。画像データＤx が、座標値Ｒ1 ＋（Ｒ2 −Ｒ1 ）／３から座標値Ｒ1 ＋（Ｒ2 −Ｒ1 ）・２／３の範囲にある場合、色変換後の値は、階調値（２／３）・Ｃ1 ＋（１／３）・Ｃ2 または階調値（１／３）・Ｃ1 ＋（２／３）・Ｃ2 のいずれかの値となる。また、画像データＤx が、座標値Ｒ1 ＋（Ｒ2 −Ｒ1 ）・２／３から座標値Ｒ2 の範囲にある場合、色変換後の値は、階調値（１／３）・Ｃ1 ＋（２／３）・Ｃ2 または階調値Ｃ2 のいずれかの値となる。このように色変換される結果、プレ変換誤差の最大値は、画像データＤx の範囲に関わらず階調値（Ｃ2 −Ｃ1 ）／３よりも大きくなることはない。この理由を、図２８を参照しながら説明する。
【０２０５】
図２８は、ＲＧＢ画像データをＣＭＹ各色の階調値に色変換している様子を概念的に示した説明図である。ここでも、説明が煩雑となることを避けるために、画像データのＲ成分、およびＣの階調値のみに着目して表示している。ＬＵＴの座標値Ｒ1 の格子点には階調値Ｃ1 が記憶されており、座標値Ｒ2 の格子点には階調値Ｃ2 が記憶されている。画像データのＲ成分が、座標値Ｒ1 から座標値Ｒ1 ＋（Ｒ2 −Ｒ1 ）／３の範囲にある場合、このような画像データＲa を補間演算して色変換して得られた階調値をＣcaとする。図２８中で、Ｒ軸の座標値Ｒa から、色変換した成分（Ｃ成分）に向かって伸びる破線の矢印は、補間演算を用いて色変換することにより、画像データＲa が階調値Ｃcaに変換されることを模式的に示している。
【０２０６】
一方、この様な画像データＲa に対して第２実施例のプレ変換・色変換処理を行った場合、図２７に示したように、色変換後の階調値は、階調値Ｃ1 または、階調値（２／３）・Ｃ1 ＋（１／３）・Ｃ2 のいずれかとなる。階調値Ｃ1 が得られた場合は、階調値Ｃcaと階調値Ｃ1 との偏差に相当するプレ変換誤差が生じる。図２８中では、階調値Ｃcaと階調値Ｃ1 との間にかけて表示した破線の弧は、画像データＲa を座標値Ｒ1 に割り付けたことによって生じるプレ変換誤差を模式的に示したものである。また、階調値（２／３）・Ｃ1 ＋（１／３）・Ｃ2 が得られた場合は、階調値（２／３）・Ｃ1 ＋（１／３）・Ｃ2 と階調値Ｃcaとの偏差がプレ変換誤差となる。図２８中で、階調値Ｃcaと階調値Ｃ2 との間にかけて表示した破線の弧は、画像データＲa を座標値Ｒ2 に割り付けたことによって生じるプレ変換誤差を示している。このことから、画像データＲa を色変換したときに、プレ変換誤差が最大となる（すなわち、破線で示した弧の長さが最長となる）のは、画像データＲa が限りなく座標値Ｒ1 に近い場合に色変換後の階調値が階調値（２／３）・Ｃ1 ＋（１／３）・Ｃ2 となった場合、あるいは、画像データＲa が限りなく座標値Ｒ1 ＋（Ｒ2 −Ｒ1 ）／３に近い場合に色変換後の階調値が階調値Ｃ1 となった場合であって、いずれの最大値も階調値（Ｃ2 −Ｃ1 ）／３となる。
【０２０７】
画像データのＲ成分が、座標値Ｒ1 ＋（Ｒ2 −Ｒ1 ）／３から座標値Ｒ1 ＋（Ｒ2 −Ｒ1 ）・２／３の範囲にある場合、あるいは座標値Ｒ1 ＋（Ｒ2 −Ｒ1 ）・２／３から座標値Ｒ2 の範囲にある場合にも、同様なことが成り立つ。簡単に説明すると、画像データＲb を補間演算を用いて色変換することにより、画像データＲb は階調値Ｃcbに変換され、画像データＲc は階調値Ｃccに変換される。これに対して、第２実施例のプレ変換・色変換処理を行った場合は、図２７に示したように、画像データＲb は階調値（２／３）・Ｃ1 ＋（１／３）・Ｃ2 または階調値（１／３）・Ｃ1 ＋（２／３）・Ｃ2 のいずれかに色変換され、画像データＲc は階調値（１／３）・Ｃ1 ＋（２／３）・Ｃ2 または階調値Ｃ2 のいずれかに色変換される。従って、画像データＲb 、画像データＲc のいずれの場合も、プレ変換誤差の最大値は階調値（Ｒ2 −Ｒ1 ）／３となる。
【０２０８】
以上に説明したように、画像データＤx を第１の格子点、第２の格子点、第３の格子点に割り付けて色変換する場合は、画像データＤx がどのような値を採ろうとも、プレ変換誤差の最大値は、該画像データＤx を包含する座標値の間隔の１／３となり、通常のプレ変換処理を行う場合に比べてプレ変換誤差を大きく減少させることが可能となる。
【０２０９】
上述した第２実施例では、画像データを３つの格子点に割り付けるものとして説明したが、より多数の格子点に割り付けることも可能である。割り付ける格子点の個数を増やすほど、プレ変換誤差を減少させることが可能となる。例えば、Ｎ個の格子点に割り付ける場合、発生するプレ変換誤差の最大値は、画像データを包含する格子点の座標値の間隔の１／Ｎの値となる。
【０２１０】
また、第２実施例のプレ変換処理では、画像データを３つの格子点に割り付けているため、色変換処理に際してはＬＵＴの３つの格子点に記憶されている階調値を読み出す必要がある。読み出す格子点の個数が増加すれば、その分だけ色変換処理に要する時間は増加する。しかし、この様な場合でも補間演算を用いて色変換する場合に比べれば、処理時間を大きく短縮することが可能である。この理由について、図２９を用いて説明する。
【０２１１】
図２９は、ＬＵＴ中で、画像データＤx が直方体に包含されている様子を概念的に示した説明図である。上述した第２実施例のプレ変換処理では、この様な画像データＤx を３つの格子点に割り付ける。一方、補間演算を用いて画像データＤx を色変換する場合は、補間に必要な格子点の少ない四面体補間を用いる場合でも、格子点Ｐ1 ，格子点Ｐ2 ，格子点Ｐ4 ，格子点Ｐ5 の４つの格子点を参照し、これら格子点に記憶されている階調値を読み出さなければならない。すなわち、第２実施例のプレ変換・色変換処理では３つの格子点の階調とを読み出さなければならないものの、それでも補間演算を行うために読み出さなければならない格子点の個数に比べれば少ないので、補間演算を行う場合に比べて迅速に色変換処理を行うことが可能となる。
【０２１２】
また、補間演算を行う場合は、画像データＤx から、格子点Ｐ1 ，格子点Ｐ2 ，格子点Ｐ4 ，格子点Ｐ5 の各格子点までの距離を算出する必要がある。これに対して、第２実施例の色変換処理では、各格子点から読み出した階調値の算術平均を行うだけでも、色変換後の画像データを算出することが可能であり、必ずしも画像データＤx から各格子点までの距離を算出する必要がない。このため、第２実施例のプレ変換・色変換処理において、より多数の格子点に画像データを割り付けた場合でも、依然として、補間演算を用いて色変換する場合に比べて、処理に要する時間を大きく減少させることが可能となるのである。
【０２１３】
Ｅ．第３実施例：
上述した各種実施例においては、画像データを複数（Ｎ個）の格子点に割り付けるために、Ｎ個のノイズを使用した。例えば、第１実施例においては、第１の格子点を設定するために第１のノイズＮs1を使用し、第２の格子点を設定するために第２のノイズＮs2を使用した。しかし、必ずしも割り付ける格子点の数と同じ数のノイズを用いる必要はなく、１つのノイズを用いて、画像データを複数の格子点に割り付けることも可能である。以下では、こうした第３実施例のプレ変換処理について説明する。
【０２１４】
Ｅ−１．第３実施例のプレ変換処理：
図３０は、第３実施例のプレ変換処理の流れを示すフローチャートである。以下、図３０を参照しながら説明する。
【０２１５】
第３実施例のプレ変換処理を開始すると、先ず初めに、色空間上で画像データ（Ｄx ）の周囲にある各格子点の座標値を検出する処理を行う（ステップＳ７００）。かかる処理は、図１１を用いて前述した第１実施例のステップＳ３００の処理と同様であり、ここでは説明を省略する。
【０２１６】
次いで、上方の座標値（Ｇup）および下方の座標値（Ｇlw）の平均値を算出して、得られた値を閾値thに設定する（ステップＳ７０２）。上方の座標値Ｇupとは、ステップＳ７００で検出した各格子点の座標値を各成分毎に分類したときの、階調値の大きい方の座標値である。同様に、下方の座標値Ｇlwとは、階調値の小さい方の座標値である。上方の座標値Ｇupおよび下方の座標値Ｇlwは、画像データＤx の各成分毎に存在しており、閾値thも各成分毎に設定される。尚、説明が煩雑となることを避けるために、以下では成分を特定せずに説明するが、特に指定した場合を除いて、画像データのすべての成分について同様の処理をするものとする。
【０２１７】
こうして設定した閾値thと画像データＤx とを成分毎に比較して、大小関係を判断する（ステップＳ７０４）。画像データＤx の方が小さい成分については、第１の格子点の座標値Ｐre1 として下方の座標値Ｇlwを設定する（ステップＳ７０６）。これに対して、画像データＤx の方が大きい成分については、第１の格子点の座標値Ｐre1 として上方の座標値Ｇupを設定する（ステップＳ７０８）。以上の処理を各成分について行うことにより、第１の格子点を１つ設定することができる。尚、画像データＤx の方が閾値thよりも大きい場合は（ステップＳ７０４：ｙｅｓ）、第１の格子点の座標値を設定する処理（ステップＳ７０８）に続いて、第２の格子点を設定するための準備として、閾値thの値を上方の座標値Ｇupに更新しておく（ステップＳ７１０）。
【０２１８】
図３１は、以上のようにして第１の格子点を設定している様子を概念的に示した説明図である。尚、図３１ではＲ成分のみについて表示しているが、他の成分についても同様にして設定する。図３１（ａ）は、画像データのＲ成分Ｒx が閾値th（＝（Ｒ1 ＋Ｒ2 ）／２）よりも小さい場合を示している。この様な画像データについては、下方の座標値Ｒ1 を第１の格子点のＲ成分として設定する。図中に示した実線の矢印は、第１の格子点の座標値を階調値Ｒ1 に設定することを模式的に示したものである。図３１（ｂ）は、画像データのＲ成分Ｒx が閾値thよりも大きい場合を示している。この場合は、上方の座標値Ｒ2 を第１の格子点のＲ成分として設定する。このように、第３実施例のプレ変換処理においては、画像データＤx と閾値thとの大小関係を成分毎に判断することによって、第１の格子点を１つ設定する。
【０２１９】
以上のようにして第１の格子点を設定したら、第２の格子点を設定する処理を開始する。第３実施例のプレ変換処理では、ノイズは、第２の格子点を設定するために使用する。そこで、第２の格子点を設定する処理を開始したら、初めにノイズを生成する処理を行う（ステップＳ７１２）。ノイズＮs は、前述した第１実施例のプレ変換処理中で用いた第１のノイズＮs1と同じ値を使用することができる。ここでは、第１実施例と同様に乱数を用いた次式によって算出したノイズＮs を使用するものとする。
Ｎs ＝（Ｒ2 −Ｒ1 ）・ＲＤ［０，１］／２
ここで、上式中のＲＤ［０，１］は、区間［０，１］で乱数を発生させる関数である。尚、ノイズＮs は、ＲＧＢ成分毎に算出するが、ＲＤ［０，１］の値そのものは、各成分で同じ値を用いることができる。また、画像データの座標点を包含する直方体が正六面体である場合は、ノイズＮs の値も各成分で同じ値を用いることができる。もちろん、乱数を用いて発生させたノイズに限らず、例えば第１実施例の変形例で説明したように、誤差拡散法による誤差をノイズとして利用することも可能である。
【０２２０】
こうしてノイズＮs を発生させたら、画像データＤx の各成分にノイズＮs を加算して判定データＤr を算出し（ステップＳ７１４）、判定データＤr と閾値thとを各成分毎に比較する（ステップＳ７１６）。ここで、ステップＳ７０４において画像データＤx が当初の閾値thより大きいと判断されていた場合は、閾値thの値は上方の座標値Ｇupに更新されているので、ステップＳ７１６においては判定データＤr と上方の座標値Ｇupとを比較することになる。そして、判定データＤr の方が大きいと判断された場合は（ステップＳ７１６：ｙｅｓ）、その成分については、第２の格子点の座標値Ｐre2 として上方の座標値Ｇupを設定する（ステップＳ７１８）。そうでないと判断された場合は（ステップＳ７１６：ｎｏ）、その成分については、第２の格子点の座標値Ｐre2 として下方の座標値Ｇlwを設定する（ステップＳ７２０）。こうした処理を各成分について行うことにより、第２の格子点を１つ設定することができる。
【０２２１】
図３２は、第３実施例のプレ変換処理において、第２の格子点を設定している様子を概念的に示した説明図である。尚、図３２においても図３１と同様に、Ｒ成分のみについて表示している。
【０２２２】
図３２（ａ）は、画像データのＲ成分Ｒx が階調値（Ｒ1 ＋Ｒ2 ）／２よりも小さい場合に、第２の格子点のＲ成分を設定する様子を示している。画像データＲx にノイズＮs を加えた判定データＤr は、図中に斜線を付して表した範囲で任意の階調値を採ることができる。判定データＤr が閾値thよりも小さい場合は、第２の格子点のＲ成分は階調値Ｒ1 に設定され、逆に、判定データＤr が閾値thよりも大きくなった場合には階調値Ｒ2 に設定される。図３２（ａ）中で、斜線を付した領域の閾値thより左側の部分から座標値Ｒ1 に向かって伸びる破線の矢印は、判定データＤr が閾値thより小さい場合は、第２の格子点のＲ成分が階調値Ｒ1 に設定されることを模式的に表したものである。同様に、斜線を付した領域の閾値thより右側の部分から座標値Ｒ2 に伸びる破線の矢印は、判定データＤr が閾値thより大きい場合は、第２の格子点のＲ成分が階調値Ｒ2 に設定されることを模式的に示したものである。
【０２２３】
また、図３２（ｂ）は画像データのＲ成分Ｒx が階調値（Ｒ1 ＋Ｒ2 ）／２よりも大きい場合に、第２の格子点のＲ成分を設定する様子を示している。判定データＤr は、図中に斜線を付して表した範囲で任意の階調値を採ることができる。また、ここでは閾値thの値は、階調値Ｒ2 に更新されている。判定データＤr が閾値thよりも小さければ、第２の格子点のＲ成分は階調値Ｒ1 に設定され、そうでない場合は階調値Ｒ2 に設定される。図３０中のステップＳ７１４ないしステップＳ７２０においては、この様にして第２の格子点の各成分の階調値を設定することにより、第２の格子点が１つ選択される。
【０２２４】
第３実施例のプレ変換処理においては、以上のようにして第１の格子点および第２の格子点を設定することによって、前述した第１実施例のプレ変換処理と同様の結果を得ることができる。こうした第３実施例のプレ変換処理では、２つの格子点を設定するにもかかわらずノイズを１つしか使用しないため、その分だけ処理が簡便になると言う利点が得られる。
【０２２５】
Ｅ−２．変形例：
上述した第３実施例のプレ変換処理では、画像データＤx を２つの格子点に割り付けるものとして説明した。しかし、第３実施例のプレ変換処理においても、割り付ける格子点の個数は必ずしも２つに限られるものではなく、より多数の格子点に割り付けるように拡張することができる。以下では、こうした変形例のプレ変換処理について簡単に説明する。
【０２２６】
図３３は、第３実施例のプレ変換処理を拡張して、画像データを３つの格子点に割り付ける原理を示す説明図である。図中に示した黒塗りの三角印は画像データＤx のＲ成分Ｒx の位置を示し、図中のＲ1 およびＲ2 は、それぞれ、画像データＤx の両隣にある上方の座標値Ｇupおよび下方の座標値Ｇlwの座標値である。また、第３実施例の変形例のプレ変換処理では、３つの閾値th1 ，th2 ，th3 を使用し、それぞれの閾値th1 ，th2 ，th3 は、階調値Ｒ1 ＋（Ｒ2 −Ｒ1 ）／３，階調値Ｒ1 ＋（Ｒ2 −Ｒ1 ）・２／３，階調値Ｒ2 に設定されている。ここで、これら閾値が階調値Ｒ1 と階調値Ｒ2 との間を３等分するように設定されているのは、ここでは画像データを３つの格子点に割り付けるものとしていることに対応している。従って、より多数（Ｎ個）の格子点に割り付ける場合は、階調値Ｒ1 と階調値Ｒ2 との間をＮ等分するように閾値を設定すればよい。
【０２２７】
図３３（ａ）は、画像データのＲ成分Ｒx が階調値Ｒ1 から階調値Ｒ1 ＋（Ｒ2 −Ｒ1 ）／３の範囲にある場合を示している。また、図３３（ｂ）はＲ成分Ｒx が階調値Ｒ1 ＋（Ｒ2 −Ｒ1 ）／３から階調値Ｒ1 ＋（Ｒ2 −Ｒ1 ）・２／３の範囲にある場合を示し、図３３（ｃ）はＲ成分Ｒx が階調値Ｒ1 ＋（Ｒ2 −Ｒ1 ）・２／３から階調値Ｒ2 の範囲にある場合を示している。尚、説明が煩雑になることを避けるために、図３３では、第１の格子点ないし第３の格子点のＲ成分の座標値を設定する処理について示しているが、Ｇ成分、Ｂ成分についても同様の説明が当てはまる。
【０２２８】
先ず、図３３（ａ）を参照して、画像データのＲ成分Ｒx が、階調値Ｒ1 から階調値Ｒ1 ＋（Ｒ2 −Ｒ1 ）／３の範囲にある場合に、画像データを第１の格子点ないし第３の格子点の３つの格子点に割り付ける処理について説明する。画像データを３つの格子点に割り付けるに際しては、先ず初めに画像データとそれぞれの閾値との大小関係を検出し、画像データが階調値Ｒ1 と閾値th1 との間にあるのか、閾値th1 と閾値th2 との間にあるのか、閾値th2 と階調値Ｒ2 との間にあるのかを判断する。そして、画像データが階調値Ｒ1 と閾値th1 との間にある場合は、第１の格子点および第２の格子点を階調値Ｒ1 （下方の座標値）に設定する。図３３（ａ）中で画像データＲx から座標値Ｒ1 に伸びる実線の矢印および破線の矢印は、それぞれ第１の格子点および第２の格子点のＲ成分が階調値Ｒ1 に設定されることを模式的に示したものである。
【０２２９】
次いで、第３の格子点のＲ成分を設定するために、画像データのＲ成分Ｒx にノイズＮs を加算して判定データＤr を算出する。ノイズＮs は、前述した第２実施例と同様に、次式によって算出する。
Ｎs ＝（Ｒ2 −Ｒ1 ）・ＲＤ［０，１］／３
ここで、上式中のＲＤ［０，１］は、区間［０，１］で乱数を発生させる関数である。ＲＤ［０，１］を「３」で除算しているのは、画像データを３つの格子点に割り付けていることに対応している。従って、より多数（Ｎ個）の格子点に割り付ける場合は、ＲＤ［０，１］を「Ｎ」で除算すればよい。判定データＤr は、画像データＤx にノイズＮs を加算することによって算出する。こうして得られた判定データＤr を閾値th1 と比較する。図３３（ａ）中で斜線で示している範囲は、判定データＤr の採り得る範囲を模式的に示したものである。そして、判定データＤr が閾値th1 よりも小さい場合には、第３の格子点のＲ成分を階調値Ｒ1 に設定し、そうでない場合は、第３の格子点のＲ成分を階調値Ｒ2 に設定する。図３３（ａ）中に一点鎖線で示した矢印は、第３の格子点のＲ成分を階調値Ｒ1 または階調値Ｒ2 に設定することを模式的に示したものである。以上の処理を各成分毎に行えば、第１の格子点、第２の格子点、第３の格子点を１つずつ設定することができる。
【０２３０】
一方、画像データのＲ成分Ｒx が、階調値Ｒ1 ＋（Ｒ2 −Ｒ1 ）／３から階調値Ｒ1 ＋（Ｒ2 −Ｒ1 ）・２／３の範囲にある場合は、第１の格子点のＲ成分は階調値Ｒ1 （下方の座標値）に設定し、第２の格子点のＲ成分は階調値Ｒ2 （上方の座標値）に設定する。図３３（ｂ）において、画像データＲx から座標値Ｒ1 に伸びる実線の矢印の矢印は、第１の格子点のＲ成分を階調値Ｒ1 に設定することを示し、画像データＲx から座標値Ｒ2 に伸びる破線の矢印は、第２の格子点のＲ成分を階調値Ｒ2 に設定することを模式的に示したものである。
【０２３１】
次いで、第３の格子点のＲ成分を設定するために、画像データのＲ成分Ｒx にノイズＮs を加算して判定データＤr を算出し、得られた判定データＤr を、今度は閾値th2 と比較する。そして、判定データＤr が閾値th2 よりも小さい場合には、第３の格子点のＲ成分を階調値Ｒ1 に設定し、そうでない場合は、第３の格子点のＲ成分を階調値Ｒ2 に設定する。図３３（ｂ）中に一点鎖線で示した矢印は、第３の格子点のＲ成分を階調値Ｒ1 または階調値Ｒ2 に設定することを模式的に示したものである。
【０２３２】
また、画像データのＲ成分Ｒx が、階調値Ｒ1 ＋（Ｒ2 −Ｒ1 ）・２／３から階調値Ｒ2 の範囲にある場合、すなわち閾値ｔｈ２ よりも大きい場合も、ほぼ同様にして３つの格子点を設定することができる。以下、図３３（ｃ）を参照しながら簡単に説明すると、画像データのＲ成分Ｒx が閾値th2 より大きい場合は、第１の格子点および第２の格子点のＲ成分は、いずれも階調値Ｒ2 （上方の座標値）に設定する。次いで、画像データのＲ成分Ｒx にノイズＮs を加算して判定データＤr を算出し、得られた判定データＤr を、閾値th3 と比較する。そして、判定データＤr が閾値th3 よりも小さい場合には、第３の格子点のＲ成分を階調値Ｒ1 に設定し、そうでない場合は、第３の格子点のＲ成分を階調値Ｒ2 に設定する。図３３（Ｃ）中に一点鎖線で示した矢印は、第３の格子点のＲ成分を階調値Ｒ1 または階調値Ｒ2 に設定することを模式的に示したものである。以上の処理を各成分毎に行えば、第１の格子点、第２の格子点、第３の格子点を１つずつ設定することができる。
【０２３３】
以上に説明した第３実施例の変形例のプレ変換処理では、１つのノイズを用いるだけで、画像データを３つの格子点に割り付けることができ、その分だけ迅速にプレ変換処理を行うことができる。
【０２３４】
また、以上の説明では、画像データを３つの格子点に割り付ける場合を例にとって説明したが、同様の考え方は、より多数の格子点に割り付ける場合にも容易に拡張することができる。画像データを、より多数の格子点に割り付けてやれば、それだけプレ変換誤差を減少させることが可能となる。
【０２３５】
以上、各種の実施例について説明してきたが、本発明は上記すべての実施例に限られるものではなく、その要旨を逸脱しない範囲において種々の態様で実施することができる。
【０２３６】
例えば、上述した各種実施例においては、ＲＧＢ表色系で表現された画像データを、ＣＭＹ表色系による画像データに変換する場合について説明したが、このように異なる表色系のデータへの変換に限られるものではない。すなわち、同じ表色系同士で、画像データの補正を行う場合にも適用することができる。
【０２３７】
また、上述した各種実施例では、プレ変換・色変換する画像データはＲＧＢの各成分を有する３次元データであるものとして説明したが、変換する画像データは３次元のデータに限られるものではない。例えば、画像データがＮ次元のデータの場合でも、Ｎ次元の変換テーブルを使用し各成分毎に上述した処理を行うことによって、任意のＮ次元データに容易に拡張することができる。
【図面の簡単な説明】
【図１】本発明を適用した印刷システムを概念的に示した説明図である。
【図２】画像データを複数の格子点に割り付けることにより、プレ変換誤差を減少させることができる原理を概念的に示す説明図である。
【図３】画像データを複数の格子点に割り付けることでプレ変換誤差を減少させることができる効果を、統計的な手法を用いて確認した結果を示す説明図である。
【図４】本発明の原理を２次元のデータに拡張するための考え方を、概念的に示す説明図である。
【図５】本発明の原理を２次元のデータに拡張するための他の考え方を、概念的に示す説明図である。
【図６】本実施例の印刷システムにおいて画像処理装置として用いられるコンピュータの構成を概念的に示した説明図である。
【図７】本実施例の印刷システムにおいて印刷装置として用いられるカラープリンタの構成を概念的に示した説明図である。
【図８】本実施例のカラープリンタにおけるインクジェットノズルＮｚの配列を示す説明図である。
【図９】本実施例の画像処理装置において、画像データを印刷データに変換する処理の流れを示すフローチャートである。
【図１０】本実施例のプレ変換・色変換処理の流れを示すフローチャートである。
【図１１】第１実施例のプレ変換・色変換処理において、画像データを格子点に割り付ける処理の流れを示すフローチャートである。
【図１２】色変換テーブルを概念的に示す説明図である。
【図１３】色変換テーブルを構成する格子点の中から画像データに相当する座標点を包含する格子点を検出した様子を模式的に示す説明図である。
【図１４】第１実施例のプレ変換処理において、第１の格子点および第２の格子点を設定する様子を模式的に示す説明図である。
【図１５】第１実施例のプレ変換処理において、第１の格子点および第２の格子点を設定する様子を模式的に示す説明図である。
【図１６】第１実施例のプレ変換処理において、画像データの座標値に応じて画像データが第１の格子点および第２の格子点に適切に割り付けられる様子を示す説明図である。
【図１７】第１実施例のプレ変換処理において、画像データの座標値に応じて画像データが第１の格子点および第２の格子点に適切に割り付けられる様子を示す説明図である。
【図１８】第１実施例の色変換処理において、割り付けた格子点の階調値を読み出して色変換した画像データを算出する処理の流れを示すフローチャートである。
【図１９】個々の画像データで生じたプレ変換誤差が互いに打ち消し合う原理を示す説明図である。
【図２０】第１実施例の変形例のプレ変換処理において、１画面分の画像データのプレ変換・色変換処理を行っている途中の状態を模式的に示した説明図である。
【図２１】誤差拡散法において、各画素で生じたプレ変換誤差を周辺の画素に拡散するために使用する重み係数を例示した説明図である。
【図２２】周辺の画素で生じたプレ変換誤差が着目画素に拡散されてくる様子を模式的に示した説明図である。
【図２３】第２実施例のプレ変換処理において、画像データを３つの格子点に割り付ける処理の流れを示したフローチャートである。
【図２４】第２実施例のプレ変換処理において、画像データを３つの格子点に割り付ける様子を概念的に示した説明図である。
【図２５】第２実施例のプレ変換処理において、画像データの値に応じて、画像データが３つの格子点に適切に割り付けられる様子を示す説明図である。
【図２６】第２実施例のプレ変換・色変換処理処理において、割り付けた格子点の階調値を読み出して色変換する処理の流れを示したフローチャートである。
【図２７】第２実施例のプレ変換・色変換処理において、画像データの値に応じて、色変換後の階調値が適切に求められる様子を概念的に示した説明図である。
【図２８】第２実施例のプレ変換・色変換処理において、画像データを３つの格子点に割り付けることにより、プレ変換誤差を減少させることができる理由を示す説明図である。
【図２９】補間演算する場合と比較して、処理を迅速化できる理由を示す説明図である。
【図３０】第３実施例のプレ変換処理において、画像データを２つの格子点に割り付ける処理の流れを示したフローチャートである。
【図３１】第３実施例のプレ変換処理において、画像データを第１の格子点に割り付けている様子を模式的に示した説明図である。
【図３２】第３実施例のプレ変換処理において、画像データを第２の格子点に割り付けている様子を模式的に示した説明図である。
【図３３】第３実施例のプレ変換処理を拡張して、画像データを３つ以上の格子点に割り付けるための考え方を概念的に示す説明図である。
【符号の説明】
１０…コンピュータ
１２…プリンタドライバ
１４…色変換モジュール
１６…ＬＵＴ
２０…カラープリンタ
１００…コンピュータ
１０２…ＣＰＵ
１０４…ＲＯＭ
１０６…ＲＡＭ
１０８…周辺機器インターフェースＰ／ＩＦ
１０９…ディスクコントローラＤＤＣ
１１０…ネットワークインターフェースカードＮＩＣ
１１２…ビデオインターフェースＶ／ＩＦ
１１４…ＣＲＴ
１１６…バス
１１８…ハードディスク
１２０…デジタルカメラ
１２２…カラースキャナ
１２４…フレキシブルディスク
１２６…コンパクトディスク
２００…カラープリンタ
２３０…キャリッジモータ
２３５…紙送りモータ
２３６…プラテン
２４０…キャリッジ
２４１…印字ヘッド
２４２，２４３…インクカートリッジ
２４４…インク吐出ヘッド
２６０…制御回路
２６１…ＣＰＵ
２６２…ＲＯＭ
２６３…ＲＡＭ
３００…通信回線
３１０…記憶装置
ｋ    …ノズルピッチ
Ｄcx  …画像データ
Ｄr1  …第１の判定データ
Ｄr2  …第２の判定データ
Ｄr3  …第３の判定データ
Ｄr   …判定データ
Ｄx   …画像データ
Ｎs1  …第１のノイズ
Ｎs2  …第２のノイズ
Ｎs3  …第３のノイズ
Ｎs   …ノイズ
Ｎｚ  …インクジェットノズル
Ｐ1   …格子点
Ｐ2   …格子点
Ｐ3   …格子点
Ｐ4   …格子点
Ｐ5   …格子点
Ｐ6   …格子点
Ｐ7   …格子点
Ｐ8   …格子点
Ｐ    …印刷用紙
Ｒx   …画像データ
Ｒa   …画像データ
Ｒb   …画像データ
Ｒc   …画像データ
Ｒx   …画像データ
【図１】
0003823858.tif 000002
【図２】
0003823858.tif 000003
【図３】
0003823858.tif 000004
【図４】
0003823858.tif 000005
【図５】
0003823858.tif 000006
【図６】
0003823858.tif 000007
【図７】
0003823858.tif 000008
【図８】
0003823858.tif 000009
【図９】
0003823858.tif 000010
【図１０】
0003823858.tif 000011
【図１１】
0003823858.tif 000012
【図１２】
0003823858.tif 000013
【図１３】
0003823858.tif 000014
【図１４】
0003823858.tif 000015
【図１５】
0003823858.tif 000016
【図１６】
0003823858.tif 000017
【図１７】
0003823858.tif 000018
【図１８】
0003823858.tif 000019
【図１９】
0003823858.tif 000020
【図２０】
0003823858.tif 000021
【図２１】
0003823858.tif 000022
【図２２】
0003823858.tif 000023
【図２３】
0003823858.tif 000024
【図２４】
0003823858.tif 000025
【図２５】
0003823858.tif 000026
【図２６】
0003823858.tif 000027
【図２７】
0003823858.tif 000028
【図２８】
0003823858.tif 000029
【図２９】
0003823858.tif 000030
【図３０】
0003823858.tif 000031
【図３１】
0003823858.tif 000032
【図３２】
0003823858.tif 000033
【図３３】
0003823858.tif 000034