CN115314711A - 图像/视频编解码的基于神经网络的滤波 - Google Patents

图像/视频编解码的基于神经网络的滤波 Download PDF

Info

Publication number
CN115314711A
CN115314711A CN202210362908.1A CN202210362908A CN115314711A CN 115314711 A CN115314711 A CN 115314711A CN 202210362908 A CN202210362908 A CN 202210362908A CN 115314711 A CN115314711 A CN 115314711A
Authority
CN
China
Prior art keywords
video
filter
bitstream
picture
unit
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
CN202210362908.1A
Other languages
English (en)
Inventor
李跃
张莉
张凯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Lemon Inc Cayman Island
Original Assignee
Lemon Inc Cayman Island
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 Lemon Inc Cayman Island filed Critical Lemon Inc Cayman Island
Publication of CN115314711A publication Critical patent/CN115314711A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • 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/146Data rate or code amount at the encoder output
    • 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/184Methods 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 bits, e.g. of the compressed video stream
    • 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/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/187Methods 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 scalable video layer
    • 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/188Methods 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 video data packet, e.g. a network abstraction layer [NAL] unit
    • 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/1883Methods 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 relating to sub-band structure, e.g. hierarchical level, directional tree, e.g. low-high [LH], high-low [HL], high-high [HH]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/31Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the temporal domain
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • 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
    • 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)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • Biophysics (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

一种图像/视频编解码的基于神经网络的滤波以及处理视频数据的方法。该方法包括从多个神经网络(NN)滤波器模型候选中选择环路滤波器,其中多个NN滤波器模型候选基于视频单元的重构质量水平,以及基于所选择的环路滤波器来执行包括视频单元的视频媒体文件和比特流之间的转换。还公开了对应的视频编解码装置和非暂时性计算机可读介质。

Description

图像/视频编解码的基于神经网络的滤波
相关申请的交叉引用
本专利申请要求由Lemon公司于2021年4月7日提交的名称为“On NeuralNetwork-Based Filtering for Image/Video Coding(图像/视频编解码的基于神经网络的滤波)”的美国临时专利申请No.63/171,743的权益,其通过引用并入本文。
技术领域
本公开总体上涉及视频编解码,并且具体地,涉及图像/视频编解码中的环路滤波器。
背景技术
数字视频在互联网和其他数字通信网络上占用了最大的带宽。随着能够接收和显示视频的连接用户设备的数量增加,预计对数字视频使用的带宽需求将继续增长。
发明内容
所公开的方面/实施例提供了一个或多个神经网络(NN)滤波器模型,其被训练为环路滤波技术或在后处理阶段中使用的滤波技术的一部分,用于减少在压缩期间引起的失真。此外,可以基于视频单元的重构质量水平来选择包括一个或多个NN滤波器模型的环路滤波器。此外,标识环路滤波器的规则或其他语法元素可以被包括在比特流中,包括比特流的补充增强信息(SEI)消息。
第一方面涉及一种处理视频数据的方法。该方法包括从多个神经网络(NN)滤波器模型候选中选择环路滤波器,其中多个NN滤波器模型候选基于视频单元的重构质量水平,以及基于所选择的环路滤波器来执行包括视频单元的视频媒体文件和比特流之间的转换。
可选地,在任一前述方面,该方面的另一实施方式提供了一个或多个NN滤波器模型候选包括一个或多个预训练的卷积神经网络(CNN)滤波器模型。
可选地,在任一前述方面,该方面的另一实施方式提供了多个NN滤波器模型候选中的每一个对应于视频单元的不同重构质量水平。
可选地,在任一前述方面,该方面的另一实施方式提供了视频单元的重构质量水平对应于视频单元的量化参数(QP)或者视频单元的恒定速率因子和比特率中的至少一个。
可选地,在任一前述方面,该方面的另一实施方式提供了所选择的环路滤波器是包括第二环路滤波器的多个环路滤波器中的一个,并且其中第二环路滤波器的应用取决于是否或如何应用环路滤波器选择,并且多个环路滤波器包括去方块滤波器、样点自适应偏移(SAO)滤波器、自适应环路滤波器(ALF)、跨分量自适应环路滤波器(CCALF)和双边滤波器中的至少一个。
可选地,在任一前述方面,该方面的另一实施方式提供了对应于所选择的环路滤波器的语法元素在对应于自适应环路滤波器(ALF)的语法元素之前在比特流中被编解码。
可选地,在任一前述方面,该方面的另一实施方式提供了对应于所选择的环路滤波器的语法元素在对应于自适应环路滤波器(ALF)的语法元素之前或在对应于样点自适应偏移(SAO)滤波器的语法元素之前在编解码树单元(CTU)级别在比特流中被编解码。
可选地,在任一前述方面,该方面的另一实施方式提供了所选择的环路滤波器在比特流的补充增强信息(SEI)消息中被编解码。
可选地,在任一前述方面,该方面的另一实施方式提供了确定比特流中的相同索引与两个视频单元的不同的神经网络(NN)滤波器相关联。
可选地,在任一前述方面,该方面的另一实施方式提供了相同索引被放置在比特流中的补充增强信息(SEI)消息中。
可选地,在任一前述方面,该方面的另一实施方式提供了确定一组NN滤波器模型候选对于跨不同时域层的视频单元是相同还是不同的。
可选地,在任一前述方面,该方面的另一实施方式提供了在比特流的补充增强信息(SEI)消息中包括的规则中指定对该组NN滤波器模型候选对于跨不同时域层的视频单元是相同还是不同的确定。
可选地,在任一前述方面,该方面的另一实施方式提供了比特流中包括的规则指定该组NN滤波器模型候选的第一子组NN滤波器模型候选要用于跨不同时域层的第一子组时域层的环路滤波操作中,并且该组NN滤波器模型候选的第二子组NN滤波器模型候选要用于跨不同时域层的第二子组时域层的环路滤波操作中。
可选地,在任一前述方面,该方面的另一实施方式提供了不同时域层的第一子组时域层包括具有不大于K1的时域索引的层,并且其中要用于跨第一子组时域层的环路滤波操作中的该组NN滤波器模型候选中的至少一个由比特流中包括的规则基于第一子组时域层的帧内编解码样点的数量来指定。
可选地,在任一前述方面,该方面的另一实施方式提供了比特流中包括的规则将该组NN滤波器模型候选与不同时域层的第一时域层和单独的第二时域层相关联。
可选地,在任一前述方面,该方面的另一实施方式提供了比特流中包括的规则将该组NN滤波器模型候选与不同时域层中的特定时域层相关联。
可选地,在任一前述方面,该方面的另一实施方式提供了该转换包括将视频媒体文件编码为比特流。
可选地,在任一前述方面,该方面的另一实施方式提供了该转换包括从比特流解码视频媒体文件。
第二方面涉及一种用于编解码视频数据的装置,包括处理器和其上具有指令的非暂时性存储器。该指令在由处理器执行时使得处理器从多个神经网络(NN)滤波器模型候选中选择环路滤波器,其中多个NN滤波器模型候选基于视频单元的重构质量水平,并且基于所选择的环路滤波器在包括视频单元的视频媒体文件和比特流之间进行转换。
第三方面涉及一种存储通过由视频处理装置执行的方法生成的视频的比特流的非暂时性计算机可读记录介质。在实施例中,该方法包括从多个神经网络(NN)滤波器模型候选中选择环路滤波器,其中多个NN滤波器模型候选基于视频单元的重构质量水平,以及基于所选择的环路滤波器来执行包括视频单元的视频媒体文件和比特流之间的转换。
为了清楚起见,前述实施例中的任何一个可以与其它前述实施例中的任何一个或多个组合,以在本公开的范围内创建新的实施例。
从结合附图和权利要求进行的以下详细描述中,将更清楚地理解这些和其他特征。
附图说明
为了更全面地理解本公开,结合附图和详细说明参考以下简要说明,其中相同的参考数字代表相同的元素。
图1是图片的光栅扫描条带分割的示例。
图2是图片的矩形条带分割的示例。
图3是图片分割为片、图块和矩形条带的示例。
图4A是跨越底部图片边界的编解码树块(CTB)的示例。
图4B是跨越右侧图片边界的CTB的示例。
图4C是跨越右下方图片边界的CTB的示例。
图5是编码器的示例。
图6是8×8样点块内的样点的图示。
图7是滤波器开/关决策和强/弱滤波器选择中涉及的像素的示例。
图8示出了边缘偏移(EO)样点分类的四个一维(1-D)方向方案。
图9示出了基于几何变换的自适应环路滤波器(GALF)滤波器形状的示例。
图10示出了用于5×5菱形滤波器支持(support)的相对坐标的示例。
图11示出了用于5×5菱形滤波器支持的相对坐标的另一个示例。
图12A是所提出的CNN滤波器的示例架构。
图12B是残差块(ResBlock)的构造示例。
图13是示出基于层的预测的示例的示意图。
图14示出了视频比特流的实施例。
图15是示出视频处理系统的示例的框图。
图16是视频处理装置的框图。
图17是示出视频编解码系统的示例的框图。
图18是示出视频编码器的示例的框图。
图19是示出视频解码器的示例的框图。
图20是根据本公开的实施例的用于编解码视频数据的方法。
图21是根据本公开的实施例的用于编解码视频数据的另一种方法。
图22是根据本公开的实施例的用于编解码视频数据的另一种方法。
具体实施方式
首先应理解,尽管下文提供了一个或多个实施例的说明性实施方式,但可使用任何数量的技术实施所公开的系统和/或方法,无论是当前已知的还是现有的。本公开不应以任何方式限于以下示出的说明性实施方式、附图和技术,包括在此示出和描述的示例性设计和实施方式,而是可以在所附权利要求及其等同物的全部范围内进行修改。
在某些描述中使用H.266术语仅是为了便于理解,而不是为了限制所公开技术的范围。因此,本文描述的技术也适用于其他视频编解码器协议和设计。
视频编解码标准主要是通过开发公知的国际电信联盟-电信(ITU-T)和国际标准化组织(ISO)/国际电工委员会(IEC)标准而演变的。ITU-T开发了H.261和H.263,ISO/IEC开发了运动图片专家组(MPEG)-1和MPEG-4视觉,并且两个组织联合开发了H.262/MPEG-2视频、H.264/MPEG-4高级视频编解码(Advanced Video Coding,AVC)和H.265/高效视频编解码(HEVC)标准。
自H.262以来,视频编解码标准基于混合视频编解码结构,其中采用了时域预测加变换编解码。为探索HEVC之外的未来视频编解码技术,视频编解码专家组(VCEG)和MPEG于2015年联合成立了联合视频探索团队(Joint Video Exploration Team,JVET)。从那时起,JVET采用了许多新的方法,并将其应用到了名为联合探索模型(Joint ExplorationModel,JEM)的参考软件中。
2018年4月,在VCEG(Q6/16)和ISO/IEC JTC1 SC29/WG11(MPEG)之间创建了联合视频专家团队(JVET),其致力于研究多功能视频编解码(VVC)标准,目标为相较于HEVC有50%的比特率下降。VVC版本1于2020年7月完成。
讨论了颜色空间和色度子采样。颜色空间,也称为颜色模型(或颜色系统),是一种抽象的数学模型,其简单地将颜色范围描述为数字元组,通常为3或4个值或颜色分量(例如,红绿蓝(RGB))。从根本上说,颜色空间是一个坐标系统和子空间的阐述。
对于视频压缩,最常用的颜色空间是YCbCr和RGB。Y’CbCr或Y Pb/Cb Pr/Cr,也写作YCBCR或Y’CBCR,是一个颜色空间系列,用作视频和数码摄影系统中颜色图像流水线的一部分。Y’是亮度分量,CB和CR是蓝色差和红色差色度分量。Y’(带撇)不同于Y,Y是亮度,这意味着光强度是基于伽马校正的RGB原色非线性编码的。
色度子采样是利用人类视觉系统对色差的敏感度低于对亮度的敏感度,通过对色度信息实施比亮度信息更低的精度来对图像进行编码的实践。
对于4:4:4色度子采样,三个Y’CbCr分量中的每一个具有相同的采样率,因此没有色度子采样。这种方案有时用于高端胶片扫描仪和电影后期制作。
对于4:2:2色度子采样,以亮度采样率的一半对两个色度分量进行采样:水平色度精度减半。这将未压缩视频信号的带宽减少了三分之一,但几乎没有视觉差异。
对于4:2:0色度子采样,与4:1:1相比,水平采样加倍,但由于在该方案中Cb和Cr通道仅在每条交替线上采样,垂直精度减半。因此,数据速率是相同的。Cb和Cr分别在水平和垂直方向上以2的因子进行子采样。4:2:0方案有三种变体,具有不同的水平和垂直选址。
在MPEG-2中,Cb和Cr在水平上共址。Cb和Cr在垂直方向的像素之间选址(间隙选址)。在联合图像专家组(JPEG)/JPEG文件交换格式(JFIF)、H.261和MPEG-1中,Cb和Cr是间隙选址的,位于交替亮度样点中间。在4:2:0DV中,Cb和Cr在水平方向上共址。在垂直方向上,它们在交替线上共址。
提供了视频单元的定义。图片被分成一个或多个片(tile)行和一个或多个片列。片是覆盖图片的矩形区域的编解码树单元(CTU)的序列。一个片被分成一个或多个图块(brick),每个图块由片内的多个CTU行组成。未被分割成多个图块的片也称为图块。然而,作为片的真子集的图块不被称为片。条带包括图片的多个片或者片的多个图块。
支持两种条带模式,即光栅扫描条带模式和矩形条带模式。在光栅扫描条带模式中,条带包括图片的片光栅扫描中的片序列。在矩形条带模式中,条带包括图片的多个图块,这些图块共同形成图片的矩形区域。矩形条带内的图块按照条带的图块光栅扫描顺序排列。
图1为图片100的光栅扫描条带分割的示例,其中图片被划分为十二个片102和三个光栅扫描条带104。如图所示,每个片102和条带104包括多个CTU 106。
图2为根据VVC规范对图片200进行矩形条带分割的示例,其中,图片被分为二十四个片202(六个片列203和四个片行205)和九个矩形条带204。如图所示,每个片202和条带204包括多个CTU 206。
图3为根据VVC规范将图片300分割为片、图块和矩形条带的示例,其中图片划分为四个片302(两个片列303和两个片行305)、十一个图块304(左上片包含一个图块,右上片包含五个图块,左下片包含两个图块,右下片包含三个图块)和四个矩形条带306。
讨论了CTU和编解码树块(CTB)尺寸。在VVC中,由语法元素log2_ctu_size_minus2在序列参数集(SPS)中信令通知的编解码树单元(CTU)尺寸可以小到4×4。序列参数集原始字节序列有效载荷(RBSP)语法如下。
Figure BDA0003584649530000071
Figure BDA0003584649530000081
log2_ctu_size_minus2 plus 2规定每个CTU的亮度编解码树块尺寸。
log2_min_luma_coding_block_size_minus2 plus 2规定最小亮度编解码块尺寸。
变量CtbLog2SizeY、CtbSizeY、MinCbLog2SizeY、MinCbSizeY、MinTbLog2SizeY、MaxTbLog2SizeY、MinTbSizeY、MaxTbSizeY、PicWidthInCtbsY、PicHeightInCtbsY、PicSizeInCtbsY、PicWidthInMinCbsY、PicHeightInMinCbsY、PicSizeInMinCbsY、PicSizeInSamplesY、PicWidthInSamplesC和PicHeightInSamplesC推导如下:
CtbLog2SizeY=log2_ctu_size_minus2+2 (7-9)
CtbSizeY=1<<CtbLog2SizeY (7-10)
MinCbLog2SizeY=log2_min_luma_coding_block_size_minus2+2(7-11)
MinCbSizeY=1<<MinCbLog2SizeY (7-12)
MinTbLog2SizeY=2 (7-13)
MaxTbLog2SizeY=6 (7-14)
MinTbSizeY=1<<MinTbLog2SizeY (7-15)
MaxTbSizeY=1<<MaxTbLog2SizeY (7-16)
PicWidthInCtbsY=Ceil(pic_width_in_luma_samples÷CtbSizeY) (7-17)
PicHeightInCtbsY=Ceil(pic_height_in_luma_samples÷CtbSizeY) (7-18)
PicSizeInCtbsY=PicWidthInCtbsY*PicHeightInCtbsY (7-19)
PicWidthInMinCbsY=pic_width_in_luma_samples/MinCbSizeY (7-20)
PicHeightInMinCbsY=pic_height_in_luma_samples/MinCbSizeY (7-21)
PicSizeInMinCbsY=PicWidthInMinCbsY*PicHeightInMinCbsY (7-22)
PicSizeInSamplesY=pic_width_in_luma_samples*pic_height_in_luma_samples(7-23)
PicWidthInSamplesC=pic_width_in_luma_samples/SubWidthC(7-24)
PicHeightInSamplesC=pic_height_in_luma_samples/SubHeightC (7-25)
图4A是跨越底部图片边界的CTB的示例。图4B是跨越右侧图片边界的CTB的示例。图4C是跨越右下图片边界的CTB的示例。在图4A-图4C中,分别有K=M,L<N;K<M,L=N;K<M,L<N。
参考图4A-图4C讨论了图片400中的CTU。假设由M×N指示CTB/最大编解码单元(LCU)尺寸(通常M等于N,如HEVC/VVC中所定义的),并且对于位于图片(或片或条带或其他类型,以图片边界作为示例)边界的CTB,K×L个样点在图片边界内,其中K<M或L<N。对于图4A-4C中所描绘的那些CTB 402,CTB尺寸仍然等于M x N,然而,CTB的底部边界/右侧边界在图片400之外。
讨论了典型视频编码器/解码器(又名编解码器)的编解码流程。图5是VVC的编码器框图的示例,其包含三个环内滤波块:去块滤波器(DF)、样点自适应偏移(SAO)和自适应环路滤波器(ALF)。与使用预定义滤波器的DF不同,SAO和ALF借助于信令通知偏移和滤波器系数的编解码边信息,分别通过添加偏移以及应用有限脉冲响应(finite impulseresponse,FIR)滤波器而利用当前图片的原始样点来减少原始样点和重构样点之间的均方误差。ALF位于每一图片的最后处理阶段上,并且可以被视为尝试捕捉并且修复先前阶段建立的伪像的工具。
图5为编码器500的示意图。编码器500适用于实施VVC技术。编码器500包括三个环路滤波器,即去块滤波器(DF)502、样点自适应偏移(SAO)滤波器504和ALF 506。与使用预定义滤波器的DF 502不同,SAO滤波器504和ALF 506借助于信令通知偏移和滤波器系数的编解码边信息,分别通过添加偏移以及应用FIR滤波器而利用当前图片的原始样点来减少原始样点和重构样点之间的均方误差。ALF 506位于每一图片的最后处理阶段上,并且可以被视为尝试捕捉并且修复先前阶段建立的伪像的工具。
编码器500还包括帧内预测组件508和运动估计/补偿(ME/MC)组件510,配置为接收输入视频。帧内预测组件508被配置为执行帧内预测,而ME/MC组件510被配置为利用从参考图片缓冲区512获得的参考图片来执行帧间预测。来自帧间预测或帧内预测的残差块被馈送到变换组件514和量化组件516,以生成量化的残差变换系数,该系数被馈送到熵编解码组件518。熵编解码组件518对预测结果和量化的变换系数进行熵编解码,并将其发送给视频解码器(未示出)。从量化组件516输出的量化分量可以被馈送到反量化组件520、逆变换组件522和重构(REC)组件524。REC组件524能够将图像输出到DF 502、SAO滤波器504和ALF 506,以便在这些图像被存储在参考图片缓冲区512中之前进行滤波。
DF 502的输入是环内滤波器之前的重构样点。首先滤波图片中的垂直边缘。然后,利用由垂直边缘滤波过程修改的样点作为输入,对图片中的水平边缘进行滤波。每个CTU的CTB中的垂直边缘和水平边缘在编解码单元的基础上被单独处理。编解码单元中的编解码块的垂直边缘从编解码块左侧的边缘开始滤波,按照它们的几何顺序通过边缘向编解码块的右侧前进。编解码单元中编解码块的水平边缘从编解码块顶部的边缘开始滤波,按照它们的几何顺序通过边缘向编解码块的底部前进。
图6是8×8样点块604内的样点602的的图示600。如图所示,图示600分别包括8×8网格上的水平块边界606和垂直块边界608。此外,图示600描绘了8×8样点非重叠块610,其可以被并行去块。
讨论了边界决策。滤波应用于8×8块边界。此外,它必须是变换块边界或编解码子块边界(例如,由于使用仿射运动预测、可选时域运动矢量预测(ATMVP))。对于不是这种边界的那些边界,滤波器被禁用。
讨论了边界强度计算。对于变换块边界/编解码子块边界,如果它位于8×8块边界中,则变换块边界/编解码子块边界可以被滤波,并且该边缘的bS[xDi][yDj](其中[xDi][yDj]表示坐标)的设置分别在表1和表2中定义。
表1.边界强度(当SPS帧内块复制(IBC)禁用时)
Figure BDA0003584649530000111
表2.边界强度(当SPS IBC启用时)
Figure BDA0003584649530000112
Figure BDA0003584649530000121
讨论了亮度分量的去块决策。
图7为滤波器开/关决策和强/弱滤波器选择中涉及的像素的示例700。仅当条件1、条件2和条件3都为真时,才使用较宽较强的亮度滤波器。条件1是“大块条件”。这个条件检测P侧和Q侧的样点是否属于大块,分别用变量bSidePisLargeBlk和bSideQisLargeBlk表示。bSidePisLargeBlk和bSideQisLargeBlk的定义如下。
bSidePisLargeBlk=((边类型为垂直的,并且p0属于宽度>=32的CU)||(边类型为水平的,并且p0属于高度>=32的CU))?TRUE:FLASE
bSideQisLargeBlk=((边类型为垂直的,并且q0属于宽度>=32的CU)||(边类型为水平的,并且q0属于高度>=32的CU))?TRUE:FLASE
基于bSidePisLargeBlk和bSideQisLargeBlk,条件1定义如下。
条件1=(bsidepislageblk||bsidepislageblk)?TRUE:FLASE
接下来,如果条件1为真,将进一步检查条件2。首先,导出以下变量。
在HEVC中,首先导出dp0、dp3、dq0、dq3。
如果(p侧大于或等于32)
dp0=(dp0+Abs(p50-2*p40+p30)+1)>>1
dp3=(dp3+Abs(p53-2*p43+p33)+1)>>1
如果(q侧大于或等于32)
dq0=(dq0+Abs(q50-2*q40+q30)+1)>>1
dq3=(dq3+Abs(q53-2*q43+q33)+1)>>1
条件2=(d<β)?TRUE:FALSE
其中d=dp0+dq0+dp3+dq3.
如果条件1和条件2有效,则进一步检查任何块是否使用子块。
Figure BDA0003584649530000131
最后,如果条件1和条件2都有效,则所提出的去块方法将检查条件3(大块强滤波条件),其定义如下。
在条件3StrongFilterCondition中,导出以下变量。
dpq是像在HEVC那样推导出来的。
sp3=Abs(p3-p0),如在HEVC中推导的
Figure BDA0003584649530000141
如在HEVC中,StrongFilterCondition=(dpq小于(β>>2),sp3+sq3小于(3*β>>5),并且Abs(p0-q0)小于(5*tC+1)>>1)?TRUE:FALSE。
讨论了亮度的较强去块滤波器(为较大块设计)。
当边界任一侧的样点属于大块时,使用双线性滤波。当垂直边缘的宽度≥32且水平边缘的高度≥32时,属于大块的样点被定义。
双线性滤波器如下所列。
然后,在上述HEVC去块中,对于i=0至Sp-1的块边界样点pi和j=0至Sq-1的块边界样点qi由线性插值替换,pi和qi是为了滤波垂直边缘的一行中的第i个样点,或者是为了滤波水平边缘的一列中的第i个样点,如下所示。
pi′=(fi*Middles,t+(64-fi)*Ps+32)>>6),clipped to pi±tcPDi
qj′=(gj*Middles,t+(64-gj)*Qs+32)>>6),clipped to qj±tcPDj
其中,tcPDi和tcPDj术语是以下描述的位置相关的限幅(clipping)并且以下给出gj、fi、Middles,t、Ps和Qs
讨论了色度的去块控制。
在块边界的两侧使用色度强滤波器。这里,当色度边缘的两侧都大于或等于8(色度位置)时,选择色度滤波器,并且满足以下三个条件的决策:首先考虑边界强度以及大块的决策。当色度采样域中与块边缘正交的块宽度或高度等于或大于8时,可以应用所提出的滤波器。第二个决策和第三个决策基本上与HEVC亮度去块决策相同,分别是开/关决策和强滤波决策。
在第一个决策中,对色度滤波修改边界强度(bS),并顺序检查条件。如果满足一个条件,则跳过其余优先级较低的条件。
当bS等于2时执行色度去块,或当检测到大块边界时bS等于1。
第二个条件和第三个条件基本上与HEVC亮度强滤波决策相同,其示例如下。
在第二个条件中:如在HEVC亮度去块中那样导出d。当d小于β时,第二个条件为TRUE。
在第三个条件中,StrongFilterCondition推导如下。
sp3=Abs(p3-p0),如在HEVC中推导
sq3=Abs(q0-q3),如在HEVC中推导
如在HEVC设计中,StrongFilterCondition=(dpq小于(β>>2),sp3+sq3小于(β>>3),Abs(p0-q0)小于(5*tC+1)>>1)。
讨论了色度的强去块滤波器。定义了以下色度的强去块滤波器。
p2′=(3*p3+2*p2+p1+p0+q0+4)>>3
p1′=(2*p3+p2+2*p1+p0+q0+q1+4)>>3
p0′=(p3+p2+p1+2*p0+q0+q1+q2+4)>>3
所提出的色度滤波器在4×4色度样点网格上执行去块。
讨论了位置相关限幅(tcPD)。位置相关限幅tcPD应用于亮度滤波过程的输出样点,该过程涉及修改边界处的7、5和3个样点的强和长滤波器。假设量化误差分布,提出增加预计具有较高量化噪声的样点的限幅值,因此预计重构样点值与真实样点值的偏差较大。
对于使用非对称滤波器滤波的每个P或Q边界,根据边界强度计算中的决策过程的结果,从两个表(即,下表中的Tc7和Tc3)中选择位置相关阈值表,并将其提供给解码器作为边信息。
Tc7={6,5,4,3,2,1,1};Tc3={6,4,2};
tcPD=(Sp==3)?Tc3:Tc7;
tcQD=(Sq==3)?Tc3:Tc7;
对于用短对称滤波器滤波的P或Q边界,应用较低幅度的位置相关阈值。
Tc3={3,2,1};
在定义阈值后,根据tcP和tcQ限幅值对滤波后的p’i q’i样点值进行限幅。
p”i=Clip3(p’i+tcPi,p’i–tcPi,p’i);
q”j=Clip3(q’j+tcQj,q’j–tcQj,q’j);
其中p’i和q’i是滤波后的样点值p”i和q”j是限幅后的输出样点值,tcPitcQi是从VVC tc参数以及tcPD和tcQD导出的限幅阈值。函数Clip3是在VVC中规定的限幅函数。
讨论子块去块调整。为了使用长滤波器和子块去块来实现并行友好去块,长滤波器被限制为在使用子块去块(AFFINE或ATMVP或解码器侧运动矢量细化(DMVR))的一侧最多修改5个样点,如长滤波器的亮度控制中所示。此外,调整子块去块,使得靠近编解码单元(CU)或隐式TU边界的8×8网格上的子块边界被限制为在每一侧最多修改两个样点。
以下内容适用于未与CU边界对齐的子块边界。
Figure BDA0003584649530000161
其中边缘等于0对应于CU边界,边缘等于2或等于orthogonalLength-2对应于来自CU边界的子块边界8个样点等,其中如果使用TU的隐式划分,则隐式TU为真。
讨论了样点自适应偏移(SAO)。SAO的输入是去块后的重构样点(DB)。SAO的概念是通过首先用选定的分类器将区域样点分类成多个类别,获得每个类别的偏移,然后将该偏移加到该类别的每个样点,来减少区域的平均样点失真,其中,分类器索引和区域的偏移被编解码在比特流中。在HEVC和VVC,区域(SAO参数信令通知的单元)被定义为CTU。
HEVC采用两种可满足低复杂度要求的SAO类型。这两种类型是边缘偏移(EO)和频带偏移(BO),下面将详细讨论。SAO类型的索引被编解码(在[0,2]的范围内)。对于EO,样点分类基于当前样点和临近样点之间的比较,根据一维方向方案,诸如水平、垂直、135°对角线和45°对角线。
图8示出了EO样点分类的四个一维(1-D)方向方案800:水平(EO分类=0)、垂直(EO分类=1)、135°对角线(EO分类=2)和45°对角线(EO分类=3)。
对于给定的EO分类,CTB内的每个样点被分类为五个类别之一。标记为“c”的当前样点值与其沿所选1-D模式的两个临近样点值进行比较。每个样点的分类规则总结在表3中。类别1和4分别与沿着所选1-D模式的局部谷和局部峰相关联。类别2和3分别与沿着所选一维方案的凹角和凸角相关联。如果当前样点不属于EO类别1-4,则它属于类别0,且不适用SAO。
表3:边缘偏移的样点分类规则
Figure BDA0003584649530000171
讨论了联合探索模型(JEM)中基于几何变换的自适应环路滤波器。DB的输入是DB和SAO之后的重构样点。样点分类和滤波过程基于DB和SAO之后的重构样点。
在JEM中,应用了带有基于块的滤波器自适应的基于几何变换的自适应环路滤波器(GALF)。对于亮度分量,根据局部梯度的方向和有效性,为每个2×2块选择25个滤波器中的一个。
讨论了滤波器的形状。图9示出了GALF滤波器形状900的示例,包括左边的5×5菱形,右边的7×7菱形,以及中间的9×9菱形。在JEM中,可以为亮度分量选择多达三种菱形滤波器形状(如图9所示)。在图片级信令通知索引,以指示用于亮度分量的滤波器形状。每个方块代表一个样点,Ci(i为0~6(左),0~12(右),0~20(中))表示应用于该样点的系数。对于图片中的色度分量,总是使用5×5菱形。
讨论了块分类。每个2×2块被分成25类中的一类。分类索引c基于其方向性D和有效性
Figure BDA0003584649530000181
的量化值导出,如下所示。
Figure BDA0003584649530000182
为了计算D和
Figure BDA0003584649530000183
首先使用1-D拉普拉斯算子计算水平、垂直和两个对角线方向的梯度。
Figure BDA0003584649530000184
Figure BDA0003584649530000185
Figure BDA0003584649530000186
Figure BDA0003584649530000187
索引i和j指的是2×2块中左上样点的坐标,并且R(i,j)表示坐标(i,j)处的重构样点。
那么水平和垂直方向的梯度的最大值和最小值被设置为:
Figure BDA0003584649530000188
两个对角线方向的梯度的最大值和最小值设置为:
Figure BDA0003584649530000189
为了导出方向性D的值,将这些值相互比较并与两个阈值t1和t2比较:
步骤1.如果
Figure BDA00035846495300001810
并且
Figure BDA00035846495300001811
为真,那么D设置为0。
步骤2.如果
Figure BDA00035846495300001812
从步骤3继续;否则从步骤4继续。
步骤3.如果
Figure BDA00035846495300001813
D设置为2;否则D设置为1。
步骤4.如果
Figure BDA00035846495300001814
D设置为4;否则D设置为3。
有效性值A计算如下:
Figure BDA0003584649530000191
A被进一步量化到0到4的范围,并且量化值被表示为
Figure BDA0003584649530000192
对于图片中的两个色度分量,不应用分类方法,即,对于每个色度分量应用单组ALF系数。
讨论了滤波器系数的几何变换。
图10示出了分别支持诸如(从左到右)对角线、垂直翻转和旋转的5×5菱形滤波器的相对坐标1000的示例。
在对每个2×2块进行滤波之前,根据为该块计算的梯度值,对与坐标(k,l)相关联的滤波器系数f(k,l)应用诸如旋转或对角反翻转和垂直翻转之类的几何变换。这相当于将这些变换应用于滤波器支持区域中的样点。这个想法是通过对齐不同的块的方向性来使这些应用ALF的不同的块更加相似。
引入了三种几何变换,包括对角线、垂直翻转和旋转:
Figure BDA0003584649530000193
其中K是滤波器的尺寸,并且0≤k,l≤K-1是系数坐标,使得位置(0,0)位于左上角,并且位置(K-1,K-1)位于右下角。根据为该块计算的梯度值,将变换应用于滤波器系数f(k,l)。表4总结了变换和四个方向的四个梯度之间的关系。
表1:为一个块计算的梯度和变换之间的映射
Figure BDA0003584649530000194
讨论了滤波器参数的信令通知。在JEM中,为第一CTU信令通知GALF滤波器参数,即在第一CTU的条带标头之后和SAO参数之前。最多可以发送25组亮度滤波器系数。为了减少比特开销,可以合并不同分类的滤波器系数。此外,参考图片的GALF系数被存储并被允许重新用作当前图片的GALF系数。当前图片可以选择使用为参考图片存储的GALF系数,并绕过GALF系数信令。在这种情况下,只信令通知一个参考图片的索引,并且所指示的参考图片的存储的GALF系数被当前图片继承。
为了支持GALF时域预测,维护GALF滤波器集合的候选列表。在解码新序列的开始,候选列表是空的。在解码一个图片之后,相应的滤波器集合可以被添加到候选列表中。一旦候选列表的尺寸达到最大允许值(即,在当前的JEM中为6),新的滤波器集合就按解码顺序覆盖最老的集合,也就是说,先入先出(FIFO)规则被应用来更新候选列表。为了避免重复,只有当相应的图片不使用GALF时域预测时,才能将该集合添加到列表中。为了支持时域可缩放性,存在多个滤波器集合的候选列表,并且每个候选列表与时域层相关联。更具体地,由时域层索引(TempIdx)分配的每个数组可以组成具有等于较低TempIdx的先前解码的图片的滤波器集合。例如,第k个数组被分配为与等于k的TempIdx相关联,并且第k个数组仅包含来自TempIdx小于或等于k的图片的滤波器集合。在对某个图片进行编解码之后,与该图片相关联的滤波器集合将被用于更新与等于或更高的TempIdx相关联的那些数组。
GALF系数的时域预测用于帧间编解码帧,以最小化信令开销。对于帧内帧,时域预测不可用,并且一组16个固定滤波器被分配给每个类别。为了指示固定滤波器的使用,信令通知每个类别的标志,并且如果需要,还通知所选固定滤波器的索引。即使当固定滤波器被选择用于给定类别时,自适应滤波器f(k,l)的系数仍然可以被发送用于该类别,在这种情况下,将被应用于重构图像的滤波器的系数是两组系数的总和。
亮度分量的滤波过程可以在CU级进行控制。信令通知一个标志来指示GALF是否应用于CU的亮度分量。对于色度分量,是否应用GALF仅在图片级上指示。
讨论了滤波过程。在解码器侧,当对块启用GALF时,块内的每个样点R(i,j)被滤波,产生如下所示的样点值R′(i,j),其中L表示滤波器长度,f(k,l)表示解码的滤波器系数。
Figure BDA0003584649530000201
图11示出了假设当前样点的坐标(i,j)为(0,0)时,用于5×5菱形滤波器支持的相对坐标的另一示例。用相同颜色填充的不同坐标中的样点乘以相同的滤波器系数。
讨论了VVC的基于几何变换的自适应环路滤波器(GALF)。在VVC测试模型4.0(VTM4.0)中,自适应环路滤波器的滤波过程执行如下:
O(x,y)=∑(i,j)w(i,j).I(x+i,y+j),(11)
其中,样点I(x+i,y+j)是输入样点O(x,y)是滤波后的输出样点(即滤波结果),w(i,j)表示滤波系数。实际上,VTM4.0是使用整数运算来实现定点精度计算的
Figure BDA0003584649530000211
其中,L表示滤波器长度,w(i,j)是定点精度的滤波器系数。
与JEM相比,VVC中GALF的当前设计有以下主要变化:
1)自适应滤波器形状被移除。亮度分量只允许7×7滤波器形状,色度分量只允许5×5滤波器形状。
2)将ALF参数的信令通知从条带/图片级别移到CTU级别。
3)在4×4级别而不是2×2级别来执行类别索引的计算。此外,如在JVET-L0147中提出的,利用为ALF分类的子采样拉普拉斯计算方法。更具体地说,不需要为一个块内的每个样点计算水平/垂直/45对角线/135度梯度。相反,使用1∶2子采样。
关于滤波重构,讨论了当前VVC中的非线性ALF。
等式(11)可以在不影响编解码效率的情况下,重新表达为以下表达式:
O(x,y)=I(x,y)+∑(i,j)≠(0,0)w(i,j).(I(x+i,y+j)-I(x,y)),(2)
其中w(i,j)是与等式(11)中相同的滤波器系数[除了w(0,0)在等式(13)中等于1,而在等式(11)中等于1-∑(i,j)≠(0,0)w(i,j)]。
使用等式(13)的上述滤波器公式,VVC引入了非线性,以通过使用简单的限幅函数来降低临近样点值(I(x+i,y+j))与被滤波的当前样点值(I(x,y))相差太大时的影响,从而使ALF更有效。
更具体地说,ALF滤波器修改如下:
O′(x,y)=I(x,y)+∑(i,j)≠(0,0)w(i,j).K(I(x+i,y+j)-I(x,y),k(i,j)),(14)
其中,K(d,b)=min(b,max(-b,d))是限幅函数,k(i,j)是取决于(i,j)滤波器系数的限幅参数。编码器执行优化以找到最佳的k(i,j)。
在JVET-N0242实施方式中,为每个ALF滤波器规定限幅参数k(i,j),并且为每个滤波器系数信令通知一个限幅值。这意味着为每个亮度滤波器在比特流中最多可以信令通知12个限幅值,为色度滤波器最多可以信令通知6个限幅值。
为了限制信令通知成本和编码器复杂度,仅使用4个固定值,它们对于INTER和INTRA条带是相同的。
因为亮度滤波器的局部差值的差异通常高于色度滤波器的局部差值的差异,所以应用两组不同的亮度和色度滤波器。还引入了每组中的最大样点值(这里对于10比特位深度为1024),以便在不必要时可以禁用限幅。
表5提供了JVET-N0242测试中使用的限幅值的集合。这4个值是通过在对数域中对亮度滤波器的样点值(以10比特编解码)的全范围和色度滤波器的从4到1024的范围进行粗略等分而选择的。
更准确地说,限幅值的亮度滤波器表是通过以下公式获得的:
Figure BDA0003584649530000221
类似的,限幅值的色度滤波器表是通过以下公式获得的:
Figure BDA0003584649530000222
表5:授权的限幅值
Figure BDA0003584649530000223
通过使用与上表5中的限幅值索引相对应的Golomb编码方案,在“alf_data”语法元素中对选定的限幅值进行编解码。该编码方案与滤波器索引的编码方案相同。
讨论了为视频编解码的基于卷积神经网络的环路滤波器。
在深度学习中,卷积神经网络(CNN或ConvNet)是一类深度神经网络,最常用于分析视觉图像。它们在图像和视频识别/处理、推荐系统、图像分类、医学图像分析、和自然语言处理中有非常成功的应用。
CNN是多层感知器的正则化版本。多层感知器通常意味着全连接网络,即一层中的每个神经元都与下一层中的所有神经元相连。这些网络的“完全连接性”使得它们容易过度拟合数据。典型的正则化方法包括向损失函数添加某种形式的权重幅值度量。CNN采取了一种不同的正则化方法。CNN利用数据中的层次方案,并使用更小和更简单的方案组装更复杂的方法。因此,在连通性和复杂度的尺度上,CNN处于较低的极端。
与其他图像分类/处理算法相比,CNN使用相对较少的预处理。这意味着网络学习传统算法中手工设计的滤波器。这种在特征设计中独立于现有知识和人工努力是一个主要的优势。
基于深度学习的图像/视频压缩通常有两种含义和类型:1)完全基于神经网络的端到端压缩,以及2)由神经网络增强的传统框架。在Johannes Balle、Valero Laparra和Eero P.Simoncelli的“为感知质量的非线性变换代码的端到端优化”,2016年,图片编码研讨会(PCS)第1-5页,电气和电子工程师协会(IEEE)以及Lucas Theis、Wenzhe Shi、AndrewCunningham和Ferenc Huszá r的“使用压缩自动编解码器的有损图像压缩”,arXiv前传arXiv:1703.00395(2017)中讨论了完全基于神经网络的端到端压缩。在Jiahao Li、BinLi、Jizheng Xu、Ruiqin Xiong和Wen Gao的“基于全连接网络的图像编解码帧内预测”,IEEE图像处理汇刊27,7(2018),3236–3247,Yuanying Dai、Dong Liu和Feng Wu的“HEVC帧内编解码中的后处理的卷积神经网络方法”,MMM.Springer,28–39,Rui Song、Dong Liu、Houqiang Li和Feng Wu的“HEVC中帧内预测模式的基于神经网络的算术编解码”,VCIP.IEEE,1–4和J.Pfaff、P.Helle、D.Maniry、S.Kaltenstadler、W.Samek、H.Schwarz、D.Marpe和T.Wiegand,“为视频编解码的基于神经网络的帧内预测”,数字图像处理应用XLI,第10752卷,国际光学和光子学会,1075213中讨论了由神经网络增强的传统框架。
第一种类型通常采用类似自动编码器的结构,通过卷积神经网络或递归神经网络实现。虽然单纯依靠神经网络进行图像/视频压缩可以避免任何手动优化或手工设计,但压缩效率可能并不令人满意。因此,致力于第二类的研究在于以神经网络为辅助,通过替换或增强某些模块来增强传统的压缩框架。这样,他们可以继承高度优化的传统框架的优点。例如,在Jiahao Li、Bin Li、Jizheng Xu、Ruiqin Xiong和Wen Gao,“为图像编解码的基于全连接网络的帧内预测”,IEEE图像处理汇刊27,7(2018),第3236-3247页中讨论的,在HEVC中所提出的帧内预测的全连接网络。
除了帧内预测,基于深度学习的图像/视频压缩也用于增强其他模块。例如,HEVC的环内滤波器被卷积神经网络所取代,并Yuanying Dai、Dong Liu和Feng Wu,“HEVC帧内编解码中的后处理的卷积神经网络方法,”MMM.Springer,28–39中取得了令人满意的结果。在Rui Song、Dong Liu、Houqiang Li和Feng Wu,“HEVC帧内预测模式的基于神经网络的算术编解码”,VCIP.IEEE,1–4中的研究应用神经网络来改进算术编解码引擎。
讨论了基于卷积神经网络的环内滤波。在有损图像/视频压缩中,重构帧是原始帧的近似,因为量化过程是不可逆的,从而导致重构帧失真。为了减轻这种失真,可以训练卷积神经网络来学习从失真帧到原始帧的映射。实际上,在部署基于CNN的环内滤波之前,必须进行训练。
讨论了训练。训练过程的目的是找到包括权重和偏差的参数的最佳值。
首先,编解码器(例如,HM、JEM、VTM等)用于压缩训练数据集以生成失真的重构帧。然后,将重构的帧输入CNN,并使用CNN的输出和真实帧(原始帧)计算成本。常用的成本函数包括绝对差值和(SAD)和均方误差(MSE)。接下来,通过反向传播算法导出成本相对于每个参数的梯度。利用梯度,可以更新参数值。重复上述过程,直到满足收敛标准。在完成训练之后,导出的最佳参数被保存以用于推断阶段。
讨论了卷积过程。在卷积过程中,滤波器在图像上从左到右、从上到下移动,水平移动时改变一个像素列,垂直移动时改变一个像素行。将滤波器应用到输入图像之间的移动量被称为步长(stride),并且它在高度和宽度维度上几乎总是对称的。对于高度和宽度移动,二维中的默认(多个)步长是(1,1)。
图12A是所提出的CNN滤波器的示例架构1200,并且图12B是残差块(ResBlock)的构造1250的示例。在大多数深度卷积神经网络中,残差块被用作基本模块并被堆叠几次以构建最终网络,其中在一个示例中,残差块是通过组合卷积层、ReLU/PReLU激活函数和卷积层而获得的,如图12B所示。
图13是示出基于层的预测1300的示例的示意图。基于层的预测1300与单向帧间预测和/或双向帧间预测兼容,但是也在不同层中的图片之间执行。
基于层的预测1300被应用于不同层中的图片1311、1312、1313和1314与图片1315、1316、1317和1318之间。在所示出的示例中,图片1311、1312、1313和1314是层N+1 1332的一部分,并且图片1315、1316、1317和1318是层N 1331的一部分。诸如层N 1331和/或层N+11332的层是一组图片,其都与特性的相似值相关联,诸如类似的尺寸、质量、分辨率、信噪比、容量等。在所示出的示例中,层N+1 1332与比层N 131更大的图像尺寸相关联。因此,在此示例中,层N+1 1332中的图片1311、1312、1313和1314比层N 1331中的图片1315、1316、1317和1318具有更大的图片尺寸(例如,更大的高度和宽度,因此有更多的样点)。然而,这样的图片可以通过其他特性在层N+1 1332和层N 1331之间被分开。虽然仅示出了两个层,层N+1 1332和层N 1331,但是图片集合可以基于相关联的特性被分开为任何数量的层。层N+1 1332和层N 1331也可以由层标识符(ID)表示。层ID是与图片相关联的数据项,并且表示该图片是所指示的层的一部分。因此,每个图片1311-1318可以与对应的层ID相关联,以指示哪个层N+1 1332或层N 1331包括对应的图片。
不同层N 1331和层N+1 1332中的图片1311-1318被配置为交替显示。这样,不同层1331-1332中的图片1311-1318可以共享相同的时域标识符(ID),并且可以被包括在相同的访问单元(AU)1306中。如本文所使用的,AU是与用于从解码图片缓冲区(DPB)输出的相同显示时间相关联的一个或多个编解码图片的集合。例如,如果期望较小的图片,解码器可以在当前显示时间解码并显示图片1315,或者如果期望较大的图片,解码器可以在当前显示时间解码并显示图片1311。这样,较高层N+1 1332处的图片1311-1314包含与较低层N 1331处的对应图片1315-1318基本相同的图像数据(尽管图片尺寸不同)。具体地,图片1311包含与图片1315基本相同的图像数据,图片1312包含与图片1316基本相同的图像数据,等等。
图片1311-1318可以通过参考相同层N 1331或层N+1 1332中的其他图片1311-1318来编解码。参考相同层中的另一图片对图片进行编解码导致帧间预测1323,其兼容单向帧间预测和/或双向帧间预测。帧间预测1323由实线箭头描绘。例如,可以通过使用层N+11332中的图片1311、1312和/或1314中的一个或两个作为参考来采用帧间预测1323对图片1313进行编解码,其中一个图片被参考用于单向帧间预测和/或两个图片被参考用于双向帧间预测。此外,可以通过使用层N 1331中的图片1315、1316和/或1318中的一个或两个作为参考来采用帧间预测1323对图片1317进行编解码,其中一个图片被参考用于单向帧间预测和/或两个图片被参考用于双向帧间预测。当在执行帧间预测1323时图片用作相同层中的另一图片的参考时,该图片可以被称为参考图片。例如,图片1312可以是用于根据帧间预测1323对图片1313进行编解码的参考图片。在多层上下文中,帧间预测1323也可以被称为帧内层预测。这样,帧间预测1323是通过参考与当前图片不同的参考图片中的指示样点对当前图片的样点进行编解码的机制,其中参考图片和当前图片在相同层中。
图片1311-1318也可以通过参考不同层中的其他图片1311-1318来编解码。此过程已知为帧间层预测1321,并且由虚线箭头描绘。帧间层预测1321是通过参考参考图片中的指示样点对当前图片的样点进行编解码的机制,其中当前图片和参考图片在不同的层中并因此具有不同的层ID。例如,较低层N 1331中的图片可以用作参考图片,以对较高层N+11332处的对应图片进行编解码。作为具体示例,可以根据帧间层预测1321通过参考图片1315对图片1311进行编解码。在这种情况下,图片1315用作帧间层参考图片。帧间层参考图片是用于帧间层预测1321的参考图片。在大多数情况下,帧间层预测1321受到约束,使得当前图片(诸如图片1311)只能使用被包括在相同AU 1306中并且位于较低层的(多个)帧间层参考图片(诸如图片1315)。当多个层(例如,多于两个)可用时,帧间层预测1321可以基于比当前图片级别更低的多个帧间层参考图片来编码/解码当前图片。
视频编码器可以采用基于层的预测1300,经由帧间预测1323和帧间层预测1321的许多不同组合和/或排列来编码图片1311-1318。例如,图片1315可以根据帧内预测来编解码。然后,可以通过使用图片1315作为参考图片,根据帧间预测1323对图片1316-1318进行编解码。此外,可以通过使用图片1315作为帧间层参考图片,根据帧间层预测1321对图片1311进行编解码。然后,可以通过使用图片1311作为参考图片,根据帧间预测1323对图片1312-1314进行编解码。这样,对于不同的编解码机制,参考图片可以用作单层参考图片和帧间层参考图片。通过基于较低层N 1331图片对较高层N+1 1332图片进行编解码,较高层N+1 1332可以避免采用帧内预测,其具有比帧间预测1323和帧间层预测1321低得多的编解码效率。这样,帧内预测的低编解码效率可以被限制到最小/最低质量图片,并且因此被限制到编解码最少量的视频数据。用作参考图片和/或帧间层参考图片的图片可以在参考图片列表结构中包含的(多个)参考图片列表的条目中指示。
图13中的每个AU 1306可以包含几个图片。例如,一个AU 1306可以包含图片1311和1315。另一个AU 1306可以包含图片1312和1316。实际上,每个AU 1306是与来自解码图片缓冲区(DPB)的输出(例如,用于向用户显示)的相同显示时间(例如,相同的时域ID)相关联的一个或多个编解码图片的集合。每个访问单元分隔符(AUD)1308是用于指示AU(例如,AU1308)的起始或AU之间的边界的指示符或数据结构。
先前的H.26x视频编解码家族已经在与单层编解码的(多个)简档分开的(多个)简档中提供了对可缩放性的支持。可缩放视频编解码(SVC)是AVC/H.264的可缩放扩展,其提供对空域、时域和质量可缩放性的支持。对于SVC,在增强层(EL)图片中的每个宏块(MB)中信令通知标志,以指示EL MB是否使用来自较低层的并置块进行预测。来自并置块的预测可以包括纹理(texture)、运动矢量和/或编解码模式。SVC的实施不能在其设计中直接重用未修改的H.264/AVC实施。SVC EL宏块语法和解码过程不同于H.264/AVC语法和解码过程。
可缩放HEVC(SHVC)是HEVC/H.265标准的扩展,其提供对空域和质量可缩放性的支持,多视图HEVC(MV-HEVC)是HEVC/H.265的扩展,其提供对多视图可缩放性的支持,并且3DHEVC(3D-HEVC)是HEVC/H.264的扩展,其提供对比MV-HEVC更高级且更高效的三维(3D)视频编解码的支持。注意,时域可缩放性被包括作为单层HEVC编解码器的组成部分。HEVC的多层扩展的设计采用了这样的思想,其中用于帧间层预测的解码图片仅来自相同的AU,并且被视为长期参考图片(LTRP),并且被分配(多个)参考图片列表以及当前层中的其他时域参考图片中的参考索引。通过设置参考索引的值以参考(多个)参考图片列表中的(多个)帧间层参考图片,在预测单元(PU)级别实现帧间层预测(ILP)。
值得注意的是,参考图片重采样和空域可缩放性特征都要求对参考图片或其一部分进行重采样。参考图片重采样(RPR)可以在图片级别或编解码块级别实现。然而,当RPR被称为编解码特征时,它是用于单层编解码的特征。即便如此,从编解码器设计的角度来看,对于单层编解码的RPR特征和多层编解码的空域可缩放性特征,使用相同的重采样滤波器是可能的或者甚至是优选的。
图14示出了视频比特流1350的实施例。如本文所使用的,视频比特流1350也可以被称为编解码的视频比特流、比特流或其变体。如图14所示,比特流1350包括以下中的一个或多个:解码能力信息(DCI)1352、视频参数集(VPS)1354、序列参数集(SPS)1356、图片参数集(PPS)1358、图片头(PH)1360、图片1364和SEI消息1372。DCI 1352、VPS 1354、SPS 1356和PPS 1358中的每一个可以统称为参数集。在实施例中,图14中未示出的其他参数集也可以被包括在比特流1350中,诸如例如自适应参数集(APS),其是包含应用于由在条带头中找到的零个或多个语法元素确定的零个或多个条带的语法元素的语法结构。
DCI 1352,也可以称为解码参数集(DPS)或解码器参数集,是包含应用于整个比特流的语法元素的语法结构。DCI 1352包括在视频比特流(例如,比特流1350)的生命周期内保持不变的参数,其可以转变为会话的生命周期。DCI 1352可以包括简表、级别和子简表信息,以确定保证永远不会超过的最大复杂度互操作点,即使视频序列的拼接发生在会话内。它还可选地包括约束标志,其指示视频比特流将被约束由那些标志的值指示的某些特征的使用。这样,比特流可以被标记为不使用某些工具,这尤其允许解码器实施中的资源分配。像所有参数集一样,DCI 1352在第一次参考时存在,并且由视频序列中的第一个图片参考,这意味着它必须在比特流中的第一网络抽象层(NAL)单元之间传送。虽然多个DCI 1352可以在比特流中,但是其中的语法元素的值在参考时不能不一致。
VPS 1354包括用于增强层的参考图片集构建的解码相关性或信息。VPS 1354提供了可缩放序列的整体视角或视图,包括提供了什么类型的操作点、操作点的简表、层级和级别,以及可以用作会话协商和内容选择的基础的比特流的一些其他高级别属性等。
在实施例中,当指示一些层使用ILP时,VPS 1354指示由VPS指定的OLS的总数等于层数,指示第i个OLS包括层索引从0到i(包括0和i)的层,并且指示对于每个OLS,仅输出OLS中的最高层。
SPS 1356包含图片序列(SOP)中所有图片共有的数据。SPS 1356是包含应用于如由在每个图片头1360中找到的语法元素参考的PPS 1358中找到的语法元素的内容所确定的零个或多个完整编解码层视频序列(CLVS)的语法元素的语法结构。相反,PPS 1358包含整个图片1364共有的数据。PPS 1358是包含应用于如由在每个图片头(例如,PH 1360)中找到的语法元素所确定的零个或多个完整编解码图片的语法元素的语法结构。
DCI 1352、VPS 1354、SPS 1356和PPS 1358被包含在不同类型的网络抽象层(NAL)单元中。NAL单元是包含要跟随的数据(例如,编解码的视频数据)的类型的指示的语法结构。NAL单元被分类为视频编解码层(VCL)和非VCL NAL单元。VCL NAL单元包含表示视频图片中的样点值的数据,并且非VCL NAL单元包含任何关联的附加信息,诸如参数集(可以应用于多个VCL NAL单元的重要数据)和补充增强信息(定时信息和其他补充数据,其可以增强解码的视频信号的可用性,但是对于解码视频图片中的样点值不是必需的)。
在实施例中,DCI 1352被包含在指定为DCI NAL单元或DPS NAL单元的非VCL NAL单元中。也就是说,DCI NAL单元具有DCI NAL单元类型(NUT),并且DPS NAL单元具有DPSNUT。在实施例中,VPS 1354被包含在指定为VPS NAL单元的非VCL NAL单元中。因此,VPSNAL单元具有VPS NUT。在实施例中,SPS 1356是被指定为SPS NAL单元的非VCL NAL单元。因此,SPS NAL单元具有SPS NUT。在实施例中,PPS 1358被包含在指定为PPS NAL单元的非VCLNAL单元中。因此,PPS NAL单元具有PPS NUT。
PH 1360是包含应用于编解码图片(例如,图片1364)的所有条带(例如,条带1368)的语法元素的语法结构。在实施例中,PH 1360是一种被指定为PH NAL单元的非VCL NAL单元。因此,PH NAL单元具有PH NUT(例如,PH_NUT)。
在实施例中,与PH 1360相关联的PH NAL单元具有时域ID和层ID。时域ID标识符指示PH NAL单元相对于比特流(例如,比特流1350)中的其他PH NAL单元在时间上的位置。层ID指示包含PH NAL单元的层。在实施例中,时域ID类似于但不同于图片顺序计数(POC)。POC按顺序唯一地标识每个图片。在单层比特流中,时域ID和POC将是相同的。在多层比特流中,相同AU中的图片将具有不同的POC,但是具有相同的时域ID。
在实施例中,PH NAL单元在包含关联图片1364的第一条带1368的VCL NAL单元之前。这建立了PH 1360和与PH 1360相关联的图片1364的条带1368之间的关联,而不需要具有在PH 1360中信令通知并从条带头1370参考的图片头ID。因此,可以推断两个PHs 1360之间的所有VCL NAL单元属于相同的图片1364,并且图片1364与两个PH 1360之间的第一PH1360相关联。在实施例中,跟随PH 1360的第一VCL NAL单元包含与PH 1360相关联的图片1364的第一条带1368。
在实施例中,PH NAL单元遵循图片级别参数集(例如,PPS 1358)或更高级别参数集,诸如DCI 1352(也称为DPS)、VPS 1354、SPS 1356、PPS 1358等,具有分别小于PH NAL单元的时域ID和层ID的时域ID和层ID。因此,这些参数集不在图片或访问单元内重复。由于此排序,PH 1360可以立即被解决。也就是说,包含与整个图片有关的参数的参数集在比特流中位于PH NAL单元之前。包含图片的一部分的参数的任何内容都位于PH NAL单元之后。
在一个替代方案中,PH NAL单元遵循图片级别参数集和前缀补充增强信息(SEI)消息、或者更高级别参数集,诸如DCI 1352(也称为DPS)、VPS 1354、SPS 1356、PPS 1358、APS、SEI消息1372等。
图片1364是单色格式的亮度样点阵列,或者是4:2:0、4:2:2和4:4:4色彩格式的亮度样点阵列和两个对应的色度样点阵列。
图片1364可以是帧或场。然而,在一个编解码视频序列(CVS)1366中,所有图片1364都是帧,或者所有图片1364都是场。CVS 1366是视频比特流1350中每个编解码层视频序列(CLVS)的编解码视频序列。值得注意的是,当视频比特流1350包括单个层时,CVS 1366和CLVS是相同的。CVS 1366和CLVS仅在视频比特流1350包括多个层时不同。
每个图片1364包含一个或多个条带1368。条带1368是图片(例如,图片1364)的片内的整数个完整片或整数个连续的完整编解码树单元(CTU)行。每个条带1368被排他地包含在单个NAL单元(例如,VCL NAL单元)中。片(未示出)是图片(例如,图片1364)中特定片列和特定片行内的CTU的矩形区域。CTU(未示出)是亮度样点的编解码树块(CTB)、具有三个样点阵列的图片的色度样点的两个对应CTB、或者单色图片或使用三个单独的色彩平面和用于编解码样点的语法结构进行编解码的图片的样点的CTB。CTB(未示出)是对于某个值N的N×N样点块,使得将分量划分为CTB是一种分割。块(未示出)是MxN(M列乘N行)样点(例如,像素)阵列、或MxN变换系数阵列。
在实施例中,每个条带1368包含条带头1370。条带头1370是包含属于条带1368中表示的条带内的所有片或CTU行的数据元素的编解码条带1368的一部分。也就是说,条带头1370包含关于条带1368的信息,诸如例如条带类型、将使用哪个参考图片等等。
图片1364及其条带1368包括与被编码或解码的图像或视频相关联的数据。因此,图片1364及其条带1368可以被简单地称为比特流1350中携带的有效载荷或数据。
比特流1350还包含一个或多个SEI消息,诸如包含补充增强信息的SEI消息1372。SEI消息可以包含各种类型的数据,其指示视频图片的定时,或者描述编解码视频的各种属性或者如何使用或增强编解码视频。SEI消息也被定义为可以包含任意用户定义的数据。SEI消息不影响核心解码过程,但可以指示建议如何对视频进行后处理或显示。视频内容的一些其他高级属性在视频可用性信息(VUI)中传达,诸如用于解释视频内容的色彩空间的指示。随着新的色彩空间已经被开发,诸如高动态范围和宽色域视频,已经添加了附加的VUI标识符来指示它们。
本领域技术人员将理解,在实际应用中,比特流1350可以包含其他参数和信息。
在实施例中,SEI消息1372可以是串行数字接口(SDI)SEI消息。当辅助信息存在于比特流中时,SDI SEI消息可以用于指示哪些主要层与辅助层相关联。例如,SDI SEI消息可以包括一个或多个语法元素1374,以指示当辅助信息存在于比特流中时哪些主要层与辅助层相关联。下面提供了对各种SEI消息和那些SEI消息中包括的语法元素的讨论。
为了解决以上问题,公开了如下总结的方法。该技术应该被认为是解释一般概念的示例,而不应该被狭义地解释。此外,这些技术可以单独应用或以任何方式组合应用。
讨论了推断。在推断阶段,失真的重构帧被馈入CNN并由CNN模型处理,该CNN模型的参数已经在训练阶段中被确定。CNN的输入样点可以是DB之前或之后的重构样点、或者SAO之前或之后的重构样点、或者ALF之前或之后的重构样点。
当前的基于CNN的环路滤波具有以下问题。基于CNN的滤波被应用于编解码环路中,忽略了解码器的处理能力。
本文公开了解决一个或多个前述问题的技术。例如,本公开提供了一个或多个神经网络(NN)滤波器模型,其被训练为环路滤波技术或在后处理阶段中使用的滤波技术的一部分,用于减少在压缩期间引起的失真。此外,具有不同特性的样点由不同的NN滤波器模型处理。本公开还阐述了如何设计多个NN滤波器模型,如何从多个NN滤波器模型中进行选择,以及如何信令通知所选择的NN滤波器索引。
视频编解码是有损过程。卷积神经网络(CNN)可以被训练为恢复压缩过程中丢失的细节。也就是说,人工智能(AI)过程可以基于训练数据来创建CNN滤波器。
不同的CNN滤波器模型最适合不同的情形。编码器和解码器访问多个NN滤波器模型,诸如CNN滤波器模型,其已经被提前训练(也称为预训练)。本发明描述了允许编码器向解码器信令通知将哪个NN滤波器模型用于每个视频单元的方法和技术。视频单元可以是图片序列、图片、条带、片、图块、子图片、编解码树单元(CTU)、CTU行、编解码单元(CU)等。作为示例,不同的NN滤波器可以用于不同的层、不同的分量(例如,亮度、色度、以及Cb和Cr分量等)、不同的特定视频单元等。可以经由一个或多个规则来信令通知标志和/或索引,以指示哪个NN滤波器模型应该用于每个视频项。可以基于视频单元的重构质量水平来信令通知NN滤波器模型。视频单元的重构质量水平是指示视频单元的质量的编解码单元。例如,视频单元的重构质量水平可以指QP、比特率、恒定速率因子值和其它度量中的一个或多个。
还提供了当树用于分割视频单元时父节点和子节点之间的NN滤波器的继承。
下面列出的实施例应该被认为是解释一般概念的示例。这些实施例不应该被狭义地解释。此外,这些实施例可以以任何方式组合。
在本公开中,NN滤波器可以是任何种类的NN滤波器,诸如卷积神经网络(CNN)滤波器。在以下讨论中,NN滤波器也可以被称为CNN滤波器。
在以下讨论中,视频单元可以是序列、图片、条带、片、图块(brick)、子图片、CTU/CTB、CTU/CTB行、一个或多个CU/编解码块(CB)、一个或多个CTU/CTB、一个或多个虚拟流水线数据单元(VPDU)、或图片/条带/片/图块内的子区域。父视频单元表示比视频单元大的单元。通常,父视频单元将包含几个视频单元,例如,当视频单元是CTU时,父视频单元可以是条带、CTU行、多个CTU等。在一些实施例中,视频单元可以是样点/像素。
提供了模型选择的讨论
示例1
1.在第一实施例中,对于不同的重构质量水平(例如,QP、比特率、恒定速率因子(CRF)值),可以使用不同的CNN滤波器模型候选。CRF是指x264和x265开源编码器的默认质量和速率控制设置。x264编码器的默认设置或CRF为23(可在范围为0和51之间的值处设置),并且x265编码器的默认设置或CRF为28。
a.在一个示例中,对于每个重构质量水平,使用预训练的CNN滤波器模型候选。
b.在一个示例中,从量化参数(QP)推断视频质量水平。
i.在一个示例中,将当前视频单元的QP表示为q,并且K(例如,K=3)个CNN滤波器模型集合被训练为分别对应于q1、q2、…、qK,其中,q1、q2、…、qK是q周围的三个不同QP。当前视频单元将由K个集合中的一个处理。
1)在一个示例中,q1、q2、…、qK中的至少一个小于q。
2)在一个示例中,q1、q2、…、qK中的至少一个大于q。
3)在一个示例中,在K个集合中选择一个集合可以通过q和{q1,q2,..qK}确定。
a.在一个示例中,将选择对应于给出与q的最小差的q_i的集合。
4)可替代地,可以允许多于一个集合来处理当前视频单元。
a.在一个示例中,可以允许选择来自多于一个集合的滤波器模型,并且可以信令通知多于一个集合的索引的指示符。
b.在一个示例中,可以信令通知对应于多于一个集合的所选择的集合索引的指示符。
i.此外,可替代地,可以进一步信令通知所选择的集合索引内的滤波器模型索引的指示符。
1.如何信令通知或是否信令通知滤波器模型索引的指示符可以取决于所选择的集合索引内的滤波器模型的数量。
c.在以上示例中,QP值可以由其他质量水平度量(例如,CRF值、比特率)代替。
d.在一个示例中,NN滤波模型的选择可以取决于质量水平(例如,QP、比特率、恒定速率因子(CRF)值)和至少第二编解码特征的组合。
i.第二编解码特征可以包括:时域层、条带或图片类型、编解码模式、图片或子图片维度(精度)等。
2.多个CNN滤波器模型候选可以具有不同的结构。
a.在一个示例中,不同的CNN滤波器模型候选可以具有不同的网络尺寸。
i.在一个示例中,网络尺寸由层数控制。
ii.在一个示例中,网络尺寸由特征图数量控制。
iii.在一个示例中,网络尺寸由中间特征图的精度控制。
iv.在一个示例中,网络尺寸由最后三个项目符号中呈现的特征的组合控制。
示例2
3.在第二实施例中,在比特流或SEI消息中信令通知的相同索引可以被确定为与两个视频单元不同的NN滤波器模型相关联。
a.在一个示例中,两个视频单元的候选列表中的NN滤波器模型中的至少一个是不同的。
b.在一个示例中,两个视频单元的NN滤波器模型候选列表可以相同。然而,确定过程可以取决于视频单元的编解码特性。
i.在一个示例中,它可以取决于预测模式分布。
ii.在一个示例中,它可以取决于两个视频单元的梯度/拉普拉斯算子活动(Laplacian activity)。
4.对于跨不同时域层的视频单元,该组NN滤波器模型候选可以相同或不同。
a.在一个示例中,对于不同时域层中的视频单元,该组NN滤波器模型候选可以相同。
b.在一个示例中,一个单独的NN滤波器模型候选组用于每个时域层。
i.在一个示例中,对于较高时域层中的视频单元,滤波器组包含具有较小尺寸的模型。
1)较小的尺寸意味着较少的特征图,或具有较低精度的特征图,或较浅的网络。
c.在一个示例中,时域层被分组为几个子组。对于每个子组,使用一个单独的NN滤波器模型候选组。
i.在一个示例中,对于包含低时域层(例如,时域层索引不大于K1)的子组,如果在视频单元中帧内编解码样点的比率不小于或大于阈值,则候选中的一个是对应于帧内条带的NN滤波器模型。
1)在一个示例中,可以预定义阈值。
2)可替代地,它可以例如根据解码的信息、或者序列、图片或条带级别QP来即时推导。
3)可替代地,它可以例如根据色彩分量来即时推导。
ii.在一个示例中,对于包含高时域层(例如,时域层索引大于K2)的子组,候选中的一个是对应于较大QP(例如,q+5,其中q是用于视频单元所属的序列的基本QP)的NN滤波器模型。
iii.在一个示例中,K1被设置为3。
iv.在一个示例中,K2被设置为3。
示例3
5.在第三实施例中,可以在ALF参数之前对NN滤波器相关方面的语法元素进行编解码。
a.在一个示例中,可以例如就在ALF参数之前在CTU级别信令通知语法元素。
b.在一个示例中,可以例如就在SAO参数之前在CTU级别信令通知语法元素。
6.可以在SEI消息中对NN滤波器相关方面的语法元素进行编解码。
7.其他环路滤波器(例如,去方块滤波器、SAO、ALF、CCALF、双边滤波器)的指示可以取决于是否和/或如何应用NN滤波器(例如,滤波器模型索引)。
a.在一个示例中,可以根据是否和/或如何应用NN滤波器来有条件地信令通知其他环路滤波器的指示的信令。
b.在一个示例中,是否和/或如何应用其他环路滤波器可以取决于是否和/或如何应用NN滤波器。
c.在一个示例中,如果NN滤波器被应用于一个块,则在不信令通知CCALF的情况下禁用CCALF。
示例4
讨论了应用基于NN的滤波方法的实施例。下面提供了示例性SEI消息语法。
Figure BDA0003584649530000371
Figure BDA0003584649530000381
luma_parameters_present_flag等于1指示将存在亮度CNN参数。luma_parameters_present_flag等于0指示将不存在亮度CNN参数。
cb_parameters_present_flag等于1指示将存在Cb CNN参数。cb_parameters_present_flag等于0指示将不存在Cb CNN参数。
cr_parameters_present_flag等于1指示将存在Cr CNN参数。cr_parameters_present_flag等于0指示将不存在Cr CNN参数。
luma_cnn_filter_slice_indication等于0指示亮度CNN滤波器将不用于条带中的任何块的亮度分量。luma_cnn_filter_slice_indication等于i(i=1,2或3)指示第i个亮度CNN滤波器将用于条带中的所有块的亮度分量。luma_cnn_filter_slice_indication等于4指示将对条带中的每个块解析luma_cnn_block_idc。
cb_cnn_filter_slice_indication等于0指示Cb CNN滤波器将不用于条带中的任何块的Cb分量。cb_cnn_filter_slice_indication等于i(i=1,2或3)指示第i个Cb CNN滤波器将用于条带中的所有块的Cb分量。cb_cnn_filter_slice_indication等于4指示将对条带中的每个块解析cb_cnn_block_idc。
cr_cnn_filter_slice_indication等于0指示Cr CNN滤波器将不用于条带中的任何块的Cr分量。cr_cnn_filter_slice_indication等于i(i=1,2或3)指示第i个Cr CNN滤波器将用于条带中的所有块的Cr分量。cr_cnn_filter_slice_indication等于4指示将对条带中的每个块解析cr_cnn_block_idc。
luma_cnn_block_idc[i][j]等于0指示亮度CNN滤波器将不用于此块的亮度分量。luma_cnn_block_idc[i][j]等于i(i=1,2或3)指示第i个亮度CNN滤波器将用于此块的亮度分量。
cb_cnn_block_idc[i][j]等于0指示Cb CNN滤波器将不用于此块的Cb分量。cr_cnn_block_idc[i][j]等于i(i=1,2或3)指示第i个Cb CNN滤波器将用于此块的Cb分量。
cr_cnn_block_idc[i][j]等于0指示Cr CNN滤波器将不用于此块的Cr分量。cr_cnn_block_idc[i][j]等于i(i=1,2或3)指示第i个Cr CNN滤波器将用于此块的Cr分量。
图15是示出视频处理系统1400的示例的框图,其中可以实施本文所公开的各种技术。各种实施方式可以包括视频处理系统1400的一些或全部组件。视频处理系统1400可以包括用于接收视频内容的输入1402。视频内容可以原始或未压缩格式接收,例如8比特或10比特多分量像素值,或者可以压缩或编码格式接收。输入1402可以表示网络接口、外围总线接口或存储接口。网络接口的示例包括诸如以太网、无源光网络(PON)等的有线接口以及诸如无线保真(Wi-Fi)或蜂窝接口的无线接口。
视频处理系统1400可以包括编解码组件1404,其可实现本文件中所描述的各种编解码或编码方法。编解码组件1404可以降低从输入1402到编解码组件1404的输出的视频的平均比特率,以产生视频的编解码表示。因此,编解码技术有时被称为视频压缩或视频转码技术。编解码组件1404的输出可以被存储,也可以通过连接的通信(如组件1406所示)进行传输。输入1402处接收的视频的存储或传输的比特流(或编解码)表示可由组件1408用于生成像素值或发送到显示接口1410的可显示视频。从比特流表示生成用户可观看视频的过程有时称为视频解压缩。此外,尽管某些视频处理操作被称为“编解码”操作或工具,但应当理解的是,编解码工具或操作被用于编码器处,并且逆向编解码结果的对应的解码工具或操作将由解码器执行。
外围总线接口或显示接口的示例可以包括通用串行总线(USB)、高清晰度多媒体接口(HDMI)、显示端口等。存储接口的示例包括SATA(串行高级技术附件)、PCI、IDE接口等。本文中所述的技术可实施在各种电子设备中,例如移动电话、笔记本电脑、智能手机或其他能够执行数字数据处理和/或视频显示的设备。
图16是视频处理装置1500的框图。装置1500可以用于实现本文描述的一种或多种方法。装置1500可以实施在智能手机、平板电脑、计算机、物联网(IoT)接收器等之中。装置1500可以包括一个或多个处理器1502、一个或多个存储器1504和视频处理硬件1506。(多个)处理器1502可以配置成实现本申请文件中描述的一种或多种方法。(多个)存储器1504可以用于存储用于实现本文描述的方法和技术的数据和代码。视频处理硬件1506可以用于使用硬件电路实现本申请文件中描述的一些技术。在一些实施例中,硬件1506可以完全或部分地在处理器1502中实现,例如图形协处理器。
图17是描述可以利用本公开的技术的视频编解码系统1600的示例的框图。如图17所示,视频编解码系统1600可以包括源设备1610和目的设备1620。源设备1610生成编码视频数据,并且可以被称为视频编码设备。目的设备1620可以解码由源设备1610生成的编码视频数据,并且可以被称为视频解码设备。
源设备1610可以包括视频源1612、视频编码器1614和输入/输出(I/O)接口1616。
视频源1612可以包括诸如视频捕获设备、从视频内容提供者接收视频数据的接口、和/或用于生成视频数据的计算机图形系统之类的源,或这些源的组合。视频数据可以包括一幅或多幅图片。视频编码器1614对来自视频源1612的视频数据进行编码以生成比特流。比特流可以包括形成视频数据的编解码表示的位序列。比特流可以包括编解码图片和相关数据。编解码图片是图片的编解码表示。关联数据可以包括序列参数集、图片参数集和其他语法结构。I/O接口1616可以包括调制器/解调器(调制解调器)和/或发射器。编码的视频数据可以通过网络1630经由I/O接口1616直接发送到目的设备1620。编码的视频数据也可以存储在存储介质/服务器1640上以供目的设备1620访问。
目的设备1620可以包括I/O接口1626、视频解码器1624和显示设备1622。
I/O接口1626可以包括接收器和/或调制解调器。
I/O接口1626可以从源设备1610或存储介质/服务器1640获取编码视频数据。视频解码器1624可解码经编码视频数据。显示设备1622可以向用户显示解码的视频数据。显示设备1622可以与目标设备1620集成,或者可以在目标设备1620外部,目标设备1620配置为与外部显示设备接口。
视频编码器1614和视频解码器1624可以根据视频压缩标准操作,例如高效视频编码(HEVC)标准、通用视频编码(VVC)标准和其他当前和/或进一步的标准。
图18是说明视频编码器1700的示例的框图,视频编码器1700可以是在图17中说明的视频编解码系统1600中的视频编码器1614。
视频编码器1700可经配置以执行本公开的任何或所有技术。在图18的示例中,视频编码器1700包括多个功能组件。本公开中描述的技术可在视频编码器1700的各种组件之间共享。在一些示例中,处理器可以被配置为执行本公开中描述的任何或所有技术。
视频编码器1700的功能组件可以包括分割单元1701、预测单元1702(可以包括模式选择单元1703、运动估计单元1704、运动补偿单元1705和帧内预测单元1706)、残差生成单元1707、变换单元1708、量化单元1709、反量化单元1710、逆变换单元1711、重构单元1712、缓冲区1713和熵编解码单元1714。
在其他示例中,视频编码器1700可包括更多、更少或不同的功能组件。在一个示例中,预测单元1702可以包括帧内块复制(IBC)单元。IBC单元可以在IBC模式下执行预测,其中至少一个参考图片是当前视频块所在的图片。
此外,诸如运动估计单元1704和运动补偿单元1705的一些组件可以高度集成,但是为了解释的目的而在图18的示例中单独表示。
分割单元1701可将图片分割成一个或多个视频块。图17中的视频编码器1614和视频解码器1624可以支持各种视频块大小。
模式选择单元1703可以选择编解码模式之一(帧内或帧间,例如基于错误结果),并且将得到的帧内或帧间编解码块提供给残差生成单元1707以生成残差块数据,并提供给重构单元1712以重构编码块以用作参考图片。在一些示例中,模式选择单元1703可以选择帧内和帧间预测(CIIP)模式的组合,其中预测基于帧间预测信号和帧内预测信号。在帧间预测的情况下,模式选择单元1703还可以为编码块选择运动矢量(例如,子像素或整数像素精度)的分辨率。
为了对当前视频块执行帧间预测,运动估计单元1704可以通过将来自缓冲区1713的一个或多个参考帧与当前视频块进行比较来生成当前视频块的运动信息。运动补偿单元1705可以基于来自缓冲区1713的除了与当前视频块相关联的图片之外的图片的运动信息和解码样点来确定当前视频块的预测视频块。
运动估计单元1704和运动补偿单元1705可以对当前视频块执行不同的操作,例如,取决于当前视频块是在I条带、P条带还是B条带中。
在一些示例中,运动估计单元1704可为当前视频块执行单向预测,且运动估计单元1704可搜索列表0或列表1的参考图片以寻找当前视频块的参考视频块。运动估计单元1704可接着生成指示列表0或列表1中包含参考视频块的参考图片的参考索引和指示当前视频块与参考视频块之间的空间移位的运动矢量。运动估计单元1704可输出参考索引、预测方向指示符和运动矢量作为当前视频块的运动信息。运动补偿单元1705可以基于由当前视频块的运动信息指示的参考视频块来生成当前块的预测视频块。
在其他示例中,运动估计单元1704可为当前视频块执行双向预测,运动估计单元1704可在列表0中的参考图片中搜索当前视频块的参考视频块,并且还可在列表1中的参考图片中搜索当前视频块的另一参考视频块。运动估计单元1704可接着生成指示列表0和列表1中的参考图片的参考索引,其包含参考视频块和指示参考视频块与当前视频块之间的空间移位的运动矢量。运动估计单元1704可以输出当前视频块的参考索引和运动矢量作为当前视频块的运动信息。运动补偿单元1705可以基于由当前视频块的运动信息指示的参考视频块来生成当前视频块的预测视频块。
在一些示例中,运动估计单元1704可以输出完整的运动信息集以用于解码器的解码处理。
在一些示例中,运动估计单元1704可以不输出当前视频的完整的运动信息集。相反,运动估计单元1704可参考另一视频块的运动信息来信令通知当前视频块的运动信息。例如,运动估计单元1704可确定当前视频块的运动信息与临近视频块的运动信息足够相似。
在一个示例中,运动估计单元1704可在与当前视频块相关联的句法结构中指示一个值,该值向视频解码器1624指示当前视频块具有与另一视频块相同的运动信息。
在另一示例中,运动估计单元1704可在与当前视频块相关联的语法结构中识别另一视频块和运动矢量差(motion vector difference,MVD)。运动矢量差表示当前视频块的运动矢量与指示的视频块的运动矢量之间的差。视频解码器1624可以使用所指示的视频块的运动矢量和运动矢量差来确定当前视频块的运动矢量。
如上文所讨论,视频编码器1614可预测性地信令通知运动矢量。可由视频编码器1614实施的预测信令通知技术的两个示例包括高级运动矢量预测(advanced motionvector predication,AMVP)和merge模式信令通知。
帧内预测单元1706可以对当前视频块执行帧内预测。当帧内预测单元1706对当前视频块执行帧内预测时,帧内预测单元1706可以基于同一图片中的其他视频块的解码样点生成当前视频块的预测数据。当前视频块的预测数据可以包括预测视频块和各种语法元素。
残差生成单元1707可通过从当前视频块减去(例如,由负号指示)当前视频块的预测视频块来生成当前视频块的残差数据。当前视频块的残差数据可以包括残差视频块,该残差视频块对应于当前视频块中样点的不同样点分量。
在其他示例中,对于当前视频块可能不存在当前视频块的残差数据,例如在跳过模式中,并且残差生成单元1707可能不执行减法运算。
变换处理单元1708可以通过对与当前视频块相关联的残差视频块应用一个或多个变换,为当前视频块生成一个或多个变换系数视频块。
在变换处理单元1708生成与当前视频块相关联的变换系数视频块之后,量化单元1709可基于与当前视频块相关联的一个或多个量化参数(QP)值来量化与当前视频块相关联的变换系数视频块。
反量化单元1710和逆变换单元1711可以分别对变换系数视频块应用反量化和逆变换,以从变换系数视频块重构残差视频块。重构单元1712可将重构的残差视频块添加到来自预测单元1702生成的一个或多个预测视频块的对应样点中,以生成与当前块相关联的重构视频块以存储在缓冲区1713中。
在重构单元1712重构视频块之后,可以执行环路滤波操作以减少视频块中的视频块伪影。
熵编码单元1714可以从视频编码器1700的其他功能组件接收数据。当熵编码单元1714接收数据时,熵编码单元1714可执行一个或多个熵编解码操作以产生熵编码数据并输出包括熵编码数据的比特流。
图19是说明视频解码器1800的示例的框图,视频解码器1800可以是图17中示出的视频编解码系统1600中的视频解码器1624。
视频解码器1800可经配置以执行本公开任何或所有技术。在图19的示例中,视频解码器1800包括多个功能组件。本公开中描述的技术可在视频解码器1800的各种组件之间共享。在一些示例中,处理器可以被配置为执行本公开中描述的任何或所有技术。
在图19的示例中,视频解码器1800包括熵解码单元1801、运动补偿单元1802、帧内预测单元1803、反量化单元1804、逆变换单元1805、以及重构单元1806和缓冲区1807。在一些示例中,视频解码器1800可以执行通常与关于视频编码器1614(例如,图17)描述的编码通道(pass)相反的解码通道。
熵解码单元1801可以检索编码比特流。编码比特流可以包括熵编解码的视频数据(例如,编码的视频数据块)。熵解码单元1801可以解码熵编解码的视频数据,并且根据熵解码的视频数据,运动补偿单元1802可以确定包括运动矢量、运动矢量精度、参考图片列表索引和其他运动信息的运动信息。例如,运动补偿单元1802可以通过执行AMVP和merge模式来确定该信息。
运动补偿单元1802可以生成运动补偿块,可能基于插值滤波器执行插值。以子像素精度使用的插值滤波器的标识符可以包括在语法元素中。
运动补偿单元1802可使用视频编码器1614在对视频块进行编码期间使用的内插滤波器来计算参考块的子整数像素的内插值。运动补偿单元1802可根据接收的语法信息来确定由视频编码器1614使用的内插滤波器并且使用内插滤波器来产生预测块。
运动补偿单元1802可以使用一些语法信息来确定用于对编码视频序列的帧和/或条带进行编码的块的尺寸、描述编码视频序列的图片的每个宏块如何分割的分割信息、指示每个分割如何编码的模式、每个帧间编码块的一个或多个参考帧(和参考帧列表)以及其他解码编码的视频序列的信息。
帧内预测单元1803可以使用例如在比特流中接收的帧内预测模式来从空间紧邻块形成预测块。反量化单元1804对在比特流中提供并由熵解码单元1801解码的量化视频块系数进行反量化,即反量化。逆变换单元1805应用逆变换。
重构单元1806可将残差块与由运动补偿单元1802或帧内预测单元1803生成的对应预测块相加以形成解码块。如果需要,还可以应用去方块滤波器来滤波解码的块,以便去除块状伪影。然后将解码的视频块存储在缓冲区1807中,缓冲区1807为随后的运动补偿/帧内预测提供参考块,并且还为显示设备的呈现生成解码视频。
图20是根据本公开的实施例的处理视频数据的方法1900。方法1900可以由具有处理器和存储器的编解码装置(例如,编码器)执行。在框1902中,编解码装置从多个神经网络(NN)滤波器模型候选中选择环路滤波器,其中多个NN滤波器模型候选基于视频单元的重构质量水平。在框1904中,编解码装置基于所选择的环路滤波器在包括视频单元的视频媒体文件和比特流之间进行转换。当在编码器中实施时,该转换包括接收媒体文件(例如,视频单元)。当在解码器中实施时,该转换包括接收比特流,并且解码比特流以获得视频媒体文件。在实施例中,方法1900可以利用或合并本文公开的其他方法的特征或过程中的一个或多个。
在实施例中,一种用于编解码视频数据的装置,包括处理器和其上具有指令的非暂时性存储器,其中该指令在由处理器执行时使得处理器:从多个神经网络(NN)滤波器模型候选中选择环路滤波器,其中多个NN滤波器模型候选基于视频单元的重构质量水平,并且基于所选择的环路滤波器在包括视频单元的视频媒体文件和比特流之间进行转换。
在实施例中,一种非暂时性计算机可读介质包括编解码装置使用的计算机程序产品,该计算机程序产品包括存储在非暂时性计算机可读介质上的计算机可执行指令,该指令在由一个或多个处理器执行时使得编解码装置:从多个神经网络(NN)滤波器模型候选中选择环路滤波器,其中多个NN滤波器模型候选基于视频单元的重构质量水平,并且基于所选择的环路滤波器在包括视频单元的视频媒体文件和比特流之间进行转换。
图21是根据本公开的实施例的处理视频数据的另一种方法1920。方法1920可以由具有处理器和存储器的编解码装置(例如,编码器)执行。在框1922中,编解码装置确定比特流中的相同索引对于两个视频单元与不同的神经网络(NN)滤波器相关联。
在框1924中,编解码装置基于相同索引在包括视频单元的视频媒体文件和比特流之间进行转换。当在编码器中实施时,该转换包括接收媒体文件(例如,视频单元),并且将相同索引编码为比特流。当在解码器中实施时,该转换包括接收包括相同索引的比特流,并且解码比特流以获得视频媒体文件。在实施例中,方法1920可以利用或合并本文公开的其他方法的特征或过程中的一个或多个。
在实施例中,一种用于编解码视频数据的装置,包括处理器和其上具有指令的非暂时性存储器,其中该指令在由处理器执行时使得处理器:确定比特流中的相同索引对于两个视频单元与不同的神经网络(NN)滤波器相关联,以及基于相同索引在视频媒体文件和比特流之间进行转换。
在实施例中,一种非暂时性计算机可读介质包括编解码装置使用的计算机程序产品,该计算机程序产品包括存储在非暂时性计算机可读介质上的计算机可执行指令,该指令在由一个或多个处理器执行时使得编解码装置:确定比特流中的相同索引对于两个视频单元与不同的神经网络(NN)滤波器相关联,并且基于相同索引在视频媒体文件和比特流之间进行转换。
图22是根据本公开的实施例的处理视频数据的另一种方法1940。方法1940可以由具有处理器和存储器的编解码装置(例如,编码器)执行。在框1942中,编解码装置确定一组神经网络(NN)滤波器模型候选对于跨不同时域层的视频单元是相同还是不同的。
在框1944中,编解码装置基于该组NN滤波器模型候选在包括多个视频层的视频媒体文件和比特流之间进行转换。当在编码器中实施时,该转换包括接收媒体文件(包括多个视频层),并且将该组NN滤波器模型候选的标识编码为比特流。当在解码器中实施时,该转换包括接收包括该组NN滤波器模型候选的标识的比特流,并且解码该比特流以获得视频媒体文件。在实施例中,方法1940可以利用或合并本文公开的其他方法的特征或过程中的一个或多个。
在实施例中,一种用于编解码视频数据的装置,包括处理器和其上具有指令的非暂时性存储器,其中该指令在由处理器执行时使得处理器:确定一组神经网络(NN)滤波器模型候选对于跨不同时域层的视频单元是相同还是不同的,以及基于该组NN滤波器模型候选在视频媒体文件和比特流之间进行转换。
在实施例中,一种非暂时性计算机可读介质包括编解码装置使用的计算机程序产品,该计算机程序产品包括存储在非暂时性计算机可读介质上的计算机可执行指令,该指令在由一个或多个处理器执行时使得编解码装置:确定一组神经网络(NN)滤波器模型候选对于跨不同时域层的视频单元是相同还是不同的,以及基于该组NN滤波器模型候选在视频媒体文件和比特流之间进行转换。
接下来提供一些实施例优选的解决方案列表。
以下解决方案示出了上一章节中讨论的技术的示例实施例。
1.一种视频处理的方法,包括:执行包括视频单元的视频和视频的比特流之间的转换,其中该转换包括将环路滤波器应用于对应于视频单元的重构单元,其中环路滤波器基于一个或多个计算神经网络(CNN)模型来选择;其中规则定义是否或如何选择一个或多个CNN模型响应于重构单元的质量水平。
2.根据解决方案1所述的方法,其中,不同的CNN模型与质量水平中的每一个相关联。
3.根据解决方案1-2所述的方法,其中,质量水平响应于重构单元的量化参数(QP)。
4.根据解决方案1-2所述的方法,其中,质量水平响应于重构单元的恒定速率因子或比特率。
5.根据解决方案1-4中任一项所述的方法,其中,该规则进一步指定一个或多个CNN模型进一步取决于重构单元的质量水平和附加编解码特性。
以下解决方案示出了上一章节中讨论的技术的示例实施例。
6.根据以上解决方案中任一项所述的方法,其中,一个或多个CNN模型包括具有不同结构的多个CNN模型。
7.根据解决方案6所述的方法,其中,不同的结构可以包括神经网络的不同网络尺寸。
8.根据解决方案6-7所述的方法,其中,网络尺寸取决于视频的中间特征图的分辨率。
以下解决方案示出了上一章节中讨论的技术的示例实施例。
9.一种视频处理的方法,包括:根据规则执行视频和视频的比特流之间的转换,其中环路滤波操作在转换期间被执行,其中环路滤波操作使用一个或多个神经网络(NN)滤波器;其中该规则指定索引被包括在比特流或补充增强信息(SEI)消息中,使得由索引标识的NN滤波器模型基于对其使用该索引的视频单元的编解码条件。
10.根据解决方案9所述的方法,其中,该规则针对两个不同的视频单元指定至少两个不同的候选NN滤波器模型。
11.根据解决方案9-10所述的方法,其中,该规则指定对于不同的单元使用NN滤波器模型的相同候选列表,并且该规则进一步指定如何从NN滤波器模式的相同候选列表中选择NN滤波器模型。
以下解决方案示出了上一章节中讨论的技术的示例实施例。
12.一种视频处理的方法,包括:根据规则执行包括多个视频层的视频和视频的比特流之间的转换,其中环路滤波操作在转换期间被执行,其中环路滤波操作使用一个或多个神经网络(NN)滤波器;其中该规则指定用于跨多个视频层的不同层的环路滤波操作的NN滤波器模型之间的关系。
13.根据解决方案12所述的方法,其中,该规则指定跨多个视频层使用相同组的NN滤波器模型候选。
14.根据解决方案12所述的方法,其中,该规则指定跨多个视频层使用不同组的NN滤波器模型候选。
15.根据解决方案12所述的方法,其中,多个视频层被分组为子组,并且其中该规则为每个子组指定一组NN滤波器模型候选。
16.根据解决方案15所述的方法,其中,该规则规定,对于包括具有不大于K1的时域索引的低时域层的第一子组,基于帧内编解码样点的数量来指定第一候选NN滤波器模型。
17.根据解决方案16所述的方法,其中,该规则指定,对于包括具有不小于K2的时域索引的高时域层的第二子组,基于量化参数来指定第二候选NN滤波器模型。
以下解决方案示出了上一章节中讨论的技术的示例实施例。
18.根据解决方案1-17中任一项所述的方法,其中,该规则指定与NN滤波器模型有关的语法元素在自适应环路滤波参数之前被包括在比特流中。
19.根据解决方案1-17中任一项所述的方法,其中,该规则指定与NN滤波器模型有关的语法元素被包括在补充增强信息中。
以下解决方案示出了上一章节中讨论的技术的示例实施例。
20.一种视频处理的方法,包括:根据规则执行包括一个或多个视频单元的视频和视频的比特流之间的转换,其中该转换包括根据规则来选择性地应用神经网络(NN)滤波器和/或另一环路滤波器;其中该规则响应于是否或如何应用NN滤波器来指定是否或如何应用另一环路滤波器。
21.根据解决方案20所述的方法,其中,该规则进一步规定,根据指示NN滤波器的语法元素是否被包括在补充增强信息(SEI)消息的比特流中,指示另一环路滤波器的语法元素被选择性地包括在比特流或SEI消息中。
22.根据解决方案20-21中任一项所述的方法,其中,另一环路滤波器包括去方块滤波器或样点自适应偏移滤波器或自适应环路滤波器或跨分量自适应环路滤波器或双边滤波器。
23.根据解决方案1-22中任一项所述的方法,其中,视频单元包括编解码单元、变换单元、预测单元、条带或子图片。
24.根据解决方案1-22中任一项所述的方法,其中,视频单元是编解码块或视频条带或视频图片或视频片或视频子图片。
25.根据解决方案1-22中任一项所述的方法,其中,该转换包括从比特流生成视频或者从视频生成比特流。
26.一种视频解码装置,包括被配置为实施根据解决方案1至25中的一项或多项所述的方法的处理器。
27.一种视频编码装置,包括被配置为实施根据解决方案1至25中的一项或多项所述的方法的处理器。
28.一种存储有计算机代码的计算机程序产品,该代码在由处理器执行时使得处理器实施根据解决方案1至25中任一项所述的方法。
29.一种存储有比特流的计算机可读介质,该比特流通过根据解决方案1至25中任一项所述的方法生成。
30.一种本文档中描述的方法、装置或系统。
本文档中所公开的和其他解决方案、示例、实施例、模块和功能操作可以在数字电子电路或计算机软件、固件或硬件中实现,包括本文档中公开的结构及其结构等效物,或其中的一种或多种的组合。所公开的和其他实施例可以实施为一个或多个计算机程序产品,即,在计算机可读介质上编码的一个或多个计算机程序指令模块,由数据处理设备执行或控制操作。计算机可读介质可以是机器可读存储设备、机器可读存储基板、存储器设备、影响机器可读传播信号的物质组合物,或者其中的一个或多个的组合。计算机可读介质可以是机器可读存储设备、机器可读存储基板、存储设备、影响机器可读传播信号的物质组合,或其中一项或多项的组合。术语“数据处理装置”涵盖处理数据的所有装置、设备和机器,例如包括可编程处理器、计算机或多个处理器或计算机。除了硬件之外,该装置还可以包括为所讨论的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统或其中一个或多个的组合代码。传播的信号是人工生成的信号,例如机器生成的电、光或电磁信号,其被生成是为了对信息进行编码以传输到合适的接收器设备。
计算机程序(也称为程序、软件、软件应用程序、脚本或代码)可以以任何形式的编程语言(包括编译或解释语言)编写,并且可以以任何形式进行部署,包括独立程序或适合在计算环境中使用的模块、组件、子例程或其他单元。计算机程序不一定与文件系统中的文件相对应。程序可以存储在保存其他程序或数据的文件的一部分中(例如,存储在标记语言文档中的一个或多个脚本),存储在专用于所讨论程序的单个文件中或多个协调文件(例如,存储一个或多个模块、子程序或部分代码的文件)。可以部署计算机程序,以在一台计算机或位于一个位置上或分布在多个位置上并通过通信网络互连的多台计算机上执行。
本文档中描述的过程和逻辑流程可以由一个或多个可编程处理器来执行,以执行一个或多个计算机程序,从而通过对输入数据进行操作并生成输出来执行功能。处理和逻辑流程也可以由专用逻辑电路执行,并且也可以实现为专用逻辑电路,例如FPGA(fieldprogrammable gate array,现场可编程门数组)或ASIC(application specificintegrated circuit,应用专用集成电路)。
例如,适合于执行计算机程序的处理器包括通用和专用微处理器,以及任何种类的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行指令的处理器和用于存储指令和数据的一个或多个存储器装置。通常,计算机还将包括或可操作地耦合到一个或多个用于存储数据的大容量存储设备,例如,磁盘、磁光盘或光盘,以从中接收数据,或将数据传输到一个或多个大容量存储设备,或两者。但是,计算机不必具有这样的装置。适用于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器装置,包括例如半导体存储设备,例如EPROM、EEPROM和闪存设备;磁盘,例如内置硬盘或可移动磁盘;磁光盘;以及CD ROM和DVD-ROM磁盘。处理器和存储器可以由专用逻辑电路补充或并入专用逻辑电路中。
尽管本专利文档包含许多细节,但是这些细节不应解释为对任何发明或可要求保护的范围的限制,而应解释为对特定发明的特定实施例可能特定的特征的描述。在单独的实施例的上下文中在本专利文档中描述的某些特征也可以在单个实施例中组合实现。相反,在单个实施例的上下文中描述的各种特征也可以分别在多个实施例中或以任何合适的子组合来实现。此外,尽管以上可以将特征描述为以某些组合起作用并且甚至最初如此要求保护,但是在某些情况下,可以从组合中剔除所要求保护的组合中的一个或多个特征,并且所要求保护的组合可以涉及子组合或子组合的变体。
类似地,虽然在附图中以特定顺序描绘了操作,但是这不应理解为要求以所示的特定顺序或以连续的顺序执行这样的操作,或者执行所有示出的操作以实现期望的效果。此外,在该专利文档中描述的实施例中的各种系统组件的分离不应被理解为在所有实施例中都需要这种分离。
仅描述了一些实施方式和示例,并且可以基于本专利文档中描述和示出的内容进行其他实施方式、增强和变化。
尽管本专利文档包含许多细节,但是这些细节不应解释为对任何发明或可要求保护的范围的限制,而应解释为对特定发明的特定实施例可能特定的特征的描述。在单独的实施例的上下文中在本专利文档中描述的某些特征也可以在单个实施例中组合实现。相反,在单个实施例的上下文中描述的各种特征也可以分别在多个实施例中或以任何合适的子组合来实现。此外,尽管以上可以将特征描述为以某些组合起作用并且甚至最初如此要求保护,但是在某些情况下,可以从组合中剔除所要求保护的组合中的一个或多个特征,并且所要求保护的组合可以涉及子组合或子组合的变体。
类似地,虽然在附图中以特定顺序描绘了操作,但是这不应理解为要求以所示的特定顺序或以连续的顺序执行这样的操作,或者执行所有示出的操作以实现期望的效果。此外,在该专利文档中描述的实施例中的各种系统组件的分离不应被理解为在所有实施例中都需要这种分离。
仅描述了一些实施方式和示例,并且可以基于本专利文档中描述和示出的内容进行其他实施方式、增强和变化。

Claims (20)

1.一种处理视频数据的方法,包括:
从多个神经网络(NN)滤波器模型候选中选择环路滤波器,其中多个NN滤波器模型候选基于视频单元的重构质量水平;以及
基于所选择的环路滤波器来执行包括视频单元的视频媒体文件和比特流之间的转换。
2.根据权利要求1所述的方法,其中,一个或多个NN滤波器模型候选包括一个或多个预训练的卷积神经网络(CNN)滤波器模型。
3.根据权利要求1所述的方法,其中,多个NN滤波器模型候选中的每一个对应于视频单元的不同重构质量水平。
4.根据权利要求1所述的方法,其中,视频单元的重构质量水平对应于视频单元的量化参数(QP)或者视频单元的恒定速率因子和比特率中的至少一个。
5.根据权利要求1所述的方法,其中:
所选择的环路滤波器是包括第二环路滤波器的多个环路滤波器中的一个,并且其中第二环路滤波器的应用取决于是否或如何应用所选择的环路滤波器;并且
多个环路滤波器包括去方块滤波器、样点自适应偏移(SAO)滤波器、自适应环路滤波器(ALF)、跨分量自适应环路滤波器(CCALF)和双边滤波器中的至少一个。
6.根据权利要求1所述的方法,其中,对应于所选择的环路滤波器的语法元素在对应于自适应环路滤波器(ALF)的语法元素之前,在比特流中编解码。
7.根据权利要求1所述的方法,其中,对应于所选择的环路滤波器的语法元素在对应于自适应环路滤波器(ALF)的语法元素之前或在对应于样点自适应偏移(SAO)滤波器的语法元素之前,在编解码树单元(CTU)级别的比特流中编解码。
8.根据权利要求1所述的方法,其中,所选择的环路滤波器在比特流的补充增强信息(SEI)消息中编解码。
9.根据权利要求1所述的方法,还包括确定比特流中的相同索引与两个视频单元的不同的神经网络(NN)滤波器相关联。
10.根据权利要求9所述的方法,其中,相同索引被放置在比特流中的补充增强信息(SEI)消息中。
11.根据权利要求1所述的方法,还包括确定一组NN滤波器模型候选对于跨不同时域层的视频单元是相同还是不同的。
12.根据权利要求11所述的方法,其中,在比特流的补充增强信息(SEI)消息中包括的规则中规定对该组NN滤波器模型候选对于跨不同时域层的视频单元是相同还是不同的确定。
13.根据权利要求11所述的方法,其中,比特流中包括的规则规定所述一组NN滤波器模型候选的第一子组NN滤波器模型候选要用于跨不同时域层的第一子组时域层的环路滤波操作中,并且所述一组NN滤波器模型候选的第二子组NN滤波器模型候选要用于跨不同时域层的第二子组时域层的环路滤波操作中。
14.根据权利要求15所述的方法,其中,不同时域层的第一子组时域层包括具有不大于K1的时域索引的层,并且其中要用于跨第一子组时域层的环路滤波操作中的一个或多个NN滤波器模型候选中的至少一个NN滤波器模型候选由比特流中包括的规则基于第一子组时域层的帧内编解码样点的数量来规定。
15.根据权利要求13所述的方法,其中,比特流中包括的规则将所述一组NN滤波器模型候选与不同时域层的第一时域层和单独的第二时域层相关联。
16.根据权利要求13所述的方法,其中,比特流中包括的规则将所述一组NN滤波器模型候选与不同时域层中的特定时域层相关联。
17.根据权利要求1所述的方法,其中,所述转换包括将视频媒体文件编码为比特流。
18.根据权利要求1所述的方法,其中,所述转换包括从比特流解码视频媒体文件。
19.一种用于编解码视频数据的装置,包括处理器和其上具有指令的非暂时性存储器,其中所述指令在由处理器执行时使得处理器:
从多个神经网络(NN)滤波器模型候选中选择环路滤波器,其中多个NN滤波器模型候选基于视频单元的重构质量水平;以及
基于所选择的环路滤波器在包括视频单元的视频媒体文件和比特流之间进行转换。
20.一种存储通过由视频处理装置执行的方法生成的视频的比特流的非暂时性计算机可读记录介质,其中所述方法包括:
从多个神经网络(NN)滤波器模型候选中选择环路滤波器,其中多个NN滤波器模型候选基于视频单元的重构质量水平;以及
基于所选择的环路滤波器来执行包括视频单元的视频媒体文件和比特流之间的转换。
CN202210362908.1A 2021-04-07 2022-04-07 图像/视频编解码的基于神经网络的滤波 Pending CN115314711A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US202163171743P 2021-04-07 2021-04-07
US63/171,743 2021-04-07

Publications (1)

Publication Number Publication Date
CN115314711A true CN115314711A (zh) 2022-11-08

Family

ID=83602812

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210362908.1A Pending CN115314711A (zh) 2021-04-07 2022-04-07 图像/视频编解码的基于神经网络的滤波

Country Status (2)

Country Link
US (1) US20220337853A1 (zh)
CN (1) CN115314711A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024146645A1 (en) * 2023-01-07 2024-07-11 Douyin Vision Co., Ltd. Method, apparatus, and medium for video processing
WO2024145744A1 (zh) * 2023-01-03 2024-07-11 Oppo广东移动通信有限公司 编解码方法、装置、编码设备、解码设备以及存储介质
WO2024193709A1 (en) * 2023-03-22 2024-09-26 Douyin Vision Co., Ltd. Method, apparatus, and medium for visual data processing

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11818343B2 (en) * 2021-03-12 2023-11-14 Tencent America LLC Sample offset with predefined filters

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102124714B1 (ko) * 2015-09-03 2020-06-19 미디어텍 인크. 비디오 코딩에서의 신경망 기반 프로세싱의 방법 및 장치
EP3451293A1 (en) * 2017-08-28 2019-03-06 Thomson Licensing Method and apparatus for filtering with multi-branch deep learning
US11265580B2 (en) * 2019-03-22 2022-03-01 Tencent America LLC Supplemental enhancement information messages for neural network based video post processing
WO2021051369A1 (en) * 2019-09-20 2021-03-25 Intel Corporation Convolutional neural network loop filter based on classifier
US11930215B2 (en) * 2020-09-29 2024-03-12 Qualcomm Incorporated Multiple neural network models for filtering during video coding
EP4256788A1 (en) * 2020-12-04 2023-10-11 Beijing Dajia Internet Information Technology Co., Ltd. Network based image filtering for video coding
EP4245030A4 (en) * 2020-12-18 2024-05-29 Beijing Dajia Internet Information Technology Co., Ltd. NETWORK-BASED IMAGE FILTERING FOR VIDEO CODING
US11818399B2 (en) * 2021-01-04 2023-11-14 Tencent America LLC Techniques for signaling neural network topology and parameters in the coded video stream
EP4289136A1 (en) * 2021-02-05 2023-12-13 Nokia Technologies Oy High-level syntax for signaling neural networks within a media bitstream
US20220321919A1 (en) * 2021-03-23 2022-10-06 Sharp Kabushiki Kaisha Systems and methods for signaling neural network-based in-loop filter parameter information in video coding
US11647216B2 (en) * 2021-04-12 2023-05-09 Tencent America LLC Techniques for signaling neural network topology, parameters, and processing information in video stream

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024145744A1 (zh) * 2023-01-03 2024-07-11 Oppo广东移动通信有限公司 编解码方法、装置、编码设备、解码设备以及存储介质
WO2024146645A1 (en) * 2023-01-07 2024-07-11 Douyin Vision Co., Ltd. Method, apparatus, and medium for video processing
WO2024193709A1 (en) * 2023-03-22 2024-09-26 Douyin Vision Co., Ltd. Method, apparatus, and medium for visual data processing

