CN117256139A - 视频编解码中的导向滤波器 - Google Patents

视频编解码中的导向滤波器 Download PDF

Info

Publication number
CN117256139A
CN117256139A CN202280028018.5A CN202280028018A CN117256139A CN 117256139 A CN117256139 A CN 117256139A CN 202280028018 A CN202280028018 A CN 202280028018A CN 117256139 A CN117256139 A CN 117256139A
Authority
CN
China
Prior art keywords
video
unit
filter
window
samples
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
CN202280028018.5A
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.)
Douyin Vision Co Ltd
ByteDance Inc
Original Assignee
Douyin Vision Co Ltd
ByteDance Inc
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 Douyin Vision Co Ltd, ByteDance Inc filed Critical Douyin Vision Co Ltd
Publication of CN117256139A publication Critical patent/CN117256139A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
    • 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
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • 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/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
    • 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
    • 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

Landscapes

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

Abstract

公开了一种用于处理视频数据的机制。执行包括视频单元的可视媒体数据和比特流之间的转换。该转换可以由视频编码器和/或视频解码器来执行。重建视频单元,并且将导向滤波器应用于视频单元中的重建样点。

Description

视频编解码中的导向滤波器
相关申请的交叉引用
本专利申请要求Wenbin Yin等人于2021年4月12日提交的标题为“视频编解码中的导向滤波器”的国际申请No.PCT/CN2021/086534的权益,该国际申请通过参考并入本文。
技术领域
本专利文档涉及文件格式的数字音频视频媒体信息的生成、存储和消耗。
背景技术
数字视频在互联网和其他数字通信网络上占据着最大的带宽使用。随着能够接收和显示视频的连接用户设备数量的增加,预计数字视频使用的带宽需求将继续增长。
发明内容
第一方面涉及一种处理视频数据的方法,包括:执行包括视频单元的可视媒体数据和比特流之间的转换;以及将导向滤波器应用于视频单元中的重建样点。
可选地,在前述方面的任一方面中,该方面的另一实现方式提供视频单元包括颜色分量、序列、图片、子图片、条带、片、编解码树单元(CTU)、CTU行、编解码单元(CU)、预测单元(PU)、变换单元(TU)、编解码树块(CTB)、预测块(PB)、变换块(TB)或其组合。
可选地,在前述方面的任一方面中,该方面的另一实现方式提供导向滤波器包括窗口,并且其中,导向滤波器通过将统计计算应用于窗口中的重建样点来修改重建样点。
可选地,在前述方面的任一方面中,该方面的另一实现方式提供统计计算是窗口内的平均值、窗口内的方差、窗口内的梯度或其组合。
可选地,在前述方面的任一方面中,该方面的另一实现方式提供导向滤波器包括窗口形状,并且其中,窗口形状是正方形、矩形、十字形、菱形、对称形状、不对称形状或其组合。
可选地,在前述方面的任一方面中,该方面的另一实现方式提供导向滤波器包括滤波器形状,并且其中,滤波器形状是正方形、矩形、十字形、菱形、对称形状、不对称形状或其组合。
可选地,在前述方面的任一方面中,该方面的另一实现方式提供统计计算包括将窗口的加权平均值应用于窗口内的加权样点。
可选地,在前述方面的任一方面中,该方面的另一实现方式提供统计计算根据下式确定:
samplefilterted=a×samplecenter+b×meanwin
其中samplefilterted是滤波后的样点,a和b是权重,samplecenter是视频单元中的中心样点,meanwin是窗口内的平均值。
可选地,在前述方面的任一方面中,该方面的另一实现方式提供权重a和权重b根据下式确定:
b=T1-a
其中eps1是滤波强度参数,T1是权重控制参数,varwin是窗口内的方差。
可选地,在前述方面的任一方面中,该方面的另一实现方式提供权重a和权重b根据下式确定:
a=varwin/(varwin+eps2/tau2),以及
b=T2-a
其中varwin是窗口内的方差,e2是适应性参数,是varwin的平均值,eps2是滤波强度参数,T2是权重控制参数,并且tau2是权重参数。
可选地,在前述方面的任一方面中,该方面的另一实现方式提供权重a和权重b根据下式确定:
以及
b=T4-a
其中varwin是窗口内的方差,e3是适应性参数,是varwin的平均值,tau3是权重参数,eta3是滤波参数,k3是滤波强度参数,/>是varwin的最小值,gamma3是滤波参数,T3是滤波参数,eps3是滤波强度参数,T4是滤波参数。
可选地,在前述方面的任一方面中,该方面的另一实现方式提供varwin根据下式确定:
以及
其中Stotal是窗口内的样点的总数,meanwin是窗口内的平均值,corrwin是窗口内的方差,pi是窗口内所有样点的集合。
可选地,在前述方面的任一方面中,该方面的另一实现方式提供权重a和权重b根据下式进行细化:
其中arefine是细化的权重a,brefine是细化的权重b,Stotal是窗口内的样点的总数,ai和bi表示窗口内的对应样点。
可选地,在前述方面的任一方面中,该方面的另一实现方式提供统计计算根据下式确定:
其中samplefilterted是滤波后的样点,Ktotal是滤波器形状内的样点的总数,pj是滤波器形状内的位置j处的样点,是对应于pj的权重。
可选地,在前述方面的任一方面中,该方面的另一实现方式提供在应用导向滤波器之前填充视频单元,并且其中,填充是通过扩展函数、镜像函数或其组合来执行的。
可选地,在前述方面的任一方面中,该方面的另一实现方式提供在子块级别应用导向滤波器。
可选地,在前述方面的任一方面中,该方面的另一实现方式提供可视媒体数据包括包含视频单元的多个视频单元,并且其中,基于对应视频单元中的变换系数、对应视频单元中的颜色格式、对应视频单元中的量化参数、对应视频单元中的维度、对应视频单元中的样点的数量、对应视频单元中的预测信息、对应视频单元中的参考索引或其组合,针对每个视频单元允许或不允许导向滤波器。
可选地,在前述方面的任一方面中,该方面的另一实现方式提供比特流包括描述导向滤波器的使用的语法元素,语法元素位于序列标头、图片标头、序列参数集、视频参数集、解码参数集、解码能力信息、图片参数集、自适应参数集、条带标头、片组标头或其组合中。
可选地,在前述方面的任一方面中,该方面的另一实现方式提供比特流包括描述导向滤波器的使用的语法元素,语法元素位于预测块(PB)、变换块(TB)、编解码块(CB)、预测单元(PU)、变换单元(TU)、编解码单元(CU)、虚拟管道数据单元(VPDU)、编解码树单元(CTU)、CTU行、条带、片、子图片或其组合中。
可选地,在前述方面的任一方面中,该方面的另一实现方式提供可视媒体数据包括包含视频单元的多个视频单元,并且其中,基于对应视频单元的编解码信息,针对每个视频单元允许或不允许导向滤波器,编解码信息包括块尺寸、颜色格式、树分割、颜色分量、条带类型、图片类型或其组合。
可选地,在前述方面的任一方面中,该方面的另一实现方式提供转换包括将视频单元编码成比特流。
可选地,在前述方面的任一方面中,该方面的另一实现方式提供转换包括从比特流中解码视频单元。
第二方面涉及一种非暂时性计算机可读介质,其包括供视频编解码设备使用的计算机程序产品,计算机程序产品包括存储在非暂时性计算机可读介质上的计算机可执行指令,使得计算机可执行指令在由处理器执行时使视频编解码设备执行前述方面中任一方面的方法。
第三方面涉及一种处理视频数据的装置,包括:处理器;以及其上具有指令的非暂时性存储器,其中指令在由处理器执行时使处理器执行前述方面中任一方面的方法。
第四方面涉及一种存储视频的比特流的非暂时性计算机可读记录介质,所述比特流由视频处理装置执行的方法生成,其中,方法包括:确定将导向滤波器应用于视频单元中的重建样点;以及基于确定生成比特流。
第五方面涉及一种存储视频的比特流的方法,包括:确定将导向滤波器应用于视频单元中的重建样点;基于确定生成比特流;以及将比特流存储在非暂时性计算机可读记录介质中。
为清晰起见,任何一个前述实施例可与任何一个或多个其他前述实施例组合,以在本公开的范围内形成新的实施例。
从以下结合附图和权利要求的详细说明中,可更清楚地理解这些和其他特征。
附图说明
为了结合附图和详细说明来更全面地理解本公开内容,现进行以下简要说明作为参考,附图中相同的参考数字代表相同的部件。
图1为色度抽样的示例的示意图。
图2为示例帧内预测模式的示意图。
图3为应用于视频单元中样点的示例导向滤波器的示意图。
图4为结合环路滤波应用的示例导向滤波器的示意图。
图5为镜像填充的示例机制的示意图。
图6为扩展填充的示例机制的示意图。
图7为显示示例视频处理系统的框图。
图8为示例视频处理装置的框图。
图9为视频处理的示例方法的流程图。
图10为图示示例视频编解码系统的框图。
图11为图示示例编码器的框图。
图12为图示示例解码器的框图。
图13为示例编码器的示意图。
具体实施方式
首先应理解,尽管下文提供了一个或多个实施例的说明性实现方式,但可使用任何数量的技术实现所公开的系统和/或方法,无论是当前已知的还是待开发的。本公开不应以任何方式限于以下示出的示例性实现方式、附图和技术,包括在此示出和描述的示例性设计和实现方式,而是可以在所附权利要求及其等效的全部范围内进行修改。
本专利文档涉及视频编解码技术。具体而言,本文档涉及图像/视频编解码中的环路滤波器和其他编解码工具。本文讨论的概念可以单独或以各种组合应用于任何视频编解码标准和/或视频编解码器,例如高效视频编解码(HEVC)和多功能视频编解码(VVC)。
本公开包括以下缩写:自适应颜色变换(ACT),编解码图片缓冲器(CPB),清除随机访问(CRA),编解码树单元(CTU),编解码单元(CU),编解码视频序列(CVS),解码图片缓冲器(DPB),解码参数集(DPS),通用约束信息(GCI),高效视频编解码(HEVC)(也称为Rec.ITU-TH.265|ISO/IEC 23008-2),联合探索模型(JEM),运动约束片集(MCTS),网络抽象层(NAL),输出层集(OLS),图片标头(PH),图片参数集(PPS),档次、层和级别(PTL),预测单元(PU),参考图片重采样(RPR),原始字节序列载荷(RBSP),补充增强信息(SEI),条带标头(SH),序列参数集(SPS),视频编解码层(VCL),视频参数集(VPS),视频可用性信息(VUI),以及多功能视频编码(VVC)(也称为Rec.ITU-T H.266|ISO/IEC 23090-3),VVC测试模型(VTM),变换单元(TU),编解码单元(CU),去块滤波器(DF),样点自适应偏移(SAO),自适应环路滤波器(ALF),编解码块标志(CBF),量化参数(QP)和率失真优化(RDO)。
视频编解码标准主要是随着国际电信联盟(ITU)电信标准化部门(ITU-T)和ISO/国际电工委员会(IEC)标准的发展而演变的。ITU-T制定了H.261和H.263,ISO/IEC制定了运动图片专家组(MPEG)-1和MPEG-4视频,并且这两个组织联合制定了H.262/MPEG-2视频和H.264/MPEG-4高级视频编解码(AVC)和H.265/HEVC标准。自H.262以来,视频编解码标准是基于利用了时域预测加变换编解码的混合视频编解码结构。为了进一步探索HEVC之外的视频编解码技术,视频编解码专家组(VCEG)和MPEG联合成立了联合视频探索团队(JVET)。JVET采用了许多方法,并将其输入到名为联合勘探模型(JEM)的参考软件中。JVET发起了一个编解码标准,目标是相比HEVC降低50%比特率。该标准被命名为多功能视频编解码(VVC),并与VVC测试模型相关联。随着VVC标准化的不断努力,VVC不断更新附加技术。VVC工作草案和测试模型VTM也随之被相应地更新。
接下来讨论颜色空间和色度抽样。颜色空间也称为颜色模型(或颜色系统),颜色空间是一种将颜色的范围描述为数字元组的数学模型,例如3或4个值或颜色分量(例如,红色、绿色和蓝色)。颜色空间可以被看作是坐标系和子空间的细化。对于视频压缩,大多数视频编解码器采用亮度、蓝差色度、红差色度(YCbCr)颜色空间以及红色、绿色、蓝色(RGB)颜色空间。YCbCr、Y′CbCr、Y平行蓝色(Pb)平行红色(Pr)和Y’PbPr(也称为YCBCR或Y'CBCR)是一系列颜色空间,用作视频和数字摄影系统中彩色图像管道的一部分。Y′是亮度分量,Cb是蓝差色度分量,Cr是红差色度分量。Y′(带撇)和Y不同,Y是亮度,表示基于伽马校正的RGB原色而非线性编码的光强度。
色度抽样是一种通过对色度信息实施比对亮度信息更低的分辨率来对图像进行编码的做法,其利用了人类视觉系统对色差的敏感度低于对亮度的敏感度。在4:4:4分量格式中,三个Y'CbCr分量中的每一个都具有相同的采样率,因此没有色度抽样。这种方案有时用于高端胶片扫描仪和电影后期制作。
图1为色度抽样的示例的示意图100。在4:2:2分量格式中,两个色度分量以亮度采样速率的一半进行采样。具体来说,水平色度分辨率减半,而垂直色度分辨率不变。这将未压缩视频信令的带宽减少了三分之一,但几乎没有视觉差异。4:2:2颜色格式的标称垂直和水平位置的示例是示意图100。示意图100描绘了图片中4:2:2亮度和色度样点的标称垂直和水平位置。
在4:2:0格式中,水平采样比4:1:1翻倍,但由于Cb和Cr通道仅在此方案中的每条交替线上采样,因此垂直分辨率减半。因此数据速率是相同的。Cb和Cr各自水平地和垂直地以因子2进行子采样。4:2:0方案有三种变体,具有不同的水平和垂直定位。在MPEG版本二(MPEG-2)中,Cb和Cr是水平共位的。在该方案中,Cb和Cr位于垂直方向的像素之间(相间地定位)。
在联合摄影专家组(JPEG)、JPEG文件交换格式(JFIF)、H.261和MPEG-1中,Cb和Cr在交替亮度样点之间相间地定位。在4:2:0数字视频(DV)中,Cb和Cr在水平方向上共位。在垂直方向上,它们共同位于交替线上。
如表1所示,色度抽样宽度(SubWidthC)和色度抽样高度(SubHeightC)的值从色度格式标识码(chroma_format_idc)和单独的颜色平面标志(separate_colour_plane_flag)中导出。现在讨论示例视频编解码器的编解码流程。
表1
chroma_format_idc separate_colour_plane_flag 色度格式 SubWidthC SubHeightC
0 0 单色 1 1
1 0 4:2:0 2 2
2 0 4:2:2 2 1
3 0 4:4:4 1 1
3 1 4:4:4 1 1
现在参考图13,图13示出了在VVC中使用的编码器4600的示例。VVC包括三个环路滤波模块:去块滤波器(DF)、样点自适应偏移(SAO)和ALF。DF使用预定义的滤波器。SAO和ALF利用当前图片的原始样点来减小原始样点和重建样点之间的均方误差。两者分别通过添加偏移和通过应用有限脉冲响应(FIR)滤波器来实现这一点。偏移和滤波器系数的编解码边信息信令通知也被采用。ALF位于每个图片的最后一个处理阶段,可以被视为捕捉和修复由前一个阶段创建的伪影的工具。
图2为示例帧内预测模式的示意图200。现在讨论帧内预测。为了捕捉自然视频中呈现的任意边缘方向,方向帧内模式的数量从HEVC中的33个扩展到VVC中的65个。这些密集的方向帧内预测模式适用于所有块尺寸以及亮度和色度帧内预测。如示意图200所示,角度帧内预测方向被定义为在顺时针方向上的从45度到负135度(-135度)。在VTM中,对于非正方形块,几个角度帧内预测模式被自适应地替换为广角帧内预测模式。被更换的模式被信令通知,并在解析后被重新映射到广角模式的索引。帧内预测模式的总数不变,仍为67种。帧内模式编解码也不变。
在HEVC中,每个帧内编解码块具有正方形形状,并且每条边的长度是二的幂。因此,不使用除法运算来生成使用直流(DC)模式的帧内预测器。在VVC中,块可以具有矩形形状,这使得在一般情况下对每个块使用除法运算成为必要。为了避免DC预测的除法运算,只有较长的一边用于计算非正方形块的平均值。
对于每个帧间预测的CU,包括运动矢量、参考图片索引、参考图片列表使用索引和附加信息的运动参数被用于VVC中的帧间预测样点生成。运动参数可以以显式或隐式的方式被信令通知。当用跳过模式对CU进行编解码时,CU与一个PU相关联,并且没有显著的残差系数,没有编解码运动矢量增量,没有参考图片索引。规定merge模式,由此从相邻CU获得当前CU的运动参数。这包括空域和时域候选,以及在VVC中引入的附加时间表。merge模式可以应用于任何帧间预测的CU,不仅仅用于跳过模式。merge模式的替代方案是运动参数的显式传输。在这种情况下,对于每个CU,运动矢量、每个参考图片列表的对应参考图片索引、参考图片列表使用标志和其他信息被显式地信令通知。
现在讨论去块滤波器。去块滤波是视频编解码器中的环路滤波器。在VVC中,去块滤波过程应用于CU边界、变换子块边界和预测子块边界。预测子块边界包括由基于子块的时域运动矢量预测(SbTMVP)和仿射模式引入的预测单元边界。变换子块边界包括由子块变换(SBT)和帧内子分割(ISP)模式引入的变换单元边界,以及由大CU的隐式划分引起的变换。去块滤波器的处理顺序被定义为首先对整个图片的垂直边缘进行水平滤波,然后对水平边缘进行垂直滤波。这种特定的顺序使得多个水平滤波或垂直滤波过程能够被应用在并行线程中。这种滤波仍然可以在逐个CTB的基础上实现,并且只有很小的处理延迟。
现在讨论SAO滤波器。通过使用编码器为每个CTB规定的偏移,将SAO应用于去块滤波器之后的重建信号。视频编码器首先作出是否对当前条带应用SAO过程的决定。如果对该条带应用SAO,每个CTB被分类为五种SAO类型中的一种类型,如表2所示。SAO用于将像素分类,并通过向每个类别的像素添加偏移来减少失真。SAO操作包括边缘偏移(EO),EO使用边缘属性进行SAO类型1到4中的像素分类。SAO还包括带偏移(BO),BO使用像素强度进行SAO类型5中的像素分类。每个适用的CTB具有SAO参数,该SAO参数包括SAO merge左标志(sao_merge_left_flag)、SAO merge上标志(sao_merge_up_flag)、SAO类型和四个偏移。如果sao_merge_left_flag等于1,则当前CTB重新使用左边的CTB的SAO类型和偏移。如果sao_merge_up_flag等于1,则当前CTB重新使用上方的CTB的SAO类型和偏移。表2是SAO类型的规格。
表2
SAO类型 要使用的样点自适应偏移类型 分类的数量
0 0
1 1-D 0度图案边缘偏移 4
2 1-D 90度图案边缘偏移 4
3 1-D 135度图案边缘偏移 4
4 1-D 45度图案边缘偏移 4
5 带偏移 4
现在讨论自适应环路滤波器。用于视频编解码的自适应环路滤波用于通过使用基于Wiener的自适应滤波器来最小化原始样点和解码样点之间的均方误差。ALF位于每个图片的最后一个处理阶段,并且可以被视为捕捉和校正来自前一个阶段的伪影的工具。合适的滤波器系数由编码器确定,并显式地信令通知给解码器。为了实现更好的编解码效率,特别是对于高分辨率视频,通过对图片中的不同区域或块应用不同的滤波器,对亮度信令使用局部自适应。除了滤波器自适应之外,编解码树单元(CTU)级别的滤波器开/关控制也有助于提高编解码效率。从语法角度来看,滤波器系数在称为自适应参数集的图片级别标头中发送。CTU的滤波器开/关标志在条带数据中以CTU级别交错。这种语法设计不仅支持图片级别优化,而且实现了低编码延迟。
现在讨论双边图像滤波器。双边图像滤波器是非线性滤波器,其在保留边缘结构的同时平滑噪声。双边滤波是使滤波器权重不仅随着样点之间的距离减小,而且随着强度差的增加而减小的技术。这样,可以改善边缘的过度平滑。权重定义为
其中Δx和Δy是垂直距离和水平距离,ΔI是样点之间的强度差。保边去噪双边滤波器对域滤波器(domain filter)和范围滤波器(range filter)都采用低通高斯滤波器。域低通高斯滤波器对空间上与中心像素靠近的像素赋予更高的权重。范围低通高斯滤波器对与中心像素相似的像素赋予更高的权重。结合范围滤波器和域滤波器,在边缘像素处的双边滤波器变成沿着边缘定向并且在梯度方向上大大减小的拉长的高斯滤波器。因此,双边滤波器可以平滑噪声,同时保留边缘结构。
现在讨论视频编解码中的双边滤波器。双边滤波器充当与样点自适应偏移(SAO)滤波器并行的环路滤波器。双边滤波器和SAO都作用于相同的输入样点。每个滤波器产生偏移。然后,这些偏移被添加到输入样点中,以产生输出样点,该输出样点在剪裁后进入下一阶段。空域滤波强度σd由块尺寸决定,块越小,滤波越强。强度滤波强度σr由量化参数决定。更强的滤波用于更高的QP。仅有四个最接近的样点被使用,因此滤波后的样点强度IF可计算如下:
其中,IC表示中心样点的强度,ΔIA=IA-IC表示中心样点和上方样点之间的强度差,ΔIB,ΔIL和ΔIR分别表示中心样点和下方样点之间的强度差、中心样点和左边样点之间的强度差以及中心样点和右边样点之间的强度差。
现在讨论导向图像滤波器。导向图像滤波器(GIF)是全局优化图像滤波器,用于保边图像平滑和图像细节增强。从局部线性模型导出的导向滤波器通过考虑导向图像的内容来计算滤波输出。导向图像可以是输入图像本身或者另一个不同的图像。导向滤波器可以像双边滤波器一样用作保边平滑算子,但是导向滤波器在边缘附近具有更好的行为。导向滤波器也是平滑之外的更通用的概念。导向滤波器可以将导向图像的结构传输到滤波输出。这允许附加的滤波应用,如去雾和导向羽化。导向滤波器具有快速且非近似的线性时间算法,无论核尺寸和强度范围如何都可以应用该算法。导向滤波器在各种计算机视觉和计算机图形应用中既有效又高效,包括边缘感知平滑、细节增强、高动态范围(HDR)压缩、图像遮片/羽化、去雾、联合上采样等。
几种基于导向图像滤波器的图像滤波方案可进一步提高全局图像平滑的性能。例如,权重导向图像滤波器(WGIF)可以减少导向图像滤波器(GIF)的光晕伪影。边缘感知因子被引入到GIF的约束项中。该因子可以更好地保留结果图像中的边缘,从而减少光晕伪影。在梯度域导向图像滤波器(GGIF)中,梯度域导向图像滤波器结合了显式一阶边缘感知约束。GGIF基于局部优化,成本函数由零阶数据保真度项和一阶正则化项组成。正则化项包括显式边缘感知约束,其不同于GIF和WGIF两者中的正则化项。
以下是通过公开的技术方案解决的示例技术问题。环路滤波器的设计导致重建视频单元需要进一步平滑。这是因为示例环路滤波器并未完全移除由变换和量化引起的振铃伪影。
本文公开了解决上面列出的一个或多个问题的机制。例如,本公开包括可以移除环路滤波器遗漏的振铃伪影的导向滤波器。导向滤波器可以应用在环路滤波器中的各个位置。在其他示例中,导向滤波器可以作为样点重建过程(在环路滤波之前)和/或在后处理期间(在环路滤波完成之后)的一部分被应用。滤波器可以对样点应用窗口。然后,滤波器可以确定窗口内的平均值。将权重应用于要滤波的样点,将权重应用于窗口内的平均值,以及将加权平均值应用于加权样点。还公开了用于计算权重的各种机制。在一些示例中,可以将窗口内的样点和/或视频单元分类成不同的组,并且可以将不同的滤波参数(例如,权重)应用于每个组。分类可以基于窗口内的例如平均值、方差、梯度等统计数据来执行。因此,滤波器可以采用窗口和滤波器形状,窗口用于分类样点,滤波器形状用于将滤波器应用于那些样点。当不采用分组时,窗口和滤波器形状可以是相同的,而当采用分组时,窗口和滤波器形状可以是不同的区域。可以在应用导向滤波器之前填充视频单元。导向滤波器和/或导向滤波器窗口的尺寸和形状可以被预定义、即时导出或信令通知。基于各种条件,导向滤波器可以被允许应用或不被允许应用。此外,可以在比特流的各个级别信令通知与导向滤波器相关的语法。这里描述了这些和其他方面。
图3是应用于视频单元中的样点310的示例导向滤波器的示意图300。样点310是像素值。视频编解码过程将像素值划分成颜色空间,例如YCrCb和/或RGB。因此,取决于上下文,样点310可包括来自像素的亮度分量(光值)、像素的色度分量(颜色值)或两者。样点310可被分割成各种视频单元,例如序列、图片、子图片、条带、片、编解码树单元(CTU)、CTU行、编解码单元(CU)、预测单元(PU)、变换单元(TU)、编解码树块(CTB)、预测块(PB)、变换块(TB)和/或任何前述的颜色分量。例如,样点310可以被划分成CTU,这些CTU可以被分割成块,可以是包括CU、PU、PB、TB、TU等的通用术语。然后,参考一个或多个参考块,通过帧内预测和/或帧间预测对每个当前块进行编解码。预测过程不对参考块和当前块之间的任何差进行编解码。这种差被称为残差。可以应用变换来压缩残差。此外,残差可以被量化,这进一步压缩了残差,但是丢失了数据。然后,在编码器处,这些块被解码和重建以用作后续图片的参考块。在解码器处,这些块被解码和重建以供显示。在任一情况下,基于块的编解码方案经常产生伪影,这些伪影是重建样点310时样点值中的错误。可以应用滤波器来减轻这种伪影。例如,滤波器可以被设计成调整样点310的值,以便抵消预期的和/或观察到的编解码错误。例如,可以一致地应用滤波器于所有样点和/或可以在某些条件发生时应用滤波器。在另一示例中,编码器可重建视频单元,检查视频单元的错误,确定应用滤波器,然后经由比特流向解码器信令通知滤波器的使用。
本公开具体涉及导向滤波器。导向滤波器旨在解决由变换和量化过程产生的振铃伪影。该振铃伪影是出现在转变点(例如块边缘)的错误信令。振铃伪影可能作为沿着块边缘的额外带出现。额外带是真实边缘的回声。导向滤波器将计算应用于样点310以校正这种伪影。
导向滤波器可以包括滤波器窗口314和滤波器312。滤波器窗口314指示滤波器在执行计算时考虑的所有样点310。滤波器312指示应用计算的所有样点310。在一些示例中,滤波器窗口314比滤波器312覆盖更多的样点。在其他情况下,滤波器窗口314覆盖与滤波器312相同的样点集310。例如,滤波器窗口314可用于创建含有不同视频单元和/或含有不同样点310的多个组。滤波器312然后可以被应用于窗口314中的每个组,但是每个组可以采用不同的滤波参数。可基于与视频单元和/或样点310相关的各种统计信息来分配这些组。例如,可基于视频单元平均值、视频单元方差、视频单元统计与类别索引或其它阈值的比较、视频单元的宽度和/或高度、窗口314内的样点310的平均值、窗口314内的方差、窗口314内的梯度(最小值、最大值或平均值)等将视频单元和/或样点310分配到组。在另一个示例中,单个组被使用,在这种情况下,滤波器312和滤波器窗口312具有相同的尺寸,并且覆盖样点310的样点集。
在示例中,可基于根据下式确定的单元平均值将视频单元分类为组:
S=wunit×hunit
其中pi是位于视频单元内i位置处的样点,s是视频单元尺寸,wunit和hunit分别代表视频单元的宽度和高度,并且meanunit是单元平均值。
在示例中,可基于根据下式确定的单元方差将视频单元分类为组:
其中pi是位于视频单元内i位置处的样点,s是视频单元尺寸,corrunit和meanunit分别代表单元对应和平均单元值,并且varunit是单元方差。
在示例中,可基于根据下式确定的固定阈值将视频单元分类为组:
其中0≤indexunit,infounit代表对应的统计信息,并且Tblock_class是阈值。
在示例中,可基于根据下式确定的多个固定阈值将视频单元分类为组:
indexunit=0when(0≤infounit<T1)
indexunit=Nunit-2when(TN-2≤infounit<TN-1)
indexunit=Nunit-1when(TN-1≤infounit)
其中0≤indexunit<Nunit,infounit代表对应的统计信息,并且TN是一系列N个阈值。
为简单起见,滤波器312和滤波器窗口314被描绘为矩形,但是也可以采用其他形状,例如正方形、十字形、菱形、对称形状、不对称形状或其组合。滤波器312通过对滤波器312和/或滤波器窗口314内的样点310应用统计计算来修改样点310。在示例中,统计计算可以包括通过将权重应用于窗口314中心处的样点310、将权重应用于窗口314中的样点310的平均值、以及将加权样点添加到加权平均值来确定滤波器样点。
例如,统计计算可以根据下式来确定:
samplefilterted=a×samplecenter+b×meanwin
其中samplefilterted是滤波后的样点,a和b是权重,samplecenter是视频单元中的中心样点,并且meanwin是窗口内的平均值。权重a和b可以通过采用几种不同的机制来计算。
在示例中,权重a和权重b根据下式确定:
b=T1-a
其中eps1是滤波强度参数,T1是权重控制参数,并且varwin是窗口内的方差。
在另一个示例中,权重a和权重b根据下式确定:
a=varwin/(varwin+eps2/tau2),以及
b=T2-a
其中varwin是窗口内的方差,e2是适应性参数,是varwin的平均值,eps2是滤波强度参数,T2是权重控制参数,并且tau2是权重参数。
在另一个示例中,权重a和权重b根据下式确定:
以及
b=T4-a
其中varwin是窗口内的方差,e3是适应性参数,是varwin的平均值,tau3是权重参数,eta3是滤波参数,k3是滤波强度参数,/>是varwin的最小值,gamma3是滤波参数,T3是滤波参数,eps3是滤波强度参数,并且T4是滤波参数。
在示例中,varwin根据下式确定:
以及
其中Stotal是窗口内的样点的总数,meanwin是窗口内的平均值,corrwin是窗口内的方差,并且pi是窗口内所有样点的集合。
在示例中,权重a和权重b根据下式来细化:
其中arefine是细化权重a,brefine是细化权重b,Stotal是窗口内的样点的总数,并且ai和bi表示窗口内的对应样点。
在另一个示例中,统计计算根据下式确定:
其中samplefilterted是过滤后的样点,Ktotal是滤波器形状内的样点的总数,pj是滤波器形状内位置j处的样点,并且是对应于pj的权重。
应当注意,在一些示例中,样点310可以在未填充的状态下被滤波。在其他示例中,视频单元中的样点310可以在滤波之前被填充(将在下文讨论)。另外,可基于对应视频单元中的变换系数、对应视频单元中的颜色格式、对应视频单元中的量化参数、对应视频单元中的维度、对应视频单元中的样点的数量、对应视频单元中的预测信息、对应视频单元中的参考索引或其组合来允许或不允许对每个视频单元应用导向滤波器。
图4是结合环路滤波应用的示例导向滤波器420的示意图400。环路滤波器410可以包括去块滤波器(DF)412、样点自适应偏移(SAO)滤波器416、双边滤波器414和自适应环路滤波器(ALF)418。此类滤波器可以按照示意图400中所示的顺序应用于视频单元。例如,可以重建视频单元。在SAO滤波器416之前应用DF 412。双边滤波器414与SAO滤波器416并行应用。在SAO滤波器416之后应用ALF 418。DF 412、SAO滤波器416、双边滤波器414和ALF 418如上文所讨论。本公开提出了导向滤波器420,其可以如关于示意图300所讨论的那样操作。如图所示,导向滤波器420可以应用在环路滤波器410内的不同位置处。导向滤波器420也可以在应用环路滤波器410之前或在应用环路滤波器之后应用。导向滤波器420的可能位置表示为位置A-H。
在位置A,可以在环路滤波之前应用导向滤波器。例如,导向滤波器420可以在应用残差以创建重建样点之前被应用于预测结果。导向滤波器420也可以在位置B处作为环路滤波器410的一部分并且在DF 412之前被应用。导向滤波器420也可以应用在DF 412之后和SAO滤波器416之前的位置C。导向滤波器420也可以被应用在SAO滤波器416之后和ALF 418之前的位置D。导向滤波器420也可以被应用在ALF 418之后的位置E。导向滤波器420也可以被应用在位置G,其在DF 412之后,在双边滤波器414之前,并且与SAO滤波器416并行。导向滤波器420也可以被应用在位置H,其在双边滤波器414之后,与SAO滤波器416并行,并且在ALF 418之前。导向滤波器420也可以在位置E处作为环路滤波器410的一部分并且在ALF418之后被应用。此外,导向滤波器420也可以应用在环路滤波完成之后的位置F处。例如,在应用环路滤波器之后,可以在后处理阶段应用导向滤波器420。
为了解决上述问题和其他问题,公开了如下总结的方法。这些项目应该被认为是解释一般概念的示例,而不应该以狭隘的方式解释。此外,这些项目可以单独应用或以任何方式组合。
示例1
在一个示例中,除了VVC中使用的去块滤波器(DF)、样点自适应偏移滤波器(SAO)和自适应环路滤波器(ALF)之外,还采用导向滤波器来进一步修改视频单元的重建样点/像素。
在一个示例中,视频单元可指代颜色分量、序列、图片、子图片、条带、片、编解码树单元(CTU)、CTU行、CTU组、编解码单元(CU)、预测单元(PU)、变换单元(TU)、编解码树块(CTB)、编解码块(CB)、预测块(PB)、变换块(TB)和/或含有多于一个样点或像素的任何其它区域。在一个示例中,视频单元的重建样点/像素可取决于包括重建样点/像素的一个或多个区域、窗口和/或设计的滤波器形状的编解码信息。
在一个示例中,编解码/统计信息(例如,平均值、方差和/或块维度)可以用于由导向滤波器生成滤波后的样点和/或像素。在一个示例中,编解码和/或统计信息可以是窗口内的平均值。在一个示例中,窗口内的平均值可以计算如下:
其中Stotal代表窗口内的样点的总数。
在一个示例中,编解码和/或统计信息可以是窗口内的方差。在一个示例中,窗口内的方差可以计算如下:
以及
其中,meanwin是窗口内的平均值,并且Stotal是窗口内的样点的总数。
在一个示例中,编解码和/或统计信息可以是设计的滤波器形状内的平均值。在一个示例中,编解码和/或统计信息可以是设计的滤波器形状内的方差值。在一个示例中,编解码和/或统计信息可以是设计的滤波器形状内的梯度信息。在一个示例中,导向滤波器的窗口形状可以是正方形、菱形或其他形状。在一个示例中,窗口形状可以是正方形。在一个示例中,窗口形状可以是十字形。在一个示例中,窗口形状可以是菱形。在一个示例中,窗口形状可以是对称的。在一个示例中,窗口形状可以是不对称的。
在一个示例中,窗口形状的指示可以是信令通知的,或者是预定义的,或者是即时导出的。在一个示例中,导向滤波器的窗口尺寸可以是预定义的、信令通知的、即时导出的或者基于解码信息导出的。在一个示例中,导向滤波器的设计滤波器形状可以是正方形、菱形或其他形状。在一个示例中,滤波器形状可以是正方形。在一个示例中,滤波器形状可以是十字形。在一个示例中,滤波器形状可以是菱形。在一个示例中,滤波器形状可以是对称的。在一个示例中,滤波器形状可以是不对称的。在一个示例中,滤波器形状可以与窗口形状相同。在示例中,滤波器形状可以不同于窗口形状。在一个示例中,滤波器形状的指示可以是信令通知的、预定义的或即时导出的。
在一个示例中,设计的滤波器形状的尺寸可以是预定义的、信令通知的、即时导出的或者基于解码信息导出的。在一个示例中,样点或像素可以由导向滤波器利用编解码和/或统计信息来滤波和/或修改。在一个示例中,滤波结果可以作为要滤波的样点和窗口的平均值的函数来计算,如下:
samplefilterted=a×samplecenter+b×meanwin
其中samplecenter是窗口内的中心样点/像素,a和b是滤波中使用的两个权重(例如,samplecenter和samplefiltered可以在相同的位置)。
在一个示例中,滤波中使用的权重可以计算如下:
并且
b=T1-a
其中eps1(例如,eps1=50)是用于控制滤波强度的参数,并且T1(例如,T1=1)是用于控制权重的参数。
在一个示例中,滤波中使用的权重可以计算如下:
a=varwin/(varwin+eps2/tau2),以及
b=T2-a
其中eps2(例如,eps2=50)是用于控制滤波强度的参数,T2(例如,T2=1)是用于控制权重的参数,并且e2(例如,e2=10)是控制滤波器的适应性的参数。
在一个示例中,滤波中使用的权重可以计算如下:
以及
b=T4-a
其中eps3(例如,eps3=50)是用于控制滤波强度的参数,T3(例如,T3=1)和T4(例如,T4=1)是两个参数,e3(例如,e3=10)是控制滤波器的适应性的参数,并且k3(例如,k3=128)也是用于控制滤波强度的参数。知/>代表视频单元内所有窗口方差的平均值和最小值。
在一个示例中,参数可以被预定义、搜索、即时确定或在比特流中被信令通知。在一个示例中,可基于当前视频单元的编解码模式、尺寸或其它编解码信息来设置参数。在一个示例中,可将参数从编码器信令通知到解码器,例如以颜色分量、序列、图片、子图片、条带、片、CTU、CTU行、CTU的组、CU、PU、TU、CTB、CB、PB、变换块(TB)和/或含有多于一个样点或像素的任何其它区域的语法。
在一个示例中,上述系数a和b可以被细化如下:
以及
其中ai和bi是窗口内的特定系数,并且stotal是视频单元内的样点的总数。所使用的窗口可以与用于计算窗口方差和平均值的窗口具有相同的形状,也可以不具有相同的形状。
在一个示例中,滤波结果可以被计算为滤波器形状内的加权总和,如下所示:
其中Ktotal表示滤波器形状内的样点的总数,pj是位于滤波器形状内位置j的样点/像素,而表示对应的权重。
在一个示例中,可以基于滤波器形状内的梯度信息来计算权重。在一个示例中,可以基于滤波器形状内的方差来计算权重。在一个示例中,可以基于滤波器形状内的平均值来计算权重。在一个示例中,可以单独使用在窗口内生成的滤波结果和在滤波器形状内生成的滤波结果。在示例中,在窗口内生成的滤波结果和在滤波器形状内生成的滤波结果可以联合使用。在一个示例中,由导向滤波器滤波的样点可用于更新视频单元的重建样点和/或残差。
在一个示例中,可在滤波过程之前和/或之后填充视频单元。在一个示例中,视频单元可在边界位置处被填充Npad(例如,Npad=2)个样点。在一个示例中,是否填充和/或如何填充样点/像素可以取决于相邻样点/像素是否已经被解码。在一个示例中,当相邻样点/像素已经被解码时,可以使用解码的相邻样点/像素来填充相邻样点/像素。在示例中,当相邻样点/像素没有被解码时,可以使用预定义的值来填充。在一个示例中,可以使用扩展和/或镜像填充。在这种情况下,填充样点/像素来自当前视频单元,而不是来自相邻样点/像素。
图5是用于镜像填充的示例机制的示意图500。在图500中,圆圈描绘视频单元内的样点,正方形描绘视频单元外的填充样点。如图所示,视频单元外的填充样点b、c、d和e是基于视频单元内的样点b、c、d和e生成的。因此,在一个示例中,可通过如图500中所示的镜像函数来填充视频单元的边界样点。
图6是用于扩展填充的示例机制的示意图600。在图600中,圆圈描绘视频单元内的样点,正方形描绘视频单元外的填充样点。如图所示,视频单元外的填充样点b、c、d和e是基于视频单元内的样点b、c、d和e生成的。图500和图600之间的差在于,在图500中,样点围绕样点a镜像,而在图600中,样点从样点a的一侧复制,并以相同的顺序包括在样点a的另一侧上。因此,在示例中,视频单元的边界样点可以通过扩展函数来填充。
在示例中,填充样点可用于滤波过程。此外,由滤波过程滤波的样点可用于填充样点。
示例2
在一个示例中,导向滤波器中的滤波可以在子块级别执行。在一个示例中,平均值和方差可以由子块(例如,2×2/1×2/2×1)共享。在示例中,第一子块的滤波结果可用于对第二子块的样点进行滤波。在示例中,第一子块的未滤波样点可用于对第二子块的样点进行滤波。
示例3
在一个示例中,可以在视频编解码器编解码流程中的不同阶段执行导向滤波器。在一个示例中,导向滤波器可以用在环路滤波阶段。在一个示例中,导向滤波器可以在DF之前或之后执行。在一个示例中,导向滤波器可以在SAO滤波器之前或之后执行。在一个示例中,导向滤波器可以在ALF之前或之后执行。在一个示例中,导向滤波器可以在BF之前或之后执行。在一个示例中,导向滤波器可以在其他环路滤波器之前或之后执行。在一个示例中,导向滤波器可以被执行为在解码完成之后对样点/像素进行滤波的后处理滤波器。
在一个示例中,第一滤波阶段(例如,导向滤波器)可以相对于第二滤波过程(例如,SAO、ALF、BF或其他环路滤波器)独立地执行。例如,第一和第二滤波器可以被应用于相同的输入样点,产生第一偏移和第二偏移。可以基于第一和第二偏移两者来导出输出样点。输出样点可以被剪裁。输出样点可以由下一阶段进一步处理。在一个示例中,在解码器处生成重建样点之前,可以对预测样点应用导向滤波器。在一个示例中,导向滤波器可应用于编解码块的重建样点,其可用于预测后续样点或块。
示例4
在一个示例中,可将视频单元或样点分类为多个组,并且可以使用与组相关联的一个或多个参数。在一个示例中,较高级别视频区域内的视频单元可通过视频单元的编解码/统计信息(例如,平均值/方差/块维度)被分类成Nunit个组。在一个示例中,导向滤波器可在不同类别的视频单元上具有不同的参数。在一个示例中,视频单元的编解码和/或统计信息可用于视频单元分类中。在一个示例中,输入块的平均值可用于单元分类。例如,单元平均值可以通过下式计算
S=wunit×hunit
其中pi是位于视频单元内i位置的样点,wunit和hunit分别是视频单元的宽度和高度。
在一个示例中,视频单元的方差可用于单元分类。单元方差可通过下式计算:
在一个示例中,固定阈值Tunit_class(例如,Tunit_class=1024)可用于基于单元方差来计算视频单元的类别索引。单元平均值或其他统计信息如下:
其中0≤indexunit<Nunit,并且infounit是对应的统计信息。
在一个示例中,可使用一组阈值[T1,T2,...TN-1]来基于单元方差、单元平均值或其它统计信息对视频单元进行分类,如下:
indexunit=0 when(0≤infounit<T1)
indexunit=Nunit-2when(TN-2≤infounit<TN-1)
indexunit=Nunit-1when(TN-1≤infounit)
其中0≤indexunit<Nunit,并且infounit代表对应的统计信息。
在一个示例中,视频单元的宽度或高度可单独用于块分类。
在一个示例中,视频单元的宽度和高度可在块分类中联合使用。在一个示例中,视频单元可以是CTU、CTB、CU和/或CB。在一个示例中,较高级别的视频区域可以是条带、子图片、片、砖、图片和/或序列。在一个示例中,视频单元内的样点可被分类成Nsample个组。在一个示例中,导向滤波器可在视频单元中不同类别的样点上具有不同参数。在一个示例中,窗口内的编解码/统计信息可以用于样点/像素分类。在一个示例中,样点分类中使用的编解码/统计信息可以是窗口内的平均值。在一个示例中,样点分类中使用的编解码/统计信息可以是窗口内的方差。在一个示例中,样点分类中使用的编解码/统计信息可以是窗口内的梯度信息。在一个示例中,梯度信息可以是窗口内梯度的最小值。在一个示例中,梯度信息可以是窗口内梯度的最大值。在一个示例中,梯度信息可以是窗口内梯度的平均值。在一个示例中,窗口形状可以是正方形。在一个示例中,窗口形状可以是菱形。在一个示例中,窗口形状可以是十字形。在一个示例中,窗口形状可以是对称的。在一个示例中,窗口形状可以是不对称的。在一个示例中,视频单元可以是CTU、CTB、CU和/或CB。
示例5
在一个示例中,是否对视频单元或视频单元内的样点/像素应用导向滤波器和/或如何应用导向滤波器可取决于编解码信息或即时确定。在一个示例中,编解码信息可以是视频单元中的变换系数。在一个示例中,当视频单元具有一个或多个不等于0的变换系数级别时,例如当当前视频单元的编解码块标志(CBF)等于1时,可以应用导向滤波器。在一个示例中,当视频单元具有全零变换系数级别时,例如当当前视频单元的CBF等于0时,导向滤波器可以不被允许。在一个示例中,编解码信息可以是视频单元的颜色分量和/或颜色格式。在一个示例中,当当前视频单元的分量是YCbCr格式的Y、Cb和/或Cr时,可以应用导向滤波器。在一个示例中,当当前视频单元的分量是RGB格式的G、B和/或R时,可以应用导向滤波器。在一个示例中,编解码信息可以是QP。在一个示例中,当当前视频单元的QP大于TQP(例如,TQP=17)时,可以应用导向滤波器。
在一个示例中,编解码信息可以是视频单元的维度和/或尺寸。在一个示例中,当当前视频单元的宽度和高度的最小值小于或大于Tsize_min(例如,Tsize_min=32)时,可以应用导向滤波器。在一个示例中,当当前视频单元的宽度和高度的最大值小于或大于Tsize_max(例如,Tsize_max=128)时,可以应用导向滤波器。在一个示例中,当当前视频单元的宽度和高度均小于或大于Tsize_both(例如,Tsize_both=16)时,可以应用导向滤波器。在一个示例中,编解码信息可以是视频单元中的样点/像素的数量。在一个示例中,当视频单元内的样点数量乘以因子Fnum(例如,Fnum=1、2或4)大于或小于或等于Tnum(例如,Tnum=64)时,可以应用导向滤波器。在一个示例中,编解码信息可以是任何编解码模式或信息,例如帧间预测模式、帧内预测模式、merge标志、merge索引、仿射标志、运动矢量、参考索引等。在一个示例中,对于视频单元中的两个样点/像素,它们中的一个可以被导向滤波器滤波,而另一个不被导向滤波器滤波。
示例6
在一个示例中,是否使用和/或如何使用用于视频单元的导向滤波器可以使用一个或多个语法元素信令通知给解码器。在一个示例中,可以在VPS、SPS、PPS、图片、子图片、条带、片、条带组、片组、CTU、CU、PU、TU、CTB、CB、PB、TB和/或其他级别信令通知一个或多个语法元素。在一个示例中,可以向解码器侧信令通知条带级别语法元素。条带级别语法元素可以由RDO操作来确定。在示例中,条带级别语法元素可决定环路滤波器是否被应用于条带内的视频块。
在一个示例中,可以将CTU级别语法元素信令通知给解码器侧。CTU级别语法元素可以通过RDO操作来确定。CTU级别语法元素可决定环路滤波器是否应用于CTU内的视频块。在一个示例中,可以将CU级别语法元素信令通知给解码器侧。在一个示例中,CU级别语法元素可以通过RDO操作来确定。在一个示例中,CU级别语法元素可以在CU初始过程中被设置为假。在一个示例中,当当前CU的通道类型不等于亮度时,可不在编码器侧信令通知CU级别语法元素,且可在解码器侧将其设置为假。在一个示例中,当当前CU的QP小于阈值TCUQP(例如,TCUQP=17)时,可不在编码器侧信令通知CU级别语法元素,且可在解码器侧将其设置为假。在一个示例中,当当前CU的宽度和高度的最大值不小于阈值TCUmax(例如,TCUmax=128)时,可不在编码器侧信令通知CU级别语法元素,且可在解码器侧将其设置为假。在一个示例中,当当前CU的宽度和高度的最小值不小于阈值TCUmin(例如,TCUmin=32)时,可不在编码器侧信令通知CU级别语法元素,且可在解码器侧将其设置为假。在一个示例中,当当前CU的宽度和高度均不小于或不大于阈值TCUboth(例如,TCUboth=16)时,CU级别语法元素可不在编码器侧信令通知,且可在解码器侧将其设置为假。
在一个示例中,TU级别语法元素可以被信令通知给解码器侧。在一个示例中,TU级别语法元素可由RDO操作来确定。在一个示例中,TU级别语法元素可以在TU初始过程中被设置为假。在一个示例中,当当前TU的通道类型不等于亮度时,TU级别语法元素可不在编码器侧信令通知,且可在解码器侧设置为假。在一个示例中,当当前TU的QP小于阈值TTUQP(例如,TTUQP=17)时,TU级别语法元素可不在编码器侧信令通知,且可在解码器侧设置为假。在一个示例中,当当前TU的CBF等于假时,TU级别语法元素可以不在编码器侧信令通知,且可在解码器侧被设置为假。在一个示例中,当当前TU的宽度和高度的最大值不小于阈值TTUmax(例如,TTUmax=128)时,TU级别语法元素可不在编码器侧信令通知,且可在解码器侧设置为假。在一个示例中,当当前TU的宽度和高度的最小值不小于阈值TTUmin(例如,TTUmin=32)时,TU级别语法元素可不在编码器侧信令通知,且可在解码器侧设置为假。在一个示例中,当当前TU的宽度和高度均不小于或不大于阈值TTUboth(例如,TTUboth=16)时,TU级别语法元素可不在编码器侧信令通知,且可在解码器侧设置为假。在一个示例中,语法元素可以通过基于旁路的方法来编解码。在一个示例中,语法元素可以通过基于上下文的方法来编解码。
示例7
在一个示例中,可在序列级别、图片组级别、图片级别、条带级别和/或片组级别,例如在序列标头、图片标头、SPS、VPS、DPS、解码能力信息(DCI)、PPS、自适应参数集(APS)、条带标头和/或片组标头中信令通知是否和/或如何应用上述公开的方法。
示例8
在一个示例中,可在PB、TB、CB、PU、TU、CU、虚拟管道数据单元(VPDU)、CTU、CTU行、条带、片、子图片或包括多于一个样点或像素的其他区域信令通知是否和/或如何应用上述公开的方法。
示例9
在一个示例中,是否和/或如何应用上述公开的方法可取决于编解码信息,如块尺寸、颜色格式、单/双树分割、颜色分量、条带/图片类型。
图7是可实现本文中所公开的各种技术的示例视频处理系统4000的框图。各种实现方式可以包括系统4000中的一些或全部组件。系统4000可以包括用于接收视频内容的输入4002。视频内容可以以原始或未压缩的格式(例如8或10比特多分量像素值)接收,或者可以以压缩或编码的格式接收。输入4002可以代表网络接口、外围总线接口或存储接口。网络接口的示例包括有线接口(诸如以太网、无源光网络(PON)等)和无线接口(诸如Wi-Fi或蜂窝接口)。
系统4000可以包括可以实现本文档中描述的各种编解码或编码方法的编解码组件4004。编解码组件4004可以减少从输入4002到编解码组件4004的输出的视频的平均比特率,以产生视频的编解码表示。因此,编解码技术有时称为视频压缩或视频转码技术。编解码组件4004的输出可以被存储或经由所连接的通信来发送,如组件4006所表示的。在输入4002处接收的视频的存储或通信的比特流(或编解码)表示可以由组件4008使用,以生成被发送到显示接口4010的像素值或可显示视频。从比特流表示中生成用户可见的视频的过程有时称为视频解压缩。此外,尽管某些视频处理操作被称为“编解码”操作或工具,但是应当理解,在编码器处使用编码工具或操作,相应的解码工具或操作将由解码器执行,以反转编码的结果。
外围总线接口或显示接口的示例可以包括通用串行总线(USB)或高清晰度多媒体接口(HDMI)或显示端口等。存储接口的示例包括SATA(串行高级技术附件)、PCI、IDE接口等。本公开中描述的技术可以实施在各种电子设备中,诸如移动电话、笔记本电脑、智能电话或能够进行数字数据处理和/或视频显示的其它设备。
图8是视频处理装置4100的框图。装置4100可以用于实现本文中描述的一种或多种方法。装置4100可以位于智能电话、平板电脑、计算机、物联网(Internet of Things,IoT)接收器等中。装置4100可以包括一个或多个处理器4102、一个或多个存储器4104和视频处理电路4106。(多个)处理器4102可以被配置为实现本公开中描述的一个或多个方法。(多个)存储器4104可以用于存储数据和代码,该代码用于实现本文所描述的方法和技术。视频处理电路4106可以用于在硬件电路中实现本文档中所描述的一些技术。在一些实施例中,视频处理电路4106可以至少部分地包括在处理器4102中,例如图形处理器。
图9是视频处理的示例方法4200的流程图。方法4200包括在步骤4202执行包括视频单元的可视媒体数据和比特流之间的转换。当在编码器上执行方法4200时,转换包括根据可视媒体数据生成比特流。该转换包括将视频单元编码成比特流。编码到比特流中的视频单元然后被重建以用作用于编码后续视频单元的参考视频单元。当方法4200在解码器上执行时,转换包括解析和解码比特流以获得可视媒体数据中的视频单元。在任一情况下,在步骤4204,将导向滤波器应用于视频单元中的重建样点。在示例中,视频单元包括颜色分量、序列、图片、子图片、条带、片、编解码树单元(CTU)、CTU行、编解码单元(CU)、预测单元(PU)、变换单元(TU)、编解码树块(CTB)、预测块(PB)、变换块(TB)或其组合。
在示例中,步骤4204的导向滤波器包括窗口。导向滤波器通过对窗口中的重建样点应用统计计算来修改重建样点。在示例中,导向滤波器包括窗口形状。窗口形状可以是正方形、矩形、十字形、菱形、对称形状、不对称形状或其组合。在示例中,导向滤波器包括滤波器形状。滤波器形状可以是正方形、矩形、十字形、菱形、对称形状、不对称形状或其组合。该窗口可用于将样点和/或视频单元分类为组。滤波器形状可用于应用统计计算。因此,窗口可以包括滤波器形状和/或可以包括与滤波器形状相同的边界。这样,窗口和滤波器形状可以具有相同或不同的形状。
在示例中,统计计算是窗口内的平均值、窗口内的方差、窗口内的梯度或其组合。例如,统计计算可以包括将窗口的加权平均值应用于窗口内的加权样点。在具体的示例中,统计计算根据下式确定:
samplefilterted=a×samplecenter+b×meanwin
其中samplefilterted是滤波后的样点,a和b是权重,samplecenter是视频单元中的中心样点,并且meanwin是窗口内的平均值。
在示例中,权重a和权重b根据下式确定:
b=T1-a
其中eps1是滤波强度参数,T1是权重控制参数,并且varwin是窗口内的方差。
在示例中,权重a和权重b根据下式确定:
a=varwin/(varwin+eps2/tau2),以及
b=T2-a
其中varwin是窗口内的方差,e2是适应性参数,是varwin的平均值,eps2是滤波强度参数,T2是权重控制参数,并且tau2是权重参数。
在一个示例中,权重a和权重b根据下式确定:
/>
以及
b=T4-a
其中varwin是窗口内的方差,e3是适应性参数,是varwin的平均值,tau3是权重参数,eta3是滤波参数,k3是滤波强度参数,/>是varwin的最小值,gamma3是滤波参数,T3是滤波参数,eps3是滤波强度参数,并且T4是滤波参数。
在示例中,var_win根据下式确定:
以及
其中Stotal是窗口内的样点的总数,meanwin是窗口内的平均值,corrwin是窗口内的方差,并且pi是窗口内所有样点的集合。
在示例中,权重a和权重b根据下式进行细化:
其中arefine是细化的权重a,brefine是细化的权重b,Stotal是窗口内的样点的总数,并且ai和bi表示窗口内的对应样点。
在一个示例中,统计计算根据下式来确定:
其中samplefilterted是滤波后的样点,Ktotal是滤波器形状内的样点的总数,pj是滤波器形状内的位置j处的样点,并且是对应于pj的权重。
在示例中,在应用导向滤波器之前填充视频单元。填充是可以通过扩展函数、镜像函数或其组合来执行的。在示例中,在子块级别应用导向滤波器。在示例中,可视媒体数据包括包含视频单元的多个视频单元。基于对应视频单元中的变换系数、对应视频单元中的颜色格式、对应视频单元中的量化参数、对应视频单元中的维度、对应视频单元中的样点的数量、对应视频单元中的预测信息、对应视频单元中的参考索引或其组合,可以针对每个视频单元允许或不允许导向滤波器。在示例中,基于对应视频单元的编解码信息,针对每个视频单元允许或不允许导向滤波器,编解码信息包括块尺寸、颜色格式、树分割、颜色分量、条带类型、图片类型或其组合。
在示例中,比特流包括描述导向滤波器的使用的语法元素。语法元素可以位于序列标头、图片标头、序列参数集、视频参数集、解码参数集、解码能力信息、图片参数集、自适应参数集、条带标头、片组标头或其组合中。在示例中,语法元素位于预测块(PB)、变换块(TB)、编解码块(CB)、预测单元(PU)、变换单元(TU)、编解码单元(CU)、虚拟管道数据单元(VPDU)、编解码树单元(CTU)、CTU行、条带、片、子图片或其组合中。
应注意,方法4200可在用于处理视频数据的装置中实现,该装置包括处理器和其上具有指令的非暂时性存储器,例如视频编码器4400、视频解码器4500和/或编码器4600。在这种情况下,指令在由处理器执行时使得处理器执行方法4200。此外,方法4200可以由包括供视频编解码设备使用的计算机程序产品的非暂时性计算机可读介质来执行。该计算机程序产品包括存储在非暂时性计算机可读介质上的计算机可执行指令,使得该指令在由处理器执行时使得视频编解码设备执行方法4200。
图10是示出可利用本公开的技术的示例视频编解码系统4300的框图。视频编解码系统4300可以包括源设备4310和目标设备4320。源设备4310生成编码的视频数据,其可以被称为视频编码设备。目标设备4320可以解码由源设备4310生成的编码的视频数据,该目标设备4320可以被称为视频解码设备。
源设备4310可以包括视频源4312、视频编码器4314和输入/输出(I/O)接口4316。视频源4312可以包括诸如视频捕获设备的源、从视频内容提供者接收视频数据的接口、和/或生成视频数据的计算机图形系统,或这些源的组合。视频数据可以包括一个或多个图片。视频编码器4314对来自视频源4312的视频数据进行编码以生成比特流。比特流可以包括形成视频数据的编解码表示的比特序列。比特流可以包括编解码图片和相关联的数据。编解码图片是图片的编解码表示。相关联的数据可以包括序列参数集、图片参数集和其他语法元素。I/O接口4316包括调制器/解调器(调制解调器)和/或发送器。可以将编码的视频数据经由I/O接口4316通过网络4330直接发送到目标设备4320。还可以将编码的视频数据存储到存储介质/服务器4340上,以供目标设备4320访问。
目标设备4320可以包括I/O接口4326、视频解码器4324和显示设备4322。I/O接口4326可以包括接收器和/或调制解调器。I/O接口4326可以从源设备4310或存储介质/服务器4340获取编码的视频数据。视频解码器4324可以对编码的视频数据进行解码。显示设备4322可以向用户显示解码的视频数据。显示设备4322可以与目标设备4320集成,或可以在配置为与外置显示设备相接的目标设备4320外部。
视频编码器4314和视频解码器4324可以根据视频压缩标准(诸如,高效视频编解码(HEVC)标准、多功能视频编解码(VVC)标准和其他当前和/或其他标准)进行操作。
图11是示出视频编码器4400的示例的框图,该视频编码器4400可以是图10中示出的系统4300中的视频编码器4314。视频编码器4400可以被配置为执行本公开的任何或全部技术。视频编码器4400包括多个功能组件。本公开所描述的技术可以在视频编码器4400的各种组件之间共享。在一些示例中,处理器可以配置为进行本公开中描述的任何或全部技术。
视频编码器4400的功能组件可以包括分割单元4401、预测单元4402(其可以包括模式选择单元4403、运动估计单元4404、运动补偿单元4405、帧内预测单元4406)、残差生成单元4407、变换处理单元4408、量化单元4409、逆量化单元4410、逆变换单元4411、重建单元4412、缓冲器4413和熵编码单元4414。
在其他示例中,视频编码器4400可以包括更多、更少或不同的功能组件。在一个示例中,预测单元4402可以包括帧内块复制(IBC)单元。IBC单元可以以IBC模式进行预测,其中至少一个参考图片是当前视频块所位于的图片。
此外,诸如运动估计单元4404和运动补偿单元4405的一些组件可以被高度集成,但是出于解释的目的在视频编码器4400的示例中分开表示。
分割单元4401可以将图片分割成一个或多个视频块。视频编码器4400和视频解码器4500可以支持各种视频块尺寸。
模式选择单元4403可以例如基于错误结果选择帧内或帧间的编解码模式中的一个,并且将得到的帧内或帧间编解码块提供到残差生成单元4407来生成残差块数据而且提供到重建单元4412来重建编解码块以用作参考图片。在一些示例中,模式选择单元4403可以选择帧内和帧间预测的组合(CIIP)模式,其中预测是基于帧间预测信号和帧内预测信号。模式选择单元4403还可以为帧间预测情况下的块选择运动矢量的分辨率(例如子像素或整像素精度)。
为了对当前视频块进行帧间预测,运动估计单元4404可以通过将来自缓冲器4413的一个或多个参考帧与当前视频块进行比较,生成当前视频块的运动信息。运动补偿单元4405可以基于来自缓冲器4413的图片(而不是与当前视频块相关联的图片)的运动信息和解码样点来为当前视频块确定预测的视频块。
运动估计单元4404和运动补偿单元4405可以为当前视频块进行不同操作,例如执行不同操作取决于当前视频块是在I条带、P条带还是B条带中。
在一些示例中,运动估计单元4404可以进行当前视频块的单向预测,并且运动估计单元4404可以在列表0或列表1的参考图片中搜索当前视频块的参考视频块。运动估计单元4404然后可以生成指示列表0或列表1的参考图片中含有参考视频块的参考索引以及指示在当前视频块与参考视频块之间的空域位移的运动矢量。运动估计单元4404可以输出参考索引、预测方向指示符、和运动矢量作为当前视频块的运动信息。运动补偿单元4405可以基于由当前视频块的运动信息指示的参考视频块来生成当前块的预测视频块。
在其他示例中,运动估计单元4404可以进行当前视频块的双向预测,运动估计单元4404可以在列表0的参考图片中搜索当前视频块的参考视频块并且还可以在列表1的参考图片中搜索当前视频块的另一个参考视频块。运动估计单元4404然后可以生成指示列表0或列表1的参考图片中含有参考视频块的参考索引以及指示在参考视频块与当前视频块之间的空域位移的运动矢量。运动估计单元4404可以输出参考索引和当前视频块的运动矢量作为当前视频块的运动信息。运动补偿单元4405可以基于由当前视频块的运动信息指示的参考视频块来生成当前视频块的预测视频块。
在一些示例中,运动估计单元4404可以输出运动信息的全部集合,用于解码器的解码处理。在一些示例中,运动估计单元4404可以不输出当前视频的运动信息的全部集合。而是,运动估计单元4404可以参考另一个视频块的运动信息来信令通知当前视频块的运动信息。例如,运动估计单元4404可以确定当前视频块的运动信息与相邻视频块的运动信息足够相似。
在一个示例中,运动估计单元4404可以在与当前视频块相关联的语法结构中指示:视频解码器4500指示当前视频块具有与另一个视频块相同的运动信息的值。
在另一个示例中,运动估计单元4404可以在与当前视频块相关联的语法结构中标识另一个视频块和运动矢量差(MVD)。运动矢量差指示当前视频块的运动矢量与指示视频块的运动矢量之间的差。视频解码器4500可以使用指示视频块的运动矢量和运动矢量差来确定当前视频块的运动矢量。
如上所讨论的,视频编码器4400可以预测性地信令通知运动矢量。可以由视频编码器4400实现的预测性的信令通知技术的两个示例包括高级运动矢量预测(AMVP)和merge模式信令通知。
帧内预测单元4406可以对当前视频块进行帧内预测。当帧内预测单元4406对当前视频块进行帧内预测时,帧内预测单元4406可以基于相同图片中其他视频块的解码样点来生成当前视频块的预测数据。当前视频块的预测数据可以包括预测视频块和各种语法元素。
残差生成单元4407可以通过从当前视频块中减去当前视频块的(多个)预测视频块来生成当前视频块的残差数据。当前视频块的残差数据可以包括对应于当前视频块中样点的不同样点分量的残差视频块。
在其他示例中,例如在跳过模式下,对于当前视频块可能不存在当前视频块的残差数据,并且残差生成单元4407可以不进行减去操作。
变换处理单元4408可以通过将一个或多个变换应用于与当前视频块相关联的残差视频块来生成当前视频块的一个或多个变换系数视频块。
在变换处理单元4408生成与当前视频块相关联的变换系数视频块之后,量化单元4409可以基于与当前视频块相关联的一个或多个量化参数(QP)值来量化与当前视频块相关联的变换系数视频块。
逆量化单元4410和逆变换单元4411可以将逆量化和逆变换分别应用于变换系数视频块,来从变换系数视频块重建残差视频块。重建单元4412可以将重建的残差视频块添加到来自由预测单元4402生成的一个或多个预测视频块的对应样点,以产生与当前块相关联的重建视频块用于存储在缓冲器4413中。
在重建单元4412重建视频块之后,可以进行环路滤波操作以降低视频块中视频块化伪影。
熵编码单元4414可以从视频编码器4400的其他功能组件接收数据。当熵编码单元4414接收数据时,熵编码单元4414可以进行一个或多个熵编码操作以生成熵编码数据并且输出包括熵编码数据的比特流。
图12是示出视频解码器4500的示例的框图,该视频解码器4500可以是图10中示出的系统4300中的视频解码器4324。视频解码器4500可以被配置为进行本公开的任何或全部技术。在所示的示例中,视频解码器4500包括多个功能组件。本公开所描述的技术可以在视频解码器4500的各种组件之间共享。在一些示例中,处理器可以配置为进行本公开中描述的任何或全部技术。
在所示的示例中,视频解码器4500包括熵解码单元4501、运动补偿单元4502、帧内预测单元4509、逆量化单元4504、逆变换单元4505、重建单元4506和缓冲器4507。在一些示例中,视频解码器4500可以进行与关于图11所示的视频编码器4400所描述的编码过程总体反演的解码过程。
熵解码单元4501可以检索编码比特流。编码比特流可以包括熵编解码视频数据(例如,视频数据的编解码块)。熵解码单元4501可以对熵编解码视频进行解码,并且根据熵解码视频数据,运动补偿单元4502可以确定包括运动矢量、运动矢量精度、参考图片列表索引和其他运动信息的运动信息。运动补偿单元4502例如可以通过进行AMVP和merge模式确定此类信息。
运动补偿单元4502可以产生运动补偿块,可能地基于插值滤波器进行插值。用于子像素精度的插值滤波器的标识符可以包括在语法元素中。
运动补偿单元4502可以使用由视频编码器4400在编码视频块的期间所使用的插值滤波器,来计算出参考块的子整数个像素的插值的值。运动补偿单元4502可以根据接收的语法信息确定由视频编码器4400所使用的插值滤波器并且使用插值滤波器来产生预测块。
运动补偿单元4502可以使用一些语法信息来确定:用于对编码视频序列的(多个)帧和/或(多个)条带进行编码的块的尺寸,描述编码视频序列的图片的每个宏块如何被分割的分割信息,指示如何编码每个分割的模式,每个帧间编码块的一个或多个参考帧(和参考帧列表),以及对编码视频序列进行解码的其他信息。
帧内预测单元4503可以使用例如在比特流中接收的帧内预测模式来从空域相邻块形成预测块。逆量化单元4504逆量化(即去量化)在比特流中提供的且由熵解码单元4501解码的量化的视频块系数。逆变换单元4505应用逆变换。
重建单元4506可以用由运动补偿单元4502或帧内预测单元4503生成的对应预测块求和残差块,以形成解码块。如所期望的,去块滤波器还可以应用于滤波解码块以便移除块效应伪影。解码视频块然后存储在缓冲器4507中,该缓冲器4507提供用于随后的运动补偿/帧内预测的参考块,并且还产生用于在显示设备上呈现的解码视频。
图13是示例编码器4600的示意图。编码器4600适合于实现VVC技术。编码器4600包括三个环路滤波器,即去块滤波器(DF)4602、样点自适应偏移(SAO)4604和自适应环路滤波器(ALF)4606,它们利用当前图片的原始样点,通过分别添加偏移和应用有限脉冲响应(FIR)滤波器,利用编解码的辅助信息信令通知偏移和滤波器系数,来减小原始样点和重构样点之间的均方误差。ALF 4606位于每个图片的最后处理阶段,并且可以被视为试图捕捉和修复由先前阶段产生的伪影的工具。
编码器4600还包括帧内预测组件4608和运动估计/补偿(ME/MC)组件4610,配置为接收输入视频。帧内预测组件4608被配置成执行帧内预测,而ME/MC组件4610被配置成利用从参考图片缓冲器4612获得的参考图片来执行帧间预测。来自帧间预测或帧内预测的残差块被馈送到变换(T)组件4614和量化(Q)组件4616中,以生成量化的残差变换系数,这些系数被馈送到熵编解码组件4618中。熵编解码组件4618对预测结果和量化的变换系数进行熵编解码,并将其发送到视频解码器(未示出)。从量化组件4616输出的量化组件可以被馈送到逆量化(IQ)组件4620、逆变换组件4622和重构(REC)组件4624。REC组件4624能够将图像输出到DF 4602、SAO 4604和ALF 4606,以便在这些图片被存储在参考图片缓冲器4612中之前进行滤波。
下面提供了一些示例优选的解决方案列表。
以下解决方案显示了本文讨论的技术的示例。
1.一种视频处理方法(例如,图9所示的方法4200),包括:对于视频的视频单元和视频的比特流之间的转换,确定对应于视频单元的中间视频单元;以及应用导向滤波器来基于规则选择性地对重建的视频单元的至少一些样点进行滤波。
2.根据解决方案1所述的方法,其中,中间视频单元是对应于视频单元的重建视频单元。
3.根据解决方案1所述的方法,其中,中间视频单元是对应于视频单元的预测单元。
4.根据解决方案1所述的方法,其中,规则响应于包括中间视频单元的至少一些样点的视频区域的编解码或统计信息。
5.根据解决方案1-4所述的方法,其中,规则规定了导向滤波器的滤波器形状。
6.根据解决方案1-5中任一项所述的方法,其中,中间视频单元的编解码或统计信息用于生成应用导向滤波器的输出。
7.根据解决方案1-5中任一项所述的方法,其中,规则规定在应用导向滤波器之前填充视频样点。
8.根据解决方案1-7中任一项所述的方法,其中,规则规定在视频单元的子块级别应用导向滤波器。
9.根据解决方案8所述的方法,其中,规则规定第一子块的滤波样点用于对第二子块的样点进行滤波。
10.根据解决方案1-9中任一项所述的方法,其中,规则规定在中间视频单元的环路滤波期间应用导向滤波器。
11.根据解决方案1-10中任一项所述的方法,其中,规则规定导向滤波器响应于视频单元的组的参数,其中视频根据准则被分类为多组视频单元。
12.根据解决方案11所述的方法,其中,规则规定使用较高级别视频区域的组的编解码信息或统计信息。
13.根据解决方案11所述的方法,其中,规则规定视频单元中的样点被分类为N个样点组。
14.根据解决方案13所述的方法,其中,分类基于样点的加窗。
15.根据解决方案14所述的方法,其中,加窗使用正方形或菱形或十字形的窗口。
16.根据解决方案14所述的方法,其中,加窗使用不对称的窗口。
17.根据解决方案1所述的方法,其中,规则规定如何应用导向滤波器或者根据编解码信息或使用在转换期间采取的非预定决策来由导向滤波器滤波哪些样点。
18.根据解决方案17所述的方法,其中,编解码信息基于视频单元的变换系数。
19.根据解决方案17-18所述的方法,其中,编解码信息包括视频单元的颜色分量标识。
20.根据解决方案17-19中任一项所述的方法,其中,编解码信息包括视频单元的量化参数或视频单元的维度或视频单元的样点数量或视频单元或视频单元的相邻单元的编解码模式。
21.根据解决方案1-20中任一项所述的方法,其中,规则进一步规定语法元素指示导向滤波器是否或如何应用于视频单元。
22.根据解决方案21所述的方法,其中,语法元素是条带级别语法元素。
23.根据解决方案21所述的方法,其中,语法元素是编解码树单元级别语法元素。
24.根据解决方案21所述的方法,其中,语法元素是变换单元或预测单元级别语法元素。
25.上述解决方案中任一项所述的方法,其中,规则规定序列级别或图片组级别或图片级别或条带级别或片组级别的指示。
26.上述解决方案中任一项所述的方法,其中,规则规定例如序列标头或图片标头或条带标头或片组标头中的指示。
27.上述解决方案中任一项所述的方法,其中,规则规定参数集中的指示,其中参数集是序列参数集或视频参数集或解码参数集或解码控制信息或图片参数集或自适应参数集。
28.根据解决方案1-24中任一项所述的方法,其中,规则规定依赖于视频单元的块尺寸、颜色格式、颜色分量、条带类型、图片类型或分割类型的指示。
29.根据解决方案1-28中任一项所述的方法,其中,视频单元是变换块或预测块或编解码块或编解码树单元或虚拟管道数据单元或编解码树单元行或条带或片或子图片。
30.根据解决方案1-29中任一项所述的方法,其中,转换包括从比特流生成视频。
31.根据解决方案1-30中任一项所述的方法,其中,转换包括从视频生成比特流。
32.一种在计算机可读介质上存储比特流的方法,包括根据解决方案1-31中任一项或多项所述的方法生成比特流,并将该比特流存储在计算机可读介质上。
33.一种其上存储有视频的比特流的计算机可读介质,该比特流在被视频解码器的处理器处理时使得视频解码器生成视频,其中该比特流是根据解决方案1-31中的一项或多项所述的方法生成的。
34.一种视频解码装置,包括被配置为实现解决方案1至31中的一项或多项中所述的方法的处理器。
35.一种视频编码装置,包括被配置为实现解决方案1至31中的一项或多项中所述的方法的处理器。
36.一种其上存储有计算机代码的计算机程序产品,该代码在由处理器执行时使处理器实现解决方案1至31中任一项所述的方法。
37.一种计算机可读介质,其上记录有符合根据解决方案1至31中任一项生成的比特流格式的比特流。
38.一种方法、一种装置、一种根据本文档中描述的公开方法或系统生成的比特流。
在本文所述的解决方案中,编码器可通过根据格式规则产生编解码表示来符合格式规则。在本文描述的解决方案中,解码器可以使用格式规则来解析编解码表示中的语法元素,根据格式规则知道语法元素的存在和不存在,以产生解码的视频。
在本文件中,术语“视频处理”可以指视频编码、视频解码、视频压缩或视频解压缩。例如,视频压缩算法可以在从视频的像素表示转换为对应的比特流表示期间应用,反之亦然。例如,如语法所定义的,当前视频块的比特流表示可以对应于在比特流内共位的或分布在不同位置的比特。例如,宏块可以根据变换和编解码的误差残差值进行编码,并且还可以在比特流中的标头和其他字段中使用比特。此外,在转换期间,解码器可以基于该确定,在知道一些字段可能存在或不存在的情况下解析比特流,如以上解决方案中所述。类似地,编码器可确定包括或不包括某些语法字段,并通过从编解码表示中包括或排除语法字段来相应地生成编解码表示。
本文件中描述的公开和其他解决方案、示例、实施例、模块和功能操作可以在数字电子电路、或计算机软件、固件或硬件中实现,包括本文件中所公开的结构及其结构等效体,或其中一个或多个的组合。公开的内容和其他实施例可以实施为一个或多个计算机程序产品,即一个或多个编码在有形的且非易失的计算机可读介质上的计算机程序指令的模块,以供数据处理装置执行或控制数据处理装置的操作。计算机可读介质可以是机器可读存储设备、机器可读存储基板、存储设备、影响机器可读传播信号的物质组成或其中一个或其中多个的组合。术语“数据处理单元”或“数据处理装置”包括用于处理数据的所有装置、设备和机器,包括例如可编程处理器、计算机或多处理器或计算机组。除硬件外,该装置还可以包括为计算机程序创建执行环境的代码,例如,构成处理器固件的代码、协议栈、数据库管理系统、操作系统或其中一个或多个的组合。传播的信号是人为生成的信号,例如,机器生成的电、光或电磁信号,其被生成以编码信息以传输到合适的接收器设备。
计算机程序(也称为程序、软件、软件应用、脚本或代码)可以用任何形式的编程语言(包括编译语言或解释语言)编写,并且可以以任何形式部署,包括作为独立程序或作为模块、组件、子程序或其他适合在计算环境中使用的单元。计算机程序不一定与文件系统中的文件对应。程序可以存储在保存其他程序或数据的文件的部分中(例如,存储在标记语言文档中的一个或多个脚本)、专用于该程序的单个文件中、或多个协调文件(例如,存储一个或多个模块、子程序或部分代码的文件)中。计算机程序可以部署在一台或多台计算机上来执行,这些计算机位于一个站点上或分布在多个站点上,并通过通信网络互连。
本文件中描述的处理和逻辑流可以通过一个或多个可编程处理器执行,该处理器执行一个或多个计算机程序,通过在输入数据上操作并生成输出来执行功能。处理和逻辑流也可以通过特殊用途的逻辑电路来执行,并且装置也可以实现为特殊用途的逻辑电路,例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路)。
例如,适于执行计算机程序的处理器包括通用和专用微处理器,以及任何类型数字计算机的任何一个或多个。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本组件是执行指令的处理器和存储指令和数据的一个或多个存储设备。通常,计算机还将包括一个或多个用于存储数据的大容量存储设备,例如,磁盘、磁光盘或光盘,或者可操作地耦合以从大容量存储设备接收数据或者将数据传输到大容量存储设备,或者以上两者。然而,计算机不一定具有这样的设备。适用于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,包括例如半导体存储器设备,例如可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)和闪速存储器设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;和光盘只读存储器(CD ROM)和数字多功能光盘只读存储器(DVD-ROM)盘。处理器和存储器可以由专用逻辑电路补充,或者合并在专用逻辑电路中。
虽然本专利文件包含许多细节,但不应将其解释为对任何发明或权利要求范围的限制,而应解释为对特定发明的特定实施例的特征的描述。本专利文件在单独实施例的上下文描述的某些特征也可以在单个实施例中组合实施。相反,在单个实施例的上下文中描述的各种功能也可以在多个实施例中单独实施,或在任何合适的子组合中实施。此外,尽管上述特征可以描述为在某些组合中起作用,甚至最初要求是这样,但在某些情况下,可以从组合中移除权利要求组合中的一个或多个特征,并且权利要求的组合可以指向子组合或子组合的变体。
同样,尽管附图中以特定顺序描述了操作,但这不应理解为要获得想要的结果必须按照所示的特定顺序或顺序执行此类操作,或执行所有说明的操作。此外,本专利文件实施例中各种系统组件的分离不应理解为在所有实施例中都需要这样的分离。
仅描述了一些实现和示例,其他实现、增强和变体可以基于本专利文件中描述和说明的内容做出。
当除了第一组件和第二组件之间的线、迹线或另一种介质之外,不存在中间组件时,第一组件直接耦合至第二组件。当在第一组件和第二组件之间存在除了线、迹线或另一种介质之外的中间组件时,第一组件间接耦合到第二组件。术语“耦合”及其变体包括直接耦合和间接耦合。除非另有说明,术语“约”的使用意味着包括数值的上下10%的范围。
虽然本公开中提供了若干实施例,但应理解,在不脱离本公开的精神或范围的情况下,所公开的系统和方法可体现为许多其他特定形式。当前的示例被认为是说明性的而非限制性的,并且不限于其给出的细节。例如,各种元件或组件可以组合或集成在另一个系统中,或者可以省略或不实现某些特征。
此外,在不脱离本公开的范围的情况下,各种实施例中描述和说明的离散或单独的技术、系统、子系统和方法可与其他系统、模块、技术或方法组合或集成。被示出或讨论为耦合的其他项目可以直接连接,或者可以通过一些接口、设备或中间组件以电、机械或其他方式间接耦合或通信。本领域的技术人员可以在不脱离这里公开的精神和范围的情况下确定改变、替换和变更的其他示例。

Claims (26)

1.一种处理视频数据的方法,包括:
执行包括视频单元的可视媒体数据和比特流之间的转换;以及
将导向滤波器应用于所述视频单元中的重建样点。
2.根据权利要求1所述的方法,其中,所述视频单元包括颜色分量、序列、图片、子图片、条带、片、编解码树单元(CTU)、CTU行、编解码单元(CU)、预测单元(PU)、变换单元(TU)、编解码树块(CTB)、预测块(PB)、变换块(TB)或其组合。
3.根据权利要求1-2中任一项所述的方法,其中,所述导向滤波器包括窗口,并且其中,所述导向滤波器通过将统计计算应用于所述窗口中的重建样点来修改所述重建样点。
4.根据权利要求1-3中任一项所述的方法,其中,所述统计计算是所述窗口内的平均值、所述窗口内的方差、所述窗口内的梯度或其组合。
5.根据权利要求1-4中任一项所述的方法,其中,所述导向滤波器包括窗口形状,并且其中,所述窗口形状是正方形、矩形、十字形、菱形、对称形状、不对称形状或其组合。
6.根据权利要求1-5中任一项所述的方法,其中,所述导向滤波器包括滤波器形状,并且其中,所述滤波器形状是正方形、矩形、十字形、菱形、对称形状、不对称形状或其组合。
7.根据权利要求1-6中任一项所述的方法,其中,所述统计计算包括将所述窗口的加权平均值应用于所述窗口内的加权样点。
8.根据权利要求1-7中任一项所述的方法,其中,所述统计计算根据下式确定:
samplefilterted=a×samplecenter+b×meanwin
其中samplefilterted是滤波后的样点,a和b是权重,samplecenter是所述视频单元中的中心样点,并且meanwin是所述窗口内的平均值。
9.根据权利要求8所述的方法,其中,权重a和权重b根据下式确定:
b=T1-a
其中eps1是滤波强度参数,T1是权重控制参数,varwin是所述窗口内的方差。
10.根据权利要求8所述的方法,其中,权重a和权重b根据下式确定:
a=varwin(varwin+eps2/tau2),以及
b=T2-a
其中varwin是所述窗口内的方差,e2是适应性参数,是varwin的平均值,eps2是滤波强度参数,T2是权重控制参数,tau2是权重参数。
11.根据权利要求8所述的方法,其中,权重a和权重b根据下式确定:
以及
b=T4-a
其中varwin是所述窗口内的方差,e3是适应性参数,是varwin的平均值,tau3是权重参数,eta3是滤波参数,k3是滤波强度参数,/>是varwin的最小值,gamma3是滤波参数,T3是滤波参数,eps3是滤波强度参数,T4是滤波参数。
12.根据权利要求8-11中任一项所述的方法,其中,varwin根据下式确定:
以及
其中Stotal是所述窗口内的样点的总数,meanwin是所述窗口内的平均值,corrwin是所述窗口内的方差,pi是所述窗口内所有样点的集合。
13.根据权利要求8-12中任一项所述的方法,其中,权重a和权重b根据下式进行细化:
其中arefine是细化的权重a,brefine是细化的权重b,Stotal是所述窗口内的样点的总数,ai和bi表示所述窗口内的对应样点。
14.根据权利要求1-7中任一项所述的方法,其中,所述统计计算根据下式确定:
其中samplefilterted是滤波后的样点,Ktotal是滤波器形状内的样点的总数,pj是所述滤波器形状内的位置j处的样点,是对应于pj的权重。
15.根据权利要求1-14中任一项所述的方法,其中,在应用所述导向滤波器之前填充所述视频单元,并且其中,填充是通过扩展函数、镜像函数或其组合来执行的。
16.根据权利要求1-15中任一项所述的方法,其中,在子块级别应用所述导向滤波器。
17.根据权利要求1-16中任一项所述的方法,其中,所述可视媒体数据包括包含所述视频单元的多个视频单元,并且其中,基于对应视频单元中的变换系数、所述对应视频单元中的颜色格式、所述对应视频单元中的量化参数、所述对应视频单元中的维度、所述对应视频单元中的样点的数量、所述对应视频单元中的预测信息、所述对应视频单元中的参考索引或其组合,针对每个视频单元允许或不允许所述导向滤波器。
18.根据权利要求1-17中任一项所述的方法,其中,所述比特流包括描述所述导向滤波器的使用的语法元素,所述语法元素位于序列标头、图片标头、序列参数集、视频参数集、解码参数集、解码能力信息、图片参数集、自适应参数集、条带标头、片组标头或其组合中。
19.根据权利要求1-17中任一项所述的方法,其中,所述比特流包括描述所述导向滤波器的使用的语法元素,所述语法元素位于预测块(PB)、变换块(TB)、编解码块(CB)、预测单元(PU)、变换单元(TU)、编解码单元(CU)、虚拟管道数据单元(VPDU)、编解码树单元(CTU)、CTU行、条带、片、子图片或其组合中。
20.根据权利要求1-19中任一项所述的方法,其中,所述可视媒体数据包括包含所述视频单元的多个视频单元,并且其中,基于对应视频单元的编解码信息,针对每个视频单元允许或不允许所述导向滤波器,所述编解码信息包括块尺寸、颜色格式、树分割、颜色分量、条带类型、图片类型或其组合。
21.根据权利要求1-20中任一项所述的方法,其中,所述转换包括将所述视频单元编码成所述比特流。
22.根据权利要求1-20中任一项所述的方法,其中,所述转换包括从所述比特流中解码所述视频单元。
23.一种非暂时性计算机可读介质,其包括供视频编解码设备使用的计算机程序产品,所述计算机程序产品包括存储在所述非暂时性计算机可读介质上的计算机可执行指令,使得所述计算机可执行指令在由处理器执行时使所述视频编解码设备执行权利要求1-22所述的方法。
24.一种处理视频数据的装置,包括:
处理器;以及
其上具有指令的非暂时性存储器,其中,所述指令在由所述处理器执行时使所述处理器执行权利要求1-22所述的方法。
25.一种存储视频的比特流的非暂时性计算机可读记录介质,所述比特流由视频处理装置执行的方法生成,其中,所述方法包括:
确定将导向滤波器应用于视频单元中的重建样点;以及
基于所述确定生成比特流。
26.一种存储视频的比特流的方法,包括:
确定将导向滤波器应用于视频单元中的重建样点;
基于所述确定生成比特流;以及
将所述比特流存储在非暂时性计算机可读记录介质中。
CN202280028018.5A 2021-04-12 2022-04-12 视频编解码中的导向滤波器 Pending CN117256139A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CNPCT/CN2021/086534 2021-04-12
CN2021086534 2021-04-12
PCT/CN2022/086237 WO2022218281A1 (en) 2021-04-12 2022-04-12 Guided filter in video coding

