一种基于avs编码器的运动矢量预测装置的制作方法

文档序号:7755023阅读:157来源:国知局
专利名称:一种基于avs编码器的运动矢量预测装置的制作方法
技术领域
本发明涉及数字视频编解码技术领域,更具体地,本发明涉及一种基于AVS编码器的运动矢量预测装置。
背景技术
根据市场需求,不同标准的视频编解码芯片和技术得到了广泛应用。目前,市场上的视频编解码芯片都基于MPEG-2标准,然而第二代信源标准将成为未来的首选。AVS是我国具备自主知识产权的第二代信源编码标准,“信源”是信息的“源头”,信源编码技术解决的重点问题是数字音视频海量数据(即初始数据或者信源)的编码压缩问题,也称为数字音视频编解码技术,其作是数字信息传输、存储、播放的基础,从而使得AVS成为数字音视频产业的基础标准。基于宏块的运动补偿技术可以有效降低时间冗余,为获取更高的编码效率,AVS标准针对运动补偿引入的新特性包括变块尺寸、运动矢量预测、多参考帧、直接和对称预测模式、无限制运动矢量、1/4像素插值等。这些新特性在一定程度上增加了计算量和存储带宽,增加了商用解码器的成本。运动补偿主要由运动矢量获取、亚像素插值、组合预测和图像重建四个过程组成。 现有AVS标准充分利用了图像的运动连续性,将双向预测分为对称模式和直接模式进行处理。在对称模式中,前向运动矢量由当前图像中空间相邻块的运动矢量获得,而后向运动矢量由前向运动矢量通过一定的对称规则获得;在直接模式中,前向和后向运动矢量都是由后向参考图像中相应位置的时间相邻块的运动矢量获得。为了提高AVS编码器的性能,需要在四个位置用到运动矢量预测。第一个是用于运动估计的运动矢量预测,为运动估计设定起始点、提高运动估计的性能并且减少运动估计的运算量;第二个是用于运动补偿的运动矢量预测,为AVS运动补偿中的跳过模式和直接模式提供有效的运动矢量;第三个是用于率失真优化的运动矢量预测,为率失真优化提供运动矢量差并且提高其决策性能;第四个是用于2D-VLC的运动矢量预测,为2D-VLC提供真正的运动矢量,从而提高编码效率。总的来说,一个优秀的运动矢量预测方式和结构不但可以节省资源开销,还可以提高AVS编码器的整体性能。但现有技术中的AVS编码器中,由于运动估计、运动补偿、率失真优化和2D-VLC所处的位置不同,无法用同一种运动矢量预测方式满足不同级别的运动矢量预测,从而增加了编码器硬件开销,降低编码器的性能。

发明内容
为克服现有使用多种运动矢量预测来预测不同级别的运动矢量所带来的硬件开销大和器件性能低的缺陷,本发明提出一种基于AVS编码器的运动矢量预测装置。根据本发明的一个方面,提出了一种基于AVS编码器的运动矢量预测装置,包括系统控制模块,用于在帧开始时更新图像信息,为系统提供宏块级的控制来控制各模块之间的时序关系,从率失真优化模块读取运动矢量命令;宏块控制器,用于控制宏块子块的预测流程制,读取当前块的运动矢量以解析宏块信息,并且从系统控制模块获取图像信息;预测模式控制模块,用于根据当前块的位置和预测模式,分别为运动估计、运动补偿/率失真优化、2D-VLC生成预测级别;预测模式控制模块,从宏块控制器中读取当前子块位置和预测模式,为运动估计、 运动补偿/率失真优化、2D-VLC生成对应的预测级别,并为运动矢量获取模块生成计算模式;运动矢量获取模块,用于根据预测形状、宏块控制器的参考索引以及宏块信息,并读取与当前块相邻的三个空间运动矢量;运动矢量缩放模块,根据宏块信息中所采用缩放模式的配置信息,对运动矢量进行空间和时间的缩放;运动矢量预测模块,根据相应的预测级别计算缩放后的所述三个空间运动矢量的距离,通过中值法选择对应的运动矢量并进行越界处理,生成所预测的运动矢量。该运动矢量预测装置,还包括运动矢量存储空间模块,用于根据来自所述系统控制模块的运动矢量命令中的类型标识位,对应存储运动矢量信息。该运动矢量预测装置,还包括运动矢量存储模块,用于存储经过越界处理的运动矢量,分别为运动估计、运动补偿、率失真优化、2D-VLC模块输出预测后的运动矢量信息。本发明设计了不同级别的运动矢量预测方式,用一套预测结构同时满足多方面和多级别的预测需要。通过本发明,可以高效完成运动矢量预测工作,既降低了编码器的硬件开销,又提高了编码器的性能。


图1为根据本发明的运动矢量预测装置的模块结构框图;图2是运动矢量存储空间的地址空间映射示意图;图3是亮度块与相邻块的空间位置关系示意图;图4是运动估计预测模式示意图;图5是运动补偿/率失真优化预测模式示意图;图6是2D-VLC预测模式示意图;图7是运动矢量预测流程图。
具体实施例方式下面结合附图和具体实施例对本发明提供的一种基于AVS编码器的运动矢量预测装置进行详细描述。如图1所示,本发明提供的运动矢量预测装置,包括系统控制模块、预测模式控制模块、宏块控制器、运动矢量存储空间模块、运动矢量获取模块、运动矢量缩放模块、运动矢量预测模块和运动矢量存储模块。进一步参考图1,系统控制模块是运动矢量预测(pMV)部分的块控制器,用于在每一帧开始的时候,更新图像信息;为系统提供宏块级的控制,控制系统各个模块之间的时序关系,使系统在每个宏块周期进行有效正确的运转;从上一级读取运动矢量信息。详细地,系统控制模块在每帧的开始,更新当前的图像信息,包括图像类型、图像结构、图像索引等。初始化后,首先从上一级的率失真优化模块(RDO)接收当前宏块的命令,根据AVS对宏块帧结构的定义,如果当前宏块是P帧,则接收5个命令,其中包括1个宏块命令和4个运动矢量命令;否则接收9个命令,其中包括1个宏块命令和8个运动矢量命令。然后将运动矢量命令中的运动矢量写入运动矢量存储空间中。运动矢量存储空间模块用于存储运动矢量,根据运动矢量命令中的类型标识位判别其类型,在划分的地址空间中对应存储在预测过程中所需要的四类运动矢量信息当前块上一行的运动矢量;当前块所有子块的运动矢量;当前块左边块的运动矢量;当前块所有子块的运动矢量差。运动矢量存储空间模块用于存储预测过程中需要的上述四类信息,该空间模块可以由一个单口 ram生成,其位宽为32位,深度为32,如图2所示为该运动矢量存储空间的地址映射关系,其中的地址空间采用前后向对称设计,划分为用于存储四类运动矢量信息的地址空间,分别为(1)当前块上一行运动矢量信息,前向地址为6-10及后向地址为17-21 ;(2)当前块子块运动矢量信息(mvFwEO-3和mvBwEO-3),前向地址为0-3及后向地址为11-14 ;(3)当前块左边块运动矢量信息(mvFwA0,mvFwA 3和mvBwAO,mvBwA 3),前向地址为4-5及后向地址为16-17 ;(4)当前块的宏块级和子块级信息(mdRO-7、mdRm、mdRs),地址为22-31。宏块控制器用于对宏块子块的预测流程的控制,每个宏块有6个子块,设定子块索引依次为0-5。从运动矢量存储空间中读取当前块的运动矢量,并对宏块信息进行解析, 解析出来的信息包括宏块类型、宏块号、运动矢量、参考方向、参考索引、预测模式。宏块控制器还用于从系统控制模块获取系统信息,例如图像类型、图像结构、图像索引等。预测模式控制模块用于控制不同级别的pMV模式,根据当前块的位置以及预测模式,分别为运动估计、运动补偿/率失真优化、2D-VLC三种级别生成不同的预测级别,为其他模块提供控制信息。预测模式控制模块对运动估计、运动补偿、率失真优化和2D-VLC进行不同级别的运动矢量划分。运动估计为编码器流水线的第一级,用于通过上一行的运动矢量直接预测下一行的运动矢量,认为当前块的左边块不存在。运动补偿编码器为流水线的第二级,为跳过模式和直接模式进行运动矢量预测,对这两种模式按照AVS标准的规定,进行16 X 16形状的预测。率失真优化编码器为流水线的第三级,采用与运动补偿同样的运动矢量预测方式。2D-VLC为第四级,根据AVS标准的规定对所有的形状进行运动矢量预测。预测模式控制模块从宏块控制器中读取当前子块位置和预测模式,根据运动矢量的不同预测模式,分别为运动估计、运动补偿/率失真优化、2D-VLC三种预测方式生成对应的预测级别,并同时为运动矢量获取模块提供计算模式。计算模式表示图3所示的亮度块与相邻块的空间位置关系,其中E是当前块,MODO :A不存在,B不存在,C不存在;MODI :A不存在,B存在,C存在;M0D2 =A存在,B存在,C存在;M0D3 =A存在,B存在,C不存在;M0D4 =A 存在,B不存在,C不存在;下面将计算模式简称为MOD。
图4示出运动估计方式预测模式图,表示一帧中相应宏块位置的计算模式,例如 第0行宏块的计算模式都为M0D0,第1行第0列宏块的计算模式为MODl等。图5示出运动补偿/率失真优化的预测模式图,只进行16X 16形状预测,但按照AVS标准规定的方式来预测。图6示出2D-VLC的预测模式图,预测形状有4种16X16、16X8、8X16、8X8,按照 AVS标准规定的方式来进行。运动矢量获取模块,用于从存储空间读取运动矢量,获取计算模式以及宏块和预测模式的对应关系,根据预测形状、宏块控制器的参考索引以及宏块信息产生运动矢量存储空间模块中的地址,从相应的运动矢量存储空间模块的地址空间分别读取与当前块E相邻的三个空间运动矢量mvA、mvB、mvC。运动矢量获取模块从运动矢量存储空间获取预测当前子块所需的空间相邻块的运动矢量信息,如图3所示的亮度块与相邻块的空间位置关系可以看出,预测当前块E所需的空间信息主要为左边块A的运动矢量mvA,上边块B的运动矢量mvB,右上边块C的运动矢量mvC。这些信息都存储在运动矢量存储空间模块中,运动矢量获取模块根据预测模式、宏块控制器的参考索引以及宏块信息分别产生运动矢量存储空间的地址mVA_addr、mVB_addr 和mvC_addr,依次从运动矢量存储空间中读取出前后向A、B、C位置上的运动矢量,即图2 所不的 mvBwl, mvBw2, mvBw3, mvFwl, mvFw2, mvFw3。运动矢量缩放模块对运动矢量进行空间和时间的缩放,宏块信息中会给出采用何种缩放模式进行处理,其中PMV模式、对称模式、直接模式三种不同形式用于运动矢量的空间和时间缩放,通过宏块的不同配置信息,共用此缩放结构。运动矢量缩放模块用于完成对pMV模式、对称模式、直接模式三种不同形式的运动矢量的时间缩放,由于三种模式,对运动矢量的缩放方式不尽相同,如果分别对三种模式进行处理,势必会浪费大量的硬件资源,三种模式不会同时出现,通过对运动矢量(A或B或 C)和模式的选择确定某个模式下的某个运动矢量进行共享结构的运动矢量缩放。运动矢量预测模块根据相应的预测级别,计算缩放后的运动矢量mvAs、mvBs、 mvCs之间的距离,通过中值法,选择对应的运动矢量,对运动矢量进行越界处理。如图7所示,运动矢量预测模块用于根据相应的预测模式,计算缩放后的运动矢量mvAs、mvBs、mvCs之间的距离,通过中值法,选出一个中间值,选择对应的运动矢量,得到预测运动矢量,经过重建,得到真正的运动矢量,并对运动矢量进行越界处理。运动矢量距离的计算规则如下VAB = Dist (mvA, mvB) = Abs (mvA_x-mvB_x) +Abs (mvA_y-mvB_y);VBC = Dist (mvB, mvC) = Abs (mvB_x-mvC_x) +Abs (mvB_y-mvC_y);VCA = Dist (mvC, mvA) = Abs (mvC_x-mvA_x) +Abs (mvC_y-mvA_y);由上面Dist给出的三个距离VAB,VBC, VCA,求出一个中间值FMV,根据这个中间值,从三个mvA、mvB、mvC中确定相应的mv 如果FMV = VAB,则选中的mv是MVC ;如果FMV = VBC,则选中的mv是MVA ;如果FMV = VCA,则选中的mv是MVB ;根据AVS标准中规定的不同档次和预测级别的限制对该运动矢量做越界处理。对不同模式的处理规则为
(1)跳过模式如果当前是P巾贞,为前向运动矢量,否则为双向运动矢量;(2)直接模式为双向运动矢量;(3)pMV模式可能为前向运动矢量或后向运动矢量;(4)对称模式为双向运动矢量;(5)帧内模式为零运动矢量。运动矢量存储模块存储经过越界处理的运动矢量,分别为运动估计、运动补偿、 率失真优化、2D-VLC模块输出预测后的运动矢量信息。运动矢量存储模块用于存储预测完成的运动矢量信息,存储当前块的相应的运动矢量到外部存储器,以供下一行宏块预测使用,存储当前块的所有子块的运动矢量到运动估计、运动补偿、率失真优化2D-VLC模块。最后应说明的是,以上实施例仅用以描述本发明的技术方案而不是对本技术方法进行限制,本发明在应用上可以延伸为其他的修改、变化、应用和实施例,并且因此认为所有这样的修改、变化、应用、实施例都在本发明的精神和教导范围内。
权利要求
1.一种基于AVS编码器的运动矢量预测装置,包括系统控制模块,用于在帧开始时更新图像信息,为系统提供宏块级的控制来控制各模块之间的时序关系,从率失真优化模块读取运动矢量命令;宏块控制器,用于控制宏块子块的预测流程制,读取当前块的运动矢量以解析宏块信息,并且从系统控制模块获取图像信息;预测模式控制模块,用于根据当前块的位置和预测模式,分别为运动估计、运动补偿/ 率失真优化、2D-VLC生成预测级别;预测模式控制模块,从宏块控制器中读取当前子块位置和预测模式,为运动估计、运动补偿/率失真优化、2D-VLC生成对应的预测级别,并为运动矢量获取模块生成计算模式;运动矢量获取模块,用于根据预测形状、宏块控制器的参考索引以及宏块信息,并读取与当前块相邻的三个空间运动矢量;运动矢量缩放模块,根据宏块信息中所采用缩放模式的配置信息,对运动矢量进行空间和时间的缩放;运动矢量预测模块,根据相应的预测级别计算缩放后的所述三个空间运动矢量的距离,通过中值法选择对应的运动矢量并进行越界处理,生成所预测的运动矢量。
2.权利要求1的运动矢量预测装置,还包括运动矢量存储空间模块,用于根据来自所述系统控制模块的运动矢量命令中的类型标识位,对应存储运动矢量信息。
3.权利要求1的运动矢量预测装置,其中,所述宏块控制器从运动矢量存储空间中读取当前块的运动矢量以解析宏块信息,所述运动矢量获取模块根据预测形状、宏块控制器的参考索引以及宏块信息从运动矢量存储空间模块读取与当前块相邻的三个空间运动矢量。
4.权利要求1的运动矢量预测装置,还包括运动矢量存储模块,用于存储经过越界处理的运动矢量,分别为运动估计、运动补偿、率失真优化、2D-VLC模块输出预测后的运动矢 M.fn 息。
5.权利要求2的运动矢量预测装置,其中,所述系统控制模块更新包括图像类型、图像结构、图像索引的图像信息,并且将从率失真优化模块接收的运动矢量命令中的运动矢量写入所述运动矢量存储空间中。
6.权利要求2的运动矢量预测装置,其中,所述运动矢量存储空间模块位宽32位,深度 32,并且存储的运动矢量信息包括当前块上一行的运动矢量、当前块所有子块的运动矢量、 当前块左边块的运动矢量以及当前块所有子块的运动矢量差。
7.权利要求1的运动矢量预测装置,其中,所述宏块控制器解析的宏块信息包括宏块类型、宏块号、运动矢量、参考方向、参考索引和预测模式。
8.权利要求1的运动矢量预测装置,其中,所述预测模式控制模块将运动估计划分为编码器流水线的第一级,用于通过上一行的运动矢量直接预测下一行的运动矢量,认为当前块的左边块不存在;划分运动补偿编码器为第二级,为跳过模式和直接模式进行运动矢量预测,进行16X16形状的预测;划分率失真优化编码器为第三级,采用与所述运动补偿编码器同样的运动矢量预测方式;划分2D-VLC为第四级,对所有形状进行运动矢量预测。
9.权利要求1的运动矢量预测装置,其中,所述运动矢量获取模块根据计算模式以及宏块和预测模式的对应关系,通过预测形状、宏块控制器的参考索引以及宏块信息来产生运动矢量存储空间模块中的地址。
10.权利要求1的运动矢量预测装置,其中,所述运动矢量缩放模块用于对pMV模式、对称模式、直接模式的运动矢量进行共享结构的时间缩放。
11.权利要求1的运动矢量预测装置,其中,所述运动矢量预测模块计算缩放后的三个运动矢量mvAs、mvBs、mvCs之间的距离VAB,VBC, VCA和中间值FMV,确定相应的运动矢量 mv,其中,如果 FMV = VAB,则 mv 是 MVC,如果 FMV = VBC,则 mv 是 MVA,如果 FMV = VCA,则 mv 是 MVB。
12.权利要求2的运动矢量预测装置,其中,所述运动矢量存储空间模块划分为用于存储当前块上一行运动矢量信息的包括前向地址6-10及后向地址17-21的空间,用于存储当前块子块运动矢量信息的包括前向地址0-3及后向地址11-14的空间,用于存储当前块左边块运动矢量信息的包括前向地址4-5及后向地址16-17的空间,用于存储当前块的宏块级和子块级信息的包括地址22-31的空间。
全文摘要
本发明提供一种基于AVS编码器的运动矢量预测装置,包括用于控制宏块子块的预测流程制的宏块控制器,用于根据当前块的位置和预测模式,分别为运动估计、运动补偿/率失真优化、2D-VLC生成预测级别的预测模式控制模块,根据相应的预测级别计算缩放后的所述三个空间运动矢量的距离并且通过中值法选择对应的运动矢量的运动矢量预测模块。通过本发明,可以高效完成运动矢量预测工作,既降低了编码器的硬件开销,又提高了编码器的性能。
文档编号H04N7/26GK102340660SQ20101023515
公开日2012年2月1日 申请日期2010年7月23日 优先权日2010年7月23日
发明者呼大明, 宋益波, 王佳薇, 邓磊, 郑海鸥 申请人:联合信源数字音视频技术(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1