CN114930844A - 用于视频编解码的残差和系数编解码 - Google Patents

用于视频编解码的残差和系数编解码 Download PDF

Info

Publication number
CN114930844A
CN114930844A CN202080091486.8A CN202080091486A CN114930844A CN 114930844 A CN114930844 A CN 114930844A CN 202080091486 A CN202080091486 A CN 202080091486A CN 114930844 A CN114930844 A CN 114930844A
Authority
CN
China
Prior art keywords
control flag
subset
rice parameter
transform blocks
hierarchical level
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
CN202080091486.8A
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 CN114930844A publication Critical patent/CN114930844A/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/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/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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • 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/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/1883Methods 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 relating to sub-band structure, e.g. hierarchical level, directional tree, e.g. low-high [LH], high-low [HL], high-high [HH]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本申请涉及根据变换跳过模式对包括多个变换块的视频数据进行编解码。与视频数据一起获得两个或更多个控制标志以指示在不同层级级别用信号通知变换块的Rice参数。根据确定在第一层级级别启用第一控制标志并且在低于第一层级级别的第二层级级别启用第二控制标志,基于与视频数据一起获得的Rice参数对变换块的子集执行熵编解码。根据确定在第二层级级别启用第一控制标志并且禁用第二控制标志,基于处于第二层级级别的预定Rice参数对变换块的子集执行熵编解码。

Description

用于视频编解码的残差和系数编解码
相关申请
本申请要求享有于2019年12月30日提交的题为“Residual and CoefficientsCoding for Video Coding”的美国临时专利申请第62/955,347号的优先权,该申请通过引用全文并入。
本申请与于2020年9月29日提交的题为“Methods and Apparatus of Residualand Coefficient Coding”的PCT申请第PCT/US2020/053288号相关,该PCT申请要求享有于2019年10月1日提交的题为“Residual and Coefficients Coding for Video Coding”的美国临时专利申请第62/909,079号、于2019年10月5日提交的题为“Residual andCoefficients Coding for Video Coding”的美国临时专利申请第62/911,260号以及于2019年10月7日提交的题为“Residual and Coefficients Coding for Video Coding”的62/911,930的优先权,所有这些申请都通过引用全文并入。
技术领域
本申请总体上涉及视频数据编解码和压缩,具体地,涉及用于视频编解码的残差和系数编解码中的改进的方法和系统。
背景技术
各种电子设备支持数字视频,这些电子设备例如为数字电视、膝上型计算机或台式计算机、平板计算机、数码相机、数字记录设备、数字媒体播放器、视频游戏控制台、智能电话、视频电话会议设备、视频流送设备等。电子设备通过实现视频压缩/解压缩标准来发送、接收、编码、解码和/或存储数字视频数据,这些视频压缩/解压缩标准由MPEG-4、ITU-TH.263、ITU-T H.264/MPEG-4、Part 10、高级视频编解码(AVC)、高效率视频编解码(HEVC)和通用视频编解码(VVC)标准定义。视频压缩通常包括执行空间(帧内)预测和/或时间(帧间)预测以减少或消除视频数据中固有的冗余。对于基于块的视频编解码,视频帧被分区为一个或多个条带(slice),每个条带具有多个视频块,这些视频块也可以称为编码树单元(CTU)。每个CTU可以包含一个编码单元(CU)或递进地分割为更小的CU,直到达到预先定义的最小CU大小。每个CU(也称为叶CU)包含一个或多个变换单元(TU),并且每个CU还包含一个或多个预测单元(PU)。每个CU可以用帧内模式、帧间模式或IBC模式进行编码。视频帧的帧内编码的(I)条带中的视频块相对于同一视频帧内的相邻块中的参考样本使用空间预测进行编码。视频帧的帧间编码的(P或B)条带中的视频块可以使用相对于同一视频帧内的相邻块中的参考样本的空间预测,或使用相对于其他先前的和/或未来的参考视频帧中的参考样本的时间预测。
基于先前已经编码的参考块(例如,相邻块)的空间预测或时间预测产生待编码的当前视频块的预测块。寻找参考块的过程可以通过块匹配算法来完成。表示待编码的当前块与预测块之间的像素差的残差数据被称为残差块或预测误差。帧间编码的块根据指向形成预测块的参考帧中的参考块的运动矢量以及残差块进行编码。确定运动矢量的过程通常称为运动估计。帧内编码的块根据帧内预测模式和残差块进行编码。为了进一步压缩,残差块从像素域变换到变换域(例如,频域),从而产生残差变换系数,然后可以对其进行量化。最初以二维阵列布置的经量化的变换系数可以被扫描以产生变换系数的一维矢量,然后熵编码到视频比特流中以实现更多的压缩。
已编码视频比特流然后被保存在计算机可读存储介质(例如,闪速存储器)中,以由具有数字视频能力的另一电子设备访问,或者直接有线或无线地传输到电子设备。电子设备然后通过例如解析已编码视频比特流以从比特流获得语法元素,并且至少部分地基于从比特流获得的语法元素从已编码视频比特流将数字视频数据重建为其原始格式,来执行视频解压缩(这是与上面描述的视频压缩相反的过程),并且将重建的数字视频数据呈现在电子设备的显示器上。
随着数字视频质量从高清变为4Kx2K或甚至8Kx4K,待编码/解码的视频数据量呈指数增长。如何在保持已解码视频数据的图像质量的同时能够更高效地编码/解码视频数据是持续的挑战。
发明内容
本申请描述了与视频数据编码和解码相关的实现方式,更具体地描述了用于视频编解码的残差和系数编解码中的改进的方法和系统。
在本申请的一个方面,在电子设备处实现用于解码视频数据的方法。该方法包括:从比特流中获得图像帧中的多个像素。多个像素对应于根据变换跳过模式编码的多个变换块。该方法还包括:从比特流接收处于第一层级级别的第一控制标志,并且该第一控制标志指示在第一层级级别用信号通知多个变换块的Rice参数。该方法还包括:根据确定在第一层级级别启用第一控制标志,从比特流接收处于第二层级级别的第二控制标志。第二控制标志指示在第二层级级别用信号通知多个变换块的子集的Rice参数,该第二层级级别低于第一层级级别。该方法还包括:根据确定在第二层级级别启用第一控制标志且启用第二控制标志,从比特流接收Rice参数,并且基于接收到的Rice参数对多个变换块的子集执行熵编解码。该方法还包括:根据确定在第二层级级别启用第一控制标志并禁用第二控制标志,基于处于第二层级级别的预定Rice参数对多个变换块的子集执行熵编解码。
在一些实施例中,该方法还包括:根据确定禁用第一控制标志,基于预定Rice参数对包括子集的多个变换块执行熵编解码。
在一些实施例中,第一控制标志和第二控制标志分别指示是否在第一层级级别和第二层级级别启用用信号通知多个变换块的子集的色度分量的Rice参数。根据确定在第一层级级别启用第一控制标志,基于第二控制标志根据接收到的Rice参数或预定Rice参数,对多个变换块的子集的色度分量执行熵编解码。此外,在一些实施例中,该方法包括从比特流接收处于第一层级级别的第三控制标志,该第三控制标志指示在第一层级级别针对亮度分量用信号通知多个变换块的Rice参数;并且根据确定在第一层级级别启用第三控制标志,从比特流接收处于第二层级级别的第四控制标志,并且根据第四控制标志对多个变换块的子集的亮度分量执行熵编解码。第四控制标志指示在第二层级级别用信号通知多个变换块的子集的亮度分量的Rice参数。
在本申请的另一方面,一种电子设备包括一个或多个处理单元、存储器和存储在存储器中的多个程序。程序在由一个或多个处理单元执行时,使电子装置执行如上所述的解码视频数据的方法。
在又一方面,一种非暂时性计算机可读存储介质存储由具有一个或多个处理单元的电子设备执行的多个程序。程序在由一个或多个处理单元执行时,使电子设备执行如上所述的解码视频数据的方法。
附图说明
附图示出了所描述的实现方式并且与描述一起用于解释基本原理,附图被包括以提供对实现方式的进一步理解并且被并入本文且构成说明书的一部分。相同的附图标记指代对应的部分。
图1是示出根据本公开的一些实现方式的示例性视频编码和解码系统的框图。
图2是示出根据本公开的一些实现方式的示例性视频编码器的框图。
图3是示出根据本公开的一些实现方式的示例性视频解码器的框图。
图4A至4E是示出根据本公开的一些实现方式的如何将帧递进地分区为具有不同大小和形状的多个视频块的框图。
图5A至图5B是示出根据本公开的一些实现方式的使用上下文编解码和旁路编解码的变换高效编解码的示例的框图。
图6是示出根据本公开的一些实现方式的相关标量量化的示例性过程的框图。
图7是示出根据本公开的一些实现方式的用于在两个不同的标量量化器之间切换的示例性状态机的框图。
图8是示出根据本公开的一些实现方式的视频解码器对编码块执行残差和系数编解码的示例性过程的流程图。
图9是示出根据本公开的一些实现方式的示例上下文自适应二进制算术编码(CABAC)引擎的框图。
图10是根据一些实施例的涉及Rice参数的视频处理过程1000的流程图。
图11是根据一些实施例的Rice参数确定系统的框图,该Rice参数确定系统被配置为确定变换块的亮度分量和色度分量两者的Rice参数。
图12A示出了根据一些实施例在一层级级别处属于同一编码单元122的多个变换块。
图12B示出了根据一些实施例的属于同一层级级别的两个不同编码单元的多个变换块。
图13是根据一些实施例的在电子设备处实现的视频数据解码方法的流程图。
具体实施方式
现在将详细参考具体实现方式,其示例在附图中示出。在下面的详细描述中,阐述了许多非限制性的具体细节以帮助理解本文呈现的主题。但是对于本领域普通技术人员而言显而易见的是,可以在不背离权利要求的范围的情况下使用各种替代方案,并且可以在没有这些具体细节的情况下实践主题。例如,对于本领域普通技术人员而言显而易见的是,本文呈现的主题可以在具有数字视频能力的多种类型的电子设备上实现。
图1是示出根据本公开的一些实现方式的用于并行地编码和解码视频块的示例性系统10的框图。如图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的任何类型的计算机。示例性文件服务器包括web服务器(例如,用于网站)、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、Part 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,以用于视频块重建。去块滤波器(未示出)可以位于加法器62与DPB 64之间,以过滤块边界来从重建的视频中消除块状伪影。除了去块滤波器之外,还可以使用环路滤波器(未示出)来对加法器62的输出进行过滤。视频编码器20可以采用固定硬件单元或可编程硬件单元的形式,或者可以在图示的固定硬件单元或可编程硬件单元中的一个或多个之间拆分。
视频数据存储器40可以存储待由视频编码器20的组件编码的视频数据。视频数据存储器40中的视频数据可以例如从视频源18获得。DPB 64是存储用于由视频编码器20(例如,在帧内预测编码模式或帧间预测编码模式下)编码视频数据的参考视频数据的缓冲器。视频数据存储器40和DPB 64可以由多种存储器设备中的任何一种形成。在各种示例中,视频数据存储器40可以与视频编码器20的其他组件一起在片上,或者相对于那些组件在片外。
如图2所示,在接收到视频数据之后,预测处理单元41内的分区单元45将视频数据分区为视频块。该分区还可以包括根据与视频数据相关联的诸如四叉树结构之类的预先定义的分割结构将视频帧分区为条带、瓦片(tile)或其他更大的编码单元(CU)。视频帧可以被拆分为多个视频块(或称为瓦片的视频块集合)。预测处理单元41可以基于误差结果(例如,编码速率和失真水平)针对当前视频块选择多个可能的预测编码模式之一,例如,多个帧内预测编码模式之一或者多个帧间预测编码模式之一。预测处理单元41可以将产生的帧内或帧间预测编码的块提供给加法器50以生成残差块,并且提供给加法器62以重建已编码块以随后用作参考帧的一部分。预测处理单元41还向熵编码单元56提供语法元素,例如,运动矢量、帧内模式指示符、分区信息和其他此类语法信息。
为了针对当前视频块选择合适的帧内预测编码模式,预测处理单元41内的帧内预测处理单元46可以相对于与待编码的当前块在同一帧中的一个或多个相邻块执行对当前视频块的帧内预测编码,以提供空间预测。预测处理单元41内的运动估计单元42和运动补偿单元44相对于一个或多个参考帧中的一个或多个预测块执行对当前视频块的帧间预测编码以提供时间预测。视频编码器20可以执行多个编码通道(multiple coding passes),以便例如针对视频数据的每个块选择合适的编码模式。
在一些实现方式中,根据视频帧序列内的预定模式,运动估计单元42通过生成运动矢量来确定用于当前视频帧的帧间预测模式,该运动矢量指示当前视频帧内的视频块的预测单元(PU)相对于参考视频帧内的预测块的位移。由运动估计单元42执行的运动估计是生成运动矢量的过程,该过程估计视频块的运动。例如,运动矢量可以指示当前视频帧或图片内的视频块的PU相对于与在当前帧(或其他已编码单元)内正被编码的当前块有关的参考帧(或其他已编码单元)内的预测块的位移。预定模式可以将序列中的视频帧指定为P帧或B帧。帧内BC单元48可以以类似于由运动估计单元42针对帧间预测确定运动矢量的方式确定用于帧内BC编码的矢量(例如,块矢量),或者可以利用运动估计单元42来确定块矢量。
预测块是参考帧中被认为在像素差方面与待编码的视频块的PU紧密匹配的块,像素差可以通过绝对差之和(SAD)、平方差之和(SSD)或其他差度量进行确定。在一些实现方式中,视频编码器20可以计算存储在DPB 64中的参考帧的子整数像素位置的值。例如,视频编码器20可以对参考帧的四分之一像素位置、八分之一像素位置或其他分数像素位置的值进行插值。因此,运动估计单元42可以相对于全像素位置和分数像素位置执行运动搜索,并且输出具有分数像素精度的运动矢量。
运动估计单元42通过将PU的位置与从第一参考帧列表(列表0)或第二参考帧列表(列表1)中选择的参考帧的预测块的位置进行比较,来计算帧间预测编码的帧中的视频块的PU的运动矢量,列表0和列表1中的每一个标识存储在DPB 64中的一个或多个参考帧。运动估计单元42将计算出的运动矢量发送到运动补偿单元44,然后发送到熵编码单元56。
由运动补偿单元44执行的运动补偿可以涉及基于由运动估计单元42确定的运动矢量来取得或生成预测块。在接收到当前视频块的PU的运动矢量时,运动补偿单元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都可以通过从正被编码的当前视频块的像素值减去预测块的像素值(这形成像素差值)来形成残差视频块。形成残差视频块的像素差值可以包括亮度分量差和色度分量差两者。
如上面描述的,帧内预测处理单元46可以对当前视频块进行帧内预测,作为由运动估计单元42和运动补偿单元44执行的帧间预测或由帧内BC单元48执行的帧内块复制预测的替代。特别地,帧内预测处理单元46可以确定要用于对当前块编码的帧内预测模式。为此,帧内预测处理单元46可以例如在单独的编码通道期间使用各种帧内预测模式对当前块进行编码,并且帧内预测处理单元46(或在一些实例中为模式选择单元)可以从经测试的帧内预测模式中选择适当的帧内预测模式来使用。帧内预测处理单元46可以向熵编码单元56提供指示用于块的所选择的帧内预测模式的信息。熵编码单元56可以将指示所选择的帧内预测模式的信息编码到比特流中。
在预测处理单元41经由帧间预测或帧内预测确定当前视频块的预测块之后,加法器50通过从当前视频块中减去预测块来形成残差视频块。残差块中的残差视频数据可以包含于一个或多个变换单元(TU)中,并且被提供给变换处理单元52。变换处理单元52使用诸如离散余弦变换(DCT)或概念上类似的变换之类的变换将残差视频数据变换为残差变换系数。
变换处理单元52可以将产生的变换系数发送到量化单元54。量化单元54将变换系数量化以进一步降低比特率。量化过程还可以减少与一些系数或所有系数相关联的比特深度。可以通过调整量化参数来修改量化程度。在一些示例中,量化单元54然后可以执行对包括量化的变换系数的矩阵的扫描。替代地,熵编码单元56可以执行扫描。
在量化之后,熵编码单元56使用例如上下文自适应可变长度编解码(CAVLC)、上下文自适应二进制算术编解码(CABAC)、基于语法的上下文自适应二进制算术编解码(SBAC)、概率间隔分区熵(PIPE)编解码或另一熵编码方法或技术将量化的变换系数熵编码到视频比特流中。已编码比特流然后可以被发送到视频解码器30,或存档在存储设备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,并且可以由预测处理单元81的其他组件(例如,运动补偿单元82)执行帧内BC单元85的功能。
视频数据存储器79可以存储视频数据(例如,已编码视频比特流)以由视频解码器30的其他组件解码。存储在视频数据存储器79中的视频数据可以例如从存储设备32,从本地视频源(例如,相机),经由视频数据的有线或无线网络通信,或通过访问物理数据存储介质(例如,闪存驱动器或硬盘)获得。视频数据存储器79可以包括已编码图片缓冲器(CPB),该已编码图片缓冲器(CPB)存储来自已编码视频比特流的已编码视频数据。视频解码器30的已解码图片缓冲器(DPB)92存储参考视频数据以供视频解码器30(例如,在帧内预测编码模式或帧间预测编码模式下)解码视频数据时使用。视频数据存储器79和DPB 92可以由多种存储器设备中的任何一种形成,这些存储器设备例如为动态随机存取存储器(DRAM)(包括同步DRAM(SDRAM))、磁阻RAM(MRAM)、电阻RAM(RRAM)、或其他类型的存储器设备。为了说明的目的,视频数据存储器79和DPB 92在图3中被描绘为视频解码器30的两个不同组件。但是对于本领域技术人员而言显而易见的是,视频数据存储器79和DPB 92可以由相同的存储器设备或单独的存储器设备提供。在一些示例中,视频数据存储器79可以与视频解码器30的其他组一起在片上,或者相对于那些组件在片外。
在解码过程期间,视频解码器30接收表示已编码视频帧的视频块和相关联的语法元素的已编码视频比特流。视频解码器30可以在视频帧级别和/或视频块级别接收语法元素。视频解码器30的熵解码单元80对比特流进行熵解码以生成量化系数、运动矢量或帧内预测模式指示符以及其他语法元素。熵解码单元80然后将运动矢量和其他语法元素转发到预测处理单元81。
当视频帧作为帧内预测编码的(I)帧被编码时,或对于其他类型的帧中的帧内编码的预测块,基于用信号通知的帧内预测模式和来自当前帧的先前解码的块的参考数据,预测处理单元81的帧内预测处理单元84可以生成当前视频帧的视频块的预测数据。
当视频帧作为帧间预测编码的(即,B或P)帧被编码时,基于运动矢量和从熵解码单元80接收的其他语法元素,预测处理单元81的运动补偿单元82产生当前视频帧的视频块的一个或多个预测块。可以根据参考帧列表之一内的参考帧产生预测块中的每个预测块。视频解码器30可以基于存储在DPB 92中的参考帧使用默认构建技术来构建参考帧列表——列表0和列表1。
在一些示例中,当根据本文描述的帧内BC模式对视频块进行编码时,基于块矢量和从熵解码单元80接收的其他语法元素,预测处理单元81的帧内BC单元85产生当前视频块的预测块。预测块可以在与由视频编码器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生成的对应预测块求和来重建当前视频块的已解码视频块。环路滤波器(未图示)可以位于加法器90与DPB 92之间以进一步处理已解码视频块。在给定帧中的已解码视频块然后存储于DPB 92中,该DPB92存储用于接下来的视频块的后续运动补偿的参考帧。DPB 92或与DPB 92分离的存储器设备也可以存储已解码视频以供稍后在显示设备(例如,图1的显示设备34)上呈现。
在典型的视频编解码过程中,视频序列通常包括帧或图片的有序集合。每个帧可以包括三个样本阵列,表示为SL、SCb和SCr。SL是亮度样本的二维阵列。SCb是Cb色度样本的二维阵列。SCr是Cr色度样本的二维阵列。在其他情况下,帧可以是单色的,因此仅包括亮度样本的一个二维阵列。
如图4A所示,视频编码器20(或更具体地为分区单元45)通过首先将帧分区为编码树单元(CTU)的集合来生成帧的已编码表示。视频帧可以包括从左到右且从上到下以栅格扫描次序连续排序的整数数量的CTU。每个CTU是最大的逻辑编码单元,并且CTU的宽度和高度由视频编码器20在序列参数集中用信号通知,使得视频序列中的所有CTU具有相同的大小,即,128×128、64×64、32×32和16×16之一。但应该注意,本申请并不一定限于特定的尺寸。如图4B所示,每个CTU可以包括亮度样本的一个编码树块(CTB)、色度样本的两个对应编码树块以及用于对编码树块的样本进行编码的语法元素。语法元素描述了已编码的像素块的不同类型单元的属性以及如何可以在视频解码器30处重建视频序列,包括帧间预测或帧内预测、帧内预测模式、运动矢量和其他参数。在单色图片或具有三个单独色彩平面的图片中,CTU可以包括单个编码树块和用于对编码树块的样本进行编码的语法元素。编码树块可以是NxN的样本块。
为了实现更好的性能,视频编码器20可以对CTU的编码树块递进地执行树分区,例如,二叉树分区、三叉树分区、四叉树分区或两者的组合,并且将CTU拆分成更小的编码单元(CU)。如图4C中描绘的,首先将64x64的CTU 400拆分成四个更小的CU,每个CU具有32x32的块大小。在四个更小的CU之中,CU 410和CU 420各自按块大小拆分为四个16x16的CU。两个16x16 CU 430和440各自按块大小进一步拆分为四个8x8的CU。图4D描绘了四叉树数据结构,该四叉树数据结构示出了如图4C中描绘的CTU 400的分区过程的最终结果,四叉树的每个叶节点对应于一个CU,该CU的相应大小的范围为从32x32到8x8。如图4B中描绘的CTU一样,每个CU可以包括帧的具有相同大小的亮度样本的编码块(CB)和色度样本的两个对应编码块,以及用于对编码块的样本进行编码的语法元素。在单色图片或具有三个单独色彩平面的图片中,CU可以包括单个编码块和用于对编码块的样本进行编码的语法结构。应当注意,图4C和图4D中描绘的四叉树分区仅用于说明目的,并且可以将一个CTU分割为CU以适应基于四叉树/三叉树/二叉树分区的不同局部特性。在多类型树结构中,一个CTU由四叉树结构分区,并且每个四叉树叶CU可以进一步由二叉树结构和三叉树结构分区。如图4E所示,存在五种分区类型,即四元分区、水平二元分区、垂直二元分区、水平三元分区和垂直三元分区。
在一些实现方式中,视频编码器20可以进一步将CU的编码块分区为一个或多个MxN预测块(PB)。预测块是矩形(正方形或非正方形)样本块,在其上应用相同的(帧间或帧内)预测。CU的预测单元(PU)可以包括亮度样本的预测块、色度样本的两个对应预测块以及用于对预测块进行预测的语法元素。在单色图片或具有三个单独色彩平面的图片中,PU可以包括单个预测块和用于预测该预测块的语法结构。视频编码器20可以针对CU的每个PU的亮度预测块、Cb预测块和Cr预测块生成预测亮度块、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的原始亮度编码块中的对应样本之间的差。类似地,视频编码器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可以重建该帧。
如上面指出的,视频编解码主要使用以下两种模式实现视频压缩:即,帧内(intra-frame)预测(或帧内(intra)预测)和帧间(inter-frame)预测(或帧间(inter)预测)。基于调色板的编解码是另一种已经被许多视频编解码标准采用的编解码方案。在可能特别适用于屏幕生成内容编解码的基于调色板的编解码中,视频编解码器(例如,视频编码器20或视频解码器30)形成表示给定块的视频数据的颜色的调色板表。调色板表包括给定块中最主导的(例如,频繁使用的)像素值。在给定块的视频数据中不那么频繁表示的像素值要么不包含于调色板表中,要么包含于调色板表中作为逃逸颜色(escape color)。
调色板表中的每个条目包括调色板表中的对应像素值的索引。块中样本的调色板索引可以被编解码以指示调色板表中的哪个条目将用于预测或重建哪个样本。该调色板模式开始于生成用于图片、条带、瓦片或其他这样的视频块分组的第一块的调色板预测值的过程。如下文将解释的,用于后续视频块的调色板预测值通常是通过更新先前使用的调色板预测值来生成的。为了说明的目的,假设调色板预测值是在图片级别定义的。换言之,图片可以包括多个编码块,每个编码块具有它自己的调色板表,但整个图片只有一个调色板预测值。
为了减少在视频比特流中用信号通知调色板条目所需的比特,视频解码器可以利用调色板预测值来确定调色板表中用于重建视频块的新调色板条目。例如,调色板预测值可以包括来自先前使用的调色板表的调色板条目,或者甚至通过包括最近使用的调色板表的所有条目而利用最近使用的调色板表初始化。在一些实现方式中,调色板预测值可以包括少于最近使用的调色板表的所有条目,然后并入来自其他先前使用的调色板表的一些条目。调色板预测值可以具有与用于对不同块进行编解码的调色板表相同的大小,或者可以大于或小于用于对不同块进行编解码的调色板表。在一个示例中,调色板预测值被实现为包括64个调色板条目的先进先出(FIFO)表。
为了根据调色板预测值生成视频数据的块的调色板表,视频解码器可以从已编码视频比特流接收用于调色板预测值的每个条目的一比特的标志。该一比特的标志可以具有第一值(例如,二进制一)或第二值(例如,二进制零),该第一值指示调色板预测值的关联条目将被包含于调色板表中,该第二值指示调色板预测值的关联条目将不被包含于调色板表中。如果调色板预测值的大小大于用于视频数据的块的调色板表,则一旦达到调色板表的最大大小,视频解码器就可以停止接收更多标志。
在一些实现方式中,调色板表中的一些条目可以直接在已编码视频比特流中用信号通知,而不是使用调色板预测值来确定。对于这种条目,视频解码器可以从已编码视频比特流接收三个单独的m比特的值,该三个单独的m比特的值指示与条目相关联的亮度分量和两个色度分量的像素值,其中m表示视频数据的比特深度。与直接用信号通知的调色板条目所需的多个m比特的值相比,从调色板预测值导出的那些调色板条目只要求一比特的标志。因此,使用调色板预测值用信号通知一些或所有调色板条目可以显著减少用信号通知新调色板表的条目所需的比特数,从而改进调色板模式编解码的整体编解码效率。
在许多情况下,一个块的调色板预测值是基于用于对一个或多个先前编码的块进行编解码的调色板表来确定的。但是在对图片、条带或瓦片中的第一编码树单元进行编解码时,先前编码的块的调色板表可能不可用。因此,不能使用先前使用的调色板表的条目来生成调色板预测值。在这种情况下,可以在序列参数集(SPS)和/或图片参数集(PPS)中用信号通知调色板预测值初始化值的序列,当先前使用的调色板表不可用时,该调色板预测值初始化值的序列是用于生成调色板预测值的值。SPS通常指代应用于由在PPS(其由在每个条带分段头中找到的语法元素引用)中找到的语法元素的内容确定的一系列连续已编码视频图片(称为已编码视频序列(CVS))的语法元素的语法结构。PPS通常指代应用于由在每个条带分段头中找到的语法元素确定的CVS内的一个或多个单独图片的语法元素的语法结构。因此,SPS通常被认为是相比PPS更高级别的语法结构,这意味着与PPS中包括的语法元素相比,SPS中包括的语法元素通常较不频繁地改变并且应用于较大部分视频数据。
图5A至图5B是示出根据本公开的一些实现方式的使用上下文编解码和旁路编解码的变换高效编解码的示例的框图。
VVC中的变换系数编解码与HEVC中的类似,因为它们都使用非重叠系数组(也称为CG或子块)。然而,两种方案之间也存在一些差异。在HEVC中,系数的每个CG具有4x4的固定大小。在VVC草案6中,CG大小变为取决于TB大小。因此,各种CG大小(1x16、2x8、8x2、2x4、4x2和16x1)在VVC中可用。编码块内的CG和CG内的变换系数根据预先定义的扫描次序进行编解码。
为了限制每个像素的上下文编码的二进制比特(context-coded bins,CCB)的最大数量,TB的面积和视频分量的类型(即,亮度分量与色度分量)用于导出TB的上下文编码的二进制比特(CCB)的最大数量。在一些实施例中,上下文编码的二进制比特的最大数量等于TB_zosize*1.75。这里,TB_zosize表示系数归零后TB内的样本数量。注意,对于CCB计数,不考虑coded_sub_block_flag(其为指示CG是否包含非零系数的标志)。
系数归零是对变换块执行以强制将位于变换块的特定区域中的系数设置为零的操作。例如,在当前的VVC中,64x64 TB具有关联的归零操作。因此,位于64x64 TB的左上32x32区域外部的变换系数都被强制为零。实际上,在当前的VVC中,对于沿某个维度具有超过32的大小的任何变换块,沿该维度执行系数归零操作以强制使位于超过左上32x32区域的系数为零。
在VVC中的变换系数编解码中,变量remBinsPassl首先被设置为允许的上下文编码的二进制比特的最大数量(MCCB)。在编解码过程期间,每次用信号通知上下文编码的二进制比特时,变量都会减一。当remBinsPass1大于或等于四时,用包括sig_coeff_flag、abs_level_gt1_flag、par_level_flag和abs_level_gt3_flag的语法元素用信号通知系数,所有这些语法元素都在第一通道中使用上下文编码的二进制比特。在第二通道中使用Golomb-Rice码和旁路编码的二进制比特(bypass-coded bins)用语法元素abs_remainder对系数的级别信息的其余部分进行编解码。当在对第一通道编解码时remBinsPass1变得小于四时,当前系数在第一通道中不被编解码,而是直接在第二通道中使用Golomb-Rice码和旁路编码的二进制比特用语法元素dec-abs-level编解码。在所有上述级别编解码之后,sig_coeff_flag等于1的所有扫描位置的符号(sign_flag)最终被编解码为旁路二进制比特。这样的过程在图5A中描绘。针对每个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)当所有先前标志等于0时,针对除了DC子块之外的每个子块编解码coded_sub_block_flag;
(3)利用两个相邻系数进行sig_coeff_flag上下文建模;
(4)par_level_flag仅使用一个上下文模型;
(5)附加的大于5、7、9个标志;
(6)余数二值化的修改的rice参数导出;
(7)基于左侧和上方的相邻系数值确定符号标志的上下文建模,并且在sig_coeff_flag之后解析符号标志以将所有上下文编码的二进制比特保持在一起;
如图5B所示,语法元素sig_coeff_flag、coeff_sign_flag、abs_level_gt1_flag、par_level_flag这样编解码:在第一通道中以从一个残差样本到另一残差样本的交织方式,随后在第二通道中的abs_level_gtX_flag比特平面,以及在第三通道中的abs_remainder编解码。
通道1:sig_coeff_flag,coeff_sign_flag,abs_level_gt1_flag,par_level_flag
通道2:abs_level_gt3_flag,abs_level_gt5_flag,abs_level_gt7_flag,abs_level_gt9_flag
通道3:abs_remainder
图6是示出根据本公开的一些实现方式的相关标量量化的示例性过程的框图。
在当前的VVC中,最大QP值从51扩展到63,并且用信号通知初始QP也相应改变。当slice_qp_delta的非零值被编解码时,可以在条带分段层修改SliceQpY的初始值。对于变换跳过块,最小允许QP被定义为4,因为当QP等于1时量化步长变为1。
此外,在HEVC中使用的标量量化采用了称为“相关标量量化”的新概念。相关标量量化指代这样一种方法:其中变换系数的可允许重建值集合取决于按照重建次序在当前变换系数级别之前的变换系数级别的值。当与HEVC中使用的传统独立标量量化相比时,可允许重建向量在N维向量空间中被打包地更密集(N表示变换块中的变换系数的数量)。也即,对于每N维单位体积的可允许重建向量的给定平均数量,在输入向量和最接近的重建向量之间的平均失真被减小。相关标量量化的方法是通过以下方式实现的:(a)定义具有不同重建级别的两个标量量化器,以及(b)定义用于在两个标量量化器之间切换的过程。
使用的两个标量量化器(由Q0和Q1表示)在图6中示出。可用重建级别的位置由量化步长Δ唯一指定。使用的标量量化器(Q0或Q1)不在比特流中显式地用信号通知。相反,用于当前变换系数的量化器由按照编解码或重建次序在当前变换系数之前的变换系数级别的奇偶性确定。
图7是示出根据本公开的一些实现方式的用于在两个不同标量量化器之间切换的示例性状态机的框图。
如图7所示,在两个标量量化器(Q0和Q1)之间的切换是经由具有四个量化器状态(QState)的状态机来实现的。QState可以取四个不同的值:0、1、2、3。它由按照编解码/重建次序在当前变换系数之前的变换系数级别的奇偶性唯一地确定。在变换块的逆量化开始时,状态被设置为等于0。变换系数按扫描次序重建(即,按与它们熵解码的次序相同的次序)。在当前变换系数被重建之后,状态被更新,如图7所示,其中k表示变换系数级别的值。
还支持用信号通知默认的缩放矩阵和用户定义的缩放矩阵。DEFAULT模式缩放矩阵都是平坦的,其中对于所有TB尺寸,元素都等于16。IBC和帧内编解码模式当前共享相同的缩放矩阵。因此,对于USER_DEFINED矩阵的情况,MatrixType和MatrixType_DC的数量如下更新:
MatrixType:30=2(2针对帧内&IBC/帧间)×3(Y/Cb/Cr分量)×5(正方形TB尺寸:亮度从4×4到64×64,色度从2×2到32×32)
MatrixType_DC:14=2(2针对帧内&IBC/帧间×1针对Y分量)×3(TB尺寸:16×16、32×32、64×64)+4(2针对帧内&IBC/帧间×2针对Cb/Cr分量)×2(TB尺寸:16×16、32×32)
DC值被单独编解码用于以下缩放矩阵:16×16、32×32和64×64。对于尺寸小于8×8的TB,一个缩放矩阵中的所有元素都会用信号通知。如果TB的尺寸大于或等于8×8,则一个8×8缩放矩阵中只有64个元素作为基本缩放矩阵用信号通知。为了获得尺寸大于8×8的方阵,8×8基本缩放矩阵被上采样(通过复制元素)到对应的方形尺寸(即,16×16、32×32、64×64)。当应用64点变换的高频系数的归零时,缩放矩阵的对应高频也被归零。也即,如果TB的宽度或高度大于或等于32,则只保留系数的左半部分或上半部分,而其余的系数赋值为零。此外,针对64×64缩放矩阵用信号通知的元素数量也从8×8减少到三个4×4子矩阵,因为从不使用右下角的4×4元素。
与变换系数级别的绝对值相关的语法元素的概率模型的选择取决于局部邻域中的绝对级别或部分重建的绝对级别的值。
所选择的概率模型取决于局部邻域中的绝对级别(或部分重建的绝对级别)和局部邻域中大于0的绝对级别的数量(由等于1的sig_coeff_flags的数量给出)的总和。上下文建模和二值化取决于针对局部邻域的以下措施:
·numSig:局部邻域中非零级别的数量;
·sumAbs1:局部邻域中在第一通道之后部分重建的绝对级别的总和(absLevel1);
·sumAbs:在局部邻域中重建的绝对级别的总和
·对角线位置(d):变换块内当前扫描位置的水平和垂直坐标的总和
基于numSig、sumAbs1和d的值,选择用于对sig_coeff_flag、abs_level_gt1_flag、par_level_flag和abs_level_gt3_flag编解码的概率模型。基于sumAbs和numSig的值,选择用于对abs_remainder和dec_abs_level二值化的Rice参数。
在当前的VVC中,减少的32点MTS(也称为RMTS32)基于跳过高频系数并用于降低32点DST-7/DCT-8的计算复杂度。并且,它伴随着系数编解码变化,包括所有类型的归零(即,RMTS32和DCT2中针对高频分量的现有归零)。具体地,最后一个非零系数位置编解码的二值化是基于减小的TU尺寸进行编解码的,并且最后一个非零系数位置编解码的上下文模型选择由原始TU尺寸确定。此外,使用60个上下文模型对变换系数的sig_coeff_flag进行编解码。上下文模型索引的选择基于最多五个先前部分重建的绝对级别的总和(称为locSumAbsPass1)和相关量化状态QState,如下:
如果cIdx等于0,ctxInc导出如下:
ctxInc=12*Max(0,QState-1)+Min((locSumAbsPass1+1)>>1,3)+(d<2?8:(d<5?4:0))
否则(cIdx大于0),ctxInc导出如下:
ctxInc=36+8*Max(0,QState–1)+Min((locSumAbsPass1+1)>>1,3)+(d<2?4:0)
图8是示出根据本公开的一些实现方式的视频解码器对编码块执行残差和系数编解码的示例性过程的流程图800。
在VVC中,当对系数编解码(例如,对于变换跳过模式编码块)或残差(例如,对于变换模式编码块)时,统一rice参数(RicePara)导出用于用信号通知语法abs_remainder和dec_abs_level。唯一的区别在于基本级别baseLevel分别被设置为4和0以用于对abs_remainder和dec_abs_level编解码。不仅基于局部模板中相邻的5个变换系数的绝对级别的总和,而且还基于对应的基本级别,来确定Rice参数,如下:
RicePara=RiceParTable[max(min(31,sumAbs–5*baseLevel),0)]
换言之,用于语法元素abs_remainder和dec_abs_level的二进制码字是根据相邻系数的级别信息适应性地确定的。由于该码字确定是针对每个样本执行的,因此要求附加的逻辑来处理该码字适应以用于系数或残差编解码。
类似地,当在变换跳过模式下对残差块编解码时,根据相邻残差样本的级别信息适应性地确定用于语法元素abs_remainder的二进制码字。
此外,在对与残差编解码或变换系数编解码相关的语法元素进行编解码时,概率模型的选择取决于相邻级别的级别信息,这要求附加的逻辑和附加的上下文模型。
在本公开中,呈现了多个残差和系数解码过程以解决上述问题并提高编解码效率。
在一些实施例中,视频编解码器使用二进制码字的可变集合对残差或变换系数编解码中的某些语法元素(例如,abs_remainder)进行编解码。视频编解码器根据当前块的某些其他编码信息选择二进制码字的特定集合,例如,变换块/编码块、条带、序列、CTU、CU等的量化参数(QP),CU的预测模式(例如,IBC模式或帧内或帧间)、或条带类型(例如,I条带、P条带或B条带)。视频编解码器可以使用下面列出的示例性方法之一来导出二进制码字的变量集合:
1.使用与当前VVC中使用的相同的用于确定abs_remainder的码字的过程,但具有不同的rice参数。
2.k阶Exp-Golomb二值化过程(EGk)
3.有限的k阶Exp-Golomb二值化
在上述这些示例性方法中,视频编解码器可以使用Rice参数的不同值来导出用于残差或变换系数编解码的二进制码字的不同集合。在一些实施例中,对于给定的残差样本块,Rice参数值是根据表示为QPCU的CU QP而不是相邻级别信息来确定的。一个具体示例如下表1所示,其中TH1至TH4是满足(TH1<TH2<TH3<Th4)的预先定义的阈值,其中K0至K4是预先定义的Rice参数值。值得注意的是,相同的逻辑在实践中可以被不同地实现。例如,某些等式或查找表也可以用于从当前CU的QP值导出相同的rice参数,如表1所示。换言之,这里的QP值用于定义量化级别和确定Rice参数的双重目的。
表1基于QP值的Rice参数确定
Figure BDA0003722911230000141
注意,Rice参数和对应阈值的集合可以是与语法元素的码字确定相关联的所有Rice参数和对应阈值的完整集合或子集。可以在视频比特流中在不同级别用信号通知Rice参数和对应阈值的集合。例如,它们可以在序列级别(例如,序列参数集)、图片级别(例如,图片参数集)、条带级别(例如,条带头部)、编码树单元(CTU)级别或编码单元(CU)级别用信号通知。
在一个示例中,用于确定用于在变换跳过残差编解码中对abs_remainder语法元素进行编解码的码字的Rice参数本身在条带头部、PPS头部和/或SPS头部中用信号通知。当CU被编码为变换跳过模式并且CU与上述条带头部/PPS/SPS相关联时,用信号通知的Rice参数用于确定用于对语法abs_remainder编解码的码字。在一些实施例中,Rice参数值越大,则码字长度分布越均匀。
在一些实施例中,视频编解码器使用与变换系数编解码和/或变换跳过残差编解码的语法元素的码字确定相关联的参数和对应阈值的集合。并且视频编解码器可以根据当前块是否包含亮度残差/系数或色度残差/系数来使用不同的集合。当通过熵编解码器(例如,算术编解码)对语法元素进行编解码时,所确定的码字被用作二值化码字。
例如,与在当前VVC中使用的变换残差编解码相关联的abs_remainder的码字用于亮度块和色度块两者。为了改进编解码过程,视频编解码器可以分别对亮度块和色度块使用不同的固定Rice参数(例如,K1用于亮度块,K2用于色度块,其中K1和K2是整数)。
在一些实施例中,将与变换系数编解码和/或变换跳过残差编解码的语法元素的码字确定相关联的参数值(例如,K1-K4)和/或阈值(例如,TH1-TH4)的集合用信号通知到比特流中,并且可以针对亮度块和色度块用信号通知参数值(例如,K1-K4)和/或阈值(例如,TH1-TH4)的不同集合。当通过熵编解码器(例如,算术编解码)对语法元素进行编解码时,所确定的码字被用作二值化码字。
为了实现上述用于残差/系数解码的改进过程,视频解码器30首先从比特流接收对应于编码单元的一个或多个语法元素和视频数据(810)。接下来,视频编解码器30根据一个或多个语法元素确定Rice参数值(820)。
在一些实施例中,视频解码器30基于编码块中包括的信息(例如,一个或多个语法元素)来确定Rice参数值。例如,一个或多个语法元素包括量化参数(QP),并且视频编解码器将QP(例如,QPcu)与阈值集合(例如,TH1-TH4)进行比较,并且每个阈值具有候选Rice参数值(例如,K0-K4)。视频编解码器确定覆盖量化参数的一对阈值(例如,在TH1和TH2之间的QPcu),然后将Rice参数值确定为对应于上述阈值对的两个候选Rice参数之一。在一些实施例中,正无穷和负无穷也被认为是隐含阈值。
在一些实施例中,阈值集合和相关联的候选Rice参数值是存储在视频解码器30的存储器中的常数(例如,预定)值。换言之,不是从比特流接收这些值,而是视频解码器30基于编码/解码规范来确定这些值。然后,视频解码器30基于表1中描述的逻辑来确定Rice参数值。
在一些实施例中,阈值集合和相关联的候选Rice参数值是在比特流的一个或多个语法元素中携带的变量。然后,视频解码器30根据比特流中的信息确定这些值。例如,视频解码器30从比特流接收K1-K4的值和TH1-TH4的值。然后视频解码器30基于表1中描述的逻辑来确定Rice参数值。
在一些实施例中,一个或多个语法元素包括Rice参数值本身。因此,视频解码器30直接从比特流接收Rice参数的值。Rice参数值可以是1、2、3,或由视频编码器20例如基于率失真分析而选择的其他常数值。因此,视频解码器30放弃表1中描述的过程,因为Rice参数的值直接在比特流中用信号通知。
视频解码器30然后从视频数据中解码针对编码单元内的像素的第一码字和第二码字(830)。例如,视频解码器30根据使用之前确定的Rice参数值生成的预先定义的映射关系,将第一码字转换为像素的参数(例如,abs_remainder)(840)。视频解码器30将第二码字转换为参数的符号值(850)。视频解码器30基于参数和符号值来确定像素的量化像素值(860)。
在一些实施例中,视频解码器30使用不同的语法元素(例如,Rice参数)来解码编码单元的亮度分量和色度分量。例如,一个或多个语法元素还包括与编码单元的第一分量(例如,亮度)相关联的语法元素的第一子集和与编码单元的第二分量(例如,色度)相关联的语法元素的第二子集。因此,视频编解码器针对亮度分量和色度分量使用不同的Rice参数值和不同的阈值(例如,用于亮度分量的K1-K4和TH1-TH4的集合,用于第一色度分量的K1-K4和TH1-TH4的不同集合,以及用于第二色度分量的K1-K4和TH1-TH4的不同集合)。这些不同的Rice参数值和阈值可以基于上述处理来确定(例如,它们可以被预确或在比特流中直接或经由QP值间接地用信号通知)。
在一些实施例中,与编码单元的第一分量(例如,亮度)相关联的语法元素的第一子集和与编码单元的第二分量(例如,色度)相关联的语法元素的第二子集之间存在至少一个差异。
在一些实施例中,在从由序列、图片、条带、瓦片、CTU、CU、变换单元(TU)和变换块(TB)组成的组中选择的一个级别处用信号通知一个或多个语法元素。例如,一旦视频解码器30确定处于特定级别的Rice参数值和/或阈值,则处于或低于该级别的所有编码单元共享相同的确定的Rice参数值和/或阈值以用于解码。
在一些实施例中,第一码字与编码单元中的像素的变换系数的编解码相关联(例如,当编码单元是使用变换模式编码的时)。
在一些实施例中,当编码单元是变换跳过模式编码单元时,视频解码器30从视频数据中解码在变换跳过模式编码单元内的像素的第一组码字。接下来,视频编解码器根据第一组码字导出初始级别值;并且根据参数、符号值和初始级别值导出像素的量化残差。
在一些替代实施例中,第一码字与编码单元中的像素的残差的编解码相关联(例如,当编码单元是使用变换跳过模式编码的时)。
在一些实施例中,预先定义的映射关系是查找表的形式(例如,如表1中所示)。
在一些实施例中,视频解码器30通过执行以下步骤来生成预先定义的映射关系:使用确定的Rice参数计算二值化参数;使用二值化参数针对候选剩余值集合中的一个值确定码字的前缀值和对应码字的可选后缀值;以及针对候选剩余值集合中的不同值重复码字的所述确定步骤,直到确定候选剩余值集合中的最后一个值为止。
在一些实施例中,码字的前缀值是使用截断的Rice二值化过程来确定的。
在一些实施例中,当前缀值等于长度为6且所有比特都等于1的比特串时,确定码字的后缀值。
图9是示出根据本公开的一些实现方式的示例上下文自适应二进制算术编解码(CABAC)引擎的框图。
上下文自适应二进制算术编解码(CABAC)是一种用于许多视频编解码标准的熵编解码形式,这些视频编解码标准例如为H.264/MPEG-4AVC、高效视频编解码(HEVC)和VVC。CABAC以算术编解码为基础,具有一些改变以使其适应视频编解码标准的需要。例如,CABAC对二进制符号进行编解码,这保持较低的复杂性并允许对任何符号的更频繁使用的比特进行概率建模。概率模型是基于局部上下文适应性地选择的,这允许对概率更好地建模,因为编解码模式通常在局部很好地相关。最后,CABAC通过使用量化的概率范围和概率状态来使用无乘法范围划分。
CABAC具有用于不同上下文的多个概率模型。它首先将所有非二进制符号转换为二进制。然后,对于每个二进制比特(也称为“比特”),编解码器选择要使用概率模型中的哪一个,然后使用来自附近元素的信息来优化概率估计。最后应用算术编解码来压缩数据。
上下文建模提供编解码符号的条件概率的估计。利用合适的上下文模型,可以通过根据要编码的当前符号邻域中的已编码符号在不同概率模型之间切换来利用给定的符号间冗余。对数据符号的编解码涉及以下阶段。
二值化:CABAC使用二进制算术编解码,这意味着只对二进制决策(1或0)进行编码。非二进制值符号(例如,变换系数或运动向量)在算术编解码之前被“二值化”或转换为二进制代码。该过程类似于将数据符号转换为可变长度代码的过程,但二进制代码在传输之前(由算术编解码器)进一步编码。对二值化符号的每个二进制比特(或“比特”)重复这些阶段。
上下文模型选择:“上下文模型”是二值化符号的一个或多个二进制比特的概率模型。该模型可以取决于最近编码的数据符号的统计从可用模型的选择中进行选择。上下文模型存储每个二进制比特为“1”或“0”的概率。
算术编码:算术编解码器根据所选择的概率模型对每个二进制比特进行编码。注意,每个二进制比特只有两个子范围(对应于“0”和“1”)。
概率更新:基于实际编码的值来更新所选择的上下文模型(例如,如果二进制比特值是“1”,则增加“1”的频率计数)。
通过将每个非二进制语法元素值分解成二进制比特的序列,CABAC中对每个二进制比特值的进一步处理取决于相关联的编解码模式决策,其可以被选择为常规模式或旁路模式。后者是为这样的二进制比特选择的:这些二进制比特假设是均匀分布的,因此,整个常规二进制算术编码(和解码)过程被简单地绕过。在常规编解码模式中,通过使用常规二进制算术编解码引擎来编码每个二进制比特值,其中关联的概率模型由固定选择基于语法元素的类型和语法元素的二值化表示中的二进制比特位置或二进制比特索引(binIdx)确定,或者取决于相关的辅助信息(例如,空间邻居、分量、CU/PU/TU的深度或尺寸,或TU内的位置)从两个或多个概率模型中适应性地选择。概率模型的选择被称为上下文建模。作为重要的设计决策,后一种情况通常仅应用于最频繁观察到的二进制比特,而其他通常不太频繁观察到的二进制比特将使用联合的、通常是零阶的概率模型来处理。通过这种方式,CABAC使得能够在子符号级别上进行选择性的适应性概率建模,因此,为利用符号间冗余提供了一种高效的工具,显著降低了整体建模或学习成本。注意,对于固定情况和适应情况两者,原则上,从一个概率模型到另一概率模型的切换可以发生在任何两个连续的常规编码二进制比特之间。一般地,CABAC中上下文模型的设计反映了在避免不必要的建模成本开销和在很大程度上利用统计相关性的冲突目标之间找到良好权衡的目的。
CABAC中的概率模型的参数是适应性的,这意味着模型概率对二进制比特源的统计变化的适应在编码器和解码器两者中是在逐个二进制比特的基础上以向后适应且同步的方式执行的;这个过程称为概率估计。为此,CABAC中的每个概率模型都可以从126个不同状态中取出一个,其中相关联的模型概率值p的范围在区间[0:01875;0:98125]内。每个概率模型的两个参数作为7比特条目存储在上下文存储器中:6比特用于表示最小概率符号(LPS)的模型概率pLPS的63个概率状态中的每一个;1比特用于nMPS,即,最可能的符号(MPS)的值。
图10是根据一些实施例的涉及Rice参数的视频处理过程1000的流程图。在一些实施例中,比特流包括由视频编码器20编码并发送到视频解码器30的一个或多个语法元素1002和视频数据1004。视频解码器30根据一个或多个语法元素1002确定Rice参数1006,同时从视频数据1004中解码针对编码单元内的像素的一个或多个码字1008。根据使用所确定的Rice参数1006生成的预先定义的映射关系,进一步将一个或多个码字1008转换为像素的像素参数1010。像素参数1010被转换为像素的量化像素值,该量化像素值应用于重建视频帧序列1012。注意,Rice参数1006是可以从一个或多个语法元素1002确定的多个参数和阈值之一。在一些实施例中,用比特流发送一个或多个控制标志1014,以指示Rice参数1006是否由一个或多个语法元素1002用信号通知。替代地,在一些实施例中,一个或多个语法元素1002包括一个或多个控制标志1014,以用于指示Rice参数1006是否由一个或多个语法元素1002用信号通知。
Rice参数1006在已编码视频数据1004的多个层级级别1040处用信号通知。多个层级级别1040包括以下各项的子集或全部:序列级别1016、图片级别1018、条带级别1020、编码树单元(CTU)级别1022、编码单元(CU)级别1024、编码块(CB)级别1026、预测单元(PU)级别1028、预测块(PB)级别1030、变换单元(TU)级别1032和变换块(TB)级别1034。一个或多个控制标志1014中的每一个对应于多个层级级别1040中的相应一个。在一些实施例中,一个或多个语法元素1002包括与图片序列相关联的序列参数集,并且序列参数集包括对应于序列级别1016的控制标志1014。在一些实施例中,一个或多个语法元素1002包括与图片相关联的图片参数集或图片头部,并且图片参数集或图片头部包括对应于图片级别1018的控制标志1014。在一些实施例中,一个或多个语法元素1002包括与图像帧的条带相关联的条带头部,并且条带头部包括对应于条带级别1020的控制标志1014。
在一些实施例中,单个控制标志1014在序列参数集、图片参数集或图片头部或条带头部中用信号通知,以指示针对变换跳过模式是启用还是禁用在对应层级级别1016、1018或1020处用信号通知Rice参数。当单个控制标志1014在对应层级级别1016、1018或1020处被用信号通知为启用(例如,设置为等于“1”)时,进一步用信号通知附加语法元素1002以指示每个变换块的Rice参数。当单个控制标志1014在对应层级级别1016、1018或1020处被用信号通知为禁用(例如,设置为等于“0”)时,不在较低级别进一步用信号通知语法元素以指示每个变换块的Rice参数,并且默认Rice参数(例如,1)用于针对对应变换跳过模式的所有变换块。在示例中,Rice参数用于确定用于在变换跳过模式下的变换块的残差编解码中对abs_remainder语法进行编解码的码字1008,其中变换块包含于与相应层级级别1040相关联的对应序列、图像或条带中。
在一些实施例中,对于相同编码单元,两个或更多个控制标志1014在不同层级级别处被用信号通知。在特定示例中,一个或多个控制标志1014包括第一控制标志1014A和第二控制标志1014B。第一控制标志1014A和第二控制标志1014B对应于层级级别1040中的第一层级级别和第二层级级别,分别指示对于第一层级级别和第二层级级别是否用信号通知Rice参数1006。第一层级级别高于第二层级级别。例如,第一控制标志1014A对应于层级级别1016-1020之一,而第二控制标志1014B对应于层级级别1022-1036之一。当在第一层级级别启用第一控制标志1014A并且在第二层级级别启用第二控制标志1014B时,Rice参数1006A从比特流被接收,并应用于基于接收到的Rice参数1006A来对与第二控制标志1014B相关联的多个变换块的子集执行熵编解码。当在第一层级级别启用第一控制标志1014A并且在第二层级级别禁用第二控制标志时,基于处于第二层级级别的预定Rice参数1006B对多个变换块的子集执行熵编解码。当在第一层级级别禁用第一控制标志1014A时,独立于第二控制标志1014B,基于预定Rice参数1006B对变换块的子集执行熵编解码。这样,当将不同层级级别的两个或更多个控制标志1014应用于相同的变换块时,较高层级级别的控制标志主导较低层级级别的控制标志。
在一些实施例中,Rice参数1006A作为比特流中的一个或多个语法元素1002的一部分被显式地接收,并且在处于不同层级级别的所有一个或多个控制标志1014被启用时应用。替代地,在一些实施例中,多个Rice参数被预先定义并在编码器20和解码器30两者处以不同的副本单独地存储,并且由解码器30接收到的Rice参数1006A包括选择多个预先定义和存储的Rice参数之一的Rice参数索引。此外,在一些实施例中,CABAC编解码可以应用于二进制码字的前N个二进制比特,并绕过对其余二进制比特的编解码以将Rice参数1006从编码器20传递到解码器30。//发明人:请校正或确认本段。
在一些实施例中,使用与在当前VVC中使用的用于确定abs_remainder的码字1008相同的过程来确定Rice参数1006A的码字1008。Rice参数1006A的值限于Rice参数集合,例如,{0,1,2,3}、{0,1,2}和{0,1}。表1、表2和表3分别代表Rice参数集合{0,1,2,3}、{0,1,2}和{0,1}的Rice参数和二进制码字1008的三种示例关系。在示例中,给定与比特流一起接收的Rice参数1006A(例如,“1”),使用截断的二进制二值化并根据映射关系(例如,表1)确定二进制码字(例如,“01”)。二进制码字1008还用于执行对视频数据1004的熵解码。
表1 Rice参数与二进制码字的第一映射关系
Rice参数 二进制码字
0 1
1 01
2 001
3 000
表2 Rice参数与二进制码字的第二映射关系
Rice参数 二进制码字
0 1
1 01
2 00
表3 Rice参数与二进制码字的第三映射关系
Rice参数 二进制码字
0 1
1 0
在一些实施例中,参数和阈值的集合用于确定在变换跳过模式下的变换系数编解码和/或残差编解码的语法元素1002的码字1008。这些参数和阈值被用信号通知到比特流中,并且可以针对亮度块和色度块用信号通知不同的集合。当通过熵编解码器(例如,熵编码单元56或解码单元80)例如使用算术编解码来编解码语法元素1002时,码字1008用作二值化码字。例如,在一些实施例中,色度分量和亮度分量的熵编解码操作基于Rice参数1006A和控制标志1014的两个不同集合。
图11是根据一些实施例的被配置为确定变换块(TB)的亮度分量和色度分量两者的Rice参数的Rice参数确定系统1100的框图。在一些实施例中,TB的色度分量和亮度分量中的每一个都与处于第一层级级别的单个控制标志相关联。例如,两个不同的控制标志1014A和1014C在与第一层级级别相关联的参数集中(例如,在序列参数集、图片参数集、条带头部或图片头部中)用信号通知,以分别指示是否启用针对色度分量和亮度分量用信号通知对应TB的Rice参数。具体地,当启用针对TB的色度分量的第一控制标志1014A(例如,设置为等于“1”)时,进一步针对每个TB的色度分量用信号通知一个语法元素,以指示TB的色度Rice参数1006A。当针对色度分量的第一控制标志1014A被用信号通知为禁用(例如,设置为等于“0”)时,在任何其他层级级别不用信号通知进一步的语法元素以指示每个TB的色度分量的Rice参数,并且预定色度Rice参数1006B(例如,1)在第一层级级别用于变换跳过模式下的所有TB的色度分量。同样,第三控制标志1014C用于控制针对对应TB的亮度分量用信号通知亮度Rice参数1006C,而与对应TB的色度分量无关。
在一些实施例中,TB的色度分量和亮度分量中的每一个与处于不同层级级别的两个或更多个控制标志1014相关联。例如,TB的色度分量与处于相应第一层级级别的第一控制标志1014A和处于相应第二层级级别的第二控制标志1014B相关联,并且相应TB的亮度分量与处于相应第一层级级别的第三控制标志1014C和处于相应第二层级级别的第四控制标志1014D相关联。亮度分量和色度分量的第一层级级别可选地彼此相同或不同。同样,亮度分量和色度分量的第二层级级别可选地彼此相同或不同。
对于TB的色度分量,当启用对应于色度分量的第一控制标志1014A和第二控制标志1014B两者时,获得色度Rice参数1006A并将其用于执行对变换跳过模式下的色度分量的熵编解码。当禁用对应于色度分量的第一控制标志1014A和第二控制标志1014B中的任一个时,将预定色度Rice参数1006B应用于执行对变换跳过模式下的TB的色度分量的熵编解码。对于TB的亮度分量,当启用对应于亮度分量的第三控制标志1014C和第四控制标志1014D两者时,获得亮度Rice参数1006C并将其用于执行对变换跳过模式下的亮度分量的熵编解码。相反,当禁用对应于亮度分量的第三控制标志1014C和第四控制标志1014D中的任一个时,将预定亮度Rice参数1006D应用于执行对变换跳过模式下的TB的亮度分量的熵编解码。对于TB,色度Rice参数1006A和亮度Rice参数1006C可选地彼此相等或不同。对于TB,预定色度Rice参数1006B和预定亮度Rice参数1006D可选地彼此相等或不同。
注意,在一些实施例中,在编码器20和解码器30两者处预先定义多个Rice参数,并且Rice参数1006A或1006C包括相应的Rice参数索引以选择多个预先定义的Rice参数之一。Rice参数1006A和1006C也可以显式地用信号通知到比特流中。可以使用与上面描述的方法不同的方法形成用信号通知的Rice参数1006A和1006C的二进制码字1008。
图12A示出了根据一些实施例的在一层级级别处属于同一编码单元1202的多个变换块1200。多个变换块1200包括变换块的第一子集1204,并且接收到的Rice参数1006包括对应于变换块的第一子集1204的第一Rice参数1006A-1。多个变换块1200还包括对应于第二Rice参数1006A-2的变换块的第二子集1206。变换块的第一子集1204和第二子集1206在第二层级级别在同一编码单元1202中,并且由分别在第一层级级别和第二层级级别处定义的第一控制标志1014A和第二控制标志1014B共同控制。根据确定启用第一控制标志1014A和第二控制标志1014B两者,分别基于第一Rice参数1006A-1和第二Rice参数1006A-2对变换块的第一子集1204和第二子集1206执行熵编解码。根据确定禁用第一控制标志1014A或第二控制标志1014B,基于相同的预定Rice参数1006B对变换块的第一子集1204和第二子集1206执行熵编解码。
图12B示出了根据一些实施例的属于同一层级级别的两个不同编码单元1252和1254的多个变换块1250。多个变换块1250包括与处于第二层级级别的第一Rice参数1006A-1相对应的变换块的第一子集1256,并且多个变换块1250还包括与处于第二层级级别的第二Rice参数1006A-2相对应的变换块的第二子集1258。变换块的第一子集1256和第二子集1258由处于第一层级级别的第一控制标志1014A控制,并且分别对应于处于第二层级级别的两个不同的第二控制标志1014B-1和1014B-2。根据确定启用第一控制标志1014A和第二控制标志1014B-1两者,电子设备接收第一Rice参数1006A-1,并且基于第一Rice参数1006A-1来对变换块的第一子集1256执行熵编解码。根据启用启用第一控制标志1014A和第二控制标志1014B-2两者,电子设备接收第二Rice参数1006A-2,并且基于第二Rice参数1006A-2对变换块的第二子集1258执行熵编解码。换言之,变换块1256和1258由第一控制标志1014A共同控制,然而,由第二控制标志1014B-1和1014B-2独立控制以用信号通知Rice参数。
根据确定禁用第一控制标志1014A或第二控制标志1014B-1,基于第一预定Rice参数1006B-1对变换块的第一子集1256执行熵编解码。根据确定禁用第一控制标志1014A或或第二控制标志1014B-2,基于不同于第一预定Rice参数1006B-1的第二预定Rice参数1006B-2对变换块的第二子集1258执行熵编解码。第一预定Rice参数1006B-1和和第二预定Rice参数1006B-2可选地彼此相等或不同。
图13是根据一些实施例的在电子设备处实现的视频数据解码方法1300的流程图。比特流由电子设备(例如,具有视频解码器30)获得(1302)并且包括(1302)图像帧中的多个像素。多个像素对应于根据变换跳过模式编码的多个变换块。电子设备从比特流接收(1304)处于第一层级级别的第一控制标志1014A。第一控制标志1014A指示在第一层级级别用信号通知多个变换块的Rice参数。根据确定在第一层级级别启用第一控制标志1014A,电子设备从比特流接收(1306)处于第二层级级别的第二控制标志1014B。第二控制标志1104B指示在第二层级级别用信号通知多个变换块的子集的Rice参数,该第二层级级别低于第一层级级别。根据确定在第一层级级别启用第一控制标志1104A并且在第二层级级别启用第二控制标志1104B,电子设备从比特流接收(1308)Rice参数1006A,并且基于接收到的Rice参数1006A对多个变换块的子集执行熵编解码。根据确定在第一层级级别启用第一控制标志1014A并且在第二层级级别禁用第二控制标志1014B,电子设备基于处于第二层级级别的预定Rice参数1006B对多个变换块的子集执行(1310)熵编解码。相反,在一些实施例中,根据确定禁用第一控制标志1014A,电子设备例如独立于是在第二层级级别启用还是禁用第二控制标志,基于预定Rice参数对包括子集的多个变换块执行(1312)熵编解码。
在一些实施例中,第一层级级别和第二层级级别中的每一个是从以下各项中选择的:图片序列级别、图片级别、条带级别、编码树单元(CTU)级别、编码单元(CU)级别、编码块(CB)级别、预测单元(PU)级别、预测块(PB)级别、变换单元(TU)级别。在一些实施例中,第一控制标志1014A在处于第一层级级别的高级参数集中用信号通知,并且高级参数集包括基于第一层级级别的序列参数集、图片参数集、条带头部或图片头部。
在一些实施例中,在第二层级级别针对多个变换块的子集定义预定Rice参数1006B。在一些实施例中,在第一层级级别针对多个变换块定义预定Rice参数1006B。
在一些实施例中,与比特流的多个变换块一起获得预定Rice参数1006B。替代地,在一些实施例中,预定Rice参数1006B本地存储在解码器或编码器处,该解码器或编码器被配置为对多个变换块的子集执行熵编解码。在一些实施例中,预定Rice参数等于“1”。在一些实施例中,接收到的Rice参数是从Rice参数的预先定义的集合中选择的,该预先定义的集合是从{0,1,2,3}、{0,1,2}和{0,1}中选择的。
参考图12A,在一些实施例中,多个变换块的子集包括变换块的第一子集1204,并且接收到的Rice参数包括第一Rice参数1006A-1。多个变换块还包括与第二Rice参数1006A-2相对应的变换块的第二子集1206。变换块的第一子集和第二子集在第二层级级别在同一编码单元1202中,并且由第一控制标志1014A和第二控制标志1014B共同控制。根据确定启用第一控制标志1014A和第二控制标志1014B两者,分别基于第一Rice参数1006A-1和第二Rice参数1006-2对变换块的第一子集1204和第二子集1026执行熵编解码。根据确定禁用第一控制标志1014A或第二控制标志1014B,基于相同的预定Rice参数1006B对变换块的第一子集1204和第二子集1206执行熵编解码。
参考图12B,在一些实施例中,多个变换块的子集包括变换块的第一子集1256(例如,对应于第一Rice参数1006A-1),并且多个变换块还包括变换块的第二子集1258(例如,对应于处于第二层级级别的第二Rice参数1006A-2)。变换块的第一子集1256和第二子集1258由处于第一层级级别的第一控制标志1014A控制,并且分别对应于处于第二层级级别的两个不同的第二控制标志1014B-1和1014B-2。对于变换块1256和1258中的每一个,根据确定启用第一控制标志1014A和对应的第二控制标志1014B-1/1014B-2两者,电子设备接收相应的Rice参数1006A-1或1006A-2,并且基于相应的Rice参数1006A-1或1006A-2对变换块的相应子集1256或1258执行熵编解码。根据确定禁用第一控制标志1014A或对应的第二控制标志1014B-1/1014B-2,基于相应的预定Rice参数1006B-1或1006B-2,对变换块的相应子集1256或1258执行熵编解码。对于变换块的第一子集1256和第二子集1258,预定Rice参数1006B-1和1006B-2彼此不同。
在一些实施例中,第一控制标志1014A和第二控制标志1014B分别指示是否在第一层级级别和第二层级级别启用用信号通知多个变换块的子集的亮度分量的Rice参数。根据确定在第一层级级别启用第一控制标志1014A,基于第二控制标志1014B根据接收到的Rice参数1006A或预定Rice参数1006B,对多个变换块的子集的亮度分量执行熵编解码。
在一些实施例中,第一控制标志1014A和第二控制标志1014B分别指示是否在第一层级级别和第二层级级别启用用信号通知多个变换块的色度分量的Rice参数。根据确定在第一层级级别启用第一控制标志1014A,基于第二控制标志根据接收到的Rice参数1006或预定Rice参数1006B对多个变换块的子集的色度分量执行熵编解码。此外,在一些实施例中,电子设备从比特流接收处于第一层级级别的第三控制标志1014C。第三控制标志1014C指示在第一层级级别针对亮度分量用信号通知多个变换块的Rice参数。根据确定在第一层级级别启用第三控制标志1014C,电子设备从比特流接收处于第二层级级别的第四控制标志1014D。第四控制标志1014D指示在第二层级级别用信号通知多个变换块的子集的亮度分量的Rice参数。根据第四控制标志1014D,对多个变换块的子集的亮度分量执行熵编解码。
另外,在一些实施例中,第三控制标志1014C独立于处于第一层级级别的第一控制标志1014A被控制,并且第四控制标志1014D独立于处于第二层级级别的第二控制标志1014B被控制。
此外,在一些实施例中,接收到的Rice参数1006A包括接收到的色度Rice参数1006A,并且预定Rice参数1006B包括预定色度Rice参数1006B。根据确定在第一层级级别启用第三控制标志1014C并且在第二层级级别启用第四控制标志1014D,电子设备从比特流接收亮度Rice参数1006C,并且基于第二Rice参数来对多个变换块的子集的亮度分量执行熵编解码。根据确定在第一层级级别启用第三控制标志1014C并且在第二层级级别禁用第四控制标志1014D,电子设备基于处于第二层级级别的预定亮度Rice参数1006D,对多个变换块的子集的亮度分量执行熵编解码。
在一个或多个示例中,所描述的功能可以以硬件、软件、固件或其任何组合来实现。如果以软件实现,则功能可以作为一个或多个指令或代码存储于计算机可读介质上或通过计算机可读介质传输,并且由基于硬件的处理单元执行。计算机可读介质可以包括计算机可读存储介质,其对应于诸如数据存储介质之类的有形介质,或者包括促进例如根据通信协议将计算机程序从一个地方转移到另一个地方的任何介质的通信介质。以此方式,计算机可读介质通常可以对应于(1)非暂时性的有形计算机可读存储介质,或(2)诸如信号或载波之类的通信介质。数据存储介质可以是能够由一台或多台计算机或一个或多个处理器访问以取回指令、代码和/或数据结构以用于实现本申请中描述的实现方式的任何可用介质。计算机程序产品可以包括计算机可读介质。
在本文的实现方式的描述中使用的术语仅用于描述特定实现方式的目的,而并不旨在限制权利要求的范围。如在实现方式的描述和所附权利要求中使用的,单数形式的“一(a)”、“一(an)”和“该(the)”旨在同样包括复数形式,除非上下文另有明确指示。还应理解,本文所使用的术语“和/或”指代并涵盖相关联的所列项目中的一个或多个的任何和所有可能的组合。将进一步理解,当在本说明书中使用时,术语“包括(comprises)”和/或“包括有(comprising)”指定存在所陈述的特征、元素和/或组件,但不排除存在或添加一个或多个其他特征、元素、组件和/或它们的组。
还应当理解的是,虽然术语第一、第二等可以在本文中用于描述各种元件,但这些元件不应受这些术语的限制。这些术语仅用于区分一种元件与另一种元件。例如,第一电极可以被称为第二电极,并且类似地,第二电极可以被称为第一电极,而不会背离实现方式的范围。第一电极和第二电极都是电极,但它们不是同一电极。
本申请的描述是为了说明和描述的目的而呈现的,而并不旨在穷举或限制于所公开形式的发明。许多修改、变化和替代实现方式对于受益于前述描述和相关联的附图中呈现的教导的本领域普通技术人员将是显而易见的。选择和描述实施例是为了最好地解释本发明的原理、实际应用,并且使本领域的其他技术人员能够理解本发明的各种实现方式,并且最好地利用基本原理和各种实现方式,其中各种修改适用于预期的特定用途。因此,应当理解,权利要求的范围不限于所公开的实现方式的具体示例,并且修改和其他实现方式旨在包含于所附权利要求的范围内。

Claims (18)

1.一种用于解码视频数据的方法,包括:
从比特流中获得图像帧中的多个像素,其中,所述多个像素对应于根据变换跳过模式编码的多个变换块;
从所述比特流接收处于第一层级级别的第一控制标志,所述第一控制标志指示在所述第一层级级别用信号通知所述多个变换块的Rice参数;
根据确定在所述第一层级级别启用所述第一控制标志:
从所述比特流接收处于第二层级级别的第二控制标志,所述第二控制标志指示在所述第二层级级别用信号通知所述多个变换块的子集的Rice参数,其中,所述第二层级级别低于所述第一层级级别;
根据确定在所述第二层级级别启用所述第二控制标志,从所述比特流接收Rice参数,并且基于接收到的Rice参数对所述多个变换块的子集执行熵编解码;以及
根据确定在所述第二层级级别禁用所述第二控制标志,基于处于所述第二层级级别的预定Rice参数对所述多个变换块的子集执行熵编解码。
2.根据权利要求1所述的方法,还包括:
根据确定禁用所述第一控制标志,基于所述预定Rice参数对包括所述子集的所述多个变换块执行熵编解码。
3.根据权利要求1或2所述的方法,其中,所述第一层级级别和所述第二层级级别中的每一个是从以下各项中选择的:图片序列级别、图片级别、条带级别、编码树单元(CTU)级别、编码单元(CU)级别、编码块(CB)级别、预测单元(PU)级别、预测块(PB)级别、变换单元(TU)级别。
4.根据前述权利要求中任一项所述的方法,其中,所述第一控制标志是在处于所述第一层级级别的高级参数集中用信号通知的,并且所述高级参数集包括基于所述第一层级级别的序列参数集、图片参数集、条带头部或图片头部。
5.根据前述权利要求中任一项所述的方法,其中,所述预定Rice参数是在所述第二层级级别针对所述多个变换块的子集定义的。
6.根据前述权利要求中任一项所述的方法,其中,所述预定Rice参数是与所述比特流的所述多个变换块一起获得的。
7.根据前述权利要求中任一项所述的方法,其中,所述预定Rice参数被本地存储在解码器或编码器处,所述解码器或所述编码器被配置为对所述多个变换块的子集执行熵编解码。
8.根据前述权利要求中任一项所述的方法,其中,所述预定Rice参数等于“1”。
9.根据前述权利要求中任一项所述的方法,其中,所述接收到的Rice参数是从Rice参数的预先定义的集合中选择的,所述预先定义的集合是从{0,1,2,3}、{0,1,2}和{0,1}中选择的。
10.根据前述权利要求中任一项所述的方法,其中:
所述多个变换块的子集包括变换块的第一子集,并且所述接收到的Rice参数包括第一Rice参数;
所述多个变换块还包括对应于第二Rice参数的变换块的第二子集;
所述变换块的第一子集和第二子集在所述第二层级级别在同一编码单元中,并且由所述第一控制标志和所述第二控制标志共同控制;
根据确定所述第一控制标志和所述第二控制标志两者都被启用,分别基于所述第一Rice参数和所述第二Rice参数对所述变换块的第一子集和第二子集执行熵编解码;以及
根据确定所述第一控制标志或所述第二控制标志被禁用,基于相同的预定Rice参数对所述变换块的第一子集和第二子集执行熵编解码。
11.根据权利要求1-9中任一项所述的方法,其中:
所述多个变换块的子集包括变换块的第一子集,并且所述多个变换块还包括变换块的第二子集;
所述变换块的第一子集和第二子集由处于所述第一层级级别的所述第一控制标志控制,并且分别对应于处于所述第二层级级别的两个不同的第二控制标志;以及
所述方法还包括对于所述变换块的第一子集和第二子集的每一个:
根据确定对于所述变换块的相应子集启用所述第一控制标志和对应的第二控制标志两者,接收相应的Rice参数,并且基于相应的接收到的Rice参数对所述变换块的相应子集执行熵编解码;以及
根据确定对于所述变换块的相应子集禁用所述第一控制标志或对应的第二控制标志,基于相应的预定Rice参数对所述变换块的相应子集执行熵编解码,所述预定Rice参数对于所述变换块的第一子集和第二子集是彼此不同的。
12.根据前述权利要求中任一项所述的方法,其中,所述第一控制标志和所述第二控制标志分别指示是否在所述第一层级级别和所述第二层级级别启用用信号通知所述多个变换块的子集的亮度分量的Rice参数,并且其中,根据确定在所述第一层级级别启用所述第一控制标志,基于所述第二控制标志根据所述接收到的Rice参数或所述预定Rice参数,对所述多个变换块的子集的所述亮度分量执行所述熵编解码。
13.根据前述权利要求中任一项所述的方法,其中,所述第一控制标志和所述第二控制标志分别指示是否在所述第一层级级别和所述第二层级级别启用用信号通知所述多个变换块的子集的色度分量的Rice参数,并且其中,根据确定在所述第一层级级别启用所述第一控制标志,基于所述第二控制标志根据所述接收到的Rice参数或所述预定Rice参数,对所述多个变换块的子集的所述色度分量执行所述熵编解码。
14.根据权利要求13所述的方法,还包括:
从所述比特流接收处于所述第一层级级别的第三控制标志,所述第三控制标志指示在所述第一层级级别针对亮度分量用信号通知所述多个变换块的Rice参数;以及
根据确定在所述第一层级级别启用所述第三控制标志,从所述比特流接收处于所述第二层级级别的第四控制标志,所述第四控制标志指示在所述第二层级级别用信号通知所述多个变换块的子集的所述亮度分量的Rice参数,并且根据所述第四控制标志对所述多个变换块的子集的所述亮度分量执行熵编解码。
15.根据权利要求14所述的方法,其中,所述第三控制标志是独立于处于所述第一层级级别的所述第一控制标志被控制的,并且所述第四控制标志是独立于处于所述第二层级级别的所述第二控制标志被控制的。
16.根据权利要求14所述的方法,所述接收到的Rice参数包括接收到的色度Rice参数,并且所述预定Rice参数包括预定色度Rice参数,其中,对所述多个变换块的子集的所述亮度分量执行熵编解码还包括:
根据确定在所述第一层级级别启用所述第三控制标志:
根据确定在所述第二层级级别启用所述第四控制标志,从所述比特流接收亮度Rice参数,并且基于替代的Rice参数对所述多个变换块的子集的所述亮度分量执行熵编解码;以及
根据确定在所述第二层级级别禁用所述第四控制标志,基于处于所述第二层级级别的预定亮度Rice参数对所述多个变换块的子集的所述亮度分量执行熵编解码。
17.一种电子设备,包括:
一个或多个处理器;以及
存储器,其上存储有指令,所述指令在由所述一个或多个处理器执行时,使所述处理器执行权利要求1-16中任一项所述的方法。
18.一种非暂时性计算机可读介质,其上存储有指令,所述指令在由一个或多个处理器执行时,使所述处理器执行权利要求1-16中任一项所述的方法。
CN202080091486.8A 2019-12-30 2020-12-29 用于视频编解码的残差和系数编解码 Pending CN114930844A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201962955347P 2019-12-30 2019-12-30
US62/955,347 2019-12-30
PCT/US2020/067355 WO2021138353A1 (en) 2019-12-30 2020-12-29 Residual and coefficients coding for video coding

Publications (1)

Publication Number Publication Date
CN114930844A true CN114930844A (zh) 2022-08-19

Family

ID=76686835

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080091486.8A Pending CN114930844A (zh) 2019-12-30 2020-12-29 用于视频编解码的残差和系数编解码

Country Status (4)

Country Link
US (1) US20220329812A1 (zh)
EP (1) EP4085636A4 (zh)
CN (1) CN114930844A (zh)
WO (1) WO2021138353A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11477486B2 (en) * 2019-01-02 2022-10-18 Qualcomm Incorporated Escape coding for coefficient levels
WO2023212684A1 (en) * 2022-04-28 2023-11-02 Innopeak Technology, Inc. Subblock coding inference in video coding

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013067435A1 (en) * 2011-11-04 2013-05-10 Huawei Technologies Co., Ltd. Differential pulse code modulation intra prediction for high efficiency video coding
US10616581B2 (en) * 2012-01-19 2020-04-07 Huawei Technologies Co., Ltd. Modified coding for a transform skipped block for CABAC in HEVC
EP2984826B1 (en) * 2013-04-08 2019-12-18 HFI Innovation Inc. Method and apparatus for quantization matrix signaling and representation in scalable video coding
US10616604B2 (en) * 2015-09-01 2020-04-07 Qualcomm Incorporated Coefficient level coding in video coding
US10356432B2 (en) * 2015-09-14 2019-07-16 Qualcomm Incorporated Palette predictor initialization and merge for video coding
CA3198856A1 (en) * 2020-12-21 2022-06-30 Qualcomm Incorporated Low complexity history usage for rice parameter derivation for high bit-depth video coding
EP4289142A1 (en) * 2021-02-04 2023-12-13 Beijing Dajia Internet Information Technology Co., Ltd. Residual and coefficients coding for video coding
US11871038B2 (en) * 2021-09-29 2024-01-09 Tencent America LLC Techniques for constraint flag signaling for range extension with residual rice coding extension

Also Published As

Publication number Publication date
US20220329812A1 (en) 2022-10-13
EP4085636A4 (en) 2024-01-24
WO2021138353A1 (en) 2021-07-08
EP4085636A1 (en) 2022-11-09

Similar Documents

Publication Publication Date Title
JP7389898B2 (ja) 残差及び係数のコーディングの方法及び装置
CN114827608B (zh) 残差和系数编解码的方法和装置
US20220329812A1 (en) Residual and coefficients coding for video coding
CN116016936A (zh) 使用调色板模式的视频编解码的方法和装置
JP2023164981A (ja) パレットモードを使用するビデオコーディングの方法及び装置
CN114762352A (zh) 用于视频编解码的去块滤波
JP2023139135A (ja) ビデオ復号化方法、電子装置、記憶媒体及びプログラム
CN115362685A (zh) 用于视频编解码的无损编解码模式
CN115136603A (zh) 用于视频编解码的无损编解码模式
CN114556932B (zh) 用于视频编解码的无损编解码模式
US20220256199A1 (en) Methods and apparatus of residual and coefficients coding
WO2021055970A1 (en) Methods and apparatus of video coding using palette mode

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