基于帧内预测的图像编码中的变换
文献发布时间:2023-06-19 13:48:08
技术领域
本公开涉及图像编码技术,并且更具体地,涉及基于帧内预测的图像编码中的变换。
背景技术
最近,在各种领域中对诸如4K或8K超高清(UHD)图像/视频的高分辨率、高质量图像/视频的需求不断增加。随着图像/视频分辨率或质量变得更高,与传统图像/视频数据相比发送相对更多的信息或比特。因此,如果图像/视频数据经由诸如现有有线/无线宽带线路的介质发送或被存储在传统存储介质中,则传输和存储的成本容易增加。
此外,对虚拟现实(VR)和人工现实(AR)内容以及诸如全息图这样的沉浸式媒体的兴趣和需求日益增长;并且表现出与实际图像/视频不同的图像/视频特性的图像/视频(例如,游戏图像/视频)的广播也日益增长。
因此,需要高度高效的图像/视频压缩技术来有效地压缩并发送、存储或播放如上所述显示出各种特性的高分辨率、高质量图像/视频。
发明内容
技术方案
根据本文献的实施方式,提供了用于增强图像/视频编码效率的方法和设备。
根据本文献的实施方式,提供了用于基于帧内预测的图像编码中的变换的方法和设备。
根据本文献的实施方式,当对块应用基于矩阵的帧内预测(MIP)时,提供了使用变换索引进行块变换的方法和设备。
根据本文献的实施方式,提供了对应用了MIP的块的变换索引进行二值化或编码的方法和设备。
根据本文献的实施方式,提供了用信号通知应用了MIP的块的变换索引的方法和设备。
根据本文献的实施方式,提供了导出应用了MIP的块的变换索引的方法和设备。
根据本文献的实施方式,提供了用信号通知不应用MIP的块的变换索引的方法和设备。
根据本文献的实施方式,提供了由解码设备执行的视频/图像解码方法。
根据本文献的实施方式,提供了用于执行视频/图像解码的解码设备。
根据本文献的实施方式,提供了由编码设备执行的视频/图像编码方法。
根据本文献的实施方式,提供了用于执行视频/图像编码的编码设备。
根据本文献的实施方式,提供了存储根据本文献的实施方式中的至少一个中公开的视频/图像编码方法生成的编码后的视频/图像信息的计算机可读数字存储介质。
根据本文献的实施方式,提供了存储使解码设备执行在本文献的实施方式中的至少一个中公开的视频/图像解码方法的编码后的信息或编码后的视频/图像信息的计算机可读数字存储介质。
技术效果
根据本文献,整体图像/视频压缩效率可以增强。
根据本文献,可以高效地用信号通知应用基于矩阵的帧内预测(MIP)的块的变换索引。
根据本文献,可以对应用MIP的块的变换索引高效地进行编码。
根据本文献,可以在不单独用信号通知变换索引的情况下导出应用MIP的块的变换索引。
根据本文献,在MIP和低频不可分变换(LFNST)全都应用的情况下,它们之间的干扰可以最小化,可以保持最佳编码效率,并且可以降低复杂度。
可以通过本文献的详细示例获得的效果不限于以上列举的效果。例如,可以存在相关领域的普通技术人员能够从本文献中理解或导出的各种技术效果。因此,本文献的详细效果不限于在本文献中明确阐述的效果,而是可以包括可以从本文献的技术特征中理解或导出的各种效果。
附图说明
图1示意性例示了适用本文献的视频/图像编码系统的示例。
图2是示意性说明了适用本文献的视频/图像编码设备的配置的示图。
图3是示意性说明了适用本文献的视频/图像解码设备的配置的示图。
图4示例性例示了用于对语法元素进行编码的上下文自适应二进制算术编码(CABAC)。
图5示意性例示了根据本文献的实施方式的多变换技术。
图6示例性例示了65个预测方向上的帧内定向模式。
图7和图8是根据本文献的实施方式的说明RST的示图。
图9是例示了块的扫描顺序的示图。
图10是说明用于8×8块的MIP的示图。
图11是说明应用了MIP和LFNST的方法的流程图。
图12和图13示意性例示了根据本文献的实施方式的视频/图像编码方法和相关部件的示例。
图14和图15示意性例示了根据本文献的实施方式的视频/图像解码方法和相关部件的示例。
图16例示了适用本文献中公开的实施方式的内容流传输系统的示例。
具体实施方式
本公开可按各种形式修改,将描述并且在附图中图示其特定实施方式。然而,这些实施方式并非旨在限制本公开。以下描述中使用的术语仅用于描述特定实施方式,而非旨在限制本公开。单数表达包括复数表达,只要清楚地不同解读即可。诸如“包括”和“具有”这样的术语旨在指示存在以下描述中使用的特征、数量、步骤、操作、元件、部件或其组合,因此应该理解,不排除存在或添加一个或更多个不同的特征、数量、步骤、操作、元件、部件或其组合的可能性。
另外,本文献描述的附图的各个配置是为了说明作为彼此不同的特征的功能而独立的图示的,并不意指各个配置通过彼此不同的硬件或不同的软件被实现。例如,可以组合配置中的两个或更多个的配置以形成一个配置,并且也可以将一个配置划分为多个配置。在不脱离本文献的主旨的情况下,配置被组合和/或分离的实施方式被包括在权利要求的范围内。
在本文献中,术语“/”和“,”应该被解释为指示“和/或”。例如,表述“A/B”可以意指“A和/或B”。另外,“A、B”可以意指“A和/或B”。另外,“A/B/C”可以意指“A、B和/或C中的至少一个”。另外,“A/B/C”可以意指“A、B和/或C中的至少一个”。
另外,在该文献中,术语“或”应该被解释为指示“和/或”。例如,表述“A或B”可以包括1)仅A、2)仅B和/或3)A和B二者。换句话说,本文献中的术语“或”应该被解释为指示“另外地或另选地”。
在本说明书中,“A和B中的至少一个”可以意指“仅A”、“仅B”或“A和B二者”。另外,在本说明书中,表述“A或B中的至少一个”或“A和/或B中的至少一个”可以被解释为与“A和B中的至少一个”相同。
另外,在本说明书中,“A、B和C中的至少一个”可以意指“仅A”、“仅B”、“仅C”或“A、B和C的任何组合”。另外,“A、B或C中的至少一个”或“A、B和/或C中的至少一个”可以意指“A、B和C中的至少一个”。
本文献涉及视频/图像编码。例如,本文献中公开的方法/实施方式可以涉及通用视频编码(VVC)标准(ITU-T Rec.H.266)、VVC之后的下一代视频/图像编码标准或其他视频编码相关标准(例如,高效视频编码(HEVC)标准(ITU-T Rec.H.265)、基本视频编码(EVC)标准、AVS2标准等)。
在本文献中,视频可以是指随时间推移的一系列图像。图片通常是指表示特定时间帧的一个图像的单位,并且切片/图块是指在编码方面构成图片的一部分的单位。切片/图块可以包括一个或更多个编码树单元(CTU)。一幅图片可以由一个或更多个切片/图块组成。一幅图片可以由一个或更多个图块组组成。一个图块组可以包括一个或更多个图块。
像素或画素(pel)可意指构成一个图片(或图像)的最小单元。另外,“样本”可用作与像素对应的术语。样本通常可表示像素或像素值,并且可仅表示亮度分量的像素/像素值或仅表示色度分量的像素/像素值。
单元可表示图像处理的基本单位。单元可包括图片的特定区域和与该区域有关的信息中的至少一个。一个单元可包括一个亮度块和两个色度(例如,cb、cr)块。在一些情况下,单元可与诸如块或区域这样的术语互换使用。在一般情况下,M×N块可包括M列和N行的样本(或样本数组)或变换系数的集合(或数组)。另选地,样本可意指空间域中的像素值,并且当这样的像素值被变换到频域时,它可意指频域中的变换系数。
另外,在本说明书中使用的括号可以意指“例如”。具体地,在表达“预测(帧内预测)”的情况下,可以指示“帧内预测”被提议作为“预测”的示例。换句话说,本说明书中的术语“预测”不限于“帧内预测”,并且可以指示“帧内预测”被提议作为“预测”的示例。另外,即使在表达“预测(即,帧内预测)”的情况下,也可以指示“帧内预测”被提议作为“预测”的示例。
在本说明书中,在一个附图中被单独说明的技术特征可以单独实现,或者可以同时实现。
本文献提议了视频/图像编码的各种实施方式,并且除非另外提到,否则以上实施方式也可以彼此组合地执行。
下文中,将参照附图详细地描述本实施方式的示例。另外,在整个附图中,类似的附图标记用于指示类似的元件,并且将省略对类似元件的相同描述。
图1例示了可以应用本文献的公开内容的视频/图像编码系统的示例。
参照图1,视频/图像编码系统可以包括源装置和接收装置。源装置可以通过数字存储介质或网络以文件或流传输的形式将编码后的视频/图像信息或数据发送到接收装置。
源装置可包括视频源、编码设备和发送器。接收装置可包括接收器、解码设备和渲染器。编码设备可被称为视频/图像编码设备,解码设备可被称为视频/图像解码设备。发送器可被包括在编码设备中。接收器可被包括在解码设备中。渲染器可包括显示器,并且显示器可被配置为单独的装置或外部部件。
视频源可通过捕获、合成或生成视频/图像的处理来获取视频/图像。视频源可包括视频/图像捕获装置,和/或视频/图像生成装置。例如,视频/图像捕获装置可包括一个或更多个相机、包括先前捕获的视频/图像的视频/图像档案等。例如,视频/图像生成装置可包括计算机、平板计算机和智能电话,并且可(以电子方式)生成视频/图像。例如,可通过计算机等生成虚拟视频/图像。在这种情况下,视频/图像捕获处理可由生成相关数据的处理代替。
编码设备可对输入视频/图像进行编码。为了压缩和编码效率,编码设备可执行诸如预测、变换和量化的一系列过程。编码的数据(编码的视频/图像信息)可按比特流的形式输出。
发送器可通过数字存储介质或网络将以比特流的形式输出的编码的图像/图像信息或数据以文件或流的形式发送至接收装置的接收器。数字存储介质可包括诸如USB、SD、CD、DVD、蓝光、HDD、SSD等的各种存储介质。发送器可包括用于通过预定文件格式生成媒体文件的元件,并且可包括用于通过广播/通信网络传输的元件。接收器可接收/提取比特流并且将所接收的比特流发送至解码设备。
解码设备可通过执行与编码设备的操作对应的诸如反量化、逆变换和预测的一系列过程对视频/图像进行解码。
渲染器可渲染解码的视频/图像。渲染的视频/图像可通过显示器显示。
图2是示意性例示了可以应用本文献的公开内容的视频/图像编码设备的配置的示图。下文中,所谓的视频编码设备可以包括图像编码设备。
参照图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作为内部/外部部件。
图像分割器210可将输入到编码设备200的输入图像(或者图片或帧)分割成一个或更多个处理器。例如,处理器可被称为编码单元(CU)。在这种情况下,编码单元可根据四叉树二叉树三叉树(QTBTTT)结构从编码树单元(CTU)或最大编码单元(LCU)递归地分割。例如,一个编码单元可基于四叉树结构、二叉树结构和/或三元结构被分割成深度更深的多个编码单元。在这种情况下,例如,可首先应用四叉树结构,稍后可应用二叉树结构和/或三元结构。另选地,可首先应用二叉树结构。可基于不再分割的最终编码单元来执行根据本公开的编码过程。在这种情况下,根据图像特性基于编码效率等,最大编码单元可用作最终编码单元,或者如果需要,编码单元可被递归地分割成深度更深的编码单元并且具有最优大小的编码单元可用作最终编码单元。这里,编码过程可包括预测、变换和重构的过程(将稍后描述)。作为另一示例,处理器还可包括预测单元(PU)或变换单元(TU)。在这种情况下,预测单元和变换单元可从上述最终编码单元拆分或分割。预测单元可以是样本预测的单元,变换单元可以是用于推导变换系数的单元和/或用于从变换系数推导残差信号的单元。
在一些情况下,单元可与诸如块或区域这样的术语互换使用。在一般情况下,M×N块可表示由M列和N行组成的样本或变换系数的集合。样本通常可表示像素或像素值,可仅表示亮度分量的像素/像素值或者仅表示色度分量的像素/像素值。样本可用作与像素或像元的一个图片(或图像)对应的术语。
减法器231可以通过从输入图像信号(原始块、原始样本或原始样本数组)中减去从预测器220输出的预测信号(预测块、预测样本或预测样本数组)来生成残差信号(残差块、残差样本或残差样本数组),并且所生成的残差信号被发送到变换器232。预测器220可以对处理目标块(下文中,被称为“当前块”)执行预测,并生成包括当前块的预测样本的预测块。预测器220可以确定是以当前块或CU为单位应用帧内预测还是帧间预测。如随后在对每种预测模式的描述中所描述的,预测器可以生成诸如预测模式信息这样的与预测相关的各种类型的信息,并将所生成的信息传送到熵编码器240。关于预测的信息可以在熵编码器240中被编码并且以比特流的形式被输出。
帧内预测器222可参考当前图片中的样本来预测当前块。根据预测模式,所参考的样本可位于当前块附近或者可隔开。在帧内预测中,预测模式可包括多个非定向模式和多个定向模式。例如,非定向模式可包括DC模式和平面模式。例如,根据预测方向的详细程度,定向模式可包括33个定向预测模式或65个定向预测模式。然而,这仅是示例,可根据设置使用更多或更少的定向预测模式。帧内预测器222可使用应用于邻近块的预测模式来确定应用于当前块的预测模式。
帧间预测器221可基于参考图片上运动矢量所指定的参考块(参考样本数组)来推导当前块的预测块。这里,为了减少在帧间预测模式下发送的运动信息量,可基于邻近块与当前块之间的运动信息的相关性以块、子块或样本为单位预测运动信息。运动信息可包括运动矢量和参考图片索引。运动信息还可包括帧间预测方向(L0预测、L1预测、Bi预测等)信息。在帧间预测的情况下,邻近块可包括存在于当前图片中的空间邻近块和存在于参考图片中的时间邻近块。包括参考块的参考图片和包括时间邻近块的参考图片可相同或不同。时间邻近块可被称为并置参考块、并置CU(colCU)等,并且包括时间邻近块的参考图片可被称为并置图片(colPic)。例如,帧间预测器221可基于邻近块来配置运动信息候选列表并且生成指示哪一候选用于推导当前块的运动矢量和/或参考图片索引的信息。可基于各种预测模式执行帧间预测。例如,在跳过模式和合并模式的情况下,帧间预测器221可使用邻近块的运动信息作为当前块的运动信息。在跳过模式下,与合并模式不同,可不发送残差信号。在运动矢量预测(MVP)模式的情况下,邻近块的运动矢量可用作运动矢量预测器,并且可通过用信号通知运动矢量差来指示当前块的运动矢量。
预测器220可以基于下述的各种预测方法来生成预测信号。例如,预测器不仅可以应用帧内预测或帧间预测来预测一个块,而且还可以同时应用帧内预测和帧间预测二者。这可以被称为组合的帧间和帧内预测(CIIP)。另外,预测器可以执行用于块的预测的帧内块复制(IBC)。帧内块复制可以用于游戏等的内容图像/运动图像编码,例如,屏幕内容编码(SCC)。IBC基本上在当前图片中执行预测,但可以因为在当前图片中推导参考块而与帧间预测类似地执行。即,IBC可以使用本文献中描述的帧间预测技术中的至少一种。
通过帧间预测器221和/或帧内预测器222生成的预测信号可以用于生成重构信号或者生成残差信号。变换器232可以通过向残差信号应用变换技术来生成变换系数。例如,变换技术可以包括离散余弦变换(DCT)、离散正弦变换(DST)、基于图的变换(GBT)或有条件非线性变换(CNT)中的至少一种。这里,GBT意指当用图表示像素之间的关系信息时从图获得的变换。CNT是指基于使用所有先前重构的像素生成的预测信号而获得的变换。另外,变换处理可以被应用于具有相同大小的正方形像素块,或者可以应用于具有可变大小而非正方形的块。
量化器233可以对变换系数进行量化并将它们发送到熵编码器240,并且熵编码器240可以对量化后的信号(关于量化后的变换系数的信息)进行编码并输出比特流。关于量化后的变换系数的信息可以被称为残差信息。量化器233可以基于系数扫描顺序将块类型的量化后的变换系数重新布置成一维矢量形式,并基于一维矢量形式的量化后的变换系数来生成关于量化后的变换系数的信息。熵编码器240可以执行诸如(例如)指数哥伦布(Golomb)、上下文自适应可变长度编码(CAVLC)、上下文自适应二进制算术编码(CABAC)等这样的各种编码方法。熵编码器240可以将视频/图像重构所必需的信息与量化后的变换系数(例如,语法元素的值等)一起或分开地编码。编码后的信息(例如,编码后的视频/图像信息)可以以比特流的形式以网络抽象层(NAL)为单位进行发送或存储。视频/图像信息还可以包括与诸如自适应参数集(APS)、图片参数集(PPS)、序列参数集(SPS)或视频参数集(VPS)这样的各种参数集有关的信息。另外,视频/图像信息还可以包括常规约束信息。在本文献中,随后将描述的用信号通知/发送的信息和/或语法元素可以通过上述编码过程被编码,并被包括在比特流中。比特流可以通过网络发送,或者可以被存储在数字存储介质中。这里,网络可以包括广播网络和/或通信网络,并且数字存储介质可以包括诸如USB、SD、CD、DVD、蓝光、HDD、SSD等这样的各种存储介质。发送从熵编码器240输出的信号的发送器(未例示)或存储信号的存储单元(未例示)可以被配置为编码设备200的内部/外部元件,并且另选地,发送器可以被包括在熵编码器240中。
从量化器233输出的量化后的变换系数可以用于生成预测信号。例如,可以通过经由反量化器234和逆变换器235对量化后的变换系数应用反量化和逆变换来重构残差信号(残差块或残差样本)。加法器250将重构后的残差信号与从预测器220输出的预测信号相加,以生成重构信号(重构图片、重构块、重构样本、或重构样本数组)。如果没有处理目标块的残差(诸如,应用跳变模式的情况),则预测块可以用作重构块。所生成的重构信号可以用于当前图片中的下一处理目标块的帧内预测,并且如下所述,可以用于通过滤波进行的下一图片的帧间预测。
此外,可以在图片编码和/或重构处理期间应用具有色度缩放的亮度映射(LMCS)。
滤波器260可以通过向重构信号应用滤波来改善主观/客观图像质量。例如,滤波器260可以通过向重构图片应用各种滤波方法来生成修正后的重构图片,并将修正后的重构图片存储在存储器270中,具体地,存储在存储器270的DPB中。各种滤波方法可以包括例如解块滤波、样本自适应偏移(SAO)、自适应环路滤波器、双边滤波器等。滤波器260可以生成与滤波相关的各种类型的信息,并将所生成的信息传送到熵编码器290,如随后的每种过滤方法的描述中描述的。与滤波相关的信息可以由熵编码器290编码并以比特流的形式被输出。
发送到存储器270的修正后的重构图片可以被用作帧间预测器221中的参考图片。当通过编码设备应用帧间预测时,可以避免编码设备200与解码设备之间的预测失配,并且可以提高编码效率。
存储器270的DPB可以存储修正后的重构图片,以用作帧间预测器221中的参考图片。存储器270可以存储从其推导出(或编码)当前图片中的运动信息的块的运动信息和/或已经重构的图片中的块的运动信息。所存储的运动信息可以被传送到帧间预测器221,以被用作空间邻近块的运动信息或时间邻近块的运动信息。存储器270可以存储当前图片中的重构块的重构样本,并可以将重构样本传送到帧内预测器222。
图3是示意性说明了可以应用本文献的公开内容的视频/图像解码设备的配置的示图。
参照图3,解码设备300可包括熵解码器310、残差处理器320、预测器330、加法器340、滤波器350和存储器360。预测器330可包括帧间预测器331和帧内预测器332。残差处理器320可包括反量化器321和逆变换器321。根据实施方式,熵解码310、残差处理器320、预测器330、加法器340和滤波器350可由硬件部件(例如,解码器芯片组或处理器)配置。另外,存储器360可包括解码图片缓冲器(DPB)或者可由数字存储介质配置。硬件部件还可包括存储器360作为内部/外部部件。
当输入包括视频/图像信息的比特流时,解码设备300可重构与在图2的编码设备中处理视频/图像信息的处理对应的图像。例如,解码设备300可基于从比特流获得的块分割相关信息来推导单元/块。解码设备300可使用编码设备中应用的处理器来执行解码。因此,例如,解码的处理器可以是编码单元,并且编码单元可根据四叉树结构、二叉树结构和/或三叉树结构从编码树单元或最大编码单元分割。可从编码单元推导一个或更多个变换单元。通过解码设备300解码和输出的重构图像信号可通过再现设备再现。
解码设备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中的至少一个。
反量化器321可将量化后的变换系数反量化并输出变换系数。反量化器321可按二维块形式重排量化后的变换系数。在这种情况下,可基于在编码设备中执行的系数扫描顺序来执行重排。反量化器321可使用量化参数(例如,量化步长信息)对量化后的变换系数执行反量化并且获得变换系数。
逆变换器322对变换系数逆变换以获得残差信号(残差块、残差样本数组)。
预测器330可对当前块执行预测并生成包括当前块的预测样本的预测块。预测器可基于从熵解码器310输出的关于预测的信息来确定对当前块应用帧内预测还是帧间预测并且可确定特定帧内/帧间预测模式。
预测器可以基于下述的各种预测方法来生成预测信号。例如,预测器不仅可以应用帧内预测或帧间预测来预测一个块,而且还可以同时应用帧内预测和帧间预测。这可以被称为组合的帧间和帧内预测(CIIP)。另外,预测器可以执行用于块的预测的帧内块复制(IBC)。帧内块复制可以用于游戏等的内容图像/运动图像编码,例如,屏幕内容编码(SCC)。IBC基本上在当前图片中执行预测,但可以因为在当前图片中推导参考块而与帧间预测类似地执行。即,IBC可以使用本文献中描述的帧间预测技术中的至少一种。
帧内预测器332可以通过参考当前图片中的样本来预测当前块。根据预测模式,所参考的样本可以位于当前块的邻居中,或者其位置可以与当前块分开。在帧内预测中,预测模式可以包括多种非定向模式和多种定向模式。帧内预测器332可以通过使用应用于邻近块的预测模式来确定将应用于当前块的预测模式。
帧内预测器331可以基于参考图片上的运动矢量所指定的参考块(参考样本数组)来推导当前块的预测块。在这种情况下,为了减少在帧间预测模式下发送的运动信息的量,可以基于邻近块与当前块之间的运动信息相关性以块、子块或样本为单位来预测运动信息。运动信息可以包括运动矢量和参考图片索引。运动信息还可以包括关于帧间预测方向(L0预测、L1预测、Bi预测等)的信息。在帧间预测的情况下,邻近块可以包括当前图片中存在的空间邻近块和参考图片中存在的时间邻近块。例如,帧间预测器331可以基于邻近块来构造运动信息候选列表,并基于接收到的候选选择信息来推导当前块的运动矢量和/或参考图片索引。可以基于各种预测模式来执行帧间预测,并且关于预测的信息可以包括指示针对当前块的帧间预测的模式的信息。
加法器340可以通过将所获得的残差信号与从预测器330输出的预测信号(预测块或预测样本数组)相加来生成重构信号(重构图片、重构块或重构样本数组)。如果不存在处理目标块的残差(诸如,应用跳变模式的情况),则预测块可以用作重构块。
加法器340可以被称为重构器或重构块生成器。所生成的重构信号可以用于在当前图片中将处理的下一个块的帧内预测,并且如随后描述的,还可以通过滤波来输出或者还可以用于下一个图片的帧间预测。
此外,具有色度缩放的亮度映射(LMCS)还可以被应用于图片解码处理。
滤波器350可以通过向重构信号应用滤波来改善主观/客观图像质量。例如,滤波器350可以通过向重构图片应用各种滤波方法来生成修正后的重构图片,并将修正后的重构图片存储在存储器360中,具体地,存储在存储器360的DPB中。各种滤波方法可以包括例如解块滤波、样本自适应偏移、自适应环路滤波器、双边滤波器等。
存储在存储器360的DPB中的(修正后的)重构图片可以被用作帧间预测器331中的参考图片。存储器360可以存储从其推导出(或解码出)当前图片中的运动信息的块的运动信息和/或已经重构的图片中的块的运动信息。所存储的运动信息可以被传送到帧间预测器331,以便被用作空间邻近块的运动信息或时间邻近块的运动信息。存储器360可以存储当前图片中的重构块的重构样本,并将重构样本传送到帧内预测器332。
在本说明书中,解码设备300的预测器330、反量化器321、逆变换器322和滤波器350中描述的实施方式也可以以与编码设备200的预测器220、反量化器234、逆变换器235和滤波器260相同的方式或与其对应地应用。
此外,如上所述,在执行视频编码时,执行预测以增强压缩效率。可通过预测生成包括当前块(即,目标编码块)的预测样本的预测块。在这种情况下,预测块包括空间域(或像素域)中的预测样本。预测块在编码设备和解码设备中相同地推导。编码设备可通过用信号向解码设备通知关于原始块(而非原始块的原始样本值本身)与预测块之间的残差的信息(残差信息)来增强图像编码效率。解码设备可基于残差信息来推导包括残差样本的残差块,可通过将残差块和预测块相加来生成包括重构样本的重构块,并且可生成包括重构块的重构图片。
残差信息可通过变换过程和量化过程来生成。例如,编码设备可推导原始块与预测块之间的残差块,可通过对包括在残差块中的残差样本(残差样本数组)执行变换过程来推导变换系数,可通过对变换系数执行量化过程来推导量化后的变换系数,并且可将相关残差信息(通过比特流)用信号通知给解码设备。在这种情况下,残差信息可包括量化后的变换系数、位置信息、变换方案、变换核和量化参数等的值信息。解码设备可基于残差信息来执行反量化/逆变换过程并且可推导残差样本(或残差块)。解码设备可基于预测块和残差块来生成重构图片。此外,为了后续图片的帧间预测参考,编码设备可通过对量化后的变换系数进行反量化/逆变换来推导残差块,并且可基于此来生成重构图片。
此外,例如,编码设备可以通过基于诸如指数哥伦布、上下文自适应可变长度编码(CAVLC)、上下文自适应二进制算术编码(CABAC)等这样的各种编码方法对语法元素的值或残差的变换系数的量化值进行编码来获得比特流。另外,解码设备可以基于诸如指数哥伦布编码、CAVLC、CABAC等这样的各种编码方法来推导语法元素的值或残差的变换系数的量化值。
例如,上述编码方法可以作为后面将描述的内容来执行。
图4示例性例示了用于对语法元素进行编码的上下文自适应二进制算术编码(CABAC)。
例如,在CABAC编码处理中,如果输入信号是并非二进制值的语法元素,则可以通过二值化将输入信号的值变换为二进制值。另外,如果输入信号已经是二进制值(即,如果输入信号的值是二进制值),则可以不执行二值化,而可以按原样使用输入信号。这里,构成二进制值的每个二进制数0或1可以被称为bin。例如,如果二值化后的二进制串为110,则1、1和0中的每一个可以被表示为一个bin。一个语法元素的bin可以表示语法元素的值。二值化可以是基于诸如截断莱斯二值化处理或固定长度二值化处理这样的各种二值化方法的,并且用于目标语法元素的二值化方法可以是预定义的。二值化过程可以由熵编码器中的二值化器执行。
此后,语法元素的二值化的bin可以被输入到常规编码引擎或旁路编码引擎。编码设备的常规编码引擎可以分配反映关于相应bin的概率值的上下文模型,并基于所分配的上下文模型对相应bin进行编码。编码设备的常规编码引擎可以在对相应bin执行编码之后更新相应bin的上下文模型。被编码为上述内容的bin可以被表示为上下文编码的bin。
此外,在语法元素的二值化的bin被输入到旁路编码引擎的情况下,它们可以被如下编码。例如,编码设备的旁路编码引擎可以省略估计关于输入bin的概率的过程以及更新应用于编码后的bin的概率模型的过程。在应用旁路编码的情况下,编码设备可以通过应用规则(regular)概率分布而非分配上下文模型来对输入bin进行编码,并且通过这样,可以提高编码速度。被编码为上述内容的bin可以被表示为旁路bin。
熵解码可以表示以倒序执行与上述熵编码相同的处理的处理。
解码设备(熵解码器)可以对编码后的图像/视频信息进行解码。图像/视频信息可以包括分割相关信息、预测相关信息(例如,帧间/帧内预测划分信息、帧内预测模式信息、帧间预测模式信息等)、残差信息、或环内滤波相关信息,或者可以包括关于其的各种语法元素。熵编码可以以语法元素为单位执行。
解码设备可以执行目标语法元素的二值化。这里,二值化可以是基于诸如截断莱斯二值化处理或固定长度二值化处理这样的各种二值化方法的,并且用于目标语法元素的二值化方法可以是预定义的。解码设备可以通过二值化过程推导目标语法元素的可用值的可用bin串(bin串候选)。二值化过程可以由熵解码器中的二值化器执行。
解码设备可以在从比特流中的输入比特依次解码或解析目标语法元素的相应bin的同时将推导出的bin串与相应语法元素的可用bin串进行比较。如果推导出的bin串等于可用bin串中的一个,则与相应bin串对应的值被推导为相应语法元素的值。如若不然,解码设备可以在进一步解析比特流中的下一比特之后重新执行上述过程。通过这样的处理,即使在不使用相应信息的起始比特或结束比特的情况下,也可以使用可变长度比特来执行比特流中的特定信息(或特定语法元素)的用信号通知。通过这样,可以对较小的值分配相对较少的比特,因此整体编码效率可以增强。
解码设备可以基于诸如CABAC或CAVLC这样的熵编码技术执行来自比特流的bin串中的相应bin的基于上下文模型或基于旁路的解码。
在基于上下文模型对语法元素进行解码的情况下,解码设备可以通过比特流接收与语法元素对应的bin,可以使用解码目标块或邻近块的解码信息和语法元素或在前一级中解码的符号/bin信息来确定上下文模型,并可以通过根据所确定的上下文模型预测接收到的bin的出现概率执行bin的算术解码来推导语法元素值。此后,可以基于所确定的上下文模型来更新下一个被解码的bin的上下文模型。
可以通过上下文编码(常规编码)的bin来分配和更新上下文模型,并且可以基于上下文索引(ctxIdx)或上下文索引增量(ctxInc)来指示上下文模型。可以基于ctxInc来推导ctxIdx。具体地,例如,可以通过ctxInc与上下文索引偏移量(ctxIdxOffset)之和来推导表示每个常规编码的bin的上下文模型的ctxIdx。例如,可以通过bin不同地推导ctxInc。ctxIdxOffset可以被表示为ctxIdx的最低值。通常,ctxIdxOffset可以是用于与其他语法元素的上下文模型进行区分的值,并且一个语法元素的上下文模型可以基于ctxInc来划分或推导。
在熵编码过程中,可以确定是通过常规编码引擎执行编码还是通过旁路编码引擎执行编码,并且因此,可以切换编码路径。熵解码可以以倒序执行与熵编码相同的处理。
此外,例如,在语法元素被旁路解码的情况下,解码设备可以通过比特流接收与语法元素对应的bin,并可以通过应用规则概率分布对输入的bin进行解码。在这种情况下,解码设备可以省略推导语法元素的上下文模型的过程以及在解码之后更新应用于bin的上下文模型的过程。
图5示意性例示了根据本文献的多变换技术。
参照图5,变换器可以对应于如上所述的图2的编码设备中的变换器,并且逆变换器可以对应于图2的编码设备中的逆变换器或如上所述的图3的解码设备中的逆变换器。
变换器可以通过基于残差块中的残差样本(残差样本数组)执行主变换来推导(主)变换系数(S510)。这样的主变换可以被称为核心变换。这里,主变换可以是基于多变换选择(MTS)的,并且在多变换被应用为主变换的情况下,它可以被称为多核心变换。
例如,多核心变换可以通过另外使用离散余弦变换(DCT)类型2(DCT-II)、离散正弦变换(DST)类型7(DST-VII)、DCT类型8(DCT-VIII)和/或DST类型1(DST-I)来表示变换方法。即,多核心变换可以表示用于基于从DCT类型2、DST类型7、DCT类型8和DST类型1当中选择的多个变换核来将空间域的残差信号(或残差块)变换成频域的变换系数(或主变换系数)的变换方法。这里,主变换系数可以被称为变换器侧的临时变换系数。
换句话说,在应用现有变换方法的情况下,可以基于DCT类型2来应用残差信号(或残差块)的空间域到频域的变换,并且可以生成变换系数。然而,与此不同,在应用多核心变换的情况下,可以基于DCT类型2、DST类型7、DCT类型8和/或DST类型1来应用残差信号(或残差块)的空间域到频域的变换,并且可以生成变换系数(或主变换系数)。这里,DCT类型2、DST类型7、DCT类型8和DST类型1可以被称为变换类型、变换核或变换核心。可以基于基函数来定义DCT/DST变换类型。
在执行多核心变换的情况下,可以从变换核当中选择针对目标块的竖直变换核和/或水平变换核,并且可以基于竖直变换核执行针对目标块的竖直变换,并且可以基于水平变换核执行针对目标块的水平变换。这里,水平变换可以表示针对目标块的水平分量的变换,并且竖直变换可以表示针对目标块的竖直分量的变换。可以基于包括残差块的目标块(CU或子块)的预测模式和/或变换索引来自适应地确定竖直变换核/水平变换核。
另外,例如,在通过应用MTS执行主变换的情况下,特定基函数可以被配置为指定值,并且在竖直变换或水平变换的情况下,可以通过组合应用的基函数来配置变换核的映射关系。例如,在水平方向变换核由trTypeHor表示且竖直方向变换核由trTypeVer表示的情况下,值为0的trTypeHor或trTypeVer可以被配置为DCT2,并且值为1的trTypeHor或trTypeVer可以被配置为DCT7。值为2的trTypeHor或trTypeVer可以被配置为DCT8。
另外,例如,为了指示多个变换核集中的任一个,可以对MTS索引进行编码,并且可以向解码设备用信号通知MTS索引信息。这里,MTS索引可以被表示为tu_mts_idx语法元素或mts_idx语法元素。例如,如果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。例如,根据MTS索引的变换核集可以如下表中地表示。
[表1]
变换器可以通过基于(主)变换系数执行二次变换来推导修正后的(二次)变换系数(S520)。主变换可以是空间域到频域的变换,并且二次变换可以通过使用(主)变换系数之间存在的相关性来将变换表示为更压缩的表现形式。
例如,二次变换可以包括不可分变换。在这种情况下,二次变换可以被称为不可分二次变换(NSST)或依赖于模式的不可分二次变换(MDNSST)。不可分二次变换可以表示通过基于不可分变换矩阵对通过主变换推导出的(主)变换系数进行二次变换来生成针对残差信号的修正的变换系数(或二次变换系数)的变换。这里,竖直变换和水平变换不能基于不可分变换矩阵来对(主)变换系数分开(或独立地)应用,但可以一次性全部应用。
换句话说,不可分二次变换可以表示以下的变换方法:在不将(主)变换系数分离为竖直分量和水平分量的情况下通过专门确定的方向(例如,行优先方向或列优先方向)将例如二维信号(变换系数)重新排列为一维信号,然后基于不可分变换矩阵来生成修正后的变换系数(或二次变换系数)。
例如,行优先方向(或顺序)可以表示按第一行至第N行的顺序将M×N块排成一行,并且列优先方向(或顺序)可以表示按第一列至第M列的顺序将M×N块排成一行。这里,M和N可以表示块的宽度(W)和高度(H),并且可以全部是正整数。
例如,可以向由(主)变换系数构成的块(下文中,变换系数块)的左上区域应用不可分二次变换。例如,如果变换系数块的宽度(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不可分二次变换。
具体地,例如,在使用4×4输入块的情况下,可以如下执行不可分二次变换。
4×4输入块X可以如下地表示。
[式1]
例如,X的矢量形式可以如下地表示。
[式2]
参照式2,
在这种情况下,可以如下地计算二次不可分变换。
[式3]
这里,
基于式3,可以推导大小为16×1的
此外,在不可分二次变换中,可以按依赖于模式的方式选择变换核(或变换核心或变换类型)。这里,模式可以包括帧内预测模式和/或帧间预测模式。
例如,如上所述,可以基于以变换系数块的宽度(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矩阵。
在这种情况下,对于基于模式的变换核选择,可以针对所有8×8变换和4×4变换来配置用于不可分二次变换的每个变换集的两个不可分二次变换核,并且可以提供四个变换集。即,可以针对8×8变换配置四个变换集,并且可以针对4×4变换配置四个变换集。在这种情况下,用于8×8变换的四个变换集中的每一个可以包括两个8×8变换核,并且用于4×4变换的四个变换集中的每一个可以包括两个4×4变换核。
然而,变换的大小、集的数目以及集中变换核的数目是示例性的,并且可以使用除了8×8或4×4之外的大小,或者可以配置n个集,或者在每个集中可以包括k个变换核。这里,n和k可以是正整数。
例如,变换集可以被称为NSST集,并且NSST集中的变换核可以被称为NSST核。例如,可以基于目标块(CU或子块)的帧内预测模式来执行在变换集当中特定集的选择。
例如,帧内预测模式可以包括两个非定向或非角度帧内预测模式和65个定向或角度帧内预测模式。非定向帧内预测模式可以包括0号平面帧内预测模式和1号DC帧内预测模式,并且定向帧内预测模式可以包括65个(2号至66号)帧内预测模式。然而,这是示例性的,并且根据本文献的实施方式甚至可以应用于提供不同数目的帧内预测模式的情况。此外,在某些情况下,还可以使用67号帧内预测模式,并且67号帧内预测模式可以表示线性模型(LM)模式。
图6示例性例示了65个预测方向上的帧内定向模式。
参照图6,围绕具有左上对角预测方向的34号帧内预测模式,可以将模式分为具有水平方向性的帧内预测模式和具有竖直方向性的帧内预测模式。在图6中,H和V可以分别意指水平方向性和竖直方向性,并且数字-32至32可以表示样本网格位置上1/32个单位的位移。这可以表示模式索引值的偏移。
例如,2号至33号帧内预测模式可以具有水平方向性,并且34号至66号帧内预测模式具有竖直方向性。此外,从技术上讲,34号帧内预测模式可以被认为既没有水平方向性也没有竖直方向性,但从确定二次变换的变换集的观点来看,可以被归类为属于水平方向性。这是因为针对围绕34号帧内预测模式对称的竖直方向模式,对输入数据进行转置和使用,并且针对34号帧内预测模式使用水平方向模式的输入数据排列方法。这里,输入数据的转置可以意指对于二维块数据M×N,按照行变成列而列变成行的方式构造成N×M数据。
另外,18号帧内预测模式和50号帧内预测模式可以分别表示水平帧内预测模式和竖直帧内预测模式,并且2号帧内预测模式可以被称为右上对角帧内预测模式,因为以左参考像素沿右上方向进行预测。在相同的上下文中,34号帧内预测模式可以被称为右下对角帧内预测模式,并且66号帧内预测模式可以被称为左下对角帧内预测模式。
此外,如果确定特定集被用于不可分变换,则可以通过不可分二次变换索引来选择特定集中的k个变换核中的一个。例如,编码设备可以基于率失真(RD)检查来推导表示特定变换核的不可分二次变换索引,并可以将该不可分二次变换索引用信号通知给解码设备。例如,解码设备可以基于不可分二次变换索引在特定集中选择k个变换核中的一个。例如,值为0的NSST索引可以表示第一不可分二次变换核,值为1的NSST索引可以表示第二不可分二次变换核,并且值为2的NSST索引可以表示第三不可分二次变换核。另选地,值为0的NSST索引可以表示不对目标块应用第一不可分二次变换,并且值为1至3的NSST索引可以指示如上的三个变换核。
变换器可以基于所选择的变换核来执行不可分二次变换,并可以获得修正后的(二次)变换系数。修正后的变换系数可以被推导为通过上述量化器量化的量化后的变换系数,并且可以被编码以用信号通知给解码设备并可以传送到编码设备中的反量化器/逆变换器。
此外,如果如上所述省略了二次变换,则作为主(可分)变换的输出的(主)变换系数可以通过如上所述的量化器被推导为量化后的变换系数,并可以被编码以用信号通知给解码设备并可以被传送到编码设备中的反量化器/逆变换器。
再次参照图5,逆变换器可以以与通过上述变换器执行的过程相反的顺序执行一系列过程。逆变换器可以接收(反量化后的)变换系数,通过执行二次(逆)变换来推导(主)变换系数(S550),并通过对(主)变换系数执行主(逆)变换来获得残差块(残差样本)(S560)。这里,在逆变换器侧,主变换系数可以被称为修正后的变换系数。如上所述,编码设备和/或解码设备可以基于残差块和预测块来生成重构块,并可以基于此来生成重构图片。
此外,解码设备还可以包括二次逆变换应用/不应用确定器(或用于确定是否应用二次逆变换的元件)和二次逆变换确定器(或用于确定二次逆变换的元件)。例如,二次逆变换应用/不应用确定器可以确定是否应用二次逆变换。例如,二次逆变换可以是NSST或RST,并且二次逆变换应用/不应用确定器可以基于从比特流中解析或获得的二次变换标志来确定是否应用二次逆变换。另选地,例如,二次逆变换应用/不应用确定器可以基于残差块的变换系数来确定是否应用二次逆变换。
二次逆变换确定器可以确定二次逆变换。在这种情况下,二次逆变换确定器可以基于按照帧内预测模式指定的NSST(或RST)变换集来确定应用于当前块的二次逆变换。另选地,可以取决于主变换确定方法来确定二次变换确定方法。另选地,可以按照帧内预测模式来确定主变换和二次变换的各种组合。例如,二次逆变换确定器可以基于当前块的大小来确定应用二次逆变换的区域。
此外,如果如上所述省略了二次(逆)变换,则可以通过接收(反量化后的)变换系数并执行主(可分)逆变换来获得残差块(残差样本)。如上所述,编码设备和/或解码设备可以基于残差块和预测块来生成重构块,并可以基于此来生成重构图片。
此外,在本文献中,为了减少不可分二次变换伴随的计算量和存储器需要量,具有减小的变换矩阵(核)大小的缩减二次变换(RST)可以应用于NSST的概念。
在本文献中,RST可以意指基于大小按照简化因子减小的变换矩阵来对目标块的残差样本执行的(简化)变换。在执行此的情况下,由于变换矩阵的大小减小,因此变换期间所需的计算量可以减少。即,RST可以用于解决大小大的块的变换或不可分变换期间出现的计算复杂度问题。
例如,RST可以被称为诸如缩减变换、缩减二次变换、减小变换、简化变换或简单变换这样的各种术语,并且指代RST的名称不限于所列举的示例。另外,RST主要在主变换块中包括非0系数的低频域中执行,因此可以被称为低频不可分变换(LFNST)。
此外,在基于RST执行二次逆变换的情况下,编码设备200的逆变换器235和解码设备300的逆变换器322可以包括基于针对变换系数的逆RST推导修正后的变换系数的逆RST单元以及基于针对修正后的变换系数的逆主变换推导目标块的残差样本的逆主变换器。逆主变换意指已应用于残差的主变换的逆变换。在本文献中,基于变换来推导变换系数可以意指通过应用对应的变换来推导变换系数。
图7和图8是根据本文献的实施方式的说明RST的示图。
例如,图7可以是说明应用正缩减变换的图,并且图8可以是说明应用逆缩减变换的图。在本文献中,目标块可以表示被执行编码的当前块、残差块或变换块。
例如,在RST中,N维矢量可以被映射到位于另一空间中的R维矢量上,并且可以确定缩减的变换矩阵。这里,N和R可以是正整数,并且R可以小于N。N可以意指被应用变换的块的一边的长度的平方或与被应用变换的块对应的变换系数的总数,并且简化因子可以意指R/N值。简化因子可以被称为诸如缩减因子、减小因子、化简因子或简单因子这样的各种术语。此外,R可以被称为缩减系数,并且在某些情况下,简化因子可以意指R。另外,在某些情况下,简化因子可以意指N/R值。
例如,可以通过比特流来用信号通知简化因子或缩减系数,但不限于此。例如,简化因子或缩减系数的预定义值可以被存储在编码设备200和解码设备300中,并且在这种情况下,可以不单独用信号通知简化因子或缩减系数。
例如,简化变换矩阵的大小(R×N)可以小于常规变换矩阵的大小(N×N),并可以如下式中地定义。
[式4]
例如,图7中例示的缩减变换块中的矩阵T可以表示式4的矩阵T
例如,在应用变换的块的大小为8×8并且R为16(即,R/N=16/64=1/4)的情况下,可以通过如下式5中的矩阵运算来表示根据图7的RST。在这种情况下,存储器和乘法运算可以按简化因子减小至约1/4。
在本文献中,矩阵运算可以被理解为通过将矩阵放置在列矢量的左侧并将该矩阵乘以列矢量来获得列矢量的操作。
[式5]
在式5中,r
例如,在R为16的情况下,可以推导目标块的变换系数c
考虑到变换矩阵的大小,由于常规变换矩阵的大小为64×64(N×N),并且简化变换矩阵的大小减少至16×64(R×N),因此与执行常规变换的情况相比,执行RST时的存储器使用可以按R/N比率减小。另外,与使用常规变换矩阵时的乘法运算的数目(N×N)相比,简化变换矩阵的使用可以使乘法运算的数目(R×N)按R/N比率减小。
在实施方式中,编码设备200的变换器232可以通过执行目标块的残差样本的主变换和基于RST的二次变换来推导目标块的变换系数。变换系数可以被传送到解码设备300的逆变换器,并且解码设备300的逆变换器322可以基于变换系数的逆缩减二次变换(RST)来推导修正后的变换系数,并可以基于修正后的变换系数的逆主变换来推导目标块的残差样本。
根据实施方式的逆RST矩阵T
图8中例示的缩减逆变换块中的矩阵T
更具体地,在逆RST被应用为二次逆变换的情况下,可以通过将目标块的变换系数乘以逆RST矩阵T
在实施方式中,在应用逆变换的块的大小为8×8并且R为16(即,R/N=16/64=1/4)的情况下,可以通过如下式6中的矩阵运算来表示根据图8的RST。
[式6]
在式6中,c
考虑到逆变换矩阵的大小,由于常规逆变换矩阵的大小为64×64(N×N),并且简化逆变换矩阵的大小减少至64×16(N×R),因此与执行常规逆变换的情况相比,执行逆RST时的存储器使用可以按R/N比率减小。另外,与使用常规逆变换矩阵时的乘法运算的数目(N×N)相比,简化逆变换矩阵的使用可以使乘法运算的数目(N×R)按R/N比率减小。
此外,可以甚至对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区域。
图9是例示了块的扫描顺序的示图。
例如,当应用如式4中的正向8×8RST时,可以生成16个有效变换系数,构成8×8区域的64个输入数据可以减少至16个输出数据,并且从二维域的观点来看,只有四分之一的区域可以被填充有效变换系数。因此,例如,通过应用正向8×8RST而获得的16个输出数据可以被填充在图9的左上区域中。
在图9中,左上4×4区域可以是填充有效变换系数的感兴趣区域(ROI)区域,而剩余区域可以为空。例如,空的区域可以默认填充有值0。如果在ROI区域之外发现有效非零变换系数,则由于不应用8×8RST,因此可以省略对应的NSST索引编码。然而,反过来,如果在ROI区域之外没有发现非零变换系数(假定当应用8×8RST时,在ROI以外的区域中填充0),则可能已应用了8×8RST,因此可以对NSST索引进行编码。例如,因为必须检查非零变换系数是否存在,所以可以在残差编码处理之后执行有条件的NSST索引编码。
例如,假定正向扫描顺序从1开始编号,可以以正向扫描顺序对第17个至第64个系数执行扫描。或者,例如,图9中的箭头方向可以指示反向扫描,并可以指示从第64个至第17个的后向扫描。例如,扫描区域可以是空的区域,并且可以基于扫描来检查除了空的区域或ROI区域之外的有效非零变换系数。
如上所述,可以通过变换和量化处理将残差样本推导为量化后的变换系数。量化后的变换系数可以被称为变换系数。在这种情况下,块中的变换系数可以以残差信息的形式被用信号通知。残差信息可以包括关于残差编码的语法或语法元素。例如,编码设备可以对残差信息进行编码,并可以以比特流的形式将其输出,并且解码设备可以从比特流中解码残差信息,并可以推导残差(量化后的)变换系数。如随后描述的,残差信息可以包括表示是否已向相应块应用变换、块中最后的有效变换系数的位置在哪里、子块中是否存在有效变换系数或有效变换系数的大小/符号如何的语法元素。
此外,例如,图2的编码设备中的预测器或图3的解码设备中的预测器可以执行帧内预测。如下,将更详细地描述帧内预测。
帧内预测可以表示基于当前块所属的图片(下文中,当前图片)中的参考样本来生成当前块的预测样本的预测。在向当前块应用帧内预测的情况下,可以推导将用于当前块的帧内预测的邻近参考样本。当前块的邻近参考样本可以包括与大小为nW×nH的当前块的左边界相邻的样本、与左下角邻近的总共2×nH个样本、与当前块的上边界相邻的样本、与右上角邻近的总共2×nW个样本以及与当前块的左上角邻近的一个样本。另选地,当前块的邻近参考样本可以包括多列的上邻近样本以及多行的左邻近样本。另选地,当前块的邻近参考样本可以包括与大小为nW×nH的当前块的右边界相邻的总共nH个样本、与当前块的右边界相邻的总共nH个样本、与当前块的下边界相邻的总共nW个样本以及与当前块的右下角邻近的一个样本。
然而,当前块的邻近参考样本中的一些可能尚未被解码或者可能不可用。在这种情况下,解码器可以通过用可用样本替换不可用样本来配置将用于预测的邻近参考样本。另选地,可以通过可用样本的插值来配置将用于预测的邻近参考样本。
在推导出邻近参考样本的情况下,(i)可以基于当前块的邻近参考样本的平均值或插值来导出预测样本,并且(ii)可以基于当前块的邻近参考样本当中的关于预测样本的特定(预测)方向上存在的参考样本来导出预测样本。情况(i)可以被称为非定向模式或非角度模式,并且情况(ii)可以被称为定向模式或角度模式。
另外,可以基于邻近参考样本当中的当前块的预测样本,通过位于与当前块的帧内预测模式的预测方向相反的方向上的第一邻近样本和第二邻近样本之间的插值来生成预测样本。上述情况可以被称为线性插值帧内预测(LIP)。另外,可以使用线性模型基于亮度样本生成色度预测样本。这种情况可以被称为线性模型(LM)模式。另选地,可以通过基于滤波后的邻近参考样本推导当前块的临时预测样本并执行临时预测样本与未滤波的邻近参考样本当中的按照帧内预测模式推导出的至少一个参考样本的加权求和来推导当前块的预测样本。上述情况可以被称为位置相关帧内预测(PDPC)。另选地,可以以如下方法执行帧内预测编码:通过在当前块的多个邻近参考样本线当中选择具有最高预测精度的参考样本线,使用相应的线中的位于预测方向上的参考样本来推导预测样本,并向解码设备指示(用信号通知)此时使用的参考样本线。上述情况可以被称为多参考线(MRL)帧内预测或基于MRL的帧内预测。另外,在通过将当前块划分为竖直或水平子分区而基于相同的帧内预测模式来执行帧内预测时,可以以子分区为单位来推导和使用邻近参考样本。即,当前块的帧内预测模式可以同样地应用于子分区,并且在这种情况下,由于邻近参考样本是以子分区为单位推导和使用的,因此在某些情况下,可以增强帧内预测性能。这种预测方法可以被称为帧内子分区(ISP)或者基于ISP的帧内预测。
上述帧内预测方法可以被称为帧内预测类型以与帧内预测模式区分开。帧内预测类型可以被称为诸如帧内预测技术或附加帧内预测模式这样的各种术语。例如,帧内预测类型(或附加帧内预测模式)可以包括如上所述的LIP、PDPC、MRL和ISP中的至少一种。排除了诸如LIP、PDPC、MRL或ISP这样的特定帧内预测类型的一般帧内预测方法可以被称为正常帧内预测类型。在不应用上述特定帧内预测类型的情况下,通常可以应用正常帧内预测类型,并且可以基于上述帧内预测模式来执行预测。此外,在需要时,可以执行对推导出的预测样本的后滤波。
换句话说,帧内预测过程可以包括帧内预测模式/类型确定、邻近参考样本推导以及基于帧内预测模式/类型的预测样本推导。此外,在需要时,可以执行对推导出的预测样本的后滤波。
此外,在上述帧内预测类型当中,ISP可以在水平方向或竖直方向上划分当前块,并可以以划分的块为单位执行帧内预测。即,ISP可以通过在水平方向或竖直方向上划分当前块来推导子块,并可以对每个子块执行帧内预测。在这种情况下,可以通过以划分的子块为单位执行编码/解码来生成重构块,并且重构块可以用作下一划分子块的参考块。这里,子块可以被称为帧内子分区。
例如,在应用ISP的情况下,当前块可以基于当前块的大小在竖直或水平方向上划分成两个或四个子块。
例如,为了应用ISP,可以以块为单位发送表示是否应用ISP的标志,并且在对当前块应用ISP的情况下,表示分割类型是水平还是竖直(即,分割方向是水平方向还是竖直方向)的标志可以被编码/解码。表示是否应用ISP的标志可以被称为ISP标志,并且ISP标志可以被表示为intra_subpartitions_mode_flag语法元素。另外,表示分割类型的标志可以被称为ISP分割标志,并且ISP分割标志可以被表示为intra_subpartitions_split_flag语法元素。
例如,通过ISP标志或ISP分割标志,表示不对当前块应用ISP的信息(IntraSubPartitionsSplitType==ISP_NO_SPLIT)、表示水平方向上的分割的信息(IntraSubPartitionsSplitType==ISP_HOR_SPLIT)、表示竖直方向上的分割的信息(IntraSubPartitionsSplitType==ISP_VER_SPLIT)可以被表示。例如,ISP标志或ISP分割标志可以被称为与块的子分割有关的ISP相关信息。
此外,除了上述帧内预测类型之外,还可以使用仿射线性加权帧内预测(ALWIP)。ALWIP可以被称为线性加权帧内预测(LWIP)、矩阵加权帧内预测(MWIP)或基于矩阵的帧内预测(MIP)。在对当前块应用ALWIP的情况下,i)使用已被执行平均过程的邻近参考样本,ii)可以执行矩阵矢量乘法过程,以及iii)在需要时,可以通过进一步执行水平/竖直插值过程来推导当前块的预测样本。
用于ALWIP的帧内预测模式可以是上述的LIP、PDPC、MRL或ISP帧内预测,但可以与用于正常帧内预测的帧内预测模式不同地配置。用于ALWIP的帧内预测模式可以被称为ALWIP模式。例如,按照用于ALWIP的帧内预测模式,可以不同地配置在在矩阵矢量乘法中使用的偏移和矩阵。这里,矩阵可以被称为(仿射)权重矩阵,并且偏移可以被称为(仿射)偏移矢量或(仿射)偏置矢量。在本文献中,用于ALWIP的帧内预测模式可以被称为ALWIP模式、ALWIP帧内预测模式、LWIP模式、LWIP帧内预测模式、MWIP模式、MWIP帧内预测模式、MIP模式或MIP帧内预测模式。随后,将描述详细的ALWIP方法。
图10是说明用于8×8块的MIP的示图。
为了预测具有宽度W和高度H的矩形块的样本,MIP可以使用邻近块的左边界的样本以及邻近上边界的样本。这里,邻近左边界的样本可以表示位于与块的左边界相邻的一条线中的样本,并可以表示重构样本。邻近上边界的样本可以表示位于与块的上边界相邻的一条线中的样本,并可以表示重构样本。
例如,如果重构样本不可用,则重构样本可以如相关技术中的帧内预测中一样被生成或推导,并可以被使用。
可以基于平均处理、矩阵矢量乘法处理和(线性)插值处理来生成预测信号(或预测样本)。
例如,平均处理可以是用于通过平均来从边界提取出样本的处理。例如,如果样本的宽度W和高度H都为4,则被提取的样本可以是4个样本,在另一种情况下可以是8个样本。例如,在图10中,bdry
例如,矩阵矢量乘法处理可以是以平均后的样本为输入来执行矩阵矢量乘法的处理。另外,可以添加偏移。例如,在图10中,A
例如,(线性)插值处理可以是根据通过线性插值来子采样的集合的预测信号在其余位置生成预测信号的处理。这里,线性插值可以表示在相应方向上的单个线性插值。例如,可以基于图10中的块中用灰色标记的缩减的预测信号pred
例如,生成预测信号(或预测块或预测样本)所需的矩阵(图10中的A
此外,在本文献的实施方式中,可以针对应用MIP的块用信号通知LFNST索引信息。另选地,编码设备可以通过对用于变换应用了MIP的块的LFNST索引信息进行编码来生成比特流,并且解码设备可以通过解析或解码比特流来获得用于变换应用了MIP的块的LFNST索引信息。
例如,LFNST索引信息可以是用于按照构成变换集的变换的数目来区分LFNST变换集的信息。例如,可以基于LFNST索引信息,对应用MIP的帧内预测的块选择最佳LFNST核。例如,LFNST索引信息可以被表示为st_idx语法元素或lfnst_idx语法元素。
例如,LFNST索引信息(或st_idx语法元素)可以如下表中一样地被包括在语法中。
[表2]
[表3]
[表4]
[表5]
如上的表2至表5可以连续地表示一个语法或信息。
例如,在表2至表5中,用intra_mip_flag语法元素、intra_mip_mpm_flag语法元素、intra_mip_mpm_idx语法元素、intra_mip_mpm_remainder语法元素或st_idx语法元素表示的信息或语义可以如下表中一样。
[表6]
例如,intra_mip_flag语法元素可以表示与MIP是应用于亮度样本还是当前块有关的信息。另外,例如,intra_mip_mpm_flag语法元素、intra_mip_mpm_idx语法元素或intra_mip_mpm_remainder语法元素可以表示与在应用MIP的情况下将应用于当前块的帧内预测模式有关的信息。另外,例如,st_idx语法元素可以表示与将应用于当前块的LFNST的变换核(LFNST核)有关的信息。即,st_idx语法元素可以是表示LFNST变换集中的变换核之一的信息。这里,st_idx语法元素可以被表示为lfnst_idx语法元素或LFNST索引信息。
图11是说明应用了MIP和LFNST的方法的流程图。
此外,本文献的另一实施方式可以不用信号通知与应用MIP的块有关的LFNST索引信息。另外,编码设备可以通过对排除了用于应用MIP的块的变换的LFNST索引信息的图像信息进行编码来生成比特流,并且解码设备可以解析或解码比特流,并可以在没有用于应用MIP的块的变换的LFNST索引信息的情况下执行变换块的处理。
例如,如果不用信号通知LFNST索引信息,则LFNST索引信息可以被导出为默认值。例如,导出为默认值的LFNST索引信息可以为值0。例如,具有值0的LFNST索引信息可以表示不对相应块应用LFNST。在这种情况下,由于不发送LFNST索引信息,因此可以减少用于对LFNST索引信息进行编码的比特量。另外,可以通过防止同时应用MIP和LFNST来降低复杂度,因此也可以减少等待时间。
参照图11,可以首先确定是否对相应块应用MIP。即,可以确定intra_mip_flag语法元素的值为1还是0(S1100)。例如,如果intra_mip_flag语法元素的值为1,则可以被视为“真”或“是”,并且可以表示对相应块应用MIP。因此,可以对相应块执行MIP预测(S1110)。即,可以通过执行MIP预测来推导相应块的预测块。此后,可以执行逆主变换过程(S1120),并且可以执行帧内重构过程(S1130)。换句话说,可以通过对从比特流获得的变换系数执行逆主变换来推导残差块,并且可以基于根据MIP预测的预测块和残差块来生成重构块。即,可以不包括应用了MIP的块的LFNST索引信息。另外,可以不对应用了MIP的块应用LFNST。
另外,例如,如果intra_mip_flag语法元素值为0,则可以被视为“假”或“否”,并且可以表示不对相应块应用MIP。即,可以对相应块应用传统帧内预测(S1140)。即,可以通过执行传统帧内预测来推导相应块的预测块。此后,可以基于LFNST索引信息来确定是否对相应块应用LFNST。换句话说,可以确定st_idx语法元素的值是否大于0(S1150)。例如,如果st_idx语法元素的值大于0,则可以使用由st_idx语法元素表示的变换核来执行逆LFNST变换过程(S1160)。另外,如果st_idx语法元素的值不大于0,则可以表示不对相应块应用LFNST,并且不可以执行逆LFNST变换过程。此后,可以执行逆主变换过程(S1120),并且可以执行帧内重构过程(S1130)。换句话说,可以通过对从比特流获得的变换系数执行逆主变换来推导残差块,并且可以基于根据传统帧内预测的预测块和残差块来生成重构块。
总之,如果应用MIP,则可以在不解码LFNST索引信息的情况下生成MIP预测块,并且可以通过对接收到的系数应用逆主变换来生成最终的帧内重构信号。
相比之下,如果不应用MIP,则可以解码LFNST索引信息,并且如果标志(或LFNST索引信息或st_idx语法元素)值的值大于0,则可以通过对接收到的系数应用逆LFNST变换和逆主变换来生成最终的帧内重构信号。
例如,对于上述过程,LFNST索引信息(或st_idx语法元素)可以基于与是否应用MIP有关的信息(或intra_mip_flag语法元素)而被包括在语法或图像信息中,并可以被用信号通知。另外,可以参考与是否应用MIP有关的信息(或intra_mip_flag语法元素)选择性配置/解析/用信号通知/发送/接收LFNST索引信息(或st_idx语法元素)。例如,LFNST索引信息可以被表示为st_idx语法元素或lfnst_idx语法元素。
例如,LFNST索引信息(或st_idx语法元素)可以如下表7中一样地被包括。
[表7]
例如,参照表7,可以基于intra_mip_flag语法元素来包括st_idx语法元素。换句话说,如果intra_mip_flag语法元素的值为0(!intra_mip_flag),则可以包括st_idx语法元素。
另外,例如,LFNST索引信息(或lfnst_idx语法元素)可以如下表8中一样地被包括。
[表8]
例如,参照表8,可以基于intra_mip_flag语法元素来包括lfnst_idx语法元素。换句话说,如果intra_mip_flag语法元素的值为0(!intra_mip_flag),则可以包括lfnst_idx语法元素。
例如,参照表7或表8,可以基于与块的子分割有关的帧内子分区(ISP)相关信息而包括st_idx语法元素或lfnst_idx语法元素。例如,ISP相关信息可以包括ISP标志或ISP分割标志,并且通过这样,可以表示与是否对块执行子分割有关的信息。例如,与是否执行子分割有关的信息可以被表示为IntraSubPartitionsSplitType,ISP_NO_SPLIT可以表示不执行子分割,ISP_HOR_SPLIT可以表示在水平方向上执行子分割,并且ISP_VER_SPLIT可以表示在竖直方向上执行子分割。
残差相关信息可以基于MIP标志和ISP相关信息来包括LFNST索引信息。
此外,在本文献的另一实施方式中,可以在不单独用信号通知的情况下,对应用MIP的块导出LFNST索引信息。另外,编码设备可以通过对排除了用于应用了MIP的块的变换的LFNST索引信息的图像信息进行编码来生成比特流,并且解码设备可以解析或解码该比特流,导出并获得用于变换应用MIP的块的LFNST索引信息,并基于此来执行变换块的处理。
即,对于相应块,可以不对LFNST索引信息进行解码,而是可以通过导出处理来确定用于区分构成LFNST变换集的变换的索引。另外,通过导出处理,可以确定针对应用MIP的块使用单独的优化变换核。在这种情况下,可以针对应用MIP的块选择最佳的LFNST核,并且可以减少用于对其进行编码的比特量。
例如,可以基于用于帧内预测的参考线索引信息、帧内预测模式信息、块大小信息或MIP应用/不应用信息中的至少一者来导出LFNST索引信息。
此外,在本文献的另一实施方式中,应用MIP的块的LFNST索引信息可以被二值化,以便用信号通知。例如,适用的LFNST变换的数目可以取决于是否对当前块应用MIP而不同,并且为此,可以选择性切换用于LFNST索引信息的二值化方法。
例如,可以针对应用MIP的块使用一个LFNST核,并且该核可以是应用于不应用MIP的块的LFNST核中的一个。另外,已经使用的现有LFNST核可以不用于应用MIP的块,但可以定义和使用针对应用MIP的块优化的单独核。
在这种情况下,由于与不应用MIP的块的相比,对应用MIP的块使用数目减少的LFNST核,因此可以减少由于LFNST索引信息的用信号通知而引起的开销,并且可以降低复杂度。
例如,LFNST索引信息可以使用二值化方法,如下表中一样。
[表9]
参照表9,例如,在不对相应块应用MIP的情况下,在intra_mip_flag[][]==假的情况下,或者在intra_mip_flag语法元素的值为0的情况下,st_idx语法元素可以按截断莱斯(TR)来二值化。在这种情况下,例如,作为输入参数的cMax可以具有值2,并且cRiceParam可以具有值0。
另外,例如,在对相应块应用MIP的情况下,在intra_mip_flag[][]==真的情况下,或者在intra_mip_flag语法元素的值为1的情况下,st_idx语法元素可以按固定长度(FL)来二值化。在这种情况下,例如,作为输入参数的cMax可以具有值1。
这里,st_idx语法元素可以表示LFNST索引信息,并可以被表示为lfnst_idx语法元素。
此外,在本文献的另一实施方式中,可以对应用MIP的块用信号通知LFNST相关信息。
例如,LFNST索引信息可以包括一个语法元素,并可以基于一个语法元素来表示与是否应用LFNST有关的信息以及与用于LFNST的变换核的种类有关的信息。在这种情况下,LFNST索引信息可以被表示为例如st_idx语法元素或lfnst_idx语法元素。
另外,例如,LFNST索引信息可以包括一个或更多个语法元素,并可以基于一个或更多个语法元素来表示与是否应用LFNST有关的信息以及与用于LFNST的变换核的种类有关的信息。例如,LFNST索引信息可以包括两个语法元素。在这种情况下,LFNST索引信息可以包括表示与是否应用LFNST有关的信息的语法元素以及与用于LFNST的变换核的种类有关的信息的语法元素。例如,与是否应用LFNST有关的信息可以被表示为LFNST标志,并且可以被表示为st_flag语法元素或lfnst_flag语法元素。另外,例如,与用于LFNST的变换核的种类有关的信息可以被表示为变换核索引标志,并且可以被表示为st_idx_flag语法元素、st_kernel_flag语法元素、lfnst_idx_flag语法元素或lfnst_kernel_flag语法元素。例如,在如上所述LFNST索引信息包括一个或更多个语法元素的情况下,LFNST索引信息可以被称为LFNST相关信息。
例如,LFNST相关信息(例如,st_flag语法元素或st_idx_flag语法元素)可以如下表10中地被包括。
[表10]
此外,应用MIP的块可以使用数目与不应用MIP的块的数目不同的LFNST变换(核)。例如,应用MIP的块可以只使用一个LFNST变换核。例如,该一个LFNST变换核可以是应用于不应用MIP的块的LFNST核中的一个。另外,作为对应用MIP的块使用现有LFNST核的替代,可以定义和使用针对应用MIP的块优化的单独核。
在这种情况下,根据是否应用MIP,可以选择性用信号通知LFNST相关信息当中的与用于LFNST的变换核的种类有关的信息(例如,变换核索引标志),并且此时的LFNST相关信息可以例如如下表11中一样地被包括。
[表11]
换句话说,参照表11,基于与是否已经对相应块应用MIP有关的信息(或intra_mip_flag语法元素),可以包括与用于LFNST的变换核的种类有关的信息(或st_idx_flag语法元素)。另外,例如,在不对相应块应用MIP的情况下,可以为!intra_mip_flag用信号通知st_idx_flag语法元素。
例如,在表10或表11中,由st_flag语法元素或st_idx_flag语法元素表示的信息或语义可以如下表中一样。
[表12]
例如,st_flag语法元素可以表示与是否应用二次变换有关的信息。例如,如果st_flag语法元素的值为0,则可以表示不应用二次变换,而如果为1,则可以表示应用二次变换。例如,st_idx_flag语法元素可以表示与所选变换集中的两个候选核中被应用的二次变换核有关的信息。
例如,对于LFNST相关信息,可以使用如下表中的二值化方法。
[表13]
参照表13,例如,st_flag语法元素可以被二值化为FL。例如,在这种情况下,作为输入参数的cMax可以具有值1。另外,例如,st_idx_flag语法元素可以被二值化为FL。例如,在这种情况下,作为输入参数的cMax可以具有值1。
例如,参照表10或表11,st_flag语法元素或st_idx_flag语法元素的描述符可以是ae(v)。这里,ae(v)可以表示上下文自适应算术熵编码。另外,其描述符为ae(v)的语法元素可以是上下文自适应算术熵编码的语法元素。即,上下文自适应算术熵编码可以应用于LFNST相关信息(例如,st_flag语法元素或st_idx_flag语法元素)。另外,LFNST相关信息(例如,st_flag语法元素或st_idx_flag语法元素)可以是应用上下文自适应算术熵编码的信息或语法元素。另外,可以基于上述CABAC等,对LFNST相关信息(例如,st_flag语法元素或st_idx_flag语法元素的bin串中的bin)进行编码/解码。这里,上下文自适应算术熵编码可以被表示为基于上下文模型的编码、上下文编码或常规编码。
例如,可以如表14中一样分配或确定LFNST相关信息(例如,st_flag语法元素或st_idx_flag语法元素)的上下文索引增量(ctxInc)或根据st_flag语法元素或st_idx_flag语法元素的bin位置的ctxInc。另外,如表14中一样的,可以基于如表14中一样分配或确定的根据st_flag语法元素或st_idx_flag语法元素的bin位置的ctxInc来选择上下文模型。
[表14]
参照表14,例如,st_flag语法元素(的bin串中的bin或第一bin)可以使用两个上下文模型(或ctxIdx),并且可以基于具有值0或1的ctxInc来选择上下文模型。另外,例如,旁路编码可以应用于st_idx_flag语法元素(的bin串中的bin或第一bin)。另外,可以通过应用规则概率分布来执行编码。
例如,可以基于下表15来确定st_flag语法元素(的bin串中的bin或第一bin)的ctxInc。
[表15]
参照表15,例如,可以基于MTS索引(或tu_mts_idx语法元素)或树类型信息(treeType)来确定st_flag语法元素(的bin串中的bin或第一bin)的ctxInc。例如,在MTS索引的值为0并且树类型不是单个树的情况下,ctxInc可以被推导为1。另外,在MTS索引的值不为0或者树类型是单个树的情况下,ctxInc可以被推导为0。
在这种情况下,由于与不应用MIP的块相比,对应用MIP的块使用数目减少的LFNST核,因此可以减少由于LFNST索引信息的用信号通知而引起的开销,并且可以降低复杂度。
此外,在本文献的另一实施方式中,可以对应用MIP的块导出和使用LFNST核。即,可以在不单独用信号通知关于LFNST核的信息的情况下导出LFNST核。另外,编码设备可以通过对排除了用于应用MIP的块的变换的LFNST索引信息的图像信息以及与用于LFNST的变换核(的种类)有关的信息进行编码来生成比特流,并且解码设备可以解析或解码比特流,导出并获得用于应用MIP的块的变换的LFNST索引信息以及与用于LFNST的变换核有关的信息,并基于此来执行变换块的处理。
即,用于相应块的LFNST索引信息或与用于LFNST的变换核有关的信息可以不被解码,而是可以通过导出处理来确定用于区分构成LFNST变换集的变换的索引。另外,通过导出处理,可以确定针对应用MIP的块使用单独的优化变换核。在这种情况下,可以针对应用MIP的块选择最佳的LFNST核,并且可以减少用于对其进行编码的比特量。
例如,可以基于用于帧内预测的参考线索引信息、帧内预测模式信息、块大小信息或MIP应用/不应用信息中的至少一者来导出LFNST索引信息或与用于LFNST的变换核有关的信息。
在本文献的上述实施方式中,固定长度(FL)二值化可以表示具有诸如特定比特数这样的固定长度的二值化方法,并且特定比特数可以是预定义的,或者可以基于cMax来表示。截断一元(TU)二值化可以表示在旨在使用数目与符号数目一样多的1和一个0表示的符号的数目等于最大长度并且该最大长度可以基于cMax来表示的情况下具有可变长度而不追加0的二值化方法。截断莱斯(TR)二值化可以表示使用最大长度和移位信息将前缀和后缀彼此连接(诸如,TU+FL)的形式的二值化方法,并且在移位信息具有值0的情况下,它可以等于TU。这里,可以基于cMax来表示最大长度,并且可以基于cRiceParam来表示移位信息。
图12和图13示意性例示了根据本文献的实施方式的视频/图像编码方法和相关部件的示例。
图12中公开的方法可以由图2或图13中公开的编码设备执行。具体地,例如,图12中的S1200至S1220可以由图13的编码设备的预测器220执行,并且图12中的S1230至S1250可以由图13的编码设备的残差处理器230执行,并且图12中的S1260可以由图13的编码设备的熵编码器240执行。另外,尽管在图12中未例示,但图13中的编码设备的预测器220可以推导预测样本或预测相关信息,编码设备的残差处理器230可以从原始样本或预测样本推导残差信息,并且编码设备的熵编码器240可以从残差信息或预测相关信息生成比特流。图12中公开的方法可以包括本文献的上述实施方式。
参照图12,编码设备可以确定当前块的帧内预测模式和帧内预测类型(S1200),并基于帧内预测模式和帧内预测类型来生成当前块的预测相关信息(S1210)。例如,预测相关信息可以包括帧内预测模式信息和/或帧内预测类型信息。
例如,编码设备可以考虑率失真(RD)成本来确定当前块的帧内预测类型。帧内预测类型信息可以表示与是否应用使用与当前块相邻的参考线的正常帧内预测类型、使用不与当前块相邻的参考线的多参考线(MRL)、对当前块执行子分割的帧内子分区(ISP)或使用矩阵的基于矩阵的帧内预测(MIP)有关的信息。
例如,帧内预测类型信息(或预测相关信息)可以包括表示是否对当前块应用MIP的MIP标志。另外,例如,帧内预测类型信息(或预测相关信息)可以包括与当前块的帧内子分区(ISP)的子分割有关的ISP相关信息。例如,ISP相关信息可以包括表示是否对当前块应用ISP的ISP标志或表示分割方向的ISP分割标志。另外,例如,帧内预测类型信息可以包括MIP标志和ISP相关信息。例如,MIP标志可以表示intra_mip_flag语法元素。另外,例如,ISP标志可以表示intra_subpartitions_mode_flag语法元素,并且ISP分割标志可以表示intra_subpartitions_split_flag语法元素。
另外,例如,编码设备可以确定当前块的帧内预测模式,并可以基于帧内预测模式来生成当前块的帧内预测信息。例如,编码设备可以在考虑RD成本的情况下确定帧内预测模式。帧内预测模式信息可以表示帧内预测模式当中的将应用于当前块的帧内预测模式。例如,帧内预测模式可以包括0号至66号帧内预测模式。例如,0号帧内预测模式可以表示平面模式,并且1号帧内预测模式可以表示DC模式。另外,2号至66号帧内预测模式可以被表示为定向或角度帧内预测模式,并可以表示将参照的方向。另外,0号和1号帧内预测模式可以被表示为非定向或非角度帧内预测模式。已经参考图5对其进行了详细说明。
编码设备可以基于帧内预测模式和帧内预测类型来推导当前块的预测样本(S1220)。或者,例如,编码设备可以基于帧内预测模式和/或帧内预测类型来生成预测样本。
编码设备可以基于预测样本来生成当前块的残差样本(S1230)。例如,编码设备可以基于原始样本(例如,输入图像信号)和预测样本来生成残差样本。另外,例如,编码设备可以基于原始样本与预测样本之间的差异来生成残差样本。
编码设备可以基于残差样本来生成当前块的残差相关信息(S1240)。例如,编码设备可以基于残差样本来推导当前块的临时变换系数,从临时变换系数推导当前块的变换系数,并基于变换系数来生成残差相关信息。例如,当不执行二次变换时,临时变换系数可以与变换系数相同,并可以被用作变换系数。
例如,编码设备可以通过基于残差样本执行主变换来推导变换系数。另外,例如,编码设备可以通过基于残差样本执行主变换来推导临时变换系数,并可以通过对临时变换系数应用LFNST来推导变换系数。例如,在应用LFNST的情况下,编码设备可以生成LFNST索引信息。即,编码设备可以基于用于推导变换系数的变换核来生成LFNST索引信息。
例如,编码设备可以通过基于变换系数执行量化来推导量化后的变换系数。另外,编码设备可以基于量化后的变换系数来生成关于量化后的变换系数的信息。另外,残差相关信息可以包括关于量化后的变换系数的信息。
编码设备可以对预测相关信息和残差相关信息进行编码(S1250)。例如,残差相关信息可以包括如上所述的关于量化后的变换系数的信息。另外,例如,残差相关信息可以包括LFNST索引信息。另外,例如,残差相关信息可以不包括LFNST索引信息。
例如,残差相关信息可以包括表示与当前块的低频变换系数的不可分变换有关的信息的LFNST索引信息。另外,例如,残差相关信息可以基于MIP标志或当前块大小来包括LFNST索引信息。另外,例如,残差相关信息可以基于MIP标志或关于当前块的信息来包括LFNST索引信息。这里,关于当前块的信息可以包括当前块的大小、表示单个树或两个树的树结构信息、LFNST启用标志或ISP相关信息中的至少一个。例如,MIP标志可以是用于确定残差相关信息是否包括LFNST索引信息的多个条件中的一个,并且除了MIP标志之外,残差相关信息还可以按照诸如当前块大小这样的其他条件来包括LFNST索引信息。然而,下文中,将围绕MIP标志进行说明。这里,LFNST索引信息可以被表示为变换索引信息。另外,LFNST索引信息可以被表示为st_idx语法元素或lfnst_idx语法元素。
例如,残差相关信息可以基于表示不应用MIP的MIP标志而包括LFNST索引信息。另外,例如,残差相关信息可以基于表示应用MIP的MIP标志而不包括LFNST索引信息。即,在MIP标志表示对当前块应用MIP的情况下(例如,在intra_mip_flag语法元素的值为1的情况下),残差相关信息可以不包括LFNST索引信息,并且在MIP标志表示不对当前块应用MIP的情况下(例如,在intra_mip_flag语法元素的值为0的情况下),残差相关信息可以包括LFNST索引信息。
另外,例如,残差相关信息可以基于MIP标志和ISP相关信息来包括LFNST索引信息。例如,在MIP标志表示不对当前块应用MIP的情况下(例如,在intra_mip_flag语法元素的值为0的情况下),残差相关信息可以参考ISP相关信息(IntraSubPartitionsSplitType)来包括LFNST索引信息。这里,IntraSubPartitionsSplitType可以表示不应用ISP(ISP_NO_SPLIT)、在水平方向上应用ISP(ISP_HOR_SPLIT)、或在竖直方向上应用ISP(ISP_VER_SPLIT),并且这可以基于ISP标志或ISP分割标志来推导。
例如,当MIP标志表示对当前块应用MIP时,LFNST索引信息可以被导出或推导以便被使用,并且在这种情况下,残差相关信息可以不包括LFNST索引信息。即,编码设备可以不用信号通知LFNST索引信息。例如,基于当前块的参考线索引信息、当前块的帧内预测模式信息、当前块的大小信息和MIP标志中的至少一者,LFNST索引信息可以被导出或推导以便被使用。
另外,例如,LFNST索引信息可以包括表示是否应用当前块的低频变换系数的不可分变换的LFNST标志和/或表示变换核候选当中的应用于当前块的变换核的变换核索引标志。即,尽管LFNST索引信息可以基于一个语法元素或一条信息来表示与当前块的低频变换系数的不可分变换有关的信息,但它也可以基于两个语法元素或两条信息来表示该信息。例如,LFNST标志可以被表示为st_flag语法元素或lfnst_flag语法元素,并且变换核索引标志可以被表示为st_idx_flag语法元素、st_kernel_flag语法元素、lfnst_idx_flag语法元素或lfnst_kernel_flag语法元素。这里,基于表示应用不可分变换的LFNST标志以及表示不应用MIP的MIP标志,变换核索引标志可以被包括在LFNST索引信息中。即,在LFNST标志表示应用不可分变换并且MIP标志表示应用MIP的情况下,LFNST索引信息可以包括变换核索引标志。
例如,当MIP标志表示对当前块应用MIP时,LFNST标志和变换核索引标志可以被导出或推导以便被使用,并且在这种情况下,残差相关信息可以不包括LFNST标志和变换核索引标志。即,编码设备可以不用信号通知LFNST标志和变换核索引标志。例如,基于当前块的参考线索引信息、当前块的帧内预测模式信息、当前块的大小信息和MIP标志中的至少一者,LFNST标志和变换核索引标志可以被导出或推导以便被使用。
例如,在残差相关信息包括LFNST索引信息的情况下,可以通过二值化来表示LFNST索引信息。例如,可以基于表示不应用MIP的MIP标志通过基于截断莱斯(TR)的二值化来表示LFNST索引信息(例如,st_idx语法元素或lfnst_idx语法元素),并且可以基于表示应用MIP的MIP标志通过基于固定长度(FL)的二值化来表示LFNST索引信息(例如,st_idx语法元素或lfnst_idx语法元素)。即,在MIP标志表示不对当前块应用MIP的情况下(例如,在intra_mip_flag语法元素为0或假的情况下),可以通过基于TR的二值化来表示LFNST索引信息(例如,st_idx语法元素或lfnst_idx语法元素),并且在MIP标志表示对当前块应用MIP的情况下(例如,在intra_mip_flag语法元素为1或真的情况下),可以通过基于FL的二值化来表示LFNST索引信息(例如,st_idx语法元素或lfnst_idx语法元素)。
另外,例如,在残差相关信息包括LFNST索引信息并且LFNST索引信息包括LFNST标志和变换核索引标志的情况下,可以通过基于固定长度(FL)的二值化来表示LFNST标志和变换核索引标志。
例如,通过上述二值化,可以将LFNST索引信息表示为bin串(中的bin),并且通过对其进行编码,可以生成比特、比特串或比特流。
例如,可以基于上下文编码对LFNST标志的bin串中的(第一)bin进行编码,并且可以基于LFNST标志的上下文索引增量的值来执行上下文编码。这里,上下文编码是基于上下文模型执行的编码,并可以被称为常规编码。另外,可以由上下文索引ctsIdx表示上下文模型,并且可以基于上下文索引增量ctxInc和上下文索引偏移ctxIdxOffset来表示上下文索引。例如,上下文索引增量的值可以被表示为包括0和1的候选中的一个。例如,可以基于表示变换核集当中的用于当前块的变换核集的MTS索引(例如,mts_idx语法元素或tu_mts_idx语法元素)以及表示当前块的分割结构的树类型信息来确定上下文索引增量的值。这里,树类型信息可以表示代表当前块的亮度分量和色度分量的分割结构彼此相等的单个树或代表当前块的亮度分量和色度分量的分割结构彼此不同的两个树。
例如,可以基于旁路编码对变换核索引标志的bin串中的(第一)bin进行编码。这里,旁路编码可以表示基于规则概率分布执行上下文编码,并且可以通过省略上下文编码更新过程来增强编码效率。
另外,尽管在图12中未例示,但编码设备例如可以基于残差样本和预测样本来生成重构样本。另外,可以基于重构样本来推导重构块和重构图片。
例如,编码设备可以通过对包括上述多条信息(或语法元素)的全部或部分的图像信息进行编码来生成比特流或编码后的信息。另外,编码设备可以以比特流的形式输出信息。另外,比特流或编码后的信息可以通过网络或存储介质发送到解码设备。另外,比特流或编码后的信息可以被存储在计算机可读存储介质中,并且可以通过上述图像编码方法来生成比特流或编码后的信息。
图14和图15示意性例示了根据本文献的实施方式的视频/图像解码方法和相关部件的示例。
图14中公开的方法可以由图3或图15中公开的解码设备执行。具体地,例如,图14中的S1400可以由图15的解码设备的熵解码器310执行,并且图14中的S1410和S1420可以由图15的解码设备的残差处理器320执行。另外,尽管在图14中未例示,但图15的解码设备的熵解码器310可以从比特流中推导预测相关信息或残差信息,解码设备的残差处理器320可以从残差信息中推导残差样本,解码设备的预测器330可以从预测相关信息中推导预测样本,并且解码设备的加法器340可以从残差样本或预测样本中推导重构块或重构图片。图14中公开的方法可以包括本文献的上述实施方式。
参照图14,解码设备可以获得当前块的预测相关信息和残差相关信息(S1400)。例如,预测相关信息可以包括当前块的帧内预测模式信息和/或帧内预测类型信息。例如,解码设备可以通过解析或解码比特流来获得预测相关信息或残差相关信息。这里,比特流可以被称为编码后的(图像)信息。例如,解码设备可以基于预测相关信息来生成当前块的预测样本。
帧内预测模式信息可以表示帧内预测模式当中的将应用于当前块的帧内预测模式。例如,帧内预测模式可以包括0号至66号帧内预测模式。例如,0号帧内预测模式可以表示平面模式,并且1号帧内预测模式可以表示DC模式。另外,2号至66号帧内预测模式可以被表示为定向或角度帧内预测模式,并可以表示将参照的方向。另外,0号和1号帧内预测模式可以被表示为非定向或非角度帧内预测模式。已经参考图5对其进行了详细说明。
另外,帧内预测类型信息可以表示与是否应用使用与当前块相邻的参考线的正常帧内预测类型、使用不与当前块相邻的参考线的多参考线(MRL)、对当前块执行子分割的帧内子分区(ISP)或使用矩阵的基于矩阵的帧内预测(MIP)有关的信息。
例如,解码设备可以从比特流中获得残差相关信息。这里,残差相关信息可以表示用于推导残差样本的信息,并可以包括关于残差样本的信息、(逆)变换相关信息和/或(反)量化相关信息。例如,残差相关信息可以包括关于量化后的变换系数的信息。
例如,帧内预测类型信息(或预测相关信息)可以包括表示是否对当前块应用MIP的MIP标志。另外,例如,帧内预测类型信息(或预测相关信息)可以包括与当前块的帧内子分区(ISP)的子分割有关的ISP相关信息。例如,ISP相关信息可以包括表示是否对当前块应用ISP的ISP标志或表示分割方向的ISP分割标志。另外,例如,帧内预测类型信息可以包括MIP标志和ISP相关信息。例如,MIP标志可以表示intra_mip_flag语法元素。另外,例如,ISP标志可以表示intra_subpartitions_mode_flag语法元素,并且ISP分割标志可以表示intra_subpartitions_split_flag语法元素。
例如,残差相关信息可以包括表示与当前块的低频变换系数的不可分变换有关的信息的低频不可分变换(LFNST)索引信息。另外,例如,残差相关信息可以基于MIP标志或当前块大小来包括LFNST索引信息。另外,例如,残差相关信息可以基于MIP标志或关于当前块的信息来包括LFNST索引信息。这里,关于当前块的信息可以包括当前块的大小、表示单个树或两个树的树结构信息、LFNST启用标志或ISP相关信息中的至少一者。例如,MIP标志可以是用于确定残差相关信息是否包括LFNST索引信息的多个条件中的一个,并且除了MIP标志之外,残差相关信息还可以按照诸如当前块大小这样的其他条件来包括LFNST索引信息。然而,下文中,将围绕MIP标志进行说明。这里,LFNST索引信息可以被表示为变换索引信息。另外,LFNST索引信息可以被表示为st_idx语法元素或lfnst_idx语法元素。
例如,残差相关信息可以基于表示不应用MIP的MIP标志而包括LFNST索引信息。另外,例如,残差相关信息可以基于表示应用MIP的MIP标志而不包括LFNST索引信息。即,在MIP标志表示对当前块应用MIP的情况下(例如,在intra_mip_flag语法元素的值为1的情况下),残差相关信息可以不包括LFNST索引信息,并且在MIP标志表示不对当前块应用MIP的情况下(例如,在intra_mip_flag语法元素的值为0的情况下),残差相关信息可以包括LFNST索引信息。
另外,例如,残差相关信息可以基于MIP标志和ISP相关信息来包括LFNST索引信息。例如,在MIP标志表示不对当前块应用MIP的情况下(例如,在intra_mip_flag语法元素的值为0的情况下),残差相关信息可以参考ISP相关信息(IntraSubPartitionsSplitType)来包括LFNST索引信息。这里,IntraSubPartitionsSplitType可以表示不应用ISP(ISP_NO_SPLIT)、在水平方向上应用ISP(ISP_HOR_SPLIT)、或在竖直方向上应用ISP(ISP_VER_SPLIT),并且这可以基于ISP标志或ISP分割标志来推导。
例如,当MIP标志表示对当前块应用MIP时,在残差相关信息不包括LFNST索引信息的情况下,即,在不用信号通知LFNST索引信息的情况下,LFNST索引信息可以被导出或推导以便被使用。例如,可以基于当前块的参考线索引信息、当前块的帧内预测模式信息、当前块的大小信息和MIP标志中的至少一者来推导LFNST索引信息。
另外,例如,LFNST索引信息可以包括表示是否应用当前块的低频变换系数的不可分变换的LFNST标志和/或表示变换核候选当中的应用于当前块的变换核的变换核索引标志。即,尽管LFNST索引信息可以基于一个语法元素或一条信息来表示与当前块的低频变换系数的不可分变换有关的信息,但它也可以基于两个语法元素或两条信息来表示该信息。例如,LFNST标志可以被表示为st_flag语法元素或lfnst_flag语法元素,并且变换核索引标志可以被表示为st_idx_flag语法元素、st_kernel_flag语法元素、lfnst_idx_flag语法元素或lfnst_kernel_flag语法元素。这里,基于表示应用不可分变换的LFNST标志以及表示不应用MIP的MIP标志,变换核索引标志可以被包括在LFNST索引信息中。即,在LFNST标志表示应用不可分变换并且MIP标志表示应用MIP的情况下,LFNST索引信息可以包括变换核索引标志。
例如,当MIP标志表示对当前块应用MIP时,可以在残差相关信息不包括LFNST标志和变换核索引标志的情况下,即,在不用信号通知LFNST标志和变换核索引标志的情况下,导出或推导LFNST标志和变换核索引标志。例如,可以基于当前块的参考线索引信息、当前块的帧内预测模式信息、当前块的大小信息和MIP标志中的至少一者来推导LFNST标志和变换核索引标志。
例如,在残差相关信息包括LFNST索引信息的情况下,可以通过二值化来表示LFNST索引信息。例如,可以基于表示不应用MIP的MIP标志通过基于截断莱斯(TR)的二值化来推导LFNST索引信息(例如,st_idx语法元素或lfnst_idx语法元素),并且可以基于表示应用MIP的MIP标志通过基于固定长度(FL)的二值化来推导LFNST索引信息(例如,st_idx语法元素或lfnst_idx语法元素)。即,在MIP标志表示不对当前块应用MIP的情况下(例如,在intra_mip_flag语法元素为0或假的情况下),可以通过基于TR的二值化来推导LFNST索引信息(例如,st_idx语法元素或lfnst_idx语法元素),并且在MIP标志表示对当前块应用MIP的情况下(例如,在intra_mip_flag语法元素为1或真的情况下),可以通过基于FL的二值化来推导LFNST索引信息(例如,st_idx语法元素或lfnst_idx语法元素)。
另外,例如,在残差相关信息包括LFNST索引信息并且LFNST索引信息包括LFNST标志和变换核索引标志的情况下,可以通过基于固定长度(FL)的二值化来推导LFNST标志和变换核索引标志。
例如,LFNST索引信息可以通过上述二值化来推导候选,可以将通过解析或解码比特流而表示的bin与候选进行比较,并且通过这样,可以获得LFNST索引信息。
例如,可以基于上下文编码来推导LFNST标志的bin串中的(第一)bin,并且可以基于LFNST标志的上下文索引增量的值来执行上下文编码。这里,上下文编码是基于上下文模型执行的编码,并可以被称为常规编码。另外,可以由上下文索引ctsIdx表示上下文模型,并且可以基于上下文索引增量ctxInc和上下文索引偏移ctxIdxOffset来推导上下文索引。例如,上下文索引增量的值可以被推导为包括0和1的候选中的一个。例如,可以基于表示变换核集当中的用于当前块的变换核集的MTS索引(例如,mts_idx语法元素或tu_mts_idx语法元素)以及表示当前块的分割结构的树类型信息来推导上下文索引增量的值。这里,树类型信息可以表示代表当前块的亮度分量和色度分量的分割结构彼此相等的单个树或代表当前块的亮度分量和色度分量的分割结构彼此不同的两个树。
例如,可以基于旁路编码来推导变换核索引标志的bin串中的(第一)串。这里,旁路编码可以表示基于规则概率分布执行的上下文编码,并且可以通过省略上下文编码更新过程来增强编码效率。
解码设备可以基于残差相关信息来推导当前块的变换系数(S1410)。例如,残差相关信息可以包括与量化后的变换系数有关的信息,并且解码设备可以基于与量化后的变换系数有关的信息来推导当前块的量化后的变换系数。例如,解码设备可以通过执行量化后的变换系数的反量化来推导当前块的变换系数。
解码设备可以基于变换系数来生成当前块的残差样本(S1420)。例如,解码设备可以基于LFNST索引信息来从变换系数生成残差样本。或者,例如,解码设备可以基于LFNST索引信息从变换系数推导修正后的变换系数,并可以基于修正后的变换系数来生成残差样本。例如,当不执行逆二次变换时,变换系数可以与修正后的变换系数相同,并可以使用变换系数来生成残差样本。
例如,在残差相关信息中包括LFNST索引信息或者导出或推导出LFNST索引信息的情况下,可以按照LFNST索引信息对变换系数执行LFNST,并且可以推导修正后的变换系数。此后,解码设备可以基于修正后的变换系数来生成残差样本。另外,例如,在残差相关信息中不包括LFNST索引信息或表示不执行LFNST的情况下,解码设备不可以对变换系数执行LFNST,而是可以基于变换系数来生成残差样本。
尽管在图14中未例示,但解码设备例如可以基于预测样本和残差样本来生成重构样本。另外,例如,可以基于重构样本来推导重构块和重构图片。
例如,解码设备可以通过解码比特流或编码信息来获得包括上述多条信息(或语法元素)中的全部或部分的图像信息。另外,比特流或编码信息可以被存储在计算机可读存储介质中,并可以致使上述解码方法被执行。
尽管已经基于在上述实施方式中顺序列出步骤或块的流程图描述了方法,但本文献的步骤不限于特定的顺序,并且特定步骤可以相对于上述步骤在不同的步骤中或以不同的顺序或者同时地执行。另外,本领域的普通技术人员将理解,流程图中的步骤不是排他性的,并且在没有对本公开的范围施加影响的情况下,可以在其中包括另一步骤,或者可以删除流程图中的一个或更多个步骤。
根据本公开的以上提到的方法可以是软件的形式,并且根据本公开的编码设备和/或解码设备可以被包括在用于执行图像处理的装置(例如,TV、计算机、智能电话、机顶盒、显示装置等)中。
当用软件实现本公开的实施方式时,可以用执行以上提到的功能的模块(处理或功能)实现以上提到的方法。模块可以被存储在存储器中并且由处理器执行。存储器可以安装在处理器的内部或外部,并可以经由各种公知装置连接到处理器。处理器可以包括专用集成电路(ASIC)、其他芯片集、逻辑电路和/或数据处理装置。存储器可以包括只读存储器(ROM)、随机存取存储器(RAM)、闪速存储器、存储卡、存储介质和/或其他存储装置。换句话说,根据本公开的实施方式可以在处理器、微处理器、控制器或芯片上实现和执行。例如,相应图中例示的功能单元可以在计算机、处理器、微处理器、控制器或芯片上实现和执行。在这种情况下,关于实现方式的信息(例如,关于指令的信息)或算法可以被存储在数字存储介质中。
另外,应用本文献的实施方式的解码设备和编码设备可以被包括在多媒体广播收发器、移动通信终端、家庭影院视频装置、数字影院视频装置、监视相机、视频聊天装置、诸如视频通信这样的实时通信装置、移动流传输装置、存储介质、便携式摄像机、视频点播(VoD)服务提供器、顶置(OTT)视频装置、互联网流传输服务提供器、3D视频装置、虚拟现实(VR)装置、增强现实(AR)装置、图像电话视频装置、车载终端(例如,车(包括自主车辆)载终端、飞机终端或轮船终端)和医疗视频装置中;并且可以被用于处理图像信号或数据。例如,OTT视频装置可以包括游戏控制台、Blueray(蓝光)播放器、联网TV、家庭影院系统、智能手机、平板PC和数字视频记录仪(DVR)。
另外,应用本文献的实施方式的处理方法可以以由计算机执行的程序的形式产生,并可以被存储在计算机可读记录介质中。根据本文献的实施方式的具有数据结构的多媒体数据也可以被存储在计算机可读记录介质中。计算机可读记录介质包括存储有计算机可读数据的所有种类的存储装置和分布式存储装置。计算机可读记录介质可以包括例如蓝光盘(BD)、通用串行总线(USB)、ROM、PROM、EPROM、EEPROM、RAM、CD-ROM、磁带、软盘和光学数据存储装置。计算机可读记录介质还包括以载波(例如,互联网上的传输)的形式实施的媒体。另外,通过编码方法生成的比特流可以被存储在计算机可读记录介质中,或者可以通过有线或无线通信网络传输。
另外,本文献的实施方式可以基于程序代码被实施为计算机程序产品,并且程序代码可以根据本文献的实施方式在计算机上执行。程序代码可以被存储在计算机可读载体上。
图16表示可以应用本文献的实施方式的内容流传输系统的示例。
参照图16,应用本文献的实施方式的内容流传输系统通常可以包括编码服务器、流传输服务器、网络服务器、媒体存储器、用户装置和多媒体输入装置。
编码服务器用来将从诸如智能电话、照相机、便携式摄像机等这样的多媒体输入装置输入的内容压缩为数字数据,生成比特流,并且将其传送至流传输服务器。作为另一示例,在诸如智能电话、照相机、便携式摄像机等这样的多媒体输入装置直接生成码流的情况下,可省略编码服务器。
可通过本文献的实施方式应用于的编码方法或比特流生成方法来生成比特流。并且流传输服务器可在发送或接收比特流的过程中暂时存储比特流。
流传输服务器基于用户的请求通过网络服务器向用户设备传送多媒体数据,该网络服务器充当向用户通知存在什么服务的工具。当用户请求用户想要的服务时,网络服务器将请求转移至流传输服务器,并且流传输服务器将多媒体数据传送至用户。在这方面,内容流系统可包括单独的控制服务器,并且在这种情况下,控制服务器用来控制内容流系统中的各个设备之间的命令/响应。
流传输服务器可从媒体存储装置和/或编码服务器接收内容。例如,在从编码服务器接收到内容的情况下,可实时地接收内容。在这种情况下,流传输服务器可将比特流存储预定时间段以流畅地提供流传输服务。
例如,用户设备可包括移动电话、智能电话、膝上型计算机、数字广播终端、个人数字助理(PDA)、便携式多媒体播放器(PMP)、导航、板式PC、平板PC、超极本、可穿戴装置(例如,手表型终端(智能手表)、眼镜型终端(智能眼镜)、头戴式显示器(HMD))、数字TV、台式计算机、数字标牌等。
可将内容流系统中的每个服务器作为分布式服务器操作,并且在这种情况下,可以分布式方式处理由每个服务器接收的数据。
本说明书中的权利要求可以以各种方式组合。例如,本说明书的方法权利要求中的技术特征可以组合以在设备中实施或执行,并且设备权利要求中的技术特征可以组合以在方法中实施或执行。此外,方法权利要求和设备权利要求中的技术特征可以组合以在设备中实施或执行。此外,方法权利要求和设备权利要求中的技术特征可以组合以在方法中实施或执行。
- 图像编码中基于矩阵的帧内预测的变换
- 基于广角帧内预测和变换的图像编码方法和装置