CN115606175A - 用于样本偏移的自适应非线性映射 - Google Patents

用于样本偏移的自适应非线性映射 Download PDF

Info

Publication number
CN115606175A
CN115606175A CN202280003144.5A CN202280003144A CN115606175A CN 115606175 A CN115606175 A CN 115606175A CN 202280003144 A CN202280003144 A CN 202280003144A CN 115606175 A CN115606175 A CN 115606175A
Authority
CN
China
Prior art keywords
sample
filter
color component
current
video
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.)
Granted
Application number
CN202280003144.5A
Other languages
English (en)
Other versions
CN115606175B (zh
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 CN115606175A publication Critical patent/CN115606175A/zh
Application granted granted Critical
Publication of CN115606175B publication Critical patent/CN115606175B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
    • 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/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • 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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • 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/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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • 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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame 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/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/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/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
    • 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/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • 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年1月4日提交的美国非临时专利申请第17/568,565号的优先权的权益,该美国非临时专利申请要求于2021年3月19日提交的题为“ADAPTIVE NON-LINEAR MAPPING FOR SAMPLE OFFSET”的美国临时申请第63/163,707号的权益。上述两个申请都通过引用整体并入本文中。
技术领域
本公开内容总体上描述了一组先进的视频编码技术,并且具体地涉及利用局部自适应进行的样本偏移滤波。
背景技术
本文中提供的背景技术描述的目的是总体上呈现本公开内容的上下文。就该背景技术部分中描述的工作的程度而言,目前署名的发明人的工作以及在提交本申请时可以不被另外限定为现有技术的描述的各方面既没有明确地也没有隐含地承认为是针对本公开内容的现有技术。
可以使用具有运动补偿的帧间图片预测来执行视频编码和解码。未压缩的数字视频可以包括一系列图片,其中每个图片具有例如1920×1080亮度样本以及相关联的全采样或子采样色度样本的空间维度。所述一系列图片可以具有例如每秒60个图片或每秒60帧的固定的或可变的图片速率(可替选地称为帧速率)。未压缩的视频对于流式传输或数据处理具有特定的位率要求。例如,具有1920×1080的像素分辨率、60帧/秒的帧速率、以及在每像素每颜色通道8位下的4:2:0的色度子采样的视频需要接近1.5Gbit/s的带宽。一小时的这样的视频需要多于600千兆字节的存储空间。
视频编码和解码的一个目的可以是通过压缩来减少未压缩输入视频信号的冗余。压缩可以帮助减少以上提及的带宽和/或存储空间需求,在一些情况下减少两个数量级或更多。可以采用无损压缩和有损压缩两者以及它们的组合。无损压缩是指可以经由解码处理根据压缩的原始信号重建原始信号的精确副本的技术。有损压缩是指原始视频信息在编码期间未完全保留并且在解码期间未完全恢复的编码/解码处理。当使用有损压缩时,重建的信号可能与原始信号不同,但是原始信号与重建的信号之间的失真足够小,以呈现对预期应用有用的重建的信号,尽管存在一些信息丢失。在视频的情况下,有损压缩被广泛应用于许多应用中。可容忍的失真量取决于应用。例如,某些消费者视频流式传输应用的用户可能比电影或电视广播应用的用户容忍更高的失真。可以选择或调整可由特定编码算法实现的压缩比以反映各种失真容限:更高的可容忍失真通常允许使更高损失和更高压缩比产生的编码算法。
视频编码器和解码器可以利用来自若干广泛类别和步骤的技术,包括例如运动补偿、傅里叶变换、量化和熵编码。
视频编解码器技术可以包括称为帧内编码的技术。在帧内编码中,在不参考来自先前重建的参考图片的样本或其他数据的情况下表示样本值。在一些视频编解码器中,图片在空间上被细分为样本块。当所有样本块以帧内模式进行编码时,该图片可以称为帧内图片。帧内图片及其衍生图片例如独立解码器刷新图片可以用于重置解码器状态,并且因此可以用作已编码视频码流和视频会话中的第一图片或者用作静止图像。然后,可以将帧内预测之后的块的样本变换到频域,并且可以在熵编码之前对这样生成的变换系数进行量化。帧内预测表示使预变换域中的样本值最小化的技术。在一些情况下,变换之后的DC值越小并且AC系数越小,则在给定量化步长下表示熵编码之后的块所需的位就越少。
传统的帧内编码——诸如从例如MPEG(Moving Picture Experts Group,MPEG)-2代编码技术中已知的帧内编码——不使用帧内预测。然而,一些较新的视频压缩技术包括如下技术,其尝试基于例如在空间上邻近并且在解码顺序中先于正在进行帧内编码或解码的数据块的编码和/或解码期间获得的元数据和/或周围样本数据对块进行编码/解码。这样的技术此后被称为“帧内预测”技术。注意,在至少一些情况下,帧内预测仅使用来自重建中的当前图片的参考数据,而不使用来自其他参考图片的参考数据。
可以存在许多不同形式的帧内预测。当在给定的视频编码技术中可以使用多于一种这样的技术时,所使用的技术可以被称为帧内预测模式。可以在特定编解码器中提供一种或更多种帧内预测模式。在某些情况下,模式可以具有子模式和/或可以与各种参数相关联,并且针对视频块的模式/子模式信息和帧内编码参数可以单独编码或共同包括在模式码字中。针对给定模式、子模式和/或参数组合使用哪种码字可以对通过帧内预测的编码效率增益产生影响,并且因此可以对用于将码字转换成码流的熵编码技术产生影响。
帧内预测的某些模式由H.264引入、在H.265中被细化,并且在较新编码技术例如联合开发模型(Joint Exploration Model,JEM)、通用视频编码(Versatile VideoCoding,VVC)和基准集(Benchmark Set,BMS)中被进一步细化。通常,对于帧内预测,可以使用已经变得可用的邻近样本值来形成预测器块。例如,可以将沿特定方向和/或线的特定邻近样本集合的可用值复制到预测器块中。对使用的方向的参考可以被编码在码流中或者其本身可以被预测。
参照图1A,在右下方描绘了在H.265的33个可能的帧内预测器方向(对应于H.265中指定的35个帧内模式的33个角度模式)中指定的九个预测器方向的子集。箭头会聚的点(101)表示正在预测的样本。箭头表示使用邻近样本预测101处的样本的方向。例如,箭头(102)指示根据右上方的与水平方向成45度角的一个或多个邻近样本对样本(101)进行预测。类似地,箭头(103)指示根据样本(101)左下方的与水平方向成22.5度角的一个或多个邻近样本对样本(101)进行预测。
仍然参照图1A,在左上方描绘了4×4样本的正方形块(104)(由黑体虚线指示)。正方形块(104)包括16个样本,每个样本均用“S”、其在Y维度上的位置(例如,行索引)以及其在X维度上的位置(例如,列索引)来标记。例如,样本S21是Y维度上(从顶部起)的第二个样本并且是X维度上(从左侧起)的第一个样本。类似地,样本S44是块(104)中在Y维度和X维度两者上的第四个样本。由于块的大小是4×4个样本,因此S44在右下方处。进一步示出的是遵循类似编号方案的示例参考样本。参考样本用R、其相对于块(104)的Y位置(例如,行索引)和X位置(列索引)来标记。在H.264和H.265两者中,使用与重建中的块相邻地邻近的预测样本。
块104的帧内图片预测可以通过根据用信号通知的预测方向从邻近样本复制参考样本值开始。例如,假设已编码视频码流包括信令,针对该块104,该信令指示箭头(102)的预测方向——即,根据右上方的与水平方向成45度角的一个或多个预测样本对样本进行预测。在这样的情况下,根据同一参考样本R05对样本S41、S32、S23和S14进行预测。然后,根据参考样本R08对样本S44进行预测。
在某些情况下,可以例如通过插值将多个参考样本的值进行组合以便计算参考样本;尤其是当方向不能被45度整除时。
随着视频编码技术的不断发展,可能的方向的数目也在增加。例如,在H.264(2003年)中,有九个不同的方向可用于帧内预测。在H.265(2013年)中其增加到33个,并且在本公开内容的时候,JEM/VVC/BMS可以支持多至65个方向。已经进行了实验研究以帮助识别最合适的帧内预测方向,并且熵编码中的某些技术可以用于以少量的位来编码那些最合适的方向,从而接受对方向的特定位惩罚。此外,有时可以根据在已解码的邻近块的帧内预测中使用的邻近方向来预测方向本身。
图1B示出了描绘根据JEM的65个帧内预测方向的示意图(180),以说明预测方向的数目在随着时间发展的各种编码技术中增加。
用于将表示帧内预测方向的位映射至已编码视频码流中的预测方向的方式可以随着视频编码技术的不同而不同;并且该方式的范围例如可以从预测方向的简单直接映射到帧内预测模式,到码字,再到涉及最可能模式的复杂自适应方案以及类似技术。然而,在所有情况下,可能存在用于前导预测的某些方向,其统计上比某些其他方向更不可能出现在视频内容中。由于视频压缩的目标是减少冗余,因此在设计良好的视频编码技术中,那些较不可能的方向相较于更可能的方向将可能由更大的位数来表示。
帧间图片预测或帧间预测可以基于运动补偿。在运动补偿中,来自先前重建的图片或其一部分(参考图片)的样本数据,在沿由运动矢量(此后称为MV)指示的方向进行空间移位之后,可以用于预测新重建的图片或图片部分(例如,块)。在一些情况下,参考图片可以与当前重建中的图片相同。MV可以具有两个维度X和Y、或者三个维度,其中第三维度是使用中的参考图片的指示(类似于时间维度)。
在一些视频压缩技术中,可以根据其他MV来预测适用于样本数据的特定区域的当前MV,例如根据与样本数据的在空间上与重建中的区域相邻的其他区域相关并且在解码顺序中先于当前MV的那些其他MV来预测该当前MV。这样做可以通过依靠消除相关MV中的冗余来显著减少编码MV所需的数据总量,从而提高压缩效率。例如,由于在对从摄像装置得出的输入视频信号(被称为自然视频)进行编码时存在比单个MV所适用的区域大的区域在视频序列中沿类似的方向移动的统计可能性,并且因此在一些情况下可以使用根据邻近区域的MV得出的类似运动矢量进行预测,因此,MV预测可以有效地发挥作用。这致使针对给定区域的实际MV与根据周围MV预测的MV类似或相同。与在MV被直接编码而不是根据邻近MV预测的情况下会使用的位数相比,这样的MV又可以在熵编码之后以更少的位数被表示。在一些情况下,MV预测可以是根据原始信号(即样本流)得出的信号(即MV)的无损压缩的示例。在其他情况下,MV预测本身可以是有损的,这是因为例如根据若干周围MV计算预测器时的舍入误差。
在H.265/HEVC(High Efficiency Video Coding,HEVC)(ITU(InternationalTelecommunication Union,ITU)-T H.265建议书,“High Efficiency Video Coding”,2016年12月)中描述了各种MV预测机制。在H.265指定的多种MV预测机制中,下面描述的是此后被称为“空间合并"的技术。
具体地,参照图2,当前块(201)包括在运动搜索处理期间已经由编码器发现的根据已经经空间移位的相同大小的先前块可预测的样本。代替直接对该MV进行编码,可以使用与被表示为A0、A1和B0、B1、B2(分别对应202到206)的五个周围样本中的任一样本相关联的MV,根据与一个或更多个参考图片相关联的元数据例如根据最新(按解码顺序)参考图片得出该MV。在H.265中,MV预测可以使用来自邻近块使用的相同参考图片的预测器。
发明内容
本公开内容的各方面提供了用于视频编码和解码中的交叉样本偏移滤波和局部样本偏移滤波的方法和装置。
在一些示例实现方式中,公开了一种用于视频流的环路内滤波的方法。该方法可以包括:获得与视频流的当前重建数据块中的至少第一颜色分量的重建样本相关联的至少一个统计属性;基于至少一个统计属性在多个样本偏移滤波器之中选择目标样本偏移滤波器,该目标样本偏移滤波器包括样本增量度量与样本偏移值之间的非线性映射;以及使用目标样本偏移滤波器和当前重建数据块的第三颜色分量的参考样本对当前重建数据块的第二颜色分量的当前样本进行滤波,以生成当前样本的滤波重建样本。
在上面的实现方式中,第一颜色分量可以是与第三颜色分量相同的颜色分量。第一颜色分量可以是与第二颜色分量相同的颜色分量。第二颜色分量可以是与第三颜色分量不同的颜色分量。第二颜色分量可以是与第三颜色分量相同的颜色分量。至少第一颜色分量可以包括一个、两个或三个颜色分量。
在上面的任何实现方式中,至少一个统计属性可以包括当前重建数据块的边缘信息。此外,当前重建数据块的边缘信息包括在约束方向增强滤波(CDEF)处理中得出的边缘方向,并且多个样本偏移滤波器包括与N个CDEF边缘方向对应的N个样本偏移滤波器,N为1与8之间同时包含1和8的整数。此外,以高级语法(HLS)中的帧级别用信号通知多个样本偏移滤波器。
在上面的任何实现方式中,至少一个统计属性包括当前重建数据块的平滑度度量。此外,将当前重建数据块的平滑度度量映射至由M-1个平滑度级别阈值表征的M个预定义的平滑度级别中的一个;多个样本偏移滤波器包括与M个预定义的平滑度级别对应的M个样本偏移滤波器;并且根据映射至平滑度度量的M个预定义的平滑度级别中的一个,从M个样本偏移滤波器选择目标样本偏移滤波器。
在上面的任何实现方式中,至少一个统计属性包括当前重建数据块的编码信息。此外,编码信息包括当前重建数据块的当前预测模式;多个样本偏移滤波器对应于不同的预测模式;并且根据当前重建数据块的当前预测模式,从多个样本偏移滤波器选择目标样本偏移滤波器。此外,不同的预测模式包括帧内DC模式、帧内平面模式、帧内PAETH模式、帧内平滑模式、帧内递归滤波模式和帧间跳过模式中的至少一种。
在上面的任何实现方式中,多个样本偏移滤波器中的每一个都与滤波器系数组、多个滤波器抽头以及多个滤波器抽头的位置相关联。
在上面的任何实现方式中,使用目标样本偏移滤波器和当前重建数据块的第三颜色分量的参考样本对当前重建数据块的第二颜色分量的当前样本进行滤波,以生成当前样本的滤波重建样本可以包括:确定第二颜色分量的当前样本的第一位置和与目标样本偏移滤波器相关联的多个滤波器抽头的第二位置;将第一位置和第二位置处的第三颜色分量的重建样本识别为参考样本;确定当前重建数据块的均为第三颜色分量的对应于第二位置的参考样本与对应于第一位置的参考样本之间的增量度量;基于增量度量从目标样本偏移滤波器提取样本偏移值;以及使用样本偏移值对第二颜色分量的当前样本进行滤波,以生成当前样本的滤波重建样本。
在上面的任何实现方式中,多个样本偏移滤波器可以是预定的。可以以序列级别、图片级别或编码树单元级别用信号通知多个样本偏移滤波器和在多个样本偏移滤波器之中所选择的目标样本偏移滤波器的索引。
在一些实现方式中,公开了一种视频编码或解码装置。该装置可以包括被配置成实现上面的任何方法的电路系统。
本公开内容的各方面还提供了存储指令的非暂态计算机可读介质,所述指令在由计算机执行用于视频解码和/或编码时使计算机执行用于视频解码和/或编码的方法。
附图说明
根据以下详细描述和附图,所公开的主题的其他特征、性质和各种优点将更加明显,在附图中:
图1A示出了帧内预测方向模式的示例性子集的示意图。
图1B示出了示例性帧内预测方向的图示。
图2示出了在一个示例中用于运动矢量预测的当前块及其周围的空间合并候选的示意图。
图3示出了根据示例实施方式的通信系统(300)的简化框图的示意图。
图4示出了根据示例实施方式的通信系统(400)的简化框图的示意图。
图5示出了根据示例实施方式的视频解码器的简化框图的示意图。
图6示出了根据示例实施方式的视频编码器的简化框图的示意图。
图7示出了根据另一示例实施方式的视频编码器的框图。
图8示出了根据另一示例实施方式的视频解码器的框图。
图9示出了根据本公开内容的实施方式的示例性自适应环路滤波器。
图10A至图10D示出了根据本公开内容的实施方式的分别用于计算竖直方向、水平方向和两个对角方向的梯度的子采样位置的示例。
图10E示出了基于各种梯度来确定块方向性以供自适应环路滤波器(ALF(Adaptive Loop Filter,ALF))使用的示例方式。
图11A和图11B示出了根据本公开内容的示例实施方式的在虚拟边界处的修改块分类。
图12A至图12F示出了根据本公开内容的实施方式的在各个虚拟边界处具有填充操作的示例性自适应环路滤波器。
图13示出了根据本公开内容的实施方式的最大编码单元对准的图片四叉树分割的示例。
图14示出了根据本公开内容的示例实施方式的与图13对应的四叉树分割模式。
图15示出了根据本公开内容的示例实施方式的用于生成色度分量的交叉分量滤波器。
图16示出了根据本公开内容的实施方式的交叉分量ALF滤波器的示例。
图17A至图17B示出了根据本公开内容的实施方式的色度样本相对于亮度样本的示例性位置。
图18示出了根据本公开内容的实施方式的块的方向搜索的示例。
图19示出了根据本公开内容的实施方式的子空间投影的示例。
图20示出了根据本公开内容的实施方式的交叉分量样本偏移(CCSO(Cross-Component Sample Offset,CCSO))滤波器中的滤波器支持区域的示例。
图21A至图21C示出了根据本公开内容的实施方式的CCSO滤波器中使用的示例性映射。
图22示出了根据本公开内容的实施方式的CCSO滤波器的示例实现方式。
图23示出了根据本公开内容的实施方式的用于边缘偏移中的像素分类的四个示例性模式。
图24示出了概述根据本公开内容的实施方式的处理(2400)的流程图。
图25示出了根据示例实施方式的计算机系统的示意图。
具体实施方式
图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示出了视频编码器和视频解码器在视频流式传输环境中的放置方式。所公开的主题可以同等地适用于其他视频应用,包括例如视频会议、数字TV广播、游戏、虚拟现实、在包括CD、DVD、存储棒等的数字介质上存储压缩视频等。
视频流式传输系统可以包括视频捕获子系统(413),视频捕获子系统(413)可以包括视频源(401),例如数字摄像装置,视频源(401)用于创建未压缩的视频图片或图像流(402)。在示例中,视频图片流(402)包括由视频源401的数字摄像装置记录的样本。视频图片流(402)被描绘为粗线以强调当与已编码视频数据(404)(或已编码视频码流)进行比较时的高数据量,视频图片流(402)可以由耦接至视频源(401)的包括视频编码器(403)的电子装置(420)进行处理。视频编码器(403)可以包括硬件、软件或其组合,以实现或实施如下更详细地描述的所公开的主题的各方面。已编码视频数据(404)(或已编码视频码流(404))被描绘为细线以强调当与未压缩的视频图片流(402)进行比较时的较低数据量,已编码视频数据(404)(或已编码视频码流(404))可以存储在流式传输服务器(405)上以供将来使用或者直接存储至下游视频装置(未示出)。一个或更多个流式传输客户端子系统,诸如图4中的客户端子系统(406)和(408),可以访问流式传输服务器(405)以检索已编码视频数据(404)的副本(407)和(409)。客户端子系统(406)可以包括例如电子装置(430)中的视频解码器(410)。视频解码器(410)对已编码视频数据的传入副本(407)进行解码,并且创建未压缩的并且可以在显示器(412)(例如,显示屏)或另一呈现装置(未描绘)上呈现的传出视频图片流(411)。视频解码器410可以被配置成执行本公开内容中描述的各种功能中的一些或全部。在一些流式传输系统中,可以根据某些视频编码标准/视频压缩标准对已编码视频数据(404)、(407)和(409)(例如,视频码流)进行编码。这些标准的示例包括ITU-T H.265建议书。在示例中,开发中的视频编码标准被非正式地称为通用视频编码(VVC)。所公开的主题可以在VVC和其他视频编码标准的上下文中使用。
注意,电子装置(420)和(430)可以包括其他部件(未示出)。例如,电子装置(420)可以包括视频解码器(未示出),并且电子装置(430)也可以包括视频编码器(未示出)。
图5示出了根据以下本公开内容的任何实施方式的视频解码器(510)的框图。视频解码器(510)可以被包括在电子装置(530)中。电子装置(530)可以包括接收器(531)(例如,接收电路系统)。视频解码器(510)可以用于代替图4的示例中的视频解码器(410)。
接收器(531)可以接收要由视频解码器(510)解码的一个或更多个已编码视频序列。在同一实施方式或另一实施方式中,一次可以解码一个已编码视频序列,其中每个已编码视频序列的解码独立于其他已编码视频序列。每个视频序列可以与多个视频帧或图像相关联。可以从信道(501)接收已编码视频序列,信道(501)可以是到存储已编码视频数据的存储装置或传输已编码视频数据的流式传输源的的硬件/软件链路。接收器(531)可以接收已编码视频数据以及其他数据,例如可以被转发至其各自的处理电路系统(未描绘)的已编码音频数据和/或辅助数据流。接收器(531)可以将已编码视频序列与其他数据分开。为了防止网络抖动,可以将缓冲存储器(515)设置在接收器(531)与熵解码器/解析器(520)(此后称为“解析器(520)”)之间。在某些应用中,缓冲存储器(515)可以实现为视频解码器(510)的一部分。在其他应用中,缓冲存储器(515)可以在视频解码器(510)外部并且与视频解码器(510)分开(未描绘)。在又一些其他应用中,出于例如防止网络抖动的目的,在视频解码器(510)外部可以有缓冲存储器(未描绘),并且在视频解码器(510)内部可以有另一附加的缓冲存储器(515)例如以处理回放定时。当接收器(531)从具有足够带宽和可控性的存储/转发装置或从等同步网络(isosynchronous network)接收数据时,可能不需要缓冲存储器(515),或者缓冲存储器(515)可以是小的。为了在诸如因特网的最优分组网络上使用,可能需要具有足够大小的缓冲存储器(515),并且其大小可以相对大。这样的缓冲存储器可以用自适应大小来实现,并且可以至少部分地在操作系统或视频解码器(510)外部的类似元件(未描绘)中实现。
视频解码器(510)可以包括解析器(520)以根据已编码视频序列重建符号(521)。这些符号的类别包括:用于管理视频解码器(510)的操作的信息;以及用于控制诸如显示器(512)(例如,显示屏)的呈现装置的潜在信息,该显示器(512)可能是或可能不是电子装置(530)的组成部分而是可以耦接至电子装置(530),如图5所示。用于(一个或多个)呈现装置的控制信息可以是补充增强信息(Supplemental Enhancement Information,SEI消息)或视频可用性信息(Video Usability Information,VUI)参数集片段(未描绘)的形式。解析器(520)可以对由解析器(520)接收到的已编码视频序列进行解析/熵解码。已编码视频序列的熵编码可以根据视频编码技术或视频编码标准进行,并且可以遵循各种原理,包括可变长度编码、霍夫曼编码(Huffman coding)、具有或不具有上下文灵敏度的算术编码等。解析器(520)可以基于与子群组对应的至少一个参数,从已编码视频序列提取用于视频解码器中的像素的子群组中的至少一个子群组的子群组参数集。子群组可以包括图片群组(Group of Picture,GOP)、图片、图块、切片、宏块、编码单元(Coding Unit,CU)、块、变换单元(Transform Unit,TU)、预测单元(Prediction Unit,PU)等。解析器(520)还可以从已编码视频序列提取诸如变换系数(例如,傅里叶变换系数)、量化器参数值、运动矢量等的信息。
解析器(520)可以对从缓冲存储器(515)接收的视频序列执行熵解码/解析操作,从而创建符号(521)。
取决于已编码视频图片或已编码视频图片的一部分的类型(例如:帧间图片和帧内图片、帧间块和帧内块)以及其他因素,符号(521)的重建可能涉及多个不同的处理或功能单元。所涉及的单元以及它们如何被涉及可以通过由解析器(520)从已编码视频序列解析的子群组控制信息来控制。为了简单起见,未描述解析器(520)与以下多个处理或功能单元之间的这种子群组控制信息流。
除了已经提及的功能块以外,视频解码器(510)可以在概念上细分成如下所述的多个功能单元。在商业约束下操作的实际实现中,这些功能单元中的许多功能单元彼此紧密交互并且可以至少部分地相互集成。然而,出于清楚地描述所公开的主题的各种功能的目的,在下面的公开内容中采用在概念上细分成以下功能单元。
第一单元可以包括缩放器/逆变换单元(551)。缩放器/逆变换单元(551)可以从解析器(520)接收作为(一个或多个)符号(521)的量化变换系数以及控制信息,包括指示要使用哪种类型的逆变换、块大小、量化因子/参数、量化缩放矩阵等的信息。缩放器/逆变换单元(551)可以输出包括可以输入至聚合器(555)中的样本值的块。
在一些情况下,缩放器/逆变换(551)的输出样本可以属于帧内编码块;即:不使用来自先前重建的图片的预测性信息但是可以使用来自当前图片的先前重建部分的预测性信息的块。这样的预测性信息可以由帧内图片预测单元(552)提供。在一些情况下,帧内图片预测单元(552)可以使用已经重建并存储在当前图片缓冲器(558)中的周围块信息来生成大小和形状与重建中的块相同的块。例如,当前图片缓冲器(558)缓冲部分重建的当前图片和/或完全重建的当前图片。在一些实现方式中,聚合器(555)可以以每个样本为基础将帧内预测单元(552)已经生成的预测信息添加至由缩放器/逆变换单元(551)提供的输出样本信息。
在其他情况下,缩放器/逆变换单元(551)的输出样本可以属于已帧间编码并且可能经运动补偿的块。在这样的情况下,运动补偿预测单元(553)可以访问参考图片存储器(557)以获取用于帧间图片预测的样本。在根据属于该块的符号(521)对所获取的样本进行运动补偿之后,可以由聚合器(555)将这些样本添加至缩放器/逆变换单元(551)的输出(单元551的输出可以称为残差样本或残差信号)以生成输出样本信息。运动补偿预测单元(553)从其获取预测样本的参考图片存储器(557)内的地址可以由运动矢量控制,运动矢量以符号(521)的形式供运动补偿预测单元(553)使用,符号(521)可以具有例如X、Y分量(移位)和参考图片分量(时间)。运动补偿还可以包括在使用子样本精确运动矢量时从参考图片存储器(557)获取的样本值的插值,并且还可以与运动矢量预测机制等相关联。
聚合器(555)的输出样本可以在环路滤波器单元(556)中经受各种环路滤波技术。视频压缩技术可以包括环路内滤波器技术,环路内滤波器技术受控于包括在已编码视频序列(也被称为已编码视频码流)中的参数,所述参数作为来自解析器(520)的符号(521)可用于环路滤波器单元(556),但是视频压缩技术也可以响应于在对已编码图片或已编码视频序列的先前(按解码顺序的)部分进行解码期间获得的元信息,以及响应于先前重建并且经环路滤波的样本值。若干种类型的环路滤波器可以以各种顺序被包括为环路滤波器单元556的一部分,这将在下面更详细地描述。
环路滤波器单元(556)的输出可以是样本流,该样本流可以输出至呈现装置(512)以及存储在参考图片存储器(557)中,以用于将来的帧间图片预测。
一旦完全重建,某些已编码图片就可以被用作参考图片以用于将来的帧间图片预测。例如,一旦与当前图片对应的已编码图片被完全重建,并且该已编码图片(通过例如解析器(520))被识别为参考图片,则当前图片缓冲器(558)就可以变为参考图片存储器(557)的一部分,并且可以在开始重建随后的已编码图片之前重新分配新的当前图片缓冲器。
视频解码器(510)可以根据诸如ITU-T H.265的标准中采用的预定视频压缩技术执行解码操作。在已编码视频序列遵循视频压缩技术或标准的语法以及视频压缩技术或标准中记录的配置文件两者的意义上,已编码视频序列可以符合由所使用的视频压缩技术或标准指定的语法。具体地,配置文件可以从视频压缩技术或标准中可用的所有工具中选择某些工具作为仅在所述配置文件下可使用的工具。为了符合标准,已编码视频序列的复杂度可以处于由视频压缩技术或标准的层级限定的范围内。在一些情况下,层级限制最大图片大小、最大帧率、最大重建采样率(以例如每秒兆(mega)个样本为单位进行度量)、最大参考图片大小等。在一些情况下,由层级设置的限制可以通过假想参考解码器(HypotheticalReference Decoder,HRD)规范以及在已编码视频序列中用信号通知的HRD缓冲器管理的元数据来进一步限定。
在一些示例实施方式中,接收器(531)可以连同已编码视频一起接收附加(冗余)数据。附加数据可以被包括为(一个或多个)已编码视频序列的一部分。附加数据可以由视频解码器(510)使用以对数据进行适当解码和/或更准确地重建原始视频数据。附加数据可以呈例如时间、空间或信噪比(Signal Noise Ratio,SNR)增强层、冗余切片、冗余图片、前向纠错码等形式。
图6示出了根据本公开内容的示例实施方式的视频编码器(603)的框图。视频编码器(603)可以被包括在电子装置(620)中。电子装置(620)还可以包括传输器(640)(例如,传输电路系统)。视频编码器(603)可以用于代替图4的示例中的视频编码器(403)。
视频编码器(603)可以从视频源(601)(视频源(601)不是图6的示例中的电子装置(620)的一部分)接收视频样本,视频源(601)可以捕获要由视频编码器(603)编码的(一个或多个)视频图像。在另一示例中,视频源(601)可以实现为电子装置(620)的一部分。
视频源(601)可以提供要由视频编码器(603)编码的呈数字视频样本流形式的源视频序列,该数字视频样本流可以具有任何合适的位深度(例如:8位、10位、12位……)、任何颜色空间(例如,BT.601YCrCb、RGB、XYZ……)和任何合适的采样结构(例如,YCrCb 4:2:0、YCrCb 4:4:4)。在媒体服务系统中,视频源(601)可以是能够存储先前准备的视频的存储装置。在视频会议系统中,视频源(601)可以是捕获本地图像信息作为视频序列的摄像装置。可以将视频数据提供为当按顺序观看时被赋予运动的多个单独的图片或图像。图片自身可以被组织为空间像素阵列,其中,取决于所使用的采样结构、颜色空间等,每个像素可以包括一个或更多个样本。本领域普通技术人员可以很容易理解像素与样本之间的关系。以下描述集中于样本进行。
根据一些示例实施方式,视频编码器(603)可以实时地或者在由应用要求的任何其他时间约束下将源视频序列的图片编码并压缩成已编码视频序列(643)。施行合适编码速度构成控制器(650)的一个功能。在一些实施方式中,控制器(650)可以在功能上耦接至如下所述的其他功能单元并且控制所述其他功能单元。为了简单起见,未描绘耦接。通过控制器(650)设置的参数可以包括速率控制相关参数(图片跳过、量化器、率失真优化技术的λ值……)、图片大小、图片群组(GOP)布局、最大运动矢量搜索范围等。控制器(650)可以被配置成具有其他合适的功能,这些功能属于针对某些系统设计优化的视频编码器(603)。
在一些示例实施方式中,视频编码器(603)可以被配置成在编码环路中操作。作为超简化的描述,在示例中,编码环路可以包括源编码器(630)(例如,负责基于要编码的输入图片以及(一个或多个)参考图片创建诸如符号流的符号)以及嵌入在视频编码器(603)中的(本地)解码器(633)。解码器(633)以类似于(远程)解码器将创建样本数据的方式重建所述符号以创建样本数据,即使嵌入式解码器633在没有熵编码的情况下处理源编码器630的已编码视频流也是如此(因为在所公开的主题中考虑的视频压缩技术中,熵编码中的已编码视频码流与符号之间的任何压缩都可以是无损的)。将重建的样本流(样本数据)输入至参考图片存储器(634)。由于符号流的解码产生与解码器位置(本地或远程)无关的位精确结果,因此参考图片存储器(634)中的内容在本地编码器与远程编码器之间也是位精确的。换言之,编码器的预测部分“看到”的参考图片样本与解码器在解码期间使用预测时将“看到”的样本值完全相同。该参考图片同步性基本原理(以及在例如由于信道误差而无法维持同步性的情况下产生的漂移)用于提高编码质量。
“本地”解码器(633)的操作可以与已经在上面结合图5详细描述的“远程”解码器如视频解码器(510)的操作相同。然而,还简要参照图5,当符号可用并且熵编码器(645)和解析器(520)将符号编码/解码为已编码视频序列可以为无损的时,可能无法完全在编码器的本地解码器(633)中实现包括缓冲存储器(515)和解析器(520)的视频解码器(510)的熵解码部分。
此时可以观察到,除了可能仅存在于解码器中的解析/熵解码之外的任何解码器技术,也可能必定需要以基本上相同的功能形式存在于对应的编码器中。出于该原因,所公开的主题有时可能集中于与编码器的解码部分相关的解码器操作。由于编码器技术与已全面描述的解码器技术互逆,因此可以简化对编码器技术的描述。仅在某些区域或方面中,下面提供了对编码器的更详细描述。
在操作期间,在一些示例实现方式中,源编码器(630)可以执行运动补偿预测性编码,该运动补偿预测性编码参考来自视频序列的被指定为“参考图片”的一个或更多个先前编码图片来对输入图片进行预测性编码。以此方式,编码引擎(632)对输入图片的像素块与可以被选作输入图片的(一个或多个)预测参考的(一个或多个)参考图片的像素块之间的颜色通道中的差异(或残差)进行编码。
本地视频解码器(633)可以基于由源编码器(630)创建的符号对可以被指定为参考图片的图片的已编码视频数据进行解码。编码引擎(632)的操作可以有利地是有损处理。当已编码视频数据可以在视频解码器(图6中未示出)处被解码时,重建的视频序列通常可以是具有一些误差的源视频序列的副本。本地视频解码器(633)复制可以由视频解码器对参考图片执行的解码处理,并且可以使重建的参考图片存储在参考图片缓存(634)中。以此方式,视频编码器(603)可以在本地存储重建的参考图片的副本,所述副本与将由远端(远程)视频解码器获得的重建参考图片具有共同内容(不存在传输误差)。
预测器(635)可以针对编码引擎(632)执行预测搜索。也就是说,对于要编码的新图片,预测器(635)可以在参考图片存储器(634)中搜索可以用作用于新图片的适当预测参考的样本数据(作为候选参考像素块)或某些元数据,例如,参考图片运动矢量、块形状等。预测器(635)可以基于样本块逐像素块操作以找到适当的预测参考。在一些情况下,如由预测器(635)获得的搜索结果所确定的,输入图片可以具有从存储在参考图片存储器(634)中的多个参考图片取得的预测参考。
控制器(650)可以管理源编码器(630)的编码操作,包括例如设置用于对视频数据进行编码的参数和子群组参数。
所有以上提及的功能单元的输出可以在熵编码器(645)中经受熵编码。熵编码器(645)通过根据诸如霍夫曼编码、可变长度编码、算术编码等的技术对由各种功能单元生成的符号进行无损压缩,将符号转换成已编码视频序列。
传输器(640)可以缓冲由熵编码器(645)创建的(一个或多个)编码视频序列,从而为经由通信信道(660)进行传输做准备,通信信道(660)可以是到将存储编码视频数据的存储装置的硬件/软件链路。传输器(640)可以将来自视频编码器(603)的已编码视频数据与要传输的其他数据合并,所述其他数据例如是已编码音频数据和/或辅助数据流(未示出源)。
控制器(650)可以管理视频编码器(603)的操作。在编码期间,控制器(650)可以向每个已编码图片分配某一已编码图片类型,这可能影响可以应用于相应的图片的编码技术。例如,通常可以将图片分配为以下图片类型之一:
帧内图片(I图片)可以是可以在不将序列中的任何其他图片用作预测源的情况下进行编码和解码的图片。一些视频编解码器允许不同类型的帧内图片,包括例如独立解码器刷新(Independent Decoder Refresh,“IDR”)图片。本领域普通技术人员了解I图片的那些变型及其相应的应用和特征。
预测性图片(P图片)可以是可以使用帧内预测或帧间预测进行编码和解码的图片,所述帧内预测或帧间预测使用至多一个运动矢量和参考索引来预测每个块的样本值。
双向预测性图片(B图片)可以是可以使用帧内预测或帧间预测进行编码和解码的图片,所述帧内预测或帧间预测使用至多两个运动矢量和参考索引来预测每个块的样本值。类似地,多个预测性图片可以使用多于两个参考图片和相关联元数据以用于单个块的重建。
源图片通常可以在空间上细分成多个样本编码块(例如,分别为4×4、8×8、4×8或16×16样本的块),并且逐块进行编码。可以参考其他(已编码的)块对这些块进行预测性编码,所述其他块是通过应用于块的相应图片的编码分配而确定的。例如,可以对I图片的块进行非预测性编码,或者可以参考同一图片的已编码块对I图片的块进行预测性编码(空间预测或帧内预测)。可以参考一个先前已编码的参考图片经由空间预测或经由时间预测对P图片的像素块进行预测性编码。可以参考一个或两个先前已编码的参考图片经由空间预测或经由时间预测对B图片的块进行预测性编码。源图片或中间处理的图片可以被细分成其他类型的块以用于其他目的。编码块和其他类型的块的划分可以遵循或可以不遵循相同的方式,如下面进一步详细描述的。
视频编码器(603)可以根据诸如ITU-T H.265建议书的预定视频编码技术或标准执行编码操作。在其操作中,视频编码器(603)可以执行各种压缩操作,包括利用输入视频序列中的时间和空间冗余的预测性编码操作。因此,已编码视频数据可以符合由所使用的视频编码技术或标准指定的语法。
在一些示例实施方式中,传输器(640)可以连同已编码视频一起传输附加数据。源编码器(630)可以包括这样的数据作为已编码视频序列的一部分。附加数据可以包括时间/空间/SNR增强层、其他形式的冗余数据例如冗余图片以及切片、SEI消息、VUI参数集片段等。
视频可以在时间序列中被捕获为多个源图片(视频图片)。帧内图片预测(通常被简化为帧内预测)利用给定图片中的空间相关性,而帧间图片预测利用图片之间的时间或其他相关性。例如,编码/解码中的特定图片——其被称为当前图片——可以被划分成块。当前图片中的块在类似于视频中先前已编码且仍被缓冲的参考图片中的参考块时,可以通过被称作运动矢量的矢量进行编码。运动矢量指向参考图片中的参考块,并且在使用多个参考图片的情况下,该运动矢量可以具有识别参考图片的第三维度。
在一些示例实施方式中,可以将双向预测技术用于帧间图片预测。根据这样的双向预测技术,使用两个参考图片,诸如按解码顺序均继续视频中的当前图片(但按显示顺序可能分别是过去或将来)的第一参考图片和第二参考图片。可以通过指向第一参考图片中的第一参考块的第一运动矢量以及指向第二参考图片中的第二参考块的第二运动矢量对当前图片中的块进行编码。可以通过第一参考块和第二参考块的组合来联合预测该块。
此外,可以将合并模式技术用于帧间图片预测以提高编码效率。
根据本公开内容的一些示例实施方式,以块为单位执行预测诸如帧间图片预测和帧内图片预测。例如,将视频图片序列中的图片划分成编码树单元(Coding Tree Unit,CTU)以用于压缩,图片中的CTU可以具有相同大小,诸如64×64像素、32×32像素或16×16像素。一般来说,CTU可以包括三个并行编码树块(Coding Tree Block,CTB):一个亮度CTB和两个色度CTB。每个CTU可以被递归地以四叉树分割成一个或多个编码单元(CU)。例如,可以将64×64像素的CTU分割成一个64×64像素的CU、或4个32×32像素的CU。32×32块中的一个或更多个块中的每一个可以进一步分割成4个16×16像素的CU。在一些示例实施方式中,可以在编码期间分析每个CU以确定各种预测类型之中用于CU的预测类型,诸如帧间预测类型或帧内预测类型。取决于时间和/或空间可预测性,可以将CU分割成一个或更多个预测单元(PU)。通常,每个PU包括亮度预测块(Prediction Block,PB)和两个色度PB。在实施方式中,以预测块为单位来执行译码(编码/解码)中的预测操作。可以以各种空间模式执行将CU分割成PU(或不同颜色通道的PB)。例如,亮度或色度PB可以包括用于样本例如8×8像素、16×16像素、8×16像素、16×8样本等的值(例如,亮度值)的矩阵。
图7示出了根据本公开内容的另一示例实施方式的视频编码器(703)的图。视频编码器(703)被配置成接收视频图片序列中的当前视频图片内的样本值的处理块(例如,预测块),并且将处理块编码到作为已编码视频序列的一部分的已编码图片中。示例视频编码器(703)可以用于代替图4示例中的视频编码器(403)。
例如,视频编码器(703)接收用于处理块诸如8×8样本的预测块等的样本值的矩阵。然后,视频编码器(703)使用例如率失真优化(Rate-Distortion Optimization,RDO)来确定是使用帧内模式、帧间模式还是双向预测模式对处理块最佳地编码。在确定以帧内模式对处理块进行编码的情况下,视频编码器(703)可以使用帧内预测技术将处理块编码到已编码图片中;而在确定以帧间模式或双向预测模式对处理块进行编码的情况下,视频编码器(703)可以分别使用帧间预测或双向预测技术将处理块编码到已编码图片中。在一些示例实施方式中,合并模式可以用作帧间图片预测的子模式,其中,在不借助一个或更多个运动矢量预测器外部的已编码运动矢量分量的情况下根据所述预测器得出运动矢量。在一些其他示例实施方式中,可以存在适用于主题块的运动矢量分量。因此,视频编码器(703)可以包括图7中未明确示出的部件,诸如,用于确定处理块的灭亡模式的模式决策模块。
在图7的示例中,视频编码器(703)包括如图7中的示例布置中所示的耦接在一起的帧间编码器(730)、帧内编码器(722)、残差计算器(723)、开关(726)、残差编码器(724)、通用控制器(721)和熵编码器(725)。
帧间编码器(730)被配置成接收当前块(例如,处理块)的样本、将该块与参考图片中的一个或更多个参考块(例如,按显示顺序的先前图片和后来图片中的块)进行比较、生成帧间预测信息(例如,根据帧间编码技术的冗余信息描述、运动矢量、合并模式信息)、以及基于帧间预测信息使用任何合适的技术计算帧间预测结果(例如,已预测块)。在一些示例中,参考图片是使用嵌入在图6的示例编码器620中的解码单元633(示出为图7的残差解码器728,如下面进一步详细描述的)基于已编码的视频信息解码的已解码参考图片。
帧内编码器(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)被配置成在码流中包括各种信息。例如,熵编码器(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)还可以利用某些控制信息(以包括量化器参数(Quantizer Parameter,QP)),该控制信息可以由熵解码器(871)提供(由于这可能仅是低数据量控制信息,因此未描绘数据路径)。
重建模块(874)可以被配置成在空间域中将由残差解码器(873)输出的残差与预测结果(由帧间预测模块或帧内预测模块输出,视情况而定)进行组合以形成重建的块,该重建的块形成重建的图片的一部分,作为重建的视频的一部分。注意,还可以执行其他合适的操作诸如去块操作等来改善视觉质量。
注意,可以使用任何合适的技术来实现视频编码器(403)、(603)和(703)以及视频解码器(410)、(510)和(810)。在一些示例实施方式中,可以使用一个或更多个集成电路来实现视频编码器(403)、(603)和(703)以及视频解码器(410)、(510)和(810)。在另一实施方式中,可以使用执行软件指令的一个或更多个处理器来实现视频编码器(403)、
(603)和(603)以及视频解码器(410)、(510)和(810)。
在一些示例实现方式中,环路滤波器可以被包括在编码器和解码器中,以用于减少编码伪影并且提高已解码图片的质量。例如,可以包括环路滤波器555作为图5的解码器530的一部分。对于另一示例,环路滤波器可以是图6的编码器620中的嵌入式解码器单元633的一部分。这些滤波器被称为环路滤波器,这是因为它们被包括在解码器或编码器中用于视频块的解码环路中。每个环路滤波器可以与一个或更多个滤波参数相关联。这样的滤波参数可以是预定义的,或者可以由编码器在编码处理期间得出。这些滤波参数(如果由编码器得出)或其索引(如果预定义)可以以编码形式包括在最终码流中。然后,解码器可以在解码期间从码流中解析这些滤波参数并且基于解析的滤波参数执行环路滤波。
各种环路滤波器可以用于在不同方面减少编码伪影并且提高已解码视频质量。这样的环路滤波器可以包括但不限于一个或更多个去块滤波器、自适应环路滤波器(ALF)、交叉分量自适应环路滤波器(Cross-Component Adaptive Loop Filter,CC-ALF)、约束方向增强滤波器(Constrained Directional Enhancement Filter,CDEF)、样本自适应偏移(Sample Adaptive Offset,SAO)滤波器、交叉分量样本偏移(CCSO)滤波器和局部样本偏移(Local Sample Offset,LSO)滤波器。这些滤波器可能相互依赖或者可能不相互依赖。它们可以以与它们的相互依赖性(如果有)兼容的任何合适的顺序布置在解码器或编码器的解码环路中。在下面的公开内容中更详细地描述了这些各种环路滤波器。
编码器/解码器可以应用具有基于块的滤波器自适应的自适应环路滤波器(ALF)以减少伪影。ALF在某种意义上是自适应的,即滤波系数/参数或其索引在码流中用信号通知,并且可以基于图像内容和重建的图片的失真进行设计。可以应用ALF来减少由编码处理引入的失真并且提高重建的图像质量。
对于亮度分量,可以例如基于局部梯度的活动和方向来为亮度块(例如,4×4亮度块)选择多个滤波器(例如,25个滤波器)中的一个。这些滤波器的滤波器系数可以由编码器在编码处理期间得出并且在码流中用信号通知给解码器。
ALF可以具有任何合适的形状和大小。参照图9的示例,ALF(910)至(911)可以具有菱形形状,诸如针对ALF(910)为5×5菱形形状,而针对ALF(911)为7×7菱形形状。在ALF(910)中,十三(13)个元素(920)至(932)可以用于滤波处理并且形成菱形形状。对于13个元素(920)至(932),可以使用并以所示示例方式布置七个值(例如,C0至C6)。在ALF(911)中,二十五(25)个元素(940)至(964)可以用于滤波处理并且形成菱形形状。十三(13)个值(例如,C0至C12)可以以所示示例方式用于25个元素(940)至(964)。
参照图9,在一些示例中,可以选择两种菱形形状中的一个的ALF滤波器(910)至(911)来处理亮度块或色度块。例如,5×5菱形形状滤波器(910)可以应用于色度分量(例如,色度块、色度CB),而7×7菱形形状滤波器(911)可以应用于亮度分量(例如,亮度块,亮度CB)。在ALF中可以使用(一个或多个)其他合适的形状和大小。例如,可以使用9×9菱形形状滤波器。
由值(例如,(910)中的C0至C6或(920)中的C0至C12)指示的位置处的滤波器系数可以是非零的。此外,当ALF包括限幅函数时,所述位置处的限幅值可以是非零的。限幅函数可以用于限制亮度块或色度块中滤波器值的上限。
在一些实现方式中,要应用于具有亮度分量的特定块的特定ALF可以基于亮度块的分类。对于亮度分量的块分类,4×4块(或亮度块,亮度CB)可以被归类或分类为多个(例如,25个)类——对应于例如25个不同的ALF(例如,具有不同滤波器系数的7乘7个ALF中的25个)——中的一个。分类索引C可以基于方向性参数D和活动值A的量化值
Figure BDA0003845974280000233
使用式(1)来得出。
Figure BDA0003845974280000231
为了计算方向性参数D和量化值
Figure BDA0003845974280000232
竖直方向、水平方向和两个对角线方向(例如,d1和d2)的梯度gv、gh、gd1和gd2分别可以使用如下的1维拉普拉斯计算。
Figure BDA0003845974280000241
Figure BDA0003845974280000242
Figure BDA0003845974280000243
Figure BDA0003845974280000244
其中,索引i和j是指4×4块内左上样本的坐标,并且R(k,l)指示坐标(k,l)处的重建样本。方向(例如,d1和d2)是指2个对角线方向。
为了降低上述块分类的复杂度,可以应用子采样的1维拉普拉斯计算。图10A至图10D分别示出了用于计算竖直方向(图10A)、水平方向(图10B)和两个对角线方向d1(图10C)和d2(图10D)的梯度gv、gh、gd1和gd2的子采样位置的示例。在图10A中,标签“V”示出了用于计算竖直梯度gv的子采样位置。在图10B中,标签“H”示出了用于计算水平梯度gh的子采样位置。在图10C中,标签“D1”示出了用于计算d1对角线梯度gd1的子采样位置。在图10D中,标签“D2”示出了用于计算d2对角线梯度gd2的子采样位置。图10A和图10B示出了相同的子采样位置可以用于不同方向的梯度计算。在一些其他实现方式中,不同的子采样方案可以用于所有方向。在又一些其他实现方式中,不同的子采样方案可以用于不同的方向。
水平和竖直方向的梯度gv和gh的最大值
Figure BDA0003845974280000247
和最小值
Figure BDA0003845974280000248
可以设置为:
Figure BDA0003845974280000245
两个对角线方向的梯度gd1和gd2的最大值
Figure BDA0003845974280000249
和最小值
Figure BDA00038459742800002410
可以设置为:
Figure BDA0003845974280000246
方向性参数D可以基于上述值和如下两个阈值t1和t2得出。
步骤1.如果(1)
Figure BDA0003845974280000252
和(2)
Figure BDA0003845974280000253
为真,则将D设置为0。
步骤2.如果
Figure BDA0003845974280000254
则继续至步骤3;否则继续至步骤4。
步骤3.如果
Figure BDA0003845974280000255
则将D设置为2;否则将D设置为1。
步骤4.如果
Figure BDA0003845974280000256
则将D设置为4;否则将D设置为3。
换言之,方向性参数D由若干离散级别表示,并且基于亮度块在水平方向与竖直方向之间以及两个对角线方向之间的梯度值分布来确定,如图10E所示。
活动值A可以计算为:
Figure BDA0003845974280000251
因此,活动值A表示水平和竖直1维拉普拉斯的综合度量。针对亮度块的激活值A可以进一步量化为例如0至4同时包含0和4的范围,并且量化后的值表示为
Figure BDA0003845974280000257
对于亮度分量,然后可以使用如上计算的分类索引C来选择菱形形状AFL滤波器的多个类(例如,25个类)中的一个。在一些实现方式中,对于图片中的色度分量,可以不应用块分类,并且因此可以对每个色度分量应用单个ALF系数组。在这样的实现方式中,虽然可能存在可用于色度分量的多个ALF系数组,但是ALF系数的确定可能不依赖于色度块的任何分类。
几何变换可以应用于滤波器系数和相应的滤波器限幅值(也称为限幅值)。在对块(例如,4×4亮度块)进行滤波之前,例如,取决于针对块计算的梯度值(例如,gv、gh、gd1和/或gd2),可以对滤波器系数f(k,l)和相应的滤波器限幅值c(k,l)应用诸如旋转或者对角线和竖直翻转的几何变换。应用于滤波器系数f(k,l)和相应的滤波器限幅值c(k,l)的几何变换可以等效于将几何变换应用于由滤波器支持的区域中的样本。通过对准各自的方向性,几何变换可以使应用ALF的不同块更加类似。
包括对角线翻转、竖直翻转和旋转的三个几何变换选项可以分别如式(9)至(11)所述执行。
.fD(k,l)=f(l,k),cD(k,l)=c(l,k), 式(9)
.fV(k,l)=f(k,K-l-1),cV(k,l)=c(k,K-l-1) 式(10)
.fR(k,l)=f(K-l-1,k),cR(k,l)=c(K-l-1,k) 式(11)
其中,K表示ALF或滤波器的大小,并且0≤k、l≤K-1是系数的坐标。例如,位置(0,0)在左上角处,而位置(K-1,K-1)在滤波器f或限幅值矩阵(或限幅矩阵)c的右下角处。取决于针对块计算的梯度值,可以对滤波器系数f(k,l)和限幅值c(k,l)应用变换。表1中总结了变换与四个梯度之间的关系的示例。
表1:针对块而计算的梯度与变换的映射
梯度值 变换
g<sub>d2</sub><g<sub>d1</sub>且g<sub>h</sub><g<sub>v</sub> 不变换
g<sub>d2</sub><g<sub>d1</sub>且g<sub>v</sub><g<sub>h</sub> 对角线翻转
g<sub>d1</sub><g<sub>d2</sub>且g<sub>h</sub><g<sub>v</sub> 竖直翻转
g<sub>d1</sub><g<sub>d2</sub>且g<sub>v</sub><g<sub>h</sub> 旋转
在一些实施方式中,可以在针对图片的自适应参数集(Adaptation ParameterSet,APS)中用信号通知由编码器得出的ALF滤波器参数。在APS中,可以用信号通知一组或更多组(例如,多至25组)亮度滤波器系数和限幅值索引。它们可以在APS中编入索引。在示例中,一组或更多组中的一组可以包括亮度滤波器系数和一个或更多个限幅值索引。可以由编码器得出并用信号通知一组或更多组(例如,多至8组)色度滤波器系数和限幅值索引。为了减少信令开销,可以对亮度分量的不同分类(例如,具有不同分类索引)的滤波器系数进行合并。在切片报头中,可以用信号通知用于当前切片的APS的索引。在另一示例中,ALF的信令可以是基于CTU的。
在实施方式中,可以根据APS对限幅值索引(也称为限幅索引)进行解码。限幅值索引可以用于例如基于限幅值索引与对应的限幅值之间的关系来确定对应的限幅值。该关系可以预定义并且存储在解码器中。在示例中,该关系由一个或更多个表诸如针对亮度分量的限幅值索引和对应的限幅值的表(例如,用于亮度CB)以及针对色度分量的限幅值索引和对应的限幅值的表(例如,用于色度CB)进行描述。限幅值可以取决于位深度B。位深度B可以指内部位深度、要滤波的CB中的重建样本的位深度等。在一些示例中,可以使用式(12)来获得限幅值(例如,对于亮度和/或对于色度)的表。
AlfClip={round(2B-α*n)for n∈[0..N-1]}, 式(12)
其中,AlfClip是限幅值,B是位深度(例如,bitDepth),N(例如,N=4)是允许的限幅值的数目,α是预定义的常数值。在示例中,α等于2.35。n是限幅值索引(也称为限幅索引或clipIdx)。表2示出了使用式(12)获得的表的示例,其中N=4。限幅索引n可以是表2中的0、1、2和3(多至N-1)。表2可以用于亮度块或色度块。
表2-AlfClip可以取决于位深度B和clipIdx
Figure BDA0003845974280000272
在针对当前切片的切片报头中,可以用信号通知一个或更多个APS索引(例如,多至7个APS索引)以指定可以用于当前切片的亮度滤波器组。可以在一个或更多个合适的级别诸如图片级别、切片级别、CTB级别等处控制滤波处理。在示例实施方式中,可以在CTB级别处进一步控制滤波处理。可以用信号通知标志以指示ALF是否被应用于亮度CTB。亮度CTB可以在多个固定滤波器组(例如,16个固定滤波器组)和在APS中用信号通知的(一个或多个)滤波器组(例如,由编码器得出的多至25个滤波器,如上所述,并且也称为(一个或多个)用信号通知的滤波器组)中选择滤波器组。可以针对亮度CTB用信号通知滤波器组索引以指示要应用的滤波器组(例如,多个固定滤波器组和(一个或多个)用信号通知的滤波器组中的滤波器组)。多个固定滤波器组可以在编码器和解码器中进行预定义和硬编码,并且可以称为预定义滤波器组。因此,不需要用信号通知预定义的滤波器系数。
对于色度分量,可以在切片报头中用信号通知APS索引以指示要用于当前切片的色度滤波器组。在CTB级别处,如果APS中存在多于一个色度滤波器组,则可以为每个色度CTB用信号通知滤波器组索引。
滤波器系数可以用等于128的范数进行量化。为了降低乘法复杂度,可以应用码流一致性,使得非中心位置的系数值可以在-27至27-1同时包含-27和27-1的范围内。在示例中,中心位置系数不在码流中用信号通知,并且可以被认为等于128。
在一些实施方式中,限幅索引和限幅值的语法和语义定义如下:alf_luma_clip_idx[sfIdx][j]可以用于指定在乘以由sfIdx指示的用信号通知的亮度滤波器的第j个系数之前要使用的限幅值的限幅索引。码流一致性的要求可以包括其中sfIdx=0至alf_luma_num_filters_signalled_minus1和j=0至11的alf_luma_clip_idx[sfIdx][j]的值应当在例如0至3同时包含0和3的范围内。
根据bitDepth设置等于BitDepthY和clipIdx设置等于alf_luma_clip_idx[alf_luma_coeff_delta_idx[filtIdx]][j],具有其中filtIdx=0至NumAlfFilters-1和j=0至11的元素AlfClipL[adaptation_parameter_set_id][filtIdx][j]的亮度滤波器限幅值AlfClipL[adaptation_parameter_set_id]可以按照表2中的规定得出。
Alf_chroma_clip_idx[altIdx][j]可以用于指定在乘以具有索引altIdx的替选色度滤波器的第j个系数之前要使用的限幅值的限幅索引。码流一致性的要求可以包括其中altIdx=0至alf_chroma_num_alt_filters_minus1、j=0至5的alf_chroma_clip_idx[altIdx][j]的值应当在0至3同时包含0和3的范围内。
根据bitDepth设置等于BitDepthC和clipIdx设置等于alf_chroma_clip_idx[altIdx][j],具有其中altIdx=0至alf_chroma_num_alt_filters_minus1、j=0至5的元素AlfClipC[adaptation_parameter_set_id][altIdx][j]的色度滤波器限幅值AlfClipC[adaptation_parameter_set_id][altIdx]可以按照表2中的规定得出。
在实施方式中,滤波处理可以描述如下。在解码器端处,当为CTB启用ALF时,可以对CTB的CU(或CB)内的样本R(i,j)进行滤波,从而使用式(13)产生如下所示的滤波样本值R'(i,j)。在示例中,对CU中的每个样本进行滤波。
Figure BDA0003845974280000291
其中,f(k,l)表示已解码滤波器系数,K(x,y)是限幅函数,并且c(k,l)表示已解码限幅参数(或限幅值)。变量k和l可以在-L/2与L/2之间变化,其中,L表示滤波器长度(例如,对于分别用于亮度分量和色度分量的图9的示例菱形滤波器910和911,L=5和7)。限幅函数K(x,y)=min(y,max(-y,x))对应于限幅函数Clip3(-y,y,x)。通过并入限幅函数K(x,y),环路滤波方法(例如,ALF)变成了非线性处理,并且可以称为非线性ALF。
可以在“alf_data”语法元素中对所选择的限幅值进行如下编码:可以使用合适的编码方案(例如,哥伦布编码方案)来对与诸如表2所示的所选择的限幅值对应的限幅索引进行编码。编码方案可以与用于对滤波器组索引进行编码的编码方案相同。
在实施方式中,可以使用虚拟边界滤波处理来减少ALF的行缓冲器要求。因此,可以对靠近CTU边界(例如,水平CTU边界)的样本采用经修改的块分类和滤波。虚拟边界(1130)可以被限定为通过将水平CTU边界(1120)移位“N样本”个样本而成为的线,如图11A所示,其中,N样本可以是正整数。在示例中,对于亮度分量,N样本等于4,而对于色度分量,N样本等于2。
参照图11A,可以对亮度分量应用经修改的块分类。在示例中,对于虚拟边界(1130)上方的4×4块(1110)的1维拉普拉斯梯度计算,仅使用虚拟边界(1130)上方的样本。类似地,参照图11B,对于从CTU边界(1121)移位的虚拟边界(1131)下方的4×4块(1111)的1维拉普拉斯梯度计算,仅使用虚拟边界(1131)下方的样本。可以通过考虑在1维拉普拉斯梯度计算中使用的样本数目减少来相应地缩放活动值A的量化。
对于滤波处理,虚拟边界处的对称填充操作可以用于亮度分量和色度分量两者。图12A至图12F示出了虚拟边界处的针对亮度分量的这种经修改的ALF滤波的示例。当被滤波的样本位于虚拟边界下方时,位于虚拟边界上方的邻近样本可以被填充。当被滤波的样本位于虚拟边界上方时,位于虚拟边界下方的邻近样本可以被填充。参照图12A,邻近样本C0可以用位于虚拟边界(1210)下方的样本C2填充。参照图12B,邻近样本C0可以用位于虚拟边界(1220)上方的样本C2填充。参照图12C,邻近样本C1至C3可以分别用位于虚拟边界(1230)下方的样本C5至C7填充。样本C0可以用样本C6填充。参照图12D,邻近样本C1至C3可以分别用位于虚拟边界(1240)上方的样本C5至C7填充。样本C0可以用样本C6填充。参照图12E,邻近样本C4至C8可以分别用位于虚拟边界(1250)下方的样本C10、C11、C12、C11和C10填充。样本C1至C3可以用样本C11、C12和C11填充。样本C0可以用样本C12填充。参照图12F,邻近样本C4至C8可以分别用位于虚拟边界(1260)上方的样本C10、C11、C12、C11和C10填充。样本C1至C3可以用样本C11、C12和C11填充。样本C0可以用样本C12填充。
在一些示例中,当(一个或多个)样本和(一个或多个)邻近样本位于虚拟边界的左侧(或右侧)和右侧(或左侧)时,可以适当地调整以上描述。
可以使用最大编码单元(Largest Coding Unit,LCU)对准的图片四叉树分割。为了提高编码效率,可以在视频编码中使用基于编码单元同步图片四叉树的自适应环路滤波器。在示例中,可以将亮度图片分割成多个多级四叉树分区,并且每个分区边界与最大编码单元(LCU)的边界对准。每个分区可以具有滤波处理,并且因此可以称为滤波器单元(Filter Unit,FU)或滤波单元(Filtering Unit,FU)。
示例2遍编码流程描述如下。在第一遍处,可以决定四叉树分割模式和每个FU的最佳滤波器(或最优滤波器)。在决定处理期间,可以通过快速滤波失真估计(Fast FilteringDistortion Estimation,FFDE)来估计滤波失真。根据决定的四叉树分割模式和选择的FU(例如,所有FU)的滤波器,可以对重建的图片进行滤波。在第二遍处,可以执行CU同步ALF开/关控制。根据ALF开/关结果,由重建的图片部分地恢复经滤波的第一图片。
可以采用自顶向下的分割策略,以通过使用率失真准则将图片分成多级四叉树分区。每个分区可以称为FU。分割处理可以将四叉树分区与LCU边界对准,如图13所示。图13示出了根据本公开内容的实施方式的LCU对准的图片四叉树分割的示例。在示例中,FU的编码顺序遵循z扫描顺序。例如,参照图13,图片被分割成十个FU(例如,分割深度为2的FU0-FU9,其中FU0、FU1和FU9为第一级FU,FUs、FU7和FU8为第二深度级FU,以及FU3至FU6为第三深度级FU),并且编码顺序为从FU0至FU9,例如,FU0、FU1、FU2、FU3、FU4、FU5、FU6、FU7、FU8和FU9
为了指示图片四叉树分割模式,分割标志(“1”表示四叉树分割,而“0”表示没有四叉树分割)可以以z扫描顺序被编码和传输。图14示出了根据本公开内容的实施方式的对应于图13的四叉树分割模式。如图14中的示例所示,四叉树分割标志以z扫描顺序被编码。
每个FU的滤波器可以是基于率失真准则从两个滤波器组选择的。第一组可以具有针对当前FU新得出的1/2对称方形形状和斜方形形状滤波器。第二组可以来自延时滤波器缓冲器。延时滤波器缓冲器可以存储先前针对在先图片中的FU得出的滤波器。可以为当前FU选择两个滤波器组中具有最小率失真成本的滤波器。同理,如果当前FU不是最小的FU,并且可以进一步分割成四个子FU,则可以计算四个子FU的率失真成本。通过递归地对分割情况和未分割情况的率失真成本进行比较,可以确定图片四叉树分割模式(换言之,当前FU的四叉树分割是否应当停止)。
在一些示例中,最大四叉树分割级别或深度可以被限制为预定义的数目。例如,最大四叉树分割级别或深度可以是2,并且因此FU的最大数目可以是16(或4的最大深度数的幂)。在四叉树分割决定期间,可以重新使用用于得出底部四叉树级别处的16个FU(最小FU)的维纳系数的相关值。其余的FU可以根据底部四叉树级别处的16个FU的相关性得出其余的FU的维纳滤波器。因此,在示例中,仅存在一次帧缓冲器访问以用于得出所有FU的滤波器系数。
在确定四叉树分割模式之后,为了进一步降低滤波失真,可以执行CU同步ALF开/关控制。通过对滤波失真和非滤波失真进行比较,叶CU可以在对应的局部区域内显式地开/关ALF。可以通过根据ALF开/关结果重新设计滤波器系数来进一步提高编码效率。在示例中,重新设计处理需要附加的帧缓冲器访问。因此,在一些示例中,例如基于编码单元同步图片四叉树的自适应环路滤波器(Coding Unit Synchronous Picture Quadtree-BasedAdaptive Loop Filter,CS-PQALF)编码器设计中,在CU同步ALF开/关决定之后不需要重新设计处理,以使帧缓冲器访问的次数最小化。
交叉分量滤波处理可以应用交叉分量滤波器,诸如交叉分量自适应环路滤波器(CC-ALF)。交叉分量滤波器可以使用亮度分量(例如,亮度CB)的亮度样本值来细化色度分量(例如,与亮度CB对应的色度CB)。在示例中,亮度CB和色度CB包括在CU中。
图15示出了根据本公开内容的示例实施方式的用于生成色度分量的交叉分量滤波器(例如,CC-ALF)。例如,图15示出了用于第一色度分量(例如,第一色度CB)、第二色度分量(例如,第二色度CB)和亮度分量(例如,亮度CB)的滤波处理。亮度分量可以由样本自适应偏移(SAO)滤波器(1510)滤波以生成经SAO滤波的亮度分量(1541)。经SAO滤波的亮度分量(1541)可以由ALF亮度滤波器(1516)进一步滤波以成为经滤波的亮度CB(1561)(例如,“Y”)。
第一色度分量可以由SAO滤波器(1512)和ALF色度滤波器(1518)滤波以生成第一中间分量(1552)。此外,经SAO滤波的亮度分量(1541)可以通过用于第一色度分量的交叉分量滤波器(例如,CC-ALF)(1521)滤波以生成第二中间分量(1542)。随后,可以基于第二中间分量(1542)和第一中间分量(1552)中的至少一个来生成经滤波的第一色度分量(1562)(例如,‘Cb’)。在示例中,可以通过利用加法器(1522)将第二中间分量(1542)和第一中间分量(1552)组合来生成经滤波的第一色度分量(1562)(例如,‘Cb’)。用于第一色度分量的示例交叉分量自适应环路滤波处理因此可以包括由CC-ALF(1521)执行的步骤和由例如加法器(1522)执行的步骤。
以上描述可以适于第二色度分量。第二色度分量可以由SAO滤波器(1514)和ALF色度滤波器(1518)滤波以生成第三中间分量(1553)。此外,经SAO滤波的亮度分量(1541)可以通过用于第二色度分量的交叉分量滤波器(例如,CC-ALF)(1531)滤波以生成第四中间分量(1543)。随后,可以基于第四中间分量(1543)和第三中间分量(1553)中的至少一个来生成经滤波的第二色度分量(1563)(例如,‘Cr’)。在示例中,可以通过利用加法器(1532)将第四中间分量(1543)和第三中间分量(1553)组合来生成经滤波的第二色度分量(1563)(例如,‘Cr’)。在示例中,用于第二色度分量的交叉分量自适应环路滤波处理因此可以包括由CC-ALF(1531)执行的步骤和由例如加法器(1532)执行的步骤。
交叉分量滤波器(例如,CC-ALF(1521)、CC-ALF(1531))可以通过将具有任何合适滤波器形状的线性滤波器应用于亮度分量(或亮度通道)来操作以细化每个色度分量(例如,第一色度分量、第二色度分量)。CC-ALF利用颜色分量之间的相关性以基于来自另一颜色分量的样本来减少一个颜色分量中的编码失真。
图16示出了根据本公开内容的实施方式的CC-ALF滤波器(1600)的示例。滤波器(1600)可以包括非零滤波器系数和零滤波器系数。滤波器(1600)具有由滤波器系数(1610)(由具有黑色填充的圆圈指示)形成的菱形形状(1620)。在示例中,滤波器(1600)中的非零滤波器系数包括在滤波器系数(1610)中,并且不包括在滤波器系数(1610)中的滤波器系数为零。因此,滤波器(1600)中的非零滤波器系数包括在菱形形状(1620)中,并且不包括在菱形形状(1620)中的滤波器系数为零。在示例中,滤波器(1600)的滤波器系数的数目等于滤波器系数(1610)的数目,其在图14所示的示例中为18。
CC-ALF可以包括任何合适的滤波器系数(也称为CC-ALF滤波器系数)。返回参照图15,CC-ALF(1521)和CC-ALF(1531)可以具有相同的滤波器形状诸如图16所示的菱形形状(1620)以及相同数目的滤波器系数。在示例中,CC-ALF(1521)中的滤波器系数的值与CC-ALF(1531)中的滤波器系数的值不同。
通常,CC-ALF中的滤波器系数(例如,如由编码器得出的非零滤波器系数)可以例如在APS中被传输。在示例中,滤波器系数可以按因子(例如,210)进行缩放,并且可以针对定点表示进行四舍五入。CC-ALF的应用可以在可变块大小上进行控制,并且通过针对每个样本块接收的上下文编码标志(例如,CC-ALF启用标志)用信号通知。上下文编码标志诸如CC-ALF启用标志可以在任何合适的级别诸如块级别处用信号通知。对于每个色度分量,可以在切片级别处接收块大小以及CC-ALF启用标志。在一些示例中,可以支持16×16、32×32和64×64的块大小(在色度样本中)。
在示例中,CC-ALF的语法变化在表3中描述如下。
表3:CC-ALF的语法变化
Figure BDA0003845974280000341
Figure BDA0003845974280000351
以上示例CC-ALF相关语法的语义可以描述如下:
alf_ctb_cross_component_cb_idc[xCtb>>CtbLog2SizeY][yCtb>>CtbLog2SizeY]等于0可以指示交叉分量Cb滤波器未应用于亮度位置(xCtb,yCtb)处的Cb颜色分量样本块。
alf_ctb_cross_component_cb_idc[xCtb>>CtbLog2SizeY][yCtb>>CtbLog2SizeY]不等于0可以指示第alf_ctb_cross_component_cb_idc[xCtb>>CtbLog2SizeY][yCtb>>CtbLog2SizeY]个交叉分量Cb滤波器应用于亮度位置(xCtb,yCtb)处的Cb颜色分量样本块。
alf_ctb_cross_component_cr_idc[xCtb>>CtbLog2SizeY][yCtb>>CtbLog2SizeY]等于0可以指示交叉分量Cr滤波器未应用于亮度位置(xCtb,yCtb)处的Cr颜色分量样本块。
alf_ctb_cross_component_cr_idc[xCtb>>CtbLog2SizeY][yCtb>>CtbLog2SizeY]不等于0可以指示第alf_ctb_cross_component_cr_idc[xCtb>>CtbLog2SizeY][yCtb>>CtbLog2SizeY]个交叉分量Cr滤波器应用于亮度位置(xCtb,yCtb)处的Cr颜色分量样本块。
下面描述色度采样格式的示例。通常,亮度块可以对应于一个或更多个色度块,例如两个色度块。(一个或多个)色度块中的每一个中的样本数目可以少于亮度块中的样本数目。色度子采样格式(也称为例如由chroma_format_idc指定的色度子采样格式)可以指示(一个或多个)色度块中的每一个与对应的亮度块之间的色度水平子采样因子(例如,SubWidthC)和色度竖直子采样因子(例如,SubHeightC)。对于标称4(水平)乘4(竖直)块,色度子采样方案可以指定为4:x:y格式,其中x是水平色度子采样因子(保留在块的第一行中的色度样本的数目),而y是保留在块的第二行中的色度样本的数目。在示例中,色度子采样格式可以是4:2:0,指示色度水平子采样因子(例如,SubWidthC)和色度竖直子采样因子(例如,SubHeightC)都为2,如图17A至图17B所示。在另一示例中,色度子采样格式可以是4:2:2,指示色度水平子采样因子(例如,SubWidthC)为2,并且色度竖直子采样因子(例如,SubHeightC)为1。在又一示例中,色度子采样格式可以是4:4:4,指示色度水平子采样因子(例如,SubWidthC)和色度竖直子采样因子(例如,SubHeightC)为1。因此,色度样本格式或类型(也称为色度样本位置)可以指示色度块中的色度样本相对于亮度块中的至少一个对应的亮度样本的相对位置。
图17A至图17B示出了根据本公开内容的实施方式的色度样本相对于亮度样本的示例性位置。参照图17A,亮度样本(1701)位于行(1711)至(1718)中。图17A所示的亮度样本(1701)可以表示图片的一部分。在示例中,亮度块(例如,亮度CB)包括亮度样本(1701)。亮度块可以对应于具有4:2:0的色度子采样格式的两个色度块。在示例中,每个色度块包括色度样本(1703)。每个色度样本(例如,色度样本(1703(1))对应于四个亮度样本(例如,亮度样本(1701(1))至(1701(4))。在示例中,四个亮度样本是左上样本(1701(1))、右上样本(1701((2))、左下样本(1701(3))和右下样本(1701(4))。色度样本(例如,(1703(1)))位于左上样本(1701(1))与左下样本(1701(3))之间的左中心位置处,并且具有色度样本(1703)的色度块的色度样本类型可以称为色度样本类型0。色度样本类型0指示对应于左上样本(1701(1))和左下样本(1701(3))中间的左中心位置的相对位置0。这四个亮度样本(例如,(1701(1))至(1701(4)))可以称为色度样本(1703)(1)的邻近亮度样本。
在示例中,每个色度块可以包括色度样本(1704)。以上参照色度样本(1703)的描述可以适用于色度样本(1704),并且因此为了简洁起见,可以省略详细描述。色度样本(1704)中的每一个可以位于四个对应的亮度样本的中心位置处,并且具有色度样本(1704)的色度块的色度样本类型可以称为色度样本类型1。色度样本类型1指示对应于四个亮度样本(例如,(1701(1))至(1701(4)))的中心位置的相对位置1。例如,色度样本(1704)中的一个可以位于亮度样本(1701(1))至(1701(4))的中心部分处。
在示例中,每个色度块包括色度样本(1705)。色度样本(1705)中的每一个可以位于与四个对应的亮度样本(1701)中的左上样本共同定位的左上位置处,并且具有色度样本(1705)的色度块的色度样本类型可以称为色度样本类型2。因此,色度样本(1705)中的每一个与对应于相应色度样本的四个亮度样本(1701)中的左上样本共同定位。色度样本类型2指示对应于四个亮度样本(1701)中的左上位置的相对位置2。例如,色度样本(1705)中的一个可以位于亮度样本(1701(1))至(1701(4))的左上位置处。
在示例中,每个色度块包括色度样本(1706)。色度样本(1706)中的每一个可以位于对应的左上样本与对应的右上样本之间的顶部中心位置处,并且具有色度样本(1706)的色度块的色度样本类型可以称为色度样本类型3。色度样本类型3指示对应于左上样本与右上样本之间的顶部中心位置的相对位置3。例如,色度样本(1706)中的一个可以位于亮度样本(1701(1))至(1701(4))的顶部中心位置处。
在示例中,每个色度块包括色度样本(1707)。色度样本(1707)中的每一个可以位于与四个对应的亮度样本(1701)中的左下样本共同定位的左下位置处,并且具有色度样本(1707)的色度块的色度样本类型可以称为色度样本类型4。因此,色度样本(1707)中的每一个与对应于相应色度样本的四个亮度样本(1701)中的左下样本共同定位。色度样本类型4指示对应于四个亮度样本(1701)中的左下位置的相对位置4。例如,色度样本(1707)中的一个可以位于亮度样本(1701(1))至(1701(4))的左下位置处。
在示例中,每个色度块包括色度样本(1708)。色度样本(1708)中的每一个位于左下样本与右下样本之间的底部中心位置处,并且具有色度样本(1708)的色度块的色度样本类型可以称为色度样本类型5。色度样本类型5指示对应于四个亮度样本(1701)中的左下样本与右下样本之间的底部中心位置的相对位置5。例如,色度样本(1708)中的一个可以位于亮度样本(1701(1))至(1701(4))中的左下样本与右下样本之间。
通常,任何合适的色度样本类型都可以用于色度子采样格式。色度样本类型0至5提供使用色度子采样格式4:2:0描述的示例性色度样本类型。附加色度样本类型可以用于色度子采样格式4:2:0。此外,其他色度样本类型和/或色度样本类型0至5的变体可以用于其他色度子采样格式,诸如4:2:2、4:4:4等。在示例中,组合了色度样本(1705)和(1707)的色度样本类型可以用于色度子采样格式4:2:2。
在另一示例中,亮度块被认为具有交替的行,诸如分别包括四个亮度样本(例如,(1701(1))至(1701(4)))中的顶部两个样本(例如,(1701(1))至(1701)(2)))和四个亮度样本(例如,(1701(1)至(1701(4)))中的底部两个样本(例如,(1701(3))至(1701(4)))的行(1711)至(1712)。因此,行(1711)、(1713)、(1715)和(1717)可以称为当前行(也称为顶场),并且行(1712)、(1714)、(1716)和(1718)可以称为下一行(也称为底场)。四个亮度样本(例如,(1701(1))至(1701(4)))位于当前行(例如,(1711))和下一行(例如,(1712))处。上面的相对色度位置2至3位于当前行中,上面的相对色度位置0至1位于当前行与相应的下一行之间,并且上面的相对色度位置4至5位于下一行中。
色度样本(1703)、(1704)、(1705)、(1706)、(1707)或(1708)位于每个色度块中的行(1751)至(1754)中。行(1751)至(1754)的具体位置可以取决于色度样本的色度样本类型。例如,对于具有相应色度样本类型0至1的色度样本(1703)至(1704),行(1751)位于行(1711)至(1712)之间。对于具有相应色度样本类型2至3的色度样本(1705)至(1706),行(1751)与当前行(1711)位于同一位置。对于具有相应色度样本类型4至5的色度样本(1707)至(1708),行(1751)与下一行(1712)位于同一位置。以上描述可以适当地适用于行(1752)至(1754),并且为了简洁起见,省略了详细描述。
可以使用任何合适的扫描方法来显示、存储和/或传输以上在图17A中描述的亮度块和(一个或多个)对应的色度块。在一些示例实现方式中,可以使用逐行扫描。
可替选地,可以使用隔行扫描,如图17B所示。如上所述,色度子采样格式可以是4:2:0(例如,chroma_format_idc等于1)。在示例中,可变色度位置类型(例如,ChromaLocType)可以指示当前行(例如,ChromaLocType是chroma_sample_loc_type_top_field)或下一行(例如,ChromaLocType是chroma_sample_loc_type_bottom_field)。可以单独扫描当前行(1711)、(1713)、(1715)和(1717)以及下一行(1712)、(1714)、(1716)和(1718)。例如,可以首先扫描当前行(1711)、(1713)、(1715)和(1717),然后扫描下一行(1712)、(1714)、(1716)和(1718)。当前行可以包括亮度样本(1701),而下一行可以包括亮度样本(1702)。
类似地,可以以隔行方式扫描对应的色度块。包括没有填充的色度样本(1703)、(1704)、(1705)、(1706)、(1707)或(1708)的行(1751)和(1753)可以称为当前行(或当前色度行),并且包括具有灰色填充的色度样本(1703)、(1704)、(1705)、(1706)、(1707)或(1708)的行(1752)和(1754)可以称为下一行(或下一色度行)。在示例中,在隔行扫描期间,可以首先扫描行(1751)和(1753),然后扫描行(1752)和(1754)。
除了上述ALF之外,约束方向增强滤波器(CDEF)也可以用于视频编码中的环路滤波。环路内CDEF可以用于滤除编码伪影例如量化振铃伪影,同时保留图像的细节。在一些编码技术中,可以采用样本自适应偏移(SAO)算法以通过为不同类别的像素限定信号偏移来实现类似的目标。与SAO不同,CDEF是非线性空间滤波器。在一些示例中,CDEF滤波器的设计被限制为易于矢量化(即,可通过单指令多数据(Single Instruction Multiple Data,SIMD)操作实现),而其他非线性滤波器诸如中值滤波器和双边滤波器不是这种情况。
CDEF设计源自以下观察。在一些情况下,已编码图像中的振铃伪影的量可能与量化步长大致成比例。量化图像中保留的最小细节也与量化步长成比例。因此,保留图像细节将需要较小的量化步长,这将产生较高的不期望的量化振铃伪影。幸运地,对于给定的量化步长,振铃伪影的幅度可以小于细节的幅度,从而为设计CDEF提供了机会,以在保持足够细节的同时滤除掉振铃伪影而达到平衡。
CDEF可以首先识别每个块的方向。然后,CDEF可以沿着所识别的方向自适应地滤波,并且沿着从所识别的方向旋转45°的方向滤波至较小程度。可以明确地用信号通知滤波器强度,这允许对细节模糊进行高度控制。可以针对滤波器强度设计有效的编码器搜索。CDEF可以基于两个环路内滤波器,并且组合的滤波器可以用于视频编码。在一些示例实现方式中,(一个或多个)CDEF滤波器可以跟随(一个或多个)去块滤波器以进行环路内滤波。
方向搜索可以例如在去块滤波器之后对重建的像素(或样本)进行操作,如图18所示。由于重建的像素可用于解码器,因此方向可能不需要信令。方向搜索可以对具有合适大小的块(例如,8×8块)进行操作,这些块足够小以充分处理非直线边缘(使得边缘在滤波块中显得足够直),并且足够大以在应用于量化图像时可靠地估计方向。在8×8区域上具有恒定方向可以使滤波器的矢量化更容易。对于每个块,与块中的模式最匹配的方向可以通过使量化块与完全定向块中的每一个之间的差度量例如平方差之和(Sum of SquaredDifferences,SSD)、均方根(Root Mean Square,RMS)误差等最小化来确定。在示例中,完全定向块(例如,图18的(1820)中的一个)是指其中沿着一个方向的线的所有像素具有相同值的块。图18示出了根据本公开内容的示例实施方式的用于8×8块(1810)的方向搜索的示例。在图18所示的示例中,选择一组方向(1820)中的45度方向(1823),这是因为45度方向(1823)可以使误差(1840)最小化。例如,针对45度方向的误差为12,并且是由行(1840)指示的范围从12至87的误差中最小的。
下面更详细地描述示例非线性低通定向滤波器。识别方向可以帮助沿着所识别的方向对准滤波器抽头以减少振铃伪影,同时保留定向边缘或图案。然而,在一些示例中,单独的定向滤波不能充分减少振铃伪影。期望在不沿着主方向(例如,所识别的方向)的像素上使用附加的滤波器抽头。为了降低模糊的风险,可以更保守地处理附加的滤波器抽头。因此,CDEF可以限定初级抽头和次级抽头。在一些示例实现方式中,完整的二维(2-D)CDEF滤波器可以表示为:
Figure BDA0003845974280000401
在式(14)中,D表示阻尼参数,S(p)和S(s)分别表示初级抽头和次级抽头的强度,并且函数round(·)可以将关系从零四舍五入,
Figure BDA0003845974280000411
Figure BDA0003845974280000412
表示滤波器权重,并且f(d,S,D)表示对经滤波的像素(例如,x(i,j))与邻近像素中的每一个(例如,x(m,n))之间的差d(例如,d=x(m,n)-x(i,j))进行操作的约束函数。当差较小时,f(d,S,D)可以等于差d(例如,f(d,S,D)=d),并且因此滤波器可以表现为线性滤波器。当差较大时,f(d,S,D)可以等于0(例如,f(d,S,D)=0),这有效地忽略了滤波器抽头。
作为另一环路内处理部件,在去块操作之外,可以在视频编码后去块中使用一组环路内恢复方案来通常去噪和提高边缘的质量。该组环路内恢复方案可以在每个合适大小的图块的帧(或图片)内是可切换的。下面描述基于可分离对称维纳滤波器和具有子空间投影的双自引导滤波器的环路内恢复方案的一些示例。由于内容统计在帧内可以显著变化,因此滤波器可以被集成在可切换的框架内,其中,不同的滤波器可以在帧的不同区域被触发。
下面描述示例可分离对称维纳滤波器。维纳滤波器可以用作可切换滤波器中的一个。退化帧中的每个像素(或样本)都可以被重建为像素周围w×w窗内的像素的非因果滤波版本,其中,w=2r+1,并且对于整数r是奇数。2维滤波器抽头可以由具有w2×1个元素的列矢量化形式的矢量F表示,并且直接线性最小均方误差(Linear Minimum Mean SquareError,LMMSE)优化可能导致由F=H-1M给出的滤波器参数,其中,H等于E[XXT]并且是x的自协方差、像素周围w×w窗中w2样本的列矢量化版本,并且其中,M等于E[YXT],表示x与要估计的标量源样本y的互相关。编码器可以被配置成根据去块帧和源中的实现来估计H和M,并且将得到的滤波器F发送至解码器。然而,在一些示例实现方式中,在传输w2个抽头时可能会发生大量位率成本。此外,不可分离滤波可能使解码变得过分复杂。因此,可以对F的性质施加多个附加约束。例如,可以将F约束为可分离的,从而可以将滤波实现为可分离的水平和竖直w-抽头卷积。在示例中,水平滤波器和竖直滤波器中的每一个都被约束为对称的。此外,在一些示例实现方式中,可以假设水平滤波器系数和竖直滤波器系数的总和为1。
具有子空间投影的双自引导滤波也可以用作用于环路内恢复的可切换滤波器中的一个,并且如下所述。在一些示例实现方式中,引导滤波可以用于图像滤波,其中,局部线性模型用于根据未滤波样本x计算滤波输出y。局部线性模型可以写成
.y=Fx+G 式(15)
其中,F和G可以基于退化图像和滤波像素附近的引导(guidance)图像(也称为引导(guide)图像)的统计来确定。如果引导图像与退化图像相同,则产生的自引导滤波可以具有边缘保持平滑的效果。根据本公开内容的一些方面,自引导滤波的特定形式可以取决于两个参数:半径r和噪声参数e,并且被列举如下:
1.获得每个像素周围的(2r+1)×(2r+1)窗中的像素的均值μ和方差σ2。例如,获得像素的均值μ和方差σ2可以通过基于全景成像的框滤波有效地实现。
2.针对每个像素,基于式(16)计算参数f和g
f=σ2/(σ2+e);g=(1-f)μ 式(16)
3.针对每个像素计算F和G,作为像素周围3×3窗中的参数f和g的值的平均值以供使用。
双自引导滤波可以通过半径r和噪声参数e来控制,其中,较大的半径r可以暗指较高的空间方差,而较高的噪声参数e可以暗指较高的范围方差。
图19示出了根据本公开内容的示例实施方式的子空间投影的示例。在图19所示的示例中,子空间投影可以使用廉价的恢复X1和X2来产生更靠近源Y的最终恢复Xf。即使廉价的恢复X1和X2不靠近源Y,如果廉价的恢复X1和X2沿正确的方向移动,则适当的乘数{α,β}可以使廉价的恢复X1和X2更靠近源Y。例如,最终恢复Xf可以基于下面的式(17)获得。
.Xf=X+α(X1-X)+β(X2-X) 式(17)
除了上述去块滤波器、ALF、CDEF和环路恢复之外,还可以在环路滤波处理中实现称为交叉分量样本偏移(CCSO)滤波器或CCSO的环路滤波方法,以减少重建(reconstructed)样本(也称为重建(reconstruction)样本)的失真。CCSO滤波器可以放置在环路滤波阶段的任何位置。在CCSO滤波处理中,非线性映射可以用于基于第一颜色分量的经处理的输入重建样本来确定输出偏移。在CCSO的滤波处理中,可以将输出偏移添加至第二颜色分量的重建样本。
输入重建样本可以来自位于滤波器支持区域中的第一颜色分量,如图20所示。具体地,图20示出了根据本公开内容的实施方式的CCSO滤波器中的滤波器支持区域的示例。滤波器支持区域可以包括四个重建样本:p0、p1、p2和p3。图20的示例中的四个输入重建样本在竖直方向和水平方向上呈十字形。在示例中,第一颜色分量中的中心样本(用c表示)和第二颜色分量中的要滤波的样本(用f表示)位于同一位置。在处理输入重建样本时,可以应用以下步骤:
步骤1:计算四个重建样本:p0、p1、p2和p3与中心样本c之间的增量值(例如,差),并且分别表示为m0、m1、m2和m3。例如,p0与c之间的增量值为m0。
步骤2:增量值m0至m3可以进一步被量化为多个(例如,4个)离散值。例如,对于m0、m1、m2和m3,量化值可以分别表示为d0、d1、d2和d3。在示例中,基于以下量化处理,d0、d1、d2和d3中的每一个的量化值可以是-1、0或1:
di=-1,如果mi<-N; 式(18)
di=0,如果-N<=mi<=N; 式(19)
di=1,如果mi>N。 式(20)
其中,N是量化步长,N的示例值为4、8、12、16等,di和mi指代各自的量化值和增量值,其中,i为0、1、2或3。
量化值d0至d3可以用于识别非线性映射的组合。在图20所示的示例中,CCSO滤波器具有四个滤波器输入d0至d3,并且每个滤波器输入可以具有三个量化值(例如,-1、0和1)中的一个,并且因此组合的总数为81(例如,34)。图21A至图21C示出了根据本公开内容的实施方式的81种组合的示例。最后一列可以表示每种组合的输出偏移值。输出偏移值可以是整数,例如0、1、-1、3、-3、5、-5、-7等。第一列表示分配至量化的d0、d1、d2和d3的这些组合的索引。中间的列表示量化的d0、d1、d2和d3的所有可能组合。
CCSO滤波器的最终滤波处理可以如下被应用:
.f′=clip(f+s), 式(21)
其中,f是要滤波的重建样本,s是例如从图21A至图21C检索的输出偏移值。在式(21)所示的示例中,要滤波的重建样本f的滤波样本值f’可以进一步被限幅至与位深度相关联的范围内。
在视频编码中可以使用局部样本偏移(LSO)方法或LSO滤波处理。在LSO中,可以应用与CCSO中使用的类似滤波方法。然而,输出偏移值可以应用于与滤波处理中使用的输入重建样本所在的颜色分量相同的颜色分量。因此,在LSO中,滤波处理中使用的输入重建样本(例如,p0至p3和c)与要滤波的重建样本(例如,f)处于相同分量例如亮度分量、色度分量、或任何合适的分量。LSO可以具有与CCSO的滤波器形状类似或相同的滤波器形状(如图20所示)。
如图20所示,与第一颜色的样本c和第一颜色的p0、p1、p2和p1对应的要滤波的第二颜色中的重建样本f的示例CCSO滤波可以称为5抽头CCSO滤波器设计。可替选地,可以使用具有不同数目的滤波器抽头的其他CCSO设计。例如,可以在视频编码中使用复杂度较低的三抽头CCSO设计。图22示出了根据本公开内容的实施方式的CCSO的示例实现方式。可以为3抽头CCSO实现方式限定八种不同示例滤波器形状中的任何一种。滤波器形状中的每一个可以限定三个重建样本(也称为三个抽头)在第一分量(也称为第一颜色分量)中的位置。三个重建样本可以包括中心样本(表示为c)和两个对称定位的样本,如图22中用相同的数字(1至8中的一个)表示。在示例中,要滤波的第二颜色分量中的重建样本与中心样本c位于同一位置。出于清楚的目的,在图22中未示出要滤波的以第二颜色分量中的重建样本。
在视频编码中可以使用样本自适应偏移(SAO)滤波器。在一些示例实现方式中,SAO滤波器或SAO滤波处理可以通过使用例如切片报头中的偏移值被应用于去块滤波器之后的重建信号。对于亮度样本,编码器可以确定SAO滤波器是否被应用于当前切片。如果启用SAO滤波器,则当前图片可以递归地分割成四个子区域,并且可以为每个子区域选择六种SAO类型(例如,SAO类型1至6)中的一种,如表4所示。SAO滤波器可以将重建像素分类为多个类别,并且通过对当前子区域中的每个类别的像素添加偏移来减少失真。可以使用边缘属性来进行SAO类型1至4中的像素分类,并且可以使用像素强度来进行SAO类型5至6中的像素分类。
表4 SAO类型的规格
SAO类型 要使用的SAO类型 类别数
0 没有 0
1 1维0度模式边缘偏移 4
2 1维90度模式边缘偏移 4
3 1维135度模式边缘偏移 4
4 1维45度模式边缘偏移 4
5 中心带带偏移 16
6 侧带带偏移 16
可以使用带偏移(Band Offset,BO)将子区域的像素(例如,所有像素)分类为多个带,其中每个带可以包括相同强度间隔的像素。强度范围可以被均等地划分为从最小强度值(例如,0)至最大强度值(例如,对于8位像素为255)的多个间隔(例如,32个间隔),并且每个间隔可以具有偏移。随后,可以将多个间隔或带(例如,32个带)划分为两个群组。一个群组可以包括16个中心带,而另一个群组可以包括剩余的16个带。在示例中,仅传输一个群组中的偏移。关于BO中的像素分类操作,每个像素的最高五位可以直接用作带索引。
考虑到边缘定向信息,边缘偏移(Edge Offset,EO)可以使用四个1维3像素模式进行像素分类,如图23所示。图23示出了用于EO中的像素分类的四个1维3像素模式的示例。从左到右,四个1维3像素模式分别对应于1维0度模式(2310)、1维90度模式(2320)、1维135度模式(2330)和1维45度模式(2340)。对于图片(例如,当前图片)的每个子区域,可以通过将每个像素与该像素的两个邻近像素进行比较来选择四种模式中的一种以将像素分类为多个类别。该选择可以作为边信息在码流中发送。表5示出了EO的像素分类规则。
表5 EO的像素分类规则
Figure BDA0003845974280000461
在示例中,期望解码器侧的SAO独立于LCU操作,从而可以节省行缓冲器。为了独立于LCU操作SAO,在示例中,当选择90度、135度和45度分类模式时,每个LCU中顶行和底行的像素不进行SAO处理,并且当选择0度、135度和45度模式时,每个LCU中最左边列和最右边列的像素不进行SAO处理。
下面的表6描述了如果未从邻近CTU合并参数则可能针对CTU用信号通知的语法。
表6–SAO语法的示例
Figure BDA0003845974280000462
在上述CCSO环路滤波处理的一些实现方式中,如图21A至图21C中针对5抽头CCSO滤波示例性示出的,量化的增量值(或其索引)的组合与交叉分量样本偏移值之间的对应关系可以称为CCSO查找表(Lookup Table,LUT)。在视频编码或解码期间,一个或更多个LUT可能潜在地用在CCSO滤波处理中。当为CCSO滤波提供多个LUT时,编码器或解码器可以在各个级别(例如,图片级别、切片级别、CTB级别、CB级别、FU级别等)处的环路滤波处理期间动态地和自适应地从多个LUT进行选择。
这些LUT中的每一个可以基于任何合适数目的抽头(例如,5个抽头或3个抽头、或任何其他数目的抽头)和增量量化级别(例如,上述3级增量量化、或任何其他数目的增量量化级别)。因此,LUT可以具有不同的大小(例如,如上所述,对于5抽头和3量化级别CCSO,(5-1)3=81个量化增量组合和偏移对应关系;或者对于3抽头和3量化级别CCSO,
(3-1)3=8个量化增量组合和偏移对应关系)。
如上所述,这些LUT中的一些可以是预定义的。例如,可以使用训练图像数据离线预训练这些预定义的CCSO LUT,以供CCSO滤波处理的常规使用。这样的预定义LUT可以是固定常数(对于各种预定义量化增量值组合的固定常数偏移),并且因此这些预定义LUT的内容可能不需要在视频码流中从编码器用信号通知至解码器。而是,这些LUT可以被预先存储,或者可以被硬连线或硬编码以供视频编码器或视频解码器中的CCSO滤波处理使用。
如上面进一步描述的,除了在CCSO滤波处理期间使用的预定义/预训练LUT之外的一些CCSO LUT可以由编码器在编码处理期间得出而不是离线训练。这些CCSO LUT不是预定义的,并且因此它们的内容需要在码流中明确地用信号通知。用信号通知这些编码器得出的LUT通常很昂贵,这是因为其涉及每帧的大量开销,特别是对于大LUT,从而可能导致显著且不期望的整体位率损失。因此,可能期望设计用于在码流中组织、编码和用信号通知这些LUT的有效方案。
在一些示例实现方式中,当对视频进行编码或解码时,在CCSO滤波处理中可以仅使用预定义的LUT。在一些其他示例实现方式中,当对视频进行编码或解码时,在CCSO滤波处理中可以仅使用编码器得出的LUT。在又一些其他示例实现方式中,当对视频进行编码或解码时,在CCSO滤波处理中可以使用预定义的LUT和编码器得出的LUT两者,并且特定FU的CCSO滤波可以使用从预定义的LUT和编码器得出的LUT中选择的任何LUT。
如上面详细描述的,CCSO处理是指使用第一颜色分量的重建样本作为输入(例如,Y或Cb或Cr,换言之,包括亮度分量而不仅限于色度分量)的滤波处理,并且根据特定的CCSOLUT将输出应用于作为第一颜色分量的不同颜色分量的第二颜色分量。在图20中示出了CCSO滤波器的示例5抽头滤波器形状,并且在图21A至图21C中示出了对应的示例LUT。
虽然将其中第一颜色分量和第二颜色分量不同的滤波处理称为CCSO,但是也可以实现如上所述的称为局部样本偏移(LSO)的帧内颜色偏移处理。LSO滤波器处理可以使用第一颜色分量的重建样本作为输入(例如,Y或Cb或Cr),并且根据特定的LSO LUT将输出应用于相同的第一颜色分量。特定的LSO LUT可以从LSO的一个或更多个LUT选择,并且用于确定局部样本偏移,类似于CCSO处理中的交叉分量样本偏移的确定。与CCSO LUT一样,这样的LSO LUT例如可以被预定义(离线训练)为固定常数LUT,或者可以由编码器在编码处理期间得出。编码器得出的LSO LUT需要在码流中用信号通知,而预定义/固定/恒定/离线训练的LSO LUT可以在编码器或解码器中预先存储或硬连线或硬编码,并且可能不需要用信号通知,类似于上述预定义的CCSO LUT。
以下公开内容还描述了在解码器和编码器中对编码块中的重建样本的环路内滤波期间样本偏移LUT的动态和自适应选择的各种示例实现方式。这些实现方式及其基本原理不仅适用于CCSO滤波,而且适用于LSO滤波。为了描述方便,在一些情况下可能特指CCSO。然而,下面的公开内容不限于CCSO,并且也适用于LSO。
在一些示例实现方式中,可以为CCSO和/或LSO限定一个或更多个预定义查找表(LUT),并且这些查找表可以用于得出偏移值,这些偏移值被添加至特定颜色分量的重建样本值上,以根据例如式(21)计算CCSO或LSO滤波样本值。这些预定义的CCSO和/或LSO LUT在编码器和解码器之间共享并提前公布。因此,这些LUT可以被存储、硬连线或硬编码在任何编码器或解码器装置中。
每个LUT表示特定增量值与样本偏移值之间的特定非线性映射。当多个LUT可供使用时,可以在编码器中为每个颜色分量在各种滤波器级别(FU或任何其他级别)处选择LUT,并用信号通知至解码器。在以下描述的一些实现方式中,LUT的选择(或各种增量值与样本偏移值之间的各种非线性映射)可以用各种局部自适应性来实现。
在一些实现方式中,局部自适应性可以根据基于应用CCSO或LSO滤波的块区域的已编码信息得出的某个统计。滤波块区域的这些统计特性可以表示重建样本中的图像特性,这些特性与可能通过样本偏移滤波器选择(例如,CCSO或LSO查找表的选择)自适应地处理的潜在失真相关。这些统计可以包括但不限于以下一项或更多项。
I.上述CDEF中得出的边缘方向,或使用诸如Canny Edge检测器或Sobel Edge检测器的其他边缘检测方法得出的边缘方向。
II.在应用CDEF的各种滤波级别处,样本区域内重建样本的平滑度的度量。
——在一个实施方式中,可以通过样本区域内的样本值的范围来计算平滑度。样本值的范围可以被限定为最大样本值与最小样本值之间的绝对差。
——在另一实施方式中,可以通过位于样本区域内的像素的样本值的四分位距来计算平滑度。样本值的四分位距被限定为第A百分位数减去第B百分位数的样本值。A的示例值可以是75%并且B的示例值可以是25%。
——在又一实施方式中,可以通过样本区域内的样本值的方差来计算平滑度。可以如下计算方差:
Figure BDA0003845974280000491
其中,S2是方差,xi是指覆盖样本1至样本n的当前样本区域的第i样本,
Figure BDA0003845974280000493
表示样本均值,n表示应用CCSO和/或LSO的样本区域内的样本总数。
——在又一实施方式中,可以通过样本区域内的样本值的标准偏差来计算平滑度。可以如下计算标准偏差:
Figure BDA0003845974280000492
——在又一实施方式中,可以通过样本区域内的梯度值的范围来计算平滑度。梯度值的范围可以被限定为最大梯度值与最小梯度值之间的绝对差。针对每个样本位置的梯度值可以被计算为位于当前位置处的样本值与位于其邻近位置处的样本值之间的差。
III.已编码/编码信息,包括但不限于针对应用CCSO或LSO的块用信号通知的预测模式(例如,是否应用帧内DC模式、帧内平面模式、帧内PAETH模式、帧内平滑模式、帧内递归滤波模式、帧间跳过模式)、与当前块相关联的系数编码(诸如已编码块标志)、块大小、量化参数和运动矢量(幅度)相关的信息。
IV.应用CCSO或LSO时编码器和解码器两者可以使用的信息,例如在环路滤波处理(例如,ALF)期间得出的样本分类信息、在去块处理期间得出的滤波强度、CDEF和环路恢复。
在一些一般示例实现方式中,可以根据块的统计来选择用于块的CCSO或LSO滤波(或CCSO或LSO LUT)中的非线性映射。统计可以包括但不限于上述的I、II、III和IV。
在一个实施方式中,作为CCSO的输入的颜色分量可以用于得出统计。
在另一实施方式中,由CCSO的输出滤波的颜色分量可以用于得出统计。
在另一实施方式中,如果使用上面的I中限定的统计(边缘方向统计),则可以基于当前块的边缘信息来选择CCSO中用于当前块的LUT。
在CDEF中得出的边缘方向用作统计的一个示例中,对于CCSO和/或LSO,总共可能存在预定义数目(例如,八个)的LUT。LUT中的每一个可以对应于作为示例CDEF边缘推导处理的输出的例如八个边缘方向中的一个。可以根据该对应关系基于边缘方向为当前块选择LUT中的一个。可以在各种级别例如HLS(High Level Syntax,高级语法)(APS、切片报头、帧报头、PPS(Picture Parameter Set,图片参数集))中的帧级别处用信号通知(如果未预定义)示例八个LUT。
在CDEF中得出的边缘方向用作统计的另一更一般示例中,总共可能存在N个LUT,每个LUT对应于作为示例CDEF边缘推导处理的输出的八个边缘方向中的多于一个。可以根据该对应关系基于边缘方向为当前块选择LUT中的一个。N的示例值是整数,并且1<N<8。可以在HLS(APS、切片报头、帧报头、PPS)中的帧级别处用信号通知(如果未预定义)N个LUT。
在一些示例实现方式中,如果使用上面的II中限定的统计(平滑度统计),则在CCSO和/或LSO中为当前块选择LUT可以基于度量平滑度值是否小于(或大于)一个或更多个给定阈值。
在一个示例中,可以将当前块的标准偏差(S)与预定数目的阈值进行比较以进行LUT选择。例如,可能存在许多LUT可供选择,例如,存在4个LUT可供选择。相应地,可能存在三个阈值(S1、S2、S3)。因此,从四个LUT选择LUT可以基于以下准则:如果S<S1则可以选择LUT1,如果S1≤S<S2则可以选择LUT2,如果S2≤S<S3则可以选择LUT3,如果S≥S4则可以选择LUT4。
在一个实施方式中,如果使用上面的III中限定的统计(编码/已编码信息统计),则在CCSO和/或LSO中用于当前块的LUT的选择可以基于编码/已编码信息。
在一个示例中,可以基于当前块的预测模式来选择当前块的LUT。各种预测模式可以对应于各种LUT。对于当前块中使用的预测模式,可以选择对应的LUT。示例预测模式包括但不限于帧内DC模式、帧内平面模式、帧内PAETH模式、帧内平滑模式、帧内递归滤波模式、帧间跳过模式等。
在一些示例实现方式中,上面的各种统计信息可以用于确定CCSO中使用的滤波器,包括但不限于滤波器系数、滤波器抽头位置和滤波器抽头数目。当这样的滤波参数体现在不同的查找表中时,这样的确定可以等同于如上所述的LUT的选择。可替选地,如果这些复合LUT被构建为在特定复合LUT中包括这些参数的变化,则选择可能涉及选择LUT中的条目而不是选择LUT。
在上面的任何实现方式中,用于选择LUT的统计可以基于任何颜色分量的统计。它可以基于单个颜色分量或多个颜色分量的组合。它可以基于与要滤波的颜色分量相同的颜色分量或者基于与要滤波的颜色分量不同的另一颜色分量。对其执行统计的(一个或多个)颜色分量可以被称为“至少第一颜色分量”。到所选择的样本偏移滤波器并且要滤波的输入颜色分量可以被称为“第二颜色分量”。用于在所选择的样本偏移滤波器中查找样本偏移值的增量值可以取自与任何颜色分量(称为“第三颜色分量”)中正被滤波的样本位于同一位置的样本。第一颜色分量、第二颜色分量和第三颜色分量可以相同或可以不同。例如,第二颜色分量和第三颜色分量可以不同(因此“交叉分量样本偏移”滤波)或相同(因此“局部样本偏移”滤波)。
在一些示例实现方式中,针对应用CCSO或LSO的颜色分量,用信号通知多个(例如,M个)LUT,并且还用信号通知要应用到当前块的所选择的LUT的索引。M的示例值是1至1024内的任何整数。
在一些示例实现方式中,可以在各种级别处用信号通知LUT的数目(例如,M个)和实际的LUT(如果未预定义),所述各种级别包括但不限于HLS(APS、切片报头、帧报头、PPS、SPS(Sequence Parameter Set,序列参数集)、VPS(Video Parameter Set,视频参数集))中的序列级别、或图片级别、或CTU/SB级别。可以在各种级别处用信号通知针对当前块所选择的LUT的索引,所述各种级别包括但不限于HLS(APS、切片报头、帧报头、PPS、SPS、VPS)中的CTU/SB级别、或已编码块级别、或滤波器单元级别。
当在本公开内容中使用时,关于CCSO或LSO滤波器的术语“环路滤波参数”是指在码流中用信号通知的参数,指示CCSO或LSO滤波器的各种特性,包括但不限于指示LUT类型的标志(例如,预定义的或编码器得出的)、LUT的索引、LUT中的增量级别数、增量的量化步长、每个滤波器的抽头数目、相对于每个滤波器的滤波样本位置的抽头位置等。
图24示出了遵循上面的实现方式的基本原理的用于环路内交叉样本偏移滤波或局部样本偏移滤波的示例方法的流程图2400。示例方法流程从2401处开始。在S2410中,获得与视频流的当前重建数据块中的至少第一颜色分量的重建样本相关联的至少一个统计属性。在S2420中,基于至少一个统计属性在多个样本偏移滤波器中选择目标样本偏移滤波器,该目标样本偏移滤波器包括样本增量度量与样本偏移值之间的非线性映射。在S2430中,使用目标样本偏移滤波器和当前重建数据块的第三颜色分量的参考样本对当前重建数据块的第二颜色分量的当前样本进行滤波,以生成当前样本的滤波重建样本。示例方法流程在S2499处结束。
本公开内容中的实施方式可以单独使用或以任何顺序组合使用。此外,方法(或实施方式)、编码器和解码器中的每一个均可以通过处理电路系统(例如,一个或更多个处理器或者一个或更多个集成电路)来实现。在一个示例中,一个或更多个处理器执行存储在非暂态计算机可读介质中的程序。本公开内容中的实施方式可以应用于亮度块或色度块。
可以利用计算机可读指令将上述技术实现为计算机软件,并且将其物理地存储在一个或更多个计算机可读介质中。例如,图25示出了适于实现所公开的主题的某些实施方式的计算机系统(2500)。
可以使用任何合适的机器代码或计算机语言对计算机软件进行编码,机器代码或计算机语言可以经受汇编、编译、链接等机制以创建包括指令的代码,所述指令可以由一个或更多个计算机中央处理单元(Central Processing Unit,CPU)、图形处理单元(GraphicsProcessing Unit,GPU)等直接执行或者通过解译、微代码执行等执行。
指令可以在各种类型的计算机或其部件上执行,包括例如个人计算机、平板计算机、服务器、智能电话、游戏装置、物联网装置等。
图25中示出的用于计算机系统(2500)的部件本质上是示例性的,并且不旨在对实现本公开内容的实施方式的计算机软件的使用范围或功能范围提出任何限制。部件的配置也不应当被解释为具有与计算机系统(2500)的示例性实施方式中示出的部件中的任何一个部件或部件的组合有关的任何依赖性或要求。
计算机系统(2500)可以包括某些人机接口输入装置。这样的人机接口输入装置可以响应于由一个或更多个人类用户通过例如触觉输入(诸如:击键、滑动、数据手套移动)、音频输入(诸如:语音、拍打)、视觉输入(诸如:姿势)、嗅觉输入(未描绘)进行的输入。人机接口装置还可以用于捕获不一定与人类有意识的输入直接有关的某些媒介,诸如,音频(诸如:语音、音乐、环境声音)、图像(诸如:扫描图像、从静态图像摄像装置获得的摄影图像)、视频(诸如二维视频、包括立体视频的三维视频)。
输入人机接口装置可以包括以下各项中的一个或更多个(每项仅绘出一个):键盘(2501)、鼠标(2502)、触控板(2503)、触摸屏(2510)、数据手套(未示出)、操纵杆(2505)、麦克风(2506)、扫描仪(2507)、摄像装置(2508)。
计算机系统(2500)还可以包括某些人机接口输出装置。这样的人机接口输出装置可以通过例如触觉输出、声音、光和气味/味道来刺激一个或更多个人类用户的感官。这样的人机接口输出装置可以包括:触觉输出装置(例如,通过触摸屏(2510)、数据手套(未示出)或操纵杆(2505)进行的触觉反馈,但是也可以存在不用作输入装置的触觉反馈装置);音频输出装置(诸如:扬声器(2509)、头戴式耳机(未描绘));视觉输出装置(诸如,屏幕(2510),包括阴极射线管(Cathode Ray Tube,CRT)屏幕、液晶显示器(Liquid CrystalDisplay,LCD)屏幕、等离子屏幕、有机发光二极管(Organic Light-Emitting Diode,OLED)屏幕,每个均具有或不具有触摸屏输入能力,每个均具有或不具有触觉反馈能力——其中的一些可能能够通过诸如立体图像输出的方式输出二维视觉输出或多于三维输出;虚拟现实眼镜(未描绘);全息显示器和烟罐(未描绘));以及打印机(未描绘)。
计算机系统(2500)还可以包括人类可访问存储装置及其相关联的介质,诸如包括具有CD/DVD等介质(2521)的CD/DVD只读存储器(Read Only Memory,ROM)/读写(ReadWrite,RW)(2520)的光学介质、拇指驱动器(2522)、可移除硬盘驱动器或固态驱动器(2523)、遗留磁性介质诸如磁带和软盘(未描绘)、基于专用ROM/专用集成电路(Application Specific Integrated Circuit,ASIC)/可编程逻辑器件(ProgrammableLogic Device,PLD)的装置诸如安全加密狗(未描绘)等。
本领域技术人员还应当理解,结合当前公开的主题使用的术语“计算机可读介质”不包含传输介质、载波或其他暂态信号。
计算机系统(2500)还可以包括至一个或更多个通信网络(2555)的接口(2554)。网络可以例如是无线的、有线的、光学的。网络还可以是局域的、广域的、城域网、车载和工业网络、实时的、延迟容忍的等。网络的示例包括:诸如以太网的局域网;无线LAN;包括GSM(Global System for Mobile Communication)、3G(Third Generation)、4G(FourthGeneration)、5G(Fifth Generation)、LTE(Long Term Evolution)等的蜂窝网络;包括有线电视、卫星电视和地面广播电视的电视有线或无线广域数字网络;包括CAN总线的车载的网络和工业的网络等。某些网络通常需要外部网络接口适配器,该外部网络接口适配器附接至某些通用数据端口或外围总线(2549)(诸如例如,计算机系统(2500)的USB(UniversalSerial Bus,USB)端口);其他网络通常通过附接至如下所述的系统总线(例如,到PC计算机系统的以太网接口或到智能电话计算机系统的蜂窝网络接口)而集成到计算机系统(2500)的核中。计算机系统(2500)可以通过使用这些网络中的任何网络与其他实体进行通信。这样的通信可以是单向仅接收的(例如,广播电视)、单向仅发送的(例如,至某些CAN总线装置的CAN总线)、或双向的,例如,使用局域数字网络或广域数字网络至其他计算机系统。可以在如上所述的这些网络和网络接口中的每个网络和网络接口上使用某些协议和协议栈。
以上提及的人机接口装置、人类可访问存储装置和网络接口可以附接至计算机系统(2500)的核(2540)。
核(2540)可以包括一个或更多个中央处理单元(CPU)(2541)、图形处理单元(GPU)(2542)、现场可编程门阵列(Field Programmable Gate Area,FPGA)(2543)形式的专用可编程处理单元、用于某些任务的硬件加速器(2544)、图形适配器(2550)等。这些装置,连同只读存储器(Read-Only Memory,ROM)(2545)、随机存取存储器(2546)、内部大容量存储装置诸如内部非用户可访问硬盘驱动器、SSD(Solid State Drive,SSD)等(2547)可以通过系统总线(2548)连接。在一些计算机系统中,可以以一个或更多个物理插头的形式访问系统总线(2548),以使得能够通过附加的CPU、GPU等进行扩展。外围装置可以直接地或通过外围总线(2549)附接至核的系统总线(2548)。在示例中,屏幕(2510)可以连接至图形适配器(2550)。外围总线的架构包括PCI(Peripheral Component Interconnect,PCI)、USB等。
CPU(2541)、GPU(2542)、FPGA(2543)和加速器(2544)可以执行某些指令,所述指令可以组合构成以上提及的计算机代码。该计算机代码可以被存储在ROM(2545)或RAM(2546)中。瞬态数据也可以被存储在RAM(2546)中,而永久数据可以被存储在例如内部大容量存储装置(2547)中。可以通过使用缓存存储器来实现对存储装置中的任何存储装置的快速存储和检索,该缓存存储器可以与一个或更多个CPU(2541)、GPU(2542)、大容量存储装置(2547)、ROM(2545)、RAM(2546)等紧密关联。
计算机可读介质上可以具有用于执行各种计算机实现的操作的计算机代码。介质和计算机代码可以是为本公开内容的目的而专门设计和构造的介质和计算机代码,或者它们可以是计算机软件领域的技术人员公知和可用的类型的介质和计算机代码。
作为非限制示例,具有架构的计算机系统(2500)——并且特别是核(2540)——可以由于处理器(包括CPU、GPU、FPGA、加速器等)执行体现在一个或更多个有形计算机可读介质中的软件而提供功能。这样的计算机可读介质可以是与如以上所介绍的用户可访问的大容量存储装置以及核(2540)的具有非暂态性质的某些存储装置例如核内部大容量存储装置(2547)或ROM(2545)相关联的介质。可以将实现本公开内容的各种实施方式的软件存储在这样的装置中并且由核(2540)执行。根据特定需求,计算机可读介质可以包括一个或更多个存储器装置或芯片。软件可以使核(2540)——并且特别是其中的处理器(包括CPU、GPU、FPGA等)——执行本文中描述的特定处理或特定处理的特定部分,包括限定存储在RAM(2546)中的数据结构以及根据由软件限定的处理修改这样的数据结构。另外地或作为替选,计算机系统可以由于硬连线或以其他方式体现在电路(例如:加速器(2544))中的逻辑而提供功能,该逻辑可以代替软件或与软件一起操作以执行本文中描述的特定处理或特定处理的特定部分。在适当的情况下,提及软件可以包含逻辑,反之提及逻辑也可以包含软件。在适当的情况下,提及计算机可读介质可以包含存储用于执行的软件的电路(诸如,集成电路(Integrated Circuit,IC))、实施用于执行的逻辑的电路或上述两者。本公开内容包含硬件和软件的任何合适的组合。
虽然本公开内容已经描述了若干示例性实施方式,但是存在落入本公开内容的范围内的改变、置换和各种替代等同物。在上述实现方式和实施方式中,可以根据需要以任何数量或顺序组合或布置处理的任何操作。此外,可以并行执行上述处理的两个或更多个操作。因此将认识到,本领域技术人员能够设想虽然本文中没有明确示出或描述但是体现本公开内容的原理并且因此在其精神和范围内的许多系统和方法。
附录A:首字母缩略词
JEM:联合开发模型
VVC:通用视频编码
BMS:基准集
MV:运动矢量
HEVC:高效视频编码
SEI:补充增强信息
VUI:视频可用性信息
GOP:图片群组
TU:变换单元
PU:预测单元
CTU:编码树单元
CTB:编码树块
PB:预测块
HRD:假想参考解码器
SNR:信噪比
CPU:中央处理单元
GPU:图形处理单元
CRT:阴极射线管
LCD:液晶显示器
OLED:有机发光二极管
CD:致密盘
DVD:数字视频光盘
ROM:只读存储器
RAM:随机存取存储器
ASIC:专用集成电路
PLD:可编程逻辑装置
LAN:局域网
GSM:全球移动通信系统
LTE:长期演进
CANBus:控制器局域网总线
USB:通用串行总线
PCI:外围部件互连
FPGA:现场可编程门阵列
SSD:固态驱动器
IC:集成电路
HDR:高动态范围
SDR:标准动态范围
JVET:联合视频探索小组
MPM:最可能模式
WAIP:广角帧内预测
CU:编码单元
PU:预测单元
TU:变换单元
CTU:编码树单元
PDPC:位置相关预测组合
ISP:帧内子划分
SPS:序列参数集
PPS:图片参数集
APS:自适应参数集
VPS:视频参数集
DPS:解码参数集
ALF:自适应环路滤波器
SAO:样本自适应偏移
CC-ALF:交叉分量自适应环路滤波器
CDEF:约束方向增强滤波器
CCSO:交叉分量样本偏移
LSO:局部样本偏移
LR:环路恢复滤波器
AV1:AOMedia视频1
AV2:AOMedia视频2。

Claims (20)

1.一种用于视频流的环路内滤波的方法,包括:
获得与所述视频流的当前重建数据块中的至少第一颜色分量的重建样本相关联的至少一个统计属性;
基于所述至少一个统计属性在多个样本偏移滤波器之中选择目标样本偏移滤波器,所述目标样本偏移滤波器包括样本增量度量与样本偏移值之间的非线性映射;以及
使用所述目标样本偏移滤波器和所述当前重建数据块的第三颜色分量的参考样本对所述当前重建数据块的第二颜色分量的当前样本进行滤波,以生成所述当前样本的滤波重建样本。
2.根据权利要求1所述的方法,其中,所述第一颜色分量是与所述第三颜色分量相同的颜色分量。
3.根据权利要求1所述的方法,其中,所述第一颜色分量是与所述第二颜色分量相同的颜色分量。
4.根据权利要求1所述的方法,其中,所述第二颜色分量是与所述第三颜色分量不同的颜色分量。
5.根据权利要求1所述的方法,其中,所述第二颜色分量是与所述第三颜色分量相同的颜色分量。
6.根据权利要求1所述的方法,其中,所述至少第一颜色分量包括一个、两个或三个颜色分量。
7.根据权利要求1所述的方法,其中,所述至少一个统计属性包括所述当前重建数据块的边缘信息。
8.根据权利要求1至7中任一项所述的方法,其中,
所述当前重建数据块的所述边缘信息包括在约束方向增强滤波(CDEF)处理中得出的边缘方向;以及
所述多个样本偏移滤波器包括与N个CDEF边缘方向对应的N个样本偏移滤波器,N为1与8之间同时包含1和8的整数。
9.根据权利要求1至7中任一项所述的方法,其中,以高级语法(HLS)中的帧级别用信号通知所述多个样本偏移滤波器。
10.根据权利要求1至7中任一项所述的方法,其中,所述至少一个统计属性包括所述当前重建数据块的平滑度度量。
11.根据权利要求10所述的方法,其中,
将所述当前重建数据块的所述平滑度度量映射至由M-1个平滑度级别阈值表征的M个预定义的平滑度级别中的一个;
所述多个样本偏移滤波器包括与所述M个预定义的平滑度级别对应的M个样本偏移滤波器;以及
根据映射至所述平滑度度量的所述M个预定义的平滑度级别中的一个,从所述M个样本偏移滤波器选择所述目标样本偏移滤波器。
12.根据权利要求1至7中任一项所述的方法,其中,所述至少一个统计属性包括所述当前重建数据块的编码信息。
13.根据权利要求12所述的方法,其中,
编码信息包括所述当前重建数据块的当前预测模式;
所述多个样本偏移滤波器对应于不同的预测模式;以及
根据所述当前重建数据块的所述当前预测模式,从所述多个样本偏移滤波器选择所述目标样本偏移滤波器。
14.根据权利要求13所述的方法,其中,所述不同的预测模式包括帧内DC模式、帧内平面模式、帧内PAETH模式、帧内平滑模式、帧内递归滤波模式和帧间跳过模式中的至少一种。
15.根据权利要求1至7中任一项所述的方法,其中,所述多个样本偏移滤波器中的每一个都与滤波器系数组、多个滤波器抽头以及所述多个滤波器抽头的位置相关联。
16.根据权利要求1至7中任一项所述的方法,其中,使用所述目标样本偏移滤波器和所述当前重建数据块的所述第三颜色分量的所述参考样本对所述当前重建数据块的所述第二颜色分量的所述当前样本进行滤波,以生成所述当前样本的所述滤波重建样本包括:
确定所述第二颜色分量的所述当前样本的第一位置和与所述目标样本偏移滤波器相关联的多个滤波器抽头的第二位置;
将所述第一位置和所述第二位置处的所述第三颜色分量的重建样本识别为所述参考样本;
确定所述当前重建数据块的均为所述第三颜色分量的对应于所述第二位置的所述参考样本与对应于所述第一位置的所述参考样本之间的增量度量;
基于所述增量度量从所述目标样本偏移滤波器提取样本偏移值;以及
使用所述样本偏移值对所述第二颜色分量的所述当前样本进行滤波,以生成所述当前样本的所述滤波重建样本。
17.根据权利要求1至7中任一项所述的方法,其中,
所述多个样本偏移滤波器是预定的;
以序列级别、图片级别或编码树单元级别用信号通知所述多个样本偏移滤波器和在所述多个样本偏移滤波器之中所选择的目标样本偏移滤波器的索引。
18.一种用于视频流的环路内滤波的装置,所述装置包括处理电路系统,所述处理电路系统被配置成:
获得与所述视频流的当前重建数据块中的至少第一颜色分量的重建样本相关联的至少一个统计属性;
基于所述至少一个统计属性在多个样本偏移滤波器之中选择目标样本偏移滤波器,所述目标样本偏移滤波器包括样本增量度量与样本偏移值之间的非线性映射;以及
使用所述目标样本偏移滤波器和所述当前重建数据块的第三颜色分量的参考样本对所述当前重建数据块的第二颜色分量的当前样本进行滤波,以生成所述当前样本的滤波重建样本。
19.一种用于视频流的环路内滤波的装置,所述装置包括被配置成执行权利要求2至7中任一项的处理电路系统。
20.一种用于存储计算机指令的非暂态计算机可读介质,所述计算机指令在由处理器执行时使所述处理器执行权利要求1至7中任一项。
CN202280003144.5A 2021-03-19 2022-01-28 用于视频流的环路内滤波的方法和装置 Active CN115606175B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US202163163707P 2021-03-19 2021-03-19
US63/163,707 2021-03-19
US17/568,565 2022-01-04
US17/568,565 US11683530B2 (en) 2021-03-19 2022-01-04 Adaptive non-linear mapping for sample offset
PCT/US2022/014255 WO2022197375A1 (en) 2021-03-19 2022-01-28 Adaptive non-linear mapping for sample offset

Publications (2)

Publication Number Publication Date
CN115606175A true CN115606175A (zh) 2023-01-13
CN115606175B CN115606175B (zh) 2024-06-25

Family

ID=83284306

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202280003144.5A Active CN115606175B (zh) 2021-03-19 2022-01-28 用于视频流的环路内滤波的方法和装置

Country Status (6)

Country Link
US (2) US11683530B2 (zh)
EP (1) EP4118822A4 (zh)
JP (2) JP7500757B2 (zh)
KR (1) KR20220165776A (zh)
CN (1) CN115606175B (zh)
WO (1) WO2022197375A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021107964A1 (en) * 2019-11-26 2021-06-03 Google Llc Vector quantization for prediction residual coding
US11818343B2 (en) * 2021-03-12 2023-11-14 Tencent America LLC Sample offset with predefined filters
US11997298B2 (en) * 2022-08-03 2024-05-28 Qualcomm Incorporated Systems and methods of video decoding with improved buffer storage and bandwidth efficiency
WO2024067188A1 (en) * 2022-09-28 2024-04-04 Mediatek Inc. Method and apparatus for adaptive loop filter with chroma classifiers by transpose indexes for video coding
US20240283926A1 (en) * 2023-02-21 2024-08-22 Tencent America LLC Adaptive Cross-Component Sample Offset Filtering Parameters

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170019685A1 (en) * 2014-04-23 2017-01-19 Sony Corporation Image processing apparatus and image processing method
WO2021040484A1 (ko) * 2019-08-29 2021-03-04 엘지전자 주식회사 크로스-컴포넌트 적응적 루프 필터링 기반 영상 코딩 장치 및 방법
US20210084340A1 (en) * 2019-09-16 2021-03-18 Tencent America LLC Method and apparatus for cross-component filtering

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017085496A (ja) * 2015-10-30 2017-05-18 キヤノン株式会社 動画像符号化装置及びその制御方法、コンピュータプログラム
EP3446480A1 (en) 2016-04-22 2019-02-27 VID SCALE, Inc. Prediction systems and methods for video coding based on filtering nearest neighboring pixels
US10645383B2 (en) 2018-05-31 2020-05-05 Intel Corporation Constrained directional enhancement filter selection for video coding
US10674151B2 (en) * 2018-07-30 2020-06-02 Intel Corporation Adaptive in-loop filtering for video coding
CN114009018A (zh) * 2019-06-24 2022-02-01 夏普株式会社 用于基于交叉分量相关性来减小视频编码中的重构误差的系统和方法
EP4029264A4 (en) * 2019-10-14 2022-11-23 ByteDance Inc. JOINT CODING OF CHROMINANCE RESIDUE AND FILTERING IN VIDEO PROCESSING
JP7485761B2 (ja) * 2019-10-29 2024-05-16 北京字節跳動網絡技術有限公司 クロスコンポーネント適応ループフィルタの信号通知
KR20220088427A (ko) * 2019-11-04 2022-06-27 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 교차 성분 적응적 루프 필터
WO2021104409A1 (en) * 2019-11-30 2021-06-03 Beijing Bytedance Network Technology Co., Ltd. Cross-component adaptive filtering and subblock coding
US20220279176A1 (en) * 2021-02-26 2022-09-01 Alibaba Group Holding Limited Directional cross component filter for video coding
US20230156185A1 (en) * 2021-11-15 2023-05-18 Tencent America LLC Generalized sample offset
EP4434226A1 (en) * 2021-11-17 2024-09-25 Tencent America LLC Adaptive application of generalized sample offset

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170019685A1 (en) * 2014-04-23 2017-01-19 Sony Corporation Image processing apparatus and image processing method
WO2021040484A1 (ko) * 2019-08-29 2021-03-04 엘지전자 주식회사 크로스-컴포넌트 적응적 루프 필터링 기반 영상 코딩 장치 및 방법
US20210084340A1 (en) * 2019-09-16 2021-03-18 Tencent America LLC Method and apparatus for cross-component filtering

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
HAN JINGNING ET AL等: "A Technical Overview of AV1", 《PROCEEDINGS OF THE IEEE》, 6 February 2021 (2021-02-06), pages 1435, XP011872733, DOI: 10.1109/JPROC.2021.3058584 *

Also Published As

Publication number Publication date
US20230224503A1 (en) 2023-07-13
JP2023521683A (ja) 2023-05-25
CN115606175B (zh) 2024-06-25
WO2022197375A1 (en) 2022-09-22
JP2024116223A (ja) 2024-08-27
US11683530B2 (en) 2023-06-20
JP7500757B2 (ja) 2024-06-17
EP4118822A4 (en) 2023-05-10
KR20220165776A (ko) 2022-12-15
WO2022197375A8 (en) 2023-01-05
EP4118822A1 (en) 2023-01-18
US20220303586A1 (en) 2022-09-22

Similar Documents

Publication Publication Date Title
CN115606175B (zh) 用于视频流的环路内滤波的方法和装置
JP7498294B2 (ja) 所定のフィルタによるサンプルオフセット
CN113301333A (zh) 视频解码的方法和装置
CN113259661A (zh) 视频解码的方法和装置
JP7486595B2 (ja) ビデオフィルタリングのための方法及び装置
JP7434588B2 (ja) ビデオ・フィルタリングのための方法および装置
CN114747212A (zh) 用于视频滤波中的偏移的方法和设备
JP2024111192A (ja) ビデオ符号化における境界処理のための方法、装置及びプログラム
KR20220112852A (ko) 비디오 코딩 방법 및 장치
JP2024019652A (ja) ビデオフィルタリングのための方法および装置
CN115398899B (zh) 视频滤波的方法、装置和计算设备
US11706461B2 (en) Method and apparatus for video coding
CN115398899A (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
GR01 Patent grant
GR01 Patent grant