(57)【要約】少なくとも１つの色が関連付けされているカラー・データを、トーン曲線とカラー行列とをそれぞれが有する入力デバイス・プロファイルと出力デバイス・プロファイルとに基づいて、出力デバイスにマップする方法が提供される。ある１つの実施例では、この方法は、入力デバイスからカラー・データを受け取るステップと、そのカラー・データが線形空間にあるかどうかを判断するステップとを含む。カラー・データが線形空間にないと判断される場合には、この方法は、入力デバイス・プロフィールのトーン曲線をカラー・データに適用し、それを線形空間に変換する。この方法は、更に、入力デバイス・プロプロファイルのカラー行列と出力デバイス・プロファイルの逆カラー行列とを適用することにより、カラー・データと関連付けされた色を入力線形空間から出力線形空間に変換するステップを含む。
2009505575.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１つの色が関連付けられているカラー・データを、トーン曲線とカラー行列とをそれぞれが有する入力デバイス・プロファイルと出力デバイス・プロファイルとに基づいて、出力デバイスにマップする方法であって、
カラー・データを入力デバイスから受け取るステップと、
前記入力カラー・データが線形空間の中にあるかどうかを判断するステップと、
前記カラー・データが線形空間の中にないと判断される場合には、前記入力デバイス・プロファイルのトーン曲線を前記カラー・データに適用し、前記カラー・データを入力線形空間に変換するステップと、
前記入力デバイス・プロファイルのカラー行列と前記出力デバイス・プロファイルの逆カラー行列とを適用して色変換されたカラー・データを作成することにより、前記少なくとも１つの色を前記入力線形空間から出力線形空間に変換するステップと、
前記出力デバイス・プロファイルの逆トーン曲線を前記色変換されたカラー・データにマップし、前記色変換されたカラー・データをマップされたカラー・データに変換するステップと、
を含むことを特徴とする方法。
【請求項２】
請求項１記載の方法において、前記マップされたカラー・データを前記出力デバイスに出力するステップを更に含むことを特徴とする方法。
【請求項３】
請求項１記載の方法において、実行されているマッピングにとって性能と忠実性とのどちらの方がより重要であるかを判断するステップを更に含むことを特徴とする方法。
【請求項４】
請求項３記載の方法において、前記実行されているマッピングにとって性能の方がより重要であると判断される場合には、前記入力デバイス・プロファイルのカラー行列と前記出力デバイス・プロファイルの逆カラー行列とを適用して前記少なくとも１つの色を前記入力線形空間から出力線形空間に変換する前記ステップは、前記入力デバイス・プロファイルのカラー行列と前記出力デバイス・プロファイルの逆カラー行列とを乗算して単一カラー行列を作成するステップを含むことを特徴とする方法。
【請求項５】
請求項１記載の方法において、前記入力デバイス・プロファイルのトーン曲線の適用と、前記少なくとも１つの色の前記入力線形空間から前記出力線形空間への変換と、前記出力デバイス・プロファイルの逆トーン曲線の前記色変換されたカラー・データへのマッピングとの中の少なくとも１つは、グラフィクス処理ユニットによって実行されることを特徴とする方法。
【請求項６】
請求項１記載の方法において、前記入力デバイス・プロファイルのトーン曲線の適用と、前記少なくとも１つの色の前記入力線形空間から前記出力線形空間への変換と、前記出力デバイス・プロファイルの逆トーン曲線の前記色変換されたカラー・データへのマッピングとの中の少なくとも１つは、グラフィクス・カードのマイクロ処理ユニットとビデオ・デジタル・アナログ・コンバータとの一方によって実行されることを特徴とする方法。
【請求項７】
請求項１記載の方法を実行するコンピュータ実行可能な命令を有する１又は複数のコンピュータ可読媒体。
【請求項８】
少なくとも１つの色管理モジュールが関連付けられている中央処理ユニットとグラフィクス処理ユニットとを用いてカラー・データ処理を加速する方法であって、
入力デバイス・プロファイルと出力デバイス・プロファイルとを受け取るステップと、
前記入力デバイス・プロファイルと前記出力デバイス・プロファイルとの両方のトーン曲線とカラー行列とを決定するステップと、
前記入力デバイス・プロファイルと前記出力デバイス・プロファイルとのトーン曲線とカラー行列とを前記グラフィクス処理ユニットに提供するステップと、
を含んでおり、前記グラフィクス処理ユニットは、少なくとも１つの色が関連付けられているカラー・データを、前記入力デバイス・プロファイルと前記出力デバイス・プロファイルとを用いて、前記入力デバイス・プロファイルから前記出力デバイス・プロファイルにマップすることができることを特徴とする方法。
【請求項９】
請求項８記載の方法において、前記入力デバイス・プロファイルと前記出力デバイス・プロファイルとの両方のトーン曲線とカラー行列とを決定する前記ステップは、前記中央処理ユニットの色管理モジュールをクエリするステップを含むことを特徴とする方法。
【請求項１０】
請求項８記載の方法において、前記入力デバイス・プロファイルと前記出力デバイス・プロファイルとのトーン曲線とカラー行列とを前記グラフィクス処理ユニットに提供する前記ステップは、前記入力デバイス・プロファイルと前記出力デバイス・プロファイルとのトーン曲線とカラー行列とを、前記グラフィクス処理ユニット、１又は複数のビデオ・デジタル・アナログ・コンバータ、又は、高レベル・シェーダ言語におけるこれらの任意の組合せに提供するステップを含むことを特徴とする方法。
【請求項１１】
請求項８記載の方法において、
前記入力デバイス・プロファイルと前記出力デバイス・プロファイルとの少なくとも１つの逆トーン曲線と逆カラー行列とを決定するステップと、
前記入力デバイス・プロファイルと前記出力デバイス・プロファイルとの少なくとも１つの逆トーン曲線と逆カラー行列とを、前記グラフィクス処理ユニット、１又は複数のビデオ・デジタル・アナログ・コンバータ、又は、これらの任意の組合せに提供するステップと、
を更に含むことを特徴とする方法。
【請求項１２】
請求項１１記載の方法において、前記入力デバイス・プロファイルと前記出力デバイス・プロファイルとの少なくとも１つの逆トーン曲線と逆カラー行列とを決定する前記ステップは、前記中央処理ユニットの色管理モジュールをクエリするステップを含むことを特徴とする方法。
【請求項１３】
請求項１１記載の方法において、前記入力デバイス・プロファイルと前記出力デバイス・プロファイルとの少なくとも１つの逆トーン曲線と逆カラー行列とを前記グラフィクス処理ユニットに提供する前記ステップは、前記入力デバイス・プロファイルと前記出力デバイス・プロファイルとの少なくとも１つの逆トーン曲線と逆カラー行列とを、前記グラフィクス処理ユニット、１又は複数のビデオ・デジタル・アナログ・コンバータ、又は、高レベル・シェーダ言語におけるこれらの任意の組合せに提供するステップを含むことを特徴とする方法。
【請求項１４】
請求項８記載の方法を実行するコンピュータ実行可能な命令を有する１又は複数のコンピュータ可読媒体。
【請求項１５】
少なくとも１つの色が関連付けられているカラー・データの入力デバイス・プロファイルと出力デバイス・プロファイルとに基づいた処理を加速させるシステムであって、前記入力デバイス・プロファイルと前記出力デバイス・プロファイルとは共にトーン曲線とカラー行列とを有する、システムにおいて、
グラフィクス処理ユニット、１又は複数のビデオ・デジタル・アナログ・コンバータ、又は、これらの任意の組合せと、
前記入力デバイス・プロファイルと前記出力デバイス・プロファイルとの一方又は両方のトーン曲線を受け取るトーン曲線受領コンポーネントと、
前記入力デバイス・プロファイルと前記出力デバイス・プロファイルとの一方又は両方のカラー行列を受け取るカラー行列受領コンポーネントと、
前記入力デバイス・プロファイルのカラー行列から前記出力デバイス・プロファイルのカラー行列へ少なくとも１つの色を変換する色変換コンポーネントと、
を備えていることを特徴とするシステム。
【請求項１６】
請求項１５記載のシステムにおいて、前記トーン曲線受領コンポーネントは前記入力デバイス・プロファイルと前記出力デバイス・プロファイルとの一方又は両方の逆トーン曲線を受け取ることができ、前記カラー行列受領コンポーネントは前記入力デバイス・プロファイルと前記出力デバイス・プロファイルとの一方又は両方の逆カラー行列を受け取ることができることを特徴とするシステム。
【請求項１７】
請求項１５記載のシステムにおいて、マップされたカラー・データを前記出力デバイスに出力する出力コンポーネントを更に備えていることを特徴とするシステム。
【請求項１８】
請求項１５記載のシステムにおいて、
少なくとも１つの色管理モジュールが関連付けられている中央処理ユニットと、
前記中央処理ユニットの色管理モジュールをクエリして、前記入力デバイス・プロファイルと前記出力デバイス・プロファイルとの少なくとも１つのトーン曲線及び／又は逆トーン曲線とカラー行列及び／又は逆カラー行列とを決定するクエリ・コンポーネントと、
前記入力デバイス・プロファイルと前記出力デバイス・プロファイルとの少なくとも１つのトーン曲線及び／又は逆トーン曲線とカラー行列及び／又は逆カラー行列とを、グラフィクス処理ユニット、１又は複数のビデオ・デジタル・アナログ・コンバータ、又は、これらの任意の組合せに提供する提供コンポーネントと、
【請求項１９】
請求項１８記載のシステムにおいて、前記色変換コンポーネントは、前記入力デバイス・プロファイルのカラー行列と前記出力デバイス・プロファイルの逆カラー行列とを乗算して単一カラー行列を作成できることを特徴とするシステム。
【請求項２０】
請求項１５記載のシステムにおいて、前記入力デバイス・プロファイルのトーン曲線の適用と、前記少なくとも１つの色の前記入力線形空間から前記出力線形空間への変換と、前記出力デバイス・プロファイルの逆トーン曲線の前記色変換されたカラー・データへのマッピングとの中の少なくとも１つを実行するマイクロ処理ユニットを更に備えていることを特徴とするシステム。
【発明の詳細な説明】
【背景技術】
【０００１】
色管理システムは、デバイス（装置）と見る条件と主観的な好みに関して異なる色能力（color capabilities）を補償することを試みる。異なるデバイスであれば、色を違った態様で解釈し再生し、異なる色能力を有しているものとされることが多い。特に、それぞれのデバイスは、（例えば、明度、色度、色相によって表わされるように）検出及び／又は生成することができる色の範囲が限定されている。この限定された範囲は、当該デバイスの色域（color gamut）と称されることが多い。デバイスの異なる色能力の結果として、２つの別個のデバイスにおいて表示されたとき、カラー・データは、視覚的に異なって見えることがある。例えば、別のモニタに表示されたりプリンタで印刷されたとき、モニタに表示されたドキュメントは、視覚的に異なっているように見えることがある。更に、実際のデバイスと関連付けられるときとは異なり、カラー・データは、例えば色特性が関連付けられている仮想デバイス（例えばｓＲＧＢ）を表すファイル・フォーマットでディスクに格納されているように、仮想デバイスと関連付けることができる。このように、ここで用いる「デバイス」という用語は、実際のデバイスと仮想的なデバイスとのいずれかを指す。
【０００２】
デバイスの異なる色能力を補償する、色管理システムは、カラー・データに色変換を適用し、典型的にはネイティブなデバイス能力や見る条件や主観的好みなどのパラメータを記述するそれぞれのデバイスに対するプロファイルを用いて、のようなパラメーターについて記述するプロフィールを各デバイスに用いること、ソース・デバイスから宛先デバイスに色をマップする。それぞれのデバイスに関連付けられたプロファイルは、これらのパラメータのそれぞれを、暗に又は明示的に示している。
【０００３】
色管理のキーとなるコンポーネントは、ある１つのデバイス（例えば、デジタル・カメラのような実際のデバイスや、ｓＲＧＢのような仮想的なデバイス）と関連付けられたカラー・データを、別のデバイス（例えば、モニタや他のディスプレイ）と関連付けられたプロファイルに変換することである。すなわち、色管理は、ソースデバイスから得られたカラー・データの所望の再生が宛先デバイスにおいて出力されることを保証することを試みるのである。より詳細には後述するように、そのような色管理変換は、一般に、ソースデバイスと関連付けられた色プロファイルと宛先デバイスと関連付けられた色プロファイルとに基づくが、これらは、トーン曲線とカラー行列とを含み、計算論的に集約性が高い（computationally intensive）。
【０００４】
色管理への現在のアプローチの１つには、プロファイル管理がある。このアプローチの最も一般的な実装は、インターナショナル・カラー・コンソーシアム（ＩＣＣ）標準である。このアプローチでは、それぞれのデバイスは、デバイスの能力と非線形のＩＣＣプロファイル接続空間（ＰＣＳ）によって記述されるような人間の視覚系との関係を特徴付けるプロファイルを有する。デバイスの間の色変換は、デバイス・カラー・プロファイルを用いて作成されうる。その後、色変換は、デバイスの間でカラー・データを変換するのに適用される。プロファイル管理アプローチを用いる場合、デバイスと関連付けられたトーン曲線及びカラー行列は、関連付けられるカラープロファイルにコード化されたデバイス自体が、典型的に混同され困難となる。
【０００５】
更に、カラー・データ処理（例えば写真イメージ処理）は中央処理装置（ＣＰＵ）を用いて、一般に行なわれる。ＣＰＵができている（有効に）一方、ほとんどのインスタンス中のプロセスカラー・データ、カラー・データ処理アプリケーションに対する、ユーザ・フラストレーション及び全面的な不満に結びつくため、そのような処理はやや遅いのが通常である。
【発明の概要】
【０００６】
本発明の実施例は、加速されたグラフィック処理装置（ＧＰＵ）色管理パイプラインをセット・アップするために中央処理装置（ＣＰＵ）と関連付けられたカラー・エンジン（例えば色管理モジュール（ＣＭＭ））を開発できる色管理モデルと関係する。この方法で、１つの、ユーザ・エクスペリエンス、カラー・データ（例えばソースデバイスからそれらの宛先デバイスまで派生したイメージ・データ、メディアコンテンツ）のマッピング上の性能又は質の著しい減少はない。
【０００７】
特に、本発明の実施例は新しいカラーの生成に関係がある、ソースデバイスと関連付けられたカラープロファイルから宛先デバイスと関連付けられたカラープロファイルまで変形する。更に、本発明の実施例は、ＣＰＵとＧＰＵ及び超小型演算処理装置（ＭＰＵ）の間のカラー変換用ハードウェア加速を調整する能力に関係がある。本発明の実施例は、更にＧＰＵのために最適化され、ディスプレイでのビデオ・デジタル／アナログ変換器（ｖｉｄｅｏＤＡＣｓ）及びＭＰＵと互換性をもつ慣習法ハードウェア加速構造に関係がある。例えば、２重のモニタシステムで作動する場合、慣習法色変換はＧＰＵへ恐らく共通の機能性を分割して、２つのモニタの宛先デバイスカラープロファイルを支援するために、２つのステージにどれが色管理計算を分けるか規定され、個別のディスプレイでのｖｉｄｅｏＤＡＣｓ及びＭＰＵの組合せの中の機能性を分離することがある。
【０００８】
この概要は、詳述に更に下に述べられている単純化された概念の選択を導入するために提供される。この概要は、要求された主題の主な特長又は基本的な特徴を識別することは意図されない。また、特許請求の範囲を判断する際に役立つものでもない。
【発明を実施するための最良の形態】
【０００９】
本発明の主題は、法的な要件を満ように特定の態様でここで説明される。しかし、ここでの説明自体は、本発明の範囲を制限する意図はない。むしろ、発明者らは、特許請求の範囲に記載された発明が、他の態様で実現されることも予測している。更に、用語「ステップ」及び／又は「ブロック」は使用された方法の異なるエレメントを意味するためにここに使用されるが、格別に指摘されない場合には、これらの用語はここに示された様々なステップ中の、又はそのステップの間のどんな特別の順序も意味すると解釈されるべきではない。
【００１０】
本発明の実施例は、カラー・データ（例えばイメージ・データ、メディアコンテンツ）を写像（マップ）し、入力デバイス・プロファイル及び出力デバイス・プロファイルに基づいた出力デバイス、入力デバイス・プロファイルの各々、及びトーン曲線がある出力デバイス・プロファイルに少なくとも１つのカラーをその上に関連させて、カラー行列方法を提供する。１つの実施例では、方法は入力デバイスからカラー・データを受け取り入力カラー・データが線形空間にあるかどうか判断することを含んでいる。入力カラー・データが線形空間にないと判断される場合、方法は入力カラー・データにカラー・データをインプット線形空間に変換するために入力デバイス・プロファイルのトーン曲線を適用することを更に含む。本発明の方法は、カラーに変換されたカラー・データを作成するために入力デバイス・プロファイルのカラー行列及び出力デバイス・プロファイルの逆のカラー行列をそれに適用しカラーに変換されたカラー・データへカラーに変換されたカラー・データをマップされたイメージ・データに変換するために出力デバイス・プロファイルの逆のトーン曲線をマップすることにより、インプット線形空間からアウトプット線形空間までカラー・データと関連付けられたカラーを変換することを更に含む。１つの実施例では、方法は、出力デバイスにマップされたカラー・データを出力する加算を促進することがある。
【００１１】
本発明の別の実施例は、その上に少なくとも１つの色管理モジュール（ＣＭＭ）を関連する中央処理装置（ＣＰＵ）、及びグラフィック処理装置（ＧＰＵ）を用いるカラー・データ処理を加速する方法を提供する。１つの実施例では、方法は入力デバイス・プロファイル及び出力デバイス・プロファイルを受け取り、トーン曲線、及び入力デバイス・プロファイル及び出力デバイス・プロファイルの両方のカラー行列を決定し、ＧＰＵにトーン曲線、及び入力デバイス・プロファイル及び出力デバイス・プロファイルのカラー行列を供給することを含んでいる、ＧＰＵは、どこで入力デバイス・プロファイルからトーン曲線を用いる出力デバイス・プロファイルまでその上に少なくとも１つのカラーを関連するカラー・データをマップすることができる。入出力デバイス・プロファイルのカラー行列も同様である。１つの実施例では、トーン曲線、及び入力デバイス・プロファイル及び出力デバイス・プロファイルの両方のカラー行列の決定は、希望情報の理由をＣＰＵのＣＭＭに求めることを含んでいる。
【００１２】
本発明の追加の実施例は、記述された方法を行なうようにプログラムされたコンピューターと同様にここに記述された方法を行なうためにコンピューター実行可能命令を持っている判読可能な媒体をコンピューターに供給する。
【００１３】
本発明の更に別の実施例は、その上に少なくとも１つのカラー（入力デバイス・プロファイル及び出力デバイス・プロファイルに基づいて）を関連するカラー・データの加速された処理、トーン曲線がある入力デバイス・プロファイル及び出力デバイス・プロファイルの各々及びカラー行列にシステムを供給する。１つの実施例では、システムはＧＰＵ、１つ以上のビデオ・デジタル／アナログ変換器（ｖｉｄｅｏＤＡＣｓ）又はその任意の組合せを含んでいる。すなわち、トーン曲線受信成分、成分（コンポーネント）を受け取るカラー行列、カラー変換成分である。トーン曲線の受信成分は、１のトーン曲線又は入力デバイス・プロファイル及び出力デバイス・プロファイル両方を受け取るためにある。成分を受け取るカラー行列は、１のカラー行列又は入力デバイス・プロファイル及び出力デバイス・プロファイル両方を受け取るためにある。カラー変換成分は、カラー・データのカラーを出力デバイス・プロファイルの入力デバイス・プロファイルのカラー行列からカラー行列に変換するためにある。１つの実施例では、システムは、出力デバイスにマップされたカラー・データを出力するために出力する成分を更に含んでいる。
【００１４】
本発明の実施例の概観について概説して、本発明用の典型的な操作環境について、以下で述べる。
典型的な操作環境
特に図１に図面一般的に参照すると、本発明を実行するための典型的な操作環境は、コンピューティング装置１００として一般に示され指定される。コンピューティング装置１００は、適切なコンピュータ環境のただ１つの例であり、使用又は本発明の機能性の範囲に関してどのような制限も示唆することは意図していない。また、どんな従属性又は任意のオン又は成分の組合せに関係のある要求も持っていることが例証したので、コンピューティング装置１００は解釈されるべきでない。
【００１５】
本発明の実施例は、コンピューター又は個人データ補助物又は他の携帯型のデバイスのような他のマシンによって実行されて、プログラムモジュールのようなコンピューター実行可能命令を含む計算機コードかマシン使用可能な命令の一般情勢に述べられることがある。一般に、プログラムモジュール含有ルーチン、プログラム、オブジェクト、成分、データ構造など、それをコード化するために参照する、特別のタスク又は道具を行なう、特別の抽象データ型。本発明の実施例は、携帯型のデバイス、家電、汎用コンピュータ、より多くの専門コンピューティング装置などを含む様々なシステム構成中で実行されることがある。本発明の実施例も、通信網によってリンクされる遠隔処理デバイスによってタスクが行なわれる分散コンピューティング環境中で実行されることがある。
【００１６】
図１に関して、コンピューティング装置１００は、直接又は間接的に次のデバイスを連結するバス１１０を含んでいる：メモリ１１２又は１以上プロセッサ１１４又は１以上組成成分１１６、入出力（Ｉ／Ｏ）ポート１１８、Ｉ／Ｏ成分１２０及び実例となる電源１２２である。バス１１０は、１台以上のバス（それのアドレスバス、データバス又は組合せのような）であることがあるものを表わす。図１の様々なブロックは、簡潔に表現するためにラインで示されるが、実際には、様々な成分の描写はそれほど明らかではない。また、比喩的に、ラインはより正確にあるだろう、灰色で、曖昧である。例えば、人は、表示装置のような組成成分をＩ／Ｏ成分と考えることがある。更に、プロセッサはメモリを有する。我々は、そのようなものが芸術の性質であることを認識し、図１のダイアグラムが本発明の１つ以上の実施例に関して使用されることがある、典型的なコンピューティング装置１００の単に例証となると繰り返す。
【００１７】
コンピューティング装置１００は典型的には様々なコンピュータが読める媒体を含んでいる。制限ではなく例示であるが、コンピュータが読める媒体はランダムアクセスメモリ（ＲＡＭ）を含む。すなわち、読み取り専用メモリ（ＲＯＭ）、電子的に消去可能プログラマブルＲＯＭ（ＥＥＰＲＯＭ）、フラッシュ・メモリ又は他のメモリ技術、ＣＤＲＯＭ、ディジタル・バーサタイル・ディスク（ＤＶＤ）、又は他の光学かホログラフィーの媒体である。磁気カセット、磁気テープ、磁気ディスク記憶装置又は他の磁気記憶装置、そして搬送波、又は希望情報をエンコードし、かつコンピューティング装置１００によってアクセスされるために用いることができる他の媒体もある。
【００１８】
メモリ１１２は、コンピュータ記憶装置媒体を揮発性及び／又は不揮発性メモリの形で含んでいる。非取外し可能で、メモリは取外し可能なことがある、又はその組合せ。典型的なハードウェアデバイスは固体記憶装置を含んでいる、ハードドライブ、光学−ディスクドライブ、など。コンピューティング装置１００は、メモリ１１２又はＩ／Ｏ成分１２０のような様々な実在物からデータを読んだ１つ以上のプロセッサを含んでいる。組成成分１１６はユーザ又は他のデバイスにデータ指示を提示する。典型的な組成成分は表示装置、スピーカ、印刷成分、振動する成分などを含んでいる。
【００１９】
Ｉ／Ｏポート１１８は、コンピューティング装置１００がＩ／Ｏ成分１２０を含む他のデバイスに論理上つながれることを可能にする。それらのうちのいくらかは構築されることがある。実例となる成分はマイクロホン、ジョイスティック、ゲーム・パッド、衛星放送アンテナ、スキャナ、プリンター、ワイヤレスデバイスなどを含む。
ハードウェア加速されたカラー・データ処理
以前に言及されたように、本発明の実施例は、アウトプット（例えばモニタ、他のディスプレイ）か宛先デバイスと関連付けられたカラープロファイルにソースデバイス（例えばディジタル・カメラ又はｓＲＧＢのような仮想装置のような実デバイス）と関連付けられたカラープロファイルからカラー・データ（例えばイメージ・データ又はメディアコンテンツに由来したカラー・データ）をマップする方法に関係がある。「メディア・コンテンツ」、「イメージ・データ」という用語は、交換でき利用可能である、ユーザが視覚的に知覚することがあるあらゆるデータ又は内容を指す。制限ではなく例示であるが、メディア・コンテンツ／イメージ・データは写真、ビデオ又はユーザのデスクトップ（例えばウィンドウ、境界、タイル、ボタンなど）で見える何でも含む。
【００２０】
少なくとも一部分、中央処理装置（ＣＰＵ）の代わりにグラフィック処理装置（ＧＰＵ）を用いるカラー・データの処理は、本発明によって熟考されたとともに、対話型・優秀品である非常に高速の高性能編集経験をユーザに提供することができる。ここに記述された方法がＧＰＵの処理に制限されていなく含んでいるかもしれないことは芸術における通常の熟練のものによって理解され評価されるだろう。例えば、全体又は一部分であって、ＣＰＵ、ｖｉｄｅｏＤＡＣ、ＭＰＵなどの中の処理である。すべてのそのような変更はやその任意の組合せは、本発明の範囲に含まれる。
【００２１】
この技術の当業者に理解されるように、カラー・データ処理の最後のステップは、デバイスに特有のカラープロファイルすなわち出力デバイスのカラー関連の能力の記述に基づいたアウトプットか宛先デバイス（例えばモニタ）のための入力媒体内容と関連付けられた１つ以上のカラーをマップすることである。例示であるが、ユーザがラップトップ・コンピュータ・モニタ上のディジタル・カメラから受け取られたメディア・コンテンツを見たければ、モニタ上の真実で正確な色再現を得るラップトップ・モニタに特有の、１セットのカラー代表的な数にスクリーン上のすべてのピクセルのための光の三原色（ＲＧＢ）色組み合わせを写像しなければならない。
【００２２】
上述したように、そのようなカラー変換は、ＧＰＵの一部であることがあり、でないことがあるｖｉｄｅｏＤＡＣｓによって行なわれたいくつかの時々の補正を備えたＣＰＵを用いて、伝統的に行なわれる。ｖｉｄｅｏＤＡＣは、典型的にはディスプレイ回路類中の画素変換か変換機能性について最適化されたものを包含する。アップストリームのＧＰＵかＣＰＵ成分の作業負荷を軽減するのを支援するため、ｖｉｄｅｏＤＡＣへのできるだけ計算を転送することは望ましい。しかし、ＧＰＵ（少なくとも一部分）を用いるカラー・データを処理する場合、ＣＰＵの中のカラー変換のためのＧＰＵのそのようなデータ出力を転送しなければならず、続いて、ＧＰＵにカラーに変換されたカラー・データを返さなければならないことではなく以前それに転送されたＧＰＵでカラー・データが残ることを可能にすることは望ましいことがある。これは、この加工段階が到達する時でのようなカラー・データのカラー・マッピングに関して、特に正しい。カラー・データは、カラー変換を除いては、本質的に表示される準備ができている。また、ＣＰＵにそれを転送することは、実行速度を大幅に落とすことがある。
【００２３】
そのため、本発明の実施例は、加速されたＧＰＵ色管理パイプラインをセット・アップするためにＣＰＵと関連付けられたカラー・エンジン（例えば色管理モジュール（ＣＭＭ））を開発することができる色管理モデルを提供する。この方法で、１つの、ユーザ・エクスペリエンス、カラー・データ（例えばソースデバイスからそれらの宛先デバイスまで派生したイメージ・データ、メディアコンテンツ）のマッピング上の性能又は質の著しい減少はない。
【００２４】
図２に移って、入力デバイスから本発明の実施例に従って入力デバイス・プロファイル及び出力デバイス・プロファイルに基づいた１つ以上のアウトプット又は宛先デバイスまでカラー・データをマップする方法２００を示すフローダイアグラムが図解されている。両方の入出力デバイス・プロファイル、トーン曲線及びカラー行列を含んでいる。カラー行列は本質的に原色を回転させ、その結果、例えば、１つのデバイス（例えば入力デバイス）と関連付けられたカラープロファイルの赤は、別のデバイス（例えば中間物）又は宛先デバイスと関連付けられたカラープロファイルの赤と一致する。行列は、線形に写像され、従って、カラー行列変換は、線形空間中で行なわれなければならず、そうでないと、アーティファクトを生じてしまう。カラー行列変換は、図２のブロック２１８及び２２０に即して、以下でより詳細に説明される。
【００２５】
トーン曲線及びカラー行列の意義を理解するためには、人間の視覚系とのアナロジを考察することが有益である。人間視覚系と光の輝度又はエネルギの変化へとの間の感度には一対一対応がない。すなわち、光に対する人間の視覚系の感度は、明るいエリアの近くでは、より暗いエリアの近くの場合ほどには大きくない。したがって、第１の光がＸと等価な輝度を有し、第２の光は２Ｘと等価な輝度を有する場合には、第２の光に対する人間の視覚反応の感度の低下は、ユーザに第２の光をより明るいものとして知覚させる原因となるが、必ずしも２倍明るいようには知覚されない。感度のこの低下は、人間が視覚的な現象の非常に大きな範囲に応答することを可能にする。
【００２６】
プロジェクタ、ディスプレイ及び他の出力デバイスは、それぞれのカラー・プロファイルの中の同様の調節、トーン曲線（又は調性の応答曲線（ＴＲＣ））として提供されている調節、及びカラー行列を提供する。このように、そのようなデバイス上で出力された色は、一対一対応が提供するより正確でより現実的な組成を楽しむ。
【００２７】
最初に、ブロック２１０で示されるように、入力デバイスからのカラー・データはＧＰＵに入力される。続いて、ブロック２１２で示されるように、入力カラー・データが線形空間又は非線形の空間にあるかどうかが決定される。ここに使用されるように、この技術の当業者に理解されるように、「線形」という用語は、輝度に関する線形性を意味する。（この点では、「非線形」空間はしばしば「ガンマ」空間と呼ばれる。）入力カラー・データが非線形空間にあるとブロック２１２で判断される場合、カラー変換計算がアーティファクトを回避するために線形空間中で行なわれることになっているとともに、カラー・データは、ブロック２１４で示されるように、入力デバイスと関連付けられた線形空間に変換される。そのような変換は、入力デバイスにそれと関連付けられたカラープロファイルのトーン曲線の適用により遂行される。
【００２８】
いったんカラー・データが線形空間（又は入力カラー・データが既に線形空間にある場合）に変換されれば、性能又は忠実度が行なわれている特別のカラー・マッピング・動作にとってより重要な場合、それは決定される。これはブロック２１６で示される。そのような測定はプログラムされたアルゴリズムに基づいたなることがあり、ハード・コード化されるようにコントロールしたか、性能又は忠実度に対する好みのユーザ指示に基づくことがある。すべてのそのような変更は、本発明の範囲に含まれる。
【００２９】
実行されている特定のカラー・マッピング動作にとって性能がより重要であると判断される場合には、インプット線形空間からのカラー・データと関連付けられた色内容、入力プロファイルのカラー行列、及びブロック２１８で示されるように、互いと連結された出力プロファイルの逆のカラー行列を用いて、アウトプット線形空間に変換される。そのような変換は線形のカラーに変換されたカラー・データを作成する。入力プロファイルのカラー行列と相互の出力プロファイルの逆のカラー行列は、２つの別個の動作ではなく単一色変換動作だけの性能及び従って行なわれているカラー・マッピング動作の速度の性能を可能にする。例えば、それが付加的な図形処理（例えば位取り、アンチエイリアシングなど）のない入力デバイスから出力デバイスに直ちに切り替えることが望まれる場合、性能は忠実度に関して望まれることがある。
【００３０】
しかし、それが、忠実度がより重要だとブロック２１６で判断される場合、行なわれている特別のカラー・マッピング・動作、インプット線形空間からのカラー・データと関連付けられた色内容、ブロック２２０で示されるように、線形のカラーに変換されたカラー・データを作成するために入力プロファイルのカラー行列及び出力プロファイルの逆のカラー行列を別々に適用することによりアウトプット線形空間に変換される。特に、カラー・データは、入力プロファイルのカラー行列をそれに適用することにより最初にインプット線形空間から中間の線形空間に変換される。続いて、カラー・データは出力プロファイルのカラー行列をそれに適用することにより中間の線形空間からアウトプット線形空間に変換される。最後に、出力プロファイルの逆のカラー行列はカラーに変換されたカラー・データを作成するために適用される。
【００３１】
例えば、補足図形処理が望まれる場合、かつ、又は入力プロファイルの予備選挙が補足図形処理が望まれる中間領域の予備選挙と同じ（又はほとんど同じ）である場合、忠実度は性能に関して望まれることがある。そのような付加的な図形処理は、一般に線形空間、及び従って本発明のこの実施例のワークフロー中で最も行なわれる、ブロック２１８で示されたステップの後に続いて、ブロック２１４（線形空間への入力カラー・データのコンバージョンが必要な場合に）で示されたステップの後に続いて、ブロック２１２（入力カラー・データが線形空間にあることが決意する場合に）で示されたステップの後に続いて行なわれることがある、中間の線形空間（すなわち、入力プロファイルのカラー行列のアプリケーションの後に、だがアウトプット線形空間へのコンバージョンに先立って続く）中で、又はブロック２２０（すなわち、逆の出力行列のアプリケーションの後に続く）で示されたステップの後に続く。測定、それが望まれるどんなステージで、そのような付加的な図形処理を行なう、インプット、アウトプット及び中間領域の性質及びデバイス自体の能力に基づいて、少なくとも一部分作られることがある。
【００３２】
図２を参照すると、入力プロファイルのカラー行列と出力プロファイルの逆カラー行列とを適用することにより、いったんカラー・データが色変換された線形データに変換されると、出力プロファイルの逆すなわち縮退（退化、degenerated）したトーン曲線（相互に連結されているかとは関係なく）が、線形色変換されたカラー・データに適用され、当該データをマップされたかでに変換する。そのようなものはブロック２２２で示される。続いて、ブロック２２４で示されるように、マップされたカラー・データは１つ以上の出力デバイスに出力される。
【００３３】
１つの実施例では、出力デバイスの逆行列及び／又はＧＰＵ、だが実際にディスプレイ自体のＭＰＵの中のではない出力デバイスの逆のトーン曲線を適用することは望ましいことがある。例えば、複数のディスプレイ（又はリモートディスプレイ）があるところに、各々には異なる出力プロファイルがあることがある。その場合、逆行列の適用及び／又はＭＰＵの中の出力デバイスの逆のトーン曲線は、性能を最適化する。
【００３４】
別の実施例では、出力デバイスの逆行列及び／又は出力デバイスの逆のトーン曲線の適用は、グラフィックス・カードにおいて（すなわち、ビデオ・デジタル／アナログ変換器（ｖｉｄｅｏＤＡＣｓ）と呼ばれるグラフィックスカード中のチップの追加のセット中で）行なわれることがある。それらが逆行列の出力デバイス及びある場合には、適用の逆のトーン曲線を同様に適用することができるように、ＶｉｄｅｏＤＡＣｓは少なくとも一次元のルックアップテーブルから構成される。例えば、利用されているディスプレイがその機能性をサポートしない場合、ｖｉｄｅｏＤＡＣｓの中のそのような機能を行なうことは望ましいことがある。すべてのそのような変化、そしてそれの任意の組合せ、本発明の実施例の範囲内に含まれる。
【００３５】
更に、ある実施例では、入力デバイスの行列と出力デバイスの逆行列とを連結して、複数の行列の適用の衝突を回避することが望まれる場合、そのような処理は、ＧＰＵ（上述したように）で、ｖｉｄｅｏＤＡＣｓ（サポートされていれば）、又はディスプレイ（サポートされていれば）のＭＰＵの中で行なわれることがあり、忠実度（入力プロファイルに応じて）の現象を最小限に保つ。そのような変化、そしてそれの任意の組合せ、本発明の実施例の範囲内に含まれる。
【００３６】
別の実施例では、それらが別の線形化ステップ（又は他のトーン曲線）を備えた受入可能な忠実度の劣化と結合することができたように、入力空間及び／又は出力空間がほぼ線形かどうか判断することが望ましい。例えば、出力プロファイルのトーン曲線が完全に線形ではなくほぼ線形である場合、出力トーン曲線の逆は入力プロファイルのトーン曲線と結合し、カラー・データに適用されることがある。これにより、データは、ほとんど線形空間に置かれることになる。そのような場合には、空間が十分に線形であるかどうかを判断しなければならない。そのような処理の変化の利点は、単一のトーン曲線動作だけが行なわれなければならないであろうということだろう。また、そのような動作は一方のフロント・エンド、又はバックエンド上で行なわれることがある。例えば、入力プロファイルのトーン曲線がほとんど線形だった場合、出力プロファイルの逆のトーン曲線を備えたバックエンドに処理を通り抜けて延期することができることがある。従って、線形空間ではなく、ほぼ線形な空間で、カラー変換動作は行なうことができることがある。そのような実施例の望ましさに関する測定は、ハード・コード化されるか、忠実度に関する性能の利用者選好に基づくように、コントロールされるプログラムされたアルゴリズムに基づいたなることができた。
【００３７】
図３に関し、本発明の実施例に従って、加速されたカラー・データ処理での使用を得て、ＧＰＵへの提供情報方法３００を示すフローダイアグラムは図解されている。当初は、ブロック３１０で示されるように、出力デバイス・プロファイル（トーン曲線及びカラー行列を持って）は受け取られる。１つの実施例では、出力デバイス・プロファイルは、１つ以上のイメージ色管理アプリケーションプログラムインターフェイス（ＩＣＭ  ＡＰＩ）から受け取られることがある。そのようなＩＣＭ  ＡＰＩは、中央処理装置（ＣＰＵ）と関連付けられた色管理モジュール（ＣＭＭ）に関係していることがある。色チャネルはそれぞれ、カラー行列中の別欄を形成する。また、カラー行列は色空間からＣＩＥ  ＸＹＺ結合空間へ変換を指定する。出力デバイス・プロファイルの一部が出力デバイスのトーン曲線用の現在のパラメーターと同様にその上に関連するトーン曲線用の現在の配列長さであるとともに、更に受け取られる。最初のｎ個のサンプルは、それぞれの赤緑青のカラーチャネルのそれぞれに対して戻される。トーン曲線は、宛先色空間から線形空間までの変換を指定する。
【００３８】
次に、ブロック３１２で示されるように、トーン曲線及び出力デバイス・プロファイルのカラー行列が決定される。そのような測定は、希望情報の理由をＣＰＵのＣＭＭに求めることによりなされる。続いて、ブロック３１４で示されるように、出力デバイス・プロファイルのトーン曲線及びカラー行列は、ＧＰＵに提供される。ＧＰＵは、トーン曲線を用いる出力デバイス・プロファイルにその上に１つ以上のカラーを関連するイメージ・データをマップすることができる。また、カラー行列が提供した。制限ではなく例示であるが、トーン曲線及び出力デバイス・プロファイルのカラー行列は、ハイ・レベル・シェーダ言語（ＨＬＳＬ）のＧＰＵに提供される。
【００３９】
１つの実施例では、トーン曲線及びカラー行列のための逆マッピングが決定され、そのような逆マッピングは、トーン曲線及びカラー行列自体に加えて、又は、それに変わって逆マッピングに加えられる。すべてのそのような変更は、特許請求の範囲に含まれる。
【００４０】
出力デバイス・プロファイルを受け取る前、後、又は同時に、入力デバイス・プロファイル（少なくともカラー行列及びトーン曲線を有する）が受け取られる。これはブロック３１６で示される。１つの実施例では、入力デバイス・プロファイルは１つ以上のＩＣＭ  ＡＰＩから受け取られる。そのようなＩＣＭ  ＡＰＩはＣＭＭに関係している。宛先プロファイルでのように、色チャネルはそれぞれカラー行列中の別欄を形成する。また、カラー行列は色空間からＣＩＥ  ＸＹＺ結合空間へ変換を指定する。入力デバイス・プロファイルの一部が入力デバイストーン曲線用の現在のパラメーターと同様にその上に関連するトーン曲線用の現在の配列長さであるとともに、更に受け取らる。
【００４１】
１つの実施例では、入力デバイス・プロファイルはＣＰＵと関連付けられたＣＭＭから受け取られることがある。次に、ブロック３１８で示されるように、トーン曲線及び入力デバイス・プロファイルのカラー行列が決定される。そのような測定は、希望情報の理由をＣＰＵのＣＭＭに求めることによりなされることがある。続いて、ブロック３２０で示されるように、トーン曲線及び入力デバイス・プロファイルのカラー行列は、ＧＰＵに提供される。制限ではなく例示であるが、トーン曲線及び入力デバイス・プロファイルのカラー行列は、ハイ・レベル・シェーダ言語（ＨＬＳＬ）のＧＰＵに提供される。
【００４２】
１つの実施例では、トーン曲線及びカラー行列用の逆のマッピングは決定されることがあり、その代わりに、又は、トーン曲線及びカラー行列自体に加えて、ＧＰＵに提供される。すべてのそのような変化、そしてそれの任意の組合せ、スコープ内にこれについてあるために熟考される。
【００４３】
一度、トーン曲線、及び出力デバイス・プロファイル及びトーン曲線のカラー行列（又はそれの逆のマッピング）そして入力デバイス・プロファイルのカラー行列（又はそれの逆のマッピング）ＧＰＵかｖｉｄｅｏＤＡＣｓに提供された、例えば、図２のフローダイアグラム中で示されるように、カラー・データの加速された処理が行なわれる。
【００４４】
上述したように、ある１つの側面では、本発明の実施例は、ＣＰＵ、ＧＰＵ又はｖｉｄｅｏＤＡＣｓや、もし望まれればマイクロ演算処理装置ＭＰＵの協調を提供する。これは、図４に関してより詳細に図解されている。より大きな効率を保証し、したがって、イメージ処理の速度及びパフォーマンスを改善するため、カラー変換計算の１つ以上を下流に移動させることは望ましいことがある、すなわち、ＣＰＵから遠方にＧＰＵ（ＭＰＵ）又はｖｉｄｅｏＤＡＣｓへ、である。そのような下流の代表団が特別の望ましさであることがある１つの方法として、カラー・データがマルチ出力デバイスにいつマップ（写像）されるかである。例えば、４つの出力デバイスがある場合、トーン曲線は、データを線形空間に変換するＧＰＵ又はｖｉｄｅｏＤＡＣｓの中のカラー・データに適用されることがある。次に、線形データは、多数のＭＰＵ、カラー行列に関する各実装データ、及びその上に関連する特別の出力デバイスのトーン曲線の反対へ転送されることがある。いったん線形データがそれぞれのＭＰＵへ転送されると、適切なカラー変換が行なわれ、データに適用されるそれぞれの出力デバイスに対して、逆トーン曲線は出力デバイスと関連付けられて、出力デバイスに出力される。
【００４５】
図４に移ると、本発明の実施例に従って入力デバイス・プロファイル及び出力デバイス・プロファイル（トーン曲線及びカラー行列を各々持って）に基づいたカラー・データの加速された処理用の典型的なシステム４００を示すブロック図が図解されている。システム４００は、その上にＣＭＭ  ４１２を関連するＣＰＵ  ４１０を含んでいる。システム４００は、さらなる加算、トーン曲線の受信成分４１６を持っているＧＰＵかｖｉｄｅｏＤＡＣｓ、成分４１８を受け取るカラー行列、及びその上に関連するカラー変換成分４２０を含む。トーン曲線の受信成分４１６は、入力デバイス・プロファイル及び出力デバイス・プロファイルのトーン曲線（又は逆のトーン曲線）を受け取ることができる。成分４１８を受け取るカラー行列は、入力デバイス・プロファイル及び出力デバイス・プロファイルのカラー行列（又は逆のカラー行列）を受け取ることができる。カラー変換成分４２０は、カラーに変換されたカラー・データを作成するために出力デバイス・プロファイルのカラー行列への入力デバイスのカラープロファイルと関連付けられた少なくとも１つのカラーを変換することができる。例えば、１つの実施例では、カラー変換成分４２０が、入力デバイス・プロファイルのカラー行列から出力デバイス・プロファイルのカラー行列までのカラー・データと関連付けられた１つ以上のカラーを変換するために入力デバイス・プロファイルのカラー行列及び出力デバイス・プロファイルの逆のカラー行列を増加させることができる。
【００４６】
システム４００は、トーン曲線（又はそれについて逆の）と同様にトーン曲線（又はそれについて逆の）を決定するＣＰＵのＣＭＭ及び出力デバイス・プロファイルのカラー行列（又はそれについて逆の）を尋ねることができる、尋ねる成分４２２及び入力デバイス・プロファイルのカラー行列（又はそれについて逆の）を更に含んでいる。いったん希望情報が決定されれば、それは、ＧＰＵ  ４１４にトーン曲線（又はそれについて逆の）、及び出力デバイス・プロファイル及びトーン曲線（又はそれについて逆の）のカラー行列（又はそれについて逆の）を供給することができ、入力デバイス・プロファイルのカラー行列（又はそれについて逆である）、提供する成分４２４に提供される。
【００４７】
いったんＧＰＵ  ４１４（又はｖｉｄｅｏＤＡＣｓ）が受け取られたカラー・データを処理したならば、マップされたカラー・データは、１つ以上の所望出力デバイスにマップされたカラー・データを出力することができる出力構成要素４３０に提供されることがある。１つの実施例では、マップされたカラー・データは、１つの出力デバイス４３４Ａ、４３４Ｂ以上へのアウトプットに先立った出力構成要素４３０からＭＰＵ  ４３２まで処理されることがある。別の実施例（図示せず）では、出力構成要素４３０は、１つの出力デバイス４３４Ａ以上（ＭＰＵ  ４３２の利用のない４３４Ｂ）にマップされたカラー・データを直接処理することがある。実施例又はそれのどんな組合せのいずれかも本発明の範囲に含まれる。
【００４８】
上述したように、時には、処理パイプラインを下って色管理計算の１つ以上を更に押すことは望ましいことがある。そのため、本発明の実施例は、トーン曲線の受信成分４１６、成分４１８を受け取るカラー行列、及びカラー・マトリクス変換成分４２０のその１つ以上を熟考する、ＧＰＵ  ４１４の中にあることに加えて、又はｂｅする代わりにＭＰＵ  ４３２（又はｖｉｄｅｏＤＡＣｓ（図示せず））の中にあることがある。そのような実施例では、もし望まれれば、ＭＰＵ  ４３２（又はｖｉｄｅｏＤＡＣｓ）の中の任意の構成要素の現在までに行なわれた機能は、処理パイプライン中のこの後期段階で行なわれることがある。すべてのそのような変化、また、それのどんな組合せも本発明の範囲に含まれる。
【００４９】
理解することができるように、本発明の実施例は、カラー・エンジン（例えば、加速されたグラフィック処理装置（ＧＰＵ）、又はビデオのデジタル／アナログ変換器（ｖｉｄｅｏＤＡＣ）、色管理パイプラインをセット・アップするために中央処理装置（ＣＰＵ）と関連付けられた色管理モジュール）（ＣＭＭ）を開発することができる色管理モデルを提供する。この方法で、１つの、ユーザ・エクスペリエンス、カラー・データ（例えばソースデバイスから宛先デバイスまで派生したイメージ・データ、メディアコンテンツ）のマッピング上の性能又は質の著しい減少はない。
【００５０】
本発明は特定の実施例に関して記述されてきたが、限定的であるというよりむしろ例示であることが意図されている。別の実施例も、本発明がその技術的範囲から外れずに当業者には、明白である。
【００５１】
以上から、この発明が、上で述べた目的及び目標のすべてに到達するのにシステムと方法にとって明白で、固有の他の利点と一緒に、よく適して、１であることは理解されるだろう。ある特徴及びサブコンビネーションは、他の特徴及びサブコンビネーションに関係なく用いることができることが理解されるだろう。これは、本発明の技術的範囲に含まれる。
【図面の簡単な説明】
【００５２】
【図１】本発明を実装するのに用いられるのに適した例示的な計算機環境のブロック図である。
【図２】本発明の実施例によりカラー・データを入力デバイスから出力デバイスにマップする方法を示す流れ図である。
【図３】本発明の実施例により加速されたイメージ処理において用いられる情報を取得しＧＰＵに提供する方法を示す流れ図である。
【図４】本発明の実施例により、イメージ・データやメディア・コンテンツなどのカラー・データを、入力デバイス・プロファイルと出力デバイス・プロファイルとに基づいて加速処理する例示的なシステムのブロック図である。
【図１】
2009505575.tif 000003
【図２】
2009505575.tif 000004
【図３】
2009505575.tif 000005
【図４】
2009505575.tif 000006
【国際調査報告】
2009505575.tif 000007