本公开描述了总体上涉及视频编解码的实施例。
背景技术:
1、本文所提供的背景描述旨在整体呈现本公开的背景。目前已署名的发明人的某些工作(即已在此背景技术部分中做出描述的工作)以及本说明书的各个方面中所描述的尚未成为申请日之前的现有技术的内容,从未明示或暗示其被承认为本公开的现有技术。
2、通过具有运动补偿的帧间图片预测,可以进行视频编码和解码。未压缩的数字视频可包括一系列图片,每个图片具有例如1920x1080亮度样本及相关色度样本的空间维度。该系列图片可以具有固定的或可变的图片速率(也非正式地称为帧率),例如每秒60张图片或60hz。未压缩的视频具有特定的比特率要求。例如,每样本8比特的1080p60 4:2:0的视频(1920x1080亮度样本分辨率,60hz帧率)要求接近1.5gbit/s带宽。一小时这样的视频就需要超过600gb的存储空间。
3、视频编码和解码的一个目的,可以是通过压缩减少输入视频信号中的冗余。压缩可以帮助降低对上述带宽和/或存储空间的要求,在某些情况下可降低两个或更多数量级。无损压缩和有损压缩,以及两者的组合均可采用。无损压缩是指可以从压缩的原始信号中重建原始信号精确副本的技术。当使用有损压缩时,重建信号可能与原始信号不完全相同,但是原始信号和重建信号之间的失真足够小,使得重建信号可用于预期应用。有损压缩广泛应用于视频。容许的失真量取决于应用。例如,相比于电视分发应用的用户,某些消费者流媒体应用的用户可以容忍更高的失真。可实现的压缩比可以反映出:较高的允许/容许失真可产生较高的压缩比。
4、视频编码器和解码器可利用几大类技术,例如包括:运动补偿、变换、量化和熵编码。
5、视频编解码器技术可包括已知的帧内编码技术。在帧内编码中,在不参考先前重建的参考图片的样本或其他数据的情况下表示样本值。在一些视频编解码器中,图片在空间上被细分为样本块。当所有样本块都以帧内模式编码时,该图片可以为帧内图片。帧内图片及其衍生(例如独立解码器刷新图片)可用于复位解码器状态,并且因此可用作编码视频比特流和视频会话中的第一图片,或用作静止图像。帧内块的样本可用于变换,且可在熵编码之前量化变换系数。帧内预测可以是使预变换域中的样本值最小化的技术。在某些情况下,变换后的dc值越小,且ac系数越小,则在给定的量化步长尺寸下需要越少的比特来表示熵编码之后的块。
6、如同从诸如mpeg-2代编码技术中所获知的,传统帧内编码不使用帧内预测。然而,一些较新的视频压缩技术包括:试图从例如周围样本数据和/或元数据中得到数据块的技术,其中周围样本数据和/或元数据是在空间相邻的编码/解码期间、且在解码顺序之前获得的。这种技术后来被称为“帧内预测”技术。需要注意的是,至少在某些情况下,帧内预测仅使用正在重建的当前图片的参考数据,而不使用参考图片的参考数据。
7、可存在许多不同形式的帧内预测。当在给定的视频编解码技术中可以使用超过一种这样的技术时,所使用的技术可以按帧内预测模式进行编码。在某些情况下,模式可具有子模式和/或参数,且这些模式可单独编码或包含在模式码字中。将哪个码字用于给定模式/子模式/参数组合会通过帧内预测影响编解码效率增益,因此用于将码字转换成比特流的熵编码技术也会出现这种情况。
8、h.264引入了一种帧内预测模式,其在h.265中进行了改进,且在诸如联合勘探模式(joint exploration model,jem)、通用视频编解码(versatile video coding,vvc)和基准集(benchmark set,bms)的更新的编解码技术中进一步被改进。通过使用属于已经可用的样本的相邻样本值可以形成预测块。将相邻样本的样本值按照某一方向复制到预测块中。对所使用方向的引用可以被编码在比特流中,或者本身可以被预测。
9、参照图1a,右下方描绘了来自h.265的33个可能的预测方向(对应于35个帧内模式中的33个角度模式)中已知的九个预测方向的子集。箭头会聚的点(101)表示正在被预测的样本。箭头表示样本正在被预测的方向。例如,箭头(102)表示根据右上方与水平方向成45度角的一个或多个样本,预测样本(101)。类似地,箭头(103)表示根据样本(101)左下方与水平方向成22.5度角的一个或多个样本,预测样本(101)。
10、仍然参考图1a,在左上方示出了一个包括4×4个样本的正方形块(104)(由粗虚线表示)。正方形块(104)包括16个样本,每个样本用“s”、以及其在y维度上的位置(例如,行索引)和在x维度上的位置(例如,列索引)来标记。例如,样本s21是y维度上的第二个样本(从顶部开始)和x维度上的第一个(从左侧开始)样本。类似地,样本s44在x维度和y维度上都是块(104)中的第四个样本。由于该块为4×4大小的样本,因此s44位于右下角。还示出了遵循类似编号方案的参考样本。参考样本用r、以及其相对于块(104)的y位置(例如,行索引)和x位置(列索引)来标记。在h.264与h.265中,预测样本与正在重建的块相邻,因此不需要使用负值。
11、通过从信号通知的预测方向所占用的相邻样本来复制参考样本值,可以进行帧内图片预测。例如,假设编码视频比特流包括信令,对于该块,该信令指示与箭头(102)一致的预测方向,即,根据右上方与水平方向成45度角的一个或多个预测样本来预测样本。在这种情况下,根据同一参考样本r05来预测样本s41、s32、s23和s14。然后根据参考样本r08来预测样本s44。
12、在某些情况下,例如通过内插,可以合并多个参考样本的值,以便计算参考样本,尤其是当方向不能被45度整除时。
13、随着视频编解码技术的已有发展,可能的方向的数量已经增加了。在h.264(2003年)中,可以表示九种不同的方向。在h.265(2013年)和jem/vvc/bms中增加到了33个,而在此申请时,可以支持多达65个方向。已经进行了实验来识别最可能的方向,并且熵编码中的某些技术被用于使用少量比特来表示那些可能的方向,对于较不可能的方向则接受某些代价。此外,有时可以根据在相邻的、已经解码的块中所使用的相邻方向来预测方向本身。
14、图1b示出了描绘根据jem的65个帧内预测方向的示意图(180),以说明随时间增加的预测方向的的数量。
15、表示方向的编码视频比特流中的帧内预测方向比特的映射可以因视频编解码技术的不同而不同,并且,例如可以从对帧内预测模式到码字的预测方向的简单直接映射,到包括最可能的模式和类似技术的复杂的自适应方案。然而,在所有情况下,视频内容中可能存在某些方向,其在统计学上比其它方向更不可能出现。由于视频压缩的目的是减少冗余,所以在运行良好的视频编解码技术中,与更可能的方向相比,那些不太可能的方向将使用更多数量的比特来表示。
16、运动补偿可以是一种有损压缩技术,且可涉及如下技术:来自先前重建的图片或重建图片一部分(参考图片)的样本数据块在空间上按运动矢量(下文称为mv)指示的方向移位后,用于新重建的图片或图片部分的预测。在某些情况下,参考图片可与当前正在重建的图片相同。mv可具有两个维度x和y,或者三个维度,其中第三个维度表示使用中的参考图片(后者间接地可为时间维度)。
17、在一些视频压缩技术中,应用于某个样本数据区域的mv可根据其它mv来预测,例如根据与正在重建的区域空间相邻的另一个样本数据区域相关的、且按解码顺序在该mv前面的那些mv来预测。这样做可以大大减少编码mv所需的数据量,从而消除冗余信息并增加压缩量。mv预测可以有效地进行,例如,当对从相机导出的输入视频信号(称为自然视频)进行编码时,存在一种统计上的可能性,即面积大于单个mv适用区域的区域,会朝着类似的方向移动,因此,在某些情况下,可以用邻近区域的mv导出的相似运动矢量进行预测。这导致针对给定区域发现的mv与根据周围mv预测的mv相似或相同,并且在熵编码之后,又可以用比直接编码mv时使用的比特数更少的比特数来表示。在某些情况下,mv预测可以是对从原始信号(即:样本流)导出的信号(即mv)进行无损压缩的示例。在其它情况下,mv预测本身可能是有损的,例如由于根据几个周围mv计算预测值时产生的取整误差。
18、h.265/hevc(itu-t rec.h.265,“高效视频编解码”,2016年12月)描述了各种mv预测机制。在h.265所提供的多种mv预测机制中,本文描述的是一种下文称为“空间合并”的技术。
19、参照图2,当前块(201)包括编码器在运动搜索过程中发现的样本,该样本可以根据空间移动了相同大小的先前块进行预测。不直接对该mv进行编码,而是通过使用与五个周围样本中的任何一个相关联的mv,从与一个或多个参考图片相关联的元数据中导出该mv,例如从最近的(按解码顺序)参考图片中导出该mv,其中,五个周围样本分别用a0、a1和b0、b1、b2(分别为202到206)表示。在h.265中,mv预测可使用相邻块正在使用的同一参考图片的预测值。
技术实现思路
1、本公开的各方面提供了用于视频数据处理的方法和装置。在一些示例中,用于视频数据处理的装置包括处理电路。例如,该处理电路确定用于比特流中的已编码视频数据的第一范围中的编码控制的第一语法元素。该第一语法元素与用于残差编码中的基于统计的赖斯(rice)参数推导、且在视频标准的范围扩展中定义的持续赖斯自适应(persistentrice adaptation)的编码工具相关联。响应于该第一语法元素为指示在该第一范围中禁用该编码工具的第一值,处理电路在不调用编码工具的情况下解码包括已编码视频数据的一个或多个第二范围的已编码视频数据的第一范围。
2、在一些实施例中,该第一语法元素通常是用于解码器的输出层集中的图片的编码控制的约束信息。在一些示例中,该第一语法元素的该第一值指示在该输出层集中的每个编码层视频序列(clvs)中禁用该编码工具。在一些示例中,该处理电路将用于该比特流中的编码层视频序列(clvs)的编码控制的第二语法元素约束为具有指示不调用该编码工具来解码该clvs的值。
3、在一些实施例中,响应于该第一语法元素为第二值,该处理电路确定用于该比特流中的编码层视频序列(clvs)的编码控制的第二语法元素的值。该第二语法元素指示在该clvs中使用/不使用该编码工具。在一个示例中,响应于该第二语法元素没有呈现于用于该clvs的序列参数集(sequence parameter set,sps)中,该处理电路推断用于指示在该clvs中不使用该编码工具的该第二语法元素的该值。
4、在一些示例中,响应于该第二语法元素的该值指示在该clvs中使用该编码工具,该处理电路确定从当前变换单元之前的一个或多个变换单元解码的系数的统计。该统计用于确定该当前变换单元的rice参数的初始值。然后,基于该rice参数解码该当前变换单元的系数。
5、在一些实施例中,响应于用于通用约束信息的语法结构中的语法元素指示该语法结构中的通用约束信息的附加比特,该处理电路从用于通用约束信息的该语法结构中解码该第一语法元素。
6、本公开的方面还提供一种存储指令的非暂时性计算机可读介质,所述指令在由用于视频解码的计算机执行时使该计算机执行用于视频解码的方法。