Publications (1)

Publication Number Publication Date
CN117256139A true CN117256139A (zh) 2023-12-19

Family

ID=83640132

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202280028018.5A Pending CN117256139A (zh) 2021-04-12 2022-04-12 视频编解码中的导向滤波器
CN202280028022.1A Pending CN117256140A (zh) 2021-04-12 2022-04-12 导向滤波器的使用

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202280028022.1A Pending CN117256140A (zh) 2021-04-12 2022-04-12 导向滤波器的使用

Country Status (3)

Country Link
US (2) US20240056612A1 (zh)
CN (2) CN117256139A (zh)
WO (2) WO2022218281A1 (zh)

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105306957B (zh) * 2015-10-23 2019-04-26 湘潭中星电子有限公司 自适应环路滤波方法和设备
WO2018097700A1 (ko) * 2016-11-28 2018-05-31 한국전자통신연구원 필터링을 위한 방법 및 장치
JP6904156B2 (ja) * 2017-08-10 2021-07-14 富士通株式会社 動画像符号化装置、動画像符号化方法、及び動画像符号化プログラム
EP3454556A1 (en) * 2017-09-08 2019-03-13 Thomson Licensing Method and apparatus for video encoding and decoding using pattern-based block filtering
US20190116359A1 (en) * 2017-10-12 2019-04-18 Qualcomm Incorporated Guided filter for video coding and processing
US10708625B2 (en) * 2018-06-12 2020-07-07 Alibaba Group Holding Limited Adaptive deblocking filter
KR20200060589A (ko) * 2018-11-21 2020-06-01 삼성전자주식회사 병합된 프레임율 컨버터와 비디오 코덱을 갖는 시스템 온 칩 및 그것의 프레임율 변환 방법
CN114424529A (zh) * 2019-09-18 2022-04-29 北京字节跳动网络技术有限公司 视频编解码中自适应环路滤波器的两部分信令
CN111314711B (zh) * 2020-03-31 2021-05-14 电子科技大学 一种基于自适应自导向滤波的环路滤波方法

Also Published As

Publication number Publication date
CN117256140A (zh) 2023-12-19
WO2022218285A1 (en) 2022-10-20
US20240056612A1 (en) 2024-02-15
US20240040116A1 (en) 2024-02-01
WO2022218281A1 (en) 2022-10-20

Similar Documents

Publication Publication Date Title
CN117528097A (zh) 跨分量自适应环路滤波器
CN110855995A (zh) 双边滤波器的映射改进
CN115428449A (zh) 交叉分量自适应环路滤波器
WO2021088951A1 (en) Quantization properties of adaptive in-loop color-space transform for video coding
CN113853787B (zh) 基于子块使用变换跳过模式
CN117596400A (zh) 编解码块的缩放过程
US20240137573A1 (en) Bilateral filter in video coding
CN115066897A (zh) 低位深度视觉媒体数据的编解码
CN117256139A (zh) 视频编解码中的导向滤波器
CN117597928A (zh) 视频编解码中的高级双边滤波器
CN117769833A (zh) 视频编解码中的自适应双边滤波器
CN118120232A (zh) 视频编解码中的双边滤波
WO2023213298A1 (en) Filter shape switch for adaptive loop filter in video coding
CN117716690A (zh) 自适应双边滤波器的使用条件
WO2023213265A1 (en) Extended taps using different sources for adaptive loop filter in video coding
WO2024037652A1 (en) Using different sources for hadamard domain filter in video coding
US20240187580A1 (en) Advanced Bilateral Filter In Video Coding
WO2024037653A1 (en) Using different sources for bilateral filter in video coding
US11997318B2 (en) Filter parameter signaling in video picture headers
WO2024022377A1 (en) Using non-adjacent samples for adaptive loop filter in video coding
WO2024078566A1 (en) Multiple input sources based extended taps for adaptive loop filter in video coding
WO2024094042A1 (en) Using side information for bilateral filter in video coding
WO2024094066A1 (en) Using side information for sample adaptive offset in video coding
WO2024008105A1 (en) Multi-source based extended taps for adaptive loop filter in video coding
WO2024094071A1 (en) Using side information for adaptive loop filter in video coding

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