简介
如今使用电池的手持设备已具有一系列复杂功能,比如播放高质量图片/拍摄视频/录制以及实时语音/视频聊天等,因此更高级的多媒体功能是许多技术厂商希望掌握的御宝。视频压缩系统中高效的硬件和软件结构在诸多使用范围广泛的应用中扮演着重要角色,比如转码、视频编辑、视频会议、流媒体视频、以及诸如无线显示和云游戏等新兴技术。
VCE是AMD独有的固定功能H.264/AVC视频编码引擎。其主要优点之一在于能够将巨大的视频压缩工作负载转移至协处理器,将大部分CPU周期用于其他类型处理任务。除此之外,由于VCE采用了固定功能硬件,提高了数据吞吐量,减少了能耗。VCE包含的微控制器可控制硬件组件的固定功能,能够执行视频编码管道的各个阶段。
目标平台
如图所示,VCE存在于独立显卡和APU等许多AMD产品中,覆盖了从高端服务器至低端芯片等各类产品。
下表为AMD产品详细说明及其所使用的VCE版本:
VCE Version VCE版本 |
Product Family 产品系列 |
Distinguishing Features 特殊功能 |
VCE 1.0 |
Radeon HD 7900 series/Radeon R9 280X dGPU Radeon HD 7900系列/Radeon R9 280X独显 |
First release: AVC – I,P and DEM 首次发布:AVC-I和DEM |
Radeon HD 7800 series dGPU Radeon HD 7800系列独显 |
||
Radeon R9 270X/270 dGPU Radeon R9 270X/270独显 |
||
Radeon HD 7700 series/Radeon R7 250X dGPU Radeon HD 7700系列/Radeon R7 250X独显 |
||
A10 – 58XX (and other variations) APU A10-58XX(和其他变型)APU |
||
A10 – 68XX APU |
||
VCE 2.0 |
Radeon R9 290x/290 dGPU Radeon R9 290x/290独显 |
SVC (temporal) + B-pictures + DEM improvements 可伸缩视频编码(SVC) (时间可伸缩) + B图 + DEM改进
|
Radeon R7 260X/260 dGPU Radeon R7 260X/260独显 |
||
A10 – 7850K APU |
||
A4-5350, A4-3850, or E1-2650 APU A4-5350、A4-3850或E1-2650 APU
|
||
A4-1200/A6-1450 APU |
主要用例
VCE可用于对高吞吐量、低能耗、和/或低延迟视频压缩有要求的各种场合,其中便包括快速转码、实时低能耗视频会议、实时低能耗无线显示和服务器端的云游戏解决方案。
VCE功能
VCE设计目的可满足一系列用例要求。其功能概括如下:
最多支持3个1080p、每个实例30fps的低功耗多媒体流——最多支持15个速度可调节/质量可更改/可程序化流媒体。
DisplayEncode Mode (DEM)(显示编码模式)——在AMD的APU和GPU上,显示控制器和VCE之间有一个称为DEM的直接物理连接。该功能允许开发人员为一次性完成屏幕捕捉和视频编码,这对无线显示等用例而言是一个理想的低延时应用。
VCE的设计
VCE的设计过程以考虑了诸多因素。VCE致力于在比特率和质量之间取得最佳平衡。我们已通过优化VCE组件区域和减少内存需求,最大程度降低了芯片成本。对诸如快速编码等用例而言,吞吐量是决定能否满足要求的重要因素。毋庸赘言,优化能耗是延长网络摄像头、无线显示和其他应用中延长电池寿命的必备考虑因素。
VCE还能够高效编码多种媒体流,并高效实现上下文切换。VCE始终能够在抗误码和隐蔽功能之前取得平衡,这有助于解决IDR图片的更多延迟问题。VCE能够通过利用诸如IntraRefresh等视频编码工具有效解决这一问题。此外,VCE还能够最大化网络带宽效率,它所提供的可编程化功能能够灵活满足各种用例要求。
让外部世界使用VCE
Media SDK包含Video Coding Engine(视频编码引擎),能够处理各类用例和多媒体框架。MediaSDK具有下列功能:
· 用于低延迟视频捕捉和编码的AMF- DEM库
· H.264 HMFTEncoder,它可通过微软MediaFoundation Platform利用VCE进行硬件加速视频编码
未来发布的Media SDK将有诸多改进特色,致力于提供更多的可用性、更高的性能和/或更新的编解码器。Windows 8/8.1应用商店开发者可通过诸如MediaTranscoder等标准微软API使用VCE。比如,利用VCE参考Media SDK中的样本。欢迎在Media SDK论坛发布关于使用VCE的问题。
外文链接:http://developer.amd.com/community/blog/2014/02/19/introducing-video-coding-engine-vce/