Also Published As

Publication number Publication date
US20220337853A1 (en) 2022-10-20

Similar Documents

Publication Publication Date Title
CN114339221B (zh) 用于视频编解码的基于卷积神经网络的滤波器
CN114630132B (zh) 视频编解码的基于神经网络的环路内滤波器中的模型选择
US12113995B2 (en) Neural network-based post filter for video coding
CN114390288A (zh) 在视频编解码中使用神经网络滤波
WO2020125796A1 (en) Two step cross-component prediction mode based on multiple parameter
CN112640467A (zh) 用于帧内预测的方法和装置
CN115314711A (zh) 图像/视频编解码的基于神经网络的滤波
US20220286695A1 (en) Neural Network-Based In-Loop Filter With Residual Scaling For Video Coding
CN112385227A (zh) 用于帧内预测的方法和装置
US20220394288A1 (en) Parameter Update of Neural Network-Based Filtering
WO2020147782A1 (en) An encoder, a decoder and corresponding methods of deblocking filter adaptation
CN115550646A (zh) 基于神经网络的视频编解码中的外部注意力
CN115225895A (zh) 统一神经网络环路滤波器信令通知
CN115695787A (zh) 基于神经网络的视频编解码中的分割信息
CN115836527A (zh) 编码器、解码器及用于自适应环路滤波的对应方法
US20240298020A1 (en) Unified Neural Network In-Loop Filter
CN115379212A (zh) 关于基于神经网络的环路内滤波器的填充方法
CN117280693A (zh) 统一神经网络滤波器模型
CN115211108A (zh) 环路滤波和视频片之间的相互作用
CN115604466A (zh) 基于神经网络的视频编解码中可配置的神经网络模型深度
CN117597928A (zh) 视频编解码中的高级双边滤波器
CN112425165A (zh) 基于邻块的帧内预测模式推导
CN118044195A (zh) 用于视频处理的方法、设备和介质
CN118266217A (zh) 用于视频处理的方法、设备和介质
CN118805374A (zh) 用于视频处理的方法、装置及介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination