专利名称:视频编码/解码设备和方法
技术领域:
本发明涉及视频编码/解码设备和方法。更具体地说,本发明涉及一种用于通过将扩展宏块划分为各种大小和形状的子块并根据这些子块的大小和形状利用不同的预测单元和变换单元进行视频编码来提高视频压缩效率的设备和方法。此外,本发明涉及一种用于通过根据从这种视频编码设备接收到的比特流进行视频解码来提高视频重构效率的设备和方法。
背景技术:
当前的视频数据压缩技术包括H. 26UH. 263,H. 264、MPEG_2和MPEG-4。根据现有的视频压缩技术,在将各个图像分割为由亮度分量的矩形16X16像素区域和色度分量的矩形8X8像素区域组成的固定大小宏块之后,对各个图像进行编码。各个宏块的所有亮度分量和色度分量是空间或时间预测的,并且结果预测残留在最终压缩之前经受变换、量化 和熵编码等。根据H. 264/AVC压缩标准的编码设备将各个宏块再次划分为较小大小16x16,8x8和4x4的块,以进入帧内预测编码,其中,按照四个预测模式中的一个来处理16x16像素块,并且按照四个预测模式中的一个来处理8x8像素块和4x4像素块。关于帧间预测编码,各个宏块可以首先划分为像素大小16x16,16x8, 8x16, 8x8, 8x4, 4x8和4x4的块。按照8x8或4x4像素块为单位进行变换,并且变换系数的量化采用标量量化。然而,16x16宏块被认为是针对QCIF和CIF类型的小图像的合适大小,而不是适于诸如4Kx2K视频的高分辨率视频的大小。此外,由于通常的视频压缩技术在进行视频编码时采用固定大小的宏块(尽管H. 264/AVC规定对宏块进行再次划分和编码,但是宏块的大小仍然是固定的),仍然要实现对高分辨率视频的有效编码。此外,视频的编码和解码之间的统一操作使得难以从高分辨率视频编码的已经劣化的压缩效率实现高效率的视频解码。
发明内容
技术问题因此,为了解决上述问题,本发明尝试通过以下处理来提高视频压缩效率和视频重构效率将宏块扩展为各种大小,将扩展宏块划分为各种大小和形状的子块,以及利用根据这些子块的大小的不同的预测单元和变换单元来进行视频编码/解码。采用的技术方案本发明的实施方式提供了一种视频编码/解码设备,该视频编码/解码设备包括视频编码器,其用于通过预测宏块划分成的子块来生成预测子块,通过从所述子块中减去所述预测子块来生成残留子块,通过利用根据所述子块的大小选择的变换对所述残留子块进行变换和量化来生成量化变换系数,通过对所述量化变换系数进行编码来生成编码视频数据,以及在针对运动向量、变换类型、预测模式和所述子块的块类型中的至少一个确定编码模式时选择性地计算和确定编码成本;以及视频解码器,其用于通过对编码数据进行解码来重构分割类型信息、运动信息、变换类型信息和量化变换信息,通过利用有所述变换类型信息识别的变换来对所述量化变换系数进行逆量化和逆变换,通过利用所述运动信息预测根据所述分割类型信息识别的子块来生成预测子块,以及通过将所述预测子块与所述残留子块相加来重构所述子块。本发明的另一实施方式提供了一种视频编码设备,该视频编码设备包括预测器,其用于通过预测宏块划分成的子块来生成预测子块;减法器,其用于通过从所述子块中减去所述预测子块来生成残留子块;变换器/量化器,其用于通过利用根据所述子块的大小选择的变换对所述残留子块进行变换和量化来生成量化变换系数;以及编码器,其用于通过对所述量化变换系数进行编码来生成编码视频数据,其中,所述视频编码设备在针对运动向量、变换类型、预测模式和所述子块的块类型中的至少一个确定编码模式时选择性地计算和确定编码成本。这里,所述编码成本可以根据所述子块的所述大小是否大于预定像素块的大小来不同地选择和计算。 此外,当所述子块的所述大小等于或小于所述预定像素块的所述大小时,所述编码成本可以根据下式来计算。RDcost=SATD (or SAD) + λ · Bit[block type, prediction info, CBP]这里,“RDcost”表示基于比特率失真优化技术的编码成本,“SAD”表示原始视频与预测视频之间的差的绝对值的和,“SATD”表示变换残留块的绝对值的和,“ λ ”表示通过量化参数确定的常数,并且“Bit”表示对编码目标块进行编码所需的比特数。此外,当所述子块的所述大小等于或大于所述预定像素块的所述大小时,所述编码成本可以根据下式来计算。RDcost=Distortion+ λ · Bit[block type,prediction info, CBP,coefficient]这里,“RDcost”表示基于比特率失真优化技术的编码成本,“ λ ”表示通过量化参数确定的常数,并且“Bit”表示对编码目标块进行编码所需的比特数。此外,所述编码成本可以根据预定图片是否被用作基准图片来不同地选择。本发明的另一实施方式提供了一种视频解码设备,该视频解码设备包括解码器,其用于通过对选择性地确定了编码成本的编码数据进行解码来重构分割类型信息、运动信息、变换类型信息和量化变换系数;逆量化器和逆变换器,其用于通过利用由所述变换类型信息识别的变换对所述量化变换系数进行逆量化和逆变换来重构残留子块;预测器,其用于通过利用所述运动信息预测根据所述分割类型信息识别的子块来生成预测块;以及加法器,其用于通过将所述预测子块与所述残留子块相加来重构所述子块。本发明的另一实施方式提供了一种视频编码/解码方法,该视频编码/解码方法包括以下步骤通过预测宏块被划分成的子块来生成预测子块,通过从所述子块中减去所述预测子块来生成残留子块,通过利用根据所述子块的大小选择的变换对所述残留子块进行变换和量化来生成量化变换系数,通过对所述量化变换系数进行编码并且在针对运动向量、变换类型、预测模式和所述子块的块类型中的至少一个确定编码模式时选择性地计算和确定编码成本来生成编码视频数据;以及通过对编码数据进行解码来重构分割类型信息、运动信息、变换类型信息和量化变换系数,通过利用由所述变换类型信息识别的变换对所述量化变换系数进行逆量化和逆变换来重构残留子块,通过利用所述运动信息预测根据所述分割类型信息识别的子块来生成预测块,并且通过将所述预测子块与所述残留子块相加来重构所述子块。本发明的另一实施方式提供了一种视频编码方法,该视频编码方法包括以下步骤通过预测宏块被划分成的子块来生成预测子块;通过从所述子块中减去所述预测子块来生成残留子块;通过利用根据所述子块的大小选择的变换对所述残留子块进行变换和量化来生成量化变换系数;以及通过对所述量化变换系数进行编码来生成编码视频数据,其中,在针对运动向量、变换类型、预测模式和所述子块的块类型中的至少一个确定编码模式时选择性地计算和确定编码成本。这里,所述编码成本可以根据所述子块的所述大小是否大于预定像素块的大小来不同地选择和计算。此外,当所述子块的所述大小等于或小于所述预定像素块的所述大小时,所述编码成本可以根据下式来计算。·RDcost=SATD (or SAD) + λ · Bit[block type, prediction info, CBP]这里,“RDcost”表示基于比特率失真优化技术的编码成本,“SAD”表示原始视频与预测视频之间的差的绝对值的和,“SATD”表示变换残留块的绝对值的和,“ λ ”表示通过量化参数确定的常数,并且“Bit”表示对编码目标块进行编码所需的比特数。此外,当所述子块的所述大小等于或大于所述预定像素块的所述大小时,所述编码成本可以根据下式来计算。RDcost=Distortion+ λ · Bit[block type,prediction info, CBP,coefficient]这里,“RDcost”表示基于比特率失真优化技术的编码成本,“ λ ”表示通过量化参数确定的常数,并且“Bit”表示对编码目标块进行编码所需的比特数。此外,所述编码成本可以根据预定图片是否被用作基准图片来不同地选择。本发明的另一实施方式提供了一种视频解码方法,该视频解码方法包括以下步骤通过对选择性地确定了编码成本的编码数据进行解码来重构分割类型信息、运动信息、变换类型信息和量化变换系数;通过利用由所述变换类型信息识别的变换对所述量化变换系数进行逆量化和逆变换来重构残留子块;通过利用所述运动信息预测根据所述分割类型信息识别的子块来生成预测块;以及通过将所述预测子块与所述残留子块相加来重构所述子块。有益效果根据上述本发明,通过以下处理来提高视频压缩效率和视频重构效率将扩展宏块划分为各种大小和形状的子块,以及根据这些子块的大小利用不同的预测单元和变换单元来进行视频编码/解码。
图I是例示根据本发明的实施方式的视频编码设备的示意性构造的框图;图2是用于描述在根据本发明的实施方式填充(pad)输入图像的情况下进行编码和解码的图,该图是例示输入图像和当前要编码的扩展宏块的位置的图;图3是图2中的当前要编码的扩展宏块的放大图4是例示根据本发明的实施方式将宏块划分为针对帧内预测编码和帧间预测编码的各种大小的子块的处理的示例的图;图5是例示根据本发明的另一实施方式将宏块划分为针对帧内预测编码和帧间预测编码的各种大小的子块的处理的示例的图;图6是用于描述根据本发明的实施方式的帧内图片编码方法和要通过编码后数据发送的相关数据的例示图;图7是例示根据本发明的实施方式的亮度分量的帧内预测模式中的九个预测方向和预测模式编号的例示图;图8是例示根据本发明的实施方式的亮度分量的帧内预测模式中的四个预测方向和预测模式编号的例示图;
图9是例示根据本发明的实施方式的亮度分量的帧内预测模式中的三个预测方向和预测模式编号的例示图;图10是例示根据本发明的实施方式的色度分量的帧内预测模式中的四个预测方向和预测模式编号的例示图;图11是例示根据本发明的实施方式的64x64像素扩展宏块的各种子块类型的例示图;图12是用于描述根据本发明的实施方式的帧间图片编码方法和要通过编码后数据发送的相关数据的例示图;图13是用于描述根据本发明的实施方式确定预测运动向量的处理的例示图;图14是用于描述根据本发明的实施方式确定8x16像素块和16x8像素块的预测运动向量的处理的例示图;图15是例示根据本发明的实施方式的根据子块大小的可用变换类型和变换类型编码单元的例示图;图16是例示根据本发明的实施方式要解块滤波的块的边界的例示图;图17是例示根据本发明的实施方式的帧内图片的句法的例示图;图18是例示根据本发明的实施方式的各个分割类型的编号的例示图;图19是用于描述根据本发明的实施方式将扩展宏块划分为各种大小的子块的情况下的分割类型编号编码序列的图;图20是顺序地例示根据本发明的实施方式逐个分隔层地划分宏块的处理的例示图;图21是用于描述顺序地对宏块的逐层分割类型编号进行编码的处理的例示图;图22是例示根据本发明的实施方式的帧内预测模式的编码序列的例示图;图23是用于描述根据本发明的实施方式对宏块的帧内预测模式进行编码的处理的示例的例示图;图24是用于描述根据本发明的实施方式针对帧内宏块对CBPX_flag和CBP进行编码的处理的例示图;图25是例示根据本发明的实施方式的CBP的结构的例示图;图26是例示根据本发明的实施方式对CBPX标记和CBP进行编码的序列的示例的例示图27是例示根据本发明的实施方式针对帧内宏块对CBPX标记和CBP进行编码的序列的另一不例的例不图;图28是例示根据本发明的实施方式的逐个分割类型量化的变换系数的编码序列的例示图;图29是例示根据本发明的实施方式的编码后数据的句法结构的例示图;图30是用于描述根据本发明的实施方式在P图片(或P片段段)中使用的句法的示例的图;图31是用于描述根据本发明的实施方式在B图片(或B片段段)中使用的句法的 示例的图;图32是用于描述根据本发明的实施方式的SKIPX标记的编码处理的例示图;图33和图34是用于描述根据本发明的实施方式针对帧间宏块对CBPX_flag、变换类型和CBP进行编码的处理的例示图;图35是例示根据本发明的实施方式用于对skipX_flag进行编码/解码的ctx_inc的示例的图;图36是例示根据本发明的实施方式用于对interX_flag进行编码/解码的ctx_inc的示例的图;图37是例示根据本发明的实施方式用于对directX_flag进行编码/解码的ctx_inc的示例的图;图38和图39是用于描述根据本发明的实施方式利用树结构对分割类型信息进行编码的处理的图;图40是例示根据本发明的实施方式对分割类型进行编码的示例的图;图41是例示根据本发明的实施方式对分割类型进行编码的另一示例的图;图42是例示根据本发明的实施方式用于对B_pdir进行编码/解码的ctx_inc的示例的图;图43是例示根据本发明的实施方式用于在两个可用变换类型的情况下对变换类型进行编码/解码的ctX_inc的示例的图;图44是例示根据本发明的实施方式用于在三个可用变换类型的情况下对变换类型进行编码/解码的ctX_inc的示例的图;图45是例示根据本发明的实施方式用于在三个可用变换类型的情况下对变换类型进行编码/解码的ctX_inc的示例的图;图46是例示根据本发明的实施方式的视频解码设备的示意性构造的框图;图47例示根据本发明的实施方式的色度分量的预测模式表;图48是例示根据帧内预测模式的变换类型的示例的图;图49是例示基于根据当前块的帧内预测模式的水平变换类型和垂直变换类型的变换类型的示例的图;图50是用于描述根据本发明的第二实施方式确定预测运动向量的处理的例示图;图51是例示用于对各个块分组的代表性运动向量进行编码的分配码的示例的图52是例示当前块、相邻块和共同位置块的图;图53是例示用于对各个块的运动信息进行编码的分配码的示例的图;图54是例示根据块层的子块形状的示例的图;图55是例示根据本发明的实施方式的帧内图片的宏块、子块和预测子块的句法的例示图;图56是例示根据本发明的实施方式的帧间图片的编码后数据的句法结构的例示图;图57是例示对宏块中的CBP标记和变换信息进行编码的处理的示例的图。
具体实施例方式根据本发明的实施方式的视频编码设备和视频解码设备可以是个人计算机(PC)、 笔记本或膝上型计算机、个人数字助理(PDA)、便携式多媒体播放器(PMP)、便携式游戏机(PSP)或无线通信终端、智能电话等,并且可以表示配备有例如诸如用于在各种装置或有线/无线通信网络之间进行通信的调制解调器的通信装置、用于存储用于对视频和相关数据进行编码或解码的各种程序的存储器以及用于执行这些程序以进行操作和控制的微处理器的各种设备。此外,由视频编码设备编码为比特流的视频可以实时或非实时地发送给用于在经由有线/无线通信网络发送视频之后对该视频进行解码以将其重构和再现为视频的视频解码设备,其中,所述有线/无线通信网络包括互联网、短距离无线通信网络、无线LAN网络、也称为WiMax网络的WiBro (无线宽带)以及移动通信网络或诸如电缆或USB (通用串行总线)的通信接口。图I是例示根据本发明的实施方式的视频编码设备的示意性构造的框图。根据本发明的实施方式的视频编码设备100可以包括预测器110、减法器120、变换器/量化器130、编码器140、逆量化器和逆变换器150、加法器160、滤波器170和图片缓冲器180。预测器110可以包括帧内预测器112和帧间预测器114。帧间预测器114可以包括运动估计器116和运动补偿器118。输入视频可以按照帧或字段为单位输入到视频编码设备100,或者可以在被划分为具有NxN像素(N:大于或等于16的整数)的宏块之后输入到视频编码设备100。如果输入视频是诸如4Kx2K视频的高分辨率视频,则输入视频可以在被划分为具有NxN像素(N:大于16的整数)的扩展宏块之后被编码,从而实现视频压缩效率的提高。这里,具有NxN像素(N:大于16的整数)的宏块将被称作扩展宏块(ΕΜΒ)。例如,扩展宏块可以包括诸如64x64和32x32的大小的正方形像素块。应当注意,下文描述的宏块可以包括扩展宏块和16x16像素块的普通宏块。当利用具有NxN像素(N :大于16的整数)的扩展宏块进行视频压缩时,如果输入视频不是16像素的倍数,则可以在输入视频被填充为16像素的倍数之后进行视频压缩。图2是用于描述在根据本发明的实施方式填充输入图像的情况下进行视频编码和解码的图。图3是图2中的当前要编码的扩展宏块的放大图。如果被填充为16像素的倍数的输入视频和当前要编码的扩展宏块定位为如图2所示,则可以仅利用属于被填充为16像素的倍数的输入视频的像素值对当前的扩展宏块进行编码。即,在图3中,在对当前扩展宏块进行编码时,可能不希望使用当前扩展宏块中的填充区域。此外,编码在比特流中的数据还可以仅使用属于被填充为16像素的倍数的输入视频的像素值。如果输入视频是4:2:0格式的,则宏块包括具有NxN像素的亮度块和具有两个像素的色度块。通过这种扩展宏块对高分辨率视频的压缩效率的提高可以通过以下描述的特定实施方式来实现。如图4所述,根据本发明的实施方式的扩展宏块可以在帧内预测编码或帧间预测编码之前被划分为子块。S卩,如果具有NxN像素(N :大于或等于16的整数)被用于进行高分辨率视频编码,则扩展宏块可以在编码之前被划分为像素块,并且各个像素块可以在编码之前被划分为子块。此外,如图5所示,如果扩展宏块或者像素块的一边的长度大于16像素,则省略划分为具有诸如32x64,64x32, 16x32或32x16的矩形形状的像素块,并且扩展宏块被划分为正方形像素块接着以16x16像素块为单位进行编码。图4和图5例示针对扩展宏块具有4x4的最·小块大小的各个子块。例如,如图4所示,如果扩展宏块是64x64像素块,则64x64像素块、64x32像素块、32x64像素块和32x32像素块的子块可以属于宏块层0,并且32x32像素块、32x16像素块、16x32像素块和16x16像素块的子块可以属于宏块层I。此外,如图5所示,针对大于16x16像素块的子块,可以省略划分为诸如64x32像素块,32x64像素块,32x16像素块或16x32像素块的矩形子块。在该情况下,64x64像素块和32x32像素块的子块属于宏块层0,32x32像素块和16x16像素块的子块属于宏块层I。这里,宏块层K+1的子块仅在宏块层K(0彡K彡Iog2 (Ν/4))的子块当中的最大子块被划分为四个块时才被使用。即,如同图5的情况,宏块层I的子块仅在宏块层O的64x64子块被划分为四个子块时才被使用,并且宏块层2的子块仅在宏块层I的32x32子块被划分为四个16x16子块时才被使用。视频编码设备100在宏块在编码之前被划分为子块的情况下计算各个子块的编码效率,并且将具有最高编码效率的子块确定为最终的帧内预测块或帧间预测块。可以基于如式I所示的率失真优化(RDO)技术来测量编码效率。RDcost = Distortion+λ · Bit 式 I这里,“Distortion”表示编码目标块与重构块之间的误差值,“ λ ”表示由量化参数确定的常数,并且“Bit”表示对编码目标块进行编码所必需的比特数。在该情况下,在针对运动向量、变换类型、预测模式和所述子块的块类型中的至少一个确定编码模式时,可以选择性地计算和确定编码成本。所述编码成本可以根据所述子块的所述大小是否大于预定像素块的大小(例如,16x16像素块)来不同地选择和计算。确定块模式可以包括针对所有类型的可用块确定各个块的最优预测模式(帧内预测模式和运动数据)的处理和确定块类型的另一处理。总体上,SAD (绝对差的和)或SATD(绝对变换差的和)用于减小(选择帧内预测模式或运动向量/基准图片时的)确定预测模式时的计算量,并且“Bit”中不考虑变换系数的比特。这可以总结并表述为式2。RDcost = SATD(or SAD) + λ · Bit[block type,prediction info, CBP] 式 2在式2中,“SAD”表示原始视频与预测视频之间的差值的绝对值的和,“SATD”表示残留块的变换值的绝对值的和。在确定块类型时,“RDcost”可以利用式3来严格计算。
RDcost = Distortion+λ Bit[block type,prediction info,CBP,coeficient]
式3式3中的“Distortion” 可以 表示为 式4。
Distortion = Σ ι Ek=i一 B*(k, 1)|2式 4与式3比较,式2需要较小的计算量,但是在无运动区域或简单区域的情况下得到几乎类似的失真。因此,式2的使用造成难以确定最优模式。另一方面,与式2比较,式3可以计算更准确的编码效率,但是需要较大的计算量。因此,在本发明的实施方式中,式2或式3可以根据数据的优先(是否用作基准图片)或所希望的编码模式来选择性地使用。例如,式3可以用于确定帧内预测模式和确定块的运动向量/基准图片。然而,特殊的是,在确定B图片的16x16或更多像素块的预测方向(L0预测、LI预测和双向预测)和运动向量/ 基准图片的处理中,根据各个预测方向,可以利用式3确定运动向量和基准图片,并且可以利用式2确定预测方向。式3可以用于确定块类型。此外,如果子块的大小大于或等于预设的像素块的大小,则可以根据式3来确定编码成本,并且如果子块的大小小于预设的像素块的大小,则可以根据式2来确定编码成本。例如,假设选择编码成本的标准被设置为16x16像素块。在该情况下,16x16像素块的可用编码模式可以包括使用16xl6SKIP模式、16x16直接模式和LO预测模式(例如,运动信息和残留数据)的16x16块、使用LI预测模式(例如,运动信息和残留数据)的16x16块、使用LO和LI预测模式(例如,运动信息和残留数据)这两者的16x16块以及16x16帧内块。对于16x16或更多像素块可以使用精确的编码成本。此原因在于由于具有16x16或更多像素的大小的块类型主要对应于诸如背景的平坦区域,所以难以通过合适的方程式确定最优模式。因此,如果使用16x16或更多像素块,则可以在确定帧内宏块模式时根据块大小和模式来选择性使用编码成本。此外,在考虑编码成本计算式中所考虑的参数时,用于确定小块之间的模式的参数可以与用于确定大块之间的模式的参数不同。根据作为最大可用层值的最大层值(MaxLayer)来确定最小块大小。例如,在NxN像素宏块的情况下,最小块大小被确定为N/(2Ma!iayM)。下文将参照相关附图来描述视频编码设备100的各个元件。当进行视频编码时,视频编码设备100按照构成视频的图片为单位区分图片类型,并且根据图片类型不同地进行预测编码。例如,如果特定图片是帧内图片,则帧内图片中的宏块按照宏块类型全部是帧内宏块,并且针对各个宏块进行帧内预测编码。此外,如果特定图片是帧间图片,则帧间图片中的宏块按照宏块类型可以是帧间宏块或帧内宏块,并且可以根据宏块类型进行帧内预测编码或帧间预测编码。这种图片类型信息可以不经过编码或者在编码之后插入编码后数据的图片头或序列头中,并且稍后描述的视频解码设备可以从图片头或序列头中提取图片类型信息,以确定要解码的图片的图片类型。下文中,将根据图片类型来描述根据本发明的实施方式的编码方法和通过该编码方法生成的编码数据。图6是用于描述根据本发明的实施方式的帧内图片编码方法和要通过编码后数据发送的相关数据的例示图。预测器110的帧内预测器112利用当前要编码的块(下文称作“当前块”)的相邻像素生成基准块,并且通过将该当前块与基准块相比较来确定帧内预测模式。这里,相邻像素是指与当前块相邻的块中的像素,并包括与当前块相邻的块中并且与当前块相邻的块中所包含的相邻像素。假设扩展宏块针对亮度分量被划分为4x4像素的子块,以执行帧内预测。在该情况下,参照图7 (例示根据亮度分量的帧内预测模式的九个预测方向和预测模式编号),从九个预测方向(根据预测模式O至8的预测方向)当中选择针对各个4x4像素当前块的最合适的预测方向,并且所选择的预测方向被用于对当前块进行帧内预测编码。预测模式2表示要从八个相邻像素计算的平均值,该八个相邻像素包括当前块的左侧块的四个相邻像素和当前块的上侧块的四个相邻像素,以预测当前块的所有4x4像素。在位于图片的左侧边界的块和位于图片的上侧边界的块的情况下,左侧块和上侧块位于图片的外部。在该情况下,由于不能指代偏离图片边界的块,所以预测方向的使用被限制。例如,指代上级块的像素的预测模式0、3、4、5、6和7的预测方向不能用在图片的最上级块中。尤其是,在DC模式的情况下,仅参照没有偏离图片边界的像素来预测当前块。如果与当前块相邻的左侧块和上侧块不可用,则将值128用作DC值。 当前块的所选择的预测方向与当前块的左侧块和上侧块中的具有较小预测模式编号的一个的预测方向进行比较。如果该两个预测方向相同,则对指示从相邻块估计的当前块的预测方向与当前块的所选择的预测方向是否相同的预测模式标记(通过例如I比特来表示)进行编码,以指示所选择的预测方向与所估计的预测方向相同。如果从相邻块估计的当前块的预测方向与当前块的所选择的预测方向不同,则预测模式标记被编码,以指示所选择的预测方向不同于所估计的预测方向。接着,对指示九个预测模式中除与当前块的所估计的预测方向相对应的预测模式以外的剩余八个预测模式中的哪一个是当前块的所选择的预测方向的预测模式信息(通过例如3比特来表示)进行编码。假设扩展宏块针对亮度分量被划分为8x8像素的子块,以执行帧内预测。在该情况下,如同4x4像素为单位的帧内预测,针对亮度分量以8x8像素为单位的帧内预测使用如图7所示的九个预测方向。除了块大小的差异(4x4像素和8x8像素)以外,计算预测像素的方法与以4x4像素为单位的帧内预测编码的情况相同。假设扩展宏块针对亮度分量被划分为16x16像素的子块,以执行帧内预测。在该情况下,在图8所示的四个预测方向当中,选择提供最高编码效率的预测方向。根据所选择的预测方向,根据包括16x16像素的当前块的上侧的16x16像素块中的16个相邻像素和16x16像素的当前块的左侧的16x16像素块中的16个相邻像素的32个相邻像素对16x16像素块进行预测编码。参照图8,在与预测模式3对应的平面预测的情况下,在预测之前按对角方向对当前块的上侧块中的相邻像素和当前块的左侧块中的相邻像素进行插值。在与预测模式2对应的平均值预测的情况下,通过当前块的所有16x16像素来预测当前块的上侧块中的16个相邻像素和当前块的左侧块中的16个相邻像素的平均值。这里,如果当前块位于图片的最上位置,则当前块的左侧块中的16个相邻像素的平均值被用作预测值。如果当前块位于图片中的最左位置,则当前块的上侧块中的16个相邻像素的平均值被用作预测值。如果当前块的左侧块和上侧块不可用,则值128被用作预测值。16x16像素块的预测模式不被预测编码,并且选择的预测模式的编号被简单地编码为预测模式信息(通过例如2比特来表示)。
如果除上述4x4像素块、8x8像素块或16x16像素块以外,扩展宏块被划分为子块以执行帧内预测,则可以通过如图9所示的三个预测方向和预测模式编号来表示亮度分量的帧内预测模式。如果除4x4像素块、8x8像素块或16x16像素块以外,扩展宏块被划分为剩余子块以执行帧内预测,并且如果相关子块的大小是mxn,则根据从图9所示的三个预测方向当中选择的提供最高编码效率的预测方向,从当前块的上侧块中的m个相邻像素和当前块的左侧块中的η个相邻像素对mxn像素块进行帧内预测编码。在与预测模式2对应的平均值预测的情况下,当前块的上侧块中的m个相邻像素和当前块的左侧块中的η个相邻像素的平均值被用来对当前块进行预测编码。这里,如果当前块位于图片中的最上位置,则当前块的左侧块中的η个相邻像素的平均值被用作当前块的预测值。如果当前块位于图片中的最左位置,则当前块的上侧块中的m个相邻像素的平均值被用作当前块的预测值。如果当前块的左侧块和上侧块是不可用的,则值128被用作当前块的预测值。如果当前块的所选择的预测方向与当前块的左侧块和上侧块中的具有较小预测 模式编码的一个的预测方向相同,则将指示从当前块的相邻块估计的当前块的预测方向与当前块的所选择的预测方向是否相同的预测模式标记(通过例如I比特来表示)编码为指示当前块的所选择的预测方向与当前块的所估计的预测方向相同的信息。由于mxn像素块的可用预测模式编号是O至2,所以如果利用当前块的左侧块和上侧块估计的当前块的预测模式编号大于或等于3,则当前块的预测方向可以使用预测模式编号2(DC模式)。例如,从相邻块估计的当前块的预测模式编号是4,当前块的预测模式编号被设置为2,以对指示当前块的所估计的预测方向是否与当前块的所选择的预测方向相同的预测模式标记(通过例如I比特来表示)进行编码。这里,扩展宏块的帧内预测可以按照16x16或更小像素块为单位,即,按照4x4像素块、8x8像素块、16x16像素块或mxn像素块(这里,m Φ η,并且m和η是小于16的数)。可以按照Ν/2χΝ/2像素块为单位执行色度分量的帧内预测。如图10所示,可以使用诸如平均值预测、水平预测、垂直预测和平面预测的四个预测方向。可以按照8x8像素块为单位执行色度分量的帧内预测。图10例示根据本发明的实施方式与色度分量的四个帧内预测模式相对应的预测方向和预测模式编号。参照图10,除了块大小(16x16像素和8x8像素)的差异以外,针对与预测模式3相对应的平面预测的预测值计算方法和与预测模式O相对应的平均值预测与按照16x16像素为单位的亮度分量的帧内预测编码方法的情况相同。可以独立于亮度信号的预测模式来选择色度信号的预测模式。存在两种类型的色度信号,即,U和V,但是预测方法是相同的。色度信号的预测模式是针对U和V各一个。各个色度信号的一个预测模式不是预测编码的,并且选择的预测模式编号简单地利用2比特来表示。再次参照图6,按照上文参照图7和图10所述的相同的方式,帧内预测器112利用通过针对4x4像素的单位按照九个预测方向对当前块进行预测和预测编码来按照RDO和类似方法确定的帧内预测模式、通过针对8x8像素的单位按照九个预测方向对当前块进行预测和预测编码来按照RDO和类似方法确定的帧内预测模式、通过针对16x16像素的单位按照九个预测方向对当前块进行预测和预测编码来按照RDO和类似方法确定的帧内预测模式和通过针对mxn像素的单位按照九个预测方向对当前块进行预测和预测编码来按照RDO和类似方法确定的帧内预测模式当中的由率失真优化确定的一个帧内预测模式,来确定当前块的帧内预测模式。这里使用的率失真优化方程可以表示为式3。当按照这种方法确定帧内预测模式时,还相应地确定了子块的大小。根据如上所述确定的帧内预测模式,帧内预测器112通过预测当前块生成预测块。减法器120通过从当前块中减去预测块来生成残留块。变换器/量化器130通过对残留块进行变换和量化来生成量化变换系数。编码器140通过对所述量化变换系数进行熵编码来生成编码后数据。变换器/量化器130可以对选择了以8x8,8x16或16x8像素为单位的帧内预测的当前块的残留块进行4x4变换,并且对选择了以8x8,8x16或16x8像素为单位的帧内预测的当前块的残留块进行8x8变换。此外,变换器/量化器130可以对选择了以16x16或更多像素为单位的帧内预测的当前块的残留块进行16x16变换。在该情况下,由于帧内预测的单位和子块的大小相同,所以可以根据子块的块大小来确定变换类型。·
这里,进行了 16x16变换的具有16x16像素的残留块(下文称为“16x16像素残留块”)被再次划分为十六个具有4x4像素的残留块(下文称为“4x4像素残留块”),并且可以对4x4像素残留块进行4x4变换。此后,具有4x4变换系数的变换块(下文称作“DC分量块”)仅由通过对各个4x4像素残留块进行4x4变换而生成的各个具有4x4像素的变换块(下文称为“4x4像素变换块”)的十六个DC分量构成,并且再次对DC分量块进行4x4变换。这里,用于对DC分量块进行变换的变换类型可以与用于对残留块进行变换的变换类型不同。即,可以对4x4像素残留块进行4x4离散余弦变换(DCT),并且可以对DC分量块进行4x4哈达玛变换。例如,选择了以16x32像素为单位的帧内预测的当前块的16x32像素残留块被划分为两个16x16像素残留块,并且各个16x16像素残留块以4x4像素为单位进行4x4变换。此后,DC分量块由16x16像素残留块中的各个4x4变换块的DC分量构成,并且对DC分量块再次进行4x4变换。假设作为32x32像素块的扩展宏块位于整个被填充为16像素的倍数的图像和如图2所示填充的区域上,并且扩展宏块是帧内模式。在该情况下,如图3所示,仅针对实际图像区域(16x16像素块)确定编码模式,并且对相关区域的分割类型、帧内预测模式、CBP和变换系数进行编码。图11是例示根据本发明的实施方式的64x64像素扩展宏块的子块的块类型的例示图。假设扩展宏块是64x64像素块,并且在如图11所示的帧内预测之后确定最优块类型。在该情况下,对块O至7进行4x4变换,对块8至12进行8x8变换,对16x16像素块中的块13至18进行4x4变换,并且对由各个16x16像素块中的各个4x4变换块的DC分量构成的DC分量块再次进行变换。在色度信号的情况下,如同以16x16或更多像素为单位的帧内预测的情况,进行4x4变换,接着再次对DC分量块进行4x4变换。然而,色度分量的宏块的残留块被划分为具有8x8像素的残留块(下文称为“8x8像素残留块”),并且对各个8x8像素残留块中的四个4x4像素残留块进行4x4变换。具有2x2变换系数的DC分量块由8x8像素残留块中的四个4x4像素残留块的DC分量构成,并且对DC分量块进行2x2变换。在该情况下,同样地,对8x8像素残留块的4x4变换类型与对DC分量块的2x2变换类型可以不同。
取代针对扩展块确定优化块类型并且接着根据上述变换类型进行变换,可以根据以16x16像素块为单位的帧内预测中使用的子块的大小来选择并使用高效率变换类型。即,变换器/量化器130可以按照16x16像素块为单位进行一个或更多个变换和量化,选择最高效率的变换类型,并且根据所选择的变换类型生成量化变换系数。在该情况下,编码器140可以通过生成用于识别针对各个块选择的变换的类型的变换类型并且对其进行编码来生成变换类型数据。变换类型数据可以被包括在编码数据中。然而,不同的变换不能用在16x16像素块中。更具体地说,如果16x16像素块被划分为8x8像素块,并且如果四个8x8像素块中的一个或更多个被划分为小于8x8像素块的子块,则可以对16x16像素块仅进行4x4变换。在该情况下,不对变换类型进行编码。此外,如果16x16像素块被划分为四个8x8像素块,则可以对16x16像素块进行4x4变换和8x8变换,以选择要求最低编码成本的变换类型,并且可以对指示选择的变换的类型的变换类型(其可以通过例如I比特来表示)进行编码。此夕卜,如果16x16像素块被划分为两个8x16像素子块,则可以对16x16像素子块的残留块进 行4x4变换、8x8变换和8x16变换,以选择要求最低编码成本的变换类型,并且如果16x16像素块被划分为两个16x8像素子块,则可以对16x16像素子块的残留块进行4x4变换、8x8变换和16x8变换,以选择要求最低编码成本的变换类型,并且可以对指示选择的变换的类型的变换类型(其可以通过例如I比特或2比特来表示)进行编码。可以对16x16或更多的像素块的残留块进行4x4变换、8x8变换和16x16变换,以选择要求最低编码成本的变换类型,并且可以对指示选择的变换的类型的变换类型(其可以通过例如I比特或2比特来表示)进行编码。图12是用于描述根据本发明的实施方式的帧间图片编码方法和要通过编码数据发送的相关数据的例示图。在P图片或P片段段的情况下,图4中的所有块类型可以用于运动估计,并且可以按照16x16像素块为单位在扩展宏块中选择帧内模式或帧间模式。即,帧内模式和帧间模式这两者可以用在P图片或P片段段的扩展宏块中。在B图片或B片段的情况下,可以选择多达两个基准图片,其分别称为LO预测和LI预测。两个基准图片执行不同的功能。总体上,LO预测(列表O预测,主要用作前向预测)用作前向预测,LI预测(列表I预测,主要用作反向预测)用作反向预测。稍后将详细描述P图片和B图片的巾贞间图片编码方法。如果扩展宏块是32x32像素块,则可以通过扩展宏块标记(extended mb flag)指示是按照32x32像素块为单位还是按照16x16像素块为单位进行编码。例如,如果扩展宏块标记是1,则可以指示按照32x32像素块为单位进行编码,并且如果扩展宏块标记是0,则可以指示按照16x16像素块为单位进行编码。如果扩展宏块标记是0,则扩展宏块可以被划分为四个16x16像素块,使得可以按照16x16像素块为单位确定帧内模式或帧间模式。此夕卜,各个16x16像素块可以在编码之前被划分为较小的子块。再次参照图1,预测器110的帧间预测器114的运动估计器116检测与作为当前图片中的当前编码目标的当前块最类似的块,即,基准图片中的基准块,并且输出代表基准块相对于当前块的相对位置的运动向量(MV)。该处理被称为运动估计。运动估计通过将宏块中的子块与图片缓冲器180中的一个或更多个基准图片进行比较来生成运动向量。8x8像素块可以使用不同的基准图片,但是8x8像素块中的子块使用相同的基准图片。运动向量通过编码器140进行编码,并被包括在编码后数据中。编码器140使用当前块的相邻块的运动向量的平均值作为预测运动向量(PMV)。编码器140通过仅对作为预测运动向量与当前块的运动向量之间的差向量的差运动向量(DMV)进行编码来生成运动信息。这里,除了差运动向量以外,编码器140还可以对基准图片索引进行编码。S卩,运动信息可以包括差运动向量和基准图片索引。编码器140可以通过对运动信息进行编码来生成运动信息数据,并且将运动信息数据包括在编码数据中。图13是用于描述根据本发明的实施方式确定预测运动向量的处理的例示图。图13A例示在当前块和相邻块全部是64x64像素块时用于确定当前块的运动向量和预测运动向量的相邻块的运动向量。如果当前块和相邻块全部具有相同的大小,则相邻块的运动向量的均值可以如同以上方法一样确定为预测运动向量。图13B例示在当前块和相邻块具有不同大小时用于确定当前块的运动向量和预 测运动向量的相邻块的运动向量。如果当前块和相邻块具有不同大小,则必须选择这些相邻块中的一个,使用它来确定预测运动向量。在本发明的实施方式中,如图13B所示,如果位于当前块的左侧的相邻块被划分为多个块,则它们当中的位于最上位置和最右位置的块A的运动向量mvA被用于估计。如果位于当前块的上侧的相邻块被划分为多个块,则它们当中的位于最下位置和最左位置的块B的运动向量mvB被用于估计。如果位于当前块的右上侧的相邻块被划分为多个块,则它们当中的位于最下位置和最左位置的块C的运动向量mvC被用于估计。然而,作为例外情况,如果块B和块C都位于图片的边界外部,则由于不能利用块B和块C确定预测运动向量,所以仅利用块A确定预测运动向量。此外,如果块A、B和C中的仅一个具有与当前块相同的基准图片编号,则相关块的运动向量被用于确定预测运动向量。图14是用于描述根据本发明的实施方式确定8x16像素块和16x8像素块的预测运动向量的处理的例示图。此外,如果当前块是8x16像素块或16x8像素块,则不使用平均值。即,如果当前块是8x16像素块,则作为左侧相邻块的块A和作为右侧相邻块的块C被用来确定预测运动向量。如果当前块是16x8像素块,则作为上侧相邻块的块B和作为下侧相邻块的块A被用来确定预测运动向量。此外,在本发明的实施方式中,针对作为16x16或更多像素块的扩展宏块使用跳过模式。如果作为16x16或更多像素块的扩展宏块是SKIP宏块,则预测运动向量被用来进行运动估计和补偿。然而,如果用来确定预测运动向量的一个或更多个运动向量是0,则预测运动向量被确定为O。例如,如果相邻块A、B和C的运动向量分别为mvA(0, 10),mvB(l, 10)和mvC(2, 10),则当前块的预测运动向量是(0,10)。假设作为32x32像素块的扩展宏块位于整个被填充为16像素的倍数的图像和如图2所示填充的区域上,并且扩展宏块是跳过模式。在该情况下,如图3所示,实际图像块(16x16像素块)的左侧块和上侧块用于获得预测运动向量,并且预测运动向量用于对实际图像块进行运动预测和补偿。如果作为当前编码目标的扩展宏块的最优编码模式是SKIP模式,则skip32_f lag被编码,并且下一个扩展宏块被编码。再次参照图1,减法器120通过从当前块中减去由在运动估计器116中估计的当前块运动向量指示的基准块来生成残留块。变换器/量化器130对由减法器120生成的残留块进行变换和量化。编码器140通过对量化变换系数进行熵编码来生成编码数据。这里,变换器/量化器130根据当前块的大小进行一个或更多个变换和量化,选择最高效率变换类型,并且根据所选择的变换类型生成量化变换系数。编码器140通过生成用于识别针对各个块选择的变换的类型的变换类型并对其进行编码来生成变换类型数据。变换类型数据可以被包括在编码数据中。然而,不同的变换不能用于16x16像素块。如同帧内预测快中描述的变换方法,如果16x16像素子块被划分为8x8像素子块,并且如果四个8x8像素子块中的一个或更多个被划分为小于8x8像素块的子块,则对16x16像素子块的残留块仅进行4x4变换。在该情况下,不对变换类型进行编码。如果16x16像素子块被划分为四个8x8像素子块,则对16x16像素子块的残留块进行4x4变换和8x8变换,以选择要求低编码成本的变换类型,并且对指示选择的变换的类型的变换类型(其可以通过例如I比特来表示)进行编码。如果16x16像素子块被划分为两个8x16像素子块,则对16x16像素子块的残留 块进行4x4变换、8x8变换和8x16变换,以选择要求最低编码成本的变换类型,并且如果 16x16像素子块被划分为两个16x8像素子块,则对16x16像素子块的残留块进行4x4变换、8x8变换和16x8变换,以选择要求最低编码成本的变换类型,并且对指示选择的变换的类型的变换类型(其可以通过例如I比特或2比特来表示)进行编码。对16x16或更多像素子块进行4x4变换、8x8变换和16x16变换,以选择要求最低编码成本的变换类型,并且对指示选择的变换的类型的变换类型(其可以通过例如I比特或2比特来表示)进行编码。如果如同16x16像素块被划分为四个8x8像素块一样存在两个可选择的变换类型,则可以如表I所示构造用来进行变换类型编码的编码比特。[表 I]
变换类型I编码比特 4x4变换 O 8x8变换 I此外,如果16x16像素块被划分为两个8x16像素块或者两个16x8像素块,或者如果如同16x16或更多像素子块的情况一样存在三个可选择的变换类型,则可以如表2所示构造用来进行变换类型编码的编码比特。[表2]
变换类型j编码比特
4x4变换O
8x8变换10
8x16、16x8 或 16x16 变换~Tl
图15是例示根据本发明的实施方式的根据子块大小的可用变换类型和变换类型编码单元的例示图。图15例示了扩展宏块具有64x64像素并被划分为各种大小的子块的情况。如上所述,由于第一 16x16像素块1510被划分为小于8x8像素块的4x4像素子块,所以可用变换仅为4x4变换,并且不对变换类型进行编码。由于第二 16x16像素块1520被划分为四个8x8像素子块,所以从4x4变换和8x8变换当中选择需要较低编码成本的一个变换,并且指示所选择的变换的类型的变换类型被编码。由于第三16x16像素块1530被划分为两个8x16像素子块,所以从4x4变换、8x8变换和8x16变换当中选择需要最低编码成本的一个变换,并且指示所选择的变换的类型的变换类型被编码。由于第四16x16像素块1540被划分为两个16x8像素子块,所以从4x4变换、8x8变换和16x8变换当中选择需要最低编码成本的一个变换,并且指示所选择的变换的类型的变换类型被编码。由于第五16x32像素块1550、第六16x32像素块1560、第七32x32像素块1570和第八32x32像素块1580全部大于16x16像素块,所以从4x4变换、8x8变换和16x16变换当中选择需要最低编码成本的一个变换,并且指示所选择的变换的类型的变换类型被编码。针对大于16x16像素的块,可以按照16x16像素块为单位选择变换类型。在该情况下,针对包括在32x32像素块或大于16x16 像素块的像素块中并具有非零编码块图案的16x16像素块,对多个变换类型进行编码。再次参照图1,由变换器/量化器130变换/量化的残留块被逆变换器/逆量化器150逆变换/逆量化,以重构残留块。加法器160通过将所重构的残留块与由预测器110预测的预测块相加来重构当前块。滤波器170利用解块滤波器对通过积累由加法器160重构的当前块生成的图片进行滤波。经滤波的图片被存储在图片缓冲器180中,并被用作针对下一图片的基准图片。图16是例示根据本发明的实施方式要解块滤波的块的边界的例示图。图16A至图16E分别例示使用4x4变换、8x8变换、8x16变换、16x8变换和16x16变换的16x16像素块中要进行解块滤波的块的边界。图16A所示的使用4x4变换的16x16像素块在各个4x4像素块的左侧块和上侧块边界处进行解块滤波。图16B所示的使用8x8变换的16x16像素块在各个8x8像素块的左侧块和上侧块边界处进行解块滤波。图16C所示的使用8x16变换的16x16像素块在各个8x16像素块的左侧块和上侧块边界处进行解块滤波。图16D所示的使用16x8变换的16x16像素块在各个16x8像素块的左侧块和上侧块边界处进行解块滤波。图16E所示的使用16x16变换的16x16像素块在16x16像素块的左侧块和上侧块边界处进行解块滤波。图17是例示根据本发明的实施方式的帧内图片的句法的例示图。如果扩展宏块的子块的类型包括如图4所示的矩形类型(例如,32x16像素块和16x32像素块),则视频编码设备100应当将子块类型信息发送到视频解码设备。因此,帧内图片的编码数据可以包括诸如分割类型、帧内预测模式、CBPX标记/CBP (编码块图案X-flag/编码块图案)和变换系数的字段。视频编码设备100的编码器140通过对分割类型信息、帧内预测模式信息、CBPX标记/CBP信息和变换系数信息进行编码并将其分配给各个字段来生成编码后数据。然而,图17所示的针对帧内图片的编码数据的句法仅是示例性的,并且不必构造为如图17所示。即,应当注意的是,针对帧内图片的编码数据的全部或者一部分句法的序列可以与图17所示不同地改变,并且可以省略一部分句法。另一方面,如果扩展宏块被划分为如图5所示的正方形类型的像素块,接着按照16x16像素块为单位进行帧内预测编码,则可以省略CBPX标记的编码,并且可以对量化参数的递增/递减信息(Apq)进行编码。这里,可以按照扩展宏块为单位对量化参数的递增/递减信息进行编码,并且可以按照16x16像素块为单位对CBP信息进行编码。在图17中,分割类型字段被分配有作为扩展宏块的分割类型信息的编码后数据的分割类型数据,其表示宏块的子块的类型。分割类型信息可以利用图18所示的各个分割类型的编号来生成。参照图18,如果宏块层K的N/2KxN/2K像素块没有被再次划分,则分割类型编号O被分配给宏块层K的N/2KxN/2K像素块。如果宏块层K的N/2KxN/2K像素块被划分为两个N/2KxN/2K+1像素块,则分割类型编号I被分配给宏块层K的N/2KxN/2K像素块。如果宏块层K的N/2KxN/2K像素块被划分为两个N/2K+1xN/2K像素块,则分割类型编号2被分配给宏块层K的N/2KxN/2K像素块。如果宏块层K的N/2KxN/2K像素块被划分为四个N/2K+1xN/2K+1像素·块,则分割类型编号3被分配给宏块层K的N/2KxN/2K像素块。标记在宏块层K的N/2KxN/2K像素块中的各个子块上的编号0、1、2和3是用于识别各个子块的分割编号。尽管图18例示了按照编号的升序分配分割类型编号,但是图18中的分割类型编号仅是示例性的,分割类型编号可以按照编号的降序分配。此外,各个分割类型编号可以根据各个分割类型的出现概率来分配,并且分割类型编号可以自适应地改变。此外,各个划分块可以被划分为较小的块。例如,如果32x32像素块按照分割类型编号3被划分为四个16x16像素块,则各个16x16像素块可以利用图18的分割类型编号划分为较小的子块。此夕卜,如果16x16像素子块被划分为较小的块,则可以使用上级像素块的分割类型编号(SP,与32x32像素块的分割类型编号不同的分割类型编号)。如果扩展宏块在编码之前按照16x16像素块为单位被划分,则可以免除对大于16x16像素块的子块(例如,64x32像素块、32x64像素块、16x32像素块或32x16像素块)的分割类型编号的编码。图19是用于描述根据本发明的实施方式将扩展宏块划分为各种大小的子块的情况下的分割类型编号编码序列的图。图19例示了扩展宏块是64x64像素块并且分割层的最大编号是4的情况。根据本发明的实施方式,当扩展宏块被划分为如图19所示时,各个分割层的分割类型编号可以根据分割类型编号编码序列来顺序地编码,以对宏块的分割类型信息进行编码。图20是顺序地例示如图19所示的基于逐个分隔层划分宏块的处理的例示图。参照图20,在宏块层O (LO)中,64x64像素子块被划分为四个32x32像素块。在层I (LI)中,Ll-PO (宏块层I的分割编号O)子块和L1-P3 (宏块层I的分割编号3)子块被再次划分为四个16x16像素子块,Ll-Pl (宏块层I的分割编号I)子块和L1-P2 (宏块层I的分割编号2)子块分别被再次划分为16x32像素子块和32x16像素子块。由于Ll-Pl和L1-P2子块在被划分为两个子块之后没有被再次划分,所以不例示逐层的分割编号。在层2 (L2)中,L2-P0 (宏块层2的分割编号O)子块被再次划分为四个8x8像素子块,L2-P3 (宏块层2的分割编号3)子块被再次划分为两个16x8像素子块。在宏块层3 (L3)中,L3-P0 (宏块层3的分割编号O)子块和L3-P1 (宏块层3的分割编号I)子块分别被再次划分为四个4x4像素子块。这里,如果扩展宏块按照16x16像素块为单位进行编码,则取代被分别划分为16x32像素子块和32x16像素子块,如同L1-P3,Ll-Pl块和L1-P2块按照四个16x16像素块为单位进行编码。图21是用于描述顺序地对宏块的逐层分割类型编号进行编码的处理的例示图。当图19所示的宏块的分割类型信息被编码时,可以如图21所示进行编码。在图19中,正方形“□”中的数字表示各个子块的分割类型编号编码的顺序。当扩展宏块的逐层分割类型编号根据分割类型编号编码序列顺序地编码时,逐层分割类型编号可以根据图21所示的序列顺序地编码。首先,由于宏块层O的64x64像素子块LO-PO被划分为四个32x32像素子块,所以分割类型编号3被编码。由于64x64像素子块中的四个32x32像素子块当中的第一 32x32像素子块Ll-PO也被划分为四个16x16像素子块,所以分割类型编号3被编码。由于层I的第一 32x32像素子块中的四个16x16像素子块当中的第一 16x16像素子块L2-P0也被划分为四个8x8像素子块,所以分割类型编号3被编码。由于相关像素子块L2-P0中的四个8x8像素块L3-P0,L3-P1, L3-P2和L3-P3没有被再次划分为较小的子块,所以分割类型编 号{3,3,O, 0}分别被编码。由于层3的子块不能被划分为较小的子块,所以层3的子块的分割类型编号没有被编码。由于宏块层3中的子块的全部分割类型编号都已经被编码,所以宏块层2的第二16x16像素子块L2-P1和第三16x16像素子块L2-P2的分割类型编号被编码。这里,由于它们没有被再次划分为较小的块,所以分割类型编号O被编码。由于第四16x16像素子块L2-P3被划分为16x8像素子块,但是分割类型编号不是3,所以仅分割类型编号I被编码。由于层2中的四个子块的所有分割类型编号都已经被编码,所以层I的第二 32x32像素子块Ll-Pl的分割类型编号被编码。这里,由于层I的第二 32x32像素子块Ll-Pl已经被划分为16x32像素子块,并且各个划分子块没有再被划分为较小的块,所以分割类型编号2被编码。这样,当对宏块层I的第三32x32像素子块L1-P2进行分割类型编号的编码时,宏块层I的第四32x32像素子块L1-P3和它们的下属的四个16x16像素子块L2-P0,L2-P1, L2-P2和L2-P3 (顺序地,为{1,3,0,0,0,0})被编码。当图19所示的宏块的分割类型信息根据上述编码方法被编码时,分割类型编号{3,3,3,3,3,O, O, O, O, I, 2,I, 3,O, O, O, 0}如图21所示进行编码。这里,可以利用诸如二进制算术编码或哈夫曼编码的无损压缩编码将分割类型编号编码为二进制比特串。例如,如果使用二进制算术编码,则各个分割类型编号可以根据当前要编码的分割类型编号的层编号来使用不同的二进制值。如果层编号小于或等于log2(n/16),则表3可以用于编码,并且如果层编号大于Iog2 (n/16),则表4可以用于编码。例如,参照图3,由于图11的子块Ll-PO的分割类型编号可以通过二进制数字“01”来表示,所以可以通过对二进制数字“O”和“I”进行算术编码来对分割类型编号3进行编码。参照图4,由于属于子块L2-P0的子块L3-P2的分割类型编号可以通过二进制数字“I”来表示,所以可以通过对二进制数字“I”进行算术编码来对分割类型编号3进行编码。[表3]
权利要求
1.一种视频编码/解码设备,该视频编码/解码设备包括 视频编码器,其通过预测宏块被划分成的子块来生成预测子块,通过从所述子块中减去所述预测子块来生成残留子块,通过利用根据所述子块的大小选择的变换对所述残留子块进行变换和量化来生成量化变换系数,通过对所述量化变换系数进行编码来生成编码后视频数据,以及在针对所述子块的运动向量、变换类型、预测模式和块类型中的至少一个确定编码模式时选择性地计算和确定编码成本;以及 视频解码器,其通过对编码后数据进行解码来重构分割类型信息、运动信息、变换类型信息和量化变换系数,通过利用由所述变换类型信息识别的变换对所述量化变换系数进行逆量化和逆变换来重构残留子块,通过利用所述运动信息预测根据所述分割类型信息而识别的子块来生成预测子块,以及通过将所述预测子块与所述残留子块相加来重构所述子块。
2.一种视频编码设备,该视频编码设备包括 预测器,其通过预测宏块被划分成的子块来生成预测子块; 减法器,其通过从所述子块中减去所述预测子块来生成残留子块; 变换器/量化器,其通过利用根据所述子块的大小选择的变换对所述残留子块进行变换和量化来生成量化变换系数;以及 编码器,其通过对所述量化变换系数进行编码来生成编码后视频数据, 其中,所述视频编码设备在针对所述子块的运动向量、变换类型、预测模式和块类型中的至少一个确定编码模式时选择性地计算和确定编码成本。
3.根据权利要求2所述的视频编码设备,其中, 所述编码成本是根据所述子块的大小是否大于预定像素块的大小来不同地选择和计算的。
4.根据权利要求2所述的视频编码设备,其中, 当所述子块的大小等于或小于所述预定像素块的大小时,所述编码成本根据下式来计算RDcost=SATD (or SAD) + λ · Bit[block type, prediction info,CBP] 其中,“RDcost”表示基于比特率失真优化技术的编码成本,“SAD”表示原始视频与预测视频之间的差的绝对值之和,“SATD”表示变换残留块的绝对值之和,“ λ ”表示由量化参数确定的常数,并且“Bit”表示对编码目标块进行编码所需的比特数。
5.根据权利要求2所述的视频编码设备,其中, 当所述子块的大小等于或大于所述预定像素块的大小时,所述编码成本根据下式来计算RDcost=Distortion+λ -BitIiblock type, prediction info, CBP, coefficient] 其中,“RDcost”表示基于比特率失真优化技术的编码成本,“ λ ”表示由量化参数确定的常数,并且“Bit ”表示对编码目标块进行编码所需的比特数。
6.根据权利要求2所述的视频编码设备,其中, 所述编码成本是根据预定图片是否被用作基准图片来不同地选择的。
7.根据权利要求2所述的视频编码设备,其中, 在针对各个子块计算编码效率时,所述视频编码设备根据下式计算所述编码成本并确定所述块类型RDcost=Distortion+λ ^BitIiblock type, prediction info, transform info, CBP,coefficient] 其中,“Distortion”表示编码目标块与重构块之间的误差值,“ λ ”表示由量化参数确定的常数,并且“Bit”表示对所述编码目标块进行编码所必需的比特数。
8.根据权利要求2所述的视频编码设备,其中, 所述视频编码设备利用批模式对当前块的运动信息进行编码,所述批模式包括相邻块的运动信息、共同位置块的运动信息和零向量作为预测运动信息候选组。
9.一种视频解码设备,该视频解码设备包括 解码器,其通过对编码后数据进行解码来重构分割类型信息、运动信息、变换类型信息和量化变换系数; 逆量化器和逆变换器,其通过利用由所述变换类型信息识别的变换对所述量化变换系数进行逆量化和逆变换来重构残留子块; 预测器,其通过利用所述运动信息预测根据所述分割类型信息而识别的子块来生成预测子块;以及 加法器,其通过将所述预测子块与所述残留子块相加来重构所述子块。
10.根据权利要求9所述的视频解码设备,其中, 所述视频解码设备从编码后数据中解码出预测运动信息标记以重构与当前要解码的当前块是否为批模式有关的信息,当所述当前块是所述批模式时重构预测运动信息,并且当所述当前块不是所述批模式时重构运动信息。
11.根据权利要求10所述的视频解码设备,其中, 所述批模式通过包括相邻块的运动信息、共同位置块的运动信息和零向量作为预测运动信息候选组来对所述当前块的运动信息进行编码。
12.一种视频编码/解码方法,该视频编码/解码方法包括以下步骤 通过预测宏块被划分成的子块来生成预测子块,通过从所述子块中减去所述预测子块来生成残留子块,通过利用根据所述子块的大小选择的变换对所述残留子块进行变换和量化来生成量化变换系数,通过对所述量化变换系数进行编码来生成编码后视频数据,并且在针对所述子块的运动向量、变换类型、预测模式和块类型中的至少一个确定编码模式时选择性地计算和确定编码成本;以及 通过对编码后数据进行解码来重构分割类型信息、运动信息、变换类型信息和量化变换系数,通过利用由所述变换类型信息识别的变换对所述量化变换系数进行逆量化和逆变换来重构残留子块,通过利用所述运动信息预测根据所述分割类型信息而识别的子块来生成预测子块,并且通过将所述预测子块与所述残留子块相加来重构所述子块。
13.—种视频编码方法,该视频编码方法包括以下步骤 通过预测宏块被划分成的子块来生成预测子块; 通过从所述子块中减去所述预测子块来生成残留子块; 通过利用根据所述子块的大小选择的变换对所述残留子块进行变换和量化来生成量化变换系数;以及 通过对所述量化变换系数进行编码来生成编码后视频数据,其中,在针对所述子块的运动向量、变换类型、预测模式和块类型中的至少一个确定编码模式时选择性地计算和确定编码成本。
14.根据权利要求13所述的视频编码方法,其中, 根据所述子块的大小是否大于预定像素块的大小来不同地选择和计算所述编码成本。
15.根据权利要求13所述的视频编码方法,其中, 当所述子块的大小等于或小于所述预定像素块的大小时,根据下式来计算所述编码成本RDcost=SATD (or SAD) + λ · Bit[block type, prediction info,CBP] 其中,“RDcost”表示基于比特率失真优化技术的编码成本,“SAD”表示原始视频与预测视频之间的差的绝对值之和,“SATD”表示变换残留块的绝对值之和,“ λ ”表示由量化参数确定的常数,并且“Bit”表示对编码目标块进行编码所需的比特数。
16.根据权利要求13所述的视频编码方法,其中, 当所述子块的大小等于或大于所述预定像素块的大小时,根据下式来计算所述编码成本RDcost=Distortion+λ -BitIiblock type, prediction info, CBP, coefficient] 其中,“RDcost”表示基于比特率失真优化技术的编码成本,“ λ ”表示由量化参数确定的常数,并且“Bit ”表示对编码目标块进行编码所需的比特数。
17.根据权利要求13所述的视频编码方法,其中, 根据预定图片是否被用作基准图片来不同地选择所述编码成本。
18.—种视频解码方法,该视频解码方法包括以下步骤 通过对编码后数据进行解码来重构分割类型信息、运动信息、变换类型信息和量化变换系数; 通过利用由所述变换类型信息识别的变换对所述量化变换系数进行逆量化和逆变换来重构残留子块; 通过利用所述运动信息预测根据所述分割类型信息而识别的子块来生成预测子块;以及 通过将所述预测子块与所述残留子块相加来重构所述子块。
全文摘要
本发明涉及视频编码/解码设备和方法。根据本发明一个实施方式的视频编码/解码设备包括视频编码器,其通过预测宏块被划分成的子块来生成预测子块,通过从所述子块中减去所述预测子块来生成残留子块,通过利用根据所述子块的大小选择的变换方案对所述残留子块进行变换和量化来生成量化变换系数,通过对所述量化变换系数进行编码来生成编码后视频数据,以及在针对所划分的子块的运动向量、变换类型、预测模式和块类型中的至少一个确定编码模式时选择性地计算和确定编码成本;以及视频解码器,其恢复与分割类型、运动和变换类型信息以及量化变换系数有关的信息,通过利用按照由所恢复的变换类型信息识别的变换方案对所述量化变换系数进行逆量化和逆变换来恢复残留子块,通过利用所恢复运动信息预测根据所恢复分割类型信息而识别的子块来生成预测子块,以及通过将所述预测子块与所述残留子块相加来恢复所述子块。
文档编号H04N7/50GK102948149SQ201180029878
公开日2013年2月27日 申请日期2011年4月18日 优先权日2010年4月16日
发明者宋振翰, 林晶娟, 文柱禧, 李英烈, 金海光, 全炳宇, 韩钟基, 朴亨美, 李柱玉 申请人:Sk电信有限公司