(57)【特許請求の範囲】
【請求項１】
複数の要素色にて表現される第一画像データを別の複数の要素色にて表現される第二画像データに色変換する画像処理装置であって、
上記第一画像データを各画素毎に入力する画像データ入力手段と、
上記入力した第一画像データに基づいてハッシュキーを作成するハッシュキー作成手段と、
上記第一画像データに基づいて作成可能な複数のハッシュキーに対応して、各ハッシュキーを作成した第一画像データと第二画像データとの対応関係が設定された複数のハッシュテーブルを有する色変換テーブルと、
上記第一画像データに基づいて所定の補間演算を実行することによって上記第二画像データを算出可能な演算手段と、
上記作成されたハッシュキーを取得するとともに、同取得したハッシュキーに対応するハッシュテーブルに上記入力した第一画像データと第二画像データとの対応関係が設定されている場合、上記入力した第一画像データを同設定されている第二画像データに色変換するとともに、設定されていない場合、上記演算手段に上記入力した第一画像データに基づいて所定の補間演算を実行させて第二画像データを算出し、同第一画像データを同算出された第二画像データに色変換する画像変換手段と、
上記各ハッシュテーブルの使用回数をカウントするカウント手段を有しつつ、上記演算手段にて第二画像データが算出されると同カウント手段にてカウントした使用回数が所定のしきい値より小さいと判別した場合に、上記作成されたハッシュキーに対応して、同ハッシュキーを作成した第一画像データと、同算出された第二画像データとを対応させたハッシュテーブルを上記色変換テーブルに設定するテーブル設定手段と、
を具備することを特徴とする画像処理装置。
【請求項２】
上記第一画像データは、各８ビットのＲＧＢデータにて形成されるとともに、上記ハッシュキー作成手段は、同ＲＧＢデータから１２ビットのハッシュキーを作成するに際して、上記Ｂデータの８ビットの先頭ビットを１２ビットの先頭ビットに合わせ、上記Ｇデータの先頭ビットを同Ｂデータの先頭ビットから２ビットずらすとともに、上記Ｒデータの先頭ビットを同Ｂデータの先頭ビットから４ビットずらし、この各ＲＧＢデータについて排他的論理和を行なうことによって、上記１２ビットのハッシュキーを作成することを特徴とする上記請求項１に記載の画像処理装置。
【請求項３】
上記ハッシュキー作成手段は、上記Ｂデータの８ビットを反転させることによって、上記ハッシュキーの１２ビットの先頭２ビットに反映させ、上記排他的論理和に際して、同Ｂデータの下位２ビットに対する上記各ＲＧデータの影響を除外することを特徴とする上記請求項２に記載の画像処理装置。
【請求項４】
上記第一画像データは、各８ビットのＲＧＢデータにて形成されるとともに、上記ハッシュキー作成手段は、同ＲＧＢデータから１２ビットのハッシュキーを作成するに際して、各８ビットの下位４ビットを抽出しつつ同各４ビットを連結することによって、上記１２ビットのハッシュキーを作成することを特徴とする上記請求項１に記載の画像処理装置。
【請求項５】
上記各画素の色変換を行なうに際して、上記各ハッシュテーブルの初期化を行なう初期化手段を有するとともに、同初期化手段は、各ハッシュテーブルを使用頻度の高い第一画像データに基づいて初期化を行なうことを特徴とする上記請求項１〜請求項４のいずれかに記載の画像処理装置。
【請求項６】
上記第一画像データは、各ＲＧＢデータが階調０〜２５５にて表現されるとともに、上記初期化手段は、各ＲＧＢデータについて階調０および階調２５５にて可能な全ての組み合わせを使用頻度の高い第一画像データとし、上記ハッシュテーブルの初期化を行なうことを特徴とする上記請求項５に記載の画像処理装置。
【請求項７】
上記第一画像データと第二画像データとの対応関係を複数の参照点にて規定した第二色変換テーブルを有し、上記画像変換手段は、上記第一画像データを第二画像データに変換するに際して、上記入力した第一画像データが上記第二色変換テーブルの参照点であるか否かを判別し、同第一画像データが参照点である場合に、上記第二色変換テーブルに基づいて上記第一画像データを第二画像データに色変換するとともに、上記参照点でない場合に、上記色変換テーブルに基づいて上記第一画像データを第二画像データに色変換することを特徴とする上記請求項１〜請求項６のいずれかに記載の画像処理装置。
【請求項８】
複数の要素色にて表現される第一画像データを同第一画像データに基づいて作成可能な複数のハッシュキーに対応させて別の複数の要素色にて表現される第二画像データが設定された複数のハッシュテーブルを有する色変換テーブルを利用することによって、第二画像データに色変換する画像処理方法であって、
上記第一画像データを各画素毎に入力する画像データ入力工程と、
上記入力した第一画像データに基づいてハッシュキーを作成するハッシュキー作成工程と、
上記第一画像データに基づいて所定の補間演算を実行することによって上記第二画像データを算出可能な演算工程と、
上記作成されたハッシュキーを取得するとともに、同取得したハッシュキーに対応するハッシュテーブルに上記入力した第一画像データと第二画像データとの対応関係が設定されている場合、上記入力した第一画像データを同設定されている第二画像データに色変換するとともに、設定されていない場合、上記演算工程にて上記入力した第一画像データに基づいて所定の補間演算を実行させて第二画像データを算出し、同第一画像データを同算出された第二画像データにて色変換する画像変換工程と、
上記各ハッシュテーブルの使用回数をカウントするカウント工程を有しつつ、上記演算工程にて第二画像データが算出されると同カウント工程にてカウントした使用回数が所定のしきい値より小さいと判別した場合に、上記作成されたハッシュキーに対応して、同ハッシュキーを作成した第一画像データと、同算出された第二画像データとを対応させたハッシュテーブルを上記色変換テーブルに設定するテーブル設定工程と、
を具備することを特徴とする画像処理方法。
【請求項９】
複数の要素色にて表現される第一画像データを同第一画像データに基づいて作成可能な複数のハッシュキーに対応させて別の複数の要素色にて表現される第二画像データが設定された複数のハッシュテーブルを有する色変換テーブルを利用することによって、第二画像データに色変換する機能を実現させる画像処理プログラムであって、
上記第一画像データを各画素毎に入力する画像データ入力機能と、
上記入力した第一画像データに基づいてハッシュキーを作成するハッシュキー作成機能と、
上記第一画像データに基づいて所定の補間演算を実行することによって上記第二画像データを算出可能な演算機能と、
上記作成されたハッシュキーを取得するとともに、同取得したハッシュキーに対応するハッシュテーブルに上記入力した第一画像データと第二画像データとの対応関係が設定されている場合、上記入力した第一画像データを同設定されている第二画像データに色変換するとともに、設定されていない場合、上記演算機能にて上記入力した第一画像データに基づいて所定の補間演算を実行させて第二画像データを算出し、同第一画像データを同算出された第二画像データにて色変換する画像変換機能と、
上記各ハッシュテーブルの使用回数をカウントするカウント機能を有しつつ、上記演算機能にて第二画像データが算出されると同カウント機能にてカウントした使用回数が所定のしきい値より小さいと判別した場合に、上記作成されたハッシュキーに対応して、同ハッシュキーを作成した第一画像データと、同算出された第二画像データとを対応させたハッシュテーブルを上記色変換テーブルに設定するテーブル設定機能と、
を実現させることを特徴とする画像処理プログラム。
【請求項１０】
上記請求項９に記載の画像処理プログラムを記録した媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像処理装置、画像処理方法および画像処理プログラムを記録した媒体に関し、特に、複数の要素色にて表現される画像データを別の複数の要素色にて表現される画像データに色変換する画像処理装置、画像処理方法、画像処理プログラムおよび画像処理プログラムを記録した媒体に関する。
【０００２】
【従来の技術】
従来、この種の画像処理装置は、複数の要素色、例えばＲＧＢデータから、別の複数の要素色、例えばＣＭＹＫデータに色変換するに際しては、３次元色空間の各格子点にてＲＧＢデータとＣＭＹＫデータとの対応関係を設定した色変換テーブルを使用して色変換処理を実行していた。かかる場合、格子不足の部分については、四面体補間演算を実行して色変換処理を行なっていた。
【０００３】
【発明が解決しようとする課題】
上述した従来の画像処理装置においては、格子不足部分となる全ての画素について四面体補間の演算を行なわなければならないため、色変換処理の処理速度が低下してしまうという課題があった。
【０００４】
本発明は、上記課題にかんがみてなされたもので、高速に色変換処理を実行することが可能な画像処理装置、画像処理方法、画像処理プログラムおよび画像処理プログラムを記録した媒体の提供を目的とする。
【０００５】
【課題を解決するための手段】
上記目的を達成するため、請求項１にかかる発明は、複数の要素色にて表現される第一画像データを別の複数の要素色にて表現される第二画像データに色変換する画像処理装置であって、上記第一画像データを各画素毎に入力する画像データ入力手段と、上記入力した第一画像データに基づいてハッシュキーを作成するハッシュキー作成手段と、上記第一画像データに基づいて作成可能な複数のハッシュキーに対応して、各ハッシュキーを作成した第一画像データと第二画像データとの対応関係が設定された複数のハッシュテーブルを有する色変換テーブルと、上記第一画像データに基づいて所定の補間演算を実行することによって上記第二画像データを算出可能な演算手段と、上記作成されたハッシュキーを取得するとともに、同取得したハッシュキーに対応するハッシュテーブルに上記入力した第一画像データと第二画像データとの対応関係が設定されている場合、上記入力した第一画像データを同設定されている第二画像データに色変換するとともに、設定されていない場合、上記演算手段に上記入力した第一画像データに基づいて所定の補間演算を実行させて第二画像データを算出し、同第一画像データを同算出された第二画像データに色変換する画像変換手段と、上記各ハッシュテーブルの使用回数をカウントするカウント手段を有しつつ、上記演算手段にて第二画像データが算出されると同カウント手段にてカウントした使用回数が所定のしきい値より小さいと判別した場合に、上記作成されたハッシュキーに対応して、同ハッシュキーを作成した第一画像データと、同算出された第二画像データとを対応させたハッシュテーブルを上記色変換テーブルに設定するテーブル設定手段とを具備する構成としてある。
【０００６】
上記のように構成した請求項１にかかる発明においては、複数の要素色にて表現される第一画像データを別の複数の要素色にて表現される第二画像データに色変換する画像処理装置を提供する。かかる場合、画像データ入力手段にて第一画像データを各画素毎に入力し、ハッシュキー作成手段にて入力した第一画像データに基づいたハッシュキーを作成する。一方、色変換に利用する色変換テーブルには、第一画像データに基づいて作成可能な複数のハッシュキーに対応した複数のハッシュテーブルが備えられ、各ハッシュテーブルには、各ハッシュキーを作成した第一画像データと第二画像データとの対応関係が設定されている。また、演算手段では、第一画像データに基づいて所定の補間演算を実行することによって第二画像データを算出可能になっている。ここで、画像変換手段は、作成されたハッシュキーを取得し、この取得したハッシュキーに対応するハッシュテーブルに入力した第一画像データと第二画像データとの対応関係が設定されているか否かを判別する。そして、入力した第一画像データをこの設定されている第二画像データに色変換する。これに対して、設定されていない場合は、演算手段に入力した第一画像データに基づいて所定の補間演算を実行させて、第二画像データを算出する。そして、第一画像データをこの算出された第二画像データに色変換する。
【０００７】
演算した第二画像データとこれに対応する第一画像データとの対応関係を順次ハッシュテーブルに設定すれば、以降の処理に利用することができて好適である。そこで、上記演算手段にて第二画像データが算出された場合、上記作成されたハッシュキーに対応して、同ハッシュキーを作成した第一画像データと、同算出された第二画像データとを対応させたハッシュテーブルを上記色変換テーブルに設定するテーブル設定手段を有する構成としてある。
上記のように構成した発明において、テーブル設定手段では演算手段にて第二画像データを算出した場合に作成されたハッシュキーに対応して、このハッシュキーを作成した第一画像データと、算出された第二画像データとを対応させたハッシュテーブルを色変換テーブルに設定する。
ＲＧＢデータから作成されるハッシュキーは、１つのＲＧＢデータに対してユニークに決まるものではなく、異なる複数のＲＧＢデータから同一のハッシュキーが作成される場合がある。このとき、あるＲＧＢデータに対するハッシュテーブルが既にあり、その使用頻度の高い場合であって、他のＲＧＢデータから同一のハッシュキーが作成されたとき、使用頻度の高いハッシュテーブルを消去し、この他のＲＧＢデータについてのハッシュテーブルを設定してしまうと、色変換処理の処理速度が低下してしまうことがあり得る。そこで、上記テーブル設定手段は、上記各ハッシュテーブルの使用回数をカウントするカウント手段を有し、上記ハッシュテーブルを設定するに際して、同カウント手段にてカウントした使用回数が所定のしきい値より小さいと判別した場合に、上記上記作成されたハッシュキーに対応して、同ハッシュキーを作成した第一画像データと、同算出された第二画像データとを対応させたハッシュテーブルを上記色変換テーブルに設定する構成としてある。
上記のように構成した発明においては、テーブル設定手段に各ハッシュテーブルの使用回数をカウントするカウント手段を備えさせる。そして、ハッシュテーブルを設定するに際して、このカウント手段にてカウントした使用回数が所定のしきい値より小さいと判別した場合に、作成されたハッシュキーに対応して、ハッシュキーを作成した第一画像データと、算出された第二画像データとを対応させたハッシュテーブルを色変換テーブルに設定する。
【０００８】
ハッシュキーの作成方法の具体的な一例として、請求項２にかかる発明は、上記請求項１に記載の画像処理装置において、上記第一画像データは、各８ビットのＲＧＢデータにて形成されるとともに、上記ハッシュキー作成手段は、同ＲＧＢデータから１２ビットのハッシュキーを作成するに際して、上記Ｂデータの８ビットの先頭ビットを１２ビットの先頭ビットに合わせ、上記Ｇデータの先頭ビットを同Ｂデータの先頭ビットから２ビットずらすとともに、上記Ｒデータの先頭ビットを同Ｂデータの先頭ビットから４ビットずらし、この各ＲＧＢデータについて排他的論理和を行なうことによって、上記１２ビットのハッシュキーを作成する構成としてある。
【０００９】
上記のように構成した請求項２にかかる発明において、ハッシュキー作成手段では、ＲＧＢデータから１２ビットのハッシュキーを作成するに際して、先ずＢデータの８ビットの先頭ビットを１２ビットの先頭ビットに合わせる。次に、Ｇデータの先頭ビットを同Ｂデータの先頭ビットから２ビットずらし、Ｒデータの先頭ビットをＢデータの先頭ビットから４ビットずらして合わせる。そして、各ＲＧＢデータについて排他的論理和を行なうことによって１２ビットのハッシュキーを作成する。
【００１０】
ハッシュキーの作成方法の具体的な他の一例として、請求項３にかかる発明は、上記請求項２に記載の画像処理装置において、上記ハッシュキー作成手段は、上記Ｂデータの８ビットを反転させることによって、上記ハッシュキーの１２ビットの先頭２ビットに反映させ、上記排他的論理和に際して、同Ｂデータの下位２ビットに対する上記各ＲＧデータの影響を除外する構成としてある。
上記のように構成した請求項３にかかる発明においては、ハッシュキーを作成するに際して、Ｂデータの８ビットを反転させる。そして、ハッシュキーの１２ビットの先頭２ビットにこのＢデータの下位２ビットを反映させるようにして、上述した排他的論理和を行なう。これにより、Ｂデータの下位２ビットに対する各ＲＧデータの影響を除外することが可能になる。
【００１１】
ハッシュキーの作成方法の具体的なさらに他の一例として、請求項４にかかる発明は、上記請求項１に記載の画像処理装置において、上記第一画像データは、各８ビットのＲＧＢデータにて形成されるとともに、上記ハッシュキー作成手段は、同ＲＧＢデータから１２ビットのハッシュキーを作成するに際して、各８ビットの下位４ビットを抽出しつつ同各４ビットを連結することによって、上記１２ビットのハッシュキーを作成する構成としてある。
上記のように構成した請求項４にかかる発明においては、ハッシュキー作成手段は、各ＲＧＢデータから１２ビットのハッシュキーを作成するに際して、先ず各ＲＧＢデータの８ビットの下位４ビットを抽出する。そして、この抽出した各４ビットのデータを連結することによって１２ビットのハッシュキーを作成する。
【００１２】
ハッシュテーブルを使用頻度の高い第一画像データにて埋めて初期化すれば、四面体補間演算の回数を減らすことができ、色変換処理の高速化を図ることが可能になる。そこで、請求項５にかかる発明は、上記請求項１〜請求項４のいずれかに記載の画像処理装置において、上記各画素の色変換を行なうに際して、上記各ハッシュテーブルの初期化を行なう初期化手段を有するとともに、同初期化手段は、各ハッシュテーブルを使用頻度の高い第一画像データに基づいて初期化を行なう構成としてある。
上記のように構成した請求項５にかかる発明においては、各画素の色変換を行なうに際して、初期化手段にて各ハッシュテーブルの初期化を行なう。このとき、当該初期化手段では、各ハッシュテーブルを使用頻度の高い第一画像データに基づいて初期化を行なう。
【００１３】
使用頻度の高い第一画像データの一例として、請求項６にかかる発明は、上記請求項５に記載の画像処理装置において、上記第一画像データは、各ＲＧＢデータが階調０〜２５５にて表現されるとともに、上記初期化手段は、各ＲＧＢデータについて階調０および階調２５５にて可能な全ての組み合わせを使用頻度の高い第一画像データとし、上記ハッシュテーブルの初期化を行なう構成としてある。
上記のように構成した請求項６にかかる発明においては、第一画像データを階調０〜２５５のＲＧＢデータにて表現する。そして、初期化手段においてハッシュテーブルの初期化を行なうに際して、各ＲＧＢデータについて階調０および階調２５５にて可能な全ての組み合わせを使用頻度の高い第一画像データとして初期化を行なう。
【００１４】
【００１５】
【００１６】
請求項７にかかる発明は、上記請求項１〜請求項６のいずれかに記載の画像処理装置において、上記第一画像データと第二画像データとの対応関係を複数の参照点にて規定した第二色変換テーブルを有し、上記画像変換手段は、上記第一画像データを第二画像データに変換するに際して、上記入力した第一画像データが上記第二色変換テーブルの参照点であるか否かを判別し、同第一画像データが参照点である場合に、上記第二色変換テーブルに基づいて上記第一画像データを第二画像データに色変換するとともに、上記参照点でない場合に、上記色変換テーブルに基づいて上記第一画像データを第二画像データに色変換する構成としてある。
上記のように構成した請求項７にかかる発明においては、ハッシュテーブルにて構成される色変換テーブルとは別に第一画像データと第二画像データとの対応関係を複数の参照点にて規定した第二色変換テーブルを備えさせる。そして、画像変換手段では、第一画像データを第二画像データに変換するに際して、入力した第一画像データが第二色変換テーブルの参照点であるか否かを判別し、第一画像データが参照点である場合には、第二色変換テーブルに基づいて第一画像データを第二画像データに色変換する。一方、参照点でない場合には、色変換テーブルに基づいて第一画像データを第二画像データに色変換する。
【００１７】
また、複数の要素色にて表現される第一画像データを同第一画像データに基づいて作成可能な複数のハッシュキーに対応させて別の複数の要素色にて表現される第二画像データが規定された複数のハッシュテーブルを有する色変換テーブルを利用することによって、第二画像データに色変換する手法は必ずしも実体のある装置に限られる必要はなく、その画像処理方法としても機能することは容易に理解できる。
【００１８】
このため、請求項８にかかる発明は、複数の要素色にて表現される第一画像データを同第一画像データに基づいて作成可能な複数のハッシュキーに対応させて別の複数の要素色にて表現される第二画像データが規定された複数のハッシュテーブルを有する色変換テーブルを利用することによって、第二画像データに色変換する画像処理方法であって、上記第一画像データを各画素毎に入力する画像データ入力工程と、上記入力した第一画像データに基づいてハッシュキーを作成するハッシュキー作成工程と、上記第一画像データに基づいて所定の補間演算を実行することによって上記第二画像データを算出可能な演算工程と、上記作成されたハッシュキーを取得するとともに、同取得したハッシュキーに対応するハッシュテーブルに上記入力した第一画像データと第二画像データとの対応関係が規定されている場合、上記入力した第一画像データを同規定されている第二画像データに色変換するとともに、規定されていない場合、上記演算工程にて上記入力した第一画像データに基づいて所定の補間演算を実行させて第二画像データを算出し、同第一画像データを同算出された第二画像データにて色変換する画像変換工程と、上記各ハッシュテーブルの使用回数をカウントするカウント工程を有しつつ、上記演算工程にて第二画像データが算出されると同カウント工程にてカウントした使用回数が所定のしきい値より小さいと判別した場合に、上記作成されたハッシュキーに対応して、同ハッシュキーを作成した第一画像データと、同算出された第二画像データとを対応させたハッシュテーブルを上記色変換テーブルに設定するテーブル設定工程と、を具備する構成としてある。
すなわち、必ずしも実体のある装置に限らず、その方法としても有効であることに相違はない。
【００１９】
ところで、このような画像処理装置は単独で存在する場合もあるし、ある機器に組み込まれた状態で利用されることもあるなど、発明の思想としてはこれに限らず、各種の態様を含むものである。従って、ソフトウェアであったりハードウェアであったりするなど、適宜、変更可能である。発明の思想の具現化例としてインストール制御装置のソフトウェアとなる場合には、かかる機能を実現するプログラムが当然に存在し、同プログラムの実行にて機能が利用されるといわざるをえない。
【００２０】
その一例として、請求項９にかかる発明は、複数の要素色にて表現される第一画像データを同第一画像データに基づいて作成可能な複数のハッシュキーに対応させて別の複数の要素色にて表現される第二画像データが設定された複数のハッシュテーブルを有する色変換テーブルを利用することによって、第二画像データに色変換する機能を実現させる画像処理プログラムであって、上記第一画像データを各画素毎に入力する画像データ入力機能と、上記入力した第一画像データに基づいてハッシュキーを作成するハッシュキー作成機能と、上記第一画像データに基づいて所定の補間演算を実行することによって上記第二画像データを算出可能な演算機能と、上記作成されたハッシュキーを取得するとともに、同取得したハッシュキーに対応するハッシュテーブルに上記入力した第一画像データと第二画像データとの対応関係が設定されている場合、上記入力した第一画像データを同設定されている第二画像データに色変換するとともに、設定されていない場合、上記演算機能にて上記入力した第一画像データに基づいて所定の補間演算を実行させて第二画像データを算出し、同第一画像データを同算出された第二画像データにて色変換する画像変換機能と、上記各ハッシュテーブルの使用回数をカウントするカウント機能を有しつつ、上記演算機能にて第二画像データが算出されると同カウント機能にてカウントした使用回数が所定のしきい値より小さいと判別した場合に、上記作成されたハッシュキーに対応して、同ハッシュキーを作成した第一画像データと、同算出された第二画像データとを対応させたハッシュテーブルを上記色変換テーブルに設定するテーブル設定機能と、を実現させる構成としてある。
【００２１】
かかるソフトウェアを記録した記録媒体上においても当然に存在し、利用されるといわざるをえない。そこで、請求項１０にかかる発明は、上記請求項９に記載の画像処理プログラムを記録した媒体の構成としている。
【００２２】
むろん、その記録媒体は、磁気記録媒体であってもよいし光磁気記録媒体であってもよいし、今後開発されるいかなる記録媒体においても全く同様に考えることができる。また、一次複製品、二次複製品などの複製段階については全く問う余地無く同等である。また、一部がソフトウェアであって、一部がハードウェアで実現されている場合においても発明の思想において全く異なるものではなく、一部を記録媒体上に記憶しておいて必要に応じて適宜読み込まれるような形態のものとしてあってもよい。
【００２３】
【発明の効果】
以上説明したように本発明は、色変換に際してハッシュキーとハッシュテーブルとを利用することによって色変換処理を高速に実現することが可能な画像処理装置を提供することができる。
また、演算にて算出した第二画像データを以降の色変換処理にて利用することができる。
さらに、使用頻度に応じてハッシュテーブルを設定することが可能になる。
さらに、請求項２にかかる発明によれば、ハッシュキー作成方法の具体的な一例を提示することができる。
さらに、請求項３にかかる発明によれば、Ｂデータの下位２ビットに対する各ＲＧデータの影響を除外することが可能になる。
さらに、請求項４にかかる発明によれば、ハッシュキー作成方法の具体的な他の一例を提示することができる。
【００２４】
さらに、請求項５にかかる発明によれば、色変換処理の高速化を図ることが可能になる。
さらに、請求項６にかかる発明によれば、使用頻度の高い第一画像データの一例を示すことができる。
さらに、請求項７にかかる発明によれば、第一画像データが第二色変換テーブルの参照点上であれば、同第二色変換テーブルによって色変換を行なえばよく、処理の高速化を図ることが可能になる。
さらに、請求項８にかかる発明によれば、色変換に際してハッシュキーとハッシュテーブルとを利用することによって色変換処理を高速に実現することが可能な画像処理方法を提供することができる。
さらに、請求項９，請求項１０にかかる発明によれば、色変換に際してハッシュキーとハッシュテーブルとを利用することによって色変換処理を高速に実現することが可能な画像処理プログラム、画像処理プログラムを記録した媒体を提供することができる。
【００２５】
【発明の実施の形態】
ここでは、下記の順序に従って本発明の実施形態について説明する。
（１）レーザプリンタの構成：
（２）画像処理の処理内容：
（３）色変換処理の処理内容：
（４）変形例：
（５）まとめ：
【００２６】
（１）レーザプリンタの構成：
図１は本発明にかかる画像処理装置を有するレーザプリンタの内部構成を示した構成図である。
同図において、レーザプリンタ２０はコンピュータ１０に接続されるとともに、当該コンピュータ１０は図示しないＣＰＵ、ＲＡＭ、ＲＯＭ、ＨＤＤ等を内部に備え、ＨＤＤに格納されたアプリケーションの１つである画像プログラム１１をＣＰＵ等にて実行することによって画像の印刷データを生成可能になっている。そして、生成された印刷データはコンピュータ１０からレーザプリンタ２０に供給される。この印刷データは、所定のページ記述言語（ＰＤＬ）で記述された文字列であり、レーザプリンタ２０内のコントローラ２１に入力される。コントローラ２１内のインターフェース部２１ａは、この印刷データを解釈し、描画命令を生成して描画部２１ｂに供給する。
【００２７】
描画部２１ｂは、インターフェース部２１ａにて生成された描画命令に従ってドットに対応したＲＧＢの各色の階調データからなるＲＧＢデータを生成し、画像メモリであるバンドメモリ２１ｃに格納する。ここで、色処理部２１ｄは、色処理を行う。すなわち、バンドメモリ２１ｃに格納されたＲＧＢデータを直接読み出し、ＲＡＭ２２に格納されている色変換テーブル２２ａおよびＲＯＭ２３に格納されている色変換テーブル２３ａを使用してＲＧＢデータをＣＭＹＫデータに色変換する。さらに、色処理部２１ｄは、色変換されたドット毎のＣＭＹＫデータに対してハーフトーン処理（二値化処理）を行い、画像再生データを生成する。かかる場合、色処理部２１ｄは、所定のハーフトーン処理テーブルを参照してハーフトーン処理を行う。そして、このようにして生成された画像再生データは、ドット内のレーザ駆動パルス信号に変換されるとともに、プリンタエンジン２４に供給され、同プリンタエンジン２４にて同画像再生データに基づく印刷が実行される。
【００２８】
（２）画像処理の処理内容：
図２は、上述したコントローラ２１にて実行される画像処理の処理内容を示したフローチャートである。
同図において、コントローラ２１内のインターフェース部２１ａ、描画部２１ｂおよび色処理部２１ｄは、それぞれソフトウエアによって実現される機能である。また、バンドメモリ２１ｃは所定の画像メモリである。最初に、印刷データがコンピュータ１０から供給されると、インターフェース部２１ａ内の印刷データ解釈部にて受信する（ステップＳ１００）。印刷データ解釈部は、印刷データを解釈して（ステップＳ１０５）、当該印刷データから描画命令を作成し、描画部２１ｂに与える（ステップＳ１１０）。この描画命令は、例えば、「「あ」という文字を、どの色で、どの大きさで、どの位置に、どのフォントで印刷せよ」などで表現することができるものであり、印刷データを解釈することにより作成される。
【００２９】
そして、描画部２１ｂは、与えられた描画命令に従って、ドット毎のＲＧＢデータを作成する（ステップＳ１１５）。このとき、描画部２１ｂは、生成したＲＧＢデータを画像メモリであるバンドメモリ２１ｃ内に格納する。色処理部２１ｄは、バンドメモリ２１ｃから描画部２１ｂにて生成されたＲＧＢデータと、予めＲＡＭ２２に格納されている色変換テーブル２２ａと、ＲＯＭ２３に格納されている色変換テーブル２３ａとを読み出す。そして、色処理部２１ｄ内のＲＧＢ色調整部にて読み出したＲＧＢデータに対し、所定の色調整テーブルを参照して、色の強度を調整するなどの色調整処理を行うとともに、調整されたＲＧＢデータを当該色処理部２１ｄ内の色変換部に渡す。ここで、色変換部は、読み出された色変換テーブル２２ａおよび色変換テーブル２３ａを参照して、ＲＧＢデータをＣＭＹＫデータに変換する色変換処理を実行する（ステップＳ１２０）。
【００３０】
本実施形態にかかる色変換処理の処理内容は後述する。色変換処理によって変換されたＣＭＹＫデータは、色処理部２１ｄ内のＣＭＹＫ色調整部において、所定の色調整テーブルを参照して、色調整される。例えば、特定の色の強度を強調するなどである。そして、色処理部２１ｄ内のハーフトーン処理部は、色調整されたＣＭＹＫデータに対して所定のハーフトーン処理テーブルを参照して、複数のドットからなる網点によるハーフトーン処理（二値化処理）を行う（ステップＳ１２５）。その結果、ドットを印刷するか印刷しないの二値データ、あるいは、ドット内のさらに狭い領域を印刷するか印刷しないかの二値データからなる画像再生データが生成される。この画像再生データは、パルス幅変調に与えられ、プリンタエンジン２４内のレーザの駆動パルス信号に変調され、プリンタエンジン２４に与えられる。そして、以上のステップＳ１０５〜Ｓ１２５の処理を１ページ毎に繰り返す（ステップＳ１３０）。
【００３１】
ここで、上述したＲＯＭ２３に格納されている色変換テーブル２３ａは、ＲＧＢ色空間とＣＭＹＫ色空間との対応関係を複数の参照点にて設定したものであり、この参照点はＲＧＢ色空間の各軸の階調０〜２５５を１６等分した格子点上に形成されている。色処理部２１ｄは、格子点上のＲＧＢデータをＣＭＹＫデータに色変換する際には、この色変換テーブル２３ａを参照し、ＲＧＢデータに対応するＣＭＹＫデータを取得して変換する。一方、ＲＡＭ２２に格納されている色変換テーブル２２ａは、ハッシュテーブルにて構成されている。ここで、色変換テーブル２３ａの格子点上以外のＲＧＢデータの場合、このＲＧＢデータに近接する４つの格子点のＲＧＢデータを色変換テーブル２３ａから抽出し、この４つのＲＧＢデータに対応した色変換テーブル２３ａ上のＣＭＹＫデータを参照し、この４つのＣＭＹＫデータに基づいて四面体補間演算を実行することによってＣＭＹＫデータを算出する。
【００３２】
そして、当該格子点以外のＲＧＢデータを算出したＣＭＹＫデータに色変換する。このとき、従来は格子点以外のＲＧＢデータをＣＭＹＫデータに色変換する場合、全てについて四面体補間演算を実行していた。かかる四面体補間演算は処理が大きく、このため色変換処理の処理が長時間となっていた。そこで、本実施形態においては、この格子点以外のＲＧＢデータの色変換について、ハッシュテーブルにて構成する色変換テーブル２２ａを利用する態様を採用する。かかる場合、ＲＧＢデータとＣＭＹＫデータとの対応関係をハッシュキーにて管理する。本実施形態においては、ＲＧＢデータに基づいて１２ビット長のハッシュキーを形成する。
【００３３】
そして、１２ビット長のハッシュキーを形成したＲＧＢデータと、四面体補間演算にて算出したＣＭＹＫデータとをハッシュテーブルにて構成された色変換テーブル２２ａに格納していく。これによって、再度、同じＲＧＢデータをＣＭＹＫデータに色変換するに際しては、ＲＧＢデータにて１２ビット長のハッシュキーを作成し、このハッシュキーに基づいて色変換テーブル２２ａのハッシュテーブルに格納されたＣＭＹＫデータを抽出し、このＣＭＹＫデータによって色変換を行なう。このように、本実施形態は、格子点以外のＲＧＢデータをＣＭＹＫデータに色変換するに際してハッシュテーブルを利用することによって、色変換対象のＲＧＢデータが色変換テーブル２３ａの格子点以外の場合に、各ＲＧＢデータについて四面体補間演算にてＣＭＹＫデータを算出する必要を無くし、色変換処理全体の処理速度を高速化することを可能にする。
【００３４】
（３）色変換処理の処理内容：
図３は、色処理部２１ｄにて実行される色変換処理の処理内容を示したフローチャートである。また、図４は、上述したハッシュテーブルにて構成される色変換テーブル２２ａの構成を示した構成図であり、図５は、上述したハッシュキーの作成方法を示した模式図である。図において、最初に色変換テーブル２２ａを初期化する（ステップＳ２００）。色変換テーブル２２ａは、作成可能なハッシュキー数に対応したハッシュテーブルを有している。すなわち、ハッシュキーが１２ビット長にて形成されることから、２＊＊１２個（＝４０９６個）のハッシュテーブルを有することになる。
【００３５】
各ハッシュテーブルは、ハッシュキー番号２２ａ１と、フラグデータ２２ａ２と、ＲＧＢデータ２２ａ３〜２２ａ５と、ＣＭＹＫデータ２２ａ６〜２２ａ９とから構成されている。本実施形態においては、各データ２２ａ１〜２２ａ９は、８ビット長にて形成されている。このハッシュキー番号２２ａ１には「０〜４０９６」の番号が順番に付与されている。フラグデータ２２ａ２は、ハッシュテーブルにＲＧＢデータ２２ａ３〜２２ａ５と、ＣＭＹＫデータ２２ａ６〜２２ａ９との対応関係が格納されている否かを示すものであり、かかる対応関係が格納されている場合はオンを示すデータとなり、格納されていない場合はオフを示すデータとなる。従って、このステップＳ２００での初期化では、各ハッシュテーブルのフラグデータ２２ａ２をオフにする。
【００３６】
これによって、色変換テーブル２２ａをＲＧＢデータ２２ａ３〜２２ａ５と、ＣＭＹＫデータ２２ａ６〜２２ａ９との対応関係が設定されていない状態にする。色変換テーブル２２ａの初期化が完了すると、バンドメモリ２１ｃから１画素分のＲＧＢデータを入力する（ステップＳ２０５）。そして、この入力したＲＧＢデータが色変換テーブル２３ａの格子点上のデータであるか否かを判別する（ステップＳ２１０）。ここで、このＲＧＢデータが色変換テーブル２３ａの格子点上のデータであると判別された場合は、当該色変換テーブル２３ａから対応するＣＭＹＫデータを抽出して、ＲＧＢデータをこの抽出したＣＭＹＫデータに色変換する（ステップＳ２１５）。一方、ステップＳ２０５にて入力したＲＧＢデータが色変換テーブル２３ａの格子点上のＲＧＢデータでないと判別された場合は、このＲＧＢデータに基づいて１２ビット長のハッシュキーを作成する（ステップＳ２２０）。
【００３７】
ハッシュキーを作成するに際しては、８ビット長の各ＲＧＢデータから１２ビット長のハッシュキーを作成する。このとき、８ビット長のＲデータの最下位ビットと、１２ビット長のハッシュキーの最下位ビットとを合わせ、８ビット長のＧデータの最下位ビットをハッシュキーの最下位ビットから２ビット上位側に移行させて合わせ、８ビット長のＢデータの最下位ビットをハッシュキーの最下位ビットから４ビット上位側に移行させて合わせる。そして、Ｒデータと、それぞれ移行させたＧデータおよびＢデータとの排他的論理和を演算して、１２ビット長のハッシュキーを作成する。このように、入力したＲＧＢデータに基づいてハッシュキーを作成すると、当該ハッシュキーに基づいて色変換テーブル２２ａから対応するハッシュテーブルを検出する（ステップＳ２３０）。ここで、本実施形態においては、Ｒ→Ｇ→Ｂの順番で順次ハッシュキーの先頭ビットから２ビット、４ビットとずらして排他的論理和を演算する態様を採用したが、むろん、この順番は適宜変更可能であることは言うまでもない。
【００３８】
ハッシュテーブルが検出されると、当該検出したハッシュテーブルに既にＣＭＹＫデータ２２ａ６〜２２ａ９が格納されているか否かを示すフラグデータ２２ａ２がオンであるかオフであるかを判別する（ステップＳ２３５）。フラグデータ２２ａ２がオフしていると判別された場合は、対応するハッシュテーブルにＣＭＹＫデータ２２ａ６〜２２ａ９が格納されていないことを示しているため、この入力したＲＧＢデータに近接する４つの格子点を色変換テーブル２３ａにて特定し、この４点に基づいて四面体補間演算を実行する。そして、この四面体補間演算にて算出されたＣＭＹＫデータに基づいてＲＧＢデータを色変換する（ステップＳ２４０）。
【００３９】
そして、この算出したＣＭＹＫデータを作成したハッシュキー番号２２ａ１のＣＭＹＫデータ２２ａ６〜２２ａ９に格納する。このとき、入力したＲＧＢデータを当該ハッシュキー番号２２ａ１のＲＧＢデータ２２ａ３〜２２ａ５に格納するとともに（ステップＳ２４５）、当該ハッシュキー番号２２ａ１のフラグデータ２２ａ２をオンにする（ステップＳ２５０）。一方、ステップＳ２３５にてフラグデータ２２ａ２がオンしていると判別された場合は、入力したＲＧＢデータと、このＲＧＢデータにて作成したハッシュキー番号２２ａ１に格納されているＲＧＢデータ２２ａ３〜２２ａ５とが一致するか否かを判別する比較処理を実行する（ステップＳ２５５）。
【００４０】
図６は、この比較処理の処理内容を示したフローチャートであるとともに、図７は、比較の態様を示した模式図である。図において、入力したＲＧＢデータは各８ビット長のデータにて構成されるとともに、ハッシュテーブルは先頭に８ビット長のフラグデータ２２ａ２が配置され、このフラグデータ２２ａ２の後に各８ビット長のＲＧＢデータ２２ａ３〜２２ａ５が格納されている。従って、比較に際して、先ず、入力したＲＧＢデータからＲデータのみを抽出するとともに、ハッシュテーブルからＲデータ２２ａ３を抽出し、相互について比較する（ステップＳ３００）。比較の結果、Ｒデータが一致する場合には（ステップＳ３０５）、入力したＲＧＢデータからＧデータのみを抽出するとともに、ハッシュテーブルからＧデータ２２ａ４を抽出し、相互について比較する（ステップＳ３１０）。
【００４１】
そして、比較の結果、Ｇデータが一致する場合には（ステップＳ３１５）、入力したＲＧＢデータからＢデータのみを抽出するとともに、ハッシュテーブルからＢデータ２２ａ５を抽出し、相互について比較する（ステップＳ３２０）。比較の結果、Ｂデータが一致する場合は（ステップＳ３２５）、入力したＲＧＢデータと、このＲＧＢデータに基づいて作成したハッシュキー番号２２ａ１に格納されているＲＧＢデータ２２ａ３〜２２ａ５とが一致したと判断する（ステップＳ３３０）。一方、ステップＳ３０５，Ｓ３１５，Ｓ３２５にて不一致と判別された場合は、入力したＲＧＢデータと、このＲＧＢデータに基づいて作成したハッシュキー番号２２ａ１に格納されているＲＧＢデータ２２ａ３〜２２ａ５とが不一致であると判断する（ステップＳ３３５）。
【００４２】
比較処理が終了すると、色変換処理に戻り、この比較処理での比較結果が入力したＲＧＢデータと、このＲＧＢデータにて作成したハッシュキー番号２２ａ１のハッシュテーブルに格納されているＲＧＢデータ２２ａ３〜２２ａ５とが一致していることを示しているか否かを判別する（ステップＳ２６０）。一致していると判別された場合は、入力したＲＧＢデータに近接する４つの格子点を色変換テーブル２３ａにて特定し、この４点に基づいて四面体補間演算を実行する。そして、この四面体補間演算にて算出されたＣＭＹＫデータに基づいてＲＧＢデータを色変換する（ステップＳ２６５）。また、ステップＳ２６０にて一致していると判別された場合は、このハッシュキー番号２２ａ１のハッシュテーブルに格納されているＣＭＹＫデータ２２ａ６〜２２ａ９によってＲＧＢデータを色変換する（ステップＳ２７０）。そして、以上のステップＳ２０５〜Ｓ２７０までの処理を全画素について実施する（ステップＳ２７５）。
【００４３】
このように、色変換テーブル２３ａの格子点以外のＲＧＢデータについてＣＭＹＫデータに色変換を行なうに際して、一度、四面体補間演算にてＣＭＹＫデータを算出したものをこのＲＧＢデータから作成したハッシュキーと対応させて色変換テーブル２２ａのハッシュテーブルに格納することによって、以降、ハッシュキー番号２２ａ１が同等となるＲＧＢデータが入力された場合であって、入力したＲＧＢデータと、当該ハッシュキー番号２２ａ１に格納されたＲＧＢデータ２２ａ３〜２２ａ５とが一致する場合には、再度、四面体補間演算を実行することなく、ハッシュテーブルから該当するＣＭＹＫデータ２２ａ６〜２２ａ９を抽出して色変換すれば良く、色変換処理を高速化することが可能になる。
【００４４】
上述した実施形態では、ステップＳ２００の色変換テーブル２２ａの初期化において、当該色変換テーブル２２ａの各ハッシュテーブルのフラグデータ２２ａ２をオフとして、各データ２２ａ２〜２２ａ９が格納されていない状態に初期化する態様を採用した。むろん、色変換テーブル２２ａの初期化の態様は特に限定されるものではなく、初期化の段階で予め使用頻度の高いＲＧＢデータ２２ａ３〜２２ａ５と、ＣＭＹＫデータ２２ａ６〜２２ａ９との対応関係を格納しておくようにしても良い。例えば、各ＲＧＢデータの階調０，２５５による全ての組み合わせについて、予めハッシュキーを作成するとともに、各ハッシュテーブルに格納する。そして、該当するハッシュテーブルのフラグデータ２２ａ２をオンとする。これによって、予め初期化にてハッシュテーブルに格納した使用頻度の高いＲＧＢデータを入力した場合は、ステップＳ２４０〜Ｓ２５０の処理を実行することなく、ステップＳ２５５以降の処理に移行することができて、色変換処理の一層の高速化を図ることが可能となる。
【００４５】
また、上述した実施形態では、ステップＳ２６５において、入力したＲＧＢデータとこのＲＧＢデータに基づいて作成されたハッシュキー番号２２ａ１に格納されているＲＧＢデータ２２ａ３〜２２ａ５とが一致しない場合に、四面体補間演算を実行してＲＧＢデータをＣＭＹＫデータに変換した。このとき、この入力したＲＧＢデータと、演算したＣＭＹＫデータに基づいてハッシュテーブルを更新しない態様を採用した。むろん、かかる場合、この入力したＲＧＢデータを対応するハッシュキー番号２２ａ１のＲＧＢデータ２２ａ３〜２２ａ５として格納するとともに、演算したＣＭＹＫデータをＣＭＹＫデータ２２ａ６〜２２ａ９に格納するようにしても良いことは言うまでもない。
【００４６】
このように、ステップＳ２６５において、四面体補間演算の演算結果をハッシュテーブルに格納する場合、既に格納されているハッシュテーブルの使用頻度を考慮するようにしても良い。すなわち、各ハッシュテーブルの使用頻度をカウントするカウンターデータを設け、ステップＳ２７０にてハッシュテーブルに基づく色変換が行なわれる毎にこのカウンターデータをインクリメントすることによって、そのハッシュテーブルが色変換に使用された回数を識別可能にする。そして、ステップＳ２６５にて演算結果を格納するに際して、このカウンターデータが所定のしきい値より小さいか否かを判別し、小さければ使用頻度が低いとみなし、演算結果を格納する。一方、所定のしきい値以上であれば、使用頻度が高いとみなし、演算結果を格納せずに、既に格納されているハッシュテーブルのデータを残しておく。これによって、使用頻度の高いハッシュテーブルを色変換テーブル２２ａに残すことが可能となり、ステップＳ２６０でのヒット率を向上させることが可能になる。
【００４７】
ここで、上述した実施形態においては、入力したＲＧＢデータに基づいてハッシュキーを作成するに際して、８ビット長のＲデータの最下位ビットと、１２ビット長のハッシュキーの最下位ビットとを合わせ、８ビット長のＧデータの最下位ビットをハッシュキーの最下位ビットから２ビット上位側に移行させて合わせ、８ビット長のＢデータの最下位ビットをハッシュキーの最下位ビットから４ビット上位側に移行させて合わせる。そして、Ｒデータと、それぞれ移行させたＧデータおよびＢデータとの排他的論理和を演算して、１２ビット長のハッシュキーを作成した。むろん、ハッシュキーの作成方法は特に限定されるものではなく、適宜変更可能である。
【００４８】
図８は、ハッシュキーの作成方法の他の態様を示した摸式図である。
同図においては、１２ビット長のハッシュキーの最上位２ビットのデータにＢデータの最下位２ビットのデータを反映させる方法を示している。かかる場合、先ず、８ビット長のＲデータの最下位ビットと、１２ビット長のハッシュキーの最下位ビットとを合わせ、次に、８ビット長のＧデータの最下位ビットをハッシュキーの最下位ビットから２ビット上位側に移行させて合わせ、そして、８ビット長のＢデータのビット列を反転させるとともに、反転させたビット列の最下位ビットをハッシュキーの最下位ビットから４ビット上位側に移行させて合わせる。そして、Ｒデータと、それぞれ移行させたＧデータおよびＢデータとの排他的論理和を演算して、１２ビット長のハッシュキーを作成する。
【００４９】
図９は、ハッシュキーの作成方法のさらに他の態様を示した模式図である。
同図においては、１２ビット長のハッシュキーに各ＲＧＢデータの下位４ビットのデータを反映させる方法を示している。かかる場合、先ず、８ビット長のＲデータの下位４ビットのデータを抽出する。同様に、８ビット長のＧデータの下位４ビットのデータを抽出するとともに、８ビット長のＢデータの下位４ビットのデータを抽出する。そして、これら抽出した各４ビットのデータを連結して１２ビット長の１２ビット長のハッシュキーを作成する。かかる場合、図では、ハッシュキーの上位よりＢ→Ｇ→Ｒの順番で連結したが、この連結方法は特に限定されるものではなく、適宜変更可能である。
【００５０】
上述した実施形態においては、色変換テーブル２２ａをフラグデータ２２ａ１，ＲＧＢデータ２２ａ２〜２２ａ５，ＣＭＹＫデータ２２ａ６〜２２ａ９の順番で構成した。このように構成した場合、ステップＳ２５５の比較処理にて入力したＲＧＢデータと、このＲＧＢデータに基づいて作成したハッシュキー番号２２ａ１に格納されるＲＧＢデータ２２ａ３〜２２ａ５とを比較する場合、８ビット長の各ＲＧＢデータ毎に個別に比較しなければならない。これは、フラグデータ２２ａ１が先頭に挿入されているため、入力したＲＧＢデータとの位置の整合が取れないためである。かかる場合、この比較処理の処理時間が長時間となってしまう。
【００５１】
ここで、この比較処理の処理時間を短縮可能な色変換テーブル２２ａの構成を図１０の構成図に示す。また、図１１は、かかる場合の比較処理の処理内容を示したフローチャートである。また、図１２は、比較態様を示した模式図である。  図においては、色変換テーブル２２ａをＲＧＢデータ２２ａ２〜２２ａ４，フラグデータ２２ａ５，ＣＭＹＫデータ２２ａ６〜２２ａ９の順番で構成する。
そして、比較処理に際しては、入力した８ビット長＊４＝３２ビット長のＲＧＢデータ（８ビット長のＸデータをダミーとして挿入）と、３２ビット長のＲＧＢデータ２２ａ２〜２２ａ４，フラグデータ２２ａ５とを一括して比較する（ステップＳ４００）。
【００５２】
このとき、Ｘデータおよびフラグデータ２２ａ５はマスク処理する。そして、一致するか否かを判別し（ステップＳ４０５）、一致する場合は、入力したＲＧＢデータと、このＲＧＢデータに基づいて作成したハッシュキー番号２２ａ１に格納されているＲＧＢデータ２２ａ２〜２２ａ４とが一致したと判断する（ステップＳ４１０）。一方、ステップＳ４０５にて不一致と判別された場合は、入力したＲＧＢデータと、このＲＧＢデータに基づいて作成したハッシュキー番号２２ａ１に格納されているＲＧＢデータ２２ａ２〜２２ａ４とが不一致であると判断する（ステップＳ４１５）。このように、ＲＧＢデータを一括して比較することによって、比較処理の高速化を図ることが可能になる。
【００５３】
（４）変形例：
上述してきた実施形態においては、レーザプリンタ２０の色処理部２１ｄにて色変換テーブル２２ａと色変換テーブル２３ａを利用して色変換処理を行なう構成を採用した。このように色変換テーブルを利用して色変換処理を実行し、印刷に使用する画像印字データを生成するようにしても良いし、コンピュータ１０にインクジェットプリンタを接続した場合には、当該コンピュータ１０側のオペレーティングシステムに組み込まれたプリンタドライバにおいてプリンタに出力する印刷データを作成する際に実行される色変換処理にて本発明を適用しても良い。図１３は本発明にかかる画像処理プログラムを実行可能なコンピュータの概略ハードウェア構成を示しており、図１４は、画像処理プログラムが同コンピュータのオペレーティングシステムに組み込まれたプリンタドライバ上に色変換モジュール２１ｂとして実現された場合における概略構成図を示している。図において、コンピュータ１０は演算処理の中枢をなすＣＰＵ１１を備えており、このＣＰＵ１１はシステムバス１２を介してＢＩＯＳなどの記載されたＲＯＭ１３やＲＡＭ１４にアクセス可能となっている。
【００５４】
また、システムバス１２には、外部記憶装置としてのハードディスクドライブ（ＨＤＤ）１５とフレキシブルディスクドライブ１６とＣＤ−ＲＯＭドライブ１７とが接続されており、ＨＤＤ１５に記憶されたＯＳ２０やアプリケーションプログラム（ＡＰＬ）２５等がＲＡＭ１４に転送され、ＣＰＵ１１はＲＯＭ１３とＲＡＭ１４に適宜アクセスしてソフトウェアを実行する。すなわち、ＲＡＭ１４を一時的なワークエリアとして種々のプログラムを実行する。
【００５５】
コンピュータ１０には、シリアル通信用Ｉ／Ｏ１９ａを介してキーボード３１やマウス３２等の操作用入力機器が接続されており、図示しないビデオボードを介して表示用のディスプレイ１８も接続されている。さらに、プリンタ２０とはパラレル通信用Ｉ／Ｏ１９ｂを介して接続が可能である。尚、本コンピュータ１０の構成は簡略化して説明しているが、パーソナルコンピュータとして一般的な構成を有するものを採用することができる。むろん、本発明が適用されるコンピュータはパーソナルコンピュータに限定されるものではない。この実施形態はいわゆるデスクトップ型コンピュータであるが、ノート型であるとか、モバイル対応のものであっても良い。また、コンピュータ１０とプリンタ４０の接続インタフェースも上述のものに限る必要はなくシリアルインタフェースやＳＣＳＩ，ＵＳＢ接続など種々の接続態様を採用可能であるし、今後開発されるいかなる接続態様であっても同様である。
【００５６】
この例では各プログラムの類は、ＨＤＤ１５に記憶されているが、記録媒体はこれに限定されるものではない。例えば、フレキシブルディスク１６ａであるとか、ＣＤ−ＲＯＭ１７ａであってもよい。これらの記録媒体に記録されたプログラムはフレキシブルディスクドライブ１６やＣＤ−ＲＯＭドライブ１７を介してコンピュータ１０にて読み込まれ、ＨＤＤ１５にインストールされる。そして、ＨＤＤ１５を介してＲＡＭ１４上に読み込まれてコンピュータを制御することになる。また、記録媒体はこれに限らず、光磁気ディスクなどであってもよい。また、半導体デバイスとしてフラッシュカードなどの不揮発性メモリなどを利用することも可能であるし、モデムや通信回線を介して外部のファイルサーバにアクセスしてダウンロードする場合には通信回線が伝送媒体となって本発明が利用される。
【００５７】
一方、図１４に示すように、本実施形態にかかるコンピュータ１０では、プリンタドライバ（ＰＲＴＤＲＶ）５１と、入力機器ドライバ（ＤＲＶ）５２と、ディスプレイドライバ（ＤＲＶ）５３とがオペレーティングシステム５０に組み込まれている。ディスプレイＤＲＶ５３は、ディスプレイ１８における画像データ等の表示を制御するドライバであり、入力機器ＤＲＶ５２は、シリアル通信用Ｉ／Ｏ１９ａを介して入力される上記キーボード３１やマウス３２からのコード信号を受信して所定の入力操作を受け付けるドライバである。
【００５８】
ＡＰＬ５５は、カラー画像のレタッチ等を実行可能なアプリケーションプログラムであり、利用者は当該ＡＰＬ５５の実行下において上記操作用入力機器を操作して当該カラー画像をプリンタ４０にて印刷させることができる。すなわち、ＡＰＬ５５は利用者の指示によりＨＤＤ１５に記録された画像データ１５ａをＲＡＭ１４に読み出して、ディスプレイＤＲＶ５３を介して当該画像データ１５ａに基づく画像をディスプレイ１８上に表示させる。利用者が上記入力機器を操作するとその操作内容が入力機器ＤＲＶ５２を介して取得されて内容が解釈されるようになっており、ＡＰＬ５５はその操作内容に応じて印刷指示やレタッチなど種々の処理を行う。
【００５９】
ＡＰＬ５５にて印刷指示がなされると上記ＰＲＴＤＲＶ５１が駆動され、ＰＲＴＤＲＶ５１はディスプレイＤＲＶ５３にデータを送出して印刷に必要な情報を入力させるためのＵＩを表示する。そして、本実施形態において、ＨＤＤ１５には、上述してきたハッシュテーブルにて構成されている色変換テーブル２２ａと同等の色変換テーブル１５ｂと、上述してきた色変換テーブル２３ａと同等の色変換テーブル１５ｃとが格納されている。ここで、利用者がＰＲＴＤＲＶ５１にて印刷実行を指示すると、図１５に示すフローチャートに従って印刷処理を実行する。同図において、印刷処理が開始されると、画像データ取得モジュール５１ａは、ＲＡＭ１４に格納された画像の画像データ１５ａを取得する（ステップＳ５００）。すると、画像データ取得モジュール５１ａは色変換モジュール５１ｂを起動する（ステップＳ２１０）。色変換モジュール５１ｂでは、後述するフローチャートに従って色変換処理を実行する（ステップＳ５１０）。
【００６０】
そして、色変換モジュール５１ｂにて実行される色変換処理にてＲＧＢデータからＣＭＹＫデータに色変換が行なわれると、ハーフトーン処理モジュール５１ｃが起動され、当該ＣＭＹＫデータが同ハーフトーン処理モジュール５１ｃに受け渡される。ハーフトーン処理モジュール５１ｃは、各ドットのＣＭＹＫ階調値を変換してインク滴の記録密度で表現するためのハーフトーン処理を行うモジュールであり、変換後の記録密度でインクを付着させるためのヘッド駆動データを生成する（ステップＳ５２０）。
【００６１】
印刷データ生成モジュール５１ｄは、かかるヘッド駆動データを受け取って、プリンタ４０で使用される順番に並べ替える（ステップＳ５３０）。すなわち、プリンタ４０においてはインク吐出デバイスとして図示しない吐出ノズルアレイが搭載されており、当該ノズルアレイでは副走査方向に複数の吐出ノズルが並設されるため、副走査方向に数ドット分間離れたデータが同時に使用される。そこで、主走査方向に並ぶデータのうち同時に使用されるべきものがプリンタ４０にて同時にバッファリングされるように順番に並べ替えるラスタライズを行う。このラスタライズの後、画像の解像度などの所定の情報を付加して印刷データを生成し、パラレル通信用Ｉ／Ｏ１９ｂを介してプリンタ４０に出力する（ステップＳ５４０）。プリンタ４０においては当該印刷データに基づいてディスプレイ１８に表示された画像を印刷する。そして、このラスタライズの処理を全ラスタ分実行する（ステップＳ５５０）。
【００６２】
図１６は、上述した印刷処理のステップＳ５１０にて実行される色変換処理の処理内容を示したフローチャートである。なお、このフローチャートの説明における色変換テーブル１５ｂの構成およびハッシュキーの作成方法は、図４に示した色変換テーブル２２ａの構成および図５に示したハッシュキーの作成方法と同等である。同図において、最初に色変換テーブル１５ｂを初期化する（ステップＳ６００）。この初期化は、図３に示したステップＳ２００での処理と同等である。色変換テーブル１５ｂの初期化が完了すると、画像データ１５ａから１画素分のＲＧＢデータを入力する（ステップＳ６０５）。そして、この入力したＲＧＢデータが色変換テーブル１５ｃの格子点上のデータであるか否かを判別する（ステップＳ６１０）。
【００６３】
ここで、このＲＧＢデータが色変換テーブル１５ｃの格子点上のデータであると判別された場合は、当該色変換テーブル１５ｃから対応するＣＭＹＫデータを抽出して、ＲＧＢデータをこの抽出したＣＭＹＫデータに色変換する（ステップＳ６１５）。一方、ステップＳ６０５にて入力したＲＧＢデータが色変換テーブル１５ｃの格子点上のＲＧＢデータでないと判別された場合は、このＲＧＢデータに基づいて１２ビット長のハッシュキーを作成する（ステップＳ６２０）。入力したＲＧＢデータに基づいてハッシュキーを作成すると、当該ハッシュキーに基づいて色変換テーブル１５ｂから対応するハッシュテーブルを検出する（ステップＳ６３０）。
【００６４】
ハッシュテーブルが検出されると、当該検出したハッシュテーブルに既にＣＭＹＫデータ２２ａ６〜２２ａ９が格納されているか否かを示すフラグデータ２２ａ２がオンであるかオフであるかを判別する（ステップＳ６３５）。フラグデータ２２ａ２がオフしていると判別された場合は、対応するハッシュテーブルにＣＭＹＫデータ２２ａ６〜２２ａ９が格納されていないことを示しているため、この入力したＲＧＢデータに近接する４つの格子点を色変換テーブル１５ｃにて特定し、この４点に基づいて四面体補間演算を実行する。そして、この四面体補間演算にて算出されたＣＭＹＫデータに基づいてＲＧＢデータを色変換する（ステップＳ６４０）。
【００６５】
そして、この算出したＣＭＹＫデータを作成したハッシュキー番号２２ａ１のＣＭＹＫデータ２２ａ６〜２２ａ９に格納する。このとき、入力したＲＧＢデータを当該ハッシュキー番号２２ａ１のＲＧＢデータ２２ａ３〜２２ａ５に格納するとともに（ステップＳ６４５）、当該ハッシュキー番号２２ａ１のフラグデータ２２ａ２をオンにする（ステップＳ６５０）。一方、ステップＳ６３５にてフラグデータ２２ａ２がオンしていると判別された場合は、入力したＲＧＢデータと、このＲＧＢデータにて作成したハッシュキー番号２２ａ１に格納されているＲＧＢデータ２２ａ３〜２２ａ５とが一致するか否かを判別する比較処理を実行する（ステップＳ６５５）。この比較処理は、上述した図６に示した比較処理の処理内容と同等である。
【００６６】
比較処理が終了すると、色変換処理に戻り、この比較処理での比較結果が入力したＲＧＢデータと、このＲＧＢデータにて作成したハッシュキー番号２２ａ１のハッシュテーブルに格納されているＲＧＢデータ２２ａ３〜２２ａ５とが一致していることを示しているか否かを判別する（ステップＳ６６０）。一致していると判別された場合は、入力したＲＧＢデータに近接する４つの格子点を色変換テーブル１５ｃにて特定し、この４点に基づいて四面体補間演算を実行する。そして、この四面体補間演算にて算出されたＣＭＹＫデータに基づいてＲＧＢデータを色変換する（ステップＳ６６５）。また、ステップＳ６６０にて一致していると判別された場合は、このハッシュキー番号２２ａ１のハッシュテーブルに格納されているＣＭＹＫデータ２２ａ６〜２２ａ９によってＲＧＢデータを色変換する（ステップＳ６７０）。そして、以上のステップＳ６０５〜Ｓ６７０までの処理を全画素について実施する（ステップＳ６７５）。
【００６７】
このように、ハッシュテーブルにて構成される色変換テーブル１５ｂと、参照点にて構成される色変換テーブル１５ｃを併用することによって、四面体補間演算を実行する回数を大幅に少なくすることが可能となる。かかる場合、四面体他演算をソフトウェア処理して行う装置、すなわち、四面体補間演算の専用ハードがない場合において、色変換処理の高速化を実現することが可能となる。
【００６８】
（５）まとめ：
このように、色変換テーブル２３ａの格子点以外のＲＧＢデータについてＣＭＹＫデータに色変換を行なうに際して、一度、四面体補間演算にてＣＭＹＫデータを算出したものをこのＲＧＢデータから作成したハッシュキーと対応させて色変換テーブル２２ａのハッシュテーブルに格納することによって、以降、ハッシュキー番号２２ａ１が同等となるＲＧＢデータが入力された場合であって、入力したＲＧＢデータと、当該ハッシュキー番号２２ａ１に格納されたＲＧＢデータ２２ａ３〜２２ａ５とが一致する場合には、再度、四面体補間演算を実行することなく、ハッシュテーブルから該当するＣＭＹＫデータ２２ａ６〜２２ａ９を抽出して色変換すれば良く、色変換処理を高速化することが可能になる。
【図面の簡単な説明】
【図１】  本発明にかかる画像処理装置を有するレーザプリンタの内部構成を示した構成図である。
【図２】  画像処理の処理内容を示したフローチャートである。
【図３】  色変換処理の処理内容を示したフローチャートである。
【図４】  色変換テーブルの構成を示した構成図である。
【図５】  ハッシュキーの作成方法を示した模式図である。
【図６】  比較処理の処理内容を示したフローチャートである。
【図７】  比較の態様を示した模式図である。
【図８】  ハッシュキーの作成方法の他の態様を示した摸式図である。
【図９】  ハッシュキーの作成方法の他の態様を示した摸式図である。
【図１０】  色変換テーブルの他の構成を示した構成図である。
【図１１】  比較処理の他の処理内容を示したフローチャートである。
【図１２】  他の比較の態様を示した模式図である。
【図１３】  コンピュータのハードウェア構成を示した構成図である。
【図１４】  コンピュータのソフトウェア構成を示した構成図である。
【図１５】  印刷処理の処理内容を示したフローチャートである。
【図１６】  色変換処理の処理内容を示したフローチャートである。
【符号の説明】
１０…コンピュータ
１１…画像プログラム
２０…レーザプリンタ
２１…コントローラ
２１ａ…インターフェース部
２１ｂ…描画部
２１ｃ…バンドメモリ
２１ｄ…色処理部
２２…ＲＡＭ
２２ａ…色変換テーブル
２３…ＲＯＭ
２３ａ…色変換テーブル
２４…プリンタエンジン
【図１】
0003846570.tif 000002
【図２】
0003846570.tif 000003
【図３】
0003846570.tif 000004
【図４】
0003846570.tif 000005
【図５】
0003846570.tif 000006
【図６】
0003846570.tif 000007
【図７】
0003846570.tif 000008
【図８】
0003846570.tif 000009
【図９】
0003846570.tif 000010
【図１０】
0003846570.tif 000011
【図１１】
0003846570.tif 000012
【図１２】
0003846570.tif 000013
【図１３】
0003846570.tif 000014
【図１４】
0003846570.tif 000015
【図１５】
0003846570.tif 000016
【図１６】
0003846570.tif 000017