一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于变换的视频编译方法及其装置与流程

2022-04-14 04:04:42 来源:中国专利 TAG:


1.本公开通常涉及图像编译技术,并且更具体地,涉及一种图像编译系统中基于变换的图像编译方法及其设备。


背景技术:

2.近来在各种领域中对诸如超高清(hud)图像和4k或8k或更大视频这样的高分辨率且高质量的图像和视频的需求日益增加。随着图像和视频数据变成高分辨率和高质量,与现有图像和视频数据相比,相对发送的信息量或位数增加。因此,如果使用诸如现有有线或无线宽带线这样的介质来传输图像数据或者使用现有存储介质来存储图像和视频数据,则传输成本和存储成本增加。
3.此外,近来对诸如虚拟现实(vr)、人工现实(ar)内容或全息图这样的沉浸式媒体的兴趣和需求日益增加。诸如游戏图像这样的图像特性与真实图像的图像特性不同的图像和视频的广播日益增加。
4.因此,为了有效地压缩并传输或存储并回放具有这样的各种特性的高分辨率且高质量的图像和视频的信息,需要高效的图像和视频压缩技术。


技术实现要素:

5.技术问题
6.本公开的技术方面是为了提供一种用于提高图像编译效率的方法和设备。
7.本公开的另一技术方面是为了提供一种用于提高残差编译效率的方法和设备。
8.本公开的再一技术方面是为了提供一种用于通过基于高频归零化(high-frequency zeroing)对变换系数进行编译来提高残差编译效率的方法和设备。
9.本公开的又一技术方面是为了提供一种用于提高在其中基于多重变换选择来执行高频归零化的图像编译的效率的方法和设备。
10.本公开的再一技术方面是为了提供一种用于对图像进行编译的方法和设备,该方法和设备能够减少在执行高频归零化时的数据丢失。
11.本公开的又一技术方面是为了提供一种用于在基于高频归零化对用于当前块(或当前变换块)的变换系数进行编译时基于当前块大小来导出用于最后有效变换系数位置信息的上下文模型的方法和设备。
12.技术方案
13.根据本公开的实施方式,提供了一种由解码设备执行的图像解码方法。该方法包括:基于残差信息来导出用于当前块的变换系数,其中变换系数的导出包括导出指示在当前块中可以存在有效变换系数的区域的归零块(zero-out block),并且基于指示使用多个变换核的多重变换选择(mts)是否适用于当前块的标志信息来导出该归零块。
14.在mts被应用时,可以将归零块的宽度或高度设置为16,并且在mts不被应用时,可以将归零块的宽度或高度设置为32或更小。
15.当指示用于对分区编译单元执行变换的子块变换是否被应用于当前块的标志信息是1时,归零块的宽度或高度可以是16。
16.当分区子块的高度小于64并且子块的宽度是32时,可以将归零块的宽度设置为16。
17.当分区子块的宽度小于64并且子块的高度是32时,可以将归零块的高度设置为16。
18.可以基于当前块的分区方向和对其应用变换的子块的位置来导出变换核。
19.残差信息可以包括最后有效系数前缀信息,并且可以基于归零块的大小来导出最后有效系数前缀信息的最大值。
20.根据本公开的另一实施方式,提供了一种由编码设备执行的图像编码方法。该方法包括:导出用于当前块的残差样本并且基于用于当前块的残差样本来导出变换系数,其中变换系数的导出可以包括基于使用多个变换核的多重变换选择(mts)是否被应用于当前块来导出指示在当前块中可以存在有效变换系数的区域的归零块。
21.根据本公开的再一实施方式,可以提供一种数字存储介质,该数字存储介质存储包括编码图像信息和根据由编码设备执行的图像编码方法生成的比特流的图像数据。
22.根据本公开的又一实施方式,可以提供一种数字存储介质,该数字存储介质存储包括编码图像信息和比特流的图像数据以使解码设备执行图像解码方法。
23.有益效果
24.根据本公开,可以提高整体图像/视频压缩效率。
25.根据本公开,可以提高残差编译的效率。
26.根据本公开,可以通过基于高频归零化对变换系数进行编译来提高残差编译的效率。
27.根据本公开,可以提高在其中基于多重变换选择来执行高频归零化的图像编译的效率。
28.根据本公开,可以减少在执行高频归零化时的数据丢失,从而提高图像编译的效率。
29.能够通过本公开的特定示例获得的效果不限于上面列举的效果。例如,可以存在相关领域的普通技术人员能够理解或从本公开中导出的各种技术效果。因此,本公开的特定效果不限于在本公开中显式地描述的效果,并且可以包括能够从本公开的技术特征理解或导出的各种效果。
附图说明
30.图1示意性地图示本公开适用于的视频/图像编译系统的示例。
31.图2是示意性地图示本公开适用于的视频/图像编码设备的配置的图。
32.图3是示意性地图示本公开适用于的视频/图像解码设备的配置的图。
33.图4示意性地图示根据本公开的实施方式的多重变换技术。
34.图5图示根据本公开的示例的应用于子块变换的mts。
35.图6图示根据本公开的示例的应用于子块变换的32点归零。
36.图7是图示根据本公开的实施方式的视频解码设备的操作的流程图。
37.图8是图示根据本公开的实施方式的用于由视频解码设备导出变换系数的过程的流程图。
38.图9是图示根据本公开的实施方式的视频编码设备的操作的流程图。
39.图10是图示根据本公开的实施方式的用于由视频编码设备对变换系数和信息进行编码的过程的流程图。
40.图11例示了应用本公开的内容流传输系统的结构。
具体实施方式
41.该文件能够以各种方式修改并且可以具有各种实施方式,并且特定的实施方式将在附图中例示并详细地描述。然而,这并不旨在将该文件限制于特定实施方式。本说明书中通常使用的术语用于描述特定的实施方式,而不是用来限制该文件的技术精神。除非在上下文中另外明确表示,否则单数的表述包括复数的表述。该说明书中的诸如“包括”或“具有”这样的术语应该被理解为指示存在本说明书中描述的特性、数字、步骤、操作、元件、组件或其组合,而没有排除存在或添加一个或更多个特性、数字、步骤、操作、元件、组件或其组合的可能性。
42.此外,为了便于与不同特征功能相关的描述,独立地例示了该文件中描述的附图中的元件。这并不意指各个元件被实现为单独的硬件或单独的软件。例如,至少两个元件可以被组合,以形成单个元件,或者单个元件可以被划分成多个元件。其中元件被组合和/或分开的实施方式也被包括在该文件的权利范围内,除非它偏离了该文件的实质。
43.下文中,参照附图更具体地描述该文件的优选实施方式。下文中,在附图中,相同的附图标记被用于相同的元件,并且可以省略对相同元件的冗余描述。
44.本文件涉及视频/图像编译。例如,本文件中公开的方法/示例可能涉及vvc(versatile video coding,通用视频编译)标准(itu-t建议书h.266)、vvc之后的下一代视频/图像编译标准、或其他视频编译相关标准(例如,hevc(high efficiency video coding,高效视频编译)标准(itu-t建议书h.265)、evc(essential video coding,基本视频编译)标准、avs2标准等)。
45.在本文件中,可以提供与视频/图像编译有关的各种实施方式,并且,除非相反地指定,否则实施方式可以被彼此组合并执行。
46.在本文件中,视频可以意指随时间推移的一系列图像的集合。通常,图片意指表示特定时间区域的图像的单元,并且切片/图块(tile)是构成图片的一部分的单元。切片/图块可以包括一个或更多个编译树单元(ctu)。一个图片可以由一个或更多个切片/图块构成。一个图片可以由一个或更多个图块组构成。一个图块组可以包括一个或更多个图块。
47.像素或像元(pel)可以意指构成一个图片(或图像)的最小单元。另外,“样本”可以被用作与像素对应的术语。样本通常可以表示像素或像素的值,并且可以仅表示亮度分量的像素/像素值,或仅表示色度分量的像素/像素值。
48.单元可以表示图像处理的基本单元。单元可以包括特定区域和与该区域相关的信息中的至少一个。一个单元可以包括一个亮度块和两个色度(例如,cb、cr)块。根据情况,可以将单元和诸如块、区域等这样的术语互换地使用。在通常情况下,mxn块可以包括由m列和n行组成的样本(或样本阵列)或变换系数的集合(或阵列)。
49.在本文件中,术语“/”和“,”应该被解释为指示“和/或”。例如,表述“a/b”可以意指“a和/或b”。另外,“a、b”可以意指“a和/或b”。另外,“a/b/c”可以意指“a、b和/或c中的至少一个”。另外,“a/b/c”可以意指“a、b和/或c中的至少一个”。
50.另外,在该文件中,术语“或”应该被解释为指示“和/或”。例如,表述“a或b”可以包括1)“仅a”、2)“仅b”和/或3)“a和b”二者。换句话说,本文件中的术语“或”应该被解释为指示“另外地或可替选地”。
51.在本公开中,“a和b中的至少一个”可以意指“仅a”、“仅b”、或“a和b二者”。另外,在本公开中,表述“a或b中的至少一个”或“a和/或b中的至少一个”可以被解释为“a和b中的至少一个”。
52.另外,在本公开中,“a、b和c中的至少一个”可以意指“仅a”、“仅b”、“仅c”、或“a、b和c的任何组合”。另外,“a、b或c中的至少一个”或“a、b和/或c中的至少一个”可以意指“a、b和c中的至少一个”。
53.另外,本公开中使用的括号可以意指“例如”。具体地,当被指示为“预测(帧内预测)”时,这可能意味着将“帧内预测”作为“预测”的示例提出。也就是说,本公开中的“预测”不限于“帧内预测”,并且可以将“帧内预测”作为“预测”的示例提出。另外,当被指示为“预测(即,帧内预测)”时,这也可能意味着将“帧内预测”作为“预测”的示例提出。
54.在本公开中的一个附图中单独地描述的技术特征可以被单独地实现或者可以被同时地实现。
55.图1示意性地例示了可以应用该文件的实施方式的视频/图像编码系统的示例。
56.参照图1,视频/图像编码系统可以包括第一装置(源装置)和第二装置(接收装置)。源装置可以经由数字存储介质或网络以文件或流传输的形式将编码后的视频/图像信息或数据传递到接收装置。
57.源装置可以包括视频源、编码设备和发送器。接收装置可以包括接收器、解码设备和渲染器。编码设备可以被称为视频/图像编码设备,并且解码设备可以被称为视频/图像解码设备。发送器可以被包括在编码设备中。接收器可以被包括在解码设备中。渲染器可以包括显示器,并且显示器可以被配置为单独的装置或外部组件。
58.视频源可以通过捕获、合成或生成视频/图像的处理来获得视频/图像。视频源可以包括视频/图像捕获装置和/或视频/图像生成装置。视频/图像捕获装置可以包括例如一个或更多个相机、包括先前捕获的视频/图像的视频/图像档案等。视频/图像生成装置可以包括例如计算机、平板计算机和智能电话,并且可以(电子地)生成视频/图像。例如,可以通过计算机等生成虚拟视频/图像。在这种情况下,视频/图像捕获处理可以被生成相关数据的处理取代。
59.编码设备可以对输入视频/图像进行编码。编码设备可以执行诸如针对压缩和编译效率的预测、变换和量化这样的一系列过程。编码后的数据(编码后的视频/图像信息)能够以比特流的形式输出。
60.发送器可以通过数字存储介质或网络以文件或流传输的形式将以比特流的形式输出的编码后的视频/图像信息或数据发送到接收装置的接收器。数字存储介质可以包括诸如usb、sd、cd、dvd、蓝光、hdd、ssd等这样的各种存储介质。发送器可以包括用于通过预定文件格式生成媒体文件的元件,并且可以包括用于通过广播/通信网络进行发送的元件。接
收器可以接收/提取比特流,并且将接收/提取的比特流发送到解码设备。
61.解码设备可以通过执行与编码设备的操作对应的诸如解量化、逆变换、预测等这样的一系列过程来解码视频/图像。
62.渲染器可以渲染解码后的视频/图像。可以通过显示器显示渲染后的视频/图像。
63.图2是示意性地描述可以应用本文件的视频/图像编码设备的配置的图。下文中,所谓的视频编码设备可以包括图像编码设备。
64.参照图2,编码设备200可以包括图像分区器210、预测器220、残差处理器230、熵编码器240、加法器250、滤波器260和存储器270。预测器220可以包括帧间预测器221和帧内预测器222。残差处理器230可以包括变换器232、量化器233、解量化器234、逆变换器235。残差处理器230还可以包括减法器231。加法器250可以被称为重构器或重构块生成器。根据实施方式,上面已描述的图像分区器210、预测器220、残差处理器230、熵编码器240、加法器250和滤波器260可以由一个或更多个硬件组件(例如,编码器芯片组或处理器)构成。另外,存储器270可以包括解码图片缓冲器(dpb),并且可以由数字存储介质构成。硬件组件还可以包括存储器270作为内部/外部组件。
65.图像分区器210将输入到编码设备200的输入图像(或图片或帧)分区成一个或更多个处理单元。作为一个示例,处理单元可以被称为编译单元(cu)。在这种情况下,从编译树单元(ctu)或最大编译单元(lcu)开始,可以根据四叉树二叉树三叉树(qtbttt)结构来递归地分区编译单元。例如,可以基于四叉树结构、二叉树结构和/或三叉树结构将一个编译单元划分成深度更深的多个编译单元。在这种情况下,例如,可以首先应用四叉树结构,随后可以应用二叉树结构和/或三叉树结构。可替选地,可以首先应用二叉树结构。可以基于没有被进一步分区的最终编译单元来执行根据本文件的编译过程。在这种情况下,基于根据图像特性的编译效率,可以将最大编译单元直接用作最终编译单元。可替选地,可以按需要将编译单元递归地分区成深度进一步更深的编译单元,使得可以将最佳大小的编译单元用作最终编译单元。这里,编译过程可以包括随后将描述的诸如预测、变换和重构这样的过程。作为另一示例,处理单元还可以包括预测单元(pu)或变换单元(tu)。在这种情况下,可以从上述的最终编译单元划分或分割预测单元和变换单元。预测单元可以是样本预测的单元,并且变换单元可以是用于导出变换系数的单元和/或用于根据变换系数导出残差信号的单元。
66.根据情况,可以将单元和诸如块、区域等这样的术语互换地使用。在常规情况下,mxn块可以表示由m列和n行组成的样本或变换系数的集合。样本通常可以表示像素或像素的值,并且可以仅表示亮度分量的像素/像素值,或仅表示色度分量的像素/像素值。样本可以被用作与一个图片(或图像)的像素或pel对应的术语。
67.减法器231从输入图像信号(原始块、原始样本或原始样本阵列)中减去从预测器220输出的预测信号(预测块、预测样本或预测样本阵列)以生成残差信号(残差块、残差样本或残差样本阵列),并且所生成的残差信号被发送到变换器232。预测器220可以对处理目标块(在下文中,称为“当前块”)执行预测,并且可以生成包括当前块的预测样本的预测块。预测器220可以在当前块或cu基础上确定是应用帧内预测还是帧间预测。如稍后在每种预测模式的描述中讨论的,预测器可以生成与预测有关的各种信息,诸如预测模式信息,并且将所生成的信息发送到熵编码器240。关于预测的信息可以在熵编码器240中被编码并且以
比特流的形式输出。
68.帧内预测器222可以通过参考当前图片中的样本来预测当前块。根据预测模式,参考样本可以位于当前块的附近或与当前块分开。在帧内预测中,预测模式可以包括多种非定向模式和多种定向模式。非定向模式可以包括例如dc模式和平面模式。根据预测方向的详细程度,定向模式可以包括例如33种定向预测模式或65种定向预测模式。然而,这仅仅是示例,并且根据设置,可以使用更多或更少的定向预测模式。帧内预测器222可以通过使用应用于邻近块的预测模式来确定应用于当前块的预测模式。
69.帧间预测器221可以基于参考图片上的运动向量所指定的参考块(参考样本阵列)来导出针对当前块的预测块。此时,为了减少在帧间预测模式下发送的运动信息的量,可以基于邻近块与当前块之间的运动信息的相关性以块、子块或样本为基础来预测运动信息。运动信息可以包括运动向量和参考图片索引。运动信息还可以包括帧间预测方向(l0预测、l1预测、bi预测等)信息。在帧间预测的情况下,邻近块可以包括当前图片中存在的空间邻近块和参考图片中存在的时间邻近块。包括参考块的参考图片和包括时间邻近块的参考图片可以彼此相同或彼此不同。时间邻近块可以被称为并置参考块、并置cu(colcu)等,并且包括时间邻近块的参考图片可以被称为并置图片(colpic)。例如,帧间预测器221可以基于邻近块来配置运动信息候选列表,并且生成指示哪个候选被用于导出当前块的运动向量和/或参考图片索引的信息。可以基于各种预测模式来执行帧间预测。例如,在跳过模式和合并模式的情况下,帧间预测器221可以使用邻近块的运动信息作为当前块的运动信息。在跳过模式下,与合并模式不同,不能发送残差信号。在运动信息预测(运动向量预测、mvp)模式的情况下,邻近块的运动向量可以被用作运动向量预测项,并且可以通过发信号通知运动向量差来指示当前块的运动向量。
70.预测器220可以基于各种预测方法来生成预测信号。例如,预测器可以应用帧内预测或帧间预测以便对一个块进行预测,并且也可以同时应用帧内预测和帧间预测。这可以被称为组合帧间和帧内预测(ciip)。此外,预测器可以基于帧内块复制(ibc)预测模式或调色板模式以便对块执行预测。ibc预测模式或调色板模式可以被用于游戏等的内容图像/视频编码,诸如屏幕内容编码(scc)。尽管ibc基本上在当前块中执行预测,但是在当前块中导出参考块的方面能够类似于帧间预测执行。也就是说,ibc可以使用本公开中描述的帧间预测技术中的至少一种。
71.通过帧间预测器221和/或帧内预测器222生成的预测信号可以用于生成重构信号或者生成残差信号。变换器232可以通过对残差信号应用变换技术来生成变换系数。例如,变换技术可以包括离散余弦变换(dct)、离散正弦变换(dst)、基于图的变换(gbt)或条件非线性变换(cnt)等。这里,gbt意指当通过图来表示像素之间的关系信息时从图获得的变换。cnt是指基于使用所有先前重构的像素生成的预测信号而获得的变换。另外,变换过程可以被应用于具有相同大小的正方形像素块或者可以被应用于具有可变大小的块而不是正方形块。
72.量化器233可以对变换系数进行量化并且将它们发送到熵编码器240,并且熵编码器240可以对量化的信号(关于量化的变换系数的信息)进行编码并且在比特流中输出编码的信号。关于量化的变换系数的信息可以被称为残差信息。量化器233可以基于系数扫描顺序将块型量化的变换系数重新布置成一维矢量形式,并且基于一维矢量形式的量化的变换
系数来生成关于量化的变换系数的信息。熵编码器240可以执行各种编码方法,诸如例如指数哥伦布(exponential golomb)、上下文自适应可变长度编码(cavlc)、上下文自适应二进制算术编码(cabac)等。熵编码器240可以对除量化的变换系数(例如,语法元素的值等)以外的视频/图像重构所必需的信息一起或分别进行编码。编码的信息(例如,编码的视频/图像信息)可以被以比特流的形式在网络抽象层(nal)的单元基础上发送或存储。视频/图像信息还可以包括关于各种参数集的信息,诸如自适应参数集(aps)、图片参数集(pps)、序列参数集(sps)、视频参数集(vps)等。此外,视频/图像信息还可以包括一般约束信息。在本公开中,从编码设备发送/发信号通知给解码设备的信息和/或语法元素可以被包括在视频/图像信息中。视频/图像信息可以通过上述编码过程来编码并且被包括在比特流中。比特流可以通过网络来发送,或者被存储在数字存储介质中。这里,网络可以包括广播网络、通信网络和/或类似物,而数字存储介质可以包括诸如usb、sd、cd、dvd、蓝光、hdd、ssd等这样的各种存储介质。发送从熵编码器240输出的信号的发送器(未示出)和/或存储它的存储装置(未示出)可以被配置为编码设备200的内部/外部元件,或者发送器可以被包括在熵编码器240。
73.从量化器233输出的量化变换系数可以用于生成预测信号。例如,通过经由解量化器234和逆变换器235对量化的变换系数应用解量化和逆变换,可以重构残差信号(残差块或残差样本)。加法器250将重构残差信号加到从预测器220输出的预测信号,使得可以生成重构信号(重构图像、重构块、重构样本或重构样本阵列)。当如在应用跳过模式的情况下一样处理目标块没有残差时,可以将预测块用作重构块。所生成的重构信号可以被用于当前块中的下一处理目标块的帧内预测,并且如稍后描述的,可以通过滤波被用于下一图片的帧间预测。
74.同时,在图片编码和/或重构过程中,可以应用亮度映射与色度缩放(lmcs)。
75.滤波器260可以通过对重构信号应用滤波来改善主观/客观视频质量。例如,滤波器260可以通过对重构图片应用各种滤波方法来生成修改的重构图片,并且可以将修改的重构图片存储在存储器270中,具体地在存储器270的dpb中。各种滤波方法可以包括例如去块滤波、样本自适应偏移、自适应环路滤波、双边滤波等。如稍后在每种滤波方法的描述中讨论的,滤波器260可以生成与滤波有关的各种信息,并且将所生成的信息发送到熵编码器290。关于滤波的信息可以在熵编码器290中被编码并且以比特流的形式输出。
76.已被发送到存储器270的修改后的重构图片可以被用作帧间预测器280中的参考图片。通过这个,编码设备能够在应用帧间预测时避免编码设备200和解码设备中的预测失配,并且也能够改善编译效率。
77.存储器270dpb可以存储修改的重构图片以便将它用作帧间预测器221中的参考图片。存储器270可以存储已从中导出运动信息(或对其进行编码)的当前图片中的块的运动信息、和/或已经重构的图片中的块的运动信息。可以将所存储的运动信息发送到帧间预测器221以被用作邻近块的运动信息或时间邻近块的运动信息。存储器270可以存储当前图片中的重构块的重构样本,并且将它们发送到帧内预测器222。
78.图3是示意性地描述可以应用本文件的视频/图像解码设备的配置的图。
79.参照图3,视频解码设备300可以包括熵解码器310、残差处理器320、预测器330、加法器340、滤波器350和存储器360。预测器330可以包括帧间预测器331和帧内预测器332。残
差处理器320可以包括解量化器321和逆变换器321。根据实施方式,上面已描述的熵解码器310、残差处理器320、预测器330、加法器340和滤波器350可以由一个或更多个硬件组件(例如,解码器芯片组或处理器)构成。另外,存储器360可以包括解码图片缓冲器(dpb),并且可以由数字存储介质构成。硬件组件还可以包括存储器360作为内部/外部组件。
80.当输入包括视频/图像信息的比特流时,解码设备300可以与据此已在图2的编码设备中处理视频/图像信息的处理对应地重构图像。例如,解码设备300可以基于与从比特流获得的与块分割相关的信息来导出单元/块。解码设备300可以通过使用在编码设备中应用的处理单元来执行解码。因此,解码的处理单元可以是例如编译单元,可以用编译树单元或最大编译单元顺着四叉树结构、二叉树结构和/或三叉树结构对其进行分割。可以用编译单元导出一个或更多个变换单元。并且,可以通过再现器来再现通过解码设备300解码并输出的重构图像信号。
81.解码设备300能够以比特流的形式接收从图2的编码设备输出的信号,并且可以通过熵解码器310对所接收到的信号进行解码。例如,熵解码器310可以解析比特流以导出图像重构(或图片重构)所需要的信息(例如,视频/图像信息)。视频/图像信息还可以包括关于诸如自适应参数集(aps)、图片参数集(pps)、序列参数集(sps)、视频参数集(vps)等这样的各种参数集的信息。此外,视频/图像信息还可以包括一般约束信息。解码设备可以进一步基于关于参数集的信息和/或一般约束信息来对图片进行解码。在本公开中,将稍后描述的发信号通知/接收的信息和/或语法元素可以通过解码过程被解码并且是从比特流获得的。例如,熵解码器310可以基于诸如指数哥伦布编码、cavlc、cabac等这样的编码方法来对比特流中的信息进行解码,并且可以输出图像重构所必需的语法元素的值和有关残差的变换系数的量化值。更具体地,cabac熵解码方法可以接收与比特流中的每个语法元素对应的bin,使用邻近和解码目标块的解码目标语法元素信息和解码信息或在前一个步骤中解码的符号/bin的信息来确定上下文模型,根据所确定的上下文模型来预测bin生成概率并且对bin执行算术解码以生成与每个语法元素值对应的符号。这里,cabac熵解码方法可以在确定上下文模型之后使用针对下一符号/bin的上下文模型解码的符号/bin的信息来更新上下文模型。在熵解码器310中解码的信息之中关于预测的信息可以被提供给预测器330,并且已在熵解码器310中对其执行了熵解码的关于残差的信息即量化的变换系数以及关联的参数信息可以被输入到解量化器321。此外,在熵解码器310中解码的信息之中关于滤波的信息可以被提供给滤波器350。同时,接收到从编码设备输出的信号的接收器(未示出)可以进一步将解码设备300构成为内部/外部元件,并且接收器可以是熵解码器310的组件。同时,根据本公开的解码设备可以被称为视频/图像/图片编码设备,并且解码设备可以被分类成信息解码器(视频/图像/图片信息解码器)和样本解码器(视频/图像/图片样本解码器)。信息解码器可以包括熵解码器310,而样本解码器可以包括解量化器321、逆变换器322、预测器330、加法器340、滤波器350以及存储器360中的至少一个。
82.解量化器321可以通过对量化后的变换系数进行解量化来输出变换系数。解量化器321可以将量化后的变换系数重新布置为二维块的形式。在这种情况下,可以基于已在编码设备中执行的系数扫描的顺序来执行重新布置。解量化器321可以使用量化参数(例如,量化步长信息)对量化后的变换系数执行解量化,并且获得变换系数。
83.逆变换器322通过对变换系数进行逆变换来获得残差信号(残差块、残差样本阵
列)。
84.预测器可以对当前块执行预测,并且生成包括针对当前块的预测样本的预测块。预测器可以基于从熵解码器310输出的关于预测的信息来确定向当前块应用帧内预测还是帧间预测,并且具体地可以确定帧内/帧间预测模式。
85.预测器可以基于各种预测方法来生成预测信号。例如,预测器可以应用帧内预测或帧间预测以便对一个块进行预测,并且也可以同时应用帧内预测和帧间预测。这可以被称为组合帧间和帧内预测(ciip)。另外,预测器可以执行帧内块复制(ibc)以便对块进行预测。帧内块复制可以被用于游戏等的内容图像/视频编译,诸如屏幕内容编译(scc)。尽管ibc基本上在当前块中执行预测,但是在当前块中导出参考块的方面能够类似于帧间预测执行。也就是说,ibc可以使用本公开中描述的帧间预测技术中的至少一种。
86.帧内预测器331可以通过参考当前图片中的样本来预测当前块。根据预测模式,所参考的样本可以位于当前块的邻居中或者远离当前块。在帧内预测中,预测模式可以包括多种非定向模式和多种定向模式。帧内预测器331可以通过使用应用于邻近块的预测模式来确定应用于当前块的预测模式。
87.帧间预测器332可以基于由参考图片上的运动向量指定的参考块(参考样本阵列)来导出当前块的预测块。此时,为了减少在帧间预测模式下发送的运动信息量,可以基于邻近块与当前块之间的运动信息的相关性在块、子块或样本基础上预测运动信息。运动信息可以包括运动向量和参考图片索引。运动信息还可以包括帧间预测方向(l0预测、l1预测、bi预测等)信息。在帧间预测的情况下,邻近块可以包括存在于当前图片中的空间邻近块和存在于参考图片中的时间邻近块。例如,帧间预测器332可以基于邻近块来配置运动信息候选列表,并且基于接收到的候选选择信息来导出当前块的运动矢量和/或参考图片索引。可以基于各种预测模式来执行帧间预测,并且关于预测的信息可以包括指示用于当前块的帧间预测模式的信息。
88.加法器340可以通过将所获得的残差信号加到从预测器330输出的预测信号(预测块、预测样本阵列)来生成重构信号(重构图片、重构块、重构样本阵列)。当如在应用跳过模式的情况下一样处理目标块没有残差时,可以将预测块用作重构块。
89.加法器340可以被称为重构器或重构块生成器。所生成的重构信号可以用于当前图片中的要处理的下一块的帧内预测,可以通过如下所述的滤波而输出,或者可以用于下一图片的帧间预测。
90.此外,亮度映射与色度缩放(lmcs)可以被应用于图片解码处理。
91.滤波器350可以通过向重构后的信号应用滤波来改善主观/客观图像质量。例如,滤波器350可以通过向重构图片应用各种滤波方法来生成修改后的重构图片,并且将修改后的重构图片存储在存储器360中,具体地,存储在存储器360的dpb中。各种滤波方法可以包括例如去块滤波处理、样本自适应偏移、自适应环路滤波、双边滤波等。
92.已被存储在存储器360的dpb中的(修改后的)重构图片可以被用作帧间预测器332中的参考图片。存储器360可以存储已从中导出运动信息(或对其进行解码)的当前图片中的块的运动信息,和/或已经重构的图片中的块的运动信息。可以将所存储的运动信息发送到帧间预测器260以被用作邻近块的运动信息或时间邻近块的运动信息。存储器360可以存储当前图片中的重构块的重构样本,并且将它们发送到帧内预测器331。
93.在本说明书中,在解码设备300的预测器330、解量化器321、逆变换器322和滤波器350中描述的示例分别可以被类似地或相应地应用于编码设备200的预测器220、解量化器234、逆变换器235和滤波器260。
94.如上所述,在执行视频编译时,执行预测以提高压缩效率。可以通过预测生成包括当前块的预测样本的预测块,即,目标编译块。在这种情况下,预测块包括空间域(或像素域)中的预测样本。在编码设备和解码设备中同样地导出预测块。编码设备可以通过向解码设备发信号通知关于原始块而非原始块的原始样本值本身与预测块之间的残差的信息(残差信息)来提高图像编译效率。解码设备可以基于残差信息来导出包括残差样本的残差块,可以通过将残差块与预测块相加来生成包括重构样本的重构块,并且可以生成包括重构块的重构图片。
95.可以通过变换和量化过程来生成残余信息。例如,编码设备可以导出原始块与预测块之间的残差块,可以通过对残差块中所包括的残差样本(残差样本阵列)执行变换过程来导出变换系数,可以通过对变换系数执行量化过程来导出量化变换系数,并且可以(通过比特流)向解码设备发信号通知相关残差信息。在这种情况下,残差信息可以包括诸如值信息、位置信息、变换方案、变换核以及量化变换系数的量化参数这样的信息。解码设备可以基于残差信息执行反量化/逆变换过程,并且可以导出残差样本(或残差块)。解码设备可以基于预测块和残差块来生成重构图片。此外,编码设备可以通过对量化后的变换系数进行反量化/逆变换来导出残差块以供后续图片的帧间预测参考,并且可以生成重构图片。
96.图4示意性地例示了根据本公开的实施方式的多变换技术。
97.参照图4,变换器可以对应于上述图2的编码设备中的变换器,并且逆变换器可以对应于上述图2的编码设备中的逆变换器,或者对应于图3的解码设备中的逆变换器。
98.变换器可以通过基于残差块中的残差样本(残差样本阵列)执行初级变换来导出(初级)变换系数(s410)。该初级变换可以被称为核心变换。在本文中,初级变换可以基于多变换选择(mts),并且当多变换被应用为初级变换时,它可以被称为多核心变换。
99.多核心变换可以表示附加地使用离散余弦变换(dct)类型2和离散正弦变换(dst)类型7、dct类型8和/或dst类型1来变换的方法。也就是说,多核心变换可以表示基于从dct类型2、dst类型7、dct类型8和dst类型1之中选择的多个变换核来将空间域的残差信号(或残差块)变换成频域的变换系数(或初级变换系数)的变换方法。在本文中,从变换器的观点可以将初级变换系数称为时间变换系数。
100.也就是说,当应用常规的变换方法时,可以通过基于dct类型2对残差信号(或残差块)应用从空间域到频域的变换来生成变换系数。然而,当应用多核心变换时,可以通过基于dct类型2、dst类型7、dct类型8和/或dst类型1对残差信号(或残差块)应用从空间域到频域的变换来生成变换系数(或初级变换系数)。这里,dct类型2、dst类型7、dct类型8和dst类型1可以被称为变换类型、变换核(kernel)或变换核心(core)。可以基于基函数来定义这些dct/dst类型。
101.如果执行多核心变换,则可以从变换核之中选择用于目标块的垂直变换核和水平变换核,可以基于垂直变换核来对目标块执行垂直变换,并且可以基于水平变换核来对目标块执行水平变换。这里,水平变换可以表示针对目标块的水平分量的变换,而垂直变换可以表示针对目标块的垂直分量的变换。可以基于包括残差块的目标块(cu或子块)的预测模
式和/或变换索引来自适应地确定垂直变换核/水平变换核。
102.此外,根据一个示例,如果通过应用mts来执行初级变换,则可以通过将特定基函数设置为预定值并且组合要在垂直变换或水平变换中应用的基函数来设置变换核的映射关系。例如,当将水平变换核表达为trtypehor并且将垂直方向变换核表达为trtypever时,可以将trtypehor或trtypever值0设置为dct2,可以将trtypehor或trtypever的值1设置为dst-7,以及可以将trtypehor或trtypever的值2设置为dct-8。
103.在这种情况下,mts索引信息可以被编码并发信号通知给解码设备以指示多个变换核集中的任何一个。例如,mts索引0可以指示trtypehor和trtypever值都为0,mts索引1可以指示trtypehor和trtypever值都为1,mts索引2可以指示trtypehor值为2而trtypever值为1,mts索引3可以指示trtypehor值为1而trtypever值为2,以及mts索引4可以指示trtypehor和trtypever值都为2。
104.在一个示例中,根据mts索引信息的变换核集被例示在下表中。
105.[表1]
[0106]
tu_mts_idx[x0][y0]01234trtypehor01212trtvpever01122
[0107]
变换器可以通过基于(初级)变换系数执行次级变换来导出修改的(次级)变换系数(s420)。初级变换是从空间域到频域的变换,而次级变换是指通过使用(初级)变换系数之间存在的相关性以更压缩的表达来进行变换。次级变换可以包括不可分离变换。在这种情况下,次级变换可以被称为不可分离次级变换(nsst)或模式相关不可分离次级变换(mdnsst)。不可分离次级变换可以表示通过基于不可分离变换矩阵对通过初级变换导出的(初级)变换系数进行次级变换来为残差信号生成修改的变换系数(或次级变换系数)。此时,可以不对(初级)变换系数单独地应用垂直变换和水平变换(或者可能不独立地应用水平变换和垂直变换),而是可以基于不可分离变换矩阵一次性应用变换。换句话说,不可分离次级变换可以表示一种变换方法,在这样的变换方法中(初级)变换系数的垂直分量和水平分量不被分离,并且例如,二维信号(变换系数)通过某个确定的方向(例如,行优先方向或列优先方向)被重新布置为一维信号,然后基于不可分离变换矩阵来生成修改的变换系数(或次级变换系数)。例如,根据行优先顺序,m
×
n个块以第一行、第二行、

和第n行的顺序设置成一行。根据列优先顺序,m
×
n个块以第一列、第二列、

和第n列的顺序设置成一行。不可分离次级变换可以被应用于配置有(初级)变换系数的块(在下文中,可以被称为变换系数块)的左顶部区域。例如,如果变换系数块的宽度(w)和高度(h)全部等于或大于8,则可以对变换系数块的左顶部8
×
8区域应用8
×
8不可分离次级变换。此外,如果变换系数块的宽度(w)和高度(h)全部等于或大于4,并且变换系数块的宽度(w)或高度(h)小于8,则可以对变换系数块的左顶部min(8,w)
×
min(8,h)区域应用4
×
4不可分离次级变换。然而,该实施方式不限于此,并且例如,即使满足仅变换系数块的宽度(w)或高度(h)等于或大于4的条件,也可以将4
×
4不可分离次级变换应用于变换系数块的左顶部min(8,w)
×
min(8,h)区域。
[0108]
变换器可以基于所选择的变换核来执行不可分离次级变换,并且可以获得修改的(次级)变换系数。如上所述,修改的变换系数可以被导出为通过量化器量化的变换系数,并
且可以被编码并发信号通知给解码设备,并且传送到编码设备中的解量化器/逆变换器。
[0109]
同时,如上所述,如果次级变换被省略,则作为初级(可分离)变换的输出的(初级)变换系数可以被导出为如上所述通过量化器量化的变换系数,并且可以被编码并发信号通知给解码设备,并且传送到编码设备中的解量化器/逆变换器。
[0110]
逆变换器可以按与已在上述变换器中执行一系列过程的顺序相反的顺序执行该系列过程。逆变换器可以接收(解量化的)变换系数,并且通过执行次级(逆)变换来导出(初级)变换系数(s450),并且可以通过对(初级)变换系数执行初级(逆)变换来获得残差块(残差样本)(s460)。在这方面,从逆变换器的观点看,初级变换系数可以被称为修改的变换系数。如上所述,编码设备和解码设备可以基于残差块和预测块来生成重构块,并且可以基于重构块来生成重构图片。
[0111]
解码设备还可以包括次级逆变换应用确定器(或用于确定是否应用次级逆变换的元件)和次级逆变换确定器(或用于确定次级逆变换的元件)。次级逆变换应用确定器可以确定是否应用次级逆变换。例如,次级逆变换可以是nsst或rst,并且次级逆变换应用确定器可以基于通过解析比特流而获得的次级变换标志来确定是否应用次级逆变换。在另一示例中,次级逆变换应用确定器可以基于残差块的变换系数来确定是否应用次级逆变换。
[0112]
次级逆变换确定器可以确定次级逆变换。在这种情况下,次级逆变换确定器可以基于根据帧内预测模式指定的nsst(或rst)变换集来确定应用于当前块的次级逆变换。在实施方式中,可以取决于初级变换确定方法来确定次级变换确定方法。可以根据帧内预测模式来确定初级变换和次级变换的各种组合。此外,在示例中,次级逆变换确定器可以基于当前块的大小来确定应用次级逆变换的区域。
[0113]
同时,如上所述,如果次级(逆)变换被省略,则可以接收(解量化的)变换系数,可以执行初级(可分离)逆变换,并且可以获得残差块(残差样本)。如上所述,编码设备和解码设备可以基于残差块和预测块来生成重构块,并且可以基于重构块来生成重构图片。
[0114]
同时,在本公开中,可以在nsst的概念中应用变换矩阵(核)的大小减少的缩减的次级变换(rst),以便减少不可分离次级变换所需要的计算和存储器量。
[0115]
同时,本公开中描述的变换核、变换矩阵和构成变换核矩阵的系数即核系数或矩阵系数可以用8个比特表达。这可以是在解码设备和编码设备中实现的条件,并且可以因与现有的9个比特或10个比特相比能够合理地容纳的性能降级而减少存储变换核所需要的存储器量。另外,用8个比特表达核矩阵可以允许使用小乘法器,并且可能更适合于用于最佳软件实现的单指令多数据(simd)指令。
[0116]
在本说明书中,术语“rst”可以意指基于其大小根据缩减因子而减小的变换矩阵对目标块的残差样本执行的变换。在执行缩减变换的情况下,由于变换矩阵的大小减小,因此可以减少变换所需要的计算量。也就是说,rst可以用于解决在不可分离变换或大尺寸的块的变换时发生的计算复杂度问题。
[0117]
rst可以被称为各种术语,诸如缩减变换、缩减次级变换、约简变换、简化变换、简单变换等,并且rst可以被称为的名称不限于所列举的示例。可替选地,由于主要在变换块中包括非零系数的低频区域中执行rst,所以它可以被称为低频不可分离变换(lfnst)。
[0118]
同时,当基于rst来执行次级逆变换时,编码设备200的逆变换器235和解码设备300的逆变换器322可以包括基于变换系数的逆rst来导出修改的变换系数的逆缩减次级变
换器,以及基于修改的变换系数的逆初级变换来导出目标块的残差样本的逆初级变换器。逆初级变换是指应用于残差的初级变换的逆变换。在本公开中,基于变换来导出变换系数可以是指通过应用变换来导出变换系数。
[0119]
在下文中,描述缩减多变换技术(缩减自适应多选择(或集合)(rmts))。
[0120]
如上所述,当在多变换技术(多变换集或自适应多变换)中选择性地使用多个变换(dct-2、dst-7、dct-8、dst-1、dct-5等)的组合用于初级变换时,可以将变换仅应用于预定义区域以便降低复杂度,而不是在所有情况下执行变换,从而在最坏情况下显著地降低复杂度。
[0121]
例如,当基于前面的缩减变换(rt)方法来将初级变换应用于m
×
m像素块时,可以仅对r
×
r块(m>=r)的变换块执行计算,而不是获得m
×
m变换块。结果,非零有效系数仅存在于r
×
r区域中,并且其他区域中的变换系数可以被认为是零而不用被计算。下表例示了使用用于应用初级变换的块的大小的预定义的缩减变换因子(r)值的缩减自适应多变换(ramt)的三个示例。
[0122]
[表2]
[0123]
变换大小缩减变换1缩减变换2缩减变换38x84x46x66x616x168x812x128x832x3216x1616x1616x1664x6432x3216x1616x16128x12832x3216x1616x16
[0124]
根据一个示例,在应用上面例示的缩减多变换时,可以基于初级变换来确定缩减变换因子。例如,当初级变换为dct2时,与其他初级变换相比计算简单,并且因此对于小块可能不使用缩减变换或者对于小块可以使用相对较大的r值,从而使编译性能的降低最小化。例如,不同的缩减变换因子可以被用于dct2和其他变换如下。
[0125]
[表3]
[0126]
变换大小针对dct2的缩减变换除了dct2之外的缩减变换8x88x84x416x1616x168x832x3232x3216x1664x6432x3232x32128x12832x3232x32
[0127]
如表3所示,当初级变换为dct2时,变换的大小在要被变换的块的大小为8
×
8或16
×
16时不变,并且变换的缩减大小在块的大小为32
×
32或更大时限于32
×
32。
[0128]
可替选地,根据示例,当指示是否应用mts的标志值是0时(即,当针对水平方向和垂直方向两者应用dct2时),对于两个(水平和垂直)方向,仅来自左侧和顶部的32个系数可以被留下并且高频分量可以被归零,也就是说,设置为0(归零实施方式1)。
[0129]
例如,在64
×
64变换单元(tu)中,变换系数仅留在左顶部32
×
32区域中,在64
×
16tu中,变换系数仅留在左顶部32
×
16区域中,而在8
×
64tu中,变换系数仅留在左顶部8
×
32区域中。也就是说,在宽度和高度这二者上存在与仅至多最大长度为32对应的变换系数。
[0130]
这种归零方法可以仅被应用于应用了帧内预测的残差信号或者可以仅被应用于应用了帧间预测的残差信号。可替选地,可以对应用了帧内预测的残差信号和应用了帧间预测的残差信号这二者应用归零方法。
[0131]
能够被表达为前面的归零或高频归零化的变换块大小的变化是指将在具有w1的第一宽度(或长度)和h1的第一高度(或长度)的(变换)块中与某个值或更大的高频率有关的变换系数归零化(确定为0)的过程。当应用高频归零化时,可以将(变换)块中的变换系数之中的在基于w2的第二宽度和h2的第二高度而配置的低频变换系数区域外部的所有变换系数的变换系数值确定(设置)为0。低频变换系数区域的外部可以被称为高频变换系数区域。在示例中,低频变换系数区域可以是从(变换)块的左顶部起的矩形区域。
[0132]
也就是说,可以将高频归零化定义为将由w或更大的x坐标和h或更大的y坐标定义的位置处的所有变换系数设置为0,其中当前变换块(tb)的左顶部位置的水平x坐标值被设置为0并且其垂直y坐标值被设置为0(以及其中x坐标从左向右增加并且y坐标向下增加)。
[0133]
在本公开中,使用了用于定义特定信息或概念的特定术语或表述。例如,如上所述,在本说明书中,将在具有w1的第一宽度(或长度)和h1的第一高度(或长度)的(变换)块中与特定值或更大值的频率相对应的变换系数归零化的过程被定义为“高频归零化”,已通过高频归零化经受归零化的区域被定义为“高频变换系数区域”,并且尚未经受归零化的区域被定义为“低频变换系数区域”。为了指示低频变换系数区域的大小,w2的第二宽度(或长度)和h2的第二高度(或长度)被使用。
[0134]
然而,“高频归零化”可以用诸如高频归零化(high frequency zeroing)、高频归零(high frequency zeroing-out)、高频归零(high-frequency zeroing-out)、高频归零(high-frequency zero-out)和归零(zero-out)的各种术语替换,并且“高频变换系数区域”可以用诸如高频归零化应用区域、高频归零化区域、高频区域、高频系数区域、高频归零区域和归零区域的各种术语替换,并且“低频变换系数区域”可以用诸如高频归零化未应用区域、低频区域、低频系数区域和限制区域的各种术语替换。因此,本文用于定义特定信息或概念的特定术语或表述需要根据由该术语指示的内容鉴于各种操作、功能和效果在整个说明书中进行解释,而不限于指定。
[0135]
可替选地,根据示例,低频变换系数区域是指在执行高频归零化之后剩下的区域或其中留下有效变换系数的区域,即可以存在非零变换系数的区域,并且可以被称为归零区域或归零块。
[0136]
根据一个示例,当指示是否应用mts的标志值为1时,也就是说,当除dct2以外的不同变换(dst-7或dct-8)适用于水平方向和垂直方向时,变换系数可以仅留在左顶部区域中,而剩余区域可以被归零如下(归零实施方式2)。
[0137]-当宽度(w)等于或大于2n时,仅从左起与w/2
p
的长度对应的变换系数可以留下,而剩余变换系数可以被固定为0(归零)。
[0138]-当高度(h)等于或大于2m时,仅从顶部起与h/2q的长度对应的变换系数可以留下,而剩余变换系数可以被固定为0(归零)。
[0139]
这里,m、n、p和q可以是等于或大于0的整数,并且可以具体地如下。
[0140]
1)(m,n,p,q)=(5,5,1,1)
[0141]
2)(m,n,p,q)=(4,4,1,1)
[0142]
在配置1)中,变换系数仅留在32
×
16tu中的左顶部16
×
16区域中,并且变换系数仅留在8
×
32tu中的左顶部8
×
16区域中。
[0143]
这种归零方法可以被仅应用于对其应用帧内预测的残差信号或者可以被仅应用于对其应用帧间预测的残差信号。可替选地,可以对应用了帧内预测的残差信号和应用了帧间预测的残差信号二者应用归零方法。
[0144]
可替选地,根据另一示例,当指示是否应用mts的标志值为1时,也就是说,当除dct2以外的不同变换(dst-7或dct-8)适用于水平方向和垂直方向时,变换系数可以仅留在左顶部区域中,而剩余区域可以被归零如下(归零实施方式3)。
[0145]-当高度(h)等于或大于宽度(w)并且等于或大于2n时,仅左顶部w
×
(h/2
p
)区域中的变换系数可以被留下,而剩余变换系数可以被固定为0(归零)。
[0146]-当宽度(w)大于高度(h)并且等于或大于2m时,仅左顶部(w/2q)
×
h区域中的变换系数可以被留下,而剩余变换系数可以被固定为0(归零)。
[0147]
在上述条件下,当高度(h)和宽度(w)相同时,垂直长度减小(h/2p),但是水平长度也可以减小(w/2q)。
[0148]
这里,m、n、p和q可以是等于或大于0的整数,并且可以具体地如下。
[0149]
1)(m,n,p,q)=(4,4,1,1)
[0150]
2)(m,n,p,q)=(5,5,1,1)
[0151]
在配置1)中,变换系数仅留在32
×
16tu中的左顶部16
×
16区域中,并且变换系数仅留在8
×
16tu中的左顶部8
×
8区域中。
[0152]
这种归零方法可以被仅应用于对其应用帧内预测的残差信号或者可以被仅应用于对其应用帧间预测的残差信号。可替选地,可以对应用了帧内预测的残差信号和应用了帧间预测的残差信号二者应用归零方法。
[0153]
在前面的实施方式中,取决于指示是否应用mts的标志值为0或指示是否应用mts的标志值为1而限制变换系数区域。根据一个示例,这些实施方式的组合是可能的。
[0154]
1)归零实施方式1 归零实施方式2
[0155]
2)归零实施方式1 归零实施方式3
[0156]
如归零实施方式2和归零实施方式3中提及的,归零方法可以被仅应用于被应用帧内预测的残差信号或者可以被仅应用于被应用帧间预测的残差信号。可替选地,可以将归零方法应用于被应用帧内预测的残差信号和被应用帧间预测的残差信号两者。因此,当mts标志是1时,可以配置下表(当mts标志是1时,可以应用归零实施方式1)。这里,还可以将mts标志配置为指示用于mts的变换核的mts索引。例如,0的mts索引可以指示归零实施方式1被应用。
[0157]
[表4]
[0158]
配置索引帧内预测残差信号帧间预测残差信号1不应用归零不应用归零2不应用归零归零实施方式23不应用归零归零实施方式34归零实施方式2不应用归零5归零实施方式2归零实施方式2
8并且在水平和垂直方向上应用的变换不限于图5中图示的示例。在图5中,整个块的宽度和高度分别由w和h表示,并且被实际地应用可分离变换的块的宽度和高度被表达为(宽度,高度)的对,即(w1,h)或(w,h1)。w1可以是w的1/2或1/4,并且h1也可以是h的1/2或1/4。
[0167]
如图5所示,被应用变换的块可以被定位在整个块中的左侧或右侧或在整个块中的顶部或底部上。此外,图5的块可以是由帧间预测生成的残差信号。可以用信号通知指示是否对如图5所示分区的残差信号的仅一个子块应用变换的标志,并且当该标志是1时,还可以通过信令设置指示该块是如图5所示垂直地分区还是水平地分区的标志。
[0168]
还可以用信号通知指示被实际地应用变换的块a被定位在整个块中的左侧还是右侧的标志或指示块a被定位在顶部还是底部上的标志。
[0169]
如图5所图示的,当针对特定块确定水平变换和垂直变换而不是通过mts信令指定水平变换和垂直变换时,可以在水平方向和垂直方向上的相应侧具有32的长度时对各侧应用上面提出的rmts32。在rmts32中,可以对于归零区域省略残差编译,或者可以通过扫描仅非归零区域来执行残差编译。
[0170]
图6图示根据本公开的示例的应用于子块变换的32点归零。
[0171]
当rmts32被应用于如图5所示分区的子块时,在变换之后可以如图6所示存在残差数据。也就是说,图6示出rmts32被应用于根据子块变换的应用而分区的块之中对其执行变换的子块。
[0172]
相对于原始变换块的宽度w和高度h,被实际地应用变换的块a的宽度和高度分别可以是w/2和h/2或w/4和h/4。
[0173]
总之,如果可以在水平方向和垂直方向中的每个方向上应用长度为32的dst-7或dct-8,则可以将rmts32应用于被应用变换的任何块。应用长度为32的dst-7还是dct-8可以通过预设信令来确定或者可以根据预定编译条件在没有信令的情况下被确定。
[0174]
在mts被禁用的情况下(例如,在vvc中,当在序列参数集中将“sps_mts_enable_flag”设置为0时可以禁用mts),当应用sbt时,在水平方向和垂直方向两者上应用dct-2,而不是表3中呈现的dst-7和dct-8的组合。
[0175]
因此,当mts被禁用时,即使要变换的块被分区成子块,也需要防止应用rmts32。如上所述,当不应用mts时,可以在初级变换中应用dct-2而不是dst-7或dct-8,并且在其中可以存在被应用dct-2的非零变换系数的左顶部块可以经受将宽度和高度减小为32的高频归零。也就是说,在其中可以存在被应用逆dct-2的非零变换系数的左顶部块可以在宽度和高度上减小为32,但是未被归零为小于32的宽度和高度。这是为了防止由于归零而导致的数据丢失,并且对其应用逆dct-2的左顶部块的宽度或高度未减小为16。
[0176]
如果mts被禁用,则有必要显式地检查被应用dct-2的分区子块的宽度或高度,使得分区子块的宽度或高度未减小为16。
[0177]
根据示例,通过确定残差编译语法中的“sps_mts_enabled_flag”,可以将其配置成在应用sbt时不执行由于rmts32而导致的归零。
[0178]
可以在下表(表5至表15)中示出反映前述实施方式的规范文本。
[0179]
[表5]
[0180][0181][0182]
[表6]
[0183]
[0184][0185]
表5和表6包括在用于图像编译的序列参数集中用信号通知的图像信息并且包括与变换相关的数条标志信息。
[0186]
sps_transform_skip_enabled_flag指定变换跳过是否被应用,即,变换跳过标志(transform_skip_flag)是否可以存在于变换单元语法中。
[0187]
sps_mts_enabled_flag是指定是否可以显式地使用mts即多重变换选择技术的标志信息。sps_mts_enabled_flag等于1指定sps_explicit_mts_intra_enabled_flag和sps_explicit_mts_inter_enabled_flag存在于序列参数集语法中。
[0188]
当sps_explicit_mts_intra_enabled_flag和sps_explicit_mts_inter_
enabled_flag中的任何一个是1时,指定了mts可以被应用于变换单元,这意味着tu_mts_idx可以存在于变换单元语法中。例如,当sps_mts_enabled_flag等于1并且sps_explicit_mts_intra_enabled_flag等于0时,可以对帧内编译单元应用隐式mts。
[0189]
sps_sbt_enabled_flag是指定是否可以将前面的子块变换应用于用于帧间预测的编译单元的标志信息。
[0190]
当sps_sbt_enabled_flag等于1时,可以用信号通知用于允许子块变换的编译单元的最大宽度和高度的sps_sbt_max_size_64_flag。
[0191]
当sps_sbt_max_size_64_flag等于0时,用于允许块变换的编译单元的最大宽度和高度是32,并且当sps_sbt_max_size_64_flag等于1时,用于允许子块变换的编译单元的最大宽度和高度被导出为等于64。
[0192]
[表7]
[0193][0194][0195]
表7示出在图片参数集中用信号通知的变换相关信息。log2_transform_skip_max_size_minus2是用于导出用于变换跳过的最大块大小的信息,并且用于变换跳过的最大块大小被导出为log2_transform_skip_max_size_minus2加上2的2次幂的值(1《《(log2_transform_skip_max_size_minus2 2)。
[0196]
[表8]
[0197]
[0198][0199]
[表9]
[0200]
[0201][0202][0203]
表8和表9示出被应用帧间预测的编译单元的语法和语义,并且被应用sbt的分区
形状可以由表8的四个语法元素确定。
[0204]
cu_sbt_flag指定sbt是否被应用于编译单元,并且cu_sbt_quad_flag是在当一个编译单元被分区成两个分区块时指定被应用变换的块是否是整个块的1/4的标志信息。当cu_sbt_quad_flag等于0时,分区子块具有编译单元的宽度或高度的1/2的大小,并且当cu_sbt_quad_flag等于1时,分区子块具有编译单元的宽度或高度的1/4的大小。当编译单元的宽度是w并且其高度是h时,分区块的高度可以是h1=(1/4)x h或者其宽度可以是w1=(1/4)x w。
[0205]
cu_sbt_horizontal_flag等于1指定编译单元被横向即在水平方向上分区,并且cu_sbt_horizontal_flag等于0指定编译单元被纵向即在垂直方向上分区。
[0206]
当cu_sbt_pos_flag值等于0时,变换被应用于在水平方向上分区的子块之中的上子块,并且变换被应用于在垂直方向上分区的子块之中的左子块。当cu_sbt_pos_flag值等于1时,变换被应用于在水平方向上分区的子块之中的下子块,并且变换被应用于在垂直方向上分区的子块之中的右子块。
[0207]
下表示出根据cu_sbt_horizontal_flag和cu_sbt_pos_flag的trtypehor和trtypever。
[0208]
[表10]
[0209]
cu_sbt_horizontal_flagcu_sbt_pos_flagtrtypehortrtypever0021011110121111
[0210]
如上所述,当trtypehor表示水平变换核并且trtypever表示垂直变换核时,可以为dct-2设置0的trtypehor或trtypever值,并且可以为dst-7设置1的trtypehor或trtypever值,并且可以为dct-8设置2的trtypehor或trtypever值。因此,当对其应用变换的分区块的至少一侧的长度是64或更大时,可以在水平方向和垂直方向这两者上应用dct-2;否则,可以应用dst-7或dct-8。当对当前块进行分区并且对子块执行变换时,可以如表10所示隐式地应用mts。
[0211]
当子块的宽度和高度都是32或更小并且因此应用dst-7或dct-8时,也就是说,当mts被应用于子块时,可以应用前面的rmts。例如,子块在每个方向上的长度是32,可以通过应用长度为32的dst-7或dct-8来留下仅16个变换系数。
[0212]
然而,当子块的宽度或高度是64或更大时,可以在水平方向和垂直方向这两者上应用dct-2,并且可以根据高频归零留下仅32个变换系数,而不是在每个方向上应用rmts。
[0213]
[表11]
[0214]
[0215][0216]
表11示出根据示例的变换单元的语法和语义的部分。tu_mts_idx[x0][y0]指定应用于变换块的mts索引,并且可以如表1所示根据mts索引确定trtypehor和trtypever。
[0217]
根据另一示例,可以在编译单元级别中而不是在变换单元级别中用信号通知mts_idx。
[0218]
[表12]
[0219]
[0220]
[0221][0222]
表12示出根据示例的残差编译的语法和语义的部分。
[0223]
表12中的语法元素last_sig_coeff_x_prefix、last_sig_coeff_y_prefix、last_sig_coeff_x_suffix和last_sig_coeff_y_suffix指定关于变换块中的最后非零变换系数的(x,y)位置信息。具体地,last_sig_coeff_x_prefix指定最后有效系数在变换块中按扫描顺序的列位置的前缀,last_sig_coeff_y_prefix指定最后有效系数在变换块中按扫描顺序的行位置的前缀,last_sig_coeff_x_suffix指定最后有效系数在变换块中按扫描顺序的列位置的后缀,并且last_sig_coeff_y_suffix指定最后有效系数在变换块中按扫描顺序的行位置的后缀。这里,有效系数可以是指非零系数。此外,扫描顺序可以是右上对角线扫描顺序。可替选地,扫描顺序可以是水平扫描顺序或垂直扫描顺序。可以基于帧内/帧间预测是否被应用于目标块(cb或包括tb的cb)和/或特定帧内/帧间预测模式来确定扫描顺序。
[0224]
可以基于表11的tu_mts_idx[x0][y0]在表12的残差编译中配置归零区域。
[0225]
此外,当cu_sbt_flag等于1时,被应用变换的块的高度是32或更小(log2tbheight《6),其宽度是32(log2tbwidth《6&&log2tbwidth》4),并且sps_mts_enabled_flag等于1时,可以存在非零变换系数的左顶部区域的宽度被设置为16(log2zotbwidth=4)。类似地,当cu_sbt_flag等于1时,被应用变换的块的宽度是32或更小(log2tbwidth《6),其高度是32(log2tbheight《6&&log2tbheight》4),并且sps_mts_enabled_flag等于1时,可以存在非零变换系数的左顶部区域的高度被设置为16(log2zotbheight=4)。
[0226]
被应用变换的块可以是原始变换块或分区子块。
[0227]
这里,log2zotbwidth和log2zotbheight表示可以存在非零系数的变换块中的左顶部区域的最大宽度和最大高度,并且可以将左顶部区域称为“缩减变换块”。也就是说,可以将log2zotbwidth和log2zotbheight定义为指示缩减变换块的宽度和高度的变量。
[0228]
也就是说,根据示例,当子块变换被应用于编译单元时,mts需要适用以便应用归零(rmts),其中可以存在非零系数的左顶部块的宽度被减小为16并且剩余区域是0。
[0229]
当不应用mts时,即使标识了sbt被应用于编译单元(当cu_sbt_flag是1时),也需
要将dct-2而不是mts应用于对其应用变换的子块。例如,当sps_mts_enabled_flag等于0时,即使sbt被应用于编译块,也应用dct-2而不是dst-7或dct-8。
[0230]
另外,当sbt被应用于编译块时,只有当子块的宽度或高度是64或更大时才应用dct-2,并且在其他情况下不应用dct-2。
[0231]
也就是说,为了确保dct-2被应用于子块并且为了防止可以引起数据丢失的rmts被应用于被应用dct-2的子块,编码设备配置图像信息以便检查sps_mts_enabled_flag的值,并且解码设备根据所配置的图像信息来在残差编译中检查sps_mts_enabled_flag的值。
[0232]
总之,当在图像解码过程中仅标识了cu_sbt_flag是1时,可以在根据rmts设置变换块大小时检查在序列参数集中用信号通知的sps_mts_enabled_flag的值,以便防止rmts被应用于被应用dct-2的子块。当cu_sbt_flag等于1并且sps_mts_enabled_flag等于1时,可以应用rmts,因此可以将可以存在非零变换系数的左顶部块的宽度和高度设置为16,并且当cu_sbt_flag等于1并且sps_mts_enabled_flag等于0时,不应用mts,因为dct-2被用于变换,因此也不应用根据rmts的归零。在这种情况下,可以将可以存在非零变换系数的左顶部块的宽度和高度设置为32或更小。
[0233]
例如,在对其应用子块变换的32x32变换块的情况下,当sps_mts_enabled_flag等于0时,dct-2被用作变换核,因此长度为32的宽度或高度未减小为16。
[0234]
如上所述,当mts被禁用时,可以通过检查sps_mts_enabled_flag来防止归零为16的长度的rmts。
[0235]
在其他情况下,当cu_sbt_flag不是1,变换块的高度大于32,变换块的宽度不是32,或者不应用mts时,可以将变换块的宽度设置为变换块的宽度和32中的较小值。也就是说,变换块的最大宽度可以通过高频归零被限制为32。此外,当cu_sbt_flag不是1,变换块的宽度大于32,变换块的高度不是32,或者不应用mts时,可以将变换块的高度设置为变换块的高度和32中的较小值。也就是说,变换块的最大高度可以通过归零被限制为32。
[0236]
当应用sbt时,如果分区块的至少一侧的长度是64或更大,则可以在水平方向和垂直方向两者上应用dct-2。否则,可以应如表10所示用dst-7或dct-8。因此,当应用sbt时,只有当对其应用变换的分区块的所有两侧都具有32或更小的长度时才通过应用rmts32来执行归零。也就是说,当块在每个方向上的长度是32时,可以应用长度为32的dst-7或dct-8,从而剩下仅16个变换系数。
[0237]
如表12所示,当应用rmts32时,可以将未归零的剩余区域(低频变换系数区域)的宽度和高度认为是实际变换块的宽度和高度而不是使用用于编译的原始变换块的宽度和高度(log2zotbwidth=4或log2zotbheight=4),来执行编译。
[0238]
例如,在原始变换块的宽度x高度是32x16的情况下,当应用rmts32时,由于归零而仅在左顶部16x16区域中存在非零系数。因此,可以存在非零变换系数的左顶部区域的宽度和高度分别被设置为16和16,然后可以执行语法元素(例如,last_sig_coeff_x_prefix和last_sig_coeff_y_prefix)的编译。
[0239]
总之,根据表12的残差编译,指示可以存在非零系数的最大宽度和最大高度的log2zotbwidth和log2zotbheight在对last_sig_coeff_x_prefix进行编译之前被设置,最后非零系数的位置是通过应用log2zotbwidth和log2zotbheight来编译的,然后实际变换
块的宽度和高度分别被改变为log2zotbwidth和log2zotbheight(log2tbwidth=log2zotbwidth和log2tbheight=log2zotbheight)。随后,可以根据改变的值对语法元素进行编码。因此,可以将残差编译中排除归零区域的剩余左顶部区域配置为新变换块,然后可以导出残差样本。
[0240]
当通过高频变换系数的归零来将变换块的大小减小到低频变换系数区域时,可以如表12的语义所示将last_sig_coeff_x_prefix和last_sig_coeff_y_prefix的值限制为从0至介于(log2zotbwidth《《1)

1与(log2zotbheight《《1)

1之间的值的范围。
[0241]
[表13]
[0242]
[0243][0244]
[0245][0246]
[0247][0248]
[0249][0250]
表13图示表明了当sbt被应用于编译单元mts被隐式地应用的变换过程(cu_sbt_flag等于1并且max(ntbw,ntbh)小于或等于32,implicitmtsenabled被设置为等于1)。
[0251]
可以基于表8-14导出表示水平变换核的变量trtypehor和表示垂直变换核的变量trtypever,并且表13的表8-14可以对应于本文档的表1。
[0252]
另外,当sbt被应用于编译单元时,可以基于表8-15导出变量trtypehor和trtypever,并且表13的表8-15可以对应于本文档的表10。
[0253]
对其应用归零的块即表12中图示的归零块的大小在表13中被表达为nonzerow和nonzeroh。可以将nonzerow和nonzeroh定义为表示可以存在非零变换系数的左顶部块的宽度和高度的变量。
[0254]
当不应用lfnst时,可以将nonzerow设置为基于trtypehor是否大于0的值((trtypehor》0)?16:32)和变换块的宽度(ntbw)中的较小值(nonzerow=min(ntbw,(trtypehor》0)?16:32))。当trtypehor大于0时,由于应用了mts,所以“(trtypehor》0)?16:32”被设置为16,并因此nonzerow被设置为变换块的宽度(ntbw)和16中的较小值。然而,当trtypehor不大于0时,由于不应用mts,所以“(trtypehor》0)?16:32”被设置为32,并因此nonzerow被设置为变换块的宽度(ntbw)和32中的较小值。
[0255]
类似地,当不应用lfnst时,可以将nonzeroh设置为基于trtypever是否大于0的值((trtypever》0)?16:32)和变换块的宽度(ntbh)中的较小值(nonzeroh=min(ntbh,(trtypever》0)?16:32))。当trtypever大于0时,由于应用了mts,所以“(trtypever》0)?16:32”被设置为16,并因此nonzeroh被设置为变换块的高度(ntbh)和16中的较小值。然而,当trtypever不大于0时,由于不应用mts,所以“(trtypever》0)?16:32”被设置为32,因此nonzeroh被设置为变换块的高度(ntbh)和32中的较小值。
[0256]
也就是说,取决于是否应用mts,即trtypehor和trtypever是否能够具有0或更大的值,归零块的大小被设置为16或32。
[0257]
可以基于考虑归零设置的nonzerow和nonzeroh来导出残差样本值(当ntbh大于1时,具有x=0..nonzerow-1、y=0..nonzeroh-1的缩放变换系数d[x][y]的每个(垂直)列通过以变换块的高度ntbh、缩放变换系数的非零高度nonzeroh、具有y=0..nonzeroh-1的列表d[x][y]和设置为等于trtypever的变换类型变量trtype作为输入针对每列x=0..nonzerow-1调用如条款8.7.4.4中指定的一维变换过程被转换为具有x=0..nonzerow-1、y=0..ntbh-1的e[x][y],并且输出是具有y=0..ntbh-1的列表e[x][y])。
[0258]
当通过应用归零来改变变换块的大小时,还可以改变用于last_sig_coeff_x_prefix和last_sig_coeff_y_prefix的上下文选择的变换块的大小。表14示出考虑缩减变换块的last_sig_coeff_x_prefix和last_sig_coeff_y_prefix的二值化,并且表15示出导出ctxinc(上下文增量)以用于导出last_sig_coeff_x_prefix和lastsig_coeff_y_prefix的过程。由于可以通过上下文增量来选择和区分上下文,所以可以基于上下文增量来导出上下文模型。
[0259]
[表14]
[0260][0261][0262]
[表15]
[0263]
[0264][0265]
如表14所图示的,last_sig_coeff_x_prefix和last_sig_coeff_y_prefix的最大值(cmax)基于与缩减变换块的宽度和高度相对应的log2zotbwidth和log2zotbheight被设置为低频变换系数区域(cmax=(cmax=(log2zotbwidth《《1)

1,cmax=(log2zotbheight《《1)

1)。当截断一元被用于last_sig_coeff_x_prefix和last_sig_coeff_y_prefix的二值化时,可以将last_sig_coeff_x_prefix和last_sig_coeff_y_prefix的最大值(cmax)设置为等于用于last_sig_coeff_x_prefix和last_sig_coeff_y_prefix的二值化的码字的最大值。因此,可以基于归零块的大小来导出表示最后有效系数前缀信息的前缀码字的最大长度。
[0266]
如表15所图示的,对于用于两个语法元素即last_sig_coeff_x_prefix和last_sig_coeff_y_prefix的cabac上下文,低频变换系数区域中的原始变换块(tu)而不是缩减变换块的大小被应用(log2tbsize被设置为等于log2tbwidth,log2tbsize被设置为等于log2tbheight)。
[0267]
总之,根据示例,可以基于最后有效系数位置信息来导出残差样本,其中可以基于大小未发生改变的原始变换块的大小来导出上下文模型,并且可以基于已对其应用归零的变换块的大小来导出最后有效系数位置。这里,已对其应用归零的变换块即归零块的大小具体地为宽度或高度小于原始变换块的大小、宽度或高度。
[0268]
以下附图被提供来描述本公开的特定示例。由于附图中图示的装置的特定名称或特定信号/消息/字段的名称是为了图示而提供的,所以本公开的技术特征不限于以下附图中使用的特定名称。
[0269]
图7是图示根据本公开的实施方式的视频解码设备的操作的流程图。
[0270]
图7中图示的每个操作可以由图3中图示的解码设备300执行。具体地,s700和s710可以由图3中图示的熵解码器310执行,s720可以由图3中图示的解量化器321执行,s730可以由图3中图示的逆变换器322执行,并且s740可以由图3中图示的加法器340执行。根据s700至s740的操作基于参照图4至图6说明的一些前面的细节。因此,将省略或将简要地进
行与在上面参照图3至图6说明的那些重叠的特定细节的描述。
[0271]
根据实施方式的解码设备可以接收包括残差信息的比特流(s700)。具体地,解码设备的熵解码器310可以接收包括残差信息的比特流。
[0272]
根据实施方式的解码设备可以基于包括在比特流中的残差信息来导出用于当前块的量化变换系数(s710)。具体地,解码设备的熵解码器310可以基于包括在比特流中的残差信息来量化用于当前块的变换系数。
[0273]
根据实施方式的解码设备可以基于解量化过程从量化变换系数导出变换系数(s720)。具体地,解码设备的解量化器321可以基于解量化处理从量化变换系数导出变换系数。
[0274]
根据实施方式的解码设备可以通过对所导出的变换系数应用逆变换来导出用于当前块的残差样本(s730)。具体地,解码设备的逆变换322可以通过对所导出的变换系数应用逆变换来导出用于当前块的残差样本。
[0275]
根据实施方式的解码设备可以基于用于当前块的残差样本来生成重构图片(s740)。具体地,解码设备的加法器340可以基于用于当前块的残差样本来生成重构图片。
[0276]
在实施方式中,当前块的单元可以是变换块(tb)。
[0277]
在实施方式中,用于当前块的每个变换系数可以与包括0的变换系数的高频变换系数区域或包括至少一个有效变换系数的低频变换系数区域相关。
[0278]
在实施方式中,残差信息可以包括关于用于当前块的变换系数之中的最后有效变换系数的位置的最后有效系数前缀信息和最后有效系数后缀信息。
[0279]
在一个示例中,最后有效系数前缀信息可以具有基于归零块的大小所确定的最大值。
[0280]
在实施方式中,可以基于指示最后有效系数前缀信息和最后有效系数后缀信息的前缀码字来确定最后有效变换系数的位置。
[0281]
在实施方式中,可以基于低频变换系数区域即归零块的大小来确定前缀码字的最大长度。
[0282]
在实施方式中,可以基于当前块的宽度和高度来确定归零块的大小。
[0283]
在实施方式中,最后有效系数前缀信息可以包括x轴前缀信息和y轴前缀信息,并且前缀码字可以是关于x轴前缀信息的码字和用于y轴前缀信息的码字。
[0284]
在一个示例中,可以将x轴前缀信息表达为last_sig_coeff_x_prefix,可以将y轴前缀信息表达为last_sig_coeff_y_prefix,并且可以将最后有效变换系数的位置表达为(lastsignificantcoeffx,lastsignificantcoeffy)。
[0285]
在实施方式中,残差信息可以包括关于归零块的大小的信息。
[0286]
图8是图示根据本公开的实施方式的用于由视频解码设备导出变换系数的过程的流程图。
[0287]
图8中图示的每个操作可以由图3中图示的解码设备300执行。具体地,s800到s840可以由图3中图示的熵解码器310执行。
[0288]
首先,如图示,可以导出用于当前块的归零块(s800)。如上所述,归零块是指包括非零有效变换系数的低频变换系数区域,并且可以基于使用多个变换核的mts是否适用于当前块、是否子块变换被应用、以及当前块的宽度或高度来导出归零块的宽度或高度。
[0289]
根据示例,解码设备在应用mts时可以将归零块的宽度或高度设置为16,并且在不应用mts时可以将归零块的宽度或高度设置为32或更小。在这种情况下,可以基于指示mts是否适用的sps_mts_enabled_flag来确定mts是否适用。
[0290]
具体地,当应用dst-7或dct-8而不是dct-2作为用于逆初级变换的变换核,当前块的宽度是32,并且当前块的高度是32或更小时,可以将归零块的宽度设置为16。当不满足上述条件时,也就是说,当变换核是dct-2,当前块的宽度不是32,或者当前块的高度是64或更大时,可以将归零块的宽度设置为当前块的宽度和32中的较小值。
[0291]
类似地,当应用dst-7或dct-8而不是dct-2作为用于逆初级变换的变换核,当前块的高度是32,并且当前块的宽度是32或更小时,可以将归零块的高度设置为16。当不满足上述条件时,也就是说,当变换核是dct-2,当前块的高度不是32,或者当前块的宽度是64或更大时,可以将归零块的高度设置为当前块的高度和32中的较小值。
[0292]
此外,根据示例,可以基于指示当前块是否被分区成子块并被变换的标志信息(cu_sbt_flag)来导出归零块的宽度或高度。例如,当指示当前块是否被分区成子块并被变换的标志的值是1,分区子块的宽度是32,并且子块的高度小于64时,可以将在子块中可以存在非零变换系数的左顶部区域的宽度设置为16。可替选地,当指示当前块是否被分区成子块并被变换的标志的值是1,分区子块的高度是32,并且子块的宽度小于64时,可以将在子块中可以存在非零变换系数的左顶部区域的高度设置为16。
[0293]
可以如表10所示基于当前块的分区方向和对其应用变换的子块的位置来导出变换核。
[0294]
可以基于当前块的mts索引或指示mts是否被应用于当前块的变换的标志信息来导出归零块的宽度或高度。
[0295]
归零块的大小可以小于当前块的大小。具体地,归零块的宽度可以小于当前块的宽度,并且归零块的高度可以小于当前块的高度。
[0296]
在实施方式中,归零块的大小可以是32x16、16x32、16x16或32x32之一。
[0297]
在实施方式中,当前块的大小可以是64x64,并且归零块的大小可以是32x32。
[0298]
解码设备可以基于当前块的宽度或高度来导出用于最后有效系数位置信息的上下文模型(s810)。
[0299]
根据示例,可以基于原始变换块的大小而不是归零块的大小来导出上下文模型。具体地,可以基于原始变换块的大小来导出与最后有效系数前缀信息相对应的x轴前缀信息和y轴前缀信息的上下文增量。
[0300]
解码设备可以基于所导出的上下文模型来导出最后有效系数位置信息的值(s820)。
[0301]
如上所述,最后有效系数位置信息可以包括最后有效系数前缀信息和最后有效系数后缀信息,并且可以基于上下文模型来导出最后有效系数位置的值。
[0302]
解码设备可以基于所导出的最后有效系数位置信息的值和归零块的宽度或高度来导出最后有效系数位置(s830)。
[0303]
在一个示例中,解码设备可以在小于当前块而不是原始当前块的大小的归零块的大小的范围内导出最后有效系数位置。也就是说,可以在归零块而不是当前块的大小的范围内导出被应用变换的变换系数。
[0304]
在一个示例中,最后有效系数前缀信息可以具有基于归零块的大小所确定的最大值。
[0305]
在一个示例中,可以基于指示最后有效系数前缀信息和最后有效系数后缀信息的前缀码字来导出最后有效系数位置,并且可以基于归零块的大小来确定前缀码字的最大长度。
[0306]
解码设备可以根据基于归零块的宽度或高度而导出的最后有效系数位置来导出变换系数(s840)。
[0307]
可以通过表13的残差编译过程来导出变换系数。
[0308]
随后,解码设备可以通过基于表1和表10执行前面的不可分离逆次级变换和逆初级变换中的至少一个来导出残差样本。
[0309]
以下附图被提供来描述本公开的特定示例。由于附图中图示的设备的特定名称或特定信号/消息/字段的名称是为了图示而提供的,所以本公开的技术特征不限于以下附图中使用的特定名称。
[0310]
图9是图示根据本公开的实施方式的视频编码设备的操作的流程图。
[0311]
图9中图示的每个操作可以由图2中图示的编码设备200执行。具体地,s900可以由图2中图示的减法器231执行,s910可以由图2中图示的变换器232执行,s920可以由图2中图示的量化器233执行,并且s930可以由图2中图示的熵编码器240执行。根据s900至s930的操作基于参照图4至图6说明的一些前面的细节。因此,将省略或将简要地描述与在上面参照图2和图4至图6说明的那些重叠的特定细节的描述。
[0312]
根据实施方式的编码设备可以导出用于当前块的残差样本(s900)。具体地,编码设备的减法器231可以导出用于当前块的残差样本。
[0313]
根据实施方式的编码设备可以变换用于当前块的残差样本,从而导出用于当前块的变换系数(s910)。具体地,编码设备的变换器232可以变换当前块的残差样本,从而导出用于当前块的变换系数。
[0314]
根据实施方式的编码设备可以基于量化从变换系数导出量化变换系数(s920)。具体地,编码设备的量化器233可以基于量化从变换系数导出量化变换系数。
[0315]
根据实施方式的编码设备可以对包括关于量化变换系数的信息的残差信息进行编码(s930)。具体地,编码设备的熵编码器240可以对包括关于量化变换系数的信息的残差信息进行编码。
[0316]
在实施方式中,用于当前块的每个变换系数可以与包括0的变换系数的高频变换系数区域或包括至少一个有效变换系数的低频变换系数区域即归零块相关。
[0317]
在实施方式中,残差信息可以包括关于用于当前块的变换系数之中的最后有效变换系数的位置的最后有效系数前缀信息和最后有效系数后缀信息。
[0318]
在实施方式中,可以基于指示最后有效系数前缀信息和最后有效系数后缀信息的前缀码字来确定最后有效变换系数的位置。
[0319]
在一个示例中,最后有效系数前缀信息可以具有基于归零块的大小所确定的最大值。
[0320]
在实施方式中,可以基于归零块的大小来确定前缀码字的最大长度。
[0321]
在实施方式中,可以基于当前块的宽度和高度来确定归零块的大小。
[0322]
在实施方式中,最后有效系数前缀信息可以包括x轴前缀信息和y轴前缀信息,并且前缀码字可以是关于x轴前缀信息的码字和针对y轴前缀信息的码字。
[0323]
在一个示例中,可以将x轴前缀信息表达为last_sig_coeff_x_prefix,可以将y轴前缀信息表达为last_sig_coeff_y_prefix,并且可以将最后有效变换系数的位置表达为(lastsignificantcoeffx,lastsignificantcoeffy)。
[0324]
在实施方式中,残差信息可以包括关于归零块的大小的信息。
[0325]
图10是图示根据本公开的实施方式的用于对变换系数和信息进行编码的过程的流程图。
[0326]
图10中公开的每个操作可以由图2中公开的编码设备200执行。具体地,s1000和s1010可以由变换器232执行,并且s1020至s1040可以由图2中公开的熵编码器240执行。
[0327]
首先,如图示,可以导出用于当前块的归零块(s1000)。如上所述,归零块是指包括非零有效变换系数的低频变换系数区域,并且可以基于使用多个变换核的mts是否适用于当前块、是否子块变换被应用、以及当前块的宽度或高度来导出归零块的宽度或高度。
[0328]
根据示例,编码设备可以在应用mts时(在dst-7/dct-8适用时)将归零块的宽度或高度设置为16,并且可以在不应用mts时将归零块的宽度或高度设置为32或更小。
[0329]
具体地,当应用dst-7或dct-8而不是dct-2作为用于初级变换的变换核,当前块的宽度是32,并且当前块的高度是32或更小时,可以将归零块的宽度设置为16。当不满足上述条件时,也就是说,当变换核是dct-2,当前块的宽度不是32,或者当前块的高度是64或更大时,可以将归零块的宽度设置为当前块的宽度和32中的较小值。
[0330]
类似地,当应用dst-7或dct-8而不是dct-2作为用于初级变换的变换核,当前块的高度是32,并且当前块的宽度是32或更小时,可以将归零块的高度设置为16。当不满足上述条件时,也就是说,当变换核是dct-2,当前块的高度不是32,或者当前块的宽度是64或更大时,可以将归零块的高度设置为当前块的高度和32中的较小值。
[0331]
此外,根据示例,可以基于当前块是否被分区成子块并被变换来导出归零块的宽度或高度。例如,在当前块被分区成子块并变换,分区子块的宽度是32,并且子块的高度小于64时,可以将子块的宽度设置为16。可替选地,在当前块被分区成子块并变换,分区子块的高度是32,并且子块的宽度小于64时,可以将子块的高度设置为16。
[0332]
可以如表10所示基于当前块的分区方向和对其应用变换的子块的位置来导出变换核。
[0333]
在实施方式中,归零块的大小可以是32x16、16x32、16x16或32x32之一。
[0334]
在实施方式中,当前块的大小可以是64x64,并且归零块的大小可以是32x32。
[0335]
编码设备可以基于归零块来导出变换系数(s1010)。
[0336]
编码设备可以通过基于表1和表10执行前面的变换过程即初级变换和不可分离次级逆变换中的至少一个来从残差样本导出变换系数。
[0337]
编码设备可以基于所导出的归零块的宽度或高度来导出最后有效系数位置(s1020)。
[0338]
在一个示例中,编码设备可以在小于或等于当前块而不是原始当前块的大小的归零块的大小的范围内导出最后有效系数位置。也就是说,可以在归零块而不是当前块的大小的范围内导出被应用变换的变换系数。
[0339]
在一个示例中,可以基于指示最后有效系数前缀信息和最后有效系数后缀信息的前缀码字来导出最后有效系数位置,并且可以基于归零块的大小来确定前缀码字的最大长度。
[0340]
编码设备可以基于当前块的宽度或高度来导出用于最后有效系数位置信息的上下文模型(s1030)。
[0341]
根据实施方式,可以基于原始变换块的大小而不是归零块的大小来导出上下文模型。具体地,可以基于原始变换块的大小来导出与最后有效系数前缀信息对应的x轴前缀信息和y轴前缀信息的上下文增量。
[0342]
编码设备可以基于所导出的上下文模型来对关于最后有效系数位置的值的位置信息进行编码(s1040)。
[0343]
如上所述,最后有效系数位置信息可以包括最后有效系数前缀信息和最后有效系数后缀信息,并且可以基于上下文模型来对最后有效系数位置的值进行编码。
[0344]
在本公开中,可以省略量化/解量化和/或变换/逆变换中的至少一个。当省略量化/解量化时,量化的变换系数可以被称为变换系数。当省略变换/逆变换时,变换系数可以被称为系数或残差系数,或者为了表达的一致性可以仍然被称为变换系数。
[0345]
此外,在本公开中,量化的变换系数和变换系数分别可以被称为变换系数和缩放的变换系数。在这种情况下,残差信息可以包括关于变换系数的信息,并且可以通过残差编译语法来发信号通知关于变换系数的信息。可以基于残差信息(或关于变换系数的信息)来导出变换系数,并且可以通过变换系数的逆变换(缩放)来导出缩放的变换系数。可以基于缩放的变换系数的逆变换(变换)来导出残差样本。也可以在本公开的其他部分中应用/表达这些细节。
[0346]
在上述实施方式中,借助于一系列步骤或框来基于流程图说明方法,但是本公开不限于步骤的顺序,并且可以在与上述顺序或步骤不同的顺序或步骤中或与另一步骤同时地执行某个步骤。此外,本领域的普通技术人员可以理解,流程图所示的步骤不是排他性的,并且在不影响本公开的范围的情况下,可以并入另一步骤或者移除流程图的一个或更多个步骤。
[0347]
可以将根据本公开的上述方法实现为软件形式,并且根据本公开的编码设备和/或解码设备可以被包括在诸如tv、计算机、智能电话、机顶盒、显示装置等这样的图像处理用装置中。
[0348]
当本公开中的实施方式由软件具体实现时,可以将上述方法具体体现为用于执行上述功能的模块(过程、功能等)。模块可以被存储在存储器中并且可以由处理器执行。存储器可以在处理器内部或外部并且可以以各种公知方式连接到处理器。处理器可以包括专用集成电路(asic)、其他芯片组、逻辑电路和/或数据处理器件。存储器可以包括只读存储器(rom)、随机存取存储器(ram)、闪速存储器、存储卡、存储介质和/或其他存储器件。也就是说,可以在处理器、微处理器、控制器或芯片上具体实现和执行本公开中描述的实施方式。例如,可以在计算机、处理器、微处理器、控制器或芯片上具体实现和执行每个附图所示的功能单元。
[0349]
此外,应用本公开的解码设备和编码设备可以被包括在多媒体广播收发器、移动通信终端、家庭影院视频装置、数字影院视频装置、监视相机、视频聊天装置、诸如视频通信
这样的实时通信装置、移动流传输装置、存储介质、摄像机、视频点播(vod)服务提供装置、过顶(ott)视频装置、因特网流传输服务提供装置、三维(3d)视频装置、视频电话视频装置和医疗视频装置,并且可以用于处理视频信号或数据信号。例如,过顶(ott)视频装置可以包括游戏机、蓝光播放器、因特网接入tv、家庭影院系统、智能电话、平板pc、数字视频记录机(dvr)等。
[0350]
另外,应用本公开的处理方法可以以由计算机执行的程序的形式产生,并且被存储在计算机可读记录介质中。具有根据本公开的数据结构的多媒体数据也可以被存储在计算机可读记录介质中。计算机可读记录介质包括其中存储有计算机可读数据的所有种类的存储装置和分布式存储装置。计算机可读记录介质可以包括例如蓝光光盘(bd)、通用串行总线(usb)、rom、prom、eprom、eeprom、ram、cd-rom、磁带、软盘和光学数据存储装置。此外,计算机可读记录介质包括以载波(例如,通过因特网的传输)的形式具体体现的介质。另外,通过编码方法生成的比特流可以被存储在计算机可读记录介质中或者通过有线或无线通信网络发送。附加地,本公开的实施方式可以通过程序代码被具体体现为计算机程序产品,并且可以通过本公开的实施方式在计算机上执行程序代码。程序代码可以被存储在计算机可读载体上。
[0351]
图11例示了应用本公开的内容流传输系统的结构。
[0352]
此外,应用本公开的内容流传输系统可以主要包括编码服务器、流传输服务器、网络服务器、媒体存储装置、用户设备和多媒体输入装置。
[0353]
编码服务器将从诸如智能电话、相机、摄像机等这样的多媒体输入装置输入的内容压缩成数字数据以生成比特流,并且将该比特流传输到流传输服务器。作为另一示例,当诸如智能电话、相机、摄像机等这样的多媒体输入装置直接生成比特流时,可以省略编码服务器。可以通过应用本文件的实施方式的编码方法或比特流生成方法来生成比特流。并且流传输服务器可以在发送或接收比特流的处理中临时存储比特流。
[0354]
流传输服务器基于用户的请求通过网络服务器将多媒体数据发送到用户装置,并且网络服务器用作将服务告知用户的介质。当用户向网络服务器请求所期望的服务时,网络服务器将其传送到流传输服务器,流传输服务器将多媒体数据发送到用户。在这种情况下,内容流传输系统可以包括单独的控制服务器。在这种情况下,控制服务器用于控制内容流传输系统中的装置之间的命令/响应。
[0355]
流传输服务器可以从媒体存储器和/或编码服务器接收内容。例如,当从编码服务器接收内容时,可以实时地接收内容。在这种情况下,为了提供平稳的流传输服务,流传输服务器可以存储比特流达预定时间。
[0356]
例如,用户设备可以包括移动电话、智能电话、膝上型计算机、数字广播终端、个人数字助理(pda)、便携式多媒体播放器(pmp)、导航、板式pc、平板pc、超极本、可穿戴装置(例如,手表型终端(智能手表)、眼镜型终端(智能眼镜)、头戴式显示器(hmd))、数字tv、台式计算机、数字标牌等。内容流传输系统中的服务器中的每一个可以作为分布式服务器被操作,并且在这种情况下,可以以分布式方式处理由每个服务器接收到的数据。
[0357]
可以以各种方式组合本文公开的权利要求。例如,能够组合本公开的方法权利要求的技术特征以在设备中被实现或执行,并且能够组合设备权利要求的技术特征以在方法中被实现或执行。此外,能够组合方法权利要求和设备权利要求的技术特征可以组合以在
设备中被实现或执行,并且能够组合方法权利要求和设备权利要求的技术特征以在方法中被实现或执行。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献