首页> 中国专利> 一种视频压缩中可配置速度的运动估计实现方法

一种视频压缩中可配置速度的运动估计实现方法

摘要

本发明公开了一种视频压缩中可配置速度的运动估计实现方法,具体步骤如下:根据用户需求合理配置并行处理的PE单元个数;在PE单元内部,计算基本块代价;基于不同尺寸块的代价相关性,得出各种分割模式下的不同块的代价;逐行读完全部参考数据,将各个PE得到的最终代价进行比较,取最小代价确定最佳运动信息MV。本发明有效的降低了存储访问的次数,编码速度完全能满足高清视频实时编码的要求。

著录项

  • 公开/公告号CN102413329A

    专利类型发明专利

  • 公开/公告日2012-04-11

    原文格式PDF

  • 申请/专利权人 西安理工大学;

    申请/专利号CN201110371098.8

  • 发明设计人 余宁梅;贾文华;顾梅花;

    申请日2011-11-21

  • 分类号H04N7/26(20060101);

  • 代理机构61214 西安弘理专利事务所;

  • 代理人张瑞琪

  • 地址 710048 陕西省西安市金花南路5号

  • 入库时间 2023-12-18 04:59:56

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-09-21

    专利权的转移 IPC(主分类):H04N19/51 登记生效日:20160829 变更前: 变更后: 申请日:20111121

    专利申请权、专利权的转移

  • 2014-06-04

    授权

    授权

  • 2012-05-23

    实质审查的生效 IPC(主分类):H04N7/26 申请日:20111121

    实质审查的生效

  • 2012-04-11

    公开

    公开

说明书

技术领域

本发明属于视频压缩传输技术技术领域,具体涉及一种视频压缩中可配 置速度的运动估计实现方法。

背景技术

高清视频编码最常用的编码格式有MPEG-2-TS,MPEG-4,VC-1和 H.264/AVC等。这些标准共有的特点是良好的网络亲和性和高效的编码质 量,以及易于硬件实现等,因此在视频压缩方面得到广泛的应用。在视频编 码器的硬件结构中,帧间运动估计模块的计算复杂度和存储带宽消耗占 50%~90%,因此,帧间运动估计模块的性能直接决定了编码器的性能。

帧间编码的主要过程是:首先将原始图像划块,以块为单位进行运动估 计,为了提高精度,通常将这些块进行再分割,以不同的尺寸块进行匹配搜 索,目前主流编码标准是将原始图像划分为16×16的宏块MB(micro block), 然后将该宏块划分为16×16,16×8,8×16,8×8,8×4,4×8,4×4这7 种分割,共41个当前块,在这种分割模式下,通过当前块的已编码的相邻 块的运动信息即运动矢量MV(motion ventor),在其参考帧图像中得出一个 预测块,再以这个块为中心,向外扩m个像素,得出运动估计的搜索窗口, 含k个像素,k=(m*2+16)*(m*2+16)。然后让这7种分割的41个子块在这个 搜索区域中进行匹配搜索,再通过比较其代价的大小确定运动矢量MV。

运动估计的硬件实现的主要关键技术:高度数据利用率,低失真度和不 同块尺寸的代价关系。

运动估计的硬件实现的数据重用技术,能有效的减少访存次数,从而有 效的降低硬件资源消耗和系统功耗。目前,一种高度数据重用的硬件实现方 法已成为研究热点。已有文献中规定了数据重用度的分级,A级机制重复使 用一个当前块的相邻参考块中的重叠参考像素。B级机制重复使用一个当前 块的相邻参考条带的重叠参考像素。C级机制重复使用相邻的当前块的搜索 窗口的重叠区域。D级机制重复使用连续的当前块的整个搜索窗口中的像 素。A级机制有最小的存储面积但需要最多的访存次数,D级机制访存次数 最小但是消耗最大的片上存储空间。根据不同的需求,需要采用不同的数据 重用机制来平衡存储空间和存储访问之间的矛盾。目前的C级数据重用在目 前的存储带宽限制下最为高效,因此最目前大多数设计采用C数据重用。

搜索算法是运动估计中的另一个关键,主要包括全搜索算法和快速搜索 算法两种方式。全搜索算法是将参考窗口中的所有位置逐次遍历,这种方法 具有最高的保真度,但是相对而言又有最大的硬件消耗。目前有很多快速搜 索算法,但全部都是以失真为代价的,因此在系统允许的前提下,应该尽量 选择失真度最小的搜索算法。

可变块尺寸的运动估计算法,提高了精度,但是也带来了很大的计算复 杂度。更小的分割尺寸能将编码的失真降到最小,因此而带来的计算复杂度, 可以通过其不同尺寸块之间代价组合得出,有效的降低了计算复杂度。

发明内容

本发明的目的是提供一种视频压缩中可配置速度的运动估计实现方法, 有效的降低了存储访问的次数,编码速度完全能满足高清视频实时编码的要 求。

本发明所采用的技术方案是,一种视频压缩中可配置速度的运动估计实 现方法,其特征在于,具体步骤如下:

步骤1、根据用户需求合理配置并行处理的PE单元个数;

步骤2、在PE单元内部,计算基本块代价;

步骤3、基于不同尺寸块的代价相关性,得出各种分割模式下的不同块 的代价;

步骤4、逐行读完全部参考数据,将各个PE得到的最终代价进行比较, 取最小代价确定为运动矢量MV。

步骤2的具体方法为:

步骤2.1、从片上存储器中逐行读出参考数据将该行数据与当前宏块MB 的各行的每个像素求差模,其中,片上存储器大小为(m*2+a)*(m*2+a)pixels, 宏块大小为a*a pixels,(-m,+m)为搜索范围;

步骤2.2、将分属a2/b个b*b块的a*a个差模进行加和作为部分代价, 其中,b为最小分割块的大小;

步骤2.3、根据不同的遍历位置,确定部分代价的有效性,从而得出部 分代价并产生其有效信号。

步骤3的具体方法为:

步骤3.1、设置存储b*b块代价的寄存器,并分配存储空间;

步骤3.2、在每个存储空间中设置计数器,得出判断部分代价是否累加 完整的信号full;

步骤3.3、判断输入步骤2.3得到的部分代价的有效信号,将其对应有效 的部分代价按不同位置累加进入已分配好的存储空间;

步骤3.4、判断full是否有效,将完整代价送出,同时送出的还有由该 寄存器标号得出的位置信息;

步骤3.5、返回步骤3.2,直至得到a个a*a块b*b子块的完整代价,利 用不同块之间代价相关性,拼接得出各种分割模式的全部代价;

同时,比较当前送出的完整代价与前一位置的完整代价,选择失真小的 位置的代价信息存储,并将当前代价也存储做其他匹配模式使用。

本发明一种视频压缩中可配置速度的运动估计实现方法,充分的利用了 参考数据空间上的相关性,在不降低编码精度的前提下减少了访存次数,在 配置与横向列位置相等个数个PE单元的情况下,从片上存储器上读出的数 据使用率达到100%,再次读取率降到0。本发明方法使得搜索范围、I/O个 数、编码速度和硬件消耗等多项参数实现可配置,满足了不同用户的不同需 求,其编码速度完全能满足高清视频实时编码的要求。

附图说明

图1是本发明中宏块分割模式示意图;

图2是运动估计中块匹配示意图;

图3是本发明中参考数据空间相关性示意图;

图4是本发明中不同尺寸块的代价的组合关系示意图;

图5是本发明中差模有效信号与数据的关系;

图6是本发明中部分代价和在寄存器中的累加过程示意图。

具体实施方式

如图2所示,运动估计的过程是通过已编码宏块的运功矢量预测出当前 宏块的在参考块中的位置,再以预测位置为中心的搜索范围范围内遍历,通 过判断其残差代价,确定运动矢量。

本实施例采取如下配置:搜索范围(-32,+32),配置5个PE,宏块大 小选择16*16,最小分割4*4,块分割7种模式(16×16,16×8,8×16,8 ×8,8×4,4×8,4×4),计41个小块。本发明一种视频压缩中可配置速 度的运动估计实现方法,具体步骤如下:

步骤1、根据用户需求合理配置并行处理的PE单元个数为5个。

根据用户对I/O资源,实时处理速度,硬件消耗等方面的要求,确定PE 的个数,横向的位置由配置好的PE串行处理。

步骤2、在PE单元内部,计算基本块代价。

步骤2.1、从片上存储器中逐行读出参考数据将该行数据与当前宏块MB 的各行的每个像素求差模,其中,片上存储器大小为80*80pixels,宏块大小 为16*16pixels,(-32,+32)为搜索范围。有65*65个位置需要遍历,分别 是Px1y1,Px1y2,Px1y3......Px1y65,Px2y1,Px2y2.......Px65y64,Px65y65。当配置5个PE时,如 图3所示,第一个PE(即PE1)处理的是Px1yi(i=1,2,3,......,65),Px6yi(i=1,2,3,......,65),并行的第二个PE(即PE2)处理的是Px2yi(i=1,2,3,......, 65),Px7yi(i=1,2,3,......,65)。

从片上存储器中读出第一行参考数据时,PE1取第一个位置的1行16 个像素,分别与当前宏块的16行像素进行求差模运算,得到256个差模结 果。

步骤2.2、将分属64个4*4块的16*16个差模进行加和作为部分代价, 其中,b为最小分割块的大小。

结合图1和图4所示,可知得出4*4块的代价值就能通过合并的方法的 到其他不同分割模式的代价值,因此将这256个差模以所属的4*4块为基本 单位进行加和,得到64个4*1块的部分代价。

其中,代价计算公式是:J(s,c(m))=SAD(s,c(m)),

SAD(s,c(m))=Σx=1MΣy=1N|s(x,y)-c(x-mx,y-my)|,

其中,J是代价函数,s是当前进行编码的原始数据,而c是已经编码 重建的用于进行运动补偿的参考帧的数据。M,N是矩阵求和符号的∑的参 数,即分别为被求和矩阵的行数和列数,对于4*1块的部分代价,M=4,N=1。

步骤2.3、根据不同的遍历位置,确定部分代价的有效性,从而得出部 分代价并产生其有效信号。具体如下:

由全搜索的遍历方式可知,参考窗口的第一行数据只与Px1yi有相关性, 而第二行数据与Px1yi,Px2yi有相关性,以此类推,第十六行数据与Px1yi, Px2yi,......Px16yi有相关性,由此可以确定步骤2.2得出的结果是否有效,于 是有如图5所示的类似于平行四边形的部分代价有效性。可知读取从16行 开始的参考数据所产生的64个部分代价都是有效的,它们分别属于不同的 位置。

步骤3、基于不同尺寸块的代价相关性,得出各种分割模式下的不同块 的代价。本步骤是采用“蓄水”原理计算最佳运动信息MV。

步骤3.1、设置存储4*4块代价的寄存器16个,并分配存储空间;

步骤3.2、在每个存储空间中设置计数器,得出判断部分代价是否累加 完整的信号full;

步骤3.3、判断输入步骤2.3得到的部分代价的有效信号,将其对应有效 的部分代价按不同位置累加进入已分配好的存储空间。具体如下:

如图6所示是代价寄存器的数据累加记录,第一列是代价寄存器的标号, 而标号其后的一行是接收的部分代价数据,图中的大写字母A~P是当前宏 块的16行,而表中的数字表示从片上存储器中读取的参考像素的行号,以1 号寄存器为例,第一个周期存入A1(当前宏块的第一行和参考数据第一行 的部分代价),第二个周期将B2累加进入1号寄存器,之后是C3,D4,此 时,1号寄存器中累加的A1B2C3D4就是Px1y1的第一排4*4块的完整代价, 因此,模块中的full(full即蓄水池满信号)信号置位,第五个周期的E5存 入并覆盖1号寄存器,接着E5F6G7H8累加完成后将full置位,可知此时送 出的是Px1y1的第二排4*4块的完整代价,按照这个原理,1号寄存器每4个 cycle送出一个完整4*4代价,16个cycle即可完成一个点的遍历,并能开始 接收存储第17个位置的数据。下面的15个寄存器原理和上述一致。

步骤3.4、判断full是否有效,将完整代价送出,同时送出的还有由该 寄存器标号得出的位置信息。

步骤3.5、返回步骤3.2,直至得到16个16*16块的4*4子块的完整代 价,利用不同块之间代价相关性,拼接得出7中分割模式的全部代价;

同时,比较当前送出的完整代价与前一位置的完整代价,选择失真小的 位置的代价信息存储,并将当前代价也存储做其他匹配模式使用,即16×16, 16×8,8×16,8×8,8×4,4×8的匹配模式。

步骤4、逐行读完全部参考数据,将各个PE得到的最终代价进行比较, 取7种分割模式的41个小块的最小代价确定最佳运动信息MV,从而实现 了运动估计。

本发明方法选取以下参数时:搜索范围(-32,+32),配置65个PE, 宏块大小选择16*16,最小分割4*4,块分割7种模式41个小块(16×16, 16×8,8×16,8×8,8×4,4×8,4×4),需要80个周期完成当前宏块的 匹配;配置5个PE时,需要1040个周期完成当前宏块的匹配,二者在SMIC 0.13μm CMOS工艺库的支持下,分别能达到的处理速度是1920× 108036fps和1920×1080462fps,满足了高清视频实时编码的需求。

以现在高清视频编码的速率30帧每秒作为最低实现标准,配置5个PE 单元进行处理,在SMIC(中芯)0.13μm CMOS工艺库支持下,电路性能 参数如下表所示:

  搜索范围 65×65   块尺寸类型 4×4,4×8,8×4,8×8,16×8,8×16,16×16   工艺 SMIC 0.13μm CMOS   门数 150K   片内SRAM 80×80×8bits   频率 300MHz   Cycles/MB 1040cycle   处理速度 1920*108036fps

如下表所示,为利用本发明方法和现有技术的技术对比结果数据:

可以看出,本发明方法的编码速度完全能满足高清视频实时编码的要 求。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号