利用可编程逻辑实现灵活高效的多媒体信号处理

时间:2008-09-05
从非常简单的消费类音/视频播放器到在制作环境中使用的高度复杂的音视频捕捉、编辑和回放系统,多媒体设备或系统的应用范围非常广泛。人们在实现这类应用系统时会使用特殊应用标准产品(ASSP)、专用数字信号处理器(DSP)、RSIC处理器和可编程逻辑等多种类型的技术。这些技术有各自的独特优势和局限性。

  可编程逻辑的好处是灵活性高,易于扩展,可以采用可重配置技术进行多媒体信号处理。由可编程逻辑构成的典型模块有乘法器、存储器、协议接口和时钟电路(如PLL)。这些模块具有可扩展性,能够适应从简单到复杂的各种多媒体处理系统。把繁重的计算工作交给FPGA协处理器,由一个DSP器件和一个FPGA(而不是多达8-10个DSP器件)构成的FPGA高清方案具有更高的性价比。

视频和嵌入式DSP模块

  创新的消费类需求,如1080p高清电视、多媒体家庭网关、高带宽效率的机顶盒解码器,一直在推动视频和图像处理应用快速向前发展。低成本FPGA(如Cyclone III系列)的优点是能以ASIC的价格提供DSP性能、高度灵活性和更快的上市速度。Cyclone III系列中成本的是EP3C5器件,它拥有的嵌入式乘法器和逻辑资源足以在HDTV 1080p视频应用中完成实时7x7像素滤波功能。面向更高端产品的Stratix III FPGA中所包含的DSP模块可以提供600MHz以上性能的18x18乘法器。Stratix III DSP模块还能以9x9、36x36和新的12x12模式支持可变比特宽度。该DSP模块可以为每个18x18乘法器提供两个9x9或一个半12x12乘法器。如图1所示,级联模式可以把一个DSP模块的输入传送到下,进而实现更为卓越的整体性能。Stratix III FPGA的逻辑和存储器结构还针对DSP应用进行了优化,可以用MLAB模块构成抽头延迟线,用ALM(自适应逻辑模块)中的快速3输入加法器构成高效快速的加法器树。

DSP模块


图1:采用级联模式的Stratix III DSP模块。

  随着图像捕捉、显示器分辩率、压缩技术和视频智能方面不断取得重大进展,视频应用所要求的处理带宽也在不断增长。而标准的快速变化和更高的分辨率也促使设计者远离现成技术。用可编程逻辑实现的模块化可编程视频和图像处理方案具有性能高、灵活、升级方便、开发成本低等优点,当产品成熟和生产批量攀升时,可编程逻辑还可提供转移到更低成本的途径。

  FPGA内部的嵌入式数字信号处理知识产权(IP)可以作为单独的系统方案,也可以与标准的数字信号处理器一起作为协处理器使用。与标准的数字信号处理器相比,FPGA的主要优点是内建有高水平的并行处理机制,如图2所示。而专用的RISC处理器无法满足许多视频和成像应用的所有处理要求。

DSP和FPGA并行处理方案的对比图


图2:DSP和FPGA并行处理方案的对比。

  由于可以把繁重的计算任务交给FPGA协处理器来完成,FPGA方案改善了性价比,见图3。例如,同使用多达8个到10个DSP器件的方案相比,用一个DSP器件和一个FPGA实现的高清方案成本效益更高。ASSP无力支持快速改变和不断发展的视频和成像标准。由于可以方便地通过升级来支持更高的分辨率和引入的视频标准,FPGA可以用作视频方案的通用平台。

DSP与用作协处理器的FPGA一起使用图


图3:DSP与用作协处理器的FPGA一起使用。

  FPGA的可重新编程能力也消除了设计过时的风险。ASIC需要较长的开发时间,基于ASIC的方案不能像FPGA方案那样方便高效地进行修改。FPGA缩短了上市时间,消除了NRE(非重复工程)成本,可以通过实时改进来支持新兴的标准、新的功能要求或对竞争者发布的新功能做出回应。

  一个常见的设计挑战是视频分配通道受到带宽限制。如果利用不同的视频压缩算法限制数字域中的可用带宽,那么在显示经过解码的数据流时将有不同的表现方式。如果提高视频压缩器的压缩比,模块式CODEC的离散余弦变换将产生马赛克噪声或干扰。使用FPGA对视频数据实现预压缩和后压缩可使编码器更容易实现视频压缩,并可进一步改进图像质量,降低传输带宽要求。对于有线、卫星、电信和IPTV广播业务模型来说,由于必须在狭窄的带宽条件下满足高质量要求,这种功能的意义更为重大。

  预处理可在视频数据进入编码器之前用2D滤波平滑掉一些高频成分,从而降低马赛克噪声。2D FIR滤波器和中值滤波器功能可以利用3x3、5x5或7x7恒定系数矩阵提供灵活和高效的2D FIR滤波实现方式。

