CN116233469A - 低频不可分离变换和多重变换选择死锁预防 - Google Patents

低频不可分离变换和多重变换选择死锁预防 Download PDF

Info

Publication number
CN116233469A
CN116233469A CN202211372723.5A CN202211372723A CN116233469A CN 116233469 A CN116233469 A CN 116233469A CN 202211372723 A CN202211372723 A CN 202211372723A CN 116233469 A CN116233469 A CN 116233469A
Authority
CN
China
Prior art keywords
transform
decoding
type
determining
lfnst
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
CN202211372723.5A
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of CN116233469A publication Critical patent/CN116233469A/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/48Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using compressed domain processing techniques other than decoding, e.g. modification of transform coefficients, variable length coding [VLC] data or run-length data
    • 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/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/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/184Methods 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 bits, e.g. of the compressed video stream
    • 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/65Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience
    • 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/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Abstract

本公开描述了低频不可分离变换和多重变换选择死锁预防。系统和方法可允许在在解码器侧对变换参数解码之前确定在视频编码和解码系统的编码侧执行的变换的类型。这可允许在比特流中接收到的一些或所有变换单元(TU)的逆变换被更快速地执行,这可减少比特流缓冲器上的压力。

Description

低频不可分离变换和多重变换选择死锁预防
技术领域
本公开概括而言涉及用于视频编码的系统、设备和方法,更具体而言涉及低频不可分离变换和多重变换选择死锁预防。
背景技术
通用视频编码(Versatile Video Coding,VVC)(也称为H.266)是由联合视频专家组(Joint Video Experts Team,JVET)于2020年7月最终确定的视频压缩标准。该标准提供了视频编码和解码的准则。通常,在解码侧,可能有必要确定在编码侧使用的变换的类型,以便对比特流中接收到的任何数据执行逆变换。变换的两个示例类型可包括低频不可分离变换(Low Frequency Non-Separable Transform,LFNST)和多重变换选择(MultipleTransform Selection,MTS)。然而,通常,为了确定哪种类型的变换被用于了特定的变换单元(transform unit,TU),必须首先执行多个阶段的解码(编码单元(coding unit,CU)解码、TU解码,然后是变换参数解码)。这可能会有问题,因为可能需要对与给定CU相关联的所有TU进行解码,然后才能对TU之一开始逆变换过程。这可能会导致容纳接收到的编码视频数据的比特流缓冲器中出现瓶颈。
发明内容
根据本公开的一方面,提供了一种无线通信方法,包括:接收比特流的第一编码视频数据;对所述第一编码视频数据的第一视频帧的第一编码单元(CU)解码,所述第一CU包括第一变换单元(TU)和第二TU;基于与对所述第一CU解码相关联的第一解码数据,并且在对所述第一TU和所述第二TU解码之前,确定用于为所述第一TU和所述第二TU生成各自的变换系数的第一变换类型;对所述第一TU解码,其中,对所述第一TU解码包括识别第一变换系数;对所述第二TU解码,其中,对所述第二TU解码包括识别第二变换系数;基于所述第一变换类型和所述第一变换系数,生成所述第一TU的第一重建像素值;并且基于所述第一变换类型和所述第二变换系数,生成所述第二TU的第二重建像素值。
根据本公开的一方面,提供了一种无线通信系统,包括:处理器;以及存储器,其存储计算机可执行指令,所述指令当被所述处理器执行时,使得所述处理器:接收比特流的第一编码视频数据;对所述第一编码视频数据的第一视频帧的第一编码单元(CU)解码,所述第一CU包括第一变换单元(TU)和第二TU;基于与对所述第一CU解码相关联的第一解码数据,并且在对所述第一TU和所述第二TU解码之前,确定用于为所述第一TU和所述第二TU生成各自的变换系数的第一变换类型;对所述第一TU解码,其中,对所述第一TU解码包括识别第一变换系数;对所述第二TU解码,其中,对所述第二TU解码包括识别第二变换系数;基于所述第一变换类型和所述第一变换系数,生成所述第一TU的第一重建像素值;并且基于所述第一变换类型和所述第二变换系数,生成所述第二TU的第二重建像素值。
根据本公开的一方面,提供了一种无线通信装置,包括:用于接收比特流的第一编码视频数据的装置;用于对所述第一编码视频数据的第一视频帧的第一编码单元(CU)解码的装置,所述第一CU包括第一变换单元(TU)和第二TU;用于基于与对所述第一CU解码相关联的第一解码数据,并且在对所述第一TU和所述第二TU解码之前,确定用于为所述第一TU和所述第二TU生成各自的变换系数的第一变换类型的装置;用于对所述第一TU解码的装置,其中,对所述第一TU解码包括识别第一变换系数;用于对所述第二TU解码的装置,其中,对所述第二TU解码包括识别第二变换系数;用于基于所述第一变换类型和所述第一变换系数,生成所述第一TU的第一重建像素值的装置;以及用于基于所述第一变换类型和所述第二变换系数,生成所述第二TU的第二重建像素值的装置。
附图说明
参考附图记载详细描述。对相同标号的使用指示出相似或相同的组件或元素;然而,也可以使用不同的标号,也是用来指示组件或元素,它们可能是相似或相同的。本公开的各种实施例可以利用附图中所图示的那些以外的元素和/或组件,并且一些元素和/或组件可能不存在于各种实施例中。取决于上下文,用于描述元素或组件的单数术语可涵盖这种元素或组件的复数,反之亦然。
图1根据本公开的一个或多个实施例图示了示例系统。
图2A根据本公开的一个或多个实施例图示了示例流程图。
图2B根据本公开的一个或多个实施例图示了示例流程图。
图3A根据本公开的一个或多个实施例图示了示例流程图。
图3B根据本公开的一个或多个实施例图示了示例流程图。
图4根据本公开的一个或多个实施例图示了示例方法。
图5根据本公开的一个或多个实施例图示了计算系统的示例。
具体实施方式
本公开涉及改善的视频编码效率,更具体而言,涉及预测低频不可分离变换和多重变换选择索引的存在以改善视频编码的逆变换过程。例如,该预测可以防止死锁。具体而言,这些系统和方法可以使得解码过程的逆变换部分在一些情形中能够比在其他情况下更快地启动,以便改善解码性能(例如,吞吐量和时机)。这种性能的提高进而可以减少在解码器侧开始处理变换单元(TU)系数所需的缓冲空间量,并且可以缓解或防止缓冲器中的“死锁”场景。死锁可能包括这样一种场景:视频帧被保留在缓冲器中,直到被解码为止,而与此同时,其他帧正在被接收。这可能导致缓冲器变满的情形,这可能使得视频流陷入瓶颈。这种死锁可以通过对与给定视频帧相关联的一些TU执行逆变换来缓解或消除,而不要求上下文自适应二进制算术编码(context-adaptive binary arithmetic coding,cabac)引擎(如下文所述的压缩过程的熵部分的一部分)来完成对为该帧生成的所有TU的系数解码,并且不要求TU语法之后的解码语法。也就是说,本文描述的系统和方法通过在一些情形中允许cabac引擎在已经被解码的TU上与逆变换过程并行地解码任何剩余TU系数,从而提高了解码过程的性能。
典型的视频编码和解码系统可包括发送设备,该发送设备被配置为接收源视频和压缩(例如,编码)源视频的视频数据以便传输到接收设备。这个压缩数据可以作为“比特流”被传输到接收设备。接收设备可被配置为对从发送设备接收的压缩视频数据进行解码。例如,发送设备可以是视频内容的源,而接收设备可以是观看者观看视频内容的设备(和/或接收设备可以是第三设备,它可以对视频解码并且将解码的视频内容提供给观看者观看视频内容的设备)。源的视频内容可以被压缩,以最大限度地提高视频质量和吞吐量,这是通过允许将包括大量像素的视频帧压缩成较小量的数据,以便在接收设备处提供更快的传输和处理。
在高级别上,编码过程可能至少涉及以下操作。首先,可以以若干个像素的形式接收视频帧。视频帧可以被分离成不同的编码树单元(coding tree unit,CTU),各自被分离成一个或多个编码树块(coding tree block,CTB),并且各个CTB被分离成一个或多个编码单元(coding unit,CU),CU可包括帧中包括的像素组和/或与像素相关联的信息,例如亮度和色度信息。CU可被分离成一个或多个TU——像素块。可以为TU生成预测的像素块,这可涉及到将与当前帧相关联的像素数据与参考图像进行比较,该参考图像可代表视频内容中先前编码的帧(例如,间编码),和/或可代表同一帧的先前编码的像素数据(例如,内编码)。然后,预测块可以被从原始图像数据的当前块中减去(例如,在减法器处),并且所得到的残差像素值(例如,表示预测块和原始图像数据之间的差异)可以被提供给前向变换阶段,在该阶段,TU中包括的残差像素数据被转换到变换系数的域。有多种类型的变换可用于将残差像素数据转换到变换系数的域,本文将论述其中一些变换类型。在应用变换之后,变换后的TU被提供到量化器阶段。前向变换和量化器阶段可以例如使用离散余弦变换(discretecosine transform,DCT)将划分后的残差数据变换为变换系数。利用由系统设置的量化参数(quantization parameter,QP),变换和量化器随后在系数上使用有损重采样或量化。帧和残差以及支持或上下文数据块大小等等可被编码器进行熵编码并且被传输到接收设备。
本文描述的系统和方法可适用于通用视频编码(VVC)视频压缩标准(然而,这些系统和方法也可适用于其他标准)。VVC标准可能与若干个不同类型的变换相关联。这些不同的变换可以提供不同的机制,通过这些机制,像素数据可以在过程的编码侧(例如,在过程的前向变换阶段)被变换到另一个域中。这种变换的两个示例选项可包括低频不可分离变换(LFNST)和多重变换选择(MTS),以及其他选项。也就是说,LFNST和MTS可以提供两种不同类型的变换,这些变换可以决定当初始像素数据作为编码过程的一部分被变换时所得到的频率数据。取决于使用哪种变换,所得到的TU残差系数可能不同。有鉴于此,为了在接收设备处将TU残差系数转换回像素域(例如,颜色域)(例如,生成重建的残差像素值),接收设备可能在对TU残差系数执行逆变换之前有必要知道使用了哪种类型的变换以便生成重建的残差像素值。
在接收设备处,压缩的视频帧可以被接收和解码,以便视频内容可以被呈现给观看者。在一些情况下,典型的解码过程可能至少涉及以下操作。首先,接收设备可以接收与视频流的特定帧有关的压缩数据。该压缩数据可被解码为一个或多个CU。一旦执行了CU解码,就可以从解码的(一个或多个)CU中解码出TU残差系数。一旦所有的TU残差系数被解码,任何LFNST和MTS数据然后就可以被解码。VVC标准提供了一种技术,用于向接收(例如,解码)设备传达是否对比特流的各个视频帧使用了LFNST或者MTS。例如,一个或多个标志(例如,索引)可以通过比特流被传输到解码器。标志可包括比特,其指示出是否使用了特定类型的变换(例如,特定类型的变换是否存在)。例如,如果在编码器侧使用了LFNST,那么关于LFNST的标志可以被设置为“1”的值。一旦LFNST和MTS数据被解码,那么就可以执行接收到的视频帧数据的逆变换,以产生该帧的原始像素信息。通过在实际解码数据之前预测是否使用了LFNST或MTS以识别LFNST或MTS索引,逆变换过程可以更快地发生,改善了解码效率。
通常,为了在接收设备处确定编码过程采用了哪种类型的变换,首先需要对所有的TU残差系数(例如,一帧的所有TU的所有TU残差系数)进行解码,然后在执行逆变换之前可能需要对额外语法进行解码(例如,指示出编码器使用了哪种变换的额外语法)。在所有的TU残差系数被解码之后,然后包括变换数据的额外语法数据可以被解码,以破译使用了哪个(哪些)变换类型。一旦完成,就可以对TU残差系数执行逆变换以获得原始像素数据。在解码LFNST和MST数据之前等待所有TU残差系数被解码的这个过程可能存在问题,因为它可能会使得解码过程陷入瓶颈。等待所有TU残差系数被解码的另一个缺点可包括比特流缓冲器死锁场景,其中,至少一个帧在被解码的同时被保留在缓冲器中,而同时其他帧正被接收在缓冲器处。这可能会导致缓冲器变满的情形。
为了缓解或消除比特流缓冲器中的这类死锁,本文描述的系统和方法可涉及在解码器侧对所有TU残差系数进行解码之前预测在编码器侧采用的变换的类型。这可允许在其他TU被解码的同时对一些TU执行逆变换,而不是等待所有的TU和额外语法被解码后才开始对任何TU执行逆变换。
在一些实施例中,预测还可包括多个预测阶段,这些预测阶段可以在解码过程的不同部分被执行。例如,第一预测阶段可发生在CU解码阶段(例如,TU的逆变换可以在对CU的所有TU的变换系数进行解码之前开始),而第二预测阶段可以在TU残差系数解码阶段期间发生。也就是说,第一预测阶段可以在CU的每个TU的变换系数被解码之前发生,而第二预测阶段可以在CU的每个TU的变换系数解码期间和/或解码之后发生。以这种方式,预测允许了确定在逆变换中使用的变换系数,而不必对其进行解码。CU解码阶段的预测可允许在TU解码过程开始之前提早识别使用了哪种变换。然而,如果系统在CU解码阶段期间无法识别用于识别变换类型的必要条件,那么第二预测阶段可以充当第一预测阶段的后备。也就是说,虽然第二预测阶段发生在TU系数解码阶段,但第二预测阶段仍然提供了益处,即,可以在所有TU被解码之前执行对一些TU的逆变换处理。在图3B中提供了对于这多个预测阶段以及它们在解码过程中可能出现的位置的图示。
换句话说,在当前CU上的第一TU过程(例如,对TU解码)开始之前,对于每个TU对第一阶段预测条件进行一次检查,并且在对CU内部的每个TU解码的过程期间对第二阶段预测条件进行检查。在检测到第一预测阶段或第二预测阶段中的条件之后,立即向逆变换单元发送旁路信号,来以为0的LNFST和MTS索引(例如,标志)开始处理,消除了在为剩余TU系数启动逆变换单元之前的等待时间。
在一些实施例中,确定TU在第一预测阶段期间经历了使用LFNST的变换的必要条件可包括以下内容。首先,treeType不是DUAL_TREE_CHROMA。第二,IntraMipFlag[x0][y0]为TRUE。第三,lfnstWidth或lfnstHeight小于16。在一些情况下,可能要求满足多个或所有的条件才能做出这个判定。为了确定TU经历了使用LFNST和MTS(或者两者都不使用)的变换,可能要求满足一些或所有的条件。在一些情况下,可能要求满足所有的条件。也就是说,如果满足条件之一,但没有满足第二条件,那么可能没有充足的信息来确定是否使用了LFNST或MTS。这些条件的变量由VVC编码标准定义,并且在此被进一步描述。
在一些实施例中,确定TU在第一预测阶段期间经历了使用MTS的变换的必要条件可包括以下内容。在一些实施例中,用于确定使用了MTS变换的条件可包括以下的一些或全部。首先,treeType是DUAL_TREE_CHROMA。第二,cbWidth或者cbHeight大于32。第三,IntraSubPartitionsSplitType不是ISP_NO_SPLIT。第四,cu_sbt_flag为TRUE。就上面提到的变量而言,等于1的cu_sbt_flag指定对于当前编码单元,使用子块变换。等于0的cu_sbt_flag指定对于当前编码单元,不使用子块变换。为了确定TU经历了使用LFNST和MTS(或者两者都不使用)的变换,可能要求满足一些或所有的条件。在一些情况下,可能要求满足所有的条件。也就是说,如果满足条件之一,但没有满足第二条件,那么可能没有充足的信息来确定是否使用了LFNST或MTS。这些条件的变量由VVC编码标准定义,并且在此被进一步描述。
在一些实施例中,确定TU在第二预测阶段期间经历了使用LFNST和MTS(或者两者都不使用)的变换的必要条件可涉及至少以下内容。首先,LFNST可能只在仅内部模式中应用。第二,编码块(coding block,CB)大小必须小于或等于64x64。第三,必须有最多6个TU(例如,四个亮度和两个色度),并且每个TU必须具有小于或等于16个系数。最后,TU的第一标志(“tu_coded_flag”)必须被设置为“1”值,并且TU的第二标志(“transform_skip_flag”)必须被设置为“0”值。如果满足了所有这些条件,那么就可以确定对于被解码的TU使用了LFNST。为了确定TU经历了使用LFNST和MTS(或者两者都不使用)的变换,可能要求满足一些或所有的条件。在一些情况下,可能要求满足所有的条件。也就是说,如果满足条件之一,但没有满足第二条件,那么可能没有充足的信息来确定是否使用了LFNST或MTS。同样地,要确定使用了MTS,可能需要满足以下条件。首先,CB大小必须小于或等于32x32。第二,必须最多有三个TU(一个亮度和两个色度)。第三,每个TU最多可以有16x16个系数,总共最多有768个系数。这些条件的变量由VVC编码标准定义,并且在此被进一步描述。
关于第一和/或第二预测阶段所涉及的任何条件的额外细节可参考图3B来进一步详细描述。
图1是根据本公开的一些示例实施例图示出编码和解码设备的组件的示例系统100。
参考图1,系统100可包括具有编码器和/或解码器组件的设备102。如图所示,设备102可包括提供视频和/或音频内容的内容源103(例如,相机或其他图像捕捉设备、存储的图像/视频,等等)。内容源103可以向分区器104提供媒体(例如,视频和/或音频),该分区器可以准备内容的帧以便编码。减法器106可以生成残差,如本文进一步说明的。变换和量化器108可以生成和量化变换单元,以促进编码器110(例如,熵编码器)进行的编码。变换和量化的数据可以由逆变换和量化器112进行逆变换和逆量化。加法器114可以将逆变换和逆量化的数据与由预测单元116生成的预测块进行比较,从而得到重建的帧。滤波器118(例如,环内滤波器)可以修改来自加法器114的重建帧,并且可以将重建帧存储在图像缓冲器120中以供预测单元116使用。控制121可管理许多编码方面(例如,参数),其中至少包括量化参数(QP)的设置,但也可包括设置比特率、率失真或场景特性、预测和/或变换分区或块大小、可用预测模式类型、以及最佳模式选择参数,例如,至少部分基于来自预测单元116的数据。利用编码方面,变换和量化器108可以生成和量化变换单元,以促进编码器110进行的编码,该编码器可以生成可被传输的编码数据122(例如,编码的比特流)。
仍然参考图1,设备102可以接收比特流中的编码数据(例如,编码数据122),并且解码器130可以对编码数据进行解码,提取量化的残差系数和上下文数据。逆变换和量化器132可以基于量化的残差系数和上下文数据来重建像素数据。加法器134可以将残差像素数据添加到由预测单元136生成的预测块。滤波器138可以对来自加法器134的结果数据进行滤波。滤波后的数据可以由媒体输出140输出,并且也可以作为重建帧被存储在图像缓冲器142中,以供预测单元136使用。
参考图1,系统100执行本文公开的内预测的方法,并且被布置为执行本文描述的包括块内拷贝的至少一个或多个实现方式。在各种实现方式中,系统100可被配置为根据一个或多个标准从事视频编码和/或实现视频编解码器。另外,在各种形式中,视频编码系统100可被实现为图像处理器、视频处理器和/或媒体处理器的一部分并且从事间预测、内预测、预测性编码和残差预测。在各种实现方式中,系统100可根据一个或多个标准或规范从事视频压缩和解压缩和/或实现视频编解码器,例如,H.264(高级视频编码,或者AVC)、VP8、H.265(高效率视频编码,或者HEVC)及其SCC扩展、VP9、开放媒体联盟版本1(Alliance OpenMedia Version1,AV1)、H.266(通用视频编码,或者VVC)、DASH(Dynamic AdaptiveStreaming over HTTP,HTTP上的动态自适应流媒体),以及其他。虽然本文可描述系统100和/或其他系统、方案或过程,但本公开不一定始终限于任何特定的视频编码标准或规范或者其扩展,除了本文提及的IBC预测模式操作以外。
如本文所使用的,术语“编码器”可以指编码器和/或解码器。类似地,如本文所使用的,术语“编码”可以指经由编码器的编码和/或经由解码器的解码。编码器或解码器可具有编码器和解码器两者的组件。编码器可具有如下所述的解码器环。
例如,系统100可以是编码器,其中采取与视频帧的序列有关的数据的形式的当前视频信息可被接收来压缩。按照一种形式,视频序列(例如,来自内容源103)是由合成屏幕内容的输入帧形成的,该合成屏幕内容例如是来自或者关于诸如字处理器、演示文稿或者电子数据表之类的商业应用、计算机、视频游戏、虚拟现实图像等等的。按照其他形式,图像可由合成屏幕内容和自然相机捕捉图像的组合来形成。按照另外一种形式,视频序列可以只是自然相机捕捉视频。分区器104可将每个帧分区成更小的更易管理的单元,然后比较帧来计算预测。如果在原始块和预测之间确定了差异或残差,则所得到的残差被变换并且量化,然后被熵编码并且以比特流的形式与重建的帧一起被发送出到解码器或者存储装置。为了执行这些操作,系统100可以从内容源103接收输入帧。输入帧可以是为了编码而被充分预处理的帧。
系统100也可管理许多编码方面,至少包括量化参数(QP)的设置,但举例来说也可包括设置比特率、率失真或场景特性、预测和/或变换分区或块大小、可用预测模式类型、以及最佳模式选择参数。
变换和量化器108的输出可被提供到逆变换和量化器112以生成与在诸如解码器130之类的解码器处将会生成的相同的参考或重建块、帧或其他单元。从而,预测单元116可以使用逆变换和量化器112、加法器114和滤波器118来重建帧。
预测单元116可以执行包括运动估计和运动补偿的间预测、根据本文描述的内预测、和/或组合的间-内预测。预测单元116可以为特定块选择最佳预测模式(包括内模式),通常基于比特成本和其他因素。预测单元116可在每一者的多个这种模式可能可用时选择内预测和/或间预测模式。预测单元116的采取预测块形式的预测输出可以被提供到减法器106以生成残差,并且也在解码环路中被提供到加法器114以将预测加到来自逆变换的重建残差以重建帧。
分区器104或者未示出的其他初始单元可按顺序放置帧以便编码并且向帧赋予分类,例如I帧、B帧、P帧等等,其中I帧被内预测。否则,帧可被划分成切片(例如I切片),其中每个切片可被不同地预测。从而,对于整个I帧或I切片的HEVC或AV1编码,空间或内预测被使用,并且在一种形式中,仅来自帧本身中的数据。
在各种实现方式中,预测单元116可以执行块内拷贝(intra block copy,IBC)预测模式,并且非IBC模式操作任何其他可用的内预测模式,例如邻居水平、对角线或者直接编码(direct coding,DC)预测模式、调色板模式、方向或角度模式、以及任何其他可用的内预测模式。其他视频编码标准,例如HEVC或VP9,可能具有不同的子块尺寸,但仍可使用本文公开的IBC搜索。然而,应当注意,上述只是示例分区大小和形状,而本公开不限于任何特定的分区和分区形状和/或大小,除非提到这样的限制或者上下文暗示这样的限制,例如提到可选的最大效率大小。应当注意,如下所述可为相同图像区域提供多个备选分区作为预测候选。
预测单元116可以选择先前解码的参考块。然后可以执行比较,以确定任何参考块是否与正被重建的当前块相匹配。这可能涉及散列匹配、SAD搜索、或者图像数据的其他比较,等等。一旦对于参考块发现匹配,预测单元116就可以使用一个或多个匹配参考块的图像数据来选择预测模式。按照一种形式,参考块的先前重建图像数据被提供作为预测,但是可替代地,参考块的原始像素图像数据可取而代之被提供作为预测。无论曾被用于匹配块的图像数据的类型如何,都可以使用任一选择。
预测块随后可在减法器106处被从原始图像数据的当前块中减去,并且所得到的残差可被分区成一个或多个变换块(TU),以使得变换和量化器108可例如利用离散余弦变换(discrete cosine transform,DCT)来将划分的残差数据变换成变换系数。利用由系统100设置的量化参数(QP),变换和量化器108随后在系数上使用有损重采样或量化。帧和残差以及支持或上下文数据块大小和内位移向量等等可被编码器110进行熵编码并且被传输到解码器。
在一个或多个实施例中,系统100可具有解码器或者可以是解码器,并且可接收编码视频数据,该编码视频数据采取比特流的形式并且具有图像数据(色度和亮度像素值)以及上下文数据,该上下文数据包括采取量化变换系数的形式的残差以及参考块的身份,其中例如至少包括参考块的大小。上下文也可包括个体块或者诸如切片之类的其他分区的预测模式、间预测运动向量、分区、量化参数、滤波器信息,等等。系统100可利用熵解码器130处理比特流以提取量化残差系数以及上下文数据。系统100随后可使用逆变换和量化器132来重建残差像素数据。
系统100随后可使用加法器134(以及未示出的组装器)来将残差加到预测块。系统100也可利用取决于在比特流的语法中指示的编码模式而采用解码技术,以及包括预测单元136的第一路径或者包括滤波器138的第二路径,来对所得到的数据进行解码。预测单元136通过使用从比特流提取的并且先前在编码器处建立的参考块大小和内位移或运动向量来执行内预测。预测单元136可以利用重建的帧以及来自比特流的间预测运动向量来重建预测块。预测单元136可以为每个块设置正确的预测模式,其中预测模式可以是从压缩的比特流中提取和解压缩的。
在一个或多个实施例中,编码数据122可包括视频和音频数据两者。以这种方式,系统100可以对音频和视频两者进行编码和解码。
图2A-2B根据本公开的一个或多个实施例图示了示例流程图。图2A和图2B对本文描述的系统和方法所提供的益处提供了高级别描述。具体地,图2A图示了可在解码器侧采取的第一方法,而图2B图示了可在解码器侧采取的第二方法,其中第二方法可代表本文描述的改进的方法。
从图2A开始,流程图200可以图示出,为了对给定的CU执行逆变换(例如,如操作202中所示),在对CU的TU执行逆变换(例如,如操作204中所示)之前,可能需要对CU以及CU的所有TU和TU数据之后的额外语法(例如,TU的变换系数)进行解码。一旦所有的TU被解码,那么额外语法,例如与这些TU相关联的变换参数(例如,H.266标准中定义的lfnst_idx和mts_idx)就可以被解码,以便确定对于CU内的个体TU使用了哪种变换。一旦确定对于个体TU使用了哪个或哪些变换,那么就可以对TU执行逆变换。以这种方式,逆变换的执行可能要求对CU数据、TU数据和额外语法进行解码,以识别在逆变换过程中要使用的变换系数和变换。然而,这种方法可能有缺点,因为在容纳在操作202中正被解码的比特流数据的缓冲器中会出现“死锁”场景。死锁可包括缓冲器中的这样一种场景:在该缓冲器中,被保存的接收的视频帧没有被足够快速地解码以允许比特流的更多传入视频帧被存储。这可能导致的情形是,缓冲器变得满了,无法存储比特流的额外帧,这可能会使得视频流陷入瓶颈。
转到图2B,流程图250可以表示第二方法,其中,在对CU的剩余TU进行解码之前,可以对CU的一些TU执行逆变换,而不是等待CU的所有TU加上额外语法被解码(也就是说,在确定lfnst_idx和mts_idx的值之前),然后才执行逆变换。也就是说,有可能可以预测在编码器侧对给定的CU或者CU内包括的TU所使用的变换类型,而不必在解码器侧完全解码CU的所有TU以及额外语法(如图中所示)。在一些情况下,可以在执行CU解码之后,在对CU内的任何个体TU进行解码之前执行预测(如本文所述的“第一预测阶段”)。然而,即使第一预测阶段中的CU数据缺乏充足的数据来预测变换的类型,也可以在每个个体TU被解码时执行预测(“第二预测阶段”),如图2B中所示。以这种方式,第一和第二预测阶段都可以避免对TU之后的语法进行解码的需要,并且可以避免对所有TU的语法进行解码的需要。例如,如果CU包括三个TU,那么可以在对第一TU进行解码之后,在对第二和第三TU进行解码之前,并且在对TU语法之后的后续语法进行解码之前,预测该第一TU的变换类型。在这种情况下,TU可以在其他两个TU被解码之前,并且在额外的TU后语法被解码之前,进行逆变换(操作256)。这允许了更快地处理TU(一些TU可以在其他TU被解码的同时进行逆变换)。参考图3B进一步详细描述了图2B中图示的这种方法。
图3A-3B根据本公开的一个或多个实施例图示了示例流程图。图3A-3B可对图2A和图2B中呈现的比较提供更详细的图示。
从图3A开始,流程图300从操作302开始,其中设备(例如,或者系统,例如图5的图形卡565)可以对接收的视频数据执行CU级解码(例如,CU语法的解码,例如LFNST宽度、LFNST高度、LFNST启用标志、内或间编码模式,等等)。具体地,编码的视频帧可能在编码之前已被分区(例如,使用图1的分区器104)为CU,任何CU包括若干个TU。此外,在操作302之后,流程图300进行到操作304,在该操作中,设备可以对已解码的CU的任何TU进行解码。可通过应用待编码的变换单元(例如,残差系数的矩阵)而为编码器生成TU。解码过程可能涉及对编码数据(例如,编码块大小、变换系数的数目、变换跳过标志,等等)进行解码,并且提取量化的残差系数和上下文数据(例如,类似于图1中图示的解码器130)。也就是说,在编码器侧,熵编码器(例如,类似于编码器110)可以生成可被传输的编码数据(例如,编码的比特流)。该数据可在编码器侧被编码,以压缩数据以便传输,以尽量减少通过比特流传输的数据量。鉴于此,一旦从比特流接收到数据,就将会需要对数据进行解码。
在操作304之后,流程图300进行到操作306,在该操作中,设备可以为已解码的TU解码变换参数(例如,在操作304的TU级语法之后的额外语法),该变换参数包括对对于各个TU是否使用了LFNST或MTS变换的指示。以这种方式,在操作306处对变换参数进行解码之前,可以在操作304处对所有的TU进行解码。这个解码过程可涉及对数据解码,该数据可提供对于在系统的编码器侧使用的变换类型的指示。例如,如本文所提及的,VVC标准(H.266或者其他)采用了可以采用的几种不同类型的变换。每种不同类型的变换可产生不同的结果数据,因此对于解码器侧重要的是要知道使用了哪种变换,以便执行逆变换来产生原始数据。这种类型的变换的示例包括LFNST和MTS,等等。一旦此数据被解码,那么系统就可以获得关于对给定TU使用了哪种变换的知识,然后就可能能够对该TU执行逆变换。个体TU可能在编码器侧被使用不同类型的变换来进行了变换,所以仅仅对于一个个体TU的变换参数进行解码来确定对于其他TU使用的变换类型,并不一定是足够的。具体而言,H.266标准定义了变量lfnst_idx和mts_idx。这些变量被设置为特定的值,可能最终表明使用了哪种类型的变换(如果使用了LFNST或MTS中的任一者的话)。
在操作306之后,流程图300进行到操作308,在该操作中,设备为所有解码的TU执行逆变换(例如,将变换和残差系数应用于解码数据)。正如通过这个流程图300所图示的,这种方法可能具有如下缺点:在可以确定lfnst_idx和mts_idx值之前,需要对与一个CU(或者多个CU)相关联的所有TU和额外的TU变换参数语法进行解码,因为在没有识别要应用的系数和变换的情况下,逆变换不能完成。这可能会导致比特流缓冲器中的瓶颈,因为在可以对数据执行逆变换并且缓冲器中的额外数据可以开始解码过程之前,可能需要对给定的一组数据完成整个CU和TU解码过程。图3B中图示的方法解决了图3A中采取的方法的这些问题中的一些,下面对此进行更详细描述。
转到图3B,流程图350从操作352开始,在该操作中,设备(例如,图5的图形卡565)可以执行关于图3A的操作302描述的相同或相似的CU解码过程。在操作352之后,流程图350进行到条件354。条件354可包括如本文所述的第一预测阶段。也就是说,在一些情况下,设备可能可以预测对于解码的CU内包括的一个或多个TU使用的变换类型,而不必对CU内的TU进行解码。
在一些实施例中,为了预测对于解码的CU内包括的一个或多个TU使用的变换类型,而不需要对所有TU解码,然后对变换参数语法解码,可能需要基于解码的CU数据满足一个或多个条件。这些条件可能基于变换的类型而不同。也就是说,用于LFNST的条件可能与用于MTS的条件不同,而用于MTS的条件可能与用于任何其他类型的变换的条件不同。例如,LFNST可能需要满足以下一般要求中的一些或全部。首先,LFNST只能用于编码器使用的内预测(而不是间预测)模式。第二,CU大小必须小于或等于64x64。第三,一个CU可最多具有六个变换单元(例如,四个亮度和两个色度)。第四,每个变换单元必须具有小于或等于16个系数。也就是说,一个CU最多只可存储96个系数。同样地,一般可以预测已使用了MTS,因为MTS可能需要满足以下一般要求中的一些或全部。只有亮度。在子分区内(intra sub-partition,ISP)编码模式中无效。MTS可以在基于子块的时间模式(subblock-basedtemporal mode,SBT)中被启用。第四,CU大小必须小于或等于32x32。第五,一个CU可最多具有三个变换单元(例如,一个亮度和两个色度)。第六,每个TU可具有最多16x16个系数。也就是说,一个CU最多只可存储768个系数。关于可如何采用这样的条件来预测LFNST和MTS的使用情况的更多具体细节将在下面描述。下面提到的一些或全部变量可以在国际电信联盟(International Telecommunication Union,ITU)制定的H.266标准中定义。
在一些实施例中,用于确定使用了LFNST变换的条件可包括以下的一个或多个。首先,treeType(例如,指定是使用单树还是双树来对编码树节点分区)不是DUAL_TREE_CHROMA。第二,IntraMipFlag[x0][y0](例如,指示出是否使用基于矩阵内预测的图像编码的标志)是TRUE。第三,lfnstWidth或lfnstHeight(例如,LFNST变换的宽度或高度)小于16。在一些情况下,可能要求满足多个或所有的条件才能做出这个判定。
同样地,如果满足以下条件中的一些或全部,那么在第一预测阶段中可能无法确定是否使用了LFNST。在这种情况下,下面描述的第二预测阶段也可以被用来尝试确定变换的类型。首先,lfnstWidth或lfnstHeight的值小于四(关于如何确定lfnstWidth和lfnstHeight的细节在下面提供)。第二,sps_lfnst_enabled_flag为FALSE(例如,指示出LFNST_idx是否可以存在的标志,并且该标志可以在编码单元内语法中识别)。第三,CuPredMode[chType][x0][y0]不是MODE_INTRA(例如,不是内编码模式)。最后,lfnstWidth或lfnstHeight大于MaxTbSizeY。在一些情况下,可能要求满足多个或所有的条件才能做出这个判定。就上面提到的变量而言,sps_lfnst_enabled_flag可能是包括比特的标志。等于1的比特指定lfnst_idx可以存在于编码单元内语法中。等于0的sps_lfnst_enabled_flag指定lfnst_idx不存在于编码单元内语法中。MODE_INTRA指定是使用了内预测还是间预测。如前所述,本文描述的这些变量和其他变量也可以在H.266标准(或者其他VVC标准)中定义。
可以基于以下情况得出参数lfnstWidth。当treeType为DUAL_TREE_CHROMA时,lfnstWidth被设置为等于cbWidth/SubWidthC。当IntraSubPartitionsSplitType等于ISP_VER_SPLIT时,lfnstWidth被设置为等于cbWidth/NumIntraSubPartitions。否则,lfnstWidth被设置为等于cbWidth。变量treeType可以指定是使用了单树(SINGLE_TREE)还是双树(DUAL_TREE_CHROMA)来对编码树节点分区。cbWidth可以表示给定的编码块的宽度。SubWidthC取决于所使用的色度格式采样结构,并且是在H.266中定义的。IntraSubPartitionsSplitType指定子分区内分割类型是水平还是垂直。
此外,可以基于以下情况得出参数lfnstHeight。当treeType为DUAL_TREE_CHROMA时,lfnstHeight被设置为等于cbHeight/SubHeightC。当IntraSubPartitionsSplitType等于ISP_HOR_SPLIT时,lfnstHeight被设置为等于cbHeight/NumIntraSubPartitions。否则,lfnstHeight被设置为等于cbHeight。
在一些实施例中,用于确定使用了MTS变换的条件可包括以下的一些或全部。首先,treeType是DUAL_TREE_CHROMA。第二,cbWidth或者cbHeight大于32。第三,IntraSubPartitionsSplitType不是ISP_NO_SPLIT。第四,cu_sbt_flag为TRUE。就上面提到的变量而言,等于1的cu_sbt_flag指定对于当前编码单元,使用子块变换。等于0的cu_sbt_flag指定对于当前编码单元,不使用子块变换。
在条件354之后,流程图350可以继续进行操作356或者操作362,这取决于是否确定了对CU中的TU使用了哪种变换类型。如果使用解码的CU数据预测了变换的类型,则流程图350可进行到操作362,并且逆变换可由设备对CU的TU执行,导致生成重建的残差像素值(例如,由图1的变换和量化器108生成)。然而,如果使用解码的CU数据不能预测变换的类型,那么流程图350可以进行到操作356。操作356可涉及设备对在操作352中解码的CU内包括的个体TU进行解码。在一些实施例中,操作356可以与联系图3A的操作304执行的TU解码相同或相似。也就是说,如果仅使用解码的CU数据无法确定变换的类型,那么个体TU可以进行解码过程。
在操作356之后,流程图350进行到条件358。条件358可包括设备执行如本文所述的第二预测阶段。也就是说,即使在操作352(CU解码)之后无法确定变换的类型,在一些情况下,仍然可能确定对于个体TU使用的变换的类型。也就是说,随着个体TU被解码,在剩余TU被解码之前,可能可以预测对于该特定TU使用的变换的类型。这仍然提供了比图3A中描述的逻辑更多的益处,因为逆变换(例如,操作362)于是可以在所有的TU被解码之前为一些TU执行,而不是在逆变换之前等待所有的TU被解码,然后才对变换参数(例如,lfnst_idx和mts_idx)解码。
在一些实施例中,第二预测阶段中用于确定使用了LFNST变换的条件可包括以下的一些或全部(可能要求满足这些条件中的一些或全部以预测LFNST变换被用于给定的TU)。首先,可能只使用了内预测。第二,一个CU可以最多是64x64的大小。第三,一个CU可具有最多六个TU(4个亮度,2个色度),并且每个TU具有少于或等于16个系数。第四,每个TU的成分编码标志tu_coded_flag=1,并且对于TU,transform_skip_flag=0。transform_skip_flag[x0][y0][cIdx]指定是否对关联的变换块应用变换。阵列索引x0,y0指定了所考虑的变换块的左上亮度样本相对于图片的左上亮度样本的位置(x0,y0)。阵列索引cIdx指定了颜色成分的指示符;它对于Y等于0,对于Cb等于1,并且对于Cr等于2。等于1的transform_skip_flag[x0][y0][cIdx]指定不对关联的变换块应用变换。等于0的transform_skip_flag[x0][y0][cIdx]指定关于是否对关联变换块应用变换的决定取决于其他语法元素。
在一些实施例中,第二预测阶段中用于确定使用了MTS变换的条件可包括以下的一些或全部(可能要求满足这些条件中的一些或全部以预测MTS变换被用于给定的TU)。首先,一个CU可只具有32x32的最大大小。第二,一个CU中可包括最多三个TU(1个亮度和2个色度)。第三,每个TU可包括最多16x16系数,使得最坏情况是总共768个系数。
如果如联系条件358所描述的,使用第二预测阶段无法确定特定TU的变换类型,那么TU语法之后的变换参数可能仍然需要被解码,并且流程图350可进行到操作360。操作360的结果可以是确定lfnst_idx和mts_idx的值的值,这可以确认是否使用了LFNST或MTS(或者两者都没有使用)。然而,如果第二预测阶段能够确定特定TU的变换类型,那么流程图350(对于该特定TU)可以绕过操作360,并且在操作362进行逆变换。此时,LFNST和MTS解码可在操作360中被执行,并且剩余TU随后可进行操作362和逆变换。在所有的TU被解码之前对一些TU执行逆变换的能力也可以在图3B中进一步图示(如下所述)。
图4根据本公开的一个或多个实施例图示了示例方法400。方法400可以从块402开始,这可包括设备(例如,图5的图形卡565)接收比特流的第一编码视频数据。方法400的块404可包括设备对第一编码视频数据的第一视频帧的第一编码单元(CU)进行解码,该第一CU包括第一变换单元(TU)和第二TU。方法400的块406可包括设备基于与对第一CU解码相关联的第一解码数据,并且在对第一TU和第二TU进行解码之前,确定用于为第一TU和第二TU生成各自的变换系数的第一变换类型。方法400的块408可包括设备对第一TU进行解码,其中,对第一TU进行解码包括识别第一变换系数。方法400的块410可包括对第二TU进行解码,其中,对第二TU进行解码包括识别第二变换系数。方法400的块412可包括基于第一变换类型和第一变换系数,生成第一TU的第一重建像素值。方法400的块414可包括基于第一变换类型和第二变换系数,生成第二TU的第二重建像素值。
图5根据本公开的一个或多个示例实施例图示了示范性系统500的实施例。
在各种实施例中,系统500可包括电子设备或者可被实现为电子设备的一部分。
在一些实施例中,系统500可代表例如实现图1的一个或多个组件的计算机系统。
实施例不限于此情境中。更概括而言,系统500被配置为实现本文参考附图描述的所有逻辑、系统、过程、逻辑流程、方法、公式、装置和功能。
系统500可以是具有多个处理器核心的计算机系统,例如分布式计算系统、超级计算机、高性能计算系统、计算集群、大型计算机、微型计算机、客户端-服务器系统、个人计算机(personal computer,PC)、工作站、服务器、便携式计算机、膝上型计算机、平板计算机、手持设备(比如个人数字助理(personal digital assistant,PDA))、或者其他用于处理、显示或传输信息的设备。类似的实施例可包括例如娱乐设备,比如便携式音乐播放器或便携式视频播放器,智能电话或其他蜂窝电话,电话,数字视频相机,数字静态相机,外部存储设备,等等。另外的实施例实现了更大规模的服务器配置。在其他实施例中,系统500可具有带一个核心的单个处理器或者多于一个处理器。注意,术语“处理器”是指具有单个核心的处理器或者具有多个处理器核心的处理器封装。
在至少一个实施例中,计算系统500代表了图1的一个或多个组件。更概括而言,计算系统500被配置为实现本文参考上述附图描述的所有逻辑、系统、过程、逻辑流程、方法、装置和功能。
当在本申请中使用时,术语“系统”和“组件”和“模块”旨在指代计算机相关实体,或者是硬件、硬件和软件的组合、软件,或者是执行中的软件,其示例由示范性系统500提供。例如,组件可以是但不限于是在处理器上运行的进程、处理器、硬盘驱动器、多个存储设备(光存储介质和/或磁存储介质的)、对象、可执行文件、执行的线程、程序、和/或计算机。
作为说明,在服务器上运行的应用和服务器都可以是组件。一个或多个组件可驻留在进程和/或执行的线程内,并且组件可局限于一个计算机上和/或分布在两个或更多个计算机之间。另外,组件可通过各种类型的通信介质来通信地耦合到彼此以协调操作。该协调可涉及信息的单向或双向交换。例如,组件可以以通过通信介质传达的信号的形式来传达信息。信号可被实现为分配到各种信号线的信号。在这种分配中,每个消息是信号。然而,另外的实施例可替代为采用数据消息。可在各种连接上发送这种数据消息。示范性连接包括并行接口、串行接口和总线接口。
如此图所示,系统500包括用于安装平台组件的主板505。主板505是点到点(P-P)互连平台,其包括处理器510、经由作为超路径互连(Ultra Path Interconnect,UPI)的P-P互连/接口耦合的处理器530、以及设备519。在其他实施例中,系统500可以是另一种总线体系结构,例如多点分支总线。此外,处理器510和530中的每一者可以是具有多个处理器核心的处理器封装。作为一个示例,处理器510和530被示为分别包括(一个或多个)处理器核心520和540。虽然系统500是双插口(2S)平台的示例,但其他实施例可包括多于两个插口或者一个插口。例如,一些实施例可包括四插口(4S)平台或八插口(8S)平台。每个插口是用于处理器的托架,并且可具有插口标识符。注意,术语平台是指安装了诸如处理器510和芯片组560之类的某些组件的主板。一些平台可包括额外的组件,并且一些平台可能只包括用来安装处理器和/或芯片组的插口。
处理器510和530可以是各种市售处理器中的任何一种,包括但不限于
Figure BDA0003925707050000211
Core(2)/>
Figure BDA0003925707050000212
Figure BDA0003925707050000213
Figure BDA0003925707050000214
处理器;/>
Figure BDA0003925707050000215
和/>
Figure BDA0003925707050000216
处理器;/>
Figure BDA0003925707050000217
应用、嵌入式和安全处理器;/>
Figure BDA0003925707050000218
和/>
Figure BDA0003925707050000219
和/>
Figure BDA00039257070500002110
处理器;IBM和
Figure BDA00039257070500002111
Cell处理器;以及类似的处理器。双微处理器、多核处理器和其他多处理器体系结构也可被用作处理器510和530。
处理器510包括集成存储器控制器(integrated memory controller,IMC)514和P-P互连/接口518和552。类似地,处理器530包括IMC 534和P-P互连/接口538和554。IMC的514和534分别将处理器510和530与各自的存储器,即存储器512和存储器532耦合。存储器512和532可以是平台的主存储器(例如,动态随机访问存储器(dynamic random-accessmemory,DRAM))的一部分,例如双数据速率3型(double data rate type 3,DDR3)或4型(DDR4)同步DRAM(synchronous DRAM,SDRAM)。在本实施例中,存储器512和532在本地附接到各自的处理器510和530。
除了处理器510和530以外,系统500还可包括设备519。设备519可通过P-P互连/接口529和569连接到芯片组560。设备519也可以连接到存储器539。在一些实施例中,设备519可以连接到处理器510和530中的至少一者。在其他实施例中,存储器512、532和539可以经由总线和共享存储器中枢与处理器510和530以及设备519耦合。
系统500包括与处理器510和530耦合的芯片组560。此外,芯片组560可以例如经由接口(I/F)566与存储介质503耦合。I/F 566可以例如是增强型外围组件互连(PeripheralComponent Interconnect-enhanced,PCI-e)。处理器510、530和设备519可以通过芯片组560访问存储介质503。
存储介质503可包括任何非暂态计算机可读存储介质或者机器可读存储介质,例如光存储介质、磁存储介质或者半导体存储介质。在各种实施例中,存储介质503可包括制造品。在一些实施例中,存储介质503可存储计算机可执行指令,例如实现本文描述的一个或多个过程或操作(例如,图4的过程400)的计算机可执行指令502。存储介质503可存储用于上述任何公式的计算机可执行指令。存储介质503还可以存储用于本文描述的模型和/或网络(例如神经网络,等等)的计算机可执行指令502。计算机可读存储介质或机器可读存储介质的示例可包括能够存储电子数据的任何有形介质,包括易失性存储器或非易失性存储器、可移除或不可移除的存储器、可擦除或不可擦除的存储器、可写或者可改写的存储器,等等。计算机可执行指令的示例可包括任何适当类型的代码,例如源代码、编译的代码、解释的代码、可执行代码、静态代码、动态代码、面向对象的代码、视觉代码,等等。应当理解,实施例不限于此情境中。
处理器510经由P-P互连/接口552和562耦合到芯片组560,并且处理器530经由P-P互连/接口554和564耦合到芯片组560。直接媒体接口(Direct Media Interface,DMI)可以分别耦合P-P互连/接口552和562和P-P互连/接口554和564。DMI可以是促进例如八千兆传送每秒(Giga Transfers per second,GT/s)的高速互连,例如DMI 3.0。在其他实施例中,处理器510和530可以经由总线互连。
芯片组560可包括控制器中枢,例如平台控制器中枢(platformcontroller hub,PCH)。芯片组560可包括系统时钟,以执行钟控功能,并且包括用于I/O总线的接口,例如通用串行总线(universal serial bus,USB)、外围组件互连(peripheral componentinterconnect,PCI)、串行外围互连(serial peripheral interconnect,SPI)、集成互连(integrated interconnect,I2C),等等,以促进平台上的外围设备的连接。在其他实施例中,芯片组560可包括多于一个控制器中枢,例如具有存储器控制器中枢、图形控制器中枢和输入/输出(I/O)控制器中枢的芯片组。
在本实施例中,芯片组560经由接口(I/F)570与可信平台模块(trusted platformmodule,TPM)572和UEFI、BIOS、闪存组件574耦合。TPM 572是一种专用的微控制器,被设计来通过将加密密钥集成到设备中来保护硬件。UEFI、BIOS、闪存组件574可以提供预启动代码。
此外,芯片组560包括I/F 566,以将芯片组560与高性能图形引擎、图形卡565耦合。图形卡565可以实现本文描述的一个或多个过程或操作(例如,图2-图4的操作),并且可包括图1的组件(例如,图1的分区器104、图1的减法器106、图1的变换和量化器108、图1的编码器110、图1的解码器130、图1的逆变换和量化器112、图1的加法器114、图1的预测单元116、图1的控制116)。在其他实施例中,系统500可包括处理器510和530与芯片组560之间的灵活显示接口(flexible display interface,FDI)。FDI将处理器中的图形处理器核心与芯片组560互连。
各种I/O设备592与总线581耦合,还有将总线581与第二总线591耦合的总线桥580以及将总线581与芯片组560连接的I/F 568。在一个实施例中,第二总线591可以是低引脚数(low pin count,LPC)总线。各种设备可以耦合到第二总线591,包括例如键盘582、鼠标584、通信设备586、存储介质501、以及音频I/O 590。
人工智能(artificial intelligence,AI)加速器567可以是被布置来执行与AI有关的计算的电路。AI加速器567可以连接到存储介质501和芯片组560。AI加速器567可以提供实现丰富数据计算所需要的处理能力和能量效率。AI加速器567是一类专门的硬件加速器或者计算机系统,被设计为加速人工智能和机器学习应用,包括人工神经网络和机器视觉。AI加速器567可适用于用于机器人、物联网、其他数据密集型和/或传感器驱动任务的算法。
许多I/O设备592、通信设备586和存储介质501可驻留在主板505上,而键盘582和鼠标584可以是附加外设。在其他实施例中,I/O设备592、通信设备586和存储介质501中的一些或全部是附加外设,不驻留在主板505上。
可利用表述“在一个示例中”或者“示例”以及其衍生词来描述一些示例。这些术语的意思是联系该示例描述的特定特征、结构或特性被包括在至少一个示例中。在本说明书中各种地方出现短语“在一个示例中”不一定都指的是同一示例。
可利用表述“耦合”和“连接”以及其衍生词来描述一些示例。这些术语并不一定打算是彼此的同义词。例如,使用术语“连接”和/或“耦合”的描述可指示出两个或更多个元素与彼此发生直接物理或电气接触。然而,术语“耦合”也可以指两个或更多个元素没有与彼此发生直接接触,然而仍与彼此合作或交互。
此外,在前述“具体实施方式”部分中,各种特征被一起归组在单个示例中以精简公开内容。这种公开方法不应被解释为反映了要求保护的示例要求比每个权利要求中明确记载的更多的特征的意图。更确切地说,如所附权利要求反映的,发明主题存在于单个公开示例的少于全部特征中。从而,在此将所附权利要求并入到“具体实施方式”部分中,其中每个权利要求独立作为一个单独的示例。在所附权利要求中,术语“包括”和“在其中”分别被用作相应术语“包含”和“其中”的简明英语等同。另外,术语“第一”、“第二”和“第三”等等仅仅被用作标签,而并不打算对其对象施加数值要求。
虽然是以依结构特征和/或方法动作而定的语言来描述主题的,但要理解,所附权利要求中限定的主题不一定限于以上描述的具体特征或动作。更确切地说,以上描述的具体特征和动作是作为实现权利要求的示例形式被公开的。
适用于存储和/或执行程序代码的数据处理系统将包括通过系统总线直接或间接耦合到存储器元件的至少一个处理器。存储器元件可包括在程序代码的实际执行期间采用的本地存储器、大容量存储装置、以及提供至少一些程序代码的临时存储以减少在执行期间必须从大容量存储装置取回代码的次数的缓存存储器。术语“代码”覆盖了广泛的软件组件和构造,包括应用、驱动器、进程、例程、方法、模块、固件、微代码、以及子程序。从而,术语“代码”可以用来指指令的任何集合,这些指令当被处理系统执行时会执行一个或多个期望的操作。
本文描述的逻辑电路、设备和接口可以执行在硬件中实现的和利用在一个或多个处理器上执行的代码实现的功能。逻辑电路指的是实现一个或多个逻辑功能的硬件或者硬件和代码。电路是硬件,并且可以指一个或多个电路。每个电路可执行特定的功能。电路系统的电路可包括用一个或多个导体相互连接的分立电气组件、集成电路、芯片封装、芯片组、存储器,等等。集成电路包括在诸如硅晶片之类的衬底上创建的电路,并且可包括组件。集成电路、处理器封装、芯片封装和芯片组可包括一个或多个处理器。
处理器可以在(一个或多个)输入处接收信号,例如指令和/或数据,并且处理这些信号以生成至少一个输出。在执行代码时,代码会改变构成处理器管线的晶体管的物理状态和特性。晶体管的物理状态转化为存储在处理器内的寄存器中的一和零的逻辑比特。处理器可以将晶体管的物理状态转移到寄存器中,并且将晶体管的物理状态转移到另一个存储介质。
处理器可包括执行一个或多个子功能的电路,这一个或多个子功能被实现来执行处理器的整体功能。处理器的一个示例是包括至少一个输入和至少一个输出的状态机或者专用集成电路(application-specific integrated circuit,ASIC)。状态机可通过对至少一个输入执行预定的一系列串行和/或并行操纵或变换,来操纵至少一个输入以生成至少一个输出。
如上所述的逻辑可以是用于集成电路芯片的设计的一部分。芯片设计是以图形计算机编程语言创建的,并且被存储在计算机存储介质或数据存储介质中(例如盘、磁带、物理硬盘、或者虚拟硬盘,例如存储在存储访问网络中)。如果设计者不制作芯片或者用于制作芯片的光刻掩模,则设计者通过物理手段(例如,通过提供存储设计的存储介质的拷贝)或者电子方式(例如,通过互联网)直接或间接地将所得到的设计传输给这些实体。存储的设计随后被转换为适当的格式(例如,GDSII)以便制作。
所得到的集成电路芯片可被制作者以原始晶圆的形式发行(即,作为具有多个未封装芯片的单个晶圆)、作为裸片发行、或者以封装形式发行。在后一种情况下,芯片被安装在单芯片封装中(例如塑料载体,具有附接到主板或其他更高级载体的引线)或安装在多芯片封装中(例如陶瓷载体,其具有表面互连或隐埋互连中的任一者或两者)。在任何情况下,芯片随后与其他芯片、分立电路元件和/或其他信号处理器件被集成为以下各项的一部分:(a)中间产品,例如处理器板、服务器平台或者主板,或者(b)最终产品。
“示范性”一词在本文中被用来意指“充当示例、实例或例示”。本文描述为“示范性”的任何实施例不一定要被解释为比其他实施例更优选或有利。本文使用的术语“计算设备”、“用户设备”、“通信台站”、“台站”、“手持设备”、“移动设备”、“无线设备”和“用户设备”(UE)指的是无线通信设备,例如蜂窝电话、智能电话、平板设备、上网本、无线终端、膝上型计算机、毫微微小区、高数据速率(HDR)订户站、接入点、打印机、销售点设备、接入终端、或者其他个人通信系统(PCS)设备。设备可以是移动的或者固定的。
如本文档内使用的,术语“通信”意图包括发送,或者接收,或者发送和接收两者。这在权利要求中当描述被一个设备发送并且被另一设备接收的数据的组织时可能尤其有用,但要对权利要求构成侵权只要求这些设备之一的功能。类似地,当只要求保护两个设备之一的功能时,这两个设备之间的数据的双向交换(两个设备在交换期间都发送和接收)可被描述为“通信”。本文对于无线通信信号使用的术语“通信”包括发送无线通信信号和/或接收无线通信信号。例如,能够进行无线通信信号通信的无线通信单元可包括向至少一个其他无线通信单元发送无线通信信号的无线发送器,和/或从至少一个其他无线通信单元接收无线通信信号的无线通信接收器。
如本文所使用的,除非另有指明,否则使用序数形容词“第一”、“第二”、“第三”等等来描述共同对象只是表明相似对象的不同实例被提及,而并不意图暗示这样描述的对象必须在时间上、空间上、排名上或者以任何其他方式处于给定的序列中。
可以结合各种设备和系统来使用一些实施例,例如,个人计算机(personalcomputer,PC),桌面型计算机,移动计算机,膝上型计算机,笔记本计算机,平板计算机,服务器计算机,手持计算机,手持设备,个人数字助理(personal digital assistant,PDA)设备,手持PDA设备,板载设备,离板设备,混合设备,车载设备,非车载设备,移动或便携设备,消费者设备,非移动或非便携设备,无线通信站,无线通信设备,无线接入点(accesspoint,AP),有线或无线路由器,有线或无线调制解调器,视频设备,音频设备,视听(audio-video,A/V)设备,有线或无线网络,无线区域网络,无线视频区域网络(wireless videoarea network,WVAN),局域网(local area network,LAN),无线LAN(wireless LAN,WLAN),个人区域网络(personal area network,PAN),无线PAN(wireless PAN,WPAN),等等。
根据本公开的实施例尤其在针对一种方法、一种存储介质、一种设备和一种计算机程序产品的所附权利要求中公开,其中在一个权利要求种类(例如,方法)中提到的任何特征也可在另一权利要求种类(例如,系统)中要求保护。所附权利要求中的从属或往回引用只是出于形式原因而选择的。然而,由于故意往回引用任何在前权利要求(尤其是多项从属)而产生的任何主题也可被要求保护,从而无论所附权利要求中选择的从属如何,权利要求及其特征的任何组合都被公开并且可被要求保护。可要求保护的主题不仅包括所附权利要求中记载的特征的组合,而且还包括权利要求中的特征的任何其他组合,其中权利要求中提及的每个特征可与权利要求中的任何其他特征或者其他特征的组合相组合。此外,本文描述或描绘的任何实施例和特征可在单独的权利要求中被要求保护和/或在与本文描述或描绘的任何实施例或特征或者与所附权利要求的任何特征的任何组合中被要求保护。
上文对一个或多个实现方式的描述提供了图示和描述,但并不打算是穷举性的或者将实施例的范围限制到所公开的精确形式。修改和变化根据以上教导是可能的,或者可通过实现各种实施例来获取。
根据本公开的实施例尤其在针对一种方法、一种存储介质、一种设备和一种计算机程序产品的所附权利要求中公开,其中在一个权利要求种类(例如,方法)中提到的任何特征也可在另一权利要求种类(例如,系统)中要求保护。所附权利要求中的从属或往回引用只是出于形式原因而选择的。然而,由于故意往回引用任何在前权利要求(尤其是多项从属)而产生的任何主题也可被要求保护,从而无论所附权利要求中选择的从属如何,权利要求及其特征的任何组合都被公开并且可被要求保护。可要求保护的主题不仅包括所附权利要求中记载的特征的组合,而且还包括权利要求中的特征的任何其他组合,其中权利要求中提及的每个特征可与权利要求中的任何其他特征或者其他特征的组合相组合。此外,本文描述或描绘的任何实施例和特征可在单独的权利要求中被要求保护和/或在与本文描述或描绘的任何实施例或特征或者与所附权利要求的任何特征的任何组合中被要求保护。
上文对一个或多个实现方式的描述提供了图示和描述,但并不打算是穷举性的或者将实施例的范围限制到所公开的精确形式。修改和变化根据以上教导是可能的,或者可通过实现各种实施例来获取。
上面参考根据各种实现方式的系统、方法、装置和/或计算机程序产品的框图和流程图描述了本公开的某些方面。将会理解,框图和流程图的一个或多个方框以及框图和流程图中的方框的组合分别可由计算机可执行程序指令来实现。类似地,根据一些实现方式,框图和流程图的一些方框可能不一定需要按呈现的顺序来执行,或者可能根本不一定需要被执行。
这些计算机可执行程序指令可被加载到专用计算机或其他特定的机器、处理器或其他可编程数据处理装置上以产生特定的机器,从而使得在计算机、处理器或其他可编程数据处理装置上执行的指令创建用于实现在流程图的一个或多个方框中指定的一个或多个功能的装置。也可以把这些计算机程序指令存储在计算机可读存储介质或存储器中,这些指令可指挥计算机或其他可编程数据处理装置以特定方式运作,从而使得存储在计算机可读存储介质中的指令产生出包括实现流程图的一个或多个方框中指定的一个或多个功能的指令装置的制造品。作为示例,某些实现方式可提供一种计算机程序产品,其包括其中实现有计算机可读程序代码或程序指令的计算机可读存储介质,所述计算机可读程序代码适合于被执行来实现流程图的一个或多个方框中指定的一个或多个功能。也可以把计算机程序指令加载到计算机或者其他可编程数据处理装置上以使得一系列操作元素或步骤在该计算机或其他可编程装置上被执行来产生计算机实现的过程,使得在该计算机或其他可编程装置上执行的指令提供用于实现流程图的一个或多个方框中指定的功能的元素或步骤。
因此,框图和流程图的方框支持用于执行指定的功能的装置的组合、用于执行指定的功能的元素或步骤的组合以及用于执行指定的功能的程序指令装置。还要理解,框图和流程图的每个方框、以及框图和流程图中的方框的组合,可以用执行指定的功能、元素或步骤的专用的基于硬件的计算机系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
诸如“能够”、“可能”、“可”或者“可以”等等之类的条件性语言,除非另有具体声明,或者在使用的上下文内另有理解,否则一般想要表达某些实现方式可包括、而其他实现方式不包括某些特征、元素和/或操作。从而,这种条件性语言一般并不想要暗示特征、元素和/或操作是一个或多个实现方式以任何方式必须要求的,或者暗示一个或多个实现方式一定包括逻辑,用于在有或没有用户输入或提示的情况下决定这些特征、元素和/或操作是否被包括在任何特定实现方式中或者是否要在任何特定实现方式中被执行。
受益于前述描述和关联的附图中给出的教导,本文记载的本公开的许多修改和其他实现方式将是显而易见的。因此,要理解,本公开不限于所公开的具体实现方式,并且修改和其他实现方式想要被包括在所附权利要求的范围内。虽然本文使用了具体术语,但它们只是在一般性的描述意义上来使用的,而并不是为了限制而使用的。

Claims (20)

1.一种无线通信方法,包括:
接收比特流的第一编码视频数据;
对所述第一编码视频数据的第一视频帧的第一编码单元(CU)解码,所述第一CU包括第一变换单元(TU)和第二TU;
基于与对所述第一CU解码相关联的第一解码数据,并且在对所述第一TU和所述第二TU解码之前,确定用于为所述第一TU和所述第二TU生成各自的变换系数的第一变换类型;
对所述第一TU解码,其中,对所述第一TU解码包括识别第一变换系数;
对所述第二TU解码,其中,对所述第二TU解码包括识别第二变换系数;
基于所述第一变换类型和所述第一变换系数,生成所述第一TU的第一重建像素值;并且
基于所述第一变换类型和所述第二变换系数,生成所述第二TU的第二重建像素值。
2.如权利要求1所述的方法,其中,所述第一变换类型是低频不可分离变换(LFNST),并且其中,确定所述第一变换类型进一步包括基于所述第一解码数据,确定以下各项中的至少一者:分区树类型不是双重色度树,指示对基于矩阵内预测的图像编码的使用的第一标志被设置为真的值,或者LFNST的第一宽度或LFNST的第一高度小于16。
3.如权利要求1所述的方法,其中,所述第一变换类型是多重变换选择(MTS),并且其中,确定所述第一变换类型进一步包括基于所述第一解码数据,确定以下各项中的至少一者:分区树类型是双重色度树,子分区内分割类型未被设置为不分割的值,指示对子块变换的使用的第二标志被设置为真的值,或者MTS的宽度或MTS的高度大于32。
4.如权利要求1所述的方法,还包括:
接收所述比特流的第二编码视频数据;
对所述第二编码视频数据的第二CU解码,所述第二CU包括第三TU和第四TU;
对所述第三TU解码,其中,对所述第三TU解码包括识别第三变换系数;
基于与对所述第三TU解码相关联的第二解码数据,并且在对所述第四TU解码之前,确定用于为所述第三TU生成所述第三变换系数的第二变换类型;并且
基于所述第二变换类型和所述第三变换系数,生成所述第三TU的第三重建像素值。
5.如权利要求4所述的方法,还包括:
基于对所述第二CU解码,并且在对所述第三TU解码之前,确定以下各项中的至少一者:所述第二变换类型的第一宽度或第一高度小于四或者大于阈值,指示LFNST索引的存在的第三标志被设置为假的值,或者使用了间预测编码模式,
其中,基于对所述第二CU的解码而进行的所述确定表明所述第二变换类型不是LFNST。
6.如权利要求4所述的方法,其中,所述第一变换类型是LFNST,并且其中,确定所述第二变换类型进一步包括确定以下各项中的至少一者:内预测编码模式被使用,所述第二CU的大小小于或等于64乘64,所述CU包括少于或等于六个TU,第四标志的值等于一,并且指示出所述第二变换类型是LFNST的第五标志的值等于零。
7.如权利要求4所述的方法,其中,所述第一变换类型是MTS,并且其中,确定所述第二变换类型进一步包括确定以下各项中的至少一者:内预测编码模式被使用,所述第二CU的大小小于或等于32乘32,所述CU包括少于或等于三个TU,或者所述第三TU和第四TU两者都包括少于16乘16变换系数。
8.如权利要求1-7中任一项所述的方法,还包括:
接收所述比特流的第三编码视频数据;
对所述第三编码视频数据的第三CU解码,所述第三CU包括第五TU和第六TU;
对所述第五TU解码,其中,对所述第五TU解码包括识别第四变换系数;
对所述第六TU解码,其中,对所述第六TU解码包括识别第五变换系数;
基于对所述第三编码视频数据的语法解码,在对所述第三CU的所有TU解码之后,确定用于生成所述第四变换系数和所述第五变换系数的第三变换类型;
基于所述第三变换类型和所述第四变换系数,生成所述第五TU的第四重建像素值;并且
基于所述第三变换类型和所述第五变换系数,为所述第六TU生成第五重建像素值。
9.一种无线通信系统,包括:
处理器;以及
存储器,其存储计算机可执行指令,所述指令当被所述处理器执行时,使得所述处理器:
接收比特流的第一编码视频数据;
对所述第一编码视频数据的第一视频帧的第一编码单元(CU)解码,所述第一CU包括第一变换单元(TU)和第二TU;
基于与对所述第一CU解码相关联的第一解码数据,并且在对所述第一TU和所述第二TU解码之前,确定用于为所述第一TU和所述第二TU生成各自的变换系数的第一变换类型;
对所述第一TU解码,其中,对所述第一TU解码包括识别第一变换系数;
对所述第二TU解码,其中,对所述第二TU解码包括识别第二变换系数;
基于所述第一变换类型和所述第一变换系数,生成所述第一TU的第一重建像素值;并且
基于所述第一变换类型和所述第二变换系数,生成所述第二TU的第二重建像素值。
10.如权利要求9所述的系统,其中,所述第一变换类型是低频不可分离变换(LFNST),并且其中,确定所述第一变换类型进一步包括基于所述第一解码数据,确定以下各项中的至少一者:分区树类型不是双重色度树,指示对基于矩阵内预测的图像编码的使用的第一标志被设置为真的值,或者LFNST的第一宽度或LFNST的第一高度小于16。
11.如权利要求9所述的系统,其中,所述第一变换类型是多重变换选择(MTS),并且其中,确定所述第一变换类型进一步包括基于所述第一解码数据,确定以下各项中的至少一者:分区树类型是双重色度树,子分区内分割类型未被设置为不分割的值,指示对子块变换的使用的第二标志被设置为真的值,或者MTS的宽度或MTS的高度大于32。
12.如权利要求9所述的系统,其中,所述计算机可执行指令还使得所述处理器:
接收所述比特流的第二编码视频数据;
对所述第二编码视频数据的第二CU解码,所述第二CU包括第三TU和第四TU;
对所述第三TU解码,其中,对所述第三TU解码包括识别第三变换系数;
基于与对所述第三TU解码相关联的第二解码数据,并且在对所述第四TU解码之前,确定用于为所述第三TU生成所述第三变换系数的第二变换类型;并且
基于所述第二变换类型和所述第三变换系数,生成所述第三TU的第三重建像素值。
13.如权利要求12所述的系统,其中,所述计算机可执行指令还使得所述处理器:
基于对所述第二CU解码,并且在对所述第三TU解码之前,确定以下各项中的至少一者:所述第二变换类型的第一宽度或第一高度小于四或者大于阈值,指示LFNST索引的存在的第三标志被设置为假的值,或者使用了间预测编码模式,
其中,基于对所述第二CU解码而进行的所述确定表明所述第二变换类型不是LFNST。
14.如权利要求12所述的系统,其中,所述第一变换类型是LFNST,并且其中,确定所述第二变换类型进一步包括确定以下各项中的至少一者:内预测编码模式被使用,所述第二CU的大小小于或等于64乘64,所述CU包括少于或等于六个TU,第四标志的值等于一,并且指示出所述第二变换类型是LFNST的第五标志的值等于零。
15.如权利要求12所述的系统,其中,所述第一变换类型是MTS,并且其中,确定所述第二变换类型进一步包括确定以下各项中的至少一者:内预测编码模式被使用,所述第二CU的大小小于或等于32乘32,所述CU包括少于或等于三个TU,或者所述第三TU和第四TU两者都包括少于16乘16变换系数。
16.如权利要求9-15中任一项所述的系统,其中,所述计算机可执行指令还使得所述处理器:
接收所述比特流的第三编码视频数据;
对所述第三编码视频数据的第三CU解码,所述第三CU包括第五TU和第六TU;
对所述第五TU解码,其中,对所述第五TU解码包括识别第四变换系数;
对所述第六TU解码,其中,对所述第六TU解码包括识别第五变换系数;
基于对所述第三编码视频数据的语法解码,在对所述第三CU的所有TU解码之后,确定用于生成所述第四变换系数和所述第五变换系数的第三变换类型;
基于所述第三变换类型和所述第四变换系数,生成所述第五TU的第四重建像素值;并且
基于所述第三变换类型和所述第五变换系数,为所述第六TU生成第五重建像素值。
17.一种无线通信装置,包括:
用于接收比特流的第一编码视频数据的装置;
用于对所述第一编码视频数据的第一视频帧的第一编码单元(CU)解码的装置,所述第一CU包括第一变换单元(TU)和第二TU;
用于基于与对所述第一CU解码相关联的第一解码数据,并且在对所述第一TU和所述第二TU解码之前,确定用于为所述第一TU和所述第二TU生成各自的变换系数的第一变换类型的装置;
用于对所述第一TU解码的装置,其中,对所述第一TU解码包括识别第一变换系数;
用于对所述第二TU解码的装置,其中,对所述第二TU解码包括识别第二变换系数;
用于基于所述第一变换类型和所述第一变换系数,生成所述第一TU的第一重建像素值的装置;以及
用于基于所述第一变换类型和所述第二变换系数,生成所述第二TU的第二重建像素值的装置。
18.如权利要求17所述的无线通信装置,其中,所述第一变换类型是低频不可分离变换(LFNST),并且其中,确定所述第一变换类型进一步包括基于所述第一解码数据,确定以下各项中的至少一者:分区树类型不是双重色度树,指示对基于矩阵内预测的图像编码的使用的第一标志被设置为真的值,或者LFNST的第一宽度或LFNST的第一高度小于16。
19.如权利要求17所述的无线通信装置,其中,所述第一变换类型是多重变换选择(MTS),并且其中,确定所述第一变换类型进一步包括基于所述第一解码数据,确定以下各项中的至少一者:分区树类型是双重色度树,子分区内分割类型未被设置为不分割的值,指示对子块变换的使用的第二标志被设置为真的值,或者MTS的宽度或MTS的高度大于32。
20.如权利要求17所述的无线通信装置,还包括:
用于接收所述比特流的第二编码视频数据的装置;
用于对所述第二编码视频数据的第二CU解码的装置,所述第二CU包括第三TU和第四TU;
用于对所述第三TU解码的装置,其中,对所述第三TU解码包括识别第三变换系数;
用于基于与对所述第三TU解码相关联的第二解码数据,并且在对所述第四TU解码之前,确定用于为所述第三TU生成所述第三变换系数的第二变换类型的装置;以及
用于基于所述第二变换类型和所述第三变换系数,生成所述第三TU的第三重建像素值的装置。
CN202211372723.5A 2021-12-03 2022-11-03 低频不可分离变换和多重变换选择死锁预防 Pending CN116233469A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/457,643 2021-12-03
US17/457,643 US20220094931A1 (en) 2021-12-03 2021-12-03 Low frequency non-separable transform and multiple transform selection deadlock prevention

Publications (1)

Publication Number Publication Date
CN116233469A true CN116233469A (zh) 2023-06-06

Family

ID=80741027

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211372723.5A Pending CN116233469A (zh) 2021-12-03 2022-11-03 低频不可分离变换和多重变换选择死锁预防

Country Status (4)

Country Link
US (1) US20220094931A1 (zh)
KR (1) KR20230084025A (zh)
CN (1) CN116233469A (zh)
DE (1) DE102022126701A1 (zh)

Also Published As

Publication number Publication date
US20220094931A1 (en) 2022-03-24
DE102022126701A1 (de) 2023-06-07
KR20230084025A (ko) 2023-06-12

Similar Documents

Publication Publication Date Title
US11533503B2 (en) Video coding using intra block copy
KR102431537B1 (ko) 루마 및 크로마 성분에 대한 ibc 전용 버퍼 및 디폴트 값 리프레싱을 사용하는 인코더, 디코더 및 대응하는 방법들
US20230353759A1 (en) Adaptive coding unit (cu) partitioning based on image statistics
CN109565587B (zh) 具有上下文解码和重构旁路的视频编码的方法和系统
US11863782B2 (en) Converting a bi-predicted merging candidate in a merging candidate list for a prediction unit of a picture
WO2014058795A1 (en) Method and apparatus for lossless video coding
WO2020103800A1 (zh) 视频解码方法和视频解码器
CN114885166B (zh) 编码器,解码器和使用压缩mv存储的对应方法
EP3695608A1 (en) Method and apparatus for adaptive transform in video encoding and decoding
CN111416977B (zh) 视频编码器、视频解码器及相应方法
CN112118447B (zh) 融合候选运动信息列表的构建方法、装置及编解码器
US20130272429A1 (en) Color Component Checksum Computation in Video Coding
US20220116611A1 (en) Enhanced video coding using region-based adaptive quality tuning
CN116233469A (zh) 低频不可分离变换和多重变换选择死锁预防
CN113727120B (zh) 译码方法、装置、编码器和解码器
CN112135149B (zh) 语法元素的熵编码/解码方法、装置以及编解码器
US20220094984A1 (en) Unrestricted intra content to improve video quality of real-time encoding
WO2023184206A1 (en) Enhanced presentation of tiles of residual sub-layers in low complexity enhancement video coding encoded bitstream
US20220116595A1 (en) Enhanced video coding using a single mode decision engine for multiple codecs
WO2024016106A1 (en) Low-complexity enhancement video coding using multiple reference frames
US20230010681A1 (en) Bit-rate-based hybrid encoding on video hardware assisted central processing units
WO2024065464A1 (en) Low-complexity enhancment video coding using tile-level quantization parameters
US20230012862A1 (en) Bit-rate-based variable accuracy level of encoding
US20230027742A1 (en) Complexity aware encoding
US20220182600A1 (en) Enhanced validation of video codecs

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication