(57)【特許請求の範囲】
【請求項１】
ルックアップテーブルを用いて、第１カラー空間のサブセットである第１カラーデータを第２カラー空間のサブセットである第２カラーデータにカラー空間変換する、色変換装置における方法であって、
前記ルックアップテーブルは、前記第１カラー空間における所定の複数のカラー値のそれぞれに対応する、前記第２カラー空間におけるカラー値を格納可能であり、
前記第１カラーデータにおける少なくとも１つの第１カラー値を入力するステップと、
前記入力された第１カラー値のカラー空間変換に必要となる、前記ルックアップテーブル上の第２カラー値が計算済みであるか否かを決定するステップと、
前記ルックアップテーブル上の前記第２カラー値がまだ計算されていない場合に、前記第１カラー空間に対応する第１カラープロファイルと前記第２カラー空間に対応する第２カラープロファイルとに基づいて前記第２カラー値を計算するステップと、前記計算された第２カラー値を前記ルックアップテーブルに格納するステップと、前記入力された第１カラー値と、前記計算された第２カラー値とに基づいて、前記計算された第２カラー値を補間して、前記入力された第１カラー値に対応する、前記第２カラーデータにおける少なくとも１つの値を計算するステップと、
前記ルックアップテーブル上の前記第２カラー値が既に計算されている場合に、前記第２カラー値の計算は行わずに、前記ルックアップテーブルに格納された前記第２カラー値を取得するステップと、前記入力された第１カラー値と、前記取得された第２カラー値とに基づいて、前記取得された第２カラー値を補間して、前記入力された第１カラー値に対応する、前記第２カラーデータにおける少なくとも１つの値を計算するステップと、
を有する方法。
【請求項２】
前記第１カラープロファイルは、前記第１カラー空間からプロファイル接続空間への第１マッピングを記述し、前記第２カラープロファイルは、前記プロファイル接続空間から前記第２カラー空間への第２マッピングを記述する、請求項１に記載の方法。
【請求項３】
前記ルックアップテーブルは、前記第１マッピングと前記第２マッピングとを組み合わせて、前記第１カラー空間から前記第２カラー空間へのマッピングを記述する、請求項２に記載の方法。
【請求項４】
前記ルックアップテーブルは、当該ルックアップテーブルに格納される全ての値を所定のデフォルト値に設定することによって初期化される、請求項１から３のいずれか一項に記載の方法。
【請求項５】
前記ルックアップテーブルに格納された値は、前記第１カラーデータの全ての値についてカラー空間変換が完了した後に削除される、請求項１から４のいずれか一項に記載の方法。
【請求項６】
前記色変換装置は、画像形成装置である、請求項１から５のいずれか一項に記載の方法。
【請求項７】
命令を含むコンピュータ読み取り可能な媒体であって、
前記命令は、プロセッサによる実行時に、ルックアップテーブルを用いて、第１カラー空間のサブセットである第１カラーデータを第２カラー空間のサブセットである第２カラーデータにカラー空間変換する、色変換装置における方法におけるステップを実行し、
前記ルックアップテーブルは、前記第１カラー空間における所定の複数のカラー値のそれぞれに対応する、前記第２カラー空間におけるカラー値を格納可能であり、
前記方法は、
前記第１カラーデータにおける少なくとも１つの第１カラー値を入力するステップと、
前記入力された第１カラー値のカラー空間変換に必要となる、前記ルックアップテーブル上の第２カラー値が計算済みであるか否かを決定するステップと、
前記ルックアップテーブル上の前記第２カラー値がまだ計算されていない場合に、前記第１カラー空間に対応する第１カラープロファイルと前記第２カラー空間に対応する第２カラープロファイルとに基づいて前記第２カラー値を計算するステップと、前記計算された第２カラー値を前記ルックアップテーブルに格納するステップと、前記入力された第１カラー値と、前記計算された第２カラー値とに基づいて、前記計算された第２カラー値を補間して、前記入力された第１カラー値に対応する、前記第２カラーデータにおける少なくとも１つの値を計算するステップと、
前記ルックアップテーブル上の前記第２カラー値が既に計算されている場合に、前記第２カラー値の計算は行わずに、前記ルックアップテーブルに格納された前記第２カラー値を取得するステップと、前記入力された第１カラー値と、前記取得された第２カラー値とに基づいて、前記取得された第２カラー値を補間して、前記入力された第１カラー値に対応する、前記第２カラーデータにおける少なくとも１つの値を計算するステップと、
を有する、コンピュータ読み取り可能な媒体。
【請求項８】
前記第１カラープロファイルは、前記第１カラー空間からプロファイル接続空間への第１マッピングを記述し、前記第２カラープロファイルは、前記プロファイル接続空間から前記第２カラー空間への第２マッピングを記述する、請求項７に記載のコンピュータ読み取り可能な媒体。
【請求項９】
前記ルックアップテーブルは、前記第１マッピングと前記第２マッピングとを組み合わせて、前記第１カラー空間から前記第２カラー空間へのマッピングを記述する、請求項８に記載のコンピュータ読み取り可能な媒体。
【請求項１０】
前記ルックアップテーブルは、当該ルックアップテーブルに格納される全ての値を所定のデフォルト値に設定することによって初期化される、請求項７から９のいずれか一項に記載のコンピュータ読み取り可能な媒体。
【請求項１１】
前記ルックアップテーブルに格納された値は、前記第１カラーデータの全ての値についてカラー空間変換が完了した後に削除される、請求項７から１０のいずれか一項に記載のコンピュータ読み取り可能な媒体。
【請求項１２】
前記色変換装置は、画像形成装置である、請求項７から１１のいずれか一項に記載のコンピュータ読み取り可能な媒体。
【請求項１３】
第１カラー空間のサブセットである第１カラーデータを受信する入力インターフェースと、
前記第１カラーデータと、ルックアップテーブルを用いて前記第１カラーデータを第２カラー空間のサブセットである第２カラーデータにカラー空間変換する命令と、を格納する記憶装置と、
前記入力インターフェース及び前記記憶装置に接続されたプロセッサと、を備え、
前記ルックアップテーブルは、前記第１カラー空間における所定の複数のカラー値のそれぞれに対応する、前記第２カラー空間におけるカラー値を格納可能であり、
前記プロセッサは、
前記第１カラーデータにおける少なくとも１つの第１カラー値を入力するステップと、
前記入力された第１カラー値のカラー空間変換に必要となる、前記ルックアップテーブル上の第２カラー値が計算済みであるか否かを決定するステップと、
前記ルックアップテーブル上の前記第２カラー値がまだ計算されていない場合に、前記第１カラー空間に対応する第１カラープロファイルと前記第２カラー空間に対応する第２カラープロファイルとに基づいて前記第２カラー値を計算するステップと、前記計算された第２カラー値を前記ルックアップテーブルに格納するステップと、前記入力された第１カラー値と、前記計算された第２カラー値とに基づいて、前記計算された第２カラー値を補間して、前記入力された第１カラー値に対応する、前記第２カラーデータにおける少なくとも１つの値を計算するステップと、
前記ルックアップテーブル上の前記第２カラー値が既に計算されている場合に、前記第２カラー値の計算は行わずに、前記ルックアップテーブルに格納された前記第２カラー値を取得するステップと、前記入力された第１カラー値と、前記取得された第２カラー値とに基づいて、前記取得された第２カラー値を補間して、前記入力された第１カラー値に対応する、前記第２カラーデータにおける少なくとも１つの値を計算するステップと、
を行う命令を実行する、色変換装置。
【請求項１４】
前記第１カラープロファイルは、前記第１カラー空間からプロファイル接続空間への第１マッピングを記述し、前記第２カラープロファイルは、前記プロファイル接続空間から前記第２カラー空間への第２マッピングを記述する、請求項１３に記載の色変換装置。
【請求項１５】
前記ルックアップテーブルは、前記第１マッピングと前記第２マッピングとを組み合わせて、前記第１カラー空間から前記第２カラー空間へのマッピングを記述する、請求項１４に記載の色変換装置。
【請求項１６】
前記ルックアップテーブルは、当該ルックアップテーブルに格納される全ての値を所定のデフォルト値に設定することによって初期化される、請求項１３から１５のいずれか一項に記載の色変換装置。
【請求項１７】
前記ルックアップテーブルに格納された値は、前記第１カラーデータの全ての値についてカラー空間変換が完了した後に削除される、請求項１３から１６のいずれか一項に記載の色変換装置。
【請求項１８】
前記色変換装置は、画像形成装置である、請求項１３から１７のいずれか一項に記載の色変換装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、印刷システムの色変換に関し、特に色変換速度を向上させる色変換装置、色変換方法及びコンピュータ読み取り可能な媒体に関する。
【背景技術】
【０００２】
画像印刷装置及び表示装置では、独立した画像生成装置によって生成された画像を適切に印刷又は表示するために、通常、ある色空間から他の色空間へ画像のカラーデータの変換が必要である。例えば、Red, Green, 及びBlue（ＲＧＢ）色空間を用いるカメラにより画像が生成され、その画像が、Cyan, Magenta, Yellow, 及びBlacK（ＣＭＹＫ）色空間を用いるプリンタによって印刷される。色変換システムは、カラー・マネージメント・モジュール（color management module：ＣＭＭ）を利用して、カメラ又はモニタ等の送信元装置から、プリンタ等の送信先装置への色変換処理を実行する。
【０００３】
色空間Ａから色空間Ｂへの一般的な色変換は、国際色彩協会（International Color Consortium: ＩＣＣ）仕様に基づく処理と同様に、色空間Ａからプロファイル接続空間（profile connection space：ＰＣＳ）への第１変換と、ＰＣＳから色空間Ｂへの第２変換の２つのステップからなる。ＰＣＳは、例えばCommission Internationale de l'Eclairage XYZ（CIE XYZ）色空間等の機器非依存色空間である。２つのマッピング機能のそれぞれは、カラープロファイルにおけるルックアップテーブルによって表される。実際のところ、この２ステップの色変換は効率的ではない。色変換効率を向上させるため、ＣＭＭは通常、ＡからＰＣＳへのマッピングとＰＣＳからＢへのマッピングとを結合させた単一のマッピングを生成し、単一の結合されたマッピングを、結合色変換ルックアップテーブルに格納する。
【０００４】
通常、ＣＭＭは、色変換が行われる前に、結合ルックアップテーブルの全登録事項を計算してメモリに格納する。色変換処理中、ＣＭＭはメモリ内の結合ルックアップテーブルにアクセスし、カラー値変換に関わる補間の実行に必要なルックアップテーブルの登録事項を取得する。代替的なアプローチでは、色空間変換用の値が必要に応じて計算、使用され、使用後直ちに廃棄される。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−１９７３９５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、色変換を行う先行技術として開示されたシステム及び方法は最善とは言えない。例えば、事前に結合ルックアップテーブルを全て構築することは、特に、色空間に高度に局在したカラーデータ及び／又は多次元の色変換を扱う場合に時間を要し、且つメモリを消費する（よって、ルックアップテーブルのごく一部しか用いられない。）。一方、色空間変換値を必要に応じて計算し、使用直後に廃棄するようにすると、後で同じ色空間変換が行われる時に計算を繰り返すこととなり、補間よりも遅くなる可能性がある。そのような計算の繰り返しは、時間及び計算資源を著しく消費する結果となる。したがって、色変換処理中に資源をより最適に利用するシステム及び方法が求められている。
【課題を解決するための手段】
【０００７】
本発明によると、ルックアップテーブルを用いて、第１カラー空間のサブセットである第１カラーデータを第２カラー空間のサブセットである第２カラーデータにカラー空間変換する、色変換装置及び色変換方法が提供される。前記ルックアップテーブルは、前記第１カラー空間における所定の複数のカラー値のそれぞれに対応する、前記第２カラー空間におけるカラー値を格納可能であり、前記第１カラーデータにおける少なくとも１つの第１カラー値を入力するステップと、前記入力された第１カラー値のカラー空間変換に必要となる、前記ルックアップテーブル上の第２カラー値が計算済みであるか否かを決定するステップと、前記ルックアップテーブル上の前記第２カラー値がまだ計算されていない場合に、前記第１カラー空間に対応する第１カラープロファイルと前記第２カラー空間に対応する第２カラープロファイルとに基づいて前記第２カラー値を計算するステップと、前記計算された第２カラー値を前記ルックアップテーブルに格納するステップと、前記入力された第１カラー値と、前記計算された第２カラー値とに基づいて、前記計算された第２カラー値を補間して、前記入力された第１カラー値に対応する、前記第２カラーデータにおける少なくとも１つの値を計算するステップと、前記ルックアップテーブル上の前記第２カラー値が既に計算されている場合に、前記第２カラー値の計算は行わずに、前記ルックアップテーブルに格納された前記第２カラー値を取得するステップと、前記入力された第１カラー値と、前記取得された第２カラー値とに基づいて、前記取得された第２カラー値を補間して、前記入力された第１カラー値に対応する、前記第２カラーデータにおける少なくとも１つの値を計算するステップと、を有する。
【０００８】
本発明の実施形態は、更に、ソフトウェアと、ファームウェアと、コンピュータ読取可能な媒体又はコンピュータ読み取り可能なメモリを用いてプロセッサにより生成され、格納され、アクセスされ、又は変更されたプログラム命令と、に関係する。記載された方法は、コンピュータ及び／又は印刷装置上で実行され得る。
【０００９】
さらなる目的及び効果は、以下の記載に一部示されており、ある程度当該記載から明白であるか、又は実施により得られる。これらの目的と効果は、添付された特許請求の範囲において具体的に示された要素及び組み合わせによって実現され、達成される。以上の包括的説明及び以下の詳細な説明は、何れも説明のための例示であって、クレームされた発明を限定するものではない。これらの実施形態及び他の実施形態については、図面を参照して以下詳細に説明する。
【図面の簡単な説明】
【００１０】
【図１】例示的なプリンタのブロック図である。
【図２】色変換の例示的なデータフローを示すブロック図である。
【図３】色変換ルックアップテーブルの説明図である。
【図４】例示的な色変換動作処理のフローチャートである。
【発明を実施するための形態】
【００１１】
添付図面において例示される種々の実施形態について詳細に説明する。図面全体にわたって可能な限り、同一又は類似の部分に同一の参照符号を用いる。
【００１２】
図１に、開示された実施形態に係る例示的なプリンタ１０のブロック図を示す。概して、プリンタ１０は電子データから物理的文書を生成するように構成されたどのような装置であってもよい。このようなプリンタ１０としては、レーザプリンタやＬＥＤプリンタ等の電子写真式プリンタ、インクジェットプリンタ、サーマルプリンタ、レーザイメージャ、オフセットプリンタなどがあるが、必ずしもこれらに限定されない。プリンタ１０は、ファクシミリ及びデジタル複写機に搭載されているような画像送信／受信機能、画像スキャン機能、及び／又は複写機能を有する。本明細書に記載された方法及び装置は、適切に改変し、ここに開示された実施形態に合致する方法で、これらの様々なプリンタ装置タイプに適用され得る。
【００１３】
いくつかの実施形態において、プリンタ１０は入出力ポート１５０を有し、入出力ポート１５０及び接続部１５１を用いて入力装置５０にアクセス可能である。プリンタ１０は、カラーデータを含む入力プリントデータを入力装置５０から受信する。例えば、入力装置５０は、ソースカラーデータを表示するもモニタを有する汎用コンピュータである。汎用コンピュータは、プリントデータを処理するAdobe Photoshop（商標）等のアプリケーションを更に有する。いくつかの実施形態において、入力装置５０は、カメラ等の画像生成装置である。
【００１４】
入力装置５０は、通常の通信プロトコル及び／又はデータポートインターフェースを用いて有線又は無線の接続部１５１を介してプリンタ１０に接続される。概して、接続部１５１は、装置間のデータ伝送を可能とする任意の通信チャネルである。例えば、一実施形態において、適切な接続部を介したデータ伝送のために、パラレルポート、シリアルポート、Ethernet、USB、SCSI、FIREWIRE、及び／又は同軸ケーブルポート等の通常のデータポートが装置に搭載される。
【００１５】
入力装置５０は、ソース色空間を用いて、標準ＲＧＢ（ＳＲＧＢ）色空間、ＣＭＹ色空間、ＣＭＹＫ色空間、又はその他の色区間等のソースカラーデータを表す。一方、プリンタ１０は、プリンタ１０に固有の色空間を用いてカラーデータを表す。いくつかの実施形態において、プリンタ１０に固有の色空間は、入力装置５０のソース色空間に適合していない。したがって、ソース色空間からプリンタ１０固有の色空間へソースカラーデータの色変換を行い、プリンタ１０を用いてカラーデータを印刷する。
【００１６】
プリンタ１０は、ＣＰＵ１２０、ファームウェア１３０、メモリ１４０、プリントエンジン１６０、及び補助記憶装置１７０に接続されたバス１０１を更に有する。また、プリンタ１０は、開示された実施形態に合致する方法で色空間変換を行うアプリケーションの一部を実行可能な特定用途向け集積回路（Application Specific Integrated Circuits：ＡＳＩＣs）／フィールド・プログラマブル・ゲート・アレイ（Field Programmable Gate Arrays：ＦＰＧＡs）１８０を有する。また、いくつかの実施形態において、プリンタ１０は、プリンタ・オペレーティング・システムを含むソフトウェアや、色空間変換を行うソフトウェアを含むその他の適切なアプリケーション・ソフトウェアを実行することができる。本実施形態におけるプリンタ１０では、その他のオプションのうち、用紙サイズ、出力トレイ、色選択、及び印字解像度をユーザ設定可能である。
【００１７】
いくつかの実施形態において、ＣＰＵ１２０は、汎用プロセッサ、専用プレセッサ、又は組み込みプロセッサである。ＣＰＵ１２０は、制御情報及び指示を含むデータをメモリ１４０及び／又はファームウェア１３０と交換可能である。メモリ１４０は、ＳＤＲＡＭ又はＲＤＲＡＭなど（ただし、これらに限定されない。）、どんなタイプのダイナミック・ランダム・アクセス・メモリ（Dynamic Random Access Memory：ＤＲＡＭ）でもよい。ファームウェア１３０は、起動シーケンス、予め設定されたルーチン、色空間変換用のルーチン、及びその他のコード（ただし、これらに限定されない。）を含む指示及びデータを保持する。いくつかの実施形態において、ファームウェア１３０内のコード及びデータは、ＣＰＵ１２０による動作前にメモリ１４０にコピーされる。また、いくつかの実施形態において、ファームウェア１３０内のデータと指示はアップグレードできる。
【００１８】
また、いくつかの実施形態において、ファームウェア１３０は、入力装置５０に係るソース色空間と、プリンタ１０に係る固有色空間との間で色変換を行い、変換されたカラーデータをメモリ１４０に格納するためのルーチンを含んでいる。いくつかの実施形態において、これらのルーチンは、様々な色変換動作を行うための、ＣＰＵ１２０により実行可能なコードを含んでいる。ファームウェア１３０内のルーチンは、更に、入力装置５０から受信される入力カラーデータ及び関連する色空間情報を処理するためのコードを含んでいる。また、１以上の色空間変換動作を行うためのルーチンの一部が、ハード・ドライブ、コンピュータ・ディスク、ＣＤ−ＲＯＭ、ＤＶＤＲＯＭ、ＣＤ±ＲＷ、又はＤＶＤ±ＲＷ、ＵＳＢフラッシュ・ドライブ、メモリスティック、又はその他の適切な媒体など、着脱可能なコンピュータ読取可能な媒体に格納され、プリンタ１０の適切なサブシステム上で実行されると考えられる。例えば、色空間変換動作を行うアプリケーションの一部が、着脱可能なコンピュータ読取可能な媒体にあり、メモリ１４０にコピーされたファームウェア１３０のルーチンを用いて、ＣＰＵ１２０により読み込まれ、実行される。
【００１９】
いくつかの実施形態において、ＣＰＵ１２０は、指示及びデータに作用してＡＳＩＣｓ／ＦＰＧＡｓ１８０及びプリントエンジン１６０に対する制御及びデータの提供を行い、印刷文書を生成させる。また、いくつかの実施形態において、ＡＳＩＣｓ／ＦＰＧＡｓ１８０もプリントエンジン１６０に対する制御及びデータの提供を行う。また、ＡＳＩＣｓ／ＦＰＧＡｓ１８０は、変換アルゴリズム、圧縮アルゴリズム、及び色変換アルゴリズムのうち１以上を実行する。
【００２０】
いくつかの実施形態において、入力カラーデータ、ソースカラープロファイル、固有カラープロファイル、計算されたルックアップテーブル、及び変換されたカラーデータは、メモリ１４０又は補助記憶装置１７０に格納される。例示的な補助記憶装置１７０は、内蔵された又は外付けのハードディスク、メモリスティック（商標）、又はプリンタ１０で使用可能なその他の記憶装置である。本発明のいくつかの実施形態に係る、計算されたルックアップテーブルを格納するメモリは、専用メモリであってもよく、若しくは汎用メモリの一部を形成するものであってもよく、又はこれらの組み合わせであってもよい。また、メモリは、必要に応じてルックアップテーブルを保持するよう動的に割り当てられるものであってもよい。また、ルックアップテーブルを格納するために割り当てられたメモリは、処理後に開放されてもよい。
【００２１】
図２は、開示された実施形態に係る、色変換の例示的なデータフローを示すブロック図である。いくつかの実施形態において、カラー・マネージメント・モジュール（ＣＭＭ）２００は、ＣＰＵ１２０によって実行可能なコードを含み、様々な色変換動作を行う。いくつかの実施形態において、言語プロセッサ２２０が含まれており、言語プロセッサ２２０は、データがＣＭＭ２００に送信される前に入力カラーデータ２１０を受信して処理するように構成されている。入力カラーデータ２１０は、１次元カラーデータ（例えば、グレースケール）又は多次元カラーデータ（例えば、ＲＧＢ）を含む。いくつかの実施形態において、入力カラーデータ２１０は、ソースカラー空間のサブセットと関連している。すなわち、入力カラーデータ２１０は、ソースカラー空間における全ての可能なカラー値を必ず含んでいるわけではない。例えば、ソースカラー空間はＲＧＢカラー空間であるが、入力カラーデータ２１０は黒及び白のカラー値しか含まないかもしれない。極端な場合、サブセットは全ソースカラー空間にもなり得る。
【００２２】
入力カラーデータ２１０は、入力装置５０に用いられるソースカラー空間に関連する情報を記述する入力カラープロファイル２０１を更に含んでいる。いくつかの実施形態においては、色変換の方法として、国際色彩協会（ＩＣＣ）仕様を利用する。ＩＣＣ仕様では、装置の固有装置カラー空間と、この固有装置カラー空間及び装置非依存なカラー空間（プロファイル接続空間（profile connection space：ＰＣＳ）として知られる。）の間のカラーデータの変換に必要な付加的な関連情報と、を記述する装置固有のプロファイルの生成が認められている。ＩＣＣプロファイルフォーマットは、例えば、ＣＩＥＸＹＺベースのカラー空間、ＲＧＢベースのカラー空間、及びＣＭＹベースのカラー空間を含む、様々な装置依存のカラー空間及び装置非依存のカラー空間をサポートしている。
【００２３】
いくつかの実施形態において、入力カラープロファイル２０１はソースカラー空間を特定するものである。例えば、ＳＲＧＢなどの、一般に知られ、及び／又は広く用いられるカラー空間が、入力カラープロファイル２０１により特定される。一実施形態において、ＳＲＧＢの詳細なＩＣＣ仕様は、プリンタ１０のメモリ１４０又は補助記憶装置１７０に格納され、言語プロセッサ２２０は、ＳＲＧＢカラー空間を認識し、対応するＩＣＣ仕様を取得する。いくつかの実施形態において、入力カラープロファイル２０１は、ソースカラー空間の詳細なＩＣＣ仕様を含んでいる。
【００２４】
言語プロセッサ２２０は、入力カラープロファイル２０１とともに入力カラーデータ２１０を解析し、それらをＣＭＭ２００が認識可能なフォーマットに変換する。例えば、入力カラーデータ２１０は３次元カラーデータを含んでおり、この３次元カラーデータは、あるピクセルに対する３個のカラー値の後に次のピクセルに対する３個のカラー値が続くように、ピクセル毎に設定されているとする。一方、ＣＭＭ２００は、ある平面に対するピクセル値の後に次の平面に対するピクセル値が続くように、平面毎に構成されるカラーデータを認識するものとする。このような条件下において、言語プロセッサ２２０は、入力カラーデータ２１０を、ＣＭＭ２００の設定に適合するフォーマットへ再編成する。入力カラープロファイル２０１が、詳細な仕様なしでソースカラー空間を特定する場合、言語プロセッサ２２０は、更にソースカラー空間を認識し、対応する仕様を取得する。対応する仕様は、メモリ１４０又は補助記憶装置１７０に格納可能である。
【００２５】
いくつかの実施形態において、出力カラー空間がプリンタ１０の固有カラー空間と異なる場合、入力カラーデータ２１０は出力カラープロファイル（図示略）を更に含む。出力カラープロファイルは、出力カラー空間と、色変換に必要な関連する情報とを記述するものである。本開示に記載の例示的な実施形態では、限定することなく、入力装置５０のソースカラー空間からプリンタ１０の固有カラー空間への色変換について説明する。開示された技術は、ソースカラー空間から、特定された出力カラー空間への色変換が起こる状況に、当業者によって容易に適応可能である。
【００２６】
例示的なＣＭＭ２００は、ルックアップテーブルジェネレータ２３０及びカラーコンバータ２４０を有する。いくつかの実施形態において、ルックアップテーブルジェネレータ２３０はルックアップテーブル３０を生成する。カラーコンバータ２４０は、ルックアップテーブル３０を用いてカラー空間変換を行う。ルックアップテーブル３０は、プリンタ１０のメモリ１４０及び／又は補助記憶装置１７０に格納可能である。ルックアップテーブルジェネレータ２３０及びカラーコンバータ２４０の双方は、固有カラープロファイル２５０を用いて、カラーデータ及び／又はルックアップテーブル３０内のその他の色変換関連情報を取得し、及び／又は格納する。なお、図２に示した機能モジュールは単なる例示であって、モジュールの他の組み合わせによっても同様の機能が実行可能である。例えば、ルックアップテーブルジェネレータ２３０とカラーコンバータ２４０を１つのモジュールに結合して、個々の機能を結合させるようにしてもよい。概して、モジュールについてその他の様々な組み合わせも考えられ、このような組み合わせは当業者にとって自明である。
【００２７】
いくつかの実施形態において、ソースカラー空間から固有カラー空間への色変換は次の２ステップからなる。ソースカラー空間からＰＣＳへの第１変換（例示的なマッピング関数ｆにより特徴づけられる。）と、ＰＣＳから固有カラー空間への第２変換（例示的なマッピング関数ｇにより特徴づけられる。）である。マッピング関数ｆ及びｇの形はsMtであり、sとtは可分であり、又はカラー平面毎のマッピングであり、Mはマッピング伝達関数である。例えば、関数fについて、ＰＣＳが３次元空間であり、ソースカラー空間がｋ次元空間である場合、sは３つの１次元関数（１変数）からなり、Mはｋ次元から３次元へのｋ×３関数であり、tはｋ個の１次元関数（１変数）からなる。
【００２８】
Mは、線形マッピング又は非線形マッピングである。Mが線形マッピングの場合、Mは行列で表され、Mが非線形マッピングの場合、Mはルックアップテーブルとして記述される。例えば、ＩＣＣ仕様を用いる実施形態では、ルックアップテーブル表現のMには、選択値に対するマッピングとともに、補間法を用いて決定される他の値に対するマッピングが含まれ得る。
【００２９】
いくつかの実施形態において、ルックアップテーブルジェネレータ２３０は、ソースカラー空間からＰＣＳへのマッピングf=s1M1t1と、ＰＣＳから固有カラー空間へのマッピングg=s2M2t2とを組み合わせた単一のマッピングfgを構築する。fg ＝ g ° f = s1Mt2であり、ここで、M=M1t1s2M2である（°は関数合成を表す。）。いくつかの実施形態において、M1と M2 は、入力カラープロファイル２０１及び／又は固有カラープロファイル２４０にそれぞれ含まれる個々のルックアップテーブルにより記述される。Mは、ルックアップテーブル３０が求める正確さで表される。
【００３０】
図３に、本実施形態に係る色変換ルックアップテーブル３０の説明図を示す。いくつかの実施形態において、ルックアップテーブル３０のエントリー（登録値）は、M1と M2 に依存し、入力カラーデータ２１０には依存しない。色変換処理中、カラーコンバータ２４０は、変換対象のカラー値に対応するルックアップテーブル内の登録値にアクセスして検索する。ルックアップテーブル３０を動的に構築することにより、例えば多次元カラー空間同士の変換において、事前に割り当てられた資源や大規模なルックアップテーブルの記憶装置を、より最適に利用することができる。
【００３１】
本開示の実施形態にしたがって、ルックアップテーブルジェネレータ２３０は、入力カラーデータ２１０に基づいて、必要に応じてルックアップテーブル３０を構築する。ルックアップテーブルジェネレータ２３０は、全登録値をデフォルト値に設定することによって、ルックアップテーブル３０を初期化する。このことは、デフォルト値が計算待ちになることを示す。図３において、便宜上、デフォルト値を“ＮＹＣ”（not yet computed）と表記している。いくつかの実施形態において、初期化後、ルックアップテーブルジェネレータ２３０は、ルックアップテーブル３０の構築を開始する。ルックアップテーブルジェネレータ２３０は、入力カラーデータ２１０を順番にチェックし、色毎に、カラー値の変換に必要なルックアップテーブル３０の対応する登録値を決定する。
【００３２】
例えば、図３に示すように、ルックアップテーブルジェネレータ２３０は、カラー値２１１から開始し、カラー値２１１の変換に必要な登録値３０１〜３０４を決定する。最初、登録値３０１〜３０４は計算されておらず、ＮＹＣで示される値を有する。よって、例えば、ルックアップテーブルジェネレータ２３０は、入力カラープロファイル２０１と固有カラープロファイル２５０においてそれぞれ特定されたM1と M2 を用いて、これらの登録値を計算する。そして、ルックアップテーブルジェネレータ２３０は、カラー値２１２に移行し、カラー値２１２の変換に必要な登録値３０４〜３０７を決定する。この時点で、登録値３０４が計算済みとなる一方で、登録値３０５〜３０７はＮＹＣを示している。そこで、ルックアップテーブルジェネレータ２３０は、M1と M2 に基づいて登録値３０５〜３０７を計算し、計算済みの登録値３０４については計算を省略する。そして、これらの値を用いて２１１及び２１２に対する値が計算される。
【００３３】
入力カラーデータ２１０に含まれるカラー値の数は、多くの場合限られているため、ルックアップテーブル３０は、ソースカラー空間の部分空間を占めるだけである。したがって、ルックアップテーブル３０の登録値のサブセットのみが計算され、格納される。よって、計算時間は大幅に短縮され、色変換速度が向上する。
【００３４】
カラーコンバータ２４０は、fg（fg ＝ g ° f = s1Mt2）を計算することによって、入力カラーデータ２１０を出力カラーデータ２７０へ変換する。ここで、変換に必要なMの値はルックアップテーブル３０に格納され得る。いくつかの実施形態において、出力カラーデータ２７０は、固有カラー空間のサブセットに関連付けられている。一実施形態では、そのサブセットが全固有カラー空間になり得る。出力カラーデータ２７０は、プリンタ１０のプリントエンジン１６０など、ＣＭＭ２００に関係する装置の他の構成部分に供給される。
【００３５】
図４は、本実施形態に係る例示的な色変換動作処理４０のフローチャートである。なお、図４に記載されたアルゴリズムは、装置固有の適切な変更を加えて、本実施形態に合致する方法で、複写機、多機能装置等の様々な種類の印刷装置や、モニタ等の様々な種類の画像表示装置や、カメラ等の様々な種類の画像生成装置にも適用可能である。また、図４に記載されたアルゴリズムは、カラー空間変換を行う様々なソフトウェア・アプリケーションと連動して用いられる。
【００３６】
ステップ４０１では、入力カラーデータ２１０がプリンタ１０により受信される。例えば、カラーデータ２１０は入力装置５０から受信される。いくつかの実施形態において、入力カラーデータ２１０は、入力装置５０で用いられているソースカラー空間と、ソースカラー空間からＰＣＳ等の装置非依存カラー空間へのカラーデータの変換に関連するその他の情報と、を記述する入力カラープロファイル２０１を更に含んでいる。入力カラーデータ２１０は、言語プロセッサ２２０によって更に処理され、ＣＭＭ２００が認識可能なフォーマットになる。いくつかの実施形態では、入力カラーデータ２１０とともに出力カラープロファイルも受信される。出力カラープロファイルは、出力カラー空間の仕様と、ＰＣＳから出力カラー空間へのカラーデータの変換に関する情報と、を含んでいる。いくつかの実施形態において、例えば、出力カラー空間が装置又はアプリケーションの固有カラー空間である場合、出力プロファイルは供給されない。入力カラーデータ２１０と任意の出力カラープロファイル（受信した場合）は、メモリ１４０又は補助記憶装置１７０に格納され得る。
【００３７】
ステップ４０２では、ルックアップテーブル３０が初期化される。例えば、ＣＭＭ２００を介して初期化が行われる。例えば、ルックアップテーブル３０の全登録値が、未だ計算されていないことを表すデフォルト値“ＮＹＣ”に設定される。ルックアップテーブル３０は生成され、メモリ１４０又は補助記憶装置１７０に格納される。いくつかの実施形態では、色変換において必要であることが知られている、ルックアップテーブル３０の登録値のサブセットが計算され、格納される。テーブル初期化の後、ルックアップテーブル３０の関連部分が更新される。いくつかの実施形態においては、ＣＭＭ２００が、ルックアップテーブル３０の関連部分の更新を開始する。例えば、初期化段階でどの登録値も計算されなかった場合、ＣＭＭ２００がルックアップテーブル３０を構築し得る。一方、初期化段階で登録値のサブセットが計算された場合、ルックアップテーブル３０はＣＭＭ２００によって更新され得る。
【００３８】
アルゴリズムは、全てのカラー値が考慮されるまで、ステップ４０３から４０９を繰り返す。例えば、ＣＭＭ２００は、入力カラーデータ２１０における各カラー値をチェックする。ステップ４０３では、入力カラーデータ２１０の最初のカラー値又は次のカラー値がアクセスされる。ステップ４０４では、現在のカラー値のカラー空間変換に必要なルックアップテーブル３０の登録値が決定される。例えば、ＣＭＭ２００は、現在のカラー値に対応する登録値を決定し、これらの登録値のそれぞれが計算済みであるか否かを決定する。
【００３９】
ステップ４０５では、“ＮＹＣ”と表された登録値（すなわち、未計算の登録値）が、入力カラープロファイル２１０及び固有カラープロファイル２５０に基づいて計算される。次に、ステップ４０６では、ルックアップテーブル３０内の計算された登録値が、メモリ１４０に格納され得る。ステップ４０７では、計算済みの登録値（すなわち、ＮＹＣ以外の値を有する登録値）に対して、計算が省略され、これらの値が保持され、再利用される。
【００４０】
ステップ４０８では、入力カラーデータ２１０の現在のカラー値と、ルックアップテーブル３０の対応する登録値とに基づいて、出力カラーデータ２７０が計算される。例えば、ＣＭＭ２００は、カラーコンバータ２４０を用い、現在のカラー値に対するルックアップテーブルの登録値に従って、固有カラー空間における出力カラーデータ２７０に現在のカラー値を補間する。いくつかの実施形態において、アルゴリズムは、出力カラーデータ２７０を計算する前に、ルックアップテーブル３０内の１以上の登録値を用いて、補間により、ルックアップテーブル３０により記述されていないマッピング関数値を計算する。また、いくつかのその他の実施形態において、アルゴリズムは、ルックアップテーブル３０内の利用可能な登録値に基づいて出力カラーデータ２７０のカラー値を計算し、補間により、出力カラーデータ２７０のその他のカラー値を計算する。
【００４１】
ステップ４０９において、アルゴリズムは、入力カラーデータ２１０の全てのカラー値が考慮されたか否かを判断する。考慮されていないカラー値が残っている場合、これらのカラー値に対してステップ４０３〜４０９が繰り返される。全てのカラー値が考慮されると、ステップ４１０において、ルックアップテーブル３０が削除され、占有しているメモリが解放される。いくつかの実施形態においては、入力装置５０のソースカラー空間が珍しく、及び／又は広く用いられていない場合にルックアップテーブル３０が削除され得る。
【００４２】
いくつかのその他の実施形態においては、ルックアップテーブル３０が再利用される場合に、ルックアップテーブル３０がメモリ１４０又は補助記憶装置１７０に常時格納され得る。例えば、プリンタ１０は、入力カラーデータが現在変換されたカラーデータと同等又は同一の特徴を有する場合に、同一の入力装置５０から印刷待ちのプリントジョブを認識可能である。いくつかのその他の実施形態においては、初期化段階で計算された登録値のサブセットが格納され、ステップ４０５で計算されたその他の全ての登録値が削除され得る。ステップ４１１では、出力カラーデータ２７０が、ＣＭＭ２００を含むデバイス／アプリケーションのその他の構成部分に供給される。
【００４３】
本発明のその他の実施形態は、ここに開示された明細書の考察及び本発明の実施によって、当業者にとって明らかとなるであろう。いくつかの実施形態において、上述の色変換方法及び標準的な色変換方法は、ソースカラー空間に基づいて切り換え可能である。例えば、ソースカラー空間が珍しいものであり、例えばルックアップテーブル３０を事前に構築する標準的な色変換方法が他の形で用いられる場合に、図４において説明した例示的な色変換処理４０が用いられてルックアップテーブル３０が生成される。別の例では、図４において説明した例示的な色変換処理４０を用いて、入力カラーデータ２１０内のカラー値の一部分に対するルックアップテーブルの登録値を計算し、残りのカラー値に対しては標準的な色変換方法を利用し得る。本明細書と具体例は例示のみを意図しており、本発明の真の範囲や意図は請求項により示される。
【図１】
0005345431.tif 000002
【図２】
0005345431.tif 000003
【図３】
0005345431.tif 000004
【図４】
0005345431.tif 000005