(57)【特許請求の範囲】
【請求項１】
指定されたフォーマットで表されたカラー内容を有するめいめいのイメージ情報を格納した複数のユニットを含むデータ処理モジュール内でイメージ情報を処理する方法であって、
前記複数のユニットの少なくとも１つをイメージ情報の主ビデオストリームに割り当てるステップと、
前記複数のユニットの他の少なくとも１つをイメージ情報のビデオサブストリームに割り当てるステップと、
前記指定されたフォーマットの少なくとも１つの態様を定義するカラー情報データ構造体で指定されたカラー情報に基づいて、合成ビデオ情報を作るために、前記イメージ情報を処理するのに使用される少なくとも１つの機能コンポーネントで前記主ビデオストリームおよび前記ビデオサブストリームを用いる少なくとも２つのタスクを単一の動作で実行するステップと
を含み、
前記カラー情報データ構造体は、前記イメージ情報に関連する、ガンマ、明るさ、及びコントラストを含む情報を伝えるイメージライトフィールドを含み、
前記少なくとも１つの機能コンポーネントは、前記指定されたフォーマットの少なくとも１つの他の態様を判定し、前記少なくとも１つの他の態様を前記カラー情報データ構造内の少なくとも１つの未知の値に追加することを特徴とする方法。
【請求項２】
前記複数のユニットは、複数のグラフィックステクスチャユニットを含むことを特徴とする請求項１に記載の方法。
【請求項３】
請求項１に記載の方法をプロセッサに実行させるためのコンピュータ実行可能命令を格納したことを特徴とする１つまたは複数のコンピュータ可読記録媒体。
【請求項４】
プロセッサと、
請求項１に記載の前記割り当てるステップおよび前記実行するステップを前記プロセッサに実行させるためのコンピュータ実行可能命令を格納したコンピュータ可読記録媒体と
を含むことを特徴とする装置。
【請求項５】
指定されたフォーマットで表されたカラー内容を有するイメージ情報を処理する方法であって、
イメージ情報の主ビデオストリームを提供するステップと、
イメージ情報のビデオサブストリームを提供するステップと、
前記指定されたフォーマットの少なくとも１つの態様を定義するカラー情報データ構造体で指定されたカラー情報に基づいて、指定された色空間内で表される出力ビデオ情報を作るために、前記イメージ情報を処理するのに使用される少なくとも１つの機能コンポーネントで前記主ビデオストリームおよび前記ビデオサブストリームを用いる少なくとも２つのタスクを実行するステップと
を含み、
前記カラー情報データ構造体は、前記イメージ情報に関連する、ガンマ、明るさ、及びコントラストを含む情報を伝えるイメージライトフィールドを含み、
前記少なくとも１つの機能コンポーネントは、前記指定されたフォーマットの少なくとも１つの他の態様を判定し、前記少なくとも１つの他の態様を前記カラー情報データ構造内の少なくとも１つの未知の値に追加することを特徴とする方法。
【請求項６】
前記指定された色空間は、ＲＧＢ関連色空間であることを特徴とする請求項５に記載の方法。
【請求項７】
前記ＲＧＢ関連色空間は、非線形ＲＧＢデータを定義することを特徴とする請求項６に記載の方法。
【請求項８】
前記ＲＧＢ関連色空間は、線形ＲＧＢデータを定義することを特徴とする請求項６に記載の方法。
【請求項９】
前記指定された色空間は、ルマ関連色空間であることを特徴とする請求項５に記載の方法。
【請求項１０】
前記指定された色空間は、イメージ情報の複数のストリームを処理するための共通の色空間を定義することを特徴とする請求項５に記載の方法。
【請求項１１】
前記カラー情報は、前記指定された色空間を識別することを特徴とする請求項５に記載の方法。
【請求項１２】
前記実行するステップは、それぞれがそれに関連するそれ自体のめいめいのカラー情報データ構造体を有する、イメージ情報の複数のストリームを操作することを特徴とする請求項５に記載の方法。
【請求項１３】
前記少なくとも２つのタスクは、前記主ビデオストリームのデインターレースを含み、前記カラー情報データ構造体は、前記デインターレースを決定する情報を含むことを特徴とする請求項５に記載の方法。
【請求項１４】
前記少なくとも２つのタスクは、イメージ情報を第１色空間から第２色空間に変換することを含むことを特徴とする請求項５に記載の方法。
【請求項１５】
前記第１色空間は、ルマ関連色空間であり、前記第２色空間は、ＲＧＢ関連色空間であることを特徴とする請求項１４に記載の方法。
【請求項１６】
前記カラー情報データ構造体内の前記カラー情報は、前記変換を決定することを特徴とする請求項１４に記載の方法。
【請求項１７】
前記少なくとも２つのタスクは、
（ａ）前記主ビデオストリームをデインターレースすることと、
（ｂ）前記主ビデオストリームを前記ビデオサブストリームと組み合わせることと、
（ｃ）第１色空間から第２色空間へイメージ情報を変換することと
のうちの少なくとも２つを含むことを特徴とする請求項５に記載の方法。
【請求項１８】
前記少なくとも２つのタスクは、単一の動作で実行されることを特徴とする請求項５に記載の方法。
【請求項１９】
請求項５に記載の方法をプロセッサに実行させるためのコンピュータ実行可能命令を格納したことを特徴とする１つまたは複数のコンピュータ可読記録媒体。
【請求項２０】
プロセッサと、
請求項５に記載の前記主ビデオストリームを提供するステップ、前記サブストリームを提供するステップ、および前記実行するステップのそれぞれを前記プロセッサに実行させるためのコンピュータ実行可能命令を格納したコンピュータ可読記録媒体と
を含むことを特徴とする装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、Ｓｔｅｐｈｅｎ  Ｊ．Ｅｓｔｒｏｐを唯一の発明者とする２００３年８月１日出願の米国特許仮出願第６０／４９２０２９号明細書、名称「Bandwidth-Efficient Processing of Video Images」の優先権を主張するものである。米国特許仮出願第６０／９２０２９号は、参照によりその全体が本明細書に組み込まれている。
【０００２】
本願は、Ｓｔｅｐｈｅｎ  Ｊ．Ｅｓｔｒｏｐを唯一の発明者とする２００３年１０月２７日出願の米国特許仮出願第１０／６９４１４４号明細書、名称「Bandwidth-Efficient Processing of Video Images」の一部継続出願でもある。米国特許仮出願第１０／６９４１４４号は、参照によりその全体が本明細書に組み込まれている。
【０００３】
最後に、本願は、Ｓｔｅｐｈｅｎ  Ｊ．Ｅｓｔｒｏｐを唯一の発明者とする同時係属の２００２年１０月１８日出願の米国特許仮出願第１０／２７３５０５号明細書、名称「Methods and Apparatuses for Facilitating Processing of Interlaced Images for Progressive Video Displays」に関連する。米国特許仮出願第１０／２７３５０５号は、参照によりその全体が本明細書に組み込まれている。
【０００４】
この主題は、イメージ情報の処理の戦略に関し、より具体的な実施形態では、イメージ情報のカラー内容が正しく複製されることを保証する改善された技法を使用するイメージ情報を処理する戦略に関する。
【背景技術】
【０００５】
人間の視覚は、非常に低いレベルの光に反応する桿体光受容細胞と、色に反応する錐体光受容細胞に頼る。錐体細胞は、一般に、可視電磁スペクトルの３つの部分すなわち、長波長（例えば、一般に赤に対応する）、中波長（例えば、一般に緑に対応する）、および短波長（例えば、一般に青に対応する）に反応する。したがって、すべての色を、少なくとも３つの異なる色成分の異なる組合せとして表すことができる。一般に、色自体は、スペクトルの可視部分での電磁放射の物理的態様ならびにそのような情報を処理するのに使用される視覚関連「機序」および大脳「機序」の両方からおこる複雑な現象である。例えば、人間の視覚は、光の色（クロマ）成分よりも光の強度に、より反応する。
【０００６】
カラーイメージを複製する電子装置は、３タイプの光源を提供することによって、人間の視覚の三色型色覚の性質を補足する。３タイプの光源は、人間の観察者に異なる色として知覚される異なるスペクトル応答を作る。例えば、陰極線管（ＣＲＴ）は、赤、緑、および青の蛍光体を提供して、異なる色を作成する。他のテクノロジは、蛍光体を使用するのではなく、少なくとも３種類の光を発する光源を使用して、他の形で色を複製する。
【０００７】
国際照明委員会（ＣＩＥ）は、光のスペクトル特徴を異なる知覚される色に写像する包括的なシステムを示した。これに関して、用語「マッチング関数（ｍａｔｃｈｉｎｇ  ｆｕｎｃｔｉｏｎ）」は、各波長の基準ランプの組に対する「平均的な」見る人の統計的に作表された応答曲線（通常は、短波長、中波長、および長波長に対する）を指す。赤、緑、および青について、この関数は、それぞれｒ（ｗ）、ｇ（ｗ）、およびｂ（ｗ）と表され、「ｗ」は波長を表す。そのような基準ランプ（または原色）は、色内容を有するイメージ情報を複製する装置によって使用される光源（通常は、モニタ蛍光体）を定義する。用語「色空間」は、原色とマッチング関数の組によって定義される仕様を指す。
【０００８】
絶対的な表色は、数学的に、上で説明した形で、色度のタプルを異なる色に写像することができる。しかし、複数の特定のコーディングシステムが、カラーイメージ情報の伝送および提示など、実世界の応用例に適用できるより効率的なコーディング方式を保証するために開発された。産業界が最初に直面した実世界の応用例は、アナログテレビジョン信号の放送および提示であった。より最近の応用例に、ＴＣＰ／ＩＰネットワーク（例えばインターネット）などのネットワークを介するデジタルビデオ情報の伝送および提示が含まれる。さらに、産業界は、標準品位（ＳＤ）ビデオ情報に加えて、高品位（ＨＤ）ビデオ情報の伝送および提示に対処する。したがって、コーディングシステムの特徴は、しばしば、ある時に産業界が直面したある問題までさかのぼることができる。
【０００９】
手法が何であれ、コーディングシステムは、カラー内容を有するイメージ情報を複製する際に生じる問題の共通の組に対処する。次の議論で、コーディングシステムがある形で対処する可能性が高い一般的な問題の概要を示す（用語法に関して、用語「イメージ情報」は、この開示で、ユーザに表示できるすべての情報を表すのに使用される。この用語は、静止画像情報および動画ビデオ情報の両方を含むように広義に使用される）。
【００１０】
・  色空間と関連する考慮事項
色は、３つの成分を使用して指定することができる。離散色成分を使用するカラー内容の伝送に頼るイメージストリームを、コンポーネントビデオと呼ぶ。一般的なコーディング手法の１つでは、赤、緑、および青（ＲＧＢ）成分を使用して色を指定する。より形式的には、ＲＧＢ成分は、所与のスペクトルと知覚的に同等の色を作る基準ランプの比例する強度を記述する。例えば、Ｒ成分は、
【００１１】
【数１】
0005394447.tif 000002
【００１２】
によって定義することができ、ここで、Ｌ（ｗ）は、所与のスペクトルに対応し、ｒ（ｗ）は、色空間のマッチング関数ｒ（ｗ）に対応する。一般に、ＲＧＢ色空間は、その原色および白色点に関連する色の値によって指定することができる。白色点は、基準白色に関連する色度を指す。
【００１３】
コンピュータモニタは、一般に、ＲＧＢモデルを使用して、ユーザにカラー内容を提示する。しかし、ＲＧＢコーディングモデルは、イメージ情報の伝送に関する非効率的な選択肢である可能性がある。したがって、イメージ情報は、一般に、ＲＧＢ以外のあるコーディングモデルを使用してターゲット装置に伝送される。受け取りの際に、イメージ情報を、例えば３×３アフィン行列を使用して、表示のためにＲＧＢ色空間に変換することができる。下の見出し「ガンマの考慮事項」で説明するように、各Ｒ、Ｇ、またはＢの成分データを、Ｒ’、Ｇ’、およびＢ’値と称する、ガンマ補正前の形に関して表現することもできる（一般に、規約により、アクセント記号は、この開示では非線形情報を表す）。
【００１４】
これに関する一般的な方策は、輝度関連成分（Ｙ）およびクロマ関連成分の参照によって色を定義することである。輝度は、一般的に、光の知覚される強度（明るさ）を指す。輝度を、ガンマ補正前の形（下の「ガンマの考慮事項」で説明する形）で表現して、「ルマ」（Ｙ’）と称する非線形の対応物を作ることができる。クロマ成分は、ルマに関するイメージ情報の色内容を定義する。例えば、デジタル領域で、記号「Ｃｂ」は、差Ｂ’−Ｙ’のｎビット整数のスケーリングされた表現（通常は、８ビット値で−１２７．．．１２８の範囲から）に対応し、記号「Ｃｒ」は、差Ｒ’−Ｙ’のｎビット整数のスケーリングされた表現に対応する。記号「Ｐｂ」は、Ｃｂのアナログ対応物を指し、記号「Ｐｒ」は、Ｃｒのアナログ対応物を指す。記号「Ｐｂ」および「Ｐｒ」は、公称範囲［−０．５．．．０．５］を有するＣｂまたはＣｒのデジタルな正規化された形を指すこともできる。ＣｂＣｒおよびＰｂＰｒによって定義されるコンポーネントイメージ情報は、非線形情報を表す時に、形式的にアクセント記号をつけることができる（例えば、Ｃｂ’Ｃｒ’およびＰｂ’Ｐｒ’）。
【００１５】
カラー内容は、コンポジットビデオ（上で説明したコンポーネントビデオではなく）として通信することもできる。コンポジット信号では、ルマ情報とクロマ情報が１つの信号に組み合わされる。例えば、コーディングシステムＹ’ＵＶで、Ｕは、Ｂ−Ｙのスケーリングされたバージョンを表し、Ｖは、Ｒ−Ｙのスケーリングされたバージョンを表す。このルマ成分およびクロマ成分が処理されて、単一の信号が提供される（例えば、ＮＴＳＣ（Ｎａｔｉｏｎａｌ  Ｔｅｌｅｖｉｓｉｏｎ  Ｓｙｓｔｅｍ  Ｃｏｍｍｉｔｔｅｅ）フォーマットまたはＰＡＬ（Ｐｈａｓｅ  Ａｌｔｅｒｎａｔｅ  Ｌｉｎｅ）フォーマットで示される形で）。コーディングシステムＹ’ＩＱでは、Ｕ成分およびＶ成分を指定された形で変換することによって形成される、もう１つのコンポジットコーディングシステムが定義される。一般に、産業界は、歴史的に、Ｙ関連色空間（Ｙ’ＣｂＣｒ、Ｙ’ＰｂＰｒ、ＹＵＶ、ＹＩＱなど）を奨励してきた。というのは、これらの色空間でカラーイメージ情報を減らすことが、ＲＧＢ色空間で表現されたイメージ情報と比較してより簡単に実行できるからである。
【００１６】
一般に、１つまたは複数の行列アフィン変換を使用することによって、カラー内容をある色空間から別の色空間に変換することが可能である。より形式的にいえば、条件等色の特性によって、マッチング関数の別の組に関して、色空間係数のある組を表すことが可能になる（「条件等色を示す色」は、色空間係数の同一の組に写像され、したがって知覚的に同一に見える、すなわち、同一の色のように見える２つのスペクトルを指す）。
【００１７】
・  ガンマの考慮事項
陰極線管（ＣＲＴ）は、線形の応答伝達関数を有しない。言い換えると、ＣＲＴに印加される電圧とＣＲＴによって作られる結果の輝度の関係は、線形関数を定義しない。より具体的に言うと、ＣＲＴの予測された理論的応答は、５／２のべきに比例する応答を有する、すなわち、所与の入力電圧「Ｖ」について、ＣＲＴの結果の輝度「Ｌ」は、Ｌ＝Ｖ２．５として計算される。
【００１８】
応用例では、イメージ情報のソース（ビデオカメラなど）が、一般に、イメージ情報に伝達関数を適用することによって、イメージ情報を事前に補償する。「伝達関数」は、おおむね、ＣＲＴ輝度応答の逆関数である。ソースで印加されるこの伝達関数（一般に、エンコーディング伝達関数（ｅｎｃｏｄｉｎｇ  ｔｒａｎｓｆｅｒ  ｆｕｎｃｔｉｏｎ）と称する）が、「ガンマ補正された」非線形イメージ情報を作る。この非線形信号がディスプレイデバイスを通過する時に、線形輝度が作られる。上で説明した表記によれば、非線形（または事前に補償された）イメージ情報が、そのコンポーネントにアクセント記号をつけることによって、例えばＹ’Ｃｂ’Ｃｒ’によって表される。
【００１９】
イメージ情報を非線形の（補償された）形で伝送することが一般的である。受け取る装置のプレゼンテーションデバイス（例えば、ＣＲＴ）は、それに固有の非線形性に起因して、エンコーディング伝達関数を補足して、消費に適当に変換されたカラー内容を提供する。
【００２０】
エンコーディング伝達関数の指数を調整して、その下でイメージ情報が見られる可能性が高い条件を考慮に入れることが一般的である。例えば、普通のテレビジョンで表示されるビデオ情報は、通常は、家庭のセッティングで一般的な薄暗いビューイング環境で提示されるが、普通のコンピュータモニタに表示されるイメージ情報は、オフィスのセッティングで一般的な明るいビューイング環境で提示される。これらの異なるビューイング環境に、異なる伝達関数調整が適当である。この理由から、テレビジョンビデオソースでは、通常は、イメージ情報が薄暗いビューイング環境で提示されるという組込みの前提に基づく伝達関数が使用される。これは、ソースによって適用される伝達関数が、一般に、ＣＲＴの固有の非線形性を少なめに補償することを意味する。
【００２１】
もう１つの特殊な考慮事項として、伝達関数を使用するイメージ情報のエンコードは、一般に、その関数の低電圧部分に特殊な近似関数を適用する。すなわち、エンコーディング技法は、一般に、イメージングセンサのノイズの影響を減らすために、この部分に線形セグメントを提供する。このセグメントを、定義された「トウスロープ（ｔｏｅ  ｓｌｏｐｅ）」を有する「リニアテール（ｌｉｎｅａｒ  ｔａｉｌ）」と称する。
【００２２】
・  ルマ情報に関するクロマ情報のサンプリングおよびアライメント
上で注記したように、人間の視覚は、光の色成分よりも光の強度に反応する。コーディングシステムは、この事実を利用して、コーディングされるクロマ（Ｃｂ’Ｃｒ’）情報の量を、ルマ情報（Ｙ’）の量に関して減らす。この技法を、クロマサブサンプリングと称する。一般にＬ：Ｍ：Ｎと表される数値表記を使用して、このサンプリング戦略を表すことができ、ここで、「Ｌ」は、ルマ成分（Ｙ’）のサンプリング基準要因を表し、「Ｍ」および「Ｎ」は、ルマサンプリング（Ｙ’）に関するクロマサンプリング（例えば、それぞれＣｂおよびＣｒ）を指す。例えば、表記４：４：４は、ルマサンプルごとに１つのクロマサンプルがあるＹ’ＣｂＣｒデータを表すことができる。表記４：２：２は、２つのルマサンプルごとに１つのクロマサンプルがある（水平方向で）Ｙ’ＣｂＣｒデータを表すことができる。表記４：２：０は、ルマサンプルの２×２クラスタごとに１つのクロマサンプルがあるＹ’ＣｂＣｒデータを表すことができる。表記４：１：１は、４つのルマサンプルごとに１つのクロマサンプルがある（水平方向で）Ｙ’ＣｂＣｒデータを表すことができる。
【００２３】
コーディング戦略がクロマ情報より多くのルマ情報を提供する状況では、デコーダが、供給されるクロマ情報に基づいて補間を実行することによって、「欠けている」クロマ情報を再構成することができる。より一般的にいえば、ダウンサンプリングは、イメージサンプルの最初のセットと比較してより少数のイメージサンプルを作るすべての技法を指す。アップサンプリングは、イメージサンプルの最初のセットと比較してより多数のイメージサンプルを作るすべての技法を指す。したがって、上で説明した補間は、あるタイプのアップサンプリングを定義する。
【００２４】
コーディング戦略は、クロマサンプルを、対応するルマサンプルと空間的に「アライン」する形も指定する。コーディング戦略は、これに関して異なる。ある戦略は、クロマサンプルがルマサンプルの「上」に直接に位置決めされるようにルマサンプルにクロマサンプルをアラインする。これを、コサイティング（ｃｏｓｉｔｉｎｇ）と称する。別の戦略では、ルマサンプルの２次元アレイ内の間隙の空間にクロマサンプルを位置決めする。図１０〜１２（下で順番に説明する）に、ルマ情報およびクロマ情報を提示する、異なるサンプリング戦略およびアライメント戦略を示す。
【００２５】
・  量子化の考慮事項
量子化は、色成分の信号振幅に離散数値を割り当てる方法論を指す。デジタル領域では、数値が、指定されたステップ数の色空間値の指定された範囲（色域）にまたがる。例えば、各成分値を記述するのに２５５ステップを使用することが一般的であり、各成分が、０から２５５までの値をとることができる。８ビットを使用して各色値を表すことが一般的であるが、色を、より高い精度で（例えば、１０ビットなど）ならびにより低い精度で表すこともできる。
【００２６】
コーディング戦略は、しばしば、それぞれバックレベルおよび白レベルを表すために、量子化レベルの範囲の両端の部分を割り当てる。すなわち、コーディング戦略は、しばしば、基準黒レベルおよび基準白レベルを定義するが、基準黒レベルおよび基準白レベルを超えてスイングする値を表すために、これらの基準レベルを超えるコーディングレベルも割り当てる。例えば、８ビットコーディング戦略で、レベル１６を黒に、レベル２３５を白に割り当てることができる。１６未満の残りのレベルが、いわゆる「トウルーム（ｔｏｅ  ｒｏｏｍ）」を定義し、２３５を超える残りのレベルが、いわゆる「ヘッドルーム（ｈｅａｄ  ｒｏｏｍ）」を定義する。
【００２７】
・  インターレース表現対プログレッシブ表現の考慮事項
従来のテレビジョン信号は、インターレース式にスキャンされる。インターレースでは、ビデオフレームの最初のフィールドが、取り込まれ、その直後に、ビデオフレームの第２フィールドが続く（例えば、その１／５０秒または１／６０秒後に）。第２フィールドは、わずかな量だけ第１フィールドに対して垂直にオフセットしており、第２フィールドが、第１フィールドの走査線の間の隙間のスペースにある情報を取り込むようになっている。いわゆるボブインターレースが、インターリービング戦略の既知のタイプの１つである。完全なビデオフレームは、第１フィールドと第２フィールドを素早く連続して提示し、その結果、これらが人間の見る者に情報の単一のフレームとして知覚されるようにすることによって構成される。
【００２８】
しかし、コンピュータモニタおよび他のプレゼンテーション機器は、インターリーブされた形ではなく、プログレッシブな形でイメージ情報を表示する。したがって、装置が、インターレース式情報をコンピュータモニタに提示するためには、反対のフィールドのデータを補間することによって、インターレース式フィールドレートでプログレッシブフレームを表示しなければならない（「デインターレース」と呼ばれる処理）。例えば、インターレース式フィールドを表示するためには、反対側のフィールドを調べることによって、走査線の間の空間的位置の「欠けている」データを補間しなければならない。ノンインターレース式イメージフォーマットを、「プログレッシブ」フォーマットと称する。
【００２９】
上の話題のそれぞれに関する追加情報が、非特許文献１に記載されている。
【００３０】
上で説明した複雑さを倍加させることに、産業界は、イメージ情報を表す多数の異なるフォーマット標準規格に適応する。標準規格が、国際電気通信連合（ＩＴＵ）、欧州放送連合（ＥＢＵ）（ＤＶＢまたはＤｉｇｉｔａｌ  Ｖｉｄｅｏ  Ｂｒｏａｄｃａｓｔｉｎｇを奨励する）、ＡＥＳ（Ａｕｄｉｏ  Ｅｎｇｉｎｅｅｒｉｎｇ  Ｓｏｃｉｅｔｙ）、ＡＴＳＣ（Ａｄｖａｎｃｅｄ  Ｔｅｌｅｖｉｓｉｏｎ  Ｓｙｓｔｅｍｓ  Ｃｏｍｍｉｔｔｅｅ，  Ｉｎｃ．）、映画テレビ技術者協会（ＳＭＰＴＥ）、ＳＥＣＡＭ（Ｓｅｑｕｅｎｔｉａｌ  ｃｏｕｌｅｕｒ  ａｖｅｃ  ｍＥｍｏｉｒｅ）、ＮＴＳＣ（Ｎａｔｉｏｎａｌ  Ｔｅｌｅｖｉｓｉｏｎ  Ｓｙｓｔｅｍ  Ｃｏｍｍｉｔｔｅｅ）などを含む複数の組織および委員会によって公布されてきた。
【００３１】
これらの組織のそれぞれが、上で説明した可能なコーディングオプションの領域から、コーディング特徴の特定の組合せを切り取った。したがって、本発明人が諒解するところでは、標準規格は、一般に、原色；伝達関数；意図されたビューイング条件；伝達行列；トウルーム仕様およびヘッドルーム仕様；クロマサブサンプリング戦略およびアライメント戦略などの定義および適用に関して異なる。原色は（白色点基準と共に）、標準規格の基本的な色空間を定義する。伝達関数は、標準規格が、線形イメージ情報と非線形情報の間でどのように変換するかを決定する。意図されたビューイング条件は、イメージ情報が消費される可能性が高いビューイング環境に関して標準規格が行う仮定（テレビジョンが薄暗い照明の家庭セッティングで見られるという仮定など）を定義する。ビューイング条件は、イメージ情報の有効なガンマおよび明るさ（黒レベル）およびコントラスト（白レベル）を変化させる。伝達行列は、標準規格が、異なる色空間の間でどのように変換するか（例えば、Ｙ’ＹｂＹｒ色空間からＲＧＢ色空間へ）を決定する。ヘッドルーム仕様およびトウルーム仕様は、標準規格が黒色と白色の範囲を表すのに割り当てる量子化レベルを決定する。クロマサブサンプリング戦略およびアライメント戦略は、クロマ情報がサブサンプリングされ、ルマ情報に関して位置決めされる形を指定する。
【００３２】
既存の標準規格関連文書に、各標準規格の要件が精密に詳細に記載されている。代表的な標準規格に、下記が含まれる。
・  ＩＴＵ−Ｒ勧告ＢＴ．４７０は、アナログモノクロームテレビジョン装置に関する仕様を提供する国際標準規格である。
・  ＩＴＵ−Ｒ勧告ＢＴ．６０１は、イメージ情報のスタジオデジタルコーディングを定義する国際標準規格である。この標準規格では、イメージ情報のＹ’ＣｂＣｒコーディングが使用される。
・  ＩＴＵ−Ｒ勧告ＢＴ．７０９は、高品位ビデオ情報のスタジオコーディングを定義する国際標準規格である。高品位（ＨＤ）コンテンツは、標準品位（ＳＤ）より高いビデオコンテンツを表し、通常は、１９２０×１０８０、１２８０×７２０などである。
・  ＳＭＰＴＥ  １７０Ｍは、コンポジットアナログビデオ情報（例えば、ＮＴＳＣ）のコーディングを定義する標準規格である。
・  ＳＭＰＴＥ  ２４０Ｍは、アナログ高品位ビデオ情報のコーディングを定義する標準規格である。
・  ＩＥＣ  ６１９６６−２−１（ｓＲＧＢ）は、８ビット量子化方式を使用する２５５レベルへのイメージ情報のコーディングに関する標準規格である。
・  ＩＥＣ  ６１９６６−２−２（ｓｃＲＧＢ）は、ｓＲＧＢの線形形式を定義する標準規格であり、ｓＲＧＢの色域を大きく拡張する。
・  ＩＳＯ／ＩＥＣ  １３８１８（ＭＰＥＧ−２）は、圧縮形式でのオーディオ信号およびビデオ信号のコーディングに関する標準規格である。
・  ＩＳＯ  １０９１８−１（ＪＰＥＧ）は、静止画像情報のロッシイ圧縮に関する標準規格である。
【００３３】
現在使用されているコーディング標準規格の高い多様性は、イメージ情報のコーディング、伝送、および処理の複数の問題に寄与する。概要として、特定の装置に関連するビデオ処理パイプラインは、しばしば、定義されたフォーマッティングを有する特定のタイプの信号を処理するように設計され、この制限された役割において、これらの装置は、信頼できる形でそのようなイメージ情報を正しく処理することができる。しかし、現在使用されているイメージ情報のより広い世界という文脈では、これらの装置は、他の種類のイメージ情報のカラーフォーマッティングを解釈する機構およびパイプラインを介してこのフォーマッティング情報を信頼性のある形で伝搬させる機構を欠く可能性がある。より正確にいえば、ビデオパイプラインは、受け取られたイメージ情報に適用されたカラーフォーマッティングのある態様を定義する情報を受け取ることができるが、本発明人の諒解するところでは、これらのビデオパイプラインは、パイプラインを通ってパイプラインの下流コンポーネントにこのカラー情報を信頼できる形で伝搬させる適切な機構を欠く場合がある。その結果、そのようなフォーマッティング情報は、「失われる」か「捨てられる」。下流コンポーネントは、フォーマッティング情報を「推測」することによって、カラーフォーマッティングに関する情報の不足に対処することができる。コンポーネントが、不正に推測する時に、そのパイプラインは、準最適または不正な形でイメージ情報を処理する。
【００３４】
図１は、上の潜在的な問題をさらに説明するための媒体として提示されるものである。図１に、ビデオ処理パイプライン１００の高水準表現を示す。パイプライン１００に、入力ステージ１０２、処理ステージ１０４、および出力ステージ１０６によって定義される従来の処理ステージが含まれる。入力ステージ１０２で、入力ソース１０８が、イメージ情報の任意のソースを表す。ソース１０８に、一般に、新たに取り込まれたイメージ情報（例えば、カメラまたはスキャナによって作成された）、またはあるチャネルを介して入力ステージ１０２に提示される以前に取り込まれたイメージ情報（例えば、ディスクから、ＩＰネットワークを介してなどで受け取られる）を含めることができる。前者の場合に、キャプチャ処理機能性１１０が、ソース１０８から受け取られるイメージ情報に対するすべての種類の予備処理を実行することができる。後者の場合に、デコーダ機能性１１２が、イメージデータを作るためのすべての種類のストリームベース情報抽出および圧縮解除を実行する。一般に、そのような処理に、受け取られた情報のイメージ情報をオーディオ情報から分離すること、情報を圧縮解除することなどを含めることができる。処理ステージ１０４に関して、処理機能性１１４が、イメージ情報の複数のストリームを一緒にコンポジット信号にミキシングすることなど、結果のイメージ情報に対するすべての種類の処理を実行する。出力ステージに関して、出力処理機能性１１６は、出力デバイス１１８への出力に備えた、処理されたイメージ情報に対して実行されるすべての種類の処理を表す。出力デバイス１１８は、テレビジョン、コンピュータモニタなどを表すことができる。出力デバイスは、ストレージデバイスも表すことができる。さらに、出力「デバイス」（または出力処理機能性１１６）は、デバイスへのストレージまたはネットワークを介する配布のために情報を準備する、圧縮およびフォーマッティングの機能性（マルチプレクサなど）を提供することができる。
【００３５】
図１の一番下の行に、既知のシステムの上で説明した欠陥を要約する。ブロック１２０は、パイプライン機能性（１１０、１１２、１１４、１１６）が、入力信号に印加されたカラーフォーマッティングを正確に解釈できず、かつ／またはパイプラインを介して下流コンポーネントにカラー情報を信頼できる形で伝搬できないことを示す。例えば、パイプライン１００が、指定されたフォーマットを使用してコーディングされたイメージ情報を受け取る場合がある。受け取られた情報に、使用されたフォーマッティングの特徴を識別するフィールドが含まれる場合があり、あるいは、これらの特徴を、受け取られた情報の他のテルテールプロパティに基づいて演繹することができる。しかし、使用される多数の標準規格のゆえに、パイプライン１００の最初のステージに、この情報を正しく解釈し、ビデオパイプライン１００内の下流コンポーネントに渡す機能性が欠けている。その結果、このコーディング情報が、即座に失われる。これは、イメージ情報が、下流コンポーネントがこのイメージ情報（本質的に１と０だけである）をどのように解釈すべきかに関するガイドラインなしで下流パイプラインコンポーネントに渡される状況をもたらす可能性がある。
【００３６】
ブロック１２２は、ビデオパイプライン１００が上の問題を扱う形を表す。すなわち、イメージ情報内のカラー内容を解釈する方法に関するガイドランを有しない機能コンポーネントは、しばしば、それを解釈する方法を「推測」する。推測は、正確な場合とそうでない場合がある。例えば、ビデオパイプラインは、イメージ情報に適用された伝達関数（多分イメージサイズに基づいて）、イメージ情報に固有のライティング条件仮定、イメージ情報によって使用されるクロマサブサンプリング方式（データフォーマットに基づいて）などに関する仮定を不正確に行う可能性がある。
【００３７】
ブロック１２４は、不正な推測の潜在的な結果を表す。すなわち、不正な推測は、準最適表示品質または不正な表示品質をもたらす可能性がある。イメージプレゼンテーションが、「不自然な」色またはモーションアーチファクトを有するように見える可能性がある。あるいは、不当に「コントラストが強い」、歪んでいる、不正にクロッピングされて見えるなどの可能性がある。
【先行技術文献】
【非特許文献】
【００３８】
【非特許文献１】Charles Poyton's well-regarded Digital Video and HDTV
【発明の概要】
【発明が解決しようとする課題】
【００３９】
したがって、カラー内容を有するイメージ情報を処理するより満足な技法の必要がある。
【課題を解決するための手段】
【００４０】
１つの例示的な実施形態によれば、指定されたフォーマットで表されたカラー内容を有するイメージ情報を処理する方法が説明される。この方法には、（ａ）前記指定されたフォーマットの少なくとも１つの態様を定義するカラー情報を含むカラー情報データ構造体を提供することと、（ｂ）前記イメージ情報を処理するのに使用される少なくとも１つの機能コンポーネントに、前記イメージ情報と共に前記カラー情報データ構造体を渡すことと、（ｃ）前記カラー情報データ構造体内の前記カラー情報に基づいて、前記少なくとも１つの機能コンポーネントで前記イメージ情報を処理することとを含むことを特徴とする方法が含まれる。
【００４１】
もう１つの例示的な特徴によれば、カラー情報データ構造に、（ａ）線形イメージ情報を非線形イメージ情報に変換し、かつ／またはその逆を行うのに使用される伝達関数に関する情報を伝えるビデオ伝達関数フィールドと、（ｂ）前記イメージ情報に関連する原色を伝える原色フィールドと、（ｃ）前記イメージ情報に関連する所期のビューイング条件を伝えるイメージライトフィールドと、（ｄ）前記イメージ情報の前記色空間を変更するのに使用できる伝達行列フィールドと、（ｅ）前記イメージ情報に関連する潜在的なトウルームおよびヘッドルームに関する情報を伝える公称範囲フィールドと、（ｆ）前記イメージ情報内のクロマサンプルが関連するルマサンプルに関してサンプリングされ、アラインされる形を示すビデオクロマサンプリングフィールドとが含まれる。
【００４２】
もう１つの例示的な特徴によれば、上述の少なくとも１つの機能コンポーネントは、ビデオ処理パイプラインを定義する機能コンポーネントの群に属し、前記カラー情報データ構造体は、下流機能コンポーネントによる使用のために前記ビデオ処理パイプラインを介して渡される。
【００４３】
もう１つの例示的な特徴によれば、上述の少なくとも１つの機能コンポーネントは、さらに、前記指定されたフォーマットの少なくとも１つの他の態様を判定し、前記少なくとも１つの他の態様を前記カラー情報データ構造内の少なくとも１つの未知のフィールドに追加する。
【００４４】
もう１つの例示的な特徴によれば、前記カラー情報データ構造体の上述の渡しは、既存データ構造体の未使用フィールドで前記カラー情報データ構造体を渡すことを含む。
【００４５】
もう１つの例示的な特徴によれば、この方法は、さらに、前記少なくとも１つの機能コンポーネントは前記カラー情報データ構造体を処理する能力を有することを示すフラグをセットすることを含む。
【００４６】
（ａ）イメージ情報の主ビデオストリームを提供することと、（ｂ）イメージ情報のビデオサブストリームを提供することと、（ｃ）  カラー情報データ構造体で指定されたカラー情報に基づいて、指定された色空間内で表される出力ビデオ情報を作るために、前記主ビデオストリームおよび前記ビデオサブストリームを用いる少なくとも２つのタスクを実行することとを含む、イメージ情報を処理するもう１つの例示的な方法を説明する。
【００４７】
（ａ）ルマ関連色空間の入力イメージ情報をＲＧＢ関連色空間内の線形イメージ情報に変換することと、（ｂ）処理された情報を作るために、前記ＲＧＢ関連色空間内の前記線形イメージ情報に対する処理を実行することと、（ｃ）前記処理された情報をルマ関連色空間内の非線形イメージ情報に変換することとを含む、イメージ情報を処理するもう１つの例示的な方法を説明する。
【００４８】
上述した方法のもう１つの例示的な特徴によれば、前記変換は、前記処理動作の前に、前記入力イメージ情報をインターレースフォーマットからプログレッシブフォーマットに変換することと、処理の後に、前記処理された情報をプログレッシブフォーマットからインターレースフォーマットに変換することとを含む。
【００４９】
追加の例示的実施形態を、次に説明する。
【図面の簡単な説明】
【００５０】
この開示および図面の全体を通じて、同一の符号が、同一の構成要素および特徴を参照するのに使用される。１００番台の数は、最初に図１に現れる特徴を参照し、２００番台の数は、最初に図２に現れる特徴を参照し、３００番台の数は、最初に図３に現れる特徴を参照し、以下同様である。
【図１】例示的なビデオパイプラインとそれに関連する問題を示す図である。
【図２】カラー情報を提供するデータ構造体を処理する機能性を有する改善された例示的なビデオパイプラインを示す図である。
【図３】図２で導入されたデータ構造体を使用してイメージ情報を処理する例示的な方法を示す流れ図である。
【図４】イメージ情報をプログレッシブ線形ＲＧＢフォーマットに変換し、その後、そのフォーマットのイメージ情報に対して処理を実行する新規の技法を示すブロック図である。
【図５】図２のシステムで使用される例示的なデータ構造体の概要を示す図である。
【図６】図５のデータ構造体が参照できる様々な例示的なフォーマッティング情報を示す図である。
【図７】図５のデータ構造体が参照できる様々な例示的なフォーマッティング情報を示す図である。
【図８】図５のデータ構造体が参照できる様々な例示的なフォーマッティング情報を示す図である。
【図９】図５のデータ構造体が参照できる様々な例示的なフォーマッティング情報を示す図である。
【図１０】図５のデータ構造体が参照できる様々な例示的なフォーマッティング情報を示す図である。
【図１１】図５のデータ構造体が参照できる様々な例示的なフォーマッティング情報を示す図である。
【図１２】図５のデータ構造体が参照できる様々な例示的なフォーマッティング情報を示す図である。
【図１３】図２の全般的な特徴を実施する１つの例示的なシステムを示す図である。
【図１４】図１３のシステムの動作の例示的な方法を示す流れ図である。
【図１５】図１３のシステムで使用できる例示的な合成機能性の詳細を示す図である。
【図１６】図１３のシステムで使用できる例示的な合成機能性の詳細を示す図である。
【図１７】図２などに示されたシステムの諸態様を実施する例示的なコンピューティング環境を示す図である。
【発明を実施するための形態】
【００５１】
次に、カラー内容を有するイメージ情報の処理を改善する例示的な機構および手続きを説明する。幅広い概要として、この機構および手続きは、イメージ情報に適用されたカラーフォーマッティングに関する情報を取り込むデータ構造体を提供する。この情報を、「カラー情報」と呼び、データ構造体自体は、「カラー情報（ＣＩ）データ構造体」と呼ぶ。１つの例示的な事例で、カラー情報に、特に、イメージ情報に関連する次の情報を伝えるフィールドを含めることができる：伝達関数情報；原色情報；ビデオライティング情報；伝達行列情報；公称範囲情報；およびクロマサブサンプリング情報。フィールドのこのグループ化は、制限的ではなく例示的であることを意図されたものである。他の実施形態は、追加のフィールドを含めることができ、上で識別されたあるフィールドを省略することなどができる。
【００５２】
ビデオ処理パイプラインは、イメージ情報の処理を容易にする手助けとしてカラー情報を使用する。例えば、カラー情報は、パイプライン内の機能コンポーネントがイメージ情報を変換しなければならない形を指定することができる。さらに、既知のシステムと非常に対照的に、ビデオパイプラインに、パイプラインを介してＣＩデータ構造体を渡す機能性が含まれ、その結果、パイプライン内の下流コンポーネントが、ＣＩデータ構造体から情報を引き出せるようになる。この備えによって、ビデオパイプラインが、イメージ情報の性質に関する誤った推測を行う可能性が減り、その結果、この備えが、表示されるイメージの品質を改善する潜在能力を有する。
【００５３】
もう１つの例示的な特徴によれば、パイプライン内のコンポーネントに、イメージ情報を独立に解釈する機能性を含めることができる。コンポーネントが、カラーフォーマッティングの以前には指定されなかったカラー関連の態様を信頼性のある形で判定できる場合に、そのコンポーネントは、ＣＩデータ構造体にこの情報を追加することができる。この補足カラー情報が、ビデオパイプラインの下流コンポーネントから使用可能になり、この下流コンポーネントが、新しい情報を追加することによってＣＩデータ構造を補足することができる。したがって、カラー情報データ構造体は、パイプラインを通過し、イメージ情報に適用されるフォーマッティングの異なる特性を演繹できるパイプライン内のコンポーネントから情報を集める際に、より「知識を与える」ものになることができる。
【００５４】
もう１つの例示的特徴によれば、カラー情報は、イメージ情報をコーディングするのに使用できる多数の可能なフォーマットに関する情報を伝える「レセプタクル」を提供することを意図されている。したがって、ＣＩデータ構造体は、ビデオパイプラインがあらゆる種類のイメージ情報を受け入れることを可能にし、ＣＩデータ構造体によって伝えられるカラー情報を解釈することによってそれを正しく処理できるようにする、ある種の汎用インターフェースとみなすことができる。
【００５５】
もう１つの例示的特徴によれば、ＣＩデータ構造体は、特定の効率的な方式を使用して、異なるフォーマット標準規格に関する非常に様々な情報を少数のビットの情報にパックすることができる。１つの例示的な事例で、このデータ構造体は、非常に様々なカラー情報を少数のワード（例えば、１６ビット構造体、２４ビット構造体など）にパックする。
【００５６】
もう１つの例示的特徴によれば、システムは、ビデオパイプラインで使用される１つまたは複数の既存のデータ構造体で提供される未使用フィールドを使用することによって、ＣＩデータ構造体を伝えることができる。これによって、そのような既存のデータ構造体を使用するシステムが、システムの高価で複雑な再ツーリングなしで、カラー情報を利用できるようになる。さらに、これらのシステムが、ＣＩデータ構造体を処理するように構成されていないが、そのようなシステムに供給される入力情報にＣＩデータ構造体が存在する場合に、これらのシステムは、システムを「破壊」せずに、ＣＩデータ構造体を安全に無視することができる。
【００５７】
もう１つの例示的な特徴によれば、ルマ関連色空間内のインターレース式イメージ情報（例えば、Ｙ’Ｃｂ’Ｃｒ’）を、線形プログレッシブＲＧＢ色空間に変換することができる。その後、様々な処理（再スケーリングなど）を、線形／プログレッシブＲＧＢ色空間内でそのイメージ情報に対して実行することができる。その後、イメージ情報を、出力（例えば、テレビジョンでの表示）のために、ルマ関連色空間（例えば、Ｙ’Ｐｂ’Ｐｒ’）に変換することができる。線形／プログレッシブＲＧＢ空間でのルマ関連情報の処理１０４は、上で要約した形での処理のために中間線形ＲＧＢ色空間へのイメージ情報の変換１０４を行わない他の手法からはずれる。
【００５８】
他の特徴および付随する利益を、次の詳細な仕様書で詳細に説明する。
【００５９】
用語法に関して、用語「イメージ情報」は、なんらかの視覚的な形でユーザが消費できるすべての種類の情報を含むことが意図されている。イメージ情報は、アナログフォーマット、デジタルフォーマット、またはアナログフォーマットとデジタルフォーマットの組合せなど、すべてのフォーマットで表現された情報を表すことができる。イメージ情報は、静止画像情報（例えば、デジタル写真）および／または動く情報（例えば、ビデオ情報）を表すことができる。さらなる変形が、用語イメージ情報の使用によって企図されている。
【００６０】
用語「カラー情報」は、イメージ情報のカラー内容を記述するすべての情報を表す。例えば、イメージ情報が、指定されたフォーマットのカラー内容を表す場合に、そのカラー情報は、そのフォーマットに関する情報を伝えることができる。用語「カラー情報データ構造体（ＣＩデータ構造体）」は、カラー情報がビデオパイプライン内でコーディングされ、伝えられる形を指す。
【００６１】
用語「ビデオパイプライン」は、イメージ情報を処理するすべての機能性を指す。パイプラインに、連続した形ですなわち次々にイメージ情報を操作する少なくとも２つの機能コンポーネントが含まれる。
【００６２】
この開示に、次のセクションが含まれる。セクションＡでは、例示的なカラー情報データ構造体と、ビデオパイプライン内でそれが使用される形の概要を説明する。セクションＢでは、セクションＡのビデオパイプライン内で実行できる例示的な変換動作を説明する。セクションＣでは、セクションＡで定義されたカラー情報データ構造体の例示的な構成を説明する。セクションＤでは、セクションＡ〜Ｃで示した原理を実施するビデオパイプラインの１特定の例示的な実施形態を説明する。セクションＥでは、セクションＡ〜Ｄで説明した特徴の諸態様を実施する例示的なコンピュータ環境を説明する。
【００６３】
一般に、この主題の構造的態様に関して、本明細書に記載の機能のすべてを、ソフトウェア、ファームウェア（例えば、固定された論理回路）、手動処理、またはこれらの実施形態の組合せを使用して実施することができる。本明細書で使用される用語「モジュール」、「機能性」、および「論理」は、一般に、ソフトウェア、ファームウェア、またはソフトウェアとファームウェアの組合せを指す。ソフトウェア実施形態の場合に、用語モジュール、機能性、または論理は、１つまたは複数の処理デバイス（例えば、１つまたは複数のＣＰＵ）で実行される時に特定のタスクを実行するプログラムコードを表す。このプログラムコードは、１つまたは複数の固定されたおよび／または取外し可能のコンピュータ可読メモリデバイスにストアすることができる。
【００６４】
この主題の手続き態様に関して、ある動作を、ある順序で実行される、別個の構成ステップとして説明する。そのような実施形態は、例示的であり、非制限的である。本明細書に記載のあるステップを、一緒にグループ化し、単一の動作で実行することができ、またあるステップを、この開示で示される例で使用される順序と異なる順序で実行することができる。
【００６５】
Ａ．例示的なカラー情報（ＣＩ）データ構造体およびその適用の概要
図２に、カラー情報（ＣＩ）データ構造体２０２を使用するビデオ処理パイプライン２００の例示的な概要を示す。ＣＩデータ構造体２０２に、イメージ情報２０４内で色を表すのに使用されるフォーマッティングを記述する情報および／またはイメージ情報２０４が後にパイプライン２００によってどのように処理されなければならないかを記述する情報が含まれる。ＣＩデータ構造体２０２は、多数の異なるカラーコーディングフォーマットに関するカラー情報を受け取る均一な「レセプタクル」を提供する。ＣＩデータ構造体２０２は、これによって、ある種類の汎用インターフェースを提供し、パイプライン２００が異常のない形で成功裡に処理できるイメージ情報のタイプを拡張する。もう１つの有利な特徴によれば、このビデオパイプライン内のすべての機能コンポーネントが、ＣＩデータ構造体２０２から引き出すことができ、潜在的に、これらのコンポーネントが演繹できるイメージ情報２０４に関する新しい情報によってＣＩデータ構造体２０２を補足することができる。
【００６６】
ビデオパイプライン２００自体に、入力ステージ２０６、処理ステージ２０８、および出力ステージ２１０を含む一連のステージが含まれる。入力ステージ２０６に関して、入力ソース２１２は、イメージ情報２０４のすべてのソースを表す。ソース２１２に、一般に、新たに取り込まれるイメージ情報（例えば、カメラまたはスキャナによって取り込まれる）または、例えば放送伝送を介して受け取られる（例えば衛星送信またはケーブル送信など）、あらゆる種類のネットワークを介して受け取られる（例えばインターネットなどのＴＣＰ／ＩＰデジタルネットワークなど）、イメージ情報のローカルストレージを介して受け取られる（ビデオディスク、ローカルデータベースなど）など、なんらかのルートを介して入力ステージ２０６に提示される、前に取り込まれたイメージ情報を含めることができる。入力処理機能性２１４は、イメージ情報２０４に対するすべての種類の予備処理を実行するように構成され、この予備処理は、入力ソース２１２の性質に応じて異なる可能性がある（例えば、イメージ情報２０４が新たに取り込まれるか、事前に取り込まれた情報のソースから入力されるかに応じて。前に取り込まれた／ストアされた情報を入力する場合に、処理に、受け取られた信号内のイメージ情報のオーディオ情報からの分離、イメージ情報の圧縮解除などを含めることができる。処理ステージ２０８に関して、処理機能性２１６は、ビデオ情報の複数のストリームのコンポジット信号へのミキシング、取り込まれたイメージ情報２０４に対する色空間変換の実行など、取り込まれたイメージ情報２０４に対するすべての種類の処理を実行するように構成される。出力ステージ２１０に関して、出力処理機能性２１８は、出力デバイス２２０への出力に備えた、イメージ情報２０４のすべての処理を実行するように構成される。出力デバイスは、テレビジョン、コンピュータモニタ、ストレージデバイス（リモートとローカルの両方）、すべてのネットワークアクセス可能ターゲット位置などを表すことができる。機能コンポーネント（２１４、２１６、２１８）のそれぞれを、帰するタスクを実行する単一の装置または直列もしくは並列の形で一緒に結合される複数の装置として物理的に実施することができる。１つの事例で、パイプライン２００内のコンポーネントを、動的に構成される論理モジュール（例えば、ソフトウェアモジュール）に対応するものとすることができる。
【００６７】
機能コンポーネント（２１４、２１６、２１８）のそれぞれに、ＣＩデータ構造体２０２を処理するように構成されためいめいの機能性（２２２、２２４、２２６）が含まれる。この機能性（２２２、２２４、２２６）に、ＣＩデータ構造体２０２の情報を読み取る論理、ＣＩデータ構造体２０２の情報を解釈する論理、およびＣＩデータ構造体２０２の解釈された情報をイメージ情報２０４の処理に適用する論理を含めることができる。機能性（２２２、２２４、２２６）に、イメージ情報２０４で使用されるカラーフォーマッティングに関連する追加情報を演繹する論理と、この演繹された情報をＣＩデータ構造体２０２に供給して、ＣＩデータ構造体２０２の前に未知であったフィールドを満たす論理も含めることができる。例えば、機能性（２２２、２２４、２２６）は、あるフォーマットが使用されていることを判定することができる。これに基づいて、機能性（２２２、２２４、２２６）は、標準規格があるコーディング特性を有することを（例えば、所定のルックアップテーブルにアクセスすることによって）演繹することができる。次に、機能性（２２２、２２４、２２６）は、この演繹された特性に関する情報を、ＣＩデータ構造体２０２の、前に未知であったフィールドに書き込むことができる。具体的に言うと、一実施形態で、パイプライン２００内のコンポーネントが、ＣＩデータ構造体２０２の未知の値を、０などの指定された値に自動的にセットすることができる。この動作は、ＣＩデータ構造体の初期化を構成する。後続コンポーネントは、０がセットされた値によって、ＣＩデータ構造体内のある値の未知という性質について警告される。次に、これらのコンポーネントは、欠けている値を供給できる場合に、そうすることができる。矢印２２８は、一般に、機能性（２２２、２２４、２２６）が、ＣＩデータ構造体２０２から情報を引き出せることを示す。矢印２３０は、一般に、機能性（２２２、２２４、２２６）が、ＣＩデータ構造体２０２に追加できることを示す。図２に、機能コンポーネント２１４が、ＣＩデータ構造体２０２と相互作用することが具体的に示されている。しかし、上で述べたように、この同一のＣＩデータ構造体２０２が、ビデオパイプライン２００を介して渡され、その結果、他の機能コンポーネント（２１４、２１６、２１８）のどれもが、示された形でＣＩデータ構造体２０２と相互作用することができる。
【００６８】
異なる機能コンポーネント（２１４、２１６、２１８）が、使用される処理ステージ（２０６、２０８、２１０）、特定のアプリケーションの詳細、処理されるカラーフォーマットなどの多数の要因に応じて、異なる形でＣＩデータ構造体２０２を処理することができる。
【００６９】
例えば、ソース２１２および入力処理機能性２１４に関連する機能性２２２は、受け取られたイメージ情報１０４で使用されるフォーマッティング標準規格に関する情報を判定し、パイプライン２００の下流コンポーネントによる使用のためにその情報をＣＩデータ構造体２０２に供給する、助けになる役割を実行することができる。一般的な規則として、新しい取り込みの場合に、取り込みデバイスは、通常、それが作るイメージ情報に適用されるフォーマッティングを暗黙のうちに「知っている」。その一方で、他のソースによって取り込まれたイメージ情報を受け取るデバイスは、受け取られたイメージ情報に関連するフォーマット関連情報を調べることによって、または論理的で信頼できる推測を行うことによって、イメージ情報に適用されたカラーフォーマッティングを判定できる場合がある。具体的な例を続ける。例えば、アナログ取り込みデバイスは、一般に、それに関してデータが取り込まれるビデオ標準規格および色空間を知っている。もう１つの例として、ＤＶＤナビゲータは、それがＮＴＳＣ内容を有するＤＶＤを解析しているという事実によって、それが扱っているイメージ情報２０４の色空間を知っている。もう１つの例として、ＭＰＥＧ−２エレメンタリビデオストリームを受け取る取り込みデバイスは、ＭＰＥＧ−２がそのシーケンス表示拡張ヘッダ内でカラー情報を明示的にリストするので、使用されているフォーマッティングのある特性を演繹することができ；例えば、このヘッダは、イメージ情報２０４に関連する原色、伝達関数、および伝達行列を示す。もう１つの例として、高品位（ＨＤ）デジタルチューナは、それが７０９色空間内のＨＤデータをストリーミングしていることを知っていなければならない、などである。これらの事例のすべてにおいて、機能性２２２は、パイプライン２００の下流機能コンポーネントによる使用のために、使用されているカラーフォーマッティングに関して「既に知っている」情報をＣＩデータ構造体２０２に供給することができる。既知のシステムでは、この情報が、すぐに捨てられ、したがって失われた。
【００７０】
パイプライン２００内の色空間コンバータは、ＣＩデータ構造体２０２を使用して、受け取られたイメージ情報２０４に対して正確な変換動作が実行されることを保証する。言い換えると、例えば、色空間コンバータは、ＣＩデータ構造体２０２から収集された情報を使用して、それが適用する変換アルゴリズムを決定するか、そのアルゴリズムで使用されるセッティング／パラメータを決定することなどができる。
【００７１】
パイプライン２００内のミキサは、異なるタイプのイメージ情報を一緒にミキシングする目的のために働き、そのような情報は、潜在的に、異なるカラーフォーマットを使用して表現される。例えば、あるアプリケーションが、デジタル写真を、重畳されたグラフィカル情報と組み合わせることなどを求める場合がある。パイプライン２００は、ＣＩデータ構造体２０２で供給される拡張されたフォーマッティング情報を使用して、組み合わされる情報のすべてが共通のフォーマット（例えば、共通の色空間）を有することを保証することができる。この動作は、情報がミキサによって受け取られる前に、例えば上流コンポーネント（パイプライン内でミキサに関して）によって実行することができる。
【００７２】
あるいは、この動作を、グラフィカル処理ハードウェアに割り当てることができる。グラフィカル処理ハードウェアに、例えばビデオ処理カードによって提供される（図１３に関して下で説明する）、１つまたは複数のグラフィカル処理ユニット（ＧＰＵ）を含めることができる。この場合に、組み合わされる情報に関連するＣＩデータ構造体２０２を、パイプラインを介してグラフィカル処理ハードウェアに渡すことができ、このグラフィカル処理ハードウェアは、そのＣＩデータ構造体２０２を使用して、イメージ情報を共通のフォーマットに変換することができ、その後、この情報を組み合わせることができる。この実施形態では、ＣＩデータ構造体２０２によって提供される補足カラー情報によって、ビデオパイプライン内のドライバが、もはや、意図された色空間またはクロマ方式を推測する必要がなくなり、したがって、ドライバ（またはグラフィックス処理ハードウェア）が誤って推測し、悪い出力結果を作る可能性が減る。
【００７３】
要約して、図２のブロックの一番下の行に、ビデオパイプライン２００に適用されるＣＩデータ構造体２０２の使用の例示的な利益を要約する。ブロック２３２に、ＣＩデータ構造体２０２が、パイプライン２００を介して渡される均一な構造を有することを示す。ブロック２３４に、パイプライン２００の各機能コンポーネント（２１４、２１６、２１８）が、ＣＩデータ構造体２０２から情報を引き出すことができ、ＣＩデータ構造体２０２の未知のフィールドの値を供給できることを示す。これは、既知のシステムと比較して、機能コンポーネント（２１４、２１６、２１８）が、イメージ情報２０４を処理するために実行する必要がある正当化されない推測の量を減らすかなくすことができることを意味する。ブロック２３６に、この戦略の最終的な結果が、カラー複製の改善された品質をもたらせることであることが示されている。すなわち、不正確な推測の一部を減らすことによって、ビデオパイプライン２００が、イメージが低いコントラストを有する、不自然に見える色を有するイメージ、様々なひずみ（動きのアーチファクト、クリッピングなど）を有するイメージなど、様々な異常を有する出力情報を提供する可能性が低くなる。
【００７４】
もう１つの利益によれば、セクションＤ（下）でさらに詳細に説明するように、ビデオパイプライン２００は、既存のデータ構造を使用してＣＩデータ構造体２０２を伝えることができる。例えば、ＣＩデータ構造体２０２は、パイプライン２００を介して情報を伝送するのに使用される既存のデータ構造の未使用フィールド（１つまたは複数）に「常駐」することができる。フラグを設けて、未使用フィールドにＣＩデータ構造体２０２が含まれるか否か（または、意味のない指定されない情報もしくは多分一連の０などのデフォルト情報が含まれるかどうか）を知らせることができる。この備えは、少なくとも２つの利益を有する。第１に、事前に存在するサイズの事前に存在するフィールドの使用は、新しいＣＩデータ構造体２０２の使用に対処するために既存の機能コンポーネント（２１４、２１６、２１８）を完全に再エンジニアリングする必要がないことを意味する。さらに、ＣＩデータ構造体２０２を理解するか解釈する能力を有しない可能性があるこれらの機能コンポーネント（２１４、２１６、２１８）は、この情報を処理する必要がない。言い換えると、ＣＩデータ構造体２０２を理解しないコンポーネントは、単純に、それによって影響されない。それと同時に、カラー情報が提供される控え目な性質は、これらのコンポーネントがパイプライン２００に沿ってカラー情報を自動的に渡すことを可能にする。言い換えると、カラー情報は、既存のデータフィールド内に存在するので、通常は失われない。これによって、カラー情報を使用するように構成されている可能性がある下流コンポーネントが、そのようなＣＩ未対応上流コンポーネントから、変更されていないカラー情報を受け取ることが可能になる。
【００７５】
上の議論では、イメージ情報２０４が、ＣＩデータ構造体２０２内のカラー情報に基づいて、ディスプレイデバイスに即座に表示されると仮定した。しかし、ＣＩデータ構造体２０２は、イメージ情報２０４に関連するカラー情報をパックする効率的な技法も提供し、したがって、イメージ情報２０４および関連するＣＩデータ構造体２０２をスペース効率のよい形でストアする（イメージ情報２０４に適用されたフォーマッティングに関する大量の情報を保持しながら）アーカイブ技法として使用することができる。
【００７６】
具体的に言うと、イメージ情報２０４と共にＣＩ情報２０２を自動的にストアするように、コンポーネントを構成することができる。イメージ情報２０４が、後に取り出される時に、ＣＩ情報２０２を含むめいめいのフィールドを、アンパックし、パイプライン２００に渡すことができ、したがって、下流コンポーネントの利益のために、イメージ情報２０４のカラー構造に関する大量の情報が保存される。
【００７７】
さらに、上の議論では、パイプライン２００内のコンポーネントが、パイプラインの下流コンポーネントだけの利益のために、欠けている色情報を供給できると仮定した。しかし、パイプライン内のコンポーネントは、後続のイメージ情報の処理で上流コンポーネントが使用するためにカラー情報を供給することができる。例えば、ビデオパイプラインが、未知のビデオソースからのムービーの処理および提示のタスクに適用されるケースを考慮されたい。パイプライン内の最初のコンポーネントの１つは、このビデオ情報に適用されたフォーマッティングのある特徴を判定できない場合があり、したがって、最初に、この情報を最適の形で処理することができない場合がある。しかし、パイプライン内の後のコンポーネントが、その後、未知のビデオソースによってビデオ情報に適用されたフォーマッティングを演繹することができる。これらの下流コンポーネントは、上流コンポーネントに、それが同一のソースから受け取る後続信号が指定されたフォーマッティングを有することを知らせるために上流コンポーネントと通信することができる。その後、上流コンポーネントは、よりエラーフリーの形でこのビデオ情報を処理することができる。
【００７８】
さらに、用語「下流」は、必ずしも、システム内の動作の固定された順序を示さない。一般に、パイプラインを動的な形で作成して、異なる機能コンポーネントをつなぎ合わせることによってイメージ情報２０４に対する所望の動作を提供することができる。これに関して、カラー情報を、コンポーネントの間のネゴシエーションに使用されるメディアタイプデータ構造体で提供することができる。パイプラインが、まず「出力端」から作られる場合に、カラー情報は、コンポーネントが接続される時に「逆方向」に流れる。
【００７９】
図３に、図２のパイプライン２００の動作を流れ図の形で示す。ステップ３０２に、まず、１つまたは複数のソース２１２からイメージ情報２０４を取り込む／入力することが含まれる。ステップ３０４に、パイプライン２００の適当な機能コンポーネント（２１４、２１６、２１８）によって、ＣＩデータ構造体２０２から収集されたカラー情報に従ってイメージ情報２０４を処理することが含まれる。ステップ３０６に、任意選択として、パイプライン２００の適当な機能コンポーネント（２１４、２１６、２１８）によって演繹されたカラー情報を、ビデオパイプライン２００の下流コンポーネントによる使用のためにＣＩデータ構造体２０２に供給することが含まれる。例えば、ステップ３０４および３０６は、この流れ図によって定義されるループの最初の反復で、入力ステージ２０６によって実行される処理に対応する。ステップ３０８で、ステップ３０４および３０６を、ビデオパイプライン２００の次の機能コンポーネント（２１４、２１６、２１８）について繰り返さなければならないかどうかを判定する。図３の処理は、ＣＩデータ構造体２０２に基づく出力デバイス（例えば、テレビジョン、コンピュータモニタ、アーカイブデバイス、ネットワーク宛先位置など）へのイメージ情報２０４の最終的な出力で終了する。
【００８０】
Ｂ．例示的な変換動作
図４に、図２のビデオパイプライン２００を使用してまたは別の種類のパイプラインのコンテキストで、イメージ情報２０４を変換する変換動作４００を示す。したがって、図４では、ビデオパイプライン内のカラー情報２０２の使用がさらに展開されている。図４に示された他の特徴は、カラー情報２０２を使用しない場合であっても、ビデオ処理技術の進歩を示す。すなわち、概要として、図４に、ルマ関連色空間（例えば、Ｙ’Ｃｂ’Ｃｒ’）で表されたイメージ情報の線形プログレッシブＲＧＢ空間への変換と、その後の線形プログレッシブＲＧＢデータに対する処理の実行の技法が示されている。その後、この技法は、この情報をルマ関連空間（例えば、Ｙ’Ｐｂ’Ｐｒ’）に変換して、出力デバイス（ルマ関連色空間のイメージ情報２０４を表示するテレビジョンデバイス、ストレージデバイスなど）に出力することができる。線形／プログレッシブＲＧＢ色空間でのルマ関連情報２０４の処理は、上で要約した形での処理のために中間線形ＲＧＢ色空間へのイメージ情報２０４の変換を行わない他の手法からはずれる。線形ＲＧＢ処理は、複数の理由から有利である。例えば、線形ＲＧＢ処理では、非線形ＲＧＢ色空間または非線形ＹＵＶ色空間のイメージ情報の処理によって引き起こされる可能性がある明るさおよび色のシフトのアーチファクトが除去される。
【００８１】
図４の変換動作４００に、上で述べた変換ステップを記述した例示的な一連のブロックが含まれる。具体的に言うと、この図のブロックの上の行は、処理のための、Ｙ’Ｃｂ’Ｃｒ’イメージ情報の指定された色空間への変換を示す。ブロックの下の行は、処理されたデータのＹ’Ｐｂ’Ｐｒデータへの変換を示す（Ｙ’Ｐｂ’Ｐｒは、Ｙ’Ｃｂ’Ｃｒ’のアナログ対応物を定義することができる）。
【００８２】
上の行に関して、ブロック４０２は、Ｙ’Ｃｂ’Ｃｒ’４：２：０イメージ情報が受け取られ、Ｙ’Ｃｂ’Ｃｒ’４：４：４イメージ情報にアップスケーリングされることを示す。４：２：０表記は、クロマ情報（Ｃｂ’Ｃｒ’）が、ルマ情報（Ｙ’）に関してサブサンプリングされていることを示す。図４でブロック４０２の上に示された代表的サンプルは、異なるコーディング戦略が、異なるめいめいの形でルマサンプルに関してクロマサンプルを置くことができることを示す。アップサンプリング動作は、クロマ情報を補間して、ルマ情報と同一の量のクロマ情報を作る（例えば、入力イメージ情報の４：４：４：表現を提供する）。
【００８３】
ブロック４０４は、Ｙ’Ｃｂ’Ｃｒ’４：４：４イメージ情報に行列変換を適用して、これを別の色空間、すなわちＲ’Ｇ’Ｂ’色空間に変換する。
【００８４】
ブロック４０６は、伝達行列を適用することによって、非線形Ｒ’Ｇ’Ｂ’イメージ情報を線形形式に変換する。上で注記したように、Ｒ’Ｇ’Ｂ’イメージ情報に関連するアクセント記号（’）は、それが非線形形式であることを示し、アクセント記号がないこと（例えば、ＲＧＢ）は、通常は、線形データを表す（参照される信号が非線形情報を表すことが普通に理解される場合にアクセント記号を除去することも一般的であることを除く）。図４のブロック４０６の上に示されたモデル伝達関数は、使用される関数の一般的な形状を示し、これは、ＣＲＴ（図示せず）に固有の伝達関数の一般的な形状でもある。このモデル伝達関数は、その曲線のＶ＝０部分の近くで線形テールを使用できることも示している。
【００８５】
ブロック４０８では、任意選択として、イメージ再スケーリング動作を正しく実行するために、インターレース形式からプログレッシブ形式に変換するために内容のデインターレースを実行する。
【００８６】
ブロック４１０では、任意選択として、別の色空間で表すために、線形ＲＧＢ情報の原色を変換する。この変換には、ビデオ処理パイプラインの下流コンポーネントで実行される処理にどのような原色が望まれる場合でも、その原色に対応するように原色を変更するためにＲＧＢ情報に行列変換を適用することを含めることができる。一例で、ブロック４１０に、イメージ情報をあるＲＧＢ関連色空間から別のＲＧＢ関連色空間（例えば、ｓｃＲＧＢ）に変換することを含めることができる。
【００８７】
ブロック４１２は、一般に、変換された色空間を有するイメージ情報のすべての種類の処理を表す。これは、例えば、線形プログレッシブＲＧＢ関連色空間のイメージ情報に対する処理の実行を構成することができる。
【００８８】
図４の下の行は、一般に、上の行の上で説明した動作を逆転したものである。すなわち、ブロック４１２での処理の後に、ブロック４１４で、任意選択として、ＲＧＢ色空間に戻すなど、イメージ情報を別の色空間に変換する。ブロック４１６で、インターレース形式でのストアまたは表示が必要な場合に、内容の動作再インターレースを適用する。ブロック４１８で、伝達関数を適用して、ＲＧＢイメージ情報をもう一度非線形形式（Ｒ’Ｇ’Ｂ’）に変換する。ブロック４２０で、Ｒ’Ｇ’Ｂ’イメージ情報の色空間を、そのルマ成分（Ｙ’）をそのクロマ成分（Ｐｂ’Ｐｒ’）から分離するフォーマットに変更する。最後に、ブロック４２２で、任意選択として、Ｙ’Ｐｂ’Ｐｒ’イメージ情報をサブサンプリングして、ルマサンプル（Ｙ’）の量に対してクロマサンプル（Ｐｂ’Ｐｒ’）の量を減らす。すなわち、このブロック４２２は、Ｙ’Ｐｂ’Ｐｒ’４：４：４イメージ情報（ルマサンプルごとにクロマサンプルがある）をＹ’Ｐｂ’Ｐｒ’４：２：０イメージ情報（ルマサンプルより少数のクロマサンプルがある）に変換することができる。
【００８９】
ＣＩデータ構造体２０２は、処理ブロックのそれぞれがイメージ情報２０４を処理する形に関する指示を提供することによって、図４のコンテキストで役割を演じることができる。例えばパイプラインがルマ関連色空間からＲＧＢ関連色空間に変換する形などを指定するカラー情報を供給することができる。
【００９０】
Ｃ．カラー情報データ構造体の例示的な構成
図５に、図２で導入されたＣＩデータ構造体２０２の１つの例示的な実施形態を示す。ＣＩデータ構造体２０２に、潜在的にイメージ情報２０４に適用できるコーディング標準規格の様々な態様を定義する複数のフィールドが含まれる。図５に示されたフィールドは、ＣＩデータ構造体２０２にパックできる情報のタイプに関する制限ではなく、その代表である。他の実施形態では、図５に示されたあるフィールドを省略することができ、または図５に示されていない他のフィールドを追加することができる。
【００９１】
このセクションでは、図５に示されたフィールドの全般的な概要を提供し、その後、ＣＩデータ構造体２０２の１つの例示的な実施形態の詳細な説明を続ける。
【００９２】
まず、最初のフィールド５０２は、伝達関数情報を定義する。この情報は、（非線形）Ｒ’Ｇ’Ｂ’イメージ情報２０４を（線形）ＲＧＢ情報に（および／またはその逆に）どのように変換するかを定義するのに使用される。
【００９３】
第２のフィールド５０４は、イメージ情報２０４のエンコードに使用される原色を定義する。例えば、このフィールド５０４は、ＲＧＢイメージ情報２０４に関連するＲＧＢ応答関数を指定することができる。
【００９４】
第３のフィールド５０６は、イメージ情報２０４にどのビデオライティング仮定が適用されるかを定義する。例えば、このフィールド５０６は、イメージ情報２０４が、薄暗く照明された家庭環境（家庭内のテレビジョンでのプレゼンテーションについて意図される情報について通常はそうである）ではなく、明るいオフィス環境（コンピュータモニタでのプレゼンテーションについて意図される情報について通常はそうである）でのプレゼンテーションのためにコーディングされたかどうかを指定することができる。
【００９５】
第４のフィールド５０８は、イメージ情報２０４に適用可能な伝達行列を定義する。例えば、この行列は、Ｙ’Ｃｂ’Ｃｒ’色空間とＲ’Ｇ’Ｂ’色空間の間で変換する方法などを定義することができる。
【００９６】
第５のフィールド５１０は、イメージ情報２０４に関連する公称範囲情報を定義する。具体的に言うと、このフィールドは、イメージ情報２０４が、基準黒レベル未満の指定されたトウルームおよび／または基準白レベルを超える指定されたヘッドルームを提供するかどうかを定義する。
【００９７】
最後に、第６のフィールド５１２は、クロマ情報が、ルマ情報に関してどのようにサンプリングされ、位置付けられるかを定義するクロマサブサンプリング情報を定義する。
【００９８】
異なるコーディング方式を使用して、図５に示された６つのフィールドを表すことができる。１つの例示的で非制限的な手法によれば、ビットのコレクションが、ＣＩデータ構造体２０２を表すために割り当てられる。このビットのコレクションは、事前定義のフィールド（またはカラー情報を受け取るスロット）を有する指定されたデータ構造体に配置される。１つの例示的な事例で、ＣＩデータ構造体２０２を表すために、１６ビットを割り当てることができる。もう１つの例示的な事例で、ＣＩデータ構造体２０２を表すために、２４ビットを割り当てることができる。他の実施形態は、１６ビット未満のサイズおよび２４ビット超のサイズなどを含む、さらに異なるＣＩデータ構造体サイズを提供する。
【００９９】
２４ビットが使用される、例示的で非制限的な事例で、フィールド（５０２〜５１２）を、次のように編成することができる。第１の「ｅｎｕｍ」（値の整数列挙）ＶｉｄｅｏＴｒａｎｓｆｅｒＦｕｎｃｔｉｏｎを使用して、第１フィールド５０２を表すことができ、これに５ビットを割り当てることができ、したがって、２４ビットのＣＩデータ構造体２０２のビット２３〜１９を占めることができる。第２のｅｎｕｍ  ＶｉｄｅｏＰｒｉｍａｒｉｅｓを使用して、第２フィールド５０４を表すことができ、これに５ビットを割り当てることができ、したがって、ＣＩデータ構造体２０２のビット１８〜１４を占めることができる。第３のｅｎｕｍ  ＶｉｄｅｏＬｉｇｈｔｉｎｇを使用して、第３フィールド５０６を表すことができ、これに４ビットを割り当てることができ、したがって、ＣＩデータ構造体２０２のビット１３〜１０を占めることができる。第４のｅｎｕｍ  ＴｒａｎｓｆｅｒＭａｔｒｉｘを使用して、第４フィールド５０８を表すことができ、これに３ビットを割り当てることができ、したがって、ＣＩデータ構造体２０２のビット９〜７を占めることができる。第５のｅｎｕｍ  ＮｏｍｉｎａｌＲａｎｇｅを使用して、第５フィールド５１２を表すことができ、これに３ビットを割り当てることができ、したがって、ＣＩデータ構造体２０２のビット６〜４を占めることができる。最後に、第６のｅｎｕｍ  ＶｉｄｅｏＣｈｒｏｍａＳｕｂｓａｍｐｌｉｎｇを使用して、第６フィールド５１２を表すことができ、これに４ビットを割り当てることができ、したがって、ＣＩデータ構造体２０２のビット３〜０を占めることができる。
【０１００】
このセクションの残りの部分では、上で説明した６つのｅｎｕｍの１つの例示的な実施形態に関する追加の詳細を提供する。提供される詳細は、制限的ではなく例示であり、異なる構文を有する他のデータ構造を使用することができる。
【０１０１】
・  ＤＸＶＡ＿ＶｉｄｅｏＴｒａｎｓｆｅｒＦｕｎｃｔｉｏｎ
ＤＸＶＡ＿ＶｉｄｅｏＴｒａｎｓｆｅｒＦｕｎｃｔｉｏｎ  ｅｎｕｍは、（非線形）Ｒ’Ｇ’Ｂ’から（線形）ＲＧＢへの変換関数を示す。これは、おおむね、イメージデータのガンマ関数に対応する。一部の伝達関数は、８ビット整数量子化効果を考慮するための訂正を有する。１つの例示的な実施形態では、５ビットを使用してこのｅｎｕｍを表すことができる（例えば、２４ビットのＣＩデータ構造体２０２のビット２３〜１９）。
【０１０２】
ＤＸＶＡ＿ＶｉｄｅｏＴｒａｎｓｆｅｒＦｕｎｃｔｉｏｎ  ｅｎｕｍの例示的な構文は、次のように指定される。
【０１０３】
【表１】
0005394447.tif 000003
【０１０４】
このｅｎｕｍの最初のメンバは、このフィールドが未知であることを示す。計算を進めるのに必要な場合に、このフィールドに事前定義の値をセットすることができる。
【０１０５】
「１０」の接尾辞によって表されるメンバは、ガンマ＝１．０を有する線形ＲＧＢを識別する。
【０１０６】
「１８」、「２０」、「２２」、「２８」の接尾辞によって表されるメンバは、例えば、Ｌ＝０．．．１に関するＬ’＝ｐｏｗ（Ｌ，１／ｇａｍｍａ）など、真の１．８、２．０、２．２、および２．８のガンマを表す。標準規格ＢＴ４７０−２  ＳｙｓＭで、ガンマ２．２が使用される。
【０１０７】
「２２＿７０９」の接尾辞によって表されるメンバは、ＢＴ１３６１、ＢＴ７０９、ＳＭＰＴＥ２９６Ｍ、ＳＭＰＴＥ１７０Ｍ、ＢＴ４７０、ＳＭＰＴＥ２７４Ｍなどによって定義されるフォーマットに適当な、低い範囲で線形の範囲を有するガンマ２．２曲線に関する。
【０１０８】
接尾辞「２２＿２０４Ｍ」によって表されるメンバは、ＳＭＰＴＥ２４０Ｍ、ｉｎｔｅｒｉｍ  ２７４Ｍなどに適当な、低い範囲で線形の範囲を有するガンマ２．２曲線に関する。
【０１０９】
接尾辞「２２＿８ｂｉｔ＿ｓＲＧＢ」によって表されるメンバは、正確な２．２ガンマ８ビット曲線に一致することができる、低い範囲で線形の範囲を有するガンマ２．４曲線に関する。
【０１１０】
図６に、ＤＸＶＡ＿ＶｉｄｅｏＴｒａｎｓｆｅｒＦｕｎｃｔｉｏｎ  ｅｎｕｍに適当なさらなる例示的な詳細を示す。
【０１１１】
・  ＤＸＶＡ＿ＶｉｄｅｏＰｒｉｍａｒｉｅｓ
ＤＸＶＡ＿ＶｉｄｅｏＰｒｉｍａｒｉｅｓ  ｅｎｕｍは、原色をリストし、この原色は、どのＲＧＢ基礎関数がイメージ情報２０４で使用されるかを識別する。１つの例示的な実施形態で、５ビットを使用して、このｅｎｕｍを表すことができる（例えば、２４ビットのＣＩデータ構造体２０２のビット１８〜１４）。
【０１１２】
ＤＸＶＡ＿ＶｉｄｅｏＰｒｉｍａｒｉｅｓ  ｅｎｕｍの例示的な構文は、次のように指定される。
【０１１３】
【表２】
0005394447.tif 000004
【０１１４】
このｅｎｕｍの最初のメンバは、このフィールドが未知であることを示す。計算を進めるのに必要な場合に、このフィールドに事前定義の値をセットすることができる（例えば、デフォルト値に、標準規格ＢＴ  ７０９で指定される原色をセットすることができる）。
【０１１５】
接尾辞「ＢＴ７０９」を有するメンバは、ＢＴ７０９標準規格に関連する原色を定義する（これは、標準規格ｓＲＧＢ、ｓｃＲＧＢなどにも適用可能である）。
【０１１６】
接尾辞「ＢＴ４７０＿２＿ＳｙｓＭ」を有するメンバは、オリジナルのＮＴＳＣ原色を定義する。
【０１１７】
「ＢＴ６０１」、「ＢＴ４７０＿２＿ＳｙｓＢＧ」、「ＳＭＰＴＥ２４０Ｍ」、および「ＥＢＵ３２１３」の接尾辞を有するメンバは、これらの標準規格に関連する様々なめいめいの原色を定義する。
【０１１８】
接尾辞「ＳＭＰＴＥ１７０Ｍ」を有するメンバは、アナログＮＴＳＣ原色を定義する（これは現在、あまり使用されていない）。
【０１１９】
接尾辞「ＳＭＰＴＥ＿Ｃ」を有するメンバは、アナログ’７９  ＮＴＳＣ原色を定義する。
【０１２０】
図７は、ＤＸＶＡ＿ＶｉｄｅｏＰｒｉｍａｒｉｅｓ  ｅｎｕｍに適当なさらなる例示的な詳細を提供する。
【０１２１】
・  ＤＸＶＡ＿ＶｉｄｅｏＬｉｇｈｔｉｎｇ
ＤＸＶＡ＿ＶｉｄｅｏＬｉｇｈｔｉｎｇ  ｅｎｕｍは、所期のビューイングライティング条件を記述する。この情報は、異なるライティング条件で匹敵する経験を生成するためにガンマを変更するのにも使用することができる。１つの例示的な実施形態で、４ビットを使用して、このｅｎｕｍを表すことができる（例えば、２４ビットのＣＩデータ構造体２０２のビット１３〜１０）。
【０１２２】
ＤＸＶＡ＿ＶｉｄｅｏＬｉｇｈｔｉｎｇ  ｅｎｕｍの例示的な構文は、次のように指定される。
【０１２３】
【表３】
0005394447.tif 000005
【０１２４】
このｅｎｕｍの最初のメンバは、このフィールドが未知であることを示す。計算を進めるのに必要な場合に、このフィールドに事前定義の値をセットすることができる（例えば、デフォルト値を、薄暗いビューイング条件が意図されたことを前提とするようにセットすることができる。
【０１２５】
接尾辞「ｂｒｉｇｈｔ」を有するメンバは、戸外のライティング条件に対応することができる。
【０１２６】
接尾辞「ｏｆｆｉｃｅ」を有するメンバは、ホームオフィス条件に関連する中程度の明るさのレベルに対応することができる。
【０１２７】
接尾辞「ｄｉｍ」を有するメンバは、薄暗く照明されたビューイング条件に関連する薄暗い明るさのレベルに対応することができる。
【０１２８】
接尾辞「ｄａｒｋ」を有するメンバは、映画館のビューイング条件に関連する暗い明るさのレベルに対応することができる。
【０１２９】
・  ＤＸＶＡ＿ＶｉｄｅｏＴｒａｎｓｆｅｒＭａｔｒｉｘ
ＤＸＶＡ＿ＶｉｄｅｏＴｒａｎｓｆｅｒＭａｔｒｉｘ  ｅｎｕｍは、イメージ情報２０４をＹ’Ｃｂ’Ｃｒ’色空間から（スタジオ）Ｒ’Ｇ’Ｂ’色空間に変換するのに使用される変換行列を記述する。１つの例示的な実施形態で、３ビットを使用して、このｅｎｕｍを表すことができる（例えば、２４ビットのＣＩデータ構造体２０２のビット９〜７）。
【０１３０】
ＤＸＶＡ＿ＶｉｄｅｏＴｒａｎｓｆｅｒＭａｔｒｉｘ  ｅｎｕｍの例示的な構文は、次のように指定される。
【０１３１】
【表４】
0005394447.tif 000006
【０１３２】
このｅｎｕｍの最初のメンバは、このフィールドが未知であることを示す。計算を進めるのに必要な場合に、このフィールドに事前定義の値をセットすることができる（例えば、デフォルト値に、標準品位イメージ情報２０４の標準規格ＢＴ６０１、および高品位イメージ情報２０４の標準規格ＢＴ７０９で使用される伝達行列をセットすることができる）。
【０１３３】
接尾辞「ＢＴ７０９」を有するメンバは、ＢＴ７０９標準規格で使用される伝達行列を定義する。
【０１３４】
接尾辞「ＢＴ６０１」を有するメンバは、ＢＴ６０１標準規格で使用される伝達行列を定義する。
【０１３５】
接尾辞「ＳＭＰＴＥ２０４Ｍ」を有するメンバは、ＳＭＰＴＥ２０４Ｍ標準規格で使用される伝達行列を定義する（これは、現在は一般的に使用されていない高品位標準規格である）。
【０１３６】
図８および９は、ＤＸＶＡ＿ＶｉｄｅｏＴｒａｎｓｆｅｒＭａｔｒｉｘ  ｅｎｕｍに適当なさらなる例示的な詳細を提供する。
【０１３７】
・  ＤＸＶＡ＿ＮｏｍｉｎａｌＲａｎｇｅ
ＤＸＶＡ＿ＮｏｍｉｎａｌＲａｎｇｅ  ｅｎｕｍは、データにヘッドルーム（基準１．０白を超える値）およびトウルーム（基準０．０黒未満の「スーパーブラック」）が含まれるかどうかを記述する。例えば、イメージ情報２０４の正しい解釈を保証するために、広い色域Ｒ’Ｇ’Ｂ’（黒点１６、１６、１６、白点２３５、２３５、２３５）と通常のｓＲＧＢを区別することが有用である。１つの例示的な実施形態で、３ビットを使用して、このｅｎｕｍを表すことができる（例えば、２４ビットのＣＩデータ構造体２０２のビット６〜４）。
【０１３８】
ＤＸＶＡ＿ＮｏｍｉｎａｌＲａｎｇｅ  ｅｎｕｍの例示的な構文は、次のように指定される。
【０１３９】
【表５】
0005394447.tif 000007
【０１４０】
このｅｎｕｍの最初のメンバは、このフィールドが未知であることを示す。計算を進めるのに必要な場合に、このフィールドに事前定義の値をセットすることができる。
【０１４１】
接尾辞「Ｎｏｒｍａｌ」を有するメンバは、０．．．２５５（８ビット）または０．．．１０２３（１０ビット）のイメージ情報２０４に写像される正規化されたクロマ［０．．．１］を定義する。
【０１４２】
接尾辞「Ｗｉｄｅ」を有するメンバは、１６．．．２３５（８ビット）または６４．．．９４０（１０ビット）に写像される正規化されたクロマ［０．．．１］を定義する。
【０１４３】
・  ＤＸＶＡ＿ＶｉｄｅｏＣｈｒｏｍａＳｕｂｓａｍｐｌｉｎｇ
ＤＸＶＡ＿ＶｉｄｅｏＣｈｒｏｍａＳｕｂｓａｍｐｌｉｎｇ  ｅｎｕｍは、Ｙ’Ｃｂ’Ｃｒ’データに適用されるクロマエンコーディング方式を記述する。「コサイト」変動は、クロマサンプルがルマサンプルとアラインされることを示す。４：２：０データは、通常、１つまたは複数の方向でルマデータにアラインされたクロマを有する。４：４：４、４：２：２、および４：１：１データは、両方の方向でコサイトされている。１つの例示的な実施形態で、３ビットを使用して、このｅｎｕｍを表すことができる（例えば、２４ビットのＣＩデータ構造体２０２のビット３〜０）。
【０１４４】
ＤＸＶＡ＿ＶｉｄｅｏＣｈｒｏｍａＳｕｂｓａｍｐｌｉｎｇ  ｅｎｕｍの例示的な構文は、次のように指定される。
【０１４５】
【表６】
0005394447.tif 000008
【０１４６】
このｅｎｕｍの最初のメンバは、このフィールドが未知であることを示す。計算を進めるのに必要な場合に、このフィールドに事前定義の値をセットすることができる。
【０１４７】
接尾辞「ＰｒｏｇｒｅｓｓｉｖｅＣｈｒｏｍａ」を有するメンバは、一時的にプログレッシブ内容と解釈されるクロマサンプルを定義する（例えば、２つの時間的にオフセットしたフィールドからではなく、同一のフレームから）。
【０１４８】
接尾辞「Ｈｏｒｉｚｏｎｔａｌｌｙ＿Ｃｏｓｉｔｅｄ」を有するメンバは、複数のルマサンプルに対して水平にアラインされるクロマサンプルを定義する。
【０１４９】
接尾辞「Ｖｅｒｔｉｃａｌｌｙ＿Ｃｏｓｉｔｅｄ」を有するメンバは、複数のルマサンプルに対して垂直にアラインされるクロマサンプルを定義する。
【０１５０】
接尾辞「ＡｌｉｇｎｅｄＣｈｒｏｍａＰｌａｎｅｓ」を有するメンバは、同一の位相アライメントを有するものとしてＰｂおよびＰｒ（またはＣｂおよびＣｒ）プレインを定義する。データが垂直にコサイトされている場合に、このフラグは０になる。
【０１５１】
図１０〜１２は、ＤＸＶＡ＿ＶｉｄｅｏＣｈｒｏｍａＳｕｂｓａｍｐｌｉｎｇ  ｅｎｕｍに適当なさらなる例示的な詳細を提供する。すなわち、これらの図は、通常のＹ’Ｃｂ’Ｃｒ’イメージ情報２０４でのルマサンプルに対するクロマサンプルの位置の要約を提供する。
【０１５２】
Ｄ．カラー情報データ構造体の１つの例示的な応用例
前の節で説明したコーディング戦略の多数の応用例がある。図１３〜１６に、ＤｅｉｎｔｅｒｌａｃｅＢｌｔＥｘと称するアプリケーションプログラミングインターフェース（ＡＰＩ）を使用する１つの例示的な応用例を示す。
【０１５３】
概要として、ＤｅｉｎｔｅｒｌａｃｅＢｌｔＥｘ機能性は、合成動作をデインターレース動作と一緒に実行するなど、複数の動作を単一の動作として一緒に実行できるようにする論理を提供する。合成動作は、主イメージストリーム情報とイメージサブストリーム情報の組合せを指す。イメージストリーム情報は、イメージフレームの主シーケンスを指す。イメージサブストリーム情報は、主イメージストリーム情報のイメージストリームと共に提示できる補助イメージ情報を指す。１つの例で、イメージサブストリーム情報は、クローズキャプションデータに対応するものとすることができる。クローズキャプショニング情報が、主イメージストリーム情報と組み合わされて、表示用の合成イメージ情報が形成される。デインターレース動作は、インターレース動作で作成された連続するイメージフィールドを組み合わせて、イメージフレームのプログレッシブ（ノンインターレース）表現を提供する技法を指す。ＤｅｉｎｔｅｒｌａｃｅＢｌｔＥｘ機能性は、他の種類の動作を同時に実行することも可能にする（その代わりに、いわゆるＤｅｉｎｔｅｒｌａｃｅＢｌｔ機能性を使用することができ、これは、上で識別された動作を連続して実行するように構成されている）。
【０１５４】
１つの例示的な実施形態で、ＤｅｉｎｔｅｒｌａｃｅＢｌｔＥｘ機能性は、ＣＩデータ構造体２０２を伝えるのに使用できる未使用部分（または部分的に未使用の部分）を有するデータ構造を提供する。すなわち、１つの例示的で比制限的な実施形態で、この部分が、３２ビットワードを定義することができる。このワードの２４ビット部分を使用して、図５に示された情報の６つのフィールドを伝えることができる。既存構造体のもう１つの部分（例えば、残りの８ビット）を使用して、イメージ情報２０４がインターレースフォーマットとプログレッシブフォーマットのどちらでコーディングされているかなど、イメージ情報２０４の他の態様を伝えることができる。
【０１５５】
具体的に言うと、カラー情報は、ＤｅｉｎｔｅｒｌａｃｅＢｌｔＥｘ動作のコンテキストで複数の役割のために働くことができる。色空間処理の問題に関して、ＣＩデータ構造体２０２で指定されるカラー情報は、（ａ）どの色空間変換（ある場合に）を、ＤｅｉｎｔｅｒｌａｃｅＢｌｔＥｘ機能性に供給される入力イメージ情報に対して実行しなければならないか、（ｂ）イメージ情報に対して様々な処理タスクを実行するためにどの色空間を使用しなければならないか、および（ｃ）出力イメージ情報を供給するのにどの色空間を使用しなければならないか、などを指定することができる。これらのタスクのために選択できる可能な色空間に、すべての種類のＲＧＢ関連色空間、すべての種類のルマ関連色空間（例えば、ＹＵＶ）などを含めることができる。さらに、可能な色空間は、線形形式または非線形（例えば、ガンマ補正された）形式のいずれかとすることができる。
【０１５６】
例えば、あるシナリオで、イメージ情報の１つまたは複数のストリームを、ルマ関連色空間から線形ＲＧＢ関連色空間に変換する。次に、線形ＲＧＢ関連色空間のイメージ情報に対していくつかの動作を実行して、やはり線形ＲＧＢ関連色空間内の出力を供給する。したがって、この一連の動作は、図４（前に説明した）に示された技法を実施することができる。もう１つのシナリオで、イメージ情報の１つまたは複数のストリームを、ルマ関連色空間で受け取り、処理して、やはりルマ関連色空間内の出力を供給することができる。もう１つのシナリオで、イメージ情報の１つまたは複数のストリームを、ある種類のＲＧＢ関連色空間から別の種類のＲＧＢ色空間に、またはある種類のルマ関連色空間から別の種類のルマ関連色空間に変換することができる。これらは、単に、ＤｅｉｎｔｅｒｌａｃｅＢｌｔＥｘ機能性によって使用可能にされる様々な処理オプションの例示的な例である。これらの事例のどれにおいても、ＣＩデータ構造体２０２のカラー情報は、ＤｅｉｎｔｅｒｌａｃｅＢｌｔＥｘ機能性によって適用される色空間選択を決定する指示を提供することができる。
【０１５７】
さらに、ＤｅｉｎｔｅｒｌａｃｅＢｌｔＥｘ機能性の独自の機能を用いると、色空間変換を、イメージ情報に対して実行される他の動作（デインターレースおよび合成など）と同一の動作で実行できるようになる。例えば、イメージ情報を、デインターレースし、ビデオサブストリームと合成するのと同一の動作で、ルマ関連色空間からＲＧＢ関連色空間に変換することができる。その代わりに、イメージ情報に対して実行されるある動作を、連続して実行することもできる。例えば、下で完全に説明する１つの例で、デインターレースおよび合成を、ＹＵＶ色空間内で単一の動作で実行し、これに、出力結果のＲＧＢ関連色空間への変換を続けることができる。
【０１５８】
最後の前置きのコメントとして、ＤｉｎｔｅｒｌａｃｅＢｌｔＥｘ機能性は、異なる色空間で表された別々のイメージ情報ストリーム（１つまたは複数の主ビデオストリームおよび／または１つまたは複数のビデオサブストリームなど）に作用することができる。このイメージ情報ストリームは、それ自体のＣＩデータ構造体２０２を関連付けられることができる。このＣＩデータ構造体２０２に、別々のストリームに対して動作（デインターレース、合成など）を実行するために、別々のストリームを共通の色空間にどのように変換できるかを定義する情報を含めることができる。
【０１５９】
上の前置きに関して、図１３に、図２に示されたビデオパイプライン２００の諸態様を実施するのに使用できる例示的なシステム１３００の概要を示す。システム１３００は、米国ワシントン州レッドモンドのＭｉｃｒｏｓｏｆｔ（登録商標）Ｃｏｒｐｏｒａｔｉｏｎ社が作るＤｉｒｅｃｔＸ（登録商標）ファミリのテクノロジに頼ることができる。ＤｉｒｅｃｔＸファミリには、ＤｉｒｅｃｔＸ  Ｖｉｄｅｏ  Ａｃｃｅｌｅｒａｔｉｏｎ（ＤｉｒｅｃｔＸ−ＶＡ）、Ｄｉｒｅｃｔ３Ｄ、ＤｉｒｅｃｔＤｒａｗなどが含まれる。しかし、上で説明した原理は、他の種類のテクニカルプラットフォームで動作する他の種類のレンダリングテクノロジを使用して実行することができる。システム１３００は、パーソナルコンピュータ、ゲーム機（Ｍｉｃｒｏｓｏｆｔ（登録商標）Ｃｏｒｐｏｒａｔｉｏｎ社のＸｂｏｘ（商標）ゲーム機など）、または他の種類のデバイスを表すことができる。
【０１６０】
まず、システム１３００は、複数のソースのうちの任意の１つからイメージ情報を受け入れる。例えば、装置１３００は、ネットワーク１３０２（インターネットに結合されたリモートソースなど）、すべての種類のデータベース１３０４、すべての種類のコンピュータ可読ディスク媒体１３０６（光ディスク、ＤＶＤなど）、または他のソース１３０８（図２０４に示されたソース２１２に関連するソースの任意の１つなど）からイメージ情報を受け入れることができる。どの場合でも、受け取られた情報に、イメージ情報とオーディオ情報の組合せが含まれる場合がある。デマルチプレクサユニット１３１０が、オーディオ情報をイメージ情報から分離する。オーディオ処理機能性１３１２が、オーディオ情報を処理する。
【０１６１】
イメージデコーダ１３１４が、イメージ情報を処理する。イメージデコーダ１３１４は、圧縮されたイメージ情報を、その受け取られたフォーマットからある他のフォーマットに変換することができ、この情報に対する最初のサイズ変更動作または他の動作を実行することができる。イメージデコーダ１３１４の出力に、いわゆるピュアイメージ情報ならびにイメージサブストリーム情報を含めることができる。ピュアイメージ情報は、ディスプレイデバイスにレンダリングされる主イメージストリームを構成する。イメージサブストリーム情報は、クローズキャプショニング情報、すべての種類のグラフィカルオーバーレイ情報（様々なグラフィカル編集コントロールなど）、ＤＶＤプレイヤによって提示される様々な種類のサブイメージ、その他）など、ピュアイメージ情報に関連するすべての補足情報を構成することができる。
【０１６２】
１つの例示的な実施形態で、ビデオミキシングレンダラ（ＶＭＲ）モジュール１３１６は、このように受け取られたイメージ情報の処理の中心的な役割を実行する。概要として、ＶＭＲモジュール１３１６は、グラフィックスインターフェース１３１８およびディスプレイドライバ１３２０と相互作用し、ディスプレイドライバ１３２０は、グラフィックスモジュール１３２２を制御する。下で詳細に説明するように、この相互作用に、グラフィックスモジュール１３２２の機能をプロービングすることが含まれる。この相互作用には、グラフィックスインターフェース１３１８、ディスプレイドライバ１３２０、およびグラフィックスモジュール１３２２によるイメージ情報の処理を調整することも含まれる。一実施形態で、グラフィックスインターフェース１３１８を、Ｍｉｃｒｏｓｏｆｔ（登録商標）Ｃｏｒｐｏｒａｔｉｏｎ社のＤｉｒｅｃｔＸによって提供されるＤｉｒｅｃｔＤｒａｗ機能性を使用して実施することができる。ＤｉｒｅｃｔＤｒａｗは、このコンテキストで、ＶＭＲモジュール１３１６をグラフィックスモジュール１３２２に通信的に結合するメッセージ導管として働く。グラフィックスモジュール１３２２自体は、コンピュータまたは類似するデバイス内の固定されたモジュールを構成するか、グラフィックスカードなどの取外し可能ユニットを構成することができる。ＶＭＲモジュール１３１６、グラフィックスインターフェース１３１８、ディスプレイドライバ１３２０、およびグラフィックスモジュール１３２２によって表される機能性の縦のチェーンは、ユーザモードとカーネルモードに分割することができる。ユーザモードは、様々なインターフェースを介してユーザが操作できるプログラミング機能性の態様を指す。カーネルモードは、ユーザが直接には操作できないプログラミング機能性の態様を表す。
【０１６３】
グラフィックスモジュール１３２２自体に、１つまたは複数のグラフィックス処理ユニット（ＧＰＵ）１３２４が含まれる。ＧＰＵ  １３２４は、一般に、ＣＰＵに似た処理デバイスである。ＧＰＵ  １３２４は、一般に、実施する装置１３００によって繰り返して実行される情報集中型レンダリングタスクに割り当てられる。これらの反復的タスクまたは情報集中型タスクをＧＰＵ  １３２４に割り当てることによって、ＣＰＵ（図示せず）が、他のタスクを実行するために解放され、したがって、装置１３００の性能が改善される。この実施形態がＧＰＵ  １３２４に割り当てる２つの例示的なタスクが、デインターレースおよびレート変換である。これらの機能は、デインターレース論理１３２６およびレートコンバータ論理１３２８によって表される。デインターレース論理１３２６は、イメージ情報の複数のフィールドを一緒に組み合わせて、イメージ情報のフレームを形成する。レートコンバータ論理１３２８は、イメージフレームのシーケンスのフレームレートを変更する。ＧＰＵ  １３２４は、多数の追加の処理タスクを実行することができる。
【０１６４】
ＧＰＵ  １３２４は、グラフィックスモジュール１３２２に関連するローカルメモリ１３３０と相互作用することができる。このローカルメモリ１３３０は、複数のストレージ関連目的のために働くことができる。例えば、このメモリ１３３０は、ディスプレイデバイス１３３２に転送される最終的なイメージサーフェスをストアすることができる。
【０１６５】
図１３に、図２に関して説明したものに似た形で、図１３に示された一連の機能コンポーネントに沿ってＣＩデータ構造体２０２を渡せることが示されている。すなわち、ＣＩデータ構造体２０２は、システム１３００によって定義されるパイプラインを介して渡される時に、均一な構造を有する。システム１３００内の個々の機能コンポーネントは、ＣＩデータ構造体２０２内のカラー情報を使用することができ、あるいは、潜在的に、下流機能コンポーネントの利益のためにＣＩデータ構造体２０２内のカラー情報を補足することができる。例えば、色空間処理の問題に関して、カラー情報は、（ａ）どの色空間変換（ある場合に）を実行しなければならないか（例えば、ＹＵＶからＲＧＢ）、およびこの変換をどのように実行できるか、（ｂ）イメージ情報に対して様々な処理タスクを実行するのにどの色空間を使用しなければならないか、および（ｃ）出力イメージ情報を供給するのにどの色空間を使用しなければならないか、などを定義することができる。図１３には、複数のＣＩデータ構造体２０２が、システム１３００で実行される処理で役割を演じることが示されており、例えば、システム１３００によって処理されるイメージ情報の各ストリームが、それ自体のデータ構造体２０２を関連付けられることができる。これらのＣＩデータ構造体２０２は、イメージ情報の異なるストリームの共通色空間への変換を調整することができる。
【０１６６】
ＣＩデータ構造体２０２をＤｅｉｎｔｅｒｌａｃｅＢｌｔＥｘフレームワークに統合できる例示的な形に関するさらなる詳細を、下に示す。
【０１６７】
まず、図１４に、図１３の装置１３００の動作の概要１４００を示す。ステップ１４０２で、ＶＭＲモジュール１３１６が、どの処理モードをサポートするかに関してディスプレイドライバ１３２０およびグラフィックスモジュール１３２２に照会する。応答を受け取った後に、ステップ１４０４で、ＶＭＲモジュール１３１６は、もう１つの質問を送って、ディスプレイドライバ１３２０および関連するグラフィックスモジュール１３２２の機能に関するより具体的な情報を見つける。ステップ１４０２および１４０４は、下で、見出し「予備情報処理」の下でより詳細に説明する。
【０１６８】
接続されたハードウェアおよび関連するインターフェースの機能を調査した後に、ＶＭＲモジュール１３１６は、イメージストリームオブジェクトをオープンし（ステップ１４０８で）、その結果、イメージ情報および制御情報をハードウェアに転送できるようにする。その後、ステップ１４０８で、ＶＭＲモジュール１３１６は、ハードウェアによる１つまたは複数のイメージ処理機能の実行（例えば、グラフィックスモジュール１３２２による）を調整する。そのような機能の１つが、デインターレースである。もう１つのそのような機能が、サブストリーム合成である。受け取った情報に応じて、デインターレースを、上で説明したように合成と組み合わせることができ、あるいは、いずれかの機能を、別々に実行することができる。例えば、プログレッシブイメージ情報を受け取った場合に、デインターレースを実行する必要はなく、この場合に、ＶＭＲモジュール１３１６は、単に、オブジェクトのサイズを変更し、イメージサブストリーム情報を追加するか、他の機能または機能の組合せを実行することができる。デインターレースおよび合成の他に、多数の他の機能が実施される。
【０１６９】
最後に、ステップ１４１０で、ＶＭＲモジュールが、ステップ１４０６でオープンしたイメージストリームをクローズする。このステップ１４１０は、ユーザによって与えられるコマンドに応答するものとするか、ストリームイメージ情報を使い果たしたことに応答するものとすることができる。
【０１７０】
次の議論で、上で参照した選択されたステップに関するより詳細な情報を提示する。
【０１７１】
・  初期化ステップ
上で説明したステップ１４０２で、ＶＭＲモジュール１３１６は、入力イメージフォーマットに関してどの処理機能性をサポートするかをディスプレイドライバ１３２０に尋ねる。ディスプレイドライバ１３２０が応答する時に、ＶＭＲモジュール１３１６は、特定のモードに関するディスプレイドライバ１３２０の要件に関するより具体的な情報の要求を送る。ディスプレイドライバ１３２０は、情報構造体内で様々な情報を指定することによって応答する。そのような情報は、必要な順方向基準サンプルの個数、必要な逆方向基準サンプルの個数、出力フレームのフォーマットなどを識別する。この情報構造体には、デインターレースおよび合成の組合せのサポートがグラフィックスモジュール１３２２および関連するインターフェースによってサポートされるかどうかを示すフラグも含まれる。このフラグを、１つの例示的な実施形態で、ＤＸＶＡ＿ＩｍａｇｅＰｒｏｃｅｓｓ＿Ｓｕｂ−ｓｔｒｅａｍｓフラグと称する。
【０１７２】
さらに、組み合わされたデインターレースおよび合成を正しくサポートするために、グラフィックスモジュール１３２２ならびに関連するインターフェースおよびドライバは、デインターレースされるイメージフレームならびに供給されるイメージサブフレームの両方を独立にストレッチ（水平におよび／または垂直に）できなければならない。これが一実施形態で要求されるのは、主イメージとビデオサブストリームのピクセルアスペクト比が、異なり、性質において正方形でない場合があるからである。ディスプレイドライバ１３２０は、ＤＸＶＡ＿ＶｉｄｅｏＰｒｏｃｅｓｓ＿Ｓｕｂ−ｓｔｒｅａｍｓフラグの他に、イメージをストレッチする能力を伝えるＤＸＶＡ＿ＶｉｄｅｏＰｒｏｃｅｓｓ＿ＳｔｒｅｔｃｈＸフラグおよびＤＸＶＡ＿ＶｉｄｅｏＰｒｏｃｅｓｓ＿ＳｔｒｅｔｃｈＹフラグを返すことによって、この機能性を処理する能力を通信することができる。
【０１７３】
さらに、ＤｅｉｎｔｅｒｌａｃｅＢｌｔＥｘ  ＤＤＩは、ソースサーフェスおよび宛先サーフェスのそれぞれに関する拡張カラー情報をサポートする（「ソースサーフェス」は、入力イメージ情報を定義し、「宛先サーフェス」または「ターゲットサーフェス」は、ＤｅｉｎｔｅｒｌａｃｅＢｌｔＥｘ動作によって作られる出力イメージ情報を定義する）。ディスプレイドライバ１３２０は、次のフラグなどの様々なカラー関連フラグを介して、この新しいカラー情報に関してそれが有するサポートのレベルを示すことができる。
【０１７４】
【表７】
0005394447.tif 000009
【０１７５】
ＤＸＶＡ＿ＶｉｄｅｏＰｒｏｃｅｓｓ＿ＳｕｂＳｔｒｅａｍｓＥｘｔｅｎｄｅｄフラグのサポートは、ビデオ情報が、デインターレースされ、サブストリーム情報と合成され、宛先サーフェスに書き込まれる時に、システム１３００が、ソースビデオ情報およびサブストリーム情報に対してカラー調整を実行できることを示す。
【０１７６】
ＤＸＶＡ＿ＶｉｄｅｏＰｒｏｃｅｓｓ＿ＹＵＶ２ＲＧＢＥｘｔｅｎｄｅｄフラグのサポートは、イメージ情報のデインターレースされ合成されたピクセルが、ソースサーフェスおよび宛先サーフェスについて指定されたカラー情報を使用して宛先サーフェスに書き込まれる時に、システム１３００が、色空間変換オプション（例えば、ＹＵＶからＲＧＢ）を実行できることを示す。
【０１７７】
ＤＸＶＡ＿ＶｉｄｅｏＰｒｏｃｅｓｓ＿ＡｌｐｈａＢｌｅｎｄＥｘｔｅｎｄｅｄフラグのサポートは、イメージ情報のデインターレースされ合成されたピクセルが、宛先サーフェスに書き込まれる時に、システム１３００が、宛先サーフェスとのアルファブレンド動作を実行できることを示す。
【０１７８】
・  デインターレースステップ
ＶＭＲモジュール１３１６は、上で説明したＤｅｉｎｔｅｒｌａｃｅＢｌｔＥｘ機能性を使用して、グラフィックスモジュール１３２２によるデインターレースおよび合成の実行を調整する。具体的に言うと、このＤｅｉｎｔｅｒｌａｃｅＢｌｔＥｘ機能性は、技術的に複数の基本的動作（色空間変換、デインターレース、合成など）を伴う場合であっても、ディスプレイドライバ１３２０への単一の呼び出しとして実施することができる。ＤｅｉｎｔｅｒｌａｃｅＢｌｔＥｘ機能性は、その動作の出力を指定された宛先サーフェスに書き込む。
【０１７９】
具体的に言うと、ＶＭＲモジュール１３１６は、次のデータ構造体をディスプレイドライバ１３２０に転送して、ＤｅｉｎｔｅｒｌａｃｅＢｌｔＥｘ機能性を実施する。
【０１８０】
【表８】
0005394447.tif 000010
【０１８１】
この構造では、ｒｔＴａｒｇｅｔＦｒａｍｅパラメータが、入力フレームのシーケンス内の出力フレームの時間的位置を識別する。デインターレースだけが実行されている場合に、ターゲット時刻は、基準サンプルのｒｔＳｔａｒｔ時刻、または中点時刻（ｒｔＳｔａｒｔ＋ｒｔＥｎｄ）／２のうちの１つと一致しなければならない。フレームレート変換が要求されている場合に、ｒｔＴａｒｇｅｔＦｒａｍｅ時刻は、基準サンプルのｒｔＳｔａｒｔまたは中点時刻のいずれとも異なるものとすることができる。
【０１８２】
ｐｒｃＴａｒｇｅｔＲｅｃｔパラメータは、ＤｅｉｎｔｅｒｌａｃｅＢｌｔＥｘ動作が書き込む、宛先サーフェス内の位置を識別する。一実施形態で、出力は、この長方形内のピクセルに制限されなければならない。すなわち、どのような形でも、ｐｒｃＴａｒｇｅｔＲｅｃｔ内のすべてのピクセルが書き込まれなければならず、ｐｒｃＴａｒｇｅｔＲｅｃｔの外のピクセルが変更されてはならない。
【０１８３】
ＢａｃｋｇｒｏｕｎｄＣｏｌｏｒパラメータは、すべてのビデオストリームおよびサブストリームがその上で合成される背景の色を識別する。
【０１８４】
ＤｅｓｔｉｎａｔｉｏｎＦｏｒｍａｔパラメータには、宛先サーフェスに関する拡張カラー情報が含まれる。
【０１８５】
ＤｅｓｔｉｎａｔｉｏｎＦｌａｇｓパラメータには、ＤｅｉｎｔｅｒｌａｃｅＢｌｔＥｘへの前の呼び出しからの、宛先関連パラメータでの変更を示すフラグの集合が含まれる。これらのフラグは、背景色、拡張カラー情報、ターゲット長方形、またはプレーナアルファパラメータに対する変更を反映し、ドライバコードの最適化を助けるために提供される。
【０１８６】
宛先サーフェスは、ビデオメモリ（例えばローカルメモリ１３３０）に置かれたオフスクリーンプレーンサーフェスとすることができる。宛先サーフェスのピクセルフォーマットは、初期化ステップでＶＭＲモジュール１３１６に返されたデータ構造体のｄ３ｄＯｕｔｐｕｔＦｏｒｍａｔフィールドで示されるものとすることができる。１つの例示的な実施形態で、この構造体で指定される宛先サーフェスを、Ｙ関連色空間（例えば、ＹＵＶ）にあるものとすることができる。
【０１８７】
ｌｐＤＤＳｒｃＳｕｒｆａｃｅｓパラメータは、ＤＸＶＡ＿ＶｉｄｅｏＳａｍｐｌｅ２構造体の配列をポイントする。この構造体のＳａｍｐｌｅＦｏｒｍａｔフィールドは、サンプルが、デインターレース動作の基準であるか、デインターレースされたビデオフレームと組み合わされる必要があるビデオサブストリームサンプルであるかを示す。ビデオサブストリームサンプルは、そのサンプルフォーマットに関するＤＸＶＡ＿ＳａｍｐｌｅＳｕｂ−ｓｔｒｅａｍ値を有しなければならない。
【０１８８】
具体的に言うと、例示的なＶｉｄｅｏＳａｍｐｌｅ２構造体は、下で識別される。
【０１８９】
【表９】
0005394447.tif 000011
【０１９０】
サンプルがインターレースまたはプログレッシブのどちらであるかを示すことの他に、上で識別されたデータ構造体のＳａｍｐｌｅＦｏｒｍａｔフィールドは、ＣＩデータ構造体２０２を表すことができる場所を定義する。ＣＩデータ構造体２０２をＳａｍｐｌｅＦｏｒｍａｔフィールドに追加することは、ＶｉｄｅｏＳａｍｐｌｅ２データ構造体のサイズを増やさず、他の形でもＤｅｉｎｔｅｒｌａｃｅＢｌｔＥｘ機能性の再エンジニアリングを必要としない。したがって、ＣＩデータ構造体２０２をこのデータ構造体に「押し込む」ことは、グラフィックスモジュール１３２２を含むビデオパイプラインを介してカラー情報を伝える特に効率的な形を表す。
【０１９１】
基準ビデオサンプルについて、ｒｔＳｔａｒｔフィールドおよびｒｔＥｎｄフィールドは、サンプルの時間的な位置を示す。ビデオサブストリームサンプルについて、これらのフィールドは、０にクリアされる。
【０１９２】
ソース長方形および宛先長方形は、サブレクタングルデインターレースまたはサブレクタングルストレッチングに使用される。ビデオサブストリームのストレッチングが、ビデオストリームと独立であることと、ストレッチングのサポートが、一実施形態で必須であることに留意されたい。パレット化されたビデオサブストリームピクセルフォーマットに関して、ＤＸＶＡ＿ＶｉｄｅｏＳａｍｐｌｅ２構造体のＰＡＬフィールドに、サブストリームサンプルを合成する時に使用できる１６個のパレットエントリが含まれる。非パレット化ピクセルフォーマットについて、これらのパレットは、０にクリアされ、無視することができる。
【０１９３】
各入力サンプルに、前のサンプルからの現在のサンプルでの変更を示すフラグの集合が含まれる。これらのフラグは、各サンプルのパレット、カラー情報、ソース長方形、および宛先長方形に対する変更を反映し、ドライバコードの最適化を助けるために提供される。
【０１９４】
ＤｅｉｎｔｅｒｌａｃｅＢｌｔＥｘ構造体の説明を続けると、ｄｗＮｕｍＳｕｒｆａｃｅｓパラメータは、ｌｐＤＤＳｒｃＳｕｒｆａｃｅ配列の要素数を示す。ビデオ基準サンプルは、配列の先頭であり、これに、ビデオサブストリームがＺ順で続く。１つの例示的な実施形態では、ドライバに渡されるビデオサブストリームの数が、０から１５までの範囲になる可能性がある。最もしばしば、ＤｅｉｎｔｅｒｌａｃｅＢｌｔＥｘが呼び出される時に、ドライバに、０個または１個のビデオサブストリームが渡される。
【０１９５】
最後に、Ａｌｐｈａパラメータは、宛先サーフェスに書き込まれる時に、合成背景色、ビデオストリーム、およびサブストリームイメージに適用できるプレーナ透明度値を示す。
【０１９６】
プログレッシブビデオおよび複数のイメージサブストリームが受け取られた時に、ＶＭＲモジュール１３１６がＤｅｉｎｔｅｒｌａｃｅＢｌｔＥｘ機能性を呼び出すことができることに留意されたい。これは、例えば、ＶＭＲモジュール１３１６が、プログレッシブビデオとインターレース式ビデオの混合を含むＤＶＤ再生に使用される時に発生し得る。この場合に、ディスプレイドライバ１３２０は、ビデオストリームのデインターレースを試みず（すでにプログレッシブフォーマットなので）、ＶＭＲモジュール１３１６は、そのビデオストリームを所与のサブストリームと組み合わせ、望み通りにまたは必要に応じて各ストリームのサイズを変更するように構成することができる（複数の基準サンプルを必要とするデインターレースモードが、プログレッシブビデオと共に使用されている場合には、複数の基準サンプルが、ディスプレイドライバ１３２０に送られるが、各基準サンプルは、同一のプログレッシブビデオフレームを参照する）。
【０１９７】
ＤｅｉｎｔｅｒｌａｃｅＢｌｔＥｘ機能性の議論のしめくくりに、図１５および１６で、この機能性が、合成動作およびデインターレース動作を一緒に１つの動作に組み合わせる形を説明する。
【０１９８】
図１５は、１つの例示的で非制限的なシナリオによる、図１３のシステム１３００によって提供できるある動作の概要である。この図には、圧縮されたイメージ情報１５０２をイメージデコーダ１５０４に供給して、ＣＩ情報と共に非圧縮イメージ情報の現在のフレームを作ることができることが示されている。さらに、非圧縮イメージ情報１５０６の現在のフレームおよびＣＩ情報が、非圧縮イメージの１つまたは複数の前のサンプル（例えば、前の非圧縮イメージ１５１０および１５１２）と共に、デインターレース論理１５０８に送られる。図１５の論理１５０８は、デインターレース中のイメージ情報にイメージサブストリーム情報（例えば、サブストリーム情報１５１４、１５１６などから）を追加するようにも機能する。言い換えると、論理１５０８は、デインターレース動作をサブストリーム合成動作と効果的に組み合わせる。さらに、下で詳細に説明するように、論理１５０８は、この２つの機能を、複数のパスではなく単一のメモリ読み取り／書き込み動作で実行できるように、この２つの機能を実行する。すなわち、図１５のシステム１５００は、単一のストレージ（例えば、単一のメモリ読み取り／書き込みトランザクション）だけを必要とする（すなわち、１つの例示的な事例で、メモリからの単一の読み取りだけを必要とする）。
【０１９９】
上で説明した帯域幅効率は、イメージ情報（例えば、イメージ情報１５０６、１５１０および１５１２など）およびイメージサブストリーム情報（例えば、１５１４、１５１６など）を、ＧＰＵモジュール１３２２によって使用される異なるめいめいのテクスチャリングユニットに割り当てることによって達成することができる。最も一般的な応用例で、テクスチャリングユニットに、３次元レンダリング適用の過程で操作されるイメージサーフェスが割り当てられる。例えば、「テクスチャ」は、一般に、レンダリングされる３次元シーンの一部を形成するジオメトリプリミティブ（例えば、三角形）のサーフェスに「貼り付けられる」イメージを指す。これらの異なるテクスチャサーフェスが、異なるいわゆるテクスチャリングユニットに割り当てられる。図１５に示されたシステムは、イメージ情報（例えば、１５０６、１５１０および１５１２など）およびイメージサブストリーム情報（１５１４、１５１６など）をめいめいのテクスチャリングユニットに割り当て、したがって、デインターレース動作および合成動作の類似する効率的なパフォーマンスを達成する。具体的に言うと、ＧＰＵ論理は、本質的に、互い違いのシリアルな形ではなく、テクスチャリングユニットのコレクションのそれぞれから同時に情報を読み取り、処理する。これによって、実施するデバイスでのバス輻輳が減り、実施するデバイスが、イメージ情報および関連するイメージサブストリーム情報を最適のフレームレートで提示することがよりよく可能になる。
【０２００】
他の実施形態で、論理１５０８は、色空間変換など、他の動作を実行することができる。例えば、論理１５０８は、イメージ情報の１つまたは複数のストリームをルマ関連色空間（例えば、ＹＵＶ）からＲＧＢ関連色空間（例えば、線形ＲＧＢまたは非線形ＲＧＢ）に変換することができる。その代わりに、論理１５０８は、ある種類のルマ関連色空間から別の種類のルマ関連色空間へ、またはある種類のＲＧＢ関連色空間から別の種類のＲＧＢ関連色区間へなどの変換を行うことができる。１つの例示的なシナリオでは、論理１５０８を使用して、図４（上）に示された特徴の諸態様を実施することができ、ここで、イメージ情報が、ルマ関連色空間から線形ＲＧＢに変換され、その後、処理が、線形ＲＧＢ色空間内でイメージ情報に対して実行される（デインターレースと、その後のまたはそれと結合された、線形ＲＧＢ色空間での他の処理）。言い換えると、論理１５０８の出力サーフェスは、ＲＧＢ関連色空間（線形ＲＧＢなど）で表すことができる。
【０２０１】
もう１つのシナリオでは、論理１５０８の出力が、ルマ関連色空間（例えば、ＹＵＶ）内でイメージ情報を処理して、ＲＧＢ色空間ではなく、ルマ関連色空間の合成されデインターレースされたイメージ情報１５１８を作ることができる。論理１５０８または他のモジュール（図示せず）は、その後、ルマ関連カラー情報をＲＧＢ関連情報に変換することができ、次に、このＲＧＢ関連情報をディスプレイにレンダリングして、レンダリングされたイメージ情報１５２０を作ることができる。ルマ関連色空間からＲＧＢ関連色空間への変換を遅らせることは、潜在的な帯域幅節約を有する。例えば、一実施形態で、ルマ関連カラー情報を、１２ビットを使用して提示することができる。対照的に、一実施形態で、ＲＧＢ情報は、表現に３２ビットを必要とする。したがって、合成などのタスクをＲＧＢ情報ではなくルマ関連情報を使用して実行することによって、このトランザクションに関連するバストラフィックが削減される。
【０２０２】
論理１５０８は、イメージのサイズ変更など、他の種類の処理機能を実行することができる。それでも、論理１５０８は、上で説明した処理動作のそれぞれを実行する必要がない。例えば、イメージ情報が、既にプログレッシブフォーマットである場合に、論理１５０８は、単純にイメージ情報のサイズを変更することまたはイメージ情報に対する他の所望の動作（色空間変換など）を実行すること専用とすることができる。
【０２０３】
さらに、他の実施形態で、１つまたは複数の動作を、単一の動作ではなく、連続して、例えば別々の動作として、実行することができる。図１５の代替の論理１５０８’が、そのような実施形態を表す。例えば、ＤｅｉｎｔｅｒｌａｃｅＢｌｔ機能性を、この形でイメージ処理を実行するように適合させる。
【０２０４】
どの場合でも、ＣＩデータ構造体２０２に含まれるカラー情報は、特定の応用例に望まれる形でのイメージ情報の変換に必要な指示を提供する。具体的に言うと、論理１５０８は、イメージ情報の複数のストリームを処理する場合に、イメージ情報のストリームのそれぞれに関連するＣＩデータ構造体２０２を調べることができる。そのようなストリームごとのＣＩデータ構造体２０２を使用して、イメージ情報の異なるストリーム（異なるめいめいの色空間で表されている可能性がある）を、線形ＲＧＢ色空間などの共通の色空間に変換することができる。この特徴は、１つまたは複数の中間色空間で表された一時的なイメージ情報をストアする必要がなくなるか減るので、有益である。上で説明した技法では、論理１５０８が、入力イメージ情報を受け取り、変換し、メモリに書き込むことができ、例えば、これによって、情報が出力デバイスによって表示される（例えばパーソナルコンピュータによって提供されるデスクトップ）前に、追加の合成されたＹＵＶイメージ情報を提供する必要がなくなる。
【０２０５】
色空間関連指示を供給するためのＣＩ情報２０２の使用の強調は、例示にすぎない。ＣＩ情報２０２は、図１５に示された動作を決定するのに使用できる様々な他の情報を提供する。例えば、ＣＩ情報２０２は、対応するプログレッシブイメージを正しく補間するために、デインターレース動作で使用することもできる。
【０２０６】
図１６に、論理１５０８によって可能にされるジョイント処理機能性を達成するのに使用できる１つの例示的な技法を示す。すなわち、図１６で、単一の動作でデインターレースおよび合成を実行する１つの技法を説明する。
【０２０７】
図１６に、テクスチャリングユニットおよび関連するメモリの例示的な編成１６００を示す。これらの要素は、イメージサブストリーム情報内の主イメージ情報を同時に処理するのに使用される。メモリおよびテクスチャリングユニットは、図１３に示されたグラフィックスモジュール１３２２に関連するローカルメモリ１３３０および／または共有メモリ１３３４を使用して実施することができる。
【０２０８】
上で注記したように、インターリーブおよび合成のジョイント動作は、イメージ情報が、まだ、ＹＵＶ形式など、Ｙ関連色空間にある間に行うことができる。したがって、この例示的で非制限的なシナリオでは、ＶＭＲモジュール１３１６が、このＹ関連情報をストアするためにメモリの一部を割り当てる。第１ブロック１６０２を、Ｙ情報をストアするために割り当てることができ、第２ブロック１６０４を、第１クロマ成分（例えば、Ｕ情報）をストアするために割り当てることができ、第３ブロック１６０６を、第２クロマ成分（例えば、Ｖ情報）をストアするために割り当てることができる。２つのクロマ成分より多数のビットを、Ｙ情報に割り当てる。例えば、７２０×４８０ピクセルを含むイメージについて、７２０×４８０バイトのブロックを、Ｙ情報のストアに割り当て、３６０×２４０バイトのブロックを、第１クロマ成分のストアに割り当て、３６０×２４０バイトのブロックを、第２クロマ成分のストアに割り当てることができる。最後に、メモリのブロック１６０８を、サブストリーム情報（クローズキャプショニング情報、ＤＶＤサブイメージ表示情報、様々な種類のグラフィカルアイコンなど）のストアに割り当てることができる。
【０２０９】
図１６に示された例示的な編成１６００に、４つのテクスチャリングユニットだけが示されている（１６１０、１６１２、１６１４、および１６１６）。しかし、他の実施形態に、４つを超えるユニットが含まれる。テクスチャリングユニット１６１０は、メモリブロック１６０２に関連するイメージ入力サーフェス（例えば、Ｙ情報）の処理に割り当てられ、テクスチャリングユニット１６１２は、メモリブロック１６０４に関連するイメージ入力サーフェス（例えば、第１クロマ成分、例えば、Ｕ）の処理に割り当てられ、テクスチャリングユニット１６１４は、メモリブロック１６０６に関連するイメージ入力サーフェス（例えば、第２クロマ成分、例えば、Ｖ）の処理に割り当てられる。テクスチャリングユニット１６１６は、メモリブロック１６０８に関連するイメージ入力サーフェス（例えば、サブストリーム情報）の処理に割り当てられる。メモリブロック（Ｙ、クロマ１、クロマ２、およびサブストリーム情報）は、別々であるが、メモリ内で連続する必要はない。追加のメモリブロックおよびテクスチャリングユニットを設けて、追加のイメージ基準サンプルおよび／または追加のイメージサブストリームを処理することができる。例えば、２つの以前の基準ストリームを含むアプリケーションは、少なくとも９個のテクスチャリングユニット（例えば、現在のサンプルに３つのユニット、２つの基準サンプルに６つのユニット）を要求するはずである。
【０２１０】
最後に、図１６に、包括的に、図１５のＧＰＵ  １３２４に関連するＧＰＵ処理論理１６１８を示す。ＧＰＵ処理論理１６１８は、テクスチャリングユニットと相互作用する。ＧＰＵ処理論理１６１８は、デインターレース、フレームレート変換、および／または他のタスクを実行することができる。
【０２１１】
図１６の動作を説明するためのＹＵＶ関連情報の使用は、単なる例示である。線形ＲＧＢなど、ＲＧＢ関連空間内で処理動作を実行することによって（例えば、図４に示された形で）、類似する利益を得ることができる。
【０２１２】
Ｅ．例示的なコンピュータ環境
１つの例示的な実施形態で、前の図に示された処理の諸態様を、コンピューティング機器によって実行することができる。この場合に、図１７は、前の図面に示された処理の諸態様を実施するのに使用できる例示的なコンピュータ環境１７００に関する情報を提供する。
【０２１３】
コンピューティング環境１７００に、汎用タイプのコンピュータ１７０２およびディスプレイデバイス１７０４が含まれる。しかし、コンピューティング環境１７００に、他の種類のコンピューティング機器を含めることができる。例えば、図示されてはいないが、コンピューティング環境１７００に、ハンドヘルドデバイス、ラップトップデバイス、セットトップボックス、ゲーム機、ビデオ処理／プレゼンテーションデバイス（例えば、テレビジョン、ＤＶＲなど）に統合された処理機能性、メインフレームコンピュータなどを含めることができる。さらに、図１７に、議論を容易にするために一緒にグループ化されたコンピュータ環境１７００の要素が示されている。しかし、コンピューティング環境１７００は、分散処理構成を使用することができる。分散コンピューティング環境では、コンピューティングリソースを、環境全体に物理的に分散させることができる。
【０２１４】
例示的なコンピュータ１７０２に、１つまたは複数のプロセッサまたは処理ユニット１７０６、システムメモリ１７０８、およびバス１７１０が含まれる。バス１７１０は、様々なシステムコンポーネントを一緒に接続する。例えば、バス１７１０は、プロセッサ１７０６をシステムメモリ１７０８に接続する。バス１７１０は、様々なバスアーキテクチャのいずれかを使用する、メモリバスまたはメモリコントローラ、周辺バス、ａｃｃｅｌｅｒａｔｅｄ  ｇｒａｐｈｉｃｓ  ｐｏｒｔ、およびプロセッサバスまたはローカルバスを含む、すべての種類のバス構造またはバス構造の組合せを使用して実施することができる。
【０２１５】
コンピュータ１７０２に、それぞれを取外し可能または取り外し不能とすることができる、様々なタイプの揮発性媒体および不揮発性媒体を含む様々なコンピュータ可読媒体も含めることができる。例えば、システムメモリ１７０８に、ランダムアクセスメモリ（ＲＡＭ）１７１２などの揮発性メモリ、および読取専用メモリ（ＲＯＭ）１７１４などの不揮発性メモリの形のコンピュータ可読媒体が含まれる。ＲＯＭ  １７１４に、スタートアップ中などにコンピュータ１７０２内の要素の間での情報の転送を助ける基本ルーチンを含む入出力システム（ＢＩＯＳ）１７１６が含まれる。ＲＡＭ  １７１２に、通常は、処理ユニット１７０６によって素早くアクセスできる形のデータおよび／またはプログラムモジュールが含まれる。
【０２１６】
他の種類のコンピュータストレージ媒体に、取外し不能不揮発性磁気媒体から読み取り、これに書き込むハードディスクドライブ１７１８、取外し可能不揮発性磁気ディスク１７２２（例えば「フロッピー（登録商標）ディスク」）から読み取り、これに書き込む磁気ディスクドライブ１７２０、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、または他の光媒体などの取外し可能不揮発性光ディスク１７２６から読み取り、かつ／またはこれに書き込む光ディスクドライブ１７２４が含まれる。ハードディスクドライブ１７１８、磁気ディスクドライブ１７２０、および光ディスクドライブ１７２４は、それぞれ、１つまたは複数のデータ媒体インターフェース１７２８によってシステムバス１７１０に接続される。その代わりに、ハードディスクドライブ１７１８、磁気ディスクドライブ１７２０、および光ディスクドライブ１７２４を、ＳＣＳＩインターフェース（図示せず）または他の結合機構によってシステムバス１７１０に接続することができる。図示されていないが、コンピュータ１７０２に、磁気カセット、または他の磁気ストレージデバイス、フラッシュメモリカード、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）、または他の光ストレージ、電気的消去可能プログラマブル読取専用メモリ（ＥＥＰＲＯＭ）などの他のタイプのコンピュータ可読媒体を含めることができる。
【０２１７】
一般に、上で識別されたコンピュータ可読媒体は、コンピュータ１７０２による使用のために、コンピュータ可読命令、データ構造、プログラムモジュール、および他のデータの不揮発性ストレージを提供する。例えば、可読媒体に、オペレーティングシステム１７３０、アプリケーションモジュール１７３２、他のプログラムモジュール１７３４、およびプログラムデータ１７３６をストアすることができる。
【０２１８】
コンピュータ環境１７００に、様々な入力デバイスを含めることができる。例えば、コンピュータ環境１７００に、コンピュータ１７０２にコマンドおよび情報を入力する、キーボード１７３８およびポインティングデバイス１７４０（例えば、「マウス」）が含まれる。コンピュータ環境１７００に、マイクロホン、ジョイスティック、ゲームパッド、衛星パラボラアンテナ、シリアルポート、スキャナ、カード読み取りデバイス、デジタルカメラ、ビデオカメラなどの他の入力デバイス（図示せず）を含めることができる。入出力インターフェース１７４２が、入力デバイスを処理ユニット１７０６に結合する。より一般的には、入力デバイスを、パラレルポート、シリアルポート、ゲームポート、ＵＳＢ（ｕｎｉｖｅｒｓａｌ  ｓｅｒｉａｌ  ｂｕｓ）ポートなど、あらゆる種類のインターフェースおよびバス構造を介してコンピュータ１７０２に結合することができる。
【０２１９】
コンピュータ環境１７００に、ディスプレイデバイス１７０４も含まれる。ビデオアダプタ１７４４が、ディスプレイデバイス１７０４をバス１７１０に結合する。ディスプレイデバイス１７０４の他に、コンピュータ環境１７００に、スピーカ（図示せず）、プリンタ（図示せず）など、他の出力周辺デバイスを含めることができる。
【０２２０】
コンピュータ１７０２は、リモートコンピューティングデバイス１７４６などの１つまたは複数のリモートコンピュータへの論理接続を使用してネットワーク化された環境で動作する。リモートコンピューティングデバイス１７４６に、汎用パーソナルコンピュータ、ポータブルコンピュータ、サーバ、ゲーム機、ネットワーク拡張デバイスなどを含むすべての種類のコンピュータ機器を含めることができる。リモートコンピューティングデバイス１７４６に、上でコンピュータ１７０２に関して述べた特徴のすべてまたはそのサブセットを含めることができる。
【０２２１】
ＬＡＮ、ＷＡＮなど、任意のタイプのネットワーク１７４８を使用して、コンピュータ１７０２をリモートコンピューティングデバイス１７４６に結合することができる。コンピュータ１７０２は、ネットワークインターフェース１７５０を介してネットワーク１７４８に結合され、ネットワークインターフェース１７５０は、ブロードバンド接続性、モデム接続性、ＤＳＬ接続性、または他の接続戦略を使用することができる。図示されていないが、コンピューティング環境１７００は、リモートコンピューティングデバイス１７４６とコンピュータ１７０２を接続する無線通信機能性を提供することができる（例えば、変調されたラジオ信号、変調された赤外線信号などを介する）。
【０２２２】
最後に、複数の例を、この開示で代替案として提示した（例えば、事例Ａまたは事例Ｂ）。さらに、この開示は、すべての場合に組合せ事例に明示的に言及していない場合があるが、単一の実施形態で代替案を組み合わせた事例（例えば、事例Ａおよび事例Ｂ）を含む。
【０２２３】
さらに、本明細書で、複数の特徴を、これらの特徴が対処できる例示的な問題をまず識別することによって説明した。この説明の形は、本明細書で指定された形で他者がその問題を諒解し、かつ／または表現したことの容認を構成しない。ビデオコーディングの技術に存在する問題の諒解および表現は、本発明の一部として理解されなければならない。
【０２２４】
より一般的に、本発明を、構造的特徴および／または方法論的動作に固有のことばで説明したが、請求項で定義される本発明が、必ずしも説明された特定の特徴または動作に制限されないことを理解されたい。そうではなく、特定の特徴および動作は、請求される発明を実施する例示的形として開示されたものである。
【図１】
0005394447.tif 000012
【図２】
0005394447.tif 000013
【図３】
0005394447.tif 000014
【図４】
0005394447.tif 000015
【図５】
0005394447.tif 000016
【図６】
0005394447.tif 000017
【図７】
0005394447.tif 000018
【図８】
0005394447.tif 000019
【図９】
0005394447.tif 000020
【図１０】
0005394447.tif 000021
【図１１】
0005394447.tif 000022
【図１２】
0005394447.tif 000023
【図１３】
0005394447.tif 000024
【図１４】
0005394447.tif 000025
【図１５】
0005394447.tif 000026
【図１６】
0005394447.tif 000027
【図１７】
0005394447.tif 000028