本公开描述了总体上涉及视频编码中的时域滤波(temporal filtering)的实施例。
背景技术:
1、本文提供的背景描述是为了总体呈现本公开的上下文。在该背景技术部分中描述的程度上,目前署名的发明人的工作以及该描述的在提交时可能不符合现有技术的方面既不明确也不隐含地被认为是本公开的现有技术。
2、可以使用具有运动补偿的帧间图片预测来执行视频编码和解码。未压缩的数字视频可以包括一系列图片,每个图片具有空间维度为例如1920×1080的亮度样本和相关色度样本。该系列图片可以具有固定或可变的图像速率(非正式地也称为帧速率),例如,每秒60幅图片或60hz。未压缩的视频有特定的比特率要求。例如,每样本8比特的1080p60 4:2:0视频(60hz帧速率的1920×1080亮度样本分辨率)需要接近1.5gbit/s的带宽。一小时这样的视频需要超过600g的存储空间。
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、其相对于块(104)的y位置(例如,行索引)和x位置(列索引)来标记。在h.264和h.265中,预测样本与重构中的块相邻;因此,不需要使用负值。
11、帧内图片预测可以通过从相邻样本中复制参考样本值来工作,通过用信令表示的(signaled,或称为用信号表示的)预测方向是合适的。例如,假设经编码的视频比特流包含信令,该信令针对此块指示了与箭头(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示出了示意图(180),描绘了根据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计算预测值时,由于舍入误差所产生的损耗。
18、在h.265/hevc(itu-trec.h.265,“high efficiency video coding”,2016年12月)中描述各种mv预测机制。来源于h.265提供的许多mv预测机制,此处描述了一种此后被称为“空间合并”的技术。
19、参考图2,当前块(201)包括编码器在运动搜索过程中发现的样本,以便可从已经空间移位的相同大小的先前块中预测。可以使用与五个周围样本(表示为a0、a1和b0、b1、b2(分别为202至206))中的任一个相关联的mv,从与一个或多个参考图片相关联的元数据中导出该mv,例如,从最近的(按照解码顺序)参考图片中导出,而不直接编码该mv。在h.265中,mv预测可以使用来自相邻块正在使用的相同参考图片的预测器。
技术实现思路
1、本公开的各方面提供了视频处理方法和设备。在一些示例中,视频处理设备包括处理电路。所述处理电路基于未压缩视频中的视频内容来确定时域滤波器的一个或多个参数。所述未压缩视频包括帧序列。然后,所述处理电路将具有所确定的参数的时域滤波器应用于第一帧中的第一像素,以基于第一帧中的第一像素和第一帧的一组参考帧中的第二像素来确定第一像素的滤波值。此外,所述处理电路对滤波视频进行编码,以生成携带滤波视频的编码视频比特流,其中,上述滤波视频包括第一帧中的第一像素的滤波值。第一帧是要进行时域滤波的帧,第一像素是要进行时域滤波的像素。
2、在一些示例中,时域滤波器的一个或多个参数包括一组参考帧中的参考帧的数量、滤波强度和时域滤波器对包括第一像素的块的允许/禁止的决定中的至少一个。在一些示例中,视频内容包括场景变化、帧的噪声水平、块的信噪比和块中的像素方差(pixelvariance)中的至少一个。
3、在一个示例中,处理电路基于第一帧的噪声水平来确定一组参考帧中的参考帧的数量。
4、在另一示例中,处理电路基于第一帧的噪声水平来确定帧级滤波强度(framelevel filtering strength)。
5、在另一示例中,处理电路基于包括第一像素的块的信噪比,确定所述块的滤波强度和量化参数中的至少一个。
6、在另一示例中,处理电路基于第一帧中的块的复杂度,做出允许/禁止将时域滤波器应用于块的决定。
7、在一些示例中,处理电路确定与第一帧处于相同场景中的一组参考帧。然后,对于一组参考帧中的参考帧,处理电路基于参考帧和第一帧之间的运动估计导出运动补偿参考帧。处理电路可以至少部分地基于运动补偿参考帧中的用于第一像素的协同定位像素来确定第一像素的滤波值。在一些示例中,处理电路至少基于运动补偿参考帧中的用于第一像素的非协同定位像素来确定第一像素的滤波值。在一个示例中,处理电路基于第一运动补偿参考帧中第一数量的非协同定位像素和第二运动补偿参考帧中第二数量的非协同定位像素来确定滤波值,第一运动补偿参考帧比第二运动补偿参考帧具有到第一帧的更小的时域距离,并且第一数量的非协同定位像素多于第二数量的非协同定位像素。
8、本公开的各方面还提供了一种存储指令的非暂时性计算机可读介质,当由用于视频处理的计算机执行上述指令时,使得计算机执行上述视频处理方法。