CN115398911A - 变换与系数信令的方法和装置 - Google Patents

变换与系数信令的方法和装置 Download PDF

Info

Publication number
CN115398911A
CN115398911A CN202180026467.1A CN202180026467A CN115398911A CN 115398911 A CN115398911 A CN 115398911A CN 202180026467 A CN202180026467 A CN 202180026467A CN 115398911 A CN115398911 A CN 115398911A
Authority
CN
China
Prior art keywords
transform
samples
luma
chroma
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
CN202180026467.1A
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.)
Beijing Dajia Internet Information Technology Co Ltd
Original Assignee
Beijing Dajia Internet Information Technology Co Ltd
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 Beijing Dajia Internet Information Technology Co Ltd filed Critical Beijing Dajia Internet Information Technology Co Ltd
Publication of CN115398911A publication Critical patent/CN115398911A/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/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/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/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

本申请针对一种由电子设备实现的用于对视频数据进行解码的方法。该电子设备经由比特流接收亮度变换跳过标志和多个亮度变换样本以及与变换单元关联的低频不可分离变换(LFNST)索引。在接收到该LFNST索引后,该电子设备经由该比特流接收色度变换跳过标志和与该变换单元关联的色度变换样本。根据该LFNST索引不为零并且该亮度变换跳过标志为零的确定,对该亮度变换样本应用逆LFNST以对于该变换单元生成解码亮度样本。在一些实施例中,根据该亮度变换跳过标志为零并且该亮度变换样本中的非零亮度样本的数量在预定义范围内的确定来接收该LFNST索引。

Description

变换与系数信令的方法和装置
相关申请的交叉引用
本申请要求于2020年4月5日提交的美国临时申请No.63/005,420的优先权,该临时申请的全部内容通过引用完整地并入本文。
技术领域
本申请总体上涉及视频编解码和压缩。更具体地,本申请涉及对通用视频编解码(VVC)标准中的变换与系数编解码方法的现有设计进行改进的方法和装置。
背景技术
各种电子设备(例如数字电视、膝上型计算机或台式计算机、平板计算机、数码相机、数字记录设备、数字媒体播放器、视频游戏机、智能电话、视频电话会议设备、视频流设备等)支持数字视频。电子设备通过实施由MPEG-4、ITU-TH.263、ITU-TH.264/MPEG-4第10部分、高级视频编解码(AVC)、高效视频编解码(HEVC)和通用视频编解码(VVC)标准中所定义的视频压缩/解压缩来发送、接收、编码、解码和/或存储数字视频数据。视频压缩通常包括执行空间(帧内)预测和/或时间(帧间)预测来减少或移除视频数据中固有的冗余。对于基于块的视频编解码,将视频帧划分为一个或更多个条带,每个条带具有多个视频块,视频块也可被称为编码树单元(CTU)。每个CTU可包含一个编码单元(CU)或者递归地被划分为更小的CU直到达到预定义的最小CU尺寸为止。每个CU(也称为叶CU)包含一个或多个变换单元(TU)并且每个CU还包含一个或多个预测单元(PU)。可以以帧内、帧间或IBC模式对每个CU进行编解码。视频帧的帧内编码(I)条带中的视频块使用关于同一视频帧内的相邻块中的参考样本的空间预测来进行编码。视频帧的帧间编码(P或B)条带中的视频块可使用关于同一视频帧内的相邻块中的参考样本的空间预测或关于其它先前参考视频帧和/或未来参考视频帧中的参考样本的时间预测。
基于先前已被编码的参考块(例如,相邻块)的空间预测或时间预测得出用于待编码的当前视频块的预测块。找到参考块的过程可通过块匹配算法来完成。表示待编码的当前块与预测块之间的像素差的残差数据被称为残差块或预测误差。根据残差块和指向参考帧中的形成预测块的参考块的运动矢量来对帧间编码块进行编码。确定运动矢量的过程通常被称为运动估计。根据帧内预测模式和残差块对帧内编码块进行编码。为了进一步压缩,将残差块从像素域变换到变换域(例如,频域),从而得出残差变换系数,残差变换系数然后可被量化。最初以二维阵列布置的量化的变换系数可被扫描以产生变换系数的一维矢量,然后被熵编码为视频比特流以实现甚至更多的压缩。
已编码的视频比特流然后被保存于计算机可读存储介质(例如,闪存存储器)中,以由具有数字视频能力的另一电子设备访问或者有线或无线地直接发送到电子设备。然后,电子设备执行视频解压缩(其为与上文描述的视频压缩相反的过程),例如,通过对已编码的视频比特流进行解析来从比特流获得语法元素,并且至少部分地基于从比特流获得的语法元素从已编码的视频比特流将数字视频数据重建为其原始格式,并且在电子设备的显示器上呈现重建的数字视频数据。
随着数字视频质量从高清变为4K×2K或甚至8K×4K,待编码/解码的视频数据量呈指数增长。在如何在保持解码视频数据的图像质量的同时能够更有效率地对视频数据进行编码/解码方面,是一个长久挑战。
发明内容
本申请描述了与视频数据编码和解码相关的实现,更具体地,描述了改进变换和系数编码方法的现有设计的方法和装置。变换样本和语法元素的统一数据结构被应用于变换单元的树和分离树分区中。该统一数据结构在色度变换跳过标志和色度变换样本之前排列了低频不可分离变换(LFNST)索引,以使得基于该LFNST索引定义的逆LFNST操作可以至少部分地在接收色度变换样本之前或同时应用于亮度变换样本。在一些实施例中,该统一数据结构还在色度变换跳过标志和色度变换样本之前排列了多重变换选择(MTS)索引,以使得基于MTS索引选择的逆初级变换可以至少部分地在接收色度变换样本之前或同时应用于这些亮度变换样本。通过这些方式,可以在接收到LFNST或MTS索引后,而无需在色度变换样本之后等待接收LFNST或MTS索引就立即启动亮度变换样本的逆LFNST操作或初级变换。这种统一数据结构加快了变换单元的解码过程。
在本申请的一个方面,实现一种对视频数据进行解码的方法。该方法包括:经由变换单元的比特流接收该变换单元的亮度变换跳过标志和多个亮度变换样本;经由该比特流接收与该变换单元关联的LFNST索引。该方法还包括:在接收到该LFNST索引后,经由该比特流与该变换单元关联的接收色度变换跳过标志和多个色度变换样本。该方法还包括:根据该LFNST索引不为零并且该亮度变换跳过标志为零的确定,对这些亮度变换样本应用逆LFNST以对于该变换单元生成多个第一解码亮度样本。
根据本申请的另一个方面,一种电子设备包括一个或多个处理单元、存储器和存储在该存储器中的多个程序。在由该一个或多个处理单元执行时,这些程序使得该电子设备实现上述对视频数据进行解码的方法。
根据本申请的再一个方面,一种非暂时性计算机可读存储介质,其存储由包括一个或多个处理单元的电子设备执行的多个程序。在由该一个或多个处理单元执行时,这些程序使得该电子设备实现上述对视频数据进行解码的方法。
附图说明
包括附图来提供对实施方式的进一步理解,这些附图被并入说明书中并且构成说明书的一部分,这些附图示出了所描述的实施方式,并且与本描述一起用于解释本公开的原理。相同的附图标记指代相应的部分。
图1是示出了根据一些实施例的示例性的视频编码和解码系统的框图。
图2是示出了根据一些实施例的示例性的视频编码器的框图。
图3是示出了根据一些实施例的示例性的视频解码器的框图。
图4A至图4E是示出了根据一些实施例的如何将帧递归地分割为不同尺寸和形状的多个视频块的框图。
图5是示出了根据一些实施例的利用上下文编解码和旁路编解码的变换系数编解码的示例的框图。
图6是示出了根据一些实施例的上下文自适应二进制算术编码(CABAC)引擎的示例的框图。
图7是示出了根据一些实施例的示例性低频不可分离变换(LFNST)过程的框图,该过程作为对初级变换之后的帧内编码块的变换系数的能量进行紧压的二次变换。
图8是示出了根据一些实施例的具有非零变换系数的示例性变换块的框图。
图9是示出了根据一些实施例的对帧间和帧内编码块的残差进行变换的示例性多重变换选择(MTS)方案的表格。
图10是示出了根据一些实施例的视频编码器有条件地基于变换块的不同分量来实现通过信号发送该LFNST的技术的示例性过程的流程图。
图11A是根据一些实施例的对于对变换单元的比特流进行编码的示例性分离树数据结构,图11B是根据一些实施例的对于对变换单元的视频数据的比特流进行编码的示例性单独树数据结构。
图12是示出了根据一些实施例的对视频数据进行解码的方法的流程图。
具体实施方式
现在将详细参照具体实施方式,在附图中示出了具体实施方式的示例。在以下详细描述中,阐述了大量非限制性具体细节以便帮助理解本文呈现的主题。但是对于本领域普通技术人员将显而易见的是,在不脱离权利要求的范围的情况下,可以使用各种替代方案,并且可以在没有这些具体细节的情况下实践主题。例如,对于本领域普通技术人员将显而易见的是,本文呈现的主题可以在具有数字视频能力的许多类型的电子设备上实现。
图1是示出了根据一些实施例的对视频块平行地进行编码和解码的示例性系统的框图。如图1中所示,系统10包括源设备12,源设备12生成并编码稍后将由目标设备14进行解码的视频数据。源设备12和目标设备14可以包括各种各样的电子设备中的任何电子设备,包括台式计算机或膝上型计算机、平板计算机、智能电话、机顶盒、数字电视、相机、显示器设备、数字媒体播放器、视频游戏机、视频流传输设备等。在一些实施方式中,源设备12和目标设备14配备有无线通信能力。
在一些实施方式中,目标设备14可以经由链路16接收待解码的编码视频数据。链路16可以包括能够将编码视频数据从源设备12移动到目标设备14的任何类型的通信介质或设备。在一个示例中,链路16可以包括使源设备12能够实时地将编码视频数据直接发送到目标设备14的通信介质。编码视频数据可以根据通信标准(例如无线通信协议)被调制,并且被发送到目标设备14。通信介质可以包括任何无线或有线通信介质,例如射频(RF)频谱或一个或更多个物理传输线。通信介质可以形成基于分组的网络(例如局域网、广域网或诸如互联网的全球网)的一部分。通信介质可以包括路由器、交换机、基站或可以有利于促进从源设备12到目标设备14的通信的任何其他装置。
在其他一些实施方式中,可以将编码视频数据从输出接口22发送到存储设备32。随后,可以由目标设备14经由输入接口28访问存储设备32中的编码视频数据。存储设备32可以包括各种分布式或本地访问的数据存储介质中的任何数据存储介质,例如硬盘驱动器、蓝光光盘、数字通用盘(DVD)、压缩盘只读存储器(CD-ROM)、闪存存储器、易失性或非易失性存储器、或者用于存储编码视频数据的任何其他合适的数字存储介质。在另一示例中,存储设备32可以对应于文件服务器或可以保持由源设备12生成的编码视频数据的另一中间存储设备。目标设备14可以经由流传输或下载从存储设备32访问存储的视频数据。文件服务器可以是能够存储编码视频数据并且将编码视频数据发送到目标设备14的任何类型的计算机。示例性文件服务器包括网络服务器(例如,用于网站)、文件传输协议(FTP)服务器、网络附属存储(NAS)设备或本地磁盘驱动器。目标设备14可以通过适合于访问存储在文件服务器上的编码视频数据的任何标准数据连接来访问编码视频数据,标准数据连接包括无线信道(例如,无线保真(Wi-Fi)连接)、有线连接(例如,数字订户线(DSL)、电缆调制解调器等)或无线信道和有线连接两者的组合。编码视频数据从存储设备32的传输可以是流传输、下载传输或流传输和下载传输两者的组合。
如图1中所示,源设备12包括视频源18、视频编码器20和输出接口22。视频源18可以包括诸如以下项的源或此类源的组合:视频捕获设备(例如,摄像机)、包含先前捕获的视频的视频存档、用于从视频内容提供者接收视频的视频馈入接口、和/或用于生成作为源视频的计算机图形数据的计算机图形系统。作为一个示例,如果视频源18是安全监控系统的摄像机,则源设备12和目标设备14可以形成相机电话或视频电话。然而,本申请中所描述的实施方式通常可以适用于视频编解码,并且可以应用于无线和/或有线应用。
可以由视频编码器20对捕获、预先捕获或计算机生成的视频进行编码。可以经由源设备12的输出接口22将编码视频数据直接发送到目标设备14。还可以(或备选地)将编码视频数据存储到存储设备32上以便稍后被目标设备14或其他设备访问,以用于解码和/或回放。输出接口22可以进一步包括调制解调器和/或发送器。
目标设备14包括输入接口28、视频解码器30和显示器设备34。输入接口28可以包括接收器和/或调制解调器,并且通过链路16接收编码视频数据。通过链路16传送或在存储设备32上提供的编码视频数据可以包括由视频编码器20生成的各种语法元素以供视频解码器30在对视频数据进行解码时使用。此类语法元素可以被包括在通信介质上发送的、存储在存储介质上的或存储在文件服务器上的编码视频数据内。
在一些实施方式中,目标设备14可以包括显示器设备34,显示器设备34可以是集成显示器设备和被配置为与目标设备14通信的外部显示器设备。显示器设备34向用户显示解码视频数据,并且可以包括各种显示器设备中的任何显示器设备,诸如液晶显示器(LCD)、等离子显示器、有机发光二极管(OLED)显示器或另一类型的显示器设备。
视频编码器20和视频解码器30可以根据专有标准或行业标准(例如,VVC、HEVC、MPEG-4的第10部分、AVC)或此类标准的扩展进行操作。应当理解,本申请不限于特定的视频编码/解码标准,并且可以适用于其他视频编码/解码标准。通常认为源设备12的视频编码器20可以被配置为根据这些当前标准或未来标准中的任何标准对视频数据进行编码。类似地,还通常认为目标设备14的视频解码器30可以被配置为根据这些当前标准或未来标准中的任何标准对视频数据进行解码。
视频编码器20和视频解码器30可以分别被实现为各种合适的编码器和/或解码器电路中的任何电路,例如一个或更多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、分立逻辑器件、软件、硬件、固件或其任何组合。当部分地以软件实现时,电子设备可以将用于软件的指令存储于合适的非暂态计算机可读介质中,并且使用一个或更多个处理器执行硬件中的指令以执行本公开中所公开的视频编码/解码操作。视频编码器20和视频解码器30中的每一个可以被包括在一个或更多个编码器或解码器中,编码器或解码器中的任一者可以被集成为相应设备中的组合式编码器/解码器(CODEC)的一部分。
图2是示出了根据本申请中描述的一些实施方式的示例性视频编码器20的框图。视频编码器20可以对视频帧内的视频块执行帧内预测编码和帧间预测编码。帧内预测编码依赖于空间预测以减少或移除给定视频帧或图片内的视频数据中的空间冗余。帧间预测编码依赖于时间预测以减少或移除视频序列的邻近视频帧或图片内的视频数据中的时间冗余。
如图2中所示,视频编码器20包括视频数据存储器40、预测处理单元41、解码图片缓冲器(DPB)64、加法器50、变换处理单元52、量化单元54和熵编码单元56。预测处理单元41进一步包括运动估计单元42、运动补偿单元44、分割单元45、帧内预测处理单元46和帧内块复制(BC)单元48。在一些实施方式中,视频编码器20还包括用于视频块重建的反量化单元58、逆变换处理单元60和加法器62。诸如去块滤波器的环路滤波器63可以位于加法器62与DPB 64之间以对块边界进行滤波以从重建视频去除块效应。除了去块滤波器之外,还可以使用另一环路滤波器(例如样本自适应偏移(SAO)滤波器和/或自适应环路滤波器(ALF))来对加法器62的输出进行滤波。在一些示例中,可以省略环路滤波器,并且解码视频块可以直接由加法器62提供给DPB 64。视频编码器20可以采取固定或可编程硬件单元的形式,或者可以分散在所说明的固定或可编程硬件单元中的一个或更多个中。
视频数据存储器40可以存储将由视频编码器20的组件编码的视频数据。可例如从图1所示的视频源18获得视频数据存储器40中的视频数据。DPB 64是存储供视频编码器20(例如,以帧内或帧间预测编码模式)在对视频数据进行编码时使用的参考视频数据(例如,参考帧或图片)的缓冲器。视频数据存储器40和DPB 64可以由各种存储器设备中的任何存储器设备形成。在各种示例中,视频数据存储器40可以与视频编码器20的其他组件一起在芯片上,或相对于那些组件在芯片外。
如图2中所示,在接收到视频数据之后,预测处理单元41内的分割单元45将视频数据分割为视频块。此分割还可以包括根据与视频数据相关联的预定义的拆分结构(例如四叉树(QT)结构)将视频帧分割为条带、瓦片(tile)或其他更大的编码单元(CU)。预测处理单元41可以基于误差结果(例如,编码速率和失真等级)为当前视频块选择多个可行预测编码模式中的一个,例如多个帧内预测编码模式中的一个或多个帧间预测编码模式中的一个。预测处理单元41可以将所得的帧内预测编码块或帧间预测编码块提供给加法器50以生成残差块,并且提供给加法器62以重建编码块以用于随后作为参考帧的一部分使用。预测处理单元41还将语法元素(例如运动矢量、帧内模式指示符、分割信息和其他此类语法信息)提供给熵编码单元56。
为了选择用于当前视频块的合适的帧内预测编码模式,预测处理单元41内的帧内预测处理单元46可以与和待编码的当前块在同一帧中的一个或更多个相邻块相关地执行当前视频块的帧内预测编码以提供空间预测。预测处理单元41内的运动估计单元42和运动补偿单元44与一个或更多个参考帧中的一个或更多个预测块相关地执行当前视频块的帧间预测编码以提供时间预测。视频编码器20可以执行多个编码遍次,例如,以为视频数据的每个块选择合适的编码模式。
在一些实施方式中,运动估计单元42通过根据视频帧序列内的预定模式生成运动矢量来确定用于当前视频帧的帧间预测模式,运动矢量指示当前视频帧内的视频块相对于参考视频帧内的预测块的位移。由运动估计单元42执行的运动估计是生成运动矢量的过程,该运动矢量估计针对视频块的运动。例如,运动矢量可以指示当前视频帧或图片内的视频块的PU相对于与当前帧(或另一个被编码的单元)内正被编码的当前块相关的参考帧内的预测块的位移。预定模式可以将序列中的视频帧指定为P帧或B帧。帧内BC单元48可以以与由运动估计单元42确定用于帧间预测的运动矢量类似的方式确定用于帧内BC编码的矢量(例如,块矢量),或可以利用运动估计单元42确定块矢量。
在像素差方面,针对视频块的预测块可以是或可以对应于被认为与待编码视频块紧密匹配的参考帧的块或参考块,像素差可以由绝对差总和(SAD)、平方差总和(SSD)或其他差度量确定。在一些实施方式中,视频编码器20可以计算用于DPB 64中存储的参考帧的子整数像素位置的值。例如,视频编码器20可以对参考帧的四分之一像素位置、八分之一像素位置或其他分数像素位置的值进行内插。因此,运动估计单元42可以相对于全像素位置和分数像素位置执行运动搜索并且输出具有分数像素精度的运动矢量。
运动估计单元42通过以下方式来计算针对帧间预测编码帧中的视频块的运动矢量:将视频块的位置与从第一参考帧列表(列表0)或第二参考帧列表(列表1)选择的参考帧的预测块的位置进行比较,第一参考帧列表和第二参考帧列表中的每一个参考帧列表标识DPB 64中存储的一个或更多个参考帧。运动估计单元42将计算出的运动矢量发送到运动补偿单元44,然后发送到熵编码单元56。
由运动补偿单元44执行的运动补偿可以涉及基于由运动估计单元42确定的运动矢量获取或生成预测块。在接收到针对当前视频块的运动矢量之后,运动补偿单元44可以在参考帧列表中的一个参考帧列表中定位运动矢量所指向的预测块,从DPB 64取回预测块,并且将预测块转发到加法器50。然后,加法器50通过从正被编码的当前视频块的像素值减去由运动补偿单元44提供的预测块的像素值来形成像素差值的残差视频块。形成残差视频块的像素差值可以包括亮度差分量或色度差分量或两者。运动补偿单元44还可以生成与视频帧的视频块相关联的语法元素以供视频解码器30在对视频帧的视频块进行解码时使用。语法元素可以包括例如定义用于识别预测块的运动矢量的语法元素、指示预测模式的任何标志、或本文描述的任何其他语法信息。应注意,运动估计单元42和运动补偿单元44可以高度集成,但出于概念目的而单独说明。
在一些实施方式中,帧内BC单元48可以以与上文结合运动估计单元42和运动补偿单元44所描述的方式类似的方式生成矢量并获取预测块,但是这些预测块在与正被编码的当前块相同的帧中,并且这些矢量被称为块矢量而非运动矢量。具体地,帧内BC单元48可以确定将用于对当前块进行编码的帧内预测模式。在一些示例中,帧内BC单元48可以例如在单独的编码遍次期间使用各种帧内预测模式来对当前块进行编码,并且通过率失真分析来测试它们的性能。接下来,帧内BC单元48可以在各种测试的帧内预测模式中选择合适的帧内预测模式来使用并相应地生成帧内模式指示符。例如,帧内BC单元48可以使用率失真分析针对各种测试的帧内预测模式计算率失真值,并且在测试的模式中选择具有最佳率失真特性的帧内预测模式作为合适的帧内预测模式来使用。率失真分析大体上确定编码块与被编码以产生编码块的原始未编码块之间的失真(或误差)量、以及用于产生编码块的比特率(即,比特数量)。帧内BC单元48可以根据针对各种编码块的失真和速率计算比率,以确定哪个帧内预测模式展现针对块的最佳率失真值。
在其他示例中,帧内BC单元48可以全部或部分地使用运动估计单元42和运动补偿单元44来执行根据本文描述的实施方式的用于帧内BC预测的此类功能。在任一情况下,对于帧内块复制,在像素差方面,预测块可以是被认为与待编码的块紧密匹配的块,像素差可以由绝对差总和(SAD)、平方差总和(SSD)或其他差度量确定,并且识别预测块可以包括计算针对子整数像素位置的值。
无论预测块是来自根据帧内预测的同一帧还是来自根据帧间预测的不同帧,视频编码器20可以通过从正被编码的当前视频块的像素值减去预测块的像素值来形成像素差值,从而形成残差视频块。形成残差视频块的像素差值可以包括亮度分量差和色度分量差两者。
作为如上文所描述的由运动估计单元42和运动补偿单元44执行的帧间预测或由帧内BC单元48执行的帧内块复制预测的替代方案,帧内预测处理单元46可以对当前视频块进行帧内预测。具体地,帧内预测处理单元46可以确定帧内预测模式以用于对当前块进行编码。为此,帧内预测处理单元46可以例如在单独的编码遍次期间使用各种帧内预测模式来对当前块进行编码,并且帧内预测处理单元46(或在一些示例中,模式选择单元)可以从测试的帧内预测模式中选择合适的帧内预测模式来使用。帧内预测处理单元46可以将指示针对块选择的帧内预测模式的信息提供给熵编码单元56。熵编码单元56可以将指示选择的帧内预测模式的信息编码到比特流中。
在预测处理单元41经由帧间预测或帧内预测确定针对当前视频块的预测块之后,加法器50通过从当前视频块减去预测块来形成残差视频块。残差块中的残差视频数据可以被包括在一个或更多个TU中并且提供给变换处理单元52。变换处理单元52使用变换(例如离散余弦变换(DCT)或概念上类似的变换)将残差视频数据变换为残差变换系数。
变换处理单元52可以将所得变换系数发送到量化单元54。量化单元54对变换系数进行量化以进一步减小比特率。量化过程还可以减小与系数中的一些或全部相关联的比特深度。可以通过调整量化参数来修改量化程度。在一些示例中,量化单元54可以随后对包括量化的变换系数的矩阵执行扫描。备选地,熵编码单元56可以执行扫描。
在量化之后,熵编码单元56使用例如上下文自适应可变长度编码(CAVLC)、上下文自适应二进制算术编码(CABAC)、基于语法的上下文自适应二进制算术编码(SBAC)、概率区间分割熵(PIPE)编码或另一熵编码方法或技术,将量化的变换系数熵编码成视频比特流。然后,可以将编码的比特流发送到如图1所示的视频解码器30,或存档于如图1所示的存储设备32中以供稍后发送到视频解码器30或由视频解码器30取回。熵编码单元56还可以对用于正被编码的当前视频帧的运动矢量和其他语法元素进行熵编码。
反量化单元58和逆变换处理单元60分别应用反量化和逆变换以在像素域中重建残差视频块以用于生成用于预测其他视频块的参考块。如上文指出的,运动补偿单元44可以从存储在DPB 64中的帧的一个或更多个参考块生成运动补偿预测块。运动补偿单元44还可以将一个或更多个内插滤波器应用于预测块以计算子整数像素值以用于在运动估计时使用。
加法器62将重建的残差块与由运动补偿单元44产生的运动补偿预测块相加来产生参考块以存储在DPB 64中。然后,参考块可以由帧内BC单元48、运动估计单元42和运动补偿单元44用作预测块以对后续视频帧中的另一视频块进行帧间预测。
图3是示出了根据本申请的一些实施方式的示例性视频解码器30的框图。视频解码器30包括视频数据存储器79、熵解码单元80、预测处理单元81、反量化单元86、逆变换处理单元88、加法器90和DPB 92。预测处理单元81进一步包括运动补偿单元82、帧内预测单元84和帧内BC单元85。视频解码器30可以执行与上文结合图2关于视频编码器20所描述的编码过程基本互逆的解码过程。例如,运动补偿单元82可以基于从熵解码单元80接收的运动矢量生成预测数据,而帧内预测单元84可以基于从熵解码单元80接收的帧内预测模式指示符生成预测数据。
在一些示例中,视频解码器30的单元可以被分派任务以执行本申请的实施方式。此外,在一些示例中,本公开的实施方式可以分散在视频解码器30的单元中的一个或更多个单元中。例如,帧内BC单元85可以单独地或与视频解码器30的其他单元(例如运动补偿单元82、帧内预测单元84和熵解码单元80)组合地执行本申请的实施方式。在一些示例中,视频解码器30可以不包括帧内BC单元85,并且帧内BC单元85的功能可以由预测处理单元81的其他组件(例如运动补偿单元82)执行。
视频数据存储器79可以存储将由视频解码器30的其他组件进行解码的视频数据,例如编码视频比特流。可以例如从存储设备32、从本地视频源(例如相机)、经由视频数据的有线或无线网络通信、或通过访问物理数据存储介质(例如,闪存驱动器或硬盘)获得存储在视频数据存储器79中的视频数据。视频数据存储器79可以包括存储来自编码视频比特流的编码视频数据的编码图片缓冲器(CPB)。视频解码器30的DPB 92存储参考视频数据以供视频解码器30(例如,以帧内或帧间预测编码模式)在对视频数据进行解码时使用。视频数据存储器79和DPB 92可以由各种存储器设备中的任何存储器设备形成,例如动态随机存取存储器(DRAM)(包括同步DRAM(SDRAM))、磁阻式RAM(MRAM)、电阻式RAM(RRAM)或其他类型的存储器设备。出于说明性目的,视频数据存储器79和DPB 92在图3中被描绘为视频解码器30的两个不同组件。但是对于本领域的技术人员将显而易见的是,视频数据存储器79和DPB92可以由同一存储器设备或单独存储器设备提供。在一些示例中,视频数据存储器79可以与视频解码器30的其他组件一起在芯片上,或相对于那些组件在芯片外。
在解码过程期间,视频解码器30接收表示编码视频帧的视频块和相关联的语法元素的编码视频比特流。视频解码器30可以在视频帧级和/或视频块级接收语法元素。视频解码器30的熵解码单元80对比特流进行熵解码以生成量化系数、运动矢量或帧内预测模式指示符、以及其他语法元素。然后,熵解码单元80将运动矢量或帧内预测模式指示符、以及其他语法元素转发到预测处理单元81。
当视频帧被编码为帧内预测编码(I)帧或用于其他类型的帧中的帧内编码预测块时,预测处理单元81的帧内预测单元84可以基于用信号传送的帧内预测模式和来自当前帧的先前解码块的参考数据来生成用于当前视频帧的视频块的预测数据。
当视频帧被编码为帧间预测编码(即,B或P)帧时,预测处理单元81的运动补偿单元82基于从熵解码单元80接收的运动矢量和其他语法元素产生针对当前视频帧的视频块的一个或更多个预测块。预测块中的每一个可以从参考帧列表中的一个参考帧列表内的参考帧产生。视频解码器30可以基于存储在DPB 92中的参考帧使用默认构建技术来构建参考帧列表,即,列表0和列表1。
在一些示例中,当根据本文描述的帧内BC模式对视频块进行编码时,预测处理单元81的帧内BC单元85基于从熵解码单元80接收的块矢量和其他语法元素产生针对当前视频块的预测块。预测块可以在由视频编码器20定义的与当前视频块相同的图片的重建区域内。
运动补偿单元82和/或帧内BC单元85通过解析运动矢量和其他语法元素来确定针对当前视频帧的视频块的预测信息,然后使用该预测信息产生针对正被解码的当前视频块的预测块。例如,运动补偿单元82使用接收到的语法元素中的一些语法元素来确定用于对视频帧的视频块进行编码的预测模式(例如,帧内预测或帧间预测)、帧间预测帧类型(例如,B或P)、用于针对帧的参考帧列表中的一个或更多个的构建信息、用于帧的每个帧间预测编码视频块的运动矢量、用于帧的每个帧间预测编码视频块的帧间预测状态、以及用于对当前视频帧中的视频块进行解码的其他信息。
类似地,帧内BC单元85可以使用接收到的语法元素中的一些语法元素,例如标志,以确定当前视频块是使用帧内BC模式预测的、帧的哪些视频块在重建区域内且应被存储在DPB 92中的构建信息、用于帧的每个帧内BC预测视频块的块矢量、用于帧的每个帧内BC预测视频块的帧内BC预测状态、以及用于对当前视频帧中的视频块进行解码的其他信息。
运动补偿单元82还可以使用如由视频编码器20在对视频块进行编码期间使用的内插滤波器执行内插,以计算针对参考块的子整数像素的内插值。在这种情况下,运动补偿单元82可以根据接收到的语法元素确定由视频编码器20使用的内插滤波器,并且使用这些内插滤波器来产生预测块。
反量化单元86使用由视频编码器20针对视频帧中的每个视频块计算出的用于确定量化程度的相同量化参数,对在比特流中提供且由熵解码单元80熵解码的量化的变换系数进行反量化。逆变换处理单元88将逆变换(例如,逆DCT、逆整数变换或概念上类似的逆变换过程)应用于变换系数,以便在像素域中重建残差块。
在运动补偿单元82或帧内BC单元85基于矢量和其他语法元素生成针对当前视频块的预测块之后,加法器90通过将来自逆变换处理单元88的残差块与由运动补偿单元82和帧内BC单元85生成的对应预测块相加,来重建针对当前视频块的解码视频块。环路滤波器91(例如去块滤波器、SAO滤波器和/或ALF)可以位于加法器90与DPB 92之间以进一步处理解码视频块。在一些示例中,可以省略环路滤波器91,并且解码视频块可以直接由加法器90提供给DPB 92。然后,将给定帧中的解码视频块存储在DPB 92中,DPB 92存储用于接下来的视频块的后续运动补偿的参考帧。DPB 92或与DPB 92分离的存储器设备还可以存储解码视频以用于稍后呈现在显示器设备(例如,图1的显示器设备34)上。
在典型的视频编码过程中,视频序列通常包括帧或图片的有序集合。每一帧可以包括三个样本阵列,表示为SL、SCb和SCr。SL是亮度样本的二维阵列。SCb是Cb色度样本的二维阵列。SCr是Cr色度样本的二维阵列。在其他实例中,帧可以是单色的,因此仅包括亮度样本的一个二维阵列。
如图4A中所示,视频编码器20(或更具体地,分割单元45)通过首先将帧分割为CTU的集合来生成帧的编码表示。视频帧可以包括以光栅扫描顺序从左到右和从上到下连续排序的整数个CTU。每个CTU是最大的逻辑编码单元,并且由视频编码器20在序列参数集中用信号传送CTU的宽度和高度,使得视频序列中的所有CTU具有128×128、64×64、32×32和16×16之一的相同尺寸。但是应当注意,本申请不必限于特定尺寸。如图4B中所示,每个CTU可以包括亮度样本的一个CTB、色度样本的两个对应编码树块、以及用于对编码树块的样本进行编码的语法元素。语法元素描述编码像素块的不同类型的单元的性质以及可以如何在视频解码器30处重建视频序列,包括帧间预测或帧内预测、帧内预测模式、运动矢量和其他参数。在单色图片或具有三个单独颜色平面的图片中,CTU可以包括单个编码树块和用于对该编码树块的样本进行编码的语法元素。编码树块可以是N×N的样本块。
为了实现更好的性能,视频编码器20可以对CTU的编码树块递归地执行树分割,例如二叉树分割、三叉树分割、四叉树分割或其组合,并且将CTU划分为较小的CU。如图4C中所描绘的,首先将64×64的CTU 400划分为四个较小的CU,每个CU具有32×32的块尺寸。在四个较小的CU中,将CU 410和CU 420分别划分为块尺寸为16×16的四个CU。将两个16×16的CU 430和CU 440分别进一步划分为块尺寸为8×8的四个CU。图4D描绘了示出如图4C中所描绘的CTU 400的分割过程的最终结果的四叉树数据结构,四叉树的每个叶节点与范围从32×32到8×8的相应尺寸的一个CU对应。类似于图4B中描绘的CTU,每个CU可以包括相同尺寸的帧的亮度样本的CB和色度样本的两个对应编码块、以及用于对编码块的样本进行编码的语法元素。在单色图片或具有三个单独颜色平面的图片中,CU可以包括单个编码块和用于对编码块的样本进行编码的语法结构。应注意,图4C和图4D中所描绘的四叉树分割仅用于说明性目的,并且一个CTU可以基于四叉树分割/三叉树分割/二叉树分割而被拆分为多个CU以适应于变化的局部特性。在多类型树结构中,一个CTU按照四叉树结构被分割,并且每个四叉树叶CU可以按照二叉和三叉树结构被进一步分割。如图4E所示,具有宽度W和高度H的编码块有五种可能的分割类型,即四元分割、水平二元分割、垂直二元分割、水平三元分割和垂直三元分割。
在一些实施方式中,视频编码器20可以进一步将CU的编码块分割为一个或更多个(M×N个)PB。PB是被应用相同预测(帧间或帧内)的矩形(正方形或非正方形)样本块。CU的PU可以包括亮度样本的PB、色度样本的两个对应PB和用于对PB进行预测的语法元素。在单色图片或具有三个单独颜色平面的图片中,PU可以包括单个PB和用于对PB进行预测的语法结构。视频编码器20可以生成针对CU的每个PU的亮度PB、Cb PB和Cr PB的预测亮度块、预测Cb块和预测Cr块。
视频编码器20可以使用帧内预测或帧间预测来生成针对PU的预测块。如果视频编码器20使用帧内预测来生成PU的预测块,则视频编码器20可以基于与PU相关联的帧的解码样本来生成PU的预测块。如果视频编码器20使用帧间预测来生成PU的预测块,则视频编码器20可以基于除与PU相关联的帧之外的一个或更多个帧的解码样本来生成PU的预测块。
在视频编码器20生成针对CU的一个或更多个PU的预测亮度块、预测Cb块和预测Cr块之后,视频编码器20可以通过从CU的原始亮度编码块减去CU的预测亮度块来生成针对CU的亮度残差块,使得CU的亮度残差块中的每个样本指示CU的预测亮度块之一中的亮度样本与CU的原始亮度编码块中的对应样本之差。类似地,视频编码器20可以分别生成针对CU的Cb残差块和Cr残差块,使得CU的Cb残差块中的每个样本指示CU的预测Cb块之一中的Cb样本与CU的原始Cb编码块中的对应样本之差,并且CU的Cr残差块中的每个样本可以指示CU的预测Cr块之一中的Cr样本与CU的原始Cr编码块中的对应样本之差。
此外,如图4C中所示,视频编码器20可以使用四叉树分割将CU的亮度残差块、Cb残差块和Cr残差块分别分解成一个或更多个亮度变换块、Cb变换块和Cr变换块。变换块是被应用相同变换的矩形(正方形或非正方形)样本块。CU的TU可以包括亮度样本的变换块、色度样本的两个对应变换块和用于对变换块样本进行变换的语法元素。因此,CU的每个TU可以与亮度变换块、Cb变换块和Cr变换块相关联。在一些示例中,与TU相关联的亮度变换块可以是CU的亮度残差块的子块。Cb变换块可以是CU的Cb残差块的子块。Cr变换块可以是CU的Cr残差块的子块。在单色图片或具有三个单独颜色平面的图片中,TU可以包括单个变换块和用于对该变换块的样本进行变换的语法结构。
视频编码器20可以将一个或更多个变换应用于TU的亮度变换块以生成针对TU的亮度系数块。系数块可以是变换系数的二维阵列。变换系数可以是标量。视频编码器20可以将一个或更多个变换应用于TU的Cb变换块以生成针对TU的Cb系数块。视频编码器20可以将一个或更多个变换应用于TU的Cr变换块以生成针对TU的Cr系数块。
在生成系数块(例如,亮度系数块、Cb系数块或Cr系数块)之后,视频编码器20可以对系数块进行量化。量化通常是指变换系数被量化以可能减少用于表示变换系数的数据量从而提供进一步压缩的过程。在视频编码器20对系数块进行量化之后,视频编码器20可以对指示量化的变换系数的语法元素进行熵编码。例如,视频编码器20可以对指示量化的变换系数的语法元素执行CABAC。最后,视频编码器20可以输出包括比特序列的比特流,比特序列形成编码帧和相关联数据的表示,比特流被保存于存储设备32中或被发送到目标设备14。
在接收到由视频编码器20生成的比特流之后,视频解码器30可以解析比特流以从比特流获得语法元素。视频解码器30可以至少部分地基于从比特流获得的语法元素来对视频数据的帧进行重建。对视频数据进行重建的过程通常与由视频编码器20执行的编码过程互逆。例如,视频解码器30可以对与当前CU的TU相关联的系数块执行逆变换以重建与当前CU的TU相关联的残差块。视频解码器30还通过将针对当前CU的PU的预测块的样本与当前CU的TU的变换块的对应样本相加,来重建当前CU的编码块。在重建针对帧的每个CU的编码块之后,视频解码器30可以重建帧。
如上所述,视频编码主要使用两种模式(即,帧内部预测(或帧内预测)和帧之间预测(或帧间预测))来实现视频压缩。基于调色板的编码是已被许多视频编码标准采用的另一种编码方案。在可能特别适用于屏幕生成内容编码的基于调色板的编码中,视频编解码器(如视频编码器20或视频解码器30)形成表示给定块的视频数据的颜色调色板表。调色板表包括给定块中最主要的(如经常使用的)像素值。在给定块的视频数据中不经常表示的像素值要么不包括在调色板表中,要么作为转义颜色包括在调色板表中。
调色板表中的每个条目包括调色板表中对应像素值的索引。块中样本的调色板索引可以被编码以指示调色板表中的哪个条目将用于预测或重构哪个样本。该调色板模式开始于为图片、条带、瓦片或其他此类视频块分组的第一块生成调色板预测器的过程。如以下将解释的,用于后续视频块的调色板预测器通常通过更新先前使用的调色板预测器来生成。为了说明的目的,假设调色板预测器是在图片级别定义的。换句话说,一个图片可包括多个编码块,每个编码块都有自己的调色板表,但整个图片只有一个调色板预测器。
为了减少在视频比特流中通过信号发送调色板条目所需的比特,视频解码器可利用调色板预测器来确定调色板表中用于重构视频块的新调色板条目。例如,调色板预测器可包括来自先前使用的调色板表的调色板条目,或者甚至通过包括最近使用的调色板表的所有条目来用最近使用的调色板表初始化。在一些实施方式中,调色板预测器可包括来自最近使用的调色板表的少于所有的条目,然后并入来自其他先前使用的调色板表的一些条目。调色板预测器可具有与用于编码不同块的调色板表相同的大小,或者可以大于或小于用于编码不同块的调色板表。在一个示例中,调色板预测器被实现为包括64个调色板条目的先进先出(FIFO)表。
为了从调色板预测器生成视频数据块的调色板表,视频解码器可从编码的视频比特流接收调色板预测器的每个条目的一位标志。一位标志可具有指示调色板预测器的相关条目将被包括在调色板表中的第一值(如二进制一)或指示调色板预测器的关联条目不包含在调色板表中的第二值(如二进制零)。如果调色板预测器的大小大于用于视频数据块的调色板表,则一旦达到调色板表的最大大小,视频解码器可停止接收更多标志。
在一些实施方式中,调色板表中的一些条目可以在编码视频比特流中直接通过信号发送,而不是使用调色板预测器来确定。对于这样的条目,视频解码器可从编码的视频比特流接收三个单独的m位值,这些m位值指示与该条目相关联的亮度分量和两个色度分量的像素值,其中,m表示视频数据的比特深度。与直接通过信号发送的调色板条目所需的多个m位值相比,从调色板预测器导出的这些调色板条目仅要求一位标志。因此,使用调色板预测器通过信号发送一些或所有调色板条目能够显著减少通过信号发送新调色板表的条目所需的比特数,从而提高调色板模式编解码的整体编码效率。
在许多情况下,一个块的调色板预测器是基于用于对一个或多个先前编码的块进行编码的调色板表来确定的。但是当对图片、条带或瓦片中的第一编码树单元进行编码时,先前编码的块的调色板表可能不可用。因此,不能使用先前使用的调色板表的条目来生成调色板预测器。在这种情况下,可以在序列参数集(SPS)和/或图片参数集(PPS)中通过信号发送调色板预测器初始化器序列,这些序列是用于在先前使用的调色板表不可用时生成调色板预测器的值。SPS通常是指应用于称为编码视频序列(CVS)的一系列连续编码视频图片的语法元素的语法结构,该编码视频序列由在PPS中找到的语法元素的内容确定,该语法元素由每个条带片段标头中找到的语法元素指代。PPS通常是指应用于CVS中的一个或多个单独的图片的语法元素的语法结构,这些单独的图片由在每个条带片段标头中找到的语法元素确定。因此,SPS通常被认为是比PPS更高级别的语法结构,这意味着与PPS中包括的语法元素相比,SPS中包括的语法元素通常变化较少并且适用于更多部分的视频数据。
图5是示出了根据一些实施例的利用上下文编解码和旁路编解码的变换系数编解码的示例500的框图。VVC中的变换系数编码与HEVC中的类似,因为它们都使用不重叠的系数组(也称为CG或子块)。但是,这两种方案之间也存在一些差异。在HEVC中,系数的每个CG的大小固定为4×4。在VVC草案6中,CG的大小取决于TB的大小。因此,VVC中提供了各种CG尺寸(1×16、2×8、8×2、2×4、4×2和16×1)。根据预定义的扫描顺序对编码块内的CG和CG内的变换系数进行编码。
为了限制每个像素的上下文编解码二进制位(CCB)的最大数量,TB的面积和视频分量的类型(即,亮度分量对色度分量)用于导出用于TB的最大数量的下文编解码二进制位(CCB)。在一些实施例中,下文编解码二进制位的最大数量等于TB_zosize*1.75。这里,TB_zosize表示系数归零后TB内的样本数量。注意,对于CCB计数,并不考虑指示CG是否包含非零系数的标志coded_sub_block_flag。
系数归零是对变换块执行以强制将位于变换块的特定区域中的系数设置为零的操作。例如,在当前的VVC中,64×64的TB具有关联的归零操作。因此,位于64×64的TB的左上角32×32区域之外的变换系数都被强制为零。实际上,在当前的VVC中,对于任何沿某个维度大小超过32的变换块,沿该维度执行系数归零操作以强制位于左上角32×32区域之外的系数为零。
在VVC中的变换系数编解码中,首先将变量remBinsPass1设置为所允许的经上下文编解码的二进制位的最大数量(MCCB)。在编解码过程中,每当经上下文编解码的二进制位被通过信号发送时,该变量减少一。当remBinsPass1大于或等于4时,首先用语法元素sig_coeff_flag、abs_level_gt1_flag、par_level_flag和abs_level_gt3_flag通过信号发送系数,所有这些语法在第一通道中使用上下文编解码二进制位。在第二通道中使用哥伦布莱斯编解码和经旁路编解码的二进制位利用语法元素abs_remainder对系数的水平信息的其余部分进行编解码。当在第一通道中进行编解码时remBinsPass1变得小于4时,当前系数在第一通道中不被编解码,而是在第二通道中使用哥伦布莱斯编解码和经旁路编解码的二进制位利用语法元素dec_abs_level被直接编解码。在所有上述水平编解码之后,针对sig_coeff_flag等于1的所有扫描位置的符号(sign_flag)最终被编解码为旁路二进制位。在图5中示出了该过程。针对每个TB重置remBinsPass1。从针对sig_coeff_flag、abs_level_gt1_flag、par_level_flag和abs_level_gt3_flag使用上下文编解码二进制位到针对其余系数使用经旁路编解码的二进制位的转变,每TB仅发生至多一次。对于系数子块,如果在对其第一个系数进行编解码之前remBinsPass1小于4,则使用旁路编解码二进制位对整个系数子块进行编解码。
与其中单个残差编解码方案被设计用于编解码变换系数和变换跳过系数两者的HEVC不同,在VVC中,两个单独的残差编解码方案分别被用于变换系数和变换跳过系数(即残差)。
例如,观察到在变换跳跃模式下残差的统计特性不同于变换系数的统计特性,并且在低频分量周围没有能量压缩。残差编解码被修改以考虑(空间)变换跳过残差的不同信号特征,其中包括:
(1)不用信号发送最后x/y位置;
(2)coded_sub_block_flag当所有先前标志等于0时,为除DC子块之外的每个子块编解码;
(3)sig_coeff_flag具有两个相邻系数的上下文建模;
(4)par_level_flag仅使用一个上下文模型;
(5)额外的大于5、7、9的标志;
(6)用于余数二值化的修改的莱斯(rice)参数导出;
(7)基于左侧和上方相邻系数值确定针对符号标志的上下文建模,并且在sig_coeff_flag之后解析符号标志以将所有上下文编解码二进制位保持在一起。
图6是示出了根据一些实施例的示例性上下文自适应二进制算术编码(CABAC)引擎600的框图。上下文自适应二进制算术编解码(CABAC)是一种用在H.264/MPEG-4AVC和高效视频编解码(HEVC)标准以及VVC中的熵编码形式。CABAC基于算术编解码,具有一些改进和变化以使CABAC适应视频编码标准的需要。例如,CABAC编码二进制符号,这保持复杂度为低并且允许对任意符号的更频繁使用的位进行概率建模。概率模型是基于局部上下文自适应地选择的,允许对概率更好地建模,因为编解码模式通常在局部良好地相关。最终CABAC也通过使用量化的概率范围和概率状态而使用无乘法范围划分。
CABAC具有用于不同上下文的多个概率模式。它首先将所有非二进制符号转换成二进制。接着,对于每个二元位(或者称为位),编解码器选择使用哪个概率模型,然后使用来自附近元素的信息对概率估计进行优化。最终,应用算术编解码来压缩数据。
上下文建模提供了编解码符号的条件概率的估计。利用适当的上下文模型,通过依照要编码的当前符号的邻域中的已经编解码的符号在不同概率模型之间切换,可以利用给定的符号间冗余。对数据符号编解码涉及以下阶段:
二值化(602):CABAC使用二进制算术编解码,其意味着只有二进制决策(1或0)被编码。非二进制值的符号(例如变换系数或运动矢量)在算术编解码之前被“二值化”或者转换成二进制代码。这个过程类似于将数据符号转换成可变长度代码的过程,但是二进制代码在传输之前被(算术编解码器)进一步编码。针对二值化符号的每个二元位(或者“位”)重复各阶段。
上下文模型选择(604):“上下文模型”是一种用于二值化符号的一个或多个二元位的概率模型。该模型可以根据最近编解码的数据符号的统计信息从可用模型选择中选取。上下文模型存储每个二元位为“1”或“0”的概率。
算术编码(606):算术编解码器依照选择的概率模型对每个二元位编码。注意,对于每个二元位只有两个子范围(对应于“0”和“1”)。
概率更新:基于实际编解码的值更新选择的上下文模型(例如,如果二元位值为“1”,则增加“1”的频率计数)。
通过将每个非二进制语法元素值分解成二进制序列,CABAC中每个二进制值的进一步处理取决于相关联的编解码模式决策,其可以被选择为常规模式或旁路模式。后者是为二进制位选择的,这些二进制位假设是均匀分布的,因此,整个常规二进制算术编码(和解码)过程被简单地绕过。在常规编解码模式中,每个二进制位值使用常规二进制算术编码引擎进行编码,其中关联的概率模型由固定选择基于语法元素的类型和二进制位位置或语法元素的二值化表示中的二进制位索引(binIdx)确定,或者根据相关的边信息(例如空间邻居、分量、CU/PU/TU的深度或大小,或TU内的位置)从两个或多个概率模型中自适应地选择。概率模型的选择称为上下文建模。作为一个重要的设计决策,后一种情况通常仅应用于最频繁观察到的二进制位,而其他通常不太频繁观察到的二进制位将使用联合的通常是零阶概率模型来处理。通过这种方式,CABAC能够在子符号级别上进行选择性自适应概率建模,因此,为利用符号间冗余提供了一种有效的工具,显著降低了整体建模或学习成本。注意,对于固定和自适应情况,原则上,从一个概率模型到另一个概率模型的切换可以发生在任何两个连续的常规编码的二进制位之间。一般来说,CABAC中上下文模型的设计反映了在避免不必要的建模成本开销和在很大程度上利用统计相关性的冲突目标之间找到良好折衷的目标。
CABAC中概率模型的参数是自适应的,这意味着模型概率对二进制位源的统计变化的适应是在编码器和解码器中以后向自适应和同步方式逐个二进制位进行的;这个过程称为概率估计。为此,CABAC中的每个概率模型都可取自于126个不同状态中一个,这些状态具有关联的范围在[0:01875;0:98125]区间内的模型概率值p。每个概率模型的两个参数以7位条目的形式存储在上下文存储器中:63种概率状态中的每一个状态的6比特表示最小概率符号(LPS)的模型概率pLPS,1比特用于nMPS,即最可能的符号(MPS)的值。
图7是示出了根据一些实施例的示例性低频不可分离变换(LFNST)过程700的框图,该过程作为对初级变换之后的帧内编码块的变换系数的能量进行紧压的二次变换。如图所示,LFNST被应用在视频编码器20内的初级前向变换和量化之间以及视频解码器30内的去量化和逆初级变换之间。在一些实施例中,具有变化的变换大小的不可分离变换是基于一个编码块的大小而应用的,其可以描述为下面的矩阵乘法过程。假设LFNTS应用于一个4×4块,则4×4块内的样本,即
Figure BDA0003874262640000191
首先被序列化为一个矢量,即
Figure BDA0003874262640000201
然后,将LFNTS应用为
Figure BDA0003874262640000202
其中,
Figure BDA0003874262640000203
是LFNTS之后的变换系数,T是变换核。在该示例中,T是一个16×16的矩阵。随后根据一个预定义的扫描顺序将16x1矢量
Figure BDA0003874262640000204
重新组织为4×4块,其中,位于矢量开头的系数将与4×4块中较小的扫描索引相关联。
从上面的例子可以看出,LFNST是基于直接矩阵乘法的,这在计算操作和存储变换系数的内存方面是相当昂贵的。在一些实施例中,使用一个简化的不可分离变换内核来降低LFNST的实现成本。这种方法的主要思想是将一个N维矢量映射到一个不同的空间中的一个R维矢量,其中R<N。因此,前向LFNST不是进行N×N矩阵,而是变成一个下面的R×N矩阵:
Figure BDA0003874262640000205
其中TR×N中的R个基矢量是通过选取原始N维变换矩阵(即N×N)的前R个基来生成的。
在应用LFNST之后,左上角可能非零LFNST系数区域之外的所有变换系数都迫为零。对于大小为4×4、8×8、4×M和/或M×4的变换块,左上角可能非零的LFNST系数区域包括按照系数扫描顺序的前8个系数位置。对于所有其他大小的变换块,左上角可能非零的LFNST系数区域包括左上角4x4子块中的系数位置。在本公开的以下描述中,为简单起见,将这种潜在的非零LFNST系数区域称为“非零LFNST区域”。
在一些实施例中,总共有四个变换集合,为每个变换集合启用两个不可分离的变换内核。根据一个帧内块的帧内预测模式选择变换集。从帧内预测模式到变换集合的映射是预定义的,如下表1所示。对于每个变换集合,通过在该视频比特流中通过信号发送一个LFNST索引来指示选定的不可分离二次变换候选。
Figure BDA0003874262640000206
Figure BDA0003874262640000211
表1帧内模式与LFNST变换集合之间的映射
在一些实施例中,仅当给定变换块的第一个4×4子块之外的所有变换系数都为零时,LFNST索引才可用于在视频解码器处进行解析。通过信号发送LFNST索引取决于最后一个有效系数的位置,该位置指示变换块中非零系数的数量。例如,对于4×4和8×8编码块仅在最后一个有效(即非零)变换系数的位置小于8时才通过信号发送LFNST索引;对于其他编码块大小,仅当最后一个有效变换系数的位置小于16时才通过信号发送LFNST索引;否则,不通过信号发送LFNST索引,并将其始终推断为零,即LFNST被禁用。在一些其他实施例中,为LFNST索引设置最小阈值(例如,1),以使得当非零变换系数的总数等于或小于该最小阈值时不通过信号发送LFNST索引。
此外,为了减少变换系数的高速缓存缓冲区大小,在当前编码块的宽度或高度大于作为通过信号发送的序列参数集合(SPS)的最大变换大小(例如,64)时,禁用LFNST。在一些实施例中,仅当初级变换是DCT2时才应用LFNST。LFNST应用于帧内和帧间条带中的帧内编码块并用于亮度和色度分量。若启用了双树/本地树(即分离树)(其中亮度和色度分量的分区未对齐),则分别针对亮度和色度分量通过信号发送LFNST索引(即亮度和色度分量可应用不同的LFNST变换)。否则,当应用单树时(其中亮度和色度分量的分区对齐),会通过信号发送单个LFNST索引,并且亮度和色度分量共享一个相同的LFNST变换。
图8是示出了根据一些实施例的具有非零变换系数的示例性变换块800的框图。变换块800包括对应于变换块800的左上网格部分的第一区域802和由变换块800的虚线部分表示的第二区域804。第一区域802具有变换块800的预定义的大小(例如,变换块800的左上角16×16区域)并且包括一个或多个非零变换系数(例如,第一、第二和第三非零系数806、808和810)。第二区域804是第一区域802之外的区域,其可以包括也可以不包括一个或多个非零变换系数。
在当前VVC中,通过信号发送LFNST索引取决于CU中所有分量的解码变换系数的可用性。因为在应用LFNST之后,该非零LFNST区域之外的所有变换系数都迫为零,通过信号发送LFNST索引以CU中三个分量的最后的非零系数的位置为条件。具体来说,对于4×4和8×8的CU,LFNST索引仅在所有分量(将变换应用于残差编解码,即非变换跳过分量)的最后的非零系数的位置小于8时才通过信号发送;对于其他CU大小,LFNST索引仅在所有非变换跳过分量的最后的非零系数的位置小于16时才通过信号发送。这种解析依赖性可能会导致硬件编码器和解码器的并不希望的时延。例如,通过这种设计,直到色度残差的解析完成,才能开始对一个TU中的亮度分量进行解码。
在一些实施例中,提出了一种简化的LFNST信令方法以去除LFNST索引对一个CU中的亮度和色度TB的变换系数的可用性的解析依赖性。由于去除了解析依赖,解码器可以及时获取LFNST是否应用于当前CU的信息,从而可以根据潜在非零系数相应的个数计算出准确的CCB限制。
如前所述,在一个帧内CU的末尾通过信号发送LFNST,并且通过信号发送LFNST索引发送取决于所有编码分量的最后的有效系数的位置。例如,由于应用于LFNST的置零约束,仅在编码分量的最后的非零系数的位置位于对应的置零区域之外时才通过信号发送LFNST索引。为了解决这个问题,通过信号发送LFNST仅以亮度分量的最后的有效系数的位置为条件,如下面的语法表所示。
Figure BDA0003874262640000221
Figure BDA0003874262640000231
如上面语法表所示,在单树情况下,通过信号发送LFNST仅以所提出的方法中的亮度分量的最后的有效系数的位置为条件。例如,对于4×4和8×8编码块,仅在最后的亮度有效变换系数的位置小于8时才通过信号发送LFNST索引;对于其他编码块大小,仅在最后的亮度有效变换系数的位置小于16时才通过信号发送LFNST索引。在分离树的情况下,针对亮度和色度分量分别通过信号发送LFNST索引。此外,应用原始的仅DC约束,以使仅在最后一个亮度有效系数的位置等于或大于1时才通过信号发送LFNST索引。
如上所述,可以使用单个树或两个分离的树来划分编码块的亮度样本和色度样本。此特征可能会影响通过信号发送LFNST索引。例如,当编码块的亮度样本和色度样本被单一树分割时,只有对应亮度样本的变换系数符合LFNST,而色度样本不符合。在这种情况下,在接收到LFNST索引之前,不需要验证对应编码块的任何色度样本的最后的非零系数的位置。相反,只有对应于编码块的亮度样本的最后的非零系数的位置与确定是否已经为编码块启用了LFNST相关。但是当编码块的亮度样本和色度样本被两个分离的树划分时,LFNST分别应用于亮度样本和色度样本,每个样本都有各自的LFNST索引。
在一些实施例中,单树LFNST通过信号发送遵循亮度分量的最后系数,并且提出了额外的改变以简化单树和双树情况下的通过信号发送LFNST。首先,单树分区中的LFNST通过信号发送依赖于亮度变换跳过模式,而与色度变换跳过模式无关。根据确定禁用亮度变换跳过模式(例如,等于零)来启用(例如,等于非零)LFNST通过信号发送,而不检查色度变换跳过模式是启用还是禁用。接下来,将LFNST和MTS索引的通过信号发送从CU级别移动到TU级别。在分离树的情况下,索引在亮度残差样本被解析后立即通过信号发送LFNST。在单独的树情况下,与亮度样本关联的LFNST索引也在亮度残差样本被解析和转换后立即通过信号发送,而与色度样本关联的LFNST索引在第二个残差样本(即Cr分量)被解析后通过信号发送。对应的语法表的示例如下:
编码单元语法:
LfnstDcOnly=1
LfnstZeroOutSigCoeffFlag=1
MtsDcOnly=1
MtsZeroOutSigCoeffFlag=1
transform_tree(x0,y0,cbWidth,cbHeight,treeType,chType)
变换单元语法
Figure BDA0003874262640000241
Figure BDA0003874262640000251
残差编解码语法
Figure BDA0003874262640000261
在与单树情况相关的一些实施例中,仅使用最后一个亮度有效系数的位置来确定是否满足DC约束。亮度和色度分量的残差均用于确定LFNST通过信号发送的归零约束。相应的残差编解码语法的示例语法表如下所示:
Figure BDA0003874262640000262
在一些实施例中,对于单树和双树分区中的色度分量禁用LFNST。LFNST令中的亮度-色度依赖性被移除。LFNST索引从CU级别移动到TU级别,并在亮度残差被解码之后获得,例如,在接收到色度变换样本之前。对应的语法表示例如下:
编码单元语法:
LfnstDcOnly=1
LfnstZeroOutSigCoeffFlag=1
MtsDcOnly=1
MtsZeroOutSigCoeffFlag=1
transform_tree(x0,y0,cbWidth,cbHeight,treeType,chType)
变换单元语法
Figure BDA0003874262640000263
Figure BDA0003874262640000271
Figure BDA0003874262640000281
残差编解码语法
Figure BDA0003874262640000282
包括变量ApplyLfnstFlag的编码树语法,该变量推导为:ApplyLfnstFlag=(lfnst_idx>0&&cIdx==0)?1:0。
图9是示出了根据一些实施例的对帧间和帧内编码块的残差进行变换的示例性多重变换选择(MTS)方案的表格900。例如,在编码期间,视频编码器20利用图2的变换处理单元52进行MTS。在解码期间,视频解码器30利用图3的逆变换处理单元88使用对应的逆变换方法进行逆变换。
当前的VVC规范采用MTS方案对帧间和帧内编码块中的残差进行变换。如果使用MTS,则在编码期间,视频编码器会选择多种变换方法中的一种并将其应用于编码块的残差。例如,视频编码器可以将DCT2变换(例如,禁用MTS)、DCT8变换或DST7变换应用于编码块的残差。一组语法元素(例如,MTS_CU_flag、MTS_Hor_flag、MTS_Ver_flag)(也称为标志)用于通过信号表示用于编码块的特定变换方法。
在一些实施例中,在序列级别指定两个语法元素(例如,包括在序列参数集(SPS)中)以分别启用用于帧内和帧间模式的MTS。当在序列级别启用MTS时,另一个CU级别语法元素(例如,表900的MTS_CU_flag)被进一步通过信号发送以指示MTS是否应用于特定CU。
在一些实施例中,MTS仅在满足与编码块的特性相关的多个标准时使用,包括:1)编码块的宽度和高度均小于或等于预定义值(例如,32);2)编码块是亮度编码块(例如,亮度CBF标志==1,因为MTS仅在亮度残差编解码中使用);3)最后一个非零系数的水平和垂直坐标均小于预定义值(例如,16)(例如,最后一个非零系数被限制在变换块的预定义左上角区域)。如果上述任一条件不满足,则视频编码器不应用MTS,而是采用DCT2变换等默认变换方法对块残差进行变换,并设置相应的语法元素以指示使用该默认变换(例如,MTS_CU_flag==0并且MTS_Hor_flag和MTS_Ver_flag未被通过信号发送)。
表500示出了在MTS中使用的语法元素值和对应的变换方法。如果使用DCT2来对变换块残差进行变换,则将MTS_CU_flag设置为0,并且不通过信号发送MTS_Hor_flag和MTS_Ver_flag。若将MTS_CU_flag设置为1(例如,指示正在使用DCT8和/或DST7),则另外通过信号发送两个其他语法元素(例如,MTS_Hor_flag,MTS_Ver_flag)以分别指示水平和垂直方向的变换类型。当MTS_Hor_flag==1或MTS_Ver_flag==1时,使用DST7方法转换相应的水平或垂直分量。当MTS_Hor_flag==0或MTS_Ver_flag==0时,使用DCT8方法转换相应的水平或垂直分量。
在一些实施例中,所有MTS变换系数都以6比特精度编码,这与DCT2核心变换相同。鉴于VVC支持HEVC中使用的所有变换大小,HEVC中使用的所有变换核都保持与VVC中相同,包括4点、8点、16点和32点DCT2变换和4点DST7变换。同时,VVC变换设计还支持其他变换核,包括64点DCT2、4点DCT8、8点、16点、32点DST7和DCT8。
此外,为了降低大尺寸DST7或DCT8变换的计算复杂度,当块的宽度或高度等于32时,对于DST7和DCT8变换块,将位于低频区域(例如,变换块的左上角16x16区域)之外的变换系数设置为0(例如,清零操作)。
在一些实施例中,使用非重叠系数组(CG)来对变换块的变换系数进行编码。CG大小是根据变换块的大小确定的。基于一个预定义的扫描顺序(例如,对角线扫描顺序)对变换块内的CG和每个CG内的变换系数进行编码。
图10是示出了根据一些实施例的视频编码器(如视频编码器30)有条件地基于变换块的不同分量来实现通过信号发送该LFNST的技术的示例性过程的流程图1000。视频解码器30接收(1010)与编码块或多个编码块关联的控制标志。该控制标志指示视频数据中的编码块的亮度样本和色度样本是基于单个树还是两个分离的树来划分的。该视频解码器还接收(1020)对应于该编码块的比特流,其可以包括与编码块的不同分量关联的变换系数。
然后,视频解码器30基于该控制标志来确定该编码块的分区树类型。当该控制标志指示亮度样本和色度样本由单一树分割(1030-1)时,视频解码器30确定(1040-1)用于该编码块的亮度样本的最后一个非零变换系数的扫描顺序索引。如上所述,单树分区意味着只有编码块的亮度样本才适合于LFNST。当最后一个非零变换系数的扫描顺序索引满足预定义标准(1050-1)时,该视频解码器然后从该比特流接收(1060-1)LFNST索引并将逆LFNST变换应用于(1070-1)基于该LFNST索引的编码块的亮度样本的变换系数。
当控制标志指示亮度样本和色度样本被两个分离的树分割(1030-2)时,视频解码器30确定(1040-2)分别用于该编码块的亮度样本和色度样本的最后一个非零变换系数的扫描顺序索引。如上所述,LFNST分别处理亮度和色度分量。例如,当对应于亮度或色度样本的最后一个非零变换系数的扫描顺序索引中的相应一个满足预定义标准(1050-2)时,视频解码器从该比特流接收(1060-2)对应于该分量的LFNST索引,并基于对应的LFNST索引将相应的逆LFNST变换应用于编码块的对应分量的变换系数(1070-2)。
在一些实施例中,在将逆LFNST变换应用于编码块的亮度或色度样本的变换系数之前,视频解码器30首先确定LFNST索引的值,然后基于当对应的LFNST索引不为零时的对应的LFNST索引识别LFNST变换内核。如上所述,视频编码器可以访问多个LFNST变换内核,并且视频编码器20选择其中之一用于对编码块进行LFNST并通过信号发送视频数据中所选LFNST变换内核的索引。然后,视频解码器30从视频数据接收LFNST索引,之后,使用识别出的LFNST变换内核对编码块的对应样本的变换系数进行逆变换。
在一些实施例中,当最后一个非零变换系数的扫描顺序索引不小于最小阈值且小于与该编码块关联的最大阈值时,满足上述预定义标准。例如,该最小阈值为1,而最大阈值取决于编码块的大小,例如对于4×4或8×8编码块,最大阈值为8,或者对于其他编码块大小,最大阈值为16。与MTS类似,逆LFNST变换应用于对应于该编码块的变换块的左上区域内的非零变换系数,并且扫描顺序是对角线扫描顺序。
图11A是根据一些实施例的用于对变换单元的比特流进行编码的示例性单树数据结构1100,图11B是根据一些实施例的用于对变换单元的视频数据的比特流进行编码的示例性分离树数据结构1150。在一些实施例中,TU包括亮度样本1102的变换块、色度样本的两个对应变换块1104以及用于对亮度样本和色度变换样本1102和1104进行变换的语法元素。该TU与亮度变换块、Cb变换块和Cr变换块关联。在一些示例中,该TU是编码单元(CU)的一部分。TU的亮度变换块包括亮度变换样本1102,并且与CU的亮度残差块的子块关联。TU的Cb变换块包括Cr变换样本,并且与CU的Cb残差块的子块关联。Cr变换块包括Cb个变换样本,并与CU的Cr残差块的子块关联。Cr和Cb变换样本形成色度变换样本1104。在一些实施例中,通过信号发送LFNST索引1110或通过信号发送MTS索引1116在TU级别上实现,即,LFNST索引和/或MTS索引在视频编码器20和视频解码器30之间传送,并且带有每个单独的TU的亮度变换样本和色度变换样本1102和1104,而不是带有CU级别上的每个CU的那些变换样本。
参看图11A,TU包括单个变换块和用于将该变换块的样本变换为单色图片或具有三个单独的颜色平面的图片的语法结构。在一些实施例中,单树数据结构1100被应用于对这些图片的亮度和色度分量和与该TU关联的视频数据的比特流中的语法元素一起进行编码。单树数据结构1100至少包括亮度变换样本1102和色度变换样本1104。在视频编码器20中,预测处理单元41将视频数据划分为视频块(例如,单独的TU)并提供帧内或帧间预测块以生成这些视频块的残差块。残差块可选地包括在一个或多个变换单元(TU)中。变换处理单元52使用诸如离散余弦变换(DCT)或概念上相似的变换将这些残差块的残差视频数据变换为残差变换系数,并且量化单元54将这些变换系数量化为亮度变换样本1102和色度变换样本1104。
该TU的亮度变换样本1102与指示残差视频数据的亮度分量是否被变换的亮度变换跳过标志(LTSF)1106关联,并且TU的色度变换样本1104与指示残差视频数据的色度分量是否被变换的色度变换跳过标志(CTSF)1108关联。LTSF 1106、亮度变换样本1102、CTSF1108和色度变换样本1104在用于对TU的视频数据的比特流进行编码的单树数据结构1100中以有序序列排列。
在一些实施例中,LFNST索引1110在比特流中被通过信号发送以启用用于在初级变换之后对帧内编码块的变换系数的能量进行压缩的二次变换(即,LFNST操作)。该LFNST操作在视频编码器20内的初级正向变换与量化之间以及在视频解码器30内的去量化与反向初级变换之间应用。LFNST索引1110被从视频编码器20通过信号发送到视频解码器30,此时LTSF 1106为(1112)零,以禁用TU的亮度分量的变换跳过模式,并且使由编码器20生成的非零亮度变换样本的数量在(1114)预定义范围内。在接收到该比特流时,视频解码器30确定LTSF 1106是否为零并且LFNST索引是否非零。根据LTSF 1106为零并且LFNST索引1110不为零的确定,视频解码器30对亮度变换样本1102应用逆LFNST以对于该TU生成第一解码亮度样本。更具体地,亮度变换样本被去量化,并且随后由该逆向LFNST处理以对于随后的逆初级变换(例如,DCT2、DCT8和DST-7)的生成第一解码亮度样本。
在一些实施例中,该逆LFNST仅应用于亮度变换样本1102,而不应用于色度变换样本1104。逆LFNST索引基于LTSF 1106、LFNST索引1110或独立于任何CTSF 1108的亮度变换样本1102中的非零亮度样本的数量、色度变换样本1104中的非零Cb样本的数量以及色度变换样本1104中的非零Cr样本的数量被通过信号发送并应用。即,在不检查任何CTSF 1108、非零Cb样本的数量和非零Cr样本的数量的情况下,例如不检查CTSF 1108是否非零、非零Cb样本的数量是否在预定义范围内或者非零Cr样本的数量是否在预定义范围内,通过信号发送和应用逆LFNST。
在一些实施例中,多重变换选择(MTS)索引1116与TU的比特流一起被通过信号发送。应用MTS索引1116来选择用于对帧间和帧内编码块的残差进行变换的初级变换。在编码期间,视频编码器20利用图2的变换处理单元52进行MTS,而在解码期间,视频解码器30利用图3的逆变换处理单元88使用对应的逆变换方法进行逆变换。当前VVC规范采用MTS方案来变换帧间和帧内编码块中的残差。若使用MTS,则在编码期间,视频编码器20选择多种变换方法之一来变换编码块的残差。例如,视频编码器可以将DCT2变换(例如,禁用MTS)、DCT8变换或DST7变换应用于编码块的残差。可选地,在MTS索引1116中使用一组语法元素(例如,MTS_CU_flag、MTS_Hor_flag、MTS_Ver_flag)(也称为标志)以通过信号发送用于该编码块的特定变换方法。
具体地,在一些实施例中,MTS索引1116并不总是被应用并且被从视频编码器20通过信号发送到视频解码器30。相反,根据LFNST索引1110为零(即,反向LFNST操作被禁用)的确定,通过信号发送MTS索引1116。当LFNST索引1110为零时,视频编码器30在逆LFNST之后基于MTS索引1116的值对这些第一解码亮度样本应用(1118)DCT2变换、DCT8变换或DST7变换之一。相反,当LFNST索引1110非零时,MTS索引1116不被使用或通过信号发送到视频编码器30,并且视频编码器30在逆LFNST之后对这些第一解码亮度默认应用预定义的逆变换(例如,DCT2变换)。预定义的逆变换应用于这些第一解码亮度样本的水平和垂直方向。
可替代地,在一些实施例中,MTS索引1116与TU的比特流一起被通过信号发送,而与LFNST索引1110的值无关。然而,视频解码器30基于LFNST索引1110和MTS索引1116应用DCT2、DST7和DCT8变换。根据LFNST索引被启用(例如,非零)的确定,视频编码器30对亮度变换样本1102应用(1120)DCT2变换(即,预定义的逆变换),而与MTS索引1116的值无关。根据LFNST索引被禁用(例如,零)的确定,视频编码器30基于MTS索引1116的值选择(1118)DCT2、DST7和DCT 8变换之一。例如,视频编码器30基于MTS索引1116的值在第一解码亮度样本的水平和垂直方向中的每一个选择DCT2、DST7和DCT8变换中的相应的一个。
在一些实施例中,基于单树数据结构对1100LTSF 1106、亮度变换样本1102、LFNST索引1110、MTS索引1116、色度变换跳过标志1108和色度变换样本1104以有序序列进行排列。即,LTSF 1106之后是亮度变换样本102,其后是LFNST索引1110,之后是索引1110,之后是MTS索引1116,之后是色度变换跳过标志1108,其后是色度变换样本1104。在接收到LFNST索引1110之后,对已经被接收和去量化的亮度变换样本1102应用对应的逆LFNST操作,而与是否收到色度变换样本1104无关。LFNST索引1110在CTSF 1108或色度残差样本1104之前由解码器30接收。在一些实施例中,对TU的部分或全部进行去量化,并且可以启动逆LFNST操作并接收CTSF 1108或色度残差样本1104的同时将其应用于该TU的部分或全部。相反,在某些情形中,在CTSF 1108或色度残差样本1104之前接收到LFNST1110,然而,在接收到CTSF1108或色度残差样本1104之后对TU应用逆LFNST操作。
类似地,在接收到MTS索引1116之后,将对应的初级逆变换(例如,DCT2、DST7和DCT8)应用于已经被接收、去量化和可选地被逆LFNST操作处理的亮度变换样本1102,而与是否接收到色度变换样本1104无关。MTS索引1116在CTSF 1108或色度残差样本1104之前由解码器30接收。在一些实施例中,针对部分或全部TU进行去量化和逆LFNST操作,并且在接收CTSF 1108或色度残差样本1104的同时将逆初级变换应用于这部分或全部TU。通过这些方式,可以在接收到色度变换样本1104之后在接收LFNST索引1110或MTS1116之前启动对亮度变换样本1102应用的逆LFNST操作或逆初级变换,并且无需等待接收到LFNST索引1110或MTS 1116,从而加快TU的解码过程。相反,在某些情形中,在CTSF 1108或色度残差样本1104之前接收MTS索引1116,然而,对应于MTS索引1116的逆初级变换在接收到CTSF 1108或色度残差样本1104之后被应用于TU。
可替代地,在一些实施例中,LFNST索引1110和MTS索引1116中的每一个被布置在单树数据结构1100中色度变换样本1104前面的备选位置之一中。例如,LFNST索引1110在LTSF 1106和亮度变换样本1102之前被可选地接收(1122),而在亮度变换样本1102之前或之后接收LTSF 1106。在另一个示例中,在LTSF 1106与亮度变换样本1102之间接收(1124)LFNST索引1110,而与LTSF 1106或亮度变换样本1102是否首先在单树数据结构1100中被接收无关。此外,在一些情形中,LFNST索引1110在CTSF 1108之后色度变换样本1104之前被接收(1126)。类似地,MTS索引1116可选地在LTSF 1106和亮度变换样本1102之前或在LTSF1106与亮度变换样本1102之间被接收,而与在单树数据结构1100中的亮度变换样本1102之前或之后是否接收到LTSF 1106无关。可以在CTSF 1108之后色度变换样本1104之前接收MTS索引1116。此外,在一些实施例中,MTS索引1116可以在LFNST索引1110之前被接收(1128)。MTS索引1116可以与单树数据结构1100中的LFNST索引1110相邻或分离。
在一些实施例中,以色度残差联合编解码(JCCR)模式对TU的色度残差进行编解码,并且对于TU,色度变换跳过标志1108是非零的。色度变换样本1104被基于JCCR模式解码,例如,不使用逆LFNST操作。
参看图11B,分离树数据结构1150包括亮度树数据部分1150A和色度树数据部分1150B。亮度和色度数据部分1150A和1150B被应用于在与该TU关联的视频数据的比特流中分别用图片的语法元素对这些图片的亮度和色度分量进行编码。如果启用这种双树/局部树(即,分离树),则针对亮度和色度分量(例如,对应于亮度变换样本1102和色度变换样本1104)分别通过信号发送LFNST索引1110和1160。亮度和色度分量的分区可能会错位,而且不同的LFNST操作可以分别应用于TU的亮度和色度分量。与这些亮度变换样本1102关联的LFNST索引1110在视频编码器20将亮度残差样本解析、变换和/或量化为亮度变换样本1102之后被通过信号发送。与这些色度变换样本1104关联的色度LFNST索引1160在视频编码器20将第二色度残差样本(即Cr分量)解析、变换和/或量化为色度变换样本1104的子集之后被通过信号发送。
根据分离树数据结构1150的亮度树数据部分1150A,LTSF 1106、亮度变换样本1102、亮度LFNST索引1110和亮度MTS索引1116(若有的话)被以第一有序序列排列在TU的视频数据的比特流中。根据分离树数据结构1150的色度树数据部分1150B,CTSF 1108、色度变换样本1104、色度LFNST索引1160和色度MTS索引1166(若有的话)被以第二有序序列排列在TU的视频数据的比特流中。第二有序序列在比特流中的第一有序序列之后。在接收到亮度LFNST索引1110之后,将对应的逆LFNST操作应用于已经在视频编码器30中接收和去量化的亮度变换样本1102,而与是否接收到色度变换样本1104无关。在一些情形中,对TU的部分或全部亮度变换样本1102进行去量化,并且可以在接收色度树数据部分1150B的CTSF 1108或色度残差样本1104的同时对TU的这些亮度变换样本1102的部分或全部应用逆LFNST操作。类似地,在接收到亮度MTS索引1116之后,将对应的逆初级变换(例如,DCT2、DST7和DCT8)应用于已经被接收、去量化和可选地被逆LFNST变换操作处理的亮度变换样本1102,而与这些色度变换样本1104是否被接收无关。在某些情形中,对TU的部分或全部亮度变换样本1102进行去量化和逆LFNST操作,并且在接收CTSF 1108或色度残差样本1104的同时对TU的部分或全部亮度变换样本1102应用逆初级变换。
在一些实施例中,当LTSF 1106为(1112)零时,在视频编码器20与解码器30之间通过信号发送亮度LFNST索引1110,以禁用TU的亮度分量的变换跳过模式并且使编码器20生成的非零亮度变换样本的数量在(1114)预定义的范围内。在接收亮度LFNST索引1110时,视频解码器30确定LTSF 1106是否为零并且亮度LFNST索引1110是否非零。根据LTSF 1106为零并且亮度LFNST索引1110非零的确定,视频解码器30对亮度变换样本1102应用逆LFNST以对于TU生成第一解码亮度样本。更具体地,亮度变换样本1102被去量化,并且随后由逆LFNST处理以对于随后的逆初级变换(例如,DCT2、DCT8和DST-7)生成第一解码亮度样本。注意,亮度LFNST索引1110被通过信号发送并且应用逆LFNST,而并不对CTSF 1108和非零Cb或Cr色度样本的数量进行检查。
此外,如上所述,在一些实施例中,亮度MTS索引1116并不总是被使用并且通过信号从视频编码器20发送到视频解码器30。根据LFNST索引1110为零(即,反向LFNST操作被禁用)的确定,亮度MTS索引1116被通过信号发送。当亮度LFNST索引1110为零时,视频编码器30基于亮度MTS索引1116的值对亮度变换样本1102应用(1118)DCT2变换、DCT8变换或DST7变换之一。相反,当亮度LFNST索引1110非零时,亮度MTS索引1116不被使用或通过信号发送,并且视频编码器30在逆LFNST之后对第一解码亮度样本默认应用预定义的逆变换(例如,DCT2变换)。预定义的逆变换应用于第一解码亮度样本的水平和垂直方向。
可替代地,在一些实施例中,亮度MTS索引1116与TU的比特流一起被通过信号发送,而与亮度LFNST索引1110的值无关,然而,视频解码器30基于亮度LFNST索引1110和亮度MTS索引1116两者应用DCT2、DST7和DCT8变换。根据亮度LFNST索引1110被启用(例如,非零)的确定,视频编码器30对第一解码亮度样本应用(1120)DCT2变换(即,预定义的逆变换,而与亮度MTS索引1116无关。根据亮度LFNST索引1110被禁用(例如,零)的确定,视频编码器30基于亮度MTS索引1116的值选择(1118)DCT2、DST7和DCT8变换中的一个,并且在逆LFNST之后将所选变换应用于这些第一解码亮度样本。例如,视频编码器30基于MTS索引1116的值在第一解码亮度样本的每个水平和垂直方向上选择DCT2、DST7和DCT8变换中的相应一个。
在亮度树数据部分1150A中,亮度LFNST索引1110可选地在LTSF 1106与亮度变换样本1102之前、之间或之后,而与LTSF 1106与亮度变换样本1102的顺序无关。亮度MTS索引1116可选地在LTSF 1106与亮度变换样本1102之前、之间或之后,而与LTSF 1106和亮度变换样本1102的顺序无关。亮度LFNST索引1110和亮度MTS索引1116可选地彼此相邻或分离。亮度树数据部分1150A的示例包括亮度LFNST索引1110、LTSF 1106、亮度MTS索引1116和亮度变换样本1102的有序序列。
基于分离树数据结构1150的色度树数据部分1150B对色度变换样本1104进行解码,这类似于基于亮度树数据部分1150A对亮度变换样本1102进行解码。在一些实施例中,当CTSF 1108为(1162)零以禁用TU的色度分量的变换跳过模式时以及当由编码器20生成的非零Cr变换样本的数量和非零Cb变换样本的数量在(1164)预定义范围内时,在视频编码器20与视频解码器30之间通过信号发送色度LFNST索引1160。在接收到色度LFNST索引1160时,视频解码器30确定CTSF 1108是否为零并且色度LFNST索引1160是否非零。根据CTSF1108为零并且色度LFNST索引1160不为零的确定,视频解码器30对色度变换样本1104应用逆LFNST以对于TU生成第一解码色度样本。更具体地,色度变换样本1104被去量化,并且随后由逆LFNST处理以对于随后的逆初级变换(例如,DCT2、DCT8和DST-7)生成第一解码色度样本。注意,色度LFNST索引1160被通过信号发送并且逆LFNST被应用于色度变换样本1104,而并不检查LTSF 1106和非零亮度样本的数量。
此外,在一些实施例中,色度MTS索引1166并不总是被使用并且从视频编码器20通过信号发送到视频解码器30。根据色度LFNST索引1160为零(即,反向LFNST操作被禁用)的确定,通过信号发送色度MTS索引1166。当色度LFNST索引1160为零时,视频编码器30基于色度MTS索引1166的值对色度变换样本1104应用(1168)DCT2变换、DCT8变换或DST7变换之一。相反,当色度LFNST索引1160非零时,色度MTS索引1166不被使用或通过信号发送,并且视频编码器30在逆LFNST之后在这些第一解码色度样本上默认应用预定义的逆变换(例如,DCT2变换)。预定义的逆变换应用于这些第一解码色度样本的水平和垂直方向。
可替代地,在一些实施例中,色度MTS索引1166与TU的比特流一起被通过信号发送,而与色度LFNST索引1160的值无关,然而,视频解码器30基于色度LFNST索引1160和色度MTS索引1166两者应用DCT2、DST7和DCT8变换。根据色度LFNST索引1160被启用(例如,非零)的确定,视频编码器30对第一解码的亮度样本应用(1170)DCT2变换(即,预定义的逆变换),而与色度MTS索引1166无关。根据色度LFNST索引1160被禁用(例如,零)的确定,视频编码器30基于色度MTS索引1166的值选择(1168)DCT2、DST7和DCT8变换中的一个,并在逆LFNST之后将所选变换应用于这些第一解码色度样本。例如,视频编码器30基于MTS索引1166的值在第一解码色度样本的每个水平和垂直方向上选择DCT2、DST7和DCT8变换中相应的一个。
在色度树数据部分1150B中,色度LFNST索引1160可选地在CTSF 1108与色度变换样本1104之前、之间或之后,而无论CTSF 1108和色度变换样本1104的顺序如何。色度MTS索引1166可选地在CTSF 1108与色度变换样本1104之前、之间或之后,而无论CTSF 1108和色度变换样本1104的顺序如何。色度LFNST索引1160和色度MTS索引1166可选地彼此相邻或分离。色度树数据部分1150B的示例包括色度LFNST索引1160、CTSF 1108、色度MTS索引1166和色度变换样本1104的有序序列。
图12是示出了根据一些实施例的对视频数据进行解码的方法1200的流程图。方法1200可选地由指令控制,这些指令存储在非暂时性计算机可读存储介质中并且由电子设备(例如,目的地设备14)的一个或多个处理器执行。图12中所示的每个操作可以对应于存储在电子设备的计算机存储器或计算机可读存储介质中的指令。计算机可读存储介质可以包括磁盘或光盘存储设备、诸如闪存的固态存储设备或其他非易失性存储设备或设备。存储在计算机可读存储介质上的计算机可读指令可以包括以下各项中的一项或多项:源代码、汇编语言代码、目标代码或由一个或多个处理器解释的其他指令格式。可以组合方法1200中的一些操作和/或可以改变一些操作的顺序。
电子设备经由对变换单元进行编码的比特流接收(1202)该变换单元的亮度变换跳过标志1106和多个亮度变换样本1102。电子设备接收(1204)经由比特流接收与变换单元关联的低频不可分离变换(LFNST)索引1110。在一些实施例中,根据亮度变换跳过标志1106为零并且亮度变换样本1102中的非零亮度样本的数量在预定义范围内的确定来接收(1206)LFNST索引1110。在接收到LFNST索引1110之后,电子设备经由该比特流接收(1208)色度变换跳过标志1108和与该变换单元关联的色度变换样本1104。
根据LFNST索引1110不为零并且亮度变换跳过标志1106为零的确定,电子设备对亮度变换样本1102应用(1210)逆LFNST以对于该变换单元生成第一解码亮度样本。在一些实施例中,在接收(1208)色度变换跳过标志1108和色度变换样本1104的至少部分同时地在亮度变换样本1102上应用(1212)逆LFNST。在一些实施例中,在接收(1208)色度变换跳过标志1108和色度变换样本1104之后将逆LFNST应用(1214)于亮度变换样本1102。
在一些实施例中,根据LFNST索引不为零的确定,电子设备在逆LFNST之后,电子设备在逆LFNST之后对该变换单元的这些第一解码的亮度样本在水平和垂直方向上应用(1216)预定义的逆初级变换。而且,至少部分地在接收(1208)色度变换跳过标志1108和色度变换样本1104的同时或之后可选地进行该预定义的逆初级变换。此外,在一些实施例中,该预定义的逆初级变换包括逆DCT2变换,逆DCT2变换应用在与该TU关联的这些第一解码的亮度样本上。
在一些实施例中,电子设备接收(1218)具有对变换单元进行编码的比特流的多重变换选择(MTS)索引1116。根据LFNST为零的确定,基于MTS索引1116对第一解码亮度样本应用(1220)逆DCT2、DCT8和DST7变换之一。此外,在一些实施例中,在接收与该变换单元关联的色度变换跳过标志1108和色度变换样本1104之前接收MTS索引1116。在一些实施例中,仅根据LFNST为零的确定来接收MTS索引1116。在一些实施例中,亮度变换跳过标志1106、亮度变换样本1102、LFNST索引、MTS索引1116、色度变换跳过标志1108和色度变换样本1104在比特流中以有序序列排列。
此外,在一些实施例中,根据MTS索引1116具有第一值的确定,电子设备从该比特流接收对于MTS水平标志的值和对于MTS垂直标志的值,基于对于MTS水平标志的值将水平变换应用于变换单元的亮度变换样本1102,基于对于MTS垂直标志的值将垂直变换应用于变换单元的亮度变换样本1102。根据MTS索引1116具有不同于第一值的第二值的确定,使用预定义的默认变换(例如,DCT2)在水平和垂直方向上对变换单元的亮度变换样本1102进行变换。此外,在一些实施例中,预定义的默认变换是逆DCT2变换,并且水平变换和垂直变换中的每一个是逆DST7变换或逆DCT8变换。
在一些实施例中,用单个树数据结构1100对该TU进行编码,并且应用逆LFNST,而与色度变换跳过标志1108、色度变换样本1104中的非零Cb样本的数量以及色度变换样本1104中的非零Cr样本的数量无关。即,不检查色度变换跳过标志1108、非零Cb样本的数量和非零Cr样本的数量以将逆LFNST应用在亮度变换样本1102上。
在一些实施例中,用分离树数据结构1150对变换单元的亮度变换样本1102和色度变换样本1104进行编码。在接收到色度变换跳过标志1108和色度变换样本1104之后,电子设备进一步接收(1218)色度LFNST索引1160。将第二逆LFNST应用于色度变换样本1104,而与亮度变换跳过标志1106和亮度变换样本1102中的非零亮度样本的数量无关。此外,在一些实施例中,根据色度变换跳过标志1108为零并且色度变换样本1104中非零Cb样本的数量和非零Cr样本的数量在预定义的范围内来接收色度LFNST索引1160。另外,在一些实施例中,根据色度LFNST索引1160非零并且色度变换跳过标志1108为零的确定,电子设备将第二逆LFNST应用于色度变换样本1104以对于该变换单元生成解码色度样本。
在一些实施例中,以色度残差的联合编码(JCCR)模式对变换单元的色度残差进行编码,并且色度变换跳过标志非零,如在用于TU的色度变换跳过标志1108中所限定的那样。
应当理解,图12中已经描述的操作的特定顺序仅仅是示例性的并且不旨在表明所描述的顺序是可以执行这些操作的唯一顺序。本领域的普通技术人员将认识到对这里描述的操作重新排序的各种方式。另外,应当注意,这里关于数据结构1100和1150(例如,图11A和11B)描述的其他过程的细节也可以以类似于上面关于图12描述的方法1200的方式适用。为了简洁,这些细节在此不再赘述。
在一个或多个示例中,所描述的功能可以在硬件、软件、固件或其任何组合中实现。如果在软件中实现,则这些功能可以作为一个或多个指令或代码存储在计算机可读介质上或通过计算机可读介质传输并由基于硬件的处理单元执行。计算机可读介质可包括计算机可读存储介质,其对应于诸如数据存储介质之类的有形介质,或者包括便于将计算机程序从一个地方转移到另一个地方的任何介质的通信介质,例如,根据通信协议。在这种方式中,计算机可读介质通常可对应于(1)非暂时性的有形计算机可读存储介质或(2)诸如信号或载波的通信介质。数据存储介质可以是可由一台或多台计算机或一个或多个处理器访问以检索指令、代码和/或数据结构以实现本申请中描述的实施方式的任何可用介质。计算机程序产品可包括计算机可读介质。
在此处的实施方式的描述中使用的术语仅用于描述特定实施方式的目的,并不旨在限制权利要求的范围。在实施方式和所附权利要求的描述中使用的单数形式“一个”和“该/所述”也旨在包括复数形式,除非上下文另有明确指示。还应理解,本文所用的术语“和/或”是指并且涵盖一个或多个相关联的所列项目的任何和所有可能的组合。将会进一步理解,当在本说明书中使用时,术语“包括”指定所陈述的特征、要素和/或组件的存在,但不排除其它一个或多个特征、要素、组件和/或它们的组的存在或添加。
还应理解,虽然术语第一、第二等在本文中可用于描述各种要素,但这些要素不应受限于这些术语。这些术语仅用于区分一种要素与另一种要素。例如,在不脱离实施方式的范围的情况下,第一电极可以被称为第二电极,并且类似地,第二电极可以被称为第一电极。第一电极和第二电极都是电极,但不是同一个电极。
本申请的描述是为了说明和描述的目的而呈现的,并不旨在穷举或限制以所公开形式的本发明。受益于前述描述和相关附图中呈现的教导,本领域普通技术人员将明白许多修改、变化和替代实施方式。选择和描述实施例是为了最好地解释本发明的原理、实际应用,并使本领域的其他技术人员能够理解本发明的各种实现方式,并最好地利用具有各种修改的基本原理和各种实现方式,如适用于预期的特定用途。因此,应当理解,权利要求的范围不限于所公开的实施方式的具体示例,并且修改和其他实施方式旨在包括在所附权利要求的范围内。

Claims (19)

1.一种解码视频数据的方法,所述方法包括:
经由变换单元的比特流接收所述变换单元的亮度变换跳过标志和多个亮度变换样本;
经由所述比特流接收与所述变换单元关联的低频不可分离变换(LFNST)索引;
在接收到所述LFNST索引后,经由所述比特流接收与所述变换单元关联的色度变换跳过标志和多个色度变换样本;以及
根据所述LFNST索引不为零并且所述亮度变换跳过标志为零的确定,对所述多个亮度变换样本应用逆LFNST以对于所述变换单元生成多个第一解码亮度样本。
2.如权利要求1所述的方法,其中,根据所述亮度变换跳过标志为零并且所述多个亮度变换样本中的非零亮度样本的数量在预定义范围内的确定,接收所述LFNST索引。
3.如权利要求1或2所述的方法,还包括:
根据所述LFNST索引不为零的确定,在所述逆LFNST之后对所述变换单元的所述多个第一解码亮度样本在水平和垂直方向上应用预定义逆初级变换。
4.如权利要求3所述的方法,其中,所述预定义逆初级变换包括逆DCT2变换,所述逆DCT2变换应用于与所述变换单元关联的所述多个第一解码亮度样本。
5.根据前述权利要求中任一项所述的方法,还包括:
接收具有对所述变换单元进行编码的比特流的多重变换选择(MTS)索引;以及
根据所述LFNST为零的确定,基于所述MTS索引对所述多个第一解码亮度样本应用逆DCT2、DCT8和DST-7变换之一。
6.如权利要求5所述的方法,其中,在接收与所述变换单元关联的所述色度变换跳过标志和所述多个色度变换样本之前接收所述MTS索引。
7.如权利要求5所述的方法,其中,仅根据所述LFNST为零的确定来接收所述MTS索引。
8.如权利要求5所述的方法,其中,所述亮度变换跳过标志、所述多个亮度变换样本、所述LFNST索引、所述MTS索引、所述色度变换跳过标志和所述多个色度变换样本在所述比特流中以有序序列排列。
9.如权利要求5所述的方法,其中,基于所述MTS索引对所述多个第一解码亮度样本应用逆DCT2、DCT8和DST-7变换之一包括:
根据所述MTS索引具有第一值的确定:
从所述比特流接收对于MTS水平标志的值和对于MTS垂直标志的值;
基于对于所述MTS水平标志的值,在水平方向上对所述变换单元的所述多个亮度变换样本应用水平变换;以及
基于对于所述MTS垂直标志的值,在所述水平变换之后在垂直方向上对所述变换单元的所述多个亮度变换样本应用垂直变换;以及
根据所述MTS索引具有不同于所述第一值的第二值的确定:
使用预定义的默认变换在水平和垂直方向上对所述变换单元的所述多个亮度变换样本进行变换。
10.如权利要求9所述的方法,其中,所述预定义的默认变换是逆DCT2变换,并且所述水平变换和所述垂直变换中的每一个均是逆DST-7变换或逆DCT8变换。
11.如前述权利要求中任一项所述的方法,其中,应用所述逆LFNST还包括:
与接收所述色度变换跳过标志和所述多个色度变换样本至少部分同时地对所述多个亮度变换样本应用所述逆LFNST。
12.如权利要求1-10中任一项所述的方法,其中,应用所述逆LFNST还包括:
在接收到所述色度变换跳过标志和所述多个色度变换样本后,对所述多个亮度变换样本应用所述逆LFNST。
13.根据前述权利要求中任一项所述的方法,其中,用单树数据结构对所述变换单元进行编码,并且独立于所述色度变换跳过标志、所述多个色度变换样本中的非零Cb样本的数量以及所述多个色度变换样本中的非零Cr样本的数量来应用所述逆LFNST。
14.如权利要求1-12中任一项所述的方法,其中,用分离树数据结构对所述变换单元的所述多个亮度变换样本和所述多个色度变换样本进行编码,所述方法还包括:
在接收到所述色度变换跳过标志和所述多个色度变换样本后,接收色度LFNST索引;
其中,独立于所述亮度变换跳过标志和所述多个亮度变换样本中的非零亮度样本的数量来对所述多个色度变换样本应用第二逆LFNST。
15.如权利要求14所述的方法,其中,根据所述色度变换跳过标志为零并且所述多个色度变换样本中的非零Cb样本的数量和非零Cr样本的数量在所述预定义范围内的确定来接收所述色度LFNST索引。
16.如权利要求14所述的方法,还包括:
根据所述色度LFNST索引不为零且所述色度变换跳过标志为零的确定,对所述多个色度变换样本应用所述第二逆LFNST以对于所述变换单元生成解码色度样本。
17.根据前述权利要求中任一项所述的方法,其中,以色度残差联合编解码(JCCR)模式对所述变换单元的色度残差进行编解码,并且对于所述变换单元,色度变换标志模式为非零。
18.一种电子设备,包括:
一个或多个处理器;以及
存储器,所述存储器存储指令,所述指令在由所述一个或多个处理器执行时使所述处理器执行权利要求1-17中任一项所述的方法。
19.一种非暂时性计算机可读介质,其上存储有指令,所述指令在由一个或多个处理器执行时使所述处理器执行权利要求1-17中任一项所述的方法。
CN202180026467.1A 2020-04-05 2021-04-02 变换与系数信令的方法和装置 Pending CN115398911A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202063005420P 2020-04-05 2020-04-05
US63/005,420 2020-04-05
PCT/US2021/025622 WO2021207035A1 (en) 2020-04-05 2021-04-02 Methods and apparatus on transform and coefficient signaling

Publications (1)

Publication Number Publication Date
CN115398911A true CN115398911A (zh) 2022-11-25

Family

ID=78022684

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180026467.1A Pending CN115398911A (zh) 2020-04-05 2021-04-02 变换与系数信令的方法和装置

Country Status (2)

Country Link
CN (1) CN115398911A (zh)
WO (1) WO2021207035A1 (zh)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117097895A (zh) * 2018-09-23 2023-11-21 Lg 电子株式会社 编码/解码视频信号的方法及其装置
CN110636313B (zh) * 2019-09-18 2022-07-15 浙江大华技术股份有限公司 变换、二次变换矩阵训练方法、编码器及相关装置

Also Published As

Publication number Publication date
WO2021207035A1 (en) 2021-10-14

Similar Documents

Publication Publication Date Title
JP2022541679A (ja) 残差及び係数のコーディングの方法及び装置
CN114930833A (zh) 使用调色板模式的视频编解码的方法和装置
US20240292033A1 (en) Methods and apparatus on transform and coefficient signaling
CN115802061B (zh) 对视频数据进行编码的方法、电子装置和存储介质
JP2023164981A (ja) パレットモードを使用するビデオコーディングの方法及び装置
CN114762352A (zh) 用于视频编解码的去块滤波
CN115136603A (zh) 用于视频编解码的无损编解码模式
CN115362685A (zh) 用于视频编解码的无损编解码模式
CN115004706A (zh) 关于变换和系数信令的方法和装置
CN117528122B (zh) 对视频进行解码的方法、电子装置、存储介质和程序产品
CN114556932B (zh) 用于视频编解码的无损编解码模式
CN115398911A (zh) 变换与系数信令的方法和装置
CN114342374A (zh) 使用调色板模式的视频编解码的方法和设备
CN115299047A (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