(57)【要約】【課題】プリント出力する色数を減らすことで、隣接ピクセルの色のつながりが強くなり、複数ピクセルをピクセル群としてまとめて処理する。キャッシュ処理のヒット率を確保し、一度に処理するピクセル数を増やすことで処理時間を軽減し高速化を実現する。【解決手段】入力ピクセル群から減色値を求める減色値計算部と、減色値と、色変換テーブルを参照して変換した後の出力ピクセル群とを格納するキャッシュテーブルと、現在の減色値と、キャッシュテーブルに格納された減色値とを比較する制御手段とを具備し、制御手段は、現在の減色値と、キャッシュテーブルに格納された減色値とを比較して、異なる値と判断したときは、色変換テーブルを参照して変換した値を出力し、現在の減色値と、キャッシュテーブルに格納された減色値とを比較して、同じ値と判断したときは、キャッシュテーブルに格納された出力ピクセル群を出力することを特徴とする。【選択図】図１
2007251725.tif 000002
【特許請求の範囲】
【請求項１】
入力ピクセル群であるＲＧＢカラーデータから出力ピクセル群であるＣＭＹＫデータに、色変換テーブルを参照して変換する画像処理装置において、
入力ピクセル群から減色値を求める減色値計算部と、
該減色値と、前記色変換テーブルを参照して変換した後の出力ピクセル群とを格納するキャッシュテーブルと、
現在の減色値と、前記キャッシュテーブルに格納された減色値とを比較する制御手段とを具備し、
該制御手段は、
現在の減色値と、前記キャッシュテーブルに格納された減色値とを比較して、異なる値と判断したときは、前記色変換テーブルを参照して変換した値を出力し、
現在の減色値と、前記キャッシュテーブルに格納された減色値とを比較して、同じ値と判断したときは、前記キャッシュテーブルに格納された出力ピクセル群を出力することを特徴とする画像処理装置。
【請求項２】
入力ピクセル群であるＲＧＢカラーデータから出力ピクセル群であるＣＭＹＫデータに、色変換テーブルを参照して変換する画像処理方法において、
入力ピクセル群から減色値を求める減色値計算部と、
該減色値と、前記色変換テーブルを参照して変換した後の出力ピクセル群とを格納するキャッシュテーブルと、
現在の減色値と、前記キャッシュテーブルに格納された減色値とを比較する制御手段とを具備し、
該制御手段は、
現在の減色値と、前記キャッシュテーブルに格納された減色値とを比較して、異なる値と判断したときは、前記色変換テーブルを参照して変換した値を出力し、
現在の減色値と、前記キャッシュテーブルに格納された減色値とを比較して、同じ値と判断したときは、前記キャッシュテーブルに格納された出力ピクセル群を出力することを特徴とする画像処理方法。
【請求項３】
入力ピクセル群であるＲＧＢカラーデータから出力ピクセル群であるＣＭＹＫデータに、色変換テーブルを参照して変換する画像処理プログラムにおいて、
入力ピクセル群から減色値を求める減色値計算部と、
該減色値と、前記色変換テーブルを参照して変換した後の出力ピクセル群とを格納するキャッシュテーブルと、
現在の減色値と、前記キャッシュテーブルに格納された減色値とを比較する制御手段とを具備し、
該制御手段に、
現在の減色値と、前記キャッシュテーブルに格納された減色値とを比較して、異なる値と判断したときは、前記色変換テーブルを参照して変換した値を出力し、
現在の減色値と、前記キャッシュテーブルに格納された減色値とを比較して、同じ値と判断したときは、前記キャッシュテーブルに格納された出力ピクセル群を出力する処理を実行させることを特徴とする画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力カラーデータを出力カラーデータに変換する色変換処理に最適な画像処理装置、方法、およびプログラムに関するものである。
【背景技術】
【０００２】
現在、カラースキャナ、デジタルカメラ、カラー複写機の急速な普及に伴い、イメージデータをカラー複写機やカラープリンタで出力する機会が増えてきている。また、カラー複写機やカラープリンタでは、入力データであるＲＧＢ（Red Green Blue）カラーデータからカラープリンタまたは複写機で扱えるＣＭＹＫ（Cyan Magenta Yellow blacK）データに変換するのにＬＵＴ（LookUpTable:変換テーブル）の補間処理が行われている。
【０００３】
【特許文献１】特許３３６６６７７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
デジタルカメラやカラースキャナの性能向上により、解像度の高いイメージデータが作成できるようになってきている。そのためイメージデータのサイズが大きく（イメージ処理するピクセル数が多く）なり、多くの処理時間を費やしている。一方、大量のイメージ処理の高速化技術は進んではきたものの、未だ十分な処理時間は得られていない。
オフィスアプリケーションが出力する文書にイメージを貼り付けて大量印刷がなされる場合に、全てのユーザが高精細なイメージの再現を望んでいるわけではなく、むしろ多少色が崩れても速くプリントできることを望む場合や、社会環境を考慮してトナー量を削減する為に少ない色数でプリントする場合も有り得る。このようなプリントの仕方は、簡易プリントや試し刷りと呼ばれ、いずれの場合も画質より処理速度が優先される。
【０００５】
本発明は、上記の問題点に鑑みてなされたもので、プリント出力する色数を減らすことで、隣接ピクセルの色のつながりが強くなり、複数ピクセルをピクセル群としてまとめて処理が出来るようにする。キャッシュ処理のヒット率（前ピクセル群の入力値と一致する確率）を確保し、一度に処理するピクセル数を増やすことで全体の処理時間を軽減し、イメージデータ処理の高速化を実現する。
また、プリント出力する色数については、高速化か高画質化かのレベルをユーザが選択できるようにして、ユーザが希望する色数でのプリント出力ができるようにする。
【課題を解決するための手段】
【０００６】
この目的を達成するために、請求項１の発明は、入力ピクセル群であるＲＧＢカラーデータから出力ピクセル群であるＣＭＹＫデータに、色変換テーブルを参照して変換する画像処理装置において、入力ピクセル群から減色値を求める減色値計算部と、減色値と、色変換テーブルを参照して変換した後の出力ピクセル群とを格納するキャッシュテーブルと、現在の減色値と、キャッシュテーブルに格納された減色値とを比較する制御手段とを具備し、制御手段は、現在の減色値と、キャッシュテーブルに格納された減色値とを比較して、異なる値と判断したときは、色変換テーブルを参照して変換した値を出力し、現在の減色値と、キャッシュテーブルに格納された減色値とを比較して、同じ値と判断したときは、キャッシュテーブルに格納された出力ピクセル群を出力することを特徴とする。
請求項２の発明は、入力ピクセル群であるＲＧＢカラーデータから出力ピクセル群であるＣＭＹＫデータに、色変換テーブルを参照して変換する画像処理方法において、入力ピクセル群から減色値を求める減色値計算部と、減色値と、色変換テーブルを参照して変換した後の出力ピクセル群とを格納するキャッシュテーブルと、現在の減色値と、キャッシュテーブルに格納された減色値とを比較する制御手段とを具備し、制御手段は、現在の減色値と、キャッシュテーブルに格納された減色値とを比較して、異なる値と判断したときは、色変換テーブルを参照して変換した値を出力し、現在の減色値と、キャッシュテーブルに格納された減色値とを比較して、同じ値と判断したときは、キャッシュテーブルに格納された出力ピクセル群を出力することを特徴とする。
請求項３の発明は、入力ピクセル群であるＲＧＢカラーデータから出力ピクセル群であるＣＭＹＫデータに、色変換テーブルを参照して変換する画像処理プログラムにおいて、入力ピクセル群から減色値を求める減色値計算部と、減色値と、色変換テーブルを参照して変換した後の出力ピクセル群とを格納するキャッシュテーブルと、現在の減色値と、キャッシュテーブルに格納された減色値とを比較する制御手段とを具備し、制御手段に、現在の減色値と、キャッシュテーブルに格納された減色値とを比較して、異なる値と判断したときは、色変換テーブルを参照して変換した値を出力し、現在の減色値と、キャッシュテーブルに格納された減色値とを比較して、同じ値と判断したときは、キャッシュテーブルに格納された出力ピクセル群を出力する処理を実行させることを特徴とする。
【発明の効果】
【０００７】
以上のように、本発明の画像処理装置、方法、およびプログラムによれば、プリント出力する色数を減らすことで、隣接ピクセルの色のつながりが強くなり、複数ピクセルをピクセル群としてまとめて処理が出来る。キャッシュ処理のヒット率（前ピクセル群の入力値と一致する確率）を確保し、一度に処理するピクセル数を増やすことで全体の処理時間を軽減し、イメージデータ処理の高速化を実現できる。また、プリント出力する色数については、高速化か高画質化かのレベルをユーザが選択して、ユーザが希望する色数でのプリント出力ができる。
【発明を実施するための最良の形態】
【０００８】
以下、本発明の実施の形態を図面に基づいて説明する。
【実施例１】
【０００９】
図１は、本発明による画像処理装置、方法、およびプログラムの一実施形態を示すブロック結線図である。
図１において、ホストコンピュータ１０から制御コードが画像処理装置２０に送られる。画像処理装置２０は、入力データを受け取る入力バッファ２１、プリンタ全体の動作を制御するＣＰＵ２３、ＣＰＵ２３の動作を記述するプログラムが内蔵されているプログラムＲＯＭ２２、制御コードから取り出された画像データ（ピクセル群）や計算用のデータを格納するデータＲＡＭ２４、出力用に変換されたの画像データ（ピクセル群）を最終工程のデータに変換してプリンタエンジン部２６に転送するプリント画像転送部２５等から構成されている。なお、処理領域用の追加オプションとしてＨＤＤ３０を採用することも出来る。
【００１０】
プログラムＲＯＭ２２は、現ピクセル群とキャッシュテーブルのピクセル群の減色値が一致しているか否かを判定する減色値解析部２２１、入力色値に対して出力色値を求めるＬＵＴ補間部２２２、求められた減色値と出力色値からキャッシュテーブルの情報を更新するキャッシュテーブル情報更新部２２３、入力値から減色値を求める減色値計算部２２４等から構成されている。
【００１１】
データＲＡＭ２４（図３に例示）は、高速処理ができるように前ピクセル群の入力値と出力値を格納しているキャッシュテーブル２４１、制御コードから得られた入力画像データ（ピクセル群）と後に求められる出力画像データ（ピクセル群）用の画像データバッファ２４２、入力値から出力色値を求める為の補間演算用参照テーブルである色変換テーブル（ＬＵＴ:LookUpTable）２４３（図４に詳述）、ユーザ指定の減色レベル値を格納する減色レベル値バッファ２４４、ピクセル群のピクセル数を設定する群レベルバッファ２４５等で構成されている。
減色レベル値について例を挙げて説明する。減色レベル値が６４の場合は、通常のＲＧＢデータは８ＢｉｔＣｏｌｏｒ（０〜２５５）なので２５５×２５５×２５５の１６７７万色を表現できるが、減色レベル値を６ＢｉｔＣｏｌｏｒ（０〜６４）にすると６４×６４×６４の２６万色に減色することを意味する。
【００１２】
次に、上述したシステム構成での動作について説明する。
【００１３】
ホストコンピュータ１０から送られてきた制御コードが入力バッファ２１に蓄えられる。ＣＰＵ２３は、プログラムＲＯＭ２２の命令により、入力バッファ２１に格納されている制御コードから画像データ（ピクセル群）を取り出して、データＲＡＭ２４の画像データバッファ２４２に格納される。また、同時に制御コードからユーザ指定の減色レベル値を減色レベル値バッファ２４４に格納する。ここでは減色レベルが６４、初期設定としてピクセル群で取り扱うピクセル数を４ピクセルとして群レベルバッファ２４５に設定されているものとして説明する。以下、画像データバッファ２４２が、既に格納された入力画像データ（ピクセル群）から出力画像データ（ピクセル群）が格納されるまでの処理過程をフローチャート（図２）と概念図（図５）を基にして説明する。
【００１４】
まず、処理するピクセルがあるか否かを判定する（ステップＳ１０）。処理するピクセルがあるときは、ステップＳ１１に移行する。処理する画像データ（ピクセル群）のピクセル数が０ならば、プログラムを直ちに終了する。ステップＳ１１では、画像データバッファ２４２から、群レベルバッファ２４５に設定されている４ピクセル分の入力色値を獲得する。４ピクセルより小さい場合は、その数を一時的に画像データバッファ２４２に格納しておく。
ステップＳ１１で獲得した入力色値から減色レベル値バッファ２４４の設定値にしたがって４ピクセル分の減色値を求める（ステップＳ１２)。
【００１５】
［現在のピクセルが最初のピクセルの場合］
図５に示す最初のピクセル群１には、ステップＳ１２で４ピクセル分の減色値が求められた後に、スタートピクセル群（１番目のピクセル群）か否かの判定（ステップＳ１３）を行う。ここでは比較対象のピクセルが無いために、ピクセル群の４ピクセルそれぞれに対して出力値を求めるピクセル群内処理を行う。
ピクセル群内処理では、初めに処理済のピクセル数を０クリア（初期化）する（ステップＳ１５）。その後、ピクセル群内のピクセルの出力値を計算したか否かのチェックを行う（ステップＳ１６）。まだピクセル処理が行われていないので、１ピクセル分の減色値からＬＵＴ補間演算を行い、出力色値（ＣＭＹＫ値)を得る（ステップＳ１７）。その後、２番目のピクセルとして減色値とＣＭＹＫ値をキャッシュテーブル２４１に登録してから（ステップＳ１８）、ピクセル群内の処理済ピクセル数をカウントアップする（ステップＳ１９）。
ここでは、１ピクセル分の処理しか説明してないが、残りの前ピクセル数が４より少ない場合は、残ピクセル数を処理した時点で４ピクセル処理したことにする。ＳＩＭＤ（Single Instruction／Multiple Data）演算により４ピクセル同時に処理できる場合は、ステップＳ１６〜ステップＳ１９の処理は１回で済む。
最後に、求められた４ピクセルのＣＭＹＫ値を出力画像として、画像データバッファ２４２に格納し（ステップＳ２１）、処理したピクセル数を４カウントアップ（ステップＳ２２）してからステップＳ１０に戻る。ピクセル残数が４未満のときは残ピクセル数だけ画像データバッファ２４２に格納し（ステップＳ２１）、処理したピクセル数をカウントアップ（ステップＳ２２）してからステップＳ１０に戻る。
【００１６】
［２番目以降のピクセルが１つ前のピクセル群の減色値が一致する場合］
２番目以降のピクセルに関しては、最初のピクセルか否かの判定（ステップＳ１３）の後に、キャッシュテーブル２４１に現在登録されている前ピクセル群の減色値と４ピクセル分の比較をする（ステップＳ１４）。減色値が一致する場合なので、キャッシュテーブル２４１の出力色値を出力色値とする（ステップＳ２０）。処理したピクセル数を４カウントアップ（ステップＳ２２）してからステップＳ１０に戻る。ピクセル残数が４未満のときは残ピクセル数だけ画像データバッファ２４２に格納し（ステップＳ２１）、処理したピクセル数をカウントアップ（ステップＳ２２）してからステップＳ１０に戻る。
【００１７】
ステップＳ１４で、キャッシュテーブル２４１の値と一致した場合には、処理時間の大きなＬＵＴ補間処理を省くことができる上に、４ピクセルまとめて処理が可能なので、比較回数も含めて出力色値を求める処理時間を短縮することができる。
【００１８】
［２番目以降のピクセルが１つ前のピクセル群の減色値と一致しない場合］
２番目以降のピクセルに関しては、最初のピクセル群か否かの判定（ステップＳ１３）の後に、キャッシュテーブル２４１に現在登録されている前ピクセル群の減色値と４ピクセル分の比較をする（ステップＳ１４）。減色値が一致しない場合なので、ステップＳ１５に移行してＬＵＴ補間演算を行い、４ピクセル分それぞれに対して１ピクセル分のＣＭＹＫ値を得る。さらに次のピクセルのために、キャッシュテーブル２４１を更新（ステップＳ１８）し、ステップＳ１９で１ピクセルカウントアップしてからステップＳ１６に戻る。
【００１９】
ステップＳ１６でピクセル群内のピクセルの出力値を計算したと判断した場合は、求められた出力色値を画像データバッファ２４２に格納する（ステップＳ２１）。その後、処理済みのピクセル数をカウントアップする（ステップＳ２２）。以上のステップを１ピクセルずつ全ピクセルに対して繰り返す。出力用の画像データバッファが出来上がると、ＣＰＵ２３からプリント画像転送部２５を介してプリンタエンジン部２６に出力される。
【産業上の利用可能性】
【００２０】
本発明は、カラープリンタおよびカラー複写機等で利用可能な技術を提示している。
【図面の簡単な説明】
【００２１】
【図１】画像処理装置、方法、およびプログラムを示すブロック結線図である。（実施例１）
【図２】画像処理装置、方法、およびプログラムの実施方法を示すフローチャートである。（実施例１）
【図３】画像処理装置、方法、およびプログラムの実施方法を示す概念図である。（実施例１）
【図４】画像処理装置、方法、およびプログラムの実施方法を示す概念図である。（実施例１）
【図５】画像処理装置、方法、およびプログラムの実施方法を示す概念図である。（実施例１）
【符号の説明】
【００２２】
１０    ホストコンピュータ
２０    画像処理装置
２１    入力バッファ
２２    プログラムＲＯＭ
２３    ＣＰＵ
２４    データＲＡＭ
２５    プリント画像転送部（ＣＭＹＫデータ転送部）
２６    プリンタエンジン部
３０    ＨＤＤ
２２１    入力色値解析部
２２２    ＬＵＴ補間部
２２３    キャッシュテーブル情報更新部
２２４    減色値計算部
２４１    キャッシュテーブル
２４２    画像データバッファ
２４３    色変換テーブル（LookUpTable:ＬＵＴ）
２４４    減色レベル値バッファ
２４５    群レベルバッファ
【図１】
2007251725.tif 000003
【図２】
2007251725.tif 000004
【図３】
2007251725.tif 000005
【図４】
2007251725.tif 000006
【図５】
2007251725.tif 000007