一种运动估计中sad的并行实现方法

文档序号:7685127阅读:377来源:国知局
专利名称:一种运动估计中sad的并行实现方法
技术领域
本发明属于数字视频编解码技术领域,特别涉及一种运动估计中SAD的并 行实现方法。
背景技术
在现有的一见频编码方法中,大都采用以宏块为单位的运动估计(Motion Estimation, ME)来实现帧间压缩。ME的主要功能是对当前帧图像中的一个 被编码像素块,在参考帧图像中的一个指定窗口中搜索与之相差最小的像素块, 作为最佳匹配。运动估计中要得到两个值 一个是被编码的像素块相对于参考 帧中最佳匹配像素块的偏移,即运动矢量MV (Motion Vector);另一个是被编 码像素块与匹配像素块的残差绝对值之和SAD (Sum of Absolute Difference )。 这部分的计算占了整个编码过程计算量的很大比重,因此,这部分硬件的执行 效率直接关系到整个编码芯片的性能。在现有的运动估计的硬件实现技术中,主要通过以下方法来实现实时编码 通过使用多个计算SAD的处理单元PE (process element)(如图1所示)来并行 处理,PE中每个计算单元(AD,如图2所示)在时钟上升沿到来时,依次进行 一次减法、取绝对值以及一次加法运算,这个环节釆用单沿、串行的处理方法。 但是,这种方法减法单元和加法单元不能同时使用,也不能在同一时钟周期内 完成,并没有因此达到很高的工作效率。这种方法在高分辨率的视频和大搜索 范围时会耗费大量的硬件资源。发明内容本发明的目的在于提供一种运动估计中SAD的并行实现方法,即通过时钟 双沿触发,将加法与减法并行处理,并保证SAD在单周期内进行。所述方法能 在多路并行处理时,减少运动估计硬件资源开销50%;或者在单路处理时缩短处理周期50%,并能{呆^〖正高清晰一见频的实时编码。本发明的目的是这样实现的 一种运动估计中SAD的并行实现方法,用于 视频编码帧间压缩处理,所述方法采用具有数个计算单元AD的处理单元PE计 算SAD,所述每个计算单元AD计算一个当前帧的像素块与参考帧的像素块中 的像素差绝对值,并计算每个像素的差绝对值之和SAD,所述方法在系统时钟 的上升沿,将进入处理单元PE的一组参考帧的像素块REF0与当前帧的编码块 进行像素差绝对值SAD计算;在系统时钟的下降沿,将进入处理单元PE的另 一组参考帧的像素块REF1与当前帧的编码块进行像素差绝对值SAD计算;参 考块REFO和REF1的轮流输入通过控制模块切换实现。进一步地,所述的处理单元PE由8*8个计算单元AD组成。 本发明由于采用了上述的技术方案,相对于用两个PE模块来并行计算两个 参考块的SAD,节约了一半的硬件资源;相对于用一个PE模块串行来计算两个 参考块的SAD,缩短了处理时间,特别是在对两个参考块的有很多的相同的像 素点,能大大提高参考数据的重用效率,减少对参考数据存储器的访问,同时 并没有降低工作的最高频率。


本发明的一种运动估计中SAD的并行实现方法由以下的实施例及附图给出。图1为本发明的处理单元中计算单元的功能示意图; 图2为本发明的差绝对值之和^1块的功能示意图; 图3为本发明的实施例的时序关系示意图。
具体实施方式
以下将结合附图对本发明的一种运动估计中SAD的并行实现方法作进一步 的详细描述。本发明提供了一种运动估计中SAD的并行实现方法,用于视频编码帧间压 缩处理,所述方法涉及多个计算SAD的处理单元PE, PE通过计算单元计算一 个当前帧的像素块与参考帧的像素块中的像素差绝对值,并计算每个像素的差绝对值之和SAD。请参阅图3,本发明中,PE的每个AD单元在时钟上升沿和 下降沿同时工作,具体实现过程如下在时刻tl (时钟CLK下降沿),输入图像帧数据,参考帧数据为参考块0 (REF0),经过处理单元PE中AD的运算,即对当前图像帧和参考帧数据REFO 进行差绝对值运算,得到差绝对值0 (ABS0)和Err一out, Err—out作为下一个 AD单元的输入Errjn;在时刻t2(CLK上升沿),输入图像帧数据,参考帧数据为参考块l(REFl ), 经过处理单元PE中AD的运算,即对当前图像帧和参考帧数据REF1进行差绝 对值运算,得到差绝对值1 (ABS1 ),同时求和运算进行ABS0与Errjn的和运 算,得到Err—out,作为下一个AD单元的Err_in;在时刻t3 (CLK下降沿),输入图像帧数据,参考帧数据为参考块REFO, 经过处理单元PE中AD的运算,即对当前图像帧和参考帧数据REFO进行差绝 对值运算,得到差绝对值ABSO,同时求和运算进行ABS1与Errjn的和运算, 得到Err_out,作为下一个AD单元的Err—in;依次类推,即在时钟上升沿进行参考块REF1的SAD计算,下降沿进行参 考块REFO的SAD计算。所述的处理单元PE由8*8个计算单元AD组成在具体的硬件实现时,只需在原有结构上增加一个控制单元,用于参考块 REFO和REF1的轮流输入控制。考虑到FPGA中的加法和减法只能在一个时钟 沿工作,需要对系统时钟进行倍频处理,以原始数据的两倍频工作,在时钟沿 轮流送出两个不同参考块。本设计用于多路并行处理的结构时,由于可以同时 复用电路,可以把并行度降低一半,相当于硬件资源节省一半;当用于单路处 理时,可以把处理时间节省一半。尽管时钟频率变高了一倍,但本发明中的一 个时钟沿只做了一次减法或者一次加法,相比现有的技术在一个时钟沿做了一 次减法和一次加法,实际的工作频率并没有P条低。
权利要求
1、一种运动估计中SAD(Sum of Absolute Difference,残差绝对值之和)的并行实现方法,用于视频编码帧间压缩处理,所述方法采用具有数个计算单元的处理单元计算SAD,所述每个计算单元计算一个当前帧的像素块与参考帧的像素块中的像素差绝对值,并计算每个像素的差绝对值之和SAD,其特征在于所述方法在系统时钟的上升沿,将进入处理单元的一组参考帧的像素块REF0与当前帧的编码块进行像素差绝对值SAD计算;在系统时钟的下降沿,将进入处理单元的另一组参考帧的像素块REF1与当前帧的编码块进行像素差绝对值SAD计算;参考块REF0和REF1的轮流输入通过控制模块切换实现。
2、 如权利要求1所述的运动估计中SAD的并行实现方法,其特征在于 所述的处理单元由8*8个计算单元组成。
全文摘要
本发明提供了一种运动估计中SAD的并行实现方法,所述方法通过时钟双沿触发,将加法与减法并行处理,并保证SAD在单周期内进行。所述方法能在多路并行处理时,减少运动估计硬件资源开销50%;或者在单路处理时缩短处理周期50%,并能保证高清晰视频的实时编码。
文档编号H04N7/26GK101217662SQ20081003224
公开日2008年7月9日 申请日期2008年1月3日 优先权日2008年1月3日
发明者刘锦阳, 王凤麟 申请人:上海广电(集团)有限公司中央研究院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1