视频编码/解码设备和方法转让专利

申请号 : CN201180029802.X

文献号 : CN102986213B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 宋振翰林晶娟文柱禧李英烈金海光全炳宇韩钟基朴亨美李柱玉

申请人 : SK电信有限公司

摘要 :

一种视频编码/解码设备,该视频编码/解码设备包括:视频编码器,其对表明宏块中的要编码的块的块模式是否为跳过模式的块模式信息进行编码,对分割模式信息和包括索引信息的跳过运动信息进行编码,根据所述块模式信息和所述分割模式信息对所述块的变换类型信息、CBP信息和差量量化参数信息中的至少一个进行编码,并且基于所述块的所述编码信息对所述块的系数信息进行编码;以及视频解码器,其对比特流进行解码,以重构表明要解码的块的块模式是否为跳过模式的块模式信息、表明块是否被划分为子块的分割模式信息以及包括索引信息的跳过运动信息,并且基于所重构的信息利用所重构的跳过运动信息来重构所述块。

权利要求 :

1.一种视频解码设备,该视频解码设备包括:

编码信息解码器,其用于对比特流进行解码,以重构表明要解码的块的块模式是否为跳过模式的块模式信息、表明所述块是否被划分为子块的分割模式信息、跳过运动信息、以及根据所述块模式信息和所述分割模式信息的组合而编码的各子块的编码块模式信息,其中各子块的编码块模式信息表明对应的子块中是否存在非零变换系数;以及视频解码器,其用于通过以下处理基于从所述编码信息解码器重构的块模式信息来重构所述块:当所述块模式信息指示所述块的块模式是跳过模式时,利用所重构的跳过运动信息来重构所述块。

2.一种视频编码方法,该视频编码方法包括以下处理:对最大变换子块和最小变换子块的大小进行编码;

对表明宏块中的要编码的块的块模式是否为跳过模式的信息进行编码;

如果所述块的块模式是跳过模式,则对所述块的跳过运动信息进行编码而不对所述块的变换系数进行编码;

如果所述块的块模式不是跳过模式,则利用树结构对所述块的变换信息进行编码,其中所述块的变换信息包括:表明要编码的所述块是否被划分为变换子块的信息,以及针对各个变换子块的与色度分量和亮度分量有关的信息。

3.根据权利要求2所述的视频编码方法,其中,

所述块的变换信息包括表明要编码的所述块中是否存在亮度分量和色度分量的非零变换系数的信息。

说明书 :

视频编码/解码设备和方法

技术领域

[0001] 本发明涉及视频编码/解码设备和方法。更具体地说,本发明涉及一种能够通过以下处理改进视频压缩效率和视频重构效率的视频编码/解码设备和方法:对用于编码视频的编码信息进行有效编码;通过选择性使用各种编码方案来编码视频;以及根据经编码的编码信息和编码方案来自适应地对视频进行解码。

背景技术

[0002] 本部分的说明仅提供与本发明有关的背景信息,并不构成现有技术。
[0003] 视频数据压缩技术的示例包括H.261、H.263、MPEG-2和MPEG-4。根据视频压缩技术,在将各个图像分割为由亮度分量的矩形16×16像素区域和色度分量的矩形8×8像素区域组成的固定大小宏块之后,对各个图像进行编码。对各个宏块的所有亮度分量和色度分量进行空间或时间预测,并且在传输之前对所得的预测残留进行变换、量化和熵编码。
[0004] 现有的视频编码设备中使用的块模式对表明当前编码目标块使用预测运动向量并且没有要编码的变换系数的标记进行编码,并且不对任何其它信息进行编码。在不使用预测运动向量或者具有要编码的变换系数的块的情况下,对块的类型信息和块的预测信息(相对于预测运动向量的差向量和基准图片数)进行编码并且对变换系数进行编码。
[0005] 然而,在这种典型的视频压缩技术中,难以有效地对仅具有作为要编码的数据的差运动向量而没有要编码的变换系数的块或者没有差运动向量而仅具有要编码的变换系数的块进行编码,并且难以有效地对用于编码视频的各种信息进行编码。
[0006] 此外,对视频进行编码和解码时的联合操作使得难以从视频编码的已经下降的压缩效率预期高效的视频解码。

发明内容

[0007] 技术问题
[0008] 因此,为了解决上述问题,本发明试图通过对用于编码视频的编码信息进行有效编码以及选择性地利用各种编码方案和解码方案对视频进行编码来改进视频压缩效率。
[0009] 概述
[0010] 本发明的实施方式提供了一种视频编码/解码设备,该视频编码/解码设备包括:视频编码器,其对表明宏块中的要编码的块的块模式是否为跳过(skip)模式的分割模式信息进行编码,根据所述块模式信息和所述分割模式信息对所述块的变换类型信息、编码块模式(CBP)信息和差量量化参数信息中的至少一个进行编码,并且基于所述块的编码信息对所述块的系数信息进行编码;以及视频解码器,其对比特流进行解码,以重构表明要解码的块的块模式是否为跳过模式的块模式信息、表明所述块是否被划分为子块的分割模式信息以及根据所述块模式信息和所述分割模式信息的组合而编码的变换类型信息,并且基于所重构的信息或者通过对所述比特流进行解码来重构所述块。
[0011] 本发明的另一实施方式提供了一种视频编码设备,该视频编码设备包括:编码信息编码器,其对表明宏块中的要编码的块的块模式是否为跳过模式的分割模式信息进行编码并且根据所述块模式信息和所述分割模式信息的组合对所述块的变换类型信息进行编码;以及视频解码器,其基于所述块的所述变换类型信息对所述块的系数信息进行编码。
[0012] 这里,所述编码信息编码器可以基于所述块模式信息和所述分割模式信息来生成所述宏块中的最低节点值,并且基于生成的最低节点值来生成树结构的最高节点值。
[0013] 此外,编码信息编码器可以按照16×16像素块为单位来选择所述宏块的变换类型,并且使用与按照16×16像素块为单位选择的变换类型相同的16×16像素块中的子块的变换类型。
[0014] 此外,所述编码信息编码器可以按照块为单位来选择所述宏块中的块(其大小等于或大于16×16像素块)的变换类型,并且按照16×16像素块为单位来选择宏块中的子块的变换类型,该子块被划分为小于16×16像素块的块。
[0015] 此外,所述编码信息编码器在没有变换系数的情况下可以跳过对块的变换类型进行编码。
[0016] 此外,如果所述块的块模式是跳过模式或者如果CBPX标记是0,则所述编码信息编码器可以跳过对变换类型进行编码。
[0017] 本发明的另一实施方式提供了一种视频编码设备,该视频编码设备包括:编码信息编码器,其对表明宏块中的要编码的块的块模式是否为跳过模式的分割模式信息进行编码,并且根据所述块模式信息和所述分割模式信息的组合对所述块的编码块模式(CBP)信息进行编码;以及视频编码器,其基于所述块的所述CBP信息对所述块的系数信息进行编码。
[0018] 这里,所述块的所述CBP信息是表明所述块中是否存在非零变换系数的1比特标记。
[0019] 此外,如果预发送模式值或标记包括表明当前块中不存在要编码的变换系数的信息,则所述编码信息编码器跳过生成所述当前块的节点值。
[0020] 此外,如果所述块包括非零变换系数,则所述编码信息编码器对所述CBP信息进行编码。
[0021] 此外,如果所述块的亮度分量经4×4变换或8×8变换,则所述编码信息编码器根据8×8像素块中是否存在非零变换系数来生成节点值。
[0022] 此外,如果所述块的亮度分量经8×16变换或16×8变换,则所述编码信息编码器根据8×16像素块或16×8像素块中是否存在非零变换系数来生成节点值。
[0023] 此外,如果所述块的所述块模式是跳过模式或者如果CBPX标记是0,则所述编码信息编码器跳过生成节点值而对CBP信息进行编码。
[0024] 此外,所述编码信息编码器基于所述块模式信息和所述分割模式信息来生成所述宏块中的最低节点值,并且基于生成的最低节点值来生成树结构的最高节点值。
[0025] 本发明的另一实施方式提供了一种视频编码设备,该视频编码设备包括:编码信息编码器,其对表明宏块中的要编码的块的块模式是否为跳过模式的分割模式信息进行编码,并且根据所述块模式信息和所述分割模式信息的组合对所述块的差量量化参数信息进行编码;以及视频编码器,其基于所述块的所述差量量化参数信息对所述块的系数信息进行编码。
[0026] 这里,所述编码信息编码器基于所述块模式信息和所述分割模式信息来生成所述宏块中的最低节点值,并且基于生成的最低节点值来生成树结构的最高节点值。
[0027] 此外,所述编码信息编码器仅对所述宏块的所述差量量化参数信息或所述宏块中 的具有非零变换系数的16×16像素块进行编码。
[0028] 此外,所述编码信息编码器将所述差量量化参数信息变换为预定码数(codenumber),接着通过树结构对所述预定码数进行编码。
[0029] 此外,所述编码信息编码器对所述差量量化参数信息的绝对值进行编码,接着仅对非零差量量化参数信息进行编码。
[0030] 本发明的另一实施方式提供了一种视频解码设备,该视频解码设备包括:编码信息解码器,其对比特流进行解码,以重构表明要解码的块的块模式是否为跳过模式的块模式信息、表明所述块是否被划分为子块的分割模式信息以及根据所述块模式信息和所述分割模式信息的组合而编码的变换类型信息;以及视频解码器,其基于来自所述编码信息解码器的所述重构信息或者通过对所述比特流进行解码来重构所述块。
[0031] 本发明的另一实施方式提供了一种视频解码设备,该视频解码设备包括:编码信息解码器,其对比特流进行解码,以重构表明要解码的块的块模式是否为跳过模式的块模式信息、表明所述块是否被划分为子块的分割模式信息以及根据所述块模式信息和所述分割模式信息的组合而编码的编码块模式(CBP)信息;以及视频解码器,其基于来自所述编码信息解码器的所述重构信息或者通过对所述比特流进行解码来重构所述块。
[0032] 本发明的另一实施方式提供了一种视频解码设备,该视频解码设备包括:编码信息解码器,其对比特流进行解码,以重构表明要解码的块的块模式是否为跳过模式的块模式信息、表明所述块是否被划分为子块的分割模式信息以及根据所述块模式信息和所述分割模式信息的组合而编码的差量量化参数信息;以及视频解码器,其基于来自所述编码信息解码器的所述重构信息或者通过对所述比特流进行解码来重构所述块。
[0033] 本发明的另一实施方式提供了一种视频编码/解码方法,该视频编码/解码方法包括以下处理:对表明宏块中的要编码的块的块模式是否为跳过模式的分割模式信息进行编码,根据所述块模式信息和所述分割模式信息的组合对所述块的变换类型信息、编码块模式(CBP)信息和差量量化参数信息中的至少一个进行编码,并且基于所述块的经编码信息对所述块的系数信息进行编码;以及对比特流进行解码,以重构表明要解码的块的块模式是否为跳过模式的块模式信息、表明所述块是否被划分为子块的分割模式信息以及根据所述块模式信息和所述分割模式信息的组合而编码的变换类 型信息,并且基于所重构的信息或者通过对所述比特流进行解码来重构所述块。
[0034] 本发明的另一实施方式提供了一种视频编码方法,该视频编码方法包括以下处理:编码信息编码处理,对表明宏块中的要编码的块的块模式是否为跳过模式的分割模式信息进行编码并且根据所述块模式信息和所述分割模式信息的组合对所述块的变换类型信息进行编码;以及视频编码处理,基于所述块的所述变换类型信息对所述块的系数信息进行编码。
[0035] 这里,所述编码信息编码处理基于所述块模式信息和所述分割模式信息来生成所述宏块中的最低节点值,并且基于生成的最低节点值来生成树结构的最高节点值。
[0036] 此外,所述编码信息编码处理按照16×16像素块为单位来选择所述宏块的变换类型,并且使用与按照16×16像素块为单位选择的变换类型相同的16×16像素块中的子块的变换类型。
[0037] 此外,所述编码信息编码处理按照块为单位来选择所述宏块中的块(其大小等于或大于16×16像素块)的变换类型,并且按照16×16像素块为单位来选择宏块中的子块的变换类型,该子块被划分为小于16×16像素块的块。
[0038] 此外,所述编码信息编码处理在没有变换系数的情况下跳过对块的变换类型进行编码。
[0039] 此外,如果所述块的块模式是跳过模式或者如果CBPX标记是0,则所述编码信息编码处理跳过对变换类型进行编码。
[0040] 本发明的另一实施方式提供了一种视频编码方法,该视频编码方法包括以下处理:编码信息编码处理,对表明宏块中的要编码的块的块模式是否为跳过模式的分割模式信息进行编码,并且根据所述块模式信息和所述分割模式信息的组合对所述块的编码块模式(CBP)信息进行编码;以及视频编码处理,基于所述块的所述CBP信息对所述块的系数信息进行编码。
[0041] 这里,所述块的所述CBP信息是表明所述块中是否存在非零变换系数的1比特标记。
[0042] 此外,如果预发送的模式值或标记包括表明当前块中不存在要编码的变换系数的信息,则所述编码信息编码处理跳过生成当前块的节点值。
[0043] 此外,如果所述块包括非零变换系数,则所述编码信息编码处理对所述CBP信息进行编码。
[0044] 此外,如果所述块的亮度分量经4×4变换或8×8变换,则所述编码信息编码处理根据8×8像素块中是否存在非零变换系数来生成节点值。
[0045] 此外,如果所述块的亮度分量经8×16变换或16×8变换,则所述编码信息编码处理根据8×16像素块或16×8像素块中是否存在非零变换系数来生成节点值。
[0046] 此外,如果所述块的所述块模式是跳过模式或者如果CBPX标记是0,则所述编码信息编码处理跳过生成节点值而对CBP信息进行编码。
[0047] 此外,所述编码信息编码处理基于所述块模式信息和所述分割模式信息来生成所述宏块中的最低节点值,并且基于生成的最低节点值来生成树结构的最高节点值。
[0048] 本发明的另一实施方式提供了一种视频编码方法,该视频编码方法包括以下处理:编码信息编码处理,对表明宏块中的要编码的块的块模式是否为跳过模式的分割模式信息进行编码,并且根据所述块模式信息和所述分割模式信息的组合对所述块的差量量化参数信息进行编码;以及视频编码处理,基于所述块的所述差量量化参数信息对所述块的系数信息进行编码。
[0049] 这里,所述编码信息编码处理基于所述块模式信息和所述分割模式信息来生成所述宏块中的最低节点值,并且基于生成的最低节点值来生成树结构的最高节点值。
[0050] 此外,所述编码信息编码处理仅对所述宏块的所述差量量化参数信息或所述宏块中的具有非零变换系数的16×16像素块进行编码。
[0051] 此外,所述编码信息编码处理将所述差量量化参数信息变换为预定码数,接着通过树结构对所述预定码数进行编码。
[0052] 此外,所述编码信息编码处理对所述差量量化参数信息的绝对值进行编码,接着仅对非零差量量化参数信息进行编码。
[0053] 本发明的另一实施方式提供了一种视频解码方法,该视频解码方法包括以下处理:编码信息解码处理,对比特流进行解码,以重构表明要解码的块的块模式是否为跳过模式的块模式信息、表明所述块是否被划分为子块的分割模式信息以及根据所述块模式信息和所述分割模式信息的组合而编码的变换类型信息;以及视频解码处理,基于来自所述编码信息解码器的所重构的信息或者通过对所述比特流进行解码来重构所述块。
[0054] 本发明的另一实施方式提供了一种视频解码方法,该视频解码方法包括以下处理:编码信息解码处理,对比特流进行解码,以重构表明要解码的块的块模式是否为 跳过模式的块模式信息、表明所述块是否被划分为子块的分割模式信息以及根据所述块模式信息和所述分割模式信息的组合而编码的编码块模式(CBP)信息;以及视频解码处理,基于来自所述编码信息解码器的所重构的信息或者通过对所述比特流进行解码来重构所述块。
[0055] 本发明的另一实施方式提供了一种视频解码方法,该视频解码方法包括以下处理:编码信息解码处理,对比特流进行解码,以重构表明要解码的块的块模式是否为跳过模式的块模式信息、表明所述块是否被划分为子块的分割模式信息以及根据所述块模式信息和所述分割模式信息的组合而编码的差量量化参数信息;以及视频解码处理,基于来自所述编码信息解码器的所重构的信息或者通过对所述比特流进行解码来重构所述块。
[0056] 有益效果
[0057] 根据本发明的实施方式,可以通过对用于编码视频的编码信息进行有效编码以及通过选择性使用各种编码方案和解码方案对视频进行编码来提高视频压缩效率。
[0058] 此外,可以通过根据所述视频编码自适应地对视频进行解码来提高视频重构效率。

附图说明

[0059] 图1是例示了根据本发明的实施方式的视频编码设备的示意性构造的框图;
[0060] 图2是例示了图1中的视频编码器的示意性构造的图;
[0061] 图3是例示了根据本发明的实施方式的针对帧内预测编码和帧间预测编码的宏块和各种大小的子块的图;
[0062] 图4是例示了根据本发明的实施方式的各个分割类型的编号的图;
[0063] 图5是例示了根据本发明的实施方式的视频编码方法的流程图;
[0064] 图6是例示了根据本发明的实施方式而编码的比特流的句法结构的例示图;
[0065] 图7和图8是例示了根据本发明的实施方式利用树结构来编码分割类型信息的处理的例示图;
[0066] 图9和图10是例示了根据本发明的实施方式的树结构的示例的图;
[0067] 图11和图12是例示了根据本发明的实施方式的变换类型编码和解码的图;
[0068] 图13是例示了针对要编码的变换类型值的最低节点值的示例的图;
[0069] 图14是例示了图13中的最高节点值的示例的图;
[0070] 图15是例示了图11中的宏块编号1的树结构的示例的图;
[0071] 图16是例示了图11中的宏块编号4的树结构的示例的图;
[0072] 图17是例示了图11中的宏块编号7的树结构的示例的图;
[0073] 图18是例示了要编码的变换类型值的最低节点值的另一示例的图;
[0074] 图19是图18中的宏块编号4的树结构的示例的图;
[0075] 图20是图18中的宏块编号7的树结构的示例的图;
[0076] 图21是例示了CBPX标记和CBP的编码/解码顺序的流程图;
[0077] 图22是例示了编码器中所选择的变换类型和所选择的块模式的示例的图;
[0078] 图23是例示了CBP比特值的最低节点值的示例和CBP比特的发送单位的图;
[0079] 图24是例示了图23中的与16×16区域对应的块被用作最高块的情况下的最高节点值的示例的图;
[0080] 图25是例示了差量量化参数编码的示例的图;
[0081] 图26是例示了图25中的差量量化参数被变换为排列码数的情况的示例的图;
[0082] 图27是例示了图26中的树结构生成的示例的图;
[0083] 图28是例示了图26中的树结构生成的另一示例的图;
[0084] 图29是例示了差量量化参数编码的另一示例的图;
[0085] 图30是例示了采用图29中的差量量化参数的绝对值的情况的图;
[0086] 图31是例示了对图29中的码进行编码的方法的图;
[0087] 图32是例示了根据本发明的实施方式的视频解码设备的示意性构造的框图;
[0088] 图33是例示了图32中的视频解码器的示意性构造的图;
[0089] 图34是例示了根据本发明的实施方式的视频解码方法的流程图;
[0090] 图35是例示了根据本发明的另一实施方式的视频编码设备的示意性构造的框图;
[0091] 图36是例示了根据本发明的另一实施方式的视频编码方法的流程图;
[0092] 图37是例示了根据本发明的另一实施方式的视频解码设备的示意性构造的框图;
[0093] 图38是例示了根据本发明的实施方式的视频解码方法的流程图;
[0094] 图39是例示了根据本发明的第二实施方式的变换信息编码的示例的图;
[0095] 图40是例示了利用树结构对图39中的子块B的变换信息进行编码的示例的图;
[0096] 图41是例示了利用树结构对图39中的子块C的变换信息进行编码的示例的图;
[0097] 图42是例示了利用树结构对图39中的子块C的变换信息进行编码的另一示例的图;
[0098] 图43是例示了利用树结构对图39中的子块D的变换信息进行编码的示例的图。

具体实施方式

[0099] 根据本发明的实施方式的视频编码设备和视频解码设备可以是个人计算机(PC)、笔记本或膝上型计算机、个人数字助理(PDA)、便携式多媒体播放器(PMP)、便携式游戏机(PSP)或移动通信终端、智能电话等,并且可以表示配备有例如诸如用于在各种装置或有线/无线通信网络之间进行通信的调制解调器的通信装置、用于存储用于对视频和相关数据进行编码或解码的各种程序的存储器以及用于执行这些程序以进行操作和控制的微处理器的各种设备。
[0100] 此外,由视频编码设备编码为比特流的视频可以实时或非实时地发送给用于在经由有线/无线通信网络发送视频之后对该视频进行解码以将其重构和再现为视频的视频解码设备,其中,所述有线/无线通信网络包括互联网、短距离无线通信网络、无线LAN网络、也称为WiMax网络的WiBro(无线宽带)以及移动通信网络或诸如电缆或USB(通用串行总线)的通信接口。
[0101] 尽管以下将描述输入视频在编码和解码之前被以宏块为单位进行划分,但是本发明的实施方式不限于此。例如,输入视频可以不被划分为诸如宏块的规则的块,而是可以划分为诸如圆、梯形和六边形的各种不规则的块,接着按照所划分的区域进行编码和解码。
[0102] 图1是例示了根据本发明的实施方式的视频编码设备的示意性构造的框图。
[0103] 根据本发明的实施方式的视频编码设备100可以包括编码信息编码器110和视频编码器200。
[0104] 视频信息编码器110对表明要编码的视频的块的块模式是否为跳过模式的块模式信息以及表明块是否被划分为子块的分割模式信息进行编码,并且根据所述块模式信息和所述分割模式信息的组合对块的跳过运动信息或包括块的块类型信息和预测信息的预测编码信息进行编码。
[0105] 在本发明的实施方式中,编码信息不是按照块为单位编码的视频的像素信息,而是用于对像素信息进行编码的附加信息。编码信息的示例可以包括块的块模式信息、分割模式信息、跳过运动信息、块类型信息、预测信息、预测编码信息、变换类型信息、编码块模式(CBP)信息、差量量化参数信息以及跳过类型信息。
[0106] 块模式信息是表明块的块模式是否为跳过模式的信息。块模式可以包括表明块是要在不编码的情况下跳过还是要在不跳过的情况下进行编码的跳过模式和非跳过模式。块模式信息可以例如通过表明块的块模式是跳过模式或非跳过模式的1比特跳过块标记来具体实现,但是不限于此,而是可以按照各种其它方法来具体实现。
[0107] 跳过模式是不对诸如块类型信息、运动信息或变换系数信息的特定信息进行编码的模式。
[0108] 例如,如果当前要编码的输入视频中的块的块模式是跳过模式,则视频编码设备100会仅对表明跳过模式的信息进行编码,而不对诸如块类型信息、运动信息或变换系数信息的其它信息进行编码。
[0109] 作为另一示例,跳过模式可以是仅对块的运动信息进行编码而不对诸如类型信息和变换系数信息的其它信息进行编码的模式。
[0110] 作为另一示例,跳过模式可以是仅对块的变换类型信息和变换系数信息进行编码而不对类型信息和运动信息进行编码的模式。
[0111] 作为另一示例实施方式,非发送信息可以根据跳过模式而在各个块大小之间不同。例如,如果64×64块是跳过模式,则仅变换系数信息可以被编码;如果16×16块是跳过模式,则仅运动信息可以被编码。
[0112] 分割模式信息是表明块是否被划分为更小的子块的信息。
[0113] 例如,如果当前要由视频编码设备100进行编码的输入视频中的块是64×64像素宏块,则64×64像素宏块可以划分为各种大小和数量的子块,诸如两个64×32像素子块、一个64×32像素子块、两个32×32像素子块和四个32×32像素子块,并且可以按照子块为单位进行编码。在该情况下,分割模式信息表明宏块是否在编码之前被划分为子块。分割模式信息可以具体实现为例如表明块被划分为子块的1比特分割标记,但是不限于此,而是可以按照各种其它方法具体实现。
[0114] 作为另一示例,分割模式信息是表明块被划分为预定大小的更小子块的信息。
[0115] 例如,如果当前要由视频编码设备100编码的输入视频中的块是64×64像素宏块, 则64×64像素宏块可以通过表明其是否被划分为16×16块子块的1比特标记被划分为16个16×16块。此外,各个16×16块可以被划分为更小子块,并且可以通过表明子块的形状的信息(分割类型信息)进行编码。
[0116] 如果要编码的块的块模式是跳过模式,则跳过运动信息是通过对块、块的运动向量与块的预测运动向量之间的差向量和/或基准图片索引进行运动估计而确定的运动向量。具体地说,如果块的块模式是跳过模式,则视频编码设备100仅对块的跳过运动信息进行编码而不对块的系数信息进行编码。在该情况下,稍后描述的视频解码设备重构跳过运动信息并通过利用重构的跳过运动信息对块的运动进行补偿来重构该块。
[0117] 作为跳过模式的另一示例性实施方式,仅当要编码的基准图片索引为0时才应用跳过模式,并且如果块的块模式是跳过模式,则视频编码设备100仅对通过对块或者块的运动向量与块的预测运动向量之间的差向量进行运动估计而确定的运动向量进行编码,而不对基准图片索引和块的运动信息进行编码。稍后描述的视频解码设备仅重构所确定的运动向量或块的运动向量与预测运动向量之间的差向量,并且通过将基准图片索引设置为0(即,上一个重构图片用作基准图片)对块进行运动补偿来重构块。
[0118] 作为跳过模式的另一示例性实施方式,在确定要编码的块的预测运动向量时,如果当前要编码的块的上部块和左部块的一个或更多个运动向量是零向量(即,{0,0})则零向量可用作预测运动向量。在其它情况下,上部块、左部块和右上部块的运动向量的中间值被用作预测运动向量。如果当前要编码的块是跳过模式,则当在确定预测运动向量中上部块或左部块的运动向量是{0,0}时,稍后描述的视频解码设备使用{0,0}作为预测运动向量,并通过重构重构差向量并执行运动补偿来重构块。
[0119] 作为另一示例性实施方式,不同的预测运动向量可以根据各个块大小而不同。例如,对于大于16×16的块,中间向量被用作预测运动向量,而与当前要编码的块的上部块和左部块的向量值无关。对于16×16块,如果当前要编码的块的上部块和左部块的向量是(0,0),则零向量被用作预测向量。在其它情况下,左部块、上部块和左上部块的三个运动向量的中间向量被用作预测运动向量(反之亦然)。
[0120] 如果要编码的块的块模式不是跳过模式,则块类型信息表明块是帧间块还是帧内块以及块的子块的分割类型。
[0121] 作为示例,块类型信息可以按照宏块为单位进行编码,并且可以包括表明宏块是帧间宏块还是帧内宏块的1比特块类型标记以及表明块的子块的分割类型的分割类型信息。例如,可以用表明块是帧间宏块还是帧内宏块的1或0二进制比特来表示块类型标记。分割类型信息可以用子块的各个分割类型编号来表示。作为另一示例,分割类型信息可以按照16×16像素大小为单位进行编码,并且如果当前16×16块是帧内块,则表明当前块中的子块是帧内模式。
[0122] 作为另一示例,块类型信息可以包括表明块是帧间宏块还是帧内宏块的1比特块类型标记、表明块的子块的分割类型的分割类型信息以及表明子块的块模式是否为跳过模式的1比特跳过子块标记。这里,跳过子块标记表明块的各个子块是否为跳过模式,并且如果子块为跳过模式,则表明子块被跳过而不进行编码。即,如果块的多个子块当中的要编码的子块是跳过模式,则不对该子块的运动信息和系数信息进行编码。
[0123] 作为另一示例,块类型信息可以通过根据块是帧间块还是帧内块以及块的子块的分割类型而分配给多个可用块类型的块类型编号来具体实现。
[0124] 此外,块类型信息可以表明根据分割模式信息要进行编码的块的块类型,或者可以表明要编码的块的各个子块的块类型。例如,如果分割模式信息表明要编码的块没有划分为子块,则分割模式信息表明要编码的块是帧间块还是帧内块以及块的分割类型(即,没有划分的宏块的类型);并且如果分割模式信息表明要编码的块被划分为子块,则分割类型信息表明要编码的块的各个子块是帧间块还是帧内块以及块的子块的分割类型。
[0125] 预测信息是用于对要编码的块或该块的各个子块进行预测编码的信息。预测信息可以是关于针对帧内预测编码的帧内预测模式的信息,并且可以是关于针对帧间预测编码的运动向量的信息和关于基准图片索引的信息。
[0126] 变换类型信息是关于用来对要编码的块或者该块的各个子块进行变换和量化的变换单位的信息。例如,如果64×64像素块在没有被进一步划分的情况下被编码,并且16×16变换被确定为足够,则可以将表明使用16×16变换的信息编码为变换类型信息。
[0127] CBP信息是表明要编码的块或者该块的各个子块的变换系数是否全部为0的信息,并且差量量化参数信息是表明要编码的块或者该块的各个子块的量化参数的信息。
[0128] 可以通过经由编码信息编码器110分析输入视频或者通过经由视频编码器200分析输入视频来确定上述块模式信息、分割模式信息、块类型信息、预测信息、分割类型信息、CBP信息和差量量化参数信息。
[0129] 视频编码器200基于块的块类型信息和预测信息对块的系数信息进行编码。例如,如果块模式信息表明要编码的块的块模式不是跳过模式并且块类型信息表明该块被划分为各种形状和大小的子块,则视频编码器200通过根据各个子块预测信息对各个子块进行帧内预测编码或帧间预测编码来对块的系数信息进行编码。这里,系数信息是关于通过预测要编码的视频的块的亮度分量和/或色度分量以及对其残留块进行变换/量化而生成的量化变换系数的信息。系数信息被编码并且被包括在比特流中作为纹理数据。
[0130] 图2是例示了根据本发明的实施方式的视频编码器200的示意性构造的图。参照图2,视频编码器200可以包括预测器210、减法器220、变换器/量化器230、编码器240、逆变换器/逆量化器250、加法器260、滤波器270和图片缓冲器280。
[0131] 预测器210可以包括帧内预测器212和帧间预测器214。帧间预测器214可以包括运动估计器216和运动补偿器218。
[0132] 由一个图片或运动图片的帧构成的输入图片被划分为N×N像素的宏块(N:等于或大于16的整数),并且这些宏块被输入到图1的视频编码设备100。如果输入视频是4:2:0格式的视频,则宏块包括具有N×N像素的亮度块和具有两个(M/2)×(N/2)像素的色度块。这里,宏块不仅包括16×16像素块而且还包括32×32像素块和64×64像素块。大于16×16像素块的宏块还被称为扩展宏块。
[0133] 如图3所示,各个宏块可以在帧内预测编码或帧间预测编码之前被划分为更小的子块。
[0134] 图3是例示了根据本发明的实施方式的针对帧内预测编码和帧间预测编码的宏块和各种大小的子块的图。
[0135] 图3例示了当N是等于或大于16的整数并且最小块大小是4×4像素时的宏块和子块。如果宏块是64×64像素块,则作为子块的64×64像素块、64×32像素块、32×64像素块和32×32像素块可以属于宏块层0,并且作为子块的32×32像素块、32×16像素块、16×32像素块和16×16像素块可以属于宏块层1。这里,宏块层K+1的子块可以仅当宏块层K((0≤K≤log2(N/4)))的子块当中的最大子块被划分为四个块时才被 使用。
[0136] 视频编码设备100可以在将宏块划分为子块的情况下计算各个子块的编码效率,并且将具有最高编码效率的子块确定为最终帧内预测块或帧间预测块。编码效率可以基于率失真优化(RDO)技术来测量。
[0137] 最小块大小可以根据作为最大可用层值的最大层值(MaxLayer)来确定。例如,在MaxLayerNxN像素宏块的情况下,最小块大小可以确定为N/(2 )。
[0138] 图4是例示了根据本发明的实施方式的各个分割类型的编号的图。
[0139] 参照图4,如果宏块层K的N/2KxN/2K像素块没有再被划分,则分割类型编号0被K K K K分配给宏块层K的N/2xN/2像素块。如果宏块层K的N/2 xN/2像素块被划分为两个K K+1 K K
N/2xN/2 像素块,则分割类型编号1被分配给宏块层K的N/2 xN/2像素块。如果宏块K K K+1 K
层K的N/2xN/2像素块被划分为两个N/2 xN/2像素块,则分割类型编号2被分配给宏K K K K K+1 K+1
块层K的N/2xN/2像素块。如果宏块层K的N/2 xN/2像素块被划分为四个N/2 xN/2K K
像素块,则分割类型编号3被分配给宏块层K的N/2xN/2像素块。在图3中,宏块层K的K K
N/2xN/2像素块中的各个子块上标记的编号0、1、2和3是用于标识各个子块的分割编号。
[0140] 图5是例示了根据本发明的实施方式的视频编码方法的流程图。
[0141] 在根据本发明的实施方式的视频编码方法中,视频编码设备100对表明要编码的视频的块的块模式的块模式信息进行编码(S510)。具体地说,视频编码设备100确定是对要编码的块的系数信息进行编码还是仅对块的运动信息进行编码而不对块的系数信息进行编码。如果仅对块的运动信息进行编码,则视频编码设备100对表明块模式是跳过模式的块模式信息进行编码;如果不仅对块的运动信息进行编码而且对块的系数信息进行编码,则视频编码设备100对表明块模式不是跳过模式的块模式信息进行编码。
[0142] 视频编码设备100对表明块是否被划分为子块的分割模式信息进行编码(S520)。具体地说,视频编码设备100确定是将要编码的块划分为更小子块并且按照子块为单位对该块进行编码还是在不将该块划分为更小子块的情况下对该块进行编码。如果在不将该块划分为更小子块的情况下对该块进行编码,则视频编码设备100对表明该块没有划分为子块的分割模式信息进行编码;并且如果该块在编码之前被划分为更小子块,则视频编码设备100对表明该块被划分为子块的分割模式信息进行编码。例如, 如果要编码的块是
64x64像素宏块,则视频编码设备100确定是在编码之前将64x64像素宏块划分为16x16像素子块还是在不将该64x64像素宏块划分为16x16像素子块的情况下对该宏块进行编码,并且相应地对分割模式信息进行编码。如果64x64像素宏块在编码之前被划分为16x16像素子块,则各个16x16像素子块可以被划分为更小子块,并且块类型被编码并发送给解码器。
[0143] 视频编码设备100根据块模式信息和分割模式信息的组合对块的跳过运动信息或者包括块的块类型信息和块的预测信息的预测编码信息进行编码(S530),并且基于块类型信息和预测信息对块的系数信息进行编码(S540)。具体地说,视频编码设备100根据与块模式信息是否表明要编码的块的块模式是跳过模式以及分割模式信息是否表明块被划分为子块的组合对应的各种情况来按照不同方式对块进行编码。
[0144] 此后,将假设要编码的块是64x64像素宏块并且被划分为16x16像素子块来描述视频编码设备100执行步骤S530和步骤S540的处理。
[0145] 在步骤S530中,如果块模式信息表明块的块模式是跳过模式并且分割模式信息表明块没有被划分为子块,则视频编码设备100可以对块的跳过运动向量进行编码。具体地说,视频编码设备100以64x64像素为单位对要编码的块进行运动估计,以检测基准图片中的最类似于要编码的块的基准块,将表明基准块和要编码的块的相对位置的运动向量确定为跳过运动向量,将表明包括基准块的基准图片的基准图片索引确定为跳过基准图片索引,并且对包括跳过运动向量和跳过基准图片索引的跳过运动信息进行编码。
[0146] 在步骤S530中,如果块模式信息表明块的块模式是跳过模式并且分割模式信息表明块被划分为子块,则视频编码设备100可以对要编码的块的跳过运动向量进行编码。具体地说,视频编码设备100以64x64像素为单位对要编码的块的各个子块进行运动估计,以检测基准图片中的最类似于要编码的块的各个子块的基准子块,将表明基准子块和要编码的块的各个子块的相对位置的运动向量确定为跳过运动向量,将表明包括基准子块的基准图片的基准图片索引确定为跳过基准图片索引,并且对包括跳过运动向量和跳过基准图片索引的跳过运动信息进行编码。因而,如果块模式信息表明块的块模式是跳过模式并且分割模式信息表明块被划分为子块,则跳过运动信息被编码为与各个子块的数量一样多。
[0147] 在步骤S530和步骤S540中,如果块模式信息表明块的块模式不是跳过模式并且 分割模式信息表明块没有被划分为子块,则视频编码设备100可以对包括块的块类型信息和预测信息的预测编码信息进行编码。具体地说,视频编码设备100以64x64像素为单位对要编码的块进行运动估计,以检测基准图片中最类似于要编码的块的基准块,确定表明基准块和要编码的块的相对位置的运动向量,确定表明包括基准块的基准图片的基准图片索引,对通过对要编码的块和预测块之间的残留块进行变换/量化而获得的系数信息进行编码,其中通过基于所确定的运动向量对要编码的块的运动进行补偿来生成预测块,并且还对预测编码时使用的块类型信息和预测信息进行编码。
[0148] 在步骤S530和步骤S540中,如果块模式信息表明块的块模式不是跳过模式并且分割模式信息表明块被划分为子块,则视频编码设备100可以对包括块的各个子块的块类型信息和预测信息的预测编码信息进行编码。具体地说,如果要编码的块的子块的块类型是帧间块,则要编码的块的各个子块可以被划分为16x16,16x8,8x16或8x8像素子块。如果16x16块被划分为四个8x8像素子块,则各个8x8块可以被划分为更小的8x8,8x4,4x8或4x4子块。具体地说,视频编码设备100以子块大小为单位执行运动估计,以检测基准图片中最类似于要编码的块的各个子块的基准子块,确定表明基准子块和要编码的块的各个子块的相对位置的运动向量,确定表明包括基准子块的基准图片的基准图片索引,对通过对要编码的块的各个子块和预测子块之间的残留块进行变换/量化而获得的系数信息进行编码,其中通过基于所确定的各个子块的运动向量对要编码的块的各个子块的运动进行补偿来生成预测子块,并且还对用于预测编码的块类型信息和预测信息进行编码。
[0149] 如果要编码的块的子块的块类型是帧内块,则视频编码设备100确定子块的帧内预测模式,并且通过基于所确定的帧内预测模式执行预测编码来对系数信息和预测编码信息进行编码。因而,如果块模式信息表明块的块模式不是跳过模式并且分割模式信息表明块没有被划分为子块,则系数信息和预测编码信息被编码为与各个子块的数量一样多。
[0150] 这里,块类型信息可以是基于块的子块的分割类型以及块是帧间宏块还是帧内宏块分配给多个可用块类型的块类型编号。预测编码信息还可以包括子块的变换类型信息、子块的CBP信息以及子块的差量量化参数信息中的一个或更多个。块类型信息可以包括表明块是帧间宏块还是帧内宏块的块类型标记以及表明子块的分割类型的 分割类型信息。
[0151] 此外,如果块模式信息表明要编码的块的块模式不是跳过模式并且分割模式信息表明该块被划分为子块,则除了表明块是帧间宏块还是帧内宏块的块类型标记以及表明块的子块的分割类型的分割类型信息以外,块类型信息还可以包括表明子块的块模式是否为跳过模式的跳过子块标记。具体地说,如果要编码的块的块模式不是跳过模式,并且块被划分为子块,则视频编码设备100可以不必对各个子块的系数信息和预测编码信息进行编码。如果子块的块模式是跳过模式,则视频编码设备100可以仅对跳过子块标记进行编码。
[0152] 在步骤S530中,视频编码设备100可以在对块类型信息进行编码时对分割类型信息进行编码。例如,视频编码设备100可以按照预定区域为单位将多个子块分组,以层为单位重复将包括在分组区域中的子块的分割类型值的最小值分配为分组区域的分割类型值的处理,直到最高层为止,并且通过对以层为单位分组的分割类型值和上层的分组区域的分割类型值之间的差值进行编码来对分割类型信息进行编码。下文将参照图7和图8来详细描述视频编码设备100对分割类型信息进行编码的方法。
[0153] 图6是例示了根据本发明的实施方式而编码的比特流的句法结构的例示图。
[0154] 当视频编码设备100对要通过根据本发明的实施方式的上述视频编码方法进行编码的输入视频的块进行编码时,可以生成具有图6所示句法结构的比特流。图6中例示了了要编码的块的比特流。
[0155] 图6A例示了在块模式是跳过模式的情况下比特流的句法结构。如果要编码的块的块模式是跳过模式,则通过对块进行编码而生成的比特流可以包括块模式信息字段、分割模式信息字段和跳过运动信息字段。通过对块模式信息进行编码而生成的数据被分配给块模式信息字段,通过对分割模式信息进行编码而生成的数据被分配给分割模式信息字段,并且通过对跳过运动信息进行编码而生成的数据被分配给跳过运动信息字段。
[0156] 如果块模式是跳过模式,则当由分割模式信息标识的块的分割模式被划分为子块以及当分割模式没有被划分为子块时,不对块的系数信息进行编码,而仅对与由对块进行运动估计确定的运动相关的信息对应的跳过运动信息进行编码,并且将结果分配给跳过运动信息字段。在该情况下,如果分割模式信息表明块没有被划分为子块,则通过对块进行运动估计而确定的运动信息被编码为跳过运动信息;如果分割模式表明 块被划分为子块,则通过对块的各个子块进行运动估计而确定的各个子块的运动信息被编码为跳过运动信息;并且该结果被分配给跳过运动信息字段。
[0157] 图6B例示了在块模式不是跳过模式的情况下比特流的句法结构。如果要编码的块的块模式不是跳过模式,则通过对块进行编码而生成的比特流可以包括块模式信息字段、分割模式信息字段、块类型信息字段、预测信息字段、CBP子块标记字段、变换类型信息字段、CBP字段、差量QP字段和系数信息字段。这里,CBP子块标记字段、变换类型信息字段、CBP字段和差量QP字段不必包括在比特流中,并且一些或者所有字段可以根据实施方式选择性地包括在比特流中。
[0158] 通过对块模式信息进行编码而生成的数据被分配给块模式信息字段,通过对分割模式信息进行编码而生成的数据被分配给分割模式信息字段。如果块模式不是跳过模式,则当由分割模式信息标识的块的分割模式被划分为子块以及当分割模式没有被划分为子块时,对块的系数信息进行编码。因而,在该情况下,不仅通过对系数信息进行编码而生成的数据而且通过对用于编码系数信息的预测编码信息进行编码而生成的数据都被包括在比特流中。预测编码信息可以包括块类型信息和预测信息,还可以包括CBP子块标记、变换类型信息、CBP和差量QP。
[0159] 如果分割模式信息表明块没有被划分为子块,则仅该块的预测编码信息被编码并分配给各个字段;并且如果分割模式信息表明该块被划分为子块,则该块的各个子块的预测编码信息被编码并分配给各个字段。通过对块或块的子块的系数信息进行编码而生成的数据被分配给系数信息字段。
[0160] 图7和图8是例示了根据本发明的实施方式利用树结构来编码分割类型信息的处理的例示图。
[0161] 图7中,以预定区域为单位对要编码的块的各个子块的分割类型值进行分组,以便利用树结构对分割类型信息进行编码,并且该分割类型值被表示为逐层分割类型值。
[0162] 图7A例示了要编码的块中的各个子块以及各个子块的分割类型值。在图7A中,Mx(a,b)表示要编码的块中的与位置(a,b)对应的子块的分割类型值。具体地说,Mx(0,0)表示与要编码的块中的位置(0,0)对应的子块(即,块中的光栅扫描方向的第一子块)的分割类型值,Mx(0,1)表示与要编码的块中的位置(0,1)对应的子块(即,块中的光栅扫描方向的第二子块)的分割类型值。
[0163] 图7A所示的子块的分割类型值按照预定区域为单位(例如,按照包括两个或更多个子块的区域为单位)进行分组,并且分组区域中的分割类型值的最小值被选择并分配作为针对分组区域的分割类型值。
[0164] 图7B例示了对图7A所示的子块的分割类型值进行分组并分配最小值作为分组区域的分割类型值的结果。例如,图7A所示的包括子块(0,0),(0,1),(1,0)和(1,1)的区域按照预定区域为单位进行设置并分组,包括在该分组区域中的各个子块的分组类型值Mx(0,0),Mx(0,1),Mx(1,0)和Mx(1,1)当中的最小值被选择并分配作为分组区域Mx-1(0,0)的分割类型值。此外,包括子块(0,2),(0,3),(1,2)和(1,3)的区域按照预定区域为单位进行设置并分组,包括在该分组区域中的各个子块的分组类型值Mx(0,2),Mx(0,1),Mx(1,2)和Mx(1,3)当中的最小值被选择并分配作为分组区域Mx-1(0,1)的分割类型值。这样,对剩余的子块进行相同的处理。当直到层Mx-2,Mx-3…M1为止重复将图7A所示的子块的分割类型值分配作为图7B所示的分组区域的分割类型值的处理时,分组区域的分割类型值可以如图7C所示进行分配。当直到层M0为止再次重复该处理时,可以进行分组,以具有图7D所示的一个分组区域的分割类型值。
[0165] 尽管图7例示了预定区域被设置为包括四个相邻子块的区域,但是本发明不限于此。例如,分割类型值可以在按照各种方式对子块进行分组(诸如包括八个相邻子块的区域和包括六个不相邻子块的区域)之后被分配。
[0166] 将要编码的块的子块的分割类型值分配为图7所示的分组区域的分割类型值的过程可以用如图8所示的树结构来表示。
[0167] 图8例示了了树结构的逐层分组区域的分割类型值。如果逐层分组区域的分割类型值是节点值,则可以通过对相对于上级节点的节点值的差进行编码来对图8所示的树结构中的节点值进行编码。
[0168] 对这些节点值和上级节点的节点值的差值进行编码的方法对与差值相对应的二进制比特0进行编码并且编码最后的二进制比特1。如果上级节点的节点值和要编码的节点的节点值之差为0,则编码二进制比特1。例如,可以使用算术编码方法来解码二进制比特0和1。在该情况下,在各个层中可以使用不同的上下文。
[0169] 这样,当树结构被用于对分割类型值(即,节点值)进行编码时,最上级节点的节点值(下文称为“最上级节点值”)可以按照以下三个示例进行编码。作为示例,可以如上所述利用二进制比特0和1来对0与最上级节点值之间的差值进行编码。作为 另一示例,如果各个分割类型编号被设置为分割类型值,并且按照分割类型的出现频率的降序设置大分割类型编号,则可以利用二进制比特0和1来对最上级节点值与最大分割类型编号之间的差值进行编码。作为另一示例,如果各个分割类型编号被设置为分割类型值,并且按照分割类型的出现频率的降序设置小分割类型编号,则可以利用二进制比特0和1来对最上级节点值与最小分割类型编号之间的差值进行编码。
[0170] 在保持除了最上级节点值以外的剩余节点值的情况下,可以利用二进制比特0和1来对要编码的节点的节点值与该节点的上级节点的节点值之间的差值进行编码。即,可以通过编码与差值一样多的二进制比特0并且编码最后的二进制比特1来对各个节点值进行编码。在该情况下,如果要编码的节点的节点值与该节点的上级节点的节点值之间的差值为0,则编码二进制比特1。此外,相反,可以通过编码与差值一样多的二进制比特1并且编码最后的二进制比特0来对各个节点值进行编码。在该情况下,如果要编码的节点的节点值与该节点的上级节点的节点值之间的差值为0,则编码二进制比特0。
[0171] 然而,当各个节点值被编码时,如果上级节点值是对于分割类型编号可用的最大值,则相关上级节点的下级节点的节点值不被编码。例如,如果节点M1(0,0)的节点值是3,则作为该节点M1(0,0)的下级节点的节点的节点值M2(0,0),M2(0,1),M2(1,0)和M2(1,1)不被编码。即,由于M1(0,0)是M2(0,0),M2(0,1),M2(1,0)和M2(1,1)的最小值,所以M2(0,0),M2(0,1),M2(1,0)和M2(1,1)全部具有大于或等于3的值。然而,在图4中,由于分割类型值的最大值是3,所以M2(0,0),M2(0,1),M2(1,0)和M2(1,1)不必被编码,因为它们不可能具有除3以外的值。
[0172] 此外,当要编码的节点与该节点的上级节点之间的差值,如果要编码的节点的节点值是对于分割类型编号可用的最大值,则仅编码与该差值一样多的二进制比特0,并且不编码最后的二进制比特1。例如,如果要编码的节点的上级节点的节点值M1(0,0)和要编码的节点的节点值M2(0,0),M2(0,1),M2(1,0)和M2(1,1)分别是1,2,3,3和2,则节点值M2(0,0)和M2(1,1)编码二进制比特01,并且节点值M2(0,1)和M2(1,0)编码二进制比特00,而不是二进制比特001。
[0173] 此外,当具有相同上级节点的节点当中的最后节点的节点值被编码时,如果除最后节点以外的这些节点的全部节点值大于上级节点的节点值,则最后节点的节点值不被编码。例如,如果要编码的节点的上级节点的节点值M1(0,0)和要编码的节点的节 点值M2(0,0),M2(0,1),M2(1,0)和M2(1,1)分别是1,2,3,3和1,则由于节点值M2(0,0),M2(0,1)和M2(1,0)全部大于节点值M1(0,0),所以最后节点的节点值M2(1,1)不被编码。
[0174] 如上所述,可以通过利用二进制比特0和1对要编码的节点的节点值与该节点的上级节点的节点值之间的差值进行编码来对除最上级节点以外的剩余节点的节点值进行编码。然而,与此不同,可以通过对各个节点的节点值与就分割类型的出现频率而言最高的分割类型值之间的差值进行编码来对除最上级节点以外的剩余节点的节点值进行编码。这里,就出现频率而言最高的分割类型值可以是固定值也可以不是固定值。如果就出现频率而言最高的分割类型值不是固定值,则可以在编码之后将其发送到相关解码器也可以不发送。如果就出现频率而言最高的分割类型值没有被发送给解码器,则在当前块之前编码的块的统计可以累积,并且可以使用到目前为止就出现频率而言最高的模式。在利用树结构对分割类型信息进行编码的另一实施方式中,当图7A所示的分割类型值被分组以确定图7B所示的分组区域的分割类型值时,如果按照出现频率的降序来分配大的分割类型编号,则分组区域的值当中的最大值可以用作分组区域的分割类型值。
[0175] 图9和图10是例示了根据本发明的实施方式的树结构的示例的图。如果要编码的块中与位置(a,b)对应的子块的分割类型值是图9A所示的沿光栅方向的{0,2,1,2,1,2,2,0,1,0,0,1,2,1,1},则这些子块各自的分割类型值可以按照四个相邻子块为单位进行分组。在该情况下,即使不是四个子块,最左剩余者和最低剩余者也可以在这些剩余者之间分组。这样,如果图9A所示的子块的分割类型值以组为单位进行表示,则第一组、第二组、第三组、第四组、第五组和第六组在光栅扫描方向可以分别是{0,2,2,2},{1,2,0,1},{1,0},{0,1},{2,1}和{1}。当包括在各个组中的子块的分割类型值的最小值被选择,并且分组区域的分割类型值,则如图9B所示在光栅扫描方向可以是{0,0,1,0,1,1}。与图9A的情况相同,这些分割类型值可以分组为四个相邻分割类型值。当从针对图9B所示的分割类型值的各个组中选择最小值,并且将其分配为分组区域的分割类型值时,其可以是按照图9C所示的光栅扫描方向的{0,1}。当最终选择最小值并分配为分割类型值时,如图9D所示,其可以为0。该处理可以按照图10所示的树结构进行表示。
[0176] 下文将描述编码/解码变换类型信息的方法。
[0177] 在编码变换类型时,首先根据块模式来生成最低节点。在该情况下,如果块模式 是跳过模式,则该节点可以不生成。接着,根据变换类型的选择来生成最低节点。在该情况下,可以在发送之前对选择变换类型的单位或方法进行编码,使得编码器和解码器以相同方式工作。
[0178] 在编码变换类型时,宏块的变换类型可以按照16x16像素块为单位进行选择并编码。在该情况下,16x16像素块中的子块可以使用相同的变换类型。即,即使在块大于16x16像素块的情况下,也可以按照16x16块为单位来选择变换类型,并且可以针对具有非零CBP16标记的各个16x16像素块来发送变换类型。这里,即使16x16像素块被划分为小于8x8像素块的块,也可以选择并编码变换类型;并且当16x16像素块被划分为小于8x8像素块的块时,可以利用固定变换(例如,4x4像素块)而不对变换类型进行编码。
[0179] 另选地,在块大于16x16像素块的情况下,可以按照块为单位来选择变换类型,并且如果块被划分为小于16x16像素块的块,则可以按照16x16块为单位来选择并编码变换类型。
[0180] 在该情况下,变换类型的编码可以使用独立于针对各个变换类型可选择的变换数量而固定的表1,并且可以选择根据可选择的变换的数量的表2。
[0181] [表1]
[0182]变换类型 各个变换类型(码数)
4x4变换 0
8x8变换 1
8x16,16x8或16x16变换 2
[0183] [表2]
[0184]
[0185] 图11和图12是例示了根据本发明的实施方式的变换类型编码和解码的图。图11例示了了在相对于比16x16像素块大的块以相关块为单位选择变换类型并且如果块被划分为比16x16像素块小的块则以16x16像素块为单位选择变换类型的情况下的宏块编号。图12例示了了关于图11的各个块模式和选择的变换类型。这里,假设如果16x16像素块中的子块被划分为比8x8像素块小的块,则使用4x4变换,并且根据独立于针对各个变换类型可选的变换数量而固定的表1对变换类型进行编码。
[0186] 参照图11和图12,宏块编号0是跳过模式。此外,宏块编号1包括具有CBP16标记0的块和使用8x8变换的块,并且宏块编号2包括具有CBP16标记0的块和使用4x4变换的块。宏块编号3具有CBP32标记1并且使用16x16变换,宏块编号4包括使用16x8变换的块、使用16x16变换的块以及使用8x16变换的块。在该情况下,由于宏块编号4的剩余块被划分为小于8x8像素块的块,所以使用固定的4x4变换并且可以不对变换类型进行编码。此外,宏块编号5包括使用4x4变换的块以及被划分为小于8x8像素块的块的块。在该情况下,由于被划分为小于8x8像素块的块的块使用4x4变换,所以可以不对变换类型进行编码。宏块编号6具有CBP32标记1并且使用4x4变换,宏块编号7包括使用8x8变换的块、使用4x4变换的块以及处于跳过模式的块。此外,宏块编号8包括使用4x4变换的块以及被划分为小于8x8像素块并且使用4x4变换的块的块。在图2中,区别地表示不对变换类型进行编码的块。具体地说,斜线表示的块是跳过块或具有CBPX标记0的块,其没有变换系数。十字条纹表示的块是使用固定变换的块,其不必发送变换类型,因为解码器能够获知相关的变换类型。
[0187] 当表1应用于针对图12的各个块而选择的变换类型时,最低节点值可以表示为如图13所示。当从图13所示的各个块的节点值中选择最小值并且将其分配为节点值时,可以如图14所示获得上级节点。例如,在图12中,宏块编号0不具有变换类型的编码比特。关于宏块编号1,由于如图15所示其具有最低节点值{1,1,1},所以最小值1被分配为最高节点值,表明最高节点值1和0之间的差值的比特01被编码,并且表明最低比特和最高节点值1之间的差值的编码比特111被编码。关于宏块编号2,由于其具有一个节点,所以0和宏块中的第二16x16像素块的变换类型值0之间的差值被编码。在该情况下,可以用1表示编码比特。关于宏块编号3,由于其具有32x32像素块的节点类型,所以0和32x32块的变换类型值2之间的差值被编码。在 该情况下,可以用00表示编码比特。关于宏块编号4,由于宏块中的第三16x16块被划分为小于8x8像素块的子块,所以使用固定变换类型(例如,4x4变换),进而可以不对变换类型进行编码。因此,不生成与第三16x16块对应的节点,仅针对其它三个16x16像素块生成节点,并且仅对最高节点值2和0之间的差值进行编码。即,如图16所示,从最低节点值{2,2,2}选择作为最小值的最高节点值,并且与最高节点值2和0之间的差值对应的编码比特00被编码。关于宏块编号5,由于宏块中的第二
16x16块被划分为小于8x8像素块的子块,所以使用固定变换类型(例如,4x4变换),可以不对变换类型进行编码。因此,不生成与第二16x16块对应的节点。在该情况下,由于仅存在一个节点,所以对0和第一16x16像素块的变换类型值0之间的差值进行编码。在该情况下,可以用1表示编码比特。关于宏块编号6,由于其具有一个节点,所以对0和宏块中的第二16x16像素块的变换类型值0之间的差值进行编码。在该情况下,可以用1表示编码比特。关于宏块编号7,不针对宏块中的第一16x16像素块和第三16x16像素块生成节点。
如图17所示,由于最低节点值是{1,0},所以表明0和最高节点值0之间的差值的编码比特1被编码,并且表明最高节点值和第二16x16像素块的变换类型值1之间的差值的编码比特01被编码。此外,关于第四16x16像素块的变换类型值,由于其具有CBP16标记1并且使用4x4变换,所以可以不对变换类型值进行编码。关于宏块编号8,由于其具有一个节点,所以表明0和第一16x16像素块的变换类型值0之间的差值的编码比特1被编码。
[0188] 当表2应用于针对图12的各个块选择的变换类型时,最低节点值可以表示为如图18所示。并且在该情况下,区别地表示不对变换类型进行编码的块。
[0189] 关于此,宏块编号0没有变换类型的编码比特。关于宏块编号1,由于如图15所示其具有最低节点值{2,2,2},所以最小值2被分配为最高节点值,并且表明最高节点值2和0之间的差值的比特00被编码。关于宏块编号2,由于其具有一个节点,所以0和宏块中的第二16x16像素块的变换类型值0之间的差值被编码。在该情况下,可以用1表示编码比特。关于宏块编号3,由于其具有32x32像素块的节点类型,所以0和32x32块的变换类型值1之间的差值被编码。在该情况下,可以用01表示编码比特。关于宏块编号4,由于宏块中的第三16x16块被划分为小于8x8像素块的子块,所以使用固定变换类型(例如,4x4变换),进而可以不对变换类型进行编码。因此,不生成与第三16x16块对应的节点,仅针对其它三个16x16像素块生成节点, 并且仅对最高节点值1和0之间的差值进行编码。即,如图19所示,从最低节点值{1,1,1}选择作为最小值的最高节点值,并且与最高节点值1和
0之间的差值对应的编码比特01被编码。在该情况下,表明最低节点值的编码比特111可以被编码。关于宏块编号5,由于宏块中的第二16x16块被划分为小于8x8像素块的子块,所以使用固定变换类型(例如,4x4变换),可以不对变换类型进行编码。因此,不生成与第二
16x16块对应的节点。在该情况下,由于仅存在一个节点,所以对表明0和第一16x16像素块的变换类型值0之间的差值的编码比特1进行编码。关于宏块编号6,由于其具有一个节点,所以对表明0和宏块中的第二16x16像素块的变换类型值0之间的差值的编码比特
1进行编码。关于宏块编号7,不针对宏块中的第一16x16像素块和第三16x16像素块生成节点。如图20所示,由于最低节点值是{2,0},所以表明0和最高节点值0之间的差值的编码比特1被编码,并且表明最高节点值和第二16x16像素块的变换类型值2之间的差值的编码比特00被编码。此外,关于第四16x16像素块的变换类型值,由于CBP16标记为1并且使用4x4变换,所以可以不对变换类型值进行编码。关于宏块编号8,由于其具有一个节点,所以表明0和第一16x16像素块的变换类型值0之间的差值的编码比特1被编码。
[0190] 下文将描述编码/解码CBP信息的方法。
[0191] 图21是例示了根据本发明的实施方式的CBPX标记和CBP的编码处理的示例的流程图。图21例示了在扩展宏块是64x64像素块的情况下帧内宏块的CBPX标记和CBP的编码处理的示例。编码信息编码器110确定宏块的子块的大小是否是64x64,64x32和32x64中的一个(S2110)。如果宏块的子块的大小不是64x64,64x32和32x64中的一个,则编码信息编码器110确定子块的大小是否为32x32,32x16和16x32中的一个(S2120)。这里,如果宏块以16x16像素为单位被划分以执行帧内预测编码,则编码信息编码器110可以在步骤S2110中确定子块的大小是否为64x64像素块,即,是否以宏块为单位执行帧内预测编码。如果子块的大小不是64x64像素块,则编码信息编码器110可以在步骤S2120中确定子块的大小是否为32x32像素块。如果在步骤S2120中确定子块的大小是32x32,32x16和16x32中的一个,或者32x32像素块,则编码信息编码器110确定子块中是否存在非零变换系数(S2130)。如果子块中存在非零变换系数,则编码信息编码器110对表明子块中存在非零变换系数的CBP32标记(例如用诸如“1”的1比特表示)进行编码(S2140),并且以16x16像素块为单位对 子块中的CBP进行编码(S2150)。如果子块中不存在非零变换系数,则编码信息编码器110对表明子块中不存在非零变换系数的CBP32标记(其用例如诸如“0”的
1比特表示)进行编码(S2160)。
[0192] 这里,CBP64标记表明64x64像素块中是否存在非零编码系数。类似地,CBP32标记表明32x32像素块中是否存在非零编码系数。如果亮度分量的残留块不具有非零变换系数,则由于不必发送变换类型,所以这种CBPX标记(X:32,64等)用来表明亮度分量是否具有非零变换系数。CBP以16x16像素块为单位进行编码。在该情况下,每8x8像素块使用1比特来表明16x16像素块中是否每8x8像素块存在非零变换系数。关于色度分量,使用1比特来表明两个2x2色度分量DC块中是否存在非零变换系数,并且使用1比特来表明两个8x8色度分量AC块中是否存在非零变换系数。
[0193] 另一方面,如果在步骤S2120中确定子块的大小不是32x32,32x16和16x32中的一个,或者32x32像素块,则编码信息编码器110进行到步骤S2150,并且对CBP进行编码。这里,如果子块的大小不是32x32,32x16和16x32中的一个,或者16x32像素块,则编码信息编码器110可以确定子块的大小是否为16x16,16x8或8x16像素块。如果子块的大小是16x16,16x8或8x16像素块,并且如果相关子块中存在非零编码系数,则编码信息编码器
110可以编码CBP16标记(其用例如诸如“1”的1比特表示)。如果不是,则编码信息编码器
110可以在不使用CBP标记的情况下以16x16像素块为单位对CBP进行编码。
[0194] 此外,如果在步骤S2110中确定子块的大小是64x64,64x32和32x64中的一个,或者64x64像素块,则编码信息编码器110确定子块中是否存在非零变换系数(S2170)。如果子块中存在非零变换系数,则编码信息编码器110对表明子块中存在非零变换系数的CBP64标记(例如用诸如“1”的1比特表示)进行编码(S2180),如果子块中不存在非零变换系数,则编码信息编码器110对表明子块中不存在非零变换系数的CBP64标记(其用例如诸如“0”的1比特表示)进行编码(S2190)。这里,CBP64标记表明64x64像素块中是否存在非零量化变换系数。
[0195] 如果CBP标记被编码,并且如果CBP标记不为0,则变换类型被编码。特殊的是,如果16x16像素块被划分为四个8x8像素块,并且如果编码的CBP不是0,则以16x16像素块为单位应用的变换类型被编码。
[0196] 在变换类型被编码之后,根据变换类型对CBP编码。如果使用16x16变换,则 仅色度分量的两个CBP比特被编码;并且如果使用8x16变换或16x8变换,则表明16x16像素块中的两个8x16或16x8像素块是否具有非零变换系数的两个CBP比特被编码。然而,特殊的是,如果两个分割块当中的第一分割块的CBP比特是0,则第二分割块的CBP比特可以不被编码。
[0197] 图22是例示了编码信息编码器110中所选择的块类型和所选择的块模式的示例的图。CBP是表明块中是否存在非零变换系数的1比特标记。这里,编码/解码CBP比特的块的单位根据所选择的变换的类型而变化。在图22中,用斜线表示没有要编码的变换系数的块(例如,处于跳过模式的块以及CBPX标记为0的块),并且用十字条纹表示不必编码CBP的块(例如,使用16x16变换的块)。
[0198] 关于生成最低节点的方法,如果存在表明在已经发送的节点值和标记当中不存在当前块中要编码的变换系数的数据,则不针对没有编码变换系数的块生成节点。例如,如果没有通过图21所示的方法编码/解码数据,则不针对跳过块生成节点,并且不针对具有CBPX标记0的XxX(X:表明块大小的像素数)块生成节点。此外,在16x16变换的情况下,由于其能够从CBP16标记获知,所以不生成针对CBP的节点。
[0199] 此外,针对具有非零变换系数的块来编码CBP。根据变换类型,关于节点数,如果针对亮度分量执行4x4变换或8x8变换,则用0或1表示8x8块中是否存在非零变换系数(即,每8x8像素块生成节点)。如果针对亮度分量执行8x16变换或16x8变换,则用0或1表示16x8或8x16块中是否存在非零变换系数(即,每16x8或8x16块生成节点)。关于色度分量,以8x8块为单位针对AC分量和DC分量生成节点(即,在AC分量中发送1比特,并且在DC分量中发送1比特)。
[0200] 此外,下级节点的最小值用作用于生成上级节点的上级节点值,并且可以将表示16x16区域的节点定义为最高节点(或者可以不同地指定最高节点的大小)。
[0201] 此外,如果上级节点值为1,则下级节点的值可以不被编码/解码;并且如果上级节点值为0,则下级节点值可以被编码。
[0202] 如果如图22所示选择编码模式和变换类型,则CBP的传输单位可以如图23所示。在图23中,如果与16x16区域对应的块被用作最高块,则可以如图24所示分配最高节点值。
[0203] 尽管上文已经说明根据块中是否存在变换系数分配CBP,但是CBP编码方法不限于此,而是可以改变,如使用CBP模式。
[0204] 图25是例示了差量量化参数编码/解码的示例的图。在本发明的示例性实施方式中,可以仅发送宏块或具有要编码的非零变换系数的16x16像素块的差量量化参数。例如,发送具有非零CBP的帧内16x16像素块或帧间16x16像素块的差量量化参数。
[0205] 作为一种编码差量量化参数的方法,各个差量量化参数可以通过将其变换为排列的码数或对码数进行树编码来进行编码。例如,如果各个16x16像素块的差量量化参数与图25所示相同,并且与差量量化参数对应排列的码数与表3相同,则图25的各个差量量化参数可以变换为表3的排列码数。
[0206] [表3]
[0207]Delta_qp值 码数 编码比特
0 0 0
1 1 10
-1 2 110
2 3 1110
-2 4 11110
3 5 111110
-3 6 1111110
... ... ...
[0208] 具体地说,差量量化参数0可以变换为码数0,差量量化参数1可以变换为码数1,差量量化参数-1可以变换为码数2,差量量化参数2可以变换为码数3,差量量化参数-2可以变换为码数4,差量量化参数3可以变换为码数5,差量量化参数-3可以变换为码数6。类似地,还可以将其它差量量化参数变换为排列码数。当图25的差量量化参数被变换为以上的码数时,其可以表示为如图26所示。这样,可以基于被变换为码数的各个16x16像素块的节点值来生成树。作为第一示例,当从如图26所示被变换为码数并且分配为上级节点值的16x16像素块的节点值中选择了最小值时,其可以表示为如图27所示。
[0209] 在图27A中,0和上级节点M0的节点值0之间的差值可以通过编码比特1来进行编码,并且下级节点M1(0,0),M1(0,1),M1(1,0)和M1(1,1)的节点值0与上级节点M0的节点值0之间的差值0也可以通过编码比特1来进行编码。
[0210] 在图27B中,0和上级节点M0的节点值0之间的差值可以通过编码比特1来进 行编码,下级节点M1(0,0)的节点值0和上级节点M0的节点值0之间的差值0可以通过编码比特1来进行编码,下级节点M1(0,1)的节点值2和上级节点M0的节点值0之间的差值2可以通过编码比特001来进行编码,下级节点M1(1,0)的节点值1和上级节点M0的节点值0之间的差值1可以通过编码比特01来进行编码,并且下级节点M1(1,1)的节点值3和上级节点M0的节点值0之间的差值3可以通过编码比特0001来进行编码。
[0211] 在图27C中,0和上级节点M0的节点值1之间的差值1可以通过编码比特01来进行编码,下级节点M1(0,0)和M1(0,1)的节点值1和上级节点M0的节点值1之间的差值0可以通过编码比特1来进行编码,下级节点M1(1,0)的节点值3和上级节点M0的节点值1之间的差值2可以通过编码比特001来进行编码,并且下级节点M1(1,1)的节点值2和上级节点M0的节点值1之间的差值1可以通过编码比特01来进行编码。
[0212] 在图27D中,0和上级节点M0的节点值2之间的差值2可以通过编码比特001来进行编码,下级节点M1(0,0),M1(0,1),M1(1,0)和M1(1,1)的节点值2和上级节点M0的节点值2之间的差值0可以通过编码比特1来进行编码。
[0213] 在图27E中,0和上级节点M0的节点值2之间的差值2可以通过编码比特001来进行编码,下级节点M1(0,0),M1(0,1)和M1(1,0)的节点值2和上级节点M0的节点值2之间的差值0可以通过编码比特1来进行编码,并且下级节点M1(1,1)的节点值5和上级节点M0的节点值2之间的差值3可以通过编码比特0001来进行编码。
[0214] 在图27F中,0和上级节点M0的节点值1之间的差值1可以通过编码比特01来进行编码,下级节点M1(0,0)的节点值5和上级节点M0的节点值1之间的差值4可以通过编码比特00001来进行编码,下级节点M1(1,0)和M1(0,1)的节点值3和上级节点M0的节点值1之间的差值2可以通过编码比特001来进行编码,并且下级节点M1(1,1)的节点值1和上级节点M0的节点值1之间的差值0可以通过编码比特1来进行编码。
[0215] 从下级节点分配上级节点的节点值的方法不限于以上方法,并且最大值可以从下级节点的节点值当中选择,并被分配为上级节点的节点值。作为第二方法的示例,当从如图26所示被变换为码数并且被分配为上级节点值的16x16像素块的节点值中选择了最小值时,其可以表示为如图28所示。
[0216] 在图28A中,0和上级节点M0的节点值0之间的差值可以通过编码比特1来进行编码,并且针对下级节点M1(0,0),M1(0,1),M1(1,0)和M1(1,1)的节点值0与上级节点M0的节点值0之间的差值,可以跳过对比特进行编码。
[0217] 在图28B中,0和上级节点M0的节点值3之间的差值3可以通过编码比特0001来进行编码,下级节点M1(0,0)的节点值0和上级节点M0的节点值3之间的差值1可以通过编码比特0001来进行编码,下级节点M1(0,1)的节点值2和上级节点M0的节点值3之间的差值1可以通过编码比特01来进行编码,下级节点M1(1,0)的节点值1和上级节点M0的节点值3之间的差值2可以通过编码比特001来进行编码,并且下级节点M1(1,1)的节点值3和上级节点M0的节点值3之间的差值0可以通过编码比特1来进行编码。
[0218] 在图28C中,0和上级节点M0的节点值3之间的差值可以通过编码比特0001来进行编码,下级节点M1(0,0)和M1(0,1)的节点值1和上级节点M0的节点值3之间的差值2可以通过编码比特001来进行编码,下级节点M1(1,0)的节点值3和上级节点M0的节点值3之间的差值0可以通过编码比特1来进行编码,并且下级节点M1(1,1)的节点值2和上级节点M0的节点值3之间的差值1可以通过编码比特01来进行编码。
[0219] 在图28D中,0和上级节点M0的节点值2之间的差值可以通过编码比特001来进行编码,下级节点M1(0,0),M1(0,1),M1(1,0)和M1(1,1)的节点值2和上级节点M0的节点值2之间的差值0可以通过编码比特1来进行编码。
[0220] 在图28E中,0和上级节点M0的节点值5之间的差值可以通过编码比特000001来进行编码,下级节点M1(0,0),M1(0,1)和M1(1,0)的节点值2和上级节点M0的节点值5之间的差值3可以通过编码比特0001来进行编码,并且下级节点M1(1,1)的节点值5和上级节点M0的节点值5之间的差值0可以通过编码比特1来进行编码。
[0221] 在图28F中,0和上级节点M0的节点值5之间的差值可以通过编码比特000001来进行编码,下级节点M1(0,0)的节点值5和上级节点M0的节点值5之间的差值0可以通过编码比特00001来进行编码,下级节点M1(1,0)和M1(0,1)的节点值3和上级节点M0的节点值5之间的差值2可以通过编码比特001来进行编码,并且下级节点M1(1,1)的节点值1和上级节点M0的节点值5之间的差值4可以通过编码比特00001来进行编码。
[0222] 在将下级节点值当中的最小值分配为最高节点值的方法中,为了编码最高节点值而对与0的差值进行编码。然而,可以对具有高出现频率的特定值与最高节点值之间的差值进行编码。这里,可以对所使用的特定值进行编码并将其通知给解码器。另选的是,可以使用排列值,并且编码器和解码器可以按照相同的方式工作来计算排列值。
[0223] 此外,作为树生成的第三方法,如果下级节点值当中的最小值被分配为上级节点值,则可以对最大值进行编码并将其通知给解码器;并且如果下级节点值当中的最大值被分配为上级节点值,则可以对最小值进行编码并将其范围通知给解码器。例如,关于对应于下级节点值当中的最小值被分配为上级节点值的情况的图27B的对比特进行编码,0和上级节点M0的节点值0之间的差值可以通过编码比特1来进行编码,下级节点M1(0,0)的节点值0和上级节点M0的节点值0之间的差值0可以通过编码比特1来进行编码,下级节点M1(0,1)的节点值2和上级节点M0的节点值0之间的差值2可以通过编码比特001来进行编码,下级节点M1(1,0)的节点值1和上级节点M0的节点值0之间的差值1可以通过编码比特01来进行编码,并且针对下级节点M1(1,1)的节点值3和上级节点M0的节点值0之间的差值3,可以跳过对比特进行编码。此外,例如,关于对应于下级节点值当中的最大值被分配为上级节点值的情况的图28D的对比特进行编码,0和上级节点M0的节点值2之间的差值2可以通过编码比特001来进行编码,下级节点M1(0,0),M1(0,1),M1(1,0)和M1(1,1)的节点值2和上级节点M0的节点值2之间的差值0可以通过编码比特1来进行编码。
[0224] 此外,作为对差量量化参数进行编码的另一方法,可以对差量量化参数的绝对值进行编码,于是可以仅对非零差量参数进行编码。例如,当针对图25的差量量化参数采用绝对值时,其可以表示为如图29所示,并且在该情况下也可以应用上述的树生成方法。
[0225] 当使用第一树生成方法并且在传输之前对最大值进行编码时,如图30所示,最小值可以从下级节点值当中选择并被分配为上级节点值,并且可以利用表3来对绝对值进行编码。
[0226] 在图30A中,可以通过0来对最大值0的编码比特进行编码,并且针对0和上级节点M0的节点值0之间的差值0以及下级节点M1(0,0),M1(0,1),M1(1,0)和M1(1,1)的节点值0与上级节点M0的节点值0之间的差值,可以跳过对编码比特进行编码。
[0227] 在图30B中,可以通过编码比特001来对最大值2进行编码,0和上级节点M0的节点值0之间的差值0可以通过编码比特1来进行编码,下级节点M1(0,0)的节点值0和上级节点M0的节点值0之间的差值0可以通过编码比特1来进行编码,下级节点M1(0,1)和M1(1,0)的节点值1和上级节点M0的节点值0之间的差值1可以通过编码比特001来进行编码,并且下级节点M1(1,1)的节点值2和上级节点M0的节点值0之间的差值2可以通过编码比特001来进行编码。
[0228] 在图30C中,可以通过编码比特001来对最大值2进行编码,0和上级节点M0的节点值1之间的差值1可以通过编码比特01来进行编码,下级节点M1(0,0)和M1(1,0)的节点值1和上级节点M0的节点值1之间的差值0可以通过编码比特1来进行编码,下级节点M1(1,0)的节点值2和上级节点M0的节点值1之间的差值1可以通过编码比特01来进行编码,并且下级节点M1(1,1)的节点值1和上级节点M0的节点值1之间的差值0可以通过编码比特1来进行编码。
[0229] 在图30C中,可以通过编码比特1来对最大值1进行编码,并且针对0和上级节点M0的节点值1之间的差值1以及下级节点M1(0,0),M1(0,1),M1(1,0)和M1(1,1)的节点值1与上级节点M0的节点值1之间的差值0,可以跳过对编码比特进行编码。
[0230] 在图30E中,可以通过编码比特0001来对最大值3进行编码,0和上级节点M0的节点值1之间的差值1可以通过编码比特01来进行编码,下级节点M1(0,0),M1(1,0)和M1(1,0)的节点值1和上级节点M0的节点值1之间的差值0可以通过编码比特1来进行编码,并且下级节点M1(1,1)的节点值3和上级节点M0的节点值1之间的差值2可以通过编码比特001来进行编码。
[0231] 在图30F中,可以通过编码比特0001来对最大值3进行编码,0和上级节点M0的节点值1之间的差值1可以通过编码比特01来进行编码,下级节点M1(0,0)的节点值3和上级节点M0的节点值1之间的差值2可以通过编码比特001来进行编码,下级节点M1(1,0)和M1(1,0)的节点值2和上级节点M0的节点值1之间的差值1可以通过编码比特01来进行编码,并且针对下级节点M1(1,1)的节点值1和上级节点M0的节点值1之间的差值0,可以跳过对编码比特进行编码。
[0232] 接着,针对符号进行编码。例如,如果符号是+,则可以使用0;如果符号是-,则可以使用1。还可以分配相反的编码比特。在该情况下,上级节点可以使用下级节点的最小值,也可以使用最大值。在图30中,除了差量量化参数的绝对值是0的情 况以外,针对差量量化参数的符号的编码,0被分配给+,1被分配给-。当从各个下级节点值当中选择最小值并将其分配为上级节点值时,其可以表示为如图31所示。在图30A中,绝对值全部为0,不存在要编码的数据。
[0233] 在图31B中,0和上级节点值0之间的差值0可以通过编码比特1来进行编码。由于M1(0,0)的节点值为0,所以可以跳过对编码比特进行编码。M1(0,1)的节点值1和上级节点值0之间的差值1可以通过编码比特0来进行编码,并且M1(1,0)和M1(1,1)的节点值0和上级节点值0之间的差值0可以通过编码比特1来进行编码。
[0234] 在图31C中,0和上级节点值0之间的差值0可以通过编码比特1来进行编码,M1(0,0)、M1(0,1)和M1(1,0)的节点值0和上级节点值0之间的差值0可以通过编码比特1来进行编码,并且M1(1,1)的节点值1和上级节点值0之间的差值1可以通过编码比特0来进行编码。
[0235] 在图31D中,0和上级节点值1之间的差值1可以通过编码比特0来进行编码,针对M1(0,0)、M1(0,1)、M1(1,0)和M1(1,1)的节点值1和上级节点值1之间的差值0,可以跳过对编码比特进行编码。
[0236] 在图31E中,0和上级节点值1之间的差值1可以通过编码比特0来进行编码,针对M1(0,0)、M1(0,1)、M1(1,0)和M1(1,1)的节点值1和上级节点值1之间的差值0,可以跳过对编码比特进行编码。
[0237] 在图31F中,0和上级节点值0之间的差值0可以通过编码比特1来进行编码,M1(0,0)、M1(0,1)、M1(1,0)和M1(1,1)的节点值0和上级节点值0之间的差值0可以通过编码比特1来进行编码。
[0238] 图32是例示了根据本发明的实施方式的视频解码设备的示意性构造的框图。
[0239] 根据本发明的实施方式的视频解码设备3200可以包括编码信息解码器3210和视频解码器3300。
[0240] 编码信息解码器3210对比特流进行解码,以重构表明要解码的块的块模式是否为跳过模式的块模式信息以及表明块是否被划分为子块的分割模式信息,并且根据块模式信息和分割模式信息的组合对比特流进行解码,以重构块的跳过运动信息或包括块的块类型信息和预测信息的预测编码信息。
[0241] 例如,编码信息解码器3210对具有如图6所示的句法结构的比特流进行解码。首先,编码信息解码器3210通过从比特流中提取分配给块模式信息字段的数据和分 配给分割模式信息字段的数据并对其进行解码来重构块模式信息和分割模式信息。如图6A所示,编码信息解码器3210通过根据重构的块模式信息和分割模式信息的组合从比特流中提取分配给跳过运动信息字段的数据并对其进行解码来重构跳过运动信息。如图6B所示,编码信息解码器3210通过从比特流中提取分配给块类型信息字段、预测信息字段、CBP子块标记字段、变换类型信息字段、CBP字段以及差量QP字段的数据并对其进行解码来重构包括块类型信息、预测信息、CBP子块信息、变换类型信息、CBP信息以及差量QP信息的预测编码信息。这里,在预测编码信息当中,CBP子块标记字段、变换类型信息字段、CBP字段和差量QP字段不必被重构,但是可以仅当它们排列在视频编码设备100和视频解码设备3200之间时才进行重构。
[0242] 视频解码器3300基于跳过运动信息来重构块或者通过对通过基于预测编码信息解码比特流而重构的系数信息进行解码来重构块。
[0243] 例如,当通过编码信息解码器3210来重构跳过运动信息时,视频解码器3300通过经由对要解码的块进行运动补偿来生成块或者利用所重构的跳过运动信息生成块的各个子块来重构要解码的块。当通过编码信息解码器3210来重构预测编码信息时,视频解码器3300通过利用所重构的预测编码信息对对要解码的块或者该块的各个子块进行帧内预测或帧间预测来生成预测块,通过对比特流进行解码来重构系数信息,并且通过将预测块与通过所重构的系数信息而生成的残留块相加来重构要解码的块。
[0244] 图33是例示了视频解码器3300的示意性构造的图。参照图33,视频编码器3300可以包括解码器、逆量化器/逆变换器、预测器、加法器、滤波器和图片缓冲器。预测器可以包括运动补偿器。
[0245] 图34是例示了根据本发明的实施方式的视频解码方法的流程图。
[0246] 在根据本发明的实施方式的视频解码方法中,视频解码设备3200对比特流进行解码,以重构表明要解码的块是否为跳过模式的块模式信息和表明块是否被划分为子块的分割模式信息(S3410)。具体地说,视频解码设备3200通过从针对要解码的块的比特流中提取通过对块模式信息进行编码而生成的数据以及通过对分割模式信息进行编码而生成的数据并对其进行解码来重构块模式信息和分割模式信息。
[0247] 视频解码设备3200通过根据块模式信息和划分模式信息的组合对比特流进行解码来重构块的跳过运动信息或包括块的块类型信息和块的预测信息的预测编码信息 (S3420)。视频解码设备3200基于跳过运动信息或者通过对通过基于预测编码信息对比特流进行解码而重构的系数信息进行解码来重构块(S3430)。具体地说,视频解码设备3200根据与块模式信息是否表明要编码的块的块模式是跳过模式以及分割模式信息是否表明块被划分为子块的组合对应的各种情况按照不同的方式对块进行编码。
[0248] 下文中,假设要编码的块是64x64像素宏块并且块被划分为16x16像素子块来描述由视频解码设备3200执行步骤S3420和步骤S3430的处理的示例。
[0249] 在步骤S3420中,如果块模式信息表明块的块模式是跳过模式并且分割模式信息表明块没有被划分为子块,则视频解码设备3200可以通过解码比特流来重构块的跳过运动信息。具体地说,视频解码设备3200通过从比特流中提取通过对跳过运动信息进行编码而生成的数据并对其进行解码来重构跳过运动信息,其中,跳过运动信息被重构为要解码的块的一条运动信息。在该情况下,在步骤S3430中,视频解码设备3200通过利用所重构的跳过运动信息对要解码的块进行运动补偿生成块来重构要解码的块。
[0250] 在步骤S3420中,如果块模式信息表明块的块模式是跳过模式并且分割模式信息表明块被划分为子块,则视频解码设备3200可以通过对比特流进行解码来重构块的各个块的跳过运动信息。具体地说,视频解码设备3200通过从比特流中提取通过编码跳过运动信息而生成的数据并对其进行解码来重构跳过运动信息,其中,跳过运动信息被重构为要解码的块的各个子块的多个运动信息。在该情况下,在步骤S3430中,视频解码设备3200通过利用各个子块的重构的跳过运动信息对要解码的块的各个子块进行运动补偿生成子块来重构要解码的块的各个子块,并且通过所重构的子块来重构要解码的块。
[0251] 在步骤S3420中,如果块模式信息表明块的块模式不是跳过模式并且分割模式信息表明块没有被划分为子块,则视频解码设备3200可以通过对比特流进行解码来重构预测编码信息。具体地说,视频解码设备3200通过从比特流中提取通过对预测编码信息进行编码而生成的数据并对其进行解码来重构预测编码信息,其中,预测编码信息被重构为要解码的块的一条预测编码信息。在该情况下,在步骤S3430中,视频解码设备3200通过基于预测编码信息的预测信息和块类型信息从比特流中提取通过编码系数信息而生成的数据并对其进行解码来重构系数信息,通过对所重构的系数信 息进行逆量化和逆变换来重构残留块,通过基于块类型信息和预测信息对要解码的块进行预测来生成预测块,并且通过将残留块和预测块相加来重构要解码的块。
[0252] 在步骤S3420中,如果块模式信息表明块的块模式不是跳过模式,并且分割模式信息表明块被划分为子块,则视频解码设备3200可以通过对比特流进行解码来重构块的子块的预测编码信息。具体地说,视频解码设备3200通过从比特流中提取通过对预测编码信息进行编码而生成的数据并对其进行解码来重构预测编码信息,其中,预测编码信息被重构为要解码的块的各个子块的多个预测编码信息。在该情况下,在步骤S3430中,视频解码设备3200通过基于预测编码信息的预测信息和块类型信息从比特流中提取通过编码系数信息而生成的数据并对其进行解码来重构各个子块的系数信息,通过对所重构的各个子块的系数信息进行逆量化和逆变换来重构残留块,通过基于块类型信息和预测信息对各个子块进行预测来生成预测子块,并且通过将残留子块和预测子块相加来重构各个子块,从而重构要解码的块。
[0253] 这里,块类型信息可以是基于块的子块的分割类型以及块是帧间宏块还是帧内宏块而分配给多个可用块类型的块类型编号。预测编码信息还可以包括子块的一个或更多个变换类型信息、子块的CBP信息以及子块的差量量化参数信息。块类型信息可以包括表明块是帧间宏块还是帧内宏块的块类型标记以及表明子块的分割类型的分割类型信息。
[0254] 此外,如果所重构的块模式信息表明要解码的块的块模式不是跳过模式,并且所重构的分割模式信息表明块被划分为子块,则除了表明块是帧间宏块还是帧内宏块的块类型标记以及表明块的子块的分割类型的分割类型信息以外,块类型信息还可以包括表明子块的块模式是跳过模式的跳过子块标记。具体地说,如果要解码的块的块模式不是跳过模式并且块被划分为子块,则视频解码设备3200可以不必从比特流中提取通过对预测编码信息进行编码而生成的数据以及通过针对各个子块对系数信息进行编码而生成的数据并且对其进行解码。如果通过仅对来自比特流的跳过子块标记进行解码确定了特定子块的跳过模式是跳过模式,则视频解码设备3200可以跳过对相关子块进行解码。
[0255] 在步骤S3420中,视频解码设备3200可以使用树结构在解码比特流时重构分割类型信息,以重构块类型信息。
[0256] 下文中,参照图7和图8,将给出对根据本发明的实施方式在对比特流进行解码 时利用树结构重构分割类型信息以重构块类型信息的处理的描述。
[0257] 当由视频编码设备100对最高节点值进行编码时,分割类型编号被设置为分割类型值,按照分割类型的出现频率的降序设置大的分割类型编号,并且利用二进制比特0和1对相对于最大分割类型编号的差值进行编码。在该情况下,视频解码设备3200从比特流中提取通过对分割类型信息进行编码而生成的数据,通过对所提取的数据的二进制比特0和1进行解码来重构差值,并且通过从最大分割类型编号中减去所重构的差值来重构最高节点值。这里,为了重构差值,视频解码设备3200读入通过对分割类型信息进行编码而生成的数据的一个比特,并对其进行解码,重构该二进制比特,并且如果所重构的二进制比特为
0则读入下一个比特。这样,视频解码设备3200继续重构二进制比特0,直到重构了二进制比特1为止,并且如果所重构的比特是1,则不再读入二进制比特,其中,差值是所重构的二进制比特0的系数。然而,如果读入比特的数量对应于分割类型编号的最大值和最小值之间的差值,则不读入下一个比特,其中,差值是所重构的二进制比特0的系数(在该情况下,差值是分割类型编号的最大值和最小值之间的差值)。
[0258] 另一方面,当由视频编码设备100对最高节点值进行编码时,分割类型编号被设置为分割类型值,按照分割类型的出现频率的升序设置大分割类型编号,并且利用二进制比特0和1对相对于最小分割类型编号的差值进行编码。在该情况下,视频解码设备3200从比特流中提取通过对分割类型信息进行编码而生成的数据,通过对所提取的数据的二进制比特0和1进行解码来重构差值,并且通过从最小分割类型编号中减去所重构的差值来重构最高节点值。这里,由视频解码设备3200重构差值的方法与以上所述相同。
[0259] 此外,当由视频编码设备100对最高节点值进行编码时,如上所述利用二进制比特0和1对差值0进行编码。在该情况下,视频解码设备3200从比特流中提取通过对分割类型信息进行编码而生成的数据,通过对所提取的数据的二进制比特0和1进行解码来重构差值,并且重构所重构的差值作为最高节点值。这里,由视频解码设备3200重构差值的方法与以上所述相同。
[0260] 下文中,视频解码设备3200对最高节点的下级节点的节点值进行解码。视频编码设备100通过对与要编码的节点的节点值和上级节点的节点值之间的差值一样多的二进制比特0进行编码来编码节点值。在该情况下,当对各个节点的节点值进行解 码时,视频解码设备3200读入从比特流中提取并读入的比特的下一个比特并对其进行解码,以重构最高节点值,并且如果所重构的二进制比特为0,则读入下一个比特并对其进行解码。如果上级节点的重构的节点值是分割类型编号的最大可能值,则二进制比特不被重构,并且分割类型编号的最大可能值被重构为要解码的节点值。如果所重构的比特值是1,则不再读入比特,二进制比特0的数量被重构为差值,通过将节点的节点值与所重构的差值相加来重构要解码的节点的节点值。如果视频编码设备100通过对与要编码的节点的节点值和上级节点的节点值之间的差值一样多的二进制比特0进行编码来编码节点值,则通过逐个比特解码来重构二进制比特,直到上述方法中重构的二进制比特为0为止。
[0261] 然而,在重构要解码的节点值时,如果与目前为止重构的二进制比特0的数量对应的差值和相关节点的上级节点的节点值的和是分割类型编号的最大可能值,则不再读入比特,并且分割类型编号的最大可能值被重构为该相关节点值。此外,当具有相同上级节点的节点当中的最后节点的节点值被重构时,如果除最后节点以外的节点的节点值大于上级节点的节点值,则不再读入比特,并且上级节点的节点值被重构为最后节点的节点值。
[0262] 作为利用树结构对分割类型信息进行解码的另一实施方式,如果图7A所示的子块的分割类型值被分组,并且在确定图7B的分组区域的分割类型值时按照出现频率的降序设置各个分割类型编号,则通过从上级节点的节点值中减去节点值来重构当前节点的节点值。
[0263] 如上所述,根据本发明的实施方式,由于可以根据要编码的视频的块的分割模式和块模式的组合来有效地编码/解码相关块,所以可以提高视频压缩效率。
[0264] 以上已经通过本发明的实施方式描述了根据要编码的块的分割模式信息和块模式信息的组合对相关块编码的方法以及通过编码生成的比特流的句法结构。下文中,将通过本发明的另一实施方式来描述通过根据要编码的块的跳过类型信息选择性地使用针对相关块的编码方案来对视频进行编码的方法。
[0265] 图35是例示了根据本发明的另一实施方式的视频编码设备的示意性构造的框图。
[0266] 根据本发明的另一实施方式的视频编码设备3500可以包括编码信息编码器3510和视频编码器3520。
[0267] 编码信息编码器3520对表明要编码的视频的块的跳过类型的跳过类型新信息进行编码,并且根据该跳过类型信息对块的跳过运动信息进行编码。具体地说,如果要编码的块的块模式是跳过模式,则编码信息编码器3510对表明块的跳过类型的跳过类型信息进行编码,并且基于该跳过类型信息对块的跳过运动信息进行编码。例如,如果块的跳过类型表明块的跳过运动信息被编码,则编码信息编码器3510对块的跳过运动信息进行编码。
[0268] 视频编码器3520根据块的跳过类型信息对块的系数信息进行编码。具体地说,如果要编码的块的块模式是跳过模式,则视频编码器3520基于跳过类型信息对块的系数信息进行编码。例如,如果块的跳过类型表明块的系数信息被编码,则编码信息编码器3520对块的跳过运动信息进行编码。与参照图1描述的根据本发明的实施方式的视频编码器200类似,视频编码器3520可以包括预测器、减法器、变换器/量化器、编码器、逆量化器/逆变换器、加法器、滤波器和图片缓冲器。
[0269] 如果块的跳过类型信息表明跳过了对块的编码,则仅对跳过类型信息进行编码,而无需对相关块的跳过运动信息和系数信息进行编码。
[0270] 图36是例示了根据本发明的另一实施方式的视频编码方法的流程图。
[0271] 在根据本发明的另一实施方式的视频编码方法中,视频编码设备3500对表明要编码的视频的块的跳过类型的跳过类型信息进行编码(S3610)。这里,跳过类型表明如何在块的块模式是跳过模式时对跳过模式块进行编码。具体地说,如果要编码的块的块模式是跳过模式,则在对块的跳过模式进行编码时,视频编码设备3500对表明是否仅对块的系数信息进行编码、仅对块的运动信息进行编码或者跳过对块的编码的跳过类型信息进行编码。
[0272] 跳过类型信息可以通过1比特跳过类型标记实现,并且跳过类型可以通过1比特跳过类型标记来表示,如以下三种情况。例如,如果跳过类型标记是0,则表明跳过模式跳过对块的编码;如果跳过类型标记是1,则表明跳过模式对跳过运动向量进行编码,而无需对块的系数信息进行编码。作为另一示例,如果跳过类型标记是0,则表明跳过模式跳过对块的编码;如果跳过类型标记是1,则表明跳过模式对块的系数信息进行编码,而无需对跳过运动向量进行编码。作为另一示例,如果跳过类型标记为0,则表明跳过模式对跳过运动向量进行编码,而无需对块的系数信息进行编码;如果跳过类型标记为1,则表明跳过模式对块的系数信息进行编码,而无需对跳过运 动向量进行编码。
[0273] 根据跳过类型信息,视频编码设备3500跳过对块的编码,对块的跳过运动信息进行编码,或者对块的系数信息进行编码(S3620)。
[0274] 这里,跳过类型信息可以表明跳过对块的编码或者可以表明块的跳过运动信息被编码。另选地,跳过类型信息可以表明跳过对块的编码或者可以表明块的系数信息被编码。另选地,跳过类型信息可以表明块的跳过运动信息被编码或者可以表明块的系数信息被编码。
[0275] 因而,在步骤3620中,如果跳过类型信息表明块的跳过类型跳过对块的编码,则视频编码设备3500跳过对块的编码。
[0276] 此外,在步骤3620中,如果跳过类型信息表明块的跳过类型对块的跳过运动信息进行编码,则视频编码设备3500对要编码的块的跳过运动信息进行编码,而无需对相关块的系数信息进行编码。
[0277] 此外,在步骤3620中,如果跳过类型信息表明块的跳过类型对块的系数信息进行编码,则视频编码设备3500对要编码的块的系数信息进行编码,而无需对相关块的跳过运动信息进行编码。在该情况下,可以利用基于相关块的相邻块的运动信息而确定的运动信息对要编码的块的系数信息进行预测编码。
[0278] 图37是例示了根据本发明的另一实施方式的视频解码设备3700的示意性构造的框图。
[0279] 根据本发明的另一实施方式的视频解码设备3700可以包括编码信息解码器3710和视频解码器3720。
[0280] 编码信息解码器3710通过对比特流进行解码来重构表明要编码的视频的块的跳过类型的跳过类型信息,并且通过根据该跳过类型信息对比特流进行解码来重构块的跳过运动信息。
[0281] 根据跳过类型信息,视频解码器3720基于根据预定方案而确定的运动信息、跳过运动信息或者通过解码比特流重构的系数信息来重构块。
[0282] 具体地说,如果由编码信息解码器3710重构的跳过类型信息表明块的跳过类型对跳过运动向量进行编码,则视频编码器3720利用由编码信息解码器3710重构的跳过运动信息来重构通过对要解码的块的运动进行补偿而生成的块,作为要解码的块。此外,如果由编码信息解码器3710重构的跳过类型信息表明块的系数信息被编码, 则视频编码器3720通过对比特流进行解码来重构系数信息,通过对系数信息进行逆量化和逆变换来重构残留块,并且通过将残留块与通过利用根据预定方案而确定的运动信息执行运动补偿所生成的预测块相加来重构要解码的块。如果由编码信息解码器3710重构的跳过类型信息表明跳过了对块的编码,则视频编码器3720利用根据预定方案而确定的运动信息来重构通过对要解码的块进行运动补偿所生成的块,作为要解码的块。
[0283] 这里,根据预定方案而确定的运动信息可以是利用相邻块的运动信息而确定的运动信息,但是不限于此,可以是根据各种其它方案确定的运动信息。
[0284] 图38是例示了根据本发明的实施方式的视频解码方法的流程图。
[0285] 在根据本发明的实施方式的视频解码方法中,视频解码设备3700通过对比特流进行解码来重构表明要解码的块的跳过类型的跳过类型信息(S3810),并且根据跳过类型信息、基于根据预定方案确定的运动信息、通过对比特流进行解码重构的块的跳过运动信息或者通过对比特流进行解码重构的系数信息来重构块(S3820)。
[0286] 在步骤S3810中,视频解码设备3700可以仅当块的块模式是跳过模式时重构跳过类型信息。具体地说,仅当要解码的块的块模式是跳过模式时,通过对跳过类型信息进行编码而生成的数据才被包括在比特流中。因此,仅当块的块模式是跳过模式时,通过对跳过类型信息进行编码而生成的数据被提取并解码,以重构跳过类型信息。
[0287] 在步骤3820中,如果所重构的跳过类型信息表明跳过了对块的编码,则视频解码设备3700可以基于根据预定方案而确定的运动信息来重构块。具体地说,如果跳过类型信息表明跳过了对块的编码,则视频编码设备3500跳过对块的编码,并且比特流不包括通过对系数信息进行编码而生成的块或数据的编码信息。因此,视频解码设备3700不从比特流中提取数据,根据利用视频编码设备3500安排的预定方案来确定块的运动信息(即,运动向量和基准图片索引),并且重构通过利用确定的运动信息对块的运动进行补偿而生成的块,作为要解码的块。
[0288] 在步骤3820中,如果跳过类型信息表明块的跳过运动信息被编码,则视频解码设备3700可以基于通过对比特流进行解码而重构的块的跳过运动信息来重构块。具体地说,如果跳过类型信息表明块的跳过运动信息被编码,则视频编码设备3500不对块的系数信息而是对块的跳过运动信息进行编码,并且比特流不包括通过对系数信息进行编码而生成的数据。因此,视频解码设备3700通过从比特流中提取通过对跳 过运动信息进行编码而生成的数据并对其进行解码来重构跳过运动信息,并且重构通过利用所重构的跳过运动信息对块的运动进行补偿而生成的块,作为要解码的块。
[0289] 在步骤S3820中,如果跳过类型信息表明块的系数信息被编码,则视频解码设备3700可以基于通过对比特流进行解码而重构的系数信息来重构块。具体地说,如果跳过类型信息表明块的系数信息被编码,则视频编码设备3500不对块的跳过运动信息而是对块的系数信息进行编码,并且比特流不包括通过对系数信息进行编码而生成的数据。因此,视频解码设备3700通过从比特流中提取通过对系数信息进行编码而生成的数据并对其进行解码来重构系数信息,通过对所重构的系数信息进行逆量化和逆变换来重构残留块,根据利用视频编码设备3500安排的预定方案来确定块的运动信息(即,运动向量和基准图片索引),并且通过将所重构的残留块与通过利用所确定的运动信息对块的运动进行补偿而生成的预测块相加来重构要解码的块。
[0290] 第二实施方式
[0291] 下文将描述本发明的第二实施方式。具体地说,将在本发明的第二实施方式中描述对与变换子块相关的变换信息(例如,变换类型、变换子块分割标记和CBP标记)的树结构进行编码的另一实施方式。
[0292] 根据第二实施方式,可以通过将各个宏块或子块划分为可变大小的块来生成变换子块。此外,可以根据变换子块来确定变换类型。另选地,可以根据预测模式来确定变换类型。
[0293] 在该情况下,关于可用变换子块的大小和类型的信息可以包括在各个头中。头的示例可以包括片头、图片头和序列头。此外,最大变换子块大小和最小变换子块大小可以被编码,并且最小变换子块大小可以随帧内预测和帧间预测而不同。例如,如果最大变换子块大小是64x64并且最小变换子块大小是4x4,则帧内预测块的最小变换子块大小可以被编码为16x16。在该情况下,对于帧内预测块的变换可用的变换子块大小可以是64x64,32x32和16x16,并且对于帧间预测块的变换可用的变换子块大小可以是64x64,32x32,16x16,8x8和4x4。
[0294] 图39是例示了根据本发明的第二实施方式的变换信息编码的示例的图。
[0295] 图39A例示了当前宏块被划分为子块的情况。具体地说,当前宏块被划分为四个子块A、B、C和D。
[0296] 图39B例示了当前宏块中的子块的预测子块。具体地说,子块A是跳过模式, 子块B被划分为四个16x16像素帧内预测子块,子块C被划分为两个8x16帧间预测子块,子块D被划分为两个16x8帧间预测子块。
[0297] 图39C例示了当前宏块中的子块的变换子块的大小。具体地说,子块A因为其为跳过模式而没有被变换。子块B被变换并被量化为8x8像素变换子块,子块C被变换并被量化为16x16像素变换子块。
[0298] 图39D、图39E和图39F例示了一个亮度分量和两个色度分量的CBP标记。
[0299] 图39G例示了当前宏块中的子块的块编号。
[0300] 图40是例示了利用树结构对图39中的子块B的变换信息进行编码的示例的图。
[0301] 参照图39和图40,表明当前子块B中是否存在亮度分量和色度分量的非零变换系数的Sub_block_CBP_flag被编码,接着表明当前子块是否被划分为变换子块的split_flag被编码。此后,针对各个变换子块对色度分量(Cr,Cb)和亮度分量(Y)的CBP_flag和split_flag进行编码。参照图39G,按照Cb_CBP_flag,Cr_CBP_flag和split_flag的顺序将被划分为P1、P2、P3和P4的变换子块的split_flag和cbp_flag编码为1/1/1,并且按照Cb_CBP_flag,Cr_CBP_flag,split_flag和Y_CBP_flag的顺序对各个变换子块的被划分的变换子块P1、P2、P3和P4进行编码。按照相同的顺序和句法对其它变换子块进行编码。
[0302] 这里,可以利用根据周边情况的不同的上下文通过上下文自适应二进制算术编码(CABAC)对各个句法进行编码,或者可以无需使用句法将句法值变换为1比特。
[0303] 图41是例示了利用树结构对图39中的子块C的变换信息进行编码的示例的图。
[0304] 参照图39和图41,当前子块C是没有被划分为变换子块的帧间预测块。因而,当前子块C的Sub_block_CBP_flag被编码为1,split_flag被编码为0,并且Cb_CBP_flag,Cr_CBP_flag和Y_CBP_flag被顺序地编码。
[0305] 图42是例示了利用树结构对图39中的子块C的变换信息进行编码的另一示例的图。
[0306] 参照图39和图42,表明当前子块是否被划分为变换子块的split_flag被编码,接着CBP标记(Cb,Cr,Y)被编码。在该情况下,sub_block_CBP_flag可以不被编码。此外,最高节点的sub_block_CBP_flag和split_flag的序列可以在所有子块的各个树结构中改变。
[0307] 图43是例示了利用树结构对图39中的子块D的变换信息进行编码的示例的图。
[0308] 参照图39和图43,当前子块D是被划分为变换子块的帧间预测块。因而,当前子块D的sub_block_CBP_flag和split_flag被编码为1。此后,参照图39G,按照split_flag,Cb_CBP_flag,Cr_CBP_flag和Y_CBP_flag的顺序对按照P15,P16,P17和P18的顺序划分的各个变换子块的split_flag和cbp_flag进行编码。
[0309] 以上句法和句法的顺序仅是示例性的且并不限于以上示例。根据本发明的实施方式的变换信息的编码数据可以包括变换信息sub_block_CBP_flag,split flag和cbp_flag(针对各个分量)当中的一个或更多个句法和变换信息。具体地说,其包括表明各个子块的色度分量和亮度分量中是否存在非零变换系数的sub_block_CBP_flag被编码为最高节点值的情况。
[0310] 由于根据本发明的实施方式的变换信息解码对应于变换信息编码的逆处理,所以本领域技术人员可以从以上变换信息编码处理来理解变换信息解码处理。
[0311] 如上所述,根据本发明的实施方式,按照各种模式定义了块的跳过模式。由于可以根据视频特性和/或实施模式选择性地使用各种模式来对视频进行编码/解码,所以可以提高视频压缩效率。
[0312] 尽管已经针对例示了性目的描述了本发明的示例性方面,但是本领域技术人员将理解,无需脱离本发明的实质特性,可以进行各种修改、添加和替换。因此,本发明的示例性方面不是针对限制目的而描述的。因此,本发明的范围不由以上方面而由权利要求及其等同物限定。
[0313] 工业实用性
[0314] 如上所述,本发明的实施方式对于由视频编码/解码进行视频压缩的领域的应用非常有用,因为它们能够通过对用于视频编码的编码信息进行有效编码并且通过选择性使用各种编码方案和解码方案进行视频编码来提高视频压缩效率。
[0315] 相关申请的交叉引用
[0316] 如果适用,本申请要求在韩国于2010年4 月16提交的专利申请No.10-2010-0035533以及于2011年4月16日提交的专利申请No.10-2011-0035424在
35U.S.C§119(a)下的优先权,通过引用将其全部内容并入本文。此外,该非临时申请以基于韩国专利申请相同的原因要求在除美国以外的国家的优先权,并且通过引用将其全部内容并入本文。