CN114450961A - 基于变换的图像编译方法及设备 - Google Patents

基于变换的图像编译方法及设备 Download PDF

Info

Publication number
CN114450961A
CN114450961A CN202080064445.XA CN202080064445A CN114450961A CN 114450961 A CN114450961 A CN 114450961A CN 202080064445 A CN202080064445 A CN 202080064445A CN 114450961 A CN114450961 A CN 114450961A
Authority
CN
China
Prior art keywords
transform
block
current block
sub
information
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
CN202080064445.XA
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 CN114450961A publication Critical patent/CN114450961A/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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • 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
    • 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/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/172Methods 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 picture, frame or field
    • 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/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

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)

Abstract

根据本文档的图像解码方法包括基于变换系数导出用于当前块的残差样本的步骤,其中导出变换系数的步骤可以包括以下步骤:确定用于通过划分编译单元执行变换的子块变换是否应用于当前块;确定使用多个变换核的多重变换选择(MTS)是否应用于当前块;以及基于子块变换是否应用于当前块以及多重变换选择是否应用于当前块,设置要应用变换的变换块的大小。

Description

基于变换的图像编译方法及设备
技术领域
本公开通常涉及图像编译技术,并且更具体地,涉及一种图像编译系统中基于变换的图像编译方法及其设备。
背景技术
近来在各种领域中对诸如超高清(HUD)图像和4K或8K或更大视频这样的高分辨率且高质量的图像和视频的需求日益增加。随着图像和视频数据变成高分辨率和高质量,与现有图像和视频数据相比,相对发送的信息量或位数增加。因此,如果使用诸如现有有线或无线宽带线这样的介质来传输图像数据或者使用现有存储介质来存储图像和视频数据,则传输成本和存储成本增加。
此外,近来对诸如虚拟现实(VR)、人工现实(AR)内容或全息图这样的沉浸式媒体的兴趣和需求日益增加。诸如游戏图像这样的图像特性与真实图像的图像特性不同的图像和视频的广播日益增加。
因此,为了有效地压缩并传输或存储并回放具有这样的各种特性的高分辨率且高质量的图像和视频的信息,需要高效的图像和视频压缩技术。
发明内容
技术问题
本公开的技术方面是为了提供一种用于提高图像编译效率的方法和设备。
本公开的另一技术方面是为了提供一种用于提高残差编译效率的方法和设备。
本公开的再一技术方面是为了提供一种用于通过基于高频归零化(high-frequency zeroing)对变换系数进行编译来提高残差编译效率的方法和设备。
本公开的又一技术方面是为了提供一种用于提高在其中基于多重变换选择来执行高频归零化的图像编译的效率的方法和设备。
本公开的再一技术方面是为了提供一种用于对图像进行编译的方法和设备,该方法和设备能够减少在执行高频归零化时的数据丢失。
本公开的又一技术方面是为了提供一种用于在基于高频归零化对用于当前块(或当前变换块)的变换系数进行编译时基于当前块大小来导出用于最后有效变换系数位置信息的上下文模型的方法和设备。
技术方案
根据本公开的实施例,提供了一种由解码装置执行的图像解码方法。该方法包括:基于变换系数导出用于当前块的残差样本,其中该变换系数的导出包括确定用于对分区的编译单元执行变换的子块变换是否应用于当前块,确定使用多个变换核的多重变换选择(MTS)是否应用于当前块,以及基于是否子块变换被应用于当前块以及是否多重变换选择被应用于当前块来设置要应用变换的变换块的大小。
变换块包括指示其中有效变换系数能够存在于当前块的区域的归零块。
基于子块变换被应用于当前块以及多重变换选择被应用于当前块,将归零块的宽度或高度设置为16。
基于子块变换是否不被应用于当前块或者多重变换选择不被应用于当前块,将归零块的宽度或高度设置为32或更小。
基于指示子块变换是否被应用到当前块的标志信息来确定是否应用子块变换,并且在编译单元级别处用信号发送该标志信息。
基于指示多重变换选择是否被应用到当前块的标志信息来确定是否应用多重变换选择,并且该标志信息在序列参数集级别处被用信号发送。
当分区的子块的高度小于64并且子块的宽度为32时,归零块的宽度为16,并且当子块的宽度小于64并且子块的高度为32时,归零块的高度被设置为16。
残差信息可以包括最后有效系数前缀信息,并且可以基于归零块的大小来导出最后有效系数前缀信息的最大值。
根据本公开的另一实施例,提供了一种由编码装置执行的图像编码方法。该方法包括:基于用于当前块的残差样本来导出变换系数,其中变换系数的导出可以包括确定用于对分区的编译单元执行变换的子块变换是否应用于当前块;确定使用多个变换核的多个变换选择(MTS)是否应用于当前块;以及基于子块变换是否被应用于当前块以及多重变换选择是否被应用于当前块,在解码过程中设置要应用逆变换的变换系数存在于其中的区域的大小。
根据本公开的再一实施方式,可以提供一种数字存储介质,该数字存储介质存储包括编码图像信息和根据由编码设备执行的图像编码方法生成的比特流的图像数据。
根据本公开的又一实施方式,可以提供一种数字存储介质,该数字存储介质存储包括编码图像信息和比特流的图像数据以使解码设备执行图像解码方法。
有益效果
根据本公开,可以提高整体图像/视频压缩效率。
根据本公开,可以提高残差编译的效率。
根据本公开,可以通过基于高频归零化对变换系数进行编译来提高残差编译的效率。
根据本公开,可以提高在其中基于多重变换选择来执行高频归零化的图像编译的效率。
根据本公开,可以减少在执行高频归零化时的数据丢失,从而提高图像编译的效率。
能够通过本公开的特定示例获得的效果不限于上面列举的效果。例如,可以存在相关领域的普通技术人员能够理解或从本公开中导出的各种技术效果。因此,本公开的特定效果不限于在本公开中显式地描述的效果,并且可以包括能够从本公开的技术特征理解或导出的各种效果。
附图说明
图1是示意性地图示本公开适用的视频/图像编码装置的配置的图。
图2是示意性地图示本公开适用的视频/图像解码装置的配置的图
图3示意性地图示根据本公开的实施例的多重变换技术。
图4示例性地示出65个预测方向的帧内定向模式。
图5图示根据本公开的示例的应用于子块变换的MTS。
图6图示根据本公开的示例的应用于子块变换的32点归零。
图7是图示根据本公开的实施例的视频解码装置的操作的流程图。
图8是图示根据本公开的实施例的用于由视频解码装置导出变换系数的过程的流程图。
图9是图示根据本公开的实施例的视频编码装置的操作的流程图。
图10是图示根据本公开的实施例的用于由视频编码设备对变换系数和信息进行编码的过程的流程图。
图11示意性地图示本公开适用的视频/图像编译系统的示例
图12图示本公开应用于的内容流传输系统的结构。
具体实施方式
尽管本公开可能易于进行各种修改并且包括各种实施方式,但是其具体实施方式已在附图中通过示例的方式示出,并且现在将对其进行详细描述。然而,这并不旨在将本公开限制于本文公开的具体实施方式。本文中使用的术语只是出于描述特定实施方式的目的,并不旨在限制本公开的技术思路。除非上下文另外清楚指示,否则单数形式可以包括复数形式。诸如“包括”和“具有”之类的术语旨在指示存在以下描述中使用的特征、数字、步骤、操作、元件、组件或其组合,因此不应被理解为预先排除了存在或添加一个或更多个不同特征、数字、步骤、操作、元件、组件或其组合的可能性。
同时,为了方便描述彼此不同的特性功能,独立地例示了本文中描述的附图上的各组件,然而,并不意指各组件由单独的硬件或软件来实现。例如,可以组合这些组件中的任何两个或更多个以形成单个组件,并且任何单个组件可以被划分成多个组件。其中组件被组合和/或划分的实施方式将属于本公开的专利权的范围,只要它们不脱离本公开的实质即可。
在下文中,将参照附图更详细地说明本公开的优选实施方式。另外,在附图中,相同的附图标号用于相同的组件,并且将省略对相同组件的重复描述。
本文档涉及视频/图像编译。例如,本文档中公开的方法/示例可以涉及VVC(通用视频编译)标准(ITU-T Rec.H.266)、VVC之后的下一代视频/图像编译标准、或其他视频编译相关标准(例如,HEVC(高效视频编译)标准(ITU-T Rec.H.265)、EVC(基本视频编译)标准、AVS2标准等)。
在本文档中,可以提供与视频/图像编译相关的各种实施方式,并且除非相反地指定,否则这些实施方式可以彼此组合并执行。
在本文档中,视频可以是指一段时间内一系列图像的集合。通常,图片是指表示特定时间区域的图像的单元,而条带/贴片是构成图片的一部分的单元。条带/贴片可以包括一个或更多个编译树单元(CTU)。一幅图片可以由一个或更多个条带/贴片组成。一幅图片可以由一个或多个贴片组组成。一个贴片组可以包括一个或更多个贴片。
像素或图元(pel)可以是指构成一幅图片(或图像)的最小单元。另外,“样本”可用作与像素相对应的术语。样本通常可以表示像素或像素值,并且可以仅表示亮度分量的像素/像素值或仅表示色度分量的像素/像素值。另选地,样本可以意指空间域中的像素值,或者当该像素值被变换为频域时,其可以意指频域中的变换系数。
单元可以表示图像处理的基本单位。单元可以包括特定区域和与该区域相关的信息中的至少一个。一个单元可以包括一个亮度块和两个色度(例如,cb、cr)块。根据情况,可以将单元和诸如块、区域等这样的术语互换地使用。在通常情况下,M×N块可以包括由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,编码装置100包括图像分区器110、预测器120、残差处理器130以及熵编码器140、加法器150、滤波器160和存储器170。预测器120可以包括帧间预测器121和帧内预测器122。残差处理器130可以包括变换器132、量化器133、解量化器134和逆变换器135。残差处理器130还可以包括减法器131。可以将加法器150称作重构器或重构块生成器。根据实施例,图像分区器110、预测器120、残差处理器130、熵编码器140、加法器150和滤波器160可以由至少一个硬件组件(例如,编码器芯片组或处理器)配置。另外,存储器170可以包括解码图片缓冲器(DPB)或者可以由数字存储介质配置。硬件组件还可以包括存储器170作为内部/外部组件。
图像分区器110可以将输入到编码装置100的输入图像(或图片或帧)分区成一个或多个处理单元。例如,可以将处理器称作编译单元(CU)。在这种情况下,可以从编译树单元(CTU)或最大编译单元(LCU)根据四叉树二叉树三叉树(QTBTTT)结构递归地对编译单元进行分区。例如,可以基于四叉树结构、二叉树结构和/或三叉树结构将一个编译单元分区成更深深度的多个编译单元。在这种情况下,例如,可以首先应用四叉树结构并且可以稍后应用二叉树结构和/或三叉树结构。可替选地,可以首先应用二叉树结构。可以基于不再被分区的最终编译单元来执行根据本文档的编译过程。在这种情况下,可以根据图像特性基于编译效率将最大编译单元用作最终编译单元,或者必要时,可以将编译单元递归地分区成更深的编译单元并且可以将具有最佳大小的编译单元用作最终编译单元。这里,编译过程可以包括预测、变换和重构的过程,将稍后对此进行描述。作为另一示例,处理器还可以包括预测单元(PU)或变换单元(TU)。在这种情况下,可以从前述最终编译单元对预测单元和变换单元进行分割或分区。预测单元可以是样本预测的单元,并且变换单元可以是用于推导变换系数的单元和/或用于从变换系数推导残差信号的单元。
在一些情况下,单元可以与诸如块或区域的术语互换地使用。在一般情况下,M×N块可以表示由M列和N行组成的样本或变换系数的集合。样本可以通常表示像素或像素的值,可以仅表示亮度分量的像素/像素值或者仅表示色度分量的像素/像素值。可以将样本用作与像素或像元(pel)的一个图片(或图像)相对应的术语。
在编码装置100中,从输入图像信号(原始块、原始样本数组)减去从帧间预测器121或帧内预测器122输出的预测信号(预测块、预测样本数组)以生成残差信号(残差块、残差样本数组),并且将所生成的残差信号发送到变换器132。在这种情况下,如所示,可以将编码装置100中用于从输入图像信号(原始块、原始样本数组)减去预测信号(预测块、预测样本数组)的单元称作减法器131。预测器可以对要处理的块(在下文中,称为当前块)执行预测,并且生成包括用于当前块的预测样本的预测块。预测器可以确定在当前块或CU基础上应用帧内预测还是帧间预测。如稍后在每种预测模式的描述中描述的,预测器可以生成与预测相关的各种信息,诸如预测模式信息,并且将所生成的信息发送到熵编码器140。关于预测的信息可以在熵编码器140中被编码并且以比特流的形式输出。
帧内预测器122可以通过参考当前图片中的样本来预测当前块。所参考的样本可以位于当前块的附近或者可以根据预测模式间隔开。在帧内预测中,预测模式可以包括多个非定向模式和多个定向模式。非定向模式可以包括例如DC模式和平面模式。根据预测方向的详细程度,定向模式可以包括例如33个定向预测模式或65个定向预测模式。然而,这仅仅是示例,可以取决于设置而使用更多或更少的定向预测模式。帧内预测器122可以通过使用应用于邻近块的预测模式来确定应用于当前块的预测模式。
帧间预测器121可以基于由参考图片上的运动矢量指定的参考块(参考样本数组)来推导当前块的预测块。这里,为了减少在帧间预测模式中发送的运动信息的量,可以基于邻近块与当前块之间的运动信息的相关性以块、子块或样本为单位预测运动信息。运动信息可以包括运动矢量和参考图片索引。运动信息还可以包括帧间预测方向(L0预测、L1预测、Bi预测等)信息。在帧间预测的情况下,邻近块可以包括存在于当前图片中的空间邻近块和存在于参考图片中的时间邻近块。包括参考块的参考图片和包括时间邻近块的参考图片可以是相同或不同的。可以将时间邻近块称作并置参考块、并置CU(colCU)等,并且可以将包括时间邻近块的参考图片称作并置图片(colPic)。例如,帧间预测器121可以基于邻近块构建运动信息候选列表并且生成指示哪个候选被用于推导当前块的运动矢量和/或参考图片索引的信息。可以基于各种预测模式来执行帧间预测。例如,在跳过模式和合并模式的情况下,帧间预测器121可以使用邻近块的运动信息作为当前块的运动信息。在跳过模式中,与合并模式不同,可以不发送残差信号。在运动矢量预测(MVP)模式的情况下,可以将邻近块的运动矢量用作运动矢量预测器并且可以通过用信号通知运动矢量差来指示当前块的运动矢量。
预测器120可以基于下述各种预测方法来生成预测信号。例如,预测器可以不仅应用帧内预测或帧间预测来预测一个块,而且还同时地应用帧内预测和帧间预测。这可以被称作组合帧间和帧内预测(CIIP)。另外,预测器可以基于帧内块复制(IBC)预测模式或用于块的预测的调色板模式。IBC预测模式或调色板模式可以被用于游戏等的内容图像/视频编译,例如屏幕内容编译(SCC)。IBC基本上在当前图片中执行预测,但是可以类似于帧间预测被执行,因为在当前图片中推导参考块。也就是说,IBC可以使用本文档中描述的帧间预测技术中的至少一个。可以将调色板模式认为是帧内编译或帧内编译的示例。当应用调色板模式时,可以基于关于调色板表和调色板索引的信息用信号通知图片内的样本值。
由预测器(包括帧间预测器121和/或帧内预测器122)生成的预测信号可以用于生成重构信号或者生成残差信号。变换器132可以通过对残差信号应用变换技术来生成变换系数。例如,变换技术可以包括离散余弦变换(DCT)、离散正弦变换(DST)、karhunen-loève变换(KLT)、基于图的变换(GBT)或条件非线性变换(CNT)中的至少一个。这里,GBT意指当像素之间的关系信息由图表示时从图获得的变换。CNT是指基于使用所有先前重构的像素生成的预测信号所生成的变换。另外,变换过程可以被应用于具有相同大小的正方形像素块或者可以被应用于具有可变大小而不是正方形的块。
量化器133可以量化变换系数并且将它们发送到熵编码器140,并且熵编码器140可以对量化信号(关于量化变换系数的信息)进行编码并且输出比特流。可以将关于量化变换系数的信息称为残差信息。量化器133可以基于系数扫描顺序将块类型量化变换系数重新布置成一维矢量形式并且基于一维矢量形式的量化变换系数生成关于量化变换系数的信息。可以生成关于变换系数的信息。熵编码器140可以执行诸如例如指数哥伦布(exponential Golomb)、上下文自适应可变长度编译(CAVLC)、上下文自适应二进制算术编译(CABAC)等的各种编码方法。熵编码器140可以一起或分开地对除了量化变换系数(例如,语法元素的值等)以外的视频/图像重构所必需的信息进行编码。编码信息(例如,编码视频/图像信息)可以被以比特流的形式以NAL(网络抽象层)为单位发送或存储。视频/图像信息还可以包括关于诸如自适应参数集(APS)、图片参数集(PPS)、序列参数集(SPS)或视频参数集(VPS)的各种参数集的信息。另外,视频/图像信息还可以包括一般约束信息。在本文档中,从编码装置发送/用信号通知到解码装置的信息和/或语法元素可以被包括在视频/图片信息中。视频/图像信息可以通过上述编码过程来编码并且被包括在比特流中。比特流可以通过网络发送或者可以被存储在数字存储介质中。网络可以包括广播网络和/或通信网络,并且数字存储介质可以包括诸如USB、SD、CD、DVD、蓝光、HDD、SSD等的各种存储介质。发送从熵编码器140输出的信号的发送器(未示出)和/或存储该信号的存储单元(未示出)可以作为编码装置100的内部/外部元件被包括,并且可替选地,发送器可以被包括在熵编码器140中。
从量化器133输出的量化变换系数可以用于生成预测信号。例如,可以通过经由解量化器134和逆变换器135对量化变换系数应用解量化和逆变换来重构残差信号(残差块或残差样本)。加法器150将重构残差信号加到从帧间预测器121或帧内预测器122输出的预测信号以生成重构信号(重构图像、重构块、重构样本数组)。如果要处理的块没有残差,诸如应用跳过模式的情况,则可以将预测块用作重构块。可以将加法器150称作重构器或重构块生成器。所生成的重构信号可以被用于对当前图片中要处理的下一块进行帧内预测并且可以被用于通过如下所述的滤波对下一图片进行帧间预测。
同时,可以在图片编码和/或重构期间应用具有色度缩放的亮度映射(LMCS)。
滤波器160可以通过对重构信号应用滤波来提高主观/客观图像质量。例如,滤波器160可以通过对重构图片应用各种滤波方法来生成修改的重构图片并且将该修改的重构图片存储在存储器170(具体地,存储器170的DPB)中。各种滤波方法可以包括例如解块滤波、样本自适应偏移、自适应环路滤波器、双边滤波器等。滤波器160可以如稍后在每个滤波方法的描述中描述的那样生成与滤波相关的各种信息并且将所生成的信息发送到熵编码器140。与滤波相关的信息可以由熵编码器140编码并且以比特流的形式输出。
可以将发送到存储器170的修改的重构图片用作帧间预测器121中的参考图片。当通过编码装置来应用帧间预测时,可以避免编码装置100与解码装置之间的预测失配并且可以提高编码效率。
存储器170的DPB可以存储修改的重构图片以供用作帧间预测器121中的参考图片。存储器170可以存储从中推导当前图片中的运动信息(或对其进行编码)的块的运动信息和/或图片中已经被重构的块的运动信息。所存储的运动信息可以被发送到帧间预测器121并且用作空间邻近块的运动信息或时间邻近块的运动信息。存储器170可以存储当前图片中的重构块的重构样本并且可以将重构样本传送到帧内预测器122。
图2是图示本文档的实施例可以被应用于的视频/图像解码装置的配置的示意图。
参考图2,解码装置200可以包括熵解码器210、残差处理器220、预测器230、加法器240、滤波器250、存储器260。预测器230可以包括帧间预测器231和帧内预测器232。残差处理器220可以包括解量化器221和逆变换器221。根据实施例,熵解码器210、残差处理器220、预测器230、加法器240和滤波器250可以由硬件组件(例如,解码器芯片组或处理器)配置。另外,存储器260可以包括解码图片缓冲器(DPB)或者可以由数字存储介质配置。硬件组件还可以包括存储器260作为内部/外部组件。
当输入了包括视频/图像信息的比特流时,解码装置200可以重构与在图1的编码装置中处理视频/图像信息的过程相对应的图像。例如,解码装置200可以基于从比特流获得的块分区相关信息来推导单元/块。解码装置200可以使用在编码装置中应用的处理器来执行解码。因此,解码的处理器可以是例如编译单元,并且可以从编译树单元或最大编译单元根据四叉树结构、二叉树结构和/或三叉树结构对编译单元进行分区。可以从编译单元推导一个或多个变换单元。可以通过再现装置来再现通过解码装置200解码和输出的重构图像信号。
解码装置200能够以比特流的形式接收从图1的编码装置输出的信号,并且可以通过熵解码器210对所接收到的信号进行解码。例如,熵解码器210可以解析比特流以推导图像重构(或图片重构)所必需的信息(例如,视频/图像信息)。视频/图像信息还可以包括关于诸如自适应参数集(APS)、图片参数集(PPS)、序列参数集(SPS)或视频参数集(VPS)的各种参数集的信息。另外,视频/图像信息还可以包括一般约束信息。解码装置还可以基于关于参数集的信息和/或一般约束信息对图片进行解码。在本文档中稍后描述的用信号通知/接收的信息和/或语法元素可以通过解码过程被解码并且从比特流获得。例如,熵解码器210基于诸如指数哥伦布编译(exponential Golomb coding)、CAVLC或CABAC的编译方法对比特流中的信息进行解码,并且输出图像重构所需要的语法元素和用于残差的变换系数的量化值。更具体地,CABAC熵解码方法可以接收与比特流中的每个语法元素相对应的bin,使用解码目标语法元素信息、解码目标块的解码信息或前一级中解码的符号/bin的信息来确定上下文模型,并且通过根据所确定的上下文模型预测bin的发生概率来对bin执行算术解码,以及生成与每个语法元素的值相对应的符号。在这种情况下,CABAC熵解码方法可以在确定上下文模型之后通过针对下一符号/bin的上下文模型使用经解码的符号/bin的信息来更新上下文模型。可以将由熵解码器210解码的信息之中与预测相关的信息提供给预测器(帧间预测器232和帧内预测器231),并且可以将在熵解码器210中对其执行熵解码的残差值即量化变换系数和相关参数信息输入到残差处理器220。残差处理器220可以推导残差信号(残差块、残差样本、残差样本数组)。另外,可以将由熵解码器210解码的信息之中关于滤波的信息提供给滤波器250。同时,可以将用于接收从编码装置输出的信号的接收器(未示出)进一步配置为解码装置200的内部/外部元件,或者接收器可以是熵解码器210的组件。同时,可以将根据本文档的解码装置称为视频/图像/图片解码装置,并且可以将解码装置分类为信息解码器(视频/图像/图片信息解码器)和样本解码器(视频/图像/图片样本解码器)。信息解码器可以包括熵解码器210,并且样本解码器可以包括解量化器221、逆变换器222、加法器240、滤波器250、存储器260、帧间预测器232和帧内预测器231中的至少一个。
解量化器221可以将量化的变换系数解量化并且输出变换系数。解量化器221能够以二维块形式的形式重新布置量化变换系数。在这种情况下,可以基于在编码装置中执行的系数扫描顺序执行重新布置。解量化器221可以通过使用量化参数(例如,量化步长信息)来对量化变换系数执行解量化并且获得变换系数。
逆变换器222对变换系数进行逆变换以获得残差信号(残差块、残差样本数组)。
预测器可以对当前块执行预测并且生成包括当前块的预测样本的预测块。预测器可以基于关于从熵解码器210输出的预测的信息来确定是否对当前块应用帧内预测或帧间预测并且可以确定特定帧内/帧间预测模式。
预测器220可以基于下述各种预测方法来生成预测信号。例如,预测器可以不仅应用帧内预测或帧间预测来预测一个块,而且还同时地应用帧内预测和帧间预测。这可以被称作组合帧间和帧内预测(CIIP)。另外,预测器可以基于帧内块复制(IBC)预测模式或用于块的预测的调色板模式。IBC预测模式或调色板模式可以被用于游戏等的内容图像/视频编译,例如屏幕内容编译(SCC)。IBC基本上在当前图片中执行预测,但是可以类似于帧间预测被执行,因为在当前图片中推导参考块。也就是说,IBC可以使用本文档中描述的帧间预测技术中的至少一个。可以将调色板模式认为是帧内编译或帧内编译的示例。当应用调色板模式时,可以基于关于调色板表和调色板索引的信息用信号通知图片内的样本值。
帧内预测器231可以通过参考当前图片中的样本来预测当前块。参考样本可以位于当前块的附近或者可以根据预测模式间隔开。在帧内预测中,预测模式可以包括多个非定向模式和多个定向模式。帧内预测器231可以通过使用应用于邻近块的预测模式来确定应用于当前块的预测模式。
帧间预测器232可以基于参考图片上的由运动矢量指定的参考块(参考样本数组)来推导用于当前块的预测块。在这种情况下,为了减少在帧间预测模式中发送的运动信息的量,可以基于邻近块与当前块之间的运动信息的相关性以块、子块或样本为单位预测运动信息。运动信息可以包括运动矢量和参考图片索引。运动信息还可以包括帧间预测方向(L0预测、L1预测、Bi预测等)信息。在帧间预测的情况下,邻近块可以包括存在于当前图片中的空间邻近块和存在于参考图片中的时间邻近块。例如,帧间预测器232可以基于邻近块构建运动信息候选列表并且基于所接收到的候选选择信息来推导当前块的运动矢量和/或参考图片索引。可以基于各种预测模式来执行帧间预测,并且关于预测的信息可以包括指示用于当前块的帧间预测的模式的信息。
加法器240可以通过将所获得的残差信号加到从预测器(包括帧间预测器232和/或帧内预测器231)输出的预测信号(预测块、预测样本数组)来生成重构信号(重构图片、重构块、重构样本数组)。如果要处理的块没有残差,诸如当应用跳过模式时,则可以将预测块用作重构块。
可以将加法器240称作重构器或重构块生成器。所生成的重构信号可以被用于当前图片中要处理的下一块的帧内预测,可以通过如下所述的滤波来输出,或者可以被用于下一图片的帧间预测。
同时,可以在图片解码过程中应用具有色度缩放的亮度映射(LMCS)。
滤波器250可以通过对重构信号应用滤波来提高主观/客观图像质量。例如,滤波器250可以通过对重构图片应用各种滤波方法来生成修改的重构图片并且将该修改的重构图片存储在存储器260(具体地,存储器260的DPB)中。各种滤波方法可以包括例如解块滤波、样本自适应偏移、自适应环路滤波器、双边滤波器等。
可以将存储器260的DPB中存储的(修改的)重构图片用作帧间预测器232中的参考图片。存储器260可以存储从其推导(或解码)当前图片中的运动信息的块的运动信息和/或图片中已经被重构的块的运动信息。可以将所存储的运动信息发送到帧间预测器160以便被用作空间邻近块的运动信息或时间邻近块的运动信息。存储器260可以存储当前图片中的重构块的重构样本并且将重构样本发送到帧内预测器231。
在本文档中,在编码装置100的滤波器160、帧间预测器121和帧内预测器122中描述的实施例可以与解码装置200的滤波器250、帧间预测器232和帧内预测器231相同或者分别对应于解码装置200的滤波器250、帧间预测器232和帧内预测器231。
如上所述,在执行视频编译中,执行预测以提高压缩效率。能够通过预测来生成包括用于当前块的预测样本的预测块,即目标编译块。在这种情况下,预测块包括空间域(或像素域)中的预测样本。在编码装置和解码装置中相同地推导预测块。编码装置能够通过向解码装置用信号通知关于在原始块,而不是原始块的原始样本值本身,与预测块之间的残差的信息(残差信息)来提高图像编译效率。解码装置可以基于残差信息推导包括残差样本的残差块,可以通过将残差块和预测块相加来生成包括重构样本的重构图像,并且可以生成包括重构块的重构图片。
可以通过变换和量化过程来生成残差信息。例如,编码装置可以推导原始块与预测块之间的残差块,可以通过对包括在残差块中的残差样本(残差样本数组)执行变换过程来推导变换系数,可以通过对变换系数执行量化过程来推导量化变换系数,并且可以(通过比特流)向解码装置用信号通知相关残差信息。在这种情况下,残差信息可以包括诸如量化变换系数的值信息、位置信息、变换方案、变换核、量化参数的信息。解码装置可以基于残差信息执行解量化/逆变换过程,并且可以推导残差样本(或残差块)。解码装置可以基于预测块和残差块来生成重构图片。此外,编码装置可以通过对量化变换系数进行解量化/逆变换来推导残差块以供参考后续图片的帧间预测,并且可以生成重构图片。
图3示意性地图示根据本公开的实施例的多重变换技术。
参考图3,变换器可以对应于前面图1的编码装置中的变换器,并且逆变换器可以对应于前面图1的编码装置中的逆变换器,或者对应于图2的解码装置中的逆变换器。
变换器可以通过基于残差块中的残差样本(残差样本数组)执行初级变换来推导(初级)变换系数(S310)。可以将此初级变换称为核心变换。在本文中,初级变换可以基于多变换选择(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可以被称为变换类型、变换核或变换核心。可以基于基函数来定义这些DCT/DST变换类型。
当执行多核心变换时,可以从变换核之中选择用于目标块的垂直变换核和水平变换核,可以基于垂直变换核对目标块执行垂直变换,并且可以基于水平变换核对目标块执行水平变换。这里,水平变换可以指示对目标块的水平分量的变换,并且垂直变换可以指示对目标块的垂直分量的变换。可以基于包括残差块的目标(CU或子块)的预测模式和/或变换索引来适应性地确定垂直变换核/水平变换核。
此外,根据示例,如果通过应用MTS来执行初级变换,则可以通过将特定基函数设置为预定值并组合要在垂直变换或水平变换中应用的基函数来设置变换核的映射关系。例如,当水平变换核表示为trTypeHor,并且垂直方向变换核表示为trTypeVer时,可以将值为0的trTypeHor或trTypeVer设置给DCT2,将值为1的trTypeHor或trTypeVer设置给DST7,并且将值为2的trTypeHor或trTypeVer可以设置给DCT8。
在这种情况下,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] 1 1 2 3 4
trTypeHor 1 1 2 1 2
trTvpeVer 0 1 1 2 2
变换器可以通过基于(初级)变换系数执行次级变换(secondary transform)来推导修改的(次级)变换系数(S320)。初级变换是从空间域到频域的变换,而次级变换是指通过使用(初级)变换系数之间存在的相关性,变换为更具压缩性的表示。次级变换可以包括不可分离的变换。在这种情况下,次级变换可以称为不可分离的次级变换(NSST)或模式相关的不可分离的次级变换(MDNSST)。不可分离的次级变换可以表示这样的变换,其通过基于不可分离的变换矩阵对通过初级变换推导出的(初级)变换系数进行次级变换来生成针对残差信号的修改的变换系数(或次级变换系数)。此时,垂直变换和水平变换可以不单独应用于(初级)变换系数(或者水平变换和垂直变换可以不独立应用),但是可以基于不可分离变换矩阵一次地应用变换。换句话说,不可分离的次级变换可以表示这样的变换方法,其中,(初级)变换系数的垂直分量和水平分量不分离,并且例如,将二维信号(变换系数)通过某个确定的方向(例如,行第一方向或列第一方向)重新布置为一维信号,然后基于不可分离的变换矩阵生成修改的变换系数(或次级变换系数)。例如,根据行优先顺序,MxN个块以第一行、第二行、…和第N行的顺序设置成排。根据列优先顺序,MxN个块以第一列、第二列、…和第M列的顺序设置成排。不可分离的次级变换可以应用于配置有(初级)变换系数的块(在下文中,可以称为变换系数块)的左顶部区域。例如,如果变换系数块的宽度(W)和高度(H)均等于或大于8,则可以将8×8不可分离的次级变换应用于变换系数块的左顶部8×8区域。此外,如果变换系数块的宽度(W)和高度(H)均等于或大于4,并且变换系数块的宽度(W)或高度(H)小于8,那么可以将4×4不可分离的次级变换应用于变换系数块的左顶部min(8,W)×min(8,H)区域。然而,实施方式不限于此,并且例如,即使仅满足变换系数块的宽度(W)或高度(H)等于或大于4的条件,4×4不可分离的次级变换也可以应用于变换系数块的左顶部min(8,W)×min(8,H)区域。
具体地,例如,如果使用4×4输入块,则不可分离的次级变换可以如下执行。
4×4输入块X可以表示如下。
[式1]
Figure BDA0003545196180000211
如果X以向量的形式表示,则向量
Figure BDA0003545196180000212
可以如下表示。
[式2]
Figure BDA0003545196180000213
在式2中,向量
Figure BDA0003545196180000214
是通过根据行优先顺序重新布置式1的二维块X而获得的一维向量。
在这种情况下,可以如下计算不可分离的次级变换。
[式3]
Figure BDA0003545196180000221
在此式中,
Figure BDA0003545196180000222
表示变换系数向量,而T表示16×16(不可分离的)变换矩阵。
通过前述式3,可以推导16×1变换系数向量
Figure BDA0003545196180000223
并且可以通过扫描顺序(水平、垂直和对角线等)将向量
Figure BDA0003545196180000224
重新组织为4×4块。然而,上述计算是示例,并且超立方体-吉文斯变换(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)模式。
图4示意性地示出了65个预测方向的帧内定向模式。
参照图4,基于具有左上对角预测方向的帧内预测模式34,帧内预测模式可以划分为具有水平方向性的帧内预测模式和具有垂直方向性的帧内预测模式。在图4中,H和V分别标示水平方向性和垂直方向性,并且数字-32至32指示样本网格位置上的1/32单位的位移。这些数字可以表示对于模式索引值的偏移。帧内预测模式2至33具有水平方向性,并且帧内预测模式34至66具有垂直方向性。严格地说,帧内预测模式34可以被视为既不是水平的也不是垂直的,但在确定次级变换的变换集时可以被分类为属于水平方向性。这是因为输入数据被转置以用于基于帧内预测模式34对称的垂直定向模式,并且针对水平模式的输入数据对准方法用于帧内预测模式34。对输入数据进行转置意指将二维的M×N块数据的行和列切换成N×M数据。帧内预测模式18和帧内预测模式50可以分别表示水平帧内预测模式和垂直帧内预测模式,并且帧内预测模式2可以被称为右上对角帧内预测模式,因为帧内预测模式2具有左参考像素并且在右上方向中执行预测。类似地,帧内预测模式34可以被称为右下对角帧内预测模式,而帧内预测模式66可以被称为左下对角帧内预测模式。
根据示例,可以映射根据帧内预测模式的四个变换集,例如,如下表所示。
[表2]
lfnstPredModeIntra lfnstTrSetIdx
lfnstPredModeIntra<0 1
0<=1fnstPredModeIntra<=1 0
2<=lfnstPredModeIntra<=12 1
13<=1fnstPredModeIntra<=23 2
24<=1fnstPredModeIntra<=44 3
45<=1fnstPredModeIntra<=55 2
56<=lfnstPredModeIntra<=80 1
81<=lfnstPredModeIntra<=83 0
如表2所示,根据帧内预测模式,四个变换集中的任何一个,即,lfnstTrSetIdx,可以映射到四个索引(即,0至3)中的任何一个。
当确定特定集用于不可分离的变换时,可以通过不可分离的次级变换索引来选择特定集中的k个变换核之一。编码设备可以基于率失真(RD)校验来推导指示特定变换核的不可分离的次级变换索引,并且可以将不可分离的次级变换索引发信号通知给解码设备。解码设备可以基于不可分离的次级变换索引来选择特定集中的k个变换核中的一个。例如,lfnst索引值0可以指代第一不可分离的次级变换核,lfnst索引值1可以指代第二不可分离的次级变换核,lfnst索引值2可以指代第三不可分离的次级变换核。另选地,lfnst索引值0可以指示第一不可分离的次级变换没有被应用于目标块,并且lfnst索引值1至3可以指示三个变换核。
变换器可以基于所选择的变换核来执行不可分离的次级变换,并且可以获得修改的(次级)变换系数。如上所述,修改的变换系数可以被推导为通过量化器量化的变换系数,并且可以被编码并发信号通知给解码设备,并且被传送到编码设备中的解量化器/逆变换器。
同时,如上所述,如果省略了次级变换,则可以将作为初级(可分离的)变换的输出的(初级)变换系数推导为如上所述通过量化器量化的变换系数,并且可以被编码并发信号通知给解码设备,并传送到编码设备中的解量化器/逆变换器。
逆变换器可以与在上述变换器中已经执行的顺序相反的顺序执行一系列过程。逆变换器可以接收(解量化的)变换系数,并且通过执行次级(逆)变换来推导(初级)变换系数(S350),并且可以通过对(初级)变换系数执行初级(逆)变换来获得残差块(残差样本)(S360)。就此而言,从逆变换器的视角来看,初级变换系数可以被称为修改的变换系数。如上所述,编码设备和解码设备可以基于残差块和预测块来生成重构块,并且可以基于重构块来生成重构图片。
解码设备还可以包括次级逆变换应用确定器(或用于确定是否应用次级逆变换的元件)和次级逆变换确定器(或用于确定次级逆变换的元件)。次级逆变换应用确定器可以确定是否应用次级逆变换。例如,次级逆变换可以是NSST、RST或LFNST,并且次级逆变换应用确定器可以基于通过解析比特流而获得的次级变换标志来确定是否应用次级逆变换。在另一示例中,次级逆变换应用确定器可以基于残差块的变换系数来确定是否应用次级逆变换。
次级逆变换确定器可以确定次级逆变换。在这种情况下,次级逆变换确定器可以基于根据帧内预测模式指定的LFNST(NSST或RST)变换集来确定应用于当前块的次级逆变换。在实施方式中,可以取决于初级变换确定方法来确定次级变换确定方法。可以根据帧内预测模式来确定初级变换和次级变换的各种组合。此外,在示例中,次级逆变换确定器可以基于当前块的大小来确定应用次级逆变换的区域。
同时,如上所述,如果省略次级(逆)变换,则可以接收(解量化的)变换系数,可以执行初级(可分离的)逆变换,并且可以获得残差块(残差样本)。如上所述,编码设备和解码设备可以基于残差块和预测块来生成重构块,并且可以基于重构块来生成重构图片。
同时,在本公开中,可以在NSST的概念中应用其中减小了变换矩阵(核)的大小的缩减次级变换(RST),以便减少不可分离的次级变换所需的计算量和存储量。
同时,本公开中描述的变换核、变换矩阵以及构成变换核矩阵的系数,即,核系数或矩阵系数,能够以8比特来表示。这可以是在解码设备和编码设备中实现的条件,并且与现有的9比特或10比特相比,可以减少存储变换核所需的存储量,并且可以合理地适应性能劣化。另外,以8比特表示核矩阵可以允许使用小的乘法器,并且可以更适合于用于最佳软件实现的单指令多数据(SIMD)指令。
在本说明书中,术语“RST”可以是指基于大小根据缩减因子而减小的变换矩阵来对目标块的残差样本执行的变换。在执行缩减变换的情况下,由于变换矩阵的大小的减小,可以减少变换所需的计算量。也就是说,RST可以用于解决在大小大的块的变换或不可分离的变换时发生的计算复杂性问题。
RST可以被称为诸如缩减变换、缩减次级变换、缩小变换、简化变换和简单变换等之类的各种术语,并且RST可以被称为的名称不限于所列示例。另选地,由于RST主要在变换块中的包括非零系数的低频区域中执行,因此它可以被称为低频不可分离的变换(LFNST)。变换索引可以被称作LFNST索引。
同时,当基于RST执行次级逆变换时,编码装置100的逆变换器135和解码装置200的逆变换器222可以包括基于变换系数的逆RST推导修改的变换系数的逆缩减次级变换器,以及基于对修改的变换系数的逆初级变换推导用于目标块的残差样本的逆初级变换器。逆初级变换是指应用于残差的初级变换的逆变换。在本公开中,基于变换推导变换系数可以是指通过应用变换来推导变换系数。
在下文中,描述缩减多变换技术(缩减自适应多选择(或集合)(RMTS))。
如上所述,当在多变换技术(多变换集或自适应多变换)中选择性地使用多个变换(DCT-2、DST-7、DCT-8、DST-1、DCT-5等)的组合用于初级变换时,可以将变换仅应用于预定义区域以便降低复杂度,而不是在所有情况下执行变换,从而在最坏情况下显著地降低复杂度。
例如,当基于前面的缩减变换(RT)方法来将初级变换应用于M×M像素块时,可以仅对R×R块(M>=R)的变换块执行计算,而不是获得M×M变换块。结果,非零有效系数仅存在于R×R区域中,并且其他区域中的变换系数可以被认为是零而不用被计算。下表例示了使用用于应用初级变换的块的大小的预定义的缩减变换因子(R)值的缩减自适应多变换(RAMT)的三个示例。
[表3]
变换大小 缩减变换1 缩减变换2 缩减变换3
8x8 4x4 6x6 6x6
16x16 8x8 12x12 8x8
32x32 16x16 16x16 16x16
64x64 32x32 16x16 16x16
128x128 32x32 16x16 16x16
根据一个示例,在应用上面例示的缩减多变换时,可以基于初级变换来确定缩减变换因子。例如,当初级变换为DCT2时,与其他初级变换相比计算简单,并且因此对于小块可能不使用缩减变换或者对于小块可以使用相对较大的R值,从而使编译性能的降低最小化。例如,不同的缩减变换因子可以被用于DCT2和其他变换如下。
[表4]
变换大小 针对DCT2的缩减变换 除了DCT2之外的缩减变换
8x8 8x8 4x4
16x16 16x16 8x8
32x32 32x32 16x16
64x64 32x32 32x32
128x128 32x32 32x32
如表4所示,当初级变换为DCT2时,变换的大小在要被变换的块的大小为8×8或16×16时不变,并且变换的缩减大小在块的大小为32×32或更大时限于32×32。
可替选地,根据示例,当指示是否应用MTS的标志值是0时(即,当针对水平方向和垂直方向这两者应用DCT2时),对于两个(水平和垂直)方向,仅来自左侧和顶部的32个系数可以被留下并且高频分量可以被归零,也就是说,设置为0(归零实施方式1)。
例如,在64×64变换单元(TU)中,变换系数仅留在左顶部32×32区域中,在64×16TU中,变换系数仅留在左顶部32×16区域中,而在8×64TU中,变换系数仅留在左顶部8×32区域中。也就是说,在宽度和高度这二者上存在与仅至多最大长度为32相对应的变换系数。
这种归零方法可以仅被应用于应用了帧内预测的残差信号或者可以仅被应用于应用了帧间预测的残差信号。可替选地,可以对应用了帧内预测的残差信号和应用了帧间预测的残差信号这二者应用归零方法。
能够被表达为前面的归零或高频归零化的变换块大小的变化是指将在具有W1的第一宽度(或长度)和H1的第一高度(或长度)的(变换)块中与某个值或更大的高频率有关的变换系数归零化(确定为0)的过程。当应用高频归零化时,可以将(变换)块中的变换系数之中的在基于W2的第二宽度和H2的第二高度而配置的低频变换系数区域外部的所有变换系数的变换系数值确定(设置)为0。低频变换系数区域的外部可以被称为高频变换系数区域。在示例中,低频变换系数区域可以是从(变换)块的左顶部起的矩形区域。
也就是说,可以将高频归零化定义为将由w或更大的x坐标和h或更大的y坐标定义的位置处的所有变换系数设置为0,其中当前变换块(TB)的左顶部位置的水平x坐标值被设置为0并且其垂直y坐标值被设置为0(以及其中x坐标从左向右增加并且y坐标向下增加)。
在本公开中,使用了用于定义特定信息或概念的特定术语或表述。例如,如上所述,在本说明书中,将在具有W1的第一宽度(或长度)和H1的第一高度(或长度)的(变换)块中与特定值或更大值的频率相对应的变换系数归零化的过程被定义为“高频归零化”,已通过高频归零化经受归零化的区域被定义为“高频变换系数区域”,并且尚未经受归零化的区域被定义为“低频变换系数区域”。为了指示低频变换系数区域的大小,W2的第二宽度(或长度)和H2的第二高度(或长度)被使用。
然而,“高频归零化”可以用诸如高频归零化(high frequency zeroing)、高频归零(high frequency zeroing-out)、高频归零(high-frequency zeroing-out)、高频归零(high-frequency zero-out)和归零(zero-out)的各种术语替换,并且“高频变换系数区域”可以用诸如高频归零化应用区域、高频归零化区域、高频区域、高频系数区域、高频归零区域和归零区域的各种术语替换,并且“低频变换系数区域”可以用诸如高频归零化未应用区域、低频区域、低频系数区域和限制区域的各种术语替换。因此,本文用于定义特定信息或概念的特定术语或表述需要根据由该术语指示的内容鉴于各种操作、功能和效果在整个说明书中进行解释,而不限于指定。
可替选地,根据示例,低频变换系数区域是指在执行高频归零化之后剩下的区域或其中留下有效变换系数的区域,即可以存在非零变换系数的区域,并且可以被称为归零区域或归零块。
根据一个示例,当指示是否应用MTS的标志值为1时,也就是说,当除DCT2以外的不同变换(DST-7或DCT-8)适用于水平方向和垂直方向时,变换系数可以仅留在左顶部区域中,而剩余区域可以被归零如下(归零实施方式2)。
-当宽度(w)等于或大于2n时,仅从左起与w/2p的长度对应的变换系数可以留下,而剩余变换系数可以被固定为0(归零)。
-当高度(h)等于或大于2m时,仅从顶部起与h/2q的长度对应的变换系数可以留下,而剩余变换系数可以被固定为0(归零)。
这里,m、n、p和q可以是等于或大于0的整数,并且可以具体地如下。
1)(m,n,p,q)=(5,5,1,1)
2)(m,n,p,q)=(4,4,1,1)
在配置1)中,变换系数仅留在32×16TU中的左顶部16×16区域中,并且变换系数仅留在8×32TU中的左顶部8×16区域中。
这种归零方法可以被仅应用于对其应用帧内预测的残差信号或者可以被仅应用于对其应用帧间预测的残差信号。可替选地,可以对应用了帧内预测的残差信号和应用了帧间预测的残差信号二者应用归零方法。
可替选地,根据另一示例,当指示是否应用MTS的标志值为1时,也就是说,当除DCT2以外的不同变换(DST-7或DCT-8)适用于水平方向和垂直方向时,变换系数可以仅留在左顶部区域中,而剩余区域可以被归零如下(归零实施方式3)。
-当高度(h)等于或大于宽度(w)并且等于或大于2n时,仅左顶部w×(h/2p)区域中的变换系数可以被留下,而剩余变换系数可以被固定为0(归零)。
-当宽度(w)大于高度(h)并且等于或大于2m时,仅左顶部(w/2q)×h区域中的变换系数可以被留下,而剩余变换系数可以被固定为0(归零)。
在上述条件下,当高度(h)和宽度(w)相同时,垂直长度减小(h/2p),但是水平长度也可以减小(w/2q)。
这里,m、n、p和q可以是等于或大于0的整数,并且可以具体地如下。
1)(m,n,p,q)=(4,4,1,1)
2)(m,n,p,q)=(5,5,1,1)
在配置1)中,变换系数仅留在32×16TU中的左顶部16×16区域中,并且变换系数仅留在8×16TU中的左顶部8×8区域中。
这种归零方法可以被仅应用于对其应用帧内预测的残差信号或者可以被仅应用于对其应用帧间预测的残差信号。可替选地,可以对应用了帧内预测的残差信号和应用了帧间预测的残差信号这二者应用归零方法。
在前面的实施方式中,取决于指示是否应用MTS的标志值为0或指示是否应用MTS的标志值为1而限制变换系数区域。根据一个示例,这些实施方式的组合是可能的。
1)归零实施方式1+归零实施方式2
2)归零实施方式1+归零实施方式3
如归零实施方式2和归零实施方式3中提及的,归零方法可以被仅应用于被应用帧内预测的残差信号或者可以被仅应用于被应用帧间预测的残差信号。可替选地,可以将归零方法应用于被应用帧内预测的残差信号和被应用帧间预测的残差信号这两者。因此,当MTS标志是1时,可以配置下表(当MTS标志是1时,可以应用归零实施方式1)。这里,还可以将MTS标志配置为指示用于MTS的变换核的MTS索引。例如,0的MTS索引可以指示归零实施方式1被应用。
[表5]
配置索引 帧内预测残差信号 帧间预测残差信号
1 不应用归零 不应用归零
2 不应用归零 归零实施方式2
3 不应用归零 归零实施方式3
4 归零实施方式2 不应用归零
5 归零实施方式2 归零实施方式2
6 归零实施方式2 归零实施方式3
7 归零实施方式3 不应用归零
8 归零实施方式3 归零实施方式2
9 归零实施方式3 归零实施方式3
在归零实施方式1、归零实施方式2和归零实施方式3中,清楚地定义了在TU中不可避免地包括值0的区域。也就是说,除允许存在变换系数的左顶部区域以外的区域被归零。因此,根据实施方式,它可以被配置成绕过其中变换系数明确地具有值0的区域作为对残差信号的熵编译的结果,而不是对其执行残差编译。例如,以下配置是可能的。
1)在HEVC或VVC中,指示在一个系数组(CG,其取决于子块和TU块的形状以及亮度分量/色度分量可以是4x4或2x2块)中是否存在非零变换系数的标志被编译(subblock_flag)。只有当subblock_flag是1时,CG的内部才被扫描并且系数级别值被编译。因此,对于属于执行归零的区域的CG,subblock_flag可以被默认设置为值0而不是被编译。
2)在HEVC或VVC中,前向扫描顺序中的最后系数(X方向上的last_coefficient_position_x和Y方向上的last_coefficient_position_y)的位置被首先编译。通常,last_coefficient_position_x和last_coefficient_position_y分别可以具有最大值(TU的宽度-1)和最大值(TU的高度-1)。然而,当可以存在非零系数的区域由于归零被限制时,last_coefficient_position_x和last_coefficient_position_y的最大值也被限制。因此,last_coefficient_position_x和last_coefficient_position_y的最大值可以鉴于归零被限制并且然后可以被编译。例如,当应用于last_coefficient_position_x和last_coefficient_position_y的二值化方法是截断一元二值化时,可以基于调整的最大值减小截断一元码的最大长度(last_coefficient_position_x和last_coefficient_position_y能够具有的码字长度)。
如上所述,当应用归零时,特别是在左顶部16x16区域是低频变换系数区域(其在下文中可以被称为32点缩减MTS或RMT 32)的情况下,可以既在应用MTS技术时且在应用32点DST-7或32点DCT-8时应用归零。
图5图示根据本公开的示例的应用于子块变换的MTS。
根据示例,可以应用其中将编译单元划分成子块并且对子块执行变换过程的子块变换(SBT)。子块变换被应用于通过帧间预测生成的残差信号,并且残差信号块被分区成两个分区子块,并且根据子块变换对子块中的仅一个应用可分离变换。子块可以在水平方向或垂直方向上划分,并且分区子块的宽度或高度可以是编译单元的1/2或1/4。当应用子块变换时,由于两个分区子块中的仅一个被变换,所以仅在经变换的子块中存在残差数据,并且在剩余一个子块中不存在残差数据。
当对其应用变换的子块的宽度或其高度是64或更大时,可以在水平方向和垂直方向这两者上应用DCT-2,而当对其应用变换的子块的宽度和其高度是32或更小时,可以应用DST-7或DCT-8。因此,当应用SBT时,只有当对其应用变换的子块的所有两侧都具有32或更小的长度时,才可以通过应用RMTS32来执行归零。也就是说,可以在每个方向(水平方向和垂直方向)上应用长度为32或更小的DST-7或DCT-8,从而为每行或每列留下最多16个变换系数。
如图5所示,当块被划分并且变换被应用于区域A时,可以对每侧应用DST-7或DCT-8并且在水平和垂直方向上应用的变换不限于图5中图示的示例。在图5中,整个块的宽度和高度分别由w和h表示,并且被实际地应用可分离变换的块的宽度和高度被表达为(宽度,高度)的对,即(w1,h)或(w,h1)。w1可以是w的1/2或1/4,并且h1也可以是h的1/2或1/4。
如图5所示,被应用变换的块可以被定位在整个块中的左侧或右侧或在整个块中的顶部或底部上。此外,图5的块可以是由帧间预测生成的残差信号。可以用信号通知指示是否对如图5所示分区的残差信号的仅一个子块应用变换的标志,并且当该标志是1时,还可以通过信令设置指示该块是如图5所示垂直地分区还是水平地分区的标志。
还可以用信号通知指示被实际地应用变换的块A被定位在整个块中的左侧还是右侧的标志或指示块A被定位在顶部还是底部上的标志。
如图5所图示的,当针对特定块确定水平变换和垂直变换而不是通过MTS信令指定水平变换和垂直变换时,可以在水平方向和垂直方向上的相应侧具有32的长度时对各侧应用上面提出的RMTS32。在RMTS32中,可以对于归零区域省略残差编译,或者可以通过扫描仅非归零区域来执行残差编译。
图6图示根据本公开的示例的应用于子块变换的32点归零。
当RMTS32被应用于如图5所示分区的子块时,在变换之后可以如图6所示存在残差数据。也就是说,图6示出RMTS32被应用于根据子块变换的应用而分区的块之中对其执行变换的子块。
相对于原始变换块的宽度w和高度h,被实际地应用变换的块A的宽度和高度分别可以是w/2和h/2或w/4和h/4。
总之,如果可以在水平方向和垂直方向中的每个方向上应用长度为32的DST-7或DCT-8,则可以将RMTS32应用于被应用变换的任何块。应用长度为32的DST-7还是DCT-8可以通过预设信令来确定或者可以根据预定编译条件在没有信令的情况下被确定。
在MTS被禁用的情况下(例如,在VVC中,当在序列参数集中将“sps_mts_enable_flag”设置为0时可以禁用MTS),当应用SBT时,在水平方向和垂直方向这两者上应用DCT-2,而不是表3中呈现的DST-7和DCT-8的组合。
因此,当MTS被禁用时,即使要变换的块被分区成子块,也需要防止应用RMTS32。如上所述,当不应用MTS时,可以在初级变换中应用DCT-2而不是DST-7或DCT-8,并且在其中可以存在被应用DCT-2的非零变换系数的左顶部块可以经受将宽度和高度减小为32的高频归零。也就是说,在其中可以存在被应用逆DCT-2的非零变换系数的左顶部块可以在宽度和高度上减小为32,但是未被归零为小于32的宽度和高度。这是为了防止由于归零而导致的数据丢失,并且对其应用逆DCT-2的左顶部块的宽度或高度未减小为16。
如果MTS被禁用,则有必要显式地检查被应用DCT-2的分区子块的宽度或高度,使得分区子块的宽度或高度未减小为16。
根据示例,通过确定残差编译语法中的“sps_mts_enabled_flag”,可以将其配置成在应用SBT时不执行由于RMTS32而导致的归零。
可以在下表(表5至表15)中示出反映前述实施方式的规范文本。
[表6]
Figure BDA0003545196180000361
Figure BDA0003545196180000371
[表7]
Figure BDA0003545196180000381
表6和表7包括在用于图像编译的序列参数集中用信号通知的图像信息并且包括与变换相关的数条标志信息。
sps_transform_skip_enabled_flag指定变换跳过是否被应用,即,变换跳过标志(transform_skip_flag)是否可以存在于变换单元语法中。
sps_mts_enabled_flag是指定是否可以显式地使用MTS即多重变换选择技术的标志信息。sps_mts_enabled_flag等于1指定sps_explicit_mts_intra_enabled_flag和sps_explicit_mts_inter_enabled_flag存在于序列参数集语法中。
当sps_explicit_mts_intra_enabled_flag和sps_explicit_mts_inter_enabled_flag中的任何一个是1时,指定了MTS可以被应用于变换单元,这意味着tu_mts_idx可以存在于变换单元语法中。例如,当sps_mts_enabled_flag等于1并且sps_explicit_mts_intra_enabled_flag等于0时,可以对帧内编译单元应用隐式MTS。
sps_sbt_enabled_flag是指定是否可以将前面的子块变换应用于用于帧间预测的编译单元的标志信息。
当sps_sbt_enabled_flag等于1时,可以用信号通知用于允许子块变换的编译单元的最大宽度和高度的sps_sbt_max_size_64_flag。
当sps_sbt_max_size_64_flag等于0时,用于允许块变换的编译单元的最大宽度和高度是32,并且当sps_sbt_max_size_64_flag等于1时,用于允许子块变换的编译单元的最大宽度和高度被导出为等于64。
[表8]
Figure BDA0003545196180000401
表8示出在图片参数集中用信号通知的变换相关信息。log2_transform_skip_max_size_minus2是用于导出用于变换跳过的最大块大小的信息,并且用于变换跳过的最大块大小被导出为log2_transform_skip_max_size_minus2加上2的2次幂的值(1<<(log2_transform_skip_max_size_minus2+2)。
[表9]
Figure BDA0003545196180000411
Figure BDA0003545196180000421
[表10]
Figure BDA0003545196180000422
Figure BDA0003545196180000431
表9和表10示出被应用帧间预测的编译单元的语法和语义,并且被应用SBT的分区形状可以由表9的四个语法元素确定。
cu_sbt_flag指定SBT是否被应用于编译单元,并且cu_sbt_quad_flag是在当一个编译单元被分区成两个分区块时指定被应用变换的块是否是整个块的1/4的标志信息。当cu_sbt_quad_flag等于0时,分区子块具有编译单元的宽度或高度的1/2的大小,并且当cu_sbt_quad_flag等于1时,分区子块具有编译单元的宽度或高度的1/4的大小。当编译单元的宽度是w并且其高度是h时,分区块的高度可以是h1=(1/4)x h或者其宽度可以是w1=(1/4)x w。
cu_sbt_horizontal_flag等于1指定编译单元被横向(即,在水平方向上)分区,并且cu_sbt_horizontal_flag等于0指定编译单元被纵向(即,在垂直方向上)分区。
当cu_sbt_pos_flag值等于0时,变换被应用于在水平方向上分区的子块之中的上子块,并且变换被应用于在垂直方向上分区的子块之中的左子块。当cu_sbt_pos_flag值等于1时,变换被应用于在水平方向上分区的子块之中的下子块,并且变换被应用于在垂直方向上分区的子块之中的右子块。
下表示出根据cu_sbt_horizontal_flag和cu_sbt_pos_flag的trTypeHor和trTypeVer。
[表11]
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
如上所述,当trTypeHor表示水平变换核并且trTypeVer表示垂直变换核时,可以为DCT-2设置0的trTypeHor或trTypeVer值,并且可以为DST-7设置1的trTypeHor或trTypeVer值,并且可以为DCT-8设置2的trTypeHor或trTypeVer值。因此,当对其应用变换的分区块的至少一侧的长度是64或更大时,可以在水平方向和垂直方向这两者上应用DCT-2;否则,可以应用DST-7或DCT-8。当对当前块进行分区并且对子块执行变换时,可以如表11所示隐式地应用MTS。
当子块的宽度和高度都是32或更小并且因此应用DST-7或DCT-8时,也就是说,当MTS被应用于子块时,可以应用前面的RMTS。例如,子块在每个方向上的长度是32,可以通过应用长度为32的DST-7或DCT-8来留下仅16个变换系数。
然而,当子块的宽度或高度是64或更大时,可以在水平方向和垂直方向这两者上应用DCT-2,并且可以根据高频归零留下仅32个变换系数,而不是在每个方向上应用RMTS。
[表12]
Figure BDA0003545196180000451
Figure BDA0003545196180000461
表12示出根据示例的变换单元的语法和语义的部分。tu_mts_idx[x0][y0]指定应用于变换块的MTS索引,并且可以如表1所示根据MTS索引确定trTypeHor和trTypeVer。
根据另一示例,可以在编译单元级别中而不是在变换单元级别中用信号通知mts_idx。
[表13]
Figure BDA0003545196180000462
Figure BDA0003545196180000471
Figure BDA0003545196180000481
表13示出根据示例的残差编译的语法和语义的部分。
表13中的语法元素last_sig_coeff_x_prefix、last_sig_coeff_y_prefix、last_sig_coeff_x_suffix和last_sig_coeff_y_suffix指定关于变换块中的最后非零变换系数的(x,y)位置信息。具体地,last_sig_coeff_x_prefix指定最后有效系数在变换块中按扫描顺序的列位置的前缀,last_sig_coeff_y_prefix指定最后有效系数在变换块中按扫描顺序的行位置的前缀,last_sig_coeff_x_suffix指定最后有效系数在变换块中按扫描顺序的列位置的后缀,并且last_sig_coeff_y_suffix指定最后有效系数在变换块中按扫描顺序的行位置的后缀。这里,有效系数可以是指非零系数。此外,扫描顺序可以是右上对角线扫描顺序。可替选地,扫描顺序可以是水平扫描顺序或垂直扫描顺序。可以基于帧内/帧间预测是否被应用于目标块(CB或包括TB的CB)和/或特定帧内/帧间预测模式来确定扫描顺序。
可以基于表12的tu_mts_idx[x0][y0]在表13的残差编译中配置归零区域。
此外,当cu_sbt_flag等于1时,被应用变换的块的高度是32或更小(log2TbHeight<6),其宽度是32(log2TbWidth<6&&log2TbWidth>4),并且sps_mts_enabled_flag等于1时,可以存在非零变换系数的左顶部区域的宽度被设置为16(log2ZoTbWidth=4)。类似地,当cu_sbt_flag等于1时,被应用变换的块的宽度是32或更小(log2TbWidth<6),其高度是32(log2TbHeight<6&&log2TbHeight>4),并且sps_mts_enabled_flag等于1时,可以存在非零变换系数的左顶部区域的高度被设置为16(log2ZoTbHeight=4)。
被应用变换的块可以是原始变换块或分区子块。
这里,log2ZoTbWidth和log2ZoTbHeight表示可以存在非零系数的变换块中的左顶部区域的最大宽度和最大高度,并且可以将左顶部区域称为“缩减变换块”。也就是说,可以将log2ZoTbWidth和log2ZoTbHeight定义为指示缩减变换块的宽度和高度的变量。
也就是说,根据示例,当子块变换被应用于编译单元时,MTS需要适用以便应用归零(RMTS),其中可以存在非零系数的左顶部块的宽度被减小为16并且剩余区域是0。
当不应用MTS时,即使标识了SBT被应用于编译单元(当cu_sbt_flag是1时),也需要将DCT-2而不是MTS应用于对其应用变换的子块。例如,当sps_mts_enabled_flag等于0时,即使SBT被应用于编译块,也应用DCT-2而不是DST-7或DCT-8。
另外,当SBT被应用于编译块时,只有当子块的宽度或高度是64或更大时才应用DCT-2,并且在其他情况下不应用DCT-2。
也就是说,为了确保DCT-2被应用于子块并且为了防止可以引起数据丢失的RMTS被应用于被应用DCT-2的子块,编码设备配置图像信息以便检查sps_mts_enabled_flag的值,并且解码设备根据所配置的图像信息来在残差编译中检查sps_mts_enabled_flag的值。
总之,当在图像解码过程中仅标识了cu_sbt_flag是1时,可以在根据RMTS设置变换块大小时检查在序列参数集中用信号通知的sps_mts_enabled_flag的值,以便防止RMTS被应用于被应用DCT-2的子块。当cu_sbt_flag等于1并且sps_mts_enabled_flag等于1时,可以应用RMTS,因此可以将可以存在非零变换系数的左顶部块的宽度和高度设置为16,并且当cu_sbt_flag等于1并且sps_mts_enabled_flag等于0时,不应用MTS,因为DCT-2被用于变换,因此也不应用根据RMTS的归零。在这种情况下,可以将可以存在非零变换系数的左顶部块的宽度和高度设置为32或更小。
例如,在对其应用子块变换的32x32变换块的情况下,当sps_mts_enabled_flag等于0时,DCT-2被用作变换核,因此长度为32的宽度或高度未减小为16。
如上所述,当MTS被禁用时,可以通过检查sps_mts_enabled_flag来防止归零为16的长度的RMTS。
在其他情况下,当cu_sbt_flag不为1,变换块的高度大于32,变换块的宽度不是32,或者没有应用MTS时,变换块的宽度可以被设置为变换块的宽度和32中的较小值。即,变换块的最大宽度可以通过高频归零被限制为32。进一步地,当cu_sbt_flag不为1,变换块的宽度大于32,或者变换块的高度不是32时,变换块的高度可以被设置为变换块高度和32中的较小值。即,变换块的最大高度可以通过归零被限制为32。
当应用SBT时,如果分区块的至少一侧的长度是64或更大,则可以在水平方向和垂直方向这两者上应用DCT-2。否则,可以应如表10所示用DST-7或DCT-8。因此,当应用SBT时,只有当对其应用变换的分区块的所有两侧都具有32或更小的长度时才通过应用RMTS32来执行归零。也就是说,当块在每个方向上的长度是32时,可以应用长度为32的DST-7或DCT-8,从而剩下仅16个变换系数。
如表13中所示,当应用RMTS32时,可以将未归零的剩余区域(低频变换系数区域)的宽度和高度认为是实际变换块的宽度和高度而不是使用用于编译的原始变换块的宽度和高度(log2ZoTbWidth=4或log2ZoTbHeight=4),来执行编译。
例如,在原始变换块的宽度x高度是32x16的情况下,当应用RMTS32时,由于归零而仅在左顶部16x16区域中存在非零系数。因此,可以存在非零变换系数的左顶部区域的宽度和高度分别被设置为16和16,然后可以执行语法元素(例如,last_sig_coeff_x_prefix和last_sig_coeff_y_prefix)的编译。
总之,根据表13的残差编译,指示可以存在非零系数的最大宽度和最大高度的log2ZoTbWidth和log2ZoTbHeight在对last_sig_coeff_x_prefix进行编译之前被设置,最后非零系数的位置是通过应用log2ZoTbWidth和log2ZoTbHeight来编译的,然后实际变换块的宽度和高度分别被改变为log2ZoTbWidth和log2ZoTbHeight(log2TbWidth=log2ZoTbWidth和log2TbHeight=log2ZoTbHeight)。随后,可以根据改变的值对语法元素进行编码。因此,可以将残差编译中排除归零区域的剩余左顶部区域配置为新变换块,然后可以导出残差样本。
当通过高频变换系数的归零来将变换块的大小减小到低频变换系数区域时,可以如表13的语义所示将last_sig_coeff_x_prefix和last_sig_coeff_y_prefix的值限制为从0至介于(log2ZoTbWidth<<1)–1与(log2ZoTbHeight<<1)–1之间的值的范围。
[表14]
Figure BDA0003545196180000511
Figure BDA0003545196180000521
Figure BDA0003545196180000531
Figure BDA0003545196180000541
Figure BDA0003545196180000551
表14图示表明了当SBT被应用于编译单元MTS被隐式地应用的变换过程(cu_sbt_flag等于1并且Max(nTbW,nTbH)小于或等于32,implicitMtsEnabled被设置为等于1)。
可以基于表8-14导出表示水平变换核的变量trTypeHor和表示垂直变换核的变量trTypeVer,并且表14的表8-14可以对应于本文档的表1。
另外,当SBT被应用于编译单元时,可以基于表8-15导出变量trTypeHor和trTypeVer,并且表14的表8-15可以对应于本文档的表11。
对其应用归零的块(即,表13中图示的归零块)的大小在表14中被表达为nonZeroW和nonZeroH。可以将nonZeroW和nonZeroH定义为表示可以存在非零变换系数的左顶部块的宽度和高度的变量。
当不应用LFNST时,可以将nonZeroW设置为基于trTypeHor是否大于0的值((trTypeHor>0)?16:32)和变换块的宽度(nTbW)中的较小值(nonZeroW=Min(nTbW,(trTypeHor>0)?16:32))。当trTypeHor大于0时,由于应用了MTS,所以“(trTypeHor>0)?16:32”被设置为16,并因此nonZeroW被设置为变换块的宽度(nTbW)和16中的较小值。然而,当trTypeHor不大于0时,由于不应用MTS,所以“(trTypeHor>0)?16:32”被设置为32,并因此nonZeroW被设置为变换块的宽度(nTbW)和32中的较小值。
类似地,当不应用LFNST时,可以将nonZeroH设置为基于trTypeVer是否大于0的值((trTypeVer>0)?16:32)和变换块的宽度(nTbH)中的较小值(nonZeroH=Min(nTbH,(trTypeVer>0)?16:32))。当trTypeVer大于0时,由于应用了MTS,所以“(trTypeVer>0)?16:32”被设置为16,并因此nonZeroH被设置为变换块的高度(nTbH)和16中的较小值。然而,当trTypeVer不大于0时,由于不应用MTS,所以“(trTypeVer>0)?16:32”被设置为32,因此nonZeroH被设置为变换块的高度(nTbH)和32中的较小值。
也就是说,取决于是否应用MTS,即trTypeHor和trTypeVer是否能够具有0或更大的值,归零块的大小被设置为16或32。
可以基于考虑归零设置的nonZeroW和nonZeroH来导出残差样本值(当nTbH大于1时,具有x=0..nonZeroW-1、y=0..nonZeroH-1的缩放变换系数d[x][y]的每个(垂直)列通过以变换块的高度nTbH、缩放变换系数的非零高度nonZeroH、具有y=0..nonZeroH-1的列表d[x][y]和设置为等于trTypeVer的变换类型变量trType作为输入针对每列x=0..nonZeroW-1调用如条款8.7.4.4中指定的一维变换过程被转换为具有x=0..nonZeroW-1、y=0..nTbH-1的e[x][y],并且输出是具有y=0..nTbH-1的列表e[x][y])。
当通过应用归零来改变变换块的大小时,还可以改变用于last_sig_coeff_x_prefix和last_sig_coeff_y_prefix的上下文选择的变换块的大小。表15示出考虑缩减变换块的last_sig_coeff_x_prefix和last_sig_coeff_y_prefix的二值化,并且表16示出导出ctxInc(上下文增量)以用于导出last_sig_coeff_x_prefix和lastsig_coeff_y_prefix的过程。由于可以通过上下文增量来选择和区分上下文,所以可以基于上下文增量来导出上下文模型。
[表15]
Figure BDA0003545196180000571
Figure BDA0003545196180000581
[表16]
Figure BDA0003545196180000582
Figure BDA0003545196180000591
如表15所图示的,last_sig_coeff_x_prefix和last_sig_coeff_y_prefix的最大值(cMax)基于与缩减变换块的宽度和高度相对应的log2ZoTbWidth和log2ZoTbHeight被设置为低频变换系数区域(cMax=(cMax=(log2ZoTbWidth<<1)–1,cMax=(log2ZoTbHeight<<1)–1)。当截断一元被用于last_sig_coeff_x_prefix和last_sig_coeff_y_prefix的二值化时,可以将last_sig_coeff_x_prefix和last_sig_coeff_y_prefix的最大值(cMax)设置为等于用于last_sig_coeff_x_prefix和last_sig_coeff_y_prefix的二值化的码字的最大值。因此,可以基于归零块的大小来导出表示最后有效系数前缀信息的前缀码字的最大长度。
如表16所图示的,对于用于两个语法元素即last_sig_coeff_x_prefix和last_sig_coeff_y_prefix的CABAC上下文,低频变换系数区域中的原始变换块(TU)而不是缩减变换块的大小被应用(log2TbSize被设置为等于log2TbWidth,log2TbSize被设置为等于log2TbHeight)。
总之,根据示例,可以基于最后有效系数位置信息来导出残差样本,其中可以基于大小未发生改变的原始变换块的大小来导出上下文模型,并且可以基于已对其应用归零的变换块的大小来导出最后有效系数位置。这里,已对其应用归零的变换块即归零块的大小具体地为宽度或高度小于原始变换块的大小、宽度或高度。
以下附图被提供来描述本公开的特定示例。由于附图中图示的装置的特定名称或特定信号/消息/字段的名称是为了图示而提供的,所以本公开的技术特征不限于以下附图中使用的特定名称。
图7是图示根据本公开的实施方式的视频解码设备的操作的流程图。
图7中所图示的每个操作可以由图2所图示的解码装置200执行。具体地,S700和S710可以由图2所图示的熵解码器210执行,S720可以由图2中所图示的解量化器221执行,S730可以由图2中所图示的逆变器222执行,并且S740可以由图2中所图示的加法器240执行。根据S700到S740的操作是基于参考图2至图6解释的一些前述细节。因此,将会省略或者将会简要地进行与上面解释的那些重叠的具体细节的描述。
根据实施例的解码装置可以接收包括残差信息的比特流(S700)。具体地,解码装置的熵解码器210可以接收包括残差信息的比特流。
根据实施例的解码装置可以基于比特流中包括的残差信息来导出用于当前块的量化变换系数(S710)。具体地,解码装置的熵解码器210可以基于比特流中包括的残差信息来量化用于当前块的变换系数。
根据实施例的解码装置可以基于解量化过程从量化的变换系数导出变换系数(S720)。具体地,解码装置的解量化器221可以基于解量化过程从量化的变换系数导出变换系数。
根据实施例的解码装置可以通过将逆变换应用于导出的变换系数来导出用于当前块的残差样本(S730)。具体地,解码装置的逆变换222可以通过将逆变换应用于导出的变换系数来导出用于当前块的残差样本。
根据实施例的解码装置可以基于用于当前块的残差样本来生成重构图片(S740)。具体地,解码装置的加法器240可以基于用于当前块的残差样本来生成重构图片。
在实施例中,当前块的单元可以是变换块(TB)。
在实施例中,用于当前块的每个变换系数可以与包括0的变换系数的高频变换系数区域或包括至少一个有效变换系数的低频变换系数区域相关。
在实施例中,残差信息可以包括关于用于当前块的变换系数之中的最后有效变换系数的位置的最后有效系数前缀信息和最后有效系数后缀信息。
在一个示例中,最后有效系数前缀信息可以具有基于归零块的大小所确定的最大值。
在实施例中,可以基于指示最后有效系数前缀信息和最后有效系数后缀信息的前缀码字来确定最后有效变换系数的位置。
在实施例中,可以基于低频变换系数区域(即,归零块的大小)来确定前缀码字的最大长度。
在实施例中,可以基于当前块的宽度和高度来确定归零块的大小。
在实施例中,最后有效系数前缀信息可以包括x轴前缀信息和y轴前缀信息,并且前缀码字可以是关于x轴前缀信息的码字和用于y轴前缀信息的码字。
在一个示例中,x轴前缀信息可以被表达为last_sig_coeff_x_prefix,y轴前缀信息可以被表达为last_sig_coeff_y_prefix,并且最后有效变换系数的位置可以被表达为(LastSignificantCoeffX,LastSignificantCoeffY)。
在实施例中,残差信息可以包括关于归零块的大小的信息。
图8是图示根据本公开的实施例的用于由视频解码装置导出变换系数的过程的流程图。
图8中所图示的每个操作可以由图2的解码装置200执行。具体地,S800到S840可以由图2中所图示的熵解码器210执行。
首先,如所示的,解码装置可以确定通过对编译单元进行分区来执行变换的子块变换是否被应用于当前块以导出用于当前块的归零块(S800)。
如上所述,归零块意指包括非零有效变换系数的低频变换系数区域,并且解码装置可以在残差编译步骤中导出归零块。
解码装置可以基于指示子块变换是否被应用到当前块的标志信息(cu_sbt_flag)来确定是否应用子块变换,并且可以在编译单元级别处用信号发送此标志信息。
此外,解码装置可以确定是否使用多个变换核的多重变换选择被应用于当前块(S810)。
解码装置可以基于指示多重变换选择是否应用于当前块的标志信息(sps_mts_enabled_flag)来确定是否应用多重变换选择,并且可以在序列参数集级别处解析该标志信息。
解码装置可以基于是否能够将MTS应用于当前块、是否将子块变换应用于当前块、以及当前块的宽度或高度来设置要应用变换的变换块的变换块的大小(S820)。将对其应用变换的变换块可以包括指示在当前块中可能存在有效变换系数的区域的归零块,取决于MTS和子块变换是否应用于当前块可以将归零块的宽度和高度导出为各种值。
根据示例,当应用MTS时,解码装置可以将归零块的宽度或高度设置为16,并且当不应用MTS(如果适用DST-7/DCT-8)时,可以将归零块的宽度或高度设置为32或更小。
具体来说,当应用DST-7或DCT-8而不是DCT-2作为被用于逆初级变换的变换核,当前块的宽度为32,并且当前块的高度为32或更小时,归零块的宽度可以被设置为16。当不满足上述条件时,即,当变换核为DCT-2,当前块的宽度不是32,或者当前块的高度为64或更大时,可以将归零块的宽度设置为当前块的宽度和32中的较小值。
类似地,当应用DST-7或DCT-8而不是DCT-2作为被用于逆初级变换的变换核,当前块的高度为32,并且当前块的宽度为32或更少时,归零块的高度可以设置为16。当不满足上述条件时,即,变换核为DCT-2,当前块的高度不是32,或者当前块的宽度为64或更大时,归零块的高度可以被设置为当前块的高度和32中的较小值。
此外,根据示例,当指示当前块是否被分区为子块并被变换的标志的值为1,被分区的子块的宽度为32,并且子块的高度小于64时,归零块的宽度(即,其中子块中可能存在非零变换系数的左上区域的宽度)可以被设置为16。可替选地,当指示当前块是否被分区为子块并且被变换的标志的值为1,分区的子块的高度为32,并且在子块中能够存在非零变换系数的左上区域的宽度小于64时,子块的高度子块可以被设置为16。
可以基于当前块的分区方向和应用变换的子块的位置来导出变换核,如表11中所示。
归零块的大小可以小于当前块的大小。具体地,归零块的宽度可以小于当前块的宽度,并且归零块的高度可以小于当前块的高度。
在实施例中,归零块的大小可以是32x16、16x32、16x16或32x32之一。
在实施例中,当前块的大小可以是64x64,并且归零块的大小可以是32x32。
另一方面,根据示例,解码装置可以基于当前块的宽度或高度来导出用于最后有效系数位置信息的上下文模型,并且可以基于导出的上下文模型来导出最后有效系数位置的值。
根据示例,可以基于原始变换块的大小而不是归零块的大小来导出上下文模型。具体地,可以基于原始变换块的大小来导出用于与最后有效系数前缀信息相对应的x轴前缀信息和y轴前缀信息的上下文增量。
如上所述,最后有效系数位置信息可以包括最后有效系数前缀信息和最后有效系数后缀信息,并且可以基于上下文模型来导出最后有效系数位置的值。
解码装置可以基于导出的最后有效系数位置信息的值和归零块的宽度或高度来导出最后有效系数位置(S830)。
在一个示例中,解码装置可以导出在小于当前块的大小而不是原始当前块的大小的归零块的大小的范围内的最后有效系数位置。即,可以在归零块的大小范围内而不是在当前块的大小范围内导出对其应用变换的变换系数。
在一个示例中,最后有效系数前缀信息可以具有基于归零块的大小所确定的最大值。
在一个示例中,可以基于指示最后有效系数前缀信息和最后有效系数后缀信息的前缀码字来导出最后有效系数位置,并且可以基于归零块的大小来确定前缀码字的最大长度。
解码装置可以基于根据归零块的宽度或高度所导出的最后有效系数位置来导出变换系数(S840)。
可以通过表14的残差编译过程导出变换系数。
随后,解码装置可以通过基于表1和表11执行上述不可分离的逆次级变换和逆初级变换中的至少一个来导出残差样本。
提供以下附图以描述本公开的具体示例。因为在附图中图示的设备的特定名称或特定信号/消息/字段的名称是为了说明而提供的,所以本公开的技术特征不限于以下附图中使用的特定名称。
图9是图示根据本公开的实施例的视频编码装置的操作的流程图。
图9中所图示的每个操作可以由图1所图示的编码装置100执行。具体地,S900可以由图1所图示的减法器131执行,S910可以由图1所图示的变压器132执行,S920可以由图1所图示的量化器133执行,并且S930可以由图1所图示的熵编码器140执行。根据S900到S930的操作基于参考图3至图6解释的一些前述细节。因此,将省略或将简要地进行与上面参考图1和图3至图6解释的那些重叠的具体细节的描述。
根据实施例的编码装置可以导出用于当前块的残差样本(S900)。具体地,编码装置的减法器131可以导出用于当前块的残差样本。
根据实施例的编码装置可以变换用于当前块的残差样本,从而导出用于当前块的变换系数(S910)。具体地,编码装置的变换器132可以变换用于当前块的残差样本,从而导出用于当前块的变换系数。
根据实施例的编码装置可以基于量化从变换系数导出量化的变换系数(S920)。具体地,编码装置的量化器133可以基于量化从变换系数导出量化的变换系数。
根据实施例的编码装置可以对包括关于量化的变换系数的信息的残差信息进行编码(S930)。具体地,编码装置的熵编码器140可以对包括量化变换系数的信息的残差信息进行编码。
在实施例中,用于当前块的每个变换系数可以与包括0的变换系数的高频变换系数区域或包括至少一个有效变换系数的低频变换系数区域(即,归零块)相关。
在实施例中,残差信息可以包括关于用于当前块的变换系数之中的最后有效变换系数的位置的最后有效系数前缀信息和最后有效系数后缀信息。
在实施例中,可以基于指示最后有效系数前缀信息和最后有效系数后缀信息的前缀码字来确定最后有效变换系数的位置。
在一个示例中,最后有效系数前缀信息可以具有基于归零块的大小所确定的最大值。
在实施例中,可以基于归零块的大小来确定前缀码字的最大长度。
在实施例中,可以基于当前块的宽度和高度来确定归零块的大小。
在实施例中,最后有效系数前缀信息可以包括x轴前缀信息和y轴前缀信息,并且前缀码字可以是x轴前缀信息上的码字和用于y轴前缀信息的码字。
在一个示例中,x轴前缀信息可以被表达为last_sig_coeff_x_prefix,y轴前缀信息可以被表达为last_sig_coeff_y_prefix,并且最后有效变换系数的位置可以被表达为(LastSignificantCoeffX,LastSignificantCoeffY)。
在实施例中,残差信息可以包括关于归零块的大小的信息。
图10是图示根据本公开的实施例的用于对变换系数和信息进行编码的过程的流程图。
在图10中公开的每个操作可以由图1中公开的编码装置100执行。具体而言,S1000和S1010可以由变换器232执行,并且S1020到S1040可以由图1中公开的熵编码器140执行。
首先,为了导出用于当前块的归零块,编码装置可以确定通过分区编译单元来执行变换的子块变换是否被应用于当前块(S1000)。
如上所述,归零块指代包括非零有效变换系数的低频变换系数区域,并且与应用变换的实际变换块相对应。
指示子块变换是否应用于当前块的信息可以由编码装置生成并作为标志信息(cu_sbt_flag)输出,并且可以在编译单元级别处用信号发送此标志信息。
此外,编码装置可以确定使用多个变换核的多重变换选择是否被应用于当前块(S1010)。
指示多重变换选择是否被应用于当前块的信息可以由编码装置生成并作为标志信息sps_mts_enabled_flag输出,并且可以在序列参数集级别处用信号发送此标志信息。
编码装置可以基于是否MTS能够被应用于当前块、子块变换被应用于当前块、以及当前块的宽度或高度(S1020)来设置其中存在解码过程中要对其应用逆变换的变换系数的区域的大小。存在变换系数的区域可以包括指示当前块中可以存在重要变换系数的区域的归零块,取决于是否MTS和子块变换被应用于当前块,归零块的宽度和高度可以被导出为各种值。
根据示例,编码装置可以在应用MTS时将归零块的宽度或高度设置为16,并且当没有应用MTS时,可以将归零块的宽度或高度设置为32或更小。
具体来说,当应用DST-7或DCT-8而不是DCT-2作为用于初级变换的变换核,当前块的宽度为32,并且当前块的高度为32或更小时,归零块的宽度可以被设置为16。当不满足上述条件时,即,当变换核为DCT-2,当前块的宽度不是32,或者当前块的高度为64或更大时,归零块的宽度可以被设置为当前块的宽度和32中的较小值。
类似地,当应用DST-7或DCT-8而不是DCT-2作为用于初级变换的变换核,当前块的高度为32,并且当前块的宽度为32或更小时,归零块的高度可以被设置为16。当不满足上述条件时,即,当变换核为DCT-2,当前块的高度不是32,或者当前块的宽度为64或更大时,归零块的高度可以被设置为当前块的高度和32中的较小值。
此外,根据示例,可以基于当前块是否被分区为子块并被变换来导出归零块的宽度或高度。例如,当前块被分区为子块并被变换,分区的子块的宽度为32,并且子块的高度小于64时,则可以将子块的宽度设置为16。可替选地,当当前块被分区为子块并变换,分区的子块的高度为32,并且子块的宽度小于64时,子块的高度可以被设置为16。
可以基于当前块的分区方向和应用变换的子块的位置来导出变换核,如表11中所示。
在实施例中,归零块的大小可以是32x16、16x32、16x16或32x32之一。
在实施例中,当前块的大小可以是64x64,并且归零块的大小可以是32x32。
编码装置可以通过执行前述变换过程从残差样本导出变换系数,其是基于表1和表11的初级变换和不可分离的逆次级变换中的至少一个。
同时,编码装置可以基于导出的归零块的宽度或高度来导出最后有效系数位置(S1030)。
在一个示例中,编码装置可以导出在小于或等于当前块的大小而不是原始当前块的大小的归零块的大小的范围内的最后有效系数位置。即,可以在归零块的大小范围内而不是在当前块的大小范围内导出对其应用变换的变换系数。
在一个示例中,可以基于指示最后有效系数前缀信息和最后有效系数后缀信息的前缀码字来导出最后有效系数位置,并且可以基于归零块的大小来确定前缀码字的最大长度。
编码装置可以基于当前块的宽度或高度来导出用于最后有效系数位置信息的上下文模型,并且可以基于导出的上下文模型对关于最后有效系数位置的值的位置信息进行编码(S1040)。
根据实施例,可以基于原始变换块的大小而不是归零块的大小来导出上下文模型。具体地,可以基于原始变换块的大小来导出用于与最后有效系数前缀信息相对应的x轴前缀信息和y轴前缀信息的上下文增量。
如上所述,最后有效系数位置信息可以包括最后有效系数前缀信息和最后有效系数后缀信息,并且可以基于上下文模型来对最后有效系数位置的值进行编码。
在本公开中,可以省略量化/解量化和/或变换/逆变换中的至少一个。当省略量化/解量化时,量化的变换系数可以被称为变换系数。当省略变换/逆变换时,变换系数可以被称为系数或残差系数,或者为了表达的一致性可以仍然被称为变换系数。
此外,在本公开中,量化的变换系数和变换系数分别可以被称为变换系数和缩放的变换系数。在这种情况下,残差信息可以包括关于变换系数的信息,并且可以通过残差编译语法来发信号通知关于变换系数的信息。可以基于残差信息(或关于变换系数的信息)来导出变换系数,并且可以通过变换系数的逆变换(缩放)来导出缩放的变换系数。可以基于缩放的变换系数的逆变换(变换)来导出残差样本。也可以在本公开的其他部分中应用/表达这些细节。
在上述实施方式中,借助于一系列步骤或框来基于流程图说明方法,但是本公开不限于步骤的顺序,并且可以在与上述顺序或步骤不同的顺序或步骤中或与另一步骤同时地执行某个步骤。此外,本领域的普通技术人员可以理解,流程图所示的步骤不是排他性的,并且在不影响本公开的范围的情况下,可以并入另一步骤或者移除流程图的一个或更多个步骤。
可以将根据本公开的上述方法实现为软件形式,并且根据本公开的编码设备和/或解码设备可以被包括在诸如TV、计算机、智能电话、机顶盒、显示装置等这样的图像处理用装置中。
当本公开中的实施方式由软件具体实现时,可以将上述方法具体体现为用于执行上述功能的模块(过程、功能等)。模块可以被存储在存储器中并且可以由处理器执行。存储器可以在处理器内部或外部并且可以以各种公知方式连接到处理器。处理器可以包括专用集成电路(ASIC)、其他芯片组、逻辑电路和/或数据处理器件。存储器可以包括只读存储器(ROM)、随机存取存储器(RAM)、闪速存储器、存储器卡、存储介质和/或其他存储器件。也就是说,可以在处理器、微处理器、控制器或芯片上具体实现和执行本公开中描述的实施方式。例如,可以在计算机、处理器、微处理器、控制器或芯片上具体实现和执行每个附图所示的功能单元。
此外,应用本公开的解码设备和编码设备可以被包括在多媒体广播收发器、移动通信终端、家庭影院视频装置、数字影院视频装置、监视相机、视频聊天装置、诸如视频通信这样的实时通信装置、移动流传输装置、存储介质、摄像机、视频点播(VoD)服务提供装置、过顶(OTT)视频装置、因特网流传输服务提供装置、三维(3D)视频装置、视频电话视频装置和医疗视频装置,并且可以用于处理视频信号或数据信号。例如,过顶(OTT)视频装置可以包括游戏机、蓝光播放器、因特网接入TV、家庭影院系统、智能电话、平板PC、数字视频记录机(DVR)等。
另外,应用本公开的处理方法可以以由计算机执行的程序的形式产生,并且被存储在计算机可读记录介质中。具有根据本公开的数据结构的多媒体数据也可以被存储在计算机可读记录介质中。计算机可读记录介质包括其中存储有计算机可读数据的所有种类的存储装置和分布式存储装置。计算机可读记录介质可以包括例如蓝光光盘(BD)、通用串行总线(USB)、ROM、PROM、EPROM、EEPROM、RAM、CD-ROM、磁带、软盘和光学数据存储装置。此外,计算机可读记录介质包括以载波(例如,通过因特网的传输)的形式具体体现的介质。另外,通过编码方法生成的比特流可以被存储在计算机可读记录介质中或者通过有线或无线通信网络发送。附加地,本公开的实施方式可以通过程序代码被具体体现为计算机程序产品,并且可以通过本公开的实施方式在计算机上执行程序代码。程序代码可以被存储在计算机可读载体上。
图11示意性地图示本公开适用于的视频/图像编译系统的示例。
参考图11,视频/图像编译系统可以包括第一设备(源设备)和第二设备(接收设备)。源设备可以经由数字存储介质或网络以文件或流的形式向接收设备递送编码视频/图像信息或数据。
源装置可以包括视频源、编码设备和发送器。接收装置可以包括接收器、解码设备和渲染器。编码设备可以被称为视频/图像编码设备,并且解码设备可以被称为视频/图像解码设备。发送器可以被包括在编码设备中。接收器可以被包括在解码设备中。渲染器可以包括显示器,并且显示器可以被配置为单独的装置或外部组件。
视频源可以通过捕获、合成或生成视频/图像的处理来获得视频/图像。视频源可以包括视频/图像捕获装置和/或视频/图像生成装置。视频/图像捕获装置可以包括例如一个或更多个相机、包括先前捕获的视频/图像的视频/图像档案等。视频/图像生成装置可以包括例如计算机、平板计算机和智能电话,并且可以(电子地)生成视频/图像。例如,可以通过计算机等生成虚拟视频/图像。在这种情况下,视频/图像捕获处理可以被生成相关数据的处理取代。
编码设备可以对输入视频/图像进行编码。编码设备可以执行诸如针对压缩和编译效率的预测、变换和量化这样的一系列过程。编码的数据(编码的视频/图像信息)能够以比特流的形式输出。
发送器可以通过数字存储介质或网络以文件或流的形式将以比特流的形式输出的编码后的视频/图像信息或数据发送到接收装置的接收器。数字存储介质可以包括诸如USB、SD、CD、DVD、蓝光、HDD、SSD等这样的各种存储介质。发送器可以包括用于通过预定文件格式生成媒体文件的元件,并且可以包括用于通过广播/通信网络进行发送的元件。接收器可以接收/提取比特流,并且将接收/提取的比特流发送到解码设备。
解码设备可以通过执行与编码设备的操作对应的诸如解量化、逆变换、预测等这样的一系列过程来解码视频/图像。
渲染器可以渲染解码的视频/图像。可以通过显示器显示渲染的视频/图像。
图12图示应用本公开的内容流传输系统的结构。
此外,应用本公开的内容流传输系统可以主要包括编码服务器、流传输服务器、网络服务器、媒体存储、用户设备和多媒体输入设备。
编码服务器用作以从诸如智能电话、相机、摄像机等的多媒体输入设备输入的内容压缩成数字数据以生成比特流,并且将该比特流发送到流传输服务器。作为另一示例,在诸如智能电话、相机、摄像机等的多媒体输入设备直接生成比特流时,可以省略编码服务器。可以通过应用本公开的编码方法或比特流生成方法来生成比特流。并且流传输服务器可以在发送或接收比特流的过程中临时存储比特流。
流传输服务器基于用户的请求通过网络服务器(web server)将多媒体数据发送到用户设备,该网络服务器用作通知用户有什么服务的工具。当用户请求用户想要的服务时,网络服务器将请求传送给流媒体服务器,并且流媒体服务器将多媒体数据发送给用户。在这点上,内容流传输系统可以包括单独的控制服务器,并且在这种情况下,控制服务器用作控制内容流传输系统中各自设备之间的命令/响应。
流媒体服务器可以从媒体存储和/或编码服务器接收内容。例如,在从编码服务器接收内容的情况下,可以实时接收内容。在这种情况下,流媒体服务器可以在预定时间段内存储比特流以平滑地提供流媒体服务。
例如,用户设备可以包括移动电话、智能电话、膝上型计算机、数字广播终端、个人数字助理(PDA)、便携式多媒体播放器(PMP)、导航、平板PC、平板电脑、超极本、可穿戴设备(例如,手表式终端(智能手表)、眼镜式终端(智能眼镜)、头戴式显示器(HMD))、数字电视、台式电脑、数字标牌等。内容流传输系统中的每个服务器可以作为分布式服务器来操作,并且在这种情况下,可以以分布式方式处理由每个服务器接收到的数据。
本文公开的权利要求能够以各种方式组合。例如,本公开的方法权利要求的技术特征能够被组合以在装置中实施或执行,并且装置权利要求的技术特征能够被组合以在方法中实施或执行。此外,方法权利要求和装置权利要求的技术特征能够组合以在装置中实现或执行,并且方法权利要求和装置权利要求的技术特征能够被组合以在方法中实现或执行。

Claims (15)

1.一种由解码装置执行的图像解码方法,所述方法包括:
从比特流获得残差信息;
基于所述残差信息来导出用于当前块的变换系数;
基于所述变换系数来导出用于所述当前块的残差样本,以及
基于所述残差样本来生成重构图片,
其中,所述变换系数的导出包括:
确定用于对分区的编译单元执行变换的子块变换是否被应用于所述当前块,
确定使用多个变换核的多重变换选择(MTS)是否被应用于所述当前块,以及
基于所述子块变换是否被应用于所述当前块以及所述多重变换选择是否被应用于所述当前块来设置要对其应用变换的变换块的大小。
2.根据权利要求1所述的图像解码方法,其中,所述变换块包括归零块,所述归零块指示在所述当前块中有效变换系数能够存在的区域。
3.根据权利要求2所述的图像解码方法,其中,基于所述子块变换被应用于所述当前块并且所述多重变换选择被应用于所述当前块,所述归零块的宽度或高度被设置为16。
4.根据权利要求2所述的图像解码方法,其中,基于所述子块变换是否不被应用于所述当前块或者所述多重变换选择不被应用于所述当前块,所述归零块的宽度或高度被设置为32或更少。
5.根据权利要求1所述的图像解码方法,其中,基于指示所述子块变换是否被应用于所述当前块的标志信息来确定是否应用所述子块变换,以及
其中,在所述编译单元级别处用信号发送所述标志信息。
6.根据权利要求1所述的图像解码方法,其中,基于指示所述多重变换选择是否被应用于所述当前块的标志信息来确定是否应用所述多重变换选择,以及
其中,在所述序列参数集级别处用信号发送所述标志信息。
7.根据权利要求3所述的图像解码方法,其中,当分区的子块的高度小于64并且所述子块的宽度为32时,所述归零块的宽度被设置为16,以及
其中,当所述子块的宽度小于64并且所述子块的高度为32时,所述归零块的高度被设置为16。
8.根据权利要求2所述的图像解码方法,其中,所述残差信息包括最后有效系数前缀信息,以及
其中,基于所述归零块的大小来导出所述最后有效系数前缀信息的最大值。
9.一种由编码装置执行的图像编码方法,所述方法包括:
导出用于当前块的残差样本;
基于所述残差样本来导出变换系数;以及
对包括关于所述变换系数的信息的残差信息进行编码,
其中,所述变换系数的导出包括:
确定用于对分区的编译单元执行变换的子块变换是否被应用于所述当前块,
确定使用多个变换核的多重变换选择(MTS)是否被应用于所述当前块,以及
基于所述子块变换是否被应用于所述当前块以及所述多重变换选择是否被应用于所述当前块来设置在解码过程中存在要对其应用逆变换的变换系数的区域的大小。
10.根据权利要求9所述的图像编码方法,其中,所述变换块包括归零块,所述归零块指示在所述当前块中有效变换系数能够存在的区域。
11.根据权利要求10所述的图像编码方法,其中,基于所述子块变换被应用于所述当前块并且所述多重变换选择被应用于所述当前块,所述归零块的宽度或高度被设置为16。
12.根据权利要求10所述的图像编码方法,其中,基于是否所述子块变换不被应用于所述当前块或者所述多重变换选择不被应用于所述当前块,所述归零块的宽度或高度被设置为32或更少。
13.根据权利要求11所述的图像编码方法,其中,当分区的子块的高度小于64并且所述子块的宽度为32时,所述归零块的宽度被设置为16,以及
其中,当所述子块的宽度小于64并且所述子块的高度为32时,所述归零块的高度被设置为16。
14.根据权利要求10所述的图像编码方法,其中,所述残差信息包括最后有效系数前缀信息,以及
其中,基于所述归零块的大小来导出所述最后有效系数前缀信息的最大值。
15.一种非暂时性计算机可读数字存储介质,所述非暂时性计算机可读数字存储介质存储使图像解码方法被执行的指示信息,所述解码方法由解码装置执行,所述方法包括:
从比特流获得残差信息;
基于所述残差信息来导出用于当前块的变换系数;
基于所述变换系数来导出用于所述当前块的残差样本,以及
基于所述残差样本来生成重构图片
其中,所述变换系数的导出包括:
确定用于对分区的编译单元执行变换的子块变换是否被应用于所述当前块;
确定使用多个变换核的多重变换选择(MTS)是否被应用于所述当前块;以及
基于所述子块变换是否被应用于所述当前块并且所述多重变换选择是否被应用于所述当前块来设置要对其应用变换的变换块的大小。
CN202080064445.XA 2019-08-08 2020-08-07 基于变换的图像编译方法及设备 Pending CN114450961A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201962884670P 2019-08-08 2019-08-08
US62/884,670 2019-08-08
PCT/KR2020/010490 WO2021025528A1 (ko) 2019-08-08 2020-08-07 변환에 기반한 영상 코딩 방법 및 그 장치

Publications (1)

Publication Number Publication Date
CN114450961A true CN114450961A (zh) 2022-05-06

Family

ID=74502759

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080064445.XA Pending CN114450961A (zh) 2019-08-08 2020-08-07 基于变换的图像编译方法及设备

Country Status (4)

Country Link
US (2) US11516511B2 (zh)
KR (1) KR20220031062A (zh)
CN (1) CN114450961A (zh)
WO (1) WO2021025528A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115442600A (zh) * 2022-08-30 2022-12-06 百果园技术(新加坡)有限公司 一种多变换核选择决策方法、装置、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150117520A1 (en) * 2013-10-29 2015-04-30 Broadcom Corporation Rdo-based small transform coefficients suppression algorithm for hevc
CN105120272A (zh) * 2011-10-18 2015-12-02 株式会社Kt 图像编码方法、图像解码方法、图像编码器及图像解码器
US20170094314A1 (en) * 2015-09-29 2017-03-30 Qualcomm Incorporated Non-separable secondary transform for video coding with reorganizing
CN108886613A (zh) * 2016-03-28 2018-11-23 株式会社Kt 用于处理视频信号的方法和装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10616604B2 (en) * 2015-09-01 2020-04-07 Qualcomm Incorporated Coefficient level coding in video coding
US11095893B2 (en) * 2016-10-12 2021-08-17 Qualcomm Incorporated Primary transform and secondary transform in video coding
TW201907732A (zh) * 2017-07-05 2019-02-16 財團法人工業技術研究院 視訊編碼方法、視訊解碼方法、視訊編碼器及視訊解碼器
US11218694B2 (en) * 2018-09-24 2022-01-04 Qualcomm Incorporated Adaptive multiple transform coding
US11032572B2 (en) * 2019-05-17 2021-06-08 Qualcomm Incorporated Low-frequency non-separable transform signaling based on zero-out patterns for video coding
US11695960B2 (en) * 2019-06-14 2023-07-04 Qualcomm Incorporated Transform and last significant coefficient position signaling for low-frequency non-separable transform in video coding

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105120272A (zh) * 2011-10-18 2015-12-02 株式会社Kt 图像编码方法、图像解码方法、图像编码器及图像解码器
US20150117520A1 (en) * 2013-10-29 2015-04-30 Broadcom Corporation Rdo-based small transform coefficients suppression algorithm for hevc
US20170094314A1 (en) * 2015-09-29 2017-03-30 Qualcomm Incorporated Non-separable secondary transform for video coding with reorganizing
CN108886613A (zh) * 2016-03-28 2018-11-23 株式会社Kt 用于处理视频信号的方法和装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
MOONMO KOO ET AL.,: "CE6: Reduced Secondary Transform (RST) (CE6-3.1)", 《JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11》, 27 March 2019 (2019-03-27), pages 2 *
MOONMO KOO.,: "CE 6-1.1 (c, d): Fast DST-7/DCT-8 based on DFT and 32 point MTS based on skipping high frequency coefficients", 《JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11》, 12 October 2018 (2018-10-12), pages 1 - 2 *

Also Published As

Publication number Publication date
KR20220031062A (ko) 2022-03-11
US20230076486A1 (en) 2023-03-09
US11516511B2 (en) 2022-11-29
WO2021025528A1 (ko) 2021-02-11
US20220159299A1 (en) 2022-05-19

Similar Documents

Publication Publication Date Title
CN113940070A (zh) 基于变换的图像编码方法及其装置
CN114982239A (zh) 基于变换的图像编码方法及其装置
CN113170197A (zh) 基于二次变换的图像编码方法及其装置
JP2024036659A (ja) 変換に基づく映像コーディング方法及びその装置
US11457227B2 (en) Transform-based image coding method and apparatus therefor
CN114128276A (zh) 图像编译中指示变换核集的信息的信令
JP7362898B2 (ja) 変換に基づく映像コーディング方法及びその装置
CN113940074A (zh) 基于广角帧内预测和变换的图像编码方法和装置
CN114946189A (zh) 基于变换的图像编码方法及其装置
CN114342386A (zh) 基于变换的视频编译方法及其装置
CN114930847A (zh) 基于变换的图像编码方法及其装置
CN114586353A (zh) 基于变换的图像编码方法及装置
CN114127789A (zh) 关于变换核集的信息的编译
CN114930846A (zh) 基于变换的图像编码方法及其装置
CN114747220A (zh) 基于变换的图像编码方法及其设备
CN114342393A (zh) 基于变换的图像编译方法及其设备
CN114651446A (zh) 基于变换的图像编译方法及其装置
US20230076486A1 (en) Image coding method based on transform, and device therefor
CN113597770B (zh) 基于变换的图像编译方法及其装置
CN114930845A (zh) 基于变换的图像编码方法及其装置
CN114762340A (zh) 编译图像的基于变换的方法及其装置
CN114731439A (zh) 基于变换的图像编译方法及其装置
CN114762343A (zh) 基于变换的图像编码方法及其装置
CN114128267A (zh) 图像编译系统中用于关于变换核集的信息的上下文编译
CN115516855A (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