图像编码/解码方法和非暂时性计算机可读记录介质
阅读说明:本技术 图像编码/解码方法和非暂时性计算机可读记录介质 (Image encoding/decoding method and non-transitory computer-readable recording medium ) 是由 金晖容 林成昶 李镇浩 崔振秀 金镇雄 朴光勋 金耿龙 于 2013-07-02 设计创作,主要内容包括:公开了图像编码/解码方法和非暂时性计算机可读记录介质。所述图像解码方法包括:取决于当前块是否为变换跳跃块来导出当前块的缩放因子;基于缩放因子对当前块的变换系数执行缩放;通过对缩放后的变换系数选择性地执行逆变换来获得当前块的残差样本;对当前块执行预测以生成预测块;和基于残差样本和预测块重构当前块,其中,在当前块不是变换跳跃块时,基于在解码设备处定义的量化矩阵和当前块内的变换系数的地点,来导出当前块的缩放因子;其中,在当前块是变换跳跃块时,无论当前块内的变换系数的地点如何,当前块的缩放因子都被导出为等于固定恒定值,以及其中,基于指示是否向当前块应用逆变换的信息来规定变换跳跃块。(Disclosed are an image encoding/decoding method and a non-transitory computer-readable recording medium. The image decoding method includes: deriving a scaling factor for the current block depending on whether the current block is a transform skip block; performing scaling on transform coefficients of the current block based on the scaling factor; obtaining residual samples of the current block by selectively performing inverse transform on the scaled transform coefficients; performing prediction on the current block to generate a prediction block; and reconstructing the current block based on the residual samples and the prediction block, wherein, when the current block is not a transform skip block, a scaling factor of the current block is derived based on a quantization matrix defined at a decoding apparatus and a location of a transform coefficient within the current block; wherein, when the current block is a transform skip block, a scaling factor of the current block is derived to be equal to a fixed constant value regardless of a location of a transform coefficient within the current block, and wherein the transform skip block is specified based on information indicating whether to apply an inverse transform to the current block.)
本申请是申请日为2013年7月2日、申请号为201380042182.2、发明名称为“用于编码/解码图像的方法和设备”的发明专利申请的分案申请。
技术领域
本发明涉及图像的编码/解码,并更具体地,涉及用于缩放变换系数的方法和设备。
背景技术
具有高清晰度(HD)分辨率(1280x1024或1920x1080)的广播服务在全国和全世界扩展。因此,许多用户习惯于具有高分辨率和高画面质量的视频。因此,许多机构正推动下一代图像装置的开发。此外,因为存在对于具有比HDTV高四倍的分辨率的超高清晰度(UHD)以及HDTV的增长兴趣,所以移动图像标准化组织已变得认识到对于具有更高分辨率和更高画面质量的图像的压缩技术的需求。此外,存在对于能维持相同画面质量、并且通过比HDTV、移动电话、和蓝光播放器中现在使用的H.264/AVC的压缩效率更高的压缩效率在频带或存储方面还具有许多优点的新标准的紧迫需求。
如今,移动画面专家组(MPEG)和视频编码专家组(VCEG)是联合标准化的高效视频编码(HEVC)(即,下一代视频编解码器),并且目的是利用H.264/AVC两倍的压缩效率来编码包括UHD图像的图像。这能提供甚至在3D广播和移动通信网络中比当前图像具有更低频率和更高画面质量的图像、以及HD和UHD图像。
发明内容
【技术问题】
本发明提供能够改进编码/解码效率的、用于编码和解码图像的方法和设备。
本发明提供能够改进编码/解码效率的、用于缩放变换系数(或残差信号)的方法和设备。
本发明提供能够改进编码/解码效率的、用于量化/反量化变换跳跃块的方法和设备。
【技术方案】
根据本发明的一个方面,提供了一种图像解码方法。该图像解码方法包括:取决于当前块是否是变换跳跃块来导出用于当前块的缩放因子,并基于该缩放因子对当前块执行缩放。
基于当前块内的变换系数的地点来导出所述用于当前块的缩放因子,并且该变换跳跃块是其中还没有向当前块应用变换的块,并且基于指示是否向当前块应用逆变换的信息来规定。
在所述导出用于当前块的缩放因子的步骤中,如果该当前块是变换跳跃块,则可导出基本缩放因子,而不管当前块内的变换系数的地点。
该基本缩放因子可具有特定缩放因子值,并且该特定缩放因子值可以是16。
该基本缩放因子可取决于当前块是否使用量化矩阵而具有不同缩放因子值。
该基本缩放因子可取决于当前块是亮度块还是色度块而具有不同缩放因子值。
可通过画面参数集(PPS)用信号传送指示是否在包括当前块的画面中使用变换跳跃算法的标志。
该基本缩放因子可包括关于用于亮度信号和色度信号的缩放因子的信息。
在所述导出用于当前块的缩放因子的步骤中,如果当前块是变换跳跃块或者当前块不使用量化矩阵,则可导出基本缩放因子,而不管当前块内变换系数的地点。
在所述导出用于当前块的缩放因子的步骤中,如果当前块不是变换跳跃块,则可基于当前块内变换系数的地点使用量化矩阵来导出用于当前块的缩放因子。
根据本发明的另一方面,提供了一种图像解码设备。该图像解码设备包括:反量化单元,用于取决于当前块是否是变换跳跃块来导出用于当前块的缩放因子,并基于该缩放因子对当前块执行缩放。
可基于当前块内的变换系数的地点来导出所述用于当前块的缩放因子,并且该变换跳跃块可以是其中还没有向当前块应用变换的块,并且基于指示是否向当前块应用逆变换的信息来规定。
根据本发明的另一方面,提供了一种图像编码方法。该图像编码方法包括以下步骤:取决于当前块是否是变换跳跃块来导出用于当前块的缩放因子,并基于该缩放因子来对当前块执行缩放。
可基于当前块内的变换系数的地点来导出所述用于当前块的缩放因子,并且该变换跳跃块可以是其中还没有向当前块应用变换的块,并且基于指示是否向当前块应用逆变换的信息来规定。
在所述导出用于当前块的缩放因子的步骤中,如果该当前块是变换跳跃块,则可导出基本缩放因子,而不管当前块内的变换系数的地点。
该基本缩放因子可具有特定缩放因子值,并且该特定缩放因子值可以是16。
该基本缩放因子可取决于当前块是否使用量化矩阵而具有不同缩放因子值。
该基本缩放因子可取决于当前块是亮度块还是色度块而具有不同缩放因子值。
通过画面参数集(PPS)用信号传送指示是否在包括当前块的画面中使用变换跳跃算法的标志。
该基本缩放因子可包括关于用于亮度信号和色度信号的缩放因子的信息。
在所述导出用于当前块的缩放因子的步骤中,如果当前块是变换跳跃块或者当前块不使用量化矩阵,则可导出基本缩放因子,而不管当前块内变换系数的地点。
在所述导出用于当前块的缩放因子的步骤中,如果当前块不是变换跳跃块,则可基于当前块内变换系数的地点使用量化矩阵来导出用于当前块的缩放因子。
根据本发明的另一方面,提供了一种图像编码设备。该图像编码设备包括量化单元,用于取决于当前块是否是变换跳跃块来导出用于当前块的缩放因子,并基于该缩放因子来对当前块执行缩放。
可基于当前块内的变换系数的地点来导出所述用于当前块的缩放因子,并且该变换跳跃块可以是其中还没有向当前块应用变换的块,并且基于指示是否向当前块应用逆变换的信息来规定。
根据本发明的另一方面,提供了一种利用解码设备的图像解码方法,包括:取决于当前块是否为变换跳跃块来导出所述当前块的缩放因子;基于所述缩放因子对所述当前块的变换系数执行缩放;通过对缩放后的变换系数选择性地执行逆变换来获得所述当前块的残差样本;对所述当前块执行预测以生成预测块;和基于所述残差样本和所述预测块重构所述当前块,其中,在所述当前块不是变换跳跃块时,基于在所述解码设备处定义的量化矩阵和所述当前块内的变换系数的地点,来导出所述当前块的缩放因子;其中,在所述当前块是变换跳跃块时,无论所述当前块内的变换系数的地点如何,所述当前块的缩放因子都被导出为等于固定恒定值,以及其中,基于指示是否向所述当前块应用逆变换的信息来规定所述变换跳跃块。
根据本发明的另一方面,提供了一种利用编码设备的图像编码方法,包括:对当前块执行预测以生成预测块;基于所述当前块和所述预测块来生成所述当前块的残差样本;通过对所述当前块的所述残差样本选择性地执行变换来获得变换系数;取决于所述当前块是否为变换跳跃块来确定所述当前块的缩放因子;和基于所述缩放因子对所述当前块的所述变换系数执行量化,其中,在所述当前块不是变换跳跃块时,基于在所述编码设备处定义的量化矩阵和所述当前块内的变换系数的地点,来确定所述当前块的缩放因子;其中,在所述当前块是变换跳跃块时,无论所述当前块内的变换系数的地点如何,所述当前块的缩放因子都被确定为等于固定恒定值,以及其中,使用指示是否向所述当前块应用逆变换的信息来编码所述变换跳跃块的指示。
根据本发明的另一方面,提供了一种存储比特流的非暂时性计算机可读记录介质,所述比特流通过利用编码设备的图像编码方法而生成,其中,所述图像编码方法包括:对当前块执行预测以生成预测块;基于所述当前块和所述预测块来生成所述当前块的残差样本;通过对所述当前块的所述残差样本选择性地执行变换来获得变换系数;取决于所述当前块是否为变换跳跃块来确定所述当前块的缩放因子;和基于所述缩放因子对所述当前块的所述变换系数执行量化,其中,在所述当前块不是变换跳跃块时,基于在所述编码设备处定义的量化矩阵和所述当前块内的变换系数的地点,来确定所述当前块的缩放因子;其中,在所述当前块是变换跳跃块时,无论所述当前块内的变换系数的地点如何,所述当前块的缩放因子都被确定为等于固定恒定值,以及其中,使用指示是否向所述当前块应用逆变换的信息来编码所述变换跳跃块的指示。
【有利效果】
已向其应用变换跳跃算法的块和已对其执行变换/逆变换处理的现有块具有不同的变换系数特性,因为不对已向其应用变换跳跃算法的块执行变换/逆变换处理。即,如果向已对其执行变换/逆变换处理的现有块应用的缩放方法被应用到变换跳跃块,则能降低编码/解码效率。因此,通过向变换跳跃块同样应用缩放因子,而不管块内的变换系数的地点,能改进编码和解码效率。
附图说明
图1是示出了本发明实施例所应用到的图像编码设备的构造的框图;
图2是示出了本发明实施例所应用到的图像解码设备的构造的框图;
图3是示意性示出了当编码图像时图像的分区结构的图;
图4是示出了可在CU中包括的PU的形式的图;
图5是示出了可在CU中包括的TU的形式的图;
图6是图示了根据本发明实施例的用于残差信号(或变换系数)的缩放方法的流程图;和
图7是图示了根据本发明另一实施例的用于残差信号(或变换系数)的缩放方法的流程图。
具体实施方式
其后,参考附图来详细描述本发明的一些示范实施例。此外,在描述该说明书的实施例时,将省略已知功能和构成的详细描述,如果认为其使得本发明的要义不必要的模糊的话。
在该说明书中,当认为一个元件与另一元件连接或耦接时,这可意味着所述一个元件可与所述另一元件直接连接或耦接,或者第三元件可在这两个元件之间连接或耦接。此外,在该说明书中,当认为包括特定元件时,这可意味着不排除除了该特定元件之外的元件,并且附加元件可包括在本发明的实施例或本发明的技术精神的范围中。
诸如第一和第二的术语可被用来描述各种元件,但是这些元件不受限于这些术语。使用这些术语仅将一个元件与另一元件进行区分。例如,第一元件可被称为第二元件,而不脱离本发明的范围。同样,第二元件可被称为第一元件。
此外,独立示出本发明的实施例中描述的元件单元,以指示差别和特征功能,并且这不意味着每一元件单元由一个单独硬件或一个软件形成。即,为了便于描述,安排和包括这些元件单元,并且这些元件单元中的至少两个可形成一个元件单元,或者一个元件可被划分为多个元件单元,并且所述多个所划分的元件单元可执行功能。其中集成元件的实施例或者从其分离一些元件的实施例也被包括在本发明的范围中,除非它们脱离本发明的精髓。
此外,在本发明中,一些元件不是用于执行必要功能的必要元件,而可以是仅用于改进性能的可选元件。本发明可仅使用用于实现本发明的精髓的必要元件而不是用来仅改进性能的元件来实现,并且仅包括必要元件而不包括用于仅改进功能的可选元件的结构被包括在本发明的范围中。
首先,为了改进描述的便利并帮助本发明的理解,简要描述该说明书中使用的术语。
单元意味着图像编码或解码单元。换言之,当编码或解码图像时,编码或解码单元表示当对图像进行子划分以及编码或解码时一个图像的划分单元。该单元也可被称为块、宏块(MB)、编码单元(CU)、预测单元(PU)、变换单元(TU)、编码块(CB)、预测块(PB)、或变换块(TB)。一个单元能被划分为较小子单元。
块表示样本的MxN阵列。M和N具有正整数值。块可共同意味着2-D形式的阵列。
变换单元(TU)是当对残差信号执行编码/解码时的基本单元,诸如变换系数的变换、逆变换、量化、反量化、和编码/解码。一个TU能被分区为多个较小TU。这里,如果在块形式中存在残差信号,则残差信号能被称为残差块。
量化矩阵意味着在量化或反量化处理中使用的矩阵,以便改进图像的主观或客观画面质量。量化矩阵也被称为缩放列表。
量化矩阵能被划分为缺省矩阵、非缺省矩阵、以及平(flat)矩阵。缺省矩阵能意味着在编码器和解码器中预定的特定量化矩阵。非缺省矩阵可以不是编码器和解码器中预定的,但是可意味着用户传送或接收的量化矩阵。平矩阵可意味着其中所有元素具有相同值的矩阵。
缩放表示将变换系数电平乘以因子的处理。作为该处理的结果,生成变换系数。缩放也被称为反量化。
变换系数表示在执行变换之后生成的系数值。在该说明书中,通过向变换系数应用量化而获得的量化后变换系数电平也被称为变换系数。
量化参数表示在量化和反量化中缩放变换系数电平所使用的值。这里,量化参数可以是映射到量化步长尺寸的值。
参数集对应于关于比特流中的结构中的报头的信息。参数集具有共同指定序列参数集、画面参数集、和自适应参数集的含义。
图1是示出了本发明实施例所应用到的图像编码设备的构造的框图。
参考图1,图像编码设备100包括运动估计模块111、运动补偿模块112、帧内预测模块120、开关115、减法器125、变换模块130、量化模块140、熵编码模块150、反量化模块160、逆变换模块170、加法器175、滤波器模块180、和参考画面缓冲器190。
图像编码设备100能按照帧内模式或帧间模式对输入图像执行编码,并输出比特流。在帧内模式的情况下,开关115能切换到帧内模式。在帧间模式的情况下,开关115能切换到帧间模式。帧内预测意味着帧内部预测,并且帧间预测意味着帧之间。图像编码设备100能生成用于输入图像的输入块的预测块,并然后编码输入块和预测块之间的差别。这里,输入图像能意味着原始画面。
在帧内模式的情况下,帧内预测模块120能通过使用与当前块相邻的已编码块的像素的值执行空间预测,来生成预测块。
在帧间模式的情况下,运动估计模块111能通过在运动预测处理中在参考画面缓冲器190中存储的参考画面中搜索与输入块最佳匹配的区域,来获得运动向量。运动补偿模块112能通过使用运动向量和在参考画面缓冲器190中存储的参考画面执行运动补偿,来生成预测块。这里,运动向量是在帧间预测中使用的二维(2-D)向量,并且运动向量能指示要现在编码/解码的画面和参考画面之间的偏移。
减法器125能基于输入块和生成的预测块之间的差别,来生成残差块。
变换模块130能对残差块执行变换,并根据变换后的块输出变换系数。此外,量化模块140能通过根据量化参数对接收的变换系数进行量化,来输出量化后的系数。
熵编码模块150能基于量化模块140所计算的值、在编码处理中计算的编码参数值等,根据概率分布对码元执行熵编码,并根据熵编码后的码元来输出比特流。如果应用熵编码,则能降低用于要编码的码元的比特流的尺寸,因为通过向具有高出现频率的码元分配小数目比特并向具有低出现频率的码元分配大数目比特,来表示码元。因此,能通过熵编码来改进图像编码的压缩性能。熵编码模块150能使用诸如指数哥伦布、上下文自适应可变长度编码(CAVLC)和上下文自适应二进制算术编码(CABAC)的编码方法用于熵编码。
根据图1的实施例的图像编码设备100执行帧间预测编码(即,帧之间预测编码),并由此已编码的画面需要被解码和存储,以便用作参考画面。因此,量化后的系数由反量化模块160反量化并由逆变换模块170逆变换。反量化和逆变换后的系数通过加法器175添加到预测块,由此生成重构块。
重构块经过(experiences)滤波器模块180。滤波器模块180能向重构块或重构画面应用解块滤波器、样本自适应偏移(SAO)、和自适应环路滤波器(ALF)中的一个或多个。滤波器模块180也可被称为自适应环内滤波器。解块滤波器能去除在块的边界处生成的块失真。SAO能向像素值添加适当偏移值以便补偿编码误差。ALF能基于通过比较重构画面与原始画面而获得的值,来执行滤波。已经过滤波器模块180的重构块能被存储在参考画面缓冲器190中。
图2是示出了本发明实施例所应用到的图像解码设备的构造的框图。
参考图2,图像解码设备200包括熵解码模块210、反量化模块220、逆变换模块230、帧内预测模块240、运动补偿模块250、滤波器模块260、和参考画面缓冲器270。
图像解码设备200能接收从编码器输出的比特流,按照帧内模式或帧间模式来对比特流执行解码,并输出重构图像(即,重构的图像)。在帧内模式的情况下,开关能切换到帧内模式。在帧间模式的情况下,开关能切换到帧间模式。
图像解码设备200能从接收的比特流获得重构的残差块,生成预测块,并通过将重构的残差块添加到预测块,来生成重构块(即,恢复块)。
熵解码模块210能通过根据概率分布对接收的比特流执行熵解码,来生成包括具有量化后的系数形式的码元的码元。
如果应用熵解码方法,则能降低用于每一码元的比特流的尺寸,因为通过向具有高出现频率的码元分配小数目比特并向具有低出现频率的码元分配大数目比特,来表示码元。
量化后的系数由反量化模块220反量化并由逆变换模块230逆变换。作为对量化后的系数的反量化/逆变换的结果,能生成重构的残差块。
在帧内模式的情况下,帧内预测模块240能通过使用当前块周围的已编码块的像素的值执行空间预测,来生成预测块。在帧间模式的情况下,运动补偿模块250能通过使用运动向量和参考画面缓冲器270中存储的参考画面执行运动补偿,来生成预测块。
加法器255将残差块和预测块相加到一起。相加的块经过滤波器模块260。滤波器模块260能向重构的块或重构的画面应用解块滤波器、SAO、和ALF中的至少一个。滤波器模块260输出重构图像(即,重构的图像)。重构图像能被存储在参考画面缓冲器270中并能用于帧间预测。
图3是示意性示出了当编码图像时图像的分区结构的图。
在高效视频编码(HEVC)中,在编码单元中执行编码以便有效分区图像。
参考图3,在HEVC中,图像300在最大编码单元(其后称为LCU)中顺序分区,并基于LCU来确定分区结构。分区结构意味着用于有效编码LCU310内的图像的编码单元(其后称为CU)的分布。能基于一个CU是否将被分区为四个CU(其每一个的宽度尺寸和高度尺寸从一个CU降低一半),来确定该分布。同样,分区的CU能被递归分区为四个CU,其每一个的宽度尺寸和高度尺寸从分区的CU降低一半。
这里,CU的分区能被递归执行至多(up to)预定深度。关于深度的信息是指示CU的尺寸的信息,并且存储关于每一CU的深度的信息。例如,LCU的深度能够是0,并且最小编码单元(SCU)的深度能够是预定最大深度。这里,LCU是具有上述最大CU尺寸的CU,并且SCU是具有最小CU尺寸的CU。
只要从LCU 310执行宽度尺寸和高度尺寸一半的分区,CU的深度就增加1。还没有对其执行分区的CU对于每一深度具有2N×2N尺寸,并且对其执行分区的CU从具有2N×2N尺寸的CU被分区为其每一个具有N×N尺寸的四个CU。只要深度增加1,N的尺寸就降低一半。
参考图3,具有最小深度0的LCU的尺寸能够是64×64像素,并且具有最大深度3的SCU的尺寸能够是8×8像素。这里,具有64×64像素的LCU能用深度0表示,具有32×32像素的CU能用深度1表示,具有16×16像素的CU能用深度2表示,并且具有8×8像素的SCU能用深度3表示。
此外,关于特定CU是否将被分区的信息能通过用于每一CU的1比特的分区信息表示。该分区信息能被包括在除了SCU之外的所有CU中。例如,如果CU不被分区,则能存储分区信息0。如果CU被分区,则能存储分区信息1。
其间,从LCU分区的CU能包括预测单元(PU)(或预测块(PB))(即,用于预测的基本单元)、和变换单元(TU)(或变换块(TB))(即,用于变换的基本单元)。
图4是示出了可在CU中包括的PU的形式的图。
从LCU分区的CU之中的、不再分区的CU被分区为一个或多个PU。该行为自己也被称为分区。预测单元(其后称为PU)是对其执行预测的基本单元,并在跳跃模式、帧间模式和帧内模式的任一个中编码。PU能取决于每一模式按照各种形式来分区。
参考图4,在跳跃模式的情况下,能在CU内无需分区而支持与CU具有相同尺寸的2Nx2N模式410。
在帧间模式的情况下,能在CU内支持8种分区的形式,例如,2Nx2N模式410、2NxN模式415、Nx2N模式420、NxN模式425、2NxnU模式430、2NxnD模式435、nLx2N模式440、和nRx2N模式445。
在帧内模式的情况下,能在CU内支持2Nx2N模式410和NxN模式425。
图5是示出了可在CU中包括的TU的形式的图。
变换单元(其后称为TU)是为了CU内的空间变换和量化/反量化(缩放)处理而使用的基本单元。TU能具有长方形或正方形形式。从LCU分区的CU之中的、不再分区的CU能被分区为一个或多个TU。
这里,TU的分区结构能够是四叉树结构。例如,如图5中所示,一个CU 510能取决于四叉树结构被分区为一个或多个,由此形成具有各种尺寸的TU。
其间,在HEVC中,如同H.264/AVC中那样,能执行帧间预测(其后称为帧内预测)编码。这里,能通过从位于当前块附近的相邻块导出用于当前块的帧内预测模式(或预测方向性),来执行编码。
如上所述,通过基于帧内预测模式执行预测而获得的信号的预测图像能具有与原始图像的差值。具有预测图像和原始图像之间的差值的残差图像能在经历频域变换和量化之后经受熵编码。这里,为了增加频域变换的编码效率,能取决于块的尺寸,而选择性和适应性应用取决于帧内预测模式的整数变换、离散余弦变换(DCT)、离散正弦变换(DST)、或DCT/DST。
此外,为了增加诸如PowerPoint中的文档图像或演讲图像的、屏幕内容中的编码效率,能使用变换跳跃算法。
如果使用变换跳跃算法,则编码器对具有预测图像和原始图像之间的差值的残差图像(或残差块)进行直接量化,而无需频率变换处理,并对残差块执行熵编码。此外,解码器对残差块执行熵解码,并通过对熵编码后的块执行反量化(缩放)而生成重构的残差块。因此,已对其应用变换跳跃算法的块跳过频率变换/逆变换处理。
在量化/反量化处理中,能取决于块内的变换系数的地点而不同地应用缩放因子,以便改进图像的主体画面质量。相反,存在当执行量化/反量化时不管块内的变换系数的地点、而相同地应用缩放因子的方法。能通过比特流的序列参数集(SPS)或画面参数集(PPS)来用信号通知是否应用该方法。
作为该处理的实施例,能如下执行用于变换系数的缩放处理。
用于变换系数的缩放处理
在该情况下,输入如下。
-当前变换块的宽度;nW
-当前变换块的高度;nH
-具有元素cij的变换系数的阵列;(nWxnH)阵列d
-用于当前块的亮度信号和色度信号的索引;cIdx
如果cIdx为0,则这意味着亮度信号。如果cIdx为1或cIdx为2,则这意味着色度信号。此外,如果cIdx为1,则这意味着色度信号中的Cb。如果cIdx为2,则这意味着色度信号中的Cr。
-量化参数;qP
在该情况下,输出如下。
-缩放后变换系数的阵列:(nWxnH)阵列dij
通过log2TrSize=(Log2(nW)+Log2(nH))>>1来导出参数“log2TrSize”。取决于cIdx而不同地导出参数移位。如果cIx为0(在亮度信号的情况下),则从“shift=BitDepthY+log2TrSize–5”来导出参数移位。如果cIx不为0(在色度信号的情况下),则从“shift=BitDepthC+log2TrSize–5”来导出参数移位。这里,BitDepthY和BitDepthC意味着用于当前图像的样本的比特的数目(例如,8比特)。
用于缩放参数的阵列“levelScale[]”与以下等式1相同。
【等式1】
levelScale[k]={40,45,51,57,64,72}其中k=0..5
通过以下处理来计算缩放后的变换系数。
首先,通过以下处理来导出缩放因子mij。
-如果scaling_list_enable_flag为0,则如同以下等式2那样导出缩放因子mij。
【等式2】
mij=16
-如果scaling_list_enable_flag不为0,则如同以下等式3那样导出缩放因子mij。
【等式3】
mij=ScalingFactor[SizeID][RefMatrixID][trafoType][i*nW+j]
在等式3中,根据变换块的尺寸通过以下表格1来导出SizeID,并且从以下等式4和等式5分别导出RefMatrixID和trafoType。此外,在等式4中,通过比特流的序列参数集(SPS)或画面参数集(PPS),来用信号传送scaling_list_pred_matrix_id_delta。
【等式4】
RefMatrixID=MatrixID-scaling_list_pred_matrix_id_delta
【等式5】
trafoType=((nW==nH)?0:((nW>nH)?1:2))
表格1是示出了根据变换块的尺寸的SizeID值的示例
【表格1】
量化矩阵的尺寸
SizeID
4x4
0
8x8(16x4,4x16)
1
16x16(32x8,8x32)
2
32x32
3
接下来,从以下等式6导出缩放后的变换系数dij。
【等式6】
dij=Clip3(-32768,32767,((cij*mij*levelScale[qP%6]<<(qP/6))+(1<<(shift-1)))>>shift)
其间,不对如上所述已对其应用变换跳跃算法的块(其后称为变换跳跃块)执行频率变换处理。因此,已对其执行频率变换处理的现有块和变换跳跃块能具有不同变换系数特性。即,如果将向已对其执行频率变换处理的现有块应用的缩放方法没有变化地应用到变换跳跃块,则能降低编码效率。
因此,本发明提供了通过考虑其中块是变换跳跃块的情况、来执行缩放的方法。
如果在编码器和解码器中使用量化矩阵(缺省矩阵和非缺省矩阵)以便改进图像的主观画面质量,则能取决于块内的变换系数的地点来不同地应用从量化矩阵导出的缩放因子。在该方法中,当变换该块时,通过使用其中将残差块的能量压缩到块的左上(即,低频区域)的特性,对于人眼比较不敏感的高频区域(而不是人眼敏感的低频区域)执行具有较大量化步长尺寸的量化。根据该方法,当编码图像时,能改进人眼敏感的区域的主观画面质量。
然而,如果应用变换跳跃算法,则不将残差块朝向残差块内的低频区域压缩,因为不对残差块执行频域变换/逆变换。在该情况下,如果应用在现有频域中使用的量化/反量化方法,则存在的缺点在于图像或块内的失真变得严重。因此,如果在图像内使用量化矩阵,则存在对于能够在不对其执行频域变换/逆变换的块(即,变换跳跃块)中、降低图像或块内的失真的缩放(量化/反量化)方法的需求。例如,存在不对变换跳跃块应用量化矩阵的方法。在该方法中,能等同应用基本缩放因子,而不管块内的变换系数的地点。
[实施例1]用于不管块内的变换系数的地点、而向变换跳跃块等同应用缩放因子 的方法和设备
图6是图示了根据本发明实施例的用于残差信号(或变换系数)的缩放方法的流程图。
图6的缩放方法能在图1的编码设备或图2的解码设备中执行。更具体地,图6的缩放方法能在图1或2的量化单元或反量化单元中执行。在图6的实施例中,尽管为了便于描述图6的缩放方法被图示为在编码设备中执行,但是图6的缩放方法能在解码设备中等同应用。
参考图6,能取决于当前块是否是变换跳跃块,而导出当对当前块内的残差信号(或变换系数)执行缩放(量化或反量化)时应用的缩放因子mij。
编码设备在步骤S600确定当前块是否是变换跳跃块。
能基于指示当前块是否是变换跳跃块的信息,来确定当前块是否是变换跳跃块。例如,指示当前块是否是变换跳跃块的信息能够是标志“transSkipFlag”。能通过对比特流中关于变换跳跃块的信息执行熵解码,来导出标志“transSkipFlag”的值。如果当前块是变换跳跃块,则标志“transSkipFlag”的值能够是1。如果当前块不是变换跳跃块,则标志“transSkipFlag”的值能够是0。
如果作为确定结果确定当前块是变换跳跃块(例如,标志“transSkipFlag”的值为1),则编码设备在步骤S610导出缩放因子mij而不管当前块内残差信号(或变换系数)的地点。
这里,如图6中所示,缩放因子mij能被设置为特定基本缩放因子值T。例如,该特定基本缩放因子值T能够是16。
如果作为确定结果确定当前块不是变换跳跃块(例如,标志“transSkipFlag”的值为0),则编码设备在步骤S620基于当前块内残差信号(或变换系数)的地点来导出缩放因子mij。
这里,能使用量化矩阵取决于当前块内的残差信号(或变换系数),来不同地设置缩放因子mij。如图6中所示,能如同下面等式7中那样导出缩放因子mij。
【等式7】
mij=ScalingFactor[SizeID][RefMatrixID][trafoType][i*nW+j]
在等式7中,ScalingFactor是其中存储缩放因子的阵列。SizeID能够是指示当前块(变换块或量化矩阵)的尺寸的值,并且SizeID的值能如同上面表格1中那样取决于当前块(变换块)的尺寸导出。RefMatrixID和trafoType能从下面等式8和等式9中分别导出。nW是当前块的宽度。
【等式8】
RefMatrixID=MatrixID-scaling_list_pred_matrix_id_delta
在等式8中,MatrixID的值能意味着根据预测模式和颜色分量的量化矩阵的类型。例如,MatrixID的值能如同下面表格2中那样导出。通过比特流中的序列参数集(SPS)或画面参数集(PPS),来用信号传送scaling_list_pred_matrix_id_delta。
【等式9】
trafoType=((nW==nH)?0:((nW>nH)?1:2))
在等式9中,nW意味着当前块的宽度,而nH意味着当前块的高度。
表格2示出了根据预测模式和颜色分量的MatrixID值。
【表格2】
图7是图示了根据本发明另一实施例的用于残差信号(或变换系数)的缩放方法的流程图。
图7的缩放方法能在图1的编码设备或图2的解码设备中执行。更具体地,图7的缩放方法能在图1或2的量化单元或反量化单元中执行。在图7的实施例中,尽管为了便于描述图7的缩放方法被图示为在编码设备中执行,但是图7的缩放方法能在解码设备中等同应用。
参考图7,能取决于当前块是否是变换跳跃块以及是否使用量化矩阵,而导出当对当前块的残差信号(或变换系数)执行缩放(量化或反量化)时应用的缩放因子mij。
编码设备在步骤S700确定当前块是否使用量化矩阵以及当前块是否是变换跳跃块。
能基于指示当前块是否使用量化矩阵的信息,来确定当前块是否使用量化矩阵。例如,指示当前块是否使用量化矩阵的信息能够是标志“scaling_list_enable_flag”。能通过对比特流中关于量化矩阵的使用的信息执行熵解码,来导出标志“scaling_list_enable_flag”的值。如果当前块使用量化矩阵,则标志“scaling_list_enable_flag”的值能够是1。如果当前块不使用量化矩阵,则标志“scaling_list_enable_flag”的值能够是0。
此外,能基于指示当前块是否是变换跳跃块的信息,来确定当前块是否是变换跳跃块。例如,指示当前块是否是变换跳跃块的信息能够是标志“transSkipFlag”。能通过对比特流中关于变换跳跃块的信息执行熵解码,来导出标志“transSkipFlag”的值。如果当前块是变换跳跃块,则标志“transSkipFlag”的值能够是1。如果当前块不是变换跳跃块,则标志“transSkipFlag”的值能够是0。
如果作为确定结果确定当前块是变换跳跃块或者当前块不使用量化矩阵(例如,transSkipFlag==1或scaling_list_enable_flag==0),则编码设备在步骤S710导出缩放因子mij,而不管当前块内残差信号(或变换系数)的地点。
如图7中所示,缩放因子mij能被设置为特定基本缩放因子值T。例如,该特定基本缩放因子值T能够是16。
如果作为确定结果确定当前块不是变换跳跃块并且当前块使用量化矩阵,则编码设备在步骤S720基于当前块内残差信号(或变换系数)的地点来导出缩放因子mij。
缩放因子mij能使用量化矩阵取决于当前块内残差信号(或变换系数)的地点来不同地设置,并且能如同图7的步骤S720示出的等式中那样导出。步骤S720示出的等式所导出的缩放因子mij已参考图6的步骤S620进行了描述,并且省略其描述。
如同上面参考图6和7所描述的,如果当前块(即,现在要编码或解码的目标块)是变换跳跃块,则已将具有特定值T的缩放因子应用到当前块(即,变换跳跃块),而不管当前块内系数(或信号)的地点。这里,根据本发明实施例的缩放因子的值可取决于向对应块应用的各个编码参数而不同地设置。
例如,能取决于指示是否使用量化矩阵的参数(例如,scaling_list_enable_flag)的值,来如下设置要向对应块应用的缩放因子的值。
-如果使用量化矩阵(例如,scaling_list_enable_flag==1),则基本缩放因子值被设置为“T1”(mij=T1)
-如果不使用量化矩阵(例如,scaling_list_enable_flag==0),则基本缩放因子值被设置为“T2”(mij=T2)
T1和/或T2值可由编码器确定并用信号传送,或者可使用预定T1和/或T2值。如果通过比特流用信号传送T1和/或T2值,则解码器能通过解析该比特流获得T1和/或T2值。
举另一个例子,能基于关于能导出用于对应块的信号的颜色特性的信息(例如,颜色分量索引cIdx)的值,来如下设置要向对应块应用的缩放因子的值。颜色分量索引cIdx取决于其值而指示亮度信号(即,Y信号)或色度信号(即,Cb信号或Cr信号)。
-示例1:取决于对应块的信号是否是亮度信号,而将基本缩放因子值设置为“Ty”或“Tc”。例如,如果对应块的信号是亮度信号,则将基本缩放因子值设置为“Ty”。如果如果对应块的信号不是亮度信号(即,色度信号),则将基本缩放因子值设置为“Tc”。
-示例2:根据对应块的每一颜色分量来设置基本缩放因子值。例如,如果对应块的颜色分量是亮度信号(即,Y信号),则基本缩放因子值被设置为“Ty”。如果色度信号是Cb信号,则将基本缩放因子值设置为“Tcb”。如果色度信号是Cr信号,则将基本缩放因子值设置为“Tcr”。
这里,Ty、Tc、Tcb和/或Tcr值可由编码器确定并用信号传送,或者可使用预定Ty、Tc、Tcb和/或Tcr值。如果通过比特流用信号传送Ty、Tc、Tcb和/或Tcr值,则解码器能通过解析该比特流获得Ty、Tc、Tcb和/或Tcr值。
根据本发明实施例的用于取决于编码单数来确定基本缩放因子的地点可独立或组合应用,但是需要总是向相同变换跳跃块应用相同缩放因子值,而不管该块(即,要编码或解码的目标块)内的系数(或信号)的地点。
能如下执行本发明的实施例已合并到的用于变换系数的缩放处理。
用于变换系数的缩放处理
在该情况下,输入如下。
-当前变换块的宽度;nW
-当前变换块的高度;nH
-具有元素cij的变换系数的阵列;(nWxnH)阵列d
-指示是否已向当前变换块应用变换跳跃算法的信息
-用于当前变换块的亮度信号和色度信号的索引;cIdx
如果cIdx为0,则这意味着亮度信号。如果cIdx为1或cIdx为2,则这意味着色度信号。此外,如果cIdx为1,则这意味着色度信号中的Cb。如果cIdx为2,则这意味着色度信号中的Cr。
-量化参数;qP
在该情况下,输出如下。
-缩放后变换系数的阵列:(nWxnH)阵列dij
通过“log2TrSize=(Log2(nW)+Log2(nH))>>1”来导出参数“log2TrSize”。根据cIdx而不同地导出参数移位。如果cIx为0(即,在亮度信号的情况下),则从“shift=BitDepthY+log2TrSize–5”来导出参数移位。如果cIx不为0(即,在色度信号的情况下),则从“shift=BitDepthC+log2TrSize–5”来导出参数移位。这里,BitDepthY和BitDepthC意味着用于当前图像的样本的比特的数目(例如,8比特)。
用于缩放参数的阵列“levelScale[]”与等式10相同。
【等式10】
levelScale[k]={40,45,51,57,64,72}其中k=0..5
通过以下处理计算缩放后变换系数。
首先,通过以下处理来导出缩放因子mij。
-如果scaling_list_enable_flag为0或者当前变换块是变换跳跃块,则如同以下等式11那样导出缩放因子mij。
【等式11】
mij=16
-如果否,则如同以下等式12那样导出缩放因子mij。
【等式12】
mij=ScalingFactor[SizeID][RefMatrixID][trafoType][i*nW+j]
在等式12中,根据变换块的尺寸通过以上表格1来导出SizeID,并且从以下等式13和等式14分别导出RefMatrixID和trafoType。此外,在等式13中,通过比特流的序列参数集(SPS),来用信号传送scaling_list_pred_matrix_id_delta。
【等式13】
RefMatrixID=MatrixID-scaling_list_pred_matrix_id_delta
【等式14】
trafoType=((nW==nH)?0:((nW>nH)?1:2))
接下来,从下面的等式15导出缩放后变换系数dij。
【等式15】
dij=Clip3(-32768,32767,((cij*mij*levelScale[qP%6]<<(qP/6))+(1<<(shift-1)))>>shift)
其间,如上所述对通过缩放处理缩放的变换系数执行逆变换处理。这里,不执行逆变换处理,而是仅对变换跳跃算法已应用到的当前变换块执行以下移位操作处理。
1.如果当前块的cIdx为0(在亮度信号的情况下),则shift(移位)=13-BitDepthY。如果当前块的cIdx不为0(在色度信号的情况下),则shift=13-BitDepthC。
2.如下设置用于残差块的阵列rij(i=0…(nW)-1,j=0..(nH)-1)。
如果移位大于0,则rij=(dij+(1<<(shift-1)))>>shift。如果移位不大于0,则rij=(dij<<(-shift)。
这里,dij是缩放后变换系数的阵列,并且rij意味着通过对缩放后变换系数执行逆变换而获得的残差块的阵列。
作为缩放后变换系数的逆变换处理已合并到的实施例,能如下执行用于缩放后变换系数的变换处理。
用于缩放后变换系数的变换处理
在该情况下,输入如下。
-当前变换块的宽度;nW
-当前变换块的高度;nH
-具有元素dij的变换系数的阵列;(nWxnH)阵列d
-指示是否已向当前变换块应用变换跳跃算法的信息
-用于当前变换块的亮度信号和色度信号的索引;cIdx
如果cIdx为0,则这意味着亮度信号。如果cIdx为1或cIdx为2,则这意味着色度信号。此外,如果cIdx为1,则这意味着色度信号中的Cb。如果cIdx为2,则这意味着色度信号中的Cr。
-量化参数;qP
在该情况下,输出如下。
-通过对缩放后变换系数执行逆变换而获得的残差块的阵列;(nWxnH)阵列r
如果用于当前块的编码模式“PredMode”是帧内预测模式,Log2(nW*nH)的值为4,并且cIdx的值为0,则取决于亮度信号的帧内预测模式通过以下表格3来获得参数“horizTrType”和“vertTrType”。如果否,则将参数“horizTrType”和“vertTrType”设置为0。
表格3示出了根据帧内预测模式的参数“horizTrType”和“vertTrType”的值的示例。
【表格3】
根据以下顺序获得用于当前块的残差信号。
首先,如果已应用用于当前块的变换跳跃算法,则执行以下处理。
1.如果cIdx为0,则shift=13–BitDepthY。如果cIdx不为0,则shift=13–BitDepthC。
2.如下设置用于残差块的阵列rij(i=0..(nW)-1,j=0..(nH)-1)。
-如果移位大于0,则rij=(dij+(1<<(shift-1)))>>shift。如果移位不大于0,则rij=(dij<<(-shift).
如果还没有应用用于当前块的变换跳跃算法,则执行以下处理。
1.使用参数“horizTrType”和“vertTrType”的值来对缩放后变换系数执行逆变换处理。首先,接收当前块的尺寸(nW,nH)、用于缩放后变换系数的阵列“(nWxnH)阵列d”、和参数“horizTrType”,并且通过水平执行1维逆变换来输出阵列“(nWxnH)阵列e”。
2.接下来,接收阵列“(nWxnH)阵列e”,并且如同等式16中那样导出阵列“(nWxnH)阵列g”。
【等式16】
gij=Clip3(-32768,32767,(eij+64)>>7)
3.接下来,接收当前块的尺寸(nW,nH)、阵列“(nWxnH)阵列g”、和参数“vertTrType”,并且水平执行1维逆变换。
4.接下来,取决于cIdx如同下面等式17中那样设置用于残差块的阵列“(nWxnH)阵列r”。
【等式17】
rij=(fij+(1<<(shift-1)))>>shift
在等式17中,当cIdx为0时,shift=20–BitDepthY。如果否,则shift=20–BitDepthC。BitDepth意味着用于当前图像的样本的比特的数目(例如,8比特)。
通过对变换系数执行上述缩放处理并对缩放后变换系数执行上述变换处理,能生成重构的残差块。此外,能通过向重构的残差块添加通过帧内预测或帧间预测所生成的预测块,而生成重构的块。这里,重构的块可以是已向其应用环路滤波器的块或者是还没有向其应用环路滤波器的块。
其后,本发明提供了用信号传送取决于当前块是否是变换跳跃块而导出的基本缩放因子的方法。
根据本发明的实施例,取决于当前块是否是变换跳跃块而导出的基本缩放因子能通过序列参数集(SPS)用信号传送。
表格4示出了根据本发明实施例的用信号传送关于基本缩放因子的信息的SPS语法的示例。
【表格4】
seq_parameter_set_rbsp(){
描述符
......
transform_skip_enabled_flag
u(1)
if(transform_skip_enabled_flag){
flat_scale_factor_y_minus16
se(v)
flat_scale_factor_cb_minus16
se(v)
flat_scale_factor_cr_minus16
se(v)
}
......
}
参考表格4,transform_skip_enabled_flag指示是否将在当前序列中使用变换跳跃算法。
如果在当前序列中使用变换跳跃算法,则用信号传送flat_scale_factor_y_minus16、flat_scale_factor_cb_minus16、和flat_scale_factor_cr_minus16。每一值能按照具有正或负符号的形式来编码(se(v))。或者,每一值能按照具有0和正符号的形式来编码(ue(v))。
flat_scale_factor_y_minus16意味着用于亮度信号的缩放因子。例如,如果flat_scale_factor_y_minus16的值为0,则用于亮度信号的缩放因子具有值16,其中已向0添加16。
flat_scale_factor_cb_minus16意味着用于色度信号Cb的缩放因子。flat_scale_factor_cr_minus16意味着用于色度信号Cr的缩放因子。
能如同等式18到20那样导出用于亮度信号或色度信号的缩放因子。
这里,基本缩放因子FlatScalingFactor[cIdx]存储用于亮度信号和色度信号的缩放因子。例如,如果颜色分量索引cIdx为0,则基本缩放因子能指示亮度(Y)信号。如果颜色分量索引cIdx为1,则基本缩放因子能指示Cb色度信号。如果颜色分量索引cIdx为2,则基本缩放因子能指示Cr色度信号。此外,基本缩放因子“FlatScalingFactor[cIdx]”的值能具有特定值的范围。例如,8比特信号能具有从-15到“255-16”的值。
能如同等式18中那样导出用于亮度信号的基本缩放因子。
【等式18】
FlatScalingFactor[0]=16+(transform_skip_enabled_flag==1)?:flat_scale_factor_y_minus16:0
能如同等式19中那样导出用于Cb色度信号的基本缩放因子。
【等式19】
FlatScalingFactor[1]=16+(transform_skip_enabled_flag==1)?:flat_scale_factor_cb_minus16:0
能如同等式20中那样导出用于Cr色度信号的基本缩放因子。
【等式20】
FlatScalingFactor[2]=16+(transform_skip_enabled_flag==1)?:flat_scale_factor_cr_minus16:0
通过将根据本发明实施例的用信号传送取决于当前块是否是变换跳跃块而导出的基本缩放因子的方法合并到缩放处理中,能如下执行用于变换系数的缩放处理。
用于变换系数的缩放处理
在该情况下,输入如下。
-当前变换块的宽度;nW
-当前变换块的高度;nH
-具有元素cij的变换系数的阵列;(nWxnH)阵列d
-指示是否已向当前变换块应用变换跳跃算法的信息;transSkipFlag
如果transSkipFlag的值为1,则它指示已向当前块应用变换跳跃算法。如果transSkipFlag的值为0,则它指示还没有向当前块应用变换跳跃算法。
-用于当前块的亮度信号和色度信号的索引;cIdx
如果cIdx为0,则这意味着亮度信号。如果cIdx为1或cIdx为2,则这意味着色度信号。此外,如果cIdx为1,则这意味着色度信号中的Cb。如果cIdx为2,则这意味着色度信号中的Cr。
-量化参数;qP
在该情况下,输出如下。
-缩放后变换系数的阵列:(nWxnH)阵列dij
通过log2TrSize=(Log2(nW)+Log2(nH))>>1来导出参数log2TrSize。取决于cIdx而不同地导出参数移位。如果cIx为0(在亮度信号的情况下),则从“shift=BitDepthY+log2TrSize–5”来导出参数移位。如果cIx不为0(即,在色度信号的情况下),则从“shift=BitDepthC+log2TrSize–5”来导出参数移位。这里,BitDepthY和BitDepthC意味着用于当前图像的样本的比特的数目(例如,8比特)。
用于缩放参数的阵列“levelScale[]”与等式21相同。
【等式21】
levelScale[k]={40,45,51,57,64,72}其中k=0..5
通过以下处理来计算缩放后变换系数。
首先,通过以下处理来导出缩放因子mij。
-如果scaling_list_enable_flag为0,则如同以下等式22中那样导出缩放因子mij。
【等式22】
mij=(transSkipFlag==1)?FlatScaleFactor[cIdx]:16
-如果否(即,如果scaling_list_enable_flag为1),则如同以下等式23中那样导出缩放因子mij。
【等式23】
mij=(transSkipFlag==1)?FlatScaleFactor[cIdx]:ScalingFactor[SizeID][ReMatrixID][trafoType][i*nW+j]
在等式23中,取决于块的尺寸通过以上表格1导出SizeID。从下面的等式24和等式25分别导出RefMatrixID和trafoType。在等式24中,通过比特流的序列参数集(SPS)用信号传送scaling_list_pred_matrix_id_delta。
【等式24】
RefMatrixID=MatrixID-scaling_list_pred_matrix_id_delta
【等式25】
trafoType=((nW==nH)?0:((nW>nH)?1:2))
接下来,从下面等式26导出缩放后变换系数dij。
【等式26】
dij=Clip3(-32768,32767,((cij*mij*levelScale[qP%6]<<(qP/6))+(1<<(shift-1)))>>shift)
其间,除了上述SPS之外,能通过画面参数集(PPS)或片段报头“SliceHeader”,来用信号传送根据本发明实施例的取决于当前块是否是变换跳跃块而导出的基本缩放因子。此外,可在CU单元或TU单元中用信号传送基本缩放因子。
通过上述SPS用信号传送的值flat_scale_factor_y_minus16、flat_scale_factor_cb_minus16、和flat_scale_factor_cr_minus16能在PPS(或SliceHeader、CU、或TU)中更新并使用。
表格5示出了根据本发明另一实施例的用信号传送关于基本缩放因子的信息的PPS语法的示例。
【表格5】
pic_parameter_set_rbsp(){
描述符
......
transform_skip_enabled_flag
u(1)
if(transform_skip_enabled_flag){
pps_flat_scaling_factor_present_flag
u(1)
if(pps_flat_scaling_factor_present_flag){
flat_scale_factor_y_minus16
se(v)
flat_scale_factor_cb_minus16
se(v)
flat_scale_factor_cr_minus16
se(v)
}
}
......
}
参考表格5,transform_skip_enabled_flag指示变换跳跃算法是否将在当前画面中使用。如果使用变换跳跃算法,则用信号传送pps_flat_scaling_factor_present_flag。
例如,如果pps_flat_scaling_factor_present_flag的值为0,则使用向上述SPS应用的flat_scale_factor_y_minus16、flat_scale_factor_cb_minus16、和flat_scale_factor_cr_minus16作为用于变换跳跃块的缩放因子。如果pps_flat_scaling_factor_present_flag的值为1,则用信号传送对应值,以便更新在上述SPS中应用的flat_scale_factor_y_minus16、flat_scale_factor_cb_minus16、和flat_scale_factor_cr_minus16的值。
用信号传送的值“flat_scale_factor_y_minus16、flat_scale_factor_cb_minus16、和flat_scale_factor_cr_minus16”被用作用于当前画面的变换跳跃块的缩放因子。这里,继续使用这些值,直到它们没有再次改变为止。或者,可仅向当前画面应用这些值,并且可向下一画面应用在SPS中使用的缩放因子值。
这里,值“flat_scale_factor_y_minus16、flat_scale_factor_cb_minus16、和flat_scale_factor_cr_minus16”中的每一个能按照具有正或负符号的形式来编码(se(v))。或者,这些值中的每一个能能按照具有0和正符号的形式来编码(ue(v))。
能根据每一亮度信号和每一色度信号利用不同值来用信号传送值“flat_scale_factor_y_minus16、flat_scale_factor_cb_minus16、和flat_scale_factor_cr_minus16”。例如,能使用值“flat_scale_factor_y_minus16”来用信号传送用于亮度信号的缩放因子,能使用值“flat_scale_factor_cb_minus16”来用信号传送用于Cb色度信号的缩放因子,并能使用值“flat_scale_factor_cr_minus16”来用信号传送用于Cr色度信号的缩放因子。或者,可使用flat_scale_factor_y_minus16来用信号传送用于亮度信号的缩放因子,并且可使用flat_scale_factor_cb_cr_minus16来用信号传送用于色度信号的缩放因子。或者,可使用一个值“flat_scale_factor_y_cb_cr_minus16”来用信号传送用于亮度信号和色度信号的缩放因子。
如上所述,在SPS或PPS中用信号传送的值“flat_scale_factor_y_minus16、flat_scale_factor_cb_minus16、和flat_scale_factor_cr_minus16”能在SliceHeader(或CU或TU)中更新并使用。
表格6示出了根据本发明另一实施例的用信号传送关于基本缩放因子的信息的片段报头“SliceHeader”语法的示例。
【表格6】
slice_header(){
描述符
......
if(transform_skip_enabled_flag){
flat_scaling_factor_override_flag
u(1)
if(flat_scaling_factor_override_flag){
flat_scale_factor_y_delta
se(v)
flat_scale_factor_cb_delta
se(v)
flat_scale_factor_cr_delta
se(v)
}
}
......
}
参考表格6,transform_skip_enabled_flag指示是否将在当前片段中使用变换跳跃算法。如果将使用变换跳跃算法,则用信号传送flat_scaling_factor_override_flag的值。
例如,如果flat_scaling_factor_override_flag的值为0,则使用在上述SPS或PPS中应用的flat_scale_factor_y_minus16、flat_scale_factor_cb_minus16、和flat_scale_factor_cr_minus16作为用于变换跳跃块的缩放因子。如果flat_scaling_factor_override_flag的值为1,则用信号传送对应值,以便更新在上述SPS或PPS中应用的flat_scale_factor_y_minus16、flat_scale_factor_cb_minus16、和flat_scale_factor_cr_minus16的值。
使用值“flat_scale_factor_y_delta、flat_scale_factor_cb_delta、和flat_scale_factor_cr_delta”作为用于当前片段的变换跳跃块的缩放因子。
这里,值“flat_scale_factor_y_delta、flat_scale_factor_cb_delta、和flat_scale_factor_cr_delta”的每一个能按照具有正或负符号的形式来编码(se(v))。或者,每一值能按照具有0和正符号的形式来编码(ue(v))。
能根据每一亮度信号和每一色度信号利用不同值来用信号传送值“flat_scale_factor_y_delta、flat_scale_factor_cb_delta、和flat_scale_factor_cr_delta”。例如,能使用值flat_scale_factor_y_delta来用信号传送用于亮度信号的缩放因子,能使用值flat_scale_factor_cb_delta来用信号传送用于Cb色度信号的缩放因子,并能使用值flat_scale_factor_cr_delta来用信号传送用于Cr色度信号的缩放因子。或者,可使用flat_scale_factor_y_delta来用信号传送用于亮度信号的缩放因子,并且可使用flat_scale_factor_cb_cr_delta来用信号传送用于色度信号的缩放因子。或者,可使用一个值flat_scale_factor_y_cb_cr_delta来用信号传送用于亮度信号和色度信号的缩放因子。
能利用如上所述用信号传送的值“flat_scale_factor_y_delta、flat_scale_factor_cb_delta、和flat_scale_factor_cr_delta”如同下面等式27到29中那样导出基本缩放因子。
这里,基本缩放因子“FlatScalingFactor[cIdx]”存储用于亮度信号和色度信号的缩放因子。例如,如果颜色分量索引cIdx为0,则基本缩放因子能指示亮度(Y)信号。如果颜色分量索引cIdx为1,则基本缩放因子能指示Cb色度信号。如果颜色分量索引cIdx为2,则基本缩放因子能指示Cr色度信号。此外,基本缩放因子“FlatScalingFactor[cIdx]”的值能指示特定值的范围。例如,8比特信号能具有从-15到“255-16”的范围。
能使用flat_scale_factor_y_delta如同等式27中那样导出用于亮度信号的基本缩放因子。
【等式27】
FlatScalingFactor[0]=16+(transform_skip_enabled_flag==1)?:(flat_scale_factor_y_minus16+flat_scale_factor_y_delta):0
能使用flat_scale_factor_cb_delta如同等式28中那样导出用于Cb色度信号的基本缩放因子。
【等式28】
FlatScalingFactor[1]=16+(transform_skip_enabled_flag==1)?:(flat_scale_factor_cb_minus16+flat_scale_factor_cb_delta):0
能使用flat_scale_factor_cr_delta如同等式29中那样导出用于Cr色度信号的基本缩放因子。
【等式29】
FlatScalingFactor[2]=16+(transform_skip_enabled_flag==1)?:(flat_scale_factor_cr_minus16+flat_scale_factor_cr_delta):0
其间,上述实施例能取决于块的尺寸、CU的深度、或TU的深度而具有不同的应用范围。确定应用范围的参数(例如,关于块的尺寸或深度的信息)可由编码器和解码器设置,使得该参数具有预定值、或者可被设置为根据分布图或电平而具有预定值。当编码器在比特流中写入参数值时,解码器可从比特流获得该值并使用该值。
如果应用范围取决于CU的深度而不同,则以下三种方法能如同表格7中图示的那样应用到上述实施例。方法A仅应用到具有特定深度或更高的深度,方法B仅应用到具有特定深度或更低的深度,而方法C仅应用到特定深度。
表格7示出了用于取决于CU(或TU)的深度确定其中应用本发明的方法的范围的方法的示例。在表格7中,标记“O”意味着向CU(或TU)的对应深度应用对应方法,而标记“X”意味着不向CU(或TU)的对应深度应用对应方法。
【表格7】
指示应用的范围的CU(或TU)的深度
方法A
方法B
方法C
0
X
O
X
1
X
O
X
2
O
O
O
3
O
X
X
4或更高
O
X
X
参考表格7,如果CU(或TU)的深度为2,则能向本发明的实施例应用所有方法A、方法B、和方法C。
如果不向CU(或TU)的所有深度应用本发明的实施例,则其可使用特定指示符(例如,标志)来指示,或者可通过使用指示应用范围的CU的深度的值、用信号传送比CU的深度的最大值大1的值来表示。
此外,用于取决于CU(或TU)的上述深度确定其中应用本发明的方法的范围的方法能取决于亮度块和色度块的尺寸而不同地应用,并且能取决于亮度图像和色度图像而不同地应用。
表格8示出了示意性示出取决于亮度块和色度块的尺寸来确定应用范围的方法的组合的示例。
【表格8】
在表格8中列出的方法中的方法“G 1”的情况下,如果亮度块的尺寸是8(8x8,8x4,2x8等)并且色度块的尺寸是4(4x4,4x2,2x4),则能将本发明的实施例1(G1-实施例1)应用到亮度信号和色度信号以及水平信号和垂直信号。
在以上示范系统中,尽管已基于一连串步骤或块的形式的流程图描述了这些方法,但是本发明不限于这些步骤的顺序,并且一些步骤可按照与其他步骤不同的次序来执行,或者可与其他步骤同时执行。此外,本领域技术人员将理解,流程图中示出的步骤不是排他性的,并且这些步骤可包括附加步骤,或者可删除流程图中的一个或多个步骤,而不影响本发明的范围。
以上描述仅是本发明的技术精神的示例,并且本领域技术人员可按照各种方式改变和修改本发明,而不脱离本发明的本质特性。因此,所公开的实施例不应被解释为限制本发明的技术精神,而是应被解释为图示本发明的技术精神。本发明的技术精神的范围不受到这些实施例的限制,并且应基于所附权利要求来解释本发明的范围。因此,本发明应被解释为覆盖从所附权利要求及其等效的含义和范围引出的所有修改或变型。