JP5214144B2 - Strategies for processing image information using color information data structures - Google Patents

Strategies for processing image information using color information data structures Download PDF

Info

Publication number
JP5214144B2
JP5214144B2 JP2006522101A JP2006522101A JP5214144B2 JP 5214144 B2 JP5214144 B2 JP 5214144B2 JP 2006522101 A JP2006522101 A JP 2006522101A JP 2006522101 A JP2006522101 A JP 2006522101A JP 5214144 B2 JP5214144 B2 JP 5214144B2
Authority
JP
Japan
Prior art keywords
information
image information
color
data structure
video
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2006522101A
Other languages
Japanese (ja)
Other versions
JP2007515839A (en
Inventor
エフ.エバンス グレン
ジェイ.エストロプ スティーブン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US10/694,144 external-priority patent/US7139002B2/en
Priority claimed from US10/902,325 external-priority patent/US7643675B2/en
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2007515839A publication Critical patent/JP2007515839A/en
Application granted granted Critical
Publication of JP5214144B2 publication Critical patent/JP5214144B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Color Television Systems (AREA)
  • Processing Of Color Television Signals (AREA)
  • Image Processing (AREA)
  • Facsimile Image Signal Circuits (AREA)
  • Color Image Communication Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

本願は、Stephen J.Estropを唯一の発明者とする2003年8月1日出願の米国特許仮出願第60/492029号明細書、名称「Bandwidth-Efficient Processing of Video Images」の優先権を主張するものである。米国特許仮出願第60/492029号は、参照によりその全体が本明細書に組み込まれている。   This application is directed to Stephen J. et al. It claims the priority of US Provisional Application No. 60 / 49,920, filed August 1, 2003, entitled “Bandwidth-Efficient Processing of Video Images,” filed on August 1, 2003, with Estrop as the sole inventor. US Provisional Patent Application No. 60 / 49,029 is incorporated herein by reference in its entirety.

本願は、Stephen J.Estropを唯一の発明者とする2003年10月27日出願の米国特許仮出願第10/694144号明細書、名称「Bandwidth-Efficient Processing of Video Images」の一部継続出願でもある。米国特許仮出願第10/694144号は、参照によりその全体が本明細書に組み込まれている。   This application is directed to Stephen J. et al. This is also a continuation-in-part of US Provisional Application No. 10/694144, filed Oct. 27, 2003, entitled “Bandwidth-Efficient Processing of Video Images”, filed October 27, 2003, with Estrop as the sole inventor. US Provisional Application No. 10/694144 is incorporated herein by reference in its entirety.

最後に、本願は、Stephen J.Estropを唯一の発明者とする同時係属の2002年10月18日出願の米国特許仮出願第10/273505号明細書、名称「Methods and Apparatuses for Facilitating Processing of Interlaced Images for Progressive Video Displays」に関連する。米国特許仮出願第10/273505号は、参照によりその全体が本明細書に組み込まれている。   Finally, this application refers to Stephen J. et al. Related to US Provisional Patent Application No. 10/273505, filed Oct. 18, 2002, with the title “Methods and Apparatuses for Facilitating Processing of Interlaced Images for Progressive Video Displays,” with Estrop as the sole inventor. . US Provisional Application No. 10/273505 is hereby incorporated by reference in its entirety.

この主題は、イメージ情報の処理の戦略に関し、より具体的な実施形態では、イメージ情報のカラー内容が正しく複製されることを保証する改善された技法を使用するイメージ情報を処理する戦略に関する。   This subject matter relates to a strategy for processing image information, and in a more specific embodiment relates to a strategy for processing image information using improved techniques to ensure that the color content of the image information is correctly replicated.

人間の視覚は、非常に低いレベルの光に反応する桿体光受容細胞と、色に反応する錐体光受容細胞に頼る。錐体細胞は、一般に、可視電磁スペクトルの3つの部分すなわち、長波長(例えば、一般に赤に対応する)、中波長(例えば、一般に緑に対応する)、および短波長(例えば、一般に青に対応する)に反応する。したがって、すべての色を、少なくとも3つの異なる色成分の異なる組合せとして表すことができる。一般に、色自体は、スペクトルの可視部分での電磁放射の物理的態様ならびにそのような情報を処理するのに使用される視覚関連「機序」および大脳「機序」の両方からおこる複雑な現象である。例えば、人間の視覚は、光の色(クロマ)成分よりも光の強度に、より反応する。   Human vision relies on rod photoreceptor cells that respond to very low levels of light and cone photoreceptor cells that react on color. Cone cells generally have three parts of the visible electromagnetic spectrum: a long wavelength (eg, generally corresponding to red), a medium wavelength (eg, generally corresponding to green), and a short wavelength (eg, generally corresponding to blue). React). Thus, all colors can be represented as different combinations of at least three different color components. In general, color itself is a complex phenomenon that arises from both the physical aspects of electromagnetic radiation in the visible portion of the spectrum and the visual-related “mechanisms” and cerebral “mechanisms” used to process such information. It is. For example, human vision is more responsive to light intensity than light color (chroma) components.

カラーイメージを複製する電子装置は、3タイプの光源を提供することによって、人間の視覚の三色型色覚の性質を補足する。3タイプの光源は、人間の観察者に異なる色として知覚される異なるスペクトル応答を作る。例えば、陰極線管(CRT)は、赤、緑、および青の蛍光体を提供して、異なる色を作成する。他のテクノロジは、蛍光体を使用するのではなく、少なくとも3種類の光を発する光源を使用して、他の形で色を複製する。   Electronic devices that replicate color images supplement the nature of the three-color color vision of human vision by providing three types of light sources. The three types of light sources produce different spectral responses that are perceived as different colors by the human observer. For example, cathode ray tubes (CRTs) provide red, green, and blue phosphors to create different colors. Other technologies do not use phosphors, but use light sources that emit at least three types of light to replicate colors in other ways.

国際照明委員会(CIE)は、光のスペクトル特徴を異なる知覚される色に写像する包括的なシステムを示した。これに関して、用語「マッチング関数(matching function)」は、各波長の基準ランプの組に対する「平均的な」見る人の統計的に作表された応答曲線(通常は、短波長、中波長、および長波長に対する)を指す。赤、緑、および青について、この関数は、それぞれr(w)、g(w)、およびb(w)と表され、「w」は波長を表す。そのような基準ランプ(または原色)は、色内容を有するイメージ情報を複製する装置によって使用される光源(通常は、モニタ蛍光体)を定義する。用語「色空間」は、原色とマッチング関数の組によって定義される仕様を指す。   The International Commission on Illumination (CIE) has shown a comprehensive system for mapping the spectral characteristics of light into different perceived colors. In this regard, the term “matching function” refers to the “average” viewer's statistically tabulated response curve (usually short, medium, and For long wavelengths). For red, green, and blue, this function is denoted r (w), g (w), and b (w), respectively, and “w” represents wavelength. Such a reference lamp (or primary color) defines a light source (usually a monitor phosphor) used by a device that replicates image information having color content. The term “color space” refers to a specification defined by a set of primary colors and matching functions.

絶対的な表色は、数学的に、上で説明した形で、色度のタプルを異なる色に写像することができる。しかし、複数の特定のコーディングシステムが、カラーイメージ情報の伝送および提示など、実世界の応用例に適用できるより効率的なコーディング方式を保証するために開発された。産業界が最初に直面した実世界の応用例は、アナログテレビジョン信号の放送および提示であった。より最近の応用例に、TCP/IPネットワーク(例えばインターネット)などのネットワークを介するデジタルビデオ情報の伝送および提示が含まれる。さらに、産業界は、標準品位(SD)ビデオ情報に加えて、高品位(HD)ビデオ情報の伝送および提示に対処する。したがって、コーディングシステムの特徴は、しばしば、ある時に産業界が直面したある問題までさかのぼることができる。   The absolute color specification can mathematically map chromaticity tuples to different colors in the manner described above. However, several specific coding systems have been developed to ensure a more efficient coding scheme that can be applied to real-world applications, such as transmission and presentation of color image information. The first real-world application that the industry faced was broadcasting and presenting analog television signals. More recent applications include the transmission and presentation of digital video information over a network such as a TCP / IP network (eg, the Internet). In addition, the industry addresses the transmission and presentation of high definition (HD) video information in addition to standard definition (SD) video information. Thus, the features of coding systems can often be traced back to certain problems that the industry has faced at some time.

手法が何であれ、コーディングシステムは、カラー内容を有するイメージ情報を複製する際に生じる問題の共通の組に対処する。次の議論で、コーディングシステムがある形で対処する可能性が高い一般的な問題の概要を示す(用語法に関して、用語「イメージ情報」は、この開示で、ユーザに表示できるすべての情報を表すのに使用される。この用語は、静止画像情報および動画ビデオ情報の両方を含むように広義に使用される)。   Whatever the approach, the coding system addresses a common set of problems that arise when replicating image information with color content. The following discussion outlines common problems that are likely to address some form of coding system (in terms of terminology, the term “image information” refers to all information that can be displayed to the user in this disclosure. (This term is used broadly to include both still image information and animated video information).

・ 色空間と関連する考慮事項
色は、3つの成分を使用して指定することができる。離散色成分を使用するカラー内容の伝送に頼るイメージストリームを、コンポーネントビデオと呼ぶ。一般的なコーディング手法の1つでは、赤、緑、および青(RGB)成分を使用して色を指定する。より形式的には、RGB成分は、所与のスペクトルと知覚的に同等の色を作る基準ランプの比例する強度を記述する。例えば、R成分は、
• Considerations associated with color space Colors can be specified using three components. An image stream that relies on transmission of color content using discrete color components is called component video. One common coding technique uses red, green, and blue (RGB) components to specify colors. More formally, the RGB component describes the proportional intensity of a reference lamp that produces a color that is perceptually equivalent to a given spectrum. For example, the R component is

Figure 0005214144
Figure 0005214144

によって定義することができ、ここで、L(w)は、所与のスペクトルに対応し、r(w)は、色空間のマッチング関数r(w)に対応する。一般に、RGB色空間は、その原色および白色点に関連する色の値によって指定することができる。白色点は、基準白色に関連する色度を指す。 Where L (w) corresponds to a given spectrum and r (w) corresponds to the color space matching function r (w). In general, the RGB color space can be specified by color values associated with its primary color and white point. The white point refers to the chromaticity associated with the reference white.

コンピュータモニタは、一般に、RGBモデルを使用して、ユーザにカラー内容を提示する。しかし、RGBコーディングモデルは、イメージ情報の伝送に関する非効率的な選択肢である可能性がある。したがって、イメージ情報は、一般に、RGB以外のあるコーディングモデルを使用してターゲット装置に伝送される。受け取りの際に、イメージ情報を、例えば3×3アフィン行列を使用して、表示のためにRGB色空間に変換することができる。下の見出し「ガンマの考慮事項」で説明するように、各R、G、またはBの成分データを、R’、G’、およびB’値と称する、ガンマ補正前の形に関して表現することもできる(一般に、規約により、アクセント記号は、この開示では非線形情報を表す)。   Computer monitors typically use RGB models to present color content to the user. However, the RGB coding model can be an inefficient option for the transmission of image information. Thus, image information is typically transmitted to the target device using some coding model other than RGB. Upon receipt, the image information can be converted to RGB color space for display using, for example, a 3 × 3 affine matrix. As described in the heading “Gamma Considerations” below, each R, G, or B component data can also be expressed in terms of a pre-gamma correction form called R ′, G ′, and B ′ values. (In general, by convention, accent marks represent non-linear information in this disclosure).

これに関する一般的な方策は、輝度関連成分(Y)およびクロマ関連成分の参照によって色を定義することである。輝度は、一般的に、光の知覚される強度(明るさ)を指す。輝度を、ガンマ補正前の形(下の「ガンマの考慮事項」で説明する形)で表現して、「ルマ」(Y’)と称する非線形の対応物を作ることができる。クロマ成分は、ルマに関するイメージ情報の色内容を定義する。例えば、デジタル領域で、記号「Cb」は、差B’−Y’のnビット整数のスケーリングされた表現(通常は、8ビット値で−127...128の範囲から)に対応し、記号「Cr」は、差R’−Y’のnビット整数のスケーリングされた表現に対応する。記号「Pb」は、Cbのアナログ対応物を指し、記号「Pr」は、Crのアナログ対応物を指す。記号「Pb」および「Pr」は、公称範囲[−0.5...0.5]を有するCbまたはCrのデジタルな正規化された形を指すこともできる。CbCrおよびPbPrによって定義されるコンポーネントイメージ情報は、非線形情報を表す時に、形式的にアクセント記号をつけることができる(例えば、Cb’Cr’およびPb’Pr’)。   A general strategy in this regard is to define color by reference to luminance related components (Y) and chroma related components. Luminance generally refers to the perceived intensity (brightness) of light. Luminance can be expressed in the form before gamma correction (as described in “Gamma Considerations” below) to create a non-linear counterpart called “Luma” (Y ′). The chroma component defines the color content of image information about luma. For example, in the digital domain, the symbol “Cb” corresponds to an n-bit integer scaled representation of the difference B′−Y ′ (usually from the range of −127. “Cr” corresponds to a scaled representation of an n-bit integer of the difference R′−Y ′. The symbol “Pb” refers to the analog counterpart of Cb, and the symbol “Pr” refers to the analog counterpart of Cr. The symbols “Pb” and “Pr” have a nominal range [−0.5. . . 0.5] can also be referred to as the digital normalized form of Cb or Cr. Component image information defined by CbCr and PbPr can be formally accented (eg, Cb'Cr 'and Pb'Pr') when representing non-linear information.

カラー内容は、コンポジットビデオ(上で説明したコンポーネントビデオではなく)として通信することもできる。コンポジット信号では、ルマ情報とクロマ情報が1つの信号に組み合わされる。例えば、コーディングシステムY’UVで、Uは、B−Yのスケーリングされたバージョンを表し、Vは、R−Yのスケーリングされたバージョンを表す。このルマ成分およびクロマ成分が処理されて、単一の信号が提供される(例えば、NTSC(National Television System Committee)フォーマットまたはPAL(Phase Alternate Line)フォーマットで示される形で)。コーディングシステムY’IQでは、U成分およびV成分を指定された形で変換することによって形成される、もう1つのコンポジットコーディングシステムが定義される。一般に、産業界は、歴史的に、Y関連色空間(Y’CbCr、Y’PbPr、YUV、YIQなど)を奨励してきた。というのは、これらの色空間でカラーイメージ情報を減らすことが、RGB色空間で表現されたイメージ情報と比較してより簡単に実行できるからである。   Color content can also be communicated as composite video (rather than the component video described above). In the composite signal, luma information and chroma information are combined into one signal. For example, in the coding system Y'UV, U represents a scaled version of BY and V represents a scaled version of RY. The luma and chroma components are processed to provide a single signal (eg, in the form shown in NTSC (National Television System Committee) or PAL (Phase Alternate Line) format). Coding system Y'IQ defines another composite coding system formed by transforming the U and V components in a specified manner. In general, industry has historically encouraged Y-related color spaces (Y'CbCr, Y'PbPr, YUV, YIQ, etc.). This is because reducing the color image information in these color spaces can be performed more easily than the image information expressed in the RGB color space.

一般に、1つまたは複数の行列アフィン変換を使用することによって、カラー内容をある色空間から別の色空間に変換することが可能である。より形式的にいえば、条件等色の特性によって、マッチング関数の別の組に関して、色空間係数のある組を表すことが可能になる(「条件等色を示す色」は、色空間係数の同一の組に写像され、したがって知覚的に同一に見える、すなわち、同一の色のように見える2つのスペクトルを指す)。   In general, it is possible to convert color content from one color space to another by using one or more matrix affine transformations. More formally, the condition-like color characteristics allow a set of color space coefficients to be expressed for another set of matching functions ("conditional color-representing colors" Refers to two spectra that map to the same set and therefore appear perceptually identical, ie, appear to be the same color).

・ ガンマの考慮事項
陰極線管(CRT)は、線形の応答伝達関数を有しない。言い換えると、CRTに印加される電圧とCRTによって作られる結果の輝度の関係は、線形関数を定義しない。より具体的に言うと、CRTの予測された理論的応答は、5/2のべきに比例する応答を有する、すなわち、所与の入力電圧「V」について、CRTの結果の輝度「L」は、L=V2.5として計算される。
• Gamma considerations Cathode ray tubes (CRTs) do not have a linear response transfer function. In other words, the relationship between the voltage applied to the CRT and the resulting luminance produced by the CRT does not define a linear function. More specifically, the predicted theoretical response of a CRT has a response that is proportional to 5/2, ie, for a given input voltage “V”, the luminance “L” of the CRT result is , L = V 2.5 .

応用例では、イメージ情報のソース(ビデオカメラなど)が、一般に、イメージ情報に伝達関数を適用することによって、イメージ情報を事前に補償する。「伝達関数」は、おおむね、CRT輝度応答の逆関数である。ソースで印加されるこの伝達関数(一般に、エンコーディング伝達関数(encoding transfer function)と称する)が、「ガンマ補正された」非線形イメージ情報を作る。この非線形信号がディスプレイデバイスを通過する時に、線形輝度が作られる。上で説明した表記によれば、非線形(または事前に補償された)イメージ情報が、そのコンポーネントにアクセント記号をつけることによって、例えばY’Cb’Cr’によって表される。   In applications, a source of image information (such as a video camera) typically compensates for image information in advance by applying a transfer function to the image information. The “transfer function” is generally an inverse function of the CRT luminance response. This transfer function (commonly referred to as an encoding transfer function) applied at the source creates “gamma corrected” nonlinear image information. As this non-linear signal passes through the display device, a linear luminance is created. According to the notation described above, non-linear (or pre-compensated) image information is represented by, for example, Y'Cb'Cr 'by accenting its components.

イメージ情報を非線形の(補償された)形で伝送することが一般的である。受け取る装置のプレゼンテーションデバイス(例えば、CRT)は、それに固有の非線形性に起因して、エンコーディング伝達関数を補足して、消費に適当に変換されたカラー内容を提供する。   It is common to transmit image information in a non-linear (compensated) form. The receiving device's presentation device (eg, CRT) supplements the encoding transfer function due to its inherent non-linearity to provide color content appropriately converted to consumption.

エンコーディング伝達関数の指数を調整して、その下でイメージ情報が見られる可能性が高い条件を考慮に入れることが一般的である。例えば、普通のテレビジョンで表示されるビデオ情報は、通常は、家庭のセッティングで一般的な薄暗いビューイング環境で提示されるが、普通のコンピュータモニタに表示されるイメージ情報は、オフィスのセッティングで一般的な明るいビューイング環境で提示される。これらの異なるビューイング環境に、異なる伝達関数調整が適当である。この理由から、テレビジョンビデオソースでは、通常は、イメージ情報が薄暗いビューイング環境で提示されるという組込みの前提に基づく伝達関数が使用される。これは、ソースによって適用される伝達関数が、一般に、CRTの固有の非線形性を少なめに補償することを意味する。   It is common to adjust the exponent of the encoding transfer function to take into account the conditions under which image information is likely to be seen. For example, video information displayed on a normal television is usually presented in a dim viewing environment typical of home settings, whereas image information displayed on a normal computer monitor is displayed in an office setting. Presented in a typical bright viewing environment. Different transfer function adjustments are appropriate for these different viewing environments. For this reason, television video sources typically use transfer functions based on the built-in assumption that image information is presented in a dim viewing environment. This means that the transfer function applied by the source generally compensates less for the inherent non-linearity of the CRT.

もう1つの特殊な考慮事項として、伝達関数を使用するイメージ情報のエンコードは、一般に、その関数の低電圧部分に特殊な近似関数を適用する。すなわち、エンコーディング技法は、一般に、イメージングセンサのノイズの影響を減らすために、この部分に線形セグメントを提供する。このセグメントを、定義された「トウスロープ(toe slope)」を有する「リニアテール(linear tail)」と称する。   As another special consideration, encoding image information using a transfer function generally applies a special approximation function to the low voltage portion of the function. That is, encoding techniques generally provide a linear segment in this portion to reduce the effects of imaging sensor noise. This segment is referred to as a “linear tail” with a defined “toe slope”.

・ ルマ情報に関するクロマ情報のサンプリングおよびアライメント
上で注記したように、人間の視覚は、光の色成分よりも光の強度に反応する。コーディングシステムは、この事実を利用して、コーディングされるクロマ(Cb’Cr’)情報の量を、ルマ情報(Y’)の量に関して減らす。この技法を、クロマサブサンプリングと称する。一般にL:M:Nと表される数値表記を使用して、このサンプリング戦略を表すことができ、ここで、「L」は、ルマ成分(Y’)のサンプリング基準要因を表し、「M」および「N」は、ルマサンプリング(Y’)に関するクロマサンプリング(例えば、それぞれCbおよびCr)を指す。例えば、表記4:4:4は、ルマサンプルごとに1つのクロマサンプルがあるY’CbCrデータを表すことができる。表記4:2:2は、2つのルマサンプルごとに1つのクロマサンプルがある(水平方向で)Y’CbCrデータを表すことができる。表記4:2:0は、ルマサンプルの2×2クラスタごとに1つのクロマサンプルがあるY’CbCrデータを表すことができる。表記4:1:1は、4つのルマサンプルごとに1つのクロマサンプルがある(水平方向で)Y’CbCrデータを表すことができる。
• Chroma information sampling and alignment for luma information As noted above, human vision is more sensitive to light intensity than light color components. The coding system takes advantage of this fact to reduce the amount of chroma (Cb′Cr ′) information that is coded with respect to the amount of luma information (Y ′). This technique is called chroma subsampling. A numerical notation generally expressed as L: M: N can be used to represent this sampling strategy, where “L” represents the sampling reference factor for the luma component (Y ′) and “M” And “N” refer to chroma sampling (eg, Cb and Cr, respectively) for luma sampling (Y ′). For example, the notation 4: 4: 4 can represent Y′CbCr data with one chroma sample per luma sample. The notation 4: 2: 2 can represent Y′CbCr data (in the horizontal direction) with one chroma sample for every two luma samples. The notation 4: 2: 0 can represent Y′CbCr data with one chroma sample for every 2 × 2 cluster of luma samples. The notation 4: 1: 1 can represent Y′CbCr data with one chroma sample for every four luma samples (in the horizontal direction).

コーディング戦略がクロマ情報より多くのルマ情報を提供する状況では、デコーダが、供給されるクロマ情報に基づいて補間を実行することによって、「欠けている」クロマ情報を再構成することができる。より一般的にいえば、ダウンサンプリングは、イメージサンプルの最初のセットと比較してより少数のイメージサンプルを作るすべての技法を指す。アップサンプリングは、イメージサンプルの最初のセットと比較してより多数のイメージサンプルを作るすべての技法を指す。したがって、上で説明した補間は、あるタイプのアップサンプリングを定義する。   In situations where the coding strategy provides more luma information than chroma information, the decoder can reconstruct “missing” chroma information by performing interpolation based on the supplied chroma information. More generally speaking, downsampling refers to any technique that produces a smaller number of image samples compared to the first set of image samples. Upsampling refers to any technique that produces a larger number of image samples compared to the first set of image samples. Thus, the interpolation described above defines a type of upsampling.

コーディング戦略は、クロマサンプルを、対応するルマサンプルと空間的に「アライン」する形も指定する。コーディング戦略は、これに関して異なる。ある戦略は、クロマサンプルがルマサンプルの「上」に直接に位置決めされるようにルマサンプルにクロマサンプルをアラインする。これを、コサイティング(cositing)と称する。別の戦略では、ルマサンプルの2次元アレイ内の間隙の空間にクロマサンプルを位置決めする。図10〜12(下で順番に説明する)に、ルマ情報およびクロマ情報を提示する、異なるサンプリング戦略およびアライメント戦略を示す。   The coding strategy also specifies the form in which chroma samples are “aligned” spatially with the corresponding luma samples. The coding strategy is different in this regard. One strategy aligns the chroma sample to the luma sample so that the chroma sample is positioned directly “above” the luma sample. This is called “cositing”. In another strategy, the chroma sample is positioned in a gap space within the two-dimensional array of luma samples. Figures 10-12 (described in turn below) illustrate different sampling and alignment strategies that present luma and chroma information.

・ 量子化の考慮事項
量子化は、色成分の信号振幅に離散数値を割り当てる方法論を指す。デジタル領域では、数値が、指定されたステップ数の色空間値の指定された範囲(色域)にまたがる。例えば、各成分値を記述するのに255ステップを使用することが一般的であり、各成分が、0から255までの値をとることができる。8ビットを使用して各色値を表すことが一般的であるが、色を、より高い精度で(例えば、10ビットなど)ならびにより低い精度で表すこともできる。
Quantization considerations Quantization refers to a methodology for assigning discrete values to signal amplitudes of color components. In the digital domain, the numerical value spans the specified range (color gamut) of the color space value for the specified number of steps. For example, it is common to use 255 steps to describe each component value, and each component can take a value from 0 to 255. Although it is common to use 8 bits to represent each color value, colors can also be represented with higher accuracy (eg, 10 bits) as well as with lower accuracy.

コーディング戦略は、しばしば、それぞれバックレベルおよび白レベルを表すために、量子化レベルの範囲の両端の部分を割り当てる。すなわち、コーディング戦略は、しばしば、基準黒レベルおよび基準白レベルを定義するが、基準黒レベルおよび基準白レベルを超えてスイングする値を表すために、これらの基準レベルを超えるコーディングレベルも割り当てる。例えば、8ビットコーディング戦略で、レベル16を黒に、レベル235を白に割り当てることができる。16未満の残りのレベルが、いわゆる「トウルーム(toe room)」を定義し、235を超える残りのレベルが、いわゆる「ヘッドルーム(head room)」を定義する。   Coding strategies often assign portions at the ends of a range of quantization levels to represent the back level and white level, respectively. That is, coding strategies often define a reference black level and a reference white level, but also assign coding levels above these reference levels to represent values that swing beyond the reference black level and the reference white level. For example, an 8-bit coding strategy can assign level 16 to black and level 235 to white. The remaining levels below 16 define the so-called “toe room” and the remaining levels above 235 define the so-called “head room”.

・ インターレース表現対プログレッシブ表現の考慮事項
従来のテレビジョン信号は、インターレース式にスキャンされる。インターレースでは、ビデオフレームの最初のフィールドが、取り込まれ、その直後に、ビデオフレームの第2フィールドが続く(例えば、その1/50秒または1/60秒後に)。第2フィールドは、わずかな量だけ第1フィールドに対して垂直にオフセットしており、第2フィールドが、第1フィールドの走査線の間の隙間のスペースにある情報を取り込むようになっている。いわゆるボブインターレースが、インターリービング戦略の既知のタイプの1つである。完全なビデオフレームは、第1フィールドと第2フィールドを素早く連続して提示し、その結果、これらが人間の見る者に情報の単一のフレームとして知覚されるようにすることによって構成される。
• Considerations for interlaced versus progressive representation Traditional television signals are scanned in an interlaced manner. In interlacing, the first field of the video frame is captured and immediately followed by the second field of the video frame (eg, 1/50 second or 1/60 second later). The second field is offset perpendicular to the first field by a small amount so that the second field captures information in the gap space between the scan lines of the first field. So-called Bob interlace is one known type of interleaving strategy. A complete video frame is constructed by presenting the first and second fields in quick succession so that they are perceived by a human viewer as a single frame of information.

しかし、コンピュータモニタおよび他のプレゼンテーション機器は、インターリーブされた形ではなく、プログレッシブな形でイメージ情報を表示する。したがって、装置が、インターレース式情報をコンピュータモニタに提示するためには、反対のフィールドのデータを補間することによって、インターレース式フィールドレートでプログレッシブフレームを表示しなければならない(「デインターレース」と呼ばれる処理)。例えば、インターレース式フィールドを表示するためには、反対側のフィールドを調べることによって、走査線の間の空間的位置の「欠けている」データを補間しなければならない。ノンインターレース式イメージフォーマットを、「プログレッシブ」フォーマットと称する。   However, computer monitors and other presentation devices display image information in a progressive form, not in an interleaved form. Therefore, in order for a device to present interlaced information to a computer monitor, it must display progressive frames at an interlaced field rate by interpolating data from the opposite field (a process called “deinterlacing”). ). For example, to display an interlaced field, the “missing” data in the spatial position between the scan lines must be interpolated by examining the opposite field. A non-interlaced image format is referred to as a “progressive” format.

上の話題のそれぞれに関する追加情報が、非特許文献1に記載されている。   Additional information regarding each of the above topics is described in Non-Patent Document 1.

上で説明した複雑さを倍加させることに、産業界は、イメージ情報を表す多数の異なるフォーマット標準規格に適応する。標準規格が、国際電気通信連合(ITU)、欧州放送連合(EBU)(DVBまたはDigital Video Broadcastingを奨励する)、AES(Audio Engineering Society)、ATSC(Advanced Television Systems Committee, Inc.)、映画テレビ技術者協会(SMPTE)、SECAM(Sequential couleur avec mEmoire)、NTSC(National Television System Committee)などを含む複数の組織および委員会によって公布されてきた。   To double the complexity described above, the industry adapts to a number of different format standards that represent image information. Standards include International Telecommunication Union (ITU), European Broadcasting Union (EBU) (DVB or Digital Video Broadcasting Encouraging), AES (Audio Engineering Society), ATSC (Advanced Television System Systems Films) Has been promulgated by several organizations and committees, including the Association of Persons (SMPTE), SECAM (Sequential couleur ave mEmoire), NTSC (National Television System Committee), and the like.

これらの組織のそれぞれが、上で説明した可能なコーディングオプションの領域から、コーディング特徴の特定の組合せを切り取った。したがって、本発明人が諒解するところでは、標準規格は、一般に、原色;伝達関数;意図されたビューイング条件;伝達行列;トウルーム仕様およびヘッドルーム仕様;クロマサブサンプリング戦略およびアライメント戦略などの定義および適用に関して異なる。原色は(白色点基準と共に)、標準規格の基本的な色空間を定義する。伝達関数は、標準規格が、線形イメージ情報と非線形情報の間でどのように変換するかを決定する。意図されたビューイング条件は、イメージ情報が消費される可能性が高いビューイング環境に関して標準規格が行う仮定(テレビジョンが薄暗い照明の家庭セッティングで見られるという仮定など)を定義する。ビューイング条件は、イメージ情報の有効なガンマおよび明るさ(黒レベル)およびコントラスト(白レベル)を変化させる。伝達行列は、標準規格が、異なる色空間の間でどのように変換するか(例えば、Y’YbYr色空間からRGB色空間へ)を決定する。ヘッドルーム仕様およびトウルーム仕様は、標準規格が黒色と白色の範囲を表すのに割り当てる量子化レベルを決定する。クロマサブサンプリング戦略およびアライメント戦略は、クロマ情報がサブサンプリングされ、ルマ情報に関して位置決めされる形を指定する。   Each of these organizations cut specific combinations of coding features from the area of possible coding options described above. Thus, as the inventor understands, standards generally include definitions of primary colors; transfer functions; intended viewing conditions; transfer matrices; towroom and headroom specifications; chroma subsampling and alignment strategies, and so on. Different in application. The primary color (along with the white point criterion) defines the basic color space of the standard. The transfer function determines how the standard translates between linear image information and nonlinear information. The intended viewing conditions define the assumptions that the standard makes regarding viewing environments where image information is likely to be consumed (such as the assumption that the television is viewed in a dimly lit home setting). Viewing conditions change the effective gamma and brightness (black level) and contrast (white level) of the image information. The transfer matrix determines how the standard translates between different color spaces (eg, from Y'YbYr color space to RGB color space). The headroom and toeroom specifications determine the quantization level that the standard assigns to represent the black and white range. Chroma subsampling and alignment strategies specify the way in which chroma information is subsampled and positioned with respect to luma information.

既存の標準規格関連文書に、各標準規格の要件が精密に詳細に記載されている。代表的な標準規格に、下記が含まれる。
・ ITU−R勧告BT.470は、アナログモノクロームテレビジョン装置に関する仕様を提供する国際標準規格である。
・ ITU−R勧告BT.601は、イメージ情報のスタジオデジタルコーディングを定義する国際標準規格である。この標準規格では、イメージ情報のY’CbCrコーディングが使用される。
・ ITU−R勧告BT.709は、高品位ビデオ情報のスタジオコーディングを定義する国際標準規格である。高品位(HD)コンテンツは、標準品位(SD)より高いビデオコンテンツを表し、通常は、1920×1080、1280×720などである。
・ SMPTE 170Mは、コンポジットアナログビデオ情報(例えば、NTSC)のコーディングを定義する標準規格である。
・ SMPTE 240Mは、アナログ高品位ビデオ情報のコーディングを定義する標準規格である。
・ IEC 61966−2−1(sRGB)は、8ビット量子化方式を使用する255レベルへのイメージ情報のコーディングに関する標準規格である。
・ IEC 61966−2−2(scRGB)は、sRGBの線形形式を定義する標準規格であり、sRGBの色域を大きく拡張する。
・ ISO/IEC 13818(MPEG−2)は、圧縮形式でのオーディオ信号およびビデオ信号のコーディングに関する標準規格である。
・ ISO 10918−1(JPEG)は、静止画像情報のロッシイ圧縮に関する標準規格である。
The requirements for each standard are detailed and detailed in existing standards documents. Typical standards include the following:
ITU-R recommendation BT. 470 is an international standard that provides specifications for analog monochrome television devices.
ITU-R recommendation BT. Reference numeral 601 denotes an international standard that defines studio digital coding of image information. In this standard, Y′CbCr coding of image information is used.
ITU-R recommendation BT. 709 is an international standard that defines studio coding of high-definition video information. High definition (HD) content represents video content that is higher than standard definition (SD) and is typically 1920 × 1080, 1280 × 720, and the like.
SMPTE 170M is a standard that defines the coding of composite analog video information (eg NTSC).
SMPTE 240M is a standard that defines the coding of analog high definition video information.
IEC 61966-2-1 (sRGB) is a standard for coding image information to 255 levels using an 8-bit quantization scheme.
IEC 61966-2-2 (scRGB) is a standard that defines the linear format of sRGB and greatly expands the sRGB color gamut.
ISO / IEC 13818 (MPEG-2) is a standard for coding audio and video signals in a compressed format.
ISO 10918-1 (JPEG) is a standard for lossy compression of still image information.

現在使用されているコーディング標準規格の高い多様性は、イメージ情報のコーディング、伝送、および処理の複数の問題に寄与する。概要として、特定の装置に関連するビデオ処理パイプラインは、しばしば、定義されたフォーマッティングを有する特定のタイプの信号を処理するように設計され、この制限された役割において、これらの装置は、信頼できる形でそのようなイメージ情報を正しく処理することができる。しかし、現在使用されているイメージ情報のより広い世界という文脈では、これらの装置は、他の種類のイメージ情報のカラーフォーマッティングを解釈する機構およびパイプラインを介してこのフォーマッティング情報を信頼性のある形で伝搬させる機構を欠く可能性がある。より正確にいえば、ビデオパイプラインは、受け取られたイメージ情報に適用されたカラーフォーマッティングのある態様を定義する情報を受け取ることができるが、本発明人の諒解するところでは、これらのビデオパイプラインは、パイプラインを通ってパイプラインの下流コンポーネントにこのカラー情報を信頼できる形で伝搬させる適切な機構を欠く場合がある。その結果、そのようなフォーマッティング情報は、「失われる」か「捨てられる」。下流コンポーネントは、フォーマッティング情報を「推測」することによって、カラーフォーマッティングに関する情報の不足に対処することができる。コンポーネントが、不正に推測する時に、そのパイプラインは、準最適または不正な形でイメージ情報を処理する。   The high diversity of currently used coding standards contributes to multiple problems of coding, transmitting and processing image information. As an overview, video processing pipelines associated with specific devices are often designed to process specific types of signals with defined formatting, and in this limited role, these devices are reliable. Such image information can be processed correctly in the form. However, in the context of the wider world of image information that is currently in use, these devices can reliably format this formatting information through mechanisms and pipelines that interpret the color formatting of other types of image information. There is a possibility of lacking a mechanism to propagate in. More precisely, video pipelines can receive information defining certain aspects of color formatting applied to the received image information, but for the purpose of the inventor, these video pipelines May lack appropriate mechanisms to reliably propagate this color information through the pipeline to downstream components in the pipeline. As a result, such formatting information is “lost” or “discarded”. The downstream component can address the lack of information regarding color formatting by “guessing” the formatting information. When a component incorrectly guesses, the pipeline processes the image information in a suboptimal or incorrect way.

図1は、上の潜在的な問題をさらに説明するための媒体として提示されるものである。図1に、ビデオ処理パイプライン100の高水準表現を示す。パイプライン100に、入力ステージ102、処理ステージ104、および出力ステージ106によって定義される従来の処理ステージが含まれる。入力ステージ102で、入力ソース108が、イメージ情報の任意のソースを表す。ソース108に、一般に、新たに取り込まれたイメージ情報(例えば、カメラまたはスキャナによって作成された)、またはあるチャネルを介して入力ステージ102に提示される以前に取り込まれたイメージ情報(例えば、ディスクから、IPネットワークを介してなどで受け取られる)を含めることができる。前者の場合に、キャプチャ処理機能性110が、ソース108から受け取られるイメージ情報に対するすべての種類の予備処理を実行することができる。後者の場合に、デコーダ機能性112が、イメージデータを作るためのすべての種類のストリームベース情報抽出および圧縮解除を実行する。一般に、そのような処理に、受け取られた情報のイメージ情報をオーディオ情報から分離すること、情報を圧縮解除することなどを含めることができる。処理ステージ104に関して、処理機能性114が、イメージ情報の複数のストリームを一緒にコンポジット信号にミキシングすることなど、結果のイメージ情報に対するすべての種類の処理を実行する。出力ステージに関して、出力処理機能性116は、出力デバイス118への出力に備えた、処理されたイメージ情報に対して実行されるすべての種類の処理を表す。出力デバイス118は、テレビジョン、コンピュータモニタなどを表すことができる。出力デバイスは、ストレージデバイスも表すことができる。さらに、出力「デバイス」(または出力処理機能性116)は、デバイスへのストレージまたはネットワークを介する配布のために情報を準備する、圧縮およびフォーマッティングの機能性(マルチプレクサなど)を提供することができる。   FIG. 1 is presented as a medium to further illustrate the above potential problems. A high level representation of the video processing pipeline 100 is shown in FIG. Pipeline 100 includes a conventional processing stage defined by an input stage 102, a processing stage 104, and an output stage 106. At input stage 102, input source 108 represents any source of image information. The source 108 typically has either newly captured image information (eg, created by a camera or scanner) or previously captured image information (eg, from a disc) that is presented to the input stage 102 via a channel. Received via an IP network, etc.). In the former case, the capture processing functionality 110 can perform all kinds of preliminary processing on the image information received from the source 108. In the latter case, the decoder functionality 112 performs all types of stream-based information extraction and decompression to create image data. In general, such processing can include separating image information of received information from audio information, decompressing information, and the like. With respect to processing stage 104, processing functionality 114 performs all kinds of processing on the resulting image information, such as mixing multiple streams of image information together into a composite signal. With respect to the output stage, the output processing functionality 116 represents all types of processing performed on the processed image information in preparation for output to the output device 118. Output device 118 may represent a television, a computer monitor, or the like. The output device can also represent a storage device. Further, the output “device” (or output processing functionality 116) can provide compression and formatting functionality (such as a multiplexer) that prepares the information for storage to the device or distribution over the network.

図1の一番下の行に、既知のシステムの上で説明した欠陥を要約する。ブロック120は、パイプライン機能性(110、112、114、116)が、入力信号に印加されたカラーフォーマッティングを正確に解釈できず、かつ/またはパイプラインを介して下流コンポーネントにカラー情報を信頼できる形で伝搬できないことを示す。例えば、パイプライン100が、指定されたフォーマットを使用してコーディングされたイメージ情報を受け取る場合がある。受け取られた情報に、使用されたフォーマッティングの特徴を識別するフィールドが含まれる場合があり、あるいは、これらの特徴を、受け取られた情報の他のテルテールプロパティに基づいて演繹することができる。しかし、使用される多数の標準規格のゆえに、パイプライン100の最初のステージに、この情報を正しく解釈し、ビデオパイプライン100内の下流コンポーネントに渡す機能性が欠けている。その結果、このコーディング情報が、即座に失われる。これは、イメージ情報が、下流コンポーネントがこのイメージ情報(本質的に1と0だけである)をどのように解釈すべきかに関するガイドラインなしで下流パイプラインコンポーネントに渡される状況をもたらす可能性がある。   The bottom row of FIG. 1 summarizes the defects described above for known systems. Block 120 is that the pipeline functionality (110, 112, 114, 116) cannot accurately interpret the color formatting applied to the input signal and / or can trust the color information to downstream components through the pipeline. Indicates that it cannot propagate in the form. For example, pipeline 100 may receive image information coded using a specified format. The received information may include fields that identify the formatting features used, or these features can be deduced based on other telltale properties of the received information. However, due to the large number of standards used, the first stage of the pipeline 100 lacks the functionality to correctly interpret this information and pass it to downstream components in the video pipeline 100. As a result, this coding information is lost immediately. This can lead to situations where the image information is passed to the downstream pipeline component without guidelines on how the downstream component should interpret this image information (essentially only 1s and 0s).

ブロック122は、ビデオパイプライン100が上の問題を扱う形を表す。すなわち、イメージ情報内のカラー内容を解釈する方法に関するガイドランを有しない機能コンポーネントは、しばしば、それを解釈する方法を「推測」する。推測は、正確な場合とそうでない場合がある。例えば、ビデオパイプラインは、イメージ情報に適用された伝達関数(多分イメージサイズに基づいて)、イメージ情報に固有のライティング条件仮定、イメージ情報によって使用されるクロマサブサンプリング方式(データフォーマットに基づいて)などに関する仮定を不正確に行う可能性がある。   Block 122 represents how the video pipeline 100 handles the above problem. That is, functional components that do not have a guideline on how to interpret color content in image information often “guesses” how to interpret it. The guess may or may not be accurate. For example, the video pipeline may have a transfer function applied to the image information (possibly based on the image size), a lighting condition assumption specific to the image information, and a chroma subsampling scheme used by the image information (based on the data format). May make assumptions regarding

ブロック124は、不正な推測の潜在的な結果を表す。すなわち、不正な推測は、準最適表示品質または不正な表示品質をもたらす可能性がある。イメージプレゼンテーションが、「不自然な」色またはモーションアーチファクトを有するように見える可能性がある。あるいは、不当に「コントラストが強い」、歪んでいる、不正にクロッピングされて見えるなどの可能性がある。   Block 124 represents the potential consequences of incorrect guessing. That is, incorrect guesses can result in suboptimal display quality or incorrect display quality. An image presentation may appear to have “unnatural” colors or motion artifacts. Or it may be unduly “contrast strong”, distorted, or cropped incorrectly.

Charles Poyton's well-regarded Digital Video and HDTVCharles Poyton's well-regarded Digital Video and HDTV

したがって、カラー内容を有するイメージ情報を処理するより満足な技法の必要がある。   Thus, there is a need for a more satisfactory technique for processing image information having color content.

1つの例示的な実施形態によれば、指定されたフォーマットで表されたカラー内容を有するイメージ情報を処理する方法が説明される。この方法には、(a)前記指定されたフォーマットの少なくとも1つの態様を定義するカラー情報を含むカラー情報データ構造体を提供することと、(b)前記イメージ情報を処理するのに使用される少なくとも1つの機能コンポーネントに、前記イメージ情報と共に前記カラー情報データ構造体を渡すことと、(c)前記カラー情報データ構造体内の前記カラー情報に基づいて、前記少なくとも1つの機能コンポーネントで前記イメージ情報を処理することとを含むことを特徴とする方法が含まれる。   According to one exemplary embodiment, a method for processing image information having color content represented in a specified format is described. The method includes (a) providing a color information data structure that includes color information defining at least one aspect of the specified format, and (b) used to process the image information. Passing the color information data structure together with the image information to at least one functional component; and (c) based on the color information in the color information data structure, the image information in the at least one functional component. Including processing.

もう1つの例示的な特徴によれば、カラー情報データ構造に、(a)線形イメージ情報を非線形イメージ情報に変換し、かつ/またはその逆を行うのに使用される伝達関数に関する情報を伝えるビデオ伝達関数フィールドと、(b)前記イメージ情報に関連する原色を伝える原色フィールドと、(c)前記イメージ情報に関連する所期のビューイング条件を伝えるイメージライトフィールドと、(d)前記イメージ情報の前記色空間を変更するのに使用できる伝達行列フィールドと、(e)前記イメージ情報に関連する潜在的なトウルームおよびヘッドルームに関する情報を伝える公称範囲フィールドと、(f)前記イメージ情報内のクロマサンプルが関連するルマサンプルに関してサンプリングされ、アラインされる形を示すビデオクロマサンプリングフィールドとが含まれる。   According to another exemplary feature, a video that conveys information about a transfer function used to convert (a) linear image information to nonlinear image information and / or vice versa in a color information data structure. A transfer function field; (b) a primary color field conveying a primary color associated with the image information; (c) an image light field conveying an intended viewing condition associated with the image information; A transfer matrix field that can be used to change the color space; (e) a nominal range field that conveys information about potential towrooms and headrooms associated with the image information; and (f) chroma samples within the image information. Video chroma showing the sampled and aligned shape with respect to the associated luma sample Pump includes a ring field.

もう1つの例示的な特徴によれば、上述の少なくとも1つの機能コンポーネントは、ビデオ処理パイプラインを定義する機能コンポーネントの群に属し、前記カラー情報データ構造体は、下流機能コンポーネントによる使用のために前記ビデオ処理パイプラインを介して渡される。   According to another exemplary feature, the at least one functional component described above belongs to a group of functional components that define a video processing pipeline, and the color information data structure is for use by downstream functional components. Passed through the video processing pipeline.

もう1つの例示的な特徴によれば、上述の少なくとも1つの機能コンポーネントは、さらに、前記指定されたフォーマットの少なくとも1つの他の態様を判定し、前記少なくとも1つの他の態様を前記カラー情報データ構造内の少なくとも1つの未知のフィールドに追加する。   According to another exemplary feature, the at least one functional component further determines at least one other aspect of the specified format and determines the at least one other aspect as the color information data. Add to at least one unknown field in the structure.

もう1つの例示的な特徴によれば、前記カラー情報データ構造体の上述の渡しは、既存データ構造体の未使用フィールドで前記カラー情報データ構造体を渡すことを含む。   According to another exemplary feature, the above-described passing of the color information data structure includes passing the color information data structure in an unused field of the existing data structure.

もう1つの例示的な特徴によれば、この方法は、さらに、前記少なくとも1つの機能コンポーネントは前記カラー情報データ構造体を処理する能力を有することを示すフラグをセットすることを含む。   According to another exemplary feature, the method further includes setting a flag indicating that the at least one functional component has the ability to process the color information data structure.

(a)イメージ情報の主ビデオストリームを提供することと、(b)イメージ情報のビデオサブストリームを提供することと、(c) カラー情報データ構造体で指定されたカラー情報に基づいて、指定された色空間内で表される出力ビデオ情報を作るために、前記主ビデオストリームおよび前記ビデオサブストリームを用いる少なくとも2つのタスクを実行することとを含む、イメージ情報を処理するもう1つの例示的な方法を説明する。   (A) providing a main video stream of image information; (b) providing a video substream of image information; and (c) specified based on color information specified in a color information data structure. Another example of processing image information comprising performing at least two tasks using the main video stream and the video substream to produce output video information represented in a specific color space A method will be described.

(a)ルマ関連色空間の入力イメージ情報をRGB関連色空間内の線形イメージ情報に変換することと、(b)処理された情報を作るために、前記RGB関連色空間内の前記線形イメージ情報に対する処理を実行することと、(c)前記処理された情報をルマ関連色空間内の非線形イメージ情報に変換することとを含む、イメージ情報を処理するもう1つの例示的な方法を説明する。   (A) converting input image information in a luma-related color space into linear image information in an RGB-related color space; and (b) the linear image information in the RGB-related color space to produce processed information. And (c) converting the processed information into non-linear image information in a luma-related color space, another exemplary method for processing image information is described.

上述した方法のもう1つの例示的な特徴によれば、前記変換は、前記処理動作の前に、前記入力イメージ情報をインターレースフォーマットからプログレッシブフォーマットに変換することと、処理の後に、前記処理された情報をプログレッシブフォーマットからインターレースフォーマットに変換することとを含む。   According to another exemplary feature of the above-described method, the conversion is performed by converting the input image information from an interlace format to a progressive format before the processing operation, and after the processing, Converting information from a progressive format to an interlaced format.

追加の例示的実施形態を、次に説明する。
この開示および図面の全体を通じて、同一の符号が、同一の構成要素および特徴を参照するのに使用される。100番台の数は、最初に図1に現れる特徴を参照し、200番台の数は、最初に図2に現れる特徴を参照し、300番台の数は、最初に図3に現れる特徴を参照し、以下同様である。
Additional exemplary embodiments will now be described.
Throughout this disclosure and the drawings, the same reference numerals are used to refer to the same components and features. The numbers in the 100 series refer to the features that first appear in FIG. 1, the numbers in the 200 series refer to the features that appear first in FIG. 2, and the numbers in the 300 series refer to the features that appear first in FIG. The same applies hereinafter.

次に、カラー内容を有するイメージ情報の処理を改善する例示的な機構および手続きを説明する。幅広い概要として、この機構および手続きは、イメージ情報に適用されたカラーフォーマッティングに関する情報を取り込むデータ構造体を提供する。この情報を、「カラー情報」と呼び、データ構造体自体は、「カラー情報(CI)データ構造体」と呼ぶ。1つの例示的な事例で、カラー情報に、特に、イメージ情報に関連する次の情報を伝えるフィールドを含めることができる:伝達関数情報;原色情報;ビデオライティング情報;伝達行列情報;公称範囲情報;およびクロマサブサンプリング情報。フィールドのこのグループ化は、制限的ではなく例示的であることを意図されたものである。他の実施形態は、追加のフィールドを含めることができ、上で識別されたあるフィールドを省略することなどができる。   Next, exemplary mechanisms and procedures for improving the processing of image information having color content are described. As a broad overview, this mechanism and procedure provides a data structure that captures information about color formatting applied to image information. This information is called “color information”, and the data structure itself is called “color information (CI) data structure”. In one exemplary case, the color information may include fields that convey in particular the following information related to image information: transfer function information; primary color information; video writing information; transfer matrix information; nominal range information; And chroma subsampling information. This grouping of fields is intended to be illustrative rather than restrictive. Other embodiments may include additional fields, omit certain fields identified above, and so forth.

ビデオ処理パイプラインは、イメージ情報の処理を容易にする手助けとしてカラー情報を使用する。例えば、カラー情報は、パイプライン内の機能コンポーネントがイメージ情報を変換しなければならない形を指定することができる。さらに、既知のシステムと非常に対照的に、ビデオパイプラインに、パイプラインを介してCIデータ構造体を渡す機能性が含まれ、その結果、パイプライン内の下流コンポーネントが、CIデータ構造体から情報を引き出せるようになる。この備えによって、ビデオパイプラインが、イメージ情報の性質に関する誤った推測を行う可能性が減り、その結果、この備えが、表示されるイメージの品質を改善する潜在能力を有する。   Video processing pipelines use color information to help facilitate the processing of image information. For example, color information can specify the form in which functional components in the pipeline must convert the image information. In addition, in sharp contrast to known systems, the video pipeline includes functionality to pass a CI data structure through the pipeline so that downstream components in the pipeline can be passed from the CI data structure. Information can be extracted. This provision reduces the likelihood that the video pipeline will make false guesses about the nature of the image information, so that this provision has the potential to improve the quality of the displayed image.

もう1つの例示的な特徴によれば、パイプライン内のコンポーネントに、イメージ情報を独立に解釈する機能性を含めることができる。コンポーネントが、カラーフォーマッティングの以前には指定されなかったカラー関連の態様を信頼性のある形で判定できる場合に、そのコンポーネントは、CIデータ構造体にこの情報を追加することができる。この補足カラー情報が、ビデオパイプラインの下流コンポーネントから使用可能になり、この下流コンポーネントが、新しい情報を追加することによってCIデータ構造を補足することができる。したがって、カラー情報データ構造体は、パイプラインを通過し、イメージ情報に適用されるフォーマッティングの異なる特性を演繹できるパイプライン内のコンポーネントから情報を集める際に、より「知識を与える」ものになることができる。   According to another exemplary feature, components in the pipeline can include functionality to independently interpret image information. If a component can reliably determine color-related aspects that were not previously specified for color formatting, the component can add this information to the CI data structure. This supplemental color information is made available from downstream components in the video pipeline, which can supplement the CI data structure by adding new information. Therefore, the color information data structure becomes more “knowledge” when gathering information from components in the pipeline that can pass through the pipeline and deduct different formatting characteristics applied to the image information. Can do.

もう1つの例示的特徴によれば、カラー情報は、イメージ情報をコーディングするのに使用できる多数の可能なフォーマットに関する情報を伝える「レセプタクル」を提供することを意図されている。したがって、CIデータ構造体は、ビデオパイプラインがあらゆる種類のイメージ情報を受け入れることを可能にし、CIデータ構造体によって伝えられるカラー情報を解釈することによってそれを正しく処理できるようにする、ある種の汎用インターフェースとみなすことができる。   According to another exemplary feature, the color information is intended to provide a “receptacle” that conveys information about a number of possible formats that can be used to code image information. Thus, the CI data structure allows certain types of image information to be accepted by the video pipeline and allows it to be processed correctly by interpreting the color information conveyed by the CI data structure. It can be regarded as a general-purpose interface.

もう1つの例示的特徴によれば、CIデータ構造体は、特定の効率的な方式を使用して、異なるフォーマット標準規格に関する非常に様々な情報を少数のビットの情報にパックすることができる。1つの例示的な事例で、このデータ構造体は、非常に様々なカラー情報を少数のワード(例えば、16ビット構造体、24ビット構造体など)にパックする。   According to another exemplary feature, the CI data structure can pack a wide variety of information regarding different format standards into a small number of bits of information using a particular efficient scheme. In one exemplary case, this data structure packs a great variety of color information into a small number of words (eg, 16-bit structure, 24-bit structure, etc.).

もう1つの例示的特徴によれば、システムは、ビデオパイプラインで使用される1つまたは複数の既存のデータ構造体で提供される未使用フィールドを使用することによって、CIデータ構造体を伝えることができる。これによって、そのような既存のデータ構造体を使用するシステムが、システムの高価で複雑な再ツーリングなしで、カラー情報を利用できるようになる。さらに、これらのシステムが、CIデータ構造体を処理するように構成されていないが、そのようなシステムに供給される入力情報にCIデータ構造体が存在する場合に、これらのシステムは、システムを「破壊」せずに、CIデータ構造体を安全に無視することができる。   According to another exemplary feature, the system communicates the CI data structure by using unused fields provided in one or more existing data structures used in the video pipeline. Can do. This allows systems that use such existing data structures to make use of color information without expensive and complex retooling of the system. In addition, if these systems are not configured to process CI data structures, but the CI data structures are present in the input information provided to such systems, these systems CI data structures can be safely ignored without "destruction".

もう1つの例示的な特徴によれば、ルマ関連色空間内のインターレース式イメージ情報(例えば、Y’Cb’Cr’)を、線形プログレッシブRGB色空間に変換することができる。その後、様々な処理(再スケーリングなど)を、線形/プログレッシブRGB色空間内でそのイメージ情報に対して実行することができる。その後、イメージ情報を、出力(例えば、テレビジョンでの表示)のために、ルマ関連色空間(例えば、Y’Pb’Pr’)に変換することができる。線形/プログレッシブRGB空間でのルマ関連情報の処理104は、上で要約した形での処理のために中間線形RGB色空間へのイメージ情報の変換104を行わない他の手法からはずれる。   According to another exemplary feature, interlaced image information (eg, Y'Cb'Cr ') in the luma-related color space can be converted to a linear progressive RGB color space. Various processing (such as rescaling) can then be performed on the image information in a linear / progressive RGB color space. The image information can then be converted to a luma-related color space (eg, Y'Pb'Pr ') for output (eg, display on a television). The luma related information processing 104 in the linear / progressive RGB space deviates from other approaches that do not perform the conversion 104 of the image information to the intermediate linear RGB color space for processing in the form summarized above.

他の特徴および付随する利益を、次の詳細な仕様書で詳細に説明する。   Other features and associated benefits are described in detail in the following detailed specification.

用語法に関して、用語「イメージ情報」は、なんらかの視覚的な形でユーザが消費できるすべての種類の情報を含むことが意図されている。イメージ情報は、アナログフォーマット、デジタルフォーマット、またはアナログフォーマットとデジタルフォーマットの組合せなど、すべてのフォーマットで表現された情報を表すことができる。イメージ情報は、静止画像情報(例えば、デジタル写真)および/または動く情報(例えば、ビデオ情報)を表すことができる。さらなる変形が、用語イメージ情報の使用によって企図されている。   With respect to terminology, the term “image information” is intended to include all kinds of information that can be consumed by the user in some visual form. The image information can represent information expressed in all formats, such as an analog format, a digital format, or a combination of an analog format and a digital format. The image information can represent still image information (eg, digital photos) and / or moving information (eg, video information). Further variations are contemplated by the use of the term image information.

用語「カラー情報」は、イメージ情報のカラー内容を記述するすべての情報を表す。例えば、イメージ情報が、指定されたフォーマットのカラー内容を表す場合に、そのカラー情報は、そのフォーマットに関する情報を伝えることができる。用語「カラー情報データ構造体(CIデータ構造体)」は、カラー情報がビデオパイプライン内でコーディングされ、伝えられる形を指す。   The term “color information” refers to all information describing the color content of image information. For example, when the image information represents the color content of a specified format, the color information can convey information regarding the format. The term “color information data structure (CI data structure)” refers to the way color information is coded and communicated within a video pipeline.

用語「ビデオパイプライン」は、イメージ情報を処理するすべての機能性を指す。パイプラインに、連続した形ですなわち次々にイメージ情報を操作する少なくとも2つの機能コンポーネントが含まれる。   The term “video pipeline” refers to all functionality that processes image information. The pipeline includes at least two functional components that manipulate the image information in a continuous manner, ie one after another.

この開示に、次のセクションが含まれる。セクションAでは、例示的なカラー情報データ構造体と、ビデオパイプライン内でそれが使用される形の概要を説明する。セクションBでは、セクションAのビデオパイプライン内で実行できる例示的な変換動作を説明する。セクションCでは、セクションAで定義されたカラー情報データ構造体の例示的な構成を説明する。セクションDでは、セクションA〜Cで示した原理を実施するビデオパイプラインの1特定の例示的な実施形態を説明する。セクションEでは、セクションA〜Dで説明した特徴の諸態様を実施する例示的なコンピュータ環境を説明する。   This disclosure includes the following sections: Section A outlines an exemplary color information data structure and the manner in which it is used in the video pipeline. Section B describes exemplary conversion operations that can be performed within the video pipeline of Section A. Section C describes an exemplary configuration of the color information data structure defined in Section A. Section D describes one particular exemplary embodiment of a video pipeline that implements the principles shown in Sections A-C. Section E describes an exemplary computing environment that implements aspects of the features described in Sections AD.

一般に、この主題の構造的態様に関して、本明細書に記載の機能のすべてを、ソフトウェア、ファームウェア(例えば、固定された論理回路)、手動処理、またはこれらの実施形態の組合せを使用して実施することができる。本明細書で使用される用語「モジュール」、「機能性」、および「論理」は、一般に、ソフトウェア、ファームウェア、またはソフトウェアとファームウェアの組合せを指す。ソフトウェア実施形態の場合に、用語モジュール、機能性、または論理は、1つまたは複数の処理デバイス(例えば、1つまたは複数のCPU)で実行される時に特定のタスクを実行するプログラムコードを表す。このプログラムコードは、1つまたは複数の固定されたおよび/または取外し可能のコンピュータ可読メモリデバイスにストアすることができる。   In general, for the structural aspects of this subject, all of the functions described herein are implemented using software, firmware (eg, fixed logic), manual processing, or a combination of these embodiments. be able to. The terms “module”, “functionality”, and “logic” as used herein generally refer to software, firmware, or a combination of software and firmware. In the case of a software embodiment, the term module, functionality, or logic represents program code that performs a particular task when executed on one or more processing devices (eg, one or more CPUs). The program code can be stored in one or more fixed and / or removable computer readable memory devices.

この主題の手続き態様に関して、ある動作を、ある順序で実行される、別個の構成ステップとして説明する。そのような実施形態は、例示的であり、非制限的である。本明細書に記載のあるステップを、一緒にグループ化し、単一の動作で実行することができ、またあるステップを、この開示で示される例で使用される順序と異なる順序で実行することができる。   With respect to the procedural aspects of this subject matter, certain operations are described as separate configuration steps that are performed in a certain order. Such embodiments are exemplary and non-limiting. Certain steps described herein can be grouped together and performed in a single operation, and certain steps can be performed in an order different from that used in the examples presented in this disclosure. it can.

A.例示的なカラー情報(CI)データ構造体およびその適用の概要
図2に、カラー情報(CI)データ構造体202を使用するビデオ処理パイプライン200の例示的な概要を示す。CIデータ構造体202に、イメージ情報204内で色を表すのに使用されるフォーマッティングを記述する情報および/またはイメージ情報204が後にパイプライン200によってどのように処理されなければならないかを記述する情報が含まれる。CIデータ構造体202は、多数の異なるカラーコーディングフォーマットに関するカラー情報を受け取る均一な「レセプタクル」を提供する。CIデータ構造体202は、これによって、ある種類の汎用インターフェースを提供し、パイプライン200が異常のない形で成功裡に処理できるイメージ情報のタイプを拡張する。もう1つの有利な特徴によれば、このビデオパイプライン内のすべての機能コンポーネントが、CIデータ構造体202から引き出すことができ、潜在的に、これらのコンポーネントが演繹できるイメージ情報204に関する新しい情報によってCIデータ構造体202を補足することができる。
A. Exemplary Color Information (CI) Data Structure and Its Application Overview FIG. 2 shows an exemplary overview of a video processing pipeline 200 that uses a color information (CI) data structure 202. Information describing the formatting used to represent the colors in the image information 204 and / or how the image information 204 must be later processed by the pipeline 200 in the CI data structure 202. Is included. CI data structure 202 provides a uniform “receptacle” that receives color information for a number of different color coding formats. The CI data structure 202 thereby provides some kind of general purpose interface and extends the types of image information that the pipeline 200 can successfully process in an anomalous manner. According to another advantageous feature, all functional components in this video pipeline can be derived from the CI data structure 202, potentially with new information about the image information 204 that these components can be deduced. The CI data structure 202 can be supplemented.

ビデオパイプライン200自体に、入力ステージ206、処理ステージ208、および出力ステージ210を含む一連のステージが含まれる。入力ステージ206に関して、入力ソース212は、イメージ情報204のすべてのソースを表す。ソース212に、一般に、新たに取り込まれるイメージ情報(例えば、カメラまたはスキャナによって取り込まれる)または、例えば放送伝送を介して受け取られる(例えば衛星送信またはケーブル送信など)、あらゆる種類のネットワークを介して受け取られる(例えばインターネットなどのTCP/IPデジタルネットワークなど)、イメージ情報のローカルストレージを介して受け取られる(ビデオディスク、ローカルデータベースなど)など、なんらかのルートを介して入力ステージ206に提示される、前に取り込まれたイメージ情報を含めることができる。入力処理機能性214は、イメージ情報204に対するすべての種類の予備処理を実行するように構成され、この予備処理は、入力ソース212の性質に応じて異なる可能性がある(例えば、イメージ情報204が新たに取り込まれるか、事前に取り込まれた情報のソースから入力されるかに応じて。前に取り込まれた/ストアされた情報を入力する場合に、処理に、受け取られた信号内のイメージ情報のオーディオ情報からの分離、イメージ情報の圧縮解除などを含めることができる。処理ステージ208に関して、処理機能性216は、ビデオ情報の複数のストリームのコンポジット信号へのミキシング、取り込まれたイメージ情報204に対する色空間変換の実行など、取り込まれたイメージ情報204に対するすべての種類の処理を実行するように構成される。出力ステージ210に関して、出力処理機能性218は、出力デバイス220への出力に備えた、イメージ情報204のすべての処理を実行するように構成される。出力デバイスは、テレビジョン、コンピュータモニタ、ストレージデバイス(リモートとローカルの両方)、すべてのネットワークアクセス可能ターゲット位置などを表すことができる。機能コンポーネント(214、216、218)のそれぞれを、帰するタスクを実行する単一の装置または直列もしくは並列の形で一緒に結合される複数の装置として物理的に実施することができる。1つの事例で、パイプライン200内のコンポーネントを、動的に構成される論理モジュール(例えば、ソフトウェアモジュール)に対応するものとすることができる。   The video pipeline 200 itself includes a series of stages including an input stage 206, a processing stage 208, and an output stage 210. With respect to input stage 206, input source 212 represents all sources of image information 204. Source 212 generally receives newly captured image information (eg, captured by a camera or scanner) or received via any type of network, eg, received via broadcast transmission (eg, satellite transmission or cable transmission). Captured before being presented to the input stage 206 via some route, such as being received via a local storage of image information (such as a TCP / IP digital network such as the Internet), etc. (video disc, local database, etc.) Image information can be included. The input processing functionality 214 is configured to perform all types of preliminary processing on the image information 204, which may vary depending on the nature of the input source 212 (eg, the image information 204 is Depending on whether it is newly captured or input from a pre-captured source of information, when entering previously captured / stored information, the image information in the received signal is processed. Separation from audio information, decompression of image information, etc. With respect to processing stage 208, processing functionality 216 mixes video information into a composite signal of multiple streams, Perform all types of processing on captured image information 204, such as performing color space conversion With respect to the output stage 210, the output processing functionality 218 is configured to perform all processing of the image information 204 in preparation for output to the output device 220. The output device It can represent a television, a computer monitor, a storage device (both remote and local), all network accessible target locations, etc. Each of the functional components (214, 216, 218) can perform a single task to perform a task. It can be physically implemented as a single device or a plurality of devices coupled together in series or parallel.In one instance, components in pipeline 200 are dynamically configured logic modules ( For example, software modules) Kill.

機能コンポーネント(214、216、218)のそれぞれに、CIデータ構造体202を処理するように構成されためいめいの機能性(222、224、226)が含まれる。この機能性(222、224、226)に、CIデータ構造体202の情報を読み取る論理、CIデータ構造体202の情報を解釈する論理、およびCIデータ構造体202の解釈された情報をイメージ情報204の処理に適用する論理を含めることができる。機能性(222、224、226)に、イメージ情報204で使用されるカラーフォーマッティングに関連する追加情報を演繹する論理と、この演繹された情報をCIデータ構造体202に供給して、CIデータ構造体202の前に未知であったフィールドを満たす論理も含めることができる。例えば、機能性(222、224、226)は、あるフォーマットが使用されていることを判定することができる。これに基づいて、機能性(222、224、226)は、標準規格があるコーディング特性を有することを(例えば、所定のルックアップテーブルにアクセスすることによって)演繹することができる。次に、機能性(222、224、226)は、この演繹された特性に関する情報を、CIデータ構造体202の、前に未知であったフィールドに書き込むことができる。具体的に言うと、一実施形態で、パイプライン200内のコンポーネントが、CIデータ構造体202の未知の値を、0などの指定された値に自動的にセットすることができる。この動作は、CIデータ構造体の初期化を構成する。後続コンポーネントは、0がセットされた値によって、CIデータ構造体内のある値の未知という性質について警告される。次に、これらのコンポーネントは、欠けている値を供給できる場合に、そうすることができる。矢印228は、一般に、機能性(222、224、226)が、CIデータ構造体202から情報を引き出せることを示す。矢印230は、一般に、機能性(222、224、226)が、CIデータ構造体202に追加できることを示す。図2に、機能コンポーネント214が、CIデータ構造体202と相互作用することが具体的に示されている。しかし、上で述べたように、この同一のCIデータ構造体202が、ビデオパイプライン200を介して渡され、その結果、他の機能コンポーネント(214、216、218)のどれもが、示された形でCIデータ構造体202と相互作用することができる。   Each of the functional components (214, 216, 218) includes a respective functionality (222, 224, 226) that is configured to process the CI data structure 202. This functionality (222, 224, 226) includes the logic for reading information in the CI data structure 202, the logic for interpreting the information in the CI data structure 202, and the interpreted information in the CI data structure 202 as image information 204. Can include logic that applies to the process. Logic (222, 224, 226) is deduced to provide additional information related to color formatting used in the image information 204, and the deduced information is provided to the CI data structure 202 to provide the CI data structure Logic that fills an unknown field before the field 202 can also be included. For example, the functionality (222, 224, 226) can determine that a certain format is being used. Based on this, the functionality (222, 224, 226) can be deduced that the standard has certain coding characteristics (eg, by accessing a predetermined look-up table). The functionality (222, 224, 226) can then write information about this deduced property into a previously unknown field of the CI data structure 202. Specifically, in one embodiment, a component in pipeline 200 can automatically set an unknown value in CI data structure 202 to a specified value, such as zero. This operation constitutes initialization of the CI data structure. Subsequent components are alerted to the unknown nature of certain values in the CI data structure by a value set to zero. These components can then do so if they can supply the missing value. Arrow 228 generally indicates that functionality (222, 224, 226) can pull information from CI data structure 202. Arrow 230 generally indicates that functionality (222, 224, 226) can be added to CI data structure 202. FIG. 2 specifically illustrates that the functional component 214 interacts with the CI data structure 202. However, as mentioned above, this same CI data structure 202 is passed through the video pipeline 200 so that none of the other functional components (214, 216, 218) are shown. Can interact with the CI data structure 202 in any way.

異なる機能コンポーネント(214、216、218)が、使用される処理ステージ(206、208、210)、特定のアプリケーションの詳細、処理されるカラーフォーマットなどの多数の要因に応じて、異なる形でCIデータ構造体202を処理することができる。   Different functional components (214, 216, 218) have different CI data depending on a number of factors such as the processing stage used (206, 208, 210), the details of the particular application, the color format being processed, etc. The structure 202 can be processed.

例えば、ソース212および入力処理機能性214に関連する機能性222は、受け取られたイメージ情報104で使用されるフォーマッティング標準規格に関する情報を判定し、パイプライン200の下流コンポーネントによる使用のためにその情報をCIデータ構造体202に供給する、助けになる役割を実行することができる。一般的な規則として、新しい取り込みの場合に、取り込みデバイスは、通常、それが作るイメージ情報に適用されるフォーマッティングを暗黙のうちに「知っている」。その一方で、他のソースによって取り込まれたイメージ情報を受け取るデバイスは、受け取られたイメージ情報に関連するフォーマット関連情報を調べることによって、または論理的で信頼できる推測を行うことによって、イメージ情報に適用されたカラーフォーマッティングを判定できる場合がある。具体的な例を続ける。例えば、アナログ取り込みデバイスは、一般に、それに関してデータが取り込まれるビデオ標準規格および色空間を知っている。もう1つの例として、DVDナビゲータは、それがNTSC内容を有するDVDを解析しているという事実によって、それが扱っているイメージ情報204の色空間を知っている。もう1つの例として、MPEG−2エレメンタリビデオストリームを受け取る取り込みデバイスは、MPEG−2がそのシーケンス表示拡張ヘッダ内でカラー情報を明示的にリストするので、使用されているフォーマッティングのある特性を演繹することができ;例えば、このヘッダは、イメージ情報204に関連する原色、伝達関数、および伝達行列を示す。もう1つの例として、高品位(HD)デジタルチューナは、それが709色空間内のHDデータをストリーミングしていることを知っていなければならない、などである。これらの事例のすべてにおいて、機能性222は、パイプライン200の下流機能コンポーネントによる使用のために、使用されているカラーフォーマッティングに関して「既に知っている」情報をCIデータ構造体202に供給することができる。既知のシステムでは、この情報が、すぐに捨てられ、したがって失われた。   For example, the functionality 222 associated with the source 212 and input processing functionality 214 determines information about the formatting standards used in the received image information 104 and that information for use by downstream components of the pipeline 200. To the CI data structure 202 can be performed. As a general rule, in the case of a new capture, the capture device usually “knows” implicitly the formatting applied to the image information it produces. On the other hand, devices that receive image information captured by other sources apply to the image information by examining format-related information related to the received image information or by making a logical and reliable guess. In some cases, the determined color formatting can be determined. Continue with specific examples. For example, analog capture devices generally know the video standard and color space into which data is captured. As another example, the DVD navigator knows the color space of the image information 204 it is dealing with by the fact that it is analyzing a DVD with NTSC content. As another example, a capture device that receives an MPEG-2 elementary video stream deducts the formatting characteristics being used, since MPEG-2 explicitly lists color information in its sequence display extension header. For example, this header indicates the primary color, transfer function, and transfer matrix associated with the image information 204. As another example, a high definition (HD) digital tuner must know that it is streaming HD data in the 709 color space, and so forth. In all of these cases, functionality 222 may provide CI data structure 202 with “already known” information about the color formatting being used for use by downstream functional components of pipeline 200. it can. In known systems, this information was quickly discarded and therefore lost.

パイプライン200内の色空間コンバータは、CIデータ構造体202を使用して、受け取られたイメージ情報204に対して正確な変換動作が実行されることを保証する。言い換えると、例えば、色空間コンバータは、CIデータ構造体202から収集された情報を使用して、それが適用する変換アルゴリズムを決定するか、そのアルゴリズムで使用されるセッティング/パラメータを決定することなどができる。   The color space converter in the pipeline 200 uses the CI data structure 202 to ensure that correct conversion operations are performed on the received image information 204. In other words, for example, the color space converter uses information collected from the CI data structure 202 to determine the conversion algorithm it applies to, or to determine the settings / parameters used in that algorithm, etc. Can do.

パイプライン200内のミキサは、異なるタイプのイメージ情報を一緒にミキシングする目的のために働き、そのような情報は、潜在的に、異なるカラーフォーマットを使用して表現される。例えば、あるアプリケーションが、デジタル写真を、重畳されたグラフィカル情報と組み合わせることなどを求める場合がある。パイプライン200は、CIデータ構造体202で供給される拡張されたフォーマッティング情報を使用して、組み合わされる情報のすべてが共通のフォーマット(例えば、共通の色空間)を有することを保証することができる。この動作は、情報がミキサによって受け取られる前に、例えば上流コンポーネント(パイプライン内でミキサに関して)によって実行することができる。   The mixers in pipeline 200 serve the purpose of mixing different types of image information together, and such information is potentially represented using different color formats. For example, an application may want to combine a digital photograph with superimposed graphical information. Pipeline 200 can use the extended formatting information provided in CI data structure 202 to ensure that all of the combined information has a common format (eg, a common color space). . This operation can be performed, for example, by an upstream component (with respect to the mixer in the pipeline) before the information is received by the mixer.

あるいは、この動作を、グラフィカル処理ハードウェアに割り当てることができる。グラフィカル処理ハードウェアに、例えばビデオ処理カードによって提供される(図13に関して下で説明する)、1つまたは複数のグラフィカル処理ユニット(GPU)を含めることができる。この場合に、組み合わされる情報に関連するCIデータ構造体202を、パイプラインを介してグラフィカル処理ハードウェアに渡すことができ、このグラフィカル処理ハードウェアは、そのCIデータ構造体202を使用して、イメージ情報を共通のフォーマットに変換することができ、その後、この情報を組み合わせることができる。この実施形態では、CIデータ構造体202によって提供される補足カラー情報によって、ビデオパイプライン内のドライバが、もはや、意図された色空間またはクロマ方式を推測する必要がなくなり、したがって、ドライバ(またはグラフィックス処理ハードウェア)が誤って推測し、悪い出力結果を作る可能性が減る。   Alternatively, this action can be assigned to graphical processing hardware. The graphical processing hardware can include one or more graphical processing units (GPUs) provided by, for example, a video processing card (described below with respect to FIG. 13). In this case, the CI data structure 202 associated with the combined information can be passed through the pipeline to the graphical processing hardware, which uses the CI data structure 202 to Image information can be converted to a common format, and this information can then be combined. In this embodiment, the supplemental color information provided by the CI data structure 202 eliminates the need for drivers in the video pipeline to infer the intended color space or chroma scheme, and thus the driver (or graphics). The processing hardware) guesses wrong and produces bad output results.

要約して、図2のブロックの一番下の行に、ビデオパイプライン200に適用されるCIデータ構造体202の使用の例示的な利益を要約する。ブロック232に、CIデータ構造体202が、パイプライン200を介して渡される均一な構造を有することを示す。ブロック234に、パイプライン200の各機能コンポーネント(214、216、218)が、CIデータ構造体202から情報を引き出すことができ、CIデータ構造体202の未知のフィールドの値を供給できることを示す。これは、既知のシステムと比較して、機能コンポーネント(214、216、218)が、イメージ情報204を処理するために実行する必要がある正当化されない推測の量を減らすかなくすことができることを意味する。ブロック236に、この戦略の最終的な結果が、カラー複製の改善された品質をもたらせることであることが示されている。すなわち、不正確な推測の一部を減らすことによって、ビデオパイプライン200が、イメージが低いコントラストを有する、不自然に見える色を有するイメージ、様々なひずみ(動きのアーチファクト、クリッピングなど)を有するイメージなど、様々な異常を有する出力情報を提供する可能性が低くなる。   In summary, the bottom row of the block of FIG. 2 summarizes exemplary benefits of using the CI data structure 202 applied to the video pipeline 200. Block 232 indicates that the CI data structure 202 has a uniform structure that is passed through the pipeline 200. Block 234 indicates that each functional component (214, 216, 218) of pipeline 200 can retrieve information from CI data structure 202 and supply values for unknown fields in CI data structure 202. This means that compared to known systems, the functional components (214, 216, 218) can reduce or eliminate the amount of unjustified guesses that need to be made to process the image information 204. To do. Block 236 shows that the final result of this strategy is to provide improved quality of color reproduction. That is, by reducing some of the inaccurate guesses, the video pipeline 200 has an image with low contrast, images with unnatural colors, images with various distortions (motion artifacts, clipping, etc.). The possibility of providing output information having various abnormalities is reduced.

もう1つの利益によれば、セクションD(下)でさらに詳細に説明するように、ビデオパイプライン200は、既存のデータ構造を使用してCIデータ構造体202を伝えることができる。例えば、CIデータ構造体202は、パイプライン200を介して情報を伝送するのに使用される既存のデータ構造の未使用フィールド(1つまたは複数)に「常駐」することができる。フラグを設けて、未使用フィールドにCIデータ構造体202が含まれるか否か(または、意味のない指定されない情報もしくは多分一連の0などのデフォルト情報が含まれるかどうか)を知らせることができる。この備えは、少なくとも2つの利益を有する。第1に、事前に存在するサイズの事前に存在するフィールドの使用は、新しいCIデータ構造体202の使用に対処するために既存の機能コンポーネント(214、216、218)を完全に再エンジニアリングする必要がないことを意味する。さらに、CIデータ構造体202を理解するか解釈する能力を有しない可能性があるこれらの機能コンポーネント(214、216、218)は、この情報を処理する必要がない。言い換えると、CIデータ構造体202を理解しないコンポーネントは、単純に、それによって影響されない。それと同時に、カラー情報が提供される控え目な性質は、これらのコンポーネントがパイプライン200に沿ってカラー情報を自動的に渡すことを可能にする。言い換えると、カラー情報は、既存のデータフィールド内に存在するので、通常は失われない。これによって、カラー情報を使用するように構成されている可能性がある下流コンポーネントが、そのようなCI未対応上流コンポーネントから、変更されていないカラー情報を受け取ることが可能になる。   According to another benefit, as described in more detail in Section D (below), the video pipeline 200 can communicate the CI data structure 202 using existing data structures. For example, CI data structure 202 can be “resident” in unused field (s) of an existing data structure used to transmit information through pipeline 200. A flag can be provided to inform whether or not the CI data structure 202 is included in an unused field (or whether it contains meaningless unspecified information or possibly a series of default information such as zero). This provision has at least two benefits. First, the use of pre-existing fields of pre-existing size requires a complete re-engineering of existing functional components (214, 216, 218) to address the use of the new CI data structure 202. Means no. Further, these functional components (214, 216, 218), which may not have the ability to understand or interpret the CI data structure 202, need not process this information. In other words, components that do not understand the CI data structure 202 are simply not affected by it. At the same time, the unobtrusive nature of providing color information allows these components to automatically pass color information along the pipeline 200. In other words, color information is usually not lost because it exists in an existing data field. This allows downstream components that may be configured to use color information to receive unchanged color information from such non-CI compliant upstream components.

上の議論では、イメージ情報204が、CIデータ構造体202内のカラー情報に基づいて、ディスプレイデバイスに即座に表示されると仮定した。しかし、CIデータ構造体202は、イメージ情報204に関連するカラー情報をパックする効率的な技法も提供し、したがって、イメージ情報204および関連するCIデータ構造体202をスペース効率のよい形でストアする(イメージ情報204に適用されたフォーマッティングに関する大量の情報を保持しながら)アーカイブ技法として使用することができる。   In the above discussion, it was assumed that the image information 204 is immediately displayed on the display device based on the color information in the CI data structure 202. However, the CI data structure 202 also provides an efficient technique for packing color information associated with the image information 204 and thus stores the image information 204 and the associated CI data structure 202 in a space efficient manner. It can be used as an archiving technique (while retaining a large amount of formatting information applied to the image information 204).

具体的に言うと、イメージ情報204と共にCI情報202を自動的にストアするように、コンポーネントを構成することができる。イメージ情報204が、後に取り出される時に、CI情報202を含むめいめいのフィールドを、アンパックし、パイプライン200に渡すことができ、したがって、下流コンポーネントの利益のために、イメージ情報204のカラー構造に関する大量の情報が保存される。   Specifically, the component can be configured to automatically store the CI information 202 along with the image information 204. When the image information 204 is later retrieved, the respective fields containing the CI information 202 can be unpacked and passed to the pipeline 200, and therefore, for the benefit of downstream components, a large amount of image information 204 color structure. Is saved.

さらに、上の議論では、パイプライン200内のコンポーネントが、パイプラインの下流コンポーネントだけの利益のために、欠けている色情報を供給できると仮定した。しかし、パイプライン内のコンポーネントは、後続のイメージ情報の処理で上流コンポーネントが使用するためにカラー情報を供給することができる。例えば、ビデオパイプラインが、未知のビデオソースからのムービーの処理および提示のタスクに適用されるケースを考慮されたい。パイプライン内の最初のコンポーネントの1つは、このビデオ情報に適用されたフォーマッティングのある特徴を判定できない場合があり、したがって、最初に、この情報を最適の形で処理することができない場合がある。しかし、パイプライン内の後のコンポーネントが、その後、未知のビデオソースによってビデオ情報に適用されたフォーマッティングを演繹することができる。これらの下流コンポーネントは、上流コンポーネントに、それが同一のソースから受け取る後続信号が指定されたフォーマッティングを有することを知らせるために上流コンポーネントと通信することができる。その後、上流コンポーネントは、よりエラーフリーの形でこのビデオ情報を処理することができる。   Furthermore, in the above discussion, it was assumed that the components in pipeline 200 could provide missing color information for the benefit of only the downstream components of the pipeline. However, components in the pipeline can provide color information for use by upstream components in subsequent processing of image information. For example, consider the case where a video pipeline is applied to the task of processing and presenting a movie from an unknown video source. One of the first components in the pipeline may not be able to determine certain features of the formatting applied to this video information, and therefore may not initially process this information in an optimal manner. . However, later components in the pipeline can then deduct formatting applied to the video information by an unknown video source. These downstream components can communicate with the upstream component to inform the upstream component that subsequent signals it receives from the same source have the specified formatting. The upstream component can then process this video information in a more error free manner.

さらに、用語「下流」は、必ずしも、システム内の動作の固定された順序を示さない。一般に、パイプラインを動的な形で作成して、異なる機能コンポーネントをつなぎ合わせることによってイメージ情報204に対する所望の動作を提供することができる。これに関して、カラー情報を、コンポーネントの間のネゴシエーションに使用されるメディアタイプデータ構造体で提供することができる。パイプラインが、まず「出力端」から作られる場合に、カラー情報は、コンポーネントが接続される時に「逆方向」に流れる。   Further, the term “downstream” does not necessarily indicate a fixed order of operation within the system. In general, pipelines can be created in a dynamic manner to provide desired behavior for image information 204 by stitching together different functional components. In this regard, color information can be provided in a media type data structure that is used for negotiation between components. When the pipeline is first created from the “output end”, the color information flows in the “reverse direction” when the components are connected.

図3に、図2のパイプライン200の動作を流れ図の形で示す。ステップ302に、まず、1つまたは複数のソース212からイメージ情報204を取り込む/入力することが含まれる。ステップ304に、パイプライン200の適当な機能コンポーネント(214、216、218)によって、CIデータ構造体202から収集されたカラー情報に従ってイメージ情報204を処理することが含まれる。ステップ306に、任意選択として、パイプライン200の適当な機能コンポーネント(214、216、218)によって演繹されたカラー情報を、ビデオパイプライン200の下流コンポーネントによる使用のためにCIデータ構造体202に供給することが含まれる。例えば、ステップ304および306は、この流れ図によって定義されるループの最初の反復で、入力ステージ206によって実行される処理に対応する。ステップ308で、ステップ304および306を、ビデオパイプライン200の次の機能コンポーネント(214、216、218)について繰り返さなければならないかどうかを判定する。図3の処理は、CIデータ構造体202に基づく出力デバイス(例えば、テレビジョン、コンピュータモニタ、アーカイブデバイス、ネットワーク宛先位置など)へのイメージ情報204の最終的な出力で終了する。   FIG. 3 illustrates the operation of the pipeline 200 of FIG. 2 in the form of a flowchart. Step 302 includes first capturing / inputting image information 204 from one or more sources 212. Step 304 includes processing the image information 204 according to the color information collected from the CI data structure 202 by the appropriate functional components (214, 216, 218) of the pipeline 200. At step 306, optionally, color information deduced by the appropriate functional components (214, 216, 218) of the pipeline 200 is provided to the CI data structure 202 for use by downstream components of the video pipeline 200. For example. For example, steps 304 and 306 correspond to the processing performed by input stage 206 in the first iteration of the loop defined by this flowchart. At step 308, it is determined whether steps 304 and 306 must be repeated for the next functional component (214, 216, 218) of video pipeline 200. The process of FIG. 3 ends with the final output of the image information 204 to an output device (eg, television, computer monitor, archive device, network destination location, etc.) based on the CI data structure 202.

B.例示的な変換動作
図4に、図2のビデオパイプライン200を使用してまたは別の種類のパイプラインのコンテキストで、イメージ情報204を変換する変換動作400を示す。したがって、図4では、ビデオパイプライン内のカラー情報202の使用がさらに展開されている。図4に示された他の特徴は、カラー情報202を使用しない場合であっても、ビデオ処理技術の進歩を示す。すなわち、概要として、図4に、ルマ関連色空間(例えば、Y’Cb’Cr’)で表されたイメージ情報の線形プログレッシブRGB空間への変換と、その後の線形プログレッシブRGBデータに対する処理の実行の技法が示されている。その後、この技法は、この情報をルマ関連空間(例えば、Y’Pb’Pr’)に変換して、出力デバイス(ルマ関連色空間のイメージ情報204を表示するテレビジョンデバイス、ストレージデバイスなど)に出力することができる。線形/プログレッシブRGB色空間でのルマ関連情報204の処理は、上で要約した形での処理のために中間線形RGB色空間へのイメージ情報204の変換を行わない他の手法からはずれる。線形RGB処理は、複数の理由から有利である。例えば、線形RGB処理では、非線形RGB色空間または非線形YUV色空間のイメージ情報の処理によって引き起こされる可能性がある明るさおよび色のシフトのアーチファクトが除去される。
B. Exemplary Conversion Operation FIG. 4 illustrates a conversion operation 400 that converts the image information 204 using the video pipeline 200 of FIG. 2 or in the context of another type of pipeline. Accordingly, in FIG. 4, the use of color information 202 in the video pipeline is further developed. Another feature shown in FIG. 4 represents an advance in video processing technology even when color information 202 is not used. That is, as an overview, FIG. 4 shows conversion of image information represented by a luma-related color space (for example, Y′Cb′Cr ′) to a linear progressive RGB space, and subsequent execution of processing for linear progressive RGB data. Techniques are shown. The technique then converts this information into luma related space (eg, Y'Pb'Pr ') for output devices (television devices, storage devices, etc. that display image information 204 of luma related color space). Can be output. The processing of luma related information 204 in a linear / progressive RGB color space deviates from other approaches that do not convert the image information 204 to an intermediate linear RGB color space for processing in the form summarized above. Linear RGB processing is advantageous for several reasons. For example, linear RGB processing removes brightness and color shift artifacts that can be caused by processing image information in a non-linear RGB or non-linear YUV color space.

図4の変換動作400に、上で述べた変換ステップを記述した例示的な一連のブロックが含まれる。具体的に言うと、この図のブロックの上の行は、処理のための、Y’Cb’Cr’イメージ情報の指定された色空間への変換を示す。ブロックの下の行は、処理されたデータのY’Pb’Prデータへの変換を示す(Y’Pb’Prは、Y’Cb’Cr’のアナログ対応物を定義することができる)。   The conversion operation 400 of FIG. 4 includes an exemplary series of blocks describing the conversion steps described above. Specifically, the top row of the block in this figure shows the conversion of Y'Cb'Cr 'image information to a designated color space for processing. The bottom row of the block shows the conversion of the processed data into Y'Pb'Pr data (Y'Pb'Pr can define the analog counterpart of Y'Cb'Cr ').

上の行に関して、ブロック402は、Y’Cb’Cr’4:2:0イメージ情報が受け取られ、Y’Cb’Cr’4:4:4イメージ情報にアップスケーリングされることを示す。4:2:0表記は、クロマ情報(Cb’Cr’)が、ルマ情報(Y’)に関してサブサンプリングされていることを示す。図4でブロック402の上に示された代表的サンプルは、異なるコーディング戦略が、異なるめいめいの形でルマサンプルに関してクロマサンプルを置くことができることを示す。アップサンプリング動作は、クロマ情報を補間して、ルマ情報と同一の量のクロマ情報を作る(例えば、入力イメージ情報の4:4:4:表現を提供する)。   With respect to the upper row, block 402 indicates that Y'Cb'Cr'4: 2: 0 image information is received and upscaled to Y'Cb'Cr'4: 4: 4 image information. The 4: 2: 0 notation indicates that the chroma information (Cb′Cr ′) is subsampled with respect to the luma information (Y ′). The representative sample shown above block 402 in FIG. 4 shows that different coding strategies can place chroma samples with respect to luma samples in different messengages. The upsampling operation interpolates chroma information to produce the same amount of chroma information as luma information (eg, provides a 4: 4: 4: representation of input image information).

ブロック404は、Y’Cb’Cr’4:4:4イメージ情報に行列変換を適用して、これを別の色空間、すなわちR’G’B’色空間に変換する。   Block 404 applies matrix transformation to the Y'Cb'Cr'4: 4: 4 image information to convert it to another color space, namely the R'G'B 'color space.

ブロック406は、伝達行列を適用することによって、非線形R’G’B’イメージ情報を線形形式に変換する。上で注記したように、R’G’B’イメージ情報に関連するアクセント記号(’)は、それが非線形形式であることを示し、アクセント記号がないこと(例えば、RGB)は、通常は、線形データを表す(参照される信号が非線形情報を表すことが普通に理解される場合にアクセント記号を除去することも一般的であることを除く)。図4のブロック406の上に示されたモデル伝達関数は、使用される関数の一般的な形状を示し、これは、CRT(図示せず)に固有の伝達関数の一般的な形状でもある。このモデル伝達関数は、その曲線のV=0部分の近くで線形テールを使用できることも示している。   Block 406 converts the non-linear R'G'B 'image information to a linear form by applying a transfer matrix. As noted above, the accent mark (') associated with R'G'B' image information indicates that it is in a non-linear form, and the absence of an accent mark (eg, RGB) is usually Represents linear data (except that it is also common to remove accent marks when it is commonly understood that the referenced signal represents non-linear information). The model transfer function shown above block 406 in FIG. 4 shows the general shape of the function used, which is also the general shape of the transfer function specific to the CRT (not shown). This model transfer function also shows that a linear tail can be used near the V = 0 portion of the curve.

ブロック408では、任意選択として、イメージ再スケーリング動作を正しく実行するために、インターレース形式からプログレッシブ形式に変換するために内容のデインターレースを実行する。   Block 408 optionally performs deinterlacing of the content to convert from interlaced format to progressive format in order to correctly perform the image rescaling operation.

ブロック410では、任意選択として、別の色空間で表すために、線形RGB情報の原色を変換する。この変換には、ビデオ処理パイプラインの下流コンポーネントで実行される処理にどのような原色が望まれる場合でも、その原色に対応するように原色を変更するためにRGB情報に行列変換を適用することを含めることができる。一例で、ブロック410に、イメージ情報をあるRGB関連色空間から別のRGB関連色空間(例えば、scRGB)に変換することを含めることができる。   In block 410, optionally, the primary colors of the linear RGB information are converted for representation in another color space. For this conversion, whatever primary color is desired for processing performed in the downstream components of the video processing pipeline, matrix conversion is applied to the RGB information to change the primary color to correspond to that primary color. Can be included. In one example, block 410 may include converting the image information from one RGB related color space to another RGB related color space (eg, scRGB).

ブロック412は、一般に、変換された色空間を有するイメージ情報のすべての種類の処理を表す。これは、例えば、線形プログレッシブRGB関連色空間のイメージ情報に対する処理の実行を構成することができる。   Block 412 generally represents all types of processing of image information having a transformed color space. This may constitute, for example, execution of processing on image information in a linear progressive RGB related color space.

図4の下の行は、一般に、上の行の上で説明した動作を逆転したものである。すなわち、ブロック412での処理の後に、ブロック414で、任意選択として、RGB色空間に戻すなど、イメージ情報を別の色空間に変換する。ブロック416で、インターレース形式でのストアまたは表示が必要な場合に、内容の動作再インターレースを適用する。ブロック418で、伝達関数を適用して、RGBイメージ情報をもう一度非線形形式(R’G’B’)に変換する。ブロック420で、R’G’B’イメージ情報の色空間を、そのルマ成分(Y’)をそのクロマ成分(Pb’Pr’)から分離するフォーマットに変更する。最後に、ブロック422で、任意選択として、Y’Pb’Pr’イメージ情報をサブサンプリングして、ルマサンプル(Y’)の量に対してクロマサンプル(Pb’Pr’)の量を減らす。すなわち、このブロック422は、Y’Pb’Pr’4:4:4イメージ情報(ルマサンプルごとにクロマサンプルがある)をY’Pb’Pr’4:2:0イメージ情報(ルマサンプルより少数のクロマサンプルがある)に変換することができる。   The lower row of FIG. 4 is generally the reverse of the operations described above. That is, after processing at block 412, image information is converted to another color space, such as optionally returning to RGB color space, at block 414. At block 416, a motion reinterlacing of the content is applied if an interlaced form of store or display is required. At block 418, a transfer function is applied to convert the RGB image information back to a non-linear form (R'G'B '). At block 420, the color space of the R'G'B 'image information is changed to a format that separates its luma component (Y') from its chroma component (Pb'Pr '). Finally, at block 422, the Y'Pb'Pr 'image information is optionally subsampled to reduce the amount of chroma samples (Pb'Pr') relative to the amount of luma samples (Y '). That is, this block 422 converts Y′Pb′Pr′4: 4: 4 image information (there is a chroma sample for each luma sample) to Y′Pb′Pr′4: 2: 0 image information (a smaller number than the luma sample). Chroma sample).

CIデータ構造体202は、処理ブロックのそれぞれがイメージ情報204を処理する形に関する指示を提供することによって、図4のコンテキストで役割を演じることができる。例えばパイプラインがルマ関連色空間からRGB関連色空間に変換する形などを指定するカラー情報を供給することができる。   The CI data structure 202 can play a role in the context of FIG. 4 by providing instructions on how each of the processing blocks processes the image information 204. For example, it is possible to supply color information that specifies the form in which the pipeline converts from the luma-related color space to the RGB-related color space.

C.カラー情報データ構造体の例示的な構成
図5に、図2で導入されたCIデータ構造体202の1つの例示的な実施形態を示す。CIデータ構造体202に、潜在的にイメージ情報204に適用できるコーディング標準規格の様々な態様を定義する複数のフィールドが含まれる。図5に示されたフィールドは、CIデータ構造体202にパックできる情報のタイプに関する制限ではなく、その代表である。他の実施形態では、図5に示されたあるフィールドを省略することができ、または図5に示されていない他のフィールドを追加することができる。
C. Exemplary Configuration of Color Information Data Structure FIG. 5 illustrates one exemplary embodiment of the CI data structure 202 introduced in FIG. CI data structure 202 includes a plurality of fields that define various aspects of coding standards that can potentially be applied to image information 204. The fields shown in FIG. 5 are representative rather than a limitation on the type of information that can be packed into the CI data structure 202. In other embodiments, certain fields shown in FIG. 5 can be omitted, or other fields not shown in FIG. 5 can be added.

このセクションでは、図5に示されたフィールドの全般的な概要を提供し、その後、CIデータ構造体202の1つの例示的な実施形態の詳細な説明を続ける。   This section provides a general overview of the fields shown in FIG. 5, followed by a detailed description of one exemplary embodiment of the CI data structure 202.

まず、最初のフィールド502は、伝達関数情報を定義する。この情報は、(非線形)R’G’B’イメージ情報204を(線形)RGB情報に(および/またはその逆に)どのように変換するかを定義するのに使用される。   First, the first field 502 defines transfer function information. This information is used to define how (non-linear) R'G'B 'image information 204 is converted to (linear) RGB information (and / or vice versa).

第2のフィールド504は、イメージ情報204のエンコードに使用される原色を定義する。例えば、このフィールド504は、RGBイメージ情報204に関連するRGB応答関数を指定することができる。   The second field 504 defines the primary color used for encoding the image information 204. For example, this field 504 can specify an RGB response function associated with the RGB image information 204.

第3のフィールド506は、イメージ情報204にどのビデオライティング仮定が適用されるかを定義する。例えば、このフィールド506は、イメージ情報204が、薄暗く照明された家庭環境(家庭内のテレビジョンでのプレゼンテーションについて意図される情報について通常はそうである)ではなく、明るいオフィス環境(コンピュータモニタでのプレゼンテーションについて意図される情報について通常はそうである)でのプレゼンテーションのためにコーディングされたかどうかを指定することができる。   The third field 506 defines which video lighting assumptions are applied to the image information 204. For example, this field 506 may indicate that the image information 204 is a bright office environment (on a computer monitor) rather than a dimly lit home environment (usually for information intended for a home television presentation). It can be specified whether it has been coded for presentation at (usually the information intended for the presentation).

第4のフィールド508は、イメージ情報204に適用可能な伝達行列を定義する。例えば、この行列は、Y’Cb’Cr’色空間とR’G’B’色空間の間で変換する方法などを定義することができる。   A fourth field 508 defines a transfer matrix applicable to the image information 204. For example, the matrix may define a method for converting between the Y'Cb'Cr 'color space and the R'G'B' color space.

第5のフィールド510は、イメージ情報204に関連する公称範囲情報を定義する。具体的に言うと、このフィールドは、イメージ情報204が、基準黒レベル未満の指定されたトウルームおよび/または基準白レベルを超える指定されたヘッドルームを提供するかどうかを定義する。   The fifth field 510 defines nominal range information associated with the image information 204. Specifically, this field defines whether the image information 204 provides a specified toe room below the reference black level and / or a specified headroom above the reference white level.

最後に、第6のフィールド512は、クロマ情報が、ルマ情報に関してどのようにサンプリングされ、位置付けられるかを定義するクロマサブサンプリング情報を定義する。   Finally, the sixth field 512 defines chroma subsampling information that defines how chroma information is sampled and positioned with respect to luma information.

異なるコーディング方式を使用して、図5に示された6つのフィールドを表すことができる。1つの例示的で非制限的な手法によれば、ビットのコレクションが、CIデータ構造体202を表すために割り当てられる。このビットのコレクションは、事前定義のフィールド(またはカラー情報を受け取るスロット)を有する指定されたデータ構造体に配置される。1つの例示的な事例で、CIデータ構造体202を表すために、16ビットを割り当てることができる。もう1つの例示的な事例で、CIデータ構造体202を表すために、24ビットを割り当てることができる。他の実施形態は、16ビット未満のサイズおよび24ビット超のサイズなどを含む、さらに異なるCIデータ構造体サイズを提供する。   Different coding schemes can be used to represent the six fields shown in FIG. According to one exemplary non-limiting approach, a collection of bits is allocated to represent the CI data structure 202. This collection of bits is placed in a designated data structure with predefined fields (or slots that receive color information). In one exemplary case, 16 bits can be allocated to represent the CI data structure 202. In another exemplary case, 24 bits can be allocated to represent the CI data structure 202. Other embodiments provide further different CI data structure sizes, including sizes less than 16 bits and sizes greater than 24 bits.

24ビットが使用される、例示的で非制限的な事例で、フィールド(502〜512)を、次のように編成することができる。第1の「enum」(値の整数列挙)VideoTransferFunctionを使用して、第1フィールド502を表すことができ、これに5ビットを割り当てることができ、したがって、24ビットのCIデータ構造体202のビット23〜19を占めることができる。第2のenum VideoPrimariesを使用して、第2フィールド504を表すことができ、これに5ビットを割り当てることができ、したがって、CIデータ構造体202のビット18〜14を占めることができる。第3のenum VideoLightingを使用して、第3フィールド506を表すことができ、これに4ビットを割り当てることができ、したがって、CIデータ構造体202のビット13〜10を占めることができる。第4のenum TransferMatrixを使用して、第4フィールド508を表すことができ、これに3ビットを割り当てることができ、したがって、CIデータ構造体202のビット9〜7を占めることができる。第5のenum NominalRangeを使用して、第5フィールド512を表すことができ、これに3ビットを割り当てることができ、したがって、CIデータ構造体202のビット6〜4を占めることができる。最後に、第6のenum VideoChromaSubsamplingを使用して、第6フィールド512を表すことができ、これに4ビットを割り当てることができ、したがって、CIデータ構造体202のビット3〜0を占めることができる。   In an exemplary, non-limiting case where 24 bits are used, the fields (502-512) can be organized as follows. The first “enum” (integer enumeration of values) VideoTransferFunction can be used to represent the first field 502, which can be assigned 5 bits, and thus the bits of the 24-bit CI data structure 202 23-19 can be occupied. A second enum VideoPrimaries can be used to represent the second field 504, which can be allocated 5 bits, and thus can occupy bits 18-14 of the CI data structure 202. A third enum VideoLighting can be used to represent the third field 506, which can be assigned 4 bits, and thus can occupy bits 13-10 of the CI data structure 202. A fourth enum TransferMatrix can be used to represent the fourth field 508, which can be assigned 3 bits, and can therefore occupy bits 9-7 of the CI data structure 202. The fifth enum NominalRange can be used to represent the fifth field 512, which can be assigned 3 bits, and thus occupy bits 6-4 of the CI data structure 202. Finally, a sixth enum VideoChromaSubsampling can be used to represent the sixth field 512, which can be assigned 4 bits, and thus can occupy bits 3-0 of the CI data structure 202. .

このセクションの残りの部分では、上で説明した6つのenumの1つの例示的な実施形態に関する追加の詳細を提供する。提供される詳細は、制限的ではなく例示であり、異なる構文を有する他のデータ構造を使用することができる。   The remainder of this section provides additional details regarding one exemplary embodiment of the six enums described above. The details provided are exemplary rather than limiting, and other data structures having different syntax can be used.

・ DXVA_VideoTransferFunction
DXVA_VideoTransferFunction enumは、(非線形)R’G’B’から(線形)RGBへの変換関数を示す。これは、おおむね、イメージデータのガンマ関数に対応する。一部の伝達関数は、8ビット整数量子化効果を考慮するための訂正を有する。1つの例示的な実施形態では、5ビットを使用してこのenumを表すことができる(例えば、24ビットのCIデータ構造体202のビット23〜19)。
・ DXVA_VideoTransferFunction
DXVA_VideoTransferFunction enum indicates a conversion function from (non-linear) R′G′B ′ to (linear) RGB. This generally corresponds to the gamma function of the image data. Some transfer functions have corrections to account for 8-bit integer quantization effects. In one exemplary embodiment, 5 bits may be used to represent this enum (eg, bits 23-19 of the 24-bit CI data structure 202).

DXVA_VideoTransferFunction enumの例示的な構文は、次のように指定される。   An exemplary syntax for the DXVA_VideoTransferFunction enum is specified as follows:

Figure 0005214144
Figure 0005214144

このenumの最初のメンバは、このフィールドが未知であることを示す。計算を進めるのに必要な場合に、このフィールドに事前定義の値をセットすることができる。   The first member of this enum indicates that this field is unknown. This field can be set to a predefined value when necessary to proceed with the calculation.

「10」の接尾辞によって表されるメンバは、ガンマ=1.0を有する線形RGBを識別する。   The member represented by the suffix “10” identifies a linear RGB with gamma = 1.0.

「18」、「20」、「22」、「28」の接尾辞によって表されるメンバは、例えば、L=0...1に関するL’=pow(L,1/gamma)など、真の1.8、2.0、2.2、および2.8のガンマを表す。標準規格BT470−2 SysMで、ガンマ2.2が使用される。   The members represented by the suffix “18”, “20”, “22”, “28” are, for example, L = 0. . . Represents true gammas of 1.8, 2.0, 2.2, and 2.8, such as L '= pow (L, 1 / gamma) for 1. In the standard BT470-2 SysM, gamma 2.2 is used.

「22_709」の接尾辞によって表されるメンバは、BT1361、BT709、SMPTE296M、SMPTE170M、BT470、SMPTE274Mなどによって定義されるフォーマットに適当な、低い範囲で線形の範囲を有するガンマ2.2曲線に関する。   The member represented by the suffix “22_709” relates to a gamma 2.2 curve having a low and linear range suitable for a format defined by BT1361, BT709, SMPTE296M, SMPTE170M, BT470, SMPTE274M, and the like.

接尾辞「22_204M」によって表されるメンバは、SMPTE240M、interim 274Mなどに適当な、低い範囲で線形の範囲を有するガンマ2.2曲線に関する。   The member represented by the suffix “22_204M” relates to a gamma 2.2 curve having a low and linear range suitable for SMPTE 240M, interim 274M, etc.

接尾辞「22_8bit_sRGB」によって表されるメンバは、正確な2.2ガンマ8ビット曲線に一致することができる、低い範囲で線形の範囲を有するガンマ2.4曲線に関する。   The member represented by the suffix “22_8bit_sRGB” relates to a gamma 2.4 curve with a low and linear range that can match an exact 2.2 gamma 8-bit curve.

図6に、DXVA_VideoTransferFunction enumに適当なさらなる例示的な詳細を示す。   FIG. 6 shows further exemplary details suitable for the DXVA_VideoTransferFunction enum.

・ DXVA_VideoPrimaries
DXVA_VideoPrimaries enumは、原色をリストし、この原色は、どのRGB基礎関数がイメージ情報204で使用されるかを識別する。1つの例示的な実施形態で、5ビットを使用して、このenumを表すことができる(例えば、24ビットのCIデータ構造体202のビット18〜14)。
・ DXVA_VideoPrimaries
The DXVA_VideoPrimaries enum lists the primary colors that identify which RGB basis functions are used in the image information 204. In one exemplary embodiment, 5 bits may be used to represent this enum (eg, bits 18-14 of the 24-bit CI data structure 202).

DXVA_VideoPrimaries enumの例示的な構文は、次のように指定される。   An exemplary syntax for the DXVA_VideoPrimaries enum is specified as follows:

Figure 0005214144
Figure 0005214144

このenumの最初のメンバは、このフィールドが未知であることを示す。計算を進めるのに必要な場合に、このフィールドに事前定義の値をセットすることができる(例えば、デフォルト値に、標準規格BT 709で指定される原色をセットすることができる)。   The first member of this enum indicates that this field is unknown. A pre-defined value can be set in this field if necessary to proceed with the calculation (eg, the default value can be set to the primary color specified in standard BT709).

接尾辞「BT709」を有するメンバは、BT709標準規格に関連する原色を定義する(これは、標準規格sRGB、scRGBなどにも適用可能である)。   Members with the suffix “BT709” define the primary colors associated with the BT709 standard (this is also applicable to the standards sRGB, scRGB, etc.).

接尾辞「BT470_2_SysM」を有するメンバは、オリジナルのNTSC原色を定義する。   Members with the suffix “BT470_2_SysM” define the original NTSC primaries.

「BT601」、「BT470_2_SysBG」、「SMPTE240M」、および「EBU3213」の接尾辞を有するメンバは、これらの標準規格に関連する様々なめいめいの原色を定義する。   Members with suffixes “BT601”, “BT470_2_SysBG”, “SMPTE240M”, and “EBU3213” define the various primary colors associated with these standards.

接尾辞「SMPTE170M」を有するメンバは、アナログNTSC原色を定義する(これは現在、あまり使用されていない)。   Members with the suffix “SMPTE170M” define the analog NTSC primaries (which are currently not used much).

接尾辞「SMPTE_C」を有するメンバは、アナログ’79 NTSC原色を定義する。   Members with the suffix “SMPTE_C” define the analog '79 NTSC primaries.

図7は、DXVA_VideoPrimaries enumに適当なさらなる例示的な詳細を提供する。   FIG. 7 provides further exemplary details suitable for the DXVA_VideoPrimaries enum.

・ DXVA_VideoLighting
DXVA_VideoLighting enumは、所期のビューイングライティング条件を記述する。この情報は、異なるライティング条件で匹敵する経験を生成するためにガンマを変更するのにも使用することができる。1つの例示的な実施形態で、4ビットを使用して、このenumを表すことができる(例えば、24ビットのCIデータ構造体202のビット13〜10)。
・ DXVA_VideoLighting
DXVA_VideoLighting enum describes the desired viewing lighting conditions. This information can also be used to change gamma to produce comparable experiences with different lighting conditions. In one exemplary embodiment, 4 bits can be used to represent this enum (eg, bits 13-10 of the 24-bit CI data structure 202).

DXVA_VideoLighting enumの例示的な構文は、次のように指定される。   An exemplary syntax for the DXVA_VideoLighting enum is specified as follows:

Figure 0005214144
Figure 0005214144

このenumの最初のメンバは、このフィールドが未知であることを示す。計算を進めるのに必要な場合に、このフィールドに事前定義の値をセットすることができる(例えば、デフォルト値を、薄暗いビューイング条件が意図されたことを前提とするようにセットすることができる。   The first member of this enum indicates that this field is unknown. This field can be set to a predefined value if necessary to proceed with the calculation (eg, the default value can be set assuming that a dim viewing condition is intended). .

接尾辞「bright」を有するメンバは、戸外のライティング条件に対応することができる。   Members with the suffix “bright” can correspond to outdoor lighting conditions.

接尾辞「office」を有するメンバは、ホームオフィス条件に関連する中程度の明るさのレベルに対応することができる。   Members with the suffix “office” can correspond to moderate brightness levels associated with home office conditions.

接尾辞「dim」を有するメンバは、薄暗く照明されたビューイング条件に関連する薄暗い明るさのレベルに対応することができる。   A member having the suffix “dim” can correspond to a dim brightness level associated with a dimly illuminated viewing condition.

接尾辞「dark」を有するメンバは、映画館のビューイング条件に関連する暗い明るさのレベルに対応することができる。   Members with the suffix “dark” can correspond to dark brightness levels associated with theater viewing conditions.

・ DXVA_VideoTransferMatrix
DXVA_VideoTransferMatrix enumは、イメージ情報204をY’Cb’Cr’色空間から(スタジオ)R’G’B’色空間に変換するのに使用される変換行列を記述する。1つの例示的な実施形態で、3ビットを使用して、このenumを表すことができる(例えば、24ビットのCIデータ構造体202のビット9〜7)。
・ DXVA_VideoTransferMatrix
The DXVA_VideoTransferMatrix enum describes a transformation matrix used to transform the image information 204 from the Y'Cb'Cr 'color space to the (studio) R'G'B' color space. In one exemplary embodiment, 3 bits can be used to represent this enum (eg, bits 9-7 of the 24-bit CI data structure 202).

DXVA_VideoTransferMatrix enumの例示的な構文は、次のように指定される。   An exemplary syntax for the DXVA_VideoTransferMatrix enum is specified as follows:

Figure 0005214144
Figure 0005214144

このenumの最初のメンバは、このフィールドが未知であることを示す。計算を進めるのに必要な場合に、このフィールドに事前定義の値をセットすることができる(例えば、デフォルト値に、標準品位イメージ情報204の標準規格BT601、および高品位イメージ情報204の標準規格BT709で使用される伝達行列をセットすることができる)。   The first member of this enum indicates that this field is unknown. A pre-defined value can be set in this field when necessary to proceed with the calculation (eg, the default value includes the standard BT601 of the standard definition image information 204 and the standard BT709 of the high definition image information 204). Can be used to set the transfer matrix used).

接尾辞「BT709」を有するメンバは、BT709標準規格で使用される伝達行列を定義する。   Members with the suffix “BT709” define the transfer matrix used in the BT709 standard.

接尾辞「BT601」を有するメンバは、BT601標準規格で使用される伝達行列を定義する。   Members with the suffix “BT601” define the transfer matrix used in the BT601 standard.

接尾辞「SMPTE204M」を有するメンバは、SMPTE204M標準規格で使用される伝達行列を定義する(これは、現在は一般的に使用されていない高品位標準規格である)。   Members with the suffix “SMPTE204M” define the transfer matrix used in the SMPTE204M standard (this is a high quality standard that is not currently commonly used).

図8および9は、DXVA_VideoTransferMatrix enumに適当なさらなる例示的な詳細を提供する。   8 and 9 provide further exemplary details suitable for the DXVA_VideoTransferMatrix enum.

・ DXVA_NominalRange
DXVA_NominalRange enumは、データにヘッドルーム(基準1.0白を超える値)およびトウルーム(基準0.0黒未満の「スーパーブラック」)が含まれるかどうかを記述する。例えば、イメージ情報204の正しい解釈を保証するために、広い色域R’G’B’(黒点16、16、16、白点235、235、235)と通常のsRGBを区別することが有用である。1つの例示的な実施形態で、3ビットを使用して、このenumを表すことができる(例えば、24ビットのCIデータ構造体202のビット6〜4)。
・ DXVA_NominalRange
The DXVA_NominalRange enum describes whether the data includes headroom (value above the standard 1.0 white) and toe room ("super black" below the standard 0.0 black). For example, in order to ensure correct interpretation of the image information 204, it is useful to distinguish between a wide color gamut R′G′B ′ (black dots 16, 16, 16, white dots 235, 235, 235) and normal sRGB. is there. In one exemplary embodiment, 3 bits may be used to represent this enum (eg, bits 6-4 of the 24-bit CI data structure 202).

DXVA_NominalRange enumの例示的な構文は、次のように指定される。   An exemplary syntax for the DXVA_NominalRange enum is specified as follows:

Figure 0005214144
Figure 0005214144

このenumの最初のメンバは、このフィールドが未知であることを示す。計算を進めるのに必要な場合に、このフィールドに事前定義の値をセットすることができる。   The first member of this enum indicates that this field is unknown. This field can be set to a predefined value when necessary to proceed with the calculation.

接尾辞「Normal」を有するメンバは、0...255(8ビット)または0...1023(10ビット)のイメージ情報204に写像される正規化されたクロマ[0...1]を定義する。   Members with the suffix “Normal” . . 255 (8 bits) or 0. . . 1023 (10 bits) of normalized chroma [0. . . 1] is defined.

接尾辞「Wide」を有するメンバは、16...235(8ビット)または64...940(10ビット)に写像される正規化されたクロマ[0...1]を定義する。   Members with the suffix “Wide” . . 235 (8 bits) or 64. . . Normalized chroma mapped to 940 (10 bits) [0. . . 1] is defined.

・ DXVA_VideoChromaSubsampling
DXVA_VideoChromaSubsampling enumは、Y’Cb’Cr’データに適用されるクロマエンコーディング方式を記述する。「コサイト」変動は、クロマサンプルがルマサンプルとアラインされることを示す。4:2:0データは、通常、1つまたは複数の方向でルマデータにアラインされたクロマを有する。4:4:4、4:2:2、および4:1:1データは、両方の方向でコサイトされている。1つの例示的な実施形態で、3ビットを使用して、このenumを表すことができる(例えば、24ビットのCIデータ構造体202のビット3〜0)。
・ DXVA_VideoChromaSubsampling
DXVA_VideoChromaSubsampling enum describes a chroma encoding scheme applied to Y′Cb′Cr ′ data. A “cosite” variation indicates that the chroma sample is aligned with the luma sample. 4: 2: 0 data typically has chromas aligned to luma data in one or more directions. 4: 4: 4, 4: 2: 2, and 4: 1: 1 data are co-sited in both directions. In one exemplary embodiment, 3 bits can be used to represent this enum (eg, bits 3-0 of the 24-bit CI data structure 202).

DXVA_VideoChromaSubsampling enumの例示的な構文は、次のように指定される。   An exemplary syntax for the DXVA_VideoChromaSubsampling enum is specified as follows:

Figure 0005214144
Figure 0005214144

このenumの最初のメンバは、このフィールドが未知であることを示す。計算を進めるのに必要な場合に、このフィールドに事前定義の値をセットすることができる。   The first member of this enum indicates that this field is unknown. This field can be set to a predefined value when necessary to proceed with the calculation.

接尾辞「ProgressiveChroma」を有するメンバは、一時的にプログレッシブ内容と解釈されるクロマサンプルを定義する(例えば、2つの時間的にオフセットしたフィールドからではなく、同一のフレームから)。   Members with the suffix “Progressive Chroma” define chroma samples that are temporarily interpreted as progressive content (eg, from the same frame, not from two temporally offset fields).

接尾辞「Horizontally_Cosited」を有するメンバは、複数のルマサンプルに対して水平にアラインされるクロマサンプルを定義する。   A member with the suffix “Horizontally_Cosited” defines a chroma sample that is horizontally aligned to a plurality of luma samples.

接尾辞「Vertically_Cosited」を有するメンバは、複数のルマサンプルに対して垂直にアラインされるクロマサンプルを定義する。   A member with the suffix “Vertically_Costed” defines a chroma sample that is vertically aligned to a plurality of luma samples.

接尾辞「AlignedChromaPlanes」を有するメンバは、同一の位相アライメントを有するものとしてPbおよびPr(またはCbおよびCr)プレインを定義する。データが垂直にコサイトされている場合に、このフラグは0になる。   Members with the suffix “Aligned ChromaPlanes” define the Pb and Pr (or Cb and Cr) plains as having the same phase alignment. This flag is 0 if the data is co-sited vertically.

図10〜12は、DXVA_VideoChromaSubsampling enumに適当なさらなる例示的な詳細を提供する。すなわち、これらの図は、通常のY’Cb’Cr’イメージ情報204でのルマサンプルに対するクロマサンプルの位置の要約を提供する。   FIGS. 10-12 provide additional exemplary details suitable for the DXVA_VideoChromaSubsampling enum. That is, these figures provide a summary of the location of the chroma sample relative to the luma sample in the normal Y'Cb'Cr 'image information 204.

D.カラー情報データ構造体の1つの例示的な応用例
前の節で説明したコーディング戦略の多数の応用例がある。図13〜16に、DeinterlaceBltExと称するアプリケーションプログラミングインターフェース(API)を使用する1つの例示的な応用例を示す。
D. One exemplary application of the color information data structure There are many applications of the coding strategy described in the previous section. FIGS. 13-16 illustrate one exemplary application using an application programming interface (API) called DeinterlaceBltEx.

概要として、DeinterlaceBltEx機能性は、合成動作をデインターレース動作と一緒に実行するなど、複数の動作を単一の動作として一緒に実行できるようにする論理を提供する。合成動作は、主イメージストリーム情報とイメージサブストリーム情報の組合せを指す。イメージストリーム情報は、イメージフレームの主シーケンスを指す。イメージサブストリーム情報は、主イメージストリーム情報のイメージストリームと共に提示できる補助イメージ情報を指す。1つの例で、イメージサブストリーム情報は、クローズキャプションデータに対応するものとすることができる。クローズキャプショニング情報が、主イメージストリーム情報と組み合わされて、表示用の合成イメージ情報が形成される。デインターレース動作は、インターレース動作で作成された連続するイメージフィールドを組み合わせて、イメージフレームのプログレッシブ(ノンインターレース)表現を提供する技法を指す。DeinterlaceBltEx機能性は、他の種類の動作を同時に実行することも可能にする(その代わりに、いわゆるDeinterlaceBlt機能性を使用することができ、これは、上で識別された動作を連続して実行するように構成されている)。   In summary, the DeinterlaceBltEx functionality provides logic that allows multiple operations to be performed together as a single operation, such as performing a compositing operation with a deinterlace operation. The composition operation indicates a combination of main image stream information and image substream information. Image stream information refers to the main sequence of image frames. Image substream information refers to auxiliary image information that can be presented together with the image stream of the main image stream information. In one example, the image substream information may correspond to close caption data. Close captioning information is combined with main image stream information to form composite image information for display. Deinterlacing refers to a technique that combines successive image fields created by interlaced operation to provide a progressive (non-interlaced) representation of an image frame. DeinterlaceBltEx functionality also allows other types of operations to be performed simultaneously (instead, the so-called DeinterlaceBlt functionality can be used, which performs the operations identified above in succession. Is configured to).

1つの例示的な実施形態で、DeinterlaceBltEx機能性は、CIデータ構造体202を伝えるのに使用できる未使用部分(または部分的に未使用の部分)を有するデータ構造を提供する。すなわち、1つの例示的で比制限的な実施形態で、この部分が、32ビットワードを定義することができる。このワードの24ビット部分を使用して、図5に示された情報の6つのフィールドを伝えることができる。既存構造体のもう1つの部分(例えば、残りの8ビット)を使用して、イメージ情報204がインターレースフォーマットとプログレッシブフォーマットのどちらでコーディングされているかなど、イメージ情報204の他の態様を伝えることができる。   In one exemplary embodiment, the DeinterlaceBltEx functionality provides a data structure having an unused portion (or a partially unused portion) that can be used to convey the CI data structure 202. That is, in one exemplary ratio-limiting embodiment, this part can define a 32-bit word. The 24-bit portion of this word can be used to convey the six fields of information shown in FIG. Another part of the existing structure (eg, the remaining 8 bits) may be used to convey other aspects of the image information 204, such as whether the image information 204 is coded in interlaced or progressive format. it can.

具体的に言うと、カラー情報は、DeinterlaceBltEx動作のコンテキストで複数の役割のために働くことができる。色空間処理の問題に関して、CIデータ構造体202で指定されるカラー情報は、(a)どの色空間変換(ある場合に)を、DeinterlaceBltEx機能性に供給される入力イメージ情報に対して実行しなければならないか、(b)イメージ情報に対して様々な処理タスクを実行するためにどの色空間を使用しなければならないか、および(c)出力イメージ情報を供給するのにどの色空間を使用しなければならないか、などを指定することができる。これらのタスクのために選択できる可能な色空間に、すべての種類のRGB関連色空間、すべての種類のルマ関連色空間(例えば、YUV)などを含めることができる。さらに、可能な色空間は、線形形式または非線形(例えば、ガンマ補正された)形式のいずれかとすることができる。   Specifically, color information can serve multiple roles in the context of DeinterlaceBltEx operation. Regarding color space processing issues, the color information specified in the CI data structure 202 must: (a) perform any color space conversion (if any) on the input image information supplied to the DeinterlaceBltEx functionality. (B) which color space must be used to perform various processing tasks on the image information, and (c) which color space is used to supply the output image information. You can specify whether you have to. Possible color spaces that can be selected for these tasks can include all types of RGB related color spaces, all types of luma related color spaces (eg, YUV), and the like. Further, possible color spaces can be in either a linear form or a non-linear (eg, gamma corrected) form.

例えば、あるシナリオで、イメージ情報の1つまたは複数のストリームを、ルマ関連色空間から線形RGB関連色空間に変換する。次に、線形RGB関連色空間のイメージ情報に対していくつかの動作を実行して、やはり線形RGB関連色空間内の出力を供給する。したがって、この一連の動作は、図4(前に説明した)に示された技法を実施することができる。もう1つのシナリオで、イメージ情報の1つまたは複数のストリームを、ルマ関連色空間で受け取り、処理して、やはりルマ関連色空間内の出力を供給することができる。もう1つのシナリオで、イメージ情報の1つまたは複数のストリームを、ある種類のRGB関連色空間から別の種類のRGB色空間に、またはある種類のルマ関連色空間から別の種類のルマ関連色空間に変換することができる。これらは、単に、DeinterlaceBltEx機能性によって使用可能にされる様々な処理オプションの例示的な例である。これらの事例のどれにおいても、CIデータ構造体202のカラー情報は、DeinterlaceBltEx機能性によって適用される色空間選択を決定する指示を提供することができる。   For example, in one scenario, one or more streams of image information are converted from a luma-related color space to a linear RGB-related color space. Next, several operations are performed on the image information in the linear RGB related color space to provide an output also in the linear RGB related color space. Thus, this sequence of operations can implement the technique shown in FIG. 4 (described previously). In another scenario, one or more streams of image information may be received and processed in a luma related color space to provide an output also in the luma related color space. In another scenario, one or more streams of image information are transferred from one type of RGB related color space to another type of RGB color space, or from one type of luma related color space to another type of luma related color. Can be converted to space. These are merely illustrative examples of the various processing options enabled by the DeinterlaceBltEx functionality. In any of these cases, the color information in the CI data structure 202 can provide an indication that determines the color space selection applied by the DeinterlaceBltEx functionality.

さらに、DeinterlaceBltEx機能性の独自の機能を用いると、色空間変換を、イメージ情報に対して実行される他の動作(デインターレースおよび合成など)と同一の動作で実行できるようになる。例えば、イメージ情報を、デインターレースし、ビデオサブストリームと合成するのと同一の動作で、ルマ関連色空間からRGB関連色空間に変換することができる。その代わりに、イメージ情報に対して実行されるある動作を、連続して実行することもできる。例えば、下で完全に説明する1つの例で、デインターレースおよび合成を、YUV色空間内で単一の動作で実行し、これに、出力結果のRGB関連色空間への変換を続けることができる。   Furthermore, using the unique function of the DeinterlaceBltEx functionality, color space conversion can be performed in the same operation as other operations (such as deinterlacing and composition) performed on image information. For example, image information can be converted from a luma-related color space to an RGB-related color space with the same operations as deinterlacing and compositing with a video substream. Alternatively, certain operations performed on the image information can be performed sequentially. For example, in one example fully described below, de-interlacing and compositing can be performed in a single operation within the YUV color space, followed by conversion of the output result to an RGB-related color space. .

最後の前置きのコメントとして、DinterlaceBltEx機能性は、異なる色空間で表された別々のイメージ情報ストリーム(1つまたは複数の主ビデオストリームおよび/または1つまたは複数のビデオサブストリームなど)に作用することができる。このイメージ情報ストリームは、それ自体のCIデータ構造体202を関連付けられることができる。このCIデータ構造体202に、別々のストリームに対して動作(デインターレース、合成など)を実行するために、別々のストリームを共通の色空間にどのように変換できるかを定義する情報を含めることができる。   As a final preface comment, DinterlaceBltEx functionality acts on separate image information streams (such as one or more main video streams and / or one or more video substreams) represented in different color spaces. Can do. This image information stream can be associated with its own CI data structure 202. This CI data structure 202 includes information defining how different streams can be converted to a common color space in order to perform operations (deinterlacing, compositing, etc.) on the different streams. Can do.

上の前置きに関して、図13に、図2に示されたビデオパイプライン200の諸態様を実施するのに使用できる例示的なシステム1300の概要を示す。システム1300は、米国ワシントン州レッドモンドのMicrosoft(登録商標)Corporation社が作るDirectX(登録商標)ファミリのテクノロジに頼ることができる。DirectXファミリには、DirectX Video Acceleration(DirectX−VA)、Direct3D、DirectDrawなどが含まれる。しかし、上で説明した原理は、他の種類のテクニカルプラットフォームで動作する他の種類のレンダリングテクノロジを使用して実行することができる。システム1300は、パーソナルコンピュータ、ゲーム機(Microsoft(登録商標)Corporation社のXbox(商標)ゲーム機など)、または他の種類のデバイスを表すことができる。   With regard to the above introduction, FIG. 13 outlines an exemplary system 1300 that can be used to implement aspects of the video pipeline 200 shown in FIG. The system 1300 can rely on the DirectX® family of technologies created by Microsoft® Corporation of Redmond, Washington, USA. The DirectX family includes DirectX Video Acceleration (DirectX-VA), Direct3D, DirectDraw, and the like. However, the principles described above can be implemented using other types of rendering technologies that operate on other types of technical platforms. System 1300 may represent a personal computer, a gaming machine (such as an Xbox ™ gaming machine from Microsoft® Corporation), or other type of device.

まず、システム1300は、複数のソースのうちの任意の1つからイメージ情報を受け入れる。例えば、装置1300は、ネットワーク1302(インターネットに結合されたリモートソースなど)、すべての種類のデータベース1304、すべての種類のコンピュータ可読ディスク媒体1306(光ディスク、DVDなど)、または他のソース1308(図204に示されたソース212に関連するソースの任意の1つなど)からイメージ情報を受け入れることができる。どの場合でも、受け取られた情報に、イメージ情報とオーディオ情報の組合せが含まれる場合がある。デマルチプレクサユニット1310が、オーディオ情報をイメージ情報から分離する。オーディオ処理機能性1312が、オーディオ情報を処理する。   First, the system 1300 accepts image information from any one of a plurality of sources. For example, the device 1300 may include a network 1302 (such as a remote source coupled to the Internet), all types of databases 1304, all types of computer readable disk media 1306 (optical disks, DVDs, etc.), or other sources 1308 (FIG. 204). Image information from the source 212 associated with the source 212 shown in FIG. In any case, the received information may include a combination of image information and audio information. A demultiplexer unit 1310 separates audio information from image information. Audio processing functionality 1312 processes the audio information.

イメージデコーダ1314が、イメージ情報を処理する。イメージデコーダ1314は、圧縮されたイメージ情報を、その受け取られたフォーマットからある他のフォーマットに変換することができ、この情報に対する最初のサイズ変更動作または他の動作を実行することができる。イメージデコーダ1314の出力に、いわゆるピュアイメージ情報ならびにイメージサブストリーム情報を含めることができる。ピュアイメージ情報は、ディスプレイデバイスにレンダリングされる主イメージストリームを構成する。イメージサブストリーム情報は、クローズキャプショニング情報、すべての種類のグラフィカルオーバーレイ情報(様々なグラフィカル編集コントロールなど)、DVDプレイヤによって提示される様々な種類のサブイメージ、その他)など、ピュアイメージ情報に関連するすべての補足情報を構成することができる。   An image decoder 1314 processes the image information. Image decoder 1314 can convert the compressed image information from its received format to some other format and can perform an initial resize operation or other operation on this information. The output of the image decoder 1314 can include so-called pure image information as well as image substream information. Pure image information constitutes the main image stream that is rendered on the display device. Image substream information relates to pure image information, such as closed captioning information, all types of graphical overlay information (such as various graphical editing controls), various types of subimages presented by DVD players, etc.) All supplementary information can be configured.

1つの例示的な実施形態で、ビデオミキシングレンダラ(VMR)モジュール1316は、このように受け取られたイメージ情報の処理の中心的な役割を実行する。概要として、VMRモジュール1316は、グラフィックスインターフェース1318およびディスプレイドライバ1320と相互作用し、ディスプレイドライバ1320は、グラフィックスモジュール1322を制御する。下で詳細に説明するように、この相互作用に、グラフィックスモジュール1322の機能をプロービングすることが含まれる。この相互作用には、グラフィックスインターフェース1318、ディスプレイドライバ1320、およびグラフィックスモジュール1322によるイメージ情報の処理を調整することも含まれる。一実施形態で、グラフィックスインターフェース1318を、Microsoft(登録商標)Corporation社のDirectXによって提供されるDirectDraw機能性を使用して実施することができる。DirectDrawは、このコンテキストで、VMRモジュール1316をグラフィックスモジュール1322に通信的に結合するメッセージ導管として働く。グラフィックスモジュール1322自体は、コンピュータまたは類似するデバイス内の固定されたモジュールを構成するか、グラフィックスカードなどの取外し可能ユニットを構成することができる。VMRモジュール1316、グラフィックスインターフェース1318、ディスプレイドライバ1320、およびグラフィックスモジュール1322によって表される機能性の縦のチェーンは、ユーザモードとカーネルモードに分割することができる。ユーザモードは、様々なインターフェースを介してユーザが操作できるプログラミング機能性の態様を指す。カーネルモードは、ユーザが直接には操作できないプログラミング機能性の態様を表す。   In one exemplary embodiment, the Video Mixing Glendala (VMR) module 1316 performs the central role of processing image information received in this manner. In overview, the VMR module 1316 interacts with the graphics interface 1318 and the display driver 1320, which controls the graphics module 1322. As will be described in detail below, this interaction includes probing the functionality of the graphics module 1322. This interaction also includes coordinating the processing of image information by graphics interface 1318, display driver 1320, and graphics module 1322. In one embodiment, the graphics interface 1318 can be implemented using DirectDraw functionality provided by DirectX from Microsoft Corporation. DirectDraw acts in this context as a message conduit that communicatively couples VMR module 1316 to graphics module 1322. The graphics module 1322 itself may constitute a fixed module in a computer or similar device, or may constitute a removable unit such as a graphics card. The vertical chain of functionality represented by the VMR module 1316, the graphics interface 1318, the display driver 1320, and the graphics module 1322 can be divided into user mode and kernel mode. User mode refers to an aspect of programming functionality that can be operated by a user through various interfaces. Kernel mode represents an aspect of programming functionality that cannot be manipulated directly by the user.

グラフィックスモジュール1322自体に、1つまたは複数のグラフィックス処理ユニット(GPU)1324が含まれる。GPU 1324は、一般に、CPUに似た処理デバイスである。GPU 1324は、一般に、実施する装置1300によって繰り返して実行される情報集中型レンダリングタスクに割り当てられる。これらの反復的タスクまたは情報集中型タスクをGPU 1324に割り当てることによって、CPU(図示せず)が、他のタスクを実行するために解放され、したがって、装置1300の性能が改善される。この実施形態がGPU 1324に割り当てる2つの例示的なタスクが、デインターレースおよびレート変換である。これらの機能は、デインターレース論理1326およびレートコンバータ論理1328によって表される。デインターレース論理1326は、イメージ情報の複数のフィールドを一緒に組み合わせて、イメージ情報のフレームを形成する。レートコンバータ論理1328は、イメージフレームのシーケンスのフレームレートを変更する。GPU 1324は、多数の追加の処理タスクを実行することができる。   The graphics module 1322 itself includes one or more graphics processing units (GPUs) 1324. The GPU 1324 is generally a processing device similar to a CPU. The GPU 1324 is generally assigned to an information intensive rendering task that is repeatedly performed by the performing device 1300. By assigning these repetitive or information intensive tasks to GPU 1324, a CPU (not shown) is freed up to perform other tasks, thus improving the performance of device 1300. Two exemplary tasks that this embodiment assigns to GPU 1324 are deinterlacing and rate conversion. These functions are represented by deinterlace logic 1326 and rate converter logic 1328. Deinterlace logic 1326 combines multiple fields of image information together to form a frame of image information. Rate converter logic 1328 changes the frame rate of the sequence of image frames. The GPU 1324 can perform a number of additional processing tasks.

GPU 1324は、グラフィックスモジュール1322に関連するローカルメモリ1330と相互作用することができる。このローカルメモリ1330は、複数のストレージ関連目的のために働くことができる。例えば、このメモリ1330は、ディスプレイデバイス1332に転送される最終的なイメージサーフェスをストアすることができる。   GPU 1324 can interact with local memory 1330 associated with graphics module 1322. This local memory 1330 can serve multiple storage related purposes. For example, the memory 1330 can store the final image surface that is transferred to the display device 1332.

図13に、図2に関して説明したものに似た形で、図13に示された一連の機能コンポーネントに沿ってCIデータ構造体202を渡せることが示されている。すなわち、CIデータ構造体202は、システム1300によって定義されるパイプラインを介して渡される時に、均一な構造を有する。システム1300内の個々の機能コンポーネントは、CIデータ構造体202内のカラー情報を使用することができ、あるいは、潜在的に、下流機能コンポーネントの利益のためにCIデータ構造体202内のカラー情報を補足することができる。例えば、色空間処理の問題に関して、カラー情報は、(a)どの色空間変換(ある場合に)を実行しなければならないか(例えば、YUVからRGB)、およびこの変換をどのように実行できるか、(b)イメージ情報に対して様々な処理タスクを実行するのにどの色空間を使用しなければならないか、および(c)出力イメージ情報を供給するのにどの色空間を使用しなければならないか、などを定義することができる。図13には、複数のCIデータ構造体202が、システム1300で実行される処理で役割を演じることが示されており、例えば、システム1300によって処理されるイメージ情報の各ストリームが、それ自体のデータ構造体202を関連付けられることができる。これらのCIデータ構造体202は、イメージ情報の異なるストリームの共通色空間への変換を調整することができる。   FIG. 13 shows that the CI data structure 202 can be passed along the set of functional components shown in FIG. 13 in a manner similar to that described with respect to FIG. That is, the CI data structure 202 has a uniform structure when passed through the pipeline defined by the system 1300. Individual functional components in system 1300 can use the color information in CI data structure 202, or potentially use the color information in CI data structure 202 for the benefit of downstream functional components. Can be supplemented. For example, with respect to color space processing issues, the color information includes: (a) which color space conversion (if any) must be performed (eg, YUV to RGB) and how this conversion can be performed. (B) which color space must be used to perform various processing tasks on the image information, and (c) which color space must be used to provide the output image information. Or can be defined. FIG. 13 illustrates that multiple CI data structures 202 play a role in the processing performed by system 1300, for example, each stream of image information processed by system 1300 is its own. A data structure 202 can be associated. These CI data structures 202 can coordinate the conversion of different streams of image information to a common color space.

CIデータ構造体202をDeinterlaceBltExフレームワークに統合できる例示的な形に関するさらなる詳細を、下に示す。   Further details regarding exemplary forms in which the CI data structure 202 can be integrated into the DeinterlaceBltEx framework are provided below.

まず、図14に、図13の装置1300の動作の概要1400を示す。ステップ1402で、VMRモジュール1316が、どの処理モードをサポートするかに関してディスプレイドライバ1320およびグラフィックスモジュール1322に照会する。応答を受け取った後に、ステップ1404で、VMRモジュール1316は、もう1つの質問を送って、ディスプレイドライバ1320および関連するグラフィックスモジュール1322の機能に関するより具体的な情報を見つける。ステップ1402および1404は、下で、見出し「予備情報処理」の下でより詳細に説明する。   First, FIG. 14 shows an outline 1400 of the operation of the apparatus 1300 of FIG. At step 1402, the VMR module 1316 queries the display driver 1320 and the graphics module 1322 as to which processing mode is supported. After receiving the response, at step 1404, the VMR module 1316 sends another question to find more specific information about the capabilities of the display driver 1320 and the associated graphics module 1322. Steps 1402 and 1404 are described in more detail below under the heading “Preliminary Information Processing”.

接続されたハードウェアおよび関連するインターフェースの機能を調査した後に、VMRモジュール1316は、イメージストリームオブジェクトをオープンし(ステップ1408で)、その結果、イメージ情報および制御情報をハードウェアに転送できるようにする。その後、ステップ1408で、VMRモジュール1316は、ハードウェアによる1つまたは複数のイメージ処理機能の実行(例えば、グラフィックスモジュール1322による)を調整する。そのような機能の1つが、デインターレースである。もう1つのそのような機能が、サブストリーム合成である。受け取った情報に応じて、デインターレースを、上で説明したように合成と組み合わせることができ、あるいは、いずれかの機能を、別々に実行することができる。例えば、プログレッシブイメージ情報を受け取った場合に、デインターレースを実行する必要はなく、この場合に、VMRモジュール1316は、単に、オブジェクトのサイズを変更し、イメージサブストリーム情報を追加するか、他の機能または機能の組合せを実行することができる。デインターレースおよび合成の他に、多数の他の機能が実施される。   After investigating the functionality of the connected hardware and associated interfaces, the VMR module 1316 opens the image stream object (at step 1408) so that the image information and control information can be transferred to the hardware. . Thereafter, at step 1408, the VMR module 1316 coordinates the execution of one or more image processing functions by hardware (eg, by the graphics module 1322). One such function is deinterlacing. Another such function is substream synthesis. Depending on the information received, deinterlacing can be combined with compositing as described above, or either function can be performed separately. For example, when progressive image information is received, there is no need to perform deinterlacing, in which case the VMR module 1316 simply changes the size of the object and adds image substream information or other functions. Or a combination of functions can be performed. In addition to deinterlacing and synthesis, a number of other functions are implemented.

最後に、ステップ1410で、VMRモジュールが、ステップ1406でオープンしたイメージストリームをクローズする。このステップ1410は、ユーザによって与えられるコマンドに応答するものとするか、ストリームイメージ情報を使い果たしたことに応答するものとすることができる。   Finally, in step 1410, the VMR module closes the image stream opened in step 1406. This step 1410 may be in response to a command provided by the user or in response to running out of stream image information.

次の議論で、上で参照した選択されたステップに関するより詳細な情報を提示する。   In the next discussion, more detailed information about the selected steps referenced above will be presented.

・ 初期化ステップ
上で説明したステップ1402で、VMRモジュール1316は、入力イメージフォーマットに関してどの処理機能性をサポートするかをディスプレイドライバ1320に尋ねる。ディスプレイドライバ1320が応答する時に、VMRモジュール1316は、特定のモードに関するディスプレイドライバ1320の要件に関するより具体的な情報の要求を送る。ディスプレイドライバ1320は、情報構造体内で様々な情報を指定することによって応答する。そのような情報は、必要な順方向基準サンプルの個数、必要な逆方向基準サンプルの個数、出力フレームのフォーマットなどを識別する。この情報構造体には、デインターレースおよび合成の組合せのサポートがグラフィックスモジュール1322および関連するインターフェースによってサポートされるかどうかを示すフラグも含まれる。このフラグを、1つの例示的な実施形態で、DXVA_ImageProcess_Sub−streamsフラグと称する。
Initialization Step In step 1402 described above, the VMR module 1316 asks the display driver 1320 what processing functionality is supported for the input image format. When display driver 1320 responds, VMR module 1316 sends a request for more specific information regarding the requirements of display driver 1320 for a particular mode. Display driver 1320 responds by specifying various information in the information structure. Such information identifies the number of required forward reference samples, the number of required reverse reference samples, the format of the output frame, and so forth. This information structure also includes a flag that indicates whether support for a combination of deinterlacing and compositing is supported by the graphics module 1322 and the associated interface. This flag is referred to as the DXVA_ImageProcess_Sub-streams flag in one exemplary embodiment.

さらに、組み合わされたデインターレースおよび合成を正しくサポートするために、グラフィックスモジュール1322ならびに関連するインターフェースおよびドライバは、デインターレースされるイメージフレームならびに供給されるイメージサブフレームの両方を独立にストレッチ(水平におよび/または垂直に)できなければならない。これが一実施形態で要求されるのは、主イメージとビデオサブストリームのピクセルアスペクト比が、異なり、性質において正方形でない場合があるからである。ディスプレイドライバ1320は、DXVA_VideoProcess_Sub−streamsフラグの他に、イメージをストレッチする能力を伝えるDXVA_VideoProcess_StretchXフラグおよびDXVA_VideoProcess_StretchYフラグを返すことによって、この機能性を処理する能力を通信することができる。   In addition, to properly support combined deinterlacing and compositing, graphics module 1322 and associated interfaces and drivers can independently stretch (horizontally) both the deinterlaced image frames and the supplied image subframes. And / or vertically). This is required in one embodiment because the pixel aspect ratio of the main image and the video substream are different and may not be square in nature. In addition to the DXVA_VideoProcess_Sub-streams flag, the display driver 1320 can communicate the ability to handle this functionality by returning the DXVA_VideoProcess_StretchX flag and the DXVA_VideoProcess_StretchY flag that convey the ability to stretch the image.

さらに、DeinterlaceBltEx DDIは、ソースサーフェスおよび宛先サーフェスのそれぞれに関する拡張カラー情報をサポートする(「ソースサーフェス」は、入力イメージ情報を定義し、「宛先サーフェス」または「ターゲットサーフェス」は、DeinterlaceBltEx動作によって作られる出力イメージ情報を定義する)。ディスプレイドライバ1320は、次のフラグなどの様々なカラー関連フラグを介して、この新しいカラー情報に関してそれが有するサポートのレベルを示すことができる。   In addition, DeinterlaceBltEx DDI supports extended color information for each of the source and destination surfaces (where “source surface” defines the input image information and “destination surface” or “target surface” is created by the DeinterlaceBltEx operation. Define output image information). The display driver 1320 can indicate the level of support it has for this new color information via various color related flags, such as the next flag.

Figure 0005214144
Figure 0005214144

DXVA_VideoProcess_SubStreamsExtendedフラグのサポートは、ビデオ情報が、デインターレースされ、サブストリーム情報と合成され、宛先サーフェスに書き込まれる時に、システム1300が、ソースビデオ情報およびサブストリーム情報に対してカラー調整を実行できることを示す。   Support for the DXVA_VideoProcess_SubStreamsExtended flag indicates that the system 1300 can perform color adjustments on the source video information and substream information when the video information is deinterlaced, combined with the substream information, and written to the destination surface.

DXVA_VideoProcess_YUV2RGBExtendedフラグのサポートは、イメージ情報のデインターレースされ合成されたピクセルが、ソースサーフェスおよび宛先サーフェスについて指定されたカラー情報を使用して宛先サーフェスに書き込まれる時に、システム1300が、色空間変換オプション(例えば、YUVからRGB)を実行できることを示す。   Support for the DXVA_VideoProcess_YUV2RGBExtended flag allows the system 1300 to use color space conversion options (eg, , YUV to RGB).

DXVA_VideoProcess_AlphaBlendExtendedフラグのサポートは、イメージ情報のデインターレースされ合成されたピクセルが、宛先サーフェスに書き込まれる時に、システム1300が、宛先サーフェスとのアルファブレンド動作を実行できることを示す。   Support for the DXVA_VideoProcess_AlphaBlendExtended flag indicates that the system 1300 can perform an alpha blending operation with the destination surface when the deinterlaced and synthesized pixels of the image information are written to the destination surface.

・ デインターレースステップ
VMRモジュール1316は、上で説明したDeinterlaceBltEx機能性を使用して、グラフィックスモジュール1322によるデインターレースおよび合成の実行を調整する。具体的に言うと、このDeinterlaceBltEx機能性は、技術的に複数の基本的動作(色空間変換、デインターレース、合成など)を伴う場合であっても、ディスプレイドライバ1320への単一の呼び出しとして実施することができる。DeinterlaceBltEx機能性は、その動作の出力を指定された宛先サーフェスに書き込む。
Deinterlacing step The VMR module 1316 coordinates the deinterlacing and compositing execution by the graphics module 1322 using the DeinterlaceBltEx functionality described above. Specifically, this DeinterlaceBltEx functionality is implemented as a single call to the display driver 1320, even when technically involved with multiple basic operations (color space conversion, deinterlacing, compositing, etc.) can do. The DeinterlaceBltEx functionality writes the output of the operation to the specified destination surface.

具体的に言うと、VMRモジュール1316は、次のデータ構造体をディスプレイドライバ1320に転送して、DeinterlaceBltEx機能性を実施する。   Specifically, the VMR module 1316 transfers the following data structure to the display driver 1320 to implement the DeinterlaceBltEx functionality.

Figure 0005214144
Figure 0005214144

この構造では、rtTargetFrameパラメータが、入力フレームのシーケンス内の出力フレームの時間的位置を識別する。デインターレースだけが実行されている場合に、ターゲット時刻は、基準サンプルのrtStart時刻、または中点時刻(rtStart+rtEnd)/2のうちの1つと一致しなければならない。フレームレート変換が要求されている場合に、rtTargetFrame時刻は、基準サンプルのrtStartまたは中点時刻のいずれとも異なるものとすることができる。   In this structure, the rtTargetFrame parameter identifies the temporal position of the output frame within the sequence of input frames. If only deinterlacing is being performed, the target time must match one of the reference sample rtStart time or the midpoint time (rtStart + rtEnd) / 2. If frame rate conversion is required, the rtTargetFrame time may be different from either the rtStart or midpoint time of the reference sample.

prcTargetRectパラメータは、DeinterlaceBltEx動作が書き込む、宛先サーフェス内の位置を識別する。一実施形態で、出力は、この長方形内のピクセルに制限されなければならない。すなわち、どのような形でも、prcTargetRect内のすべてのピクセルが書き込まれなければならず、prcTargetRectの外のピクセルが変更されてはならない。   The prcTargetRect parameter identifies the location in the destination surface to which the DeinterlaceBltEx operation writes. In one embodiment, the output must be limited to pixels within this rectangle. That is, in any way, all pixels in prcTargetRect must be written, and pixels outside prcTargetRect must not be changed.

BackgroundColorパラメータは、すべてのビデオストリームおよびサブストリームがその上で合成される背景の色を識別する。   The BackgroundColor parameter identifies the background color on which all video streams and substreams are composited.

DestinationFormatパラメータには、宛先サーフェスに関する拡張カラー情報が含まれる。   The DestinationFormat parameter includes extended color information about the destination surface.

DestinationFlagsパラメータには、DeinterlaceBltExへの前の呼び出しからの、宛先関連パラメータでの変更を示すフラグの集合が含まれる。これらのフラグは、背景色、拡張カラー情報、ターゲット長方形、またはプレーナアルファパラメータに対する変更を反映し、ドライバコードの最適化を助けるために提供される。   The Destination Flags parameter includes a set of flags indicating changes in destination related parameters from a previous call to DeinterlaceBltEx. These flags reflect changes to the background color, extended color information, target rectangle, or planar alpha parameters and are provided to help optimize driver code.

宛先サーフェスは、ビデオメモリ(例えばローカルメモリ1330)に置かれたオフスクリーンプレーンサーフェスとすることができる。宛先サーフェスのピクセルフォーマットは、初期化ステップでVMRモジュール1316に返されたデータ構造体のd3dOutputFormatフィールドで示されるものとすることができる。1つの例示的な実施形態で、この構造体で指定される宛先サーフェスを、Y関連色空間(例えば、YUV)にあるものとすることができる。   The destination surface can be an off-screen plane surface located in video memory (eg, local memory 1330). The pixel format of the destination surface may be that indicated by the d3dOutputFormat field of the data structure returned to the VMR module 1316 during the initialization step. In one exemplary embodiment, the destination surface specified by this structure may be in a Y-related color space (eg, YUV).

lpDDSrcSurfacesパラメータは、DXVA_VideoSample2構造体の配列をポイントする。この構造体のSampleFormatフィールドは、サンプルが、デインターレース動作の基準であるか、デインターレースされたビデオフレームと組み合わされる必要があるビデオサブストリームサンプルであるかを示す。ビデオサブストリームサンプルは、そのサンプルフォーマットに関するDXVA_SampleSub−stream値を有しなければならない。   The lpDDSrcSurfaces parameter points to an array of DXVA_VideoSample2 structures. The SampleFormat field of this structure indicates whether the sample is a reference for deinterlacing operation or a video substream sample that needs to be combined with a deinterlaced video frame. A video substream sample must have a DXVA_SampleSub-stream value for its sample format.

具体的に言うと、例示的なVideoSample2構造体は、下で識別される。   Specifically, an exemplary VideoSample2 structure is identified below.

Figure 0005214144
Figure 0005214144

サンプルがインターレースまたはプログレッシブのどちらであるかを示すことの他に、上で識別されたデータ構造体のSampleFormatフィールドは、CIデータ構造体202を表すことができる場所を定義する。CIデータ構造体202をSampleFormatフィールドに追加することは、VideoSample2データ構造体のサイズを増やさず、他の形でもDeinterlaceBltEx機能性の再エンジニアリングを必要としない。したがって、CIデータ構造体202をこのデータ構造体に「押し込む」ことは、グラフィックスモジュール1322を含むビデオパイプラインを介してカラー情報を伝える特に効率的な形を表す。   In addition to indicating whether the sample is interlaced or progressive, the SampleFormat field of the data structure identified above defines where the CI data structure 202 can be represented. Adding the CI data structure 202 to the SampleFormat field does not increase the size of the VideoSample2 data structure and does not require reengineering of the DeinterlaceBltEx functionality in other ways. Thus, “pushing” the CI data structure 202 into this data structure represents a particularly efficient way of conveying color information through the video pipeline that includes the graphics module 1322.

基準ビデオサンプルについて、rtStartフィールドおよびrtEndフィールドは、サンプルの時間的な位置を示す。ビデオサブストリームサンプルについて、これらのフィールドは、0にクリアされる。   For the reference video sample, the rtStart field and the rtEnd field indicate the temporal position of the sample. For video substream samples, these fields are cleared to zero.

ソース長方形および宛先長方形は、サブレクタングルデインターレースまたはサブレクタングルストレッチングに使用される。ビデオサブストリームのストレッチングが、ビデオストリームと独立であることと、ストレッチングのサポートが、一実施形態で必須であることに留意されたい。パレット化されたビデオサブストリームピクセルフォーマットに関して、DXVA_VideoSample2構造体のPALフィールドに、サブストリームサンプルを合成する時に使用できる16個のパレットエントリが含まれる。非パレット化ピクセルフォーマットについて、これらのパレットは、0にクリアされ、無視することができる。   The source rectangle and the destination rectangle are used for sub-rectangular deinterlacing or sub-rectangular stretching. Note that the stretching of the video substream is independent of the video stream and that support for stretching is mandatory in one embodiment. For the paletted video substream pixel format, the PAL field of the DXVA_VideoSample2 structure contains 16 palette entries that can be used when synthesizing the substream samples. For non-paletted pixel formats, these palettes are cleared to 0 and can be ignored.

各入力サンプルに、前のサンプルからの現在のサンプルでの変更を示すフラグの集合が含まれる。これらのフラグは、各サンプルのパレット、カラー情報、ソース長方形、および宛先長方形に対する変更を反映し、ドライバコードの最適化を助けるために提供される。   Each input sample includes a set of flags indicating changes in the current sample from the previous sample. These flags reflect changes to each sample's palette, color information, source rectangle, and destination rectangle and are provided to help optimize driver code.

DeinterlaceBltEx構造体の説明を続けると、dwNumSurfacesパラメータは、lpDDSrcSurface配列の要素数を示す。ビデオ基準サンプルは、配列の先頭であり、これに、ビデオサブストリームがZ順で続く。1つの例示的な実施形態では、ドライバに渡されるビデオサブストリームの数が、0から15までの範囲になる可能性がある。最もしばしば、DeinterlaceBltExが呼び出される時に、ドライバに、0個または1個のビデオサブストリームが渡される。   Continuing the description of the DeinterlaceBltEx structure, the dwNumSurfaces parameter indicates the number of elements of the lpDDSrcSurface array. The video reference sample is the head of the array, followed by the video substream in Z order. In one exemplary embodiment, the number of video substreams passed to the driver can range from 0 to 15. Most often, 0 or 1 video substream is passed to the driver when DeinterlaceBltEx is called.

最後に、Alphaパラメータは、宛先サーフェスに書き込まれる時に、合成背景色、ビデオストリーム、およびサブストリームイメージに適用できるプレーナ透明度値を示す。   Finally, the Alpha parameter indicates the planar transparency value that can be applied to the composite background color, video stream, and substream images when written to the destination surface.

プログレッシブビデオおよび複数のイメージサブストリームが受け取られた時に、VMRモジュール1316がDeinterlaceBltEx機能性を呼び出すことができることに留意されたい。これは、例えば、VMRモジュール1316が、プログレッシブビデオとインターレース式ビデオの混合を含むDVD再生に使用される時に発生し得る。この場合に、ディスプレイドライバ1320は、ビデオストリームのデインターレースを試みず(すでにプログレッシブフォーマットなので)、VMRモジュール1316は、そのビデオストリームを所与のサブストリームと組み合わせ、望み通りにまたは必要に応じて各ストリームのサイズを変更するように構成することができる(複数の基準サンプルを必要とするデインターレースモードが、プログレッシブビデオと共に使用されている場合には、複数の基準サンプルが、ディスプレイドライバ1320に送られるが、各基準サンプルは、同一のプログレッシブビデオフレームを参照する)。   Note that the VMR module 1316 can invoke the DeinterlaceBltEx functionality when progressive video and multiple image substreams are received. This can occur, for example, when the VMR module 1316 is used for DVD playback including a mixture of progressive and interlaced video. In this case, the display driver 1320 does not attempt to deinterlace the video stream (since it is already in a progressive format), and the VMR module 1316 combines the video stream with a given substream, each as desired or required. It can be configured to change the size of the stream (if a deinterlace mode requiring multiple reference samples is used with progressive video, multiple reference samples are sent to the display driver 1320. However, each reference sample refers to the same progressive video frame).

DeinterlaceBltEx機能性の議論のしめくくりに、図15および16で、この機能性が、合成動作およびデインターレース動作を一緒に1つの動作に組み合わせる形を説明する。   To conclude the discussion of DeinterlaceBltEx functionality, FIGS. 15 and 16 illustrate how this functionality combines synthesis and deinterlacing operations together into one operation.

図15は、1つの例示的で非制限的なシナリオによる、図13のシステム1300によって提供できるある動作の概要である。この図には、圧縮されたイメージ情報1502をイメージデコーダ1504に供給して、CI情報と共に非圧縮イメージ情報の現在のフレームを作ることができることが示されている。さらに、非圧縮イメージ情報1506の現在のフレームおよびCI情報が、非圧縮イメージの1つまたは複数の前のサンプル(例えば、前の非圧縮イメージ1510および1512)と共に、デインターレース論理1508に送られる。図15の論理1508は、デインターレース中のイメージ情報にイメージサブストリーム情報(例えば、サブストリーム情報1514、1516などから)を追加するようにも機能する。言い換えると、論理1508は、デインターレース動作をサブストリーム合成動作と効果的に組み合わせる。さらに、下で詳細に説明するように、論理1508は、この2つの機能を、複数のパスではなく単一のメモリ読み取り/書き込み動作で実行できるように、この2つの機能を実行する。すなわち、図15のシステム1500は、単一のストレージ(例えば、単一のメモリ読み取り/書き込みトランザクション)だけを必要とする(すなわち、1つの例示的な事例で、メモリからの単一の読み取りだけを必要とする)。   FIG. 15 is an overview of certain operations that can be provided by the system 1300 of FIG. 13 according to one exemplary, non-limiting scenario. This figure shows that compressed image information 1502 can be supplied to image decoder 1504 to create a current frame of uncompressed image information along with CI information. Further, the current frame and CI information of uncompressed image information 1506 is sent to deinterlace logic 1508 along with one or more previous samples of the uncompressed image (eg, previous uncompressed images 1510 and 1512). The logic 1508 of FIG. 15 also functions to add image substream information (eg, from substream information 1514, 1516, etc.) to the deinterlaced image information. In other words, logic 1508 effectively combines the deinterlacing operation with the substream combining operation. Further, as described in detail below, logic 1508 performs the two functions so that the two functions can be performed in a single memory read / write operation rather than multiple passes. That is, the system 1500 of FIG. 15 requires only a single storage (eg, a single memory read / write transaction) (ie, in one exemplary case, only a single read from memory). I need).

