CN114930832A - 跨分量自适应滤波和子块编解码 - Google Patents

跨分量自适应滤波和子块编解码 Download PDF

Info

Publication number
CN114930832A
CN114930832A CN202080082076.7A CN202080082076A CN114930832A CN 114930832 A CN114930832 A CN 114930832A CN 202080082076 A CN202080082076 A CN 202080082076A CN 114930832 A CN114930832 A CN 114930832A
Authority
CN
China
Prior art keywords
video
samples
sub
block
sample
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
CN202080082076.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 Beijing Co Ltd
ByteDance Inc
Original Assignee
Douyin Vision Beijing 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 Beijing Co Ltd, ByteDance Inc filed Critical Douyin Vision Beijing Co Ltd
Publication of CN114930832A publication Critical patent/CN114930832A/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
    • 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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

一种视频处理方法,包括在视频的视频分量的视频块和视频的比特流表示之间执行转换,其中视频块包括子块,其中根据规则在转换期间使用滤波工具,并且其中规则指定通过对视频块的每个子块的所有样点使用单个偏移来应用滤波工具。

Description

跨分量自适应滤波和子块编解码
相关申请的交叉引用
根据巴黎公约适用的专利法和/或规则,提出本申请是为了及时要求2019年11月30日提交的国际专利申请PCT/CN2019/122237的优先权和权益。出于法律规定的所有目的,上述申请的全部公开通过引用并入作为本申请公开的部分。
技术领域
本专利文档涉及图片和视频编解码和解码。
背景技术
数字视频占互联网和其他数字通信网络上最大的带宽使用。随着能够接收和显示视频的连接用户设备数量的增加,预计数字视频使用的带宽需求将继续增长。
发明内容
本文档公开了可由视频编码器和解码器用于在视频编码或解码期间执行跨分量自适应环路滤波的技术。
在一个示例方面,公开了一种视频处理的方法。该方法包括:执行视频的视频分量的视频块和视频的比特流表示之间的转换,其中视频块包括子块,其中根据规则在转换期间使用滤波工具,并且其中规则指定通过对视频块的每个子块的所有样点使用单个偏移来应用滤波工具。
在另一个示例方面,公开了一种视频处理的方法。该方法包括:通过使用在转换期间应用的用于滤波工具的视频块的子块的当前样点的最终偏移值来执行视频的视频分量的视频块和视频的比特流表示之间的转换,其中通过将最终偏移值用于当前样点来应用滤波工具,并且其中最终偏移值基于第一偏移值和不同于第一偏移值的第二偏移值。
在另一个示例方面,公开了一种视频处理的方法。该方法包括:通过在转换期间使用用于跨分量自适应环路滤波器(CC-ALF)工具的N抽头对称滤波器来执行视频的视频分量的视频块与视频的比特流表示之间的转换,其中CC-ALF工具从视频的另一个视频分量的样点值预测视频分量的视频块的样点值,且其中N抽头对称滤波器的支持内的两个样点的至少两个滤波器系数共享相同的值。
在另一个示例方面,公开了一种视频处理的方法。该方法包括:通过在转换期间使用用于跨分量自适应环路滤波器(CC-ALF)工具的N抽头非对称滤波器来执行视频的视频分量的视频块与视频的比特流表示之间的转换,其中N是正整数,并且其中CC-ALF工具从视频的另一个视频分量的样点值来预测视频分量的视频块的样点值。
在另一个示例方面,公开了一种视频处理的方法。该方法包括:执行视频的第一视频分量的视频块和视频的比特流表示之间的转换,其中第一视频分量的样点的转换包括对视频的第二视频分量的样点差应用跨分量自适应环路滤波器(CC-ALF)工具,并且其中CC-ALF工具从视频的另一个视频分量的样点值来预测视频的第一视频分量的视频块的样点值。
在另一个示例方面,公开了一种视频处理的方法。该方法包括:通过在转换期间使用跨分量自适应环路滤波(CC-ALF)工具的多个滤波器的集合中的两个或多个滤波器来执行视频的视频分量的视频块的子块与视频的比特流表示之间的转换,其中CC-ALF工具从视频的另一个视频分量的样点值预测视频分量的视频块的子块的样点值。
在另一个示例方面,公开了一种视频处理的方法。该方法包括:通过使用已支持跨视频的多个视频分量用于在转换期间使用的跨分量自适应环路滤波(CC-ALF)工具的滤波器,执行视频的第一视频分量的视频块的子块与视频的比特流表示之间的转换,其中CC-ALF工具从视频的另一个视频分量的样点值来预测第一视频分量的视频块的子块的样点值。
在另一个示例方面,公开了一种视频处理的方法。该方法包括:通过使用多个视频帧中的样点来在转换期间应用的跨分量自适应环路滤波器(CC-ALF)工具或自适应环路滤波器(ALF)工具中细化视频的当前视频帧中的样点集,来执行视频的视频分量的视频块与视频的比特流表示之间的转换,其中CC-ALF工具从视频的另一个视频分量的样点值预测视频分量的视频块的样点值,且其中ALF工具使用环路滤波器对视频分量的视频块的样点进行滤波。
在另一个示例方面,公开了一种视频处理的方法。该方法包括:对于视频的视频分量的视频块和视频的比特流表示之间的转换,根据位置规则确定是否为转换启用跨分量自适应环路滤波器(CC-ALF)工具,其中CC-ALF工具从视频的另一个视频分量的样点值来预测视频分量的视频块的样点值;和基于确定来执行转换。
在另一个示例方面,公开了一种视频处理的方法。该方法包括:对于视频分量的视频单元和视频的比特流表示之间的转换,确定将偏移值用于视频单元的子块的所有样点的跨分量自适应环路滤波;以及基于该确定来执行转换,其中该偏移还用于转换中的另一个处理操作,该另一个处理操作包括一个或多个自适应环路滤波操作。
在另一个示例方面,公开了一种视频处理的方法。该方法包括:对于视频分量的视频单元和视频的比特流表示之间的转换,确定在转换期间将视频单元的子块的当前样点的最终偏移值用于跨分量自适应环路滤波;并且基于该确定来执行转换;其中最终偏移值基于第一偏移值和不同于第一偏移值的第二偏移值。
在另一个示例方面,公开了一种视频处理的方法。该方法包括:对于视频分量的视频单元和视频的比特流表示之间的转换,确定在转换期间将N抽头对称滤波器用于跨分量自适应环路滤波器计算;并且基于该确定来执行转换;其中在N抽头对称滤波器的支持下,两个样点的至少两个滤波器系数共享相同的值。
在另一个示例方面,公开了一种视频处理的方法。该方法包括:对于视频分量的视频单元和视频的比特流表示之间的转换,确定在转换期间将N抽头非对称滤波器用于跨分量自适应环路滤波器计算,其中N是正整数;以及基于该确定来执行转换。
在另一个示例方面,公开了一种视频处理的方法。该方法包括:执行视频的第一分量的视频单元和视频的比特流表示之间的转换;其中第一分量的样点的转换包括对视频的第二分量的样点差应用跨分量自适应环路滤波器。
在另一个示例方面,公开了一种视频处理的方法。该方法包括:在视频分量的视频单元的子块与视频的比特流表示之间的转换期间,确定将来自多个滤波器集合的两个或多个滤波器用于跨分量自适应环路滤波;以及基于该确定来执行转换。
在另一个示例方面,公开了一种视频处理的方法。该方法包括:对于视频的视频单元的第一分量的子块与视频的比特流表示之间的转换,确定已支持跨视频的多个分量或跨视频的多个图片的滤波器,以用于在转换期间执行跨分量自适应环路滤波;以及基于该确定来执行转换。
在另一个示例方面,公开了一种视频处理的方法。该方法包括:对于视频分量的视频单元的子块和视频的比特流表示之间的转换,根据位置规则确定是否启用跨分量自适应环路滤波器(CC-ALF)以用于该转换;以及基于该确定来执行转换。
在另一个示例方面,公开了一种视频编码器装置。视频编码器包括被配置为实现上述方法的处理器。
在又一个示例方面,公开了一种视频编码器装置。视频编码器包括被配置为实现上述方法的处理器。
在又一个示例方面,公开了一种其上存储有代码的计算机可读介质。该代码以处理器可执行代码的形式体现了本文描述的方法之一。
这些和其他特征在整个本文档中进行了描述。
附图说明
图1示出了图片中4:2:2亮度和色度样点的标称垂直和水平位置。
图2示出了编码器框图的示例。
图3示出了67种帧内预测模式
图4A-4B示出了水平和垂直横向扫描的示例。
图5示出了LM模式下涉及的左侧和上方样点以及当前块的样点的位置的示例。
图6示出了将4x8样点块划分为两个独立可解码区域的示例。
图7示出了处理像素行以使具有垂直预测器的4xN块的吞吐量最大化的示例顺序。
图8是低频不可分离变换(LFNST)过程的示例。
图9示出了ALF滤波器形状的示例(色度:5×5菱形,亮度:7×7菱形)。
图10A-10D示出了子采样拉普拉斯计算的示例。图10A示出了垂直梯度的子采样位置。图10B示出了水平梯度的子采样位置。图10C示出了对角梯度的子采样位置。图10D示出了对角梯度的子采样位置。
图11示出了虚拟边界处的块分类的示例。
图12示出了虚拟边界处亮度分量的修改的ALF滤波的示例。
图13A-13B示出了滤波器示例。图13A示出了CC-ALF相对于其他环路滤波器的示例布置。图13B示出了菱形滤波器的示例。
图14示出了具有8个唯一系数的3×4菱形滤波器的示例。
图15示出了JVET-P0106中的8个系数的CC-ALF滤波器形状。
图16示出了JVET-P0173中的6个系数的CC-ALF滤波器形状。
图17示出了JVET-P0251中的6个系数的CC-ALF滤波器形状。
图18示出了JC-CCALF工作流程的示例。
图19至图34B示出了用于CC-ALF的滤波器的示例支持。
图35为可实现公开技术的示例视频处理系统的框图。
图36为用于视频处理的示例硬件平台的框图。
图37为视频处理的示例方法的流程图。
图38为说明视频解码器的示例的框图。
图39为说明可使用本公开技术的示例视频编解码系统的框图。
图40为说明视频编码器的示例的框图。
图41至图49为视频处理的示例方法的流程图。
具体实施方式
本文档中使用的章节标题是为了便于理解,并不将各章节中公开的技术和实施例的适用性仅限于该章节。此外,在一些描述中使用H.266术语仅仅是为了易于理解,而不是为了限制所公开技术的范围。因此,本文描述的技术也适用于其他视频编解码器设计。
1.介绍
本文档涉及视频编解码技术。具体地,它涉及图片/视频编解码中的跨分量自适应环路滤波器(CC-ALF)和其他编解码工具。它可以应用于现有的视频编解码标准(如HEVC)或者最终确定的标准(多功能视频编解码)。它也可以应用于未来的视频编解码标准或视频编解码器。
2.简要描述
视频编解码标准主要是通过众所周知的ITU-T和ISO/IEC标准的发展而得以演进。ITU-T制作了H.261和H.263标准,ISO/IEC制作了MPEG-1和MPEG-4Visual标准,并且两个组织联合制作了H.262/MPEG-2视频标准和H.264/MPEG-4高级视频编解码(AVC)标准和H.265/HEVC标准。从H.262开始,视频编解码标准基于混合视频编解码结构,其中使用时域预测加变换编解码。为了探索HEVC之外的未来视频编解码技术,由VCEG和MPEG于2015年联合成立联合视频探索团队(JVET)。此后,JVET采用了许多新方法并将其纳入名为联合探索模型(JEM)的参考软件。2018年4月,在VCEG(Q6/16)与ISO/IEC JTC1 SC29/WG11(MPEG)之间的联合视频专家团队(JVET)创立,以致力于VVC标准,目标是与HEVC相比降低50%比特率。
VVC草案的最新版本,即多功能视频编解码(草案7)可在以下网址找到:
http://phenix.it-sudparis.eu/jvet/doc_end_user/documents/16_Geneva/wg11/JVET-P2001-v14.zip
VVC的最新参考软件,名为VTM,可在以下网址找到:
https://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_VTM/-/tags/VTM-7.Q
2.1.色彩空间和色度子采样
色彩空间,也称为色彩模型(或色彩系统),是抽象的数学模型,其简单地将色彩的范围描述为数字的元组,通常为3或4个值或色彩分量(例如RGB)。基本上,色彩空间是坐标系和子空间的详细阐述。
对于视频压缩,最频繁使用的色彩空间是YCbCr和RGB。
YCbCr、Y′CbCr或Y Pb/Cb Pr/Cr,也写为YCBCR或Y′CBCR,是一族色彩空间,用作视频和数字摄影系统中色彩图像管线的一部分。Y′是亮度分量,并且CB和CR是蓝差和红差色度分量。Y′(带撇号)与Y(亮度)区分开,意味着基于伽玛校正的RGB原色来非线性编码光强度。
色度子采样是一种通过对色度信息实现比对亮度信息更低的分辨率来编码图像的实践,利用了人类视觉系统对色差的敏锐度低于对亮度的敏锐度。
2.1.1. 4:4:4
三个Y′CbCr分量中的每一个均具有相同的采样率,因此没有色度子采样。该方案有时用于高端胶片扫描仪和电影后期制作中。
2.1.2. 4:2:2
两个色度分量以亮度采样率的一半来采样:水平色度分辨率减半,而垂直色度分辨率不变。这将未压缩的视频信号的带宽降低三分之一,而几乎没有视觉差。在VVC工作草案的图1中描绘了4:2:2色彩格式的标称垂直和水平位置的示例。
图1示出了图片中4:2:2亮度和色度样点的标称垂直和水平位置。
2.1.3. 4:2:0
在4:2:0中,水平采样是4:1:1的两倍,但是由于Cb和Cr通道仅在此方案中的每个交替线上采样,因此垂直分辨率减半。数据速率因此是相同的。Cb和Cr各自以2的因子水平地和垂直地子采样。4:2:0方案有三种变型,具有不同的水平和垂直选址。
·在MPEG-2中,Cb和Cr水平地共址。Cb和Cr在垂直方向上选址在像素之间(间隙地选址)。
·在JPEG/JFIF、H.261和MPEG-1中,Cb和Cr间隙地、中途地选址在交替的亮度样点之间。
·在4:2:0 DV中,Cb和Cr在水平方向上共址。在垂直方向上,它们共址于交替的线上。
表2-1.从chroma_format_idc和separate_colour_plane_flag导出的SubWidthC和SubHeightC值
Figure BDA0003662110190000071
2.2.典型视频编解码器的编解码流程
图2示出了VVC的编码器框图的示例,其包含三个环路滤波块:去方块滤波器(DF)、样点自适应偏移(SAO)和ALF。与使用预定义滤波器的DF不同,SAO和ALF分别通过添加偏移和通过应用有限脉冲响应(FIR)滤波器来使用当前图片的原始样点以减小原始样点和重建样点之间的均方误差,利用编解码侧的信息信令通知偏移和滤波器系数。ALF位于每个图片的最后处理阶段,并且可以被视为试图捕捉和修复由前面的阶段创建的伪影的工具。
2.3.具有67种帧内预测模式的帧内模式编解码
为了捕捉自然视频中呈现的任意边缘方向,定向帧内模式的数量从HEVC使用的33个扩展到65个。附加的定向模式在图3中被描绘为红色虚线箭头,并且平面和DC模式保持相同。这些更密集的定向帧内预测模式适用于所有块尺寸以及亮度和色度帧内预测两者。
常规角度帧内预测方向定义为顺时针方向45度至-135度,如图3所示。在VTM中,对于非正方形块,几种常规的角度帧内预测模式被自适应地替换为广角帧内预测模式。被替换的模式使用原始方法信令通知,并在解析后重新映射到广角模式的索引。帧内预测模式的总数不变,即67,并且帧内模式编解码不变。
在HEVC中,每个帧内编解码块具有正方形形状,并且其每条边的长度是2的幂。因此,使用DC模式生成帧内预测器不需要除法运算。在VVC中,块可以具有矩形形状,这使得在一般情况下对每个块使用除法运算成为必要。为了避免DC预测的除法运算,只有较长的一边用于计算非正方形块的平均值。
2.4.帧间预测
对于每个帧间预测的CU,运动参数包括运动矢量、参考图片索引和参考图片列表使用索引,以及用于帧间预测样点生成的VVC的新编解码特征所需的附加信息。运动参数可以以显式或隐式的方式信令通知。当用跳过模式对CU进行编解码时,CU与一个PU相关联,并且没有显著的残差系数、没有编解码的运动矢量增量或参考图片索引。指定merge模式,由此从相邻CU获得当前CU的运动参数,包括空域和时域候选,以及在VVC中引入的附加调度。merge模式可以应用于任何帧间预测的CU,而不仅仅是跳过模式。merge模式的替代方案是运动参数的显式传输,其中运动矢量、每个参考图片列表的对应参考图片索引和参考图片列表使用标志以及其他需要的信息被显式地信令通知给每个CU。
2.5.帧内块复制(IBC)
帧内块复制(IBC)是SCC上的HEVC扩展中采用的工具。众所周知它显著提高了屏幕内容材料的编解码效率。由于IBC模式被实现为块级别编解码模式,因此在编码器处执行块匹配(BM),以找到每个CU的最佳块矢量(或运动矢量)。这里,块矢量用于指示从当前块到参考块的位移,该参考块已经在当前图片内被重建。IBC编解码CU的亮度块矢量为整数精度。色度块矢量也取整到整数精度。当与AMVR结合使用时,IBC模式可以在1像素和4像素运动矢量精度之间切换。IBC编解码的CU被视为除帧内或帧间预测模式之外的第三预测模式。IBC模式适用于宽度和高度均小于或等于64个亮度样点的CU。
在编码器侧,对IBC执行基于散列的运动估计。编码器对宽度或高度不超过16个亮度样点的块执行RD检查。对于非merge模式,首先使用基于散列的搜索来执行块矢量搜索。如果散列搜索没有返回有效的候选,将执行基于块匹配的本地搜索。
在基于散列的搜索中,当前块和参考块之间的散列键匹配(32位CRC)扩展到所有允许的块尺寸。当前图片中每个位置的散列键计算基于4×4子块。对于较大尺寸的当前块,当所有4×4子块的所有散列键匹配对应参考位置中的散列键时,散列键被确定为匹配参考块的散列键。如果发现多个参考块的散列键与当前块的散列键匹配,则计算每个匹配参考的块矢量成本,并选择具有最小成本的块矢量成本。
在块匹配搜索中,搜索范围被设置为覆盖先前和当前的CTU两者。
在CU级别,IBC模式通过标志信令通知,并且其可作为IBC AMVP模式或IBC跳过/merge模式被信令通知,如下所示:
-IBC跳过/merge模式:merge候选索引用于指示来自相邻候选IBC编码块的列表中的哪个块矢量用于预测当前块。merge列表由空域、HMVP和成对候选组成。
-IBC AMVP模式:块矢量差以与运动矢量差相同的方式编解码。块矢量预测方法使用两个候选作为预测器,一个来自左邻居,并且一个来自上邻居(如果IBC编解码)。当任一邻居不可用时,默认块矢量将被用作预测器。信令通知标志来指示块矢量预测器索引。
2.6.调色板模式
对于调色板模式信令,调色板模式被编解码为编解码单元的预测模式,即,编解码单元的预测模式可以是MODE_INTRA、MODE_INTER、MODE_IBC和MODE_PLT。如果使用调色板模式,CU中的像素值由代表性的色彩值的小集合表示。该集合被称为调色板。对于具有接近调色板色彩的值的像素,信令通知调色板索引。对于具有在调色板之外的值的像素,像素用转义符(escape symbol)表示,并且直接信令通知量化的像素值。
为了解码调色板编码块,解码器需要解码调色板色彩和索引。调色板色彩由调色板表描述,并由调色板表编解码工具编码。为每个CU信令通知转义标志,以指示在当前CU中是否存在转义符号。如果转义符号存在,调色板表增加1,并且最后一个索引分配给转义模式。CU中所有像素的调色板索引形成调色板索引图,并由调色板索引图编解码工具编码。
对于调色板表的编解码,保持调色板预测器。预测器在每个条带的开始被初始化,其中预测器被重置为0。对于调色板预测器中的每个条目,信令通知重用标志,以指示它是否是当前调色板的部分。使用零的游程长度编解码发送重用标志。此后,使用0阶的指数Golomb代码来信令通知新调色板条目的数量。最后,信令通知新调色板条目的分量值。在对当前CU进行编码之后,将使用当前调色板来更新调色板预测器,并且在当前调色板中未重用的先前调色板预测器的条目将添加到新调色板预测器的末尾,直到达到允许的最大尺寸(调色板填充)。
为了对调色板索引图进行编解码,使用如图4所示的水平和垂直横向扫描对索引进行编解码。使用palette_transpose_flag在比特流中显式地信令通知扫描顺序。
使用两种主要调色板样点模式对调色板索引进行编解码:“INDEX”和“COPY_ABOVE”。除了使用水平扫描时的顶部行、使用垂直扫描时的第一列或之前的模式为“COPY_ABOVE”时,使用标志来信令通知模式。在“COPY_ABOVE”模式下,复制上一行中样点的调色板索引。在“索引”模式下,调色板索引被显式地信令通知。对于“INDEX”和“COPY_ABOVE”模式两者,都会信令通知游程值,该游程值指定使用相同模式编解码的像素数。
索引图的编码顺序如下:首先,信令通知CU的索引值的数量。接下来是使用截断二进制编解码来信令通知整个CU的实际索引值。索引数量和索引值都以旁路模式编解码。这将与索引相关的旁路bin分组在一起。然后,调色板模式(INDEX或COPY_ABOVE)和游程以交错方式被信令通知。最后,与整个CU的转义样点相对应的分量转义值被分组在一起,并以旁路模式进行编解码。在信令通知索引值之后,信令通知附加语法元素last_run_type_flag。该语法元素与索引的数量相结合,消除了信令通知对应于块中最后一个游程的游程值的需要。
在VTM中,为I条带启用双树,其分离亮度和色度的编解码单元分割。因此,在该建议中,调色板分别应用于亮度(Y分量)和色度(Cb和Cr分量)。如果双树被禁用,调色板将共同应用于Y,Cb,Cr分量,与HEVC调色板相同。
2.7.跨分量线性模型预测
在VVC中使用跨分量线性模型(CCLM)预测模式,通过使用如下线性模型,基于相同CU的重建亮度样点预测色度样点:
predC(i,j)=α·recL′(i,j)+β (2-1)
其中predC(i,j)表示CU中的预测色度样点,并且recL(i,j)表示相同的CU的下采样重建亮度样点。
图5示出了用于推导α和β的样点的示例位置。
除了上方模板和左侧模板可以在LM模式下一起用于计算线性模型系数外,它们还可以在其他2种LM模式下交替使用,称为LM_A和LM_L模式。在LM_A模式下,仅使用上方模板来计算线性模型系数。为了获得更多样点,将上方模板扩展为(W+H)。在LM_L模式下,仅使用左侧模板来计算线性模型系数。为了获得更多样点,将左侧模板扩展为(H+W)。对于非正方形块,上方模板扩展为W+W,左侧模板扩展为H+H。
CCLM参数(α和β)由最多四个相邻色度样点及其对应的下采样亮度样点导出。假设当前色度块维度为W×H,则设置W′和H′为
-当应用LM模式时,W′=W,H′=H;
-当应用LM-A模式时,W’=W+H;
-当应用LM-L模式时,H’=H+W;
上方相邻位置表示为S[0,-1]...S[W’-1,-1],并且左侧相邻位置表示为S[-1,0]...S[-1,H’-1]。然后将这四个样点选为
-当应用LM模式并且上方和左侧相邻样点都可用时,S[W'/4,-1],S[3W'/4,-1],S[-1,H'/4],S[-1,3H'/4];
-当应用LM-A模式或者只有上方相邻样点可用时,S[W'/8,-1],S[3W'/8,-1],S[5W'/8,-1],S[7W'/8,-1];
-当应用LM-L模式或者只有左侧相邻样点可用时,S[-1,H'/8],S[-1,3H'/8],S[-1,5H'/8],S[-1,7H'/8];
对所选位置的四个相邻亮度样点进行下采样并比较四次,以找到两个较小的值:x0 A和x1 A,以及两个较大的值:x0 B和x1 B。它们对应的色度样点值分别表示为y0 A、y1 A、y0 B和y1 B。然后xA、xB、yA和yB导出为:
Xa=(x0 A+x1 A+1)>>1;Xb=(x0 B+x1 B+1)>>1;Ya=(y0 A+y1 A+1)>>1;Yb=(y0 B+y1 B+1)>>1 (2-1)
最后,根据以下等式得到线性模型参数α和β。
Figure BDA0003662110190000121
β=Yb-α·Xb (2-3)
计算参数α的除法运算是通过查找表实现的。为了减少存储表所需的存储器,diff值(最大值和最小值之间的差)和参数α用指数符号表示。例如,diff用一个4位有效部分和一个指数来近似。因此,对于16个有效数字值,1/diff的表被减少为16个元素,如下所示:
DivTable[]={0,7,6,5,5,4,4,3,3,2,2,1,1,1,1,0} (2-4)
这将有利于降低计算的复杂性以及存储所需表所需的存储器尺寸。
为了匹配4:2:0视频序列的色度样点位置,两种类型的下采样滤波器应用于亮度样点,以在水平和垂直方向两者上实现2比1的下采样比。下采样滤波器的选择由SPS级别标志指定。两个下采样滤波器如下,它们分别对应于“type-0”和“type-2”内容。
Figure BDA0003662110190000122
Figure BDA0003662110190000123
注意,当上参考线位于CTU边界时,仅使用一条亮度线(帧内预测中的通用线缓冲器)进行下采样亮度样点。
该参数计算作为解码过程的部分执行,而不仅仅作为编码器搜索操作。因此,不使用语法将α和β值传递给解码器。
对于色度帧内模式编解码,色度帧内模式编解码允许总共8种帧内模式。这些模式包括五种传统的帧内模式和三种跨分量线性模型模式(LM、LM_A和LM_L)。色度模式信令通知和推导过程如表2-2所示。色度模式编解码直接取决于应亮度块的帧内预测模式。由于用于亮度和色度分量的单独的块分割结构在I条带中被启用,所以一个色度块可以对应于多个亮度块。因此,对于色度DM模式,覆盖当前色度块的中心位置的对应亮度块的帧内预测模式被直接继承。
表2-2.当启用cclm_is时从亮度模式导出色度预测模式
Figure BDA0003662110190000131
2.8.块差分脉冲码调制编解码(BDPCM)
在JVET-M0057中提出了BDPCM。由于水平(分别是垂直)预测器的形状,它使用左侧(A)(分别是顶部(B))像素用于当前像素的预测,处理该块的吞吐量效率最高的方式是并行处理一列(分别是行)的所有像素,并顺序地处理这些列(分别是行)。为了增加吞吐量,我们引入以下过程:当在该块上选择的预测器是垂直的时,宽度为4的块被划分成具有水平边界的两半,并且当在该块上选择的预测器是水平的时,高度为4的块被划分成具有垂直边界的两半。
当块被划分时,来自一个区域的样点不允许使用来自另一个区域的像素来计算预测:如果发生这种情况,预测像素被预测方向上的参考像素替换。针对垂直预测的4×8块中的当前像素X的不同位置,这在图6中示出。
图6示出了将4x8样点块划分为两个独立可解码区域的示例。
由于这一特性,现在可以在2个周期内处理4×4块,在4个周期内处理4×8或8×4块,依此类推,如图7所示。
图7示出了处理像素行以使具有垂直预测器的4xN块的吞吐量最大化的示例顺序。
表2-3总结了根据块尺寸处理块所需的周期数。很容易看出,任何两个维度都大于或等于8的块都可以在每个周期8个像素或更多的像素中被处理。
表2-3.尺寸为4xN、Nx4的块的最坏情况吞吐量
Figure BDA0003662110190000141
2.9.量化残差域BDPCM
在JVET-N0413中,提出了量化残差域BDPCM(以下表示为RBDPCM)。类似于帧内预测,通过预测方向(水平或垂直预测)上的样点复制对整个块进行帧内预测。残差被量化,并且量化的残差与其预测器(水平或垂直)量化值之间的增量被编解码。
对于尺寸为M(行)×N(列)的块,设ri,j,0≤i≤M-1,0≤j≤N-1是在使用来自上方或左侧块边界样点的未滤波样点来水平地(跨预测块逐行复制左侧相邻像素值)或垂直地(将顶部相邻行复制到预测块中的每一行)执行帧内预测之后的预测残差。设Q(ri,j),0≤i≤M-1,0≤j≤N-1表示残差ri,j的量化版本,其中残差是原始块和预测块值之间的差。然后,块DPCM被应用于量化的残差样点,产生具有元素
Figure BDA0003662110190000146
的修改的M×N阵列
Figure BDA0003662110190000145
当垂直BDPCM被信令通知时:
Figure BDA0003662110190000142
对于水平预测,应用类似的规则,并且残差量化样点通过以下方式获得
Figure BDA0003662110190000143
残差量化样点
Figure BDA0003662110190000144
被发送到解码器。
在解码器侧,反转上述计算来产生Q(ri,j),0≤i≤M-1,0≤j≤N-1。对于垂直预测情况,
Figure BDA0003662110190000151
对于水平情况,
Figure BDA0003662110190000152
将逆量化残差Q-1(Q(ri,j))添加到帧内块预测值上,以产生重建的样点值。
这种方案的主要好处是可以在系数解析期间动态地完成逆DPCM,在解析系数时简单地添加预测器,或者它可以在解析之后执行。
在量化残差域BDPCM中总是使用变换跳过。
2.10.VVC的多重转换集(MTS)
在VTM中,启用尺寸高达64×64的大块尺寸变换,这主要用于更高分辨率的视频,例如1080p和4K序列。对于尺寸(宽度或高度,或者宽度和高度两者)等于64的变换块,高频变换系数被置零,从而仅保留低频系数。例如,对于M×N变换块,M为块宽,并且N为块高,当M等于64时,只保留变换系数的左侧32列。类似地,当N等于64时,只保留变换系数的前32行。当变换跳过模式用于大块时,使用整个块而不清零任何值。VTM还支持SPS中的可配置的最大变换尺寸,这样编码器可以根据具体实现方式的需要,灵活选择高达16长度、32长度或64长度的变换尺寸。
除了在HEVC已经采用的DCT-II之外,多重变换选择(MTS)方案被用于帧间和帧内编解码块两者的残差编解码。它使用从DCT8/DST7中多个选择的变换。新引入的变换矩阵是DST-VII和DCT-VIII。表2-4示出了所选DST/DCT的基本函数。
表2-4.用于N点输入的DCT-II/VIII和DSTVII的变换基函数
Figure BDA0003662110190000161
为了保持变换矩阵的正交性,变换矩阵的量化比HEVC中的变换矩阵更精确。为了将变换系数的中间值保持在16位范围内,在水平变换之后和在垂直变换之后,所有系数都应为10位。
为了控制MTS方案,分别在SPS级别为帧内和帧间指定单独的启用标志。当MTS在SPS启用时,信令通知CU级别标志,以指示是否应用MTS。这里,MTS仅适用于亮度。当满足以下条件时,信令通知MTS CU级别标志。
-宽度和高度均小于或等于32
-CBF标志等于一
如果MTS CU标志等于零,则DCT2应用于两个方向。然而,如果MTS CU标志等于1,则另外信令通知两个其他标志,以分别指示水平和垂直方向的变换类型。变换和信令通知映射表如表2-5所示。通过移除帧内模式和块形状依赖性来统一ISP和隐式MTS的变换选择。如果当前块是ISP模式,或者如果当前块是帧内块,并且帧内和帧间显式MTS都打开,则只有DST7用于水平和垂直变换核心两者。在变换矩阵精度方面,使用8位初级变换核心。因此,HEVC中使用的所有变换核心保持不变,包括4点DCT-2和DST-7、8点、16点和32点DCT-2。此外,包括64点DCT-2、4点DCT-8、8点、16点、32点DST-7和DCT-8的其他变换核心使用8位初级变换核心。
表2-5.变换和信令通知映射表
Figure BDA0003662110190000171
为了降低大尺寸DST-7和DCT-8的复杂性,对于尺寸(宽度或高度,或宽度和高度两者)等于32的DST-7和DCT-8块,将高频变换系数置零。仅保留16x16低频区域内的系数。
如在HEVC中,可使用变换跳过模式对块的残差进行编解码。为了避免语法编解码的冗余,当CU级别MTS_CU_flag不等于零时,不信令通知变换跳过标志。变换跳过的块尺寸限制与JEM4中的MTS的块尺寸限制相同,这指示当块宽度和高度都等于或小于32时,变换跳过适用于CU。请注意,当为当前CU激活LFNST或MIP时,隐式MTS变换设置为DCT2。此外,当为帧间编解码块启用MTS时,隐式MTS仍可被启用。
2.11.低频不可分离变换(LFNST)
在VVC中,LFNST(低频不可分离变换)(其被称为简化的二次变换)应用于正初级变换和量化之间(在编码器处)以及去量化和逆初级变换之间(在解码器侧),如图8所示。在LFNST中,根据块尺寸应用4×4不可分离变换或8×8不可分离变换。例如,4x4 LFNST适用于小块(即,min(宽度,高度)<8),并且8x8 LFNST适用于较大的块(即,min(宽度,高度)>4)。
使用输入作为示例,对LFNST中使用的不可分离变换的应用进行如下描述。要应用4x4 LFNST,4x4输入块X
Figure BDA0003662110190000172
首先表示为矢量
Figure BDA0003662110190000173
Figure BDA0003662110190000181
不可分离变换计算为
Figure BDA0003662110190000183
其中
Figure BDA0003662110190000184
指示变换系数矢量,并且T是16x16变换矩阵。16×1系数矢量
Figure BDA0003662110190000185
随后使用该块的扫描顺序(水平、垂直或对角线)被重新组织为4×4块。具有较小索引的系数将与较小的扫描索引一起放置在4×4系数块中。
2.11.1.简化的不可分离变换
LFNST(低频不可分离变换)基于直接矩阵乘法方法来应用不可分离变换,使得它在单次通道中实现,而无需多次迭代。然而,需要减小不可分离变换矩阵的维数,以最小化计算复杂度和存储变换系数的存储器空间。因此,在LFNST中使用简化的不可分离变换(或RST)方法。简化的不可分离变换的主要思想是将N(对于8×8NSST,N通常等于64)维矢量映射到不同空间中的R维矢量,其中N/R(R<N)是简化因子。因此,代替NxN矩阵,RST矩阵变成R×N矩阵,如下所示:
Figure BDA0003662110190000182
其中变换的R行是N维空间的R个基。RT的逆变换矩阵是其正变换的转置。对于8x8LFNST,应用简化因子4,并且作为常规8×8不可分离变换矩阵尺寸的64×64直接矩阵被减少为16×48直接矩阵。因此,在解码器侧使用48×16逆RST矩阵来生成8×8左上区域中的核心(初级)变换系数。当应用16×48矩阵而不是具有相同变换集配置的16×64矩阵时,每个矩阵从除右下4×4块之外的左上8×8块中的三个4×4块获取48个输入数据。在简化的维度的帮助下,存储所有LFNST矩阵的存储器使用量从10KB减少到8KB,其中性能下降合理。为了降低复杂度,LFNST被限制为仅在第一系数子组之外的所有系数都不重要时才适用。因此,当应用LFNST时,所有仅初级变换系数必须为零。这允许在最后有效位置上调节LFNST索引信令通知,因此避免了当前LFNST设计中的额外系数扫描,该扫描仅需要用于检查特定位置的有效系数。LFNST的最差情况处理(就每像素乘法而言)将4×4和8×8块的不可分离变换分别限制为8×16和8×48变换。在这些情况下,当应用LFNST时,最后有效扫描位置必须小于8,对于小于16的其他尺寸。对于具有4xN和Nx4且N>8的形状的块,所提出的限制意味着LFNST现在仅应用一次,并且仅应用于左上4x4区域。由于当应用LFNST时,所有仅初级的系数都为零,因此在这种情况下,初级变换所需的操作数量减少。从编码器的角度来看,当测试LFNST变换时,系数的量化被显著简化。对于前16个系数(按照扫描顺序),必须最大限度地进行率失真优化量化,其余系数强制为零。
2.11.2.LFNST变换选择
LFNST中总共有4个变换集,并且每个变换集使用2个不可分离的变换矩阵(核)。从帧内预测模式到变换集的映射是预定义的,如表2-6所示。如果三种CCLM模式(INTRA_LT_CCLM、INTRA_T_CCLM或INTRA_L_CCLM)中的一种用于当前块(81<=predModeIntra<=83),则为当前色度块选择变换集0。对于每个变换集,所选的不可分离二次变换候选进一步由显式地信令通知的LFNST索引来指定。在变换系数之后,每个帧内CU在比特流中信令通知该索引一次。
表2-6.变换选择表
Figure BDA0003662110190000191
2.11.3.LFNST索引信令通知和与其他工具的交互
由于LFNST被限制为仅在第一系数子组之外的所有系数都不重要时才适用,因此LFNST索引编解码取决于最后一个有效系数的位置。此外,LFNST索引是上下文编解码的,但不依赖于帧内预测模式,并且只有第一个bin是上下文编解码的。此外,LFNST适用于帧内和帧间条带两者中的帧内CU,以及适用于亮度和色度两者。如果启用了双树,则亮度和色度的LFNST索引会单独信令通知。对于帧间条带(双树被禁用),单个LFNST索引被信令通知并用于亮度和色度两者。
当选择ISP模式时,LFNST被禁用,并且RST索引不被信令通知,因为即使RST被应用于每个可行的分割块,性能改善也是有限的。此外,针对ISP预测的残差禁用RST可以降低编码复杂度。当选择MIP模式时,LFNST也被禁用,并且不会信令通知索引。
考虑到由于现有的最大变换尺寸限制(64x64),大于64x64的大CU被隐式划分(TU平铺(tiling)),对于一定数量的解码管线阶段,LFNST索引搜索可将数据缓冲增加四倍。因此,LFNST允许的最大尺寸被限制为64x64。请注意,LFNST仅使用DCT2启用。
2.12.色度的变换跳过
VVC中引入了色度变换跳过(TS)。动机是通过将transform_skip_flag和mts_idx重新定位到residual_coding部分,来统一亮度和色度之间的TS和MTS信令通知。为色度TS添加一个上下文模型。对于mts_idx,没有上下文模型和二进制化被改变。此外,当使用色度TS时,也应用TS残差编解码。
语义
删除的术语由下划线斜体文本指示。
transform_skip_flag[x0][y0][cIdx]指定变换是否应用于相关联的亮度变换块。阵列索引x0、y0指定所考虑的变换块的左上亮度样点相对于图片的左上亮度样点位置(x0,y0)。transform_skip_flag[x0][y0][cIdx]等于1指定不对当前亮度变换块应用变换。阵列索引cIdx指定了色彩分量的指示符;亮度等于0,Cb等于1,并且Cr等于2。等于0的transform_skip_flag[x0][y0][cIdx]指定是否将变换应用于当前变换块的决定取决于其他语法元素。当transform_skip_flag[x0][y0][cIdx]不存在时,推断它等于0。
2.13.色度的BDPCM
除了色度TS支持之外,BDPCM被添加到色度分量。如果sps_bdpcm_enable_flag为1,则将另一个语法元素sps_bdpcm_chroma_enable_flag添加到SPS。这些标志具有以下行为,如表2-7所示。
表2-7.亮度和色度BDPCM的sps标志
Figure BDA0003662110190000211
当BDPCM仅适用于亮度时,当前行为不变。当BDPCM也可用于色度时,为每个色度块发送一个bdpcm_chroma_flag。这指示是否在色度块上使用了BDPCM。当使用时,BDPCM用于两个色度分量,并编解码一个附加的bdpcm_dir_chroma标志,指示用于两个色度分量的预测方向。
去方块滤波器在两个Block-DPCM块之间的边界上被去激活,因为两个块都不使用通常负责块伪影的变换阶段。对于亮度和色度分量,这种去激活是独立发生的。
2.14.ALF
在VVC中,应用了具有基于块的滤波器自适应的自适应环路滤波器(ALF)。对于亮度分量,基于局部梯度的方向和活动,为每个4×4块选择25个滤波器中的一个。
2.14.1.滤波器形状
使用了两种菱形滤波器形状(如图9所示)。7×7菱形应用于亮度分量,并且5×5菱形应用于色度分量。
2.14.2.块分类
对于亮度分量,每个4×4块被分为25类中的一类。分类索引C基于其方向性D和活度
Figure BDA0003662110190000217
的量化值导出,如下所示:
Figure BDA0003662110190000212
为了计算D和
Figure BDA0003662110190000213
首先使用1-D拉普拉斯算子计算水平、垂直和两个对角线方向的梯度:
Figure BDA0003662110190000214
Figure BDA0003662110190000215
Figure BDA0003662110190000216
Figure BDA0003662110190000221
其中,索引i和j指的是4×4块内的左上样点的坐标,并且R(i,j)指示坐标R(i,j)处的重建样点。
为了降低块分类的复杂性,应用子采样1-D拉普拉斯计算。如图10A-10D所示,相同的子采样位置用于所有方向的梯度计算。
图10A示出了垂直梯度的子采样位置。图10B示出了水平梯度的子采样位置。图10C示出了对角梯度的子采样位置。图10D示出了对角梯度的子采样位置。
那么水平和垂直方向的梯度的D最大值和最小值被设置为:
Figure BDA0003662110190000222
两个对角线方向的梯度的最大值和最小值设置为:
Figure BDA0003662110190000223
为了导出方向性D的值,将这些值相互比较并与两个阈值t1和t2比较:
第一步.如果
Figure BDA0003662110190000224
Figure BDA0003662110190000225
都为真,则D被设置为0。
第二步.如果
Figure BDA0003662110190000226
从步骤3继续;否则从步骤4继续。
第三步.如果
Figure BDA0003662110190000227
D被设置为2;否则D被设置为1。
第四步.如果
Figure BDA0003662110190000228
D被设置为4;否则D被设置为3。
活动值A计算如下:
Figure BDA0003662110190000229
A被进一步量化到0到4的范围,并且量化值被表示为
Figure BDA00036621101900002210
对于图片中的色度分量,不应用分类方法,即,对每个色度分量应用ALF系数的单个集合。
2.14.3.滤波器系数和修剪值的几何变换
在对每个4×4亮度块进行滤波之前,根据为该块计算的梯度值,对滤波器系数f(k,l)和对应的滤波器修剪值c(k,l)应用几何变换,例如旋转或对角和垂直翻转。这相当于将这些变换应用于滤波器支持区域中的样点。这个想法是通过对齐不同的块的方向性来使应用ALF的不同的块更加相似。
引入了三种几何变换,包括对角线、垂直翻转和旋转:
对角线:fD(k,l)=f(l,k),cD(k,l)=c(l,k), (2-22)
垂直翻转:fV(k,l)=f(k,K-l-1),cV(k,l)=c(k,K-l-1) (2-23)
旋转:fR(k,l)=f(K-l-1,k),cR(k,l)=c(K-l-1,k) (2-24)
其中K是滤波器的尺寸,并且0≤k,l≤K-1是系数坐标,因此位置(0,0)位于左上角,并且位置(K-1,K-1)位于右下角。根据为该块计算的梯度值,将变换应用于滤波器系数f(k,l)和修剪值c(k,l)。下表总结了变换和四个方向的四个梯度之间的关系。
表2-8为一个块计算的梯度和变换的映射
梯度值 变换
g<sub>d2</sub><g<sub>d1</sub>和g<sub>h</sub><g<sub>v</sub> 没有变换
g<sub>d2</sub><g<sub>d1</sub>和g<sub>v</sub><g<sub>h</sub> 对角线
g<sub>d1</sub><g<sub>d2</sub>和g<sub>h</sub><g<sub>v</sub> 垂直翻转
g<sub>d1</sub><g<sub>d2</sub>和g<sub>v</sub><g<sub>h</sub> 旋转
2.14.4.滤波器参数信令通知
ALF滤波器参数在自适应参数集(APS)中被信令通知。在一个APS中,可以信令通知多达25个亮度滤波器系数和修剪值索引的集合,以及多达8个色度滤波器系数和修剪值索引的集合。为了减少比特开销,可以merge亮度分量的不同分类的滤波器系数。在条带头中,信令通知用于当前条带的APS的索引。
从APS解码的修剪值索引允许使用亮度和色度分量两者的修剪值的表确定修剪值。这些修剪值取决于内部位深度。更准确地说,修剪值通过以下公式获得:
AlfClip={round(2B-α*n)for n∈[0..N-1]} (2-25)
其中b等于内部位深度,α为等于2.35的预定义常数值,并且N等于4,这是VVC中允许的修剪值的数量。
在条带头中,可以信令通知多达7个APS索引,以指定用于当前条带的亮度滤波器集合。可以在CTB级别进一步控制滤波过程。总是信令通知标志来指示ALF是否应用于亮度CTB。亮度CTB可以从16个固定滤波器集合和来自APS的滤波器集合中选择滤波器集合。为亮度CTB信令通知滤波器集合索引,以指示应用哪个滤波器集合。16个固定滤波器集合在编码器和解码器两者中都是预定义和硬编解码的。
对于色度分量,在条带头中信令通知APS索引以指示用于当前条带的色度滤波器集合。在CTB级别,如果在APS中有多于一个色度滤波器集合,则针对每个色度CTB信令通知滤波器索引。
滤波器系数用等于128的范数量化。为了限制乘法复杂度,应用了比特流一致性,使得非中心位置的系数值应在-27至27-1的范围内,包括-27和27-1。中心位置系数在比特流中没有被信令通知,并且被认为等于128。
2.14.5.滤波过程
在解码器侧,当对CTB启用ALF时,CU内的每个样点R(i,j)被滤波,产生如下所示的样点值R′(i,j),
R′(i,j)=R(i,j)+((∑k≠0l≠0f(k,l)×K(R(i+k,j+l)-R(i,j),c(k,l))+64)>>7)
(2-26)
其中f(k,l)表示解码的滤波器系数,K(x,y)是修剪函数,并且c(k,l)表示解码的修剪参数。变量k和l在
Figure BDA0003662110190000241
Figure BDA0003662110190000242
之间变化,其中L表示滤波器长度。对应于函数Clip3(-y,y,x).的修剪函数K(x,y)=min(y,max(-y,x))。
2.14.6.用于减少行缓冲器的虚拟边界滤波过程
在VVC中,为了减少ALF的行缓冲器需求,对水平CTU边界附近的样点采用修改的块分类和滤波。为此,如图11所示,通过用“N”个样点移位水平CTU边界,虚拟边界被定义为一条线,其中对于亮度分量,N等于4,并且对于色度分量,N等于2。
如图12所示,修改的块分类被应用于亮度分量。对于虚拟边界上方的4×4块的1D拉普拉斯梯度计算,仅使用虚拟边界上方的样点。类似地,对于虚拟边界下方的4×4块的1D拉普拉斯梯度计算,仅使用虚拟边界下方的样点。通过考虑在1D拉普拉斯梯度计算中使用的减少的样点数量,相应地缩放活动值A的量化。
对于滤波处理,虚拟边界处的对称填充操作用于亮度和色度分量两者。如图12所示,当被滤波的样点位于虚拟边界下方时,位于虚拟边界上方的相邻样点被填充。同时,也对称地填充另一侧的对应样点。
不同于在水平CTU边界使用的对称填充方法,当跨边界的滤波器被禁用时,简单的填充过程被应用于条带、片和子图片边界。简单的填充过程也应用于图片边界。填充样点用于分类和滤波过程两者。
2.15.JVET-P0080:CE5-2.1、CE5-2.2:跨分量自适应环路滤波器
下面的图13A示出了CC-ALF相对于其他环路滤波器的放置。CC-ALF通过对每个色度分量的亮度通道应用线性菱形滤波器(图13B)来操作,表示为
Figure BDA0003662110190000251
其中
(x,y)是被细化的色度分量i位置
(xC,yC)是基于(x,y)的亮度位置
Si是亮度中对色度分量i的滤波器支持
ci(x0,y0)代表滤波器系数
(2-28)
支持区域围绕其居中的亮度位置(xC,yC)是基于亮度和色度平面之间的空域缩放因子计算的。所有滤波器系数都在AP中发送,并具有8位动态范围。APS可以在条带头中被引用。用于条带的每个色度分量的CC-ALF系数也存储在对应于时域子层的缓冲器中。使用条带级别标志有助于这些时域子层滤波器系数集合的重用。CC-ALF滤波器的应用在可变块尺寸(即,16×16、32×32、64×64、128×128)上被控制,并且通过为每个样点块接收的上下文编解码标志信令通知。在每个色度分量的条带级别接收块尺寸以及CC-ALF启用标志。水平虚拟边界的边界填充利用了重复。对于剩余的边界,使用与常规ALF相同类型的填充。
2.16.JVET-P1008:CE5相关:关于CC-ALF的设计
在JVET-O0636和CE5-2.1中,引入并研究了跨分量自适应环路滤波器(CC-ALF)。该滤波器使用线性滤波器对亮度样点值进行滤波,并从并置的滤波输出中产生色度通道的残差校正。该滤波器旨在与现有亮度ALF并行操作。
提出了CC-ALF设计,该设计被断言是简化的并且与现有的ALF更好地对齐。该设计使用具有8个唯一系数的3x4菱形。与CE5-2.1中研究的5x6设计相比,这将乘法次数减少了43%。当对CTU的色度分量启用色度ALF或CC-ALF进行限制时,我们将每像素乘数计数限制为16(当前ALF为15)。滤波器系数动态范围限制为6位有符号。图14示出了所提出的解决方案和CE5-2.1解决方案两者的滤波器的说明。
为了更好地与现有的ALF设计对齐,滤波器系数在APS中被信令通知。最多支持四个滤波器,并且滤波器选择在CTU级别指示。在虚拟边界处使用对称线选择来进一步与ALF协调。最后,为了限制校正输出所需的存储量,CC-ALF残差输出被修剪为-2BitDepthC-1至2BitDepthC-1-1,包括-2BitDepthC-1和2BitDepthC-1-1。
2.17.JVET-P2025中CC-ALF的简化方法
2.17.1.替代滤波器形状
如本文所述,CC-ALF滤波器形状被修改为具有如图所示的8或6个系数。
图15示出了JVET-P0106中的8个系数的CC-ALF滤波器形状。
图16示出了JVET-P0173中的6个系数的CC-ALF滤波器形状。在图16、17和19-34B中,亮度样点由纯色圆圈指示,色度样点用圆圈内具有图案的圆圈指示,一个或多个内部具有图案的粗圆圈指示基于由亮度样点周围的正方形指示的亮度样点确定的色度样点。
图17示出了JVET-P0251中的6个系数的CC-ALF滤波器形状。
2.17.2.联合色度跨分量自适应滤波
联合色度跨分量自适应环路滤波器(JC-CCALF)仅使用在编码器处训练的一个CCALF滤波器系数的集合来生成一个滤波输出作为细化信号,该输出将被直接添加到Cb分量,并被适当加权,然后被添加到Cr分量。滤波器在CTU级别被指示,或者用块尺寸来指示,每个条带信令通知该块尺寸。
支持的这种色度块尺寸的范围从最小色度CTU尺寸到当前色度CTU尺寸。最小色度CTU尺寸是色度CTU的最小可能宽度和高度之间的最小值,即Min(32/SubWidthC,32/SubHeightC),而当前色度CTU尺寸是当前色度CTU的宽度和高度之间的最小值,即Min(CtbWidthC,CtbHeightC)。例如,如果CTU尺寸被设置为最大128×128,则对于4:4:4视频,条带的JC-CCALF色度块尺寸将是来自32×32、64×64和128×128的一个,或者对于4:2:0和4:2:2视频,是来自16×16、32×32和64×64的一个。
图18示出了JC-CCALF工作流的示例。
3.本文公开的技术解决方案解决的示例技术问题
CC-ALF的当前设计存在以下问题:
1.在当前的CC-ALF中,为每个色度样点计算偏移,这大大增加了计算复杂度。
2.当前CC-ALF中的滤波设计可能不是有效的,因为对于所有种类的视频的所有色度样点仅使用一个滤波器支持,这没有考虑局部特性。
3.在CC-ALF的当前滤波器设计中,亮度样点总是用于细化色度分量,这可能是次优的。
4.在CC-ALF或ALF的当前设计中,使用当前帧中的亮度或/和色度样点来细化亮度或/和色度样点可能效率不高。
5.CC-ALF不一定应用于特定位置的色度样点,因为这些样点可能被滤波多次,例如在去方块滤波器、SAO、色度ALF中。
4.解决方案和实施例的示例
以下列表应被视为解释一般概念的示例。这些项目不应以狭隘的方式解释。此外,这些项目可以以任何方式组合。
在本文档中,术语“CC-ALF”表示使用第二色彩分量(例如,Y)或多个色彩分量(例如,Y和Cr两者)中的样点值来细化第一色彩分量(例如,Cb)中的样点的编解码工具。它不限于CC-ALF技术。在一个示例中,位于(x,y)的色度样点的并置亮度样点被定义如下:在4:2:0色度格式、4:2:2色度格式和4:4:4色度格式中,并置亮度样点分别位于(2x,2y)、(2x,y)和(x,y)处。“对应滤波样点集”可用于表示包含在滤波器支持中的那些样点,例如,对于CC-ALF,“对应滤波样点集”可用于表示色度样点的并置亮度样点和该色度样点的并置亮度样点的相邻亮度样点,其用于导出色度样点的细化/偏移。
基于子块的滤波方法
1.不是在样点级别执行CC-ALF滤波过程,而是提出在子块(包含多于1个样点)级别应用它,并且一个偏移可以由CC-ALF/色度ALF/亮度ALF/其他种类的滤波方法中的子块中的色彩分量的所有样点共享。
a.在一个示例中,子块可以是样点的M×N(M列乘n行)阵列(例如,1×2、或2×1、或2×2、或2×4、或4×2、或4×4)。
b.在一个示例中,子块维度可以在序列级别/图片级别/条带级别/片组级别被信令通知,例如在序列头/图片头/SPS/VPS/DPS/PPS/APS/条带头/片组头中;或者在视频区域级别被信令通知,例如CTB。
c.在一个示例中,在细化子块中的所有样点之前,可以进一步修改偏移。将偏移表示为o。
i.在一个示例中,在添加到子块中的每个样点之前,偏移可以被修剪到给定的范围。
1)在一个示例中,偏移可以被修剪为T1到T2的范围内,例如T1=-5,并且T2=5。
2)在一个示例中,可以信令通知是否和/或如何进行修剪。
ii.在一个示例中,当偏移满足特定条件时,偏移可以被设置为T。
1)在一个示例中,如果o<T1&&o>T2,例如T=0,T1=-5,T2=5,则偏移可以被设置为T。
iii.在一个示例中,如何修改偏移可能取决于子块宽度或/和子块高度。将子块宽度表示为W,并且将子块高度表示为H。
1)在一个示例中,偏移可以被修改为o/(M×(W×H)),例如,M=1或M=2。
iv.在一个示例中,在被添加到子块中的每个样点之前,偏移可以被乘以T或除以T、与T相加或移位T。
1)在一个示例中,可以在比特流中信令通知T。
2)在一个示例中,T可以取决于子块中的样点值。
3)在一个示例中,T可以取决于样点值的位深度。
a)在一个示例中,偏移可以被修改为o*T,其中T=v/(2^Bmax-1),并且v表示一个样点的值,Bmax表示分量的最大位深度。
v.是否修改偏移可以在序列级别/图片级别/条带级别/片组级别被信令通知,例如在序列头/图片头/SPS/VPS/DPS/PPS/APS/条带头/片组头中;或者在视频区域级别被信令通知,例如CTB。
d.在一个示例中,可以选择子块中的一个代表性样点,并且可以使用该子块中其对应的CC-ALF样点集来计算该子块共享的偏移。
i.在一个示例中,代表性色度样点的确定可以取决于样点位置。
1)在一个示例中,根据扫描顺序(例如,光栅扫描),代表性样点可以是子块中的第N个色度样点。例如,N可以是1或2。在另一个示例中,根据扫描顺序,N可以是子块中的最后一个样点。
2)在一个示例中,代表性样点可以在子块中的特定位置,例如中心、左上、右上、左下或右下。
ii.在一个示例中,代表性样点的确定可以取决于样点值。
1)在一个示例中,代表性样点可以是子块中的最大样点值的样点。
2)在一个示例中,代表性样点可以是子块中的最小样点值的样点。
3)在一个示例中,代表性样点可以是子块中的中值样点值的样点。
iii.在一个示例中,可以使用CC-ALF(例如,图13至17中的任何一个)中的一个代表性样点的“对应滤波样点集”。
e.在一个示例中,可以选择子块中的多个代表性样点,并且可以使用它们对应的滤波样点集来计算偏移。
i.在一个示例中,多个代表性样点中的每一个的“对应滤波样点集”可以首先被修改(例如,通过平均或加权平均)以生成一个虚拟代表性滤波样点集,并且该虚拟代表性滤波样点集被用于计算偏移。
2.提出了一种双偏移细化方法,为了对样点进行滤波,可以将两个或多个偏移添加到样点上,以获得最终的细化样点值。
a.在一个示例中,使用两个偏移来细化一个当前样点,其中第一偏移是用于包括当前样点的子块的共享偏移,并且第二偏移是用于当前样点的单独偏移。
i.在一个示例中,可以使用第一滤波器支持来计算共享偏移,例如,使用项目符号1中描述的方法。
1)在一个示例中,图19中定义的滤波器形状可以用在CC-ALF中,其中子块尺寸是1×2。例如,子块可以包括位于(Xc,Yc)和(Xc,Yc+1)的色度样点。用L0、L1、...、L5表示的亮度样点可用于计算共享偏移。
2)在一个示例中,可以使用图20中定义的滤波器形状,其中子块尺寸是2×1。例如,子块可以包括位于(Xc,Yc)和(Xc+1,Yc)的色度样点。用L0、L1、...、L3表示的亮度样点可用于计算共享偏移。
ii.在一个示例中,可以使用第二滤波器支持来计算每个色度样点的单独偏移。
1)在一个示例中,图19中定义的滤波器形状可以用在CC-ALF中,其中子块尺寸是1×2。例如,由L6和L1表示的亮度样点可用于计算位于(Xc,Yc)处的第一色度样点的单独偏移,并且由L4和L7表示的亮度样点可用于计算位于(Xc,Yc+1)处的第二色度样点的单独偏移。
2)在一个示例中,可以使用图20中定义的滤波器形状,其中子块尺寸是2×1。例如,由L4、L1、L5和L2表示的亮度样点可用于计算位于(Xc,Yc)处的第一色度样点的单独偏移,并且由L6、L7、L8和L9表示的亮度样点可用于计算位于(Xc+1,Yc)处的第二色度样点的单独偏移。
iii.在一个示例中,共享偏移计算过程中涉及的样点(例如,包括在第一滤波器支持中的样点)被排除在第二滤波器支持中。
1)可选地,第一滤波器支持中涉及的部分样点被包括在第二滤波器支持中。
iv.在一个示例中,共享偏移计算过程中涉及的样点数量(例如,包括在第一滤波器支持中的样点数量)等于第二滤波器支持中涉及的样点数量。
1)可选地,共享偏移计算过程中涉及的样点数量不小于第二滤波器支持中涉及的样点数量。
2)可选地,共享偏移计算过程中涉及的样点数量不大于第二滤波器支持中涉及的样点数量。
b.在一个示例中,一个或多个共享偏移和/或单独偏移可以在序列级别/图片级别/条带级别/片组级别被信令通知,例如在序列头/图片头/SPS/VPS/DPS/PPS/APS/条带头/片组头中。
i.共享偏移可以以子块的扫描顺序被信令通知。
c.在一个示例中,上述方法可以应用于CC-ALF/色度ALF/其他滤波方法。
CC-ALF的多种滤波器形状支持
3.CC-ALF中使用的N抽头对称滤波器支持,其中滤波器支持内的两个样点的至少两个滤波器系数共享相同的值。
a.在一个示例中,N可以是特定的数,例如N=6、8。
i.在一个示例中,对称N抽头滤波器形状可以在CC-ALF中使用。
1)在一个示例中,在CC-ALF中可以使用在图21A-21C的任何一个中定义的具有4个唯一系数(由Ci表示,其中i是0到3)的对称8抽头滤波器形状。
2)在一个示例中,在CC-ALF中可以使用在图22A-22C的任何一个中定义的具有5个唯一系数的对称8抽头滤波器形状。
3)在一个示例中,在CC-ALF中可以使用在图23A-23C的任何一个中定义的具有6个唯一系数的对称8抽头滤波器形状。
b.在一个示例中,由两个或多个系数共享的相同值可以在序列级别/图片级别/条带级别/片组级别被信令通知,例如在序列头/图片头/SPS/VPS/DPS/PPS/APS/条带头/片组头中,并且用于导出两个或多个系数。
4.在CC-ALF中可以使用非对称N抽头滤波器形状(N<8)。
a.在一个示例中,在CC-ALF中可以使用在图24A-24F的任何一个中定义的非对称6抽头滤波器形状。
b.在一个示例中,在CC-ALF中可以使用在图25A-25D的任何一个中定义的非对称5抽头滤波器形状。
c.在一个示例中,在CC-ALF中可以使用在图26A-26E的任何一个中定义的非对称4抽头滤波器形状。
5.CC-ALF被调用以将滤波器系数应用于样点差,而不是直接应用于滤波器支持中的样点。
a.在一个示例中,亮度样点差可定义为滤波器支持(区域)中的一个代表性亮度样点与滤波器支持区域中的其它亮度样点之间的差。
i.在一个示例中,对于位于(X,Y)的色度样点,代表性亮度样点位于(2X,2Y)。
ii.在一个示例中,图27A或27B中定义的滤波器形状可以在CC-ALF中使用。
b.在一个示例中,确定多个代表性样点,并使用一个非代表性样点和一个代表性样点之间的差。
i.在一个示例中,对于位于(X,Y)的色度样点,两个代表性亮度样点位于(2X,2Y)和(2X+1,2Y)。
ii.在一个示例中,对于位于(X,Y)的色度样点,两个代表性亮度样点位于(2X,2Y)和(2X,2Y+1)。
iii.在一个示例中,图28中定义的滤波器形状可在CC-ALF中使用。
c.如何选择代表性样点可以是预定义的或者取决于解码信息(例如,色彩格式)或者被信令通知的。
6.对于视频单元(例如,条带/图片),可在CC-ALF中使用多个滤波器支持的集合。
a.在一个示例中,由N表示的滤波器抽头(例如,在项目符号3-5中使用的那些)和/或滤波器支持的指示可以在序列级别/图片级别/条带级别/片组级别被信令通知,例如在序列头/图片头/SPS/VPS/DPS/PPS/APS/条带头/片组头中
b.在一个示例中,用于计算子块中的偏移的“对应滤波样点集”可包含在基于非子块的滤波方法中用于多个代表性色度样点的部分或全部亮度样点。
i.在一个示例中,图29中定义的滤波器形状可以用于基于1×2子块的CC-ALF。
ii.在一个示例中,图30中定义的滤波器形状可以用于基于2×1子块的CC-ALF。
iii.在一个示例中,图31中定义的8抽头滤波器形状可用于1×2子块CC-ALF中。
iv.在一个示例中,图32中定义的8抽头滤波器形状可用于2×1子块CC-ALF中。
v.在一个示例中,图33中定义的10抽头滤波器形状可用于1×2子块CC-ALF中。
vi.在一个示例中,图34中定义的10抽头滤波器形状可用于2×1子块CC-ALF中。
具有多个分量的滤波器支持
7.当滤波(例如,在CC-ALF中的)样点时,滤波器支持可以包括与多个分量相关联的样点。
a.在一个示例中,应用于第二色彩分量和应用于第三色彩分量以校正第一色彩分量的滤波器系数可被顺序地信令通知(应用于第三色彩分量上的系数都在第二色彩分量上的系数之后被信令通知)。
a)在另一个示例中,应用于第二色彩分量和应用于第三色彩分量以校正第一色彩分量的滤波器系数可以以交错方式被信令通知。
b.建议通过滤波第二分量中的样点来校正第一分量中的样点,这排除了第一分量是Cb/Cr而第二分量是Y的情况。
i.在一个示例中,在项目符号3中定义的滤波器形状可以在第二分量中使用,以校正第一分量中的样点。
c.建议在导出CC-ALF中的第一个分量的“样点的校正”或“细化的样点”时,可以滤波来自一个以上的分量的样点。
i.在一个示例中,一个滤波器形状(例如,项目符号3中的滤波器形状)可以在所有多个分量中使用,以校正第一分量中的样点。
1)在一个示例中,可以对从多个分量导出的偏移进行平均或加权平均,以校正第一分量中的样点。
2)在一个示例中,从多个分量导出的偏移的乘积可以用于校正第一分量中的样点。
ii.在一个示例中,不同的滤波器形状(例如,在项目符号3中定义的滤波器形状)可以在多个分量中使用,以校正第一分量中的样点。
1)在一个示例中,可以对从多个分量导出的偏移进行平均或加权平均,以校正第一分量中的样点。
2)在一个示例中,从多个分量导出的偏移的乘积可以用于校正第一分量中的样点。
ALF或/和CC-ALF的多个帧支持
8.在ALF或/和CCALF的当前设计中,当前帧中的样点用于细化相同或不同分量中的样点。建议使用多个帧中的样点来细化当前帧中的样点。
a.在一个示例中,是否将来自多个帧的样点用于ALF或/和CC-ALF可以在序列级别/图片级别/条带级别/片组级别被信令通知,例如在序列头/图片头/SPS/VPS/DPS/PPS/APS/条带头/片组头中。
b.在一个示例中,用于ALF或/和CC-ALF的多个帧可以是或不是当前帧的参考图片。
i.在一个示例中,当前帧的最近图片可用于ALF或/和CC-ALF,其中编解码图片(POC)可用于判断距离。
ii.在一个示例中,当前帧的短期图片可以用于ALF或/和CC-ALF。
iii.在一个示例中,当前帧的长期图片可以用于ALF或/和CC-ALF。
iv.在一个示例中,当前帧的相同时域层中的参考图片可用于ALF或/和CC-ALF。
v.在一个示例中,当前帧的不同时域层中的参考图片可用于ALF或/和CC-ALF。
vi.在一个示例中,用于ALF或/和CC-ALF的多个帧可以包括/不包括当前帧。
对虚拟边界和CTU底部边界之间的色度样点禁用CC-ALF
9.建议对ALF虚拟边界和CTB底部边界之间的色度样点禁用CC-ALF。
a.在一个示例中,ALF虚拟边界可以在第2.14.6节中定义。
10.建议对ALF虚拟边界和CTU底部边界之间的亮度样点或/和色度样点禁用ALF。
a.在一个示例中,ALF虚拟边界可以在第2.14.6节中定义。
11.建议对已经被另一个滤波器(例如,去方块滤波器)滤波的样点禁用滤波过程(例如,CC-ALF)。
a.可选地,对位于可由另一个滤波器(例如,去方块滤波器)滤波的变换/CU边缘处的样点禁用滤波过程(例如,CC-ALF)
一般要求
12.是否和/或如何应用上述公开的方法可以在序列级别/图片级别/条带级别/片组级别被信令通知,例如在序列头/图片头/SPS/VPS/DPS/PPS/APS/条带头/片组头中。
13.是否和/或如何应用上述公开的方法可以取决于编解码的信息,例如色彩格式、单/双树分割、样点位置(例如,相对于CU/CTU)。
图19示出了基于部分共享子块的CC-ALF的滤波器。
图20示出了基于部分共享2×1子块的CC-ALF的滤波器。
图21A-21C示出了滤波(Xc,Yc)时具有4个唯一系数的对称8抽头滤波器的示例。图21A示出了类型1滤波器,图21B示出了类型2滤波器,并且图21C示出了类型3滤波器。
图22A-22C示出了滤波(Xc,Yc)时具有5个唯一系数的对称8抽头滤波器的示例。图22A、22B和22C分别示出了类型1、类型2和类型3滤波器。
图23A-23C示出了滤波(Xc,Yc)时具有6个唯一系数的对称8抽头滤波器的示例。图23A、23B和23C分别示出了类型1、类型2和类型3滤波器。
图24A-24F示出了滤波(Xc,Yc)时的非对称6抽头滤波器。图24A至24F分别示出了类型1、类型2、类型3、类型4、类型5和类型6滤波器。
图25A-25D示出了滤波(Xc,Yc)时的非对称5抽头滤波器(Xc,Yc)。图25A至25D分别示出了类型1、类型2、类型3、类型4滤波器。
图26A-26D示出了滤波(Xc,Yc)时的非对称4抽头滤波器。图26A至26E分别示出了类型1、类型2、类型3、类型4、类型5滤波器。
图27A-27B示出了应用于CC-ALF中的亮度差的滤波器系数的示例。图27A、27B分别示出了类型1和类型2滤波器。
图28示出了应用于CC-ALF中的亮度差(不同中心值)的滤波器系数的示例。
图29示出了基于1×2子块的CC-ALF的14抽头滤波器的示例。
图30示出了基于2×1子块的CC-ALF的14抽头滤波器的示例。
图31示出了基于1×2子块的CC-ALF的8抽头滤波器的示例。
图32基于2×1子块的CC-ALF的8抽头滤波器的示例。
图33示出了基于1×2子块的CC-ALF的10抽头滤波器的示例。
图34A-34B示出了基于2×1子块的CC-ALF的类型1和类型2的10抽头滤波器。
图35是可实现的本文中所公开的各种技术的示例视频处理系统1900的框图。各种实现方式可以包括系统1900中的一些或全部组件。系统1900可以包括用于接收视频内容的输入1902。视频内容可以以原始或未压缩的格式(例如8或10比特多分量像素值)接收,或者可以以压缩或编码的格式接收。输入1902可以代表网络接口、外围总线接口或存储接口。网络接口的示例包括有线接口(诸如以太网、无源光网络(PON)等)和无线接口(诸如Wi-Fi或蜂窝接口)。
系统1900可以包括可以实现本文档中描述的各种编解码或编码方法的编解码组件1904。编解码组件1904可以减少从输入1902到编解码组件1904的输出的视频的平均比特率,以产生视频的比特流表示。因此,编解码技术有时称为视频压缩或视频转码技术。编解码组件1904的输出可以被存储或经由所连接的通信来发送,如组件1906所表示的。在输入1902处接收的视频的存储或通信的比特流(或编解码)表示可以由组件1908使用,以生成被发送到显示接口1910的像素值或可显示视频。从比特流表示中生成用户可见的视频的过程有时称为视频解压缩。此外,尽管某些视频处理操作被称为″编解码″操作或工具,但是应当理解,在编码器处使用编解码工具或操作,并且将由解码器执行反转编解码结果的对应解码工具或操作。
外围总线接口或显示接口的示例可以包括通用串行总线(USB)或高清晰度多媒体接口(HDMI)或Displayport等。存储接口的示例包括SATA(串行高级技术附件)、PCI、IDE接口等。本文档中描述的技术可以实施在各种电子装置中,诸如移动电话、膝上型计算机、智能电话或其它能够执行数字数据处理和/或视频显示的设备。
图36是视频处理装置3600的框图。装置3600可以用于实现文中所述的方法中的一个或多个。装置3600可以实施在智能电话、平板计算机、物联网(IoT)接收器等中。装置3600可以包括一个或多个处理器3602、一个或多个存储器3604和视频处理硬件3606。(多个)处理器3602可以配置为实现本文档中所述的一个或多个方法。(多个)存储器3604可以用于存储数据和代码,该代码用于实现本文所描述的方法和技术。视频处理硬件3606可以用于在硬件电路中实现本文档中所描述的一些技术。
接下来提供了一些实施例优选的解决方案列表。
以下解决方案示出了上一节中讨论的技术的示例实施例(例如,项目1)。
1.一种视频处理的方法(例如,图37中的方法3700),包括:对于视频分量的视频单元和视频的比特流表示之间的转换,确定(3702)将偏移值用于视频单元的子块的所有样点的跨分量自适应环路滤波;以及基于该确定来执行(3704)转换,其中该偏移还用于转换中的另一个处理操作,该另一个处理操作包括一个或多个自适应环路滤波操作。
2.根据解决方案1所述的方法,其中视频分量是视频的色彩分量。
3.根据解决方案1-2中任一项所述的方法,其中视频单元包括视频块。
4.根据解决方案1-3中任一项所述的方法,其中子块尺寸对应于样点的MxN阵列。
5.根据解决方案4所述的方法,其中在比特流表示中信令通知子块尺寸。
以下解决方案示出了上一节中讨论的技术的示例实施例(例如,项目2)。
6.一种视频处理的方法,包括:对于视频分量的视频单元和视频的比特流表示之间的转换,确定在转换期间将视频单元的子块的当前样点的最终偏移值用于跨分量自适应环路滤波;并且基于该确定来执行转换;其中最终偏移值基于第一偏移值和不同于第一偏移值的第二偏移值。
7.根据解决方案6所述的方法,其中第一偏移值与相邻样点共享,并且第二偏移值特定于当前样点。
8.根据解决方案6-7中任一项所述的方法,其中子块的尺寸为2×1。
9.根据解决方案6-8中任一项所述的方法,其中用于确定第一偏移值和第二偏移值的样点彼此不同。
10.根据解决方案6-8中任一项所述的方法,其中至少一些样点都用于确定第一偏移值和第二偏移值。
11.根据解决方案6-10中任一项所述的方法,其中比特流表示中的字段指示第一偏移值用于转换。
以下解决方案示出了上一节中讨论的技术的示例实施例(例如,项目3)。
12.一种视频处理的方法,包括:对于视频分量的视频单元和视频的比特流表示之间的转换,确定在转换期间将N抽头对称滤波器用于跨分量自适应环路滤波器计算;并且基于该确定来执行转换;其中在N抽头对称滤波器的支持下,两个样点的至少两个滤波器系数共享相同的值。
13.根据解决方案12所述的方法,其中N=6或8。
14.根据解决方案12-13中任一项所述的方法,其中比特流表示中的字段信令通知由两个样点共享的相同值。
以下解决方案示出了上一节中讨论的技术的示例实施例(例如,项目4)。
15.一种视频处理的方法,包括:对于视频分量的视频单元和视频的比特流表示之间的转换,确定在转换期间将N抽头非对称滤波器用于跨分量自适应环路滤波器计算,其中N是正整数;以及基于该确定来执行转换。
16.根据解决方案15所述的方法,其中N<8。
以下解决方案示出了上一节中讨论的技术的示例实施例(例如,项目5)。
17.一种视频处理的方法,包括:执行视频的第一分量的视频单元和视频的比特流表示之间的转换;其中第一分量的样点的转换包括对视频的第二分量的样点差应用跨分量自适应环路滤波器。
18.根据解决方案17所述的方法,其中第一分量是色彩分量,并且第二分量是亮度分量。
19.根据解决方案17或18所述的方法,其中,通过将亮度滤波器支持区域中的亮度代表性样点与亮度滤波器支持区域中的另一个亮度样点进行差分来确定第二分量的样点差。
20.根据解决方案19所述的方法,其中样点位于位置(X,Y)处,并且代表性亮度样点选自位置(2X,2Y),其中X和Y是从位于(0,0)处的视频单元的左上角到样点位置的整数偏移。
21.根据解决方案19所述的方法,其中样点位于位置(X,Y)处,并且代表性亮度样点选自位置(2X,2Y)处,并且另一个亮度样点位于(2X+1,2Y)处,其中X和Y是距位于(0,0)处的视频单元的左上角到样点位置的整数偏移。
以下解决方案示出了上一节中讨论的技术的示例实施例(例如,项目6)。
22.一种视频处理的方法,包括:在视频分量的视频单元的子块与视频的比特流表示之间的转换期间,确定将来自多个滤波器集合的两个或多个滤波器用于跨分量自适应环路滤波;以及基于该确定来执行转换。
23.根据解决方案22所述的方法,其中比特流表示中的字段指示多个滤波器的集合的长度N和/或两个或更多滤波器的支持。
24.根据解决方案22-23中任一项所述的方法,其中在跨分量环路滤波中使用的偏移通过使用对应于使用预定义支持的子块的亮度分量的亮度样点来确定。
以下解决方案示出了上一节中讨论的技术的示例实施例(例如,项目7、8)。
25.一种视频处理的方法,包括:对于视频的视频单元的第一分量的子块与视频的比特流表示之间的转换,确定已支持跨视频的多个分量或跨视频的多个图片的滤波器,以用于在转换期间执行跨分量自适应环路滤波;以及基于该确定来执行转换。
26.根据解决方案25所述的方法,其中比特流表示中的一个或多个语法元素指示滤波器和/或用于支持滤波器的多个分量的使用。
27.根据解决方案26所述的方法,其中一个或多个语法元素是按顺序的,其中第二分量的滤波器系数被指示,随后是第三分量的滤波器系数。
28.根据解决方案26所述的方法,其中一个或多个语法元素处于交错顺序,其中第二分量的滤波器系数被指示,随后是第三分量的滤波器系数。
29.根据解决方案25所述的方法,其中比特流表示中的一个或多个语法元素指示多个图片的使用和/或标识多个图片。
30.根据解决方案25所述的方法,其中多个图片不包括在转换期间使用的参考图片。
以下解决方案示出了上一节中讨论的技术的示例实施例(例如,项目9、10、11)。
31.一种视频处理的方法,包括:对于视频分量的视频单元的子块和视频的比特流表示之间的转换,根据位置规则确定是否启用跨分量自适应环路滤波器(CC-ALF)以用于该转换;以及基于该确定来执行转换。
32.根据解决方案31所述的方法,其中位置规则指定禁用编解码树块底部边界和环路滤波的虚拟边界之间的CC-ALF。
33.根据解决方案31所述的方法,其中位置规则指定禁用编解码树单元底部边界和环路滤波的虚拟边界之间的CC-ALF。
34.根据解决方案31所述的方法,其中位置规则指定在转换期间应用另一个滤波的位置处禁用CC-ALF。
35.根据解决方案1-34中任一项所述的方法,其中视频单元包括视频块或视频条带或视频图片。
36.根据解决方案1-34中任一项所述的方法,其中指示用于转换的方法的使用的语法元素被包括在序列头或图片头或序列参数集或视频参数集或图片参数集或自适应参数集或条带头或片组头中的序列级别或图片级别或条带级别或片组级别。
37.根据解决方案1-36中任一项所述的方法,其中,由于视频的编解码信息,该方法被选择性地应用。
38.根据解决方案37所述的方法,其中特性包括色彩格式或分割类型或子块相对于编解码单元或编解码树单元的位置。
39.根据解决方案1-38中任一项所述的方法,其中执行转换包括编码视频以生成比特流表示。
40.根据解决方案1-38中任一项所述的方法,其中执行转换包括解析和解码比特流表示以生成视频。
41.一种视频解码装置,包括被配置为实现解决方案1至40中的一个或多个中所述的方法的处理器。
42.一种视频编码装置,包括被配置为实现解决方案1至40中的一个或多个中所述的方法的处理器。
43.一种其上存储有计算机代码的计算机程序产品,当由处理器进行时,该代码使处理器实现解决方案1至40中任一项所述的方法。
44.本文档中描述的方法、装置或系统。
在本文档中,术语“视频处理”可指视频编码、视频解码、视频压缩或视频解压缩。例如,在从视频的像素表示到对应的比特流表示的转换期间,可以应用视频压缩算法,反之亦然。如语法所定义,当前视频块的比特流表示可(例如)对应于并置或散布在比特流内的不同位置的比特。例如,可以根据经变换和编解码的误差残差值,并且还使用比特流中的头和其他字段中的比特,对宏块进行编码。
图38是说明视频解码器300的示例的框图,该视频解码器300可以是图39中说明的系统100中的视频解码器114。
视频解码器300可以被配置为执行本公开的任何或全部技术。在图38的示例中,视频解码器300包括多个功能组件。本公开所描述的技术可以在视频解码器300的各种组件之间共享。在一些示例中,处理器可以配置为执行本公开所述的任何或全部技术。
在图38的示例中,视频解码器300包括熵解码单元301、运动补偿单元302、帧内预测单元303、逆量化单元304、逆变换单元305以及重建单元306和缓冲器307。在一些示例中,视频解码器300可以执行与关于视频编码器200(图40)所描述的编码过程总体相反的解码过程。
熵解码单元301可以撷取编码比特流。编码比特流可以包括熵编解码视频数据(例如,视频数据的编码块)。熵解码单元301可以对熵编解码视频数据进行解码,并且根据熵解码视频数据,运动补偿单元302可以确定包括运动矢量、运动矢量精度、参考图片列表索引和其他运动信息的运动信息。运动补偿单元302例如可以通过执行AMVP和Merge模式确定此类信息。
运动补偿单元302可以产生运动补偿块,可能地基于插值滤波器执行插值。要以子像素精度使用的插值滤波器的标识符可以包括在语法元素中。
运动补偿单元302可以使用由视频编码器20在编码视频块期间所使用的插值滤波器,来计算出参考块的子整数个像素的插值的值。运动补偿单元302可以根据接收的语法信息确定由视频编码器200所使用的插值滤波器并且使用插值滤波器来产生预测块。
运动补偿单元302可以使用一些语法信息来确定:用于对编码视频序列的(多个)帧和/或(多个)条带进行编码的块的尺寸,描述编码视频序列的图片的每个宏块如何被分割的分割信息,指示如何编码每个分割的模式,每个帧间编码块的一个或多个参考帧(和参考帧列表),以及对编码视频序列进行解码的其他信息。
帧内预测单元303可以使用例如在比特流中接收的帧内预测模式来从空域相邻块形成预测块。逆量化单元303逆量化(即去量化)在比特流中提供的且由熵解码单元301解码的量化的视频块系数。逆变换单元303应用逆变换。
重建单元306可以用由运动补偿单元202或帧内预测单元303生成的对应预测块求和残差块,以形成解码块。如所期望的,去方块滤波器还可以应用于滤波解码块以便移除块化伪影。解码视频块然后存储在缓冲器307中,该缓冲器307提供用于随后的运动补偿/帧内预测的参考块。并且还产生用于在显示设备上呈现的解码视频。
在本文档中,术语“视频处理”可指视频编码、视频解码、视频压缩或视频解压缩。例如,在从视频的像素表示到对应的比特流表示的转换期间,可以应用视频压缩算法,反之亦然。如语法所定义,当前视频块的比特流表示或比特流表示可例如对应于并置或散布在比特流内的不同位置的比特。例如,可根据经变换和编解码的误差残差值且还使用比特流中的头和其它字段中的比特来编码视频块。此外,在转换期间,解码器可以基于该确定在知道某些字段可能存在或不存在的情况下解析比特流,如以上解决方案中所述。类似地,编码器可确定包括或不包括某些语法字段,并通过从比特流表示中包括或排除语法字段来相应地生成比特流表示。
图39是说明可使用本公开的技术的示例视频编解码系统100的框图。如图39所示,视频编解码系统100可以包括源设备110和目的地设备120。源设备110生成编码的视频数据,其可以被称为视频编码设备。目的地设备120可以解码由源设备110生成的编码的视频数据,该目的地设备120可以被称为视频解码设备。源设备110可以包括视频源112、视频编码器114和输入/输出(I/O)接口116。
视频源112可以包括诸如视频捕获设备的源、从视频内容提供者接收视频数据的接口、和/或生成视频数据的计算机图形系统,或这些源的组合。视频数据可以包括一个或多个图片。视频编码器114对来自视频源112的视频数据进行编码以生成比特流。比特流可以包括形成视频数据的比特流表示的比特序列。比特流可以包括编解码图片和相关联的数据。编解码图片是图片的比特流表示。相关联的数据可以包括序列参数集、图片参数集和其他语法元素。I/O接口116可以包括调制器/解调器(调制解调器)和/或发送器。可以将编码的视频数据经由I/O接口116通过网络130a直接发送到目的地设备120。还可以将编码的视频数据存储到存储介质/服务器130b上,用于由目的地设备120存取。
目的地设备120可以包括I/O接口126、视频解码器124和显示设备122。
I/O接口126可以包括接收器和/或调制解调器。I/O接口126可以从源设备110或存储介质/服务器130b获取编码的视频数据。视频解码器124可以对编码的视频数据进行解码。显示设备122可以向用户显示解码的视频数据。显示设备122可以与目的地设备120集成,或可以在配置为与外部显示设备相接的目的地设备120外部。
视频编码器114和视频解码器124可以根据视频压缩标准(诸如,高效视频编解码(HEVC)标准、通用视频编解码(VVC)标准和其他当前和/或其他标准)进行操作。
图40是说明视频编码器200的示例的框图,该视频编码器200可以是图39中说明的系统100中的视频编码器114。
视频编码器200可以被配置为执行本公开的任何或全部技术。在图40的示例中,视频编码器200包括多个功能组件。本公开所描述的技术可以在视频编码器200的各种组件之间共享。在一些示例中,处理器可以配置为执行本公开的任何或全部技术。
视频编码器200的功能组件可以包括分割单元201、预测单元202(其可以包括模式选择单元203、运动估计单元204、运动补偿单元205和帧内预测单元206)、残差生成单元207、变换单元208、量化单元209、逆量化单元210、逆变换单元211、重建单元212、缓冲器213和熵编码单元214。
在其他示例中,视频编码器200可以包括更多、更少或不同的功能组件。在一个示例中,预测单元202可以包括帧内块复制(IBC)单元。IBC单元可以用IBC模式执行预测,其中至少一个参考图片是当前视频块所位于的图片。
此外,诸如运动估计单元204和运动补偿单元205的一些组件可以被高度集成,但是出于解释的目的在图40的示例中分开表示。
分割单元201可以将图片分割成一个或多个视频块。视频编码器200和视频解码器300可以支持各种视频块尺寸。
模式选择单元203可以例如基于错误结果选择帧内或帧间的编解码模式中的一个,并且将得到的帧内或帧间编解码块提供到残差生成单元207来生成残差块数据并且提供到重建单元212来重建编码块以用作参考图片。在一些示例中,模式选择单元203可以选择帧内和帧间预测(CIIP)模式的组合,其中预测是基于帧间预测信号和帧内预测信号。模式选择单元203还可以为帧间预测情况下的块选择运动矢量的分辨率(例如子像素或整数像素精度)。
为了对当前视频块执行帧间预测,运动估计单元204可以通过将来自缓冲器213的一个或多个参考帧与当前视频块进行比较,生成当前视频块的运动信息。运动补偿单元205可以基于来自缓冲器213的图片(而不是与当前视频块相关联的图片)的运动信息和解码样点来为当前视频块确定预测的视频块。
运动估计单元204和运动补偿单元205可以为当前视频块执行不同操作,例如执行不同操作取决于当前视频块是在I条带、P条带还是B条带中。
在一些示例中,运动估计单元204可以执行当前视频块的单向预测,并且运动估计单元204可以在列表0或列表1的参考图片中搜索当前视频块的参考视频块。运动估计单元204然后可以生成指示列表0或列表1的参考图片中含有参考视频块的参考索引以及指示在当前视频块与参考视频块之间的空域位移的运动矢量。运动估计单元204可以输出参考索引、预测方向指示符、和运动矢量作为当前视频块的运动信息。运动补偿单元205可以基于由当前视频块的运动信息指示的参考视频块来生成当前块的预测视频块。
在其他示例中,运动估计单元204可以执行当前视频块的双向预测,运动估计单元204可以在列表0的参考图片中搜索当前视频块的参考视频块并且还可以在列表1的参考图片中搜索当前视频块的另一个参考视频块。运动估计单元204然后可以生成指示列表0或列表1的参考图片中含有参考视频块的参考索引以及指示在参考视频块与当前视频块之间的空域位移的运动矢量。运动估计单元204可以输出参考索引和当前视频块的运动矢量作为当前视频块的运动信息。运动补偿单元205可以基于由当前视频块的运动信息指示的参考视频块来生成当前视频块的预测视频块。
在一些示例中,运动估计单元204可以输出运动信息的全部集合,用于解码器的解码处理。
在一些示例中,运动估计单元204可以不输出当前视频的运动信息的全部集合。而是,运动估计单元204可以参考另一个视频块的运动信息来信令通知当前视频块的运动信息。例如,运动估计单元204可以确定当前视频块的运动信息与相邻视频块的运动信息足够相似。
在一个示例中,运动估计单元204可以在与当前视频块相关联的语法结构中指示:向视频解码器300指示当前视频块具有与另一个视频块相同的运动信息的值。
在另一个示例中,运动估计单元204可以在与当前视频块相关联的语法结构中标识另一个视频块和运动矢量差(MVD)。运动矢量差指示当前视频块的运动矢量与指示视频块的运动矢量之间的差。视频解码器300可以使用指示视频块的运动矢量和运动矢量差来确定当前视频块的运动矢量。
如上所讨论的,视频编码器200可以预测性地信令通知运动矢量。可以由视频编码器200实现的预测性的信令通知技术的两个示例包括高级运动矢量预测(AMVP)和Merge模式信令通知。
帧内预测单元206可以对当前视频块执行帧内预测。当帧内预测单元206对当前视频块执行帧内预测时,帧内预测单元206可以基于相同图片中其他视频块的解码样点来生成当前视频块的预测数据。当前视频块的预测数据可以包括预测视频块和各种语法元素。
残差生成单元207可以通过从当前视频块中减去(例如,由减号表示)当前视频块的(多个)预测视频块来生成当前视频块的残差数据。当前视频块的残差数据可以包括对应于当前视频块中样点的不同样点分量的残差视频块。
在其他示例中,例如在跳过模式下,对于当前视频块可能不存在当前视频块的残差数据,并且残差生成单元207可以不执行减去操作。
变换处理单元208可以通过将一个或多个变换应用于与当前视频块相关联的残差视频块来生成当前视频块的一个或多个变换系数视频块。
在变换处理单元208生成与当前视频块相关联的变换系数视频块之后,量化单元209可以基于与当前视频块相关联的一个或多个量化参数(QP)值来量化与当前视频块相关联的变换系数视频块。
逆量化单元210和逆变换单元211可以将逆量化和逆变换分别应用于变换系数视频块,来从变换系数视频块重建残差视频块。重建单元212可以将重建的残差视频块添加到来自由预测单元202生成的一个或多个预测视频块的对应样点,以产生与当前块相关联的重建视频块用于存储在缓冲器213中。
在重建单元212重建视频块之后,可以执行环路滤波操作以降低视频块中的视频块化伪影。
熵编码单元214可以从视频编码器200的其他功能组件接收数据。当熵编码单元214接收数据时,熵编码单元214可以执行一个或多个熵编码操作以生成熵编码数据并且输出包括熵编码数据的比特流。
本公开的技术的一些实施例包括决定或确定启用视频处理工具或模式。在示例中,当启用视频处理工具或模式时,编码器将使用或实现在视频块的处理中的工具或模式,但是不必基于工具或模式的使用来修改得到的比特流。换言之,当基于决定或确定启用视频处理工具或模式时,从视频块到视频的比特流的转换将使用视频处理工具或模式。在另一个示例中,当启用视频处理工具或模式时,解码器将利用已经基于视频处理工具或模式修改比特流的知识来处理比特流。换言之,将使用基于决定或确定启用的视频处理工具或模式,来执行从视频的比特流表示到视频块的转换。
本公开的技术的一些实施例包括决定或确定禁用视频处理工具或模式。在示例中,当禁用视频处理工具或模式时,编码器在视频块到视频的比特流表示的转换中将不会使用工具或模式。在另一示例中,当视频处理工具或模式被禁用时,解码器将通过使用尚未基于决定或确定而禁用的视频处理工具或模式来修改比特流的知识来处理比特流。
图41为视频处理的示例方法4100的流程图。操作4102包括:执行视频的视频分量的视频块和视频的比特流表示之间的转换,其中视频块包括子块,其中根据规则在转换期间使用滤波工具,并且其中规则指定通过对视频块的每个子块的所有样点使用单个偏移来应用滤波工具。
在方法4100的一些实施例中,滤波工具包含跨分量自适应环路滤波器(CC-ALF)工具,其中视频分量的视频块的子块的样点值是从视频的另一个视频分量的样点值预测的。在方法4100的一些实施例中,滤波工具包含色度自适应环路滤波器(色度ALF)工具,其中使用环路滤波器对色度视频分量的视频块的子块的样点进行滤波。在方法4100的一些实施例中,滤波工具包含亮度自适应环路滤波器(亮度ALF)工具,其中使用环路滤波器对亮度视频分量的视频块的子块的样点进行滤波。在方法4100的一些实施例中,子块的尺寸对应于M列x N行的样点阵列。在方法4100的一些实施例中,子块的尺寸包括1×2样点、或2×1样点、或2×2样点、或2×4样点、或4×2样点、或4×4样点。在方法4100的一些实施例中,子块的尺寸在比特流表示中信令通知。
在方法4100的一些实施例中,子块的尺寸在序列级别、图片级别、条带级别或片组级别的比特流表示中信令通知,或者其中子块的尺寸在视频区域级别的比特流表示中信令通知。在方法4100的一些实施例中,序列级别、图片级别、条带级别或片组级别包括序列头、图片头、序列参数集(SPS)、视频参数集(VPS)、解码器参数集(DPS)、图片参数集(PPS)、自适应参数集(APS)、条带头或片组头。在方法4100的一些实施例中,视频区域级别包括编解码树块(CTB)。在方法4100的一些实施例中,在细化视频块的每个子块的所有样点之前,根据第二规则修改单个偏移,以获得修改的单个偏移。在方法4100的一些实施例中,第二规则指定单个偏移被修剪到T1到T2的范围内。在方法4100的一些实施例中,T1=-5,并且T2=5。在方法4100的一些实施例中,第二规则指定是否修改单个偏移以及修改单个偏移的技术。
在方法4100的一些实施例中,第二规则指定当单个偏移满足某些条件时,修改的单个偏移被设置为T的值。在方法4100的一些实施例中,响应于单个偏移小于T1并且响应于单个偏移大于T2,修改的单个偏移被设置为T的值。在方法4100的一些实施例中,T=0,T1=-5,并且T2=5。在方法4100的一些实施例中,第二规则指定修改单个偏移的技术基于子块的宽度和/或子块的高度。在方法4100的一些实施例中,通过将单个偏移除以(M×W×H)来获得修改的单个偏移,其中,M是整数,W是子块的宽度,并且H是子块的高度。在方法4100的一些实施例中,M是1或2。在方法4100的一些实施例中,第二规则指定通过将单个偏移乘以T或除以T或将单个偏移与T相加或将单个偏移移位T来获得修改的单个偏移,其中T是整数。在方法4100的一些实施例中,T在比特流表示中被信令通知。在方法4100的一些实施例中,T基于子块中的样点值。在方法4100的一些实施例中,T基于视频分量的样点的位深度
在方法4100的一些实施例中,通过将单个偏移乘以T来获得修改的单个偏移,其中,T=v/(2^Bmax-1),其中,v表示一个样点的值,Bmax表示视频分量的样点的最大位深度。在方法4100的一些实施例中,第二规则指定在序列级别、图片级别、条带级别或片组级别的比特流表示中指示是否修改单个偏移,或其中第二规则指定在视频区域级别的比特流表示中指示是否修改单个偏移。在方法4100的一些实施例中,序列级别、图片级别、条带级别或片组级别包括序列头、图片头、序列参数集(SPS)、视频参数集(VPS)、解码器参数集(DPS)、图片参数集(PPS)、自适应参数集(APS)、条带头或片组头。在方法4100的一些实施例中,视频区域级别包括编解码树块(CTB)。
在方法4100的一些实施例中,选择子块中的一个代表性样点,并且对应于一个代表性样点的子块中的CC-ALF样点集被用于计算子块共享的单个偏移。在方法4100的一些实施例中,一个代表性样点是基于代表性色度样点位置而选择的代表性色度样点。在方法4100的一些实施例中,一个代表性样点是根据扫描顺序的子块中的第N个代表性色度样点。在方法4100的一些实施例中,N是1或2,或者是根据扫描顺序的子块中的最后一个样点。在方法4100的一些实施例中,一个代表性样点位于子块中的特定位置。
在方法4100的一些实施例中,特定位置包括子块中的中心位置或左上位置或右上位置或左下位置或右下位置中的至少一个。在方法4100的一些实施例中,基于样点值选择一个代表性样点。在方法4100的一些实施例中,一个代表性样点包括在子块中具有最大样点值的样点。在方法4100的一些实施例中,一个代表性样点包括在子块中具有最小样点值的样点。在方法4100的一些实施例中,一个代表性样点包括在子块中具有中值样点值的样点。在方法4100的一些实施例中,对应于一个代表性样点的CC-ALF样点集被用于使用CC-ALF工具。在方法4100的一些实施例中,选择子块中的多个代表性样点,并且对应于多个代表性样点的子块中的多个CC-ALF样点集用于计算子块共享的单个偏移。在方法4100的一些实施例中,多个代表性样点中的每一个的对应CC-ALF样点集首先被修改以生成一个虚拟代表性滤波样点集,并且其中一个虚拟代表性滤波样点集被用于计算偏移。
图42为视频处理的示例方法4200的流程图。操作4202包括:通过使用在转换期间应用的用于滤波工具的视频块的子块的当前样点的最终偏移值来执行视频的视频分量的视频块和视频的比特流表示之间的转换,其中通过将最终偏移值用于当前样点来应用滤波工具,并且其中最终偏移值基于第一偏移值和不同于第一偏移值的第二偏移值。
在方法4200的一些实施例中,第一偏移值与子块共享,并且其中第二偏移值特定于当前样点。在方法4200的一些实施例中,第一偏移值与当前样点的相邻样点共享,并且其中第二偏移值特定于当前样点。在方法4200的一些实施例中,使用第一滤波器支持区域来计算第一偏移值。在方法4200的一些实施例中,子块的尺寸是1×2,子块包括位于(X,Y)和(X,Y+1)的色度样点,子块包括用于计算第一偏移值的位于(2X-1,2Y+1)、(2X,2Y+1)、(2X+1,2Y+1)、(2X-1,2Y+2)、(2X,2Y+2)和(2X+1,2Y+2)的亮度样点,以及X和Y是从位于(0,0)处的视频块的左上角到色度样点位置的整数偏移。
在方法4200的一些实施例中,子块的尺寸是2×1,子块包括位于(X,Y)和(X+1,Y)的色度样点,并且其中子块包括用于计算第一偏移值的位于(2X+1,2Y-1)、(2X+1,2Y)、(2X+1,2Y+1)和(2X+1,2Y+2)的亮度样点,以及X和Y是从位于(0,0)处的视频块的左上角到色度样点位置的整数偏移。在方法4200的一些实施例中,当前样点包括色度样点,且其中第二偏移值是使用第二滤波器支持区域来计算的。在方法4200的一些实施例中,子块的尺寸是1×2,子块包括位于(X,Y)的色度样点,并且子块包括位于(2X,2Y)和(2X,2Y+1)的亮度样点,亮度样点用于计算色度样点的第二偏移值,并且其中X和Y是从位于(0,0)处的视频块的左上角到色度样点位置的整数偏移。在方法4200的一些实施例中,子块的尺寸是1×2,子块包括位于(X,Y+1)的色度样点,子块包括位于(2X,2Y+2)和(2X,2Y+3)的亮度样点,亮度样点用于计算色度样点的第二偏移值,以及X和Y是从位于(0,0)处的视频块的左上角到色度样点位置的整数偏移。
在方法4200的一些实施例中,子块的尺寸是2×1,子块包括位于(X,Y)的色度样点,子块包括位于(2X,2Y)、(2X+1,2Y)、(2X,2Y+1)和(2X+1,2Y+1)的亮度样点,亮度样点用于计算色度样点的第二偏移值,以及X和Y是从位于(0,0)处的视频块的左上角到色度样点位置的整数偏移。在方法4200的一些实施例中,子块的尺寸是2×1,子块包括位于(X+1,Y)的色度样点,子块包括位于(2X+2,2Y)、(2X+3,2Y)、(2X+2,2Y+1)和(2X+3,2Y+1)的亮度样点,亮度样点用于计算色度样点的第二偏移值,以及X和Y是从位于(0,0)处的视频块的左上角到色度样点位置的整数偏移。在方法4200的一些实施例中,用于确定第一偏移值和第二偏移值的样点彼此不同。在方法4200的一些实施例中,至少一些样点都用于确定第一偏移值和第二偏移值。在方法4200的一些实施例中,用于确定第一偏移值的样点数量与用于确定第二偏移值的样点数量相同。在方法4200的一些实施例中,用于确定第一偏移值的第一样点数量大于或等于用于确定第二偏移值的第二样点数量。
在方法4200的一些实施例中,用于确定第一偏移值的第一样点数量小于或等于用于确定第二偏移值的第二样点数量。在方法4200的一些实施例中,比特流表示中的字段指示用于转换的第一偏移值和第二偏移值,以及在序列头、图片头、序列参数集(SPS)、视频参数集(VPS)、解码器参数集(DPS)、图片参数集(PPS)、自适应参数集(APS)、条带头或片组头中的序列级别或图片级别或条带级别或片组级别的比特流表示中指示字段。在方法4200的一些实施例中,根据多个子块中的子块的扫描顺序,在比特流表示中的字段中指示第一偏移值。在方法4200的一些实施例中,滤波工具包含跨分量自适应环路滤波(CC-ALF)工具,跨分量自适应环路滤波(CC-ALF)工具从视频的另一个视频分量的样点值预测视频分量的视频块的子块的样点值。在方法4200的一些实施例中,滤波工具包含色度自适应环路滤波器(色度ALF)工具,在色度ALF工具中使用环路滤波器对色度视频分量的视频块的子块的样点进行滤波。在方法4200的一些实施例中,滤波工具包含亮度自适应环路滤波器(亮度ALF)工具,在亮度ALF工具中使用环路滤波器对亮度视频分量的视频块的子块的样点进行滤波。
图43为视频处理的示例方法4300的流程图。操作4302包括:通过在转换期间使用用于跨分量自适应环路滤波器(CC-ALF)工具的N抽头对称滤波器来执行视频的视频分量的视频块与视频的比特流表示之间的转换,其中CC-ALF工具从视频的另一个视频分量的样点值预测视频分量的视频块的样点值,且其中N抽头对称滤波器的支持内的两个样点的至少两个滤波器系数共享相同的值。
在方法4300的一些实施例中,N=6或8。在方法4300的一些实施例中,N抽头对称滤波器具有在CC-ALF工具中使用的特定形状。在方法4300的一些实施例中,N抽头对称滤波器包括具有4个唯一系数的对称8抽头滤波器形状。在方法4300的一些实施例中,N抽头对称滤波器包括具有5个唯一系数的对称8抽头滤波器形状。在方法4300的一些实施例中,N抽头对称滤波器包括具有6个唯一系数的8抽头滤波器形状。在方法4300的一些实施例中,在序列头、图片头、序列参数集(SPS)、视频参数集(VPS)、解码器参数集(DPS)、图片参数集(PPS)、自适应参数集(APS)、条带头或片组头中的序列级别或图片级别或条带级别或片组级别的比特流表示中信令通知相同的值,并且使用相同的值来驱动至少两个滤波器系数。
图44为视频处理的示例方法4400的流程图。操作4402包括:通过在转换期间使用用于跨分量自适应环路滤波器(CC-ALF)工具的N抽头非对称滤波器来执行视频的视频分量的视频块与视频的比特流表示之间的转换,其中N是正整数,并且其中CC-ALF工具从视频的另一个视频分量的样点值来预测视频分量的视频块的样点值。
在方法4400的一些实施例中,N<8。在方法4400的一些实施例中,N抽头非对称滤波器具有非对称6抽头滤波器形状。在方法4400的一些实施例中,N抽头非对称滤波器具有非对称5抽头滤波器形状。在方法4400的一些实施例中,N抽头非对称滤波器具有非对称4抽头滤波器形状。
图45为视频处理的示例方法4500的流程图。操作4502包括:执行视频的第一视频分量的视频块和视频的比特流表示之间的转换,其中第一视频分量的样点的转换包括对视频的第二视频分量的样点差应用跨分量自适应环路滤波器(CC-ALF)工具,并且其中CC-ALF工具从视频的另一个视频分量的样点值来预测视频的第一视频分量的视频块的样点值。
在方法4500的一些实施例中,第一视频分量是色度分量,并且第二视频分量是亮度分量。在方法4500的一些实施例中,第二视频分量的样点差是通过获得亮度滤波器支持区域中的亮度代表性样点与亮度滤波器支持区域中的另一个亮度样点之间的差来确定的。在方法4500的一些实施例中,样点位于位置(X,Y),并且代表性亮度样点选自位置(2X,2Y),以及X和Y是从位于(0,0)处的视频块的左上角到样点位置的整数偏移。在方法4500的一些实施例中,样点位于位置(X,Y)处,并且代表性亮度样点选自位置(2X,2Y)、(2X,2Y+1)、(2X+1,2Y)、(2X+1,2Y-1)、(2X,2Y-1)、(2X-1,2Y-1)、(2X-1,2Y)中的任何一个位置,以及X和Y是从位于(0,0)处的视频块的左上角到样点位置的整数偏移。
在方法4500的一些实施例中,样点位于位置(X,Y)处,并且代表性亮度样点选自位置(2X,2Y)、(2X,2Y+1)、(2X+1,2Y)、(2X,2Y-1)、(2X-1,2Y)中的任何一个位置,以及X和Y是从位于(0,0)处的视频块的左上角到样点位置的整数偏移。
在方法4500的一些实施例中,样点位于位置(X,Y),并且代表性亮度样点选自位置(2X,2Y),并且另一个亮度样点位于(2X+1,2Y),以及X和Y是从位于(0,0)处的视频块的左上角到样点位置的整数偏移。在方法4500的一些实施例中,样点位于位置(X,Y),并且代表性亮度样点选自位置(2X,2Y),并且另一个亮度样点位于(2X,2Y+1),以及X和Y是从位于(0,0)处的视频块的左上角到样点位置的整数偏移。在方法4500的一些实施例中,样点位于位置(X,Y)处,并且代表性亮度样点和另一个亮度样点选自位置(2X,2Y+2)、(2X+1,2Y+1)、(2X+1,2Y)、(2X,2Y-1)、(2X-1,2Y)和(2X-1,2Y+1),以及X和Y是从位于(0,0)处的视频块的左上角到样点位置的整数偏移。在方法4500的一些实施例中,选择代表性样点的技术是预定义的。在方法4500的一些实施例中,选择代表性样点的技术基于比特流表示中的信息。在方法4500的一些实施例中,信息包括色彩格式。
图46为视频处理的示例方法4600的流程图。操作4602包括:通过在转换期间使用跨分量自适应环路滤波(CC-ALF)工具的多个滤波器的集合中的两个或多个滤波器来执行视频的视频分量的视频块的子块与视频的比特流表示之间的转换,其中CC-ALF工具从视频的另一个视频分量的样点值预测视频分量的视频块的子块的样点值。
在方法4600的一些实施例中,比特流表示中的字段指示多个滤波器的集合的长度N和/或两个或多个滤波器的支持。在方法4600的一些实施例中,字段被包括在序列头、图片头、序列参数集(SPS)、视频参数集(VPS)、解码器参数集(DPS)、图片参数集(PPS)、自适应参数集(APS)、条带头或片组头中的序列级别或图片级别或条带级别或片组级别。在方法4600的一些实施例中,在(CC-ALF)工具中使用的偏移是通过使用与使用预定义支持的子块相对应的亮度分量的亮度样点来确定的。在方法4600的一些实施例中,子块的尺寸是1×2,子块包括位于(X,Y)和(X,Y+1)的色度样点,亮度样点位于(2X-1,2Y)、(2X-1,2Y+1)、(2X-1,2Y+2)、(2X-1,2Y+3)、(2X,2Y-1)、(2X,2Y)、(2X,2Y+1)、(2X,2Y+2)、(2X,2Y+3)、(2X,2Y+4)、(2X+1,2Y)、(2X+1,2Y+1)、(2X+1,2Y+2)和(2X+1,2Y+3)处,并且X和Y是从位于(0,0)处的视频块的左上角到样点位置的整数偏移。在方法4600的一些实施例中,其中子块的尺寸是2×1,其中子块包括位于(X,Y)和(X+1,Y)的色度样点,其中亮度样点位于(2X,2Y-1)、(2X,2Y)、(2X,2Y+1)、(2X,2Y+2)、(2X+1,2Y-2)、(2X+1,2Y-1)、(2X+1,2Y)、(2X+1,2Y+1)、(2X+1,2Y+2)、(2X+1,2Y+3)、(2X+2,2Y-1)、(2X+2,2Y)、(2X+2,2Y+1)和(2X+2,2Y+2)处,并且其中X和Y是从位于(0,0)处的视频块的左上角到样点位置的整数偏移。在方法4600的一些实施例中,其中子块的尺寸是1×2,其中子块包括位于(X,Y)和(X,Y+1)的色度样点,其中亮度样点位于(2X-1,2Y+1)、(2X-1,2Y+2)、(2X,2Y)、(2X,2Y+1)、(2X,2Y+2)、(2X,2Y+3)、(2X+1,2Y+1)和(2X+1,2Y+2),并且其中X和Y是从位于(0,0)处的视频块的左上角到样点位置的整数偏移。
在方法4600的一些实施例中,其中所述子块的尺寸是2×1,其中所述子块包括位于(X,Y)和(X+1,Y)的色度样点,其中所述亮度样点位于(2X,2Y)、(2X,2Y+1)、(2X+1,2Y-1)、(2X+1,2Y)、(2X+1,2Y+1)、(2X+1,2Y+2)、(2X+2,2Y)和(2X+2,2Y+1),并且其中X和Y是从位于(0,0)处的所述视频块的左上角到所述样点位置的整数偏移。在方法4600的一些实施例中,其中所述子块的尺寸是1×2,其中所述子块包括位于(X,Y)和(X,Y+1)的色度样点,其中所述亮度样点位于(2X-1,2Y)、(2X-1,2Y+2)、(2X,2Y-1)、(2X,2Y)、(2X,2Y+1)、(2X,2Y+2)、(2X,2Y+3)、(2X,2Y+4)、(2X+1,2Y+1)和(2X+1,2Y+3),并且其中X和Y是从位于(0,0)处的所述视频块的左上角到所述样点位置的整数偏移。在方法4600的一些实施例中,其中所述子块的尺寸是2×1,其中所述子块包括位于(X,Y)和(X+1,Y)的色度样点,其中所述亮度样点位于(2X-1,2Y)、(2X,2Y)、(2X,2Y+1)、(2X+1,2Y-1)、(2X+1,2Y)、(2X+1,2Y+1)、(2X+1,2Y+2)、(2X+2,2Y)、(2X+2,2Y+1)和(2X+3,2Y+1),并且其中X和Y是从位于(0,0)处的所述视频块的左上角到所述样点位置的整数偏移。
在方法4600的一些实施例中,其中子块的尺寸是2×1,其中子块包括位于(X,Y)和(X+1,Y)的色度样点,其中亮度样点位于(2X-1,2Y+1)、(2X,2Y)、(2X,2Y+1)、(2X+1,2Y-1)、(2X+1,2Y)、(2X+1,2Y+1)、(2X+1,2Y+2)、(2X+2,2Y)、(2X+2,2Y+1)和(2X+3,2Y),并且其中X和Y是从位于(0,0)处的视频块的左上角到样点位置的整数偏移。
图47为视频处理的示例方法4700的流程图。操作4702包括:通过使用已支持跨视频的多个视频分量用于在转换期间使用的跨分量自适应环路滤波(CC-ALF)工具的滤波器,执行视频的第一视频分量的视频块的子块与视频的比特流表示之间的转换,其中CC-ALF工具从视频的另一个视频分量的样点值来预测第一视频分量的视频块的子块的样点值。
在方法4700的一些实施例中,其中多个视频分量包括第二视频分量和第三视频分量,并且其中比特流表示中的一个或多个语法元素顺序地指示应用于第二视频分量和第三视频分量的滤波器系数的使用以校正第一视频分量。在方法4700的一些实施例中,在第三视频分量的滤波器系数之前,在比特流表示中指示第二视频分量的滤波器系数。在方法4700的一些实施例中,一个或多个语法元素处于交错顺序中,在交错顺序中第二视频分量的滤波器系数与第三视频分量的滤波器系数交错。在方法4700的一些实施例中,通过对第二视频分量中的样点进行滤波来执行对第一视频分量中的样点的校正。在方法4700的一些实施例中,其中滤波器包括具有4个唯一系数的对称8抽头滤波器形状。在方法4700的一些实施例中,滤波器包括具有5个唯一系数的对称8抽头滤波器形状。在方法4700的一些实施例中,滤波器包括具有6个唯一系数的8抽头滤波器形状。在方法4700的一些实施例中,通过来自多个视频分量的样点来执行对第一视频分量中的样点的校正。在方法4700的一些实施例中,通过对多个视频分量使用相同的滤波器来执行对第一视频分量的样点的校正。
在方法4700的一些实施例中,滤波器包括具有4个唯一系数的对称8抽头滤波器形状,或者滤波器包括具有5个唯一系数的对称8抽头滤波器形状,或者滤波器包括具有6个唯一系数的8抽头滤波器形状。
在方法4700的一些实施例中,使用从多个视频分量导出的偏移的平均值或加权平均值来校正第一视频分量的样点。在方法4700的一些实施例中,第一视频分量的样点通过乘以从多个视频分量导出的偏移来校正。在方法4700的一些实施例中,通过对多个视频分量使用不同的滤波器来执行对第一视频分量的样点的校正。在方法4700的一些实施例中,不同滤波器包括具有4个唯一系数的对称8抽头滤波器形状、具有5个唯一系数的对称8抽头滤波器形状和具有6个唯一系数的8抽头滤波器形状中的任何两个或多个。在方法4700的一些实施例中,使用从多个视频分量导出的偏移的平均值或加权平均值来校正第一视频分量的样点。在方法4700的一些实施例中,第一视频分量的样点通过乘以从多个视频分量导出的偏移来校正。
图48为视频处理的示例方法4800的流程图。操作4802包含:通过使用多个视频帧中的样点来在转换期间应用的跨分量自适应环路滤波器(CC-ALF)工具或自适应环路滤波器(ALF)工具中细化视频的当前视频帧中的样点集,来执行视频的视频分量的视频块与视频的比特流表示之间的转换,其中CC-ALF工具从视频的另一个视频分量的样点值预测视频分量的视频块的样点值,且其中ALF工具使用环路滤波器对视频分量的视频块的样点进行滤波。
在方法4800的一些实施例中,是否使用来自多个视频帧的样点来细化当前视频帧中的样点集被指示在序列头、图片头、序列参数集(SPS)、视频参数集(VPS)、解码器参数集(DPS)、图片参数集(PPS)、自适应参数集(APS)、条带头或片组头中的序列级别或图片级别或条带级别或片组级别的比特流表示中。在方法4800的一些实施例中,多个视频帧包括当前视频帧的参考图片。在方法4800的一些实施例中,多个视频帧不包括当前视频帧的参考图片。在方法4800的一些实施例中,最接近当前视频帧的视频的图片被用于ALF工具和/或CC-ALF工具,其中编解码图片(POC)技术被用于确定图片和当前视频帧之间的距离。
在方法4800的一些实施例中,当前视频帧的短期图片用于ALF工具和/或CC-ALF工具。在方法4800的一些实施例中,当前视频帧的长期图片用于ALF工具和/或CC-ALF工具。在方法4800的一些实施例中,当前视频帧的相同的时域层中的参考图片用于ALF工具和/或CC-ALF工具。在方法4800的一些实施例中,当前视频帧的不同时域层中的参考图片用于ALF工具和/或CC-ALF工具。在方法4800的一些实施例中,多个视频帧包括当前视频帧。
图49为视频处理的示例方法4900的流程图。操作4902包括:对于视频的视频分量的视频块和视频的比特流表示之间的转换,根据位置规则确定是否为转换启用跨分量自适应环路滤波器(CC-ALF)工具,其中CC-ALF工具从视频的另一个视频分量的样点值来预测视频分量的视频块的样点值。操作4904包括基于确定来执行转换。
在方法4900的一些实施例中,位置规则指定对编解码树块底部边界和环路滤波的虚拟边界之间的色度样点禁用CC-ALF工具。在方法4900的一些实施例中,虚拟边界是通过移位水平编解码树单元(CTU)获得的线。在方法4900的一些实施例中,位置规则指定对编解码树单元(CTU)底部边界与环路滤波的虚拟边界之间的色度样点和/或亮度样点禁用CC-ALF工具。在方法4900的一些实施例中,虚拟边界是通过移位水平编解码树单元(CTU)获得的线。在方法4900的一些实施例中,位置规则指定在转换期间应用另一个滤波的位置处禁用CC-ALF工具。在方法4900的一些实施例中,位置规则指定对位于变换边缘或编解码单元(CU)边缘的样点禁用CC-ALF工具,样点由在转换期间应用的另一个滤波器滤波。
在(多个)方法4100-4900的一些实施例中,指示转换的方法的使用的语法元素被包括在序列头、图片头、序列参数集(SPS)、视频参数集(VPS)、解码器参数集(DPS)、图片参数集(PPS)、自适应参数集(APS)、条带头或片组头中的序列级别或图片级别或条带级别或片组级别的比特流表示中。在(多个)方法4100-4900的一些实施例中,基于比特流表示中指示的视频的特性,选择性地应用方法。在(多个)方法4100-4900的一些实施例中,特性包括色彩格式或分割类型或子块相对于编解码单元(CU)或编解码树单元(CTU)的位置。在(多个)方法4100-4900的一些实施例中,执行转换包括编码视频以生成比特流表示。在(多个)方法4100-4900的一些实施例中,执行转换包括解析和解码比特流表示以生成视频。
在一些实施例中,一种视频解码装置,包括被配置成实现(多个)方法4100-4900中的一个或多个所述的方法的处理器。在一些实施例中,一种视频编码装置,包括被配置成实现(多个)方法4100-4900中的一个或多个所述的方法的处理器。在一些实施例中,一种其上存储有计算机代码的计算机程序产品,当代码由处理器执行时,使处理器实现(多个)方法4100-4900中的任一个所述的方法。在一些实施例中,一种存储比特流表示或根据(多个)方法4100-4900中的任一个或多个所述的方法生成的比特流表示的计算机可读介质。
根据前述,将理解出于说明的目的本文已经描述本公开的技术的指定实施例,但是可以做出各种修改而不会偏离本发明的范围。相应地,本公开的技术不限于如所附权利要求所主张的。
本文档中所述的所公开的和其他解决方案、示例、实施例、模块和功能操作可以被实现在数字电子电路中或者在计算机软件、固件或硬件中,含有本文档中所公开的结构以及其结构的等同物,或者它们中的一个或多个的组合。所公开的和其他实施例可以被实现为计算机可读介质上所编码的一个或多个计算机程序产品,例如一个或多个计算机程序指令模块,用于由数据处理装置进行或者控制数据处理装置的操作。该计算机可读介质可以是机器可读存储设备、机器可读存储基板、存储器设备、影响机器可读可传播信号的复合物,或其一个或多个的组合。术语″数据处理装置″涵盖用于处理数据的所有装置、设备和机器,包括例如可编程处理器、计算机或多个处理器或计算机。除了硬件之外,该装置还可以包括为所讨论的计算机程序创建进行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统、或者它们中的一个或多个的组合的代码。传播信号是人工生成的信号,例如,机器生成的电、光或电磁信号,其被生成来编码信息以传输到合适的接收器装置。
计算机程序(也称为程序、软件、软件应用、脚本或代码)可以用任何形式的编程语言编写,包括编译或解释语言,并且可以以任何形式来部署计算机程序,包括独立程序或适合在计算环境中使用的模块、组件、子例程或其它单元。计算机程序不必须对应于文件系统中的文件。程序可以存储在保存其他程序或数据的文件的部分中(例如,在标记语言文档中存储的一个或多个脚本)、在专用于所讨论的程序的单个文件中、或在多个协同文件中(例如存储一个或多个模块、子程序或代码部分的文件)。计算机程序可以部署为在一个计算机上或者在多个计算机上执行,该多个计算机位于一个站点处或者分布跨多个站点并由通信网络互连。
可以由进行一个或多个计算机程序的一个或多个可编程处理器来执行在本文档中所描述的过程和逻辑流,以通过在输入数据上操作并且生成输出来执行功能。也可以由专用逻辑电路(例如,现场可编程门阵列(FPGA)或专用集成电路(ASIC))执行过程和逻辑流,并且装置可以实现为专用逻辑电路(例如FPGA或ASIC)。
适合于计算机程序的进行的处理器包括例如通用和专用微处理器两者,以及任何类型的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或者该两者接收指令和数据。计算机的基本元件是用于执行指令的处理器和用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括用于存储数据的一个或多个海量存储设备(例如磁、磁光盘或光盘),或者可操作地耦合以从海量存储设备(例如磁、磁光盘或光盘)接收数据或者将数据传输到海量存储设备(例如磁、磁光盘或光盘),或者以上两者。但是,计算机不必具有此类设备。适用于存储计算机程序指令和数据的计算机可读介质含有所有形式的非易失性存储器、介质和存储器设备,含有例如半导体存储器设备(例如EPROM、EEPROM和闪速存储器装置);磁盘,例如内部硬盘或可移动磁盘;磁光盘;以及CD ROM和DVD-ROM盘。处理器和存储器可以由专用逻辑电路补充,或者合并在专用逻辑电路中。
虽然本专利文档含有许多细节,但这些细节不应被解释为对任何主题或可要求保护的范围的限制,而是作为可指定于特定技术的特定实施例的特征的描述。在本专利文档中,在单独的实施例的上下文中描述的某些特征也可以在单个实施例中组合实现。相反地,在单个实施例的上下文中所描述的各种特征还可以分别在多个实施例中来实现或者以各种合适的子组合来实现。此外,尽管特征可以如上文描述为以某些组合起作用并且甚至最初同样地要求,但是在某些情况下来自所要求保护的组合的一个或多个特征可以从组合中去除,并且所要求保护的组合可以针对子组合或子组合的变化。
类似地,尽管在附图中以特定顺序描绘了操作,但这不应当理解为要求按所示的特定次序或顺序次序执行此类操作或者执行所有示出的操作,以实现期望的结果。此外,在本专利文档中描述的实施例中的各种系统组件的分开不应被理解为在所有实施例中都要求这种分开。
仅描述了几个实现方式和示例,并且可以基于本专利文档中描述和示出的内容来作出其它实现方式、增强和变型。

Claims (140)

1.一种视频处理的方法,包括:
执行视频的视频分量的视频块和所述视频的比特流表示之间的转换,
其中所述视频块包括子块,
其中根据规则在所述转换期间使用滤波工具,并且
其中所述规则指定通过对所述视频块的每个子块的所有样点使用单个偏移来应用所述滤波工具。
2.根据权利要求1所述的方法,其中所述滤波工具包含跨分量自适应环路滤波器(CC-ALF)工具,其中所述视频分量的视频块的子块的样点值是从所述视频的另一个视频分量的样点值预测的。
3.根据权利要求1所述的方法,其中所述滤波工具包含色度自适应环路滤波器(色度ALF)工具,其中使用环路滤波器对色度视频分量的视频块的子块的样点进行滤波。
4.根据权利要求1所述的方法,其中所述滤波工具包含亮度自适应环路滤波器(亮度ALF)工具,其中使用环路滤波器对亮度视频分量的视频块的子块的样点进行滤波。
5.根据权利要求1-4中任一项所述的方法,其中子块的尺寸对应于M列x N行的样点阵列。
6.根据权利要求5所述的方法,其中所述子块的尺寸包括1×2样点、或2×1样点、或2×2样点、或2×4样点、或4×2样点、或4×4样点。
7.根据权利要求5所述的方法,其中,所述子块的尺寸在所述比特流表示中信令通知。
8.根据权利要求7所述的方法,
其中所述子块的尺寸在序列级别、图片级别、条带级别或片组级别的所述比特流表示中信令通知,或者
其中所述子块的尺寸在视频区域级别的所述比特流表示中信令通知。
9.根据权利要求8所述的方法,其中,所述序列级别、所述图片级别、所述条带级别或所述片组级别包括序列头、图片头、序列参数集(SPS)、视频参数集(VPS)、解码器参数集(DPS)、图片参数集(PPS)、自适应参数集(APS)、条带头或片组头。
10.根据权利要求8所述的方法,其中,所述视频区域级别包括编解码树块(CTB)。
11.根据权利要求1-4中任一项所述的方法,其中,在细化所述视频块的每个子块的所有样点之前,根据第二规则修改所述单个偏移,以获得修改的单个偏移。
12.根据权利要求11所述的方法,其中,所述第二规则指定所述单个偏移被修剪到T1到T2的范围内。
13.根据权利要求12所述的方法,其中T1=-5,并且T2=5。
14.根据权利要求11所述的方法,其中所述第二规则指定是否修改所述单个偏移以及修改所述单个偏移的技术。
15.根据权利要求11所述的方法,其中,所述第二规则指定当所述单个偏移满足某些条件时,所述修改的单个偏移被设置为T的值。
16.根据权利要求15所述的方法,其中响应于所述单个偏移小于T1并且响应于所述单个偏移大于T2,所述修改的单个偏移被设置为T的值。
17.根据权利要求16所述的方法,其中T=0,T1=-5,并且T2=5。
18.根据权利要求11所述的方法,其中,所述第二规则指定修改所述单个偏移的技术基于子块的宽度和/或子块的高度。
19.根据权利要求18所述的方法,其中,通过将所述单个偏移除以(M×W×H)来获得所述修改的单个偏移,其中,M是整数,W是所述子块的宽度,并且H是所述子块的高度。
20.根据权利要求19所述的方法,M是1或2。
21.根据权利要求11所述的方法,其中所述第二规则指定通过将所述单个偏移乘以T或除以T或将所述单个偏移与T相加或将所述单个偏移移位T来获得修改的单个偏移,其中T是整数。
22.根据权利要求21所述的方法,其中T在所述比特流表示中被信令通知。
23.根据权利要求21所述的方法,其中T基于所述子块中的样点值。
24.根据权利要求21所述的方法,其中T基于所述视频分量的样点的位深度。
25.根据权利要求24所述的方法,其中,通过将所述单个偏移乘以T来获得所述修改的单个偏移,其中,T=v/(2^Bmax-1),其中,v表示一个样点的值,Bmax表示所述视频分量的样点的最大位深度。
26.根据权利要求11所述的方法,
其中所述第二规则指定在序列级别、图片级别、条带级别或片组级别的所述比特流表示中指示是否修改所述单个偏移,或
其中所述第二规则指定在视频区域级别的所述比特流表示中指示是否修改所述单个偏移。
27.根据权利要求26所述的方法,其中所述序列级别、所述图片级别、所述条带级别或所述片组级别包括序列头、图片头、序列参数集(SPS)、视频参数集(VPS)、解码器参数集(DPS)、图片参数集(PPS)、自适应参数集(APS)、条带头或片组头。
28.根据权利要求26所述的方法,其中,所述视频区域级别包括编解码树块(CTB)。
29.根据权利要求1-4中任一项所述的方法,其中,选择子块中的一个代表性样点,并且对应于所述一个代表性样点的所述子块中的CC-ALF样点集被用于计算所述子块共享的所述单个偏移。
30.根据权利要求29所述的方法,其中所述一个代表性样点是基于所述代表性色度样点位置而选择的代表性色度样点。
31.根据权利要求30所述的方法,其中,所述一个代表性样点是根据扫描顺序的所述子块中的第N个代表性色度样点。
32.根据权利要求31所述的方法,其中,N是1或2,或者是根据所述扫描顺序的所述子块中的最后一个样点。
33.根据权利要求30所述的方法,其中所述一个代表性样点位于所述子块中的特定位置。
34.根据权利要求33所述的方法,其中,所述特定位置包括所述子块中的中心位置或左上位置或右上位置或左下位置或右下位置中的至少一个。
35.根据权利要求29所述的方法,其中基于样点值选择所述一个代表性样点。
36.根据权利要求35所述的方法,其中所述一个代表性样点包括在所述子块中具有最大样点值的样点。
37.根据权利要求35所述的方法,其中所述一个代表性样点包括在所述子块中具有最小样点值的样点。
38.根据权利要求35所述的方法,其中所述一个代表性样点包括在所述子块中具有中值样点值的样点。
39.根据权利要求29所述的方法,其中对应于所述一个代表性样点的所述CC-ALF样点集被用于使用所述CC-ALF工具。
40.根据权利要求1-4中任一项所述的方法,其中选择子块中的多个代表性样点,并且对应于所述多个代表性样点的所述子块中的多个CC-ALF样点集用于计算所述子块共享的所述单个偏移。
41.根据权利要求40所述的方法,其中所述多个代表性样点中的每一个的对应CC-ALF样点集首先被修改以生成一个虚拟代表性滤波样点集,并且其中所述一个虚拟代表性滤波样点集被用于计算所述偏移。
42.一种视频处理的方法,包括:
通过使用在转换期间应用的用于滤波工具的视频块的子块的当前样点的最终偏移值来执行视频的视频分量的所述视频块和所述视频的比特流表示之间的所述转换,
其中通过使用所述当前样点的最终偏移值来应用滤波工具,以及
其中所述最终偏移值基于第一偏移值和不同于所述第一偏移值的第二偏移值。
43.根据权利要求42所述的方法,其中所述第一偏移值与所述子块共享,并且其中所述第二偏移值特定于所述当前样点。
44.根据权利要求42所述的方法,其中所述第一偏移值与所述当前样点的相邻样点共享,并且其中所述第二偏移值特定于所述当前样点。
45.根据权利要求44所述的方法,其中,使用第一滤波器支持区域来计算所述第一偏移值。
46.根据权利要求45所述的方法,
其中所述子块的尺寸是1×2,
其中所述子块包括位于(X,Y)和(X,Y+1)的色度样点,
其中所述子块包括用于计算所述第一偏移值的位于(2X-1,2Y+1)、(2X,2Y+1)、(2X+1,2Y+1)、(2X-1,2Y+2)、(2X,2Y+2)和(2X+1,2Y+2)的亮度样点,以及
其中X和Y是从位于(0,0)处的所述视频块的左上角到所述色度样点位置的整数偏移。
47.根据权利要求45所述的方法,
其中所述子块的尺寸是2×1,
其中所述子块包括位于(X,Y)和(X+1,Y)的色度样点,以及
其中所述子块包括用于计算所述第一偏移值的位于(2X+1,2Y-1)、(2X+1,2Y)(2X+1,2Y+1)和(2X+1,2Y+2)的亮度样点,以及
其中X和Y是从位于(0,0)处的所述视频块的左上角到所述色度样点位置的整数偏移。
48.根据权利要求44所述的方法,其中所述当前样点包括色度样点,且其中所述第二偏移值是使用第二滤波器支持区域来计算的。
49.根据权利要求48所述的方法,
其中所述子块的尺寸是1×2,
其中所述子块包括位于(X,Y)的色度样点,
其中所述子块包括位于(2X,2Y)和(2X,2Y+1)的亮度样点,所述亮度样点用于计算所述色度样点的第二偏移值,以及
其中X和Y是从位于(0,0)处的所述视频块的左上角到所述色度样点位置的整数偏移。
50.根据权利要求48所述的方法,
其中所述子块的尺寸是1×2,
其中所述子块包括位于(X,Y+1)的所述色度样点,
其中所述子块包括位于(2X,2Y+2)和(2X,2Y+3)的亮度样点,所述亮度样点用于计算所述色度样点的第二偏移值,以及
其中X和Y是从位于(0,0)处的所述视频块的左上角到所述色度样点位置的整数偏移。
51.根据权利要求48所述的方法,
其中所述子块的尺寸是2×1,
其中所述子块包括位于(X,Y)的所述色度样点,
其中所述子块包括位于(2X,2Y)、(2X+1,2Y)、(2X,2Y+1)和(2X+1,2Y+1)的亮度样点,所述亮度样点用于计算所述色度样点的第二偏移值,以及
其中X和Y是从位于(0,0)处的所述视频块的左上角到所述色度样点位置的整数偏移。
52.根据权利要求48所述的方法,
其中所述子块的尺寸是2×1,
其中所述子块包括位于(X+1,Y)的所述色度样点,
其中所述子块包括位于(2X+2,2Y)、(2X+3,2Y)、(2X+2,2Y+1和(2X+3,2Y+1)的亮度样点,所述亮度样点用于计算所述色度样点的第二偏移值,以及
其中X和Y是从位于(0,0)处的所述视频块的左上角到所述色度样点位置的整数偏移。
53.根据权利要求42所述的方法,其中用于确定所述第一偏移值和所述第二偏移值的样点彼此不同。
54.根据权利要求42所述的方法,其中至少一些样点都用于确定所述第一偏移值和所述第二偏移值。
55.根据权利要求42所述的方法,其中用于确定所述第一偏移值的样点数量与用于确定所述第二偏移值的样点数量相同。
56.根据权利要求42所述的方法,其中用于确定所述第一偏移值的第一样点数量大于或等于用于确定所述第二偏移值的第二样点数量。
57.根据权利要求42所述的方法,其中用于确定所述第一偏移值的第一样点数量小于或等于用于确定所述第二偏移值的第二样点数量。
58.根据权利要求42所述的方法,其中所述比特流表示中的字段指示用于所述转换的所述第一偏移值和所述第二偏移值,并且
其中,在序列头、图片头、序列参数集(SPS)、视频参数集(VPS)、解码器参数集(DPS)、图片参数集(PPS)、自适应参数集(APS)、条带头或片组头中的序列级别或图片级别或条带级别或片组级别的所述比特流表示中指示所述字段。
59.根据权利要求58所述的方法,其中,根据多个子块中的所述子块的扫描顺序,在所述比特流表示中的所述字段中指示所述第一偏移值。
60.根据权利要求42所述的方法,其中所述滤波工具包含跨分量自适应环路滤波(CC-ALF)工具,所述跨分量自适应环路滤波(CC-ALF)工具从所述视频的另一个视频分量的样点值预测所述视频分量的视频块的子块的样点值。
61.根据权利要求42所述的方法,其中所述滤波工具包含色度自适应环路滤波器(色度ALF)工具,在所述色度ALF工具中使用环路滤波器对色度视频分量的所述视频块的子块的样点进行滤波。
62.根据权利要求42所述的方法,其中所述滤波工具包含亮度自适应环路滤波器(亮度ALF)工具,在所述亮度ALF工具中使用环路滤波器对亮度视频分量的所述视频块的子块的样点进行滤波。
63.一种用于视频处理的方法,包括:
通过在转换期间使用用于跨分量自适应环路滤波器(CC-ALF)工具的N抽头对称滤波器来执行视频的视频分量的视频块与所述视频的比特流表示之间的所述转换,
其中所述CC-ALF工具从所述视频的另一个视频分量的样点值预测所述视频分量的视频块的样点值,且
其中所述N抽头对称滤波器的支持内的两个样点的至少两个滤波器系数共享相同的值。
64.根据权利要求63所述的方法,其中N=6或8。
65.根据权利要求63所述的方法,其中所述N抽头对称滤波器具有在所述CC-ALF工具中使用的特定形状。
66.根据权利要求65所述的方法,其中所述N抽头对称滤波器包括具有4个唯一系数的对称8抽头滤波器形状。
67.根据权利要求65所述的方法,其中所述N抽头对称滤波器包括具有5个唯一系数的对称8抽头滤波器形状。
68.根据权利要求65所述的方法,其中所述N抽头对称滤波器包括具有6个唯一系数的8抽头滤波器形状。
69.根据权利要求63所述的方法,
其中在序列头、图片头、序列参数集(SPS)、视频参数集(VPS)、解码器参数集(DPS)、图片参数集(PPS)、自适应参数集(APS)、条带头或片组头中的序列级别或图片级别或条带级别或片组级别的所述比特流表示中信令通知所述相同的值,并且
其中使用所述相同的值来驱动所述至少两个滤波器系数。
70.一种用于视频处理的方法,包括:
通过在转换期间使用用于跨分量自适应环路滤波器(CC-ALF)工具的N抽头非对称滤波器来执行视频的视频分量的视频块与所述视频的比特流表示之间的所述转换,
其中N是正整数,并且
其中所述CC-ALF工具从所述视频的另一个视频分量的样点值来预测所述视频分量的视频块的样点值。
71.根据权利要求70所述的方法,其中N<8。
72.根据权利要求70所述的方法,其中所述N抽头非对称滤波器具有非对称6抽头滤波器形状。
73.根据权利要求70所述的方法,其中所述N抽头非对称滤波器具有非对称5抽头滤波器形状。
74.根据权利要求70所述的方法,其中所述N抽头非对称滤波器具有非对称4抽头滤波器形状。
75.一种视频处理的方法,包括:
执行视频的第一视频分量的视频块和所述视频的比特流表示之间的转换,
其中所述第一视频分量的样点的所述转换包括对所述视频的第二视频分量的样点差应用跨分量自适应环路滤波器(CC-ALF)工具,以及
其中所述CC-ALF工具从所述视频的另一个视频分量的样点值来预测所述视频的第一视频分量的所述视频块的样点值。
76.根据权利要求75所述的方法,其中所述第一视频分量是色度分量,并且所述第二视频分量是亮度分量。
77.根据权利要求75到76中任一项所述的方法,其中所述第二视频分量的样点差是通过获得亮度滤波器支持区域中的亮度代表性样点与所述亮度滤波器支持区域中的另一个亮度样点之间的差来确定的。
78.根据权利要求77所述的方法,
其中所述样点位于位置(X,Y),并且所述代表性亮度样点选自位置(2X,2Y),并且
其中X和Y是从位于(0,0)处的视频块的左上角到所述样点位置的整数偏移。
79.根据权利要求77所述的方法,
其中所述样点位于位置(X,Y)处,并且所述代表性亮度样点选自位置(2X,2Y)、(2X,2Y+1)、(2X+1,2Y)、(2X+1,2Y-1)、(2X,2Y-1)、(2X-1,2Y-1)、(2X-1,2Y)中的任何一个位置,并且
其中X和Y是从位于(0,0)处的所述视频块的左上角到所述样点位置的整数偏移。
80.根据权利要求77所述的方法,
其中所述样点位于位置(X,Y)处,并且所述代表性亮度样点选自位置(2X,2Y)、(2X,2Y+1)、(2X+1,2Y)、(2X,2Y-1)、(2X-1,2Y)中的任何一个位置,以及
其中X和Y是从位于(0,0)处的所述视频块的左上角到所述样点位置的整数偏移。
81.根据权利要求77所述的方法,
其中所述样点位于位置(X,Y),并且所述代表性亮度样点选自位置(2X,2Y),并且所述另一个亮度样点位于(2X+1,2Y),并且
其中X和Y是从位于(0,0)处的所述视频块的左上角到所述样点位置的整数偏移。
82.根据权利要求77所述的方法,
其中所述样点位于位置(X,Y),并且所述代表性亮度样点选自位置(2X,2Y),并且另一个亮度样点位于(2X,2Y+1),并且
其中X和Y是从位于(0,0)处的所述视频块的左上角到所述样点位置的整数偏移。
83.根据权利要求77所述的方法,
其中所述样点位于位置(X,Y)处,并且所述代表性亮度样点和所述另一个亮度样点选自位置(2X,2Y+2)、(2X+1,2Y+1)、(2X+1,2Y)、(2X,2Y-1)、(2X-1,2Y)和(2X-1,2Y+1),以及
其中X和Y是从位于(0,0)处的所述视频块的左上角到所述样点位置的整数偏移。
84.根据权利要求77所述的方法,其中选择所述代表性样点的技术是预定义的。
85.根据权利要求77所述的方法,其中选择所述代表性样点的技术基于所述比特流表示中的信息。
86.根据权利要求85所述的方法,其中所述信息包括色彩格式。
87.一种视频处理的方法,包括:
通过在转换期间使用跨分量自适应环路滤波(CC-ALF)工具的多个滤波器的集合中的两个或多个滤波器来执行视频的视频分量的视频块的子块与所述视频的比特流表示之间的所述转换,
其中所述CC-ALF工具从所述视频的另一个视频分量的样点值预测所述视频分量的视频块的所述子块的样点值。
88.根据权利要求87所述的方法,其中所述比特流表示中的字段指示所述多个滤波器的集合的长度N和/或所述两个或多个滤波器的支持。
89.根据权利要求88所述的方法,其中,所述字段被包括在序列头、图片头、序列参数集(SPS)、视频参数集(VPS)、解码器参数集(DPS)、图片参数集(PPS)、自适应参数集(APS)、条带头或片组头中的序列级别或图片级别或条带级别或片组级别。
90.根据权利要求87-88中任一项所述的方法,其中,在所述(CC-ALF)工具中使用的偏移是通过使用与使用预定义支持的所述子块相对应的亮度分量的亮度样点来确定的。
91.根据权利要求90所述的方法,
其中所述子块的尺寸是1×2,
其中所述子块包括位于(X,Y)和(X,Y+1)的色度样点,
其中所述亮度样点位于(2X-1,2Y)、(2X-1,2Y+1)、(2X-1,2Y+2)、(2X-1,2Y+3)、(2X,2Y-1)、(2X,2Y)、(2X,2Y+1)、(2X,2Y+2)、(2X,2Y+3)、(2X,2Y+4)、(2X+1,2Y)、(2X+1,2Y+1)、(2X+1,2Y+2)和(2X+1,2Y+3)处,并且
其中X和Y是从位于(0,0)处的所述视频块的左上角到所述样点位置的整数偏移。
92.根据权利要求90所述的方法,
其中所述子块的尺寸是2×1,
其中所述子块包括位于(X,Y)和(X+1,Y)的色度样点,
其中所述亮度样点位于(2X,2Y-1)、(2X,2Y)、(2X,2Y+1)、(2X,2Y+2)、(2X+1,2Y-2)、(2X+1,2Y-1)、(2X+1,2Y)、(2X+1,2Y+1)、(2X+1,2Y+2)、(2X+1,2Y+3)、(2X+2,2Y-1)、(2X+2,2Y)、(2X+2,2Y+1)和(2X+2,2Y+2)处,并且
其中X和Y是从位于(0,0)处的所述视频块的左上角到所述样点位置的整数偏移。
93.根据权利要求90所述的方法,
其中所述子块的尺寸是1×2,
其中所述子块包括位于(X,Y)和(X,Y+1)的色度样点,
其中所述亮度样点位于(2X-1,2Y+1)、(2X-1,2Y+2)、(2X,2Y)、(2X,2Y+1)、(2X,2Y+2)、(2X,2Y+3)、(2X+1,2Y+1)和(2X+1,2Y+2),并且
其中X和Y是从位于(0,0)处的所述视频块的左上角到所述样点位置的整数偏移。
94.根据权利要求90所述的方法,
其中所述子块的尺寸是2×1,
其中所述子块包括位于(X,Y)和(X+1,Y)的色度样点,
其中所述亮度样点位于(2X,2Y)、(2X,2Y+1)、(2X+1,2Y-1)、(2X+1,2Y)、(2X+1,2Y+1)、(2X+1,2Y+2)、(2X+2,2Y)和(2X+2,2Y+1),并且
其中X和Y是从位于(0,0)处的所述视频块的左上角到所述样点位置的整数偏移。
95.根据权利要求90所述的方法,
其中所述子块的尺寸是1×2,
其中所述子块包括位于(X,Y)和(X,Y+1)的色度样点,
其中所述亮度样点位于(2X-1,2Y)、(2X-1,2Y+2)、(2X,2Y-1)、(2X,2Y)、(2X,2Y+1)、(2X,2Y+2)、(2X,2Y+3)、(2X,2Y+4)、(2X+1,2Y+1)和(2X+1,2Y+3),并且
其中X和Y是从位于(0,0)处的所述视频块的左上角到所述样点位置的整数偏移。
96.根据权利要求90所述的方法,
其中所述子块的尺寸是2×1,
其中所述子块包括位于(X,Y)和(X+1,Y)的色度样点,
其中所述亮度样点位于(2X-1,2Y)、(2X,2Y)、(2X,2Y+1)、(2X+1,2Y-1)、(2X+1,2Y)、(2X+1,2Y+1)、(2X+1,2Y+2)、(2X+2,2Y)、(2X+2,2Y+1)和(2X+3,2Y+1),并且
其中X和Y是从位于(0,0)处的所述视频块的左上角到所述样点位置的整数偏移。
97.根据权利要求90所述的方法,
其中所述子块的尺寸是2×1,
其中所述子块包括位于(X,Y)和(X+1,Y)的色度样点,
其中所述亮度样点位于(2X-1,2Y+1)、(2X,2Y)、(2X,2Y+1)、(2X+1,2Y-1)、(2X+1,2Y)、(2X+1,2Y+1)、(2X+1,2Y+2)、(2X+2,2Y)、(2X+2,2Y+1)和(2X+3,2Y),以及
其中X和Y是从位于(0,0)处的所述视频块的左上角到所述样点位置的整数偏移。
98.一种视频处理的方法,包括:
通过使用已支持跨视频的多个视频分量用于在转换期间使用的跨分量自适应环路滤波(CC-ALF)工具的滤波器,执行所述视频的第一视频分量的视频块的子块与所述视频的比特流表示之间的所述转换,
其中所述CC-ALF工具从所述视频的另一个视频分量的样点值来预测所述第一视频分量的视频块的所述子块的样点值。
99.根据权利要求98所述的方法,
其中所述多个视频分量包括第二视频分量和第三视频分量,并且
其中所述比特流表示中的一个或多个语法元素顺序地指示应用于所述第二视频分量和所述第三视频分量的滤波器系数的使用以校正所述第一视频分量。
100.根据权利要求99所述的方法,其中在所述第三视频分量的滤波器系数之前,在所述比特流表示中指示所述第二视频分量的滤波器系数。
101.根据权利要求99所述的方法,其中所述一个或多个语法元素处于交错顺序中,在所述交错顺序中所述第二视频分量的滤波器系数与所述第三视频分量的滤波器系数交错。
102.根据权利要求98所述的方法,其中通过对所述第二视频分量中的样点进行滤波来执行对所述第一视频分量中的样点的校正。
103.根据权利要求102所述的方法,其中所述滤波器包括具有4个唯一系数的对称8抽头滤波器形状。
104.根据权利要求102所述的方法,其中所述滤波器包括具有5个唯一系数的对称8抽头滤波器形状。
105.根据权利要求102所述的方法,其中所述滤波器包括具有6个唯一系数的8抽头滤波器形状。
106.根据权利要求98所述的方法,其中通过来自所述多个视频分量的样点来执行对所述第一视频分量中的样点的校正。
107.根据权利要求106所述的方法,其中通过对所述多个视频分量使用相同的滤波器来执行对所述第一视频分量的样点的校正。
108.根据权利要求107所述的方法,
其中所述滤波器包括具有4个唯一系数的对称8抽头滤波器形状,或者
其中所述滤波器包括具有5个唯一系数的对称8抽头滤波器形状,或者
其中滤波器包括具有6个唯一系数的8抽头滤波器形状。
109.根据权利要求107所述的方法,其中,使用从所述多个视频分量导出的偏移的平均值或加权平均值来校正所述第一视频分量的样点。
110.根据权利要求107所述的方法,其中,所述第一视频分量的样点通过乘以从所述多个视频分量导出的偏移来校正。
111.根据权利要求106所述的方法,其中通过对所述多个视频分量使用不同的滤波器来执行对所述第一视频分量的样点的校正。
112.根据权利要求111所述的方法,其中所述不同滤波器包括具有4个唯一系数的对称8抽头滤波器形状、具有5个唯一系数的对称8抽头滤波器形状和具有6个唯一系数的8抽头滤波器形状中的任何两个或多个。
113.根据权利要求111所述的方法,其中,使用从所述多个视频分量导出的偏移的平均值或加权平均值来校正所述第一视频分量的样点。
114.根据权利要求111所述的方法,其中,所述第一视频分量的样点通过乘以从所述多个视频分量导出的偏移来校正。
115.一种视频处理的方法,包括:
通过使用多个视频帧中的样点来在转换期间应用的跨分量自适应环路滤波器(CC-ALF)工具或自适应环路滤波器(ALF)工具中细化视频的当前视频帧中的样点集,来执行所述视频的视频分量的视频块与所述视频的比特流表示之间的所述转换,
其中所述CC-ALF工具从所述视频的另一个视频分量的样点值预测所述视频分量的视频块的样点值,且
其中所述ALF工具使用环路滤波器对所述视频分量的视频块的样点进行滤波。
116.根据权利要求115所述的方法,其中是否使用来自所述多个视频帧的样点来细化所述当前视频帧中的所述样点集被指示在序列头、图片头、序列参数集(SPS)、视频参数集(VPS)、解码器参数集(DPS)、图片参数集(PPS)、自适应参数集(APS)、条带头或片组头中的序列级别或图片级别或条带级别或片组级别的所述比特流表示中。
117.根据权利要求115所述的方法,其中所述多个视频帧包括所述当前视频帧的参考图片。
118.根据权利要求115所述的方法,其中所述多个视频帧不包括所述当前视频帧的参考图片。
119.根据权利要求117-118中任一项所述的方法,其中最接近所述当前视频帧的所述视频的图片被用于所述ALF工具和/或所述CC-ALF工具,其中编解码图片(POC)技术被用于确定所述图片和所述当前视频帧之间的距离。
120.根据权利要求117-118中任一项所述的方法,其中所述当前视频帧的短期图片用于所述ALF工具和/或所述CC-ALF工具。
121.根据权利要求117-118中任一项所述的方法,其中所述当前视频帧的长期图片用于所述ALF工具和/或所述CC-ALF工具。
122.根据权利要求117-118中任一项所述的方法,其中所述当前视频帧的相同的时域层中的参考图片用于所述ALF工具和/或所述CC-ALF工具。
123.根据权利要求117-118中任一项所述的方法,其中所述当前视频帧的不同时域层中的参考图片用于所述ALF工具和/或所述CC-ALF工具。
124.根据权利要求117-118中任一项所述的方法,其中所述多个视频帧包括所述当前视频帧。
125.一种视频处理的方法,包括:
对于视频的视频分量的视频块和所述视频的比特流表示之间的转换,根据位置规则确定是否为所述转换启用了跨分量自适应环路滤波器(CC-ALF)工具,
其中所述CC-ALF工具从所述视频的另一个视频分量的样点值来预测所述视频分量的视频块的样点值;和
基于所述确定来执行所述转换。
126.根据权利要求125所述的方法,其中所述位置规则指定对编解码树块底部边界和环路滤波的虚拟边界之间的色度样点禁用所述CC-ALF工具。
127.根据权利要求126所述的方法,其中,所述虚拟边界是通过移位水平编解码树单元(CTU)获得的线。
128.根据权利要求125所述的方法,其中所述位置规则指定对编解码树单元(CTU)底部边界与环路滤波的虚拟边界之间的色度样点和/或亮度样点禁用所述CC-ALF工具。
129.根据权利要求128所述的方法,其中,所述虚拟边界是通过移位水平编解码树单元(CTU)获得的线。
130.根据权利要求125所述的方法,其中,所述位置规则指定在所述转换期间应用另一个滤波的位置处禁用所述CC-ALF工具。
131.根据权利要求125所述的方法,其中所述位置规则指定对位于变换边缘或编解码单元(CU)边缘的样点禁用所述CC-ALF工具,所述样点由在所述转换期间应用的另一个滤波器滤波。
132.根据权利要求1-131中任一项所述的方法,其中指示所述转换的方法的使用的语法元素被包括在序列头、图片头、序列参数集(SPS)、视频参数集(VPS)、解码器参数集(DPS)、图片参数集(PPS)、自适应参数集(APS)、条带头或片组头中的序列级别或图片级别或条带级别或片组级别的所述比特流表示中。
133.根据权利要求1-131中任一项所述的方法,其中,基于所述比特流表示中指示的所述视频的特性,选择性地应用所述方法。
134.根据权利要求133所述的方法,其中,所述特性包括色彩格式或分割类型或所述子块相对于编解码单元(CU)或编解码树单元(CTU)的位置。
135.根据权利要求1-134中任一项所述的方法,其中执行所述转换包括编码所述视频以生成所述比特流表示。
136.根据权利要求1-134中任一项所述的方法,其中执行所述转换包括解析和解码所述比特流表示以生成所述视频。
137.一种视频解码装置,包括被配置成实现权利要求1至136中的一项或多项所述的方法的处理器。
138.一种视频编码装置,包括被配置成实现权利要求1至136中的一项或多项所述的方法的处理器。
139.一种其上存储有计算机代码的计算机程序产品,当所述代码由处理器执行时,使所述处理器实现权利要求1至136中任一项所述的方法。
140.一种计算机可读介质,其上存储比特流表示或根据权利要求1至136中任一项所述的方法生成的比特流表示。
CN202080082076.7A 2019-11-30 2020-11-27 跨分量自适应滤波和子块编解码 Pending CN114930832A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN2019122237 2019-11-30
CNPCT/CN2019/122237 2019-11-30
PCT/CN2020/132003 WO2021104409A1 (en) 2019-11-30 2020-11-27 Cross-component adaptive filtering and subblock coding

Publications (1)

Publication Number Publication Date
CN114930832A true CN114930832A (zh) 2022-08-19

Family

ID=76129160

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080082076.7A Pending CN114930832A (zh) 2019-11-30 2020-11-27 跨分量自适应滤波和子块编解码

Country Status (3)

Country Link
US (1) US20220286674A1 (zh)
CN (1) CN114930832A (zh)
WO (1) WO2021104409A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220092955A (ko) * 2020-01-10 2022-07-04 엘지전자 주식회사 루마 성분 및 크로마 성분에 대한 bdpcm 기반 영상 디코딩 방법 및 그 장치
US11683530B2 (en) * 2021-03-19 2023-06-20 Tencent America LLC Adaptive non-linear mapping for sample offset
EP4378163A1 (en) * 2021-07-27 2024-06-05 Beijing Dajia Internet Information Technology Co., Ltd. Coding enhancement in cross-component sample adaptive offset

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120183078A1 (en) * 2011-01-14 2012-07-19 Samsung Electronics Co., Ltd. Filter adaptation with directional features for video/image coding
US10419757B2 (en) * 2016-08-31 2019-09-17 Qualcomm Incorporated Cross-component filter
CN114391255B (zh) * 2019-09-11 2024-05-17 夏普株式会社 用于基于交叉分量相关性来减小视频编码中的重构误差的系统和方法
US11265558B2 (en) * 2019-11-22 2022-03-01 Qualcomm Incorporated Cross-component adaptive loop filter

Also Published As

Publication number Publication date
WO2021104409A1 (en) 2021-06-03
US20220286674A1 (en) 2022-09-08

Similar Documents

Publication Publication Date Title
WO2021083259A1 (en) Signaling of cross-component adaptive loop filter
CN113728642A (zh) 编解码视频的量化残差差分脉冲编解码调制表示
WO2021083377A1 (en) Block size restrictions for cross-component video coding
CN113728636B (zh) 编解码视频中二次变换的选择性使用
US20230336724A1 (en) Residual Coding for Transform Skipped Blocks
WO2021104409A1 (en) Cross-component adaptive filtering and subblock coding
CN115428449A (zh) 交叉分量自适应环路滤波器
CN115066899A (zh) 编解码视频的可分二次变换处理
CN113853791A (zh) 数字视频中的变换旁路编解码残差块
CN113796069A (zh) 使用量化残差差分脉冲编解码调制编解码的帧内编解码视频
US20240098266A1 (en) Using Neighboring Samples In Cross-Component Video Coding
CN115606182A (zh) 使用增强二次变换的编解码视频处理
CN115066897A (zh) 低位深度视觉媒体数据的编解码
WO2021209063A1 (en) Cross-component coding of 4: 2: 0 or 4: 2: 2 video

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