(57)【特許請求の範囲】
【請求項１】
ワークフロー内でカラーオブジェクトを処理する方法であって、
前記ワークフローにおいて処理される前記カラーオブジェクトの各画素が通過する動作チョークポイントを介して、デバイスから取得された前記カラーオブジェクトを受け取るステップであって、前記動作チョークポイントが、前記デバイスに結合されたデバイスドライバから独立であり、前記動作チョークポイントは、ユーザ入力とアプリケーションプログラムとユーザが定義したポリシーとのうちの少なくとも１つにしたがって、ユーザにより確立されたカラーマネージメント動作を行うよう構成され、前記動作チョークポイントは、前記カラーオブジェクトに関係する各種の動作に対するコンタクトポイントとして動作するステップと、
変換を遅らせるか否かに関するユーザオプションにしたがって、前記カラーオブジェクトの受け取りに応答して、前記ワークフロー内のどこで前記カラーオブジェクトを変換するかを決定するステップであって、
出力先デバイスへの前記カラーオブジェクトの変換を遅らせるステップと、
前記カラーオブジェクトを中間色空間へ変換して前記カラーマネージメント動作を実行するステップと、
のうちのいずれか１つを選択的に実行するステップと、
を備えることを特徴とする方法。
【請求項２】
前記カラーマネージメント動作を実行する前記ステップが、
カラーマネジメント機能を実施するコマンドを受け取るステップと、
前記カラーマネジメント機能を実施するステップと
を備えることを特徴とする、請求項１に記載の方法。
【請求項３】
前記カラーマネジメント機能は、標準色空間とＩＣＣプロファイルと非ＩＣＣプロファイルとのうちの少なくとも１つからカラーマネジメント入力を加えることを特徴とする、請求項２に記載の方法。
【請求項４】
前記カラーマネジメント機能は、ユーザ要求と前記アプリケーションプログラムと前記ポリシーとのうちの少なくとも１つに応答して動作することを特徴とする、請求項２に記載の方法。
【請求項５】
前記ポリシーは、ユーザ、動作、デバイスのタイプ、デバイス、デバイスの製造業者、デバイスのモデル、およびデバイスのモデルの較正値のうちの少なくとも１つに基づいて、前記カラーオブジェクトに対して実施されるカラーマネジメントを定義することを特徴とする、請求項４に記載の方法。
【請求項６】
前記コマンドは、前記カラーマネジメントワークフローを監視する要求であることを特徴とする、請求項２に記載の方法。
【請求項７】
前記コマンドは、前記カラーマネジメントワークフローで介入する要求であることを特徴とする、請求項２に記載の方法。
【請求項８】
前記出力先デバイスへの前記カラーオブジェクトの変換を遅らせるステップは、ハイブリッドワークフローを生成するステップを含むことを特徴とする、請求項１に記載の方法。
【請求項９】
動作の種類は、印刷動作と表示動作と取込み動作とロード動作とセーブ動作とコピー動作とペースト動作とのうちの１つであることを特徴とする、請求項１に記載の方法。
【請求項１０】
前記動作チョークポイントは、レガシ機器とともに動作するように構成されることを特徴とする、請求項９に記載の方法。
【請求項１１】
コンピュータグラフィックス処理システムであって、
複数のアプリケーションプログラミングインタフェースと、
各々が或る動作に対応して設けられる複数の動作チョークポイントと、
特定の前記動作チョークポイントを介して、処理のためにデバイスから取得されたカラーオブジェクトの画素を受け取る手段であって、前記特定の動作チョークポイントが、前記デバイスに結合されたデバイスドライバから独立であり、前記特定の動作チョークポイントは、ユーザ入力とアプリケーションプログラムとユーザが定義したポリシーとのうちの少なくとも１つにしたがって、ユーザにより確立されたカラーマネージメント動作を行うよう構成され、前記特定の動作チョークポイントは、前記カラーオブジェクトに関係する各種の動作に対するコンタクトポイントとして動作する手段と、
出力先デバイスへの前記カラーオブジェクトの変換を遅らせるためのハイブリッドワークフロー生成器と、前記カラーオブジェクトを中間色空間へ変換するためのコンバータとのうちのいずれか１つを選択することにより、変換に関するユーザオプションにしたがって、前記カラーオブジェクトの受け取りに応答して、ワークフロー内のどこで前記カラーオブジェクトを変換するかを決定する手段と、
前記カラーオブジェクトの変換が前記出力先デバイスまで遅らせないときに前記カラーマネージメント動作を実行する手段と、
を備え、
前記複数のアプリケーションプログラミングインタフェースのそれぞれが、前記複数の動作チョークポイントのうちの対応する動作チョークポイントの動作を指示することを特徴とするシステム。
【請求項１２】
前記カラーマネージメント動作を実行する前記手段が、前記カラーオブジェクトのカラーマネージメントワークフロー内で介入処理を行うためのカラーマネジメントシステムを備えることを特徴とする、請求項１１に記載のコンピュータグラフィックス処理システム。
【請求項１３】
前記カラーマネジメントシステムは、カラーマネジメント入力を加えるように構成されていることを特徴とする、請求項１１に記載のコンピュータグラフィックス処理システム。
【請求項１４】
前記カラーマネジメント入力は、標準色空間とＩＣＣプロファイルと非ＩＣＣプロファイルとのうちの少なくとも１つから加えられることを特徴とする、請求項１３に記載のコンピュータグラフィックス処理システム。
【請求項１５】
前記カラーマネジメントシステムは、ユーザ要求とアプリケーションプログラムとポリシーとのうちの少なくとも１つに応答して動作するように構成されていることを特徴とする、請求項１３に記載のコンピュータグラフィックス処理システム。
【請求項１６】
動的な色域マッピングを行うことができるように構成されたハードウエアコンポーネントをさらに備えることを特徴とする、請求項１３に記載のコンピュータグラフィックス処理システム。
【請求項１７】
ワークフロー内でカラーオブジェクトを処理する方法をコンピュータに実施させるためのコンピュータ実行可能命令を有するコンピュータ読取り可能媒体であって、
前記方法は、
前記ワークフローにおいて処理されるカラーオブジェクトの画素が通過する動作チョークポイントを介して、デバイスから取得されたカラーオブジェクトを受け取るステップであって、前記動作チョークポイントが、前記デバイスに結合されたデバイスドライバから独立であり、前記動作チョークポイントは、ユーザ入力とアプリケーションプログラムとユーザが定義したポリシーとのうちの少なくとも１つにしたがって、ユーザにより確立されたカラーマネージメント動作を行うよう構成され、前記動作チョークポイントは、前記カラーオブジェクトに関係する各種の動作に対するコンタクトポイントとして動作するステップと、
変換に関するユーザオプションにしたがって、前記カラーオブジェクトの受け取りに応答して、ワークフロー内のどこで前記カラーオブジェクトを変換するかを決定するステップであって、
出力先デバイスへの前記カラーオブジェクトの変換を遅らせるステップと、
前記カラーオブジェクトを中間色空間へ変換して、前記カラーマネージメント動作を実行するステップと、
のうちのいずれか１つを選択的に実行するステップと、
を備えることを特徴とするコンピュータ読取り可能媒体。
【請求項１８】
前記カラーマネージメント動作を実行する前記ステップが、
カラーマネジメント機能を実施するコマンドを受け取るステップと、
前記カラーマネジメント機能を実施するステップと
を備え、前記コマンドは、前記ワークフロー内で介入する要求であることを特徴とする、請求項１７に記載のコンピュータ読取り可能媒体。
【請求項１９】
前記決定するステップにおける前記遅らせるステップが、
出力先デバイスにおいて前記カラーオブジェクトを変換することを決定するステップと、
前記出力先デバイスへの前記カラーオブジェクトの変換を遅らせるハイブリッドワークフローを生成するステップと
をさらに備えることを特徴とする、請求項１７に記載のコンピュータ読取り可能媒体。
【請求項２０】
前記動作は、印刷動作と表示動作と取込み動作とロード動作とセーブ動作とコピー動作とペースト動作とのうちの１つであることを特徴とする、請求項１７に記載のコンピュータ読取り可能媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の態様は、一般に、カラーマネジメントシステムを対象とする。より詳細には、本発明の態様は、カラーマネジメント入力を監視し、評価し、検査し、および／または導入する性能のよい色変換を動的に実行するシステムおよび方法を対象とする。
【背景技術】
【０００２】
適切で正確なカラーマネジメントが、ますます重要になりつつある。コンピュータ、モニタ、およびプリンタが家庭用に開発された当初は、消費者は、緑の草、青い空、赤いシャツがほぼ期待どおりに見えることに満足していた。その後、モニタ機器、プリンタ、デジタルカメラなどの製造業者は、より鮮やかでより正確な色表現を作り出し、および／または取り込む要求に迅速に対応してきた。企業は、マルチメディアおよびグラフィックス関連のアプリケーションプログラムも開発してきた。異なる種類のカラーオブジェクトデータ変換を実施する異なるアプリケーションプログラムは、１つのコンピュータプラットフォーム上で同時に動作することができる。
【０００３】
インターネット関連ビジネスの活況が日々増す中で、企業は、その製品および情報が正確に表現されることに熱心である。衣料品製造業者は、年に何百万部というカタログを配布する。毎年、消費者は何億ドルもの金を衣料品に使っているが、それらが配達されるまで、本人自らは、最終製品を実際に見ていない。しかし、製品の返品の最も大きな理由は、一貫して、その製品が雑誌、広告看板、インターネット、あるいはカタログのどれに出ていたかにかかわらず、写真で示された色が、受け取ったときの最終製品の色と一致しないという理由である。雑誌に広告を出す企業は、街の中心部に広告看板を立て、テレビで宣伝しているが、会社のロゴが各メディアを通して一貫しており、および各メディアが意図した色を正確に表現していることを確実にしたいと望んでいる。カラーマネジメントプロセスにおける一貫性が不十分になるような問題が生じると、企業にも消費者にとっても何百万ドルという損失になり得る。
【０００４】
医療業界では、外科医その他の医師は、極めて繊細で微妙な行為を行っており、それらをカメラおよびモニタ機器に頼っている。現在、外科医は、血液、組織などの物体が表示されたモニタ上の色に基づいて、ある種の手順を実施している。しかし、カメラとモニタの間で較正が行われていないので、重要なデータが失われてしまう。ハードウエアの較正は、すべて製造元で行われる。例えば、カメラは血液などの物体の正確な色を取り込むことができるが、モニタの蛍光体が血液の深みのある濃い色を表示することができない。外科医は、印刷作業者が作業中に行わなければならない手作業の調整に類似した色の計算を自分たちの頭の中で行わなければならない。たとえそうしても、いくつかのシステムの場合と同様に、すべてのカラーオブジェクトデータが標準色空間に変換される場合、カメラと同じ色域を表示することができるモニタは依然として、標準色空間において失われたデータを取り込み直すことはできない。
【０００５】
Ｌｉｎｕｘ（登録商標）Ｘ１１およびＭｉｃｒｏｓｏｆｔ（登録商標）のＷｉｎｄｏｗｓ（登録商標）ＸＰなど、現在のコンピュータプラットフォームでは、複数のアプリケーションがカラーマネジメントを行うためにハードウエアにアクセスすることができる。例えば、Ｍｉｃｒｏｓｏｆｔ（登録商標）のＷｉｎｄｏｗｓ（登録商標）ＸＰでは、１２個の異なるアプリケーションがハードウエア要素と通信することができる。アプリケーションは、プラットフォームのグラフィックスライブラリと通信し、グラフィックスライブラリは、このプラットフォームに接続されたハードウエアと通信し、ハードウエアは、所望のアプリケーション動作を実施する。異なる種類のプラットフォームごとに、アプリケーション、グラフィックスライブラリ、およびハードウエアというこれら３つのシステムが並行して改善されてきた。しかし、このような並行した解決策は、ある指定された、および／または所望のカラーマネジメント方式がどのアプリケーションに対しても確実に行われるように調整されてこなかった。様々な方法がハードウエア要素と通信して不安定さが生じ、特定のアプリケーションを介在させないという可能性がなくなる。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
従来のカラーマネジメントシステムは、Ａｐｐｌｅ（登録商標）のＣｏｌｏｒＳｙｎｃ（登録商標）およびＭｉｃｒｏｓｏｆｔ（登録商標）のＩＣＭ（登録商標）など、単一のプロファイルベースのカラーマネジメントソリューションを順にサポートしており、これらのソリューションは、そのソリューションへの変換を強制的に行う。これらのソリューションは、それらプラットフォームで柔軟性を最も高くするために、送信元から出力先デバイスへの性能のよい色変換を、最後の可能な機会まで遅らせる。これは、一般にレイトバインディングワークフロー戦略（late-binding workflow strategy）と称する。デバイス内カラーマネジメントに対応する内蔵ハードウエアを有するプリンタの場合には、ユーザは、プリンタにすべての単純作業を行わせるために変換を遅らせることを好む。レイトバインディングワークフロー戦略の欠点は、１つの不正確なアプリケーション設定により、ジョブ中の１または複数の要素が壊れる恐れがあり、および最後の瞬間まで最終出力データの評価が行われないことである。
【０００７】
他のソリューションでは単一の標準色空間がサポートされ、性能を最大にするために最初の機会で、この空間にすべての入力内容が変換される。これは、一般にアーリーバインディングワークフロー戦略（early-binding workflow strategy）と称する。標準のインクジェットプリンタの場合、ユーザは、帯域の使用および処理時間を最小限に抑えるために、アプリケーションがすべてのまたは大部分のカラーマネジメントを実施することを好む。アーリーバインディングワークフロー戦略の欠点は、アーリーバインディングを行うと、ファイルが大きくなって実行が遅くなり、品質が悪くなるという影響があることと、すべての色が出力用の色域に詰め込まれ、出力の総合応答に対して最適化されることである。
【課題を解決するための手段】
【０００８】
従って、プラットフォームへの入力の直後に、または出力先デバイスまで遅らせて、あるいはこれら２つの間のどこかで、カラーマネジメント手順を実施することができるカラーマネジメントアーキテクチャが求められている。本発明の態様では、ユーザが、どんなカラーマネジメントが実施されているのか、ワークフロー内のどこでカラーマネジメントが実施されているのか、誰がカラーマネジメントを行っているのかを監視し、調査し、介入し、管理し、および／または補正することができるアーキテクチャが提供される。すべての入力カラーオブジェクトデータは、個々の操作に関するチョークポイント（choke point）を介して送られる。すべての画素は、１つの単一関数すなわちチョークポイントを通過する。チョークポイントは、印刷、表示、取込み、ロード、およびセーブ動作を含めて複数の種類の動作について確定される。
【０００９】
本発明の別の態様では、チョークポイントを介して受け取ったすべての入力カラーオブジェクトデータを、中間色空間に変換するカラーマネジメントシステムが提供される。単一のコンタクトポイントを介して中間色空間に変換することにより、ユーザは、任意の所望のやり方でカラーオブジェクトデータを管理することができる。ユーザは、標準色空間、ＩＣＣプロファイル、および非ＩＣＣプロファイルからユーザ固有のカラーマネジメント入力を加えることができる。アプリケーションプログラムを用いてカラーマネジメント入力を加えることもできる。すべてのカラーマネジメントを連携させるために、ポリシーを確立または事前定義することができる。これらのポリシーにより、異なるユーザ、異なる動作、異なるデバイスの種類、異なるデバイス、異なる製造業者、異なるモデル、および異なる較正値について動作を連携させることができる。
【００１０】
本発明の別の態様では、ハードウエアカードおよびプリンタにおける動的な色域マッピングが提供される。ハードウエアカードおよびプリンタは、ユーザ、アプリケーションプログラム、またはポリシーによって開始される色変換の変更に対応するように構成される。
【００１１】
本発明の上記概要ならびに実施形態の例についての以下の詳細な説明は、添付の図面を併せて読むことによりよく理解されよう。これらの図面は、例として含めるものであり、特許を請求する本発明についての限定を行うものとして含めるものではない。
【発明を実施するための最良の形態】
【００１２】
様々な実施形態の例についての以下の説明では、本明細書の一部である添付の図面を参照する。これらの図面には、本発明を実施することができる様々な実施形態を例によって示す。本発明の範囲から逸脱することなく、他の実施形態を用いることができ、構造的および機能的な改変を加えることができることを理解されたい。
【００１３】
図１に、カラーマネジメントソリューション１００のブロック図を示す。図１には、マルチメディアアプリケーション１２０を含むホストコンピュータ１１０を示す。ホストコンピュータ１１０は、デジタルカメラ１３０およびプリンタ１４０に接続される。デジタルカメラ１３０からの入力カラーオブジェクトデータは、マルチメディアアプリケーション１２０によって処理され、プリンタ１４０に出力される。カラーマネジメントソリューション１００では、カメラマンなどのこのシステムのユーザは、デジタルカメラ１３０で物体の写真を撮影し、プリンタ１４０でこの写真の画像を印刷することができる。ただし、カラーマネジメントソリューション１００において、カメラマンは、マルチメディアアプリケーション１２０またはプリンタ１４０のいずれかが、なんらかのカラーマネジメントを実施したか、または両方が、カラーマネジメントを実施したか否かわからない。
【００１４】
図２は、様々なデバイスに接続されたコンピュータグラフィックス処理システム２０１の概略図である。図２に示すように、コンピュータグラフィックス処理システム２０１は、様々なコンピュータグラフィックスおよびカラー操作の制御および実施を担当するグラフィックスエンジン２１４を含む。グラフィックスライブラリ２１２は、多数のマトリックスベースおよびＬＵＴ（ルックアップテーブル）ベースのデータファイルを含む。グラフィックスライブラリ２１２は、アプリケーション２３０に含めることもできるし、あるいは図２に示すように別々に定義することもできる。グラフィックスライブラリ２１２は、様々なコンポーネントおよび／または供給業者の製品との対話を行うＡＰＩ（Application Programming Interface）を含むことができる。コンピュータグラフィックス処理システム２０１は、メモリまたは記憶スペース２１６およびプロファイルコンポーネント２１８をさらに含む。プロファイルコンポーネント２１８は、本質的には、デバイス制御信号値に対応する１組の入力およびこれらの制御信号が生成する実際の色に対応する別の組の入力を有するＬＵＴである。
【００１５】
コンピュータグラフィックス処理システム２０１のプロファイルコンポーネント２１８は、（スキャナおよびデジタルカメラを記述する）入力プロファイル、（モニタおよびＬＣＤディスプレイを記述する）表示プロファイル、および（プリンタおよび印刷機を記述する）出力プロファイルなどの異なるクラスに分解される。一般に、プロファイル２１８は、プリンタ２５５などのデバイスの動作方法を記述する３つの変数に関する情報を含む。これら３つの値とは、デバイスの色域、デバイスのダイナミックレンジ、およびデバイスのトーン再現特性である。他のプロファイル２１８は、色域を外れる色、より詳細なトーン再現情報その他のデバイス特有の情報を取り扱う命令に関する情報を含む。
【００１６】
インタフェース２２０は、コンピュータグラフィックス処理システム２０１のユーザが、実施および／または実行されるカラーマネジメントの入力パラメータを入力することができるユーザインタフェースである。アプリケーション２３０は、ＡＰＩを含むことができる。アプリケーション２３０は、様々なカラーマネジメント変数が取り扱われるプラットフォームである。アプリケーション２３０は、ユーザが、送信元および出力先のプロファイルを指定し変換を実施するか、あるいは代替実施形態では、プリンタ２５５などの出力先デバイスで行うまで変換を遅らせることができる設定および機能を有する。図に示すように、アプリケーション２３０は、様々なグラフィックスインタフェースＡＰＩ２８２、２８４、２８６、２８８とともに動作する。グラフィックスインタフェースＡＰＩ２８２〜２８８は、様々なマルチメディアＡＰＩ、製品固有のＡＰＩ、および／または供給業者固有のＡＰＩを含むことができる。コンピュータグラフィックス処理システム２０１のアプリケーション２３０により、任意のグラフィックスインタフェースＡＰＩ２８２〜２８８が、ハードウエア要素にアクセスすることができ、それによって、他のＡＰＩには未知の特定のパラメータごとに画像および／またはオブジェクトのカラーマネジメントを行うことができる。コンピュータグラフィックス処理システム２０１において、１つのグラフィックスインタフェースＡＰＩ２８２は、他のグラフィックスインタフェースＡＰＩ２８４、２８６、または２８８と完全に独立したカラーマネジメントソリューションを実施する。
【００１７】
単なる例として、コンピュータグラフィックス処理システム２０１は、デジタルカメラ用デバイスドライバ２４０、プリンタ用デバイスドライバ２５０、およびディスプレイ用デバイスドライバ２６０の３つのデバイスドライバを含む。各デバイスドライバは、アプリケーション２３０に結合する。各デバイスドライバは、各デバイスに固有のものであり、ディスプレイ２６５などのデバイスと、コンピュータグラフィックス処理システム２０１の間の動作および適合性を実現することができる。各デバイスドライバには対応するデバイスが結合される。すなわち、デジタルカメラ２４５は、デジタルカメラ用デバイスドライバ２４０に結合され、プリンタ２５５は、プリンタ用デバイスドライバ２５０に結合され、ディスプレイ２６５は、ディスプレイ用デバイスドライバ２６０に結合される。
【００１８】
コンピュータグラフィックス処理システム２０１において、任意のグラフィックスインタフェースＡＰＩ２８２〜２８８は、特定のカラーマネジメントソリューション、例えば、手順、ポリシー、および／またはプロトコルを実施および／または実装するためにハードウエアにアクセスすることができる。異なるグラフィックスインタフェースＡＰＩ２８２〜２８８間では、いかなる連携も行われない。従って、どんなカラーマネジメントが行われたか、どこでカラーマネジメントが実施されたか、および／または誰が実際にカラーマネジメントを実施したかがユーザに知らされることなく、カラーマネジメントが実施される１つのデータには、カラーマネジメントが複数回実施されることもあるし、あるいは全く実施されないこともある。
【００１９】
図３に、本発明を実施することができる適切なコンピューティングシステム環境３００の実施例を示す。コンピューティングシステム環境３００は、適切なコンピューティング環境の単なる１つの例であり、本発明の利用法または機能の範囲に関していかなる制限も示唆するものではない。コンピューティング環境３００を、この動作環境３００の例に示すコンポーネントのいずれか１つ、またはそれらの組合せに関連する依存性または要件を有するものと解釈すべきではない。
【００２０】
本発明は、他の多くの汎用または特定用途向けコンピューティングシステム環境または構成とともに動作可能である。本発明とともに用いるのに適した周知のコンピューティングシステム、環境、および／または構成の例には、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドまたはラップトップデバイス、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラム可能な民生用電子機器、ネットワークＰＣ、ミニコンピュータ、大型コンピュータ、上記システムまたはデバイスのいずれかを含む分散コンピューティング環境などが含まれるが、これらに限定されるものではない。
【００２１】
本発明は、プログラムモジュールなど、コンピュータによって実行されるコンピュータにより実行可能な命令の一般的な文脈において説明することができる。一般に、プログラムモジュールは、特定のタスクを実施するか、あるいは特定の抽象的なデータタイプを実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。本発明は、通信ネットワークを介して接続された遠隔処理装置によってタスクが実施される分散コンピューティング環境でも実施することができる。分散コンピューティング環境において、プログラムモジュールを、メモリ記憶装置を含めてローカルおよびリモートコンピュータ記憶メディアに配置することができる。
【００２２】
図３を参照すると、本発明を実施するシステムの例は、コンピュータ３１０の形態の汎用コンピューティングデバイスを含む。コンピュータ３１０のコンポーネントは、処理装置３２０、システムメモリ３３０、およびシステムメモリを含めて様々なシステムコンポーネントを処理装置３２０に結合するシステムバス３２１を含むが、これらに限定されるものではない。システムバス３２１は、メモリバスまたはメモリコントローラ、ペリフェラルバス、およびローカルバスを含み、様々なバスアーキテクチャのいずれかを利用する数種類のバス構造のいずれかとすることができる。例として、このようなアーキテクチャには、ＩＳＡ（Industry Standard Architecture）バス、ＭＣＡ（Micro Channel Architecture）バス、ＥＩＳＡ（拡張ＩＳＡ）バス、ＶＥＳＡ（Video Electronics Standards Association）ローカルバス、およびメザニンバスとしても知られるＰＣＩ（Peripheral Component Interconnect）バスが含まれるが、これらに限定されるものではない。
【００２３】
一般に、コンピュータ３１０は、様々なコンピュータ読取り可能媒体を含む。コンピュータ読取り可能媒体は、コンピュータ３１０によってアクセスすることができる任意の利用可能なメディアとすることができ、揮発性および不揮発性メディア、リムーバブルおよび非リムーバブルメディアを含む。例として、コンピュータ読取り可能媒体は、コンピュータ記憶メディアおよび通信メディアを含み得るが、これらに限定されるものではない。コンピュータ記憶メディアは、コンピュータ読取り可能命令、データ構造、プログラムモジュールその他のデータなどの情報を記憶するための任意の方法または技術で実施される揮発性および不揮発性メディア、リムーバブルおよび非リムーバブルメディアを含む。コンピュータ記憶メディアは、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリその他のメモリ技術、ＣＤ−ＲＯＭ、ＤＶＤその他の光ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置その他の磁気記憶装置、あるいは所望の情報を記憶するのに用いることができ、およびコンピュータ３１０によってアクセスすることができる他のメディアを含むが、これらに限定されるものではない。一般に、通信メディアは、搬送波その他の搬送機構などの変調データ信号内のコンピュータ読取り可能命令、データ構造、プログラムモジュールその他のデータなどを実施するものであり、任意の情報送達メディアを含む。「変調データ信号」という用語は、信号中の情報を符号化するように設定または変更された１または複数の特徴を有する信号を意味する。例として、通信メディアは、有線ネットワークまたは直接有線接続などの有線メディア、および音波、ＲＦ、赤外線その他の無線メディアなどの無線メディアを含むが、これらに限定されるものではない。上記のいずれかの組合せも、コンピュータ読取り可能媒体の範囲に含めるべきである。
【００２４】
システムメモリ３３０は、ＲＯＭ３３１およびＲＡＭ３３２などの揮発性および／または不揮発性メモリの形態でコンピュータ記憶メディアを含む。例えば開始時に、コンピュータ３１０内の要素間で情報を転送する助けとなる基本ルーチンを含む基本入出力システム（ＢＩＯＳ）３３３は、典型的には、ＲＯＭ３３１内に格納される。一般に、ＲＡＭ３３２は、即座にアクセス可能な、および／または処理装置３２０が現在操作中のデータおよび／またはプログラムモジュールを含む。例として、図３に、オペレーティングシステム３３４、アプリケーションプログラム３３５、他のプログラムモジュール３３６、およびプログラムデータ３３７を示すが、これらに限定されるものではない。
【００２５】
コンピュータ３１０は、リムーバブル／非リムーバブルな、揮発性／不揮発性のコンピュータ記憶メディアも含むことができる。単なる例として、図３に、不揮発性非リムーバブル磁気メディアに対して読書きを行うハードディスクドライブ３４０、不揮発性リムーバブル磁気ディスク３５２に対して読書きを行う磁気ディスクドライブ３５１、およびＣＤ  ＲＯＭその他の光メディアなどの不揮発性リムーバブル光ディスク３５６に対して読書きを行う光ディスクドライブ３５５を示す。例示の動作環境で用いることができる他のリムーバブル／非リムーバブルな、揮発性／不揮発性のコンピュータ記憶メディアには、磁気テープカセット、フラッシュメモリカード、デジタル多用途ディスク、デジタルビデオテープ、ソリッドステートＲＡＭ、ソリッドステートＲＯＭなどが含まれるが、これらに限定されるものではない。一般に、ハードディスクドライブ３４１は、インタフェース３４０などの非リムーバブルメモリインタフェースを介してシステムバス３２１に接続され、一般に、磁気ディスクドライブ３５１および光ディスクドライブ３５５は、インタフェース３５０などのリムーバブルメモリインタフェースによってシステムバス３２１に接続される。
【００２６】
上述し、および図３に示すドライブおよびそれらに関連するコンピュータ記憶メディアは、コンピュータ３１０用のコンピュータ読取り可能命令、データ構造、プログラムモジュールその他のデータの記憶装置を提供する。例えば、図３では、ハードディスクドライブ３４１は、オペレーティングシステム３４４、アプリケーションプログラム３４５、他のプログラムモジュール３４６、およびプログラムデータ３４７を記憶するものとして示されている。これらのコンポーネントは、オペレーティングシステム３３４、アプリケーションプログラム３３５、他のプログラムモジュール３３６、およびプログラムデータ３３７と同じものとすることもできるし、異なるものとすることもできることに留意されたい。ここでは、オペレーティングシステム３４４、アプリケーションプログラム３４５、他のプログラムモジュール３４６、およびプログラムデータ３４７には、少なくともそれらが異なる複製物であることを示すために異なる番号が与えられている。ユーザは、デジタルカメラ３６３、キーボード３６２、および一般にマウス、トラックボールまたはタッチパッドと称するポインティングデバイス３６１などの入力デバイスを介してコンピュータ３１０にコマンドおよび情報を入力することができる。（図示しない）他の入力デバイスは、マイクロホン、ジョイスティック、ゲームパッド、衛星放送受信アンテナ、スキャナなどを含み得る。上記その他の入力デバイスはしばしば、システムバスに結合されたユーザ入力インタフェース３６０を介して処理装置３２０に接続されるが、パラレルポート、ゲームポート、またはＵＳＢ（ユニバーサルシリアルバス）など他のインタフェースおよびバス構造によって接続することもできる。モニタ３９１その他のタイプのディスプレイ装置も、ビデオインタフェース３９０などのインタフェースを介してシステムバス３２１に接続される。コンピュータは、モニタに加えて、出力用ペリフェラルインタフェース３９５を介して接続することができるスピーカ３９７およびプリンタ３９６など他の出力用ペリフェラルデバイスも含むことができる。
【００２７】
コンピュータ３１０は、リモートコンピュータ３８０などの１または複数のリモートコンピュータへの論理接続部を利用するネットワーク環境で動作することができる。リモートコンピュータ３８０は、パーソナルコンピュータ、サーバ、ルータ、ネットワークＰＣ、ピアデバイスその他の一般のネットワークノードとすることができ、一般に、コンピュータ３１０に関連して上記で説明した要素の多くまたはすべてを含むが、図３にはメモリ記憶装置３８１だけを示す。図３に示す論理接続部は、ＬＡＮ３７１およびＷＡＮ３７３を含むが、他のネットワークも含むことができる。このようなネットワーク環境は、一般事務所、企業規模のコンピュータネットワーク、イントラネット、およびインターネットでは一般的なものである。
【００２８】
ＬＡＮネットワーク環境で用いられるとき、コンピュータ３１０は、ネットワークインタフェースまたはアダプタ３７０を介してＬＡＮ３７１に接続される。ＷＡＮネットワーク環境で用いられるとき、一般に、コンピュータ３１０は、インターネットなどのＷＡＮ３７３を介して通信を確立するためのモデム３７２その他の手段を含む。内蔵式または外付け式とし得るモデム３７２は、ユーザ入力インタフェース３６０その他の適切な機構を介してシステムバス３２１に接続することができる。ネットワーク環境では、コンピュータ３１０に関連して示すプログラムモジュールまたはその一部は、リモートメモリ記憶装置に格納することができる。例として、図３に、メモリ装置３８１上に常駐するようにリモートアプリケーションプログラム３８５を示すが、これに限定されるものではない。図に示すネットワーク接続部は例であり、コンピュータ間で通信リンクを確立する他の手段を用いることができることを理解されたい。
【００２９】
ＴＣＰ／ＩＰ、イーサネット（登録商標）、ＦＴＰ、ＨＴＴＰなど様々な周知のプロトコルのいずれかが存在することが想定されており、このシステムは、ユーザがウエブベースのサーバからウエブページを取り込むことができるクライアント−サーバ構成で動作し得る。様々な従来方式のウエブブラウザのいずれかを用いて、ウエブページのデータを表示し操作することができる。
【００３０】
図４を参照すると、本発明の少なくとも１つの態様によるコンピュータグラフィックス処理システム４０１の概略図が示されている。コンピュータグラフィックス処理システム４０１は、デジタルカメラ２４５、プリンタ２５５、およびディスプレイ２６５に、それぞれ対応するデバイスドライバ２４０、２５０、２６０を介して結合されるように示されている。コンピュータグラフィックス処理システム４０１は、インタフェース２２０も含むように示されており、それによって、コンピュータグラフィックス処理システム４０１のユーザは、実施および／または実行されるカラーマネジメントの入力パラメータを入力することができる。
【００３１】
本発明の少なくとも１つの態様によれば、コンピュータグラフィックス処理システム４０１は、グラフィックスエンジン４１４、グラフィックスライブラリ４１２、メモリまたは記憶スペース４１６、プロファイルコンポーネント４１８、およびアプリケーション４３０を含む。グラフィックスエンジン４１４は、ホストコンピュータのオペレーティングシステムの一部とし得る。例えば、グラフィックスエンジン４１４は、Ｍｉｃｒｏｓｏｆｔ（登録商標）社のＷｉｎｄｏｗｓ（登録商標）ＸＰオペレーティングシステムのＧＤＩ＋（Graphics Device Interface Plus（登録商標））ライブラリの一部とすることができる。または、グラフィックスエンジン４１４は、別のコンピュータソフトウエアアプリケーション、例えばデジタルカメラによって取り込まれた写真画像を編集し印刷する様々なソフトウエア製品の１つの一部とすることができる。グラフィックスライブラリ４１２および／またはグラフィックスエンジン４１４は、画像／オブジェクトデータを、ｓｃＲＧＢなどの拡張中間色空間に変換することができるコンバータを含むことができる。ＩＥＣ  ６１９６６−２−２で規定されているように、ｓｃＲＧＢ色空間は、ＩＣＣプロファイルによって提供されるカラーマネジメントとｓＲＧＢの能力のギャップを埋めるように設計されている。グラフィックスエンジン４１４は、ベクタグラフィックス、静止画像、テキストグリフ、およびビデオなどの１組のドロー用基本形状を利用することができ、それらをソフトウエアまたはハードウエアグラフィックス表面に描画する。グラフィックスライブラリ４１２は、グラフィックス基本形状を生成し、操作し、管理することができるグラフィックスエンジンを含む機能の集合体を含むことができる。
【００３２】
アプリケーション４３０により、ユーザが、カラーマネジメントのワークフローを監視し、検査し、問い合わせ、補正し、改変し、および／または無視することを可能にすることによって堅固なカラーマネジメントが可能になる。チョークポイント４３５を用いることによって、アプリケーション４３０は、どんなカラーマネジメントが行われたか、あるいは行われようとしているか、いつカラーマネジメントが行われたか、あるいは行われようとしているか、誰がカラーマネジメントを行ったか、または行おうとしているか、あるいは行うべきかがユーザに保証される。チョークポイントは、カラーオブジェクトデータのすべての画素が、１つのポイントを介して送られるある種の動作に関するあらかじめ定義されたコンタクトポイントと定義される。システムは、単一のチョークポイントではなく限定された１組のチョークポイントを用いることができ、それによって、カラーオブジェクトデータの画素が、この１組のチョークポイントの１つを介して送られる。各画素は、ワークフロー内の１つのチョークポイントのみを介して伝わるが、異なる画素は異なるチョークポイントを介して伝わり得る。
【００３３】
一実施形態では、印刷動作、表示動作、取込み動作、ロード動作、セーブ動作、コピー動作、およびペースト動作の７つの特定の動作がある。各動作は、１つのコンタクトポイント、すなわちチョークポイントを介して画素の調整を容易にするように動作する関連付けられたＡＰＩを有する。従って、カラーオブジェクトデータのカラーマネジメントを、任意のアプリケーションに対して調整することができる。定義された個々の動作ごとに、個々のＡＰＩによって動作することができないレガシ機器についての対応する動作により、レガシ機器による実施が可能になる。以下に、チョークポイントについてさらに説明する。
【００３４】
図に示すように、アプリケーション４３０は、様々なグラフィックスインタフェースＡＰＩ２８２、２８４、２８６、２８８とともに動作する。以下により詳細に説明するように、各グラフィックスインタフェースＡＰＩ２８２〜２８８は、チョークポイント４３５を介して動作する。これらのチョークポイント４３５により、ユーザは、グラフィックスアプリケーション、ユーザ、デバイス、および／または動作によってカラーマネジメントに特定のポリシーを割り当てるかどうかを決定することができる。ポリシーは、インポートされたカラーオブジェクトデータに関連する暗黙のプロファイル、またはインポートされたカラーオブジェクトデータ内に明示的に埋め込まれたプロファイルを探し、このプロファイル（またはプロファイルの欠如）と現在の作業スペースとを比較してカラーマネジメントの決定を行う。さらに、ユーザは、カラーマネジメントを監視して、いつどこで変化が生じるかを決定することができ、および／または、ワークフロー内で特定の時間に、例えばレイトバインディングの場合の出力先デバイスにおいてだけではなく、例えば、アーリーバインディングの場合のプラットフォームへの入力の後で、追加のカラーマネジメントを実施するかどうかを決定することができる。
【００３５】
次に図５を参照すると、本発明の少なくとも１つの態様によるカラーマネジメントアーキテクチャの実施形態の例のブロック図が示されている。図５に示すカラーマネジメントアーキテクチャは、コンピュータグラフィックス処理システム５０１を含む。コンピュータグラフィックス処理システム５０１は、チョークポイント５２０、ハイブリッドワークフロー生成器５３０、コンバータ５４０、およびカラーマネジメントシステム５５０を含む。図５に示す実施例では、プリンタなどの出力先デバイス５６０は、コンピュータグラフィックス処理システム５０１に接続される。
【００３６】
各動作５１０〜５１９は、それらに関連し、１つのコンタクトポイント、すなわちチョークポイントを介して画素の調整を容易にするように動作する個々のＡＰＩを有する。従って、カラーオブジェクトデータのカラーマネジメントを、任意のアプリケーションに対して調整することができる。定義された個々の動作ごとに、個々のＡＰＩによって直接動作することができないレガシ機器についての対応する動作５１１、５１３、５１５、５１７、５１９により、レガシ機器による実施が可能になる。レガシ機器では、１組の可能な任意選択肢はその数が少ない。上記で説明したＡＰＩを用いて、ユーザが選択したＵＩポリシーに従ってレガシ機器についての画素のカラーマネジメントが最適に行われるように、画素の調整を容易にすることができる。具体的には、印刷動作５１０およびレガシ印刷動作５１１は、カラーオブジェクトデータを印刷するために行われる動作に関係する。表示動作５１２およびレガシ表示動作５１４は、カラーオブジェクトデータを表示するために行われる動作に関係する。取込み動作５１４およびレガシ取込み動作５１５は、カラーオブジェクトデータを、例えばデジタルカメラによって取り込むために行われる動作に関係する。ロード動作５１６およびレガシロード動作５１７は、カラーオブジェクトデータを、例えば記憶スペースからロードするために行われる動作に関係する。セーブ動作５１８およびレガシセーブ動作５１９は、カラーオブジェクトデータを、例えば記憶装置に保存するために行われる動作に関係する。
【００３７】
動作５１０〜５１９は、それぞれのチョークポイント５２０を介して結合される。それぞれの動作についてＡＰＩが開始されて、コンピュータグラフィックス処理システム５０１に接続される。チョークポイント５２０における入力の後で、コンピュータグラフィックス処理システム５０１は、出力先デバイス５６０へのカラーオブジェクトデータの変換を遅らせるか、あるいは、アプリケーション側で、例えばコンピュータグラフィックス処理システム５０１で変換を実施するかどうかを決定することができる。コンピュータグラフィックス処理システム５０１が変換を遅らせることを決定した場合には、ハイブリッドワークフロー生成器５３０が、ハイブリッドワークフローを生成して、出力先デバイス５６０における描画時間まで色変換を遅らせる。あるいは、コンピュータグラフィックス処理システム５０１がアプリケーション側で変換を実施することを決定した場合には、コンバータ５４０は、カラーオブジェクトデータを、ｓｃＲＧＢなどの中間色空間に変換する。変換処理は、描画時間ではなく規格時間で行われるので、変換プロセスの性能が最適化される。
【００３８】
カラーオブジェクトデータが、拡張中間色空間などの中間色空間に変換された後で、カラーマネジメントシステム５５０は、標準色空間、ＩＣＣプロファイル、および非ＩＣＣプロファイルからのマネジメント入力を、中間色空間に加えることができる。カラーマネジメントシステム５５０は、ユーザ固有の入力、アプリケーションプログラム、および／または前に確立されたポリシーに応答して動作し得る。ユーザ固有の入力は、取り込まれた画像データに対する特定の追加、拡大、補正、改変などを開始することを含み、および／または、ユーザ固有の入力により、単に、前に行われたかあるいはこれからさらに行われるカラーマネジメント動作が監視または検査される。アプリケーションプログラムは、米国カリフォルニア州サンノゼ所在のＡｄｏｂｅ  Ｓｙｓｔｅｍｓ社のＰｈｏｔｏｓｈｏｐ（登録商標）などのプログラム、および／または、特定のアプリケーション用の既定のカラーマネジメントソリューションについてユーザが確定した特定のカラーマネジメント動作とし得る。
【００３９】
ポリシーシステムにより、ユーザは、複数のデバイス、複数の動作、および複数のユーザにわたってカラーマネジメントを定義し調整することができる。ポリシーは、現在コンピュータグラフィックス処理システム５０１を使用している特定のユーザ、取込み動作やレガシ印刷動作などの実施される特定の動作、デジタルカメラまたはスキャナなどのデバイスの特定の種類、特定の供給業者の特定のデバイス、そのデバイスの特定のモデル、さらにそのモデルの特定の較正設定に基づくものとすることができる。カラーマネジメントシステム５５０は、他のなんらかの基準および／または既定の基準に基づいてカラーマネジメントを実施することができる。
【００４０】
チョークポイントを介して中間色空間に作用するカラーマネジメントシステム５５０により、ユーザは、行われたとすればどんなカラーマネジメントがカラーオブジェクトデータに対してすでに行われたかを決定することができる。さらに、カラーマネジメントシステム５５０により、ユーザは、変換されたカラーオブジェクトデータがどこに出力されたかを監視し、および出力先デバイス５６０によって実施されることになるカラーマネジメントソリューションを監視することができる。コンピュータグラフィックス処理システム５０１によって、ユーザは、この処理プロセス中のどこかでカラーオブジェクトデータを監視し、管理し、調査し、介入し、補正し、あるいはその他の方法で操作または制御することができる。この処理プロセス中のどこかでカラーオブジェクトデータを調査し、管理し、監視し、介入し、補正し、あるいはその他の方法で操作または制御する能力は、ユーザインタフェースポリシーによって行うことができる。
【００４１】
出力先デバイス５６０は、ハードウエアカード５６５を含む。ハードウエアカード５６５は、それがプリンタに含まれているか、あるいはその他のなんらかの出力先デバイス５６０に含まれているかにかかわらず、動的な色域マッピングを提供する。ハードウエアカード５６５は、ユーザ、アプリケーションプログラム、またはポリシーによって開始される色変換の変更に対応するように構成される。ハードウエアカード５６５は、中間色空間およびコンピュータグラフィックス処理システム５０１内のカラーマネジメントシステム５５０とともに動作するように構成される。あるいは、ハードウエアカード５６５は、コンピュータのグラフィックスカードと異なり、ディスプレイ自体に埋め込んでもよい。
【００４２】
図６に、本発明の実施形態の例による正確なカラーマネジメントを維持する取込み動作を実施するステップを示す流れ図を示す。この取込み動作は、図４で説明したコンピュータグラフィックス処理システム４０１とともに動作し得る。ステップ６０５で、デジタルカメラによって画像が取り込まれ、なんらかの内部メモリに記憶される。ステップ６１０で、この画像データは、取込みチョークポイントにおいてアプリケーションプラットフォームに入力される。画像データのすべての画素はチョークポイントを通過しなければならず、それによってカラーマネジメントを強化することができる。ステップ６１５で、任意選択のハイブリッドワークフローを生成して、描画時間まで色変換を遅らせるべきかどうかの決定がなされる。任意選択ステップ６２０により、ユーザは、送信元から出力先デバイスへの性能強化型色変換を遅らせて後で行うことができる。
【００４３】
ハイブリッドワークフローを生成しない場合、ステップ６２５で、ｓｃＲＧＢなどの拡張中間色空間への色変換が行われる。ステップ６３０で、なんらかの種類のユーザの介入が開始されたかどうかの判定がなされる。ユーザがカラーマネジメントを実施するように決定した場合、ステップ６３５で、ユーザは、インタフェース２２０を介して、変換された画像データのカラーマネジメントを、取り込まれた画像データに対する特定の追加、拡大、補正、改変などを開始することを含めていくつかの方式のいずれかで行うことができ、および／または、単に、前に行われたかあるいはこれからさらに行われるカラーマネジメント動作を監視または検査することができる。
【００４４】
ステップ６４０で、アプリケーションプログラムまたはポリシーが取り込まれた画像データに対して実施されるかどうかの判定がなされる。アプリケーションプログラムまたはポリシーが実施される場合、ステップ６４５で、アプリケーションプログラムまたはポリシーに基づいてカラーマネジメントが実施される。上記で説明したように、ポリシーは、特定のユーザ、実施される特定の動作、カメラまたはスキャナなどデバイスの特定のタイプ、特定の供給業者の特定のデバイス、そのデバイスの特定のモデル、さらにそのモデルの特定の較正設定に基づくものとし得る。アプリケーションプログラムまたはポリシーが実施されない場合、ステップ６５０で、他のなんらかの基準および／または既定の基準に基づいてカラーマネジメントが実施される。
【００４５】
本発明に従って複数の種類のカラーマネジメントを実施できることが当業者には理解されよう。ユーザの介入に基づくカラーマネジメントは、すでに確立されたポリシーに基づくカラーマネジメントの後に行うか、またはそれとともに行うか、あるいはその前に行うことができる。さらに、カラーマネジメントは全く実行しなくてもよい。加えて、図６で示し説明した例は、表示、印刷、ロード、および保存など他の動作に適合させることができることが当業者には理解されよう。
【００４６】
本明細書で説明したように、本発明の様々な態様を実施するシステムおよび方法の例を示したが、本発明はこれらの実施形態に限定されるものではないことが当業者には理解されよう。当業者なら、特に上記教示に照らして改変を加えることができる。例えば、上記実施形態の各要素は、単独で、あるいは他の実施形態の要素との組合せまたは部分的な組合せで用いることができる。本発明の真の趣旨および範囲から逸脱することなく改変を加えることができることも認識および理解されよう。従って、この説明は、本発明に対して限定的なものではなく、例とみなされる。
【図面の簡単な説明】
【００４７】
【図１】デジタルカメラ、ホストコンピュータ、およびプリンタを含むカラーマネジメントソリューションを示すブロック図である。
【図２】様々なデバイスに接続されたコンピュータグラフィックス処理システムを示す概略図である。
【図３】本発明のある種の態様を実施することができる汎用デジタルコンピューティング環境を示す概略図である。
【図４】本発明の少なくとも１つの態様によるコンピュータグラフィックス処理システムの実施形態の例を示す概略図である。
【図５】本発明の少なくとも１つの態様によるカラーマネジメントアーキテクチャの実施形態の例を示すブロック図である。
【図６】本発明の少なくとも１つの態様による、正確なカラーマネジメントを維持する取込み動作を実施する方法の例を示す流れ図である。
【符号の説明】
【００４８】
５０１  コンピュータグラフィックス処理システム
５１０  印刷動作
５１１，５１３，５１５，５１７，５１９  レガシ
５１２  表示動作
５１４  取込み動作
５１６  ロード動作
５１８  セーブ動作
５２０  チョークポイント
５３０  ハイブリッドワークフロー生成器
５４０  中間空間へのコンバータ
５５０  カラーマネジメントシステム
５６０  出力先デバイス
５６５  ハードウエアカード
【図１】
0004703994.tif 000002
【図２】
0004703994.tif 000003
【図３】
0004703994.tif 000004
【図４】
0004703994.tif 000005
【図５】
0004703994.tif 000006
【図６】
0004703994.tif 000007