JP3846570B2 - 画像処理装置、画像処理方法、画像処理プログラムおよび画像処理プログラムを記録した媒体 - Google Patents
画像処理装置、画像処理方法、画像処理プログラムおよび画像処理プログラムを記録した媒体 Download PDFInfo
- Publication number
- JP3846570B2 JP3846570B2 JP2002103416A JP2002103416A JP3846570B2 JP 3846570 B2 JP3846570 B2 JP 3846570B2 JP 2002103416 A JP2002103416 A JP 2002103416A JP 2002103416 A JP2002103416 A JP 2002103416A JP 3846570 B2 JP3846570 B2 JP 3846570B2
- Authority
- JP
- Japan
- Prior art keywords
- image data
- data
- hash
- hash key
- image
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Image Processing (AREA)
- Facsimile Image Signal Circuits (AREA)
- Color Image Communication Systems (AREA)
Description
【発明の属する技術分野】
本発明は、画像処理装置、画像処理方法および画像処理プログラムを記録した媒体に関し、特に、複数の要素色にて表現される画像データを別の複数の要素色にて表現される画像データに色変換する画像処理装置、画像処理方法、画像処理プログラムおよび画像処理プログラムを記録した媒体に関する。
【0002】
【従来の技術】
従来、この種の画像処理装置は、複数の要素色、例えばRGBデータから、別の複数の要素色、例えばCMYKデータに色変換するに際しては、3次元色空間の各格子点にてRGBデータとCMYKデータとの対応関係を設定した色変換テーブルを使用して色変換処理を実行していた。かかる場合、格子不足の部分については、四面体補間演算を実行して色変換処理を行なっていた。
【0003】
【発明が解決しようとする課題】
上述した従来の画像処理装置においては、格子不足部分となる全ての画素について四面体補間の演算を行なわなければならないため、色変換処理の処理速度が低下してしまうという課題があった。
【0004】
本発明は、上記課題にかんがみてなされたもので、高速に色変換処理を実行することが可能な画像処理装置、画像処理方法、画像処理プログラムおよび画像処理プログラムを記録した媒体の提供を目的とする。
【0005】
【課題を解決するための手段】
上記目的を達成するため、請求項1にかかる発明は、複数の要素色にて表現される第一画像データを別の複数の要素色にて表現される第二画像データに色変換する画像処理装置であって、上記第一画像データを各画素毎に入力する画像データ入力手段と、上記入力した第一画像データに基づいてハッシュキーを作成するハッシュキー作成手段と、上記第一画像データに基づいて作成可能な複数のハッシュキーに対応して、各ハッシュキーを作成した第一画像データと第二画像データとの対応関係が設定された複数のハッシュテーブルを有する色変換テーブルと、上記第一画像データに基づいて所定の補間演算を実行することによって上記第二画像データを算出可能な演算手段と、上記作成されたハッシュキーを取得するとともに、同取得したハッシュキーに対応するハッシュテーブルに上記入力した第一画像データと第二画像データとの対応関係が設定されている場合、上記入力した第一画像データを同設定されている第二画像データに色変換するとともに、設定されていない場合、上記演算手段に上記入力した第一画像データに基づいて所定の補間演算を実行させて第二画像データを算出し、同第一画像データを同算出された第二画像データに色変換する画像変換手段と、上記各ハッシュテーブルの使用回数をカウントするカウント手段を有しつつ、上記演算手段にて第二画像データが算出されると同カウント手段にてカウントした使用回数が所定のしきい値より小さいと判別した場合に、上記作成されたハッシュキーに対応して、同ハッシュキーを作成した第一画像データと、同算出された第二画像データとを対応させたハッシュテーブルを上記色変換テーブルに設定するテーブル設定手段とを具備する構成としてある。
【0006】
上記のように構成した請求項1にかかる発明においては、複数の要素色にて表現される第一画像データを別の複数の要素色にて表現される第二画像データに色変換する画像処理装置を提供する。かかる場合、画像データ入力手段にて第一画像データを各画素毎に入力し、ハッシュキー作成手段にて入力した第一画像データに基づいたハッシュキーを作成する。一方、色変換に利用する色変換テーブルには、第一画像データに基づいて作成可能な複数のハッシュキーに対応した複数のハッシュテーブルが備えられ、各ハッシュテーブルには、各ハッシュキーを作成した第一画像データと第二画像データとの対応関係が設定されている。また、演算手段では、第一画像データに基づいて所定の補間演算を実行することによって第二画像データを算出可能になっている。ここで、画像変換手段は、作成されたハッシュキーを取得し、この取得したハッシュキーに対応するハッシュテーブルに入力した第一画像データと第二画像データとの対応関係が設定されているか否かを判別する。そして、入力した第一画像データをこの設定されている第二画像データに色変換する。これに対して、設定されていない場合は、演算手段に入力した第一画像データに基づいて所定の補間演算を実行させて、第二画像データを算出する。そして、第一画像データをこの算出された第二画像データに色変換する。
【0007】
演算した第二画像データとこれに対応する第一画像データとの対応関係を順次ハッシュテーブルに設定すれば、以降の処理に利用することができて好適である。そこで、上記演算手段にて第二画像データが算出された場合、上記作成されたハッシュキーに対応して、同ハッシュキーを作成した第一画像データと、同算出された第二画像データとを対応させたハッシュテーブルを上記色変換テーブルに設定するテーブル設定手段を有する構成としてある。
上記のように構成した発明において、テーブル設定手段では演算手段にて第二画像データを算出した場合に作成されたハッシュキーに対応して、このハッシュキーを作成した第一画像データと、算出された第二画像データとを対応させたハッシュテーブルを色変換テーブルに設定する。
RGBデータから作成されるハッシュキーは、1つのRGBデータに対してユニークに決まるものではなく、異なる複数のRGBデータから同一のハッシュキーが作成される場合がある。このとき、あるRGBデータに対するハッシュテーブルが既にあり、その使用頻度の高い場合であって、他のRGBデータから同一のハッシュキーが作成されたとき、使用頻度の高いハッシュテーブルを消去し、この他のRGBデータについてのハッシュテーブルを設定してしまうと、色変換処理の処理速度が低下してしまうことがあり得る。そこで、上記テーブル設定手段は、上記各ハッシュテーブルの使用回数をカウントするカウント手段を有し、上記ハッシュテーブルを設定するに際して、同カウント手段にてカウントした使用回数が所定のしきい値より小さいと判別した場合に、上記上記作成されたハッシュキーに対応して、同ハッシュキーを作成した第一画像データと、同算出された第二画像データとを対応させたハッシュテーブルを上記色変換テーブルに設定する構成としてある。
上記のように構成した発明においては、テーブル設定手段に各ハッシュテーブルの使用回数をカウントするカウント手段を備えさせる。そして、ハッシュテーブルを設定するに際して、このカウント手段にてカウントした使用回数が所定のしきい値より小さいと判別した場合に、作成されたハッシュキーに対応して、ハッシュキーを作成した第一画像データと、算出された第二画像データとを対応させたハッシュテーブルを色変換テーブルに設定する。
【0008】
ハッシュキーの作成方法の具体的な一例として、請求項2にかかる発明は、上記請求項1に記載の画像処理装置において、上記第一画像データは、各8ビットのRGBデータにて形成されるとともに、上記ハッシュキー作成手段は、同RGBデータから12ビットのハッシュキーを作成するに際して、上記Bデータの8ビットの先頭ビットを12ビットの先頭ビットに合わせ、上記Gデータの先頭ビットを同Bデータの先頭ビットから2ビットずらすとともに、上記Rデータの先頭ビットを同Bデータの先頭ビットから4ビットずらし、この各RGBデータについて排他的論理和を行なうことによって、上記12ビットのハッシュキーを作成する構成としてある。
【0009】
上記のように構成した請求項2にかかる発明において、ハッシュキー作成手段では、RGBデータから12ビットのハッシュキーを作成するに際して、先ずBデータの8ビットの先頭ビットを12ビットの先頭ビットに合わせる。次に、Gデータの先頭ビットを同Bデータの先頭ビットから2ビットずらし、Rデータの先頭ビットをBデータの先頭ビットから4ビットずらして合わせる。そして、各RGBデータについて排他的論理和を行なうことによって12ビットのハッシュキーを作成する。
【0010】
ハッシュキーの作成方法の具体的な他の一例として、請求項3にかかる発明は、上記請求項2に記載の画像処理装置において、上記ハッシュキー作成手段は、上記Bデータの8ビットを反転させることによって、上記ハッシュキーの12ビットの先頭2ビットに反映させ、上記排他的論理和に際して、同Bデータの下位2ビットに対する上記各RGデータの影響を除外する構成としてある。
上記のように構成した請求項3にかかる発明においては、ハッシュキーを作成するに際して、Bデータの8ビットを反転させる。そして、ハッシュキーの12ビットの先頭2ビットにこのBデータの下位2ビットを反映させるようにして、上述した排他的論理和を行なう。これにより、Bデータの下位2ビットに対する各RGデータの影響を除外することが可能になる。
【0011】
ハッシュキーの作成方法の具体的なさらに他の一例として、請求項4にかかる発明は、上記請求項1に記載の画像処理装置において、上記第一画像データは、各8ビットのRGBデータにて形成されるとともに、上記ハッシュキー作成手段は、同RGBデータから12ビットのハッシュキーを作成するに際して、各8ビットの下位4ビットを抽出しつつ同各4ビットを連結することによって、上記12ビットのハッシュキーを作成する構成としてある。
上記のように構成した請求項4にかかる発明においては、ハッシュキー作成手段は、各RGBデータから12ビットのハッシュキーを作成するに際して、先ず各RGBデータの8ビットの下位4ビットを抽出する。そして、この抽出した各4ビットのデータを連結することによって12ビットのハッシュキーを作成する。
【0012】
ハッシュテーブルを使用頻度の高い第一画像データにて埋めて初期化すれば、四面体補間演算の回数を減らすことができ、色変換処理の高速化を図ることが可能になる。そこで、請求項5にかかる発明は、上記請求項1〜請求項4のいずれかに記載の画像処理装置において、上記各画素の色変換を行なうに際して、上記各ハッシュテーブルの初期化を行なう初期化手段を有するとともに、同初期化手段は、各ハッシュテーブルを使用頻度の高い第一画像データに基づいて初期化を行なう構成としてある。
上記のように構成した請求項5にかかる発明においては、各画素の色変換を行なうに際して、初期化手段にて各ハッシュテーブルの初期化を行なう。このとき、当該初期化手段では、各ハッシュテーブルを使用頻度の高い第一画像データに基づいて初期化を行なう。
【0013】
使用頻度の高い第一画像データの一例として、請求項6にかかる発明は、上記請求項5に記載の画像処理装置において、上記第一画像データは、各RGBデータが階調0〜255にて表現されるとともに、上記初期化手段は、各RGBデータについて階調0および階調255にて可能な全ての組み合わせを使用頻度の高い第一画像データとし、上記ハッシュテーブルの初期化を行なう構成としてある。
上記のように構成した請求項6にかかる発明においては、第一画像データを階調0〜255のRGBデータにて表現する。そして、初期化手段においてハッシュテーブルの初期化を行なうに際して、各RGBデータについて階調0および階調255にて可能な全ての組み合わせを使用頻度の高い第一画像データとして初期化を行なう。
【0014】
【0015】
【0016】
請求項7にかかる発明は、上記請求項1〜請求項6のいずれかに記載の画像処理装置において、上記第一画像データと第二画像データとの対応関係を複数の参照点にて規定した第二色変換テーブルを有し、上記画像変換手段は、上記第一画像データを第二画像データに変換するに際して、上記入力した第一画像データが上記第二色変換テーブルの参照点であるか否かを判別し、同第一画像データが参照点である場合に、上記第二色変換テーブルに基づいて上記第一画像データを第二画像データに色変換するとともに、上記参照点でない場合に、上記色変換テーブルに基づいて上記第一画像データを第二画像データに色変換する構成としてある。
上記のように構成した請求項7にかかる発明においては、ハッシュテーブルにて構成される色変換テーブルとは別に第一画像データと第二画像データとの対応関係を複数の参照点にて規定した第二色変換テーブルを備えさせる。そして、画像変換手段では、第一画像データを第二画像データに変換するに際して、入力した第一画像データが第二色変換テーブルの参照点であるか否かを判別し、第一画像データが参照点である場合には、第二色変換テーブルに基づいて第一画像データを第二画像データに色変換する。一方、参照点でない場合には、色変換テーブルに基づいて第一画像データを第二画像データに色変換する。
【0017】
また、複数の要素色にて表現される第一画像データを同第一画像データに基づいて作成可能な複数のハッシュキーに対応させて別の複数の要素色にて表現される第二画像データが規定された複数のハッシュテーブルを有する色変換テーブルを利用することによって、第二画像データに色変換する手法は必ずしも実体のある装置に限られる必要はなく、その画像処理方法としても機能することは容易に理解できる。
【0018】
このため、請求項8にかかる発明は、複数の要素色にて表現される第一画像データを同第一画像データに基づいて作成可能な複数のハッシュキーに対応させて別の複数の要素色にて表現される第二画像データが規定された複数のハッシュテーブルを有する色変換テーブルを利用することによって、第二画像データに色変換する画像処理方法であって、上記第一画像データを各画素毎に入力する画像データ入力工程と、上記入力した第一画像データに基づいてハッシュキーを作成するハッシュキー作成工程と、上記第一画像データに基づいて所定の補間演算を実行することによって上記第二画像データを算出可能な演算工程と、上記作成されたハッシュキーを取得するとともに、同取得したハッシュキーに対応するハッシュテーブルに上記入力した第一画像データと第二画像データとの対応関係が規定されている場合、上記入力した第一画像データを同規定されている第二画像データに色変換するとともに、規定されていない場合、上記演算工程にて上記入力した第一画像データに基づいて所定の補間演算を実行させて第二画像データを算出し、同第一画像データを同算出された第二画像データにて色変換する画像変換工程と、上記各ハッシュテーブルの使用回数をカウントするカウント工程を有しつつ、上記演算工程にて第二画像データが算出されると同カウント工程にてカウントした使用回数が所定のしきい値より小さいと判別した場合に、上記作成されたハッシュキーに対応して、同ハッシュキーを作成した第一画像データと、同算出された第二画像データとを対応させたハッシュテーブルを上記色変換テーブルに設定するテーブル設定工程と、を具備する構成としてある。
すなわち、必ずしも実体のある装置に限らず、その方法としても有効であることに相違はない。
【0019】
ところで、このような画像処理装置は単独で存在する場合もあるし、ある機器に組み込まれた状態で利用されることもあるなど、発明の思想としてはこれに限らず、各種の態様を含むものである。従って、ソフトウェアであったりハードウェアであったりするなど、適宜、変更可能である。発明の思想の具現化例としてインストール制御装置のソフトウェアとなる場合には、かかる機能を実現するプログラムが当然に存在し、同プログラムの実行にて機能が利用されるといわざるをえない。
【0020】
その一例として、請求項9にかかる発明は、複数の要素色にて表現される第一画像データを同第一画像データに基づいて作成可能な複数のハッシュキーに対応させて別の複数の要素色にて表現される第二画像データが設定された複数のハッシュテーブルを有する色変換テーブルを利用することによって、第二画像データに色変換する機能を実現させる画像処理プログラムであって、上記第一画像データを各画素毎に入力する画像データ入力機能と、上記入力した第一画像データに基づいてハッシュキーを作成するハッシュキー作成機能と、上記第一画像データに基づいて所定の補間演算を実行することによって上記第二画像データを算出可能な演算機能と、上記作成されたハッシュキーを取得するとともに、同取得したハッシュキーに対応するハッシュテーブルに上記入力した第一画像データと第二画像データとの対応関係が設定されている場合、上記入力した第一画像データを同設定されている第二画像データに色変換するとともに、設定されていない場合、上記演算機能にて上記入力した第一画像データに基づいて所定の補間演算を実行させて第二画像データを算出し、同第一画像データを同算出された第二画像データにて色変換する画像変換機能と、上記各ハッシュテーブルの使用回数をカウントするカウント機能を有しつつ、上記演算機能にて第二画像データが算出されると同カウント機能にてカウントした使用回数が所定のしきい値より小さいと判別した場合に、上記作成されたハッシュキーに対応して、同ハッシュキーを作成した第一画像データと、同算出された第二画像データとを対応させたハッシュテーブルを上記色変換テーブルに設定するテーブル設定機能と、を実現させる構成としてある。
【0021】
かかるソフトウェアを記録した記録媒体上においても当然に存在し、利用されるといわざるをえない。そこで、請求項10にかかる発明は、上記請求項9に記載の画像処理プログラムを記録した媒体の構成としている。
【0022】
むろん、その記録媒体は、磁気記録媒体であってもよいし光磁気記録媒体であってもよいし、今後開発されるいかなる記録媒体においても全く同様に考えることができる。また、一次複製品、二次複製品などの複製段階については全く問う余地無く同等である。また、一部がソフトウェアであって、一部がハードウェアで実現されている場合においても発明の思想において全く異なるものではなく、一部を記録媒体上に記憶しておいて必要に応じて適宜読み込まれるような形態のものとしてあってもよい。
【0023】
【発明の効果】
以上説明したように本発明は、色変換に際してハッシュキーとハッシュテーブルとを利用することによって色変換処理を高速に実現することが可能な画像処理装置を提供することができる。
また、演算にて算出した第二画像データを以降の色変換処理にて利用することができる。
さらに、使用頻度に応じてハッシュテーブルを設定することが可能になる。
さらに、請求項2にかかる発明によれば、ハッシュキー作成方法の具体的な一例を提示することができる。
さらに、請求項3にかかる発明によれば、Bデータの下位2ビットに対する各RGデータの影響を除外することが可能になる。
さらに、請求項4にかかる発明によれば、ハッシュキー作成方法の具体的な他の一例を提示することができる。
【0024】
さらに、請求項5にかかる発明によれば、色変換処理の高速化を図ることが可能になる。
さらに、請求項6にかかる発明によれば、使用頻度の高い第一画像データの一例を示すことができる。
さらに、請求項7にかかる発明によれば、第一画像データが第二色変換テーブルの参照点上であれば、同第二色変換テーブルによって色変換を行なえばよく、処理の高速化を図ることが可能になる。
さらに、請求項8にかかる発明によれば、色変換に際してハッシュキーとハッシュテーブルとを利用することによって色変換処理を高速に実現することが可能な画像処理方法を提供することができる。
さらに、請求項9,請求項10にかかる発明によれば、色変換に際してハッシュキーとハッシュテーブルとを利用することによって色変換処理を高速に実現することが可能な画像処理プログラム、画像処理プログラムを記録した媒体を提供することができる。
【0025】
【発明の実施の形態】
ここでは、下記の順序に従って本発明の実施形態について説明する。
(1)レーザプリンタの構成:
(2)画像処理の処理内容:
(3)色変換処理の処理内容:
(4)変形例:
(5)まとめ:
【0026】
(1)レーザプリンタの構成:
図1は本発明にかかる画像処理装置を有するレーザプリンタの内部構成を示した構成図である。
同図において、レーザプリンタ20はコンピュータ10に接続されるとともに、当該コンピュータ10は図示しないCPU、RAM、ROM、HDD等を内部に備え、HDDに格納されたアプリケーションの1つである画像プログラム11をCPU等にて実行することによって画像の印刷データを生成可能になっている。そして、生成された印刷データはコンピュータ10からレーザプリンタ20に供給される。この印刷データは、所定のページ記述言語(PDL)で記述された文字列であり、レーザプリンタ20内のコントローラ21に入力される。コントローラ21内のインターフェース部21aは、この印刷データを解釈し、描画命令を生成して描画部21bに供給する。
【0027】
描画部21bは、インターフェース部21aにて生成された描画命令に従ってドットに対応したRGBの各色の階調データからなるRGBデータを生成し、画像メモリであるバンドメモリ21cに格納する。ここで、色処理部21dは、色処理を行う。すなわち、バンドメモリ21cに格納されたRGBデータを直接読み出し、RAM22に格納されている色変換テーブル22aおよびROM23に格納されている色変換テーブル23aを使用してRGBデータをCMYKデータに色変換する。さらに、色処理部21dは、色変換されたドット毎のCMYKデータに対してハーフトーン処理(二値化処理)を行い、画像再生データを生成する。かかる場合、色処理部21dは、所定のハーフトーン処理テーブルを参照してハーフトーン処理を行う。そして、このようにして生成された画像再生データは、ドット内のレーザ駆動パルス信号に変換されるとともに、プリンタエンジン24に供給され、同プリンタエンジン24にて同画像再生データに基づく印刷が実行される。
【0028】
(2)画像処理の処理内容:
図2は、上述したコントローラ21にて実行される画像処理の処理内容を示したフローチャートである。
同図において、コントローラ21内のインターフェース部21a、描画部21bおよび色処理部21dは、それぞれソフトウエアによって実現される機能である。また、バンドメモリ21cは所定の画像メモリである。最初に、印刷データがコンピュータ10から供給されると、インターフェース部21a内の印刷データ解釈部にて受信する(ステップS100)。印刷データ解釈部は、印刷データを解釈して(ステップS105)、当該印刷データから描画命令を作成し、描画部21bに与える(ステップS110)。この描画命令は、例えば、「「あ」という文字を、どの色で、どの大きさで、どの位置に、どのフォントで印刷せよ」などで表現することができるものであり、印刷データを解釈することにより作成される。
【0029】
そして、描画部21bは、与えられた描画命令に従って、ドット毎のRGBデータを作成する(ステップS115)。このとき、描画部21bは、生成したRGBデータを画像メモリであるバンドメモリ21c内に格納する。色処理部21dは、バンドメモリ21cから描画部21bにて生成されたRGBデータと、予めRAM22に格納されている色変換テーブル22aと、ROM23に格納されている色変換テーブル23aとを読み出す。そして、色処理部21d内のRGB色調整部にて読み出したRGBデータに対し、所定の色調整テーブルを参照して、色の強度を調整するなどの色調整処理を行うとともに、調整されたRGBデータを当該色処理部21d内の色変換部に渡す。ここで、色変換部は、読み出された色変換テーブル22aおよび色変換テーブル23aを参照して、RGBデータをCMYKデータに変換する色変換処理を実行する(ステップS120)。
【0030】
本実施形態にかかる色変換処理の処理内容は後述する。色変換処理によって変換されたCMYKデータは、色処理部21d内のCMYK色調整部において、所定の色調整テーブルを参照して、色調整される。例えば、特定の色の強度を強調するなどである。そして、色処理部21d内のハーフトーン処理部は、色調整されたCMYKデータに対して所定のハーフトーン処理テーブルを参照して、複数のドットからなる網点によるハーフトーン処理(二値化処理)を行う(ステップS125)。その結果、ドットを印刷するか印刷しないの二値データ、あるいは、ドット内のさらに狭い領域を印刷するか印刷しないかの二値データからなる画像再生データが生成される。この画像再生データは、パルス幅変調に与えられ、プリンタエンジン24内のレーザの駆動パルス信号に変調され、プリンタエンジン24に与えられる。そして、以上のステップS105〜S125の処理を1ページ毎に繰り返す(ステップS130)。
【0031】
ここで、上述したROM23に格納されている色変換テーブル23aは、RGB色空間とCMYK色空間との対応関係を複数の参照点にて設定したものであり、この参照点はRGB色空間の各軸の階調0〜255を16等分した格子点上に形成されている。色処理部21dは、格子点上のRGBデータをCMYKデータに色変換する際には、この色変換テーブル23aを参照し、RGBデータに対応するCMYKデータを取得して変換する。一方、RAM22に格納されている色変換テーブル22aは、ハッシュテーブルにて構成されている。ここで、色変換テーブル23aの格子点上以外のRGBデータの場合、このRGBデータに近接する4つの格子点のRGBデータを色変換テーブル23aから抽出し、この4つのRGBデータに対応した色変換テーブル23a上のCMYKデータを参照し、この4つのCMYKデータに基づいて四面体補間演算を実行することによってCMYKデータを算出する。
【0032】
そして、当該格子点以外のRGBデータを算出したCMYKデータに色変換する。このとき、従来は格子点以外のRGBデータをCMYKデータに色変換する場合、全てについて四面体補間演算を実行していた。かかる四面体補間演算は処理が大きく、このため色変換処理の処理が長時間となっていた。そこで、本実施形態においては、この格子点以外のRGBデータの色変換について、ハッシュテーブルにて構成する色変換テーブル22aを利用する態様を採用する。かかる場合、RGBデータとCMYKデータとの対応関係をハッシュキーにて管理する。本実施形態においては、RGBデータに基づいて12ビット長のハッシュキーを形成する。
【0033】
そして、12ビット長のハッシュキーを形成したRGBデータと、四面体補間演算にて算出したCMYKデータとをハッシュテーブルにて構成された色変換テーブル22aに格納していく。これによって、再度、同じRGBデータをCMYKデータに色変換するに際しては、RGBデータにて12ビット長のハッシュキーを作成し、このハッシュキーに基づいて色変換テーブル22aのハッシュテーブルに格納されたCMYKデータを抽出し、このCMYKデータによって色変換を行なう。このように、本実施形態は、格子点以外のRGBデータをCMYKデータに色変換するに際してハッシュテーブルを利用することによって、色変換対象のRGBデータが色変換テーブル23aの格子点以外の場合に、各RGBデータについて四面体補間演算にてCMYKデータを算出する必要を無くし、色変換処理全体の処理速度を高速化することを可能にする。
【0034】
(3)色変換処理の処理内容:
図3は、色処理部21dにて実行される色変換処理の処理内容を示したフローチャートである。また、図4は、上述したハッシュテーブルにて構成される色変換テーブル22aの構成を示した構成図であり、図5は、上述したハッシュキーの作成方法を示した模式図である。図において、最初に色変換テーブル22aを初期化する(ステップS200)。色変換テーブル22aは、作成可能なハッシュキー数に対応したハッシュテーブルを有している。すなわち、ハッシュキーが12ビット長にて形成されることから、2**12個(=4096個)のハッシュテーブルを有することになる。
【0035】
各ハッシュテーブルは、ハッシュキー番号22a1と、フラグデータ22a2と、RGBデータ22a3〜22a5と、CMYKデータ22a6〜22a9とから構成されている。本実施形態においては、各データ22a1〜22a9は、8ビット長にて形成されている。このハッシュキー番号22a1には「0〜4096」の番号が順番に付与されている。フラグデータ22a2は、ハッシュテーブルにRGBデータ22a3〜22a5と、CMYKデータ22a6〜22a9との対応関係が格納されている否かを示すものであり、かかる対応関係が格納されている場合はオンを示すデータとなり、格納されていない場合はオフを示すデータとなる。従って、このステップS200での初期化では、各ハッシュテーブルのフラグデータ22a2をオフにする。
【0036】
これによって、色変換テーブル22aをRGBデータ22a3〜22a5と、CMYKデータ22a6〜22a9との対応関係が設定されていない状態にする。色変換テーブル22aの初期化が完了すると、バンドメモリ21cから1画素分のRGBデータを入力する(ステップS205)。そして、この入力したRGBデータが色変換テーブル23aの格子点上のデータであるか否かを判別する(ステップS210)。ここで、このRGBデータが色変換テーブル23aの格子点上のデータであると判別された場合は、当該色変換テーブル23aから対応するCMYKデータを抽出して、RGBデータをこの抽出したCMYKデータに色変換する(ステップS215)。一方、ステップS205にて入力したRGBデータが色変換テーブル23aの格子点上のRGBデータでないと判別された場合は、このRGBデータに基づいて12ビット長のハッシュキーを作成する(ステップS220)。
【0037】
ハッシュキーを作成するに際しては、8ビット長の各RGBデータから12ビット長のハッシュキーを作成する。このとき、8ビット長のRデータの最下位ビットと、12ビット長のハッシュキーの最下位ビットとを合わせ、8ビット長のGデータの最下位ビットをハッシュキーの最下位ビットから2ビット上位側に移行させて合わせ、8ビット長のBデータの最下位ビットをハッシュキーの最下位ビットから4ビット上位側に移行させて合わせる。そして、Rデータと、それぞれ移行させたGデータおよびBデータとの排他的論理和を演算して、12ビット長のハッシュキーを作成する。このように、入力したRGBデータに基づいてハッシュキーを作成すると、当該ハッシュキーに基づいて色変換テーブル22aから対応するハッシュテーブルを検出する(ステップS230)。ここで、本実施形態においては、R→G→Bの順番で順次ハッシュキーの先頭ビットから2ビット、4ビットとずらして排他的論理和を演算する態様を採用したが、むろん、この順番は適宜変更可能であることは言うまでもない。
【0038】
ハッシュテーブルが検出されると、当該検出したハッシュテーブルに既にCMYKデータ22a6〜22a9が格納されているか否かを示すフラグデータ22a2がオンであるかオフであるかを判別する(ステップS235)。フラグデータ22a2がオフしていると判別された場合は、対応するハッシュテーブルにCMYKデータ22a6〜22a9が格納されていないことを示しているため、この入力したRGBデータに近接する4つの格子点を色変換テーブル23aにて特定し、この4点に基づいて四面体補間演算を実行する。そして、この四面体補間演算にて算出されたCMYKデータに基づいてRGBデータを色変換する(ステップS240)。
【0039】
そして、この算出したCMYKデータを作成したハッシュキー番号22a1のCMYKデータ22a6〜22a9に格納する。このとき、入力したRGBデータを当該ハッシュキー番号22a1のRGBデータ22a3〜22a5に格納するとともに(ステップS245)、当該ハッシュキー番号22a1のフラグデータ22a2をオンにする(ステップS250)。一方、ステップS235にてフラグデータ22a2がオンしていると判別された場合は、入力したRGBデータと、このRGBデータにて作成したハッシュキー番号22a1に格納されているRGBデータ22a3〜22a5とが一致するか否かを判別する比較処理を実行する(ステップS255)。
【0040】
図6は、この比較処理の処理内容を示したフローチャートであるとともに、図7は、比較の態様を示した模式図である。図において、入力したRGBデータは各8ビット長のデータにて構成されるとともに、ハッシュテーブルは先頭に8ビット長のフラグデータ22a2が配置され、このフラグデータ22a2の後に各8ビット長のRGBデータ22a3〜22a5が格納されている。従って、比較に際して、先ず、入力したRGBデータからRデータのみを抽出するとともに、ハッシュテーブルからRデータ22a3を抽出し、相互について比較する(ステップS300)。比較の結果、Rデータが一致する場合には(ステップS305)、入力したRGBデータからGデータのみを抽出するとともに、ハッシュテーブルからGデータ22a4を抽出し、相互について比較する(ステップS310)。
【0041】
そして、比較の結果、Gデータが一致する場合には(ステップS315)、入力したRGBデータからBデータのみを抽出するとともに、ハッシュテーブルからBデータ22a5を抽出し、相互について比較する(ステップS320)。比較の結果、Bデータが一致する場合は(ステップS325)、入力したRGBデータと、このRGBデータに基づいて作成したハッシュキー番号22a1に格納されているRGBデータ22a3〜22a5とが一致したと判断する(ステップS330)。一方、ステップS305,S315,S325にて不一致と判別された場合は、入力したRGBデータと、このRGBデータに基づいて作成したハッシュキー番号22a1に格納されているRGBデータ22a3〜22a5とが不一致であると判断する(ステップS335)。
【0042】
比較処理が終了すると、色変換処理に戻り、この比較処理での比較結果が入力したRGBデータと、このRGBデータにて作成したハッシュキー番号22a1のハッシュテーブルに格納されているRGBデータ22a3〜22a5とが一致していることを示しているか否かを判別する(ステップS260)。一致していると判別された場合は、入力したRGBデータに近接する4つの格子点を色変換テーブル23aにて特定し、この4点に基づいて四面体補間演算を実行する。そして、この四面体補間演算にて算出されたCMYKデータに基づいてRGBデータを色変換する(ステップS265)。また、ステップS260にて一致していると判別された場合は、このハッシュキー番号22a1のハッシュテーブルに格納されているCMYKデータ22a6〜22a9によってRGBデータを色変換する(ステップS270)。そして、以上のステップS205〜S270までの処理を全画素について実施する(ステップS275)。
【0043】
このように、色変換テーブル23aの格子点以外のRGBデータについてCMYKデータに色変換を行なうに際して、一度、四面体補間演算にてCMYKデータを算出したものをこのRGBデータから作成したハッシュキーと対応させて色変換テーブル22aのハッシュテーブルに格納することによって、以降、ハッシュキー番号22a1が同等となるRGBデータが入力された場合であって、入力したRGBデータと、当該ハッシュキー番号22a1に格納されたRGBデータ22a3〜22a5とが一致する場合には、再度、四面体補間演算を実行することなく、ハッシュテーブルから該当するCMYKデータ22a6〜22a9を抽出して色変換すれば良く、色変換処理を高速化することが可能になる。
【0044】
上述した実施形態では、ステップS200の色変換テーブル22aの初期化において、当該色変換テーブル22aの各ハッシュテーブルのフラグデータ22a2をオフとして、各データ22a2〜22a9が格納されていない状態に初期化する態様を採用した。むろん、色変換テーブル22aの初期化の態様は特に限定されるものではなく、初期化の段階で予め使用頻度の高いRGBデータ22a3〜22a5と、CMYKデータ22a6〜22a9との対応関係を格納しておくようにしても良い。例えば、各RGBデータの階調0,255による全ての組み合わせについて、予めハッシュキーを作成するとともに、各ハッシュテーブルに格納する。そして、該当するハッシュテーブルのフラグデータ22a2をオンとする。これによって、予め初期化にてハッシュテーブルに格納した使用頻度の高いRGBデータを入力した場合は、ステップS240〜S250の処理を実行することなく、ステップS255以降の処理に移行することができて、色変換処理の一層の高速化を図ることが可能となる。
【0045】
また、上述した実施形態では、ステップS265において、入力したRGBデータとこのRGBデータに基づいて作成されたハッシュキー番号22a1に格納されているRGBデータ22a3〜22a5とが一致しない場合に、四面体補間演算を実行してRGBデータをCMYKデータに変換した。このとき、この入力したRGBデータと、演算したCMYKデータに基づいてハッシュテーブルを更新しない態様を採用した。むろん、かかる場合、この入力したRGBデータを対応するハッシュキー番号22a1のRGBデータ22a3〜22a5として格納するとともに、演算したCMYKデータをCMYKデータ22a6〜22a9に格納するようにしても良いことは言うまでもない。
【0046】
このように、ステップS265において、四面体補間演算の演算結果をハッシュテーブルに格納する場合、既に格納されているハッシュテーブルの使用頻度を考慮するようにしても良い。すなわち、各ハッシュテーブルの使用頻度をカウントするカウンターデータを設け、ステップS270にてハッシュテーブルに基づく色変換が行なわれる毎にこのカウンターデータをインクリメントすることによって、そのハッシュテーブルが色変換に使用された回数を識別可能にする。そして、ステップS265にて演算結果を格納するに際して、このカウンターデータが所定のしきい値より小さいか否かを判別し、小さければ使用頻度が低いとみなし、演算結果を格納する。一方、所定のしきい値以上であれば、使用頻度が高いとみなし、演算結果を格納せずに、既に格納されているハッシュテーブルのデータを残しておく。これによって、使用頻度の高いハッシュテーブルを色変換テーブル22aに残すことが可能となり、ステップS260でのヒット率を向上させることが可能になる。
【0047】
ここで、上述した実施形態においては、入力したRGBデータに基づいてハッシュキーを作成するに際して、8ビット長のRデータの最下位ビットと、12ビット長のハッシュキーの最下位ビットとを合わせ、8ビット長のGデータの最下位ビットをハッシュキーの最下位ビットから2ビット上位側に移行させて合わせ、8ビット長のBデータの最下位ビットをハッシュキーの最下位ビットから4ビット上位側に移行させて合わせる。そして、Rデータと、それぞれ移行させたGデータおよびBデータとの排他的論理和を演算して、12ビット長のハッシュキーを作成した。むろん、ハッシュキーの作成方法は特に限定されるものではなく、適宜変更可能である。
【0048】
図8は、ハッシュキーの作成方法の他の態様を示した摸式図である。
同図においては、12ビット長のハッシュキーの最上位2ビットのデータにBデータの最下位2ビットのデータを反映させる方法を示している。かかる場合、先ず、8ビット長のRデータの最下位ビットと、12ビット長のハッシュキーの最下位ビットとを合わせ、次に、8ビット長のGデータの最下位ビットをハッシュキーの最下位ビットから2ビット上位側に移行させて合わせ、そして、8ビット長のBデータのビット列を反転させるとともに、反転させたビット列の最下位ビットをハッシュキーの最下位ビットから4ビット上位側に移行させて合わせる。そして、Rデータと、それぞれ移行させたGデータおよびBデータとの排他的論理和を演算して、12ビット長のハッシュキーを作成する。
【0049】
図9は、ハッシュキーの作成方法のさらに他の態様を示した模式図である。
同図においては、12ビット長のハッシュキーに各RGBデータの下位4ビットのデータを反映させる方法を示している。かかる場合、先ず、8ビット長のRデータの下位4ビットのデータを抽出する。同様に、8ビット長のGデータの下位4ビットのデータを抽出するとともに、8ビット長のBデータの下位4ビットのデータを抽出する。そして、これら抽出した各4ビットのデータを連結して12ビット長の12ビット長のハッシュキーを作成する。かかる場合、図では、ハッシュキーの上位よりB→G→Rの順番で連結したが、この連結方法は特に限定されるものではなく、適宜変更可能である。
【0050】
上述した実施形態においては、色変換テーブル22aをフラグデータ22a1,RGBデータ22a2〜22a5,CMYKデータ22a6〜22a9の順番で構成した。このように構成した場合、ステップS255の比較処理にて入力したRGBデータと、このRGBデータに基づいて作成したハッシュキー番号22a1に格納されるRGBデータ22a3〜22a5とを比較する場合、8ビット長の各RGBデータ毎に個別に比較しなければならない。これは、フラグデータ22a1が先頭に挿入されているため、入力したRGBデータとの位置の整合が取れないためである。かかる場合、この比較処理の処理時間が長時間となってしまう。
【0051】
ここで、この比較処理の処理時間を短縮可能な色変換テーブル22aの構成を図10の構成図に示す。また、図11は、かかる場合の比較処理の処理内容を示したフローチャートである。また、図12は、比較態様を示した模式図である。 図においては、色変換テーブル22aをRGBデータ22a2〜22a4,フラグデータ22a5,CMYKデータ22a6〜22a9の順番で構成する。
そして、比較処理に際しては、入力した8ビット長*4=32ビット長のRGBデータ(8ビット長のXデータをダミーとして挿入)と、32ビット長のRGBデータ22a2〜22a4,フラグデータ22a5とを一括して比較する(ステップS400)。
【0052】
このとき、Xデータおよびフラグデータ22a5はマスク処理する。そして、一致するか否かを判別し(ステップS405)、一致する場合は、入力したRGBデータと、このRGBデータに基づいて作成したハッシュキー番号22a1に格納されているRGBデータ22a2〜22a4とが一致したと判断する(ステップS410)。一方、ステップS405にて不一致と判別された場合は、入力したRGBデータと、このRGBデータに基づいて作成したハッシュキー番号22a1に格納されているRGBデータ22a2〜22a4とが不一致であると判断する(ステップS415)。このように、RGBデータを一括して比較することによって、比較処理の高速化を図ることが可能になる。
【0053】
(4)変形例:
上述してきた実施形態においては、レーザプリンタ20の色処理部21dにて色変換テーブル22aと色変換テーブル23aを利用して色変換処理を行なう構成を採用した。このように色変換テーブルを利用して色変換処理を実行し、印刷に使用する画像印字データを生成するようにしても良いし、コンピュータ10にインクジェットプリンタを接続した場合には、当該コンピュータ10側のオペレーティングシステムに組み込まれたプリンタドライバにおいてプリンタに出力する印刷データを作成する際に実行される色変換処理にて本発明を適用しても良い。図13は本発明にかかる画像処理プログラムを実行可能なコンピュータの概略ハードウェア構成を示しており、図14は、画像処理プログラムが同コンピュータのオペレーティングシステムに組み込まれたプリンタドライバ上に色変換モジュール21bとして実現された場合における概略構成図を示している。図において、コンピュータ10は演算処理の中枢をなすCPU11を備えており、このCPU11はシステムバス12を介してBIOSなどの記載されたROM13やRAM14にアクセス可能となっている。
【0054】
また、システムバス12には、外部記憶装置としてのハードディスクドライブ(HDD)15とフレキシブルディスクドライブ16とCD−ROMドライブ17とが接続されており、HDD15に記憶されたOS20やアプリケーションプログラム(APL)25等がRAM14に転送され、CPU11はROM13とRAM14に適宜アクセスしてソフトウェアを実行する。すなわち、RAM14を一時的なワークエリアとして種々のプログラムを実行する。
【0055】
コンピュータ10には、シリアル通信用I/O19aを介してキーボード31やマウス32等の操作用入力機器が接続されており、図示しないビデオボードを介して表示用のディスプレイ18も接続されている。さらに、プリンタ20とはパラレル通信用I/O19bを介して接続が可能である。尚、本コンピュータ10の構成は簡略化して説明しているが、パーソナルコンピュータとして一般的な構成を有するものを採用することができる。むろん、本発明が適用されるコンピュータはパーソナルコンピュータに限定されるものではない。この実施形態はいわゆるデスクトップ型コンピュータであるが、ノート型であるとか、モバイル対応のものであっても良い。また、コンピュータ10とプリンタ40の接続インタフェースも上述のものに限る必要はなくシリアルインタフェースやSCSI,USB接続など種々の接続態様を採用可能であるし、今後開発されるいかなる接続態様であっても同様である。
【0056】
この例では各プログラムの類は、HDD15に記憶されているが、記録媒体はこれに限定されるものではない。例えば、フレキシブルディスク16aであるとか、CD−ROM17aであってもよい。これらの記録媒体に記録されたプログラムはフレキシブルディスクドライブ16やCD−ROMドライブ17を介してコンピュータ10にて読み込まれ、HDD15にインストールされる。そして、HDD15を介してRAM14上に読み込まれてコンピュータを制御することになる。また、記録媒体はこれに限らず、光磁気ディスクなどであってもよい。また、半導体デバイスとしてフラッシュカードなどの不揮発性メモリなどを利用することも可能であるし、モデムや通信回線を介して外部のファイルサーバにアクセスしてダウンロードする場合には通信回線が伝送媒体となって本発明が利用される。
【0057】
一方、図14に示すように、本実施形態にかかるコンピュータ10では、プリンタドライバ(PRTDRV)51と、入力機器ドライバ(DRV)52と、ディスプレイドライバ(DRV)53とがオペレーティングシステム50に組み込まれている。ディスプレイDRV53は、ディスプレイ18における画像データ等の表示を制御するドライバであり、入力機器DRV52は、シリアル通信用I/O19aを介して入力される上記キーボード31やマウス32からのコード信号を受信して所定の入力操作を受け付けるドライバである。
【0058】
APL55は、カラー画像のレタッチ等を実行可能なアプリケーションプログラムであり、利用者は当該APL55の実行下において上記操作用入力機器を操作して当該カラー画像をプリンタ40にて印刷させることができる。すなわち、APL55は利用者の指示によりHDD15に記録された画像データ15aをRAM14に読み出して、ディスプレイDRV53を介して当該画像データ15aに基づく画像をディスプレイ18上に表示させる。利用者が上記入力機器を操作するとその操作内容が入力機器DRV52を介して取得されて内容が解釈されるようになっており、APL55はその操作内容に応じて印刷指示やレタッチなど種々の処理を行う。
【0059】
APL55にて印刷指示がなされると上記PRTDRV51が駆動され、PRTDRV51はディスプレイDRV53にデータを送出して印刷に必要な情報を入力させるためのUIを表示する。そして、本実施形態において、HDD15には、上述してきたハッシュテーブルにて構成されている色変換テーブル22aと同等の色変換テーブル15bと、上述してきた色変換テーブル23aと同等の色変換テーブル15cとが格納されている。ここで、利用者がPRTDRV51にて印刷実行を指示すると、図15に示すフローチャートに従って印刷処理を実行する。同図において、印刷処理が開始されると、画像データ取得モジュール51aは、RAM14に格納された画像の画像データ15aを取得する(ステップS500)。すると、画像データ取得モジュール51aは色変換モジュール51bを起動する(ステップS210)。色変換モジュール51bでは、後述するフローチャートに従って色変換処理を実行する(ステップS510)。
【0060】
そして、色変換モジュール51bにて実行される色変換処理にてRGBデータからCMYKデータに色変換が行なわれると、ハーフトーン処理モジュール51cが起動され、当該CMYKデータが同ハーフトーン処理モジュール51cに受け渡される。ハーフトーン処理モジュール51cは、各ドットのCMYK階調値を変換してインク滴の記録密度で表現するためのハーフトーン処理を行うモジュールであり、変換後の記録密度でインクを付着させるためのヘッド駆動データを生成する(ステップS520)。
【0061】
印刷データ生成モジュール51dは、かかるヘッド駆動データを受け取って、プリンタ40で使用される順番に並べ替える(ステップS530)。すなわち、プリンタ40においてはインク吐出デバイスとして図示しない吐出ノズルアレイが搭載されており、当該ノズルアレイでは副走査方向に複数の吐出ノズルが並設されるため、副走査方向に数ドット分間離れたデータが同時に使用される。そこで、主走査方向に並ぶデータのうち同時に使用されるべきものがプリンタ40にて同時にバッファリングされるように順番に並べ替えるラスタライズを行う。このラスタライズの後、画像の解像度などの所定の情報を付加して印刷データを生成し、パラレル通信用I/O19bを介してプリンタ40に出力する(ステップS540)。プリンタ40においては当該印刷データに基づいてディスプレイ18に表示された画像を印刷する。そして、このラスタライズの処理を全ラスタ分実行する(ステップS550)。
【0062】
図16は、上述した印刷処理のステップS510にて実行される色変換処理の処理内容を示したフローチャートである。なお、このフローチャートの説明における色変換テーブル15bの構成およびハッシュキーの作成方法は、図4に示した色変換テーブル22aの構成および図5に示したハッシュキーの作成方法と同等である。同図において、最初に色変換テーブル15bを初期化する(ステップS600)。この初期化は、図3に示したステップS200での処理と同等である。色変換テーブル15bの初期化が完了すると、画像データ15aから1画素分のRGBデータを入力する(ステップS605)。そして、この入力したRGBデータが色変換テーブル15cの格子点上のデータであるか否かを判別する(ステップS610)。
【0063】
ここで、このRGBデータが色変換テーブル15cの格子点上のデータであると判別された場合は、当該色変換テーブル15cから対応するCMYKデータを抽出して、RGBデータをこの抽出したCMYKデータに色変換する(ステップS615)。一方、ステップS605にて入力したRGBデータが色変換テーブル15cの格子点上のRGBデータでないと判別された場合は、このRGBデータに基づいて12ビット長のハッシュキーを作成する(ステップS620)。入力したRGBデータに基づいてハッシュキーを作成すると、当該ハッシュキーに基づいて色変換テーブル15bから対応するハッシュテーブルを検出する(ステップS630)。
【0064】
ハッシュテーブルが検出されると、当該検出したハッシュテーブルに既にCMYKデータ22a6〜22a9が格納されているか否かを示すフラグデータ22a2がオンであるかオフであるかを判別する(ステップS635)。フラグデータ22a2がオフしていると判別された場合は、対応するハッシュテーブルにCMYKデータ22a6〜22a9が格納されていないことを示しているため、この入力したRGBデータに近接する4つの格子点を色変換テーブル15cにて特定し、この4点に基づいて四面体補間演算を実行する。そして、この四面体補間演算にて算出されたCMYKデータに基づいてRGBデータを色変換する(ステップS640)。
【0065】
そして、この算出したCMYKデータを作成したハッシュキー番号22a1のCMYKデータ22a6〜22a9に格納する。このとき、入力したRGBデータを当該ハッシュキー番号22a1のRGBデータ22a3〜22a5に格納するとともに(ステップS645)、当該ハッシュキー番号22a1のフラグデータ22a2をオンにする(ステップS650)。一方、ステップS635にてフラグデータ22a2がオンしていると判別された場合は、入力したRGBデータと、このRGBデータにて作成したハッシュキー番号22a1に格納されているRGBデータ22a3〜22a5とが一致するか否かを判別する比較処理を実行する(ステップS655)。この比較処理は、上述した図6に示した比較処理の処理内容と同等である。
【0066】
比較処理が終了すると、色変換処理に戻り、この比較処理での比較結果が入力したRGBデータと、このRGBデータにて作成したハッシュキー番号22a1のハッシュテーブルに格納されているRGBデータ22a3〜22a5とが一致していることを示しているか否かを判別する(ステップS660)。一致していると判別された場合は、入力したRGBデータに近接する4つの格子点を色変換テーブル15cにて特定し、この4点に基づいて四面体補間演算を実行する。そして、この四面体補間演算にて算出されたCMYKデータに基づいてRGBデータを色変換する(ステップS665)。また、ステップS660にて一致していると判別された場合は、このハッシュキー番号22a1のハッシュテーブルに格納されているCMYKデータ22a6〜22a9によってRGBデータを色変換する(ステップS670)。そして、以上のステップS605〜S670までの処理を全画素について実施する(ステップS675)。
【0067】
このように、ハッシュテーブルにて構成される色変換テーブル15bと、参照点にて構成される色変換テーブル15cを併用することによって、四面体補間演算を実行する回数を大幅に少なくすることが可能となる。かかる場合、四面体他演算をソフトウェア処理して行う装置、すなわち、四面体補間演算の専用ハードがない場合において、色変換処理の高速化を実現することが可能となる。
【0068】
(5)まとめ:
このように、色変換テーブル23aの格子点以外のRGBデータについてCMYKデータに色変換を行なうに際して、一度、四面体補間演算にてCMYKデータを算出したものをこのRGBデータから作成したハッシュキーと対応させて色変換テーブル22aのハッシュテーブルに格納することによって、以降、ハッシュキー番号22a1が同等となるRGBデータが入力された場合であって、入力したRGBデータと、当該ハッシュキー番号22a1に格納されたRGBデータ22a3〜22a5とが一致する場合には、再度、四面体補間演算を実行することなく、ハッシュテーブルから該当するCMYKデータ22a6〜22a9を抽出して色変換すれば良く、色変換処理を高速化することが可能になる。
【図面の簡単な説明】
【図1】 本発明にかかる画像処理装置を有するレーザプリンタの内部構成を示した構成図である。
【図2】 画像処理の処理内容を示したフローチャートである。
【図3】 色変換処理の処理内容を示したフローチャートである。
【図4】 色変換テーブルの構成を示した構成図である。
【図5】 ハッシュキーの作成方法を示した模式図である。
【図6】 比較処理の処理内容を示したフローチャートである。
【図7】 比較の態様を示した模式図である。
【図8】 ハッシュキーの作成方法の他の態様を示した摸式図である。
【図9】 ハッシュキーの作成方法の他の態様を示した摸式図である。
【図10】 色変換テーブルの他の構成を示した構成図である。
【図11】 比較処理の他の処理内容を示したフローチャートである。
【図12】 他の比較の態様を示した模式図である。
【図13】 コンピュータのハードウェア構成を示した構成図である。
【図14】 コンピュータのソフトウェア構成を示した構成図である。
【図15】 印刷処理の処理内容を示したフローチャートである。
【図16】 色変換処理の処理内容を示したフローチャートである。
【符号の説明】
10…コンピュータ
11…画像プログラム
20…レーザプリンタ
21…コントローラ
21a…インターフェース部
21b…描画部
21c…バンドメモリ
21d…色処理部
22…RAM
22a…色変換テーブル
23…ROM
23a…色変換テーブル
24…プリンタエンジン
Claims (10)
- 複数の要素色にて表現される第一画像データを別の複数の要素色にて表現される第二画像データに色変換する画像処理装置であって、
上記第一画像データを各画素毎に入力する画像データ入力手段と、
上記入力した第一画像データに基づいてハッシュキーを作成するハッシュキー作成手段と、
上記第一画像データに基づいて作成可能な複数のハッシュキーに対応して、各ハッシュキーを作成した第一画像データと第二画像データとの対応関係が設定された複数のハッシュテーブルを有する色変換テーブルと、
上記第一画像データに基づいて所定の補間演算を実行することによって上記第二画像データを算出可能な演算手段と、
上記作成されたハッシュキーを取得するとともに、同取得したハッシュキーに対応するハッシュテーブルに上記入力した第一画像データと第二画像データとの対応関係が設定されている場合、上記入力した第一画像データを同設定されている第二画像データに色変換するとともに、設定されていない場合、上記演算手段に上記入力した第一画像データに基づいて所定の補間演算を実行させて第二画像データを算出し、同第一画像データを同算出された第二画像データに色変換する画像変換手段と、
上記各ハッシュテーブルの使用回数をカウントするカウント手段を有しつつ、上記演算手段にて第二画像データが算出されると同カウント手段にてカウントした使用回数が所定のしきい値より小さいと判別した場合に、上記作成されたハッシュキーに対応して、同ハッシュキーを作成した第一画像データと、同算出された第二画像データとを対応させたハッシュテーブルを上記色変換テーブルに設定するテーブル設定手段と、
を具備することを特徴とする画像処理装置。 - 上記第一画像データは、各8ビットのRGBデータにて形成されるとともに、上記ハッシュキー作成手段は、同RGBデータから12ビットのハッシュキーを作成するに際して、上記Bデータの8ビットの先頭ビットを12ビットの先頭ビットに合わせ、上記Gデータの先頭ビットを同Bデータの先頭ビットから2ビットずらすとともに、上記Rデータの先頭ビットを同Bデータの先頭ビットから4ビットずらし、この各RGBデータについて排他的論理和を行なうことによって、上記12ビットのハッシュキーを作成することを特徴とする上記請求項1に記載の画像処理装置。
- 上記ハッシュキー作成手段は、上記Bデータの8ビットを反転させることによって、上記ハッシュキーの12ビットの先頭2ビットに反映させ、上記排他的論理和に際して、同Bデータの下位2ビットに対する上記各RGデータの影響を除外することを特徴とする上記請求項2に記載の画像処理装置。
- 上記第一画像データは、各8ビットのRGBデータにて形成されるとともに、上記ハッシュキー作成手段は、同RGBデータから12ビットのハッシュキーを作成するに際して、各8ビットの下位4ビットを抽出しつつ同各4ビットを連結することによって、上記12ビットのハッシュキーを作成することを特徴とする上記請求項1に記載の画像処理装置。
- 上記各画素の色変換を行なうに際して、上記各ハッシュテーブルの初期化を行なう初期化手段を有するとともに、同初期化手段は、各ハッシュテーブルを使用頻度の高い第一画像データに基づいて初期化を行なうことを特徴とする上記請求項1〜請求項4のいずれかに記載の画像処理装置。
- 上記第一画像データは、各RGBデータが階調0〜255にて表現されるとともに、上記初期化手段は、各RGBデータについて階調0および階調255にて可能な全ての組み合わせを使用頻度の高い第一画像データとし、上記ハッシュテーブルの初期化を行なうことを特徴とする上記請求項5に記載の画像処理装置。
- 上記第一画像データと第二画像データとの対応関係を複数の参照点にて規定した第二色変換テーブルを有し、上記画像変換手段は、上記第一画像データを第二画像データに変換するに際して、上記入力した第一画像データが上記第二色変換テーブルの参照点であるか否かを判別し、同第一画像データが参照点である場合に、上記第二色変換テーブルに基づいて上記第一画像データを第二画像データに色変換するとともに、上記参照点でない場合に、上記色変換テーブルに基づいて上記第一画像データを第二画像データに色変換することを特徴とする上記請求項1〜請求項6のいずれかに記載の画像処理装置。
- 複数の要素色にて表現される第一画像データを同第一画像データに基づいて作成可能な複数のハッシュキーに対応させて別の複数の要素色にて表現される第二画像データが設定された複数のハッシュテーブルを有する色変換テーブルを利用することによって、第二画像データに色変換する画像処理方法であって、
上記第一画像データを各画素毎に入力する画像データ入力工程と、
上記入力した第一画像データに基づいてハッシュキーを作成するハッシュキー作成工程と、
上記第一画像データに基づいて所定の補間演算を実行することによって上記第二画像データを算出可能な演算工程と、
上記作成されたハッシュキーを取得するとともに、同取得したハッシュキーに対応するハッシュテーブルに上記入力した第一画像データと第二画像データとの対応関係が設定されている場合、上記入力した第一画像データを同設定されている第二画像データに色変換するとともに、設定されていない場合、上記演算工程にて上記入力した第一画像データに基づいて所定の補間演算を実行させて第二画像データを算出し、同第一画像データを同算出された第二画像データにて色変換する画像変換工程と、
上記各ハッシュテーブルの使用回数をカウントするカウント工程を有しつつ、上記演算工程にて第二画像データが算出されると同カウント工程にてカウントした使用回数が所定のしきい値より小さいと判別した場合に、上記作成されたハッシュキーに対応して、同ハッシュキーを作成した第一画像データと、同算出された第二画像データとを対応させたハッシュテーブルを上記色変換テーブルに設定するテーブル設定工程と、
を具備することを特徴とする画像処理方法。 - 複数の要素色にて表現される第一画像データを同第一画像データに基づいて作成可能な複数のハッシュキーに対応させて別の複数の要素色にて表現される第二画像データが設定された複数のハッシュテーブルを有する色変換テーブルを利用することによって、第二画像データに色変換する機能を実現させる画像処理プログラムであって、
上記第一画像データを各画素毎に入力する画像データ入力機能と、
上記入力した第一画像データに基づいてハッシュキーを作成するハッシュキー作成機能と、
上記第一画像データに基づいて所定の補間演算を実行することによって上記第二画像データを算出可能な演算機能と、
上記作成されたハッシュキーを取得するとともに、同取得したハッシュキーに対応するハッシュテーブルに上記入力した第一画像データと第二画像データとの対応関係が設定されている場合、上記入力した第一画像データを同設定されている第二画像データに色変換するとともに、設定されていない場合、上記演算機能にて上記入力した第一画像データに基づいて所定の補間演算を実行させて第二画像データを算出し、同第一画像データを同算出された第二画像データにて色変換する画像変換機能と、
上記各ハッシュテーブルの使用回数をカウントするカウント機能を有しつつ、上記演算機能にて第二画像データが算出されると同カウント機能にてカウントした使用回数が所定のしきい値より小さいと判別した場合に、上記作成されたハッシュキーに対応して、同ハッシュキーを作成した第一画像データと、同算出された第二画像データとを対応させたハッシュテーブルを上記色変換テーブルに設定するテーブル設定機能と、
を実現させることを特徴とする画像処理プログラム。 - 上記請求項9に記載の画像処理プログラムを記録した媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002103416A JP3846570B2 (ja) | 2002-04-05 | 2002-04-05 | 画像処理装置、画像処理方法、画像処理プログラムおよび画像処理プログラムを記録した媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002103416A JP3846570B2 (ja) | 2002-04-05 | 2002-04-05 | 画像処理装置、画像処理方法、画像処理プログラムおよび画像処理プログラムを記録した媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003298868A JP2003298868A (ja) | 2003-10-17 |
JP3846570B2 true JP3846570B2 (ja) | 2006-11-15 |
Family
ID=29389262
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002103416A Expired - Fee Related JP3846570B2 (ja) | 2002-04-05 | 2002-04-05 | 画像処理装置、画像処理方法、画像処理プログラムおよび画像処理プログラムを記録した媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3846570B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9849372B2 (en) | 2012-09-28 | 2017-12-26 | Sony Interactive Entertainment Inc. | Method and apparatus for improving efficiency without increasing latency in emulation of a legacy application title |
JP4783680B2 (ja) * | 2006-01-18 | 2011-09-28 | 株式会社Pfu | 画像処理装置、色変換テーブル書換方法およびプログラム |
JP4848235B2 (ja) * | 2006-09-19 | 2011-12-28 | 株式会社リコー | 画像処理装置及び画像処理方法並びにプログラム及び記録媒体 |
CN110266315B (zh) * | 2013-03-15 | 2023-10-27 | 索尼电脑娱乐公司 | 用于通过基于云的网络进行数据传输的状态信息的压缩 |
-
2002
- 2002-04-05 JP JP2002103416A patent/JP3846570B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003298868A (ja) | 2003-10-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7583397B2 (en) | Method for generating a display list | |
US5717838A (en) | Computer calibration of a color print image using successive refinement | |
US7697168B2 (en) | Image processing apparatus and method for generating bitmap data and attribute information from a raster data | |
JP6824052B2 (ja) | 画像処理装置、その制御方法、及びプログラム | |
JPH1115966A (ja) | ハーフトーン方法 | |
US7440122B2 (en) | Image processing apparatus managing user profiles, image processing method managing user profiles, and storage medium thereof | |
US6172765B1 (en) | Printing system | |
JP2001047670A (ja) | 印字装置並びに印字装置の解像度変換印字方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体 | |
JP2008117379A (ja) | エンコードされたラスタ文書を生成するシステム、方法およびコンピュータプログラム | |
JP4135195B2 (ja) | 印刷処理システム及び印刷処理方法並びに印刷処理制御プログラムが記録されたコンピュータ読み取り可能な記録媒体 | |
JPH11252366A (ja) | プリンタ制御装置、プリンタ及びプリントシステム | |
JP3846570B2 (ja) | 画像処理装置、画像処理方法、画像処理プログラムおよび画像処理プログラムを記録した媒体 | |
JP5684466B2 (ja) | 複数のオブジェクト種別のオブジェクトに対応する、ラスタ画像バッファ中の少なくとも一つの画素を処理するための方法及びコンピュータで読み取り可能な媒体 | |
JPH1166327A (ja) | 画像処理方法および画像処理装置および記録媒体 | |
JP2006155308A (ja) | 画像形成装置 | |
JP4109785B2 (ja) | 画像処理装置及びその方法、コンピュータ可読メモリ | |
JP4356953B2 (ja) | 画像処理システム及び画像処理装置及びその制御方法及び記憶媒体 | |
JP3690057B2 (ja) | 出力制御システム、出力制御方法、出力制御プログラムを記録した記録媒体、出力制御システムに用いるデータ生成装置、出力制御システムに用いるデータ変換装置、データ変換制御方法及びデータ変換制御プログラムを記録した記録媒体 | |
JP4514168B2 (ja) | 画像処理システム及び画像処理方法 | |
JP2000332995A (ja) | 画像データ生成方法および記録媒体 | |
JP2003051929A (ja) | 画像処理方法及び装置 | |
JP7005796B2 (ja) | 画像形成装置、その制御方法、及びプログラム | |
US6339654B1 (en) | Apparatus and method for efficiently processing color and monochrome images | |
JP4853504B2 (ja) | 画像処理プログラム及び画像処理システム | |
JP2004274476A (ja) | 色変換テーブル作成装置、色変換テーブル作成方法および色変換テーブル作成プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060217 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060222 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060418 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20060802 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060815 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090901 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100901 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100901 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110901 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120901 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130901 Year of fee payment: 7 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |