用于改进的帧内色度编码和解码的方法及装置与流程

文档序号:18018549发布日期:2019-06-26 01:01阅读:199来源:国知局
用于改进的帧内色度编码和解码的方法及装置与流程

相关申请的交叉引用

本申请要求于2009年8月12日提交的美国临时申请序列号61/233,310(代理人案号PU090108)的权益,在此通过引用以其整体并入。

技术领域

本原理总地涉及视频编码和解码,更具体地,涉及用于改进的帧内色度编码和解码的方法和装置。



背景技术:

多数现代视频编码标准采用各种编码模式来有效地减少空间和时间域中的相关性。在国际标准化组织/国际电工委员会(ISO/IEC)移动画面专家组-4(MPEG-4)第10部分高级视频编码(AVC)标准/国际电信联盟电信分部(ITU-T)H.264推荐(下文的“MPEG-4AVC标准”)中,可以对画面进行帧内编码或帧间编码。在帧内画面中,在利用了画面中的空间相关性的同时,在帧内模式中编码宏块(16×16)。对于帧内亮度编码,可以将帧内模式分类为以下三种分区类型:INTRA4×4;INTRA8×8;和INTRA16×16。INTRA4×4使用4×4离散余弦变换(DCT)。INTRA8×8使用8×8变换。INTRA16×16使用通过4×4直流(DC)Hadamard变换级联的4×4整数DCT。对于帧内色度编码,仅仅允许一种分区类型。帧内编码的宏块的每个8×8色度分量利用4种帧内预测模式进行预测并且使用通过2×2DC Hadamard变换级联的4×4整数DCT。无论亮度分区类型是什么,色度分区类型是固定的。

MPEG-4AVC标准帧内编码

MPEG-4AVC标准使用帧内模式来利用画面中的空间相关性。对于帧内亮度编码,帧内模式可以被分类为以下三种类型:INTRA4×4、INTRA8×8和INTRA16×16。INTRA4×4和INTRA8×8支持9种帧内预测模式,而INTRA16×16支持4种帧内预测模式。转到图1,通过参考数字100来总地指示INTRA4×4和INTRA8×8预测模式。在图1中,参考数字0指示垂直预测模式、参考数字1指示水平预测模式、参考数字3指示对角下/左预测模式、参考数字4指示对角下/右预测模式、参考数字5指示垂直-右预测模式、参考数字6指示水平-下预测模式、参考数字7指示垂直-左预测模式,而参考数字8指示水平-上预测模式。未示出作为INTRA4×4和INTRA8×8预测模式的一部分的DC模式。转到图2,由参考数字200总地指示INTRA16×16预测模式。在图2中,参考数字0指示垂直预测模式、参考数字1指示水平预测模式、参考数字3指示平面预测模式。未示出作为INTRA16×16预测模式的一部分的DC模式。

由于MPEG-4AVC标准中的基本编码单元是宏块,即,大小是16×16,宏块内部的分区类型全部是16×16、8×8或4×4。在宏块内部不存在混合的分区类型,如图3所示。转到图3,由参考数字300总地指示帧内16×16块310的运动分区。该分区包括16×16、8×8和4×4分区。

如上所述,INTRA4×4使用4×4DCT变换,INTRA8×8使用8×8变换,而INTRA16×16使用级联的4×4变换。对于信令,INTRA4×4和INTRA8×8共享相同的宏块类型(mb_type)0并且它们由变换大小标志(tranform_8×8_size_flag)来区分。然后,通过最可能的模式对INTRA4×4或INTRA8×8中的帧内预测模式的选择发信号通知,可能具有剩余模式,如果必要。对于INTRA16×16,在mb_type中对所有帧内预测模式以及编码块的图案(cbp)类型发信号通知,其使用从1到24的mb_type值。对于帧内色度编码,使用4个帧内预测模式并且使用利用2×2DC Hadamard变换级联的4×4整数DCT来预测帧内编码宏块的每个8×8色度分量。帧内色度编码是固定的,与亮度分区类型无关。帧内色度编码不适配于内容,因此,减少了色度编码的保真度。

在MPEG-4AVC标准的4:4:4情况下,可以对所有三个色彩分量使用帧内亮度分区类型和预测模式。支持共用模式和独立模式。在共用模式中,所有三个分量共享作为亮度分量的完全相同的信息,包括分区类型和预测模式。在独立模式中,使用与亮度平面(plane)相同的编码方法将三个色彩分量的每一个编码为单独的平面。

