Unified Video Decoder(UVD、以前はUniversal Video Decoderと呼ばれていた)は、AMDの専用ビデオデコードASICの名称です。H.264やVC-1など、多数のビデオコーデックを実装した複数のバージョンが存在します。
UVDはRadeon HD 2000シリーズで導入され、AMDの一部のGPUとAPUに統合されています。UVDは導入当時、ダイ表面のかなりの部分を占めており[ 1 ] 、AMDのビデオコーディングエンジン(VCE)と混同してはいけません。
AMD Raven Ridge (2018年1月リリース)以降、UVDとVCEはVideo Core Next(VCN)に置き換えられました。
UVDは、 GPUと同じダイ上に組み込まれたATI Xilleonビデオプロセッサをベースとしており、Advanced Video Processor(AVP)とともにハードウェアビデオデコード用のATI Avivo HDの一部となっています。AMDによると、UVDはH.264/AVCおよびVC-1ビデオコーデックのデコードを完全にハードウェアで処理します。
UVD技術は、2004年にATI Technologies Inc.によって最初にライセンス供与されたCadence Tensilica Xtensa [ 2 ]プロセッサ[ 3 ] [ 4 ] [ 5 ]に基づいています[ 6 ]。
UVDの初期バージョンでは、ビデオの後処理はピクセルシェーダーとOpenCLカーネルに渡されます。MPEG-2デコードはUVD内部ではなく、シェーダープロセッサで実行されます。このデコーダは、Blu-rayおよびHD DVDのパフォーマンスとプロファイル要件を満たし、最大40 Mbit/sのビットレートでH.264ビットストリームをデコードします。また、 H.264/AVCのコンテキスト適応型バイナリ算術符号化(CABAC)をサポートしています。
以前の世代のGPUに搭載されていたビデオアクセラレーションブロックは、ホストCPUの相当な関与を必要としていましたが、UVDはVC-1とH.264のビデオデコーダー処理全体をオフロードします。ただし、ビデオの後処理はシェーダーにオフロードされます。MPEG-2のデコードもサポートされていますが、MPEG-2ビデオのビットストリーム/エントロピーデコードはハードウェアでは実行されません。
以前は、ATI Radeon R520シリーズのATI Avivoも NVidia Geforce 7 シリーズのPureVideo もVC-1 および H.264 のフロントエンド ビットストリーム/エントロピー解凍を支援していませんでした。この作業はホスト CPU が行っていました。[ 7 ] UVD はVLC / CAVLC / CABAC、周波数変換、ピクセル予測、インループ デブロッキングを処理しますが、ポスト処理はシェーダーに渡します。[ 8 ]ポスト処理には、ノイズ除去、インターレース解除、スケーリング/リサイズが含まれます。AMD はまた、GPU コアに組み込まれている UVD コンポーネントは、 65 nm製造プロセス ノード で面積が4.7 mm² しかないと述べています。
UVDのバリエーションであるUVD+は、Radeon HD 3000シリーズで導入されました。UVD+は、高解像度ビデオストリーム用のHDCPをサポートしています。[ 9 ]しかし、UVD+は単にUVDとしても販売されていました。
Radeon HD 4000シリーズ製品の発売に伴い、UVDは刷新されました。UVD 2は、H.264/MPEG-4 AVC、VC-1のフルビットストリームデコードに加え、MPEG2ビデオストリームのiDCTレベルアクセラレーションに対応しています。パフォーマンスの向上により、デュアルビデオストリームデコードとピクチャーインピクチャーモードが可能になりました。これにより、UVD2はBD-Liveに完全準拠しています。
UVD 2.2は、ローカルメモリインターフェースが再設計され、MPEG2/H.264/VC-1ビデオとの互換性が向上しています。しかし、「UVD 2 Enhanced」という別名で、「RV770およびRV730シリーズのGPUで利用可能な、デュアルストリームデコードによるMPEG2、H.264、VC-1ビデオのハードウェアデコード用の特別なコアロジック」として販売されました。UVD 2.2がUVD 2のマイナーアップデートであるという性質が、この動きの理由と考えられます。
UVD 3 は、追加のハードウェア MPEG2 デコード (エントロピー デコード)、MPEG-4 Part 2デコードによるDivXおよびXvid (エントロピー デコード、逆変換、モーション補正)、 MVCによるBlu-ray 3D (エントロピー デコード、逆変換、モーション補正、インループ デブロッキング) のサポートを追加しています。[ 10 ] [ 11 ] 120 Hz ステレオ 3D サポートも追加され、[ 12 ] CPU 処理能力の使用を削減するように最適化されています。UVD 3 は、Blu-ray 3D 立体視ディスプレイのサポートも追加しています。
UVD 4 には、H.264 デコーダによるフレーム補間機能の改善が含まれています。[ 13 ] UVD 4.2 は、AMD Radeon Rx 200 シリーズおよび Kaveri APU で導入されました。「X.ORG Radeon UVD (Unified Video Decoder) Hardware-UVD4.2: KAVERI、KABINI、MULLINS、BONAIRE、HAWAII」。2016 年 5 月。
UVD 5はAMD Radeon R9 285で導入されました。UVDの新機能は、レベル5.2(4Kp60)までの4K H.264ビデオの完全サポートです。[ 14 ]
UVD 6.0デコーダとVideo Coding Engine 3.0エンコーダは、GCN 3ベースのGPU(Radeon R9 Furyシリーズを含む)で初めて使用されたと報告されており、[15][16] 続いてAMD Radeon Rx 300シリーズ(Pirate Islands GPUファミリー)と AMD Radeon Rx 400シリーズ(Arctic Islands GPUファミリー)で使用された。[ 17 ]「Fiji」および「Carrizo」ベースのグラフィックスコントローラハードウェアのUVDバージョンは、最大4K、8ビットカラー(H.265バージョン1、メインプロファイル)の高効率ビデオコーディング(HEVC、H.265)ハードウェアビデオデコードをサポートすることも発表されており、 [ 18 ] [ 19 ] [ 20 ]また、UVD 6.3を搭載したAMD Radeon 400シリーズでは、 10ビットカラーHDRのH.265とVP9ビデオコーデックの両方がサポートされている。[ 21 ] [ 22 ] [ 23 ]
UVD 7.0デコーダとVideo Coding Engine 4.0エンコーダはVegaベースのGPUに搭載されています。[ 24 ] [ 25 ]しかし、VP9ハードウェアデコード機能はまだ固定されていません。[ 26 ]
AMDのVega20 GPUは、Instinct Mi50、Instinct Mi60、Radeon VIIカードに搭載されており、VCE 4.1と2つのUVD 7.2インスタンスが含まれています。[ 27 ] [ 28 ]
Raven Ridge APU(Ryzen 2200/2400G)の統合グラフィックスから始まり、従来のUVDとVCEは新しい「Video Core Next」(VCN)に置き換えられました。VCN 1.0では、VP9コーデックの完全なハードウェアデコードが追加されています。[ 29 ]
Radeon HD 2000 シリーズのビデオ カードのほとんどは、1080p の高解像度コンテンツのハードウェア デコードのために UVD を実装しています。[ 31 ]しかし、Radeon HD 2900 シリーズのビデオ カードには UVD は含まれていません (シェーダーを使用することで部分的な機能を提供することはできます)。Radeon HD 2900 XT の発売前に、アドイン パートナーの製品の製品ページやパッケージ ボックスには、カードがATI Avivo HD を搭載している、または明示的に UVD を搭載していると誤って記載されていましたが、ATI Avivo HD という前者の記述のみが正しいです。UVD の除外は、AMD の担当者によっても確認されています。[ 32 ]
UVD2は、Radeon RV7x0およびR7x0シリーズのGPUに実装されています。これには、 AMD 700チップセットシリーズのIGPマザーボードで使用されるRS7x0シリーズも含まれます。
以下の表は、 APUを含むAMDの3Dグラフィックス搭載プロセッサの機能を示しています(参照:3Dグラフィックス搭載AMDプロセッサ一覧)。
以下の表は、AMD / ATIのGPUの機能を示しています( AMDグラフィックス処理ユニット一覧も参照)。
UVD SIPコアはデバイスドライバによってサポートされる必要があり、デバイスドライバはVDPAU、VAAPI、DXVAなどの1つ以上のインターフェースを提供します。これらのインターフェースのいずれかが、 VLCメディアプレーヤーやGStreamerなどのエンドユーザーソフトウェアによって使用され、UVDハードウェアにアクセスして利用されます。
AMD独自のグラフィックスデバイスドライバであるAMD Catalystは、UVDをサポートしており、Microsoft Windowsおよび一部のLinuxディストリビューションで利用可能です。さらに、 UVDハードウェアをサポートする無料のデバイスドライバも提供されています。

UVD のサポートは、2008 年 10 月以降、AMD の独自ドライバCatalystバージョン 8.10 でX-Video Motion Compensation (XvMC) またはX-Video Bitstream Acceleration (XvBA) を介して利用可能になりました。[ 63 ] [ 64 ] 2013 年 4 月以降、[ 65 ] UVD は、フリーでオープンソースの「radeon」デバイスドライバによって、 Unix 用ビデオ デコードおよびプレゼンテーション API (VDPAU) を介してサポートされています。VDPAU の実装は、Mesa 3DのGallium3D ステート トラッカーとして利用可能です。
2014年6月28日、PhoronixはUbuntu 14.04上でMPlayerとMesa 3Dバージョン10.3-testingを使用してVDPAUインターフェースを介してUnified Video Decoderを使用した場合のベンチマークを公開した。 [ 66 ]
Microsoft Windowsは、リリース当初からUVDをサポートしています。UVDは現在、Microsoft WindowsおよびXbox 360プラットフォーム向けにDXVA(DirectX Video Acceleration)API仕様のみをサポートしており、ビデオデコードをハードウェアアクセラレーションで処理できるようにしています。そのため、メディアプレーヤーソフトウェアもUVDハードウェアアクセラレーションを利用するにはDXVAをサポートしている必要があります。
Radeon HD 2400のUVDコア(Xtensa CPUベース)上でカスタムFreeRTOSベースのファームウェアを実行するためのサポートが、 I 2 Cを介してSTM32 ARMベースのボードとインターフェース接続され、2012年1月時点で試みられた。[ 67 ]
ビデオシェーダーとATI Avivoは、以前のATI製品に組み込まれていた類似の技術です。
UVDは、2017年10月にリリースされたRaven RidgeシリーズのAPUでAMD Video Core Nextに置き換えられました。VCNはエンコード(VCE)とデコード(UVD)の両方を統合しています。[ 68 ]
デインターレースやその他の AVIVO 後処理アクションはシェーダー ハードウェアによって実行されるため、これらのカードのシェーディング機能が限られているため、AMD は AVIVO の全機能を一度に提供することはできませんでした。
{{cite web}}: CS1メンテナンス: アーカイブサービスは非推奨になりました (リンク)新しいVLIW4ストリームプロセッサアーキテクチャにより、以前のVLIW5アーキテクチャと比較して同じパフォーマンスを維持しながら、各SIMDの面積を10%削減することが可能になった。