上で説明した帯域幅効率は、イメージ情報(例えば、イメージ情報1506、1510および1512など)およびイメージサブストリーム情報(例えば、1514、1516など)を、GPUモジュール1322によって使用される異なるめいめいのテクスチャリングユニットに割り当てることによって達成することができる。最も一般的な応用例で、テクスチャリングユニットに、3次元レンダリング適用の過程で操作されるイメージサーフェスが割り当てられる。例えば、「テクスチャ」は、一般に、レンダリングされる3次元シーンの一部を形成するジオメトリプリミティブ(例えば、三角形)のサーフェスに「貼り付けられる」イメージを指す。これらの異なるテクスチャサーフェスが、異なるいわゆるテクスチャリングユニットに割り当てられる。図15に示されたシステムは、イメージ情報(例えば、1506、1510および1512など)およびイメージサブストリーム情報(1514、1516など)をめいめいのテクスチャリングユニットに割り当て、したがって、デインターレース動作および合成動作の類似する効率的なパフォーマンスを達成する。具体的に言うと、GPU論理は、本質的に、互い違いのシリアルな形ではなく、テクスチャリングユニットのコレクションのそれぞれから同時に情報を読み取り、処理する。これによって、実施するデバイスでのバス輻輳が減り、実施するデバイスが、イメージ情報および関連するイメージサブストリーム情報を最適のフレームレートで提示することがよりよく可能になる。   The bandwidth efficiencies described above can be used to image information (eg, image information 1506, 1510, and 1512) and image substream information (eg, 1514, 1516, etc.) different textures used by the GPU module 1322. This can be achieved by assigning to units. In the most common application, the texturing unit is assigned an image surface that is manipulated in the process of 3D rendering application. For example, “texture” generally refers to an image that is “pasted” to the surface of geometric primitives (eg, triangles) that form part of the rendered three-dimensional scene. These different texture surfaces are assigned to different so-called texturing units. The system shown in FIG. 15 assigns image information (eg, 1506, 1510 and 1512, etc.) and image substream information (1514, 1516, etc.) to each texturing unit, thus deinterlacing and compositing operations. Achieve similar efficient performance. Specifically, GPU logic essentially reads and processes information from each of the collections of texturing units simultaneously, rather than in a staggered serial form. This reduces bus congestion at the implementing device and better enables the implementing device to present image information and associated image substream information at an optimal frame rate.

他の実施形態で、論理1508は、色空間変換など、他の動作を実行することができる。例えば、論理1508は、イメージ情報の1つまたは複数のストリームをルマ関連色空間(例えば、YUV)からRGB関連色空間(例えば、線形RGBまたは非線形RGB)に変換することができる。その代わりに、論理1508は、ある種類のルマ関連色空間から別の種類のルマ関連色空間へ、またはある種類のRGB関連色空間から別の種類のRGB関連色区間へなどの変換を行うことができる。1つの例示的なシナリオでは、論理1508を使用して、図4(上)に示された特徴の諸態様を実施することができ、ここで、イメージ情報が、ルマ関連色空間から線形RGBに変換され、その後、処理が、線形RGB色空間内でイメージ情報に対して実行される(デインターレースと、その後のまたはそれと結合された、線形RGB色空間での他の処理)。言い換えると、論理1508の出力サーフェスは、RGB関連色空間(線形RGBなど)で表すことができる。   In other embodiments, the logic 1508 can perform other operations, such as color space conversion. For example, logic 1508 can convert one or more streams of image information from a luma-related color space (eg, YUV) to an RGB-related color space (eg, linear RGB or non-linear RGB). Instead, logic 1508 performs a conversion, such as from one type of luma-related color space to another type of luma-related color space, or from one type of RGB-related color space to another type of RGB-related color section. Can do. In one exemplary scenario, logic 1508 can be used to implement aspects of the features shown in FIG. 4 (top), where image information is converted from a luma-related color space to a linear RGB. Transformed, and then processing is performed on the image information in the linear RGB color space (deinterlacing and other processing in the linear RGB color space thereafter or combined with it). In other words, the output surface of logic 1508 can be represented in an RGB-related color space (such as linear RGB).

もう1つのシナリオでは、論理1508の出力が、ルマ関連色空間(例えば、YUV)内でイメージ情報を処理して、RGB色空間ではなく、ルマ関連色空間の合成されデインターレースされたイメージ情報1518を作ることができる。論理1508または他のモジュール(図示せず)は、その後、ルマ関連カラー情報をRGB関連情報に変換することができ、次に、このRGB関連情報をディスプレイにレンダリングして、レンダリングされたイメージ情報1520を作ることができる。ルマ関連色空間からRGB関連色空間への変換を遅らせることは、潜在的な帯域幅節約を有する。例えば、一実施形態で、ルマ関連カラー情報を、12ビットを使用して提示することができる。対照的に、一実施形態で、RGB情報は、表現に32ビットを必要とする。したがって、合成などのタスクをRGB情報ではなくルマ関連情報を使用して実行することによって、このトランザクションに関連するバストラフィックが削減される。   In another scenario, the output of logic 1508 processes the image information in a luma-related color space (eg, YUV), and the combined de-interlaced image information 1518 in the luma-related color space instead of the RGB color space. Can be made. Logic 1508 or other module (not shown) can then convert the luma related color information to RGB related information, which is then rendered on a display to render rendered image information 1520. Can be made. Delaying the conversion from the luma-related color space to the RGB-related color space has potential bandwidth savings. For example, in one embodiment, luma related color information may be presented using 12 bits. In contrast, in one embodiment, RGB information requires 32 bits for representation. Thus, by performing tasks such as compositing using luma related information rather than RGB information, bus traffic associated with this transaction is reduced.

論理1508は、イメージのサイズ変更など、他の種類の処理機能を実行することができる。それでも、論理1508は、上で説明した処理動作のそれぞれを実行する必要がない。例えば、イメージ情報が、既にプログレッシブフォーマットである場合に、論理1508は、単純にイメージ情報のサイズを変更することまたはイメージ情報に対する他の所望の動作(色空間変換など)を実行すること専用とすることができる。   The logic 1508 can perform other types of processing functions, such as image resizing. Nevertheless, the logic 1508 need not perform each of the processing operations described above. For example, if the image information is already in progressive format, logic 1508 is dedicated to simply changing the size of the image information or performing other desired operations on the image information (such as color space conversion). be able to.

さらに、他の実施形態で、1つまたは複数の動作を、単一の動作ではなく、連続して、例えば別々の動作として、実行することができる。図15の代替の論理1508’が、そのような実施形態を表す。例えば、DeinterlaceBlt機能性を、この形でイメージ処理を実行するように適合させる。   Furthermore, in other embodiments, one or more operations may be performed sequentially, for example as separate operations, rather than a single operation. The alternative logic 1508 'of FIG. 15 represents such an embodiment. For example, the DeinterlaceBlt functionality is adapted to perform image processing in this manner.

どの場合でも、CIデータ構造体202に含まれるカラー情報は、特定の応用例に望まれる形でのイメージ情報の変換に必要な指示を提供する。具体的に言うと、論理1508は、イメージ情報の複数のストリームを処理する場合に、イメージ情報のストリームのそれぞれに関連するCIデータ構造体202を調べることができる。そのようなストリームごとのCIデータ構造体202を使用して、イメージ情報の異なるストリーム(異なるめいめいの色空間で表されている可能性がある)を、線形RGB色空間などの共通の色空間に変換することができる。この特徴は、1つまたは複数の中間色空間で表された一時的なイメージ情報をストアする必要がなくなるか減るので、有益である。上で説明した技法では、論理1508が、入力イメージ情報を受け取り、変換し、メモリに書き込むことができ、例えば、これによって、情報が出力デバイスによって表示される(例えばパーソナルコンピュータによって提供されるデスクトップ)前に、追加の合成されたYUVイメージ情報を提供する必要がなくなる。   In any case, the color information contained in the CI data structure 202 provides the necessary instructions for converting the image information in the form desired for the particular application. Specifically, logic 1508 can examine the CI data structure 202 associated with each of the streams of image information when processing multiple streams of image information. Using such per-stream CI data structures 202, different streams of image information (which may be represented in different respective color spaces) are put into a common color space, such as a linear RGB color space. Can be converted. This feature is beneficial because it eliminates or reduces the need to store temporary image information represented in one or more intermediate color spaces. In the techniques described above, logic 1508 can receive, transform, and write input image information to, for example, information that is displayed by an output device (eg, a desktop provided by a personal computer). There is no need to provide additional synthesized YUV image information before.

