用FPGA替代DSP实现即时图像和视频处理
的光亮度信息(Y)的60%至70%来自绿色光。红色和蓝色信道实际上只是亮度信息的复制,因此这些重复信息完全可以去除掉。最终的结果是图像可用表征色度和亮度的信号来表示。在这种格式下,8位系统规定亮度的取值范围介于16至235之间,而Cb和Cr信号的取值范围介于16至240之间,并规定128表示亮度为0。 可用如下的方程将YCbCr空间中的色彩转换为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'表示图像灰度校正RGB值。例如,CRT显示器的信号振幅与输出密度之间存在非线性,如果在显示信号之前进行图像灰度校正,就能使信号振幅与输出密度间的关系趋于线性。输出增益同样必须限定低于特定的临界值,以减少图像暗区中的传输噪音(图3)。 我们可以采用许多可行的方法实现所需的乘积功能,如利用内存、逻辑组件或嵌入式乘法器。显然,HDTV系统所需的74.25MHz数据率可轻松地达到,而且还可以尝试不同的设计折衷考虑,如系统精确度和设计范围之间的折衷。例如,为了保证3%的转换误差,YCbCr至RGB色彩空间转换器的设计尺寸可以至少减小一半。这或许超出了大多数显示器产品所能承受的范围,但仍然能被其它的应用系统接受,如机器视觉或安全系统。采用FPGA的系统架构就能调整应用系统的算法,由此实现最佳的性能和效率。 实时图像和视频处理功能 标准DSP自身性能上的缺陷促进了专门解决此难题的专用设计芯片(如媒体处理器)的发展。但是,这些组件极低的灵活度往往使其局限于非常有限的应用中并容易产生性能瓶颈。在高分辨率系统(如HDTV和医疗成像系统)中,基于处理器的方法受到的限制尤为明显。从根本上讲,处理器的分辨率受限于分配给滤波器每个抽头或每个转换阶段时钟周期的数目。一旦达到极限条件,通常除了增加额外的DSP部件外别无选择。FPGA可以藉由定制调整提供最具实用价值的高性能高效率产品。设计人员可在适用范围和速率之间进行折衷考虑,从而以比DSP时钟低得多的速率实现指定功能。 例如Visicom公司发现,在中值滤波器应用中[3],DSP处理器需要67个时钟周期执行算法,而FPGA只需工作在25MHz频率下,因为FPGA能平行实现该功能。实现上述功能的DSP必须工作在1.5GHz频率下,可见在此特定应用中,FPGA解决方案的处理能力可以达到100MHz DSP处理器的17倍。 许多实时图像和视频处理功能均适合于用FPGA组件来实现,包括:图像旋转、图像缩放色彩校正和色度校正、阴影增强、边缘检测、直方图功能、锐化、中值滤波器和斑点分析等。 许多功能都针对特定的应用和系统,并构建在核心架构(如2D-FIR滤波器)之上。我们可以利用HDL设计语言或高级内核设计工具(如Xilinx CoreGen软件)中的DSP程序块迅速实现这些功能。此外,还能藉由系统级设计方法,利用Matlabs Simulink和Xilinx SystemGenerator工具进一步减少设计和模拟时间。
- 在采用FPGA设计DSP系统中仿真的重要性 (06-21)
- 基于 DSP Builder的FIR滤波器的设计与实现(06-21)
- 基于FPGA的快速并行FFT及其在空间太阳望远镜图像锁定系统中的应用(06-21)
- 3DES算法的FPGA高速实现(06-21)
- 用FPGA实现FFT算法(06-21)
- FPGA的DSP性能揭秘(06-16)