用于对视频进行解码的方法.pdf

上传人:大师****2 文档编号:21803 上传时间:2018-01-12 格式:PDF 页数:45 大小:2.93MB
返回 下载 相关 举报
摘要
申请专利号:

CN201510188743.0

申请日:

2012.07.02

公开号:

CN104837026A

公开日:

2015.08.12

当前法律状态:

实审

有效性:

审中

法律详情:

实质审查的生效IPC(主分类):H04N 19/60申请日:20120702|||公开

IPC分类号:

H04N19/60(2014.01)I; H04N19/126(2014.01)I; H04N19/184(2014.01)I; H04N19/44(2014.01)I; H04N19/42(2014.01)I; G06F17/14

主分类号:

H04N19/60

申请人:

三星电子株式会社

发明人:

艾琳娜·阿尔辛娜; 亚历山大·阿尔辛

地址:

韩国京畿道水原市

优先权:

61/503,017 2011.06.30 US

专利代理机构:

北京铭硕知识产权代理有限公司11286

代理人:

苏银虹; 金明顺

PDF下载: PDF下载
内容摘要

提供了一种用于对视频进行解码的方法。一种调整编码的输出数据的范围以在恢复编码的样值期间调整比特深度的视频编码方法,和一种防止在解码处理的操作中输出数据发生溢出的视频解码方法。所述视频解码方法包括:从接收到的比特流中以图像的块为单位来解析并恢复被量化的变换系数;通过对被量化的变换系数执行反量化来恢复第一比特深度或小于第一比特深度的变换系数;通过对被量化的变换系数执行一维(1D)逆变换和逆缩放来恢复第二比特深度或小于第二比特深度的样值。

权利要求书

1.  一种用于对视频进行解码的方法,所述方法包括:
从比特流获得块的变换系数;
通过对所述变换系数执行反量化和第一裁剪来产生被反量化的变换系数;
通过对被反量化的变换系数执行垂直逆变换和第二裁剪来产生样值;
通过对样值执行水平逆变换来产生残差值,
其中,第一裁剪被执行以用于将被反量化的变换系数限制到第一比特深度的范围,
第二裁剪被执行以用于将样值限制到第二比特深度的范围。

2.
  如权利要求1所述的方法,其中,被限制到第一比特深度的范围的被反量化的变换系数具有16比特的比特深度大小。

3.
  如权利要求1所述的方法,其中,被限制到第二比特深度的范围的样值具有16比特的比特深度大小。

说明书

用于对视频进行解码的方法
本申请是向中国知识产权局提交的申请日为2012年07月02日、申请号为201280042084.4、发明名称为“使用用于定点变换的比特深度调整的视频编码方法及其设备,以及视频解码方法及其设备”的申请的分案申请。
技术领域
本发明涉及通过使用定点变换/逆变换编码和解码视频。
背景技术
随着用于再现和存储高分辨率或高质量视频内容的硬件的发展和提供,越来越需要用于有效地编码或解码高分辨率或高质量视频内容的视频编解码器。在传统的视频编解码器中,基于具有预定尺寸的宏块根据受限的编码方法来对视频进行编码。
空域中的图像数据通过变换被变换成频域中的系数。对于快速变换,视频编解码器将图像划分成预定尺寸的块,并对预定尺寸的块中的每个块执行离散余弦变换(DCT)以按预定尺寸的块为单位来编码频率系数。频域中的系数具有可比空域中的图像数据的系数更容易压缩的形式。具体地,可用通过视频编解码器的帧间预测或帧内预测的预测误差来表示空域中的图像的像素值。因此,当对预测误差执行变换时,大量的数据会被转换成“0”。视频编解码器通过用小量数据代替连续和重复产生的数据来减少数据量。
发明内容
技术问题
本发明提供一种调整编码的输出数据的范围以在恢复编码的样值期间调整比特深度的视频编码方法,和一种防止在解码处理的子操作中输出数据溢出的视频解码方法。
解决方案
根据本发明的一方面,提供一种视频解码方法,所述视频解码方法包括:从接收到的流中以图像的块为单位解析并恢复被量化的变换系数;通过对被量化的变换系数执行反量化来恢复第一比特深度或小于第一比特深度的变换系数;通过对被量化的变换系数执行一维(1D)逆变换和逆缩放来恢复第二比特深度或小于第二比特深度的样值。
有益效果
当在视频解码处理期间执行定点变换时防止溢出,从而节省用于执行裁剪(clip)的硬件资源。
附图说明
图1是根据本发明的实施例的视频编码设备的框图。
图2是根据本发明的实施例的视频解码设备的框图。
图3示出根据本发明的实施例的在编码/解码系统中改变比特深度的处理。
图4是示出根据本发明的实施例的视频编码方法的流程图。
图5是示出根据本发明的实施例的视频解码方法的流程图。
图6是根据本发明的另一实施例的基于具有树结构的编码单元的视频编码设备的框图。
图7是根据本发明的另一实施例的基于具有树结构的编码单元的视频解码设备的框图。
图8是根据本发明的实施例的用于描述编码单元的概念的示图。
图9是根据本发明的实施例的基于编码单元的图像编码器的框图。
图10是根据本发明的实施例的基于编码单元的图像解码器的框图。
图11是示出根据本发明的实施例的根据深度的较深层编码单元和分区的示图。
图12是用于描述根据本发明的实施例的编码单元和变换单元之间的关系的示图。
图13是用于描述根据本发明的实施例的与编码深度相应的编码单元的编码信息的示图。
图14是根据本发明的实施例的根据深度的较深层编码单元的示图。
图15至图17是用于描述根据本发明的实施例的编码单元、预测单元和变换单元之间的关系的示图。
图18是用于描述根据表1的编码模式信息的编码单元、预测单元或分区以及变换单元之间的关系的示图。
最佳实施方式
根据本发明的一方面,提供一种视频解码方法,所述方法包括:从接收到的比特流中以图像的块为单位来解析并恢复被量化的变换系数;通过对被量化的变换系数执行反量化来恢复第一比特深度或小于第一比特深度的变换系数;通过对被量化的变换系数执行一维(1D)逆变换和逆缩放来恢复第二比特深度或小于第二比特深度的样值。
其中,恢复变换系数的步骤可包括:在无需对通过执行反量化而获得的变换系数进行裁剪的情况下,在反量化被执行之后产生第一比特深度或小于第一比特深度的变换系数。第一比特深度可等于用于存储通过执行反量化而获得的变换系数的第一存储单元的大小。
恢复样值的步骤可包括:在无需对通过执行1D逆变换和逆缩放而获得的样值进行裁剪的情况下,在1D逆变换和逆缩放被执行之后产生第二比特深度或小于第二比特深度的样值。第二比特深度可等于用于存储通过执行逆变换和逆缩放而获得的样值的第二存储单元的大小。
解析并恢复被量化的变换系数的步骤可包括按以下方式解析并恢复具有调整的最大范围的被量化的变换系数:在反量化被执行之后产生第一比特深度或小于第一比特深度的变换系数,并在逆变换和逆缩放被执行之后产生第二比特深度或小于第二比特深度的样值。
如果通过对在1D反量化被执行之后所获得的数据位移预定比特值来执行逆缩放,则基于用于在1D逆变换被执行之后的逆缩放的移位比特数来确定被量化的变换系数的最大范围。
根据本发明的另一方面,提供一种视频编码方法,所述方法包括:通过以图像的块为单位执行变换和量化来产生被量化的变换系数;按以下方式确定被量化的变换系数的最大范围:通过对被量化的变换系数执行反量化而获得的输出数据和/或通过对变换系数执行1D逆变换和逆缩放而获得的输出数据均具有预定比特深度或小于预定比特深度;调整被量化的变换系数的范围 以落在最大范围内。
确定被量化的变换系数的最大范围的步骤可包括通过使用第一比特深度来确定被量化的变换系数的最大范围,使得在样值的恢复期间,在无需在反量化被执行之后执行裁剪的情况下产生第一比特深度或小于第一比特深度的变换系数。第一比特深度可等于用于存储变换系数的第一存储单元的大小。
确定被量化的变换系数的最大范围的步骤可包括通过使用第二深度来确定被量化的变换系数的最大范围,使得在样值的恢复期间,在无需在1D逆变换和逆缩放被执行之后执行裁剪的情况下产生第二比特深度或小于第二比特深度的样值。第二比特深度等于用于存储样值的第二存储单元的大小。
确定被量化的变换系数的最大范围的步骤可包括通过使用预定比特深度值来确定被量化的变换系数的最大范围,使得在无需裁剪在逆缩放被执行之后所获得的样值的情况下,通过对在1D逆变换被执行之后所获得的数据位移移位比特数来产生第二比特深度或小于第二比特深度的样值。
调整被量化的范围的步骤可包括:对被量化的变换系数的范围进行裁剪以落在最大范围内。
根据本发明的另一方面,提供一种视频解码设备,所述视频解码设备包括:接收单元,用于从接收到的比特流中以图像的块为单位来解析并恢复被量化的变换系数;反量化单元,用于通过对被量化的变换系数执行反量化来恢复第一比特深度或小于第一比特深度的变换系数;逆变换单元,用于通过对被量化的变换系数执行一维(1D)逆变换和逆缩放来恢复第二比特深度或小于第二比特深度的样值;图像恢复单元,用于通过使用以块为单位而恢复的样值来恢复图像。
根据本发明的另一方面,提供一种视频编码设备,所述视频编码设备包括:变换量化单元,用于通过以图像的块为单位执行变换和量化来产生被量化的变换系数;最大范围确定单元,用于按以下方式确定被量化的变换系数的最大范围:通过对被量化的变换系数执行反量化而获得的输出数据和/或通过对变换系数执行1D逆变换和逆缩放而获得的输出数据均具有预定比特深度或小于预定比特深度;输出单元,用于调整被量化的变换系数的范围以落在最大范围内,并将调整的被量化的变换系数输出在比特流中。
根据本发明的另一方面,提供一种用于通过计算机执行所述视频解码方法的计算机可读记录介质。
根据本发明的另一方面,提供一种用于通过计算机执行所述视频编码方法的计算机可读记录介质。
具体实施方式
在下文中,将参照附图更加全面地描述本发明,在所述附图中示出了本发明的示例性实施例。
在下文中,将参照图1至图5来描述根据本发明的实施例的通过调整定点变换和逆变换的比特深度而执行的视频编码方法和视频解码方法。将参照图6至图18描述根据本发明的实施例的通过调整定点变换和逆变换的比特深度基于具有树结构的编码单元而执行的视频编码方法和视频解码方法。在下文中,术语“图像”可表示视频的静止图像或运动画面(即,视频)。
首先,将参照图1至图5来描述通过调整定点变换和逆变换的比特深度而执行的视频编码方法和视频解码方法。
图1是根据本发明的实施例的视频编码设备10的框图。
视频编码设备10包括变换量化单元12、最大范围确定单元14和输出单元16。
根据本发明的实施例,视频编码设备10接收视频图像,将每个视频图像划分成块,并以所述块为单位来编码视频图像。所述块均可具有正方形、矩形或任何其他几何形状。也就是说,所述块不限于预定尺寸的数据单元。根据本发明的实施例,所述块可包括在具有树结构的编码单元中的最大编码单元、编码单元、预测单元和变换单元。以下将参照图6至图8来描述基于具有树结构的编码单元而执行的视频编码/解码。
根据本发明的实施例,视频编码设备10通过对所述块中的每个块执行帧内预测、帧间预测、变换和量化来产生样值,对所述样值执行熵编码,然后将熵编码的结果输出在比特流中。
根据本发明的实施例,变换量化单元12可通过对所述块中的每个块执行变换和量化来产生被量化的变换系数。变换量化单元12可通过接收像素值或经由图像预测编码而获得的在像素值之间的差别信息,并通过以变换单元为单位对所述像素值或所述差别信息进行变换,来产生变换系数。变换量化单元12可通过对变换系数进行量化来产生被量化的变换系数(即,量化系数)。根据本发明的实施例,变换量化单元12以变换单元为单位执行定点变换以产 生变换系数。
为了恢复样值,可执行反量化以从被量化的变换系数中恢复变换系数,并且可将作为执行反量化的结果而被输出的输出数据存储在预定数据大小的存储单元中。
用于存储通过执行反量化而获得的变换系数的第一存储单元的数据大小可等于能够存储第一比特深度的数据的存储单元的数据大小。因此,作为执行反量化的结果而被输出的输出数据可以是第一比特深度或小于第一比特深度的数据。
在下文中,假设可通过比特深度来确定数据的最大绝对值,数据值是最小值和最大值之间的值,并且可通过比特深度来确定数据的动态范围。也可通过数据的比特深度来确定用于存储预定比特深度的存储单元的数据大小。在本公开中,“数据的比特深度”、“最大绝对值”、“数据的动态范围”和“存储单元的数据大小”应该被理解为具有相似含义的术语。
在样值的恢复期间,对变换系数执行逆变换以从通过定点变换而获得的变换系数中恢复原始数据。可将通过与定点变换相应的定点逆变换而获得的输出数据逆缩放到预定比特深度或小于预定比特深度。可将作为在定点逆变换之后执行逆缩放的结果而被输出的输出数据存储在预定数据大小的存储单元中。换句话说,用于存储通过执行逆变换和逆缩放而获得的样值的第二存储单元的数据大小可等于能够存储第二比特深度的数据的存储单元的大小。因此,通过执行逆变换和逆缩放而获得的输出数据可以是第二比特深度或小于第二比特深度的数据。
可连续地执行两次一维(1D)变换以对2D块执行二维(2D)变换。在样值的恢复期间,可连续地执行两次与由变换量化单元12执行的变换相应的1D逆变换以执行2D逆变换。每当1D逆变换被执行时都可执行逆缩放。
根据本公开的实施例,可将通过逆变换而获得的输出数据位移预定比特值,从而对执行逆变换的结果进行逆缩放。因此,对用于逆缩放的输出数据进行位移的结果的比特深度可以是第二比特深度或小于第二比特深度。
如果通过顺序地执行逆变换和逆缩放而获得的输出数据的比特深度被限制为第二比特深度,则作为输入到逆变换中的输入值的变换系数也可基于第二比特深度被限制为小于或等于预定范围的值。
作为输入到反量化的输入值的被量化的变换系数也可被限制为小于或等 于另一范围的值,从而将通过反量化而获得的变换系数限制为小于或等于输入到逆变换中的输入值。
因此,根据本发明的实施例,视频编码设备10可考虑反量化的输出范围和逆变换/逆缩放的输出范围,来调整将输出到比特流中的量化变换系数的动态范围。因此,最大范围确定单元14可确定将从视频编码设备10输出的被量化的变换系数的最大范围。
根据本发明的实施例,最大范围确定单元14可确定被量化的变换系数的最大范围,使得在样值的恢复期间,通过对被量化的变换系数执行反量化而获得的输出数据和/或通过对变换系数执行逆变换和逆缩放而获得的输出数据可小于或等于预定比特深度。
根据本发明的实施例,最大范围确定单元14可确定基于第一比特深度而被量化的变换系数的最大范围,使得在样值的恢复期间,可在无需裁剪通过反量化而获得的变换系数的情况下,产生第一比特深度或小于第一比特深度的变换系数。
根据本发明的实施例,最大范围确定单元14可基于第二比特深度确定被量化的变换系数的最大范围,使得在样值的恢复期间,可在无需裁剪通过执行1D逆变换和逆缩放而获得的样值的情况下,产生第二比特深度或小于第二比特深度的样值。
根据本发明的实施例,当在样值的恢复期间将数据位移预定比特值以便在1D逆变换之后执行逆缩放时,最大范围确定单元14可基于移位的比特数确定被量化的变换系数的最大范围。
根据本发明的实施例,输出单元16可调整被量化的变换系数的范围以落在由最大范围确定单元14确定的最大范围内,并将所述调整的结果输出在比特流中。可将被量化的变换系数裁剪成落在由最大范围确定单元14确定的最大范围内的值。
如上所述,最大范围确定单元14可以以下方式确定被量化的变换系数的最大范围:在样值的恢复期间,可均在执行反量化之后和在执行逆变换之后跳过裁剪。如另一示例,最大范围确定单元14可以以下方式确定被量化的变换系数的最大范围:在样值的恢复期间,可在执行反量化之后跳过裁剪。
根据本发明的实施例,视频编码设备10可包括中央处理器(CPU)(未示出),所述中央处理器控制变换量化单元12、最大范围确定单元14和输出单 元16的全部操作。另外,可通过视频编码设备10中的不同处理器(未示出)来操作变换量化单元12、最大范围确定单元14和输出单元16,并且所述不同处理器可相互操作以操作视频编码设备10的全部操作。另外,可在视频编码设备10的外部处理器(未示出)的控制下操作变换量化单元12、最大范围确定单元14和输出单元16。
根据本发明的实施例,视频编码设备10可包括至少一个数据存储单元(未示出),所述至少一个数据存储单元用于存储输入到变换量化单元12、最大范围确定单元14和输出单元16的数据以及从变换量化单元12、最大范围确定单元14和输出单元16输出的数据。视频编码设备10可包括存储控制器(未示出),所述存储控制器控制数据输入到至少一个存储单元和从至少一个存储单元输出。
根据本发明的实施例,为了输出执行编码的结果,视频编码设备10可执行包括通过与内部视频编码处理器或外部视频编码处理器相关联地被执行的变换的视频编码。根据本发明的实施例,视频编码设备10的内部视频编码处理器可被实现为单独的处理器,或者包括在视频编码设备10、用于执行基本视频编码操作的中央算术装置或图形算术装置中的视频编码处理模块。
图2是根据本发明的实施例的视频解码设备20的框图。
根据本发明的实施例,视频解码设备20包括接收单元22、反量化单元24、逆变换单元26和图像恢复单元28。
根据本发明的实施例,视频解码设备20可接收包含编码的视频数据的比特流。视频解码设备20可从比特流解析编码的视频样值,并通过以图像块执行熵解码、反量化、逆变换、预测和运动估计来产生恢复的像素,从而获得恢复的图像。
根据本发明的实施例,接收单元22以图像块为单位从比特流解析并恢复被量化的变换系数。因此,根据本发明的实施例,接收单元22可从比特流解析并恢复落在预定的最大范围内的被量化的变换系数。根据本发明的实施例,从比特流解析出的被量化的变换系数已在编码处理期间被调整为落在预定的最大范围内并随后被输出在比特流中。
根据本发明的实施例,反量化单元24可通过对被量化的变换系数执行反量化来恢复第一比特深度或小于第一比特深度的变换系数。第一比特深度可等于用于存储通过执行反量化而获得的变换系数的第一存储单元的数据大 小。根据本发明的实施例,反量化单元24可在无需裁剪通过反量化而获得的变换系数的情况下,在执行反量化之后产生第一比特深度或小于第一比特深度的变换系数。
根据本发明的实施例,反变换单元26可通过对变换系数执行至少一次1D逆变换和逆缩放来恢复第二比特深度或小于第二比特深度的样值。例如,对于2D逆变换,可连续地执行两次逆变换和逆缩放。第二比特深度可等于用于存储通过执行逆变换和逆缩放而产生的样值的第二存储单元的数据大小。
根据本发明的实施例,逆变换单元26可在无需裁剪通过执行1D逆变换和逆缩放而获得的样值的情况下,通过执行1D逆变换和逆缩放来产生第二比特深度或小于第二比特深度的样值。
根据本发明的实施例,对于逆缩放,逆变换单元26可将通过执行1D逆变换而获得的数据位移达预定比特值。接收单元22可接收被量化的变换系数,其中,所述被量化的变换系数根据基于移位比特数而确定的最大范围被裁剪。
如上所述,应将具有受限范围的被量化的变换系数输入到反量化单元24,使得反量化单元24可在无需执行裁剪的情况下输出第一比特深度或小于第一比特深度的变换系数。类似地,应将具有受限范围的变换系数输入到逆变换单元26,使得逆变换单元26可在无需执行裁剪的情况下输出第二比特深度或小于第二比特深度的变换系数。
由于由接收单元22接收到的被量化的变换系数具有受限的最大范围,因此在反量化单元24执行反量化之后,可在无需执行裁剪的情况下产生第一比特深度或小于第一比特深度的变换系数,并且,在逆变换单元26执行逆变换和逆缩放之后,可在无需执行裁剪的情况下产生第二比特深度或小于第二比特数深度的样值。
根据本发明的实施例,图像恢复单元28可从以块为单位被恢复的样值中恢复图像。例如,可通过对以块为单位被恢复的样值执行帧内预测或运动补偿来恢复图像。
根据本发明的实施例,可根据接收到的被量化的变换系数的最大范围,在反量化单元24执行反量化之后以及在逆变换单元26执行逆变换之后跳过裁剪。如另一示例,可根据接收到的被量化的变换系数的最大范围,仅在反量化单元24执行反量化之后跳过裁剪。
根据本发明的实施例,视频解码设备20可包括中央处理器(CPU)(未示出),所述中央处理器控制接收单元22、反量化单元24、逆变换单元26和图像恢复单元28的全部操作。另外,可通过在视频解码设备20中的不同处理器(未示出)来操作接收单元22、反量化单元24、逆变换单元26和图像恢复单元28,并且所述不同处理器可相互操作以操作视频编码设备10的全部操作。另外,可在视频解码设备20的外部处理器(未示出)的控制下操作接收单元22、反量化单元24、逆变换单元26和图像恢复单元28。
根据本发明的实施例,视频解码设备20可包括至少一个数据存储单元(未示出),所述至少一个数据存储单元用于存储输入到接收单元22、反量化单元24、逆变换单元26和图像恢复单元28的数据以及从接收单元22、反量化单元24、逆变换单元26和图像恢复单元28输出的数据。视频解码设备20可包括存储控制器(未示出),所述存储控制器控制数据输入到至少一个存储单元和从至少一个存储单元输出。
根据本发明的实施例,为了根据解码处理来恢复视频,视频解码设备20可执行与内部视频解码处理器或外部视频解码处理器相关联地被操作的视频解码。根据本发明的实施例,视频解码设备20的内部视频解码处理器可被实现为单独的处理器,或者包括在视频编码设备10、用于执行基本视频编码操作的中央算术装置或图形算术装置中的视频解码处理模块。
根据本发明的实施例,视频编码设备10已经基于存储单元(例如,临时缓冲器)的大小预先限制了被量化的变换系数的数据范围,所述存储单元用于存储在样值的恢复期间反量化和逆变换被执行之后获得的数据。因此,在对接收到的被量化的变换系数执行反量化和逆变换期间,视频解码设备20可在不需裁剪输出数据的情况下将输出数据存储在固定比特深度的临时缓冲器中。因此,可防止在视频解码处理期间执行定点变换时发生溢出,从而节省用于执行裁剪的硬件资源。
图3示出根据本发明的实施例的在编码/解码系统30中改变比特深度的处理。
参照图3,编码/解码系统30包括用于编码处理的量化单元31,并包括用于解码处理的解析单元33、反量化单元34、第一1D逆变换单元36和第二1D逆变换单元38。
量化单元31可对根据视频编码处理而获得的变换系数进行量化,并输出 包括被量化的变换系数的比特流。可将输出被量化的变换系数的范围限制到预定范围。为此,可将变换系数裁剪成落在所述预定范围内。
解析单元33可从比特流中解析并恢复被量化的变换系数。反量化单元34可通过对被量化的变换系数执行反量化来恢复变换系数。可将变换系数在被从反量化单元34输出之前临时存储在存储单元35中。因此,反量化单元34的输出数据的大小可被限制为小于或等于存储单元35的第一比特深度。
第一1D逆变换单元36可在第一方向上对变换系数执行1D逆变换。第二1D逆变换单元38可在第二方向上对从第一1D逆变换单元36接收到的执行1D逆变换的结果执行1D逆变换。
第一1D逆变换单元36和第二1D逆变换单元38中的每个可执行定点逆变换,并可对执行逆变换的结果执行逆缩放。
第一1D逆变换单元36可将通过在第一方向上执行1D逆变换而获得的数据位移达第一移位值shift1,来对该数据执行逆缩放。第二1D逆变换单元38可将通过在第二方向上执行1D逆变换而获得的数据位移达第二移位值shift2,来对该数据执行逆缩放。
第一1D逆变换单元36可将从其输出的数据临时存储在存储单元37中。因此,第一1D逆变换单元36的输出数据的大小可被限制为小于或等于存储单元37的数据大小。
类似地,第二1D逆变换单元38可将从其输出的数据临时存储在存储单元39中。因此,第二1D逆变换单元38的输出数据的大小可被限制为小于或等于存储单元39的数据大小。
例如,可根据以下等式来限制由反量化单元34反量化的变换系数C的最大绝对值MaxC:
[等式1]
|C|<MaxC=2bq-1,
其中,如果存储单元35的数据大小的比特深度为bq比特长,则变换系数C的最大绝对值MaxC可以是2bq-1,并且变换系数C可落在{-2bq,…,2bq-1}范围内。
与第一1D逆变换单元36和第二1D逆变换单元38的操作类似,可根据以下等式来限制通过执行第k 1D逆变换而被逆变换的数据Ck的最大绝对值Maxk:
[等式2]
|Ck|<Maxk=2bk-1,
其中,如果存储单元37和39为bk比特长,则被逆变换的数据Ck的最大绝对值Maxk可以是2bk-1,并且变换系数C可落在{-2bk,…,2bk-1}范围内。
因此,可根据等式1和等式2来限制反量化单元34、第一1D逆变换单元36和第二1D逆变换单元38中的每个的输出数据的范围,以防止发生溢出。
通常,执行裁剪,使得反量化单元34、第一1D逆变换单元36和第二1D逆变换单元38的输出数据的大小可根据等式1和等式2分别小于或等于存储单元35、存储单元37和存储单元39的数据大小。
然而,根据本发明的实施例,视频编码设备10和视频解码设备20采用调整被量化的变换系数的最大范围的方法,来最小化在视频解码处理期间执行的裁剪操作。
可限制输入到第一1D逆变换单元36或第二1D逆变换单元38的数据的大小,来控制第一1D逆变换单元36或第二1D逆变换单元38的输出数据小于或等于预定的比特深度。为此,可限制反量化单元34的输出数据的大小。此外,输入到反量化单元34的被量化的变换系数的大小可被限制为小于或等于预定的比特深度,以便将反量化单元34的输出数据的大小限制为小于或等于预定的比特深度。因此,可控制从量化单元31输出的被量化的变换系数的最大范围以在无需执行裁剪的情况下限制反量化单元34、第一1D逆变换单元36和第二1D逆变换单元38中的每个的输出数据的范围。
首先,可通过使用以下等式基于变换矩阵来确定限制第一1D逆变换单元36或第二1D逆变换单元38的输出数据的范围所需的输入数据的最大范围:
[等式3]
Y=TR_MATRIX×X,
其中,向量X表示用于逆变换的大小为N的输入数据,向量Y表示大小为N的输出数据,并且“TR_MATRIX”表示大小为N×N的变换矩阵。如果向量X的元素的最大绝对值是max_abs_X并且在变换矩阵TR_MATRIX的第i行上的元素的最大绝对值是max_abs_TR_MATRIX,则可根据以下等式来确定输出数据Yi的最大绝对值和向量Y的元素的最大绝对值max_abs_Y:
[等式4]
Yi=max_abs_TR_MATRIXi*max_abs_X;
max_abs_Y=Max{max_abs_TR_MATRIXi}*max_abs_X,
其中,“Max{max_abs_TR_MATRIXi}”被称为用于第k变换的变换矩阵的L1范数,即,L1_TR_MATRIX_k。第k 1D变换的最后的运算是用于逆缩放的位移。因此,可通过以下等式来确定在第k 1D变换期间比特深度的总增加量:
[等式5]
max_abs_Y=(L1_TR_MATRIX_k*max_abs_X+off_set_k)>>shift_k,
其中,对于第k逆缩放,偏移“off_set_k”是2shift_k-1
如上所述,如果通过执行1D变换而获得的输出数据Y的大小小于或等于bk比特深度,则输出数据Y的范围可表示如下:
[等式6]
-2bk≤Y≤2bk-1;
max_abs_Y≤2bk-1
因此,可从等式5和等式6推导出以下不等式:
[等式7]
((L1_TR_MATRIX_k*max_abs_X+off_set_k)>>shift_k)≤2bk-1;
(L1_TR_MATRIX_k*max_abs_X+off_set_k)≤(2bk+shift_k-2shift_k);
max_abs_X≤(2bk+shift_k-2shift_k-2(shift_k-1))/L1_TR_MATRIX_k
如果用于逆变换的输入数据的范围根据在等式7中表示的最后的不等式被限制,则可防止在通过执行逆变换而获得的输出数据中发生溢出。
因此,如果在等式6和等式7中表示的bk比特深度归纳到Max_k,则用于第k逆变换的输入数据的最大范围可被产生如下:
[等式8]
max_abs_Y≤Max_k;
max_abs_X≤(Max_k*2shift_k-2(shift_k-1))/L1_TR_MATRIX_k
也就是说,可基于存储单元大小Max_k、用于逆缩放的移位值shift_k和变换矩阵的L1范数(L1_TR_MATRIX_k)来确定用于第k逆变换的输入数据的最大范围。
然后,可根据以下等式基于反量化变量来确定限制反量化单元34的输出数据的范围所需的输入数据的范围。根据等式9,可通过反量化将被量化的变换系数qC恢复到变换系数C。
[等式9]
C=(((qC*scale(QP))<<bits(QP))+iAdd)>>iShift;
如果变换系数C的大小被限制为如等式1中所示的最大限制MaxC,则可基于以下等式来确定作为用于反量化的输入数据的被量化的变换系数qC的最大范围:
[等式10]
-MaxC≤(((qC*scale(QP))<<bits(QP))+iAdd)>>iShift≤MaxC;
|qC|≤((MaxC<<iShift)-iAdd)>>bits(QP)/scale(QP);
换句话说,可基于输出数据的最大限制MaxC和反量化变量来确定用于反量化的输入数据的最大范围。
然后,当反量化和逆变换被顺序地执行时,在每个操作中的输出数据的限制和输入数据的最大范围之间的关系如下所示:
[表0]

因此,为了防止在当反量化和第一1D逆变换以及第二1D逆变换中的每个被执行时获得的输出数据中发生溢出,并为了允许裁剪操作被跳过,应当满足等式11和等式12中所示的限制条件。
[等式11]
Max_1≤(Max_2*2shift_2-2(shift_2-1))/L1_TR_MATRIX_2
[等式12]
MaxC≤(Max_1*2shift_1-2(shift_1-1))/L1_TR_MATRIX_1
[等式13]
|qC|≤((MaxC<<iShift)-iAdd)>>bits(QP)/scale(QP)
根据等式12,为了跳过对通过执行第一1D逆变换而获得的输出数据的裁剪,通过执行反量化而获得的输出数据的最大绝对值应小于或等于用于第一1D逆变换的输入数据的最大范围。
根据等式11,为了跳过对通过执行第二1D逆变换而获得的输出数据的 裁剪,通过执行第一1D反量化而获得的输出数据的最大绝对值应小于或等于用于第二1D逆变换的输入数据的最大范围。
根据等式13,为了跳过对通过执行反量化而获得的输出数据的裁剪,从比特流恢复的被量化的变换系数的最大绝对值应小于或等于用于反量化的输入数据的最大范围。
根据本发明的实施例,视频编码设备10和视频解码设备20可跳过在解码处理期间执行反量化和逆变换之后所执行的裁剪操作中的至少一个。
例如,如果被量化的变换系数的最大范围仅满足等式13并且被反量化的数据和被第一逆变换的数据没有分别满足等式11和等式12,则可仅在执行反量化之后跳过裁剪。换句话说,为了在执行反量化之后跳过裁剪,视频编码设备10可根据等式13来限制被量化的变换系数的最大范围,而不考虑等式11和等式12。
如另一示例,如果从视频编码设备10输出到视频解码设备20的被量化的变换系数满足等式13并且被反量化的数据满足等式12,则可在执行反量化之后和在执行第一1D逆变换之后跳过裁剪。
现在将描述当根据本发明的实施例的视频解码设备20将在反量化和1D逆变换被执行之后所获得的输出数据存储在16位缓冲器中时,允许在反量化和1D逆变换被执行之后跳过裁剪的被量化的变换系数的条件。
可将值为-215,…,215-1的样值存储在16位缓冲器中。如果通过执行每个操作(例如,反量化和逆变换)而获得的输出数据的绝对值小于215-1(即,32767),则除了所述16位缓冲器以外,不需要任何存储单元来存储数据,并且不需要在反量化和逆变换被执行之后执行裁剪。因此,在根据本发明的实施例的视频编码设备10和视频解码设备20中,限制用于反量化和逆变换中的每个的输入数据的范围,来将通过执行反量化和逆变换中的每个而获得的输出数据的绝对值限制到215-1。
例如,假设输入数据和输出数据均为p比特数据。通过执行逆变换而获得的输出数据的残差值可落在{-2p+1,…,2p-1}范围中。因此,通过执行第二1D逆变换而获得的输出数据的最大绝对值Max_2可以是2p+1。
通常,视频编解码的样值的比特深度的最大值是“14”并因此使用14比特或小于14比特的样值。符合HEVC标准的视频编解码器的比特深度是8比特或10比特。因此,通过执行第二1D逆变换而获得的输出数据落在16位 缓冲器的数据范围内,并且不需要执行另外的裁剪。
为了将通过执行第一1D逆变换而获得的输出数据存储在16位缓冲器中,作为用于第一1D逆变换的输入数据的被反量化的变换系数的范围应满足等式12。
此外,为了将通过执行反量化而获得的输出数据存储在16位缓冲器中,作为用于反量化的输入数据的被量化的变换系数的范围应满足等式13。
例如,视频编码设备10和视频解码设备20可使用如下的等式14中表示的反量化变量:
[等式14]
iShift=p-9+log2S;
bits(QP)=iQP/6+p-8
其中,“S”表示块尺寸,“QP”和“iQP”分别表示量化参数和反量化参数。
此外,根据QP%6,“scale(QP)”可具有不同的六个值。例如,如果QP%6具有值0、1、2、3、4或5,则scale(QP)可具有值40、45、51、57、64或72。
当使用在等式14中表示的反量化变量时,等式13可变为等式15。
[等式15]
|qC|≤MaxC*2^(log2S-1-iQP/6)/scale(QP)
因此,如果从视频编码设备10输出的被量化的变换系数满足根据等式15的最大范围,并且视频解码设备20通过从比特流恢复满足根据等式15的最大范围的被量化的变换系数来执行反量化,则可在反量化被执行之后跳过裁剪。根据等式15,可通过用于存储经由执行反量化而获得的输出数据的缓冲器大小MaxC、块尺寸S以及量化参数QP和iQP,来确定将从视频编码设备10输出的被量化的变换系数的最大范围。
从等式15和等式12的组合来产生以下的等式16。
[等式16]
|qC|≤(Max_1*2shift_1-2(shift_1-1))*2^(log2S-1-iQP/6)/(L1_TR_MATRIX_1*scale(QP))
因此,如果视频编码设备10输出满足根据等式16的最大范围的被量化的变换系数,并且视频解码设备20通过从比特流恢复满足根据等式16的最大范围的被量化的变换系数来执行反量化和逆变换,则可在反量化被执行之 后和在第一1D逆变换被执行之后跳过裁剪。根据等式16,可通过用于存储经由执行第一1D逆变换而获得的数据的缓冲器大小Max_1、块尺寸S以及量化参数QP和iQP,来确定将从视频编码设备10输出的被量化的变换系数的最大范围。
当根据本发明的实施例的视频编码设备10和视频解码设备20使用第一变换/逆变换表时,被量化的变换系数的最大绝对值MAXqC可被确定为如表A中所示。表A示出当量化参数QP为“0”时以及当量化参数QP为“51”时的被量化的变换系数的最大绝对值MAXqC。
[表A]

如另一示例,当视频编码设备10和视频解码设备20使用第二变换/逆变换表时,被量化的变换系数的最大绝对值MAXqC可被确定为如图B中所示。
[表B]

在表A和表B中,“Inv.Tr”表示用于变换/逆变换的变换矩阵类型。表示每个变换矩阵类型的数字表示正方形变换块的宽度。“L1”表示根据每个变换矩阵类型的变换矩阵的L1范数。“Shift1”表示用于在逆变换被执行之后的逆缩放的移位值。移位值Shift1是固定值。由于通过执行第一1D逆变换而获得的数据的最大绝对值Max1由样值的比特深度来确定,因此通过执行第一1D逆变换而获得的数据的最大绝对值Max1也是固定值。
也就是说,根据表A和表B,变换矩阵的L1范数根据每个变换矩阵而变化。变换矩阵的L1范数的改变可引起每个被反量化的变换系数的最大绝对值的改变。这种结果与等式12中表示的要求相应。因此,如果量化参数QP为 “0”,则每个被量化的变换系数的最大绝对值MAXqC根据每个被反量化的变换系数的最大绝对值MaxC而变化。这种结果与等式15中表示的要求相应。
然而,在一些情况下,例如,当量化参数QP为“51”时,可将被量化的变换系数确定为常数,而不考虑被反量化的变换系数的最大绝对值MaxC。
可通过使变换矩阵的L1范数近似为2的平方来简化等式12和等式16。例如,第一变换/逆变换系统可根据表A使变换矩阵的L1范数近似为2^(log2S+6),并且可根据表B使变换矩阵的L1范数近似为2^(log2S+12)。
例如,如果变换矩阵的L1范数被近似为2^(log2S+6),则等式12和等式16可被简化为如下所示:
[等式17]
|MaxC|≤Max_1*2^(Shift_1-log2S-6);
|qC|≤Max_1*2^(Shift_1-7-iQP/6)/scale(QP);
MaxqC=Max_1*2^(Shift_1-7-iQP/6)/scale(QP)
如上所述,根据被量化的变换系数的最大范围的简化后的要求,可通过用于存储经由执行第一1D逆变换而获得的输出数据的缓冲器大小Max_1以及量化参数QP和iQP,来确定从视频编码设备10输出到视频解码设备20的被量化的变换系数的最大绝对值MaxqC。可根据被量化的变换系数的最大绝对值MaxqC来确定被量化的变换系数的最大范围。
在编码/解码系统30的情况下,可将用于在第一1D逆变换被执行之后的逆缩放的移位值Shift1固定为常量。如果移位值Shift1是变量,则视频编码设备10可编码并发送移位值Shift1,并且视频解码设备20可接收并解码移位值Shift1。
因此,根据本发明的实施例,视频编码设备10可已经基于存储单元(例如,临时缓冲器)的大小预先限制了被量化的变换系数的数据范围,所述存储单元存储在样值的恢复期间反量化和逆变换被执行之后获得的数据。视频解码设备20可接收被限制了最大范围的被量化的变换系数,并且即使在对被量化的变换系数执行反量化和逆变换期间跳过裁剪,视频解码设备20仍可将数据存储在缓冲器中。
图4是示出根据本发明的实施例的视频编码方法的流程图。
在操作41,通过对图像的每个块执行变换和量化来产生被量化的变换系数。
然后,在操作42,可以以下方式来确定被量化的变换系数的最大范围:通过对被量化的变换系数执行反量化而获得的输出数据和/或通过对变换系数执行1D逆变换和逆缩放而获得的输出数据均可具有预定的比特深度或小于预定的比特深度。
在操作43,将被量化的变换系数的范围调整为落在操作42中确定的最大范围内。在此情况下,可将被量化的变换系数裁剪为落在所述最大范围内。
根据本发明的实施例,在样值的产生期间可基于第一比特深度已预先限制了被量化的变换系数的最大范围,使得在样值的恢复期间,可在无需执行裁剪的情况下在反量化被执行之后产生第一比特深度或小于第一比特深度的变换系数。在此情况下,第一比特深度可等于用于存储在样值的恢复期间的变换系数的第一存储单元的数据大小。
根据本发明的实施例,在样值的产生期间可基于第二比特深度已预先限制了被量化的变换系数的最大范围,使得在样值的恢复期间,可在无需执行裁剪的情况下在1D逆变换和逆缩放被执行之后产生第二比特深度或小于第二比特深度的变换系数。在此情况下,第二比特深度可等于用于存储在样值的恢复期间的样值的第二存储单元的数据大小。
如果通过将在1D逆变换被执行之后所产生的数据位移达预定比特值来执行逆缩放,则可基于移位比特数来确定被量化的变换系数的最大范围,使得可在不裁剪在逆变换之后的逆缩放被执行之后所产生的样值的情况下,产生第二比特深度或小于第二比特深度的样值。
图5是示出根据本发明的实施例的视频解码方法的流程图。
在操作51,可通过解析接收到的比特流的块来恢复被量化的变换系数。被量化的变换系数的最大范围已经在编码处理中被预先调整,使得可通过执行反量化来输出第一存储单元的比特深度或小于第一存储单元的比特深度的被反量化的变换系数,并且可通过执行逆变换和逆缩放来输出第二存储单元的比特深度或小于第二存储单元的比特深度的样值。
在操作53,可通过对被量化的变换系数执行反量化来恢复第一比特深度或小于第一比特深度的变换系数。可通过对被量化的变换系数执行反量化,来产生将存储变换系数的第一存储单元的比特深度或小于第一存储单元的比特深度的变换系数,而无需对所述变换系数执行裁剪。
在操作55,可通过对变换系数执行1D逆变换和逆缩放来恢复第二比特 深度或小于第二比特深度的样值。可通过对变换系数执行1D逆变换和逆缩放,来产生将存储样值的第二存储单元的比特深度的样值,而无需对样值执行裁剪。
当在1D逆变换被执行之后所产生的数据被位移预定比特值并然后被逆缩放时,可基于用于在1D逆变换被执行之后的逆缩放的移位值来确定被量化的变换系数的最大范围。
在根据本发明的实施例的视频编码设备10和根据本发明的另一实施例的视频解码设备20中,从视频数据中划分的块可被划分成如上所述的具有树结构的编码单元。现在将参照图6至图18在下面描述根据本发明的实施例的基于具有树结构的编码单元和变换单元的视频编码方法和设备以及视频解码方法和设备。
图6是根据本发明的另一实施例的基于具有树结构的编码单元的视频编码设备100的框图。
根据本发明的实施例,使用基于具有树结构的编码单元的视频预测的视频编码设备100包括最大编码单元划分器110、编码单元确定器120和输出单元130。
最大编码单元划分器110可基于图像的当前画面的最大编码单元来划分当前画面。如果当前画面大于最大编码单元,则当前画面的图像数据可被划分成至少一个最大编码单元。根据本发明的实施例的最大编码单元可以是尺寸为32×32、64×64、128×128、256×256等的数据单元,其中,数据单元的形状是宽度和高度为2的若干次方的正方形。可根据至少一个最大编码单元将图像数据输出到编码单元确定器120。
可用最大尺寸和深度来表征根据本发明的实施例的编码单元。所述深度表示编码单元在空间上从最大编码单元被划分的次数,并且随着深度加深,可从最大编码单元到最小编码单元划分根据深度的较深层编码单元。最大编码单元的深度是最高深度,最小编码单元的深度是最低深度。由于与每个深度相应的编码单元的尺寸随着最大编码单元的深度加深而减小,因此与更高深度相应的编码单元可包括多个与更低深度相应的编码单元。
如上所述,当前画面的图像数据根据编码单元的最大尺寸被划分成最大编码单元,每个最大编码单元可包括根据深度被划分的较深层编码单元。由于根据本发明的实施例的最大编码单元根据深度被划分,因此在最大编码单 元中包括的空间域的图像数据可根据深度被分层地分类。
限制最大编码单元的高度和宽度被分层地划分的总次数的编码单元的最大深度和最大尺寸可被预先确定。
编码单元确定器120对通过根据深度划分最大编码单元的区域而获得的至少一个划分区域进行编码,并根据所述至少一个划分区域来确定用于输出最终编码的图像数据的深度。换句话说,编码单元确定器120通过根据当前画面的最大编码单元以根据深度的较深层编码单元编码图像数据并选择具有最小编码误差的深度来确定编码深度。确定的编码深度和根据所述确定的编码深度的编码图像数据被输出到输出单元130。
基于与等于或低于最大深度的至少一个深度相应的较深层编码单元来编码在最大编码单元中的图像数据,并基于每个较深层编码单元来对编码图像数据的结果进行比较。可在对较深层编码单元的编码误差进行比较之后选择具有最小编码误差的深度。可针对每个最大编码单元选择至少一个编码深度。
最大编码单元的尺寸随着编码单元根据深度被分层地划分并且编码单元的数量增加而被划分。此外,即使在一个最大编码单元中编码单元与相同深度相应,仍可通过测量每个编码单元的图像数据的编码误差分别将与相同深度相应的每个编码单元划分到更低深度。因此,即使当图像数据被包括在一个最大编码单元中时,所述图像数据仍根据深度被划分成区域,在所述一个最大编码单元中编码误差会根据区域而不同,从而在所述图像数据中编码深度可根据区域而不同。因此,可在一个最大编码单元中确定一个或更多个编码深度,并可根据至少一个编码深度的编码单元来划分最大编码单元的图像数据。
因此,编码单元确定器120可确定在最大编码单元中包括的具有树结构的编码单元。根据本发明的实施例的“具有树结构的编码单元”包括在最大编码单元中包括的所有较深层编码单元中的与被确定为编码深度的深度相应的编码单元。可在最大编码单元的相同区域中根据深度来分层地确定编码深度的编码单元,并可在不同区域中独立地确定编码深度的编码单元。类似地,当前区域中的编码深度可独立于另一区域中的编码深度被确定。
根据本发明的实施例的最大深度是与从最大编码单元到最小编码单元的划分次数相关的索引。根据本发明的实施例的第一最大深度可表示从最大编码单元到最小编码单元的划分总次数。根据本发明的实施例的第二最大深度 可表示从最大编码单元到最小编码单元的深度总级数。例如,当最大编码单元的深度是0时,最大编码单元被划分一次的编码单元的深度可设置为1,并且最大编码单元被划分两次的编码单元的深度可设置为2。这里,如果最小编码单元是最大编码单元被划分四次的编码单元,则存在5个深度级0、1、2、3和4,从而第一最大深度可设置为4,第二最大深度可设置为5。
可根据最大编码单元来执行预测编码和变换。还根据最大编码单元,基于根据等于最大深度的深度或小于最大深度的深度的较深层编码单元来执行预测编码和变换。可根据正交变换或整数变换的方法来执行变换。
由于每当最大编码单元根据深度被划分时较深层编码单元的数量都会增加,因此对随着深度加深而产生的所有较深层编码单元执行包括预测编码和变换的编码。为了方便描述,将基于最大编码单元中的当前深度的编码单元来描述预测编码和变换。
视频编码设备100可不同地选择用于编码图像数据的数据单元的尺寸或形状。为了编码图像数据,执行诸如预测编码、变换和熵编码的操作,此时,可针对所有操作都使用相同的数据单元,或者可针对每个操作使用不同的数据单元。
例如,视频编码设备100不仅可选择用于编码图像数据的编码单元,而且可选择与编码单元不同的数据单元,以对编码单元中的图像数据执行预测编码。
为了在最大编码单元中执行预测编码,可基于与编码深度相应的编码单元(即,基于不再被划分成与更低深度相应的编码单元的编码单元)执行预测编码。在下文中,现在将不再被划分并变成用于预测编码的基本单元的编码单元称为“预测单元”。通过划分预测单元而获得的分区可包括通过划分预测单元的高度和宽度中的至少一个而获得的数据单元。分区是通过划分编码单元的预测单元而获得的数据单元,预测单元可以是尺寸等于编码单元的尺寸的分区。
例如,当2N×2N的编码单元(其中,N是正整数)不再被划分并变成2N×2N的预测单元时,分区的尺寸可以是2N×2N、2N×N、N×2N或N×N。分区类型的示例包括通过对称地划分预测单元的高度或宽度而获得的对称分区、通过非对称地划分预测单元的高度或宽度(诸如1:n或n:1)而获得的分区、通过几何划分预测单元而获得的分区以及具有任意形状的分区。
预测单元的预测模式可以是帧内模式、帧间模式和跳过模式中的至少一种。例如,可对2N×2N、2N×N、N×2N或N×N的分区执行帧内模式或帧间模式。此外,可仅对2N×2N的分区执行跳过模式。可对编码单元中的一个预测单元独立地执行编码,从而选择具有最小编码误差的预测模式。
视频编码设备100还可不仅基于用于编码图像数据的编码单元而且基于与所述编码单元不同的数据单元对在编码单元中的图像数据执行变换。为了对编码单元执行变换,可基于尺寸小于或等于编码单元的尺寸的变换单元来执行变换。变换单元的示例可包括用于帧内模式的变换单元以及用于帧间模式的变换单元。
类似于具有树结构的编码单元,可将编码单元中的变换单元递归地划分成更小尺寸的区域,使得变换单元可以以区域为单位被独立地确定。因此,可基于变换深度根据具有树结构的变换单元来划分编码单元中的残差数据。
也可将指示通过划分变换单元的高度和宽度而达到变换单元的划分次数的变换深度设置在变换单元中。例如,在2N×2N的当前编码单元中,当变换单元的尺寸是2N×2N时,变换深度可以是“0”,当变换单元的尺寸是N×N时,变换深度可以是“1”,并且当变换单元的尺寸是N/2×N/2时,变换深度可以是2。换句话说,可根据变换深度来设置具有树结构的变换单元。
根据编码深度的编码信息不仅需要关于编码深度的信息而且需要关于预测的信息和关于变换的信息。因此,编码单元确定器120不仅可确定具有最小编码误差的编码深度,还可确定预测单元中的分区类型、根据预测单元的预测模式以及用于变换的变换单元的尺寸。
下面将参照图7至图18详细描述根据本发明的实施例的确定最大编码单元的具有树结构的编码单元、预测单元/分区以及变换单元的方法。
编码单元确定器120可通过使用基于拉格朗日乘子的率失真优化根据深度来测量较深层编码单元的编码误差。
输出单元130将基于由编码单元确定器120确定的至少一个编码深度而编码的最大编码单元的图像数据、以及关于根据编码深度的编码模式的信息输出在比特流中。
可通过编码图像的残差数据来获得编码的图像数据。
关于根据编码深度的编码模式的信息可包括关于编码深度、关于预测单元中的分区类型、预测模式以及变换单元的尺寸的信息。
可通过使用根据深度的划分信息来定义关于编码深度的信息,所述划分信息指示是否对更低的深度而不是当前深度的编码单元执行编码。如果当前编码单元的当前深度是编码深度,则当前编码单元中的图像数据被编码并输出,从而划分信息可被定义为不将当前编码单元划分到更低深度。可选地,如果当前编码单元的当前深度不是编码深度,则对更低深度的编码单元执行编码,从而划分信息可被定义为划分当前编码单元以获得更低深度的编码单元。
如果当前深度不是编码深度,则对被划分成更低深度的编码单元的编码单元执行编码。由于在当前深度的一个编码单元中存在更低深度的至少一个编码单元,因此对更低深度的每个编码单元重复地执行编码,从而可针对具有相同深度的编码单元递归地执行编码。
由于针对一个最大编码单元确定具有树结构的编码单元,并且针对编码深度的编码单元确定关于至少一种编码模式的信息,因此可针对一个最大编码单元确定关于至少一种编码模式的信息。此外,由于图像数据根据深度被分层地划分,因此最大编码单元的图像数据的编码深度可根据位置而不同,从而可针对图像数据设置关于编码深度和编码模式的信息。
因此,输出单元130可将关于相应编码深度和编码模式的编码信息分配给在最大编码单元中包括的编码单元、预测单元和最小单元中的至少一个。
根据本发明的实施例的最小单元是通过将构成最低深度的最小编码单元划分成4份而获得的矩形数据单元。可选地,最小单元可以是可包括在包括于最大编码单元中的所有的编码单元、预测单元、分区单元和变换单元中的最大的矩形数据单元。
例如,可将通过输出单元130输出的编码信息分类为根据编码单元的编码信息和根据预测单元的编码信息。根据编码单元的编码信息可包括关于预测模式和关于分区的尺寸的信息。根据预测单元的编码信息可包括关于估计的帧间模式的方向的信息、关于帧间模式的参考图像索引的信息、关于运动矢量的信息、关于帧内模式的色度分量的信息以及关于帧内模式的插值方法的信息。
可将关于根据画面、条带或GOP定义的编码单元的最大尺寸的信息以及关于最大深度的信息插入到比特流的头、序列参数集(SPS)或画面参数集中。
此外,也可经由比特流的头、SPS、画面参数集等来输出对当前视频可用 的关于变换单元的最大尺寸和最小尺寸的信息。输出单元130可编码并输出参考信息、预测信息、单向预测信息和关于条带类型的信息,其中,所述条带类型包括与如以上参照图1至图6所描述的预测相关的第四条带类型。
在视频编码设备100中,较深层编码单元可以是通过将更高深度的编码单元的高度或宽度除以2而获得的编码单元。换句话说,当当前深度的编码单元的尺寸是2N×2N时,更低深度的编码单元的尺寸是N×N。此外,尺寸为2N×2N的当前深度的编码单元可包括最多4个更低深度的编码单元。
因此,视频编码设备10可基于考虑当前画面的特性而确定的最大编码单元的尺寸和最大深度,通过针对每个最大编码单元确定具有最佳形状和最佳尺寸的编码单元,来形成具有树结构的编码单元。此外,由于通过使用各种预测模式和变换中的任意一种来对每个最大编码单元执行编码,因此可考虑各种图像尺寸的编码单元的特性来确定最佳编码模式。
因此,如果以传统宏块来编码具有高分辨率或大数据量的图像,则每个画面的宏块数量过度增加。因此,针对每个宏块产生的压缩信息的条数增加,从而难以发送压缩信息,并且数据压缩效率降低。然而,由于在考虑图像的尺寸时增加编码单元的最大尺寸,同时在考虑图像的特性时调整编码单元,因此可通过使用视频编码设备100提高图像压缩效率。
图6的视频编码设备100可执行以上参照图1描述的视频编码设备10的操作。
视频单元确定器120可执行视频编码设备10的变换量化单元12的操作。编码单元确定器120通过以变换块为单位执行变换和量化来产生被量化的变换系数。输出单元130可执行视频编码设备10的最大范围确定单元14和输出单元16的操作。
输出单元130以以下方式确定被量化的变换系数的最大范围:通过对被量化的变换系数执行反量化而获得的输出数据和/或通过对变换系数的1D逆变换和逆缩放而获得的输出数据可具有预定比特深度或小于预定比特深度。输出单元130可将被量化的变换系数裁剪在最大范围内,并将裁剪的结果输出在比特流中。
根据本发明的实施例,在样值的产生期间,被量化的变换系数的最大范围已通过考虑在样值的恢复期间的用于存储变换系数的第一存储单元的大小或变换系数的比特深度而被限制,使得在样值的恢复期间,在无需执行裁剪 的情况下,可通过执行反量化来产生第一比特深度或小于第一比特深度的变换系数。
根据本发明的实施例,已使用在样值的恢复期间的用于存储样值的第二存储单元的大小或定点变换矩阵来限制被量化的变换系数的最大范围,使得在样值的恢复期间,在无需执行裁剪的情况下,可通过执行1D逆变换和逆缩放来产生第二比特深度或小于第二比特深度的样值。
当通过将在1D逆变换被执行之后所获得的数据位移预定比特值来执行逆缩放时,可基于移位的比特数确定被量化的变换系数的最大范围,以在无需对通过对执行逆变换的结果执行逆缩放而获得的样值执行裁剪的情况下,产生第二比特深度或小于第二比特深度的样值。
图7是根据本发明的实施例的基于具有树结构的编码单元的视频解码设备200的框图。
使用基于具有树结构的编码单元的视频预测的视频解码设备200包括接收器210、图像数据和编码信息提取器220和图像数据解码器230。
针对视频解码设备200的各种操作的各种术语(诸如编码单元、深度、预测单元、变换单元以及关于各种编码模式的信息)的定义和以上描述关于图6的视频编码设备100一样。
接收器210接收并解析编码视频的比特流。图像数据和编码信息提取器220针对每个编码单元从解析的比特流提取编码的图像数据,并将提取的图像数据输出到图像数据解码器230,其中,编码单元具有根据每个最大编码单元的树结构。图像数据和编码信息提取器220可从头、SPS或与当前画面或SPS相关的画面参数集提取关于当前画面的编码单元的最大尺寸的信息。
此外,图像数据和编码信息提取器220从解析的比特流提取关于根据每个最大编码单元的针对具有树结构的编码单元的编码深度和编码模式的信息。关于编码深度和编码模式的提取信息被输出到图像数据解码器230。换句话说,将比特流中的图像数据划分成最大编码单元,使得图像数据解码器230针对每个最大编码单元解码图像数据。
可针对关于与编码深度相应的至少一个编码单元的信息设置关于根据最大编码单元的编码深度和编码模式的信息,并且关于编码模式的信息可包括关于与编码深度相应的相应编码单元的分区类型的信息、关于预测模式的信息以及变换单元的尺寸的信息。此外,根据深度的划分信息可被提取为关于 编码深度的信息。
由图像数据和编码信息提取器220提取的关于根据每个最大编码单元的编码深度和编码模式的信息是关于当编码器(诸如视频编码设备100)根据每个最大编码单元针对每个根据深度的较深层编码单元重复执行编码时被确定为产生最小编码误差的编码深度和编码模式的信息。因此,视频解码设备200可通过根据产生最小编码误差的编码深度和编码模式来解码图像数据以恢复图像。
由于关于编码深度和编码模式的编码信息可被分配给在相应编码单元、预测单元和最小单元中的预定数据单元,因此图像数据和编码信息提取器220可根据预定数据单元来提取关于编码深度和编码模式的信息。关于编码深度和编码模式的相同信息被分配的预定数据单元可被推断为在相同的最大编码单元中包括的数据单元。
图像数据解码器230通过基于关于根据最大编码单元的编码深度和编码模式的信息来解码每个最大编码单元中的图像数据以恢复当前画面。换句话说,图像数据解码器230可基于提取的关于针对在每个最大编码单元中包括的具有树结构的编码单元之中的每个编码单元的分区类型、预测模式和变换单元的信息,来解码编码的图像数据。解码处理可包括预测和逆变换,所述预测包括帧内预测和运动补偿。
图像数据解码器230可基于关于根据编码深度的编码单元的预测单元的分区类型和预测模式的信息,根据每个编码单元的分区和预测模式来执行帧内预测或运动补偿。
此外,为了以最大编码单元为单位执行逆变换,图像数据解码器230可基于变换单元,以编码单元为单位读取关于具有树结构的变换单元的信息,并以编码单元为单位执行逆变换。通过执行逆变换,可恢复空间域中的编码单元的像素值。
图像数据解码器230可根据深度通过使用划分信息来确定当前最大编码单元的至少一个编码深度。如果划分信息表示图像数据在当前深度下不再被划分,则当前深度是编码深度。因此,图像数据解码器230可通过使用关于针对与编码深度相应的每个编码单元的预测单元的分区类型、预测模式和变换单元的尺寸的信息,对当前最大编码单元中的与每个编码深度相应的至少一个编码单元的编码数据进行解码,并输出当前最大编码单元的图像数据。
换句话说,通过观察针对在编码单元、预测单元和最小单元之中的预定数据单元而分配的编码信息集来收集包含包括相同划分信息的编码信息的数据单元,收集的数据单元可被认为是将由图像数据解码器230以相同编码模式解码的一个数据单元。可通过获得关于针对如上述所确定的每个编码单元的编码模式的信息来对当前编码单元进行解码。
图7的视频解码设备200可执行图2的视频解码设备20的操作。
接收器210以及图像数据和编码信息提取器220可执行视频解码设备20的接收单元22的操作。图像数据解码器230可执行视频解码设备20的反量化单元24、逆变换单元26和图像恢复单元28的操作。
图像数据和编码信息提取器220可通过解析接收到的比特流的变换块来恢复被量化的变换系数。恢复的被量化的变换系数可以是在编码端执行在预定范围内的裁剪的结果。被量化的变换系数的最大范围可按照这样的方式在编码端已被确定:可在无需在反量化被执行之后执行裁剪的情况下输出第一存储单元的比特深度或小于第一存储单元的比特深度的数据,并且可在无需在逆变换和逆缩放被执行之后执行裁剪的情况下输出第二存储单元的比特深度或小于第二存储单元的比特深度的数据。当在1D逆变换被执行之后获得的数据被位移预定比特值并然后被逆缩放时,可基于用于在1D逆变换被执行之后的逆缩放的移位值来确定被量化的变换系数的最大范围。
因此,图像数据解码器230可通过对被量化的变换系数执行反量化来恢复变换系数,并可在无需裁剪变换系数的情况下产生第一存储单元的比特深度或小于第一存储单元的比特深度的变换系数。
此外,图像数据解码器230可通过对变换系数执行1D逆变换和逆缩放来恢复样值,并可在无需裁剪被恢复的样值的情况下产生具有第二存储单元的比特深度或小于第二存储单元的比特深度的变换系数。
因此,视频解码设备200可获得关于当针对每个最大编码单元递归地执行编码时产生最小编码误差的至少一个编码单元的信息,并可使用所述信息来对当前画面进行解码。换句话说,可对在每个最大编码单元中的被确定为最佳编码单元的具有树结构的编码单元进行解码。
因此,即使图像数据具有高分辨率和大数据量,仍可通过使用从编码器接收到的关于最佳编码模式的信息,经由使用根据图像数据的特性被自适应地确定的编码单元的尺寸和编码模式来有效地解码并恢复图像数据。
图8是用于描述根据本发明的实施例的编码单元的概念的示图。
可以以宽度×高度来表示编码单元的尺寸,并且编码单元的尺寸可以是64×64、32×32、16×16和8×8。64×64的编码单元可划分成64×64、64×32、32×64或32×32的分区,32×32的编码单元可划分成32×32、32×16、16×32或16×16的分区,16×16的编码单元可划分成16×16、16×8、8×16或8×8的分区,并且8×8的编码单元可划分成8×8、8×4、4×8或4×4的分区。
在视频数据310中,分辨率是1920×1080,编码单元的最大尺寸是64,最大深度是2。在视频数据320中,分辨率是1920×1080,编码单元的最大尺寸是64,最大深度是3。在视频数据330中,分辨率是352×288,编码单元的最大尺寸是16,最大深度是1。图8中所示的最大深度表示从最大编码单元到最小编码单元的划分总次数。
如果分辨率高或数据量大,则编码单元的最大尺寸可以是大的,以便不仅增加编码效率还准确地反映图像的特性。因此,具有比视频数据330高的分辨率的视频数据310和320的编码单元的最大尺寸可以是64。
由于视频数据310的最大深度是2,因此视频数据310的编码单元315可包括具有64的长轴尺寸的最大编码单元,以及由于通过划分两次最大编码单元将深度加深至二层而具有32和16的长轴尺寸的编码单元。同时,由于视频数据330的最大深度是1,因此视频数据330的编码单元335可包括具有16的长轴尺寸的最大编码单元,以及由于通过划分一次最大编码单元将深度加深至一层而具有8的长轴尺寸的编码单元。
由于视频数据320的最大深度是3,因此视频数据320的编码单元325可包括具有64的长轴尺寸的最大编码单元,以及由于通过划分三次最大编码单元将深度加深至3而具有32、16和8的长轴尺寸的编码单元。
图9是根据本发明的实施例的基于编码单元的图像编码器400的框图。
图像编码器400执行视频编码设备100的编码单元确定器120的操作。换句话说,帧内预测器410在当前帧405中以帧内模式对编码单元执行帧内预测,运动估计器420和运动补偿器425通过使用当前帧405和参考帧495在当前帧405中以帧间模式对编码单元执行帧间估计和运动补偿。
从帧内预测器410、运动估计器420和运动补偿器425输出的数据通过变换器430和量化器440被输出为被量化的变换系数。被量化的变换系数通 过反量化器460和逆变换器470被恢复为空间域中的数据,并且空间域中的恢复的数据在通过去块单元480和环路滤波单元490被后处理之后被输出为参考帧495。被量化的变换系数可通过熵编码器450被输出为比特流455。
为了使图像编码器400应用在视频编码设备100中,图像编码器400的所有元件(即,帧内预测器410、运动估计器420、运动补偿器425、变换器430、量化器440、熵编码器450、反量化器460、反变换器470、去块单元480和环路滤波单元490)在考虑每个最大编码单元的最大深度时基于在具有树结构的编码单元中的每个编码单元执行操作。
具体地,帧内预测器410、运动估计器420和运动补偿器425在考虑当前最大编码单元的最大尺寸和最大深度时确定在具有树结构的编码单元中的每个编码单元的分区和预测模式,并且变换器430确定在具有树结构的编码单元中的每个编码单元中的变换单元的尺寸。
图像编码器400可通过对当前帧405的变换单元执行变换和量化来确定被量化的变换系数,可将被量化的变换系数裁剪在其最大范围内,然后发送裁剪的结果。可考虑比特深度或存储器尺寸以及用于在样值的恢复期间的逆缩放的位移操作的移位比特数,来确定被量化的变换系数的最大范围,使得在样值的恢复期间,在无需对通过执行反量化而获得的输出数据以及通过执行逆变换和逆缩放而获得的输出数据进行裁剪的情况下,可产生预定的比特深度的数据。
图10是根据本发明的实施例的基于编码单元的图像解码器500的框图。
解析器510从比特流505对将被解码的编码图像数据和对于解码所需的关于编码的信息进行解析。编码的图像数据通过熵解码器520和反量化器530被输出为被反量化的数据,被反量化的数据通过逆变换器540被恢复成空间域中的图像数据。
帧内预测器550针对空间域中的图像数据,以帧内模式对编码单元执行帧内预测,运动补偿器560通过使用参考帧585以帧间模式对编码单元执行运动补偿。
经过帧内预测器550和运动补偿器560的空间域中的图像数据可在通过去块单元570和环路滤波单元580被后处理之后被输出为恢复帧595。此外,通过去块单元570和环路滤波单元580被后处理的图像数据可被输出为参考帧585。
为了在视频解码设备200的图像数据解码器230中解码图像数据,图像解码器500可执行在解析器510之后被执行的操作。
为了使图像解码器500被应用于视频解码设备200,图像解码器500的所有元件(即,解析器510、熵解码器520、反量化器530、逆变换器540、帧内预测器550、运动补偿器560、去块单元570和环路滤波单元580)可针对每个最大编码单元基于具有树结构的编码单元执行操作。
具体地,帧内预测器550和运动补偿器560基于针对每个具有树结构的编码单元的分区和预测模式来执行操作,逆变换器540可基于针对每个编码单元的变换单元的尺寸来执行操作。
图像解码器500可通过对比特流的变换单元执行变换和量化来解析并恢复被量化的变换系数。由于通过对被量化的变换系数执行反量化产生存储单元的比特深度的数据,因此不需要在反量化被执行之后执行裁剪。此外,即使在反量化被执行之后和在逆缩放被执行之后跳过裁剪,仍可恢复最大比特深度或小于最大比特深度的样值。
图11是示出根据本发明的实施例的根据深度的较深层编码单元和分区的示图。
视频编码设备100和视频解码设备200使用分层编码单元以考虑图像的特性。编码单元的最大高度、最大宽度和最大深度可根据图像的特性被自适应地确定,或可被用户不同地设置。可根据编码单元的预定最大尺寸来确定根据深度的较深层编码单元的尺寸。
在编码单元的分层结构600中,根据本发明的实施例,编码单元的最大高度和最大宽度均为64,最大深度是4。在此情况下,最大深度表示从最大编码单元到最小编码单元的划分总次数。由于深度沿着分层结构600的垂直轴加深,因此较深层编码单元的高度和宽度均被划分。此外,沿着分层结构600的水平轴示出了作为对每个较深层编码单元进行预测编码的基础的预测单元和分区。
换句话说,编码单元610是分层结构600中的最大编码单元,其中,深度是0,尺寸(即,高度乘以宽度)是64×64。深度沿着垂直轴加深,存在尺寸为32×32和深度为1的编码单元620、尺寸为16×16和深度为2的编码单元630、尺寸为8×8和深度为3的编码单元640以及尺寸为4×4和深度为4的编码单元650。尺寸为4×4和深度为4的编码单元650是最小编码 单元。
编码单元的预测单元和分区根据每个深度沿着水平轴被排列。换句话说,如果尺寸为64×64和深度为0的编码单元610是预测单元,则可将预测单元划分成包括在编码单元610中的分区,即,尺寸为64×64的分区610、尺寸为64×32的分区612、尺寸为32×64的分区614或尺寸为32×32的分区616。
类似地,可将尺寸为32×32和深度为1的编码单元620的预测单元划分成包括在编码单元620中的分区,即,尺寸为32×32的分区620、尺寸为32×16的分区622、尺寸为16×32的分区624和尺寸为16×16的分区626。
类似地,可将尺寸为16×16和深度为2的编码单元630的预测单元划分成包括在编码单元630中的分区,即,包括在编码单元630中的尺寸为16×16的分区、尺寸为16×8的分区632、尺寸为8×16的分区634和尺寸为8×8的分区636。
类似地,可将尺寸为8×8和深度为3的编码单元640的预测单元划分成包括在编码单元640中的分区,即,包括在编码单元640中的尺寸为8×8的分区、尺寸为8×4的分区642、尺寸为4×8的分区644和尺寸为4×4的分区646。
尺寸为4×4和深度为4的编码单元650是最小编码单元和最低深度的编码单元。编码单元650的预测单元仅被分配给尺寸为4×4的分区。
为了确定构成最大编码单元610的编码单元的至少一个编码深度,视频编码设备100的编码单元确定器120针对包括在最大编码单元610中的与每个深度相应的编码单元执行编码。
包括相同范围和相同尺寸内的数据的根据深度的较深层编码单元的数量随着深度加深而增加。例如,与深度2相应的四个编码单元需要覆盖包括在与深度1相应的一个编码单元中的数据。因此,为了根据深度比较相同数据的编码结果,与深度1相应的编码单元和四个与深度2相应的编码单元均被编码。
为了针对深度中的当前深度执行编码,可沿着分层结构600的水平轴,通过针对与当前深度相应的编码单元中的每个预测单元执行编码来选择针对当前深度的最小编码误差。可选地,可通过随着深度沿分层结构600的垂直轴加深来针对每个深度执行编码,以通过根据深度比较最小编码误差搜索最小编码误差。可将编码单元610中具有最小编码误差的深度和分区选择为编 码单元610的编码深度和分区类型。
图12是根据本发明的实施例的用于描述编码单元710和变换单元720之间的关系的示图。
视频编码设备100或视频解码设备200针对每个最大编码单元根据具有小于或等于最大编码单元的尺寸的编码单元对图像进行编码或解码。可基于不大于相应编码单元的数据单元来选择在编码期间用于变换的变换单元的尺寸。
例如,在设备100或200中,如果编码单元710的尺寸是64×64,则可通过使用尺寸为32×32的变换单元720来执行变换。
此外,可通过对小于64×64的尺寸为32×32、16×16、8×8和4×4的每个变换单元执行变换来编码尺寸为64×64的编码单元710的数据,然后可选择具有最小编码误差的变换单元。
图13是用于描述根据本发明的实施例的与编码深度相应的编码单元的编码信息的示图。
视频编码设备100的输出单元130可将针对与编码深度相应的每个编码单元的关于分区类型的信息800、关于预测模式的信息810以及关于变换单元的尺寸的信息820编码为关于编码模式的信息并进行发送。
信息800指示关于通过划分当前编码单元的预测单元而获得的分区的类型的信息,其中,所述分区是用于对当前编码单元进行预测编码的数据单元。例如,可将尺寸为2N×2N的当前编码单元CU_0划分成以下分区中的任意一个:尺寸为2N×2N的分区802、尺寸为2N×N的分区804、尺寸为N×2N的分区806以及尺寸为N×N的分区808。这里,关于分区类型的信息800被设置来指示尺寸为2N×N的分区804、尺寸为N×2N的分区806以及尺寸为N×N的分区808之一。
信息810指示每个分区的预测模式。例如,信息810可指示对由信息800指示的分区所执行的预测编码的模式,即,帧内模式812、帧间模式814或跳过模式816。
信息820指示当对当前编码单元执行变换时所基于的变换单元的尺寸。例如,变换单元可以是第一帧内变换单元822、第二帧内变换单元824、第一帧间变换单元826或第二帧内变换单元828。
视频解码设备200的图像数据和编码信息提取器220可针对解码提取并 使用信息800、810和820。
图14是根据本发明的实施例的根据深度的较深层编码单元的示图。
划分信息可用来指示深度的改变。划分信息指示当前深度的编码单元是否被划分成更低深度的编码单元。
用于对深度为0和尺寸为2N_0×2N_0的编码单元900进行预测编码的预测单元910可包括尺寸为2N_0×2N_0的分区类型912、尺寸为2N_0×N_0的分区类型914、尺寸为N_0×2N_0的分区类型916和尺寸为N_0×N_0的分区类型918。图14仅示出了通过对称地划分预测单元910而获得的分区类型912至918,但是分区类型不限于此,并且分区单元910的分区可包括非对称分区、具有预定形状的分区和具有几何形状的分区。
根据每种分区类型,对尺寸为2N_0×2N_0的一个分区、尺寸为2N_0×N_0的两个分区、尺寸为N_0×2N_0的两个分区和尺寸为N_0×N_0的四个分区重复地执行预测编码。可对尺寸为2N_0×2N_0、N_0×2N_0、2N_0×N_0和N_0×N_0的分区执行在帧内模式和帧间模式下的预测编码。可仅对尺寸为2N_0×2N_0的分区执行在跳过模式下的预测编码。
如果在分区类型912至916中的一个分区类型中编码误差最小,则可不将预测单元910划分成更低深度。
如果在分区类型918中编码误差最小,则深度从0改变到1以在操作920中划分分区类型918,并对深度为2和尺寸为N_0×N_0的编码单元930重复地执行编码来搜索最小编码误差。
用于对深度为1和尺寸为2N_1×2N_1(=N_0×N_0)的编码单元930执行预测编码的预测单元940可包括以下分区类型的分区:尺寸为2N_1×2N_1的分区类型942、尺寸为2N_1×N_1的分区类型944、尺寸为N_1×2N_1的分区类型946以及尺寸为N_1×N_1的分区类型948。
如果在分区类型948中编码误差最小,则深度从1改变到2以在操作950中划分分区类型948,并对深度为2和尺寸为N_2×N_2的编码单元960重复执行编码来搜索最小编码误差。
当最大深度是d时,根据深度的编码单元可被执行直到深度变成d-1,并且划分信息可被编码直到深度是0至d-2中的一个。换句话说,当编码被执行直到在与d-2的深度相应的编码单元在操作970中被划分之后深度是d-1时,用于对深度为d-1和尺寸为2N_(d-1)×2N_(d-1)的编码单元980进行预 测编码的预测单元990可包括以下分区类型的分区:尺寸为2N_(d-1)×2N(d-1)的分区类型992、尺寸为2N_(d-1)×N(d-1)的分区类型994、尺寸为N_(d-1)×2N(d-1)的分区类型996和尺寸为N_(d-1)×N(d-1)的分区类型998。
可对分区类型992至998中的尺寸为2N_(d-1)×2N_(d-1)的一个分区、尺寸为2N_(d-1)×N_(d-1)的两个分区、尺寸为N_(d-1)×2N_(d-1)的两个分区、尺寸为N_(d-1)×N_(d-1)的四个分区重复地执行预测编码以搜索具有最小编码误差的分区类型。
即使当分区类型998具有最小编码误差时,由于最大深度是d,因此深度为d-1的的编码单元CU_(d-1)也不再被划分到更低深度,对于构成当前最大编码单元900的编码单元的编码深度被确定为d-1,并且编码单元900的分区类型可被确定为N_(d-1)×N(d-1)。此外,由于最大深度是d并且具有最低深度d-1的最小编码单元980不再被划分到更低深度,因此不设置针对编码单元980的划分信息。
数据单元999可以是用于当前最大编码单元的“最小单元”。根据本发明的实施例的最小单元可以是通过将最小编码单元划分成4份而获得的矩形数据单元。通过重复地执行编码,视频编码设备100可通过根据编码单元900的深度比较编码误差来选择具有最小编码误差的深度以确定编码深度,并将相应分区类型和预测模式设置为编码深度的编码模式。
因此,在所有深度1至d中比较根据深度的最小编码误差,可将具有最小编码误差的深度确定为编码深度。编码深度、预测单元的分区类型和预测模式可被编码为关于编码模式的信息并被发送。此外,由于编码单元被从深度0划分到编码深度,因此仅将编码深度的划分信息设置成0,将排除编码深度之外的深度的划分信息设置到1。
视频解码设备200的图像数据和编码信息提取器220可提取并使用关于编码单元900的编码深度和预测单元的信息以解码分区912。视频解码设备200可通过使用根据深度的划分信息将划分信息是0的深度确定为编码深度,并将关于相应深度的编码模式的信息用于解码。
图15、图16和图17是用于描述根据本发明的实施例的编码单元1010、预测单元1060和变换单元1070之间的关系的示图。
编码单元1010是在最大编码单元中与由视频编码设备100确定的编码深 度相应的具有树结构的编码单元。预测单元1060是编码单元1010中的每个的预测单元的分区,变换单元1070是编码单元1010中的每个的变换单元。
当在编码单元1010中最大编码单元的深度是0时,编码单元1012和1054的深度是1,编码单元1014、1016、1018、1028、1050和1052的深度是2,编码单元1020、1022、1024、1026、1030、1032和1048的深度是3,编码单元1040、1042、1044和1046的深度是4。
在预测单元1060中,一些编码单元1014、1016、1022、1032、1048、1050、1052和1054被划分成用于预测编码的分区。换句话说,在编码单元1014、1022、1050和1054中的分区类型具有2N×N的尺寸,在编码单元1016、1048和1052中的分区类型具有N×2N的尺寸,编码单元1032的分区类型具有N×N的尺寸。编码单元1010的预测单元和分区小于或等于每个编码单元。
在小于编码单元1052的数据单元中对变换单元1070中的编码单元1052的图像数据执行变换或逆变换。此外,变换单元1070中的编码单元1014、1016、1022、1032、1048、1050和1052在尺寸和形状方面不同于预测单元1060中的编码单元1014、1016、1022、1032、1048、1050和1052。换句话说,设备100和200可对相同编码单元中的数据单元单独地执行帧内预测、运动估计、运动补偿、变换和逆变换。
因此,在最大编码单元的每个区域中对具有分层结构的编码单元中的每个编码单元递归地执行编码以确定最佳编码单元,从而可获得具有递归树结构的编码单元。编码信息可包括关于编码单元的划分信息、关于分区类型的信息、关于预测模式的信息和关于变换单元的尺寸的信息。表1示出可由设备100和200设置的编码信息。
[表1]


视频编码设备100的输出单元130可输出关于具有树结构的编码单元的编码信息,视频解码设备200的图像数据和编码信息提取器220可从接收到的比特流提取关于具有树结构的编码单元的编码信息。
划分信息指示是否将当前编码单元划分成更低深度的编码单元。如果当前深度的划分信息是0,则当前编码单元不再被划分成更低深度的深度是编码深度,从而可针对所述编码深度来定义关于分区类型、预测模式和变换单元的尺寸的信息。如果当前编码单元根据划分信息被进一步划分,则对更低深度的四个划分编码单元独立地执行编码。
预测模式可以是帧内模式、帧间模式和跳过模式中的一种。帧内模式和帧间模式可定义在所有分区类型中,跳过模式仅被定义在尺寸为2N×2N的分区类型中。
关于分区类型的信息可指示通过对称地划分预测单元的高度或宽度而获得的尺寸为2N×2N、2N×N、N×2N和N×N的对称分区类型,以及通过非对称地划分预测单元的高度或宽度而获得的尺寸为2N×nU、2N×nD、nL×2N和nR×2N的非对称分区类型。可通过将预测单元的高度划分成1:3和3:1来分别获得尺寸为2N×nU和2N×nD的非对称分区类型,可通过将预测单元的宽度划分成1:3和3:1来分别获得尺寸为nL×2N和nR×2N的非对称分区类型。
可将变换单元的尺寸设置成帧内模式下的两种类型和帧间模式下的两种类型。换句话说,如果变换单元的划分信息是0,则变换单元的尺寸可以是作为当前编码单元的尺寸的2N×2N。如果变换单元的划分信息是1,则可通过划分当前编码单元来获得变换单元。此外,如果尺寸为2N×2N的当前编码单元的分区类型是对称分区类型,则变换单元的尺寸可以是N×N,如果当前编码单元的分区类型是非对称分区类型,则变换单元的尺寸可以是N/2×N/2。
关于具有树结构的编码单元的编码信息可包括与编码深度相应的编码单元、预测单元和最小单元中的至少一种。与编码深度相应的编码单元可包括 包含相同编码信息的预测单元和最小单元中的至少一种。
因此,通过比较邻近数据单元的编码信息来确定邻近数据单元是否包括在与编码深度相应的相同编码单元中。此外,通过使用数据单元的编码信息来确定与编码深度相应的相应编码单元,从而可确定最大编码单元中的编码深度的分布。
因此,如果当前编码单元基于邻近数据单元的编码信息被预测,则可直接参考并使用在与当前编码单元邻近的较深层编码单元中的数据单元的编码信息。
可选地,如果当前编码单元基于邻近数据单元的编码信息被预测,则可使用所述数据单元的编码信息来搜索与当前编码单元邻近的数据单元,搜索的邻近编码单元可被参考用于预测当前编码单元。
图18是用于描述根据表1的编码模式信息的编码单元、预测单元或分区和变换单元之间的关系的示图。最大编码单元1300包括编码深度的编码单元1302、1304、1306、1312、1314、1316和1318。这里,由于编码单元1318是编码深度的编码单元,因此划分信息可以被设置成0。可将关于尺寸为2N×2N的编码单元1318的分区类型的信息设置成以下分区类型中的一种:尺寸为2N×2N的分区类型1322、尺寸为2N×N的分区类型1324、尺寸为N×2N的分区类型1326、尺寸为N×N的分区类型1328、尺寸为2N×nU的分区类型1332、尺寸为2N×nD的分区类型1334、尺寸为nL×2N的分区类型1336以及尺寸为nR×2N的分区类型1338。
变换单元划分信息(即,Tu尺寸标志)是变换索引的类型。与变换索引相应的变换单元的尺寸可根据编码单元的预测单元类型或分区类型而不同。
例如,当分区类型被设置成对称(即,分区类型1322、1324、1326或1328)时,当TU尺寸标志是“0”时设置尺寸为2N×2N的变换单元1342,并且当TU尺寸标志是“1”时设置尺寸为N×N的变换单元1344。
当分区类型被设置成非对称(即,分区类型1332、1334、1336或1338)时,如果TU尺寸标志是0则设置尺寸为2N×2N的变换单元1352,并且如果TU尺寸标志是1则设置尺寸为N/2×N/2的变换单元1354。
参照图18,TU尺寸标志是具有0或1的标志,但是不限于1比特标志,并且当TU尺寸标志增加到0、1、2、3…时可分层地划分变换单元。可将TU尺寸标志用作变换索引的实施例。
在这种情况下,根据本发明的实施例,可通过使用变换单元的TU尺寸标志以及变换单元的最大尺寸和最小尺寸来表示被实际使用的变换单元的尺寸。根据本发明的实施例,视频编码设备100可编码最大变换单元尺寸信息、最小变换单元尺寸信息和最大TU尺寸标志。可将编码最大变换单元尺寸信息、最小变换单元尺寸信息和最大TU尺寸标志的结果插入到SPS中。根据本发明的实施例,视频解码设备200可通过使用最大变换单元尺寸信息、最小变换单元尺寸信息和最大TU尺寸标志来解码视频。
例如,如果当前编码单元的尺寸是64×64并且最大变换单元尺寸是32×32,则当TU尺寸标志是0时变换单元的尺寸可以是32×32,当TU标志尺寸是1时变换单元的尺寸可以是16×16,并且当TU尺寸标志是2时变换单元的尺寸可以是8×8。
如另一示例,如果当前编码单元的尺寸是32×32并且最小变换单元尺寸是32×32,则当TU尺寸标志是0时变换单元的尺寸是32×32。这里,由于变换单元的尺寸不能小于32×32,因此TU尺寸标志不能被设置成除0之外的值。
如另一示例,如果当前编码单元的尺寸是64×64并且最大TU尺寸标志是1,则TU尺寸标志可以是0或1。这里,TU尺寸标志不能被设置成除0或1以外的值。
因此,如果尺寸标志是0时定义最大TU尺寸标志为“MaxTransformSizeIndex”、最小变换单元尺寸为“MinTransformSize”并且变换单元尺寸为“RootTuSize”,则可在当前编码单元中确定的当前最小变换单元尺寸“CurrMinTuSize”可通过等式(1)来定义:
CurrMinTuSize=max(MinTransformSize,RootTuSize/(2^MaxTransformSizeIndex))  (1)
与可在当前编码单元中确定的当前最小变换单元尺寸“CurrMinTuSize”相比,当TU尺寸标志是0时的变换单元尺寸“RootTuSize”可表示可在系统中选择的最大变换单元尺寸。在等式(1)中,“RootTuSize/(2^MaxTransformSizeIndex)”表示当在TU尺寸标志是0时的变换单元尺寸“RootTuSize”被划分与最大TU尺寸标志相应的次数时的变换单元尺寸,“MinTransformSize”表示最小变换尺寸。因此,在“RootTuSize/(2^MaxTransformSizeIndex)”和“MinTransformSize”中的较小值可以是可在当前编码单元中确定的当前最小变换单元尺寸 “CurrMinTuSize”。
根据本发明的实施例,最大变换单元尺寸“RootTuSize”可根据预测模式的类型而不同。
例如,如果当前预测模式是帧间模式,则“RootTuSize”可通过使用以下等式(2)来确定。在等式(2)中,“MaxTransformSize”表示最大变换单元尺寸,“PUSize”表示当前预测单元尺寸。
RootTuSize=min(MaxTransformSize,PUSize)  (2)
也就是说,如果当前预测模式是帧间模式,则当TU尺寸标志是0时的变换单元尺寸“RootTuSize”可以是最大变换单元尺寸和当前预测单元尺寸中的较小值。
如果当前分区单元的预测模式是帧内模式,则“RootTuSize”可通过使用以下等式(3)来确定。在等式(3)中,“PartitionSize”表示当前分区单元的尺寸。
RootTuSize=min(MaxTransformSize,PartitionSize)  (3)
也就是说,如果当前预测模式是帧内模式,则当TU尺寸标志是0时的变换单元尺寸“RootTuSize”可以是最大变换单元尺寸和当前分区单元的尺寸中的较小值。
然而,根据分区单元中的预测模式的类型而变化的当前最大变换单元尺寸“RootTuSize”仅是示例,本发明不限于此。
根据基于以上参照图6至图18所描述的具有树结构的编码单元执行的视频编码方法,针对具有树结构的每个编码单元编码空间域中的图像数据。根据基于具有树结构的编码单元执行的视频解码方法,通过对最大编码单元进行解码来恢复空间域中的图像数据以恢复画面和作为画面序列的视频。可使用再现设备来再现恢复的视频,可将恢复的视频存储在记录介质中,或可经由网络对恢复的视频进行发送。
此外,可以以画面、条带、最大编码单元、具有树结构的编码单元、编码单元的预测单元或编码单元的变换单元为单位来以信号发送补偿参数。例如,可通过使用基于接收到的最大编码单元的补偿参数被恢复的补偿值来调整恢复的最大编码单元的像素值,以恢复针对原始块具有最小误差的最大编码单元。
本发明的实施例可被编写为计算机程序,并可在使用计算机可读记录介 质执行程序的通用数字计算机中被实现。计算机可读记录介质的示例包括磁存储单元介质(例如,ROM、软盘、硬盘等)和光记录介质(例如,CD-ROM或DVD)。
虽然已经参照本发明的优选实施例具体地示出并描述了本发明,但是本领域的普通技术人员将理解的是,在不脱离由权利要求限定的本发明的精神和范围的情况下,可在形式和细节上做出各种改变。优选实施例应被考虑为仅是说明意义,而不用于限制的目的。因此,本发明的范围不应由本发明的详细描述来定义,而由权利要求来定义,并且在所述范围内的有所差异将被理解为包括在本发明中。

用于对视频进行解码的方法.pdf_第1页
第1页 / 共45页
用于对视频进行解码的方法.pdf_第2页
第2页 / 共45页
用于对视频进行解码的方法.pdf_第3页
第3页 / 共45页
点击查看更多>>
资源描述

《用于对视频进行解码的方法.pdf》由会员分享,可在线阅读,更多相关《用于对视频进行解码的方法.pdf(45页珍藏版)》请在专利查询网上搜索。

提供了一种用于对视频进行解码的方法。一种调整编码的输出数据的范围以在恢复编码的样值期间调整比特深度的视频编码方法,和一种防止在解码处理的操作中输出数据发生溢出的视频解码方法。所述视频解码方法包括:从接收到的比特流中以图像的块为单位来解析并恢复被量化的变换系数;通过对被量化的变换系数执行反量化来恢复第一比特深度或小于第一比特深度的变换系数;通过对被量化的变换系数执行一维(1D)逆变换和逆缩放来恢复第。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1