用于避免视频或图像压缩中反变换越界的方法及编码装置的制作方法

文档序号:7647722阅读:152来源:国知局
专利名称:用于避免视频或图像压缩中反变换越界的方法及编码装置的制作方法
技术领域
本发明涉及一种电数字数据处理技术,特别地,涉及一种运用于避免视频或图像编码过程中反变换越界的方法,以及应用该方法的编码装置。
背景技术
传统的视频编码标准如国际电信联盟ITU制定的H.261,H.263,H.26L,H.264标准以及国际标准化组织ISO的运动图像专家组织MPEG制定的MEPG-1,MPEG-2,MPEG-4等都是基于混合编码(Hybrid Coding)框架之上的。所谓混合编码框架是综合考虑预测,变换以及熵编码的方法的编码框架,其一般有着下面的编码过程1.利用帧间预测来消除图像间的冗余,利用帧内预测来消除图像内的冗余,帧间或者帧内预测的结果是得到预测残差以及运动矢量和预测模式等相关预测信息;2.通过对帧间或者帧内预测所得到的预测残差进行变换和量化来消除图像内的视觉冗余,变换量化的结果是得到变换量化系数;3.通过对变换量化系数以及其他预测信息进行熵编码来去除统计上的冗余度。
视频数据、图像数据或者其预测残差数据在空间域上有着较强的相关性,进行变换的目的就是为了将这些在空间域上有着较强相关性的数据变换到以变换矩阵的归一化向量表达的变换域上。在变换域上,这些信号的变换域表示的相关性就很弱,有利于进一步进行压缩处理。因此,变换使提高编码增益的关键因素,是视频编码和图像编码中很重要的部分。
变换后的量化处理是提高数据压缩率的关键技术之一。一般的,变换与量化技术相结合,才能得到最佳的压缩效率。将预测残差进行变换之后得到的矩阵我们称之为变换系数矩阵,该矩阵中的元素,我们称之为变换系数;将变换系数矩阵进行量化之后得到的矩阵,我们称之为变换量化系数矩阵,该矩阵中的元素,我们称之为变换量化系数。
为了提高编码效率,针对编码中的变换环节,基于混合编码框架之上的视频编码标准一般都会在宏块级定义一个Coded Block Pattern(CBP)的语法元素,来表示一个宏块内的亮度块和色度块是否有变换系数的编码数据在码流中传输。一般的,将一个宏块的16×16亮度块划分为4个8×8块,根据图像的色度空间格式,将一个宏块的色度块划分为若干个8×8块,这些划分的8×8大小的每个亮度块或者色度块B8都会对应CBP信息里的一个比特,该比特指示在码流中是否传输此B8块的变换系数的编码数据。
离散余弦变换DCT(Discrete Cosine Transform)通常被用于图像数据和视频数据的块变换编码,但是,DCT存在着一个缺点,那就是其矩阵中的部分系数是无理数,所以在数字计算机上用迭代的方法进行变换和反变换之后,不能得到一模一样的初始值。
针对离散余弦变换在实现上存在的种种困难和不足,二十世纪八十年代末有人提出了整数余弦变换ICT(Integer Cosine Transform),其实现相对于DCT来说十分的简单经济,而且,虽然整数余弦变换在实现上有着诸多DCT无法企及的优点,但其决不是以牺牲压缩性能为代价的,研究结果表明,很多ICT的性能与DCT非常接近,甚至会好于DCT。鉴于ICT优秀的压缩性能和易于实现的优点,国际标准H.264/AVC和国内先进音视频标准AVS都采用了ICT作为其基本算法。
为了保证ICT反变换能够用有限位长实现,H.264和AVS标准都对ICT反变换的水平变换结果和垂直变换结果的取值范围进行了限定,如果说,一个码流导致解码器的ICT反变换的水平变换结果或者垂直变换结果超出了相应的限定范围,那么我们称之为“反变换越界”。
如果,编码器设计不合理或者编码模式选择不当,就会导致反变换越界现象发生。导致反变换越界的码流是不符合标准规范的,而且变换越界也会导致编解码端重建图像失配。

发明内容
本发明的目的在于针对现有技术的不足,提供一种用于避免视频或图像编码中反变换越界的方法。
该发明目的是通过以下技术方案来实现的一种用于避免视频或图像编码中反变换越界的方法,包括以下步骤
(1)在编码过程中检查输入的每一个块的变换量化系数是否造成反变换越界;(2)如果在上述步骤(1)中没有检查到该块的变换量化系数造成反变换越界,那么直接将该块的变换量化系数和CBP信息输出;否则(3)如果在上述步骤(1)中检查到该块的变换量化系数造成反变换越界,那么将该块的变换量化系数和CBP信息进行处理之后再输出。
本发明的目的还在于提供一种应用上述的用于避免视频或图像编码中反变换越界的方法的编码装置。
该发明目的是通过以下技术方案来实现的一种应用上述的用于避免视频或图像编码中反变换越界的方法的编码装置,它包括一开关K1;一反变换越界检测装置,检测输入的变换量化系数是否会造成反变换越界,根据检测的结果控制开关K1;一第一处理装置,直接将输入的变换量化系数和CBP信息输出;一第二处理装置,将输入的变换量化系数和CBP信息进行处理之后再输出。输入的变换量化系数送入第一处理装置、第二处理装置、反变换越界检测装置;所述反变换越界检测装置控制开关K1,如果反变换越界检测装置检测到某一块的反变换越界,那么对于该块,控制开关K1导通第二处理装置,第二处理装置的输出成为编码装置的输出;否则,控制开关K1导通第一处理装置,第一处理装置的输出成为编码装置的输出,输出包括经处理的变换量化系数和CBP信息。
本发明具有以下技术效果本发明能够简单有效的避免编码器生成导致反变换越界的码流,从而保证编码器产生的变换量化系数满足相应编码标准的限制条件。


图1是本发明实施例7、8、9的编码装置框图;图2是本发明实施例7的第二处理装置框图;图3是本发明实施例8的第二处理装置框图图4是本发明实施例9的第二处理装置框图。
具体实施例方式
下面根据附图和实施例详细说明本发明,本发明的目的和效果将变得更加明显。
编码器在确定编码模式的过程中检查反变换是否越界,或者编码器在确定了编码模式之后检查反变换是否越界,如果没有检查到反变换越界,那么编码器按照原有正常编码方法进行编码,否则编码器在检查到反变换越界之后,对变换量化系数和CBP信息进行处理之后再进行编码。对变换量化系数和CBP信息进行处理之后再进行编码的方法包括以下几种1、编码器仅将反变换越界块的部分变换量化系数输出,特别地,编码器仅将反变换越界块的某一变换量化系数Coefficientij输出,CBP信息未做修改而输出;2、编码器将反变换越界块所对应的CBP比特标记为该块的变换量化系数全部为0然后输出,同时,将该反变换越界块的所有变换量化系数置为0后输出;3、编码器将反变换越界块的所有变换量化系数都右移一位之后输出移位后的变换量化系数,同时将根据移位后的变换量化系数是否全部为0调整对应块的CBP信息,再将调整后的CBP信息输出。
实施例1编码器在确定编码模式的过程中,对某一模式下一组块中的每一个块进行如下处理输入某块的n行m列变换量化系数矩阵Xn×m(n>=0,m>=0),编码器对Xn×m进行反变换越界检查如果Xn×m不造成反变换越界,那么直接输出变换量化系数矩阵Xn×m,同时输出未做修改的CBP信息;否则,假设Xn×m第0行第0列的值为C00,且C00不等于0,那么生成新的变换量化系数矩阵X′n×m,X′n×m的第0行第0列元素的值置为C00,变换量化系数矩阵的其他元素的值全部置为0,然后输出X′n×m,同时输出未做修改的CBP信息。编码器根据这一组块中所有块输出的变换量化系数和CBP信息计算该模式下该组块的编码效率,编码效率最高的模式,就是编码器确定的该组块的最佳编码模式。编码器将最佳编码模式下该组块的通过上述处理方法输出的变换量化系数和CBP信息按标准的定义进行编码后形成符合标准规定的码流。
实施例2
编码器在确定编码模式的过程中,对某一模式下一组块中的每一个块进行如下处理输入某块的n行m列变换量化系数矩阵Xn×m(n>=0,m>=0),编码器对Xn×m进行反变换越界检查,如果Xn×m不造成反变换越界,那么直接输出变换量化系数矩阵Xn×m,同时输出未做修改的CBP信息;否则,生成新的变换量化系数矩阵X′n×m,X′n×m的全部元素的值置为0,然后输出X′n×m,同时修改该块对应的CBP比特,使之表示为该块的变换量化系数均为0,然后输出修改后的CBP信息。
编码器根据这一组块中所有块输出的变换量化系数和CBP信息计算该模式下该组块的编码效率,编码效率最高的模式,就是编码器确定的该组块的最佳编码模式。编码器将最佳编码模式下该组块的通过上述处理方法输出的变换量化系数和CBP信息按标准的定义进行编码后形成符合标准规定的码流。
实施例3编码器在确定编码模式的过程中,对某一模式下一组块中的每一个块进行如下处理输入某块的n行m列变换量化系数矩阵Xn×m(n>=0,m>=0),编码器对Xn×m进行反变换越界检查,如果Xn×m不造成反变换越界,那么直接输出变换量化系数矩阵Xn×m,同时输出未做修改的CBP信息;否则,生成新的变换量化系数矩阵X′n×m,X′n×m中的每一个元素的值为Xn×m矩阵中对应元素右移一位的结果,输出X′n×m,同时根据新的变换量化系数矩阵是否全部为0调整该块的CBP信息如果新的变换量化系数矩阵元素不全部为0,则不修改对应块的CBP比特;如果新的变换量化系数矩阵元素全部为0,则将对应块的CBP比特取反,再将调整后的CBP信息输出。
编码器根据这一组块中所有块输出的变换量化系数和CBP信息计算该模式下该组块的编码效率,编码效率最高的模式,就是编码器确定的该组块的最佳编码模式。编码器将最佳编码模式下该组块的通过上述处理方法输出的变换量化系数和CBP信息按标准的定义进行编码后形成符合标准规定的码流。
实施例4
编码器在确定了编码模式之后,对该模式下一组块中的每一个块进行如下处理输入某块的n行m列变换量化系数矩阵Xn×m(n>=0,m>=0),编码器对Xn×m进行反变换越界检查如果Xn×m不造成反变换越界,那么直接输出变换量化系数矩阵Xn×m,同时输出未做修改的CBP信息;否则,假设Xn×m第0行第0列的值为C00,且C00不等于0,那么生成新的变换量化系数矩阵X′n×m,X′n×m的第0行第0列元素的值置为C00,变换量化系数矩阵的其他元素的值全部置为0,然后输出X′n×m,同时输出未做修改的CBP信息。编码器将该模式下该组块的通过上述处理方法输出的变换量化系数和CBP信息按标准的定义进行编码后形成符合标准规定的码流。
实施例5编码器在确定了编码模式之后,对该模式下一组块中的每一个块进行如下处理输入某块的n行m列变换量化系数矩阵Xn×m(n>=0,m>=0),编码器对Xn×m进行反变换越界检查,如果Xn×m不造成反变换越界,那么直接输出变换量化系数矩阵Xn×m,同时输出未做修改的CBP信息;否则,生成新的变换量化系数矩阵X′n×m,X′n×m的全部元素的值置为0,然后输出X′n×m同时修改该块对应的CBP比特,使之表示为该块的变换量化系数均为0,然后输出修改后的CBP信息。
编码器将该模式下该组块的通过上述处理方法输出的变换量化系数和CBP信息按标准的定义进行编码后形成符合标准规定的码流。
实施例6编码器在确定了编码模式之后,对该模式下一组块中的每一个块进行如下处理输入某块的n行m列变换量化系数矩阵Xn×m(n>=0,m>=0),编码器对Xn×m进行反变换越界检查,如果Xn×m不造成反变换越界,那么直接输出变换量化系数矩阵Xn×m,同时输出未做修改的CBP信息;
否则,生成新的变换量化系数矩阵X′n×m,X′n×m中的每一个元素的值为Xn×m矩阵中对应元素右移一位的结果,输出X′n×m,同时根据新的变换量化系数矩阵是否全部为0调整该块的CBP信息如果新的变换量化系数矩阵元素不全部为0,则不修改对应块的CBP比特;如果新的变换量化系数矩阵元素全部为0,则将对应块的CBP比特取反,再将调整后的CBP信息输出。
编码器将该模式下该组块的通过上述处理方法输出的变换量化系数和CBP信息按标准的定义进行编码后形成符合标准规定的码流。
实施例7附图1示出了一种用于避免视频或图像编码中反变换越界的编码装置,包括反变换越界检测装置、开关K1、第一处理装置和第二处理装置。
输入到编码装置的某块的变换量化系数同时送到反变换越界检测装置、第一处理装置和第二处理装置。
反变换越界检测装置检测输入的该块的变换量化系数是否会造成反变换越界,如果检测到反变换越界,那么控制开关K1导通第二处理装置,第二处理装置将输入的该块的变换量化系数和CBP信息进行处理之后再输出,具体如图2所示;否则,控制开关K1导通第一处理装置,第一处理装置直接将该块的输入的变换量化系数和CBP信息输出。
图2给出了一种第二处理装置的实施方法,该装置包括第一变换量化系数修改装置。第一变换量化系数修改装置将输入的该块的变换量化系数中的直流系数复制而将其它所有交流系数置0,形成新的变换量化系数输出。同时第二处理装置将输入的CBP信息直接输出。
实施例8附图1示出了一种用于避免视频或图像编码中反变换越界的编码装置,包括反变换越界检测装置、开关K1、第一处理装置和第二处理装置。
输入到编码装置的某块的变换量化系数同时送到反变换越界检测装置、第一处理装置和第二处理装置。
反变换越界检测装置检测输入的该块的变换量化系数是否会造成反变换越界,如果检测到反变换越界,那么控制开关K1导通第二处理装置,第二处理装置将输入的该块的变换量化系数和CBP信息进行处理之后再输出,具体如图3所示;否则,控制开关K1导通第一处理装置,第一处理装置直接将该块的输入的变换量化系数和CBP信息输出。
图3给出了一种第二处理装置的实施方法,该装置包括变换量化系数置0装置和第一CBP修改装置。变换量化系数置0装置将该块输出的所有变换量化系数置0并输出。同时第一CBP修改装置将该块所对应的CBP比特进行修改,使该比特表示该块的变换量化系数均为0,然后将修改后的CBP信息输出。
实施例9附图1示出了一种用于避免视频或图像编码中反变换越界的编码装置,包括反变换越界检测装置、开关K1、第一处理装置和第二处理装置。
输入到编码装置的某块的变换量化系数同时送到反变换越界检测装置、第一处理装置和第二处理装置。
反变换越界检测装置检测输入的该块的变换量化系数是否会造成反变换越界,如果检测到反变换越界,那么控制开关K1导通第二处理装置,第二处理装置将输入的该块的变换量化系数和CBP信息进行处理之后再输出,具体如图4所示;否则,控制开关K1导通第一处理装置,第一处理装置直接将该块的输入的变换量化系数和CBP信息输出。
图4给出了一种第二处理装置的实施方法,该装置包括第二变换量化系数修改装置和第二CBP修改装置。第二变换量化系数修改装置将该块的输入变换量化系数都右移一位后输出。同时第二CBP修改装置根据第二变换量化系数修改装置的输出调整该块的CBP信息如果第二变换量化系数修改装置的输出矩阵元素不全部为0,则不修改对应块的CBP比特;如果第二变换量化系数修改装置的输出矩阵元素全部为0,则将对应块的CBP比特取反,再将调整后的CBP信息输出。并输出调整后的CBP信息。
上述实施例用来解释说明本发明,而不是对本发明进行限制,在本发明的精神和权利要求的保护范围内,对本发明作出的任何修改和改变,都落入本发明的保护范围。
权利要求
1.一种用于避免视频或图像编码中反变换越界的方法,其特征在于,包括以下步骤(1)在编码过程中检查输入的每一个块的变换量化系数是否造成反变换越界。(2)如果在上述步骤(1)中没有检查到该块的变换量化系数造成反变换越界,那么直接将该块的变换量化系数和CBP信息输出。否则(3)如果在上述步骤(1)中检查到该块的变换量化系数造成反变换越界,那么将该块的变换量化系数和CBP信息进行处理之后再输出。
2.根据权利要求1所述的用于避免视频或图像编码中反变换越界的方法,其特征在于,所述步骤(1)中,所述在编码过程中检查输入的变换量化系数是否造成反变换越界是指,编码器在确定编码模式的过程中检查各编码模式下是否发生反变换越界,或者编码器在确定了编码模式之后检查该编码模式下是否发生反变换越界。
3.根据权利要求1所述的用于避免视频或图像编码中反变换越界的方法,其特征在于,所述步骤(3)中,所述将该块的变换量化系数和CBP信息进行处理之后再输出是指,编码器仅将该块的部分变换量化系数或者某一变换量化系数保留而其它变换量化系数置0并输出,同时将未做修改的CBP信息输出。
4.根据权利要求1所述的用于避免视频或图像编码中反变换越界的方法,其特征在于,所述步骤(3)中,所述将该块的变换量化系数和CBP信息进行处理之后再输出是指,编码器将该块所对应的CBP比特进行修改,使该比特表示该块的变换量化系数均为0,然后将全0的变换量化系数和修改后的CBP信息输出。
5.根据权利要求1所述的用于避免视频或图像编码中反变换越界的方法,其特征在于,所述步骤(3)中,所述将该块的变换量化系数和CBP信息进行处理之后再输出是指,编码器将该块的所有变换量化系数都右移一位,将移位后的变换量化系数和相应的CBP信息输出。
6.一种应用权利要求1所述的用于避免视频或图像编码中反变换越界的方法的编码装置,其特征在于,它包括一开关K1。一反变换越界检测装置,检测输入的变换量化系数是否会造成反变换越界,根据检测的结果控制开关K1。一第一处理装置,直接将输入的变换量化系数和CBP信息输出。一第二处理装置,将输入的变换量化系数和CBP信息进行处理之后再输出。输入的变换量化系数送入第一处理装置、第二处理装置、反变换越界检测装置。所述反变换越界检测装置控制开关K1,如果反变换越界检测装置检测到某一块的反变换越界,那么对于该块,控制开关K1导通第二处理装置,第二处理装置的输出成为编码装置的输出;否则,控制开关K1导通第一处理装置,第一处理装置的输出成为编码装置的输出,输出包括经处理的变换量化系数和CBP信息。
7.根据权利要求6所述的编码装置,其特征在于,所述的第二处理装置包括第一变换量化系数修改装置,所述第一变换量化系数修改装置将该块的部分变换量化系数或者某一变换量化系数保留并输出,而该块的其它变换量化系数置0并输出;所述第二处理装置的输入变换量化系数送入第一变换量化系数修改装置,第二处理装置的输出为第一变换量化系数修改装置的输出和第二处理装置的输入CBP信息。
8.根据权利要求6所述的编码装置,其特征在于,所述的第二处理装置包括变换量化系数置0装置和第一CBP修改装置无论输入的变换量化系数为何值,所述变换量化系数置0装置将输出的变换量化系数全部置0。所述第一CBP修改装置将该块所对应的CBP比特进行修改,使该比特表示该块的变换量化系数均为0,并输出修改后的CBP信息。所述第二处理装置的输入变换量化系数送入变换量化系数置0装置,第二处理装置的输入CBP信息送入第一CBP修改装置,第二处理装置的输出为变换量化系数置0装置的输出和第一CBP修改装置的输出。
9.根据权利要求6所述的编码装置,其特征在于,所述的第二处理装置包括第二变换量化系数修改装置和第二CBP修改装置所述第二变换量化系数修改装置将该块的输入变换量化系数都右移一位后输出。所述第二CBP修改装置根据第二变换量化系数修改装置的输出调整该块的CBP信息并输出调整后的CBP信息。所述第二处理装置的输入变换量化系数送入第二变换量化系数修改装置,第二处理装置的输入CBP信息送入第二CBP修改装置,第二变换量化系数修改装置的输出输入第二CBP修改装置,第二处理装置的输出为第二变换量化系数修改装置的输出和第二CBP修改装置的输出。
全文摘要
本发明公开了一种用于避免视频或图像编码中反变换越界的方法;本发明通过调整反变换越界块所对应的CBP比特,或者仅传送部分反变换越界块的变换量化系数,或者将反变换越界块的所有系数右移一位之后再进行编码传输的编码方法来避免反变换越界;本发明能够简单有效的避免编码器生成导致反变换越界的码流,从而保证编码器产生的变换量化系数满足相应编码标准的限制条件。本发明并不限于视频或图像编解码领域,还可以推广至其他信号处理的应用中。
文档编号H04N7/30GK101018335SQ20071006726
公开日2007年8月15日 申请日期2007年2月14日 优先权日2007年2月14日
发明者虞露, 王建鹏, 丁丹丹 申请人:浙江大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1