视频编解码方法、存储介质和数据发送方法与流程
未命名
10-21
阅读:61
评论:0
视频编解码方法、存储介质和数据发送方法
1.本技术是原案申请号为201880085166.4的发明专利申请(国际申请号:pct/kr2018/015812,申请日:2018年12月13日,发明名称:基于不可分离二次变换的图像编码方法和用于其的装置)的分案申请。
技术领域
2.本公开涉及视频编码技术,并且更具体地,涉及根据视频编码系统中的不可分离二次变换的视频解码方法和用于其的设备。
背景技术:
3.在各种领域中,对诸如hd(高清)图像和uhd(超高清)图像这样的高分辨率、高质量图像的需求正在增长。因为图像数据具有高分辨率和高质量,所以相对于传统图像数据,待传输的信息或比特的量增加。因此,当使用诸如传统有线/无线宽带线路这样的介质发送图像数据或者使用现有存储介质存储图像数据时,其传输成本和存储成本增加。
4.因此,需要用于有效地发送、存储和再现高分辨率高质量图像的信息的高效图像压缩技术。
技术实现要素:
5.技术问题
6.本公开提供了改进视频编码效率的方法和设备。
7.本公开还提供了用于对目标块应用nsst的视频解码方法和设备。
8.本公开还提供了用于基于目标块的特定条件来推导nsst索引的范围的视频解码方法和设备。
9.本公开还提供了用于基于目标块的变换系数来确定是否对nsst索引进行编码的视频解码方法和设备。
10.解决方案
11.根据本公开的实施方式,提供了一种由解码设备执行的视频解码方法。该方法包括以下步骤:从比特流中推导目标块的变换系数;推导所述目标块的不可分离二次变换(nsst)索引;通过基于所述nsst索引对所述目标块的变换系数执行逆变换来推导所述目标块的残差样本;以及基于所述残差样本来生成重构图片。
12.根据本公开的另一实施方式,提供了一种执行视频解码的解码设备。该解码设备包括:熵解码器,该熵解码器用于从比特流中推导目标块的变换系数,并且推导所述目标块的不可分离二次变换(nsst)索引;逆变换器,该逆变换器用于通过基于所述nsst索引对针对所述目标块的变换系数执行逆变换来推导所述目标块的残差样本;以及加法器,该加法器用于基于所述残差样本来生成重构图片。
13.根据本公开的另一实施方式,提供了一种由编码设备执行的视频编码方法。该方法包括以下步骤:推导目标块的残差样本;通过对所述残差样本执行变换来推导所述目标
块的变换系数;确定是否对所述变换系数的不可分离二次变换(nsst)索引进行编码;以及对所述变换系数的信息进行编码,其中,确定是否对所述nsst索引进行编码的步骤包括:扫描所述目标块的变换系数当中的第r+1变换系数至第n变换系数;以及当所述第r+1变换系数至所述第n变换系数中包括非零变换系数时,确定不对所述nsst索引进行编码,并且其中,n是所述左上目标区域的样本数目,并且r是简化系数,并且其中,r小于n。
14.根据本公开的另一实施方式,提供了一种视频编码设备。该编码设备包括:加法器,该加法器用于推导目标块的残差样本;变换器,该变换器用于通过对所述残差样本执行变换来推导所述目标块的变换系数;确定是否对所述变换系数的不可分离二次变换(nsst)索引进行编码;以及熵编码器,该熵编码器对所述变换系数的信息进行编码,其中,所述熵编码器扫描所述目标块的变换系数当中的第r+1变换系数至第n变换系数;以及当所述第r+1变换系数至所述第n变换系数中包括非零变换系数时,确定不对所述nsst索引进行编码,并且其中,n是所述左上目标区域的样本数目,并且r是简化系数,并且其中,r小于n。
15.技术效果
16.根据本公开,可以基于目标块的特定条件来推导nsst索引的范围,并且据此,可以减少用于nsst索引的比特量,因此,可以提高整体编码速率。
17.根据本公开,可以基于目标块的变换系数来确定nsst索引的语法元素的发送,并且据此,可以减少用于nsst索引的比特量,因此,总体编码速率可以提高。
附图说明
18.图1是例示了适用本公开的视频编码设备的配置的示意图。
19.图2例示了由视频编码设备执行的视频编码方法的示例。
20.图3是例示了适用本公开的视频解码设备的配置的示意图。
21.图4例示了由解码设备执行的视频解码方法的示例。
22.图5示意性例示了根据本公开的多变换方案。
23.图6例示了预测方向的65个帧内方向模式。
24.图7a和图7b是例示了根据实施方式的变换系数的编码处理的流程图。
25.图8是用于描述根据本公开的实施方式的基于目标块的变换系数阵列的示图。
26.图9例示了扫描从r+1至n的变换系数的示例。
27.图10a和图10b是例示了根据实施方式的nsst索引的编码处理的流程图。
28.图11例示了确定是否对nsst索引进行编码的示例。
29.图12例示了扫描针对目标块的所有分量的从r+1至n的变换系数的示例。
30.图13示意性例示了根据本公开的由编码设备进行的视频编码方法。
31.图14示意性例示了根据本公开的执行视频编码方法的编码设备。
32.图15示意性例示了根据本公开的由解码设备进行的视频解码方法。
33.图16示意性例示了根据本公开的执行视频解码方法的解码设备。
具体实施方式
34.本公开可以按各种形式进行修改,并且将在附图中描述和例示其具体实施方式。然而,这些实施方式并不旨在限制本公开。以下描述中使用的术语用于仅仅描述特定的实
施方式,而不旨在限制本公开。单数的表述包括复数的表述,只要它被清楚不同地理解即可。诸如“包括”和“具有”这样的术语旨在指示存在以下描述中使用的特征、数字、步骤、操作、元件、组件或其组合,因此应该理解,没有排除有可能存在或添加一个或更多个不同特征、数字、步骤、操作、元件、组件或其组合。
35.此外,出于方便说明不同特定功能的目的,独立地绘制本公开中描述的图中的元件,这并不意味着这些元件是由独立硬件或独立软件实施的。例如,可以将这些元件中的两个或更多个元件组合,以形成单个元件,或者可以将一个元件划分成多个元件。在不脱离本公开的构思的情况下,其中组合和/或划分元件的实施方式属于本公开。
36.下文中,将参照附图来详细地描述本公开的实施方式。另外,在整个附图中,类似的附图标记用于指示类似的元件,并且将省略对类似元件的相同描述。
37.此外,本公开涉及视频/图像编码。例如,本公开中公开的方法/实施方式可以应用于多功能视频编码(vvc)标准或下一代视频/图像编码标准中公开的方法。
38.在本公开中,通常,图片意指表示特定时间的图像的单元,并且切片是构成图片的一部分的单元。一个图片可以包括多个切片,并且在某些情况下,图片和切片可以以混合方式使用。
39.像素或画素可以意指构成图片(或图像)的最小单元。另外,术语“样本”可以与像素对应地使用。样本通常可以表示像素或像素的值,可以仅表示亮度分量的像素/像素值或者仅表示色度分量的像素/像素值。
40.单元表示图像处理的基本单位。单元可以包括图片的特定区域和与对应区域相关的信息中的至少一个。在某些情况下,可以将单元与块或区域以混合方式使用。在一般情况下,m
×
n块可以表示包括m列n行的样本或变换系数的集合。
41.图1是简要例示了适用本公开的视频编码设备的示图。
42.参照图1,视频编码设备100可以包括图片分割器105、预测器110、残差处理器120、熵编码器130、加法器140、滤波器150和存储器160。残差处理器120可以包括减法器121、变换器122、量化器123、重排器124、反量化器125和逆变换器126。
43.图片分割器105可以将输入图片分割成至少一个处理单元。
44.例如,处理器可以被称为编码单元(cu)。在这种情况下,可以根据四叉树二叉树三叉树(qtbt)结构从最大编码单元(lcu)递归地分割编码单元。例如,可以基于四叉树结构和/或二叉树结构将一个编码单元分割成深度较深的多个编码单元。在这种情况下,例如,可以首先应用四叉树结构,随后可以应用二叉树结构。另选地,可以首先应用二叉树结构。可以基于不再被分割的最终编码单元来执行根据本公开的编码过程。在这种情况下,可以根据图像特性基于编码效率将最大的编码单元用作最终编码单元,或者可以在必要时将编码单元递归地分割成深度较深的编码单元,并且可以使用具有最佳尺寸的编码单元作为最终编码单元。这里,编码过程可以包括随后将描述的预测、变换和重构的过程。
45.在另一示例中,处理单元可以包括编码单元(cu)、预测单元(pu)或变换单元(tu)。可以根据四叉树结构将编码单元从最大编码单元(lcu)分割成深度较深的编码单元。在这种情况下,可以根据图像特性基于编码效率等直接将最大的编码单元用作最终编码单元,或者可以在必要时将编码单元递归地分割成深度较深的编码单元,并且可以使用具有最佳尺寸的编码单元作为最终编码单元。当设置了最小编码单元(scu)时,编码单元可以不被分
割成比最小编码单元小的编码单元。这里,最终编码单元是指被分割或划分成预测单元或变换单元的编码单元。预测单元是从编码单元分割出的单元,并且可以是样本预测的单元。这里,预测单元可以被分成子块。可以根据四叉树结构从编码单元分出变换单元,并且变换单元可以是推导变换系数的单元和/或从变换系数推导残差信号的单元。下文中,编码单元可以被称为编码块(cb),预测单元可以被称为预测块(pb),并且变换单元可以被称为变换块(tb)。预测块或预测单元可以是指采用图片中的块的形式的特定区域,并且包括预测样本的阵列。另外,变换块或变换单元可以是指采用图片中的块的形式的特定区域,并且包括变换系数或残差样本的阵列。
46.预测器110可以对处理目标块(下文中,当前块)执行预测,并且可以生成包括针对当前块的预测样本的预测块。在预测器110中执行的预测的单元可以是编码块,或者可以是变换块,或者可以是预测块。
47.预测器110可以确定对当前块是应用帧内预测还是帧间预测。例如,预测器110可以确定以cu为单位应用帧内预测还是帧间预测。
48.在帧内预测的情况下,预测器110可以基于当前块所属图片(下文中,当前图片)中的当前块之外的参考样本来推导当前块的预测样本。在这种情况下,预测器110可以基于当前块的邻近参考样本的平均或内插来推导预测样本(情况(i)),或者可以基于当前块的邻近参考样本当中的预测样本在特定(预测)方向上存在的参考样本来推导预测样本(情况(ii))。情况(i)可以被称为非定向模式或非角度模式,并且情况(ii)可以被称为定向模式或角度模式。在帧内预测中,作为示例,预测模式可以包括33种定向模式和至少两种非定向模式。非定向模式可以包括dc模式和平面模式。预测器110可以通过使用应用于邻近块的预测模式来确定要应用于当前块的预测模式。
49.在帧间预测的情况下,预测器110可以基于参考图片上的运动向量所指定的样本来推导当前块的预测样本。预测器110可以通过应用跳过模式、合并模式和运动向量预测(mvp)模式中的任一种来推导当前块的预测样本。在跳过模式和合并模式的情况下,预测器110可以使用邻近块的运动信息作为当前块的运动信息。在跳过模式的情况下,与合并模式不同,并不发送预测样本与原始样本之间的差(残差)。在mvp模式的情况下,邻近块的运动向量被用作运动向量预测器,因此被用作当前块的运动向量预测器来推导当前块的运动向量。
50.在帧间预测的情况下,邻近块可以包括当前图片中存在的空间邻近块和参考图片中存在的时间邻近块。包括时间邻近块的参考图片也可以被称为并置图片(colpic)。运动信息可以包括运动向量和参考图片索引。诸如预测模式信息和运动信息这样的信息可以被(熵)编码,然后被作为比特流的形式输出。
51.当在跳过模式和合并模式下使用时间邻近块的运动信息时,参考图片列表中的最高图片可以被用作参考图片。可以基于当前图片与对应的参考图片之间的图片序号(poc)差来对齐参考图片列表中所包括的参考图片。poc对应于显示顺序并且可以与编码顺序区分开。
52.减法器121生成残差样本,残差样本是原始样本与预测样本之间的差。如果应用跳过模式,则可以不如上所述地生成残差样本。
53.变换器122以变换块为单位变换残差样本以生成变换系数。变换器122可以基于对
应变换块的尺寸和应用于与变换块在空间上交叠的预测块或编码块的预测模式来执行变换。例如,如果向与变换块交叠的预测块或编码块应用帧内预测,则可以使用离散正弦变换(dst)变换核来变换残差样本,变换块为4
×
4残差阵列,并且在其它情况下使用离散余弦变换(dct)变换核来变换它。
54.量化器123可以量化变换系数,以生成量化后的变换系数。
55.重排器124对量化后的变换系数进行重排。重排器124可以通过系数扫描方法将块形式的量化后的变换系数重排成一维向量。尽管将重排器124描述为单独的组件,但是重排器124可以是量化器123的一部分。
56.熵编码器130可以对量化后的变换系数执行熵编码。熵编码可以包括诸如(例如)指数哥伦布(exponential golomb)、上下文自适应可变长度编码(cavlc)、上下文自适应二进制算术编码(cabac)等这样的编码方法。熵编码器130可以一起或分别地对除了量化后的变换系数之外的视频重构所必需的信息(例如,语法元素的值等)进行编码。熵编码后的信息可以以比特流的形式以nal(网络抽象层)为单位发送或存储。
57.反量化器125对由量化器123量化的值(变换系数)进行反量化,并且逆变换器126对由反量化器125反量化的值进行逆变换,以生成残差样本。
58.加法器140将残差样本与预测样本相加,以重构图片。可以以块为单位将残差样本与预测样本相加,以生成重构块。尽管将加法器140描述为单独的组件,但是加法器140可以是预测器110的一部分。此外,加法器140可以被称为重构器或重构块生成器。
59.滤波器150可以向重构图片应用去块滤波和/或样本自适应偏移。可以通过去块滤波和/或样本自适应偏移来校正重构图片中块边界处的伪像或量化中的失真。在去块滤波完成之后,可以以样本为单位应用样本自适应偏移。滤波器150可以向重构图片应用自适应环路滤波器(alf)。可以向已应用了去块滤波和/或样本自适应偏移的重构图片应用alf。
60.存储器160可以存储重构图片(解码图片)或编码/解码所需的信息。这里,重构图片可以是经滤波器150滤波的重构图片。所存储的重构图片可以被用作用于其它图片的(帧间)预测的参考图片。例如,存储器160可以存储用于帧间预测的(参考)图片。这里,可以根据参考图片集或参考图片列表来指定用于帧间预测的图片。
61.图2例示了由视频编码设备执行的视频编码方法的示例。参照图2,视频编码方法可以包括帧内/帧间预测、变换、量化和熵编码的过程。例如,可以通过帧内/帧间预测来生成当前块的预测块,并且可以通过在当前块的输入块与预测块之间进行减法来生成当前块的残差块。随后,通过对残差块进行变换,可以生成系数块,即,当前块的变换系数。变换系数可以被量化和熵编码,然后被存储在比特流中。
62.图3是例示了适用本公开的视频解码设备的配置的示意图。
63.参照图3,视频解码设备300包括熵解码器310、残差处理器320、预测器330、加法器340、滤波器350和存储器360。这里,残差处理器320可以包括重排器321、反量化器322和逆变换器323。
64.当输入包括视频信息的比特流时,视频解码设备300可以与在视频编码设备中处理视频信息的处理对应地重构视频。
65.例如,视频解码设备300可以使用在视频编码设备中应用的处理器来执行视频解码。因此,视频解码的处理器例如可以是编码单元,或者又如可以是编码单元、预测单元或
变换单元。可以根据四叉树结构和/或二叉树结构从最大编码单元中分割出编码单元。
66.在某些情况下,还可以使用预测单元和变换单元,并且在这种情况下,预测块是从编码单元推导或划分的块并且可以是样本预测的单元。这里,预测单元可以被分成子块。可以根据四叉树结构从编码单元分割出变换单元,并且变换单元可以是推导变换系数的单元或从变换系数推导残差信号的单元。
67.熵解码器310可以解析比特流,以输出视频重构或图片重构所需的信息。例如,熵解码器310可以基于诸如指数哥伦布编码、cavlc、cabac等这样的编码方法对比特流中的信息进行解码,并且可以输出视频重构所需的语法元素的值和关于残差的变换系数的量化值。
68.更具体地,cabac熵解码方法可以接收与比特流中的每个语法元素对应的bin,使用解码目标语法元素信息以及邻近目标块和解码目标块的解码信息或在先前步骤中解码的符号/bin的信息来确定上下文模型,根据所确定的上下文模型来预测bin生成概率并且执行bin的算术解码以生成与每个语法元素值对应的符号。这里,cabac熵解码方法可以在确定上下文模型之后,使用针对下一个符号/bin的上下文模型解码的符号/bin的信息来更新上下文模型。
69.在熵解码器310中解码的信息当中的关于预测的信息可以被提供到预测器330,并且残差值即熵解码器310已对其执行了熵解码的量化后的变换系数可以被输入到重排器321。
70.重排器321可以将量化后的变换系数重排为二维块形式。重排器321可以执行与由编码设备执行的系数扫描对应的重排。尽管将重排器321描述为单独的组件,但重排器321可以是反量化器322的一部分。
71.反量化器322可以基于(反)量化参数对量化后的变换系数进行反量化,以输出变换系数。在这种情况下,可以从编码设备发信号通知用于推导量化参数的信息。
72.逆变换器323可以对变换系数进行逆变换,以推导残差样本。
73.预测器330可以对当前块执行预测,并且可以生成包括针对当前块的预测样本的预测块。在预测器330中执行的预测的单元可以是编码块或者可以是变换块或者可以是预测块。
74.预测器330可以基于关于预测的信息来确定是应用帧内预测还是帧间预测。在这种情况下,用于确定将使用帧内预测和帧间预测中的哪一种的单元可以不同于用于生成预测样本的单元。另外,在帧间预测和帧内预测中,用于生成预测样本的单元也可以不同。例如,可以以cu为单元确定将应用帧间预测和帧内预测中的哪一种。另外,例如,在帧间预测中,可以通过以pu为单元确定预测模式来生成预测样本,而在帧内预测中,可以通过以pu为单元确定预测模式来以tu为单元生成预测样本。
75.在帧内预测的情况下,预测器330可以基于当前图片中的邻近参考样本推导针对当前块的预测样本。预测器330可以通过基于当前块的邻近参考样本应用定向模式或非定向模式来推导针对当前块的预测样本。在这种情况下,可以通过使用邻近块的帧内预测模式来确定将应用于当前块的预测模式。
76.在帧间预测的情况下,预测器330可以基于根据运动矢量在参考图片中指定的样本来推导针对当前块的预测样本。预测器330可以使用跳过模式、合并模式和mvp模式中的
一种来推导针对当前块的预测样本。这里,可以基于关于预测的信息来获取或推导由视频编码设备提供的对当前块进行帧间预测所需的运动信息,例如,运动矢量和关于参考图片索引的信息。
77.在跳过模式和合并模式下,可以将邻近块的运动信息用作当前块的运动信息。这里,邻近块可以包括空间邻近块和时间邻近块。
78.预测器330可以使用可用邻近块的运动信息来构造合并候选列表,并且使用由合并候选列表上的合并索引所指示的信息作为当前块的运动矢量。可以由编码设备发信号通知合并索引。运动信息可以包括运动矢量和参考图片。当在跳过模式和合并模式下使用时间邻近块的运动信息时,参考图片列表中的最高图片可以被用作参考图片。
79.在跳过模式的情况下,与合并模式不同,不发送预测样本与原始样本之间的差(残差)。
80.在mvp模式的情况下,可以使用邻近块的运动矢量作为运动矢量预测子来推导当前块的运动矢量。这里,邻近块可以包括空间邻近块和时间邻近块。
81.当应用合并模式时,例如,可以使用重构的空间邻近块的运动矢量和/或与作为时间邻近块的col块对应的运动矢量来生成合并候选列表。在合并模式下,从合并候选列表中选择的候选块的运动矢量被用作当前块的运动矢量。以上提到的关于预测的信息可以包括合并索引,合并索引指示从合并候选列表中所包括的候选块中选择的具有最佳运动矢量的候选块。这里,预测器330可以使用合并索引来推导当前块的运动矢量。
82.当作为另一示例应用mvp(运动矢量预测)模式时,可以使用重构的空间邻近块的运动矢量和/或与作为时间邻近块的col块对应的运动矢量来生成运动矢量预测子候选列表。即,可以使用重构的空间邻近块的运动矢量和/或与作为时间邻近块的col块对应的运动矢量作为运动矢量候选。以上提到的关于预测的信息可以包括指示从列表中所包括的运动矢量候选中选择的最佳运动矢量的预测运动矢量索引。这里,预测器330可以使用运动矢量索引从运动矢量候选列表中所包括的运动矢量候选中选择当前块的预测运动矢量。编码设备的预测器可以获得当前块的运动矢量与运动矢量预测子之间的运动矢量差(mvd),对mvd进行编码并且以比特流的形式输出编码后的mvd。即,mvd可以是通过从当前块的运动矢量中减去运动矢量预测子来获得的。这里,预测器330可以获取关于预测的信息中所包括的运动矢量,并且通过将运动矢量差与运动矢量预测子相加来推导当前块的运动矢量。另外,预测器可以从以上提到的关于预测的信息获得或推导指示参考图片的参考图片索引。
83.加法器340可以将残差样本与预测样本相加,以重构当前块或当前图片。加法器340可以通过以块为单元将残差样本与预测样本相加来重构当前图片。当应用跳过模式时,不发送残差,因此预测样本可以成为重构样本。尽管将加法器340描述为单独的组件,但加法器340可以是预测器330的一部分。此外,加法器340可以被称为重构器或重构块生成器。
84.滤波器350可以向重构图片应用去块滤波、样本自适应偏移和/或alf。这里,在去块滤波之后,可以以样本为单元应用样本自适应偏移。可以在去块滤波和/或应用样本自适应偏移之后应用alf。
85.存储器360可以存储重构图片(解码图片)或解码所需的信息。这里,重构图片可以是经滤波器350滤波的重构图片。例如,存储器360可以存储用于帧间预测的图片。这里,可以根据参考图片集或参考图片列表来指定用于帧间预测的图片。重构图片可以被用作用于
其它图片的参考图片。存储器360可以按输出顺序输出重构图片。
86.图4例示了由解码设备执行的视频解码方法的示例。参照图4,视频解码方法可以包括熵解码、反量化、逆变换和帧内/帧间预测的过程。例如,可以在解码设备中执行编码方法的逆过程。具体地,通过对比特流的熵解码,可以获得量化后的变换系数,并且通过对量化后的变换系数的反量化过程,可以获得当前块的系数块,即,变换系数。通过对变换系数的逆变换,可以推导当前块的残差块,并且通过将当前块的预测块与通过帧内/帧间预测推导的残差块相加,可以推导当前块的重构块。
87.此外,通过上述变换,可以推导对当前块的残差块的较低频率的变换系数,并且在残差块的末端,可以推导零尾。
88.具体地,变换可以包括两种类型的初级过程,并且这些初级过程可以包括核变换和二次变换。包括核变换和二次变换的变换可以被表示为多变换方案。
89.图5示意性例示了根据本公开的多变换方案。
90.参照图5,变换器可以对应于图1的编码设备的变换器,并且逆变换器可以对应于图1的编码设备的逆变换器或图3的解码设备的逆变换器。
91.变换器可以通过基于残差块内的残差样本(残差样本阵列)执行初级变换来推导(初级)变换系数(s510)。在这种情况下,初级变换可以包括自适应多核变换(amt)。自适应多核变换也可以被表示为多变换集(mts)。
92.自适应多核变换可以指示另外使用离散余弦变换(dct)类型2、离散正弦变换(dst)类型7、dct类型8和/或dst类型1执行变换的方法。即,自适应多核变换可以指示基于从dct类型2、dst类型7、dct类型8和dst类型1当中选择的多个变换核将空间域的残差信号(或残差块)变换成频域的变换系数(或初级变换系数)的变换方法。在这种情况下,从变换器的角度来看,初级变换系数可以被称为时间变换系数。
93.换句话说,在应用现有的变换方法的情况下,可以通过基于dct类型2针对残差信号(或残差块)应用从空间域到频域的变换来生成变换系数。另一方面,在应用自适应多核变换的情况下,可以通过基于dct类型2、dst类型7、dct类型8和/或dst类型1针对残差信号(或残差块)应用从空间域到频域的变换来生成变换系数(或初级变换系数)。在这种情况下,dct类型2、dst类型7、dct类型8和dst类型1可以称为变换类型、变换核或变换芯。
94.作为参考,可以基于基函数来定义dct/dst变换类型。可以如下地表示基函数。
95.[表1]
[0096][0097]
在执行自适应多核变换的情况下,可以在变换核当中选择用于目标块的垂直变换核和水平变换核。可以基于垂直变换核对目标块执行垂直变换。可以基于水平变换核对目标块执行水平变换。在这种情况下,水平变换可以表示针对目标块的水平分量的变换。垂直变换可以表示针对目标块的垂直分量的变换。可以基于包含残差块的目标块(cu或子块)的预测模式和/或指示变换子集的变换索引来自适应地确定垂直变换核/水平变换核。
[0098]
例如,可以向目标块的宽度和高度二者等于或小于64的情况应用自适应多核变换,并且可以基于cu级别标志来确定是否应用自适应多核变换。具体地,在cu级别标志为0的情况下,可以应用上述现有的变换方法。即,在cu级别标志为0的情况下,可以应用基于dct类型2的残差信号(或残差块)的从空间域到频域的变换,并且可以生成变换系数,并且变换系数可以被编码。此外,这里,目标块可以是cu。在cu级别标志为0的情况下,可以向目标块应用自适应多核变换。
[0099]
另外,在应用了自适应多核变换的目标块的亮度块的情况下,可以发信号通知另外两个标志,并且基于这些标志,可以选择垂直变换核和水平变换核。垂直变换核的标志可以被表示为amt垂直标志,并且amt_tu_vertical_flag(或emt_tu_vertical_flag)可以表示amt垂直标志的语法元素。水平变换核的标志可以被表示为amt水平标志,并且amt_tu_horizontal_flag(或emt_tu_horizontal_flag)可以表示amt水平标志的语法元素。amt垂直标志可以指示垂直变换核的变换子集中所包括的变换核候选中的一个变换核候选,并且由amt垂直标志指示的变换核候选可以被推导为目标块的垂直变换核。此外,amt水平标志可以指示水平变换核的变换子集中所包括的变换核候选当中的一个变换核候选,并且由amt水平标志指示的变换核候选可以被推导为目标块的水平变换核。此外,amt垂直标志可以被表示为mts垂直标志,并且amt水平标志可以被表示为mts水平标志。
[0100]
此外,可以预先配置三个变换子集,并且基于应用于目标块的帧内预测模式,变换子集中的一个可以被推导为垂直变换核的变换子集。另外,基于应用于目标块的帧内预测模式,变换子集中的一个可以被推导为水平变换核的变换子集。例如,可以如下表中表示地推导预先配置的变换子集。
[0101]
[表2]
[0102]
变换集变换侯选0dst-vii,dct-viii1dst-vii,dst-i2dst-vii,dct-viii
[0103]
参照表2,索引值为0的变换子集可以表示包括dst类型7和dct类型7作为变换核候选的变换子集。其索引值为1的变换子集可以表示包括dst类型7和dct类型1作为变换核候选的变换子集。其索引值为2的变换子集可以表示包括dst类型7和dct类型8作为变换核候选的变换子集。
[0104]
可以如下表中表示地,推导基于应用于目标块的帧内预测模式而推导的垂直变换核的变换子集和水平变换核的变换子集。
[0105]
[表3]
[0106][0107]
本文中,v表示垂直变换核的变换子集,并且h表示水平变换核的变换子集。
[0108]
在amt标志(或emt_cu_flag)的值为1的情况下,如表3中表示地,可以基于目标块的帧内预测模式来推导垂直变换核的变换子集和水平变换核的变换子集。随后,在垂直变换核的变换子集中所包括的变换核候选当中,由目标块的amt垂直标志指示的变换核候选可以被推导为目标块的垂直变换核,并且在水平变换核的变换子集中所包括的变换核候选当中,由目标块的amt水平标志指示的变换核候选可以被推导为目标块的水平变换核。此外,amt标志也可以被表示为mts标志。
[0109]
作为参考,例如,帧内预测模式可以包括两个非定向(或非角度)帧内预测模式和65个定向(或角度)帧内预测模式。非定向帧内预测模式可以包括0号(平面)帧内预测模式和1号dc帧内预测模式。定向帧内预测模式可以包括2号至66号这六十五个帧内预测模式。然而,它们是示例,并且本公开可以应用于帧内预测模式的数目不同的情况。此外,在某些情况下,还可以使用67号帧内预测模式。67号帧内预测模式可以表示线性模型(lm)模式。
[0110]
图6例示了预测方向的65个帧内方向模式。
[0111]
参照图6,基于具有左上对角预测方向的34号帧内预测模式,可以将模式分为具有水平方向性的帧内预测模式和具有垂直方向性的帧内预测模式。在图6中,h和v分别意指水平方向性和垂直方向性,并且数字指示样本网格位置上的1/32单元的位移。2至33号帧内预测模式具有水平方向性,而34至66号帧内预测模式具有垂直方向性。18号帧内预测模式和50号帧内预测模式分别指示水平帧内预测模式和垂直帧内预测模式。2号帧内预测
模式可以被称为左下对角帧内预测模式,34号帧内预测模式可以被称为左上对角帧内预测模式,并且66号帧内预测模式可以被称为右上对角帧内预测模式。
[0112]
变换器可以基于(初级)变换系数执行二次变换,并且推导(二次)变换系数(步骤s520)。初级变换是从空间域到频域的变换,而二次变换可以被视为从频域到频域的变换。二次变换可以包括不可分离变换。在这种情况下,二次变换可以被称为不可分离二次变换(nsst)或依赖模式的不可分离二次变换(mdnsst)。不可分离二次变换可以表示通过基于不可分离变换矩阵对通过初级变换推导的(初级)变换系数进行二次变换来生成针对残差信号的变换系数(或二次变换系数)的变换。这里,基于不可分离变换矩阵,不分别地(或独立地)对(初级)变换系数应用垂直变换和水平变换,但垂直变换和水平变换可以被应用一次。换句话说,不可分离二次变换可以表示通过基于不可分离变换矩阵将垂直分量和水平分量一起变换而非分别变换垂直分量和水平分量来生成变换系数(或二次变换系数)的变换方法。可以向包括(初级)变换系数的块(下文中,这可以被称为变换系数块或目标块)的左上区域应用不可分离二次变换。例如,在变换系数块的宽度(w)和高度(h)二者都为8或更大的情况下,可以向变换系数块的左上8
×
8区域(下文中,左上目标区域)应用8
×
8不可分离二次变换。另外,在变换系数块的宽度(w)和高度(h)中的任一个为8或更小而变换系数块的宽度(w)和高度(h)二者为4或更大的情况下,可以向变换系数块的左上min(8,w)
×
min(8,h)区域应用4
×
4不可分离二次变换。
[0113]
具体地,例如,在使用4
×
4输入块的情况下,可以如下地执行不可分离二次变换。
[0114]
可以如下地表示4
×
4输入块x。
[0115]
[式1]
[0116][0117]
当以矢量形式表示x时,可以如下地表示矢量
[0118]
[式2]
[0119][0120]
在这种情况下,可以如下地计算不可分离二次变换。
[0121]
[式3]
[0122][0123]
本文中,表示变换系数矢量,并且t表示16
×
16(不可分离)变换矩阵。
[0124]
通过上式3,可以推导16
×
1变换系数矢量并且可以通过扫描顺序(水平、垂直、对角线等)用4
×
4块来重新组织然而,该计算是示例,并且超立方-吉文斯变换(hygt)等可以用于计算不可分离二次变换,以便降低不可分离二次变换的计算复杂度。
[0125]
此外,在不可分离二次变换中,可以按依赖于模式的方式选择变换核(或变换芯、变换类型)。这里,该模式可以包括帧内预测模式和/或帧间预测模式。
[0126]
如上所述,可以基于以变换系数块的宽度(w)和高度(h)为基础确定的8
×
8变换或4×
4变换来执行不可分离二次变换。即,可以基于8
×
8子块大小或4
×
4子块大小来执行不可分离二次变换。例如,为了选择依赖于模式的变换核,可以针对8
×
8子块大小和4
×
4子块大小二者的不可分离二次变换配置三个35组不可分离二次变换核集。即,针对8
×
8子块大小配置35个变换集,并且针对4
×
4子块大小配置35个变换集。在这种情况下,可以在针对8
×
8子块大小的35个变换集中的每一个中包括三个8
×
8变换核。在这种情况下,可以在针对4
×
4子块大小的35个变换集中的每一个中包括三个4
×
4变换核。然而,变换子块大小、集的数目以及集内的变换核数目是示例,但可以使用除了8
×
8或4
×
4之外的大小或者可以配置n个集,并且每个集中可以包括k个变换核。
[0127]
变换集可以被称为nsst集,并且nsst集中的变换核可以被称为nsst核。例如,可以基于目标块(cu或子块)的帧内预测模式执行变换集当中的特定集的选择。
[0128]
在这种情况下,例如,可以如下表那样指示35个变换集与帧内预测模式之间的映射。作为参考,在向目标块应用lm模式的情况下,可以不向目标块应用二次变换。
[0129]
[表4]
[0130][0131]
此外,当确定使用特定集时,可以通过不可分离二次变换索引来选择特定集中的k个变换核中的一个。编码设备可以基于速率失真(rd)检查来推导指示特定变换核的不可分离二次变换索引,并将该不可分离二次变换索引发信号通知给解码设备。解码设备可以基于不可分离二次变换索引在特定集中选择k个变换核中的一个。例如,nsst索引值0可以指示第一不可分离二次变换核,nsst索引值1可以指示第二不可分离二次变换核,并且nsst索引值2可以指示第三不可分离二次变换核。另选地,nsst索引值0可以指示不向目标块应用第一不可分离二次变换,并且nsst索引值1至3可以指示三个变换核。
[0132]
再次参照图5,变换器可以基于所选择的变换核执行不可分离二次变换,并且获得(二次)变换系数。如上所述,变换系数可以通过量化器被推导为量化的变换系数,并且被编码和发信号通知给解码设备并且转发到编码设备中的反量化器/逆变换器。
[0133]
此外,在省略二次变换的情况下,作为初级(可分离)变换的输出的(初级)变换系数可以如上所述通过量化器被推导为量化的变换系数,并且被编码和发信号通知给解码设备并且转发到编码设备中的反量化器/逆变换器。
[0134]
逆变换器可以以与在变换器中执行的过程相反的顺序执行一系列过程。逆变换器可以接收(反量化后的)变换系数,通过执行二次(逆)变换来推导(初级)变换系数(步骤s550),并且通过对(初级)变换系数执行初级(逆)变换来获得残差块(残差样本)。这里,在逆变换器方面,初级变换系数可以被称为修改后的变换系数。编码设备和解码设备可以基于残差块和预测块来生成重构块,并且基于此来生成重构图片,如上所述。
[0135]
此外,如上所述,在省略二次变换的情况下,接收(反量化后的)变换系数,执行初级(可分离)变换,并且可以获得残差块(残差样本)。编码设备和解码设备可以基于残差块和预测块来生成重构块,并且基于此来生成重构图片,如上所述。
[0136]
此外,可以不向以变换跳过模式编码的块应用不可分离二次变换。例如,在发信号通知目标cu的nsst索引并且nsst索引的值不为0的情况下,可以不向目标cu中的被以变换
跳过模式进行编码的块应用不可分离二次变换。另外,在以变换跳过模式对包括所有分量(亮度分量、色度分量等)的块的目标cu进行编码的情况下,或者在目标cu的变换系数当中的非零的变换系数的数目小于2的情况下,可以不发信号通知nsst索引。变换系数的详细编码处理如下。
[0137]
图7a和图7b是例示了根据实施方式的变换系数的编码处理的流程图。
[0138]
图7a和图7b中示出的每个步骤可以分别由图1和图3中示出的编码设备100或解码设备300执行,并且更具体地,分别由图1中示出的熵编码器130和图3中示出的熵解码器310执行。因此,省略或简要描述与图1或图3中描述的内容重复的详细描述。
[0139]
在本公开中,术语或句子被用于定义特定的信息或概念。例如,在本公开中,“指示目标块的变换系数当中是否存在至少一个非零变换系数的标志”指示cbf。然而,由于“cbf”可以被诸如coded_block_flag等这样的其它各种术语替换,因此当在整个公开内容中解释用于定义特定信息或概念的术语或句子时,不应该以限于名称的方式解释术语或句子,而是需要通过根据术语的含义集中于各种操作、功能和效果来解释术语或句子。
[0140]
图7a例示了变换系数的编码处理。
[0141]
根据实施方式的编码设备100可以确定指示目标块的变换系数当中是否存在至少一个非零变换系数的标志是否指示1(步骤s700)。在指示目标块的变换系数当中是否存在至少一个非零变换系数的标志指示1的情况下,目标块的变换系数当中可能存在至少一个非零变换系数。另一方面,在指示目标块的变换系数当中是否存在至少一个非零变换系数的标志指示0的情况下,目标块的所有变换系数都可以指示0。
[0142]
可以用cbf标志表示指示目标块的变换系数当中是否存在至少一个非零变换系数的标志。cbf标志可以包括亮度块的cbf_luma[x0][y0][trafodepth]标志和色度块的cbf_cb[x0][y0][trafodepth]和cbf_cr[x0][y0][trafodepth]标志。这里,阵列索引x0和y0可以意指针对当前图片的左上亮度/色度样本的目标块的左上亮度/色度样本的位置,并且阵列索引trafodepth可以意指出于变换编码的目的而分割编码块的级别。其trafodepth指示0的块可以对应于编码块,并且在等同地定义编码块和变换块的情况下,trafodepth可以被视为0。
[0143]
在步骤s700中指示目标块的变换系数当中是否存在至少一个非零变换系数的标志指示1的情况下,根据实施方式的编码设备100可以对目标块的变换系数的信息进行编码(步骤s710)。
[0144]
例如,目标块的变换系数的信息可以包括非零的最后一个变换系数的位置的信息、指示在目标块的子组中是否包括非零变换系数的组标志信息和减小系数的信息中的至少一个。以下,将描述对该信息的详细描述。
[0145]
根据实施方式的编码设备100可以确定它是否对应于执行nsst的条件(步骤s720)。更具体地,编码设备100可以确定它是否对应于对nsst索引进行编码的条件。在这种情况下,例如,nsst索引可以被称为变换索引。
[0146]
在根据实施方式的编码设备100在步骤s720中确定它对应于执行nsst的条件的情况下,编码设备100可以对nsst索引进行编码(步骤s730)。更具体地,在根据实施方式的编码设备100确定它对应于对nsst索引进行编码的条件的情况下,编码设备100可以对nsst索引进行编码。
[0147]
在步骤s700中指示在目标块的变换系数当中是否存在至少一个非零变换系数的标志指示0的情况下,根据实施方式的编码设备100可以省略根据步骤s710、s720和s730进行的操作。
[0148]
另外,在根据实施方式的编码设备100在步骤s720中可以确定它不对应于执行nsst的条件的情况下,编码设备100可以省略根据步骤s730进行的操作。
[0149]
图7a例示了变换系数的解码处理。
[0150]
根据实施方式的解码设备300可以确定指示目标块的变换系数当中是否存在至少一个非零变换系数的标志是否指示1(步骤s740)。在指示目标块的变换系数当中是否存在至少一个非零变换系数的标志指示1的情况下,目标块的变换系数当中可能存在至少一个非零变换系数。另一方面,在指示目标块的变换系数当中是否存在至少一个非零变换系数的标志指示0的情况下,目标块的所有变换系数都可以指示0。
[0151]
在步骤s740中指示目标块的变换系数当中是否存在至少一个非零变换系数的标志指示1的情况下,根据实施方式的解码设备300可以对目标块的变换系数的信息进行编码(步骤s750)。
[0152]
根据实施方式的解码设备300可以确定它是否对应于执行nsst的条件(步骤s760)。更具体地,解码设备300可以确定它是否对应于从比特流对nsst索引进行解码的条件。
[0153]
在根据实施方式的解码设备300在步骤s760中确定它对应于执行nsst的条件的情况下,解码设备300可以对nsst索引进行解码(步骤s770)。
[0154]
在步骤s740中指示目标块的变换系数当中是否存在至少一个非零变换系数的标志指示0的情况下,根据实施方式的解码设备300可以省略根据步骤s750、s760和s770进行的操作。
[0155]
另外,在根据实施方式的解码设备300在步骤s760中确定它不对应于执行nsst的条件的情况下,解码设备300可以省略根据步骤s770进行的操作。
[0156]
如上所述,当如上所述不执行nsst时发信号通知nsst索引会使编码效率下降,另外,根据特定条件,用于区分nsst索引的编码方法的方法可以提高图像的整体编码效率。因此,本公开提出了各种nsst索引编码方法。
[0157]
例如,基于特定条件,可以确定nsst索引的范围。换句话说,基于特定条件,可以确定nsst索引的值的范围。具体地,基于特定条件,可以确定nsst索引的最大值。
[0158]
例如,基于块大小,可以确定nsst索引的值的范围。这里,块大小可以被定义为minimum(w,h)。w可以表示宽度,并且h可以表示高度。在这种情况下,通过目标块的宽度与w之间的比较以及目标块的高度与最小h之间的比较,可以确定nsst索引的值的范围。
[0159]
另选地,块大小可以被定义为块(w
×
h)中的样本数目。在这种情况下,通过目标块w
×
h的样本数目与特定值之间的比较,可以确定nsst索引的值的范围。
[0160]
另选地,例如,基于块的形状即块类型,可以确定nsst索引的值的范围。这里,块类型可以被定义为正方形块或非正方形块。在这种情况下,可以基于目标块是正方形块还是非正方形块来确定nsst索引的值的范围。
[0161]
另选地,块类型可以被定义为块的长边(宽度和高度之间的长边)与短边的比率。在这种情况下,通过块的短边与长边的比率与预先配置的阈值(例如,2或3)之间的比较,可
以确定nsst索引的值的范围。这里,该比率可以表示长边除以短边的值。例如,在目标块的宽度长于高度的情况下,通过宽度除以高度的值与预定阈值之间的比较,可以确定nsst索引的值的范围。另外,在目标块的高度比宽度长的情况下,通过高度除以宽度的值与预设阈值之间的比较,可以确定nsst索引的值的范围。
[0162]
另选地,作为示例,基于向块应用的帧内预测模式,可以确定nsst索引的值的范围。例如,基于应用于目标块的帧内预测模式是非定向帧内预测模式还是定向帧内预测模式,可以确定nsst索引的值的范围。
[0163]
另选地,作为另一示例,基于应用于目标块的帧内预测模式是类别a还是类别b中所包括的帧内预测模式,可以确定nsst索引的值的范围。在此,作为示例,类别a可以包括2号帧内预测模式、10号帧内预测模式、18号帧内预测模式、26号帧内预测模式、34号帧内预测模式、42号帧内预测模式、50号帧内预测模式、58号帧内预测模式和66号帧内预测模式,并且类别b可以包括除了类别a中所包括的帧内预测模式之外的帧内预测模式。可以预先配置类别a中所包括的帧内预测模式,并且可以预先配置为类别a和类别b包括与上述示例不同的帧内预测模式。
[0164]
另选地,作为另一示例,基于块的amt因子,可以确定nsst索引的值的范围。amt因子也可以被表示为mts因子。
[0165]
例如,amt因子可以被定义为上述amt标志。在这种情况下,基于目标块的amt标志的值,可以确定nsst索引的值的范围。
[0166]
另选地,amt因子可以被定义为上述的amt垂直标志和/或amt水平标志。在这种情况下,基于目标块的amt垂直标志和/或amt水平标志的值,可以确定nsst索引的值的范围。
[0167]
另选地,amt因子可以被定义为在多核变换中应用的变换核。在这种情况下,基于目标块的多核变换中应用的变换核,可以确定nsst索引的值的范围。
[0168]
另选地,作为另一示例,基于块的分量,可以确定nsst索引的值的范围。例如,可以不同地应用针对目标块的亮度块的nsst索引的值的范围以及针对目标块的色度块的nsst索引的值的范围。
[0169]
此外,通过上述特定条件的组合,可以确定nsst索引的值的范围。
[0170]
基于特定条件确定的nsst索引的值即nsst索引的最大值的范围可以以各种方式配置。
[0171]
例如,基于特定条件,可以确定nsst索引的最大值为r1、r2或r3。具体地,在特定条件对应于类别a的情况下,nsst索引的最大值可以被推导为r1。在特定条件对应于类别b的情况下,nsst索引的最大值可以被推导为r2。在特定条件对应于类别c的情况下,nsst索引的最大值可以被推导为r3。
[0172]
可以如下表中表示地推导类别a的r1、类别b的r2和类别c的r3。
[0173]
[表5]
[0174] 最大nsst索引类别ar1类别br2类别cr3
……
[0175]
可以预先配置r1、r2和r3。例如,可以如下式中表示地推导r1、r2和r3之间的关系。
[0176]
[式4]
[0177]
0<=r1<r2<r3<...
[0178]
参照等式4,r1可以等于或大于0,r2可以大于r1,并且r3可以大于r2。此外,在r2为0的情况下,以及在nsst索引的最大值被确定为r1的情况下,可以不发信号通知nsst索引,并且nsst索引的值可以被推断为0。
[0179]
另外,在本公开中,提出了隐式nsst索引编码方法。
[0180]
通常,在应用nsst的情况下,可以改变变换系数之间的非零变换系数的分布。具体地,在特定条件下使用简化二次变换(rst)作为二次变换的情况下,可以不对nsst索引进行编码。
[0181]
这里,rst可以表示使用简化变换矩阵作为不可分离变换矩阵的二次变换,并且简化变换矩阵可以被确定为使得n维矢量被映射到位于不同空间中的r维矢量。这里,r小于n。n可以意指与被应用变换的块对应的变换系数的总数或被应用变换的块的边的长度的平方。简化因子可以意指r/n值。简化因子可以被称为诸如简化因子、精简因子、简化的因子、简单因子等这样的各种术语。此外,r可以被称为简化系数,但在某些情况下,简化因子可以意指r。另外,在某些情况下,简化因子可以意指n/r值。
[0182]
根据实施方式的简化变换矩阵的大小可以为小于普通变换矩阵的大小n
×
n的r
×
n,并且可以被如下等式5所表示地定义。
[0183]
[式5]
[0184][0185]
当将简化变换矩阵t
rxn
乘以应用了目标块的初级变换的变换系数时,可以推导目标块的(二次)变换系数。
[0186]
在应用rst的情况下,由于r
×
n大小的简化变换矩阵被应用于二次变换,因此从r+1至n的变换系数可以隐式地为0。换句话说,在应用rst并且推导目标块的变换系数的情况下,从r+1至n的变换系数可以为0。这里,从r+1至n的变换系数可以表示从第r+1变换系数到第n变换系数的变换系数。具体地,可以如下地描述目标块的变换系数的阵列。
[0187]
图8是用于描述根据本公开的实施方式的基于目标块的变换系数的阵列的示图。下文中,下述的对图8中变换的描述也可以以相同方式应用于逆变换。对于目标块(或残差块800),可以执行基于初级变换和简化变换的nsst(二次变换的示例)。在示例中,图8中示出的16
×
16块可以表示目标块800,并且由a至p表示的4
×
4块可以表示目标块800的子组。可以在目标块800的整个范围内执行初级变换。在执行初级变换后,可以向由子组a、b、e和f构成的8
×
8块(下文中,左上目标区域)应用nsst。在这种情况下,当执行基于简化变换的nsst时,由于只推导r个nsst变换系数(本文中,r意指简化系数,并且r小于n),因此可以确定在第r+1至第n范围内的nsst变换系数中的每一个为0。在r为16的情况下,例如,可以向作为目标块800的左上目标区域中所包括的左上4
×
4块的子组a中所包括的块中的每一个分配推导出的执行了基于简化变换的nsst的16个变换系数,并且可以向子组b、e和f中所包括
的n-r个块(即,64-16=48组)中的每一个分配变换系数0。可以向子组c、d、g、h、i、j、k、l、m、n、o和p中所包括的块中的每一个分配未被执行基于简化变换的nsst的初级变换系数。
[0188]
因此,在扫描从r+1至n的变换系数并且推导任一个非零变换系数的情况下,可以确定不应用rst,并且在没有任何单独信令的情况下,nsst索引的值可以隐式地为0。即,在扫描从r+1至n的变换系数并且推导任一个非零变换系数的情况下,可以不应用rst,并且在没有任何单独信令的情况下,nsst索引的值可以被推导为0。
[0189]
图9例示了扫描从r+1至n的变换系数的示例。
[0190]
参照图9,被应用变换的目标块的大小可以为64
×
64,并且r=16(即,r/n=16/64=1/4)。即,图9示出了目标块的左上目标区域。可以将16
×
64大小的简化变换矩阵应用于对目标块左上目标区域的64个样本的二次变换。在这种情况下,当向左上目标区域应用rst时,从17至64(n)的变换系数的值需要为0。换句话说,在从目标块的从17至64的变换系数推导任一个非零变换系数的情况下,可以不应用rst,并且在没有任何单独信令的情况下,nsst索引的值可以被推导为0。因此,解码设备可以对目标块的变换系数进行解码,并且扫描解码后的变换系数当中的从17至64的变换系数。在推导非零变换系数的情况下,解码设备可以在没有任何单独信令的情况将nsst索引的值推导为0。此外,在从17至64的变换系数当中不存在非零变换系数的情况下,解码设备可以接收和解码nsst索引。
[0191]
图10a和图10b是例示了根据实施方式的nsst索引的编码处理的流程图。
[0192]
图10a示出了nsst索引的编码处理。
[0193]
编码设备可以对针对目标块的变换系数进行编码(步骤s1000)。编码设备可以对量化后的变换系数执行熵编码。熵编码可以包括诸如指数哥伦布(exponential golomb)、上下文自适应可变长度编码(cavlc)、上下文自适应二进制算术编码(cabac)等这样的编码方法。
[0194]
编码设备可以确定目标块的(显式)nsst索引是否被编码(步骤s1010)。这里,(显式)nsst索引可以表示传送到解码设备的nsst索引。即,编码设备可以确定是否生成发信号通知的nsst索引。换句话说,编码设备可以确定是否为nsst索引的语法元素分配比特。如实施方式中描述的,在解码设备可以在没有发信号通知nsst索引的情况下推导nsst索引的值的情况下,编码设备可以不对nsst索引进行编码。确定nsst索引是否被编码的详细处理如下所述。
[0195]
在确定(显式)nsst索引被编码的情况下,编码设备可以对nsst索引进行编码(步骤s1020)。
[0196]
图10b示出了nsst索引的解码处理。
[0197]
解码设备可以对针对目标块的变换系数进行解码(步骤s1030)。
[0198]
解码设备可以确定目标块的(显式)nsst索引是否被编码(步骤s1040)。这里,(显式)nsst索引可以表示从编码设备发信号通知的nsst索引。如实施方式中描述的,在解码设备可以在没有发信号通知nsst索引的情况下推导nsst索引的值的情况下,可以不从编码设备发信号通知nsst索引。确定nsst索引是否被编码的详细处理如下所述。
[0199]
在确定(显式)nsst索引被编码的情况下,解码设备可以对nsst索引进行编码(步骤s1040)。
[0200]
图11例示了确定nsst索引是否被编码的示例。
[0201]
编码设备/解码设备可以确定它是否对应于对目标块的nsst索引进行编码的条件(步骤s1100)。例如,在目标块的cbf标志指示0的情况下,编码设备/解码设备可以确定不对目标块的nsst索引进行编码。另选地,在以变换跳过模式对目标块进行编码或者在目标块的变换系数当中的非零变换系数的数目小于预先配置的阈值的情况下,编码设备/解码设备可以确定不对目标块的nsst索引进行编码。例如,预先配置的阈值可以为2。
[0202]
在它对应于对目标块的nsst索引进行编码的条件的情况下,编码设备/解码设备可以扫描从r+1至n的变换系数(步骤s1110)。从r+1至n的变换系数可以表示变换系数当中的按扫描顺序从第r+1到第n的变换系数。
[0203]
编码设备/解码设备可以确定是否在从r+1至n的变换系数当中推导非零变换系数(步骤s1120)。在从r+1至n的变换系数当中推导非零变换系数的情况下,编码设备/解码设备可以确定不对目标块的nsst索引进行编码。在这种情况下,编码设备/解码设备可以将目标块的nsst索引推导为0。换句话说,例如,在值为0的nsst索引指示不应用nsst的情况下,编码设备/解码设备可以不对目标块的左上目标区域执行nsst。
[0204]
此外,在不在从r+1至n的变换系数当中推导非零变换系数的情况下,编码设备可以对目标块的nsst索引进行编码,并且解码设备可以对目标块的nsst索引进行解码。
[0205]
此外,可以提出分量(亮度分量、色度cb分量和色度cr分量)使用公共nsst索引的方法。
[0206]
例如,相同nsst索引可以被用于目标块的色度cb分量和目标块的色度cr分量。另外,作为另一个示例,相同nsst索引可以被用于目标块的亮度分量、目标块的色度cb分量和目标块的色度cr分量。
[0207]
在目标块的两个或三个分量使用相同nsst索引的情况下,编码设备可以扫描所有分量(目标块的亮度块、色度cb块和色度cr块)的从r+1至n的变换系数,并且在推导至少一个非零系数的情况下,编码设备可以不对nsst索引进行编码,而是将nsst索引的值推导为0。另外,编码设备可以扫描所有分量(目标块的亮度块、色度cb块和色度cr块)的从r+1至n的变换系数,并且在推导至少一个非零系数的情况下,解码设备可以不对nsst索引进行解码,而是将nsst索引的值推导为0。
[0208]
图12例示了扫描针对目标块的所有分量的从r+1至n的变换系数的示例。
[0209]
参照图12,被应用变换的目标块的亮度块、色度cb块和色度cr块的大小可以为64
×
64,并且r=16(即,r/n=16/64=1/4)。即,图12示出了亮度块的左上目标区域、色度cb块的左上目标区域和色度cr块的左上目标区域。因此,16
×
64大小的简化变换矩阵可以被应用于对于亮度块的左上目标区域、色度cb块的左上目标区域和色度cr块的左上目标区域的64个样本中的每一个的二次变换。在这种情况下,当向亮度块的左上目标区域、色度cb块的左上目标区域和色度cr块的左上目标区域应用rst时候,从17至64(n)的变换系数的值需要为0。换句话说,在从目标块的从17至64的变换系数推导任一个非零变换系数的情况下,可以不应用rst,并且在没有任何单独信令的情况下,nsst索引的值可以被推导为0。因此,解码设备可以对目标块的所有分量的变换系数进行解码,并且扫描解码后的变换系数当中的亮度块、色度cb块和色度cr块的从17至64的变换系数。在推导非零变换系数的情况下,解码设备可以在没有任何单独信令的情况将nsst索引的值推导为0。此外,在从17至64的变换系数当中不存在非零变换系数的情况下,解码设备可以接收和解码nsst索引。nsst索引可以
被用于亮度块、色度cb块和色度cr块的索引。
[0210]
另外,在本公开中,可以提出以较高级别发信号通知nsst索引指示符的方法。nsst_idx_indicator可以表示nsst索引指示符的语法元素。例如,nsst索引指示符可以以编码树单元(ctu)级别被编码,并且nsst索引指示符可以表示nsst是否被应用于目标ctu。即,nsst索引指示符可以表示nsst是否可用于目标ctu。具体地,在针对目标ctu启用nsst索引指示符的情况下(在nsst可用于目标ctu的情况下),即,在nsst索引指示符的值为1的情况下,可以对目标ctu中所包括的cu或tu的nsst索引进行编码。在针对目标ctu禁用nsst索引指示符的情况下(在nsst不可用于目标ctu的情况下),即,在nsst索引指示符的值为0的情况下,可以不对目标ctu中所包括的cu或tu的nsst索引进行编码。此外,nsst索引指示符可以如上所述以ctu级别被编码或者以不同的任意大小的样本组级别被编码。例如,nsst索引指示符可以以编码单元(cu)级别被编码。
[0211]
图13示意性例示了根据本公开的由编码设备进行的视频编码方法。图13中示出的方法可以由图1中示出的编码设备执行。具体地,例如,图13的步骤s1300可以由编码设备的减法器执行,s1310可以由编码设备的变换器执行,并且步骤s1320至s1330可以由编码设备的熵编码器执行。另外,尽管未示出,但可以通过编码设备的预测器执行推导预测样本的处理。
[0212]
编码设备推导目标块的残差样本(步骤s1300)。例如,编码设备可以确定是对目标块执行帧间预测还是帧内预测,并且基于rd成本来确定特定帧间预测模式或特定帧内预测模式。该编码设备可以推导目标块的预测样本,并且通过将目标块的原始样本与预测样本相加来推导残差样本。
[0213]
编码设备通过对残差样本执行变换来推导目标块的变换系数(步骤s1310)。编码设备可以确定是否对目标块应用nsst。
[0214]
在向目标块应用nsst的情况下,编码设备可以通过对残差样本执行核变换来推导修改后的变换系数,并且通过基于简化变换矩阵对位于目标块的左上目标区域中的修改后的变换系数执行nsst来推导目标块的变换系数。除了位于目标块的左上目标区域中的修改后的变换系数之外的修改后的变换系数可以被推导为目标块的变换系数而没有任何改变。简化变换矩阵的大小可以为r
×
n。这里,n可以是左上目标区域中的样本数目,并且r可以是简化系数。r可以小于n。
[0215]
特别地,可以如下地执行对残差样本的核变换。编码设备可以确定是否对目标块应用自适应多核变换(amt)。在这种情况下,可以生成amt标志,amt标志表示是否向目标块应用自适应多核变换。在不向目标块应用amt的情况下,编码设备可以将dct类型2推导为针对目标块的变换核,并且通过基于dct类型2对残差样本执行变换来推导修改后的变换系数。
[0216]
在向目标块应用amt的情况下,编码设备可以配置水平变换核的变换子集和垂直变换核的变换子集,基于变换子集来推导水平变换核和垂直变换核,并且通过基于水平变换核和垂直变换核对残差样本执行变换来推导修改后的变换系数。这里,水平变换核的变换子集和垂直变换核的变换子集可以包括dct类型2、dct类型7、dct类型8和/或dct类型1作为候选。另外,可以生成变换索引信息,并且变换索引信息可以包括指示水平变换核的amt水平标志和指示垂直变换核的amt垂直标志。此外,变换核可以被称为变换类型或变换核。
[0217]
此外,在不向目标块应用nsst的情况下,编码设备可以通过对残差样本执行核变换来推导目标块的变换系数。
[0218]
特别地,可以如下地执行对残差样本的核变换。编码设备可以确定是否对目标块应用自适应多核变换(amt)。在这种情况下,可以生成amt标志,amt标志表示是否向目标块应用自适应多核变换。在不向目标块应用amt的情况下,编码设备可以将dct类型2推导为针对目标块的变换核,并且通过基于dct类型2对残差样本执行变换来推导修改后的变换系数。
[0219]
在向目标块应用amt的情况下,编码设备可以配置水平变换核的变换子集和垂直变换核的变换子集,基于变换子集来推导水平变换核和垂直变换核,并且通过基于水平变换核和垂直变换核对残差样本执行变换来推导修改的后变换系数。这里,水平变换核的变换子集和垂直变换核的变换子集可以包括dct类型2、dct类型7、dct类型8和/或dct类型1作为候选。另外,可以生成变换索引信息,并且变换索引信息可以包括指示水平变换核的amt水平标志和指示垂直变换核的amt垂直标志。此外,变换核可以被称为变换类型或变换核。
[0220]
编码设备确定是否对nsst索引进行编码(步骤s1320)。
[0221]
作为示例,编码设备可以扫描目标块的变换系数当中的从第r+1至第n的变换系数。在第r+1至第n的变换系数中包括非零变换系数的情况下,编码设备可以确定不对nsst索引进行编码。这里,n可以是左上目标区域中的样本数目,并且r可以是简化系数。r可以小于n。n可以被推导为左上目标区域的宽度与高度的乘积。
[0222]
另外,在第r+1至第n的变换系数中不包括非零变换系数的情况下,编码设备可以确定对nsst索引进行编码。在这种情况下,变换系数的信息可以包括nsst索引的语法元素。即,可以对nsst索引的语法元素进行编码。换句话说,可以分配用于nsst索引的语法元素的比特。
[0223]
此外,编码设备可以确定它是否对应于nsst可用于执行的条件。在nsst可用于执行的情况下,编码设备可以确定对目标块的nsst索引进行编码。例如,从比特流中,可以生成包括目标块的目标ctu的nsst索引指示符,并且nsst索引指示符可以表示nsst是否被应用于目标ctu。在nsst索引指示符的值为1的情况下,编码设备可以确定对目标块的nsst索引进行编码,并且在nsst索引指示符的值为0的情况下,编码设备可以确定不对目标块的nsst索引进行编码。如在以上示例中描述的,nsst索引指示符可以被以ctu级别发信号通知,或者nsst索引指示符可以被以cu级别或其它更高级别发信号通知。
[0224]
另外,nsst索引可以被用于目标块的多个分量。
[0225]
例如,nsst索引可以被用于对目标块的亮度块的变换系数、目标块的色度cb块的变换系数和目标块的色度cr块的变换系数的逆变换。在这种情况下,可以扫描亮度块的第r+1变换系数至第n变换系数、色度cb块的第r+1变换系数至第n变换系数和色度cr块的第r+1变换系数至第n变换系数。在被扫描的变换系数中包括非零变换系数的情况下,可以确定nsst索引不被编码。在被扫描的变换系数中不包括非零变换系数的情况下,可以确定nsst索引被编码。在这种情况下,变换系数的信息可以包括nsst索引的语法元素。即,nsst索引的语法元素可以被编码。换句话说,可以分配用于nsst索引的语法元素的比特。
[0226]
作为另一示例,nsst索引可以被用于对目标块的亮度块的变换系数和目标块的色度cb块的变换系数的逆变换。在这种情况下,可以扫描亮度块的第r+1变换系数至第n变换
系数和色度cb块的第r+1变换系数至第n变换系数。在被扫描的变换系数中包括非零变换系数的情况下,可以确定nsst索引不被编码。在被扫描的变换系数中不包括非零变换系数的情况下,可以确定nsst索引被编码。在这种情况下,变换系数的信息可以包括nsst索引的语法元素。即,nsst索引的语法元素可以被编码。换句话说,可以分配用于nsst索引的语法元素的比特。
[0227]
作为另一示例,nsst索引可以被用于对目标块的亮度块的变换系数和目标块的色度cr块的变换系数的逆变换。在这种情况下,可以扫描亮度块的第r+1变换系数至第n变换系数和色度cr块的第r+1变换系数至第n变换系数。在被扫描的变换系数中包括非零变换系数的情况下,可以确定nsst索引不被编码。在被扫描的变换系数中不包括非零变换系数的情况下,可以确定nsst索引被编码。在这种情况下,变换系数的信息可以包括nsst索引的语法元素。即,nsst索引的语法元素可以被编码。换句话说,可以分配用于nsst索引的语法元素的比特。
[0228]
此外,基于特定条件,可以推导nsst索引的范围。例如,基于特定条件,可以推导nsst索引的最大值,并且可以推导从0至推导出的最大值的范围。推导出的nsst索引的值可以被包括在该范围中。
[0229]
例如,基于目标块的大小,可以推导nsst索引的范围。具体地,可以预先配置最小宽度和最小高度。基于目标块的宽度和最小宽度、目标块的高度和最小高度,可以推导nsst索引的范围。另外,基于特定值或目标块的样本数目,可以推导nsst索引的范围。样本数目可以是目标块的宽度与高度相乘的值,并且特定值可以是预先配置的。
[0230]
另外,作为另一示例,基于目标块的类型,可以推导nsst索引的范围。具体地,可以基于目标块是否是非正方形块来推导nsst索引的范围。另外,可以基于目标块的宽度和高度之间的比率与特定值来推导nsst索引的范围。目标块的宽度与高度之间的比率可以是目标块的宽度和高度之间的长边除以短边的值,并且可以预先配置特定值。
[0231]
另外,作为另一示例,基于目标块的帧内预测模式,可以推导nsst索引的范围。具体地,可以基于目标块的帧内预测模式是非定向帧内预测模式还是定向帧内预测模式来推导nsst索引的范围。另外,基于目标块的帧内预测模式是类别a还是类别b中所包括的帧内预测模式,可以确定nsst索引的值的范围。这里,可以预先配置类别a中所包括的帧内预测模式和类别b中所包括的帧内预测模式。作为示例,类别a可以包括2号帧内预测模式、10号帧内预测模式、18号帧内预测模式、26号帧内预测模式、34号帧内预测模式、42号帧内预测模式、50号帧内预测模式、58号帧内预测模式和66号帧内预测模式,并且类别b可以包括除了类别a中所包括的帧内预测模式之外的帧内预测模式。
[0232]
另外,作为另一示例,基于目标块的核变换的信息,可以推导nsst索引的范围。例如,可以基于表示是否应用自适应多核变换(amt)的amt标志来推导nsst索引的范围。另外,可以基于指示水平变换核的amt水平标志和指示垂直变换核的amt垂直标志来推导nsst索引的范围。
[0233]
此外,在nsst索引的值为0的情况下,nsst索引可以指示不向目标块应用nsst。
[0234]
编码设备对变换系数的信息进行编码(步骤s1330)。变换系数的信息可以包括变换系数的大小、位置等的信息。另外,如上所述,变换系数的信息还可以包括nsst索引、变换索引信息和/或amt标志。可以以比特流格式输出包括变换系数的信息的图像信息。另外,图
像信息还可以包括nsst索引指示符和/或预测信息。预测信息是与预测处理相关的信息,并且可以包括预测模式信息和用于运动信息的信息(例如,对于应用帧间预测的情况)。
[0235]
输出的比特流可以通过存储介质或网络被转发到解码设备。
[0236]
图14示意性例示了根据本公开的执行视频编码方法的编码设备。图13中示出的方法可以由图14中示出的编码设备执行。具体地,例如,编码设备的加法器可以执行图13的步骤s1300,编码设备的变换器可以执行步骤s1310,并且编码设备的熵编码器可以执行步骤s1320至s1330。另外,尽管未示出,但可以通过编码设备的预测器执行推导预测样本的处理。
[0237]
图15示意性例示了根据本公开的由解码设备进行的视频解码方法。图15中示出的方法可以由图3中示出的解码设备执行。具体地,例如,图15的步骤s1500至s1510可以由解码设备的熵解码器执行,步骤s1520可以由解码设备的逆变换器执行,并且步骤s1530可以由解码设备的加法器执行。另外,尽管未示出,但可以通过解码设备的预测器执行推导预测样本的处理。
[0238]
解码设备从比特流中推导目标块的变换系数(步骤s1500)。解码设备可以对从比特流中接收到的目标块的变换系数的信息进行解码,并且推导目标块的变换系数。接收到的目标块的变换系数的信息可以被表示为残差信息。
[0239]
此外,目标块的变换系数可以包括目标块的亮度块的变换系数、目标块的色度cb块的变换系数和目标块的色度cr块的变换系数。
[0240]
解码设备推导目标块的不可分离二次变换(nsst)索引(步骤s1510)。
[0241]
作为示例,解码设备可以扫描目标块的变换系数当中的从第r+1变换系数至第n变换系数。在第r+1变换系数至第n变换系数中包括非零变换系数的情况下,解码设备可以将nsst索引的值推导为0。这里,n是目标块的左上目标区域的样本数目,并且r是简化系数,并且r可以小于n。n可以被推导为左上目标区域的宽度与高度的乘积。
[0242]
另外,在第r+1变换系数至第n变换系数中不包括非零变换系数的情况下,解码设备可以对nsst索引的语法元素进行解析并且推导nsst索引的值。即,在第r+1变换系数至第n变换系数中不包括非零变换系数的情况下,比特流可以包括nsst索引的语法元素,并且解码设备可以解析nsst索引的语法元素并且推导nsst索引的值。
[0243]
此外,解码设备可以确定它是否对应于nsst可用于执行的条件。在nsst可用于执行的情况下,解码设备可以推导目标块的nsst索引。例如,从比特流中,可以发信号通知包括目标块的目标ctu的nsst索引指示符,并且nsst索引指示符可以表示在目标ctu中是否启用nsst。在nsst索引指示符的值为1的情况下,解码设备可以推导目标块的nsst索引,并且在nsst索引指示符的值为0的情况下,解码设备可以不推导目标块的nsst索引。如在以上示例中描述的,nsst索引指示符可以被以ctu级别发信号通知,或者nsst索引指示符可以被以cu级别或其它更高级别发信号通知。
[0244]
另外,nsst索引可以被用于目标块的多个分量。
[0245]
例如,nsst索引可以被用于对目标块的亮度块的变换系数、目标块的色度cb块的变换系数和目标块的色度cr块的变换系数的逆变换。在这种情况下,可以扫描亮度块的第r+1变换系数至第n变换系数、色度cb块的第r+1变换系数至第n变换系数和色度cr块的第r+1变换系数至第n变换系数。在被扫描的变换系数中包括非零变换系数的情况下,nsst索引的
值可以被推导为0。在被扫描的变换系数中不包括非零变换系数的情况下,比特流可以包括nsst索引的语法元素,并且可以通过解析通过比特流接收的nsst索引的语法元素来推导nsst索引的值。
[0246]
作为另一示例,nsst索引可以被用于对目标块的亮度块的变换系数和目标块的色度cb块的变换系数的逆变换。在这种情况下,可以扫描亮度块的第r+1变换系数至第n变换系数和色度cb块的第r+1变换系数至第n变换系数。在被扫描的变换系数中包括非零变换系数的情况下,nsst索引可以被推导为0。在被扫描的变换系数中不包括非零变换系数的情况下,比特流可以包括nsst索引的语法元素,并且可以通过解析通过比特流接收的nsst索引的语法元素来推导nsst索引的值。
[0247]
作为另一示例,nsst索引可以被用于对目标块的亮度块的变换系数和目标块的色度cr块的变换系数的逆变换。在这种情况下,可以扫描亮度块的第r+1变换系数至第n变换系数和色度cr块的第r+1变换系数至第n变换系数。在被扫描的变换系数中包括非零变换系数的情况下,nsst索引可以被推导为0。在被扫描的变换系数中不包括非零变换系数的情况下,比特流可以包括nsst索引的语法元素,并且可以通过解析通过比特流接收的nsst索引的语法元素来推导nsst索引的值。
[0248]
此外,基于特定条件,可以推导nsst索引的范围。例如,基于特定条件,可以推导nsst索引的最大值,并且可以推导从0至推导出的最大值的范围。推导出的nsst索引的值可以被包括在该范围中。
[0249]
例如,基于目标块的大小,可以推导nsst索引的范围。具体地,可以预先配置最小宽度和最小高度。基于目标块的宽度和最小宽度、目标块的高度和最小高度,可以推导nsst索引的范围。另外,基于特定值或目标块的样本数目,可以推导nsst索引的范围。样本数目可以是目标块的宽度与高度相乘的值,并且可以预先配置特定值。
[0250]
另外,作为另一示例,基于目标块的类型,可以推导nsst索引的范围。具体地,可以基于目标块是非正方形块来推导nsst索引的范围。另外,可以基于目标块的宽度和高度之间的比率与特定值来推导nsst索引的范围。目标块的宽度与高度之间的比率可以是目标块的宽度和高度之间的长边除以短边的值,并且可以预先配置特定值。
[0251]
另外,作为另一示例,基于目标块的帧内预测模式,可以推导nsst索引的范围。具体地,可以基于目标块的帧内预测模式是非定向帧内预测模式还是定向帧内预测模式来推导nsst索引的范围。另外,基于目标块的帧内预测模式是类别a还是类别b中所包括的帧内预测模式,可以确定nsst索引的值的范围。这里,可以预先配置类别a中所包括的帧内预测模式和类别b中所包括的帧内预测模式。作为示例,类别a可以包括2号帧内预测模式、10号帧内预测模式、18号帧内预测模式、26号帧内预测模式、34号帧内预测模式、42号帧内预测模式、50号帧内预测模式、58号帧内预测模式和66号帧内预测模式,并且类别b可以包括除了类别a中所包括的帧内预测模式之外的帧内预测模式。
[0252]
另外,作为另一示例,基于目标块的核变换的信息,可以推导nsst索引的范围。例如,可以基于表示是否应用自适应多核变换(amt)的amt标志来推导nsst索引的范围。另外,可以基于指示水平变换核的amt水平标志和指示垂直变换核的amt垂直标志来推导nsst索引的范围。
[0253]
此外,在nsst索引的值为0的情况下,nsst索引可以指示不向目标块应用nsst。
[0254]
解码设备基于nsst索引对目标块的变换系数执行逆变换,并且推导目标块的残差样本(步骤s1520)。
[0255]
例如,在nsst索引的值为0的情况下,解码设备可以对目标块的变换系数执行核变换并且推导残差样本。
[0256]
具体地,解码设备可以从比特流中获得表示是否应用自适应多核变换(amt)的amt标志。
[0257]
在amt标志的值为0的情况下,解码设备可以将dct类型2推导为目标块的变换核,并且可以通过基于dct类型2对变换系数执行逆变换来推导残差样本。
[0258]
在amt标志的值为1的情况下,解码设备可以配置水平变换核的变换子集和垂直变换核的变换子集,基于从比特流中获得的变换索引信息和变换子集来推导水平变换核和垂直变换核,并且通过基于水平变换核和垂直变换核对变换系数执行逆变换来推导残差样本。这里,水平变换核的变换子集和垂直变换核的变换子集可以包括dct类型2、dct类型7、dct类型8和/或dct类型1作为候选。另外,可以生成变换索引信息,并且变换索引信息可以包括指示水平变换核的amt水平标志和指示垂直变换核的amt垂直标志。此外,变换核可以被称为变换类型或变换核。
[0259]
在nsst索引的值不为0的情况下,解码设备可以通过基于由nsst索引指示的简化变换矩阵对位于目标块的左上目标区域中的变换系数执行nsst来推导修改后的变换系数,并且通过对包括修改后的变换系数的目标块执行核变换来推导残差样本。简化变换矩阵的大小可以为r
×
n。n可以是左上目标区域的样本数目,并且r可以是简化系数。r可以小于n。
[0260]
可以如下地执行对目标块的核变换。解码设备可以从比特流中获得表示是否应用自适应多核变换(amt)的amt标志。在amt标志的值为0的情况下,解码设备可以将dct类型2推导为目标块的变换核,并且可以通过基于dct类型2对变换系数执行逆变换来推导残差样本。
[0261]
在amt标志的值为1的情况下,解码设备可以配置水平变换核的变换子集和垂直变换核的变换子集,基于从比特流中获得的变换索引信息和变换子集来推导水平变换核和垂直变换核,并且通过基于水平变换核和垂直变换核对包括修改后的变换系数的目标块执行逆变换来推导残差样本。这里,水平变换核的变换子集和垂直变换核的变换子集可以包括dct类型2、dct类型7、dct类型8和/或dct类型1作为候选。另外,可以生成变换索引信息,并且变换索引信息可以包括指示水平变换核的amt水平标志和指示垂直变换核的amt垂直标志。此外,变换核可以被称为变换类型或变换核。
[0262]
解码设备基于残差样本来生成重构图片(步骤s1530)。解码设备可以基于残差样本来生成重构图片。例如,解码设备可以基于通过比特流接收的预测信息对目标块执行帧间预测和帧内预测并推导预测样本,并且通过将预测样本与残差样本相加来生成重构图片。随后,视情况需要,为了改善主观/客观图像质量,解码设备可以向如上所述的重构图片应用诸如去块滤波和/或sao处理这样的环路内滤波处理。
[0263]
图16示意性例示了根据本公开的执行视频解码方法的解码设备。图15中示出的方法可以由图16中示出的解码设备执行。具体地,例如,图16中示出的解码设备的熵解码器可以执行图15的步骤s1500至s1510,图16中示出的解码设备的逆变换器可以执行图15的步骤s1520,并且图16的解码设备的加法器可以执行图15的步骤s1530。另外,尽管未示出,但可
以通过解码设备的预测器执行获得预测样本的处理。
[0264]
根据上述本公开,可以基于目标块的特定条件来推导nsst索引的范围,并且据此,可以减少用于nsst索引的比特量,因此,可以提高整体编码速率。
[0265]
另外,根据本公开,可以基于目标块的变换系数来确定nsst索引的语法元素的发送,并且据此,可以减少用于nsst索引的比特量,因此,可以提高整体编码速率。
[0266]
在上述实施方式中,基于具有一系列步骤或框的流程图描述了方法,但本公开不限于以上步骤或框的顺序。一些步骤或框可以与如上所述的其它步骤或框同时地或者以与其不同的顺序发生。另外,本领域的技术人员将理解,用以上流程图示出的步骤不是排他性的,在不影响本公开的范围的情况下,可以包括其它步骤或者可以删除流程图中的一个或更多个步骤。
[0267]
上述的根据本公开的方法可以以软件的形式来实现,并且根据本公开的编码设备和/或解码设备可以被包括在诸如tv、计算机、智能电话、机顶盒、显示装置等这样的执行图像处理的设备中。
[0268]
当用软件实现本公开的实施方式时,可以用执行上述功能的模块(进程、功能等)来实现上述方法。模块可以被存储在存储器中并且由处理器执行。存储器可以被设置成在处理器的内部或外部并且使用各种熟知的装置连接到处理器。处理器可以包括专用集成电路(asic)、其它芯片集、逻辑电路和/或数据处理器。存储器可以包括只读存储器(rom)、随机存取存储器(ram)、闪速存储器、存储卡、存储介质和/或其它存储装置。即,本公开中描述的实施方式可以通过在处理器、微处理器、控制器或芯片上实现来执行。例如,每幅图中示出的功能单元可以在计算机、处理器、微处理器、控制器或芯片上实现和执行。
[0269]
另外,应用本公开的实施方式的解码设备和编码设备可以被包括在多媒体广播发送/接收设备、移动通信终端、家庭影院视频设备、数字影院视频设备、监视相机、视频聊天设备、诸如视频通信这样的实时通信设备、移动流传输设备、存储介质、摄录机、vod服务提供设备、顶置(ott)视频设备、互联网流传输服务提供设备、三维(3d)视频设备、视频电话视频设备和医疗视频设备中,并且可以用于处理视频信号和数据信号。例如,ott视频设备可以包括游戏控制台、蓝光播放器、互联网访问tv、家庭影院系统、智能手机、平板pc、数字录像机(dvr)等。
[0270]
另外,应用本公开的处理方法可以以由计算机执行的程序的形式产生,并且可以被存储在计算机可读记录介质中。根据本公开的具有数据结构的多媒体数据也可以被存储在计算机可读记录介质中。计算机可读记录介质包括其中存储了计算机可读数据的所有种类的存储装置和分布式存储装置。计算机可读记录介质可以是例如蓝光盘(bd)、通用串行总线(usb)、rom、prom、eprom、eeprom、ram、cd-数据存储装置。另外,计算机可读记录介质包括以载波(例如,通过互联网进行传输)的形式实现的介质。另外,通过编码方法生成的比特流可以被存储在计算机可读记录介质中,或者可以通过有线或无线通信网络传输。另外,本公开的实施方式可以是利用程序代码的计算机程序产品,并且程序代码可以通过本公开的实施方式由计算机执行。程序代码可以被存储在可供计算机读取的载体上。
[0271]
另外,应用本公开的内容流传输系统可以包括编码服务器、流传输服务器、网络服务器、媒体存储器、用户装置和多媒体输入装置。
[0272]
编码服务器将从诸如智能电话、相机、摄录机等这样的多媒体输入装置输入的内
容压缩成数字数据以生成比特流,并且将该比特流发送到流传输服务器。作为另一示例,当诸如智能电话、相机、摄录机等这样的多媒体输入装置直接生成比特流时,可以省略编码服务器。可以通过应用本公开的编码方法或比特流生成方法来生成比特流,并且流传输服务器可以在发送或接收比特流的处理中临时存储比特流。
[0273]
流传输服务器基于通过网络服务器的用户请求将多媒体数据发送到用户装置,并且网络服务器用作将提供什么服务告知用户的介质。当用户向网络服务器请求所期望的服务时,网络服务器将其传送到流传输服务器,流传输服务器将多媒体数据发送到用户。这里,内容流传输系统可以包括单独的控制服务器,并且在这种情况下,控制服务器控制内容流传输系统中的装置间的命令/响应。
[0274]
流传输服务器可以从媒体存储器和/或编码服务器接收内容。例如,当从编码服务器接收到内容时,可以实时地接收内容。在这种情况下,为了提供平稳的流传输服务,流传输服务器可以将比特流存储预定时间。
[0275]
用户装置的示例包括移动电话、智能电话、膝上型计算机、数字广播终端、个人数字助理(pda)、便携式多媒体播放器(pmp)、导航装置、触屏pc、平板pc、超级本、可穿戴装置(例如,智能手表、智能眼镜、头戴式显示器)、数字tv、台式计算机、数字标牌等。内容流传输系统中的每个服务器都可以作为分布式服务器操作,并且在这种情况下,从每个服务器接收到的数据可以被以分布式方式处理。
技术特征:
1.一种由解码设备执行的视频解码方法,该视频解码方法包括以下步骤:从比特流获得预测模式信息和残差信息;基于所述预测模式信息来推导目标块的预测样本;基于所述残差信息来推导所述目标块的变换系数;基于对所述目标块的所述变换系数的逆变换来推导所述目标块的残差样本;以及基于所述预测样本和所述残差样本来生成重构图片,其中,推导所述目标块的所述变换系数包括推导所述目标块的不可分离变换索引,其中,所述逆变换是基于所述不可分离变换索引来执行的,其中,在所述不可分离变换索引的值等于0的情况下,通过对所述目标块的所述变换系数执行基于离散余弦变换dct或离散正弦变换dst的逆变换来推导所述残差样本,其中,在所述不可分离变换索引的值不等于0的情况下,通过使用变换矩阵对所述目标块的左上目标区域中包括的系数执行基于不可分离变换的逆变换并且通过对基于所述不可分离变换的所述逆变换的输出执行基于所述dct或所述dst的逆变换来推导所述残差样本,其中,基于变换集和所述不可分离变换索引来确定所述变换矩阵,其中,基于从所述预测模式信息推导的帧内预测模式来确定所述变换集,其中,所述变换矩阵的大小为r
×
n,其中,n是所述左上目标区域中包括的系数的数目,其中,r小于n,并且其中,r不同于n。2.一种由编码设备执行的视频编码方法,该视频编码方法包括以下步骤:推导目标块的预测模式;基于所述预测模式来推导所述目标块的预测样本;基于所述预测模式来生成预测模式信息;基于所述预测样本来推导所述目标块的残差样本;通过基于所述残差样本执行变换来推导所述目标块的变换系数;确定是否对所述变换系数的不可分离变换索引进行编码;以及对包括与所述变换系数相关的信息的残差信息和所述预测模式信息进行编码,其中,在所述不可分离变换索引的值等于0的情况下,通过对所述目标块的所述残差样本执行基于离散余弦变换dct或离散正弦变换dst的变换来推导所述变换系数,其中,在所述不可分离变换索引的值不等于0的情况下,通过对所述残差样本执行基于所述dct或所述dst的变换并且通过使用变换矩阵对所述目标块的左上目标区域中包括的系数执行基于不可分离变换的变换来推导所述变换系数,其中,基于变换集和所述不可分离变换索引来确定所述变换矩阵,其中,基于从所述预测模式信息推导的帧内预测模式来确定所述变换集,其中,所述变换矩阵的大小为r
×
n,其中,n是所述左上目标区域中包括的系数的数目,其中,r小于n,并且其中,r不同于n。
3.一种存储由视频编码方法生成的比特流的非暂态计算机可读存储介质,该视频编码方法包括以下步骤:推导目标块的预测模式;基于所述预测模式来推导所述目标块的预测样本;基于所述预测模式来生成预测模式信息;基于所述预测样本来推导所述目标块的残差样本;通过基于所述残差样本执行变换来推导所述目标块的变换系数;确定是否对所述变换系数的不可分离变换索引进行编码;以及对包括与所述变换系数相关的信息的残差信息和所述预测模式信息进行编码,其中,在所述不可分离变换索引的值等于0的情况下,通过对所述目标块的所述残差样本执行基于离散余弦变换dct或离散正弦变换dst的变换来推导所述变换系数,其中,在所述不可分离变换索引的值不等于0的情况下,通过对所述残差样本执行基于所述dct或所述dst的变换并且通过使用变换矩阵对所述目标块的左上目标区域中包括的系数执行基于不可分离变换的变换来推导所述变换系数,其中,基于变换集和所述不可分离变换索引来确定所述变换矩阵,其中,基于从所述预测模式信息推导的帧内预测模式来确定所述变换集,其中,所述变换矩阵的大小为r
×
n,其中,n是所述左上目标区域中包括的系数的数目,其中,r小于n,并且其中,r不同于n。4.一种用于视频的数据的发送方法,所述发送方法包括以下步骤:获得所述视频的比特流,其中,所述比特流是基于以下操作生成的:推导目标块的预测模式,基于所述预测模式来推导所述目标块的预测样本,基于所述预测模式来生成预测模式信息,基于所述预测样本来推导所述目标块的残差样本,通过基于所述残差样本执行变换来推导所述目标块的变换系数,确定是否对所述变换系数的不可分离变换索引进行编码,以及对包括与所述变换系数相关的信息的残差信息和所述预测模式信息进行编码;以及发送包括所述比特流的所述数据,其中,在所述不可分离变换索引的值等于0的情况下,通过对所述目标块的所述残差样本执行基于离散余弦变换dct或离散正弦变换dst的变换来推导所述变换系数,其中,在所述不可分离变换索引的值不等于0的情况下,通过对所述残差样本执行基于所述dct或所述dst的变换并且通过使用变换矩阵对所述目标块的左上目标区域中包括的系数执行基于不可分离变换的变换来推导所述变换系数,其中,基于变换集和所述不可分离变换索引来确定所述变换矩阵,其中,基于从所述预测模式信息推导的帧内预测模式来确定所述变换集,其中,所述变换矩阵的大小为r
×
n,其中,n是所述左上目标区域中包括的系数的数目,其中,r小于n,并且其中,r不同于n。
技术总结
视频编解码方法、存储介质和数据发送方法。根据本发明的一种借助解码装置执行的图像解码方法包括以下步骤:从比特流中推导目标块的变换系数;相对于所述目标块推导不可分离二次变换(NSST)索引;基于所述NSST索引相对于所述目标块的变换系数执行逆变换,从而推导所述目标块的残差样本;以及基于所述残差样本来生成重构图片。成重构图片。成重构图片。
技术研发人员:M
受保护的技术使用者:LG电子株式会社
技术研发日:2018.12.13
技术公布日:2023/10/15
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
航空商城 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/