基于FPGA的高清图像处理方法介绍
从模拟广播向数字广播的转变为业界提供了令人振奋的新服务和挣钱机会,而OEM厂商之间为生产更有价格吸引力的系统而进行的竞争也非常激烈。然而,正如许多其它技术转变时所面临的情况一样,各个企业为竞争市场领导地位提出了许多新的建议标准。无论标准团体如何努力保证互操作性和公平竞争,第一个成功上市的产品都很可能会变成事实上的标准。即使是标准团体成功发布的国际上得到承认的标准,经常也会由于试图满足众多成员公司的需要而存在许多不同的版本。除此之外,不可避免地会对标准进行许多修正,如在早期阶段的现场测试反馈之后,或在后期阶段有新的算法或增强提出来时。因此很容易发现为什么一个完全可重新编程的解决方案是如此有吸引力。
“Table 3”是在业界等到公认的美国高级电信标准协议(STSC)定义的广播格式一览表。正如表中所看到的那样,设备制造商可进行众多的选择-高分辨率(HD)还是标准分辨率(SD),16:9还是4:3,逐行还是隔行扫描等。虽然也有ASSP(特定应用标准产品),但经常是每种标准需要不同的芯片。FPGA解决方案可容易地支持超过HDTV要求的数据传输速率,这意味着一个器件可以支持所有这些格式,只需要根据设备的需要进行重新编程就可以了。这可减少企业的用料清单项目,同时还排除了ASSP供应商可能存在的供货风险。
需要进行标准选择的另一个例子是色彩空间变换。图像从照相机采集进来以后就利用压缩算法对其进行处理,再通过后期制作直到在电视机显示出来的过程中也是如此。压缩算法利用了这样的事实,即不必传输一幅图像的所有色彩信息就可得到满意的效果。以RGB(红、绿、蓝)格式进行图像处理是可行的。在RGB格式中,每一像素以对应每一原色的三个8或10位字来定义。但由于人眼对光线频谱中某些部分比其它部分反应要小,因此可以利用亮度或(Y)以及色差信号(如CrCb)来表示图像。这样做的好处是需要较小的存储和数据带宽。因此需要一种机制来进行不同色彩格式间的转换,这也称为色彩空间变换。一旦知道从一个色彩空间向另一个色彩空间映射的系数,用硬件实现这些电路就非常简单。
例如,在数字电视系统中,YerCb色彩空间可按下式转换至RGB色彩空间:
R' = 1.164 (Y-16) + 1.596(Cr -128)
G' = 1.164 (Y-16) - 0.813 (Cr -128) - 0.392(Cb-128)
B' = 1.164 (Y-16) + 1.596 (Cr-128)
其中R'G'B'是伽马(Gamma)校正RGB数值。由于CRT显示器中,接收到的控制信号幅度和输出强度间是非线性关系。显示器前的伽马校正信号可使接收信号幅度和输出强度的关系线性化。输出增益也限制在一定的阈值,从而降低图像暗部由于传输引入的噪声。有多种可能的实现方法,可利用存储器、逻辑或嵌入式乘法器在FPGA中实现所需的乘法功能。
当需要在大量色彩空间之间进行转换选择时,采用可编程色彩空间变换器的优点非常明显。正如此处所示的YCrCb 与RGB变换一样,YUV以及YPrPb 采用与此类似的算法,只是系数有所不同。虽然有标准的色彩空间,但不同设备间的要求有许多不同的地方。高分辨率图片甚至采用与标准定义不同的色彩空间,但具有可编程的变换系数的设备可以容易地支持任何输入分辨率。同时如果需要的话,多通道色彩空间变换支持也可以做到,而如果不采用可编程逻辑的话,这通常需要多块ASSP。当然,利用FPGA器件,系统架构还可根据应用调整相应的算法,从而使性能、效率或两者同时实现最大化。
FPGA经常被大型数据和电信企业广泛用作网络接口设备。可编程架构非常适合协议管理和数据流格式处理,而FPGA提供的高速差分I/O如LVDS,使FPGA可以非常快的速度向片上读入和向片外输出数据。FPGA还可用于局域环境,如家庭网络。欧洲DVB(数字电视广播)联盟最近采用IEEE1394高速串行总线作为数字电视产品的标准连接方式。无线标准,如IEEE802.11 和 HiperLAN2也被提议作为拥有多台电视的家庭网络的连接方案。
随着世界许多地区高分辨率广播的出现,视频信号处理要求极大地提高了。例如,采用1920×1080分辨率、24位像素和每秒30帧逐行扫描的高分辨率电视机将需要约1.5Gbps的总的未压缩带宽。即使在还没有实际进行高分辨率图像广播的地区,在直到后期制作的所有阶段中,采用的也是高分辨率图像。
现在最新的可编程逻辑器件具有多个可支持此类数据速率的LVDS(低压差分信号)I/O,即使在针对消费市场的低成本器件中也有这样的I/O支持。这意味着未压缩的视频数据可输入和输出器件并进行实时处理。HDTV速率一级的实时视频处理允许设计人员减少需要的外部存储器数量。目前,由于在设计中视频信号处理器部分成为瓶颈,因此现有的数字电视系统中经常采用多个帧存储和数据缓冲器。利用FGPA的并行信号处理能力意味着更小的,甚至单帧存储即可,而数据缓冲器则可完全省掉。标准DSP在性能方面的局限导致不得不开发更为专用的芯片,如媒体处理器,来克服这些问题。然而,事实证明这些器件除了在范围极窄的一些应用中,都有太不灵活的缺点,同时还有性能瓶颈存在。而FPGA器件则可以通过定制,在利用率和性能方面提供最大的效率。设计人员还可以在设计面积和速度之间进行折衷,并且可以比DSP低得多的时钟速率完成给定的功能。
如前所述,FPGA过去仅用于专业的广播系统中,但摩尔定律意味着他们正逐渐应用于大批量消费产品中。以数字电视为例,其中机顶盒功能完全集成到电视中,因此数字电视可接收数字广播。通常这都是通过标准天线接收免费的无线信号,但未来的产品将允许接收来自有线电缆、卫星或DSL线路传输的信号。FPGA可应用于数字电视机内的许多部分,如图1所示。做为标准芯片组间的“联结逻辑(glue logic)”一起是FPGA的强项,但许多图像处理任务(如色彩空间变换)以及网络接口(如IEEE 1394)现在也可在低成本可编程逻辑器件内实现。
这一将图像处理任务用FPGA完成的趋势有一个重要驱动力:来自业界所称的“数字融合”。目前产生了这样一些需求,即通过极为有限的传输信道(如无线)发送大带宽的视频数据,同时还要保持可接受的服务质量(QoS)。这导致对如何改善错误校正算法、压缩和图像处理技术进行范围更为广泛的研究,而其中相当一部分工作是围绕利用FPGA器件进行的。
采用FPGA,设计人员可以使自己的标准兼容的系统与竞争对手的产品保持差异化。以MPEG-2压缩方案为例,可以将MPEG处理器负责的MPEG标准算法中的DCT(离散余弦变换)部分卸载至FPGA器件中进行处理,从而增加带宽。DCT及其反变换可利用FPGA高效地实现,而且已经有经过优化的IP核可直接应用到基于MPEG的设计之中。但MPEG编码方案中还有许多未定义的模块(如运动预测)。通过在FPGA结构中集成用于这些模块的专有技术和标准的象DCT这样的功能,就可以创造出可提高处理带宽并达到更高图像质量的低成本的单片解决方案。通过避免系统仅依赖于标准ASSP解决方案,企业就不再会有被市场认为仅能提供有限的几种类似解决方案的危险。
FPGA还可使您的产品更快地推向市场,并可在现场安装后保持为您产生更多营收的能力。多数FPGA都基于SRAM技术,从而在开发的各个阶段都可以容易地对器件进行重新编程。这使系统的调试更为简单,而且还意味着如果需要的话,微小的改变也可容易地整合到产品中去。这有可能会由于客户要求的改变,也由可能是由于标准的新版本或修正。
- 基于FPGA的DSP设计方法(08-26)
- 专家指导:Linux操作系统密码恢复方法(05-16)
- 基于多核DSP Bootload代码加载方法研究(01-16)
- 基于DSP 的大容量无线传输技术中高性能的启动方法(03-16)
- 多核调试新方法探讨(10-22)
- 有备无患Linux操作系统备份方法介绍(06-06)