一种h.264运动估计搜索窗口自适应调整算法的vlsi实现系统的制作方法

文档序号:7824304阅读:131来源:国知局
一种h.264运动估计搜索窗口自适应调整算法的vlsi实现系统的制作方法
【专利摘要】本发明公开了一种H.264运动估计搜索窗口自适应调整算法的VLSI实现系统,其特征在于:包括运动矢量预搜索模块、搜索尺寸选择模块和自适应搜索窗口实现模块;运动矢量预搜索模块是根据视频序列相邻帧对应宏块的运动矢量信息对当前帧的当前宏块的运动矢量信息进行预测,获得当前宏块的最佳匹配运动矢量信息;搜索尺寸选择模块从备选搜索窗口的尺寸中选择当前宏块的搜索窗口的尺寸;自适应搜索窗口实现模块在搜索窗口内对当前宏块进行像素匹配搜索,获得当前宏块的运动矢量信息。本发明使得搜索窗口的尺寸可以根据视频序列的运动矢量信息动态调整大小,减少像素的搜索次数,降低运动估计运算量,节约压缩时间。
【专利说明】-种H. 264运动估计搜索窗口自适应调整算法的VLSI实现 系统

【技术领域】
[0001] 本发明公开了一种a 264运动估计搜索窗口自适应调整算法的超大规模集成电 路(VLSI)实现系统,属于视频编解码领域。

【背景技术】
[0002] 随着多媒体技术得到越来越广泛的应用,数字视频压缩已经形成一系列的标准。 目前,被广泛使用的a 264/AVC标准比以往的视频压缩标准提升约50 %的压缩率,但这一 性能的提高是以远高于其他的编码标准的运算复杂度为代价的,其中运动估计占整个编码 运算量的60%-80%,所以减少运动估计(ME)的计算量可有效提高编码速度。在运动估计 模块中,最为重要的模块是整像素搜索和分像素搜索,其中整像素搜索中要反复读取当前 帧的宏块数据与搜索窗口中的宏块数据进行比较获得当前宏块在搜索窗口中匹配的整像 素的位置,分像素搜索时在整像素搜索的基础上进行像素插值,在插值像素中找到匹配当 前宏块的位置,像素插值可分为1/2像素插值和1/4像素插值,整像素搜索和分像素搜索来 共同获取当前宏块的运动矢量。当前宏块在搜索窗口中找到匹配的宏块,匹配块相对于当 前宏块的位移量即运动矢量MV (motion vector)。在一些视频传输的应用中,既要求实时 性,又要求高的视频质量。这就需要在确保压缩率的前提下,适当减少运动估计中像素搜索 的次数,达到减少运动估计时间,提升H. 264编码速率的目标。
[0003] 对于像素搜索的实现方法,研究者们已经提出各式各样的搜索方法,但是它们的 搜索窗口都是固定尺寸,无论对于视频序列是快速变化的还是缓慢变化的,一旦编码运行 起来,就无法改变搜索窗口的尺寸。有效的控制搜索窗口的尺寸可以使压缩码流和编解码 时间能够得到一个很好的平衡。常见的运动估计算法大体可分为全搜索法、快速搜索法和 低复杂度的匹配技术三类。全搜索法精度是最高的,但是计算量大,硬件开销大。快速搜索 法减小了计算量但是控制复杂,不利于硬件实现。基于全搜索法的低复杂度的匹配技术,精 度没有全搜法高,但是计算量大幅度降低而且易于硬件实现,所以在基于H. 264的硬件编 解码器中得到普遍地使用。但是,传统基于块匹配的运动估计,对于最佳匹配块的搜索窗口 通常是固定值,这会导致搜索次数不能够根据视频矢量信息动态的调整,从而造成时间的 浪费影响运动估计的效率。


【发明内容】

[0004] 本发明为避免上述技术存在的不足之处,综合考虑运动估计算法的速度、效率和 像素存储访问灵活性,提出一种H. 264运动估计搜索窗口自适应调整算法的VLSI实现系 统,以期望可以达到速度和资源之间的均衡。
[0005] 本发明解决技术问题,采用如下技术方案:
[0006] 本发明H. 264运动估计搜索窗口自适应调整算法的VLSI实现系统,其特点在于: 所述系统包括运动矢量预搜索模块、搜索尺寸选择模块和自适应搜索窗口实现模块;
[0007] 所述运动矢量预搜索模块是根据视频序列相邻帧对应宏块的运动矢量信息对当 前帧的当前宏块的运动矢量信息进行预测,获得当前宏块的最佳匹配运动矢量信息;所述 当前宏块的最佳匹配运动矢量信息包括最佳匹配横向运动矢量预测信息PMVx和最佳匹配 纵向运动矢量预测信息PMVy ;所述横向运动矢量预测信息PMVx反映当前宏块在水平方向 的运动矢量信息特性,所述纵向运动矢量预测信息PMVy反映当前宏块在垂直方向的运动 矢量信息特性;
[0008] 所述搜索尺寸选择模块是根据由运动矢量预搜索模块获得的当前宏块的最佳匹 配运动矢量信息从备选搜索窗口的尺寸中选择当前宏块的搜索窗口的尺寸,所述备选搜索 窗口的尺寸包括80\48、80\32、48\48、48\32、32\48和32乂32 ;故最大能存储搜索窗 口的尺寸范围为x : ±32 ;y :± 16, x为±32是指宏块在横向向两边延伸32个像素点,由于 宏块的大小是16X 16,所以横向的范围为32+32+16 = 80 ;同理纵向的范围为16+16+16 = 48,所以最大的搜索范围为80X48,考虑到像素搜索是以块匹配基础上进行像素搜索,所以 把最大搜索窗口划分为六种不同的尺寸,从而减少像素的搜索点数,降低系统的复杂度,六 种备选择尺寸分别为:80X48、80X32、48X48、48X32、32X48 和 32X32。
[0009] 所述自适应搜索窗口实现模块根据所述搜索尺寸选择模块所选择的当前宏块的 搜索窗口的尺寸获得当前宏块在相邻帧中的搜索窗口,并在所述搜索窗口内对当前宏块进 行像素匹配搜索,获得当前宏块的运动矢量信息。
[0010] VLSI实现系统是采用当前帧的前N帧作为相邻帧,根据其相应宏块的运动矢量信 息来预测当前帧的当前宏块的运动矢量信息,在系统刚开始运行的时候,采用默认的搜索 窗口即80 X 48,在系统运行到一定帧数后运动矢量预搜索模块开始根据视频序列相邻帧对 应宏块的运动矢量信息对当前帧的当前宏块的运动矢量信息进行预测,获得当前宏块的最 佳匹配运动矢量信息,然后再通过搜索尺寸选择模块选择出当前宏块的搜索窗口的尺寸, 最后通过自适应搜索窗口实现模块进行像素匹配搜索,获得当前宏块的运动矢量信息。
[0011] 本发明H. 264运动估计搜索窗口自适应调整算法的VLSI实现系统,其特点也在 于:所述自适应搜索窗口实现模块包括当前宏块像素数据存储单元、参考像素数据存储单 元、控制器、像素比较单元和SAD比较器;
[0012] 所述当前宏块像素数据存储单元用于存储当前宏块的像素数据;当前宏块像素数 据存储模块采用4个64X 32bit的片上数据存储器,可以同时存储当前宏块像素数据及与 当前宏块相邻的3个宏块的像素数据。在对当前宏块完成运动矢量信息的计算后,可直接 将下一宏块作为当前宏块进行运动估计,依次类推;这种方式可以减少对片外数据存储器 的访问次数,节约时间,提高工作效率。
[0013] 所述参考像素数据存储单元用于存储搜索窗口内的像素数据;所述参考像素数据 存储模块采用4个64X48bit的片上存储器;
[0014] 所述控制器用于控制所述自适应搜索窗口实现模块各单元的运作;
[0015] 所述像素比较单元用于把当前宏块的像素数据与搜索窗口内的像素数据以宏块 为单位逐一进行比较,采用减法操作,在每次比较后获得搜索窗口内相应宏块的像素数据 与当前宏块的对应像素数据的差值,并将差值累加获得相应宏块的差值之和,送入SAD比 较器;本设计中采用16个PE阵列进行像素比较,每个PE阵列可以同时比较8个像素,16个 PE阵列并行处理一次可以完成128个像素点的比较,对于16X 16大小的宏块,两个时钟周 期比较完宏块中的一行16个像素数据,经过32个时钟周期后能够比较出23X17范围内的 所有宏块。
[0016] 所述SAD比较器比较搜索窗口内所有宏块的差值之和,获得差值之和的最小值, 以所述差值之和的最小值所对应的搜索窗口内的宏块作为当前宏块的最佳匹配宏块;所述 最佳匹配宏块的位置相对于当前宏块的位置的位移偏量即为当前宏块的运动矢量信息。
[0017] 本发明的运动矢量预搜索模块采用n个视频序列相邻帧的对应宏块的运动矢量 信息对当前帧的当前宏块的运动矢量信息进行预测,分别获得相应的横向运动矢量预测信 息MVlx、MV2x、……、MVnx,及相应的纵向运动矢量预测信息MV ly、MV2y、……、MVny,并根据式 (1)获得最佳匹配横向运动矢量预测信息PMVx和最佳匹配纵向运动矢量预测信息PMVy ;

【权利要求】
1. 一种Η. 264运动估计搜索窗口自适应调整算法的VLSI实现系统,其特征在于:所述 系统包括运动矢量预搜索模块、搜索尺寸选择模块和自适应搜索窗口实现模块; 所述运动矢量预搜索模块是根据视频序列相邻帧对应宏块的运动矢量信息对当前帧 的当前宏块的运动矢量信息进行预测,获得当前宏块的最佳匹配运动矢量信息;所述当前 宏块的最佳匹配运动矢量信息包括最佳匹配横向运动矢量预测信息PMVx和最佳匹配纵向 运动矢量预测信息PMVy;所述最佳匹配横向运动矢量预测信息PMVx反映当前宏块在水平 方向的运动矢量信息特性,所述最佳匹配纵向运动矢量预测信息PMVy反映当前宏块在垂 直方向的运动矢量信息特性; 所述搜索尺寸选择模块是根据由运动矢量预搜索模块获得的当前宏块的最佳匹配运 动矢量信息从备选搜索窗口的尺寸中选择当前宏块的搜索窗口的尺寸,所述备选搜索窗口 的尺寸包括80父48、80\32、48\48、48\32、32\48和32父32 ; 所述自适应搜索窗口实现模块根据所述搜索尺寸选择模块所选择的当前宏块的搜索 窗口的尺寸获得当前宏块在相邻帧中的搜索窗口,并在所述搜索窗口内对当前宏块进行像 素匹配搜索,获得当前宏块的运动矢量信息。
2. 根据权利要求1所述的H. 264运动估计搜索窗口自适应调整算法的VLSI实现系统, 其特征在于:所述自适应搜索窗口实现模块包括当前宏块像素数据存储单元、参考像素数 据存储单元、控制器、像素比较单元和SAD比较器; 所述当前宏块像素数据存储单元用于存储当前宏块的像素数据; 所述参考像素数据存储单元用于存储搜索窗口内的像素数据; 所述控制器用于控制所述自适应搜索窗口实现模块各单元的运作; 所述像素比较单元用于把当前宏块的像素数据与搜索窗口内的像素数据以宏块为单 位逐一进行比较,在每次比较后获得搜索窗口内相应宏块的像素数据与当前宏块的对应像 素数据的差值,并将差值累加获得相应宏块的差值之和,送入SAD比较器; 所述SAD比较器比较搜索窗口内所有宏块的差值之和,获得差值之和的最小值,以所 述差值之和的最小值所对应的搜索窗口内的宏块作为当前宏块的最佳匹配宏块;所述最佳 匹配宏块的位置相对于当前宏块的位置的位移偏量即为当前宏块的运动矢量信息。
3. 根据权利要求1或2所述的H. 264运动估计搜索窗口自适应调整算法的VLSI实现 系统,其特征在于: 所述运动矢量预搜索模块采用η个视频序列相邻帧的对应宏块的运动矢量信息对当 前帧的当前宏块的运动矢量信息进行预测,分别获得相应的横向运动矢量预测信息MVlx、 MV2x,……、MVnx,及相应的纵向运动矢量预测信息MVly、MV2y、……、MVny,并根据式(1)获得 最佳匹配横向运动矢量预测信息PMVx和最佳匹配纵向运动矢量预测信息PMVy; PMVi = (Μνπ2+Μν2?2+Μν3?2+Μν4?2+......+MVni2)/n(1) 式中,i为X或y。
4. 根据权利要求1或2所述的Η. 264运动估计搜索窗口自适应调整算法的VLSI实现 系统,其特征在于:所述搜索尺寸选择模块根据运动矢量预搜索模块得到的最佳匹配横向 运动矢量预测信息PMVx和最佳匹配纵向运动矢量预测信息PMVy按照式(2)和式(3)来选 择搜索窗口的尺寸,其中:搜索窗口的尺寸=(16+2X|SRX|)X(16+2XISRyI);式中TO和 Tl为PMVx的阈值,LO为PMVy的阈值;
【文档编号】H04N19/57GK104469381SQ201410842551
【公开日】2015年3月25日 申请日期:2014年12月30日 优先权日:2014年12月30日
【发明者】宋宇鲲, 张多利, 杜高明, 陈效波 申请人:合肥工业大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1