视频编码/解码的装置和方法及其记录介质的制作方法

文档序号:7966273阅读:123来源:国知局
专利名称:视频编码/解码的装置和方法及其记录介质的制作方法
技术领域
根据本发明的装置和方法涉及视频压缩编码,更具体地说,涉及能够提高压缩效率的视频预测方法,以及使用视频预测方法进行视频编码/解码的装置和方法。
背景技术
在诸如移动图像专家组(MPEG-1)、MPEG-2、MPEG-4Visual(视觉)、H.261、H.263以及H.264的众所周知的视频压缩标准中,图像通常被划分成宏块(macroblock),以用于视频编码。在H.264编码器的情况中,当以帧间预测(interprediction)和帧内预测(intraprediction)中可获得的所有编码模式对每个宏块编码之后,对编码模式中对宏块进行编码所需的比特速率以及原始宏块与解码的宏块之间的率失真(RD)成本进行比较。然后,根据比较结果选择适当的编码模式,并以选择的编码模式对宏块编码。
在帧内预测中,不会参考参考图像来对当前图像的宏块进行编码,而是使用与将被编码的宏块在空间上相邻的(adjacent)像素的像素值来计算将被编码的宏块的预测值,并对该预测值与该像素值之间的差进行编码。
图1示出了根据现有技术,用来对当前宏块a5进行帧内预测的之前的(previous)宏块。
参照图1,之前的宏块a1、a2、a3和a4被用于对当前宏块a5的帧内预测。根据光栅扫描方案(scheme),从左到右且从上到下地对包括在图像中的宏块进行扫描。因此,之前的宏块a1、a2、a3和a4在当前宏块a5之前被扫描和编码。
由于用X标记的宏块还没有被编码,因此它们不能用于对当前宏块a5的预测编码。由于用O标记的宏块与当前宏块a5具有低相关性,因此它们不能用于对当前宏块a5的预测编码。对已经被离散余弦变换并被量化过的之前的宏块a1、a2、a3和a4进行反量化和反离散余弦变换,以重构(reconstruct)之前的宏块a1、a2、a3和a4。
图2是用于解释根据现有技术在H.264的帧内(intra)4×4模式中使用的相邻像素的参考图。
参照图2,小写字母a到p表示将被预测的4×4块的像素,而位于该4×4块的上方和左侧的大写字母A到M表示对该4×4块进行帧内预测所需的邻近的(neighboring)采样或像素,它们已经被编码和重构。
图3示出了根据现有技术在H.264中使用的帧内4×4模式。
参照图3,帧内4×4模式包括总共9个预测模式,即,直流(DC)模式、垂直模式、水平模式、左下对角线模式、右下对角线模式、垂直偏左模式,垂直偏右模式,水平偏上模式和水平偏下模式。在帧内4×4模式中,从相邻宏块的像素A到M预测像素a到p的像素值。编码器的压缩效率随着为帧内预测所选择的编码模式而变化。为了选择最佳的编码模式,在所有可能的编码模式下对块执行预测,使用编码模式的预定成本函数来计算成本,并选择具有最低成本的编码模式以用于编码。
然而,仍然存在对能够提高压缩效率的编码方法的需求,以为用户提供高质量的视频。

发明内容
本发明提供一种能够提高帧内预测中的压缩效率的编码和解码装置和方法。
根据本发明的一个方面,提供一种视频编码方法。该视频编码方法包括将预定大小的输入视频划分成至少两个子平面;对所述至少两个子平面中的至少一个执行帧内预测编码;以及通过将经过帧内预测编码的子平面用作参考子平面,来对剩余子平面中的至少一个执行帧间预测编码。
将预定大小的输入视频划分成子平面可以包括对输入视频进行二次采样。
对划分的子平面中的至少一个执行帧内预测编码可以包括对所有被划分的子平面执行帧内预测编码;比较经过帧内预测编码的子平面的成本;根据比较结果选择一个子平面用于帧内预测编码。
将预定大小的输入视频划分成子平面可以包括根据基于输入视频的空间特性而将输入视频划分成多个子平面。
预定大小的输入视频可以是宏块。
该视频编码方法还可以包括对经过帧内预测编码的子平面和经过帧间预测编码的子平面执行熵编码,其中,执行熵编码使用随着将输入视频划分成子平面的方法而改变的扫描顺序。
用作参考子平面的经过帧内预测编码的子平面可以是经过帧内预测编码后被帧内预测解码的子平面,以及将被帧内预测编码的子平面。
该视频编码方法还可以包括对经过帧内预测编码的子平面和经过帧间预测编码的子平面执行变换和量化,其中,所述执行熵编码包括插入预测模式信息,该预测模式信息包括下列信息中的至少一个所划分的子平面中的每一个的大小或所划分的子平面的数目、指示经过帧内预测编码的子平面的信息、以及关于帧间预测编码方法的信息。
根据本发明的另一个方面,提供一种视频编码器,包括视频划分单元、子平面帧内预测编码单元和子平面帧间预测编码单元。视频划分单元将预定大小的输入视频划分成至少两个子平面。子平面帧内预测编码单元对划分成的子平面中的至少一个执行帧内预测编码。子平面帧间预测编码单元通过将经过帧内预测编码的子平面用作参考子平面来对剩余子平面中的至少一个执行帧间预测编码。
根据本发明的再一个方面,提供一种视频解码方法。该视频解码方法包括接收包括视频数据的编码的比特流,该视频数据是通过对从预定大小的输入视频划分成的至少一个子平面执行帧内预测编码、并根据该经过帧内预测编码的子平面对其它子平面中的至少一个执行帧间预测编码而获得的;从接收的比特流中提取视频数据;对包括在提取的视频数据中的至少一个子平面执行帧内预测解码;以及通过参考该经过帧内预测解码的子平面来对其它子平面执行帧间预测解码。
该视频解码方法还可以包括对经过帧内预测解码的子平面和经过帧间预测解码的子平面进行重构,以重构输入视频。
该视频解码方法可以还包括提取模式信息,其中根据提取的模式信息来执行帧内预测解码和帧间预测解码。
该视频解码方法还可以包括从提取的视频数据中构造所述至少两个子平面。
用作参考子平面的经过帧内预测编码的子平面可以是在被帧内预测编码之后被帧内预测解码的子平面,以及将被帧内预测编码的子平面。
根据本发明的再一个方面,提供一种视频解码器,包括熵解码单元、子平面帧内预测解码单元和子平面帧间预测解码单元。熵解码单元接收包括视频数据的编码的比特流,并从所接收的比特流中提取该视频数据,该视频数据是通过对从预定大小的输入视频划分成的至少一个子平面执行帧内预测编码、并根据经过帧内预测编码的子平面对其它子平面中的至少一个执行帧间预测编码而获得的;子平面帧内预测解码单元对包括在提取的视频数据中的至少一个子平面执行帧内预测解码。子平面帧间预测解码单元通过参考经过帧内预测解码的子平面对其它子平面执行帧间预测解码。
根据本发明的再一个方面,提供一种计算机可读记录介质,其具有记录在其上的用于执行视频编码方法的程序。该视频编码方法包括将预定大小的输入视频划分成至少一个子平面;对所述划分的子平面中的至少一个执行帧内预测编码;以及通过将经过帧内预测编码的子平面用作参考子平面,来对剩余子平面中的至少一个执行帧间预测编码。
根据本发明的再一个方面,提供一种计算机可读记录介质,其具有记录在其上的用于执行视频解码方法的程序。该视频解码方法包括接收包括视频数据的编码的比特流,该视频数据是通过对从预定大小的输入视频划分成的至少一个子平面执行帧内预测编码、并根据该经过帧内预测编码的子平面对其它子平面中的至少一个执行帧间预测编码而获得的;从接收的比特流中提取视频数据;对包括在提取的视频数据中的至少一个子平面执行帧内预测解码;以及通过参考该经过帧内预测解码的子平面来对其它子平面执行帧间预测解码。


通过参照附图对本发明的示例实施例进行具体描述,本发明的上述和其它特征和优点将变得更加清楚。附图中图1示出了根据现有技术的用于当前宏块的帧内预测的之前的宏块;图2是用于解释根据现有技术在H.264的帧内4×4模式中使用的相邻像素的参考图;图3示出了根据现有技术在H.264中使用的帧内4×4模式;图4是根据本发明实施例的子平面(sub-plane)预测编码器的方框图;图5A到5C是用于解释根据本发明实施例的子平面预测编码方法的视图;图6A和6B是解释用来对16×8子平面进行帧内预测的邻近采样的视图;图7是用于解释在子平面上实现4×4帧内预测模式的视图;图8是示出由根据本发明实施例的子平面编码单元执行的子平面预测的流程图;图9是使用根据本发明实施例的子平面预测编码方法的视频编码器的方框图;图10是示出由根据本发明实施例的模式确定单元执行的帧内预测模式确定的流程图;图11A和11B示出了在本发明中使用的扫描方法的例子;图12是根据本发明实施例的子平面预测解码器的方框图;图13是示出由图12的子平面编码单元和视频重构单元执行的子平面预测解码;图14是示出根据本发明实施例的在子平面模式中的帧内预测解码的流程图;图15是示出根据本发明实施例的在子平面模式下的帧间预测解码的流程图;图16是示出根据本发明实施例的子平面预测解码方法的流程图;图17是根据本发明实施例使用子平面预测解码方法的视频解码器的方框图;图18是示出使用根据本发明实施例的子平面预测解码方法的视频解码方法的流程图。
具体实施例方式
图4是根据本发明示例实施例的子平面预测编码器的方框图。
参照图4,子平面预测编码器包括视频划分单元410、子平面编码单元420、模式确定单元422、变换单元430、量化单元440、熵编码单元450、反量化(inverse quantization)单元460和反变换单元470。子平面编码单元420包括子平面帧内预测单元和子平面帧间预测单元,它们未在图4中示出。
下面将参照图5到8描述根据本发明示例实施例的帧内预测编码方法。从输入视频二次采样(sub-sample)出预定大小的块,例如,宏块,并将该宏块划分成预定数目的子平面。例如,宏块可以被划分成如图5A所示的两个8×16子平面,如图5B所示的四个8×8子平面,或者如图5C所示的两个16×8子平面。在本发明的当前示例实施例中,预定大小的宏块被二次采样,然后被划分成多个子平面,但是本发明也可以应用到任意大小的块被采样的情况。
图5A到5C是用于解释根据本发明示例实施例的子平面预测编码方法的视图。在图5A中,帧内宏块被水平二次采样,以获得两个子平面。在图5B中,帧内宏块被二次采样以获得四个子平面。在图5C中,帧内模块被垂直二次采样以获得两个子平面。
可以根据输入视频的特性和帧内预测编码效率来进行视频划分。例如,可以根据输入视频的空间特性来确定划分后的子平面的数目和每个划分后的子平面的大小。换言之,当输入视频在水平方向和垂直方向两者上都具有很大相关性时,其被划分成四个8×8子平面。当输入视频仅在水平方向上具有很大相关性时,其被水平地二次采样,并被划分成8×16子平面。当输入视频仅在垂直方向上具有很大相关性时,其被垂直地二次采样,并被划分成16×8子平面。
子平面编码单元420的帧内预测单元选择由视频划分单元410划分的多个子平面中的一个,并对所选择的子平面执行帧内预测。可以以这样的方式选择子平面,即,选择预定位置的子平面,或者对多个子平面中的每一个执行帧内预测,然后选择具有最小成本的子平面。
图6A和6B是解释用来对8×16子平面进行帧内预测的邻近采样的视图。例如,由于子平面1是通过水平地二次采样宏块而获得的,因此使用位于原始宏块上方的邻近采样a、b、c、d、e、f、g、h、i、j、k、l、m、n、o和p中的邻近采样a、c、e、g、i、k、m和o来对子平面1执行帧内预测。
此时,像在传统的8×16帧内预测中那样,可以在执行了垂直预测、水平预测和直流(DC)预测之后选择最佳的预测模式。
图7是用于解释在所选择的子平面上实现4×4帧内预测模式的视图。如在图6B中所示出的,在获得了用于帧内预测的邻近采样之后,根据传统的帧内预测方法执行帧内预测。
用于对诸如块A的位于子平面的边界上的块进行帧内预测的邻近采样是在图6B中使用的邻近采样,即,a、c、e、g和i。用于对诸如块B的位于边界内的块进行帧内预测的邻近采样,如同在图2所示的传统的4×4帧内预测实现方法中那样,是之前解码的4×4块的采样。在应用了图3所示的传统4×4帧内预测的所有9个方向模式之后,可以选择出最佳的模式。此时,所选择的最佳模式中的成本被确定为4×4帧内预测中的成本。
像这样,对于子平面1,比较8×16帧内预测和4×4帧内预测中的成本以选择最佳帧内预测,且在所选择的帧内预测中的成本可以被确定为子平面1的成本。
类似地,在对其它子平面执行了帧内预测之后,其它子平面的成本也被确定。比较所有子平面的成本,并将具有最小成本的子平面确定为用于帧内预测的子平面。
这里,可以使用不同的方法来计算成本。例如,可以使用诸如绝对差值和(SAD)成本函数、绝对变换差值和(SATD)成本函数、平方差和(SSD)成本函数、绝对差值均值(MAD)成本函数以及拉格朗日成本函数的成本函数。SAD是块的预测残数(residue)的绝对值的和,所述块例如4×4块。SATD是通过对4×4块的预测残数应用哈德曼变换而获得的系数的绝对值的和。SSD是4×4块预测采样的预测残余的平方根的和。MAD是4×4块预测采样的预测残数的绝对值的平均值。拉格朗日成本函数是包括比特流长度信息的修改了的成本函数。
在本发明的当前示例实施例中,尽管对多个划分后的子平面之一执行了帧内预测编码,但是也可以首先对至少一个子平面,例如四个划分的子平面中的两个子平面进行帧内预测编码,然后可以对其它剩余的子平面进行帧间预测编码,以增强压缩效率。
接下来,子平面编码单元420的子平面帧间预测单元将帧内预测的子平面作为参考子平面,对剩余的子平面执行帧间预测。例如,当子平面1已经被帧内预测,则将子平面1用作参考子平面来对子平面2执行帧间预测。
这里,对于用作参考子平面的帧内预测的子平面来说,在帧内预测之后,已经对其进行了帧内预测解码。或者,用作参考子平面的帧内预测的子平面可以是将被帧内预测编码的子平面。
在本发明示例实施例中使用的帧间预测方法与传统的帧间预测方法类似,除了是使用参考子平面而非参考图像,并且是使用具有小范围(range)的运动向量执行运动估计和补偿。在根据本发明示例实施例的帧间预测中,运动向量表示参考子平面中与当前子平面最类似的位置,并且对该位置处参考子平面的采样与当前子平面的采样之间的差进行编码。
在本发明的当前示例实施例中,以8×16子平面为单元执行帧间预测,但是也可以以8×8子平面或4×4子平面为单元执行帧间预测。
子平面编码单元420还可以包括用于帧间预测的运动估计和补偿单元。
由于本发明当前示例实施例中的子平面是通过对宏块进行如图5A和6A所示的二次采样而获得的,因此子平面具有高相关性,并且根据帧间预测的压缩效率得到了提高。
在本发明的当前示例实施例中,对单个子平面或从多个子平面中选择的子平面执行帧内预测,并将所选择的子平面用作参考子平面来对其它子平面执行帧间预测。然而,在对单个子平面或从多个子平面中选择的子平面执行了帧内预测、并且对其它子平面执行了帧间预测之后,可以选择具有最小成本的预测方法组合。此外,可以将预测方法的另一个组合应用于划分的子平面。
尽管在本发明的当前示例实施例中将将被帧内预测编码的子平面或被帧内预测编码和解码后的子平面用作帧间预测编码的参考子平面,但是也可以不仅使用将被帧内预测编码的子平面而且使用之前帧间预测编码和解码过的子平面作为参考子平面来执行帧间预测编码。
变换单元430和量化单元440对帧内预测和帧间预测的子平面执行变换和量化。变换单元430和量化单元440的作用与在传统视频编码器中的一样,因此将不给出对它们的具体描述。根据本发明的示例实施例,可以不将变换单元430和量化单元440包括在帧内预测编码器中。
模式确定单元422向熵编码单元450发送关于确定的帧内预测编码模式的信息,即帧内预测编码模式信息,并且熵编码单元450将输入的帧内预测编码模式信息插入到将被编码的比特流的首部(header)。当被视频划分单元410划分的块为宏块时,插入每个宏块的帧内预测编码模式信息。当所选择的帧内预测模式为子平面模式时,帧内预测模式信息包括指定帧内预测的子平面的信息、有关帧间预测编码方法的信息、以及有关编码器的帧内预测编码中的帧内预测模式的信息,例如每个划分的子平面的大小或划分的子平面的数目。
反量化单元460和反变换单元470对变换和量化后的数据执行反量化和反变换,并将作为结果的数据输入到子平面编码单元420。输入到子平面编码单元420的数据被用作在子平面编码单元420中对随后的块进行的帧内预测和帧间预测。反量化单元460和反变换单元470的作用与在传统视频编码器中的一样,因此将不给出对它们的具体描述。当变换单元430和量化单元440不包括在根据本发明示例实施例的帧内预测编码器中时,反量化单元460和反变换单元470也可以不包括在帧内预测编码器中。
图8是示出由根据本发明实施例的子平面编码单元420执行的子平面预测的流程图。
在操作820,输入块,即宏块被二次采样,并且被划分成预定数目的子平面。例如,宏块给划分成如图5A所示的两个8×16子平面、如图5B所示的四个8×8子平面、或者如图5C所示的两个16×8子平面。
在操作840,对划分的子平面中的至少一个执行帧内预测。此时,可以以这样的方式来进行对子平面的选择选择预定位置处的子平面;或者对每个划分的子平面都执行帧内预测,然后选择具有最小成本的子平面。
在操作860,将在操作840中被帧内预测的子平面用作参考子平面来执行帧间预测。可以以16×8子平面或者8×8或4×4子平面为单元执行帧间预测。
尽管在本发明的当前示例实施例中将将被帧内预测编码的子平面或被帧内预测编码和解码后的子平面用作参考子平面来执行帧间预测编码,但是也可以不仅使用将被帧内预测编码的子平面或被帧内预测编码和解码后的子平面,而且还使用之前被帧间预测编码和解码过的子平面作为参考子平面来执行帧间预测编码。
此外,可以生成有关在操作820到860中执行的划分成子平面以及帧内预测和帧间预测的模式信息,并且在熵编码中将生成的模式信息插入到比特流中。
可以对帧内预测的子平面和帧间预测的子平面执行变换和量化。
图9是使用根据本发明示例实施例的子平面预测编码方法的视频编码器的方框图。
参照图9,根据本发明示例实施例的视频编码器900包括运动估计单元910、运动补偿单元912、帧内预测单元914、子平面预测单元916、模式确定单元918、减法单元920、加法单元922、变换单元930、量化单元940、熵编码单元950、反量化单元960、反变换单元970、滤波(filtering)单元980和帧存储器990。
这里,除子平面预测单元916、模式确定单元918和熵编码单元950之外的其它功能单元的功能都与例如H.264编码器的传统视频编码器中的相同,因此将不给出对它们的具体描述。
子平面预测单元916对应于图4的视频划分单元410和子平面编码单元420,而熵编码单元950对应于图4的熵编码单元450。
模式确定单元918将帧内预测单元914实现的传统帧内预测模式中的成本,例如16×16预测模式中的成本、8×8预测模式中的成本、4×4预测模式中的成本与子平面预测单元916的子平面预测模式中的成本进行比较,以选择一个预测模式,模式确定单元918还生成有关所选择的预测模式的模式信息,并将该模式信息发送到熵编码单元950。
图10是示出由根据本发明示例实施例的模式确定单元918执行的帧内预测模式确定的流程图。
在操作1010到1030中,计算16×16预测模式中的成本、8×8预测模式中的成本以及4×4预测模式中的成本。
在操作1040,计算子平面预测模式中的成本。
在操作1050,比较在操作1010到1040中计算的成本,并确定具有最小成本的帧内预测模式。
当选择了子平面预测模式时,将生成的帧内预测值发送到变换单元930。
尽管在图中未示出,但是熵编码单元950可以使用为每个预定的块自适应地选择的扫描方法。
图11A和11B示出了在本发明示例实施例中使用的扫描方法的例子。
图11A示出了垂直采样扫描方法,图11B示出了水平采样扫描方法。在本发明的示例实施例中,根据输入视频的特性,将输入视频划分成预定类型的子平面,并选择预定的扫描方法来扫描通过对划分的子平面执行帧内预测而获得的扫描视频数据。换句话说,根据从输入视频划分的子平面的类型来自适应地使用扫描方法。当输入视频的每个宏块都被划分成子平面时,可以将有关选择的扫描方法的信息插入到每个宏块。
图12是根据本发明示例实施例的子平面预测解码器的方框图。
参照图12,子平面预测解码器包括熵解码单元1210、反量化单元1220、反变换单元1230、子平面解码单元1240和视频重构单元1250。反量化单元1220和反变换单元1230的功能与例如H.264视频解码器的传统视频解码器的相同,因此将不给出对其具体的描述。子平面解码单元1240包括子平面帧内预测单元和子平面帧间预测单元,它们在图12中未被示出。
熵解码单元1210接收编码的比特流,对接收的比特流执行熵解码以提取视频数据,并同时将提取的视频数据发送到反量化单元1220,并将从比特流提取的模式信息发送到子平面解码单元1240。当所选择的帧内预测编码是子平面模式时,模式信息包括有关在编码器的帧内预测编码中使用的帧内预测模式的信息,例如每个划分的子平面的大小或划分的子平面的数目;指定帧内预测子平面的信息;以及有关帧间预测编码方法的信息。
这里,接收到的比特流包括视频数据,该视频数据是通过对从预定大小的输入视频划分的至少一个子平面执行帧内预测,并根据帧内预测子平面对其它子平面中的至少一个执行帧间预测编码而获得的。
反量化单元1220和反变换单元1230对提取的视频数据执行反量化和反变换。当提取的视频数据没有被量化和变换时,反量化单元1220和反变换单元1230可以不包括在子平面预测解码器中。
根据本发明的示例实施例,子平面解码单元1240根据输入模式信息对反变换的视频数据执行子平面预测解码。
例如,当模式信息指示宏块被划分成两个16×8子平面时,对16×8子平面1执行了帧内预测,并将子平面1用作参考子平面对16×8子平面2执行了帧间预测,因此对当前宏块执行的帧内预测解码如下。
在本发明的当前示例实施例中,模式信息包括用于帧内预测解码的所有信息,但是包括关于所有预测模式的信息的预测模式表是在编码器和解码器中共享的,并且只有指定预测模式表的索引被发送。
图13是示出由图12的子平面编码单元1240和视频重构单元1250执行的子平面预测解码的流程图。
在操作1320中,为了在子平面预测模式中解码,根据子平面类型重构例如8×8子平面、8×16子平面和16×8子平面之一的子平面。在本发明的当前示例实施例中,该子平面类型是8×16子平面。
接下来,在操作1340中,对帧内预测编码的子平面1执行解码。例如,构造用于帧内预测编码的邻近的子平面以生成预测采样,并将从预测采样获得的预测值与输入残数相加,由此重构子平面1。
图14是示出根据本发明实施例在子平面模式下的帧内预测解码的流程图。在操作1420到1426中,执行当以4×4块为单元执行帧内预测时的帧内预测解码。在操作1430到1434,执行当以8×16块为单元执行帧内预测时的帧内预测解码。在操作1440到1446,执行当以8×8块为单元执行帧内预测时的帧内预测解码。
如图14所示,当帧内预测以4×4块和8×8块为单元执行时,额外需要顺序地排列重构的4×4块和重构的8×8块并重构8×16子平面的处理。
当子平面1的解码完成时,在操作1360中将已经被解码的子平面1用作参考子平面来执行帧间预测解码。例如,当以8×16子平面为单元执行帧间预测编码时,使用运动向量对参考子平面执行运动补偿,以获得预测子平面,并将从预测子平面获得的预测值和输入残余相加以获得重构值,由此重构子平面2。在本发明的当前示例实施例中,以8×16子平面为单元执行帧间预测解码,但是也可以以4×4子平面为单元执行帧间预测解码。
图15是示出根据本发明示例实施例的帧间预测解码的流程图。在操作1520到1526,执行当以4×4块为单元执行帧间预测时的帧间预测解码。在操作1530到1534,执行当以8×16块为单元执行帧间预测时的帧间预测解码。在操作1540到1546,执行当以8×8块为单元执行帧间预测时的帧间预测解码。
这里,当帧间预测以4×4块和8×8块为单元执行时,额外需要顺序地排列重构的4×4块和重构的8×8块并重构8×16子平面的处理。
图12中的视频重构单元1250从子平面解码单元1240所获得的子平面中重构原始的视频块(见图13的操作1380)。在当前示例实施例中,帧内预测解码的子平面1和帧间预测解码的子平面2被重构成单个宏块。换言之,当原始的视频块是宏块时,根据原始宏块的像素顺序重新排列被划分成子平面的像素,由此重构宏块。
图16是示出根据本发明示例实施例的子平面预测解码方法的流程图。
参照图16,在操作1620中,分析包含到输入比特流中的宏块的首部,以提取视频数据。当在输入比特流中包括有关在编码器中使用的子平面类型、帧内预测和帧间预测的模式信息时,提取视频数据和模式信息。下文中,为了简化解释,假设对将被解码的当前宏块执行帧内预测解码,具体说来是在子平面模式中执行帧内预测解码。
这里,输入比特流包括视频数据,该视频数据是通过对从预定大小的输入视频划分成的子平面中的至少一个执行帧内预测、并根据帧内预测的子平面对其它子平面中的至少一个执行帧间预测编码而获得的。
在操作1640中,对划分的子平面中的帧内预测编码的子平面执行解码。可以根据提取的模式信息对帧内预测编码的子平面执行解码。当以比划分的子平面小的单元执行帧内预测解码时,在帧内预测解码后还额外需要重构子平面的处理。
在操作1660,参考解码的子平面对其它子平面执行帧间预测解码。可以根据提取的模式信息执行对帧内预测编码的子平面的解码。当以比划分的子平面小的单元执行帧间预测解码时,在帧内预测解码后还额外需要重构子平面的处理。
在本发明的当前示例实施例中,将帧内预测解码的子平面用作参考子平面来执行对其它子平面的帧间预测解码,但是也可以根据之前帧间预测解码的子平面来执行帧间预测解码。
在操作1680,从帧内预测解码的子平面和帧间预测解码的子平面重构例如宏块的视频。
操作1620还可以包括当提取的视频数据被变换和量化时对提取的视频执行反量化和反变换的处理。
图17是根据本发明示例实施例使用子平面预测解码方法的视频解码器的方框图。
参照图17,视频解码器包括熵解码器1710、反量化单元1720、反变换单元1730、运动补偿单元1740、帧内预测单元1750、子平面预测单元1752、模式确定单元1754和滤波单元1770。
除熵解码器1710、子平面预测单元1752和模式确定单元1754之外的其它功能单元的功能与例如H.264视频解码器的传统视频解码器中的相同,将不给出对它们的具体描述。
熵解码器1710接收压缩的比特流,并对接收的比特流执行熵解码以提取视频数据和帧内预测模式信息。
反量化单元1720和反变换单元1730对提取的视频数据执行反量化和变换。
运动补偿单元1740根据编码的图像类型生成预测块,并将预测块和残数D’n相加以生成uF’n。uF’n通过滤波单元1770以生成重构的图像F’n。
当由熵解码器1710提取的帧内预测模式信息指示帧内4×4模式、帧内8×8模式和帧内16×16模式时,帧内预测单元1750以与在传统的视频解码器中执行的相同的方式来对输入视频数据执行帧内4×4模式解码、帧内8×8模式解码和帧内16×16模式解码。
当提取的帧内预测模式信息指示帧内子平面模式时,子平面预测单元1752像图12的子平面解码单元1240和视频重构单元1250中那样对反变换的视频数据执行帧内预测和视频重构。因此,将不给出具体的描述。
模式确定单元1754根据熵解码器1710提取的帧内预测模式信息来确定帧内预测单元1750和子平面预测单元1752中的哪一个处理输入视频数据。
图18是示出使用根据本发明示例实施例使用子平面预测解码方法的视频解码方法的流程图。
参照图18,在操作1810,接收压缩比特流,并对其熵解码以提取视频数据和帧内预测模式信息。还可以包括对提取的视频数据执行反量化和反变换的处理。
在操作1820,根据提取的帧内预测模式信息构造多个子平面。当提取的帧内预测模式信息指示帧内4×4模式、帧内8×8模式和帧内16×16模式时,以与在传统视频解码器中执行的相同的方式对输入视频数据执行帧内4×4模式解码、帧内8×8模式解码和帧内16×16模式解码。当帧内预测模式信息指示子平面模式时,对反变换的视频数据执行如图13到15所示的帧内预测解码和帧间预测解码。在当前示例实施例中,假定提取的帧内预测模式为子平面模式。
在操作1830,对多个构造的子平面中的至少一个执行帧内预测解码。
在操作1840,参考帧内预测解码的子平面对其它子平面执行帧间预测解码。
在操作1850,重构帧内预测解码的子平面和帧间预测解码的子平面以重构预定大小的视频。
如上所述,根据本发明,对单个宏块二次采样,将其划分成多个子平面,并对划分的子平面自适应地执行帧内预测编码和帧间预测编码,由此提高视频数据的压缩率。
同时,本发明也可以实现为计算机可读记录介质上的计算机可读代码。计算机可读记录介质是能够存储数据且该数据在以后能够由计算机系统读取的数据存储设备。计算机可读记录介质的例子包括只读存储器(ROM)、随机存取存储器(RAM)、CD-ROM、磁带、软盘、光数据存储设备和载波(例如在因特网上传输)。计算机可读记录介质还可以分布在连接计算机系统的网络上,从而以分布的方式来存储和执行计算机可读代码。
尽管参照本发明的示例实施例具体示出和描述了本发明,但是本领域普通技术人员将会理解,在不脱离所附权利要求书限定的本发明的精神和范围的情况下,可以对其进行形式上和细节上的各种改变。
权利要求
1.一种视频编码方法,包括将预定大小的输入视频划分成至少两个子平面;对所述至少两个子平面中的至少一个执行第一帧内预测编码;以及通过将经过第一帧内预测编码后的所述至少一个子平面用作至少一个参考子平面,来对所述至少两个子平面中剩余的子平面中的至少一个执行帧间预测编码。
2.权利要求1的视频编码方法,其中,将预定大小的输入视频划分成至少两个子平面包括对输入视频进行二次采样。
3.权利要求1的视频编码方法,其中,所述对至少一个子平面执行第一帧内预测编码包括对所述至少两个子平面中的每一个执行第二帧内预测编码;比较所述至少两个子平面中的每一个的成本;根据对成本的比较结果选择所述至少一个子平面;以及对该至少一个子平面执行第一帧内预测编码。
4.权利要求3的视频编码方法,其中,所述至少一个子平面的成本是所述至少两个子平面中的每一个的成本中最小的。
5.权利要求3的视频编码方法,其中,所述至少两个子平面的成本中的至少一个是通过包括下列步骤的操作确定的将子平面划分成至少两个子块;对该子平面执行第三帧内预测编码以获得该子平面的第三成本;对所述至少两个子块中的至少一个执行第四帧内预测编码,以获得该至少一个子块的第四每个成本;以及选择该第三成本和第四每个成本中最小的成本作为该子平面的成本,其中,所述子平面是所述至少两个子平面中的一个。
6.权利要求1的视频编码方法,其中,所述将预定大小的输入视频划分成至少两个子平面是根据该输入视频的空间特性执行的。
7.权利要求1的视频编码方法,其中,所述预定大小的输入视频是宏块。
8.权利要求1的视频编码方法,还包括对经过第一帧内预测编码的至少一个子平面和经过帧间预测编码的至少一个子平面执行熵编码,其中,执行熵编码使用随着将所述输入视频划分成至少两个子平面的方法而改变的扫描顺序。
9.权利要求1的视频编码方法,其中,所述至少一个参考子平面是至少一个经过第五帧内预测编码和解码的子平面,或者至少一个将被第六帧内预测编码的子平面。
10.权利要求8的视频编码方法,还包括对所述经过第一帧内预测编码的至少一个子平面和经过帧间预测编码的至少一个子平面执行变换和量化,其中,所述执行熵编码包括插入预测模式信息,该预测模式信息包括下列信息中的至少一个所述至少两个子平面中的每一个的大小、该至少两个子平面的数目、指定经过帧内预测编码的至少一个子平面的信息、以及关于所述第一帧间预测编码的方法的信息。
11.权利要求1的视频编码方法,其中,所述执行帧间预测编码包括对所述剩余子平面中的至少一个与所述参考子平面之间的差进行编码。
12.一种视频帧内预测编码方法,包括对输入视频的预定子平面执行第一帧内预测编码,并获得该子平面的第一成本;对构成输入视频的至少一个预定块执行第二帧内预测编码,并获得该至少一个预定块的第二每个成本,其中,该至少一个预定块的大小与所述预定子平面的大小不同;确定所述第一成本和第二每个成本之中的最小成本;以及根据对最小成本的确定结果执行第三帧内预测编码。
13.一种视频编码器,包括视频划分单元,其将预定大小的输入视频划分成至少两个子平面;子平面帧内预测编码单元,其对该至少两个子平面中的至少一个执行第一帧内预测编码;以及子平面帧间预测编码单元,其通过将经过第一帧内预测编码的至少一个子平面用作参考子平面来对该至少两个子平面中剩余子平面中的至少一个执行帧间预测编码。
14.权利要求13的视频编码器,其中,所述视频划分单元对预定大小的输入视频进行二次采样,并将该输入视频划分成至少两个子平面。
15.权利要求13的视频编码器,其中,所述视频划分单元根据输入视频的空间特性划分该输入视频。
16.权利要求13的视频编码器,还包括熵编码单元,其对所述经过第一帧内预测编码的至少一个子平面和所述经过帧间预测编码的至少一个子平面执行熵编码,其中,该熵编码单元使用随着将该输入视频划分成至少两个子平面的方法而变化的扫描顺序。
17.权利要求16的视频编码器,还包括变换单元和量化单元,其对所述经过第一帧内预测编码的至少一个子平面和所述经过帧间预测编码的至少一个子平面执行变换和量化,其中,所述熵编码单元插入预测模式信息,该预测模式信息包括下列信息中的至少一个所述至少两个子平面中的每一个的大小、该至少两个子平面的数目、指定经过帧内预测编码的至少一个子平面的信息、以及关于所述帧间预测编码的方法的信息。
18.权利要求13的视频编码器,还包括模式确定单元,其将所述至少一个子平面的第一每个成本与构成输入视频的至少一个预定块的第二每个成本进行比较,并选择该第一和第二每个成本中的一个;以及帧内预测单元,如果选择了第二每个成本,则其对该至少一个预定块执行第二帧内预测编码,其中,如果选择了第二每个成本,则不执行所述第一帧内预测编码;并且其中,所述至少一个预定块的大小与所述至少一个子平面的大小不同。
19.一种视频解码方法,包括接收包括视频数据的编码的比特流,该视频数据是通过对从预定大小的输入视频划分成的至少两个子平面中的至少一个执行第一帧内预测编码、并根据该经过第一帧内预测编码的至少一个子平面对所述至少两个子平面中剩余的子平面中的至少一个执行帧间预测编码而获得的;从接收的编码的比特流中提取视频数据;对包括在提取的视频数据中的所述经过第一帧内预测编码的至少一个子平面执行帧内预测解码;以及通过参考该经过帧内预测解码的至少一个子平面对所述经过帧间预测编码的至少一个子平面执行帧间预测解码。
20.权利要求19的视频解码方法,还包括对所述经过帧内预测解码的至少一个子平面和所述经过帧间预测解码的至少一个子平面进行重构,以重构输入视频。
21.权利要求19的视频解码方法,其中,所述编码的比特流包括模式信息,其包括下列信息中的至少一个所述至少两个子平面中的每一个的大小、该至少两个子平面的数目、指定经过第一帧内预测编码的至少一个子平面的信息、以及关于所述帧间预测编码方法的信息。
22.权利要求21的视频解码方法,还包括提取模式信息,其中根据提取的模式信息来执行所述帧内预测解码和帧间预测解码。
23.权利要求19的视频解码方法,还包括从提取的视频数据中构造所述至少两个子平面。
24.权利要求19的视频解码方法,其中,所述至少两个子平面是通过对预定大小的输入视频进行二次采样而获得的。
25.权利要求24的视频解码方法,其中,所述至少两个子平面是通过根据输入视频的空间特性将该输入视频划分成至少两个子平面而获得的。
26.权利要求19的视频解码方法,其中,所述预定大小的输入视频是宏块。
27.权利要求19的视频解码方法,还包括对接收到的编码的比特流执行熵解码,其中,所述熵解码使用多个扫描方法中的扫描方法,其是根据将输入视频划分成至少两个子平面的方法而确定的。
28.权利要求19的视频解码方法,其中,所述至少一个参考子平面是至少一个经过第二帧内预测编码和解码的子平面,或者是至少一个将被第三帧内预测编码的子平面。
29.一种视频解码方法,包括接收输入比特流,并从该输入比特流中提取视频数据和有关视频数据的帧内预测模式的信息;确定帧内预测模式,其是子平面模式和预定块模式之一;以及根据确定的帧内预测模式对视频数据执行帧内预测解码,其中,在所述子平面模式中,视频数据包括经过帧内预测编码的至少一个预定子平面,并且在预定块模式中,视频数据包括经过帧内预测编码的至少一个预定的块;并且其中,所述经过帧内预测编码的至少一个预定块的大小与经过帧内预测编码的至少一个预定的子平面的大小不同。
30.一种视频解码器,包括熵解码单元,其接收包括视频数据的编码的比特流,并从所接收的编码的比特流中提取该视频数据,该视频数据是通过对从预定大小的输入视频划分成的至少两个子平面中的至少一个执行帧内预测编码、并参考该经过帧内预测编码的至少一个子平面来对所述至少两个子平面中剩余的子平面中的至少一个执行帧间预测编码而获得的;子平面帧内预测解码单元,其对包括在提取的视频数据中的所述经过帧内预测编码的至少一个子平面执行第一帧内预测解码;以及子平面帧间预测解码单元,其通过参考该经过帧内预测解码的至少一个子平面对所述经过帧间预测编码的至少一个子平面执行帧间预测解码。
31.权利要求30的视频解码器,还包括视频重构单元,其对所述经过帧内预测解码的至少一个子平面和所述经过帧间预测解码的至少一个子平面进行重构,以重构输入视频。
32.权利要求30的视频解码器,其中,所述编码的比特流包括模式信息,其包括下列信息中的至少一个所述至少两个子平面中的每一个的大小、该至少两个子平面的数目、指定经过帧内预测编码的至少一个子平面的信息、以及关于所述帧间预测编码方法的信息。
33.权利要求30的视频解码器,其中,通过对预定大小的输入视频进行二次采样来获得所述至少两个子平面。
34.权利要求30的视频解码器,其中,所述至少两个子平面是通过根据输入视频的空间特性将该输入视频划分成至少两个子平面而获得的。
35.权利要求30的视频解码器,其中,所述熵解码单元根据将输入视频划分成至少两个子平面的方法来从多个扫描方法中选择扫描方法。
36.权利要求30的视频解码器,还包括模式确定单元,其确定帧内预测模式,其是子平面模式和预定块模式中的一个;以及帧内预测单元,其对经过帧内预测编码的至少一个预定块执行第二帧内预测解码,其中,在子平面模式中,视频数据包括至少一个经过帧内预测编码的预定子平面,并且在预定块模式中,视频数据包括至少一个经过帧内预测编码的预定块,并且其中,该经过帧内预测编码的至少一个预定块的大小与该经过帧内预测编码的至少一个预定子平面的大小不同。
37.一种计算机可读记录介质,其具有记录在其上的程序,该程序执行权利要求1的视频编码方法。
38.一种计算机可读记录介质,其具有记录在其上的程序,该程序执行权利要求19的视频解码方法。
全文摘要
提供一种能够提高压缩效率的帧内预测编码和解码的装置和方法。视频编码方法包括将预定大小的输入视频划分成至少两个子平面;对所划分的至少两个子平面中的至少一个执行帧内预测编码;以及通过将经过帧内预测编码的子平面用作参考子平面,来对剩余子平面中的至少一个执行帧间预测编码。
文档编号H04N7/26GK1921630SQ200610110830
公开日2007年2月28日 申请日期2006年8月15日 优先权日2005年8月27日
发明者金昭营, 朴正煇, 李相来, 孙有美 申请人:三星电子株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1