《电子技术应用》
您所在的位置:首页 > 可编程逻辑 > 业界动态 > 基于流水线的数字视频色度空间转换新方法

基于流水线的数字视频色度空间转换新方法

《电子技术应用》
2008-03-31
作者:闫 玮,谢剑斌,程江华,李沛秦

  摘 要: 阐述了流水线的基本原理,提出了基于流水线的YCbCr信号到RGB信号的色度空间转换新方法,有效地提高了嵌入式系统中数字视频处理" title="数字视频处理">数字视频处理速度。
  关键词: 流水线 FPGA VHDL 数字视频 色度空间


  近年来,由于人们对数字视频处理技术的要求不断提高,越来越多的数字视频处理系统开始采用FPGA+DSP的体系架构。在这一架构中,FPGA的作用是对视频数据进行较低阶的预处理,如缩放、锐化、平滑、色度空间转换等,DSP的作用是在预处理的基础上对视频数据进行高阶处理,如编码、识别等。由于数字视频处理系统对实时性的要求较高,因此FPGA子系统的处理速度越快、处理效率越高,则预处理所需的时间就越短,DSP子系统就有充足的时间对视频数据进行更复杂的处理,系统的整体性能就越强。在设计实际的FPGA子系统时,提出了流水线(Pipeline)方法,有效地提升了系统的处理速度和执行效率。
1 流水线方法
  流水线处理由通常的流水作业法而来,它是指将待处理的任务分解为相互有关而又相对独立的、可以顺序执行的子任务。也就是说整个处理过程被划分为一组串行连接的子过程,以完成相应的子任务。在数字视频处理系统中,FPGA所承担的运算大部分是加法,以3变量相加的任务为例,传统的设计方法" title="设计方法">设计方法是直接构建一个3输入的加法器,一次性计算出结果,而流水线设计方法则是先构建两个2输入的加法器,再将这两个加法器级联形成一个2级流水线系统,经过两次计算得到最终结果,两者的设计思想如图1所示。


  流水线有两大优点:第一,采用流水线技术" title="流水线技术">流水线技术的系统可以工作在更高的时钟频率" title="时钟频率">时钟频率下。在实际的FPGA系统中,系统所能承受的最高时钟频率受限于系统中的组合逻辑模块的最大" title="最大">最大延时。图1中(a)系统的工作时钟不能超过1/Ta(Ta为加法器A的延时),(b)系统的工作时钟不能超过1/Tb。由于加法器B的结构比加法器A简单,所以必然有Tb2 基于流水线方法的色度空间转换
2.1 算法原理
  在数字视频处理系统中,色度空间的转换被大量应用,如RGB空间与YCbCr空间的相互转换,RGB空间与HSI空间的相互转换等,这类转换所需的运算量不大,但所要处理的视频流的数据量很大,且对实时性要求较高,非常适合用流水线技术来实现。其中8bit YCbCr信号到RGB信号的转换关系如式(1)所示。
  
  在FPGA中直接构建加(减)法器很容易,但要构建小数乘法器则较为复杂,通常的做法是变小数运算为整数运算,变乘除运算为移位运算。基于这一思想,式(1)中YCbCr分量到G分量的转换公式中的小数系数可用式(2)来代替。
  
  所以YCbCr分量到G分量的转换关系就可以近似的写为式(3):
  ========
  在数字电路中,乘以2相当于变量左移一位,除以2相当于变量右移一位,因此YCbCr分量到G分量转换电路的原始硬件结构框图如图2所示。图2所示电路中最复杂的模块为5变量加法器,设其最大处理延时为T1,则电路的最高输入时钟频率不超过1/T1


2.2 流水线设计
  流水线技术的核心思想就是将低速的复杂模块拆分为多个高速的简单模块。图2中的多变量加法器属于复杂模块,应将其拆分为多个两变量加法器的级联,如图3所示。在图3中,YCbCr分量到G分量转换任务由9个两变量加法器组成的4级流水线来完成,输入数据在时钟的驱动下依次经过4级流水线的处理,即可得到所需的处理结果。


  图3中每一级流水线所用到的加法器均为19位两变量加法器,设其最大处理延时为T2,则电路的最高输入时钟频率不超过1/T2。在实际运算过程中,前级流水线经过T2延时后得出当前输入的计算结果并将其送入次级流水线后,可以直接对下一组输入数据进行计算,整个系统的工作流程可用表1来表示。
  由表1可见,在经过最初的4T2延时后,每经过一个T2时间,就会有一组处理后的结果输出,这一指标将大大优于采用非流水线结构的电路。


2.3 仿真测试
  利用Altera公司的Quartus II平台对图2和图3的设计方案进行仿真测试,得到的结果如表2所示。由表2不难发现,应用流水线技术后,系统所能承受的最大输入时钟频率提高了1倍,系统的运行速度和执行效率均获得大幅提升。


  在基于流水线技术的数字视频系统中,由于各级流水线的结构不尽相同,必须考虑各级流水线的同步问题。图3中的两个带斜线的方块的作用就是为了数据同步,在实际设计时可用寄存器来完成。另外,YCbCr分量到R分量、YCbCr分量到G分量、YCbCr分量到B分量的计算复杂度不尽相同,所需的流水线的级数也不一样。在整个系统的搭建中,较短流水线的最终输出应加以延时以做到和较长流水线的最终输出同步。
  由于流水线设计是在以空间换时间,因此设计基于流水线结构的电路所需的门电路要比传统设计方法多,在器件选型时应注意留出余量。
  基于流水线的设计方法相对于传统设计方法而言,可以在不显著增加硬件开销的前提下大幅提升系统的运行速度和处理效率,对于设计高速数字视频处理系统具有很大的实用价值。
参考文献
1 Wang Y,Ostermann J,Ya-Qin Z著,侯正信,杨 喜,王文全译.视频处理与通信.北京:电子工业出版社,2003
2 Sjoho l S著,边计年,薛宏熙译.VHDL设计电子线路.北京:清华大学出版社,2001
3 王宇红,常 青.用VHDL语言设计流水操作.微处理机,2002;(2)
4 北京理工大学ASIC研究所.VHDL语言100例详解.北京:清华大学出版社,1999
5 朱明程,熊元姣.ACTEL数字系统现场集成技术.北京:清华大学出版社,2004

本站内容除特别声明的原创文章之外,转载内容只为传递更多信息,并不代表本网站赞同其观点。转载的所有的文章、图片、音/视频文件等资料的版权归版权所有权人所有。本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如涉及作品内容、版权和其它问题,请及时通过电子邮件或电话通知我们,以便迅速采取适当措施,避免给双方造成不必要的经济损失。联系电话:010-82306118;邮箱:aet@chinaaet.com。