色空間関連指示を供給するためのCI情報202の使用の強調は、例示にすぎない。CI情報202は、図15に示された動作を決定するのに使用できる様々な他の情報を提供する。例えば、CI情報202は、対応するプログレッシブイメージを正しく補間するために、デインターレース動作で使用することもできる。   The emphasis on the use of CI information 202 to provide color space related indications is exemplary only. CI information 202 provides a variety of other information that can be used to determine the operations shown in FIG. For example, the CI information 202 can be used in a deinterlacing operation to correctly interpolate the corresponding progressive image.

図16に、論理1508によって可能にされるジョイント処理機能性を達成するのに使用できる1つの例示的な技法を示す。すなわち、図16で、単一の動作でデインターレースおよび合成を実行する1つの技法を説明する。   FIG. 16 illustrates one exemplary technique that can be used to achieve the joint processing functionality enabled by logic 1508. That is, FIG. 16 illustrates one technique for performing deinterlacing and combining in a single operation.

図16に、テクスチャリングユニットおよび関連するメモリの例示的な編成1600を示す。これらの要素は、イメージサブストリーム情報内の主イメージ情報を同時に処理するのに使用される。メモリおよびテクスチャリングユニットは、図13に示されたグラフィックスモジュール1322に関連するローカルメモリ1330および/または共有メモリ1334を使用して実施することができる。   FIG. 16 shows an exemplary organization 1600 of texturing units and associated memory. These elements are used to simultaneously process the main image information in the image substream information. The memory and texturing unit may be implemented using local memory 1330 and / or shared memory 1334 associated with graphics module 1322 shown in FIG.

上で注記したように、インターリーブおよび合成のジョイント動作は、イメージ情報が、まだ、YUV形式など、Y関連色空間にある間に行うことができる。したがって、この例示的で非制限的なシナリオでは、VMRモジュール1316が、このY関連情報をストアするためにメモリの一部を割り当てる。第1ブロック1602を、Y情報をストアするために割り当てることができ、第2ブロック1604を、第1クロマ成分(例えば、U情報)をストアするために割り当てることができ、第3ブロック1606を、第2クロマ成分(例えば、V情報)をストアするために割り当てることができる。2つのクロマ成分より多数のビットを、Y情報に割り当てる。例えば、720×480ピクセルを含むイメージについて、720×480バイトのブロックを、Y情報のストアに割り当て、360×240バイトのブロックを、第1クロマ成分のストアに割り当て、360×240バイトのブロックを、第2クロマ成分のストアに割り当てることができる。最後に、メモリのブロック1608を、サブストリーム情報(クローズキャプショニング情報、DVDサブイメージ表示情報、様々な種類のグラフィカルアイコンなど)のストアに割り当てることができる。   As noted above, interleaving and compositing joint operations can be performed while the image information is still in a Y-related color space, such as YUV format. Thus, in this exemplary non-limiting scenario, VMR module 1316 allocates a portion of memory to store this Y related information. A first block 1602 can be allocated to store Y information, a second block 1604 can be allocated to store a first chroma component (eg, U information), and a third block 1606 can be A second chroma component (eg, V information) can be assigned to store. More bits than the two chroma components are assigned to the Y information. For example, for an image containing 720 × 480 pixels, a 720 × 480 byte block is assigned to the Y information store, a 360 × 240 byte block is assigned to the first chroma component store, and a 360 × 240 byte block is assigned. , Can be assigned to the second chroma component store. Finally, the block of memory 1608 can be allocated to a store of substream information (close captioning information, DVD subimage display information, various types of graphical icons, etc.).

図16に示された例示的な編成1600に、4つのテクスチャリングユニットだけが示されている(1610、1612、1614、および1616)。しかし、他の実施形態に、4つを超えるユニットが含まれる。テクスチャリングユニット1610は、メモリブロック1602に関連するイメージ入力サーフェス(例えば、Y情報)の処理に割り当てられ、テクスチャリングユニット1612は、メモリブロック1604に関連するイメージ入力サーフェス(例えば、第1クロマ成分、例えば、U)の処理に割り当てられ、テクスチャリングユニット1614は、メモリブロック1606に関連するイメージ入力サーフェス(例えば、第2クロマ成分、例えば、V)の処理に割り当てられる。テクスチャリングユニット1616は、メモリブロック1608に関連するイメージ入力サーフェス(例えば、サブストリーム情報)の処理に割り当てられる。メモリブロック(Y、クロマ1、クロマ2、およびサブストリーム情報)は、別々であるが、メモリ内で連続する必要はない。追加のメモリブロックおよびテクスチャリングユニットを設けて、追加のイメージ基準サンプルおよび/または追加のイメージサブストリームを処理することができる。例えば、2つの以前の基準ストリームを含むアプリケーションは、少なくとも9個のテクスチャリングユニット(例えば、現在のサンプルに3つのユニット、2つの基準サンプルに6つのユニット)を要求するはずである。   In the exemplary organization 1600 shown in FIG. 16, only four texturing units are shown (1610, 1612, 1614, and 1616). However, other embodiments include more than four units. Texturing unit 1610 is assigned to processing the image input surface associated with memory block 1602 (eg, Y information), and texturing unit 1612 is responsible for image input surface associated with memory block 1604 (eg, the first chroma component, For example, U) is assigned to processing, and texturing unit 1614 is assigned to processing the image input surface associated with memory block 1606 (eg, the second chroma component, eg, V). Texturing unit 1616 is assigned to processing the image input surface (eg, substream information) associated with memory block 1608. The memory blocks (Y, chroma 1, chroma 2, and substream information) are separate but need not be contiguous in memory. Additional memory blocks and texturing units can be provided to process additional image reference samples and / or additional image substreams. For example, an application that includes two previous reference streams should require at least nine texturing units (eg, three units for the current sample, six units for two reference samples).

最後に、図16に、包括的に、図15のGPU 1324に関連するGPU処理論理1618を示す。GPU処理論理1618は、テクスチャリングユニットと相互作用する。GPU処理論理1618は、デインターレース、フレームレート変換、および/または他のタスクを実行することができる。   Finally, FIG. 16 generally illustrates GPU processing logic 1618 associated with GPU 1324 of FIG. GPU processing logic 1618 interacts with the texturing unit. GPU processing logic 1618 may perform deinterlacing, frame rate conversion, and / or other tasks.

図16の動作を説明するためのYUV関連情報の使用は、単なる例示である。線形RGBなど、RGB関連空間内で処理動作を実行することによって(例えば、図4に示された形で)、類似する利益を得ることができる。   The use of YUV related information to describe the operation of FIG. 16 is merely exemplary. Similar benefits can be obtained by performing processing operations in an RGB-related space, such as linear RGB (eg, in the form shown in FIG. 4).

E.例示的なコンピュータ環境
1つの例示的な実施形態で、前の図に示された処理の諸態様を、コンピューティング機器によって実行することができる。この場合に、図17は、前の図面に示された処理の諸態様を実施するのに使用できる例示的なコンピュータ環境1700に関する情報を提供する。
E. Exemplary Computer Environment In one exemplary embodiment, the aspects of the processing illustrated in the previous figures may be performed by a computing device. In this case, FIG. 17 provides information about an exemplary computer environment 1700 that can be used to implement aspects of the processing shown in the previous drawings.

コンピューティング環境1700に、汎用タイプのコンピュータ1702およびディスプレイデバイス1704が含まれる。しかし、コンピューティング環境1700に、他の種類のコンピューティング機器を含めることができる。例えば、図示されてはいないが、コンピューティング環境1700に、ハンドヘルドデバイス、ラップトップデバイス、セットトップボックス、ゲーム機、ビデオ処理/プレゼンテーションデバイス(例えば、テレビジョン、DVRなど)に統合された処理機能性、メインフレームコンピュータなどを含めることができる。さらに、図17に、議論を容易にするために一緒にグループ化されたコンピュータ環境1700の要素が示されている。しかし、コンピューティング環境1700は、分散処理構成を使用することができる。分散コンピューティング環境では、コンピューティングリソースを、環境全体に物理的に分散させることができる。   The computing environment 1700 includes a general purpose type computer 1702 and a display device 1704. However, the computing environment 1700 can include other types of computing devices. For example, although not shown, processing functionality integrated into computing environment 1700 in handheld devices, laptop devices, set-top boxes, game consoles, video processing / presentation devices (eg, television, DVR, etc.) , Mainframe computers and the like can be included. Further, FIG. 17 illustrates elements of a computer environment 1700 grouped together for ease of discussion. However, the computing environment 1700 can use a distributed processing configuration. In a distributed computing environment, computing resources can be physically distributed throughout the environment.

例示的なコンピュータ1702に、1つまたは複数のプロセッサまたは処理ユニット1706、システムメモリ1708、およびバス1710が含まれる。バス1710は、様々なシステムコンポーネントを一緒に接続する。例えば、バス1710は、プロセッサ1706をシステムメモリ1708に接続する。バス1710は、様々なバスアーキテクチャのいずれかを使用する、メモリバスまたはメモリコントローラ、周辺バス、accelerated graphics port、およびプロセッサバスまたはローカルバスを含む、すべての種類のバス構造またはバス構造の組合せを使用して実施することができる。   Exemplary computer 1702 includes one or more processors or processing units 1706, system memory 1708, and bus 1710. Bus 1710 connects various system components together. For example, bus 1710 connects processor 1706 to system memory 1708. The bus 1710 uses any type of bus structure or combination of bus structures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, and a processor bus or a local bus, using any of a variety of bus architectures. Can be implemented.

コンピュータ1702に、それぞれを取外し可能または取り外し不能とすることができる、様々なタイプの揮発性媒体および不揮発性媒体を含む様々なコンピュータ可読媒体も含めることができる。例えば、システムメモリ1708に、ランダムアクセスメモリ(RAM)1712などの揮発性メモリ、および読取専用メモリ(ROM)1714などの不揮発性メモリの形のコンピュータ可読媒体が含まれる。ROM 1714に、スタートアップ中などにコンピュータ1702内の要素の間での情報の転送を助ける基本ルーチンを含む入出力システム(BIOS)1716が含まれる。RAM 1712に、通常は、処理ユニット1706によって素早くアクセスできる形のデータおよび/またはプログラムモジュールが含まれる。   Computer 1702 can also include a variety of computer readable media, including various types of volatile and non-volatile media, each of which can be removable or non-removable. For example, system memory 1708 includes computer readable media in the form of volatile memory, such as random access memory (RAM) 1712, and non-volatile memory, such as read only memory (ROM) 1714. ROM 1714 includes an input / output system (BIOS) 1716 that includes basic routines that help transfer information between elements within computer 1702 such as during startup. The RAM 1712 typically includes data and / or program modules in a form that can be quickly accessed by the processing unit 1706.

他の種類のコンピュータストレージ媒体に、取外し不能不揮発性磁気媒体から読み取り、これに書き込むハードディスクドライブ1718、取外し可能不揮発性磁気ディスク1722(例えば「フロッピー(登録商標)ディスク」)から読み取り、これに書き込む磁気ディスクドライブ1720、CD−ROM、DVD−ROM、または他の光媒体などの取外し可能不揮発性光ディスク1726から読み取り、かつ/またはこれに書き込む光ディスクドライブ1724が含まれる。ハードディスクドライブ1718、磁気ディスクドライブ1720、および光ディスクドライブ1724は、それぞれ、1つまたは複数のデータ媒体インターフェース1728によってシステムバス1710に接続される。その代わりに、ハードディスクドライブ1718、磁気ディスクドライブ1720、および光ディスクドライブ1724を、SCSIインターフェース(図示せず)または他の結合機構によってシステムバス1710に接続することができる。図示されていないが、コンピュータ1702に、磁気カセット、または他の磁気ストレージデバイス、フラッシュメモリカード、CD−ROM、デジタル多用途ディスク(DVD)、または他の光ストレージ、電気的消去可能プログラマブル読取専用メモリ(EEPROM)などの他のタイプのコンピュータ可読媒体を含めることができる。   Magnetics that read from and write to non-removable non-volatile magnetic media to other types of computer storage media, hard disk drive 1718, removable non-volatile magnetic disk 1722 (eg, "floppy disk"), and write to it Included is an optical disk drive 1724 that reads from and / or writes to a removable non-volatile optical disk 1726, such as a disk drive 1720, CD-ROM, DVD-ROM, or other optical media. The hard disk drive 1718, magnetic disk drive 1720, and optical disk drive 1724 are each connected to the system bus 1710 by one or more data media interfaces 1728. Alternatively, hard disk drive 1718, magnetic disk drive 1720, and optical disk drive 1724 may be connected to system bus 1710 by a SCSI interface (not shown) or other coupling mechanism. Although not shown, computer 1702 includes a magnetic cassette, or other magnetic storage device, flash memory card, CD-ROM, digital versatile disk (DVD), or other optical storage, electrically erasable programmable read-only memory. Other types of computer readable media such as (EEPROM) may be included.

一般に、上で識別されたコンピュータ可読媒体は、コンピュータ1702による使用のために、コンピュータ可読命令、データ構造、プログラムモジュール、および他のデータの不揮発性ストレージを提供する。例えば、可読媒体に、オペレーティングシステム1730、アプリケーションモジュール1732、他のプログラムモジュール1734、およびプログラムデータ1736をストアすることができる。   In general, the computer-readable media identified above provide non-volatile storage of computer-readable instructions, data structures, program modules, and other data for use by computer 1702. For example, operating system 1730, application module 1732, other program modules 1734, and program data 1736 may be stored on a readable medium.

コンピュータ環境1700に、様々な入力デバイスを含めることができる。例えば、コンピュータ環境1700に、コンピュータ1702にコマンドおよび情報を入力する、キーボード1738およびポインティングデバイス1740(例えば、「マウス」)が含まれる。コンピュータ環境1700に、マイクロホン、ジョイスティック、ゲームパッド、衛星パラボラアンテナ、シリアルポート、スキャナ、カード読み取りデバイス、デジタルカメラ、ビデオカメラなどの他の入力デバイス(図示せず)を含めることができる。入出力インターフェース1742が、入力デバイスを処理ユニット1706に結合する。より一般的には、入力デバイスを、パラレルポート、シリアルポート、ゲームポート、USB(universal serial bus)ポートなど、あらゆる種類のインターフェースおよびバス構造を介してコンピュータ1702に結合することができる。   The computer environment 1700 can include a variety of input devices. For example, the computer environment 1700 includes a keyboard 1738 and a pointing device 1740 (eg, a “mouse”) that enter commands and information into the computer 1702. The computer environment 1700 may include other input devices (not shown) such as a microphone, joystick, game pad, satellite dish, serial port, scanner, card reading device, digital camera, video camera, and the like. An input / output interface 1742 couples the input device to the processing unit 1706. More generally, input devices can be coupled to the computer 1702 via any type of interface and bus structure, such as a parallel port, serial port, game port, USB (universal serial bus) port, and the like.

コンピュータ環境1700に、ディスプレイデバイス1704も含まれる。ビデオアダプタ1744が、ディスプレイデバイス1704をバス1710に結合する。ディスプレイデバイス1704の他に、コンピュータ環境1700に、スピーカ(図示せず)、プリンタ(図示せず)など、他の出力周辺デバイスを含めることができる。   The computer environment 1700 also includes a display device 1704. Video adapter 1744 couples display device 1704 to bus 1710. In addition to the display device 1704, the computer environment 1700 can include other output peripheral devices such as speakers (not shown), printers (not shown), and the like.

コンピュータ1702は、リモートコンピューティングデバイス1746などの1つまたは複数のリモートコンピュータへの論理接続を使用してネットワーク化された環境で動作する。リモートコンピューティングデバイス1746に、汎用パーソナルコンピュータ、ポータブルコンピュータ、サーバ、ゲーム機、ネットワーク拡張デバイスなどを含むすべての種類のコンピュータ機器を含めることができる。リモートコンピューティングデバイス1746に、上でコンピュータ1702に関して述べた特徴のすべてまたはそのサブセットを含めることができる。   Computer 1702 operates in a networked environment using logical connections to one or more remote computers, such as remote computing device 1746. Remote computing device 1746 may include all types of computing equipment including general purpose personal computers, portable computers, servers, game consoles, network expansion devices, and the like. The remote computing device 1746 can include all or a subset of the features described above with respect to the computer 1702.

LAN、WANなど、任意のタイプのネットワーク1748を使用して、コンピュータ1702をリモートコンピューティングデバイス1746に結合することができる。コンピュータ1702は、ネットワークインターフェース1750を介してネットワーク1748に結合され、ネットワークインターフェース1750は、ブロードバンド接続性、モデム接続性、DSL接続性、または他の接続戦略を使用することができる。図示されていないが、コンピューティング環境1700は、リモートコンピューティングデバイス1746とコンピュータ1702を接続する無線通信機能性を提供することができる(例えば、変調されたラジオ信号、変調された赤外線信号などを介する)。   Any type of network 1748 may be used to couple the computer 1702 to the remote computing device 1746, such as a LAN, WAN, or the like. Computer 1702 is coupled to network 1748 via network interface 1750, which may use broadband connectivity, modem connectivity, DSL connectivity, or other connectivity strategies. Although not shown, the computing environment 1700 can provide wireless communication functionality for connecting a remote computing device 1746 and a computer 1702 (eg, via a modulated radio signal, a modulated infrared signal, etc.). ).

最後に、複数の例を、この開示で代替案として提示した(例えば、事例Aまたは事例B)。さらに、この開示は、すべての場合に組合せ事例に明示的に言及していない場合があるが、単一の実施形態で代替案を組み合わせた事例(例えば、事例Aおよび事例B)を含む。   Finally, examples were presented as alternatives in this disclosure (eg, Case A or Case B). Furthermore, this disclosure includes cases (eg, Case A and Case B) that combine alternatives in a single embodiment, although not always explicitly mentioned in all cases.

さらに、本明細書で、複数の特徴を、これらの特徴が対処できる例示的な問題をまず識別することによって説明した。この説明の形は、本明細書で指定された形で他者がその問題を諒解し、かつ/または表現したことの容認を構成しない。ビデオコーディングの技術に存在する問題の諒解および表現は、本発明の一部として理解されなければならない。   In addition, multiple features have been described herein by first identifying exemplary problems that these features can address. The form of this description does not constitute an admission that others have reviewed and / or expressed the problem in the manner specified herein. The understanding and representation of problems that exist in video coding techniques must be understood as part of the present invention.

より一般的に、本発明を、構造的特徴および/または方法論的動作に固有のことばで説明したが、請求項で定義される本発明が、必ずしも説明された特定の特徴または動作に制限されないことを理解されたい。そうではなく、特定の特徴および動作は、請求される発明を実施する例示的形として開示されたものである。   More generally, although the invention has been described in language specific to structural features and / or methodological operations, the invention as defined in the claims is not necessarily limited to the specific features or operations described. I want you to understand. Rather, the specific features and acts are disclosed as exemplary forms of implementing the claimed invention.

例示的なビデオパイプラインとそれに関連する問題を示す図である。FIG. 2 illustrates an example video pipeline and associated problems. カラー情報を提供するデータ構造体を処理する機能性を有する改善された例示的なビデオパイプラインを示す図である。FIG. 3 illustrates an improved exemplary video pipeline with functionality for processing data structures that provide color information. 図2で導入されたデータ構造体を使用してイメージ情報を処理する例示的な方法を示す流れ図である。3 is a flow diagram illustrating an exemplary method for processing image information using the data structure introduced in FIG. イメージ情報をプログレッシブ線形RGBフォーマットに変換し、その後、そのフォーマットのイメージ情報に対して処理を実行する新規の技法を示すブロック図である。FIG. 2 is a block diagram illustrating a novel technique for converting image information into a progressive linear RGB format and then performing processing on the image information in that format. 図2のシステムで使用される例示的なデータ構造体の概要を示す図である。FIG. 3 shows an overview of an exemplary data structure used in the system of FIG. 図5のデータ構造体が参照できる様々な例示的なフォーマッティング情報を示す図である。FIG. 6 shows various exemplary formatting information that can be referenced by the data structure of FIG. 図5のデータ構造体が参照できる様々な例示的なフォーマッティング情報を示す図である。FIG. 6 shows various exemplary formatting information that can be referenced by the data structure of FIG. 図5のデータ構造体が参照できる様々な例示的なフォーマッティング情報を示す図である。FIG. 6 shows various exemplary formatting information that can be referenced by the data structure of FIG. 図5のデータ構造体が参照できる様々な例示的なフォーマッティング情報を示す図である。FIG. 6 shows various exemplary formatting information that can be referenced by the data structure of FIG. 図5のデータ構造体が参照できる様々な例示的なフォーマッティング情報を示す図である。FIG. 6 shows various exemplary formatting information that can be referenced by the data structure of FIG. 図5のデータ構造体が参照できる様々な例示的なフォーマッティング情報を示す図である。FIG. 6 shows various exemplary formatting information that can be referenced by the data structure of FIG. 図5のデータ構造体が参照できる様々な例示的なフォーマッティング情報を示す図である。FIG. 6 shows various exemplary formatting information that can be referenced by the data structure of FIG. 図2の全般的な特徴を実施する1つの例示的なシステムを示す図である。FIG. 3 illustrates one exemplary system that implements the general features of FIG. 図13のシステムの動作の例示的な方法を示す流れ図である。14 is a flow diagram illustrating an exemplary method of operation of the system of FIG. 図13のシステムで使用できる例示的な合成機能性の詳細を示す図である。FIG. 14 illustrates details of exemplary composition functionality that can be used in the system of FIG. 図13のシステムで使用できる例示的な合成機能性の詳細を示す図である。FIG. 14 illustrates details of exemplary composition functionality that can be used in the system of FIG. 図2などに示されたシステムの諸態様を実施する例示的なコンピューティング環境を示す図である。FIG. 3 illustrates an exemplary computing environment for implementing aspects of the system illustrated in FIG. 2 and the like.

Claims (25)

指定されたフォーマットで表されたカラー内容を有するイメージ情報を処理する方法であって、
前記指定されたフォーマットの少なくとも1つの態様を定義するカラー情報を含むカラー情報データ構造体を提供するステップと、
前記イメージ情報を処理するのに使用される少なくとも1つの機能コンポーネントに、前記イメージ情報と共に前記カラー情報データ構造体を渡すステップと、
前記カラー情報データ構造体内の前記カラー情報に基づいて、前記少なくとも1つの機能コンポーネントで前記イメージ情報を処理するステップと
を含み、
前記カラー情報データ構造体は、前記イメージ情報に関連する、ガンマ、明るさ、及びコントラストを含む情報を伝えるイメージライトフィールドを含み、
前記少なくとも1つの機能コンポーネントは、前記指定されたフォーマットの少なくとも1つの他の態様を判定し、前記少なくとも1つの他の態様を前記カラー情報データ構造内の少なくとも1つの未知の値に追加することを特徴とする方法。
A method of processing image information having color content represented in a specified format, comprising:
Providing a color information data structure including color information defining at least one aspect of the specified format;
Passing the color information data structure along with the image information to at least one functional component used to process the image information;
Processing the image information with the at least one functional component based on the color information in the color information data structure; and
It said color information data structure, the related image information, gamma, look including an image light field to convey information including the brightness, and contrast,
The at least one functional component determines at least one other aspect of the specified format and adds the at least one other aspect to at least one unknown value in the color information data structure ; Feature method.
前記少なくとも1つの機能コンポーネントは、ビデオ処理パイプラインを定義する機能コンポーネントの群に属し、前記カラー情報データ構造体は、下流機能コンポーネントによる使用のために前記ビデオ処理パイプラインを介して渡されることを特徴とする請求項1に記載の方法。   The at least one functional component belongs to a group of functional components that define a video processing pipeline, and the color information data structure is passed through the video processing pipeline for use by downstream functional components. The method of claim 1, characterized in that: 前記ビデオ処理パイプラインは、
ルマ関連色空間内の入力イメージ情報をRGB関連色空間内の線形イメージ情報に変換する動作と、
処理された情報を作るために前記RGB関連色空間内の前記線形イメージ情報に対する処理を実行する動作と
を実行することを特徴とする請求項2に記載の方法。
The video processing pipeline is
An operation of converting input image information in the luma-related color space into linear image information in the RGB-related color space;
The method of claim 2, comprising performing an operation on the linear image information in the RGB-related color space to produce processed information.
前記変換は、前記処理する動作の前に、前記入力イメージ情報をインターレースフォーマットからプログレッシブフォーマットに変換することを含むことを特徴とする請求項3に記載の方法。   The method of claim 3, wherein the converting comprises converting the input image information from an interlaced format to a progressive format prior to the processing operation. 前記ビデオ処理パイプラインは、さらに、
前記処理された情報をルマ関連色空間内の非線形イメージ情報に変換する動作
を実行することを特徴とする請求項3に記載の方法。
The video processing pipeline further includes:
The method of claim 3, comprising performing an operation of converting the processed information into non-linear image information in a luma-related color space.
前記処理された情報の前記変換は、前記処理された情報をプログレッシブフォーマットからインターレースフォーマットに変換することを含むことを特徴とする請求項5に記載の方法。   6. The method of claim 5, wherein the conversion of the processed information comprises converting the processed information from a progressive format to an interlace format. 前記ビデオ処理パイプラインは、色変換を実行し、前記カラー情報データ構造内の前記カラー情報は、前記色変換を決定することを特徴とする請求項2に記載の方法。   The method of claim 2, wherein the video processing pipeline performs color conversion, and the color information in the color information data structure determines the color conversion. 前記カラー情報データ構造内の前記未知の値を指定されたデフォルト値に初期化するステップをさらに含むことを特徴とする請求項1に記載の方法。 The method of claim 1, further comprising the step of initializing the specified defaults the unknown value in the color information data structure. 前記カラー情報データ構造体を渡すステップは、既存データ構造体の未使用フィールドで前記カラー情報データ構造体を渡すステップを含むことを特徴とする請求項1に記載の方法。   The method of claim 1, wherein passing the color information data structure comprises passing the color information data structure in an unused field of an existing data structure. 前記少なくとも1つの機能コンポーネントは、前記カラー情報データ構造体を処理する能力を有することを示すフラグをセットすることをさらに含むことを特徴とする請求項1に記載の方法。   The method of claim 1, further comprising setting a flag indicating that the at least one functional component is capable of processing the color information data structure. 前記カラー情報データ構造体は、線形イメージ情報を非線形イメージ情報に変換し、かつ/またはその逆を行うのに使用される伝達関数に関する情報を伝えるビデオ伝達関数フィールドを含むことを特徴とする請求項1に記載の方法。   The color information data structure includes a video transfer function field that conveys information about a transfer function used to convert linear image information to non-linear image information and / or vice versa. The method according to 1. 前記カラー情報データ構造体は、前記イメージ情報に関連する原色を伝える原色フィールドを含むことを特徴とする請求項1に記載の方法。   The method of claim 1, wherein the color information data structure includes a primary color field conveying a primary color associated with the image information. 前記カラー情報データ構造体は、前記イメージ情報の前記色空間を変更するのに使用できる伝達行列に関する情報を伝える伝達行列フィールドを含むことを特徴とする請求項1に記載の方法。   The method of claim 1, wherein the color information data structure includes a transfer matrix field that conveys information about a transfer matrix that can be used to change the color space of the image information. 前記カラー情報データ構造体は、前記イメージ情報に関連する潜在的なトウルームおよびヘッドルームに関する情報を伝える公称範囲フィールドを含むことを特徴とする請求項1に記載の方法。   The method of claim 1, wherein the color information data structure includes a nominal range field that conveys information about potential toerooms and headrooms associated with the image information. 前記カラー情報データ構造体は、前記イメージ情報内のクロマサンプルが関連するルマサンプルに関してサンプリングされ、アラインされる形を示すビデオクロマサンプリングフィールドを含むことを特徴とする請求項1に記載の方法。   The method of claim 1, wherein the color information data structure includes a video chroma sampling field that indicates how chroma samples in the image information are sampled and aligned with respect to associated luma samples. 前記カラー情報データ構造体は、
線形イメージ情報を非線形イメージ情報に変換し、かつ/またはその逆を行うのに使用される伝達関数に関する情報を伝えるビデオ伝達関数フィールドと、
前記イメージ情報に関連する原色を伝える原色フィールドと、
前記イメージ情報の前記色空間を変更するのに使用できる伝達行列フィールドと、
前記イメージ情報に関連する潜在的なトウルームおよびヘッドルームに関する情報を伝える公称範囲フィールドと、
前記イメージ情報内のクロマサンプルが関連するルマサンプルに関してサンプリングされ、アラインされる形を示すビデオクロマサンプリングフィールドと
をさらに含むことを特徴とする請求項1に記載の方法。
The color information data structure is:
A video transfer function field that conveys information about the transfer function used to convert linear image information to non-linear image information and / or vice versa;
A primary color field for transmitting primary colors related to the image information;
A transfer matrix field that can be used to change the color space of the image information;
A nominal range field that conveys information about potential towrooms and headrooms associated with the image information;
The method of claim 1, further comprising: a video chroma sampling field that indicates how chroma samples in the image information are sampled and aligned with respect to associated luma samples.
請求項1に記載の方法をプロセッサに実行させるためのコンピュータ実行可能命令を格納したことを特徴とする1つまたは複数のコンピュータ可読記録媒体。   One or more computer-readable recording media having stored thereon computer-executable instructions for causing a processor to perform the method of claim 1. プロセッサと、
請求項1に記載の前記提供するステップ、前記渡すステップ、および前記処理するステップのそれぞれを前記プロセッサに実行させるためのコンピュータ実行可能命令を格納したコンピュータ可読記録媒体と
を含むことを特徴とする装置。
A processor;
A computer-readable recording medium storing computer-executable instructions for causing the processor to execute each of the providing step, the passing step, and the processing step according to claim 1. .
プロセッサと、
請求項16に記載の前記カラー情報データ構造体を使用して、前記提供するステップ、前記渡すステップ、および前記処理するステップのそれぞれを前記プロセッサに実行させるためのコンピュータ実行可能命令を格納したコンピュータ可読記録媒体と
を含むことを特徴とする装置。
A processor;
17. A computer readable storing computer executable instructions for causing the processor to perform each of the providing, passing and processing steps using the color information data structure of claim 16. And a recording medium.
指定されたフォーマットで表されたカラー内容を有するイメージ情報を処理するシステムであって、
ビデオ処理パイプラインを定義する複数の機能コンポーネントを含み、
前記複数の機能コンポーネントのそれぞれは、前記指定されたフォーマットの少なくとも1つの態様を定義するカラー情報を含むカラー情報データ構造を処理するように構成され、
前記カラー情報データ構造体は、前記イメージ情報に関連する、ガンマ、明るさ、及びコントラストを含む情報を伝えるイメージライトフィールドを含み、
前記複数の機能コンポーネントのそれぞれは、前記指定されたフォーマットの少なくとも1つの他の態様を判定し、前記少なくとも1つの他の態様を前記カラー情報データ構造内の少なくとも1つの未知の値に追加することを特徴とするシステム。
A system for processing image information having color content represented in a specified format,
Includes multiple functional components that define the video processing pipeline,
Each of the plurality of functional components is configured to process a color information data structure including color information defining at least one aspect of the specified format;
It said color information data structure, the related image information, gamma, look including an image light field to convey information including the brightness, and contrast,
Each of the plurality of functional components determines at least one other aspect of the specified format and adds the at least one other aspect to at least one unknown value in the color information data structure. A system characterized by
前記カラー情報データ構造体は、
線形イメージ情報を非線形イメージ情報に変換し、かつ/またはその逆を行うのに使用される伝達関数に関する情報を伝えるビデオ伝達関数フィールドと、
前記イメージ情報に関連する原色を伝える原色フィールドと、
前記イメージ情報の前記色空間を変更するのに使用できる伝達行列フィールドと、
前記イメージ情報に関連する潜在的なトウルームおよびヘッドルームに関する情報を伝える公称範囲フィールドと、
前記イメージ情報内のクロマサンプルが関連するルマサンプルに関してサンプリングされ、アラインされる形を示すビデオクロマサンプリングフィールドと
のうちの少なくとも1つをさらに含むことを特徴とする請求項20に記載のシステム。
The color information data structure is:
A video transfer function field that conveys information about the transfer function used to convert linear image information to non-linear image information and / or vice versa;
A primary color field for transmitting primary colors related to the image information;
A transfer matrix field that can be used to change the color space of the image information;
A nominal range field that conveys information about potential towrooms and headrooms associated with the image information;
21. The system of claim 20 , further comprising at least one of a video chroma sampling field that indicates how chroma samples in the image information are sampled and aligned with respect to associated luma samples.
指定されたフォーマットで表されたカラー内容を有するイメージ情報を処理する方法であって、
前記指定されたフォーマットの少なくとも1つの態様を定義するカラー情報を含むカラー情報データ構造体を提供するステップと、
前記イメージ情報を処理するのに使用される少なくとも1つの機能コンポーネントに、前記イメージ情報と共に前記カラー情報データ構造体を渡すステップと、
ルマ関連色空間の入力イメージ情報をRGB関連色空間内の線形イメージ情報に変換するステップと、
処理された情報を作るために、前記RGB関連色空間内の前記線形イメージ情報に対する処理を実行するステップと、
前記処理された情報をルマ関連色空間内の非線形イメージ情報に変換するステップと
を含み、
前記カラー情報データ構造体は、前記イメージ情報に関連する、ガンマ、明るさ、及びコントラストを含む情報を伝えるイメージライトフィールドを含み、
前記少なくとも1つの機能コンポーネントは、前記指定されたフォーマットの少なくとも1つの他の態様を判定し、前記少なくとも1つの他の態様を前記カラー情報データ構造内の少なくとも1つの未知の値に追加し、
前記カラー情報データ構造体で指定されるカラー情報を使用して、前記少なくとも1つの機能コンポーネントが、前記線形イメージ情報に変換するステップ、前記処理を実行するステップ、または前記非線形イメージ情報に変換するステップの少なくとも1つを決定することを特徴とする方法。
A method of processing image information having color content represented in a specified format, comprising:
Providing a color information data structure including color information defining at least one aspect of the specified format;
Passing the color information data structure along with the image information to at least one functional component used to process the image information;
Converting input image information in a luma-related color space into linear image information in an RGB-related color space;
Performing processing on the linear image information in the RGB-related color space to produce processed information;
Converting the processed information into non-linear image information in a luma-related color space;
The color information data structure includes an image light field that conveys information related to the image information, including gamma, brightness, and contrast ;
The at least one functional component determines at least one other aspect of the specified format and adds the at least one other aspect to at least one unknown value in the color information data structure;
Using the color information specified in the color information data structure, the at least one functional component converts to the linear image information, performs the process, or converts to the non-linear image information Determining at least one of:
前記変換するステップは、
前記処理を実行するステップの前に、前記入力イメージ情報をインターレースフォーマットからプログレッシブフォーマットに変換するステップと、
前記処理するステップの後に、前記処理された情報をプログレッシブフォーマットからインターレースフォーマットに変換するステップと
を含むことを特徴とする請求項22に記載の方法。
The converting step includes:
Converting the input image information from an interlaced format to a progressive format before performing the process;
23. The method of claim 22 , comprising, after the processing step, converting the processed information from a progressive format to an interlaced format.
請求項22に記載の方法をプロセッサに実行させるためのコンピュータ実行可能命令を格納したことを特徴とする1つまたは複数のコンピュータ可読記録媒体。 23. One or more computer-readable media having stored thereon computer-executable instructions for causing a processor to perform the method of claim 22 . プロセッサと、
請求項22に記載の前記入力情報を変換するステップ、前記処理を実行するステップ、および前記非線形イメージ情報に変換するステップのそれぞれを前記プロセッサに実行させるためのコンピュータ実行可能命令を格納したコンピュータ可読記録媒体と
を含むことを特徴とする装置。
A processor;
23. A computer-readable record storing computer-executable instructions for causing the processor to execute each of the step of converting the input information according to claim 22 , the step of executing the processing, and the step of converting to the non-linear image information. A device comprising: a medium.
JP2006522101A 2003-08-01 2004-07-30 Strategies for processing image information using color information data structures Active JP5214144B2 (en)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US49202803A 2003-08-01 2003-08-01
US60/492,028 2003-08-01
US10/694,144 US7139002B2 (en) 2003-08-01 2003-10-27 Bandwidth-efficient processing of video images
US10/694,144 2003-10-27
US10/902,325 2004-07-29
US10/902,325 US7643675B2 (en) 2003-08-01 2004-07-29 Strategies for processing image information using a color information data structure
PCT/US2004/024707 WO2005013087A2 (en) 2003-08-01 2004-07-30 Strategies for processing image information using a color information data structure

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2011154377A Division JP5394447B2 (en) 2003-08-01 2011-07-13 Strategies for processing image information using color information data structures

Publications (2)

Publication Number Publication Date
JP2007515839A JP2007515839A (en) 2007-06-14
JP5214144B2 true JP5214144B2 (en) 2013-06-19

Family

ID=38212227

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2006522101A Active JP5214144B2 (en) 2003-08-01 2004-07-30 Strategies for processing image information using color information data structures
JP2011154377A Expired - Fee Related JP5394447B2 (en) 2003-08-01 2011-07-13 Strategies for processing image information using color information data structures

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2011154377A Expired - Fee Related JP5394447B2 (en) 2003-08-01 2011-07-13 Strategies for processing image information using color information data structures

Country Status (1)

Country Link
JP (2) JP5214144B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10070098B2 (en) * 2016-10-06 2018-09-04 Intel Corporation Method and system of adjusting video quality based on viewer distance to a display

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5684968A (en) * 1995-06-16 1997-11-04 International Business Machines Corporation Method and apparatus for processing multiple images concurrently
JP3345414B2 (en) * 1996-05-09 2002-11-18 松下電器産業株式会社 A recording medium, a reproducing apparatus, and a reproducing method capable of superimposing a sub-video on a main video in a well-balanced manner, regardless of how the main video is arranged on a screen.
US20020145610A1 (en) * 1999-07-16 2002-10-10 Steve Barilovits Video processing engine overlay filter scaler
JP2003052002A (en) * 2000-09-01 2003-02-21 Seiko Epson Corp Output image adjustment of image file

Also Published As

Publication number Publication date
JP2007515839A (en) 2007-06-14
JP5394447B2 (en) 2014-01-22
JP2011239455A (en) 2011-11-24

Similar Documents

Publication Publication Date Title
US8428346B2 (en) Strategies for processing image information using a color information data structure
US7139002B2 (en) Bandwidth-efficient processing of video images
US7602406B2 (en) Compositing images from multiple sources
JP5123282B2 (en) Method and apparatus for facilitating processing of interlaced video images for progressive video display
US6462786B1 (en) Method and apparatus for blending image input layers
US6157415A (en) Method and apparatus for dynamically blending image input layers
US8184127B2 (en) Apparatus for and method of generating graphic data, and information recording medium
US8723891B2 (en) System and method for efficiently processing digital video
US7554563B2 (en) Video display control apparatus and video display control method
KR20070026609A (en) Device and method of downscaling and blending two high resolution images
JP2014239508A (en) Method, apparatus, and mechanically readable recording medium for describing video processing
US7414632B1 (en) Multi-pass 4:2:0 subpicture blending
US7483037B2 (en) Resampling chroma video using a programmable graphics processing unit to provide improved color rendering
US6335761B1 (en) Method and apparatus for converting color base of an image layer
US6980223B2 (en) Method and apparatus for converting a color space of OSD
JP5394447B2 (en) Strategies for processing image information using color information data structures
US7400333B1 (en) Video display system with two controllers each able to scale and blend RGB and YUV surfaces

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070730

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110111

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110121

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110421

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110428

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110713

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120410

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121019

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130121

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130215

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130227

R150 Certificate of patent or registration of utility model

Ref document number: 5214144

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160308

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250