CN116076074A - 用于视频编码中的时域滤波的方法和设备 - Google Patents

用于视频编码中的时域滤波的方法和设备 Download PDF

Info

Publication number
CN116076074A
CN116076074A CN202180038238.1A CN202180038238A CN116076074A CN 116076074 A CN116076074 A CN 116076074A CN 202180038238 A CN202180038238 A CN 202180038238A CN 116076074 A CN116076074 A CN 116076074A
Authority
CN
China
Prior art keywords
frame
video
pixel
block
motion compensated
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
CN202180038238.1A
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 CN116076074A publication Critical patent/CN116076074A/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/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/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • 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/117Filters, e.g. for pre-processing or post-processing
    • 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/124Quantisation
    • 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
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • 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/172Methods 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 picture, frame or field
    • 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/182Methods 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 pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • 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/142Detection of scene cut or scene change

Landscapes

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

Abstract

本公开的各方面提供了视频处理方法和设备。在一些示例中,视频处理设备包括处理电路。上述处理电路基于未压缩视频中的视频内容来确定时域滤波器的一个或多个参数。上述未压缩视频包括帧序列。然后,上述处理电路将具有所确定的参数的时域滤波器应用于第一帧中的第一像素,以基于第一帧中的第一像素和第一帧的一组参考帧中的第二像素来确定第一像素的滤波值。此外,上述处理电路对滤波视频进行编码,以生成携带滤波视频的编码视频比特流,其中,上述滤波视频包括第一帧中的第一像素的滤波值。

Description

用于视频编码中的时域滤波的方法和设备
援引并入
本申请要求2021年8月26日提交的题为“METHOD AND APPARATUS FOR TEMPORALFILTER IN VIDEO CODING”的美国专利申请号17/446,080的优先权权益。该在先申请的全部公开内容通过引用整体结合于此。
技术领域
本公开描述了总体上涉及视频编码中的时域滤波(temporal filtering)的实施例。
背景技术
本文提供的背景描述是为了总体呈现本公开的上下文。在该背景技术部分中描述的程度上,目前署名的发明人的工作以及该描述的在提交时可能不符合现有技术的方面既不明确也不隐含地被认为是本公开的现有技术。
可以使用具有运动补偿的帧间图片预测来执行视频编码和解码。未压缩的数字视频可以包括一系列图片,每个图片具有空间维度为例如1920×1080的亮度样本和相关色度样本。该系列图片可以具有固定或可变的图像速率(非正式地也称为帧速率),例如,每秒60幅图片或60Hz。未压缩的视频有特定的比特率要求。例如,每样本8比特的1080p60 4:2:0视频(60Hz帧速率的1920×1080亮度样本分辨率)需要接近1.5Gbit/s的带宽。一小时这样的视频需要超过600G的存储空间。
视频编码和解码的一个目的是通过压缩减少输入视频信号中的冗余。压缩有助于降低上述带宽和/或存储空间需求,在某些情况下可降低两个数量级或更多。可以采用无损压缩和有损压缩及其组合。无损压缩是指可以从压缩的原始信号中重构原始信号的精确副本的技术。当使用有损压缩时,重构信号可能与原始信号不相同,但是原始信号和重构信号之间的失真足够小,使得重构信号对预期应用有用。在视频的情况下,广泛采用有损压缩。容许的失真量取决于应用;例如,某些消费者流应用的用户可能比电视分发应用的用户容忍更高的失真。可实现的压缩比可以反映出:更高的容许/可容忍失真可以产生更高的压缩比。
视频编码器和解码器可以利用几大类技术,包括例如运动补偿、变换、量化和熵编码。
视频编解码器技术可以包括称为帧内编码的技术。在帧内编码中,样本值是在不参考来自先前重构的参考图片的样本或其他数据的情况下表示的。在某些视频编解码器中,图片在空间上被细分为样本块。当所有样本块都以帧内模式编码时,该图片可以是帧内图片。帧内图片及其派生图片(例如,独立的解码器刷新图片)可以用于重置解码器状态,因此可以用作编码视频比特流和视频会话中的第一图片,或者用作静止图像。可以对帧内块的样本进行变换,并且可以在熵编码之前对变换系数进行量化。帧内预测可以是一种在预变换域中最小化样本值的技术。在一些情况下,变换后的DC值越小,AC系数越小,在给定量化步长下表示熵编码后的块所需的比特就越少。
例如,从MPEG-2代编码技术中已知的传统帧内编码不使用帧内预测。然而,一些较新的视频压缩技术包括从例如在空间上相邻的并且在解码顺序上在前的数据块的编码/解码期间获得的周围样本数据和/或元数据中尝试的技术。这种技术此后被称为“帧内预测”技术。注意,至少在一些情况下,帧内预测仅使用来自重构中的当前图片的参考数据,而不使用来自参考图片的参考数据。
可以有许多不同形式的帧内预测。当在给定的视频编码技术中可以使用多于一种这样的技术时,所使用的技术可以在帧内预测模式中被编码。在某些情况下,模式可以有子模式和/或参数,这些子模式和/或参数可以单独编码或包含在模式码字中。对于给定的模式/子模式/参数组合,使用哪个码字会对通过帧内预测对编码效率增益产生影响,因此,用于将码字转换成比特流的熵编码技术也会产生影响。
H.264引入了特定的帧内预测模式,在H.265中进行了改进,并在更新的编码技术中进一步改进,例如,共同探索模型(joint exploration model,JEM)、通用视频编码(versatile video coding,VVC)和基准集(benchmark set,BMS)。可以使用属于已经可用样本的相邻样本值来形成预测块。根据方向将相邻样本的样本值复制到预测块中。对使用中的方向的参考可以在比特流中被编码,或者本身可以被预测。
参考图1A,右下方描绘了H.265的33个可能的预测方向(对应于35个帧内模式的33个角度模式)中已知的9个预测方向的子集。箭头会聚的点(101)表示被预测的样本。箭头表示预测样本的方向。例如,箭头(102)指示样本(101)是从与水平线成45°角的右上方的一个或多个样本预测的。类似地,箭头(103)指示样本(101)是从与水平线成22.5°角的、且位于样本(101)左下方的一个或多个样本预测的。
仍然参考图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中,预测样本与重构中的块相邻;因此,不需要使用负值。
帧内图片预测可以通过从相邻样本中复制参考样本值来工作,通过用信令表示的(signaled,或称为用信号表示的)预测方向是合适的。例如,假设经编码的视频比特流包含信令,该信令针对此块指示了与箭头(102)一致的预测方向,即,从与水平线成45°角的右上方的一个或多个预测样本来预测样本。在这种情况下,从相同的参考样本R05预测样本S41、S32、S23和S14。然后从参考样本R08预测样本S44。
在某些情况下,多个参考样本的值可以组合,例如,通过插值,以便计算参考样本;尤其是当方向不能被45°整除时。
随着视频编码技术的发展,可能的方向的数量已经增加。在H.264(2003年)中,可以表示九个不同方向。这在H.265(2013年)中增加到33个,而JEM/VVC/BMS在披露时可以支持多达65个方向。已经进行了实验来识别最可能的方向,并且熵编码中的某些技术用于以少量比特来表示那些可能的方向,对于不太可能的方向接受一定的惩罚。此外,方向本身有时可以从相邻的已经解码的块中使用的相邻方向来预测。
图1B示出了示意图(180),描绘了根据JEM的65个帧内预测方向,以说明预测方向的数量随着时间的推移而增加。
表示方向的编码视频比特流中的帧内预测方向比特的映射可以根据视频编码技术的不同而不同;并且范围可以从例如预测方向到帧内预测模式、到码字的简单直接映射,到涉及最可能模式的复杂自适应方案,以及类似的技术。然而,在所有情况下,与某些其他方向相比,某些方向在统计上不太可能出现在视频内容中。由于视频压缩的目标是减少冗余,在工作良好的视频编码技术中,相比于比更可能的方向,那些不太可能的方向将由更多的比特来表示。
运动补偿可以是有损压缩技术,并且可以涉及一些技术,在这些技术中,来自先前重构的图片或其一部分(参考图片)的样本数据块在由运动矢量(此后称为MV)指示的方向上进行空间移位之后,用于预测新重构的图片或图片部分。在某些情况下,参考图片可以与当前正在重构的图片相同。MV可以具有两个维度X和Y,或者三个维度,第三个维度是使用中的参考图片的指示(间接地,第三个维度可以是时间维度)。
在一些视频压缩技术中,可应用于样本数据的某个区域的MV可以从其他MV中预测,例如,从与空间上与正在重构的区域邻近的样本数据的另一个区域相关的、并且在解码顺序上在该MV之前的MV中预测。这样做可以大大减少编码MV所需的数据量,从而消除冗余并提高压缩率。MV预测可以有效地工作,例如,因为当对从相机导出的输入视频信号(称为自然视频)进行编码时,存在统计可能性,即比单个MV可应用的区域大的区域在相似的方向上移动,因此,在某些情况下,可以使用从相邻区域的MV导出的相似运动矢量来预测。这导致对于给定区域发现的MV与从周围MV预测的MV相似或相同,并且在熵编码之后,这又可以用比直接编码MV时所使用的更少的比特数来表示。在某些情况下,MV预测可以是从原始信号(即:样本流)导出的信号(即:MV)的无损压缩的示例。在其他情况下,MV预测本身可能是有损耗的,例如,当从几个周围的MV计算预测值时,由于舍入误差所产生的损耗。
在H.265/HEVC(ITU-TRec.H.265,“High Efficiency Video Coding”,2016年12月)中描述各种MV预测机制。来源于H.265提供的许多MV预测机制,此处描述了一种此后被称为“空间合并”的技术。
参考图2,当前块(201)包括编码器在运动搜索过程中发现的样本,以便可从已经空间移位的相同大小的先前块中预测。可以使用与五个周围样本(表示为A0、A1和B0、B1、B2(分别为202至206))中的任一个相关联的MV,从与一个或多个参考图片相关联的元数据中导出该MV,例如,从最近的(按照解码顺序)参考图片中导出,而不直接编码该MV。在H.265中,MV预测可以使用来自相邻块正在使用的相同参考图片的预测器。
发明内容
本公开的各方面提供了视频处理方法和设备。在一些示例中,视频处理设备包括处理电路。所述处理电路基于未压缩视频中的视频内容来确定时域滤波器的一个或多个参数。所述未压缩视频包括帧序列。然后,所述处理电路将具有所确定的参数的时域滤波器应用于第一帧中的第一像素,以基于第一帧中的第一像素和第一帧的一组参考帧中的第二像素来确定第一像素的滤波值。此外,所述处理电路对滤波视频进行编码,以生成携带滤波视频的编码视频比特流,其中,上述滤波视频包括第一帧中的第一像素的滤波值。第一帧是要进行时域滤波的帧,第一像素是要进行时域滤波的像素。
在一些示例中,时域滤波器的一个或多个参数包括一组参考帧中的参考帧的数量、滤波强度和时域滤波器对包括第一像素的块的允许/禁止的决定中的至少一个。在一些示例中,视频内容包括场景变化、帧的噪声水平、块的信噪比和块中的像素方差(pixelvariance)中的至少一个。
在一个示例中,处理电路基于第一帧的噪声水平来确定一组参考帧中的参考帧的数量。
在另一示例中,处理电路基于第一帧的噪声水平来确定帧级滤波强度(framelevel filtering strength)。
在另一示例中,处理电路基于包括第一像素的块的信噪比,确定所述块的滤波强度和量化参数中的至少一个。
在另一示例中,处理电路基于第一帧中的块的复杂度,做出允许/禁止将时域滤波器应用于块的决定。
在一些示例中,处理电路确定与第一帧处于相同场景中的一组参考帧。然后,对于一组参考帧中的参考帧,处理电路基于参考帧和第一帧之间的运动估计导出运动补偿参考帧。处理电路可以至少部分地基于运动补偿参考帧中的用于第一像素的协同定位像素来确定第一像素的滤波值。在一些示例中,处理电路至少基于运动补偿参考帧中的用于第一像素的非协同定位像素来确定第一像素的滤波值。在一个示例中,处理电路基于第一运动补偿参考帧中第一数量的非协同定位像素和第二运动补偿参考帧中第二数量的非协同定位像素来确定滤波值,第一运动补偿参考帧比第二运动补偿参考帧具有到第一帧的更小的时域距离,并且第一数量的非协同定位像素多于第二数量的非协同定位像素。
本公开的各方面还提供了一种存储指令的非暂时性计算机可读介质,当由用于视频处理的计算机执行上述指令时,使得计算机执行上述视频处理方法。
附图说明
从以下详细描述和附图中,所公开主题的进一步特征、性质和各种优点将变得更加明显,其中:
图1A是帧内预测模式的示例性的子集的示意图;
图1B是示例性帧内预测方向的图示;
图2是一个示例中当前块及其周围空间合并候选(surrounding spatial mergecandidates)的示意图;
图3是根据一个实施例的通信系统(300)的简化框图的示意图;
图4是根据一个实施例的通信系统(400)的简化框图的示意图;
图5是根据一个实施例的解码器的简化框图的示意图;
图6是根据一个实施例的编码器的简化框图的示意图;
图7示出了根据另一实施例的编码器的框图;
图8示出了根据另一实施例的解码器的框图;
图9示出了根据本发明的一些方面的编码装置;
图10A-10B示出了定义参考滤波强度(reference filter strength)的查找表的示例;
图11示出了根据一些示例的噪声估计的处理流程(process flow);
图12A-12B示出了定义参考滤波强度的查找表的一些其他示例;
图13A-13B示出了定义参考滤波强度的查找表的一些其他示例;
图14示出了根据本公开的一些实施例的基于场景切换(scene cut)调整参考范围的示例;
图15示出了非协同定位像素的模式的示例;
图16示出了根据本公开的一些实施例的使用非协同定位像素进行时域滤波的示例;
图17示出了根据本公开实施例的概述过程的流程图;
图18是根据一个实施例的计算机系统的示意图。
具体实施方式
图3示出了根据本公开实施例的通信系统(300)的简化框图。通信系统(300)包括能够经由例如网络(350)相互通信的多个终端装置。例如,通信系统(300)包括经由网络(350)互连的第一对终端装置(310)和(320)。在图3的示例中,第一对终端装置(310)和(320)执行数据的单向传输。例如,终端装置(310)可以对视频数据(例如,由终端装置(310)捕捉的视频图片流)进行编码,以便经由网络(350)传输到另一个终端装置(320)。编码视频数据可以以一个或多个编码视频比特流的形式传输。终端装置(320)可以从网络(350)接收编码的视频数据,解码经编码的视频数据,以恢复视频图片,并根据恢复的视频数据显示视频图片。单向数据传输在媒体服务应用等中是常见的。
在另一示例中,通信系统(300)包括第二对终端装置(330)和(340),其执行例如在视频会议期间可能发生的编码视频数据的双向传输。对于数据的双向传输,在一个示例中,终端装置(330)和(340)的每个终端装置可以对视频数据(例如,由终端装置捕捉的视频图片流)进行编码,以便经由网络(350)传输到终端装置(330)和(340)的另一个终端装置。终端装置(330)和(340)的每个终端装置还可以接收由终端装置(330)和(340)的另一个终端装置传输的编码视频数据,并且可以解码经编码的视频数据,以恢复视频图片,并且可以根据恢复的视频数据在可访问的显示装置上显示视频图片。
在图3的示例中,终端装置(310)、(320)、(330)和(340)可以被示为服务器、个人计算机和智能电话,但是本公开的原理可以不限于此。本公开的实施例适用于膝上型计算机、平板计算机、媒体播放器和/或专用视频会议设备。网络(350)表示在终端装置(310)、(320)、(330)和(340)之间传送编码视频数据的任意数量的网络,包括例如线路(有线)和/或无线通信网络。通信网络(350)可以在电路交换和/或分组交换信道中交换数据。代表性的网络包括电信网络、局域网、广域网和/或互联网。出于当前讨论的目的,网络(350)的架构和拓扑对于本公开的操作可能是不重要的,除非在下文中解释。
作为所公开的主题的应用的示例,图4示出了视频编码器和视频解码器在流环境中的放置。所公开的主题同样可应用于其他支持视频的应用,包括例如视频会议、数字电视、在包括CD、DVD、记忆棒等的数字媒体上存储压缩视频等。
流式传输系统可以包括:捕捉子系统(413),其可以包括视频源(401),例如,数码相机;创建例如未压缩的视频图片流(402)。在一个示例中,视频图片流(402)包括由数码相机拍摄的样本。当与编码视频数据(404)(或编码视频比特流)相比时,视频图片流(402)被描绘为强调高数据量的粗线,可以由包括耦合到视频源(401)的视频编码器(403)的电子装置(420)来处理。视频编码器(403)可以包括硬件、软件或其组合,以实现或实施如下面更详细描述的所公开的主题的各方面。编码的视频数据(404)(或编码的视频比特流(404))被描绘为细线,以强调当与视频图片流(402)相比时较低的数据量,并可以存储在流服务器(405)上,以供将来使用。一个或多个流客户端子系统(例如,图4中的客户端子系统(406)和(408))可以访问流服务器(405),以检索编码的视频数据(404)的副本(407)和(409)。客户端子系统(406)可以包括例如电子装置(430)中的视频解码器(410)。视频解码器(410)对编码视频数据的输入副本(407)进行解码,并创建可以在显示器(412)(例如,显示屏)或其他呈现装置(未示出)上呈现的输出视频图片流(411)。在一些流系统中,编码的视频数据(404)、(407)和(409)(例如,视频比特流)可以根据某些视频编码/压缩标准来编码。这些标准的示例包括ITU-T建议H.265。在一个示例中,正在开发的视频编码标准被非正式地称为通用视频编码(Versatile Video Coding,VVC)。所公开的主题可以在VVC的环境中使用。
注意,电子装置(420)和(430)可以包括其他组件(未示出)。例如,电子装置(420)可以包括视频解码器(未示出),并且电子装置(430)也可以包括视频编码器(未示出)。
图5示出了根据本公开实施例的视频解码器(510)的框图。视频解码器(510)可以包括在电子装置(530)中。电子装置(530)可以包括接收机(531)(例如,接收电路)。视频解码器(510)可以用来代替图4示例中的视频解码器(410)。
接收机(531)可以接收将由视频解码器(510)解码的一个或多个编码视频序列;在同一个或另一个实施例中,一次一个编码视频序列,其中,每个编码视频序列的解码独立于其他编码视频序列。可以从信道(501)接收编码视频序列,该信道可以是到存储编码视频数据的存储装置的硬件/软件链接。接收机(531)可以接收编码的视频数据和其他数据,例如,编码的音频数据和/或辅助数据流,这些数据可以被转发到其相应的使用实体(未示出)。接收机(531)可以将编码的视频序列与其他数据分离。为了对抗网络抖动,缓冲存储器(515)可以耦合在接收机(531)和熵解码器/解析器(520)(以下称为“解析器(520)”)之间。在某些应用中,缓冲存储器(515)是视频解码器(510)的一部分。在其他情况下,缓冲存储器可以在视频解码器(510)之外(未示出)。在其他情况下,在视频解码器(510)之外可以有缓冲存储器(未示出),例如,用于对抗网络抖动,此外,在视频解码器(510)内部可以有另一个缓冲存储器(515),例如,用于处理播放定时(playout timing)。当接收机(531)从具有足够带宽和可控性的存储/转发装置或者从等同步网络接收数据时,缓冲存储器(515)可以是不需要的,或者可以是小的。为了在诸如因特网之类的尽力而为的分组网络上使用,可能需要缓冲存储器(515),该缓冲存储器可以相对较大,并且可以有利地具有自适应大小,并且可以至少部分地在视频解码器(510)外部的操作系统或类似元件(未示出)中实现。
视频解码器(510)可以包括解析器(520),以从编码的视频序列中重构符号(521)。这些符号的类别包括用于管理视频解码器(510)的操作的信息以及潜在地控制诸如呈现装置(512)(例如,显示屏)等呈现装置的信息,该呈现装置不是电子装置(530)的组成部分,但是可以耦合到电子装置(530),如图5所示。用于呈现装置的控制信息可以是补充增强信息(SEI消息)或视频可用性信息(VUI)参数集片段(未示出)的形式。解析器(520)可以对接收到的编码视频序列进行解析/熵解码。编码视频序列的编码可以根据视频编码技术或标准,并且可以遵循各种原理,包括可变长度编码、Huffman编码、具有或不具有上下文敏感性的算术编码等。解析器(520)可以基于对应于该组的至少一个参数,从编码视频序列中提取视频解码器中的至少一个像素子组的一组子组参数。子组可以包括图片组(GOP)、图片、瓦片、切片、宏块、编码单元(Cu)、块、变换单元(TU)、预测单元(PU)等。解析器(520)还可以从编码的视频序列中提取信息,例如,变换系数、量化器参数值、运动矢量等。
解析器(520)可以对从缓冲存储器(515)接收的视频序列执行熵解码/解析操作,以便创建符号(521)。
根据编码视频图片或其部分的类型(例如:帧间和帧内图片、帧间和帧内块)以及其他因素,符号(521)的重构可以涉及多个不同的单元。可以通过由解析器(520)从编码视频序列中解析的子组控制信息来控制涉及哪些单元以及如何涉及。为了清楚起见,没有描述解析器(520)和下面的多个单元之间的这种子组控制信息流。
除了已经提到的功能块之外,视频解码器(510)可以在概念上细分成如下所述的多个功能单元。在商业限制下操作的实际实现中,许多这些单元彼此紧密交互,并且可以至少部分地彼此集成。然而,为了描述所公开的主题,在概念上细分成以下功能单元是合适的。
第一单元是定标器/逆变换单元(scaler/inverse transform unit)(551)。定标器/逆变换单元(551)接收量化的变换系数以及控制信息,包括使用哪个变换、块大小、量化因子、量化缩放矩阵等,作为来自解析器(520)的符号(521)。定标器/逆变换单元(551)可以输出包括样本值的块,这些块可以被输入到聚集器(aggregator)(555)中。
在一些情况下,定标器/逆变换(551)的输出样本可以属于帧内编码块;即:没有使用来自先前重构图像的预测信息,但是可以使用来自当前图片的先前重构部分的预测信息的块。这种预测信息可以由帧内图片预测单元(552)提供。在一些情况下,帧内图片预测单元(552)使用从当前图片缓冲器(558)获取的周围已经重构的信息,生成与重构中的块具有相同大小和形状的块。当前图片缓冲器(558)缓冲例如部分重构的当前图片和/或完全重构的当前图片。在一些情况下,聚集器(555)基于每个样本将帧内预测单元(552)已经生成的预测信息添加到由定标器/逆变换单元(551)提供的输出样本信息。
在其他情况下,定标器/逆变换单元(551)的输出样本可以属于帧间编码的并且可能是运动补偿的块。在这种情况下,运动补偿预测单元(553)可以访问参考图片存储器(557),以获取用于预测的样本。在根据与该块有关的符号(521)对提取的样本进行运动补偿之后,这些样本可以由聚集器(555)添加到定标器/逆变换单元(551)的输出(在这种情况下称为残差样本或残差信号),以便生成输出样本信息。可以由运动向量来控制参考图片存储器(557)内的地址,运动补偿预测单元(553)从上述地址中获取预测样本,运动补偿预测单元(553)可以以符号(521)的形式获得这些地址,这些符号可以具有例如X、Y和参考图片组件(reference picture components)。运动补偿还可以包括:当使用子样本精确运动矢量(sub-sample exact motion vectors)时从参考图片存储器(557)获取的样本值的插值、运动矢量预测机制等。
聚集器(555)的输出样本可以在环路滤波器单元(loop filter unit)(556)中经受各种环路滤波技术。视频压缩技术可以包括环路滤波技术,这些技术由编码视频序列(也称为编码视频比特流)中包含的参数控制,并且作为来自解析器(520)的符号(521)可用于环路滤波器单元(556),但是也可以响应于在编码图像或编码视频序列的先前(按照解码顺序)部分的解码期间获得的元信息以及响应于先前重构的和环路滤波的样本值。
环路滤波器单元(556)的输出可以是样本流,该样本流可以输出到呈现装置(render device)(512)以及存储在参考图片存储器(557)中,以用于将来的帧间图片预测。
一旦完全重构,某些编码图像可以用作未来预测的参考图片。例如,一旦完全重构对应于当前图片的编码图像,并且该编码的图片已经被识别为参考图片(例如,通过解析器(520)),则当前图片缓冲器(558)可以成为参考图片存储器(557)的一部分,并且在开始下一个编码图像的重构之前,可以重新分配新的当前图片缓冲器。
视频解码器(510)可以根据诸如ITU-T Rec.H.265等标准中的预定视频压缩技术来执行解码操作。在编码视频序列符合视频压缩技术或标准的语法以及视频压缩技术或标准中记载的简档的意义上,编码视频序列可以符合由所使用的视频压缩技术或标准规定的语法。具体地,简档可以从视频压缩技术或标准中可用的所有工具中选择某些工具,作为在该简档下可用的唯一工具。符合标准还需要编码视频序列的复杂度在视频压缩技术或标准的水平所定义的范围内。在某些情况下,级别限制了最大图像尺寸、最大帧速率、最大重构采样率(例如,以每秒兆样本为单位测量)、最大参考图片尺寸等。在某些情况下,由级别设置的限制可以通过假设参考解码器(HRD)规范和编码视频序列中信令的HRD缓冲器管理的元数据来进一步限制。
在一个实施例中,接收机(531)可以接收具有编码视频的额外(冗余)数据。可以包括额外数据,作为编码视频序列的一部分。视频解码器(510)可以使用额外数据来正确解码数据和/或更准确地重构原始视频数据。额外数据可以是例如时域、空间或信噪比(SNR)增强层、冗余切片、冗余图片、前向纠错码等形式。
图6示出了根据本公开实施例的视频编码器(603)的框图。视频编码器(603)包括在电子装置(620)中。电子装置(620)包括发射机(640)(例如,发射电路)。视频编码器(603)可以用来代替图4示例中的视频编码器(403)。
视频编码器(603)可以从视频源(601)(其不是图6示例中的电子装置(620)的一部分)接收视频样本,该视频源可以捕捉要由视频编码器(603)编码的视频图片。在另一示例中,视频源(601)是电子装置(620)的一部分。
视频源(601)可以以数字视频样本流的形式提供要由视频编码器(603)编码的源视频序列,该数字视频样本流可以具有任何合适的比特深度(例如:8比特、10比特、12比特、…)、任何颜色空间(例如,BT.601Y CrCB、RGB、…)和任何合适的采样结构(例如,Y CrCb4:2:0、Y CrCb 4:4:4)。在媒体服务系统中,视频源(601)可以是存储先前准备的视频的存储装置。在视频会议系统中,视频源(601)可以是捕捉本地图像信息作为视频序列的相机。可以提供视频数据,作为多个单独的图片,当按顺序观看时,这些图片赋予运动。图片本身可以被组织为像素的空间阵列,其中,每个像素可以包括一个或多个样本,这取决于使用中的采样结构、颜色空间等。本领域技术人员可以容易地理解像素和样本之间的关系。下面的描述集中在样本上。
根据一个实施例,视频编码器(603)可以实时地或者在应用所需的任何其他时间约束下,将源视频序列的图片编码和压缩成编码的视频序列(643)。实施适当的编码速度是控制器(650)的一个功能。在一些实施例中,控制器(650)控制如下所述的其他功能单元,并且在功能上耦合到其他功能单元。为了清楚起见,没有描述耦合。控制器(650)设置的参数可以包括速率控制相关参数(图片跳过、量化器、率失真优化技术的λ值、…)、图片大小、图片组(GOP)布局、最大运动矢量搜索范围等。控制器(650)可以被配置为具有针对特定系统设计而优化的与视频编码器(603)相关的其他合适的功能。
在一些实施例中,视频编码器(603)被配置为在编码循环中操作。作为过于简化的描述,在一个示例中,编码环路可以包括源编码器(630)(例如,负责基于要编码的输入图片和参考图片来创建符号,例如,符号流)以及嵌入在视频编码器(603)中的(本地)解码器(633)。解码器(633)以类似于(远程)解码器也将创建的方式重构符号,以创建样本数据(因为在所公开的主题中考虑的视频压缩技术中,符号和编码视频比特流之间的任何压缩都是无损的)。重构的样本流(样本数据)被输入到参考图片存储器(634)。由于符号流的解码导致独立于解码器位置(本地或远程)的位精确结果,所以参考图片存储器(634)中的内容在本地编码器和远程编码器之间也是位精确的(bit exact)。换言之,当在解码期间使用预测时,编码器的预测部分作为参考图片样本“看到”与解码器“看到”的样本值完全相同的样本值。也在一些相关技术中使用参考图片同步性(以及由此产生的漂移,如果不能保持同步性,例如,由于信道误差)的该基本原理。
“本地”解码器(633)的操作可以与诸如视频解码器(510)之类的“远程”解码器的操作相同,上面已经结合图5对其进行了详细描述。然而,简要地参考图5,由于符号是可用的,并且熵编码器(645)和解析器(520)对编码视频序列的符号编码/解码可以是无损的,所以可以不完全在本地解码器(633)中实现视频解码器(510)的熵解码部分,包括缓冲存储器(515)和解析器(520)。
在这一点上可以观察到,除了解码器中存在的解析/熵解码之外,任何解码器技术也必须以基本相同的功能形式存在于相应的编码器中。为此,所公开的主题集中于解码器操作。编码器技术的描述可以简化,因为这些技术是全面描述的解码器技术的逆。仅在某些领域,下面需要并且提供了更详细的描述。
在操作期间,在一些示例中,源编码器(630)可以执行运动补偿预测编码,其参考来自视频序列的被指定为“参考图片”的一个或多个先前编码的图片来预测性地编码输入图片。以这种方式,编码引擎(632)对输入图片的像素块和可被选为输入图片的预测参考的参考图片的像素块之间的差异进行编码。
本地视频解码器(633)可以基于由源编码器(630)创建的符号,对可以被指定为参考图片的图片的编码视频数据进行解码。编码引擎(632)的操作可以有利地是有损过程。当编码的视频数据可以在视频解码器(图6中未示出)处被解码时,重构的视频序列通常可以是具有一些误差的源视频序列的副本。本地视频解码器(633)复制可以由视频解码器对参考图片执行的解码过程,并且可以使得重构的参考图片存储在参考图片缓存(634)中。以这种方式,视频编码器(603)可以本地存储重构的参考图片的副本,这些副本具有与将由远端视频解码器获得的重构的参考图片相同的内容(不存在传输误差)。
预测器(635)可以对编码引擎(632)执行预测搜索。也就是说,对于要编码的新图片,预测器(635)可以在参考图片存储器(634)中搜索样本数据(作为候选参考像素块)或某些元数据,例如,参考图片运动矢量、块形状等,其可以用作新图片的适当预测参考。预测器(635)可以在逐个样本块-像素块的基础上操作,以找到合适的预测参考。在一些情况下,如由预测器(635)获得的搜索结果所确定的,输入图片可以具有从存储在参考图片存储器(634)中的多个参考图片中提取的预测参考。
控制器(650)可以管理源编码器(630)的编码操作,包括例如用于编码视频数据的参数和子组参数的设置。
所有前述功能单元的输出可以在熵编码器中经历熵编码(645)。熵编码器(645)通过根据诸如Huffman编码、可变长度编码、算术编码等技术无损压缩符号,将由各种功能单元生成的符号转换成编码的视频序列。
发射机(640)可以缓冲由熵编码器(645)创建的编码视频序列,以准备经由通信信道(660)传输,通信信道可以是到将存储编码视频数据的存储装置的硬件/软件链接。发射机(640)可以将来自视频编码器(603)的编码视频数据与要传输的其他数据合并,例如,编码音频数据和/或辅助数据流(源未示出)。
控制器(650)可以管理视频编码器(603)的操作。在编码期间,控制器(650)可以向每个编码图片分配特定的编码图片类型,这可以影响可以应用于相应图片的编码技术。例如,图片通常可以被指定为以下图片类型之一:
帧内图片(I图片)可以是不使用序列中的任何其他图片作为预测源而被编码和解码的图片。一些视频编解码器允许不同类型的帧内图片,包括例如独立解码器刷新(“IDR”)图片。本领域技术人员知道I图片的那些变体以及其相应的应用和特征。
预测图片(P图片)可以是使用最多一个运动矢量和参考索引来预测每个块的样本值,使用帧内预测或帧间预测来编码和解码的图片。
双向预测图片(B图片)可以是使用最多两个运动矢量和参考索引来预测每个块的样本值,使用帧内预测或帧间预测来编码和解码的图片。类似地,多预测图片可以使用两个以上的参考图片和相关元数据来重构单个块。
源图片通常可以在空间上被细分成多个样本块(例如,每个样本块为4×4、8×8、4×8或16×16个样本块),并且在分块的基础上编码。可以参考由应用于块的相应图片的编码分配所确定的其他(已经编码的)块来预测性地编码块。例如,I图片的块可以被非预测性地编码,或者可以参考同一图片的已经编码的块被预测性地编码(空间预测或帧内预测)。参考一个先前编码的参考图片,经由空间预测或经由时域预测,P图片的像素块可以预测性地编码。参考一个或两个先前编码的参考图片,经由空间预测或经由时域预测,可以预测性地编码B图片的块。
视频编码器(603)可以根据预定的视频编码技术或标准(例如,ITU-T Rec.H.265)来执行编码操作。在其操作中,视频编码器(603)可以执行各种压缩操作,包括利用输入视频序列中的时域(temporal)和空间冗余的预测编码操作。因此,编码的视频数据可以符合由正在使用的视频编码技术或标准指定的语法。
在一个实施例中,发射机(640)可以与编码视频一起传输额外数据。源编码器(630)可以包括这样的数据,作为编码视频序列的一部分。额外数据可以包括时域/空间/SNR增强层、其他形式的冗余数据(例如,冗余图片和切片)、SEI消息、VUI参数集片段等。
可以捕捉视频,作为时域序列中的多个源图片(视频图片)。帧内图片预测(通常缩写为帧内预测)利用给定图片中的空间相关性,而帧间图片预测利用图片之间的(时域或其他)相关性。在一个示例中,被称为当前图片的编码/解码中的特定图片被分割成块。在当前图片中的块类似于视频中先前编码且仍被缓冲的参考图片中的参考块时,当前图片中的块可以通过称为运动矢量的矢量来编码。在使用多个参考图片的情况下,运动矢量指向参考图片中的参考块,并且可以具有识别参考图片的第三维。
在一些实施例中,可以在帧间图片预测中使用双向预测技术。根据双向预测技术,使用两个参考图片,例如,第一参考图片和第二参考图片,这两个参考图片在解码顺序上都在视频中的当前图片之前(但是在显示顺序上可以分别在过去和未来)。当前图片中的块可由指向第一参考图片中的第一参考块的第一运动向量和指向第二参考图片中的第二参考块的第二运动向量来编码。可以通过第一参考块和第二参考块的组合来预测该块。
此外,可以在帧间图片预测中使用合并模式技术来提高编码效率。
根据本公开的一些实施例,以块为单位执行预测,例如,帧间图片预测和帧内图片预测。例如,根据HEVC标准,视频图片序列中的图片被分割成编码树单元(CTU),用于压缩,图片中的CTU具有相同的大小,例如,64×64像素、32×32像素或16×16像素。通常,CTU包括三个编码树块(CTB),即一个亮度CTB和两个色度CTB。每个CTU可以被递归地四叉树分割成一个或多个编码单元(CU)。例如,64×64像素的CTU可以被分割成一个64×64像素的CU,或者4个32×32像素的CU,或者16个16×16像素的CU。在一个示例中,分析每个CU,以确定CU的预测类型,例如,帧间预测类型或帧内预测类型。根据时域和/或空间可预测性,CU被分成一个或多个预测单元(PU)。通常,每个PU包括一个亮度预测块(PB)和两个色度PB。在实施例中,以预测块为单位执行编码(编码/解码)中的预测操作。使用亮度预测块作为预测块的示例,预测块包含像素的值(例如,亮度值)的矩阵,例如,8×8像素、16×16像素、8×16像素、16×8像素等。
图7示出了根据本公开的另一实施例的视频编码器(703)的示图。视频编码器(703)被配置为接收视频图片序列中的当前视频图片内的样本值的处理块(例如,预测块),并将该处理块编码成作为编码视频序列的一部分的编码图像。在一个示例中,视频编码器(703)用于代替图4示例中的视频编码器(403)。
在HEVC示例中,视频编码器(703)接收处理块的样本值矩阵,例如,8×8样本的预测块等。视频编码器(703)确定使用帧内模式、帧间模式还是使用例如率失真优化的双向预测模式对处理块进行最佳编码。当要以帧内模式对处理块进行编码时,视频编码器(703)可以使用帧内预测技术将处理块编码成编码图片;并且当要以帧间模式或双向预测模式对处理块进行编码时,视频编码器(703)可以分别使用帧间预测或双向预测技术来将处理块编码成编码图片。在某些视频编码技术中,合并模式可以是帧间图片预测子模式,其中,从一个或多个运动向量预测器中导出运动向量,而不受益于预测器之外的编码运动向量组件。在某些其他视频编码技术中,可能存在适用于对象块的运动矢量组件。在一个示例中,视频编码器(703)包括其他组件,例如,用于确定处理块的模式的模式判定模块(未示出)。
在图7的示例中,视频编码器(703)包括如图7所示耦合在一起的帧间编码器(730)、帧内编码器(722)、残差计算器(723)、开关(726)、残差编码器(724)、通用控制器(721)和熵编码器(725)。
帧间编码器(730)被配置为接收当前块(例如,处理块)的样本,将该块与参考图片中的一个或多个参考块(例如,先前图片和后续图片中的块)进行比较,生成帧间预测信息(例如,根据帧间编码技术的冗余信息的描述、运动向量、合并模式信息),并且使用任何合适的技术基于帧间预测信息来计算帧间预测结果(例如,预测块)。在一些示例中,参考图片是基于编码视频信息解码的解码参考图片。
帧内编码器(722)被配置为接收当前块(例如,处理块)的样本,在一些情况下,将该块与已经在同一图片中编码的块进行比较,在变换后生成量化系数,并且在一些情况下,还生成帧内预测信息(例如,根据一种或多种帧内编码技术的帧内预测方向信息)。在一个示例中,帧内编码器(722)还基于同一图片中的帧内预测信息和参考块来计算帧内预测结果(例如,预测块)。
通用控制器(721)被配置为确定通用控制数据并基于通用控制数据控制视频编码器(703)的其他组件。在一个示例中,通用控制器(721)确定块的模式,并基于该模式向开关(726)提供控制信号。例如,当模式是帧内模式时,通用控制器(721)控制开关(726)选择帧内模式结果供残差计算器(723)使用,并控制熵编码器(725)选择帧内预测信息并将帧内预测信息包括在比特流中;当模式是帧间模式时,通用控制器(721)控制开关(726)选择帧间预测结果供残差计算器(723)使用,并控制熵编码器(725)选择帧间预测信息并将帧间预测信息包括在比特流中。
残差计算器(723)被配置为计算接收的块和从帧内编码器(722)或帧间编码器(730)选择的预测结果之间的差(残差数据)。残差编码器(724)被配置为基于残差数据进行操作,以编码残差数据,来生成变换系数。在一个示例中,残差编码器(724)被配置为将残差数据从空间域转换到频域,并生成变换系数。然后对变换系数进行量化处理,以获得量化的变换系数。在各种实施例中,视频编码器(703)还包括残差解码器(728)。残差解码器(728)被配置为执行逆变换,并生成解码后的残差数据。解码的残差数据可以被帧内编码器(722)和帧间编码器(730)适当地使用。例如,帧间编码器(730)可基于解码的残差数据和帧间预测信息生成解码的块,帧内编码器(722)可基于解码的残差数据和帧内预测信息生成解码的块。适当地处理经解码的块,以生成经解码的图片,并且经解码的图片可以缓存在存储器电路(未示出)中,并且在一些示例中用作参考图片。
熵编码器(725)被配置为格式化比特流,以包括编码块。熵编码器(725)被配置为根据合适的标准,例如,HEVC标准,包括各种信息。在一个示例中,熵编码器(725)被配置为包括通用控制数据、所选预测信息(例如,帧内预测信息或帧间预测信息)、残差信息和比特流中的其他合适的信息。注意,根据所公开的主题,当在帧间模式或双向预测模式的合并子模式中对块进行编码时,没有残差信息。
图8示出了根据本公开的另一实施例的视频解码器(810)的示图。视频解码器(810)被配置为接收作为编码视频序列的一部分的编码图片,并对编码图片进行解码,以生成重构图片。在一个示例中,视频解码器(810)用于代替图4示例中的视频解码器(410)。
在图8的示例中,视频解码器(810)包括如图8所示耦合在一起的熵解码器(871)、帧间解码器(880)、残差解码器(873)、重构模块(874)和帧内解码器(872)。
熵解码器(871)可以被配置为从编码图像中重构表示组成编码图像的语法元素的某些符号。这种符号可以包括例如对块进行编码的模式(例如,帧内模式、帧间模式、双向预测模式、合并子模式或另一子模式中的后两种模式)、可以识别分别由帧内解码器(872)或帧间解码器(880)用于预测的特定样本或元数据的预测信息(例如,帧内预测信息或帧间预测信息)、例如量化变换系数形式的残差信息等。在一个示例中,当预测模式是帧间或双向预测模式时,帧间预测信息被提供给帧间解码器(880);并且当预测类型是帧内预测类型时,帧内预测信息被提供给帧内解码器(872)。残差信息可以经历逆量化,并被提供给残差解码器(873)。
帧间解码器(880)被配置为接收帧间预测信息,并基于帧间预测信息生成帧间预测结果。
帧内解码器(872)被配置为接收帧内预测信息,并基于帧内预测信息生成预测结果。
残差解码器(873)被配置为执行逆量化,以提取去量化的变换系数,并处理去量化的变换系数,以将残差从频域转换到空间域。残差解码器(873)还可能需要某些控制信息(以包括量化器参数(QP)),并且该信息可以由熵解码器(871)提供(数据路径未示出,因为这可能只是少量控制信息)。
重构模块(874)被配置为在空间域中组合由残差解码器(873)输出的残差和预测结果(由帧间或帧内预测模块输出,视情况而定),以形成重构块,该重构块可以是重构图片的一部分,该重构图片又可以是重构视频的一部分。注意,可以执行诸如去块操作等其他合适的操作来提高视觉质量。
注意,视频编码器(403)、(603)和(703)以及视频解码器(410)、(510)和(810)可以使用任何合适的技术来实现。在一个实施例中,视频编码器(403)、(603)和(703)以及视频解码器(410)、(510)和(810)可以使用一个或多个集成电路来实现。在另一实施例中,视频编码器(403)、(603)和(603)以及视频解码器(410)、(510)和(810)可以使用执行软件指令的一个或多个处理器来实现。
描述本申请。
本公开的各方面提供了用于时域滤波的技术。在编码器侧使用时域滤波作为预处理步骤。
图9示出了根据本公开的一些方面的编码装置(901)。编码装置(901)可以是任何合适的装置,例如,台式计算机、服务器计算机、膝上型计算机、平板计算机、传感器装置、视频捕捉装置、摄像机、嵌入式计算装置等。编码装置(901)可以生成携带视频的编码视频比特流。在一个示例中,编码装置(901)在电子装置中实现,例如,电子装置(420)、电子装置(620)等。
在图9的示例中,编码装置(901)包括时域滤波器(temporal filter)(910)和视频编码器(920)。时域滤波器(910)可以对未压缩视频(uncompressed video)进行操作,并生成滤波视频。视频编码器(920)可以对滤波视频进行编码,并输出携带滤波视频的编码视频比特流。在一些示例中,时域滤波器(910)和视频编码器(920)分别由电路实现。在一些示例中,时域滤波器(910)和视频编码器(920)分别由执行软件指令的处理器来实现。时域滤波器(910)可以根据以下描述来配置。
根据本公开的一些方面,时域滤波器(910)可以基于视频中的其他帧,例如,视频中TF帧之前的相邻帧、视频中TF帧之后的相邻帧,对视频中的当前图片帧(也称为时域滤波器帧(temporal filter frame)或TF帧)进行操作。时域滤波器(TF)(910)可以增加滤波视频中的当前TF帧和相邻帧之间的相似性。在一些示例中,当对滤波视频进行编码时,当前TF帧与相邻帧之间的相似性可以减少残差信息并提高编码效率。
在一些示例中(例如,VVC测试模型(VTM)),以16或8的间隔图片顺序计数(pictureorder count,POC)对每个图片应用时域滤波。例如,前向方向上的多达4个参考帧和/或后向方向上的多达4个参考帧用于导出双边滤波的权重。在一些示例中,可用参考帧的数量由a表示。在一个示例中,当参考帧在TF帧的一侧可用时,a可以具有值4;并且当参考帧在TF帧的两侧都可用时,a可以具有值8。TF帧中的第k个空间位置处的TF帧中的样本可以根据等式(1)进行滤波:
Figure BDA0003965120210000211
其中,Io(k)表示TF帧中的空间位置k处的原始像素(样本),In(k)表示滤波像素(样本),Ir(i,k)表示第i个运动补偿参考帧处的协同定位像素(也在第k个空间位置或在运动补偿后具有相同的坐标)(i表示参考帧的索引或运动补偿参考帧的索引)。Ir表示通过在TF帧和原始参考帧之间进行运动估计,然后从原始参考帧进行运动补偿而导出的运动补偿参考帧。wr(i,a,k)表示TF帧中的空间位置k处的第i个运动补偿参考帧(具有a多个可用参考帧)的权重。在一个示例中,可以根据等式(2)导出权重:
Figure BDA0003965120210000221
其中,参数bw表示基权数,并且在一个示例中具有值0.4。参数s0表示基本滤波强度,并且可以基于间隔POC来决定。在一个示例中,如果间隔POC可被16整除,则s0的值为1.5;否则,如果间隔POC可被8整除,则s0的值为0.95。参数sr(i,a)表示参考滤波强度,并且可以由查找表定义,并且将参考图10A-10B进行讨论。参数ΔI(i,k)表示空间位置k处的原始像素与其在第i个运动补偿参考帧中的协同定位像素之间的像素值差。参数sw表示σ基权数2,例如,具有恒定值2。参数σi(QP)可由等式(3)确定:
σi(QP)=3×(QP-10)  等式(3)
其中,QP表示切片量化参数。在一些示例中,基权数bw和σ权重sw可以是变量,并且可以基于块误差和块频率权重针对每个块(例如,8×8(样本)块)进行自适应调整。
图10A-10B示出了定义参考滤波强度sr(i,a)的查找表的示例。在一个示例中,图10A示出了查找表(1010),当可用参考帧的数量a具有值4时,该查找表可用于确定参考滤波强度sr(i,a)的值。例如,参考帧在TF帧的一侧可用,例如,在TF帧之前或在TF帧之后。
在另一示例中,图10B示出了查找表(1020),当可用参考帧的数量a具有值8时,该查找表可用于确定参考滤波强度sr(i,a)的值。例如,在TF帧之前有4个参考帧可用,在TF帧之后有4个参考帧可用。
在一些示例中(例如,AOMedia视频(AV1)、AV1的可伸缩视频技术(SVT-AV1)),时域滤波器可用于对关键帧进行滤波,并可用于生成替代参考帧(由ALTREF表示)。ALTREF是不可显示的图片帧,用作其他图片帧的参考。与VTM中的时域滤波相比,可以不同地计算像素权重。在一个示例中,SVT-AV1中的时域滤波器基于噪声信息(例如,基于等式(4))来自适应地选择滤波强度。
Figure BDA0003965120210000231
其中,altref_strength表示滤波强度,σn表示当前TF帧的噪声水平。
在一些示例中,参数altref_nframes表示替代参考帧的数量,并且可通过移除具有显著照明变化的参考来调整。在一个示例中,如果累积亮度直方图中的差异显著不同于由ahd表示的给定阈值,则将移除参考图片。在一个示例中,根据等式(5)计算阈值:
ahd=0.5×W×H  等式(5)
其中,W表示当前帧的宽度,H表示当前帧的高度。
根据本公开的一些方面,可以在时域滤波器(910)中使用某些技术,例如,场景切换检测、噪声估计、简单场景(内容)检测等。场景切换检测是一种检测场景是否发生变化的技术。当内容从一个场景改变到另一个场景时,在视频中发生场景改变。场景变化会导致内容的显著变化,并且可以通过评估相邻图片之间的差异来检测。
在一些示例中,噪声估计是一种通过评估图片的梯度能量来估计噪声水平的技术。此外,可以进一步利用诸如边缘、平滑区域或纹理等局部内容来以更高的精度导出噪声水平。
图11示出了根据一些示例的用于噪声估计的处理流程(process flow)(1100)。该处理流程(1100)包括边缘检测步骤(1110)、拉普拉斯(Laplacian)卷积步骤(1120)和平均(averaging)步骤(1130)。
在边缘检测步骤(1110)期间,在一个示例中,Sobel运算用于边缘检测,以便从噪声检测中排除边缘。在一个示例中,当前图片被表示为I,(x,y)表示像素的坐标。Sobel运算的输出可以根据等式(6)来描述:
Figure BDA0003965120210000241
其中,|·|表示绝对算子。在一个示例中,使用G的阈值Gth来决定边缘图。例如,在Laplacian卷积步骤(1120)中,可以将噪声检测中G<Gth的像素与Laplacian算子一起使用。可以根据等式(7)来执行通过Laplacian卷积步骤(1120)和平均步骤(1130)的噪声水平计算(noise level calculation):
Figure BDA0003965120210000242
其中,N是Laplacian算子,并且在一个示例中根据等式(8)定义:
Figure BDA0003965120210000243
简单局部场景(也称为局部内容)检测是一种检测局部区域(例如,块)中的某些属性的特定场景(例如,空白场景等)的技术。在一个示例中,可以基于例如像素方差(pixelvariance)、像素值范围(例如,块中最大像素值和最小像素值的差,max_pixel_val min_pixel_val)等,针对具有B×B像素的块检测空白局部场景。
本公开的各方面提供了基于视频内容属性来调整时域滤波的技术。在一些示例中,可以根据场景变化来调整时域滤波。在一些示例中,可以基于噪声水平和当前TF帧的局部内容来调整时域滤波。例如,局部内容可以是暗区域、简单区域或空白区域。在一些示例中,时域滤波可以被调整为包括非协同定位像素,例如,运动补偿参考帧中的协同定位像素的相邻像素。
根据本公开的一个方面,可以用各种滤波参数来定义时域滤波器,并且可以基于源视频内容属性来自适应调整时域滤波器的滤波参数。可以自适应调整的滤波参数包括但不限于参考帧的数量、滤波强度以及对块应用或不应用时域滤波器的决定(称为允许/禁止的决定(enable/disable decision))。视频内容属性包括但不限于场景变化、噪声水平、局部信噪比以及局部场景是否具有小的像素变化或简单(例如,简单的局部场景)。
在一个实施例中,根据TF帧的噪声水平自适应地确定参考帧的数量。一侧的参考帧a的可用数量被称为参考范围ar。在一些示例中,参考范围ar增加到大于4,并且较大的参考范围可以增加图片组(GOP)的TF帧中的依赖性。
在一个示例中,参考范围ar是6。当TF帧的一侧有参考帧时,有6个参考帧可用;当TF帧的两侧都有参考帧时,有12个参考帧可用。参考滤波强度sr(i,a)可以通过查找表来定义。
图12A示出了当参考范围ar是6并且参考帧在TF帧的一侧时用于确定参考滤波强度的查找表(1210)。图12B示出了当参考范围ar是6并且参考帧在TF帧的两侧时用于确定参考滤波强度的查找表(1220)。
在一个示例中,参考范围ar是8。当TF帧的一侧有参考帧时,有8个参考帧可用;当TF帧的两侧都有参考帧时,有16个参考帧可用。参考滤波强度sr(i,a)可以通过查找表来定义。
图13A示出了当参考范围ar是8并且参考帧在TF帧的一侧时用于确定参考滤波强度的查找表(1310)。图13B示出了当参考范围ar是8并且参考帧在TF帧的两侧时用于确定参考滤波强度的查找表(1320)。
在一些示例中,基于噪声值,例如,由σn表示的帧级噪声值(frame level noisevalue),自适应地调整参考范围ar。在一个示例中,根据处理流程(1100)和等式6到等式8计算帧级噪声值。然后,根据等式(9),基于由σn表示的帧级噪声值来确定参考范围ar:
Figure BDA0003965120210000251
其中,TH1和TH2表示阈值。具体地,如果帧级噪声值σn等于或低于TH1,则参考范围ar可以是4。如果帧级噪声值σn高于TH1,但等于或低于TH2,则可以将参考范围ar调整为6;当帧级噪声值σn高于TH2时,则可以将参考范围ar调整为8。在一个示例中,TH1等于1,TH2等于2。
在另一实施例中,基于噪声水平(noise level)来自适应地确定帧级或块级滤波强度(frame-level or block level filtering strength)。在一些示例中,滤波强度(filter strength)(帧级或块级(frame level or block level))关于被表示为αn的值(称为调整的噪声因子)对称地调整。具体而言,在一个示例中,通过用修改的权重sn(例如,s0×sn)自适应地调整基本滤波强度s0,更强地滤波噪声较大的帧,并且可以根据等式(10)来确定修改的权重sn
Figure BDA0003965120210000261
其中,TH3和TH4表示阈值。具体而言,如果帧级噪声值σn等于或低于TH3,则修改后的权重sn可以是1-αn。如果帧级噪声值σn高于TH3,但等于或低于TH4,则修改后的权重sn可以是1;当帧级噪声值σn高于TH4时,则修改后的权重sn可以1+αn。在一个示例中,TH3等于1,TH4等于2。αn∈(0,1.0)表示调整后的噪声因子。αn是预定值。在一个示例中,αn的值为0.6。
在另一实施例中,滤波强度和QP在以像素为单位的大小为B×B的块级别进一步调整。对于每个非重叠的B×B块,例如,根据等式(11)计算第b块的信噪比:
Figure BDA0003965120210000262
其中,
Figure BDA0003965120210000263
表示属于原始图片Io的第b个B×B块的第k个像素。根据等式(12)进一步调整滤波强度:
Figure BDA0003965120210000264
其中,TH5和TH6表示阈值。在一个示例中,TH5等于25,TH6等于50;αsnr∈(0,1)是SNR调整因子。在一个示例中,αsnr=0.2给出了一个好的结果。
基于snrb值,根据等式(13)调整QP:
Figure BDA0003965120210000271
其中,TH7和TH8表示阈值。在一个示例中,TH7等于25,TH8等于50;
Figure BDA0003965120210000272
(例如,正整数)是基于snr的调整QP因子。在一个示例中,αQP=1。
在另一实施例中,基于块的复杂度来自适应地确定是否对块进行滤波。在一些示例中,图片被划分为B×B(B是正整数)个非重叠块,例如,8×8(样本)块、16×16(样本)块等。利用B×B块的特性自适应地控制TF滤波。
在一些示例中,空白块对于空白块中的所有像素具有相同的值。在空白块的情况下,时域滤波可能不会提高编码性能。因此,在一个示例中,对于空白块中的像素,可以跳过时域滤波。
在另一示例中,一些块(例如,较小的块)可能在像素值上具有小的方差。对于具有非常小的方差的小块中的像素,强时域滤波(strong temporal filtering)可能导致小块中的原始像素的显著失真。在一个示例中,可以应用被称为低对比度(LC)权重的权重。在一个示例中,可以根据等式(14)来确定低对比度权重:
Figure BDA0003965120210000273
其中,TH9表示阈值,max_pix_b,min_pix_b表示第b个非重叠B×B块中的最大和最小像素值。在一个示例中,TH等于5。
根据本公开的实施例,当考虑权重sn
Figure BDA0003965120210000274
时,双边权重被设置为等式(15):
Figure BDA0003965120210000275
在另一实施例中,基于参考帧是否属于同一场景来自适应地确定参考帧的数量。
时域滤波在处理慢速和快速运动的各种视频内容时是有效的。然而,因为来自不同场景的图像帧很可能是不同的,因此时域滤波使用来自不同场景的图像来滤波TF帧可能不是有效的。因此,在一些实施例中,在场景切换中不使用时域滤波。参考范围可以根据场景切换进行调整。
图14示出了根据本公开的一些实施例的基于场景切换调整参考范围的示例。在图14的示例中,原始参考范围包括TF帧之前的4帧和TF帧之后的4帧。例如,当TF帧的图片顺序计数(picture order count,POC)是C时,TF帧之前的4帧具有从C-1到C-4的POC,TF帧之后的4帧具有从C+1到C+4的POC。
在一些示例中,根据图片顺序计数,从TF帧开始在向前和向后方向上执行场景切换检测。然后,与TF帧处于同一场景中的帧被确定为TF帧的参考帧。在图14的示例中,检测到三个场景(场景0、场景1和场景2)。第一场景scene0包括C-4帧,第二场景scene1包括C-3到C+1帧,第三场景scene2包括C+2到C+4帧。帧C-3、C-2、C-1和C+1处于与TF帧相同的场景中,并且可以用作TF帧的参考帧,因此调整后的参考范围是从C-3帧到C+1帧,不包括TF帧本身。来自其他场景的帧(例如,第一场景scene0中的C-4帧和第三场景scene2中的C+2到C+4帧)可以在时域滤波过程中被标记为不可用。
根据本公开的另一方面,非协同定位像素(non co-located pixels)可以用于时域滤波。在一些示例中,除了运动补偿参考帧中的协同定位像素(co-located pixels)之外,时域滤波可以使用运动补偿参考帧中的额外的非协同定位像素来确定平均值,例如,在等式(1)中添加非协同定位像素。
在一些示例中,来自运动补偿参考帧的额外点用于时域滤波。在一个示例中,第r个运动补偿参考帧中的协同定位像素位于位置(x,y)(也称为空间位置k),额外的非协同定位像素在第r个运动补偿参考图片中可以具有位置(x±Δx,y±Δy)(也称为空间位置)kr。在一个示例中,Δx、Δy被设置为1。
在一些示例中,定义了非协同定位像素的模式。
图15示出了非协同定位像素的模式(patterns)的示例。在图15中,模式(1510)包括与如图15所示的协同定位像素相邻的8个点;模式(1520)包括与如图15所示的协同定位像素相邻的4个点;模式(1530)包括与如图15所示的协同定位像素相邻的4个点;模式(1540)包括与如图15所示的在垂直方向上的协同定位像素相邻的2个点;模式(1550)包括与如图15所示的在水平方向上的协同定位像素相邻的2个点;模式(1560)包括与如图15所示的在对角线方向上的协同定位像素相邻的2个点;模式(1570)包括与如图15所示的在另一对角线方向上的协同定位像素相邻的2个点。
图16示出了根据本公开的一些实施例的使用非协同定位像素进行时域滤波的示例。在图16的示例中,针对TF帧导出运动补偿参考帧R1-R16。对于TF帧中的像素(1601),时域滤波器可以使用运动补偿参考帧R1-R16中的协同定位像素和运动补偿参考帧R1-R16中的相邻非协同定位像素,来确定像素的滤波值(1601)。在图16中,运动补偿参考帧R1-R16中的协同定位像素以黑色示出,运动补偿参考帧R1-R16中的相邻非协同定位像素以灰色和白色示出。不同的运动补偿参考帧可以使用不同模式的非协同定位像素。例如,在时域滤波器中仅使用运动补偿参考帧R1中的协同定位像素;运动补偿参考帧R2中的非协同定位像素形成模式(1570);运动补偿参考帧R3内的非协同定位像素形成模式(1560);运动补偿参考帧R4中的非协同定位像素形成模式(1550);运动补偿参考帧R5中的非协同定位像素形成模式(1540);运动补偿参考帧R6中的非协同定位像素形成模式(1520);运动补偿参考帧R7中的非协同定位像素形成模式(1530);运动补偿参考帧R8中的非协同定位像素形成模式(1510);运动补偿参考帧R9中的非协同定位像素形成模式(1510);运动补偿参考帧R10中的非协同定位像素形成模式(1520);运动补偿参考帧R11中的非协同定位像素形成模式(1530);运动补偿参考帧R12中的非协同定位像素形成模式(1550);运动补偿参考帧R13中的非协同定位像素形成模式(1540);运动补偿参考帧R14中的非协同定位像素形成模式(1560);运动补偿参考帧R15中的非协同定位像素形成模式(1570);并且在时域滤波器中仅使用运动补偿参考帧R16中的协同定位像素。
具体而言,在一些示例中,为了更小的时域距离(temporal distance),更多的非协同定位像素被使用。每个模式具有一组非协同定位像素,并且非协同定位像素的数量由mp表示,并且该模式可以在运动补偿参考帧中重复0,...,np次,其中,np≤a。在一个示例中,由运动补偿参考帧中的非协同定位像素形成的用于时域滤波器的模式是图15中的一种模式。
在一个示例中,参数nmax定义了可以使用非局部像素的最大参考范围。在最大参考范围之外,时域滤波器仅使用运动补偿帧中的协同定位像素来确定像素的滤波值(1601)。
在一些示例中,一些模式成对关联。例如,模式(1520)和模式(1530)关联为四个点对;模式(1540)和模式(1550)关联为垂直和水平对;模式(1560)和模式(1570)关联为对角线对。在一个示例中,可以在相邻的运动补偿参考帧处使用一对模式,例如,在运动补偿参考帧Ri和Ri+1处。例如,在图16中,对角线对分别用于R2和R3,垂直和水平对分别用于R4和R5。在另一示例中,可以在与TF帧对称的运动补偿参考帧处使用一对模式,例如,TF±i。例如,在图16中,四个点对分别用于R7(TF-2)和R10(TF+2)。
在一些实施例中,使用非局部(n1)权重来调整在第i个运动补偿参考帧中的空间位置ki处的非局部像素的滤波强度,非局部(nl)权重被表示为Snl(i,ki)。在一些示例中,为了降低双边滤波的复杂度,当像素差(运动补偿参考帧中的非局部参考像素和在TF帧中要进行滤波的像素之间的差)大于给定阈值时,可以移除非局部参考像素(例如,不考虑滤波的计算,将零作为非局部权重),例如,由ΔI(i,k,ki)>TH10表示,其中,ΔI(i,k,ki)表示在第i个运动补偿参考帧中的空间位置ki处的非局部参考像素与在TF帧中要进行滤波的像素(在空间位置k处)之间的像素差,而TH10是阈值。在一个示例中,根据等式(16)确定非局部权重snl(i,ki):
Figure BDA0003965120210000301
在一个示例中,TH10=2bit-depth>>4,其中,bit_depth表示输入(例如,原始的、未压缩的)视频序列的比特深度。
在一些实施例中,非协同定位参考像素的参数,例如,基于模式中的点的数量(例如,mp)的模式选择、模式的重复使用的数量(例如,np)、最大范围(例如,nmax)等,可以用于控制使用非协同定位参考像素进行时域滤波的复杂度。
在一些实施例中,可以根据等式(17),代替等式(1),来计算TF帧中的空间位置k处的像素的滤波值:
Figure BDA0003965120210000311
其中,Ir(i,ki)是第i个运动补偿参考图片中的第k个像素;
Figure BDA0003965120210000312
是第i个运动补偿参考图片中的像素数。wr(i,a,k,ki)表示像素的权重,如等式(18)中所述:
Figure BDA0003965120210000313
ΔI(i,k,ki)表示第k个空间位置的原始TF图片和第i个运动补偿参考图片的ki空间位置的像素之间的像素差。
应当注意,等式(18)包括对应于权重变化因子的各种权重,例如,sn用于噪声级别引起的权重,
Figure BDA0003965120210000314
用于块级别信噪比引起的权重,
Figure BDA0003965120210000315
用于块级别低对比度引起的权重,以及snl(i,ki)用于非协同定位像素的权重。在一个示例中,当不考虑权重变化因子时,对应的权重可以被设置为1。
图17示出了概述根据本公开实施例的过程(1700)的流程图。该过程(1700)可以用于视频处理。在各种实施例中,过程(1700)由处理电路执行,例如,编码装置(901)中的处理电路。在一些实施例中,过程(1700)在软件指令中实现,因此当处理电路执行软件指令时,处理电路执行过程(1700)。该过程开始于(S1701)并进行到(S1710)。
在(S1710),基于未压缩视频中的视频内容来确定时域滤波器的一个或多个参数。未压缩的视频包括帧序列(也称为图片)。在一些示例中,时域滤波器的一个或多个参数包括一组参考帧中的参考帧的数量、滤波强度(filter strength)和时域滤波器对包括第一帧中的第一像素的块的允许/禁止的决定(enabling/disabling decision)中的至少一个。第一帧是要进行时域滤波的帧,第一像素是要进行时域滤波的像素。在一些示例中,视频内容可以包括场景变化(scene change)、帧的噪声水平(noise level)、块的信噪比和块中的像素方差(pixel variance)中的至少一个。
在一个示例中,基于第一帧的噪声水平来确定一组参考帧中的参考帧的数量。
在另一示例中,基于第一帧的噪声水平来确定帧级滤波强度(frame levelfiltering strength)。
在另一示例中,包括第一像素的块的滤波强度和量化参数中的至少一个可以基于该块的信噪比。
在另一示例中,基于块的复杂度来确定允许/禁止对第一帧中的块应用时域滤波器的决定。
在(S1720),将具有所确定的参数的时域滤波器应用于第一帧中的第一像素,以基于第一帧中的第一像素和第一帧的一组参考帧中的第二像素来确定第一像素的滤波值。第一帧是要进行时域滤波的帧,第一像素是要进行时域滤波的像素。
在一些示例中,确定与第一帧处于相同场景中的一组参考帧。对于一组参考帧中的参考帧,基于参考帧和第一帧之间的运动估计导出运动补偿参考帧。然后,至少部分地基于运动补偿参考帧中的第一像素的协同定位像素来计算第一像素的滤波值。
此外,在一些示例中,基于运动补偿参考帧中的用于第一像素的至少一个非协同定位像素来计算第一像素的滤波值。
在一个示例中,基于第一运动补偿参考帧中第一数量的非协同定位像素和第二运动补偿参考帧中第二数量的非协同定位像素来计算滤波值。第一运动补偿参考帧比第二运动补偿参考帧具有到第一帧的更小的时域距离,并且第一数量的非协同定位像素多于第二数量的非协同定位像素。
在(S1730),对滤波视频进行编码,以生成携带滤波视频的编码视频比特流,其中,上述滤波视频包括第一帧中的第一像素的滤波值。
然后,处理进行到(S1799)并终止。
上述技术可以被实现为使用计算机可读指令的计算机软件,并且物理地存储在一个或多个计算机可读介质中。例如,图18示出了适于实现所公开主题的某些实施例的计算机系统(1800)。
计算机软件可以使用任何合适的机器代码或计算机语言来编码,其可以经受汇编、编译、链接或类似机制来创建包括指令的代码,这些指令可以由一个或多个计算机中央处理单元(CPU)、图形处理单元(GPU)等直接执行,或者通过解释、微代码执行等来执行。
指令可以在各种类型的计算机或其组件上执行,包括例如个人计算机、平板计算机、服务器、智能手机、游戏装置、物联网装置等。
图18中所示的计算机系统(1800)的组件本质上是示例性的,并且不旨在对实现本公开的实施例的计算机软件的使用范围或功能提出任何限制。组件的配置也不应被解释为对计算机系统(1800)的示例性实施例中所示的任何一个组件或组件组合有任何依赖性或要求。
计算机系统(1800)可以包括某些人机接口输入装置。这种人机接口输入装置可以响应一个或多个人类用户通过例如触觉输入(例如:击键、滑动、数据手套移动)、音频输入(例如:语音、鼓掌)、视觉输入(例如:手势)、嗅觉输入(未示出)进行的输入。人机接口装置还可以用于捕捉不一定与人的有意识输入直接相关的某些媒体,例如,音频(例如:语音、音乐、环境声音)、图像(例如:扫描图像、从静止图像相机获得的照片图像)、视频(例如,二维视频、包括立体视频的三维视频)。
输入人机接口装置可以包括以下一个或多个(每个仅描绘了一个):键盘(1801)、鼠标(1802)、轨迹板(1803)、触摸屏(1810)、数据手套(未示出)、操纵杆(1805)、麦克风(1806)、扫描仪(1807)、相机(1808)。
计算机系统(1800)还可以包括某些人机接口输出装置。这种人机接口输出装置可以通过例如触觉输出、声音、光和气味/味道来刺激一个或多个人类用户的感觉。这种人机接口输出装置可以包括触觉输出装置(例如,通过触摸屏(1810)、数据手套(未示出)或操纵杆(1805)的触觉反馈,但是也可以有不用作输入装置的触觉反馈装置)、音频输出装置(例如:扬声器(1809)、耳机(未示出))、视觉输出装置(例如,屏幕(1810),包括CRT屏幕、LCD屏幕、等离子屏幕、OLED屏幕,每个都具有或不具有触摸屏输入能力,每个都具有或不具有触觉反馈能力——其中一些能够通过诸如立体输出之类的方式输出二维视觉输出或多于三维的输出;虚拟现实眼镜(未示出)、全息显示器和烟雾箱(未示出))以及打印机(未示出)。
计算机系统(1800)还可以包括人类可访问的存储装置及其相关联的介质,例如,包括具有CD/DVD或类似介质(1818)的CD/DVD ROM/RW(1820)的光学介质、拇指驱动器(1822)、可移动硬盘驱动器或固态驱动器(1823)、诸如磁带和软盘(未示出)之类的传统磁介质、诸如安全加密狗(未示出)之类的专用ROM/ASIC/PLD装置等。
本领域技术人员还应该理解,结合当前公开的主题使用的术语“计算机可读介质”不包括传输介质、载波或其他瞬时信号。
计算机系统(1800)还可以包括到一个或多个通信网络(1855)的接口(1854)。网络例如可以是无线的、有线的、光学的。网络还可以是局域的、广域的、大都市的、车辆的和工业的、实时的、延迟容忍的等。网络的示例包括诸如以太网、无线LAN之类的局域网、包括GSM、3G、4G、5G、LTE等的蜂窝网络、包括有线电视、卫星电视和地面广播电视的电视有线或无线广域数字网络、包括CANBus的车辆和工业网络等。某些网络通常需要连接到某些通用数据端口或外围总线(1849)(例如,计算机系统(1800)的USB端口)的外部网络接口适配器;其他的通常通过连接到如下所述的系统总线而集成到计算机系统(1800)的核心中(例如,PC计算机系统中的以太网接口或智能电话计算机系统中的蜂窝网络接口)。使用这些网络中的任何一个,计算机系统(1800)可以与其他实体通信。这种通信可以是单向的、只接收的(例如,广播电视)、单向的、只发送的(例如,到某些CANbus装置的CANbus),或者是双向的,例如,到使用局域或广域数字网络的其他计算机系统。如上所述,某些协议和协议栈可以用在这些网络和网络接口的每一个上。
前述人机接口装置、人类可访问的存储装置和网络接口可以附接到计算机系统(1800)的核心(1840)。
核心(1840)可以包括一个或多个中央处理单元(CPU)(1841)、图形处理单元(GPU)(1842)、现场可编程门区域(FPGA)(1843)形式的专用可编程处理单元、用于特定任务的硬件加速器(1844)、图形适配器(1850)等。这些装置连同只读存储器(ROM)(1845)、随机存取存储器(1846)、诸如内部非用户可访问硬盘驱动器、SSD之类的内部大容量存储器(1847)可以通过系统总线(1848)连接。在一些计算机系统中,系统总线(1848)可以以一个或多个物理插头的形式访问,以允许额外CPU、GPU等的扩展。外围装置可以直接或者通过外围总线(1849)连接到核心的系统总线(1848)。在一个示例中,屏幕(1810)可以连接到图形适配器(1850)。外围总线的架构包括PCI、USB等。
CPU(1841)、GPU(1842)、FPGA(1843)和加速器(1844)可以执行某些指令,这些指令组合起来可以构成上述计算机代码。该计算机代码可以存储在ROM(1845)或RAM(1846)中。过渡数据也可以存储在RAM(1846)中,而永久数据可以存储在例如内部大容量存储器(1847)中。可以通过使用高速缓冲存储器来实现对任何存储装置的快速存储和检索,高速缓冲存储器可以与一个或多个CPU(1841)、GPU(1842)、大容量存储器(1847)、ROM(1845)、RAM(1846)等紧密关联。
计算机可读介质上可以具有用于执行各种计算机实现的操作的计算机代码。介质和计算机代码可以是为了本公开的目的而专门设计和构造的,或者可以是计算机软件领域的技术人员公知和可获得的类型。
作为示例而非限制,具有架构(1800)的计算机系统,特别是核心(1840)可以提供作为处理器(包括CPU、GPU、FPGA、加速器等)执行包含在一个或多个有形的计算机可读介质中的软件的结果的功能。这种计算机可读介质可以是与如上所述的用户可访问的大容量存储器相关联的介质以及具有非暂时性的核心(1840)的某些存储器,例如,核心内部大容量存储器(1847)或ROM(1845)。实现本公开的各种实施例的软件可以存储在这样的装置中并由核心执行(1840)。根据特定需要,计算机可读介质可以包括一个或多个存储装置或芯片。该软件可以使核心(1840)并且特别是其中的处理器(包括CPU、GPU、FPGA等)执行本文描述的特定过程或特定过程的特定部分,包括定义存储在RAM(1846)中的数据结构并且根据软件定义的过程修改这样的数据结构。此外或作为替代,计算机系统可以作为硬连线或以其他方式包含在电路中的逻辑(例如:加速器(1844))的结果来提供功能,其可以代替软件或与软件一起操作来执行本文描述的特定过程或特定过程的特定部分。在适当的情况下,对软件的引用可以包括逻辑,反之亦然。在适当的情况下,对计算机可读介质的引用可以包括存储用于执行的软件的电路(例如,集成电路(IC))、包含用于执行的逻辑的电路或者这两者。本公开包含硬件和软件的任何合适的组合。
附录A:缩略语
JEM:joint exploration model,共同探索模式
VVC:versatile video coding,多功能视频编码
BMS:benchmark set,基准集
MV:Motion Vector,运动矢量
HEVC:High Efficiency Video Coding,高效视频编码
SEI:Supplementary Enhancement Information,补充增强信息
VUI:Video Usability Information,视频可用性信息
GOPs:Groups of Pictures,图片组
TUs:Transform Units,变换单元
PUs:Prediction Units,预测单元
CTUs:Coding Tree Units,编码树单元
CTBs:Coding Tree Blocks,编码树块
PBs:Prediction Blocks,预测块
HRD:Hypothetical Reference Decoder,假设参考解码器
SNR:Signal Noise Ratio,信噪比
CPUs:Central Processing Units,中央处理器
GPUs:Graphics Processing Units,图形处理单元
CRT:Cathode Ray Tube,阴极射线管
LCD:Liquid-Crystal Display,液晶显示器
OLED:Organic Light-Emitting Diode,有机发光二极管
CD:Compact Disc,光盘
DVD:Digital Video Disc,数字视频光盘
ROM:Read-Only Memory,只读存储器
RAM:Random Access Memory,随机存取存储器
ASIC:Application-Specific Integrated Circuit,专用集成电路
PLD:Programmable Logic Device,可编程逻辑器件
LAN:Local Area Network,局域网
GSM:Global System for Mobile communications,全球移动通信系统
LTE:Long-Term Evolution,长期演进
CANBus:Controller Area Network Bus,控制器局域网总线
USB:Universal Serial Bus,通用串行总线
PCI:Peripheral Component Interconnect,外围组件互连
FPGA:Field Programmable Gate Areas,现场可编程门区域
SSD:solid-state drive,固态硬盘
IC:Integrated Circuit,集成电路
CU:Coding Unit,编码单元
虽然本公开已经描述了几个示例性实施例,但是存在落入本公开范围内的变更、置换和各种替代等同物。因此,应当理解,本领域技术人员将能够设计出许多系统和方法,尽管在此没有明确示出或描述,但是这些系统和方法体现了本公开的原理,并且因此在本公开的精神和范围内。

Claims (20)

1.一种视频处理方法,其特征在于,包括:
处理器基于未压缩视频中的视频内容来确定时域滤波器的参数,所述未压缩视频包括帧序列;以及
所述处理器将具有所确定的所述参数的所述时域滤波器应用于第一帧中的第一像素,以基于所述第一帧中的所述第一像素和所述第一帧的一组参考帧中的第二像素来确定所述第一像素的滤波值。
2.根据权利要求1所述的方法,其特征在于,还包括:
所述处理器对滤波视频进行编码,以生成携带所述滤波视频的编码视频比特流,其中,所述滤波视频包括所述第一帧中的所述第一像素的所述滤波值。
3.根据权利要求1所述的方法,其特征在于,所述时域滤波器的所述参数包括所述一组参考帧中的参考帧的数量、滤波强度和所述时域滤波器对包括所述第一像素的块的允许/禁止的决定中的至少一个,并且所述视频内容包括场景变化、帧的噪声水平、块的信噪比和块中的像素方差中的至少一个。
4.根据权利要求1所述的方法,其特征在于,还包括:
基于所述第一帧的噪声水平来确定所述一组参考帧中的参考帧的数量。
5.根据权利要求1所述的方法,其特征在于,还包括:
基于所述第一帧的噪声水平来确定帧级滤波强度。
6.根据权利要求1所述的方法,其特征在于,还包括:
基于包括所述第一像素的块的信噪比,确定所述块的滤波强度和量化参数中的至少一个。
7.根据权利要求1所述的方法,其特征在于,还包括:
基于所述第一帧中的块的复杂度,做出允许/禁止将所述时域滤波器应用于所述块的决定。
8.根据权利要求1所述的方法,其特征在于,还包括:
确定与所述第一帧处于相同场景中的所述一组参考帧;
基于参考帧和所述第一帧之间的运动估计,为所述一组参考帧中的所述参考帧导出运动补偿参考帧;以及
基于所述运动补偿参考帧中的用于所述第一像素的协同定位像素来确定所述第一像素的滤波值。
9.根据权利要求8所述的方法,其特征在于,还包括:
基于所述运动补偿参考帧中的用于所述第一像素的至少一个非协同定位像素来确定所述第一像素的滤波值。
10.根据权利要求9所述的方法,其特征在于,还包括:
基于第一运动补偿参考帧中第一数量的非协同定位像素和第二运动补偿参考帧中第二数量的的非协同定位像素来确定所述滤波值,所述第一运动补偿参考帧比所述第二运动补偿参考帧具有到所述第一帧的更小的时域距离,所述第一数量的非协同定位像素多于所述第二数量的非协同定位像素。
11.一种视频处理设备,其特征在于,包括处理电路,所述处理电路被配置为:
基于未压缩视频中的视频内容来确定时域滤波器的参数,所述未压缩视频包括帧序列;以及
将具有所确定的所述参数的所述时域滤波器应用于第一帧中的第一像素,以基于所述第一帧中的所述第一像素和所述第一帧的一组参考帧中的第二像素来确定所述第一像素的滤波值。
12.根据权利要求11所述的设备,其特征在于,所述处理电路还被配置为:
对滤波视频进行编码,以生成携带所述滤波视频的编码视频比特流,其中,所述滤波视频包括所述第一帧中的所述第一像素的所述滤波值。
13.根据权利要求11所述的设备,其特征在于,所述时域滤波器的所述参数包括所述一组参考帧中的参考帧的数量、滤波强度和所述时域滤波器对包括所述第一像素的块的允许/禁止的决定中的至少一个,并且所述视频内容包括场景变化、帧的噪声水平、块的信噪比和块中的像素方差中的至少一个。
14.根据权利要求11所述的设备,其特征在于,所述处理电路被配置为:
基于所述第一帧的噪声水平来确定所述一组参考帧中的参考帧的数量。
15.根据权利要求11所述的设备,其特征在于,所述处理电路被配置为:
基于所述第一帧的噪声水平来确定帧级滤波强度。
16.根据权利要求11所述的设备,其特征在于,所述处理电路被配置为:
基于包括所述第一像素的块的信噪比,确定所述块的滤波强度和量化参数中的至少一个。
17.根据权利要求11所述的设备,其特征在于,所述处理电路被配置为:
基于所述第一帧中的块的复杂度,做出允许/禁止将所述时域滤波器应用于所述块的决定。
18.根据权利要求11所述的设备,其特征在于,所述处理电路被配置为:
确定与所述第一帧处于相同场景中的一组参考帧;
基于参考帧和所述第一帧之间的运动估计,为所述一组参考帧中的所述参考帧导出运动补偿参考帧;以及
基于所述运动补偿参考帧中的用于所述第一像素的协同定位像素来确定所述第一像素的所述滤波值。
19.根据权利要求18所述的设备,其特征在于,所述处理电路被配置为:
基于所述运动补偿参考帧中的用于所述第一像素的至少一个非协同定位像素来确定所述第一像素的所述滤波值。
20.根据权利要求19所述的设备,其特征在于,所述处理电路被配置为:
基于第一运动补偿参考帧中第一数量的非协同定位像素和第二运动补偿参考帧中第二数量的非协同定位像素来确定所述滤波值,所述第一运动补偿参考帧比所述第二运动补偿参考帧具有到所述第一帧的更小的时域距离,所述第一数量的非协同定位像素多于所述第二数量的非协同定位像素。
CN202180038238.1A 2021-08-26 2021-12-09 用于视频编码中的时域滤波的方法和设备 Pending CN116076074A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/446,080 2021-08-26
US17/446,080 US12088801B2 (en) 2021-08-26 2021-08-26 Method and apparatus for temporal filter in video coding
PCT/US2021/062653 WO2023027752A1 (en) 2021-08-26 2021-12-09 Method and apparatus for temporal filter in video coding

Publications (1)

Publication Number Publication Date
CN116076074A true CN116076074A (zh) 2023-05-05

Family

ID=85322120

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180038238.1A Pending CN116076074A (zh) 2021-08-26 2021-12-09 用于视频编码中的时域滤波的方法和设备

Country Status (4)

Country Link
US (1) US12088801B2 (zh)
EP (1) EP4169251A4 (zh)
CN (1) CN116076074A (zh)
WO (1) WO2023027752A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12088801B2 (en) * 2021-08-26 2024-09-10 Tencent America LLC Method and apparatus for temporal filter in video coding
CN117615146B (zh) * 2023-11-13 2024-08-16 书行科技(北京)有限公司 视频处理方法及装置、电子设备及计算机可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100027665A1 (en) * 2008-08-01 2010-02-04 Zoran Corporation Video encoder with an integrated temporal filter
US20120063513A1 (en) * 2010-09-15 2012-03-15 Google Inc. System and method for encoding video using temporal filter
CN104769639A (zh) * 2012-11-07 2015-07-08 Vid拓展公司 用于对高动态范围视频进行去噪的时间滤波器
US20180343448A1 (en) * 2017-05-23 2018-11-29 Intel Corporation Content adaptive motion compensated temporal filtering for denoising of noisy video for efficient coding

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9374526B2 (en) * 2014-07-31 2016-06-21 Apple Inc. Providing frame delay using a temporal filter
WO2018051330A1 (en) 2016-09-14 2018-03-22 Beamr Imaging Ltd. Method of pre-processing of video information for optimized video encoding
KR20200060589A (ko) * 2018-11-21 2020-06-01 삼성전자주식회사 병합된 프레임율 컨버터와 비디오 코덱을 갖는 시스템 온 칩 및 그것의 프레임율 변환 방법
US10652552B1 (en) * 2019-02-01 2020-05-12 Google Llc Efficient noise reduction coding
US11252440B2 (en) 2019-11-07 2022-02-15 Comcast Cable Communications, Llc Pixel filtering for content
US12088801B2 (en) * 2021-08-26 2024-09-10 Tencent America LLC Method and apparatus for temporal filter in video coding

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100027665A1 (en) * 2008-08-01 2010-02-04 Zoran Corporation Video encoder with an integrated temporal filter
US20120063513A1 (en) * 2010-09-15 2012-03-15 Google Inc. System and method for encoding video using temporal filter
CN104769639A (zh) * 2012-11-07 2015-07-08 Vid拓展公司 用于对高动态范围视频进行去噪的时间滤波器
US20180343448A1 (en) * 2017-05-23 2018-11-29 Intel Corporation Content adaptive motion compensated temporal filtering for denoising of noisy video for efficient coding

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
P. WENNERSTEN: "《[AHG10] GOP-based temporal filter improvements》", 《]JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11 : JVET-U0056-V2》, 30 December 2020 (2020-12-30), pages 1 - 3 *
P. WENNERSTEN: "《AHG10: Encoder-only GOP-based temporal filter》", 《JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11 : JVET-O0549-V》, 1 July 2019 (2019-07-01), pages 1 - 3 *

Also Published As

Publication number Publication date
EP4169251A1 (en) 2023-04-26
US12088801B2 (en) 2024-09-10
US20230084472A1 (en) 2023-03-16
EP4169251A4 (en) 2024-02-21
WO2023027752A1 (en) 2023-03-02

Similar Documents

Publication Publication Date Title
CN114745540B (zh) 一种视频编解码方法、装置、设备和介质
CN112889269B (zh) 视频解码方法及装置
CN112272949B (zh) 视频解码的方法、装置及可读介质
CN113875234B (zh) 视频解码方法、装置和介质
US11025917B2 (en) Method and apparatus for video coding
JP2023062099A (ja) ビデオ復号化のための方法、機器、非一時的なコンピュータ可読媒体、及びコンピュータプログラム
CN113396590B (zh) 视频解码的方法和装置、计算机设备及存储介质
JP7476367B2 (ja) ビデオをデコードするための方法、装置及びプログラム
CN113348668B (zh) 一种视频解码方法、装置及存储介质
CN113366847A (zh) 用于视频编码的方法和装置
JP2022552381A (ja) ビデオ復号の方法、装置、およびコンピュータプログラム
CN113228667A (zh) 用于视频编码的方法及装置
CN111726622B (zh) 视频编解码的方法、装置及介质
CN111919440B (zh) 用于视频解码的方法、装置和计算机可读介质
CN116530080A (zh) 对帧内预测的融合的修改
CN116076074A (zh) 用于视频编码中的时域滤波的方法和设备
CN112771869A (zh) 小型编码块的简化合并列表构建
CN111989929B (zh) 视频解码方法、装置及计算机可读介质
CN116762340B (zh) 用于视频编码、解码的方法、装置和存储介质
CN115699738B (zh) 视频编解码方法设备、装置以及计算机可读存储介质
CN115486072A (zh) 用于视频译码的方法和设备
JP7544433B2 (ja) イントラ双方向予測及び複数参照ライン選択のための調和設計
JPWO2021207026A5 (zh)
JP7476426B2 (ja) ビデオコーディングのための方法、装置、およびコンピュータプログラム
CN114342384B (zh) 一种视频解码方法、装置和计算机可读存储介质

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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40086560

Country of ref document: HK