CN117678224A - 基于不可分离主变换的图像编码/解码方法和设备及存储比特流的存储介质 - Google Patents
基于不可分离主变换的图像编码/解码方法和设备及存储比特流的存储介质 Download PDFInfo
- Publication number
- CN117678224A CN117678224A CN202280048106.1A CN202280048106A CN117678224A CN 117678224 A CN117678224 A CN 117678224A CN 202280048106 A CN202280048106 A CN 202280048106A CN 117678224 A CN117678224 A CN 117678224A
- Authority
- CN
- China
- Prior art keywords
- transform
- block
- inseparable
- current block
- residual
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 141
- 239000011159 matrix material Substances 0.000 claims abstract description 88
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 claims abstract description 28
- 230000009466 transformation Effects 0.000 claims description 97
- 238000013139 quantization Methods 0.000 claims description 16
- 230000001131 transforming effect Effects 0.000 claims description 16
- 238000000844 transformation Methods 0.000 claims description 6
- 230000008569 process Effects 0.000 description 42
- 239000013598 vector Substances 0.000 description 38
- 239000000523 sample Substances 0.000 description 32
- 238000010586 diagram Methods 0.000 description 22
- 238000001914 filtration Methods 0.000 description 20
- 238000013507 mapping Methods 0.000 description 11
- 230000003044 adaptive effect Effects 0.000 description 10
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 9
- 238000011426 transformation method Methods 0.000 description 9
- 238000012545 processing Methods 0.000 description 8
- 230000002123 temporal effect Effects 0.000 description 7
- 241000023320 Luma <angiosperm> Species 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 230000006835 compression Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 230000002146 bilateral effect Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 101150089388 dct-5 gene Proteins 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000013074 reference sample Substances 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 101001016186 Homo sapiens Dystonin Proteins 0.000 description 1
- 101000832669 Rattus norvegicus Probable alcohol sulfotransferase Proteins 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 229940050561 matrix product Drugs 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000012913 prioritisation Methods 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000010187 selection method Methods 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
一种图像编码/解码方法和设备。根据本公开的图像解码方法包括以下步骤:通过基于预确定的不可分离主变换矩阵对当前块执行逆变换来生成当前块的残差块,以及基于残差块重构当前块,其中,不可分离主变换矩阵可以与当前块的大小无关地应用于当前块的所有变换系数。
Description
技术领域
本公开涉及一种图像编码/解码方法和设备以及用于存储比特流的记录介质,更具体地,涉及一种基于不可分离主变换的图像编码/解码方法和设备以及用于存储本公开的图像编码方法/装置生成的比特流的记录介质。
背景技术
最近,各个领域对诸如高清(HD)图像和超高清(UHD)图像的高分辨率和高质量图像的需求正在增加。随着图像数据的分辨率和质量的提高,与现有图像数据相比,传输的信息量或比特量相对增加。传输信息量或比特量的增加导致传输成本和存储成本的增加。
因此,需要高效的图像压缩技术来有效地传输、存储和再现关于高分辨率和高质量图像的信息。
发明内容
技术问题
本公开的一个目的在于提供一种具有改进的编码/解码效率的图像编码方法和设备。
本公开的一个目的在于提供一种用于执行不可分离主变换的图像编码/解码方法和设备。
本公开的一个目的在于提供一种用于基于MTS方案执行不可分离主变换的图像编码/解码方法和设备。
本公开的一个目的在于提供一种用于基于子块执行不可分离主变换的图像编码/解码方法和设备。
本公开的一个目的是提供一种用于基于块之间的对称性执行不可分离主变换的图像编码/解码方法和设备。
本公开的另一目的是提供一种存储由根据本公开的图像编码方法或设备生成的比特流的非暂时性计算机可读记录介质。
本公开的另一目的是提供一种存储由根据本公开的图像解码设备接收、解码并用于重构图像的比特流的记录介质。
本公开的另一目的在于提供一种传输由根据本公开的图像编码方法或设备生成的比特流的方法。
本公开所解决的技术问题不限于上述技术问题,其它未在此描述的技术问题对于本领域技术人员而言将从以下描述中变得显而易见。
技术方案
根据本公开的一个方面的图像解码方法可以包括以下步骤:通过基于预确定的不可分离主变换矩阵对当前块执行逆变换来生成当前块的残差块,以及基于残差块重构当前块。不可分离主变换矩阵可以与当前块的大小无关地应用于当前块的所有变换系数。
根据本公开的另一方面的图像解码设备可以包括存储器和至少一个处理器。至少一个处理器可以通过基于预确定的不可分离主变换矩阵对当前块执行逆变换来生成当前块的残差块,并且基于残差块来重构当前块。不可分离主变换矩阵可以与当前块的大小无关地应用于当前块的所有变换系数。
根据本公开的另一方面的图像编码方法可以通过基于预确定的不可分离主变换矩阵对当前块执行变换并且基于变换系数块对当前块进行编码来生成当前块的变换系数块。不可分离主变换矩阵可以与当前块的大小无关地应用于当前块的所有残差样本。
另外,根据本公开的另一方面的计算机可读记录介质可以存储由本公开的图像编码设备或图像编码方法生成的比特流。
在根据本公开的另一方面的发送方法中,可以发送由本公开的图像编码设备或图像编码方法生成的比特流。
以上关于本公开的简要概述的特征仅仅是本公开的以下详细描述的示例性方面,并不限制本公开的范围。
有益效果
根据本公开,可以提供一种具有改进的编码/解码效率的图像编码/解码方法和设备。
根据本公开,可以提供一种用于执行不可分离主变换的图像编码/解码方法和设备。
根据本公开,可以提供一种用于基于MTS方案执行不可分离主变换的图像编码/解码方法和设备。
根据本公开,可以提供一种用于基于子块执行不可分离主变换的图像编码/解码方法和设备。
根据本公开,可以提供一种用于基于块之间的对称性执行不可分离主变换的图像编码/解码方法和设备。
此外,根据本公开,可以提供一种存储由根据本公开的图像编码方法或设备生成的比特流的非暂时性计算机可读记录介质。
此外,根据本公开,可以提供一种存储由根据本公开的图像解码设备接收、解码并用于重构图像的比特流的非暂时性计算机可读记录介质。
此外,根据本公开,可以提供一种传输由根据本公开的图像编码方法或设备生成的比特流的方法。
本领域技术人员应当理解,通过本公开可以实现的效果不限于上文已经具体描述的效果,并且根据详细描述将更清楚地理解本公开的其它优点。
附图说明
图1是示意性地例示本公开的一个实施方式适用于的视频编码系统的图。
图2是示意性地例示本公开的一个实施方式适用于的图像编码设备的图。
图3是示意性地例示本公开的一个实施方式适用于的图像解码设备的图。
图4是例示LFNST应用方法的图。
图5是例示执行AMT的编码过程的流程图。
图6是例示执行AMT的解码过程的流程图。
图7是例示执行NSST的编码过程的流程图。
图8是例示执行NSST的解码过程的流程图。
图9和图10是例示执行NSST的方法的图。
图11和图12是例示执行RST的方法的图。
图13是例示根据本公开的一个实施方式的变换和逆变换过程的图。
图14a至图14d是例示不可分离辅变换过程的图。
图15a至图15d是例示根据本公开的一个实施方式的不可分离主变换过程的图。
图16a至图16d是例示根据本公开的另一实施方式的不可分离主变换过程的图。
图17是例示根据本公开的一个实施方式的变换方法的流程图。
图18是例示根据本公开的一个实施方式的逆变换方法的流程图。
图19是例示根据本公开的一个实施方式的子块不可分离主变换/逆变换的流程图。
图20a和图20b是例示基于子块的不可分离主变换过程的图。
图21至图24是例示根据本公开的一个实施方式的不可分离主变换集确定方法的图。
图25是例示根据本公开的一个实施方式的图像编码方法的流程图。
图26是例示根据本公开的一个实施方式的图像解码方法的流程图。
图27是例示适用于本公开的一个实施方式的内容流系统的图。
具体实施方式
以下,将结合附图对本公开的实施方式进行详细描述,以易于本领域技术人员实施。然而,本公开可以以各种不同的形式实施,并且不限于这里描述的实施方式。
在描述本公开时,如果确定相关已知功能或构造的详细描述使本公开的范围不必要地含糊不清,则将省略其详细描述。在附图中,省略了与本公开的描述无关的部分,并且相似的附图标记被赋予相似的部分。
在本公开中,当一个组件“连接”、“联接”或“链接”到另一个组件时,它不仅可以包括直接连接关系,还可以包括中间组件存在的间接连接关系。另外,当一个组件“包括”或“具有”其它组件时,除非另有说明,否则是指还可以包括其它组件,而不是排除其它组件。
在本公开中,术语第一、第二等仅用于将一个组件与其它组件区分开的目的,并且不限制组件的顺序或重要性,除非另有说明。相应地,在本公开的范围内,一个实施方式中的第一组件在另一个实施方式中可以被称为第二组件,类似地,一个实施方式中的第二组件在另一个实施方式中可以被称为第一组件。
在本公开中,相互区分的组件旨在清楚地描述每个特征,并不意味着组件必须分开。即,多个组件可以集成在一个硬件或软件单元中实现,或者一个组件可以在多个硬件或软件单元中分布和实现。因此,即使没有特别说明,这些组件集成或分布式的实施方式也包括在本公开的范围内。
在本公开中,各个实施方式中所描述的组件并不一定是必不可少的组件,一些组件可以是可选的组件。因此,由实施方式中描述的组件的子集组成的实施方式也包括在本公开的范围内。此外,除了在各种实施方式中描述的组件之外还包括其它组件的实施方式包括在本公开的范围内。
本公开涉及图像的编码和解码,除非在本公开中重新定义,否则本公开中使用的术语可以具有本公开所属技术领域中常用的一般含义。
在本公开中,“视频”可以意指随时间推移的一组图像。
在本公开中,“画面”一般是指表示特定时间段内的一个图像的单元,而切片(slice)/拼块(tile)是构成画面的一部分的编码单元,一个画面可以由一个或更多个切片/拼块组成。此外,切片/拼块可以包括一个或更多个编码树单元(CTU)。
在本公开中,“像素”或“像元(pel)”可以意指构成一个画面(或图像)的最小单元。此外,“样本”可以用作对应于像素的术语。一个样本一般可以表示像素或像素的值,也可以仅表示亮度分量的像素/像素值或仅表示色度分量的像素/像素值。
在本公开中,“单元”可以表示图像处理的基本单元。该单元可以包括画面的特定区域和与该区域相关的信息中的至少一个。在某些情况下,该单元可以与诸如“样本阵列”、“块”或“区域”的术语互换使用。在一般情况下,M×N块可以包括M列N行的样本(或样本阵列)或变换系数的集合(或阵列)。
在本公开中,“当前块”可以意指“当前编码块”、“当前编码单元”、“编码目标块”、“解码目标块”或“处理目标块”中的一个。当执行预测时,“当前块”可以意指“当前预测块”或“预测目标块”。当执行变换(逆变换)/量化(解量化)时,“当前块”可以意指“当前变换块”或“变换目标块”。当执行滤波时,“当前块”可以意指“滤波目标块”。
另外,在本公开中,除非明确说明为色度块,“当前块”可以意指包括亮度分量块和色度分量块二者的块或“当前块的亮度块”。当前块的亮度分量块可以通过包括诸如“亮度块”或“当前亮度块”的亮度分量块的明确描述来表示。另外,“当前块的色度分量块”可以通过包括诸如“色度块”或“当前色度块”的色度分量块的明确描述来表示。
在本公开中,术语“/”或“,”可以解释为指示“和/或”。例如,“A/B”和“A,B”可以意指“A和/或B”。此外,“A/B/C”和“A/B/C”可以意指“A、B和/或C中的至少一个”。
在本公开中,术语“或”应被解释以指示“和/或”。例如,表达“A或B”可以包括1)仅“A”,2)仅“B”,或3)“A和B”两者。换言之,在本公开中,“或”应被解释以指示“附加地或另选地”。
在本公开中,“A、B和C中的至少一个”可以意指“仅A”、“仅B”、“仅C”或“A、B和C的任意和全部组合”。另外,“至少一个A、B或C”或“至少一个A、B和/或C”可以意指“至少一个A、B和C”。
本公开中使用的括号可以表示“例如”。例如,如果指示“预测(帧内预测)”,则“帧内预测”可以被提议作为“预测”的示例。换句话说,本公开中的“预测”不限于“帧内预测”,并且“帧内预测”可以被提议作为“预测”的示例。另外,即使当指示“预测(即,帧内预测)”时,“帧内预测”也可以被提议作为“预测”的示例。
视频编码系统的概述
图1是例示本公开的实施方式适用于的视频编码系统的视图。
根据实施方式的视频编码系统可以包括编码设备10和解码设备20。编码设备10可以将编码的视频和/或图像信息或数据以文件或流的形式经由数字存储介质或网络递送到解码设备20。
根据实施方式的编码设备10可以包括视频源生成器11、编码单元12和发送器13。根据实施方式的解码设备20可以包括接收器21、解码单元22和渲染器23。编码单元12可以称为视频/图像编码单元,解码单元22可以称为视频/图像解码单元。发送器13可以被包括在编码单元12中。接收器21可以被包括在解码单元22中。渲染器23可以包括显示器并且显示器可以被配置为单独的装置或外部组件。
视频源生成器11可以通过捕获、合成或生成视频/图像的过程来获取视频/图像。视频源生成器11可以包括视频/图像捕获装置和/或视频/图像生成装置。视频/图像捕获装置可以包括例如一个或更多个相机、包括先前捕获的视频/图像的视频/图像档案等。视频/图像生成装置可以包括例如计算机、平板计算机和智能电话,并且可以(以电子方式)生成视频/图像。例如,可以通过计算机等生成虚拟视频/图像。在这种情况下,视频/图像捕获过程可以被生成相关数据的过程代替。
编码单元12可以对输入视频/图像进行编码。为了压缩和编码效率,编码单元12可以执行一系列过程,例如预测、变换和量化。编码单元12可以以比特流的形式输出编码数据(编码视频/图像信息)。
发送器13可以通过数字存储介质或网络以文件或流的形式将以比特流的形式输出的编码视频/图像信息或数据传输到解码设备20的接收器21。数字存储介质可以包括各种存储介质,例如USB、SD、CD、DVD、蓝光、HDD、SSD等。发送器13可以包括用于通过预定文件格式生成媒体文件的元件并且可以包括用于通过广播/通信网络传输的元件。接收器21可以从存储介质或网络中提取/接收比特流并将比特流传输到解码单元22。
解码单元22可以通过执行与编码单元12的操作相对应的一系列过程,例如解量化、逆变换和预测来解码视频/图像。
渲染器23可以渲染解码的视频/图像。渲染的视频/图像可以通过显示器显示。
图像编码设备的概述
图2是示意性地示出本公开的实施方式可适用于的图像编码设备的视图。
如图2所示,图像编码设备100可以包括图像分割器110、减法器115、变换器120、量化器130、解量化器140、逆变换器150、加法器155、滤波器160、存储器170、帧间预测单元180、帧内预测单元185和熵编码器190。帧间预测单元180和帧内预测单元185可以统称为“预测器”。变换器120、量化器130、解量化器140和逆变换器150可以被包括在残差处理器中。残差处理器还可以包括减法器115。
在一些实施方式中,配置图像编码设备100的多个组件中的全部或至少一些可以由一个硬件组件(例如,编码器或处理器)来配置。此外,存储器170可以包括解码画面缓冲器(DPB)并且可以由数字存储介质配置。
图像分割器110可将输入到图像编码设备100的输入图像(或画面或帧)分割成一个或更多个处理单元。例如,处理单元可以称为编码单元(CU)。可以通过根据四叉树二叉树三叉树(QT/BT/TT)结构递归地分割编码树单元(CTU)或最大编码单元(LCU)来获取编码单元。例如,可以基于四叉树结构、二叉树结构和/或三叉树结构将一个编码单元分割为更深深度的多个编码单元。对于编码单元的分割,可以首先应用四叉树结构,然后可以应用二叉树结构和/或三叉树结构。可以基于不再分割的最终编码单元来执行根据本公开的编码过程。可以将最大编码单元用作最终编码单元,也可以将通过分割最大编码单元获取的更深深度的编码单元用作最终编码单元。这里,编码过程可以包括稍后将描述的预测、变换和重构的过程。作为另一个示例,编码过程的处理单元可以是预测单元(PU)或变换单元(TU)。预测单元和变换单元可以从最终编码单元划分或分割。预测单元可以是样本预测单元,变换单元可以是用于推导变换系数的单元和/或用于从变换系数推导残差信号的单元。
预测单元(帧间预测单元180或帧内预测单元185)可以对要处理的块(当前块)执行预测,并且生成包括当前块的预测样本的预测块。预测单元可以在当前块或CU的基础上确定是应用帧内预测还是帧间预测。预测单元可以生成与当前块的预测有关的各种信息,并且将生成的信息传输到熵编码器190。关于预测的信息可以在熵编码器190中被编码并且以比特流的形式输出。
帧内预测单元185可以通过参考当前画面中的样本来预测当前块。根据帧内预测模式和/或帧内预测技术,参考样本可以位于当前块的邻居中或者可以被分开放置。帧内预测模式可以包括多个非定向模式和多个定向模式。非定向模式可以包括例如DC模式和平面模式。根据预测方向的详细程度,定向模式可以包括例如33个定向预测模式或65个定向预测模式。然而,这仅仅是示例,可以根据设置使用更多或更少的定向预测模式。帧内预测单元185可以通过使用应用于邻近块的预测模式来确定应用于当前块的预测模式。
帧间预测单元180可以基于由参考画面上的运动向量指定的参考块(参考样本阵列)来推导当前块的预测块。在这种情况下,为了减少在帧间预测模式中传输的运动信息量,可以基于邻近块和当前块之间的运动信息的相关性以块、子块或样本为单元来预测运动信息。运动信息可以包括运动向量和参考画面索引。运动信息还可以包括帧间预测方向(L0预测、L1预测、双预测等)信息。在帧间预测的情况下,邻近块可以包括当前画面中存在的空间邻近块和参考画面中存在的时间邻近块。包括参考块的参考画面和包括时间邻近块的参考画面可以相同或不同。时间邻近块可以被称为并置参考块、并置CU(colCU)等。包括时间邻近块的参考画面可以被称为并置画面(colPic)。例如,帧间预测单元180可以基于邻近块配置运动信息候选列表并生成指示使用哪个候选来推导当前块的运动向量和/或参考画面索引的信息。可以基于各种预测模式来执行帧间预测。例如,在跳过模式和合并模式的情况下,帧间预测单元180可以使用邻近块的运动信息作为当前块的运动信息。在跳过模式的情况下,与合并模式不同,可以不传输残差信号。在运动向量预测(MVP)模式的情况下,邻近块的运动向量可以用作运动向量预测子,并且当前块的运动向量可以通过编码运动向量差和运动向量预测子的指示符来用信号通知当前块的运动向量。运动向量差可以意指当前块的运动向量与运动向量预测子之间的差。
预测单元可以基于以下描述的各种预测方法和预测技术来生成预测信号。例如,预测单元不仅可以应用帧内预测或帧间预测,还可以同时应用帧内预测和帧间预测,以预测当前块。同时应用帧内预测和帧间预测两者来预测当前块的预测方法可以称为组合帧间和帧内预测(CIIP)。此外,预测单元可以执行帧内块复制(IBC)以预测当前块。帧内块复制可以用于游戏等的内容图像/视频编码,例如,屏幕内容编码(SCC)。IBC是一种在与当前块相隔预定距离的位置处使用当前画面中先前重构的参考块来预测当前画面的方法。当应用IBC时,参考块在当前画面中的位置可以被编码为对应于预定距离的向量(块向量)。IBC基本上在当前画面中执行预测,但是可以类似于帧间预测执行,因为在当前画面内推导参考块。即,IBC可以使用本公开中描述的至少一种帧间预测技术。
预测单元生成的预测信号可用于生成重构信号或生成残差信号。减法器115可以通过从输入图像信号(原始块或原始样本阵列)中减去从预测单元输出的预测信号(预测块或预测样本阵列)来生成残差信号(残差块或残差样本阵列)。生成的残差信号可以被传输到变换器120。
变换器120可以通过将变换技术应用于残差信号来生成变换系数。例如,变换技术可以包括离散余弦变换(DCT)、离散正弦变换(DST)、karhunen-loève变换(KLT)、基于图的变换(GBT)或条件非线性变换(CNT)中的至少一种。这里,GBT是指当像素之间的关系信息由图形表示时从图形获得的变换。CNT是指基于使用所有先前重构的像素生成的预测信号获取的变换。此外,变换处理可以应用于具有相同大小的正方形像素块或者可以应用于具有可变大小而不是正方形的块。
量化器130可以对变换系数进行量化并且将它们传输到熵编码器190。熵编码器190可以对量化的信号(关于量化的变换系数的信息)进行编码并且输出比特流。关于量化变换系数的信息可以被称为残差信息。量化器130可以基于系数扫描顺序将块类型的量化变换系数重新排列为一维向量形式,并基于一维向量形式的量化变换系数生成关于量化变换系数的信息。
熵编码器190可以执行各种编码方法,例如指数哥伦布、上下文自适应可变长度编码(CAVLC)、上下文自适应二进制算术编码(CABAC)等。熵编码器190可以一起或单独地编码量化变换系数以外的视频/图像重构所需的信息(例如,语法元素的值等)。编码的信息(例如,编码的视频/图像信息)可以比特流的形式以网络抽象层(NAL)为单元进行传输或存储。视频/图像信息还可以包括关于各种参数集的信息,例如自适应参数集(APS)、画面参数集(PPS)、序列参数集(SPS)或视频参数集(VPS)。此外,视频/图像信息还可以包括通用约束信息。本公开中描述的用信号通知的信息、传输的信息和/或语法元素可以通过上述编码过程被编码并且被包括在比特流中。
比特流可以通过网络传输或者可以存储在数字存储介质中。网络可以包括广播网络和/或通信网络,数字存储介质可以包括USB、SD、CD、DVD、蓝光、HDD、SSD等各种存储介质。可以包括传输从熵编码器190输出的信号的发送器(未示出)和/或存储该信号的存储单元(未示出)作为图像编码设备100的内部/外部元件。另选地,可以提供发送器作为熵编码器190的组件。
从量化器130输出的量化变换系数可用于生成残差信号。例如,可以通过解量化器140和逆变换器150对量化变换系数应用解量化和逆变换来重构残差信号(残差块或残差样本)。
加法器155将重构残差信号与从帧间预测单元180或帧内预测单元185输出的预测信号相加,以生成重构信号(重构画面、重构块、重构样本阵列)。如果要处理的块没有残差,例如应用跳过模式的情况,则可以将预测块用作重构块。加法器155可以称为重构器或重构块生成器。生成的重构信号可以用于当前画面中要处理的下一个块的帧内预测,并且可以用于通过如下所述的滤波对下一个画面进行帧间预测。
此外,如下所述,在图像编码和/或重构过程中适用具有色度缩放的亮度映射(LMCS)。
滤波器160可以通过对重构信号应用滤波来提高主观/客观图像质量。例如,滤波器160可以通过对重构画面应用各种滤波方法来生成修改的重构画面,并将修改的重构画面存储在存储器170中,具体地,存储器170的DPB中。各种滤波方法可以包括例如去块滤波、样本自适应偏移、自适应环路滤波、双边滤波等。滤波器160可以生成与滤波有关的各种信息并将所生成的信息传输到熵编码器190,如稍后在每种滤波方法的描述中所描述的。与滤波相关的信息可以由熵编码器190编码并以比特流的形式输出。
传输到存储器170的修改的重构画面可以用作帧间预测单元180中的参考画面。当通过图像编码设备100应用帧间预测时,可以避免图像编码设备100和图像解码设备之间的预测失配并且可以提高编码效率。
存储器170的DPB可以存储修改的重构画面以用作帧间预测单元180中的参考画面。存储器170可以存储从其中推导(或编码)当前画面中的运动信息的块的运动信息和/或画面中已经重构的块的运动信息。存储的运动信息可以被传输到帧间预测单元180并用作空间邻近块的运动信息或时间邻近块的运动信息。存储器170可以存储当前画面中重构块的重构样本并且可以将重构样本传送到帧内预测单元185。
图像解码设备的概述
图3是示意性地示出本公开的实施方式可适用的图像解码设备的视图。
如图3所示,图像解码设备200可以包括熵解码器210、解量化器220、逆变换器230、加法器235、滤波器240、存储器250、帧间预测单元260和帧内预测单元265。帧间预测单元260和帧内预测单元265可以统称为“预测器”。解量化器220和逆变换器230可以被包括在残差处理器中。
根据实施方式,配置图像解码设备200的多个组件中的全部或至少一些可以由硬件组件(例如,解码器或处理器)来配置。此外,存储器250可以包括解码画面缓冲器(DPB)或者可以由数字存储介质配置。
已经接收到包括视频/图像信息的比特流的图像解码设备200可以通过执行与由图2的图像编码设备100执行的处理相对应的处理来重构图像。例如,图像解码设备200可以使用在图像编码设备中应用的处理单元来执行解码。因此,解码的处理单元例如可以是编码单元。编码单元可以通过分割编码树单元或最大编码单元来获取。通过图像解码设备200解码和输出的重构图像信号可以通过再现设备(未示出)再现。
图像解码设备200可以接收以比特流的形式从图2的图像编码设备输出的信号。接收到的信号可以通过熵解码器210进行解码。例如,熵解码器210可以解析比特流以推导图像重构(或画面重构)所需的信息(例如,视频/图像信息)。视频/图像信息还可以包括关于各种参数集的信息,例如自适应参数集(APS)、画面参数集(PPS)、序列参数集(SPS)或视频参数集(VPS)。此外,视频/图像信息还可以包括通用约束信息。图像解码设备还可以基于关于参数集的信息和/或通用约束信息对画面进行解码。本公开中描述的用信号通知/接收的信息和/或语法元素可以通过解码过程被解码并从比特流中获得。例如,熵解码器210基于诸如指数哥伦布编码、CAVLC或CABAC的编码方法对比特流中的信息进行解码,并输出图像重构所需的语法元素的值和残差的变换系数的量化值。更具体地,CABAC熵解码方法可以接收与比特流中每个语法元素对应的bin,使用解码目标语法元素信息、邻近块和解码目标块的解码信息或前一阶段解码的符号/bin的信息来确定上下文模型,根据确定的上下文模型通过预测bin的出现概率来对bin执行算术解码,并且生成与每个语法元素的值对应的符号。在这种情况下,CABAC熵解码方法可以在确定上下文模型后,通过将解码的符号/bin的信息用于下一个符号/bin的上下文模型来更新上下文模型。由熵解码器210解码的信息中与预测相关的信息可以被提供给预测单元(帧间预测单元260和帧内预测单元265),并且在熵解码器210中对其执行熵解码的残差值,即,量化变换系数和相关的参数信息可以被输入到解量化器220。另外,可以将熵解码器210解码的信息当中关于滤波的信息提供给滤波器240。此外,用于接收从图像编码设备输出的信号的接收器(未示出)可以进一步被配置为图像解码设备200的内部/外部元件,或者接收器可以是熵解码器210的组件。
此外,根据本公开的图像解码设备可以被称为视频/图像/画面解码设备。图像解码设备可以分为信息解码器(视频/图像/画面信息解码器)和样本解码器(视频/图像/画面样本解码器)。信息解码器可以包括熵解码器210。样本解码器可以包括解量化器220、逆变换器230、加法器235、滤波器240、存储器250、帧间预测单元260或帧内预测单元265中的至少一个。
解量化器220可以对量化变换系数进行解量化并输出变换系数。解量化器220可以以二维块的形式重新排列量化变换系数。在这种情况下,可以基于在图像编码设备中执行的系数扫描顺序来执行重新排列。解量化器220可以通过使用量化参数(例如,量化步长信息)对量化变换系数执行解量化并获得变换系数。
逆变换器230可以对变换系数进行逆变换以获得残差信号(残差块、残差样本阵列)。
预测单元可以对当前块执行预测并生成包括当前块的预测样本的预测块。预测单元可以基于从熵解码器210输出的关于预测的信息来确定是将帧内预测还是帧间预测应用于当前块,并且可以确定特定帧内/帧间预测模式(预测技术)。
与在图像编码设备100的预测单元中描述的相同的是,预测单元可以基于稍后描述的各种预测方法(技术)来生成预测信号。
帧内预测单元265可以通过参考当前画面中的样本来预测当前块。帧内预测单元185的描述同样适用于帧内预测单元265。
帧间预测单元260可以基于参考画面上由运动向量指定的参考块(参考样本阵列)来推导当前块的预测块。在这种情况下,为了减少在帧间预测模式中传输的运动信息量,可以基于邻近块和当前块之间的运动信息的相关性以块、子块或样本为单元来预测运动信息。运动信息可以包括运动向量和参考画面索引。运动信息还可以包括帧间预测方向(L0预测、L1预测、双预测等)信息。在帧间预测的情况下,邻近块可以包括当前画面中存在的空间邻近块和参考画面中存在的时间邻近块。例如,帧间预测单元260可以基于邻近块配置运动信息候选列表,并且基于接收到的候选选择信息推导当前块的运动向量和/或参考画面索引。可以基于各种预测模式来执行帧间预测,并且关于预测的信息可以包括指示当前块的帧间预测模式的信息。
加法器235可以通过将获得的残差信号与从预测单元(包括帧间预测单元260和/或帧内预测单元265)输出的预测信号(预测块、预测样本阵列)相加生成重构信号(重构画面、重构块、重构样本阵列)。如果要处理的块没有残差(例如,应用跳过模式的情况),则预测块可以用作重构块。加法器155的描述同样适用于加法器235。加法器235可以称为重构器或重构块生成器。所生成的重构信号可以用于当前画面中要处理的下一块的帧内预测,并且可以用于通过如下所述的滤波对下一画面的帧间预测。
滤波器240可以通过对重构信号应用滤波来提高主观/客观图像质量。例如,滤波器240可以通过对重构画面应用各种滤波方法来生成修改的重构画面,并将修改的重构画面存储在存储器250中,具体地,存储器250的DPB中。各种滤波方法可以包括例如去块滤波、样本自适应偏移、自适应环路滤波、双边滤波等。
存储在存储器250的DPB中的(修改的)重构画面可以用作帧间预测单元260中的参考画面。存储器250可以存储从其中推导(或解码)当前画面中的运动信息的块的运动信息和/或画面中已经重构的块的运动信息。存储的运动信息可以被传输到帧间预测单元260,以用作空间邻近块的运动信息或时间邻近块的运动信息。存储器250可以存储当前画面中重构块的重构样本并将重构样本传送到帧内预测单元265。
在本公开中,在图像编码设备100的滤波器160、帧间预测单元180和帧内预测单元185中描述的实施方式可以同等地或对应地应用于图像解码设备200的滤波器240、帧间预测单元260和帧内预测单元265。
变换/逆变换的概述
如上所述,编码设备可以基于通过帧内/帧间/IBC预测预测的块(预测块)来推导残差块(残差样本),并且通过对推导出的残差样本应用变换和量化来推导量化变换系数。关于量化变换系数的信息(残差信息)可以被包括并以残差编码语法编码,并以比特流的形式输出。解码设备可以从比特流中获取和解码关于量化变换系数的信息(残差信息),以推导量化变换系数。解码设备可以基于量化变换系数通过解量化/逆变换来推导残差样本。如上所述,可以跳过量化/解量化和/或变换/逆变换中的至少一个。当跳过量化/解量化时,量化变换系数可以被称为变换系数。当跳过变换/逆变换时,变换系数可以被称为系数或残差系数,或者为了表达式的一致性,仍然可以被称为变换系数。可以基于transform_skip_flag来用信号通知是否跳过变换/逆变换。
另外,在本公开中,量化变换系数和变换系数可以分别被称为变换系数和缩放变换系数。在此情况下,残差信息可以包括关于变换系数的信息,并且关于变换系数的信息可以通过残差编码语法用信号表示。可以基于残差信息(或关于变换系数的信息)推导变换系数,并且可以通过变换系数的逆变换(缩放)来推导经缩放的变换系数。可以基于经缩放的变换系数的逆变换(变换)来推导残差样本。这可以在本公开的其它部分中类似地应用/表达。
可以基于变换核执行变换/逆变换。例如,根据本公开,多变换选择(MTS)方案是适用的。在这种情况下,可以选择多个变换核集中的一些并将其应用于当前块。变换核可以被称为诸如变换矩阵或变换类型的各种术语。例如,变换核集可以指示垂直方向变换核(垂直变换核)和水平方向变换核(水平变换核)的组合。
例如,MTS索引信息(或mts idx语法元素)可以在编码设备中生成/编码,并且用信号通知解码设备以指示变换核集之一。例如,可以根据MTS索引信息的值推导变换核集,如表1所示。
[表1]
tu_mts_idx[x0][y0] | 0 | 1 | 2 | 3 | 4 |
trTypeHor | 0 | 1 | 2 | 1 | 2 |
trTypeVer | 0 | 1 | 1 | 2 | 2 |
表1示出了根据tu_mts_idx[x0][y0]的tyTypeHor和trTypeVer值。
例如,可以基于cu_sbt_horizontal_flag和cu_sbt_pos_flag如表2所示确定变换核集。
[表2]
cu_sbt_horizontal_flag | cu_sbt_pos_flag | trTypeHor | trTypeVer |
0 | 0 | 2 | 1 |
0 | 1 | 1 | 1 |
1 | 0 | 1 | 2 |
1 | 1 | 1 | 1 |
表2示出了根据cu_sbt_horizontal_flag和cu_sbt_pos_flag的tyTypeHor和trTypeVer值。这里,等于1的cu_sbt_horizontal_flag可以指示当前编码单元被水平分割成两个变换块。相比之下,等于0的cu_sbt_horizontal_flag可以指示当前编码单元被垂直分割成两个变换块。另外,等于1的cu_sbt_pos_flag可以指示当前编码单元中的第一变换单元的语法元素tu_cbf_luma、tu_cbf_cb和tu_cbf_cr不存在于比特流中。相比之下,等于0的cu_sbt_pos_flag可以指示当前编码单元中的第二变换单元的语法元素tu_cbf_luma、tu_cbf_cb和tu_cbf_cr不存在于比特流中。
此外,在表1和表2中,trTypeHor可以表示水平方向变换核,并且trTypeVer可以表示垂直方向变换核。值为0的trTypeHor/trTypeVer可以指示DCT2,值为1的trTypeHor/trTypeVer可以指示DST7,并且值为2的trTypeHor/trTypeVer可以指示DCT8。然而,这是示例,并且不同的值可以按承诺映射到不同的DCT/DST。
表3示例性地示出了上述DCT2、DCT8和DST7的基函数。
[表3]
在本公开中,应用基于MTS的变换作为主变换,并且还可以应用辅变换。辅变换可以仅应用于应用了主变换的系数块的左上w×h区域中的系数,并且可以被称为缩减的辅变换(RST)。例如,w和/或h可以是4或8。在变换中,可以将第一变换和第二变换依次应用于残差块,并且在逆变换中,可以将逆辅变换和逆主变换依次应用于变换系数。辅变换(RST变换)可以被称为低频系数变换(LFCT)或低频不可分离变换(LFNST)。逆辅变换可以称为逆LFCT或逆LFNST。
图4是例示LFNST应用方法的图。
参照图4,LFNST适用于编码器级处的正向主变换411与量化413之间,且适用于解码器级处的解量化421与逆主变换(或主逆变换)423之间。
在LFNST中,4×4不可分离变换或8×8不可分离变换可以根据块大小(选择性地)应用。例如,4×4 LFNST可以应用于相对小的块(即,min(width,height)<8),并且8×8LFNST可以应用于相对大的块(即,min(width,height)>4)。在图4中,作为示例,示出了将4×4正向LFNST应用于16个输入系数,并且将8×8正向LFNST应用于64个输入系数。另外,在图4中,作为示例,示出了4×4逆LFNST可以应用于8个输入系数,并且8×8逆LFNST可以应用于16个输入系数。
在LFNST中,可以使用总共四个变换集和针对每个变换集的两个不可分离的变换矩阵(核)。如表4所示,可以预定义从帧内预测模式到变换集的映射。
[表4]
IntraPredMode | 变换集索引 |
IntraPredMode<0 | 1 |
0<=IntraPredMode<=1 | 0 |
2<=IntraPredMode<=12 | 1 |
13<=IntraPredMode<=23 | 2 |
24<=IntraPredMode<=44 | 3 |
45<=IntraPredMode<=55 | 2 |
56<=IntraPredMode<=80 | 1 |
81<=IntraPredMode<=83 | 0 |
参照表4,如果预测模式编号为81至83的三个CCLM模式(即,81≤IntraPredMode≤83)用于当前块,可以针对当前色度块选择变换集0。针对每个变换集,可以通过显式地发信号通知的LFNST索引来附加地指定所选不可分离辅变换候选。可以在变换系数之后的每个帧内CU在比特流内发信号通知索引一次。
此外,可以以CU或TU为单位执行变换/逆变换。也就是说,变换/逆变换适用于CU中的残差样本或TU中的残差样本。CU大小可以等于TU大小,或多个TU可以存在于CU区域中。此外,CU大小通常可以指示亮度分量(样本)CB大小。TU大小通常可以指示亮度分量(样本)TB大小。取决于根据色彩格式(色度格式)的分量比率(例如,4∶4∶4、4∶2∶2、4∶2∶0等,色度分量(样本)CB或TB大小可以基于的亮度分量(样本)CB或TB大小而推导。可以基于maxTbSize推导TU大小。例如,当CU大小大于maxTbSize时,可以从CU推导maxTbSize的多个TU(TB),并且可以以TU(TB)为单位执行变换/逆变换。可以考虑maxTbSize来确定是否应用诸如ISP的各种帧内预测类型。关于maxTbSize的信息可以是预确定的,或者可以在编码设备中生成和编码并用信号发送给解码设备。
如上文所描述,变换可以应用于残差块。这是为了尽可能地对残差块进行解相关,集中低频处的系数,并且在块的末端处创建零尾。JEM软件中的变换部分包括两个主要功能:核心变换和辅变换。核心变换由应用于残差块的所有行和列的DCT(离散余弦变换)和DST(离散正弦变换)族组成。然后,可以将辅变换附加地应用于核心变换的输出的左上角。类似地,可以按以下顺序应用逆变换:辅逆变换和核心逆变换。具体地,可以将辅逆变换应用于系数块的左上角。然后将核心逆变换应用于辅逆变换的输出的行和列。核心变换/逆变换可以称为主变换/逆变换。
AMT(自适应多核变换)的概述
除了现有的DCT-2和4×4DST-7之外,自适应多变换或显式多变换(AMT或EMT)技术可以用于针对帧间编码块和帧内编码块的残差编码。在下文中,AMT和EMT将可互换使用。在AMT中,除了现有变换之外,还可以使用从DCT/DST族选择的多个变换。JEM中新引入的变换矩阵是DST-7、DCT-8、DST-1和DCT-5。表5中示出了AMT中使用的DST/DCT的基函数。
[表5]
EMT可以应用于宽度和高度小于或等于64的CU,并且是否应用EMT可由CU级标志控制。例如,如果CU级标志为0,那么将DCT-2应用于CU以编码残差。针对应用EMT的CU内的亮度编码块,发信号通知两个附加标志以识别要使用的水平和垂直变换。在JEM中,可在变换跳过模式中编码块的残差。针对帧内残差编码,由于不同帧内预测模式的不同残差统计,使用模式相关变换候选选择过程。例如,如表6中所示定义三个变换子集,并且基于如表7中所示的帧内预测模式选择变换子集。
[表6]
[表7]
利用子集概念,首先使用CU级EMT_CU_flag等于1的CU的帧内预测模式基于表6识别变换子集。接着,对于水平(EMT_TU_horizontal_flag)和垂直(EMT_TU_vertical_flag)变换中的每一者,基于使用根据表7的标志的显式信令选择所识别变换子集中的两个变换候选者中的一者。
[表8]
表8示出了应用AMT的变换配置组。
参照表8,基于预测模式确定变换配置组,并且组的数量可以是总共6(G0至G5)。另外,G0至G4对应于应用帧内预测的情况,并且G5指示应用于通过帧间预测生成的残差块的变换组合(或变换集、变换组合集)。
一个变换组合由应用于对应2D块的行的水平变换(或行变换)和应用于列垂直变换(或列变换)组成。
这里,所有变换配置组可以各自具有四个变换组合候选。可以通过0至3的变换组合索引来选择或确定四个变换组合候选,并且变换组合索引可以被编码并从编码器发送到解码器。
例如,通过帧内预测获得的残差数据(或残差信号)可以根据帧内预测模式而具有不同的统计特性。因此,如表8所示,可以将除了通用余弦变换之外的变换应用于每个帧内预测。在本公开中,变换类型可表达为例如DCT类型2、DCT-II或DCT-2。
表8示出使用35个帧内预测模式的情况和使用67个帧内预测模式的情况。可以将多个变换组合应用于在每个帧内预测模式列中划分的每个变换配置组。例如,多个变换组合可以由四个(行方向变换、列方向变换)组合组成。作为具体示例,在组0中,DST-7和DCT-5可以在行(水平)方向和列(垂直)方向两者上应用,因此总共4种组合是可能的。
由于总共四个变换核组合可以应用于每个帧内预测模式,因此可以针对每个变换单元发送用于选择其中一个的变换组合索引。在本公开中,变换组合索引可被称作AMT索引并且可以表达为amt_idx。
另外,除了表8中呈现的变换核之外,由于残差信号的特性,可能存在DCT-2在行和列方向上都是最优的情况。因此,可以通过针对每个编码单元定义AMT标志来自适应地应用变换。这里,如果AMT标志为0,那么DCT-2应用于行方向和列方向两者,并且如果AMT标志为1,那么可以通过AMT索引选择或确定四个组合中的一者。
例如,当AMT标志为0并且一个变换单元的变换系数的数量小于3时,不应用表8中的变换核并且可以将DST-7应用于行方向和列方向两者。
例如,如果首先解析变换系数值并且变换系数的数量小于3,则不解析AMT索引并且应用DST-7,从而减少发送的附加信息量。
作为示例,仅当变换单元的宽度和高度均为32或更小时,才可以应用AMT。
作为示例,表8可以通过离线训练预先设置。
作为示例,AMT索引可以被定义为可以同时指示水平变换和垂直变换的组合的一个索引。另选地,AMT索引可以被定义为单独的水平变换索引和垂直变换索引。
图5是例示执行AMT的编码过程的流程图。
无论主变换还是辅变换,都可以应用AMT。换句话说,不存在必须仅应用于两者中的一者的限制,并且两者均可应用。这里,主变换可以指用于初始变换残差块的变换,并且辅变换可以指用于将变换应用于作为主变换的结果而生成的块的变换。
首先,编码设备可以确定与当前块相对应的变换组(S510)。这里,变换组可以指上文参照表8所描述的变换组,但不限于此,并且可以由其它变换组合组成。
编码设备可以对变换组内可用的候选变换组合执行变换(S520)。
作为执行变换的结果,编码设备可以确定或选择具有最低RD(速率失真)成本的变换组合(S530)。
编码设备可以对与所选变换组合相对应的变换组合索引进行编码(S540)。
图6是例示执行AMT的解码过程的流程图。
首先,解码设备可以确定当前块的变换组(S610)
解码设备可以对变换组合索引进行解析(S620)。这里,变换组合索引可以与变换组中的多个变换组合中的一者相对应。确定变换组的步骤S610和解析变换组合索引的步骤S620可以同时执行。
解码设备可以推导与变换组合索引相对应的变换组合(S630)。这里,变换组合可以指上面参照表8描述的变换组合,但不限于此。换句话说,使用不同变换组合的配置也是可能的。
解码设备可以基于变换组合对当前块执行逆变换(S640)。如果变换组合由行变换和列变换组成,则可以首先应用行变换,然后可以应用列变换。然而,该过程不限于此,并且可以相反地应用。
辅变换NSST索引编码的概述
针对辅变换/逆变换,可以应用模式相关的不可分离辅变换(MDNSST)。为了维持低复杂度,MDNSST可仅应用于主变换之后的低频系数。如果变换系数块的宽度(W)和高度(H)均大于或等于8,则将8×8不可分离辅变换应用于变换系数块的左上8×8区域。相比之下,如果宽度或高度小于8,则应用4×4不可分离辅变换,并且可以对变换系数块的左上min(8,W)×min(8,H)执行4×4不可分离辅变换。这里,min(A,B)是输出A和B之间的较小值的函数。
针对4×4和8×8块大小两者,可以存在总共35×3个不可分离辅变换。此处,35可以意指由帧内预测模式指定的变换集的数量,并且3可以意指每一帧内预测模式的NSST候选的数量。可以如表9所示定义从帧内预测模式到变换集的映射。
[表9]
帧内模式 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 |
集 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 |
帧内模式 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 5Z | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67(LM) |
集 | 34 | 33 | 32 | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 |
为了指示变换集当中的变换核,可以对NSST索引(NSSTidx)进行编码。如果不应用NSST,则可以发信号通知具有0值的NSST索引。
辅变换(例如,MDSST)不应用于以变换跳过模式编码的块。如果针对CU发信号通知了MDNSST索引且该MDNSST索引不为零,那么不将MDNSST用于在CU内以变换跳过模式编码的分量的块。包括系数编码和NSST索引编码的整体编码结构如图6和图7所示。对编码块标志(CBF)进行编码以确定是执行系数编码还是NSST编码。在图6和图7中,CBF标志可以表示亮度块cbf标志(cbf_luma标志)或色度块cbf标志(cbf_cb标志或cbf_cr标志)。当CBF标志为1时对变换系数进行编码。
图7是例示执行NSST的编码过程的流程图。
参照图7,编码设备检查CBF标志是否为1(S710)。如果CBF标志为0(S710中的“否”),则编码设备不执行变换系数编码和NSST索引编码。相比之下,当CBF标志为1时(S710中的“是”),编码设备对变换系数执行编码(S720)。然后,编码设备确定是否执行NSST索引编码(S730)并执行NSST索引编码(S740)。如果未应用NSST索引编码(S730中的“否”),则编码设备可以在未应用NSST的情况下终止变换过程并且执行后续步骤(例如,量化)。
图8是例示执行NSST的解码过程的流程图。
参照图8,解码设备检查CBF标志是否为1(S810)。如果CBF标志为0(S810中的“否”),则解码设备不执行变换系数解码和NSST索引解码。相比之下,当CBF标志为1时(S810中的“是”),解码设备对变换系数执行解码(S820)。此后,解码设备确定是否对NSST索引进行编码(S830)并解析NSST索引(S840)。
NSST可以不应用于已应用主变换的块(例如,整个TU),而仅应用于块的左上8×8区域或4×4区域。例如,如果块大小是8×8或更大,则可以应用8×8NSST,并且如果块大小小于8×8,则可以应用4×4NSST。另外,当应用8×8NSST时,可以将4×4NSST应用于每个4×4块。8×8NSST和4×4NSST都遵循上述变换集配置。8×8NSST可以具有64个输入数据和64个输出数据,并且4×4NSST可以具有16个输入和16个输出。
图9和图10是例示执行NSST的方法的图。图9示出Givens旋转,并且图10示出了由Givens旋转层和置换(permutation)组成的4×4NSST的轮配置。
8×8NSST和4×4NSST两者均可以由吉文斯旋转的阶层式组合组成。与一个吉文斯旋转相对应的矩阵如式1中所示,并且矩阵乘积在如图9中所示的图中表达。
[式1]
/>
如图9所示,通过将式1的矩阵应用于两个输入数据xm和xn,可以获得两个输出数据tm和tn。
由于一个Givens旋转是旋转两个数据,因此分别需要32或8个Givens旋转来处理64个数据(针对8×8NSST)或16个数据(针对4×4NSST)。因此,可通过将32或8个Givens旋转分组来构造Givens旋转层。
如图10中所示,通过置换(或混排)转发一个Givens旋转层的输出数据作为下一Givens旋转层的输入数据。如图10所示,规则地定义置换模式,并且在4×4NSST的情况下,四个Givens旋转层和对应的置换形成一轮。在2轮中执行4×4NSST在4轮中执行8×8NSST。不同的轮使用相同的置换模式,但是所应用的Givens旋转角度可以不同。因此,有必要存储配置每一变换的所有Givens旋转的角度数据。
作为最后一步,最后对通过Givens旋转层输出的数据执行一次置换,并且针对每次变换分别存储关于置换的信息。在正向NSST的情况下,最后执行置换,并且在逆NSST的情况下,首先执行置换的逆过程(即,逆方向置换或逆置换)。
在后向NSST的情况下,在正向NSST中应用的Givens旋转层和置换以逆顺序应用,并且负(-)值被加到每个Givens旋转角。
缩减的辅变换(RST)的概述
图11和图12是示出执行RST的方法的图。
假设表示一个变换的正交矩阵具有N×N的形式,RT(缩减的变换)仅从N个变换基向量中留下R个(R<N)。生成变换系数的正向RT的矩阵可以被定义为式2。
[式2]
由于针对后向RT的矩阵是正向RT矩阵的转置矩阵,因此可以在图11的(a)和(b)中示出正向RT和后向RT的应用。
应用于应用了主变换的变换系数块的左上8×8块的RT可以被称为8×8RST。当在式2中将R的值设置为16时,正向8×8RST具有16×64矩阵的形式,并且后向8×8RST具有64×16矩阵的形式。表9中所示的变换集配置也可以应用于8×8RST。也就是说,可以根据表9中的变换集确定8×8RST。由于一个变换集由根据帧内预测模式的两个或三个变换组成,所以可以选择多达四个变换(包括不应用辅变换的情况(一个变换可以对应于单位矩阵))中的一个。假设索引0、索引1、索引2和索引3被分配给四个变换中的每一个(例如,索引0可以被分配给单位矩阵,即,不应用辅变换的情况),则可以通过发信号通知与每个变换系数块的NSST索引相对应的语法元素来指定所应用的变换。也就是说,针对通过NSST索引的8×8左上块,在NSST的情况下可以指定8×8NSST,并且在RST配置中可以指定8×8RST。
当应用上式2中所示的正向8×8RST时,由于生成了16个有效变换系数,因此可以看出,构成8×8区域的64个输入数据被缩减为16个输出数据,并且从二维区域的角度来看,只有该区域的1/4被填充有有效变换系数。因此,通过应用正向8×8RST获得的16个输出数据被填充在图12的左上区域中。
图12示出了根据逆扫描顺序执行从第六十四至第十七的逆扫描的过程。
在图12中,左上4×4区域变为填充有有效变换系数的ROI(感兴趣区域),并且剩余区域留空。空区域可以填充有默认值0。如果在除了图12的ROI之外的区域中找到非零有效变换系数,则确定未应用8×8RST,并且因此可以跳过NSST索引编码。相反,如果在除了图12的ROI之外的区域中未找到非零变换系数(即,除了ROI之外的区域用0填充),则可能应用了8×8RST,并且因此可以对NSST索引进行编码。由于需要检查非零变换系数的存在或不存在,因此可以在残差编码过程之后执行这样的条件NSST索引编码。
在本公开中,NSST/RT/RST可以统称为LFNST,并且NSST索引或(R)ST索引可以统称为LFNST索引。可以基于位于变换系数块的左上区域中的低频变换系数的变换核(变换矩阵或变换矩阵核)以不可分离的变换格式应用LFNST。
在下文中,将参照附图详细描述本公开的实施方式。
图13是例示根据本公开的一个实施方式的变换和逆变换过程的图。在图13中,变换单元1310可以对应于图2的变换单元120,并且逆变换单元1320可以对应于图2的逆变换单元150或图3的逆变换单元230。
参照图13,变换单元1310可以包括主变换单元1311和辅变换单元1312。
主变换单元1311可以通过将主变换应用于残差样本A来生成(主)变换系数B。在本公开中,主变换可以被称为核心变换。
可以基于MTS方案来执行第一变换。当应用现有MTS时,基于DCT类型2、DST类型7和DCT类型8将从空间域到频域的变换应用于残差信号(或残差块),并且可以生成变换系数(或主变换系数)。这里,DCT类型2、DST类型7和DCT类型8可以被称为变换类型、变换核或变换核心。DCT类型2、DST类型7和DCT类型8的基函数的示例如上文参考表3所描述。然而,这是示例,并且即使在现有MTS核的配置不同时,也可以应用本公开的实施方式,也就是说,即使在它包括不同类型的DCT/DST或变换跳过时,也可以应用本公开的实施方式。
现有的MTS具有在水平方向上应用一个核并且在垂直方向上应用一个核作为可分离变换的形式。众所周知,不可分离变换核提供比可分离变换核更高的编码/解码效率,但是在常规主变换中不使用不可分离变换方法。
因此,根据本公开的实施方式,可以基于不可分离的变换核来执行主变换。在本公开中,基于不可分离变换核的主变换可以被称为不可分离主变换或不可分离核心变换。
不可分离主变换可以替换现有MTS候选中的至少一个,或者可以被添加为新的MTS候选。例如,仅DCT类型2和不可分离主变换可以用作MTS候选,或者不可分离主变换可以用作除了DCT类型2、DST类型7和DCT类型8之外的MTS候选。
由于不可分离主变换被包括在MTS候选中,因此MTS索引(例如,tu_mts_idx[x0][y0])上述表1中的表可以修改例如如表10或表11所示。
[表10]
tu_mts_idx[x0][y0] | 0 | 1 | 2 |
trTypeHor | 0 | 1 | 2 |
trTypeVer | 0 | 1 | 2 |
[表11]
tu_mts_idx[x0][y0] | 0 | 1 | 2 | 3 | 4 | 5 |
trTypeHor | 0 | 1 | 2 | 1 | 2 | 3 |
trTypeVer | 0 | 1 | 1 | 2 | 2 | 3 |
在表10和表11中,trTypeHor可以表示水平方向变换核,并且trTypeVer可以表示垂直方向变换核。在表10的情况下,值为0的trTypeHor/trTypeVer指示DCT类型2,值为1的trTypeHor/trTypeVer指示DST类型7,并且值为2的trTypeHor/trTypeVer可以指示不可分离主变换。在表11的情况下,值为0的trTypeHor/trTypeVer可以指示DCT类型2,值为1的trTypeHor/trTypeVer可以指示DST类型7,并且值为2的trTypeHor/trTypeVer可以指示DCT类型8。另外,值为3的trTypeHor/trTypeVer可以指示不可分离的主要变换。然而,这仅仅是示例,并且本公开的实施方式不限于此。
由于不可分离主变换具有水平方向变换和垂直方向变换不分离的特性,因此不可分离主变换的变换核需要针对水平方向和垂直方向是相同的。因此,根据本公开的一个实施方式,当trTypeHor具有指示不可分离主变换的值时,trTypeVer值也可以被约束为具有指示不可分离主变换的值。例如,在表11中,如果trTypeHor值为3,则trTypeVer值可以不在0和2之间,并且可以仅被约束为3。
此外,在一些实施方式中,可以添加不可分离主变换作为与上述MTS方案分离的选项。例如,不可分离主变换可以不包括在MTS候选中,而是可以用作独立变换候选。在这种情况下,可以发信号通知预确定的第一标志(例如,nspt_flag)以指示是否应用不可分离主变换,并且仅当第一标志为0时(即,指示未应用不可分离主变换的情况)才可以发信号通知指示是否应用MTS的第二标志(例如,mts_flag)。
例如,可以如下用4×4块作为输入来执行不可分离主变换。4×4输入块X的示例如式3所示。
[式3]
如果输入块X以矢量的形式表示,则其可以表示为式4。
[式4]
在这种情况下,可以如式5所示计算不可分离主变换。
[式5]
这里,表示变换系数向量,T表示16×16不可分离变换矩阵,并且运算符·表示矩阵和向量的乘法。
可以通过式5推导16×1变换系数向量并且可以根据扫描顺序(例如,水平、垂直、对角线或预定/存储的扫描顺序)将/>重构为4×4块。然而,这仅是示例,并且可以使用各种优化的不可分离变换计算方法来降低不可分离主变换的计算复杂度。
这样,根据本公开的实施方式,主变换单元1311可以通过将不可分离主变换应用于残差样本A来生成(主)变换系数B。
辅变换单元1312可以通过将辅变换应用于(主)变换系数B来产生(辅)变换系数C。在一个示例中,上述LFNST可以作为辅变换应用。另外,(辅)变换系数C可以通过量化和熵编码过程来编码并用于生成比特流。
接下来,逆变换单元1320可以包括(逆)辅变换单元1321和(逆)主变换单元1322。
(逆)辅变换单元1321将(逆)辅变换应用于解量化(辅)变换系数C’以生成(主)(逆)变换系数这里,(逆)辅变换可以对应于由变换单元1310执行的辅变换的逆过程。
(逆)主变换单元1322可以通过将(逆)主变换应用于(主)(逆)变换系数B’来生成残差样本A’。
根据本公开的实施方式,(逆)主变换可以包括不可分离主逆变换。不可分离的主逆变换可以作为MTS候选被包括或者作为独立的逆变换候选被提供。不可分离主逆变换对应于不可分离主变换的逆过程,且其特定细节如上文关于不可分离主变换所描述。
此外,不可分离主变换具有与不可分离辅变换相同/相似的基本特性,因为一次应用变换而不分离水平方向和垂直方向变换。然而,两者在诸如变换目标、变换矩阵、归零范围等特定变换方法方面具有不同的特征。在下文中,将参照图14a至图16d,详细描述不可分离主变换和不可分离辅变换之间的区别。
图14a和图14b例示不可分离辅变换过程的图。
图14a至图14d示出编码器级处的不可分离辅变换(即,正向不可分离辅变换过程)。
图14a示出了输入块的大小为4×4的情况,并且图14b示出了输入块的大小为8×4或4×8的情况。另外,图14c示出了输入块的大小为8×8的情况,图14d示出了输入块的大小为16×8或8×16的情况。
在图14a至14d中,由粗线指示的区域表示对其应用不可分离辅变换的区域。
首先,参照图14a,不可分离辅变换可以应用于整个4×4输入块。
具体地,16×8不可分离辅变换矩阵可以应用于4×4输入块的16(主)变换系数,从而产生8个(辅)变换系数。使用16×8矩阵是为了在最坏情况下降低乘法复杂度。作为不可分离辅变换(在正向方向上)的结果,由于输出系数的数量与输入系数的数量相比缩减了,因此这样的不可分离辅变换可以被称为RST(缩减的辅变换)。
8个输出系数可以根据对角线扫描顺序位于4×4输出块的左上区域(阴影区域)。另外,4×4输出块中的未填充有输出系数的剩余区域可以用零值填充(即,归零)。在这种情况下,归零区域是4×4输出块的右下区域。
接着,参照图14b的(a),不可分离辅变换可以仅应用于8×4输入块的左4×4区域。这是因为不可分离辅变换是以4×4或8×8区域为单位执行的。
具体地,可以将16×16不可分离辅变换矩阵应用于左4×4区域中的16个(主)变换系数,从而生成16个(辅)变换系数。使用16×16矩阵是为了在最坏情况下降低乘法复杂度。
16个输出系数可以根据对角线扫描顺序位于8×4输出块的左4×4区域(阴影区域)中。由于不可分离辅变换的目标区域(即,左4×4区域)完全填充有输出系数,因此可不执行归零。另外,在8×4输出块中未应用不可分离辅变换的剩余区域中,(主)变换系数保持不变。
参照图14b的(b),不可分离辅变换可以仅应用于4×8输入块的上4×4区域。如在图14b的(a)中,这是因为不可分离辅变换以4×4或8×8区域为单位执行。
具体地,16×16不可分离辅变换矩阵可以应用于上4×4区域中的16个(主)变换系数,从而生成16个(辅)变换系数。
16个输出系数可以根据对角线扫描顺序位于4×8输出块的上4×4区域(阴影区域)中。由于不可分离辅变换的目标区域(即,上4×4区域)完全填充有输出系数,因此可不执行归零。另外,在4×8输出块中未应用不可分离辅变换的剩余区域中,(主)变换系数保持不变。
接下来,参照图14c,不可分离辅变换可以应用于整个8×8输入块。
具体地,可以将48×8不可分离辅变换矩阵应用于8×8输入块的48个(主)变换系数,从而生成8个(辅)变换系数。使用48×8矩阵是为了在最坏情况下降低乘法复杂度。在正向不可分离辅变换中,由于48×1或16×1向量用作输入向量,因此仅可将8×8输入块的左上4×4区域、右上4×4区域和左下4×4区域中的(主)变换系数用作不可分离辅变换的输入值。换句话说,8×8输入块的右下4×4区域中的(主)变换系数不用作不可分离辅变换的输入值。
8个输出系数可以根据对角线扫描顺位于8×8输出块的左上区域(阴影区域)中。另外,在8×8输出块中未填充有输出系数的剩余区域可以用零值填充。此时,由于8×8输出块的右下4×4区域不用作不可分离辅变换的输入值,因此不执行该区域的归零,并且(主)变换系数保持不变。
接着,参照图14d的(a),不可分离辅变换可以仅应用于16×8输入块的左8×8区域。这是因为不可分离辅变换是以4×4或8×8区域为单位执行的。
具体地,可以将48×8不可分离辅变换矩阵应用于左8×8区域的48个(主)变换系数,从而生成16个(辅)变换系数。使用48×16矩阵是为了在最坏情况下降低乘法复杂度。在正向不可分离辅变换中,由于48×1或16×1向量用作输入向量,因此左8×8区域的右下4×4区域的(主)变换系数不用作不可分离辅变换的输入值。
16个输出系数可以根据对角线扫描顺序位于16×8输出块的左上4×4区域(阴影区域)中。另外,16×8输出块中的未填充有输出系数的剩余区域可以填充有零值。此时,由于左8×8区域的右下4×4区域不用作不可分离辅变换的输入值,因此不执行该区域的归零,并且(主)变换系数保持不变。
参照图14d的(b),不可分离辅变换可以仅应用于8×16输入块的上8×8区域。如在图14d的(a)中,这是因为不可分离辅变换以4×4或8×8区域为单位执行。
具体地,48×16不可分离辅变换矩阵可以应用于上8×8区域中的48个(主)变换系数,从而生成16个(辅)变换系数。使用48×16矩阵是为了在最坏情况下降低乘法复杂度。在正向不可分离辅变换中,由于48×1或16×1向量用作输入向量,因此上8×8区域的右下4×4区域中的(主)变换系数不用作不可分离辅变换的输入值。
16个输出系数可以根据对角线扫描顺序位于8×16输出块的左上4×4区域(阴影区域)中。另外,8×16输出块中的未填充有输出系数的剩余区域可以用零值填充。此时,由于上8×8区域的右下4×4区域未用作不可分离辅变换的输入值,因此不执行该区域的归零,并且(主)变换系数保持不变。
如上文参照图14a至图14d所述,不可分离辅变换可以仅应用于输入块的左上区域。另外,归零区域可以限于在实际应用不可分离辅变换的区域中未填充(辅)变换系数的区域。
图15a至图15d是例示根据本公开的一个实施方式的不可分离主变换过程的图。
图15a至图15d示出编码器级处的不可分离主变换(即,正向不可分离主变换过程)。
图15a示出了输入块的大小为4×4的情况,并且图15b示出了输入块的大小为8×4或4×8的情况。另外,图15c示出了输入块的大小为8×8的情况,并且图15d示出了输入块的大小为16×8或8×16的情况。
在图15a至图15d中,由粗线指示的区域表示对其应用不可分离主变换的区域。
首先,参照图15a,不可分离主变换可以应用于整个4×4输入块。具体地,16×16不可分离主变换矩阵可以应用于4×4输入块的16个残差样本,从而生成16个(主)变换系数。
接着,参照图15b的(a),不可分离主变换可以应用于整个8×4输入块。具体地,32×32不可分离主变换矩阵可以应用于8×4输入块的32个残差样本,从而生成32个(主)变换系数。另外,参照图15b的(b),不可分离主变换可应用于整个4×8输入块。具体地,32×32不可分离主变换矩阵可以应用于4×8输入块的32个残差样本,从而生成32个(主)变换系数。
接下来,参照图15c,不可分离主变换可以应用于整个8×8输入块。具体地,可以将64×64不可分离主变换矩阵应用于8×8输入块的64个残差样本,从而生成64个(主)变换系数。
接着,参照图15d的(a),不可分离主变换可以应用于整个16×8输入块。具体地,可以将128×128不可分离主变换矩阵应用于16×8输入块的128个残差样本,从而生成128个(主)变换系数。另外,参照图15d的(b),不可分离主变换可应用于整个8×16输入块。具体地,可以将128×128不可分离主变换矩阵应用于8×16输入块的128个残差样本,从而生成128个(主)变换系数。
因此,根据本公开的实施方式的不可分离主变换可以应用于输入块的整个区域。另外,由于输入块中的所有残差样本通过不可分离主变换(主)变换,因此不执行归零。在这方面,不可分离主变换具有与不可分离辅变换不同的特性。
此外,图15a至图15d示出了不可分离主变换的输入样本的数量和输出系数的数量相同的情况。然而,在一些实施方式中,可以应用缩减的变换(RT)形式的不可分离主变换,其中不可分离主变换的输出系数的数量小于输入样本的数量。
图16a至图16d是例示根据本公开的另一实施方式的不可分离主变换过程的图。图16a至图16d的不可分离主变换与图15a至图15d的不可分离主变换相同之处在于不可分离主变换被应用于整个输入块。在下文中,将省略冗余的解释,并且将关注两者之间的差异。
首先,参照图16a,可以将16×8不可分离主变换矩阵应用于4×4输入块的16个残差样本,从而生成8个(主)变换系数。作为不可分离主变换结果(在正向方向上),由于输出系数的数量与输入样本的数量相比缩减了,因此这种不可分离主变换可以被称为RPT(缩减的主变换)或RCT(缩减的核心变换)。
8个输出系数可以根据对角线扫描顺序位于4×4输出块的左上区域(阴影区域)中。另外,4×4输出块中的未填充有输出系数的整个剩余区域可以填充有零值(即,归零)。因此,可以修改所有残差样本值。
接下来,参照图16b的(a),可以将32×16不可分离主变换矩阵应用于8×4输入块的32个残差样本,从而生成16个(主)变换系数。16个输出系数可以根据对角线扫描顺序位于8×4输出块的左4×4区域(阴影区域)中。另外,8×8输出块中的未填充有输出系数的整个剩余区域可以用零值填充。因此,可以修改所有残差样本值。
参照图16b的(b),可以将32×16不可分离主变换矩阵应用于4×8输入块的32个残差样本,从而生成16个(主)变换系数。16个输出系数可以根据对角线扫描顺序位于4×8输出块的上4×4区域(阴影区域)中。另外,8×8输出块中的未填充有输出系数的整个剩余区域可以用零值填充。因此,可以修改所有残差样本值。
参照图16c,可以将64×8不可分离主变换矩阵应用于8×8输入块的64个残差样本,从而生成8个(主)变换系数。8个输出系数可以根据对角线扫描顺序位于8×8输出块的左上区域(阴影区域)中。另外,8×8输出块中的未填充有输出系数的整个剩余区域可用零值填充。因此,可以修改所有残差样本值。
参照图16d的(a),可以将128×16不可分离辅变换矩阵应用于16×8输入块的128个残差样本,从而生成16个(主)变换系数。16个输出系数可以根据对角线扫描顺序位于16×8输出块的左上4×4区域(阴影区域)中。另外,16×8输出块中的未填充有输出系数的整个剩余区域可以用零值填充。因此,可以修改所有残差样本值。
参照图16d的(b),可以将128×16不可分离辅变换矩阵应用于8×16输入块的128个残差样本,从而生成16个(主)变换系数。可根据对角线扫描顺序将16个输出系数放置在16×8输出块的左上4×4区域(阴影区域)中。另外,未填充有16×8输出块中的输出系数的整个剩余区域可用零值填充。因此,可以修改所有残差样本值。
因此,根据本公开的实施方式的不可分离主变换可以应用于输入块的整个区域。另外,可以对输出块中未填充有(主)变换系数的整个剩余区域执行归零。因此,可以修改不可分离主变换的所有输入值(即,残差样本值)。在这方面,不可分离主变换具有与不可分离辅变换不同的特性。
图17是例示根据本公开的一个实施方式的变换方法的流程图。
图17的变换方法可以由图2的图像编码设备执行。例如,步骤S1710至S1730可以由变换单元120执行。
参照图17,图像编码设备可以通过将不可分离主变换应用于残差样本来生成(主)变换系数(S1710)。可以通过不可分离主变换来修改残差块中的所有残差样本。在一个实施方式中,不可分离主变换可以具有输出系数的数量小于输入样本的数量的缩减的变换(RT)形式。在这种情况下,可以对未生成输出系数的所有区域执行归零。
图像编码设备可以确定是否对(主)变换系数应用了辅变换(S1720)。辅变换可以是诸如NSST或RST的不可分离辅变换。在一个实施方式中,图像编码设备可以基于主变换残差变换系数来确定是否应用辅变换。例如,当包括在应用了辅变换的区域中的非零残差变换系数的数量大于或等于预定阈值时,图像编码设备可以确定应用了辅变换。另一方面,如果包括在应用了辅变换的区域中的非零残差变换系数的数量小于预定阈值,则图像编码设备可以确定未应用辅变换。关于是否应用辅变换的信息可以被编码为预定语法元素(例如,sps_lfnst_enabled_flag、lfnst_idx等)。
在确定应用了辅变换时(S1720中的“是”),图像编码设备可以通过对(主)变换系数应用辅变换来生成(辅)变换系数(S1730)。在这种情况下,可以基于(辅)变换系数生成比特流。
相比之下,在确定未应用辅变换时(S1720中的“否”),图像编码设备可以不对(主)变换系数执行辅变换。在这种情况下,可以基于(主)变换系数生成比特流。
图18是例示根据本公开的一个实施方式的逆变换方法的流程图。
图18的逆变换方法可以由图2的图像编码设备或图3的图像解码设备执行。例如,步骤S1810至S1830可以由图2的逆变换单元150或图3的逆变换单元230执行。在下文中,为了便于描述,将关注图像解码设备。
参照图18,图像解码设备可以确定是否对从比特流获得的变换系数应用辅逆变换(S1810)。辅逆变换可以是诸如NSST或RST的不可分离辅逆变换。在一个实施方式中,图像解码设备可以基于从比特流获得的预定语法元素(例如,sps_lfnst_enabled_flag、lfnst_idx等)来确定是否应用辅逆变换。例如,当lfnst_idx具有第一值(例如,0)时,图像解码设备可以确定未应用辅逆变换。相比之下,当lfnst_idx具有与第一值(例如,0)不同的值时,图像解码设备可以确定应用了辅逆变换。
在确定应用了辅逆变换时(S1810中的“是”),图像解码设备可以通过将辅逆变换应用于从比特流获得的变换系数来生成(主)变换系数(S1820)。在这种情况下,从比特流获得的变换系数可以对应于(辅)变换系数。
另一方面,在确定未应用辅逆变换时(S1810中的“否”),图像解码设备可以不对从比特流中获得的变换系数执行辅逆变换。在这种情况下,从比特流获得的变换系数可以对应于(主)变换系数。
图像解码设备可以通过将不可分离主逆变换应用于(主)变换系数来生成残差样本(S1830)。所有(主)变换系数可以通过不可分离主逆变换来修改。在一个实施方式中,不可分离主逆变换可以具有输出系数的数量大于输入系数的数量的缩减的变换(RT)形式。
基于子块的不可分离主变换
在一个实施方式中,在不将适合于块的宽度和高度的不可分离主变换应用于相对大的输入块的情况下将块分割成子块,然后可以使用适合于每个子块的宽度和高度的不可分离变换矩阵来应用不可分离主变换。例如,当对4×8块应用不可分离主变换时,4×8块在空间域中被水平地分割为两个4×4子块,并且以4×4块为单位的不可分离主变换可以应用于每个4×4子块。另选地,当对16×8块应用不可分离主变换时,16×8块在空间域中垂直分割为两个8×8子块,并且可以对每个8×8子块应用以8×8块为单位的不可分离主变换。
图19是例示根据本公开的一个实施方式的子块不可分离主变换/逆变换的流程图。
图19的变换方法可以由图2的图像编码设备执行。例如,步骤S1910至S1930可以由变换单元120执行。另外,图19的逆变换方法可以由图2的图像编码设备或图3的图像解码设备执行。例如,步骤S1910至S1930可以由图2的逆变换单元150或图3的逆变换单元230执行。
参照图19,图像编码/解码设备可以确定是否满足预确定的子块变换/逆变换条件(S1910)。在一个实施方式中,图像编码/解码设备可以基于将输入块的大小与预定阈值进行比较的结果来确定是否满足子块变换/逆变换条件。这里,阈值可以包括4×4大小的第一阈值和8×8大小的第二阈值。具体地,当输入块的大小大于第一阈值并且小于第二阈值时,图像编码/解码设备可以确定满足子块变换/逆变换条件。此外,当输入块的大小大于第二阈值时,图像编码/解码设备可以确定满足子块变换/逆变换条件。
如果满足子块变换条件(S1910中的“是”),则图像编码/解码设备可以通过分割输入块来获得多个子块(S1920)。例如,图像编码/解码设备可以通过垂直分割8×4块来获得两个4×4子块。另选地,图像编码/解码设备通过水平分割8×16块来获得两个8×8子块。
相比之下,如果未满足子块变换条件(S1910中的“否”),则图像编码/解码设备可以确定输入块未被分割,并进行到步骤S1930。
另外,图像编码/解码设备可以对输入块或每个子块应用不可分离主变换/逆变换(S1930)。当对整个输入块应用不可分离主变换/逆变换时,可以基于输入块的宽度和高度来确定不可分离变换矩阵。相比之下,当对每个子块应用不可分离主变换/逆变换时,可以基于每个子块的宽度和高度来确定不可分离变换矩阵。
图20a和图20b是例示基于子块的不可分离主变换过程的图。
图20a至图20b示出编码器级处的不可分离主变换(即,正向不可分离主变换过程)。
图20a示出了输入块的大小为8×4或4×8的情况,并且图20b示出了输入块的大小为16×8或8×16的情况。
在图20a至图20b中,由粗线指示的区域表示应用不可分离主变换的区域。
首先,参照图20a的(a),8×4输入块可以被分割为两个4×4子块Sb1和Sb2。此外,可以将4×4不可分离主变换应用于子块Sb1和Sb2中的每一个。具体地,可以将16×16不可分离主变换矩阵应用于第一子块Sb1以生成16个(主)变换系数。另外,可以将16×16不可分离主变换矩阵应用于第二子块Sb2以生成16个(主)变换系数。
参照图20a的(b),4×8输入块可以被分割为两个4×4子块Sb3和Sb4。另外,可以将4×4不可分离主变换应用于子块Sb3和Sb4中的每一个。具体地,可以将16×16不可分离主变换矩阵应用于第三子块Sb3以生成16个(主)变换系数。另外,可以将16×16不可分离主变换矩阵应用于第四子块Sb4以生成16个(主)变换系数。
接着,参照图20b的(a),16×8输入块可以被分割为两个8×8子块Sb1和Sb2。此外,可以将8×8不可分离主变换应用于子块Sb1和Sb2中的每一个。具体地,可以将64×64不可分离主变换矩阵应用于第一子块Sb1以生成64个(主)变换系数。此外,可以将64×64不可分离主变换矩阵应用于第二子块Sb2以生成64个(主)变换系数。
参照图20b的(b),8×16输入块可以被分割为两个8×8子块Sb3和Sb4。另外,可以将8×8不可分离主变换应用于子块Sb3和Sb4中的每一个。具体地,可以将64×64不可分离主变换矩阵应用于第三子块Sb3以生成16个(主)变换系数。另外,可以将64×64不可分离主变换矩阵应用于第四子块Sb4以生成16个(主)变换系数。
此外,在一些实施方式中,可以将不同的不可分离主变换矩阵应用于每个子块。例如,在图20a中,可以将16×16不可分离主变换矩阵应用于第一子块Sb1,并且可以将16×8不可分离主变换矩阵应用于第二子块Sb2。在这种情况下,第二子块Sb2中未生成(主)变换系数的区域可以用零值填充(即,归零)。
不可分离主变换集和核确定方法
根据本公开的实施方式,不可分离主变换集和/或核可以基于预测模式(例如,帧内预测模式、帧间预测模式等)、输入块的宽度/高度、输入块的像素数量、输入块中的子块的位置、显式发信号通知的语法元素、相邻像素的统计特性、是否应用辅变换或量化参数(QP)中的至少一个而被不同地配置。
在一个实施方式中,当当前块的预测模式是帧内预测模式时,帧内预测模式可以被分组为n个集,并且k个变换核可以被配置为包括在每个集中。此时,帧内预测模式的数量和分组方法可以根据实施方式而变化。
在下文中,将详细描述根据本公开的一个实施方式的基于帧内预测模式确定不可分离主变换集的方法。
图21至图24是例示根据本公开的一个实施方式的不可分离主变换集确定方法的图。
帧内预测模式可以包括两个非定向帧内预测模式和65个定向帧内预测模式。非定向帧内预测模式可以包括#0的平面帧内预测模式和#1的DC帧内预测模式,并且定向帧内预测模式可以包括#2至#66的65个帧内预测模式。然而,这是示例,并且本公开的实施方式不限于此。
由于应用了广角帧内预测(WAIP),定向帧内预测模式还可以包括#-14至#1的帧内预测模式和#67至#80的帧内预测模式。图22示例性地示出了考虑WAIP扩展的帧内预测模式和预测方向。
参照图21,#-14至#-1和#2至#33的模式与#35至#80的模式在预测方向方面相对于#34模式对称。例如,#10和#58的模式关于与#34模式相对应的方向对称,并且#-1模式与#67模式对称。因此,根据本公开的一个实施方式,当构造针对主变换的变换集时,可以通过转置输入数据来使用与#34模式对称的垂直模式。这里,转置输入数据可以意指二维块数据M×N的行变成列并且列变成行,从而形成N×M数据。
在一个示例中,如图22a所示,当4×4块用作输入数据时,可以通过适当地布置构成用于不可分离主变换的4×4区域的16个数据来构造16×1向量,并且可以按行优先顺序构造16×1向量。这可以指当二维数据布置为针对正向不可分离主变换的一维的顺序。另外,这可以意指当由后向不可分离主变换生成的变换系数布置为二维时的顺序。
此外,如上所述,#-14至#-1和#2至#80的定向模式相对于#34模式对称地配置。因此,如果用于构造#-14至#-1模式和#2至#33模式的16×1输入向量的数据排列顺序是列优先顺序,则可以按图22b所示的顺序构造#35至#80模式的输入向量。图22b中的数据排列顺序是列优先顺序。这可以指当二维数据布置为针对正向不可分离主变换的一维的顺序。另外,这可以意指当由后向不可分离主变换生成的变换系数布置为二维时的顺序。
此外,严格来说,#34模式可以被认为既不是水平方向性也不是垂直方向性,而是从本公开的数据排列方法的角度被分类为属于水平方向性。也就是说,针对#-14至#-1和#2至#33模式,使用水平模式的输入数据排序方法(即,行优先排序),并且对于相对于#34模式对称的垂直模式,可以转置和使用输入数据。
此外,在非正方形块的情况下,可以不使用正向块中的对称性(即,N×N块中#P模式与#68-P模式之间的对称性(2≤P≤33),或#Q模式与#66-Q模式之间的对称性(-14≤Q≤1)。因此,根据本公开的另一实施方式,代替仅利用基于上述帧内预测模式的对称性,可以与帧内预测模式一起利用彼此转置关系的块形状之间的对称性(即,K×L块和L×K块之间的对称性)。
具体地,参照图23,#P模式预测的K×L块与#68-P模式预测的L×K块之间可以存在对称关系(2<=P<=33)。另外,#Q模式预测的K×L块与#66-Q模式预测的L×K块之间可可以存在对称关系(-14<=Q<=1)。
例如,如图24所示,具有#2模式的K×L块和具有#66模式的L×K块可以被视为彼此对称,并且因此,相同的变换核可以应用于两个块。如果基于K×L块映射针对帧内预测模式的变换集(即,如果存在关于将哪个变换集应用于每个预测模式的表),则为了将变换应用于L×K块,可以通过具有#68-P模式(2<=P<=33)而不是应用于L×K块的#P模式(或者具有#66-Q模式(-14<=Q<=-1)而不是应用于L×K块的#Q模式)的基于K×L块的映射表来获得变换集。因此,在图25的示例中,为了将变换应用于L×K块,可以基于#2模式而非#66模式选择变换集。另外,针对K×L块,可以按预确定的顺序(例如,行优先顺序、列优先顺序)扫描输入数据以构造一维向量,然后可以应用正向不可分离主变换。另外,针对L×K块,可以根据转置顺序来扫描输入数据(即,如果针对K×L块按行优先顺序扫描输入数据,则按照列优先顺序扫描输入数据,并且如果针对K×L块按列优先顺序扫描输入数据,则按照行优先顺序扫描输入数据)以构造一维向量,然后可以应用正向不可分离主变换。
此外,由于图21中的帧内预测模式是示例性的,因此即使以不同的方式设置帧内预测模式,也可以基于上述帧内预测模式和/或块形状之间的对称性来应用不可分离主变换。此外,在#34模式的情况下,当应用于K×L块时,可以基于K×L块使用#34模式来确定变换集,并且可以按预确定的顺序扫描输入数据以构造一维向量,然后可以应用对应的不可分离主变换。同样地,当应用于L×K块时,可以使用#34模式确定变换集,可以以转置顺序扫描输入数据以构造一维向量,然后可以应用对应的不可分离主变换。
尽管上面已经描述了基于K×L块通过帧内预测模式推导变换集和构造输入数据的方法,但是也可以基于L×K块构造输入数据,并且在这种情况下,针对K×L块,可以通过等同地利用上述对称性来应用对应的不可分离主变换。另外,当基于K×L块时,其可以被构造为始终满足K>L的关系。此外,当应用后向不可分离主变换时,可以通过等同地利用上述K×L块和L×K块之间的对称性来确定变换集,并且通过后向变换推导的一维输出数据可以位于二维块中。此外,在非正方形块的情况下,可使用与在不利用对称性的正方形块的情况下不同数量的变换集,并且可以使用与在正方形块的情况下不同的映射表来选择变换集。
用于变换集选择的映射表的具体示例在表12至表14中示出。
[表12]
predModeIntra | TrSetIdx |
predModeIntra<0 | 4 |
0<=predModeIntra<=1 | 0 |
2<=predModeIntra<=12 | 1 |
13<=predMOdeIntra<=23 | 2 |
24<=predModeIntra<=44 | 3 |
45<=predModeIntra<=55 | 2 |
56<=predModeIntra<=66 | 1 |
67<=predModeIntra<=80 | 4 |
表12示例性地示出了当存在五个变换集时将每个变换集分配给帧内预测模式的方法。在表12中,predModeIntra值意指通过考虑WAIP而改变的帧内预测模式值,并且TrSetIdx意指指示特定不可分离主变换集的索引值。
参照表12,可以看出,根据帧内预测模式,相同的不可分离主变换集被应用于位于对称方向上的模式。此外,由于表12中使用五个变换集的映射表仅是示例,因此本公开的实施方式不限于此。例如,不同于表12,可以使用六个或更多个变换集来构造映射表。
作为表12中的另一示例,为了提高压缩性能,可以构造映射表,使得不可分离主变换不应用于WAIP(如表13),或者不针对WAIP构造单独的变换集,并且映射到相邻帧内预测模式的变换集等同地用于WAIP(如表14)。
[表13]
predModeIntra | TrSetIdx |
0<=predModeIntra<=1 | 0 |
2<=predModeIntra<=12 | 1 |
13<=predModeIntra<=23 | 2 |
24<=predModeIntra<=44 | 3 |
45<=predModeIntra<=55 | 2 |
56<=predMOdeIntra<=66 | 1 |
[表14]
predModeIntra | TrSetIdx |
predModeIntra<0 | 1 |
0<=predModeIntra<=1 | 0 |
2<=predModeIntra<=12 | 1 |
13<=predModeIntra<=23 | 2 |
24<=predMOdeIntra<=44 | 3 |
45<=predModeIntra<=55 | 2 |
56<=predModeIntra<=80 | 1 |
此外,在一个实施方式中,可以基于(输入)块的宽度和/或高度来不同地确定针对不可分离主变换的变换集的数量和每个集内的变换核的数量。例如,针对4×4块,可以配置每个集中的n1变换集和k1变换核。相比之下,针对4×4块,可以配置每个集中的n2变换集和k2变换核。
在一个实施方式中,可以基于(输入)块的宽度和高度的乘积来不同地确定针对不可分离主变换的变换集的数量和每个集中的变换核的数量。例如,如果(输入)块的宽度和高度的乘积等于或大于(或超过)256,则可以配置每个集中的n3变换集和k3变换核。此外,在其它情况下,可以配置每个集中的n4变换集和k4变换核。
在一个实施方式中,可以根据包括在当前变换块中的每个子块的位置来不同地确定针对不可分离主变换的变换集的数量和每个集内的变换核的数量。例如,如果将4×8或8×4块分割成两个4×4子块并且将不可分离主变换应用于每个子块,则n5变换集和每个集中的k5变换核可以被配置为将不可分离主变换应用于左上4×4子块。相反,为了将不可分离主变换应用于剩余的4×4子块,可以配置n6变换集和每个集中的k6变换核。
在一个实施方式中,可以显式地用信号通知表示关于不可分离主变换的信息的预定语法元素。例如,如果支持三种类型的不可分离主变换配置(例如,n7变换集和每个集中的k7变换核、n8变换集和每个集中的k8变换核、n9变换集和每个集中的k9变换核),则语法元素可以具有0值、1值或2值中的任何一个。此时,具有不同值的语法元素可以表示不同不可分离主变换配置。
在一个实施方式中,可以基于是否应用了辅变换/逆变换和/或辅变换/逆变换的类型来不同地确定不可分离主变换的配置。例如,当未应用辅变换时,可以针对不可分离主变换配置n10变换集和每个集中的k10变换核。相比之下,当应用了辅变换时,可以配置n11变换集和每个集中的k11变换核。
在一个实施方式中,可以基于量化参数(QP)值和/或QP值的范围不同地确定不可分离主变换的配置。例如,可以应用划分为QP值相对较小和QP值相对较大的情况、包括n12变换集和每个集中的k12变换核的第一配置以及包括n13变换集和每个集中的k13变换核的第二配置。此时,可以基于预确定的阈值(例如,32)执行QP值的大小的确定。例如,如果QP值等于或小于(或小于)32,那么QP值可以被分类为相对小。相比之下,如果QP值超过(或等于或大于)32,那么QP值可以被分类为相对大。在一些实施方式中,可以将QP值的范围划分为三个或更多个范围,并且将不同的配置应用于每个范围。
在下文中,将参照图25和图26详细描述根据本公开的一个实施方式的图像编码/解码方法。
图25是例示根据本公开的一个实施方式的图像编码方法的流程图。
图25的图像编码方法可以由图2的图像编码设备执行。例如,步骤S2510和S2520可以由变换单元120执行。
参照图25,图像编码设备可以基于预确定的不可分离主变换矩阵对当前块执行变换以生成当前块的变换系数块(S2510)。
在一个实施方式中,可以基于多变换选择(MTS)来执行变换。
在一个实施方式中,可以基于不可分离主变换矩阵的大小来选择性地执行变换系数块的归零。例如,基于具有正方形大小的不可分离主变换矩阵,可以不执行归零。相比之下,基于具有非正方形大小的不可分离主变换矩阵,可以对残差块内的至少一个残差样本执行归零。
在一个实施方式中,可以从预确定的不可分离变换集中确定不可分离主变换矩阵。在这种情况下,可以基于当前块的预测模式、大小、像素数量、变换集配置信息、是否执行辅变换或量化参数中的至少一个来不同地配置不可分离变换集。
在一个实施方式中,可以基于子块执行变换。具体地,图像编码设备可以确定当前块是否满足预确定的子块变换条件,并且通过基于满足了子块变换条件而对当前块进行分割来获得多个子块。图像编码设备可以对多个子块中的每一个执行变换。
另外,图像编码设备可以基于变换系数块对当前块进行编码(S2520)。
在一个实施方式中,不可分离主变换矩阵可以与当前块的大小无关地应用于当前块的所有残差样本。
图26是例示根据本公开的一个实施方式的图像解码方法的流程图。
图26的图像解码方法可以由图3的图像解码设备执行。例如,步骤S2610和S2620可以由图3的逆变换单元230执行。
参照图26,图像解码设备可以基于预确定的不可分离主变换矩阵对当前块执行逆变换以生成当前块的残差块(S2610)。
在一个实施方式中,可以基于多变换选择(MTS)来执行逆变换。
在一个实施方式中,可以基于不可分离主变换矩阵的大小来选择性地执行变换系数块的归零。例如,基于具有正方形大小的不可分离主变换矩阵,可以不执行归零。相比之下,基于具有非正方形大小的不可分离主变换矩阵,可以对残差块内的至少一个残差样本执行归零。
在一个实施方式中,可以从预确定的不可分离变换集中确定不可分离主变换矩阵。在这种情况下,可以基于当前块的预测模式、大小、像素数量、变换集配置信息、是否执行辅变换或量化参数中的至少一个来不同地配置不可分离变换集。
在一个实施方式中,可以基于子块来执行变换。具体地,图像编码设备可以确定当前块是否满足了预定子块变换条件,并且通过基于满足了子块变换条件而对当前块进行分割来获得多个子块。图像编码设备可以对多个子块中的每一个执行变换。此时,子块逆变换条件可以包括关于当前块的大小是否大于第一阈值的第一条件,以及关于当前块的大小是否大于第二阈值的第二条件。
在一个实施方式中,不可分离主变换矩阵可以被确定为与在帧内预测模式或块形状中的至少一个中与当前块对称的第一块的变换矩阵相同。
另外,图像解码设备可以基于残差块重构当前块。
在一个实施方式中,不可分离主变换矩阵可以与当前块的大小无关地应用于当前块的所有残差样本。
如上所述,根据本公开的实施方式,水平变换和垂直变换不分离的不可分离变换可以用作主变换。因此,可以进一步提高变换/逆变换效率。可以将不可分离主变换应用于整个输入块,并且可以改变输入块的所有样本/系数的值。在一些实施方式中,不可分离主变换可以具有缩减的变换(RT)形式。可以基于帧内预测模式的对称性来构造用于不可分离主变换的变换集映射表。在这种情况下,可以基于帧内预测模式的对称性和/或块形状之间的对称性从映射表中选择用于不可分离主变换的变换集。
虽然为了描述的清楚起见,上述本公开的示例性方法被表示为一系列操作,但并不旨在限制执行步骤的顺序,并且必要时这些步骤可以同时或以不同的顺序来执行。为了实现根据本公开的方法,所描述的步骤可以进一步包括其它步骤,可以包括除了一些步骤之外的其余步骤,或者可以包括除了一些步骤之外的其它附加步骤。
在本公开中,执行预定操作(步骤)的图像编码装置或图像解码装置可以执行确认相应操作(步骤)的执行条件或情况的操作(步骤)。例如,如果描述了在满足预定条件时执行预定操作,则图像编码装置或图像解码装置可以在确定是否满足预定条件之后执行预定操作。
本公开的各种实施方式不是所有可能组合的列表并且旨在描述本公开的代表性方面,并且在各种实施方式中描述的事项可以独立地或以两个或更多个的组合应用。
本公开的各种实施方式可以以硬件、固件、软件或其组合来实现。在通过硬件实现本公开的情况下,本公开可以通过专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理器件(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、通用处理器、控制器、微控制器、微处理器等来实现。
此外,应用本公开的实施方式的图像解码设备和图像编码设备可以被包括在多媒体广播传送和接收装置、移动通信终端、家庭影院视频装置、数字影院视频装置、监控摄像头、视频聊天装置、诸如视频通信的实时通信装置、移动流传输装置、存储介质、摄像机、视频点播(VoD)服务提供装置、OTT视频(over the top video)装置、互联网流传输服务提供装置、三维(3D)视频装置、视频电话视频装置、医疗视频装置等中,并且可用于处理视频信号或数据信号。例如,OTT视频装置可以包括游戏机、蓝光播放器、互联网接入电视、家庭影院系统、智能电话、平板PC、数字录像机(DVR)等。
图27是例示可应用本公开的实施方式的内容流系统的视图。
如图27中所示,应用本公开的实施方式的内容流系统可以主要包括编码服务器、流服务器、网络服务器、媒体存储装置、用户装置和多媒体输入装置。
编码服务器将从诸如智能电话、相机、摄像机等多媒体输入装置输入的内容压缩成数字数据以生成比特流并将该比特流发送到流服务器。作为另一示例,当智能电话、相机、摄像机等多媒体输入装置直接生成比特流时,可以省略编码服务器。
比特流可以由应用本公开的实施方式的图像编码方法或图像编码设备产生,并且流服务器可以在发送或接收比特流的过程中暂时存储比特流。
流服务器基于用户通过网络服务器的请求将多媒体数据发送到用户装置,并且网络服务器用作向用户告知服务的媒介。当用户向网络服务器请求所需的服务时,网络服务器可以将其递送到流服务器,并且流服务器可以向用户发送多媒体数据。在这种情况下,内容流系统可以包括单独的控制服务器。在这种情况下,控制服务器用于控制内容流系统中的装置之间的命令/响应。
流服务器可以从媒体存储装置和/或编码服务器接收内容。例如,当从编码服务器接收内容时,可以实时接收内容。在这种情况下,为了提供平滑的流服务,流服务器可以在预定时间内存储比特流。
用户装置的示例可以包括移动电话、智能电话、膝上型计算机、数字广播终端、个人数字助理(PDA)、便携式多媒体播放器(PMP)、导航设备、板式PC、平板PC、超级本、可穿戴装置(例如,智能手表、智能眼镜、头戴式显示器)、数字电视、台式计算机、数字标牌等。
内容流系统中的各个服务器可以作为分布式服务器运行,在这种情况下,从各个服务器接收的数据可以被分布。
本公开的范围包括用于使根据各种实施方式的方法的操作能够在设备或计算机上执行的软件或机器可执行命令(例如,操作系统、应用、固件、程序等)、具有存储在其上并且可在设备或计算机上执行的此类软件或命令的非暂时性计算机可读介质。
工业实用性
本公开的实施方式可以被用于对图像进行编码或解码。
Claims (15)
1.一种由图像解码设备执行的图像解码方法,所述图像解码方法包括以下步骤:
通过基于预确定的不可分离主变换矩阵对当前块执行逆变换来生成所述当前块的残差块;以及
基于所述残差块重构所述当前块,
其中,所述不可分离主变换矩阵与所述当前块的大小无关地应用于所述当前块的所有变换系数。
2.根据权利要求1所述的图像解码方法,其中,基于多变换选择MTS执行所述逆变换。
3.根据权利要求1所述的图像解码方法,其中,基于所述不可分离主变换矩阵的大小对所述残差块选择性地执行归零。
4.根据权利要求1所述的图像解码方法,
其中,基于所述不可分离主变换矩阵具有正方形大小,不执行归零,并且
其中,基于所述不可分离主变换矩阵具有非正方形大小而对所述残差块中的至少一个残差样本执行所述归零。
5.根据权利要求1所述的图像解码方法,
其中,所述不可分离主变换矩阵是从预确定的不可分离变换集确定的,并且
其中,基于所述当前块的预测模式、大小、像素数量、变换集配置信息、是否执行辅逆变换或量化参数中的至少一个来不同地配置所述不可分离变换集。
6.根据权利要求1所述的图像解码方法,所述图像解码方法还包括以下步骤:
确定所述当前块是否满足预确定的子块逆变换条件;
通过基于满足了所述子块逆变换条件而对所述当前块进行分割来获得多个子块;以及
对所述多个子块中的每一个执行逆变换。
7.根据权利要求6所述的图像解码方法,其中,所述子块逆变换条件包括关于所述当前块的所述大小是否大于第一阈值的第一条件和关于所述当前块的所述大小是否大于第二阈值的第二条件。
8.根据权利要求1所述的图像解码方法,其中,所述不可分离主变换矩阵等于针对第一块的变换矩阵,所述第一块在帧内预测模式或块形状中的至少一个中与所述当前块具有对称性。
9.一种图像解码设备,所述图像解码设备包括存储器和至少一个处理器,
其中,所述至少一个处理器被配置为进行以下操作:
通过基于预确定的不可分离主变换矩阵对当前块执行逆变换来生成所述当前块的残差块;以及
基于所述残差块重构所述当前块,并且
其中,所述不可分离主变换矩阵与所述当前块的大小无关地应用于所述当前块的所有变换系数。
10.一种由图像编码设备执行的图像编码方法,所述图像编码方法包括以下步骤:
通过基于预确定的不可分离主变换矩阵对当前块执行变换来生成所述当前块的变换系数块;以及
基于所述变换系数块对所述当前块进行编码,
其中,所述不可分离主变换矩阵与所述当前块的大小无关地应用于所述当前块的所有残差样本。
11.根据权利要求10所述的图像编码方法,其中,基于多变换选择MTS执行所述变换。
12.根据权利要求10所述的图像编码方法,其中,基于所述不可分离主变换矩阵的大小对所述变换系数块选择性地执行归零。
13.根据权利要求10所述的图像编码方法,
其中,所述不可分离主变换矩阵是从预确定的不可分离变换集确定的,并且
其中,基于所述当前块的预测模式、大小、像素数量、变换集配置信息、是否执行辅逆变换或量化参数中的至少一个来不同地配置所述不可分离变换集。
14.根据权利要求10所述的图像编码方法,所述图像编码方法还包括以下步骤:
确定所述当前块是否满足预确定的子块逆变换条件;
通过基于满足了所述子块逆变换条件而对所述当前块进行分割来获得多个子块;以及
对所述多个子块中的每一个执行所述变换。
15.一种用于存储通过图像编码方法生成的比特流的计算机可读记录介质,所述图像编码方法包括以下步骤:
通过基于预确定的不可分离主变换矩阵对当前块执行变换来生成所述当前块的变换系数块;以及
基于所述变换系数块对所述当前块进行编码,
其中,所述不可分离主变换矩阵与所述当前块的大小无关地应用于所述当前块的所有残差样本。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US63/218,508 | 2021-07-06 | ||
US202163229473P | 2021-08-04 | 2021-08-04 | |
US63/229,473 | 2021-08-04 | ||
PCT/KR2022/009768 WO2023282625A1 (ko) | 2021-07-06 | 2022-07-06 | 비분리 1차 변환에 기반한 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장하는 기록 매체 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117678224A true CN117678224A (zh) | 2024-03-08 |
Family
ID=90086719
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280048106.1A Pending CN117678224A (zh) | 2021-07-06 | 2022-07-06 | 基于不可分离主变换的图像编码/解码方法和设备及存储比特流的存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117678224A (zh) |
-
2022
- 2022-07-06 CN CN202280048106.1A patent/CN117678224A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111742555B (zh) | 对视频信号进行编码/解码的方法及其设备 | |
CN112655216B (zh) | 基于变换的图像编码方法及装置 | |
JP7240476B2 (ja) | 変換に基づく映像コーディング方法及びその装置 | |
CN113940070B (zh) | 基于变换的图像解码和编码方法及发送比特流的方法 | |
JP7482345B2 (ja) | Bdpcmに基づく映像コーディング方法、及びその装置 | |
CN113170197B (zh) | 基于二次变换的图像编码方法及其装置 | |
CN113273214B (zh) | 基于二次变换的图像编码方法及其装置 | |
CN117714716A (zh) | 解码设备、编码设备和发送设备 | |
CN114009023B (zh) | 基于变换的图像编码方法及其装置 | |
CN113302941B (zh) | 基于二次变换的视频编码方法及其装置 | |
CN113228685B (zh) | 用于基于二次变换编码图像的方法及其装置 | |
CN113940074A (zh) | 基于广角帧内预测和变换的图像编码方法和装置 | |
CN117278752A (zh) | 基于变换的图像编译方法及其装置 | |
CN117678224A (zh) | 基于不可分离主变换的图像编码/解码方法和设备及存储比特流的存储介质 | |
JP7490037B2 (ja) | 二次変換に基づく映像コーディング方法、及びその装置 | |
CN115514973B (zh) | 对视频信号进行解码/编码及发送数据的设备 | |
JP2024069684A (ja) | Bdpcmに基づく映像コーディング方法、及びその装置 | |
CN115066904A (zh) | 基于变换的图像编译方法及其装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |