在FPGA上实现H.264与AVC视频编码标准
实现 H.264/AVC 编码标准所需的算法计算复杂度、数据局部性,以及算法和数据并行性,常常会直接影响系统级别的整体架构决策。这种影响又会决定在广播、视频编辑、电话会议以及消费电子领域开发H.264/AVC解决方案所需的最终开发成本。
复杂度分析
为了实现实时 H.264/AVC 标准清晰度 (SD) 或高清晰度 (HD) 分辩率编码解决方案,系统架构师常常需要使用多个 FPGA 和可编程 DSP。为了说明所需计算的巨大复杂度,先探讨一下 H.264/AVC 编码器的典型运行时的周期要求。H.264/AVC 编码器基于由联合视频工作组(JVT)提供的软件模型,该工作组由来自 ITU-T 的视频编码专家组 (VCEG) 和 ISO/IEC 的运动图像专家组 (MPEG) 的专家组成。
采用Intel的VTune软件,在 Intel Pentium III 1.0 GHz 通用 CPU、512 MB 内存的平台上运行,按照主要配置编码解决方案实现 H.264/AVC SD,需要约 1,600 BOPS(每秒十亿次运算)。
表 1 显示了基于 Pentium III 通用处理器架构的 H.264/AVC 编码器的复杂度的典型情况。请注意,在表 1 中,运动估计、宏块/块处理(包括模式决策),以及运动补偿模块是基本候选硬件加速单元。
然而,单凭计算复杂度并不能决定一个功能模块是否应映射为硬件或是使其保持为软件。为了评估在由 FPGA、可编程 DSP或通用主处理器混合组成的平台上实现 H.264/AVC 编码标准时,软件和硬件分割的可行性,需要分析将会影响整体设计决策的大量架构问题。
数据局部性。
在同步设计中,按照特定的顺序和粒度访问内存,同时根据延迟、总线竞争、对准、DMA 传输率以及所用内存的类型(如 ZBT 内存、SDRAM和 SRAM 等)使时钟周期数降至最小的能力至关重要。数据局部性问题主要是由数据单元和算术单元(或处理引擎)之间的物理接口体现的。
数据并行性。
大多数信号处理算法都是对高度并行的数据进行操作(如 FIR 滤波)。单指令多数据 (SIMD) 和向量处理器对可被并行化或做成向量格式(或长数据宽度)的数据具有较高的处理效率。
FPGA可通过提供大量块 RAM 支持大量极高总计带宽要求来实现这一点。在新的 Xilinx Virtex-4 SX器件中,块 RAM 的数量与 Xtreme DSP的逻辑片数紧密匹配(例如,SX25具有128个块RAM,128个DSP逻辑片;SX35具有192个块 RAM,192个DSP 逻辑片;SX55具有320个块 RAM,512个DSP逻辑片)。
信号处理算法并行机制。
在典型的可编程 DSP 或通用处理器中,信号处理算法并行机制通常是指指令级并行 (ILP)。超长指令字 (VLIW) 处理器是此类采用ILP的机器中的一个例子,它将多条指令(ADD、MULT 及 BRA)组合起来,在一个周期内执行。处理器中高度流水线化的执行单元也是实现并行机制的典型硬件示例。现在已经有可编程DSP采用这种架构(如TI的 TMS320C64x)。
但是,并非所有算法都能使用这种并行机制
为您推荐
12/7/2009,EPON芯片供应商普然(Opulan)宣布其对称10GEPON芯片在经过数月的内部测试和7月,11月两轮行业互通测试后已经进入批量生产阶段。该系列芯片包括了OLT和ONU的芯片。普然表示其10GEPON芯片可以支持9Gbps的下行流量和8.6Gbps的上行流量。普然称中国大陆大规模的10GEPON部署将会在2010年开始,日本紧随其后也会在2011年上半年开始部署10GEPON。中日两国市场在未来几年内很可能需要每年800万到900万的10GEPONONU。目前中国几大运营商正在进行数个10GEPON的现场测试。中国电
由于MPEG-2压缩技术的采用,绝大多数市场都已接受数字电视(DTV),但情况并非如此简单。H.26?-AVC(MPEG-4第10部分)和微软的VCI压缩标准承诺可为标准和高清(HD)电视带来更大幅度的进步。广播设备OEM将需要采用这些新兴的压缩编码标准,以有效地满足目前及未来的带宽要求。在这个设计转换过程中,OEM不但要面对内核的视频编解码器标准,还要应对各种要求更高的视频前/后处理算法,这些算法对保持和改善图象质量至关重要。鉴于这种状况,设计前景可谓充满挑战。越来越高的分辨率和各种新兴的压缩标准都对底层技术提出了更高性能要求。此外,架构也必须具有足够的灵活性,以便让设计工程师能迅速高效地升