CN115066904A - 基于变换的图像编译方法及其装置 - Google Patents

基于变换的图像编译方法及其装置 Download PDF

Info

Publication number
CN115066904A
CN115066904A CN202180013799.6A CN202180013799A CN115066904A CN 115066904 A CN115066904 A CN 115066904A CN 202180013799 A CN202180013799 A CN 202180013799A CN 115066904 A CN115066904 A CN 115066904A
Authority
CN
China
Prior art keywords
transform
lfnst
current block
block
tree
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
Application number
CN202180013799.6A
Other languages
English (en)
Inventor
具文模
金昇焕
林宰显
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
LG Electronics Inc
Original Assignee
LG Electronics Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by LG Electronics Inc filed Critical LG Electronics Inc
Publication of CN115066904A publication Critical patent/CN115066904A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/18Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a set of transform coefficients
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

根据本文档的图像解码方法包括以下步骤:将LFNST应用于变换系数以便导出修改的变换系数;以及基于修改的变换系数的逆初级变换导出用于目标块的残差样本,其中导出变换系数的步骤包括:基于当前块的树类型以及是否应用LFNST来确定缩放列表是否应用于当前块;以及基于确定结果从残差信息导出用于当前块的变换系数,并且在当前块的树类型为单树和色度分量时,能够应用缩放列表。

Description

基于变换的图像编译方法及其装置
技术领域
本公开涉及图像编译技术,并且更具体地,涉及一种图像编译***中基于变换对图像进行编译的方法和设备。
背景技术
近来在各种领域中对诸如超高清(HUD)图像和4K或8K或更大视频这样的高分辨率且高质量的图像和视频的需求日益增加。随着图像和视频数据变成高分辨率和高质量,与现有图像和视频数据相比,相对发送的信息量或位数增加。因此,如果使用诸如现有有线或无线宽带线这样的介质来传输图像数据或者使用现有存储介质来存储图像和视频数据,则传输成本和存储成本增加。
此外,近来对诸如虚拟现实(VR)、人工现实(AR)内容或全息图这样的沉浸式媒体的兴趣和需求日益增加。诸如游戏图像这样的图像特性与真实图像的图像特性不同的图像和视频的广播日益增加。
因此,为了有效地压缩并传输或存储并回放具有这样的各种特性的高分辨率且高质量的图像和视频的信息,需要高效的图像和视频压缩技术。
发明内容
技术问题
本公开的技术方面是为了提供一种用于增加图像编译效率的方法和设备。
本公开的另一技术方面是提供一种用于增加量化效率的方法和设备。
本公开的又一个技术方面是提供一种用于增加单树类型中的色度分量的量化效率的方法和设备。
技术方案
根据本公开的实施例,提供了一种由解码设备执行的图像解码方法。该方法可以包括:基于从比特流接收的残差信息来导出用于当前块的变换系数,通过将LFNST应用于变换系数来导出修改的变换系数,以及基于用于修改的变换系数的逆初级变换来导出用于目标块的残差样本,其中该变换系数的导出可以包括基于是否应用LFNST和当前块的树类型来确定是否缩放列表被应用于当前块,以及基于确定结果从残差信息导出用于当前块的变换系数,并且在当前块的树类型为单树并且当前块为色度分量时,可以应用缩放列表。
LFNST可以不被应用于当前块的色度分量。
在当前块的树类型为单树并且对当前块执行LFNST时,缩放列表可以不被应用于当前块的亮度分量。
该方法可以进一步包括:接收指示在执行LFNST时缩放列表是否可用的标志信息。
当标志信息指示缩放列表不可用并且LFNST索引大于0时,缩放列表可以不被应用于亮度分量。
当标志信息指示缩放列表不可用并且LFNST索引大于0时,如果当前块的树类型为双树色度,则缩放列表可以不被应用于色度分量。
当标志信息指示缩放列表不可用并且LFNST索引大于0时,如果当前块的树类型为双树亮度,缩放列表可以不被应用于亮度分量。
根据本公开的另一实施例,提供了一种由编码设备执行的图像编码方法。该方法可以包括基于变换过程从当前块的残差样本导出当前块的变换系数,基于在变换过程中是否执行LFNST以及当前块的树类型来确定缩放列表是否应用于当前块,以及基于确定,量化变换系数,其中,在当前块的树类型为单树并且当前块为色度分量时,可以应用缩放列表。
根据本公开的又一实施例,可以提供一种存储图像数据的数字存储介质,该图像数据包括根据由编码设备执行的图像编码方法生成的编码的图像信息和比特流。
根据本公开的又一实施例,可以提供一种数字存储介质,其存储包括编码的图像信息和比特流的图像数据,以使解码设备执行图像解码方法。
有益效果
根据本公开,能够增加整体图像/视频压缩效率。
根据本公开,能够增加量化效率。
根据本公开,能够增加单树类型中的色度分量的量化效率。
能够通过本公开的特定示例获得的效果不限于上面列举的效果。例如,可以存在相关领域的普通技术人员能够理解或从本公开中导出的各种技术效果。因此,本公开的特定效果不限于在本公开中显式地描述的效果,并且能够包括能够从本公开的技术特征理解或导出的各种效果。
附图说明
图1示意性地图示本公开适用于的视频/图像编译***的示例。
图2是示意性地图示本公开适用于的视频/图像编码设备的配置的图。
图3是示意性地图示本公开适用于的视频/图像解码设备的配置的图。
图4示意性地图示根据本文档的实施例的多重变换方案。
图5示例性地示出65个预测方向的帧内方向模式。
图6是用于解释根据本公开的实施例的RST的图。
图7是图示根据示例的将正向初级变换的输出数据排列成一维向量的顺序的图。
图8是图示根据示例的将正向次级变换的输出数据排列成二维块的顺序的图。
图9是图示根据本文档的实施例的广角帧内预测模式的图。
图10是图示应用LFNST的块形状的图。
图11是图示根据示例的正向LFNST的输出数据的排列的图。
图12是图示根据示例的将用于正向LFNST的输出数据的数量限制为最大16的图。
图13是图示根据示例的应用了4x4 LFNST的块中的清零的图。
图14是图示根据示例的应用了8x8 LFNST的块中的清零的图。
图15是图示根据示例的图像解码方法的图。
图16是图示根据示例的图像编码方法的图。
图17图示应用本公开的内容流传输***的结构。
具体实施方式
该文件能够以各种方式修改并且可以具有各种实施例,并且特定的实施例将在附图中图示并详细地描述。然而,这并不旨在将该文件限制于特定实施例。本说明书中通常使用的术语用于描述特定的实施例,而不是用来限制该文件的技术精神。除非在上下文中另外明确表示,否则单数的表述包括复数的表述。该说明书中的诸如“包括”或“具有”这样的术语应该被理解为指示存在本说明书中描述的特性、数字、步骤、操作、元件、组件或其组合,而没有排除存在或添加一个或更多个特性、数字、步骤、操作、元件、组件或其组合的可能性。
此外,为了便于与不同特征功能相关的描述,独立地图示了该文件中描述的附图中的元件。这并不意指各个元件被实现为单独的硬件或单独的软件。例如,至少两个元件可以被组合,以形成单个元件,或者单个元件可以被划分成多个元件。其中元件被组合和/或分开的实施例也被包括在该文件的权利范围内,除非它偏离了该文件的实质。
下文中,参考附图更具体地描述该文件的优选实施例。下文中,在附图中,相同的附图标记被用于相同的元件,并且可以省略对相同元件的冗余描述。
本文件涉及视频/图像编译。例如,本文件中公开的方法/示例可能涉及VVC(Versatile Video Coding,通用视频编译)标准(ITU-T建议书H.266)、VVC之后的下一代视频/图像编译标准、或其他视频编译相关标准(例如,HEVC(High Efficiency VideoCoding,高效视频编译)标准(ITU-T建议书H.265)、EVC(essential video coding,基本视频编译)标准、AVS2标准等)。
在本文件中,可以提供与视频/图像编译有关的各种实施例,并且,除非相反地指定,否则实施例可以被彼此组合并执行。
在本文件中,视频可以意指随时间推移的一系列图像的集合。通常,图片意指表示特定时间区域的图像的单元,并且切片/图块(tile)是构成图片的一部分的单元。切片/图块可以包括一个或更多个编译树单元(CTU)。一个图片可以由一个或更多个切片/图块构成。一个图片可以由一个或更多个图块组构成。一个图块组可以包括一个或更多个图块。
像素或像元(pel)可以意指构成一个图片(或图像)的最小单元。另外,“样本”可以被用作与像素对应的术语。样本通常可以表示像素或像素的值,并且可以仅表示亮度分量的像素/像素值,或仅表示色度分量的像素/像素值。可替选地,样本可以意指空间域中的像素值,或者当这个像素值被转换成频域时,它可以意指频域中的变换系数。
单元可以表示图像处理的基本单元。单元可以包括特定区域和与该区域相关的信息中的至少一个。一个单元可以包括一个亮度块和两个色度(例如,cb、cr)块。根据情况,可以将单元和诸如块、区域等这样的术语互换地使用。在通常情况下,MxN块可以包括由M列和N行组成的样本(或样本阵列)或变换系数的集合(或阵列)。
在本文件中,术语“/”和“,”应该被解释为指示“和/或”。例如,表述“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中的至少一个”。
另外,本公开中使用的括号可以意指“例如”。具体地,当被指示为“预测(帧内预测)”时,这可能意味着将“帧内预测”作为“预测”的示例提出。也就是说,本公开中的“预测”不限于“帧内预测”,并且可以将“帧内预测”作为“预测”的示例提出。另外,当被指示为“预测(即,帧内预测)”时,这也可能意味着将“帧内预测”作为“预测”的示例提出。
在本公开中的一个附图中单独地描述的技术特征可以被单独地实现或者可以被同时地实现。
图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)。在这种情况下,从编译树单元(CTU)或最大编译单元(LCU)开始,可以根据四叉树二叉树三叉树(QTBTTT)结构来递归地分区编译单元。例如,可以基于四叉树结构、二叉树结构和/或三叉树结构将一个编译单元划分成深度更深的多个编译单元。在这种情况下,例如,可以首先应用四叉树结构,随后可以应用二叉树结构和/或三叉树结构。可替选地,可以首先应用二叉树结构。可以基于没有被进一步分区的最终编译单元来执行根据本文件的编译过程。在这种情况下,基于根据图像特性的编译效率,可以将最大编译单元直接用作最终编译单元。可替选地,可以按需要将编译单元递归地分区成深度进一步更深的编译单元,使得可以将最佳大小的编译单元用作最终编译单元。这里,编译过程可以包括随后将描述的诸如预测、变换和重构这样的过程。作为另一示例,处理单元还可以包括预测单元(PU)或变换单元(TU)。在这种情况下,可以从上述的最终编译单元划分或分割预测单元和变换单元。预测单元可以是样本预测的单元,并且变换单元可以是用于导出变换系数的单元和/或用于根据变换系数导出残差信号的单元。
根据情况,可以将单元和诸如块、区域等这样的术语互换地使用。在常规情况下,MxN块可以表示由M列和N行组成的样本或变换系数的集合。样本通常可以表示像素或像素的值,并且可以仅表示亮度分量的像素/像素值,或仅表示色度分量的像素/像素值。样本可以被用作与一个图片(或图像)的像素或pel对应的术语。
减法器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)预测模式或调色板模式以便对块执行预测。IBC预测模式或调色板模式可以被用于游戏等的内容图像/视频编码,诸如屏幕内容编码(SCC)。尽管IBC基本上在当前块中执行预测,但是在当前块中导出参考块的方面能够类似于帧间预测执行。也就是说,IBC可以使用本公开中描述的帧间预测技术中的至少一种。
通过帧间预测器221和/或帧内预测器222生成的预测信号可以用于生成重构信号或者生成残差信号。变换器232可以通过对残差信号应用变换技术来生成变换系数。例如,变换技术可以包括离散余弦变换(DCT)、离散正弦变换(DST)、基于图的变换(GBT)或条件非线性变换(CNT)等。这里,GBT意指当通过图来表示像素之间的关系信息时从图获得的变换。CNT是指基于使用所有先前重构的像素生成的预测信号而获得的变换。另外,变换过程可以被应用于具有相同大小的正方形像素块或者可以被应用于具有可变大小的块而不是正方形块。
量化器233可以对变换系数进行量化并且将它们发送到熵编码器240,并且熵编码器240可以对量化的信号(关于量化的变换系数的信息)进行编码并且在比特流中输出编码的信号。关于量化的变换系数的信息可以被称为残差信息。量化器233可以基于系数扫描顺序将块型量化的变换系数重新布置成一维向量形式,并且基于一维向量形式的量化的变换系数来生成关于量化的变换系数的信息。熵编码器240可以执行各种编码方法,诸如例如指数哥伦布(exponential 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中。各种滤波方法可以包括例如去块滤波、样本自适应偏移、自适应环路滤波、双边滤波等。如稍后在每种滤波方法的描述中讨论的,滤波器260可以生成与滤波有关的各种信息,并且将所生成的信息发送到熵编码器290。关于滤波的信息可以在熵编码器290中被编码并且以比特流的形式输出。
已被发送到存储器270的修改后的重构图片可以被用作帧间预测器280中的参考图片。通过这个,编码设备能够在应用帧间预测时避免编码设备200和解码设备中的预测失配,并且也能够改善编译效率。
存储器270DPB可以存储修改的重构图片以便将它用作帧间预测器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可以基于诸如指数哥伦布编码、CAVLC、CABAC等这样的编码方法来对比特流中的信息进行解码,并且可以输出图像重构所必需的语法元素的值和有关残差的变换系数的量化值。更具体地,CABAC熵解码方法可以接收与比特流中的每个语法元素对应的bin,使用邻近和解码目标块的解码目标语法元素信息和解码信息或在前一个步骤中解码的符号/bin的信息来确定上下文模型,根据所确定的上下文模型来预测bin生成概率并且对bin执行算术解码以生成与每个语法元素值对应的符号。这里,CABAC熵解码方法可以在确定上下文模型之后使用针对下一符号/bin的上下文模型解码的符号/bin的信息来更新上下文模型。在熵解码器310中解码的信息之中关于预测的信息可以被提供给预测器330,并且已在熵解码器310中对其执行了熵解码的关于残差的信息即量化的变换系数以及关联的参数信息可以被输入到解量化器321。此外,在熵解码器310中解码的信息之中关于滤波的信息可以被提供给滤波器350。同时,接收到从编码设备输出的信号的接收器(未示出)可以进一步将解码设备300构成为内部/外部元件,并且接收器可以是熵解码器310的组件。同时,根据本公开的解码设备可以被称为视频/图像/图片编码设备,并且解码设备可以被分类成信息解码器(视频/图像/图片信息解码器)和样本解码器(视频/图像/图片样本解码器)。信息解码器可以包括熵解码器310,并且样本解码器可以包括解量化器321、逆变换器322、预测器330、加法器340、滤波器350以及存储器360中的至少一个。
解量化器321可以通过对量化后的变换系数进行解量化来输出变换系数。解量化器321可以将量化后的变换系数重新布置为二维块的形式。在这种情况下,可以基于已在编码设备中执行的系数扫描的顺序来执行重新布置。解量化器321可以使用量化参数(例如,量化步长信息)对量化后的变换系数执行解量化,并且获得变换系数。
逆变换器322通过对变换系数进行逆变换来获得残差信号(残差块、残差样本阵列)。
预测器可以对当前块执行预测,并且生成包括针对当前块的预测样本的预测块。预测器可以基于从熵解码器310输出的关于预测的信息来确定向当前块应用帧内预测还是帧间预测,并且具体地可以确定帧内/帧间预测模式。
预测器可以基于各种预测方法来生成预测信号。例如,预测器可以应用帧内预测或帧间预测以便对一个块进行预测,并且也可以同时应用帧内预测和帧间预测。这可以被称为组合帧间和帧内预测(CIIP)。另外,预测器可以执行帧内块复制(IBC)以便对块进行预测。帧内块复制可以被用于游戏等的内容图像/视频编译,诸如屏幕内容编译(SCC)。尽管IBC基本上在当前块中执行预测,但是在当前块中导出参考块的方面能够类似于帧间预测执行。也就是说,IBC可以使用本公开中描述的帧间预测技术中的至少一种。
帧内预测器331可以通过参考当前图片中的样本来预测当前块。根据预测模式,所参考的样本可以位于当前块的邻居中或者远离当前块。在帧内预测中,预测模式可以包括多种非定向模式和多种定向模式。帧内预测器331可以通过使用应用于邻近块的预测模式来确定应用于当前块的预测模式。
帧间预测器332可以基于由参考图片上的运动向量指定的参考块(参考样本阵列)来导出当前块的预测块。此时,为了减少在帧间预测模式下发送的运动信息量,可以基于邻近块与当前块之间的运动信息的相关性在块、子块或样本基础上预测运动信息。运动信息可以包括运动向量和参考图片索引。运动信息还可以包括帧间预测方向(L0预测、L1预测、Bi预测等)信息。在帧间预测的情况下,邻近块可以包括存在于当前图片中的空间邻近块和存在于参考图片中的时间邻近块。例如,帧间预测器332可以基于邻近块来配置运动信息候选列表,并且基于接收到的候选选择信息来导出当前块的运动向量和/或参考图片索引。可以基于各种预测模式来执行帧间预测,并且关于预测的信息可以包括指示用于当前块的帧间预测模式的信息。
加法器340可以通过将所获得的残差信号加到从预测器330输出的预测信号(预测块、预测样本阵列)来生成重构信号(重构图片、重构块、重构样本阵列)。当如在应用跳过模式的情况下一样处理目标块没有残差时,可以将预测块用作重构块。
加法器340可以被称为重构器或重构块生成器。所生成的重构信号可以用于当前图片中的要处理的下一块的帧内预测,可以通过如下所述的滤波而输出,或者可以用于下一图片的帧间预测。
此外,亮度映射与色度缩放(LMCS)可以被应用于图片解码处理。
滤波器350可以通过向重构后的信号应用滤波来改善主观/客观图像质量。例如,滤波器350可以通过向重构图片应用各种滤波方法来生成修改后的重构图片,并且将修改后的重构图片存储在存储器360中,具体地,存储在存储器360的DPB中。各种滤波方法可以包括例如去块滤波处理、样本自适应偏移、自适应环路滤波、双边滤波等。
已被存储在存储器360的DPB中的(修改后的)重构图片可以被用作帧间预测器332中的参考图片。存储器360可以存储已从中导出运动信息(或对其进行解码)的当前图片中的块的运动信息和/或已经重构的图片中的块的运动信息。可以将所存储的运动信息发送到帧间预测器260以被用作邻近块的运动信息或时间邻近块的运动信息。存储器360可以存储当前图片中的重构块的重构样本,并且将它们发送到帧内预测器331。
在本说明书中,在解码设备300的预测器330、解量化器321、逆变换器322和滤波器350中描述的示例分别可以被类似地或相应地应用于编码设备200的预测器220、解量化器234、逆变换器235和滤波器260。
如上所述,在执行视频编译时,执行预测以提高压缩效率。可以通过预测生成包括用于当前块的预测样本的预测块,即,目标编译块。在这种情况下,预测块包括空间域(或像素域)中的预测样本。在编码设备和解码设备中同样地导出预测块。编码设备可以通过向解码设备用信号发送关于原始块而非原始块的原始样本值本身与预测块之间的残差的信息(残差信息)来提高图像编译效率。解码设备可以基于残差信息来导出包括残差样本的残差块,可以通过将残差块与预测块相加来生成包括重构样本的重构块,并且可以生成包括重构块的重构图片。
可以通过变换和量化过程来生成残差信息。例如,编码设备可以导出原始块与预测块之间的残差块,可以通过对残差块中所包括的残差样本(残差样本阵列)执行变换过程来导出变换系数,可以通过对变换系数执行量化过程来导出量化变换系数,并且可以(通过比特流)向解码设备用信号发送相关残差信息。在这种情况下,残差信息可以包括诸如值信息、位置信息、变换方案、变换核以及量化变换系数的量化参数这样的信息。解码设备可以基于残差信息执行反量化/逆变换过程,并且可以导出残差样本(或残差块)。解码设备可以基于预测块和残差块来生成重构图片。此外,编码设备可以通过对量化后的变换系数进行反量化/逆变换来导出残差块以供后续图片的帧间预测参考,并且可以生成重构图片。
图4示意性地图示了根据本公开的实施例的多变换技术。
参考图4,变换器可以对应于上述图2的编码设备中的变换器,并且逆变换器可以对应于上述图2的编码设备中的逆变换器,或者对应于图3的解码设备中的逆变换器。
变换器可以通过基于残差块中的残差样本(残差样本阵列)执行初级变换来导出(初级)变换系数(S410)。该初级变换可以被称为核心变换。在本文中,初级变换可以基于多变换选择(MTS),并且当多变换被应用为初级变换时,它可以被称为多核心变换。
多核心变换可以表示附加地使用离散余弦变换(DCT)类型2和离散正弦变换(DST)类型7、DCT类型8和/或DST类型1来变换的方法。也就是说,多核心变换可以表示基于从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可以被称为变换类型、变换核(kernel)或变换核心(core)。可以基于基函数来定义这些DCT/DST类型。
如果执行多核心变换,则可以从变换核之中选择用于目标块的垂直变换核和水平变换核,可以基于垂直变换核来对目标块执行垂直变换,并且可以基于水平变换核来对目标块执行水平变换。这里,水平变换可以表示针对目标块的水平分量的变换,而垂直变换可以表示针对目标块的垂直分量的变换。可以基于包括残差块的目标块(CU或子块)的预测模式和/或变换索引来自适应地确定垂直变换核/水平变换核。
此外,根据一个示例,如果通过应用MTS来执行初级变换,则可以通过将特定基函数设置为预定值并且组合要在垂直变换或水平变换中应用的基函数来设置变换核的映射关系。例如,当将水平变换核表达为trTypeHor并且将垂直方向变换核表达为trTypeVer时,可以将trTypeHor或trTypeVer值0设置为DCT2,可以将trTypeHor或trTypeVer的值1设置为DST-7,以及可以将trTypeHor或trTypeVer的值2设置为DCT-8。
在这种情况下,MTS索引信息可以被编码并用信号发送给解码设备以指示多个变换核集中的任何一个。例如,MTS索引0可以指示trTypeHor和trTypeVer值都为0,MTS索引1可以指示trTypeHor和trTypeVer值都为1,MTS索引2可以指示trTypeHor值为2而trTypeVer值为1,MTS索引3可以指示trTypeHor值为1而trTypeVer值为2,以及MTS索引4可以指示trTypeHor和trTypeVer值都为2。
在一个示例中,根据MTS索引信息的变换核集被图示在下表中。
[表1]
tu_mts_idx[x0][y0] 0 1 2 3 4
trTvpeHor 0 1 2 1 2
trTypeVer 0 1 1 2 2
变换器可以通过基于(初级)变换系数执行次级变换来导出修改的(次级)变换系数(S420)。初级变换是从空间域到频域的变换,而次级变换是指通过使用(初级)变换系数之间存在的相关性以更压缩的表达来进行变换。次级变换可以包括不可分离变换。在这种情况下,次级变换可以被称为不可分离次级变换(NSST)或模式相关不可分离次级变换(MDNSST)。不可分离次级变换可以表示通过基于不可分离变换矩阵对通过初级变换导出的(初级)变换系数进行次级变换来为残差信号生成修改的变换系数(或次级变换系数)。此时,可以不对(初级)变换系数单独地应用垂直变换和水平变换(或者可能不独立地应用水平变换和垂直变换),而是可以基于不可分离变换矩阵一次性应用变换。换句话说,不可分离次级变换可以表示一种变换方法,在这样的变换方法中不针对(初级)变换系数的垂直方向和水平方向分开地应用,并且例如,二维信号(变换系数)通过某个确定的方向(例如,行优先方向或列优先方向)被重新布置为一维信号,然后基于不可分离变换矩阵来生成修改的变换系数(或次级变换系数)。例如,根据行优先顺序,M×N个块以第一行、第二行、…和第N行的顺序设置成一行。根据列优先顺序,M×N个块以第一列、第二列、…和第N列的顺序设置成一行。不可分离次级变换可以被应用于配置有(初级)变换系数的块(在下文中,可以被称为变换系数块)的左上区域。例如,如果变换系数块的宽度(W)和高度(H)全部等于或大于8,则可以对变换系数块的左上8×8区域应用8×8不可分离次级变换。此外,如果变换系数块的宽度(W)和高度(H)全部等于或大于4,并且变换系数块的宽度(W)或高度(H)小于8,则可以对变换系数块的左上min(8,W)×min(8,H)区域应用4×4不可分离次级变换。然而,该实施例不限于此,并且例如,即使满足仅变换系数块的宽度(W)或高度(H)等于或大于4的条件,也可以将4×4不可分离次级变换应用于变换系数块的左上min(8,W)×min(8,H)区域。
具体地,例如,如果使用4×4输入块,则不可分离的次级变换可以如下执行。
4×4输入块X可以表示如下。
[式1]
Figure BDA0003790746510000211
如果X以向量的形式表示,则向量
Figure BDA0003790746510000212
可以如下表示。
[式2]
Figure BDA0003790746510000221
在式2中,向量
Figure BDA0003790746510000222
是通过根据行优先顺序重新排列式1的二维块X而获得的一维向量。
在这种情况下,可以如下计算不可分离的次级变换。
[式3]
Figure BDA0003790746510000223
在此式中,
Figure BDA0003790746510000224
表示变换系数向量,并且T表示16×16(不可分离的)变换矩阵。
通过前述式3,可以导出16×1变换系数向量
Figure BDA0003790746510000225
并且可以通过扫描顺序(水平、垂直和对角线等)将向量
Figure BDA0003790746510000226
重新组织为4×4块。然而,上述计算是示例,并且超立方体-吉文斯变换(hypercube-Givens transform,HyGT)等也可以用于不可分离的次级变换的计算,以便降低不可分离的次级变换的计算复杂度。
此外,在不可分离的次级变换中,可以将变换核(或变换核心、变换类型)选择为模式相关。在这种情况下,模式可以包括帧内预测模式和/或帧间预测模式。
如上所述,可以基于以变换系数块的宽度(W)和高度(H)为基础确定的8×8变换或4×4变换来执行不可分离的次级变换。8×8变换是指当W和H二者都等于或大于8时可应用于变换系数块中包含的8×8区域的变换,并且8×8区域可以是变换系数块中的左上8×8区域。类似地,4×4变换是指当W和H二者都等于或大于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。
变换集可以被称为NSST集或LFNST集。可以例如基于当前块(CU或子块)的帧内预测模式来选择变换集之中的特定集。低频不可分离的变换(LFNST)可以是缩减不可分离的变换的示例,其将稍后描述,并且表示用于低频分量的不可分离的变换。
作为参考,例如,帧内预测模式可以包括两个非定向(或非角度)帧内预测模式和65个定向(或角度)帧内预测模式。非定向帧内预测模式可以包括0号的平面帧内预测模式和1号的DC帧内预测模式,并且定向帧内预测模式可以包括2号至66号的65个帧内预测模式。然而,这是示例,并且即使帧内预测模式的数量不同也可以应用本文档。此外,在一些情况下,还可以使用67号帧内预测模式,并且67号帧内预测模式可以表示线性模型(LM)模式。
图5示意性地示出了65个预测方向的帧内定向模式。
参考图5,基于具有左上对角预测方向的帧内预测模式34,帧内预测模式可以划分为具有水平方向性的帧内预测模式和具有垂直方向性的帧内预测模式。在图5中,H和V分别表示水平方向性和垂直方向性,并且数字-32至32指示样本网格位置上的1/32单位的位移。这些数字可以表示对于模式索引值的偏移。帧内预测模式2至33具有水平方向性,并且帧内预测模式34至66具有垂直方向性。严格地说,帧内预测模式34可以被视为既不是水平的也不是垂直的,但在确定次级变换的变换集时可以被分类为属于水平方向性。这是因为输入数据被转置以用于基于帧内预测模式34对称的垂直定向模式,并且针对水平模式的输入数据对准方法用于帧内预测模式34。对输入数据进行转置意指将二维的M×N块数据的行和列切换成N×M数据。帧内预测模式18和帧内预测模式50可以分别表示水平帧内预测模式和垂直帧内预测模式,并且帧内预测模式2可以被称为右上对角帧内预测模式,因为帧内预测模式2具有左参考像素并且在右上方向中执行预测。类似地,帧内预测模式34可以被称为右下对角帧内预测模式,而帧内预测模式66可以被称为左下对角帧内预测模式。
根据示例,可以映射根据帧内预测模式的四个变换集,例如,如下表所示。
[表2]
predModeIntra lfnstTrSetIdx
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
如表2所示,根据帧内预测模式,四个变换集中的任何一个,即,lfnstTrSetIdx,可以映射到四个索引(即,0至3)中的任何一个。
当确定特定集用于不可分离的变换时,可以通过不可分离的次级变换索引来选择特定集中的k个变换核之一。编码设备可以基于率失真(RD)校验来导出指示特定变换核的不可分离的次级变换索引,并且可以将不可分离的次级变换索引用信号发送给解码设备。解码设备可以基于不可分离的次级变换索引来选择特定集中的k个变换核中的一个。例如,lfnst索引值0可以指代第一不可分离的次级变换核,lfnst索引值1可以指代第二不可分离的次级变换核,lfnst索引值2可以指代第三不可分离的次级变换核。另选地,lfnst索引值0可以指示第一不可分离的次级变换没有被应用于目标块,并且lfnst索引值1至3可以指示三个变换核。
变换器可以基于所选择的变换核来执行不可分离的次级变换,并且可以获得修改的(次级)变换系数。如上所述,修改的变换系数可以被导出为通过量化器量化的变换系数,并且可以被编码并用信号发送给解码设备,并且被传送到编码设备中的解量化器/逆变换器。
此外,如上所述,如果省略了次级变换,则可以将作为初级(可分离的)变换的输出的(初级)变换系数导出为如上所述通过量化器量化的变换系数,并且可以被编码并用信号发送给解码设备,并传送到编码设备中的解量化器/逆变换器。
逆变换器可以与在上述变换器中已经执行的顺序相反的顺序执行一系列过程。逆变换器可以接收(解量化的)变换系数,并且通过执行次级(逆)变换来导出(初级)变换系数(S450),并且可以通过对(初级)变换系数执行初级(逆)变换来获得残差块(残差样本)(S460)。就此而言,从逆变换器的视角来看,初级变换系数可以被称为修改的变换系数。如上所述,编码设备和解码设备可以基于残差块和预测块来生成重构块,并且可以基于重构块来生成重构图片。
解码设备可以进一步包括次级逆变换应用确定器(或用于确定是否应用次级逆变换的元件)和次级逆变换确定器(或用于确定次级逆变换的元件)。次级逆变换应用确定器可以确定是否应用次级逆变换。例如,次级逆变换可以是NSST、RST或LFNST,并且次级逆变换应用确定器可以基于通过解析比特流而获得的次级变换标志来确定是否应用次级逆变换。在另一示例中,次级逆变换应用确定器可以基于残差块的变换系数来确定是否应用次级逆变换。
次级逆变换确定器可以确定次级逆变换。在这种情况下,次级逆变换确定器可以基于根据帧内预测模式指定的LFNST(NSST或RST)变换集来确定应用于当前块的次级逆变换。在实施例中,可以取决于初级变换确定方法来确定次级变换确定方法。可以根据帧内预测模式来确定初级变换和次级变换的各种组合。此外,在示例中,次级逆变换确定器可以基于当前块的大小来确定应用次级逆变换的区域。
此外,如上所述,如果省略次级(逆)变换,则可以接收(解量化的)变换系数,可以执行初级(可分离的)逆变换,并且可以获得残差块(残差样本)。如上所述,编码设备和解码设备可以基于残差块和预测块来生成重构块,并且可以基于重构块来生成重构图片。
此外,在本公开中,可以在NSST的概念中应用其中减小了变换矩阵(核)的大小的缩减次级变换(RST),以便减少不可分离的次级变换所需的计算量和存储量。
此外,本公开中描述的变换核、变换矩阵以及构成变换核矩阵的系数,即,核系数或矩阵系数,能够以8比特来表示。这可以是在解码设备和编码设备中实现的条件,并且与现有的9比特或10比特相比,可以减少存储变换核所需的存储量,并且可以合理地适应性能劣化。另外,以8比特表示核矩阵可以允许使用小的乘法器,并且可以更适合于用于最佳软件实现的单指令多数据(SIMD)指令。
在本说明书中,术语“RST”可以是指基于大小根据缩减因子而减小的变换矩阵来对目标块的残差样本执行的变换。在执行缩减变换的情况下,由于变换矩阵的大小的减小,可以减少变换所需的计算量。也就是说,RST可以用于解决在大小大的块的变换或不可分离的变换时发生的计算复杂性问题。
RST可以被称为诸如缩减变换、缩减次级变换、缩小变换、简化变换和简单变换等之类的各种术语,并且RST可以被称为的名称不限于所列示例。另选地,由于RST主要在变换块中的包括非零系数的低频区域中执行,因此它可以被称为低频不可分离的变换(LFNST)。变换索引可以被称作LFNST索引。
同时,当基于RST执行次级逆变换时,编码设备200的逆变换器235和解码设备300的逆变换器322可以包括基于变换系数的逆RST导出修改的变换系数的逆缩减次级变换器,以及基于对修改的变换系数的逆初级变换导出用于目标块的残差样本的逆初级变换器。逆初级变换是指应用于残差的初级变换的逆变换。在本公开中,基于变换导出变换系数可以是指通过应用变换来导出变换系数。
图6是图示根据本公开的实施例的RST的图。
在本公开中,“目标块”可以指代要编码的当前块、残差块或变换块。
在根据示例的RST中,可以将N维向量映射到位于另一个空间中的R维向量,使得可以确定缩减变换矩阵,其中R小于N。N可以是指应用了变换的块的侧边的长度的平方,或与应用了变换的块相对应的变换系数的总数,并且缩减因子可以是指R/N值。缩减因子可以被称为缩减因子、缩小因子、简化因子、简单因子或其他各种术语。此外,R可以被称为缩减系数,但是根据情况,缩减因子可以是指R。此外,根据情况,缩减因子可以是指N/R值。
在示例中,可以通过比特流来用信号发送缩减因子或缩减系数,但是示例不限于此。例如,可以在编码设备200和解码设备300中的每个中存储针对缩减因子或缩减系数的预定义值,并且在这种情况下,可以不单独用信号发送缩减因子或缩减系数。
根据示例的缩减变换矩阵的大小可以是小于N×N(常规变换矩阵的大小)的R×N,并且可以如下面的式4所限定。
[式4]
Figure BDA0003790746510000281
图6(a)中所示的缩减变换块中的矩阵T可以是指式4的矩阵TR×N。如图6(a)所示,当将缩减变换矩阵TR×N乘以用于目标块的残差样本时,可以导出用于当前块的变换系数。
在示例中,如果应用了变换的块的大小是8×8并且R=16(即,R/N=16/64=1/4),则根据图6(a)的RST可以被表示为以下式5所示的矩阵运算。在这种情况下,存储和乘法计算可以通过缩减因子缩减至大约1/4。
在本公开中,矩阵运算可以理解为通过将列向量与设置在列向量的左侧的矩阵相乘来获得列向量的运算。
[式5]
Figure BDA0003790746510000282
在式5中,r1至r64可以表示用于目标块的残差样本,并且具体地可以是通过应用初级变换而生成的变换系数。作为式5的计算的结果,可以导出目标块的变换系数ci,并且导出ci的过程可以如式6所示。
[式6]
Figure BDA0003790746510000291
作为式6的计算的结果,可以导出目标块的变换系数c1至cR。也就是说,当R=16时,可以导出目标块的变换系数c1至c16。如果应用常规变换而不是RST,并将64×64(N×N)大小的变换矩阵与64×1(N×1)大小的残差样本相乘,则尽管针对目标块导出了64(N)个变换系数,但因为应用了RST因此针对目标块仅导出16(R)个变换系数。由于用于目标块的变换系数的总数从N缩减到R,所以编码设备200向解码设备300发送的数据量减少,因此编码设备200与解码设备300之间的传输效率可以提高。
当从变换矩阵的大小的视角考虑时,常规变换矩阵的大小为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矩阵TN×R的大小是小于常规逆变换矩阵N×N的大小的N×R,并且与式4中所示的缩减变换矩阵TR×N具有转置关系。
图6(b)所示的缩减逆变换块中的矩阵Tt可以是指逆RST矩阵TN×R T(上标T是指转置)。如图6(b)所示,当将逆RST矩阵TRxN T乘以目标块的变换系数时,可以导出目标块的修改的变换系数或目标块的残差样本。逆RST矩阵TRxN T可以表示为(TRxN T)NxR
更具体地,当逆RST被用作次级逆变换时,当逆RST矩阵TRxN T被乘以目标块的变换系数时,可以导出目标块的修改的变换系数。此外,可以将逆RST用作逆初级变换,并且在这种情况下,当将逆RST矩阵TRxN T与目标块的变换系数相乘时,可以导出目标块的残差样本。
在示例中,如果应用逆变换的块的大小是8×8并且R=16(即,R/N=16/64=1/4),则根据图6(b)的RST可以被表示为以下式7所示的矩阵运算。
[式7]
Figure BDA0003790746510000301
在式7中,c1至c16可以表示目标块的变换系数。作为式7的计算的结果,可以导出表示目标块的修改的变换系数或目标块的残差样本的ri,并且导出ri的过程可以如式8所示。
[式8]
Figure BDA0003790746510000311
作为式8的计算的结果,可以导出表示目标块的修改的变换系数或目标块的残差样本的r1至rN。从逆变换矩阵的大小的视角考虑,常规逆变换矩阵的大小为64×64(N×N),但逆缩减变换矩阵的大小缩减为64×16(R×N),因此与执行常规逆变换的情况相比,执行逆RST的情况下的存储使用率可以减小R/N比率。另外,当与使用常规逆变换矩阵的情况下的乘法计算的数量N×N相比时,使用逆缩减变换矩阵可以将乘法计算的数量(N×R)减少R/N比率。
表2所示的变换集配置也可以应用于8×8RST。也就是说,可以根据表2中的变换集来应用8×8RST。由于根据帧内预测模式,一个变换集包括两个或三个变换(核),因此可以配置为选择包括在不应用次级变换的情况下在内的至多四个变换中的一个。在不应用次级变换的变换中,可以考虑应用恒等矩阵(identity matrix)。假设分别将索引0、1、2和3分配给四个变换(例如,可以将索引0分配给应用恒等矩阵的情况,即,不应用次级变换的情况),可以针对每个变换系数块用信号发送作为语法元素的变换索引或lfnst索引,由此指定要应用的变换。也就是说,针对左上8×8块,通过变换索引,可以指定RST配置中的8×8NSST,或者当应用LFNST时可以指定8×8lfnst。8×8lfnst和8×8RST指代当要变换的目标块的W和H均等于或大于8时可应用于变换系数块中包括的8×8区域的变换,并且8×8区域可以是变换系数块中的左上8×8区域。类似地,4×4lfnst和4×4RST指代当目标块的W和H均等于或大于4时可应用于变换系数块中包括的4×4区域的变换,并且4×4区域可以是变换系数块中的左上4×4区域。
根据本公开的实施例,对于编码过程中的变换,可以仅选择48条数据,并且可以向其应用最大16×48变换核矩阵,而不是将16×64变换核矩阵应用于形成8×8区域的64条数据。此处,“最大”意味着m在m×48变换核矩阵中具有最大值16以用于生成m个系数。也就是说,当通过将m×48变换核矩阵(m≤16)应用于8×8区域来执行RST时,48条数据被输入,并且生成m个系数。当m是16时,48条数据被输入并且生成16个系数。也就是说,假设48条数据形成48×1向量,16×48矩阵和48×1向量依次相乘,由此生成16×1向量。这里,形成8×8区域的48条数据可以被适当地排列,由此形成48×1向量。例如,可以基于构成8×8区域之中的除了右下4×4区域之外的区域的48条数据来构造48×1向量。这里,当通过应用最大16×48变换核矩阵来执行矩阵运算时,生成16个修改的变换系数,并且可以根据扫描顺序将16个修改的变换系数排列在左上4×4区域中,并且可以用零填充右上4×4区域和左下4×4区域。
对于解码过程中的逆变换,可以使用前述变换核矩阵的转置矩阵。也就是说,当在由解码设备执行的逆变换过程中执行逆RST或LFNST时,根据预定排列顺序在一维向量中配置应用逆RST的输入系数数据,并且通过将一维向量与在一维向量左侧的对应的逆RST矩阵相乘而获得的修改的系数向量可以根据预定排列顺序被排列到二维块中。
总之,在变换过程中,当RST或LFNST被应用于8×8区域时,在8×8区域的除了右下区域之外的左上区域、右上区域和左下区域中的48个变换系数与16×48变换核矩阵的矩阵运算。对于矩阵运算,以一维阵列输入48个变换系数。当执行矩阵运算时,导出16个修改的变换系数,并且可以将修改的变换系数排列于8×8区域的左上区域中。
相反,在逆变换过程中,当将逆RST或LFNST应用于8×8区域时,可以根据扫描顺序以一维阵列输入8×8区域中的变换系数之中的对应于8×8区域的左上区域的16个变换系数,并且可以经历与48×16变换核矩阵的矩阵运算。也就是说,矩阵运算可以表示为(48×16矩阵)*(16×1变换系数向量)=(48×1修改的变换系数向量)。这里,n×1向量可以被解释为具有与n×1矩阵相同的含义,并且因此可以被表示为n×1列向量。此外,*表示矩阵乘法。当执行矩阵运算时,可以导出48个修改的变换系数,并且可以将48个修改的变换系数排列在8×8区域中的除了右下区域之外的左上区域、右上区域和左下区域中。
当次级逆变换基于RST时,编码设备200的逆变换器235和解码设备300的逆变换器322可以包括:逆缩减次级变换器,用于对变换系数基于逆RST导出修改的变换系数;以及逆初级变换器,用于对修改的变换系数基于逆初级变换导出用于目标块的残差样本。逆初级变换是指应用于残差的初级变换的逆变换。在本公开中,基于变换导出变换系数可以是指通过应用变换来导出变换系数。
上面描述的不可分离的变换(LFNST)将如下详细描述。LFNST可以包括由编码设备进行的正向变换和由解码设备进行的逆变换。
编码设备接收在应用初级(核心)变换之后导出的结果(或结果的一部分)作为输入,并且应用正向次级变换(次级变换)。
[式9]
y=GTx
在式9中,x和y分别是次级变换的输入和输出,G是表示次级变换的矩阵,并且变换基向量由列向量组成。在逆LFNST的情况下,当变换矩阵G的维度表示为[行的数量×列的数量]时,在正向LFNST的情况下,矩阵G的转置变成GT的维度。
对于逆LFNST,矩阵G的维度是[48×16]、[48×8]、[16×16]、[16×8],并且[48×8]矩阵和[16×8]矩阵是分别从[48×16]矩阵和[16×16]矩阵的左侧采样的8个变换基向量的部分矩阵。
另一方面,对于正向LFNST,矩阵GT的维度是[16×48]、[8×48]、[16×16]、[8×16],并且[8×48]矩阵和[8×16]矩阵是通过分别从[16×48]矩阵和[16×16]矩阵的上部采样8个变换基向量而获得的部分矩阵。
因此,在正向LFNST的情况下,[48×1]向量或[16×1]向量可以作为输入x,并且[16×1]向量或[8×1]向量可以作为输出y。在视频编译和解码中,正向初级变换的输出是二维(2D)数据,因此为了构造[48×1]向量或[16×1]向量作为输入x,需要通过将作为正向变换的输出的2D数据适当地排列来构造一维向量。
图7是图示根据示例的将正向初级变换的输出数据排列成一维向量的顺序的图。图7的(a)和(b)的左图示出了用于构造[48×1]向量的顺序,并且图7的(a)和(b)的右图示出了用于构造[16×1]向量的顺序。在LFNST的情况下,可以通过将2D数据按与图7的(a)和(b)中相同的顺序来按序排列来获得一维向量x。
可以根据当前块的帧内预测模式确定正向初级变换的输出数据的排列方向。例如,在当前块的帧内预测模式相对于对角线方向处于水平方向时,可以按图7的(a)的顺序排列正向初级变换的输出数据,并且在当前块的帧内预测模式相对于对角线方向处于垂直方向时,可以按图7的(b)的顺序排列正向初级变换的输出数据。
根据示例,可以应用不同于图7的(a)和(b)的排列顺序,并且为了导出与应用图7的(a)和(b)的排列顺序时相同的结果(y向量),可以根据排列顺序重新排列矩阵G的列向量。也就是说,可以重新排列G的列向量,使得构成x向量的每个元素总是乘以相同的变换基向量。
由于通过式9导出的输出y是一维向量,因此当在使用正向次级变换的结果作为输入的过程中(例如,在执行量化或残差编译的过程中)需要二维数据作为输入数据时,式9的输出y向量需要再次被适当地排列为2D数据。
图8是图示根据示例的将正向次级变换的输出数据排列成二维块的顺序的图。
在LFNST的情况下,输出值可以根据预定扫描顺序排列在2D块中。图8的(a)示出了当输出y是[16×1]向量时,根据对角线扫描顺序将输出值排列在2D块的16个位置。图8的(b)示出了当输出y是[8×1]向量时,根据对角线扫描顺序将输出值排列在2D块的8个位置,并且用零填充其余的8个位置。图8的(b)中的X指示它被填充有零。
根据另一示例,由于可以预设在执行量化或残差编译时处理输出向量y的顺序,因此输出向量y可以不排列在如图8中所示的2D块中。然而,在残差编译的情况下,可以在2D块(例如,4×4)单元(例如,CG(系数组))中执行数据编译,并且在此情况下,根据如图8的对角线扫描顺序中的特定顺序来排列数据。
同时,解码设备可以通过根据用于逆变换的预设扫描顺序来排列通过解量化过程输出的二维数据来配置一维输入向量y。输入向量y可以通过下式输出为输出向量x。
[式10]
x=Gy
在逆LFNST的情况下,可以通过将作为[16×1]向量或[8×1]向量的输入向量y乘以G矩阵来导出输出向量x。对于逆LFNST,输出向量x可以是[48×1]向量或[16×1]向量。
输出向量x根据图7中所示的顺序排列在二维块中,并且被排列为二维数据,并且该二维数据成为逆初级变换的输入数据(或输入数据的一部分)。
因此,逆次级变换整体上是正向次级变换过程的相反,并且在逆变换的情况下,与在正向方向中不同,首先应用逆次级变换,然后应用逆初级变换。
在逆LFNST中,可以选择8个[48×16]矩阵和8个[16×16]矩阵中的一个作为变换矩阵G。是否应用[48×16]矩阵或[16×16]矩阵取决于块的大小和形状。
另外,可以从如上表2所示的四个变换集中导出8个矩阵,并且每个变换集可以由两个矩阵组成。根据帧内预测模式确定在4个变换集之中使用哪个变换集,并且更具体地,基于通过考虑广角帧内预测(WAIP)而扩展的帧内预测模式的值来确定变换集。通过索引信令来导出从构成所选择的变换集的两个矩阵之中选择哪个矩阵。更具体地,0、1和2可以作为发送的索引值,0可以指示不应用LFNST,并且1和2可以指示构成基于帧内预测模式值选择的变换集的两个变换矩阵中的任何一个。
图9是图示根据本文档的实施例的广角帧内预测模式的图。
一般帧内预测模式值可以具有从0到66以及从81到83的值,并且由于WAIP而扩展的帧内预测模式值可以具有所示的从-14到83的值。从81到83的值指示CCLM(跨分量线性模型)模式,并且从-14到-1的值和从67到80的值指示由于WAIP应用而扩展的帧内预测模式。
在预测当前块的宽度大于高度时,上参考像素通常更接近要预测的块内部的位置。因此,在左下方向中比在右上方向中进行预测可以更准确。相反,当块的高度大于宽度时,左参考像素通常更接近要预测的块内部的位置。因此,在右上方向中比在左下方向中进行预测可以更准确。因此,将重映射(即,模式索引修改)应用到广角帧内预测模式的索引可以是有利的。
当应用广角帧内预测时,关于现有帧内预测的信息可以被用信号发送,并且在信息被解析之后,该信息可以被重映射到广角帧内预测模式的索引。因此,可以不改变用于特定块(例如,特定大小的非正方形块)的帧内预测模式的总数量,也就是说,帧内预测模式的总数量是67,并且可以不改变用于特定块的帧内预测模式编译。
下表3示出了通过将帧内预测模式重映射到广角帧内预测模式来导出修改的帧内模式的过程。
[表3]
Figure BDA0003790746510000371
在表3中,扩展的帧内预测模式值最终存储在predModeIntra变量中,并且ISP_NO_SPLIT指示CU块不通过当前在VVC标准中采用的帧内子分区(ISP)技术划分成子分区,并且0、1和2的cIdx变量值分别指示亮度分量、Cb分量和Cr分量的情况。表3所示的log2函数返回以2为底的log值,并且Abs函数返回绝对值。
指示帧内预测模式的变量predModeIntra以及变换块的高度和宽度等用作广角帧内预测模式映射过程的输入值,并且输出值是修改的帧内预测模式predModeIntra。变换块或编译块的高度和宽度可以是用于帧内预测模式的重映射的当前块的高度和宽度。此时,反映宽度与宽度的比率的变量whRatio可以被设置为Abs(Log2(nW/nH))。
对于非正方形块,帧内预测模式可以划分成两种情况并且被修改。
首先,如果条件(1)至(3)全部被满足,(1)当前块的宽度大于高度、(2)在修改之前的帧内预测模式等于或大于2、以及(3)帧内预测模式在变量whRatio大于1时小于从(8+2*whRatio)导出的值并且在变量whRatio小于或等于1时小于8[predModeIntra小于(whRatio>1)?(8+2*whRatio):8],则帧内预测模式被设置为比帧内预测模式大65的值[predModeIntra被设置为等于(predModeIntra+65)]。
如果与以上不同,即,如果以下条件(1)至(3)被满足,(1)当前块的高度大于宽度、(2)在修改之前的帧内预测模式小于或等于66、以及(3)帧内预测模式在变量whRatio大于1时大于从(60-2*whRatio)导出的值并且在变量whRatio小于或等于1时大于60[predModeIntra大于(whRatio>1)?(60-2*whRatio):60],则帧内预测模式被设置为比帧内预测模式小67的值[predModeIntra被设置为等于(predModeIntra-67)]。
上表2示出了如何在LFNST中基于由WAIP扩展的帧内预测模式值选择变换集。如图9所示,模式14到33和模式35到80关于模式34周围的预测方向对称。例如,模式14和模式54关于对应于模式34的方向是对称的。因此,相同的变换集应用于位于相互对称的方向中的模式,并且这种对称性也反映在表2中。
同时,假设模式54的正向LFNST输入数据与模式14的正向LFNST输入数据对称。例如,对于模式14和模式54,根据图7的(a)和图7的(b)所示的排列顺序将二维数据重新排列为一维数据。另外,可以看出,图7的(a)和图7的(b)所示的顺序的图案关于由模式34指示的方向(对角线方向)是对称的。
同时,如上所述,由变换目标块的大小和形状来确定将[48×16]矩阵和[16×16]矩阵中的哪个变换矩阵应用于LFNST。
图10是图示LFNST被应用于的块形状的图。图10的(a)示出了4×4块,(b)示出了4×8块和8×4块,(c)示出了4×N块或N×4块,其中N为16或更大,(d)示出了8×8块,(e)示出了M×N块,其中M≥8、N≥8并且N>8或M>8。
在图10中,具有厚边界的块指示LFNST被应用到的区域。对于图10(a)和(b)的块,LFNST被应用于左上4×4区域,并且对于图10(c)的块,LFNST被单独地应用于被连续排列的两个左上4×4区域。在图10的(a)、(b)和(c)中,由于LFNST以4×4区域为单位被应用,所以该LFNST在下文中将被称为“4×4LFNST”。可以基于用于式9和式10的G的矩阵维度应用[16×16]或[16×8]矩阵。
更具体地,[16×8]矩阵被应用到图10的(a)的4×4块(4×4TU或4×4CU),并且[16×16]矩阵被应用到图10的(b)和(c)中的块。这是为了将最坏情况的计算复杂度调整为每样本8次乘法。
关于图10的(d)和(e),LFNST被应用于左上8×8区域,并且该LFNST在下文中被称为“8×8LFNST”。作为对应的变换矩阵,可以应用[48×16]矩阵或[48×8]矩阵。在正向LFNST的情况下,由于[48×1]向量(式9中的X向量)作为输入数据被输入,所以不是左上8×8区域的所有样本值都被用作正向LFNST的输入值。也就是说,如可以从图7(a)的左侧顺序或图7(b)的左侧顺序看出的,可以在将右下4×4块原样留下的同时基于属于其余3个4×4块的样本来构造[48×1]向量。
[48×8]矩阵可以应用于图10(d)中的8×8块(8×8TU或8×8CU),并且[48×16]矩阵可以应用于图10(e)中的8×8块。这也是为了将最坏情况的计算复杂度调整为每样本8次乘法。
取决于块形状,当对应的正向LFNST(4×4或8×8LFNST)被应用时,生成8或16个输出数据(式9中的Y向量,[8×1]或[16×1]向量)。在正向LFNST中,由于矩阵GT的特性,输出数据的数量等于或小于输入数据的数量。
图11是图示根据示例的正向LFNST的输出数据的排列的图,并且示出了其中根据块形状排列正向LFNST的输出数据的块。
在图11所示的块的左上的阴影区域对应于正向LFNST的输出数据所位于的区域,用0标记的位置指示填充有0值的样本,并且其余区域表示未被正向LFNST改变的区域。在未被LFNST改变的区域中,正向初级变换的输出数据保持不变。
如上所述,由于所应用的变换矩阵的维度根据块的形状而变化,因此输出数据的数量也变化。如图11,正向LFNST的输出数据可能不完全填充左上4×4块。在图11的(a)和(d)的情况下,将[16×8]矩阵和[48×8]矩阵分别应用于由粗线指示的块或块内部的部分区域,并且生成作为正向LFNST的输出的[8×1]向量。也就是说,根据图8的(b)所示的扫描顺序,可以仅填充8个输出数据,如图11的(a)和(d)所示,并且可以在其余的8个位置中填充0。在图10(d)的LFNST应用的块的情况下,如图11(d)所示,与左上4×4块相邻的右上和左下的两个4×4块也被填充有0值。
如上所述,基本上,通过用信号发送LFNST索引,指定了是否应用LFNST和要应用的变换矩阵。如图11所示,当LFNST被应用时,由于正向LFNST的输出数据的数量可以等于或小于输入数据的数量,所以出现如下填充有零值的区域。
1)如图11的(a)所示,左上4×4块中的扫描顺序上的从第八个位置后面的位置的样本,即,从第九到第十六的样本。
2)如图11的(d)和(e)中所示,当应用[48×16]矩阵或[8×8]矩阵时,与左上4×4块相邻的两个4×4块或者扫描顺序上的第二和第三4×4块。
因此,如果通过检查区域1)和2)存在非零数据,则确定未应用LFNST,使得可以省略相应LFNST索引的信令。
同时,对于采用的LFNST,可以应用以下简化方法。
(i)根据示例,正向LFNST的输出数据的数量可以被限于最多16。
在图10的(c)的情况下,4×4LFNST可以分别应用于与左上相邻的两个4×4区域,并且在这种情况下,可以生成最多32个LFNST输出数据。当正向LFNST的输出数据的数量被限制为最多16时,在4×N/N×4(N≥16)块(TU或CU)的情况下,4×4LFNST仅应用于左上的一个4×4区域,LFNST可以仅应用于图10的所有块一次。通过此,可以简化图像编译的实现方式。
图12示出根据示例的将用于正向LFNST的输出数据的数量限制为最多16。如图12,当将LFNST应用于其中N为16或更大的4xN或Nx4块中的最左上4x4区域时,正向LFNST的输出数据变为16个。
(ii)根据示例,清零可以被附加地应用到未对其应用LFNST的区域。在本文档中,清零可以表示用为0的值填充属于特定区域的所有位置。也就是说,可以将清零应用于未由于LFNST而改变并且维持正向初级变换的结果的区域。如上所述,由于LFNST被划分为4×4LFNST和8×8LFNST,所以清零可以如下划分为两种类型((ii)-(A)和(ii)-(B))。
(ii)-(A)当应用4×4LFNST时,未对其应用4×4LFNST的区域可以被清零。图13是图示根据示例的对其应用4×4LFNST的块中的清零的图。
如图13所示,关于对其应用了4×4LFNST的块,即,对于图11的(a)、(b)和(c)中的所有块,未对其应用LFNST的整个区域可以用零填充。
另一方面,图13的(d)示出当如图12中所示正向LFNST的输出数据的数量的最大值被限制为16时,对未对其应用4×4LFNST的其余块执行清零。
(ii)-(B)当应用8×8LFNST时,未应用8×8LFNST的区域可以被清零。图14是图示根据示例的应用8×8LFNST的块中的清零的图。
如图14所示,关于应用8×8LFNST的块,即,对于图11的(d)和(e)中的所有块,LFNST未被应用到的整个区域可以用零填充。
(iii)由于以上(ii)中呈现的清零,当LFNST被应用时用零填充的区域可能不相同。因此,可以根据对比图11的LFNST的情况更宽的区域进行(ii)中提出的清零来检查是否存在非零数据。
例如,当(ii)-(B)被应用时,在检查图11的(d)和(e)中的用零值填充的区域是否存在非零数据之后,另外附加地检查图14中填充有0的区域是否存在非零数据,可以仅当不存在非零数据时执行针对LFNST索引的信令。
当然,即使应用(ii)中提出的清零,也可以与现有LFNST索引信令相同的方式检查非零数据是否存在。也就是说,在检查在图11中用零填充的块中是否存在非零数据之后,可以应用LFNST索引信令。在此情况下,编码设备仅执行清零并且解码设备不假设清零,也就是,仅检查非零数据是否仅存在于图11中明确标记为0的区域中,可以执行LFNST索引解析。
可以导出应用LFNST的简化方法((i)、(ii)-(A)、(ii)-(B)、(iii))的组合的各种实施例。当然,以上简化方法的组合不限于以下实施例,并且可以将任何组合应用于LFNST。
实施例
-将正向LFNST的输出数据的数量限制为最大值16→(i)
-当应用4×4LFNST时,未应用4×4LFNST的所有区域被清零→(ii)-(A)
-当应用8×8LFNST时,未应用8×8LFNST的所有区域被清零→(ii)-(B)
-在检查非零数据是否也存在于填充有零值的现有区域以及由于附加的清零而填充有零的区域中((ii)-(A)、(ii)-(B))之后,仅在不存在非零数据时用信号发送LFNST索引→(iii)。
在实施例的情况下,当应用LFNST时,可以存在非零输出数据的区域限于左上4×4区域的内部。更详细地,在图13的(a)和图14的(a)的情况下,扫描顺序上的第八个位置是可以存在非零数据的最后位置。在图13的(b)和(c)以及图14的(b)的情况下,扫描顺序上的第十六个位置(即,左上4×4块的右下边缘的位置)是可以存在除了0以外的数据的最后位置。
因此,在应用LFNST时,在检查非零数据是否存在于残差编译过程不被允许的位置(在超出最后位置的位置)之后,可以确定是否用信号发送LFNST索引。
在(ii)中提出的清零方法的情况下,由于减少了当应用了初级变换和LFNST两者时最终生成的数据的数量,所以执行整个变换过程所需的计算量可以降低。也就是说,当LFNST被应用时,由于清零被应用于存在于未应用LFNST的区域中的正向初级变换输出数据,因此不需要为在执行正向初级变换期间成为清零的区域生成数据。因此,可以降低生成相应数据所需的计算量。在(ii)中提出的清零方法的附加效果总结如下。
首先,如上所述,减少执行整个变换过程所需的计算量。
特别地,当应用(ii)-(B)时,最坏情况的计算量被减少,使得可以轻量化变换过程。换句话说,一般来说,需要大量的计算来执行大尺寸的初级变换。通过应用(ii)-(B),作为执行正向LFNST的结果而导出的数据的数量可以减小到16或更小。另外,随着整个块(TU或CU)的大小增加,减少变换操作的量的效果进一步增加。
第二,可以减少整个变换过程所需的计算量,由此降低执行变换所需的功耗。
第三,减少了变换过程中涉及的延迟。
诸如LFNST之类的次级变换向现有的初级变换添加了计算量,因而增加了执行变换时涉及的总体延迟时间。特别地,在帧内预测的情况下,由于在预测过程中使用邻近块的重构数据,所以在编码期间,由于次级变换导致的延迟的增加导致直到重构的延迟的增加。这可以导致帧内预测编码的总体延迟的增加。
然而,如果应用(ii)中建议的清零,则当应用LFNST时可以极大地减少执行初级变换的延迟时间,保持或减少整个变换的延迟时间,使得可以更简单地实现编码设备。
同时,在传统的帧内预测中,编译的目标块被视为一个编译单元,并且在不分区的情况下执行编译。然而,ISP(帧内子分区)编译指的是通过在水平方向或垂直方向上分区编译目标块来执行帧内预测编译。在这种情况下,可以通过以分区的块为单位执行编码/解码来生成重构块,并且重构块可以用作下一个分区的块的参考块。根据示例,在ISP编译中,可以将一个编译块分区成两个或四个子块并且进行编译,并且在ISP中,通过参考位于与其左侧或上侧相邻的子块的重构像素值对一个子块执行帧内预测。在下文中,术语“编译”可以用作包括由编码设备执行的编译和由解码设备执行的解码两者的概念。
在下文中,描述了将LFNST仅应用于单树中的亮度分量的实施例。
下文示出了根据示例的与LFNST索引和MTS索引的信令相关的编译单元语法表。
[表4]
Figure BDA0003790746510000461
上表中主要变量的含义如下。
1.cbWidth,cbHeight:当前编译块的宽度和高度
2.log2TbWidth,log2TbHeight:当前变换块的宽度和高度的以2为底的对数值。通过应用清零,可以将当前变换块的大小缩减到可能存在非零系数的左上区域。
3.sps_lfnst_enabled_flag:指示是否启用LFNST的标志。等于0的标志的值指示不启用LFNST,并且等于1的标志的值指示启用LFNST。该标志在序列参数集(SPS)中定义。
4.CuPredMode[chType][x0][y0]:对应于变量chType和位置(x0,y0)的预测模式。chType可以具有0和1的值,其中,0表示亮度分量,而1表示色度分量。位置(x0,y0)指示图片上的位置,并且利用CuPredMode[chType][x0][y0]的值,MODE_INTRA(帧内预测)和MODE_INTER(帧间预测)是可能的。
5.IntraSubPartitionsSplitType:指示哪个ISP被应用于当前编译单元,以及ISP_NO_SPLIT指示编译单元未被分割为分区块。
6.intra_mip_flag[x0][y0]:位置(x0,y0)如上文4中所述。intra_mip_flag是指示是否应用基于矩阵的帧内预测(MIP)模式的标志。等于0的标志的值指示MIP不适用,并且等于1的标志的值指示应用MIP。
7.cIdx:值0指示亮度,而值1和2分别指示色度分量Cb和Cr。
8.treeType:指示单树、双树等。(SINGLE_TREE:单树,DUAL_TREE_LUMA:用于亮度分量的双树,DUAL_TREE_CHROMA:用于色度分量的双树)
9.lfnst_idx[x0][y0]:待解析的LFNST索引语法元素。如果未解析,则推断该元素具有值0。也就是说,默认值被设置为0,这指示不应用LFNST。
前述语法元素的描述可以应用于下表中所示的语法元素。
在表4中,transform_skip_flag[x0][y0][0]==0是用于根据是否跳过变换来相对于亮度分量确定是否发信号通知lfnst索引的一个条件。
因此,根据示例,提出以下编译单元语法表以便移除用于亮度分量的变换跳过标志的信令与用于色度分量的LFNST索引的信令之间的相关性。
[表5]
Figure BDA0003790746510000481
在表5中所示的实施例中,用于亮度分量的LFNST索引的信令仅取决于用于双树类型和单树分区模式两者的亮度分量的变换跳过标志。在双树模式中,可以仅取决于色度分量的变换跳过标志,发信号通知色度分量的LFNST索引。在单树分区模式中,不将LFNST应用于色度分量以便减小最差情况的延迟。
根据当前块的树类型和用于颜色分量的变换跳过标志值来设置表5中所示的变量LfnstTransformNotSkipFlag,并且仅当变量的值为1时,才可以发信号通知LFNST索引。
当树类型不是双树色度(treeType!=DUAL_TREE_CHROMA)时,即,当树类型是单树或双树亮度时,如果用于亮度分量的变换跳过标志值为0,则变量LfnstTransformNotSkipFlag可以被设置为1(treeType!=DUAL_TREE_CHROMA?transform_ skip_flag[x0][y0][0]==0:(transform_skip_flag[x0][y0][1]==0||transform_skip_flag[x0][y0][2]==0)),以及当树类型为双树色度时,如果用于色度分量Cb的变换跳过标志值(transform_skip_flag[x0][y0][1])为0或用于色度分量Cr的变换跳过标志值(transform_skip_flag[x0][y0][1])为0,则可以将变量LfnstTransformNotSkipFlag设定为1(treeType!=DUAL_TREE_CHROMA?transform_skip_flag[x0][y0][0]==0:(transform_skip_flag[x0][y0][1]==0||transform_skip_flag[x0][y0][2]==0))。
在本公开中,运算符“x?y:z”指示如果x为真,则x为y,否则x为z(如果x为真,则评估为y的值,否则评估为z的值)。
考虑表5的变换过程的规范文本如下。
[表6]
Figure BDA0003790746510000491
Figure BDA0003790746510000501
如果在应用LFNST时在清零位置处存在有效系数,则表4中的变量LfnstZeroOutSigCoeffFlag为0,否则为1。可以根据下表11中所示的多个条件来设置变量LfnstZeroOutSigCoeffFlag。
变量LfnstZeroOutSigCoeffFlag指示在除当前块的左上第一区域之外的第二区域中是否存在有效系数。变量的值最初被设置为1,并且当第二区域中存在有效系数时可以改变为0。可以仅在维持变量LfnstZeroOutSigCoeffFlag的初始设置值时解析LFNST索引。当确定并导出变量LfnstZeroOutSigCoeffFlag的值是否为1时,可以将LFNST应用于当前块的亮度分量或所有色度分量,因此不确定当前块的颜色索引。
根据示例,当相应编译块标志(CBF,当对应块中存在至少一个有效系数时为1,否则为0)为1的变换块的所有最后有效系数处于DC位置(左上位置)时,表4中的变量LfnstDcOnly为1,否则为0。具体地,相对于双树亮度中的一个亮度变换块检查最后有效系数的位置,并且相对于双树色度中的Cb的变换块和Cr的变换块两者检查最后有效系数的位置。在单树中,可以相对于亮度、Cb及Cr的变换块检查最后有效系数的位置。
根据另一示例的发信号通知LFNST索引的编译单元的语法表如下。
[表7]
Figure BDA0003790746510000511
在表7中,变量transform_skip_flag[x0][y0][cIdx]指示是否将变换跳过应用于由cIdx指示的用于分量的编译块。cIdx可以具有值0、1及2,其中,0指示亮度分量,并且1和2分别指示Cb分量及Cr分量。transform_skip_flag[x0][y0][cIdx]的值等于1指示应用变换跳过,而0指示不应用变换跳过。
在表7中,仅当不将变换跳过应用于形成当前编译单元的所有分量(所有编译块)时,变量LfnstNotSkipFlag可以被设置为1,而在其它情况下可以被设置为0,并且仅当LfnstNotSkipFlag为1时,发信号通知LFNST索引(表7中的lfnst_idx)。
当在单树结构中对当前编译单元进行编译时(当在表7中treeType为SINGLE_TREE时),所有分量包括Y、Cb和Cr,当在用于亮度的单独树结构中对当前编译单元进行编译时(当在表7中treeType为DUAL_TREE_LUMA时),所有分量仅包括Y,而当在用于色度的单独树结构中对当前编译单元进行编译时(当在表7中treeType为DUAL_TREE_CHROMA时),所有分量包括Cb和Cr。
换句话说,当由当前编译单元组成的分量中的即使一个通过变换跳过编译时,也不发信号通知LFNST索引,并将LFNST索引的值推断为0。也就是说,不应用LFNST。
在当分量(Y,Cb和Cr)中的甚至一个通过如表7中的变换跳过编译时限制不应用LFNST的结构中,当如在单树中连续编译多个分量(Y,Cb和Cr)且在解析期间确定分量经受变换跳过时(例如,当针对Cb和Cr确定变换跳过时),相应变换系数可以被配置为关于由变换跳过编译的相应分量不被附加地缓冲,直到LFNST索引的值被解析。
例如,当发现任何一个分量通过变换跳过进行编译时,确定不应用LFNST,因此随后可以立即执行逆量化、逆变换等。
代替表7,可以如表8中那样简明地描述语法表。
[表8]
Figure BDA0003790746510000531
当通过仅检查变换跳过是否应用于单树中的亮度分量来确定是否发信号通知LFNST索引时,可以如下配置用于编译单元的语法表。
[表9]
Figure BDA0003790746510000532
在表9中,LfnstNotSkipFlag被确定为在单独树中与表7或表8中相同(即,在亮度单独树中,当不将变换跳过应用于亮度分量时,LfnstNotSkipFlag被设置为1,否则被设置为0,而在色度单独树中,当不将变换跳过应用于Cb分量和Cr分量两者时,LfnstNotSkipFlag被设置为1,否则被设置为0)。在单树中,当没有变换跳过被应用于仅亮度分量时,LfnstNotSkipFlag被设置为1,否则被设置为0。代替表8,可以应用表9中所示的语法表。
[表10]
Figure BDA0003790746510000541
下文描述当将LFNST仅应用于单树中的亮度分量时确定LFNST索引信令条件的实施例。
在表4和表5、表7、表8、表9和表10的编译单元语法表中,将变量LfnstDcOnly和变量LfnstZeroOutSigCoeffFlag用作用于发信号通知LFNST索引的条件。基本上,变量LfnstDcOnly和变量LfnstZeroOutSigCoeffFlag均被初始化为1,如表7所示,并且这两个变量的值可以在用于残差编译的语法表中被更新为0,如表11所示。作为参考,当利用变换跳过对分量(其可以是Y,Cb或Cr)进行编译时,导入不同的语法表(transform_ts_coding),而不是导入表11中的残差编译,因此当解析用于分量的LFNST索引时,不更新变量LfnstDcOnly和变量LfnstZeroOutSigCoeffFlag。
[表11]
Figure BDA0003790746510000551
Figure BDA0003790746510000561
在表11中,lastSubBlock指示子块(系数组(CG))的位置,其中,按扫描顺序定位最后有效(非零)系数。0指示包括DC分量的子块,而大于0的值指示不包括DC分量的子块。
lastScanPos指示按扫描次序的一个子块内的最后有效系数的位置。当一个子块包括16个位置时,从0到15的值是可能的。
LastSignificantCoeffX和LastSignificantCoeffY指示位于变换块中的最后有效系数的x坐标和y坐标。x坐标从0开始并且从左到右增加,y坐标从0开始并且从上到下增加。两个变量的值等于0意味着最后有效系数位于DC处。
基本上,表11被应用于表5的实施例以确定变量LfnstDcOnly和变量LfnstZeroOutSigCoeffFlag的值。当应用表11并且在单树中对编译块进行编译时,可以针对所有分量导入表11中呈现的残差编译。例如,当不使用变换跳过编译所有Y、Cb和Cr分量时,可以对每一分量执行残差编译。
因此,当应用表11并且通过单树对当前编译块进行编译时,如果甚至一个分量的最后非零系数位于除DC位置(变换块的左上位置)之外的位置,则可以将变量LfnstDcOnly的值更新为0,并且当甚至一个分量的最后非零系数的位置位于在应用LFNST的情况下变换系数不能被定位的区域(即,根据正向变换系数扫描顺序位于4×4变换块或8×8变换块中除第一至第八位置之外的区域中,或者位于在当前VVC标准中LFNST适用的变换块中除左上4×4区域之外的区域中)时,可以将变量LfnstZeroOutSigCoeffFlag的值更新为0。如表5、表7、表8、表9和表10的编译单元语法表中所示,可仅在变量LfnstZeroOutSigCoeffFlag的值为1时发信号通知LFNST索引,而在除ISP模式以外的模式中,可仅在变量LfnstDcOnly的值为0时发信号通知LFNST索引。
然而,当LFNST仅应用于单树中的亮度分量时,当对未应用LFNST的分量(色度分量Cb或Cr)执行残差编译时,可以不允许更新变量LfnstDcOnly和变量LfnstZeroOutSigCoeffFlag。这是因为不对其应用LFNST的分量的变换系数的布置或分布确定是否发信号通知LFNST索引(即,是否应用LFNST)在逻辑上是不合适的。
表12限制仅针对单树中的亮度分量更新变量LfnstDcOnly和变量LfnstZeroOutSigCoeffFlag。在除单树之外的情况下,可以针对所有分量更新变量LfnstDcOnly和变量LfnstZeroOutSigCoeffFlag(如表11所示)。
[表12]
Figure BDA0003790746510000581
Figure BDA0003790746510000591
在表12中呈现的残差编译中,由于相较于表11添加treeType作为参数,因此可如表13中所示修改用于变换单元的语法表。
[表13]
Figure BDA0003790746510000601
基于表5的细节,一些细节可以用表7至表10的实施例替换,或者可以应用表11或表12的细节。可以基于表7至表10、表11或表12来配置以下可能的组合。
1.表7(或表8)+表11
2.表7(或表8)+表12
3.表9(或表10)+表11
4.表9(或表10)+表12
在下文中,描述了一种用于当将LFNST仅应用于单树中的亮度分量时将缩放列表应用于色度分量的方法。
当前,在VVC WD中,定义称为scaling_matrix_for_lfnst_disabled_flag的语法元素。当scaling_matrix_for_lfnst_disabled_flag为1时,在应用LFNST时不应用缩放列表,而当scaling_matrix_for_lfnst_disabled_flag为0时,可以在应用LFNST时应用缩放列表。
在此,缩放列表是用于指定用于变换块中的每个变换系数位置的特定权重(加权值)的矩阵,并且通过乘以用于每个变换系数的权重来实现解量化或量化,从而使得能够根据变换系数的重要性应用差别的解量化或量化。
在单树中,如表5的实施例中,可以将LFNST仅应用于亮度分量,并且当scaling_matrix_for_lfnst_disabled_flag的值为1并且在单树中对编译块进行编译的同时应用LFNST时,不将缩放列表应用于亮度分量。在此,缩放列表可以应用于未应用LFNST的色度分量。
表14示出了实现上述情况的解量化过程(缩放过程)的示例。
[表14]
Figure BDA0003790746510000611
Figure BDA0003790746510000621
Figure BDA0003790746510000622
Figure BDA0003790746510000631
在表14中,treeType指示当前处理的变换块所属的编译单元的树类型,并且SINGLE_TREE、DUAL_TREE_LUMA和DUAL_TREE_CHROMA分别指示单树、用于亮度的单独树和用于色度的单独树(双树色度)。
在该实施例中,由于可以将LFNST仅应用于单树中的亮度分量,因此当scaling_matrix_for_lfnst_disabled_flag的值为1并且应用LFNST时(lfnst_idx[xTby][yTby]值大于0),(当cIdx值为0时)不将缩放列表应用于亮度分量。
然而,对于色度分量(当cIdx值大于0时),可以通过进一步检查不同条件(例如,检查transform_skip_flag[xTby][yTby][cIdx])来确定是否应用缩放列表。
在单独树中,如在单树中的亮度分量的情况下,当scaling_matrix_for_lfnst_disabled_flag的值为1并且应用LFNST(lfnst_idx[xTby][yTby]值大于0)时,不将缩放列表应用于亮度和色度分量。
此外,在单独树中,如在单树中的色度分量的情况下,可以通过进一步检查不同条件(例如,检查transform_skip_flag[xTby][yTby][cIdx])来确定是否应用缩放列表。
因此,当scaling_matrix_for_lfnst_disabled_flag的值为1并且可以将LFNST仅应用于单树中的亮度分量时,缩放列表可以不应用于亮度分量,并且可以应用于色度分量。
根据示例,可以应用表14和上述实施例的组合(基于表5的细节,用表7至表10的实施例替换一些细节或者应用表11或表12的细节的组合)。
在这种情况下,如表6中的“用于缩放变换系数的变换过程”的规范文本中,LFNST可以被配置为仅应用于单树中的亮度分量。
提供以下附图以描述本公开的具体示例。由于为图示提供附图中所示的用于装置的特定术语或用于信号/消息/字段的特定术语,因此本公开的技术特征不限于以下附图中使用的特定术语。
图15是图示根据本公开的实施例的视频解码设备的操作的流程图。
图15中公开的每个过程基于参考图4至图14描述的一些细节。因此,与参考图3至图14描述的那些重叠的具体细节的描述将被省略或将被示意性地进行。
根据实施例的解码设备300可以从比特流接收指示当执行LFNST时缩放列表是否可用的标志信息、用于当前块的LFNST索引以及残差信息(S1510)。
具体地,解码设备300可以从比特流解码关于用于当前块的量化变换系数的信息,并且可以基于关于用于当前块的量化变换系数的信息来导出目标块的量化变换系数。关于目标块的量化变换系数的信息可以被包括在序列参数集(SPS)或切片报头中,并且可以包括关于是否应用RST的信息、关于缩减因子的信息、关于用于应用RST的最小变换大小的信息、关于用于应用RST的最大变换大小的信息、逆RST大小、以及关于指示在变换集中包括的任何一个变换核矩阵的变换索引的信息中的至少一个。
解码设备可以进一步接收关于用于当前块的帧内预测模式的信息和关于是否将ISP应用于当前块的信息。解码设备可以接收并且解析指示是否应用ISP编译或应用ISP模式的标志信息,从而导出当前块是否被分割成预定数量的子分区变换块。这里,当前块可以是编译块。此外,解码设备可以通过指示当前块被分割的方向的标志信息来导出分割的子分区块的大小和数量。
LFNST索引是用于当LFNST被应用作为逆次级不可分离变换时指定LFNST矩阵的值,并且可以具有范围从0到2的值。例如,LFNST索引值0可以指示没有对当前块应用LFNST,LFNST索引值1可以指示第一LFNST矩阵,并且LFNST索引值2可以指示第二LFNST矩阵。
关于ISP和LFNST索引的信息可以在编译单元级别中被接收。
由解码设备接收的指示当执行LFNST时缩放列表是否可用的标志信息可以由scaling_matrix_for_lfnst_disabled_flag或sps_scaling_matrix_for_lfnst_disabled_flag表示,并且可以在序列参数集中用信号发送。此标志的值等于1指示当应用LFNST时不应用缩放列表,并且该标志的值等于0指示当应用LFNST时可应用缩放列表。缩放列表是用于为变换块中的每个变换系数位置指定特定权重(加权值)的矩阵,并且能够通过乘以用于每个变换系数的权重来进行解量化或量化,从而使得能够根据变换系数的重要性来应用差分解量化或量化。
解码设备300可以基于是否应用了LFNST和当前块的树类型来确定缩放列表是否应用于当前块,以便于对用于当前块的变换系数进行解量化(S1520)。
可以基于标志信息和LFNST索引的值来确定是否应用缩放列表。
在当前块的树类型为单树时,当前块的颜色分量可以包括亮度分量、指示色度Cb的第一色度分量和指示色度Cr的第二色度分量,并且在当前块的树类型是双树亮度时,当前块可以包括亮度分量。在当前块的树类型为双树色度时,当前块的颜色分量可以包括第一色度分量和第二色度分量。
这里,当前块可以是变换块,其是变换单元,并且在当前块的树类型为单树时,当前块可以包括用于亮度分量的变换块、用于第一色度分量的变换块、以及用于第二色度分量的变换块。在当前块的树类型为双树亮度时,当前块可以包括用于亮度分量的变换块,并且在当前块的树类型为双树色度时,当前块可以包括用于第一色度分量的变换块和用于第二色度分量的变换块。
根据示例,在当前块的类型为单树时,LFNST可以仅应用于亮度分量,并且在当前块被编译在单树中时,scaling_matrix_for_lfnst_disabled_flag的值为1,并且应用LFNST,缩放列表不被应用于亮度分量。然而,缩放列表可以应用于未应用LFNST的色度分量。
综上所述,在关于缩放列表的标志信息指示缩放列表不可用并且LFNST索引大于0(即,应用LFNST)的情况下,在当前块的树类型为单树并且当前块为亮度分量时,可以不应用缩放列表,并且在当前块的树类型为单树并且当前块为色度分量时,可以应用缩放列表。
根据示例,关于缩放列表的标志信息指示缩放列表不可用并且LFNST索引大于0的情况下,在当前块的树类型为双树色度时,LFNST可应用于当前块,并且因此缩放列表不被应用于色度分量。
根据示例,在关于缩放列表的标志信息指示缩放列表不可用并且LFNST索引大于0的情况下,在当前块的树类型为双树亮度时,LFNST可应用于当前块,并且因此缩放列表不被应用于亮度分量。
随后,解码设备基于确定结果从残差信息导出用于当前块的变换系数(S1530)。
导出的变换系数可以根据反向对角线扫描顺序被排列在4×4块单元中,并且4×4块中的变换系数也可以根据反向对角线扫描顺序被排列。也就是说,解量化的变换系数可以根据在视频编解码器中应用的反向扫描顺序被排列,诸如在VVC或HEVC中。
解码设备可以基于用于LFNST的LFNST矩阵和LFNST索引,即,通过应用LFNST,从变换系数导出修改的变换系数(S1540)。
LFNST是不可分离变换,其中,将变换应用于系数而无需在特定方向上分离系数,这不同于垂直或水平分离待变换的系数且对其进行变换的初级变换。该不可分离变换可以是将正向变换仅应用于低频区而非块的整个区域的低频不可分离变换。
解码设备可以导出各种变量以应用LFNST,并且可以基于当前块的树类型和大小来确定是否应用LFNST。
解码设备可以导出指示在当前块中的DC分量之外的位置处是否存在有效系数的第一变量(变量LfnstDcOnly)和指示在当前块的左上第一区域之外的第二区域中是否存在变换系数的第二变量(变量LfnstZeroOutSigCoeffFlag)。
第一变量和第二变量最初被设置为1,其中,当有效系数存在于当前块中的DC分量的位置之外的位置处时,第一变量可以被更新为0,并且当变换系数存在于第二区域中时,第二变量可以被更新为0。
当第一变量被更新为0并且第二变量保持为1时,可以将LFNST应用于当前块。
对于帧内子分区(ISP)模式适用的亮度分量,可以解析LFNST索引而不导出变量LfnstDcOnly。
具体地,在应用ISP模式且用于亮度分量的变换跳过标志(即,transform_skip_flag[x0][y0][0])为0的情况下,在当前块的树类型为用于亮度的单树或双树时,可以发信号通知LFNST索引,而不管变量LfnstDcOnly的值如何。
然而,对于未应用ISP模式的色度分量,可以根据用于色度分量Cb的变换跳过标志的值(transform_skip_flag[x0][y0][1])和用于色度分量Cr的变换跳过标志的值(transform_skip_flag[x0][y0][2]),将变量LfnstDcOnly的值设定为0。也就是说,当transform_skip_flag[x0][y0][cIdx]中的cIdx的值为1时,仅当transform_skip_flag[x0][y0][1]的值为0时,可以将变量LfnstDcOnly的值设置为0,而当cIdx的值为2时,仅当transform_skip_flag[x0][y0][2]的值为0时,可以将变量LfnstDcOnly的值设置为0。当变量LfnstDcOnly的值为0时,解码设备可以解析LFNST索引,否则,可以将LFNST索引推断为0而无需发信号通知。
第二变量可以是变量LfnstZeroOutSigCoeffFlag,其可以指示当应用LFNST时执行清零。第二变量可以被初始地设置为1,并且当有效系数存在于第二区域中时可以被改变为0。
当存在最后非零系数的子块的索引大于0并且变换块的宽度和高度都等于或大于4时,或者当存在最后非零系数的子块中的最后非零系数的位置大于7并且变换块的大小为4×4或8×8时,可以将变量LfnstZeroOutSigCoeffFlag导出为0。子块是指在残差编译中被用作编译单元的4×4块,并且可以被称为系数组(CG)。子块索引0是指左上4×4子块。
也就是说,当在除了左上区域(其中,在变换块中可以存在LFNST变换系数)之外的区域中导出非零系数,或者对于4×4块或8×8块在除了扫描次序的第八位置之外的位置处存在非零系数时,变量LfnstZeroOutSigCoeffFlag被设置为0。
解码设备可以基于从关于帧内预测模式的信息导出的帧内预测模式来确定包括LFNST矩阵的LFNST集合,并且可以基于LFNST集合和LFNST索引来选择多个LFNST矩阵中的任何一个。
在此,相同的LFNST集合和相同的LFNST索引可以应用于当前块被划分成的子分区变换块。也就是说,由于将相同的帧内预测模式应用于子分区变换块,因此基于帧内预测模式确定的LFNST集合也可以等同地应用于所有子分区变换块。另外,由于在编译单元级发信号通知LFNST索引,因此可以将相同的LFNST矩阵应用于当前块所划分成的子分区变换块。
如上所述,可以根据用于待变换的变换块的帧内预测模式来确定变换集,并且可以基于包括在由LFNST索引指示的变换集中的变换核矩阵(即,LFNST矩阵中的任何一个)来执行逆LFNST。应用于逆LFNST的矩阵可以被称为逆LFNST矩阵或LFNST矩阵,并且被称为任何术语,只要矩阵是用于前向LFNST的矩阵的转置。
在示例中,逆LFNST矩阵可以是非正方形矩阵,其中,列数小于行数。
解码设备可以基于用于修改的变换系数的初级逆变换来导出用于当前块的残差样本(S1550)。
这里,作为初级逆变换,可以使用一般的可分离变换,或者可以使用前述的MTS。
随后,解码设备300可以基于用于当前块的残差样本和用于当前块的预测样本来生成重构样本。
提供以下附图以描述本公开的具体示例。因为在附图中图示的装置的特定术语或信号/消息/字段的特定术语是为了说明而提供的,所以本公开的技术特征不限于以下附图中使用的特定术语。
图16是图示根据本公开的实施例的视频编码设备的操作的流程图。
在图16中公开的每个过程基于参考图4至图14描述的一些细节。因此,与参考图2和图4至图14描述的那些重叠的具体细节的描述将被省略或将被示意性地进行。
根据实施例的编码设备200可以基于应用于当前块的帧内预测模式来导出用于当前块的预测样本。
当ISP被应用于当前块时,编码设备可以通过每个子分区变换块来执行预测。
编码设备可以确定是否将ISP编译或者ISP模式应用于当前块,即,编译块,并且可以确定其中当前块被分割的方向,并且可以根据确定结果来导出分割的子块的大小和数量。
相同的帧内预测模式可以应用于当前块被分割成的子分区变换块,并且编码设备可以导出用于每个子分区变换块的预测样本。即,编码设备根据子分区变换块的分割形式,依次执行帧内预测,例如,水平或垂直,或从左到右或从上到下。对于最左边或最上面的子块,已经编译的编译块的重构像素被称为在传统的帧内预测方法中。进一步地,对于与先前子分区变换块不相邻的后续内部子分区变换块的每一边,为了导出与该侧相邻的参考像素,参考如在传统的帧内预测方法的已经编译的相邻编译块的重构像素。
编码设备200可以基于预测样本来导出用于当前块的残差样本(S1610)。
编码设备200可以通过将LFNST或MTS中的至少一个应用于残差样本来导出用于当前块的变换系数,并且可以根据预先确定的扫描顺序来排列变换系数。
编码设备可以基于残差样本上的诸如初级变换和/或次级变换的变换过程来导出用于当前块的变换系数,在当前块是单树类型和亮度分量时可以应用LFNST,并且在当前块是单树类型和色度分量时可以不应用LFNST(S1620)。
初级变换可以通过多个变换核来执行,如在MTS中,在这种情况下,可以基于帧内预测模式来选择变换核。
编码设备200可以确定是否对用于当前块的变换系数执行次级变换或不可分离变换,具体地LFNST,并且可以通过将LFNST应用于变换系数来导出修改的变换系数。
LFNST是不可分离变换,其中,将变换应用于系数而无需在特定方向上分离系数,这不同于垂直或水平地分离待变换的系数且对其进行变换的初级变换。该不可分离变换可以是将变换仅应用于低频区域而非待变换的整个目标块的低频不可分离变换。
编码设备可以导出各种变量以应用LFNST,并且可以基于当前块的树类型和大小来确定是否应用LFNST。
编码设备可以导出指示在当前块中的DC分量的位置之外的位置处是否存在有效系数的第一变量(变量LfnstDcOnly)和指示在当前块的左上第一区域之外的第二区域中是否存在变换系数的第二变量(变量LfnstZeroOutSigCoeffFlag)。
第一变量和第二变量最初被设置为1,其中,当有效系数存在于当前块中的DC分量的位置之外的位置处时,第一变量可以被更新为0,并且当变换系数存在于第二区域中时,第二变量可以被更新为0。
当第一变量被更新为0并且第二变量保持为1时,可以将LFNST应用于当前块。
对于帧内子分区(ISP)模式适用的亮度分量,可以应用LFNST而不导出变量LfnstDcOnly。
具体地,在应用ISP模式且用于亮度分量的变换跳过标志(即,transform_skip_flag[x0][y0][0])为0的情况下,在当前块的树类型为用于亮度的单树或双树时,可以应用LFNST,而不管变量LfnstDcOnly的值如何。
然而,对于未应用ISP模式的色度分量,可以根据用于色度分量Cb的变换跳过标志的值(transform_skip_flag[x0][y0][1])和用于色度分量Cr的变换跳过标志的值(transform_skip_flag[x0][y0][2]),将变量LfnstDcOnly的值设定为0。也就是说,当transform_skip_flag[x0][y0][cIdx]中的cIdx的值为1时,仅当transform_skip_flag[x0][y0][1]的值为0时,可以将变量LfnstDcOnly的值设置为0,而当cIdx的值为2时,仅当transform_skip_flag[x0][y0][2]的值为0时,可以将变量LfnstDcOnly的值设置为0。当变量LfnstDcOnly的值为0时,编码设备可以应用LFNST,否则,编码设备可以不应用LFNST。
第二变量可以是变量LfnstZeroOutSigCoeffFlag,其可以指示当应用LFNST时执行清零。第二变量可以被初始地设置为1,并且当有效系数存在于第二区域中时可以被改变为0。
当存在最后非零系数的子块的索引大于0并且变换块的宽度和高度都等于或大于4时,或者当存在最后非零系数的子块中的最后非零系数的位置大于7并且变换块的大小为4×4或8×8时,可以将变量LfnstZeroOutSigCoeffFlag导出为0。子块是指在残差编译中被用作编译单元的4×4块,并且可以被称为系数组(CG)。子块索引0是指左上4×4子块。
也就是说,当在除了左上区域(其中,在变换块中可以存在LFNST变换系数)之外的区域中导出非零系数,或者对4×4块或8×8块在除了扫描次序的第八位置之外的位置处存在非零系数时,变量LfnstZeroOutSigCoeffFlag被设置为0。
编码设备可以基于从关于帧内预测模式的信息导出的帧内预测模式来确定包括LFNST矩阵的LFNST集合,并且可以选择多个LFNST矩阵中的任何一个。
在此,相同的LFNST集合和相同的LFNST索引可以应用于当前块被划分成的子分区变换块。也就是说,由于将相同的帧内预测模式应用于子分区变换块,因此基于帧内预测模式确定的LFNST集合也可以等同地应用于所有子分区变换块。另外,由于在编译单元级发信号通知LFNST索引,因此可以将相同的LFNST矩阵应用于当前块所划分成的子分区变换块。
如上所述,可以根据用于待变换的变换块的帧内预测模式来确定变换集,并且可以基于包括在LFNST变换集中的变换核矩阵(即,LFNST矩阵中的任何一个)来执行LFNST。应用于LFNST的矩阵可以被称为LFNST矩阵并且被称为任何术语,只要矩阵是用于逆LFNST的矩阵的转置。
在示例中,LFNST矩阵可以是行数小于列数的非正方形矩阵。
编码设备可以基于在变换过程中是否执行LFNST以及当前块的树类型来确定缩放列表是否被应用到当前块(S1630)。
缩放列表是用于为变换块中的每个变换系数位置指定特定权重(加权值)的矩阵,并且能够通过乘以用于每个变换系数的权重来进行解量化或量化,从而能够根据变换系数的重要性进行差分解量化或量化。
根据示例,在当前块的树类型是单树并且当前块是亮度分量时,编码设备可以不应用缩放列表,并且在当前块的树类型是单树并且当前块是色度分量时,编码设备可以应用缩放列表。
在当前块的树类型为单树时,当前块的颜色分量可以包括亮度分量、指示色度Cb的第一色度分量和指示色度Cr的第二色度分量,并且在当前块的树类型是双树亮度时,当前块可以包括亮度分量。在当前块的树类型为双树色度时,当前块的颜色分量可以包括第一色度分量和第二色度分量。
这里,当前块可以是变换块,其是变换单元,并且在当前块的树类型为单树时,当前块可以包括用于亮度分量的变换块、用于第一色度分量的变换块、以及用于第二色度分量的变换块。在当前块的树类型为双树亮度时,当前块可以包括用于亮度分量的变换块,并且在当前块的树类型为双树色度时,当前块可以包括用于第一色度分量的变换块和用于第二色度分量的变换块。
根据示例,在当前块是单树时,编码设备可以仅将LFNST应用于亮度分量,并且当应用LFNST时,编码设备不将缩放列表应用于亮度分量。然而,编码设备可以将缩放列表应用于未应用LFNST的色度分量。
总之,在LFNST索引大于0(即,应用LFNST)的情况下,在当前块的树类型为单树且当前块为亮度分量时,编码设备可以不应用缩放列表,并且在当前块的树类型为单树并且当前块为色度分量时,编码设备可以应用缩放列表。
根据示例,在LFNST索引大于0的情况下,在当前块的树类型为双树色度时,LFNST可应用于当前块,并且因此编码设备不应用缩放列表。
根据示例,在LFNST索引大于0的情况下,在当前块的树类型为双树亮度时,LFNST可应用于当前块,并且因此编码设备不应用缩放列表。
编码设备可以基于确定,即,缩放列表是否应用于当前块,量化变换系数(S1640)。
也就是说,编码设备可以使用缩放列表来量化未应用LFNST的变换块的变换系数,并且可以在不使用缩放列表的情况下量化应用LFNST的变换块的变换系数。
编码设备可以编码和输出残差信息和指示当执行LFNST时缩放列表是否可用的标志信息(S1650)。
指示当执行LFNST时缩放列表是否可用的标志信息可以由scaling_matrix_for_lfnst_disabled_flag或sps_scaling_matrix_for_lfnst_disabled_flag表示,并且可以在序列参数集中用信号发送。此标志的值等于1指示当应用LFNST时不应用缩放列表,并且该标志的值等于0指示当应用LFNST时可应用缩放列表。
当LFNST索引大于0并且当前块是单树时,LFNST可应用于亮度分量,并且因此编码设备可以将标志的值编码为1。
然而,当LFNST索引大于0并且当前块是单树时,LFNST不应用于色度分量,并且因此编码设备可以构造图像信息,使得可以应用缩放列表。
当LFNST索引大于0并且当前块的树类型是双树色度时,LFNST可应用于当前块,并且因此编码设备可以将标志的值编码为1,使得缩放列表不应用于色度分量。
根据示例,当LFNST索引大于0并且当前块的树类型为双树亮度时,LFNST可应用于当前块,并且因此编码设备可以将该标志的值编码为1,使得缩放列表不应用于亮度分量。
编码设备可以通过对用于当前块的修改的变换系数进行量化来导出量化的变换系数,并且可以对LFNST索引进行编码。
编码设备可以生成包括关于量化的变换系数的信息的残差信息。残差信息可以包括前述的变换相关信息/语法元素。编码设备可以对包括残差信息的图像/视频信息进行编码,并且能够以比特流的形式输出图像/视频信息。
具体地,编码设备200可以生成关于量化的变换系数的信息并且可以对关于量化的变换系数的信息进行编码。
根据本实施例的LFNST索引的语法元素可以指示是否应用(逆)LFNST和LFNST集中包括的LFNST矩阵中的任何一个,并且当LFNST集合包括两个变换核矩阵时,LFNST索引的语法元素可以具有三个值。
根据示例,在当前块的分割的树结构是双树类型时,可以针对亮度块和色度块中的每个对LFNST索引进行编码。
根据实施例,变换索引的语法元素的值可以包括:0,其指示没有(逆)LFNST被应用于当前块;1,其指示LFNST矩阵当中的第一LFNST矩阵;以及2,其指示LFNST矩阵当中的第二LFNST矩阵
在本公开中,可以省略量化/解量化和/或变换/逆变换中的至少一个。当省略量化/解量化时,量化的变换系数可以被称为变换系数。当省略变换/逆变换时,变换系数可以被称为系数或残差系数,或者为了表达的一致性可以仍然被称为变换系数。
此外,在本公开中,量化的变换系数和变换系数分别可以被称为变换系数和缩放的变换系数。在这种情况下,残差信息可以包括关于变换系数的信息,并且可以通过残差编译语法来发信号通知关于变换系数的信息。可以基于残差信息(或关于变换系数的信息)来导出变换系数,并且可以通过变换系数的逆变换(缩放)来导出缩放的变换系数。可以基于缩放的变换系数的逆变换(变换)来导出残差样本。也可以在本公开的其他部分中应用/表达这些细节。
在上述实施例中,借助于一系列步骤或框来基于流程图说明方法,但是本公开不限于步骤的顺序,并且可以在与上述顺序或步骤不同的顺序或步骤中或与另一步骤同时地执行某个步骤。此外,本领域的普通技术人员可以理解,流程图所示的步骤不是排他性的,并且在不影响本公开的范围的情况下,可以并入另一步骤或者移除流程图的一个或更多个步骤。
可以将根据本公开的上述方法实现为软件形式,并且根据本公开的编码设备和/或解码设备可以被包括在诸如TV、计算机、智能电话、机顶盒、显示装置等这样的图像处理用装置中。
当本公开中的实施例由软件具体实现时,可以将上述方法具体体现为用于执行上述功能的模块(过程、功能等)。模块可以被存储在存储器中并且可以由处理器执行。存储器可以在处理器内部或外部并且能够以各种公知方式连接到处理器。处理器可以包括专用集成电路(ASIC)、其他芯片组、逻辑电路和/或数据处理器件。存储器可以包括只读存储器(ROM)、随机存取存储器(RAM)、闪速存储器、存储卡、存储介质和/或其他存储器件。也就是说,可以在处理器、微处理器、控制器或芯片上具体实现和执行本公开中描述的实施例。例如,可以在计算机、处理器、微处理器、控制器或芯片上具体实现和执行每个附图所示的功能单元。
此外,应用本公开的解码设备和编码设备可以被包括在多媒体广播收发器、移动通信终端、家庭影院视频装置、数字影院视频装置、监视相机、视频聊天装置、诸如视频通信这样的实时通信装置、移动流传输装置、存储介质、摄像机、视频点播(VoD)服务提供装置、过顶(OTT)视频装置、因特网流传输服务提供装置、三维(3D)视频装置、视频电话视频装置和医疗视频装置,并且可以用于处理视频信号或数据信号。例如,过顶(OTT)视频装置可以包括游戏机、蓝光播放器、因特网接入TV、家庭影院***、智能电话、平板PC、数字视频记录机(DVR)等。
另外,应用本公开的处理方法能够以由计算机执行的程序的形式产生,并且被存储在计算机可读记录介质中。具有根据本公开的数据结构的多媒体数据也可以被存储在计算机可读记录介质中。计算机可读记录介质包括其中存储有计算机可读数据的所有种类的存储装置和分布式存储装置。计算机可读记录介质可以包括例如蓝光光盘(BD)、通用串行总线(USB)、ROM、PROM、EPROM、EEPROM、RAM、CD-ROM、磁带、软盘和光学数据存储装置。此外,计算机可读记录介质包括以载波(例如,通过因特网的传输)的形式具体体现的介质。另外,通过编码方法生成的比特流可以被存储在计算机可读记录介质中或者通过有线或无线通信网络发送。附加地,本公开的实施例可以通过程序代码被具体体现为计算机程序产品,并且可以通过本公开的实施例在计算机上执行程序代码。程序代码可以被存储在计算机可读载体上。
图17图示了应用本公开的内容流传输***的结构。
此外,应用本公开的内容流传输***可以主要包括编码服务器、流传输服务器、网络服务器、媒体存储装置、用户设备和多媒体输入装置。
编码服务器将从诸如智能电话、相机、摄像机等这样的多媒体输入装置输入的内容压缩成数字数据以生成比特流,并且将该比特流传输到流传输服务器。作为另一示例,当诸如智能电话、相机、摄像机等这样的多媒体输入装置直接生成比特流时,可以省略编码服务器。可以通过应用本文件的实施例的编码方法或比特流生成方法来生成比特流。并且流传输服务器可以在发送或接收比特流的处理中临时存储比特流。
流传输服务器基于用户的请求通过网络服务器将多媒体数据发送到用户设备,并且网络服务器用作将服务告知用户的介质。当用户向网络服务器请求所期望的服务时,网络服务器将其传送到流传输服务器,流传输服务器将多媒体数据发送到用户。在这种情况下,内容流传输***可以包括单独的控制服务器。在这种情况下,控制服务器用于控制内容流传输***中的设备之间的命令/响应。
流传输服务器可以从媒体存储装置和/或编码服务器接收内容。例如,当从编码服务器接收内容时,可以实时地接收内容。在这种情况下,为了提供平稳的流传输服务,流传输服务器可以存储比特流达预定时间。
例如,用户设备可以包括移动电话、智能电话、膝上型计算机、数字广播终端、个人数字助理(PDA)、便携式多媒体播放器(PMP)、导航、板式PC、平板PC、超极本、可穿戴装置(例如,手表型终端(智能手表)、眼镜型终端(智能眼镜)、头戴式显示器(HMD))、数字TV、台式计算机、数字标牌等。内容流传输***中的服务器中的每个可以作为分布式服务器***作,并且在这种情况下,能够以分布式方式处理由每个服务器接收到的数据。
能够以各种方式组合本文公开的权利要求。例如,能够组合本公开的方法权利要求的技术特征以在设备中被实现或执行,并且能够组合设备权利要求的技术特征以在方法中被实现或执行。此外,能够组合方法权利要求和设备权利要求的技术特征可以组合以在设备中被实现或执行,并且能够组合方法权利要求和设备权利要求的技术特征以在方法中被实现或执行。

Claims (15)

1.一种由解码设备执行的图像解码方法,所述方法包括:
基于从比特流接收到的残差信息,导出用于当前块的变换系数;
通过将LFNST应用于所述变换系数,导出修改的变换系数;以及
基于用于所述修改的变换系数的逆初级变换,导出用于目标块的残差样本,
其中,导出所述变换系数包括:
基于是否应用所述LFNST以及所述当前块的树类型,确定是否缩放列表被应用于所述当前块;以及
基于确定结果,从所述残差信息导出用于所述当前块的所述变换系数,以及
其中,在所述当前块的树类型为单树并且所述当前块为色度分量时,应用所述缩放列表。
2.根据权利要求1所述的图像解码方法,其中,所述LFNST不被应用于所述当前块的所述色度分量。
3.根据权利要求1所述的图像解码方法,其中,在所述当前块的树类型为单树并且对所述当前块执行所述LFNST时,所述缩放列表不被应用于所述当前块的亮度分量。
4.根据权利要求1所述的图像解码方法,进一步包括:
接收指示在执行所述LFNST时所述缩放列表是否可用的标志信息。
5.根据权利要求4所述的图像解码方法,其中,当所述标志信息指示所述缩放列表不可用并且所述LFNST索引大于0时,所述缩放列表不被应用于所述亮度分量。
6.根据权利要求4所述的图像解码方法,其中,当所述标志信息指示所述缩放列表不可用并且所述LFNST索引大于0时,如果所述当前块的树类型为双树色度,则所述缩放列表不被应用于所述色度分量。
7.根据权利要求4所述的图像解码方法,其中,当所述标志信息指示所述缩放列表不可用并且所述LFNST索引大于0时,如果所述当前块的树类型为双树亮度,则所述缩放列表不被应用于所述亮度分量。
8.一种由图像编码设备执行的图像编码方法,所述方法包括:
基于变换过程从用于当前块的残差样本导出用于所述当前块的变换系数;
基于是否在所述变换过程中执行LFNST以及所述当前块的树类型,确定是否缩放列表被应用于所述当前块;以及
基于确定,量化所述变换系数,
其中,在所述当前块的树类型为单树并且所述当前块为色度分量时,应用所述缩放列表。
9.根据权利要求8所述的图像编码方法,其中,不对所述当前块的色度分量执行所述LFNST。
10.根据权利要求8所述的图像编码方法,其中,在所述当前块的树类型为单树并且对所述当前块执行所述LFNST时,所述缩放列表不被应用于所述当前块的亮度分量。
11.根据权利要求8所述的图像编码方法,其中,在所述当前块的树类型是双树色度并且对所述当前块执行所述LFNST时,所述缩放列表不被应用于所述色度分量。
12.根据权利要求8所述的图像编码方法,其中,在所述当前块的树类型是双树亮度并且对所述当前块执行所述LFNST时,所述缩放列表不被应用于所述亮度分量。
13.根据权利要求8所述的图像编码方法,进一步包括:
编码和输出指示当执行所述LFNST时所述缩放列表是否可用的标志信息。
14.根据权利要求8所述的图像编码方法,其中,所述当前块包括变换块。
15.一种计算机可读数字存储介质,所述计算机可读数字存储介质存储指令信息以使图像解码方法被执行,所述图像解码方法包括:
基于从比特流接收到的残差信息,导出用于当前块的变换系数;
通过将LFNST应用于所述变换系数,导出修改的变换系数;以及
基于所述修改的变换系数的逆初级变换,导出用于目标块的残差样本,
其中,导出所述变换系数包括:
基于是否应用所述LFNST以及所述当前块的树类型,确定是否缩放列表被应用于所述当前块;以及
基于确定结果,从所述残差信息导出用于所述当前块的所述变换系数,以及
其中,在所述当前块的树类型为单树并且所述当前块为色度分量时,应用所述缩放列表。
CN202180013799.6A 2020-01-10 2021-01-11 基于变换的图像编译方法及其装置 Pending CN115066904A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202062959814P 2020-01-10 2020-01-10
US62/959,814 2020-01-10
PCT/KR2021/000339 WO2021141472A1 (ko) 2020-01-10 2021-01-11 변환에 기반한 영상 코딩 방법 및 그 장치

Publications (1)

Publication Number Publication Date
CN115066904A true CN115066904A (zh) 2022-09-16

Family

ID=76788200

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180013799.6A Pending CN115066904A (zh) 2020-01-10 2021-01-11 基于变换的图像编译方法及其装置

Country Status (7)

Country Link
US (1) US20230036126A1 (zh)
EP (1) EP4090031A4 (zh)
JP (2) JP7458489B2 (zh)
KR (1) KR20220097519A (zh)
CN (1) CN115066904A (zh)
WO (1) WO2021141472A1 (zh)
ZA (1) ZA202207720B (zh)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103125116A (zh) * 2010-09-28 2013-05-29 三星电子株式会社 视频编码方法和装置以及解码方法和装置
IN2014DN03098A (zh) * 2011-10-17 2015-05-15 Kt Corp
KR102424062B1 (ko) 2016-08-24 2022-07-22 소니그룹주식회사 화상 처리 장치, 화상 처리 방법 및 프로그램
KR20190140423A (ko) * 2019-07-02 2019-12-19 광운대학교 산학협력단 스케일링을 이용한 잔차 블록 부호화/복호화 방법 및 장치

Also Published As

Publication number Publication date
JP2024060093A (ja) 2024-05-01
EP4090031A1 (en) 2022-11-16
ZA202207720B (en) 2023-12-20
WO2021141472A1 (ko) 2021-07-15
JP2023510338A (ja) 2023-03-13
EP4090031A4 (en) 2024-01-10
JP7458489B2 (ja) 2024-03-29
KR20220097519A (ko) 2022-07-07
US20230036126A1 (en) 2023-02-02

Similar Documents

Publication Publication Date Title
CN112655216A (zh) 基于变换的图像编码方法及装置
CN114731434A (zh) 基于变换的图像编码方法及其装置
CN113940070A (zh) 基于变换的图像编码方法及其装置
JP7461473B2 (ja) 変換に基づく映像エンコード方法およびその装置
CN113170197A (zh) 基于二次变换的图像编码方法及其装置
CN114982239A (zh) 基于变换的图像编码方法及其装置
CN113273214A (zh) 基于二次变换的图像编码方法及其装置
CN113940074A (zh) 基于广角帧内预测和变换的图像编码方法和装置
CN114846798A (zh) 用于基于变换的图像编码的方法及其设备
CN114930847A (zh) 基于变换的图像编码方法及其装置
CN114586353A (zh) 基于变换的图像编码方法及装置
CN114127789A (zh) 关于变换核集的信息的编译
CN115152232A (zh) 基于变换的图像编译方法及其装置
CN114930848A (zh) 基于变换的图像编码方法及其设备
CN114342393A (zh) 基于变换的图像编译方法及其设备
CN114930846A (zh) 基于变换的图像编码方法及其装置
CN114747220A (zh) 基于变换的图像编码方法及其设备
CN114009023A (zh) 基于变换的图像编码方法及其装置
CN114930850A (zh) 基于变换的图像编码方法及其设备
CN113228685A (zh) 用于基于二次变换编码图像的方法及其装置
CN114762340A (zh) 编译图像的基于变换的方法及其装置
CN114731439A (zh) 基于变换的图像编译方法及其装置
CN114930845A (zh) 基于变换的图像编码方法及其装置
CN114846799A (zh) 基于变换的图像编码方法及其设备
CN114930851A (zh) 基于变换的图像编码方法及其装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination