用以确定对视频块是否进行帧内编码的方法

文档序号:7567147阅读:216来源:国知局
专利名称:用以确定对视频块是否进行帧内编码的方法
技术领域
本发明涉及视频压缩领域,具体涉及确定是否对视频块编码或是对当前视频块与先前存储的视频块之差值进行编码。
众所周知,视频系统包括多个通信装置和通信信道,通信信道为通信装置提供通信媒体。例如,通信信道可以是有线连接,或是射频载波。为了提高视频系统的效率,通常对需要传送的视频进行数字压缩。数字压缩可以减少代表视频所需的比特数目,同时又保持该视频的主观感觉质量。减少比特数目能够更有效地应用信道带宽和减小存储量的需求。为了实现数字视频压缩,每个通信装置可包括一个编码器和一个解码器。编码器允许视频在经由通信信道传输之前由通信装置先将它进行压缩。解码器能使通信装置从通信信道上接收已压缩的视频并将它回复成为可视的视频。能使用数字视频压缩的通信装置包括高清晰度电视(HDTV)的发射机和接收机、有线电视(CATV)的发射机和接收机、视频电话机、计算机以及便携无线电设备。
业已为数字视频压缩制定了一些标准,包括国际电信联盟(ITU)-T建议(Rec.)H.261、国际标准化组织/国示电工技术委员会(ISO/IEC)11172-2国际标准(MPEG-1)和即将出版的ISO/IEC13818-2标准(MPEG-2)。在这些标准中,借助于挖掘视频内的空间冗余度和时间冗余度以及利用人眼的主观感觉质量来求得高效率地表示一个序列的视频帧。时间冗余度的挖掘是依靠对一个视频帧序列的运动进行估值。
一种用以在一个视频帧序列内进行运动估值的公知的方法是块匹配算法。将视频帧序列的每一帧划分成许多像素块。块匹配算法将一帧内要编码的一个当前像素块与该视频帧序列中一个先前帧或未来帧内的一些同样大小的像素块相比较。一旦在先前已编码的一个帧中找到一个匹配的像素块,便须决定是否独立地对当前像素块进行编码,或是对匹配块的位置以及当前块与匹配块之间的任何差值进行编码。这通常称为帧内/非帧内(intra/non-intra)决定如果当前块独立地被编码,则选择帧内编码。如果是匹配块位置和当前块与匹配块之差都被编码,则选择非帧内编码。只有以位置和任何的差信息进行编码时,才提供出更有效的编码方法。
帧内/非帧内编码决定试图确定对当前块进行编码还是对当前块与匹配块之差进行编码将是更为有效的。因在帧内/非帧内编码决定之外还有若干步骤会实际决定比特数目亦即决定编码效率,故这种决定是复杂的。为了最精确地预测哪种编码方法最有效,对帧内编码块和非帧内编码块两者都要作出编码,并对得到的比特数目进行比较。然而,这种做法需要双倍的硬件来同时实施两种编码方式,这将是不实际的。
用以确定是帧内编码或是非帧内编码的另一种方法是计算当前块中的每个像素,计算当前块内平均像素值与每个像素值之差的绝对值,并对这些绝对值求和。该和值称为当前块的绝对差值之和(SOAD)。类似地,计算匹配块中每个像素与当前块中每个像素之差的绝对值总和。这个总和称为差值块的绝对差值之和(SOAD)。如果差值块的SOAD小于或等于某个一定的阈值,则选择非帧内编码。否则,如果差值块的SOAD大于这个阈值并大于当前块的SOAD,则选择帧内编码。当前块的SOAD计算要求对于16像素乘以16像素(16×16)的视频块约1024次运算。对于每帧396个像素块和每秒30帧的普通视频帧序列,就当前块单独计算SOAD需每秒1200万次以上的运算。这个代价是很高的。然而,如果不对进行帧内编码或是非帧内编码作出仔细的决定,则视频质量会有损失。
据此,现在需要减少为了确定帧内编码还是非帧内编码所需的运算次数而仍能提供出足够的视频质量。


图1示出按照本发明的视频压缩系统,它确定视频块进行帧内编码还是非帧内编码。
图2示出一个视频源例子,该视频源作为按照本发明的视频压缩系统的输入。
图3示出按照本发明的用以确定对一个视频块是帧内编码还是非帧内编码的流程图。
图4示出按照本发明的用以确定一个视频块是帧内编码还是非帧内编码的决定曲线。
本发明提供用以通过确定是对一个输入视频帧的当前视频块编码还是对当前视频块与先前存储的视频帧中最佳匹配视频块之间的差值进行编码、而进行视频压缩的一种有效的方法。这是通过将当前视频块划分成一组预定的子块来实现的。然后,对每一个子块计算平均像素值。利用每个子块的平均像素值和实际像素值来确定一个子块的偏差。然后,根据该子块偏差计算当前视频块偏差。再将当前视频块像素与最佳匹配视频块像素相比较,以计算一个偏差误差。对该偏差误差与当前块偏差相比较,以确定是对当前视频块编码还是对当前视频块与最佳匹配视频块之间的差值编码。
参考图1至图4来较全面地说明本发明。图1示出一个视频压缩系统100,按照本发明,确定一个视频块进行帧内编码或是非帧内编码。由视频压缩系统100接收一个视频源111。运动估值器110为视频源111的每一个当前视频块搜索保持有一个或多个参考图像的前一帧存储单元108,以寻找出一个最佳的匹配视频块。用以确定最佳匹配视频块的一种优选方法在案号为CR0005M的共同未决的美国专利申请中公开了,它已转让给本申请的同一受让人。运动估值器110产生出一个运动矢量(MV),以表明相对于当前视频块而言的最佳匹配视频块的位置。运动补偿器109利用MV从前一帧存储单元108中抽取出最佳的匹配视频块。然后,利用减法器101从当前视频块中减去最佳匹配视频块,产生一个剩余量视频块。按照这里即将说明的本发明的原理,帧内/非帧内编码确定器113在帧内编码与非帧内编码之间作出选择。如果选择帧内编码,则当前视频块送到离散余弦变换器(DCT)102进行编码,否则将剩余量视频块送到DCT102进行编码。然后,DCT102将它接收到的视频块的空间域数值变换成为频率域数值。再后,由量化器103对此频率域数值进行定标和截尾;这在压缩系统100中引入些量化误差。容许的量化误差值由速率控制器114进行控制,速率控制器114按照本发明也参与帧内/非帧内编码确定器的计算。从量化器103输出的已量化数值由可变长度编码器(VLC)104高效、无损地进行编码。VLC104的输出便是已压缩的视频112,可以将它存储起来或者传输到一个解压缩系统去。由逆量化器105、逆DCT106、加法器107、前一帧存储单元108和运动补偿器109构成的一个反馈环路重建解压缩系统将要重建的相同的画面,并将该画面存储在前一帧存储单元108内。逆量化器105和后随的逆DCT106重建视频块的空间域数值,但其中含有由量化器103引入的误差。如果帧内/非帧内编码确定器113选择采用非帧内编码,则由加法器107将运动补偿器109来的最佳匹配视频块加到逆DCT106的输出上。否则,由加法器107将零值加到逆DCT106的输出上。然后,将加法器107的输出存储入前一帧存储单元108内。该视频压缩系统100可以利用执行一个或多个数字信号处理器功能或者通用微处理器功能的软件来实施。
图2示出一个视频源111的例子。该视频源111由一系列视频帧200构成。每个视频帧200由许多二维阵列的像素元202组成。视频帧200的普通大小是水平方向352个像素、垂直方向240个像素,这称为标准图像格式(SIF),或者是352×288像素,称为公共交换格式(CIF),或者是176×144像素,称为四分之一CIF(QCIF)。视频帧通常间隔地以1/24、1/25或1/29.97秒的时间重复。每个视频帧200可以分成一个个区域,每个区域称为一个视频块201。在H.261、MPEG-1和MPEG-2标准中,视频块201称为宏块,由16×16阵列的像素构成。
图3示出由帧内/非帧内编码确定器113使用的一个流程图,用来决定是对当前视频块编码还是对当前视频块与最佳匹配视频块之间的差值编码。首先,在步骤300从一个输入的视频源中接收一个当前视频块。与先有技术相对照,在步骤301将该当前视频块划分成一组预定的子块。在应用一个宏块或即一个16×16像素视频块的地方,优选子块数目为四个,每个子块包含8×8个像素。
在步骤302,计算每个子块的平均像素值。将子块内所有个别的像素值加起来、再除以该子块内总的像素数目来确定该平均像素值。然后,在步骤303,根据子块的平均像素值和个别像素值计算子块偏差。计算子块偏差的优选计算法是计算绝对的差值之和(SOAD)。将子块的个别像素值与子块的平均像素值之间诸差值的绝对值相加以确定SOAD。计算子块偏差的另一种计算法是对平均像素值与个别像素值之间的诸差值分别求平方,再得出总和值。这种计算称为均方差算法。
在步骤310,将子块偏差最好传送到速率控制器114,以用于速率控制。速率控制器114使用此子块偏差在一个子块内作为空间活动性的一个量度(measure)。速率控制器114利用从帧内/非帧内编码确定器113来的子块偏差,不必须再计算空间活动性量度。根据空间活动性和其它因素,由量化器103所采用的量化等级可以确定出来。
在步骤303,计算每个子块的子块偏差后,在步骤304再据此计算当前视频块偏差。该当前视频块偏差是子块偏差的函数,最好是诸多子块偏差之和。
在步骤305,应用当前视频块和最佳匹配视频块确定偏差误差。该偏差误差应与子块偏差具有相同的量级。如果SOAD被应用来确定子块偏差,则偏差误差的计算应是每个当前视频块像素与最佳匹配视频块中相应位置像素之间诸差值之绝对值的总和。类似地,如果子块偏差的的计算是平均像素值与各别像素值之间诸多差值的平方和,则偏差误差的计算应是当前视频块中每个像素与最佳匹配视频块中相应的每个像素之间诸多差值的平方和。与当前视频块的偏差不同,偏差误差的计算与当前视频块是否划分成子块无关,计算所产生的结果是一样的。
在步骤306,对当前视频块偏差与偏差误差相比较。在步骤307判定比较结果是否为有利。如果比较结果有利,则在步骤309随后对当前视频块与最佳匹配视频块之间的差值进行编码。如果比较结果不利,则在步骤308对当前视频块进行编码。关于比较结果是有利(是)或是不利(否)的判定,下面参考图4进行讨论。
图4示出优选的判定曲线,用以对步骤306偏差误差与当前视频块偏差的比较结果判定“是”或“否”。水平轴为偏差误差402,垂直轴为当前视频块偏差401。如曲线404所示,如果偏差误差大于当前视频块偏差并大于偏差误差阈值403,则运动估值器110可得知是差劣的最佳匹配视频块,它认定比较结果为“否”。相反,如果偏差误差等于或小于当前视频块偏差或者小于偏差误差阈值403,则运动估值器110可得知是良好的最佳匹配视频块,并认定比较结果为“是”。如果应用SOAD来计算当前视频块偏差和偏差误差,则偏差误差阈值403的优选值为2048。
应用本发明可作出一个有效的帧内/非帧内编码决定。因速率控制器114和帧内/非帧内编码确定器113可以共同进行子块偏差计算,故先有技术中应用的1024次运算来计算整个视频块的SOAD,现在可降低到四个加法运算。这在视频压缩系统100的计算中是一个显著的节省。
权利要求
1.一种用以在视频编码器中对输入的视频帧确定是对输入视频帧的当前视频块进行编码还是对当前视频块与先前存储的视频帧内最佳的匹配视频块之间的差值进行编码的方法,其特征在于,该方法包括以下步骤(a)对于当前视频块,将该当前视频块划分成一组预定的子块;(b)计算该预定分组的诸多子块中的每一个子块的平均像素值;(c)对于该预定分组的诸多子块中的每一个子块,根据该子块的平均像素值的和个别像素值计算出一个子块偏差;(d)对于该当前视频块,根据预定分组的诸多子块的每一个子块的子块偏差,计算一个当前视频块偏差;(e)确定当前视频块与最佳匹配视频块之间的偏差误差;(f)当将当前视频块偏差与偏差误差相比较而结果为不利时,对当前视频块进行编码;(g)当将当前视频块偏差与偏差误差进行比较而结果为有利时,对当前视频块与最佳匹配视频块之间的差值进行编码。
2.权利要求1的方法,其特征在于,步骤(a)中还包括将预定分组的子块规定为四个子块。
3.权利要求1的方法,其特征在于,至少还有下面a和,b中的一个(a)步骤(c)还包括把子块偏差用于速率控制;(b)步骤(c)还包括把子块偏差用于控制量化。
4.权利要求1的方法,其特征在于,步骤(c)中还包括计算子块偏差,它是该子块的平均像素值与个别像素值之间诸多差值的绝对值的总和。
5.权利要求1的方法,其特征在于,步骤(c)还包括计算子块偏差,它是该子块的平均像素值与个别像素值之间的均方差值。
6.权利要求1的方法,其特征在于,步骤(d)还包括计算当前视频块偏差,它是预定分组的诸多子块中每一子块的子块偏差的总和。
7.权利要求1的方法,其特征在于,步骤(f)还包括对于不利的比较结果定义为一个差劣的最佳匹配视频块。
8.权利要求1的方法,其特征在于,步骤(g)还包括对于有利的比较结果定义为是一个良好的最佳匹配视频块。
9.一种压缩视频的方法,其特征在于,该方法包括以下步骤(a)接收一个含有多个视频块的视频帧;对于多个视频块的每一个视频块(b)从先前存储的视频内每个视频块与多个视频块之间的比较中,定义出一个最佳匹配视频块;(c)将每个视频块划分成一组预定的子块;(d)对于该预定分组的诸子块中的每一个子块,计算出一个平均像素值;(e)对于该预定分组的诸子块中的每一个子块,根据该子块的平均像素值和各别像素值计算出子块偏差;(f)根据预定分组的诸子块中每一个子块的子块偏差,计算当前视频块偏差;(g)确定每个视频块与最佳匹配视频块之间的偏差误差;(h)当将当前视频块偏差与偏差误差相比较而结果为不利时,对每个视频块进行编码;(i)当将当前视频块偏差与偏差误差相比较而结果为有利时,对每个视频块与最佳匹配视频块之间的差值进行编码。
10.一种视频压缩系统,其特征在于,包括一个运动估值器,它接收当前视频块,并将它与先前存储的多个视频块相比较,以产生出一个最佳匹配视频块;一个帧内/非帧内编码确定器,在运行中与运动估值器相连接,它接收当前视频块和最佳匹配视频块,并判定是对当前视频块进行编码还是对最佳匹配视频块与当前视频块之间的差值进行编码;该帧内/非帧内编码确定器的工作是(a)将当前视频块划分成一组预定的子块;(b)对预定分组的诸多子块的每一个子块计算出平均像素值;(c)根据预定分组的诸多子块的每一个子块的平均像素值和个别像素值,计算子块偏差;(d)根据预定分组的诸多子块的每一个子块的子块偏差,计算当前视频块偏差;(e)确定出当前视频块与最佳匹配视频块之间的偏差误差;(f)将当前视频块偏差与偏差误差相比较,以产生一个比较结果;(g)当比较结果为不利时,决定对当前视频块进行编码;(h)当比较结果为有利时,决定对当前视频块与最佳匹配视频块之间的差值进行编码。
全文摘要
一个视频压缩系统(100)中确定是对输入视频帧的当前视频块进行编码还是对输入视频帧的当前视频块与先前存储的视频帧最佳的匹配视频块之差进行编码。首先(301)将当前视频块分成预定个数的子块。再(302)对每一子块计算平均像素值,并结合子块个别像素值来确定子块偏差(303)。利用子块偏差计算当前视频块偏差(303)。再根据当前块像素值和匹配块像素值计算出偏差误差,并用当前块偏差与之比较(305)。比较结果有利时采用对当前与最佳匹配块之差值编码,比较结果不利时采用对当前视频块编码。
文档编号H04N7/26GK1128099SQ95190358
公开日1996年7月31日 申请日期1995年3月27日 优先权日1994年4月29日
发明者切昂·奥耶昂, 凯文·约瑟芬·奥康奈尔, 史蒂芬·诺曼·莱文 申请人:摩托罗拉公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1