一种视频图像中运动矢量预测生成的方法及其装置的制作方法

文档序号:7596380阅读:204来源:国知局
专利名称:一种视频图像中运动矢量预测生成的方法及其装置的制作方法
技术领域
本发明涉及一种数字视频编/解码技术领域中,对视频解码中运动矢量预测生成的方法及其装置,尤其是当视频解码时对于帧间编码的运动矢量,采用规整简洁硬件结构实现其预测生成的方法及其装置。
背景技术
数字电视、新一代移动通信、宽带网络通信、家庭消费电子这些高技术产业群的共性技术是集中在以视音频为主要内容的多媒体信息处理技术,特别是数据压缩技术上,高效的视频编解码技术是实现高质量、低成本多媒体数据存储与传输的关键。
在整个视频编码中,大部分的编码效率来自于帧间预测使用预测模块来解决视频序列时间上的冗余。运动矢量(Motion Vector,简称MV)在帧间编码中记录块的运动趋势,每个块通过MV所指来获得已经解码重构块,这样只需要编码这两个块的残差即可。因为视频序列时域冗余的特点,该残差值比该编码块的原始值要小得多,从而能够有效地减少码率。
在现有的视频标准中(如MPEG系列和H.26x系列),都存在P图像和B图像这两种帧间编码类型。P图像是单向预测编码,B图像是双向预测编码。每个帧间编码宏块都对应若干对MV。MPEG2和H.263标准中每个帧间编码宏块都是对应一对MV,在H.263+和MPEG4中因为有8×8子块,所以每个宏块可以是一对MV(16×16)或者是四对MV(8×8)。
随着计算机软硬件技术的不断进步,视频编码也获得了新的发展。国际标准化组织(ISO)下设的运动图像专家组(Moving Picture Expert Group,简称MPEG)和国际电信联盟(ITU)于2002年共同推出了新的H.264标准。我国的数字音视频编解码技术标准工作组(Audio Video coding StandardWorkgroup of China,简称AVS)也于2003年底推出了自主知识产权的AVSVideo 1.0标准。这两个标准的共同特点是编码复杂度大幅增大,编码时块大小划分更精细,宏块类型增加,带来的影响是MV的预测以及生成变得更为复杂,增大了软硬件的实现难度。
MV的预测生成包括预测和生成两次处理。通过预测操作,从而得到预测的MV数值(用mvp来表示)。如果有运动矢量残差(用mvd来表示),则最终的MV为mvp和mvd之和;如无mvd,则最终MV就是mvp的数值。根据视频序列时域频域相关性的特点,现有标准中的宏块类型所涉及的MV预测大致分为空域预测、时域预测以及存取拷贝3种方式。空域预测是利用当前块的左侧和上面相邻块已知的MV,根据它们空间上运动相关性的特点,而获得当前块的预测MV数值。时域预测主要用在B图像中,它从其前向或后向参考图像对应的块位置获得参考MV,根据时域上运动延续性的特点,导出当前块的预测MV数值。存取拷贝方式是指当序列的运动很小时,当前宏块与前面参考图像对应位置宏块基本相同,此时不需要再进行预测处理,也没有矢量残差,其MV可用(0,0)运动矢量来表示。
运动矢量预测处理是针对某一种宏块的子块进行的,同一宏块如果有多个子块,各个子块的预测模式可以不同。这样的组合使得MV的预测生成处理变得异常复杂。以AVS 1.0为例,宏块类型多达三十种,其中的B_8×8类型,每个宏块又分成四个子块,每个子块可以有4种子类型,组合起来有256种情况。H.264宏块可以分到4×4大小,它最多情况一个宏块有16个运动矢量。宏块划分方式见图1。从宏块类型以及宏块划分的方式可以看到,要生成宏块的所有MV需要考虑多种组合,处理流程将非常复杂。图2、图3分别给出了P图像和B图像MV生成的流程图。
图2和图3的处理都是原始算法的直接解析而得到的,每种宏块类型都对应着单独的处理路线。按照算法的解析来搭建硬件实现模块,将出现繁复的状态机,如图4所示。图4是运动矢量生成的一种状态机示意图,由26个状态组成,左右两侧状态分别对应P图像和B图像的处理过程。可以看到,这个结构是非常不规整的,控制复杂。硬连线可以实现其功能,但因为状态多,相邻状态相互关系复杂,容易出现难发现的错误。并且每个状态非常确定,这种结构是不可能进行扩展处理的,一个状态改动,将牵扯相邻多个状态变化。
现有技术根据码流依次处理各种宏块类型。虽然计算复杂度不高,但不同宏块类型所对应的处理方式各不相同,造成处理分支繁多,控制逻辑复杂,结构不规整,各个单一处理分支交互配合混乱。因为宏块可以拆分成有多种子块组合,不同子块的处理也会不一致,依次处理则会频繁判断处理方式。在新标准的更高需求下,现有技术已经不能较好地完成MV预测生成任务,迫切需要新的更有效的技术来解决。

发明内容
本发明所要解决的技术问题是,针对现有技术的不足,提出一种视频图像中运动矢量预测生成的方法及其装置,解决由于宏块类型多样及块大小可变所造成的MV生成复杂的问题,使运动矢量预测的生成过程简单,控制逻辑清晰,结构简洁,便于软硬件实现。
本发明所要解决的另一个技术问题是,针对现有技术的不足,提出一种视频图像中运动矢量预测生成装置,用于解决现有技术中运动矢量预测生成模式多,控制复杂,结构不规整,相邻状态相互关系复杂,不利于硬件实现且难于扩展的问题。
本发明的目的是通过如下的技术方案实现的一种视频图像中运动矢量预测生成的方法,包括如下步骤步骤一、初始化,主控制模块根据当前宏块的类型查表获得对应的宏块整体控制字;
步骤二、主控制模块根据宏块子块数目寄存器中的数值,读取该宏块整体控制字中对应的子块控制字,根据当前控制字的内容,如果进行空域预测,执行步骤三;如果进行时域预测,执行步骤四;如果为存取拷贝模式,则执行步骤五;步骤三、由空域预测模块进行空域预测处理,导出当前块的预测MV数值;执行步骤六;步骤四、由时域预测模块进行时域预测处理,导出当前块的预测MV数值;执行步骤六;步骤五、采用存取拷贝模式生成当前块的MV,当前宏块的MV为(0,0)矢量;执行步骤七;步骤六、根据当前控制字的内容判断是否存在矢量残差,如有,进行求和计算,即最终的MV为预测MV与矢量残差之和;如没有,执行下一步;步骤七、判断当前子块是否是宏块的最后一个,如果是,结束当前宏块MV的生成处理,如果不是,宏块子块数目寄存器中的数值加1,执行步骤二。
所述的控制字至少包括直接模式时域预测(Direct),对称模式时域预测(Symmetric),MVD信息(Read_MVD),空域预测(MV_Pred),其中,直接模式时域预测(Direct),用于表示进行直接模式时域预测处理,用1位表示是否进行所述的操作;对称模式时域预测(Symmetric),用于表示进行对称模式时域预测处理,用1位表示是否进行所述的操作;MVD信息(Read_MVD),用于表示是否读取MVD信息,用1位用于表示是否进行所述的操作;空域预测(MV_Pred),用于表示进行空域预测处理,其中,用2位表示是否进行该操作,及进行该操作时是操作一次还是前后向各一次。
本发明所述的方法通过设置宏块整体控制字,使得运动矢量的预测生成过程简单,控制逻辑清晰,结构简洁,便于软硬件实现。
本发明还提供了一种视频图像中运动矢量预测生成的装置,该装置包括主控模块、空域预测模块、时域预测模块、存取拷贝模块;其中,所述的主控模块内部保存所有类型的宏块整体控制字表,所述的主控模块分析当前宏块类型,通过查表获得当前宏块的控制字,根据控制字的内容向空域预测模块或时域预测模块或存取拷贝模块或其组合发送控制命令,并根据以上各模块返回信息处理生成视频图像的运动矢量;所述的空域模块根据主控制模块发送来的控制命令执行相应的空域预测处理,并将得到的预测MV发送到主控制模块;所述的时域模块根据主控制模块发送来的控制命令执行相应的时域预测处理,并将得到的预测MV发送到主控制模块;存取拷贝模块根据主控制模块发送来的控制命令执行存取拷贝处理,并将得到的MV发送到主控制模块。
该装置还可以根据实际情况,增加相应处理模块,或者是对前面各子模块增加功能。在增加相应的处理模块或对前面各子模块增加功能的同时,增加或修改主控模块内部保存的宏块整体控制字表的控制字段,主控模块根据该宏块整体控制字表中控制字的相应字段的意义完成对增加的处理模块或各子模块增加功能的控制功能。
在本发明中,该装置中的各个模块由状态机来整体驱动,根据方法流程驱动各个模块工作,其中,各个模块是由现有技术模块构成的。
本发明提供的装置结构规整,控制简单,相邻状态的相互关系简单,并且,通过增加或修改控制表中控制字的控制字段,可以增加对应的处理模块,可以方便的进行功能扩展,而且,各个子模块相对独立,不影响其独立运作。


图1是AVS 1.0宏块划分示意图;图2是AVS 1.0视频解码P图像中MV预测生成流程示意图;图3是AVS 1.0视频解码B图像中MV预测生成流程示意图;图4是AVS 1.0视频解码MV预测生成的常规主状态机示意图;图5是AVS 1.0视频解码0_0_00_0控制字MV预测生成示意图;图6是AVS 1.0视频解码0_0_01_0控制字MV预测生成示意图;图7是AVS 1.0视频解码0_0_10_0控制字MV预测生成示意图;图8是AVS 1.0视频解码0_1_01_0控制字MV预测生成示意图;图9是AVS 1.0视频解码0_1_01_1控制字MV预测生成示意图;图10是AVS 1.0视频解码1_0_00_0控制字MV预测生成示意图;图11是AVS 1.0视频解码MV预测生成整体框架示意图;图12是AVS 1.0视频解码MV预测生成推荐主状态机示意图;图13本发明一实施例的第一子块的MV预测生成流程示意图;图14本发明一实施例的第二子块的MV预测生成流程示意图;图15本发明一实施例的第三子块的MV预测生成流程示意图;图16本发明视频解码MV预测生成装置示意图;图17AVS 1.0视频解码MV预测生成装置示意图。
具体实施例方式
以下结合具体的实施例和附图对本发明做进一步的详细说明(以AVSVideo 1.0编码标准为例)本发明提供了一种用于视频解码的新型运动矢量预测生成的方法及其装置,其目的在于以控制字的方式,通过规整一致的模块来实现运动矢量的预测生成,解决现有主流视频编码中运动矢量预测生成模式多,控制复杂,不利于硬件实现的问题。
在AVS 1.0中宏块类型有下面六大类在下述表格中,reff/refb分别表示前后向参考图像的参考索引编号,编号为-1表示没有参考图像,0表示参考图像与当前图像的距离最近,1其次,3表示图像距离最远;Vecf_x/y和vecb_x/y分别表示前后向MV的x和y数值。
1.Intra Mode(帧内模式,I/P/B)

帧内模式按帧内编码来处理宏块,没有MV,不需要进行预测操作,也没有MVD信息,子块可以是16×16、8×8。
2、Direct Mode(直接模式,B)a)Spatial Direct(空域直接模式)

当后向对应块为帧内编码时,直接模式因为没有参考MV,而变为空域方式处理。因为需要前后向的MV,此时需要进行前向后向两次空域预测操作,但没有MVD信息,子块可以是16×16、8×8。mvpf_x/y和mvpb_x/y分别表示前后向预测MV的x和y数值。
b)Temporal Direct(时域直接模式)

时域直接模式通过计算块间距离,按其比例关系来导出前后向MV,没有MVD信息,但需要进行时域的比例缩放计算,子块可以是16×16、8×8。scalf_x/y和scalb_x/y分别表示前后向缩放MV的x和y数值。
3、Forward Mode(前向模式,P/B)

前向模式处理时前向参考图像索引号从码流中和MVD信息一起获得(ref_frame),进行空域预测处理后获得预测MV(mvp_x/y),加上矢量残差(mvdf_x/y)后得到最终的前向MV。此时没有后向MV。子块可以是16×16、16×8、8×16和8×8。
4、Symmetric Mode(对称模式,B)

对称模式处理时前向参考图像索引号从码流中和MVD信息一起获得(ref_frame),进行空域预测处理后获得预测MV(mvp_x/y),加上矢量残差(mvdf_x/y)后得到最终的前向MV。后向参考图像索引号由ref_frame取反获得,但后向MV需要进行时域预测处理,计算块间距离后按比例关系获得最终缩放的MV(scalb_x/y)。子块可以是16×16、16×8、8×16和8×8。
5、Backward Mode(后向模式,B)

后向模式处理时后向参考图像索引号从码流中和MVD信息一起获得(ref_frame),进行空域预测处理后获得预测MV(mvp_x/y),加上矢量残差(mvdb_x/y)后得到最终的后向MV。此时没有前向MV。子块可以是16×16、16×8、8×16和8×8。
6、Skip Mode(跳过模式,P)a)Zero Motion(零运动)

