(57)【要約】【課題】色変換処理の高速化を十分に実現することを可能とする。【解決手段】画像処理装置は、複数の格子点についての第１の表色系における階調値と第２の表色系における階調値との対応を示す色変換データを格納する格納部と、対象画素の階調値を第２の表色系における階調値に変換する色変換部と、複数のキャッシュ領域を有するキャッシュ部を備える。色変換部は、対象画素の階調値を相当格子点の階調値に確率的に変換すると共に、色変換データを用いて相当格子点の階調値を第２の表色系における階調値に変換する。キャッシュ部は、相当格子点の色変換データが格納部から読み出される毎にキャッシュ状態を更新する。対象画素の相当格子点の色変換データと相当格子点に近接する格子点の色変換データとを含む近接色変換データ群が新たにキャッシュされた場合には、次回のキャッシュ状態の更新の際に当該近接色変換データ群は廃棄されず維持される。【選択図】図１０
2007281764.tif 000002
【特許請求の範囲】
【請求項１】
第１の表色系で表現された第１の画像データを第２の表色系で表現された第２の画像データに変換する画像処理装置であって、
前記第１の表色系を表す色空間内に格子状に配置された複数の格子点のそれぞれについての前記第１の表色系における階調値と前記第２の表色系における階調値との対応を示す色変換データを含む色変換テーブルを格納するテーブル格納部と、
前記第１の画像データを構成する画素を順に１つずつ対象画素として選択すると共に、対象画素の階調値を前記第２の表色系における階調値に変換する色変換部と、
前記テーブル格納部からの色変換データの読み出しよりも高速に読み出し可能に色変換データをキャッシュする複数のキャッシュ領域を有するキャッシュ部と、を備え、
前記色変換部は、
対象画素の階調値を、前記色空間内の複数の格子点の内の１つである相当格子点の階調値に確率的に変換する第１の変換部と、
対象画素に対応する相当格子点についての色変換データを用いて、相当格子点の階調値を前記第２の表色系における階調値に変換する第２の変換部と、を含み、
前記キャッシュ部は、前記第２の変換部が対象画素の相当格子点についての色変換データを前記テーブル格納部から読み出す毎に前記複数のキャッシュ領域における色変換データのキャッシュ状態を更新すると共に、キャッシュ状態の更新の際に、対象画素に対応する相当格子点についての色変換データと前記色空間において対象画素に対応する相当格子点に近接する所定の範囲内に位置する格子点についての色変換データとを含む近接色変換データ群を前記複数のキャッシュ領域の１つに新たにキャッシュした場合には、次回のキャッシュ状態の更新の際に、当該新たにキャッシュされた近接色変換データ群を廃棄せずに維持する、画像処理装置。
【請求項２】
請求項１記載の画像処理装置であって、
前記キャッシュ部は、毎回のキャッシュ状態の更新において、前記複数のキャッシュ領域の内から順に選択された１つのキャッシュ領域に新たな近接色変換データ群をキャッシュする、画像処理装置。
【請求項３】
請求項１記載の画像処理装置であって、
前記キャッシュ部は、キャッシュ状態の更新の際に、１つ前に選択された対象画素についての前記第２の変換部による変換処理において前記キャッシュ領域にキャッシュされた近接色変換データ群に含まれる色変換データが用いられた場合には、前記キャッシュ領域にキャッシュされた近接色変換データ群を廃棄せずに維持する、画像処理装置。
【請求項４】
請求項１ないし請求項３のいずれかに記載の画像処理装置であって、
前記第１の表色系を表す色空間は３次元空間であり、
相当格子点は、前記色空間内の８つの格子点を頂点とする六面体であって対象画素の階調値を表す点を含む最小の六面体の頂点のいずれか１つである、画像処理装置。
【請求項５】
請求項４記載の画像処理装置であって、
前記近接色変換データ群は、相当格子点を含む所定の大きさの六面体に含まれる格子点についての色変換データである、画像処理装置。
【請求項６】
請求項５記載の画像処理装置であって、
前記所定の大きさの六面体は、内部に対象画素の相当格子点を含むと共に、表面に２６個の格子点を含む六面体である、画像処理装置。
【請求項７】
請求項５記載の画像処理装置であって、
前記キャッシュ部は、前記第１の変換部により設定された対象画素の相当格子点が、前記複数のキャッシュ領域の内の第１のキャッシュ領域にキャッシュされている近接色変換データ群に含まれる色変換データに対応する格子点であって、前記色空間の各軸方向に沿って当該格子点と隣接する少なくとも１つの格子点についての色変換データが前記第１のキャッシュ領域にキャッシュされている近接色変換データ群に含まれないような格子点に該当することとなる場合には、前記隣接する少なくとも１つの格子点についての色変換データを含む近接色変換データ群を前記第１のキャッシュ領域にキャッシュする、画像処理装置。
【請求項８】
請求項７記載の画像処理装置であって、
前記所定の大きさの六面体は、内部に対象画素の相当格子点を含む８個の格子点を含むと共に、表面に５６個の格子点を含む六面体である、画像処理装置。
【請求項９】
請求項１ないし請求項８のいずれかに記載の画像処理装置であって、
前記第２の表色系は、画像の印刷に用いるインク色で表現された表色系である、画像処理装置。
【請求項１０】
第１の表色系で表現された第１の画像データを第２の表色系で表現された第２の画像データに変換する画像処理方法であって、
（ａ）前記第１の表色系を表す色空間内に格子状に配置された複数の格子点のそれぞれについての前記第１の表色系における階調値と前記第２の表色系における階調値との対応を示す色変換データを含む色変換テーブルを所定の記憶領域に格納する工程と、
（ｂ）前記第１の画像データを構成する画素を順に１つずつ対象画素として選択すると共に、対象画素の階調値を前記第２の表色系における階調値に変換する工程と、
（ｃ）複数のキャッシュ領域に、前記所定の記憶領域からの色変換データの読み出しよりも高速に読み出し可能に色変換データをキャッシュする工程と、を備え、
前記工程（ｂ）は、
（ｉ）対象画素の階調値を、前記色空間内の複数の格子点の内の１つである相当格子点の階調値に確率的に変換する第１の変換工程と、
（ｉｉ）対象画素に対応する相当格子点についての色変換データを用いて、相当格子点の階調値を前記第２の表色系における階調値に変換する第２の変換工程と、を含み、
前記工程（ｃ）は、前記第２の変換工程において、対象画素の相当格子点についての色変換データが前記所定の記憶領域から読み出される毎に前記複数のキャッシュ領域における色変換データのキャッシュ状態を更新する工程であると共に、キャッシュ状態の更新の際に、対象画素に対応する相当格子点についての色変換データと前記色空間において対象画素に対応する相当格子点に近接する所定の範囲内に位置する格子点についての色変換データとを含む近接色変換データ群が前記複数のキャッシュ領域の１つに新たにキャッシュされた場合には、次回のキャッシュ状態の更新の際に、当該新たにキャッシュされた近接色変換データ群を廃棄せずに維持する工程である、画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、色変換テーブルを用いて画像データの色変換を行う技術に関する。
【背景技術】
【０００２】
例えばデジタルスチルカメラを用いた撮影により生成されたカラー画像データ（例えばＲＧＢ表色系で表現されたＲＧＢデータ）に基づき画像の印刷を行う場合には、当該カラー画像データを印刷装置のインク色に対応した画像データ（例えばＣＭＹＫ表色系で表現されたＣＭＹＫデータ）に変換するための色変換処理が行われる。
【０００３】
このような色変換処理を行う方法の１つとして、色変換三次元ルックアップテーブル（以下「色変換ＬＵＴ」と呼ぶ）を用いた方法が知られている。色変換ＬＵＴは、第１の表色系（例えばＲＧＢ表色系）を表す色空間内に格子状に配置された複数の格子点のそれぞれについての第１の表色系における入力階調値と第２の表色系（例えばＣＭＹＫ表色系）における出力階調値との対応を示す色変換データを含むテーブルである。
【０００４】
一般に、色変換ＬＵＴを用いた色変換処理では、変換前の画像データを構成する画素の階調値が色変換ＬＵＴの格子点の入力階調値と一致する場合には、当該格子点の出力階調値そのものが変換後の画像データの階調値とされる。また、変換前の階調値が色変換ＬＵＴの格子点の入力階調値と一致しない場合には、色空間において変換前の階調値を表す点に近接する複数の格子点についての色変換データを用いた所定の補間演算により、変換後の階調値が算出される。補間演算の方法としては、四面体補間や立方体（または直方体）補間等が用いられる。
【０００５】
色変換処理において、ＲＯＭやＲＡＭ上に格納された色変換ＬＵＴに含まれる色変換データの内、ある対象画素についての補間演算に用いた格子点の色変換データをＣＰＵのキャッシュメモリ上にキャッシュする技術が知られている。この技術では、続いて他の対象画素についての補間演算を行う際に、必要な色変換データがキャッシュメモリ上にキャッシュされている場合には、ＲＯＭやＲＡＭからの色変換データの読み出しを行うことなく補間演算を実行することができるため、色変換処理の高速化を図ることができる。
【０００６】
【特許文献１】特開２００４−２４２２１３
【特許文献２】特開２００４−１８５５３３
【特許文献３】特開２００３−２８９４４９
【特許文献４】特開２００４−２７４１３１
【特許文献５】特開２０００−２０１２７８
【発明の開示】
【発明が解決しようとする課題】
【０００７】
上記従来の技術では、他の対象画素についての補間演算を行う際に、補間演算に必要な複数の格子点の色変換データのすべてがキャッシュメモリ上にキャッシュされている場合に限り、キャッシュヒットとなる。すなわち、必要な複数の色変換データの内の１つでもキャッシュメモリ上にキャッシュされていない場合にはキャッシュミスとなり、ＲＯＭやＲＡＭからの色変換データの読み出し処理が発生する。そのため、上記従来の技術では、色変換処理の高速化を十分に図ることが困難であるという問題があった。
【０００８】
なお、このような問題は、ＲＧＢデータをＣＭＹＫデータに変換するための色変換処理に限らず、画像データの色変換処理一般に共通の問題であった。
【０００９】
本発明は、上述した従来の課題を解決するためになされたものであり、色変換処理の高速化を十分に実現することを可能とする技術を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記課題の少なくとも一部を解決するために、本発明の画像処理装置は、
第１の表色系で表現された第１の画像データを第２の表色系で表現された第２の画像データに変換する画像処理装置であって、
前記第１の表色系を表す色空間内に格子状に配置された複数の格子点のそれぞれについての前記第１の表色系における階調値と前記第２の表色系における階調値との対応を示す色変換データを含む色変換テーブルを格納するテーブル格納部と、
前記第１の画像データを構成する画素を順に１つずつ対象画素として選択すると共に、対象画素の階調値を前記第２の表色系における階調値に変換する色変換部と、
前記テーブル格納部からの色変換データの読み出しよりも高速に読み出し可能に色変換データをキャッシュする複数のキャッシュ領域を有するキャッシュ部と、を備え、
前記色変換部は、
対象画素の階調値を、前記色空間内の複数の格子点の内の１つである相当格子点の階調値に確率的に変換する第１の変換部と、
対象画素に対応する相当格子点についての色変換データを用いて、相当格子点の階調値を前記第２の表色系における階調値に変換する第２の変換部と、を含み、
前記キャッシュ部は、前記第２の変換部が対象画素の相当格子点についての色変換データを前記テーブル格納部から読み出す毎に前記複数のキャッシュ領域における色変換データのキャッシュ状態を更新すると共に、キャッシュ状態の更新の際に、対象画素に対応する相当格子点についての色変換データと前記色空間において対象画素に対応する相当格子点に近接する所定の範囲内に位置する格子点についての色変換データとを含む近接色変換データ群を前記複数のキャッシュ領域の１つに新たにキャッシュした場合には、次回のキャッシュ状態の更新の際に、当該新たにキャッシュされた近接色変換データ群を廃棄せずに維持する。
【００１１】
この画像処理装置では、対象画素の相当格子点についての色変換データと相当格子点に近接する所定の範囲内の格子点についての色変換データとを含む近接色変換データ群が、キャッシュ部のキャッシュ領域にキャッシュされる。また、第１の変換部では、対象画素の階調値が複数の格子点の内の１つである相当格子点の階調値に確率的に変換される。さらに、第２の変換部では、対象画素の相当格子点についての色変換データを用いて、相当格子点の階調値が第２の表色系における階調値に変換される。そのため、この画像処理装置では、対象画素の相当格子点についての色変換データさえキャッシュ領域にキャッシュされていればキャッシュヒットとなる。従って、この画像処理装置では、補間演算に用いる複数の格子点のすべてについての色変換データがキャッシュされている場合のみキャッシュヒットとなる従来の画像処理装置と比較して、キャッシュヒットの確率を大幅に向上させることができ、色変換処理の高速化を十分に実現することができる。
【００１２】
さらに、この画像処理装置では、キャッシュ状態の更新の際に近接色変換データ群がキャッシュ領域に新たにキャッシュされた場合には、次回のキャッシュ状態の更新の際に、当該新たにキャッシュされた近接色変換データ群は廃棄されず維持される。そのため、例えば画像中のノイズのように、互いに近似した階調値を有する複数の画素で構成される領域（正常画像領域）中に階調値の大きく異なるごく少数の画素が混在しているような場合にも、キャッシュヒットの確率を大きく高めることができる。従って、この画像処理装置では、色変換処理の高速化をさらに十分に実現することができる。
【００１３】
上記画像処理装置において、
前記キャッシュ部は、毎回のキャッシュ状態の更新において、前記複数のキャッシュ領域の内から順に選択された１つのキャッシュ領域に新たな近接色変換データ群をキャッシュするとしてもよい。
【００１４】
このようにすれば、少なくとも、現在の対象画素に対応した相当格子点に近接する更新点の色変換データと、１つ前に選択された対象画素に対応した相当格子点に近接する更新点の色変換データとの両方が、キャッシュ領域に保持される状態が維持される。そのため、例えば画像中のエッジのように、互いに近似した階調値を有する複数の画素で構成される第１の領域と、第１の領域の階調値とは大きく異なる値であって互いに近似した階調値を有する複数の画素で構成される第２の領域との境界部分においても、キャッシュヒットの確率を大きく高めることができる。従って、この画像処理装置では、色変換処理の高速化をさらに十分に実現することができる。
【００１５】
また、上記画像処理装置において、
前記キャッシュ部は、キャッシュ状態の更新の際に、１つ前に選択された対象画素についての前記第２の変換部による変換処理において前記キャッシュ領域にキャッシュされた近接色変換データ群に含まれる色変換データが用いられた場合には、前記キャッシュ領域にキャッシュされた近接色変換データ群を廃棄せずに維持するとしてもよい。
【００１６】
このようにすれば、少なくとも２つの連続した対象画素について、第２の変換部による変換処理においてキャッシュ領域にキャッシュされた近接色変換データ群に含まれる色変換データが用いられない限り、キャッシュ領域にキャッシュされた近接色変換データ群は廃棄されず維持される。そのため、例えば画像中のノイズのように、互いに近似した階調値を有する複数の画素で構成される領域（正常画像領域）中に階調値の大きく異なるごく少数の画素が混在しているような場合にも、キャッシュヒットの確率を大きく高めることができる。従って、この画像処理装置では、色変換処理の高速化をさらに十分に実現することができる。
【００１７】
また、上記画像処理装置において、
前記第１の表色系を表す色空間は３次元空間であり、
相当格子点は、前記色空間内の８つの格子点を頂点とする六面体であって対象画素の階調値を表す点を含む最小の六面体の頂点のいずれか１つであるとしてもよい。
【００１８】
このようにすれば、色変換に伴う画質の低下を抑制しつつ第１の変換部による変換を実行することができる。
【００１９】
また、上記画像処理装置において、
前記近接色変換データ群は、相当格子点を含む所定の大きさの六面体に含まれる格子点についての色変換データであるとしてもよい。
【００２０】
このようにすれば、キャッシュ領域にキャッシュする色変換データを迅速に特定することができ、キャッシュ処理の高速化を図ることができる。
【００２１】
また、上記画像処理装置において、
前記所定の大きさの六面体は、内部に対象画素の相当格子点を含むと共に、表面に２６個の格子点を含む六面体であるとしてもよい。
【００２２】
このようにすれば、キャッシュ領域にキャッシュする色変換データを比較的少なくすることができ、キャッシュヒットの確率の向上を確保しつつ、キャッシュ処理を原因とする色変換処理速度の低減を抑制することができる。
【００２３】
また、上記画像処理装置において、
前記キャッシュ部は、前記第１の変換部により設定された対象画素の相当格子点が、前記複数のキャッシュ領域の内の第１のキャッシュ領域にキャッシュされている近接色変換データ群に含まれる色変換データに対応する格子点であって、前記色空間の各軸方向に沿って当該格子点と隣接する少なくとも１つの格子点についての色変換データが前記第１のキャッシュ領域にキャッシュされている近接色変換データ群に含まれないような格子点に該当することとなる場合には、前記隣接する少なくとも１つの格子点についての色変換データを含む近接色変換データ群を前記第１のキャッシュ領域にキャッシュするとしてもよい。
【００２４】
このようにすれば、キャッシュヒットの確率のさらなる向上を図ることができ、色変換処理の高速化をより十分に実現することができる。
【００２５】
また、上記画像処理装置において、
前記所定の大きさの六面体は、内部に対象画素の相当格子点を含む８個の格子点を含むと共に、表面に５６個の格子点を含む六面体であるとしてもよい。
【００２６】
このようにすれば、キャッシュ領域にキャッシュする色変換データの数を比較的少なく抑えつつ、キャッシュ状態の更新の頻度を少なくして色変換処理速度の低減を抑制することができる。
【００２７】
また、上記画像処理装置において、
前記第２の表色系は、画像の印刷に用いるインク色で表現された表色系であるとしてもよい。
【００２８】
このようにすれば、画像の印刷に伴う色変換処理の高速化を十分に実現することができる。
【００２９】
なお、本発明は、種々の態様で実現することが可能であり、例えば、画像処理方法および装置、画像色変換方法および装置、画像補正方法および装置、これらの方法または装置の機能を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体、そのコンピュータプログラムを含み搬送波内に具現化されたデータ信号、等の形態で実現することができる。
【発明を実施するための最良の形態】
【００３０】
次に、本発明の実施の形態を実施例に基づいて以下の順序で説明する。
Ａ．第１実施例：
Ｂ．第２実施例：
Ｃ．第３実施例：
Ｄ．第４実施例：
Ｅ．変形例：
【００３１】
Ａ．第１実施例：
図１は、本発明の第１実施例における画像処理装置としてのプリンタ１００の構成を概略的に示す説明図である。プリンタ１００は、例えばＳＤＲＡＭによって構成されたＲＡＭ１２０と、ＲＯＭ１３０と、ボタンやタッチパネル等の操作部１４０と、液晶モニタ等の表示部１５０と、プリンタエンジン１６０と、カードインターフェース（カードＩ／Ｆ）１７０と、プリンタ１００の各構成要素を制御するＣＰＵ１１０と、を備えている。プリンタ１００は、さらに、他の機器（例えばデジタルスチルカメラ）とのデータ通信を行うためのインターフェースを備えているとしてもよい。
【００３２】
プリンタエンジン１６０は、印刷データＰＤに基づき印刷を行う印刷機構である。カードインターフェース１７０は、カードスロット１７２に挿入されたメモリカード１７４との間でデータのやり取りを行うためのインターフェースである。
【００３３】
ＣＰＵ１１０は、キャッシュ部１１２を備えている。キャッシュ部１１２は、例えばＳＲＡＭによって構成された複数のキャッシュメモリ１１６と、キャッシュメモリ１１６を制御するキャッシュコントローラ１１４と、を含んでいる。キャッシュ部１１２は、ＣＰＵ１１０の図示しないＣＰＵコアがＲＡＭ１２０やＲＯＭ１３０からのデータの読み出しよりも高速に読み出し可能にデータをキャッシュすることができる。図１に示すように、本実施例では、キャッシュ部１１２は、２つのキャッシュメモリ１１６（キャッシュメモリＡ１１６ＡおよびキャッシュメモリＢ１１６Ｂ）を含んでいる。
【００３４】
ＲＯＭ１３０には、印刷処理プログラム２００が格納されている。印刷処理プログラム２００は、画像データＩＭＧに基づく画像の印刷を実行するためのコンピュータプログラムである。ＣＰＵ１１０は、ＲＯＭ１３０から直接またはＲＡＭ１２０を介して印刷処理プログラム２００を読み出して実行することにより、プリンタエンジン１６０を用いた画像の印刷を実現する。なお、本実施例における画像の印刷は、メモリカード１７４に格納された画像データＩＭＧに基づき行われるものとする。また、この画像データＩＭＧは、各画素の階調値がＲＧＢ表色系で表現されたＲＧＢデータであるものとする。
【００３５】
印刷処理プログラム２００は、モジュールとして、解像度変換部２１０と、色変換部２２０と、ハーフトーン処理部２３０と、データ配列部２４０と、を含んでいる。解像度変換部２１０は、カードインターフェース１７０を介してメモリカード１７４から読み出された画像データＩＭＧの解像度を、色変換部２２０による処理以降の処理に適した解像度に変換する。色変換部２２０は、解像度変換後の画像データＩＭＧを、プリンタエンジン１６０における印刷に用いられる複数のインク色で階調表現されたインク色画像データＩＮＫに変換する。なお、本実施例では、プリンタエンジン１６０における印刷に用いられる複数のインク色は、シアン（Ｃ）、マゼンタ（Ｍ）、イエロー（Ｙ）、ブラック（Ｋ）の４色であるものとする。
【００３６】
ハーフトーン処理部２３０は、インク色画像データＩＮＫにおける各インク色の階調値に基づいてハーフトーン処理を実行することによって、印刷画素毎のインクドットの形成状態を示すドットデータを生成する。データ配列部２４０は、生成されたドットデータを配列して、印刷データＰＤとして出力する。
【００３７】
印刷処理プログラム２００により生成された印刷データＰＤは、プリンタエンジン１６０に供給される。印刷データＰＤは、印刷解像度を有する主走査ライン上の各画素についてインクドットの記録状態を表すドットデータと、副走査送り量を特定する副走査送り量データとを含んでいる。
【００３８】
ＲＯＭ１３０には、また、プレ変換テーブル３１０と、色変換三次元ルックアップテーブル（以下「色変換ＬＵＴ」と呼ぶ）３２０と、が格納されている。プレ変換テーブル３１０および色変換ＬＵＴ３２０は、画像の印刷処理の際にＲＡＭ１２０上の所定のアドレスに読み出される。
【００３９】
図２は、色変換ＬＵＴ３２０の一例を示す説明図である。色変換ＬＵＴ３２０は、第１の表色系を表す３次元の色空間内に格子状に配置された複数の格子点Ｐのそれぞれについての第１の表色系における階調値と第２の表色系における階調値との対応を示す色変換データＣＤを含むテーブルである。本実施例では、第１の表色系は、画像データＩＭＧの表現に用いられるＲＧＢ表色系であり、第２の表色系は、インク色画像データＩＮＫの表現に用いられるＣＭＹＫ表色系である。
【００４０】
図２（ａ）には、色変換ＬＵＴ３２０における格子点Ｐの配置の一例を示している。格子点Ｐは、第１の表色系を表す色空間の各軸（Ｒ軸、Ｇ軸、Ｂ軸）のそれぞれに沿って設定された参照階調値の組み合わせにより特定される。参照階調値は、最小階調値（図２（ａ）の例では０）から最大階調値（図２（ａ）の例では２５５）までの間に、任意の数（例えば３１個）だけ離散的に設定された階調値である。図２（ａ）には、色変換ＬＵＴ３２０の各軸に沿った参照階調値の配置のイメージを破線を用いて表現している。なお、図２（ａ）には、Ｒ＝Ｇ＝Ｂ＝０である黒色点ＢｋとＲ＝Ｇ＝Ｂ＝２５５である白色点Ｗとを示している。
【００４１】
なお、図２（ａ）は、あくまで色変換ＬＵＴ３２０における参照階調値の配置のイメージを示したものであり、実際の参照階調値の配置がこのような配置に限定されるものではない。また、一般に、色変換ＬＵＴ３２０の参照階調値の配置は、色変換の精度を考慮して設定されるため、必ずしも均等間隔に設定されるわけではない。すなわち、ある階調値の範囲では参照階調値が密に設定され、他の階調値の範囲では参照階調値が粗に設定される場合もある。また、色変換ＬＵＴ３２０の参照階調値の配置は、軸毎に独立して設定され、必ずしもすべての軸について同じ参照階調値の配置が設定される訳ではない。
【００４２】
図２（ｂ）には、色変換ＬＵＴ３２０を構成する色変換データＣＤの内容の一例を示している。図２（ｂ）に示すように、色変換ＬＵＴ３２０には、複数の格子点Ｐのそれぞれについての色変換データＣＤが含まれている。上述したように、色変換データＣＤは、ＲＧＢ表色系における階調値（入力階調値）とＣＭＹＫ表色系における階調値（出力階調値）との対応を示すデータである。なお、図２（ｂ）から明らかなように、本実施例の色変換ＬＵＴ３２０では、Ｂ軸に沿った参照階調値は、階調値８毎に設定されている。そして、Ｒ軸およびＧ軸に沿った参照階調値も、Ｂ軸と同様に階調値８毎に設定されているものとする。
【００４３】
図３は、色変換部２２０（図１）の詳細構成を示す説明図である。色変換部２２０は、プレ変換部２６０と、ポスト変換部２７０と、を含んでいる。
【００４４】
プレ変換部２６０は、テーブル参照部２６２と、ランダムノイズ加算部２６４と、相当格子点決定部２６６と、を含んでいる。以下に説明するように、プレ変換部２６０は、画像データＩＭＧの階調値を、色変換ＬＵＴ３２０のいずれかの格子点Ｐ（以下「相当格子点ＳＰ」とも呼ぶ）の入力階調値に確率的に変換する処理（以下「プレ変換」とも呼ぶ）を行う機能を有している。
【００４５】
プレ変換部２６０のテーブル参照部２６２は、プレ変換テーブル３１０（図１）を参照して、画像データＩＭＧの階調値を色変換ＬＵＴ３２０に適した格子点Ｐの入力階調値ＬＩに変換する。ただし、プレ変換テーブル３１０の出力は、この格子点入力階調値ＬＩ（「仮の格子点入力階調値」とも呼ぶ）と、付加小数ＡＦとを含んでいる。ランダムノイズ加算部２６４は、付加小数ＡＦにランダムなノイズＲＮを加算する。相当格子点決定部２６６は、付加小数ＡＦとランダムノイズＲＮとの加算値（ＡＦ＋ＲＮ）に応じて、相当格子点ＳＰを決定し、最終的な格子点入力階調値ＦＬＩを出力する。
【００４６】
図４は、プレ変換部２６０（図３）によるプレ変換の概要を示す説明図である。図４には、画像データＩＭＧを構成する任意の画素（対象画素）の階調値（Ｒｘ，Ｇｘ，Ｂｘ）で表される対象画素点Ｐｘを黒丸で示している。図４には、また、ＲＧＢ色空間において対象画素点Ｐｘを含む最小の六面体の頂点となる８つの格子点Ｐ（格子点Ｐａ〜Ｐｈ）を白丸で示している。プレ変換では、対象画素点Ｐｘの階調値（Ｒｘ，Ｇｘ，Ｂｘ）が、８つの格子点Ｐａ〜Ｐｈのいずれか１つである相当格子点ＳＰの入力階調値に確率的に割り当てられる。
【００４７】
図４の下部には、Ｒ成分に関するプレ変換の例を示している。Ｒｘは、対象画素のＲ成分の階調値であり、Ｒ１は、格子点Ｐａ〜ＰｄのＲ成分の入力階調値であり、Ｒ２は、格子点Ｐｅ〜ＰｈのＲ成分の入力階調値である。すなわち、Ｒ１およびＲ２は、Ｒｘを挟んで隣接するＲ成分の参照階調値である。
【００４８】
まず、対象画素の階調値Ｒｘは、プレ変換テーブル３１０（図１）によって格子点入力階調値ＬＩと付加小数ＡＦとに変換される。図５は、プレ変換テーブル３１０の一例を示す説明図である。図５には、Ｒ成分についてのプレ変換テーブル３１０を示している。格子点入力階調値ＬＩの値は、対象画素の階調値Ｒｘ以下の参照階調値のうちで、階調値Ｒｘに最も近い参照階調値である。例えば、図４の下部に示した例では、格子点入力階調値ＬＩの値は、Ｒ１となる。また、付加小数ＡＦは、対象画素の階調値Ｒｘと格子点入力階調値ＬＩ（＝Ｒ１）との差分（Ｒｘ−Ｒ１）を、２つの参照階調値Ｒ１，Ｒ２の差分（Ｒ２−Ｒ１）で除した値に設定される。例えば、Ｒ１＝８，Ｒ２＝１６，Ｒｘ＝１０のときには、図５に示すように、ＬＩ＝８であり、ＡＦ＝（１０−８）／（１６−８）＝０．２５である。
【００４９】
付加小数ＡＦには、０〜１の範囲のランダムノイズＲＮが加算される。付加小数ＡＦとランダムノイズＲＮとの加算値（ＡＦ＋ＲＮ）が１．０未満のときには、仮の格子点入力階調値ＬＩがそのまま最終的な格子点入力階調値ＦＬＩとして採用される。すなわち、図４の下部に示した例では、ＦＬＩ＝Ｒ１となる。一方、加算値（ＡＦ＋ＲＮ）が１．０以上のときには、仮の格子点入力階調値ＬＩに隣接するより大きな参照階調値が最終的な格子点入力階調値ＦＬＩとして採用される。すなわち、図４の下部に示した例では、ＦＬＩ＝Ｒ２となる。このように、対象画素の階調値Ｒｘに対する最終的な格子点入力階調値ＦＬＩは、加算値（ＡＦ＋ＲＮ）に応じて、階調値Ｒｘを挟んで隣接する２つの参照階調値Ｒ１，Ｒ２のいずれかに設定される。
【００５０】
このように、プレ変換で得られる最終格子点入力階調値ＦＬＩは、対象画素の階調値Ｒｘの値に応じて２つの参照階調値Ｒ１，Ｒ２のいずれかに設定されるが、これらの２つの参照階調値Ｒ１、Ｒ２のいずれに設定されるかはランダムノイズＲＮに依存する。従って、仮に同じ階調値Ｒｘを有する画素が集合している一様な画像領域においても、プレ変換の結果は２つの参照階調値Ｒ１，Ｒ２がランダムに分散した結果となる。また、その一様な画像領域内の画素の最終的な格子点入力階調値ＦＬＩの平均的な値は、階調値Ｒｘに等しいものとなる。
【００５１】
画像データＩＭＧを構成する画素毎に、上述のようなプレ変換をＲ成分、Ｇ成分、Ｂ成分のそれぞれについて実行することにより、各画素の階調値が、色変換ＬＵＴ３２０のいずれかの格子点Ｐ（相当格子点ＳＰ）の入力階調値ＦＬＩに確率的に変換される。すなわち、各画素の階調値が、画像全体または画像内の所定の領域内において、変換の前後の階調値の平均値が維持されるように、相当格子点ＳＰの入力階調値ＦＬＩに変換される。なお、各成分についてのプレ変換に用いるプレ変換テーブル３１０は、同じテーブルであってもよいし、互いに異なるテーブルであってもよい。
【００５２】
図６は、ポスト変換部２７０（図３）によるポスト変換の概要を示す説明図である。ポスト変換では、画像データＩＭＧの画素毎に、色変換ＬＵＴ３２０内の色変換データＣＤが参照されて、プレ変換で決定された最終的な格子点入力階調値ＦＬＩがインク色画像データＩＮＫを構成するインク色の階調値に変換される。格子点入力階調値ＦＬＩは色変換ＬＵＴ３２０のいずれかの格子点Ｐ（相当格子点ＳＰ）の入力階調値であるため、ポスト変換において補間演算が行われることはない。
【００５３】
以上のように、本実施例のプリンタ１００では、色変換部２２０がプレ変換部２６０およびポスト変換部２７０を備えているため、補間演算を行うことなく色変換処理を実行することができる。
【００５４】
図７は、プリンタ１００による画像の印刷処理の内の色変換処理の流れを示すフローチャートである。色変換処理は、解像度変換部２１０（図１）による解像度変換後の画像データＩＭＧをインク色画像データＩＮＫに変換する処理である。
【００５５】
ステップＳ１１０では、色変換部２２０（図１）が、画像データＩＭＧを構成する複数の画素の中から１つの画素を対象画素として選択する。なお、本実施例では、対象画素の選択は、隣接画素がなるべく連続して選択されるように行われる。例えば、最初に画像の左上隅の画素が選択され、その後、右隣の画素が順に選択され、右端の画素の選択が終わると直下の行について同様に左から右に順に選択され、最後に画像の右下隅の画素が選択される。
【００５６】
ステップＳ１２０では、色変換部２２０のテーブル参照部２６２（図３）が、プレ変換テーブル３１０（図５）を参照して、対象画素の階調値を格子点入力階調値ＬＩと付加小数ＡＦとに変換する。ステップＳ１３０では、ランダムノイズ加算部２６４（図３）が、付加小数ＡＦにランダムノイズＲＮを加算する。ステップＳ１４０では、相当格子点決定部２６６（図３）が、相当格子点ＳＰを決定して最終的な格子点入力階調値ＦＬＩを出力する。
【００５７】
ステップＳ１５０では、ポスト変換部２７０（図３）が、キャッシュヒット判定を行う。具体的には、ポスト変換部２７０は、相当格子点ＳＰについての色変換データＣＤ（図２）がキャッシュ部１１２のキャッシュメモリ１１６（図１）にキャッシュされているか（キャッシュヒット）、キャッシュされていないか（キャッシュミス）を判定する。この判定は、相当格子点ＳＰについての色変換データＣＤの読み出し元となる記憶領域を決定するために行われる。
【００５８】
ステップＳ１５０において、相当格子点ＳＰについての色変換データＣＤがキャッシュされていないと判定された場合（キャッシュミスの場合）には、ポスト変換部２７０は、ＲＡＭ１２０から色変換ＬＵＴ３２０の中の相当格子点ＳＰについての色変換データＣＤを読み出す（ステップＳ１６０）。その後、ポスト変換部２７０は、ＲＡＭ１２０から読み出された色変換データＣＤを参照して、最終的な格子点入力階調値ＦＬＩをインク色（ＣＭＹＫ）で表現されたインク色階調値に変換する（ステップＳ１７０）。
【００５９】
一方、ステップＳ１５０において、相当格子点ＳＰについての色変換データＣＤがキャッシュされていると判定された場合（キャッシュヒットの場合）には、ポスト変換部２７０は、キャッシュ部１１２のキャッシュメモリ１１６（図１）から相当格子点ＳＰについての色変換データＣＤを読み出す（ステップＳ１９０）。この読み出しは、ＲＡＭ１２０からの色変換データＣＤの読み出し（ステップＳ１６０）よりも高速に実行可能である。その後、ポスト変換部２７０は、読み出された色変換データＣＤを参照して、最終的な格子点入力階調値ＦＬＩをインク色で表現されたインク色階調値に変換する（ステップＳ２００）。
【００６０】
本実施例では、ステップＳ１５０においてキャッシュミスと判定された場合には、ＲＡＭ１２０からの色変換データＣＤの読み出し（ステップＳ１６０）およびインク色階調値の決定（ステップＳ１７０）の後に、キャッシュ部１１２（図１）によるキャッシュ更新処理（ステップＳ１８０）が行われる。
【００６１】
図８は、第１実施例におけるキャッシュ更新処理の流れを示すフローチャートである。キャッシュ更新処理は、キャッシュ部１１２（図１）における色変換データＣＤのキャッシュ状態の更新を行う処理である。ここで、キャッシュ状態の更新とは、キャッシュメモリ１１６にキャッシュすべきデータを設定すると共に、設定に従って新たにデータをキャッシュしたり、キャッシュされているデータを入れ替えたりする処理を意味している。
【００６２】
ステップＳ３１０（図８）では、キャッシュ部１１２のキャッシュコントローラ１１４（図１）が、色変換データＣＤがキャッシュされていないキャッシュメモリ１１６（以下「空きキャッシュメモリ」と呼ぶ）の有無を判定する。ステップＳ３１０において空きキャッシュメモリが有ると判定された場合には、キャッシュコントローラ１１４は、空きキャッシュメモリに色変換データＣＤを格納する（ステップＳ３２０）。
【００６３】
ここで、ステップＳ３２０における色変換データＣＤのキャッシュは、近接色変換データ群を対象として行われる。図９は、第１実施例における近接色変換データ群の概念を示す説明図である。近接色変換データ群とは、対象画素の相当格子点ＳＰについての色変換データＣＤと、色変換ＬＵＴ３２０の入力色空間において対象画素の相当格子点ＳＰに近接する所定の範囲内に位置する格子点についての色変換データＣＤと、を含む複数の色変換データＣＤの集合である。図９（ａ）に示すように、第１実施例では、近接色変換データ群は、相当格子点ＳＰについての色変換データＣＤと、図９（ａ）に黒丸で示した格子点Ｐについての色変換データＣＤと、により構成される。ここで、図９（ａ）に黒丸で示した格子点Ｐは、色変換ＬＵＴ３２０の３つの座標軸のすべてに沿って相当格子点ＳＰと重複または隣接する格子点Ｐである。すなわち、近接色変換データ群は、内部に相当格子点ＳＰを含む六面体（以下「対象六面体」とも呼ぶ）の内部および表面に含まれる合計２７個の格子点Ｐについての色変換データＣＤにより構成される。
【００６４】
図１０は、第１実施例におけるキャッシュ更新処理の概念を示す説明図である。図１０（ａ）には、キャッシュメモリＡ１１６Ａに近接色変換データ群（ＣＤ（１）〜（２７））がキャッシュされ、キャッシュメモリＢ１１６Ｂには色変換データＣＤがキャッシュされていない状態を示している。図１０（ａ）に示すキャッシュ状態のときに、ある対象画素（画素１）についてのキャッシュヒット判定（図７のステップＳ１５０）においてキャッシュヒットと判定された場合には、ヒットした色変換データＣＤ（例えばハッチングを付したＣＤ（２））がキャッシュメモリ１１６から読み出される（図７のステップＳ１９０）。このときには、キャッシュ更新処理（図７のステップＳ１８０）は実行されず、キャッシュメモリ１１６のキャッシュ状態は、図１０（ａ）に示した状態のまま維持される。
【００６５】
図１０（ａ）に示す状態のときに、次の対象画素（画素２）についてのキャッシュヒット判定においてキャッシュミスと判定された場合には、色変換データＣＤがＲＡＭ１２０から読み出される（図７のステップＳ１６０）。このときには、キャッシュ更新処理（図７のステップＳ１８０）が開始される。キャッシュ更新処理では、空きキャッシュメモリ有無の判定（図８のステップＳ３１０）において空きキャッシュメモリ（キャッシュメモリＢ１１６Ｂ）が有ると判定されるため、図１０（ｂ）に示すように、キャッシュメモリＢ１１６Ｂに新たな対象画素に対応した近接色変換データ群（ＣＤ’（１）〜（２７））がキャッシュされる（図８のステップＳ３２０）。
【００６６】
一方、キャッシュ更新処理のステップＳ３１０（図８）において空きキャッシュメモリが無いと判定された場合には、キャッシュコントローラ１１４（図１）は、キャッシュメモリ１１６への格納時がより古い（より前である）データをキャッシュしているキャッシュメモリ１１６において、色変換データＣＤの入れ替えを行う（ステップＳ３３０）。ステップＳ３３０における色変換データＣＤの入れ替えも、近接色変換データ群を対象として行われる。
【００６７】
例えば、画素２（図１０（ｂ）参照）の次の対象画素（画素３）についてのキャッシュヒット判定においてキャッシュヒットと判定された場合には、キャッシュ更新処理は実行されず、キャッシュメモリ１１６のキャッシュ状態は維持される（図１０（ｃ）参照）。さらに、画素３の次の対象画素（画素４）についてのキャッシュヒット判定においてキャッシュミスと判定された場合には、キャッシュ更新処理が開始される。このときのキャッシュ更新処理では、空きキャッシュメモリが無い（図８のステップＳ３１０：Ｎｏ）ため、図１０（ｄ）に示すように、格納時がより古いデータをキャッシュしているキャッシュメモリＡ１１６Ａにおいて、色変換データＣＤの入れ替えが行われる（図８のステップＳ３３０）。すなわち、キャッシュメモリＡ１１６Ａにおいて、キャッシュされていた近接色変換データ群（ＣＤ（１）〜（２７））が廃棄され、新たな対象画素に対応した近接色変換データ群（色変換データＣＤ’’（１）〜（２７））が格納される。
【００６８】
なお、ステップＳ３２０またはＳ３３０（図８）において近接色変換データ群を対象とした色変換データＣＤのキャッシュを行う際には、ステップＳ１６０（図７）で読み出した相当格子点ＳＰについての色変換データＣＤの他に、図９（ａ）に黒丸で示した格子点Ｐについての色変換データＣＤをＲＡＭ１２０から読み出す必要がある。この読み出しは、相当格子点ＳＰについての色変換データＣＤの読み出しとは独立して実行するとしてもよいし、ステップＳ１６０における相当格子点ＳＰについての色変換データＣＤの読み出しの際に併せて実行するとしてもよい。
【００６９】
また、ステップＳ３３０（図８）における色変換データＣＤの入替の際には、色変換データ群を構成するすべての色変換データＣＤの廃棄・格納が行われる必要はなく、入れ替え前後で重複する色変換データＣＤについては廃棄・格納が行われないとしてもよい。例えば、図９（ｂ）に黒丸で示す２７個の格子点Ｐの色変換データＣＤにより構成される色変換データ群がキャッシュメモリ１１６にキャッシュされているときに、図９（ｂ）に示す位置に相当格子点ＳＰが設定されたとする。このときの色変換データＣＤの入替は、図９（ｃ）に示すように、すでにキャッシュされている色変換データＣＤ（黒丸で示す格子点Ｐについての色変換データＣＤ）はそのままキャッシュメモリ１１６に残され、新たに対象六面体に含まれることとなる格子点Ｐ（相当格子点ＳＰおよびハッチングを付した格子点Ｐ）についての色変換データＣＤが新たにキャッシュされるとしてもよい。なお、対象六面体に含まれないこととなる格子点Ｐ（破線で示す格子点Ｐ）についての色変換データＣＤは廃棄される。
【００７０】
ステップＳ２１０（図７）では、色変換部２２０（図３）が、画像データＩＭＧ内のすべての画素を対象画素として選択したか否かを判定する。まだ未選択の画素があると判定された場合には、ステップＳ１１０に戻り、同様の処理を繰り返し実行する。一方、すべての画素を選択したと判定された場合には、処理を終了する。
【００７１】
以上説明したように、本実施例のプリンタ１００は、ＲＧＢ表色系で表現された画像データＩＭＧをＣＭＹＫ表色系で表現されたインク色画像データＩＮＫに変換する色変換処理を実行することができる。この色変換処理では、相当格子点ＳＰについての色変換データＣＤさえキャッシュ部１１２にキャッシュされていればキャッシュヒットとなり、ＲＡＭ１２０からの色変換データＣＤの読み出しが発生しない。また、キャッシュミスが発生した場合には、その時の対象画素の相当格子点ＳＰに対応する色変換データＣＤと、当該相当格子点ＳＰに近接する所定の格子点に対応する色変換データＣＤとを含む近接色変換データ群が新たにキャッシュされる。ここで、一般に、写真等の画像では、隣接画素の階調値は近似した値であることが多いため、ある対象画素に設定される相当格子点ＳＰは、前の対象画素に設定された相当格子点ＳＰに近接することとなる場合が多い。そのため、本実施例の色変換処理では、補間演算に用いる複数の格子点Ｐのすべてについての色変換データＣＤがキャッシュされている場合のみキャッシュヒットとなり１つでもキャッシュされていない場合にはＲＡＭ等からの色変換データＣＤの読み出しが発生する従来の色変換処理と比較して、キャッシュヒットの確率を大幅に向上させることができる。従って、本実施例のプリンタ１００による色変換処理では、処理の高速化を十分に実現することができる。
【００７２】
また、本実施例のプリンタ１００による色変換処理（図７）では、ＲＡＭ１２０からの相当格子点ＳＰについての色変換データＣＤの読み出しが行われる（ステップＳ１６０）毎に、すなわち、キャッシュミスが発生する（ステップＳ１５０：Ｎｏ）毎に、キャッシュ更新処理（ステップＳ１８０）が実行される。キャッシュ更新処理（図８）では、毎回、新たな近接色変換データ群のキャッシュが行われる。この新たな近接色変換データ群のキャッシュは、空きキャッシュメモリにおいて優先的に行われるが、空きキャッシュメモリが無い場合には、格納時がより古いデータをキャッシュしているキャッシュメモリ１１６において行われる。従って、本実施例のキャッシュ更新処理では、２つのキャッシュメモリ１１６から交互に選択された１つのキャッシュメモリ１１６において、新たな近接色変換データ群のキャッシュが行われる。選択されなかった他方のキャッシュメモリ１１６にキャッシュされていた近接色変換データ群は、廃棄されずに維持される。従って、本実施例では、キャッシュ更新処理において新たにキャッシュされた近接色変換データ群は、次回のキャッシュ更新処理の際に廃棄されることはなく、さらにその次のキャッシュ更新処理の際に廃棄される。
【００７３】
このようなキャッシュ更新処理を実行すると、例えば画像中のノイズのように、互いに近似した階調値を有する複数の画素で構成される領域（以下「正常画像領域」と呼ぶ）中に階調値の大きく異なるごく少数の画素が混在しているような場合にも、キャッシュヒットの確率を大きく高めることができる。すなわち、ノイズの画素が対象画素として選択された際にはキャッシュミスとなる可能性が高いものの、次に正常画像領域中の画素が対象画素として選択された際には、前回の正常画像領域中の画素に対応した相当格子点ＳＰについての近接色変換データ群がキャッシュメモリ１１６に保持されているため、キャッシュヒットとなる可能性が高い。そのため、本実施例のプリンタ１００による色変換処理では、処理の高速化をさらに十分に実現することができる。
【００７４】
同様に、このようなキャッシュ更新処理を実行すると、例えば画像中のエッジのように、互いに近似した階調値を有する複数の画素で構成される第１の領域と、第１の領域の階調値とは大きく異なる値であって互いに近似した階調値を有する複数の画素で構成される第２の領域との境界部分においても、キャッシュヒットの確率を大きく高めることができる。すなわち、第１の領域から第２の領域に切り替わる部分の画素が対象画素として選択された際にはキャッシュミスとなる可能性が高いものの、次の画素が対象画素として選択された際には、切り替わり部分の画素に対応した相当格子点ＳＰについての近接色変換データ群がキャッシュメモリ１１６に保持されているため、キャッシュヒットとなる可能性が高い。そのため、本実施例のプリンタ１００による色変換処理では、処理の高速化をさらに十分に実現することができる。
【００７５】
なお、本実施例では、図９（ａ）に示すように、３つの座標軸のすべてに沿って相当格子点ＳＰと重複または隣接する格子点Ｐについての色変換データＣＤのみをキャッシュしているため、キャッシュのための色変換データＣＤのＲＡＭ１２０やＲＯＭ１３０からの読み出しによる色変換処理の処理速度の低減が抑制される。
【００７６】
なお、図１１に示すように、相当格子点ＳＰの各軸に沿った階調値の少なくとも１つが０または２５５である場合には、図１１において黒丸で示すように、３つの座標軸のすべてに沿って相当格子点ＳＰと重複または隣接する格子点Ｐについての色変換データＣＤのみにより色変換データ群が構成されるとしてもよい。この場合には、色変換データ群に含まれる色変換データＣＤは、２７個よりも少なくなる。あるいは、図１１においてハッチングを付した格子点Ｐについての色変換データＣＤも含め、常に合計２７個の格子点Ｐについての色変換データＣＤにより色変換データ群が構成されるとしてもよい。
【００７７】
また、ステップＳ１５０（図７）のキャッシュヒット判定の際には、最も新しく格納された色変換データＣＤを有するキャッシュメモリ１１６を優先的に対象として行うことが好ましい。このようにすれば、キャッシュヒット判定の高速化を図ることができる。
【００７８】
Ｂ．第２実施例：
図１２は、第２実施例におけるキャッシュ更新処理の流れを示すフローチャートである。また、図１３は、第２実施例におけるキャッシュ更新処理の概念を示す説明図である。第２実施例は、色変換処理（図７）中のキャッシュ更新処理（図７のステップＳ１８０）の内容が第１実施例とは異なっている。
【００７９】
また、図１３に示すように、第２実施例では、キャッシュメモリＡ１１６Ａは、第１実施例（図１０）と同様に、近接色変換データ群を格納することができるように構成されている。一方、キャッシュメモリＢ１１６Ｂは、１つの色変換データＣＤのみを格納できるように構成されている。
【００８０】
ステップＳ４１０（図１２）では、キャッシュ部１１２のキャッシュコントローラ１１４（図１）が、直前のキャッシュ更新処理においてキャッシュメモリＡ１１６Ａに近接色変換データ群の格納が行われたか否かを判定する。ステップＳ４１０の判定において、キャッシュメモリＡ１１６Ａに近接色変換データ群の格納が行われたと判定された場合には、キャッシュコントローラ１１４（図１）は、キャッシュメモリＢ１１６Ｂに、相当格子点ＳＰについての色変換データＣＤのみを格納する（ステップＳ４３０）。
【００８１】
ステップＳ４２０（図１２）では、キャッシュコントローラ１１４（図１）が、現在選択されている対象画素の１つ前に選択された対象画素を対象とした色変換処理中のキャッシュヒット判定（図７のステップＳ１５０）の結果がキャッシュヒットであったか否かを判定する。すなわち、１つ前に選択された対象画素を対象とした色変換処理において、キャッシュメモリ１１６にキャッシュされた近接色変換データ群に含まれる色変換データＣＤが用いられたか否かが判定される。ステップＳ４２０の判定において、キャッシュヒットであった（ステップＳ４２０：Ｙｅｓ）と判定された場合には、キャッシュコントローラ１１４（図１）は、キャッシュメモリＢ１１６Ｂに、相当格子点ＳＰについての色変換データＣＤのみを格納する（ステップＳ４３０）。
【００８２】
一方、ステップＳ４２０（図１２）の判定において、キャッシュヒットではなかった（ステップＳ４２０：Ｎｏ）と判定された場合には、キャッシュコントローラ１１４は、キャッシュメモリＡ１１６Ａに近接色変換データ群を格納する（ステップＳ４４０）。
【００８３】
図１３（ａ）には、ある対象画素（画素１）についてのキャッシュヒット判定（図７のステップＳ１５０）においてキャッシュミスと判定され、キャッシュ更新処理（ステップＳ１８０）においてキャッシュメモリＡ１１６Ａに新たに近接色変換データ群（ＣＤ（１）〜（２７））がキャッシュされている様子を示している。また、図１３（ｂ）には、次の対象画素（画素２）についてのキャッシュヒット判定においてキャッシュヒットと判定された場合のキャッシュメモリ１１６の状態を示している。キャッシュヒットと判定された場合にはキャッシュ更新処理は実行されず、キャッシュメモリ１１６のキャッシュ状態は、図１３（ａ）に示した状態のまま維持される。
【００８４】
画素２の次の対象画素（画素３）についてのキャッシュヒット判定においてキャッシュミスと判定された場合には、キャッシュ更新処理が開始される。このときのキャッシュ更新処理では、ステップＳ４１０（図１２）において、直前のキャッシュ更新処理（図１３（ａ）参照）においてキャッシュメモリＡ１１６Ａに近接色変換データ群の格納が行われたと判定されるため、図１３（ｃ）に示すように、キャッシュメモリＢ１１６Ｂに相当格子点ＳＰについての色変換データＣＤのみがキャッシュされる（図１２のステップＳ４３０）。
【００８５】
画素３の次の対象画素（画素４）についてのキャッシュヒット判定においてキャッシュヒットと判定され（図１３（ｄ））、さらに、次の対象画素（画素５）についてのキャッシュヒット判定においてキャッシュミスと判定されたとする（図１３（ｅ））。このときのキャッシュ更新処理では、ステップＳ４１０（図１２）において、直前のキャッシュ更新処理（図１３（ｃ）参照）においてキャッシュメモリＡ１１６Ａに近接色変換データ群の格納は行われなかったと判定される。また、ステップＳ４２０の判定において、１つ前に選択された対象画素を対象とした色変換処理中のキャッシュヒット判定の結果がキャッシュヒットであった（図１３（ｄ）参照）と判定される。そのため、この場合にも、図１３（ｅ）に示すように、キャッシュメモリＢ１１６Ｂに相当格子点ＳＰについての色変換データＣＤのみがキャッシュされる（図１２のステップＳ４３０）。
【００８６】
画素５の次の対象画素（画素６）についてのキャッシュヒット判定においてキャッシュミスと判定されたとする（図１３（ｆ））。このときのキャッシュ更新処理では、ステップＳ４１０（図１２）において、直前のキャッシュ更新処理（図１３（ｅ）参照）においてキャッシュメモリＡ１１６Ａに近接色変換データ群の格納は行われなかったと判定され、かつ、ステップＳ４２０の判定において、１つ前に選択された対象画素を対象とした色変換処理中のキャッシュヒット判定の結果がキャッシュヒットではなかった（図１３（ｅ）参照）と判定される。そのため、この場合には、キャッシュメモリＡ１１６Ａに近接色変換データ群がキャッシュされる（図１２のステップＳ４４０）。
【００８７】
以上説明したように、第２実施例においても、ＲＡＭ１２０からの相当格子点ＳＰについての色変換データＣＤの読み出しが行われる（図７のステップＳ１６０）毎に、すなわち、キャッシュミスが発生する（図７のステップＳ１５０：Ｎｏ）毎に、キャッシュ更新処理（ステップＳ１８０）が実行される。第２実施例のキャッシュ更新処理（図１２）では、直前のキャッシュ更新処理においてキャッシュメモリＡ１１６Ａに近接色変換データ群の格納が行われた場合（図１２のステップＳ４１０：Ｙｅｓ）には、キャッシュメモリＢ１１６Ｂにおける相当格子点ＳＰについての色変換データＣＤの格納のみが行われ（ステップＳ４３０）、キャッシュメモリＡ１１６Ａにおける近接色変換データ群の入れ替えは行われない。そのため、キャッシュ更新処理において新たに近接色変換データ群が新たにキャッシュされた場合には、次回のキャッシュ更新処理の際に、新たにキャッシュされた近接色変換データ群が廃棄されることがない。
【００８８】
また、第２実施例のキャッシュ更新処理では、１つ前に選択された対象画素を対象とした色変換処理中のキャッシュヒット判定（図７のステップＳ１５０）の結果がキャッシュヒットであった場合（図１２のステップＳ４２０：Ｙｅｓ）、すなわち、１つ前に選択された対象画素を対象とした色変換処理においてキャッシュメモリ１１６にキャッシュされた近接色変換データ群に含まれる色変換データＣＤが用いられた場合には、やはり、キャッシュメモリＢ１１６Ｂにおける相当格子点ＳＰについての色変換データＣＤの格納のみが行われ（ステップＳ４３０）、キャッシュメモリＡ１１６Ａにおける近接色変換データ群の入れ替えは行われない。そのため、第２実施例のキャッシュ更新処理では、少なくとも２つの連続した対象画素についてのキャッシュ判定においてキャッシュミスと判定されない限り、キャッシュメモリＡ１１６Ａにキャッシュされた近接色変換データ群は廃棄されず維持される。
【００８９】
このようなキャッシュ更新処理を実行すると、第１実施例と同様に、例えば画像中のノイズのように、互いに近似した階調値を有する複数の画素で構成される領域（正常画像領域）中に階調値の大きく異なるごく少数の画素が混在しているような場合にも、キャッシュヒットの確率を大きく高めることができる。すなわち、ノイズの画素が対象画素として選択された際にはキャッシュミスとなる可能性が高いものの、次に正常画像領域中の画素が対象画素として選択された際には、前回の正常画像領域中の画素に対応した相当格子点ＳＰについての近接色変換データ群がキャッシュメモリ１１６に保持されているため、キャッシュヒットとなる可能性が高い。そのため、本実施例のプリンタ１００による色変換処理では、処理の高速化をさらに十分に実現することができる。
【００９０】
また、第２実施例では、キャッシュメモリＢ１１６Ｂを、１つの色変換データＣＤのみを格納可能に構成すればよいため、容量の限られたリソースを用いた色変換処理においても、処理の高速化を実現することができる。
【００９１】
Ｃ．第３実施例：
図１４は、第３実施例におけるプリンタ１００ａの構成を概略的に示す説明図である。第３実施例のプリンタ１００ａは、キャッシュ部１１２が、３つのキャッシュメモリ１１６（キャッシュメモリＡ１１６Ａ、キャッシュメモリＢ１１６Ｂ、キャッシュメモリＣ１１６Ｃ）を含んでいる点が、図１に示した第１実施例のプリンタ１００とは異なっている。
【００９２】
図１５は、第３実施例におけるキャッシュ更新処理の流れを示すフローチャートである。また、図１６は、第３実施例におけるキャッシュ更新処理の概念を示す説明図である。第３実施例は、色変換処理（図７）中のキャッシュ更新処理（図７のステップＳ１８０）の内容が第１実施例とは異なっている。
【００９３】
また、第３実施例では、図１６に示すように、キャッシュメモリＡ１１６ＡおよびキャッシュメモリＣ１１６Ｃは、近接色変換データ群を格納することができるように構成されている。一方、キャッシュメモリＢ１１６Ｂは、１つの色変換データＣＤのみを格納できるように構成されている。
【００９４】
ステップＳ５１０（図１５）では、キャッシュ部１１２のキャッシュコントローラ１１４（図１４）が、キャッシュメモリＡ１１６ＡまたはキャッシュメモリＣ１１６Ｃは空きキャッシュメモリであるか否かを判定する。キャッシュメモリＡ１１６ＡまたはキャッシュメモリＣ１１６Ｃが空きキャッシュメモリであると判定された場合には、空きキャッシュメモリに近接色変換データ群を構成する色変換データＣＤを格納する（ステップＳ５２０）。一方、キャッシュメモリＡ１１６ＡおよびキャッシュメモリＣ１１６Ｃのいずれも空きキャッシュメモリではないと判定された場合には、ステップＳ５３０に進む。
【００９５】
ステップＳ５３０（図１５）では、キャッシュコントローラ１１４（図１４）が、直前のキャッシュ更新処理においてキャッシュメモリＡ１１６ＡまたはキャッシュメモリＣ１１６Ｃに近接色変換データ群の格納が行われたか否かを判定する。ステップＳ５３０の判定において、近接色変換データ群の格納が行われたと判定された場合には、キャッシュコントローラ１１４は、キャッシュメモリＢ１１６Ｂに、相当格子点ＳＰについての色変換データＣＤのみを格納する（ステップＳ５５０）。
【００９６】
ステップＳ５４０（図１５）では、キャッシュコントローラ１１４（図１４）が、現在選択されている対象画素の１つ前に選択された対象画素を対象とした色変換処理中のキャッシュヒット判定（図７のステップＳ１５０）の結果がキャッシュヒットであったか否かを判定する。すなわち、１つ前に選択された対象画素を対象とした色変換処理において、キャッシュメモリ１１６にキャッシュされた近接色変換データ群に含まれる色変換データＣＤが用いられたか否かが判定される。ステップＳ５３０の判定において、キャッシュヒットであった（ステップＳ５４０：Ｙｅｓ）と判定された場合には、キャッシュコントローラ１１４は、キャッシュメモリＢ１１６Ｂに、相当格子点ＳＰについての色変換データＣＤのみを格納する（ステップＳ５５０）。一方、ステップＳ５４０（図１５）の判定において、キャッシュヒットではなかった（ステップＳ５４０：Ｎｏ）と判定された場合には、ステップＳ５６０に進む。
【００９７】
ステップＳ５６０（図１５）では、キャッシュコントローラ１１４（図１４）が、キャッシュメモリＡ１１６ＡまたはキャッシュメモリＣ１１６Ｃの内、キャッシュメモリ１１６への格納時がより古い（より前である）データをキャッシュしているキャッシュメモリ１１６において、色変換データＣＤの入れ替えを行う。
【００９８】
図１６（ａ）には、ある対象画素（画素１）についてのキャッシュヒット判定（図７のステップＳ１５０）においてキャッシュミスと判定され、キャッシュ更新処理においてキャッシュメモリＡ１１６Ａに新たに近接色変換データ群（ＣＤ（１）〜（２７））がキャッシュされている様子を示している。
【００９９】
画素１の次の対象画素（画素２）についてのキャッシュヒット判定においてキャッシュミスと判定された場合には、キャッシュ更新処理が開始される。このときのキャッシュ更新処理では、ステップＳ５３０（図１５）において、直前のキャッシュ更新処理（図１６（ａ）参照）において近接色変換データ群の格納が行われたと判定されるため、図１６（ｂ）に示すように、キャッシュメモリＢ１１６Ｂに相当格子点ＳＰについての色変換データＣＤのみがキャッシュされる（図１５のステップＳ５５０）。
【０１００】
さらに、画素２の次の対象画素（画素３）についてのキャッシュヒット判定においてキャッシュミスと判定された場合には、キャッシュ更新処理が開始される。このときのキャッシュ更新処理では、ステップＳ５３０（図１５）において、直前のキャッシュ更新処理（図１６（ｂ）参照）において近接色変換データ群の格納は行われなかったと判定される。また、ステップＳ５４０の判定において、１つ前に選択された対象画素を対象とした色変換処理中のキャッシュヒット判定の結果がキャッシュヒットではなかった（図１６（ｂ）参照）と判定される。そのため、この場合には、キャッシュメモリＡ１１６ＡまたはキャッシュメモリＣ１１６Ｃの内、キャッシュメモリ１１６への格納時がより古いデータをキャッシュしているキャッシュメモリＣ１１６Ｃに近接色変換データ群がキャッシされる（図１５のステップＳ５６０）。
【０１０１】
また、例えば、画素２（図１６（ｂ））と画素３（図１６（ｃ））との間に、他の画素（画素ｓ）が存在し、画素ｓを対象とした色変換処理中のキャッシュヒット判定の結果がキャッシュヒットであったとする。この場合には、ステップＳ５４０（図１５）の判定において、１つ前に選択された対象画素を対象とした色変換処理中のキャッシュヒット判定の結果がキャッシュヒットであったと判定される。そのため、この場合には、キャッシュメモリＢ１１６Ｂに相当格子点ＳＰについての色変換データＣＤのみがキャッシュされる（図１５のステップＳ５５０）。
【０１０２】
以上説明したように、第３実施例においても、ＲＡＭ１２０からの相当格子点ＳＰについての色変換データＣＤの読み出しが行われる（図７のステップＳ１６０）毎に、すなわち、キャッシュミスが発生する（図７のステップＳ１５０：Ｎｏ）毎に、キャッシュ更新処理（ステップＳ１８０）が実行される。第３実施例のキャッシュ更新処理（図１５）では、直前のキャッシュ更新処理において近接色変換データ群の格納が行われた場合（図１５のステップＳ５３０：Ｙｅｓ）には、キャッシュメモリＢ１１６Ｂにおける相当格子点ＳＰについての色変換データＣＤの格納のみが行われ（ステップＳ５５０）、近接色変換データ群の入れ替えは行われない。そのため、キャッシュ更新処理において新たに近接色変換データ群がキャッシュされた場合には、次回のキャッシュ更新処理の際に、新たにキャッシュされた近接色変換データ群が廃棄されることがない。
【０１０３】
また、第３実施例のキャッシュ更新処理では、１つ前に選択された対象画素を対象とした色変換処理中のキャッシュヒット判定（図７のステップＳ１５０）の結果がキャッシュヒットであった場合（図１５のステップＳ５４０：Ｙｅｓ）、すなわち、１つ前に選択された対象画素を対象とした色変換処理においてキャッシュメモリ１１６にキャッシュされた近接色変換データ群に含まれる色変換データＣＤが用いられた場合には、やはり、キャッシュメモリＢ１１６Ｂにおける相当格子点ＳＰについての色変換データＣＤの格納のみが行われ（ステップＳ５５０）、近接色変換データ群の入れ替えは行われない。そのため、第３実施例のキャッシュ更新処理では、少なくとも２つの連続した対象画素についてのキャッシュ判定においてキャッシュミスと判定されない限り、近接色変換データ群は廃棄されず維持される。
【０１０４】
また、第３実施例のキャッシュ更新処理では、１つ前に選択された対象画素を対象とした色変換処理中のキャッシュヒット判定の結果がキャッシュヒットではなかった場合（図１５のステップＳ５４０：Ｎｏ）には、格納時がより古いデータをキャッシュしているキャッシュメモリ１１６において近接色変換データ群の入れ替えが行われる。
【０１０５】
このようなキャッシュ更新処理を実行すると、第１実施例と同様に、例えば画像中のノイズのように、互いに近似した階調値を有する複数の画素で構成される領域（正常画像領域）中に階調値の大きく異なるごく少数の画素が混在しているような場合にも、キャッシュヒットの確率を大きく高めることができる。すなわち、ノイズの画素が対象画素として選択された際にはキャッシュミスとなる可能性が高いものの、次に正常画像領域中の画素が対象画素として選択された際には、前回の正常画像領域中の画素に対応した相当格子点ＳＰについての近接色変換データ群がキャッシュメモリ１１６に保持されているため、キャッシュヒットとなる可能性が高い。そのため、本実施例のプリンタ１００による色変換処理では、処理の高速化をさらに十分に実現することができる。
【０１０６】
また、第１実施例と同様に、このようなキャッシュ更新処理を実行すると、例えば画像中のエッジのように、互いに近似した階調値を有する複数の画素で構成される第１の領域と、第１の領域の階調値とは大きく異なる値であって互いに近似した階調値を有する複数の画素で構成される第２の領域との境界部分においても、キャッシュヒットの確率を大きく高めることができる。すなわち、第１の領域から第２の領域に切り替わる部分の画素が対象画素として選択された際にはキャッシュミスとなる可能性が高いものの、次の画素が対象画素として選択された際には、切り替わり部分の画素に対応した相当格子点ＳＰについての近接色変換データ群がキャッシュメモリ１１６に保持されているため、キャッシュヒットとなる可能性が高い。そのため、本実施例のプリンタ１００による色変換処理では、処理の高速化をさらに十分に実現することができる。
【０１０７】
Ｄ．第４実施例：
図１７は、第４実施例における色変換処理の流れを示すフローチャートである。図１７に示す第４実施例の色変換処理のステップＳ１１０からＳ１７０までの処理は、図７に示す第１実施例の色変換処理のステップＳ１１０からＳ１７０までの処理と同じ内容である。すなわち、対象画素の選択およびプレ変換が行われ、キャッシュ判定（ステップＳ１５０）が行われる。キャッシュミスの場合には、ＲＡＭ１２０から色変換データＣＤが読み出され、インク色階調値が決定される。
【０１０８】
その後のステップＳ１８０（図１７）では、キャッシュ部１１２のキャッシュコントローラ１１４（図１）が、キャッシュ更新処理を行う。このキャッシュ更新処理は、図８に示した第１実施例と同様に行われるが、第４実施例では、近接色変換データ群を構成する色変換データＣＤが第１実施例とは異なっている。図１８は、第４実施例における近接色変換データ群の概念を示す説明図である。第４実施例では、図１８（ａ）に示す六面体（対象六面体）に含まれる合計６４個の格子点Ｐについての色変換データＣＤによって近接色変換データ群が構成される。この対象六面体は、内部に対象画素の相当格子点ＳＰを含む８個の格子点Ｐを含むと共に、表面に５６個の格子点Ｐを含む六面体である。なお、図１８では、格子点Ｐの配置をわかりやすくするために、格子点Ｐを色を分けて表現したり、特定の１つの座標軸に垂直な平面にハッチングを付したりしている。
【０１０９】
また、図１７に示す第４実施例の色変換処理のステップＳ１９０からＳ２００までの処理は、図７に示す第１実施例の色変換処理のステップＳ１９０からＳ２００までの処理と同じ内容である。すなわち、キャッシュ判定（ステップＳ１５０）においてキャッシュヒットの場合には、キャッシュメモリ１１６から色変換データＣＤが読み出され、インク色階調値が決定される。
【０１１０】
その後のステップＳ２２０（図１７）では、キャッシュ部１１２のキャッシュコントローラ１１４（図１）が、相当格子点ＳＰは最外格子点であるか否かを判定する。ここで、最外格子点とは、キャッシュ部１１２のキャッシュメモリ１１６にキャッシュされている近接色変換データ群に含まれる色変換データＣＤに対応する格子点Ｐであって、第１の表色系（ＲＧＢ表色系）を表す色空間の各軸方向に沿って当該格子点Ｐと隣接する少なくとも１つの格子点Ｐについての色変換データＣＤが当該近接色変換データ群に含まれない格子点Ｐを意味している。すなわち、最外格子点は、対象六面体の表面に位置する格子点Ｐである。ステップＳ２２０において相当格子点ＳＰが最外格子点ではない（すなわち、対象六面体の内部に位置する格子点Ｐである）と判定された場合には、ステップＳ２１０に進む。一方、ステップＳ２２０において相当格子点ＳＰが最外格子点である（すなわち、対象六面体の表面に位置する格子点Ｐである）と判定された場合には、キャッシュコントローラ１１４によるキャッシュ更新処理（ステップＳ２３０）が行われる。
【０１１１】
ステップＳ２３０におけるキャッシュ更新処理の概念を図１８（ｂ）に示す。キャッシュメモリ１１６におけるキャッシュ状態が図１８（ａ）に示す状態のときに図１８（ｂ）に示す位置に相当格子点ＳＰが設定された場合、相当格子点ＳＰは最外格子点に該当することとなる。このとき、キャッシュコントローラ１１４は、相当格子点ＳＰが最外格子点に該当しなくなるように、キャッシュ状態の更新を行う。具体的には、図１８（ｂ）においてハッチングを付した１６個の格子点Ｐについての色変換データＣＤが新たにキャッシュされる。代わりに破線で示した１６個の格子点Ｐについての色変換データＣＤが削除される。すなわち、キャッシュコントローラ１１４は、相当格子点ＳＰが対象六面体の表面に位置しなくなるように、キャッシュ状態の更新を行う。
【０１１２】
なお、第４実施例の色変換処理においても、第１実施例において図９を用いて説明したように、相当格子点ＳＰの各軸に沿った階調値の少なくとも１つが０または２５５である場合には、６４個よりも少ない格子点Ｐについての色変換データＣＤのみをキャッシュするとしてもよい。あるいは、常に合計６４個の格子点Ｐについての色変換データＣＤをキャッシュするとしてもよい。
【０１１３】
以上説明したように、第４実施例の色変換処理では、キャッシュヒットの場合でも、相当格子点ＳＰが最外格子点に該当する場合には、相当格子点ＳＰが最外格子点に該当しなくなるようにキャッシュ状態の更新を行う。上述したように、写真等の画像では、隣接画素の階調値は近似した値であることが多いため、ある対象画素に設定される相当格子点ＳＰは１つ前の対象画素に設定された相当格子点ＳＰに近接することとなる場合が多い。従って、相当格子点ＳＰが最外格子点に該当しないようにキャッシュ状態を更新すると、そのようなキャッシュ状態の更新を行わない場合と比較して、次回のポスト変換におけるキャッシュヒットの確率をより高めることができる。従って、第４実施例の色変換処理では、処理の高速化をより十分に実現することができる。
【０１１４】
Ｅ．変形例：
なお、この発明は上記の実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば次のような変形も可能である。
【０１１５】
Ｅ１．変形例１：
上記各実施例では、画像処理装置がプリンタ１００として構成されているが、本発明は、プリンタ１００以外の色変換処理を行う画像処理装置にも適用可能である。例えば、画像処理装置をコンピュータとして構成することも可能である。
【０１１６】
また、上記各実施例における色変換処理は、ＲＧＢ表色系で表現された画像データからＣＭＹＫ表色系で表現された画像データへの変換処理であるが、本発明は、他の色変換処理にも適用可能である。例えば、本発明は、スキャナで使用されるＲＧＢ表色系で表現された画像データからモニタで使用されるＲＧＢ表色系で表現された画像データへの色変換処理にも適用できる。
【０１１７】
Ｅ２．変形例２：
上記各実施例におけるプリンタ１００の構成は、あくまで一例であり、プリンタ１００の構成を他の構成とすることも可能である。例えば、プリンタ１００のキャッシュ部１１２は、近接色変換データ群を格納可能な３つ以上のキャッシュメモリ１１６を含んでいるとしてもよい。また、キャッシュ部１１２は、物理的に１つのキャッシュメモリ１１６に複数のキャッシュ領域を設定し、設定された複数のキャッシュ領域のそれぞれを独立したキャッシュ領域として使用することにより、上記各実施例と同様のキャッシュ更新処理を実行するとしてもよい。
【０１１８】
また、プリンタ１００は、ネットワークを介して画像データＩＭＧを取得可能な構成であるとしてもよい。また、プリンタ１００のプリンタエンジン１６０において用いられるインク色はＣＭＹＫの４色に限られず、任意の種類のインク色を採用可能である。また、上記各実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部をハードウェアに置き換えるようにしてもよい。
【０１１９】
Ｅ３．変形例３：
上記各実施例におけるキャッシュ更新処理の内容はあくまで一例であり、キャッシュ更新処理の内容を他の内容に変形することも可能である。例えば、近接色変換データ群を構成する色変換データＣＤの数は、２７個や６４個に限られず、任意の数に設定することができる。また、近接色変換データ群を構成する色変換データＣＤは、所定の大きさの六面体に含まれる格子点Ｐについての色変換データＣＤである必要はなく、例えば、相当格子点ＳＰを中心とする球の表面および内部に含まれる格子点Ｐについての色変換データＣＤであるとしてもよい。
【０１２０】
Ｅ４．変形例４：
上記各実施例では、プレ変換テーブルの参照で得られた仮の格子点入力階調値ＬＩから最終的な格子点入力階調値ＦＬＩを決定する際に、付加小数ＡＦにランダムノイズＲＮを加算していたが、付加小数ＡＦの代わりに他の付加的な値を用いて最終的な格子点入力階調値を決定するようにしてもよい。例えば、付加的な値として、所定のビット数の整数値を入力階調値に応じて付与しておき、これにランダムノイズを加算した加算結果と所定の閾値とを比較することによって最終的な格子点入力階調値ＦＬＩを決定するようにしてもよい。本明細書では、最終的な格子点入力階調値ＦＬＩを決定するための付加的な値を「付加判定値」と呼ぶ。
【０１２１】
Ｅ５．変形例５：
上記各実施例で使用したプレ変換方法の代わりに、他のプレ変換方法を使用することも可能である。例えば、上記各実施例ではランダムにノイズを発生させていたが、ディザパターンのような所定のノイズパターンに従ってノイズを発生させるようにしてもよい。また、誤差拡散法を利用してプレ変換を行うとしてもよい。プレ変換としては、入力画像データの階調値を色変換ＬＵＴ３２０の複数の格子点Ｐの内の１つである相当格子点ＳＰの階調値に確率的に変換する変換方法を採用することが可能である。
【０１２２】
Ｅ６．変形例６：
上記各実施例における色変換データＣＤの構成は、あくまで一例であり、色変換データＣＤを他の構成とすることも可能である。例えば、色変換ＬＵＴ３２０の各格子点Ｐに識別番号を付し、色変換データＣＤを識別番号と出力階調値との対応を示すデータとして構成してもよい。この場合にも、色変換データＣＤは、識別番号を介して、第１の表色系における入力階調値と第２の表色系における出力階調値とを対応付けるデータとなる。
【図面の簡単な説明】
【０１２３】
【図１】本発明の第１実施例における画像処理装置としてのプリンタ１００の構成を概略的に示す説明図である。
【図２】色変換ＬＵＴ３２０の一例を示す説明図である。
【図３】色変換部２２０の詳細構成を示す説明図である。
【図４】プレ変換部２６０によるプレ変換の概要を示す説明図である。
【図５】プレ変換テーブル３１０の一例を示す説明図である。
【図６】ポスト変換部２７０によるポスト変換の概要を示す説明図である。
【図７】プリンタ１００による画像の印刷処理の内の色変換処理の流れを示すフローチャートである。
【図８】第１実施例におけるキャッシュ更新処理の流れを示すフローチャートである。
【図９】第１実施例における近接色変換データ群の概念を示す説明図である。
【図１０】第１実施例におけるキャッシュ更新処理の概念を示す説明図である。
【図１１】相当格子点ＳＰの各軸に沿った階調値の少なくとも１つが０または２５５である場合のキャッシュ処理の概念を示す説明図である。
【図１２】第２実施例におけるキャッシュ更新処理の流れを示すフローチャートである。
【図１３】第２実施例におけるキャッシュ更新処理の概念を示す説明図である。
【図１４】第３実施例におけるプリンタ１００ａの構成を概略的に示す説明図である。
【図１５】第３実施例におけるキャッシュ更新処理の流れを示すフローチャートである。
【図１６】第３実施例におけるキャッシュ更新処理の概念を示す説明図である。
【図１７】第４実施例における色変換処理の流れを示すフローチャートである。
【図１８】第４実施例における近接色変換データ群の概念を示す説明図である。
【符号の説明】
【０１２４】
１００…プリンタ
１１０…ＣＰＵ
１１２…キャッシュ部
１１４…キャッシュコントローラ
１１６…キャッシュメモリ
１２０…ＲＡＭ
１３０…ＲＯＭ
１４０…操作部
１５０…表示部
１６０…プリンタエンジン
１７０…カードインターフェース
１７２…カードスロット
１７４…メモリカード
２００…印刷処理プログラム
２１０…解像度変換部
２２０…色変換部
２３０…ハーフトーン処理部
２４０…データ配列部
２６０…プレ変換部
２６２…テーブル参照部
２６４…ランダムノイズ加算部
２６６…相当格子点決定部
２７０…ポスト変換部
３１０…プレ変換テーブル
３２０…色変換ＬＵＴ
【図１】
2007281764.tif 000003
【図２】
2007281764.tif 000004
【図３】
2007281764.tif 000005
【図４】
2007281764.tif 000006
【図５】
2007281764.tif 000007
【図６】
2007281764.tif 000008
【図７】
2007281764.tif 000009
【図８】
2007281764.tif 000010
【図９】
2007281764.tif 000011
【図１０】
2007281764.tif 000012
【図１１】
2007281764.tif 000013
【図１２】
2007281764.tif 000014
【図１３】
2007281764.tif 000015
【図１４】
2007281764.tif 000016
【図１５】
2007281764.tif 000017
【図１６】
2007281764.tif 000018
【図１７】
2007281764.tif 000019
【図１８】
2007281764.tif 000020