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

图像编译系统中用于关于变换核集的信息的上下文编译的制作方法

2022-03-02 06:44:35 来源:中国专利 TAG:


1.本公开涉及图像编译技术,并且更具体地,涉及图像编译系统中用于关于变换核集的信息的上下文编译。


背景技术:

2.最近,在各种领域中对诸如4k或8k超高清(uhd)图像/视频的高分辨率、高质量图像/视频的需求不断增加。随着图像/视频分辨率或质量变得更高,与传统图像/视频数据相比发送相对更多的信息或比特。因此,如果图像/视频数据经由诸如现有有线/无线宽带线路的介质发送或被存储在传统存储介质中,则传输和存储的成本容易增加。
3.此外,对虚拟现实(vr)和人工现实(ar)内容以及诸如全息图这样的沉浸式媒体的兴趣和需求日益增长;并且表现出与实际图像/视频不同的图像/视频特性的图像/视频(例如,游戏图像/视频)的广播也日益增长。
4.因此,需要高度高效的图像/视频压缩技术来有效地压缩并发送、存储或播放如上所述显示出各种特性的高分辨率、高质量图像/视频。


技术实现要素:

5.技术方案
6.根据本文档的实施例,提供了一种用于增强图像/视频编译效率的方法和装置。
7.根据本文档的实施例,提供了一种用于在图像编译中,对关于变换核集的信息进行编译的方法和装置。
8.根据本文档的实施例,提供了一种用于在图像编译系统中,对关于变换核集的信息进行上下文编译/旁路编译的方法和装置。
9.根据本文档的实施例,提供了一种用于发信号通知其中执行了上下文编译/旁路编译的关于变换核集的信息的方法和装置。
10.根据本文档的实施例,提供了一种用于发信号通知表示多个变换核集当中,要应用于当前块的变换核集的信息的方法和装置。
11.根据本文档的实施例,提供了一种用于相对于关于变换核集的信息的bin的上下文编译或旁路编译的方法和装置。
12.根据本文档的实施例,提供了由解码装置执行的视频/图像解码方法。
13.根据本文档的实施例,提供了用于执行视频/图像解码的解码装置。
14.根据本文档的实施例,提供了由编码装置执行的视频/图像编码方法。
15.根据本文档的实施例,提供了用于执行视频/图像编码的编码装置。
16.根据本文档的实施例,提供了存储根据本文档的实施例中的至少一个中公开的视频/图像编码方法生成的编码的视频/图像信息的计算机可读数字存储介质。
17.根据本文档的实施例,提供了存储使解码装置执行在本文档的实施例中的至少一个中公开的视频/图像解码方法的编码的信息或编码的视频/图像信息的计算机可读数字
存储介质。
18.有益效果
19.根据本文档,可以增强整体图像/视频压缩效率。
20.根据本文档,可以有效地发信号通知关于变换核集的信息。
21.根据本文档,可以通过有效地对关于变换核集的信息进行编译来降低编译系统的复杂度。
22.可以通过本文档的详细示例获得的效果不限于以上列举的效果。例如,可以存在相关领域的普通技术人员能够从本文档中理解或导出的各种技术效果。因此,本文档的详细效果不限于在本文档中明确阐述的效果,而是可以包括可以从本文档的技术特征中理解或导出的各种效果。
附图说明
23.图1示意性地图示了适用本文档的视频/图像编译系统的示例。
24.图2是示意性地说明了适用本文档的视频/图像编码装置的配置的示图。
25.图3是示意性地说明了适用本文档的视频/图像解码装置的配置的示图。
26.图4示意性地图示了根据本文档的实施例的图片编码方法。
27.图5示意性地图示了根据本文档的实施例的图片解码方法。
28.图6示例性地示出了用于对语法元素进行编码的上下文自适应二进制算术编译(cabac)。
29.图7和图8示意性地示出了根据本文档的实施例的多变换方案。
30.图9示例性地示出了65个预测方向的帧内定向模式。
31.图10和图11是用于说明根据本文档的实施例的rst的图。
32.图12和图13示意性地图示了根据本文档的实施例的视频/图像编码方法和相关组件的示例。
33.图14和图15示意性地图示了根据本文档的实施例的视频/图像解码方法和相关组件的示例。
34.图16图示了可应用本文档中公开的实施例的内容流传输系统的示例。
具体实施方式
35.本公开可按各种形式修改,将描述并且在附图中图示其特定实施例。然而,这些实施例并非旨在限制本公开。以下描述中使用的术语仅用于描述特定实施例,而非旨在限制本公开。单数表达包括复数表达,只要清楚地不同解读即可。诸如“包括”和“具有”这样的术语旨在指示存在以下描述中使用的特征、数量、步骤、操作、元件、部件或其组合,因此应该理解,不排除存在或添加一个或更多个不同的特征、数量、步骤、操作、元件、部件或其组合的可能性。
36.另外,本文档描述的附图的各个配置是为了说明作为彼此不同的特征的功能而独立的图示的,并不意指各个配置通过彼此不同的硬件或不同的软件被实现。例如,可以组合配置中的两个或更多个的配置以形成一个配置,并且也可以将一个配置划分为多个配置。在不脱离本文档的主旨的情况下,配置被组合和/或分离的实施例被包括在权利要求的范
围内。
37.下文中,将参照附图详细地描述本实施例的示例。另外,在整个附图中,类似的附图标记用于指示类似的元件,并且将省略对类似元件的相同描述。
38.本文档提议了视频/图像编译的各种实施例,并且除非另外提到,否则以上实施例也可以彼此组合地执行。
39.在本文档中,视频可以是指随时间推移的一系列图像。图片通常是指表示特定时间帧的一个图像的单位,并且切片/图块是指在编译方面构成图片的一部分的单位。切片/图块可以包括一个或更多个编译树单元(ctu)。一幅图片可以由一个或更多个切片/图块组成。一幅图片可以由一个或更多个图块组组成。一个图块组可以包括一个或更多个图块。
40.像素或像元(pel)可意指构成一个图片(或图像)的最小单元。另外,“样本”可用作与像素对应的术语。样本通常可表示像素或像素值,并且可仅表示亮度分量的像素/像素值或仅表示色度分量的像素/像素值。
41.单元可表示图像处理的基本单位。单元可包括图片的特定区域和与该区域有关的信息中的至少一个。一个单元可包括一个亮度块和两个色度(例如,cb、cr)块。在一些情况下,单元可与诸如块或区域这样的术语互换使用。在一般情况下,m
×
n块可包括m列和n行的样本(或样本数组)或变换系数的集合(或数组)。另选地,样本可意指空间域中的像素值,并且当这样的像素值被变换到频域时,它可意指频域中的变换系数。
42.本文档涉及视频/图像编译。例如,本文档中公开的方法/实施例可以涉及通用视频编译(vvc)标准(itu-t rec.h.266)、vvc之后的下一代视频/图像编译标准或其他视频编译相关标准(例如,高效视频编译(hevc)标准(itu-t rec.h.265)、基本视频编译(evc)标准、avs2标准等)。
43.在本文档中,术语“/”和“,”应该被解释为指示“和/或”。例如,表述“a/b”可以意指“a和/或b”。另外,“a、b”可以意指“a和/或b”。另外,“a/b/c”可以意指“a、b和/或c中的至少一个”。另外,“a/b/c”可以意指“a、b和/或c中的至少一个”。
44.另外,在该文献中,术语“或”应该被解释为指示“和/或”。例如,表述“a或b”可以包括1)仅a、2)仅b和/或3)a和b二者。换句话说,本文档中的术语“或”应该被解释为指示“另外地或另选地”。
45.在本说明书中,“a和b中的至少一个”可以意指“仅a”、“仅b”或“a和b二者”。另外,在本说明书中,表述“a或b中的至少一个”或“a和/或b中的至少一个”可以被解释为与“a和b中的至少一个”相同。
46.另外,在本说明书中,“a、b和c中的至少一个”可以意指“仅a”、“仅b”、“仅c”或“a、b和c的任何组合”。另外,“a、b或c中的至少一个”或“a、b和/或c中的至少一个”可以意指“a、b和c中的至少一个”。
47.另外,在本说明书中使用的括号可以意指“例如”。具体地,在表达“预测(帧内预测)”的情况下,可以指示“帧内预测”被提议作为“预测”的示例。换句话说,本说明书中的术语“预测”不限于“帧内预测”,并且可以指示“帧内预测”被提议作为“预测”的示例。另外,即使在表达“预测(即,帧内预测)”的情况下,也可以指示“帧内预测”被提议作为“预测”的示例。
48.在本说明书中,在一个附图中被单独说明的技术特征可以单独实现,或者可以同
时实现。
49.图1图示了可以应用本文档的公开内容的视频/图像编译系统的示例。
50.参照图1,视频/图像编译系统可以包括源设备和接收设备。源设备可以通过数字存储介质或网络以文件或流传输的形式将编码的视频/图像信息或数据发送到接收设备。
51.源设备可包括视频源、编码装置和发送器。接收设备可包括接收器、解码装置和渲染器。编码装置可被称为视频/图像编码装置,解码装置可被称为视频/图像解码装置。发送器可被包括在编码装置中。接收器可被包括在解码装置中。渲染器可包括显示器,并且显示器可被配置为单独的设备或外部部件。
52.视频源可通过捕获、合成或生成视频/图像的处理来获取视频/图像。视频源可包括视频/图像捕获设备,和/或视频/图像生成设备。例如,视频/图像捕获设备可包括一个或更多个相机、包括先前捕获的视频/图像的视频/图像档案等。例如,视频/图像生成设备可包括计算机、平板计算机和智能电话,并且可(以电子方式)生成视频/图像。例如,可通过计算机等生成虚拟视频/图像。在这种情况下,视频/图像捕获处理可由生成相关数据的处理代替。
53.编码装置可对输入视频/图像进行编码。为了压缩和编译效率,编码装置可执行诸如预测、变换和量化的一系列过程。编码的数据(编码的视频/图像信息)可按比特流的形式输出。
54.发送器可通过数字存储介质或网络将以比特流的形式输出的编码的图像/图像信息或数据以文件或流的形式发送至接收设备的接收器。数字存储介质可包括诸如usb、sd、cd、dvd、蓝光、hdd、ssd等的各种存储介质。发送器可包括用于通过预定文件格式生成媒体文件的元件,并且可包括用于通过广播/通信网络传输的元件。接收器可接收/提取比特流并且将所接收的比特流发送至解码装置。
55.解码装置可通过执行与编码装置的操作对应的诸如解量化、逆变换和预测的一系列过程对视频/图像进行解码。
56.渲染器可渲染解码的视频/图像。渲染的视频/图像可通过显示器显示。
57.图2是示意性地图示了可以应用本文档的公开内容的视频/图像编码装置的配置的示图。下文中,所谓的视频编码装置可以包括图像编码装置。
58.参照图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作为内部/外部部件。
59.图像分割器210可将输入到编码装置200的输入图像(或者图片或帧)分割成一个或更多个处理器。例如,处理器可被称为编译单元(cu)。在这种情况下,编译单元可根据四叉树二叉树三叉树(qtbttt)结构从编译树单元(ctu)或最大编译单元(lcu)递归地分割。例如,一个编码单元可基于四叉树结构、二叉树结构和/或三元结构被分割成深度更深的多个编码单元。在这种情况下,例如,可首先应用四叉树结构,稍后可应用二叉树结构和/或三元
结构。另选地,可首先应用二叉树结构。可基于不再分割的最终编译单元来执行根据本公开的编译过程。在这种情况下,根据图像特性基于编译效率等,最大编译单元可用作最终编译单元,或者如果需要,编译单元可被递归地分割成深度更深的编译单元并且具有最优大小的编译单元可用作最终编译单元。这里,编译过程可包括预测、变换和重构的过程(将稍后描述)。作为另一示例,处理器还可包括预测单元(pu)或变换单元(tu)。在这种情况下,预测单元和变换单元可从上述最终编译单元拆分或分割。预测单元可以是样本预测的单元,变换单元可以是用于导出变换系数的单元和/或用于从变换系数导出残差信号的单元。
60.在一些情况下,单元可与诸如块或区域这样的术语互换使用。在一般情况下,m
×
n块可表示由m列和n行组成的样本或变换系数的集合。样本通常可表示像素或像素值,可仅表示亮度分量的像素/像素值或者仅表示色度分量的像素/像素值。样本可用作与像素或像元的一个图片(或图像)对应的术语。
61.减法器231可以通过从输入图像信号(原始块、原始样本或原始样本数组)中减去从预测器220输出的预测信号(预测块、预测样本或预测样本数组)来生成残差信号(残差块、残差样本或残差样本数组),并且所生成的残差信号被发送到变换器232。预测器220可以对处理目标块(下文中,被称为“当前块”)执行预测,并生成包括当前块的预测样本的预测块。预测器220可以确定是以当前块或cu为单位应用帧内预测还是帧间预测。如随后在对每种预测模式的描述中所描述的,预测器可以生成诸如预测模式信息这样的与预测相关的各种类型的信息,并将所生成的信息传送到熵编码器240。关于预测的信息可以在熵编码器240中被编码并且以比特流的形式被输出。
62.帧内预测器222可参考当前图片中的样本来预测当前块。根据预测模式,所参考的样本可位于当前块附近或者可隔开。在帧内预测中,预测模式可包括多个非定向模式和多个定向模式。例如,非定向模式可包括dc模式和平面模式。例如,根据预测方向的详细程度,定向模式可包括33个定向预测模式或65个定向预测模式。然而,这仅是示例,可根据设置使用更多或更少的定向预测模式。帧内预测器222可使用应用于邻近块的预测模式来确定应用于当前块的预测模式。
63.帧间预测器221可基于参考图片上运动矢量所指定的参考块(参考样本数组)来导出当前块的预测块。这里,为了减少在帧间预测模式下发送的运动信息量,可基于邻近块与当前块之间的运动信息的相关性以块、子块或样本为单位预测运动信息。运动信息可包括运动矢量和参考图片索引。运动信息还可包括帧间预测方向(l0预测、l1预测、bi预测等)信息。在帧间预测的情况下,邻近块可包括存在于当前图片中的空间邻近块和存在于参考图片中的时间邻近块。包括参考块的参考图片和包括时间邻近块的参考图片可相同或不同。时间邻近块可被称为并置参考块、并置cu(colcu)等,并且包括时间邻近块的参考图片可被称为并置图片(colpic)。例如,帧间预测器221可基于邻近块来配置运动信息候选列表并且生成指示哪一候选用于导出当前块的运动矢量和/或参考图片索引的信息。可基于各种预测模式执行帧间预测。例如,在跳过模式和合并模式的情况下,帧间预测器221可使用邻近块的运动信息作为当前块的运动信息。在跳过模式下,与合并模式不同,可不发送残差信号。在运动矢量预测(mvp)模式的情况下,邻近块的运动矢量可用作运动矢量预测器,并且可通过用信号通知运动矢量差来指示当前块的运动矢量。
64.预测器220可以基于下述的各种预测方法来生成预测信号。例如,预测器不仅可以
应用帧内预测或帧间预测来预测一个块,而且还可以同时应用帧内预测和帧间预测二者。这可以被称为组合的帧间和帧内预测(ciip)。另外,预测器可以执行用于块的预测的帧内块复制(ibc)。帧内块复制可以用于游戏等的内容图像/运动图像编译,例如,屏幕内容编译(scc)。ibc基本上在当前图片中执行预测,但可以因为在当前图片中导出参考块而与帧间预测类似地执行。即,ibc可以使用本文档中描述的帧间预测技术中的至少一种。
65.通过帧间预测器221和/或帧内预测器222生成的预测信号可以用于生成重构信号或者生成残差信号。变换器232可以通过向残差信号应用变换技术来生成变换系数。例如,变换技术可以包括离散余弦变换(dct)、离散正弦变换(dst)、基于图的变换(gbt)或有条件非线性变换(cnt)中的至少一种。这里,gbt意指当用图表示像素之间的关系信息时从图获得的变换。cnt是指基于使用所有先前重构的像素生成的预测信号而获得的变换。另外,变换处理可以被应用于具有相同大小的正方形像素块,或者可以应用于具有可变大小而非正方形的块。
66.量化器233可以对变换系数进行量化并将它们发送到熵编码器240,并且熵编码器240可以对量化的信号(关于量化的变换系数的信息)进行编码并输出比特流。关于量化的变换系数的信息可以被称为残差信息。量化器233可以基于系数扫描顺序将块类型的量化的变换系数重新布置成一维矢量形式,并基于一维矢量形式的量化的变换系数来生成关于量化的变换系数的信息。熵编码器240可以执行诸如(例如)指数哥伦布(golomb)、上下文自适应可变长度编译(cavlc)、上下文自适应二进制算术编译(cabac)等这样的各种编码方法。熵编码器240可以将视频/图像重构所必需的信息与量化的变换系数(例如,语法元素的值等)一起或分开地编码。编码的信息(例如,编码的视频/图像信息)可以以比特流的形式以网络抽象层(nal)为单位进行发送或存储。视频/图像信息还可以包括与诸如自适应参数集(aps)、图片参数集(pps)、序列参数集(sps)或视频参数集(vps)这样的各种参数集有关的信息。另外,视频/图像信息还可以包括常规约束信息。在本文档中,随后将描述的用信号通知/发送的信息和/或语法元素可以通过上述编码过程被编码,并被包括在比特流中。比特流可以通过网络发送,或者可以被存储在数字存储介质中。这里,网络可以包括广播网络和/或通信网络,并且数字存储介质可以包括诸如usb、sd、cd、dvd、蓝光、hdd、ssd等这样的各种存储介质。发送从熵编码器240输出的信号的发送器(未图示)或存储信号的存储单元(未图示)可以被配置为编码装置200的内部/外部元件,并且另选地,发送器可以被包括在熵编码器240中。
67.从量化器233输出的量化的变换系数可以用于生成预测信号。例如,可以通过经由解量化器234和逆变换器235对量化的变换系数应用解量化和逆变换来重构残差信号(残差块或残差样本)。加法器250将重构的残差信号与从预测器220输出的预测信号相加,以生成重构信号(重构图片、重构块、重构样本、或重构样本数组)。如果没有处理目标块的残差(诸如,应用跳变模式的情况),则预测块可以用作重构块。所生成的重构信号可以用于当前图片中的下一处理目标块的帧内预测,并且如下所述,可以用于通过滤波进行的下一图片的帧间预测。
68.此外,可以在图片编码和/或重构处理期间应用具有色度缩放的亮度映射(lmcs)。
69.滤波器260可以通过向重构信号应用滤波来改善主观/客观图像质量。例如,滤波器260可以通过向重构图片应用各种滤波方法来生成修正的重构图片,并将修正的重构图
片存储在存储器270中,具体地,存储在存储器270的dpb中。各种滤波方法可以包括例如解块滤波、样本自适应偏移(sao)、自适应环路滤波器、双边滤波器等。滤波器260可以生成与滤波相关的各种类型的信息,并将所生成的信息传送到熵编码器290,如随后的每种过滤方法的描述中描述的。与滤波相关的信息可以由熵编码器290编码并以比特流的形式被输出。
70.发送到存储器270的修正的重构图片可以被用作帧间预测器221中的参考图片。当通过编码装置应用帧间预测时,可以避免编码装置200与解码装置之间的预测失配,并且可以提高编码效率。
71.存储器270的dpb可以存储修正的重构图片,以用作帧间预测器221中的参考图片。存储器270可以存储从其导出(或编码)当前图片中的运动信息的块的运动信息和/或已经重构的图片中的块的运动信息。所存储的运动信息可以被传送到帧间预测器221,以被用作空间邻近块的运动信息或时间邻近块的运动信息。存储器270可以存储当前图片中的重构块的重构样本,并可以将重构样本传送到帧内预测器222。
72.图3是示意性说明了可以应用本文档的公开内容的视频/图像解码装置的配置的示图。
73.参照图3,解码装置300可包括熵解码器310、残差处理器320、预测器330、加法器340、滤波器350和存储器360。预测器330可包括帧间预测器331和帧内预测器332。残差处理器320可包括解量化器321和逆变换器321。根据实施例,熵解码310、残差处理器320、预测器330、加法器340和滤波器350可由硬件部件(例如,解码器芯片组或处理器)配置。另外,存储器360可包括解码图片缓冲器(dpb)或者可由数字存储介质配置。硬件部件还可包括存储器360作为内部/外部部件。
74.当输入包括视频/图像信息的比特流时,解码装置300可重构与在图2的编码装置中处理视频/图像信息的处理对应的图像。例如,解码装置300可基于从比特流获得的块分割相关信息来导出单元/块。解码装置300可使用编码装置中应用的处理器来执行解码。因此,例如,解码的处理器可以是编译单元,并且编译单元可根据四叉树结构、二叉树结构和/或三叉树结构从编译树单元或最大编译单元分割。可从编译单元导出一个或更多个变换单元。通过解码装置300解码和输出的重构图像信号可通过再现装置再现。
75.解码装置300可以以比特流的形式接收从图2的编码装置输出的信号,并且可以通过熵解码器310对接收到的信号进行解码。例如,熵解码器310可以对比特流进行解析,以导出图像重构(或图片重构)所必需的信息(例如,视频/图像信息)。视频/图像信息还可以包括与诸如自适应参数集(aps)、图片参数集(pps)、序列参数集(sps)或视频参数集(vps)这样的各种参数集有关的信息。另外,视频/图像信息还可以包括常规约束信息。解码装置还可以基于关于参数集的信息和/或常规约束信息对图片进行解码。随后在本文档中描述的用信号通知/接收的信息和/或语法元素可以通过解码过程被解码并从比特流中获得。例如,熵解码器310可以基于诸如指数哥伦布编译、cabac或cavlc这样的编译方法对比特流中的信息进行解码,并且输出图像重构所需的语法元素和针对残差的变换系数的量化值。更具体地,cabac熵解码方法可以接收与比特流中的每个语法元素对应的bin(二进制位),通过使用在前一级中解码的符号/bin的信息、解码目标块的解码信息或解码目标语法元素信息来确定上下文模型,通过根据所确定的上下文模型预测bin的出现概率来对bin执行算术解码,并生成与每个语法元素的值对应的符号。在这种情况下,cabac熵解码方法可以通过
在确定上下文模型之后,使用针对下一个符号/bin的上下文模型解码的符号/bin的信息来更新上下文模型。由熵解码器310解码的信息当中的与预测相关的信息可以被提供到预测器330,并且与已在熵解码器310中执行熵解码的残差有关的信息(即,量化的变换系数和相关的参数信息)可以被输入到解量化器321。另外,由熵解码器310解码的信息当中的关于滤波的信息可以被提供到滤波器350。此外,用于接收从编码装置输出的信号的接收器(未图示)可以另外被配置为解码装置300的内部/外部元件,或者接收器可以是熵解码器310的构成元件。此外,根据本文档的解码装置可以被称为视频/图像/图片解码装置,并且解码装置可以被分为信息解码器(视频/图像/图片信息解码器)和样本解码器(视频/图像/图片样本解码器)。信息解码器可以包括熵解码器310,并且样本解码器可以包括解量化器321、逆变换器322、预测器330、加法器340、滤波器350和存储器360中的至少一个。
76.解量化器321可将量化的变换系数解量化并输出变换系数。解量化器321可按二维块形式重排量化的变换系数。在这种情况下,可基于在编码装置中执行的系数扫描顺序来执行重排。解量化器321可使用量化参数(例如,量化步长信息)对量化的变换系数执行解量化并且获得变换系数。
77.逆变换器322对变换系数逆变换以获得残差信号(残差块、残差样本数组)。
78.预测器330可对当前块执行预测并生成包括当前块的预测样本的预测块。预测器可基于从熵解码器310输出的关于预测的信息来确定对当前块应用帧内预测还是帧间预测并且可确定特定帧内/帧间预测模式。
79.预测器可以基于下述的各种预测方法来生成预测信号。例如,预测器不仅可以应用帧内预测或帧间预测来预测一个块,而且还可以同时应用帧内预测和帧间预测。这可以被称为组合的帧间和帧内预测(ciip)。另外,预测器可以执行用于块的预测的帧内块复制(ibc)。帧内块复制可以用于游戏等的内容图像/运动图像编译,例如,屏幕内容编译(scc)。ibc基本上在当前图片中执行预测,但可以因为在当前图片中导出参考块而与帧间预测类似地执行。即,ibc可以使用本文档中描述的帧间预测技术中的至少一种。
80.帧内预测器332可以通过参考当前图片中的样本来预测当前块。根据预测模式,所参考的样本可以位于当前块的邻居中,或者其位置可以与当前块分开。在帧内预测中,预测模式可以包括多种非定向模式和多种定向模式。帧内预测器332可以通过使用应用于邻近块的预测模式来确定将应用于当前块的预测模式。
81.帧内预测器331可以基于参考图片上的运动矢量所指定的参考块(参考样本数组)来导出当前块的预测块。在这种情况下,为了减少在帧间预测模式下发送的运动信息的量,可以基于邻近块与当前块之间的运动信息相关性以块、子块或样本为单位来预测运动信息。运动信息可以包括运动矢量和参考图片索引。运动信息还可以包括关于帧间预测方向(l0预测、l1预测、bi预测等)的信息。在帧间预测的情况下,邻近块可以包括当前图片中存在的空间邻近块和参考图片中存在的时间邻近块。例如,帧间预测器331可以基于邻近块来构造运动信息候选列表,并基于接收到的候选选择信息来导出当前块的运动矢量和/或参考图片索引。可以基于各种预测模式来执行帧间预测,并且关于预测的信息可以包括指示针对当前块的帧间预测的模式的信息。
82.加法器340可以通过将所获得的残差信号与从预测器330输出的预测信号(预测块或预测样本数组)相加来生成重构信号(重构图片、重构块或重构样本数组)。如果不存在处
理目标块的残差(诸如,应用跳变模式的情况),则预测块可以用作重构块。
83.加法器340可以被称为重构器或重构块生成器。所生成的重构信号可以用于在当前图片中将处理的下一个块的帧内预测,并且如随后描述的,还可以通过滤波来输出或者还可以用于下一个图片的帧间预测。
84.此外,具有色度缩放的亮度映射(lmcs)还可以被应用于图片解码处理。
85.滤波器350可以通过向重构信号应用滤波来改善主观/客观图像质量。例如,滤波器350可以通过向重构图片应用各种滤波方法来生成修正的重构图片,并将修正的重构图片存储在存储器360中,具体地,存储在存储器360的dpb中。各种滤波方法可以包括例如解块滤波、样本自适应偏移、自适应环路滤波器、双边滤波器等。
86.存储在存储器360的dpb中的(修正的)重构图片可以被用作帧间预测器331中的参考图片。存储器360可以存储从其导出(或解码出)当前图片中的运动信息的块的运动信息和/或已经重构的图片中的块的运动信息。所存储的运动信息可以被传送到帧间预测器331,以便被用作空间邻近块的运动信息或时间邻近块的运动信息。存储器360可以存储当前图片中的重构块的重构样本,并将重构样本传送到帧内预测器332。
87.在本说明书中,解码装置300的预测器330、解量化器321、逆变换器322和滤波器350中描述的实施例也可以以与编码装置200的预测器220、解量化器234、逆变换器235和滤波器260相同的方式或与其对应地应用。
88.此外,如上所述,在执行视频编译时,执行预测以增强压缩效率。可通过预测生成包括作为要被编译的块的当前块(即,目标编译块)的预测样本的预测块。在这种情况下,预测块包括空间域(或像素域)中的预测样本。预测块在编码装置和解码装置中相同地导出。编码装置可通过用信号向解码装置通知关于原始块(而非原始块的原始样本值本身)与预测块之间的残差的信息(残差信息)来增强图像编译效率。解码装置可基于残差信息来导出包括残差样本的残差块,可通过将残差块和预测块相加来生成包括重构样本的重构块,并且可生成包括重构块的重构图片。
89.残差信息可通过变换过程和量化过程来生成。例如,编码装置可导出原始块与预测块之间的残差块,可通过对包括在残差块中的残差样本(残差样本数组)执行变换过程来导出变换系数,可通过对变换系数执行量化过程来导出量化的变换系数,并且可将相关残差信息(通过比特流)用信号通知给解码装置。在这种情况下,残差信息可包括量化的变换系数、位置信息、变换方案、变换核和量化参数等的值信息。解码装置可基于残差信息来执行解量化/逆变换过程并且可导出残差样本(或残差块)。解码装置可基于预测块和残差块来生成重构图片。此外,为了后续图片的帧间预测参考,编码装置可通过对量化的变换系数进行解量化/逆变换来导出残差块,并且可基于此来生成重构图片。
90.在图像/视频编译中,可以根据一系列解码顺序对构成图像/视频的图片进行编码/解码。可以与解码顺序不同地设置与解码图片的输出顺序相对应的图片顺序,并且基于此,在帧间预测期间不仅可以执行前向预测,而且可以执行后向预测。
91.图4示意性地图示了根据本文档的实施例的图片编码方法。
92.在图4中,s400可以由上述编码装置的预测器执行,s410可以由残差处理器执行,而s420可以由熵编码器执行。s400可以包括本文档中描述的帧间/帧内预测过程,s410可以包括本文档中描述的残差处理过程,而s420可以包括本文档中描述的信息编码过程。
93.参考图4,示意性地,图片编码过程不仅包括用于对关于图片重构的信息(例如,预测信息、残差信息、分区信息等)进行编码并将其以比特流的形式输出的过程,而且包括用于生成当前图片的重构图片的过程和用于将环内滤波应用于重构图片的过程(可选)。编码装置可以从通过逆量化器和逆变换器获得的量化变换系数中导出(修改的)残差样本,并且基于s400输出的预测样本和(修改的)残差样本,可以生成重构图片。所生成的重构图片可以与由上述解码装置生成的重构图片相同。可以通过用于重构图片的环内滤波过程来生成修改的重构图片,修改的重构图片可以被存储在解码图片缓冲器或存储器中,并且如在解码装置的情况下,其可以被用作帧间预测过程中的参考图片。如上所述,在一些情况下,可以省略一些或全部环内滤波过程。当执行环内滤波过程时,(环内)滤波相关信息(参数)可以由熵编码器编码并以比特流的形式输出,并且解码装置可以基于滤波相关信息,以与编码装置相同的方式执行环内滤波过程。
94.通过该环内滤波过程,可以减少在图像/视频编译期间生成的噪声,诸如块伪像和振铃伪像,并且可以改善主观/客观视觉质量。此外,通过在编码装置和解码装置两者中执行环内滤波过程,编码装置和解码装置可以导出相同的预测结果,可以增加图片编译的可靠性,并且可以减少为图片编译要而发送的数据量。
95.如上所述,不仅可以在解码装置中执行图片重构过程,而且可以在编码装置中执行图片重构过程。可以基于每个块的帧内预测/帧间预测来生成重构块,并且可以生成包括重构块的重构图片。在当前图片/切片/图块组是i图片/切片/图块组时,可以仅基于帧内预测来重构包括在当前图片/切片/图块组中的块。同时,在当前图片/切片/图块组为p或b图片/切片/图块组时,可以基于帧内预测或帧间预测重构包括在当前图片/切片/图块组中的块。在这种情况下,帧间预测可以应用于当前图片/切片/图块组中的一些块,并且帧内预测可以应用于剩余块。图片的颜色分量可以包括亮度分量和色度分量,并且除非在本文档中明确限制,否则本文档中所提出的方法和实施例可以被应用于亮度分量和色度分量。
96.图5示意性地图示了根据本文档的实施例的图片解码方法。
97.在图5中,s500可以由上述解码装置的熵解码器执行,s510可以由预测器执行,s520可以由残差处理器执行,s530可以由加法器执行,s540可以由滤波器执行。s500可以包括本文档中描述的信息解码过程,s510可以包括本文档中描述的帧间/帧内预测过程,s520可以包括本文档中描述的残差处理过程,以及s530可以包括本文档中描述的块/图片重构过程,以及s540可以包括本文档中描述的环内滤波过程。
98.参考图5,图片解码过程可以示意性地包括用于从比特流中(通过解码)获得图像/视频信息的过程(s500)、图片重构过程(s510至s530)、以及用于重构图片的环内滤波过程(s540)。可以基于通过本文档中描述的帧间/帧内预测(s510)和残差处理(s520,量化变换系数的解量化和逆变换)获得的预测样本和残差样本来执行图片重构过程。可以通过用于通过图片重构过程生成的重构图片的环内滤波过程生成修改的重构图片,并且修改的重构图片可以作为解码图片输出,并且修改的重构图片还可以被存储在解码图片缓冲器或存储器中,并且在解码后续图片时用作帧间预测过程中的参考图片。在一些情况下,可以省略环内滤波过程。在这种情况下,可以将重构图片输出为解码图片,并且可以将重构图片存储在解码装置的解码图片缓冲器或存储器中,并且在对后续图片进行解码时用作帧间预测过程中的参考图片。环内滤波过程(s540)可以包括如上所述的去块滤波过程、样本自适应偏移
(sao)过程、自适应环路滤波器(alf)过程和/或双边滤波器过程,并且可以省略它们中的一些或全部。另外,可以顺序地应用去块滤波过程、样本自适应偏移(sao)过程、自适应环路滤波器(alf)过程和双边滤波器过程中的一个或一些,或者可以顺序地应用它们中的全部。例如,在将去块滤波过程应用于重构图片之后,可以执行sao过程。或者,例如,在将去块滤波过程应用于重构图片之后,可以执行alf过程。这些也可以在编码装置中执行。
99.图6示例性地示出了用于对语法元素进行编码的上下文自适应二进制算术编译(cabac)。
100.例如,在cabac编译处理中,如果输入信号是并非二进制值的语法元素,则可以通过二值化将输入信号的值变换为二进制值。另外,如果输入信号已经是二进制值(即,如果输入信号的值是二进制值),则可以不执行二值化,而可以按原样使用输入信号。这里,构成二进制值的每个bin0或1可以被称为bin。例如,如果二值化的二进制串为110,则1、1和0中的每一个可以被表示为一个bin。一个语法元素的bin可以表示语法元素的值。二值化可以是基于诸如截断莱斯二值化处理或固定长度二值化处理这样的各种二值化方法的,并且用于目标语法元素的二值化方法可以是预定义的。二值化过程可以由熵编码器中的二值化器执行。
101.此后,语法元素的二值化的bin可以被输入到常规编译引擎或旁路编译引擎。编码装置的常规编译引擎可以分配反映关于相应bin的概率值的上下文模型,并基于所分配的上下文模型对相应bin进行编码。编码装置的常规编译引擎可以在对相应bin执行编译之后更新相应bin的上下文模型。被编译为上述内容的bin可以被表示为上下文编译的bin。
102.此外,在语法元素的二值化的bin被输入到旁路编译引擎的情况下,它们可以被如下编译。例如,编码装置的旁路编译引擎可以省略估计关于输入bin的概率的过程以及更新应用于编译的bin的概率模型的过程。在应用旁路编译的情况下,编码装置可以通过应用规则(regular)概率分布而非分配上下文模型来对输入bin进行编译,并且通过这样,可以提高编译速度。被编译为上述内容的bin可以被表示为旁路bin。
103.熵解码可以表示以倒序执行与上述熵编码相同的处理的处理。
104.解码装置(熵解码器)可以对编码的图像/视频信息进行解码。图像/视频信息可以包括分割相关信息、预测相关信息(例如,帧间/帧内预测划分信息、帧内预测模式信息、帧间预测模式信息等)、残差信息、或环内滤波相关信息,或者可以包括关于其的各种语法元素。熵编译可以以语法元素为单位执行。
105.解码装置可以执行目标语法元素的二值化。这里,二值化可以是基于诸如截断莱斯二值化处理或固定长度二值化处理这样的各种二值化方法的,并且用于目标语法元素的二值化方法可以是预定义的。解码装置可以通过二值化过程导出目标语法元素的可用值的可用bin串(bin串候选)。二值化过程可以由熵解码器中的二值化器执行。
106.解码装置可以在从比特流中的输入比特依次解码或解析目标语法元素的相应bin的同时将导出的bin串与相应语法元素的可用bin串进行比较。如果导出的bin串等于可用bin串中的一个,则与相应bin串对应的值被导出为相应语法元素的值。如若不然,解码装置可以在进一步解析比特流中的下一比特之后重新执行上述过程。通过这样的处理,即使在不使用相应信息的起始比特或结束比特的情况下,也可以使用可变长度比特来执行比特流中的特定信息(或特定语法元素)的用信号通知。通过这样,可以对较小的值分配相对较少
的比特,因此整体编译效率可以增强。
107.解码装置可以基于诸如cabac或cavlc这样的熵编译技术执行来自比特流的bin串中的相应bin的基于上下文模型或基于旁路的解码。
108.在基于上下文模型对语法元素进行解码的情况下,解码装置可以通过比特流接收与语法元素对应的bin,可以使用解码目标块或邻近块的解码信息和语法元素或在前一级中解码的符号/bin信息来确定上下文模型,并可以通过根据所确定的上下文模型预测接收到的bin的出现概率执行bin的算术解码来导出语法元素值。此后,可以基于所确定的上下文模型来更新下一个被解码的bin的上下文模型。
109.可以通过上下文编译(常规编译)的bin来分配和更新上下文模型,并且可以基于上下文索引(ctxidx)或上下文索引增量(ctxinc)来指示上下文模型。可以基于ctxinc来导出ctxidx。具体地,例如,可以通过ctxinc与上下文索引偏移量(ctxidxoffset)之和来导出表示每个常规编译的bin的上下文模型的ctxidx。例如,可以通过bin不同地导出ctxinc。ctxidxoffset可以被表示为ctxidx的最低值。通常,ctxidxoffset可以是用于与其他语法元素的上下文模型进行区分的值,并且一个语法元素的上下文模型可以基于ctxinc来划分或导出。
110.在熵编码过程中,可以确定是通过常规编译引擎执行编码还是通过旁路编译引擎执行编码,并且因此,可以切换编译路径。熵解码可以以倒序执行与熵编码相同的处理。
111.此外,例如,在语法元素被旁路解码的情况下,解码装置可以通过比特流接收与语法元素对应的bin,并可以通过应用规则概率分布对输入的bin进行解码。在这种情况下,解码装置可以省略导出语法元素的上下文模型的过程以及在解码之后更新应用于bin的上下文模型的过程。
112.图7和图8示意性地图示了根据本文档的多变换技术。
113.在图7和图8中,变换器可以对应于如上所述的图2的编码装置中的变换器,并且逆变换器可以对应于如上所述的图2的编码装置中的逆变换器或图3的解码装置中的逆变换器。
114.变换器可以通过基于残差块中的残差样本(残差样本阵列)执行初级变换来导出(初级)变换系数(s710)。该初级变换可以被称作核心变换。在此,初级变换可以基于多变换选择(mts),并且在将多变换应用为初级变换的情况下,其可以被称为多核心变换。
115.例如,多核心变换可以通过另外使用离散余弦变换(dct)类型2(dct-ii)、离散正弦变换(dst)类型7(dst-vii)、dct类型8(dct-viii)和/或dst类型1(dst-i)来表示变换方法。即,多核心变换可以表示用于基于从dct类型2、dst类型7、dct类型8和dst类型1当中选择的多个变换核来将空间域的残差信号(或残差块)变换成频域的变换系数(或初级变换系数)的变换方法。这里,初级变换系数可以被称为变换器侧的临时变换系数。
116.换句话说,在应用现有变换方法的情况下,可以基于dct类型2来应用残差信号(或残差块)的空间域到频域的变换,并且可以生成变换系数。然而,与此不同,在应用多核心变换的情况下,可以基于dct类型2、dst类型7、dct类型8和/或dst类型1来应用残差信号(或残差块)的空间域到频域的变换,并且可以生成变换系数(或初级变换系数)。这里,dct类型2、dst类型7、dct类型8和dst类型1可以被称为变换类型、变换核或变换核心。可以基于基函数来定义dct/dst变换类型。
117.在执行多核心变换的情况下,可以从变换核当中选择针对目标块的垂直变换核和/或水平变换核,并且可以基于垂直变换核执行针对目标块的垂直变换,并且可以基于水平变换核执行针对目标块的水平变换。这里,水平变换可以表示针对目标块的水平分量的变换,并且垂直变换可以表示针对目标块的垂直分量的变换。可以基于包括残差块的目标块(cu或子块)的预测模式和/或变换索引来自适应地确定垂直变换核/水平变换核。
118.另外,例如,在通过应用mts执行初级变换的情况下,特定基函数可以被配置为指定值,并且在垂直变换或水平变换的情况下,可以通过组合应用的基函数来配置变换核的映射关系。例如,在水平方向变换核由trtypehor表示且垂直方向变换核由trtypever表示的情况下,值为0的trtypehor或trtypever可以被配置为dct2,并且值为1的trtypehor或trtypever可以被配置为dct7。值为2的trtypehor或trtypever可以被配置为dct8。
119.可替代地,例如,为了指示多个变换核集中的任何一个,可以对mts索引进行编码,并且可以将mts索引信息发信号通知给解码装置。在此,mts索引可以被表示为tu_mts_idx语法元素或mts_idx语法元素。例如,如果mts索引为0,则可以表示trtypehor和trtypever值都为0,并且(trtypehor,trtypever)=(dct2,dct2)。如果mts索引为1,则可以表示trtypehor和trtypever值都为1,并且(trtypehor,trtypever)=(dst7,dst7)。如果mts索引为2,则可以表示trtypehor值为2,而trtypever值为1,并且(trtypehor,trtypever)=(dct8,dst7)。如果mts索引为3,则可以表示trtypehor值为1,而trtypever值为2,并且(trtypehor,trtypever)=(dst7,dct8)。如果mts索引为4,则可以表示trtypehor和trtypever值都为2,并且(trtypehor,trtypever)=(dct8,dct8)。例如,根据mts索引的变换核集可以如下表所示。
120.[表1]
[0121]
mts索引01234trtypehor01212trtypever01122
[0122]
变换器可以通过基于(初级)变换系数,执行二次变换来导出修改的(二次)变换系数(s720)。初级变换可以是空间域到频域的变换,并且二次变换可以通过使用存在于(初级)变换系数之间的相关性来将变换表示为更压缩的表现形式。
[0123]
例如,二次变换可以包括不可分变换。在这种情况下,二次变换可以被称为不可分二次变换(nsst)或依赖于模式的不可分二次变换(mdnsst)。不可分二次变换可以表示通过基于不可分变换矩阵对通过初级变换导出的(初级)变换系数进行二次变换来生成针对残差信号的修正的变换系数(或二次变换系数)的变换。这里,垂直变换和水平变换不能基于不可分变换矩阵来对(初级)变换系数分开(或独立地)应用,但可以一次性全部应用。
[0124]
换句话说,不可分二次变换可以表示以下的变换方法:在不将(初级)变换系数分离为垂直分量和水平分量的情况下通过专门确定的方向(例如,行优先方向或列优先方向)将例如二维信号(变换系数)重新排列为一维信号,然后基于不可分变换矩阵来生成修正的变换系数(或二次变换系数)。
[0125]
例如,行优先方向(或顺序)可以表示按第一行至第n行的顺序将m
×
n块排成一行,并且列优先方向(或顺序)可以表示按第一列至第m列的顺序将m
×
n块排成一行。这里,m和n可以表示块的宽度(w)和高度(h),并且可以全部是正整数。
[0126]
例如,可以向由(初级)变换系数构成的块(下文中,变换系数块)的左上区域应用不可分二次变换。例如,如果变换系数块的宽度(w)和高度(h)都等于或大于8,则可以向变换系数块的左上8
×
8区域应用8
×
8不可分二次变换。另外,如果变换系数块的宽度(w)和高度(h)都等于或大于4并且小于8,则可以向变换系数块的左上min(8,w)
×
min(8,h)区域应用4
×
4不可分二次变换。然而,实施例不限于此,并且例如,即使满足了变换系数块的宽度(w)和高度(h)都等于或大于4的条件,也可以向变换系数块的左上min(8,w)
×
min(8,h)区域应用4
×
4不可分二次变换。
[0127]
具体地,例如,在使用4
×
4输入块的情况下,可以如下执行不可分二次变换。
[0128]4×
4输入块x可以如下地表示。
[0129]
[式1]
[0130][0131]
例如,x的矢量形式可以如下地表示。
[0132]
[式2]
[0133][0134]
参照式2,可以表示矢量x,并且式1中的x的二维块可以按照行优先顺序重新排列并表示为一维矢量。
[0135]
在这种情况下,可以如下地计算二次不可分变换。
[0136]
[式3]
[0137]
f=t
·
x
[0138]
这里,可以表示变换系数矢量,并且t可以表示16
×
16(不可分)变换矩阵。
[0139]
基于式3,可以导出大小为16
×
1的并且可以通过扫描顺序(水平、垂直或对角)将重新组织为4
×
4块。然而,上述计算是示例性的,并且为了降低不可分二次变换的计算复杂度,可以使用超立方-吉文斯变换(hypercube-givens transform,hygt)等来计算不可分二次变换。
[0140]
此外,在不可分二次变换中,可以按依赖于模式的方式选择变换核(或变换核心或变换类型)。这里,模式可以包括帧内预测模式和/或帧间预测模式。
[0141]
例如,如上所述,可以基于以变换系数块的宽度(w)和高度(h)为基础确定的8
×
8变换或4
×
4变换来执行不可分二次变换。例如,如果w和h都等于或大于8,则8
×
8变换可以表示可以应用于相应变换系数块内部包括的8
×
8区域的变换,并且8
×
8区域可以是相应变换系数块内部的左上8
×
8区域。另外,类似地,如果w和h都等于或大于4,则4
×
4变换可以表示可以应用于相应变换系数块内部包括的4
×
4区域的变换,并且4
×
4区域可以是相应变换系数块内部的左上4
×
4区域。例如,8
×
8变换核矩阵可以为64
×
64/16
×
64矩阵,并且4
×
4变换核矩阵可以为16
×
16/8
×
16矩阵。
[0142]
在这种情况下,对于基于模式的变换核选择,可以针对所有8
×
8变换和4
×
4变换来配置用于不可分二次变换的每个变换集的两个不可分二次变换核,并且可以提供四个变换集。即,可以针对8
×
8变换配置四个变换集,并且可以针对4
×
4变换配置四个变换集。在这种情况下,用于8
×
8变换的四个变换集中的每一个可以包括两个8
×
8变换核,并且用于4
×
4变换的四个变换集中的每一个可以包括两个4
×
4变换核。
[0143]
然而,变换的大小、集的数量以及集中变换核的数量是示例性的,并且可以使用除了8
×
8或4
×
4之外的大小,或者可以配置n个集,或者在每个集中可以包括k个变换核。这里,n和k可以是正整数。
[0144]
例如,变换集可以被称为nsst集,并且nsst集中的变换核可以被称为nsst核。例如,可以基于目标块(cu或子块)的帧内预测模式来执行在变换集当中特定集的选择。
[0145]
此外,如果确定特定集被用于不可分变换,则可以通过不可分二次变换索引来选择特定集中的k个变换核中的一个。例如,编码装置可以基于率失真(rd)检查来导出表示特定变换核的不可分二次变换索引,并可以将该不可分二次变换索引用信号通知给解码装置。例如,解码装置可以基于不可分二次变换索引在特定集中选择k个变换核中的一个。例如,值为0的nsst索引可以表示第一不可分二次变换核,值为1的nsst索引可以表示第二不可分二次变换核,并且值为2的nsst索引可以表示第三不可分二次变换核。另选地,值为0的nsst索引可以表示不对目标块应用第一不可分二次变换,并且值为1至3的nsst索引可以指示如上的三个变换核。
[0146]
变换器可以基于所选择的变换核来执行不可分二次变换,并可以获得修正的(二次)变换系数。修正的变换系数可以被导出为通过上述量化器量化的量化的变换系数,并且可以被编码以用信号通知给解码装置并可以传送到编码装置中的解量化器/逆变换器。
[0147]
此外,如果如上所述省略了二次变换,则作为初级(可分)变换的输出的(初级)变换系数可以通过如上所述的量化器被导出为量化的变换系数,并可以被编码以用信号通知给解码装置并可以被传送到编码装置中的解量化器/逆变换器。
[0148]
参考图8,逆变换器可以以与在上述变换器中执行的过程相反的顺序执行一系列过程。逆变换器接收(逆量化的)变换系数,执行二次(逆)变换以导出(第一)变换系数(s850),并且相对于(第一)变换系数执行初级(逆)变换以获得残差块(残差样本)(s860)。在此,第一变换系数可以被称为逆变换器侧的修正的变换系数。如上所述,编码装置和/或解码装置可以基于残差块和预测块来生成重构块,并基于此生成重构图片。
[0149]
此外,解码装置还可以包括二次逆变换应用/不应用确定器(或用于确定是否应用二次逆变换的元件)和二次逆变换确定器(或用于确定二次逆变换的元件)。例如,二次逆变换应用/不应用确定器可以确定是否应用二次逆变换。例如,二次逆变换可以是nsst或rst,并且二次逆变换应用/不应用确定器可以基于从比特流中解析或获得的二次变换标志来确定是否应用二次逆变换。另选地,例如,二次逆变换应用/不应用确定器可以基于残差块的变换系数来确定是否应用二次逆变换。
[0150]
二次逆变换确定器可以确定二次逆变换。在这种情况下,二次逆变换确定器可以基于按照帧内预测模式指定的nsst(或rst)变换集来确定应用于当前块的二次逆变换。另选地,可以取决于初级变换确定方法来确定二次变换确定方法。另选地,可以按照帧内预测模式来确定初级变换和二次变换的各种组合。例如,二次逆变换确定器可以基于当前块的
大小来确定应用二次逆变换的区域。
[0151]
此外,如果如上所述省略了二次(逆)变换,则可以通过接收(解量化的)变换系数并执行初级(可分)逆变换来获得残差块(残差样本)。如上所述,编码装置和/或解码装置可以基于残差块和预测块来生成重构块,并可以基于此来生成重构图片。
[0152]
此外,在本文档中,为了减少不可分二次变换伴随的计算量和存储器需要量,具有减小的变换矩阵(核)大小的缩减二次变换(rst)可以应用于nsst的概念。
[0153]
在本文档中,rst可以意指基于大小按照简化因子减小的变换矩阵来对目标块的残差样本执行的(简化)变换。在执行此的情况下,由于变换矩阵的大小减小,因此变换期间所需的计算量可以减少。即,rst可以用于解决大小大的块的变换或不可分变换期间出现的计算复杂度问题。
[0154]
例如,rst可以被称为诸如缩减变换、缩减二次变换、减小变换、简化变换或简单变换这样的各种术语,并且指代rst的名称不限于所列举的示例。另外,rst主要在初级变换块中包括非0系数的低频域中执行,因此可以被称为低频不可分变换(lfnst)。
[0155]
此外,在基于rst执行二次逆变换的情况下,编码装置200的逆变换器235和解码装置300的逆变换器322可以包括基于针对变换系数的逆rst导出修正的变换系数的逆rst单元以及基于针对修正的变换系数的逆初级变换导出目标块的残差样本的逆初级变换器。逆初级变换意指已应用于残差的初级变换的逆变换。在本文档中,基于变换来导出变换系数可以意指通过应用对应的变换来导出变换系数。
[0156]
例如,帧内预测模式可以包括两个非定向或非角度帧内预测模式和65个定向或角度帧内预测模式。非定向帧内预测模式可以包括0号平面帧内预测模式和1号dc帧内预测模式,并且定向帧内预测模式可以包括65个(2号至66号)帧内预测模式。然而,这是示例性的,并且根据本文档的实施例甚至可以应用于提供不同数量的帧内预测模式的情况。此外,在某些情况下,还可以使用67号帧内预测模式,并且67号帧内预测模式可以表示线性模型(lm)模式。
[0157]
图9示例性地图示了65个预测方向上的帧内定向模式。
[0158]
参考图9,可以在具有左上对角预测方向的34号的帧内预测模式周围将模式划分为具有水平方向性的帧内预测模式和具有垂直方向性的帧内预测模式。在图9中,h和v可以分别是指水平方向性和垂直方向性,并且数字-32至32可以表示样本网格位置上,以1/32为单位的位移。这可以表示用于模式索引值的偏移。
[0159]
例如,2号至33号帧内预测模式可以具有水平方向性,并且34号至66号帧内预测模式具有垂直方向性。此外,从技术上讲,34号帧内预测模式可以被认为既没有水平方向性也没有垂直方向性,但从确定二次变换的变换集的观点来看,可以被归类为属于水平方向性。这是因为针对围绕34号帧内预测模式对称的垂直方向模式,对输入数据进行转置和使用,并且针对34号帧内预测模式使用水平方向模式的输入数据排列方法。这里,输入数据的转置可以意指对于二维块数据m

n,按照行变成列而列变成行的方式构造成n

m数据。
[0160]
另外,18号帧内预测模式和50号帧内预测模式可以分别表示水平帧内预测模式和垂直帧内预测模式,并且2号帧内预测模式可以被称为右上对角帧内预测模式,因为以左参考像素沿右上方向进行预测。在相同的上下文中,34号帧内预测模式可以被称为右下对角帧内预测模式,并且66号帧内预测模式可以被称为左下对角帧内预测模式。
[0161]
图10和图11是说明根据本文档的实施例的rst的图。
[0162]
例如,图10可以是说明应用正缩减变换的图,以及图11可以是说明应用逆缩减变换的图。在本文档中,目标块可以表示被执行编译的当前块、残差块或变换块。
[0163]
例如,在rst中,n维矢量可以被映射到位于另一空间中的r维矢量上,并且可以确定缩减的变换矩阵。这里,n和r可以是正整数,并且r可以小于n。n可以意指被应用变换的块的一边的长度的平方或与被应用变换的块对应的变换系数的总数,并且简化因子可以意指r/n值。简化因子可以被称为诸如缩减因子、减小因子、化简因子或简单因子这样的各种术语。此外,r可以被称为缩减系数,并且在某些情况下,简化因子可以意指r。另外,在某些情况下,简化因子可以意指n/r值。
[0164]
例如,可以通过比特流来用信号通知简化因子或缩减系数,但不限于此。例如,简化因子或缩减系数的预定义值可以被存储在编码装置200和解码装置300中,并且在这种情况下,可以不单独用信号通知简化因子或缩减系数。
[0165]
例如,简化变换矩阵的大小(r
×
n)可以小于常规变换矩阵的大小((n
×
n),并可以如下式中地定义。
[0166]
[式4]
[0167][0168]
例如,图10图示的缩减变换块中的矩阵t可以表示式4的矩阵tr×n。如图10所示,在目标块的残差样本乘以简化变换矩阵tr×n的情况下,可以导出目标块的变换系数。
[0169]
例如,在应用变换的块的大小为8
×
8并且r为16(即,r/n=16/64=1/4)的情况下,可以通过如下的式5中的矩阵运算来表示根据图10的rst。在这种情况下,存储器和乘法运算可以按简化因子缩减到约1/4。
[0170]
在本文档中,矩阵运算可以被理解为通过将矩阵放置在列矢量的左侧并将该矩阵乘以列矢量来获得列矢量的操作。
[0171]
[式5]
[0172][0173]
在式5中,r1至r
64
可以表示目标块的残差样本。另选地,例如,它们可以是通过应用初级变换而生成的变换系数。基于式5的运算结果,可以导出目标块的变换系数ci。
[0174]
例如,在r为16的情况下,可以导出目标块的变换系数c1至c
16
。如果将通过应用常规变换而非rst而具有大小64
×
64(n
×
n)的变换矩阵乘以具有大小64
×
1(n
×
1)的残差样本,则可以导出目标块的64(n)个变换系数,但由于应用rst,因此可以仅导出目标块的16(r)个变换系数。由于目标块的变换系数的总数从n减少至r,因此可以减少编码装置200向解码装置300发送的数据量,因此可以增加编码装置200与解码装置300之间的发送效率。
[0175]
考虑到变换矩阵的大小,由于常规变换矩阵的大小为64
×
64(n
×
n),并且简化变换矩阵的大小减少至16
×
64(r
×
n),因此与执行常规变换的情况相比,执行rst时的存储器
使用可以按r/n比率减小。另外,与使用常规变换矩阵时的乘法运算的数量(n
×
n)相比,简化变换矩阵的使用可以使乘法运算的数量(r
×
n)按r/n比率减小。
[0176]
在实施例中,编码装置200的变换器232可以通过执行目标块的残差样本的初级变换和基于rst的二次变换来导出目标块的变换系数。变换系数可以被传送到解码装置300的逆变换器,并且解码装置300的逆变换器322可以基于变换系数的逆缩减二次变换(rst)来导出修正的变换系数,并可以基于修正的变换系数的逆初级变换来导出目标块的残差样本。
[0177]
根据实施例的逆rst矩阵tn×r的大小可以是比常规逆变换矩阵的大小n
×
n小的n
×
r,并可以与式4中例示的简化变换矩阵tr×n呈转置关系。
[0178]
图11图示的缩减逆变换块中的矩阵t
t
可以表示逆rst矩阵tr×
nt
。在此,上标t可以表示转置。如图11所示,在用于目标块的变换系数乘以逆rst矩阵tr×
nt
的情况下,可以导出用于目标块的修正的变换系数或用于目标块的残差样本。逆rst矩阵tr×
nt
可以被表示为(tr×n)
tn
×r。
[0179]
更具体地,在逆rst被应用为二次逆变换的情况下,可以通过将目标块的变换系数乘以逆rst矩阵tr×
nt
来导出目标块的修正的变换系数。此外,逆rst可以被应用为逆初级变换,并且在这种情况下,可以通过将目标块的变换系数乘以逆rst矩阵tr×
nt
来导出目标块的残差样本。
[0180]
在实施例中,在应用逆变换的块的大小为8
×
8并且r为16(即,r/n=16/64=1/4)的情况下,可以通过如下式6中的矩阵运算来表示根据图7的rst。
[0181]
[式6]
[0182][0183]
在式6中,c1至c
16
可以表示目标块的变换系数。可以基于式6的运算结果来导出表示目标块的修正的变换系数或目标块的残差样本的rj。即,可以导出表示目标块的修正的变换系数或目标块的残差样本的r1至rn。
[0184]
考虑到逆变换矩阵的大小,由于常规逆变换矩阵的大小为64
×
64(n
×
n),并且简化逆变换矩阵的大小减少至64
×
16(n
×
r),因此与执行常规逆变换的情况相比,执行逆rst时的存储器使用可以按r/n比率减小。另外,与使用常规逆变换矩阵时的乘法运算的数量(n
×
n)相比,简化逆变换矩阵的使用可以使乘法运算的数量(n
×
r)按r/n比率减小。
[0185]
此外,可以甚至对8
×
8rst配置和应用变换集。即,可以按照变换集来应用对应的8
×
8rst。由于按照帧内预测模式,一个变换集由两个或三个变换核构成,因此可以配置为选择最多四个变换中的一个,甚至包括不应用二次变换的情况。在不应用二次变换时的变换中,可以认为应用单位矩阵。如果假定为四个变换赋予索引0、1、2或3(例如,0号索引可以被分配给单位矩阵即不应用二次变换的情况),则可以通过用信号通知作为每个变换系数块的nsst索引的语法元素来指定将应用的变换。即,通过nsst索引,可以针对8
×
8左上块指定8
×
8nsst,并且在rst配置中,可以指定8
×
8rst。8
×
8nsst和8
×
8rst可以表示在成为变换
目标的目标块的w和h都等于或大于8的情况下能够应用于相应变换系数块内部包括的8
×
8区域的变换,并且8
×
8区域可以是相应变换系数块内部的左上8
×
8区域。类似地,4
×
4nsst和4
×
4rst可以表示在目标块的w和h都等于或大于4的情况下能够应用于相应变换系数块内部包括的4
×
4区域的变换,并且4
×
4区域可以是相应变换系数块内部的左上4
×
4区域。
[0186]
此外,例如,编码装置可以通过基于诸如指数哥伦布、上下文自适应可变长度编译(cavlc)、上下文自适应二进制算术编译(cabac)等这样的各种编译方法对语法元素的值或残差的变换系数的量化值进行编码来获得比特流。另外,解码装置可以基于诸如指数哥伦布编码、cavlc、cabac等这样的各种编译方法来导出语法元素的值或残差的变换系数的量化值。
[0187]
同时,本文档的实施例可以提出用于发信号通知mts索引的方案。在此,如上所述,mts索引可以表示多个变换核集中的任何一个,以及可以对mts索引进行编码,并且可以将mts索引信息发信号通知解码装置。解码装置可以通过对mts索引信息进行解码来获得mts索引,并且可以基于mts索引来确定要应用的变换核集。mts索引可以被表示为tu_mts_idx语法元素或mts_idx语法元素。例如,mts索引可以使用rice-golmb参数0阶进行二值化,但是可以基于截断莱斯(truncated rice)进行二值化。在基于截断莱斯的二值化的情况下,输入参数cmax可以具有值4,并且criceparam可以具有值0。例如,编码装置可以通过对mts索引进行二值化来导出用于mts索引的bin,通过对导出的bin进行编码来导出mts索引信息(用于mts索引的比特),并且将mts索引信息发信号通知给解码装置。解码装置可以通过解码mts索引信息来导出用于mts索引的bin,并且通过将所导出的用于mts索引的bin与用于mts索引的候选bin进行比较来导出mts索引。
[0188]
例如,mts索引(例如,tu_mts_idx语法元素或mts_idx语法元素)可以相对于所有bin,基于上下文模型或上下文索引被上下文编译。在这种情况下,可以如在表2中,分配或确定用于mts索引的上下文编译的上下文索引增量(ctxinc)或根据bin位置的ctxinc。此外,如在表2中,根据bin位置来选择上下文模型。
[0189]
[表2]
[0190][0191]
参考表2,可以基于cqtdepth来分配用于编号为0的bin(第一bin)的ctxinc。在此,cqtdepth可以表示用于当前块的四叉树深度,并且可以被导出为0到5中的一个值。也就是说,可以根据cqtdepth,为编号为0的bin的ctxinc分配0到5中的一个值。此外,可以为编号为1的bin(第二bin)的ctxinc分配6,可以为编号为2的bin(第三bin)的ctxinc分配7,并且可以为编号为3的bin(第四bin)的ctxinc分配8。也就是说,可以为编号为0的bin到编号为3的bin分配具有不同值的ctxinc。在此,不同的ctxinc值可以表示不同的上下文模型,并且在这种情况下,可以提供用于mts索引编译的9个上下文模型。
[0192]
此外,例如,如在表3中,相对于所有bin,mts索引(例如,tu_mts_idx语法元素或mts_idx语法元素)可以被旁路编译。在这种情况下,可以提供用于mts索引编译的上下文模型。
[0193]
[表3]
[0194][0195]
此外,例如,如在表4中,mts索引(例如,tu_mts_idx语法元素或mts_idx语法元素)可以相对于编号为0的bin(第一bin),基于上下文模型或上下文索引被上下文编译,并且可以相对于剩余bin被旁路编译。也就是说,可以为用于编号为0的bin(第一bin)的ctxinc分配0。在这种情况下,可以提供用于mts索引编译的一个上下文模型。
[0196]
[表4]
[0197][0198]
此外,例如,如在表5中,mts索引(例如,tu_mts_idx语法元素或mts_idx语法元素)可以相对于编号为0的bin(第一bin)和编号为1的bin(第二bin),基于上下文模型或上下文索引被上下文编译,并且可以相对于剩余bin被旁路编译。也就是说,可以为编号为0的bin(第一bin)的ctxinc分配0,以及可以为编号为1的bin(第二bin)的ctxinc分配1。在这种情况下,可以提供用于mts索引编译的2个上下文模型。
[0199]
[表5]
[0200][0201]
此外,例如,如在表6中,mts索引(例如,tu_mts_idx语法元素或mts_idx语法元素)可以相对于所有bin,基于上下文模型或上下文索引被上下文编译,并且可以相对于每一bin分配一个ctxinc。也就是说,可以为编号为0的bin(第一bin)的ctxinc可以分配0,以及可以为编号为1的bin(第二bin)的ctxinc分配1。为编号为2的bin(第三bin)的ctxinc分配2,以及为编号为3的bin(第四bin)的ctxinc分配2。在这种情况下,可以提供用于mts索引编译的4个上下文模型。
[0202]
[表6]
[0203][0204]
如上所述,根据实施例,由于通过将旁路编译应用于mts索引的所有或一些bin或将特定值应用于ctxinc(尽管应用了上下文编译)来减少上下文模型的数量,因此可以降低复杂度,并且可以增加解码器的输出量。此外,在实施例中,在如上所述使用上下文模型的情况下,初始值和/或多窗口大小可以基于每个bin的位置的出现统计而可变。
[0205]
图12和图13示意性地图示了根据本文档的实施例的视频/图像编码方法和相关组件的示例。
[0206]
图12中公开的方法可以由图2或图13中公开的编码装置执行。具体地,例如,图12的s1200可以由图13的编码装置的预测器220执行,图12的s1210和s1220可以由图13的编码装置的残差处理器230执行,以及图12的s1230可以由图13的编码装置的熵编码器240执行。
此外,尽管在图12中未示出,但是可以由图13的编码装置的预测器220导出预测样本或预测相关信息,可以由编码装置的残差处理器230从原始样本或预测样本中导出残差信息,并且可以由编码装置的熵编码器240,从残差信息或预测相关信息生成比特流。图12中公开的方法可以包括在本文档中如上所述的实施例。
[0207]
参考图12,编码装置通过对当前块执行预测来生成预测样本,并且基于预测样本生成预测模式信息(s1200)。例如,编码装置可以考虑到速率失真(rd)成本对当前块执行帧内预测或帧间预测,并且可以生成包括预测模式/类型信息的预测相关信息。
[0208]
编码装置基于预测样本生成用于当前块的残差样本(s1210)。例如,编码装置可以基于预测样本和原始样本导出残差样本。可替代地,残差样本可以指示原始样本与预测样本之间的差。
[0209]
编码装置基于残差样本导出用于当前块的变换系数,并且基于变换系数生成关于变换核集的信息和残差信息(s1220)。例如,编码装置可以通过相对于残差样本执行变换来导出变换系数。在此,可以基于变换核或变换核集执行变换。例如,变换核集可以包括水平方向变换核及垂直方向变换核。例如,编码装置可以通过相对于残差样本执行初级变换来导出变换系数。此外,例如,编码装置可以通过相对于残差样本执行初级变换来导出临时变换系数,并且可以通过相对于临时变换系数执行二次变换来导出变换系数。例如,基于变换核集执行的变换可以被表示为初级变换。
[0210]
关于变换核集的信息可以被称为mts索引。mts索引可以表示变换核集候选当中,应用于当前块的(变换系数)的变换核集。在此,mts索引可以被表示为tu_mts_idx语法元素或mts_idx语法元素。如上所述,变换核集可以包括水平方向变换核和垂直方向变换核,并且水平方向变换核可以被表示为trtypehor,以及垂直方向变换核可以被表示为trtypever。
[0211]
例如,trtypehor和trtypever值可以由应用于当前块的(变换系数)的水平方向变换核和垂直方向变换核表示,并且mts索引可以由trtypehor和trtypever值表示为包括0至4的候选之一。
[0212]
例如,如果mts索引为0,则可以表示trtypehor和trtypever都为0。此外,如果mts索引为1,则可以表示trtypehor和trtypever均为1。此外,如果mts索引为2,则可以表示trtypehor为2并且trtypever为1。如果mts索引为3,则可以表示trtypehor为1并且trtypever为1。此外,如果mts索引为4,则可以表示trtypehor和trtypever都为2。例如,如果trtypehor或trtypever值为0,则可以表示在水平方向或垂直方向上将dct2应用于当前块的(变换系数),如果为1,则可以表示应用dst7,而如果为2,则可以表示应用dct8。即,可以基于mts索引,将要在水平方向上应用的变换核以及要在垂直方向上应用的变换核中的每一个表示为包括dct2、dst7及dct8的候选中的一个。
[0213]
可以基于mts索引的bin串的bin来表示mts索引。换句话说,mts索引可以被二值化并表示为mts索引的bin串的(bin),并且mts索引的bin串的(bin)可以被熵编码。
[0214]
换句话说,可以基于上下文编译来表示mts索引的bin串的bin中的至少一个。在此,可以基于上下文索引增量(ctxinc)的值来执行上下文编译。此外,可以基于上下文索引(ctxidx)或上下文模型来执行上下文编译。在此,可以基于上下文索引增量的值来表示上下文索引。此外,可以基于上下文索引增量的值以及上下文索引偏移(ctxidxoffset)来表
示上下文索引。
[0215]
例如,可以基于上下文编译来表示mts索引的bin串的所有bin。例如,可以基于cqtdepth来表示用于mts索引的bin串的bin当中的第一bin或第0个bin(bin 0)的ctxinc。在此,cqtdepth可以表示用于当前块的四叉树深度,并且可以表示为0至5当中的一个值。此外,用于第二bin或编号为1的bin(bin 1)的ctxinc可以被表示为6,用于第三bin或编号为2的bin(bin 2)的ctxinc可以被表示为7,以及用于第四bin或编号为3的bin(bin 3)的ctxinc可以被表示为8。此外,例如,用于mts索引的bin串的bin当中的第一bin或第0个bin(bin 0)的ctxinc可以被表示为0,用于第二bin或编号为1的bin(bin 1)的ctxinc可以被表示为1,用于第三bin或编号为2的bin(bin 2)的ctxinc可以被表示为2,以及用于第四bin或编号为3的bin(bin 3)的ctxinc可以被表示为3。即,可用于bin串的bin当中的第一bin的上下文编译的上下文索引增量值的数量可以为1。可替代地,可以基于至少一个上下文模型执行上下文编译,用于bin串的bin当中的第一bin的上下文编译的上下文模型的数量为1,以及可以基于第一bin的上下文索引增量的值,表示用于第一bin的上下文编译的上下文模型。
[0216]
此外,例如,mts索引的bin串的一些bin可以基于上下文编译来表示,并且剩余的bin可以基于旁路编译来表示。例如,用于mts索引的bin串的bin当中的第一bin或编号为0的bin(bin 0)的ctxinc可以被表示为0,而剩余bin可以基于旁路编译来表示。此外,例如,用于mts索引的bin串的bin当中的第一bin或编号为0的bin(bin 0)的ctxinc可以被表示为0,用于第二bin或编号为1的bin(bin 1)的ctxinc可以被表示为1,并且剩余bin可以基于旁路编译来表示。即,可以用于bin串的bin当中的第一bin的上下文编译的上下文索引增量值的数量可以为1。可替代地,可以基于至少一个上下文模型执行上下文编译,用于bin串的bin当中的第一bin的上下文编译的上下文模型的数量为1,以及可以基于第一bin的上下文索引增量的值,表示用于第一bin的上下文编译的上下文模型。
[0217]
此外,可以基于旁路编译来表示mts索引的bin串的所有bin。在此,旁路编译可以表示基于均匀概率分布执行上下文编译,并且由于省略了上下文编译的更新过程,因此可以提高编译效率。
[0218]
残差信息可以表示用于导出残差样本的信息。此外,例如,编码装置可以对变换系数执行量化,并且残差信息可以包括关于残差样本的信息、变换相关信息和/或量化相关信息。例如,残差信息可以包括关于量化变换系数的信息。
[0219]
编码装置对包括预测模式信息、关于变换核集的信息和残差信息的图像信息进行编码(s1230)。例如,图像信息可以进一步包括预测相关信息,以及预测模式信息可以被包括在预测相关信息中。例如,编码装置可以通过对图像信息进行编码来生成比特流。比特流可以被称为编码(图像)信息。
[0220]
此外,尽管在图12中未示出,但是例如,编码装置可以基于残差样本和预测样本来生成重构样本。此外,可以基于重构样本导出重构块以及重构图片。
[0221]
例如,编码装置可以通过对包括全部或一些上述信息(或语法元素)中的图像信息进行编码来生成比特流或编码信息。此外,可以以比特流的形式输出信息。此外,可以通过网络或存储介质将比特流或编码信息发送到解码装置。此外,比特流或编码信息可以被存储在计算机可读存储介质中,并且比特流或编码信息可以通过上述图像编码方法来生成。
[0222]
图14和图15示意性地图示了根据本文档的实施例的视频/图像解码方法和相关组件的示例。
[0223]
图14中公开的方法可以由图3或图15中公开的解码装置执行。具体地,例如,图14的s1400可以由图15的解码装置的熵解码器310执行,图14的s1410可以由图15的解码装置的预测器330执行,图14的s1420可以由图15的解码装置的残差处理器320执行,以及图14的s1430可以由图15的解码装置的加法器340执行。此外,尽管图14中未示出,但是可以由图15的解码装置的熵解码器310,从比特流导出预测相关信息或残差信息,并且可以由解码装置的残差处理器320从残差信息导出残差样本。预测样本可以由解码装置的预测器330从预测相关信息导出,并且重构块或重构图片可以由解码装置的加法器340从残差样本或预测样本导出。图14中公开的方法可以包括本文档中如上所述的实施例。
[0224]
参考图14,解码装置从比特流中获得预测模式信息、关于变换核集的信息和残差信息(s1400)。例如,解码装置可以解析或解码比特流以获得预测相关信息、关于变换核集的信息和/或残差信息。在此,预测相关信息可以包括预测模式/类型信息。在此,比特流可以被称为编码(图像)信息。
[0225]
关于变换核集的信息可以被称为mts索引。mts索引可以表示变换核集候选当中,应用于当前块的(变换系数)的变换核集。在此,mts索引可以被表示为tu_mts_idx语法元素或mts_idx语法元素。如上所述,变换核集可以包括水平方向变换核和垂直方向变换核,并且水平方向变换核可以被表示为trtypehor,而垂直方向变换核可以被表示为trtypever。
[0226]
例如,mts索引可以被导出为包括0至4的候选之一,并且根据mts索引,trtypehor和trtypever中的每一个可以被导出为0至2之一。例如,如果mts索引为0,则trtypehor和trtypever可以全部为0。此外,如果mts索引为1,则trtypehor和trtypever可以全部为1。此外,如果mts索引是2,则trtypehor可以为2,并且trtypever可以为1。如果mts索引为3,则trtypehor可以为1,并且trtypever可以为1。此外,如果mts索引为4,则trtypehor和trtypever可以全部为2。例如,trtypehor或trtypever值可以表示变换核,并且如果为0,则可以表示dct2,如果为1,则可以表示dst7,并且如果为2,则可以表示dct8。即,可以基于mts索引,将要在水平方向上应用的变换核及要在垂直方向上应用的变换核中的每一个导出为包括dct2、dst7及dct8的候选中的一个。
[0227]
mts索引可以基于mts索引的bin串的bin来导出。换句话说,mts索引信息可以被熵解码并且可以被导出为二值化的mts索引,并且二值化的mts索引可以被表示为mts索引的bin串的bin。
[0228]
换句话说,可以基于上下文编译导出mts索引的bin串的bin中的至少一个。在此,可以基于上下文索引增量(ctxinc)的值执行上下文编译。此外,可以基于上下文索引(ctxidx)或上下文模型执行上下文编译。在此,可以基于上下文索引增量的值来导出上下文索引。此外,可以基于上下文索引增量的值以及上下文索引偏移(ctxidxoffset)来导出上下文索引。
[0229]
例如,可以基于上下文编译来导出mts索引的bin串的所有bin。例如,可以基于cqtdepth来分配用于mts索引的bin串的bin当中的第一bin或第0个bin(bin 0)的ctxinc。在此,cqtdepth可以表示当前块的四叉树深度,并且可以导出为0至5当中的一个值。此外,用于第二bin或编号为1的bin(bin 1)的ctxinc可以被分配6,用于第三bin或编号为2的bin
(bin2)的ctxinc可以被分配7,并且用于第四bin或编号为3的bin(bin 3)的ctxinc可以被分配8。此外,例如,用于mts索引的bin串的bin当中的第一bin或第0个bin(bin 0)的ctxinc可以被分配0,用于第二bin或编号为1的bin(bin 1)的ctxinc可以被分配1,用于第三bin或编号为2的bin(bin 2)的ctxinc可以被分配2,并且用于第四bin或编号为3的bin(bin 3)的ctxinc可以被分配3。即,能够用于bin串的bin当中的第一bin的上下文编译的上下文索引增量值的数量可以为1。可替代地,可以基于至少一个上下文模型执行上下文编译,用于bin串的bin当中的第一bin的上下文编译的上下文模型的数量为1,以及可以基于第一bin的上下文索引增量的值导出用于第一bin的上下文编译的上下文模型。
[0230]
此外,例如,可以基于上下文编译来导出mts索引的bin串的一些bin,并且可以基于旁路编译来导出剩余的bin。例如,用于mts索引的bin串的bin当中的第一bin或编号为0的bin(bin 0)的ctxinc可以被分配0,并且剩余bin可以基于旁路编译导出。此外,例如,用于mts索引的bin串的bin当中的第一bin或编号为0的bin(bin 0)的ctxinc可以被分配0,用于第二bin或编号为1的bin(bin 1)的ctxinc可以被分配1,以及剩余bin可以基于旁路编译导出。即,能够用于bin串的bin当中的第一bin的上下文编译的上下文索引增量值的数量可以为1。可替代地,可以基于至少一个上下文模型执行上下文编译,用于bin串的bin当中的第一bin的上下文编译的上下文模型的数量为1,以及可以基于第一bin的上下文索引增量的值导出用于第一bin的上下文编译的上下文模型。
[0231]
此外,可以基于旁路编译导出mts索引的bin串的所有bin。在此,旁路编译可以表示基于均匀概率分布执行上下文编译,并且由于省略了上下文编译的更新过程,因此可以提高编译效率。
[0232]
残差信息可以表示被用来导出残差样本的信息,并且可以包括关于残差样本的信息、逆变换相关信息及/或解量化相关信息。例如,残差信息可以包括关于量化变换系数的信息。
[0233]
解码装置基于预测模式信息生成用于当前块的预测样本(s1410)。例如,解码装置可以基于包括关于当前块的预测模式/类型信息的预测相关信息来生成当前块的预测样本。可替代地,解码装置可以通过基于预测相关信息,执行帧内预测或帧间预测来生成预测样本。
[0234]
解码装置基于残差信息生成用于当前块的残差样本(s1420)。例如,解码装置可以基于残差信息导出用于当前块的变换系数,并且可以基于关于变换核集的信息和变换系数生成当前块的残差样本。例如,解码装置可以基于被包括在残差信息中的关于量化变换系数的信息来导出用于当前块的量化变换系数。例如,解码装置可以对量化变换系数执行解量化以导出用于当前块的变换系数。
[0235]
例如,可以基于由变换系数和mts索引表示的变换核集来生成残差样本。也就是说,解码装置可以使用由mts索引表示的变换核集,通过逆变换从变换系数生成残差样本。在此,使用由mts索引表示的变换核集的逆变换可以被包括在初级逆变换中。此外,当从变换系数生成残差样本时,解码装置不仅可以使用初级逆变换,而且可以使用二次逆变换。在这种情况下,解码装置可以通过相对于变换系数执行二次逆变换来导出修正的变换系数,并且可以通过相对于修正的变换系数执行初级逆变换来生成残差样本。
[0236]
解码装置基于预测样本和残差样本生成当前块的重构样本(s1430)。此外,例如,
解码装置可以基于重构样本导出重构块或重构图片。
[0237]
例如,解码装置可以通过解码比特流或编码信息来获得包括上述多条信息(或语法元素)中的全部或部分的图像信息。另外,比特流或编码信息可以被存储在计算机可读存储介质中,并可以致使上述解码方法被执行。
[0238]
尽管已经基于在上述实施例中顺序列出步骤或块的流程图描述了方法,但本文档的步骤不限于特定的顺序,并且特定步骤可以相对于上述步骤在不同的步骤中或以不同的顺序或者同时地执行。另外,本领域的普通技术人员将理解,流程图中的步骤不是排他性的,并且在没有对本公开的范围施加影响的情况下,可以在其中包括另一步骤,或者可以删除流程图中的一个或更多个步骤。
[0239]
根据本公开的以上提到的方法可以是软件的形式,并且根据本公开的编码装置和/或解码装置可以被包括在用于执行图像处理的设备(例如,tv、计算机、智能电话、机顶盒、显示设备等)中。
[0240]
当用软件实现本公开的实施例时,可以用执行以上提到的功能的模块(处理或功能)实现以上提到的方法。模块可以被存储在存储器中并且由处理器执行。存储器可以安装在处理器的内部或外部,并可以经由各种公知设备连接到处理器。处理器可以包括专用集成电路(asic)、其他芯片集、逻辑电路和/或数据处理设备。存储器可以包括只读存储器(rom)、随机存取存储器(ram)、闪速存储器、存储卡、存储介质和/或其他存储设备。换句话说,根据本公开的实施例可以在处理器、微处理器、控制器或芯片上实现和执行。例如,相应图中图示的功能单元可以在计算机、处理器、微处理器、控制器或芯片上实现和执行。在这种情况下,关于实现方式的信息(例如,关于指令的信息)或算法可以被存储在数字存储介质中。
[0241]
另外,应用本文档的实施例的解码装置和编码装置可以被包括在多媒体广播收发器、移动通信终端、家庭影院视频设备、数字影院视频设备、监视相机、视频聊天设备、诸如视频通信这样的实时通信设备、移动流传输设备、存储介质、便携式摄像机、视频点播(vod)服务提供器、顶置(ott)视频设备、互联网流传输服务提供器、3d视频设备、虚拟现实(vr)设备、增强现实(ar)设备、图像电话视频设备、车载终端(例如,车(包括自主车辆)载终端、飞机终端或轮船终端)和医疗视频设备中;并且可以被用于处理图像信号或数据。例如,ott视频设备可以包括游戏控制台、blueray(蓝光)播放器、联网tv、家庭影院系统、智能手机、平板pc和数字视频记录仪(dvr)。
[0242]
另外,应用本文档的实施例的处理方法可以以由计算机执行的程序的形式产生,并可以被存储在计算机可读记录介质中。根据本文档的实施例的具有数据结构的多媒体数据也可以被存储在计算机可读记录介质中。计算机可读记录介质包括存储有计算机可读数据的所有种类的存储设备和分布式存储设备。计算机可读记录介质可以包括例如蓝光盘(bd)、通用串行总线(usb)、rom、prom、eprom、eeprom、ram、cd-rom、磁带、软盘和光学数据存储设备。计算机可读记录介质还包括以载波(例如,互联网上的传输)的形式实施的媒体。另外,通过编码方法生成的比特流可以被存储在计算机可读记录介质中,或者可以通过有线或无线通信网络传输。
[0243]
另外,本文档的实施例可以基于程序代码被实施为计算机程序产品,并且程序代码可以根据本文档的实施例在计算机上执行。程序代码可以被存储在计算机可读载体上。
[0244]
图16表示可以应用于本文档的实施例的内容流传输系统的示例。
[0245]
参考图16,应用本文档的实施例的内容流传输系统通常可以包括编码服务器、流传输服务器、web服务器、媒体存储装置、用户设备和多媒体输入设备。
[0246]
编码服务器用来将从诸如智能电话、照相机、便携式摄像机等这样的多媒体输入设备输入的内容压缩为数字数据,生成比特流,并且将其传送至流传输服务器。作为另一示例,在诸如智能电话、照相机、便携式摄像机等这样的多媒体输入设备直接生成码流的情况下,可省略编码服务器。
[0247]
可通过本文档的实施例应用于的编码方法或比特流生成方法来生成比特流。并且流传输服务器可在发送或接收比特流的过程中暂时存储比特流。
[0248]
流传输服务器基于用户的请求通过网络服务器向用户装置传送多媒体数据,该网络服务器充当向用户通知存在什么服务的工具。当用户请求用户想要的服务时,网络服务器将请求转移至流传输服务器,并且流传输服务器将多媒体数据传送至用户。在这方面,内容流系统可包括单独的控制服务器,并且在这种情况下,控制服务器用来控制内容流系统中的各个装置之间的命令/响应。
[0249]
流传输服务器可从媒体存储装置和/或编码服务器接收内容。例如,在从编码服务器接收到内容的情况下,可实时地接收内容。在这种情况下,流传输服务器可将比特流存储预定时间段以流畅地提供流传输服务。
[0250]
例如,用户装置可包括移动电话、智能电话、膝上型计算机、数字广播终端、个人数字助理(pda)、便携式多媒体播放器(pmp)、导航、板式pc、平板pc、超极本、可穿戴设备(例如,手表型终端(智能手表)、眼镜型终端(智能眼镜)、头戴式显示器(hmd))、数字tv、台式计算机、数字标牌等。
[0251]
可将内容流系统中的每个服务器作为分布式服务器操作,并且在这种情况下,可以分布式方式处理由每个服务器接收的数据。
[0252]
本说明书中的权利要求可以以各种方式组合。例如,本说明书的方法权利要求中的技术特征可以组合以在装置中实施或执行,并且装置权利要求中的技术特征可以组合以在方法中实施或执行。此外,方法权利要求和装置权利要求中的技术特征可以组合以在装置中实施或执行。此外,方法权利要求和装置权利要求中的技术特征可以组合以在方法中实施或执行。
再多了解一些

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

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

相关文献