一种对视频数据流编码的方法和装置的制作方法

文档序号:7950332阅读:271来源:国知局
专利名称:一种对视频数据流编码的方法和装置的制作方法
技术领域
本发明涉及数据编码,更具体地说,本发明涉及一种对视频数据流编码的方法和装置。
背景技术
数字视频技术广泛应用于通信、计算机、广播电视等领域。比如,会议电视、可视电话及数字电视、媒体存储等中普遍采用视频编码技术。在视频处理技术领域,存在多种视频编码标准,国际电信联盟-电信标准化组(International TelecommunicationsUnion-Telecommunication,ITU-T)与国际标准化组织/国际电工委员会(International Standards Organization/International ElectrotechnicalCommission,ISO/IEC)是制定视频编码标准的两大组织。ITU-T的标准包括H.261、H.263、H.264等,主要应用于实时视频通信领域,如会议电视;ISO/IEC制定了活动图像专家组(Moving Picture ExpertsGroup,MPEG)系列标准,其主要应用于视频存储、广播电视、因特网或无线网上的流媒体等。
众所周知,视频信号在时间上和空间上都含有许多冗余信息。空间冗余信息反映一帧图像中相邻像素点之间有较强的相关性,而时间冗余信息反映对于在其各前后相邻(例如运动序列)的图像中,其图像呈现较强的相关性。冗余信息的存在导致视频数据量特别巨大。因此为了减少视频的数据量,就要通过各种处理方法减少视频数据中的冗余信息。
一般地,在空间方向上,可以采用离散余弦变换(Discrete CosineTransform,DCT)来去掉视频信号的冗余信息;在时间方向上,可以采用运动预测和运动补偿(motion compensation)算法来去掉视频信号的冗余信息。运动预测产生的运动矢量(motion vector)用来表示宏块(Macrblock)的运动信息,而运动补偿产生的预测差值则用来表示视频信号的当前帧和参考帧之间的差别。
在对一个当前帧进行编码时,一般以宏块作为基本的编码单元。一个宏块定义为I×J像素的块,其中的I×J可以取16×16,8×8或4×4等。一般地,在各种编码标准中,在对数据进行编码时需要找到与当前宏块最佳匹配的一个宏块作为参考宏块。所谓最佳匹配是指这两个宏块之间的差值最小。通常以绝对值(absolute difference)最小作为匹配判据,或者也可以以均方误差(mean-square error)最小作为匹配判据。
使用预测误差值和运动矢量,结合参考宏块就可以表示一个当前宏块。如果当前宏块相对于参考宏块的运动矢量为零,并且DCT变换后的预测误差值在量化后也为零,那么可以不对当前宏块进行编码(通常也被称为跳过,Skip),而只需标记该宏块的地址信息,通过参考宏块就可以在解码过程中恢复该宏块的数据。
要确定一个宏块是否应编码,就要进行运动预测,运动补偿,DCT以及量化等大量的数据处理,过程繁琐而且需要占用大量的计算资源。
因此,需要提供一种对视频数据流编码的方法和装置,既能够快速的确定是否对视频数据流中的宏块编码,又能够使处理过程简洁。

发明内容
本发明的目的是提供一种对视频数据流编码的方法和装置,以克服现有技术中的不足,节约计算资源。
根据本发明的一个实施方式,提出了一种对视频数据流编码的方法,所述视频数据流包括至少一个待编码单元,所述待编码单元至少包括一个数据块,该方法包括比较所述待编码单元中的每一个数据块和一个参考单元中的具有对应地址的一个参考数据块的差别;和确定所述每个数据块所对应的差别是否符合一个预设定条件,以确定是否对所述待编码单元进行编码。
在上述方法中,所述待编码单元可以是一个数据宏块,所述参考单元可以是一个参考数据宏块。其中,所述差别可以是能量差别,例如能量差值等,所述预设定条件包括一个预设定参考值。
在上述方法中,如果所述每个数据块所对应的能量的差值都小于所述预设定参考值,则对所述宏块进行标记,以根据所述参考数据宏块的视频数据解码得到所述宏块的视频数据。如果所述每个数据块中的一个数据块所对应的能量的差值大于所述预设定参考值,则对所述数据宏块进行编码。
根据本发明的一个实施方式,还提出了一种对视频数据流编码的装置,所述视频数据流包括至少一个待编码单元,所述待编码单元至少包括一个数据块,该装置包括一个比较装置,用于比较所述待编码单元中的每一个数据块和一个参考单元中的具有对应地址的一个参考数据块的差别;和一个确定装置,用于确定所述每个数据块所对应的差别是否符合一个预设定条件,以确定是否对所述待编码单元进行编码。
在上述对视频数据流编码装置中,所述待编码单元可以是一个数据宏块,所述参考单元为一个参考数据宏块;所述差别包括一个能量差值,所述预设定条件包括一个预设定参考值。
在上述对视频数据流编码装置中,可以进一步包括一个标记装置,用于对所述每个数据块所对应的能量的差值都小于所述预设定参考值的宏块进行标记,以在解码时根据所述参考数据宏块的视频数据解码得到所述宏块的视频数据。还可以进一步包括一个处理装置,用于编码其中一个数据块所对应的能量的差值大于所述预设定参考值的宏块。
根据本发明,不需对一个宏块进行运动预测和运动补偿,只需将该宏块中的每个数据块与参考宏块中的相对应地址的参考数据块进行能量比较,然后再将每个能量差值与一个预设定的参考值进行比较就可以判断该宏块是否进行编码,而不需进行运动预测、运动补偿等处理,大大简化了确定宏块是否编码的过程,节约了系统资源。
通过以下结合附图的说明及权利要求书的内容,并且随着对本发明的更全面了解,本发明的其他目的和效果将变得更加清楚和易于理解。


下面将参考附图来描述本发明的优选实施方式,其中图1是根据本发明的一个实施例的一种对视频数据流编码的方法流程图;以及图2是根据本发明的一个实施例的一个对视频数据流编码的装置的方框图。
在所有的上述附图中,相同的标号表示具有相同、相似或相应的特征或功能。
具体实施例方式
本发明的构思如下如果一个宏块中的每个数据块与参考宏块中相对应地址的数据块的能量的差值小于一个参考值,那么该宏块就能够通过参考宏块在解码时恢复,不需进行编码;反之,则需要编码。这样可以不需进行运动预测、运动补偿等处理就可以判断宏块是否需要编码,大大简化了确定宏块是否编码的过程,节约了系统资源。
图1是根据本发明的一个实施例的一种对视频数据流编码的方法流程图。首先,在步骤S11,将视频信号的当前帧分成多个16×16像素的宏块,每个宏块可以包括4个8×8像素的亮度块。
当然,本领域的技术人员应当理解,本发明不限于此,本发明同样适用于将当前帧分成多个8×8像素或者4×4像素等之类的宏块,每个宏块包括多个I×J像素的亮度块。另外,由于视频数据包括亮度分量、色度分量等,因此,宏块中还包括多个色度块等。
为了简洁,以下的描述都基于将视频信号的当前帧分成多个16×16像素的宏块,每个宏块包括4个8×8像素的亮度块。
然后,在步骤S12,比较参考宏块中的每个亮度块与当前宏块中的相对应地址的每个亮度块之间能量的误差,即在同一位置,运动矢量为零的亮度块之间的能量的误差ek。
上述能量的误差的公式如下ek=Σx=07Σy=07(fc,k(x,y)-fp,k(x,y))2,(k=1,2,3,4)---(1)]]>其中fc,k(x,y)表示当前帧的一个宏块中第k个亮度块的亮度采样值,fp,k(x,y)表示在参考帧的同一位置处的第k个亮度块的亮度采样值。
然后,在步骤S13,根据在步骤S12比较得到的结果,确定该当前帧中的当前宏块是否编码。
由于离散余弦变换是单位变换,其具有能量保持特性,即有E=Σx=07Σy=07(f(x,y))2=Σu=07Σv=07(F(u,v))2---(2)]]>其中E是8×8像素块的能量,f(x,y)是像素的亮度值,F(u,v)是对应的离散余弦变换域中的系数值。
在例如MPEG4的标准中,通过下式进行量化F′(u,v)=F(u,v)/2Q(整数除法)(3)其中F′(u,v)是量化后的离散余弦变换系数,F(u,v)是量化前的离散余弦变换系数,Q是量化参数。
从公式(2)中可以看出,显然,F(u,v)不大于 当E<2Q,]]>即E<4Q2时,该块中的所有DCT系数将小于2Q,因此将被量化为零。
由于例如在MPEG4之类的标准中,上述当前帧的宏块和参考帧的宏块之间的亮度值误差都要经过DCT变换后才进行量化和编码等操作,因此,在步骤S13,当ek<2Q(k=1,2,3,4)时,即每个亮度值能量的误差都小于2Q时,认为该当前宏块和参考宏块之间差别很小,确定当前宏块不需编码,只需对该宏块进行标记(例如地址信息标记等),就可以根据参考宏块的视频数据在解码时得到该宏块的数据。然后,流程进入步骤S14,在步骤S14中,在视频数据比特流中加入该宏块的地址信息,作为不编码以及根据参考宏块恢复视频数据的标记。
当不满足上述条件时,确定当前宏块需要编码,流程进入步骤S15,对该宏块进行后续处理,例如运动估计和补偿,离散余弦变换等。
通过上述方法,不需进行运动预测、运动补偿等处理就可以判断宏块的是否编码,大大节约了系统资源。除用于对宏块是否编码的判断外,上述方法还可以实施在其他的可作为编码单元的数据块是否编码的判断中。除将能量作为比较对象之外,一个编码单元相对于它的参考单元是否需要编码还可以通过用其他的能够反映两者相近程度的参数或条件表示,例如信息量多少等。
图2是根据本发明的一个实施例的一个对视频数据流编码的装置方框图。如图所示,对视频数据流编码的装置20包括一个分割装置21,用于将视频信号的当前帧分成多个16×16像素的宏块,其中,每个宏块包括4个8×8像素的亮度块。
当然,本领域的技术人员应当理解,本发明不限于此,本发明同样适用于将当前帧分成多个8×8像素或者4×4像素等之类的宏块,每个宏块包括多个I×J像素的亮度块。另外,本发明的宏块也可以包括多个色度块等。
为了简洁,以下的描述都基于将视频信号的当前帧分成多个16×16像素的宏块,每个宏块包括4个8×8像素的亮度块。
装置20还包括一个比较装置22,用于比较参考宏块中的每个亮度块与当前宏块中的相对应地址的每个亮度块之间能量的误差,即在对应地址的亮度块之间的能量的误差ek。其中ek的计算公式如上公式(1)所述。
装置20还包括一个确定装置23,用于根据比较装置22所确定的能量差值和一个预设定参考值,以确定是否对该宏块进行编码。
当ek<2Q(k=1,2,3,4)时,即每个能量的误差都小于2Q时,确定该宏块为不编码;否则,确定该宏块为编码。
应当注意,这里确定宏块是否编码的方法已在前面进行了详细的描述,在此略去对其详细描述。
装置20还包括一个标记装置24,用于对所述每个数据块所对应的能量的差值都小于所述预设定参考值的宏块进行标记,以在解码时根据所述参考数据宏块的视频数据解码得到所述宏块的视频数据。对确定不编码的宏块进行标记的方式有多种,可以根据宏块的地址信息进行标记,例如可以根据该宏块的地址信息进行标记。
装置20还包括一个处理装置25,用于对确定需要编码的宏块进行后续处理,例如进行运动估计和补偿、离散余弦变换、量化、重排、逆离散余弦变换、重建以及熵编码等。
根据本发明的对视频数据流编码的方法和装置可以应用在例如根据MPEG2、MPEG4等之类标准的视频编码过程中,因而可以应用在例如采用MPEG2、MPEG4等之类的视频编码标准的蓝光光盘的视频编码中。
从上述可知,上述实施方式是采用亮度块进行描述的。本领域技术人员应当理解,本发明同样可以采用色度块,或者同时采用色度块和亮度块来确定是否编码宏块,为了简洁的目的,此处省略对其进行详细的描述。
不脱离本发明的构思和范围可以做出许多其它改变和改型。应当理解,本发明不限于特定的实施方式,本发明的范围由所附权利要求限定。
权利要求
1.一种对视频数据流编码的方法,所述视频数据流包括至少一个待编码单元,所述待编码单元至少包括一个数据块,该方法包括比较所述待编码单元中的每一个数据块和一个参考单元中的具有对应地址的一个参考数据块的差别;和确定所述每个数据块所对应的差别是否符合一个预设定条件,以确定是否对所述待编码单元进行编码。
2.如权利要求1所述的方法,其中,所述待编码单元包括一个数据宏块,所述参考单元为一个参考数据宏块。
3.如权利要求1或2所述的方法,其中,所述差别包括能量差别。
4.如权利要求3所述的方法,其中,所述能量差别包括一个能量差值,所述预设定条件包括一个预设定参考值。
5.如权利要求4所述的方法,其中,如果所述每个数据块所对应的能量的差值都小于所述预设定参考值,则对所述宏块进行标记,以根据所述参考数据宏块的视频数据解码得到所述宏块的视频数据。
6.如权利要求5所述的方法,其中,对所述宏块进行标记包括将所述数据宏块的地址信息加入到所述视频数据流的编码中。
7.如权利要求4所述的方法,其中,如果所述每个数据块中的一个数据块所对应的能量的差值大于所述预设定参考值,则对所述数据宏块进行编码。
8.根据权利要求1或2所述的方法,其中,所述数据宏块包括4个数据块。
9.根据权利要求1或2所述的方法,其中,所述数据块是亮度块。
10.根据权利要求1或2所述的方法,其中,所述数据块是色度块。
11.根据权利要求4所述的方法,其中,所述预设定参考值是一个量化为特定值的临界数据块能量差值。
12.如权利要求11所述的方法,其中,所述特定值为零。
13.一种对视频数据流编码的装置,所述视频数据流包括至少一个待编码单元,所述待编码单元至少包括一个数据块,该装置包括一个比较装置,用于比较所述待编码单元中的每一个数据块和一个参考单元中的具有对应地址的一个参考数据块的差别;和一个确定装置,用于确定所述每个数据块所对应的差别是否符合一个预设定条件,以确定是否对所述待编码单元进行编码。
14.如权利要求13所述的装置,其中,所述待编码单元包括一个数据宏块,所述参考单元为一个参考数据宏块。
15.如权利要求14所述的装置,其中,所述差别包括一个能量差值,所述预设定条件包括一个预设定参考值。
16.如权利要求15所述的装置,进一步包括一个标记装置,用于对所述每个数据块所对应的能量的差值都小于所述预设定参考值的宏块进行标记,以根据所述参考数据宏块的视频数据解码得到所述宏块的视频数据。
17.如权利要求15或16所述的装置,进一步包括一个处理装置,用于编码其中一个数据块所对应的能量的差值大于所述预设定参考值的宏块。
全文摘要
本发明公开了一种对视频数据流编码的方法及装置。根据本发明提供的方法,首先,比较视频数据流中的一个宏块中的每个数据块与一个参考宏块中的具有对应地址的一个参考数据块的能量差值,然后确定所述每个数据块所对应的能量的差值是否达到一个预设定参考值,如果小于预设定参考值,则对所述宏块进行标记,以根据参考数据宏块的数据解码得到所述宏块的视频数据,否则,对该宏块进行编码处理。根据本发明,不需进行运动预测、运动补偿和/或DCT变换等处理就可以判断宏块是否需要编码,大大简化了确定宏块是否编码的过程,节约了系统资源。
文档编号H04N7/26GK101095358SQ200580045340
公开日2007年12月26日 申请日期2005年12月15日 优先权日2004年12月29日
发明者王进 申请人:皇家飞利浦电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1