CN117397237A - 变换系数符号预测和编解码的系统和方法 - Google Patents

变换系数符号预测和编解码的系统和方法 Download PDF

Info

Publication number
CN117397237A
CN117397237A CN202380011074.2A CN202380011074A CN117397237A CN 117397237 A CN117397237 A CN 117397237A CN 202380011074 A CN202380011074 A CN 202380011074A CN 117397237 A CN117397237 A CN 117397237A
Authority
CN
China
Prior art keywords
technique
block
transform coefficients
transform
coefficients
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
CN202380011074.2A
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.)
Tencent America LLC
Original Assignee
Tencent America LLC
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 Tencent America LLC filed Critical Tencent America LLC
Publication of CN117397237A publication Critical patent/CN117397237A/zh
Pending legal-status Critical Current

Links

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/136Incoming video signal characteristics or properties
    • 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)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本申请描述的各种实施例包括用于视频编解码的方法和系统。在一个方面,方法包括:获取包括多个块的视频数据,该多个块包括第一块;以及确定与第一块相关联的多个变换系数。方法进一步包括:使用第一种技术预测多个变换系数的第一集合的相应系数符号;以及使用第二种技术预测多个变换系数的第二集合的相应系数符号,该第二种技术不同于该第一种技术。方法还包括基于多个变换系数以及预测的第一集合和第二集合的相应系数符号,重建第一块。

Description

变换系数符号预测和编解码的系统和方法
相关申请
本申请要求于2022年5月12日提交的申请号为63/341,057、发明名称为“符号预测和跨分量符号编解码之间的协调(Harmonization Between Sign Prediction and Cross-Component Sign Coding)”的美国临时专利申请的优先权,以及要求于2023年3月28日提交的申请号为18/127,556、发明名称为“变换系数符号预测和编解码的系统和方法(Systemsand Methods for Transform Coefficient Sign Prediction and Coding)”的美国专利申请的优先权,并且是该美国专利申请的连续申请,所述两个申请的全部内容通过引用整体并入本申请中。
技术领域
所公开的实施例总体上涉及视频编解码,包括但不限于变换系数的系数符号编解码系统和方法。
背景技术
数字视频由各种电子设备支持,诸如数字电视、膝上型计算机或台式电脑、平板电脑、数码相机、数字录音设备、数字媒体播放器、视频游戏机、智能电话、视频电话会议设备、视频流式传输设备等。电子设备通过通信网络传输和接收或以其它方式传送数字视频数据,和/或将数字视频数据存储在存储设备上。由于通信网络的带宽容量有限,存储设备的存储器资源有限,在传送或存储视频数据之前,可根据一个或多个视频编码标准使用视频编码压缩视频数据。
目前已经开发出多种视频编解码器标准。例如,视频编码标准包括AOMedia Video1(AV1)、通用视频编码(VVC)、联合探索测试模型(JEM)、高效视频编码(HEVC/H.265)、高级视频编码(AVC/H.264)和运动图像专家组(MPEG)编码。视频编码通常利用预测方法(例如,帧间预测、帧内预测等),利用视频数据中固有的冗余。视频编码的目的是将视频数据压缩成使用较低比特率的形式,同时避免或最大限度地减少视频质量的下降。
HEVC,也称为H.265,是作为MPEG-H项目的一部分而设计的视频压缩标准。ITU-T和ISO/IEC分别于2013年(版本1)、2014年(版本2)、2015年(版本3)和2016年(版本4)发布了HEVC/H.265标准。通用视频编码(VVC),也称为H.266,是一种旨在作为HEVC的后续标准的视频压缩标准。ITU-T和ISO/IEC分别于2020(版本1)和2022(版本2)发布了VVC/H.266标准。AV1是作为HEVC的替代方案而设计的开放视频编码格式。2019年1月8日,该规范的1.0.0验证版本和勘误表1发布。
发明内容
如上所述,视频编解码器技术包括帧内编码。在帧内编码中,样本值的表示不参考先前已重建参考图片的样本或其它数据。在一些情况下,图片在空间上被细分为样本块。当所有的样本块都以帧内模式进行编码时,该图片就是帧内图片。帧内图片及其衍生图片(如独立解码器刷新图片)可用于重置解码器状态,因此可用作已编码视频码流和视频会话中的第一图片或静止图像。帧内块的样本可进行变换,变换系数可在熵编码之前量化。帧内预测可以减少/最小化预变换域中的样本值。在一些情况下,变换后的DC值越小,AC系数越小,在给定量化步长下,熵编码后表示块所需的比特数就越少。对于变换系数的熵编码,可以使用旁路模式将系数符号与量值/层级(系数值的绝对值)分开编码。这意味着每个系数符号的编码成本为一个比特,成本很高。
根据一些实施例,提供了一种视频编码的方法。该方法包括:(i)获取包括多个块的视频数据,该多个块包括第一块;(ii)确定与第一块相关联的多个变换系数;(iii)使用第一种技术预测多个变换系数的第一集合的相应系数符号;(iv)使用第二种技术预测多个变换系数的第二集合的相应系数符号,该第二种技术不同于该第一种技术;以及(v)基于多个变换系数以及预测的第一集合和第二集合的相应系数符号,重建第一块。
根据一些实施例,提供了另一种视频编码的方法。该方法包括:(i)获取包括多个块的视频数据,该多个块包括由多个元素构成的第一块,以及(ii)对于多个元素中的每个元素,编码一个指示符,该指示符指定该元素的变换系数的符号值是否与相应的第二元素的变换系数的符号值相同。
根据一些实施例,提供了一种计算系统,诸如流式传输系统、服务器系统、个人计算机系统或其它电子设备。该计算系统包括控制电路和存储一个或多个指令集的存储器。该一个或多个指令集包括用于执行本文中描述的方法中的任何方法的指令。在一些实施例中,该计算系统包括编码器部件和/或解码器部件。
根据一些实施例,提供了一种非易失性计算机可读存储介质。该非易失性计算机可读存储介质存储由计算系统执行的一个或多个指令集。该一个或多个指令集包括用于执行本文中描述的方法中的任何方法的指令。
相应地,公开了用于编码视频的设备和系统与方法。此类方法、设备和系统可以补充或替代用于视频编码的常规方法、设备和系统。
说明书中所描述的特征和优点不一定是全部包括的,特别是,对于本领域普通技术人员而言,根据本公开提供的附图、说明书和权利要求书,一些另外的特征和优点将是显而易见的。此外,应当注意的是,说明书中所使用的语言主要是出于可读性和指导性的目的而选择的,而不一定被选择为描绘或限定本文中描述的主题。
附图说明
为了能够更详细地理解本公开,可以通过参考各种实施例的特征来进行更具体的描述,其中一些特征图示于附图中。然而,附图仅图示了本公开的相关特征,因此不一定被认为是限制性的,因为本领域技术人员在阅读本公开后将理解,说明书可允许其它有效特征。
图1是图示根据一些实施例的示例通信系统的框图。
图2A是图示根据一些实施例的编码器部件的示例元件的框图。
图2B是图示根据一些实施例的解码器部件的示例元件的框图。
图3是图示根据一些实施例的示例服务器系统的框图。
图4A至图4D图示了根据一些实施例的示例编码树结构。
图5A示出了根据一些实施例的变换块和相邻行和列中的示例像素位置。
图5B示出了根据一些实施例的变换块中的示例扫描顺序和示例低频像素。
图6是图示根据一些实施例的编码视频的示例方法的流程图。
按照通常的做法,附图中图示的各种特征不一定按比例绘制,并且可以使用类似的附图标记来表示整个说明书和附图中的相似特征。
具体实施方式
本公开除其它外描述了在变换块编码期间预测系数符号。例如,使用第一种技术选择变换系数的第一集合进行符号预测,使用第二种技术选择变换系数的第二集合进行符号预测。选择不同的技术来预测不同变换系数的符号,可以减少传输码流的计算成本、处理时间和/或带宽。例如,与使用相邻块作为上下文的假设来预测符号相比,与使用其它色彩系数符号作为上下文来预测符号相关联的计算成本可能更低。然而,其它色彩系数符号可能无法用于所有变换系数,而使用相邻块作为上下文预测其它变换系数的符号可能比完全不预测符号占用更少的带宽。
示例系统和设备
图1是图示根据一些实施例的通信系统100的框图。通信系统100包括源装置102和经由一个或多个网络彼此通信耦接的多个电子装置120(例如,电子装置120-1至电子装置120-m)。在一些实施例中,通信系统100是流式传输系统,例如与视频会议应用、数字电视应用和媒体存储和/或分发应用等视频可用应用一起使用。
源装置102包括视频源104(例如,相机部件或媒体存储)和编码器部件106。在一些实施例中,视频源104是数码相机(例如,被配置为创建未压缩的视频样本流)。编码器部件106从视频流中生成一个或多个已编码视频码流。与编码器部件106生成的已编码视频码流108相比,来自视频源104的视频流可能数据量较高。因为与来自视频源的视频流相比,已编码视频码流108的数据量较低(数据较少),所以与来自视频源104的视频流相比,已编码视频码流108需要较少的带宽来传输,需要较少的存储空间来存储。在一些实施例中,源装置102不包括编码器部件106(例如,被配置为向一个或多个网络110发送未压缩的视频数据)。
一个或多个网络110表示在源装置102、服务器系统112和/或电子装置120之间传送信息的任意数量的网络,包括例如有线和/或无线通信网络。一个或多个网络110可以在电路交换和/或分组交换信道中交换数据。代表性的网络包括电信网络、局域网、广域网和/或因特网。
一个或多个网络110包括服务器系统112(例如,分布式/云计算系统)。在一些实施例中,服务器系统112是或包括流媒体服务器(例如,被配置为存储和/或分发来自源装置102的编码视频流等视频内容)。服务器系统112包括编码器部件114(例如,被配置为编码和/或解码视频数据)。在一些实施例中,编码器部件114包括编码器部件和/或解码器部件。在各种实施例中,编码器部件114被实例化为硬件、软件或其组合。在一些实施例中,编码器部件114被配置为对已编码视频码流108进行解码,并且使用不同编码标准和/或方法对视频数据进行再编码,以生成已编码视频数据116。在一些实施例中,服务器系统112被配置为从已编码视频码流108生成多个视频格式和/或编码。
在一些实施例中,服务器系统112充当媒体感知网络元件(MANE)。例如,服务器系统112可以被配置为修剪已编码视频码流108,以便为一个或多个电子装置120制定可能不同的码流。在一些实施例中,MANE被设置为与服务器系统112分离。
电子装置120-1包括解码器部件122和显示器124。在一些实施例中,解码器部件122被配置为对已编码视频数据116进行解码,以生成可在显示器或其它类型的显示装置上呈现的输出视频流。在一些实施例中,一个或多个电子装置120不包括显示部件(例如,通信地耦接到外部显示设备和/或包括媒体存储)。在一些实施例中,电子装置120是流式传输客户端。在一些实施例中,电子装置120被配置为访问服务器系统112以获得已编码视频数据116。
源装置和/或多个电子装置120有时被称为“终端装置”或“用户装置”。在一些实施例中,源装置102和/或一个或多个电子装置120是服务器系统、个人计算机、便携式设备(例如,智能电话、平板电脑或膝上型电脑)、可穿戴设备、视频会议设备和/或其它类型的电子装置的实例。
在通信系统100的示例操作中,源装置102将已编码视频码流108传输到服务器系统112。例如,源装置102可以对由源装置所采集的图片流进行编码。服务器系统112接收已编码视频码流108,并且可以使用编码器部件114对已编码视频码流108进行解码和/或编码。例如,服务器系统112可以对视频数据进行更适合网络传输和/或存储的编码。服务器系统112可以将已编码视频数据116(例如,一个或多个已编码视频码流)发送到一个或多个电子装置120。每个电子装置120可以对已编码视频数据116进行解码,以恢复并选择性地显示视频图片。
在一些实施例中,上文所讨论的传输是单向数据传输。单向数据传输有时用于媒体服务应用等。在一些实施例中,上文所讨论的传输是双向数据传输。双向数据传输有时用于视频会议应用等。在一些实施例中,根据本申请中描述的任何视频编码/压缩标准(诸如HEVC、VVC和/或AV1)对已编码视频码流108和/或已编码视频数据116进行编码和/或解码。
图2A是图示根据一些实施例的编码器部件106的示例元件的框图。编码器部件106从视频源104接收源视频序列。在一些实施例中,编码器部件包括被配置为接收源视频序列的接收器(例如,收发器)部件。在一些实施例中,编码器部件106从远程视频源(例如,作为与编码器部件106不同的设备的部件的视频源)接收视频序列。视频源104可以提供呈数字视频样本流形式的源视频序列,该数字视频样本流可以具有任何合适的位深度(例如,8位、10位或12位)、任何色彩空间(例如,BT.601Y CrCb或RGB)和任何合适的取样结构(例如,YCrCb 4:2:0或Y CrCb4:4:4)。在一些实施例中,视频源104是存储先前已采集/已准备的视频的存储设备。在一些实施例中,视频源104是采集本地图像信息作为视频序列的相机。可将视频数据提供为多个单独的图片,当按顺序观看时,这些图片被赋予运动。图片自身可构建为空间像素阵列,其中取决于所用的取样结构、色彩空间等,每个像素可包括一个或多个样本。所属领域的技术人员可以很容易理解像素与样本之间的关系。下文侧重于描述样本。
编码器部件106被配置为实时或在应用所要求的其它时间约束下,将源视频序列的图片编码和/或压缩成已编码视频序列216。施行适当的编码速度是控制器204的一个功能。在一些实施例中,控制器204控制如下文所描述的其它功能单元,并且在功能上耦接到其它功能单元。由控制器204设置的参数可以包括速率控制相关参数(例如,图片跳过、量化器和/或率失真优化技术的λ值)、图片大小、图片群组(GOP)布局、最大运动矢量搜索范围等。本领域的普通技术人员可以容易地识别控制器204的其它功能,因为它们可以涉及针对特定系统设计而优化的编码器部件106。
在一些实施例中,编码器部件106被配置为在编码环路中进行操作。在简化的示例中,编码环路包括源编码器202(例如,负责基于待编码的输入图片和一个或多个参考图片创建符号,例如符号流等)和(本地)解码器210。解码器210以类似于(远程)解码器创建样本数据的方式重建符号以创建样本数据(当符号和已编码视频码流之间的压缩是无损时)。将重建的样本流(样本数据)输入到参考图片存储器208。由于符号流的解码产生与解码器位置(本地或远程)无关的位精确结果,所以参考图片存储器208中的内容在本地编码器和远程编码器之间也是按位精确对应的。这样,编码器的预测部分将与解码器在解码期间使用预测时将解释的参考图片样本的样本值解释为相同的样本值。参考图片同步性(以及在例如因信道误差而无法维持同步性的情况下产生的漂移)的原理是本领域普通技术人员已知的。
解码器210的操作可以与远程解码器(诸如解码器部件122)的操作相同,这在下面结合图2B进行详细描述。然而,简要地参考图2B,当符号可用且熵编码器214和解析器254能够无损地将符号编码/解码为已编码视频序列时,包括缓冲存储器252和解析器254在内的解码器部件122的熵解码部分可能无法完全在本地解码器210中实施。
此时可以观察到,除存在于解码器中的解析/熵解码之外的任何解码器技术,也必定以基本上相同的功能形式存在于对应的编码器中。出于此原因,本申请侧重于解码器操作。可简化编码器技术的描述,因为编码器技术与全面地描述的解码器技术互逆。仅在某些区域中需要更详细的描述,并且在下文提供。
作为其操作的一部分,源编码器202可执行运动补偿预测编码,其参考来自视频序列中被指定为参考帧的一个或多个先前已编码帧,预测性地编码输入帧。以此方式,编码引擎212对输入帧的像素块与参考帧的像素块之间的差异进行编码,所述参考帧可被选作所述输入帧的预测参考。控制器204可以管理源编码器202的编码操作,包括,例如,用于编码视频数据的参数和子群参数的设置。
解码器210可基于源编码器202创建的符号,对可指定为参考帧的帧的已编码视频数据进行解码。编码引擎212的操作可为有损过程。当已编码视频数据在视频解码器(图2A中未示)处被解码时,重建的视频序列可以是带有一些误差的源视频序列的副本。解码器210复制解码过程,所述解码过程可由远端视频解码器对参考帧执行,且可使重建的参考帧存储在参考图片存储器208中。以此方式,编码器部件106可在本地存储重建的参考帧的副本,所述副本与将由远端视频解码器获得的重建参考帧具有共同内容(不存在传输误差)
预测器206可针对编码引擎212执行预测搜索。即,对于将要编码的新帧,预测器206可在参考图片存储器208中搜索可作为所述新图片的适当预测参考的样本数据(作为候选参考像素块)或某些元数据,例如参考图片运动矢量、块形状等。预测器206可基于样本块逐像素块操作,以找到合适的预测参考。在一些情况下,根据预测器206获得的搜索结果,可确定输入图片可具有从参考图片存储器208中存储的多个参考图片取得的预测参考。
可在熵编码器214中对所有上述功能单元的输出进行熵编码。熵编码器214根据本领域普通技术人员已知的技术(例如,霍夫曼编码、可变长度编码和/或算术编码)对各种功能单元生成的符号进行无损压缩,从而将所述符号转换成已编码视频序列。
在一些实施例中,熵编码器214的输出耦接到传输器。传输器可以被配置为缓冲由熵编码器214创建的已编码视频序列,从而为通过通信信道218进行传输做准备,所述通信信道可以是通向将存储已编码的视频数据的存储装置的硬件/软件链路。传输器可以被配置为将来自源编码器202的已编码视频数据与要传输的其它数据(例如,已编码音频数据和/或辅助数据流(未示出来源))合并。在一些实施例中,传输器可在传输已编码视频时传输附加数据。源编码器202可包括此类数据作为已编码视频序列的一部分。附加数据可包括时间/空间/SNR增强层、冗余图片和条带等其它形式的冗余数据、辅助增强信息(SEI)消息、视觉可用性信息(VUI)参数集片段等。
控制器204可以管理编码器部件106的操作。在编码期间,控制器204可以为每个已编码图片分配某一已编码图片类型,但这可能影响可应用于相应的图片的编码技术。例如,可以将图片分配为帧内图片(I图片)、预测性图片(P图片)或双向预测性图片(B图片)。帧内图片可以在不使用序列中的任何其它帧作为预测源的情况下进行编码和解码。一些视频编解码器容许不同类型的帧内图片,包括例如独立解码器刷新(Independent DecoderRefresh,“IDR”)图片。所属领域的普通技术人员了解I图片的变体及其相应的应用和特征,因此在此不再对其进行赘述。预测性图片可以使用帧内预测或帧间预测进行编码和解码,所述帧内预测或帧间预测使用至多一个运动矢量和参考索引来预测每个块的样本值。双向预测性图片(B图片)可以使用帧内预测或帧间预测进行编码和解码,所述帧内预测或帧间预测使用至多两个运动矢量和参考索引来预测每个块的样本值。类似地,多个预测性图片可使用多于两个参考图片和相关联元数据以用于重建单个块。
源图片通常可在空间上细分成多个样本块(例如,4×4、8×8、4×8或16×16个样本的块),且逐块进行编码。这些块可参考其它(已编码)块进行预测编码,根据应用于“块”的相应图片的编码分配来确定所述其它块。举例来说,I图片的块可进行非预测编码,或所述块可参考同一图片的已经编码的块来进行预测编码(空间预测或帧内预测)。P图片的像素块可参考一个先前编码的参考图片通过空间预测或通过时域预测进行非预测编码。B图片的块可参考一个或两个先前编码的参考图片通过空间预测或通过时域预测进行非预测编码。
采集到的视频可作为呈时间序列的多个源图片(视频图片)。帧内图片预测(常常简化为帧内预测)利用给定图片中的空间相关性,而帧间图片预测则利用图片之间的(时间或其它)相关性。在实施例中,将正在编码/解码的特定图片分区成块,正在编码/解码的特定图片被称作当前图片。在当前图片中的块类似于视频中先前已编码且仍被缓冲的参考图片中的参考块时,可通过称作运动矢量的矢量对当前图片中的块进行编码。所述运动矢量指向参考图片中的参考块,且在使用多个参考图片的情况下,所述运动矢量可具有识别参考图片的第三维度。
编码器部件106可以根据预定视频编码技术或标准(诸如本文中描述的任何技术或标准)来执行编码操作。在其操作中,编码器部件106可以执行各种压缩操作,包括利用输入视频序列中的时间和空间冗余的预测编码操作。因此,已编码视频数据可以符合由所使用的视频编码技术或标准所指定的语法。
图2B是图示根据一些实施例的解码器部件122的示例元件的框图。图2B中的解码器部件122耦接到信道218和显示器124。在一些实施例中,解码器部件122包括耦接到环路滤波器单元256且被配置为将数据发送到显示器124(例如,经由有线或无线连接)的传输器。
在一些实施例中,解码器部件122包括耦接到信道218的接收器并被配置为从信道218接收数据(例如,经由有线或无线连接)。接收器可以被配置为接收待由解码器部件122进行解码的一个或多个已编码视频序列。在一些实施例中,每个已编码视频序列的解码独立于其它已编码视频序列。每个已编码视频序列可以从信道218接收,该信道可以是到存储已编码视频数据的存储设备的硬件/软件链路。接收器可以接收已编码视频数据与其它数据,例如,已编码音频数据和/或辅助数据流,这些数据可以被转发到它们各自的使用实体(未描绘)。接收器可以将已编码视频序列与其它数据分离。在一些实施例中,接收器接收附加(冗余)数据与已编码视频。附加数据可以被包括作为一个或多个已编码视频序列的一部分。附加数据可以由解码器部件122用以对数据解码和/或比较准确地重建原始视频数据。附加数据可呈例如时间、空间或SNR增强层、冗余条带、冗余图片、前向纠错码等形式。
根据一些实施例,解码器部件122包括缓冲存储器252、解析器254(有时也称为熵解码器)、缩放器/逆变换单元258、帧内图片预测单元262、运动补偿预测单元260、聚合器268、环路滤波器单元256、参考图片存储器266和当前图片存储器264。在一些实施例中,解码器部件122被实现为集成电路、一系列集成电路和/或其它电子电路。在一些实施例中,解码器部件122至少部分地以软件实现。
缓冲存储器252耦接在信道218和解析器254之间(例如,以防止网络抖动)。在一些实施例中,缓冲存储器252与解码器部件122分离。在一些实施例中,在信道218的输出与解码器部件122之间设置单独的缓冲存储器。在一些实施例中,除了解码器部件122内部的缓冲存储器252(例如,其被配置为处理播出定时)之外,在解码器部件122外部设置单独的缓冲存储器(例如,以防止网络抖动)。当从具有足够带宽和可控性的存储/转发设备或从等时同步网络接收数据时,也可能不需要缓冲存储器252,或可以将缓冲存储器252做得较小。为了在互联网等尽力而为分组网络上使用,也可能需要缓冲存储器252,所述缓冲存储器可相对较大且可有利地具有自适应性大小,且可以至少部分地实施于解码器部件122外部的操作系统或类似元件(未描绘)中。
解析器254被配置为从已编码视频序列中重建符号270。符号可以包括,例如,用于管理解码器部件122的操作的信息,和/或用于控制诸如显示器124的显示装置的信息。用于一个或多个显示装置的控制信息可以是,例如,辅助增强信息(SEI)消息或视频可用性信息(VUI)参数集片段(未描绘)的形式。解析器254对已编码视频序列进行解析(熵解码)。已编码视频序列的编码可以根据视频编码技术或标准,并且可以遵循本领域技术人员公知的原理,包括可变长度编码、霍夫曼编码、具有或不具有上下文灵敏度的算术编码等。解析器254可以基于对应于该组的至少一个参数,从已编码视频序列中提取用于视频解码器中的像素子群中的至少一个像素子群的一组子群参数。子群可以包括图片群组(GOP)、图片、图块、条带、宏块、编码单元(CU)、块、变换单元(TU)、预测单元(PU)等。解析器254还可以从已编码视频序列中提取诸如变换系数、量化器参数值、运动矢量等信息。
符号270的重建可以涉及多个不同单元,具体取决于已编码视频图片或其部分的类型(诸如:帧间图片和帧内图片、帧间块和帧内块)和其它因子。涉及哪些单元以及涉及方式可以由子群控制信息控制,该子群控制信息由解析器254从已编码视频序列解析。为了清楚起见,未描述解析器254与下文的多个单元之间的此类子群控制信息流。
除已经提及的功能块之外,解码器部件122可在概念上细分成如下文所描述的数个功能单元。在商业约束下运行的实际实施方式中,这些单元中的许多单元彼此紧密交互,并且可以至少部分地彼此集成。然而,出于描述所公开主题的目的,保持概念上细分为以下功能单元。
缩放器/逆变换单元258从解析器254接收作为符号270的量化变换系数以及控制信息(诸如待使用的变换方式、块大小、量化因子和/或量化缩放矩阵等)。缩放器/逆变换单元258可输出包括样本值的块,所述样本值可输入到聚合器268中。
在一些情况下,缩放器/逆变换单元258的输出样本属于帧内编码块;即:不使用来自先前重建的图片的预测性信息,但可使用来自当前图片的先前重建部分的预测性信息的块。此类预测性信息可由帧内图片预测单元262提供。帧内图片预测单元262可以使用从当前图片存储器264中获取的当前(部分已重建的)图片的周围已重建信息,生成大小和形状与重建中的块相同的块。聚合器268可以基于每个样本,将帧内图片预测单元262生成的预测性信息添加到由缩放器/逆变换单元258提供的输出样本信息中。
在其它情况下,缩放器/逆变换单元258的输出样本属于帧间编码和潜在运动补偿块。在此情况下,运动补偿预测单元260可访问参考图片存储器266以提取用于预测的样本。在根据属于块的符号270对提取的样本进行运动补偿之后,这些样本可由聚合器268添加到缩放器/逆变换单元258的输出(在这种情况下称为残差样本或残差信号),从而生成输出样本信息。运动补偿预测单元260从参考图片存储器266内的地址提取预测样本可受到运动矢量控制。运动矢量可以以符号270的形式提供给运动补偿预测单元260,这些符号可以具有,例如,X、Y和参考图片分量。运动补偿还可以包括在使用子样本精确运动矢量时,从参考图片存储器266提取的样本值的插值、运动矢量预测机制等等。
聚合器268的输出样本可在环路滤波器单元256中被各种环路滤波技术采用。视频压缩技术可包括环路内滤波器技术,所述环路内滤波器技术受控于包括在已编码视频码流中的参数,且所述参数作为来自解析器254的符号270可用于环路滤波器单元256。然而,在其他实施例中,视频压缩技术还可响应于在解码已编码图片或已编码视频序列的先前(按解码次序)部分期间获得的元信息,以及响应于先前重建且经过环路滤波的样本值。
环路滤波器单元256的输出可以是样本流,所述样本流可输出到显示器124等显示装置以及存储在参考图片存储器266,以用于后续的帧间图片预测。
一旦完全重建,某些已编码图片就可用作参考图片以用于将来预测。一旦已编码图片被完全重建,且已编码图片(通过例如解析器254)被识别为参考图片,则当前参考图片可变为参考图片存储器266的一部分,且可在开始重建后续已编码图片之前重新分配新的当前图片存储器。
解码器部件122可以根据预定的视频压缩技术来执行解码操作,该技术可以记录在标准中(诸如本申请中描述的任何标准)。已编码视频序列可以符合所使用的视频压缩技术或标准所规定的语法,即遵循视频压缩技术文档或标准中规定的视频压缩技术或标准的语法,特别是其中的配置文件中的语法。此外,为了符合一些视频压缩技术或标准,已编码视频序列的复杂度可以在由视频压缩技术或标准的层级所定义的范围内。在一些情况下,层级限制了最大图片大小、最大帧速率、最大重建采样率(例如以每秒兆个样本为单位进行测量)、最大参考图片大小等。在一些情况下,由层级设定的限制可通过假想参考解码器(HRD)规范和在已编码视频序列中用信号表示的HRD缓冲器管理的元数据进一步限定。
图3是图示根据一些实施例的服务器系统112的框图。服务器系统112包括控制电路302、一个或多个网络接口304、存储器314、用户接口306和用于互连这些部件的一个或多个通信总线312。在一些实施例中,控制电路302包括一个或多个处理器(例如,CPU、GPU和/或DPU)。在一些实施例中,控制电路包括一个或多个现场可编程门阵列(FPGA)、硬件加速器和/或一个或多个集成电路(例如,专用集成电路)。
一个或多个网络接口304可以被配置为与一个或多个通信网络(例如,无线网络、有线网络和/或光网络)连接。通信网络可以是局域网、广域网、城域网、车载网络和工业网络、实时网络、容忍延迟网络等等。通信网络的示例包括以太网、无线LAN、蜂窝网络(包括GSM、3G、4G、5G、LTE等)等局域网、电视有线或无线广域数字网络(包括有线电视、卫星电视和地面广播电视)、车载网络和工业网络(包括CAN总线)等。这种通信可以是单向的、仅接收的(例如,广播电视)、单向仅发送的(例如,CAN总线到某些CAN总线设备)或双向的(例如,到使用局域或广域数字网络的其它计算机系统)。这种通信可以包括到一个或多个云计算网络的通信。
用户接口306包括一个或多个输出设备308和/或一个或多个输入设备310。一个或多个输入设备310可以包括以下一个或多个:键盘、鼠标、触摸板、触摸屏、数据手套、控制杆、麦克风、扫描仪、相机等。一个或多个输出设备308可以包括以下一个或多个:音频输出设备(例如,扬声器)、视觉输出设备(例如,显示器或监测器)等。
存储器314可以包括高速随机存取存储器(诸如DRAM、SRAM、DDR RAM和/或其它随机存取固态存储器设备)和/或非易失性存储器(诸如一个或多个磁盘存储设备、光盘存储设备、闪存设备和/或其它非易失性固态存储设备)。存储器314可以选择包括一个或多个远离控制电路302的存储设备。存储器314,或者,可选地,存储器314内的一个或多个非易失性固态存储设备包括非易失性计算机可读存储介质。在一些实施例中,存储器314或存储器314的非易失性计算机可读存储介质存储以下程序、模块、指令和数据结构或其子集或超集:
·操作系统316,包括处理各种基本系统服务和执行硬件相关任务的进程;
·网络通信模块318,用于通过一个或多个网络接口304(例如,通过有线和/或无线连接)将服务器系统112连接到其它计算设备;
·编码模块320,用于执行与编码和/或解码数据(诸如视频数据)有关的各种功能。在一些实施例中,编码模块320是编码器部件114的实例。编码模块320包括但不限于以下一个或多个模块:
o解码模块322,用于执行与解码已编码数据有关的各种功能,如前文描述的与解码器部件122有关的功能;和
o编码模块340,用于执行与编码数据有关的各种功能,如前文描述的与编码器部件106有关的功能;
·图片存储器352,用于存储图片和图片数据,例如,与编码模块320一起使用。在一些实施例中,图片存储器352包括以下一个或多个:参考图片存储器208、缓冲存储器252、当前图片存储器264和参考图片存储器266。
在一些实施例中,解码模块322包括解析模块324(例如,被配置为执行前文描述的与解析器254有关的各种功能)、变换模块326(例如,被配置为执行前文描述的与标量/逆变换单元258有关的各种功能)、预测模块328(例如,被配置为执行前文描述的与运动补偿预测单元260和/或帧内图片预测单元262有关的各种功能)和滤波器模块330(例如,被配置为执行前文描述的与环路滤波器单元256有关的各种功能)。
在一些实施例中,编码模块340包括编解码模块342(例如,被配置为执行前文描述的与源编码器202、编码引擎212和/或熵编码器214有关的各种功能)和预测模块344(例如,被配置为执行前文描述的与预测器206有关的各种功能)。在一些实施例中,解码模块322和/或编码模块340包括图3所示的模块的子集。例如,解码模块322和编码模块340都使用共享预测模块。
存储器314中存储的上述已识别的模块中的每个模块都对应于用于执行本申请中描述的功能的指令集。上述已识别的模块(例如,指令集)不必作为单独的软件程序、进程或模块来实现,因此,在各种实施例中,这些模块的各种子集可以组合或以其它方式重新排列。例如,编码模块320可以不包括单独的解码模块和编码模块,而是使用同一组模块来执行两组功能。在一些实施例中,存储器314存储上文所识别的模块和数据结构的子集。在一些实施例中,存储器314存储上文没有描述的附加模块和数据结构,诸如音频处理模块。
在一些实施例中,服务器系统112包括网络或超文本传输协议(HTTP)服务器、文件传输协议(FTP)服务器、以及使用公共网关接口(CGI)脚本、PHP超文本预处理器(PHP)、活动服务器页面(ASP)、超文本标记语言(HTML)、可扩展标记语言(XML)、Java、JavaScript、异步JavaScript和XML(AJAX)实现的网页和应用程序、XHP、Javelin、无线通用资源文件(WURFL)等。
尽管图3示出了根据一些实施例的服务器系统112,但图3更多地是作为一个或多个服务器系统中可能存在的各种特征的功能描述,而不是本申请中描述的实施例的结构示意图。在实践中,正如本领域普通技术人员所认识到的,单独示出的项目可以合并,一些项目可以分开。例如,图3中单独示出的一些项目可以在单个服务器上实现,单个项目可以由一个或多个服务器实现。用于实现服务器系统112的服务器的实际数量,以及如何在它们之间分配特征,将因实施方式而异,并且可选地,部分取决于服务器系统在高峰使用期以及在平均使用期处理的数据流量。
示例编码方法
图4A至图4D图示了根据一些实施例的示例编码树结构。如图4A中的第一编码树结构(400)所示,一些编码方法(例如,VP9)使用从64×64级开始向下到4×4级的4路分区树,对块8×8有一些附加限制。在图4A中,指定为R的分区可以被称为递归分区,因为以更低的比例重复相同的分区树,直到达到最低的4×4级为止。
如图4B中的第二编码树结构(402)所示,一些编码方法(例如,AV1)将分区树扩展为10路结构,并将最大大小(例如,称为VP9/AV1说法中的超级块)从128×128开始增大。第二编码树结构包括第一编码树结构中没有的4:1/1:4矩形分区。在图4B的第二行中具有3个子分区的分区类型被称为T型分区。这种树结构中的矩形分区不能被进一步细分。除了编码块大小之外,还可以定义编码树深度以指示从根节点开始的分割深度。例如,将根节点的编码树深度(例如128×128)设置为0,在将树块进一步分割一次之后,编码树深度增加1。
举例来说,AV1不像VP9那样强制执行固定的变换单元大小,而是允许将亮度编码块分区成多种大小的变换单元,这些变换单元可以通过向下递归最多2级的分区来表示。为了整合AV1的扩展编码块分区,支持从4×4到64×64的正方形、2:1/1:2和4:1/1:4变换大小。对于色度块,仅允许最大可能的变换单元。
例如,CTU可以通过使用表示为编码树的四叉树结构分割成CU,以适应各种局部特性,例如在HEVC中。在一些实施例中,在CU级决定是使用帧间图片(时间)预测还是帧内图片(空间)预测对图片区域进行编码。根据PU分割类型,每个CU可进一步分割成一个、两个或四个PU。在一个PU内,应用相同的预测过程,相关信息以PU为单位传输到解码器。通过应用基于PU分割类型的预测过程获得残差块之后,可以根据另一四叉树结构(如CU的编码树)将CU分区成TU。HEVC结构的主要特点之一是它具有多个分区概念,包括CU、PU和TU。在HEVC中,CU或TU只能是正方形,而PU可以为用于帧间预测块的正方形或矩形形状。在HEVC中,一个编码块可进一步分割成四个正方形子块,并且对每个子块(TU)进行变换。每个TU可以递归地进一步分割(使用四叉树分割)成更小的TU,这被称为残差四叉树(RQT)。在图片边界,诸如在HEVC中,可以采用隐式四叉树分割,这样一个块就会一直进行四叉树分割,直到大小适合图片边界为止。
使用二元分割片段结构和三元分割片段结构的具有嵌套多类型树的四叉树,诸如在VVC中,可代替多个分区单元类型的概念,例如,它取消了CU、PU和TU概念的分离,但尺寸过大无法满足最大变换长度的CU所需的情况,并支持更灵活的CU分区形状。在编码树结构中,CU可以是正方形或矩形。ACTU首先由四元树(也称为四叉树)结构进行分区。四元树叶节点可以由多类型树结构进行进一步分区。如图4C中的第三编码树结构(404)所示,多类型树结构包括四种分割类型。例如,多类型树结构包括垂直二元分割(SPLIT_BT_VER)、水平二元分割(SPLIT_BT_HOR)、垂直三元分割(SPLIT_TT_VER)和水平三元分割(SPLIT_TT_HOR)。多类型树叶节点被称为CU,除非CU对于最大变换长度来说太大,否则该分段将用于预测和变换处理,而无需任何进一步分区。这意味着,在大多数情况下,在具有嵌套多类型树编码块结构的四叉树中,CU、PU和TU具有相同的块大小。当支持的最大变换长度小于CU色彩分量的宽度或高度时,则属于例外情况。图4D示出了一个CTU(406)的块分区示例,其图示了具有嵌套多类型树编码块结构的示例四叉树。
支持的最大亮度变换大小可以为64×64,支持的最大色度变换大小可以为32×32,诸如在VVC中。当CB的宽度或高度大于最大变换宽度或高度时,CB在水平方向和/或垂直方向上自动分割,以满足该方向上的变换大小限制。
编码树方案支持亮度和色度具有单独的块树结构的能力,诸如在VTM7中。在一些情况下,对于P条带和B条带,一个CTU中的亮度CTB和色度CTB共享同一编码树结构。然而,对于I条带,亮度和色度可以具有单独的块树结构。当应用单独的块树模式时,一个亮度CTB通过一个编码树结构被分区成CU,并且色度CTB通过另一编码树结构被分区成色度CU。这意味着I条带中的CU可以包括亮度分量的编码块或两个色度分量的编码块或由其组成,且P条带或B条带中的CU可以总是包括所有三个色彩分量的编码块或由其组成,除非视频是单色的。
为了支持扩展编码块分区,可以使用多个变换大小(例如,对于每个维度从4点到64点的范围)和变换形状(例如,宽/高比为2:1/1:2和4:1/1:4的正方形或矩形),诸如在AV1中。
二维变换过程可以涉及混合变换核(例如,由已编码残差块的每个维度的不同一维变换构成)的使用。一维主变换可以包括以下至少一种:a)4点、8点、16点、32点、64点离散余弦变换DCT-2;b)4点、8点、16点非对称离散正弦变换(DST-4、DST-7)及其翻转形式;或c)4点、8点、16点、32点恒等变换。表1中列出了用于DCT-2和非对称DST(诸如在AV1中使用的)的基函数。
表1——示例AV1主变换基函数
混合变换核的可用性可以基于变换块大小和预测模式。以下表2列出了示例性的依赖关系,其中,“→”和“↓”表示水平维度和垂直维度,“√”和“×”表示用于该块大小和预测模式的核的可用性。IDTX(或IDT)代表恒等变换。
/>
表2——基于预测模式和块大小的混合变换核的可用性
对于色度分量,以隐式方式执行变换类型选择。对于帧内预测残差,根据帧内预测模式来选择变换类型,例如如表3中所指定的。对于帧间预测残差,可以根据同位亮度块的变换类型选择来选择变换类型。因此,对于色度分量,不需要码流中的用信号通知变换类型。
帧内预测 垂直变换 水平变换
DC_PRED DCT DCT
V_PRED ADST DCT
H_PRED DCT ADST
D45_PRED DCT DCT
D135_PRED ADST ADST
D113_PRED ADST DCT
D157_PRED DCT ADST
D203_PRED DCT ADST
D67_PRED ADST DCT
SMOOTH_PRED ADST ADST
SMOOTH_V_PRED ADST DCT
SMOOTH_H_PRED DCT ADST
PAETH_PRED ADST ADST
表3——用于色度分量帧内预测残差的变换类型选择
引入了线图变换(LGT)目的是代替并扩展(通过引入32点、64点)上述一维DST。
图是包括顶点和边的集合或由其组成的通用数学结构,用于对感兴趣对象之间的相似性关系进行建模。加权图(其中将一组权重分配给边,并可能分配给顶点)为信号/数据的鲁棒建模提供稀疏表示。LGT可以更好地适应不同的块统计数据,从而提高编码效率。可分离LGT是通过从数据中学习线图来设计和优化的,以对残差信号中的块的底层行和列统计数据进行建模,其中使用相关联的广义图拉普拉斯(GGL)矩阵来导出LGT。图5A示出了由自循环权重vc1、vc2和边权重wc表征的示例LGT。
给定加权图G(W,V),GGL矩阵可以定义为:
Lc=D-W+V
其中W是包括非负边权重wc或由其组成的邻接矩阵,D是对角度矩阵,V是表示加权自循环vc1,vc2的对角矩阵。矩阵Lc可以表示为:
然后可以通过GGL Lc=UΦUT的特征分解来导出LGT,其中正交矩阵U的列是LGT的基向量,Φ是对角特征值矩阵。DCT和DST,包括DCT-2、DCT-8和DST-7,是从某些形式的GGL导出来的LGT。例如,DCT-2可以通过设置vc1=0来导出,DST-7可以通过设置vc1=wc来导出,DCT-8可以通过设置vc2=wc来导出,DST-4可以通过设置vc1=2wc来导出,DCT-4可以通过设置vc2=2wc来导出。
LGT可以以矩阵乘法的形式实现。4p LGT核心可以通过在Lc中设置vc1=2wc来导出,这意味着它是DST-4。8p LGT核心可以通过在Lc中设置vc1=1.5wc来导出。16pLGT核心、32pLGT核心、64p LGT核心可以通过在Lc中设置vc1=wc来导出,这意味着它是DST-7。
在AV1中的残差编码示例中,对于每个变换单元,系数编码以用信号通知跳过符号开始,随后是变换核类型和的块结束(eob)位置。然后,将每个系数值映射到多个层级图和符号。在对eob位置编码之后,可以按反向扫描顺序对低级映射和中级映射进行编码,前者指示系数量值是否在0和2之间,而后者指示系数量值范围是否在3和14之间。下一步骤,按正向扫描顺序,对系数的符号以及大于14的系数残差值用指数哥伦布码进行编码。
至于上下文建模的使用,低级映射编码包括变换大小和方向以及多达五个相邻系数信息。另一方面,中级映射编码遵循与低级映射编码类似的方法,只是相邻系数的数量减少到两个。残差级的指数哥伦布码以及AC系数的符号编码不需要任何上下文模型,而DC系数的符号则使用其相邻变换单元的DC符号进行编码。
在用于变换跳过的残差编码的示例中,诸如在VVC中,以变换跳过模式(TSM)编码的CU可以使用修改后的变换编码过程。这些修改可归纳如下:(a)所有子块和子块内的位置均按正向扫描顺序扫描;(b)最后一个有效系数位不用信号通知;(c)不对最后一个子块的语法元素coded_sub_block_flag进行编码;(d)对语法sig_coeff_flag、abs_level_gt1和par_level_flag的上下文建模进行修改;以及(e)对符号标志基于左侧和上方相邻值进行上下文编码。
在AV2的开发过程中,引入了一种称为前向跳过编码(FSC)的新模式,以修改IDTX(二维变换跳过)的变换编码过程。FSC引入的修改在功能上类似于上述VVC变换跳过模式引入的修改,可以总结如下:(a)按正向扫描顺序扫描所有已编码块和已编码块内的位置;(b)跳过EOB语法;(c)对系数级使用缩减的上下文;和(d)对符号标志基于左侧、下方和左下方相邻值进行上下文编码。
对于帧内块,当选择FSC模式时,不用信号通知变换块的变换类型。相反,变换类型的信令与FSC模式捆绑在编码块级。帧间块不用信号通知FSC模式,但是如果变换类型是IDTX并且屏幕内容标志被启用,则隐式选择FSC方法。
对于变换系数的熵编码,可以使用旁路模式将系数符号与量值/层级(系数值的绝对值)分开编码。分开编码意味着每个系数符号可能需要消耗一个比特进行编码,成本较高。为了提高系数符号的熵编码效率,可以使用符号预测技术。例如,可以使用上下文对指示预测符号是否与实际符号相同的标志进行熵编码,而不是用信号通知符号值。上下文值可以取决于系数的层级(系数值的绝对值),因为层级值越大,预测符号值越准确。
在一个示例中,识别一组需要预测相关联符号的变换系数。然后为这些系数的预测符号值生成一组假设。例如,对于三个系数,假设的数量可以高达8(2^3)。为了预测符号值,每个假设都有一个相关联的成本值,成本最小的假设用于指定该假设所涵盖系数的预测符号值。
图5A示出了变换块500以及相邻行502和相邻列504中的像素位置的示例。在一些实施例中,每个假设的成本计算如下。在重建过程(例如,去量化、逆变换)之后,生成与给定假设相关联的重建块(假设重建),并且导出已重建块的边界样本,例如,p0,y和px,0。对于已重建块左侧边界的每个已重建像素p0,y,使用先前已重建的左侧两个相邻像素进行简单的线性预测,得到其预测值pred0,y=(2p-1,y-p-2,y)。将该预测值和已重建像素p0,y之间的绝对差添加到假设的成本中。对已重建块的顶部行中的像素进行类似的处理,对每个预测值predx,0=(2px,-1–px,-2)和已重建像素px,0的绝对差求和。因此,每个系数符号预测假设的成本计算如下式3所示。
等式3——预测成本
在一些实施例中,第一色彩分量的符号值被用作对第二色彩分量的符号值进行编码的上下文。例如,如果Cb色彩分量和Cr色彩分量的变换块的(i,j)位置处的变换系数都不为零,则位于(i,j)位置的Cb变换系数的符号值可以用作对位于(i,j)处的Cr变换系数的符号值进行编码的上下文。
图5B示出了根据一些实施例的变换块550中的示例扫描顺序和示例低频像素。变换块550包括64个像素(对应于8列和8行)。在图5B的示例中,框552指示变换块550的低频像素(例如,像素P0,0到P2,2)。在其它示例中,框552可以具有矩形形状,并且包括或多或少的行和/或列(例如,框552可以包括P3,n列和/或Pn,3行)。图5B还图示了示例扫描顺序554(例如,以Z字形模式从P0,0前进到P7,7)。在一些实施例中,使用其它扫描顺序。
图6是图示根据一些实施例的视频编码方法600的流程图。该方法600可以在具有控制电路和存储用于由控制电路执行的指令的存储器的计算系统(例如,服务器系统112、源装置102或电子装置120)处执行。在一些实施例中,通过执行存储在计算系统的存储器(例如,存储器314)中的指令来执行方法600。
当对第一色彩分量(例如,Cr)的符号值进行熵编码时,可以使用不同的上下文设计。例如,可以使用基于相邻块的符号预测或跨分量符号编码来导出上下文。在一些实施例中,对不同的变换系数使用不同的符号预测技术,以提高(最大化)效率并降低计算成本和带宽使用。
系统获取(602)包括多个块的视频数据,该多个块包括第一块。该系统确定(604)与第一块相关联的多个变换系数。系统使用第一种技术预测(606)多个变换系数的第一集合的相应系数符号。系统使用第二种技术预测(608)多个变换系数的第二集合的相应系数符号,第二种技术不同于该第一种技术。系统基于多个变换系数以及预测的第一集合和第二集合的相应系数符号,重建(610)第一块。在一些实施例中,系统放弃(612)预测多个变换系数的第三集合的相应系数符号。该方法600可以选择应用于亮度块和/或色度块。
在本发明中,术语“块”可解释为预测块、编码块或编码单元(CU)。术语“块”还可用于指代变换块。在各种情况下,术语“块大小”可以指块宽度或高度,或宽度和高度的最大值,或宽度和高度的最小值,或区域大小(宽度*高度),或块的纵横比(宽度:高度,或高度:宽度)。
在一些实施例中,在确定当前变换系数块的哪些符号通过跨分量符号编码技术进行编码,以及当前变换系数块的哪些符号通过符号预测技术进行编码时,使用以下方法中的一种方法。在第一示例方法中,首先确定其符号是通过符号预测技术进行编码的变换系数,然后对剩余的变换系数符号应用跨分量符号编码技术。在第二示例方法中,首先确定其符号是通过跨分量符号编码技术进行编码的变换系数,然后对剩余的变换系数符号应用符号预测技术。
在一些实施例中,对于具有非零Cr变换系数但具有零同位Cb变换系数的变换系数,应用符号预测技术。否则,符号预测技术不适用。
在一些实施例中,对于沿扫描顺序位于前N个变换系数之外的变换系数,通过跨分量符号编码技术对其符号进行编码。否则,跨分量符号编码技术不适用。
在一些实施例中,不是用显式方式对符号值编码,而是用信号通知指示符,该指示符指定第一色彩分量的当前变换系数的符号值是否与位于第二色彩分量的指定位置处的另一变换系数的符号值相同。在一些实施例中,第一色彩分量是Cr(或Cb)色彩分量,第二色彩分量是Cb(或Cr)色彩分量。在一些实施例中,第二色彩分量的指定位置指的是与第一色彩分量的变换系数同位的变换系数位置。在一些实施例中,仅在第一色彩分量和第二色彩分量的变换系数都不为零时,才应用该方法。在一些实施例中,当第二色彩分量的变换系数为零时,在不使用上下文的情况下对同位的变换系数的符号值进行编码,例如,旁路编码或文字编码。
在一些实施例中,在解析(熵解码)过程中,根据本申请中描述的技术和方法将数值转换成符号。例如,获取包括多个块的视频数据,该多个块包括第一块;确定与第一块相关联的多个变换系数;使用第一种技术预测多个变换系数的第一集合的相应系数符号;使用第二种技术预测多个变换系数的第二集合的相应系数符号,该第二种技术不同于该第一种技术;以及基于多个变换系数以及预测的第一集合和第二集合的相应系数符号,重建第一块。
尽管图6以特定顺序图示了多个逻辑阶段,但是可以对不依赖于顺序的阶段进行重新排序,可以对其它阶段进行组合或分解。没有具体提及的一些重新排序或其它分组对于本领域的普通技术人员来说是显而易见的,因此本申请给出的排序和分组并不详尽。此外,应当认识到,可以以硬件、固件、软件或其任何组合实现各个阶段。
现在转向一些示例实施例。
(A1)在一个方面,一些实施例包括视频解码方法(例如,方法600)。在一些实施例中,该方法在具有存储器和控制电路的计算系统(例如,服务器系统112)中执行。在一些实施例中,在编码模块(例如,编码模块320)中执行该方法。在一些实施例中,该方法在熵编码器(例如,熵编码器214)上执行。在一些实施例中,在解析器(例如,解析器254)上执行该方法。该方法包括:(i)从视频码流获取包括多个块的视频数据,该多个块包括第一块;(ii)确定与第一块相关联的多个变换系数,其中与多个变换系数相关联的系数符号未在视频码流中显式地用信号通知;(iii)使用第一种技术预测多个变换系数的第一集合的相应系数符号;(iv)使用第二种技术预测多个变换系数的第二集合的相应系数符号,该第二种技术不同于该第一种技术;以及(v)基于多个变换系数以及预测的第一集合和第二集合的相应系数符号,重建第一块。例如,多个块是变换块。在一些实施例中,第一块包括亮度块。在一些实施例中,第一块包括色度块。在一些实施例中,第一块的每个元素对应于已重建像素。
(A2)在A1的一些实施例中,第一种技术包括基于一个或多个相邻分量(例如,相邻系数、块或重建样本),预测色彩系数的系数符号。例如,选择第一符号,并基于一个或多个相邻分量,确定第一符号的成本;然后选择不同的符号,并基于一个或多个相邻分量,确定第二符号的成本;然后,将关联成本最低的符号用作预测符号。在一些情况下,第一种技术比第二种技术使用更多的计算资源(例如,因为第二种技术涉及测试多个假设,而第一种技术不涉及)。
(A3)在A1或A2的一些实施例中,第二种技术包括基于不同色彩系数的符号值,预测色彩系数的系数符号。例如,基于Cr分量的符号,预测Cb分量的符号(例如,在相同的块位置)。在一些实施例中,每个块都与多个(例如,3个)色彩分量相关联。在某些情况下,色彩分量系数符号是强相关的。因此,基于色彩上下文信息进行符号预测的概率可以是90/10,而不是50/50,这样进行熵编码的效率更高。在某些情况下,第二种技术不能用于所有变换系数。例如,如果不同色彩系数的系数为零,则不能基于不同色彩系数来预测色彩系数的系数符号。
(A4)在A1至A3中任一项的一些实施例中,该方法进一步包括:放弃预测多个变换系数的第三集合的相应系数符号。例如,使用旁路编码方式或文字编码方式分配第三组元素的符号值。
(A5)在A1至A4中任一项的一些实施例中,该方法进一步包括:基于一个或多个基于频率的准则,选择第一集合用于第一种技术。例如,第一组元素中的元素的相关联频率小于预设阈值频率。
(A6)在A1至A5中任一项的一些实施例中,该方法进一步包括:基于第一块的扫描顺序,选择第一集合用于第一种技术。在一些实施例中,第一组元素由第一块的扫描顺序开始处的元素序列组成(例如,沿扫描顺序的前5个元素)。
(A7)在A1至A6中任一项的一些实施例中,该方法进一步包括:基于第一块的预定义区域,选择第一集合用于第一种技术。例如,预定义区域是第一块左上方的N×N区域或N×M区域,诸如1×1、2×2、2×3、3×2、4×3或3×4区域。
(A8)在A1至A7中任一项的一些实施例中,该方法进一步包括:根据对于第二集合的每个变换系数为非零的判断,选择第二集合用于第二种技术。
(A9)在A1至A8中任一项的一些实施例中:(i)第二集合包括第一色彩的一组色彩元素;以及(ii)该方法进一步包括:根据对于第二集合的每个元素,第二色彩的对应色彩元素具有非零变换系数的判断,选择第二集合用于第二种技术。在一些实施例中,根据每个元素具有非零变换系数且对应的第二色彩元素也具有非零变换系数的判断,选择第二组元素用于第二种技术。
(B1)在另一方面,一些实施例包括一种视频编码的方法。在一些实施例中,该方法在具有存储器和控制电路的计算系统(例如,服务器系统112)中执行。在一些实施例中,在编码模块(例如,编码模块320)中执行该方法。在一些实施例中,该方法在熵编码器(例如,熵编码器214)上执行。在一些实施例中,在解析器(例如,解析器254)上执行该方法。该方法包括:(i)获取包括多个块的视频数据,该多个块包括由多个元素构成的第一块,以及(ii)对于多个元素中的每个元素,编码一个指示符,该指示符指定该元素的变换系数的符号值是否与相应的第二元素的变换系数的符号值相同。与指示符相关联的概率可以是90/10,而不是与系数符号相关联的50/50,其中90/10对于熵编码而言,效率更高。
(B2)在B1的一些实施例中,多个元素对应于第一色彩,而第二元素对应于不同于第一色彩的第二色彩。例如,第一色彩是红色(或蓝色),而第二色彩是蓝色(或红色)。
(B3)在B1或B2的一些实施例中,对于多个元素中的每个元素,相应的第二元素与该元素同位。例如,对于每个元素,第二元素是不同色彩的同位元素。
(B4)在B1至B3中任一项的一些实施例中,该方法进一步包括:根据对于多个元素中的每个元素,该元素和相应第二元素均具有非零变换系数的判断,选择该多个元素用于编码。
(B5)在B1至B4中任一项的一些实施例中,该方法进一步包括:对于第一块的第二多个元素中的每个元素,使用旁路编码方式或文字编码方式对该元素的符号进行编码。例如,在不使用上下文信息的情况下,对第二多个元素中的每个元素的符号进行编码。
本文中描述的方法可以单独使用或以任何顺序组合使用。方法中的每种方法可以由处理电路(例如,一个或多个处理器或一个或多个集成电路)实现。在一些实施例中,处理电路执行存储在非易失性计算机可读介质中的程序。
在另一方面,一些实施例包括计算系统(例如,服务器系统112),该计算系统包括控制电路(例如,控制电路302)和耦接到控制电路的存储器(例如,存储器314),该存储器存储被配置为由控制电路执行的一个或多个指令集,该一个或多个指令集包括用于执行本文中描述的方法中的任何方法(例如,上述A1至A9和B1至B5)的指令。
在又一方面,一些实施例包括存储用于由计算系统的控制电路执行的一个或多个指令集的非易失性计算机可读存储介质,该一个或多个指令集包括用于执行本文中描述的方法中的任何方法(例如,上述A1至A9和B1至B5)的指令。
应当理解,虽然术语“第一”、“第二”等在本文中可用于描述各种元素,但这些元素不应受这些术语的限制。这些术语仅用于区分一个元素与另一个元素。
本文使用的术语仅用于描述特定实施例的目的,而不旨在限制权利要求。如在实施例和所附权利要求的描述中所使用的,单数形式“一个/一种(a/an)”和“该/所述”也旨在包括复数形式,除非上下文另外明确指出。还将理解,如本文所用的术语“和/或”是指并涵盖一个或多个相关联的所列项目的任何和所有可能的组合。还应当理解,当在本说明书中使用时,术语“包括(comprises/comprising)”指定所述特征、整数、步骤、操作、元件和/或部件的存在,但不排除一个或多个其它特征、整数、步骤、操作、元件、部件和/或其组合的存在或添加。
如本文所用,术语“如果”可以被解释为意指“当”或“在……时”或“响应于确定”或“根据确定”或“响应于检测”所述的先决条件为真,具体取决于上下文。类似地,短语“如果确定[所述的先决条件为真]”或“如果[所述的先决条件为真]”或“当[所述的先决条件为真]”可被解释为意指“在确定时”或“响应于确定”或“根据确定”或“在检测时”或“响应于检测”所述的先决条件为真,具体取决于上下文。
为了解释的目的,已经参考具体实施例描述了前述描述。然而,上述说明性讨论并不旨在穷举或将权利要求限制为所公开的精确形式。鉴于上述教导,许多修改和变化是可能的。选择和描述实施例是为了最好地解释操作原理和实际应用,从而使本领域的其它技术人员能够使用。

Claims (20)

1.一种在具有存储器和一个或多个处理器的计算系统处执行的视频解码方法,其特征在于,所述方法包括:
从视频码流中获取包括多个块的视频数据,所述多个块包括第一块;
确定与所述第一块相关联的多个变换系数,其中与所述多个变换系数相关联的系数符号未在所述视频码流中显式地用信号通知;
使用第一种技术预测所述多个变换系数的第一集合的相应系数符号;
使用第二种技术预测所述多个变换系数的第二集合的相应系数符号,所述第二种技术不同于所述第一种技术;以及
基于所述多个变换系数以及预测的所述第一集合和所述第二集合的相应系数符号,重建所述第一块。
2.根据权利要求1所述的方法,其特征在于,所述第一种技术包括基于一个或多个相邻分量,预测色彩系数的系数符号。
3.根据权利要求1所述的方法,其特征在于,所述第二种技术包括基于不同色彩系数的符号值,预测色彩系数的系数符号。
4.根据权利要求1所述的方法,其特征在于,进一步包括:放弃预测所述多个变换系数的第三集合的相应系数符号。
5.根据权利要求1所述的方法,其特征在于,进一步包括:基于一个或多个基于频率的准则,选择所述第一集合用于所述第一种技术。
6.根据权利要求1所述的方法,其特征在于,进一步包括:基于所述第一块的扫描顺序,选择所述第一集合用于所述第一种技术。
7.根据权利要求1所述的方法,其特征在于,进一步包括:基于所述第一块的预定义区域,选择所述第一集合用于所述第一种技术。
8.根据权利要求1所述的方法,其特征在于,进一步包括:根据所述第二集合的每个变换系数为非零的判断,选择所述第二集合用于所述第二种技术。
9.根据权利要求1所述的方法,其特征在于,所述第二集合包括第一色彩的一组色彩元素;
所述方法进一步包括:根据对于所述第二集合的每个元素,第二色彩的对应色彩元素具有非零变换系数的判断,选择所述第二集合用于所述第二种技术。
10.一种计算系统,其特征在于,包括:
控制电路;
存储器;和
一个或多个指令集,存储在所述存储器中并且被配置为由所述控制电路执行,所述一个或多个指令集包括用于以下操作的指令:
从视频码流中获取包括多个块的视频数据,所述多个块包括第一块;
确定与所述第一块相关联的多个变换系数,其中与所述多个变换系数相关联的系数符号未在所述视频码流中显式地用信号通知;
使用第一种技术预测所述多个变换系数的第一集合的相应系数符号;
使用第二种技术预测所述多个变换系数的第二集合的相应系数符号,所述第二种技术不同于所述第一种技术;以及
基于所述多个变换系数以及预测的所述第一集合和所述第二集合的相应系数符号,重建所述第一块。
11.根据权利要求10所述的计算系统,其特征在于,所述第一种技术包括基于一个或多个相邻分量,预测色彩系数的系数符号。
12.根据权利要求10所述的计算系统,其特征在于,所述第二种技术包括基于不同色彩系数的符号值,预测色彩系数的系数符号。
13.根据权利要求10所述的计算系统,其特征在于,所述一个或多个指令集进一步包括指令,用于基于一个或多个基于频率的准则,选择所述第一集合用于所述第一种技术。
14.根据权利要求10所述的计算系统,其特征在于,所述一个或多个指令集进一步包括指令,用于基于所述第一块的扫描顺序,选择所述第一集合用于所述第一种技术。
15.根据权利要求10所述的计算系统,其特征在于,所述一个或多个指令集进一步包括指令,用于基于所述第一块的预定义区域,选择所述第一集合用于所述第一种技术。
16.根据权利要求10所述的计算系统,其特征在于,所述一个或多个指令集进一步包括指令,用于根据所述第二集合的每个变换系数为非零的判断,选择所述第二集合用于所述第二种技术。
17.一种非易失性计算机可读存储介质,其特征在于,其存储被配置为由具有控制电路和存储器的计算设备执行的一个或多个指令集,所述一个或多个指令集包括用于以下操作的指令:
从视频码流中获取包括多个块的视频数据,所述多个块包括第一块;
确定与所述第一块相关联的多个变换系数,其中与所述多个变换系数相关联的系数符号未在所述视频码流中显式地用信号通知;
使用第一种技术预测所述多个变换系数的第一集合的相应系数符号;
使用第二种技术预测所述多个变换系数的第二集合的相应系数符号,所述第二种技术不同于所述第一种技术;以及
基于所述多个变换系数以及预测的所述第一集合和所述第二集合的相应系数符号,重建所述第一块。
18.根据权利要求17所述的非易失性计算机可读存储介质,其特征在于,所述第一种技术包括基于一个或多个相邻分量,预测色彩系数的系数符号。
19.根据权利要求17所述的非易失性计算机可读存储介质,其特征在于,所述第二种技术包括基于不同色彩系数的符号值,预测色彩系数的系数符号。
20.根据权利要求17所述的非易失性计算机可读存储介质,其特征在于,所述一个或多个指令集进一步包括指令,用于基于一个或多个基于频率的准则,选择所述第一集合用于所述第一种技术。
CN202380011074.2A 2022-05-12 2023-03-29 变换系数符号预测和编解码的系统和方法 Pending CN117397237A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US202263341057P 2022-05-12 2022-05-12
US63/341,057 2022-05-12
US18/127,556 2023-03-28
US18/127,556 US20230370603A1 (en) 2022-05-12 2023-03-28 Systems and methods for transform coefficient sign prediction and coding
PCT/US2023/016750 WO2023219722A1 (en) 2022-05-12 2023-03-29 Systems and methods for transform coefficient sign prediction and coding

Publications (1)

Publication Number Publication Date
CN117397237A true CN117397237A (zh) 2024-01-12

Family

ID=88698647

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202380011074.2A Pending CN117397237A (zh) 2022-05-12 2023-03-29 变换系数符号预测和编解码的系统和方法

Country Status (3)

Country Link
US (1) US20230370603A1 (zh)
CN (1) CN117397237A (zh)
WO (1) WO2023219722A1 (zh)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10609367B2 (en) * 2016-12-21 2020-03-31 Qualcomm Incorporated Low-complexity sign prediction for video coding
AU2019232801A1 (en) * 2019-09-17 2021-04-01 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding a block of video samples

Also Published As

Publication number Publication date
US20230370603A1 (en) 2023-11-16
WO2023219722A1 (en) 2023-11-16

Similar Documents

Publication Publication Date Title
CN111630864B (zh) 编解码方法、装置和媒介
CN110881127B (zh) 控制残差编码的方法、装置、计算机设备和存储介质
JP7229355B2 (ja) 残差符号化を制御する方法、装置およびコンピュータ・プログラム
US20230247214A1 (en) Configurable maximum transform size
CN113615187A (zh) 用于改进的隐式变换选择的方法和装置
US11032543B2 (en) Method and apparatus for video coding
JP2022515029A (ja) ビデオ復号及び符号化の方法、装置並びにコンピュータプログラム
JP2024019644A (ja) ビデオコーディングのための方法、装置及びプログラム
CN111757122B (zh) 视频解码方法和装置、计算机设备和存储介质
CN114616831A (zh) 用于视频编码的方法和装置
CN117397237A (zh) 变换系数符号预测和编解码的系统和方法
US20230412812A1 (en) Systems and methods for joint signaling of transform coefficient signs
US20230319260A1 (en) Systems and methods for frequency-dependent coefficient sign coding
US20240129461A1 (en) Systems and methods for cross-component sample offset filter information signaling
US20230283779A1 (en) Coefficient sign prediction for transform skip
CN117280686A (zh) 用于分区相关的二次变换的系统和方法
US20230396762A1 (en) Systems and methods for partition-based predictions
CN117044203A (zh) 用于一维变换跳过的eob的信令
CN118160312A (zh) 用于发信号通知交叉分量样本偏移滤波器信息的系统和方法
CN117426092A (zh) 用于在视频编码的帧内预测模式下确定色度样本的系统和方法
CN116158076A (zh) 有效应用lgt的方法

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