CN117597928A - 视频编解码中的高级双边滤波器 - Google Patents

视频编解码中的高级双边滤波器 Download PDF

Info

Publication number
CN117597928A
CN117597928A CN202280046468.7A CN202280046468A CN117597928A CN 117597928 A CN117597928 A CN 117597928A CN 202280046468 A CN202280046468 A CN 202280046468A CN 117597928 A CN117597928 A CN 117597928A
Authority
CN
China
Prior art keywords
filter
ccsao
bilateral
video
offset
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
CN202280046468.7A
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 CN117597928A publication Critical patent/CN117597928A/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/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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/182Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/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
    • 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

Landscapes

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

Abstract

公开了一种用于处理视频数据的机制。该机制确定将双边滤波器和跨分量样点自适应偏移(CCSAO)滤波器应用于当前图片的当前块中的样点。双边滤波器包括基于周围样点和中心样点之间的距离以及周围样点和中心样点的强度差而变化的滤波器权重。基于双边滤波器和CCSAO滤波器来执行可视媒体数据和比特流之间的转换。

Description

视频编解码中的高级双边滤波器
相关申请的交叉引用
本专利申请要求Wenbin Yin等在2021年7月1日提交的题为“Advanced BilateralFilter In Video Coding(视频编解码中的高级双边滤波器)”的国际申请No.PCT/CN2021/104034的权益,其通过引用合并于此。
技术领域
本专利文档涉及视频编解码技术。
背景技术
数字视频占了互联网和其他数字通信网络上使用的最大带宽。随着能够接收和显示视频的连接用户设备的数量增加,对数字视频使用的带宽需求可能继续增长。
发明内容
第一方面涉及一种用于处理视频数据的方法,包括:确定将双边滤波器和跨分量样点自适应偏移(CCSAO)滤波器应用于当前图片的当前块中的样点,其中,双边滤波器包括基于周围样点和中心样点之间的距离以及周围样点和中心样点的强度差而变化的滤波器权重;以及基于双边滤波器和CCSAO滤波器来执行可视媒体数据和比特流之间的转换。
可选地,在任一前述方面,该方面的另一实施方式提供了CCSAO滤波器在双边滤波器之前被应用。
可选地,在任一前述方面,该方面的另一实施方式提供了CCSAO滤波器接收输入样点,生成CCSAO偏移,并且输出通过CCSAO偏移修改的输入样点,并且其中,双边滤波器接收通过CCSAO偏移修改的输入样点,生成双边偏移,并且输出通过CCSAO偏移和双边偏移修改的输入样点。
可选地,在任一前述方面,该方面的另一实施方式提供了双边滤波器在CCSAO滤波器之前被应用。
可选地,在任一前述方面,该方面的另一实施方式提供了双边滤波器接收输入样点,生成双边偏移,并且输出通过双边偏移修改的输入样点,并且其中,CCSAO滤波器接收通过双边偏移修改的输入样点,生成CCSAO偏移,并且输出通过双边偏移和CCSAO偏移修改的输入样点。
可选地,在任一前述方面,该方面的另一实施方式提供了CCSAO滤波器与双边滤波器并行地被应用。
可选地,在任一前述方面,该方面的另一实施方式提供了双边滤波器和CCSAO滤波器接收相同的输入样点,其中,双边滤波器基于输入样点来生成双边偏移,其中,CCSAO滤波器基于输入样点来生成CCSAO偏移,并且其中,输出样点基于双边偏移和CCSAO偏移而被推导。
可选地,在任一前述方面,该方面的另一实施方式提供了输出样点被限幅。
可选地,在任一前述方面,该方面的另一实施方式提供了双边滤波器生成双边偏移,并且其中,CCSAO滤波器基于来自双边滤波器的双边偏移来生成CCSAO偏移。
可选地,在任一前述方面,该方面的另一实施方式提供了CCSAO滤波器生成CCSAO偏移,并且其中,双边滤波器基于来自CCSAO滤波器的CCSAO偏移来生成双边偏移。
可选地,在任一前述方面,该方面的另一实施方式提供了基于阈值与由双边滤波器生成的双边偏移的比较,将CCSAO滤波器应用于样点被跳过。
可选地,在任一前述方面,该方面的另一实施方式提供了基于阈值与由CCSAO滤波器生成的CCSAO偏移的比较,将双边滤波器应用于样点被跳过。
可选地,在任一前述方面,该方面的另一实施方式提供了输出样点基于由CCSAO滤波器生成的CCSAO偏移和由双边滤波器生成的双边偏移的加权和而被推导。
可选地,在任一前述方面,该方面的另一实施方式提供了输出样点基于由CCSAO滤波器生成的CCSAO偏移和由双边滤波器生成的双边偏移之和而被推导。
可选地,在任一前述方面,该方面的另一实施方式提供了输出样点基于由CCSAO滤波器生成的CCSAO偏移和由双边滤波器生成的双边偏移的差而被推导。
可选地,在任一前述方面,该方面的另一实施方式提供了基于阈值与由样点自适应偏移(SAO)滤波器生成的SAO偏移的比较,将CCSAO滤波器和双边滤波器应用于样点被跳过。
可选地,在任一前述方面,该方面的另一实施方式提供了SAO滤波器、CCSAO滤波器和双边滤波器被顺序地应用于色度样点。
可选地,在任一前述方面,该方面的另一实施方式提供了SAO滤波器、CCSAO滤波器和双边滤波器被并行地应用于色度样点。
可选地,在任一前述方面,该方面的另一实施方式提供了输出样点基于由CCSAO滤波器生成的CCSAO偏移、由双边滤波器生成的双边偏移和由SAO滤波器生成的SAO偏移之和而被推导。
可选地,在任一前述方面,该方面的另一实施方式提供了SAO滤波器、CCSAO滤波器或双边滤波器中的两个被并行地应用,并且其中,SAO滤波器、CCSAO滤波器或双边滤波器中的一个与该两个顺序地被应用。
可选地,在任一前述方面,该方面的另一实施方式提供了双边滤波器的使用在双边滤波器语法元素中在比特流中被指示,并且其中,双边滤波器语法元素基于描述CCSAO滤波器的使用的CCSAO滤波器语法元素而被设置。
可选地,在任一前述方面,该方面的另一实施方式提供了双边滤波器语法元素被包含在描述条带、编解码树单元(CTU)、编解码单元(CU)或变换单元(TU)的语法中。
可选地,在任一前述方面,该方面的另一实施方式提供了CCSAO滤波器语法元素被包含在描述条带、编解码树单元(CTU)、编解码单元(CU)或变换单元(TU)的语法中。
可选地,在任何前述方面中,该方面的另一实施方式提供了基于CCSAO滤波器语法元素,双边滤波器语法元素被有条件地包括在比特流中。
可选地,在任一前述方面,该方面的另一实施方式提供了CCSAO滤波器语法元素基于双边滤波器语法元素而被设置。
可选地,在任一前述方面,该方面的另一实施方式提供了CCSAO滤波器的使用基于双边滤波器语法元素而被确定。
可选地,在任一前述方面,该方面的另一实施方式提供了转换包括将可视媒体数据编码为比特流。
可选地,在任一前述方面,该方面的另一实施方式提供了转换包括从比特流解码可视媒体数据。
第二方面涉及一种用于处理视频数据的装置,包括:处理器;以及非暂时性存储器,其上具有指令,其中该指令在由处理器执行时使得处理器执行任一前述方面的方法。
第三方面涉及一种存储指令的非暂时性计算机可读存储介质,该指令使得处理器执行根据前述方面所述的方法。
第四方面涉及一种存储通过由视频处理装置执行的方法生成的视频的比特流的非暂时性计算机可读记录介质,其中该方法包括:确定将双边滤波器和跨分量样点自适应偏移(CCSAO)滤波器应用于当前图片的当前块中的样点,其中,双边滤波器包括基于周围样点和中心样点之间的距离以及周围样点和中心样点的强度差而变化的滤波器权重;以及基于该确定来生成比特流。
第五方面涉及一种用于存储视频的比特流的方法,包括:确定将双边滤波器和跨分量样点自适应偏移(CCSAO)滤波器应用于当前图片的当前块中的样点,其中,双边滤波器包括基于周围样点和中心样点之间的距离以及周围样点和中心样点的强度差而变化的滤波器权重;基于该确定来生成比特流;以及将比特流存储在非暂时性计算机可读记录介质中。
为了清楚的目的,任何一个前述实施例可以与任何一个或多个其他前述实施例组合,以在本公开的范围内创建新的实施例。
从结合附图的以下详细描述以及权利要求中,将更清楚地理解这些和其他特征。
附图说明
为了更完整地理解本公开,现在结合附图和详细描述参考以下简要描述,其中相同的附图标记表示相同的部分。
图1是色度子采样的示例的示意图。
图2是示例帧内预测模式的示意图。
图3是跨分量样点自适应偏移(CCSAO)的示例过程的示意图。
图4示出了用于CCSAO分类器的候选位置的示例。
图5是应用于视频单元中的样点的示例双边滤波器的示意图。
图6是结合环路滤波应用的示例双边滤波器的示意图。
图7是镜像填充的示例机制的示意图。
图8是扩展填充的示例机制的示意图。
图9是双边滤波器的示例滤波模式的示意图。
图10是示出示例视频处理系统的框图。
图11是示例视频处理装置的框图。
图12是视频处理的示例方法的流程图。
图13是图示示例视频编解码系统的框图。
图14是图示示例编码器的框图。
图15是图示示例解码器的框图。
图16是示例编码器的示意图。
具体实施方式
首先应理解,尽管下文提供了一个或多个实施例的说明性实施方式,但可使用任何数量的技术实现所公开的系统和/或方法,无论是当前已知的还是有待开发的。本公开不应以任何方式限于以下示出的示例性实施方式、附图和技术,包括在此示出和描述的示例性设计和实施方式,而是可以在所附权利要求的范围及其等同物的全部范围内进行修改。
本专利文档涉及视频编解码技术。具体而言,本文档涉及图像/视频编解码中的环路滤波器和其他编解码工具。本文讨论的概念可以单独或以各种组合应用于任何视频编解码标准和/或视频编解码器,例如高效视频编解码(High Efficiency Video Coding,HEVC)和多功能视频编解码(Versatile Video Coding,VVC)。
本公开包括以下缩写。自适应色彩变换(Adaptive color transform,ACT),编解码图片缓冲区(coded picture buffer,CPB),纯随机接入(clean random access,CRA),编解码树单元(coding tree unit,CTU),编解码单元(oding unit,CU),编解码视频序列(coded video sequence,CVS),解码图片缓冲区(decoded picture buffer,DPB),解码参数集(decoding parameter set,DPS),通用约束信息(general constraintsinformation,GCI),高效视频编解码(也称为Rec.ITU-T H.265|ISO/IEC 23008-2)(HEVC),联合探索模型(joint exploration model,JEM),运动约束片集(motion constrainedtile sets,MCTS),网络抽象层(network abstraction layer,NAL),输出层集(outputlayer set,OLS),图片标头(picture header,PH),图片参数集(picture parameter set,PPS),档次、层、和级别(profile,tier,and level,PTL),预测单元(prediction unit,PU),参考图片重采样(reference picture resampling,RPR),原始字节序列有效负载(rawbyte sequence payload,RBSP),补充增强信息(supplemental enhancementinformation,SEI),条带标头(slice header,SH),序列参数集(sequence parameter set,SPS),视频编解码层(video coding layer,VCL),视频参数集(video parameter set,VPS),视频可用性信息(video usability information,VUI),以及多功能视频编码(也称为Rec.ITU-T H.266|ISO/IEC 23090-3)(VVC),VVC测试模型(VVC test model,VTM),变换单元(transform unit,TU),编解码单元(coding unit,CU),去方块滤波器(deblockingfilter,DF),样点自适应偏移(sample adaptive offset,SAO),自适应环路滤波器(adaptive loop filter,ALF),编解码块标志(coding block flag,CBF),量化参数(quantization parameter,QP),率失真优化(rate distortion optimization,RDO)和双边滤波器(bilateral filter,BF)。
视频编解码标准主要通过国际电信联盟(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分别在水平和垂直两个方向上以两倍的系数进行子采样。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:
如表1所示,色度子采样宽度(SubWidthC)和色度子采样高度(SubHeightC)值从色度格式标识码(chroma_format_idc)和单独的色彩平面标志(separate_colour_plane_flag)中推导。现在讨论示例视频编解码器的编解码流程。
现在参考图16。图16示出了在VVC中使用的编码器4600的示例。VVC包括三个环路滤波模块:去方块滤波器(DF)、样点自适应偏移(SAO)和ALF。DF使用预定义的滤波器。SAO和ALF利用当前图片的原始样点来减小原始样点和重构样点之间的均方误差。这分别通过添加偏移和通过应用有限脉冲响应(finite impulse response,FIR)滤波器来实现。还采用了偏移和滤波器系数的编解码辅助信息信令通知。ALF位于每个图片的最后一个处理阶段,并且可以被视为捕捉和修复由前一个阶段创建的伪影的工具。
图2为示例帧内预测模式的示意图200。现在讨论帧内预测。为了捕捉自然视频中呈现的任意边缘方向,方向帧内模式的数量从HEVC中的33个扩展到VVC中的65个。这些密集的方向帧内预测模式适用于所有块尺寸以及亮度和色度帧内预测两者。如示意图200所示,角度帧内预测方向被定义为在顺时针方向上的从45度到-135度。在VTM中,对于非正方形块,几个角度帧内预测模式被自适应地替换为广角帧内预测模式。被更换的模式被信令通知,并在解析后被重新映射到广角模式的索引。帧内预测模式的总数为67种并且没有变化。此外,帧内模式编解码不变。
在HEVC中,每个帧内编解码块具有正方形形状,并且每条边的长度是二的幂。因此,不使用除法运算来生成使用直流(DC)模式的帧内预测器。在VVC中,块可以具有矩形形状,这使得在一般情况下对每个块使用除法运算成为必要。为了避免DC预测的除法运算,只有较长的一边用于计算非正方形块的平均值。
对于每个帧间预测的CU,包括运动矢量、参考图片索引、参考图片列表使用索引和附加信息的运动参数用于VVC中的帧间预测样点生成。运动参数可以以显式或隐式的方式被信令通知。当用跳过模式对CU进行编解码时,CU与一个PU相关联,并且没有有效的残差系数、没有编解码运动矢量增量、并且没有参考图片索引。规定merge模式,由此从;相邻CU获得当前CU的运动参数。这包括空域和时域候选,以及在VVC中引入的附加时间表。merge模式可以应用于任何帧间预测的CU,并且不仅仅用于跳过模式。merge模式的替代方案是运动参数的显式传输。在这种情况下,对于每个CU,运动矢量、每个参考图片列表的对应参考图片索引、参考图片列表使用标志和其他信息被显式地信令通知。
现在讨论去方块滤波器。去方块滤波是视频编解码器中的环路滤波器。在VVC中,去方块滤波过程应用于CU边界、变换子块边界和预测子块边界。预测子块边界包括由基于子块的时域运动矢量预测(Subblock based Temporal Motion Vector prediction,SbTMVP)和仿射模式引入的预测单元边界。变换子块边界包括由子块变换(Subblocktransform,SBT)和帧内子分割(Intra Sub-Partitions,ISP)模式引入的变换单元边界,以及由大CU的隐式划分引起的变换。去方块滤波器的处理顺序被定义为首先对整个图片的垂直边缘进行水平滤波。接下来是对水平边缘进行垂直滤波。这种特定的顺序使得能够在并行线程中应用多个水平滤波或垂直滤波过程。这种滤波仍然可以在逐个CTB的基础上实现,只有很小的处理等待时间。
现在讨论SAO滤波器。通过使用编码器为每个CTB规定的偏移,将SAO应用于去方块滤波器之后的重构信令。视频编码器首先作出是否对当前条带应用SAO过程的决定。如果对条带应用SAO,每个CTB被分类为五种SAO类型之一,如表2所示。SAO用于将像素分类,并通过向每个类别的像素添加偏移来减少失真。SAO操作包括边缘偏移(edge offset,EO),它使用边缘属性进行SAO类型1到4中的像素分类。SAO还包括带偏移(band offset,BO),它使用像素强度进行SAO类型5中的像素分类。每个适用的CTB具有SAO参数,该SAO参数包括SAOmerge左标志(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是样点之间的强度差。边缘保持去噪双边滤波器对域滤波器和范围滤波器都采用低通高斯滤波器。域低通高斯滤波器给予空域上靠近中心像素的像素更高的权重。距离低通高斯滤波器给予与中心像素相似的像素更高的权重。结合范围滤波器和域滤波器,在边缘像素处的双边滤波器变成沿着边缘定向并且在梯度方向上大大减小的拉长的高斯滤波器。为此,双边滤波器可以平滑噪声,同时保留边缘结构。
现在讨论视频编解码中的双边滤波器。双边滤波器充当与样点自适应偏移(SAO)滤波器并行的环路滤波器。双边滤波器和SAO都作用于相同的输入样点。每个滤波器产生偏移。然后,这些偏移被添加到输入样点中,以产生输出样点,该输出样点在限幅后进入下一阶段。空域滤波强度σd由块尺寸决定,其中块越小,滤波越强。强度滤波强度σr由量化参数决定。更强的滤波用于更高的QP。仅使用四个最接近的样点,因此滤波后的样点强度IF可计算如下:
其中,IC表示中心样点的强度,ΔIA=IA-IC表示中心样点和上方样点之间的强度差,并且ΔIB,ΔIL和ΔIR分别表示中心样点和下方、左边和右边样点之间的强度差。
以下是通过公开的技术解决方案解决的示例技术问题。视频编解码中双边滤波器的示例设计具有以下问题。环路滤波器不能完全移除重构视频内的振铃伪影。对于色度分量来说尤其如此。
本文公开了解决上面列出的一个或多个问题的机制。例如,本公开描述了结合双边滤波器使用CCSAO滤波器。例如,双边滤波器可以在CCSAO滤波器之前、之后或与CCSAO滤波器并行应用。由CCSAO滤波器生成的CCSAO滤波器偏移可以由双边滤波器用于生成双边滤波器偏移,反之亦然。当双边滤波器偏移超过或低于阈值时,可以跳过将双边滤波器应用于样点,反之亦然。CCSAO滤波器和双边滤波器也可以以类似的方式与SAO滤波器结合应用。此外,与双边滤波器相关的语法可以用于设置CCSAO滤波器的语法和/或推导其使用,反之亦然。
在另一示例中,双边滤波器可配置为自适应双边滤波器,其基于与图片相关的统计信息而变化。例如,可基于统计信息将视频单元分组在一起,且双边滤波器可不同地应用于每一视频单元组,例如通过采用不同的参数。在示例中,可基于视频单元类索引、单元平均值、方差、尺寸或以上的组合来选择视频单元组。在另一示例中,图片中的样点可被分组为样点组(例如,不考虑视频单元),并且双边滤波器可被不同地应用于每个样点组,例如通过采用不同的参数。在示例中,可以基于通过比较窗口内的样点而确定的统计信息来选择样点组。例如,这种统计信息可以包括平均值、方差、最小梯度、最大梯度、平均梯度或以上的组合。双边滤波器也可以应用在相对于其他环路滤波器的不同位置。
在另一个示例中,各种视频信息可用于确定是否以及如何将双边滤波器应用于样点。例如,可基于与视频单元相关的项目来有条件地应用双边滤波器,该项目例如是数字变换系数级别、色彩分量、相对于阈值的量化参数(QP)、相对于阈值的最小或最大尺寸、相对于阈值的样点数量、视频单元的编解码模式或以上的组合。在另一个示例中,可以基于比特流中的语法元素有条件地应用双边滤波器。语法元素可指示双边滤波器是否应用于编解码树单元(CTU)、编解码单元(CU)和/或变换单元(TU)。在一些示例中,可以从比特流中省略语法元素,并且解码器可以推断在某些情况下没有应用双边滤波器。例如,当当前视频单元的信道类型不等于亮度、当前视频单元的QP小于阈值、当前视频单元的宽度和高度的最小值等于或大于尺寸阈值、当前视频单元的宽度和高度的最大值等于或大于尺寸阈值、当前视频单元的宽度和高度两者都等于或大于阈值或以上的组合时,可省略语法元素。在另一示例中,当启用亮度样点自适应偏移(SAO)、启用亮度双边滤波器、编解码块标志(CBF)等于1或以上的组合时,语法元素可仅包含在色度分量的比特流中。
图5是应用于视频单元516中的样点510的示例双边滤波器512的示意图500。样点510是像素值。视频编解码过程将像素值划分成色彩空间,例如YCrCb和/或RGB。因此,取决于上下文,样点510可包括来自像素的亮度分量(光值)、像素的色度分量(色彩值)或两者。样点510可被分割成各种视频单元516,例如序列、图片、子图片、条带、片、编解码树单元(CTU)、CTU行、编解码单元(CU)、预测单元(PU)、变换单元(TU)、编解码树块(CTB)、预测块(PB)、变换块(TB)和/或任何前述的色彩分量。例如,样点510可以被划分成CTU,这些CTU可以被分割成块,这是可以包括CU、PU、PB、TB、TU等的通用术语。然后,参考一个或多个参考块,通过帧内预测和/或帧间预测对每个当前块进行编解码。预测过程不对参考块和当前块之间的任何差进行编解码。这种差被称为残差。可以应用变换来压缩残差。此外,残差可以被量化,这进一步压缩了残差,但是丢失了数据。然后,在编码器处,对这些块进行解码和重构,以用作后续图片的参考块。在解码器处,块被解码和重构以供显示。在任一情况下,基于块的编解码方案经常产生伪影,这些伪影是重构样点510时样点值中的误差。可以应用滤波器来减轻这种伪影。例如,滤波器可以被设计以调整样点510的值,以便抵消预期的和/或观察到的编解码错误。例如,滤波器可以一致地应用于所有样点和/或可以在某些条件发生时应用。在另一示例中,编码器可重构视频单元,检查视频单元的错误,确定应用滤波器,且接着经由比特流向解码器信令通知滤波器使用。
本公开具体涉及双边滤波器512。双边滤波器512被设计以解决由变换和量化过程产生的伪像,例如振铃伪像。该振铃伪影是出现在转变点(例如块边缘)的错误信令。振铃伪影可能作为沿块边缘的额外带出现。额外带是真实边缘的回声。双边滤波器将计算应用于样点510以校正这种伪影。
在示例中,双边滤波器512位于第i个中心样点(IC)周围,并且包括围绕该中心样点的几个样点。双边滤波器512滤波中央样点,然后可以移动到另一个中央样点。可以重复该过程,直到包含样点510的整个视频单元516被滤波。在示例中,双边滤波器512包括滤波器权重,该滤波器权重基于对应的周围样点和中心样点之间的距离以及周围样点和中心样点的强度差异而变化。在示例中,双边滤波器512根据以下公式来应用:
其中Ifiltered是更新的样点值,IC是位于滤波器形状中心的中心样点,e是强度因子,μ(Δii)是用于确定滤波器形状中某一位置处的每个周围样点的滤波权重的函数,Δi是第i个周围样点和中心样点之间的差,Ωi是第i个周围样点和中心样点之间的垂直和水平距离之和,并且n是滤波器形状中样点的总数。
此外,对于每个第i个样点,μ(Δii)可以用公式表示如下:
其中,σd和σr是滤波参数,Δ是每个第i个周围样点与中心样点之间的差,并且Ω是每个第i个周围样点与中心样点之间的垂直和水平距离之和。在示例中,σd和σr是基于与当前块/视频单元相关的编解码模式、尺寸或编解码信息来设置的。在示例中,基于当前块的宽度和高度来设置e。在示例中,基于亮度样点中的当前块的最大尺寸(表示为max(widthluma,heightluma))、亮度样点中的当前块的最小尺寸(表示为min(widthluma,heightluma))、色度样点中的当前块的最大尺寸(表示为max(widthchroma,heightchroma))、色度样点中的当前块的最小尺寸(表示为min(widthxhroma,heightchroma))或以上的组合来设置e。
在示例中,双边滤波器512基于偏移进行操作。偏移可以是由滤波器引起的样点510的变化。因此,双边滤波器为每个样点510生成偏移。在示例中,亮度样点的偏移可以用作对色度样点进行滤波的输入。在另一个示例中,与亮度样点相关的局部信息可以被用作对色度样点进行滤波的输入。局部信息可以包括样点之间的差和/或样点之间的距离。在另一个示例中,与亮度样点相关的统计信息可以用作滤波色度样点的输入。这种统计信息可以包括均值、方差、块尺寸等。以类似的方式,与参考图片中的参考样点相关的偏移和/或局部信息可以被用作输入,以滤波当前图片中的样点510。
在示例中,可以通过在编码器和解码器处执行计算来应用双边滤波器512。例如,编码器和/或解码器可以执行比特移位操作来计算样点510的变化和/或偏移。在另一个示例中,双边滤波器512可以被实现为针对每个样点510参考的查找表。
在示例中,双边滤波器512可以不同地应用于不同的分量。例如,双边滤波器512在滤波亮度分量时可以采用与滤波色度分量时不同的参数、滤波器形状、计算等。此外,双边滤波器512被描绘为采用菱形,但是可以采用许多滤波器形状,例如正方形、十字形、菱形、对称形状、不对称形状或以上的组合。在示例中,双边滤波器512被应用于重构样点510。在其他示例中,通过向预测添加残差,双边滤波器512在重构之前被应用于预测样点。
在示例中,可以基于与视频单元516相关的编解码信息来修改双边滤波器512的操作。编解码信息可包括编解码模式、运动信息、视频单元516的尺寸、QP、样点510值、与样点510值相关的变量或以上的组合。在示例中,双边滤波器512。采用均值、方差、视频单元516尺寸或以上的组合来生成滤波亮度样点或滤波色度样点。应当注意,在一些示例中,样点510可以在未添加的状态下被滤波。在其他示例中,视频单元中的样点510可以在滤波之前被填充,例如如下所述。
在示例中,双边滤波器512被配置成自适应地应用于不同的图片区域。例如,可以基于统计信息对各种类型的图片数据进行分组。双边滤波器512然后可以被应用于每个组514。例如,当滤波不同的组514时,双边滤波器512可以采用不同的参数。根据示例,组514可以是视频单元组或样点组。例如,可基于与视频单元516相关的统计信息将一个或多个视频单元516放置在组514中。在这种情况下,组514可以被称为视频单元组。在另一个示例中,基于与视频单元516相关的统计信息,样点510可以被放置在组514中。在这种情况下,该组可以被称为样点组。
当组514是视频单元组时,统计信息可以包括根据以下公式计算的视频单元的类索引:
indexunit=0当(0≤infounit<T1)时
indexunit=Nunit-2当(TN-2≤infounit<TN-1)时
indexunit=Nunit-1当(TN-1≤infounit)时
其中indexunit是视频单元的类索引,[T1,T2,...TN-1]是一组阈值,并且infounit是方差或单元平均值。
在另一示例中,统计信息可包括根据以下公式计算的视频单元的类索引:
其中indexunit是视频单元的类索引,infounit是方差或单元平均值,Tunit_class是固定阈值,并且其中0≤indexunit<Nunit
在另一示例中,统计信息可包括根据以下公式计算的视频单元的单元平均值:
S=wunit×hunit
其中i是视频单元内的位置,pi是位于位置i的样点,s是视频单元的尺寸,wunit是视频单元的宽度,hunit是视频单元的高度,并且meanunit是单元平均值。
在另一示例中,统计信息可包括根据以下公式计算的视频单元的方差:
其中i是视频单元内的位置,pi是位于位置i的样点,s是视频单元的尺寸,meanunit是单元平均值,corrunit是视频单元中样点值之间的相关性,并且varunit是视频单元的方差。
在另一个示例中,统计信息可以包括视频单元516的宽度、视频单元516的高度或以上的组合。
当组514是样点组时,统计信息可以包含在样点510周围的窗口内。例如,窗口内的统计信息可以包括平均值、方差、最小梯度、最大梯度、平均梯度或以上的组合。此外,窗口可以是各种窗口形状,例如正方形、十字形、菱形、对称形状、不对称形状或以上的组合。
在另一个示例中,双边滤波器512被应用于样点510的子块。子块可以是视频单元516的规定区域。在示例中,与第一子块相关的滤波结果用于对第二子块的样点进行滤波。在另一个示例中,与第一子块相关的未滤波样点被用于对第二子块的样点进行滤波。
在示例中,可以基于与样点510相关的各种视频信息来对是否应用双边滤波器512作出确定。例如,可基于编解码信息来对是否应用双边滤波器512进行确定,该编解码信息可包含变换系数、色彩分量、QP、视频单元516尺寸和/或尺寸、视频单元516中的样点数量和/或编解码模式信息,例如帧内模式、帧间预测模式、Merge标志/索引、仿射标志、运动矢量、参考索引或以上的组合。
在示例中,当视频单元516包含一个或多个不等于零的变换系数级别时,将双边滤波器512应用于视频单元516,且当视频单元516仅包含零变换系数级别时,禁用双边滤波器512。在示例中,当视频单元516包含色彩分量时,应用双边滤波器512,且当视频单元516包含亮度分量时,禁用双边滤波器512。在示例中,当视频单元516的QP大于QP阈值(TQP)时,应用双边滤波器512,且当视频单元516的QP小于或等于TQP时,禁用双边滤波器512。在示例中,当视频单元516的最小尺寸小于尺寸阈值(Tsize min),视频单元516的最大尺寸小于尺寸阈值(Tsize max),视频单元516的宽度和视频单元516的高度小于阈值(Tsize both),或以上的组合时,应用双边滤波器512。在另一示例中,当视频单元516的最小尺寸大于尺寸阈值(Tsize min),视频单元516的最大尺寸大于尺寸阈值(Tsize max),视频单元516的宽度和视频单元516的高度大于阈值(Tsize both),或以上的组合时,应用双边滤波器512。在另一示例中,当视频单元516中的样点510的数量乘以因子(Fnum)大于阈值(Tnum)时,应用双边滤波器512。
在示例中,可基于比特流中信令通知的语法元素来确定是否应用双边滤波器512。例如,语法元素可以指示双边滤波器512是否被应用于条带、CTU、CU和/或TU。语法元素可以被包括在视频参数集(VPS)、序列参数集(SPS)、图片参数集(PPS)、自适应参数集(APS)、条带标头、图片标头等中。
在示例中,当双边滤波器512应用于视频单元516时,语法元素可被包括在比特流中,并且当双边滤波器512不允许用于视频单元516时,语法元素可从比特流中省略。在示例中,当当前CU的信道类型不等于亮度,当前CU的QP小于阈值(TCUQP),当前CU的宽度和高度的最小值等于或大于尺寸阈值(TCUmin),当前CU的宽度和高度的最大值等于或大于尺寸阈值(TCUmax),当前CU的宽度和当前CU的高度都等于或大于阈值(TCUboth),或以上的组合时,可以从比特流中省略该语法元素。在另一示例中,当当前TU的信道类型不等于亮度,当前TU的QP小于阈值(TTUQP),当前TU的宽度和高度的最小值等于或大于尺寸阈值(TTUmin),当前TU的编解码块标志(CBF)被设置为假,当前TU的宽度和高度的最大值等于或大于尺寸阈值(TTUmax),当前TU的宽度和当前TU的高度都等于或大于阈值(TTUboth),或以上的组合时,可以从比特流中省略该语法元素。在示例中,当启用亮度SAO、启用亮度双边滤波器、CBF等于1、或以上的组合时,语法元素可仅被包含于色度分量的比特流中。
图6是结合环路滤波应用的示例双边滤波器620的示意图600。环路滤波器610可以包括去方块滤波器(DF)612、样点自适应偏移(SAO)滤波器616和自适应环路滤波器(ALF)618。此类滤波器可以以示意图600中所示的顺序应用于视频单元。例如,可以重构视频单元。在SAO滤波器616之前应用DF 612。在SAO滤波器616之后应用ALF 618。DF 612、SAO滤波器616和ALF 618如上文所讨论。本公开提出了双边滤波器620,其可以如关于示意图500所讨论的那样操作。如图所示,双边滤波器620可以应用在环路滤波器610内的不同位置处。双边滤波器620也可以在应用环路滤波器610之前或在应用环路滤波器610之后被应用。双边滤波器620的可能位置表示为位置A-G。
在位置A,可以在环路滤波之前应用双边滤波器620。例如,双边滤波器620可以在应用残差以创建重构样点之前应用于预测结果。双边滤波器620也可以在位置B处作为环路滤波器610的一部分被应用并且应用在DF 612之前。双边滤波器620也可以在DF 612之后和SAO滤波器616之前应用在位置C。双边滤波器620也可以在SAO滤波器616之后和ALF 618之前应用在位置D。双边滤波器620也可以在ALF 618之后应用在位置E。双边滤波器620也可以应用在位置G,其与DF 612、SAO滤波器616和/或ALF 618中的任何一个并行。例如,双边滤波器和第二滤波器可以应用于相同的样点。双边滤波器620可以产生第一偏移,第二滤波器可以产生第二偏移,并且双边滤波器620可以基于第一偏移和第二偏移产生输出样点。双边滤波器620也可以作为环路滤波器610的一部分在ALF 618之后应用在位置E。此外,双边滤波器620也可以应用在位置F,这是在环路滤波完成之后。例如,双边滤波器620可以在应用环路滤波器610之后的后处理阶段中应用。
本公开进一步提出了CCSAO滤波器622,其可以如关于示意图300所讨论的进行操作。CCSAO滤波器622被配置为接收重构的亮度样点和并置的色度样点(例如,YUV格式的像素)并将样点共同分类到类别中。CCSAO滤波器622推导每个类别的偏移,并将对应的偏移加到每个类别中的样点。参考示意图300和候选位置400更详细地描述了CCSAO滤波器622的功能。CCSAO滤波器622可以相对于双边滤波器620定位。例如,CCSAO滤波器622可以位于双边滤波器620之前、双边滤波器620之后和/或与双边滤波器620并行。因此,CCSAO滤波器622可以位于位置A-G中的任何位置,包括在环路滤波器之前、环路滤波器610内部和/或环路滤波器610之后。
为了解决上述问题以及其他问题,公开了如下总结的方法。这些项目应该被认为是解释一般概念的示例,而不应该以狭隘的方式解释。此外,这些项目可以单独使用或以任何方式组合使用。应当注意,所提出的方法可以用作环路滤波器或后处理。
示例1
在一个示例中,双边滤波器(BF)可以应用于一个或多个色彩分量。在一个示例中,当BF应用于不同的分量时,BF可以采用不同的滤波方法(例如,不同的参数、不同的滤波器形状等)。在另一个示例中,当应用于不同的分量时,BF可以采用相同的滤波方法。在一个示例中,当应用于亮度分量时,BF可以采用第一滤波方法。BF然后可以在应用于两个色度分量时采用第二滤波方法,并且第二滤波方法对于两个色度分量可以是相同的。
示例2
在一个示例中,双边滤波器可用于进一步修改视频单元的重构色度样点/像素。
示例3
在一个示例中,视频单元的重构亮度或色度样点/像素的修改可取决于一个或多个区域的编解码信息或设计的滤波器形状。这种区域或滤波器形状包含至少一个重构的亮度或色度样点/像素。
示例4
编解码信息可包含任何编解码模式或运动信息,例如帧内预测模式、参考列表/索引、运动矢量等。编解码信息可以包括视频单元的尺寸。编解码信息可以包括QP。编解码信息可以包括样点值或基于样点值推导的任何变量。当BF对第二色彩分量进行滤波时,可以使用第一色彩分量的编解码信息。例如,BF可以使用亮度分量的编解码信息来滤波Cb或Cr分量。
示例5
在一个示例中,BF可以使用编解码/统计信息(例如,均值/方差/块尺寸)来生成滤波的亮度或色度样点/像素。在一个示例中,编解码/统计信息可从视频单元内的亮度样点/像素生成。在一个示例中,编解码/统计信息可从视频单元内的色度样点/像素生成。
示例6
在一个示例中,BF的设计滤波器形状可以是正方形、菱形或其他形状。在一个示例中,滤波器形状可以是正方形。在一个示例中,滤波器形状可以是十字形。在一个示例中,滤波器形状可以是菱形。在一个示例中,滤波器形状可以是对称的。在一个示例中,滤波器形状可以是不对称的。在一个示例中,滤波器形状的指示可以是信令通知的、预定义的、即时推导的。例如,可以信令通知索引来指示来自一组候选形状的滤波器形状。在一个示例中,设计的滤波器形状的尺寸可以是预定义的、信令通知的、即时推导的或者基于解码的信息推导的。
示例7
在一个示例中,当对亮度或色度样点/像素进行滤波时,BF可以利用编解码/统计信息。在一个示例中,BF可以根据以下公式生成滤波结果:
其中Ifiltered代表更新/修改的亮度或色度样点/像素,并且IC代表位于滤波形状中心的未修改的亮度或色度样点/像素。增量(Δ)表示对应的参考样点和未修改的中心样点之间的差。Ω表示参考样点和中心样点之间的垂直和水平距离之和。n代表滤波形状内的样点总数,并且e代表强度因子。μ(Δ,Ω)是用于计算滤波形状中每个位置的滤波权重的函数。
示例8
在一个示例中,函数μ(Δ,Ω)可以被公式化为:
其中σd和σr是两个滤波参数,并且其他参数如上所述。在一个示例中,函数μ(Δ,Ω)可以通过查找表来实现。
示例9
在一个示例中,视频单元内的不同样点或不同位置可使用统一参数或查找表。在一个示例中,视频单元内的不同样点或不同位置可以使用不同的参数或查找表。在一个示例中,诸如σd和σr的参数可以被预定义、搜索、即时确定或在比特流中被信令通知。
示例10
在一个示例中,上文提及的参数可基于编解码模式、尺寸或描述当前视频单元的其它编解码信息来设置。在一个示例中,上述参数可以从编码器信令通知到解码器。在一个示例中,参数e可以被预定义、搜索、即时确定或在比特流中被信令通知。在一个示例中,可基于编解码模式、尺寸或描述当前视频单元的其它编解码信息来设置参数e。在一个示例中,可基于当前视频单元的亮度尺寸来设置参数e。在一个示例中,可基于当前视频单元的最大亮度尺寸(由max(widthluma,heightluma)表示)或最小亮度尺寸(由min(widthluma,heightluma)表示)来设置参数e。在一个示例中,参数e可基于亮度样点中的当前视频单元的尺寸(由widthluma×heightluma表示)来设置。在另一示例中,参数e可以基于当前视频单元的色度尺寸来设置。在一个示例中,参数e可以基于最大色度尺寸(由max(widthchroma,heightchroma)表示)或最小色度尺寸(由min(widthchroma,heightchroma)表示)来设置。在一个示例中,参数e可基于色度样点中的当前视频单元的尺寸(由widthchroma×heightchroma表示)来设置。在一个示例中,参数e可以从编码器信令通知到解码器。
示例11
在一个示例中,色度样点的滤波偏移可基于亮度样点的滤波偏移或亮度样点的信息来生成。在一个示例中,色度样点的滤波偏移可通过将色度和亮度样点两者的计算滤波偏移与加权和方法相结合来计算。在一个示例中,色度样点的滤波偏移可通过使用亮度样点的局部信息来生成,例如对应亮度样点之间的差或距离。在一个示例中,由BF滤波的亮度或色度样点可用于更新视频单元的重构亮度或色度样点和/或残差。
示例12
在一个示例中,如上所述的BF滤波过程可以通过对整数的运算来实现。例如,变量可以在过程之前、期间和/或之后左移位和/或右移位,以保持合适的计算精度。
示例13
在示例中,亮度样点可以在色度样点的BF滤波期间使用。
示例14
在示例中,可以采用BF跨图片滤波方法,其中滤波过程可以取决于不同图片中的样点。
示例15
在一个示例中,可在滤波过程之前和/或之后填充视频单元。在一个示例中,视频单元可在边界位置处被填充Npad(例如,Npad=2)个样点。
示例16
在一个示例中,是否填充和/或如何填充样点/像素可以取决于相邻样点/像素是否已经在不同的条带、片、图块和/或子图片中被解码。
示例20
在一个示例中,当相邻样点/像素已经被解码时,可以使用解码的相邻样点/像素来填充相邻样点/像素。在示例中,当相邻样点/像素没有被解码时,可以使用预定义的值来填充。
示例21
在一个示例中,可以使用扩展和/或镜像填充。在这种情况下,填充样点/像素来自当前视频单元,而不是来自相邻样点/像素。
示例22
在一个示例中,视频单元的边界样点可由镜像函数填充。例如,当边界样点是[a,b,c]时,填充样点可以是如下所示的[c,b,a,b,c]。
图7是用于镜像填充的示例机制的示意图700。在图700中,圆形描绘视频单元内的样点,而正方形描绘视频单元外的填充样点。如图所示,视频单元外的填充样点b、c、d和e是基于视频单元内的样点b、c、d和e生成的。因此,在一个示例中,可通过如图700中所示的镜像函数来填充视频单元的边界样点。
在一个示例中,可通过扩展函数来填充视频单元的边界样点。例如,当边界样点是[a,b,c]时,填充样点可以是如下所示的[b,c,a,b,c]。
图8是用于扩展填充的示例机制的示意图800。在图800中,圆形描绘视频单元内的样点,而正方形描绘视频单元外的填充样点。如图所示,视频单元外的填充样点b、c、d和e是基于视频单元内的样点b、c、d和e生成的。图700和图800之间的差异在于,在图700中,样点在样点a周围被镜像,而在图800中,样点从样点a的一侧被复制,并且以相同的顺序被包括在样点a的另一侧。因此,在示例中,视频单元的边界样点可以由扩展函数来填充。
示例23
在一个示例中,填充样点可用于滤波过程。此外,由滤波过程滤波的样点可用于填充样点。
示例24
在一个示例中,BF中的滤波可以在子块级别执行。
示例25
在一个示例中,编解码和/或统计信息可以由子块(例如,2×2/1×2/2×1)共享。在示例中,第一子块的滤波结果可用于对第二子块的样点进行滤波。在示例中,第一子块的未滤波样点可用于对第二子块的样点进行滤波。
示例26
在一个示例中,BF可以在视频编解码器编解码流程中的不同阶段执行。在一个示例中,BF可以用在环路滤波阶段。在一个示例中,BR可以在DF之前或之后执行。在一个示例中,BF可以在SAO滤波器之前或之后执行。在一个示例中,BF可以在CCSAO滤波器之前或之后执行。在一个示例中,BF可以在ALF之前或之后执行。在一个示例中,BF可以在其他环路滤波器之前或之后执行。在一个示例中,BF可以被执行为后处理滤波器,其在解码完成后对样点/像素进行滤波。
示例27
在一个示例中,第一滤波阶段(例如,BF)可以相对于第二滤波过程(例如,SAO、ALF、BF或其他环路滤波器)独立地执行。例如,第一和第二滤波器可以应用于相同的输入样点,产生第一偏移和第二偏移。可以基于第一和第二偏移两者来推导输出样点。输出样点可以被限幅。输出样点可以由下一阶段进一步处理。
示例28
在一个示例中,多个滤波过程(例如,BF和CCSAO)可以以不同的顺序执行。在一个示例中,BF和CCSAO可以并行执行,并且使用相同的输入样点(例如,来自去方块滤波器的样点)来分别生成偏移。可以基于这两个偏移来推导输出样点。输出样点可以被限幅。输出样点可以由下一阶段进一步处理。在一个示例中,BF和CCSAO可以按顺序执行和/或可以使用不同的输入来分别生成单独的偏移。来自每个阶段的输出样点可以被限幅并用作下一阶段的输入。滤波顺序可以是BF第一,CCSAO第二。滤波顺序可以是CCSAO第一,BF第二。
示例29
在一个示例中,可以独立或联合执行多个滤波过程(例如,BF和CCSAO)。在一个示例中,BF和CCSAO可以联合执行。在一个示例中,通过CCSAO生成的偏移可以用于生成BF的偏移。在一个示例中,通过BF生成的偏移可以用于生成CCSAO的偏移。在一个示例中,当通过CCSAO生成的偏移大于或小于阈值时,可以针对样点跳过BF。在一个示例中,当通过BF生成的偏移大于或小于阈值时,可以针对样点跳过CCSAO。在一个示例中,可以基于通过BF和CCSAO生成的偏移的总和和/或差来推导输出样点。在一个示例中,可以基于通过BF和CCSAO生成的偏移的加权和来推导输出样点。在一个示例中,BF和CCSAO可以独立执行。
示例30
在一个示例中,通过SAO生成的偏移可以由BF和CCSAO参考。在一个示例中,当通过SAO生成的偏移大于或小于阈值时,可以跳过BF和CCSAO。在一个示例中,多于两个滤波过程可以并行或顺序进行。在一个示例中,色度上的SAO、色度上的BF以及CCSAO可以并行或顺序进行。在一个示例中,对于样点,第一偏移可以通过色度上的SAO生成,第二偏移可以通过色度上的BF生成,第三偏移可以通过CCSAO生成,并且这三个偏移可以被加到重构样点。在一个示例中,色度上的SAO、色度上的BF以及CCSAO中的两个可以并行进行,并且可以与其中的第三个顺序进行。
示例31
在一个示例中,BF可以在解码器处生成重构样点之前应用于预测样点。在一个示例中,BF可以应用于编解码块的重构样点,其可用于预测后续样点或块。在示例中,BF可以在基于神经网络的滤波器之前或之后执行。
示例32
在一个示例中,可将视频单元或样点分类成多个组,且可使用与组相关联的一个或多个参数。在一个示例中,较高级别视频区域内的视频单元可通过视频单元的编解码/统计信息(例如,平均值/方差/块尺寸)被分类成Nunit个组。在一个示例中,BF可具有不同类的视频单元的不同参数。在一个示例中,视频单元的编解码和/或统计信息可用于视频单元分类中。在一个示例中,输入块的平均值可用于单元分类。例如,单位平均值可以通过以下公式计算:
S=wunit×hunit
其中pi是位于视频单元内i位置的亮度或色度,wunit和hunit分别是视频单元的宽度和高度。
示例33
在一个示例中,视频单元的方差可用于单元分类。单位方差可通过以下公式计算:
/>
示例34
在一个示例中,固定阈值Tunit_class(例如,Tunit_class=1024)可用于基于单位方差来计算视频单元的类索引。单位平均值或其他统计信息如下:
其中0≤indexunit<Nunit,并且infounit是对应的统计信息。
示例35
在一个示例中,可使用一组阈值[T1,T2,...TN-1]来基于单位方差、单位平均值或其它统计信息对视频单元进行分类,如下:
indexunit=0当(0≤infounit<T1)时
indeXunit=Nunit-2当(TN-2≤infounit<TN-1)时
indexunit=Nunit-1当(TN-1≤infounit)时
其中0≤indexunit<Nunit,并且infounit代表对应的统计信息。
示例36
在一个示例中,视频单元的宽度或高度可单独用于块分类。在一个示例中,视频单元的宽度和高度可在块分类中联合使用。
示例37
在一个示例中,视频单元可以是CTU、CTB、CU、CB和/或TB。在一个示例中,较高级别的视频区域可以是条带、子图片、片、图块、图片和/或序列。在一个示例中,视频单元内的样点可被分类成Nsample组。在一个示例中,BF可具有关于视频单元中不同类的样点的不同参数。在一个示例中,窗口内的编解码/统计信息可以用于样点/像素分类。在一个示例中,样点分类中使用的编解码/统计信息可以是窗口内的平均值。在一个示例中,样点分类中使用的编解码/统计信息可以是窗口内的方差。在一个示例中,样点分类中使用的编解码/统计信息可以是窗口内的梯度信息。在一个示例中,梯度信息可以是窗口内梯度的最小值。在一个示例中,梯度信息可以是窗口内梯度的最大值。在一个示例中,梯度信息可以是窗口内梯度的平均值。在一个示例中,窗口形状可以是正方形。在一个示例中,窗口形状可以是菱形。在一个示例中,窗口形状可以是十字形。在一个示例中,窗口形状可以是对称的。在一个示例中,窗口形状可以是不对称的。在一个示例中,视频单元可以是CTU、CTB、CU、CB和/或TB。
示例38
在一个示例中,是否和/或如何对视频单元或视频单元内的样点/像素应用BF可取决于编解码信息或即时确定。在一个示例中,编解码信息可指代视频单元中的变换系数。在一个示例中,当视频单元具有一个或多个不等于0的变换系数级别时,例如当当前视频单元的编解码块标志(CBF)等于1时,可应用BF。在一个示例中,当视频单元具有全零变换系数级别时,例如当当前视频单元的CBF等于0时,BF可被禁止。在一个示例中,编解码信息可指代视频单元的色彩分量和/或色彩格式。在一个示例中,当当前视频单元的分量是YCbCr格式的Cb和/或Cr时,可以应用BF。在一个示例中,当当前视频单元的分量是RGB格式的G、B和/或R时,可以应用BF。在一个示例中,编解码信息可以指QP。在一个示例中,当当前视频单元的QP大于TQP(例如,TQP=17)时,可应用BF。
示例39
在一个示例中,编解码信息可指代视频单元的维度和/或尺寸。在一个示例中,当当前视频单元的宽度和高度的最小值小于或大于Tsize_min(例如,Tsize_min=16)时,可以应用BF。在一个示例中,当当前视频单元的宽度和高度的最大值小于或大于Tsize_max(例如,Tsize_max=64)时,可以应用BF。在一个示例中,当当前视频单元的宽度和高度都小于或大于Tsize_both(例如,Tsize_both=8)时,可以应用BF。在一个示例中,编解码信息可指代视频单元中的样点/像素的数量。在一个示例中,当视频单元内的样点数量乘以因子Fnum(例如,Fnum=1、2或4)大于或小于或等于Tnum(例如,Tnum=16)时,可以应用BF。在一个示例中,编解码信息可指代任何编解码模式或信息,例如帧间预测模式、帧内预测模式、merge标志、merge索引、仿射标志、运动矢量、参考索引等。在一个示例中,对于视频单元中的两个样点/像素,它们中的一个可以被BF滤波,而另一个不被滤波。
示例40
在一个示例中,可使用一个或多个语法元素向解码器信令通知是否使用和/或如何使用视频单元的BF。在一个示例中,可以在VPS、SPS、PPS、图片、子图片、条带、片、条带组、片组、CTU、CU、PU、TU、CTB、CB、PB、TB和/或其他级别信令通知一个或多个语法元素。在一个示例中,可以向解码器侧信令通知条带级别语法元素。条带级别语法元素可以由RDO运算来确定。在示例中,条带级别语法元素可决定环路滤波器是否应用于条带内的视频块。在示例中,可以根据CCSAO的条带、CTU、CU和/或TU级别语法元素来确定条带级别语法元素。
示例41
在一个示例中,可以将CTU级别语法元素信令通知给解码器侧。CTU级别语法元素可以通过RDO运算来确定。CTU级别语法元素可决定环路滤波器是否应用于CTU内的视频块。在一个示例中,可以基于CCSAO的条带、CTU、CU和/或TU级别语法来确定CTU级别语法。在一个示例中,CTU级别语法可以被设置为等于CCSAO的条带、CTU、CU和/或TU级别语法元素。在一个示例中,CTU级别语法可以被设置为与CCSAO的条带、CTU、CU和/或TU级别语法元素相反。在一个示例中,可以将CU级别语法元素信令通知给解码器侧。在一个示例中,CU级别语法元素可由RDO运算来确定。在一个示例中,可以基于CCSAO的条带、CTU、CU和/或TU级别语法来确定CU级别语法元素。在一个示例中,CU级别语法元素可以在CU初始过程中被设置为假。在一个示例中,当当前CU的信道类型不等于亮度时,可不在编码器侧信令通知CU级别语法元素,且可在解码器侧将其设置为假。在一个示例中,当当前CU的QP小于阈值TCUQP(例如,TCUQP=17)时,可不在编码器侧信令通知CU级别语法元素,且可在解码器侧将其设置为假。在一个示例中,当当前CU的宽度和高度的最大值不小于阈值TCUmax(例如,TCUmax=64)时,可不在编码器侧信令通知CU级别语法元素,且可在解码器侧将其设置为假。在一个示例中,当当前CU的宽度和高度的最小值不小于阈值TCUmin(例如,TCUmin=16)时,可不在编码器侧信令通知CU级别语法元素,且可在解码器侧将其设置为假。在一个示例中,当当前CU的宽度和高度均不小于或不大于阈值TCUboth(例如,TCUboth=8)时,CU级别语法元素可不在编码器侧信令通知,且可在解码器侧设置为假。
示例42
在一个示例中,TU级别语法元素可以信令通知给解码器侧。在一个示例中,TU级别语法元素可由RDO运算来确定。在一个示例中,可以根据CCSAO的条带、CTU、CU和/或TU级别语法元素来确定TU级别语法元素。在一个示例中,TU级别语法元素可以在TU初始过程中被设置为假。在一个示例中,当当前TU的信道类型不等于亮度时,TU级别语法元素可不在编码器侧信令通知,且可在解码器侧设置为假。在一个示例中,当当前TU的QP小于阈值TTUQP(例如,TTUQP=17)时,TU级别语法元素可不在编码器侧信令通知,且可在解码器侧设置为假。在一个示例中,当当前TU的CBF等于假时,TU级别语法元素可以不在编码器侧信令通知,并且可以在解码器侧被设置为假。在一个示例中,当当前TU的宽度和高度的最大值不小于阈值TTUmax(例如,TTUmax=64)时,TU级别语法元素可不在编码器侧信令通知,且可在解码器侧设置为假。在一个示例中,当当前TU的宽度和高度的最小值不小于阈值TTUmin(例如,TTUmin=16)时,TU级别语法元素可不在编码器侧信令通知,且可在解码器侧设置为假。在一个示例中,当当前TU的宽度和高度均不小于或不大于阈值TTUboth(例如,TTUboth=8)时,TU级别语法元素可不在编码器侧信令通知,且可在解码器侧设置为假。在一个示例中,语法元素可以通过基于旁路的方法来编解码。在一个示例中,语法元素可以通过基于上下文的方法来编解码在一个示例中,可以不信令通知和在解码器侧基于不同级别的CCSAO的语法元素推导该语法元素。
示例43
在示例中,可以有条件地信令通知用于指示色度分量上的BF使用的语法元素。在一个示例中,仅当亮度SAO被启用时,才可以信令通知上述语法元素。在一个示例中,仅当亮度BF被启用时,才可以信令通知上述语法元素。在一个示例中,仅当CCSAO被启用时,才可以信令通知上述语法元素。在一个示例中,仅当CCSAO被禁用时,才可以信令通知上述语法元素。在一个示例中,仅当满足某些解码信息时(例如,CBF等于1),才可以信令通知上述语法元素。
示例44
在一个示例中,BF的语法元素可以由CCSAO参考或使用。CCSAO的语法元素可以根据不同级别的BF的语法元素来确定。在示例中,可以不信令通知和在解码器侧基于不同级别的BF的语法元素推导CCSAO的语法元素。
示例45
在示例中,视频单元可指代序列、图片、子图片、条带、片、编解码树单元(CTU)、CTU行、CTU组、编解码单元(CU)、预测单元(PU)、变换单元(TU)、编解码树块(CTB)、编解码块(CB)、预测块(PB)、变换块(TB)和/或含有多于一个亮度或色度样点/像素的任何其它区域。
示例46
在一个示例中,是否和/或如何应用上述公开的方法可以在序列级别、图片组级别、图片级别、条带级别和/或片组级别信令通知,例如在序列标头、图片标头、SPS、VPS、DPS、解码能力信息(DCI)、PPS、自适应参数集(APS)、条带标头和/或片组标头中。
示例47
在一个示例中,可以在PB、TB、CB、PU、TU、CU、虚拟管线数据单元(virtualpipeline data unit,VPDU)、CTU、CTU行、条带、片、子图片或包含多于一个样点或像素的其他区域信令通知是否和/或如何应用上述公开的方法。
示例48
在一个示例中,是否和/或如何应用上述公开的方法可以取决于编解码信息,例如块尺寸、色彩格式、单/双树分割、色彩分量、条带/图片类型。
现在讨论示例实施方式。在下面的示例性实施例中,BF可以在色度分量上执行,并且与SAO滤波器并行。BF可以作为SAO环路滤波器级的一部分来执行。BF和SAO都使用去方块滤波器生成的样点作为输入。这两个滤波器都为每个样点生成偏移。这两个偏移被添加到输入样点中,然后在进入ALF之前被限幅。
在示例中,输出样点IOUT可以被计算为
IOUT=clip3(IC+ΔIBF+ΔISAO)
其中,IC是来自去方块滤波器的输入样点,ΔIBIF是来自双边滤波器的偏移,ΔISAO是来自SAO的偏移,并且clip3是限幅函数。BF可以允许编解码器启用或禁用CTU和条带级别的滤波。编码器通过评估RDO成本来做出决定。
PPS中引入了以下语法元素。示例,PPS RBSP语法如下。
pps_chroma_bilateral_filter_enabled_flag等于0规定对参考PPS的条带禁用BF。pps_chroma_bilateral_filter_flag等于1规定为参考PPS的条带启用BF。chroma_bilateral_filter_strength规定在双边变换块滤波过程中使用的BF强度值。chroma_bilateral_filter_strength的值应在0到2(包括端值)的范围内。chroma_bilateral_filter_qp_offset为参考PPS的条带规定了在推导双边滤波器查找表LUT(x)中使用的偏移。
引入了以下语法元素。示例通用条带标头语法如下。
/>
示例编解码树单元语法如下。
语义如下。slice_chroma_bilateral_filter_all_ctb_enabled_flag等于1规定BF被启用并且被应用于当前条带中的所有CTB。当slice_chroma_bilateral_filter_all_ctb_enabled_flag不存在时,其被推断为等于0。slice_chroma_bilateral_filter_enabled_flag等于1规定BF被启用,并且可以被应用于当前条带的CTB。当slice_chroma_bilateral_filter_enabled_flag不存在时,其被推断为等于slice_chroma_bilateral_filter_all_ctb_enabled_flag。chroma_bilateral_filter_ctb_flag[xCtb>>CtbLog2SizeY][yCtb>>CtbLog2SizeY]等于1规定BF应用于亮度位置(xCtb,yCtb)处的编解码树单元的色度编解码树块。
对于被滤波的CTU,滤波过程可以如下进行。在样点不可用的图片边界处,双边滤波器使用扩展(例如,样点填充)来填补不可用的样点。对于虚拟边界,行为类似于SAO(例如,不发生滤波)。当跨越水平CTU边界时,BF可以访问SAO正在访问的相同样点。
图9是双边滤波器的示例滤波模式的示意图900。根据示意图900来表示中心样点IC周围的样点,其中A、B、L、R NW、NE、SW、SE、AA和BB分别代表上样点、下样点、左样点、右样点、西北样点、东北样点、西南样点、东南样点、上-上样点和下-下样点。因此,示意图900图示了围绕中心样点的样点的命名约定。
每个周围样点IA,IR等均贡献对应的修正值等。这些修正值按以下方式计算。从样点对右侧的贡献IR开始,差计算如下:
ΔIR=(|IR-IC|+4)>>3
其中||表示绝对值。对于不是10比特的数据,可以使用下面的公式来代替ΔIR=(|IR-IC|+2n-6)>>(n-7),其中,对于8比特的数据,n=8,等等。现在,结果值被限幅如下,以使该值小于16。
sIR=min(15,ΔIR)
然后修正值计算如下:
其中,LUTROW[]是由qpb=clip(0,25,QP+chroma_bilateral_filter_qp_offset-17)的值确定的16个值的阵列,并且QP是量化参数。
和/>的修正值是用同样的方法从IL、IA和IB计算出来的。对于对角线样点INW、INE、ISE、ISW以及两步远样点IAA、IBB、IRR和ILL,计算也遵循上述等式,但使用移位1的值。例如,对角样点ISE计算如下:
其他对角线样点和两步远样点以类似的方式计算。修正值根据以下公式相加:
然后,将msum值乘以c=1、2或3,这可以使用单个加法器和逻辑与门以如下方式完成:
cv=k1&(msum<<1)+k2&msumm
其中&表示逻辑与,k1是乘数c的最高有效位,并且k2是最低有效位。使用模式和块的尺寸来获得c。
最后,可以计算色度双边滤波器偏移ΔIBIF。以下用于全强度滤波:
ΔIBIF=(cv+16)>>5
n位数据的通用公式为:
radd=214-n-chroma_bilateral_filter_strength
rshift=15-n-chroma_bilateal_filter_strengthΔIBIF=(cv+radd)>>rshift
其中,色度双边滤波器强度可以是0或1,并在PPS中被信令通知。
图10是示出可以在其中实施本文公开的各种技术的示例视频处理系统4000的框图。各种实施方式可以包括系统4000的一些或所有组件。系统4000可以包括用于接收视频内容的输入4002。视频内容可以以例如8或10比特多分量像素值的原始或未压缩格式被接收,或者可以是压缩或编码格式。输入4002可以表示网络接口、外围总线接口或存储接口。网络接口的示例包括诸如以太网、无源光网络(PON)等的有线接口和诸如Wi-Fi或蜂窝接口的无线接口。
系统4000可以包括可以实施本文档中描述的各种编解码或编码方法的编解码组件4004。编解码组件4004可以将来自输入4002的视频的平均比特率减小到编解码组件4004的输出,以产生视频的编解码表示。编解码技术因此有时被称为视频压缩或视频转码技术。编解码组件4004的输出可以被存储,或者经由如组件4006所表示的通信连接来发送。在输入4002处接收的视频的存储或通信传送的比特流(或编解码)表示可以由组件4008用于生成像素值或传送到显示接口4010的可显示视频。从比特流表示生成用户可视视频的过程有时被称为视频解压缩。此外,虽然某些视频处理操作被称为“编解码”操作或工具,但是将理解,编解码工具或操作在编码器处被使用,并且反转编解码结果的对应的解码工具或操作将由解码器执行。
外围总线接口或显示接口的示例可以包括通用串行总线(USB)、或高清晰度多媒体接口(HDMI)、或显示端口(Displayport)等。存储接口的示例包括SATA(串行高级技术附件)、PCI、IDE接口等。本文档中描述的技术可以体现在各种电子设备中,诸如移动电话、膝上型电脑、智能电话、或能够执行数字数据处理和/或视频显示的其他设备。
图11是示例视频处理装置4100的框图。装置4100可以用于实施本文描述的一种或多种方法。装置4100可以体现在智能手机、平板电脑、计算机、物联网(IoT)接收器等中。装置4100可以包括一个或多个处理器4102、一个或多个存储器4104和视频处理电路4106。(多个)处理器4102可以被配置为实施本文档中描述的一种或多种方法。存储器(多个存储器)4104可以用于存储用于实施本文描述的方法和技术的数据和代码。视频处理电路4106可以用于在硬件电路系统中实施本文档中描述的一些技术。在一些实施例中,视频处理电路4106可以至少部分被包括在处理器4102(例如,图形协处理器)中。
图12是视频处理的示例方法4200的流程图。方法4200包括在步骤4202,确定将双边滤波器和CCSAO滤波器应用于当前图片的当前块中的样点。双边滤波器包括基于周围样点和中心样点之间的距离以及周围样点和中心样点的强度差而变化的滤波器权重。
在步骤4204,基于双边滤波器和CCSAO滤波器来执行可视媒体数据和比特流之间的转换。当在编码器上执行方法4200时,转换包括将可视媒体数据编码为比特流。例如,转换包括将视频单元编码为比特流。编码为比特流的视频单元然后被重构以用作用于编码后续视频单元的参考视频单元。当在解码器上执行方法4200时,转换包括解析和解码比特流以获得可视媒体数据中的视频单元。在任一情况下,在步骤4204,双边滤波器和CCSAO滤波器被应用于视频单元中的样点。
在示例中,CCSAO滤波器在双边滤波器之前被应用。例如,CCSAO滤波器可以接收输入样点,生成CCSAO偏移,并且输出通过CCSAO偏移修改的输入样点。双边滤波器然后可以接收通过CCSAO偏移修改的输入样点,生成双边偏移,并且输出通过CCSAO偏移和双边偏移修改的输入样点。
在示例中,双边滤波器在CCSAO滤波器之前被应用。例如,双边滤波器可以接收输入样点,生成双边偏移,并且输出通过双边偏移修改的输入样点。CCSAO滤波器然后可以接收通过双边偏移修改的输入样点,生成CCSAO偏移,并且输出通过双边偏移和CCSAO偏移修改的输入样点。
在示例中,CCSAO滤波器可以与双边滤波器并行地被应用。例如,双边滤波器和CCSAO滤波器可以接收相同的输入样点。双边滤波器可以基于输入样点来生成双边偏移,并且CCSAO滤波器可以基于输入样点来生成CCSAO偏移。然后可以基于双边偏移和CCSAO偏移来推导输出样点。在这些示例中的任何一个中,输出样点可以在滤波器阶段之前、之后和/或之间被限幅。
在示例中,双边滤波器可以生成双边偏移,并且CCSAO滤波器可以基于来自双边滤波器的双边偏移来生成CCSAO偏移。在另一示例中,CCSAO滤波器可以生成CCSAO偏移,并且双边滤波器可以基于来自CCSAO滤波器的CCSAO偏移来生成双边偏移。
在示例中,基于阈值与由双边滤波器生成的双边偏移的比较,跳过将CCSAO滤波器应用于样点。在另一示例中,基于阈值与由CCSAO滤波器生成的CCSAO偏移的比较,跳过将双边滤波器应用于样点。在示例中,基于阈值与由SAO滤波器生成的SAO偏移的比较,跳过将CCSAO滤波器和双边滤波器应用于样点。
在示例中,输出样点基于由CCSAO滤波器生成的CCSAO偏移和由双边滤波器生成的双边偏移的加权和而被推导。在另一示例中,输出样点基于由CCSAO滤波器生成的CCSAO偏移和由双边滤波器生成的双边偏移之和而被推导。在另一示例中,输出样点基于由CCSAO滤波器生成的CCSAO偏移和由双边滤波器生成的双边偏移的差而被推导。
在示例中,SAO滤波器、CCSAO滤波器和双边滤波器被顺序地应用于色度样点。在示例中,SAO滤波器、CCSAO滤波器和双边滤波器被并行地应用于色度样点。在示例中,输出样点基于由CCSAO滤波器生成的CCSAO偏移、由双边滤波器生成的双边偏移和由SAO滤波器生成的SAO偏移之和而被推导。在示例中,SAO滤波器、CCSAO滤波器或双边滤波器中的两个被并行地应用,并且剩余的滤波器(SAO滤波器、CCSAO滤波器或双边滤波器中的一个)与其他两个顺序地被应用。
在示例中,双边滤波器的使用在双边滤波器语法元素中在比特流中被指示,并且双边滤波器语法元素基于描述CCSAO滤波器的使用的CCSAO滤波器语法元素而被设置。在示例中,双边滤波器语法元素被包含在描述条带、CTU、CU或TU的语法中。在示例中,CCSAO滤波器语法元素被包含在描述条带、CTU、CU或TU的语法中。在示例中,基于CCSAO滤波器语法元素,双边滤波器语法元素被有条件地包括在比特流中。在示例中,CCSAO滤波器语法元素基于双边滤波器语法元素而被设置。在示例中,CCSAO滤波器的使用基于双边滤波器语法元素而被确定。
应当注意,方法4200可以在用于处理视频数据的装置中实施,该装置包括处理器和其上具有指令的非暂时性存储器,诸如视频编码器4400、视频解码器4500和/或编码器4600。在这种情况下,该指令在由处理器执行时使得处理器执行方法4200。此外,方法4200可以由包括供视频编解码设备使用的计算机程序产品的非暂时性计算机可读介质执行。该计算机程序产品包括存储在非暂时性计算机可读介质上的计算机可执行指令,使得当由处理器执行时,使视频编解码设备执行方法4200。
图13是示出可以利用本公开的技术的示例视频编解码系统4300的框图。视频编解码系统4300可以包括源设备4310和目标设备4320。源设备4310生成编码视频数据,其中该源设备4310可以被称为视频编码设备。目标设备4320可以解码由源设备4310生成的编码视频数据,其中该目标设备4320可以被称为视频解码设备。
源设备4310可以包括视频源4312、视频编码器4314和输入/输出(I/O)接口4316。视频源4312可以包括源,诸如视频捕捉设备、从视频内容提供器接收视频数据的接口、和/或用于生成视频数据的计算机图形系统、或这些源的组合。视频数据可以包括一个或多个图片。视频编码器4314对来自视频源4312的视频数据进行编码,以生成比特流。比特流可以包括形成视频数据的编解码表示的比特序列。比特流可以包括编解码图片和相关数据。编解码图片是图片的编解码表示。相关数据可以包括序列参数集、图片参数集和其他语法结构。I/O接口4316可以包括调制器/解调器(调制解调器)和/或发送器。编码视频数据可以通过网络4330经由I/O接口4316直接发送到目标设备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)标准、多功能视频编解码(VVM)标准和其他当前和/或另外的标准。
图14是示出视频编码器4400的示例的框图,该视频编码器4400可以是在图13中示出的系统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可以执行一个或多个熵编码操作,以生成熵编码数据,并输出包括该熵编码数据的比特流。
图15是示出视频解码器4500的示例的框图,该视频解码器4500可以是在图13中示出的系统4300中的视频解码器4324。视频解码器4500可以被配置为执行本公开的任何或所有技术。在示出的示例中,视频解码器4500包括多个功能组件。本公开中描述的技术可以在视频解码器4500的各种组件之间共享。在一些示例中,处理器可以被配置为执行本公开中描述的任何或所有技术。
在示出的示例中,视频解码器4500包括熵解码单元4501、运动补偿单元4502、帧内预测单元4503、逆量化单元4504、逆变换单元4505、重构单元4506和缓冲区4507。在一些示例中,视频解码器4500可以执行通常与针对视频编码器4400描述的编码遍次相反的解码过程。
熵解码单元4501可以检索编码比特流。编码比特流可以包括熵编解码的视频数据(例如,视频数据的编码块)。熵解码单元4501可以对熵编解码的视频数据进行解码,并且从熵解码的视频数据中,运动补偿单元4502可以确定包括运动矢量、运动矢量精度、参考图片列表索引和其他运动信息的运动信息。运动补偿单元4502可以例如通过执行AMVP和Merge模式来确定这样的信息。
运动补偿单元4502可以产生运动补偿块,可以基于插值滤波器执行插值。要以子像素精度使用的插值滤波器的标识符可以包括在语法元素中。
运动补偿单元4502可以使用如视频编码器4400在视频块的编码期间所使用的插值滤波器来计算参考块的子整数像素的插值。运动补偿单元4502可以根据所接收的语法信息确定视频编码器4400使用的插值滤波器,并使用该插值滤波器来产生预测块。
运动补偿单元4502可以使用一些语法信息来确定用于对编码视频序列的(多个)帧和/或(多个)条带进行编码的块的尺寸、描述编码视频序列的图片的每个宏块如何被分割的分割信息、指示每个分割如何被编码的模式、每个帧间编解码块的一个或多个参考帧(和参考帧列表)、以及用于对编码视频序列进行解码的其他信息。
帧内预测单元4503可以使用例如在比特流中接收的帧内预测模式来从空域上相邻的块形成预测块。逆量化单元4504对在比特流中提供并由熵解码单元4501解码的量化后的视频块系数进行逆量化,即,反量化。逆变换单元4505应用逆变换。
重构单元4506可以将残差块与由运动补偿单元4502或帧内预测单元4503生成的对应预测块相加,以形成解码块。如果需要,还可以应用去方块滤波器对解码块进行滤波,以便移除块效应。解码视频块然后被存储在缓冲区4507中,为随后的运动补偿/帧内预测提供参考块,并且还产生解码视频以在显示设备上呈现。
图16是示例编码器4600的示意图。编码器4600适合于实现VVC技术。编码器4600包括三个环路滤波器,即去方块滤波器(DF)4602、样点自适应偏移(SAO)4604和自适应环路滤波器(ALF)4606。与使用预定义滤波器的DF 4602不同,SAO 4604和ALF 4606利用当前图片的原始样点,通过分别添加偏移和应用有限脉冲响应(FIR)滤波器,利用编解码的辅助信息信令通知偏移和滤波器系数,来减小原始样点和重构样点之间的均方误差。ALF4606位于每个图片的最后处理阶段,并且可以被视为试图捕捉和修复由先前阶段创建的伪像的工具。
编码器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.一种媒体数据处理的方法(例如,图12中描绘的方法4200),包括:执行包括一个或多个色彩分量的视频和视频的比特流之间的转换,其中,该转换包括根据规则将一个或多个双边滤波器应用于一个或多个色彩分量的视频单元。
2.根据解决方案1所述的方法,其中,该规则指定将不同的双边滤波器用于视频的不同色彩分量。
3.根据解决方案1-2中任一项所述的方法,其中,一个或多个双边滤波器在子块级别被应用。
4.根据解决方案1-3中任一项所述的方法,其中,该规则指定在将双边滤波器应用于色度分量期间使用亮度分量的样点。
5.一种视频处理的方法,包括:执行包括图片的视频和视频的比特流之间的转换,其中,该转换包括使用来自不同视频图片的样点将双边滤波器应用于视频图片中的样点。
6.根据上述解决方案中任一项所述的方法,其中,该应用包括在应用一个或多个双边滤波器之前或之后填充样点。
7.根据上述解决方案中任一项所述的方法,其中,该应用在编解码流程中的预定义阶段,其中,预定义阶段在去方块滤波器之前或之后、或者在样点自适应偏移滤波器之前或之后。
8.一种视频处理的方法,包括:执行包括视频单元的视频和视频的比特流之间的转换,其中,该转换包括根据规则将双边滤波器应用于视频单元的一组样点。
9.根据上述解决方案中任一项所述的方法,其中,比特流中的语法元素指示是否应用双边滤波器。
10.根据解决方案1-9中任一项所述的方法,其中,双边滤波器被应用为环路滤波器。
11.根据解决方案1-9中任一项所述的方法,其中,双边滤波器被应用为后处理滤波器。
12.根据解决方案1-11中任一项所述的方法,其中,该转换包括从视频生成比特流。
13.根据解决方案1-12中任一项所述的方法,其中,该转换包括从比特流生成视频。
14.一种视频解码装置,包括被配置为实施根据解决方案1至12中的一项或多项所述的方法的处理器。
15.一种视频编码装置,包括被配置为实施根据解决方案1至12中的一项或多项所述的方法的处理器。
16.一种存储有计算机代码的计算机程序产品,该代码在由处理器执行时使得所述处理器实施根据解决方案1至12中任一项所述的方法。
17.一种视频处理的方法,包括根据解决方案1-11中任一项或多项所述的方法生成比特流,并且将比特流存储在计算机可读介质上。
18.一种在本文档中描述的方法、装置、或系统。
在本文描述的解决方案中,编码器可以通过根据格式规则产生编解码表示来符合格式规则。在本文描述的解决方案中,解码器可以在根据格式规则知道语法元素的存在和不存在的情况下,使用格式规则来解析编解码表示中的语法元素,以产生解码视频。
在本文档中,术语“视频处理”可以指视频编码、视频解码、视频压缩或视频解压缩。例如,在从视频的像素表示到对应的比特流表示的转换期间,可以应用视频压缩算法,反之亦然。如语法所定义的,当前视频块的比特流表示可以例如对应于并置或者散布在比特流内的不同地方的比特。例如,可以按照变换和编解码的误差残差值并且还使用比特流中的标头和其他字段中的比特对宏块进行编码。此外,在转换期间,解码器可以基于确定,在知道一些字段可能存在或不存在的情况下解析比特流,如以上解决方案中所述。类似地,编码器可以确定包括或不包括某些语法字段,并通过包括或排除来自编解码表示的语法字段来相应地生成编解码表示。
本文档中描述的所公开的以及其他解决方案、示例、实施例、模块和功能操作可以在数字电子电路中、或者在计算机软件、固件或硬件(包括本文档中公开的结构及其结构等同物)中、或者在它们中的一个或多个的组合中被实施。所公开的以及其他实施例可以被实施为一个或多个计算机程序产品,即在计算机可读介质上编码的计算机程序指令的一个或多个模块,该计算机程序指令用于由数据处理装置执行或控制数据处理装置的操作。计算机可读介质可以是机器可读存储设备、机器可读存储基板、存储器设备、影响机器可读传播信号的物质的组合、或它们中的一个或多个的组合。术语“数据处理装置”包含用于处理数据的所有装置、设备和机器,包括例如可编程处理器、计算机、或多个处理器或计算机。除了硬件之外,装置还可以包括为所讨论的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统、或它们中的一个或多个的组合的代码。传播信号是被生成以对信息进行编码以用于发送到合适的接收器装置的人工生成的信号,例如机器生成的电信号、光学信号或电磁信号。
计算机程序(也已知为程序、软件、软件应用、脚本或代码)可以以任何形式的编程语言(包括编译或解释语言)编写,并且其可以以任何形式部署,包括作为独立程序或作为适合在计算环境中使用的模块、组件、子例程或其他单元。计算机程序不一定对应于文件系统中的文件。程序可以存储在保存其他程序或数据(例如,存储在标记语言文档中的一个或多个脚本)的文件的一部分中,存储在专用于所讨论的程序的单个文件中,或存储在多个协调文件中(例如,存储一个或多个模块、子程序或代码部分的文件)。计算机程序可以被部署为在一个计算机上或在位于一个站点上或跨多个站点分布并通过通信网络互连的多个计算机上执行。
本文档书中描述的过程和逻辑流程可以由执行一个或多个计算机程序的一个或多个可编程处理器执行,以通过对输入数据进行操作并生成输出来执行功能。过程和逻辑流程也可以由专用逻辑电路执行,并且装置也可以被实施为专用逻辑电路,例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路)。
适合于执行计算机程序的处理器包括例如通用和专用微处理器、以及任何类型的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行指令的处理器和用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括用于存储数据的一个或多个大容量存储设备(例如,磁盘、磁光盘或光盘),或可操作地耦合以从该一个或多个大容量存储设备接收数据或向该一个或多个大容量存储设备传递数据、或者从其接收数据并向其传递数据。然而,计算机不需要这样的设备。适用于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,包括例如半导体存储器设备,例如可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)和闪存设备;磁盘,例如内部硬盘或可换式盘;磁光盘;以及光盘只读存储器(CD ROM)和数字通用磁盘只读存储器(DVD-ROM)盘。处理器和存储器可以由专用逻辑电路补充或并入专用逻辑电路中。
虽然本专利文档包含许多细节,但这些细节不应被解释为对任何主题或可能要求保护的范围的限制,而是作为指定于特定技术的特定实施例的特征的描述。在本专利文档中在单独的实施例的上下文中描述的某些特征也可以在单个实施例中组合实施。相反,在单个实施例的上下文中描述的各种特征也可以单独在多个实施例中或以任何合适的子组合实施。此外,尽管特征可以在上面描述为以某些组合起作用并且甚至最初如此要求保护,但是在一些情况下可以从组合排除来自所要求保护的组合的一个或多个特征,并且所要求保护的组合可以针对子组合或子组合的变化。
类似地,虽然在附图中以特定顺序描绘了操作,但是这不应该被理解为需要以所示的特定顺序或以先后顺序执行这样的操作或者执行所有示出的操作以实现期望的结果。此外,在本专利文档中描述的实施例中的各种系统组件的分离不应被理解为在所有实施例中都需要这样的分离。
仅描述了一些实施方式和示例,并且可以基于本专利文档中描述和示出的内容来进行其他实施方式、增强和变化。
当在第一组件与第二组件之间除了线、迹线或另一介质之外不存在中间组件时,第一组件直接耦合到第二组件。当在第一组件与第二组件之间除了线、迹线或另一介质之外还存在中间组件时,第一组件间接耦合到第二组件。术语“耦合”及其变体包括直接耦合和间接耦合。术语“大约”的使用意味着包括随后的数值的±10%的范围,除非另有说明。
虽然在本公开中已经提供了几个实施例,但是应当理解,在不脱离本公开的精神或范围的情况下,公开的系统和方法可以以许多其他具体形式来体现。当前的示例被认为是说明性的而非限制性的,并且意图不限于本文给出的细节。例如,各种元件或组件可以组合或集成在另一系统中,或者可以省略或不实施某些特征。
此外,在不脱离本公开的范围的情况下,在各种实施例中被描述和图示为分立或分开的技术、系统、子系统和方法可以与其他系统、模块、技术或方法组合或集成。被示出或讨论为耦合的其他项目可以直接连接,或者可以通过一些接口、设备或中间组件间接耦合或通信,不管是以电气方式、机械方式还是其他方式。改变、替换和更改的其他示例可以由本领域技术人员确定,并且可以在不脱离本文公开的精神和范围的情况下进行。

Claims (32)

1.一种用于处理视频数据的方法,包括:
确定将双边滤波器和跨分量样点自适应偏移(CCSAO)滤波器应用于当前图片的当前块中的样点,其中,所述双边滤波器包括基于周围样点和中心样点之间的距离以及周围样点和中心样点的强度差而变化的滤波器权重;以及
基于所述双边滤波器和所述CCSAO滤波器来执行可视媒体数据和比特流之间的转换。
2.根据权利要求1所述的方法,其中,所述CCSAO滤波器在所述双边滤波器之前被应用。
3.根据权利要求2所述的方法,其中,所述CCSAO滤波器接收输入样点,生成CCSAO偏移,并且输出通过所述CCSAO偏移修改的输入样点,并且其中,所述双边滤波器接收通过所述CCSAO偏移修改的输入样点,生成双边偏移,并且输出通过所述CCSAO偏移和所述双边偏移修改的输入样点。
4.根据权利要求1所述的方法,其中,所述双边滤波器在所述CCSAO滤波器之前被应用。
5.根据权利要求4所述的方法,其中,所述双边滤波器接收输入样点,生成双边偏移,并且输出通过所述双边偏移修改的输入样点,并且其中,所述CCSAO滤波器接收通过所述双边偏移修改的输入样点,生成CCSAO偏移,并且输出通过所述双边偏移和所述CCSAO偏移修改的输入样点。
6.根据权利要求1所述的方法,其中,所述CCSAO滤波器与所述双边滤波器并行地被应用。
7.根据权利要求6所述的方法,其中,所述双边滤波器和所述CCSAO滤波器接收相同的输入样点,其中,所述双边滤波器基于所述输入样点来生成双边偏移,其中,所述CCSAO滤波器基于所述输入样点来生成CCSAO偏移,并且其中,输出样点基于所述双边偏移和所述CCSAO偏移而被推导。
8.根据权利要求1-7中任一项所述的方法,其中,所述输出样点被限幅。
9.根据权利要求1-8中任一项所述的方法,其中,所述双边滤波器生成双边偏移,并且其中,所述CCSAO滤波器基于来自所述双边滤波器的双边偏移来生成CCSAO偏移。
10.根据权利要求1-9中任一项所述的方法,其中,所述CCSAO滤波器生成CCSAO偏移,并且其中,所述双边滤波器基于来自所述CCSAO滤波器的CCSAO偏移来生成双边偏移。
11.根据权利要求1-10中任一项所述的方法,其中,基于阈值与由所述双边滤波器生成的双边偏移的比较,将所述CCSAO滤波器应用于样点被跳过。
12.根据权利要求1-11中任一项所述的方法,其中,基于阈值与由所述CCSAO滤波器生成的CCSAO偏移的比较,将所述双边滤波器应用于样点被跳过。
13.根据权利要求1-12中任一项所述的方法,其中,所述输出样点基于由所述CCSAO滤波器生成的CCSAO偏移和由所述双边滤波器生成的双边偏移的加权和而被推导。
14.根据权利要求1-13中任一项所述的方法,其中,所述输出样点基于由所述CCSAO滤波器生成的CCSAO偏移和由所述双边滤波器生成的双边偏移之和而被推导。
15.根据权利要求1-14中任一项所述的方法,其中,所述输出样点基于由所述CCSAO滤波器生成的CCSAO偏移和由所述双边滤波器生成的双边偏移的差而被推导。
16.根据权利要求1-15中任一项所述的方法,其中,基于阈值与由样点自适应偏移(SAO)滤波器生成的SAO偏移的比较,将所述CCSAO滤波器和所述双边滤波器应用于样点被跳过。
17.根据权利要求1-16中任一项所述的方法,其中,SAO滤波器、所述CCSAO滤波器和所述双边滤波器被顺序地应用于色度样点。
18.根据权利要求1-16中任一项所述的方法,其中,SAO滤波器、所述CCSAO滤波器和所述双边滤波器被并行地应用于色度样点。
19.根据权利要求1-18中任一项所述的方法,其中,所述输出样点基于由所述CCSAO滤波器生成的CCSAO偏移、由所述双边滤波器生成的双边偏移和由SAO滤波器生成的SAO偏移之和而被推导。
20.根据权利要求1-19中任一项所述的方法,其中,SAO滤波器、所述CCSAO滤波器或所述双边滤波器中的两个被并行地应用,并且其中,所述SAO滤波器、所述CCSAO滤波器或所述双边滤波器中的一个与所述两个顺序地被应用。
21.根据权利要求1-20中任一项所述的方法,其中,所述双边滤波器的使用在双边滤波器语法元素中在所述比特流中被指示,并且其中,所述双边滤波器语法元素基于描述所述CCSAO滤波器的使用的CCSAO滤波器语法元素而被设置。
22.根据权利要求1-21中任一项所述的方法,其中,所述双边滤波器语法元素被包含在描述条带、编解码树单元(CTU)、编解码单元(CU)或变换单元(TU)的语法中。
23.根据权利要求1-22中任一项所述的方法,其中,所述CCSAO滤波器语法元素被包含在描述条带、编解码树单元(CTU)、编解码单元(CU)或变换单元(TU)的语法中。
24.根据权利要求1-23中任一项所述的方法,其中,基于CCSAO滤波器语法元素,双边滤波器语法元素被有条件地包括在所述比特流中。
25.根据权利要求1-24中任一项所述的方法,其中,CCSAO滤波器语法元素基于双边滤波器语法元素而被设置。
26.根据权利要求1-25中任一项所述的方法,其中,所述CCSAO滤波器的使用基于双边滤波器语法元素而被确定。
27.根据权利要求1-26中任一项所述的方法,其中,所述转换包括将所述可视媒体数据编码为所述比特流。
28.根据权利要求1-27中任一项所述的方法,其中,所述转换包括从所述比特流解码所述可视媒体数据。
29.一种用于处理视频数据的装置,包括:处理器;以及非暂时性存储器,其上具有指令,其中所述指令在由处理器执行时使得所述处理器执行根据权利要求1-28所述的方法。
30.一种存储指令的非暂时性计算机可读存储介质,所述指令使得处理器执行根据权利要求1-28所述的方法。
31.一种存储通过由视频处理装置执行的方法生成的视频的比特流的非暂时性计算机可读记录介质,其中所述方法包括:
确定将双边滤波器和跨分量样点自适应偏移(CCSAO)滤波器应用于当前图片的当前块中的样点,其中,所述双边滤波器包括基于周围样点和中心样点之间的距离以及周围样点和中心样点的强度差而变化的滤波器权重;以及
基于所述确定来生成所述比特流。
32.一种用于存储视频的比特流的方法,包括:
确定将双边滤波器和跨分量样点自适应偏移(CCSAO)滤波器应用于当前图片的当前块中的样点,其中,所述双边滤波器包括基于周围样点和中心样点之间的距离以及周围样点和中心样点的强度差而变化的滤波器权重;
基于所述确定来生成所述比特流;以及
将所述比特流存储在非暂时性计算机可读记录介质中。
CN202280046468.7A 2021-07-01 2022-06-30 视频编解码中的高级双边滤波器 Pending CN117597928A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN2021104034 2021-07-01
CNPCT/CN2021/104034 2021-07-01
PCT/CN2022/102926 WO2023274370A1 (en) 2021-07-01 2022-06-30 Advanced bilateral filter in video coding

Publications (1)

Publication Number Publication Date
CN117597928A true CN117597928A (zh) 2024-02-23

Family

ID=84692541

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202280046468.7A Pending CN117597928A (zh) 2021-07-01 2022-06-30 视频编解码中的高级双边滤波器

Country Status (2)

Country Link
CN (1) CN117597928A (zh)
WO (1) WO2023274370A1 (zh)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10419757B2 (en) * 2016-08-31 2019-09-17 Qualcomm Incorporated Cross-component filter
US11153563B2 (en) * 2019-03-12 2021-10-19 Qualcomm Incorporated Combined in-loop filters for video coding
EP4035362A1 (en) * 2019-09-23 2022-08-03 VID SCALE, Inc. Joint component video frame filtering
CN112514382A (zh) * 2020-04-09 2021-03-16 北京大学 一种视频编解码方法、装置以及计算机可读存储介质

Also Published As

Publication number Publication date
WO2023274370A1 (en) 2023-01-05

Similar Documents

Publication Publication Date Title
CN114208174B (zh) 预测过程中的调色板模式编解码
CN113711591A (zh) 用于色度残差的联合编解码的语法元素的信令
CN115244924A (zh) 跨分量自适应环路滤波器的信令通知
WO2021088951A1 (en) Quantization properties of adaptive in-loop color-space transform for video coding
CN117336514A (zh) 调色板模式使用指示的独立编解码
CN117596400A (zh) 编解码块的缩放过程
CN113853787A (zh) 基于子块使用变换跳过模式
JP2024023426A (ja) ビデオコーディングにおける量子化グループの使用
CN117544777A (zh) 用于视频编解码的跨分量自适应环路滤波
WO2022268185A1 (en) Bilateral filter in video coding
WO2021093801A1 (en) Coding of low bit-depth visual media data
CN117597928A (zh) 视频编解码中的高级双边滤波器
WO2022218281A1 (en) Guided filter in video coding
WO2022268184A1 (en) Adaptive Bilateral Filter In Video Coding
WO2022268186A1 (en) Conditions for usage of adaptive bilateral filters
US20240137574A1 (en) Adaptive bilateral filter in video coding
US20240137573A1 (en) Bilateral filter in video coding
WO2023213298A1 (en) Filter shape switch for adaptive loop filter in video coding
WO2024002168A1 (en) Padding methods for adaptive loop filter in video coding
US20240137505A1 (en) Conditions for usage of adaptive bilateral filters
WO2024078566A1 (en) Multiple input sources based extended taps for adaptive loop filter in video coding
WO2023213265A1 (en) Extended taps using different sources for adaptive loop filter in video coding
WO2024094071A1 (en) Using side information for adaptive loop filter in video coding
WO2024022377A1 (en) Using non-adjacent samples for adaptive loop filter in video coding
WO2024094066A1 (en) Using side information for sample adaptive offset in video coding

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication