用于图像信号编码和解码的方法及计算机可读记录介质与流程

文档序号:31469090发布日期:2022-09-09 22:34阅读:45来源:国知局
用于图像信号编码和解码的方法及计算机可读记录介质与流程
用于图像信号编码和解码的方法及计算机可读记录介质
1.本技术是原案申请号为201980014859.9的发明专利申请(国际申请号: pct/kr2019/011248,申请日:2019年9月2日,发明名称:用于处理图像信号的方 法和设备)的分案申请。
技术领域
2.本公开涉及用于处理图像信号的方法和设备,具体地,涉及一种通过执行变换来 对图像信号进行编码或解码的方法和设备。


背景技术:

3.压缩编码是指通过通信线路发送数字化的信息或将其以适当形式存储在存储介 质中的信号处理技术。诸如视频、图像和音频的媒体可以是压缩编码的对象,特别是, 对图像执行压缩编码的技术被称为视频图像压缩。
4.下一代视频内容将具有高空间分辨率、高帧频和场景表示的高维度的特征。为了 处理这种内容,存储器存储、存储器访问速率和处理能力将显著增加。
5.因此,有必要设计用于更高效地处理下一代视频内容的编码工具。具体地,高效 视频编码(hevc)标准之后的视频编解码器标准需要连同预测技术一起以更高准确 性将空域视频信号变换为频域信号的高效变换技术。


技术实现要素:

6.技术问题
7.本公开的实施方式提供一种对当前块应用适当变换的图像信号处理方法和设备。
8.本公开所解决的技术问题不限于上述技术问题,对于本领域技术人员而言,本文 中未描述的其它技术问题将从以下描述变得显而易见。
9.技术方案
10.根据本公开的实施方式的对图像信号进行解码的方法包括:确定不可分变换集索 引,该不可分变换集索引基于当前块的帧内预测模式从预定义的不可分变换集当中指 示用于当前块的不可分变换的不可分变换集;从不可分变换集索引所指示的不可分变 换集中包括的变换核当中,确定当前块的不可分变换索引所指示的变换核作为不可分 变换矩阵;以及将不可分变换矩阵应用于基于当前块的宽度和高度确定的当前块的左 上区域,其中,各个预定义的不可分变换集包括两个变换核。
11.此外,可向根据帧内预测模式的范围配置的四个变换集中的每一个指派不可分变 换集索引。
12.此外,如果帧内预测模式是0至1,则不可分变换集索引可被确定为第一索引值, 如果帧内预测模式是2至12或56至66,则不可分变换集索引可被确定为第二索引 值,如果帧内预测模式是13至23或45至55,则不可分变换集索引可被确定为第三 索引值,如果帧内预测模式是24至44,则不可分变换集索引可被确定为第四索引值。
13.此外,可为不可分变换集索引的各个索引值配置两个不可分变换核。
14.此外,当不可分变换索引不等于0并且当前块的宽度和高度大于或等于4时,可 应用不可分变换矩阵。
15.此外,该方法还可包括:针对应用了不可分变换的当前块应用水平方向变换和垂 直方向变换。
16.此外,可基于用于选择变换矩阵的多变换选择(mts)索引和应用于当前块的预 测模式来确定水平方向变换和垂直方向变换。
17.根据本公开的实施方式的用于对图像信号进行解码的设备包括:存储器,其用于 存储图像信号;以及处理器,其联接到存储器,其中,处理器被配置为:确定不可分 变换集索引,该不可分变换集索引基于当前块的帧内预测模式从预定义的不可分变换 集当中指示用于当前块的不可分变换的不可分变换集;从不可分变换集索引所指示的 不可分变换集中包括的变换核当中,确定当前块的不可分变换索引所指示的变换核作 为不可分变换矩阵;以及将不可分变换矩阵应用于基于当前块的宽度和高度确定的当 前块的左上区域,其中,各个预定义的不可分变换集包括两个变换核。
18.有益效果
19.根据本公开的实施方式,可通过确定并应用适合于当前块的变换来改进变换效率。
20.本公开的效果不限于上述效果,对于本领域技术人员而言,本文中未描述的其它 效果将从以下描述变得显而易见。
附图说明
21.附图作为说明书的一部分包括在本文中以用于帮助理解本公开,附图提供本公开 的实施方式,并且利用下面的描述来描述本公开的技术特征。
22.图1示出作为应用了本公开的实施方式的视频编码系统的示例。
23.图2是作为应用了本公开的实施方式的对视频/图像信号进行编码的编码设备的 示意性框图。
24.图3是作为应用了本公开的实施方式的对图像信号进行解码的解码设备的示意 性框图。
25.图4是应用了本公开的实施方式的内容串流系统的配置图。
26.图5a是用于描述根据qt(四叉树)的块分割结构的图,图5b是用于描述根据 bt(二叉树)的块分割结构的图,图5c是用于描述根据tt(三叉树)的块分割结 构的图,图5d是用于描述根据at(不对称树)的块分割结构的图。
27.图6和图7示出应用了本公开的实施方式,图6是编码设备中的变换和量化单元 以及逆量化和逆变换单元的示意性框图,图7是解码设备中的逆量化和逆变换单元的 示意性框图。
28.图8是示出执行自适应多变换(amt)的处理的流程图。
29.图9是示出执行amt的解码处理的流程图。
30.图10是示出根据本公开的实施方式的基于mts的逆变换处理的流程图。
31.图11是根据本公开的实施方式的基于mts执行解码的设备的框图。
32.图12和图13是示出作为应用了本公开的实施方式的应用二次变换的编码/解码 的流程图。
33.图14图15示出应用了本公开的实施方式,图14是用于描述givens旋转的图, 图15示出由givens旋转层和置换组成的4
×
4不可分二次变换(nsst)中的一个回 合的配置。
34.图16示出作为应用了本公开的实施方式的缩减二次变换(rst)的操作。
35.图17是示出作为应用了本公开的实施方式的以反向扫描顺序从第64系数到第 17系数执行反向扫描的处理的图。
36.图18是示出作为应用了本公开的实施方式的使用单变换指示符(sti)进行编码 的示例性流程图
37.图19是示出作为应用了本公开的实施方式的使用统一变换指示符(uti)进行 编码的示例性流程图。
38.图20是示出作为应用了本公开的实施方式的使用uti进行编码的示例性流程图。
39.图21是示出作为应用了本公开的实施方式的用于执行变换的编码的示例性流程 图。
40.图22是示出作为应用了本公开的实施方式的用于执行变换的解码的示例性流程 图。
41.图23是示出作为应用了本公开的实施方式的编码设备100中的变换单元120的 示例的详细框图。
42.图24是示出作为应用了本公开的实施方式的解码设备200中的逆变换单元230 的示例的详细框图。
43.图25是作为应用了本公开的实施方式的处理视频信号的流程图。
44.图26是作为应用了本公开的实施方式的用于处理视频信号的设备的示例性框图。
具体实施方式
45.参照附图详细描述本公开的一些实施方式。要连同附图一起公开的详细描述旨在 描述本公开的一些实施方式,而非旨在描述本公开的仅有实施方式。以下详细描述包 括更多细节,以便提供本公开的全面理解。然而,本领域技术人员将理解,本公开可 在没有这些更多细节的情况下实现。
46.在一些情况下,为了避免本公开的概念变得模糊,已知结构和装置被省略或者可 基于各个结构和装置的核心功能以框图形式示出。
47.尽管本公开中使用的大多数术语选自本领域中广泛使用的一般术语,但是一些术 语是申请人任意选择的,其含义根据需要在以下描述中详细说明。因此,本公开应该 以术语的预期含义来理解,而非其简单名称或含义。
48.提供以下描述中使用的特定术语以帮助理解本公开,并且这些特定术语的使用可 在不脱离本公开的技术精神的情况下以各种形式改变。例如,在各个编码处理中,信 号、数据、样本、画面、帧、块等可适当地替换和解释。
49.在本说明书中,“处理单元”是指执行诸如预测、变换和/或量化的编码/解码处理 的单元。此外,处理单元可被解释为包括用于亮度分量的单元和用于色度分量的单元 的含义。例如,处理单元可对应于块、编码单元(cu)、预测单元(pu)或变换单 元(tu)。
50.另外,处理单元可被解释为用于亮度分量的单元或用于色度分量的单元。例如, 处理单元可对应于用于亮度分量的编码树块(ctb)、编码块(cb)、pu或变换块(tb)。 此外,处理单元可对应于用于色度分量的ctb、cb、pu或tb。此外,处理单元不 限于此,可被解释为包括用于亮度分量的单元和用于色度分量的单元的含义。
51.另外,处理单元未必限于正方形块,可被配置成具有三个或更多个顶点的多边形 形状。
52.此外,在本说明书中,像素被称为样本。另外,使用样本可意指使用像素值等。
53.图1示出作为应用了本公开的实施方式的视频编码系统的示例。
54.视频编码系统可包括源装置10和接收装置20。源装置10可通过数字存储介质 或网络将编码的视频/图像信息或数据以文件或串流的形式发送到接收装置20。
55.源装置10可包括视频源11、编码设备12和发送器13。接收装置20可包括接收 器、解码设备22和渲染器23。编码设备12可被称为视频/图像编码设备,解码设备 20可被称为视频/图像解码设备。发送器13可包括在编码设备12中。接收器21可包 括在解码设备22中。渲染器23可包括显示器,并且该显示器可被配置成单独的装置 或外部组件。
56.视频源可通过视频/图像捕获、组合或生成处理来获取视频/图像。视频源可包括 视频/图像捕获装置和/或视频/图像生成装置。例如,视频/图像捕获装置可包括一个或 更多个相机、包括先前捕获的视频/图像的视频/图像档案等。例如,视频/图像生成装 置可包括计算机、平板、智能电话等,并且(电子地)生成视频/图像。例如,可通 过计算机等生成虚拟视频/图像,并且在这种情况下,视频/图像捕获处理可由相关数 据生成处理代替。
57.编码设备12可对输入的视频/图像进行编码。为了压缩和编码效率,编码设备12 可执行诸如预测、变换和量化的一系列过程。编码的数据(编码的视频/图像信息) 可按比特流的形式输出。
58.发送器13可通过数字存储介质或网络将编码的视频/图像信息或以比特流的形式 输出的数据以文件或串流的形式发送到接收装置接收器。数字存储介质可包括诸如usb、sd、cd、dvd、蓝光、hdd和ssd的各种存储介质。发送器13可包括用于 通过预定文件格式生成媒体文件的元件以及用于通过广播/通信网络传输的元件。接 收器21可提取比特流并将比特流发送到解码设备22。
59.解码设备22可通过执行与编码设备12的操作对应的诸如逆量化、逆变换和预测 的一系列过程来将视频/图像解码。
60.渲染器23可渲染解码的视频/图像。渲染的视频/图像可通过显示器显示。
61.图2是作为应用了本公开的实施方式的对视频/图像信号进行编码的编码设备的 示意性框图。编码设备100可对应于图1的编码设备12。
62.图像划分单元110可将输入到编码设备100的输入图像(或画面或帧)划分成一 个或更多个处理单元。例如,处理单元可被称为编码单元(cu)。在这种情况下,编 码单元可根据四叉树二叉树(qtbt)结构从编码树单元(ctu)或最大编码单元(lcu) 递归地分割。例如,可基于四叉树结构和/或二叉树结构将单个编码单元分割成具有 更深深度的多个编码单元。在这种情况下,可首先应用四叉树结构,然后可应用二叉 树结构。另选地,可首先应用二叉树结构。根据本公开的编码过程可基于不再分割的 最终编码单元来执行。在这种情况下,最大编码单元可直接用作最终编码单元,或者 编码单元可被递归地分割成具有更深深
可包括dct(离散余弦变换)、dst(离散正弦变换)、klt(karhunen-loeve变换)、 gbt(基于图的变换)和cnt(有条件非线性变换)中的至少一个。这里,gbt是 指从表示关于像素之间的关系的信息的图获得的变换。cnt是指基于使用所有先前 重构的像素生成的预测信号获得的变换。此外,变换处理可应用于具有相同大小的正 方形像素块,或者应用于具有可变大小的非正方形块。
69.量化单元130可量化变换系数并将量化的变换系数发送到熵编码单元190,并且 熵编码单元190可对量化的信号(关于量化的变换系数的信息)进行编码并将编码的 信号作为比特流输出。关于量化的变换系数的信息可被称为残差信息。量化单元130 可基于系数扫描顺序将块形式的量化的变换系数重排为一维矢量的形式,并且基于一 维矢量形式的量化的变换系数来生成关于量化的变换系数的信息。例如,熵编码单元 190可执行诸如指数golomb、cavlc(上下文自适应可变长度编码)和cabac(上 下文自适应二进制算术编码)的各种编码方法。熵编码单元190可对视频/图像重构 所需的信息(例如,句法元素的值等)与量化的变换系数一起或分开进行编码。编码 的信息(例如,视频/图像信息)可按比特流的形式发送或存储在网络抽象层(nal) 单元中。比特流可通过网络发送或存储在数字存储介质中。这里,网络可包括广播网 络和/或通信网络,并且数字存储介质可包括诸如usb、sd、cd、dvd、蓝光、hdd 和ssd的各种存储介质。发送从熵编码单元190输出的信号的发送器(未示出)和/ 或存储信号的存储装置(未示出)可被配置成编码设备100的内部/外部元件,并且 发送器可以是熵编码单元190的组件。
70.从量化单元130输出的量化的变换系数可用于生成预测信号。例如,可通过经由 环路中的逆量化单元140和逆变换单元150对量化的变换系数应用逆量化和逆变换来 重构残差信号。加法器155可将重构的残差信号与从帧间预测单元180或帧内预测单 元185输出的预测信号相加,使得可生成重构信号(重构画面、重构块或重构样本阵 列)。当如应用跳过模式的情况一样相对于处理目标块不存在残差时,预测块可用作 重构块。加法器155也可被称为重构单元或重构块生成器。所生成的重构信号可通过 将稍后描述的滤波用于当前画面中的下一处理目标块的帧内预测或者用于下一画面 的帧间预测。
71.滤波单元160可通过对重构信号应用滤波来改进主观/客观画面质量。例如,滤 波单元160可通过对重构画面应用各种滤波方法来生成修改的重构画面,并将修改的 重构画面发送到解码画面缓冲器170。例如,各种滤波方法可包括解块滤波、样本自 适应偏移、自适应环路滤波和双边滤波。滤波单元160可生成关于滤波的各种类型的 信息并将该信息发送到熵编码单元190,如稍后将在各个滤波方法的描述中描述的。 关于滤波的信息可在熵编码单元190中编码并以比特流的形式输出。
72.发送到解码画面缓冲器170的修改的重构画面可在帧间预测单元180中用作参考 画面。因此,编码设备可避免编码设备100与解码设备之间不匹配,并且当应用帧间 预测时改进编码效率。
73.解码画面缓冲器170可存储修改的重构画面,使得修改的重构画面在帧间预测单 元180中用作参考画面。
74.图3是作为应用了本公开的实施方式的执行视频信号的解码的解码设备的示意 性框图。图3的解码设备200对应于图1的解码设备22。
75.参照图3,解码设备200可包括熵解码单元210、逆量化单元220、逆变换单元 230、
加法器235、滤波单元240、解码画面缓冲器(dpb)250、帧间预测单元260 和帧内预测单元265。帧间预测单元260和帧内预测单元265可被统称为预测器。即, 预测器可包括帧间预测单元180和帧内预测单元185。逆量化单元220和逆变换单元 230可被统称为残差处理器。即,残差处理器可包括逆量化单元220和逆变换单元230。 上述熵解码单元210、逆量化单元220、逆变换单元230、加法器235、滤波单元240、 帧间预测单元260和帧内预测单元265可根据实施方式被配置成单个硬件组件(例如, 解码器或处理器)。此外,解码画面缓冲器250可根据实施方式被配置成单个硬件组 件(例如,存储器或数字存储介质)。
76.当输入包括视频/图像信息的比特流时,解码设备200可通过与图2的编码设备 100中处理视频/图像信息的处理对应的处理来重构图像。例如,解码设备200可使用 编码设备100中应用的处理单元来执行解码。因此,解码的处理单元可以是例如编码 单元,并且编码单元可根据四叉树结构和/或二叉树结构从编码树单元或最大编码单 元分割。另外,由解码设备200解码和输出的重构视频信号可通过再现设备再现。
77.解码设备200可接收以比特流的形式从图2的编码设备100输出的信号,并且所 接收的信号可通过熵解码单元210解码。例如,熵解码单元210可解析比特流以推导 图像重构(或画面重构)所需的信息(例如,视频/图像信息)。例如,熵解码单元210 可基于诸如指数golomb、cavlc或cabac的编码方法对比特流中的信息进行解码, 并输出图像重构所需的句法元素值和关于残差的变换系数的量化值。更具体地, cabac熵解码方法接收与比特流中的各个句法元素对应的二进制位(bin),使用解 码目标句法元素信息以及邻近和解码目标块的解码信息或者关于在前一级中解码的 符号/bin的信息来确定上下文模型,根据所确定的上下文模型来预测bin生成概率, 并执行bin的算术解码以生成与各个句法元素值对应的符号。这里,cabac熵解码 方法可使用关于在确定上下文模型之后为下一符号/bin上下文模型解码的符号/bin的 信息来更新上下文模型。熵解码单元210中解码的信息当中关于预测的信息可被提供 给预测器(帧间预测单元260和帧内预测单元265),并且熵解码单元210中已执行 熵解码的残差值(即,量化的变换系数)和相关参数信息可被输入到逆量化单元220。 此外,熵解码单元210中解码的信息当中关于滤波的信息可被提供给滤波单元240。 此外,接收从编码设备100输出的信号的接收器(未示出)可被另外配置成解码设备 200的内部/外部元件,或者接收器可以是熵解码单元210的组件。
78.逆量化单元220可对量化的变换系数进行逆量化以输出变换系数。逆量化单元 220可按二维块的形式重排量化的变换系数。在这种情况下,可在编码设备100中基 于系数扫描顺序执行重排。逆量化单元220可使用量化参数(例如,量化步长信息) 对量化的变换系数执行逆量化并获取变换系数。
79.逆变换单元230对变换系数进行逆变换以获得残差信号(残差块或残差样本阵 列)。
80.预测器可对当前块执行预测并相对于当前块生成包括预测样本的预测块。预测器 可基于从熵解码单元210输出的关于预测的信息来确定对当前块应用帧内预测还是 帧间预测,并确定特定帧内/帧间预测模式。
81.帧内预测单元265可参考当前画面中的样本来预测当前块。根据预测模式,参考 的样本可与当前块邻近或者可与当前块分离。在帧内预测中,预测模式可包括多个非 定向模式和多个定向模式。帧内预测265可使用应用于邻近块的预测模式来确定应用 于当前块
的预测模式。
82.帧间预测单元260可基于参考画面上的运动矢量所指定的参考块(参考样本阵列) 相对于当前块推导预测块。这里,为了减少在帧间预测模式下发送的运动信息的量, 可基于邻近块与当前块之间的运动信息的相关性以块、子块或样本为单位预测运动信 息。运动信息可包括运动矢量和参考画面索引。运动信息还可包括帧间预测方向(l0 预测、l1预测、bi预测等)信息。在帧间预测的情况下,邻近块可包括存在于当前 画面中的空间邻近块和存在于参考画面中的时间邻近块。例如,帧间预测单元260 可基于邻近块来形成运动信息候选列表,并基于所接收的候选选择信息来推导当前块 的运动矢量和/或参考画面索引。可基于各种预测模式执行帧间预测,并且关于预测 的信息可包括指示当前块的帧间预测模式的信息。
83.加法器235可通过将所获得的残差信号与从帧间预测单元260或帧内预测单元 265输出的预测信号(预测块或预测样本阵列)相加来生成重构信号(重构画面、重 构块或重构样本阵列)。当如应用跳过模式的情况一样相对于处理目标块不存在残差 时,预测块可用作重构块。
84.加法器235也可被称为重构单元或重构块生成器。所生成的重构信号可通过将稍 后描述的滤波用于当前画面中的下一处理目标块的帧内预测或用于下一画面的帧间 预测。
85.滤波单元240可通过对重构信号应用滤波来改进主观/客观画面质量。例如,滤 波单元240可通过对重构画面应用各种滤波方法来生成修改的重构画面并将修改的 重构画面发送到解码画面缓冲器250。例如,各种滤波方法可包括解块滤波、样本自 适应偏移(sao)、自适应环路滤波(alf)和双边滤波。
86.发送到解码画面缓冲器250的修改的重构画面可被帧间预测单元260用作参考画 面。
87.在本说明书中,编码设备100的滤波单元160、帧间预测单元180和帧内预测单 元185中描述的实施方式可同样或以对应方式应用于解码设备的滤波单元240、帧间 预测单元260和帧内预测单元265。
88.图4是作为应用了本公开的实施方式的内容串流系统的配置图。
89.应用了本公开的内容串流系统可包括编码服务器410、流服务器420、web服务 器430、媒体存储装置440、用户设备450和多媒体输入装置460。
90.编码服务器410用于将从诸如智能电话、相机和摄像机的多媒体输入装置输入的 内容压缩为数字数据以生成比特流并将该比特流发送到流服务器420。作为另一示例, 当诸如智能电话、相机和摄像机的多媒体输入装置460直接生成比特流时,编码服务 器410可被省略。
91.可通过应用了本公开的编码方法或比特流生成方法来生成比特流,并且流服务器420可在发送或接收比特流的处理中暂时存储比特流。
92.流服务器420基于用户请求通过web服务器430将多媒体数据发送到用户设备 450,并且web服务器430用作告知用户服务的介质。当用户向web服务器430发送 对期望的服务的请求时,web服务器430将请求传送至流服务器420并且流服务器 420将多媒体数据发送到用户。这里,内容串流系统可包括附加控制服务器,并且在 这种情况下,控制服务器
用于控制内容串流系统中的装置之间的命令/响应。
93.流服务器420可从媒体存储装置440和/或编码服务器410接收内容。例如,当 从编码服务器410接收内容时,流服务器420可实时接收内容。在这种情况下,流服 务器420可将比特流存储预定时间,以便提供平滑的串流服务。
94.用户设备450的示例可包括蜂窝电话、智能电话、膝上型计算机、数字广播终端、 pda(个人数字助理)、pmp(便携式多媒体播放器)、导航装置、石板pc、平板pc、 超极本、可穿戴装置(例如,智能手表、智能眼镜和hmd(头戴式显示器))、数字 tv、台式计算机、数字标牌等。
95.内容串流系统中的各个服务器可作为分布式服务器操作,并且在这种情况下,各 个服务器接收的数据可按分布式方式处理。
96.图5a是用于描述根据qt(四叉树)的块分割结构的图,图5b是用于描述根据 bt(二叉树)的块分割结构的图,图5c是用于描述根据tt(三叉树)的块分割结 构的图。
97.在视频编码中,可基于qt来分割单个块。此外,可使用qt进一步递归地分割 根据qt分割的单个子块。不再根据qt分割的叶块可使用bt、tt和at中的至少 一个来分割。bt可具有两种类型的分割:水平bt(2nxn、2nxn);和垂直bt(nx2n、 nx2n)。tt可具有两种类型的分割:水平tt(2nx1/2n、2nxn、2nx1/2n);和垂 直tt(1/2nx2n、nx2n、1/2nx2n)。at可具有四种类型的分割:水平上at(2nx1/2n、 2nx3/2n);水平下at(2nx3/2n、2nx1/2n);垂直左at(1/2nx2n、3/2nx2n);和 垂直右at(3/2nx2n、1/2nx2n)。各个类型的bt、tt和at可使用bt、tt和at 进一步递归地分割。
98.图5a示出qt分割的示例。块a可根据qt被分割成四个子块a0、a1、a2和 a3。子块a1可根据qt被进一步分割成四个子块b0、b1、b2和b3。
99.图5b示出bt分割的示例。不再根据qt分割的块b3可被分割成垂直bt(c0 和c1)或水平bt(d0和d1)。诸如块c0的各个子块可被进一步递归地分割成水平 bt(e0和e1)或垂直bt(f0和f1)。
100.图5c示出tt分割的示例。不再根据qt分割的块b3可被分割成垂直tt(c0、 c1和c2)或水平tt(d0、d1和d2)。诸如块c1的各个子块可被进一步递归地分 割成水平tt(e0、e1和e2)或垂直tt(f0、f1和f2)。
101.图5d示出at分割的示例。不再根据qt分割的块b3可被分割成垂直at(c0 和c1)或水平at(d0和d1)。诸如块c1的各个子块可被进一步递归地分割成水平 at(e0和e1)或垂直tt(f0和f1)。
102.此外,bt、tt和at分割可按组合方式使用。例如,根据bt分割的子块可根 据tt或at来分割。此外,根据tt分割的子块可根据bt或at来分割。根据at 分割的子块可根据bt或tt来分割。例如,各个子块可在水平bt分割之后被分割 成垂直bt,或者各个子块可在垂直bt分割之后被分割成水平bt。在这种情况下, 尽管分割顺序不同,但最终分割的形状相同。
103.此外,当块被分割时,可按各种方式定义块搜索顺序。通常,从左至右、从上至 下执行搜索,并且块搜索可意指确定各个分割的子块是否另外分割的顺序、当子块不 再分割时子块的编码顺序、或者当子块参考邻近其它块的信息时的搜索顺序。
104.可对根据如图5a至图5d所示的分割结构分割的处理单元(或变换块)执行变换, 具体地,可在行方向和列方向上执行分割,并且可应用变换矩阵。根据本公开的实施 方式,
可根据处理单元(或变换块)在行方向或列方向上的长度使用不同的变换类型。
105.对残差块应用变换以便尽可能将残差块去相关,将系数集中在低频上,并在块的 末尾生成零尾部。jem软件中的变换部包括两个主要功能(核心变换和二次变换)。 核心变换由应用于残差块的所有行和列的离散余弦变换(dct)和离散正弦变换(dst) 变换族组成。此外,可另外对核心变换的输出的左上角应用二次变换。类似地,可按 逆二次变换和逆核心变换的顺序应用逆变换。首先,可对系数块的左上角应用逆二次 变换。然后,对逆二次变换的输出的行和列应用逆核心变换。核心变换或逆变换可被 称为一次变换或逆变换。
106.图6和图7示出应用了本公开的实施方式,图6是编码设备100中的变换和量化 单元120/130和逆量化和逆变换单元140/150的示意性框图,图7是解码设备200中 的逆量化和逆变换单元220/230的示意性框图。
107.参照图6,变换和量化单元120/130可包括一次变换单元121、二次变换单元122 和量化单元130。逆量化和逆变换单元140/150可包括逆量化单元140、逆二次变换 单元151和逆一次变换单元152。
108.参照图7,逆量化和逆变换单元220/230可包括逆量化单元220、逆二次变换单 元231和逆一次变换单元232。
109.在本公开中,可通过多个阶段执行变换。例如,可如图6所示应用一次变换和二 次变换两个阶段,或者可根据算法使用超过两个变换阶段。这里,一次变换可被称为 核心变换。
110.一次变换单元121可对残差信号应用一次变换。这里,可在编码器和/或解码器 中作为表预定义一次变换。
111.二次变换单元122可对一次变换的信号应用二次变换。这里,可在编码器和/或 解码器中作为表预定义二次变换。
112.在实施方式中,可作为二次变换有条件地应用不可分二次变换(nsst)。例如, nsst仅应用于帧内预测块,并且可具有每预测模式组适用的变换集。
113.这里,可基于相对于预测方向的对称性设定预测模式组。例如,预测模式52和 预测模式16基于预测模式34(对角方向)对称,因此可生成一个组并且可对其应用 相同的变换集。这里,当应用预测模式52的变换时,由于预测模式52的变换集与预 测模式16相同,所以输入数据被转置,然后应用变换。
114.在平面模式和dc模式的情况下,相对于方向不存在对称性,因此它们具有各自 的变换集并且对应变换集可由两个变换组成。对于剩余定向模式,各个变换集可由三 个变换组成。
115.量化单元130可对二次变换的信号执行量化。
116.逆量化和逆变换单元140/150执行上述过程的逆过程,省略冗余描述。
117.图7是解码设备200中的逆量化和逆变换单元220/230的示意性框图。
118.参照图7,逆量化和逆变换单元220/230可包括逆量化单元220、逆二次变换单 元231和逆一次变换单元232。
119.逆量化单元220使用量化步长信息从熵解码的信号获得变换系数。
120.逆二次变换单元231对变换系数执行逆二次变换。这里,逆二次变换是指图6 中描述的二次变换的逆变换。
121.逆一次变换单元232对逆二次变换的信号(或块)执行逆一次变换并获得残差信 号。这里,逆一次变换是指图6中描述的一次变换的逆变换。
122.除了应用于hevc的dct-2和4
×
4dst-4之外,自适应多变换或显示多变换 (amt或emt)用于帧间和帧内编码的块的残差编码。除了hevc中的变换之外, 还使用选自dct/dst族的多个变换。jem中新引入的变换矩阵是dst-7、dct-8、 dst-1和dct-5。下表1示出所选dst/dct的基本函数。
123.[表1]
[0124][0125]
可对宽度和高度等于或小于64的cu应用emt,并且是否应用emt可由cu 级别标志控制。当cu级别标志为0时,对cu应用dct-2以便对残差进行编码。用 信号通知两个附加标志以便标识要用于应用emt的cu中的亮度编码块的水平和垂 直变换。如hevc中一样,在jem中可在变换跳过模式下对块的残差进行编码。对 于帧内残差编码,由于其它帧内预测模式的其它残差统计,使用依赖模式的变换候选 选择处理。如下表2中所示定义三个变换子集,并且如表3中所示基于帧内预测模式 选择变换子集。
[0126]
[表2]
[0127][0128]
与子集概念一起,初始使用cu级别emt_cu_flag为1的cu的帧内预测模式 基于表2确认变换子集。此外,对于水平emt_tu_horizontal_flag)和垂直 (emt_tu_vertical_flag)变换中的每一个,根据表3基于使用标志的显式信令选择 确认的变换子集中的两个变换候选之一。
[0129]
[表3]
[0130][0131]
[表4]
[0132][0133][0134]
表4示出作为应用了本公开的实施方式的应用自适应多变换(amt)的变换配 置组。
[0135]
参照表4,基于预测模式来确定变换配置组,并且组数可为6(g0至g5)。另外, g0至g4对应于应用帧内预测的情况,g5表示应用于根据帧间预测生成的残差块的 变换组合(或变换集或变换组合集)。
[0136]
一个变换组合可由应用于对应2d块的行的水平变换(或行变换)和应用于其列 的垂直变换(或列变换)组成。
[0137]
这里,各个变换配置组可具有四个变换组合候选。这四个变换组合候选可使用变 换组合索引0至3来选择或确定,并且变换组合索引可被编码并从编码器发送到解码 器。
[0138]
在实施方式中,通过帧内预测获得的残差数据(或残差信号)可根据帧内预测模 式具有不同的统计特性。因此,可如表4所示针对各个帧内预测应用正常余弦变换以 外的变换。在本说明书中,例如,变换类型可被表示为dct-type 2、dct-ii或dct-2。
[0139]
参照表4,示出使用35个帧内预测模式的情况和使用67个帧内预测模式的情况。 可针对各个帧内预测模式列中分类的各个变换配置组应用多个变换组合。例如,多个 变换组合可由四个组合(行方向上的变换和列方向上的变换)组成。作为特定示例, 可在行(水平)方向和列(垂直)方向二者上对组0应用dst-7和dct-5,因此可 总共应用四个组。
[0140]
由于可对各个帧内预测模式应用总共四个变换核组合,所以可每变换单元发送用 于从其中选择一个的变换组合索引。在本说明书中,变换组合索引可被称为amt索 引并且可由amt_idx表示。
[0141]
此外,除了表4所示的变换核之外,由于残差信号的特性,可生成dct-2对于 行方向和列方向二者最优的情况。因此,可通过为各个编码单元定义amt标志来自 适应地应用变换。这里,当amt标志为0时,dct-2可应用于行方向和列方向二者, 当amt标志为1时,可通过amt索引选择或确定四个组合之一。
[0142]
在实施方式中,如果当amt标志为0时对于一个变换单元,变换系数的数量少 于3,则不应用表4的变换核,并且dst-7可应用于行方向和列方向二者。
[0143]
在实施方式中,如果先前解析变换系数值,因此变换系数的数量少于3,则不解 析amt索引并且应用dst-7,因此附加信息的传输量可减少。
[0144]
在实施方式中,仅当变换单元的宽度和高度二者均等于或小于32时,才可应用 amt。
[0145]
在实施方式中,表4可通过离线训练预设。
[0146]
在实施方式中,amt索引可被定义为可指示水平变换和垂直变换的组合的一个 索引。另选地,amt索引可被定义为单独的水平变换索引和垂直变换索引。
[0147]
图8是示出执行自适应多变换(amt)的处理的流程图。
[0148]
尽管在本说明书中基本描述了关于在水平方向和垂直方向上单独应用的可分变 换的实施方式,但是变换组合可由不可分变换组成。
[0149]
另选地,变换组合可被配置成可分变换和不可分变换的混合。在这种情况下,当 使用可分变换时不需要行/列方式变换选择或水平/垂直方向上的选择,并且仅当选择 可分变换时才可使用表4的变换组合。
[0150]
另外,可应用本说明书中提出的方法,而不管一次变换和二次变换如何。即,方 法可应用于这两种变换。这里,一次变换可指初始变换残差块的变换,二次变换可指 对作为一次变换的结果生成的块应用变换的变换。
[0151]
首先,编码设备100可确定与当前块对应的变换组(s805)。这里,变换组可指 表4的变换组,但本公开不限于此,变换组可由其它变换组合组成。
[0152]
编码设备100可对变换组中的可用候选变换组合执行变换(s810)。作为变换的 结果,编码设备100可确定或选择具有最低率失真(rd)成本的变换组合(s815)。 编码设备100可对与所选变换组合对应的变换组合索引进行编码(s820)。
[0153]
图9是示出执行amt的解码处理的流程图。
[0154]
首先,解码设备200可确定当前块的变换组(s905)。解码设备200可解析变换 组合索引,并且该变换组合索引可对应于变换组中的多个变换组合之一(s910)。解 码设备200可推导与变换组合索引对应的变换组合(s915)。这里,尽管变换组合可 指表4所示的变换组合,但本公开不限于此。即,变换组合可被配置成其它变换组合。
[0155]
解码设备200可基于变换组合对当前块执行逆变换(s920)。当变换组合由行变 换和列变换组成时,可应用行变换,然后可应用列变换。然而,本公开不限于此,可 在应用列变换之后应用行变换,并且当变换组合由不可分变换组成时,不可分变换可 立即应用。
[0156]
在另一实施方式中,确定变换组的处理和解析变换组合索引的处理可同时执行。
[0157]
在本公开的实施方式中,上述术语“amt”可被重新定义为“多变换集或多变换选 择(mts)”。在通用视频编码(vvc)jvet-k1001-v4中总结了下面描述的mts 相关句法和语义。
[0158]
在本公开的实施方式中,两个mts候选可用于定向模式并且四个mts候选可用 于非定向模式如下。
[0159]
a)非定向模式(dc和平面)
[0160]
当mts索引为0时,dst-7用于水平和垂直变换。
[0161]
当mts索引为1时,dst-7用于垂直变换并且dct-8用于水平变换。
[0162]
当mts索引为2时,dct-8用于垂直变换并且dst-7用于水平变换。
[0163]
当mts索引为3时,dct-8用于水平和垂直变换。
[0164]
b)属于水平组模式的模式
[0165]
当mts索引为0时,dst-7用于水平和垂直变换。
[0166]
当mts索引为1时,dct-8用于垂直变换并且dst-7用于水平变换。
[0167]
c)属于垂直组模式的模式
[0168]
当mts索引为0时,dst-7用于水平和垂直变换。
[0169]
当mts索引为1时,dst-7用于垂直变换并且dct-8用于水平变换。
[0170]
这里(在使用67个模式的vtm 2.0中),水平组模式包括帧内预测模式2至34, 并且垂直模式包括帧内预测模式35至66。
[0171]
在本公开的另一实施方式中,三个mts候选用于所有帧内预测模式。
[0172]
当mts索引为0时,dst-7用于水平和垂直变换。
[0173]
当mts索引为1时,dst-7用于垂直变换并且dct-8用于水平变换。
[0174]
当mts索引为2时,dct-8用于垂直变换并且dst-7用于水平变换。
[0175]
在本公开的另一实施方式中,两个mts候选用于定向预测模式,并且三个mts 候选用于非定向模式。
[0176]
a)非定向模式(dc和平面)
[0177]
当mts索引为0时,dst-7用于水平和垂直变换。
[0178]
当mts索引为1时,dst-7用于垂直变换并且dct-8用于水平变换。
[0179]
当mts索引为2时,dct-8用于垂直变换并且dst-7用于水平变换。
[0180]
b)与水平组模式对应的预测模式
[0181]
当mts索引为0时,dst-7用于水平和垂直变换。
[0182]
当mts索引为1时,dct-8用于垂直变换并且dst-7用于水平变换。
[0183]
c)与垂直组模式对应的预测模式
[0184]
当mts索引为0时,dst-7用于水平和垂直变换。
[0185]
当mts索引为1时,dst-7用于垂直变换并且dct-8用于水平变换。
[0186]
在本公开的另一实施方式中,一个mts候选(例如,dst-7)可用于所有帧内 模式。在这种情况下,编码时间可减少40%,而编码损失很小。另外,一个标志可用 于在dct-2和dst-7之间指示。
[0187]
图10是示出根据本公开的实施方式的基于mts的逆变换处理的流程图。
[0188]
应用了本公开的解码设备200可获得sps_mts_intra_enabled_flag或 sps_mts_inter_enabled_flag(s1005)。这里,sps_mts_intra_enabled_flag指示帧内编码 单元的残差编码句法中是否存在cu_mts_flag。例如,如果sps_mts_intra_enabled_flag=0, 则帧内编码单元的残差编码句法中不存在cu_mts_flag,如果 sps_mts_intra_enabled_flag=1,则帧内编码单元的残差编码句法中存在cu_mts_flag。 另外,sps_mts_inter_enabled_flag指示帧间编码单元的残差编码句法中是否存在 cu_mts_flag。例如,如果sps_mts_inter_enabled_flag=0,则帧间编码单元的残差编码 句法中不存在cu_mts_flag,如果sps_mts_inter_enabled_flag=1,则帧间编码单元的残 差编码句法中存在cu_mts_flag。
[0189]
解码设备200可基于sps_mts_intra_enabled_flag或sps_mts_inter_enabled_flag获 得cu_mts_flag(s1010)。例如,当sps_mts_intra_enabled_flag=1或 sps_mts_inter_enabled_flag=1时,解码设备200可获得cu_mts_flag。这里,cu_mts_flag 指示是否对亮度变换块的残差样本应用mts。例如,如果cu_mts_flag=0,则不对亮 度变换块的残差样本应用mts,如果cu_mts_flag=1,则对亮度变换块的残差样本应 用mts。
[0190]
解码设备200可基于cu_mts_flag获得mts_idx(s1015)。例如,当cu_mts_flag=1 时,解码设备200可获得mts_idx。这里,mts_idx指示在水平方向和/或垂直方向上 对当前变换块的亮度残差样本应用哪一变换核。
[0191]
例如,本说明书中描述的实施方式中的至少一个可应用于mts_idx。
[0192]
解码设备200可推导与mts_idx对应的变换核(s1020)。例如,与mts_idx对应 的变换核可被单独地定义为水平变换和垂直变换。
[0193]
例如,当对当前块应用mts(即,cu_mts_flag=1)时,解码设备200可基于当 前块的帧内预测模式来配置mts候选。在这种情况下,图10的解码流程图还可包括 配置mts候选的步骤。然后,解码设备200可使用mts_idx从配置的mts候选当中 确定要应用于当前块的mts候选。
[0194]
作为另一示例,不同变换核可应用于水平变换和垂直变换。然而,本公开不限于 此,相同的变换核可应用于水平变换和垂直变换。
[0195]
解码设备200可基于变换核执行逆变换(s1025)。
[0196]
此外,在本说明书中,mts可被表示为amt或emt,并且mts_idx可被表示为 amt_idx、emt_idx、amt_tu_idx、emt_tu_idx等,但本公开不限于此。
[0197]
图11是根据本公开的实施方式的基于mts执行解码的设备的框图。
[0198]
应用了本公开的解码设备200可包括序列参数获取单元1105、mts标志获取单 元
1110、mts索引获取单元1115和变换核推导单元1120。
[0199]
序列参数获取单元1105可获取sps_mts_intra_enabled_flag或 sps_mts_inter_enabled_flag。这里,sps_mts_intra_enabled_flag指示帧内编码单元的残 差编码句法中是否存在cu_mts_flag,sps_mts_inter_enabled_flag指示帧间编码单元的 残差编码句法中是否存在cu_mts_flag。参照图10的描述可应用于特定示例。
[0200]
mts标志获取单元1110可基于sps_mts_intra_enabled_flag或 sps_mts_inter_enabled_flag获取cu_mts_flag。例如,当sps_mts_intra_enabled_flag=1 或sps_mts_inter_enabled_flag=1时,mts标志获取单元1110可获取cu_mts_flag。这 里,cu_mts_flag指示是否对亮度变换块的残差样本应用mts。参照图10的描述可应 用于特定示例。
[0201]
mts索引获取单元1115可基于cu_mts_flag获取mts_idx。例如,当cu_mts_flag=1 时,mts索引获取单元1115可获取mts_idx。这里,mts_idx指示在水平方向和/或垂 直方向上对当前变换块的亮度残差样本应用哪一变换核。参照图10的描述可应用于 特定示例。
[0202]
变换核推导单元1120可推导与mts_idx对应的变换核。然后,解码设备200可 基于所推导的变换核执行逆变换。
[0203]
引入依赖模式的不可分二次变换(mdnsst)。为了维持低复杂度,在一次变换 之后仅对低频系数应用mdnsst。此外,主要应用于低频系数的不可分变换可被称 为lfnst(低频不可分变换)。如果变换系数块的宽度(w)和高度(h)二者等于 或大于8,则对变换系数块的8
×
8左上区域应用8
×
8不可分二次变换。如果宽度或高 度小于8,则应用4
×
4不可分二次变换,并且可对变换系数块的左上min(8,w)
×
min(8,h) 执行4
×
4不可分二次变换。这里,min(a,b)是输出a和b之间的较小值的函数。此 外,w
×
h是块大小,w表示宽度,h表示高度。
[0204]
对于块大小4
×
4和8
×
8,可存在总共35
×
3不可分二次变换。这里,35是帧内预 测模式所指定的变换集的数量,3是各个预测模式的nsst候选的数量。从帧内预测 模式到变换集的映射可定义于下表5中。
[0205]
[表5]
[0206][0207]
为了指示变换集当中的变换核,可对nsst索引(nsst idx)进行编码。当未应 用nsst时,用信号通知等于0的nsst索引。
[0208]
图12和图13是示出作为应用了本公开的实施方式的应用二次变换的编码/解码 的流程图。
[0209]
在jem中,对于以变换跳过模式编码的块,不应用二次变换(mdnsst)。当对 于cu用信号通知mdnsst索引并且其不等于零时,mdnsst不用于cu中以变换 跳过模式编码的组件的块。图12和图13中示出包括系数编码和nsst索引编码的总 编码结构。cbf标志被编码以确定是否执行系数编码和nsst编码。在图12和图13 中,cbf标志可表示亮度块cbg标志(cbf_luma标志)或色度块cbf标志(cbf_cb标 志或cbf_cr标志)。当cbf标志为1时,变换系数被编码。
[0210]
参照图12,编码设备100检查cbf是否为1(s1205)。如果cbf为0,则编码 设备100不
执行变换系数编码和nsst索引编码。如果cbf为1,则编码设备100 对变换系数执行编码(s1210)。此外,编码设备100确定是否执行nsst索引编码 (s1215)并执行nsst索引编码(s1220)。当不应用nsst索引编码时,编码设备 100可结束变换过程而不应用nsst,并且执行后续步骤(例如,量化)。
[0211]
参照图13,解码设备200检查cbf是否为1(s1305)。如果cbf为0,则解码 设备200不执行变换系数解码和nsst索引解码。如果cbf为1,则解码设备200 对变换系数执行解码(s1310)。此外,解码设备200确定是否执行nsst索引编码 (s1315)并解析nsst索引(s1320)。
[0212]
可对8
×
8或4
×
4左上区域应用nsst,而非对已应用一次变换的整个块(在hevc 的情况下,tu)应用。例如,当块大小为8
×
8或更大时可应用8
×
8nsst,当块大小 小于8
×
8时可应用4
×
4nsst。此外,当应用8
×
8nsst时,可每4
×
4块应用4
×
4nsst。 8
×
8nsst和4
×
4nsst二者可根据上述变换集配置来确定,并且8
×
8nsst可具有 64条输入数据和64条输出数据,4
×
4nsst可具有16个输入和16个输出,因为它 们是不可分变换。
[0213]
图14和图15示出应用了本公开的实施方式,图14是用于描述givens旋转的图, 图15示出由givens旋转层和置换组成的4
×
4nsst中的一个回合的配置。
[0214]8×
8nsst和4
×
4nsst二者可被配置成givens旋转的层次组合。与一个givens 旋转对应的矩阵被表示为数学表达式1,矩阵乘积被表示为图14。
[0215]
[数学表达式1]
[0216][0217]
在图14中,根据givens旋转输出的tm和tn可如数学表达式2所表示计算。
[0218]
[数学表达式2]
[0219]
tm=xmcosθ-xnsinθ
[0220]
tn=xmsinθ+xncosθ
[0221]
由于givens旋转如图14所示旋转两条数据,所以需要32或8个givens旋转以 处理64(在8
×
8nsst的情况下)或16(在4
×
4nsst的情况下)条数据。因此,一 组32或8个givens旋转可形成givens旋转层。如图15所示,通过置换(混排)发 送一个givens旋转层的输出数据作为下一givens旋转层的输入数据。规则地定义如 图15所示置换的图案,在4
×
3nsst的情况下,四个givens旋转层和对应置换形成 一个回合。通过两个回合执行4
×
4nsst,通过四个回合执行8
×
8nsst。尽管不同的 回合使用相同的置换图案,但所应用的givens旋转角度不同。因此,需要存储构成 各个置换的所有givens旋转的角度数据。
[0222]
作为最后步骤,最后对通过givens旋转层输出的数据执行另一个置换,并且针 对各个置换单独地存储关于对应置换的信息。在正向nsst的末尾执行对应置换,并 且在逆nsst中初始应用对应反向置换。
[0223]
反向nsst反向地执行对正向nsst应用的givens旋转层和置换,并且通过对 各个given旋转角度取负值来执行旋转。
[0224]
rst(缩减二次变换)
[0225]
图16示出作为应用了本公开的实施方式的rst的操作。
[0226]
当表示变换的正交矩阵为n
×
n时,缩减变换(rt)仅留下n个变换基本矢量中 的r
个(r《n)。关于生成变换系数的正向rt的矩阵可由数学表达式3定义。
[0227]
[数学表达式3]
[0228][0229]
由于关于反向rt的矩阵是正向rt矩阵的转置矩阵,所以如图16的(a)和图16 的(b)所示图示化了正向rt和反向rt的应用。
[0230]
对已应用一次变换的变换系数块的8
×
8左上块应用的rt可被称为8
×
8rst。当 在数学表达式3中r被设定为16时,正向8
×
8rst具有16
×
64矩阵的形式,反向8
×
8 rst具有64
×
16矩阵的形式。此外,如表5所示的变换集配置可应用于8
×
8rst。即, 可如表5所示根据帧内预测模式基于变换集确定8
×
8rst。由于一个变换集根据帧内 预测模式由两个或三个变换组成,所以可选择包括不应用二次变换的情况的最多四个 变换之一(一个变换可对应于各向异性矩阵)。当索引0、1、2和3被指派给四个变 换时,可通过用信号通知与各个变换系数块的nsst索引对应的句法元素来指定要应 用的变换。例如,索引9可被指派给各向异性矩阵,即,不应用二次变换的情况。因 此,通过nsst索引为8
×
8左上块,可根据jem nsst指定8
×
8nsst并且可根据 rst配置指定8
×
8rst。
[0231]
图17是示出作为应用了本公开的实施方式的以反向扫描顺序从第64系数到第 17系数执行反向扫描的处理的图。
[0232]
当应用如数学表达式3表示的8
×
8rst时,生成16个有效变换系数,因此构成 8
×
8区域的64条输入数据缩减为16条输出数据,并且根据二维区域的角度,仅四分 之一区域由有效变换系数填充。因此,通过应用正向8
×
8rst而获得的16条输出数 据填充图17的左上区域。
[0233]
在图17中,4
×
4左上区域成为由有效变换系数填充的感兴趣区域(roi),剩余 区域是空的。空区域可填充0作为默认值。如果在图17的roi以外的区域中发现非 零有效变换系数,则还未明确地应用8
×
8rst,因此对于对应nsst索引,可省略对 应编码。另一方面,如果在图17的roi以外的区域中未发现非零有效变换系数(应 用8
×
8rst或者roi以外的区域填充0),则由于可能应用8
×
8rst,所以nsst索 引可被编码。这种有条件nsst索引编码需要检查是否存在非零变换系数,因此可在 残差编码处理之后执行。
[0234]
图18是示出作为应用了本公开的实施方式的使用单变换指示符进行编码的示例 性流程图。
[0235]
在本公开的实施方式中,引入了单变换指示符(sti)。当sti被启用(sti编码 ==1)时可应用单个变换,而非顺序地使用两个变换(一次变换和二次变换)。这里, 单个变换可以是任何类型的变换。例如,单个变换可以是可分变换或不可分变换。单 个变换可以是从不可分变换近似的变换。当sti已被启用时,可用信号通知单变换索 引(图18中的st_idx)。这里,单变换索引可指示可用变换候选当中要应用的变换。
[0236]
参照图18,编码设备100确定cbf是否为1(s1805)。当cbf为1时,编码设 备100确定是否应用sti编码(s1810)。当应用sti编码时,编码设备100对sti 索引sti_idx进行编码(s1845)并对变换系数执行编码(s1850)。当未应用sti编 码时,编码设备100对指示是否在
次变换索引。
[0253]
可选地,可使用uti的句法结构。uti可取决于cu(tu)大小。例如,较小的 cu(tu)可具有较窄范围内的uti索引。在示例中,如果满足预定义的条件(例如, 块大小小于预定义的阈值),则uti可仅指示核心变换索引。
[0254]
[表6]
[0255]
uti索引二值化(flc)核心变换idx二次变换idx0000000010000101200010023000110340010010500101116001101270011113
…………
311111153
[0256]
在另一示例中,当指示不使用二次变换(例如,二次变换索引==0或二次变换已 经预定)时,uti索引可被视为核心变换索引。以相同的方式,当核心变换索引被视 为已知时,uti索引可被视为二次变换索引。具体地,考虑帧内预测模式和块大小, 可使用预定核心变换。
[0257]
图20是示出作为应用了本公开的实施方式的使用uti进行编码的两个示例性流 程图。
[0258]
在另一示例中,变换编码结构可如图20所示使用uti索引编码。这里,uti索 引可比系数编码早或比系数编码晚编码。
[0259]
参照图20,编码设备100检查cbf是否为1(s2005)。当cbf为1时,编码设 备100对uti索引uti_idx进行编码(s2010)并对变换系数执行编码(s2015)。
[0260]
参照图20,编码设备100检查cbf是否为1(s2055)。当cbf为1时,编码设 备100对变换系数执行编码(s2060)并对uti索引uti_idx进行编码(s2065)。
[0261]
在本公开的另一实施方式中,引入了变换指示符的数据隐藏和隐式编码方法。这 里,变换指示符可包括st_idx、uti_idx、emt_cu_flag、emt_tu_flag、nsst_idx 以及可用于指示变换核的任何种类的变换相关索引。上述变换指示符可不用信号通知, 而是可在系数编码处理中插入对应信息(可系数编码处理期间提取)。系数编码处理 可包括以下部分。
[0262]-last_position_x,last_position_y
[0263]-组标志
[0264]-重要图
[0265]-greather_than_1标志
[0266]-greather_than_2标志
[0267]-剩余级别编码
[0268]-符号编码
[0269]
例如,可在上述系数编码处理中的一个或更多个中插入变换指示符信息。为了插 入变换指示符信息,可联合考虑以下内容。
[0270]
符号编码的图案
[0271]
剩余级别的绝对值
[0272]
greather_than_1标志的数量
[0273]
last_position_x和last_position_y的值
[0274]
可有条件地考虑上述数据隐藏方法。例如,数据隐藏方法可取决于非零系数的数 量。
[0275]
在另一示例中,nsst_idx和emt_idx可以是依赖的。例如,当emt_cu_flag 等于零(或一)时,nsst_idx可不为零。在这种情况下,可用信号通知nsst_idx-1, 而非nsst_idx。
[0276]
在本公开的另一实施方式中,如下表7所示引入基于帧内预测模式的nsst变换 集映射。尽管下面作为不可分变换的示例描述了nsst,但另一已知术语(例如, lfnst)可用于不可分变换。例如,nsst集和nsst索引可由lfnst集和lfnst 索引代替。此外,本说明书中描述的rst也可由lfnst代替,作为使用应用于变换 块的至少一个区域(4
×
4或8
×
8左上区域或8
×
8块中4
×
4右下区域以外的区域)的正 方形不可分变换矩阵中具有缩减输入长度和/或缩减输出长度的非正方形变换矩阵的 不可分变换(例如,lfnst)的示例。
[0277]
[表7]
[0278][0279]
nsst集数量可如表8所示从0至3重排。
[0280]
[表8]
[0281][0282]
在nsst变换集中,仅使用四个变换集(而非35个),以使得所需存储器空间可 减小。
[0283]
另外,每变换集的各种数量的变换核可如下使用。
[0284]
情况a:使用每个变换集两个可用变换核,以使得nsst索引范围从0至2。例 如,当nsst索引为0时,可不应用二次变换(基于解码器的逆二次变换)。当nsst 索引为1或2时,可应用二次变换。变换集可包括可映射索引1或2的两个变换核。
[0285]
[表9]
[0286][0287]
参照表9,两个变换核用于不可分变换(nsst或lfnst)集0至3中的每一个。
[0288]
情况b:两个可用变换核用于变换集0,一个用于其它。变换集0(dc和平面) 的可用nsst索引为0至2。然而,其它模式(变换集1、2和3)的nsst索引为0 至1。
[0289]
[表10]
[0290][0291]
参照表10,为与索引0对应的不可分变换(nsst)集设定两个不可分变换核, 为与索引1、2和3对应的不可分变换(nsst)集中的每一个设定一个不可分变换核。
[0292]
情况c:每变换核使用一个变换核,并且nsst索引范围为0至1。
[0293]
[表11]
[0294][0295]
图21是示出作为应用了本公开的实施方式的用于执行变换的编码的示例性流程 图。
[0296]
编码设备100对残差块执行一次变换(s2105)。一次变换可被称为核心变换。作 为实施方式,编码设备100可使用上述mts执行一次变换。此外,编码设备100可 向解码设备200发送指示mts候选当中的特定mts的mts索引。这里,可基于当 前块的帧内预测模式来配置mts候选。
[0297]
编码设备100确定是否应用二次变换(s2110)。例如,编码设备100可基于一次 变换的残差块的变换系数来确定是否应用二次变换。例如,二次变换可以是nsst或 rst。
[0298]
编码设备100确定二次变换(s2115)。这里,编码设备100可基于根据帧内预测 模式指定的nsst(或rst)变换集来确定二次变换。
[0299]
例如,编码设备100可在步骤s2115之前基于当前块的大小来确定将应用二次变 换的区域。
[0300]
编码设备100执行在步骤s2115中确定的二次变换(s2120)。
[0301]
图22是示出作为应用了本公开的实施方式的用于执行变换的解码的示例性流程 图。
[0302]
解码设备200确定是否应用逆二次变换(s2205)。例如,逆二次变换可以是nsst 或rst。例如,解码设备200可基于从编码设备100接收的二次变换标志来确定是否 应用逆二次变换。
[0303]
解码设备200确定逆二次变换(s2210)。这里,解码设备200可基于根据上述帧 内
预测模式指定的nsst(或rst)变换集来确定应用于当前块的逆二次变换。
[0304]
此外,例如,解码设备200可在步骤s2210之前基于当前块的大小来确定将应用 逆二次变换的区域。
[0305]
解码设备200使用在步骤s2210中确定的逆二次变换对逆量化的残差块执行逆二 次变换(s2215)。
[0306]
解码设备对逆二次变换的残差块执行逆一次变换(s2220)。逆一次变换可被称为 逆核心变换。在实施方式中,解码设备200可使用上述mts执行逆一次变换。此外, 作为示例,解码设备200可在步骤s2220之前确定是否对当前块应用mts。在这种 情况下,图22的解码流程图还可包括确定是否应用mts的步骤。
[0307]
例如,当对当前块应用mts(即,cu_mts_flag=1)时,解码设备200可基于当 前块的帧内预测模式来配置mts候选。在这种情况下,图22的解码流程图还可包括 配置mts候选的步骤。另外,解码设备200可使用指示所配置的mts候选当中的特 定mts的mtx_idx来确定应用于当前块的逆一次变换。
[0308]
图23是作为应用了本公开的实施方式的编码设备100中的变换单元120的详细 框图。
[0309]
应用了本公开的实施方式的编码设备100可包括一次变换单元2310、二次变换 应用确定单元2320、二次变换确定单元2330和二次变换单元2340。
[0310]
一次变换单元2310可对残差块执行一次变换。一次变换可被称为核心变换。作 为实施方式,一次变换单元2310可使用上述mts执行一次变换。此外,一次变换单 元2310可向解码设备200发送指示mts候选当中的特定mts的mts索引。这里, 可基于当前块的帧内预测模式来配置mts候选。
[0311]
二次变换应用确定单元2320可确定是否应用二次变换。例如,二次变换应用确 定单元2320可基于一次变换的残差块的变换系数来确定是否应用二次变换。例如, 二次变换可以是nsst或rst。
[0312]
二次变换确定单元2330确定二次变换。这里,二次变换确定单元2330可如上所 述基于根据帧内预测模式指定的nsst(或rst)变换集来确定二次变换。
[0313]
例如,二次变换确定单元2330可基于当前块的大小来确定将应用二次变换的区 域。
[0314]
二次变换单元2340可执行所确定的二次变换。
[0315]
图24是作为应用了本公开的实施方式的解码设备200中的逆变换单元230的详 细框图。
[0316]
应用了本公开的解码设备200包括逆二次变换应用确定单元2410、逆二次变换 确定单元2420、逆二次变换单元2430和逆一次变换单元2440。
[0317]
逆二次变换应用确定单元2410可确定是否应用逆二次变换。例如,逆二次变换 可以是nsst或rst。例如,逆二次变换应用确定单元2410可基于从编码设备100 接收的二次变换标志来确定是否应用逆二次变换。
[0318]
逆二次变换确定单元2420可确定逆二次变换。这里,逆二次变换确定单元2420 可基于根据帧内预测模式指定的nsst(或rst)变换集来确定应用于当前块的逆二 次变换。
[0319]
此外,例如,逆二次变换确定单元2420可基于当前块的大小来确定将应用逆二 次
变换的区域。
[0320]
逆二次变换单元2430可使用所确定的逆二次变换对逆量化的残差块执行逆二次 变换。
[0321]
逆一次变换单元2440可对逆二次变换的残差块执行逆一次变换。在实施方式中, 逆一次变换单元2440可使用上述mts来执行逆一次变换。此外,作为示例,逆一次 变换单元2440可确定是否对当前块应用的mts。
[0322]
例如,当对当前块应用mts(即,cu_mts_flag=1)时,逆一次变换单元2440可 基于当前块的帧内预测模式来配置mts候选。另外,逆一次变换单元2440可使用指 示所配置的mts候选当中的特定mts的mtx_idx来确定应用于当前块的逆一次变换。
[0323]
图25是作为应用了本公开的实施方式的处理视频信号的流程图。图25的流程图 的处理可由解码设备200或逆变换单元230执行。
[0324]
首先,解码设备200可基于不可分变换索引以及当前块的宽度和高度来确定是否 对当前块应用反向不可分变换。例如,如果不可分变换索引不为0并且当前块的宽度 和高度等于或大于4,则解码设备200可确定应用不可分变换。如果不可分变换索引 为0或者当前块的宽度或高度小于4,则解码设备200可省略反向不可分变换并执行 逆一次变换。
[0325]
在步骤s2505中,解码设备200确定指示基于当前块的帧内预测模式预定义的不 可分变换集当中用于当前块的不可分变换的不可分变换集的不可分变换集索引。可设 定不可分变换集索引,使得其被分配给根据帧内预测模式的范围配置的四个变换集中 的每一个,如表7或表8所示。即,当帧内预测模式为0和1时,不可分变换集索引 可被确定为第一索引值,当帧内预测模式为2至12或56至66时确定为第二索引值, 当帧内预测模式为13至23或45至55时确定为第三索引值,当帧内预测模式为24 至44时确定为第四索引值,如表7或表8所示。
[0326]
这里,各个预定义的不可分变换集可包括两个变换核,如表9所示。此外,各个 预定义的不可分变换集可包括一个或两个变换核,如表10或表11所示。
[0327]
在步骤s2510中,解码设备200从不可分变换集索引所指示的不可分变换集中所 包括的变换核当中确定当前块的不可分变换索引所指示的变换核作为不可分变换矩 阵。例如,可为各个不可分变换集索引值配置两个不可分变换核,并且解码设备200 可在与不可分变换集索引对应的两个变换矩阵核之间基于不可分变换索引所指示的 变换核来确定不可分变换矩阵。
[0328]
在步骤s2515中,解码设备200将不可分变换矩阵应用于基于当前块的宽度和高 度确定的当前块的左上区域。例如,如果当前块的宽度和高度二者等于或大于8,则 可对当前块的8
×
8左上区域应用不可分变换,如果当前块的宽度或高度小于8,则可 对当前块的4
×
4区域应用不可分变换。响应于将应用不可分变换的区域,不可分变换 的大小也可被设定为8
×
8或4
×
4。
[0329]
此外,解码设备200可对已应用不可分变换的当前块应用水平变换和垂直变换。 这里,可基于用于选择预测模式的mts索引和应用于当前块的变换矩阵来确定水平 变换和垂直变换。
[0330]
图26是作为应用了本公开的实施方式的用于处理视频信号的设备的示例性框图。 图26所示的视频信号处理设备可对应于图1的编码设备或图2的解码设备。
[0331]
用于处理视频信号的视频处理设备2600包括存储视频信号的存储器2620以及与 存储器组合并处理视频信号的处理器2610。
[0332]
根据本公开的实施方式的处理器2610可被配置成用于视频信号处理的至少一个 处理电路,并且可通过执行对视频信号进行编码或解码的命令来处理视频信号。即, 处理器2610可通过执行上述编码或解码方法来对原始视频数据进行编码或对编码的 视频信号进行解码。
[0333]
此外,应用了本公开的处理方法可按照由计算机执行并存储在计算机可读记录介 质中的程序的形式制造。具有根据本公开的数据结构的多媒体数据也可存储在计算机 可读记录介质中。计算机可读记录介质包括存储有可由计算机读取的数据的所有类型 的存储装置和分布式存储装置。例如,计算机可读记录介质可包括蓝光盘(bd)、通 用串行总线(usb)、rom、prom、eeprom、ram、cd-rom、磁带、软盘和光 学数据存储装置。此外,计算机可读记录介质包括以载波的形式实现的介质(例如, 通过互联网的传输)。此外,通过该编码方法生成的比特流可被存储在计算机可读记 录介质中,或者可经由有线/无线通信网络发送。
[0334]
此外,本公开的实施方式可根据程序代码被实现为计算机程序产品,并且程序代 码可根据本公开的实施方式在计算机中执行。程序代码可被存储在计算机可读载体上。
[0335]
如上所述,本公开的实施方式可在处理器、微处理器、控制器或芯片上实现和执 行。例如,各个图中所示的功能单元可在计算机、处理器、微处理器、控制器或芯片 上实现和执行。
[0336]
此外,应用了本公开的解码器和编码器可包括在多媒体广播发送/接收设备、移 动通信终端、家庭影院视频系统、数字影院视频系统、监视相机、视频会话设备、实 时通信设备(例如,视频通信)、移动流装置、存储介质、摄像机、视频点播(vod) 服务提供设备、机顶盒视频(ott)视频系统、互联网串流服务提供设备、3d视频 系统、视频电话视频系统、医疗视频系统等中,并且可用于处理视频信号或数据信号。 例如,ott视频系统可包括游戏机、蓝光播放器、互联网访问tv、家庭影院系统、 智能电话、平板pc、数字视频记录仪(dvr)等。
[0337]
此外,应用了本公开的处理方法可按照由计算机执行并存储在计算机可读记录介 质中的程序的形式制造。具有根据本公开的数据结构的多媒体数据也可被存储在计算 机可读记录介质中。计算机可读记录介质包括存储有可由计算机读取的数据的所有类 型的存储装置和分布式存储装置。例如,计算机可读记录介质可包括蓝光盘(bd)、 通用串行总线(usb)、rom、prom、eeprom、ram、cd-rom、磁带、软盘和 光学数据存储装置。此外,计算机可读记录介质包括以载波的形式实现的介质(例如, 通过互联网的传输)。此外,通过该编码方法生成的比特流可被存储在计算机可读记 录介质中,或者可经由有线/无线通信网络发送。
[0338]
此外,本公开的实施方式可根据程序代码被实现为计算机程序产品,并且程序代 码可根据本公开的实施方式在计算机中执行。程序代码可被存储在计算机可读载体上。
[0339]
上述实施方式是本公开的元素和特征的组合。除非另外提及,否则元素或特征可 被视为选择性的。各个元素或特征可在不与其它元素或特征组合的情况下实践。此外, 可通过将部分元素和/或特征组合来构造本公开的实施方式。本公开的实施方式中描 述的操
作顺序可重排。任一个实施方式的一些构造可包括在另一实施方式中,并且可 由另一实施方式的对应构造代替。对于本领域技术人员而言显而易见的是,所附权利 要求中未明确彼此引用的权利要求可作为示例性实施方式组合呈现,或者在提交申请 之后通过后续修改作为新权利要求包括。
[0340]
本公开的实现方式可通过例如硬件、固件、软件或其组合的各种手段来实现。在 硬件配置中,根据本公开的实现方式的方法可由一个或更多个专用集成电路(asic)、 数字信号处理器(dsp)、数字信号处理装置(dspd)、可编程逻辑装置(pld)、现 场可编程门阵列(fpga)、处理器、控制器、微控制器、微处理器等实现。
[0341]
在固件或软件配置中,本公开的实现方式可按模块、过程、功能等的形式实现。 软件代码可被存储在存储器中并由处理器执行。存储器可位于处理器的内部或外部并 且可经由各种已知手段向处理器发送数据以及从处理器接收数据。
[0342]
本领域技术人员将理解,在不脱离本公开的精神和基本特性的情况下,本公开可 按本文所阐述的那些方式以外的其它特定方式实现。因此,上述实施方式因此在所有 方面均被解释为例示性的而非限制性的。本公开的范围应该由所附权利要求及其法律 上的等同物,而非由以上描述确定,并且落入所附权利要求的含义和等同范围内的所 有改变旨在被涵盖于其中。
[0343]
工业实用性
[0344]
尽管出于例示性目的描述了本公开的示例性方面,但是本领域技术人员将理解, 在不脱离本公开的基本特性的情况下,可进行各种修改、添加和替换。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1