用于视频编码的方法和装置与流程

文档序号:34578951发布日期:2023-06-28 13:48阅读:25来源:国知局
用于视频编码的方法和装置与流程

本公开描述了总体上涉及视频编码的实施例。


背景技术:

1、这里提供的背景描述是为了总体呈现本公开的上下文。在该背景技术部分中所描述的工作的程度上,目前署名的发明人的工作以及在申请时可能不符合现有技术的描述的方面,既不明确也不暗示地承认是本公开的现有技术。

2、可以使用具有运动补偿的帧间图片预测来执行视频编码和解码。未压缩的视频可以包括一系列图片,每个图片具有例如1920×1080亮度样本和相关色度样本的空间维度。该系列图片可以具有固定或可变的图像速率(非正式地也称为帧速率),例如,每秒60幅图片或60hz。未压缩的视频有重要的比特率要求。例如,每样本8比特的1080p60 4:2:0视频(60hz帧速率的1920x1080亮度样本分辨率)需要接近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个角度模式)中已知的9个预测方向的子集。箭头会聚的点(101)表示被预测的样本。箭头表示的是来自哪个被预测的样本的方向。例如,箭头(102)指示样本(101)是从与水平线成45°角的右上方的一个或多个样本预测到的。类似地,箭头(103)指示样本(101)是从与水平线成22.5°角的样本(101)左下方的一个或多个样本预测到的。

10、仍然参考图1a,在左上方描绘了4×4样本的正方形块(104)(由粗虚线表示)。正方形块(104)包括16个样本,每个样本标有“s”,其在y维度上的位置(例如,行索引)和其在x维度上的位置(例如,列索引)。例如,样本s21是y维度中的第二个样本(从顶部算起)和x维度中的第一个样本(从左侧算起)。类似地,样本s44在y和x维度上都是块(104)中的第四个样本。由于该块的大小为4×4个样本,所以s44位于右下角。还示出了遵循类似编号方案的参考样本。用r标记的参考样本、其相对于块的y位置(例如,行索引)和x位置(列索引)来标记(104)。在h.264和h.265中,预测样本与重构中的块相邻;因此,不需要使用负值。

11、帧内图片预测可以通过从合适的信号预测方向的相邻样本中复制参考样本值来工作。例如,假设已编码的视频比特流包含针对此块的信号,其指示与箭头(102)一致的预测方向——即,从与水平成45°角的右上方的一个或多个预测样本来预测出的样本。在这种情况下,从相同的参考样本r05预测样本s41、s32、s23和s14。然后从参考样本r08预测样本s44。

12、在某些情况下,多个参考样本的值可以组合,例如,通过插值,以便计算参考样本;尤其是当方向不能被45°整除时。

13、随着视频编码技术的发展,可能的方向的数量已经增加。在h.264(2003年)中,可以表示九个不同方向。这在h.265(2013年)中增加到33个,而jem/vvc/bms在披露时可以支持多达65个方向。已经通过实验来识别最可能的方向,并且熵编码中的某些技术用于以少量比特来表示那些可能的方向,对于不太可能的方向接受一定的惩罚。此外,方向本身有时可以从相邻的已经解码的块中使用的相邻方向来预测。

14、图1b示出了示意图(105),描绘了根据jem的65个帧内预测方向,以说明预测方向的数量随着时间的推移而增加。

15、编码视频比特流中帧内预测方向比特的映射所代表的方向可以根据视频编码技术的不同而不同;例如从预测方向到帧内预测模式的简单直接映射,其范围可以覆盖到码字,到涉及最可能模式的复杂自适应方案,以及类似的技术。然而,在所有情况下,与某些其他方向相比,某些方向在统计上不太可能出现在视频内容中。由于视频压缩的目标是减少冗余,在较好的视频编码技术中,那些不太可能的方向将由更多的比特来表示,相对那更可能的方向。

16、运动补偿可以是有损压缩技术,并且可以涉及这样的技术,其中,来自先前重构的图片或其一部分(参考图片)的样本数据块在由运动矢量(此后称为mv)指示的方向上进行空间移位之后,可以用于预测新重构的图片或图片部分。在某些情况下,参考图片可以与当前正在重构的图片相同。mv可以具有两个维度x和y,或者三个维度,第三个维度是使用中的参考图片的指示(参考图片间接可以是时间维度)。

17、在一些视频压缩技术中,可应用于样本数据的某个区域的mv可以从其他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,“high efficiency video coding”,2016年12月)中描述各种mv预测机制。在h.265提供的许多mv预测机制中,本文描述了一种此后被称为“空间合并”的技术。

19、参考图1c,当前块(111)可以包括由编码器在运动搜索过程中发现的样本,以便从已经被空间移位的相同大小的先前块中预测。并非直接编码该mv,可以使用与五个周围样本(表示为a0、a1和b0、b1、b2(分别为112至116))中的任一个相关联的mv,从与一个或多个参考图片相关联的元数据中导出该mv,例如,从最近的(按照解码顺序)参考图片中导出。在h.265中,mv预测可以使用来自相邻块正在使用的相同参考图片的预测器。


技术实现思路

1、本公开的各方面包括用于视频编码/解码的装置。一种装置包括处理电路,该处理电路接收包括当前块的编码残差的视频比特流。处理电路基于编码残差确定当前块的多个变换系数。处理电路通过基于当前块的最顶行或最左列中的至少一个中的样本子集对多个变换系数的子集执行符号预测,来为多个符号预测假设中的每一个符号预测假设计算相应符号预测假设的成本。样本子集中的样本数量是常数。处理电路选择具有最小成本的一个符号预测假设。处理电路根据所选择的符号预测假设执行符号预测。

2、在一个实施例中,常数是预先确定的。例如,常数可以是4或8。

3、在一个实施例中,基于多个变换系数的子集的数量确定常数。例如,可以预先确定多个变换系数的子集的数量(例如,变换块中的4×4低频变换系数),并且可以确定常数小于多个变换系数的子集的预定数量。当多个变换系数的子集被预先确定为4×4低频变换系数时,对于最顶行或最左列,常数可以是4。

4、在一个实施例中,基于块的一个维度与阈值之间的比较来确定常数。在一个示例中,当块的宽度(或高度)大于阈值时,最顶行(或最左列)中的常数可以是第一数量。否则,最顶行(或最左列)中的常数可以是小于第一数量的第二数量。

5、在一个实施例中,基于块的一个维度与一个以上阈值之间的比较来确定常数。在一个示例中,块的尺寸可以与两个阈值进行比较。当块的宽度(或高度)不大于第一阈值时,最顶行(或最左列)中的常数可以是第一数量。当块的宽度(或高度)大于第一阈值并小于第二阈值时,最顶行(或最左列)中的常数可以是第二数量。当块的宽度(或高度)大于第二阈值时,最顶行(或最左列)中的常数可以是第三数量。在另一个示例中,块的维度可以与不同数量的阈值进行比较。

6、在一个实施例中,基于包括常数的多个值的查找表来确定常数值。多个值中的每一个都与块的一个维度的不同值相关联。例如,当块的宽度(或高度)在第一范围内时,根据查找表,最顶行(或最左列)中的常数可以是第一数量。当块的宽度(或高度)在第二范围内时,根据查找表,最顶行(或最左列)中的常数可以是第二数量,依此类推。

7、在一个实施例中,基于块的一个维度来确定当前块的最顶行或最左列中的至少一个中的样本子集的位置。例如,基于块的宽度(或高度)来确定块的最顶行(或最左列)中的样本子集的位置。

8、在一个实施例中,当前块的最顶行或最左列中的至少一个中的样本子集的至少两个位置是相邻的。例如,最顶行(或最左列)中的两个样本的位置彼此相邻。

9、在一个实施例中,当前块的最顶行或最左列中的至少一个中的样本子集的位置是均匀间隔的。

10、在一个实施例中,处理电路基于(i)当前块的最顶行或最左列中的至少一个中的样本子集,以及(ii)当前块上方的行或当前块左侧的列中的至少一个中的相邻重构样本,来为多个符号预测假设中的每一个符号预测假设计算相应符号预测假设的成本。

11、本公开的各方面提供了用于视频编码/解码的方法。这些方法可以执行由用于视频编码/解码的装置执行的过程中的任何一个或组合。在该方法中,接收包括当前块的编码残差的视频比特流。基于编码残差确定当前块的多个变换系数。通过基于当前块的最顶行或最左列中的至少一个中的样本子集对多个变换系数的子集执行符号预测,来为多个符号预测假设中的每一个符号预测假设计算相应符号预测假设的成本。样本子集中的样本数量是常数。选择具有最小成本的一个符号预测假设。根据所选择的符号预测假设执行符号预测。

12、本公开的各方面还提供了存储指令的非暂时性计算机可读介质,当由至少一个处理器执行时,指令使得至少一个处理器执行用于视频编码/解码的方法中的任何一种或组合。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1