JP5123282B2 - プログレッシブ・ビデオ表示のためのインターレース・ビデオ画像の処理を容易にする方法および装置 - Google Patents
プログレッシブ・ビデオ表示のためのインターレース・ビデオ画像の処理を容易にする方法および装置 Download PDFInfo
- Publication number
- JP5123282B2 JP5123282B2 JP2009285191A JP2009285191A JP5123282B2 JP 5123282 B2 JP5123282 B2 JP 5123282B2 JP 2009285191 A JP2009285191 A JP 2009285191A JP 2009285191 A JP2009285191 A JP 2009285191A JP 5123282 B2 JP5123282 B2 JP 5123282B2
- Authority
- JP
- Japan
- Prior art keywords
- graphics device
- call
- graphics
- parameter
- device driver
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/003—Details of a display terminal, the details relating to the control arrangement of the display terminal and to the interfaces thereto
- G09G5/006—Details of the interface to the display terminal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/01—Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
- H04N7/0117—Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving conversion of the spatial resolution of the incoming video signal
- H04N7/012—Conversion between an interlaced and a progressive signal
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2310/00—Command of the display device
- G09G2310/02—Addressing, scanning or driving the display screen or processing steps related thereto
- G09G2310/0229—De-interlacing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/01—Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
- H04N7/0117—Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving conversion of the spatial resolution of the incoming video signal
- H04N7/0122—Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving conversion of the spatial resolution of the incoming video signal the input and the output signals having different aspect ratios
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N9/00—Details of colour television systems
- H04N9/64—Circuits for processing colour signals
- H04N9/643—Hue control means, e.g. flesh tone control
Landscapes
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Controls And Circuits For Display Device (AREA)
- Television Systems (AREA)
- Control Of Indicators Other Than Cathode Ray Tubes (AREA)
Description
図1は、以下で説明する方法および装置を実装することができる適切なコンピューティング環境120の一例を示している。典型的なコンピューティング環境120は適切なコンピューティング環境の一例にすぎず、本明細書に記載の改良された方法およびシステムの用途または機能の範囲に関していかなる限定をも示唆することを意図するものではない。また、コンピューティング環境120は、コンピューティング環境120に示される構成要素のどれか1つまたはそれらの組合せに関するいかなる依存状態または必要条件を有するものと解釈されるべきでもない。
上記の通り、ビデオ画像データをコンピュータのモニタ上または他の類似の表示装置上に正確に表示することができるようにある種のビデオ画像データをインターレース解除する必要がある。既に発売されているMicrosoft(登録商標)Windows(登録商標)オペレーティング・システムは、例えば、ビデオをコンピュータのモニタ上に表示する際にそのビデオをインターレース解除するためには「グラフィックス・オーバーレイ・デバイス」に依存してきた。この技術または他の類似の技術にはいくつかの欠点があるが、それらの欠点には例えば以下のものが含まれる。(1)コンピュータには「グラフィックス・オーバーレイ・デバイス」が1つしかなく、したがって単一のビデオ・ストリームしか正確に表示することはできない。(2)グラフィックス・オーバーレイ・デバイスが、コンピュータのデスクトップ・ディスプレイに「keyed(嵌めこまれ)」されてしまう。すなわちエンド・ユーザは印刷画面キーを押しても、その時点で表示されているビデオ画像ではなく基調色(key color)を取り込むだけだということである。(3)ユーザがウィンドウを新しい位置にドラッグすると、ビデオが表示されるべき場所に基調色が時折点滅しながら表示される。(4)ユーザがビデオ再生ウィンドウの上に半透明のウィンドウをドラッグすると、基調色はそのビデオ画像ではなくユーザのウィンドウとブレンドされる。
図2の上部には、2つのインターリーブされたフィールド、すなわちトップ・フィールド202とボトム・フィールド204とを有するように示されるインターリーブされたビデオ・サーフェス200が示されている。ビデオ・サーフェス200は、幅206、高さ208、およびストライド210を有する。図2の下部には、再解釈されたビデオ・サーフェス200′が、分離したトップ・フィールド202′とボトム・フィールド204′とを有するように示されている。ここで、ビデオ・サーフェス200′は、対応するインターレースされたビデオ・サーフェス200の高さの1/2の高さ208′と、対応するインターレースされたビデオ・サーフェス200のストライドの2倍のストライド210′とを有する。
図3は、図1に示されているようなコンピュータ内でビデオ信号をレンダリングする際に使用されるある種の要素/機能を示すブロック図である。これらの様々な要素および/または機能は、ハードウェアおよび/またはソフトウェアで適切なものとして実装可能である。これらの要素および/または機能の多くは周知の技術を代表するものである。本発明のある側面では、グラフィックス・インターフェースとグラフィックス・デバイス・ドライバとの間のインターフェース(例えばデバイス・ドライバ・インターフェース、DDI)は、グラフィックス・オーバレイを必要とせず、かつ/またはレンダラーの機能を改善して、グラフィックス・デバイス・ドライバ/ロジックとより良好な通信を行うように変更され、インターレース、フレーム・レート変換、および/またはグラフィックス・デバイスの他の機能の改善点を活用する。したがって、図3の典型的な装置300の記述に続いて、適用可能な方法が、図4に、さらに、本発明のある追加実装例に従ってアプリケーション・プログラミング・インターフェース(API)の形式で、提示されている。
次に図4の流れ図を参照すると、レンダラー310とグラフィックス・デバイス332をインターフェースする方法400が示されている。1つまたは複数のAPI316を、方法400を実行するかまたは他の方法でサポートするように、構成することができる。
装置300は、ビデオ・データのインターレース解除、フレーム・レート変換および/または他の処理、を提供するように構成することができるビデオ処理システムの一例である。さらなる例として、本発明のある種の典型的な実装によって、Microsoft(登録商標)DirectX(登録商標)VAは、レンダリングされ表示されるべき画像データの処理に関連付けられたインターレース解除およびフレーム・レート変換をサポートするように拡張されるか、または他の方法で強化することができる。さらなる関連情報を、Microsoft(登録商標)Windows(登録商標)Platform Design Note entitled DirectX(登録商標)VA: Video Acceleration API/DDI, dated January 23, 2001、に見つけることができ、これらを参照により本明細書に組み込む。
StretchBltを実行することのできる大部分のグラフィックス・アダプタは、簡単なBOBスタイルのインターレース解除を実行することもできる。これは、基本的に、DirectDraw(登録商標)サーフェスのビデオのメモリ・レイアウトを再解釈する問題である。例えば2つのフィールドを分離するためにサーフェスが再解釈された後では、1つのフィールド内の各ラインは(例えば、中間ラインを生成するための補間によって)2倍になる。インターレース解除されたビデオが垂直ジッタを表示することを防止するために、単一のフレーム・ライン・オフセットが必要となる場合がある。
本明細書に記載の典型的なAPI316は、メソッドの2つの機能グループに分割することができる。第1のグループには、グラフィックス・デバイスのインターレース解除能力を決定するために使用することができる一組のメソッドと装置が含まれる。第2のグループには、インターレース解除されたストリーム・オブジェクトを作成し使用するために用いられる一組のメソッドと装置が含まれる。
「DeinterlaceQueryAvailableModes」
DeinterlaceQueryAvailableModesのメソッドは、特定の入力ビデオ形式に関して使用可能なインターレース解除、フレーム・レート変換モードおよび/または他の機能/モード(能力)を照会するために使用することができる。ここで、例えば、グラフィックス・デバイスによって戻された各モードに対してグローバル一意識別子(GUID:globally unique identifier)または他の適切な識別子が提供される。GUIDは、例えば、品質の降順(または昇順)などのある種の特定の順番で戻すことができる。したがって例えば、最高品質のモードは、戻されるGUIDアレイの第1の要素(first element)を占有することができる。したがって、例として、
HRESULT
DeinterlaceQueryAvailableModes(
[in] LPDXVA_VideoDesc lpVideoDescription,
[in out] LPDWORD lpdwNumModesSupported,
[in out] LPGUID pGuidsDeinterlaceModes
);
を検討されたい。
typedef enum_DXVA_SampleFormat {
DXVA_SamplePreviousOutputFrame = 1,
DXVA_SampleProgressiveFrame = 2,
DXVA_SampleFieldInterleavedEvenFirst = 3,
DXVA_SampleFieldInterleavedOddFirst = 4,
DXVA_SampleFieldSingleEven = 5,
DXVA_SampleFieldSingleOdd = 6,
} DXVA_SampleFormat;
typedef struct_DXVA_Frequency {
DWORD Numerator;
DWORD Denominator;
} DXVA_Frequency;
typedef struct_DXVA_VideoDesc {
DWORD Size;
DWORD SampleWidth;
DWORD SampleHeight;
DXVA_SampleFormat;
D3DFORMAT d3dFormat;
DXVA_Frequency InputSampleFreq;
DXVA_Frequency OutputFrameFreq;
} DXVA_VideoDesc, * LPDXVA_VideoDesc;
29.97Hzの周波数で1つのサンプルあたり2つのフィールドとして供給される720x480iコンテンツをインターレース解除するために、DXVA_VideoDescデータ構造は以下のものを収容することができる。
SampleWidth = 720;
SampleHeight = 480;
SampleFormat = DXVA_SampleFieldInterleavedOddFirst;
d3dFormat = D3DFMT_YUV2;
InputSampleFreq.Numerator = 30000; // 29.97
InputSampleFreq.Denominator = 1001;
OutputFrameFreq.Numerator = 60000; // 59.94;
OutputFrameFreq.Denominator = 1001;
OutputFrameFreq.Numerator = 85; // 85 Hz monitor Frequency
OutputFrameFreq.Denominator = 1;
後でMPEG符号化するために単一フィールドをプログレッシブ・フレームにインターレース解除することだけを意図する場合、OutputFrameFreqフィールドは以下の通りであってよい。
OutputFrameFreq.Numerator = 30000; // 29.97
OutputFrameFreq.Denominator = 1001;
例えばモニタ表示の周波数を合わせるために、480pコンテンツ上でフレーム・レート変換を実行する場合、DXVA_VideoDesc構造は以下のものを収容することができる。
SampleWidth = 720;
SampleHeight = 480;
SampleFormat = DXVA_SampleProgressiveFrame;
d3dFormat = D3DFMT_YUV2;
InputSampleFreq.Numerator = 60; // 60 Hz
InputSampleFreq.Denominator = 1;
OutputFrameFreq.Numerator = 85; // 85 Hz monitor Frequency
OutputFrameFreq.Denominator = 1;
グラフィックス・デバイスは、例えば以下の可能なインターレース解除モードを報告することができる。
例えばBlt′terを使用したBOB(ライン倍加)。ある種の実装では、このモードは常に使用可能である筈である。
単純な切替適応。ここでは、例えば、そのフィールドに関して少ない動き(low motion)が検出された場合は2つの隣接フィールドのブレンドであり、大きな動き(high motion)が検出された場合はBOBである。
拡張型3D適応。ここでは、例えば、欠けているラインが、そのグラフィックス・デバイスに固有であるようなある適応プロセスによって生成される。このプロセスは、例えば、欠けているラインの生成を支援するためにいくつかの参照サンプルを使用するかも知れない。この基準サンプルは、時間的に過去であっても未来であってもよい。例えば、3次元線形フィルタリングはこのカテゴリーに分類されることになる。
運動ベクトル・ステアード(Motion Vector Steered)。ここでは、補間が行われる前に、シーン内の個々のオブジェクトの運動ベクトルが使用され、個々の移動が時間軸で整列させられる。
ある種の典型的なグラフィックス・デバイスは、以下の実現可能なフレーム・レート変換モードを報告することができる。
フレーム反復/ドロップ。これは、選択されたソース・サンプルを宛先サーフェスにコピーすることによって必要以上のメモリ帯域幅を消費する傾向があるので、推奨されないかもしれない。
線形時相補間。ここでは、新しいフレームを作成するために未来の参照フィールドと以前の参照フィールドがAlphaブレンドされる。
運動ベクトル・ステアード。補間が行われる前に、シーン内の個々のオブジェクトの運動ベクトルが使用され、個々の移動が時間軸で整列させられる。
「DeinterlaceQueryModeCaps」
レンダラー310は、特定のビデオ形式に使用可能なインターレース解除モードを決定した後で、特定のインターレース解除モードおよび/または選択された他の適用可能なビデオ処理の入力要件に関するより詳細な情報を決定するために再度グラフィックス・デバイス・ドライバ320に照会する。したがって、以下の例を検討されたい。
HRESULT
DeinterlaceQueryModeCaps(
[in] LPGUID pGuidDeinterlaceMode,
[in] LPDXVA_VideoDesc lpVideoDescription,
[out] DXVA_DeinterlaceCaps* lpDeinterlaceCaps
);
typedef struct_DXVA_DeinterlaceCaps{
DWORD Size;
DWORD NumPreviousOutputFrames;
DWORD InputPool;
DWORD NumForwardRefSamples;
DWORD NumBackwardRefSamples;
D3DFORMAT OutputFrameFormat;
DWORD VideoProcessingCaps;
DWORD DeinterlaceTechnology;
} DXVA_DeinterlaceCaps;
DXVA_VideoProcess_StretchX
DXVA_VideoProcess_StretchY
DXVA_VideoProcess_AlphaBlend
例:「DeinterlaceStream」オブジェクト
適切なインターレース解除モードGUIDが見つかった後で、DeinterlaceStreamオブジェクトを作成することができる。DeinterlaceStreamオブジェクトを作成することによって、グラフィックス・デバイス・ドライバ320が、要求されたインターレース解除または他の選択された動作を実行するために必要となる任意のハードウェア資源(例えばGPU322等に関連付けられたもの)を確保することが可能になる。
DeinterlaceOpenStreamメソッドは、DeinterlaceStreamオブジェクトを作成する。例えば以下のものを検討されたい。
HRESULT
DeinterlaceOpenStream(
[in] LPGUID pGuidDeinterlaceMode,
[in] LPDXVA_VideoDesc lpVideoDescription,
[out] HDXVA_DeinterlaceStream* lphDiStrm
);
typedef struct_DXVA_VideoSample {
REFERENCE_TIME rtStart;
REFERENCE TIME rtEnd;
DXVA_SampleFormat SampleFormat;
LPVOTD lpDDSSrcSurface;
} DXVA_VideoSample, *LPDXVA_VideoSample;
ここで、ビデオ・サンプルが2つのインターリーブされたフィールドを収容している場合、
DXVA_SampleFieldInterleavedEvenFirst, or
DXVA_SampleFieldInterleavedOddFirst,
また、第2のフィールドの開始時間は以下の要領で計算することができる。
rtStartSecondField = (rtStart + rtEnd) / 2;
DeinterlaceBltメソッドは、出力を宛先サーフェスに書き込むことによってインターレース解除またはフレーム・レート変換動作を実行する。したがって、以下のものを検討されたい。
HRESULT
DeinterlaceBlt(
[in] HDXVA_DeinterlaceStream hDiStrm
[in] REFERENCE_TIME rtTargetFrame,
[in] LPRECT lprcDstRect,
[in] LPDDSURFACE lpDDSDstSurface,
[in] LPRECT lprcSrcRect,
[in] LPDXVA_VideoSample lpDDSrcSurfaces,
[in] DWORD dwNumSurfaces,
[in] FLOAT fAlpha /*0.0F transparent, 1.0F opaque */
);
DeinterlaceCloseStreamメソッドは、DeinterlaceStreamオブジェクトを閉じ、このストリームに関連付けられたハードウェア資源をどれも解放するようデバイス・ドライバに指示する。例えば、以下のものを検討されたい。
HRESULT
DeinterlaceCloseStream(
HDXVA_DeinterlaceStream hDiStrm
);
Windows(登録商標)オペレーティング・システムに関してDDIインフラストラクチャとの互換性のために、本明細書で前述し、提案されたAPIおよびそれらに類似の他のインターフェースは、DirectDraw(登録商標)およびDirectX(登録商標)VAに対する既存のDDIに「マッピング」することができる。本節では、既存のDirectDraw(登録商標)およびDX−VA DDIに対する典型的なインターレース解除インターフェースのマッピングを説明する。
DX−VA DDIはそれ自体が、「DX−VAコンテナ」と「DX−VAデバイス」の2つの機能グループに分離する。
DX−VAコンテナDDIグループの目的は、ディスプレイ・ハードウェアに収容されている様々なDX−VAデバイスの数と能力を決定することである。したがって、DX−VAドライバは、複数のDX−VAデバイスをサポートしながらも、単一コンテナを有することのみを必要とする。
DX−VAコンテナ・グループのどのDDIエントリーポイントに対してもインターレース解除デバイス「照会」コールをマッピングすることはできない。何故ならば、それ以外のDX−VAと異なり、このコンテナ・メソッドは型付きパラメータを使用するからである。しかし、DX−VAデバイスDDIグループは型付きパラメータを使用しない。したがって提案されたインターレース解除インターフェースをそのグループのメソッドにマッピングすることが可能である。以下の本節では、本明細書に記載の新しいインターフェースがDX−VAデバイスDDIにどのようにマッピングされ得るか、を説明する。
DX−VAデバイス・メソッドは、型付きパラメータを使用しない。したがってこのメソッドは多くの異なる目的のために再利用することができる。しかし、DX−VAデバイス・メソッドは、DX−VAデバイスのコンテキストにおいて使用することのみが可能である。したがって特別な「インターレース解除コンテナ・デバイス」を最初に定義し、作成することが必要となる。本明細書で使用されるように、DX−VAインターレース解除コンテナ・デバイスはソフトウェア構成のみであり、一般的なデバイスに収容されるいかなる機能的なハードウェアも表すものではない。本明細書で後述するインターレース解除サンプル・デバイス・ドライバ・コードは、このコンテナ・デバイスがどのようにしてドライバによって実装され得るか、を示している。
レンダラー310などのユーザ・モード構成要素からDDI314を使用するためのステップのシーケンスは、以下の通りである。
グラフィックス・デバイス・ドライバ320によってサポートされるDX−VAデバイスのリストを入手するためにGetMoCompGuidsを呼び出す。
「インターレース解除コンテナ・デバイス」GUIDが存在する場合、このDX−VAデバイスのインスタンスを作成するためにCreateMoCompを呼び出す。このコンテナ・デバイスGUIDは、例えば以下のように定義することができる。
DEFINE_GUID (DXVA_DeinterlaceContainerDevice,
0x0e85cb93, 0x3046, 0x4ff0, 0xae, 0xcc, 0xd5, 0x8c, 0xb5, 0xf0,
0x35, 0xfc);
この典型的メソッドは、インターレース解除コンテナ・デバイスのRenderMoCompメソッドへのコールに対して直接的にマッピングする。DD_RENDERMOCOMPDATA構造は以下の要領で完成することができる。
dwNumBuffersはゼロ。
lpBufferInfoはNULL。
dwFunctionは、DXVA_DeinterlaceQueryAvailableModesFnCodeとして定義される
lpInputDataは、完全なDXVA_VideoDesc構造を指し示すことになる。
lpOutputDataは、以下の構造を指し示す。
#define MAX_DEINTERLACE_DEVICE_GUIDS 32
typedef struct_DXVA_DeinterlaceQueryAvailableModes {
DWORDSize;
DWORD NumGuids;
GUID Guids[MAX_DEINTERLACE_DEVICE_GUIDS];
} DXVA_DeinterlaceQueryAvailableModes;
この典型的なメソッドは、インターレース解除コンテナ・デバイスのRenderMoCompメソッドへのコールに対して直接的にマッピングする。DD_RENDERMOCOMPDATA構造は以下の要領で完成することができる。 dwNumBuffersはゼロ。
lpBufferInfoはNULL。
dwFunctionは、DXVA_DeinterlaceQueryModeCapsFnCodeとして定義される。
lpInputDataは、以下のDXVA_DeinterlaceQueryModeCaps構造を指し示すことになる。
typedef struct _DXVA_DeinterlaceQueryModeCaps {
DWORD Size;
GUID Guid;
DXVA_VideoDesc VideoDesc;
} DXVA_DeinterlaceQueryModeCaps;
この典型的なメソッドは、GUIDが要求されたインターレース解除のタイプであり、pUncompDataがデータを収容していない(すべてがゼロの)構造を指し示しており、pDataがDXVA_VideoDesc構造を指し示している場合、DD_MOTIONCOMPCALLBACKS構造のCreateMoCompメソッドに直接的にマッピングする。
以下の典型的なサンプル・コードは、ドライバが、CreateMoCompDDIコールをDeinterlaceOpenStreamへのコールにどのようにマッピングすることができるかを示している。このサンプル・コードは、インターレース解除にCreateMocComp機能がどのように使用されるかだけを示している。このドライバが、MPEG−2ビデオ・ストリームの復号などの他のDX−VA機能もサポートしている場合、以下のサンプル・コードは追加のDX−VA GUIDの処理を含めるように拡張することができる。
DWORD APIENTRY CreateMoComp(PDD_CREATEMOCOMPDATA lpData)
{
// DXVA_DeinterlaceStream is data structure defined by the driver
// to store any data required for the driver
// to de-interlace this particular video data
//
LPDXVA_DeinterlaceStream pDXVA_State = NULL;
// Make sure it's a guid we like.
if (FAILED(ValidDXVAGuid(lpData->lpGuid))) {
lpData->ddRVal = E_INVALIDARG;
return DDHAL_DRIVER_HANDLED;
}
// Look for the deinterlace container device GUID
if (*lpData->lpGuid == DXVA_DeinterlaceContainerDevice) {
DXVA_DeinterlaceContainerDeviceClass * lpDev =
new DXVA_DeinterlaceContainerDeviceC1ass(*lpData->lpGuid,
DXVA_DeviceContainer);
if(lpDev) {
lpData->ddRVal = DD_OK;
}
else{
lpData->ddRVal = E_OUTOFMEMORY;
}
lpData->lpMoComp->IpDriverReserved l =
(LPVOID)(DXVA_DeviceBaseClass*)lpDev;
return DDHAL_DRIVER_HANDLED;
}
// Look for the deinterlace BOB device GUID
if (*1pData->1pGuid == DXVA_DeinterlaceBobDevice) {
DXVA_DeinterlaceBobDeviceClass* IpDev =
new DXVA_DeinterlaceBobDeviceClass(*lpData->1pGuid,
DXVA_DeviceDeinterlacer);
if (lpDev) {
LPDXVA_VideoDesc lpVideoDescription =
(LPDXVA_VideoDesc)lpData->lpData;
lpData->ddRVal = lpDev->DeinterlaceOpenStream(
lpVideoDescription);
if (lpData->ddRVal != DD_OK) {
delete lpDev;
lpDev = NULL;
}
}
else lpData->ddRVal = E_OUTOFMEMORY;
lpData->lpMoComp->lpDriverReserved 1 =
(LPVOID) (DXVA_DeviceBaseClass*)lpDev;
return DDHAL_DRIVER_HANDLED;
}
lpData->ddRVal = DDERR_CURRENTLYNOTAVAIL;
return DDHAL_DRIVER_HANDLED;
}
CreateMoCompDDI機能の他に、ドライバは、DD_MOTIONCOMPCALLBACKS構造のGetMoCompGuidsメソッドを実装することもできる。以下の典型的なサンプル・コードは、ドライバ内にこの機能を実装する1つの可能な方法を示している。
// This is the list of all DV-VA device GUIDs supported by
// the driver - this list will include decoder, de-interlacing and
// the de-interlacing container device. There is no significance to
// the order of the GUIDs on the list.
//
DWORD g_dwDXVANumSupportedGUlDs = 4;
const GUID* g_DXVASupportedGUIDs[4] = {
&DXVA_DeinterlaceContainerDevice,
&DXVA_Deinterlace3Samples,
&DXVA_Deinterlace2Samples,
&DXVA_DeinterlaceBobDevice
};
//
// This is the list of de-interlacing devices, in order of
// visual quality.
//
DWORD g_dwDXVADeinterlaceNumSupportedGUlDs = 3;
const GUID* g_DXVADe-interlacedSupportedGUlDs[3] = {
// replace this GUID with the own implementation
&DXVA_Deinterlace3Samples,
// replace this GUID with the own implementation
&DXVA_Deinterlace2Samples,
// everyone has to support BOB
&DXVA_DeinterlaceBobDevice
};
DWORD APIENTRY
GetMoCompGuids(
PDD_GETMOCOMPGUIDSDATA lpData
)
{
DWORD dwNumToCopy;
// Check to see if this is a GUID request or a count request
if (lpData->lpGuids) {
dwNumToCopy = min(g_dwDXVANumSupportedGUlDs,
lpData->dwNumGuids);
for (DWORD i = 0; i < dwNumToCopy; i++) {
lpData->lpGuids[i] = *g_DxVASupportedGUIDs[i];
}
}
else {
dwNumToCopy = g_dwDXVANumSupportedGUlDs;
}
lpData->dwNumGuids = dwNumToCopy;
lpData->ddRVal = DD_OK;
return DDHAL_DRIVER_HANDLED;
}
この典型的なメソッドは、DD_MOTIONCOMPCALLBACKS構造のRenderMoCompメソッドに直接的にマッピングする。ここで、
dwNumBufferはソース・サーフェスの数+1である。
lpBufferInfoはサーフェスのアレイを指し示す。第1のサーフェスは宛先サーフェスであり、残りのサーフェスはソース・サーフェスである。
dwFunctionはDXVA_DeinterlaceBltFnCodeとして定義されている。
lpInputDataは以下の構造を指し示すことになる。
#define MAX_DEINTEREACE_INPUT_SURFACES 32
typedef struct _DXVA_DeinterlaceBlt
{
DWORD Size;
REFERENCE_TIME rtTargetFrame;
RECT DstRect;
RECT SrcRect;
DWORD NumSourceSurfaces;
FLOAT fAlpha;
DXVA_VideoSample
Source[MAX_DEINTERLACE_INPUT_SURFACES];
} DXVA_DeinterlaceBlt;
lpOutoutData is NULL.
以下の典型的なサンプル・コードは、ドライバが、RenderMoCompDDIコールをDeinterlaceBltへのコールにどのようにマッピングすることができるかを示している。サンプル・コードは、インターレース解除にRenderMoComp機能がどのように使用されるかだけを示している。このドライバが、MPEG−2ビデオ・ストリームの復号などの他のDX−VA機能もサポートしている場合、サンプル・コードは追加のDX−VA GUIDの処理を含めるために拡張することができる。
DWORD APIENTRY
RenderMoComp(
PDD_RENDERMOCOMPDATA lpData
)
{
LPDXVA_DeinterlaceStream pDXVAState =
(LPDXVA_DeinterlaceStream)lpData->lpMoComp
>lpDriverReserved1;
DXVA_DeinterlaceBlt* lpBlt =
(DXVA_DeinterlaceB1t*)lpData->lpInputData;
LPDDMOCOMPBUFFERINFO lpBuffInfo = lpData->BufferInfo;
for (DWORD i =0; i <lpBlt->NumSourceSurfaces; i++) {
lpBlt->Source[i].lpDDSSrcSurface =
lpBuffInfo[l + i].lpCompSurface;
}
lpData->ddRVal = DeinterlaceBlt(pDXVAState,
lpBlt->rtTarget,
&lpBlt->DstRect,
lpBuffInfo[0].lpCompSurface,
&lpBlt->SrcRect,
&lpBlt->Source,
lpBlt->NumSourceSurfaces,
lpBlt->Alpha);
return DDHAL_DRIVER_HANDLED;
}
この典型的なメソッドは、DD_MOTIONCOMPCALLBACKS構造のDestroyMoCompメソッドに直接的にマッピングする。
以下の典型的なサンプル・コードは、ドライバが、DestroyMoCompDDIコールをDeinterlaceCloseStreamへのコールにどのようにマッピングすることができるかを示している。このサンプル・コードは、インターレース解除にDestroyMoComp機能がどのように使用されるかだけを示している。このドライバが、MPEG−2ビデオ・ストリームの復号などの他のDX−VA機能もサポートしている場合、以下のサンプル・コードは追加のDX−VA GUIDの処理を含めるために拡張することができる。DWORD APIENTRY
DestroyMoComp(
PDD_DESTROYMOCOMPDATA lpData
)
{
LPDXVA_DeinterlaceStream pDXVAState =
(LPDXVA_DeinterlaceStream)lpData->lpMoComp-
>lpDriverReserved 1;
lpData->ddRVal = DeinterlaceCloseStream(pDXVAState);
lpData->lpMoComp->lpDnverReserved 1 = NULL;
return DDHAL_DRIVER_HANDLED;
}
本明細書に記載の様々な典型的実装により、本発明は、コンピュータのモニタまたは他の類似の表示装置上に正確に表示することができるように、ビデオ画像データのインターレース解除の問題点に対処する。指摘したように、従来型インターレース解除技術は、通常、複数の制約および制限を有するグラフィックス・プロセッサによる「グラフィックス・オーバーレイ・デバイス」の使用を必要とする。本明細書に記載の様々な方法および装置を使用することによって、例えば、コンピュータのモニタ上に表示することのできる単一ビデオ・フレームを作成するためにビデオ・フィールドをどのようにインターレース解除するかに関してグラフィックス・プロセッサに指示することができ、その結果、インターレースされたビデオがリアルタイムで正確に表示される。さらなる例として様々なAPIも示したが、その一部は、グラフィックス・デバイス・ドライバにおいてビデオ・コンテンツ用のインターレース解除および/またはフレーム・レート変換をサポートするために特にMicrosoft(登録商標)DirectX(登録商標)VAを拡張する。
300 本発明のある種の典型的な装置
302 変換ロジック
304 1つのソース
306 インターネット
308 遠隔ソース
310 レンダラー
312 グラフィックス・インターフェース・ロジック
314 デバイス・ドライバ・インターフェース
332 グラフィックス・デバイス
Claims (36)
- グラフィックス・デバイス・ドライバに関連付けられたグラフィックス・デバイスによって処理されるべきインターレースされたビデオ・データの記述を、前記グラフィックス・デバイス・ドライバに識別させること、をレンダラーにさせること、
前記グラフィックス・デバイスに関連付けられた少なくとも1つのグラフィックス処理能力を、前記レンダラーに識別させることを、前記グラフィックス・デバイス・ドライバにさせること、
前記レンダラーに、少なくとも1つの識別されたグラフィックス処理能力を選択すること、かつ前記少なくとも1つの識別されたグラフィックス処理能力に対する入力要件を前記グラフィックス・デバイス・ドライバに要求することをさせること、および、
前記少なくとも1つの識別されたグラフィックス処理能力に関連付けられた少なくとも1つの入力要件を、前記レンダラーに対して識別することを、前記グラフィックス・デバイス・ドライバにさせること
を備えることを特徴とする方法。 - レンダリング・ロジックと、
グラフィックス・デバイス・ロジックと、
前記レンダリング・ロジックと前記グラフィックス・デバイス・ロジックとに動作可能に結合されるインターフェース・ロジックと
を備える装置であって、
前記インターフェース・ロジックを使用することによって、
前記レンダリング・ロジックは、前記グラフィックス・デバイス・ロジックに関連付けられたグラフィックス・デバイスによって処理されるべきインターレースされたビデオ・データの記述を前記グラフィックス・デバイスへ提供し、
前記グラフィックス・デバイス・ロジックは、前記グラフィックス・デバイスに関連付けられた少なくとも1つのグラフィックス処理能力を識別し、
前記レンダリング・ロジックは、少なくとも1つの選択されたグラフィックス処理能力に対する入力要件を前記グラフィックス・デバイス・ロジックに要求し、および、
前記グラフィックス・デバイス・ロジックは、前記少なくとも1つの選択されたグラフィックス処理能力に関連付けられた少なくとも1つの入力要件を識別する
ことを特徴とする装置。 - 前記インターフェース・ロジックは、少なくとも1つのアプリケーション・プログラミング・インターフェース(API)を含むことを特徴とする請求項2に記載の装置。
- グラフィックス・デバイス・ドライバに関連付けられたグラフィックス・デバイスによって処理されるべきインターレースされたビデオ・データの記述を前記グラフィックス・デバイス・ドライバに対してレンダラーが識別すること、
前記グラフィックス・デバイスに関連付けられた少なくとも1つのグラフィックス処理能力を前記レンダラーに対して前記グラフィックス・デバイス・ドライバが識別すること、
前記レンダラーが、少なくとも1つの識別されたグラフィックス処理能力を選択し、かつ前記少なくとも1つの識別されたグラフィックス処理能力に対する入力要件を前記グラフィックス・デバイス・ドライバに要求すること、および、
前記少なくとも1つの識別されたグラフィックス処理能力に関連付けられた少なくとも1つの入力要件を前記レンダラーに対して前記グラフィックス・デバイス・ドライバが識別すること
を可能にするインターフェース能力を提供することを備える動作を少なくとも1つの処理装置に実行させるためのコンピュータ実行可能命令を有することを特徴とするコンピュータ可読記録媒体。 - 前記インターフェース能力は、少なくとも1つのアプリケーション・プログラミング・インターフェース(API)を含むことを特徴とする請求項4に記載のコンピュータ可読記録媒体。
- レンダラーとグラフィックス・デバイス・ドライバをインターフェースする方法であって、
ビデオ・データをインターレース解除する際に、グラフィックス・デバイス・ドライバに、関連付けられたグラフィックス・デバイスによって実行することができる少なくとも1つのグラフィックス処理能力に関して、レンダラーが照会することを可能にし、
前記少なくとも1つのグラフィックス処理能力を前記レンダラーに対して識別することによって、前記グラフィックス・デバイス・ドライバが前記照会に応答することを可能にし、
前記識別された少なくとも1つのグラフィックス処理能力に関連付けられた少なくとも1つの入力要件に関して、前記レンダラーが前記グラフィックス・デバイス・ドライバに追加照会することを可能にし、
前記グラフィックス処理能力に関連付けられた前記少なくとも1つの入力要件を前記レンダラーに対して識別することによって、前記グラフィックス・デバイス・ドライバが前記追加照会に応答することを可能にする
ように構成可能な少なくとも1つのアプリケーション・プログラミング・インターフェース(API)を提供すること
を備えることを特徴とする方法。 - レンダリング・ロジックと、グラフィックス・デバイス・ドライバ・ロジックと、少なくとも1つのアプリケーション・プログラミング・インターフェース(API)とを提供するように動作可能に構成された少なくとも1つの処理ユニットを備える装置であって、
前記レンダリング・ロジックは、少なくとも1つの処理ユニットに動作可能に結合されている場合、ビデオ・データをインターレース解除する際に、少なくとも1つのAPIを介して前記グラフィックス・デバイス・ドライバ・ロジックに照会し、関連付けられたグラフィックス・デバイスによって実行することができる少なくとも1つのグラフィックス処理能力を決定し、
グラフィックス・デバイス・ドライバ・ロジックは、前記少なくとも1つのAPIを介して、前記少なくとも1つのグラフィックス処理能力を前記レンダリング・ロジックに対して識別して応答し、
レンダリング・ロジックは、前記識別された少なくとも1つのグラフィックス処理能力に関連付けられた少なくとも1つの入力要件に関して、前記少なくとも1つのAPIを介して前記グラフィックス・デバイス・ドライバ・ロジックに追加照会し、
前記グラフィックス・デバイス・ドライバ・ロジックは、前記少なくとも1つのAPIを介して、前記グラフィックス処理能力に関連付けられた前記少なくとも1つの入力要件を前記レンダリング・ロジックに対して識別して応答する
ように構成されていることを特徴とする装置。 - インターフェース環境を確立することを備える動作を少なくとも1つの処理装置に実行させるためのコンピュータ実行可能命令を有するコンピュータ可読媒体であって、前記インターフェース環境を確立する際に、
ビデオ・データをインターレース解除する際に、グラフィックス・デバイス・ドライバ・ロジックに、関連付けられたグラフィックス・デバイスによって実行することができる少なくとも1つのグラフィックス処理能力に関して、レンダリング・ロジックが照会することを可能とし、
前記少なくとも1つのグラフィックス処理能力を前記レンダリング・ロジックに対して識別することによって前記グラフィックス・デバイス・ドライバ・ロジックが前記照会に応答することを可能とし、
前記レンダリング・ロジックは、前記識別された少なくとも1つのグラフィックス処理能力に関連付けられた少なくとも1つの入力要件に関して、前記グラフィックス・デバイス・ドライバ・ロジックに追加照会することを可能とし、
前記グラフィックス処理能力に関連付けられた前記少なくとも1つの入力要件を前記レンダリング・ロジックに対して識別することによって、前記グラフィックス・デバイス・ドライバ・ロジックが前記追加照会に応答することを可能とする
ことを特徴とするコンピュータ可読記録媒体。 - 前記インターフェース環境は少なくとも1つのアプリケーション・プログラミング・インターフェース(API)を使用して動作可能に提供されることを特徴とする請求項8に記載のコンピュータ可読記録媒体。
- ビデオ・データのインターレース解除をサポートするように構成されたレンダリング・ロジックと、
グラフィックス・デバイス・ドライバ・ロジックと、および、
インターフェース・ロジックと
を備えた装置であって、前記インターフェース・ロジックは、
前記グラフィックス・デバイス・ドライバ・ロジックに関連付けられ、前記ビデオ・データのインターレース解除をサポートするように構成されている、グラフィックス・デバイスによって実行することができるグラフィックス処理能力を要求する照会を前記レンダリング・ロジックから受け取り、
前記照会を前記グラフィックス・デバイス・ドライバ・ロジックに伝達し、
前記少なくとも1つのグラフィックス処理能力を識別する、前記照会に対する、応答を前記グラフィックス・デバイス・ドライバ・ロジックから受け取り、
前記応答を前記レンダリング・ロジックに伝達する
ように動作可能に構成されていることを特徴とする装置。 - 前記インターフェース・ロジックは、さらに、
前記識別された少なくとも1つのグラフィックス処理能力に関連付けられた少なくとも1つの入力要件に関しての別の照会を、前記レンダリング・ロジックから受け取り、
前記別の照会を前記グラフィックス・デバイス・ドライバに伝達し、
前記グラフィックス処理能力に関連付けられた前記少なくとも1つの入力要件を識別する別の応答を、前記グラフィックス・デバイス・ドライバ・ロジックから受け取り、
前記別の応答を前記レンダリング・ロジックに伝達する
ように動作可能に構成されることを特徴とする請求項10に記載の装置。 - 前記インターフェース・ロジックは、少なくとも1つのアプリケーション・プログラミング・インターフェース(API)を含むことを特徴とする請求項11に記載の装置。
- レンダリング・プロセスと、グラフィックス・デバイスに関連付けられたグラフィックス・デバイス・ドライバ・プロセスとの間で通信する方法であって、
レンダリング・プロセスとグラフィックス・デバイスによって処理されるべきビデオ・データの記述を備える少なくとも1つのコール・パラメータを有する照会コールを、前記レンダリング・プロセスによって発行すること、
前記グラフィックス・デバイス・ドライバ・プロセスによって前記照会コールを受け取り、前記照会コールを構文解析して、前記少なくとも1つのコール・パラメータを取り出すこと、および、
前記コール・パラメータに含まれるビデオ・データの前記記述に基づいた、前記グラフィックス・デバイスが提供することのできる少なくとも1つの対応する処理能力の、識別子を備える少なくとも1つの肯定応答パラメータを有する照会肯定応答コールを、前記グラフィックス・デバイス・ドライバ・プロセスによって発行することを備え、
前記レンダリング・プロセスとグラフィックス・デバイスとによって処理されるべきビデオ・データの前記記述、および前記グラフィックス・デバイスが提供することのできる前記少なくとも1つの対応する処理能力は、前記ビデオ・データをインターレース解除することに関連付けられている
ことを特徴とする方法。 - 前記少なくとも1つの対応する処理能力は、BOBライン倍加能力、切替適応能力、3次元適応能力、および運動ベクトル・ステアード能力を備える一群の処理能力、から選択された少なくとも1つの処理能力を含むことを特徴とする請求項13に記載の方法。
- レンダリング・プロセスと、グラフィックス・デバイスに関連付けられたグラフィックス・デバイス・ドライバ・プロセスとの間で通信する方法であって、
レンダリング・プロセスとグラフィックス・デバイスによって処理されるべきビデオ・データの記述を備える少なくとも1つのコール・パラメータを有する照会コールを、前記レンダリング・プロセスによって発行すること、
前記グラフィックス・デバイス・ドライバ・プロセスによって前記照会コールを受け取り、前記照会コールを構文解析して、前記少なくとも1つのコール・パラメータを取り出すこと、および、
前記コール・パラメータに含まれるビデオ・データの前記記述に基づいた、前記グラフィックス・デバイスが提供することのできる少なくとも1つの対応する処理能力の、識別子を備える少なくとも1つの肯定応答パラメータを有する照会肯定応答コールを、前記グラフィックス・デバイス・ドライバ・プロセスによって発行することを備え、
前記レンダリング・プロセスおよびグラフィックス・デバイスによって処理されるべきビデオ・データの前記記述、および前記グラフィックス・デバイスが提供することのできる前記少なくとも1つの対応する処理能力は、前記ビデオ・データをフレーム・レート変換することに関連付けられていることを特徴とする方法。 - 前記少なくとも1つの対応する処理能力は、フレーム反復/ドロップ能力、線形時相補間能力、および運動ベクトル・ステアード能力を備える一群の処理能力、から選択された少なくとも1つの処理能力を含むことを特徴とする請求項15に記載の方法。
- レンダリング・プロセスと、グラフィックス・デバイスに関連付けられたグラフィックス・デバイス・ドライバ・プロセスとの間で通信する方法であって、
レンダリング・プロセスとグラフィックス・デバイスによって処理されるべきビデオ・データの記述を備える少なくとも1つのコール・パラメータを有する照会コールを、前記レンダリング・プロセスによって発行すること、
前記グラフィックス・デバイス・ドライバ・プロセスによって前記照会コールを受け取り、前記照会コールを構文解析して、前記少なくとも1つのコール・パラメータを取り出すこと、および、
前記コール・パラメータに含まれるビデオ・データの前記記述に基づいた、前記グラフィックス・デバイスが提供することのできる少なくとも1つの対応する処理能力の、識別子を備える少なくとも1つの肯定応答パラメータを有する照会肯定応答コールを、前記グラフィックス・デバイス・ドライバ・プロセスによって発行することを備え、
前記少なくとも1つの肯定応答パラメータは、前記少なくとも1つの対応する処理能力に関連付けられた少なくとも1つのグローバル一意識別子(GUID)を含み、
前記照会肯定応答コールは、複数の対応する処理能力に関連付けられた複数のグローバル一意識別子(GUID)を含み、
前記複数のGUIDは、前記複数の対応する処理能力に関連付けられた少なくとも1つの比較因子に対応する順番で配列されることを特徴とする方法。 - 前記少なくとも1つの比較因子は、前記複数の対応する処理能力に関連付けられた品質因子を含むことを特徴とする請求項17に記載の方法。
- レンダリング・プロセスと、グラフィックス・デバイスに関連付けられたグラフィックス・デバイス・ドライバ・プロセスとの間で通信する方法であって、
レンダリング・プロセスとグラフィックス・デバイスによって処理されるべきビデオ・データの記述を備える少なくとも1つのコール・パラメータを有する照会コールを、前記レンダリング・プロセスによって発行すること、
前記グラフィックス・デバイス・ドライバ・プロセスによって前記照会コールを受け取り、前記照会コールを構文解析して、前記少なくとも1つのコール・パラメータを取り出すこと、および、
前記コール・パラメータに含まれるビデオ・データの前記記述に基づいた、前記グラフィックス・デバイスが提供することのできる少なくとも1つの対応する処理能力の、識別子を備える少なくとも1つの肯定応答パラメータを有する照会肯定応答コールを、前記グラフィックス・デバイス・ドライバ・プロセスによって発行することを備え、
前記照会コールは、DeinterlaceQueryAvailableModesコールを含むことを特徴とする方法。 - レンダリング・プロセスとグラフィックス・デバイスによって処理されるべきビデオ・データの記述を備える少なくとも1つのコール・パラメータを有する照会コールを、前記レンダリング・プロセスによって発行すること、
前記グラフィックス・デバイス・ドライバ・プロセスによって、前記照会コールを受け取り、前記照会コールを構文解析して、前記少なくとも1つのコール・パラメータを取り出すこと、および、
前記コール・パラメータに含まれるビデオ・データの前記記述に基づいた、前記グラフィックス・デバイスが提供することのできる少なくとも1つの対応する処理能力の、識別子を含んでいる少なくとも1つの肯定応答パラメータを有する照会肯定応答コールを、前記グラフィックス・デバイス・ドライバ・プロセスによって発行すること
を備える動作を少なくとも1つの処理装置に実行させるためのコンピュータ実行命令を有し、
前記レンダリング・プロセスおよび前記グラフィックス・デバイスによって処理されるべきビデオ・データの前記記述、および前記グラフィックス・デバイスが提供することのできる前記少なくとも1つの対応する処理能力は、前記ビデオ・データをインターレース解除することに関連付けられていること
を特徴とするコンピュータ可読記録媒体。 - 前記少なくとも1つの対応する処理能力は、BOBライン倍加能力、切替適応能力、3次元適応能力、および運動ベクトル・ステアード能力を備える一群の処理能力、から選択された少なくとも1つの処理能力を含むことを特徴とする請求項20に記載のコンピュータ可読記録媒体。
- レンダリング・プロセスとグラフィックス・デバイスによって処理されるべきビデオ・データの記述を備える少なくとも1つのコール・パラメータを有する照会コールを、前記レンダリング・プロセスによって発行すること、
前記グラフィックス・デバイス・ドライバ・プロセスによって、前記照会コールを受け取り、前記照会コールを構文解析して、前記少なくとも1つのコール・パラメータを取り出すこと、および、
前記コール・パラメータに含まれるビデオ・データの前記記述に基づいた、前記グラフィックス・デバイスが提供することのできる少なくとも1つの対応する処理能力の、識別子を含んでいる少なくとも1つの肯定応答パラメータを有する照会肯定応答コールを、前記グラフィックス・デバイス・ドライバ・プロセスによって発行すること
を備える動作を少なくとも1つの処理装置に実行させるためのコンピュータ実行命令を有し、
前記レンダリング・プロセスおよびグラフィックス・デバイスによって処理されるべきビデオ・データの前記記述、および前記グラフィックス・デバイスが提供することのできる前記少なくとも1つの対応する処理能力は、前記ビデオ・データをフレーム・レート変換することに関連付けられていることを特徴とするコンピュータ可読記録媒体。 - 前記少なくとも1つの対応する処理能力は、フレーム反復/ドロップ能力、線形時相補間能力、および運動ベクトル・ステアード能力、を備える一群の処理能力から選択された少なくとも1つの処理能力を含むことを特徴とする請求項20に記載のコンピュータ可読記録媒体。
- レンダリング・プロセスとグラフィックス・デバイスによって処理されるべきビデオ・データの記述を備える少なくとも1つのコール・パラメータを有する照会コールを、前記レンダリング・プロセスによって発行すること、
前記グラフィックス・デバイス・ドライバ・プロセスによって、前記照会コールを受け取り、前記照会コールを構文解析して、前記少なくとも1つのコール・パラメータを取り出すこと、および、
前記コール・パラメータに含まれるビデオ・データの前記記述に基づいた、前記グラフィックス・デバイスが提供することのできる少なくとも1つの対応する処理能力の、識別子を含んでいる少なくとも1つの肯定応答パラメータを有する照会肯定応答コールを、前記グラフィックス・デバイス・ドライバ・プロセスによって発行すること
を備える動作を少なくとも1つの処理装置に実行させるためのコンピュータ実行命令を有し、
前記少なくとも1つの肯定応答パラメータは、前記少なくとも1つの対応する処理能力に関連付けられた少なくとも1つのグローバル一意識別子(GUID)を含み、
前記照会肯定応答コールは、複数の対応する処理能力に関連付けられた複数のグローバル一意識別子(GUID)を含み、
前記複数のGUIDは、前記複数の対応する処理能力に関連付けられた少なくとも1つの比較因子に対応する順番で配列されることを特徴とするコンピュータ可読記録媒体。 - 前記少なくとも1つの比較因子は、前記複数の対応する処理能力に関連付けられた品質因子を含むことを特徴とする請求項24に記載のコンピュータ可読記録媒体。
- レンダリング・プロセスとグラフィックス・デバイスによって処理されるべきビデオ・データの記述を備える少なくとも1つのコール・パラメータを有する照会コールを、前記レンダリング・プロセスによって発行すること、
前記グラフィックス・デバイス・ドライバ・プロセスによって、前記照会コールを受け取り、前記照会コールを構文解析して、前記少なくとも1つのコール・パラメータを取り出すこと、および、
前記コール・パラメータに含まれるビデオ・データの前記記述に基づいた、前記グラフィックス・デバイスが提供することのできる少なくとも1つの対応する処理能力の、識別子を含んでいる少なくとも1つの肯定応答パラメータを有する照会肯定応答コールを、前記グラフィックス・デバイス・ドライバ・プロセスによって発行すること
を備える動作を少なくとも1つの処理装置に実行させるためのコンピュータ実行命令を有し、
前記照会コールは、DeinterlaceQueryAvailableModesコールを含むことを特徴とするコンピュータ可読記録媒体。 - レンダリング・プロセスと、グラフィックス・デバイスに関連付けられたグラフィックス・デバイス・ドライバ・プロセスとの間で通信する方法であって、
選択されたビデオ・データを処理するためにグラフィックス・デバイスが提供することのできる選択された対応する処理能力の識別子を備える少なくとも1つのコール・パラメータを有するビデオ・インターレース解除に関する照会コールを、レンダリング・プロセスによって発行すること、
前記グラフィックス・デバイスに関連付けられたグラフィックス・デバイス・ドライバ・プロセスによって前記照会コールを受け取り、前記照会コールを構文解析して前記少なくとも1つのコール・パラメータを取り出すこと、および、
前記コール・パラメータに基づき、前記選択された対応する処理能力に関連付けられた少なくとも1つの入力要件、を備える少なくとも1つの肯定応答パラメータを有する照会肯定応答を、前記グラフィックス・デバイス・ドライバ・プロセスによって発行すること
を備えることを特徴とする方法。 - 前記照会コールは、DeinterlaceQueryModesCapsコールを含むことを特徴とする請求項27に記載の方法。
- 前記少なくとも1つの応答パラメータは、以前の出力フレーム・パラメータ、入力プール・パラメータ、前方参照サンプル・パラメータ、後方参照サンプル・パラメータ、出力フレーム形式パラメータ、ビデオ処理能力パラメータ、インターレース解除副長方形パラメータ、インターレース解除YUV−RGBパラメータ、インターレース解除ストレッチXパラメータ、インターレース解除ストレッチYパラメータ、インターレース解除アルファ・ブレンド・パラメータ、色補正パラメータ、ガンマ補正パラメータ、回転パラメータ、およびシアリング・パラメータを備える一群の肯定応答パラメータから選択された少なくとも1つの肯定応答パラメータを含むことを特徴とする請求項27に記載の方法。
- 選択されたビデオ・データを処理するためにグラフィックス・デバイスが提供することのできる選択された対応する処理能力の識別子を備える少なくとも1つのコール・パラメータを有するビデオ・インターレース解除に関する照会コールを、レンダリング・プロセスによって発行すること、
前記グラフィックス・デバイスに関連付けられたグラフィックス・デバイス・ドライバ・プロセスによって前記照会コールを受け取り、前記照会コールを構文解析して前記少なくとも1つのコール・パラメータを取り出すこと、および、
前記コール・パラメータに基づき、前記選択された対応する処理能力に関連付けられた少なくとも1つの入力要件を含んでいる少なくとも1つの応答パラメータを有する照会応答を、前記グラフィックス・デバイス・ドライバ・プロセスによって発行すること
を備える動作を少なくとも1つの処理装置に実行させるためのコンピュータ実行可能命令を有することを特徴とするコンピュータ可読記録媒体。 - 前記照会コールは、DeinterlaceQueryModesCapsコールを含むことを特徴とする請求項30に記載のコンピュータ可読記録媒体。
- 前記少なくとも1つの応答パラメータは、以前の出力フレーム・パラメータ、入力プール・パラメータ、前方参照サンプル・パラメータ、後方参照サンプル・パラメータ、出力フレーム形式パラメータ、ビデオ処理能力パラメータ、インターレース解除副長方形パラメータ、インターレース解除YUV−RGBパラメータ、インターレース解除ストレッチXパラメータ、インターレース解除ストレッチYパラメータ、インターレース解除アルファ・ブレンド・パラメータ、色補正パラメータ、ガンマ補正パラメータ、回転パラメータ、およびシアリング・パラメータを備える一群の応答パラメータから選択された少なくとも1つの応答パラメータを含むことを特徴とする請求項30に記載のコンピュータ可読記録媒体。
- レンダリングする手段と、
グラフィックス・デバイスをドライブする手段と、を備え、
前記レンダリングする手段は、
前記レンダリングする手段と前記グラフィックス・デバイスをドライブする手段により処理されるべきビデオ・データの記述を含んだ少なくとも1つのコール・パラメータを有する照会コールを発行する手段を有し、
前記グラフィックス・デバイスをドライブする手段は、
前記少なくとも1つのコール・パラメータを検索するために前記照会コールを受け取りそして前記照会コールを構文分析するための手段と、
前記コール・パラメータに含まれる前記ビデオ・データの記述に基づいて前記グラフィックス・デバイスをドライブする手段が提供できる少なくとも1つのグラフィックス処理能力のための識別子を含む少なくとも1つの肯定応答パラメータを含む照会肯定応答コールを発行するための手段を有し、
(i)前記レンダリングする手段と前記グラフィックス・デバイスをドライブする手段により処理されるべき前記ビデオ・データの記述、及び(ii)前記グラフィックス・デバイスをドライブする手段が提供できる少なくとも1つのグラフィックス処理能力の両方が、前記ビデオ・データのインターレース解除に関連していること
を特徴とする装置。 - レンダリングする手段と、
グラフィックス・デバイスをドライブする手段と、を備え、
前記レンダリングする手段は、
前記レンダリングする手段と前記グラフィックス・デバイスをドライブする手段により処理されるべきビデオ・データの記述を含んだ少なくとも1つのコール・パラメータを有する照会コールを発行する手段を有し、
前記グラフィックス・デバイスをドライブする手段は、
前記少なくとも1つのコール・パラメータを検索するために前記照会コールを受け取りそして前記照会コールを構文分析するための手段と、
前記コール・パラメータに含まれる前記ビデオ・データの記述に基づいて前記グラフィックス・デバイスをドライブする手段が提供できる少なくとも1つのグラフィックス処理能力のための識別子を含む少なくとも1つの肯定応答パラメータを含む照会肯定応答コールを発行するための手段を有し、
(i)前記レンダリングする手段と前記グラフィックス・デバイスをドライブする手段により処理されるべき前記ビデオ・データの記述、及び(ii)前記グラフィックス・デバイスをドライブする手段が提供できる少なくとも1つのグラフィックス処理能力の両方が、前記ビデオ・データのフレーム・レート変換に関連していること
を特徴とする装置。 - 前記少なくとも1つのグラフィックス処理能力が、BOBライン倍加能力と、切替適応化能力と、三次元適応化能力と、運動ベクトル・ステアード能力とを含む処理能力のグループから選択された少なくとも1つの処理能力を含むことを特徴とする請求項34に記載の装置。
- 前記少なくとも1つのグラフィックス処理能力が、フレーム反復/ドロップ能力と、線型時相補間能力と、三次元適応化能力と、運動ベクトル・ステアード能力とを含む処理能力のグループから選択された少なくとも1つの処理能力を含むことを特徴とする請求項34に記載の装置。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US37288002P | 2002-04-15 | 2002-04-15 | |
US60/372,880 | 2002-04-15 | ||
US10/273,505 US7219352B2 (en) | 2002-04-15 | 2002-10-18 | Methods and apparatuses for facilitating processing of interlaced video images for progressive video displays |
US10/273,505 | 2002-10-18 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003110878A Division JP4625241B2 (ja) | 2002-04-15 | 2003-04-15 | プログレッシブ・ビデオ表示のためのインターレース・ビデオ画像の処理を容易にする方法および装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010068544A JP2010068544A (ja) | 2010-03-25 |
JP5123282B2 true JP5123282B2 (ja) | 2013-01-23 |
Family
ID=28794208
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003110878A Expired - Fee Related JP4625241B2 (ja) | 2002-04-15 | 2003-04-15 | プログレッシブ・ビデオ表示のためのインターレース・ビデオ画像の処理を容易にする方法および装置 |
JP2009285191A Expired - Fee Related JP5123282B2 (ja) | 2002-04-15 | 2009-12-16 | プログレッシブ・ビデオ表示のためのインターレース・ビデオ画像の処理を容易にする方法および装置 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003110878A Expired - Fee Related JP4625241B2 (ja) | 2002-04-15 | 2003-04-15 | プログレッシブ・ビデオ表示のためのインターレース・ビデオ画像の処理を容易にする方法および装置 |
Country Status (3)
Country | Link |
---|---|
US (3) | US7219352B2 (ja) |
EP (1) | EP1357745B1 (ja) |
JP (2) | JP4625241B2 (ja) |
Families Citing this family (61)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7010801B1 (en) | 1999-06-11 | 2006-03-07 | Scientific-Atlanta, Inc. | Video on demand system with parameter-controlled bandwidth deallocation |
US6817028B1 (en) | 1999-06-11 | 2004-11-09 | Scientific-Atlanta, Inc. | Reduced screen control system for interactive program guide |
US7992163B1 (en) | 1999-06-11 | 2011-08-02 | Jerding Dean F | Video-on-demand navigational system |
US7200857B1 (en) | 2000-06-09 | 2007-04-03 | Scientific-Atlanta, Inc. | Synchronized video-on-demand supplemental commentary |
US8516525B1 (en) | 2000-06-09 | 2013-08-20 | Dean F. Jerding | Integrated searching system for interactive media guide |
US7975277B1 (en) | 2000-04-03 | 2011-07-05 | Jerding Dean F | System for providing alternative services |
US7934232B1 (en) | 2000-05-04 | 2011-04-26 | Jerding Dean F | Navigation paradigm for access to television services |
US8069259B2 (en) | 2000-06-09 | 2011-11-29 | Rodriguez Arturo A | Managing removal of media titles from a list |
US7962370B2 (en) | 2000-06-29 | 2011-06-14 | Rodriguez Arturo A | Methods in a media service system for transaction processing |
US7340759B1 (en) | 2000-11-10 | 2008-03-04 | Scientific-Atlanta, Inc. | Systems and methods for adaptive pricing in a digital broadband delivery system |
US7496945B2 (en) | 2001-06-29 | 2009-02-24 | Cisco Technology, Inc. | Interactive program guide for bidirectional services |
US8006262B2 (en) | 2001-06-29 | 2011-08-23 | Rodriguez Arturo A | Graphic user interfaces for purchasable and recordable media (PRM) downloads |
US7526788B2 (en) | 2001-06-29 | 2009-04-28 | Scientific-Atlanta, Inc. | Graphic user interface alternate download options for unavailable PRM content |
US7512964B2 (en) | 2001-06-29 | 2009-03-31 | Cisco Technology | System and method for archiving multiple downloaded recordable media content |
US7334251B2 (en) | 2002-02-11 | 2008-02-19 | Scientific-Atlanta, Inc. | Management of television advertising |
US7219352B2 (en) * | 2002-04-15 | 2007-05-15 | Microsoft Corporation | Methods and apparatuses for facilitating processing of interlaced video images for progressive video displays |
US7451457B2 (en) * | 2002-04-15 | 2008-11-11 | Microsoft Corporation | Facilitating interaction between video renderers and graphics device drivers |
EP1359773B1 (en) * | 2002-04-15 | 2016-08-24 | Microsoft Technology Licensing, LLC | Facilitating interaction between video renderers and graphics device drivers |
EP1418764A1 (en) * | 2002-11-05 | 2004-05-12 | STMicroelectronics S.A. | Method and apparatus for transcoding sub-picture data, and video display system comprising such apparatus |
US7986358B1 (en) * | 2003-02-25 | 2011-07-26 | Matrox Electronic Systems, Ltd. | Bayer image conversion using a graphics processing unit |
US7646817B2 (en) * | 2003-03-28 | 2010-01-12 | Microsoft Corporation | Accelerating video decoding using a graphics processing unit |
US7508448B1 (en) | 2003-05-29 | 2009-03-24 | Nvidia Corporation | Method and apparatus for filtering video data using a programmable graphics processor |
JP2005026885A (ja) * | 2003-06-30 | 2005-01-27 | Toshiba Corp | テレビジョン受信装置及びその制御方法 |
US7643675B2 (en) | 2003-08-01 | 2010-01-05 | Microsoft Corporation | Strategies for processing image information using a color information data structure |
US7158668B2 (en) | 2003-08-01 | 2007-01-02 | Microsoft Corporation | Image processing using linear light values and other image processing improvements |
KR101041723B1 (ko) * | 2003-12-19 | 2011-06-14 | 티디비전 코포레이션 에스.에이. 데 씨.브이. | 3차원 비디오게임 시스템 |
TWI239774B (en) * | 2004-01-13 | 2005-09-11 | Acer Labs Inc | Method for motion vector de-interleaving |
US8161388B2 (en) * | 2004-01-21 | 2012-04-17 | Rodriguez Arturo A | Interactive discovery of display device characteristics |
US7825915B2 (en) | 2004-02-03 | 2010-11-02 | Intel Corporation | Codec control |
JP4469209B2 (ja) * | 2004-04-12 | 2010-05-26 | パナソニック株式会社 | Ip電話システム、ip電話装置及び通話方法 |
JP4283740B2 (ja) * | 2004-07-20 | 2009-06-24 | パナソニック株式会社 | Ip電話システム、ip電話装置及び通話方法 |
JP4520784B2 (ja) * | 2004-07-20 | 2010-08-11 | パナソニック株式会社 | Enumシステム、enumクライアント端末及び端末情報取得方法 |
JP4542872B2 (ja) * | 2004-11-02 | 2010-09-15 | パナソニック株式会社 | Ip電話装置及びip電話システム |
ITMI20042234A1 (it) * | 2004-11-19 | 2005-02-19 | Abb Service Srl | Interuttore automatico con cinematismo di sgancio azionato da contatto mobile |
US20060184893A1 (en) * | 2005-02-17 | 2006-08-17 | Raymond Chow | Graphics controller providing for enhanced control of window animation |
US8766993B1 (en) * | 2005-04-06 | 2014-07-01 | Teradici Corporation | Methods and apparatus for enabling multiple remote displays |
US8453148B1 (en) | 2005-04-06 | 2013-05-28 | Teradici Corporation | Method and system for image sequence transfer scheduling and restricting the image sequence generation |
US7487516B1 (en) * | 2005-05-24 | 2009-02-03 | Nvidia Corporation | Desktop composition for incompatible graphics applications |
US8189472B2 (en) | 2005-09-07 | 2012-05-29 | Mcdonald James F | Optimizing bandwidth utilization to a subscriber premises |
TWI323603B (en) * | 2006-04-11 | 2010-04-11 | Realtek Semiconductor Corp | Apparatus and method for catergorizing image and related apparatus and method for de-interlacing |
KR20080046858A (ko) * | 2006-11-23 | 2008-05-28 | 엘지전자 주식회사 | 미디어 싱크 기기, 미이어 소스 기기 및 미디어 싱크기기의 제어 방법 |
US8276164B2 (en) | 2007-05-03 | 2012-09-25 | Apple Inc. | Data parallel computing on multiple processors |
US11836506B2 (en) | 2007-04-11 | 2023-12-05 | Apple Inc. | Parallel runtime execution on multiple processors |
US8341611B2 (en) | 2007-04-11 | 2012-12-25 | Apple Inc. | Application interface on multiple processors |
WO2008127622A2 (en) | 2007-04-11 | 2008-10-23 | Apple Inc. | Data parallel computing on multiple processors |
US8286196B2 (en) * | 2007-05-03 | 2012-10-09 | Apple Inc. | Parallel runtime execution on multiple processors |
US8570441B2 (en) * | 2008-06-11 | 2013-10-29 | Microsoft Corporation | One pass video processing and composition for high-definition video |
US8073990B1 (en) | 2008-09-23 | 2011-12-06 | Teradici Corporation | System and method for transferring updates from virtual frame buffers |
US8224885B1 (en) | 2009-01-26 | 2012-07-17 | Teradici Corporation | Method and system for remote computing session management |
US8619187B2 (en) * | 2009-04-01 | 2013-12-31 | Marvell World Trade Ltd | Cadence detection in progressive video |
EP2302845B1 (en) | 2009-09-23 | 2012-06-20 | Google, Inc. | Method and device for determining a jitter buffer level |
US8477050B1 (en) | 2010-09-16 | 2013-07-02 | Google Inc. | Apparatus and method for encoding using signal fragments for redundant transmission of data |
US8838680B1 (en) | 2011-02-08 | 2014-09-16 | Google Inc. | Buffer objects for web-based configurable pipeline media processing |
US8928680B1 (en) | 2012-07-10 | 2015-01-06 | Google Inc. | Method and system for sharing a buffer between a graphics processing unit and a media encoder |
EP2704427A1 (en) * | 2012-08-31 | 2014-03-05 | Axis AB | Method and apparatus for de-interlacing video |
US9232177B2 (en) * | 2013-07-12 | 2016-01-05 | Intel Corporation | Video chat data processing |
CN105226083A (zh) * | 2015-09-21 | 2016-01-06 | 中国电子科技集团公司第五十五研究所 | 一种带角度注入的自对准mos沟道的制备方法 |
US9978180B2 (en) | 2016-01-25 | 2018-05-22 | Microsoft Technology Licensing, Llc | Frame projection for augmented reality environments |
CN109389088B (zh) * | 2018-10-12 | 2022-05-24 | 腾讯科技(深圳)有限公司 | 视频识别方法、装置、机器设备以及计算机可读存储介质 |
CN109672841B (zh) * | 2019-01-25 | 2020-07-10 | 珠海亿智电子科技有限公司 | 一种低成本de-interlace处理方法 |
CN111885335B (zh) * | 2020-06-19 | 2022-03-29 | 成都东方盛行电子有限责任公司 | 一种超高清下变换渲染方法 |
Family Cites Families (135)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US32906A (en) * | 1861-07-23 | Joseph thomas | ||
US4463372A (en) | 1982-03-24 | 1984-07-31 | Ampex Corporation | Spatial transformation system including key signal generator |
US6496183B1 (en) | 1998-06-30 | 2002-12-17 | Koninklijke Philips Electronics N.V. | Filter for transforming 3D data in a hardware accelerated rendering architecture |
US4605952A (en) * | 1983-04-14 | 1986-08-12 | Rca Corporation | Compatible HDTV system employing nonlinear edge compression/expansion for aspect ratio control |
US4556906A (en) * | 1983-11-15 | 1985-12-03 | Rca Corporation | Kinescope blanking scheme for wide-aspect ratio television |
US4601055A (en) | 1984-04-10 | 1986-07-15 | The United States Of America As Represented By The Secretary Of Commerce | Image processor |
US4639763A (en) | 1985-04-30 | 1987-01-27 | Rca Corporation | Interlace to non-interlace scan converter for RGB format video input signals |
US4729012A (en) * | 1985-08-30 | 1988-03-01 | Rca Corporation | Dual mode television receiver for displaying wide screen and standard aspect ratio video signals |
US5014327A (en) | 1987-06-15 | 1991-05-07 | Digital Equipment Corporation | Parallel associative memory having improved selection and decision mechanisms for recognizing and sorting relevant patterns |
SU1474701A2 (ru) | 1987-07-04 | 1989-04-23 | Предприятие П/Я В-2969 | Устройство дл кодировани видеосигнала |
US4866637A (en) | 1987-10-30 | 1989-09-12 | International Business Machines Corporation | Pipelined lighting model processing system for a graphics workstation's shading function |
DE3838730C2 (de) | 1987-11-16 | 1994-07-28 | Canon Kk | Verfahren und Vorrichtung zur Bildverarbeitung |
JP2882584B2 (ja) * | 1988-09-30 | 1999-04-12 | 株式会社東京放送 | 既存テレビジョン放送方法と互換性のあるワイドスクリーンテレビジョン放送方法 |
US4951149A (en) * | 1988-10-27 | 1990-08-21 | Faroudja Y C | Television system with variable aspect picture ratio |
US5179641A (en) | 1989-06-23 | 1993-01-12 | Digital Equipment Corporation | Rendering shaded areas with boundary-localized pseudo-random noise |
US5218874A (en) * | 1990-08-29 | 1993-06-15 | Vecere William T | Fitting and tube apparatus for gas emission sample container |
US5218674A (en) | 1990-09-14 | 1993-06-08 | Hughes Aircraft Company | Hardware bit block transfer operator in a graphics rendering processor |
GB9118425D0 (en) * | 1991-08-28 | 1991-10-16 | Rca Thomson Licensing Corp | Adapting horizontal scan to picture format |
US5235432A (en) | 1991-11-22 | 1993-08-10 | Creedon Brendan G | Video-to-facsimile signal converter |
US5309257A (en) * | 1991-12-31 | 1994-05-03 | Eastman Kodak Company | Method and apparatus for providing color matching between color output devices |
US5602943A (en) | 1992-04-28 | 1997-02-11 | Velho; Luiz C. | Digital halftoning space filling curves |
JP2862441B2 (ja) | 1992-07-09 | 1999-03-03 | キヤノン株式会社 | 出力制御装置及び方法 |
JPH0659908A (ja) | 1992-08-11 | 1994-03-04 | Toshiba Corp | プログラム実行装置 |
EP0600204A3 (en) | 1992-11-30 | 1994-07-27 | Ibm | Method and apparatus for rendering primitives with multiple processors. |
JP3092382B2 (ja) * | 1993-03-22 | 2000-09-25 | 松下電器産業株式会社 | 信号処理装置 |
US5577125A (en) | 1993-06-14 | 1996-11-19 | International Business Machines Corporation | Graphical manipulation of encryption |
US5508812A (en) | 1993-09-01 | 1996-04-16 | Apple Computer, Inc. | System for processing and recording digital color television signal onto analog video tape |
US5526051A (en) | 1993-10-27 | 1996-06-11 | Texas Instruments Incorporated | Digital television system |
US5455626A (en) * | 1993-11-15 | 1995-10-03 | Cirrus Logic, Inc. | Apparatus, systems and methods for providing multiple video data streams from a single source |
AU2902395A (en) | 1994-06-17 | 1996-01-15 | Intel Corporation | Apparatus and method for application sharing in a graphic user interface |
WO1996002895A1 (en) | 1994-07-14 | 1996-02-01 | Johnson Grace Company | Method and apparatus for compressing images |
US5870503A (en) | 1994-10-20 | 1999-02-09 | Minolta Co., Ltd. | Image processing apparatus using error diffusion technique |
US20020017759A1 (en) | 1994-11-14 | 2002-02-14 | Mcclung Guy L. | Flying disc with compact disc |
US5565994A (en) | 1994-12-06 | 1996-10-15 | Xerox Corporation | Multiple separation error diffusion, with cross separation correlation control for color images |
US5745761A (en) | 1994-12-15 | 1998-04-28 | International Business Machines Corporation | Advanced graphics driver architecture with extension capability |
US5715459A (en) | 1994-12-15 | 1998-02-03 | International Business Machines Corporation | Advanced graphics driver architecture |
US5715073A (en) | 1995-02-03 | 1998-02-03 | Eastman Kodak Company | Processing by separate stages monochrome digital images to provide halftone color images |
JP3612690B2 (ja) | 1995-06-16 | 2005-01-19 | ソニー株式会社 | 情報表示制御装置及び情報表示制御方法 |
US6307559B1 (en) | 1995-07-13 | 2001-10-23 | International Business Machines Corporation | Method and apparatus for color space conversion, clipping, and scaling of an image during blitting |
US5793371A (en) | 1995-08-04 | 1998-08-11 | Sun Microsystems, Inc. | Method and apparatus for geometric compression of three-dimensional graphics data |
US5757386A (en) | 1995-08-11 | 1998-05-26 | International Business Machines Corporation | Method and apparatus for virtualizing off-screen memory of a graphics engine |
US5742797A (en) | 1995-08-11 | 1998-04-21 | International Business Machines Corporation | Dynamic off-screen display memory manager |
DE19639388A1 (de) | 1995-09-29 | 1997-04-10 | Aisin Seiki | Stoß-Sensor |
DE69608410T2 (de) | 1995-10-05 | 2000-11-23 | Faroudja Laboratories, Inc. | Verfahren zur erzeugung eines aus einem standardbandbreite-farbfernsehsignal erzeugten farbvideosignals mit erhöhter vertikaler auflösung |
US6222542B1 (en) | 1995-10-10 | 2001-04-24 | Anysoft, Ltd | Apparatus for and method of acquiring, processing and routing data contained in a GUI window |
US5768487A (en) | 1995-10-31 | 1998-06-16 | Seiko Epson Corporation | System and method using a split printer driver to control a computer printer device |
US5936632A (en) | 1996-07-26 | 1999-08-10 | Hewlett-Packard Co. | Method for fast downloading of textures to accelerated graphics hardware and the elimination of extra software copies of texels |
US6195098B1 (en) | 1996-08-02 | 2001-02-27 | Autodesk, Inc. | System and method for interactive rendering of three dimensional objects |
US5982453A (en) | 1996-09-25 | 1999-11-09 | Thomson Consumer Electronics, Inc. | Reduction of visibility of spurious signals in video |
US5825879A (en) | 1996-09-30 | 1998-10-20 | Intel Corporation | System and method for copy-protecting distributed video content |
US6369855B1 (en) | 1996-11-01 | 2002-04-09 | Texas Instruments Incorporated | Audio and video decoder circuit and system |
JPH10275072A (ja) | 1997-01-31 | 1998-10-13 | Hitachi Ltd | 画像表示システム及び情報処理装置 |
EP0859326A3 (en) * | 1997-02-14 | 1999-05-12 | Canon Kabushiki Kaisha | Data transmission apparatus, system and method, and image processing apparatus |
GB9704638D0 (en) | 1997-03-06 | 1997-04-23 | Lsi Logic Corp | Digital video broadcasting |
US6212574B1 (en) | 1997-04-04 | 2001-04-03 | Microsoft Corporation | User mode proxy of kernel mode operations in a computer operating system |
US6205492B1 (en) | 1997-04-04 | 2001-03-20 | Microsoft Corporation | Method and computer program product for interconnecting software drivers in kernel mode |
US6370198B1 (en) | 1997-04-07 | 2002-04-09 | Kinya Washino | Wide-band multi-format audio/video production system with frame-rate conversion |
US5898779A (en) | 1997-04-14 | 1999-04-27 | Eastman Kodak Company | Photograhic system with selected area image authentication |
US5872956A (en) | 1997-04-24 | 1999-02-16 | International Business Machines Corporation | Design methodology for device drivers supporting various operating systems network protocols and adapter hardware |
US6269484B1 (en) | 1997-06-24 | 2001-07-31 | Ati Technologies | Method and apparatus for de-interlacing interlaced content using motion vectors in compressed video streams |
JPH11184649A (ja) | 1997-07-25 | 1999-07-09 | Seiko Epson Corp | 印刷システム、方法及びプリンタ |
US6144390A (en) | 1997-08-04 | 2000-11-07 | Lucent Technologies Inc. | Display composition technique |
US6262773B1 (en) | 1997-09-15 | 2001-07-17 | Sharp Laboratories Of America, Inc. | System for conversion of interlaced video to progressive video using edge correlation |
US6057889A (en) | 1997-09-26 | 2000-05-02 | Sarnoff Corporation | Format-responsive video processing system |
US7039876B2 (en) * | 1997-10-06 | 2006-05-02 | Canon Kabushiki Kaisha | User interface for image acquisition devices |
US6522336B1 (en) | 1997-10-31 | 2003-02-18 | Hewlett-Packard Company | Three-dimensional graphics rendering apparatus and method |
US6208350B1 (en) | 1997-11-04 | 2001-03-27 | Philips Electronics North America Corporation | Methods and apparatus for processing DVD video |
JP3700357B2 (ja) | 1997-11-25 | 2005-09-28 | コニカミノルタビジネステクノロジーズ株式会社 | 画像処理装置 |
JP3591259B2 (ja) | 1997-12-12 | 2004-11-17 | セイコーエプソン株式会社 | ネットワークシステム並びにネットワーク印刷方法 |
US6047295A (en) | 1998-05-05 | 2000-04-04 | International Business Machines Corporation | Computer system, program product and method of managing weak references with a concurrent mark sweep collector |
KR100296958B1 (ko) | 1998-05-06 | 2001-09-22 | 이석우 | 블록 데이터 암호화 장치 |
TW432865B (en) | 1998-06-11 | 2001-05-01 | Matsushita Electric Ind Co Ltd | Video display method and device |
US6141705A (en) | 1998-06-12 | 2000-10-31 | Microsoft Corporation | System for querying a peripheral device to determine its processing capabilities and then offloading specific processing tasks from a host to the peripheral device when needed |
JP4008580B2 (ja) * | 1998-06-25 | 2007-11-14 | 株式会社東芝 | 表示制御装置およびインターレースデータ表示制御方法 |
US6034733A (en) | 1998-07-29 | 2000-03-07 | S3 Incorporated | Timing and control for deinterlacing and enhancement of non-deterministically arriving interlaced video data |
US6573905B1 (en) | 1999-11-09 | 2003-06-03 | Broadcom Corporation | Video and graphics system with parallel processing of graphics windows |
US6353438B1 (en) | 1999-02-03 | 2002-03-05 | Artx | Cache organization—direct mapped cache |
US6359631B2 (en) | 1999-02-16 | 2002-03-19 | Intel Corporation | Method of enabling display transparency for application programs without native transparency support |
US6753878B1 (en) | 1999-03-08 | 2004-06-22 | Hewlett-Packard Development Company, L.P. | Parallel pipelined merge engines |
US6952215B1 (en) * | 1999-03-31 | 2005-10-04 | International Business Machines Corporation | Method and system for graphics rendering using captured graphics hardware instructions |
US6762761B2 (en) * | 1999-03-31 | 2004-07-13 | International Business Machines Corporation | Method and system for graphics rendering using hardware-event-triggered execution of captured graphics hardware instructions |
US6295068B1 (en) | 1999-04-06 | 2001-09-25 | Neomagic Corp. | Advanced graphics port (AGP) display driver with restricted execute mode for transparently transferring textures to a local texture cache |
JP2000293608A (ja) | 1999-04-12 | 2000-10-20 | Omron Corp | 装置ドライバ及び装置ドライバシステム |
JP2000298565A (ja) * | 1999-04-14 | 2000-10-24 | Canon Inc | 印刷制御方法及び装置と前記印刷制御方法を実行するプログラムを記憶した記憶媒体 |
US6323875B1 (en) | 1999-04-28 | 2001-11-27 | International Business Machines Corporation | Method for rendering display blocks on display device |
US6304733B1 (en) | 1999-05-19 | 2001-10-16 | Minolta Co., Ltd. | Image forming apparatus capable of outputting a present time |
US6331874B1 (en) | 1999-06-29 | 2001-12-18 | Lsi Logic Corporation | Motion compensated de-interlacing |
US6437788B1 (en) | 1999-07-16 | 2002-08-20 | International Business Machines Corporation | Synchronizing graphics texture management in a computer system using threads |
US20020145610A1 (en) | 1999-07-16 | 2002-10-10 | Steve Barilovits | Video processing engine overlay filter scaler |
JP2001054075A (ja) | 1999-08-06 | 2001-02-23 | Hitachi Ltd | 画像信号の動き補償走査変換回路 |
GB9918643D0 (en) | 1999-08-06 | 1999-10-13 | Canon Kk | Geometry pipeline for computer graphics |
JP3948171B2 (ja) | 1999-09-10 | 2007-07-25 | 富士ゼロックス株式会社 | 電子文書管理装置および電子文書管理方法 |
US6654022B1 (en) | 1999-09-30 | 2003-11-25 | International Business Machines Corporation | Method and apparatus for lookahead generation in cached computer graphics system |
US6633837B1 (en) * | 1999-10-14 | 2003-10-14 | Object Reservoir | Method and system for generating software code using a symbolic language translator |
AUPQ377599A0 (en) | 1999-10-29 | 1999-11-25 | Canon Kabushiki Kaisha | Colour clamping |
AUPQ377899A0 (en) | 1999-10-29 | 1999-11-25 | Canon Kabushiki Kaisha | Phase three kernel selection |
US6466944B1 (en) * | 1999-12-02 | 2002-10-15 | Novell, Inc. | Method for creation, management, and use of files containing multiple virtual data streams using standard file system APIs |
US6614441B1 (en) * | 2000-01-07 | 2003-09-02 | Intel Corporation | Method and mechanism of automatic video buffer flipping and display sequence management |
US6466226B1 (en) | 2000-01-10 | 2002-10-15 | Intel Corporation | Method and apparatus for pixel filtering using shared filter resource between overlay and texture mapping engines |
US6823525B1 (en) * | 2000-01-21 | 2004-11-23 | Ati Technologies Inc. | Method for displaying single monitor applications on multiple monitors driven by a personal computer |
JP2001204045A (ja) | 2000-01-24 | 2001-07-27 | Mitsubishi Electric Corp | 動き検出装置 |
US6567091B2 (en) * | 2000-02-01 | 2003-05-20 | Interactive Silicon, Inc. | Video controller system with object display lists |
US6901453B1 (en) | 2000-02-16 | 2005-05-31 | Microsoft Corporation | Modularization of broadcast receiver driver components |
US6906707B2 (en) * | 2000-02-24 | 2005-06-14 | Canon Kabushiki Kaisha | Image processing apparatus and method |
US6567098B1 (en) | 2000-06-22 | 2003-05-20 | International Business Machines Corporation | Method and apparatus in a data processing system for full scene anti-aliasing |
US6828981B2 (en) | 2000-11-29 | 2004-12-07 | Videotek, Inc. | Method and apparatus for polar display of composite and RGB color gamut violation |
US6771269B1 (en) | 2001-01-12 | 2004-08-03 | Ati International Srl | Method and apparatus for improving processing throughput in a video graphics system |
US6690427B2 (en) * | 2001-01-29 | 2004-02-10 | Ati International Srl | Method and system for de-interlacing/re-interlacing video on a display device on a computer system during operation thereof |
US6831999B2 (en) | 2001-02-08 | 2004-12-14 | Canon Kabushiki Kaisha | Color management architecture using phantom profiles to transfer data between transformation modules |
US6940557B2 (en) | 2001-02-08 | 2005-09-06 | Micronas Semiconductors, Inc. | Adaptive interlace-to-progressive scan conversion algorithm |
JP3608533B2 (ja) | 2001-02-09 | 2005-01-12 | セイコーエプソン株式会社 | ネットワークを介した画像処理 |
US7236204B2 (en) | 2001-02-20 | 2007-06-26 | Digeo, Inc. | System and method for rendering graphics and video on a display |
US7148975B2 (en) * | 2001-04-23 | 2006-12-12 | Hewlett-Packard Development Company, L.P. | Method and apparatus for improving data conversion efficiency |
US6859235B2 (en) * | 2001-05-14 | 2005-02-22 | Webtv Networks Inc. | Adaptively deinterlacing video on a per pixel basis |
KR20030023711A (ko) | 2001-05-23 | 2003-03-19 | 코닌클리케 필립스 일렉트로닉스 엔.브이. | 디더링 방법 및 장치 |
US7072946B2 (en) * | 2001-05-31 | 2006-07-04 | Juniper Networks, Inc. | Network router management interface with API invoked via login stream |
US6885374B2 (en) * | 2001-06-29 | 2005-04-26 | Intel Corporation | Apparatus, method and system with a graphics-rendering engine having a time allocator |
US7258168B2 (en) * | 2001-07-27 | 2007-08-21 | Enventure Global Technology L.L.C. | Liner hanger with slip joint sealing members and method of use |
US6788312B1 (en) | 2001-08-06 | 2004-09-07 | Nvidia Corporation | Method for improving quality in graphics pipelines through a frame's top and bottom field processing with conditional thresholding and weighting techniques |
US7039909B2 (en) * | 2001-09-29 | 2006-05-02 | Intel Corporation | Method and apparatus for performing compiler transformation of software code using fastforward regions and value specialization |
JP2003153079A (ja) | 2001-11-08 | 2003-05-23 | Sony Corp | 画像処理装置と画像処理方法 |
US6806982B2 (en) | 2001-11-30 | 2004-10-19 | Zebra Imaging, Inc. | Pulsed-laser systems and methods for producing holographic stereograms |
US6943905B2 (en) * | 2001-12-20 | 2005-09-13 | Sharp Laboratories Of America, Inc. | Virtual print driver system and method |
US20040024580A1 (en) | 2002-02-25 | 2004-02-05 | Oak Technology, Inc. | Server in a media system |
US7451457B2 (en) | 2002-04-15 | 2008-11-11 | Microsoft Corporation | Facilitating interaction between video renderers and graphics device drivers |
US7219352B2 (en) | 2002-04-15 | 2007-05-15 | Microsoft Corporation | Methods and apparatuses for facilitating processing of interlaced video images for progressive video displays |
JP2004023328A (ja) | 2002-06-14 | 2004-01-22 | Matsushita Electric Ind Co Ltd | 画像処理装置、画像処理方法、プログラム、および媒体 |
US20030234892A1 (en) | 2002-06-25 | 2003-12-25 | Hu Julian Jaw-Long | Television receiver with reduced flicker by 3/2 times standard sync |
KR20040006065A (ko) | 2002-07-09 | 2004-01-24 | 삼성전자주식회사 | 장면전환검출장치 및 그 방법 |
US20040032906A1 (en) | 2002-08-19 | 2004-02-19 | Lillig Thomas M. | Foreground segmentation for digital video |
US6685374B1 (en) * | 2003-05-09 | 2004-02-03 | Cotapaxi, Inc. | Big clip pen |
US7139002B2 (en) | 2003-08-01 | 2006-11-21 | Microsoft Corporation | Bandwidth-efficient processing of video images |
US7158668B2 (en) | 2003-08-01 | 2007-01-02 | Microsoft Corporation | Image processing using linear light values and other image processing improvements |
US7643675B2 (en) * | 2003-08-01 | 2010-01-05 | Microsoft Corporation | Strategies for processing image information using a color information data structure |
US7180525B1 (en) | 2003-11-25 | 2007-02-20 | Sun Microsystems, Inc. | Spatial dithering to overcome limitations in RGB color precision of data interfaces when using OEM graphics cards to do high-quality antialiasing |
-
2002
- 2002-10-18 US US10/273,505 patent/US7219352B2/en not_active Expired - Lifetime
-
2003
- 2003-03-14 EP EP03005836.6A patent/EP1357745B1/en not_active Expired - Lifetime
- 2003-04-15 JP JP2003110878A patent/JP4625241B2/ja not_active Expired - Fee Related
-
2006
- 2006-03-10 US US11/276,695 patent/US7876379B2/en not_active Expired - Fee Related
-
2009
- 2009-12-16 JP JP2009285191A patent/JP5123282B2/ja not_active Expired - Fee Related
-
2011
- 2011-01-03 US US12/983,808 patent/US8176500B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP4625241B2 (ja) | 2011-02-02 |
JP2010068544A (ja) | 2010-03-25 |
EP1357745A2 (en) | 2003-10-29 |
EP1357745A3 (en) | 2005-01-26 |
US7219352B2 (en) | 2007-05-15 |
EP1357745B1 (en) | 2016-03-09 |
US20110102672A1 (en) | 2011-05-05 |
US20030193486A1 (en) | 2003-10-16 |
US20060146188A1 (en) | 2006-07-06 |
US7876379B2 (en) | 2011-01-25 |
JP2004029744A (ja) | 2004-01-29 |
US8176500B2 (en) | 2012-05-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5123282B2 (ja) | プログレッシブ・ビデオ表示のためのインターレース・ビデオ画像の処理を容易にする方法および装置 | |
JP5582429B2 (ja) | デコーダおよび方法 | |
US5633687A (en) | Method and system for providing an interlaced image on an display | |
US6690427B2 (en) | Method and system for de-interlacing/re-interlacing video on a display device on a computer system during operation thereof | |
US6208350B1 (en) | Methods and apparatus for processing DVD video | |
US7643675B2 (en) | Strategies for processing image information using a color information data structure | |
US8723891B2 (en) | System and method for efficiently processing digital video | |
US7139002B2 (en) | Bandwidth-efficient processing of video images | |
JP5217037B2 (ja) | 共有メモリマルチビデオチャネルディスプレイ装置および方法 | |
JP2009534931A (ja) | 共有メモリマルチビデオチャネルディスプレイ装置および方法 | |
US20020101536A1 (en) | Method and apparatus for implementing 4:2:0 to 4:2:2 and 4:2:2 to 4:2:0 color space conversion | |
US7451457B2 (en) | Facilitating interaction between video renderers and graphics device drivers | |
US20170302899A1 (en) | Facilitating interaction between video renderers and graphics device drivers | |
CN101448108A (zh) | 图像处理装置与相关方法 | |
US20070122045A1 (en) | System for scaling a picture unit from a first video resolution format to a second video resolution format | |
US7893943B1 (en) | Systems and methods for converting a pixel rate of an incoming digital image frame | |
AU2010200535B2 (en) | Methods and apparatuses for facilitating processing of interlaced video images for progressive video displays | |
JP5394447B2 (ja) | カラー情報データ構造体を使用するイメージ情報の処理の戦略 | |
JPH08317311A (ja) | 表示制御装置及びその制御方法 | |
KR100744519B1 (ko) | 온 스크린 디스플레이 스케일링 장치 및 그 방법 | |
Winzker et al. | P‐10: Integrated Display Architecture for Ultra‐Portable Multimediaprojectors |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20091216 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20111226 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120113 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120413 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120615 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120918 |
|
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: 20121012 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20121025 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20151102 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 5123282 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
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 |
|
LAPS | Cancellation because of no payment of annual fees |