JP4808276B2 - ビデオ・レンダラーとグラフィックス・デバイス・ドライバの間の相互作用を促進すること - Google Patents
ビデオ・レンダラーとグラフィックス・デバイス・ドライバの間の相互作用を促進すること Download PDFInfo
- Publication number
- JP4808276B2 JP4808276B2 JP2010035051A JP2010035051A JP4808276B2 JP 4808276 B2 JP4808276 B2 JP 4808276B2 JP 2010035051 A JP2010035051 A JP 2010035051A JP 2010035051 A JP2010035051 A JP 2010035051A JP 4808276 B2 JP4808276 B2 JP 4808276B2
- Authority
- JP
- Japan
- Prior art keywords
- procamp
- video
- device driver
- graphics device
- renderer
- 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 - Lifetime
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
-
- 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/641—Multi-purpose receivers, e.g. for auxiliary information
-
- 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)
- Multimedia (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Controls And Circuits For Display Device (AREA)
- Image Generation (AREA)
- Processing Or Creating Images (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Description
ProcAmp調整を有する典型的なビデオ処理パイプライン
図1は、ProcAmp調整動作104(ProcAmp adjustment operation)を含む第1のビデオ処理パイプライン100である。第1のビデオ処理パイプライン100は、グラフィックス・カードなどのグラフィックス・ハードウェアを使用して実装することができる。これは、(i)3つの画像メモリ・ブロック102、106および108と、(ii)少なくとも1つの画像処理動作104とを含む。画像メモリ・ブロック102は、YUVビデオ・イメージ・オフスクリーン・プレーン・サーフェスを含む。図示するProcAmp調整動作104を含んでいる画像処理動作104は、画像メモリ・ブロック106を提供するために画像メモリ・ブロック102に適用される。画像メモリ・ブロック106は、画像調整動作を実行するグラフィックス・ハードウェアのパラメータおよび能力に応じてYUVオフスクリーン・プレーン・サーフェスまたはYUVテクスチャを含む。
明度、コントラスト、彩度、および色相に関連した以下の記述は、それらの値を操作するために可能な、かつ/または提案された設定に関連して、典型的な記載の実装に関するものである。他のProcAmp調整のガイドラインを別法として使用することもできる。
YUV色空間の明度、コントラスト、彩度、および色相の処理に関する以下の記述は、それらの値を操作するために可能な、かつ/または提案された設定に関連して一例として記載した実装に関するものである。他の調整のガイドラインを別法として使用することもできる。一般に、YUV色空間で作業することによって、ビデオ・ストリームのProcAmp調整制御に必要とされる計算が簡略化される。
Y’=((Y−16)×C)+B+16
上式で、Cはコントラスト値であり、Bは明度値である。
U’=(U−128)×Cos(H)+(V−128)×Sin(H)、および
V’=(V−128)×Cos(H)−(U―128)×Sin(H)
上式で、Hは所望の色相角度を示している。
U’=(((U−128)×Cos(H)+(V−128)×Sin(H))×C×S)+128、および
V’=(((V−128)×Cos(H)−(U−128)×Sin(H))×C×S)+128
上式で、Cは上記Y’の方程式同様コントラスト値、Hは色相角度、Sは彩度である。
図2は、RGBレンダー・ターゲット108に達するために2つのビデオ処理動作202と206を含む第2のビデオ処理パイプライン200である。第2のビデオ処理パイプライン200は、(i)3つの画像メモリ・ブロック102、204、および108と、(ii)2つの画像処理動作202および206を含む。
1.ProcAmp制御調整
2.デ・インターレーシング
3.アスペクト・レシオ補正
4.色空間変換、および
5.垂直または水平の鏡面効果処理(mirroring)およびアルファ・ブレンディング
可能ならば、ビデオ画像の処理中に消費される全体的なメモリ帯域幅を低減するために、所望のビデオ(および/または他の画像)処理動作を可能な限り少ない動作に結合する。処理動作を結合することができる程度は、一般に、グラフィックス・ハードウェアの能力によって決定される。通常、色空間変換処理とアスペクト・レシオ補正処理は、ビデオ・ストリームの大部分ではないにしてもその多くに適用される。しかし、垂直/水平の鏡面効果およびアルファ・ブレンディングはそこまでに頻繁には適用されない。
図3は、RGBレンダー・ターゲット108に達するために1つのビデオ処理動作302を含む第3のビデオ処理パイプライン300である。一般に、第3のビデオ処理パイプライン300は、1つの画像処理動作302と2つの画像メモリ・ブロック102および108を使用してグラフィックス・ハードウェアによって実装される。具体的には、画像メモリ・ブロック108は、画像処理動作302によって画像メモリ・ブロック102から生成される。画像処理動作302は、図示するように、後述するような複数のビデオ処理動作を含む。
図4は、ビデオ・レンダラー410とグラフィックス・デバイス・ドライバ422の間の相互作用を促進するように構成されたコンピューティングまたは他の電子デバイスのある種の機能要素を示すブロック図400である。これらの様々な典型的な要素および/または機能は、ハードウェア、ソフトウェア、ファームウェア、これらのいくつかの組合せなどによって実装可能である。このようなハードウェア、ソフトウェア、ファームウェア、これらのいくつかの組合せなどを、本明細書では一括して、また個別に論理(logic)と称する。
図5は、ビデオ・レンダラー410とグラフィックス・デバイス・ドライバ422の間の典型的なプロトコルを示す通信/信号送受のダイヤグラム500である。この典型的なプロトコルは、ProcAmp調整などのビデオ(または他の画像)処理動作の実行を促進する。このようなビデオ処理動作は、ユーザによって起動され、制御されたビデオ表示アプリケーション(例えば、教唆アプリケーション(instigating application))によって要求/指定される動作を含むことができる。
図6は、ビデオ・レンダラー410とグラフィックス・デバイス・ドライバ422の間の相互作用を促進する典型的な方法を示す流れ図600である。図6に反映されている説明した実装はProcAmp調整動作に向けられているが、これはこのように限定されるものではない。限定されるのではなく、この典型的な汎用API実装態様の少なくともある種の態様は、1つまたは複数の他のビデオ(または一般的な画像)処理動作によって使用することができる。
このAPIは、ビデオ・レンダラー410が、ProcAmp制御デバイスの入力要件と、ProcAmp調整動作が実行されているのと同時にサポートすることのできる任意の追加ビデオ処理動作とに関する情報を決定するためにグラフィックス・デバイス・ドライバ422に照会することを可能にする。
HRESULT
ProcAmpControlQueryCaps(
[in]DXVA_VideoDesc* lpVideoDescription,
[out]DXVA_ProcAmpControlCaps* lpProcAmpCaps
);
typedef struct_DXVA_ProcAmpControlCaps {
DWORD Size;
DWORD InputPool;
D3DFORMAT OutputFrameFormat;
DWORD ProcAmpControlProps;
DWORD VideoProcessingCaps;
} DXVA_ProcAmpControlCaps;
Sizeフィールドはデータ構造のサイズを示しており、異なるバージョンが異なるデータ構造サイズを有している場合は特にバージョン・インジケータとして使用することができる。
・DXVA_ProcAmp_None。ハードウェアはどのようなProcAmp制御動作をもサポートしない。
・DXVA_ProcAmp_Brightness。ProcAmp制御ハードウェアは、ビデオ画像に対して明度調整を実行することができる。
・DXVA_ProcAmp_Contrast。ProcAmp制御ハードウェアは、ビデオ画像に対してコントラスト調整を実行することができる。
・DXVA_ProcAmp_Hue。ProcAmp制御ハードウェアは、ビデオ画像に対して色相調整を実行することができる。
・DXVA_ProcAmp_Saturation。ProcAmp制御ハードウェアは、ビデオ画像に対して彩度調整を実行することができる。
・DXVA_VideoProcess_YUV2RGB。ProcAmp制御ハードウェアは、ビデオをYUV色空間からRGB色空間に変換することができる。使用されるRGBフォーマットは、各色成分に対して8ビットまたはそれ以上の精度を有することができる。これが可能ならば、ビデオ・レンダラー410内のバッファ・コピーを防止することができる。RGB色空間からYUV色空間への変換に対しては、このフラグは必要条件ではないということに留意されたい。
・DXVA_VideoProcess_StretchX。ProcAmp制御ハードウェアが水平に伸張または縮小することができる場合、ビデオがProcAmp調整を受けながら、同時に、アスペクト・レシオ補正を実行することができる。
・DXVA_VideoProcess_StretchY。アスペクト・レシオ調整は、アプリケーションで定義済みの合成空間内でビデオ画像をスケール変更するために一般的なピクチャ・サイズ変更動作と組み合わされる場合がある。これはどちらかというとめったにない場合である。ビデオをアプリケーション・ウィンドウに適合させるようサイズ変更するスケール変更を実行することは、ProcAmp調整のためのスケール変更と同時に実行することができる。これらのスケール変更を一緒に実行することによって累積的なアーティファクトが防止される。
・DXVA_VideoProcess_SubRects。このフラグは、ハードウェアが、全体画像に加えて、画像の長方形の(サブ)領域で動作することができることを特定する。DXVA_ProcAmpControlBltデータ構造のソース長方形によって、この長方形の領域を特定することができる。
・DXVA_VideoProcess_AlphaBlend。アルファ・ブレンディングは、透明度および/または不透明度のレベルの設定などによって他の図形情報がどのように表示されるかを制御することができる。したがって、アルファ値は、色の透明度、すなわちその色が背景色とブレンドされる程度を示すことができる。このようなアルファ値は、完全な透明色から完全な不透明色までの範囲で変化させることができる。
ProcAmpControlQueryRange
各ProcAmp特性(明度、コントラスト、彩度、色相、など)に関しては、ビデオ・レンダラー410は、最小、最大、ステップサイズ(増分)、デフォルト値などを決定するためにグラフィックス・デバイス・ドライバ422に照会する。ハードウェアが特定のProcAmp制御特性をサポートしない場合、グラフィックス・デバイス・ドライバ422は、ProcAmpControlQueryRange機能に応答して「E_NOTIMPL」を戻すことができる。
特性 最小 最大 デフォルト値 増分
明度 -100.0F 100.0F 0.0F 0.1F
コントラスト 0.0F 10.0F 1.0F 0.01F
彩度 0.0F 10.0F 1.0F 0.01F
色相 -180.0F 180.0F 0.0F 0.1F
HRESULT
ProcAmpControlQueryRange(
[in]DWORD VideoProperty,
[in]DXVA_VideoDesc* lpVideoDescription,
[out]DXVA_VideoPropertyRange* lpPropRange
);
・DXVA_ProcAmp_Brightness;
・DXVA_ProcAmp_Contrast;
・DXVA_ProcAmp_Hue;
・DXVA_ProcAmp_Saturation.
typedef struct_DXVA_VideoPropertyRange {
FLOAT MinValue;
FLOAT MaxValue;
FLOAT DefaultValue;
FLOAT StepSize;
} DXVA_VideoPropertyRange, *LPDXVA_VideoPropertyRange;
ビデオ・レンダラー410がProcAmp制御ハードウェアの能力を決定した後で、ProcAmpStreaオブジェクトを作成することができる。ProcAmpStreamオブジェクトを作成することによって、グラフィックス・デバイス・ドライバ422は、要求された1つ以上のProcAmp調整動作を実行するために必要なハードウェア資源を確保することができる。
ProcAmpOpenStreamメソッドはProcAmpStreamオブジェクトを作成する。
IIRESULT
ProcAmpOpenStream(
[in]LPDXVA_VideoDesc lpVideoDescription,
[out] HDXVA_ProcAmpStream* lphCcStrm
);
ProcAmpBltメソッドは、ビット・ブロック転送動作中に宛先サーフェスにその出力を書き込むことによってProcAmp調整動作を実行する。
HRESULT
ProcAmpBlt(
[in]HDXVA_ProcAmpStream hCcStrm
[in]LPDDSURFACE lpDDSDstSurface,
[in]LPDDSURFACE lpDDSSrcSurface,
[in]DXVA_ProcAmpBlt* ccBlt
);
ProcAmpCloseStreamメソッドはProcAmpStreamオブジェクトを閉じ、識別されたストリームに関連付けられたハードウェア資源を解放するように、グラフィックス・デバイス・ドライバ422に命令する。
HRESULT
ProcAmpCloseStream(
HDXVA_ProcAmpStream hCcStrm
);
本節で後述する特定の状態および典型的APIは、パーソナル・コンピュータ用の既存のMicrosoft(登録商標)Windows(登録商標)オペレーティング・システムのサブセットに特に適用可能である。しかし、後述する、擬似コードのある種の態様と同様に、この原理は、他のオペレーティング・システムおよび/または他の環境で(そのままで、またはルーチンを修正して)使用できることを理解されたい。
既存のMicrosoft(登録商標)Windows(登録商標)オペレーティング・システムのサブセットに対するDDIインフラストラクチャとの互換性のために、前節で記載のAPIはDirectDrawおよびDirectXVA用の既存のDDIに「マッピング」することができる。本節では、既存のDirectDrawおよびDX−VA DDIにマッピングするProcAmpインターフェースについて説明する。
DX−VAデバイス・メソッドは型付きパラメータを使用しないので、多くの異なる目的に再利用することができる。しかし、DX−VAデバイス・メソッドはDX−VAデバイスとの関連でしか使用することができないので、第1のタスクは特別の「コンテナ・デバイス」を定義し、作成することである。
(ビデオ)レンダラーなどのユーザ・モードの構成要素からのDDIを使用するための8タスクの典型的なシーケンスを以下に示す。
DEFINE_GUID(DXVA_DeinterlaceContainerDevice,
0x0e85cb93,0x3046,0x4ff0,0xae,0xcc,0xd5,0x8c,0xb5,0xf0,0x35,0xfc);
DEFINE_GUID(DXVA_ProcAmpControlDevice,
0x9f200913,0x2ffd,0x4056,0x9f,0x1e,0xe1,0xb5,0x08,0xf2,0x2d,0xcf);
このメソッドは、デ・インターレース・コンテナ・デバイスのcall to the RenderMoCompメソッドに直接的にマッピングする。DD_RENDERMOCOMPDATA構造は以下のように完成される。
・dwNumBuffersは0である。
・lpBufferInfoはNULLである。
・dwFunctionは、DXVA_ProcAmpControlQueryCapsFnCodeと定義される。
・lpInputDataはDXVA_VideoDesc構造を指す。
・lpOutputDataはDXVA_ProcAmpCaps構造を指す。
このメソッドは、デ・インターレース・コンテナ・デバイスのcall to the RenderMoCompメソッドに直接的にマッピングする。DD_RENDERMOCOMPDATA構造は以下のように完成される。
・dwNumBuffersは0である。
・lpBufferInfoはNULLである。
・dwFunctionは、DXVA_ProcAmpControlQueryRangeFnCodeと定義される。
・lpInputDataは、DXVA_ProcAmpControlQueryRange構造を指す。
typedef struct _DXVA_ProcAmpQueryRange {
DWORD Size;
DWORD VideoProperty;
DXVA_VideoDesc VideoDesc;
} DXVA_ProcAmpControlQueryRange,
*LpDXVA_ProcAmpControlQueryRange;
・lpOutputDataはDXVA_VideoPropertyRange構造を指すことになる。
GUIDがProcAmpデバイスGUIDであり、pUncompDataがデータを含まない構造(オール0)を指し、pDataがDXVA_VideoDesc構造を指す場合、このメソッドは、DD_MOTIONCOMPCALLBACKS構造のCreateMoCompメソッドに直接マッピングする。
下記の典型的な擬似コードは、ドライバがどのようにしてCreateMoComp DDI callをcalls to ProcAmpControlOpenStreamにマッピングすることができるかを示している。この擬似コードは、CreateMocComp機能がProcAmpに対してどのように使用されるかを示している。ドライバが、MPEG−2ビデオ・ストリームの復号などの他のDX−VA機能をサポートする場合、追加DX−VA GUIDの処理を含めるために下記のサンプル・コードを拡張することができる。
CreateMoComp(
LPDDHAL_CREATEMOCOMPDATA lpData
)
{
// Make sure its a guid we like.
if (!VaIidDXVAGuid(lpData->lpGuid)) {
DbgLog((LOG_ERROR, 1,
TEXT("No formats supported for this GUID")));
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_DeinterlaceContainerDeviceClass(
*lpData.->lpGuid,
DXVA_DeviceContainer);
if(lpDev) {
lpData->ddRVal = DD_OK;
}
else {
lpData->ddRVaI = E_OUTOFMEMORY;
}
lpData->lpMoComp->lpDriverReserved 1 =
(LPVOID)(DXVA_DeviceBaseClass*)lpDev;
return DDHAL_DRIVER_HANDLED;
}
// Look for the ProcAmp Control device GUID
if(*lpData->lpGuid == DXVA_ProcAmpControlDevice) {
DXVA_ProcAmpControlDeviceClass* lpDev =
new DXVA_ProcAmpControlDeviceClass(
*lpData->lpGuid,
DXVA_DeviceProcAmpControl);
if(lpDev) {
LPDXVA_VideoDesc lpVideoDescription =
(LPDXVA_VideoDesc)lpData->lpData;
lpData->ddRVal =
lpDev->ProcAmpControlOpenStream(
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;
}
CreateMoComp DDI機能の他に、ドライバはDD_MOTIONCOMPCALLBACKS構造のGetMoCompGuidsメソッドを実装することもできる。下記の典型的な擬似コードは、この機能をドライバで実装する1つの方法を示している。
// This is a list of DV-VA device GUIDs supported by
// the driver - this list includes decoder, ProcAmp and
// the de-interlacing container device. There is no significance to // the order of the GUIDs on the list.
DWORD g_dwDXVANumSupportedGUIDs = 2;
const (GUID* g_DXVASupportedGUIDs[2] = {
&DXVA_DeinterlaceContainerDevice,
&DXVA_ProcAmpControlDevice
};
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_dwDXVANumSupportedGUIDs,
lpData->dwNumGuids);
for (DWORD i =0; i < dwNumToCopy; i++) {
lpData->lpGuids[i] =
*g_DXVAsupportedGUIDs[i];
}
}
else {
dwNumToCopy = g_dwDXVANumSupportedGUIDs;
}
lpData->dwNumGuids = dwNumToCopy;
lpData->ddRVal = DD_OK;
return DDHAL_DRIVER_HANDLED;
}
このメソッドは、DD_MOTIONCOMPCALLBACKS構造のRenderMoCompメソッドに直接マッピングする。ここで、
・dwNumBuffersは2である。
・lpBufferInfoは2つのサーフェスの1つのアレイを指す。このアレイの第1の要素は宛先サーフェスであり、このアレイの第2の要素はソース・サーフェスである。
・dwFunctionは、DXVA_ProcAmpControlBltFnCodeと定義される。
・lpInputDataは下記の構造を指す。
typedef struct_DXVA_ProcAmpControlBlt {
DWORD Size;
RECT DstRect;
RECT SrctRect;
FLOAT Alpha;
FLOAT Brightness;
FLOAT Contrast;
FLOAT Hue;
FLOAT Saturation;
} DXVA_ProcAmpControlBlt;
・lpOutputDataはNULLである。
下記の典型的な擬似コードは、ドライバがどのようにしてRenderMoComp DDI callをcalls to ProcAmpBltにマッピングすることができるかを示している。サンプル・コードは、ProcAmp調整のためにRenderMoComp機能をどのように使用することができるかを示している。ドライバが、MPEG−2ビデオ・ストリームの復号などの他のDX−VA機能をサポートしている場合、下記のサンプル・コードを拡張して、追加DX−VA GUIDの処理を含めることができる。
RenderMoComp(
LPDDHAL_RENDERMOCOMPDATA lpData
)
{
if (lpData->dwFunction = = DXVA_ProcAmpControlBltFnCode)
{
DXVA_ProcAmpControlDeviceClass* pDXVADev =
(DXVA_ProcAmpControlDeviceClass*)pDXVABase;
DXVA_ProcAmpControlBlt* lpBlt =
(DXVA_ProcAmpControlBlt*)lpData->lpInputData;
LPDDMCBUFFERINFO lpBuffInfo = lpData->lpBufferInfo;
lpData->ddRVal = pDXVADev->ProcAmpControlBlt(
lpBuffInfo[0].lpCompSurface,
lpBuffInfo[1].lpCompSurface,
lpBlt);
return DDHAL_DRIVER_HANDLED;
}
lpData->ddRVal = E_INVALIDARG;
return DDHAL_DRIVER_HANDLED;
}
このメソッドは、DD_MOTIONCOMPCALLBACKS構造のDestroyMoCompメソッドに直接マッピングする。
下記の典型的な擬似コードは、ドライバがどのようにしてDestroyMoComp DDI callをcalls to ProcAmpControlCloseStreamにマッピングすることができるかを示している。サンプル・コードは、ProcAmp調整のためにDestroyMoComp機能をどのように使用することができるかを示している。ドライバが、MPEG−2ビデオ・ストリームの復号などの他のDX−VA機能をサポートしている場合、下記のサンプル・コードを拡張して、追加DX−VA GUIDの処理を含めることができる。
DestroyMoComp(
LPDDHAL_DESTROYMOCOMPDATA lpData
)
{
DXVA_DeviceBaseClass* pDXVABase =
(DXVA_DeviceBaseClass*)
lpData->lpMoComp->lpDriverReserved 1;
if(pDXVABase == NULL) {
lpData->ddRVal = E_POINTER;
return DDHAL_DRIVER_HANDLED;
}
switch (pDXVABase->m_DeviceType) {
case DXVA_DeviceContainer:
lpData->ddRVal = S_OK;
delete pDXVABase;
break;
case DXVA_DeviceProcAmpControl:
{
DXVA_ProcAmpControlDeviceClass* pDXVADev =
(DXVA_ProcAmpControlDeviceClass*)pDXVABase;
lpData->ddRVal = pDXVADev->ProcAmpControlCloseStream();
delete pDXVADev;
}
break;
}
return DDHAL_DRIVER_HANDLED;
}
図7は、本明細書に記載のようにビデオ・レンダラーとグラフィックス・デバイス・ドライバの間の相互作用を促進するための少なくとも1つのシステム、デバイス、構成要素、構成、プロトコル、方法、メソッド、プロセス、これらのいくつかの組合せなどで(全体的にまたは部分的に)実装することができる典型的なコンピューティング(または一般的な電子デバイス)の動作環境700を示している。コンピューティング環境700は、後述するコンピュータおよびネットワーク・アーキテクチャでまたはスタンドアロン状況で使用することができる。
412 グラフィックス・インターフェース
414 デバイス・ドライバ・インターフェース
422 グラフィックス・デバイス・ドライバ
426 グラフィックス・プロセッサ・ユニット(GPU)
424 グラフィックス・デバイス
432 ビデオ・メモリ
Claims (19)
- 1つまたは複数のビデオ・レンダラーと少なくとも1つのグラフィックス・デバイス・ドライバとの間の相互作用を促進するコンピュータで実施される方法であって、
前記1つまたは複数のビデオ・レンダラーのうちのビデオ・レンダラーにより、前記少なくとも1つのグラフィックス・デバイス・ドライバに、ProcAmp制御特性能力についての照会であって、表示されるべきビデオについての記述を含む照会を行うことと、
前記表示されるべきビデオについての前記記述に基づいて、ProcAmp制御特性能力に関連する情報を含む応答を生成することと、
ProcAmp制御特性能力に関連する前記情報は、前記少なくとも1つのグラフィックス・デバイス・ドライバが前記ビデ・レンダラーに提供することができるProcAmp制御特性能力の少なくともサブセットを含み、前記少なくとも1つのグラフィックス・デバイス・ドライバから前記ビデオ・レンダラーへ前記応答を送信することと、
前記グラフィックス・デバイス・ドライバから前記ビデオ・レンダラーへ、前記ProcAmp制御特性能力のサブセットと関連したビデオ処理動作とともに同時に実行することが可能なProcAmp調整を提供することと、
前記ProcAmp制御特性能力のサブセットの1つと関連するProcAmp制御特性を、前記ビデオ・レンダラーで選択することと、
前記ビデオ・レンダラーからの前記選択されたProcAmp制御特性に関連する値についての要求を、前記グラフィックス・デバイス・ドライバで受信することと、
前記値についての要求に応答して、ビデオ処理動作において用いられる値を前記ビデオ・レンダラーへ提供することと、
前記ビデオ・レンダラーからのProcAmpストリーム・オブジェクトを開くコマンドを、前記グラフィクス・デバイス・ドライバで受信することと、
前記ProcAmpストリーム・オブジェクトを開くことと、
前記グラフィックス・デバイス・ドライバから前記ビデオ・レンダラーへ、前記ProcAmpストリーム・オブジェクトを指すハンドルを有する別の応答を送信することと、
前記ビデオ・レンラダーからのProcAmp調整を実行するコマンドを、前記グラフィックス・デバイス・ドライバで受信することと、
前記ProcAmp調整を実行させることと
を含み、
前記ProcAmp調整を実行するコマンドは、前記選択されたProcAmp制御特性と関連したビデオ処理動作を前記ProcAmp調整と共に同時に実行する命令を含み、
前記ProcAmp調整を実行させることは、前記ProcAmp調整と前記ビデオ処理動作とを同時に実行させ、
ProcAmp制御特性能力に関連する前記情報は、前記ProcAmp調整と同時に実行されるビデオ処理動作に関するものである、ことを特徴とする方法。 - 前記少なくとも1つのグラフィックス・デバイス・ドライバが前記ビデ・レンダラーに提供することができる前記ProcAmp制御特性能力の少なくともサブセットは、前記少なくとも1つのグラフィックス・デバイス・ドライバから前記ビデオ・レンラダーへ割り当てられたProcAmp能力であることを特徴とする請求項1に記載の方法
- 前記グラフィックス・デバイス・ドライバは、表示されるべきビデオについての前記記述に対応する1つまたは複数の記述についての予め定められた1つまたは複数のProcAmp制御特性のセットを有することを特徴とする請求項1に記載の方法
- 前記方法は、
前記ビデオ・レンダラーから前記グラフィックス・デバイス・ドライバへ、ビデオ処理ストリーム・オブジェクトを閉じるコマンドを送信することと、
前記グラフィックス・デバイス・ドライバが、前記ビデオ・レンダラーからの前記ビデオ処理ストリーム・オブジェクトを閉じるコマンドを受信することと、
前記グラフィックス・デバイス・ドライバが、前記ビデオ処理ストリーム・オブジェクトを閉じることと
更に含むことを特徴とする請求項1に記載の方法 - 電子的に実行可能な命令を記憶した1つまたは複数の電子的にアクセス可能な記憶媒体であって、前記電子的に実行可能な命令は、実行されると、
ビデオ・レンダラーからの照会であって、
ProcAmp制御特性能力に関連する情報の要求と、
表示されるべきビデオのタイプについての記述と
を含む照会を、グラフィックス・デバイス・ドライバで受信することと、
前記表示されるべきについての前記記述に基づいて、前記ProcAmp制御特性能力に関連する要求された前記情報を含む応答を生成することと、
前記グラフィックス・デバイス・ドライバから前記ビデオ・レンダラーへ、前記応答を送信することと、
前記グラフィックス・デバイス・ドライバから前記ビデオ・レンダラーへ、前記ProcAmp制御特性能力と関連したビデオ処理動作とともに同時に実行されるProcAmp調整を提供することと、
前記ProcAmp制御特性能力の1つと関連付けられたProcAmp制御特性を、前記ビデオ・レンダラーで選択することと、
前記ビデオ・レンダラーからの前記選択されたProcAmp制御特性に関連する値についての要求を、前記グラフィックス・デバイス・ドライバで受信することと、
前記選択されたProcAmp制御特性に関連する前記値についての要求に応答して、ビデオ処理動作において用いられる値を前記ビデオ・レンダラーへ提供することと、
前記ビデオ・レンダラーからのProcAmpストリーム・オブジェクトを開くコマンドを、前記グラフィクス・デバイス・ドライバで受信することと、
前記ProcAmpストリーム・オブジェクトを開くことと、
前記グラフィックス・デバイス・ドライバから前記ビデオ・レンダラーへ、前記開かれたProcAmpストリーム・オブジェクトを指すハンドルを有する別の応答を送信することと、
前記ビデオ・レンラダーからのProcAmp調整を実行するコマンドを、前記グラフィックス・デバイス・ドライバで受信することと、
前記ProcAmp調整を実行させることと
を引き起こし、
前記ProcAmp調整を実行するコマンドは、前記選択されたProcAmp制御特性と関連したビデオ処理動作を前記ProcAmp調整と共に同時に実行する命令を含み、
前記ProcAmp調整を実行させることは、前記ProcAmp調整と前記ビデオ処理動作とを同時に実行させ、
ProcAmp制御特性能力に関連する前記情報は、前記ProcAmp調整と同時に実行されるビデオ処理動作に関するものである、ことを特徴とする1つまたは複数の電子的にアクセス可能な記憶媒体。 - ProcAmp調整とともに同時に実行される1つまたは複数のビデオ処理動作は、デ・インターレーシング動作、アスペクト・レシオ補正、色空間変換、フレーム・レート変換、垂直または水平の鏡面効果処理、アルファ・ブレンディング動作、および、なし、からなるグループから選択される少なくとも1つのビデオ処理動作を含むことを特徴とする請求項5に記載の1つまたは複数の電子的にアクセス可能な記憶媒体。
- 前記ProcAmp調整を実行するコマンドは、ビット・ブロック転送に関するものであることを特徴とする請求項5に記載の1つまたは複数の電子的にアクセス可能な記憶媒体。
- 前記ProcAmp調整を実行するコマンドは、前記グラフィックス・デバイス・ドライバに、前記ビデオについての前記ProcAmp調整の実行と共に起こるビット・ブロック転送を生じさせることを特徴とする請求項7に記載の1つまたは複数の電子的にアクセス可能な記憶媒体。
- 前記ProcAmp調整を実行するコマンドは、前記グラフィックス・デバイス・ドライバに、前記ProcAmp調整の実行と共に起こるビット・ブロック転送を生じさせ、表示装置のスクリーン全体に対する1つの画像であって、単一ブロックとしてメモリに記憶されて前記ProcAmp調整後の前記ビデオのフレームを含む1つの画像を作成させることを特徴とする請求項7に記載の1つまたは複数の電子的にアクセス可能な記憶媒体。
- 前記ProcAmp調整を実行するコマンドは、前記ビデオについての前記ProcAmp調整に関する少なくとも1つの制御特性値または1つの制御特性値に対する変更を規定することを特徴とする請求項5に記載の1つまたは複数の電子的にアクセス可能な記憶媒体。
- 前記電子的に実行可能な命令は、実行されると、
前記ビデオ・レンダラーが、前記ビデオについてのProcAmp調整を実行する要求を含む、教唆アプリケーションからの動作要求を受信すること
をさらに引き起こすことを特徴とする請求項5に記載の1つまたは複数の電子的にアクセス可能な記憶媒体。 - 前記電子的に実行可能な命令は、実行されると、
前記ビデオ・レンダラーから前記グラフィックス・デバイス・ドライバへ、ProcAmpストリーム・オブジェクトを閉じるコマンドを発行すること
をさらに引き起こすことを特徴とする請求項5に記載の1つまたは複数の電子的にアクセス可能な記憶媒体。 - 前記照会の受信および前記応答の送信は、少なくとも一部にはグラフィックス・インターフェースとデバイス・ドライバ・インターフェースの少なくとも1つを使用して前記ビデオ・レンダラーと前記グラフィックス・デバイス・ドライバの間で前記照会と前記応答とを伝播することによって実行されることを特徴とする請求項5に記載の1つまたは複数の電子的にアクセス可能な記憶媒体。
- 前記電子的に実行可能な命令の少なくとも一部は、オペレーティング・システムの少なくとも一部であることを特徴とする請求項5に記載の1つまたは複数の電子的にアクセス可能な記憶媒体。
- 前記電子的に実行可能な命令の少なくとも一部は、グラフィックス・デバイス・ドライバの少なくとも一部であることを特徴とする請求項5に記載の1つまたは複数の電子的にアクセス可能な記憶媒体。
- 前記ProcAmp制御特性能力は、なし、明度、コントラスト、色相および彩度からなるグループから選択されることを特徴とする請求項5に記載の1つまたは複数の電子的にアクセス可能な記憶媒体。
- 前記値は、範囲、最大、最小、ステップサイズ/増分、およびデフォルトからなるグループから選択されることを特徴とする請求項5に記載の1つまたは複数の電子的にアクセス可能な記憶媒体。
- 前記ProcAmp調整と同時に実行される1つまたは複数のビデオ処理動作は、
YUV−RGB変換動作、X伸張動作、Y伸張動作、サブ長方形領域動作、アルファ・ブレンド動作、および、なし、からなるグループから選択される少なくとも1つのビデオ処理動作を含むことを特徴とする請求項5に記載の1つまたは複数の電子的にアクセス可能な記憶媒体。 - ビデオ・レンダラーとグラフィックス・デバイス・ドライバとの間の相互作用を促進するシステムであって、
プロセッサーと、
表示されるべきビデオに適用することのできるProcAmp能力に関する情報を要求する照会であって、表示されるべきビデオのタイプについての記述を含む照会を準備するように構成されたビデオ・レンダリング論理と、
表示されるべきビデオのタイプについての前記記述に基づいて、表示されるべきビデオにどのようなProcAmp能力を適用することができるかを示す応答を準備するように構成されたグラフィックス・デバイス・ドライビング論理と、
前記ビデオ・レンダリング論理と前記グラフィックス・デバイス・ドライビング論理との間の相互作用を促進するように構成されたインターフェース論理と
を備え、前記相互作用は、
ビデオ・レンダラーからの照会であって、
ProcAmp制御特性能力に関連する情報の要求と、
表示されるべきビデオのタイプについての記述と
を含む照会を、グラフィックス・デバイス・ドライバで受信することと、
前記表示されるべきについての前記記述に基づいて、前記ProcAmp制御特性能力に関連する要求された前記情報を含む応答を生成することと、
前記グラフィックス・デバイス・ドライバから前記ビデオ・レンダラーへ、前記応答を送信することと、
前記グラフィックス・デバイス・ドライバから前記ビデオ・レンダラーへ、前記ProcAmp制御特性能力と関連したビデオ処理動作とともに同時に実行されるProcAmp調整を提供することと、
前記ProcAmp制御特性能力の1つと関連付けられたProcAmp制御特性を、前記ビデオ・レンダラーで選択することと、
前記ビデオ・レンダラーからの前記選択されたProcAmp制御特性に関連する値についての要求を、前記グラフィックス・デバイス・ドライバで受信することと、
前記選択されたProcAmp制御特性に関連する前記値についての要求に応答して、ビデオ処理動作において用いられる値を前記ビデオ・レンダラーへ提供することと、
前記ProcAmpストリーム・オブジェクトを開くことと、
前記グラフィックス・デバイス・ドライバから前記ビデオ・レンダラーへ、前記開かれたProcAmpストリーム・オブジェクトを指すハンドルを有する別の応答を送信することと、
前記ビデオ・レンラダーからのProcAmp調整を実行するコマンドを、前記グラフィックス・デバイス・ドライバで受信することと、
前記ProcAmp調整を実行させることと
を含み、
前記ProcAmp調整を実行するコマンドは、前記選択されたProcAmp制御特性と関連したビデオ処理動作を前記ProcAmp調整と共に同時に実行する命令を含み、
前記ProcAmp調整を実行させることは、前記ProcAmp調整と前記ビデオ処理動作とを同時に実行させ、
ProcAmp制御特性能力に関連する前記情報は、前記ProcAmp調整と同時に実行されるビデオ処理動作に関するものである、ことを特徴とするシステム。
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US37288002P | 2002-04-15 | 2002-04-15 | |
US60/372,880 | 2002-04-15 | ||
US41306002P | 2002-09-24 | 2002-09-24 | |
US60/413,060 | 2002-09-24 | ||
US10/400,040 US7451457B2 (en) | 2002-04-15 | 2003-03-25 | Facilitating interaction between video renderers and graphics device drivers |
US10/400,040 | 2003-03-25 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003110880A Division JP4718763B2 (ja) | 2002-04-15 | 2003-04-15 | ビデオ・レンダラーとグラフィックス・デバイス・ドライバの間の相互作用を促進すること |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010134962A JP2010134962A (ja) | 2010-06-17 |
JP4808276B2 true JP4808276B2 (ja) | 2011-11-02 |
Family
ID=28795019
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003110880A Expired - Lifetime JP4718763B2 (ja) | 2002-04-15 | 2003-04-15 | ビデオ・レンダラーとグラフィックス・デバイス・ドライバの間の相互作用を促進すること |
JP2010035051A Expired - Lifetime JP4808276B2 (ja) | 2002-04-15 | 2010-02-19 | ビデオ・レンダラーとグラフィックス・デバイス・ドライバの間の相互作用を促進すること |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003110880A Expired - Lifetime JP4718763B2 (ja) | 2002-04-15 | 2003-04-15 | ビデオ・レンダラーとグラフィックス・デバイス・ドライバの間の相互作用を促進すること |
Country Status (4)
Country | Link |
---|---|
US (2) | US20090031328A1 (ja) |
EP (1) | EP1359773B1 (ja) |
JP (2) | JP4718763B2 (ja) |
KR (1) | KR100914120B1 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5525175B2 (ja) * | 2008-04-08 | 2014-06-18 | アビッド テクノロジー インコーポレイテッド | 複数のハードウェア・ドメイン、データ・タイプ、およびフォーマットの処理を統合し抽象化するフレームワーク |
JP6908232B2 (ja) * | 2016-06-30 | 2021-07-21 | キーン アイ テクノロジーズ | マルチモーダルビューア |
CN109903347B (zh) * | 2017-12-08 | 2021-04-09 | 北大方正集团有限公司 | 一种颜色混合的方法、系统、计算机设备及存储介质 |
CN110620954B (zh) * | 2018-06-20 | 2021-11-26 | 阿里巴巴(中国)有限公司 | 用于硬解的视频处理方法、装置和存储介质 |
CN113453025B (zh) * | 2020-03-26 | 2023-02-28 | 杭州海康威视系统技术有限公司 | 数据获取方法及装置 |
Family Cites Families (115)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
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 |
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 | キヤノン株式会社 | 出力制御装置及び方法 |
JP3092382B2 (ja) * | 1993-03-22 | 2000-09-25 | 松下電器産業株式会社 | 信号処理装置 |
US5577125A (en) * | 1993-06-14 | 1996-11-19 | International Business Machines Corporation | Graphical manipulation of encryption |
CA2147847C (en) * | 1993-07-27 | 2002-06-11 | John Peterson | Object-oriented rendering system |
US5508812A (en) * | 1993-09-01 | 1996-04-16 | Apple Computer, Inc. | System for processing and recording digital color television signal onto analog video tape |
US5511195A (en) * | 1993-11-12 | 1996-04-23 | Intel Corporation | Driver, computer-implemented process, and computer system for processing data using loadable microcode running on a programmable processor |
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 |
US5734387A (en) * | 1994-10-24 | 1998-03-31 | Microsoft Corporation | Method and apparatus for creating and performing graphics operations on device-independent bitmaps |
DE69523593T2 (de) * | 1994-06-17 | 2002-09-26 | Intel Corp | Vorrichtung und verfahren zur aufteilung der anwendung in einer graphischen benutzerschnittstelle |
JP2000511363A (ja) * | 1994-07-14 | 2000-08-29 | ジョンソン、グレイス、カンパニー | 画像を圧縮するための方法及び装置 |
US5870503A (en) * | 1994-10-20 | 1999-02-09 | Minolta Co., Ltd. | Image processing apparatus using error diffusion technique |
US5565994A (en) * | 1994-12-06 | 1996-10-15 | Xerox Corporation | Multiple separation error diffusion, with cross separation correlation control for color images |
US5745762A (en) * | 1994-12-15 | 1998-04-28 | International Business Machines Corporation | Advanced graphics driver architecture supporting multiple system emulations |
US5715459A (en) * | 1994-12-15 | 1998-02-03 | International Business Machines Corporation | Advanced graphics driver architecture |
US5745761A (en) * | 1994-12-15 | 1998-04-28 | International Business Machines Corporation | Advanced graphics driver architecture with extension capability |
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 |
US5742797A (en) * | 1995-08-11 | 1998-04-21 | International Business Machines Corporation | Dynamic off-screen display memory manager |
US5757386A (en) * | 1995-08-11 | 1998-05-26 | International Business Machines Corporation | Method and apparatus for virtualizing off-screen memory of a graphics engine |
DE19639388A1 (de) * | 1995-09-29 | 1997-04-10 | Aisin Seiki | Stoß-Sensor |
WO1997013376A1 (en) * | 1995-10-05 | 1997-04-10 | Faroudja Y C | Method and apparatus for procucing from a standard-bandwidth color television signal a color video signal with extended vertical definition |
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 |
DE69842020D1 (de) * | 1997-01-31 | 2011-01-05 | Hitachi Ltd | Bildanzeigesystem mit der Veranlagung zur Modifikation von Anzeigeeigenschaften in einem bestimmten Anzeigebereich |
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 |
US6295088B1 (en) * | 1997-02-17 | 2001-09-25 | Nikon Corporation | Portable display device |
GB9704638D0 (en) * | 1997-03-06 | 1997-04-23 | Lsi Logic Corp | Digital video broadcasting |
US6208360B1 (en) * | 1997-03-10 | 2001-03-27 | Kabushiki Kaisha Toshiba | Method and apparatus for graffiti animation |
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 |
US5892915A (en) * | 1997-04-25 | 1999-04-06 | Emc Corporation | System having client sending edit commands to server during transmission of continuous media from one clip in play list for editing the play list |
US5920326A (en) * | 1997-05-30 | 1999-07-06 | Hewlett Packard Company | Caching and coherency control of multiple geometry accelerators in a computer graphics system |
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 |
US6028677A (en) * | 1997-09-16 | 2000-02-22 | Hewlett-Packard Co. | Method and apparatus for converting a gray level pixel image to a binary level pixel image |
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 |
PT974589E (pt) * | 1997-11-07 | 2004-05-31 | Taiho Pharmaceutical Co Ltd | Derivados de benzimidazol e os seus sais aceitaveis sob o ponto de vista farmaceutico |
JP3700357B2 (ja) * | 1997-11-25 | 2005-09-28 | コニカミノルタビジネステクノロジーズ株式会社 | 画像処理装置 |
JP3591259B2 (ja) * | 1997-12-12 | 2004-11-17 | セイコーエプソン株式会社 | ネットワークシステム並びにネットワーク印刷方法 |
JPH11203782A (ja) * | 1998-01-06 | 1999-07-30 | Sony Corp | 情報記録再生装置およびその制御方法 |
JP2932380B1 (ja) * | 1998-01-30 | 1999-08-09 | 日本電気エンジニアリング株式会社 | 干渉波検出回路 |
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 |
KR100527982B1 (ko) * | 1998-06-11 | 2005-11-09 | 마츠시타 덴끼 산교 가부시키가이샤 | 영상표시장치 및 프로그램 기록매체 |
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 |
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 |
US6529930B1 (en) * | 1998-11-16 | 2003-03-04 | Hitachi America, Ltd. | Methods and apparatus for performing a signed saturation operation |
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 |
JP2000293608A (ja) * | 1999-04-12 | 2000-10-20 | Omron Corp | 装置ドライバ及び装置ドライバシステム |
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 |
US20020145610A1 (en) * | 1999-07-16 | 2002-10-10 | Steve Barilovits | Video processing engine overlay filter scaler |
US6437788B1 (en) * | 1999-07-16 | 2002-08-20 | International Business Machines Corporation | Synchronizing graphics texture management in a computer system using threads |
US6206492B1 (en) * | 1999-07-20 | 2001-03-27 | Caterpillar Inc. | Mid-roller for endless track laying work machine |
JP3382895B2 (ja) | 1999-08-11 | 2003-03-04 | エヌイーシーモバイリング株式会社 | 自営通信における移動局によるハンドオフ制御方式 |
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 |
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 |
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 |
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 |
US7457457B2 (en) * | 2000-03-08 | 2008-11-25 | Cyberextruder.Com, Inc. | Apparatus and method for generating a three-dimensional representation from a two-dimensional image |
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 |
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 |
CN100454365C (zh) * | 2001-05-23 | 2009-01-21 | 皇家菲利浦电子有限公司 | 抖动方法和抖动装置 |
US8214849B2 (en) * | 2001-07-13 | 2012-07-03 | Advanced Micro Devices, Inc. | System for loading device-specific code and method thereof |
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 |
US6865374B2 (en) * | 2001-09-18 | 2005-03-08 | Koninklijke Philips Electronics N.V. | Video recovery system and method |
US6943905B2 (en) * | 2001-12-20 | 2005-09-13 | Sharp Laboratories Of America, Inc. | Virtual print driver system and method |
US7209874B2 (en) * | 2002-02-25 | 2007-04-24 | Zoran Corporation | Emulator-enabled network connectivity to a device |
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 |
US6606982B1 (en) * | 2002-04-17 | 2003-08-19 | Ford Global Technologies, Llc | Crankcase ventilation system for a hydrogen fueled engine |
US20040032906A1 (en) * | 2002-08-19 | 2004-02-19 | Lillig Thomas M. | Foreground segmentation for digital video |
US7158668B2 (en) * | 2003-08-01 | 2007-01-02 | Microsoft Corporation | Image processing using linear light values and other image processing improvements |
US7139002B2 (en) * | 2003-08-01 | 2006-11-21 | Microsoft Corporation | Bandwidth-efficient processing of video images |
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 |
US7830372B2 (en) * | 2004-08-30 | 2010-11-09 | Qnx Software Systems Gmbh & Co. Kg | Method and system for providing transparent access to hardware graphic layers |
-
2003
- 2003-04-15 KR KR1020030023820A patent/KR100914120B1/ko active IP Right Grant
- 2003-04-15 JP JP2003110880A patent/JP4718763B2/ja not_active Expired - Lifetime
- 2003-04-15 EP EP03008706.8A patent/EP1359773B1/en not_active Expired - Lifetime
-
2008
- 2008-10-08 US US12/247,926 patent/US20090031328A1/en not_active Abandoned
-
2010
- 2010-02-19 JP JP2010035051A patent/JP4808276B2/ja not_active Expired - Lifetime
-
2017
- 2017-07-05 US US15/642,181 patent/US20170302899A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
KR100914120B1 (ko) | 2009-08-27 |
JP4718763B2 (ja) | 2011-07-06 |
EP1359773A3 (en) | 2005-01-26 |
JP2010134962A (ja) | 2010-06-17 |
JP2004004761A (ja) | 2004-01-08 |
US20170302899A1 (en) | 2017-10-19 |
KR20030082445A (ko) | 2003-10-22 |
EP1359773B1 (en) | 2016-08-24 |
US20090031328A1 (en) | 2009-01-29 |
EP1359773A2 (en) | 2003-11-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7451457B2 (en) | Facilitating interaction between video renderers and graphics device drivers | |
JP4309270B2 (ja) | グラフィックデータ及びデジタルドキュメント処理の視覚的表現を生成するシステム及び方法 | |
US6067098A (en) | Video/graphics controller which performs pointer-based display list video refresh operation | |
US20170302899A1 (en) | Facilitating interaction between video renderers and graphics device drivers | |
US7139002B2 (en) | Bandwidth-efficient processing of video images | |
US20020145611A1 (en) | Video controller system with object display lists | |
US7567261B2 (en) | System and method for providing graphics using graphical engine | |
US20140125685A1 (en) | Method and Apparatus for Displaying Images | |
US9449585B2 (en) | Systems and methods for compositing a display image from display planes using enhanced blending hardware | |
US8717391B2 (en) | User interface pipe scalers with active regions | |
TWI413900B (zh) | 用以垂直縮放像素資料之方法及設備 | |
US6421059B1 (en) | Apparatus and method for rendering characters into a memory | |
KR100528993B1 (ko) | 디지털 멀티시스템 및 그 제어방법 | |
JP2004252446A (ja) | ディスプレイコントローラ回路においてメモリの使用及び/又は電力の消費を最小限にするための方法 | |
JPH02163880A (ja) | 画像処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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: 20110809 |
|
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: 20110816 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140826 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4808276 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
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 |
|
EXPY | Cancellation because of completion of term |