(57)【要約】【課題】色変換時のキャッシュ処理に関し、キャッシュヒット率を向上させ、色変換処理の効率化を図る画像処理装置及び画像処理方法並びにプログラム及び記録媒体を提供する。【解決手段】複数の要素色により表現される第１の画像データを他の複数の要素色により表現される第２の画像データに変換する画像処理装置に、入力された第１の画像データに基づいて、色変換を行う色の特性と人間の視覚特性とに基づいて決定される複数の要素色の配分率に基づきハッシュ値を作成する手段と、ハッシュ値に対応して、第１の画像データと第２の画像データとの対応関係が示された色変換テーブルと、色変換テーブルに基づいて、作成されたハッシュ値に対応する第２の画像データに色変換を行う手段とを備え、作成されたハッシュ値が色変換テーブルにない場合に、該ハッシュ値と、第１の画像データと第２の画像データとの対応関係とを、色変換テーブルに追加することにより達成する。【選択図】図２
2008078820.tif 000002
【特許請求の範囲】
【請求項１】
複数の要素色により表現される第１の画像データを他の複数の要素色により表現される第２の画像データに色変換を行う画像処理装置であって、
画素毎に入力された第１の画像データに基づいて、色変換を行う色の特性と、人間の視覚特性に基づいて決定される複数の要素色の配分率に基づいて、前記複数の要素色が配分されたハッシュ値を作成するハッシュ値作成手段と、
前記ハッシュ値に対応して、前記ハッシュ値を作成した第１の画像データと第２の画像データとの対応関係が設定された色変換テーブルと、
前記色変換テーブルに基づいて、前記ハッシュ値作成手段により作成されたハッシュ値に対応する第２の画像データに色変換を行う色変換手段と
を備え、
前記色変換手段は、前記ハッシュ値作成手段により作成されたハッシュ値が、前記色変換テーブルにない場合に、該ハッシュ値と、該ハッシュ値を作成した第１の画像データと第２の画像データとの対応関係とを、前記色変換テーブルに追加することを特徴とする画像処理装置。
【請求項２】
請求項１に記載の画像処理装置において、
前記ハッシュ値作成手段は、ＮＴＳＣ方式のグレイスケール変換式におけるＲＧＢの色配分率に基づいて、前記複数の第１の要素色を配分したハッシュ関数により、ハッシュ値を求めることを特徴とする画像処理装置。
【請求項３】
請求項２に記載の画像処理装置において、
前記ハッシュ値作成手段は、各ＲＧＢの画素値の下位ビット側を、前記配分率に基づいて配分したハッシュ関数により、ハッシュ値を求めることを特徴とする画像処理装置。
【請求項４】
請求項２に記載の画像処理装置において、
前記ハッシュ値作成手段は、各ＲＧＢの画素値の上位ビット側を、前記配分率に基づいて配分したハッシュ関数により、ハッシュ値を求めることを特徴とする画像処理装置。
【請求項５】
請求項３に記載のの画像処理装置において、
前記ハッシュ値作成手段は、各ＲＧＢの画素値の各ビットのうちの少なくとも一部が、重複するハッシュ関数により、ハッシュ値を求めることを特徴とする画像処理装置。
【請求項６】
複数の要素色により表現される第１の画像データを他の複数の要素色により表現される第２の画像データに色変換を行う画像処理装置における画像処理方法であって、
画素毎に入力された第１の画像データに基づいて、色変換を行う色の特性と、人間の視覚特性に基づいて決定される複数の要素色の配分率に基づいて、前記複数の要素色が配分されたハッシュ値を作成するハッシュ値作成ステップと、
前記ハッシュ値に対応して、前記ハッシュ値を作成した第１の画像データと第２の画像データとの対応関係が設定された色変換テーブルに基づいて、前記ハッシュ値作成ステップにより作成されたハッシュ値に対応する第２の画像データに色変換を行う色変換ステップと、
前記ハッシュ値作成ステップにより作成されたハッシュ値が、前記色変換テーブルにない場合に、該ハッシュ値と、該ハッシュ値を作成した第１の画像データと第２の画像データとの対応関係とを、前記色変換テーブルに追加する追加ステップと
を有することを特徴とする画像処理方法。
【請求項７】
請求項６に記載の画像処理方法をコンピュータに実行させるためのプログラム。
【請求項８】
請求項７に記載のプログラムを記録したコンピュータ読取可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリンタコントローラ内での色変換において、ＲＧＢ系からＣＭＹＫ系に変換を行う画像処理装置及び画像処理方法並びにプログラム及び記録媒体に関する。
【背景技術】
【０００２】
ページ記述言語（ＰＤＬ：  Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）の描画処理において、入力された色空間のデータ、例えばＲＧＢを、デバイスの色空間のデータ、例えばＣＭＹＫに変換する必要がある。ページ記述言語とは、ページプリンタで印刷するとき、プリンタにページ単位で印刷イメージを指示する言語である。
【０００３】
この場合に色変換には、カラーマッチング、ＲＧＢ系から出力の色空間、例えばＣＭＹ系への変換処理（ＲＧＢ→ＣＭＹ変換）、ＢＧ／ＵＣＲ処理、γ変換処理、総量規制等、多くの処理が含まれている。 特に、イメージデータにおいては、データの１ピクセル（ｐｉｘｅｌ）毎に、これら多くの色変換処理を行う必要があり、演算処理コストが非常に高い。一方、自然画像のようなイメージデータにおいては、隣接する画素同士は近い色を持つことが多いという特性があり、全く同じ色が複数連続していることも少なくない。
【０００４】
そこで、従来は、上記イメージデータにおける隣接画素の色の特性を利用して、色変換を行う画素の元ＲＧＢ色と、ＣＭＹＫ変換後の色を保存しておき、 次の画素の処理で色変換結果を再利用する、いわゆる「前画素キャッシュ」を行うことで、隣接する同一色の色変換処理を削減していた。このキャッシュ処理においては、キャッシュヒット率を向上させるために、ハッシュ関数とキャッシュエントリ数とを工夫することが重要である。この「前画素キャッシュ」で言えば、キャッシュエントリ数は「１」、ハッシュ関数は「元ＲＧＢ色値（画素値）そのもの」である。
【０００５】
また、多値の画像データを各ＰＩＸＥＬごとに指定された色変換テーブルにより色変換処理を行い、かつ指定された閾値マトリックスによりハーフトーン処理を行い、色変換処理装置においては、入力画素の上位Ｎビットと、分割された多面体の種類で選択される格子点データをキャッシュに格納することにより、キャッシュのヒット率を向上させ、大きな色変換テーブルを有することなく、プリンタの画像処理の高速化を実現する画像処理装置が開示されている（例えば、特許文献１参照）。
【０００６】
この画像処理装置によれば、ＣＰＵからの画像処理装置の起動が少なくなるため、アイドルタイムが少なく、画像処理装置が画像処理を行っている間、ＣＰＵは次のバンドを作成することができ、ＣＰＵと画像処理装置の並列処理が可能となり、画像処理全体を高速化することができる。
【特許文献１】特開２００４−２４２２１３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、上述した画像処理装置では、以下の問題がある。
【０００８】
プリンタコントローラ内での色変換において、ＲＧＢ系からＣＭＹＫ系への変換には膨大な処理コストが掛かる問題がある。
【０００９】
従来からキャッシュ処理は行なわれているが、さらなる高速化が求められているため、ヒット率が高く、効率の良いハッシュ関数を作成する必要がある。すなわち、上述した「前画素キャッシュ」以上にキャッシュヒット率を向上させ、色変換処理のさらなる効率化を実現する必要がある。
【００１０】
そこで、本発明は、色変換時のキャッシュ処理に関し、キャッシュヒット率を向上させ、色変換処理のさらなる効率化を実現することができる画像処理装置及び画像処理方法並びにプログラム及び記録媒体を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記課題を解決するため、本発明の画像処理装置は、
複数の要素色により表現される第１の画像データを他の複数の要素色により表現される第２の画像データに色変換を行う画像処理装置であって、
画素毎に入力された第１の画像データに基づいて、色変換を行う色の特性と、人間の視覚特性に基づいて決定される複数の要素色の配分率に基づいて、前記複数の要素色が配分されたハッシュ値を作成するハッシュ値作成手段と、
前記ハッシュ値に対応して、前記ハッシュ値を作成した第１の画像データと第２の画像データとの対応関係が設定された色変換テーブルと、
前記色変換テーブルに基づいて、前記ハッシュ値作成手段により作成されたハッシュ値に対応する第２の画像データに色変換を行う色変換手段と
を備え、
前記色変換手段は、前記ハッシュ値作成手段により作成されたハッシュ値が、前記色変換テーブルにない場合に、該ハッシュ値と、該ハッシュ値を作成した第１の画像データと第２の画像データとの対応関係とを、前記色変換テーブルに追加することを特徴の１つとする。
【００１２】
このように、従来の単純な前画素キャッシュよりもヒット率が高く、さらにキャッシュの衝突率が低いハッシュ関数を利用することにより、ＲＧＢ系からＣＭＹＫ系への色変換処理を効率よく行うことができる。
【００１３】
また、本発明の画像処理方法は、
複数の要素色により表現される第１の画像データを他の複数の要素色により表現される第２の画像データに色変換を行う画像処理装置における画像処理方法であって、
画素毎に入力された第１の画像データに基づいて、色変換を行う色の特性と、人間の視覚特性に基づいて決定される複数の要素色の配分率に基づいて、前記複数の要素色が配分されたハッシュ値を作成するハッシュ値作成ステップと、
前記ハッシュ値に対応して、前記ハッシュ値を作成した第１の画像データと第２の画像データとの対応関係が設定された色変換テーブルに基づいて、前記ハッシュ値作成ステップにより作成されたハッシュ値に対応する第２の画像データに色変換を行う色変換ステップと、
前記ハッシュ値作成ステップにより作成されたハッシュ値が、前記色変換テーブルにない場合に、該ハッシュ値と、該ハッシュ値を作成した第１の画像データと第２の画像データとの対応関係とを、前記色変換テーブルに追加する追加ステップと
を有することを特徴の１つとする。
【００１４】
このように、従来の単純な前画素キャッシュよりもヒット率が高く、さらにキャッシュの衝突率が低いハッシュ関数を利用することにより、ＲＧＢ系からＣＭＹＫ系への色変換処理を効率よく行うことができる。
【００１５】
また、本発明のプログラムは、上述した画像処理方法をコンピュータに実行させるためのプログラムである。
【００１６】
また、本発明の記録媒体は、上述したプログラムを記録したコンピュータ読取可能な記録媒体である。
【発明の効果】
【００１７】
本発明の実施例によれば、色変換時のキャッシュ処理に関し、キャッシュヒット率を向上させ、色変換処理のさらなる効率化を実現することができる画像処理装置及び画像処理方法並びにプログラム及び記録媒体を実現できる。
【発明を実施するための最良の形態】
【００１８】
次に、本発明を実施するための最良の形態を、以下の実施例に基づき図面を参照しつつ説明する。
なお、実施例を説明するための全図において、同一機能を有するものは同一符号を用い、繰り返しの説明は省略する。
【００１９】
本発明の実施例にかかる画像処理装置が適用されるシステムについて、図１を参照して説明する。
【００２０】
本実施例にかかる画像処理装置が適用されるシステムは、画像処理装置としてのプリンタ１００と、プリンタ１００とイーサネット（登録商標）や無線、その他の媒体により構成される通信網５０を介して接続される画像処理制御装置としてのパーソナルコンピュータ（ＰＣ）２００（２００１、２００２）とを備える。
【００２１】
プリンタ１００は、ＰＣ２００上のプリンタドライバ等から受信したプリンタ記述言語（ＰＤＬ：  Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）データを解釈し、メモリ上に描画を行い、結果を紙に転写することによって紙出力を行う。
【００２２】
プリンタ１００は、ＰＤＬデータの内容をメモリ上に描画するプリンタコントローラ１２０を備え、プリンタコントローラ１２０は、図２に示すように、入出力部１０２と、制御部１０４と、解析部１０６と、ハッシュ値作成手段および色変換手段としての色変換部１０８と、描画部１１０と、ワークメモリ１１２と、フレームメモリ１１４とを備える。
【００２３】
入出力部１０２は、画像処理制御装置からＰＤＬデータを受け取る。例えば、ＰＤＬデータには、イメージ、文字、グラフィックスの描画を行うための複数の描画コマンドから構成される。このＰＤＬデータは、解析部１０６に入力される。
【００２４】
解析部１０６は、ＰＤＬデータを解析する。例えば、解析部１０６は、入力されたＰＤＬデータに含まれる描画コマンドが、どのオブジェクトに関わるものか判断を行い、各オブジェクトに適した処理を行うよう描画部１１０に指示を行う。
【００２５】
描画部１１０は、解析部１０６からの描画命令にしたがって、各種の画像処理を実行して印刷描画イメージを形成し、形成した印刷描画イメージをフレームメモリ１１４に格納する。ここで、描画部１１０で行なわれる画像処理は、カラーマッチング処理、トナーセーブ処理、変倍処理、２値化処理などである。
【００２６】
色変換部１０８は、ＲＧＢ系からＣＭＹ系への色変換処理、ＢＧ／ＵＣＲ 処理、ガンマ補正処理、総量規制処理を行う。
【００２７】
制御部１０４は、上述した各部の制御を行う。
【００２８】
プリンタコントローラ１２０を画像処理装置として機能させるためのプログラムは、例えば、フレキシブルディスク、ＣＤ−ＲＯＭ、メモリカード等の記録媒体に記録された状態で提供される。また、プログラムを、通信網５０を介してダウンロードするようにしてもよい。この記録媒体をコンピュータの補助記憶装置に挿入すると、記録媒体に記録されたプログラムが読み取られる。そして、ＣＰＵは、読み込んだプログラムをＲＡＭあるいはＨＤＤに書き込み、このプログラムにしたがって処理を実行する。
【００２９】
この場合、プログラムは、コンピュータに、図２の各機能ブロックにより実行される処理を実行させる。例えば、複数の要素色により表現される第１の画像データとしてのＲ、Ｇ及びＢの画素値、ＳＲ、ＳＧ及びＳＢを他の複数の要素色により表現される第２の画像データとしてのＣ、Ｍ、Ｙ及びＫの画素値、ＳＣ、ＳＭ、ＳＹ及びＳＫに色変換を行う画像処理装置に、画素毎に入力された第１の画像データに基づいて、色変換を行う色の特性と、人間の視覚特性に基づいて決定される複数の要素色の配分率に基づいて、複数の要素色が配分された後述するハッシュ値を作成するハッシュ値作成ステップと、ハッシュ値に対応して、ハッシュ値を作成した第１の画像データと第２の画像データとの対応関係が設定された色変換テーブルに基づいて、ハッシュ値作成ステップにより作成されたハッシュ値に対応する第２の画像データに色変換を行う色変換ステップと、前記ハッシュ値作成ステップにより作成されたハッシュ値が、色変換テーブルにない場合に、該ハッシュ値と、該ハッシュ値を作成した第１の画像データと第２の画像データとの対応関係とを、前記色変換テーブルに追加する追加ステップとを実行させる。
【００３０】
プリンタコントローラ１２０における処理について、図３を参照して説明する。
【００３１】
プリンタコントローラ１２０では、ＰＣ２００からＰＤＬデータを受信し、色変換部１０８で色変換を行いながら描画部１１０でメモリ上に描画を行う。
【００３２】
プリンタコントローラ１２０では、各画素に対してステップＳ３０２からステップＳ３１２の処理が行われる。
【００３３】
具体的に説明する。
【００３４】
色変換部１０８は、入力された色空間のＲＧＢデータを出力するために、デバイスでの色空間であるＣＭＹに変換を行なう（ステップＳ３０４）。
【００３５】
次に、色変換部１０８は、ＢＧ／ＵＣＲ処理を行う（ステップＳ３０６）。ＢＧ／ＵＣＲ処理では、黒（グレー）色の文字や罫線などのグラフィックをブラックトナーのみを使用して光沢のない白黒プリンタと同等な画像とし、イメージを４色トナーによる光沢のある画像とする。すなわち、黒生成及びアンダーカラー除去処理が施されてＣＭＹＫデータに変換される。
【００３６】
次に、色変換部１０８は、γ変換処理を行う（ステップＳ３０８）。例えば、色変換部１０８は、ＢＧ／ＵＣＲ処理後のＣＭＹＫ画像データに対してプリンタγ補正処理を行う。
【００３７】
次に、色変換部１０８は、総量規制を行う（ステップＳ３１０）。例えば、色変換部１０８は、ＣＭＹＫの色材の総量規制、例えば、トナーの飛散やインクの未乾燥を防止するための規制を行う。
【００３８】
このＣＭＹＫへの色変換処理においては、ＲＧＢからＣＭＹへの変換、ＢＧ／ＵＣＲ、γ変換、総量規制等、多くの処理が行なわれるため、処理(演算)コストが高い。
【００３９】
イメージデータの描画においては、データの１画素毎にこれら多くの処理を行う必要があるが、自然画像(写真等)のイメージデータにおいては、隣り合う画素同士が同一か近い色相であることが多いため、前の処理で行なった色処理を次の画素で再利用する「キャッシュ処理」を行ない、演算コストを削減している。すなわち、「キャッシュ処理」では、使用頻度の高い色変換処理の結果を記憶装置に蓄えておくことにより、画素毎に色変換処理を行う無駄を省くことができる。
【００４０】
キャッシュ処理には、一般的にハッシュ関数が用いられる。ハッシュ関数とは、与えられた元のデータから、固定長の擬似乱数を生成するための演算手法である。本実施例においてはＲＧＢ値から固定長の疑似乱数が生成される。ハッシュ関数Ｆと結果(ハッシュ値)Ｒとの関係は式（１）で表される。式（１）において、Ｒはハッシュ値、Ｆはハッシュ関数、Ｒは赤の画素値、Ｇは緑の画素値、Ｂは青の画素値である。
【００４１】
Ｒ＝Ｆ（Ｒ，Ｇ，Ｂ）      （１）
例えば、処理前のＲ、Ｇ及びＢの画素値と、処理結果のＣＭＹＫ値を保存し、次の画素の処理で、保存してある結果を再利用する。この場合、前の画素とＲＧＢ値が同じである場合、すなわち、単純に、前の画素と同じ色だった場合にのみ保存された結果が再利用されるため、キャッシュエントリ数は１固定となり、ハッシュ関数Ｆは、ＲＧＢ値が前の画素と同一だった場合にＲ＝０を導き出す関数となる。
【００４２】
キャッシュのヒット率を高めるためには、最適なキャッシュエントリ数とハッシュ関数を選択する必要がある。また、効率の良いハッシュ関数には、キャッシュヒット率が高く、すなわち衝突率が低く、関数の演算速度が高速であることが求められる。
【００４３】
ところで、ＲＧＢからグレイスケールへの色変換方法で一般的なＮＴＳＣ（Ｎａｔｉｏｎａｌ  Ｔｅｌｅｖｉｓｉｏｎ  Ｓｙｓｔｅｍ  Ｃｏｍｍｉｔｔｅｅ）方式のグレイスケール変換式では、人間の、「色成分に対しては輝度成分ほど敏感ではない」という視覚特性を利用し、輝度成分の配分を高め、色成分の配分を低くした色変換を行っている。この変換式は、例えば式（２）で表される。式（２）において、Ｇｒａｙはグレイスケール値、Ｒｅｄは赤の画素値、Ｇｒｅｅｎは緑の画素値、Ｂｌｕｅは青の画素値である。
【００４４】
Ｇｒａｙ＝０．３×Ｒｅｄ＋０．５９×Ｇｒｅｅｎ＋０．１１×Ｂｌｕｅ      （２）
式（２）に示すＮＴＳＣ方式のグレイスケール変換式は、異なる見方をすれば、データ中のＲ、Ｇ及びＢの画素値を式（２）の配分率で扱うことで、不要な色情報を削減し、効率良くＲ、Ｇ及びＢの画素値の色情報を固定長の擬似乱数として正規化することが可能ということである。すなわち、このＲ、Ｇ及びＢの配分率を用いることで、効率の良いハッシュ関数が作成可能である。
【００４５】
本発明の第１の実施例にかかる画像処理装置について説明する。
【００４６】
本実施例にかかる画像処理装置の構成は、図２を参照して説明した構成と同様であるためその説明を省略する。
【００４７】
本実施例では、このＮＴＳＣ変換式のＲ、Ｇ及びＢの配分率を利用して、ＣＭＹＫ色変換時のハッシュ関数を定義し、利用する。
【００４８】
例えば、変換に用いるＲ、Ｇ及びＢの画素値は、各色８ビット、すなわち２５６階調とする。また、ハッシュ関数の演算を高速に行なうため、Ｒ、Ｇ及びＢの配分率、すなわち３原色の画素値（Ｒ，Ｇ，Ｂ）をＮＴＳＣ 系加重平均法によりグレイスケール化する場合に各原色に乗算する重み係数（Ｒ：Ｇ：Ｂ）＝（０．３：０．５９：０．１１）をそのまま使わず、整数近似値の配分率とする。なお、この重み係数の数値は百分率であるが、本実施例においてはＲ、Ｇ及びＢの各色は８ビットとするため、各色の配分率を式（４）に示すように８分率で表す。
【００４９】
Ｒ：Ｇ：Ｂ＝０．３／１０×８：０．５９／１０×８：０．１１／１０×８
＝０．２４：０．４８：０．９      （４）
式（４）から、（Ｒ：Ｇ：Ｂ）＝（２：５：１）を各色の有効ビット数とする。
【００５０】
また、ハッシュエントリ数Ｒは固定長の８ビットとし、０−２５５の２５６種類とする。したがって、ハッシュ関数Ｆは、Ｒ、Ｇ及びＢの各画素値から、０−２５５の値の何れかを算出する関数となる。
【００５１】
次に、本実施例にかかる画像処理装置の動作について、図４を参照し手説明する。
【００５２】
プリンタコントローラ１２０では、各画素に対してステップＳ４０２からステップＳ４１８の処理が行われる。
【００５３】
具体的に説明する。
【００５４】
色変換部１０８は、画素毎に入力されたＲ、Ｇ及びＢの画素値が、前画素のＲ、Ｇ及びＢの画素値、ＳＲ、ＳＧ及びＳＢと同じであるか否かを判断する（ステップＳ４０４）。例えば、色変換部１０８は、画素毎に入力された第１の画像データとしてのＲ、Ｇ及びＢの画素値、ＳＲ、ＳＧ及びＳＢに基づいて、色変換を行う色の特性と、人間の視覚特性に基づいて決定される複数の要素色の配分率に基づいて、複数の要素色が配分された後述するハッシュ値を求める。ワークメモリ１１２には、ハッシュ値に対応して、ハッシュ値を作成したＲ、Ｇ及びＢの画素値とＣ、Ｍ、Ｙ及びＫの画素値との対応関係が設定された色変換テーブルが記憶されている。
【００５５】
色変換部１０８は、ワークメモリ１２２に記憶された色変換テーブルに基づいて、求めたハッシュ値が記憶されているか否かを判断することにより、画素毎に入力されたＲ、Ｇ及びＢの画素値が、前画素のＲ、Ｇ及びＢの画素値、ＳＲ、ＳＧ及びＳＢと同じであるか否かを判断する
画素毎に入力されたＲ、Ｇ及びＢの画素値が、前画素のＲ、Ｇ及びＢの画素値、ＳＲ、ＳＧ及びＳＢと同じでない場合（ステップＳ４０４：ＮＯ）、すなわち、色変換テーブルに作成されたハッシュ値がない場合、色変換部１０８は、求めたハッシュ値に対応させて、対象画素のＲ、Ｇ及びＢの画素値ＳＲ、ＳＧ及びＳＢをワークメモリ１２２に保存する（ステップＳ４０６）。
【００５６】
次に、色変換部１０８は、入力された色空間のＲＧＢデータを出力するために、デバイスでの色空間であるＣＭＹに変換を行う（ステップＳ４０８）。
【００５７】
次に、色変換部１０８は、ＢＧ／ＵＣＲ処理を行う（ステップＳ４１０）。ＢＧ／ＵＣＲ処理では、上述したように、黒（グレー）色の文字や罫線などのグラフィックをブラックトナーのみを使用して光沢のない白黒プリンタと同等な画像とし、イメージを４色トナーによる光沢のある画像とする。すなわち、黒生成及びアンダーカラー除去処理が施されてＣＭＹＫ系のデータに変換される。
【００５８】
次に、色変換部１０８は、γ変換処理を行う（ステップＳ４１２）。例えば、色変換部１０８は、ＢＧ／ＵＣＲ処理後のＣＭＹＫ系の画像データに対してプリンタγ補正処理を行う。
【００５９】
次に、色変換部１０８は、総量規制を行う（ステップＳ４１４）。例えば、色変換部１０８は、上述したように、ＣＭＹＫの色材の総量規制、例えば、トナーの飛散やインクの未乾燥を防止するための規制を行う。
【００６０】
次に、色変換部１０８は、求められたＣ、Ｍ、Ｙ及びＫの変換値、ＳＣ、ＳＭ、ＳＹおよびＳＫをワークメモリ１１２に保存する（ステップＳ４１６）。例えば、色変換テーブルに、既に保存された作成したハッシュ値と、対象画素のＲ、Ｇ及びＢの画素値ＳＲ、ＳＧ及びＳＢに対応させて、求められたＣ、Ｍ、Ｙ及びＫの変換値、ＳＣ、ＳＭ、ＳＹおよびＳＫをワークメモリ１２２に保存する。
【００６１】
一方、画素毎に入力されたＲ、Ｇ及びＢの画素値が、前画素のＲ、Ｇ及びＢの画素値、ＳＲ、ＳＧ及びＳＢと同じである場合（ステップＳ４０４：ＹＥＳ）、すなわち、色変換テーブルに作成されたハッシュ値がある場合、ワークメモリ１１２に保存されているＣ、Ｍ、Ｙ及びＫの変換値、ＳＣ、ＳＭ、ＳＹおよびＳＫを使用して色変換を行う（ステップＳ４２０）。すなわち、ワークメモリ１２２に記憶された色変換テーブルに、作成されたハッシュ値が記憶されている場合、そのハッシュ値に対応するＣ、Ｍ、Ｙ及びＫの変換値、ＳＣ、ＳＭ、ＳＹおよびＳＫに色変換を行う。
【００６２】
次に、本実施例にかかる画像処理装置におけるハッシュ値を計算するためのハッシュ関数について説明する。
【００６３】
ハッシュ関数Ｆの一例を式（５）に示す。式（５）において、「＜＜」はビットシフト、「＆」はビット論理積、「｜」はビット論理和である。また、「０×」は１６進数であることを示す。
【００６４】
（（Ｂ＜＜７）＆０×８０）｜（Ｒ＜＜５）＆０×６０｜（Ｇ）＆０×１ｆ      （５）
式（５）は、Ｂの画素値を７ビット左にシフトさせたビット列と１０００００００との論理積と、Ｒの画素値を５ビット左にシフトさせたビット列と０１１０００００との論理積と、Ｇの画素値のビット列と０００１１１１１との論理積との論理和を演算することを示している。
【００６５】
式（５）は、下位ビットの変動に強いハッシュ関数である。下位ビットの変動に強いとは、色の僅かな違いの変動に強いということである。複数の画素を連続で色変換を行なう際に、連続する画素の色相の変動が少ない場合に、ヒット率が向上する。これは、図５に示すように、Ｒ、Ｇ及びＢの各画素値の下位ビット側を２：５：１の配分で利用してハッシュ関数を作成しているためである。図５には、Ｒ、Ｇ及びＢの各色８ビットの有効ビットとハッシュ関数の演算結果が示される。図５によれば、Ｒについては下位２ビット、Ｇについては下位５ビット、Ｂについては下位１ビットが利用されハッシュ値が作成される。
【００６６】
次に、本発明の第２の実施例にかかる画像処理装置について説明する。
【００６７】
本実施例にかかる画像処理装置の構成及び動作は、図２及び図４を参照して説明した構成及び動作と同様であるためその説明を省略する
本実施例にかかる画像処理装置では、ハッシュ関数Ｆとして、式（６）を使用する。式（６）において、「＞＞」はビットシフト、「＆」はビット論理積、「｜」はビット論理和である。また、「０×」は１６進数であることを示す。
【００６８】
（（Ｂ）＆０×８０｜（Ｒ＞＞１）＆０×６０｜（Ｇ＞＞３）＆０×１ｆ）      （６）
式（６）は、Ｂの画素値のビット列と１０００００００との論理積と、Ｒの画素値を１ビット右にシフトさせたビット列と０１１０００００との論理積と、Ｇの画素値を３ビット右にシフトさせたビット列と０００１１１１１との論理積との論理和を演算することを示している。
【００６９】
式（６）は上位ビットの変動に強いハッシュ関数である。上位ビットの変動に強いとは、色の大きな違いの変動に強いということである。複数の画素を連続で色変換を行なう際に、連続する画素の色相の変動が大きい場合に、ヒット率が向上する。これは、図６に示すように、Ｒ、Ｇ及びＢの各画素値の上位ビット側を２：５：１の配分で利用してハッシュ関数を作成しているためである。図６には、Ｒ、Ｇ及びＢの各色８ビットの有効ビットとハッシュ関数の演算結果が示される。図６によれば、Ｒについては上位２ビット、Ｇについては上位５ビット、Ｂについては上位１ビットが利用されハッシュ値が作成される。
【００７０】
次に、本発明の第３の実施例にかかる画像処理装置について説明する。
【００７１】
本実施例にかかる画像処理装置の構成及び動作は、図２及び図４を参照して説明した構成及び動作と同様であるためその説明を省略する
本実施例にかかる画像処理装置では、ハッシュ関数Ｆとして、式（７）を使用する。式（７）において、「＜＜」はビットシフト、「＾」は排他的論理和である。
【００７２】
（（Ｂ＜＜６）＾（Ｒ＜＜３）＾（Ｇ））      （７）
式（７）は、Ｂの画素値を６ビット左にシフトさせたビット列と、Ｒの画素値を３ビット左にシフトさせたビット列と、Ｇの画素値のビット列との排他的論理和を演算することを示している。
【００７３】
式（７）は下位ビットの変動に強く、ハッシュの衝突率が低いハッシュ関数である。下位ビットの変動に強いとは、色の小さな違いの変動に強いということである。複数の画素を連続で色変換を行なう際に、連続する画素の色相の変動が小さい場合にヒット率が向上する。
【００７４】
キャッシュ値の結果が下位ｎビット（ｎは、ｎ＞０の整数）の変更にしか左右されないと、上位ビットの変動に弱くなってしまう。 有効ビット数ｎの値をできるだけ大きくすれば、より変動に強くなるが、逆に、下位ビットの変動に弱くなる。
【００７５】
しかし、ヒット率がどうなるかはデータに依存する。このため、式（７）では、基本的に下位ビットを重視しているが、上位ビットも少し考慮するため、Ｒ、ＧおよびＢの画素値の情報を重ねて利用するハッシュ関数とした。すなわち、各ＲＧＢの画素値の各ビットのうちの少なくとも一部が、重複するハッシュ関数により、ハッシュ値が求められる。
【００７６】
式（７）において、Ｒ、Ｇ及びＢの各画素の有効ビット数は、それぞれ（Ｒ：Ｇ：Ｂ）＝（５：８：２）である。
【００７７】
これは上述した実施例１および２と異なり、ＮＴＳＣ方式のグレイスケール変換式をもちいて８分率とした値とは異なる。この理由について説明する。
【００７８】
式（７）では、実施例１および２と異なり、各色において、ＧはＲＢと情報が重なっており、ＲはＢと重なっている。このため、このハッシュ関数における各色のビット数の割合を（Ｒ：Ｇ：Ｂ）＝（５：８：２）とすると、実際の情報量の比率は、式（８）に示すようになる。
【００７９】
Ｒ：Ｇ：Ｂ＝（５＋２）：（８＋５＋２）：２＝７：１５：２
＝７／２４×８：１５／２４×８：２／２４×８
＝２．３：５：０．７≒２．４：４．８：０．９      （８）
式（８）によれば、式（４）に示されるＮＴＳＣ方式のグレイスケール変換式における色配分の８分率とほぼ一致する。ここで、式（８）における除数２４は７＋１５＋２により求められる。 
また、式（７）において、各色の有効ビットをシフトした色値を、単純に論理和演算（ＯＲ）するのではなく、排他的論理和演算（ＸＯＲ）しているのは、ハッシュキーの有効範囲を広げ、ヒット率の向上を狙うためである。
【００８０】
本発明の実施例によれば、ＲＧＢ系からＣＭＹＫ系への色変換処理において、キャッシュ処理を行う場合に、ハッシュ値と、ハッシュ値を作成した第１の画像データと第２の画像データとの対応関係とを示す色変換テーブルを利用し、ハッシュ値を求めるハッシュ関数に、ＮＴＳＣ方式のグレイスケール変換式におけるＲＧＢ色配分率を適用することにより、単純な前画素キャッシュよりも、ヒット率が高く、さらに、キャッシュの衝突率が低くすることができる。このため、ＲＧＢ系からＣＭＹＫ系への色変換処理を効率よく行うことができる。
【産業上の利用可能性】
【００８１】
本発明は、画像処理装置に適用できる。
【図面の簡単な説明】
【００８２】
【図１】本発明の一実施例にかかる画像処理装置が適用されるシステムを示す説明図である。
【図２】本発明の一実施例にかかる画像処理装置を示す部分ブロック図である。
【図３】本発明の一実施例にかかる画像処理装置の動作を示すフロー図である。
【図４】本発明の一実施例にかかる画像処理装置の動作を示すフロー図である。
【図５】本発明の一実施例にかかる画像処理装置におけるＲＧＢ各色の有効ビットと演算結果を示す説明図である。
【図６】本発明の一実施例にかかる画像処理装置におけるＲＧＢ各色の有効ビットと演算結果を示す説明図である。
【符号の説明】
【００８３】
５０  通信網
１００  画像処理装置
１０２  入出力部
１０４  制御部
１０６  解析部
１０８  色変換部
１１０  描画部
１１２  ワークメモリ
１１４  フレームメモリ
１２０  プリンタコントローラ
２００、２００１、２００２  パーソナルコンピュータ（ＰＣ）
【図１】
2008078820.tif 000003
【図２】
2008078820.tif 000004
【図３】
2008078820.tif 000005
【図４】
2008078820.tif 000006
【図５】
2008078820.tif 000007
【図６】
2008078820.tif 000008