MPEG-4AVC标准扩展中的大的帧内分区

在第一种现有技术方法中,通过将帧内直接模式的数量增加到超过9个来为帧内编码扩展预测块单元。然而,在第一种现有技术方法中,没有提到或者设想针对色度的情况。在第二种现有技术方法中,色度分区类型被固定为Chroma_8×8,与在MPEG-4AVC标准中相同。对于帧内预测模式和变换,色度分区类型被保持为与MPEG-4AVC标准中的亮度intra_16×16、intra_8×8和intra_4×4相同,即,使用4个色度预测模式和级联的4×4变换。对于intra_32×32,色度使用4个色度预测模式和级联的8×8变换,如在表1中所示。也就是,表格1示出了用于4:2:0格式的每个帧内预测模式的预测分区大小和变换。在第二种现有技术方法中使用的方案确实具有若干缺陷。第二种现有技术方法的一个缺陷在于色度编码分区类型对于所有的亮度分区类型是固定的。第二种现有技术方法的另一个缺陷在于对色度编码选择的编码模式或变换不是最佳的。第二种现有技术方法的又一个缺陷在于色度编码具有很小的灵活性。

表1



技术实现要素:

通过本原理解决现有技术的这些和其它缺点和缺陷,本原理针对用于改进的色度编码和解码的方法和装置。

根据本原理的一方面,提供了一种装置。该装置包括用于编码画面的至少一个块的画面数据的编码器。支持用于该块的帧内色度编码的多种分区类型。多种分区类型包括一组色度分区类型和一组亮度分区类型。该组色度分区类型与该组亮度分区类型不同。

根据本原理的另一方面,提供了一种视频编码器中的方法。该方法包括编码画面的至少一个块的画面数据。支持用于该块的帧内色度编码的多种分区类型。多种分区类型包括一组色度分区类型和一组亮度分区类型。该组色度分区类型与该组亮度分区类型不同。

根据本原理的又一方面,提供了一种装置。该装置包括用于解码画面的至少一个块的画面数据的解码器。支持用于该块的帧内色度解码的多种分区类型。多种分区类型包括一组色度分区类型和一组亮度分区类型。该组色度分区类型与该组亮度分区类型不同。

根据本原理的另一方面,提供了一种视频解码器中的方法。该方法包括解码画面的至少一个块的画面数据。支持用于该块的帧内色度解码的多种分区类型。多种分区类型包括一组色度分区类型和一种亮度分区类型。该组色度分区类型与该组亮度分区类型不同。

根据连同附图阅读的示例性实施例的以下详细描述,本原理的这些和其它方面、特征和优点将变得明显。

附图说明

根据以下的示例性附图可以更好地理解本原理,在图中:

图1是示出可以应用本原理的INTRA4×4和INTRA8×8预测模式的图;

图2是示出可以应用本原理的INTRA16×16预测模式的图;

图3是示出可以应用本原理的用于16×16块的运动分区的图;

图4是示出依据本原理的实施例、可以应用本原理的示例性视频编码器的框图;

图5是示出依据本原理的实施例、可以应用本原理的示例性视频解码器的框图;

图6是示出依据本原理的实施例、用于帧内色度编码的示例性方法的流程图;

图7是示出依据本原理的实施例、用于帧内色度解码的示例性方法的流程图;

图8是示出依据本原理的实施例、用于帧内色度编码的另一示例性方法的流程图;以及

图9是示出依据本原理的实施例、用于帧内色度解码的示例性方法的流程图。

具体实施方式

本原理针对用于改进的帧内色度编码和解码的方法和装置。

本描述说明了本原理。因此本领域技术人员应理解将能够设计出虽然未在此被明确描述或示出、但是体现本原理并且被包括在其范围内的各种布置。

在此所叙述的所有示例和条件性语言意在教导性的目的,以帮助读者理解本原理和由(多个)发明人为促进本领域而贡献的构思,并且要被解释为不限于这种具体叙述的示例和条件。

另外,在此叙述的本原理的原理、方面、以及实施例,以及本原理的具体示例的所有陈述,意在包含本原理的结构和功能两者的等效物。此外,这种等效物意在包括当前已知的等效物以及将来开发的等效物这两者,即,所开发的无论结构如何、执行相同功能的任何元件。

因此,例如,本领域技术人员应理解:在此呈现的框图表示体现本原理的例示性的电路的概念性视图。类似地,应理解:任何流程图示、流程图、状态转换图、伪代码等等表示实质上可以在计算机可读介质中表示的、并因此通过计算机或处理器执行的各种处理,无论这种计算机或处理器是否被明确示出。

可以通过使用专用的硬件与适合的软件相关联而执行软件的硬件来提供附图中所示的各种元件的功能。当由处理器提供时,可以由单个专用处理器、单个共享处理器、或其中一些可以被共享的多个独立处理器提供所述功能。另外,术语“处理器”或“控制器”的明确使用不应被解释为排他性地指代能够执行软件的硬件,并且其可以隐含地包括、而不限于数字信号处理器(“DSP”)硬件、用于存储软件的只读存储器(“ROM”)、随机存取存储器(“RAM”)、以及非易失性存储装置。

还可以包括其它的常规的和/或定制的硬件。类似地,附图中所示的任何开关只是概念性的。可以通过程序逻辑的操作、通过专用逻辑、通过程序控制和专用逻辑的交互作用、或甚至手动地执行它们的功能,如从上下文中具体理解的,具体技术可由实施者选择。

在其权利要求中,被表达为用于执行所指定的功能的部件的任何元件意在包含执行该功能的任何方式,所述任何方式例如包括:a)执行该功能的电路元件的组合或b)与用于执行软件的适当的电路组合以执行该功能的任何形式的软件(因此包括固件、微代码等)。由这样的权利要求所限定的本原理在于以下事实:以权利要求所请求保护的方式将所叙述的各种部件所提供的功能组合并放在一起。因此,可以提供这些功能的任何部件被认为等效于与在此所示出的那些部件。

说明书中对于本原理的“一个实施例”或者“一实施例”以及它的其它变形的引用意味着连同实施例描述的具体的特性、结构、特征,等等被包括在本原理的至少一个实施例中。由此,贯穿本说明书的各个位置中出现的措辞“一个实施例中”或“一实施例中”以及其它变形的出现不一定都指代相同的实施例。

应理解,例如在“A/B”、“A和/或B”和“A和B中的至少一个”的情况中,“/”、“和/或”以及“至少一个”任何一个的使用意欲包括仅仅对第一个列出的选项(A)的选择、或仅仅对第二个列出的选项(B)的选择、或者对于两个选项(A和B)的选择。作为另一示例,在“A、B和/或C”以及“A、B和C中的至少一个”的情况中,这种措辞意欲包括仅仅对于第一个列出的选项(A)的选择、或仅仅对于第二个列出的选项(B)的选择、或仅仅对于第三个列出的选项(C)的选择、或仅仅对于第一个和第二个列出的选项(A和B)的选择、或仅仅对于第一个和第三个列出的选项(A和C)的选择、或仅仅对于第二个和第三个列出的选项(B和C)的选择、或者对于全部三个选项(A和B和C)的选择。如本领域和相关领域普通技术人员容易认识到的,这可以被扩展用于很多列出的项目。

此外,如这里所使用的,词语“画面”和“图像”被可互换地使用,并且指代静止图像或来自视频序列的画面。如已知的,画面可以是帧或场。

另外,如这里所使用的,词语“发信号通知(signal)”指代向对应解码器指示某些内容(something)。例如,编码器可以发信号通知色度编码的特定的分区类型和/或分区模式以便解码器意识到在编码器侧使用的特定的分区类型和/或分区模式。以此方式,可以在编码器侧和解码器侧使用相同的功能。因此,例如,编码器可以向解码器传送特定的分区类型和/或分区模式使得解码器可以使用相同的特定的分区类型和/或分区模式,或者如果解码器已经具有该特定的分区类型和/或分区模式以及其它,则可以使用信令(无需传送)来简单地允许解码器知道并且选择特定的分区类型和/或分区模式。通过避免传送任何实际的分区类型和/或分区模式,可以实现比特的节约。应理解,可以以多种方式来实现发信号通知。例如,可以使用一个或多个语法元素、标志等来向对应解码器发信号通知信息。

此外,如在此使用的,单词“超级块”指代一个或多个宏块。

另外,如在此使用的,措辞“支持用于帧内色度编码的多种分区类型”指的是以下情形:其中帧内色度编码的分区类型不是固定为一种特定的分区类型,而是关于帧内色度编码的一组多种分区类型做出选择,并且其中帧内色度编码的该组多种分区类型与也可用于编码的一组帧内亮度编码的多种分区类型不同。

此外,应理解,尽管在此关于MPEG-4AVC标准来描述本原理的一个或多个实施例,但本原理不仅仅限于该标准,并且因此可以关于其它视频编码标准、推荐及其扩展,包括MPEG-4AVC标准的扩展而利用,同时保留本原理的精神。

转到图4,通过参考数字400总地指示可以应用本原理的示例性的视频编码器。

视频编码器400包括帧排序缓冲器410,帧排序缓冲器410具有与组合器485的非反相输入端进行信号通信的输出端。组合器485的输出端与变换器和量化器425的第一输入端信号通信地连接。变换器和量化器425的输出端与熵编码器445的第一输入端和逆变换器和逆量化器450的第一输入端信号通信地连接。熵编码器445的输出端与组合器490的第一非反相输入端信号通信地连接。组合器490的输出端与输出缓冲器435的第一输入端信号通信地连接。

编码器控制器405的第一输出端被信号通信地连接到帧排序缓冲器410的第二输入端、逆变换器和逆量化器450的第二输入端、画面类型判定模块415的输入端、宏块类型(MB-类型)判定模块420的第一输入端、具有支持用于色度编码的多分区的帧内预测模块460的第二输入端、去块滤波器465的第二输入端、运动补偿器470的第一输入端、运动估计器475的第一输入端,以及参考画面缓冲器480的第二输入端。

编码器控制器405的第二输出端被信号通信地连接到补充增强信息(SEI)插入器430的第一输入端、变换器和量化器425的第二输入端、熵编码器445的第二输入端、输出缓冲器435的第二输入端,以及序列参数集(SPS)和画面参数集(PPS)插入器440的输入端。

SEI插入器430的输出端与组合器490的第二非反相输入端信号通信地连接。

画面类型判定模块415的第一输出端与帧排序缓冲器410的第三输入端信号通信地连接。画面类型判定模块415的第二输出端与宏块类型判定模块420的第二输入端信号通信地连接。

序列参数集(SPS)和画面参数集(PPS)插入器440的输出端与组合器490的第三非反相输入端信号通信地连接。

逆量化器和逆变换器450的输出端与组合器419的第一非反相输入端信号通信地连接。组合器419的输出端与具有支持用于色度编码的多分区的帧内预测模块460的第一输出端和去块滤波器465的第一输入端信号通信地连接。去块滤波器465的输出端与参考画面缓冲器480的第一输入端信号通信地连接。参考画面缓冲器480的输出端与运动估计器475的第二输入端和运动补偿器470的第三输入端信号通信地连接。运动估计器475的第一输出端与运动补偿器470的第二输入端信号通信地连接。运动估计器475的第二输出端与熵编码器445的第三输入端信号通信地连接。

运动补偿器470的输出端与开关497的第一输入端信号通信地连接。具有支持用于色度编码的多分区的帧内预测模块460的输出端与开关497的第二输入端信号通信地连接。宏块判定模块420的输出端与开关497的第三输入端信号通信地连接。开关497的第三输入端确定开关的“数据”输入端(与控制输入端,即第三输入端相比)是由运动补偿器470还是由具有支持用于色度编码的多分区的帧内预测模块460提供。开关497的输出端与组合器419的第二非反相输入端和组合器485的反相输入端信号通信地连接。

帧排序缓冲器410的第一输入端和编码器控制器405的输入端可用作编码器400的输入端,用于接收输入画面401。此外,补充增强信息(SEI)插入器430的第二输入端可用作编码器400的输入端,用于接收元数据。输出缓冲器435的输出端可用作编码器400的输出端,用于输出比特流。

转到图5,通过参考数字500总地指示可以应用本原理的示例性的视频解码器。

视频解码器500包括输入缓冲器510,输入缓冲器510具有与熵解码器545的第一输入端信号通信地连接的输出端。熵解码器545的第一输出端与逆变换器和逆量化器550的第一输入端信号通信地连接。逆变换器和逆量化器550的输出端与组合器525的第二非反相输入端信号通信地连接。组合器525的输出端与去块滤波器565的第二输入端和具有支持用于色度解码的多分区的帧内预测模块560的第一输入端信号通信地连接。去块滤波器565的第二输出端与参考画面缓冲器580的第一输入端信号通信地连接。参考画面缓冲器580的输出端与运动补偿器570的第二输入端信号通信地连接。

熵解码器545的第二输出端被信号通信地连接到运动补偿器570的第三输入端、去块滤波器565的第一输入端、以及具有支持用于色度解码的多分区的帧内预测器560的第三输入端。熵解码器545的第三输出端与解码器控制器505的输入端信号通信地连接。解码器控制器505的第一输出端与熵解码器545的第二输入端信号通信地连接。解码器控制器505的第二输出端与逆变换器和逆量化器550的第二输入端信号通信地连接。解码器控制器505的第三输出端与去块滤波器565的第三输入端信号通信地连接。解码器控制器505的第四输出端与具有支持用于色度解码的多分区的帧内预测模块560的第二输入端、运动补偿器570的第一输入端、以及参考画面缓冲器580的第二输入端信号通信地连接。

运动补偿器570的输出端与开关597的第一输入端信号通信地连接。具有支持用于色度解码的多分区的帧内预测模块560的输出端与开关597的第二输入端信号通信地连接。开关597的输出端与组合器525的第一非反相输入端信号通信地连接。

输入缓冲器510的输入端可用作解码器500的输入端,用于接收输入的比特流。去块滤波器565的第一输出端可用作解码器500的输出端,用于对输出画面进行输出。

关于编码器400,依据本原理的一个或多个实施例配置具有支持用于色度编码的多分区的帧内预测器460来执行改进的帧内色度编码。关于解码器500,依据本原理的一个或多个实施例配置具有支持用于色度解码的多分区的帧内预测器560来执行改进的帧内色度解码。

如上所述,本原理针对改进的帧内色度编码和解码。此外,如上所述,关于现有技术,仅仅允许一种分区类型用于帧内色度编码。帧内编码的宏块的每个8×8色度分量利用4种帧内预测模式进行预测并且使用2×2DC Hadamard变换级联的4×4整数DCT。无论亮度分区类型是什么,色度分区类型是固定的。因此,我们认识到改进的机会,并且开发了用于帧内色度编码的改进编码效率的方法。本原理的一个或多个实施例尤其对于大的帧内分区类型有效。

如上所述,尽管为了说明的缘故,一个或多个实施例可能参照MPEG-4AVC标准,但要理解,本原理不仅仅限于该标准,并且因此可以用于其它视频编码标准、推荐、及其扩展,等等,同时保留本原理的精神。此外,要理解,为了说明的缘故,尽管可能关于MPEG-4AVC标准的4:2:0格式来描述一个或多个实施例,但本原理不仅仅限于这种格式,并且因此可以被应用于其它格式,包括但不限于,MPEG-4AVC标准的4:2:2或者4:4:4格式,或者其它标准、推荐,和/或其扩展的其它格式,同时保留本原理的精神。相反,各实施例共同的特定方面涉及对用于帧内色度编码的多种分区类型的使能。

方法1

依据第一示例性方法,在此也被互换地称为方法1,通过亮度分区类型来确定色度分区类型。然而,与第二现有技术方法不同,对于预定义的一组分区类型,使色度分区类型与亮度分区类型结合(align with)。例如,如果亮度分区类型是8×8,则用于4:2:0格式的色度分区类型将是4×4而不是如在第二种现有技术方法中进行的8×8色度。这是因为,色度的尺寸是亮度的1/2。关于变换,对于每个色度分区类型,从预定义的变换集中选择与分区类型匹配的可用的最大尺寸的变换。如果可用的最大尺寸的变换小于分区类型,则可以对DC系数应用通常被叫做级联的变换的Hadamard变换。在分区类型内部不对亮度和色度帧内预测模式进行任何约束。亮度和色度帧内预测模式可以相同或者不同。至于信令,仅仅发信号通知亮度分区类型,而不是色度分区类型,这是由于基于亮度分区类型来决定色度分区类型。可以从相邻块绝对地或者差分地(differentially)编码亮度分区类型。

实施例1

现在描述方法1的示例性实施例(下文的“实施例1”)。假定超级块尺寸是32×32。定义Luma_Partition_Type={Luma_32×32,Luma_16×16,Luma_8×8,Luma_4×4},Chroma_Partition_Type={Chroma_16×16,Chroma_8×8,Chroma_4×4},以及DCT_Tranform_Size={16×16,8×8,4×4}。然后,基于本原理,设置基本的编码块单元为8×8,luma_partition_type和chroma_partition_type之间的详细的映射和对应的变换在表2中示出。也就是,表2示出了依据本原理的实施例的用于4:2:0格式的帧内编码的预测分区尺寸和变换。当在超级块内部执行编码时,在所有亮度分区类型上循环,并且在亮度分量上执行模式判定并选择最佳的luma_partition_type和亮度帧内预测模式。然后,基于最佳的luma_partition_type判定色度分区类型并且选择最佳的色度帧内预测模式。仅仅发信号通知luma_partition_type、亮度模式和色度模式。在解码器处,仅仅解析luma_partition_type、亮度模式和色度模式。

表2

转到图6,通过参考数字600总地指示用于帧内色度编码的示例性方法。方法600对应于上面描述的实施例1的一种实现方式。方法600包括开始块605,其将控制传递到功能块610。功能块610执行编码设置,并且将控制传递到循环限制块620。循环限制块620开始在每个超级块上循环,并且将控制传递到循环限制块630。循环限制块630开始在亮度分区上循环,并且将控制传递到功能块640。功能块640(例如,基于率失真成本)选择最佳亮度模式,并且将控制传递到循环限制块650。循环限制块650结束在亮度分区上的循环,并且将控制传递到功能块660。功能块660(例如,基于率失真成本)设置最佳亮度分区和亮度模式,并且将控制传递到功能块670。功能块670基于最佳亮度分区设置最佳色度分区,并且将控制传递到功能块680。功能块680选择最佳色度模式,并且将控制传递到功能块690。功能块690编码亮度分区、亮度模式、色度模式,并且将控制传递到循环限制块695。循环限制块695结束在超级块上的循环,并且将控制传递到结束块699。关于功能块690,可以根据一个或多个相邻块对亮度分区进行绝对编码(absolutely code)或者差分编码(differentially code)。

转到图7,通过参考数字700总地指示用于帧内色度解码的示例性方法。方法700对应于上面描述的实施例1的一种实现方式。方法700包括开始块705,其将控制传递到循环限制块710。循环限制块710开始在每个超级块上循环,并且将控制传递到功能块720。功能块720解析亮度分区,并且将控制传递到功能块730。功能块730(基于功能块720解析的亮度分区)设置色度分区,并且将控制传递到功能块740。功能块740解析亮度模式,并且将控制传递到功能块750。功能块750解析色度模式,并且将控制传递到功能块760。功能块760(使用由功能块720、730、740和750解析/设置的项目)解码一个超级块,并且将控制传递到循环限制块770。循环限制块770结束在超级块上的循环,并且将控制传递到结束块799。

语法1

表3示出了依据本原理的实施例、实施例1的示例性的宏块层语法。

表3

表3的一些语法元素的语义如下:

intra32_flag等于1规定Luma_32×32用于32×32大块。Intra32_flag等于0规定32×32大块被进一步拆分(split)为16×16的分区。

intra_luma_pred_mode_32规定Luma_32×32的帧内预测模式。

intra_chroma_pred_mode_16规定Chroma_16×16的帧内预测模式。

sip_type_16[i]规定在第i个16×16亮度块中的空间帧内分区类型。空间帧内分区类型可以是Luma_16×16、Luma_8×8和Luma_4×4。

intra_luma_pred_mode_16[i]规定用于第i个16×16亮度块的Luma_16×16的帧内预测模式。

intra_chroma_pred_mode_8[i]规定用于第i个16×16亮度块的Chroma_8×8的帧内预测模式。

intra_luma_pred_mode_8[i]规定用于第i个8×8亮度块的Luma_8×8的帧内预测模式。

intra_luma_pred_mode_4[i]规定用于第i个4×4亮度块的Luma_4×4的帧内预测模式。

intra_chroma_pred_mode_4[i]规定用于第i个8×8亮度块的Chroma_4×4的帧内预测模式。

方法2

在此处也被互换地称为方法2的第二方法中,在宏块(MB)或者超级块内部独立地编码帧内亮度分区类型和色度分区类型。与MPEG-4AVC标准中的4:4:4单独模式的不同在于,在宏块/超级块的基础上而不是条带(slice)基础上进行判定,并且亮度和色度可以具有不同的帧内预测模式。与用于其它简档(profile)的MPEG-4AVC标准的不同在于,MPEG-4AVC标准仅仅允许一种色度分区类型,但是在我们的实施例中,允许一组色度分区类型。变换的选择规则与按照方法1的相同。对于信令,发信号通知亮度分区类型和色度分区类型,以及亮度模式和色度模式。可以根据相邻块绝对地或者差分地编码亮度分区类型和色度分区类型。可替换地,可以依据亮度分区类型差分地编码色度分区类型。色度可以与亮度使用相同或者不同的熵编码引擎。

实施例2

现在描述方法2的示例性实施例(下文的“实施例2”)。假定超级块尺寸是32×32。定义Luma_Partition_Type={Luma_32×32,Luma_16×16,Luma_8×8,Luma_4×4},Chroma_Partition_Type={Chroma_16×16,Chroma_8×8,Chroma_4×4},以及DCT_Tranform_Size={16×16,8×8,4×4}。当在超级块内部执行编码时,首先尝试所有可能的亮度分区类型和对应的预测模式来编码亮度分量,并且然后选择最佳的亮度分区类型和模式。然后尝试所有可能的色度分区类型和对应的预测模式来编码色度分量,并且然后选择最佳的色度分区类型和模式。编码亮度分区类型和色度分区类型这二者。在解码器处,解析亮度分区类型和色度分区类型二者的语法。

转到图8,通过参考数字800总地指示用于帧内色度编码的另一示例性方法。方法800对应于上面描述的实施例2的一种实现方式。方法800包括开始块805,其将控制传递到功能块810。功能块810执行编码设置,并且将控制传递到循环限制块820。循环限制块820在每个超级块上执行循环,并且将控制传递到循环限制块830。循环限制块830开始在亮度分区上循环,并且将控制传递到功能块840。功能块840(例如,基于率失真成本)选择最佳亮度模式,并且将控制传递到循环限制块850。循环限制块850结束在亮度分区上的循环,并且将控制传递到功能块860。功能块860(例如,基于率失真成本)设置最佳亮度分区和亮度模式,并且将控制传递到循环限制块870。循环限制块870开始在色度分区上循环,并且将控制传递到功能块875。功能块875选择最佳色度模式,并且将控制传递到循环限制块880。循环限制块880结束在色度分区上的循环,并且将控制传递到功能块885。功能块885设置最佳色度分区和色度模式,并且将控制传递到功能块890。功能块890编码亮度分区、亮度模式、色度分区和色度模式,并且将控制传递到循环限制块895。循环限制块结束在超级块上的循环,并且将控制传递到结束块899。关于功能块890,可以根据一个或多个相邻块对亮度分区和色度分区进行绝对编码或者差分编码,或者可以依据亮度分区对色度分区进行差分编码。

转到图9,通过参考数字900总地指示用于帧内色度解码的另一示例性方法。方法900对应于上面描述的实施例2的一种实现方式。方法900包括开始块905,其将控制传递到循环限制块910。循环限制块910开始在每个超级块上循环,并且将控制传递到功能块920。功能块920解析亮度分区,并且将控制传递到功能块930。功能块930解析亮度模式,并且将控制传递到功能块940。功能块940解析色度分区,并且将控制传递到功能块950。功能块950解析色度模式,并且将控制传递到功能块960。功能块960(使用由功能块920、930、940和950解析的项目)解码一个超级块,并且将控制传递到循环限制块970。循环限制块970结束在超级块上的循环,并且将控制传递到结束块999。

语法2

表4示出了依据本原理的实施例、实施例2的示例性的宏块层语法。

表4

表4的语法元素的语义如下:

intra32_flag等于1规定Luma_32×32用于32×32大块。Intra32_flag等于0规定32×32大块被进一步拆分为16×16的分区。

intra_luma_pred_mode_32规定Luma_32×32的帧内预测模式。

sip_type_16[i]规定在第i个16×16亮度块中的空间帧内分区类型。空间帧内分区类型可以是Luma_16×16、Luma_8×8和Luma_4×4。

intra_luma_pred_mode_16[i]规定用于第i个16×16亮度块的Luma_16×16的帧内预测模式。

intra_luma_pred_mode_8[i]规定用于第i个8×8亮度块的Luma_8×8的帧内预测模式。

intra_luma_pred_mode_4[i]规定用于第i个4×4亮度块的Luma_4×4的帧内预测模式。

sip_chroma_type_16[i]规定在第i个16×16色度块中的空间帧内分区类型。空间帧内分区类型可以是chroma_16×16、chroma_8×8和chroma_4×4。

intra_chroma_pred_mode_16规定Chroma_16×16的帧内预测模式。

intra_chroma_pred_mode_8[i]规定用于第i个8×8色度块的Chroma_8×8的帧内预测模式。

intra_chroma_pred_mode_4[i]规定用于第i个4×4色度块的Chroma_4×4的帧内预测模式。

现在将给出对本发明的许多伴随优点/特征中的一些的描述,它们中的一些已经在以上提到过。例如,一个优点/特征是一种具有用于编码画面的至少一个块的画面数据的编码器的装置。支持用于该块的帧内色度编码多种分区类型。多种分区类型包括一组色度分区类型和一组亮度分区类型。该组色度分区类型与该组亮度分区类型不同。

另一优点/特征是具有如上所述的编码器的装置,其中响应于编码该块或者一个或多个相邻块所用的亮度分区类型,从该组色度分区类型中确定用于编码该块的特定的色度分区类型,所述亮度分区类型被包括在该组亮度分区类型中。

另一优点/特征是具有编码器的装置,其中如上所述,响应于编码该块或者一个或多个相邻块所用的亮度分区类型,从该组色度分区类型中确定用于编码该块的特定的色度分区类型,所述亮度分区类型被包括在该组亮度分区类型中,其中对于特定的色度分区类型,从一组变换中选择与该特定的色度分区类型匹配的可用的最大尺寸的变换。

又一优点/特征是具有编码器的装置,其中如上所述,响应于编码该块或者一个或多个相邻块所用的亮度分区类型,从该组色度分区类型中确定用于编码该块的特定的色度分区类型,所述亮度分区类型被包括在该组亮度分区类型中,其中在被选择用来编码该块的特定亮度分区类型和特定的色度分区类型中,仅仅发信号通知该特定的亮度分区类型,该特定的亮度分区类型是从该组亮度分区类型中选择的并且该特定的色度分区类型是从该组色度分区类型中选择的。

另一优点/特征是具有编码器的装置,其中如上所述,在被选择用来编码该块的特定亮度分区类型和特定的色度分区类型中,仅仅发信号通知该特定的亮度分区类型,该特定的亮度分区类型是从该组亮度分区类型中选择的并且该特定的色度分区类型是从该组色度分区类型中选择的,其中根据一个或多个相邻块绝对地或者差分地编码该特定的亮度分区类型。

又一优点/特征是具有如上所述的编码器的装置,其中从用于编码该块的特定的亮度分区类型中独立地确定用于编码该块的特定的色度分区类型,该特定的色度分区类型是从该组色度分区类型中确定的并且该特定的亮度分区类型是从该组亮度分区类型中确定的。

此外,另一优点/特征是具有编码器的装置,其中如上所述,从用于编码该块的特定的亮度分区类型中独立地确定用于编码该块的特定的色度分区类型,该特定的色度分区类型是从该组色度分区类型中确定的并且该特定的亮度分区类型是从该组亮度分区类型中确定的,其中发信号通知该特定的色度分区类型和该特定的亮度分区类型这二者。

此外,另一优点/特征是具有编码器的装置,其中如上所述,发信号通知该特定的色度分区类型和该特定的亮度分区类型这二者,其中根据一个或多个相邻块绝对地或者差分地编码该特定的亮度分区类型和该特定的色度分区类型。

另外,另一优点/特征是具有编码器的装置,其中如上所述,发信号通知该特定的色度分区类型和该特定的亮度分区类型这二者,其中根据该特定的亮度分区类型差分地编码该特定的色度分区类型。

另外,另一优点/特征是具有如上所述的编码器的装置,其中用于编码该块的色度熵编码引擎与用于编码该块的亮度熵编码引擎不同。

相关领域的普通技术人员基于在此的教导可以很容易地获得本原理的这些和其它特征以及优点。要理解,可以以各种形式的硬件、软件、固件、专用处理器或其组合来实现本原理的教导。

最优选地,将本原理的教导实现为硬件和软件的组合。而且,可以将该软件实现为在程序存储单元上有形体现的应用程序。可以将该应用程序上载到包括任何合适架构的机器,并由其执行。优选地,在具有诸如一个或多个中央处理单元(“CPU”)、随机存取存储器(“RAM”)、以及输入/输出(“I/O”)接口之类的硬件的计算机平台上实现该机器。该计算机平台还可以包括操作系统和微指令代码。在此描述的各种处理和功能可以是由CPU可以执行的微指令代码的一部分、或者应用程序的一部分、或者是其的任何组合。此外,诸如附加数据存储单元和打印单元之类的各种其它的外设单元可与该计算机平台连接。

还要理解,因为优选地以软件实现附图中描绘的一些组成系统组件和方法,所以取决于对本原理进行编程的方式,该系统组件或处理功能块之间的实际连接可能有所不同。给出在此的教导,相关领域的普通技术人员将能够设想到本原理的这些和类似的实现方式或配置。

虽然参照附图已经在此描述了说明性的实施例,但应当理解,本原理不限于这些精确的实施例,并且相关领域的普通技术人员可以在其中实施各种改变和修改而不脱离本原理的范围或精神。所有这种改变和修改旨在被包括在所附的权利要求中所阐述的本原理的范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1