视频解码装置和方法与流程

文档序号:14135727阅读:120来源:国知局
视频解码装置和方法与流程

技术领域

本发明涉及用于使用分割层或划分层来进行图像编码/解码的方法和装置。更加具体地说,本发明涉及一种方法和装置,该方法和装置在使用可变尺寸的块来对高分辨率图像进行编码时,在将块分割为子块之后以子块为单位执行编码和解码,并且通过有效地对块划分信息进行编码/解码来改进压缩效率。



背景技术:

用于压缩视频数据的技术包括H.261、H.263、H.264、MPEG-2、MPEG-4等。根据这些视频压缩标准,各个图像被划分和编码为固定尺寸的宏块,这些宏块由具有像素尺寸为16×16的亮度分量和像素尺寸为8×8的色度分量的矩形区域形成。对各个宏块的所有亮度分量和所有色度分量进行时间或空间预测,并且接着对预测残差进行变换、量化和熵编码,并且最后进行传输。

最近制定的H.264/AVC标准规定编码装置针对固定宏块尺寸使用16×16像素块,并且将各个宏块细分为较小的块,针对这些较小的块执行帧内预测或帧间预测。在执行帧内预测编码时,各个宏块可以被划分为16×16、8×8或4×4的尺寸,并且按照四个预测模式中的一个对尺寸为16×16的块进行帧内预测,并且按照九个预测模式中的一个对8×8和4×4块进行帧内预测。在帧间预测的情况下,宏块可以被细分为尺寸为16×16、16×8、8×16、8×8、8×4、4×8或者4×4的块,并且接着通过运动补偿被用于帧间预测。以尺寸为8×8或4×4的块为单位执行变换,并且用于变换系数的量化是标量量化。

然而,由于典型的视频压缩技术在对图像进行编码时使用固定尺寸的宏块(尽管H.264/AVC将宏块细分并编码为较小的块单位,但是宏块是固定尺寸的),对高分辨率图像进行编码难以实现足够的编码效率。

另外,由于宏块尺寸是固定的,所以宏块内的子块(子块是预测或变换单位)的尺寸也是受限的。



技术实现要素:

技术问题

因此,解决上述问题的本发明的方面主要旨在当对高分辨率图像进行编码时,通过使用可变尺寸的块和各种尺寸的子块来对图像进行编码,并且通过有效地对块划分信息进行编码和解码来改进压缩效率。

技术方案

本发明的一个方面提供了一种视频编码/解码装置,该视频编码/解码装置包括:视频编码器,该视频编码器通过对被划分为多个子块的当前块进行编码来生成经编码的图像数据,并且通过对所述当前块的划分信息进行编码来生成经编码的划分信息数据,由此来对图像进行编码;以及视频解码器,该视频解码器通过对从比特流中提取的经编码的划分信息数据进行解码来重建所述当前块的所述划分信息,并且通过根据所述当前块的经重建的划分信息对从所述比特流中提取的经编码的图像数据进行解码来重建被划分为多个子块的所述当前块,由此来对图像进行解码。

本发明的另一方面提供了一种视频编码装置,该视频编码装置包括:视频编码器,该视频编码器通过对被划分为多个子块的当前块进行编码来生成经编码的图像数据,由此来对图像进行编码;以及划分信息编码器,该划分信息编码器通过对所述当前块的所述划分信息进行编码来生成经编码的划分信息数据,由此来对划分信息进行编码。

本发明的另一方面提供了一种视频编码装置,该视频编码装置包括:最大划分层确定器,该最大划分层确定器用于确定当前块的最大划分层值;最大划分层编码器,该最大划分层编码器通过对所述当前块的所述最大划分层值进行编码来生成经编码的最大划分层数据,由此来对最大划分层进行编码;以及视频编码器,该视频编码器通过使用根据所确定的最大划分层值而确定的最小子块尺寸对所述当前块进行编码,来生成经编码的图像数据,由此来对图像进行编码。

本发明的另一方面提供了一种视频编码装置,该视频编码装置包括:最大划分层确定器,该最大划分层确定器用于确定当前块的最大划分层值;最大划分层编码器,该最大划分层编码器通过对所述当前块的所述最大划分层值进行编码来生成经编码的最大划分层数据,由此来对最大划分层进行编码;以及视频编码器,该视频编码器通过使用根据所确定的最大划分层值而确定的最小子块尺寸对所述当前块进行编码,来生成经编码的图像数据,由此来对图像进行编码。

本发明的另一方面提供了一种视频编码装置,该视频编码装置包括:宏块尺寸候选设置单元,该宏块尺寸候选设置单元用于设置多个宏块尺寸候选;视频编码器,该视频编码器用于通过所述多个宏块尺寸候选中的每一个来对输入的图像进行编码;宏块尺寸确定器,该宏块尺寸确定器用于基于针对所述多个宏块尺寸候选中的每一个的编码开销来确定宏块尺寸,并且该宏块尺寸确定器生成包括按照所确定的宏块尺寸进行编码的图像数据以及与所确定的宏块尺寸有关的信息的比特流。

本发明的另一方面提供了一种视频解码装置,该视频解码装置包括:划分信息解码器,该划分信息解码器通过对从比特流中提取的经编码的划分信息数据进行解码来重建当前块的划分信息,由此来对划分信息进行解码;以及视频解码器,该视频解码器通过根据所述当前块的经重建的划分信息对从比特流中提取的经编码的图像数据进行解码来重建被划分为多个子块的所述当前块,由此来对图像进行解码。

本发明的另一方面提供了一种视频解码装置,该视频解码装置包括:最大划分层解码器,该最大划分层解码器通过对从比特流中提取的经编码的最大划分层数据进行解码来重建最大划分层值,由此来对最大划分层进行解码;以及视频解码器,该视频解码器通过使用根据经重建的最大划分层值的最小子块尺寸对从所述比特流中提取的经编码的图像数据进行解码,来重建当前块,由此来对图像进行解码。

本发明的另一方面提供了一种视频解码装置,该视频解码装置包括:宏块尺寸设置单元,该宏块尺寸设置单元从比特流中提取宏块尺寸信息,并且通过使用所提取的宏块尺寸信息来设置所述宏块尺寸,由此来设置宏块尺寸;以及视频解码器,该视频解码器从所述比特流中提取经编码的图像数据,并且通过根据由所述宏块尺寸信息标识的所述宏块尺寸对所述经编码的图像数据进行解码,来生成重建的图像,由此来对图像进行解码。

本发明的另一个方面提供了一种视频编码/解码方法,该视频编码/解码方法包括以下步骤:通过对被划分为多个子块的当前块进行编码来生成经编码的图像数据,并且通过对所述当前块的划分信息进行编码来生成经编码的划分信息数据,由此来对图像进行编码;以及通过对从比特流中提取的经编码的划分信息数据进行解码来重建所述当前块的所述划分信息,并且通过根据所述当前块的经重建的划分信息对从所述比特流中提取的所述经编码的图像数据进行解码来重建被划分为所述多个子块的所述当前块,由此来对所述图像进行解码。

本发明的另一方面提供了一种视频编码方法,该视频编码方法包括以下步骤:通过对被划分为多个子块的当前块进行编码来生成经编码的图像数据;通过对所述当前块的划分信息进行编码来生成经编码的划分信息数据;以及生成包括所述经编码的图像数据和所述经编码的划分信息数据的比特流。

所述多个子块可以是正方形的。

可以通过多个划分类型中的所选择的一个来执行划分。

所述当前块可以是块尺寸超过16×16的宏块。

所述划分信息可以指示包括在所述当前块中的所述多个子块的块尺寸。

所述划分信息可以由按照每个划分层的划分类型指示信息来标识,并且生成所述经编码的划分信息数据的步骤可以通过以下步骤来对所述划分信息进行编码:基于划分类型指示信息编码顺序来顺序地对按照每个划分层的所述划分类型指示信息进行编码。

所述划分信息可以由划分层的层编号和划分类型指示信息来标识,并且生成所述经编码的划分信息数据的步骤可以通过以下步骤来对所述划分信息进行编码:通过使用树结构来对所述划分层的所述层编号以及所述划分类型指示信息进行编码。

所述划分可以仅使用正方形,并且所述划分信息可以仅包括划分层值。

所述划分可以使矩形块被划分为较小矩形块。

所述划分信息可以由划分层值和划分标记来标识,并且生成所述经编码的划分信息数据的步骤可以通过对所述划分层值和所述划分标记进行编码来对所述划分信息进行编码。

生成所述经编码的划分信息数据的步骤可以通过以下步骤来对所述划分信息进行编码:仅在所述当前块是帧内块类型时对所述划分层值和所述划分标记进行编码。

所述多个子块可以是正方形块。

本发明的另一方面提供了一种视频编码方法,该视频编码方法包括以下步骤:设置多个最小子块尺寸候选;通过所述多个最小子块尺寸候选中的每一个来对输入的图像进行编码;基于针对所述多个宏块尺寸候选中的每一个的编码开销来确定最小子块尺寸,并且生成包括按照所确定的最小子块尺寸进行编码的图像数据和与所确定的最小子块尺寸有关的信息的比特流。

与所确定的最小子块尺寸有关的所述信息可以是与最小子块尺寸值有关的信息或者与最大划分层值有关的信息。

确定所述最小子块尺寸的步骤可以包括以下步骤:确定当前块的最大划分层值;通过对所述当前块的所述最大划分层值进行编码来生成经编码的最大划分层数据;通过使用根据所确定的最大划分层值确定的最小子块尺寸来对所述当前块进行编码,由此生成经编码的图像数据;以及生成包括所述经编码的最大划分层数据和所述经编码的图像数据的比特流。

生成所述经编码的图像数据的步骤可以通过使用根据所述最大划分层值而确定的最小子块尺寸以及根据各个层的可用性而确定的子块来对所述当前块进行编码,并且,生成所述比特流的步骤还可以将用于指示划分之后的所述各个层的使用或未使用的信息包括在所述比特流中。

用于指示各个经划分的层的使用或未使用的所述信息可以是通过组合所述各个层的使用或未使用的事件而生成的表的索引。

本发明的另一方面提供了一种视频编码方法,该视频编码方法包括以下步骤:确定当前块的可用划分层;从所确定的可用划分层中选择用于使所述当前块的编码开销最小的划分层;通过使用所选择的划分层对所述当前块进行编码来生成经编码的图像数据;以及生成包括通过对与所选择的划分层有关的信息进行编码而生成的经编码的划分层数据、通过对划分所述当前块的划分信息进行编码而生成的经编码的划分信息数据以及所述经编码的图像数据的比特流。

本发明的另一方面提供了一种视频编码方法,该视频编码方法包括以下步骤:设置多个宏块尺寸候选;通过所述多个宏块尺寸候选中的每一个来对输入的图像进行编码;基于针对所述多个宏块尺寸候选中的每一个的编码开销来确定宏块尺寸;以及生成包括按照所确定的宏块尺寸进行编码的图像数据以及与所确定的宏块尺寸有关的信息的比特流。

与所确定的宏块尺寸有关的所述信息可以是与所述宏块尺寸的值有关的信息或者与最大子块尺寸值和最大划分层值有关的信息或者与预定尺寸的宏块有关的放大/缩小信息。

与所述宏块尺寸的值有关的所述信息可以是用于指示是否传输宏块信息的标记。

与所确定的宏块尺寸有关的所述信息可以是用于指示是否使用基准尺寸的宏块的标记。

与所确定的宏块尺寸有关的所述信息可以是关于是否使用先前图片的宏块尺寸的标记。

与所确定的宏块尺寸有关的所述信息可以在帧内图片与帧间图片之间限定不同的宏块尺寸。

所述视频编码方法还可以包括以下步骤:设置基准最小子块尺寸,并且将用于指示是否使用所述基准最小子块尺寸的标记编码在图片、片段(slice)中的每一个的头部中或编码在最小子块头部中。

当所述标记指示没有使用所述基准最小子块尺寸时,可以选择具有相对于所述基准最小子块尺寸按照预定比率放大或缩小的尺寸的块作为当前最小子块。

可以应用不同的最小子块尺寸来对帧内图片和帧间图片进行编码。

可以通过使用限定块尺寸的表来获取与所述宏块尺寸的值有关的信息或者与所述最大子块尺寸值有关的信息。

本发明的另一方面提供了一种视频解码方法,该视频解码方法包括以下步骤:通过对从比特流中提取的经编码的划分信息数据进行解码来重建当前块的划分信息;以及通过根据所述当前块的经重建的划分信息对从比特流中提取的经编码的图像数据进行解码,来重建被划分为多个子块的所述当前块。

所述划分信息可以由按照每个划分层的划分类型指示信息来标识。

所述划分信息可以由划分层的层编号和划分类型指示信息来标识。

所述划分信息可以由划分层值和划分标记来标识。

所述划分可以仅使用正方形,并且所述划分信息可以仅包括划分层值。

所述划分可以使矩形块被划分为较小矩形块。

本发明的另一方面提供了一种视频解码方法,该视频解码方法包括以下步骤:通过对从比特流中提取的经编码的最小子块尺寸数据进行解码来重建最小子块尺寸;以及通过使用经重建的最小子块尺寸对从所述比特流中提取的经编码的图像数据进行解码来重建当前块。

从所述比特流中提取的所述经编码的最小子块尺寸数据可以是与最小子块尺寸值有关的信息或者与最大划分层值有关的信息。

生成所述当前块的步骤可以通过使用根据所述最大划分层值而确定的最小子块尺寸以及根据各个层的可用性而确定的子块来对所述当前块进行编码。

所述视频解码方法还可以按照通过组合所述各个层的使用或未使用的事件而生成的表的索引的形式包括用于指示所述各个层的使用或未使用的信息。

根据本发明的另一方面提供了一种视频解码方法,该视频解码方法包括以下步骤:通过对从比特流中提取的经编码的划分层数据和经编码的划分信息数据进行解码来重建与划分层有关的信息和划分信息;以及通过使用所重建的与所述划分层有关的信息和所重建的划分信息对从所述比特流中提取的经编码的图像数据进行解码来重建当前块。

本发明的另一方面提供了一种视频解码方法,该视频解码方法包括:从比特流中提取宏块尺寸信息,并且通过使用所提取的宏块尺寸信息来设置所述宏块尺寸,由此来设置宏块尺寸;以及从所述比特流中提取经编码的图像数据,并且通过根据由所述宏块尺寸信息标识的所述宏块尺寸对所述经编码的图像数据进行解码来生成经重建的图像,由此来对图像进行解码。

所述宏块尺寸信息可以是与所述宏块尺寸的值有关的信息或者与最大子块尺寸值和最大划分层值有关的信息或者与预定尺寸的宏块有关的放大/缩小信息。

与所述宏块尺寸的值有关的所述信息可以是与基准宏块尺寸有关的信息。

所述宏块尺寸信息可以是关于是否使用先前图片的宏块尺寸的标记。

所述宏块尺寸信息可以在帧内图片与帧间图片之间限定不同的宏块尺寸。

所述视频解码方法还可以包括以下步骤:通过设置基准最小子块尺寸并对图片、片段或最小子块中的每一个的头部中的用于指示是否使用所述基准最小子块尺寸的标记进行解码,来重建最小子块尺寸。

当所述标记指示没有使用所述基准最小子块尺寸时,可以通过对用于指示相对于所述基准最小子块尺寸按照预定比率放大或缩小的信息进行解码,来重建所述最小子块尺寸。

帧内图片和帧间图片可以被指派不同的最小子块尺寸。

可以通过使用限定块尺寸的表来获取与所述宏块尺寸的值有关的信息或者与所述最大子块尺寸值有关的信息。

有益效果

根据如上所述的本发明,通过在对高分辨率图像进行编码时使用可变尺寸的宏块和各种尺寸的子块来对图像进行编码,并且对块划分信息进行编码和解码,可以实现有效的视频编码和解码。

附图说明

图1至图3是用于示出根据本发明的一个方面的以M×N个像素为单位的宏块的示例性示图,

图4至图5是用于示出根据本发明的一个方面的各种子块模式的示例性示图,

图6是用于示出根据本发明的一个方面的视频编码装置的示意性框图,

图7是用于示出根据本发明的一个方面的视频解码装置的示意性框图,

图8是用于示出根据本发明的另一方面的视频编码装置的第一实现的框图,

图9是用于示出根据本发明的另一方面的针对各个层的从宏块分割出的子块的示例性示图,

图10是用于示出根据本发明的另一方面的划分类型的示例性示图,

图11是用于示出根据本发明的另一方面的被分割为各种块尺寸的子块的宏块的示例性示图,

图12是用于顺序地示出针对各个划分层来分割宏块的处理的示例性示图,

图13是用于示出根据子块顺序来顺序地对针对各个层的宏块的划分类型指示信息进行编码的处理的示例性示图,

图14是用于示出根据本发明的另一方面的通过使用树结构来对块划分信息进行编码的方法的示例性示图,

图15和图16是用于示出根据本发明的另一方面的通过使用树结构来对块划分信息进行编码的方法的示例的示例性示图,

图17和图18是用于示出根据本发明的另一方面的通过使用树结构来对块划分信息进行编码的方法的另一示例的示例性示图,

图19示出了根据本发明的另一方面的基于划分层值分割的子块,

图20是用于示出根据本发明的另一方面的通过使用划分层值和划分标记来对块划分信息进行编码的处理的示例性示图,

图21是用于示出根据本发明的另一方面的被分割为各种块尺寸的子块的宏块的示例性示图,

图22是用于示出根据子块顺序来对针对宏块的各个层的划分类型指示信息顺序地编码的处理的示例性示图,

图23是用于示出根据本发明的另一方面的视频编码方法的流程图,

图24是用于示出根据本发明的另一方面的视频解码方法的示意性框图,

图25是用于示出根据本发明的另一方面的视频编码方法的流程图,

图26是用于示出根据本发明的又一方面的视频编码装置的示意性框图,

图27是用于示出根据本发明的又一方面的划分层与最小子块尺寸之间的关系的示例性示图,

图28是用于示出根据本发明的又一方面的确定最大划分层值的方法的示例的流程图,

图29是用于示出根据本发明的又一方面的确定最大划分层值的方法的另一示例的流程图,

图30是用于示出根据本发明的又一方面的通过仅使用所选择的划分层来对当前块的划分信息进行编码的处理的示例性示图,

图31是用于示出根据本发明的又一方面的视频编码方法的流程图,

图32是用于示出根据本发明的又一方面的视频解码装置的示意性框图,

图33是用于示出根据本发明的又一方面的视频解码方法的流程图,

图34是用于示出根据本发明的另一方面的划分类型的示例性示图,

图35是用于示出根据本发明的又一方面的视频编码装置的示意性框图,

图36是用于示出根据本发明的另一方面的视频编码方法的实现的流程图,

图37是用于示出根据本发明的另一方面的视频解码装置的实现的框图。

具体实施方式

下文将参照附图详细描述本发明的方面。在以下描述中,尽管在不同的附图中示出,但是用相同的附图标记来表示相同的元件。此外,在本发明的以下描述中,当对并入本文的公知功能和构造的详细描述使得本发明的主题不清晰时,将省略这些详细描述。

另外,在描述本发明的组件时,可以存在诸如第一、第二、A、B、(a)和(b)的术语。这些术语仅出于将一个组件与其它组件相区分的目的而不暗示或意指这些组件的实质、顺序或次序。如果将组件描述为“连接”、“耦接”或“链接”到其它组件,则这些组件不仅可以直接“连接”、“耦接”或“链接”到其它组件而且可以经由第三组件间接地“连接”、“耦接”或“链接”到其它组件。

在以下描述中将要讨论的视频编码装置和视频解码装置可以是个人计算机(PC)、笔记本计算机、个人数字助理(PDA)、便携式多媒体播放器(PMP)、便携式游戏机(PSP)和移动通信终端,并且是指包括通信装置的各种装置,诸如用于执行与各种设备和/或有线/无线通信网络的通信的通信调制解调器、用于存储用于对视频进行编码或者解码的各种程序和数据的存储器以及用于执行程序以执行操作和控制的微处理器。

另外,通过有线/无线通信网络(诸如互联网、近场通信网络、无线LAN(局域网)、WiBro(无线宽带)网络和移动通信网络)或者通过通信接口(诸如线缆或通用串行总线(USB))将由视频编码装置编码为比特流的视频实时或者非实时地传输至视频解码装置,并且在该视频解码装置中进行解码,并且由此可以将经解码的视频重建并再现为视频。

通常,视频包括一系列图片,并且每个图片被划分为预定的区域(诸如宏块),这些区域是用于对图像进行编码和解码的基准单位。根据宏块解码方法,宏块被分类为帧内宏块和帧间宏块。帧内宏块是指使用帧内预测编码来进行编码的宏块。帧内预测编码对应于通过以下步骤来生成预测块的方案:通过使用当前图片(其中执行当前编码)内的先前编码并解码的重建块的像素来预测当前块像素;并且对所生成的预测块与当前块像素之间的差值进行编码。帧间宏块是指使用帧间预测编码来进行编码的宏块。帧间预测编码对应于通过以下步骤来生成预测块的方案:参照一个或更多个过去图片或将来图片来预测当前图片内的当前块,并且对所生成的预测块与当前块之间的差值进行编码。这里,在对当前图片进行编码或解码时所提及的图片称为基准图片。

A)使用具有任意尺寸的宏块或者块来进行编码和解码

在下文中,通过示例的方式描述了用于以块为单位对图像进行编码和解码的装置。这里,块可以是尺寸为M×N的宏块(M和N可以是等于或大于16的整数)或者尺寸为O×P的子块或者更低块(O和P可以是等于或小于M或N的整数)。以块为单位对图像进行编码和解码仅是示例,可以按照类似于块的限定区域或者未限定区域为单位来对图像进行编码和解码。然而,随后将描述的视频编码/解码装置可以使用具有任意尺寸的块,并且块尺寸是视频编码装置与视频解码装置之间预先安排的尺寸。

A-1)任意尺寸的宏块

图1至图3是用于示出根据本发明的一个方面的以M×N个像素为单位的宏块的示例性示图。

图1示出了在具有特定尺寸的输入图像的一部分中表示的以M×N个像素为单位的宏块(在下文中,称为尺寸为M×N的宏块)作为示例,图2示出了包括396个尺寸为16×16的宏块的CIF图像作为示例,并且图3示出了包括54个尺寸为64×32的宏块的CIF图像作为示例。

在传统的视频压缩技术中,图像被分割为固定尺寸为16×16的宏块,并且接着被编码和解码,如图2所示。然而,在本发明的一个方面中,可以使用尺寸为64×32的宏块来对图像进行编码和解码(不仅尺寸64×32而且诸如尺寸64×64和尺寸32×64的尺寸M×N(大于尺寸16×16)都是可用的),如图3所示。

A-2)子块模式的示例

图4至图5是用于示出根据本发明的一个方面的各种子块模式的示例性示图。

图4示出了可用于尺寸为32×32的宏块的子块模式,并且图5示出了可用于尺寸为32×16的宏块的子块模式。

根据本发明的一个方面,尺寸为M×N的宏块可以被分割为较小的块,即,如图4和图5所示的子块。图像的宏块可以以子块为单位进行帧内预测编码或帧间预测编码。

A-3)视频编码装置的描述

图6是用于示出根据本发明的一个方面的视频编码装置的示意性框图。

根据本发明的这一方面的视频编码装置对应于通过使用尺寸等于或大于任意尺寸的宏块来对图像进行编码的装置,并且可以包括预测器610、编码器620、重建器630、滤波器640和帧存储器650。这里,重建器630、滤波器640和帧存储器650可以根据实现方式来选择性地省略或者包括在另一元件中。

预测器610可以包括运动估计器612、运动补偿器614和帧内预测器616,并且预测输入图像的宏块。这里,宏块是指尺寸等于或者大于尺寸16×16的宏块(即,尺寸为M×N的宏块,其中M和N是等于或者大于16的整数)。

运动估计器612通过将期望进行预测的宏块与存储在帧存储器650中的基准图片进行比较,并且估计对应宏块的运动,来生成运动矢量。

运动补偿器614参照由运动估计器612生成的运动矢量,从存储在帧存储器650中的基准图片中取得与期望进行预测的宏块的尺寸相对应的块。已经由运动补偿器614取得的块成为具有期望进行预测的宏块的预测值的预测宏块。

帧内预测器616对期望进行预测的块进行帧内预测。针对帧内预测,帧内预测器616通过使用已经编码和解码的重建的相邻像素信息来生成基准块,并且将基准块与要进行编码的目标宏块进行比较,以确定帧内预测模式。并且接着,帧内预测器616根据所确定的帧内预测模式来对宏块进行帧内预测。已经由帧内预测器616预测的宏块成为具有目标宏块的预测值的预测宏块。

编码器620对残差信号进行编码,该残差信号是目标宏块的像素值与预测宏块的像素值之间的差值。具体地说,编码器620通过变换、量化和熵编码来对残差信号进行编码。另外,当编码器620对要被编码的目标宏块进行帧间预测时,编码器620可以对诸如由运动估计器612生成的运动矢量的运动信息以及诸如宏块尺寸的宏块模式信息进行编码。当编码器620对要被编码的目标宏块进行帧内预测时,编码器620可以对诸如帧内预测模式的预测模式信息以及诸如宏块尺寸的宏块模式信息进行编码。

重建器630对经变换和量化的残差信号进行逆量化和逆变换,并且将残差信号与从预测器610输出的预测宏块相加,以重建目标宏块。

滤波器640通过使用诸如去块滤波器的滤波器来对重建的目标宏块进行滤波。经滤波的重建宏块存储在帧存储器650中,并且用于对下一宏块或者预测器610中的下一图片的宏块进行帧内预测。

A-4)视频解码装置的描述

图7是用于示出根据本发明的一个方面的视频解码装置的示意性框图。

根据本发明的这一方面的视频解码装置可以包括解码器710、预测器720、重建器730、滤波器740和帧存储器750。

解码器710从输入比特流中提取宏块解码所需的三种类型的信息。

首先,解码器710对有关期望当前被解码的宏块是帧内宏块还是帧间宏块的宏块类型信息以及指示宏块的子块模式的子块模式信息进行熵解码和提取。

其次,解码器710通过熵解码来提取预测所需的信息。在这种情况下,根据每个块是帧内块还是帧间块,对要进行解码的预测数据的类型和预测数据进行解码的方法是不同的。当要被重建的块是帧间块时,从比特流中提取每个子块的运动补偿所需的基准图片信息和诸如运动矢量的与运动有关的信息,并且对它们进行解码。当要被重建的块是帧间块时,从比特流中提取与亮度分量和色度分量的帧内预测模式有关的信息,并且对其进行解码。

最后,解码器710对残差信号解码所需的信息进行解码。首先对每个子块(例如,CBP)中的、指示是否存在不为0的变换系数的信息进行解码,并且针对具有不为0的变换系数的块,对指示变换类型的变换信息和量化的变换系数进行解码。

预测器720预测当前要被解码的当前块,并且可以包括运动补偿器722和帧内预测器724。在当前块是帧间块时,运动补偿器722通过使用由解码器710解码的重建的运动矢量从存储在帧存储器750中的基准图片中取得与当前宏块的尺寸相对应的像素,来生成预测宏块。在当前块是帧内块时,帧内预测器724通过根据由解码器710解码的重建的帧内预测模式预测当前宏块,来生成预测宏块。在通过使用从解码器710提取的重建的变换类型对由解码器710解码的量化变换系数进行逆量化并且对经过逆量化的变换系数进行逆变换之后,重建器730通过将所生成的残差信号与由预测器720生成的预测宏块相加来生成重建的宏块。所生成的重建的宏块在滤波器740中进行滤波,并且被存储在帧存储器750中,并且经滤波和存储的宏块用于重建下一块或者下一图片。

如上所述,根据本发明的一个方面的视频编码装置600和视频解码装置700可以通过使用具有任意尺寸的块来对图像进行编码和解码。

B)块划分和划分信息编码和解码

在下文中,作为本发明的另一方面,将描述用于通过用于预测或变换的划分(或分割)层来将具有任意尺寸的宏块分割为多个子块,并且有效地对指示分割子块的形状和尺寸的划分信息进行编码和解码的装置和方法。然而,虽然将在以下描述中讨论的视频编码/解码装置可以使用具有任意尺寸的宏块,但是另选地,视频编码装置和视频解码装置可以通过使用在视频编码装置与视频解码装置之间预先安排的宏块尺寸和预先安排的最小子块尺寸来执行编码/解码。

划分信息可以是指示针对预测或变换而分割的子块的尺寸和形状的信息。视频编码装置将划分信息和经编码的图像数据包括在比特流中,并且向视频解码装置传输该比特流。

另外,视频编码装置可以分别对用于预测的划分信息和用于变换的划分信息进行编码。

在解码中,视频解码装置从比特流中提取并解码划分信息,并且将宏块分割为用于预测或变换的多个子块。接着,视频解码装置以子块为单位执行预测或变换,以重建图像。

B-1)视频编码装置

B-1-1)编码装置

图8是用于示出根据本发明的另一方面的视频编码装置的示意性框图。

根据本发明的另一方面的视频编码装置800可以包括视频编码器810和划分信息编码器820。

图8的视频编码装置800在划分信息编码器820中对划分信息进行编码,并且接着对预测数据和/或包括残差信号解码所需的数据(诸如变换类型、CBP和变换系数)的图像数据进行编码。这里,预测数据对应于指示每个子块是帧内块还是帧间块的数据,并且对应于用于帧内块的帧内预测模式和用于帧间块的运动信息。视频编码器810可以实现为参照图6所述的根据本发明的一个方面的视频编码装置600。也就是说,视频编码器810将具有任意尺寸的宏块分割为用于预测或变换的各种尺寸的子块,对各个子块执行预测编码,并且接着确定各个子块的预测模式和具有最小编码开销的宏块划分类型。通过编码器820将指示所确定的宏块划分类型的划分信息编码到比特流中,并且生成宏块内的多个分割子块的经预测编码的图像数据。

划分信息编码器820对由视频编码器810输出的划分信息进行编码,以生成划分信息数据。此处,划分信息可以是与用于预测或者变换而从宏块分割的多个子块的尺寸和块形状有关的信息。

根据典型的视频压缩技术,由于宏块尺寸被固定为16×16的尺寸,所以可以使用诸如尺寸为8×8、4×4等的子块的具有较小尺寸的子块。然而,根据本发明的一个方面,因为宏块尺寸可以被不同地确定为具有等于或者大于尺寸16×16的尺寸,所以子块的尺寸和形状也可以不同地确定,由此宏块可以被分割为各种形状的子块。因此,根据本发明的另一方面,应当通过以下步骤来执行预测编码:向视频解码装置传输与从宏块分割的子块的形状和尺寸有关的信息,并且在视频解码装置中按照与在视频编码装置中执行的相同的方式来分割宏块。参照图9至图22来描述划分信息编码器820对块信息进行编码。

B-1-2)子块模式

根据本发明的另一方面,宏块被分割为针对每个层的各种尺寸的子块,并且可以针对分割子块中的每一个执行预测编码和预测解码。

图9是用于示出根据本发明的另一方面的针对每层的从宏块分割的子块的示例性示图。

在图9中,宏块尺寸是N×N,并且N是等于或大于16的整数。图9示出了可以基于子块尺寸的最小子块尺寸是4×4的假设来分割的子块。然而,该假设仅是为了描述本发明的实施方式。宏块的水平尺寸和垂直尺寸可以彼此不相等,并且最小子块尺寸可以设置为代替尺寸4×4的其它尺寸。

如图9所示,根据本发明的另一方面,宏块可以被分割为针对每个层的各种尺寸的子块。宏块可以被分割为针对从层0至层log2(N/4)中的每个层的四种类型的子块。在这种情况下,仅在层K(0≤K≤log2(N/4))的子块被分割为4个子块时,可以使用K+1层的子块。

例如,在尺寸为64×64的宏块的情况下,宏块可以被分割为从层0至层3的4个层,并且各个层可以包括具有4个不同块尺寸的子块。因此,层0包括具有64×64的块尺寸的子块、具有64×32的块尺寸的子块、具有32×64的块尺寸的子块以及具有32×32的块尺寸的子块。层1包括具有32×32的块尺寸的子块、具有32×16的块尺寸的子块、具有16×32的块尺寸的子块以及具有16×16的块尺寸的子块。层2包括具有16×16的块尺寸的子块、具有16×8的块尺寸的子块、具有8×16的块尺寸的子块以及具有8×8的块尺寸的子块。层3包括具有8×8的块尺寸的子块、具有8×4的块尺寸的子块、具有4×8的块尺寸的子块以及具有4×4的块尺寸的子块。此处,仅在具有64×64的块尺寸的宏块被分割为层0中的具有32×32的块尺寸的子块时,可以使用层1中包括的子块,并且仅在层1中的具有32×32的块尺寸的子块被分割为具有16×16的块尺寸的子块时,可以使用层2中包括的子块。另外,仅在层2中的具有16×16的块尺寸的子块被分割为具有8×8的块尺寸的子块时,可以使用层3中包括的子块。

这里,当层K中的N×N块被分割为4个具有的尺寸的子块时,可以将分割子块包括在层K和层K+1这二者中。也就是说,在尺寸为64×64的宏块中,具有32×32的尺寸的子块可以被确定为层0中包括的子块类型或者层1中包括的子块类型。

在这种情况下,向分割子块分配层编号的方法可以根据每个层的可用性而不同。如果层K+1可用,则向子块分配层编号K+1。如果层K+1不可用,则向子块分配层编号K。

例如,在宏块尺寸是64×64并且最大划分层的数目是4的情况下,当64×64宏块被分割为4个尺寸为32×32的子块时,32×32子块被包括在层1中。当宏块内的一个32×32子块被分割为4个尺寸为16×16的子块时,每个16×16子块被包括在层2中。当每个16×16子块被分割为4个尺寸为8×8的子块时,8×8子块被包括在层3中。当每个8×8子块被分割为4个尺寸为4×4的子块时,4×4子块被包括在层3中,因为层4不可用。

另外,当层K的N×N块被分割为4个尺寸为的子块时,分割的子块的层编号可以被分配为K。在这种情况下,当子块被分割为较小子块时,分割的子块的层编号被分配为K+1。

例如,在宏块尺寸是64×64并且最大划分层的数目是4的情况下,当64×64宏块被分割为4个尺寸为32×32的子块时,32×32子块被包括在层0中。当宏块内的一个32×32子块被分割为4个尺寸为16×16的子块时,每个16×16子块被包括在层1中。当每个16×16子块被分割为4个尺寸为8×8的子块时,8×8子块被包括在层2中。另外,当每个8×8子块被分割为4个尺寸为4×4的子块时,4×4子块被包括在层3中。

B-1-3)划分类型

另外,可以通过使用图10和图34所示的各种划分类型来分割宏块。

图10和图34是用于示出根据本发明的另一方面的划分类型的示例性示图。

B-1-3-1)划分类型的示例1

图10是用于示出根据本发明的另一方面的划分类型的示例性示图。

图10示出了用于标识针对每一层分割的子块的块尺寸的划分类型指示信息(划分类型编号)的示例。

如图10所示,当包括在宏块的层K中的子块没有分割时,划分类型指示信息被分配为“0”。当子块被分割为两个尺寸为的子块时,划分类型指示信息被分配为“1”。当子块被分割为两个尺寸为的子块时,划分类型指示信息被分配为“2”。当子块被分割为4个尺寸为的子块时,划分类型指示信息被分配为“3”。划分编号是指为基于划分类型而分割的每个子块的标识分配的编号。例如,当层K的子块没有分割时,未分割的子块的划分编号被分配为“0”。另外,当层K的子块被分割为4个尺寸为的子块时,各个子块可以按照光栅扫描方向,从位于宏块的左上部分的子块开始,顺序地被分配划分编号0、1、2和3。

B-1-3-2)划分类型的示例2

图34是用于示出根据本发明的另一方面的划分类型的示例性示图。

图34示出了用于标识针对每一层分割的子块的块尺寸的划分类型指示信息(划分类型编号)。

如图34所示,当包括在宏块的层K中的子块没有分割时,划分类型指示信息被分配为“0”。当子块被分割为4个尺寸为的子块时,划分类型指示信息被分配为“1”。划分编号是指为基于划分类型而分割的每个子块的标识而分配的编号。例如,当层K的子块没有分割时,未分割的子块的划分编号被分配为“0”。另外,当层K的子块被分割为4个尺寸为的子块时,各个子块可以按照光栅扫描方向,从位于宏块的左上部分的子块开始,顺序地被分配划分编号0、1、2和3。

另外,可以将各种划分类型组合并且用于每个层。例如,层0和层1可以使用图34所示的划分类型,并且层1的更低层可以使用图10所示的划分类型。

B-1-4)划分信息编码方法

在下文中,将描述根据本发明的一个方面的对划分信息进行编码的各种方法,划分信息是指示宏块内的用于预测或者变换的子块的尺寸和形状的信息。

B-1-4-1)划分信息解码方法1

首先描述对划分信息进行编码的第一方法。

根据第一方法,可以使用针对每个层的划分类型指示信息(划分类型编号)来表示指示被分割为各种尺寸的子块的宏块的类型的划分信息。因此,可以通过针对每个层的划分类型指示信息来标识包括在宏块中的多个子块。划分信息编码器810可以通过各种方法来使用针对每个层的划分类型指示信息对块的划分信息进行编码,这将在下文中描述。

例如,划分信息编码器810可以通过基于划分类型指示信息编码顺序顺序地对针对宏块的每个划分层的划分类型指示信息进行编码来对当前块的划分信息进行编码。

在下文中,将参照图11至图13描述通过以下步骤对当前块的划分信息进行编码的方法:基于划分类型指示信息编码顺序来顺序地对针对宏块的每个划分层的划分类型指示信息进行编码。

图11是用于示出根据本发明的另一方面的被分割为具有各种块尺寸的子块的宏块的示例性示图。

图11示出了基于图10所示的子块类型而分割为具有各种块尺寸的子块的宏块,其中,该宏块具有64×64的块尺寸,并且最大划分层的数目是4。

根据本发明的另一方面,当如图11所示分割宏块时,可以通过基于划分类型指示信息编码顺序顺序地对针对每个划分层的划分类型指示信息进行编码来对宏块的划分信息进行编码。

图12示出了针对每个划分层顺序地分割图11所示的宏块的处理。参照图12,具有64×64的块尺寸的子块被分割为层0(L0)中的4个具有32×32的块尺寸的子块,L1-P0子块(具有层1的划分编号0)和L1-P3子块(具有层1的划分编号3)被分别分割为4个具有16×16的块尺寸的子块(L1),并且L1-P1子块(具有层1的划分编号1)和L1-P2子块(具有层1的划分编号2)被分别分割为层1中的2个具有16×32的块尺寸的子块和2个具有32×16的块尺寸的子块。在L1-P1和L1-P2子块被分别分割为2个子块之后,不再分割子块,所以子块的划分编号不在图15中示出。L2-P0子块(具有层2的划分编号0)被分割为4个具有8×8的块尺寸的子块,并且L2-P子块(具有层2的划分编号3)被分割为层2(L2)中的2个具有16×2的块尺寸的子块。L3-P0子块(具有层3的划分编号0)和L3-P1子块(具有层3的划分编号1)被分别分割为层3(L3)中的4个具有4×4的块尺寸的子块。

编码划分类型指示信息的顺序如下。

首先对与宏块划分类型有关的划分类型指示信息进行编码。接着,如果宏块被分割为4个子块,则相继地对与各个分割子块有关的划分类型指示信息进行编码。例如,当N×N块被分割为4个子块时,对与第一(N/2)×(N/2)子块有关的划分类型指示信息进行编码。当第一(N/2)×(N/2)子块被分割为4个子块时,对与分割的(N/4)×(N/4)子块有关的划分类型指示信息进行编码。当分割的(N/4)×(N/4)子块的尺寸对应于最小子块尺寸或者分割的(N/4)×(N/4)子块不再被分割为4个更小的子块时,按照光栅扫描顺序对与下一(N/4)×(N/4)子块有关的划分类型指示信息进行编码。当(N/4)×(N/4)子块的尺寸不对应于最小子块尺寸并且(N/4)×(N/4)子块被分割为4个具有(N/8)×(N/8)的块尺寸的子块时,从与第一个(N/8)×(N/8)子块有关的划分类型指示信息开始执行编码。连续地执行对划分类型指示信息的编码,直到与宏块内的所有子块有关的划分类型指示信息被编码为止。

图13是用于示出顺序地对针对宏块的每个层的划分类型指示信息进行编码的处理的示例性示图。

当对与图11所示的宏块内的各个子块有关的划分类型指示信息进行了编码时,生成图13所示的表。图11的“□”中所写的数字是指对各个子块的划分类型指示信息进行编码的顺序。如果根据划分类型指示信息编码顺序来顺序地对针对宏块的每个层的划分类型指示信息进行编码,则可以根据如图11所示的顺序来对针对每个层的划分类型指示信息进行编码。

首先,由于具有64×64的块尺寸的子块(L0-P0)被分割为4个具有32×32的块尺寸的子块,所以对划分类型指示信息3进行编码。由于具有64×64的块尺寸的子块内的4个具有32×32的块尺寸的子块之中的具有32×32的块尺寸的第一子块(L1-P0)被分割为4个具有16×16的块尺寸的子块,所以对划分类型指示信息3进行编码。具有32×32的块尺寸的第一子块(L1-P0)内的4个具有16×16的块尺寸的子块之中的具有16×16的块尺寸的第一子块(L2-P0)被分割为4个具有8×8的块尺寸的子块,对划分类型3进行编码。由于具有16×16的块尺寸的子块(L2-P0)内的具有8×8的块尺寸的4个子块(L3-P0、L3-P1、L3-P2和L3-P3)不再被分割为更小的子块,所以分别对划分类型指示信息{3,3,0,0}进行编码。由于层3中的子块不能被分割为更小的子块,所以不对与包括在层3中的子块有关的划分类型指示信息进行编码。

由于已经完全对与包括在层3中的子块有关的划分类型指示信息进行了编码,所以对与层2中的具有16×16的块尺寸的第二子块(L2-P1)和具有16×16的块尺寸的第三子块(L2-P2)有关的划分类型指示信息进行编码。然而,在这种情况下,它们不再被分割为更小的子块,所以对划分类型指示信息0进行编码。由于划分类型指示信息不是3,所以,虽然具有16×16的块尺寸的第四子块(L2-P3)被分割为具有16×8的块尺寸的子块,但是仅对划分类型指示信息1进行编码。由于已经完全对与包括在层2中的4个子块有关的划分类型指示信息进行了编码,所以对与层1中的具有32×32的块尺寸的第二子块(L1-P1)有关的划分类型指示信息进行编码。在这种情况下,由于层1中的具有32×32的块尺寸的第二子块(L1-P1)被分割为具有16×32的块尺寸的子块,并且各个所分割的子块不再被分割为更小的子块,所以对划分类型指示信息2进行编码。按照相同的方式,顺序地对与层1中的具有32×32的块尺寸的第二子块(L1-P2)和具有32×32的块尺寸的第四子块(L1-P3)以及具有16×16的块尺寸的4个更低子块(L2-P0、L2-P1、L2-P2和L3-P3)有关的划分类型指示信息进行编码,并且由此对{1,3,0,0,0,0}进行编码。

如果根据这样的编码方法来对与图11所示的宏块的划分类型有关的信息进行编码,则对划分类型指示信息{3,3,3,3,3,0,0,0,0,1,2,1,3,0,0,0,0}进行编码,如图13所示。

另外,有可能根据以下顺序来对划分类型指示信息进行编码。

对层0的划分类型指示信息{3}进行编码,对与层1的4个子块(L1-P0、L1-P1、L1-P2和L1-P3)有关的划分类型指示信息{3,2,1,3}进行编码,对与层2的8个子块(包括在L1-P0中的4个子块和包括在L1-P3中的4个子块)有关的划分类型指示信息{3,0,0,1,0,0,0,0}进行编码,并且对与层3的4个子块(包括在L1-P0内的L2-P0中的4个子块)有关的划分类型指示信息{3,3,0,0}进行编码。在这种情况下,对划分类型指示信息{3,3,2,1,3,3,0,0,1,0,0,0,0,3,3,0,0}进行编码。

在这种情况下,可以通过使用诸如二进制算术编码、霍夫曼编码等的无损压缩编码将划分类型指示信息编码为二进制比特串。

例如,在使用二进制算术编码的情况下,划分类型指示信息中的每一个可以根据当前要被编码的划分类型指示信息的层编号来使用不同的二进制值。如果层编号等于或者小于则可以通过使用表1来对划分类型指示信息进行编码,并且如果层编号大于则可以通过使用表2来对划分类型指示信息进行编码。例如,由于参照表1可以通过二进制数“01”来表示图11的子块(L1-P0)的划分类型指示信息3,所以可以通过对二进制数“0”和“1”执行算术编码来对划分类型指示信息3进行编码。另外,由于可以通过二进制数“1”来表示包括在子块(L2-P0)中的子块(L3-P2)的划分类型指示信息0,所以可以通过对二进制数“1”执行算术编码来对划分类型指示信息3进行编码。

【表1】

【表2】

另外,可以使用诸如一元码、截断一元码、指数哥伦布码等的各种二进制编码方法来对实际的划分类型指示信息值进行编码。

另外,当根据本发明的另一方面,通过使用图34所示的划分类型来分割宏块时,划分类型指示信息可以是指示当前块是否被分割为4个子块的具有1比特长度的标记。

B-1-4-2)划分信息编码方法2

作为通过使用针对每个宏块层的划分类型来对块划分信息进行编码的另一方面,划分信息编码器810可以通过使用树结构来对块划分信息进行编码。也就是说,划分信息编码器810首先通过使用树结构对层编号进行编码,接着通过对划分类型指示信息进行编码来对块划分信息进行编码。

在下文中,将参照图14至图18描述使用树结构来对块划分信息进行编码的第二方法。

图14A和图14B是用于示出根据本发明的另一方面的通过使用树结构来对块划分信息进行编码的方法的示例性示图。

图14A示出了针对每个层的宏块的各个子块的层编号,并且图14B示出了针对树结构中的每级的各个子块的层编号。

在图14A中,宏块尺寸是N×N,并且通过图10所示的划分类型将宏块分割为子块。图14A示出了将宏块分割为具有N×(N/2)的块尺寸的子块的情况作为示例。具有N×N的块尺寸的宏块被分割为2个具有N×(N/2)的块尺寸的子块,并且划分类型指示信息是1。此处,因为每个N×(N/2)子块包括在层0中,所以树级1中的2个子块的层编号的最小值是0。因此,树级0的层编号变为0。同时,诸如“01”、“1”和“001”的“”中指示的数字表示图14至图18中的二进制比特。

图14B示出了针对按照树结构类型的图14A所示的每级的各个子块的层编号。

在对与更高节点的层编号与期望进行编码的当前节点的层编号之间的差值相对应的数字“0(1比特)”进行编码之后,最后编码为“1”。例如,当更高节点的层编号与当前节点的层编号之间的差值是3时,编码为二进制数“0001”。当该差值是0时,编码为二进制数“1”。由于级0不存在更高节点,所以假设更高节点的层编号是0。因此,级0的层编号0与更高节点的假设的层编号0之间的差值是0,所以级0的层编号0的二进制比特变为“1”。

由于级1的层编号与级0的层编号彼此相等,所以可以不再对层编号进行编码,并且对级1的划分类型指示信息1进行编码。

可以通过使用诸如二进制算术编码、霍夫曼编码等的无损压缩编码将划分类型指示信息编码为二进制比特串,如上所述。

另外,可以通过使用诸如一元码、截断一元码、指数哥伦布码的各种二进制编码方法来对划分类型指示信息进行编码。

另外,可以根据层编号来使用不同的二进制值。

另外,当通过使用图34所示的根据本发明的另一方面的划分类型来分割宏块时,划分类型指示信息可以是指示当前块是否被分割为4个子块的具有1比特长度的标记。

根据以上方面的划分类型指示信息1可以利用如上所述的二进制比特来表示划分类型指示信息。例如,由于划分类型指示值“0”、“1”、“2”和“3”对应于4种类型,所以它们可以通过分配2个比特来由“00”、“01”、“10”和“11”来表示。在这种情况下,划分类型指示信息1可以由“01”来表示。

因此,当最后通过使用树结构来对图14A所示的宏块划分信息进行编码时,要被编码的数据变为“101”。

图15和图16是用于示出根据本发明的另一方面的通过使用树结构来对块划分信息进行编码的方法的示例的示例性示图。

图15示出了以下处理的示例:当具有N×N的块尺寸的宏块被分割为2个具有(N/2)×(N/4)的块尺寸的子块、1个具有(N/2)×(N/2)的块尺寸的子块、2个具有(N/4)×(N/2)的块尺寸的子块和4个具有(N/4)×(N/4)的块尺寸的子块时,确定针对每级的每个子块的层编号,以便通过使用树结构来对块划分信息进行编码。

首先,级2由具有N×N的块尺寸的宏块来构造,并且级1由以下各项来一起构造:包括在级2的宏块内的具有(N/2)×(N/2)的块尺寸的第一子块中的2个子块的层编号的最小值、包括在级2的宏块内的具有(N/2)×(N/2)的块尺寸的第二子块中的1个子块的层编号的最小值、包括在级2的宏块内的具有(N/2)×(N/2)的块尺寸的第三子块中的2个子块的层编号的最小值以及包括在级2的宏块内的具有(N/2)×(N/2)的块尺寸的第四子块中的4个子块的层编号的最小值。

图16示出了根据图15中构造的针对每级的层编号来构造树结构以及对层编号和划分类型进行编码的处理。

要被编码的级0的层编号是1,并且级0不存在更高节点。由于基于更高节点的层编号是“0”的假设,更高节点的层编号与级0的层编号之间的差值是1,所以级0的层编号的二进制比特变为“01”。由于要被编码的级1的层编号分别是1、1、1、1,并且更高节点(级0)的层编号是1,所以层编号之间的差值是1,由此各个层编号的二进制比特是“1”、“1”、“1”和“1”。由于要被编码的级2的层编号都包括在级1中,所以层编号不再需要进行编码。因此,对划分类型指示信息1、0、2和3进行了编码。由于通过使用如上所述的根据编号的不同的表来对划分类型指示信息进行二进制算术编码或霍夫曼编码,所以划分类型指示信息1、0、2和3的二进制比特可以变为例如“00”、“11”、“10”和“01”。因此,最后要被编码的层编号和划分类型指示信息变为“01”→“1”→“1”→“1”→“1”→“00”→“11”→“10”→“01”。结果,“01111100111001”被编码并且变为经编码的划分信息数据。

图17和图18是用于示出根据本发明的另一方面的通过使用树结构来对块划分信息进行编码的方法的另一示例的示例性示图。

图17示出了具有N×N的块尺寸的宏块被分割为2个具有(N/2)×(N/4)的块尺寸的子块、1个具有(N/2)×(N/2)的块尺寸的子块、2个具有(N/4)×(N/2)的块尺寸的子块、2个具有(N/32)×(N/16)的块尺寸的子块、4个具有(N/32)×(N/32)的块尺寸的子块、6个具有(N/16)×(N/16)的块尺寸的子块和2个具有(N/4)×(N/4)的块尺寸的子块的情况的示例。该宏块的具有(N/2)×(N/2)的块尺寸的第四子块被分割为4个具有(N/4)×(N/4)的块尺寸的子块,并且4个具有(N/4)×(N/4)的块尺寸的子块之中的具有(N/4)×(N/4)的块尺寸的第一子块和第二子块分别被分割为4个具有(N/16)×(N/16)的块尺寸的子块。此处,由于从具有(N/4)×(N/4)的块尺寸的第一子块分割的具有(N/16)×(N/16)的块尺寸的子块之中的具有(N/16)×(N/16)的块尺寸的第一子块和第二子块被分割为更小的块,所以如图17所示分配层编号2和3。

如果按照图15中描述的相同的方式,根据针对树结构中的每级的层编号来构造图17所示的宏块,则可以创建图18。

图18示出了根据图17中构造的针对每级的层编号来构造树结构以及对层编号和划分类型进行编码的处理。

如果以图16中描述的相同的方式来对层编号和划分类型指示信息进行编码,则最后要被编码的数据变为“01111010111100111010011111011111”。

B-1-4-3)划分信息编码方法3

在下文中,将参照图19和图20描述对块划分信息进行编码的第三方法。

根据该第三方法,划分信息编码器810可以通过使用划分层值和划分标记来对块划分信息进行编码。也就是说,当对划分信息进行编码的块的块类型是帧内块类型时,划分信息编码器810通过仅使用具有正方形形状(诸如N×N、(N/2)×(N/2)和(N/4)×(N/4))的子块来分割宏块,并且可以通过对各个子块的划分层值以及划分标记进行编码来对块划分信息进行编码。在下文中,将参照图19和图20描述通过使用划分层值和划分标记来对块划分信息进行编码的方法。

图19是用于示出根据本发明的另一方面的基于划分层值分割的子块的示例性示图。

当根据划分层值0、1和2来分割具有N×N(N是等于或大于16的整数)的块尺寸的宏块时,可以如图19所示确定子块的尺寸和形状。当根据划分层值0来分割具有N×N的块尺寸的宏块时,该宏块被分割为仅1个具有N×N的块尺寸的子块。当根据划分层值1来分割该宏块时,该宏块被分割为4个具有(N/2)×(N/2)的块尺寸的子块。当根据划分层值2来分割该宏块时,该宏块被分割为8个具有(N/4)×(N/4)的块尺寸的子块。

因此,当假设任何块的划分层值是x时,对应块的子块的块尺寸可以变为例如,当划分层值是3时,具有64×64的块尺寸的宏块被分割为具有8×8的块尺寸的子块。另外,当具有8×8的块尺寸的子块的划分层值是1时,具有8×8的块尺寸的子块被分割为具有4×4的块尺寸的子块。

划分标记是指示当N×N块被分割为子块时,一个或更多个子块被分割为更小的子块的标记。

例如,当N×N块被分割为子块,并且N×N块内的所有子块没有被分割为更小的子块时,划分标记具有指示N×N块内的所有子块没有被分割为更小的子块的值(例如,0)。

当N×N块被分割为子块,并且N×N块内的一个或更多个子块被分割为更小的子块时,划分标记具有指示N×N块内的所有子块被分割为更小的子块的值(例如,1)。

当划分标记具有指示子块被分割为更小子块的值时,对针对N×N块内的所有子块的划分层值和划分标记进行编码,并且向视频解码装置传输各个子块的子块类型。

然而,当根据划分层值分割的子块尺寸对应于最小块尺寸(也就是说,子块无法被分割为更小的子块)时,不对划分标记进行编码。

将上述划分层值和划分标记包括在比特流中,对上述划分层值和划分标记进行编码并将其传输至视频解码装置。在对划分层值进行编码的方法中,可以通过使用诸如一元码、截断一元码、指数哥伦布码等的各种二进制编码方法来对要被传输的宏块尺寸进行编码。

另选地,可以通过使用二进制算术编码、霍夫曼编码等来对宏块尺寸进行编码。

另选地,可以通过使用上述各种二进制编码方法来对视频编码装置与视频解码装置之间的预先安排的表的索引值进行编码。

可以通过使用指示块是否被分割的1个比特来将划分标记包括在比特流中。

图20是用于示出根据本发明的另一方面的通过使用划分层值和划分标记来对块划分信息进行编码的处理的示例性示图。

图20示出了当宏块的块尺寸是64×64并且最大划分层值是4时,通过使用划分层值和划分标记来对块划分信息进行编码的示例。

当如图20所示分割宏块时,在针对每个层的每个划分编号中生成各个子块的划分层值和划分标记,以用于标识各个子块,如图20的表所示,并且从L0-P0子块到L1-P3子块顺序地对划分层值和划分标记进行编码。由于具有64×64的块尺寸的L0-P0子块被分割为4个具有32×32的块尺寸的子块,所以划分层值是1。每个32×32子块的划分标记值被设置为指示子块被分割为更小子块的值,并且对划分层值和划分标记进行编码。

由于具有32×32的块尺寸的L1-P0子块没有被分割为更小的子块,所以划分层值是0,并且划分标记不需要进行编码。由于具有32×32的块尺寸的L1-P1子块被分割为具有8×8的块尺寸的子块,所以划分层值是2。由于具有8×8的块尺寸的子块不再被分割,所以划分标记被编码为0,指示子块没有被分割。在这种情况下,可以在视频解码装置中,通过仅对作为L1-P1子块的更低子块的子块L2-P0至L2-P15的划分层值和划分标记进行编码而不单独地对子块L2-P0至L2-P15的划分类型进行编码,来标识子块L2-P0至L2-P15的尺寸和形状。由于具有32×32的块尺寸的L1-P2子块被分割为4个具有16×16的块尺寸的子块,所以划分层值是1,并且划分标记被编码为1,指示子块被分割为更小的子块。由于已经通过将L1-P2子块的划分标记指示为1而指示了L1-P2子块被分割为更小的子块,所以对L2-P0至L2-P3的各个分割子块的划分类型进行编码。因此,L2-P0、L2-P1和L2-P2子块的划分层值是0,并且由此,由于划分层值是0所以不需要对划分标记进行编码。由于L2-P3子块被分割为具有4×4的块尺寸的子块,并且分割的子块没有被分割为更小的子块,所以应当对指示子块没有被分割的划分层2和划分标记0进行编码。然而,最大划分层值与L1-P1和L2-P3子块的总层值的总和彼此相等,其中,最大划分层值是4,并且L1-P1和L2-P3子块的划分层值中的每一个是2。因此,可以导出,该子块再也无法被分割,这意味着不需要对划分标记进行编码。最后,由于具有32×32的块尺寸的L1-P3子块被分割为64个具有4×4的块尺寸的子块,所以划分层值是3,并且其划分层值等于最大划分层值,类似于L2-P3子块。因此,可以导出,该子块再也无法被分割,这意味着不需要对划分标记进行编码。

按照上述方式,可以通过对针对每个层的划分编号的划分层值和划分标记进行编码来对块划分信息进行编码,以用于标识宏块的各个子块。

同时,已经通过图11至图13描述了通过以下步骤对块划分信息进行编码的方法:根据子块顺序来顺序地对针对宏块的每个层的划分类型指示信息进行编码,并且生成经编码的划分信息数据,但是没有必要如图11至图13所示地将宏块分割为子块,并且即使在如图21所示地分割宏块时,也可以通过根据子块顺序来顺序地对针对宏块的每个层的划分类型指示信息进行编码来对块划分信息进行编码。

B-1-4-4)划分信息编码方法4

在下文中,将参照图21和图22描述对块划分信息进行编码的第四方法。

图21是用于示出根据本发明的另一方面的被分割为具有各种块尺寸的子块的宏块的另一示例的示例性示图。

同时,已经描述了层K+1的子块仅在层K(0≤K≤log2(N/4))的子块被分割为图9中的层K中的4个子块时可用,但是层K+1的子块在层K的子块被分割为图21中的层K中的一个或更多个子块时(也就是说,在划分类型指示信息是1、2或者3时)可用。

图21示出了具有64×64的块尺寸的宏块被分割为2个具有64×16的块尺寸的子块和2个具有32×32的块尺寸的子块的示例。“□”中所写的数字表示对各个子块的划分类型指示信息进行编码的顺序。如果根据子块顺序来顺序地对宏块的各个层的划分类型指示信息进行编码,则可以根据图11所示的顺序来对针对各个层的划分类型指示信息进行编码。

图22是用于示出根据子块顺序来顺序地对针对宏块的各个层的划分类型指示信息进行编码的处理的另一示例性示图。

如果对图21所示的宏块的各个子块的划分类型指示信息进行了编码,则生成图22所示的表。如果根据子块顺序来顺序地对宏块的各个层的划分类型指示信息进行编码,则可以根据图11所示的顺序来对针对各个层的划分类型指示信息进行编码。

在这种情况下,可以通过使用诸如二进制算术编码、霍夫曼编码等的无损压缩编码将划分类型指示信息编码为二进制比特串。

另选地,可以使用诸如一元码、截断一元码、指数哥伦布码等的各种二进制编码方法来对实际的划分类型指示信息值进行编码。

另外,当通过使用图34所示的根据本发明的另一方面的划分类型来分割宏块时,划分类型指示信息可以是指示当前块是否被分割为4个子块的具有1比特长度的标记。

B-1-5)编码流程图的描述

图23是用于示出根据本发明的另一方面的视频编码方法的流程图。

根据依据本发明的另一方面的视频编码方法,视频编码装置800通过以下步骤来生成经编码的图像数据:在步骤S2310中,对分割为多个子块的当前块执行预测编码;在步骤S2320中,通过对当前块的划分信息进行编码来生成经编码的划分信息数据;以及在步骤S2330中,生成包括经编码的图像数据和经编码的划分数据的比特流。

此处,当前块可以是尺寸大于16×16的块尺寸的宏块,并且划分信息可以包含当前块内的多个子块的块尺寸和预先安排。

可以通过针对每个划分层的划分类型指示信息来标识多个子块。在这种情况下,在步骤S2320中,视频编码装置800可以通过根据划分类型指示信息编码顺序来顺序地对针对每个划分层的划分类型指示信息进行编码来对当前块的划分信息进行编码,或者,通过使用树结构对层编号和划分类型指示信息进行编码来对当前块的划分信息进行编码。

另外,视频编码装置800可以通过使用划分层值和划分标记来对当前块的划分信息进行编码。更具体地说,视频编码装置800可以仅在当前块的块类型是帧内块类型时,通过使用划分层值和划分标记来对当前块的划分信息进行编码。由于已经通过图8至图22描述了通过视频编码装置800来对当前块的划分信息进行编码的方法,所以此处将省略其详细描述。

B-2)实施方式2的视频解码装置

B-2-1)解码装置的框图和描述

图24是用于示出根据本发明的另一方面的视频解码装置的示意性框图。

根据本发明的另一方面的视频解码装置2400可以包括划分信息解码器2410和视频解码器2420。

划分信息解码器2410从比特流中提取经编码的划分信息数据并对该划分信息数据进行解码,并且重建当前块的划分信息。此处,当前块的划分信息可以是针对每个划分层的划分类型指示信息、使用树结构的层编号和划分类型指示信息、或者划分层值和划分标记。在当前块的划分信息是根据划分类型指示信息编码顺序的划分类型指示信息时,划分信息解码器2410可以通过对经编码的划分信息数据进行解码来获得图13所示的针对每个层的划分类型指示信息,并且可以通过基于图3的表所示的划分类型指示信息和编码顺序、根据针对每个层的划分类型指示信息将当前块分割为多个子块,来获得图11所示的被分割为多个子块的当前块。

在当前块的划分信息对应于使用树结构的层编号和划分类型指示信息时,划分信息解码器2410可以通过对经编码的划分信息数据进行解码来获得图16所示的按照树结构表示的层编号和划分类型指示信息,并且可以通过使用图16所示的按照树结构表示的层编号和划分类型指示信息逆向执行图15和图16中描述的方法,来获得图15所示的被分割为多个子块的当前块。

在当前块的划分信息对应于划分层值和划分标记时,划分信息解码器2410可以通过对经编码的划分信息数据进行解码来获得图20所示的划分层值和划分标记,并且可以通过逆向执行图20中描述的方法来获得图20所示的被分割为多个子块的当前块。

视频解码器2420可以相同地或者相似地构造为参照图7描述的根据本发明的一个方面的视频解码装置。然而,根据本发明的另一方面的视频解码器2420提取根据由划分信息解码器2410重建的当前块的划分信息而分割的子块的经编码的图像数据并对该图像数据进行解码,并且接着通过预测编码来重建各个子块。在这种情况下,由视频解码器2420从比特流中提取的图像数据可以是预测数据和/或残差信号解码所需的数据,诸如变换类型、CBP和变换系数。这里,预测数据对应于指示每个子块是帧内块还是帧间块的数据,并且对应于用于帧内块的帧内预测模式和用于帧间块的运动信息。

B-2-2)划分信息解码方法

在下文中,将描述根据本发明的方面的对划分信息进行解码的各种方法,该划分信息是指示宏块内的用于预测或变换的子块的尺寸和形状的信息。

B-2-2-1)划分信息解码方法1

首先描述根据对划分信息进行编码的第一方法的解码方法。

根据视频编码装置与视频解码装置之间预先安排的顺序,通过使用视频编码装置与视频解码装置之间预先安排的针对每个层可用的子块类型来对划分类型指示信息进行解码。例如,针对各个层的可用子块类型可以是图10和图34所示的子块类型,并且可以根据图11和图13所示的顺序来顺序地对划分类型指示信息进行解码。

在下文中,描述与用于描述对划分信息进行编码的第一方法的示例处于相同条件下的解码方法。根据图11所示的顺序,基于图10所示的子块类型来对划分信息进行解码。

划分信息解码器2410从比特流中提取第一划分类型指示信息并对该第一划分类型指示信息进行解码,并且重建宏块层0的划分类型指示信息。当重建的划分类型指示信息值是0时,意味着宏块没有被分割为子块,所以终止当前宏块的划分类型指示信息解码。此后,以N×N宏块为单位执行预测或者变换。

当层0的重建的划分类型指示信息值是1时,宏块被分割为2个尺寸为的子块,并且当前宏块的划分类型指示解码终止。此后,以宏块为单位执行预测或者变换。

当层0的重建的划分类型指示信息值是2时,宏块被分割为2个尺寸为的子块,并且当前宏块的划分类型指示解码终止。此后,以宏块为单位执行预测或者逆变换。

当层0的重建的划分类型指示信息值是3时,宏块被分割为4个尺寸为的子块,并且第一子块(具有层1的划分编号0)的划分类型指示信息被解码。此处,子块的层编号是1,该层编号是从更高层编号增加的值。

当从比特流中提取并被解码的具有层1的划分编号0的子块的划分类型指示信息不是3时,对尺寸为的第二子块(具有层1的划分1)的划分类型指示信息进行编码。

当从比特流中提取并被解码的具有层1的划分编号0的子块的划分类型指示信息是3时,当前子块被分割为4个子块,并且层编号是2。此后,从比特流中提取与层1的划分编号0相对应的子块的划分类型指示信息并对该划分类型指示信息进行解码。

在具有划分编号Y的当前子块的层编号K对应于可以分配给层编号的最大值的情况下,如果当前子块(具有层编号K的划分编号Y)的经解码的划分类型指示信息是3,则将当前子块分割为4个子块,并且接着按照光栅扫描顺序对后续子块(具有层编号K的划分编号Y+1)的划分类型指示信息进行解码。

在当前子块的划分编号对应于包括在当前层中的划分编号的最大值时,对尚未被解码的更高层的子块的划分类型指示信息进行解码。

在下文中,基于宏块尺寸是64×64并且最大划分层的数目是4的情况,描述根据图11的方面的解码方法。在图11的方面中,在视频编码装置中利用划分类型指示信息编码的值是{3,3,3,3,3,0,0,0,0,1,2,1,3,0,0,0,0}。

首先,对层0的划分类型指示信息进行解码。

由于经解码的划分类型指示信息是3,所以64×64宏块被分割为4个尺寸为32×32的子块((L1-P0、L1-P1、L1-P2和L1-P3)。

由于每个32×32子块可以被分割为更小的子块,所以对64×64宏块内的第一32×32子块(L1-P0)的划分类型指示信息进行解码。

由于第二次解码的划分类型指示信息是3,所以将L1-P0子块分割为4个尺寸为16×16的子块(L2-P0、L2-P1、L2-P2和L2-P3),并且从比特流中提取L2-P0子块的划分类型指示信息并对该划分类型指示信息进行解码。

由于第三次解码的划分类型指示信息是3,所以将尺寸为16×16的L2-P0子块分割为4个尺寸为8×8的子块(L3-P0、L3-P1、L3-P2和L3-P3),并且从比特流中提取L3-P0子块的划分类型指示信息并对该划分类型指示信息进行解码。

由于第四次解码的划分类型指示信息是3,所以将尺寸为8×8的L3-P0子块分割为4个尺寸为4×4的子块。此处,由于最大划分层的数目是4,所以无法将该子块分割为更小的子块,并且由此从比特流中提取L3-P1子块的划分类型指示信息并对该划分类型指示信息进行解码。

由于第五次解码的划分类型指示信息是3,所以将尺寸为8×8的L3-P1子块分割为4个尺寸为4×4的子块,并且从比特流中提取L3-P2子块的划分类型指示信息并对该划分类型指示信息进行解码。

由于第六次解码的划分类型指示信息是0,所以不再分割尺寸为8×8的L3-P2子块,并且从比特流中提取作为后续子块的L3-P2子块的划分类型指示信息并对该划分类型指示信息进行解码。

由于第七次解码的划分类型指示信息是0,所以也不分割尺寸为8×8的L3-P3子块。此处,由于当前子块的划分编号对应于包括在当前层中的划分编号的最大值,所以从比特流中提取更高层的子块L2-P1的划分类型指示信息并对该划分类型指示信息进行解码。

由于第八次解码的划分类型指示信息是0,所以子块L2-P1的块尺寸是16×16。

按照相同的方式,从比特流中提取子块L2-P2和L2-P3的划分类型指示信息并对该划分类型指示信息进行解码,并且确定各个子块类型。

由于第九次解码的划分类型指示信息也是0,所以子块L2-P2的块尺寸是16×16。由于第十次解码的划分类型指示信息是1,所以将L2-P3子块分割为2个尺寸为16×8的子块。

由于已经对包括在层2中的子块的所有划分类型指示信息进行了解码,所以对作为更高层的层1的尺寸为32×32的第二子块L1-P1的划分类型指示信息进行解码。

由于第十一次解码的划分类型指示信息是2,所以将与L1-P1子块相对应的32×32块分割为2个尺寸为16×32的子块,并且对子块L1-P2的划分类型指示信息进行解码。

由于第十二次解码的划分类型指示信息是1,所以将与L1-P2子块相对应的32×32块分割为2个尺寸为32×16的子块,并且对子块L1-P3的划分类型指示信息进行解码。

由于第十三次解码的划分类型指示信息是3,所以将与L1-P3子块相对应的32×32块分割为4个尺寸为16×16的子块(L2-P0、L2-P1、L2-P3和L2-P3),并且对各个子块的划分类型指示信息进行解码。

由于第十四次解码的划分类型指示信息是0,所以L2-P0子块的子块类型是16×16,并且对作为后续子块的L2-P1子块的划分类型指示信息进行解码,因为没有再分割L2-P0子块。

由于第十五次解码的划分类型指示信息是0,所以L2-P1子块的子块类型是16×16,并且对作为后续子块的L2-P2子块的划分类型指示信息进行解码,因为没有再分割L2-P1子块。

由于第十六次解码的划分类型指示信息是0,所以L2-P2子块的子块类型是16×16,并且对作为后续子块的L2-P3子块的划分类型指示信息进行解码,因为没有再分割L2-P2子块。

由于第十七次解码的划分类型指示信息是0,所以L2-P3子块的子块类型是16×16,并且终止针对当前宏块解码的划分类型指示信息解码,因为已经确定了该宏块内的所有子块的子块类型。

在下文中,将描述当对更高层的所有划分类型指示信息进行了编码,并且接着根据划分类型指示信息编码顺序而对更低层的划分类型指示信息进行了编码时,对划分类型指示信息进行解码的方法。

在图11的方面中,在视频编码装置中利用划分类型指示信息编码的值是{3,3,2,1,3,3,0,0,1,0,0,0,0,3,3,0,0}。

首先,对层0的划分类型指示信息进行解码。

由于经解码的划分类型指示信息是3,所以64×64宏块被分割为4个尺寸为32×32的子块((L1-P0、L1-P1、L1-P2和L1-P3)。

由于包括在层1中的子块的数目是4,所以对4个划分类型指示信息片进行解码。由于从比特流重建的子块(L1-P0、L1-P1、L1-P2和L1-P3)的划分类型指示信息是{3,2,1,3},所以L1-P0和L1-P3子块被分割为4个尺寸为16×16的子块,L1-P1子块被分割为2个尺寸为16×32的子块,并且L1-P2子块被分割为2个尺寸为32×16的子块。

从比特流中提取包括在L1-P0和L1-P3子块中的层2的8个尺寸为8×8的子块的划分类型指示信息。

由于包括在重建的L1-P0中的4个子块(L2-P0、L2-P1、L2-P2和L2-P3)的划分类型指示信息是{3,0,0,1},并且包括在重建的L1-P3中的4个子块(L2-P0、L2-P1、L2-P2和L2-P3)的划分类型指示信息是{0,0,0,0},所以将包括在L1-P0子块中的L2-P0子块分割为4个尺寸为4×4的子块,并且将L2-P3子块分割为2个尺寸为8×4的子块。

由于包括在L1-P0子块中的L2-P1和L2-P2子块以及包括在L1-P3子块中的4个子块的划分类型指示信息都是0,所以不分割这些子块。

由于包括在L1-P0子块中的L2-P0子块被分割为4个子块,并且它们无法再被分割为更小的子块,所以终止针对当前宏块解码的划分类型指示信息解码。

在这种情况下,通过使用诸如二进制算术编码、霍夫曼编码等的无损压缩编码/解码方法之中的、在视频编码装置与视频解码装置之间预先安排的方法来对划分类型指示信息进行熵解码。

另外,可以使用诸如一元码、截断一元码、指数哥伦布码等的各种二进制编码方法来对实际的划分类型指示信息值进行解码。

另外,视频解码装置在视频编码装置使用二进制算术编码作为划分类型指示信息编码方法时,根据划分类型指示信息的层编号,通过使用表1和表2来执行熵解码,在层编号等于或者小于的情况下使用表1,并且在层编号大于的情况下使用表2。

例如,当针对64×64宏块来对包括在层1中的划分类型指示信息进行熵解码时,熵解码出2个比特,并且接着使用表1来获得划分类型指示信息。

当针对64×64宏块来对包括在层3中的划分类型指示信息进行熵解码时,使用表2。首先,对1个比特进行熵解码。接着,在经解码的二进制比特是1时,将划分类型指示信息设置为0,并且终止当前子块的划分类型指示信息熵解码。在经解码的二进制比特不是1时,进一步从比特流中熵解码出1个比特。当第二次解码的比特是0时,将当前子块的划分类型指示信息设置为1,并且终止针对当前子块的划分类型指示信息的熵解码。当第二次解码的比特是1时,进一步从比特流中熵解码出1个比特,并且通过使用表2来确定当前子块的划分类型指示信息是2还是3。

另外,当在视频编码装置与视频解码装置之间预先安排使用图34所示的根据本发明的另一方面的划分类型时,可以通过对用于划分类型指示信息解码的1个比特进行熵解码来确定当前子块是否被分割为4个子块。

B-2-2-2)划分信息解码方法2

在下文中,描述根据对划分信息进行编码的第二方法的解码方法。

根据该第二方法,可以通过使用树结构来首先对层编号进行解码,接着对划分类型指示信息进行解码,来对块划分信息进行解码。

在对层编码进行解码的方法中,通过对二进制比特0和1进行解码来重建当前级的层编号与更高级的层编号之间的差值。在这种情况下,从比特流中读取1个比特并对该1个比特进行解码,以便重建该差值。在经解码的二进制比特是0时,进一步从比特流中读取1个比特并对该1个比特进行解码。按照相同的方式,连续地重建二进制比特0,直到重建二进制比特1为止。当重建的二进制比特是1时,不进一步读取并解码比特,并且差值变为重建的0的数目。

开始级0的层编号的解码,并且通过使用用于层编号重建的上述方法来从比特流重建级0的层编号与编号0之间的差值。当级0的重建的层编号大于编号0时,通过在当前节点中生成子节点来构造树。新生成的子节点的数目根据视频编码装置与视频解码装置之间预先安排的子块分割方法而不同。根据图9所示的子块分割方法,由于仅在当前子块被分割为4个子块时可以使用包括在更低层中的子块,所以生成4个子节点。新生成的节点具有比更高层的级值增加1的级值。

也就是说,当级0的重建的层编号大于级值0时,通过生成包括在级1中的4个子节点来构造树结构。

接着,从比特流中提取并重建用于重建新生成的节点的层编号的4个差值,并且通过将这些差值与更高节点的层编号相加来重建各个节点的层编号。

按照相同的方式,当每个节点的重建的层编号与该节点的级值彼此相等时,不针对对应节点构造包括在更低级中的子节点。当每个节点的重建的层编号大于该节点的级值时,针对对应的节点生成4个子节点,并且执行对新构造的节点的层编号的解码。

然而,当重建的层编号是可以分配给层编号的最大值(也就是说,当层编号从0开始时,可以分配给层编号的最大值对应于“最大划分层值-1”)时,针对当前节点生成4个子节点,但是不执行对各个节点的层编号的解码。

构造树,直到最低节点的层编号等于每个节点的级编号或者层编号具有可以分配给层编号的最大值为止,并且连续地执行每个节点层编号重建。

此后,执行针对最低节点的划分类型指示信息解码。通过使用诸如二进制算术编码、霍夫曼编码等的无损压缩编码/解码方法之中的、在视频编码装置与视频解码装置之间预先安排的方法来对各个节点的划分类型指示信息进行熵解码。

另外,可以使用诸如一元码、截断一元码、指数哥伦布码等的各种二进制编码方法来对实际的划分类型指示信息值进行解码。

另外,视频解码装置在视频编码装置使用二进制算术编码作为划分类型指示信息编码方法时,根据划分类型指示信息的层编号,通过使用表1和表2来执行熵解码,在层编号等于或者小于的情况下使用表1,并且在层编号大于的情况下使用表2。例如,当对包括在层1中的划分类型指示信息进行熵解码时,熵解码出2个比特,并且接着使用表1来获得划分类型指示信息。当对包括在层3中的划分类型指示信息进行熵解码时,使用表2。例如,首先对1个比特进行熵解码。接着,在经解码的二进制比特是1时,将划分类型指示信息设置为0,并且终止当前子块的划分类型指示信息熵解码。在经解码的二进制比特不是1时,进一步从比特流中熵解码出1个比特。当第二次解码的比特是0时,将当前子块的划分类型指示信息设置为1,并且终止针对当前子块的划分类型指示信息的熵解码。当第二次解码的比特是1时,进一步从比特流中熵解码出1个比特,并且通过使用表2来确定当前子块的划分类型指示信息是2还是3。

另外,当在视频编码装置与视频解码装置之间预先安排使用图34所示的根据本发明的另一方面的划分类型时,可以通过对用于划分类型指示信息解码的1个比特进行熵解码来确定当前子块是否被分割为4个子块。

在下文中,将描述根据图14A和图14B的方面的解码方法。在图14A和图14B的方面中,在视频编码装置中利用划分信息编码的二进制比特值是“101”。

首先,从比特流中提取和重建1个比特,以用于重建级0的层编号。由于从比特流中提取的比特是1,所以用于重建级0的层编号的差值是0。在级0的情况下,由于不存在更高节点,所以通过将视频编码装置与视频解码装置之间预先安排的值0与重建的差值相加来重建层值。在这种情况下,差值是0,并且由此重建的层值变为0。

由于重建的层值和级值这二者是0,所以终止对层编号进行解码的处理,并且对划分类型指示信息进行解码。

由于在图14A和图14B的方面中对划分类型指示信息进行编码时,利用二进制比特来直接表示划分类型指示信息值的方法,视频解码装置也按照相同的方式从比特流中提取2个比特并且重建值。由于通过整数“1”来表示二进制比特“01”,所以重建的划分类型指示信息变为1。

当使用重建的层值和划分类型指示信息来确定宏块的子块的形状时,宏块内的所有子块包括在层0中,所以子块具有子块类型64×64、64×32、32×64和32×32中的一种子块类型。另外,可以导出,宏块被分割为2个尺寸为64×32的子块,因为划分类型指示信息是0。

在下文中,将描述根据图15和图16的方面的解码方法。在图16的方面中,在视频编码装置中利用划分信息编码的二进制比特值是“01111100111001”。

首先,从比特流中提取和重建1个比特,以用于重建级0的层编号。由于从比特流中提取的比特是0,所以进一步从比特流中提取和重建1个比特。由于第二次重建的比特是1,所以终止针对级0的层编号的差值重建。由于针对差值重建而提取的比特流是“01”,所以差值变为1,其对应于编号0,并且通过将重建的差值0与0相加而生成的1的值被分配作为层编号。

由于级0的重建的层编码0大于级值0,所以在当前节点中生成包括在级1中的4个子节点。

从比特流中提取1个比特,以用于重建级1的第一节点的层编号。由于第三次提取的比特是1,所以差值变为0。通过将重建的差值与级0的层编号相加来重建第一节点的层编号1,其是级1的第一节点的更高节点。由于级1的重建的层编号1与级值1彼此相等,所以开始针对级1的第二节点的差值解码。

从比特流中提取1个比特,以用于重建级1的第二节点的层编号。由于第四次提取的比特是1,所以差值变为0。通过将重建的差值与级0的层编号相加来重建第二节点的层编号1,其是级1的第二节点的更高节点。由于级1的重建的层编号1与级值1彼此相等,所以开始针对级1的第三节点的差值解码。

从比特流中提取1个比特,以用于重建级1的第三节点的层编号。由于第五次提取的比特是1,所以差值变为0。通过将重建的差值与级0的层编号相加来重建第三节点的层编号1,其是级1的第三节点的更高节点。由于级1的重建的层编号1与级值1彼此相等,所以开始针对级1的第四节点的差值解码。

从比特流中提取1个比特,以用于重建级1的第四节点的层编号。由于第六次提取的比特是1,所以差值变为0。通过将重建的差值与级0的层编号相加来重建第四节点的层编号1,其是级1的第四节点的更高节点。

由于重建了级1中包括的所有节点的层编号,并且没有节点包括在级2中,所以层编号解码终止,并且执行针对最低级的各个节点的划分类型指示信息解码。

在图15和图16的方面中,由于通过向划分类型指示信息分配二进制比特“11”、“00”、“10”和“01”来对划分类型指示信息进行编码,所以视频解码装置也通过按照相同的方式从比特流中提取针对各个节点的2个比特来重建划分类型指示信息。

由于存在4个节点包括在级1中,作为图15和图16的方面中的最低级中包括的节点,所以通过从比特流中提取针对各个节点的2个比特来重建划分类型指示信息。

由于从比特流中提取的第七比特和第八比特对应于“00”,所以针对第一节点的划分类型指示信息是1。由于从比特流中提取的第九比特和第十比特对应于“11”,所以针对第二节点的划分类型指示信息是0。由于从比特流中提取的第十一比特和第十二比特对应于“10”,所以针对第三节点的划分类型指示信息是2。由于从比特流中提取的第十三比特和第十四比特对应于“01”,所以针对第四节点的划分类型指示信息是3。

当使用重建的层值和划分类型指示信息来确定宏块的子块的形状时,宏块内的所有子块包括在层1中,所以64×64宏块被分割为4个尺寸为32×32的子块,并且各个32×32子块具有包括在层1中的子块类型32×32、32×16、16×32和16×16中的一种。

由于第一子块的重建的划分类型指示信息是1,所以第一32×32子块被分割为2个尺寸为32×16的子块。由于第二子块的重建的划分类型指示信息是0,所以第二32×32子块被分割为1个尺寸为32×32的子块。按照相同的方式,由于第三子块的重建的划分类型指示信息是2,所以第三32×32子块被分割为2个尺寸为16×32的子块。由于第四子块的重建的划分类型指示信息是3,所以第四32×32子块被分割为4个尺寸为16×16的子块。在图15中示出分割的子块。

在下文中,将描述根据图17和图18的方面的解码方法。在图18的方面中,在视频编码装置中利用划分信息编码的二进制比特值是“01111010111100111010011111011111”。

首先,从比特流中提取并重建1个比特,以用于重建级0的层编号。由于从比特流中提取的比特是0,所以进一步从比特流中提取并重建1个比特。由于第二次重建的比特是1,所以终止针对级0的层编号的差值重建。由于针对差值重建而提取的比特流是“01”,所以差值变为1,其对应于编号0,并且通过将重建的差值0与0相加而生成的1的值被分配作为层编号。

由于级0的重建的层编码0大于级值0,所以在当前节点中生成包括在级1中的4个子节点。

从比特流中提取1个比特,以用于重建级1的第一节点的层编号。由于第三次提取的比特是1,所以差值变为0。通过将重建的差值与级0的层编号相加来重建第一节点的层编号1,其是级1的第一节点的更高节点。由于级1的重建的层编号1与级值1彼此相等,所以开始针对级1的第二节点的差值解码。

从比特流中提取1个比特,以用于重建级1的第二节点的层编号。由于第四次提取的比特是1,所以差值变为0。通过将重建的差值与级0的层编号相加来重建第二节点的层编号1,其是级1的第二节点的更高节点。由于级1的重建的层编号1与级值1彼此相等,所以开始针对级1的第三节点的差值解码。

从比特流中提取1个比特,以用于重建级1的第三节点的层编号。由于第五次提取的比特是1,所以差值变为0。通过将重建的差值与级0的层编号相加来重建第三节点的层编号1,其是级1的第三节点的更高节点。由于级1的重建的层编号1与级值1彼此相等,所以开始针对级1的第四节点的差值解码。

从比特流中提取1个比特,以用于重建级1的第四节点的层编号。由于第六次提取的比特是0,所以进一步从比特流中提取和重建1个比特。由于第七次提取的比特是1,所以终止针对级1的第四节点的差值重建。由于针对差值重建而提取的比特流是“01”,所以差值变为1,其是编号0,并且通过将重建的差值与更高节点的层编号1相加来重建层编号2。由于重建的层编号2具有大于包括当前节点的级值1的值,所以针对级1的第四节点生成4个子节点。所生成的子节点包括在级2中。

由于重建了级1中包括的所有节点的层编号,所以按照相同的方式对包括在级2中的节点的层编号进行解码。

包括在级2中的节点是级1的第四节点的子节点,并且针对重建级2的第一节点而提取的比特是“01”,其是第八比特和第九比特。由于级2的第一节点与更高节点的层编号2之间的差值是1,所以当前节点的层编号是3。在这种情况下,由于重建的层编号3大于级值2,所以生成4个子节点。然而,由于重建的层值3具有可以向划分层编号分配的最大值,如上所述,所以不针对级3的4个新生成的节点来对层编号进行解码。

针对重建级2的第二节点至第四节点而提取的比特是“111”,其对应于第十比特至第十二比特。由于3个节点的差值都是0,所以级2的第二节点、第三节点、第四节点的层编号是2。

由于已经重建了包括在级2中的所有节点的层编号,并且没有重建包括在级3中的节点的层编号,所以层编号解码终止,并且执行针对最低级的各个节点的划分类型指示信息解码。

在图17和图18的方面中,由于通过向划分类型指示信息分配二进制比特“11”、“00”、“10”和“01”来对划分类型指示信息进行编码,所以视频解码装置也通过按照相同的方式从比特流中提取针对各个节点的2个比特来重建划分类型指示信息。

由于存在3个节点包括在级1中,4个节点包括在级3中,并且3个节点包括在级2中,作为图17和图18的方面中的最低级中包括的节点,所以通过从比特流中提取针对各个节点的2个比特来重建划分类型指示信息。

当按照与通过图16描述的方式相同的方式来对划分类型指示信息进行解码时,用于对包括在级1中的3个节点的划分类型进行解码而提取的比特依次是“00”、“11”和“10”,所以级1的第一节点的划分类型指示信息是1,级1的第二节点的划分类型指示信息是0,并且级1的第三节点的划分类型指示信息是2。

由于用于对包括在级3中的4个节点的划分类型进行解码而提取的比特依次是“10”、“01”、“11”和“11”,所以级3的第一节点的划分类型指示信息是2,级3的第二节点的划分类型指示信息是3,并且级3的第三节点和第四节点的划分类型指示信息分别是0。

由于用于对第二节点至第四节点的划分类型进行解码而提取的比特依次是“01”、“11”和“11”,所以级2的第二节点的划分类型指示信息是3,并且级2的第三节点和第四节点的划分类型指示信息分别是0。

当通过使用重建的层值和划分类型指示信息来确定宏块的子块的形状时,宏块内的子块的层编号具有等于或者大于1的值,所以64×64宏块被分割为4个尺寸为32×32的子块。由于级1的第一节点至第三节点的层编号是1,所以宏块内的第一至第三32×32子块分别具有包括在层1中的子块类型32×32、32×16、16×32和16×16中的一种。由于第一32×32子块的重建的划分类型指示信息是1,所以第一32×32子块被分割为2个尺寸为32×16的子块。由于第二32×32子块的重建的划分类型指示信息是0,所以第二32×32子块被分割为1个尺寸为32×32的子块。按照相同的方式,由于第三32×32子块的重建的划分类型指示信息是2,所以第三32×32子块被分割为2个尺寸为16×32的子块。

由于与第四32×32子块相对应的级1的第四节点的重建的层编号是2,所以第四32×32子块被分割为4个尺寸为16×16的子块,并且与级2的4个节点相对应的所分割的16×16子块之中的层编号大于2的16×16子块被多分割一次,以便具有更高层。此处,由于级2的第一节点的重建的层编号是3,所以第一16×16子块被再一次分割为4个尺寸为8×8的子块。

此后,根据各个子块的划分类型指示信息来确定各个子块的子块类型,这在图17中示出。

B-2-2-3)划分信息解码方法3

在下文中,描述根据对划分信息进行编码的第三方法的解码方法。

根据该第三方法,可以通过对划分层值和划分标记进行解码来对块划分信息进行解码。

首先从比特流中提取并且重建划分层值,并且接着根据划分层值来划分宏块。例如,当宏块尺寸是N×N,并且重建的划分层值是x时,宏块被分割为子块。

此后,当通过从比特流中提取和重建划分标记而重建的划分标记具有指示宏块内的所有的子块没有被分割为更小的子块的值(例如,0)时,宏块划分信息解码终止。

当划分标记具有指示宏块内的一个或更多个子块被分割为更小的子块的值(例如,1)时,按照相同的方式,根据光栅扫描顺序从比特流中提取并且重建各个子块的划分层值和划分标记。

在下文中,描述根据图20的方面的解码方法。在图20的方面中,利用视频编码装置中的划分信息来编码的划分层值和划分标记是{1,1,0,2,0,1,1,0,0,0,2,3}。

首先从比特流中提取划分层值,并且解码出划分层值1和划分标记1。由于划分层值是1,所以64×64宏块被分割为4个尺寸为32×32的子块。

由于经解码的划分标记是1,所以针对每个32×32子块,连续地对划分层值和划分标记进行解码。

由于第一32×32子块的划分层值是0,所以可以导出第一32×32子块没有被分割为更小的子块。在这种情况下,不从比特流中解码出划分标记。

从比特流中提取第二32×32子块的划分层值并对该划分层值进行解码。由于重建的划分层值是2,所以32×32子块被分割为16个尺寸为8×8的子块,并且从比特流中连续地提取划分标记并对这些划分标记进行解码。由于重建的划分标记是0,所以可以导出,第二32×32子块内的16个子块没有被分割为更小的子块,并且从比特流中提取第三32×32子块的划分层值并对该划分层值进行解码。

由于重建的划分层值是1,所以32×32子块被分割为4个尺寸为16×16的子块,并且从比特流中解码出划分标记。由于经解码的划分标记是1,所以可以导出,一个或更多个16×16子块被分割为更小的子块,并且针对每个16×16子块对划分层值和划分标记进行解码。

按照相同的方式,针对每个16×16子块,从比特流中提取和重建划分层值。接着,当划分层值不是0时,从比特流中提取和重建划分标记。

从上述方面可以导出,第一至第三16×16子块的划分层值都是0,并且第四16×16子块的划分层值是2。

由于第四16×16子块的划分层值是2,所以该16×16子块被分割为16个尺寸为4×4的子块。然而,在这种情况下,不对划分标记进行解码,因为虽然重建的层值不是0,但是每个4×4子块无法被分割为更小的子块。

此后,从比特流中提取第四32×32子块的划分层值并对该划分层值进行解码。在这种情况下,由于重建的划分层值是3,所以32×32子块被分割为64个尺寸为4×4的子块,并且划分信息解码终止,因为分割的子块尺寸是最小块尺寸。

从比特流中提取了上述划分层值和划分标记并对该划分层值和划分标记进行了解码,并且通过使用诸如一元码、截断一元码、指数哥伦布码等的各种二进制编码方法之中的、视频编码装置和视频解码装置之间预先安排的方法对划分层值进行了解码。

另选地,可以通过使用诸如二进制算术编码、霍夫曼编码等的方法来对划分层值进行解码。

另选地,可以通过使用上述各种二进制编码/解码方法来对视频编码装置和视频解码装置之间的预先安排的表的索引值进行解码。

通过从比特流中提取并解码1个比特,划分标记用于确定当前子块分割是否被分割为更小的子块。

B-2-2-4)划分信息解码方法4

在下文中,描述根据对划分信息进行编码的第四方法的解码方法。

对划分信息进行解码的该第四方法类似于对划分信息进行解码的第一方法。然而,从比特流中连续地提取和解码划分类型指示信息,直到所有子块的划分类型指示信息具有指示子块没有被分割为更小的子块或者根据划分类型指示信息从当前块分割的子块的尺寸是最小子块尺寸的值(例如,0)为止。

在下文中,将描述根据图21和图22的方面的解码方法。根据图22的方面,利用视频编码装置中的划分信息编码的划分类型指示信息是{1,1,0,0,2,0,0}。

由于第一次重建的划分类型指示信息是1,所以64×64宏块被分割为2个尺寸为64×32的子块(L1-P0和L1-P1),并且从比特流中提取和重建第一64×32子块的划分类型指示信息。

由于第二次重建的划分类型指示信息是1,所以64×32子块被分割为2个尺寸为64×16的子块(L2-P0和L2-P1),并且从比特流中提取和重建第一64×16子块(L2-P0)的划分类型指示信息。

由于第三次重建的划分类型指示信息是0,所以与L2-P0子块相对应的64×16子块不被分割为更小的子块,并且从比特流中提取和重建作为L2-P0子块的后续子块的L2-P1子块的划分类型指示信息。

由于第四次重建的划分类型指示信息是0,所以64×16子块不被分割为更小的子块。由于已经全部重建了包括在L2中的子块的划分信息,所以从比特流中提取和重建L1-P1子块的划分类型指示信息。

由于第五次重建的划分类型指示信息是2,所以与L1-P1子块相对应的64×32子块被分割为2个尺寸为32×32的子块(L2-P0和L2-P1),并且从比特流中提取和重建第一32×32子块(L2-P0)的划分类型指示信息。

由于第六次重建的划分类型指示信息是0,所以与L2-P0子块相对应的32×32子块不被分割为更小的子块,并且从比特流中提取和重建作为L2-P0子块的后续子块的子块L2-P1的划分类型指示信息。

由于第七次重建的划分类型指示信息是0,所以与L2-P1子块相对应的32×32子块不被分割为更小的子块。由于已经确定了宏块内的所有子块的块类型,所以划分信息解码终止。

在这种情况下,通过使用诸如二进制算术编码、霍夫曼编码等的无损压缩编码/解码方法之中的、在视频编码装置与视频解码装置之间预先安排的方法来对划分类型指示信息进行熵解码。

另外,可以使用诸如一元码、截断一元码、指数哥伦布码等的各种二进制编码方法来对实际的划分类型指示信息值进行解码。

另外,视频解码装置在视频编码装置使用二进制算术编码作为划分类型指示信息编码方法时,根据划分类型指示信息的层编号,通过使用表1和表2来执行熵解码,在层编号等于或者小于的情况下使用表1,并且在层编号大于的情况下使用表2。

例如,当针对64×64宏块对包括在层1中的划分类型指示信息进行熵解码时,熵解码出2个比特,并且接着使用表1来获得划分类型指示信息。

当针对64×64宏块对包括在层3中的划分类型指示信息进行熵解码时,使用表2。首先,熵解码出1个比特。接着,在经解码的二进制比特是1时,将划分类型指示信息设置为0,并且终止当前子块的划分类型指示信息熵解码。在经解码的二进制比特不是1时,进一步从比特流中熵解码出1个比特。当第二次解码的比特是0时,将当前子块的划分类型指示信息设置为1,并且终止针对当前子块的划分类型指示信息的熵解码。当第二次解码的比特是1时,进一步从比特流中熵解码出1个比特,并且通过使用表2来确定当前子块的划分类型指示信息是2还是3。

另外,当在视频编码装置与视频解码装置之间预先安排使用图34所示的根据本发明的另一方面的划分类型时,可以通过对用于划分类型指示信息解码的1个比特进行熵解码来确定当前子块是否被分割为4个子块。

B-2-3)解码流程图

图25是用于示出根据本发明的另一方面的视频解码方法的流程图。

根据依据本发明的另一方面的视频解码方法,视频解码装置2400通过以下步骤来重建当前块的划分信息数据:在步骤2510中,通过使用根据前述方面的解码方法来从比特流中解码出划分信息数据;以及在步骤2520中,通过根据重建的当前块的划分信息,执行对从比特流中提取的经编码的图像数据的预测编码,来重建被分割为多个子块的当前块。

如上所述,根据本发明的另一方面,即使在块尺寸等于或者大于16×16的尺寸的宏块被分割为各种尺寸的子块时,也可以通过使用针对每个层的划分类型或者划分层值来对具有小数目比特的宏块划分信息进行编码,从而提高压缩效率。

C)最大划分层信息编码和解码

在下文中,作为本发明的另一方面,描述了用于实现以下步骤的装置和方法:确定最大划分层,该最大划分层指示可以将具有任意尺寸的宏块最大分割以便有效地对信息进行划分的层的数目;通过使用所确定的最大划分层将宏块分割为用于预测或者变换的多个子块;以及接着通过使用最大划分层来有效地对划分信息进行编码和解码。此处,可以通过最大划分层来确定宏块内的可用最小子块尺寸,并且通过仅使用尺寸等于或者大于在对宏块进行编码时的对应尺寸的子块来对图像进行编码。

最大划分层可以是指示可以用于预测或者变换并且编码在序列头部、每个图片的头部、片段头部或者宏块头部中的最小子块尺寸的信息。另外,可以分别对用于预测的最大划分层信息和用于变换的最大划分层信息进行编码。

另外,划分信息可以是指示用于预测或者变换而分割的子块的尺寸和形状的信息。划分信息和经编码的图像数据被包括在比特流中并被编码,并且接着被传输给视频解码装置。另外,可以分别对用于预测的划分信息和用于变换的划分信息进行编码。

在解码时,通过从比特流中提取和解码最大划分层数据,并且接着通过使用重建的最大划分层来提取和解码用于预测或者变换的子块的划分信息,来重建子块的尺寸和形状。此后,通过从比特流中提取和重建各个子块的经编码的数据,来通过预测或者逆变换重建图像。

C-1)视频编码装置

C-1-1)编码装置

图26是用于示出根据本发明的又一方面的视频编码装置的示意性框图。

根据本发明的另一方面的视频编码装置2600可以包括视频编码器2610、最大划分层确定器2620和最大划分层编码器2630。

视频编码器2610可以实现为参照图8描述的根据本发明的一个方面的视频编码装置800。也就是说,视频编码器2610通过使用根据宏块的预定划分类型的子块执行预测编码来生成经编码的划分信息和图像数据。在这种情况下,视频编码器2610可以通过使用根据由最大划分层确定器2620在确定宏块的划分类型时确定的最大划分层值的最小子块尺寸来确定划分类型。另外,视频编码器2610在对划分信息进行编码时通过使用最大划分层来对划分信息进行编码。

最大划分层确定器2620通过使用根据最大划分层值候选的最小子块尺寸来确定当前块的划分类型,并且通过使用在编码中生成的编码开销来确定当前块的最大划分层值。在这种情况下,通过使用根据最大划分层值候选的最小子块尺寸来确定当前块的划分类型,并且可以由最大划分层确定器2620自身来计算在编码中生成的编码开销。然而,如果最大划分层确定器2620指定最大划分层值候选,则视频编码器2610通过使用根据对应划分层值候选的最小子块尺寸来确定当前块的划分类型,计算编码中生成的编码开销以便向最大划分层确定器2620传输该编码开销。接着,最大划分层确定器2620可以通过使用所传输的编码开销来确定当前块的最大划分层值。一旦确定了当前块的最大划分层值,视频编码器2610就将已经编码到对应的最大划分层值中的图像包括在比特流中。在以下描述中将详细讨论最大划分层确定器2620确定最大划分层值并因此确定最小子块尺寸的方法。

最大划分层编码器2630通过对最大划分层值进行编码来生成经编码的最大划分层数据,并且将生成的数据包括在比特流中。

C-1-2)划分层与最小子块尺寸之间的关系

可以最大化使用的宏块尺寸、最小子块尺寸和与层值相对应的最大划分层(MaxLayer)可以通过相互使用来进行设置。

也就是说,可以使用最大划分层(MaxLayer)和最小块尺寸来获得宏块尺寸,并且可以使用宏块尺寸和最大划分层来获得最小子块尺寸。

当最小子块尺寸是N×N时,最大块尺寸是(N×2MaxLayer)×(N×2MaxLayer)。在N×N像素的宏块的情况下,最小块尺寸是(N/(2MaxLayer))×(N/(2MaxLayer))。

图27是用于示出根据本发明的又一方面的划分层与最小子块尺寸之间的关系的示例性示图。

参照图27,当宏块尺寸是M×N并且划分层值是x时,可用的最小子块尺寸是例如,当具有64×64的块尺寸的宏块的划分层值时,可用的最小子块尺寸是4×4。此处,划分层值不同地应用于宽度和高度(即,具有M×N的块尺寸的宏块的M和N)。

因此,最大划分层确定器2620可以通过确定宏块的最大划分层值来确定最小子块尺寸。为了这一目的,最大划分层确定器2620计算用于候选划分层值的编码开销,并且可以通过使用候选划分层值的编码开销来确定最大层值。在下文中,基于宏块尺寸是M×N(M是等于或者大于16的整数)的假设来描述确定用于宏块的最大划分层值的方法。

C-1-3)最大划分层确定方法

图28是用于示出根据本发明的又一方面的确定最大划分层值的方法的一个示例的流程图。

最大划分层确定器2620在步骤S2810中,将初始值x(其是最大划分层值候选)设置为log2(M/16),在步骤S2820中,当最大划分层值候选是x时,通过使用最小子块尺寸(M/2x)×(M/2x)来确定宏块的划分类型,并且当根据所确定的划分类型对图像的一个帧(任意帧)进行编码时,计算编码开销(在下文中称为“xcost”),在步骤S2830中,当最大划分层值候选是x+1时,通过使用最小子块尺寸(M/2x+1)×(M/2x+1)来确定宏块的划分类型,并且在对任意帧进行编码时,计算编码开销(在下文中,称为“x+1cost”),并且在步骤S2840中,将xcost与x+1cost进行比较,以确定xcost是否小于x+1cost。

作为步骤S2840的确定的结果,当xcost小于x+1cost时,最大划分层确定器2620在步骤S2850中将x确定为最大划分层值。作为步骤S2840的确定的结果,当xcost等于或者大于x+1cost时,最大划分层确定器2620在步骤S2860中确定x+1是否为log2(M/4)。当x+1不是log2(M/4)时,最大划分层确定器2620在步骤S2870中将x设置为x+1,并且进行至步骤S2820。当x+1是log2(M/4)时,最大划分层确定器2620在步骤S2880中将x+1确定为最大划分层值。

图29是用于示出根据本发明的另一方面的确定最大划分层值的方法的另一示例的流程图。

最大划分层确定器2620在步骤S2910中,将初始值x(其是最大划分层值候选)设置为log2(M/16),在步骤S2920中,当最大划分层值候选是x时,通过使用最小子块尺寸(M/2x)×(M/2x)来确定宏块的划分类型,并且当根据所确定的划分类型对图像的一个帧(任意帧)进行编码时,计算编码开销(在下文中称为“xcost”),在步骤S2930中,当最大划分层值候选是x+1时,通过使用最小子块尺寸(M/2x+1)×(M/2x+1)来确定宏块的划分类型,并且在对任意帧进行编码时,计算编码开销(在下文中,称为“x+1cost”),并且在步骤S2940中,将xcost与x+1cost进行比较,以确定xcost是否小于x+1cost。

作为步骤S2940的确定的结果,当xcost等于或者大于x+1cost时,最大划分层确定器2620在步骤S2950中将x设置为x-1,并且进行至步骤S2920。当xcost小于x-1cost时,最大划分层确定器2620在步骤S2960中将x确定为最大划分层值。

通过不仅使用参照图28和图29描述的方法还使用其它方法,最大划分层确定器2620可以确定最大划分层值。也就是说,作为确定最大划分层值的又一示例,最大划分层确定器2620计算用于对于宏块可用的每个最大划分层值候选的编码开销,并且可以通过将计算的编码开销相互比较来将具有最小编码开销的最大划分层值候选确定为最大划分层值。

C-1-4)划分信息编码方法

在下文中,描述根据本发明的又一方面的通过使用最大划分层值来对划分信息进行编码的方法。

如上所述,一旦确定了指示层的总数目的最大划分层值,就确定了宏块中可用的划分层。然而,在确定的可用划分层中可能存在未被使用的层。在这种情况下,可能没有必要对针对未被使用的层的划分类型指示信息进行编码。

因此,根据本发明的又一方面,可以将与从通过最大划分层值确定的可用划分层之中选择以便使用的划分层有关的信息包括在比特流中,并且当与各个层是否可用有关的信息被传输至比特流时,可以仅使用所选择的划分层来对当前块的划分信息进行编码。在对块划分信息进行编码的方法中,可以使用前述各种划分信息编码方法。

当宏块尺寸是64×64并且最大划分层值是2时,层0和层1是可用层,并且层2和层3不是可用层。因此,宏块可以被分割为对应于包括在层0中的子块类型的尺寸为64×64、64×32、32×64和32×32的子块,以及对应于包括在层1中的子块类型的尺寸为32×32、32×16、16×32和16×16的子块。然而,宏块无法被分割为对应于包括在层2和层3中的子块类型的尺寸为16×8、8×16、8×8、8×4、4×8和4×4的子块。也就是说,各个16×16子块无法被分割为更小的子块。

在这种情况下,可以通过向比特流传输最大划分层值并且使用该最大划分层值来减少划分信息编码所需的比特数目。视频解码装置从比特流中提取和重建最大划分层值,将重建的最大划分层的所有更高层设置为可用层,并且将重建的最大划分层的更低层设置为不可用层。接着,视频解码装置通过使用设置的信息来对划分信息进行解码。

另选地,当没有使用包括在特定层中的子块的类型时,例如尺寸为64×64的宏块被分割为4个尺寸为32×32的子块。当各个32×32都被分割为具有等于或者小于尺寸16×16的尺寸的子块时,可以导出,包括在层1中的子块的子块类型没有被使用,并且层1可以被选择为不可用层。

在这种情况下,有可能通过将与各个层是否可用有关的信息编码到比特流中来减少划分信息编码所需的比特数目。视频解码装置从比特流中提取和重建与各个层是否可用有关的信息,并且接着通过使用重建的与各个层是否可用有关的信息来对划分信息进行解码。

如上所述,根据本发明的又一方面,可以通过将最大划分层值编码到比特流中,并且仅使用通过最大划分层值确定的可用划分层,来对划分信息进行编码。

另选地,可以通过将与在通过最大划分层值确定的可用划分层之中的各个层是否可用有关的信息包括并且编码到比特流中,并且仅使用可用划分层,来对划分信息进行编码。

可以将最大划分层值和/或与各个划分层是否可用有关的标记信息包括并且编码在序列头部、每个图片的头部或者片段头部中。

在这种情况下,可以通过使用诸如二进制算术编码、霍夫曼编码等的无损压缩编码以及诸如一元码、截断一元码、指数哥伦布码等的各种二进制编码方法来对最大划分层进行编码。

在对指示各个层是否可用的信息进行编码的方法中,可以通过使用诸如二进制算术编码、霍夫曼编码等的方法来对指示每个层是否可用的具有1比特长度的标记进行编码。

另选地,可以对布置了指示各个层是否可用的信息的表的索引进行编码。在这种情况下,可以通过使用诸如一元码、截断一元码、指数哥伦布码等的各种二进制编码方法来对该表的索引进行编码。

另选地,针对所使用的层的层标记被设置为1,针对未使用的层的层标记被设置为0,并且允许最低有效位(LSB)的整数值指示更高层是否可用。接着,可以通过使用诸如一元码、截断一元码、指数哥伦布码等的各种二进制编码方法来对生成的整数值进行编码。

另外,可以通过将用于所使用的层的层标记设置为0,将用于未使用的层的层标记设置为1,并且允许最低有效位(LSB)指示最高层是否可用,来生成整数值。

图30是用于示出根据本发明的又一方面的通过仅使用所选择的划分层来对当前块的划分信息进行编码的处理的示例性示图。图30示出了通过以下步骤来对划分信息进行编码的一个示例:对最大划分层和/或指示各个层是否可用的信息进行编码,通过对划分信息进行编码的各种方法,通过使用该信息来对最大划分层值和指示各个层是否可用的数据(层标记)进行编码,并且接着通过使用该信息来对划分类型指示信息进行编码。

在图30中,当假设宏块尺寸是64×64时,最大划分层是4,层0和层3可用,并且层1和层2不可用,宏块可以被分割为对应于包括在层1中的子块类型的尺寸为64×64、64×32、32×64和32×32的子块。当宏块被分割为尺寸为32×32的子块时,每个32×32子块可以被分割为对应于包括在层3中的子块类型的尺寸为8×8、8×4、4×8和4×4的子块。也就是说,当根据图10所示的划分类型指示信息来分割32×32子块时,32×32子块被分割为16个尺寸为8×8的子块。

在通过使用对最大划分层值进行编码的上述方法第一次对最大划分层值4进行编码时,将用于使用的层的层标记设置为1,将用于未使用的层的层标记设置为0,并且对指示每个层是否可用的1比特标记进行编码。根据图30的方面,从较高层至较低层,可用层标记被编码为“1001”。

此后,通过使用上述各种划分信息编码方法来对宏块划分信息进行编码。图30的方面示出了基于图10所示的子块类型的使用划分类型指示信息编码方法的方法,其是划分信息编码方法之中的第一方法。

此处,当层编号K的N×N块被分割为4个子块时,向分割的子块分配层编号的方法根据各个层是否可用而不同。如果层K+1可用,则向子块分配层编号K+1。如果层K+1不可用,则向子块分配层编号K。

例如,当宏块尺寸是64×64时,可以将32×32子块确定为包括在层0中的子块类型,或者将其确定为包括在层1中的子块类型。在这种情况下,当层1是可用层时,32×32子块被分配层编号1。当层1不可用时,32×32子块被分配层编号0。

由于宏块被分割为4个子块,所以首先对划分类型指示信息3进行编码,并且对4个尺寸为32×32的划分类型指示信息进行编码。

由于第一32×32子块(L0-P0)没有被分割,所以对划分类型指示信息0进行编码,并且对第二32×32子块(L0-P1)的划分类型指示信息进行编码。

由于第二32×32子块(L0-P1)被分割为16个尺寸为8×8的子块(L2-P0至L2-P14),所以对划分类型指示信息3进行编码。此处,8×8子块可以是包括在层2中的8×8子块,或者可以是包括在层3中的子块,并且分配层编号3,因为层2不可用。

此后,对L0-P0内的16个尺寸为8×8的子块的划分类型指示信息全部进行了编码,并且对第三32×32子块(L0-P2)的划分类型指示信息进行编码。

由于第三32×32子块(L0-P2)被分割为16个尺寸为8×8的子块(L2-P0至L2-P15),所以对划分类型指示信息3进行编码,对L0-P2子块内的16个尺寸为8×8的子块的划分类型指示信息全部进行编码,并且对第四32×32子块(L0-P2)的划分类型指示信息0进行编码。

因此,根据本发明的又一方面的视频编码装置2600可以通过对针对各个层的层标记和划分编号的划分类型指示信息进行编码,来对对应的宏块的划分信息进行编码。

C-1-5)编码流程图

图31是用于示出根据本发明的又一方面的视频编码方法的流程图。

根据本发明的又一方面的视频编码方法,视频编码装置2600通过以下步骤来生成最大划分层和/或指示各个划分层是否可用的数据:在步骤S3110中,确定并且对最大划分层值和/或指示各个划分层是否可用的信息进行编码;在步骤S3120中,通过使用根据最大划分层值确定的最小子块尺寸和根据各个层是否可用而确定的子块来对当前块执行预测编码;以及,在步骤S3130中,生成经编码的最大划分层和/或包括指示各个层是否可用的数据和经编码的图像数据的比特流。如上所述生成的比特流被传输至视频解码装置,并且被解码。

在步骤S3110中,视频编码装置2600可以通过使用针对最大划分层值候选的编码开销来确定最大划分层值。视频编码装置2600可以通过增加或者减少最大划分层值候选的值来确定最大划分层值。另外,视频编码装置2600可以通过将各个最大划分层值候选的编码开销进行比较,来将具有最小编码开销的最大划分层值候选确定为最大划分层值。

C-2)解码器

C-2-1)视频解码装置的框图和描述

图32是用于示出根据本发明的又一方面的视频解码装置的示意性框图。

根据本发明的又一方面的视频解码装置3200可以包括最大划分层解码器3210和视频解码器3220。

最大划分层解码器3210对从比特流中提取的经编码的最大划分层数据进行解码,并且重建最大划分层值。

视频解码器2420可以相同地或者相似地构造为参照图7描述的根据本发明的一个方面的视频解码装置。然而,根据本发明的又一方面的视频解码器3220通过使用基于由最大划分层解码器3210重建的最大划分层值的最小子块尺寸,对从比特流中提取的经编码的图像数据执行预测解码,来重建当前块。

C-2-2)划分信息解码方法

在下文中,描述根据本发明的又一方面的通过使用最大划分层值来对划分信息进行解码的方法。

视频解码装置从比特流的序列头部、每个图片的头部或者片段头部之中的、视频解码装置和视频编码装置之间预先安排的位置提取表示层的总数目的最大划分层和/或指示每个层是否可用的数据;并且接着通过上述各种划分信息解码方法,通过使用提取的信息来对每个块的划分信息进行解码。

在对最大划分层和/或与可用层有关的信息进行解码的方法中,首先从比特流中提取和解码最大划分层数据,并且通过使用经解码的最大划分层值来提取指示每个层是否可用的数据、可用子块类型和根据指示每个层是否可用的数据的最小子块尺寸。例如,当宏块尺寸是64×64并且从比特流中提取和重建的最大划分层值是3时,层0、层1和层2被设置为可用层,并且层3被设置为不可用层。宏块可以被分割为对应于包括在层0中的子块类型的尺寸为64×64、64×32、32×64和32×32的子块,对应于包括在层1中的子块类型的尺寸为32×32、32×16、16×32和16×16的子块,以及对应于包括在层2中的子块类型的尺寸为16×16、16×8、8×16和8×8的子块。然而,宏块无法被分割为对应于包括在层3中的子块类型的尺寸为8×4、4×8和4×4的子块。也就是说,各个8×8子块无法被分割为更小的子块。在这种情况下,可用最小子块尺寸被确定为尺寸8×8。

另选地,在从比特流中提取和重建最大划分层数据之后,从比特流中提取与由重建的最大划分层值确定的层的数目相对应的、指示每个层是否可用的数据并对该数据进行编码。接着,根据重建的最大划分层值和每个层的可用性来提取可用子块类型和最小子块尺寸。

例如,当宏块尺寸是64×64,并且从比特流中提取和重建的最大划分层值是3时,从比特流中提取和解码指示3层是否可用的数据。当指示每个层是否可用的重建数据意味着层0和层2可用并且层1不可用时,宏块可以被分割为对应于包括在层0中的子块类型的尺寸为64×64、64×32、32×64和0×32的子块,以及对应于包括在层2中的子块类型的尺寸为32×16、16×8、8×16和8×8的子块。然而,宏块无法被分割为对应于包括在层1中的子块类型的尺寸为32×32、32×16、16×32和16×16的子块,以及对应于包括在层3中的子块类型的尺寸为8×4、4×8和4×4的子块。

另选地,视频解码装置通过使用最小子块尺寸和在视频解码装置与视频编码装置之间预先安排的宏块尺寸来确定最大划分层值,并且从比特流中解码出与由最大划分层值确定的层的数目相对应的、指示各个层是否可用的数据,以便根据指示各个层是否可用的重建数据来确定可用子块类型。例如,当视频编码装置与视频解码装置之间预先安排的宏块尺寸是32×32,并且最小子块尺寸是8×8时,最大划分层的数目是2。因此,从比特流中提取和解码指示2个层是否可用的数据。当指示各个层是否可用的重建数据意味着层0不可用并且层1可用时,宏块仅可以具有对应于包括在层1中的子块类型的16×16、16×8、8×16和8×8的块类型。因此,在对宏块的划分信息进行解码时,将宏块分割为4个尺寸为16×16的子块,并且仅从比特流中提取和解码每个16×16划分信息。

在这种情况下,通过使用诸如二进制算术编码、霍夫曼编码等方法之中的、在视频编码装置与视频解码装置之间预先安排的方法来对最大划分层值进行解码。

另选地,可以通过使用诸如一元码、截断一元码、指数哥伦布码等的方法来对最大划分层值进行编码。

在对指示每个层是否可用的信息进行解码的方法中,可以通过使用诸如二进制算术编码、霍夫曼编码等方法之中的、在视频编码装置与视频解码装置之间预先安排的方法来对指示每个层是否可用的数据进行解码。

另选地,可以通过使用诸如一元码、截断一元码、指数哥伦布码等的方法来对表示各个层是否被使用的表的索引进行解码,并且可以通过使用视频编码装置与视频解码装置之间预先安排的表来提取指示各个层是否被使用的数据。

另选地,通过使用诸如一元码、截断一元码、指数哥伦布码等的方法来对整数值进行解码,并且可以通过将整数值表示为具有最大划分层值作为比特数目的二进制比特来对经解码的整数值进行解码。

在下文中,描述根据图30的方面的解码方法。

根据图30的上述方面,在视频编码装置中利用划分信息编码的数据中,最大划分信息是4,指示各个层是否被使用的层标记是“1001”,并且划分类型指示信息是{3,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}。

视频解码装置从比特流中提取和解码最大划分层数据,并且重建最大划分层值4。由于最大划分层是4,所以重建指示4个层是否可用的标记(层标记)。通过从比特流中提取和解码1个比特来对层0的Layer_Flag进行解码。在重建了指示层0是否可用的标记之后,按照相同的方式从比特流中提取和解码层1、层2和层3的Layer_Flag。由于层0的重建的Layer_Flag是1,层1的重建的Layer_Flag是0,层2的重建的Layer_Flag是0,并且层3的重建的Layer_Flag是1,所以将层0和层3设置为可用层,并且将层1和层2设置为不可用层。接着,该信息用于对宏块的划分信息进行解码。

由于第一次重建的划分类型指示信息是3,所以宏块被分割为4个尺寸为32×32的子块,并且从比特流中提取和重建每个32×32子块的划分类型指示信息。

此处,当层编号K的N×N块被分割为4个子块时,向分割的子块分配层编号的方法根据各个层是否可用而不同。如果层K+1可用,则向子块分配层编号K+1。如果层K+1不可用,则向子块分配层编号K。

根据图30的方面,从宏块分割的32×32子块对应于可以包括在层0和层1这二者中的子块类型,但是32×32子块的层编号是0,因为层1不可用。

由于第二次重建的划分类型指示信息是0,所以宏块内的第一32×32子块(L0-P0)的子块类型是32×32。由于第一32×32子块的划分类型指示信息不是3,所以对第二32×32子块(L0-P1)划分类型指示信息进行解码。

由于第三次重建的划分类型指示信息是3,并且层1和层2不可用,所以将L0-P1子块分割为16个尺寸为8×8的子块(L3-P0至L3-P15),并且从比特流中提取和解码每个8×8子块的划分类型指示信息,因为8×8子块可以被分割为更小的子块。

由于第四次至第十九次重建的划分类型指示信息都是0,所以可以导出,从子块L0-P1分割的子块L3-P0至L3-P15的所有子块类型都是8×8。

由于第二十次重建的划分类型指示信息是3,并且层1和层2不可用,所以将L0-P2子块分割为16个尺寸为8×8的子块(L3-P0至L3-P15),并且从比特流中提取和解码每个8×8子块的划分类型指示信息,因为8×8子块可以被分割为更小的子块。

由于随后重建的划分类型指示信息是2,所以将包括在L0-P2子块中的L3-P0子块分割为2个尺寸为4×8的子块,并且将子块L3-P1至L3-P15的子块类型都设置为8×8,因为指示从此重建的信息片的15个划分类型都是0。

由于最后重建的划分类型指示信息是0,所以L0-P3子块的子块类型是32×32,并且终止划分信息解码处理,因为已经确定了该宏块内的所有子块的划分类型。

C-2-1)解码流程图

图33是用于示出根据本发明的又一方面的视频解码方法的流程图。

基于根据本发明的又一方面的视频解码方法,视频解码装置在步骤S3310中对从比特流中提取的经编码的最大划分层数据进行解码,以重建最大划分层值,并且在步骤S3320中,通过使用根据重建的最大划分层值的最小子块尺寸对从比特流中提取的经编码的图像数据执行预测解码,来重建当前块。

根据如上所述的本发明的又一方面,即使在具有等于或者大于尺寸16×16的尺寸的宏块被分割为各种尺寸的子块时,也可以通过使用最大划分层值来设置最小子块尺寸。因此,不需要对针对未被使用的层的划分信息进行解码。因此,可以利用较少数目的比特来对宏块的划分信息进行编码,由此可以提高压缩效率。

另外,根据本发明的又一方面的视频编码装置确定当前块的可用划分层,在可用划分层之中选择生成当前块的最小编码开销的划分层,通过仅使用所选择的划分层来生成通过执行对当前块的预测编码而编码的图像数据,并且可以生成包括通过对与所选择的划分层有关的信息进行编码而产生的经编码的划分层数据、基于所选择的划分层通过对当前块的划分信息进行编码而产生的经编码的划分信息数据以及经编码的图像数据的比特流。此处,可以选择一个或更多个划分层作为生成当前块的最小编码开销的划分层。因此,视频编码装置可以通过以下步骤来生成经编码的图像数据:确定针对当前块的可用划分层;在可用划分层之中选择生成当前块的最小编码开销的一个或更多个划分层;以及通过仅使用一个或更多个所选择的划分层来对当前块进行分割和预测编码。因此,视频编码装置可以利用较小数目的比特来对宏块划分信息进行编码,并且由此提高压缩效率。

另外,根据本发明的又一方面的视频解码装置可以通过对从比特流中提取的经编码的划分信息数据和经编码的划分层数据进行解码来重建与划分层有关的信息和划分信息,并且通过使用重建的与划分层有关的信息和重建的划分信息对从比特流中提取的经编码的图像数据执行预测解码来重建当前块。

D)宏块尺寸编码和解码

根据上述方面,已经假设了宏块具有在视频编码装置与视频解码装置之间预先安排的尺寸。另外,基于该假设,已经描述了宏块分割方法和划分信息编码和解码。

在下文中,将描述确定具有可变尺寸的宏块的尺寸,并且进行编码和解码以便向解码装置用信令发送所确定的宏块尺寸的方法。

通常,可以以大块为单位有效地对高分辨率图像进行编码。然而,每当使用最大块来对图像的所有区域进行编码时,编码效率就不是总能够得到提高。例如,在单调图像的情况下,以宏块(诸如尺寸为128×128的大宏块)为单位来对图像进行编码可能是有效的。然而,当以尺寸为128×128的宏块为单位来对复杂图像进行编码时,多数宏块被分割为更小的子块,并且多数子块可以以具有等于或者小于尺寸16×16的尺寸的块为单位进行预测或者变换。在这种情况下,由于应当对指示每个宏块已经被分割为具有等于或者小于尺寸16×16的尺寸的子块的划分信息进行编码,所以通过对应于尺寸16×16的宏块的选择来对图像进行编码是有效的。

根据本发明的另一方面,确定最大块尺寸,该最大块尺寸可以用于预测或者变换以便进一步提高上述划分信息编码方法的效率,以所选择的块尺寸来对图像进行编码,并且通过按照由包括在比特流中的信息标识的最大块尺寸对图像进行解码来重建图像。

在下文中,虽然为了描述的方便性而没有描述单独地设置可以用于预测的最大块尺寸(例如,宏块)和可以用于变换的最大块尺寸,但是其可应用于单独地设置用于预测的最大块尺寸和用于变换的最大块尺寸。

另外,可以将每个信息编码在序列头部、图片头部、片段头部或者宏块头部中。

在根据本发明的方面确定宏块尺寸(这将在以下描述中进行讨论)之后,可以基于根据本发明的上述方面的宏块分割方法来将宏块分割为子块。另外,可以以子块为单位执行预测或者变换。在这种情况下,根据本发明的方面的视频编码装置对与宏块尺寸有关的信息和/或与宏块分割有关的划分信息进行编码,并且接着可以向根据本发明的方面的视频解码装置传输经编码的信息。根据本发明的方面的视频解码装置可以通过对与宏块尺寸有关的信息和/或宏块划分信息进行解码来抓取当前要被解码的宏块尺寸和/或与宏块内的子块有关的信息。如上所述,划分信息可以不同地实现。根据本发明的方面的宏块的划分信息包含与宏块是否被分割为子块有关的信息和/或与从宏块分割的子块类型有关的信息,向根据本发明的方面的视频解码装置用信令发送该划分信息。

D-1)视频编码装置

D-1-1)编码装置的描述

图35是用于示出根据本发明的又一方面的视频编码装置3500的示意性框图。

根据依据本发明的另一方面的视频编码装置的实现,视频编码装置可以包括候选宏块尺寸配置单元3510、视频编码器3520和宏块尺寸确定器3530。

根据本发明的又一实施方式,候选宏块尺寸配置单元3510配置可以由视频编码装置3500使用的宏块尺寸候选。宏块尺寸候选由用户输入,或者根据图像特性而确定。另选地,宏块尺寸候选可以是由另一装置输入的设置候选组(例如,尺寸64×64、尺寸32×32和尺寸16×16)。

在根据图像特性确定宏块尺寸候选的情况下,如果图像分辨率是4K×2K,并且宽高比是16:9,则宏块尺寸候选可以包括尺寸128×128、尺寸128×6、尺寸64×128、尺寸64×64、尺寸64×32、尺寸32×64、尺寸32×32、尺寸32×16、尺寸16×32和尺寸16×16。

视频编码器3520可以实现为参照图6、图8或者图26描述的根据本发明的一个方面的视频编码装置。也就是说,视频编码器3520通过由候选宏块尺寸配置单元3510配置的每个宏块尺寸候选来对图像进行编码,并且生成针对每个宏块尺寸的图像数据。在这种情况下,每个宏块被内部分割为作为比宏块较小的块的子块(此处,具有最小子块尺寸的子块可以是以4×4像素为单位的块),并且对分割的子块执行帧内编码或者帧间编码。可以通过使用根据本发明的上述方面的划分信息编码方法,将指示宏块内的子块的尺寸和形状的划分信息包括在比特流中。

作为视频编码器3520的另一操作方法,使用尺寸为16×16和尺寸为32×32的宏块来执行编码。作为编码的结果,当使用尺寸为32×32的宏块的情况下的编码开销高于使用尺寸为16×16的宏块的情况下的编码开销时,将尺寸16×16确定为宏块尺寸。当使用尺寸为32×32的宏块的情况下的编码开销低于使用尺寸为16×16的宏块的情况下的编码开销时,再次使用尺寸为64×64的宏块来执行编码,并且接着按照相同的方式对使用尺寸为32×32和尺寸为64×64的宏块的编码开销进行比较。因此,可以确定宏块尺寸。

另外,作为视频编码器3520的另一操作方法,使用尺寸为16×16、尺寸为32×16、尺寸为16×32和尺寸为32×32的宏块来执行编码。作为编码的结果,选择具有最佳编码效率的宏块尺寸。接着,使用通过分别两次放大所选择的宏块的宽度、高度以及宽度和高度这二者而生成的像素块作为宏块来执行编码。如果使用放大的宏块尺寸,编码效率没有提高,则停止编码,并且确定宏块尺寸。

宏块尺寸确定器3530计算当视频编码器3520通过每个宏块尺寸对图像进行编码时生成的编码开销(即,针对每个宏块尺寸的图像数据的编码开销),并且将各个宏块尺寸的编码开销进行比较,以确定宏块尺寸候选之中的最优宏块尺寸。此处,最优宏块尺寸可以是当使用对应的宏块尺寸对图像进行编码时生成最低的编码开销的任何宏块尺寸。然而,在使用编码开销的情况下,可以使用编码开销来确定各种最优宏块尺寸。

另外,当确定宏块尺寸时,宏块尺寸确定器3530将按照对应的宏块尺寸进行编码的图像数据生成为比特流。在这种情况下,可以将与所确定的宏块尺寸有关的信息编码并包括在比特流中。可以仅一次将与宏块尺寸有关的信息包括在针对整个图像的比特流中,或者可以将其包括在整个图像的每个图片中的比特流中。另外,根据本发明的另一方面,可以针对每个图片、片段或者宏块层而不同地选择对应于编码/解码单元的宏块尺寸。

D-1-2)宏块尺寸编码方法

在下文中,描述根据本发明的方面的对宏块尺寸进行编码的各种方法。

如上所述,由于可以通过使用最小子块尺寸和最大划分层(MaxLayer)来计算宏块尺寸,所以可以通过对所确定的宏块尺寸值进行编码或者对最小子块尺寸和最大划分层进行编码来获得宏块尺寸。

也就是说,在对指示宏块尺寸或者最小子块尺寸的块尺寸信息进行编码并且对子块尺寸进行编码的方法中,将最大划分层(MaxLayer)信息一起编码,并且将其传输至视频解码装置。

可以通过使用诸如二进制算术编码、霍夫曼编码等的无损压缩编码来将最大划分层信息编码到二进制比特串中。另选地,可以通过使用诸如一元码、截断一元码、指数哥伦布码等的各种二进制编码方法来对最大划分层信息进行编码。

D-1-2-1)宏块尺寸编码方法1

首先描述对宏块尺寸进行编码的第一种方法。

可以将指示是否传输与宏块尺寸有关的信息的标记(Set_MBsize_flag)包括在序列头部、每个图片的头部或者片段头部中。根据该标记的值,可以传输或者不传输宏块尺寸。在不传输宏块尺寸的情况下,具有预定尺寸(例如,尺寸为16×16的块)的宏块被用作宏块。

如果指定了宏块尺寸,则传输与宏块尺寸有关的信息。在这种情况下,可以使用具有水平尺寸和垂直尺寸被单独地设置的任意尺寸的宏块。另选地,在使用正方形宏块时,仅对与正方形宏块的一侧有关的信息进行编码,并且接着传输给解码装置。

可以将要被编码的宏块尺寸值指定为实际宏块尺寸,或者指示可以传输要相对于预定尺寸放大或缩小宏块的次数的值。另外,通过对宏块尺寸值应用对数函数来代替对宏块尺寸值直接进行编码,可以使用较小的比特来表示宏块尺寸值。例如,对log2(所选择的MB尺寸/X)(X是为2的倍数的任何正整数)的值进行编码。在这种情况下,可以选择X的值作为可用最小宏块尺寸。例如,如果可用最小宏块尺寸是8×8,则优选地选择“8”作为X的值。在这种情况下,在当前宏块是尺寸为8×8的块时,编码为“0”,并且在当前宏块是尺寸为16×16的块时,编码为“1”。如果可用最小宏块尺寸是16×16,则优选地选择“6”而不是“8”作为X的值。在这种情况下,在当前宏块是尺寸为16×16的块时,编码为“0”,并且在当前宏块是尺寸为32×32的块时,编码为“1”。因此,可以使用小于用于对诸如8、16或者32的大数字进行编码的比特的比特来表示当前宏块尺寸。

另外,可以分别对水平尺寸和垂直尺寸的放大率进行编码。

另选地,宏块尺寸值可以是在视频编码装置与视频解码装置之间预先安排的表的索引值。

在这种情况下,可以通过使用诸如一元码、截断一元码、指数哥伦布码等的各种二进制编码方法来对要传输的宏块尺寸进行编码。

在下文中,为了便于描述,没有描述单独地设置水平尺寸和垂直尺寸,但是其可应用于单独地设置水平尺寸和垂直尺寸。另外,虽然示例将数据编码在序列头部和图片头部上,但是数据也可以编码在片段头部或者宏块头部上。

根据对宏块尺寸进行编码的第一方法的语法的示例如下。

Set_MBsize_Flag

if(Set_MBsize_Flag==1)

{

MBsize

}

或者

Set_MBsize_Flag

if(Set_MBsize_Flag==1)

{

MBsize_width

MBsize_height

}

另外,可以通过最小子块尺寸和最大划分层来对指示宏块尺寸的块尺寸信息(诸如MB_size)进行编码。

此处,可以将要被编码的最小子块尺寸值指定为实际最小子块尺寸或者指示要利用可以传输的预定尺寸放大或缩小子块的次数的值。另外,通过对最小子块尺寸值应用对数函数来代替对最小子块尺寸值直接进行编码,可以使用较小的比特来表示最小子块尺寸值。例如,对log2(minblockSize/X)(X是为2的倍数的任何正整数)的值进行编码。在这种情况下,可以选择X的值作为可用最小子块尺寸。例如,如果可用最小子块尺寸是4×4,则优选地选择“4”作为X的值。在这种情况下,在根据当前宏块尺寸来编码的最小子块是尺寸为4×4的块时,编码为“0”,并且在最小子块是尺寸为8×8的块时,编码为“1”。如果可用最小宏块尺寸是8×8,则优选地选择“8”而不是“4”作为X的值。在这种情况下,在根据当前宏块尺寸的可用最小子块尺寸是8×8时,编码为“0”,并且在最小子块尺寸是16×16时,编码为“1”。

另外,可以分别对水平尺寸和垂直尺寸的放大率进行编码。