可编程嵌入式处理器

  大部分多媒体产品不仅需要进行信号处理,而且需要使用某种类型的微控制器或处理器来完成指令和控制功能或其它日常任务。对于从的消费产品到的视频产品的各类多媒体系统,基于FPGA的嵌入式处理器(如Nios II)向设计者提供了灵活地定制各种要求的能力。多媒体系统开发者面临的一个重大挑战是选择合适的(既不降低性能也不减少功能的)处理器。至今有众多供应商提供了数百种型号的处理器,其外围设备、存储器接口和性能特性也各不相同。

  FPGA嵌入式处理器可以降低BOM和PCB版图成本。在需要多个处理器的情况,开发工具将允许用户创建多处理器系统,进而提升系统的性能或把软件应用分成更简单的任务。可以针对系统性能或逻辑使用率对Nios II内核进行优化,或者在系统性能和逻辑使用率之间取得平衡。该内核可以方便地通过配置实现乘法器、用户设定的高速缓存、定制指令、硬件调试逻辑等特性以适应特殊的性能需求。

  Nios II嵌入式设计套件(EDS)支持创建定制的多内核系统。Nios II处理器与超高密度的FPGA(如Stratix III器件系列产品)相结合可以创建出非常理想的高性能多处理器应用系统。Nios II的典型应用如图4所示。

NIOS II嵌入式处理器的典型系统应用图


图4:NIOS II嵌入式处理器的典型系统应用。

嵌入式存储器和外部存储器接口

  存储器是所有视频处理应用(如视频压缩编码、2D滤波和缩放)都需要的关键构建模块之一。现在,由于FPGA提供了众多的内部专用存储器模块,因此一个FPGA就可以实现完整的多媒体系统。这些内部存储器模块包括RAM、ROM、FIFO、双端口存储器和移位寄存器。大多数系统通常需要使用存储器来满足各种复杂功能(如通讯、数字信号处理、电子数据处理和控制应用)所需要的不同存储需求。

  Stratix器件中包含的TriMatrix存储器架构提供了多种不同的存储器结构,可以实现复杂设计中的各种存储器功能。在存储器带宽不够充裕时,设计师可以使用较小的M512 RAM模块实现先入先出(FIFO)和时钟域缓存功能。M-RAM模块可以使FPGA满足大型缓存应用(如知识产权包缓存和系统高速缓存)的需求。M4K模块非常适合为消费多媒体应用(如数字电视视频增强)提供中等规模的存储器应用。另外,Stratix器件也支持DDR2和DDR3 SDRAM及RLDRAM等多种类型的外部存储器。

高速接口

  带有内建高速差分接口(如LVDS、RSDS、mini-LVDS和PPDS)的FPGA可直接连接到平板LCD或等离子显示器。典型的平板显示器通常会联合运用可编程器件和ASSP在把图像提供给显示器之前进行视频质量增强。

  图5显示了一个用FPGA实现视频处理和显示屏接口的完整LCD模块。除了差分接口之外,高端FPGA还带有其它高速串行接口收发器。对于视频应用,串行接口可以是SDI、ASI、PCI Express或Serial Rapid IO。

使用Cyclone III FPGA的典型LCD模块


图5:使用Cyclone III FPGA的典型LCD模块。

设计工具

  Quartus II软件等设计入门工具是完成高密度和低成本FPGA设计的快和效途径。它提供了时序分析、功率分析、增量编译、用于IO分配的引脚规划器和TcL脚本接口。DSP Builder等专用视频处理工具则可以进一步提高用户的设计效率。DSP Builder是一种数字信号处理开发工具,它在设计入门工具Quartus II和MathWorks公司的MATLAB/Simulink之间架起了连接桥梁。

典型的数字电视框图


图6:典型的数字电视框图。

本文小结

  从低成本系列(如Cyclone)到高端Stratix系列的可编程逻辑器件可用于实现各类音视频产品。内建的DSP和存储器模块提供了完成这些任务所需要的基本单元。Quartus II、SOPC Builder和DSP Builder等用户友好的设计工具大大提高了工程设计的效率。图6给出了FPGA的一个数字电视应用,其中的FPGA包含有嵌入式处理器、存储器接口、视频图像处理、图像缩放以及用于平板显示器(FPD)的屏显(OSD)和时序控制器(TCON)功能。
  

 


 


  
上一篇:为多处理器系统选择设计方案
下一篇:采用X2Y®技术的DC-DC转换器

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料