P图像的零运动跳过模式即存取拷贝模式,不需要进行预测操作,也没有MVD信息,前向MV即为(0,0)。此时没有后向MV。子块大小为16×16。
b)nonZero Motion(有运动)

P图像的跳过模式需要进行空域预测操作,但没有MVD信息,前向MV即为预测MV(mvp_x/y)。此时没有后向MV。子块大小为16×16。
鉴于常规方法对MV生成操作的缺陷,本发明将各种宏块类型对应的MV生成方式的共同点提取出来,根据这些共同操作来构造一个简单的主控制模块,用整体的控制字来控制各个外围特定功能模块来完成所需功能。
所述的控制字的生成过程如下步骤一、分析MV预测生成处理的各种方式与宏块不同子块组合的各种情况,列出它们操作的详细过程;步骤二、分析找出上述组合处理的异同点,将操作处理分解成各个功能单一的模块;步骤三、合并功能类似的模块,将所有的功能模块按照其处理次序构建成一个整体的处理框架;步骤四、将步骤一中的各种操作组合的处理过程移值到步骤三中的统一框架中;不同的操作组合根据其具体处理的需求,并不是每一个功能模块都需要动作;步骤五、整体统计各个功能模块的使用情况,根据使用与否设定该模块的控制位,如果存在多次使用,则需更多控制位来表示;步骤六、设定整体控制字;将所有功能模块按处理次序排列在整体控制字中,并根据步骤五的结果,依次设定各模块在整体控制字中各字段的位宽和意义。
具体的生成过程如下对于AVS 1.0的P图像和B图像MV生成操作分析如表1和表2所示表1.P图像中MV生成操作分析


表1是P图像的MV生成操作分析示意。第一列表示宏块处理模式。第二列表示宏块类型与宏块划分的各种组合,例如P_16×8表示P图像的前向模式,块大小为16×8,类型编号为2。Read_MVD表示读取MVD信息的操作是否需要,MV_Pred表示MV空域预测操作,opt_nums表示处理该宏块需要的总操作次数。圆圈中的数字表示操作的过程。同样以P_16×8为例,因为该宏块分成上下16×8两个子块,每个子块需要分别处理,而前向模式需要读取MVD以及空域预测操作,这样总操作次数为4,操作次序如①②③④所示。
表2-1.B图像中MV生成操作分析(除B_8×8)

表2-2.B图像中MV生成操作分析(B_8×8)

表2是B图像的MV生成操作分析示意,各表项的含义与表1类似,表2-1是B图像中除去B_8×8外其它各类型操作的分析,表2-2是B图像中B_8×8类型操作的分析。第一列表示宏块的划分方式。第二列表示宏块类型及其对应类型编号。Direct表示直接模式时域预测处理,Symmmetric表示对称模式时域预测处理。Read_MVD表示读取MVD信息的操作,MV_Pred表示MV空域预测操作,分为前向和后向不同处理。opt_nums表示处理该宏块需要的总操作次数。圆圈中的数字表示操作的过程。以B_Bck_Sym为例,块划分方式可以是16×8或8×16,不同划分的子块处理次序不相同,但它们的处理方法类似。因为宏块被划分成两个子块,第一个子块先读取MVD信息,并做后向空域预测,而获得该子块的MV,如①②所示;第二个子块先读取MVD信息,并做前向空域预测,再做后向的对称模式时域预测,如③④⑤所示,这样就得到第二个子块的前后向MV。B_8×8类型的处理与B图像其它宏块类型类似,但4个8×8子块每个子块都可以按表2-2所示的五种方式任一种来操作,组合的方式很多,故只列出子块的处理方式。
从上面的表格分析可以看到,在整个AVS1.0标准中,不论宏块类型以及其子块大小的组合,整体来看MV的预测生成操作实际上只有5种处理方式,分别是直接模式时域预测(Direct),对称模式时域预测(Symmetric),读取MVD信息(Read_MVD),空域预测(MV_Pred)以及存取拷贝模式(不需要预测操作,没有MVD信息)。不同宏块类型以及子块大小的组合其实际处理是将上述操作按照特定次序来组合进行。根据这些信息,可以构建下面的5位控制字(4个字段)

其中,Direct/Read_MVD/Symmetric分别用一位表示是否进行该操作,而MV_Pred用两位表示是否进行空域预测操作,若进行是操作一次,还是前后向各一次。对于存取拷贝模式控制字为0_0_00_0,即不进行其它操作。
按照控制字的定义重新分析MV预测生成的过程,可以得到表3及表4-1和表4-2。其中,cnt_stage表示处理的阶段,即每个阶段对应一个子块的处理,同一宏块不同阶段的控制字是不同的。
表3.P图像MV生成中的控制字

表4-1.B图像MV生成中的控制字(除B_8×8)


表4-2.B图像MV生成中的控制字(B_8×8)

同样以B_Bck_Sym为例,其处理的第一阶段控制字为0_1_01_0,即读取MVD并进行一次空域预测处理,预测MV加上MVD后获得第一个子块的后向MV;第二阶段控制字为0_1_01_1,即读取MVD并进行一次空域预测处理,预测MV加上MVD后获得该子块的前向MV,然后进行对称模式的时域预测处理,获得后向MV。
进一步分析表3和表4中的控制字,实际上各个功能模块的操作只有6种组合方式,它们分别是1)0_0_00_0存取拷贝模式,无预测操作,没有MVD信息。
该处理方式在下面的宏块类型与块大小组合中存在。

其处理示意如图5所示。
2)0_0_01_0只进行一次空域预测,无MVD信息。

其处理示意如图6所示。
3)0_0_10_0进行前后向2次空域预测,无MVD信息。

其处理示意如图7所示。
4)0_1_01_0读取MVD信息后,进行1次空域预测,求和获得最终MV。


其处理示意如图8所示。
5)0_1_01_1读取MVD以及进行空域预测和4)的处理方式相同,但后向MV通过对称时域预测生成。

其处理示意如图9所示。
6)1_0_00_0直接模式时域预测,导出前后向的MV。

其处理示意如图10所示。
分类处理后,结合6种操作方式,可以获得整体的处理框架,如图11所示。该整体的处理框架由6个状态组成,其意义如下

从上面的6种处理方式的图示可以看到,它们都是整体框架的某一部分的组合。这样将各种MV预测生成的方式统一到一个整体的处理框架中。
从整体操作示意图可以对应转换到硬件实现时常用的状态机表示。因此对照整体框图,可以将MV的预测生成操作统一到图12所示的9状态的主控状态机,各状态的意思见表5。
表5主控状态机的9个状态


通过简化主控状态机,使3种处理方式的实现在各自模块进行,具有较好的封装特性,整体结构非常清晰,各个模块间接口简洁。单一方式的改动不会影响其他模块的运作。
在本发明中,所有的宏块都按4个8×8子块来处理,所述的四个子块顺序见图1所示的最后一个四个子块的顺序。所以整体控制字由4个部分组成。每个子控制字的组成如表6所示,它由9位组成,可以分为6个字段。各个字段的意思见表7。
表6.控制字组成表

中间的5位(即2~6位)和前面的定义相同,这4个字段的意义也一致。两个补充字段是,Prediction Direction字段表示预测的方向,如前向,后向,还是双向,其中这两位组合来看00表示前向,01表示后向,10表示双向,11表示帧内;LoadorStore字段的高位表示是保存/读取MV数据,其中,为0时表示保存MV数据,为1表示读取MV数据,低位表示MV存放/读取的位置,为0时表示存于0位置,为1表示存于1位置。
表7对控制字的各字段所有取值的意义进行了解释。
表7.控制字各字段意义


通过前面的分析以及控制字的定义,可以进一步分析生成AVS 1.0中所有情况下MV预测生成的控制字表,见表8所示。
表8.AVS 1.0中MV预测生成的控制字表

所有的宏块类型的整体控制字都由4个小控制字组成,每个小控制字负责一个8×8子块的处理。所有的宏块在主状态机都需要进行4次处理,即4个处理阶段,处理阶段的编号见表8表头0、1、2和3所示。因为宏块的不同划分方式会使得如果单纯按照划分子块来处理,每个宏块的处理次数不相同。例如16×8宏块只需产生2个MV,16×16宏块只需1个MV即可表示。统一为4个处理阶段的优点在于使所有的宏块操作都按一致的方式进行,全部按4个子块来输出。因为AVS 1.0的块最小为8×8,故每一种宏块类型都可以转化到对应的8×8子块上来做。
下面以宏块类型46即B_Bck_Sym_16×8的控制字来说明整体的控制过程。
宏块类型为B_Bck_Sym_16×8,其处理是对Blk_0按16×8即上半宏块先读取MVD信息,接着做后向时域预测,相加后获得最终MV信息。因为16×8子块由水平两个8×8块(Blk_0和Blk_1)组成,Blk_1所需的MV和Blk_0是相同的,所以此时将Blk_0的最终MV保存起来以便Blk_1取用即可。做Blk_1时不需要重新计算,只需去取Blk_0保存的MV即可。同理可知Blk_2和Blk_3子块的处理,不同的是Blk_2是对称模式的,它需要进行额外的对称模式时域预测来获得后向MV信息。这样通过每个子块的控制字,可知每一步的处理方式。具体过程参见图12,具体步骤如下步骤10、首先初始化主控制模块,使宏块子块数目寄存器中的数值为0,主控制模块根据当前宏块的类型查表获得对应的宏决整体控制字,所述的整体控制字如表9所示表9.B_Sym_Bck_16×8的控制字 步骤11、根据宏块子块数目寄存器中的数值,读取该宏块整体控制字中对应的子块的控制宇,如果数值为0,对应子块为Blk_0,执行步骤100,如图13,如果数值为1,对应子块为Blk_1,执行步骤200,如图14;如果数值为2,对应子块为Blk_2,执行步骤300,如图15;如果数值为3,对应子块为Blk_3,执行步骤400,除取数据位置不同外,其它操作同图14所示;步骤12、主控制模块判断宏块子块数目寄存器中的数值是否为3,如果如果为3,结束当前宏块MV的生成处理,按照光栅扫描顺序输出生成的MV,如果不是,宏块子块数目寄存器中的数值加1,执行步骤11;步骤100、根据控制字的内容(01_0_1_01_0_01)可知,需要读取MVD数据,做一次后向空域预测,mvd加上mvp生成最终的后向MV,并且将生成的后向MV存于0位置处,所以,主控制模块向空域预测模块发送后向空域预测的控制信息;步骤101、空域预测模块接收主控制模块发送的控制命令,执行后向空域预测处理,并将产生的预测MV即上mvp发送回主控制模块;步骤102、主控制模块读取MVD数据,进行mvd与mvp的求和计算,生成最终的后向MV,并且将生成的后向MV存于缓冲区的0位置处,执行步骤12;步骤200、根据子块Blk_1的控制字(11_0_0_00_0_01)的内容可知,需从0位置取出该子块的前后向MV,该块的预测方向是后向,主控制模块向存取拷贝模块发送控制信息;步骤201、存取拷贝模块从0位置获得当前块的MV,执行步骤12;步骤300、根据子块Blk_2的控制字(00_0_1_01_1_10)的内容可知,读取MVD数据,做一次前向空域预测,mvd加上mvp生成前向MV,然后做时域对称模式时域预测,生成其后向MV;最后将生成的前后向MV存在缓冲区的1位置处,所以,主控制模块向空域预测模块发送前向空域预测的控制信息;步骤301、空域预测模块根据主控制模块发送的控制命令,执行前向空域预测处理,并将产生的预测MV即上mvp发送回主控制模块;步骤302、主控制模块读取MVD数据,进行mvd与mvp的求和计算,生成前向MV,并向时域预测模块发送对称模式时域预测的控制命令;步骤303、时域预测模块接收主控制模块发送的控制命令,执行对称模式时域预测的处理,并将将生成的前后向MV发送回主控制模块;步骤304、主控制模块将前后向MV存入将生成的前后向MV存在缓冲区的1位置处,执行步骤12;步骤400、根据子块Blk_3的控制字(10_0_0_00_0_10)的内容可知,需从1位置取出该子块的前后向MV,该块的预测方向是双向,主控制模块向存取拷贝模块发送控制信息;步骤401、存取拷贝模块从1位置获得当前块的前后向MV;执行步骤12;从这个例子可以看到,通过整体控制字,MV预测生成模块能够按要求生成整个宏块的MV数据,而不再需要其它控制信息。通过4个处理阶段可以输出所有4个所需的MV数据。所有的宏块类型都是统一的4个处理阶段,按照光栅扫描顺序挨个输出。
本发明还包括一种视频图像中运动矢量预测生成的装置,如图16所示,包括主控模块、空域预测模块、时域预测模块、存取拷贝模块;其中,所述的主控模块内部保存所有类型的宏块整体控制字表,所述的主控模块分析当前宏块类型,通过查表获得当前宏块的控制字,根据控制字的内容向空域预测模块或时域预测模块或存取拷贝模块或其组合发送控制命令,并根据以上各模块返回信息处理生成视频图像的运动矢量;所述的空域模块根据主控制模块发送来的控制命令执行相应的空域预测处理,并将得到的预测MV发送到主控制模块;所述的时域模块根据主控制模块发送来的控制命令执行相应的时域预测处理,并将得到的预测MV发送到主控制模块;存取拷贝模块根据主控制模块发送来的控制命令执行存取拷贝处理,并将得到的MV发送到主控制模块。
所述空域模块根据主控制模块发送来的控制命令进行前向或后向一次空域预测,或者是前后向各一次空域预测。
所述的时域模块包括直接模式时域模块或对称模式时域模块或其组合,所述的时域模块根据接收的主控制模块发送来的控制命令控制直接模式时域模块进行直接模式时域预测,或者是控制对称模式时域模块进行对称模式时域预测。
由状态机来整体驱动各个模块。各个功能部件是由现有技术模块构成的。
各模块之间的连接关系如图17所示。图中主控制器负责状态字的分析生成,通过主状态机运作控制其它各个模块。空域预测模块负责空域预测操作,通过wir_mvp来控制,从控制字的“MvPredictor”字段获得。时域预测模块完成时域预测操作,其中wir_direct控制直接模式工作(从“Direct”字段获得),wir_sym控制对称模式工作(从“Symmetric”字段获得)。存取拷贝模块保存两个MV数值,如0/1所示,由wir_ldorst控制(从“LoadorStore”字段获得)。MVD FIFO通过wir_readmvd控制读取MVD和参考帧号信息(从“ReadMVD”字段获得)。其得到的MVD信息送入MV相加模块与空域预测模块输出的MVP相加获得最终的MV数值。如果是对称模式,则这个前向MV传入对称模式处理模块生成后向的MV数据。所有最终MV数据都从存取拷贝模块输出到外部其它模块。
由上可知,本发明的方法及装置设计简洁,控制流程清晰,通过控制字极大地简化了软硬件处理时的复杂度,并有较好的可扩展特性。通过对本发明技术方案分析可知,该方法对于视频解码处理中复杂的MV预测生成处理都能有效工作,其结构简洁,易于软硬件实现,特别是便于硬件实现。
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。
权利要求
1.一种视频图像中运动矢量预测生成的方法,其特征在于,包括如下步骤步骤一、初始化,主控制模块根据当前宏块的类型查表获得对应的宏块整体控制字;步骤二、主控制模块根据宏块子块数目寄存器中的数值,读取该宏块整体控制字中对应的子块控制字,根据当前控制字的内容,如果进行空域预测,执行步骤三;如果进行时域预测,执行步骤四;如果为存取拷贝模式,则执行步骤五;步骤三、由空域预测模块进行空域预测处理,导出当前块的预测MV数值;执行步骤六;步骤四、由时域预测模块进行时域预测处理,导出当前块的预测MV数值;执行步骤六;步骤五、采用存取拷贝模式生成当前块的MV;执行步骤七;步骤六、根据当前控制字的内容判断是否存在矢量残差,如有,进行求和计算,即最终的MV为预测MV与矢量残差之和;如没有,执行下一步;步骤七、判断当前子块是否是宏块的最后一个,如果是,结束当前宏块MV的生成处理,如果不是,宏块子块数目寄存器中的数值加1,执行步骤二。
2.根据权利要求1所述的视频图像中运动矢量预测生成的方法,其特征在于,所述的宏块包括四个子块,其子块的排列顺序为光栅扫描输出的顺序,宏块整体控制字包括四个控制字,每一个控制字对应一个子块。
3.根据权利要求2所述的视频图像中运动矢量预测生成的方法,其特征在于,所述的宏块整体控制字中子块控制字至少包括直接模式时域预测(Direct),对称模式时域预测(Symmetric),MVD信息(Read_MVD),空域预测(MV_Pred),其中,直接模式时域预测(Direct),用于表示进行直接模式时域预测处理,用1位表示是否进行所述的操作;对称模式时域预测(Symmetric),用于表示进行对称模式时域预测处理,用1位表示是否进行所述的操作;MVD信息(Read_MVD),用于表示是否读取MVD信息,用1位用于表示是否进行所述的操作;空域预测(MV_Pred),用于表示进行空域预测处理,其中,用2位表示是否进行该操作,及进行所述的操作是一次还是前后向各一次。
4.根据权利要求3所述的视频图像中运动矢量预测生成的方法,其特征在于,所述步骤二包括如下的步骤步骤21、读取控制字的空域预测信息,如果空域预测信息不为空,执行步骤三;步骤22、读取控制字的时域预测信息,如果时域预测信息不为空,则执行步骤四;步骤23、读取控制字的空域预测信息,时域预测信息,MVD信息,如果上述信息均为空,即为存取拷贝模式,执行步骤五。
5.根据权利要求4所述的视频图像中运动矢量预测生成的方法,其特征在于,所述的控制字还包括预测方向(Prediction Direction)信息,用于表示所述的空域预测或时域预测是前向、后向、或者双向。
6.根据权利要求5所述的视频图像中运动矢量预测生成的方法,其特征在于,所述步骤三的操作过程为空域预测处理模块根据控制字中空域预测信息及预测方向信息的内容,执行前向或后向一次空域预测,或者是执行前后向各一次空域预测。
7.根据权利要求4所述的视频图像中运动矢量预测生成的方法,其特征在于,所述步骤四的操作过程为时域预测模块根据控制字中时域预测信息,如果是直接模式,则执行直接模式的时域预测;如果是对称模式,则执行对称模式的时域预测。
8.根据权利要求4所述的视频图像中运动矢量预测生成的方法,其特征在于,所述的控制字还包括保存/读取MV数据以及MV存放/读取的位置(LoadorStore)信息,用于表示该子块的MV是从缓冲区中相应位置中读取还是将生成的子块MV写入缓冲区的相应位置。
9.根据权利要求8所述的视频图像中运动矢量预测生成的方法,其特征在于,在所述步骤二中还包括若保存/读取MV数据以及MV存放/读取的位置(LoadorStore)信息为读取MV数据,则主控模块根据该信息中MV的读取地址,读取MV数据,执行步骤七;若为保存MV数据,则在执行完步骤六后,将生成的MV数据保存到该信息中MV存放的位置。
10.一种视频图像中运动矢量预测生成的装置,其特征在于,包括主控模块、空域预测模块、时域预测模块、存取拷贝模块;其中,所述的主控模块内部保存所有类型的宏块整体控制字表,所述的主控模块分析当前宏块类型,通过查表获得当前宏块的控制字,根据控制字的内容向空域预测模块或时域预测模块或存取拷贝模块或其组合发送控制命令,并根据以上各模块返回信息处理生成视频图像的运动矢量;所述的空域模块根据主控制模块发送来的控制命令执行相应的空域预测处理,并将得到的预测MV发送到主控制模块;所述的时域模块根据主控制模块发送来的控制命令执行相应的时域预测处理,并将得到的预测MV发送到主控制模块;所述的存取拷贝模块根据主控制模块发送来的控制命令执行存取拷贝处理,并将得到的MV发送到主控制模块。
11.根据权利要求10所述的视频图像中运动矢量预测生成的装置,其特征在于,所述空域模块根据主控制模块发送来的控制命令进行前向或后向一次空域预测,或者是前后向各一次空域预测。
12.根据权利要求10所述的视频图像中运动矢量预测生成的装置,其特征在于,所述的时域模块包括直接模式时域模块或对称模式时域模块或其组合,所述的时域模块根据接收的主控制模块发送来的控制命令控制直接模式时域模块进行直接模式时域预测,或者是控制对称模式时域模块进行对称模式时域预测。
全文摘要
本发明公开了一种视频图像中运动矢量预测生成的方法及装置,主控模块根据当前宏块的类型查表获得对应的宏块整体控制字;读取该宏块整体控制字中对应的子块控制字,根据当前控制字的内容,进行空域预测处理,导出当前块的预测MV数值;或者进行时域预测处理,导出当前块的预测MV数值;或者采用存取拷贝模式生成当前块的MV,如果存在矢量残差,进行求和计算,如果当前子块是宏块的最后一个,结束当前宏块MV的生成处理,如果不是,重新读取下一个子块控制字。本发明解决了由于宏块类型多样及块大小可变所造成的MV生成复杂的问题,使运动矢量的预测生成过程简单,控制逻辑清晰,结构简洁、规整,便于软硬件实现且容易扩展。
文档编号H04N7/32GK1589024SQ20041007020
公开日2005年3月2日 申请日期2004年7月30日 优先权日2004年7月30日
发明者解晓东, 吴迪, 贾惠柱, 生滨, 郑俊浩, 张鹏, 邓磊, 张力, 张帧睿, 王忠立, 高文 申请人:联合信源数字音视频技术(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1