另选地,最小子块尺寸值可以是定义在视频编码装置与视频解码装置之间预先安排的块尺寸的表的索引值。

在这种情况下,可以通过使用诸如一元码、截断一元码、指数哥伦布码等的各种二进制编码方法来对最小子块尺寸进行编码。

可以通过使用诸如二进制算术编码、霍夫曼编码等的无损压缩编码来将最大划分层信息编码到二进制比特串中。另选地,可以通过使用诸如一元码、截断一元码、指数哥伦布码等的各种二进制编码方法来对最大划分层信息进行编码。

当通过使用最小子块尺寸和最大划分层来对宏块尺寸进行编码时,上述第一语法的示例可以表示如下。

Set_MBsize_Flag

if(Set_MBsize_Flag==1)

{

minBlockSize

MaxLayer

}

或者

Set_MBsize_Flag

if(Set_MBsize_Flag==1)

{

minBlockSize_width

minBlockSize_height

MaxLayer

}

另选地,可以在每个序列、图片、片段或者宏块头部中向视频解码装置传输宏块尺寸,而不对指示是否传输与宏块尺寸有关的信息的标记(Set_MBsize_flag)进行编码。

D-1-2-2)宏块尺寸编码方法2

在下文中,描述对宏块尺寸进行编码的第二方法。

根据该第二方法,将尺寸M×N设置为基准宏块尺寸,并且将指示是否使用该基准宏块尺寸的标记编码在每个图片、片段或者宏块头部中。当不使用基准宏块尺寸时,对所选择的宏块尺寸进行编码。另选地,当将指示是否设置基准宏块尺寸的标记编码在序列头部中之后,如果没有设置基准宏块尺寸,则将预定尺寸(例如,尺寸16×16)用作基准宏块尺寸,并且如果设置了基准宏块尺寸,则可以将基准宏块尺寸编码并包括在序列头部中。

此处,在对default_MBsize的值(其是指示基准宏块尺寸的信息)或者MB_size的值(其是指示当前宏块尺寸的信息)进行编码的方法中,可以指定实际宏块尺寸,或者可以传输指示相对于预定尺寸来放大或缩小宏块的次数的值。另选地,如上述第一方法中所述,通过对宏块尺寸值应用对数函数来代替对宏块尺寸值直接进行编码,可以使用较小的比特来表示宏块尺寸值。

另外,可以分别对水平尺寸和垂直尺寸的放大率进行编码。

另选地,宏块尺寸值可以是在视频编码装置与视频解码装置之间预先安排的表的索引值。

在这种情况下,可以通过使用诸如一元码、截断一元码、指数哥伦布码等的各种二进制编码方法来对要传输的宏块尺寸进行编码。

根据对宏块尺寸进行编码的第二方法的语法的示例如下。

序列、图片或片段头部

Set_defaultMBsize_Flag

if(Set_MBsize_Flag==1)

{

defalt_MBsize

}

图片、片段或者宏块头部

use_defalt_MBsize_flag

if(use_defalt_MBsize_flag==0)

{

MB_size

}

另外,可以通过最小子块尺寸和最大划分层来对块尺寸信息(诸如用于指示默认宏块尺寸或者基准宏块尺寸的default_MBsize和用于指示宏块尺寸的MB_size)进行编码。

在对用于指示基准宏块尺寸的基准最小子块尺寸default_minBlockSize或者用于指示与当前宏块尺寸有关的信息的最小子块尺寸minBlockSize进行编码的方法中,可以指定要实际编码的最小子块尺寸,并且可以传输指示要相对于预定尺寸放大或缩小子块的次数的值。另选地,如上述第一方法中所述,通过对最小子块尺寸值应用对数函数来代替对最小子块尺寸值直接进行编码,可以使用较小的比特来表示最小子块尺寸值。

另外,可以分别对水平尺寸和垂直尺寸的放大率进行编码。

另选地,最小子块尺寸值可以是在视频编码装置与视频解码装置之间预先安排的表的索引值。

在这种情况下,可以通过使用诸如一元码、截断一元码、指数哥伦布码等的各种二进制编码方法来对要传输的最小子块尺寸进行编码。

可以通过使用诸如二进制算术编码、霍夫曼编码等的无损压缩编码来将最大划分层信息编码到二进制比特串中。另选地,可以通过使用诸如一元码、截断一元码、指数哥伦布码等的各种二进制编码方法来对最大划分层信息进行编码。

当通过使用最小子块尺寸和最大划分层来对宏块尺寸进行编码时,上述第二语法的示例可以表示如下。

序列、图片或者片段头部

Set_defaultMBsize_Flag

if(Set_MBsize_Flag==1)

{

default_minBlockSize

default_MaxLayer

}

图片、片段或者宏块头部

use_default_MBsize_flag

if(use_default_MBsize_flag==0)

{

minBlockSize

MaxLayer

}

D-1-2-3)宏块尺寸编码方法3

在下文中,描述对宏块尺寸进行编码的第三方法。

根据该第三方法,将尺寸M×N设置为基准宏块尺寸,并且将指示是否使用基准宏块尺寸的标记编码在每个图片的头部、片段头部或者最小子块头部中的每一个中,并且将其传输至视频解码装置。当该标记指示使用基准宏块尺寸时,具有与基准宏块尺寸相同的尺寸的块被选择作为当前宏块。然而,当该标记指示没有使用基准宏块尺寸时,选择具有相对于基准宏块尺寸按照预定比率放大或者缩小的尺寸的块作为编码或者解码处理中的当前宏块。例如,可以选择水平尺寸和垂直尺寸是基准宏块的水平尺寸和垂直尺寸的两倍的块作为当前宏块。

当存在各种放大或缩小比率时,可以使得标记的长度大于2个比特来表示各种比率。另选地,另外,可以将指示放大比率或者缩小比率的信息附加地编码在指示是否使用基准宏块尺寸的标记中。

当标记指示没有使用基准宏块尺寸,并且选择了相对于基准宏块尺寸放大的尺寸的块作为当前宏块时,基准宏块尺寸对应于可用于当前比特流编码或解码的最小宏块尺寸。相反,当标记指示没有使用基准宏块尺寸,并且选择了相对于基准宏块尺寸缩小的尺寸的块作为当前宏块时,基准宏块尺寸对应于可用于当前比特流编码或解码的最小宏块尺寸。

视频解码装置可以通过使用指示是否使用基准宏块尺寸和/或指示相对于基准宏块尺寸按照预定比率放大或缩小的附加信息来选择当前宏块尺寸。

根据本发明的一个方面,可以将指示是否设置基准宏块尺寸的标记包括在序列头部中。如果没有设置基准宏块尺寸,则可以预先安排使用预定尺寸(例如,尺寸16×16)作为基准宏块尺寸。

当设置了基准宏块尺寸并且将其用信令发送至视频解码装置时,可以对与基准宏块尺寸有关的信息进行编码并将其包括在序列头部中。根据本发明的一个方面,视频编码装置可以向视频解码装置用信令发送指示可用于当前比特流编码或解码的最大宏块尺寸的信息,作为与基准宏块尺寸有关的信息。根据本发明的另一方面,视频编码装置可以向视频解码装置用信令发送指示可用于当前比特流编码或解码的最小宏块尺寸的信息,作为与基准宏块尺寸有关的信息。根据本发明的又一方面,视频编码装置可以向视频解码装置用信令发送与可用于当前比特流编码或解码的最大宏块尺寸和最小宏块尺寸这二者有关的信息,作为与基准宏块尺寸有关的信息。

在对作为与基准宏块尺寸有关的信息的default_Mbsize进行编码的方法中,可以指定实际宏块尺寸,或者可以传输指示相对于预定尺寸来放大或缩小宏块的次数的值。另选地,如上述第一方法中所述,通过对宏块尺寸值应用对数函数来代替对宏块尺寸值直接进行编码,可以使用较小的比特来表示宏块尺寸值。

更具体地说,例如,当default_MBSize指示可用于当前比特流编码或解码的最大宏块尺寸时,对log2(X/default_MBSize)(X是为2的倍数的任何整数值)的值进行编码。在这种情况下,可以选择可用最大宏块尺寸作为X的值。另选地,当default_MBSize指示可用于当前比特流编码或解码的最小宏块尺寸时,对log2(default_MBSize/X)(X是为2的倍数的任何整数值)的值进行编码。在这种情况下,可以选择可用最小宏块尺寸作为X的值。

另外,可以分别对水平尺寸和垂直尺寸的放大率进行编码。

另选地,宏块尺寸值可以是在视频编码装置与视频解码装置之间预先安排的表的索引值。

在这种情况下,可以通过使用诸如一元码、截断一元码、指数哥伦布码等的各种二进制编码方法来对要传输的宏块尺寸进行编码。

另外,可以通过最小子块尺寸和最大划分层来对块尺寸信息(诸如用于指示基准宏块尺寸的default_MBsize和用于指示宏块尺寸的MB_size)进行编码。

在对作为与基准最小子块尺寸有关的信息的default_minBlockSize进行编码的方法中,可以指定实际要被编码的最小子块尺寸,并且可以传输指示要放大或缩小子块的次数的值。另选地,如上述第一方法所述,通过对最小子块尺寸值应用对数函数来代替对最小子块尺寸值直接进行编码,可以使用较小的比特来表示最小子块尺寸值。

更具体地说,例如,当default_minBlockSize指示根据可用于当前比特流编码或解码的最大宏块尺寸的最大子块尺寸时,对log2(X/default_minBlockSize)(X是为2的倍数的任何整数值)的值进行编码。在这种情况下,可以选择可用最大子块尺寸作为X的值。另选地,当default_minBlockSize指示根据可用于当前比特流编码或解码的最小宏块尺寸的最小子块尺寸时,对log2(X/default_minBlockSize)(X是为2的倍数的任何整数值)的值进行编码。在这种情况下,可以选择可用最小宏块尺寸作为X的值。

另外,可以分别对水平尺寸和垂直尺寸的放大率进行编码。

另选地,基准最小子块尺寸可以是在视频编码装置与视频解码装置之间预先安排的表的索引值。

在这种情况下,可以通过使用诸如一元码、截断一元码、指数哥伦布码等的各种二进制编码方法来对基准最小子块尺寸进行编码。

可以通过使用诸如二进制算术编码、霍夫曼编码等的无损压缩编码来将最大划分层信息编码到二进制比特串中。另选地,可以通过使用诸如一元码、截断一元码、指数哥伦布码等的各种二进制编码方法来对最大划分层信息进行编码。

D-1-2-4)宏块尺寸编码方法4

在下文中,描述对宏块尺寸进行编码的第四方法。

根据该第四方法,当在第一图片中对指示是否使用基准宏块尺寸的标记以及在没有使用基准宏块尺寸的情况下选择的宏块尺寸进行编码之后,可以从第二图片开始对指示是否使用先前图片的宏块尺寸的标记以及在没有使用先前图片的宏块尺寸的情况下的当前图片的宏块尺寸进行编码。

在对作为与基准宏块尺寸有关的信息的default_Mbsize进行编码的方法中,可以指定实际宏块尺寸,并且可以传输指示相对于预定尺寸放大或缩小宏块的次数的值。另选地,如上述第一方法中所述,通过对宏块尺寸值应用对数函数来代替对宏块尺寸值直接进行编码,可以使用较小的比特来表示宏块尺寸值。

另外,可以分别对水平尺寸和垂直尺寸的放大率进行编码。另选地,要被编码的宏块的尺寸值可以是在视频编码装置与视频解码装置之间预先安排的表的索引值。

在这种情况下,可以通过使用诸如一元码、截断一元码、指数哥伦布码等的各种二进制编码方法来对要传输的宏块尺寸进行编码。

根据对宏块尺寸进行编码的第四方法的语法的示例表示如下。

第一图片

use_default_MBsize_flag

if(use_default_MBsize_flag==0)

{

MB_size

}

从第二图片开始

use_prevPic_MBsize_flag

if(use_prevPic_MBsize_flag==0)

{

MB_size

}

另外,可以通过最小子块尺寸和最大划分层来对指示宏块尺寸的块尺寸信息(诸如Mbsize)进行编码。

可以指定实际要被编码的最小子块尺寸值,并且可以传输指示要相对于预定尺寸放大或缩小子块的次数的值。另选地,如上述第一方法所述,可以对最小子块尺寸值应用对数函数来代替对最小子块尺寸值直接进行编码。

另外,可以分别对水平尺寸和垂直尺寸的放大率进行编码。另选地,最小子块尺寸可以是在视频编码装置与视频解码装置之间预先安排的表的索引值。

在这种情况下,可以通过使用诸如一元码、截断一元码、指数哥伦布码等的各种二进制编码方法来对基准最小子块尺寸进行编码。

可以通过使用诸如二进制算术编码、霍夫曼编码等的无损压缩编码来将最大划分层信息编码到二进制比特串中。另选地,可以通过使用诸如一元码、截断一元码、指数哥伦布码等的各种二进制编码方法来对最大划分层信息进行编码。

当通过使用最小子块尺寸和最大划分层来对基准宏块尺寸进行编码时,上述第四语法的示例可以表示如下。

第一图片

use_defalt_MBsize_flag

if(use_defalt_MBsize_flag==0)

{

minBlockSize

MaxLayer

}

从第二图片开始

use_prevPic_MBsize_flag

if(use_prevPic_MBsize_flag==0)

{

minBlockSize

MaxLayer

}

D-1-2-5)宏块尺寸编码方法5

在下文中,描述对宏块尺寸进行编码的第五方法。

根据该第五方法,对于帧内图片和帧间图片使用不同的宏块尺寸。也就是说,将用于帧内图片的宏块尺寸和用于帧间图片的宏块尺寸编码在序列头部中。另选地,可以仅将根据图片类型的各宏块尺寸编码在第一帧内图片和第一帧间图片的头部中。对与帧内图片的宏块尺寸和帧间图片的宏块尺寸有关的信息进行编码的方法可以与前述方法相结合地使用。

序列头部

Set_intraMBsize_Flag

Set_interMBsize_Flag

if(Set_interMBsize_Flag==1)

{

intraMBsize

}

if(Set_interMBsize_Flag==1)

{

interMBsize

}

另外,可以通过最小子块尺寸和最大划分层来对与帧内宏块尺寸或者帧间宏块尺寸有关的信息进行编码。

当通过使用最小子块尺寸和最大划分层来对帧内宏块尺寸或帧间宏块尺寸进行编码时,上述第五语法的示例可以表示如下。

序列头部

Set_intraMBsize_Flag

Set_interMBsize_Flag

if(Set_intraMBsize_Flag==1)

{

Intra_minBlockSize

Intra_MaxLayer

}

if(Set_interMBsize_Flag==1)

{

Inter_minBlockSize

Inter_MaxLayer

}

D-1-3)编码方法顺序的描述

图36是用于示出根据本发明的另一方面的视频编码方法的实现的流程图。

视频编码装置在步骤S3610中配置宏块尺寸候选,在步骤S3620中通过每个宏块尺寸候选对输入图像进行编码,在步骤S3630中基于用于每个宏块尺寸候选的编码开销来确定宏块尺寸,并且在步骤S3640中生成包括按照所确定的宏块尺寸进行编码的图像数据和与所确定的宏块尺寸有关的信息的比特流。由于已经参照图35描述了视频编码装置配置宏块尺寸候选,针对每个宏块尺寸候选对图像进行编码,并且基于针对每个宏块尺寸候选的经编码的图像数据的编码开销来确定宏块尺寸,所以省略了其详细描述。

D-2)视频解码装置

D-2-1)解码装置的描述

图37是用于示出根据本发明的另一方面的视频解码装置的实现的框图。

根据依据本发明的另一方面的视频解码装置的实现,视频解码装置3700可以包括宏块尺寸配置单元3710和视频解码器3720。

宏块尺寸配置单元3710在以宏块为单位执行解码之前,从比特流中提取与宏块尺寸有关的信息,并且通过使用所提取的信息来配置宏块尺寸。

当在视频编码装置与视频解码装置之间预先安排了与宏块尺寸有关的信息包括在比特流中仅一次时,可以通过将该信息仅一次解码到针对整个图像的比特流中,并且在整个图像解码中使用所提取的宏块尺寸,来重建图像。当预先安排在每个图片中对宏块尺寸进行编码/解码时,可以通过从每个图片的比特流中提取宏块尺寸并且在每个图片中使用不同的宏块尺寸来重建图像。另外,根据本发明的另一方面,可以通过提取每个图片、片段或者宏块层中的宏块尺寸,并且使用所选择的宏块尺寸,来重建图像。

视频解码器3720可以实现为参照图32描述的根据本发明的一个方面的视频解码装置,并且通过根据通过上述方面的方法的重建的宏块尺寸来对划分信息进行解码,从而重建宏块内的用于预测或变换而分割的子块的尺寸和形状。通过从比特流中提取和解码各个子块的经编码的图像数据来重建各个子块。

D-2-2)宏块尺寸信息解码方法

在下文中,描述根据本发明的方面的对宏块尺寸进行编码的各种方法。

D-2-2-1)宏块尺寸信息解码方法1

首先描述根据对宏块尺寸进行编码的第一方法的解码方法。

可以包括指示是否传输与宏块尺寸有关的信息的标记(Set_MBsize_flag),在诸如序列头部、每个图片的头部或者片段头部的预先安排的位置中,对指示是否传输与宏块尺寸有关的信息的标记(Set_MBsize_flag)进行熵解码。当经解码的标记具有指示没有传输宏块尺寸的值时,可以使用在视频编码装置与视频解码装置之间预先安排的预定尺寸的宏块(例如,16×16块)作为该宏块。

当经解码的宏块尺寸指定标记(Set_MBsize_flag)指示指定了宏块尺寸时,通过诸如一元码、截断一元码、指数哥伦布码等的各种熵解码方法之中的、在视频编码装置与视频解码装置之间预先安排的方法来对宏块尺寸进行熵解码并提取该宏块尺寸。

当单独地设置并且接着传输宏块的水平尺寸和垂直尺寸时,可以通过对每个尺寸进行熵解码来获得该水平尺寸和垂直尺寸。另选地,如果使用正方形宏块,则可以仅对指示正方形宏块的一侧的信息进行熵解码。

可以将经解码的值指定为实际宏块尺寸,并且可以传输指示要相对于预定尺寸放大或缩小宏块的次数的值。另外,视频编码装置对通过对宏块尺寸值应用对数函数而生成的值进行编码,可以通过对经熵解码的值应用指数函数来设置宏块尺寸。例如,当视频编码装置对log2(编码器中选择的MBsize/X)(X是为2的倍数的任何正整数)的值y进行编码时,视频解码装置对y进行熵解码,并且可以通过将2y与X相乘来获得编码器中选择的宏块尺寸。此处,X对应于在视频编码装置与视频解码装置之间预先安排的值或者在宏块尺寸解码之前从比特流中提取的值。当选择和使用了可用于X的最小宏块尺寸,并且可用最小宏块尺寸是8×8时,如果y的经解码的值是“0”,则将宏块尺寸设置为8×8,并且如果y的经解码的值是“1”,则将宏块尺寸设置为16×16。当可用最小宏块尺寸是16×16时,使用“16”而不是“8”作为X,并且如果y的经解码的值是“0”,则将宏块尺寸设置为16×16。

另外,当视频编码装置分别对水平尺寸和垂直尺寸的放大率进行编码时,可以通过分别对水平尺寸和垂直尺寸的放大率进行熵解码来获得宏块尺寸。

另外,当对在视频编码装置与视频解码装置之间预先安排的表的索引值进行了编码时,可以通过使用经解码的值作为该表的索引值来获得宏块尺寸。

在这种情况下,可以使用诸如诸如一元码、截断一元码、指数哥伦布码等的各种二进制编码方法来对要被传输的宏块尺寸进行解码。在下文中,为了便于描述,没有描述单独地解码和提取水平尺寸和垂直尺寸,但是其可应用于单独地提取水平尺寸和垂直尺寸。另外,虽然示例了对序列头部和图片头部中的数据进行解码,但是当视频编码装置将宏块尺寸编码在片段头部或者宏块头部中时,可以在片段头部或者宏块头部中对宏块尺寸进行解码。

当在视频编码装置与视频解码装置之间预先安排了最小子块尺寸和最大划分层被用作与宏块尺寸有关的信息时,从比特流中提取和解码与最小子块尺寸和最大划分层有关的信息,并且接着可以重建宏块尺寸。

当经解码的宏块尺寸指定标记(Set_MBsize_flag)指示指定了宏块尺寸时,通过诸如一元码、截断一元码、指数哥伦布码等的各种熵解码方法之中的、在视频编码装置与视频解码装置之间预先安排的方法来对最小子块尺寸进行熵解码并提取该最小子块尺寸。

当单独地设置并且接着传输最小子块尺寸的水平尺寸和垂直尺寸时,可以通过对每个尺寸进行熵解码来获得该水平尺寸和垂直尺寸。另选地,如果使用正方形宏块,则可以仅对指示正方形宏块的一侧的信息进行熵解码。

可以将经解码的值指定为实际最小子块尺寸,并且可以传输指示要相对于预定尺寸放大或缩小子块的次数的值。另外,当视频编码装置对通过对最小子块尺寸值应用对数函数而生成的值进行编码时,可以通过对经熵解码的值应用指数函数来设置最小子块尺寸。例如,当视频编码装置对log2(在视频编码装置中根据所选择的宏块尺寸而选择的minBlockSize/X)(X是为2的倍数的任何正整数)的值y进行编码时,视频解码装置对y进行熵解码,并且可以通过将2y与X相乘来获得根据在视频编码装置中选择的宏块尺寸的最小子块尺寸。此处,X对应于在视频编码装置与视频解码装置之间预先安排的值或者在最小子块尺寸解码之前从比特流中提取的值。当选择和使用了可用于X的最小子块尺寸,并且可用最小子块尺寸是4×4时,如果y的经解码的值是“0”,则将最小子块尺寸设置为4×4,并且如果y的经解码的值是“1”,则将最小子块尺寸设置为8×8。当可用最小子块尺寸是8×8时,使用“8”而不是“4”作为X,并且如果y的经解码的值是“0”,则将最小子块尺寸设置为8×8。

另外,当视频编码装置分别对水平尺寸和垂直尺寸的放大率进行编码时,可以通过分别对水平尺寸和垂直尺寸的放大率进行熵解码来获得最小子块尺寸。

另外,当对在视频编码装置与视频解码装置之间预先安排的表的索引值进行了编码时,可以通过使用经解码的值作为该表的索引值来获得最小子块尺寸。

在这种情况下,可以通过使用诸如一元码、截断一元码、指数哥伦布码等的各种二进制编码方法来对最小子块尺寸进行解码。

可以通过使用诸如二进制算术编码、霍夫曼编码等的无损压缩编码以及可以通过使用诸如一元码、截断一元码、指数哥伦布码等的各种二进制编码方法来对最大划分层信息进行解码。

当重建的最小子块尺寸是N×N并且最大划分层是x时,宏块尺寸是(N×2x)×(N×2x)。

E-2-2-2)宏块尺寸信息解码方法2

在下文中,描述根据对宏块尺寸进行编码的第二方法的解码方法。

根据该第二方法,将在视频编码装置与视频解码装置之间预先安排的尺寸M×N设置为基准宏块尺寸,并且从每个图片的头部、片段头部和宏块头部中熵解码出是否使用基准宏块尺寸的标记。当经解码的标记的值指示没有使用基准宏块尺寸时,通过对宏块尺寸信息进行熵解码来提取与宏块相关的信息,并且设置宏块尺寸。当经解码的标记的值指示使用基准宏块尺寸时,意味着宏块尺寸信息没有包括在比特流中,所以将预先设置的基准宏块尺寸设置为宏块尺寸,并且执行一系列解码处理。

当基准宏块尺寸包括在序列头部中,并且从视频编码装置传输至视频解码装置时,可以从比特流内的诸如序列头部等的预先安排的位置提取基准宏块尺寸。此处,为基准宏块尺寸或者当前宏块尺寸分配经熵解码的值,并且可以通过按照经熵解码的值缩放(放大或缩小)预定尺寸来获得宏块尺寸。另选地,如以上第一解码方法所述,当视频编码装置对通过对宏块尺寸值应用对数函数而生成的值进行编码时,可以通过使用指数函数来获得宏块尺寸值。

另外,当视频编码装置分别对水平尺寸和垂直尺寸的放大率进行编码时,可以通过分别对水平尺寸和垂直尺寸的放大率进行熵解码来获得宏块尺寸。

另外,当对在视频编码装置与视频解码装置之间预先安排的表的索引值进行了编码时,可以通过使用经解码的值作为该表的索引值来获得宏块尺寸。

在这种情况下,可以使用诸如一元码、截断一元码、指数哥伦布码等的各种二进制编码方法来对要被传输的宏块尺寸进行解码。

另外,当与基准宏块尺寸或者宏块尺寸有关的信息对应于与最小子块尺寸和最大划分层有关的信息时,从比特流中提取和解码与根据基准宏块尺寸的基准最小子块尺寸或者根据宏块尺寸的最小子块尺寸有关的信息以及与最大划分层有关的信息,并且接着对宏块尺寸进行解码。

此处,可以从比特流内的诸如序列头部等的预先安排的位置提取基准最小子块尺寸和最小子块尺寸。可以为基准最小子块尺寸或者当前最小子块尺寸分配经熵解码的值,并且可以通过按照经熵解码的值缩放(放大或缩小)预定尺寸来获得最小子块尺寸。另选地,如以上第一解码方法所述,当视频编码装置对通过对最小子块尺寸值应用对数函数而生成的值进行编码时,可以通过使用指数函数来获得最小子块尺寸值。

另外,当视频编码装置分别对水平尺寸和垂直尺寸的放大率进行编码时,可以通过分别对水平尺寸和垂直尺寸的放大率进行熵解码来获得最小子块尺寸。

另外,当对在视频编码装置与视频解码装置之间预先安排的表的索引值进行了编码时,可以通过使用经解码的值作为该表的索引值来获得最小子块尺寸。

在这种情况下,可以通过使用诸如一元码、截断一元码、指数哥伦布码等的各种二进制编码方法来对最小子块尺寸进行解码。

可以通过使用诸如二进制算术编码、霍夫曼编码等的无损压缩编码以及诸如一元码、截断一元码、指数哥伦布码等的各种二进制编码方法来对最大划分层信息进行解码。

当重建的最小子块尺寸是N×N并且最大划分层是x时,宏块尺寸是(N×2x)×(N×2x)。

D-2-2-3)宏块尺寸信息解码方法3

在下文中,描述根据对宏块尺寸进行编码的第三方法的解码方法。

根据该第三方法,视频解码装置从比特流中提取指示是否使用基准宏块尺寸的标记和/或指示相对于基准宏块尺寸按照预定比率放大或缩小的附加信息,并且接着可以使用上述信息来提取宏块尺寸。

首先,将尺寸N×N设置为基准宏块尺寸,并且在每个图片的头部、片段头部和宏块头部中的每一个中解码出指示是否使用基准宏块尺寸的标记。当该标记指示使用了基准宏块尺寸时,将当前宏块尺寸同样地设置为基准宏块尺寸,并且以宏块为单位使用所设置的宏块尺寸执行解码。然而,当该标记指示没有使用基准宏块尺寸时,将相对于基准宏块尺寸按照视频编码装置与视频解码装置之间预先安排的预定比率放大或缩小了的值设置为当前宏块尺寸,并且以宏块为单位执行解码。例如,可以将相对于基准宏块的水平尺寸和垂直尺寸放大或缩小两倍的尺寸设置为当前宏块尺寸。

当视频编码装置使用各种放大或缩小比率时,将所选择的比率包括在比特流中,并且对该比特流进行编码,视频解码装置可以通过在标记熵解码中从比特流中解码出在视频编码装置与视频解码装置之间预先安排的比特的数目来获得各种比率。

另选地,当除了指示是否使用基准宏块尺寸的标记以外,将指示放大比率或缩小比率的信息包括在比特流中并进行编码时,在对该标记进行解码之后,可以根据指示是否使用基准宏块尺寸的标记的值,来对放大比率或者缩小比率进行或者不进行解码。如果没有对放大比率或者缩小比率进行解码,则将基准宏块尺寸设置为当前宏块尺寸,并且接着执行解码处理。

当经解码的标记指示基准宏块尺寸不同于当前宏块尺寸并且经解码的比率是放大比率时,将基准宏块尺寸设置为可用于当前比特流编码或解码的最小宏块尺寸,并且接着将相对于基准宏块尺寸按照经熵解码的比率放大的尺寸设置为当前宏块尺寸。相反,当经熵解码的比率是缩小比率时,将基准宏块尺寸设置为可用于当前比特流编码或解码的最大宏块尺寸,并且接着将相对于基准宏块尺寸按照经熵解码的比率缩小的尺寸设置为当前宏块尺寸。

根据本发明的一个实施方式,当指示是否设置基准宏块尺寸的标记被包括在比特流的序列头部中并且接着被传输时,解码器从序列头部中熵解码出该标记。并且接着,当该标记指示设置了基准宏块尺寸时,解码器从比特流的诸如序列头部的预先安排的位置提取基准宏块尺寸信息,并且通过使用所提取的信息来设置基准宏块尺寸。当该标记指示没有设置基准宏块尺寸时,可以使用在视频编码装置与视频解码装置之间预先安排的预定尺寸(例如,尺寸16×16)作为基准宏块尺寸。

根据本发明的一个实施方式,视频编码装置从比特流中提取指示可用于当前比特流编码或解码的最大宏块尺寸的信息,并且在设置基准宏块尺寸时使用所提取的信息。根据本发明的另一实施方式,视频编码装置从比特流中提取指示可用于当前比特流编码或解码的最小宏块尺寸的信息,并且在设置基准宏块尺寸时使用所提取的信息。根据本发明的又一实施方式,视频编码装置从比特流中提取指示可用于当前比特流编码或解码的最大宏块尺寸和最小宏块尺寸这二者的信息,并且在设置基准宏块尺寸时使用所提取的信息。

在对作为指示基准宏块尺寸的信息的default_Mbsize进行解码的方法中,可以将经熵解码的值本身设置为基准宏块尺寸值,并且可以通过使用该经熵解码的值作为放大比率或缩小比率、相对于预定尺寸进行放大或缩小来获得基准宏块尺寸。另选地,如在以上第一解码方法中所述,当视频编码装置对通过对宏块尺寸值应用对数函数而生成的值进行编码时,可以使用指数函数来获得宏块尺寸值。

更具体地说,例如,当default_MBsize指示可用于当前比特流编码或解码的最大宏块尺寸,并且视频编码装置对log2(X/default_MBsize)(X是为2的倍数的任何正整数)的值y进行编码时,视频解码装置可以通过对y进行熵解码并且将X与2y相乘来获得default_MBsize。在这种情况下,X可以是在视频编码装置与视频解码装置之间预先安排的值(类似于可用最大宏块尺寸)或者在对default_Mbsize进行解码之前从比特流中提取的值。

另选地,当default_MBsize指示可用于当前比特流编码或解码的最小宏块尺寸,并且视频编码装置对log2(X/default_MBsize)(X是为2的倍数的任何正整数)的值y进行编码时,视频解码装置可以通过熵解码来从比特流中提取y。并且接着,视频解码装置将通过将X与2y相乘而生成的值设置为default_MBsize。在这种情况下,X可以是在视频编码装置与视频解码装置之间预先安排的值(类似于可用最小宏块尺寸)或者在对default_Mbsize进行解码之前从比特流中提取的值。

另外,当视频编码装置分别对水平尺寸和垂直尺寸的放大率进行编码时,可以通过分别对水平尺寸和垂直尺寸的放大率进行熵解码来获得基准宏块尺寸。

另外,当对在视频编码装置与视频解码装置之间预先安排的表的索引值进行了编码时,可以通过使用经解码的值作为该表的索引值来获得基准宏块尺寸。

另外,可以使用诸如一元码、截断一元码、指数哥伦布码等的各种二进制编码方法来对基准宏块尺寸进行解码。

另外,当与基准宏块尺寸或者宏块尺寸有关的信息对应于与最小子块尺寸和最大划分层有关的信息时,从比特流中提取和解码与根据基准宏块尺寸的基准最小子块尺寸或者根据宏块尺寸的最小子块尺寸有关的信息以及与最大划分层有关的信息,并且接着对宏块尺寸进行解码。

在对作为指示基准最小子块尺寸的信息的default_minBlockSize进行解码的方法中,可以将经熵解码的值本身设置为基准最小子块尺寸值,并且可以通过使用该经熵解码的值作为放大比率或缩小比率、相对于预定尺寸进行放大或缩小来获得基准最小子块尺寸。另选地,如在以上第一解码方法中所述,当视频编码装置对通过对最小子块尺寸值应用对数函数而生成的值进行编码时,可以使用指数函数来获得最小子块尺寸值。

更具体地说,例如,当default_minBlockSize指示可用于当前比特流编码或解码的最大最小宏块尺寸,并且视频编码装置对log2(X/default_minBlockSize)(X是为2的倍数的任何正整数)的值y进行编码时,视频解码装置可以通过对y进行熵解码并且将X与2y相乘来获得default_minBlockSize。在这种情况下,X可以是在视频编码装置与视频解码装置之间预先安排的值(类似于可用最大最小子块尺寸)或者在对default_minBlockSize进行解码之前从比特流中提取的值。

另选地,当default_minBlockSize指示可用于当前比特流编码或解码的最小最小子块尺寸,并且视频编码装置对log2(X/default_minBlockSize)(X是为2的倍数的任何正整数)的值y进行编码时,视频解码装置可以通过熵解码来从比特流中提取y。并且接着,视频解码装置将通过将X与2y相乘而生成的值设置为default_minBlockSize。在这种情况下,X可以是在视频编码装置与视频解码装置之间预先安排的值(类似于可用最小最小子块尺寸)或者在对default_minBlockSize进行解码之前从比特流中提取的值。

另外,当视频编码装置分别对水平尺寸和垂直尺寸的放大率进行编码时,可以通过分别对水平尺寸和垂直尺寸的放大率进行熵解码来获得基准最小子块尺寸。

另外,当对在视频编码装置与视频解码装置之间预先安排的表的索引值进行了编码时,可以通过使用经解码的值作为该表的索引值来获得基准最小子块尺寸。

在这种情况下,可以使用诸如一元码、截断一元码、指数哥伦布码等的各种二进制编码方法来对基准最小子块尺寸进行解码。

可以通过使用诸如二进制算术编码、霍夫曼编码等的无损压缩编码以及诸如一元码、截断一元码、指数哥伦布码等的各种二进制编码方法来对最大划分层信息进行解码。

当重建的最小子块尺寸是N×N并且最大划分层是x时,宏块尺寸是(N×2x)×(N×2x)。

D-2-2-4)宏块尺寸信息解码方法4

首先描述根据对宏块尺寸进行编码的第四方法的解码方法。

根据该第四方法,当在第一图片中对指示是否使用基准宏块尺寸的标记以及在没有使用基准宏块尺寸的情况下选择的宏块尺寸进行编码之后,可以从第二图片开始对指示是否使用先前图片的宏块尺寸的标记以及在没有使用先前图片的宏块尺寸的情况下的当前图片的宏块尺寸进行编码。

当指示是否使用基准宏块尺寸的标记指示使用了基准宏块时,将宏块尺寸同样地设置为基准宏块尺寸,并且接着开始第一图片解码。

从第二图片开始,对指示是否使用先前图片的宏块尺寸作为当前图片的宏块尺寸的标记进行解码,并且接着当不使用先前图片的宏块尺寸时,对用于当前图片解码的宏块尺寸信息进行解码。当先前图片的宏块尺寸用于当前图片解码时,将宏块尺寸设置为与先前图片的宏块尺寸相等的值,并且对第二图片进行解码。

在对作为指示基准宏块尺寸的信息的default_MBsize或者作为指示当前图片的宏块尺寸的信息的MB_size进行解码的方法中,可以将经熵解码的值用作宏块尺寸,并且可以通过使用该经熵解码的值作为放大比率或缩小比率、相对于预定尺寸进行放大或缩小来获得基准宏块尺寸。另选地,如在以上第一解码方法中所述,当视频编码装置对通过对宏块尺寸值应用对数函数而生成的值进行编码时,可以使用指数函数来获得宏块尺寸值。

另外,当视频编码装置分别对水平尺寸和垂直尺寸的放大率进行解码时,可以通过分别对水平尺寸和垂直尺寸的放大率进行熵解码来获得基准宏块尺寸。

另外,当对在视频编码装置与视频解码装置之间预先安排的表的索引值进行了编码时,可以通过使用经解码的值作为该表的索引值来获得基准宏块尺寸。

另外,可以使用诸如一元码、截断一元码、指数哥伦布码等的各种二进制编码方法来对基准宏块尺寸进行解码。

另外,当宏块尺寸信息对应于与最小子块尺寸和最大划分层有关的信息时,从比特流中熵解码出最小子块尺寸和最大划分层信息,并且接着对宏块尺寸进行解码。

在对作为指示基准最小子块尺寸的信息的default_minBlockSize或者作为指示当前图片的最小子块尺寸的信息的minblockSize进行解码的方法中,可以将经熵解码的值用作最小子块尺寸,并且可以通过使用该经熵解码的值作为放大比率或缩小比率、相对于预定尺寸进行放大或缩小来获得最小子块尺寸。另选地,如在以上第一解码方法中所述,当视频编码装置对通过对最小子块尺寸值应用对数函数而生成的值进行编码时,可以使用指数函数来获得最小子块尺寸值。

另外,当视频编码装置分别对水平尺寸和垂直尺寸的放大率进行解码时,可以通过分别对水平尺寸和垂直尺寸的放大率进行熵解码来获得基准最小子块尺寸。

另外,当对在视频编码装置与视频解码装置之间预先安排的表的索引值进行了编码时,可以通过使用经解码的值作为该表的索引值来获得基准最小子块尺寸。

在这种情况下,可以使用诸如一元码、截断一元码、指数哥伦布码等的各种二进制编码方法来对基准最小子块尺寸进行解码。

可以通过使用诸如二进制算术编码、霍夫曼编码等的无损压缩编码以及诸如一元码、截断一元码、指数哥伦布码等的各种二进制编码方法来对最大划分层信息进行解码。

当重建的最小子块尺寸是N×N并且最大划分层是x时,宏块尺寸是(N×2x)×(N×2x)。

D-2-2-5)宏块尺寸信息解码方法5

在下文中,描述根据对宏块尺寸进行编码的第五方法的解码方法。

根据该第五方法,分别从比特流内的视频编码装置与视频解码装置之间预先安排的位置提取帧内图片和帧间图片的宏块尺寸,并且设置根据图片类型的宏块尺寸。

分别在序列头部或者图片头部中重建指示是否对用于帧内图片的宏块尺寸进行解码和指示是否对用于帧间图片的宏块尺寸进行解码的标记,并且接着根据通过比特流的标记的值来对用于帧内图片或者帧间图片的宏块尺寸进行解码,或者使用预先安排的宏块尺寸来重建图像。

对与帧内图片的宏块尺寸和帧间图片的宏块尺寸有关的信息进行编码的方法可以与根据前述编码方法的前述解码方法相结合地使用。

另外,当与帧内宏块尺寸或者帧间宏块尺寸有关的信息对应于与最小子块尺寸和最大划分层有关的信息时,从比特流中熵解码出最小子块尺寸和最大划分层信息,并且接着对宏块尺寸进行解码。

对与帧内图片的最小子块尺寸或者帧间图片的最小子块尺寸有关的信息进行编码的方法可以与根据前述编码方法的前述解码方法相结合地使用。

可以通过使用诸如二进制算术编码、霍夫曼编码等的无损压缩编码以及诸如一元码、截断一元码、指数哥伦布码等的各种二进制编码方法来对最大划分层信息进行解码。

当重建的最小子块尺寸是N×N并且最大划分层是x时,宏块尺寸是(N×2x)×(N×2x)。

D-2-3)用于示出解码操作的流程图

同时,根据本发明的一个方面的视频解码方法可以包括:在步骤S3810中,从比特流中提取与宏块尺寸有关的信息,并且通过使用所提取的信息来配置宏块尺寸;在步骤S3820中,从比特流中提取经编码的图像数据,并且通过根据由与块尺寸有关的信息所标识的块尺寸对该经编码的图像数据进行解码来生成重建的图像。

对于本领域技术人员易见的是,通过与根据本发明的上述方面的分割宏块以及对宏块划分信息进行编码和解码的各个方面相结合,可以按照各种方式来实现确定宏块尺寸以及对与宏块尺寸有关的信息进行编码和解码的各个方面。

本发明的主要特征总结如下。

采用具有可变尺寸的块(例如,作为编码/解码单元的宏块)

确定具有可变尺寸的块尺寸并且对尺寸信息进行编码

将具有确定尺寸的块分割为子块,并且对划分信息进行编码

同时,作为根据本发明的方面的宏块分割的示例,已经在前述方面中描述了用于预测或者变换的分割。然而,预测或者变换仅是可以应用分割的示例,除了预测或者变换以外,可以出于各种目的来分割宏块。另外,要进行分割的主体不仅可以是宏块还可以是任何图像区域。例如,即使在将对应于预测单元的具有预定尺寸的块分割为子块以用于有效变换时,也可以使用根据本发明的方面的分割。

换言之,本发明提供了当需要将图像块分割为子块以用于任何目的时的各种分割方法以及用于有效地对与分割有关的信息进行编码和解码的方法和装置。

同时,根据本发明的一个方面的视频编码/解码装置可以通过将根据本发明的一个方面的视频解码装置的输入端与根据本发明的一个方面的视频解码装置的输出端连接来实现。

根据本发明的一个方面的视频编码/解码装置包括:视频编码器,该视频编码器通过对被划分为多个子块的当前块进行编码来生成经编码的图像数据,并且通过对当前块的划分信息进行编码来生成经编码的划分信息数据,由此来对图像进行编码;以及视频解码器,该视频解码器通过对从比特流中提取的经编码的划分信息数据进行解码来重建当前块的划分信息,并且通过根据所述当前块的经重建的划分信息对从比特流中提取的经编码的图像数据进行解码来重建被划分为多个子块的当前块,由此来对图像进行解码。

根据本发明的一个方面的视频编码/解码方法包括以下步骤:通过对被划分为多个子块的当前块进行编码来生成经编码的图像数据,并且通过对当前块的划分信息进行编码来生成经编码的划分信息数据,由此来对图像进行编码;以及通过对从比特流中提取的经编码的划分信息数据进行解码来重建当前块的划分信息,并且通过对从比特流中提取的经编码的图像数据进行解码来重建被划分为多个子块的当前块,由此来对图像进行解码。

在上面的描述中,尽管本发明的多个实施方式的全部组件已经被解释为装配为或可操作地连接为一个单元,但是本发明并非旨在将其本身限制于这些实施方式。相反,在本发明的目标范围内,相应组件可以选择性地且可操作地按任何数量组合。每个组件本身还可以按硬件来实现,同时可以将相应组件部分地或者作为整体选择性地组合并且采用具有用于执行硬件等同物的功能的程序模块的计算机程序来实现。本领域技术人员可以容易地推断用于构成这种程序的代码或代码段。该计算机程序可以存储在计算机可读介质中,其在操作时可以实现本发明的方面。作为计算机可读介质,候选物包括磁记录介质、光记录介质,以及载波介质。

另外,例如“包括”以及“具有”的术语应当默认地解释为包含的或者开放的,而非排它的或封闭的,除非另有指明。所有技术的、科学的等术语都与本领域技术人员所理解的含义一致,除非另有说明。在词典中找到的普通术语应当在相关技术内容背景下被解释为不是太理想化或者非实用,除非本发明直接将它们限定为如此。

尽管出于例示性目的已经描述了本发明的示例性方面,但是本领域技术人员应当清楚,在不脱离本发明的基本特征的情况下,可以进行各种修改、添加以及替换。因此,本发明的示例性方面并非出于限制性目的而进行了描述。因此,本发明的范围并非通过上述方面而是通过权利要求书及其等同物来限制。

工业实用性

如上所述,本发明对于在用于通过有效地对块划分信息进行编码和解码来对高分辨率视频进行编码和解码,以及通过使用可变尺寸的宏块来对高分辨率图像进行编码的图像压缩处理的领域中的应用非常有用,本发明产生了改进压缩效率的效果。

相关申请的交叉引用

在适用的情况下,本申请要求在韩国于2009年10月1日提交的专利申请No.10-2009-0093982、于2009年10月1日提交的专利申请No.10-2009-0093987以及于2010年10月1日提交的专利申请No.10-2010-0096032在35 U.S.C§119(a)下的优先权,通过引用将其全部内容并入本文。另外,出于相同的原因,该非临时申请在除美国以外的国家要求基于韩国专利申请的优先权,通过引用将其全部内容并入本文。

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