Unified Video Decoder

Unified Video Decoder (UVD)(以前はUniversal Video Decoderと呼ばれていた)はATI Technologiesの作成した動画のハードウェアデコーダーである。H.264とVC-1の2つのビデオコーデックをサポートしており、AVIVOテクノロジーの一部である。

サポートしているOS
 Windows - この技術の発表時からサポートしている。UVDは現在のところハードウェアアクセラレーションのためにWindowsとXbox 360プラットフォームにおけるDXVAというAPIのみをサポートしており、したがってメディアプレーヤーはUVDを用いるためにはDXVAをサポートする必要がある。
 Linux - 2008年10月からである。 RadeonのためにAMDによってデザインされたXvBAというAPIはLinuxとUNIXのX Window SystemにおけるX video extension (Xv)向けの拡張であり、これはUVDによるハードウェアアクセラレーションを利用できるようにする。
 Linux - 2013年4月からである。 NVIDIAによるVDPAU (Video Decode and Presentation API for Unix)経由でのオープンソースなUVDサポートが提供された。これは既存のMesa上のVDPAUステートトラッカーをベースにしている。

機能

UVD/UVD+
UVDはATIのXilleon動画プロセッサーに由来するもので、GPUと同じダイに組み込まれており、Advanced Video Processor (AVP)も同様に組み込まれている。AMDによれば、UVDはH.264/AVCとVC-1のデコードを完全にハードウェア上で行える。しかし、動画のポスト・プロセッシングはピクセルシェーダーとOpenCLカーネルに送られる。また、MPEG-2のデコードはサポートされているものの、UVDではなくシェーダーで行われる。このデコーダーはBlu-rayとHD DVDの再生要件を満たしており、H.264/AVCならば40 Mbpsのビットレートまでデコード可能である。H.264/AVCにおけるCABACもサポートしている。

前世代のGPUにおけるアクセラレーションはかなりCPUの補助が必要であったが、UVDはほとんどの処理をオフロードできる。前時代のGPU(たとえばATI Radeon R520シリーズのAVIVOやNVidia GeForce 7シリーズのPureVideoはH.264やVC-1におけるビットストリーム/エントロピーの伸展ができなかったため、これらはCPUで行われた。 UVDはVLC/CAVLC/CABAC/フーリエ変換/動き予測/デブロッキングフィルタなどを処理できるが、ポスト・プロセッシングはシェーダーに任せる。 ポスト・プロセッシングとはノイズ除去/インターレース解除/拡大・縮小などである。AMDは65 nmプロセスにおいては、UVDはわずか4.7 mm²のダイ面積しか使用していないと主張している。

UVD+と呼ばれるUVDの変種は、Radeon HD 3000シリーズから搭載された。UVD+は高解像度の動画のためにHDCPをサポートした。 しかし、UVD+は単にUVDとしてマーケティングされている。

UVD 2
Radeon HD 4000シリーズの発表に伴い、UVDは大幅に更新された。UVD 2はH.264/MPEG-4 AVCやVC-1のビットストリームの完全なデコード、さらにMPEG-2のiDCT(離散コサイン変換)レベルのアクセラレーションも可能になった。性能の向上により二つのストリームを同時にデコードできるようになり、ピクチャー・イン・ピクチャーが可能になった。この結果、Blu-rayにおけるBD-Liveと完全に互換になった。

UVD 2.2
UVD 2.2はローカルのメモリインターフェースを再デザインし、H.264/VC-1/MPEG-2の動画との互換性を向上させた。しかし、マーケティング上は"UVD 2 Enhanced"として「特別なコアを用い、RV770/RV730シリーズで採用されたH.264/VC-1/MPEG-2を二つ同時にデコードできるもの」という扱いだった。UVD 2に対する追加アップデートとしてのUVD 2.2の立ち位置はこの様に表される。

UVD 3
UVD 3はMPEG-2ビットストリームのデコード、DivX/XvidのMPEG-4 Part 2によるデコード、Blu-ray 3DのMultiview Video Codingによるデコードをサポートした。 更に120 Hzのステレオ3Dのサポート、CPUの補助の必要を減らす最適化などが行われた。

UVD 4/VCE 1

Radeon HD 7000シリーズ、Radeon Rx 200シリーズ、Rx 370(X)、APUのKaveri、Kabini等のAPUに搭載。H.264/AVCHDデコード時におけるエラー回復の改善がなされた。AMD Fluid Motionに対応。

UVD 4.2/VCE 2

Radeon R7 260(X)、R9 290シリーズ、R7 360(E)、R9 390(X)、Socket AM1ののKabini、Socket FM2のKaveriに搭載。

UVD 5/VCE 3

Radeon R9 285、R9 380(X)、R9 Fury(X)、R9 Nanoに搭載。H.264のHigh Profile Level 5.2サポートと4K解像度のデコードに対応。

UVD 6/VCE 3.1

Socket FM2とSocket AM4のCarrizo、Socket AM4のBristol Ridgeに搭載。H.265およびJPEGのデコードに対応。

UVD 6.3/VCE 3.4

Radeon RX 400シリーズ、RX 500シリーズに搭載。H.265のエンコードに対応。

UVD 7/VCE 4

Radeon RX Vegaシリーズに搭載。

UVDが有効なGPU

付記: 
 注1: デュアルGPUである。 
 注2: バージョン 8.371もしくはそれ以降を用いないと、UVDをH.264向けに有効化した際にシステムがクラッシュすることがある。

脚注

外部リンク
 ATI Avivo(TM) HD Technology Brief, July 2008
 Presentation slides comparison between CPU decode, ATI Avivo HD and PureVideo HD and Decode comparison of VC-1 and H.264 video
 AMD Media Codecs—optional download

アドバンスト・マイクロ・デバイセズ