JP4554600B2 - グラフィックス処理ユニットを使用してビデオ復号化を加速すること - Google Patents
グラフィックス処理ユニットを使用してビデオ復号化を加速すること Download PDFInfo
- Publication number
- JP4554600B2 JP4554600B2 JP2006508709A JP2006508709A JP4554600B2 JP 4554600 B2 JP4554600 B2 JP 4554600B2 JP 2006508709 A JP2006508709 A JP 2006508709A JP 2006508709 A JP2006508709 A JP 2006508709A JP 4554600 B2 JP4554600 B2 JP 4554600B2
- Authority
- JP
- Japan
- Prior art keywords
- frame data
- data
- inter
- processing unit
- coded
- 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
- 238000012545 processing Methods 0.000 title claims description 109
- 238000000034 method Methods 0.000 claims description 64
- 239000013598 vector Substances 0.000 claims description 45
- 239000000872 buffer Substances 0.000 claims description 22
- 238000006243 chemical reaction Methods 0.000 claims description 12
- 238000013139 quantization Methods 0.000 claims description 5
- 238000000638 solvent extraction Methods 0.000 claims description 5
- 238000001914 filtration Methods 0.000 claims description 2
- 238000012856 packing Methods 0.000 claims 8
- 230000006837 decompression Effects 0.000 claims 1
- 238000004364 calculation method Methods 0.000 description 8
- 238000009877 rendering Methods 0.000 description 5
- 230000003139 buffering effect Effects 0.000 description 3
- 230000001788 irregular Effects 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000005055 memory storage Effects 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 238000003707 image sharpening Methods 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/43—Hardware specially adapted for motion estimation or compensation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/127—Prioritisation of hardware or computational resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Color Television Systems (AREA)
Description
図1−先行技術は、典型的なビデオ復号化プロセス100を示す。通常のビデオ復号器は、符号化されたビットストリームを受け取り、可変長復号化102、逆量子化(dequantization)104、逆離散コサイン変換106、動き補償108、イメージ再構成110、および色空間変換112を実行することにより、受け取られたビットストリームを処理する。
図2は、加速されたビデオ復号化システム202の典型的なアーキテクチャを示す。加速されたビデオ復号化システム202は、符号化されたビデオビットストリームを受け取り、受け取られたデータを復号化し、符号化されたデータをディスプレイデバイス204に伝送する。ディスプレイデバイス204は、テレビ、コンピュータモニタ、または他のそのようなディスプレイデバイスを表す。物理的に別個のデバイスとして示しているが、ディスプレイデバイス204は、加速されたビデオ復号化システム202の組み込まれたコンポーネントとして実装してもよい。
加速されたビデオ復号化は、コンピュータによって実行される、アプリケーションモジュール群などの、コンピュータ実行可能命令の一般的な文脈で説明することができる。一般に、アプリケーションモジュールには、特定のタスクを実行する、または特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などが含まれる。ビデオ復号化アプリケーション216は、任意の数のプログラミング技術を使用して実施することができ、ローカルコンピューティング環境で実施しても、任意の数の通信プロトコルに基づく様々な通信ネットワークを介してリンクされたリモート処理デバイス群によってタスクが実行される、分散コンピューティング環境で実施してもよい。そのような分散コンピューティング環境では、アプリケーションモジュール群は、メモリ記憶装置を含む、ローカルコンピュータ記憶媒体とリモートコンピュータ記憶媒体の両方の中に配置することができる。
ブロック306で、ビデオ復号化アプリケーション216は、識別されたフレームの各マクロブロックに対して可変長復号化、逆量子化、および/または逆離散変換を実行することにより、識別されたフレームを復号化するよう、CPU206を導く。Iフレームに関して、復号化されたデータは、実際のイメージデータから成り、他方、PフレームまたはBフレームに関して、復号化されたデータは、1つまたは複数の基準フレームイメージと、現行のPフレームまたはBフレームによって表されるイメージの間の差分を表す。各マクロブロックに関連する、復号化されたデータは、通常、動きベクトル、並びに動き補償された基準イメージと予測イメージの間で異なるピクセルを記述するデータを含む。
図4は、GPU208によって実行される典型的な動き補償処理方法を示す。図示した方法は、図3のブロック314に関連して説明した通り、GPUによって実行されることが可能である。
前述した通り、動き補償処理は、整数ペル、1/2ペル、および1/4ペルなどの、様々な精度に関して異なる。動き補償精度は、動きベクトルの精度を基準とする。例えば、動きベクトルは、マクロブロックの動きを最も近いピクセルまで(すなわち、整数ペル精度)最も近い1/2ピクセルまで(すなわち、1/2ペル精度)、または最も近い1/4ピクセルまで(すなわち、1/4ペル精度)記述することができる。動き補償処理計算の複雑度は、精度に応じて変わり、整数ペルが、複雑度の最も低い計算を要し、1/4ペル精度が、複雑度の最も高い計算を要する。典型的な実施形態では、グラフィックス処理ユニットのピクセルシェーダコンポーネント(通常、レンダリングパス当り8つのコードラインに制限される)の処理限度に起因して、動き補償処理は、動き補償精度に応じてバッチ処理される(batched)。
図5は、GPU208によって実行されることが可能な典型的なイメージ再構成方法318を示す。
ビデオビットストリームの復号化を加速するようにGPU208によって実行される処理は、多くの形で最適化することができる。データマージ、意図的な(deliberate)UVデータ配置、およびデータパーティション分割が、実施することができる処理最適化の3つの例である。
本システムおよび本方法を、構造上の特徴および/または方法上のステップに特有の言い回しで説明してきたが、添付の特許請求の範囲で定義する本発明は、説明した特定の特徴またはステップに必ずしも限定されないことを理解されたい。むしろ、特定の特徴およびステップは、請求する発明を実施する好ましい形態として開示している。
Claims (28)
- イントラ符号化されたフレームデータとインタ符号化されたフレームデータを含む符号化されたビデオビットストリームを受け取るステップと、
中央処理装置を使用して前記イントラ符号化されたフレームデータを復号化するステップと、
前記イントラ符号化されたフレームデータをグラフィックス処理ユニットに転送するステップと、
前記グラフィックス処理ユニットを使用して、前記インタ符号化されたフレームデータに対する基準フレームデータとして使用される前記イントラ符号化されたフレームデータのコピーをバッファリングし、該フレームデータを表示されるようにディスプレイデバイスに伝送するステップと、
前記インタ符号化されたフレームデータを前記中央処理装置を使用して復号化するステップと、
前記インタ符号化されたフレームデータを前記グラフィックス処理ユニットに転送するステップと、
前記グラフィックス処理ユニットを使用して、前記インタ符号化されたフレームデータに関連する動きベクトルを前記基準フレームデータに適用して動き補償された基準フレームデータを生成し、前記インタ符号化されたフレームデータを前記動き補償された基準フレームデータに加えることで前記インタ符号化されたフレームデータに関連するイメージデータを再構成するステップと
を含み、
前記インタ符号化されたフレームデータを前記グラフィックス処理ユニットに前記転送するステップは、
前記インタ符号化されたフレームデータの2つ以上のマクロブロックを識別するステップと、
該マクロブロックを一緒にパックしてデータパケットにするステップと、
前記データパケットを前記グラフィックス処理ユニットに転送するステップと
を含むことを特徴とする方法。 - イントラ符号化されたフレームデータとインタ符号化されたフレームデータを含む符号化されたビデオビットストリームを受け取るステップと、
中央処理装置を使用して前記イントラ符号化されたフレームデータを復号化するステップと、
前記イントラ符号化されたフレームデータをグラフィックス処理ユニットに転送するステップと、
前記グラフィックス処理ユニットを使用して、前記インタ符号化されたフレームデータに対する基準フレームデータとして使用される前記イントラ符号化されたフレームデータのコピーをバッファリングし、該フレームデータを表示されるようにディスプレイデバイスに伝送するステップと、
前記インタ符号化されたフレームデータを前記中央処理装置を使用して復号化するステップと、
前記インタ符号化されたフレームデータを前記グラフィックス処理ユニットに転送するステップと、
前記グラフィックス処理ユニットを使用して、前記インタ符号化されたフレームデータに関連する動きベクトルを前記基準フレームデータに適用して動き補償された基準フレームデータを生成し、前記インタ符号化されたフレームデータを前記動き補償された基準フレームデータに加えることで前記インタ符号化されたフレームデータに関連するイメージデータを再構成するステップと
を含み、
前記インタ符号化されたフレームデータは、対応する基準マクロブロックからのデータに依存しない複数のイントラ符号化されたマクロブロックと、対応する基準マクロブロックからのデータに依存する複数のインタ符号化されたマクロブロックを含み、並びに、
前記インタ符号化されたフレームデータを前記グラフィックス処理ユニットに前記転送するステップは、
前記インタ符号化されたフレームデータの2つ以上のインタ符号化されたマクロブロックを識別するステップと、
前記2つ以上のインタ符号化されたマクロブロックを一緒にパックしてインタ符号化されたマクロブロックだけを含むデータパケットにするステップと、
前記データパケットを前記グラフィックス処理ユニットに転送するステップと
を含むことを特徴とする方法。 - イントラ符号化されたフレームデータとインタ符号化されたフレームデータを含む符号化されたビデオビットストリームを受け取るステップと、
中央処理装置を使用して前記イントラ符号化されたフレームデータを復号化するステップと、
前記イントラ符号化されたフレームデータをグラフィックス処理ユニットに転送するステップと、
前記グラフィックス処理ユニットを使用して、前記インタ符号化されたフレームデータに対する基準フレームデータとして使用される前記イントラ符号化されたフレームデータのコピーをバッファリングし、該フレームデータを表示されるようにディスプレイデバイスに伝送するステップと、
前記インタ符号化されたフレームデータを前記中央処理装置を使用して復号化するステップと、
前記インタ符号化されたフレームデータを前記グラフィックス処理ユニットに転送するステップと、
前記グラフィックス処理ユニットを使用して、前記インタ符号化されたフレームデータに関連する動きベクトルを前記基準フレームデータに適用して動き補償された基準フレームデータを生成し、前記インタ符号化されたフレームデータを前記動き補償された基準フレームデータに加えることで前記インタ符号化されたフレームデータに関連するイメージデータを再構成するステップと
を含み、
前記インタ符号化されたフレームデータは、対応する基準マクロブロックからのデータに依存しない複数のイントラ符号化されたマクロブロックと、対応する基準マクロブロックからのデータに依存する複数のインタ符号化されたマクロブロックを含み、並びに、
前記インタ符号化されたフレームデータを前記グラフィックス処理ユニットに前記転送するステップは、
前記インタ符号化されたフレームデータの2つ以上のイントラ符号化されたマクロブロックを識別するステップと、
該マクロブロックを一緒にパックしてイントラ符号化されたマクロブロックだけを含むデータパケットにするステップと、
前記データパケットを前記グラフィックス処理ユニットに転送するステップと
を含むことを特徴とする方法。 - イントラ符号化されたフレームデータとインタ符号化されたフレームデータを含む符号化されたビデオビットストリームを受け取るステップと、
中央処理装置を使用して前記イントラ符号化されたフレームデータを復号化するステップと、
前記イントラ符号化されたフレームデータをグラフィックス処理ユニットに転送するステップと、
前記グラフィックス処理ユニットを使用して、前記インタ符号化されたフレームデータに対する基準フレームデータとして使用される前記イントラ符号化されたフレームデータのコピーをバッファリングし、該フレームデータを表示されるようにディスプレイデバイスに伝送するステップと、
前記インタ符号化されたフレームデータを前記中央処理装置を使用して復号化するステップと、
前記インタ符号化されたフレームデータを前記グラフィックス処理ユニットに転送するステップと、
前記グラフィックス処理ユニットを使用して、前記インタ符号化されたフレームデータに関連する動きベクトルを前記基準フレームデータに適用して動き補償された基準フレームデータを生成し、前記インタ符号化されたフレームデータを前記動き補償された基準フレームデータに加えることで前記インタ符号化されたフレームデータに関連するイメージデータを再構成するステップと
を含み、
前記インタ符号化されたフレームデータは関連する動きベクトルをそれぞれが有する複数のマクロブロックを含み、並びに、
前記インタ符号化されたフレームデータを前記グラフィックス処理ユニットに前記転送するステップは、
ゼロに等しい関連する動きベクトルをそれぞれが有する2つ以上のマクロブロックを識別するステップと、
該マクロブロックを一緒にパックしてゼロの動きベクトルを有するマクロブロックだけを含むデータパケットにするステップと、
前記データパケットを前記グラフィックス処理ユニットに転送するステップと
を含むことを特徴とする方法。 - イントラ符号化されたフレームデータとインタ符号化されたフレームデータを含む符号化されたビデオビットストリームを受け取るステップと、
中央処理装置を使用して前記イントラ符号化されたフレームデータを復号化するステップと、
前記イントラ符号化されたフレームデータをグラフィックス処理ユニットに転送するステップと、
前記グラフィックス処理ユニットを使用して、前記インタ符号化されたフレームデータに対する基準フレームデータとして使用される前記イントラ符号化されたフレームデータのコピーをバッファリングし、該フレームデータを表示されるようにディスプレイデバイスに伝送するステップと、
前記インタ符号化されたフレームデータを前記中央処理装置を使用して復号化するステップと、
前記インタ符号化されたフレームデータを前記グラフィックス処理ユニットに転送するステップと、
前記グラフィックス処理ユニットを使用して、前記インタ符号化されたフレームデータに関連する動きベクトルを前記基準フレームデータに適用して動き補償された基準フレームデータを生成し、前記インタ符号化されたフレームデータを前記動き補償された基準フレームデータに加えることで前記インタ符号化されたフレームデータに関連するイメージデータを再構成するステップと
を含み、
前記インタ符号化されたフレームデータは関連する動き補償精度をそれぞれが有する複数のマクロブロックを含み、並びに、
前記インタ符号化されたフレームデータを前記グラフィックス処理ユニットに前記転送するステップは、
同一の動き補償精度をそれぞれが有する2つ以上のマクロブロックを識別するステップと、
該マクロブロックを一緒にパックして同一の動き補償精度を有するマクロブロックだけを含むデータパケットにするステップと、
前記データパケットを前記グラフィックス処理ユニットに転送するステップと
を含むことを特徴とする方法。 - 前記動き補償精度は最も近いピクセルまでであることを特徴とする請求項5の方法。
- 前記動き補償精度は最も近い1/2ピクセルまでであることを特徴とする請求項5の方法。
- 前記動き補償精度は最も近い1/4ピクセルまでであることを特徴とする請求項5の方法。
- 符号化されたビデオデータを受け取るステップと、
第1の処理装置を使用して、前記符号化されたビデオデータを伸張するステップと、
2つ以上のインタ符号化されたマクロブロックを一緒にパックしてインタ符号化されたマクロブロックだけを含むデータパケットにするステップと、
前記データパケットを第2の処理装置に転送するステップと、
グラフィックス処理ユニットを含む前記第2の処理装置を使用して、前記ビデオデータに関連して色空間変換を実行し、ディスプレイデバイスによってサポートされない色空間である第1の色空間から前記ディスプレイデバイスによってサポートされる色空間である第2の色空間に、イントラ符号化されたフレームデータを変換するステップと
を含むことを特徴とする方法。 - 前記第2の処理装置を使用して、前記ビデオデータに関連して予測イメージ再構成を実行するステップをさらに含むことを特徴とする請求項9の方法。
- 前記第2の処理装置を使用して、前記ビデオデータに関連して動き補償処理を実行するステップをさらに含むことを特徴とする請求項9の方法。
- ビデオビットストリームを復号化することに関連して第1の演算を実行し、2つ以上のインタ符号化されたマクロブロックを一緒にパックしてインタ符号化されたマクロブロックだけを含むデータパケットにし、前記データパケットをグラフィックス処理ユニットに転送するように構成された中央処理装置と、
前記ビデオビットストリームを復号化することに関連して色空間変換処理を実行して、ディスプレイデバイスによってサポートされない色空間である第1の色空間から前記ディスプレイデバイスによってサポートされる色空間である第2の色空間にイントラ符号化されたフレームデータを変換するように構成されたプログラマブルピクセルシェーダコンポーネントを有するグラフィックス処理ユニットと
を備えることを特徴とするシステム。 - 前記第1の演算はビデオ伸張演算を含むことを特徴とする請求項12のシステム。
- 前記第1の演算は、逆離散コサイン変換、逆量子化、および可変長復号化の少なくとも1つを含むことを特徴とする請求項12のシステム。
- 前記プログラマブルピクセルシェーダコンポーネントは、前記ビデオビットストリームを復号化することに関連してイメージ再構成演算を実行するようにさらに構成されていることを特徴とする請求項12のシステム。
- 前記グラフィックス処理ユニットは、前記ビデオビットストリームを復号化することに関連して動き補償演算を実行するように構成されたプログラマブル頂点シェーダコンポーネントをさらに備えることを特徴とする請求項12のシステム。
- 復号化されたビデオビットストリームデータを格納するためのバッファをさらに備えることを特徴とする請求項12のシステム。
- 前記ビデオビットストリームを表示するように構成されたディスプレイデバイスをさらに備えることを特徴とする請求項12のシステム。
- 中央処理装置と、
グラフィックス処理ユニットと、
符号化されたビデオビットストリームを復号化することに関連して第1の演算を実行し、2つ以上のインタ符号化されたマクロブロックを一緒にパックしてインタ符号化されたマクロブロックだけを含むデータパケットにし、前記データパケットをグラフィックス処理ユニットに転送するよう前記中央処理装置を誘導し、かつ、前記符号化されたビデオビットストリームを復号化することに関連して色空間変換処理を実行して、ディスプレイデバイスによってサポートされない色空間である第1の色空間から前記ディスプレイデバイスによってサポートされる色空間である第2の色空間にイントラ符号化されたフレームデータを変換するよう前記グラフィックス処理ユニットを導くように構成されたビデオ復号化アプリケーションと
を備えることを特徴とするシステム。 - 実行されると、コンピュータに、
中央処理装置を使用して、受け取られたビデオビットストリームを伸張するステップと、
同一の動き補償精度をそれぞれが有する2つ以上のマクロブロックを識別するステップと、
前記2つ以上のマクロブロックを一緒にパックして同一の動き補償精度を有するマクロブロックだけを含むデータパケットにするステップであって、前記動き補償精度は、最も近い1/2ピクセルまでの動き補償精度を含むものであるステップと、
グラフィックス処理ユニットを使用して、前記ビデオビットストリームに対して動き補償処理及び色空間変換処理を実行するステップと
を実行させるためのプログラムを有するコンピュータ可読媒体。 - 前記プログラムは、実行されると、前記コンピュータに、
前記ビデオビットストリームの特定のフレームが、前記グラフィックス処理ユニットによって処理可能な最大データサイズより大きい場合、前記フレームに関連するデータをパーティション分割して、前記最大データサイズよりそれぞれが小さい、重なり合うサブピクチャにするように前記中央処理装置を導くステップをさらに実行させることを特徴とする請求項20のコンピュータ可読媒体。 - 前記プログラムは、実行されると、前記コンピュータに、
前記グラフィックス処理ユニットを使用してバイリニアフィルタを適用し、前記動き補償処理に関連して1/2ピクセル精度を実現するステップをさらに実行させることを特徴とする請求項20のコンピュータ可読媒体。 - 前記プログラムは、実行されると、前記コンピュータに、
前記グラフィックス処理ユニットを使用してバイキュービックフィルタを適用し、前記動き補償処理に関連して1/4ピクセル精度を実現するステップをさらに実行させることを特徴とする請求項20のコンピュータ可読媒体。 - 前記プログラムは、実行されると、前記コンピュータに、
前記グラフィックス処理ユニットを使用して、イメージ再構成を実行するステップをさらに実行させることを特徴とする請求項20のコンピュータ可読媒体。 - 前記プログラムは、実行されると、前記コンピュータに、
Y成分、U成分、およびV成分を含むイメージを再構成して、前記Y成分、前記U成分、および前記V成分が、前記コンピュータによってサポートされており、かつ、前記イメージの前記Y成分、前記U成分、および前記V成分を保持するだけ十分に大きい、最小の目標テクスチャ上に配置されるようにするステップをさらに実行させることを特徴とする請求項24のコンピュータ可読媒体。 - 前記第1の色空間は、YUVフォーマットであり、前記第2の色空間はRGBフォーマットであることを特徴とする請求項9に記載の方法。
- 前記第1の色空間は、YUVフォーマットであり、前記第2の色空間はRGBフォーマットであることを特徴とする請求項12に記載のシステム。
- 前記第1の色空間は、YUVフォーマットであり、前記第2の色空間はRGBフォーマットであることを特徴とする請求項19に記載のシステム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/402,882 US7646817B2 (en) | 2003-03-28 | 2003-03-28 | Accelerating video decoding using a graphics processing unit |
PCT/US2004/003811 WO2004095708A2 (en) | 2003-03-28 | 2004-02-09 | Accelerating video decoding using a graphics processing unit |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007525049A JP2007525049A (ja) | 2007-08-30 |
JP4554600B2 true JP4554600B2 (ja) | 2010-09-29 |
Family
ID=32989832
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006508709A Expired - Fee Related JP4554600B2 (ja) | 2003-03-28 | 2004-02-09 | グラフィックス処理ユニットを使用してビデオ復号化を加速すること |
Country Status (7)
Country | Link |
---|---|
US (1) | US7646817B2 (ja) |
EP (1) | EP1609244B1 (ja) |
JP (1) | JP4554600B2 (ja) |
KR (1) | KR100995171B1 (ja) |
CN (1) | CN100563327C (ja) |
TW (1) | TW200505236A (ja) |
WO (1) | WO2004095708A2 (ja) |
Families Citing this family (85)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7792194B2 (en) * | 2003-04-10 | 2010-09-07 | Lefan Zhong | MPEG artifacts post-processed filtering architecture |
US9330060B1 (en) | 2003-04-15 | 2016-05-03 | Nvidia Corporation | Method and device for encoding and decoding video image data |
US8660182B2 (en) * | 2003-06-09 | 2014-02-25 | Nvidia Corporation | MPEG motion estimation based on dual start points |
GB0319697D0 (en) | 2003-08-21 | 2003-09-24 | Falanx Microsystems As | Method of and apparatus for differential encoding and decoding |
JP2005077501A (ja) * | 2003-08-28 | 2005-03-24 | Toshiba Corp | 情報処理装置、表示制御用半導体装置およびビデオストリームデータの表示制御方法 |
US6897871B1 (en) | 2003-11-20 | 2005-05-24 | Ati Technologies Inc. | Graphics processing architecture employing a unified shader |
US7593021B1 (en) * | 2004-09-13 | 2009-09-22 | Nvidia Corp. | Optional color space conversion |
US7446773B1 (en) | 2004-12-14 | 2008-11-04 | Nvidia Corporation | Apparatus, system, and method for integrated heterogeneous processors with integrated scheduler |
US7466316B1 (en) | 2004-12-14 | 2008-12-16 | Nvidia Corporation | Apparatus, system, and method for distributing work to integrated heterogeneous processors |
US7898545B1 (en) * | 2004-12-14 | 2011-03-01 | Nvidia Corporation | Apparatus, system, and method for integrated heterogeneous processors |
TW200642450A (en) * | 2005-01-13 | 2006-12-01 | Silicon Optix Inc | Method and system for rapid and smooth selection of digitally compressed video programs |
US7312800B1 (en) * | 2005-04-25 | 2007-12-25 | Apple Inc. | Color correction of digital video images using a programmable graphics processing unit |
US7499051B1 (en) | 2005-04-29 | 2009-03-03 | Adobe Systems Incorporated | GPU assisted 3D compositing |
JP4779434B2 (ja) * | 2005-05-17 | 2011-09-28 | ソニー株式会社 | 動画像変換装置、動画像復元装置、および方法、並びにコンピュータ・プログラム |
US8731071B1 (en) | 2005-12-15 | 2014-05-20 | Nvidia Corporation | System for performing finite input response (FIR) filtering in motion estimation |
US8249140B2 (en) * | 2005-12-30 | 2012-08-21 | Intel Corporation | Direct macroblock mode techniques for high performance hardware motion compensation |
US8724702B1 (en) | 2006-03-29 | 2014-05-13 | Nvidia Corporation | Methods and systems for motion estimation used in video coding |
WO2007148355A1 (en) * | 2006-06-22 | 2007-12-27 | Stmicroelectronics S.R.L. | A method and system for video decoding by means of a graphic pipeline, computer program product therefor |
US7659897B1 (en) * | 2006-06-30 | 2010-02-09 | Nvidia Corporation | System, method, and computer program product for video benchmarking |
US8660380B2 (en) | 2006-08-25 | 2014-02-25 | Nvidia Corporation | Method and system for performing two-dimensional transform on data value array with reduced power consumption |
US7605825B1 (en) * | 2006-10-24 | 2009-10-20 | Adobe Systems, Incorporated | Fast zoom-adaptable anti-aliasing of lines using a graphics processing unit |
US8411734B2 (en) | 2007-02-06 | 2013-04-02 | Microsoft Corporation | Scalable multi-thread video decoding |
JP4691062B2 (ja) * | 2007-03-30 | 2011-06-01 | 株式会社東芝 | 情報処理装置 |
US8756482B2 (en) | 2007-05-25 | 2014-06-17 | Nvidia Corporation | Efficient encoding/decoding of a sequence of data frames |
US9118927B2 (en) | 2007-06-13 | 2015-08-25 | Nvidia Corporation | Sub-pixel interpolation and its application in motion compensated encoding of a video signal |
US8265144B2 (en) | 2007-06-30 | 2012-09-11 | Microsoft Corporation | Innovations in video decoder implementations |
US9648325B2 (en) | 2007-06-30 | 2017-05-09 | Microsoft Technology Licensing, Llc | Video decoding implementations for a graphics processing unit |
US8873625B2 (en) | 2007-07-18 | 2014-10-28 | Nvidia Corporation | Enhanced compression in representing non-frame-edge blocks of image frames |
US7843462B2 (en) * | 2007-09-07 | 2010-11-30 | Seiko Epson Corporation | System and method for displaying a digital video sequence modified to compensate for perceived blur |
US8121189B2 (en) * | 2007-09-20 | 2012-02-21 | Microsoft Corporation | Video decoding using created reference pictures |
US9177368B2 (en) * | 2007-12-17 | 2015-11-03 | Nvidia Corporation | Image distortion correction |
US9848209B2 (en) * | 2008-04-02 | 2017-12-19 | Microsoft Technology Licensing, Llc | Adaptive error detection for MPEG-2 error concealment |
TW200950527A (en) * | 2008-05-16 | 2009-12-01 | Asustek Comp Inc | Method for processing video data stream |
US8570441B2 (en) * | 2008-06-11 | 2013-10-29 | Microsoft Corporation | One pass video processing and composition for high-definition video |
US9788018B2 (en) * | 2008-06-30 | 2017-10-10 | Microsoft Technology Licensing, Llc | Error concealment techniques in video decoding |
US9924184B2 (en) * | 2008-06-30 | 2018-03-20 | Microsoft Technology Licensing, Llc | Error detection, protection and recovery for video decoding |
US20100065343A1 (en) * | 2008-09-18 | 2010-03-18 | Chien-Liang Liu | Fingertip Touch Pen |
US8225074B2 (en) * | 2008-10-02 | 2012-07-17 | Nec Laboratories America, Inc. | Methods and systems for managing computations on a hybrid computing platform including a parallel accelerator |
US9131241B2 (en) * | 2008-11-25 | 2015-09-08 | Microsoft Technology Licensing, Llc | Adjusting hardware acceleration for video playback based on error detection |
EP2192780A1 (en) * | 2008-11-28 | 2010-06-02 | Thomson Licensing | Method for video decoding supported by Graphics Processing Unit |
US8666181B2 (en) | 2008-12-10 | 2014-03-04 | Nvidia Corporation | Adaptive multiple engine image motion detection system and method |
EP2359590A4 (en) | 2008-12-15 | 2014-09-17 | Ericsson Telefon Ab L M | METHOD AND APPARATUS FOR AVOIDING QUALITY DETERIORATION OF TRANSMITTED MULTIMEDIA CONTENT |
US8340510B2 (en) | 2009-07-17 | 2012-12-25 | Microsoft Corporation | Implementing channel start and file seek for decoder |
JP5139399B2 (ja) * | 2009-10-21 | 2013-02-06 | 株式会社東芝 | 再生装置および再生装置の制御方法 |
US8984167B1 (en) * | 2009-12-10 | 2015-03-17 | Nvidia Corporation | Real-time frame streaming from remote graphics processing unit |
CN102164284A (zh) * | 2010-02-24 | 2011-08-24 | 富士通株式会社 | 视频解码方法和系统 |
US8885729B2 (en) | 2010-12-13 | 2014-11-11 | Microsoft Corporation | Low-latency video decoding |
US9706214B2 (en) | 2010-12-24 | 2017-07-11 | Microsoft Technology Licensing, Llc | Image and video decoding implementations |
CN102625090B (zh) | 2011-01-26 | 2015-08-05 | 鸿富锦精密工业(深圳)有限公司 | 影像译码方法与使用该方法的图形处理设备 |
US20120218292A1 (en) * | 2011-02-10 | 2012-08-30 | Ncomputing Inc. | System and method for multistage optimized jpeg output |
CA2840427C (en) | 2011-06-30 | 2018-03-06 | Microsoft Corporation | Reducing latency in video encoding and decoding |
US8731067B2 (en) | 2011-08-31 | 2014-05-20 | Microsoft Corporation | Memory management for video decoding |
CN102404576A (zh) * | 2011-11-30 | 2012-04-04 | 国云科技股份有限公司 | 云终端解码器及其负载均衡算法和gpu的解码算法 |
US9819949B2 (en) | 2011-12-16 | 2017-11-14 | Microsoft Technology Licensing, Llc | Hardware-accelerated decoding of scalable video bitstreams |
US8934726B2 (en) | 2011-12-19 | 2015-01-13 | Dolby Laboratories Licensing Corporation | Video codecs with integrated gamut management |
US9661325B1 (en) * | 2012-02-17 | 2017-05-23 | Polycom, Inc. | Lossy channel video blur avoidance |
TW201346839A (zh) * | 2012-05-04 | 2013-11-16 | Chang Jung Christian University | 基於動態補償之去移動模糊之方法 |
TWI482494B (zh) * | 2012-07-09 | 2015-04-21 | Wistron Corp | 頻道資訊提示方法及系統以及電腦可讀取儲存媒體 |
TWI508041B (zh) * | 2013-01-18 | 2015-11-11 | Novatek Microelectronics Corp | 時序控制電路、影像驅動裝置、影像顯示系統及顯示驅動方法 |
US20140320592A1 (en) * | 2013-04-30 | 2014-10-30 | Microsoft Corporation | Virtual Video Camera |
US10440359B2 (en) * | 2013-05-08 | 2019-10-08 | Advanced Micro Devices, Inc. | Hybrid video encoder apparatus and methods |
EP3033876A4 (en) * | 2013-08-12 | 2017-07-12 | Intel Corporation | Techniques for low power image compression and display |
US9946331B2 (en) | 2014-06-27 | 2018-04-17 | Samsung Electronics Co., Ltd. | System and method to process signals having a common component |
CN104065997A (zh) * | 2014-07-07 | 2014-09-24 | 四川金网通电子科技有限公司 | 机顶盒滚动字幕显示的方法及其系统 |
US10542233B2 (en) * | 2014-10-22 | 2020-01-21 | Genetec Inc. | System to dispatch video decoding to dedicated hardware resources |
US10606651B2 (en) | 2015-04-17 | 2020-03-31 | Microsoft Technology Licensing, Llc | Free form expression accelerator with thread length-based thread assignment to clustered soft processor cores that share a functional circuit |
US10540588B2 (en) | 2015-06-29 | 2020-01-21 | Microsoft Technology Licensing, Llc | Deep neural network processing on hardware accelerators with stacked memory |
US10452995B2 (en) | 2015-06-29 | 2019-10-22 | Microsoft Technology Licensing, Llc | Machine learning classification on hardware accelerators with stacked memory |
CN105516726B (zh) * | 2015-11-27 | 2019-04-09 | 传线网络科技(上海)有限公司 | 视频编码的运动补偿匹配方法和系统 |
US10147226B1 (en) * | 2016-03-08 | 2018-12-04 | Pixelworks, Inc. | 2D motion vectors from 3D model data |
US10575007B2 (en) | 2016-04-12 | 2020-02-25 | Microsoft Technology Licensing, Llc | Efficient decoding and rendering of blocks in a graphics pipeline |
US10157480B2 (en) | 2016-06-24 | 2018-12-18 | Microsoft Technology Licensing, Llc | Efficient decoding and rendering of inter-coded blocks in a graphics pipeline |
CN106210883A (zh) * | 2016-08-11 | 2016-12-07 | 浙江大华技术股份有限公司 | 一种视频渲染的方法、设备 |
US11197010B2 (en) | 2016-10-07 | 2021-12-07 | Microsoft Technology Licensing, Llc | Browser-based video decoder using multiple CPU threads |
IT201700108177A1 (it) * | 2017-09-27 | 2019-03-27 | St Microelectronics Srl | Procedimento e sistema di sicurezza funzionale, prodotto informatico corrispondente |
IT201700108150A1 (it) | 2017-09-27 | 2019-03-27 | St Microelectronics Srl | Procedimento e sistema di sicurezza funzionale, prodotto informatico corrispondente |
EP3474548A1 (en) * | 2017-10-18 | 2019-04-24 | Axis AB | Method and encoder for encoding a video stream in a video coding format supporting auxiliary frames |
CN108366288A (zh) * | 2018-03-01 | 2018-08-03 | 厦门普杰信息科技有限公司 | 一种用于高清视频的高效解码和播放方法及系统 |
US11301776B2 (en) * | 2018-04-14 | 2022-04-12 | International Business Machines Corporation | Memory-based data selection scheme for machine learning training on limited memory resources |
WO2019205172A1 (zh) * | 2018-04-28 | 2019-10-31 | 华为技术有限公司 | 一种图像处理器的功率分配的方法、装置及系统 |
CN108881916A (zh) * | 2018-06-21 | 2018-11-23 | 深圳市斯迈龙科技有限公司 | 远程桌面的视频优化处理方法及装置 |
CN109005160A (zh) * | 2018-07-10 | 2018-12-14 | 广州虎牙信息科技有限公司 | 视频解码方法、装置及计算机可读存储介质、终端 |
US11423588B2 (en) | 2019-11-05 | 2022-08-23 | Adobe Inc. | Color transforms using static shaders compiled at initialization |
CN111179149B (zh) * | 2019-12-17 | 2022-03-08 | Tcl华星光电技术有限公司 | 图像处理方法、装置、电子设备和计算机可读存储介质 |
CN111899148B (zh) * | 2020-07-03 | 2023-11-28 | Tcl华星光电技术有限公司 | 帧数据的处理方法及系统、存储介质 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10506492A (ja) * | 1995-07-21 | 1998-06-23 | フィリップス エレクトロニクス ネムローゼ フェンノートシャップ | 高性能密度を有するマルチメディアプロセッサアーキテクチャ |
US6226695B1 (en) * | 1995-09-29 | 2001-05-01 | International Business Machines Corporation | Information handling system including non-disruptive command and data movement between storage and one or more auxiliary processors |
US5818532A (en) | 1996-05-03 | 1998-10-06 | Lsi Logic Corporation | Micro architecture of video core for MPEG-2 decoder |
US6058142A (en) | 1996-11-29 | 2000-05-02 | Sony Corporation | Image processing apparatus |
CN1156171C (zh) * | 1997-04-07 | 2004-06-30 | 松下电器产业株式会社 | 提高处理效率的图象声音处理装置 |
CN1206164A (zh) | 1997-07-22 | 1999-01-27 | 北京算通科技发展有限公司 | 基于计算机显示卡的数字视频解码系统专用加速芯片 |
US6208350B1 (en) * | 1997-11-04 | 2001-03-27 | Philips Electronics North America Corporation | Methods and apparatus for processing DVD video |
US6411651B1 (en) | 1998-06-26 | 2002-06-25 | Compaq Information Technologies Group, L.P. | Method and system for distributed video compression in personal computer architecture |
US6275239B1 (en) * | 1998-08-20 | 2001-08-14 | Silicon Graphics, Inc. | Media coprocessor with graphics video and audio tasks partitioned by time division multiplexing |
GB2343579A (en) * | 1998-11-07 | 2000-05-10 | Ibm | Hybrid-linear-bicubic interpolation method and apparatus |
US6384833B1 (en) * | 1999-08-10 | 2002-05-07 | International Business Machines Corporation | Method and parallelizing geometric processing in a graphics rendering pipeline |
US7034828B1 (en) * | 2000-08-23 | 2006-04-25 | Nintendo Co., Ltd. | Recirculating shade tree blender for a graphics system |
US6937245B1 (en) * | 2000-08-23 | 2005-08-30 | Nintendo Co., Ltd. | Graphics system with embedded frame buffer having reconfigurable pixel formats |
US7885336B2 (en) * | 2001-02-05 | 2011-02-08 | Ati Technologies Ulc | Programmable shader-based motion compensation apparatus and method |
US7219352B2 (en) * | 2002-04-15 | 2007-05-15 | Microsoft Corporation | Methods and apparatuses for facilitating processing of interlaced video images for progressive video displays |
US7184057B2 (en) * | 2002-06-24 | 2007-02-27 | Microsoft Corpoartion | Systems and methods for providing color management |
US7352359B2 (en) * | 2002-07-27 | 2008-04-01 | Sony Computer Entertainment America Inc. | Method and system for applying gearing effects to inertial tracking |
US7634668B2 (en) * | 2002-08-22 | 2009-12-15 | Nvidia Corporation | Method and apparatus for adaptive power consumption |
US6952211B1 (en) * | 2002-11-08 | 2005-10-04 | Matrox Graphics Inc. | Motion compensation using shared resources of a graphics processor unit |
-
2003
- 2003-03-28 US US10/402,882 patent/US7646817B2/en not_active Expired - Fee Related
-
2004
- 2004-02-09 WO PCT/US2004/003811 patent/WO2004095708A2/en active Application Filing
- 2004-02-09 KR KR1020057018315A patent/KR100995171B1/ko not_active IP Right Cessation
- 2004-02-09 EP EP04709525A patent/EP1609244B1/en not_active Expired - Lifetime
- 2004-02-09 JP JP2006508709A patent/JP4554600B2/ja not_active Expired - Fee Related
- 2004-02-09 CN CNB2004800084726A patent/CN100563327C/zh not_active Expired - Fee Related
- 2004-02-16 TW TW093103673A patent/TW200505236A/zh unknown
Also Published As
Publication number | Publication date |
---|---|
JP2007525049A (ja) | 2007-08-30 |
EP1609244A4 (en) | 2011-04-13 |
WO2004095708A2 (en) | 2004-11-04 |
TW200505236A (en) | 2005-02-01 |
KR100995171B1 (ko) | 2010-11-17 |
EP1609244B1 (en) | 2012-10-10 |
KR20050107522A (ko) | 2005-11-11 |
CN100563327C (zh) | 2009-11-25 |
US20040190617A1 (en) | 2004-09-30 |
EP1609244A2 (en) | 2005-12-28 |
CN1868211A (zh) | 2006-11-22 |
WO2004095708A3 (en) | 2006-06-01 |
US7646817B2 (en) | 2010-01-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4554600B2 (ja) | グラフィックス処理ユニットを使用してビデオ復号化を加速すること | |
Shen et al. | Accelerate video decoding with generic GPU | |
RU2251820C2 (ru) | Экстраполяция вектора движения для перекодировки видеопоследовательности | |
US20180192074A1 (en) | Video processing method for processing projection-based frame with 360-degree content represented by projection faces packed in 360-degree virtual reality projection layout | |
US11381835B2 (en) | Systems and methods for game-generated motion vectors | |
US8275049B2 (en) | Systems and methods of improved motion estimation using a graphics processing unit | |
US20140328400A1 (en) | Content adaptive super resolution prediction generation for next generation video coding | |
US9319708B2 (en) | Systems and methods of improved motion estimation using a graphics processing unit | |
WO2002085028A2 (en) | Interpolation for motion compensation | |
US20200128271A1 (en) | Method and system of multiple channel video coding with frame rate variation and cross-channel referencing | |
CA2192532C (en) | Hybrid software/hardware video decoder for personal computer | |
JP2004336529A (ja) | 動画データ処理装置及び方法並びにプログラム | |
US6539058B1 (en) | Methods and apparatus for reducing drift due to averaging in reduced resolution video decoders | |
EP1147671B1 (en) | Method and apparatus for performing motion compensation in a texture mapping engine | |
Shen et al. | Accelerating video decoding using GPU | |
US9094686B2 (en) | Systems and methods for faster throughput for compressed video data decoding |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20091215 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100315 |
|
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: 20100709 |
|
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: 20100714 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130723 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
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 |
|
LAPS | Cancellation because of no payment of annual fees |