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

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

2021-11-03 23:03:00 来源:中国专利 TAG:


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


背景技术:

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


技术实现要素:

5.本公开的技术方面是为了提供一种用于提高图像编译效率的方法和设备。
6.本公开的另一技术方面是为了提供一种用于提高残差编译效率的方法和设备。
7.本公开的再一技术方面是为了提供一种用于提高最后非零变换系数的编译效率的方法和设备。
8.本公开的又一技术方面是为了提供一种用于基于高频归零化来对变换系数进行编译以提高残差编译效率的方法和设备。
9.本公开的再一技术方面是为了提供一种用于基于高频归零化来对关于当前块(或当前变换块)中的最后有效系数的位置信息进行编译的方法和设备。
10.本公开的又一技术方面是为了提供一种用于在基于高频归零化对用于当前块(或当前变换块)的变换系数进行编译时,基于在当前块中未应用高频归零化的区域的大小来导出关于最后有效变换系数的位置的后缀信息的最大值的方法和设备。
11.本公开的再一技术方面是为了提供一种用于在基于高频归零化来对用于当前块(或当前变换块)的变换系数进行编译时,基于当前块的大小来导出用于最后有效变换系数位置信息的上下文模型。
12.根据本公开的实施方式,提供了一种由解码设备执行的图像解码方法。该方法包括导出残差样本,并且导出残差样本包括:导出用于当前块的归零块;基于当前块的宽度或高度来导出用于最后有效系数位置信息的上下文模型;基于上下文模型来导出最后有效系数位置信息的值;以及基于最后有效系数位置信息的值和归零块的宽度或高度来导出最后有效系数位置。
13.归零块的宽度可以小于当前块的宽度。
14.归零块的高度可以小于当前块的高度。
15.最后有效系数位置信息可以包括最后有效系数前缀信息和最后有效系数后缀信息,最后有效系数前缀信息可以包括x轴前缀信息和y轴前缀信息,并且可以基于当前块的宽度或高度来导出x轴前缀信息和y轴前缀信息的上下文增量。
16.可以基于归零块的大小来导出最后有效系数前缀信息所允许的最大值。
17.可以基于当前块的宽度或高度来导出归零块的宽度或高度。
18.在当前块的宽度为32并且当前块的高度为32或更小时,可以将归零块的宽度设置为16,而在当前块的宽度不为32或者当前块的高度为64或更大时,可以将归零块的宽度设置为当前块的宽度和32中的较小值。
19.在当前块的高度为32并且当前块的宽度为32或更小时,将归零块的高度设置为16,而在当前块的高度不为32或者当前块的宽度为64或更大时,可以将归零块的高度设置为当前块的高度和32中的较小值。
20.根据本公开的另一实施方式,提供了一种由编码设备执行的图像编码方法。该方法可以包括对残差信息进行编码,并且该编码包括:导出用于当前块的归零块;基于归零块的宽度或高度来导出最后有效系数位置;基于当前块的宽度或高度来导出用于最后有效系数位置信息的上下文模型;以及基于上下文模型来对最后有效系数位置信息进行编码。
21.根据本公开的再一实施方式,可以提供一种数字存储介质,该数字存储介质存储图像数据,该图像数据包括编码的图像信息以及根据由编码设备执行的图像编码方法生成的比特流。
22.根据本公开的又一实施方式,可以提供一种数字存储介质,该数字存储介质存储图像数据,该图像数据包括编码的图像信息和比特流以使解码设备执行图像解码方法。
23.根据本公开,可以提高整体图像/视频压缩效率。
24.根据本公开,可以提高残差编译效率。
25.根据本公开,可以提高最后有效变换系数位置编译效率。
26.根据本公开,可以通过基于高频归零化(或高频归零)来对变换系数进行编码来提高残差编码效率。
27.根据本公开,可以通过基于高频归零化来对关于当前块(或当前变换块)中的最后有效变换系数的位置信息进行编译来提高图像编译效率。
28.根据本公开,可以通过在基于高频归零化对用于当前块(或当前变换块)的变换系数进行编译时,基于预定块大小来导出用于最后有效变换系数位置信息的上下文模型来提高图像编译效率。
29.能够通过本公开的特定示例获得的效果不限于上面列举的效果。例如,可以存在相关领域的普通技术人员能够从本公开理解或导出各种技术效果。因此,本公开的特定效果不限于本公开中显式地描述的效果,并且可以包括可以从本公开的技术特征理解或导出的各种效果。
附图说明
30.图1示意性地例示了本公开适用于的视频/图像编译系统的示例。
31.图2是示意性地例示了本公开适用于的视频/图像编码设备的配置的图。
32.图3是示意性地例示了本公开适用于的视频/图像解码设备的配置的图。
33.图4示意性地例示了根据本公开的实施方式的多变换技术。
34.图5例示了根据本公开的实施方式的32点归零。
35.图6例示了根据本公开的实施方式的残差块的分区。
36.图7是例示了根据本公开的实施方式的视频解码设备的操作的流程图。
37.图8是例示了根据本公开的实施方式的解码设备的配置的框图。
38.图9是例示了根据本公开的实施方式的导出残差样本的过程的流程图。
39.图10是例示了根据本公开的实施方式的视频编码设备的操作的流程图。
40.图11是例示了根据本公开的实施方式的编码设备的配置的框图。
41.图12是例示了根据本公开的实施方式的对残差信息进行编码的过程的流程图。
42.图13例示了应用本公开的内容流传输系统的结构。
具体实施方式
43.该文件可以以各种方式修改并且可以具有各种实施方式,并且特定的实施方式将在附图中例示并详细地描述。然而,这并不旨在将该文件限制于特定实施方式。本说明书中通常使用的术语用于描述特定的实施方式,而不是用来限制该文件的技术精神。除非在上下文中另外明确表示,否则单数的表述包括复数的表述。该说明书中的诸如“包括”或“具有”这样的术语应该被理解为指示存在本说明书中描述的特性、数字、步骤、操作、元件、组件或其组合,而没有排除存在或添加一个或更多个特性、数字、步骤、操作、元件、组件或其组合的可能性。
44.此外,为了便于与不同特征功能相关的描述,独立地例示了该文件中描述的附图中的元件。这并不意指各个元件被实现为单独的硬件或单独的软件。例如,至少两个元件可以被组合,以形成单个元件,或者单个元件可以被划分成多个元件。其中元件被组合和/或分开的实施方式也被包括在该文件的权利范围内,除非它偏离了该文件的实质。
45.下文中,参照附图更具体地描述该文件的优选实施方式。下文中,在附图中,相同的附图标记被用于相同的元件,并且可以省略对相同元件的冗余描述。
46.本文件涉及视频/图像编译。例如,本文件中公开的方法/示例可能涉及vvc(versatile video coding,通用视频编译)标准(itu

t建议书h.266)、vvc之后的下一代视频/图像编译标准、或其他视频编译相关标准(例如,hevc(high efficiency video coding,高效视频编译)标准(itu

t建议书h.265)、evc(essential video coding,基本视频编译)标准、avs2标准等)。
47.在本文件中,可以提供与视频/图像编译有关的各种实施方式,并且,除非相反地指定,否则实施方式可以被彼此组合并执行。
48.在本文件中,视频可以意指随时间推移的一系列图像的集合。通常,图片意指表示特定时间区域的图像的单元,并且切片/图块(tile)是构成图片的一部分的单元。切片/图块可以包括一个或更多个编译树单元(ctu)。一个图片可以由一个或更多个切片/图块构成。一个图片可以由一个或更多个图块组构成。一个图块组可以包括一个或更多个图块。
49.像素或像元(pel)可以意指构成一个图片(或图像)的最小单元。另外,“样本”可以
被用作与像素对应的术语。样本通常可以表示像素或像素的值,并且可以仅表示亮度分量的像素/像素值,或仅表示色度分量的像素/像素值。
50.单元可以表示图像处理的基本单元。单元可以包括特定区域和与该区域相关的信息中的至少一个。一个单元可以包括一个亮度块和两个色度(例如,cb、cr)块。根据情况,可以将单元和诸如块、区域等这样的术语互换地使用。在通常情况下,mxn块可以包括由m列和n行组成的样本(或样本阵列)或变换系数的集合(或阵列)。
51.在本文件中,术语“/”和“,”应该被解释为指示“和/或”。例如,表述“a/b”可以意指“a和/或b”。另外,“a、b”可以意指“a和/或b”。另外,“a/b/c”可以意指“a、b和/或c中的至少一个”。另外,“a/b/c”可以意指“a、b和/或c中的至少一个”。
52.另外,在该文件中,术语“或”应该被解释为指示“和/或”。例如,表述“a或b”可以包括1)“仅a”、2)“仅b”和/或3)“a和b”二者。换句话说,本文件中的术语“或”应该被解释为指示“另外地或另选地”。
53.在本公开中,“a和b中的至少一个”可以意指“仅a”、“仅b”、或“a和b二者”。另外,在本公开中,表述“a或b中的至少一个”或“a和/或b中的至少一个”可以被解释为“a和b中的至少一个”。
54.另外,在本公开中,“a、b和c中的至少一个”可以意指“仅a”、“仅b”、“仅c”、或“a、b和c的任何组合”。另外,“a、b或c中的至少一个”或“a、b和/或c中的至少一个”可以意指“a、b和c中的至少一个”。
55.另外,本公开中使用的括号可以意指“例如”。具体地,当被指示为“预测(帧内预测)”时,这可能意味着将“帧内预测”作为“预测”的示例提出。也就是说,本公开中的“预测”不限于“帧内预测”,并且可以将“帧内预测”作为“预测”的示例提出。另外,当被指示为“预测(即,帧内预测)”时,这也可能意味着将“帧内预测”作为“预测”的示例提出。
56.在本公开中的一个附图中单独地描述的技术特征可以被单独地实现或者可以被同时地实现。
57.图1示意性地例示了可以应用该文件的实施方式的视频/图像编码系统的示例。
58.参照图1,视频/图像编码系统可以包括第一装置(源装置)和第二装置(接收装置)。源装置可以经由数字存储介质或网络以文件或流传输的形式将编码后的视频/图像信息或数据传递到接收装置。
59.源装置可以包括视频源、编码设备和发送器。接收装置可以包括接收器、解码设备和渲染器。编码设备可以被称为视频/图像编码设备,并且解码设备可以被称为视频/图像解码设备。发送器可以被包括在编码设备中。接收器可以被包括在解码设备中。渲染器可以包括显示器,并且显示器可以被配置为单独的装置或外部组件。
60.视频源可以通过捕获、合成或生成视频/图像的处理来获得视频/图像。视频源可以包括视频/图像捕获装置和/或视频/图像生成装置。视频/图像捕获装置可以包括例如一个或更多个相机、包括先前捕获的视频/图像的视频/图像档案等。视频/图像生成装置可以包括例如计算机、平板计算机和智能电话,并且可以(电子地)生成视频/图像。例如,可以通过计算机等生成虚拟视频/图像。在这种情况下,视频/图像捕获处理可以被生成相关数据的处理取代。
61.编码设备可以对输入视频/图像进行编码。编码设备可以执行诸如针对压缩和编
译效率的预测、变换和量化这样的一系列过程。编码后的数据(编码后的视频/图像信息)可以以比特流的形式输出。
62.发送器可以通过数字存储介质或网络以文件或流传输的形式将以比特流的形式输出的编码后的视频/图像信息或数据发送到接收装置的接收器。数字存储介质可以包括诸如usb、sd、cd、dvd、蓝光、hdd、ssd等这样的各种存储介质。发送器可以包括用于通过预定文件格式生成媒体文件的元件,并且可以包括用于通过广播/通信网络进行发送的元件。接收器可以接收/提取比特流,并且将接收/提取的比特流发送到解码设备。
63.解码设备可以通过执行与编码设备的操作对应的诸如解量化、逆变换、预测等这样的一系列过程来解码视频/图像。
64.渲染器可以渲染解码后的视频/图像。可以通过显示器显示渲染后的视频/图像。
65.图2是示意性地描述可以应用本文件的视频/图像编码设备的配置的图。下文中,所谓的视频编码设备可以包括图像编码设备。
66.参照图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作为内部/外部组件。
67.图像分割器210将输入到编码设备200的输入图像(或图片或帧)分割成一个或更多个处理单元。作为一个示例,处理单元可以被称为编译单元(cu)。在这种情况下,从编译树单元(ctu)或最大编译单元(lcu)开始,可以根据四叉树二叉树三叉树(qtbttt)结构来递归地分割编译单元。例如,可以基于四叉树结构、二叉树结构和/或三叉树结构将一个编译单元划分成深度更深的多个编译单元。在这种情况下,例如,可以首先应用四叉树结构,随后可以应用二叉树结构和/或三叉树结构。另选地,可以首先应用二叉树结构。可以基于没有被进一步分割的最终编译单元来执行根据本文件的编译过程。在这种情况下,基于根据图像特性的编译效率,可以将最大编译单元直接用作最终编译单元。另选地,可以按需要将编译单元递归地分割成深度进一步更深的编译单元,使得可以将最佳大小的编译单元用作最终编译单元。这里,编译过程可以包括随后将描述的诸如预测、变换和重构这样的过程。作为另一示例,处理单元还可以包括预测单元(pu)或变换单元(tu)。在这种情况下,可以从上述的最终编译单元划分或分割预测单元和变换单元。预测单元可以是样本预测的单元,并且变换单元可以是用于导出变换系数的单元和/或用于根据变换系数导出残差信号的单元。
68.根据情况,可以将单元和诸如块、区域等这样的术语互换地使用。在常规情况下,mxn块可以表示由m列和n行组成的样本或变换系数的集合。样本通常可以表示像素或像素的值,并且可以仅表示亮度分量的像素/像素值,或仅表示色度分量的像素/像素值。样本可以被用作与一个图片(或图像)的像素或pel对应的术语。
69.减法器231从输入图像信号(原始块、原始样本或原始样本阵列)中减去从预测器
220输出的预测信号(预测块、预测样本或预测样本阵列)以生成残差信号(残差块、残差样本或残差样本阵列),并且所生成的残差信号被发送到变换器232。预测器220可以对处理目标块(在下文中,称为“当前块”)执行预测,并且可以生成包括当前块的预测样本的预测块。预测器220可以在当前块或cu基础上确定是应用帧内预测还是帧间预测。如稍后在每种预测模式的描述中讨论的,预测器可以生成与预测有关的各种信息,诸如预测模式信息,并且将所生成的信息发送到熵编码器240。关于预测的信息可以在熵编码器240中被编码并且以比特流的形式输出。
70.帧内预测器222可以通过参考当前图片中的样本来预测当前块。根据预测模式,参考样本可以位于当前块的附近或与当前块分开。在帧内预测中,预测模式可以包括多种非定向模式和多种定向模式。非定向模式可以包括例如dc模式和平面模式。根据预测方向的详细程度,定向模式可以包括例如33种定向预测模式或65种定向预测模式。然而,这仅仅是示例,并且根据设置,可以使用更多或更少的定向预测模式。帧内预测器222可以通过使用应用于邻近块的预测模式来确定应用于当前块的预测模式。
71.帧间预测器221可以基于参考图片上的运动向量所指定的参考块(参考样本阵列)来导出针对当前块的预测块。此时,为了减少在帧间预测模式下发送的运动信息的量,可以基于邻近块与当前块之间的运动信息的相关性以块、子块或样本为基础来预测运动信息。运动信息可以包括运动向量和参考图片索引。运动信息还可以包括帧间预测方向(l0预测、l1预测、bi预测等)信息。在帧间预测的情况下,邻近块可以包括当前图片中存在的空间邻近块和参考图片中存在的时间邻近块。包括参考块的参考图片和包括时间邻近块的参考图片可以彼此相同或彼此不同。时间邻近块可以被称为并置参考块、并置cu(colcu)等,并且包括时间邻近块的参考图片可以被称为并置图片(colpic)。例如,帧间预测器221可以基于邻近块来配置运动信息候选列表,并且生成指示哪个候选被用于导出当前块的运动向量和/或参考图片索引的信息。可以基于各种预测模式来执行帧间预测。例如,在跳过模式和合并模式的情况下,帧间预测器221可以使用邻近块的运动信息作为当前块的运动信息。在跳过模式下,与合并模式不同,不能发送残差信号。在运动信息预测(运动向量预测、mvp)模式的情况下,邻近块的运动向量可以被用作运动向量预测项,并且可以通过发信号通知运动向量差来指示当前块的运动向量。
72.预测器220可以基于各种预测方法来生成预测信号。例如,预测器可以应用帧内预测或帧间预测以便对一个块进行预测,并且也可以同时应用帧内预测和帧间预测。这可以被称为组合帧间和帧内预测(ciip)。此外,预测器可以基于帧内块复制(ibc)预测模式或调色板模式以便对块执行预测。ibc预测模式或调色板模式可以被用于游戏等的内容图像/视频编码,诸如屏幕内容编码(scc)。尽管ibc基本上在当前块中执行预测,但是在当前块中导出参考块的方面能够类似于帧间预测执行。也就是说,ibc可以使用本公开中描述的帧间预测技术中的至少一种。
73.通过帧间预测器221和/或帧内预测器222生成的预测信号可以用于生成重构信号或者生成残差信号。变换器232可以通过对残差信号应用变换技术来生成变换系数。例如,变换技术可以包括离散余弦变换(dct)、离散正弦变换(dst)、基于图的变换(gbt)或条件非线性变换(cnt)等。这里,gbt意指当通过图来表示像素之间的关系信息时从图获得的变换。cnt是指基于使用所有先前重构的像素生成的预测信号而获得的变换。另外,变换过程可以
被应用于具有相同大小的正方形像素块或者可以被应用于具有可变大小的块而不是正方形块。
74.量化器233可以对变换系数进行量化并且将它们发送到熵编码器240,并且熵编码器240可以对量化的信号(关于量化的变换系数的信息)进行编码并且在比特流中输出编码的信号。关于量化的变换系数的信息可以被称为残差信息。量化器233可以基于系数扫描顺序将块型量化的变换系数重新布置成一维矢量形式,并且基于一维矢量形式的量化的变换系数来生成关于量化的变换系数的信息。熵编码器240可以执行各种编码方法,诸如例如指数哥伦布(exponential golomb)、上下文自适应可变长度编码(cavlc)、上下文自适应二进制算术编码(cabac)等。熵编码器240可以对除量化的变换系数(例如,语法元素的值等)以外的视频/图像重构所必需的信息一起或分别进行编码。编码的信息(例如,编码的视频/图像信息)可以被以比特流的形式在网络抽象层(nal)的单元基础上发送或存储。视频/图像信息还可以包括关于各种参数集的信息,诸如自适应参数集(aps)、图片参数集(pps)、序列参数集(sps)、视频参数集(vps)等。此外,视频/图像信息还可以包括一般约束信息。在本公开中,从编码设备发送/发信号通知给解码设备的信息和/或语法元素可以被包括在视频/图像信息中。视频/图像信息可以通过上述编码过程来编码并且被包括在比特流中。比特流可以通过网络来发送,或者被存储在数字存储介质中。这里,网络可以包括广播网络、通信网络和/或类似物,而数字存储介质可以包括诸如usb、sd、cd、dvd、蓝光、hdd、ssd等这样的各种存储介质。发送从熵编码器240输出的信号的发送器(未示出)和/或存储它的存储装置(未示出)可以被配置为编码设备200的内部/外部元件,或者发送器可以被包括在熵编码器240。
75.从量化器233输出的量化变换系数可以用于生成预测信号。例如,通过经由解量化器234和逆变换器235对量化的变换系数应用解量化和逆变换,可以重构残差信号(残差块或残差样本)。加法器250将重构残差信号加到从预测器220输出的预测信号,使得可以生成重构信号(重构图像、重构块、重构样本或重构样本阵列)。当如在应用跳过模式的情况下一样处理目标块没有残差时,可以将预测块用作重构块。所生成的重构信号可以被用于当前块中的下一处理目标块的帧内预测,并且如稍后描述的,可以通过滤波被用于下一图片的帧间预测。
76.同时,在图片编码和/或重构过程中,可以应用亮度映射与色度缩放(lmcs)。
77.滤波器260可以通过对重构信号应用滤波来改善主观/客观视频质量。例如,滤波器260可以通过对重构图片应用各种滤波方法来生成修改的重构图片,并且可以将修改的重构图片存储在存储器270中,具体地在存储器270的dpb中。各种滤波方法可以包括例如去块滤波、样本自适应偏移、自适应环路滤波、双边滤波等。如稍后在每种滤波方法的描述中讨论的,滤波器260可以生成与滤波有关的各种信息,并且将所生成的信息发送到熵编码器290。关于滤波的信息可以在熵编码器290中被编码并且以比特流的形式输出。
78.已被发送到存储器270的修改后的重构图片可以被用作帧间预测器280中的参考图片。通过这个,编码设备能够在应用帧间预测时避免编码设备200和解码设备中的预测失配,并且也能够改善编译效率。
79.存储器270dpb可以存储修改的重构图片以便将它用作帧间预测器221中的参考图片。存储器270可以存储已从中导出运动信息(或对其进行编码)的当前图片中的块的运动
信息,和/或已经重构的图片中的块的运动信息。可以将所存储的运动信息发送到帧间预测器221以被用作邻近块的运动信息或时间邻近块的运动信息。存储器270可以存储当前图片中的重构块的重构样本,并且将它们发送到帧内预测器222。
80.图3是示意性地描述可以应用本文件的视频/图像解码设备的配置的图。
81.参照图3,视频解码设备300可以包括熵解码器310、残差处理器320、预测器330、加法器340、滤波器350和存储器360。预测器330可以包括帧间预测器331和帧内预测器332。残差处理器320可以包括解量化器321和逆变换器321。根据实施方式,上面已描述的熵解码器310、残差处理器320、预测器330、加法器340和滤波器350可以由一个或更多个硬件组件(例如,解码器芯片组或处理器)构成。另外,存储器360可以包括解码图片缓冲器(dpb),并且可以由数字存储介质构成。硬件组件还可以包括存储器360作为内部/外部组件。
82.当输入包括视频/图像信息的比特流时,解码设备300可以与据此已在图2的编码设备中处理视频/图像信息的处理对应地重构图像。例如,解码设备300可以基于与从比特流获得的与块分割相关的信息来导出单元/块。解码设备300可以通过使用在编码设备中应用的处理单元来执行解码。因此,解码的处理单元可以是例如编译单元,可以用编译树单元或最大编译单元顺着四叉树结构、二叉树结构和/或三叉树结构对其进行分割。可以用编译单元导出一个或更多个变换单元。并且,可以通过再现器来再现通过解码设备300解码并输出的重构图像信号。
83.解码设备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中的至少一个。
84.解量化器321可以通过对量化后的变换系数进行解量化来输出变换系数。解量化器321可以将量化后的变换系数重新布置为二维块的形式。在这种情况下,可以基于已在编码设备中执行的系数扫描的顺序来执行重新布置。解量化器321可以使用量化参数(例如,量化步长信息)对量化后的变换系数执行解量化,并且获得变换系数。
85.逆变换器322通过对变换系数进行逆变换来获得残差信号(残差块、残差样本阵列)。
86.预测器可以对当前块执行预测,并且生成包括针对当前块的预测样本的预测块。预测器可以基于从熵解码器310输出的关于预测的信息来确定向当前块应用帧内预测还是帧间预测,并且具体地可以确定帧内/帧间预测模式。
87.预测器可以基于各种预测方法来生成预测信号。例如,预测器可以应用帧内预测或帧间预测以便对一个块进行预测,并且也可以同时应用帧内预测和帧间预测。这可以被称为组合帧间和帧内预测(ciip)。另外,预测器可以执行帧内块复制(ibc)以便对块进行预测。帧内块复制可以被用于游戏等的内容图像/视频编译,诸如屏幕内容编译(scc)。尽管ibc基本上在当前块中执行预测,但是在当前块中导出参考块的方面能够类似于帧间预测执行。也就是说,ibc可以使用本公开中描述的帧间预测技术中的至少一种。
88.帧内预测器331可以通过参考当前图片中的样本来预测当前块。根据预测模式,所参考的样本可以位于当前块的邻居中或者远离当前块。在帧内预测中,预测模式可以包括多种非定向模式和多种定向模式。帧内预测器331可以通过使用应用于邻近块的预测模式来确定应用于当前块的预测模式。
89.帧间预测器332可以基于由参考图片上的运动向量指定的参考块(参考样本阵列)来导出当前块的预测块。此时,为了减少在帧间预测模式下发送的运动信息量,可以基于邻近块与当前块之间的运动信息的相关性在块、子块或样本基础上预测运动信息。运动信息可以包括运动向量和参考图片索引。运动信息还可以包括帧间预测方向(l0预测、l1预测、bi预测等)信息。在帧间预测的情况下,邻近块可以包括存在于当前图片中的空间邻近块和存在于参考图片中的时间邻近块。例如,帧间预测器332可以基于邻近块来配置运动信息候选列表,并且基于接收到的候选选择信息来导出当前块的运动矢量和/或参考图片索引。可以基于各种预测模式来执行帧间预测,并且关于预测的信息可以包括指示用于当前块的帧间预测模式的信息。
90.加法器340可以通过将所获得的残差信号加到从预测器330输出的预测信号(预测块、预测样本阵列)来生成重构信号(重构图片、重构块、重构样本阵列)。当如在应用跳过模式的情况下一样处理目标块没有残差时,可以将预测块用作重构块。
91.加法器340可以被称为重构器或重构块生成器。所生成的重构信号可以用于当前图片中的要处理的下一块的帧内预测,可以通过如下所述的滤波而输出,或者可以用于下一图片的帧间预测。
92.此外,亮度映射与色度缩放(lmcs)可以被应用于图片解码处理。
93.滤波器350可以通过向重构后的信号应用滤波来改善主观/客观图像质量。例如,滤波器350可以通过向重构图片应用各种滤波方法来生成修改后的重构图片,并且将修改后的重构图片存储在存储器360中,具体地,存储在存储器360的dpb中。各种滤波方法可以
包括例如去块滤波处理、样本自适应偏移、自适应环路滤波、双边滤波等。
94.已被存储在存储器360的dpb中的(修改后的)重构图片可以被用作帧间预测器332中的参考图片。存储器360可以存储已从中导出运动信息(或对其进行解码)的当前图片中的块的运动信息,和/或已经重构的图片中的块的运动信息。可以将所存储的运动信息发送到帧间预测器260以被用作邻近块的运动信息或时间邻近块的运动信息。存储器360可以存储当前图片中的重构块的重构样本,并且将它们发送到帧内预测器331。
95.在本说明书中,在解码设备300的预测器330、解量化器321、逆变换器322和滤波器350中描述的示例分别可以被类似地或相应地应用于编码设备200的预测器220、解量化器234、逆变换器235和滤波器260。
96.如上所述,在执行视频编译时,执行预测以提高压缩效率。可以通过预测生成包括当前块的预测样本的预测块,即,目标编译块。在这种情况下,预测块包括空间域(或像素域)中的预测样本。在编码设备和解码设备中同样地导出预测块。编码设备可以通过向解码设备发信号通知关于原始块而非原始块的原始样本值本身与预测块之间的残差的信息(残差信息)来提高图像编译效率。解码设备可以基于残差信息来导出包括残差样本的残差块,可以通过将残差块与预测块相加来生成包括重构样本的重构块,并且可以生成包括重构块的重构图片。
97.可以通过变换和量化过程来生成残余信息。例如,编码设备可以导出原始块与预测块之间的残差块,可以通过对残差块中所包括的残差样本(残差样本阵列)执行变换过程来导出变换系数,可以通过对变换系数执行量化过程来导出量化变换系数,并且可以(通过比特流)向解码设备发信号通知相关残差信息。在这种情况下,残差信息可以包括诸如值信息、位置信息、变换方案、变换核以及量化变换系数的量化参数这样的信息。解码设备可以基于残差信息执行反量化/逆变换过程,并且可以导出残差样本(或残差块)。解码设备可以基于预测块和残差块来生成重构图片。此外,编码设备可以通过对量化后的变换系数进行反量化/逆变换来导出残差块以供后续图片的帧间预测参考,并且可以生成重构图片。
98.图4示意性地例示了根据本公开的实施方式的多变换技术。
99.参照图4,变换器可以对应于上述图2的编码设备中的变换器,并且逆变换器可以对应于上述图2的编码设备中的逆变换器,或者对应于图3的解码设备中的逆变换器。
100.变换器可以通过基于残差块中的残差样本(残差样本阵列)执行初级变换来导出(初级)变换系数(s410)。该初级变换可以被称为核心变换。在本文中,初级变换可以基于多变换选择(mts),并且当多变换被应用为初级变换时,它可以被称为多核心变换。
101.多核心变换可以表示附加地使用离散余弦变换(dct)类型2和离散正弦变换(dst)类型7、dct类型8和/或dst类型1来变换的方法。也就是说,多核心变换可以表示基于从dct类型2、dst类型7、dct类型8和dst类型1当中选择的多个变换核来将空间域的残差信号(或残差块)变换成频域的变换系数(或初级变换系数)的变换方法。在本文中,从变换器的观点可以将初级变换系数称为时间变换系数。
102.也就是说,当应用常规的变换方法时,可以通过基于dct类型2对残差信号(或残差块)应用从空间域到频域的变换来生成变换系数。然而,当应用多核心变换时,可以通过基于dct类型2、dst类型7、dct类型8和/或dst类型1对残差信号(或残差块)应用从空间域到频域的变换来生成变换系数(或初级变换系数)。这里,dct类型2、dst类型7、dct类型8和dst类
型1可以被称为变换类型、变换核(kernel)或变换核心(core)。可以基于基函数来定义这些dct/dst类型。
103.如果执行多核心变换,则可以从变换核当中选择用于目标块的垂直变换核和水平变换核,可以基于垂直变换核来对目标块执行垂直变换,并且可以基于水平变换核来对目标块执行水平变换。这里,水平变换可以表示针对目标块的水平分量的变换,而垂直变换可以表示针对目标块的垂直分量的变换。可以基于包括残差块的目标块(cu或子块)的预测模式和/或变换索引来自适应地确定垂直变换核/水平变换核。
104.此外,根据一个示例,如果通过应用mts来执行初级变换,则可以通过将特定基函数设置为预定值并且组合要在垂直变换或水平变换中应用的基函数来设置变换核的映射关系。例如,当将水平变换核表达为trtypehor并且将垂直方向变换核表达为trtypever时,可以将trtypehor或trtypever值0设置为dct2,可以将trtypehor或trtypever的值1设置为dst7,以及可以将trtypehor或trtypever的值2设置为dct8。
105.在这种情况下,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。
106.在一个示例中,根据mts索引信息的变换核集被例示在下表中。
107.[表1]
[0108]
tu_mts_idx[x0][y0]01234trtypehor01212trtypever01122
[0109]
在另一示例中,根据mts索引信息(mts_idx[x][y])和用于当前块(例如,当前编译块)的预测模式(cupredmode[x][y])的trtypehor和trtypever被例示如下。
[0110]
[表2]
[0111][0112]
变换器可以通过基于(初级)变换系数执行次级变换来导出修改的(次级)变换系数(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)区域。
[0113]
变换器可以基于所选择的变换核来执行不可分离次级变换,并且可以获得修改的(次级)变换系数。如上所述,修改的变换系数可以被导出为通过量化器量化的变换系数,并且可以被编码并发信号通知给解码设备,并且传送到编码设备中的解量化器/逆变换器。
[0114]
同时,如上所述,如果次级变换被省略,则作为初级(可分离)变换的输出的(初级)变换系数可以被导出为如上所述通过量化器量化的变换系数,并且可以被编码并发信号通知给解码设备,并且传送到编码设备中的解量化器/逆变换器。
[0115]
逆变换器可以按与已在上述变换器中执行一系列过程的顺序相反的顺序执行该系列过程。逆变换器可以接收(解量化的)变换系数,并且通过执行次级(逆)变换来导出(初级)变换系数(s450),并且可以通过对(初级)变换系数执行初级(逆)变换来获得残差块(残差样本)(s460)。在这方面,从逆变换器的观点看,初级变换系数可以被称为修改的变换系数。如上所述,编码设备和解码设备可以基于残差块和预测块来生成重构块,并且可以基于重构块来生成重构图片。
[0116]
解码设备还可以包括次级逆变换应用确定器(或用于确定是否应用次级逆变换的元件)和次级逆变换确定器(或用于确定次级逆变换的元件)。次级逆变换应用确定器可以确定是否应用次级逆变换。例如,次级逆变换可以是nsst或rst,并且次级逆变换应用确定器可以基于通过解析比特流而获得的次级变换标志来确定是否应用次级逆变换。在另一示例中,次级逆变换应用确定器可以基于残差块的变换系数来确定是否应用次级逆变换。
[0117]
次级逆变换确定器可以确定次级逆变换。在这种情况下,次级逆变换确定器可以基于根据帧内预测模式指定的nsst(或rst)变换集来确定应用于当前块的次级逆变换。在实施方式中,可以取决于初级变换确定方法来确定次级变换确定方法。可以根据帧内预测模式来确定初级变换和次级变换的各种组合。此外,在示例中,次级逆变换确定器可以基于当前块的大小来确定应用次级逆变换的区域。
[0118]
同时,如上所述,如果次级(逆)变换被省略,则可以接收(解量化的)变换系数,可
以执行初级(可分离)逆变换,并且可以获得残差块(残差样本)。如上所述,编码设备和解码设备可以基于残差块和预测块来生成重构块,并且可以基于重构块来生成重构图片。
[0119]
同时,在本公开中,可以在nsst的概念中应用变换矩阵(核)的大小减少的缩减的次级变换(rst),以便减少不可分离次级变换所需要的计算和存储器量。
[0120]
同时,本公开中描述的变换核、变换矩阵和构成变换核矩阵的系数即核系数或矩阵系数可以用8个比特表达。这可以是在解码设备和编码设备中实现的条件,并且可以因与现有的9个比特或10个比特相比能够合理地容纳的性能降级而减少存储变换核所需要的存储器量。另外,用8个比特表达核矩阵可以允许使用小乘法器,并且可能更适合于用于最佳软件实现的单指令多数据(simd)指令。
[0121]
在本说明书中,术语“rst”可以意指基于其大小根据缩减因子而减小的变换矩阵对目标块的残差样本执行的变换。在执行缩减变换的情况下,由于变换矩阵的大小减小,因此可以减少变换所需要的计算量。也就是说,rst可以用于解决在不可分离变换或大尺寸的块的变换时发生的计算复杂度问题。
[0122]
rst可以被称为各种术语,诸如缩减变换、缩减次级变换、约简变换、简化变换、简单变换等,并且rst可以被称为的名称不限于所列举的示例。另选地,由于主要在变换块中包括非零系数的低频区域中执行rst,所以它可以被称为低频不可分离变换(lfnst)。
[0123]
同时,当基于rst来执行次级逆变换时,编码设备200的逆变换器235和解码设备300的逆变换器322可以包括基于变换系数的逆rst来导出修改的变换系数的逆缩减次级变换器,以及基于修改的变换系数的逆初级变换来导出目标块的残差样本的逆初级变换器。逆初级变换是指应用于残差的初级变换的逆变换。在本公开中,基于变换来导出变换系数可以是指通过应用变换来导出变换系数。
[0124]
在下文中,描述缩减自适应(或显式)多变换选择(或集合)(rmts)。
[0125]
如上所述,当多变换集(显式多变换或自适应多变换)中的多个变换(dct2、dst7、dct8、dst1、dct5等)的组合被选择性地用于初级变换时,可以将变换仅应用于预定义区域以便降低复杂度,而不是在所有情况下执行变换,从而在最坏情况下显著地降低复杂度。
[0126]
例如,当基于前面的缩减变换(rt)方法来将初级变换应用于m
×
m像素块时,可以仅对r
×
r(m>=r)变换块执行计算,而不是获得m
×
m变换块。结果,有效系数(非零系数)仅存在于r
×
r区域中,并且存在于其他区域中的系数可以被认为是零而不用被计算。下表例示了使用根据应用初级变换的块的大小预定义的缩减变换因子(r)的缩减自适应多变换(ramt)的三个示例。
[0127]
[表3]
[0128]
变换大小缩减变换1缩减变换2缩减变换38x84x46x66x616x168x812x128x832x3216x1616x1616x1664x6432x3216x1616x16128x12832x3216x1616x16
[0129]
根据一个示例,在应用上面例示的缩减多变换时,可以基于初级变换来确定缩减变换因子。例如,当初级变换为dct2时,与其他初级变换相比计算简单,并且因此对于小块
可能不使用缩减变换或者对于小块可以使用相对较大的r值,从而使编译性能的降低最小化。例如,不同的缩减变换因子可以被用于dct2和其他变换如下。
[0130]
[表4]
[0131]
变换大小针对dct2的缩减变换除了dct2之外的缩减变换8x88x84x416x1616x168x832x3232x3216x1664x6432x3232x32128x12832x3232x32
[0132]
如表4所示,当初级变换为dct2时,变换的大小在要被变换的块的大小为8
×
8或16
×
16时不变,并且变换的缩减大小在块的大小为32
×
32或更大时限于32
×
32。
[0133]
另选地,根据示例,当指示是否应用mts的标志值为0时(即,当对于水平方向和垂直方向二者应用dct2时),仅从左或顶部起的32个系数可以被留下并且对于两个(水平和垂直)方向,高频分量可以被归零,即设置为0(归零实施方式1)。
[0134]
例如,在64
×
64变换单元(tu)中,变换系数仅留在左顶部32
×
32区域中,在64
×
16tu中,变换系数仅留在左顶部32
×
16区域中,而在8
×
64tu中,变换系数仅留在左顶部8
×
32区域中。也就是说,在宽度和高度二者上存在与仅至多最大长度为32对应的变换系数。
[0135]
这种归零方法可以仅被应用于应用了帧内预测的残差信号或者可以仅被应用于应用了帧间预测的残差信号。另选地,可以对应用了帧内预测的残差信号和应用了帧间预测的残差信号二者应用归零方法。
[0136]
能够被表达为前面的归零或高频归零化的变换块大小的变化是指将在具有w1的第一宽度(或长度)和h1的第一高度(或长度)的(变换)块中与某个值或更大的高频率有关的变换系数归零化(确定为0)的过程。当应用高频归零化时,可以将(变换)块中的变换系数当中的在基于w2的第二宽度和h2的第二高度而配置的低频变换系数区域外部的所有变换系数的变换系数值确定(设置)为0。低频变换系数区域的外部可以被称为高频变换系数区域。在示例中,低频变换系数区域可以是从(变换)块的左顶部起的矩形区域。
[0137]
也就是说,高频归零化可以被定义为将通过n或更大的x坐标和m或更大的y坐标所定义的位置处的所有变换系数设置为0,其中当前变换块(tb)的左顶部位置的水平x坐标值被设置为0并且其垂直y坐标值被设置为0(并且其中x坐标从左向右增加并且y坐标向下增加)。
[0138]
如本文所用,特定术语或表达用于定义特定信息或概念。例如,如上所述,在本公开中,将在具有w1的第一宽度(或长度)和h1的第一高度(或长度)的(变换)块中与某个值或更大的高频率有关的变换系数归零化的过程被定义为“高频归零化”,通过高频归零化来执行归零化的区域被定义为“高频变换系数区域”,而不执行归零化的区域被定义为“低频变换系数区域”。w2的第二宽度(或长度)和h2的第二高度(长度)用于表达低频变换系数区域的大小。
[0139]
然而,“高频归零化(high

frequency zeroing)”可以用诸如高频率归零化(high frequency zeroing)、高频率归零(high frequency zeroing

out)、高频归零(high

frequency zeroing

out)、高频归零(high

frequency zero

out)和归零(zero

out)这样
的各种术语替换,并且“高频变换系数区域”可以用诸如高频归零化应用区域、高频归零化区域、高频区域、高频系数区域、高频归零区域和归零区域这样的各种术语替换,并且“低频变换系数区域”可以用诸如高频未应用归零化区域、低频区域、低频系数区域和受限区域这样的各种术语替换。因此,本文中用于定义特定信息或概念的特定术语或表达需要根据由术语指示的内容鉴于各种操作、功能和效果在整个说明书中进行解释,而不限于该名称。
[0140]
另选地,根据一个示例,低频变换系数区域是指在执行高频归零化之后的剩余区域或有效变换系数仍然存在的区域并且可以被称为归零区域或归零块。
[0141]
根据一个示例,当指示是否应用mts的标志值为1时,也就是说,当除dct2以外的不同变换(dst7或dct8)适用于水平方向和垂直方向时,变换系数可以仅留在左顶部区域中,而剩余区域可以被归零如下(归零实施方式2)。
[0142]

当宽度(w)等于或大于2
n
时,仅从左起与w/2
p
的长度对应的变换系数可以留下,而剩余变换系数可以被固定为0(归零)。
[0143]

当高度(h)等于或大于2
m
时,仅从顶部起与h/2
q
的长度对应的变换系数可以留下,而剩余变换系数可以被固定为0(归零)。
[0144]
这里,m、n、p和q可以是等于或大于0的整数,并且可以具体地如下。
[0145]
1)(m,n,p,q)=(5,5,1,1)
[0146]
2)(m,n,p,q)=(4,4,1,1)
[0147]
在配置1)中,变换系数仅留在32
×
16tu中的左顶部16
×
16区域中,并且变换系数仅留在8
×
32tu中的左顶部8
×
16区域中。
[0148]
这种归零方法可以被仅应用于对其应用帧内预测的残差信号或者可以被仅应用于对其应用帧间预测的残差信号。另选地,可以对应用了帧内预测的残差信号和应用了帧间预测的残差信号二者应用归零方法。
[0149]
另选地,根据另一示例,当指示是否应用mts的标志值为1时,也就是说,当除dct2以外的不同变换(dst7或dct8)适用于水平方向和垂直方向时,变换系数可以仅留在左顶部区域中,而剩余区域可以被归零如下(归零实施方式3)。
[0150]

当高度(h)等于或大于宽度(w)并且等于或大于2
n
时,仅左顶部w
×
(h/2
p
)区域中的变换系数可以被留下,而剩余变换系数可以被固定为0(归零)。
[0151]

当宽度(w)大于高度(h)并且等于或大于2
m
时,仅左顶部(w/2
q
)
×
h区域中的变换系数可以被留下,而剩余变换系数可以被固定为0(归零)。
[0152]
在上述条件下,当高度(h)和宽度(w)相同时,垂直长度减小(h/2p),但是水平长度也可以减小(w/2q)。
[0153]
这里,m、n、p和q可以是等于或大于0的整数,并且可以具体地如下。
[0154]
1)(m,n,p,q)=(4,4,1,1)
[0155]
2)(m,n,p,q)=(5,5,1,1)
[0156]
在配置1)中,变换系数仅留在32
×
16tu中的左顶部16
×
16区域中,并且变换系数仅留在8
×
16tu中的左顶部8
×
8区域中。
[0157]
这种归零方法可以被仅应用于对其应用帧内预测的残差信号或者可以被仅应用于对其应用帧间预测的残差信号。另选地,可以对应用了帧内预测的残差信号和应用了帧间预测的残差信号二者应用归零方法。
[0158]
在前面的实施方式中,取决于指示是否应用mts的标志值为0或指示是否应用mts的标志值为1而限制变换系数区域。根据一个示例,这些实施方式的组合是可能的。
[0159]
1)归零实施方式1 归零实施方式2
[0160]
2)归零实施方式1 归零实施方式3
[0161]
如归零实施方式2和归零实施方式3中提及的,归零可以被仅应用于应用了帧内预测的残差信号或者可以被仅应用于应用了帧间预测的残差信号。另选地,可以对应用了帧内预测的残差信号和应用了帧间预测的残差信号二者应用归零方法。相应地,当mts标志为1时,可以配置下表(当mts标志为0时,可以应用归零实施方式1)。
[0162]
[表5]
[0163]
配置索引帧内预测残差信号帧间预测残差信号1不应用归零不应用归零2不应用归零归零实施方式23不应用归零归零实施方式34归零实施方式2不应用归零5归零实施方式2归零实施方式26归零实施方式2归零实施方式37归零实施方式3不应用归零8归零实施方式3归零实施方式29归零实施方式3归零实施方式3
[0164]
在归零实施方式1、归零实施方式2和归零实施方式3中,清楚地定义了在tu中不可避免地包括值0的区域。也就是说,除允许存在变换系数的左顶部区域以外的区域被归零。因此,根据实施方式,可以被配置成绕过其中作为残差信号的熵编译的结果的变换系数确切地具有值0的区域,而不对其执行残差编译。例如,以下配置是可能的。
[0165]
1)在hevc或vvc中,指示非零变换系数是否存在于一个系数组(cg,其取决于子块和tu块的形状以及亮度分量/色度分量而可以为4
×
4或2
×
2块)的标志被编译(subblock_flag)。只有当subblock_flag为1时,才扫描cg的内部并且对系数级别值进行编译。因此,对于属于执行归零的区域的cg,subblock_flag可以被默认设置为值0而不被编译。
[0166]
2)在hevc或vvc中,前向扫描顺序上的最后系数(x方向上的last_coefficient_position_x和y方向上的last_coefficient_position_y)的位置首先被编译。通常,last_coefficient_position_x和last_coefficient_position_y分别可以具有(tu的宽度

1)的最大值和(tu的高度

1)的最大值。然而,当非零系数能够存在于其中的区域由于归零被限制时,last_coefficient_position_x和last_coefficient_position_y的最大值也被限制。因此,last_coefficient_position_x和last_coefficient_position_y的最大值可以鉴于归零被限制,然后可以被编译。例如,当应用于last_coefficient_position_x和last_coefficient_position_y的二值化方法是截断一元二值化时,可以基于调整后的最大值来减小截断一元码的最大长度(last_coefficient_position_x和last_coefficient_position_y能够具有的码字长度)。
[0167]
如上所述,在左顶部32
×
32区域为低频变换系数区域(在下文中,称为32点缩减mts或rmts32)的情况下,在应用mts方案的情况下,并且在应用32点dst7或32点dct8的任何
情况下,可以特别应用归零。
[0168]
图5例示了根据本公开的示例的32点归零。
[0169]
如图5所示,当块被划分并且对区域a应用变换时,dst7或dct8可以被应用于每侧并且在水平方向和垂直方向上应用的变换对不限于图5所例示的示例。在图5中,整个块的宽度和高度分别由w和h表示,并且实际上应用了可分离变换的块的宽度和高度被表达为(宽度,高度)的对,其为(w1,h)或(w,h1)。w1可以为w的1/2或1/4,并且h1也可以为h的1/2或1/4。
[0170]
应用了变换的块可以如图5所示在整个块中被定位左侧或右侧或在顶部或底部。此外,图5的块可以是由通过帧间预测生成的残差信号。可以发信号通知指示是否对如图5所示分区的残差信号的仅一个子块应用变换的标志,并且当标志为1时,也可以通过信令来设置指示如图5所示块被垂直地分区还是水平地分区的标志。
[0171]
也可以发信号通知指示实际上应用了变换的块a在整个块中被定位在左侧还是右侧的标志或指示块a被定位在顶部还是底部的标志。
[0172]
如图5所例示的,当针对特定块确定水平变换和垂直变换时,不是通过mts信令来指定水平变换和垂直变换,而是如果水平边和垂直边各自具有32的长度,则可以在每个方向上应用上面提出的rmts32。例如,当在图5中块被垂直地分区时,如果块a的高度为32,则可以在垂直方向上应用归零。具体地,当块a为16
×
32时,左顶部16
×
16块可能被归零,并且因此有效系数可能仅存在于对应大小的区域中。在rmts32中,对于被归零的区域可以省略残差编译,或者仅未被归零的区域可以被扫描并且可以经受残差编译。
[0173]
图6例示了根据本公开的实施方式的残差块的分区。
[0174]
残差块可以如图6所示被分区,并且实际上应用了变换的块a的宽度和高度关于原始变换块的宽度(w)和高度(h)分别可以为w/4和h/4。
[0175]
总之,如果长度为32的dst7或dct8在水平方向和垂直方向的每一个上适用,则可以对应用了变换的任何块应用rmts32。是否应用长度为32的dst7或dct8可以通过预设的信令来确定或者可以根据预定编译条件在没有信令的情况下被确定。
[0176]
根据图5和图6的实施方式描述归零的规范文本被例示在下表中。在下表中,变换可以被应用于通过帧间预测生成的残差信号并且可以被称为子块变换(sbt)。残差信号块通过sbt被分区成两个分区块,并且可以对分区后的块中的仅一个应用分离的变换。
[0177]
[表6]
[0178]
7.3.4.6编译单元语法
[0179][0180]
表6示出了应用了帧间预测的cu的语法,并且可以通过表6中的四个语法元素来确定应用了sbt的分区形状。
[0181]
cu_sbt_flag指示是否对cu应用sbt,并且cu_sbt_quad_flag是指示当一个cu被分区成两个分区块时应用了变换的块是否为整个块的1/4的标志信息。当cu_sbt_quad_flag为0时,分区块的大小为整个块的1/2。当cu_sbt_quad_flag为1时,分区块的大小为cu的宽度或高度的1/4。当cu的宽度为w并且其高度为h时,分区块的高度可以为h1=(1/4)
×
h或者分区块的宽度可以为w1=(1/4)
×
w。
[0182]
cu_sbt_horizontal_flag等于1指示cu被水平地分区,而cu_sbt_horizontal_flag等于0指示cu被垂直地分区。
[0183]
关于cu_sbt_pos_flag,标志值等于0指示变换被应用于水平或垂直分区中的顶部或左分区块,而标志值等于1指示变换被应用于底部或右分区块。
[0184]
下表例示了根据cu_sbt_horizontal_flag和cu_sbt_pos_flag的trtypehor和trtypever。
[0185]
[表7]
[0186]
cu_sbt_horizontal_flagcu_sbt_pos_flagtrtypehortrtypever0021
011110121111
[0187]
如上所述,当水平变换核由trtypehor表示并且垂直变换核由trtypever表示时,可以为dct2设置trtypehor或trtypever值0,可以为dst7设置trtypehor或trtypever值1,并且可以为dct8设置trtypehor或trtypever值2。因此,当应用了变换的分区块的至少一边的长度为64或更大时,可以在水平方向和垂直方向二者上应用dct2,否则,可以应用dst7或dct8。
[0188]
[表8]
[0189]
7.3.4.11变换单元语法
[0190][0191]
[表9]
[0192]
7.3.4.12残差编译语法
[0193][0194]
表8示出了根据示例的tu语法的一部分,并且表9示出了残差编译语法的一部分。
[0195]
在表8中,tu_mts_idx[x0][y0]表示应用于变换块的mts索引,并且可以如表1所示根据mts索引来确定trtypehor和trtypever。
[0196]
表9中的语法元素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)和/或特定帧内/帧间预测模式应用帧内/帧间预测来确定扫描顺序。
[0197]
可以基于表8中的tu_mts_idx[x0][y0]来在表9的残差编译中设置归零区域。
[0198]
当cu_sbt_flag为1、应用了变换的块的高度为32或更小(log2tbheight<6)并且其宽度为32(log2tbwidth<6&&log2tbwidth>4)时,变换的宽度块被设置为16(log2tbwidth=4)。在cu_sbt_flag不为1、变换块高度大于32或者变换块的宽度不为32的其他情况下,可以将变换块的宽度设置为变换块的宽度和32中的较小值。也就是说,可以通过归零将变换块
的最大宽度限制为32。
[0199]
类似地,当cu_sbt_flag为1、应用了变换的块的宽度为32或更小(log2tbwidth<6)并且其高度为32(log2tbheight<6&&log2tbheight>4)时,变换块的高度被设置为16(log2tbheight=4)。在cu_sbt_flag不为1、变换块的宽度大于32或者变换块的高度不为32的其他情况下,可以将变换块的高度设置为变换块的高度和32中的较小值。也就是说,可以通过归零将变换块的最大高度限制为32。
[0200]
根据表7,当分区块的至少一边的长度为64或更大时,可以在水平方向和垂直方向二者上应用dct2,否则,可以应用dst7或dct8。因此,当应用sbt时,只有当应用了变换的分区块的所有两边都具有32或更小的长度时,才可以通过应用rmts32来执行归零。也就是说,当块在每个方向上的长度为32时,可以通过应用长度为32的dst7或dct8来留下仅16个变换系数。
[0201]
如表9所示,当应用rmts32时,可以考虑未被归零的剩余区域(低频变换系数区域)的宽度和高度作为tu的实际宽度和高度来执行编译,而不是将原始变换单元的宽度和高度用于编译(log2tbwidth=min(log2tbwidth,5)或log2tbheight=min(log2tbheight,5))。
[0202]
例如,当原始tu的宽度
×
高度为32
×
16时,如果应用rmts32,则非零系数通过归零仅存在于左顶部16
×
16区域中。因此,可以将tu的宽度和高度分别设置为16和16,然后可以对语法元素(例如,last_sig_coeff_x_prefix和last_sig_coeff_y_prefix)进行编译。
[0203]
总之,根据表9的残差编译,通过在对last_sig_coeff_x_prefix进行编译之前改变log2tbwidth和log2tbheight的值来改变tu的实际宽度和高度,并且随后根据改变的值来对语法元素进行编译。
[0204]
当tu大小由于高频变换系数的归零而减小到低频变换系数区域时,表9的语法元素的语义被例示在表10中。
[0205]
[表10]
[0206][0207]
参考表10,last_sig_coeff_x_prefix和last_sig_coeff_y_prefix限于范围为0至(log2tbwidth<<1)

1或(log2tbheight<<1)

1的值,其中log2tbwidth或log2tbheight可以是具有如表9所示的减小大小的变换块的宽度或高度。
[0208]
当变换块的大小改变时,用于last_sig_coeff_x_prefix和last_coeff_y_prefix的上下文选择的变换块的大小也可以改变。表11例示了导出用于导出last_sig_coeff_x_prefix和last_sig_coeff_y_prefix的上下文增量(ctxinc)的过程,并且表12例示了考虑
到减小的tu对last_sig_coeff_x_prefix和last_sig_coeff_y_prefix的二值化。由于可以通过上下文增量来选择和划分上下文,所以可以基于上下文增量来导出上下文模型。
[0209]
[表11]
[0210][0211]
[表12]
[0212][0213]
如表11所示,在解析last_sig_coeff_x_prefix时变量log2tbsize被设置为log2tbwidth,而在解析last_sig_coeff_y_prefix时被设置为log2tbheight,其中log2tbwidth和log2tbheight表示诸如低频变换系数区域这样的减小tu的宽度和高度。
[0214]
此外,也基于诸如低频变换系数区域这样的减小tu的宽度和高度来设置表12中last_sig_coeff_x_prefix和last_sig_coeff_y_prefix的最大值(cmax)(cmax=(log2tbwidth<<1)

1,cmax=(log2tbheight<<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的二值化的码字的最大值相同。因此,可以基于归零块的大小来导出指示最后有效系数前缀信息的前缀码字的最大长度。
[0215]
本公开的实施方式提出对于两个语法元素即last_sig_coeff_x_prefix和last_sig_coeff_y_prefix的cabac上下文应用原始tu而不是低频变换系数区域的减小tu的大小。
[0216]
表13示出了根据实施方式的残差编译的语法元素和与其对应的语义。
[0217]
[表13]
[0218][0219]
根据表13,可以提出指示缩短宽度和缩短高度的两个新变量(log2zotbwidth和log2zotbheight)。可以在解析最后有效系数位置的语法之后将tu大小最终更新为log2zotbwidth和log2zotbheight(log2tbwidth=log2zotbwidth,log2tbheight=log2zotbheight)。
[0220]
也就是说,根据本实施方式,可以基于关于最后有效系数的位置信息来导出残差
样本,其中可以基于其大小不变的原始变换块的大小来导出上下文模型,并且可以基于归零块的大小来导出最后有效系数的位置。这里,归零块的大小(具体地,宽度或高度)小于原始变换块的大小、宽度或高度。
[0221]
当基于其大小不变的原始变换块的大小来导出上下文模型时,可以将表11中用于导出上下文增量(ctxinc)的log2tbwidth和log2tbheight解释为原始变换块的宽度和高度。
[0222]
根据表13,可以将基于归零块的大小(log2zotbwidth和log2zotbheight)来导出最后有效系数位置的表12改变为表14。
[0223]
[表14]
[0224][0225]
根据表14,基于与诸如低频变换系数区域这样的减小tu的宽度和高度对应的log2zotbwidth和log2zotbheight来设置last_sig_coeff_x_prefix和last_sig_coeff_y_prefix的最大值(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的二值化的码字的最大值相同。因此,可以基于归零块的大小来导出指示最后有效系数前缀信息的前缀码字的最大长度。
[0226]
表15示出了基于其中基于原始tu的大小来执行上下文选择的测试,通过应用减小的tu大小,来执行上下文选择的测试结果。
[0227]
[表15]
[0228][0229]
如表15所示,当通过应用减小的tu大小来执行上下文选择时,与其中基于原始tu的大小来执行上下文选择的测试相比,观察到约0.10%的bd速率减小。也就是说,为了提高残差编译效率,提出要基于原始tu而不是减小的tu即低频变换系数区域来执行上下文选择。
[0230]
以下附图被提供来描述本公开的特定示例。由于附图所例示的装置的特定名称或特定信号/消息/字段的名称是为了例示而提供的,所以本公开的技术特征不限于以下附图
中使用的特定名称。
[0231]
图7是例示了根据本公开的实施方式的视频解码设备的操作的流程图。
[0232]
图7是例示了根据实施方式的解码设备的操作的流程图,并且图8是例示了根据实施方式的解码设备的配置的框图。
[0233]
图7所例示的每个操作可以由图3所例示的解码设备300执行。具体地,s700和s710可以由图3所例示的熵解码器310执行,s720可以由图3所例示的解量化器321执行,s730可以由图3所例示的逆变换器322执行,并且s740可以由图3所例示的加法器340执行。根据s700至s740的操作基于参照图4至图6说明的前面的细节中的一些。因此,与上面参照图4至图6说明的那些细节重叠的特定细节的描述将被省略或者将被简要地进行。
[0234]
如图8所示,根据实施方式的解码设备可以包括熵解码器310、解量化器321、逆变换器322和加法器340。然而,在一些情况下,图8所示的所有组件可以不是解码设备的必要组件,并且解码设备可以被配置有比图8所示的组件更多或更少的组件。
[0235]
在根据实施方式的解码设备中,可以将熵解码器310、解量化器321、逆变换器322和加法器340配置为单独的芯片,或者可以将至少两个组件配置为单个芯片。
[0236]
根据实施方式的解码设备可以接收包括残差信息的比特流(s700)。具体地,解码设备的熵解码器310可以接收包括残差信息的比特流。
[0237]
根据实施方式的解码设备可以基于比特流中包括的残差信息来导出当前块的量化的变换系数(s710)。具体地,解码设备的熵解码器310可以基于比特流中包括的残差信息来导出当前块的量化的变换系数。
[0238]
根据实施方式的解码设备可以基于解量化过程来从量化的变换系数导出变换系数。具体地,解码设备的解量化器321可以基于解量化过程来从量化的变换系数导出变换系数。
[0239]
根据实施方式的解码设备可以通过对所导出的变换系数应用逆变换来导出当前块的残差样本(s720)。具体地,解码设备的逆变换322可以通过对所导出的变换系数应用逆变换来导出当前块的残差样本。
[0240]
根据实施方式的解码设备可以基于当前块的残差样本来生成重构图片(s740)。具体地,解码设备的加法器340可以基于当前块的残差样本来生成重构图片。
[0241]
在实施方式中,当前块的单元可以是变换块(tb)。
[0242]
在实施方式中,用于当前块的变换系数中的每一个可以与包括变换系数0的高频变换系数区域或包括至少一个有效变换系数的低频变换系数区域有关。
[0243]
在实施方式中,残差信息可以包括关于最后有效变换系数在用于当前块的变换系数当中的位置的最后有效系数前缀信息和最后有效系数后缀信息。
[0244]
在一个示例中,最后有效系数前缀信息可以具有基于归零块的大小而确定的最大值。
[0245]
在实施方式中,可以基于指示最后有效系数前缀信息和最后有效系数后缀信息的前缀码字来确定最后有效变换系数的位置。
[0246]
在实施方式中,可以基于低频变换系数区域即归零块的大小来确定前缀码字的最大长度。
[0247]
在实施方式中,可以基于当前块的宽度和高度来确定归零块的大小。
[0248]
在实施方式中,最后有效系数前缀信息可以包括x轴前缀信息和y轴前缀信息,并且前缀码字可以是关于x轴前缀信息的码字和关于y轴前缀信息的码字。
[0249]
在一个示例中,可以将x轴前缀信息表达为last_sig_coeff_x_prefix,可以将y轴前缀信息表达为last_sig_coeff_y_prefix,并且可以将最后有效变换系数的位置表达为(lastsignificantcoeffx,lastsignificantcoeffy)。
[0250]
在实施方式中,残差信息可以包括关于归零块的大小的信息。
[0251]
图9是例示了根据本公开的实施方式的导出残差样本的过程的流程图。
[0252]
图9所例示的每个操作可以由图3所例示的解码设备300执行。具体地,s900和s940可以由图3所例示的熵解码器310执行。
[0253]
首先,如图所示,可以导出当前块的归零块(s900)。如上所述,归零块是指包括非零有效变换系数的低频变换系数区域,并且可以基于当前块的宽度或高度来导出归零块的宽度或高度。
[0254]
另选地,可以基于指示当前块是否被分区成子块然后被变换的标志信息来导出归零块的宽度或高度。例如,当指示当前块是否被分区成子块然后被变换的标志值为1、分区的子块的宽度为32并且子块的高度小于64时,可以将子块的宽度设置为16。另选地,当指示当前块是否被分区成子块然后被变换的标志值为1、分区的子块的高度为32并且子块的宽度小于64时,可以将子块的高度设置为16。
[0255]
另选地,可以基于当前块的mts索引或指示是否对当前块的变换应用mts的信息来导出归零块的宽度或高度。
[0256]
归零块的大小可以小于当前块的大小。具体地,归零块的宽度可以小于当前块的宽度,并且归零块的高度可以小于当前块的高度。
[0257]
具体地,在当前块的宽度为32并且当前块的高度为32或更小时,可以将归零块的宽度设置为16。另选地,在一个示例中,归零块的宽度可能局限于应用dst7或dct8而不是应用dct2作为用于逆初级变换的变换核的情况。
[0258]
当不满足前面的条件时,也就是说,在当前块的宽度不为32或者当前块的高度为64或更大时,可以将归零块的宽度设置为当前块的宽度和32中的较小值。
[0259]
此外,具体地,在当前块的高度为32并且当前块的宽度为32或更小时,可以将归零块的高度设置为16。另选地,在一个示例中,归零块的高度可以局限于应用dst7或dct8而不是应用dct2作为用于逆初级变换的变换核的情况。
[0260]
当不满足前面的条件时,也就是说,在当前块的高度不为32或者当前块的宽度为64或更大时,可以将归零块的高度设置为当前块的高度和32中的较小值。
[0261]
在实施方式中,归零块的大小可以为32
×
16、16
×
32、16
×
16或32
×
32中的一个。
[0262]
在实施方式中,当前块的大小可以为64
×
64,并且归零块的大小可以为32
×
32。
[0263]
解码设备可以基于当前块的宽度或高度来导出用于最后有效系数位置信息的上下文模型(s910)。
[0264]
根据实施方式,可以基于原始变换块的大小而不是归零块的大小来导出上下文模型。具体地,可以基于原始变换块的大小来导出与最后有效系数前缀信息对应的x轴前缀信息和y轴前缀信息的上下文增量。
[0265]
解码设备可以基于所导出的上下文模型来导出最后有效系数位置的值(s920)。
[0266]
如上所述,最后有效系数位置信息可以包括最后有效系数前缀信息和最后有效系数后缀信息,并且可以基于上下文模型来导出最后有效系数位置的值。
[0267]
解码设备可以基于所导出的最后有效系数位置信息的值和归零块的宽度或高度来导出最后有效系数位置(s930)。
[0268]
在一个示例中,解码设备可以在小于当前块的归零块的大小而不是原始当前块的大小的范围内导出最后有效系数位置。也就是说,可以在归零块而不是当前块的大小的范围内导出应用了变换的变换系数。
[0269]
在一个示例中,最后有效系数前缀信息可以具有基于归零块的大小而确定的最大值。
[0270]
在一个示例中,可以基于指示最后有效系数前缀信息和最后有效系数后缀信息的前缀码字来导出最后有效系数位置,并且可以基于归零块的大小来确定前缀码字的最大长度。
[0271]
解码设备可以基于在归零块的宽度或高度的基础上导出的最后有效系数位置来导出残差样本(s940)。
[0272]
以下附图被提供来描述本公开的特定示例。由于附图所例示的装置的特定名称或特定信号/消息/字段的名称是为了例示而提供的,所以本公开的技术特征不限于以下附图中使用的特定名称。
[0273]
图10是例示了根据本公开的实施方式的视频编码设备的操作的流程图,并且图11是例示了根据实施方式的编码设备的配置的框图。
[0274]
根据图10和图11的编码设备可以执行与根据图7和图8的解码设备的操作对应的操作。因此,上面在图7和图8中例示的解码设备的操作可以被同等地应用于根据图10和图11的编码设备。
[0275]
图10所例示的每个操作可以由图2所例示的编码设备200执行。具体地,s1000可以由图2所例示的减法器231执行,s1010可以由图2所例示的变换器232执行,并且s1020可以由量化器233执行,以及s1030可以由图2所例示的熵编码器240执行。根据s1000至s1030的操作基于图4至图6中描述的内容中的一些。因此,与上面参照图4至图6说明的那些细节重叠的特定细节的描述将被省略或者将被简要地进行。
[0276]
如图11所示,根据该实施方式的编码设备可以包括减法器231、变换器232、量化器233和熵编码器240。然而,在一些情况下,图11中所示的所有组件可能不是编码设备的必要组件,并且编码设备可以被配置有比图11所示的组件更多或更少的组件。
[0277]
在根据实施方式的编码设备中,可以将减法器231、变换器232、量化器233和熵编码器240配置为单独的芯片,或者可以将至少两个组件配置为单个芯片。
[0278]
根据实施方式的编码设备可以导出当前块的残差样本(s1000)。具体地,编码设备的减法器231可以导出当前块的残差样本。
[0279]
根据实施方式的编码设备可以变换当前块的残差样本,从而导出用于当前块的变换系数(s1010)。具体地,编码设备的变换器232可以变换当前块的残差样本,从而导出用于当前块的变换系数。
[0280]
根据实施方式的编码设备可以基于量化来从变换系数导出量化的变换系数(s1020)。具体地,编码设备的量化器233可以基于量化来从变换系数导出量化的变换系数。
[0281]
根据实施方式的编码设备可以对包括关于量化的变换系数的信息的残差信息进行编码(s1030)。具体地,编码设备的熵编码器240可以对包括关于量化的变换系数的信息的残差信息进行编码。
[0282]
在实施方式中,用于当前块的变换系数中的每一个可以与包括变换系数0的高频变换系数区域或包括至少一个有效变换系数的低频变换系数区域即归零块有关。
[0283]
在实施方式中,残差信息可以包括关于用于当前块的变换系数当中的最后有效变换系数的位置的最后有效系数前缀信息和最后有效系数后缀信息。
[0284]
在实施方式中,可以基于指示最后有效系数前缀信息和最后有效系数后缀信息的前缀码字来确定最后有效变换系数的位置。
[0285]
在一个示例中,最后有效系数前缀信息可以具有基于归零块的大小而确定的最大值。
[0286]
在实施方式中,可以基于归零块的大小来确定前缀码字的最大长度。
[0287]
在实施方式中,可以基于当前块的宽度和高度来确定归零块的大小。
[0288]
在实施方式中,最后有效系数前缀信息可以包括x轴前缀信息和y轴前缀信息,并且前缀码字可以是关于x轴前缀信息的码字和关于y轴前缀信息的码字。
[0289]
在一个示例中,可以将x轴前缀信息表达为last_sig_coeff_x_prefix,可以将y轴前缀信息表达为last_sig_coeff_y_prefix,并且可以将最后有效变换系数的位置表达为(lastsignificantcoeffx,lastsignificantcoeffy)。
[0290]
在实施方式中,残差信息可以包括关于归零块的大小的信息。
[0291]
图12是例示了根据本公开的实施方式的对残差信息进行编码的过程的流程图。
[0292]
图12所例示的每个操作可以由图2所例示的编码设备200执行。具体地,s1200和s1230可以由图2所例示的熵编码器240执行。
[0293]
首先,如图所示,可以导出当前块的归零块(s1200)。如上所述,归零块是指包括非零有效变换系数的低频变换系数区域,并且可以基于当前块的宽度或高度来导出归零块的宽度或高度。
[0294]
另选地,可以基于指示当前块是否被分区成子块然后被变换的标志信息来导出归零块的宽度或高度。例如,当指示当前块是否被分区成子块然后被变换的标志值为1、分区的子块的宽度为32并且子块的高度小于64时,可以将子块的宽度设置为16。另选地,当指示当前块是否被分区成子块然后被变换的标志值为1、分区的子块的高度为32并且子块的宽度小于64时,可以将子块的高度设置为16。
[0295]
另选地,可以基于当前块的mts索引或指示是否对当前块的变换应用mts的信息来导出归零块的宽度或高度。
[0296]
归零块的大小可以小于当前块的大小。具体地,归零块的宽度可以小于当前块的宽度,并且归零块的高度可以小于当前块的高度。
[0297]
具体地,在当前块的宽度为32并且当前块的高度为32或更小时,可以将归零块的宽度设置为16。另选地,在一个示例中,归零块的宽度可以局限于应用dst7或dct8而不是应用dct2作为用于初级变换的变换核的情况。
[0298]
当不满足前面的条件时,也就是说,在当前块的宽度不为32或者当前块的高度为64或更大时,可以将归零块的宽度设置为当前块的宽度和32中的较小值。
[0299]
此外,具体地,在当前块的高度为32并且当前块的宽度为32或更小时,可以将归零块的高度设置为16。另选地,在一个示例中,归零块的高度可以局限于应用dst7或dct8而不是应用dct2作为用于初级变换的变换核的情况。
[0300]
当不满足前面的条件时,也就是说,在当前块的高度不为32或者当前块的宽度为64或更大时,可以将归零块的高度设置为当前块的高度和32中的较小值。
[0301]
在实施方式中,归零块的大小可以为32
×
16、16
×
32、16
×
16或32
×
32中的一个。
[0302]
在实施方式中,当前块的大小可以为64
×
64,并且归零块的大小可以为32
×
32。
[0303]
编码设备可以基于所导出的归零块的宽度或高度来导出最后有效系数位置(s1210)。
[0304]
在一个示例中,编码设备可以在小于或等于当前块而不是原始当前块的大小的归零块的大小的范围内导出最后有效系数位置。也就是说,可以在归零块而不是当前块的大小的范围内导出应用了变换的变换系数。
[0305]
在一个示例中,可以基于指示最后有效系数前缀信息和最后有效系数后缀信息的前缀码字来导出最后有效系数位置,并且可以基于归零块的大小来确定前缀码字的最大长度。
[0306]
编码设备可以基于当前块的宽度或高度来导出用于最后有效系数位置信息的上下文模型(s1220)。
[0307]
根据实施方式,可以基于原始变换块的大小而不是归零块的大小来导出上下文模型。具体地,可以基于原始变换块的大小来导出与最后有效系数前缀信息对应的x轴前缀信息和y轴前缀信息的上下文增量。
[0308]
编码设备可以基于所导出的上下文模型来对关于最后有效系数位置的值的位置信息进行编码(s1230)。
[0309]
如上所述,最后有效系数位置信息可以包括最后有效系数前缀信息和最后有效系数后缀信息,并且可以基于上下文模型来对最后有效系数位置的值进行编码。
[0310]
在本公开中,可以省略量化/解量化和/或变换/逆变换中的至少一个。当省略量化/解量化时,量化的变换系数可以被称为变换系数。当省略变换/逆变换时,变换系数可以被称为系数或残差系数,或者为了表达的一致性可以仍然被称为变换系数。
[0311]
此外,在本公开中,量化的变换系数和变换系数分别可以被称为变换系数和缩放的变换系数。在这种情况下,残差信息可以包括关于变换系数的信息,并且可以通过残差编译语法来发信号通知关于变换系数的信息。可以基于残差信息(或关于变换系数的信息)来导出变换系数,并且可以通过变换系数的逆变换(缩放)来导出缩放的变换系数。可以基于缩放的变换系数的逆变换(变换)来导出残差样本。也可以在本公开的其他部分中应用/表达这些细节。
[0312]
在上述实施方式中,借助于一系列步骤或框来基于流程图说明方法,但是本公开不限于步骤的顺序,并且可以在与上述顺序或步骤不同的顺序或步骤中或与另一步骤同时地执行某个步骤。此外,本领域的普通技术人员可以理解,流程图所示的步骤不是排他性的,并且在不影响本公开的范围的情况下,可以并入另一步骤或者移除流程图的一个或更多个步骤。
[0313]
可以将根据本公开的上述方法实现为软件形式,并且根据本公开的编码设备和/
或解码设备可以被包括在诸如tv、计算机、智能电话、机顶盒、显示装置等这样的图像处理用装置中。
[0314]
当本公开中的实施方式由软件具体实现时,可以将上述方法具体体现为用于执行上述功能的模块(过程、功能等)。模块可以被存储在存储器中并且可以由处理器执行。存储器可以在处理器内部或外部并且可以以各种公知方式连接到处理器。处理器可以包括专用集成电路(asic)、其他芯片组、逻辑电路和/或数据处理器件。存储器可以包括只读存储器(rom)、随机存取存储器(ram)、闪速存储器、存储卡、存储介质和/或其他存储器件。也就是说,可以在处理器、微处理器、控制器或芯片上具体实现和执行本公开中描述的实施方式。例如,可以在计算机、处理器、微处理器、控制器或芯片上具体实现和执行每个附图所示的功能单元。
[0315]
此外,应用本公开的解码设备和编码设备可以被包括在多媒体广播收发器、移动通信终端、家庭影院视频装置、数字影院视频装置、监视相机、视频聊天装置、诸如视频通信这样的实时通信装置、移动流传输装置、存储介质、摄像机、视频点播(vod)服务提供装置、过顶(ott)视频装置、因特网流传输服务提供装置、三维(3d)视频装置、视频电话视频装置和医疗视频装置,并且可以用于处理视频信号或数据信号。例如,过顶(ott)视频装置可以包括游戏机、蓝光播放器、因特网接入tv、家庭影院系统、智能电话、平板pc、数字视频记录机(dvr)等。
[0316]
另外,应用本公开的处理方法可以以由计算机执行的程序的形式产生,并且被存储在计算机可读记录介质中。具有根据本公开的数据结构的多媒体数据也可以被存储在计算机可读记录介质中。计算机可读记录介质包括其中存储有计算机可读数据的所有种类的存储装置和分布式存储装置。计算机可读记录介质可以包括例如蓝光光盘(bd)、通用串行总线(usb)、rom、prom、eprom、eeprom、ram、cd

rom、磁带、软盘和光学数据存储装置。此外,计算机可读记录介质包括以载波(例如,通过因特网的传输)的形式具体体现的介质。另外,通过编码方法生成的比特流可以被存储在计算机可读记录介质中或者通过有线或无线通信网络发送。附加地,本公开的实施方式可以通过程序代码被具体体现为计算机程序产品,并且可以通过本公开的实施方式在计算机上执行程序代码。程序代码可以被存储在计算机可读载体上。
[0317]
图13例示了应用本公开的内容流传输系统的结构。
[0318]
此外,应用本公开的内容流传输系统可以主要包括编码服务器、流传输服务器、网络服务器、媒体存储装置、用户设备和多媒体输入装置。
[0319]
编码服务器将从诸如智能电话、相机、摄像机等这样的多媒体输入装置输入的内容压缩成数字数据以生成比特流,并且将该比特流传输到流传输服务器。作为另一示例,当诸如智能电话、相机、摄像机等这样的多媒体输入装置直接生成比特流时,可以省略编码服务器。
[0320]
可以通过应用本文件的实施方式的编码方法或比特流生成方法来生成比特流,并且流传输服务器可以在发送或接收比特流的处理中临时存储比特流。
[0321]
流传输服务器基于用户的请求通过网络服务器将多媒体数据发送到用户装置,并且网络服务器用作将服务告知用户的介质。当用户向网络服务器请求所期望的服务时,网络服务器将其传送到流传输服务器,流传输服务器将多媒体数据发送到用户。在这种情况
下,内容流传输系统可以包括单独的控制服务器。在这种情况下,控制服务器用于控制内容流传输系统中的装置之间的命令/响应。
[0322]
流传输服务器可以从媒体存储器和/或编码服务器接收内容。例如,当从编码服务器接收内容时,可以实时地接收内容。在这种情况下,为了提供平稳的流传输服务,流传输服务器可以存储比特流达预定时间。
[0323]
例如,用户设备可以包括移动电话、智能电话、膝上型计算机、数字广播终端、个人数字助理(pda)、便携式多媒体播放器(pmp)、导航、板式pc、平板pc、超极本、可穿戴装置(例如,手表型终端(智能手表)、眼镜型终端(智能眼镜)、头戴式显示器(hmd))、数字tv、台式计算机、数字标牌等。内容流传输系统中的服务器中的每一个可以作为分布式服务器被操作,并且在这种情况下,可以以分布式方式处理由每个服务器接收到的数据。
[0324]
可以以各种方式组合本文公开的权利要求。例如,能够组合本公开的方法权利要求的技术特征以在设备中被实现或执行,并且能够组合设备权利要求的技术特征以在方法中被实现或执行。此外,能够组合方法权利要求和设备权利要求的技术特征可以组合以在设备中被实现或执行,并且能够组合方法权利要求和设备权利要求的技术特征以在方法中被实现或执行。
再多了解一些

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

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

相关文献