用于编码和解码量化矩阵的方法和使用其的设备.pdf

上传人:a*** 文档编号:527342 上传时间:2018-02-20 格式:PDF 页数:85 大小:10.60MB
返回 下载 相关 举报
摘要
申请专利号:

CN201380014811.0

申请日:

2013.01.21

公开号:

CN104170382A

公开日:

2014.11.26

当前法律状态:

实审

有效性:

审中

法律详情:

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

IPC分类号:

H04N19/196(2014.01)I; H04N19/463(2014.01)I; H04N19/70(2014.01)I; H04N19/126(2014.01)I; H04N19/44(2014.01)I

主分类号:

H04N19/196

申请人:

韩国电子通信研究院

发明人:

林成昶; 金晖容; 李镇浩; 崔振秀; 金镇雄

地址:

韩国大田市

优先权:

2012.01.20 KR 10-2012-0006564; 2012.02.06 KR 10-2012-0011672; 2012.02.09 KR 10-2012-0013462; 2012.02.10 KR 10-2012-0013996; 2012.04.16 KR 10-2012-0038971; 2013.01.21 KR 10-2013-0006736

专利代理机构:

北京市柳沈律师事务所 11105

代理人:

李芳华

PDF下载: PDF下载
内容摘要

本发明涉及用于编码和解码量化矩阵的方法以及使用其的设备,根据本发明的用于编码量化矩阵的方法包括以下步骤:确定要用于量化使用的量化矩阵并量化;确定用于量化矩阵的量化使用的预测方法;和基于确定的预测方法来编码量化矩阵信息,其中该预测方法可以是量化矩阵中的系数间的预测方法或量化矩阵的复制。

权利要求书

1.  一种用于编码量化矩阵的方法,包括:
确定在量化中要使用的量化矩阵并执行量化;
确定在量化中使用的量化矩阵的预测方法;和
根据确定的预测方法来编码关于量化矩阵的信息,
其中该预测方法是预测量化矩阵中的系数间预测方法的方法和量化矩阵的拷贝中的任一个。

2.
  根据权利要求1的方法,其中如果该量化矩阵的预测方法是量化矩阵的拷贝,则在编码关于量化矩阵的信息时,编码ID信息以标识在量化矩阵的拷贝中使用的参考矩阵。

3.
  根据权利要求2的方法,其中如果将在量化矩阵的拷贝中使用的参考矩阵确定为缺省矩阵,则该ID信息指示要编码的量化矩阵MatrixID与参考矩阵RefMatrixID相同。

4.
  根据权利要求2的方法,其中如果将在量化矩阵的拷贝中使用的参考矩阵确定为缺省矩阵,则通过量化矩阵的尺寸和类型以及解码器中定义的量化矩阵来指定该缺省矩阵。

5.
  根据权利要求2的方法,其中该ID信息是指示要编码的量化矩阵MatrixID与参考矩阵RefMatrixID之间的差的信息。

6.
  根据权利要求2的方法,其中该ID信息指示要编码的量化矩阵是参考矩阵。

7.
  根据权利要求1的方法,其中:
如果该量化矩阵的预测方法是量化矩阵的拷贝,则在编码关于量化矩阵的信息时,编码ID信息以标识在量化矩阵的拷贝中使用的矩阵,和
该ID信息通过使用一个语法元素来指示在量化矩阵的拷贝中使用的量化矩阵是参考矩阵还是缺省矩阵。

8.
  根据权利要求1的方法,其中如果该量化矩阵的预测方法是量化矩阵内的系数间预测方法,则在编码关于量化矩阵的信息时,使用要编码的量化矩阵中先前编码的量化矩阵的系数,来编码量化矩阵的系数之间的差值。

9.
  一种用于解码量化矩阵的方法,包括:
确定要在反量化中使用的量化矩阵的预测方法;和
根据确定的预测方法来解码要在反量化中使用的量化矩阵,
其中该量化矩阵的预测方法是量化矩阵内的系数间预测方法和量化矩阵的拷贝中的任一个。

10.
  根据权利要求9的方法,其中在确定量化矩阵的预测方法时,基于从编码器接收的扁平信息来确定量化矩阵的预测方法。

11.
  根据权利要求9的方法,其中:
如果该量化矩阵的预测方法是量化矩阵的拷贝,则在解码反量化中要使用的量化矩阵时,基于ID信息来确定要在反量化中使用的并且要解码的量化矩阵MatrixID,和
该ID信息是在量化矩阵的拷贝中使用的标识参考矩阵RefMatrixID的信息。

12.
  根据权利要求11的方法,其中:
如果该ID信息指示要解码的量化矩阵MatrixID与参考矩阵RefMatrixID相同,则在解码量化矩阵时,将要在反量化中使用的并且要解码的量化矩阵MatrixID确定为缺省矩阵,和
该缺省矩阵是在解码器中定义的并且由量化矩阵的尺寸和类型指定的量化矩阵。

13.
  根据权利要求11的方法,其中该ID信息是指示要解码的量化矩阵MatrixID与参考矩阵RefMatrixID之间的差的信息。

14.
  根据权利要求9的方法,其中如果在确定量化矩阵的预测方法时、将量化矩阵的预测方法确定为量化矩阵内的系数间预测方法,则在解码量化矩阵时,使用要解码的量化矩阵内先前解码的量化矩阵的系数来解码量化矩阵的系数之间的差值,并且基于解码的差值来解码量化矩阵的系数。

15.
  根据权利要求9的方法,其中:
如果量化矩阵的预测方法是量化矩阵的拷贝,则在解码量化矩阵时,解码用于标识在量化矩阵的拷贝中使用的量化矩阵的ID信息,并且
该ID信息通过使用一个语法来指示在量化矩阵的拷贝中使用的量化矩阵是参考矩阵还是缺省矩阵。

说明书

用于编码和解码量化矩阵的方法和使用其的设备
技术领域
本发明涉及图像编码和解码技术,并更具体地,涉及用于编码和解码量化索引的方法和设备。
背景技术
具有高清晰度(HD)分辨率的广播服务最近已在全世界以及本地扩展。因此,许多用户已变得习惯于具有高分辨率和高画面质量的图像,并且许多机构激励下一代图像装置的开发。
因为存在对于具有比HDTV高四倍的分辨率的超高清晰度(UHD)以及HDTV的增长兴趣,所以存在对于具有更高分辨率和更高画面质量的图像的压缩技术的需求。
关于图像压缩,可通过预测来编码关于当前画面的像素的信息。例如,能使用其中根据时间上在前和/或时间上在后的画面来预测当前画面中包括的像素值的帧间预测技术、和其中使用关于当前画面中的像素的信息来预测当前画面中包括的像素值的帧内预测技术。
此外,使用其中向具有高出现频率的码元分配短符号并向具有低出现频率的码元分配长符号的熵编码技术,能改进编码效率和降低传送信息的数量。
在该情况下,更有效地执行通过预测生成的残差块的变换系数的量化的方法是有问题的。
发明内容
本发明的目的是提供用于基于可用的变换块的尺寸来限制量化矩阵编码/解码的方法和设备。
本发明的另一目的是提供编码/解码方法和设备,其中能在序列、画面或片段中根据每一变换块的尺寸或量化矩阵的类型,来混合和使用缺省量化矩阵和非缺省量化矩阵。
本发明的另一目的是提供编码/解码方法和设备,其中基于参考量化矩阵ID来使用缺省量化矩阵。
本发明的另一目的是提供编码/解码方法和设备,其通过仅当存在参考量化矩阵时才执行量化矩阵的预测来增加编码效率。
本发明的另一目的是提供用于对DC矩阵系数有效执行预测和编码/解码的方法和设备。
本发明的另一目的是提供用于从和当执行编码/解码时的量化矩阵具有相同尺寸的量化矩阵、执行量化矩阵的预测的编码/解码方法和设备。
本发明的另一目的是提供用于基于量化矩阵内的第一系数来执行预测和编码/解码的方法和设备。
本发明的实施例提供了一种用于编码量化矩阵的方法,包括:确定在量化中要使用的量化矩阵并量化,确定在量化中使用的量化矩阵的预测方法,和根据确定的预测方法来编码关于量化矩阵的信息,其中该预测方法可以是预测量化矩阵中的系数间预测方法的方法和量化矩阵的拷贝中的任一个。
本发明的另一实施例提供了一种用于解码量化矩阵的方法,包括:确定要在反量化中使用的量化矩阵的预测方法,和根据确定的预测方法来解码要在反量化中使用的量化矩阵,其中该量化矩阵的预测方法可以是量化矩阵内的系数间预测方法和量化矩阵的拷贝中的任一个。
根据本发明,通过基于可用的变换块的尺寸限制量化矩阵的编码,能改进编码效率并能降低计算的复杂程度。
根据本发明,通过根据序列、画面、或片段内的每一变换块的尺寸或量化矩阵的类型混合和使用缺省量化矩阵和非缺省量化矩阵,能改进编码效率并能增加编码器选择量化矩阵时的自由度。
根据本发明,通过基于参考量化矩阵ID编码/解码关于是否将使用缺省量化矩阵的信息、或者仅当存在参考量化矩阵时才执行量化矩阵的预测,能改进编码效率,能降低计算的复杂程度,并能增加编码器选择量化矩阵时的自由度。
根据本发明,通过预测和编码/解码DC矩阵系数或从和当执行编码/解码时的量化矩阵具有相同尺寸的量化矩阵执行量化矩阵的预测,能改进编码效率,能降低计算的复杂程度,并能增加编码器选择量化矩阵时的自由度。
此外,根据本发明,通过使用频繁出现的系数值编码/解码量化矩阵内的 第一系数,能改进编码效率并能降低计算的复杂程度。
附图说明
图1是示出了根据其中应用本发明的图像编码设备的实施例的构造的框图。
图2是示出了根据其中应用本发明的图像解码设备的实施例的构造的框图。
图3是示意性图示了其中将一个单元分区为多个下级单元的实施例的概念图。
图4是示意性图示了根据本发明的图像编码方法的流程图。
图5是示意性图示了用于解码关于量化矩阵的信息并通过使用解码的信息来执行解码的解码器的操作的示例的流程图。
图6是示意性图示了根据本发明的执行反量化的方法的示例的流程图。
图7是示意性图示了当在参数集中存在量化矩阵时获得关于量化矩阵的信息、并通过使用该信息来执行反量化的方法的示例的图。
图8是示意性图示了当在参数集中存在量化矩阵时获得关于量化矩阵的信息、并通过使用该信息来执行反量化的方法的另一示例的图。
具体实施方式
其后,参考附图来详细描述本发明的实施例。此外,在描述本发明的实施例时,将省略已知功能和构造的详细描述,如果认为它们使得本发明的要义不必要的模糊的话。
在该说明书中,当认为一个元件与另一元件“连接”、“组合”或“耦接”时,所述一个元件可与所述另一元件直接连接或耦接,但是还应理解的是,第三元件可在这两个元件之间“连接”、“组合”或“耦接”。此外,在该说明书中,描述“包括(或包含)”特定元件的内容不意味着排除除了该特定元件之外的元件,而是意味着附加元件可包括在本发明的实现或本发明的技术精神的范围中。
诸如“第一”和“第二”的术语可被用来描述各种元件,但是这些元件不限于这些术语。使用这些术语将一个元件与另一元件进行区分。例如,第一元件可被称为第二元件,并且同样,第二元件可被称为第一元件,而不脱 离本发明的范围。
此外,独立示出本发明的实施例中描述的元件,以便指示不同和特征功能,并且这不意味着每一元件组成单独硬件或一个软件模块。即,为了便于描述来安排这些元件,并且这些元件中的至少两个可组合以形成一个元件,或者一个元件可被划分为多个元件,并且所述多个元件可执行功能。其中组合元件或者划分每一元件的实施例被包括在本发明的范围中,而不脱离本发明的精髓。
此外,在本发明中,一些元件可以不是执行必要功能的必要元件,而可以是仅用于改进功能的可选元件。本发明可仅使用用于实现本发明的精髓的必要元件而不是仅用来改进性能的元件来实现,并且仅包括这些必要元件而不包括仅用于改进功能的可选元件的结构被包括在本发明的范围中。
首先,为了便于描述和为了帮助理解本发明,简要描述该说明书中使用的术语。
单元意味着图像编码和解码的单元。换言之,在图像编码/解码中,当对一个图像进行细分和编码或解码时,编码单元或解码单元表示分区的单元。该单元也被称为块、宏块、编码单元、预测单元、变换单元、编码块、预测块、变换块等。一个单元可被分区为较小下级单元。
变换单元是执行残差块的编码/解码(诸如变换、逆变换、量化、反量化、和变换系数编码/解码)的基本单元。一个变换单元可被分区为多个较小变换单元。此外,变换单元可被用作与变换块相同的含义。包括与用于亮度和色度信号的变换块相关的语法元素的形式可被称为变换单元。
量化矩阵意味着为了改进图像的主观画面质量或客观画面质量而在量化或逆量化处理中使用的矩阵。量化矩阵也被称为缩放列表。并且逆量化处理与反量化处理相同。
量化/反量化中使用的量化矩阵可按照比特流的形式传送,并且可使用已在编码器和/或解码器中包括的缺省矩阵作为量化矩阵。根据每一量化矩阵的尺寸或其中通过序列参数集(SPS)或画面参数集(PPS)应用量化矩阵的变换块的尺寸,关于量化矩阵的信息可一次全部(in a lump)传送。例如,可传送用于4x4变换块的4x4量化矩阵,可传送用于8x8变换块的8x8矩阵,可传送用于16x16变换块的16x16矩阵,并可传送用于32x32变换块的32x32矩阵。
向当前块施加的量化矩阵可(1)通过拷贝具有相同尺寸的量化矩阵来获得和(2)通过根据量化矩阵中的先前矩阵系数进行预测来生成。具有相同尺寸的矩阵可以是已先前编码或解码或使用的量化矩阵、参考量化矩阵、或缺省量化矩阵。或者,可以通过包括已先前编码或解码或使用的量化矩阵、参考量化矩阵、和缺省量化矩阵中的至少两个的组合,来选择性确定具有相同尺寸的矩阵。
参数集对应于关于比特流中的结构的报头的信息,并具有共同表示序列参数集、画面参数集、自适应参数集等的含义。
量化参数是在量化和反量化中使用的值,并可以是映射到量化步长尺寸的值。
缺省矩阵可意味着已在编码器和/或解码器中先前定义的特定量化矩阵。本说明书中稍后要描述的缺省量化矩阵可被用作和缺省矩阵相同的含义。非缺省矩阵可意味着还没有在编码器和/或解码器中先前定义、并从编码器传送到解码器(即,用户传送/接收)的量化矩阵。本说明书中稍后要描述的非缺省量化矩阵能被用作和非缺省矩阵相同的含义。
图1是示出了根据其中应用本发明的图像编码设备的实施例的构造的框图。
参考图1,图像编码设备100包括运动预测模块111、运动补偿模块112、帧内预测模块120、开关115、减法器125、变换模块130、量化模块140、熵编码模块150、反量化(逆量化)模块160、逆变换模块170、加法器175、滤波器模块180、和参考图像缓冲器190。
图像编码设备100可按照帧内模式或帧间模式对输入图像执行编码并输出比特流。帧内预测意味着帧内预测,而帧间预测意味着帧间预测。在帧内模式的情况下,开关115可切换到帧内模式,而在帧间模式的情况下,开关115可切换到帧间模式。在生成用于输入图像的输入块的预测块之后,图像编码设备100可编码输入块和预测块之间的差。这里,输入图像可意味着原始图像。
在帧内模式的情况下,帧内预测模块120可通过基于与当前块相邻的已编码块的像素值执行空间预测,来生成预测块。
在帧间模式的情况下,运动预测模块111可在运动预测处理中在参考图像缓冲器190中存储的参考图像中搜索与输入块最佳匹配的区域,并基于检 索的区域来获得运动向量。运动补偿模块112能通过使用运动向量执行运动补偿,来生成预测块。这里,运动向量是在帧间预测中使用的2维向量,并且运动向量可指示当前块和参考图像中的块之间的偏移。
减法器125可基于输入块和生成的预测块之间的差来生成残差块。变换模块130可通过对残差块执行变换来输出变换系数。接下来,量化模块140可通过使用量化参数和量化矩阵中的至少一个对接收的变换系数进行量化,来输出量化后的系数。这里,量化矩阵可被输入到编码器,并且可以确定在编码器中使用输入的量化矩阵。
熵编码模块150可通过基于量化模块140所计算的值或在编码处理中计算的编码参数值等执行熵编码,来输出比特流。如果施加熵编码,则可通过向具有高出现概率的码元分配小数目比特并向具有低出现概率的码元分配大数目比特,来表示码元,以便降低用于编码要编码的码元的比特流的尺寸。因此,能通过熵编码来增加图像编码的压缩性能。熵编码模块150可使用诸如指数哥伦布编码、上下文自适应可变长度编码(CAVLC)和上下文自适应二进制算术编码(CABAC)的编码方法用于熵编码。
根据图1的实施例的图像编码设备(其后称为编码器)执行帧间预测编码(即,帧间预测编码),并由此当前编码的图像需要被解码和存储,以便用作参考图像。因此,量化后的系数经受反量化模块160的反量化并经受逆变换模块170的逆变换。逆量化和逆变换后的系数成为重构后的残差块,并且通过加法器175将重构后的残差块添加到预测块,由此生成重构块。
重构块经过(experiences)滤波器模块180。滤波器模块180可向重构块或重构画面应用解块滤波器、样本自适应偏移(SAO)、和自适应环路滤波器(ALF)中的一个或多个。滤波器模块180也可被称为环内滤波器。解块滤波器可去除在块的边界处已出现的块的失真。SAO可向像素值添加适当偏移值以便补偿编码误差。ALF可基于通过比较重构图像与原始图像而获得的值,来执行滤波。已经过滤波器模块180的重构块可被存储在参考图像缓冲器190中。
图2是示出了根据其中应用本发明的图像解码设备的实施例的构造的框图。
参考图2,图像解码设备200包括熵解码模块210、反量化(逆量化)模块220、逆变换模块230、帧内预测模块240、运动补偿模块250、加法器 255、滤波器模块260、和参考图像缓冲器270。
图像解码设备200可接收从编码器输出的比特流,按照帧内模式或帧间模式来对比特流执行解码,并输出重构的图像。在帧内模式的情况下,开关可切换到帧内模式。在帧间模式的情况下,开关可切换到帧间模式。图像解码设备200可从接收的比特流获得重构的残差块,生成预测块,并通过将重构的残差块添加到预测块来生成重构块。
熵解码模块210可通过根据概率分布对输入比特流执行熵解码,来生成包括具有量化后的系数形式的码元的码元。熵解码方法与上述熵编码方法类似。
如果应用熵解码方法,则可通过向具有高出现概率的码元分配小数目比特并向具有低出现概率的码元分配大数目比特来表示码元,以便降低每一码元的比特流的尺寸。
量化后的系数可经受反量化模块220基于量化参数的反量化,并可经受逆变换模块230的逆变换。作为对量化后的系数的反量化/逆变换的结果,可生成重构的残差块。
反量化中使用的量化矩阵也被称为缩放列表。反量化模块220能通过向量化后的系数应用量化矩阵,来生成逆量化后的系数。
这里,反量化模块220可响应于编码器应用的量化来执行反量化。例如,反量化模块220可通过向量化后的系数相反应用编码器所应用的量化矩阵,来执行反量化。
图像解码设备200(其后称为解码器)在反量化中使用的量化矩阵可从比特流接收,并且已在编码器和/或解码器中包括的缺省矩阵可被用作量化矩阵。根据每一量化矩阵的尺寸或其中通过序列参数集或画面参数集应用量化矩阵的变换块的尺寸,所传送的关于量化矩阵的信息可一次全部接收。例如,可接收用于4x4变换块的4x4量化矩阵,可接收用于8x8变换块的8x8矩阵,可接收用于16x16变换块的16x16矩阵,并可接收用于32x32变换块的32x32矩阵。
在帧内模式的情况下,帧内预测模块240可通过使用当前块周围的已解码块的像素值执行空间预测,来生成预测块。在帧间模式的情况下,运动补偿模块250可通过使用运动向量和参考图像缓冲器270中存储的参考图像执行运动补偿,来生成预测块。
加法器255将重构的残差块和预测块相加到一起,并且相加的块能经过滤波器模块260。滤波器模块260可向重构的块或重构的画面应用解块滤波器、SAO、和ALF中的一个或多个。滤波器模块260能输出重构的图像(即,恢复的图像)。重构的图像可被存储在参考图像缓冲器270中并用于帧间预测。
其间,块分区信息可包括关于单元的深度的信息。该深度信息可指示单元被分区的次数和/或单元被分区的程度。
图3是示意性图示了其中将一个单元分区为多个下级单元的实施例的概念图。
可利用深度信息基于树结构来对一个单元或块进行分级分区。每一分区的下级单元可具有深度信息。该深度信息可包括关于下级单元的尺寸的信息,因为它指示单元被分区的次数和/或单元被分区的程度。
参考图3的310,最高节点可被称为根节点,而最高节点能具有最小深度值。这里,最高节点能具有级别0的深度,并能指示还没有分区的第一单元。
具有级别1的深度的下级节点能指示从第一单元分区一次的单元,并且具有级别2的深度的下级节点能指示从第一单元分区两次的单元。例如,在图3的320中,对应于节点“a”的单元“a”是从第一单元分区一次的单元,并且单元“a”能具有级别1的深度。
级别3的叶节点能指示从第一单元分区三次的单元。例如,在图3的320中,对应于节点“d”的单元“d”是从第一单元分区三次的单元,并且单元“d”能具有级别3的深度。因此,级别3的叶节点(即,最低节点)能具有最深深度。
迄今已描述了示意性编码/解码方法。如同编码/解码的其他处理,编码/解码处理的量化和逆量化处理中使用的量化矩阵编码/解码方法对编码效率具有大影响。因此,必须通过考虑编码效率来改进量化/反量化。
更具体地,传统上,通过不考虑可用的变换单元的最小尺寸和最大尺寸,来对所有变换的量化矩阵进行编码/解码。此外,传统上,一次全部应用量化矩阵,而不在序列、画面或片段中根据变换的尺寸或量化矩阵的类型来混合和使用缺省矩阵和非缺省矩阵。因此,存在的缺点在于,编码器选择量化矩阵时的自由度低,并且编码效率低,因为不需要编码/解码的缺省矩阵必须被 编码和传送。
如上所述,根据传统方法,在应用量化矩阵时,自由度和编码效率低,并且复杂程度高。
为了解决这些问题,需要考虑有效使用量化矩阵的方法,以便改进编码效率并降低量化/反量化中的复杂程度。
图4是示意性图示了根据本发明的图像编码方法的流程图。
参考图4,在步骤S410,编码器确定关于当前序列或画面的变换单元的尺寸的信息并编码该信息。
关于变换单元的尺寸的信息意味着变换单元的最小尺寸和最大尺寸中的至少一个。当编码图像时,编码器能确定变换单元的最小尺寸和最大尺寸。
例如,编码器能将正方形变换单元的最小尺寸确定为4x4块或者能将正方形变换单元的最大尺寸确定为32x32块。此外,编码器可将正方形变换单元的最小尺寸和最大尺寸分别确定为4x4块和32x32块。编码器能根据正方形变换单元的最小尺寸和最大尺寸执行编码。
编码器能对对于比特流所确定的关于变换单元的尺寸的信息执行熵编码。例如,编码器能在比特流中将所确定的关于变换单元的尺寸的信息编码为参数集。
如上所述,关于变换单元的尺寸的信息表示关于变换单元的最小尺寸和最大尺寸中的至少一个的信息。因此,编码器能将关于变换单元的最小尺寸和最大尺寸的信息作为关于变换单元的尺寸的信息编码到比特流中。这里,变换单元的最大尺寸能使用变换单元的最大尺寸和变换单元的最小尺寸之间的差值来指定。
表格1示意性示出了已被熵编码为比特流的序列参数集的关于变换单元的尺寸的信息的示例。
<表格1>

如同表格1中图示的语法元素中那样,在通过向正方形变换单元的最小 水平或垂直尺寸应用Log2函数来计算Log2MinTrafoSize之后,编码器能指定通过使用log2_min_transform_block_size_minus2从Log2MinTrafoSize减去2而获得的值。此外,在通过向正方形变换单元的最大水平或垂直尺寸应用Log2函数来计算Log2MaxTrafoSize之后,编码器能通过使用log2_diff_max_min_transform_block_size来指定Log2MaxTrafoSize和Log2MinTrafoSize之间的差值。编码器能将log2_min_transform_block_size_minus2和log2_diff_max_min_transform_block_size(即,语法元素)编码为比特流,并将得到的比特流发送到解码器。换言之,编码器能编码log2_min_transform_block_size_minus2和log2_diff_max_min_transform_block_size所指示的值,并按照比特流的形式来发送所编码的值。
编码器能在步骤S420编码关于量化矩阵的信息。编码器能编码关于量化矩阵的信息,包括以下的一个或多个:(1)关于是否已使用量化矩阵的信息、(2)关于是否存在量化矩阵的信息、(3)关于是否已编码量化矩阵以及是否已使用缺省矩阵的信息、(4)预测编码方法和量化矩阵的类型、(5)参考量化矩阵ID(标识符)、和(6)已先前编码的量化矩阵的系数值和量化矩阵中要编码的量化矩阵的系数值之间的差值。
这里,编码器可基于关于变换单元的尺寸的信息,来编码关于量化矩阵的信息。
其后,参考图和下面的表格来详细描述用于编码关于量化矩阵的信息的方法。
关于量化矩阵的信息指示编码器所确定或使用的方法。例如,编码器能确定是否使用量化矩阵,并能将关于是否已使用量化矩阵的信息编码为参数集。因此,所编码的关于是否已使用量化矩阵的信息指示是否已使用编码器所确定的量化矩阵。
表格2示出其中将关于是否已使用量化矩阵的信息编码为序列参数的示例。
<表格2>

如同表格2的语法中那样,编码器能将scaling_list_enabled_flag(即,关于是否已使用量化矩阵的信息)编码为序列参数集,并将编码的信息发送到解码器。当scaling_list_enabled_flag的值是1时,它可指示对于所有序列在变换系数的反量化/缩放中使用该量化矩阵。当scaling_list_enabled_flag的值是0时,它可指示在变换系数的反量化/缩放中不使用该量化矩阵。这里,语法能意味着语法元素。
在确定是否存在量化矩阵之后,编码器能将关于是否存在量化矩阵的信息编码为参数集。
表格3示出其中将关于是否存在量化矩阵的信息编码为参数集的示例。
<表格3>

如同表格3的语法中那样,编码器能将aps_scaling_list_data_present_flag(即,关于是否存在量化矩阵的信息)编码为参数集。在表格3中,已图示了其中将关于是否存在量化矩阵的信息编码为自适应参数集的示例,但是本发明不限于此。例如,编码器可将关于是否存在量化矩阵的信息编码为另一参数集。
在表格3中,当aps_scaling_list_data_present_flag的值是1时,它指示在该自适应参数集中存在该量化矩阵。当aps_scaling_list_data_present_flag的值是0时,它指示在该自适应参数集中不存在该量化矩阵。如果scaling_list_enabled_flag的值是1并且aps_scaling_list_data_present_flag的值是0,则这可意味着当执行反量化时使用缺省矩阵。此外,关于是否存在量化矩阵的信息能在不同参数集中存在。例如,如果使用指示是否在序列中存 在量化矩阵的sps_scaling_list_data_present_flag和指示是否在画面中存在量化矩阵的pps_scaling_list_data_present_flag,则当sps_scaling_list_data_present_flag的值为1并且pps_scaling_list_data_present_flag的值为0时,当执行量化/反量化时,能使用与该序列对应的量化矩阵。即,如果通过几个参数集传送量化矩阵并且在一些参数集中不存在量化矩阵,则当执行量化/反量化时,能使用在活动参数集中存在或不存在的量化矩阵。从稍后要描述的实施例中,以上内容也能应用到其中对关于是否存在量化矩阵的信息进行编码/解码的内容。
在确定是否编码量化矩阵以及是否使用缺省矩阵之后,编码器能将关于是否已编码量化矩阵和是否已使用缺省矩阵的信息编码为参数集。
表格4示出其中将关于是否已编码量化矩阵和是否已使用缺省矩阵的信息编码为参数集的示例。
<表格4>

如同表格4的语法中那样,编码器能将use_default_scaling_list_flag(即,关于是否已编码量化矩阵和是否已使用缺省矩阵的信息)编码为自适应参数集。当use_default_scaling_list_flag的值为1时,不编码量化矩阵并由此所有量化矩阵的系数值被确定为与编码器和/或解码器中定义的缺省矩阵的系数值相同。当use_default_scaling_list_flag的值为0时,编码量化矩阵并且不使用编码器和/或解码器中定义的缺省矩阵。
表格4图示了其中将use_default_scaling_list_flag编码为自适应参数集的示例。这仅是为了便于描述的示例。在一些实施例中, use_default_scaling_list_flag可被编码为另一参数集。
可通过考虑变换单元的尺寸或变换块的尺寸、编码模式、和颜色分量,来确定关于量化矩阵的信息。此外,关于量化矩阵的信息可指示对应信息是亮度分量(Y,luma)还是色度分量(Cb,Cr,chroma)。
例如,编码器能通过使用SizeID(即,与量化矩阵的尺寸对应的信息)和MatrixID(即,与量化矩阵的类型对应的信息),来确定量化矩阵的编码、是否使用缺省矩阵、和预测编码方法中的至少一个。这里,SizeID可被解释为关于与变换单元的尺寸对应的量化矩阵的信息或关于与变换块的尺寸对应的量化矩阵的信息。此外,该说明书中使用的SizeID与sizeID和sizeId相同,并且MatrixID与matrixID和matrixId相同。
这里,编码器可使用其中存储的表格和/或解码器中存储的表格。
表格5示出了用来指示变换块的尺寸或与变换块对应的量化矩阵的尺寸的表格的示例。
<表格5>

在表格5的示例中,SizeID值指定变换单元的尺寸、变换块的尺寸、或量化矩阵的尺寸。
表格6示出了其中使用量化矩阵的块的编码模式、和映射到颜色分量的量化矩阵的类型的表格的示例。
<表格6>


在表格6的示例中,MatrixID值可指示在量化矩阵中使用的编码模式和指定颜色分量的量化矩阵的类型。这里,编码模式可意味着预测模式。
表格7和8是基于表格5和6中确定的SizeID和MatrixID来指定缺省量化矩阵所使用的缺省量化矩阵表格的示例。这里,表格中的每一值意味着通过ScalingList[SizeID][MatrixID][i]指定的值。
<表格7>

i0123456789101112131415ScalingList[0][0..2][i]16161616161616161616161616161616ScalingList[0][3..5][i]16161616161616161616161616161616

<表格8>

表格7涉及其中SizeID值是0(即,4x4块)的缺省量化矩阵,而表格8涉及其中SizeID值是1(即,8x8块)、2(即,16x16块)、和3(即,32x32 块)的缺省量化矩阵。在表格7和8中,SizeID和MatrixID值是在表格5和6中指定的值。
在表格7和8中,“i”指定量化矩阵中每一系数的位置。在量化矩阵的情况下,例如,在用于16x16块或32x32块的量化矩阵的情况下,不指定用于所有16x16块和32x32块的量化矩阵值,但是可指定仅用于8x8块的量化矩阵系数,并且可基于8x8块来导出未指定的量化矩阵系数并使用。表格8示出了其中对于每一8x8块指定缺省量化矩阵的示例。用于16x16块或32x32块的量化矩阵系数可被内插并从对于每一8x8块存储的量化矩阵中导出,或可按照特定方式导出。如果通过内插从8x8尺寸的量化矩阵导出16x16尺寸或32x32尺寸的量化矩阵,则不使用内插值,而是可使用附加值作为DC位置处的量化矩阵系数。
其间,如果通过考虑可用的变换单元的最小尺寸和最大尺寸而不使用量化矩阵,则必须编码具有所有尺寸的变换单元的量化矩阵。在该情况下,编码效率可恶化,并且计算的复杂程度可增加。
为了解决这些问题,编码器可通过考虑变换单元的尺寸来编码关于量化矩阵的信息。例如,编码器可基于关于变换单元的尺寸的多条信息之中的、最小尺寸和最大尺寸来限制SizeID。
编码器能通过使用限制SizeID执行量化矩阵的编码、关于是否已使用缺省矩阵的信息的编码、以及关于预测编码方法的类型的信息的编码中的一个或多个。
表格9示出了当通过限制SizeID执行量化矩阵的编码时使用的语法结构的示例。
<表格9>

如同表格9的示例中那样,编码器能基于关于变换单元的尺寸的多条信息之中的、最小尺寸和最大尺寸来限制SizeID,并按照特定变换单元尺寸来执行量化矩阵的编码、关于是否已使用缺省矩阵的信息的编码、以及关于预测编码方法的类型的信息的编码中的一个或多个。
例如,当Log2MinTrafoSize的值是3并且Log2MaxTrafoSize的值是4时,编码器能执行与8x8变换单元到16x16变换单元对应的量化矩阵的编码、关于是否已使用缺省矩阵的信息的编码、以及关于预测编码方法的类型的信息的编码中的一个或多个。
其间,在表格9的示例中,可以不编码use_default_scaling_list_flag。
此外,编码器能基于关于变换单元的尺寸的多条信息之中的、最大尺寸和最小尺寸之间的差值来限制SizeID,并执行量化矩阵的编码、关于是否已使用缺省矩阵的信息的编码、以及关于预测编码方法的类型的信息的编码中的一个或多个。
表格10示意性示出了通过基于关于变换单元的尺寸的多条信息之中的、最大尺寸和最小尺寸之间的差值限制SizeID、来编码关于量化矩阵的多条信息所使用的语法结构的示例
<表格10>

在表格10的语法示例中,基于关于变换单元的尺寸的多条信息之中的、最大尺寸和最小尺寸之间的差值来限制SizeID。编码器能基于关于变换单元的尺寸的多条信息之中的、最大尺寸和最小尺寸之间的差值来限制SizeID,并能基于受限SizeID在特定变换单元的尺寸的范围上、编码关于量化矩阵的信息、关于是否已使用缺省矩阵的信息、以及关于预测编码方法的类型的信息中的一个或多个。
在表格10的示例中,当Log2MinTrafoSize的值为3并且Log2MaxTrafoSize的值为4时,编码器能执行与8x8变换单元到16x16变换单元对应的量化矩阵的编码、关于是否已使用缺省矩阵的信息的编码、以及关于预测编码方法的类型的信息的编码中的一个或多个。
这里,Log2MaxTrafoSize和Log2MinTrafoSize之间的差值是变换单元的最大尺寸和最小值之间的差值,并能与log2_diff_max_min_transform_block_size相同。此外,Log2MinTrafoSize-2能与log2_min_transform_block_size_minus2相同。
在表格10的示例中,可以不编码use_default_scaling_list_flag。
其间,如果没有在序列、画面或片段中根据每一变换块(或单元)的尺寸或量化矩阵的类型、来混合和使用缺省矩阵和非缺省矩阵,则降低当编码器选择量化矩阵时的自由度。例如,为了使用片段中具有特定尺寸的变换块的缺省矩阵和片段中具有特定尺寸的另一变换块的非缺省矩阵,必须编码缺省矩阵并将其传送到解码器。结果,编码效率恶化。
为了在序列、画面或片段中根据每一变换尺寸或量化矩阵的类型、来混合和使用缺省矩阵和非缺省矩阵,编码器能基于SizeID将关于是否已编码量化矩阵的信息和关于是否已使用缺省矩阵的信息编码为参数集。
表格11示出了当基于SizeID编码关于量化矩阵的信息时能使用的语法结构的示例。
<表格11>

如同表格11的示例中那样,编码器能基于SizeID将sid_use_default_scaling_list_flag[SizeID][MatrixID](即,关于是否已编码量化矩阵和是否已使用缺省矩阵的信息)编码为自适应参数集。MatrixID指示表格6中的特定量化矩阵的类型。
当sid_use_default_scaling_list_flag[SizeID][MatrixID]的值为1时,不编码与SizeID对应的量化矩阵,并且能将与SizeID对应的量化矩阵的系数值确定为与编码器和/或解码器中定义的缺省矩阵的系数值相同。当sid_use_default_scaling_list_flag[SizeID][MatrixID]的值为0时,编码与SizeID对应的量化矩阵,并且可以不在与SizeID对应的量化矩阵中使用编码器和/或解码器中定义的缺省矩阵。
在表格11的示例中,可以不编码use_default_scaling_list_flag。
此外,编码器能基于SizeID将关于是否已编码量化矩阵和关于是否已使用缺省矩阵的信息编码为参数集。
表格12示意性示出了当使用MatrixID编码关于量化矩阵的信息时能使用的语法结构的示例。
<表格12>

如同表格12的示例中那样,编码器能基于MatrixID将mid_use_default_scaling_list_flag[SizeID][MatrixID](即,关于是否已编码量化矩阵和是否已使用缺省矩阵的信息)编码为自适应参数集。
当mid_use_default_scaling_list_flag[SizeID][MatrixID]的值为1时,不编码与MatrixID对应的量化矩阵,并且能将与MatrixID对应的量化矩阵的系数值确定为与编码器和/或解码器中定义的缺省矩阵的系数值相同。当mid_use_default_scaling_list_flag[SizeID][MatrixID]的值为0时,编码与MatrixID对应的量化矩阵,并且不使用编码器和/或解码器中定义的缺省矩阵作为MatrixID对应的量化矩阵。
在表格12的示例中,可以不编码use_default_scaling_list_flag。
此外,编码器能基于SizeID和MatrixID来将关于是否已编码量化矩阵和是否已使用缺省矩阵的信息编码为参数集。
表格13示意性示出了当使用SizeID和MatrixID来编码关于量化矩阵的信息时能使用的语法结构的示例。
<表格13>

如同表格13的示例中那样,编码器能基于SizeID和MatrixID来将sid_mid_use_default_scaling_list_flag[SizeID][MatrixID](即,关于是否已编码量化矩阵和是否已使用缺省矩阵的信息)编码为自适应参数集。
当sid_mid_use_default_scaling_list_flag[SizeID][MatrixID]的值为1时,不编码与SizeID和MatrixID对应的量化矩阵,并且能将与SizeID和MatrixID对应的量化矩阵的系数值确定为与编码器和/或解码器中定义的缺省矩阵的系数值相同。
当sid_mid_use_default_scaling_list_flag[SizeID][MatrixID]的值为0时,编码与SizeID和MatrixID对应的量化矩阵,并且不使用编码器和/或解码器中定义的缺省矩阵作为与SizeID和MatrixID对应的量化矩阵。
在表格13的示例中,可以不编码use_default_scaling_list_flag。
其间,与表格13的示例中不同,编码器能基于SizeID和MatrixID来将关于是否已编码量化矩阵和是否已使用缺省矩阵的信息编码为参数集。编码器能基于关于变换单元的尺寸的多条信息之中的、最小尺寸和最大尺寸,来限制SizeID,并基于受限SizeID执行量化矩阵的编码、关于是否已使用缺省矩阵的信息的编码、以及关于预测编码方法的类型的信息的编码中的一个或多个。
表格14示意性示出了当通过使用SizeID和MatrixID编码关于量化矩阵的信息时能使用的另一语法结构的示例。
<表格14>

在表格14的示例中,可以不编码use_default_scaling_list_flag。
此外,编码器能基于关于变换单元的尺寸的多条信息之中的、最大尺寸和最小值之间的差值来限制SizeID,并执行量化矩阵的编码、关于是否已使用缺省矩阵的信息的编码、以及关于预测编码方法的类型的信息的编码中的一个或多个。
表格15示意性示出了当通过使用SizeID和MatrixID编码关于量化矩阵的信息时能使用的另一语法结构的示例。
<表格15>

在表格15的示例中,Log2MaxTrafoSize(指定变换单元的最大尺寸)和Log2MinTrafoSize(指定变换单元的最小尺寸)之间的差值是变换单元的最大尺寸和最小值之间的差值,并且与 log2_diff_max_min_transform_block_size相同。Log2MinTrafoSize-2与log2_min_transform_block_size_minus2相同。
在表格15的示例中,编码器能基于通过Log2MaxTrafoSize-Log2MinTrafoSize+1所限制的SizeID和MatrixID,来将关于是否已编码量化矩阵和是否已使用缺省矩阵的信息编码为参数。
在表格15的示例中,可以不编码use_default_scaling_list_flag。
其间,关于在要编码的参数集中是否存在关于量化矩阵的信息或者是否将更新关于量化矩阵的信息的信息可被编码为参数集并在编码/解码中使用。
表格16示意性示出了当编码关于是否存在量化矩阵的信息时能使用的语法结构的示例。
<表格16>

在表格16的示例中,编码器能通过使用语法元素scaling_list_update_flag[SizeID][MatrixID]来指定在要编码的参数中是否存在关于量化矩阵的信息。
例如,当scaling_list_update_flag[SizeID][MatrixID]的值为1时,它能指示存在关于与SizeID和MatrixID对应的量化矩阵的信息。当scaling_list_update_flag[SizeID][MatrixID]的值为1时,它可指示将关于与SizeID和MatrixID对应的并且先前编码的量化矩阵的信息更新为要编码的参数集中的关于与SizeID和MatrixID对应的量化矩阵的信息。该更新能意味着将关于已先前编码的量化矩阵的信息替换为要编码的参数集中的关于 量化矩阵的信息。
当scaling_list_update_flag[SizeID][MatrixID]的值为0时,它可指示不存在关于与SizeID和MatrixID对应的量化矩阵的信息。当scaling_list_update_flag[SizeID][MatrixID]的值为0时,它可指示不更新关于编码矩阵的信息。
当scaling_list_update_flag[SizeID][MatrixID]的值为0时,解码器不知道它不得不通过使用关于哪个量化矩阵的信息对与SizeID和MatrixID对应的量化后变换系数执行反量化,因为在参数集中不存在关于与SizeID和MatrixID对应的量化矩阵的信息、并且还没有对关于量化矩阵的信息进行编码。因此,当scaling_list_update_flag[SizeID][MatrixID]的值为0时,与SizeID和MatrixID对应的量化矩阵可意味着使用缺省矩阵或不使用量化矩阵,因为不存在关于与SizeID和MatrixID对应的量化矩阵的信息。
在表格16的示例中,当scaling_list_update_flag[SizeID][MatrixID]的值为1时,因为基于SizeID和MatrixID来编码scaling_list_update_flag[SizeID][MatrixID],所以编码器能编码关于量化矩阵的信息、关于是否已使用缺省矩阵的信息、以及关于预测编码方法的类型的信息中的一个或多个。
当scaling_list_update_flag[SizeID][MatrixID]的值为0时,编码器不编码关于量化矩阵的信息、关于是否已使用缺省矩阵的信息、以及关于预测编码方法的类型的信息中的一个或多个。即,编码器可以不通过使用scaling_list_update_flag[SizeID][MatrixID]来编码不必要的量化矩阵。
由于不能仅通过使用scaling_list_update_flag[SizeID][MatrixID]对于序列、画面、或片段中的每一变换尺寸或每一量化矩阵的类型、来混合和使用缺省矩阵和非缺省矩阵,所以存在的缺点在于,当编码器选择量化矩阵时的自由度低。
因此,编码器能基于SizeID和MatrixID将sid_mid_use_default_scaling_list_flag[SizeID][MatrixID](即,关于是否已编码量化矩阵和是否已使用缺省矩阵的信息)编码为参数集。
例如,在表格16的示例中,当sid_mid_use_default_scaling_list_flag[SizeID][MatrixID]的值为1时,不编码与SizeID和MatrixID对应的量化矩阵,并且与SizeID和MatrixID对应的量 化矩阵的系数值能被确定为与编码器和/或解码器中定义的缺省矩阵系数值相同。当sid_mid_use_default_scaling_list_flag[SizeID][MatrixID]的值为0时,编码与SizeID和MatrixID对应的量化矩阵,并且编码器和/或解码器中定义的缺省矩阵不被用作与SizeID和MatrixID对应的量化矩阵。
在表格16的示例中,可以不编码use_default_scaling_list_flag。
此外,编码器能基于SizeID和MatrixID将关于是否已编码量化矩阵和关于是否已使用缺省矩阵的信息编码到参数集中。此外,编码器可使用scaling_list_update_flag[SizeID][MatrixID](即,这样的信息,该信息指示关于量化矩阵的信息是否将被更新为要编码的参数中的关于与SizeID和MatrixID对应的量化矩阵的信息)。
表格17示意性示出了如上所述当使用SizeID和MatrixID编码关于量化矩阵的信息时能使用的语法结构的示例。
<表格17>

在表格17的示例中,当sid_mid_use_default_scaling_list_flag[SizeID][MatrixID]的值为0并且scaling_list_update_flag[SizeID][MatrixID]的值为0时,编码与SizeID和MatrixID对应的量化矩阵。与SizeID和MatrixID对应的先前已编码的量化矩阵不被更新为与要编码的参数中的SizeID和MatrixID对应的量化矩阵,并且没有改变地使用与编码的SizeID和MatrixID对应的先前已编码的量化矩阵。
此外,当sid_mid_use_default_scaling_list_flag[SizeID][MatrixID]的值为 0并且scaling_list_update_flag[SizeID][MatrixID]的值为1时,编码与SizeID和MatrixID对应的量化矩阵,并且将与SizeID和MatrixID对应的先前已编码的量化矩阵更新为与要编码的参数中的SizeID和MatrixID对应的量化矩阵。
此外,当sid_mid_use_default_scaling_list_flag[SizeID][MatrixID]的值为1并且scaling_list_update_flag[SizeID][MatrixID]的值为0时,不编码与SizeID和MatrixID对应的量化矩阵,并且量化矩阵的系数值被确定为与编码器和/或解码器中定义的缺省矩阵的系数值相同。与SizeID和MatrixID对应的先前已编码的量化矩阵不被更新为与要编码的参数中的SizeID和MatrixID对应的量化矩阵,并且编码器和解码器使用与SizeID和MatrixID对应的先前已编码的量化矩阵。
此外,当sid_mid_use_default_scaling_list_flag[SizeID][MatrixID]的值为1并且scaling_list_update_flag[SizeID][MatrixID]的值也为1时,不编码与SizeID和MatrixID对应的量化矩阵,并且量化矩阵的系数值被确定为与编码器和/或解码器中定义的缺省矩阵的系数值相同。与SizeID和MatrixID对应的先前已编码的量化矩阵被更新为与要编码的参数中的SizeID和MatrixID对应的量化矩阵。
在表格17的示例中,可以不编码use_default_scaling_list_flag。
此外,在确定预测和编码量化矩阵的方法的类型之后,编码器能将关于预测和编码量化矩阵的方法的信息编码到参数集中。
表格18和19示意性示出了当将预测和编码量化矩阵的方法编码到参数集中时能使用的语法的示例。
<表格18>

<表格19>

如同表格18的示例中那样,编码器能将pred_mode_flag(即,关于预测和编码量化矩阵的方法的信息)编码到自适应参数集。该说明书中稍后描述的scaling_list_pred_mode_flag能被解释为和pred_mode_flag具有相同含义。
例如,在表格18的示例中,当pred_mode_flag的值为1时,编码器能根据差分脉码调制(DPCM)方法和指数哥伦布编码方法来编码量化矩阵。当pred_mode_flag的值为0时,编码器能确定要编码的量化矩阵的系数值,使得它们和先前编码的量化矩阵的系数值具有相同值。这里,量化矩阵的系数值和先前编码的量化矩阵的系数值可以是不同量化矩阵内的值。
如果pred_mode_flag的值为0,则编码器能将关于要编码的量化矩阵的参考量化矩阵ID的信息编码到参数集中。
因此,如同表格18的示例中那样,编码器能将pred_matrix_id_delta(即,要编码的量化矩阵的参考量化矩阵ID)编码到自适应参数集中。
该说明书中要描述的scaling_list_pred_matrix_id_delta能被解释为和pred_matrix_id_delta具有相同含义。这里,编码器和解码器能通过使用pred_matrix_id_delta和等式1,来确定指示要编码的量化矩阵的参考量化矩阵的RefMatrixID的值。
<等式1>
RefMatrixID=MatrixID-(1+pred_matrix_id_delta)
如果用于预测和编码量化矩阵的方法是根据DPCM和指数哥伦布编码方法来编码量化矩阵的方法,则编码器能将已先前编码的量化矩阵的系数值和要编码的量化矩阵的系数值之间的差值编码为参数集。这里,先前编码的量化矩阵的系数值可以是要编码的量化矩阵内的系数值。即,先前编码的量化矩阵的系数值和要编码的量化矩阵的系数值可以是相同量化矩阵内的值。
因此,如同表格19的示例中那样,编码器能将delta_coef(即,先前编码的量化矩阵的系数值和要编码的量化矩阵的系数值之间的差值)编码为自适应参数集。该说明书中稍后描述的delta_coef可被解释为和scaling_list_delta_coef具有相同含义。
编码器能通过使用以下方法来混合和使用序列、画面、或片段中的缺省量化矩阵和非缺省量化矩阵,并能防止传送不必要的量化矩阵。
如果用于预测和编码量化矩阵的方法是确定缺省矩阵使得缺省矩阵与编码器中已包括的并先前编码的量化矩阵相同(pred_mode_flag=0)的方法,则编码器能通过使用要编码的量化矩阵的参考量化矩阵ID,来将关于是否已使用缺省矩阵的信息编码为参数集。
因此,如同表格18的示例中那样,编码器能将pred_matrix_id_delta(即,要编码的量化矩阵的参考量化矩阵ID)编码为参数集。这里,编码器和解码器能通过使用pred_matrix_id_delta和等式2来确定指示要编码的量化矩阵的参考量化矩阵或缺省矩阵的RefMatrixID,并确定是否使用缺省矩阵。
<等式2>
RefMatrixID=MatrixID-pred_matrix_id_delta
在等式2中,如果RefMatrixID的值与MatrixID值相同,则与SizeID和RefMatrixID对应的量化矩阵的系数值被确定为与编码器和/或解码器中定义 的缺省矩阵的系数值相同。这里,缺省矩阵意味着通过SizeID和RefMatrixID所指定的缺省矩阵。
此外,当pred_matrix_id_delta的值为0时,RefMatrixID的值变得与MatrixID值相同。如果RefMatrixID的值与MatrixID值不相同,则编码器能将与RefMatrixID对应的量化矩阵确定为要编码的量化矩阵的参考量化矩阵。在该情况下,编码器能确定要编码的量化矩阵的系数值,使得它们和参考量化矩阵的系数值具有相同值。
如果与SizeID对应的量化矩阵的尺寸被包括在解码器可用的变换单元的最小尺寸和最大尺寸中,则通过使用以上方法能确定要编码的量化矩阵的参考量化矩阵以及是否使用缺省矩阵。如果与SizeID对应的量化矩阵的尺寸没有被包括在解码器可用的变换单元的最小尺寸和最大尺寸中,则用于编码与SizeID对应的量化矩阵的方法可以不被确定为与缺省矩阵相同。当基于SizeID以及变换单元的最大尺寸和变换单元的最小尺寸之间的差值来编码关于量化矩阵的信息、关于是否已使用量化矩阵的信息、和关于预测编码方法的类型的信息中的一个或多个时,能执行确定处理。
在确定是否使用量化矩阵之后,编码器能将关于是否已使用量化矩阵的信息编码为参数集。
表格20示意性示出了其中将关于是否已使用量化矩阵的信息编码为参数集的示例。
<表格20>

如同表格20的示例中那样,编码器能将scaling_list_enable_flag(即, 关于是否已使用量化矩阵的信息)编码为参数集。
在表格20的示例中,当scaling_list_enable_flag的值为1时,能在量化/反量化中使用诸如缺省矩阵或非缺省矩阵的量化矩阵。当scaling_list_enable_flag的值为0时,在量化/反量化中不使用量化矩阵,或者所有系数值能使用相同量化矩阵。这里,所有系数值可以是16。
此外,如果用于预测和编码量化矩阵的方法是根据DPCM和指数哥伦布编码方法来编码量化矩阵的方法,则编码器能将先前已编码的量化矩阵的系数值和要编码的量化矩阵的系数值之间的差值编码为参数集。这里,先前编码的量化矩阵的系数值可以是要编码的量化矩阵内的系数值。即,先前编码的量化矩阵的系数值和要编码的量化矩阵的系数值可以是相同量化矩阵内的值。
表格21示意性示出了当通过使用先前已编码的量化矩阵的系数值和要编码的量化矩阵的系数值之间的差值来编码关于量化矩阵的信息时、能使用的语法结构的示例。
<表格21>

在表格21的示例中,delta_coef(即,先前已编码的量化矩阵的系数值和要编码的量化矩阵的系数值之间的差值)被编码为参数集。
在表格21的示例中,能使用等式3来计算量化矩阵的系数值。
<等式3>
Nextcoef=(nextcoef+delta_coef+256)%256
如果nextcoef(即,使用等式3计算的量化矩阵的系数值)与(1)特定值和(2)量化矩阵的第一值相同,则量化矩阵的系数值能被确定为与编码器和/或解码器中定义的缺省矩阵的系数值相同。
即,如果nextcoef的值与(1)特定值和(2)量化矩阵的第一值相同,则能使用对应量化矩阵作为缺省矩阵。
这里,特定值可以是0。此外,缺省矩阵可以是与SizeID和MatrixID对应的缺省矩阵。因此,如果nextcoef(即,量化矩阵的系数值)与0相同并且量化矩阵的系数值对应于量化矩阵的第一值,则能停止对应量化矩阵和量化矩阵之间的差值的编码。
如果用于预测和编码量化矩阵的方法是根据根据DPCM和指数哥伦布编码方法来编码量化矩阵的方法,则编码器能将先前已编码的量化矩阵的系数值和要编码的量化矩阵的系数值之间的差值编码为参数集。这里,先前已编码的量化矩阵的系数值可以是要编码的量化矩阵内的系数值。即,先前已编码的量化矩阵的系数值和要编码的量化矩阵的系数值可以是相同量化矩阵内的值。
表格22示意性示出了当使用先前已编码的量化矩阵的系数值和要编码的量化矩阵的系数值之间的差时的语法结构的示例。
<表格22>

在表格22的示例中,delta_coef(即,先前已编码的量化矩阵的系数值 和要编码的量化矩阵的系数值之间的差值)被编码为参数集。在表格22的示例中,如果nextcoef(即,使用等式3计算的量化矩阵的系数值)与特定值相同并且是量化矩阵的第一值,则量化矩阵的系数值能被确定为与编码器和/或解码器中定义的缺省矩阵的系数值相同。
即,如果nextcoef的值与(1)特定值和(2)量化矩阵的第一值相同,则能使用该量化矩阵作为缺省矩阵。这里,特定值可以是0,并且使用等式3计算的量化矩阵的系数值可以是具有4x4和8x8的量化矩阵尺寸或变换尺寸的量化矩阵的系数值。
此外,量化矩阵的第一值可以是使用scaling_list_dc_coef_minus8的值,并且该特定值可以是与scaling_list_dc_coef_minus8+8对应的值。
这里,scaling_list_dc_coef_minus8可以意味着具有16x16尺寸的量化矩阵或具有32x32尺寸的量化矩阵的第一值。即,scaling_list_dc_coef_minus8可以意味着用于DC矩阵系数的量化矩阵的系数值并可意味着DC矩阵系数。在该说明书中,DC矩阵系数存在于当执行反量化时使用的量化矩阵中,并且DC矩阵系数可以意味着用于变换块内的DC变换系数的量化矩阵系数。
例如,当sizeID为2时,scaling_list_dc_coef_minus8[sizeID-2][matrixID]可意味着具有16x16尺寸或变换尺寸的量化矩阵中的DC矩阵系数的量化矩阵的系数值。当sizeID为3时,scaling_list_dc_coef_minus8[sizeID-2][matrixID]可意味着具有32x32尺寸或变换尺寸的量化矩阵中的DC矩阵系数的量化矩阵的系数值。
此外,前述缺省矩阵可意味着与SizeID和MatrixID对应的缺省矩阵。如上所述,如果量化矩阵的系数值nextcoef与0相同并且是量化矩阵的第一值,则能停止对应量化矩阵和量化矩阵之间的差值的编码。
如果使用该方法,则不管是否编码code scaling_list_dc_coef_minus8(即,用于DC矩阵系数的量化矩阵的系数值),并且能根据量化矩阵的尺寸或变换尺寸,来不同地执行关于是否已使用缺省矩阵的信息的编码。
其间,用于通过使用量化矩阵的系数值来确定是否使用缺省矩阵的量化矩阵的编码/解码方法的缺点在于,量化矩阵的系数值的编码/解码处理中的复杂度增加。
以下方法提供了用于在图像编码/解码中使用参考量化矩阵ID来确定是否使用缺省矩阵的方法。因此,如果使用以下方法,则当编码/解码量化矩阵 时能降低计算的复杂度。
表格23和24示意性示出了当使用参考量化矩阵ID时能使用的语法结构的示例。
<表格23>

<表格24>

首先,编码器能将关于是否存在量化矩阵的信息编码为参数集。
如同表格23的示例中那样,编码器能将scaling_list_present_flag(即,关于在比特流中是否存在量化矩阵的信息)编码为参数集。例如,如果不存在量化矩阵并且将量化矩阵确定为缺省量化矩阵,则编码器能将scaling_list_present_flag的值编码为0。如果存在量化矩阵,则编码器能将scaling_list_present_flag的值编码为1。
编码器能确定用于量化矩阵的预测编码方法的类型,并将关于所确定的用于预测和编码量化矩阵的方法的信息编码为参数集。这里,关于用于预测 和编码量化矩阵的方法的信息所编码成的参数集可以是自适应参数集。
如同表格23的示例中那样,编码器能将scaling_list_pred_mode_flag(即,指定用于预测和编码量化矩阵的方法的信息)编码为参数集。例如,如果通过扫描量化矩阵根据DPCM和指数哥伦布编码方法来编码量化矩阵的系数值以便预测和编码量化矩阵,则编码器将scaling_list_pred_mode_flag的值编码为1。此外,如果参考量化矩阵和要编码的量化矩阵被确定为具有相同值、或者要编码的量化矩阵的系数值被确定为和缺省矩阵的系数值相同,则编码器能将scaling_list_pred_mode_flag的值编码为0。
这里,确定矩阵或系数值使得它们具有相同值可意味着使用这样的量化矩阵预测方法,其将特定量化矩阵的系数值拷贝到要编码的量化矩阵的系数值。
如果scaling_list_pred_mode_flag的值为0,则编码器能将要编码的量化矩阵的参考量化矩阵ID和关于是否已使用缺省矩阵的信息编码为参数集。这里,参数集可以是自适应参数集。
如同表格23的示例中那样,如果scaling_list_pred_mode_flag的值为0,则编码器能将scaling_list_pred_matrix_id_delta(即,要编码的量化矩阵的参考量化矩阵ID)编码为参数集。
这里,编码器能通过使用指示要编码的量化矩阵的matrixID、指示参考量化矩阵或缺省矩阵的RefMatrixID、以及等式4,来确定scaling_list_pred_matrix_id_delta(即,量化矩阵ID)的值。
<等式4>
scaling_list_pred_matrix_id_delta=matrixID–RefMatrixID
如果要编码的量化矩阵的系数值被确定为与编码器和/或解码器中定义的缺省矩阵的系数值相同,则编码器通过将scaling_list_pred_matrix_id_delta的值编码为0,来使得RefMatrixID的值与matrixID的值相同。这里,缺省矩阵能意味着与sizeID和matrixID对应的缺省矩阵。
如果要编码的量化矩阵的系数值被确定为与参考量化矩阵的系数值相同(即,被确定为与先前已编码的量化矩阵的系数值相同),则编码器能将scaling_list_pred_matrix_id_delta的值编码为非0的值使得RefMatrixID的值与matrixID的值不相同。这里,scaling_list_pred_matrix_id_delta的值可以是正整数。
如果用于预测和编码量化矩阵的方法是根据DPCM和指数哥伦布编码方法来编码量化矩阵以便预测和编码量化矩阵中的系数的方法,则编码器能将量化矩阵中先前已编码的量化矩阵的系数值和要编码的量化矩阵的系数值之间的差值编码为参数集。这里,差值所编码成的参数集可以是自适应参数集。
如同表格24的示例中那样,如果要编码的量化矩阵的尺寸是16x16(sizeID=2)或32x32(sizeID=3),则编码器能将scaling_list_dc_coef_minus8(即,DC矩阵系数)编码为参数集。
如同表格24的示例中那样,编码器能将scaling_list_delta_coef(即,量化矩阵中先前已编码的量化矩阵的系数值和要编码的量化矩阵的系数值之间的差值)编码为参数集。在表格23和24中,已图示了其中将关于量化矩阵的信息编码为自适应参数集的示例,但是本发明不限于此。例如,编码器能将关于量化矩阵的信息编码为另一参数集(即,包括序列参数集和画面参数集中的至少一个的参数集)。
如上所述,传统量化矩阵编码/解码方法的缺点在于,恶化编码效率,因为当预测量化矩阵时编码/解码不必要的信息。
然而,在本发明中,当通过取决于是否存在参考量化矩阵不同地执行量化矩阵的编码/解码、而编码/解码量化矩阵时,能改进编码效率。
表格25和26示意性示出了当取决于是否存在参考量化矩阵不同地执行量化矩阵的编码/解码时能使用的语法结构的示例。
<表格25>

<表格26>

首先,编码器能将指示是否存在量化矩阵的信息编码为参数集。
如同表格25的示例中那样,编码器能将scaling_list_present_flag(即,指示在比特流中是否存在量化矩阵的信息)编码为参数。例如,如果不存在量化矩阵并且将所有量化矩阵确定为缺省量化矩阵,则编码器能将scaling_list_present_flag的值编码为0。如果存在编码的量化矩阵,则编码器能将scaling_list_present_flag的值编码为1。
在确定用于预测和编码量化矩阵的方法的类型之后,如果matrixID的值大于0,则编码器能将关于用于预测和编码量化矩阵的方法的信息编码为参数集。这里,关于用于预测和编码量化矩阵的方法的信息所编码成的参数集可以是自适应参数集。
如同表格25的示例中那样,仅当matrixID的值大于0时,编码器能将scaling_list_pred_mode_flag(即,指定用于预测和编码量化矩阵的方法的信息)编码为参数集。如果通过扫描量化矩阵根据DPCM和指数哥伦布编码 方法来编码量化矩阵以便预测和编码量化矩阵内的系数,则编码器将scaling_list_pred_mode_flag的值编码为1。此外,如果参考量化矩阵被确定为和要编码的量化矩阵被具有相同值,则编码器能将scaling_list_pred_mode_flag的值编码为0。这里,确定矩阵使得它们具有相同值可意味着,使用将参考量化矩阵的系数值拷贝到要编码的量化矩阵的系数值的量化矩阵预测方法。
如果matrixID的值为0,则scaling_list_pred_mode_flag的值成为真,如同表格23的示例中那样。因此,编码器不对scaling_list_pred_mode_flag的值进行编码,并能通过扫描量化矩阵根据DPCM和指数哥伦布编码方法来编码量化矩阵。
如果scaling_list_pred_mode_flag的值为0并且matrixID的值大于0,则编码器能将要编码的量化矩阵的参考量化矩阵ID编码为参数集。这里,参考量化矩阵ID所编码成的参数集可以是自适应参数集。
如同表格25的示例中那样,如果scaling_list_pred_mode_flag的值为0,则仅当matrixID的值大于0时,编码器能将scaling_list_pred_matrix_id_delta(即,要编码的量化矩阵的参考量化矩阵ID)编码为参数集。这里,编码器和解码器能通过使用指示要编码的量化矩阵的matrixID、指示参考量化矩阵的RefMatrixID、以及等式5,来确定scaling_list_pred_matrix_id_delta(即,量化矩阵ID)的值。
<等式5>
scaling_list_pred_matrix_id_delta=matrixID-(RefMatrixID+1)
当matrixID的值为0时,对于每一sizeID指示第一量化矩阵。由于仅能从先前已编码的具有相同sizeID的量化矩阵预测量化矩阵,所以针对每一sizeID的第一量化矩阵不存在具有相同sizeID的参考量化矩阵。因此,不能执行量化矩阵的预测,诸如矩阵拷贝方法。结果,仅当matrixID的值大于0时,编码器才能编码作为参考量化矩阵ID的scaling_list_pred_matrix_id_delta,基于编码的参考量化矩阵ID来确定RefMatrixID,并确定要编码的量化矩阵的系数值,使得它们和参考量化矩阵的系数值具有相同的值。
确定要编码的量化矩阵的系数值使得它们和参考量化矩阵的系数值具有相同值可意味着这样的量化矩阵预测方法,其将参考量化矩阵(对应 RefMatrixID)确定为要编码的量化矩阵的参考量化矩阵,并将参考量化矩阵的系数值拷贝到要编码的量化矩阵的系数值。
如果用于预测和编码量化矩阵的方法是通过扫描根据DPCM和指数哥伦布编码方法来编码量化矩阵以便预测和编码量化矩阵内的系数的方法,则编码器能将量化矩阵内先前已编码的量化矩阵的系数值和要编码的量化矩阵的系数值之间的差值编码为参数集。这里,差值所编码到的参数集可以是自适应参数集。
如同表格26的示例中那样,如果要编码的量化矩阵的尺寸是16x16(sizeID=2)或32x32(sizeID=3),则编码器能将scaling_list_dc_coef_minus8(即,DC矩阵系数)编码为参数集。
如同表格26的示例中那样,编码器能将scaling_list_delta_coef(即,量化矩阵中先前已编码的量化矩阵的系数值和要编码的量化矩阵的系数值之间的差值)编码为参数集。
此外,编码器能通过使用用来计算scaling_list_dc_coef_minus8或nextCoef的scaling_list_delta_coef来编码关于是否已使用缺省矩阵的信息。即,编码器能编码scaling_list_dc_coef_minus8的值,使得其成为-8,以便命令解码器使用缺省矩阵,并能编码scaling_list_delta_coef使得第一nextCoef值成为0,以便命令解码器使用缺省矩阵。
其间,其中通过使用量化矩阵的系数值而确定是否使用缺省矩阵的编码/解码量化矩阵的方法具有的缺点在于,它增加编码/解码量化矩阵的系数值的处理中的复杂程度。此外,存在的缺点在于,恶化编码效率,因为当预测量化矩阵时编码/解码不必要的信息。
然而,本发明能降低当编码/解码量化矩阵时的计算的复杂度,因为通过在图像编码/解码中使用参考量化矩阵的ID来确定是否使用缺省矩阵。此外,本发明能通过取决于是否存在参考量化矩阵不同地编码/解码量化矩阵,而改进编码/解码量化矩阵时的编码效率。
表格27和28示意性示出了当使用参考量化矩阵的ID时能使用的语法结构的示例。
<表格27>

<表格28>

首先,编码器能将指示是否存在量化矩阵的信息编码为参数集。
如同表格27的示例中那样,编码器能将scaling_list_present_flag(即,指定在比特流中是否存在量化矩阵的信息)编码为参数集。例如,如果不存在量化矩阵并且所有量化矩阵被确定为缺省量化矩阵,则编码器能将scaling_list_present_flag的值编码为0。如果存在编码的量化矩阵,则编码器能将scaling_list_present_flag的值编码为1。
在确定用于量化矩阵的预测编码方法的类型之后,编码器能将关于预测和编码量化矩阵的方法的信息编码为参数集。这里,关于预测和编码量化矩阵的方法的信息所编码成的参数集可以是自适应参数集。
如同表格27的示例中那样,编码器能将scaling_list_pred_mode_flag(即,关于量化矩阵的预测编码方法的信息)编码为参数集。例如,如果通过扫描量化矩阵根据DPCM和指数哥伦布编码方法来编码量化矩阵以便预测和编 码量化矩阵中的系数,则编码器能将scaling_list_pred_mode_flag的值编码为1。如果参考量化矩阵和要编码的量化矩阵被确定为具有相同值、或者要编码的量化矩阵的系数值被确定为和缺省矩阵的系数值相同,则编码器能将scaling_list_pred_mode_flag的值编码为0。这里,确定这些值使得它们具有相同值可意味着使用这样的量化矩阵预测方法,其将特定量化矩阵的系数值拷贝到要编码的量化矩阵的系数值。
如果scaling_list_pred_mode_flag的值为0并且matrixID的值大于0,则编码器能将关于要编码的量化矩阵的参考量化矩阵ID和是否使用缺省矩阵的信息编码为参数集。这里,关于参考量化矩阵ID和是否使用缺省矩阵的信息所编码成的参数集可以是自适应参数集。
如同表格27的示例中那样,如果scaling_list_pred_mode_flag的值为0,则仅当matrixID的值大于0时,编码器能将scaling_list_pred_matrix_id_delta(即,要编码的量化矩阵的参考量化矩阵ID)编码为参数集。
这里,编码器能通过使用指示要编码的量化矩阵的matrixID、指示参考量化矩阵或缺省矩阵的RefMatrixID、以及等式6,来确定scaling_list_pred_matrix_id_delta(即,量化矩阵ID)。
<等式6>
scaling_list_pred_matrix_id_delta=matrixID–RefMatrixID
如果要编码的量化矩阵的系数值已被确定为与编码器和/或解码器中定义的缺省矩阵的系数值相同,则编码器能将scaling_list_pred_matrix_id_delta的值编码为0使得RefMatrixID的值与matrixID的值相同。这里,缺省矩阵意味着与sizeID和matrixID对应的缺省矩阵。
如果要编码的量化矩阵的系数值被确定为与参考量化矩阵的系数值相同,则编码器能将scaling_list_pred_matrix_id_delta的值编码为非0使得RefMatrixID的值与matrixID的值彼此不同。
此外,当scaling_list_pred_mode_flag的值为0时,它指示执行用于预测和编码量化矩阵的方法,以将量化矩阵确定为与参考量化矩阵或缺省矩阵相同。在该情况下,可从先前已编码的、具有相同sizeID的量化矩阵或缺省矩阵来预测量化矩阵。
当matrixID的值为0时,它意味着用于每一sizeID的第一量化矩阵。由此,当scaling_list_pred_mode_flag的值为0并且matrixID的值为0时,不存 在用于每一sizeID的第一量化矩阵的具有相同sizeID值的参考量化矩阵。因此,不能对用于每一sizeID的第一量化矩阵执行诸如矩阵拷贝方法的量化矩阵的预测。
在该情况下,编码器能导出scaling_list_pred_matrix_id_delta的值作为0,而不编码scaling_list_pred_matrix_id_delta。当scaling_list_pred_matrix_id_delta的值为0时,与sizeID和matrixID对应的要编码的量化矩阵的系数值能被确定为与编码器和/或解码器中已定义的缺省矩阵的系数值相同,因为RefMatrixID的值与matrixID的值相同。这里,缺省矩阵能意味着与sizeID和matrixID对应的缺省矩阵。
如果用于预测和编码量化矩阵的方法是通过扫描根据DPCM和指数哥伦布编码方法来编码量化矩阵以便预测和编码量化矩阵中的系数的方法,则编码器能将量化矩阵中先前已编码的量化矩阵的系数值、和要编码的量化矩阵的系数值之间的差值编码为参数集。这里,差值所编码成的参数集可以是自适应参数集。
如同表格28的示例中那样,如果要编码的量化矩阵的尺寸是16x16(sizeID=2)或32x32(sizeID=3),则编码器能将scaling_list_dc_coef_minus8(即,DC矩阵系数)编码为参数集。
如同表格28的示例中那样,scaling_list_delta_coef(即,量化矩阵中先前已编码的量化矩阵的系数值和要编码的量化矩阵的系数值之间的差值)能被编码为参数集。
在传统量化矩阵编码/解码方法中,当发送量化矩阵时,对矩阵内的所有系数和DC矩阵系数进行编码/解码。在该情况下,限制编码效率的改进,因为不对DC矩阵系数执行预测和编码/解码。
相反,如果对量化矩阵内的DC矩阵系数执行预测和编码/解码,则能改进编码效率。
这里,本发明提供了用于通过使用相邻系数之间的高相关性从相邻AC系数来预测DC矩阵系数的方法,而不从常数8来预测DC矩阵系数。本发明能通过该方法来改进编码效率。
表格29和30示意性示出了当通过使用相邻系数之间的相关性来预测DC矩阵系数时能使用的语法结构的示例。
<表格29>

<表格30>

在表格29和30的示例中,使得量化矩阵的编码/解码序列与量化矩阵的恢复序列相同。在该情况下,能降低用于存储DC矩阵系数的存储空间。此外,在表格29和30的示例中,当指示是否使用缺省矩阵时,能仅使用语法元素“scaling_list_delta_coef”,而不使用几个语法元素。
首先,编码器能将指示是否存在量化矩阵的信息编码为参数集。
如同表格28的示例中那样,编码器能将scaling_list_present_flag(即, 指示在比特流中是否存在量化矩阵的信息)编码为参数集。例如,如果不存在量化矩阵并且所有量化矩阵被确定为缺省量化矩阵,则编码器能将scaling_list_present_flag的值编码为0。如果存在编码的量化矩阵,则编码器能将scaling_list_present_flag的值编码为1。
在确定用于预测和编码量化矩阵的方法的类型之后,编码器能将关于预测和编码量化矩阵的方法的信息编码为参数集。这里,关于预测和编码量化矩阵的方法的信息所编码成的参数集可以是自适应参数集。
如同表格29的示例中那样,编码器能将scaling_list_pred_mode_flag(即,关于预测和编码量化矩阵的方法的信息)编码为参数集。例如,如果通过扫描量化矩阵根据DPCM和指数哥伦布编码方法来编码量化矩阵以便预测和编码量化矩阵中的系数,则编码器能将scaling_list_pred_mode_flag的值编码为1。如果参考量化矩阵被确定为和要编码的量化矩阵具有相同值,则编码器能将scaling_list_pred_mode_flag的值编码为0。这里,确定这些值使得它们具有相同值能意味着,使用将参考量化矩阵的系数值拷贝到要编码的量化矩阵的系数值的量化矩阵预测方法。
如果scaling_list_pred_mode_flag的值为0,则编码器能将要编码的量化矩阵的参考量化矩阵ID编码为参数集。这里,参考量化矩阵ID所编码成的参数集可以是自适应参数集。
如同表格29的示例中那样,如果scaling_list_pred_mode_flag的值为0,则编码器能将scaling_list_pred_matrix_id_delta(即,要编码的量化矩阵的参考量化矩阵ID)编码为参数集。这里,编码器能通过使用指示要编码的量化矩阵的matrixID、指示参考量化矩阵的RefMatrixID、以及下面的等式7,来确定scaling_list_pred_matrix_id_delta(即,量化矩阵ID)。
<等式7>
scaling_list_pred_matrix_id_delta=matrixID-(RefMatrixID+1)
确定要编码的量化矩阵的系数值使得它们和参考量化矩阵的系数值具有相同值能意味着这样的量化矩阵预测方法,其将与RefMatrixID对应的参考量化矩阵确定为要编码的量化矩阵的参考量化矩阵,并将参考量化矩阵的系数值拷贝到要编码的量化矩阵的系数值。
如果用于预测和编码量化矩阵的方法是通过扫描根据DPCM和指数哥伦布编码方法来编码量化矩阵以便预测和编码量化矩阵内的系数的方法,则 编码器能将量化矩阵内先前已编码的量化矩阵的系数值和要编码的量化矩阵的系数值之间的差值编码为参数集。这里,差值所编码到的参数集可以是自适应参数集。
如同表格30的示例中那样,编码器能将scaling_list_delta_coef(即,量化矩阵中先前已编码的量化矩阵的系数值和要编码的量化矩阵的系数值之间的差值)编码为参数集。
这里,编码器能通过使用用来计算nextCoef的scaling_list_delta_coef来编码关于是否使用缺省矩阵的信息。例如,编码器能编码scaling_list_delta_coef使得第一nextCoef值成为0以便命令解码器使用缺省矩阵。
如同表格30的示例中那样,编码器能将scaling_list_dc_coef_res(即,与DC矩阵系数对应的量化矩阵的系数值之间的差值)编码为参数集。这里,如果要编码的量化矩阵的尺寸是16x16(sizeID=2)或32x32(sizeID=3)量化矩阵并且不使用缺省矩阵,则能将scaling_list_dc_coef_res编码为(useDefaultScalingMatrixFlag=0)。
在表格30的示例中,能通过使用DC矩阵系数的值和在DC位置处存在的矩阵系数之间的差,来计算用于单独编码DC矩阵系数的16x16尺寸或32x32尺寸的量化矩阵的scaling_list_dc_coef_res的值。
其间,通过使用量化矩阵的系数值来确定是否使用缺省矩阵的用于编码/解码量化矩阵的方法的缺点在于,其增加在编码/解码量化矩阵的系数值的处理中的复杂程度。此外,传统上,当发送量化矩阵时,编码/解码矩阵内的所有系数和DC矩阵系数。在该情况下,限制编码效率的改进,因为不对DC矩阵系数执行预测和编码/解码。
在本发明中,在图像编码/解码中,通过使用参考量化矩阵的ID来确定是否使用缺省矩阵。因此,能降低当编码/解码量化矩阵时的计算复杂度。此外,在本发明中,由于对量化矩阵内的DC矩阵系数执行预测和编码/解码,所以能改进编码效率。此外,能改进编码效率,因为用于通过使用相邻AC系数之间的高相关性从相邻AC系数来预测DC矩阵系数,而不预测常数8。
表格31和32示意性示出了当应用所有前述特性时能使用的语法结构的示例。
<表格31>

<表格32>

在表格31和32的示例中,使得量化矩阵的编码/解码顺序与量化矩阵的恢复顺序相同。因此,能降低用于存储DC矩阵系数的存储空间。此外,在表格31和32的示例中,当指示是否使用缺省矩阵时,不使用几个语法元素,而能仅使用语法元素scaling_list_delta_coef。
首先,编码器能将指示是否存在量化矩阵的信息编码为参数集。
如同表格31的示例中那样,编码器能将scaling_list_present_flag(即,指示在比特流中是否存在量化矩阵的信息)编码为参数集。例如,如果不存在量化矩阵并且所有量化矩阵被确定为缺省量化矩阵,则编码器能将scaling_list_present_flag的值编码为0。如果存在编码的量化矩阵,则编码器能将scaling_list_present_flag的值编码为1。
在确定用于量化矩阵的预测编码方法的类型之后,编码器能将关于预测和编码量化矩阵的方法的信息编码为参数集。这里,关于预测和编码量化矩 阵的方法的信息所编码成的参数集可以是自适应参数集。
如同表格31的示例中那样,编码器能将scaling_list_pred_mode_flag(即,指定预测和编码量化矩阵的方法的信息)编码为参数集。例如,如果通过扫描量化矩阵根据DPCM和指数哥伦布编码方法来编码量化矩阵以便预测和编码量化矩阵中的系数,则编码器能将scaling_list_pred_mode_flag的值编码为1。此外,如果参考量化矩阵和要编码的量化矩阵被确定为具有相同值或者如果要编码的量化矩阵的系数值被确定为和缺省矩阵的系数值相同,则编码器能将scaling_list_pred_mode_flag的值编码为0。这里,确定这些值使得它们具有相同值能意味着,使用将特定量化矩阵的系数值拷贝到要编码的量化矩阵的系数值的量化矩阵预测方法。
如果scaling_list_pred_mode_flag的值为0,则编码器能将要编码的量化矩阵的参考量化矩阵ID和关于是否使用缺省矩阵的信息编码为参数集。这里,对其执行编码的参数集可以是自适应参数集。
如同表格31的示例中那样,如果scaling_list_pred_mode_flag的值为0,则编码器能将scaling_list_pred_matrix_id_delta(即,要编码的量化矩阵的参考量化矩阵ID)编码为参数集。
这里,编码器和解码器能通过使用指示要编码的量化矩阵的matrixID、指示参考量化矩阵或缺省矩阵的RefMatrixID、以及等式8,来确定scaling_list_pred_matrix_id_delta(即,量化矩阵ID)的值。
<等式8>
scaling_list_pred_matrix_id_delta=matrixID–RefMatrixID
如果要编码的量化矩阵的系数值被确定为与编码器和/或解码器中定义的缺省矩阵的系数值相同,则编码器能将scaling_list_pred_matrix_id_delta的值编码为0使得RefMatrixID的值与matrixID的值相同。这里,缺省矩阵意味着与sizeID和matrixID对应的缺省矩阵。
如果scaling_list_pred_matrix_id_delta的值为0,则编码器能将scaling_list_pred_matrix_id_delta的值编码为非0的值,使得RefMatrixID的值与matrixID的值不同。
如果用于预测和编码量化矩阵的方法是通过扫描根据DPCM和指数哥伦布编码方法来编码量化矩阵以便预测和编码量化矩阵中的系数的方法,则编码器能将量化矩阵中先前已编码的量化矩阵的系数值和要编码的量化矩 阵的系数值之间的差值编码为参数集。这里,差值所编码成的参数集可以是自适应参数集。
如同表格32的示例中那样,编码器能将scaling_list_delta_coef(即,量化矩阵中先前已编码的量化矩阵的系数值和要编码的量化矩阵的系数值之间的差值)编码为参数集。
如同表格32的示例中那样,编码器能将scaling_list_dc_coef_res(即,与DC矩阵系数对应的量化矩阵的系数值之间的差值)编码为参数集。这里,如果要编码的量化矩阵的尺寸是16x16(sizeID=2)或32x32(sizeID=3)并且不使用缺省矩阵,则能将scaling_list_dc_coef_res编码为(useDefaultScalingMatrixFlag=0)。
能通过使用DC矩阵系数的值和在DC位置处存在的矩阵系数之间的差,来计算用于单独编码DC矩阵系数的16x16尺寸量化矩阵或32x32尺寸量化矩阵的scaling_list_dc_coef_res的值。
其间,在传统量化矩阵编码/解码方法中,通过使用当执行量化和反量化时的量化矩阵的尺寸、而不是当执行编码/解码时的量化矩阵的尺寸,来拷贝量化矩阵。因此,从有限数目的量化矩阵来拷贝量化矩阵。结果,当编码/解码量化矩阵时,限制编码效率的改进。
然而,在本发明中,能改进编码效率并能增加预测量化矩阵时的自由度,因为从和当执行编码/解码时的量化矩阵具有相同尺寸的量化矩阵预测量化矩阵。
表格33和34示意性示出了当从和当执行编码/解码时的量化矩阵具有相同尺寸的量化矩阵预测量化矩阵时、能使用的语法结构的示例。
<表格33>

<表格34>

首先,编码器能将指示是否存在量化矩阵的信息编码为参数集。
如同表格33或34的示例中那样,编码器能将scaling_list_present_flag(即,指示在比特流中是否存在量化矩阵的信息)编码为参数集。例如,如果不存在量化矩阵并且所有量化矩阵被确定为缺省量化矩阵,则编码器能将scaling_list_present_flag的值编码为0。如果存在编码的量化矩阵,则编码器能将scaling_list_present_flag的值编码为1。
在确定用于量化矩阵的预测编码方法的类型之后,编码器能将关于预测和编码量化矩阵的方法的信息编码为参数集。这里,关于预测和编码量化矩阵的方法的信息所编码成的参数集可以是自适应参数集。例如,如同表格33 或34的示例中那样,编码器能将scaling_list_pred_mode_flag(即,关于预测和编码量化矩阵的方法的信息)编码为参数集。详细举例,如果通过扫描量化矩阵根据DPCM和指数哥伦布编码方法来编码量化矩阵以便预测和编码量化矩阵中的系数,则编码器能将scaling_list_pred_mode_flag的值编码为1。如果参考量化矩阵和要编码的量化矩阵被确定为具有相同值,则编码器能将scaling_list_pred_mode_flag的值编码为0。这里,确定这些值使得它们具有相同值能意味着,使用将参考量化矩阵的系数值拷贝到要编码的量化矩阵的系数值的量化矩阵预测方法。
此外,如果scaling_list_pred_mode_flag的值为0,则编码器能将要编码的量化矩阵的参考量化矩阵ID编码为参数集。这里,指定要编码的量化矩阵的参考量化矩阵的尺寸的信息、和指定参考量化矩阵的信息中的至少一个可作为关于参考量化矩阵的ID信息(标识符)被编码为参数集。编码的参数集可以是自适应参数集。
例如,如同表格33的示例中那样,如果要编码的量化矩阵的系数值被确定为与参考量化矩阵的系数值相同,则编码器能将scaling_list_pred_size_matrix_id_delta(即,关于要编码的量化矩阵的参考量化矩阵的ID信息)编码为参数集。这里,能通过使用RefSizeID(即,要编码的量化矩阵的参考量化矩阵的尺寸)、指示参考量化矩阵的RefMatrixID、和等式9,来确定scaling_list_pred_size_matrix_id_delta(即,关于量化矩阵的ID信息)的值。
<等式9>
scaling_list_pred_size_matrix_id_delta=6*(RefSizeID-sizeID)+(RefMatrixID%6)
举另一例子,如同表格34的示例中那样,如果要编码的量化矩阵的系数值被确定为与参考量化矩阵的系数值相同,则编码器能将scaling_list_pred_size_id_delta和scaling_list_pred_size_matrix_id_delta(即,关于要编码的量化矩阵的参考量化矩阵的ID信息)编码为参数集。这里,能通过使用RefSizeID和等式10,来确定scaling_list_pred_size_id_delta的值,并且能通过使用指示要编码的量化矩阵的参考量化矩阵的RefMatrixID、和等式11,来确定scaling_list_pred_matrix_id_delta的值。
<等式10>
scaling_list_pred_size_id_delta=sizeID–RefSizeID
<等式11>
scaling_list_pred_matrix_id_delta=matrixID–RefMatrixID
将要编码的量化矩阵的系数值确定为与参考量化矩阵的系数值相同可意味着,使用将参考量化矩阵的系数值拷贝到要编码的量化矩阵的系数值的方法。
因此,不允许仅从具有相同sizeID的量化矩阵预测量化矩阵,但是通过表格33或表格34的示例,可在执行编码/解码时从具有相同矩阵尺寸但是不同sizeID的量化矩阵预测量化矩阵。
此外,在表格33或表格34的示例中,语法元素的值的范围可限于特定值。例如,在表格33或表格34的示例中,scaling_list_pred_size_matrix_id_delta可限于从0到17的范围的值,scaling_list_pred_size_id_delta可限于从0到2的范围的值,并且scaling_list_pred_matrix_id_delta可限于从0到5的范围的值。
此外,在表格33或表格34的示例中,编码器可以不根据比要编码的量化矩阵具有更大尺寸的量化矩阵来预测量化矩阵。
此外,编码器可根据每一量化矩阵的尺寸将量化矩阵分类为DC矩阵系数和AC矩阵系数,并预测用于DC矩阵系数和AC矩阵系数的量化矩阵。例如,具有8x8尺寸的量化矩阵能被分类为DC矩阵系数和AC矩阵系数并然后预测,并且DC矩阵系数和AC矩阵系数两者能与具有剩余尺寸的量化矩阵相关地被预测。换言之,当根据具有8x8尺寸的量化矩阵执行预测时,编码器能通过将与8x8尺寸的量化矩阵中的DC矩阵系数的位置对应的值确定为要编码的量化矩阵的DC矩阵系数,来预测对应位置处的值。如果根据具有16x16或32x32尺寸的量化矩阵执行预测,则编码器也能预测量化矩阵的DC矩阵系数。
其间,如果预测和编码量化矩阵的方法是通过扫描根据DPCM和指数哥伦布编码方法来编码量化矩阵以便预测和编码量化矩阵中的系数的方法,则编码器能将量化矩阵中先前已编码的量化矩阵的系数值和要编码的量化矩阵的系数值之间的差值编码为参数集。这里,该参数集可以是自适应参数集。
表格35示出了当通过使用量化矩阵中先前已编码的量化矩阵的系数值 来预测量化矩阵中的系数时、能使用的语法结构的示例。
<表格35>

如同表格35的示例中那样,如果要编码的量化矩阵的尺寸是16x16(sizeID=2)or 32x32(sizeID=3),则编码器能将scaling_list_dc_coef_minus8(即,关于DC矩阵系数的信息)编码为参数集。
如同表格35的示例中那样,编码器能将scaling_list_delta_coef(即,量化矩阵中先前已编码的量化矩阵的系数值和要编码的量化矩阵的系数值之间的差值)编码为参数集。
此外,编码器能通过使用用来导出scaling_list_dc_coef_minus8或nextCoef的值的scaling_list_delta_coef,来编码关于是否使用缺省矩阵的信息。例如,编码器能将scaling_list_dc_coef_minus8的值编码为-8,以便命令解码器使用缺省矩阵,并且能编码scaling_list_delta_coef使得第一nextCoef值为0,以便命令解码器使用缺省矩阵。
换言之,其中通过使用量化矩阵的系数值而确定是否使用缺省矩阵的编码/解码量化矩阵的方法具有的缺点在于,它增加编码/解码量化矩阵的系数值的处理中的复杂程度。此外,存在的缺点在于,恶化编码效率,因为当预测量化矩阵时编码/解码不必要的信息。此外,通过使用当执行量化和反量化时的量化矩阵的尺寸、而不是当执行编码/解码时的量化矩阵的尺寸,来拷贝量化矩阵。由于从有限数目的量化矩阵拷贝量化矩阵,所以当编码/解码量化矩阵时限制编码效率的改进。
在本发明中,在图像编码/解码中,能通过使用参考量化矩阵的ID来确定是否使用缺省矩阵。因此,能降低当编码/解码量化矩阵时计算的复杂程度此外,能改进编码效率并且能增加预测量化矩阵的自由度,因为当编码/解码量化矩阵时,根据和量化矩阵具有相同尺寸的量化矩阵来预测量化矩阵。
表格36和37示意性示出了当通过使用参考量化矩阵的ID、并通过使用与当编码/解码量化矩阵时具有相同尺寸的量化矩阵来预测量化矩阵时、能使用的语法结构的示例。
<表格36>

<表格37>

首先,编码器能将指示是否存在量化矩阵的信息编码为参数集。
如同表格36或37的示例中那样,编码器能将scaling_list_present_flag(即,关于在比特流中是否存在量化矩阵的信息)编码为参数集。例如,如果不存在量化矩阵并且所有量化矩阵被确定为缺省量化矩阵,则编码器能将scaling_list_present_flag的值编码为0。如果存在编码的量化矩阵,则编码器能将scaling_list_present_flag的值编码为1。
在确定用于量化矩阵的预测编码方法的类型之后,编码器能将关于预测和编码量化矩阵的方法的信息编码为参数集。这里,关于预测和编码量化矩阵的方法的信息所编码成的参数集可以是自适应参数集。
如同表格36或表格37的示例中那样,编码器能将scaling_list_pred_mode_flag(即,指定预测和编码量化矩阵的方法的信息)编码为参数集。例如,如果通过扫描量化矩阵根据DPCM和指数哥伦布编码方法来编码量化矩阵以便预测和编码量化矩阵中的系数,则编码器能将scaling_list_pred_mode_flag的值编码为1。此外,如果参考量化矩阵和要编码的量化矩阵被确定为具有相同值、或者如果要编码的量化矩阵的系数值被确定为和缺省矩阵的系数值相同,则编码器能将scaling_list_pred_mode_flag的值编码为0。这里,确定这些值使得它们具有相同值可意味着使用这样的量化矩阵预测方法,其将特定量化矩阵的系数值拷贝到要编码的量化矩阵的系数值。
如果scaling_list_pred_mode_flag的值为0,则编码器能将要编码的量化 矩阵的参考量化矩阵ID编码为参数集。这里,指定要编码的量化矩阵的参考量化矩阵的尺寸的信息、和指定参考量化矩阵的信息中的至少一个可作为关于参考量化矩阵的ID信息被编码为参数集。编码的参数集可以是自适应参数集。此外,ID或ID信息所编码到的参数集可以是自适应参数集。
例如,如同表格36的示例中那样,如果scaling_list_pred_mode_flag的值为0,则编码器能将scaling_list_pred_size_matrix_id_delta(即,关于要编码的量化矩阵的参考量化矩阵的ID信息)编码为参数集。这里,编码器能通过使用RefSizeID和指示参考量化矩阵或缺省矩阵的RefMatrixID、以及等式12,来确定scaling_list_pred_size_matrix_id_delta(即,关于量化矩阵的ID信息)。
<等式12>
scaling_list_pred_size_matrix_id_delta=6*(RefSizeID-sizeID)+(RefMatrixID%6)
举另一例子,如同表格37中那样,如果要编码的量化矩阵的系数值被确定为与参考量化矩阵的系数值相同、或者如果要编码的量化矩阵的系数值被确定为与缺省矩阵的系数值相同,则编码器能将scaling_list_pred_size_id_delta和scaling_list_pred_size_matrix_id_delta(即,关于要编码的量化矩阵的参考量化矩阵的ID信息)编码为参数集。这里,编码器能通过使用RefSizeID和等式13,来导出scaling_list_pred_size_id_delta的值,并且能通过使用指示要编码的量化矩阵的参考量化矩阵或缺省矩阵的RefMatrixID、和等式14,来导出scaling_list_pred_matrix_id_delta的值。
<等式13>
scaling_list_pred_size_id_delta=sizeID–RefSizeID
<等式14>
scaling_list_pred_matrix_id_delta=matrixID–RefMatrixID
如果要编码的量化矩阵的系数值被确定为与编码器和/或解码器中定义的缺省矩阵的系数值相同,则编码器能将scaling_list_pred_matrix_id_delta的值编码为0,使得RefMatrixID的值和matrixID的值彼此相同。这里,缺省矩阵意味着与sizeID和matrixID对应的缺省矩阵。
如果要编码的量化矩阵的系数值被确定为与参考量化矩阵的系数值相 同,则编码器能将scaling_list_pred_matrix_id_delta的值编码为非0的值,使得RefMatrixID的值和matrixID的值彼此不相同。
因此,通过表格36或表格37的示例,能从具有相同sizeID的量化矩阵预测量化矩阵,并且能从在执行编码/解码时具有相同矩阵尺寸但是不同sizeID的量化矩阵预测量化矩阵。
此外,在表格36或表格37的示例中,scaling_list_pred_size_matrix_id_delta、scaling_list_pred_size_id_delta和scaling_list_pred_matrix_id_delta的值的范围可受限。例如,scaling_list_pred_size_matrix_id_delta可限于从0到17的范围的值,scaling_list_pred_size_id_delta可限于从0到2的范围的值,并且scaling_list_pred_matrix_id_delta可限于从0到5的范围的值。
此外,可以不根据比要编码的量化矩阵具有较大尺寸的量化矩阵来执行量化矩阵的预测。
在预测量化矩阵时,可以通过考虑矩阵的尺寸来不同地执行预测量化矩阵的方法。例如,当根据具有8x8尺寸的量化矩阵执行预测时,编码器能通过将与8x8尺寸的量化矩阵中的DC矩阵系数的位置对应的值确定为DC矩阵系数,来预测对应位置处的值。如果根据具有16x16或32x32尺寸的量化矩阵执行预测,则编码器也能预测DC矩阵系数。
其间,如果预测和编码量化矩阵的方法是通过扫描根据DPCM和指数哥伦布编码方法来编码量化矩阵以便预测和编码量化矩阵中的系数的方法,则编码器能将量化矩阵中先前已编码的量化矩阵的系数值和要编码的量化矩阵的系数值之间的差值编码为参数集。这里,该差值所编码成的参数集可以是自适应参数集。
表格38示出了当通过使用量化矩阵中先前已编码的量化矩阵的系数值来预测量化矩阵中的系数时、能使用的语法结构的示例。
<表格38>

如同表格38的示例中那样,如果要编码的量化矩阵的尺寸是16x16(sizeID=2)或32x32(sizeID=3),则编码器能将scaling_list_dc_coef_minus8(即,指定DC矩阵系数的信息)编码为参数集。
如同表格38的示例中那样,编码器能将scaling_list_delta_coef(即,量化矩阵中先前已编码的量化矩阵的系数值和要编码的量化矩阵的系数值之间的差值)编码为参数集。
在传统量化矩阵编码/解码方法中,通过不考虑当编码/解码量化矩阵中的第一系数时频繁出现的系数值,来编码量化矩阵的系数值。因此,在传统量化矩阵编码/解码方法中,限制编码效率的改进,。
在本发明中,能通过使用频繁出现的系数值,来预测和编码/解码量化矩阵内的第一系数。此外,在本发明中,如果将缺省矩阵的第一系数值或DC矩阵系数值定义为16、或者非缺省矩阵的第一系数值或DC矩阵系数值分布在16周围,则要编码/解码的量化矩阵中的第一系数值或DC矩阵系数值能通过常数16来预测并然后编码/解码。在该情况下,本发明能改进编码效率。
表格39和40示意性示出了当考虑量化矩阵中的第一系数时能使用的语法结构的示例。
<表格39>

<表格40>

首先,编码器能将指示是否存在量化矩阵的信息编码为参数集。
如同表格39的示例中那样,编码器能将scaling_list_present_flag(即,指示在比特流中是否存在量化矩阵的信息)编码为参数集。例如,如果不存 在量化矩阵并且所有量化矩阵被确定为缺省量化矩阵,则编码器能将scaling_list_present_flag的值编码为0。如果存在编码的量化矩阵,则编码器能将scaling_list_present_flag的值编码为1。
在确定用于量化矩阵的预测编码方法的类型之后,编码器能将关于预测和编码量化矩阵的方法的信息编码为参数集。这里,关于预测和编码量化矩阵的方法的信息所编码成的参数集可以是自适应参数集。
如同表格39的示例中那样,编码器能将scaling_list_pred_mode_flag(即,关于预测和编码量化矩阵的方法的信息)编码为参数集。例如,如果通过扫描量化矩阵根据DPCM和指数哥伦布编码方法来编码量化矩阵以便预测和编码量化矩阵中的系数,则编码器能将scaling_list_pred_mode_flag的值编码为1。此外,如果参考量化矩阵和要编码的量化矩阵被确定为具有相同值,则编码器能将scaling_list_pred_mode_flag的值编码为0。这里,确定这些值使得它们具有相同值可意味着使用这样的量化矩阵预测方法,其将参考量化矩阵的系数值拷贝到要编码的量化矩阵的系数值。
如果scaling_list_pred_mode_flag的值为0,则编码器能将量化矩阵的参考量化矩阵ID编码为参数集。这里,参考量化矩阵ID所编码到的参数集可以是自适应参数集。
如同表格39的示例中那样,如果scaling_list_pred_mode_flag的值为0,则编码器能将scaling_list_pred_matrix_id_delta(即,要编码的量化矩阵的参考量化矩阵ID)编码为参数集。这里,编码器能通过使用指示要编码的量化矩阵的matrixID、指示参考量化矩阵的RefMatrixID、以及等式15,来确定scaling_list_pred_matrix_id_delta(即,量化矩阵ID)。
<等式15>
scaling_list_pred_matrix_id_delta=matrixID-(RefMatrixID+1)
确定要编码的量化矩阵的系数值使得它们和参考量化矩阵的系数值具有相同值能意味着使用将参考量化矩阵的系数值拷贝到要编码的量化矩阵的系数值。
如果用于预测和编码量化矩阵的方法是通过扫描根据DPCM和指数哥伦布编码方法来编码量化矩阵以便预测和编码量化矩阵内的系数的方法,则编码器能将量化矩阵内先前已编码的量化矩阵的系数值和要编码的量化矩阵的系数值之间的差值编码为参数集。这里,差值所编码到的参数集可以是 自适应参数集。
如同表格40的示例中那样,如果要编码的量化矩阵的尺寸是16x16(sizeID=2)或32x32(sizeID=3),则编码器能将scaling_list_dc_coef_minus16(即,与DC矩阵系数对应的量化矩阵的系数值)编码为参数集。这里,scaling_list_dc_coef_minus16的值指示假设预测值为16的情况下、计算的DC矩阵系数。
如同表格40的示例中那样,编码器能将scaling_list_delta_coef(即,量化矩阵中已先前编码的量化矩阵的系数值和要编码的量化矩阵的系数值之间的差值)编码为参数集。如同表格40的示例中那样,编码器能设置“nextCoef=16”,即,将第一系数值的预测值设置为16。
此外,编码器能通过使用用来计算scaling_list_dc_coef_minus16或nextCoef的scaling_list_delta_coef,来确定是否使用缺省矩阵。即,编码器能将scaling_list_dc_coef_minus16的值编码为-16,以便命令解码器使用缺省矩阵,并能编码scaling_list_delta_coef使得第一nextCoef的值成为0,以便命令解码器使用缺省矩阵。
在以上表格和以下表格以及表格39和40的示例的实施例中,编码器能将nextCoef设置为16,并且scaling_list_dc_coef_minus16的值能意味着在假设预测值为16的情况下、计算的DC矩阵系数。此外,在以上表格和以下表格的实施例中,编码器能将scaling_list_dc_coef_minus16的值编码为-16,以便命令解码器使用缺省矩阵。
迄今已描述了用于编码关于量化矩阵的信息并用信号通知所编码的信息的编码器的操作的示例。其后,通过使用前述表格的示例来描述其中解码器解码关于量化矩阵的信息并获得量化矩阵的示例。
图5是示意性图示了用于解码关于量化矩阵的信息并通过使用解码的信息来执行解码的解码器的操作的示例的流程图。
参考图5,解码器在步骤S510解码关于变换单元的尺寸的信息,并基于解码的信息来确定变换单元的尺寸。
解码器对来自接收的比特流的关于变换单元的尺寸的信息执行熵解码。解码器能从比特流中的参数集解码关于变换单元的尺寸的信息。
例如,解码器可从比特流解码关于变换单元的最小尺寸和最大尺寸的信息。
如同表格1的示例中那样,解码器能通过使用比特流中的语法元素“log2_min_transform_block_size_minus2”,来解码已向其应用Log2函数的正方形变换单元的水平或垂直方向的最小尺寸。此外,解码器可通过使用比特流中的语法元素“log2_diff_max_min_transform_block_size”,来解码已向其应用Log2函数的正方形变换单元的水平或垂直方向的最大尺寸、和正方形变换单元的水平或垂直方向的最小尺寸之间的差值。
解码器能确定解码的变换单元的最小尺寸和最大尺寸。这里,变换单元的最大尺寸可通过所解码的最大尺寸和最小值之间的差值、和所解码的最小尺寸来确定。
例如,解码器能通过将2添加到解码的log2_min_transform_block_size_minus2来计算Log2MinTrafoSize,并确定使用1<<Log2MinTrafoSize所计算的值作为正方形变换单元的水平或垂直方向的最小尺寸。解码器能基于解码的log2_diff_max_min_transform_block_size的值和通过将2添加到解码的log2_min_transform_block_size_minus2所获得的值,来计算Log2MaxTrafoSize,并确定使用1<<Log2MaxTrafoSize所计算的值作为正方形变换单元的水平或垂直方向的最大尺寸。
这里,变换单元的最小尺寸可意味着使用Log2MinTrafoSize或1<<Log2MinTrafoSize所计算的值,而变换单元的最大尺寸可意味着使用Log2MaxTrafoSize或1<<Log2MaxTrafoSize所计算的值。
解码器在步骤S520解码关于量化矩阵的信息。解码器能解码关于量化矩阵的信息,包括以下的一个或多个:(1)关于是否已使用量化矩阵的信息、(2)关于是否存在量化矩阵的信息、(3)关于是否已解码量化矩阵以及是否已使用缺省矩阵的信息、(4)关于用于预测和解码量化矩阵的方法的类型的信息、(5)关于参考量化矩阵ID的信息、和(6)关于量化矩阵中先前已编码的量化矩阵的系数值和要解码的量化矩阵的系数值之间的差值的信息。这里,关于量化矩阵的信息可取决于变换单元的尺寸。
首先,解码器能通过从参数集解码关于是否已使用量化矩阵的信息,来确定是否已使用量化矩阵。如同表格2的示例中那样,解码器能从序列参数集解码scaling_list_enabled_flag(即,关于是否已使用量化矩阵的信息)。这里,当scaling_list_enabled_flag的值为1时,解码器能使用在变换系数的反量化/缩放中的量化矩阵用于整个序列。当scaling_list_enabled_flag的值为0 时,解码器可以不使用在变换系数的反量化/缩放中的量化矩阵。
解码器能通过从参数集解码关于是否存在量化矩阵的信息,来确定是否存在量化矩阵。如同表格3的示例中那样,解码器能从自适应参数集解码aps_scaling_list_data_present_flag(即,关于是否存在量化矩阵的信息)。例如,当aps_scaling_list_data_present_flag的值为1时,它意味着在自适应参数集中存在量化矩阵。当aps_scaling_list_data_present_flag的值为0时,它意味着在自适应参数集中不存在量化矩阵。如果scaling_list_enabled_flag为1并且aps_scaling_list_data_present_flag为0,则它能意味着当执行反量化时使用缺省矩阵。此外,尽管已图示了其中从自适应参数集解码关于是否存在量化矩阵的信息的示例,但是本发明不限于此。解码器可以从另一参数集解码关于是否存在量化矩阵的信息。
解码器能通过从参数集解码关于是否已解码量化矩阵以及是否已使用缺省矩阵的信息,来确定是否已解码量化矩阵以及是否已使用缺省矩阵。如同表格4的示例中那样,解码器能从自适应参数集解码use_default_scaling_list_flag(即,关于是否已解码量化矩阵以及是否已使用缺省矩阵的信息)。例如,当use_default_scaling_list_flag的值为1时,不解码量化矩阵,并且所有量化矩阵的系数值能被确定为与编码器和/或解码器中定义的缺省量化矩阵的系数值相同。当use_default_scaling_list_flag的值为0时,解码量化矩阵,并且可以不使用编码器和/或解码器中定义的缺省矩阵
解码器能通过使用SizeID和MatrixID,来确定是否解码量化矩阵、是否使用缺省矩阵、和是否执行预测编码中的一个或多个。
如同表格5和6的示例中那样,SizeID的值能通过使用表格根据变换单元的尺寸或量化矩阵的尺寸来指定量化矩阵,而MatrixID的值能指定其中使用量化矩阵的编码模式和与颜色分量对应的量化矩阵的类型。
其间,能使用表格7和8来指示缺省量化矩阵。
如果不考虑可用的变换单元的最小尺寸和最大尺寸,则必须解码具有所有尺寸的变换单元的量化矩阵。在该情况下,编码效率恶化,并且计算的复杂度增加。
根据本发明,能通过考虑变换单元的尺寸来解码关于量化矩阵的信息。
在表格9的示例中,基于关于变换单元的多条信息之中的、变换单元的最小尺寸和最大尺寸,来限制与每一变换单元的尺寸对应的SizeID,并且基 于限制的SizeID,来执行量化矩阵的解码、关于是否已使用缺省矩阵的信息的解码、以及关于预测和解码方法的类型的信息的解码中的一个或多个。
如同表格9的示例中那样,能基于关于变换单元的多条信息之中的、变换单元的最小尺寸和最大尺寸,来限制SizeID,并且能仅与具有特定尺寸的变换单元相关地,解码关于是否已使用量化矩阵或缺省矩阵的信息、以及关于预测解码方法的类型的信息中的一个或多个。
例如,如果指定变换单元的最小尺寸的Log2MinTrafoSize的值为3并且指定变换单元的最大尺寸的Log2MaxTrafoSize的值为4,则解码器能执行与从8x8尺寸到16x16尺寸的变换单元对应的量化矩阵的解码、关于是否已使用缺省矩阵的信息的解码、以及关于预测解码方法的类型的信息的解码中的一个或多个。
在表格9的示例中,可以不解码use_default_scaling_list_flag。
此外,与该示例中不同,解码器可基于变换单元的最大尺寸和最小值之间的差值来限制SizeID,并基于限制的SizeID,来执行量化矩阵的解码、关于是否已使用缺省矩阵的信息的解码、以及关于预测解码方法的类型的信息的解码中的一个或多个。
如同表格10的示例中那样,解码器能基于变换单元的最小尺寸和最大尺寸之间的差值,来限制SizeID,并且对仅具有特定尺寸的变换单元(即,仅变换单元的特定尺寸)执行量化矩阵的解码、关于是否已使用缺省矩阵的信息的解码、以及关于预测解码方法的类型的信息的解码中的一个或多个。
例如,如果指定变换单元的最小尺寸的Log2MinTrafoSize的值为3并且指定变换单元的最大尺寸的Log2MaxTrafoSize的值为4,则解码器能执行与从8x8尺寸到16x16尺寸的变换单元对应的量化矩阵的解码、关于是否已使用缺省矩阵的信息的解码、以及关于预测解码方法的类型的信息的解码中的一个或多个。
这里,Log2MaxTrafoSize和Log2MinTrafoSize之间的差值是变换单元的最大尺寸和最小值之间的差值,并能通过log2_diff_max_min_transform_block_size来指定。此外,Log2MinTrafoSize-2与log2_min_transform_block_size_minus2相同。
在表格10的示例中,可以不解码use_default_scaling_list_flag。
其间,如果不在序列、画面或片段中根据每一变换块的尺寸或量化矩阵 的类型来混合和使用缺省矩阵和非缺省矩阵,则当编码器选择量化矩阵时降低自由度。例如,为了使用片段内的特定变换尺寸的缺省矩阵和为了使用片段内的另一特定变换尺寸的非缺省矩阵,可恶化编码效率,因为必须编码和传送缺省矩阵。
在本发明中,能在序列、画面或片段中根据每一变换块的尺寸或量化矩阵的类型,来混合和使用缺省矩阵和非缺省矩阵。
例如,解码器能基于SizeID从参数集解码关于是否已解码量化矩阵以及是否已使用缺省矩阵的信息。如同表格11的示例中那样,解码器能基于SizeID从自适应参数集解码sid_use_default_scaling_list_flag[SizeID][MatrixID](即,指定是否已解码量化矩阵以及是否已使用缺省矩阵的信息)。例如,当sid_use_default_scaling_list_flag[SizeID][MatrixID]的值为1时,解码器不解码与SizeID对应的量化矩阵,并且与SizeID对应的量化矩阵的系数值能被确定为与编码器和/或解码器中定义的缺省矩阵的系数值相同。当sid_use_default_scaling_list_flag[SizeID][MatrixID]的值为0时,解码器能解码与SizeID对应的量化矩阵,但是不使用编码器和/或解码器中定义的缺省矩阵作为与SizeID对应的量化矩阵。
其间,在表格11的示例中,可以不解码use_default_scaling_list_flag。
此外,解码器可基于MatrixID而不是SizeID来从参数集解码关于是否已解码量化矩阵和是否已使用缺省矩阵的信息。
如同表格12的示例中那样,解码器能基于MatrixID从自适应参数集解码mid_use_default_scaling_list_flag[SizeID][MatrixID](即,指定是否已解码量化矩阵以及是否已使用缺省矩阵的信息)。例如,当mid_use_default_scaling_list_flag[SizeID][MatrixID]的值为1时,解码器不解码与MatrixID对应的量化矩阵,并且与MatrixID对应的量化矩阵的系数值能被确定为与编码器和/或解码器中定义的缺省矩阵的系数值相同。当sid_use_default_scaling_list_flag[SizeID][MatrixID]的值为0时,解码器解码与MatrixID对应的量化矩阵,但是不使用编码器和/或解码器中定义的缺省矩阵作为与MatrixID对应的量化矩阵。
在表格12的示例中,可以不解码use_default_scaling_list_flag。
此外,解码器可通过考虑SizeID和MatrixID两者(而不是仅考虑SizeID 或仅考虑MatrixID),基于SizeID和MatrixID来从参数集解码关于是否已解码量化矩阵和是否已使用缺省矩阵的信息。
如同表格13的示例中那样,解码器能基于SizeID和MatrixID从自适应参数集解码sid_mid_use_default_scaling_list_flag[SizeID][MatrixID](即,指定是否已解码量化矩阵以及是否已使用缺省矩阵的信息)。例如,当sid_mid_use_default_scaling_list_flag[SizeID][MatrixID]的值为1时,解码器不解码与SizeID和MatrixID对应的量化矩阵,并且与SizeID和MatrixID对应的量化矩阵的系数值能被确定为与编码器和/或解码器中定义的缺省矩阵的系数值相同。当sid_mid_use_default_scaling_list_flag[SizeID][MatrixID]的值为0时,解码器解码与SizeID和MatrixID对应的量化矩阵,并且不使用编码器和/或解码器中定义的缺省矩阵作为与SizeID和MatrixID对应的量化矩阵。
在表格13的示例中,可以不解码use_default_scaling_list_flag。
其间,如同表格14的示例中那样,解码器根据变换单元的最小尺寸和最大尺寸来限制SizeID,并基于限制的SizeID,来执行量化矩阵的解码、关于是否已使用缺省矩阵的信息的解码、以及关于预测解码方法的类型的信息的解码中的一个或多个。此外,解码器能基于SizeID和MatrixID从参数集解码关于是否已解码量化矩阵的信息以及关于是否已使用缺省矩阵的信息。
在表格14的示例中,可以不解码use_default_scaling_list_flag。
如同表格15的示例中那样,解码器能基于关于变换单元的多条信息之中的、变换单元的最大小尺寸和最小值之间的差值,来限制SizeID,并且基于限制的SizeID,来执行量化矩阵的解码、关于是否已使用缺省矩阵的信息的解码、以及关于预测解码方法的类型的信息的解码中的一个或多个。例如,Log2MaxTrafoSize和Log2MinTrafoSize之间的差值是变换单元的最大尺寸和最小值之间的差值,并且与log2_diff_max_min_transform_block_size相同,而Log2MinTrafoSize-2与log2_min_transform_block_size_minus2相同。此外,解码器能基于SizeID和MatrixID从参数集解码关于是否已解码量化矩阵以及是否已使用缺省矩阵的信息。
在表格15的示例中,可以不解码use_default_scaling_list_flag。
此外,如同表格16的示例中那样,解码器能基于参数集中的scaling_list_update_flag[SizeID][MatrixID],来确定在要解码的参数集中是否 存在关于量化矩阵的信息或者是否要更新量化矩阵。例如,具有值1的scaling_list_update_flag[SizeID][MatrixID]指示在要解码的参数集中存在关于SizeID和MatrixID所指定的量化矩阵的信息,或者指示关于与SizeID和MatrixID对应并且先前解码的量化矩阵的信息应被更新为要解码的参数集中关于与SizeID和MatrixID对应的量化矩阵的信息。这里,更新关于量化矩阵的信息能意味着用要解码的参数集中的关于量化矩阵的信息来替代关于先前已解码的量化矩阵的信息。此外,具有值0的scaling_list_update_flag[SizeID][MatrixID]指示在要解码的参数集中不存在与SizeID和MatrixID对应的量化矩阵、或者不更新关于先前已解码的量化矩阵的信息。例如,当scaling_list_update_flag[SizeID][MatrixID]的值为0时,解码器不知道应在SizeID和MatrixID所指定的量化矩阵的系数的反量化中使用关于哪个量化矩阵的信息,因为在参数集中不存在与SizeID和MatrixID对应的量化矩阵、并且还没有解码关于量化矩阵的信息。因此,当scaling_list_update_flag[SizeID][MatrixID]的值为0时,能命令将缺省矩阵用作与SizeID和MatrixID对应的量化矩阵或者不使用量化矩阵,因为在要解码的参数集中不存在关于与SizeID和MatrixID对应的量化矩阵的信息。
这里,基于与每一变换单元的尺寸对应的SizeID和MatrixID来解码scaling_list_update_flag[SizeID][MatrixID]。因此,当scaling_list_update_flag[SizeID][MatrixID]的值为1时,解码器能执行量化矩阵的解码、关于是否已使用缺省矩阵的信息的解码、以及关于预测解码方法的类型的信息的解码中的一个或多个。当scaling_list_update_flag[SizeID][MatrixID]的值为0时,解码器不执行量化矩阵的解码、关于是否已使用缺省矩阵的信息的解码、以及关于预测解码方法的类型的信息的解码中的一个或多个。即,解码器可以不基于scaling_list_update_flag[SizeID][MatrixID]的指示来解码不必要的量化矩阵。
其间,存在的缺点在于,选择量化矩阵的自由度低,因为不通过仅使用scaling_list_update_flag[SizeID][MatrixID]在序列、画面或片段中根据每一变换块的尺寸或量化矩阵的类型来混合和使用缺省矩阵和非缺省矩阵。因此,解码器能基于SizeID和MatrixID从参数集解码sid_mid_use_default_scaling_list_flag[SizeID][MatrixID](即,关于是否已解码量化矩阵和是否已使用缺省矩阵的信息)。例如,当 sid_mid_use_default_scaling_list_flag[SizeID][MatrixID]的值为1时,解码器不解码SizeID和MatrixID所指定的量化矩阵,并且与SizeID和MatrixID对应的量化矩阵的系数值被确定为与编码器和/或解码器中定义的缺省矩阵的系数值相同。当sid_mid_use_default_scaling_list_flag[SizeID][MatrixID]的值为0时,解码器解码SizeID和MatrixID所指定的量化矩阵,并且不使用编码器和/或解码器中定义的缺省矩阵作为与SizeID和MatrixID对应的量化矩阵。
在表格16的示例中,可以不解码use_default_scaling_list_flag。
此外,如同表格17的示例中那样,解码器能基于SizeID和MatrixID从参数集解码关于是否已解码量化矩阵和是否已使用缺省矩阵的信息。此外,能在要解码的参数中使用关于更新为与SizeID和MatrixID对应的量化矩阵的信息的scaling_list_update_flag[SizeID][MatrixID]。
例如,当sid_mid_use_default_scaling_list_flag[SizeID][MatrixID]的值为0并且scaling_list_update_flag[SizeID][MatrixID]的值为0时,解码器解码与SizeID和MatrixID对应的量化矩阵,不将先前解码的与SizeID和MatrixID对应的量化矩阵更新为与要解码的参数中的SizeID和MatrixID对应的量化矩阵,并使用先前解码的与SizeID和MatrixID对应的量化矩阵。
此外,当sid_mid_use_default_scaling_list_flag[SizeID][MatrixID]的值为0并且scaling_list_update_flag[SizeID][MatrixID]的值为1时,解码器解码与SizeID和MatrixID对应的量化矩阵,并将先前解码的与SizeID和MatrixID对应的量化矩阵更新为与要解码的参数中的SizeID和MatrixID对应的量化矩阵。
此外,当sid_mid_use_default_scaling_list_flag[SizeID][MatrixID]的值为1并且scaling_list_update_flag[SizeID][MatrixID]的值为0时,解码器不解码与SizeID和MatrixID对应的量化矩阵,将量化矩阵的系数值确定为与编码器和/或解码器中定义的缺省矩阵的系数值相同,不将与SizeID和MatrixID对应并且先前解码的量化矩阵更新为与要解码的参数中的SizeID和MatrixID对应的量化矩阵,并使用先前已解码的与SizeID和MatrixID对应的量化矩阵。
此外,当sid_mid_use_default_scaling_list_flag[SizeID][MatrixID]的值为1并且scaling_list_update_flag[SizeID][MatrixID]的值为1时,解码器不解码 与SizeID和MatrixID对应的量化矩阵,将量化矩阵的系数值确定为与编码器和/或解码器中定义的缺省矩阵的系数值相同,将与SizeID和MatrixID对应并且先前解码的量化矩阵更新为与要解码的参数中的SizeID和MatrixID对应的量化矩阵。
在表格17的示例中,可以不解码use_default_scaling_list_flag。
此外,解码器能从参数集解码关于预测和解码量化矩阵的方法的信息。并能基于解码的信息来确定用于量化矩阵的预测解码方法的类型。如同表格18的示例中那样,解码器能从自适应参数集解码pred_mode_flag(即,关于预测和解码量化矩阵的方法的信息)。例如,当pred_mode_flag的值为1时,解码器能根据指数哥伦布方法和逆差分脉码调制(DPCM)方法来解码量化矩阵。当pred_mode_flag的值为0时,解码器将量化矩阵的系数值确定为与已先前解码的量化矩阵的系数值相同。这里,量化矩阵的系数值和已先前解码的量化矩阵的系数值可以是不同量化矩阵中的值,并且先前解码的量化矩阵可以意味着参考量化矩阵。
如果pred_mode_flag的值为0,则解码器能从参数集解码要解码的量化矩阵的参考量化矩阵ID。如同表格18的示例中那样,解码器能从自适应参数集解码pred_matrix_id_delta(即,要解码的量化矩阵的参考量化矩阵ID)。这里,解码器能通过使用pred_matrix_id_delta和等式16,来确定指示要解码的量化矩阵的参考量化矩阵的RefMatrixID。
<等式16>
RefMatrixID=MatrixID-(1+pred_matrix_id_delta)
如果用于预测和解码量化矩阵的方法是根据指数哥伦布编码和逆DPCM方法来解码量化矩阵的方法,则解码器能从参数集解码已先前解码的量化矩阵的系数值和要解码的量化矩阵的系数值之间的差值。这里,已先前解码的量化矩阵的系数值可以是要解码的量化矩阵中的系数值。如同表格19的示例中那样,解码器能从自适应参数集解码delta_coef(即,已先前解码的量化矩阵的系数值和要解码的量化矩阵的系数值之间的差值)。
其间,能通过使用以下方法在序列、画面、或片段中混合和使用缺省量化矩阵和非缺省量化矩阵,并且能防止不必要量化矩阵的接收。
例如,如果用于预测和解码量化矩阵的方法是将量化矩阵确定为与解码器中已包括并且已先前解码的量化矩阵相同的方法(pred_mode_flag=0),则解 码器能从参数集使用要解码的量化矩阵的参考量化矩阵ID,来解码关于是否已使用缺省量化矩阵的信息。
如同表格18的示例中那样,解码器能从参数集解码pred_matrix_id_delta(即,要解码的量化矩阵的参考量化矩阵ID)。这里,解码器能通过使用pred_matrix_id_delta和等式17,来确定RefMatrixID(即,指定要解码的量化矩阵的参考量化矩阵或缺省矩阵的信息、和关于是否已使用缺省矩阵的信息)。
<等式17>
RefMatrixID=MatrixID-pred_matrix_id_delta
例如,当RefMatrixID的值与MatrixID的值相同时,与SizeID和RefMatrixID对应的量化矩阵的系数值被确定为与编码器和/或解码器中定义的缺省矩阵的系数值相同。这里,缺省矩阵意味着与SizeID和RefMatrixID对应的缺省矩阵。此外,当pred_matrix_id_delta的值为0时,RefMatrixID的值变得与MatrixID的值相同。如果RefMatrixID的值与MatrixID的值不相同,则与RefMatrixID对应的量化矩阵被确定为要解码的量化矩阵的参考量化矩阵,并且要解码的量化矩阵的系数值被确定为与参考量化矩阵的系数值相同。
如果与SizeID对应的量化矩阵的尺寸被包括在解码器可用的最小尺寸和最大尺寸中,则能通过以上方法来确定要解码的量化矩阵的参考量化矩阵以及是否已使用缺省矩阵。如果与SizeID对应的量化矩阵的尺寸没有被包括在解码器可用的变换单元的最小尺寸和最大尺寸中,则与SizeID对应的量化矩阵可以不被确定为与缺省矩阵相同。如果基于关于变换单元的多条信息之中的、变换单元的最大尺寸和最小值之间的差值、来执行量化矩阵的解码、关于是否已使用缺省矩阵的信息的解码、和关于预测解码方法的类型的信息的解码中的一个或多个,则能执行用于SizeID的以上确定处理。
在确定是否已使用量化矩阵之后,解码器能从参数集解码关于是否已使用量化矩阵的信息。
如同表格20的示例中那样,解码器能从参数集解码scaling_list_enable_flag(即,关于是否已使用量化矩阵的信息)。这里,当scaling_list_enable_flag的值为1时,解码器能在反量化中使用量化矩阵(诸如缺省矩阵或非缺省矩阵)。当scaling_list_enable_flag的值为0时,解码器 不使用该量化矩阵,或者能使用在反量化中具有所有相同系数值的量化矩阵。这里,所有系数值可以是16。
此外,如果用于预测和解码量化矩阵的方法是根据逆DPCM和指数哥伦布编码方法来解码量化矩阵的方法,则解码器能从参数集解码已先前解码的量化矩阵的系数值和要解码的量化矩阵的系数值之间的差值。已先前解码的量化矩阵的系数值可以是要解码的量化矩阵中的系数值。即,已先前解码的量化矩阵的系数值和要解码的量化矩阵的系数值可以是相同量化矩阵中的值。
如同表格21的示例中那样,解码器能从参数集解码delta_coef(即,已先前解码的量化矩阵的系数值和要解码的量化矩阵的系数值之间的差值)。如同表格21的示例中那样,如果量化矩阵的系数值“nextcoef”(1)与特定值相同并且(2)是量化矩阵的第一值,则能通过使用等式18将对应量化矩阵的系数值确定为与编码器和/或解码器中定义的缺省矩阵的系数值相同。
<等式18>
nextcoef=(nextcoef+delta_coef+256)%256
即,如果量化矩阵的系数值“nextcoef”(1)与特定值相同并且(2)是量化矩阵的第一值,则解码器能使用对应量化矩阵作为缺省矩阵。这里,特定值可以是0。此外,缺省矩阵可意味着SizeID和MatrixID所指定的缺省矩阵。因此,如果量化矩阵的系数值“nextcoef”与0相同并且是量化矩阵的第一值,则解码器能停止对应量化矩阵和量化矩阵之间的差值的解码。
其间,如果用于预测和解码量化矩阵的方法是根据逆DPCM和指数哥伦布编码方法来解码量化矩阵的方法,则解码器能从参数集解码已先前解码的量化矩阵的系数值和要解码的量化矩阵的系数值之间的差值。已先前解码的量化矩阵的系数值可以是要解码的量化矩阵中的系数值。即,已先前解码的量化矩阵的系数值和要解码的量化矩阵的系数值可以是相同量化矩阵中的值。
如同表格22的示例中那样,解码器能从参数集解码delta_coef(即,已先前解码的量化矩阵的系数值和要解码的量化矩阵的系数值之间的差值)。例如,如同表格22的示例中那样,如果使用等式18计算的量化矩阵的系数值“nextcoef”(即,(nextcoef+delta_coef+256)%256)与特定值相同、并且是量化矩阵的第一值,则解码器能将对应量化矩阵的系数值确定为与编码 器和/或解码器中定义的缺省矩阵的系数值相同。即,如果nextcoef(1)与特定值相同并且(2)是量化矩阵的第一值,则解码器能使用对应量化矩阵作为缺省矩阵。这里,特定值可以是0,并且使用(nextcoef+delta_coef+256)%256计算的量化矩阵的系数值可以是具有4x4或8x8尺寸的量化矩阵的系数值
此外,量化矩阵的第一值可以是使用scaling_list_dc_coef_minus8的值,并且该特定值可以是与scaling_list_dc_coef_minus8+8对应的值。
scaling_list_dc_coef_minus8能意味着具有16x16或32x32尺寸的量化矩阵的第一值,这可意味着DC矩阵系数值。
当sizeID的值是2时,scaling_list_dc_coef_minus8[sizeID-2][matrixID]能对应于具有16x16尺寸的DC矩阵系数值。这里,16x16可以是与量化矩阵对应的变换块的尺寸。当SizeID的尺寸是3时,scaling_list_dc_coef_minus8[sizeID-2][matrixID]能对应于具有32x32尺寸的量化矩阵中的DC矩阵系数值。这里,32x32尺寸可以是与量化矩阵对应的变换块的尺寸。在每一情况下,缺省矩阵能意味着与SizeID和MatrixID对应的缺省矩阵。因此,如果量化矩阵的系数值“nextcoef”与0相同并且是量化矩阵的第一值,则解码器能停止对应量化矩阵和量化矩阵之间的差值(即,系数值之间的差)的解码。
解码器能通过使用该方法、根据量化矩阵的尺寸或变换尺寸、不同地执行是否解码scaling_list_dc_coef_minus8(即,DC矩阵系数值)、和关于是否已使用缺省矩阵的信息的解码。
其间,用于通过使用量化矩阵的系数值来确定是否使用缺省矩阵的编码/解码量化矩阵的方法的缺点在于,增加编码/解码量化矩阵的系数值的处理中的复杂度。相反,在本发明中,在图像编码/解码中,可通过使用参考量化矩阵ID来确定是否使用缺省矩阵。因此,能降低编码/解码量化矩阵的处理中的计算复杂度。
首先,解码器能从参数集解码指示是否存在量化矩阵的信息。如同表格23的示例中那样,解码器能从参数集解码scaling_list_present_flag(即,指示在比特流中是否存在量化矩阵的信息)。例如,当scaling_list_present_flag的值为0时,它意味着不存在量化矩阵并将该量化矩阵确定为缺省量化矩阵。当scaling_list_present_flag的值为1时,它意味着存在编码的量化矩阵。
解码器能从参数集解码关于预测和解码量化矩阵的方法的信息,并能基于解码的信息来确定用于该量化矩阵的预测解码方法的类型。这里,从其解码关于预测解码方法的信息的参数集可以是自适应参数集。如同表格23的示例中那样,解码器能从参数集解码scaling_list_pred_mode_flag(即,关于预测和解码量化矩阵的方法的信息)。例如,当scaling_list_pred_mode_flag的值为1时,解码器通过扫描根据指数哥伦布编码和逆DPCM方法解码量化矩阵,来预测和解码量化矩阵内的系数。当scaling_list_pred_mode_flag的值为0时,解码器确定要解码的量化矩阵的系数值,使得它们和参考量化矩阵的系数值具有相同值,或者确定要解码的量化矩阵的系数值,使得它们和缺省矩阵的系数值具有相同值。这里,确定这些值使得它们具有相同值可意味着使用将特定量化矩阵的系数值拷贝到要解码的量化矩阵的系数值的量化矩阵预测方法。
如果scaling_list_pred_mode_flag的值为0,则解码器能从参数集解码要解码的量化矩阵的参考量化矩阵ID、和关于是否已使用缺省矩阵的信息。这里,从其解码参考量化矩阵ID和信息的参数集可以是自适应参数集。
即,如同表格23的示例中那样,解码器能从参数集解码scaling_list_pred_matrix_id_delta(即,指定要解码的量化矩阵的参考量化矩阵ID的信息、和关于是否已使用缺省矩阵的信息)。这里,解码器能通过使用scaling_list_pred_matrix_id_delta和等式19,来确定指示要解码的量化矩阵的参考量化矩阵或缺省矩阵的RefMatrixID。
<等式19>
RefMatrixID=matrixID-scaling_list_pred_matrix_id_delta
如果RefMatrixID的值与matrixID的值相同,则与sizeID和matrixID对应的要解码的量化矩阵的系数值能被确定为与编码器和/或解码器中定义的缺省矩阵的系数值相同。这里,缺省矩阵可以是与sizeID和matrixID对应的缺省矩阵。参考等式19,当scaling_list_pred_matrix_id_delta的值为0时,它意味着RefMatrixID的值与matrixID的值相同。
如果RefMatrixID的值与matrixID的值不相同,则解码器能确定与RefMatrixID对应的量化矩阵作为要解码的量化矩阵的参考量化矩阵,并确定要解码的量化矩阵的系数值,使得它们与参考量化矩阵的系数值具有相同值。确定要解码的量化矩阵的系数值使得它们与参考量化矩阵的系数值具有 相同值可意味着,使用这样的量化矩阵预测方法,其将与RefMatrixID对应的参考量化矩阵确定为要解码的量化矩阵的参考量化矩阵,并将参考量化矩阵的系数值拷贝到要解码的量化矩阵的系数值。这里,scaling_list_pred_matrix_id_delta的值可以是正整数值。
如果用于预测和解码量化矩阵的方法是通过扫描根据指数哥伦布编码和逆DPCM方法来预测和解码量化矩阵中的系数的方法,则解码器能从参数集解码量化矩阵中已先前解码的量化矩阵的系数值和要解码的量化矩阵的系数值之间的差值。这里,解码器从其解码该差值的参数集可以是自适应参数集。
如同表格24的示例中那样,如果要解码的量化矩阵的尺寸是16x16(sizeID=2)或32x32(sizeID=3),则解码器能从参数集解码scaling_list_dc_coef_minus8(即,DC矩阵系数)。此外,如同表格24的示例中那样,解码器能从参数集解码scaling_list_delta_coef(即,量化矩阵中已先前解码的量化矩阵的系数值和要解码的量化矩阵的系数值之间的差值)。在表格23和24的示例中,已图示了其中从自适应参数集解码关于量化矩阵的信息的示例,但是本发明不限于此。解码器可从另一参数集(即,包括序列参数集和画面参数集的至少一个的参数集)解码关于量化矩阵的信息。
如上面在编码器的示例中描述的,在传统量化矩阵编码/解码方法中,恶化编码效率,因为当预测量化矩阵时编码/解码不必要的信息。然而,在本发明中,当编码/解码量化矩阵时能改进编码效率,因为能取决于是否存在参考量化矩阵而不同地执行量化矩阵的编码/解码。
更具体地,解码器能从参数集解码指示是否存在量化矩阵的信息。如同表格25的示例中那样,解码器能从参数集解码scaling_list_present_flag(即,关于在比特流中是否存在量化矩阵的信息)。例如,当scaling_list_present_flag的值为0时,它意味着不存在量化矩阵并且将所有量化矩阵确定为缺省量化矩阵。当scaling_list_present_flag的值为1时,它意味着存在编码的量化矩阵。
此外,当matrixID的值大于0时,解码器能从参数集解码关于预测和编码量化矩阵的方法的信息,并基于解码的信息来确定用于量化矩阵的预测解码方法的类型。这里,从其解码关于预测解码方法的信息的参数集可以是自 适应参数集。
例如,如同表格25的示例中那样,当matrixID的值大于0时,解码器能从参数集解码scaling_list_pred_mode_flag(即,关于预测和解码量化矩阵的方法的信息)。在表格25的示例中,当scaling_list_pred_mode_flag的值为1时,解码器能通过扫描根据指数哥伦布编码和逆DPCM方法解码量化矩阵,来预测和解码量化矩阵内的系数。当scaling_list_pred_mode_flag的值为0时,解码器能确定要解码的量化矩阵的系数值,使得它们和参考量化矩阵的系数值具有相同值。这里,确定这些值使得它们具有相同值可意味着使用将参考量化矩阵的系数值拷贝到要解码的量化矩阵的系数值的量化矩阵预测方法。
此外,在表格25的示例中,当matrixID的值为0时,scaling_list_pred_mode_flag的值成为真。因此,解码器不解码scaling_list_pred_mode_flag,并且能根据逆DPCM和指数哥伦布编码方法通过扫描量化矩阵来解码量化矩阵。
如果scaling_list_pred_mode_flag的值为0并且matrixID的值大于0,则解码器能从参数集解码要解码的量化矩阵的参考量化矩阵ID。这里,从其解码参考量化矩阵ID的参数集可以是自适应参数集。
例如,如同表格25的示例中那样,当matrixID的值大于0时,解码器能从参数集解码scaling_list_pred_matrix_id_delta(即,要解码的量化矩阵的参考量化矩阵ID)。这里,能通过使用scaling_list_pred_matrix_id_delta和等式20,来确定指示要解码的量化矩阵的参考量化矩阵的RefMatrixID。
<等式20>
RefMatrixID=matrixID-(1+scaling_list_pred_matrix_id_delta)
在表格25的示例中,具有值0的matrixID指示用于每一sizeID的第一量化矩阵。可仅从具有相同sizeID的先前解码的量化矩阵预测量化矩阵,并且不能对用于每一sizeID的第一量化矩阵执行使用诸如矩阵拷贝的方法的量化矩阵的预测,因为不存在具有相同sizeID值的参考量化矩阵。因此,当matrixID的值大于0时,解码器能解码scaling_list_pred_matrix_id_delta(即,参考量化矩阵ID),基于解码的参考量化矩阵ID确定与RefMatrixID对应的量化矩阵作为要解码的量化矩阵的参考量化矩阵,并确定要解码的量化矩阵的系数值使得它们和参考量化矩阵的系数值具有相同值。确定要解码的量化矩阵的系数值使得它们和参考量化矩阵的系数值具有相同值能意味着使用 这样的量化矩阵预测方法,其将与RefMatrixID对应的参考量化矩阵确定为要解码的量化矩阵的参考量化矩阵,并将参考量化矩阵的系数值拷贝到要解码的量化矩阵的系数值。
如果用于预测和解码量化矩阵的方法是通过扫描根据指数哥伦布编码和逆DPCM方法来预测和解码量化矩阵中的系数的方法,则解码器能从参数集解码量化矩阵中已先前解码的量化矩阵的系数值和要解码的量化矩阵的系数值之间的差值。这里,从其解码差值的参数集可以是自适应参数集。
例如,如同表格26的示例中那样,当要解码的量化矩阵的尺寸是16x16(sizeID=2)或32x32(sizeID=3)时,解码器能从参数集解码scaling_list_dc_coef_minus8(即,DC矩阵系数)。此外,如同表格26的示例中那样,解码器能从参数集解码scaling_list_delta_coef(即,量化矩阵中已先前解码的量化矩阵的系数值和要解码的量化矩阵的系数值之间的差值)。
此外,解码器能通过使用用来计算scaling_list_dc_coef_minus8或nextCoef的scaling_list_delta_coef,来确定是否已使用缺省矩阵。例如,将scaling_list_dc_coef_minus8的值解码为-8,解码器能将对应量化矩阵确定为缺省矩阵。当通过解码scaling_list_delta_coef而计算的第一nextCoef的值为0时,解码器能将对应量化矩阵确定为缺省矩阵。
如上面在编码器的示例中描述的,其中通过使用量化矩阵的系数值而确定是否已使用缺省矩阵的编码/解码量化矩阵的方法具有的缺点在于,它增加编码/解码量化矩阵的系数值的处理中的复杂程度。此外,恶化编码效率,因为当预测量化矩阵时编码/解码不必要的信息。然而,在本发明中,在图像编码/解码中,能降低当编码/解码量化矩阵时的计算的复杂度,因为能基于参考量化矩阵ID来确定是否已使用缺省矩阵,并且能改进编码/解码量化矩阵的编码效率,因为取决于是否存在参考量化矩阵而不同地编码/解码量化矩阵。
更具体地,首先,解码器从参数集解码指示是否存在量化矩阵的信息。如同表格27的示例中那样,解码器能从参数集解码scaling_list_present_flag(即,指示在比特流中是否存在量化矩阵的信息)。例如,当scaling_list_present_flag的值为0时,它指示不存在量化矩阵并且将所有量化矩阵确定为缺省量化矩阵。当scaling_list_present_flag的值为1时,它指示 编码的量化矩阵。
此外,解码器能从参数集解码关于预测和解码量化矩阵的方法的信息,并能基于解码的信息来确定用于量化矩阵的预测解码方法的类型。这里,从其解码关于预测解码方法的信息的参数集可以是自适应参数集。
更具体地,如同表格27的示例中那样,解码器能从参数集解码scaling_list_pred_mode_flag(即,关于预测和解码量化矩阵的方法的信息)。例如,当scaling_list_pred_mode_flag的值为1时,解码器能通过扫描根据指数哥伦布编码和逆DPCM方法解码量化矩阵,来预测和解码量化矩阵内的系数。当scaling_list_pred_mode_flag的值为0时,解码器能确定要解码的量化矩阵的系数值,使得它们和参考量化矩阵的系数值具有相同值,或者确定要解码的量化矩阵的系数值,使得它们和缺省矩阵的系数值具有相同值。这里,确定这些值使得它们具有相同值可意味着使用将特定量化矩阵的系数值拷贝到要解码的量化矩阵的系数值的量化矩阵预测方法。
如果scaling_list_pred_mode_flag的值为0并且matrixID的值大于0,则解码器能从参数集解码要解码的量化矩阵的参考量化矩阵ID和关于是否已使用缺省矩阵的信息。这里,从其解码参考量化矩阵ID和关于是否已使用缺省矩阵的信息的参数集可以是自适应参数集。
在该情况下,如同表格27的示例中那样,当scaling_list_pred_mode_flag的值为0并且matrixID的值大于0时,解码器能从参数集解码scaling_list_pred_matrix_id_delta(即,指示要解码的量化矩阵的参考量化矩阵ID和关于是否已使用缺省矩阵的信息)。这里,能通过使用scaling_list_pred_matrix_id_delta和等式21,来确定指示要解码的量化矩阵的参考量化矩阵或缺省矩阵的RefMatrixID。
<等式21>
RefMatrixID=matrixID-scaling_list_pred_matrix_id_delta
如果RefMatrixID的值等于matrixID的值,则与sizeID和matrixID对应的要解码的量化矩阵的系数值能被确定为与编码器和/或解码器中定义的缺省矩阵的系数值相同。这里,缺省矩阵意味着与sizeID和matrixID对应的缺省矩阵。根据等式21,当scaling_list_pred_matrix_id_delta的值为0时,它意味着RefMatrixID的值与matrixID的值相同。
如果RefMatrixID的值与matrixID的值不相同,则与RefMatrixID对应 的量化矩阵被确定为要解码的量化矩阵的参考量化矩阵,并将要解码的量化矩阵的系数值确定为与参考量化矩阵的系数值相同。将要解码的量化矩阵的系数值确定为与参考量化矩阵的系数值相同可意味着,使用这样的量化矩阵预测方法,其将与RefMatrixID对应的参考量化矩阵确定为要解码的量化矩阵的参考量化矩阵,并将参考量化矩阵的系数值拷贝到要解码的量化矩阵的系数值。
这里,当scaling_list_pred_mode_flag的值为0时,它指示预测和解码量化矩阵的方法是将量化矩阵确定为与先前解码的量化矩阵相同的方法。在该情况下,能从具有相同sizeID的先前解码的量化矩阵来预测量化矩阵。
当matrixID的值为0时,对于每一sizeID指示第一量化矩阵。如果scaling_list_pred_mode_flag的值为0并且matrixID的值为0,则不能对用于每一sizeID的第一量化矩阵执行使用诸如矩阵拷贝的方法的量化矩阵的预测,因为不存在具有相同sizeID的参考量化矩阵。在该情况下,编码器不编码scaling_list_pred_matrix_id_delta,并导出scaling_list_pred_matrix_id_delta的值作为0。当scaling_list_pred_matrix_id_delta的值为0时,与sizeID和matrixID对应的要解码的量化矩阵的系数值被确定为与编码器和/或解码器中定义的缺省矩阵的系数值相同,因为RefMatrixID的值与matrixID的值相同。这里,缺省矩阵意味着与sizeID和matrixID对应的缺省矩阵。
如果用于预测和解码所解码的量化矩阵的方法是通过扫描根据指数哥伦布编码和逆DPCM方法来预测和解码量化矩阵中的系数的方法,则解码器能从参数集解码量化矩阵中先前已解码的量化矩阵的系数值和要解码的量化矩阵的系数值之间的差值。这里,从其解码差值的参数集可以是自适应参数集。
例如,如同表格28的示例中那样,如果要解码的量化矩阵的尺寸是16x16(sizeID=2)或32x32(sizeID=3),则解码器能从参数集解码scaling_list_dc_coef_minus8(即,DC矩阵系数)。如同表格28的示例中那样,解码器能从参数集解码scaling_list_delta_coef(即,量化矩阵中先前已解码的量化矩阵的系数值和要解码的量化矩阵的系数值之间的差值)。
如同上面在编码器的示例中描述的,在传统量化矩阵编码/解码方法中,当发送量化矩阵时,对矩阵内的所有系数和DC矩阵系数进行编码/解码。在该情况下,限制编码效率的改进,因为不对DC矩阵系数进行预测和编码/ 解码。在本发明中,能预测和编码/解码量化矩阵内的DC矩阵系数,并由此能改进编码效率。例如,在表格29和30的示例中,能改进编码效率,因为不从常数8预测DC矩阵系数,而是通过使用相邻系数之间的高相关性来从相邻AC系数预测DC矩阵系数。此外,在表格29和30的示例中,能降低用于存储DC矩阵系数的存储空间,因为使得量化矩阵的编码/解码序列与量化矩阵的恢复序列相同。此外,在表格29和30的示例中,能通过语法元素“scaling_list_delta_coef”、而不使用几个语法元素,来指示是否已使用缺省矩阵。
更具体地,解码器能从参数集解码指示是否存在量化矩阵的信息。例如,如同表格29的示例中那样,解码器能从参数集解码scaling_list_present_flag(即,指示在比特流中是否存在量化矩阵的信息)。然后,当scaling_list_present_flag的值为0时,它指示不存在量化矩阵并且由此将所有量化矩阵确定为缺省量化矩阵。当scaling_list_present_flag的值为1时,它指示存在编码的量化矩阵。
解码器能从参数集解码关于预测和解码量化矩阵的方法的信息,并能基于解码的信息来确定量化矩阵的预测解码方法的类型。这里,从其解码关于预测和解码量化矩阵的方法的信息的参数集可以是自适应参数集。
更具体地,如同表格29的示例中那样,解码器能从参数集解码scaling_list_pred_mode_flag(即,关于预测和解码量化矩阵的方法的信息)。例如,当scaling_list_pred_mode_flag的值为1时,解码器能通过扫描根据指数哥伦布编码和逆DPCM方法来预测和解码量化矩阵中的系数。当scaling_list_pred_mode_flag的值为0时,解码器能确定要解码的量化矩阵的系数值,使得它们和参考量化矩阵的系数值具有相同值。这里,确定这些值使得它们具有相同值能意味着,使用将参考量化矩阵的系数值拷贝到要解码的量化矩阵的系数值的量化矩阵预测方法。
如果scaling_list_pred_mode_flag的值为0,则解码器能从参数集解码要解码的量化矩阵的参考量化矩阵ID。这里,从其解码参考量化矩阵ID的参数集可以是自适应参数集。
更具体地,如同表格29的示例中那样,解码器能从参数集解码scaling_list_pred_matrix_id_delta(即,要解码的量化矩阵的参考量化矩阵ID)。这里,能通过使用scaling_list_pred_matrix_id_delta和等式22来确定指 示要解码的量化矩阵的参考量化矩阵的RefMatrixID。
<等式22>
RefMatrixID=matrixID-(1+scaling_list_pred_matrix_id_delta)
解码器能将与RefMatrixID对应的量化矩阵确定为要解码的量化矩阵的参考量化矩阵,并确定要解码的量化矩阵的系数值,使得它们和参考量化矩阵的系数值具有相同值。确定要解码的量化矩阵的系数值使得它们和参考量化矩阵的系数值具有相同值可意味着,使用这样的量化矩阵预测方法,其将与RefMatrixID对应的参考量化矩阵确定为要解码的量化矩阵的参考量化矩阵,并将参考量化矩阵的系数值拷贝到要解码的量化矩阵的系数值。
如果用于预测和解码所解码的量化矩阵的方法是通过扫描根据指数哥伦布编码和逆DPCM方法来预测和解码量化矩阵中的系数的方法,则解码器能从参数集解码量化矩阵中已先前解码的量化矩阵的系数值和要解码的量化矩阵的系数值之间的差值。这里,从其解码差值的参数集可以是自适应参数集。
例如,如同表格30的示例中那样,解码器能从参数集解码scaling_list_delta_coef(即,量化矩阵中已先前解码的量化矩阵的系数值和要解码的量化矩阵的系数值之间的差值)。这里,编码器能通过使用用来计算nextCoef的scaling_list_delta_coef来确定是否已使用缺省矩阵。即,当通过解码scaling_list_delta_coef而计算的第一nextCoef的值为0时,解码器能将对应量化矩阵确定为缺省矩阵。
此外,如同表格30的示例中那样,解码器能从参数集解码scaling_list_dc_coef_res(即,与DC矩阵系数对应的量化矩阵的系数值之间的差值)。这里,当要解码的量化矩阵的尺寸是16x16(sizeID=2)或32x32(sizeID=3)并且不使用缺省矩阵时,能从(useDefaultScalingMatrixFlag=0)解码scaling_list_dc_coef_res。
与其DC矩阵系数被单独解码的具有16x16或32x32尺寸的量化矩阵相关地,能根据等式23通过使用scaling_list_dc_coef_res的值和在DC位置处存在的矩阵系数之和,来计算DC矩阵系数。
<等式23>
ScalingFactor[2][matrixID][0][0]=scaling_list_dc_coef_res[0][matrixID]+ScalingFactor[2][matrixID][0][0]其中matrixID=0..5
ScalingFactor[3][matrixID][0][0]=scaling_list_dc_coef_res[1][matrixID]+S calingFactor[3][matrixID][0][0]其中matrixID=0..1
在等式23中,ScalingFactor[2]表示具有16x16尺寸的量化矩阵,而ScalingFactor[3]表示具有32x32的量化矩阵。此外,ScalingFactor[2][matrixID][0][0]表示与matrixID对应的具有16x16尺寸的量化矩阵内的DC矩阵系数。ScalingFactor[3][matrixID][0][0]表示与matrixID对应的具有32x32尺寸的量化矩阵内的DC矩阵系数。
其间,通过使用量化矩阵的系数值来确定是否已使用缺省矩阵的用于编码/解码量化矩阵的方法的缺点在于,其增加在编码/解码量化矩阵的系数值的处理中的复杂程度。此外,当发送量化矩阵时,编码/解码量化矩阵内的所有系数和DC矩阵系数。在该情况下,限制编码效率的改进,因为不对DC矩阵系数进行预测和编码/解码。
在本发明中,在图像编码/解码中,通过基于参考量化矩阵ID确定是否已使用缺省矩阵,能降低当编码/解码量化矩阵时的复杂程度。此外,通过对量化矩阵内的DC矩阵系数进行预测和编码/解码,能改进编码效率。例如,在表格31和32的示例中,通过基于相邻系数之间的高相关性从相邻AC系数预测量化矩阵中的DC矩阵系数,而不是从常数8预测DC矩阵系数,能改进编码效率。此外,在表格31和32的示例中,能降低用于存储DC矩阵系数的存储空间,因为使得量化矩阵的编码/解码序列与量化矩阵的恢复序列相同。此外,在表格31和32的示例中,能通过语法元素“scaling_list_delta_coef”、而不使用几个语法元素,来指示是否已使用缺省矩阵。
更具体地,解码器能从参数集解码指示是否存在量化矩阵的信息。如同表格31的示例中那样,解码器能从参数集解码scaling_list_present_flag(即,指示在比特流中是否存在量化矩阵的信息)编码为参数集。这里,当scaling_list_present_flag的值为0时,它指示不存在量化矩阵并且由此将所有量化矩阵确定为缺省量化矩阵。当scaling_list_present_flag的值为1时,它指示存在编码的量化矩阵。
解码器能从参数集解码关于预测和解码量化矩阵的方法的信息,并能基于解码的信息来确定量化矩阵的预测解码方法的类型。这里,从其解码关于预测解码方法的信息的参数集可以是自适应参数集。
例如,如同表格31的示例中那样,解码器能从参数集解码scaling_list_pred_mode_flag(即,关于预测和解码量化矩阵的方法的信息)。在表格31的示例中,当scaling_list_pred_mode_flag的值为1时,解码器能通过扫描根据指数哥伦布编码和逆DPCM方法解码量化矩阵,来预测和解码量化矩阵中的系数。当scaling_list_pred_mode_flag的值为0时,要解码的量化矩阵的系数值能被确定为与参考量化矩阵的系数值相同,或者要解码的量化矩阵的系数值能被确定为与缺省矩阵的系数值相同。这里,确定这些值使得它们具有相同值能意味着,使用将特定量化矩阵的系数值拷贝到要解码的量化矩阵的系数值的量化矩阵预测方法。
如果scaling_list_pred_mode_flag的值为0,则解码器能从参数集解码要解码的量化矩阵的参考量化矩阵ID和关于是否已使用缺省矩阵的信息。这里,所解码的参数集可以是自适应参数集。
更具体地,如同表格31的示例中那样,解码器能从参数集解码scaling_list_pred_matrix_id_delta(即,关于要解码的量化矩阵的参考量化矩阵ID和是否已使用缺省矩阵的信息)。这里,能通过使用scaling_list_pred_matrix_id_delta和等式24,来确定指示要解码的量化矩阵的参考量化矩阵或缺省矩阵的RefMatrixID。
<等式24>
RefMatrixID=matrixID-scaling_list_pred_matrix_id_delta
如果RefMatrixID的值与matrixID的值相同,则与sizeID和matrixID对应的要解码的量化矩阵的系数值能被确定为与编码器和/或解码器中定义的缺省矩阵的系数值相同。这里,缺省矩阵表示与sizeID和matrixID对应的缺省矩阵。此外,在等式24中,当scaling_list_pred_matrix_id_delta的值为0时,它意味着RefMatrixID的值与matrixID的值相同。当RefMatrixID的值与matrixID的值不相同时,与RefMatrixID对应的量化矩阵能被确定为要解码的量化矩阵的参考量化矩阵,并且要解码的量化矩阵的系数值被确定为与参考量化矩阵的系数值相同。将要解码的量化矩阵的系数值确定为与参考量化矩阵的系数值相同可意味着,使用这样的量化矩阵预测方法,其将与RefMatrixID对应的参考量化矩阵确定为要解码的量化矩阵的参考量化矩阵,并将参考量化矩阵的系数值拷贝到要解码的量化矩阵的系数值。
如果用于预测和解码所解码的量化矩阵的方法是通过扫描根据指数哥 伦布编码和逆DPCM方法来解码量化矩阵以便预测和解码量化矩阵中的系数的方法,则解码器能从参数集中解码量化矩阵中先前已解码的量化矩阵的系数值和要解码的量化矩阵的系数值之间的差值。这里,从其解码差值的参数集可以是自适应参数集。
此外,如同表格32的示例中那样,解码器能从参数集解码scaling_list_delta_coef(即,量化矩阵中已先前解码的量化矩阵的系数值和要解码的量化矩阵的系数值之间的差值)。如同表格32的示例中那样,解码器能从参数集解码scaling_list_dc_coef_res(即,与DC矩阵系数对应的量化矩阵的系数值之间的差值)。这里,当要解码的量化矩阵的尺寸是16x16(sizeID=2)或32x32(sizeID=3)量化矩阵并且不使用缺省矩阵时,能从(useDefaultScalingMatrixFlag=0)解码scaling_list_dc_coef_res。
与其DC矩阵系数被单独解码的具有16x16尺寸的量化矩阵或具有32x32尺寸的量化矩阵相关地,能根据等式25通过使用scaling_list_dc_coef_res的值和在DC位置处存在的矩阵的系数之和,来计算DC矩阵系数。
<等式25>
ScalingFactor[2][matrixID][0][0]=scaling_list_dc_coef_res[0][matrixID]+ScalingFactor[2][matrixID][0][0]其中matrixID=0..5
ScalingFactor[3][matrixID][0][0]=scaling_list_dc_coef_res[1][matrixID]+ScalingFactor[3][matrixID][0][0]其中matrixID=0..1
在等式25中,ScalingFactor[2]表示16x16尺寸的量化矩阵,而ScalingFactor[3]表示32x32尺寸的量化矩阵。此外,ScalingFactor[2][matrixID][0][0]表示与对应matrixID对应的16x16尺寸的量化矩阵内的DC矩阵系数,而ScalingFactor[3][matrixID][0][0]表示与对应matrixID对应的32x32尺寸的量化矩阵内的DC矩阵系数。
如同上面与编码器相关的示例中描述的,在传统量化矩阵编码/解码方法中,通过使用当执行量化和反量化时的量化矩阵的尺寸(而不是使用当执行编码/解码时的量化矩阵的尺寸)来拷贝量化矩阵。因此,限制量化矩阵的编码效率,因为必须从有限数目的量化矩阵拷贝量化矩阵。然而,在本发明中,能改进编码效率并能增加预测量化矩阵的自由度,因为能从和当执行编码/解码时的量化矩阵具有相同尺寸的量化矩阵预测量化矩阵。
更具体地,解码器能从参数集解码指示是否存在量化矩阵的信息。如同表格33和34的示例中那样,解码器能从参数集解码scaling_list_present_flag(即,指示在比特流中是否存在量化矩阵的信息)。例如,当scaling_list_present_flag的值为0时,它指示不存在量化矩阵并且由此将所有量化矩阵确定为缺省量化矩阵。当scaling_list_present_flag的值为1时,它指示存在编码的量化矩阵。
此外,解码器能从参数集解码关于预测和解码量化矩阵的方法的信息,并能基于解码的信息来确定量化矩阵的预测解码方法的类型。这里,从其解码关于预测解码方法的信息的参数集可以是自适应参数集。
更具体地,如同表格33和34的示例中那样,解码器能从参数集解码scaling_list_pred_mode_flag(即,关于预测和解码量化矩阵的方法的信息)。例如,当scaling_list_pred_mode_flag的值为1时,解码器能通过扫描根据指数哥伦布编码和逆DPCM方法解码量化矩阵,来预测和解码量化矩阵中的系数。当scaling_list_pred_mode_flag的值为0时,解码器能确定要解码的量化矩阵的系数值使得它们与参考量化矩阵的系数值具有相同值。这里,确定这些值使得它们具有相同值能意味着,使用将参考量化矩阵的系数值拷贝到要解码的量化矩阵的系数值的量化矩阵预测方法。
如果scaling_list_pred_mode_flag的值为0,则解码器能从参数集解码要解码的量化矩阵的参考量化矩阵ID。这里,关于参考量化矩阵的ID信息(标识符)能包括要解码的量化矩阵的参考量化矩阵的尺寸和参考量化矩阵中的一个或多个。此外,从其解码参考量化矩阵ID的参数集可以是自适应参数集。
例如,如同表格33的示例中那样,解码器能从参数集解码scaling_list_pred_matrix_id_delta(即,关于要解码的量化矩阵的参考量化矩阵的ID信息)。这里,能通过使用scaling_list_pred_size_matrix_id_delta和等式26,来确定RefSizeID(即,要解码的量化矩阵的参考量化矩阵的尺寸)和指示参考量化矩阵的RefMatrixID。
<等式26>
RefSizeID=sizeID-(scaling_list_pred_size_matrix_id_delta/6)
RefMatrixID=scaling_list_pred_size_matrix_id_delta%6
此外,如同表格34的示例中那样,解码器能从参数集解码 scaling_list_pred_size_id_delta和scaling_list_pred_size_matrix_id_delta(即,关于要解码的量化矩阵的参考量化矩阵的ID信息)。这里,RefSizeID可以通过使用scaling_list_pred_size_id_delta的值和等式27来确定,并且指示要解码的量化矩阵的参考量化矩阵的RefMatrixID可通过使用scaling_list_pred_matrix_id_delta和等式28来确定。
<等式27>
RefSizeID=sizeID-scaling_list_pred_size_id_delta
<等式28>
RefMatrixID=matrixID-scaling_list_pred_matrix_id_delta
要解码的量化矩阵的系数值可同样通过其sizeID等于RefSizeID并且matrixID等于RefMatrixID的参考量化矩阵的系数值来确定。即,解码器能将参考量化矩阵拷贝到要解码的量化矩阵。确定要解码的量化矩阵的系数值使得它们和参考量化矩阵的系数值具有相同值可意味着,使用这样的量化矩阵预测方法,其将与RefSizeID和RefMatrixID对应的参考量化矩阵确定为要解码的量化矩阵的参考量化矩阵,并将参考量化矩阵的系数值拷贝到要解码的量化矩阵的系数值。
通过表格33和34的示例,能从具有相同sizeID的量化矩阵预测量化矩阵,并还能从具有当执行编码/解码时相同的矩阵尺寸但是具有不同sizeID的量化矩阵预测量化矩阵
此外,在表格33和34的示例中,scaling_list_pred_size_matrix_id_delta的值、scaling_list_pred_size_id_delta的值、和scaling_list_pred_matrix_id_delta的值可限于特定范围的值。例如,scaling_list_pred_size_matrix_id_delta可限于从0到17的范围的值,scaling_list_pred_size_id_delta可限于从0到2的范围的值,而scaling_list_pred_matrix_id_delta可限于从0到5的范围的值。
此外,在表格33和34的示例中,解码器可以不从比要解码的量化矩阵具有更大尺寸的量化矩阵预测要解码的量化矩阵。
此外,在表格33和34的示例中,当从具有8x8尺寸的量化矩阵预测要解码的量化矩阵时,解码器能通过将与8x8尺寸的量化矩阵内的DC矩阵系数的位置对应的值确定为DC矩阵系数,来预测对应位置处的值。此外,当从具有16x16或32x32尺寸的量化矩阵预测要解码的量化矩阵时,解码器也能预测DC矩阵系数。
其间,如果用于预测和解码量化矩阵的方法是通过扫描根据指数哥伦布编码和逆DPCM方法来解码量化矩阵以便预测和解码量化矩阵内的系数的方法,则解码器能从参数集解码量化矩阵内先前已解码的量化矩阵的系数值和要解码的量化矩阵的系数值之间的差值。这里,从其解码差值的参数集可以是自适应参数集。
更具体地,如同表格35的示例中那样,如果要解码的量化矩阵的尺寸是16x16(sizeID=2)或32x32(sizeID=3),则解码器能从参数集解码scaling_list_dc_coef_minus8(即,DC矩阵系数)。
此外,如同表格35的示例中那样,解码器能从参数集解码scaling_list_delta_coef(即,量化矩阵中先前已解码的量化矩阵的系数值和要编码的量化矩阵的系数值之间的差值)。
此外,解码器能通过使用用来计算scaling_list_dc_coef_minus8或nextCoef的scaling_list_delta_coef来确定是否已使用缺省矩阵。即,如果scaling_list_dc_coef_minus8的值被解码为-8,则对应量化矩阵能被确定为缺省矩阵。如果通过解码scaling_list_delta_coef而计算的第一nextCoef的值是0,则对应量化矩阵能被确定为缺省矩阵。
如同上面在编码器的示例中描述的,在传统量化矩阵编码/解码方法中,增加编码/解码量化矩阵的系数值的处理中的复杂程度,因为使用量化矩阵的系数值来确定是否已使用缺省矩阵。此外,从有限数目的量化矩阵拷贝量化矩阵,因为通过使用当执行量化和反量化时的量化矩阵的尺寸(而不是使用当执行编码/解码时的量化矩阵的尺寸)来拷贝量化矩阵。然而,在本发明中,通过基于参考量化矩阵ID确定是否已使用缺省矩阵,能降低当编码/解码量化矩阵时计算的复杂度。此外,在本发明中,通过从和当执行编码/解码时的量化矩阵具有相同尺寸的量化矩阵来预测量化矩阵,能改进编码效率并能增加预测量化矩阵的自由度。
更具体地,解码器能从参数集解码指示是否存在量化矩阵的信息。如同表格36和37的示例中那样,解码器能从参数集解码scaling_list_present_flag(即,指示在比特流中是否存在量化矩阵的信息)。例如,当scaling_list_present_flag的值为0时,它指示不存在量化矩阵,并且由此能将所有量化矩阵确定为缺省量化矩阵。当scaling_list_present_flag的值为1时,它指示存在编码的量化矩阵。
解码器能从参数集解码关于预测和解码量化矩阵的方法的信息,并能基于解码的信息来确定预测和解码量化矩阵的方法的类型。这里,解码的参数集可以是自适应参数集。
如同表格36和37的示例中那样,解码器能从参数集解码scaling_list_pred_mode_flag(即,关于预测和解码量化矩阵的方法的信息)。这里,当scaling_list_pred_mode_flag的值为1时,解码器能通过扫描根据指数哥伦布编码和逆DPCM方法来解码量化矩阵,以便预测和解码量化矩阵中的系数。当scaling_list_pred_mode_flag的值为0时,解码器能确定要解码的量化矩阵的系数值,使得它们与参考量化矩阵的系数值具有相同值,或者确定要解码的量化矩阵的系数值,使得它们与缺省矩阵的系数值具有相同值。这里,确定这些值使得它们具有相同值能意味着,使用将参考量化矩阵的系数值拷贝到要解码的量化矩阵的系数值的量化矩阵预测方法。
如果scaling_list_pred_mode_flag的值为0,则解码器能从参数集解码要解码的量化矩阵的参考量化矩阵ID和关于是否已使用缺省矩阵的信息。这里,关于参考量化矩阵的ID信息(标识符)能包括要解码的量化矩阵的参考量化矩阵的尺寸和参考量化矩阵中的一个或多个。此外,解码的参数集可以是自适应参数集。
例如,如同表格36的示例中那样,解码器能从参数集解码scaling_list_pred_size_matrix_id_delta(即,要解码的量化矩阵的参考量化矩阵ID和关于是否已使用缺省矩阵的信息)。这里,能通过使用scaling_list_pred_size_matrix_id_delta和等式29,来确定RefSizeID和指示参考量化矩阵的RefMatrixID。
<等式29>
RefSizeID=sizeID-(scaling_list_pred_size_matrix_id_delta/6)
RefMatrixID=scaling_list_pred_size_matrix_id_delta%6
此外,如同表格37的示例中那样,解码器可从参数集解码scaling_list_pred_size_id_delta和scaling_list_pred_size_matrix_id_delta(即,要解码的量化矩阵的参考量化矩阵ID和关于是否已使用缺省矩阵的信息)。这里,RefSizeID可以通过使用scaling_list_pred_size_id_delta的值和等式30来确定,并且指示要解码的量化矩阵的参考量化矩阵或缺省矩阵的RefMatrixID可通过使用scaling_list_pred_matrix_id_delta的值和等式31来确 定。
<等式30>
RefSizeID=sizeID-scaling_list_pred_size_id_delta
<等式31>
RefMatrixID=matrixID-scaling_list_pred_matrix_id_delta
如果RefMatrixID的值等于matrixID的值,则与sizeID和matrixID对应的要解码的量化矩阵的系数值能被确定为与编码器和/或解码器中定义的缺省矩阵的系数值相同。这里,缺省矩阵表示与sizeID和matrixID对应的缺省矩阵。此外,在等式31中,当scaling_list_pred_matrix_id_delta的值为0时,它意味着RefMatrixID的值等于matrixID的值。
如果RefMatrixID的值与matrixID的值不相同,则将与RefSizeID和RefMatrixID对应的量化矩阵确定为要解码的量化矩阵的参考量化矩阵,并能将要解码的量化矩阵的系数值确定为与参考量化矩阵的系数值相同。将要解码的量化矩阵的系数值确定为与参考量化矩阵的系数值相同可意味着,使用这样的量化矩阵预测方法,其将与RefSizeID和RefMatrixID对应的参考量化矩阵确定为要解码的量化矩阵的参考量化矩阵,并将参考量化矩阵的系数值拷贝到要解码的量化矩阵的系数值。
根据表格36或37的示例,能从具有相同sizeID的量化矩阵来预测量化矩阵,并且还能从具有当执行编码/解码时相同的矩阵尺寸但是具有不同sizeID的量化矩阵来预测量化矩阵
此外,在表格36或37的示例中,scaling_list_pred_size_matrix_id_delta的值、scaling_list_pred_size_id_delta的值、和scaling_list_pred_matrix_id_delta的值可限于特定范围的值。例如,scaling_list_pred_size_matrix_id_delta可限于从0到17的范围的值,scaling_list_pred_size_id_delta可限于从0到2的范围的值,而scaling_list_pred_matrix_id_delta可限于从0到5的范围的值。
此外,在表格36或37的示例中,解码器可以不从比要解码的量化矩阵具有更大尺寸的量化矩阵预测量化矩阵。
此外,当从具有8x8尺寸的量化矩阵执行预测时,解码器能通过将与8x8尺寸的量化矩阵内的DC矩阵系数的位置对应的值确定为DC矩阵系数,来预测对应位置处的值。此外,当从16x16尺寸的量化矩阵或32x32尺寸的量化矩阵执行预测时,解码器也能预测DC矩阵系数。
其间,如果用于预测和解码量化矩阵的方法是通过扫描根据指数哥伦布编码和逆DPCM方法来解码量化矩阵以便预测和解码量化矩阵内的系数的方法,则解码器能从参数集解码量化矩阵内先前已解码的量化矩阵的系数值和要解码的量化矩阵的系数值之间的差值。这里,从其解码差值的参数集可以是自适应参数集。
如同表格38的示例中那样,如果要解码的量化矩阵的尺寸是16x16(sizeID=2)或32x32(sizeID=3),则解码器能从参数集解码scaling_list_dc_coef_minus8(即,DC矩阵系数)。
如同表格38的示例中那样,解码器能从参数集解码scaling_list_delta_coef(即,量化矩阵中先前已编码的量化矩阵的系数值和要编码的量化矩阵的系数值之间的差值)。
如同上面在编码器的示例中描述的,在传统量化矩阵编码/解码方法中,限制编码效率的改进,因为当编码/解码量化矩阵中的第一系数时,通过不考虑频繁出现的系数值来编码量化矩阵的系数值。然而,在本发明中,能改进编码效率,因为能使用频繁出现的系数值来预测和编码/解码量化矩阵中的第一系数。如果缺省矩阵的第一系数值或DC矩阵系数值被定义为16并且非缺省矩阵的第一系数值或DC矩阵系数值基于16分布,如果通过从常数16预测第一系数值或DC矩阵系数值、来编码/解码要编码/解码的量化矩阵中的第一系数值或DC矩阵系数值,则能改进编码效率。
更具体地,解码器能从参数集解码指示是否存在量化矩阵的信息。如同表格39的示例中那样,解码器能从参数集解码scaling_list_present_flag(即,指示在比特流中是否存在量化矩阵的信息)。例如,当scaling_list_present_flag的值为0时,它指示不存在量化矩阵并且由此能将所有量化矩阵确定为缺省量化矩阵。当scaling_list_present_flag的值为1时,它指示存在编码的量化矩阵。
此外,解码器能从参数集解码关于预测和解码量化矩阵的方法的信息,并能基于解码的信息来确定用于量化矩阵的预测解码方法的类型。这里,从其解码关于预测编码方法的信息的参数集可以是自适应参数集。
如同表格39的示例中那样,解码器能从参数集解码scaling_list_pred_mode_flag(即,关于预测和解码量化矩阵的方法的信息)。例如,当scaling_list_pred_mode_flag的值为1时,解码器通过扫描根据指数 哥伦布编码和逆DPCM方法来解码量化矩阵,以便预测和解码量化矩阵中的系数。当scaling_list_pred_mode_flag的值为0时,解码器确定要解码的量化矩阵的系数值,使得它们与参考量化矩阵的系数值具有相同值。这里,确定这些值使得它们具有相同值能意味着,使用将参考量化矩阵的系数值拷贝到要解码的量化矩阵的系数值的量化矩阵预测方法。
如果scaling_list_pred_mode_flag的值为0,则解码器能从参数集解码要解码的量化矩阵的参考量化矩阵ID。这里,从其解码参考量化矩阵ID的参数集可以是自适应参数集。
此外,如同表格39的示例中那样,解码器可从参数集解码scaling_list_pred_matrix_id_delta(即,要解码的量化矩阵的参考量化矩阵ID)。这里,能通过使用scaling_list_pred_matrix_id_delta和等式32,来确定指示要解码的量化矩阵的参考量化矩阵的RefMatrixID。
<等式32>
RefMatrixID=matrixID-(1+scaling_list_pred_matrix_id_delta)
解码器能确定与RefMatrixID对应的量化矩阵作为要解码的量化矩阵的参考量化矩阵,并确定要解码的量化矩阵的系数值,使得它们与参考量化矩阵的系数值具有相同值。确定要解码的量化矩阵的系数值使得它们与参考量化矩阵的系数值具有相同值可意味着,使用这样的量化矩阵预测方法,其将与RefMatrixID对应的参考量化矩阵确定为要解码的量化矩阵的参考量化矩阵,并将参考量化矩阵的系数值拷贝到要解码的量化矩阵的系数值。这里,scaling_list_pred_matrix_id_delta的值可以是正整数值。
如果用于预测和解码所解码的量化矩阵的方法是通过扫描根据指数哥伦布编码和逆DPCM方法来解码量化矩阵以便预测和解码量化矩阵中的系数的方法,则解码器能从参数集解码量化矩阵中已先前解码的量化矩阵的系数值和要解码的量化矩阵的系数值之间的差值。这里,从其解码差值的参数集可以是自适应参数集。
如同表格40的示例中那样,解码器能从参数集解码scaling_list_delta_coef(即,量化矩阵中已先前解码的量化矩阵的系数值和要解码的量化矩阵的系数值之间的差值)。这里,解码器可将第一系数值的预测值设置为16,如同nextCoef=16中那样。
此外,如同表格40的示例中那样,如果要解码的量化矩阵的尺寸是 16x16(sizeID=2)或32x32(sizeID=3),则解码器能从参数集解码scaling_list_dc_coef_minus16(即,与DC矩阵系数对应的量化矩阵的系数值)。scaling_list_dc_coef_minus16的值意味着在假设预测值为16的情况下计算的DC矩阵系数。
此外,解码器能通过使用用来计算scaling_list_dc_coef_minus16或nextCoef的scaling_list_delta_coef来确定是否已使用缺省矩阵。例如,如果将scaling_list_dc_coef_minus16的值解码为-16,则对应量化矩阵能被确定为缺省矩阵。如果通过解码scaling_list_delta_coef而计算的第一nextCoef值为0,则对应量化矩阵能被确定为缺省矩阵。
在这些表格的示例以及表格39和40的示例中,nextCoef能被设置为16并且scaling_list_dc_coef_minus16的值能意味着在假设预测值为16的情况下计算的DC矩阵系数。如果将scaling_list_dc_coef_minus16的值解码为-16,则解码器能将对应量化矩阵能确定为缺省矩阵。
迄今已参考表格和图描述了根据本发明的关于量化矩阵的信息的编码/解码和传送/接收的实施例。
在表格18和19的示例、表格20和21的示例、表格23和24的示例、表格25和26的示例、表格27和28的示例、表格29和30的示例、表格31和32的示例、表格33和34的示例、表格36和38的示例、表格37和38的示例、以及表格39和40的示例中,已参考两个表格描述了根据本发明的语法结构的示例,但是这仅是为了便于描述,并且本发明不限于这些示例。
例如,在语法结构的示例中,图示了scaling_list_pred_mode_flag以指示预测量化矩阵的方法。当scaling_list_pred_mode_flag的值为0时,通过矩阵拷贝获得量化矩阵,并且当scaling_list_pred_mode_flag的值为1时,通过从量化矩阵内的先前矩阵系数预测矩阵系数来获得量化矩阵
例如,在表格23和24的示例中,当scaling_list_pred_mode_flag的值为1时,通过取得量化矩阵的语法(即,缩放列表“scaling_list”的语法)来获得量化矩阵,但这可在单一语法结构中解决。应注意的是,使用具有相同含义的一个语法结构来构造两个或多个语法结构不改变本发明的内容,但是落入本发明的范围中。
表格41示出了其中将表格23和24的两个语法结构形成为一个语法结构的示例。和表格23和24的示例中类似,编码器能将关于表格41的量化 矩阵的信息编码为包括序列参数集和画面参数集中的至少一个的参数集,并且解码器能从包括序列参数集和画面参数集中的至少一个的参数集解码表格41的关于量化矩阵的信息。
<表格41>

如上所属,表格23和24的示例与表格41的示例相同,除了语法结构的数目是两个或一个。
如同表格41的示例中那样,编码器能通过scaling_list_pred_mode_flag指示矩阵的预测模式。例如,当执行量化矩阵之间的拷贝时,将scaling_list_pred_mode_flag的值确定为0并编码。当在量化矩阵中预测和编码矩阵的系数时,将scaling_list_pred_mode_flag的值确定为1并编码。如上所述,量化矩阵的拷贝意味着将缺省量化矩阵用作要编码的量化矩阵或者将参考量化矩阵用作要编码的量化矩阵。如上所述,预测矩阵的系数的方法意味着预测和编码量化矩阵中的系数的方法。
如果执行量化矩阵的拷贝(scaling_list_pred_mode_flag==0),则传送scaling_list_pred_matrix_id_delta。如上所述,scaling_list_pred_matrix_id_delta指定用来导出当前编码的量化矩阵的参考量化矩阵或缺省量化矩阵。
例如,如果将要编码的量化矩阵确定为缺省量化矩阵,则能将scaling_list_pred_matrix_id_delta的值确定为0并编码。即,这对应于其中从缺省量化矩阵之中推断要当前编码的量化矩阵的情况。缺省量化矩阵能由表格7和8指定。
如果从参考量化矩阵确定要当前编码的量化矩阵,则能将scaling_list_pred_matrix_id_delta的值确定为非0的值并编码。即,这对应于其中如同等式33中那样从参考量化矩阵确定要当前编码的量化矩阵(即,ScalingList)的情况。
<等式33>
RefMatrixID=matrixID-scaling_list_pred_matrix_id_delta[sizeID][matrixID]
ScalingList[sizeID][matrixID][i]=ScalingList[sizeID][RefMatrixId][i]
在等式33中,scaling_list_pred_matrix_id_delta的值通过sizeID和matrixID指定,并且索引“i”指定量化矩阵内的系数的位置。
如果在量化矩阵内执行预测和编码(scaling_list_pred_mode_flag==1),则能编码用于具有4x4尺寸的量化矩阵的矩阵系数、用于具有8x8尺寸的量化矩阵的矩阵系数、包括DC矩阵系数的用于具有16x16尺寸的量化矩阵的矩阵系数、和包括DC矩阵系数的用于具有32x32尺寸的量化矩阵的矩阵系数。这里,能使用coefNum=Min(64,(1<<(4+(sizeId<<1))))来计算编码的矩阵系数的总数。此外,16x16尺寸量化矩阵和32x32尺寸量化矩阵中的每一个能被下采样为8x8尺寸量化矩阵并编码。
解码器能从比特流解码表格41的语法元素,对解码的语法元素执行反量化,并使用这些结果重构图像。
如同表格41的示例中那样,解码器能确定接收的scaling_list_pred_mode_flag所指示的矩阵的预测模式。例如,当scaling_list_pred_mode_flag的值为0时,解码器能执行量化矩阵之间的拷贝。当scaling_list_pred_mode_flag的值为1时,解码器能预测量化矩阵中的矩阵系数。因此,解码器能获得要在反量化中使用的(逆)量化矩阵。应注意的是,在该说明书中,在量化的情况下应用的要编码的量化矩阵和在反量化的 情况下应用的要解码的量化矩阵两者被称为量化矩阵,但是这仅是为了便于描述。应用于量化的矩阵和应用于反量化的矩阵能具有逆关系,并且反量化中使用的量化矩阵可被称为缩放列表。
如上所述,量化矩阵的拷贝意味着将缺省量化矩阵确定为要解码的量化矩阵或者将参考量化矩阵确定为要解码的量化矩阵。如上所述,预测矩阵的系数的方法意味着预测和解码量化矩阵中的系数的方法。
如果执行量化矩阵的拷贝(scaling_list_pred_mode_flag==0),则解码器指定用来导出要当前解码的量化矩阵的参考量化矩阵或缺省量化矩阵。
例如,当scaling_list_pred_matrix_id_delta的值为0时,解码器能将要解码的量化矩阵确定为缺省量化矩阵。即,能从缺省量化矩阵之中推断要当前解码的量化矩阵。缺省量化矩阵能由表格7和8指定。
当scaling_list_pred_matrix_id_delta的值是非0时,解码器能从参考量化矩阵确定要当前解码的量化矩阵。即,能如同等式34那样从参考量化矩阵确定要当前解码的量化矩阵,即,ScalingList。
<等式34>
RefMatrixID=matrixID-scaling_list_pred_matrix_id_delta[sizeID][matrixID]
ScalingList[sizeID][matrixID][i]=ScalingList[sizeID][RefMatrixId][i]
在等式34中,scaling_list_pred_matrix_id_delta的值由sizeID和matrixID指定,并且索引“i”指定量化矩阵内的系数的位置。
如果执行量化矩阵内的预测和解码(scaling_list_pred_mode_flag==1),则解码器能解码用于具有4x4尺寸的量化矩阵的矩阵系数、用于具有8x8尺寸的量化矩阵的矩阵系数、包括DC矩阵系数的用于具有16x16尺寸的量化矩阵的矩阵系数、和包括DC矩阵系数的用于具有32x32尺寸的量化矩阵的矩阵系数。这里,能使用coefNum=Min(64,(1<<(4+(sizeId<<1))))来计算解码的矩阵系数的总数。这里,由于当编码16x16尺寸量化矩阵和32x32尺寸量化矩阵时、16x16尺寸量化矩阵和32x32尺寸量化矩阵的每一个被下采样为8x8尺寸量化矩阵,所以通过上采样或内插8x8尺寸量化矩阵、能将8x8尺寸量化矩阵恢复为16x16尺寸量化矩阵和32x32尺寸量化矩阵。此外,如果使用上采样或内插,则DC矩阵系数不使用内插值,而是能用从附加用信号传送的值导出的值(诸如,scaling_list_dc_coef_minus8)来替代。
迄今已参考表格描述了语法结构的实施例以及使用语法结构编码和解 码的示例。在前述示例中,已使用语法结构描述了编码的示例和解码的示例,但是本发明不限于此。例如,可仅在编码或解码中使用语法结构的表格。
图6是示意性图示了根据本发明的执行反量化的方法的示例的流程图。
参考图6,解码器能在步骤S610获得指示在参数集中是否存在量化矩阵的标识符。指示在参数集中是否存在量化矩阵的信息在前述表格的示例中可以是scaling_list_present_flag。
这里,参数集中量化矩阵的存在包括关于在参数集中存在量化矩阵的信息(例如,scaling_list_pred_mode_flag、scaling_list_pred_matrix_id_delta、scaling_list_dc_coef_minus8、和scaling_list_delta_coef)。此外,在获得指示是否存在量化矩阵的标识符之前,能获得scaling_list_enable_flag(即,指示是否使用量化矩阵的标识符)。如果通过获得scaling_list_enable_flag来使用量化矩阵,则能获得指示是否存在量化矩阵的标识符。
这里,参数集可以是通过其传送关于量化矩阵的信息的序列参数集或画面参数集。
解码器能在步骤S620基于标识符来确定参数集中是否存在量化矩阵。例如,当scaling_list_present_flag的值为1时,解码器能确定参数集中存在量化矩阵。当scaling_list_present_flag的值为0时,解码器能确定参数集中不存在量化矩阵。
如果作为确定的结果在参数集中不存在量化矩阵(即,如果确定在参数集中不存在量化矩阵),则解码器在步骤S630可以不使用反量化中的量化矩阵、可以使用反量化中具有相同矩阵系数16的量化矩阵(即,扁平矩阵)、或者可以确定所有量化矩阵作为反量化中的缺省量化矩阵。
如果作为确定的结果在参数集中存在量化矩阵(即,如果确定在参数集中存在量化矩阵),则解码器可以在步骤S640根据每一量化矩阵的尺寸或缺省量化矩阵的类型,来获得关于量化矩阵的信息。这里,量化矩阵的类型可包括用于帧内残差块的变换系数的反量化的量化矩阵、用于帧间残差块的变换系数的反量化的量化矩阵、用于亮度残差块的变换系数的反量化的量化矩阵、以及用于色度残差块的变换系数的反量化的量化矩阵中的至少一个、或其组合。
解码器可在步骤S650通过使用获得的量化矩阵来执行反量化。如果在参数集中不存在量化矩阵,则解码器能不使用步骤S630所确定的量化矩阵 来执行反量化,或者能执行反量化,使得在反量化中执行具有相同矩阵系数16的量化矩阵(即,扁平矩阵),或者使用所有量化矩阵作为反量化中的缺省量化矩阵。上面已结合前述实施例描述了量化矩阵的系数的预测和缺省量化矩阵的使用。如果在参数集中存在量化矩阵,则解码器能获得对应量化矩阵,并在反量化中使用获得的量化矩阵。解码器能基于上面参考图2描述的逆量化的信号来重构图像。
其间,在图6中,已图示了其中编码器传送指示是否存在量化矩阵的标识符的示例,但是这仅是本发明的示例。如上所述,如果传送关于量化矩阵的信息,则可以不附加传送指示是否存在量化矩阵的信息。
图7是示意性图示了当在参数集中存在量化矩阵时获得关于量化矩阵的信息、并通过使用该信息执行反量化的方法的示例的图。图7的方法可对应于(1)包括图6的步骤S640和S650的方法,以及(2)获得量化矩阵并使用获得的量化矩阵执行反量化的方法,尽管不传送指示是否存在量化矩阵的附加指示符,但是在参数集中存在量化矩阵,并且编码器传送关于量化矩阵的信息。方法(1)与方法(2)相同,除了是否通过附加标识符传送关于是否存在量化矩阵的信息。在图7中,解码器能从包括序列参数集和画面参数集的至少一个的参数集解码关于量化矩阵的信息。
在图7的示例中,为了降低当编码/解码量化矩阵时的复杂程度,如果用于预测要解码的量化矩阵的参考量化矩阵的ID值与要解码的量化矩阵的ID值相同,则解码器不解码要解码的量化矩阵,而是能使用当执行反量化时已在解码器中包括的量化矩阵。这里,已在解码器中包括的量化矩阵可以是缺省量化矩阵。
更具体地,参考图7,如果在参数集中存在量化矩阵,则解码器能在步骤S710确定用于预测量化矩阵的方法。参数集中量化矩阵的存在包括参数集中关于量化矩阵的信息(例如,scaling_list_pred_mode_flag、scaling_list_pred_matrix_id_delta、scaling_list_dc_coef_minus8、和scaling_list_delta_coef)的存在。
参考前述示例,能基于从编码器接收的语法元素“pred_mode_flag”的值,来确定用于预测量化矩阵的方法。为了阐明该预测方法用于该量化矩阵,pred_mode_flag可被表示为前述示例中的scaling_list_pred_mode_flag等。由pred_mode_flag指示的用于预测量化矩阵的方法可以是以下任何一个(1)没 有改变地使用解码器中已包括的量化矩阵的方法和(2)接收量化矩阵的值并执行量化矩阵中量化矩阵的系数值之间的逆DPCM的方法。
例如,当pred_mode_flag的值为0时,解码器能使用其中已包括的量化矩阵(即,已解码的量化矩阵(或参考矩阵)或缺省矩阵)。当pred_mode_flag的值为1时,解码器能基于接收的信息来预测和解码量化矩阵中的系数。
如果用于预测量化矩阵的方法是没有改变地使用解码器中已包括的量化矩阵的方法,则解码器能在步骤S720获得关于量化矩阵的ID信息。量化矩阵的ID信息是关于能标识解码器中已包括的量化矩阵的信息,并且ID信息能对应于已在前述示例中描述的scaling_list_pred_matrix_id_delta、pred_matrix_id_delta等。
解码器能在步骤S730确定该ID信息所指定的量化矩阵是否与要当前解码的量化矩阵相同。pred_matrix_id_delta指定用来导出量化矩阵的参考量化矩阵。为了阐明pred_matrix_id_delta是用于量化矩阵的,pred_matrix_id_delta可如同前述示例中那样被表示为scaling_list_pred_matrix_id_delta。
当scaling_list_pred_matrix_id_delta的值为0时,解码器能使用关于量化矩阵的信息(SizeID和/或MatrixID)所指定的缺省量化矩阵作为要解码的量化矩阵。
当scaling_list_pred_matrix_id_delta的值为非0时,解码器能从已解码的参考量化矩阵导出要解码的量化矩阵,因为参考前述示例指定要解码的量化矩阵(或量化矩阵的类型)的matrixID和指定参考量化矩阵的RefMatrixID具有关系“scaling_list_pred_matrix_id_delta=matrixID-RefMatrixID”。
如果作为步骤S730的确定结果、量化矩阵的ID信息所指定的量化矩阵被确定为不与要解码的量化矩阵相同(即,!scaling_list_pred_matrix_id_delta==0或matrixID!=RefMatrixID),则解码器能在步骤S740使用量化矩阵的ID信息来确定当执行反量化时将使用的量化矩阵。在该情况下,解码器能基于量化矩阵的ID信息“scaling_list_pred_matrix_id_delta”如同前述表格那样来确定当执行反量化时要使用的量化矩阵。
如果作为步骤S730的确定结果、量化矩阵的ID信息所指定的量化矩阵被确定为与要解码的量化矩阵相同(即,scaling_list_pred_matrix_id_delta==0或matrixID==RefMatrixID),则解码器能在步骤S750使用其中已包括的缺 省量化矩阵。这里,能通过使用表格7和8来确定缺省量化矩阵。
如果在步骤S710用于预测量化矩阵的方法是使用量化矩阵的系数值之间的逆DPCM方法的方法,则解码器能在步骤S760初始化量化矩阵的系数值。例如,解码器能通过将系数值设置为常数,来初始化量化矩阵的系数值“nextcoef”。当初始化系数值“nextcoef”时设置的常数可以是8和16中的任一个,如同前述表格的示例中那样。
解码器能在步骤S770解码从编码器接收的量化矩阵中的系数之间的差值。量化矩阵中的系数之间的差值可以由诸如delta_coef的语法元素指定。为了阐明该语法元素是用于量化矩阵的,delta_coef可如同前述表格的示例中那样被称为scaling_list_delta_coef。
解码器能在步骤S780导出量化矩阵的系数值。解码器能通过向先前已解码的量化矩阵的系数值添加量化矩阵内系数之间的差值,来导出要解码的量化矩阵(即,当前量化矩阵)的系数值。例如,解码器能通过如同前述等式那样使用关系“nextcoef=(nextcoef=delta_coef+256)%256”来导出当前量化矩阵的系数值。
解码器能在步骤S790确定是否已导出量化矩阵。如果作为确定结果确定还没有导出量化矩阵(即,如果还没有解码量化矩阵内的所有系数值),则解码器返回到步骤S770并执行随后步骤。
解码器能在步骤S650通过使用获得的量化矩阵来执行反量化。
其间,尽管在图7的示例中没有清楚描述,但是当导出量化矩阵的系数值时,可如同前述实施例中那样首先导出具有特定尺寸的量化矩阵的DC矩阵系数。
图8是示意性图示了当在参数集中存在量化矩阵时获得关于量化矩阵的信息并通过使用该信息来执行反量化的方法的另一示例的图。图8的方法可对应于(1)包括图6的步骤S640和S650的方法,以及(2)获得量化矩阵并使用获得的量化矩阵执行反量化的方法,尽管不传送指示是否存在量化矩阵的附加指示符,但是在参数集中存在量化矩阵,并且编码器传送关于量化矩阵的信息。方法(1)与方法(2)相同,除了是否通过附加标识符传送关于是否存在量化矩阵的信息。
在图8的示例中,为了防止传送不必要的量化矩阵,如果要解码的量化矩阵的第一值是特定值,则解码器不解码要解码的量化矩阵,并且能使用当 执行反量化时已在其中包括的缺省量化矩阵。
更具体地,参考图8,如果在参数集中存在量化矩阵,则解码器能在步骤S810确定用于预测量化矩阵的方法。参数集中量化矩阵的存在包括参数集中关于量化矩阵的信息的存在。
如果用于预测量化矩阵的方法是没有改变地使用解码器中已包括的量化矩阵的方法,则解码器能在步骤S820获得关于量化矩阵的ID信息。
量化矩阵的ID信息是关于能标识解码器中已包括的量化矩阵的信息,并且ID信息能对应于已在前述示例中描述的scaling_list_pred_matrix_id_delta、pred_matrix_id_delta等。
解码器能在步骤S830通过使用量化矩阵的ID信息,来确定当执行反量化时要使用的量化矩阵。解码器能确定ID信息(诸如scaling_list_pred_matrix_id_delta或pred_matrix_id_delta)所指示的量化矩阵。
如果在步骤S810用于预测量化矩阵的方法是使用量化矩阵的系数值之间的逆DPCM方法的方法,则解码器能在步骤S840初始化量化矩阵的系数值。例如,解码器能通过将系数值设置为常数,来初始化量化矩阵的系数值“nextcoef”。当初始化系数值“nextcoef”时设置的常数可以是8和16中的任一个,如同前述表格的示例中那样。
解码器能在步骤S850解码从编码器接收的量化矩阵中的系数之间的差值。量化矩阵中的系数之间的差值可以由诸如delta_coef的语法元素指定。
解码器能在步骤S860导出量化矩阵的系数值。解码器能通过向先前已解码的量化矩阵的系数值添加量化矩阵内系数之间的差值,来导出要解码的量化矩阵(即,当前量化矩阵)的系数值。例如,解码器能通过如同前述等式那样使用关系“nextcoef=(nextcoef=delta_coef+256)%256”,来导出当前量化矩阵的系数值。
解码器能在步骤S870确定导出的系数是否是量化矩阵的第一系数值或者导出的系数是否与特定值相同。这里,特定值可以是0。
如果作为步骤S870的确定结果,导出的系数被确定为是量化矩阵的第一系数值并且与特定值相同,则解码器能在步骤S880确定在反量化中使用其中已包括的缺省量化矩阵。
如果作为步骤S870的确定结果,导出的系数被确定为不是量化矩阵的第一系数值并且不与特定值相同,则解码器在步骤S890检查是否已解码了 量化矩阵中的系数的所有差值。如果作为检查结果、并非所有差值被确定为已解码,则解码器能返回到步骤S850并执行随后步骤。
解码器能在步骤S650通过使用获得的量化矩阵来执行反量化。
在前述实施例中,关于量化矩阵的信息意味着量化矩阵或关于能导出量化矩阵的信息。这里,关于能导出量化矩阵的信息能意味着关于是否已使用缺省矩阵的信息、预测编码/解码方法的类型、参考量化矩阵ID、参考量化矩阵等。
在以上示范系统中,尽管已基于具有一系列步骤或块的形式的流程图描述了这些方法,但是本发明不限于这些步骤的顺序,并且一些步骤可按照与其他步骤不同的顺序来执行或者可与其他步骤同时执行。此外,本领域技术人员将理解的是,流程图中示出的步骤不是排他性的,并且这些步骤可包括附加步骤,或者可删除流程图中的一个或多个步骤,而不影响本发明的范围。

用于编码和解码量化矩阵的方法和使用其的设备.pdf_第1页
第1页 / 共85页
用于编码和解码量化矩阵的方法和使用其的设备.pdf_第2页
第2页 / 共85页
用于编码和解码量化矩阵的方法和使用其的设备.pdf_第3页
第3页 / 共85页
点击查看更多>>
资源描述

《用于编码和解码量化矩阵的方法和使用其的设备.pdf》由会员分享,可在线阅读,更多相关《用于编码和解码量化矩阵的方法和使用其的设备.pdf(85页珍藏版)》请在专利查询网上搜索。

1、10申请公布号CN104170382A43申请公布日20141126CN104170382A21申请号201380014811022申请日20130121102012000656420120120KR102012001167220120206KR102012001346220120209KR102012001399620120210KR102012003897120120416KR102013000673620130121KRH04N19/196201401H04N19/463201401H04N19/70201401H04N19/126201401H04N19/4420140171申请人韩国。

2、电子通信研究院地址韩国大田市72发明人林成昶金晖容李镇浩崔振秀金镇雄74专利代理机构北京市柳沈律师事务所11105代理人李芳华54发明名称用于编码和解码量化矩阵的方法和使用其的设备57摘要本发明涉及用于编码和解码量化矩阵的方法以及使用其的设备,根据本发明的用于编码量化矩阵的方法包括以下步骤确定要用于量化使用的量化矩阵并量化;确定用于量化矩阵的量化使用的预测方法;和基于确定的预测方法来编码量化矩阵信息,其中该预测方法可以是量化矩阵中的系数间的预测方法或量化矩阵的复制。30优先权数据85PCT国际申请进入国家阶段日2014091786PCT国际申请的申请数据PCT/KR2013/000493201。

3、3012187PCT国际申请的公布数据WO2013/109127KO2013072551INTCL权利要求书2页说明书76页附图6页19中华人民共和国国家知识产权局12发明专利申请权利要求书2页说明书76页附图6页10申请公布号CN104170382ACN104170382A1/2页21一种用于编码量化矩阵的方法,包括确定在量化中要使用的量化矩阵并执行量化;确定在量化中使用的量化矩阵的预测方法;和根据确定的预测方法来编码关于量化矩阵的信息,其中该预测方法是预测量化矩阵中的系数间预测方法的方法和量化矩阵的拷贝中的任一个。2根据权利要求1的方法,其中如果该量化矩阵的预测方法是量化矩阵的拷贝,则在编。

4、码关于量化矩阵的信息时,编码ID信息以标识在量化矩阵的拷贝中使用的参考矩阵。3根据权利要求2的方法,其中如果将在量化矩阵的拷贝中使用的参考矩阵确定为缺省矩阵,则该ID信息指示要编码的量化矩阵MATRIXID与参考矩阵REFMATRIXID相同。4根据权利要求2的方法,其中如果将在量化矩阵的拷贝中使用的参考矩阵确定为缺省矩阵,则通过量化矩阵的尺寸和类型以及解码器中定义的量化矩阵来指定该缺省矩阵。5根据权利要求2的方法,其中该ID信息是指示要编码的量化矩阵MATRIXID与参考矩阵REFMATRIXID之间的差的信息。6根据权利要求2的方法,其中该ID信息指示要编码的量化矩阵是参考矩阵。7根据权利。

5、要求1的方法,其中如果该量化矩阵的预测方法是量化矩阵的拷贝,则在编码关于量化矩阵的信息时,编码ID信息以标识在量化矩阵的拷贝中使用的矩阵,和该ID信息通过使用一个语法元素来指示在量化矩阵的拷贝中使用的量化矩阵是参考矩阵还是缺省矩阵。8根据权利要求1的方法,其中如果该量化矩阵的预测方法是量化矩阵内的系数间预测方法,则在编码关于量化矩阵的信息时,使用要编码的量化矩阵中先前编码的量化矩阵的系数,来编码量化矩阵的系数之间的差值。9一种用于解码量化矩阵的方法,包括确定要在反量化中使用的量化矩阵的预测方法;和根据确定的预测方法来解码要在反量化中使用的量化矩阵,其中该量化矩阵的预测方法是量化矩阵内的系数间预。

6、测方法和量化矩阵的拷贝中的任一个。10根据权利要求9的方法,其中在确定量化矩阵的预测方法时,基于从编码器接收的扁平信息来确定量化矩阵的预测方法。11根据权利要求9的方法,其中如果该量化矩阵的预测方法是量化矩阵的拷贝,则在解码反量化中要使用的量化矩阵时,基于ID信息来确定要在反量化中使用的并且要解码的量化矩阵MATRIXID,和该ID信息是在量化矩阵的拷贝中使用的标识参考矩阵REFMATRIXID的信息。12根据权利要求11的方法,其中如果该ID信息指示要解码的量化矩阵MATRIXID与参考矩阵REFMATRIXID相同,则在解码量化矩阵时,将要在反量化中使用的并且要解码的量化矩阵MATRIXI。

7、D确定为缺省矩阵,和该缺省矩阵是在解码器中定义的并且由量化矩阵的尺寸和类型指定的量化矩阵。权利要求书CN104170382A2/2页313根据权利要求11的方法,其中该ID信息是指示要解码的量化矩阵MATRIXID与参考矩阵REFMATRIXID之间的差的信息。14根据权利要求9的方法,其中如果在确定量化矩阵的预测方法时、将量化矩阵的预测方法确定为量化矩阵内的系数间预测方法,则在解码量化矩阵时,使用要解码的量化矩阵内先前解码的量化矩阵的系数来解码量化矩阵的系数之间的差值,并且基于解码的差值来解码量化矩阵的系数。15根据权利要求9的方法,其中如果量化矩阵的预测方法是量化矩阵的拷贝,则在解码量化矩。

8、阵时,解码用于标识在量化矩阵的拷贝中使用的量化矩阵的ID信息,并且该ID信息通过使用一个语法来指示在量化矩阵的拷贝中使用的量化矩阵是参考矩阵还是缺省矩阵。权利要求书CN104170382A1/76页4用于编码和解码量化矩阵的方法和使用其的设备技术领域0001本发明涉及图像编码和解码技术,并更具体地,涉及用于编码和解码量化索引的方法和设备。背景技术0002具有高清晰度HD分辨率的广播服务最近已在全世界以及本地扩展。因此,许多用户已变得习惯于具有高分辨率和高画面质量的图像,并且许多机构激励下一代图像装置的开发。0003因为存在对于具有比HDTV高四倍的分辨率的超高清晰度UHD以及HDTV的增长兴趣。

9、,所以存在对于具有更高分辨率和更高画面质量的图像的压缩技术的需求。0004关于图像压缩,可通过预测来编码关于当前画面的像素的信息。例如,能使用其中根据时间上在前和/或时间上在后的画面来预测当前画面中包括的像素值的帧间预测技术、和其中使用关于当前画面中的像素的信息来预测当前画面中包括的像素值的帧内预测技术。0005此外,使用其中向具有高出现频率的码元分配短符号并向具有低出现频率的码元分配长符号的熵编码技术,能改进编码效率和降低传送信息的数量。0006在该情况下,更有效地执行通过预测生成的残差块的变换系数的量化的方法是有问题的。发明内容0007本发明的目的是提供用于基于可用的变换块的尺寸来限制量化。

10、矩阵编码/解码的方法和设备。0008本发明的另一目的是提供编码/解码方法和设备,其中能在序列、画面或片段中根据每一变换块的尺寸或量化矩阵的类型,来混合和使用缺省量化矩阵和非缺省量化矩阵。0009本发明的另一目的是提供编码/解码方法和设备,其中基于参考量化矩阵ID来使用缺省量化矩阵。0010本发明的另一目的是提供编码/解码方法和设备,其通过仅当存在参考量化矩阵时才执行量化矩阵的预测来增加编码效率。0011本发明的另一目的是提供用于对DC矩阵系数有效执行预测和编码/解码的方法和设备。0012本发明的另一目的是提供用于从和当执行编码/解码时的量化矩阵具有相同尺寸的量化矩阵、执行量化矩阵的预测的编码/。

11、解码方法和设备。0013本发明的另一目的是提供用于基于量化矩阵内的第一系数来执行预测和编码/解码的方法和设备。0014本发明的实施例提供了一种用于编码量化矩阵的方法,包括确定在量化中要使说明书CN104170382A2/76页5用的量化矩阵并量化,确定在量化中使用的量化矩阵的预测方法,和根据确定的预测方法来编码关于量化矩阵的信息,其中该预测方法可以是预测量化矩阵中的系数间预测方法的方法和量化矩阵的拷贝中的任一个。0015本发明的另一实施例提供了一种用于解码量化矩阵的方法,包括确定要在反量化中使用的量化矩阵的预测方法,和根据确定的预测方法来解码要在反量化中使用的量化矩阵,其中该量化矩阵的预测方法。

12、可以是量化矩阵内的系数间预测方法和量化矩阵的拷贝中的任一个。0016根据本发明,通过基于可用的变换块的尺寸限制量化矩阵的编码,能改进编码效率并能降低计算的复杂程度。0017根据本发明,通过根据序列、画面、或片段内的每一变换块的尺寸或量化矩阵的类型混合和使用缺省量化矩阵和非缺省量化矩阵,能改进编码效率并能增加编码器选择量化矩阵时的自由度。0018根据本发明,通过基于参考量化矩阵ID编码/解码关于是否将使用缺省量化矩阵的信息、或者仅当存在参考量化矩阵时才执行量化矩阵的预测,能改进编码效率,能降低计算的复杂程度,并能增加编码器选择量化矩阵时的自由度。0019根据本发明,通过预测和编码/解码DC矩阵系。

13、数或从和当执行编码/解码时的量化矩阵具有相同尺寸的量化矩阵执行量化矩阵的预测,能改进编码效率,能降低计算的复杂程度,并能增加编码器选择量化矩阵时的自由度。0020此外,根据本发明,通过使用频繁出现的系数值编码/解码量化矩阵内的第一系数,能改进编码效率并能降低计算的复杂程度。附图说明0021图1是示出了根据其中应用本发明的图像编码设备的实施例的构造的框图。0022图2是示出了根据其中应用本发明的图像解码设备的实施例的构造的框图。0023图3是示意性图示了其中将一个单元分区为多个下级单元的实施例的概念图。0024图4是示意性图示了根据本发明的图像编码方法的流程图。0025图5是示意性图示了用于解码。

14、关于量化矩阵的信息并通过使用解码的信息来执行解码的解码器的操作的示例的流程图。0026图6是示意性图示了根据本发明的执行反量化的方法的示例的流程图。0027图7是示意性图示了当在参数集中存在量化矩阵时获得关于量化矩阵的信息、并通过使用该信息来执行反量化的方法的示例的图。0028图8是示意性图示了当在参数集中存在量化矩阵时获得关于量化矩阵的信息、并通过使用该信息来执行反量化的方法的另一示例的图。具体实施方式0029其后,参考附图来详细描述本发明的实施例。此外,在描述本发明的实施例时,将省略已知功能和构造的详细描述,如果认为它们使得本发明的要义不必要的模糊的话。0030在该说明书中,当认为一个元件。

15、与另一元件“连接”、“组合”或“耦接”时,所述一个元件可与所述另一元件直接连接或耦接,但是还应理解的是,第三元件可在这两个元件说明书CN104170382A3/76页6之间“连接”、“组合”或“耦接”。此外,在该说明书中,描述“包括或包含”特定元件的内容不意味着排除除了该特定元件之外的元件,而是意味着附加元件可包括在本发明的实现或本发明的技术精神的范围中。0031诸如“第一”和“第二”的术语可被用来描述各种元件,但是这些元件不限于这些术语。使用这些术语将一个元件与另一元件进行区分。例如,第一元件可被称为第二元件,并且同样,第二元件可被称为第一元件,而不脱离本发明的范围。0032此外,独立示出本。

16、发明的实施例中描述的元件,以便指示不同和特征功能,并且这不意味着每一元件组成单独硬件或一个软件模块。即,为了便于描述来安排这些元件,并且这些元件中的至少两个可组合以形成一个元件,或者一个元件可被划分为多个元件,并且所述多个元件可执行功能。其中组合元件或者划分每一元件的实施例被包括在本发明的范围中,而不脱离本发明的精髓。0033此外,在本发明中,一些元件可以不是执行必要功能的必要元件,而可以是仅用于改进功能的可选元件。本发明可仅使用用于实现本发明的精髓的必要元件而不是仅用来改进性能的元件来实现,并且仅包括这些必要元件而不包括仅用于改进功能的可选元件的结构被包括在本发明的范围中。0034首先,为了。

17、便于描述和为了帮助理解本发明,简要描述该说明书中使用的术语。0035单元意味着图像编码和解码的单元。换言之,在图像编码/解码中,当对一个图像进行细分和编码或解码时,编码单元或解码单元表示分区的单元。该单元也被称为块、宏块、编码单元、预测单元、变换单元、编码块、预测块、变换块等。一个单元可被分区为较小下级单元。0036变换单元是执行残差块的编码/解码诸如变换、逆变换、量化、反量化、和变换系数编码/解码的基本单元。一个变换单元可被分区为多个较小变换单元。此外,变换单元可被用作与变换块相同的含义。包括与用于亮度和色度信号的变换块相关的语法元素的形式可被称为变换单元。0037量化矩阵意味着为了改进图像。

18、的主观画面质量或客观画面质量而在量化或逆量化处理中使用的矩阵。量化矩阵也被称为缩放列表。并且逆量化处理与反量化处理相同。0038量化/反量化中使用的量化矩阵可按照比特流的形式传送,并且可使用已在编码器和/或解码器中包括的缺省矩阵作为量化矩阵。根据每一量化矩阵的尺寸或其中通过序列参数集SPS或画面参数集PPS应用量化矩阵的变换块的尺寸,关于量化矩阵的信息可一次全部INALUMP传送。例如,可传送用于4X4变换块的4X4量化矩阵,可传送用于8X8变换块的8X8矩阵,可传送用于16X16变换块的16X16矩阵,并可传送用于32X32变换块的32X32矩阵。0039向当前块施加的量化矩阵可1通过拷贝具。

19、有相同尺寸的量化矩阵来获得和2通过根据量化矩阵中的先前矩阵系数进行预测来生成。具有相同尺寸的矩阵可以是已先前编码或解码或使用的量化矩阵、参考量化矩阵、或缺省量化矩阵。或者,可以通过包括已先前编码或解码或使用的量化矩阵、参考量化矩阵、和缺省量化矩阵中的至少两个的组合,来选择性确定具有相同尺寸的矩阵。0040参数集对应于关于比特流中的结构的报头的信息,并具有共同表示序列参数集、画面参数集、自适应参数集等的含义。说明书CN104170382A4/76页70041量化参数是在量化和反量化中使用的值,并可以是映射到量化步长尺寸的值。0042缺省矩阵可意味着已在编码器和/或解码器中先前定义的特定量化矩阵。。

20、本说明书中稍后要描述的缺省量化矩阵可被用作和缺省矩阵相同的含义。非缺省矩阵可意味着还没有在编码器和/或解码器中先前定义、并从编码器传送到解码器即,用户传送/接收的量化矩阵。本说明书中稍后要描述的非缺省量化矩阵能被用作和非缺省矩阵相同的含义。0043图1是示出了根据其中应用本发明的图像编码设备的实施例的构造的框图。0044参考图1,图像编码设备100包括运动预测模块111、运动补偿模块112、帧内预测模块120、开关115、减法器125、变换模块130、量化模块140、熵编码模块150、反量化逆量化模块160、逆变换模块170、加法器175、滤波器模块180、和参考图像缓冲器190。0045图像。

21、编码设备100可按照帧内模式或帧间模式对输入图像执行编码并输出比特流。帧内预测意味着帧内预测,而帧间预测意味着帧间预测。在帧内模式的情况下,开关115可切换到帧内模式,而在帧间模式的情况下,开关115可切换到帧间模式。在生成用于输入图像的输入块的预测块之后,图像编码设备100可编码输入块和预测块之间的差。这里,输入图像可意味着原始图像。0046在帧内模式的情况下,帧内预测模块120可通过基于与当前块相邻的已编码块的像素值执行空间预测,来生成预测块。0047在帧间模式的情况下,运动预测模块111可在运动预测处理中在参考图像缓冲器190中存储的参考图像中搜索与输入块最佳匹配的区域,并基于检索的区域。

22、来获得运动向量。运动补偿模块112能通过使用运动向量执行运动补偿,来生成预测块。这里,运动向量是在帧间预测中使用的2维向量,并且运动向量可指示当前块和参考图像中的块之间的偏移。0048减法器125可基于输入块和生成的预测块之间的差来生成残差块。变换模块130可通过对残差块执行变换来输出变换系数。接下来,量化模块140可通过使用量化参数和量化矩阵中的至少一个对接收的变换系数进行量化,来输出量化后的系数。这里,量化矩阵可被输入到编码器,并且可以确定在编码器中使用输入的量化矩阵。0049熵编码模块150可通过基于量化模块140所计算的值或在编码处理中计算的编码参数值等执行熵编码,来输出比特流。如果施。

23、加熵编码,则可通过向具有高出现概率的码元分配小数目比特并向具有低出现概率的码元分配大数目比特,来表示码元,以便降低用于编码要编码的码元的比特流的尺寸。因此,能通过熵编码来增加图像编码的压缩性能。熵编码模块150可使用诸如指数哥伦布编码、上下文自适应可变长度编码CAVLC和上下文自适应二进制算术编码CABAC的编码方法用于熵编码。0050根据图1的实施例的图像编码设备其后称为编码器执行帧间预测编码即,帧间预测编码,并由此当前编码的图像需要被解码和存储,以便用作参考图像。因此,量化后的系数经受反量化模块160的反量化并经受逆变换模块170的逆变换。逆量化和逆变换后的系数成为重构后的残差块,并且通过。

24、加法器175将重构后的残差块添加到预测块,由此生成重构块。0051重构块经过EXPERIENCES滤波器模块180。滤波器模块180可向重构块或重构画面应用解块滤波器、样本自适应偏移SAO、和自适应环路滤波器ALF中的一个或多个。说明书CN104170382A5/76页8滤波器模块180也可被称为环内滤波器。解块滤波器可去除在块的边界处已出现的块的失真。SAO可向像素值添加适当偏移值以便补偿编码误差。ALF可基于通过比较重构图像与原始图像而获得的值,来执行滤波。已经过滤波器模块180的重构块可被存储在参考图像缓冲器190中。0052图2是示出了根据其中应用本发明的图像解码设备的实施例的构造的框。

25、图。0053参考图2,图像解码设备200包括熵解码模块210、反量化逆量化模块220、逆变换模块230、帧内预测模块240、运动补偿模块250、加法器255、滤波器模块260、和参考图像缓冲器270。0054图像解码设备200可接收从编码器输出的比特流,按照帧内模式或帧间模式来对比特流执行解码,并输出重构的图像。在帧内模式的情况下,开关可切换到帧内模式。在帧间模式的情况下,开关可切换到帧间模式。图像解码设备200可从接收的比特流获得重构的残差块,生成预测块,并通过将重构的残差块添加到预测块来生成重构块。0055熵解码模块210可通过根据概率分布对输入比特流执行熵解码,来生成包括具有量化后的系数。

26、形式的码元的码元。熵解码方法与上述熵编码方法类似。0056如果应用熵解码方法,则可通过向具有高出现概率的码元分配小数目比特并向具有低出现概率的码元分配大数目比特来表示码元,以便降低每一码元的比特流的尺寸。0057量化后的系数可经受反量化模块220基于量化参数的反量化,并可经受逆变换模块230的逆变换。作为对量化后的系数的反量化/逆变换的结果,可生成重构的残差块。0058反量化中使用的量化矩阵也被称为缩放列表。反量化模块220能通过向量化后的系数应用量化矩阵,来生成逆量化后的系数。0059这里,反量化模块220可响应于编码器应用的量化来执行反量化。例如,反量化模块220可通过向量化后的系数相反应。

27、用编码器所应用的量化矩阵,来执行反量化。0060图像解码设备200其后称为解码器在反量化中使用的量化矩阵可从比特流接收,并且已在编码器和/或解码器中包括的缺省矩阵可被用作量化矩阵。根据每一量化矩阵的尺寸或其中通过序列参数集或画面参数集应用量化矩阵的变换块的尺寸,所传送的关于量化矩阵的信息可一次全部接收。例如,可接收用于4X4变换块的4X4量化矩阵,可接收用于8X8变换块的8X8矩阵,可接收用于16X16变换块的16X16矩阵,并可接收用于32X32变换块的32X32矩阵。0061在帧内模式的情况下,帧内预测模块240可通过使用当前块周围的已解码块的像素值执行空间预测,来生成预测块。在帧间模式的。

28、情况下,运动补偿模块250可通过使用运动向量和参考图像缓冲器270中存储的参考图像执行运动补偿,来生成预测块。0062加法器255将重构的残差块和预测块相加到一起,并且相加的块能经过滤波器模块260。滤波器模块260可向重构的块或重构的画面应用解块滤波器、SAO、和ALF中的一个或多个。滤波器模块260能输出重构的图像即,恢复的图像。重构的图像可被存储在参考图像缓冲器270中并用于帧间预测。0063其间,块分区信息可包括关于单元的深度的信息。该深度信息可指示单元被分区的次数和/或单元被分区的程度。0064图3是示意性图示了其中将一个单元分区为多个下级单元的实施例的概念图。0065可利用深度信息。

29、基于树结构来对一个单元或块进行分级分区。每一分区的下级单说明书CN104170382A6/76页9元可具有深度信息。该深度信息可包括关于下级单元的尺寸的信息,因为它指示单元被分区的次数和/或单元被分区的程度。0066参考图3的310,最高节点可被称为根节点,而最高节点能具有最小深度值。这里,最高节点能具有级别0的深度,并能指示还没有分区的第一单元。0067具有级别1的深度的下级节点能指示从第一单元分区一次的单元,并且具有级别2的深度的下级节点能指示从第一单元分区两次的单元。例如,在图3的320中,对应于节点“A”的单元“A”是从第一单元分区一次的单元,并且单元“A”能具有级别1的深度。0068。

30、级别3的叶节点能指示从第一单元分区三次的单元。例如,在图3的320中,对应于节点“D”的单元“D”是从第一单元分区三次的单元,并且单元“D”能具有级别3的深度。因此,级别3的叶节点即,最低节点能具有最深深度。0069迄今已描述了示意性编码/解码方法。如同编码/解码的其他处理,编码/解码处理的量化和逆量化处理中使用的量化矩阵编码/解码方法对编码效率具有大影响。因此,必须通过考虑编码效率来改进量化/反量化。0070更具体地,传统上,通过不考虑可用的变换单元的最小尺寸和最大尺寸,来对所有变换的量化矩阵进行编码/解码。此外,传统上,一次全部应用量化矩阵,而不在序列、画面或片段中根据变换的尺寸或量化矩阵。

31、的类型来混合和使用缺省矩阵和非缺省矩阵。因此,存在的缺点在于,编码器选择量化矩阵时的自由度低,并且编码效率低,因为不需要编码/解码的缺省矩阵必须被编码和传送。0071如上所述,根据传统方法,在应用量化矩阵时,自由度和编码效率低,并且复杂程度高。0072为了解决这些问题,需要考虑有效使用量化矩阵的方法,以便改进编码效率并降低量化/反量化中的复杂程度。0073图4是示意性图示了根据本发明的图像编码方法的流程图。0074参考图4,在步骤S410,编码器确定关于当前序列或画面的变换单元的尺寸的信息并编码该信息。0075关于变换单元的尺寸的信息意味着变换单元的最小尺寸和最大尺寸中的至少一个。当编码图像时。

32、,编码器能确定变换单元的最小尺寸和最大尺寸。0076例如,编码器能将正方形变换单元的最小尺寸确定为4X4块或者能将正方形变换单元的最大尺寸确定为32X32块。此外,编码器可将正方形变换单元的最小尺寸和最大尺寸分别确定为4X4块和32X32块。编码器能根据正方形变换单元的最小尺寸和最大尺寸执行编码。0077编码器能对对于比特流所确定的关于变换单元的尺寸的信息执行熵编码。例如,编码器能在比特流中将所确定的关于变换单元的尺寸的信息编码为参数集。0078如上所述,关于变换单元的尺寸的信息表示关于变换单元的最小尺寸和最大尺寸中的至少一个的信息。因此,编码器能将关于变换单元的最小尺寸和最大尺寸的信息作为关。

33、于变换单元的尺寸的信息编码到比特流中。这里,变换单元的最大尺寸能使用变换单元的最大尺寸和变换单元的最小尺寸之间的差值来指定。0079表格1示意性示出了已被熵编码为比特流的序列参数集的关于变换单元的尺寸的信息的示例。说明书CN104170382A7/76页10008000810082如同表格1中图示的语法元素中那样,在通过向正方形变换单元的最小水平或垂直尺寸应用LOG2函数来计算LOG2MINTRAFOSIZE之后,编码器能指定通过使用LOG2_MIN_TRANSFORM_BLOCK_SIZE_MINUS2从LOG2MINTRAFOSIZE减去2而获得的值。此外,在通过向正方形变换单元的最大水平。

34、或垂直尺寸应用LOG2函数来计算LOG2MAXTRAFOSIZE之后,编码器能通过使用LOG2_DIFF_MAX_MIN_TRANSFORM_BLOCK_SIZE来指定LOG2MAXTRAFOSIZE和LOG2MINTRAFOSIZE之间的差值。编码器能将LOG2_MIN_TRANSFORM_BLOCK_SIZE_MINUS2和LOG2_DIFF_MAX_MIN_TRANSFORM_BLOCK_SIZE即,语法元素编码为比特流,并将得到的比特流发送到解码器。换言之,编码器能编码LOG2_MIN_TRANSFORM_BLOCK_SIZE_MINUS2和LOG2_DIFF_MAX_MIN_TRAN。

35、SFORM_BLOCK_SIZE所指示的值,并按照比特流的形式来发送所编码的值。0083编码器能在步骤S420编码关于量化矩阵的信息。编码器能编码关于量化矩阵的信息,包括以下的一个或多个1关于是否已使用量化矩阵的信息、2关于是否存在量化矩阵的信息、3关于是否已编码量化矩阵以及是否已使用缺省矩阵的信息、4预测编码方法和量化矩阵的类型、5参考量化矩阵ID标识符、和6已先前编码的量化矩阵的系数值和量化矩阵中要编码的量化矩阵的系数值之间的差值。0084这里,编码器可基于关于变换单元的尺寸的信息,来编码关于量化矩阵的信息。0085其后,参考图和下面的表格来详细描述用于编码关于量化矩阵的信息的方法。008。

36、6关于量化矩阵的信息指示编码器所确定或使用的方法。例如,编码器能确定是否使用量化矩阵,并能将关于是否已使用量化矩阵的信息编码为参数集。因此,所编码的关于是否已使用量化矩阵的信息指示是否已使用编码器所确定的量化矩阵。0087表格2示出其中将关于是否已使用量化矩阵的信息编码为序列参数的示例。008800890090如同表格2的语法中那样,编码器能将SCALING_LIST_ENABLED_FLAG即,关于是否已使用量化矩阵的信息编码为序列参数集,并将编码的信息发送到解码器。当说明书CN104170382A108/76页11SCALING_LIST_ENABLED_FLAG的值是1时,它可指示对于所。

37、有序列在变换系数的反量化/缩放中使用该量化矩阵。当SCALING_LIST_ENABLED_FLAG的值是0时,它可指示在变换系数的反量化/缩放中不使用该量化矩阵。这里,语法能意味着语法元素。0091在确定是否存在量化矩阵之后,编码器能将关于是否存在量化矩阵的信息编码为参数集。0092表格3示出其中将关于是否存在量化矩阵的信息编码为参数集的示例。009300940095如同表格3的语法中那样,编码器能将APS_SCALING_LIST_DATA_PRESENT_FLAG即,关于是否存在量化矩阵的信息编码为参数集。在表格3中,已图示了其中将关于是否存在量化矩阵的信息编码为自适应参数集的示例,但是。

38、本发明不限于此。例如,编码器可将关于是否存在量化矩阵的信息编码为另一参数集。0096在表格3中,当APS_SCALING_LIST_DATA_PRESENT_FLAG的值是1时,它指示在该自适应参数集中存在该量化矩阵。当APS_SCALING_LIST_DATA_PRESENT_FLAG的值是0时,它指示在该自适应参数集中不存在该量化矩阵。如果SCALING_LIST_ENABLED_FLAG的值是1并且APS_SCALING_LIST_DATA_PRESENT_FLAG的值是0,则这可意味着当执行反量化时使用缺省矩阵。此外,关于是否存在量化矩阵的信息能在不同参数集中存在。例如,如果使用指示是。

39、否在序列中存在量化矩阵的SPS_SCALING_LIST_DATA_PRESENT_FLAG和指示是否在画面中存在量化矩阵的PPS_SCALING_LIST_DATA_PRESENT_FLAG,则当SPS_SCALING_LIST_DATA_PRESENT_FLAG的值为1并且PPS_SCALING_LIST_DATA_PRESENT_FLAG的值为0时,当执行量化/反量化时,能使用与该序列对应的量化矩阵。即,如果通过几个参数集传送量化矩阵并且在一些参数集中不存在量化矩阵,则当执行量化/反量化时,能使用在活动参数集中存在或不存在的量化矩阵。从稍后要描述的实施例中,以上内容也能应用到其中对关于是。

40、否存在量化矩阵的信息进行编码/解码的内容。0097在确定是否编码量化矩阵以及是否使用缺省矩阵之后,编码器能将关于是否已编码量化矩阵和是否已使用缺省矩阵的信息编码为参数集。0098表格4示出其中将关于是否已编码量化矩阵和是否已使用缺省矩阵的信息编码为参数集的示例。00990100说明书CN104170382A119/76页120101如同表格4的语法中那样,编码器能将USE_DEFAULT_SCALING_LIST_FLAG即,关于是否已编码量化矩阵和是否已使用缺省矩阵的信息编码为自适应参数集。当USE_DEFAULT_SCALING_LIST_FLAG的值为1时,不编码量化矩阵并由此所有量化矩。

41、阵的系数值被确定为与编码器和/或解码器中定义的缺省矩阵的系数值相同。当USE_DEFAULT_SCALING_LIST_FLAG的值为0时,编码量化矩阵并且不使用编码器和/或解码器中定义的缺省矩阵。0102表格4图示了其中将USE_DEFAULT_SCALING_LIST_FLAG编码为自适应参数集的示例。这仅是为了便于描述的示例。在一些实施例中,USE_DEFAULT_SCALING_LIST_FLAG可被编码为另一参数集。0103可通过考虑变换单元的尺寸或变换块的尺寸、编码模式、和颜色分量,来确定关于量化矩阵的信息。此外,关于量化矩阵的信息可指示对应信息是亮度分量Y,LUMA还是色度分量C。

42、B,CR,CHROMA。0104例如,编码器能通过使用SIZEID即,与量化矩阵的尺寸对应的信息和MATRIXID即,与量化矩阵的类型对应的信息,来确定量化矩阵的编码、是否使用缺省矩阵、和预测编码方法中的至少一个。这里,SIZEID可被解释为关于与变换单元的尺寸对应的量化矩阵的信息或关于与变换块的尺寸对应的量化矩阵的信息。此外,该说明书中使用的SIZEID与SIZEID和SIZEID相同,并且MATRIXID与MATRIXID和MATRIXID相同。0105这里,编码器可使用其中存储的表格和/或解码器中存储的表格。0106表格5示出了用来指示变换块的尺寸或与变换块对应的量化矩阵的尺寸的表格的示。

43、例。01070108说明书CN104170382A1210/76页130109在表格5的示例中,SIZEID值指定变换单元的尺寸、变换块的尺寸、或量化矩阵的尺寸。0110表格6示出了其中使用量化矩阵的块的编码模式、和映射到颜色分量的量化矩阵的类型的表格的示例。0111011201130114在表格6的示例中,MATRIXID值可指示在量化矩阵中使用的编码模式和指定颜色分量的量化矩阵的类型。这里,编码模式可意味着预测模式。0115表格7和8是基于表格5和6中确定的SIZEID和MATRIXID来指定缺省量化矩阵所使用的缺省量化矩阵表格的示例。这里,表格中的每一值意味着通过SCALINGLISTS。

44、IZEIDMATRIXIDI指定的值。01160117I0123456789101112131415SCALINGLIST002I16161616161616161616161616161616SCALINGLIST035I1616161616161616161616161616161601180119说明书CN104170382A1311/76页140120表格7涉及其中SIZEID值是0即,4X4块的缺省量化矩阵,而表格8涉及其中SIZEID值是1即,8X8块、2即,16X16块、和3即,32X32块的缺省量化矩阵。在表格7和8中,SIZEID和MATRIXID值是在表格5和6中指定的值。。

45、0121在表格7和8中,“I”指定量化矩阵中每一系数的位置。在量化矩阵的情况下,例如,在用于16X16块或32X32块的量化矩阵的情况下,不指定用于所有16X16块和32X32块的量化矩阵值,但是可指定仅用于8X8块的量化矩阵系数,并且可基于8X8块来导出未指定的量化矩阵系数并使用。表格8示出了其中对于每一8X8块指定缺省量化矩阵的示例。用于16X16块或32X32块的量化矩阵系数可被内插并从对于每一8X8块存储的量化矩阵中导出,或可按照特定方式导出。如果通过内插从8X8尺寸的量化矩阵导出16X16尺寸或32X32尺寸的量化矩阵,则不使用内插值,而是可使用附加值作为DC位置处的量化矩阵系数。0。

46、122其间,如果通过考虑可用的变换单元的最小尺寸和最大尺寸而不使用量化矩阵,则必须编码具有所有尺寸的变换单元的量化矩阵。在该情况下,编码效率可恶化,并且计算的复杂程度可增加。0123为了解决这些问题,编码器可通过考虑变换单元的尺寸来编码关于量化矩阵的信息。例如,编码器可基于关于变换单元的尺寸的多条信息之中的、最小尺寸和最大尺寸来限制SIZEID。0124编码器能通过使用限制SIZEID执行量化矩阵的编码、关于是否已使用缺省矩阵的信息的编码、以及关于预测编码方法的类型的信息的编码中的一个或多个。0125表格9示出了当通过限制SIZEID执行量化矩阵的编码时使用的语法结构的示例。01260127说。

47、明书CN104170382A1412/76页150128如同表格9的示例中那样,编码器能基于关于变换单元的尺寸的多条信息之中的、最小尺寸和最大尺寸来限制SIZEID,并按照特定变换单元尺寸来执行量化矩阵的编码、关于是否已使用缺省矩阵的信息的编码、以及关于预测编码方法的类型的信息的编码中的一个或多个。0129例如,当LOG2MINTRAFOSIZE的值是3并且LOG2MAXTRAFOSIZE的值是4时,编码器能执行与8X8变换单元到16X16变换单元对应的量化矩阵的编码、关于是否已使用缺省矩阵的信息的编码、以及关于预测编码方法的类型的信息的编码中的一个或多个。0130其间,在表格9的示例中,可以。

48、不编码USE_DEFAULT_SCALING_LIST_FLAG。0131此外,编码器能基于关于变换单元的尺寸的多条信息之中的、最大尺寸和最小尺寸之间的差值来限制SIZEID,并执行量化矩阵的编码、关于是否已使用缺省矩阵的信息的编码、以及关于预测编码方法的类型的信息的编码中的一个或多个。0132表格10示意性示出了通过基于关于变换单元的尺寸的多条信息之中的、最大尺寸和最小尺寸之间的差值限制SIZEID、来编码关于量化矩阵的多条信息所使用的语法结构的示例01330134说明书CN104170382A1513/76页160135在表格10的语法示例中,基于关于变换单元的尺寸的多条信息之中的、最大尺。

49、寸和最小尺寸之间的差值来限制SIZEID。编码器能基于关于变换单元的尺寸的多条信息之中的、最大尺寸和最小尺寸之间的差值来限制SIZEID,并能基于受限SIZEID在特定变换单元的尺寸的范围上、编码关于量化矩阵的信息、关于是否已使用缺省矩阵的信息、以及关于预测编码方法的类型的信息中的一个或多个。0136在表格10的示例中,当LOG2MINTRAFOSIZE的值为3并且LOG2MAXTRAFOSIZE的值为4时,编码器能执行与8X8变换单元到16X16变换单元对应的量化矩阵的编码、关于是否已使用缺省矩阵的信息的编码、以及关于预测编码方法的类型的信息的编码中的一个或多个。0137这里,LOG2MAX。

50、TRAFOSIZE和LOG2MINTRAFOSIZE之间的差值是变换单元的最大尺寸和最小值之间的差值,并能与LOG2_DIFF_MAX_MIN_TRANSFORM_BLOCK_SIZE相同。此外,LOG2MINTRAFOSIZE2能与LOG2_MIN_TRANSFORM_BLOCK_SIZE_MINUS2相同。0138在表格10的示例中,可以不编码USE_DEFAULT_SCALING_LIST_FLAG。0139其间,如果没有在序列、画面或片段中根据每一变换块(或单元)的尺寸或量化矩阵的类型、来混合和使用缺省矩阵和非缺省矩阵,则降低当编码器选择量化矩阵时的自由度。例如,为了使用片段中具有特定。

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

当前位置:首页 >


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