CN114128278B - 自适应环路滤波中的样点填充 - Google Patents

自适应环路滤波中的样点填充 Download PDF

Info

Publication number
CN114128278B
CN114128278B CN202080050648.3A CN202080050648A CN114128278B CN 114128278 B CN114128278 B CN 114128278B CN 202080050648 A CN202080050648 A CN 202080050648A CN 114128278 B CN114128278 B CN 114128278B
Authority
CN
China
Prior art keywords
sample
current
boundary
samples
video
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202080050648.3A
Other languages
English (en)
Other versions
CN114128278A (zh
Inventor
张莉
张凯
刘鸿彬
王悦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing ByteDance Network Technology Co Ltd
ByteDance Inc
Original Assignee
Beijing ByteDance Network Technology 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 Beijing ByteDance Network Technology Co Ltd, ByteDance Inc filed Critical Beijing ByteDance Network Technology Co Ltd
Priority to CN202311451349.2A priority Critical patent/CN117939170A/zh
Publication of CN114128278A publication Critical patent/CN114128278A/zh
Application granted granted Critical
Publication of CN114128278B publication Critical patent/CN114128278B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/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/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/174Methods 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 slice, e.g. a line of blocks or a group of 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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/182Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness

Abstract

一种视频处理方法,包括:为视频的视频图片内的块与该视频的比特流表示之间的转换,确定在自适应环路滤波处理中填充对于当前样点处于跨越所述视频图片的多个视频区域的边界的位置上的第一组样点的方式。该方法还包括根据该确定执行该转换。

Description

自适应环路滤波中的样点填充
相关申请的交叉引用
本申请是于2020年7月13日提交的国际专利申请号PCT/CN2020/101589进入中国国家阶段的申请,其要求于2019年7月11日提交的国际专利申请号PCT/CN2019/095657的优先权。以上申请的全部公开内容通过引用而并入,作为本申请的公开的一部分。
技术领域
本专利文件总体上涉及视频编解码和解码技术。
背景技术
视频编解码标准主要是通过开发公知的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/高效视频编解码(high efficiency video coding,HEVC)标准。自H.262以来,视频编解码标准基于混合视频编解码结构,其中采用了时域预测加变换编解码。为探索HEVC之外的未来视频编解码技术,VCEG和MPEG于2015年联合成立了联合视频探索团队(joint videoexploration team,JVET)。从那时起,JVET采用了许多新的方法,并将其应用到了名为联合探索模型(joint exploration model,JEM)的参考软件中。2018年4月,在VCEG(Q6/16)和ISO/IEC JTC1SC29/WG11(MPEG)之间创建了JVET,其致力于研究以相较于HEVC有50%的比特率下降为目标的下一代多功能视频编解码(versatile video coding,VVC)标准。
发明内容
在使用所公开的视频编解码、转码或解码技术的情况下,视频编码器或解码器的实施例能够操纵编解码树块的虚拟边界,以提供更高的压缩效率以及编解码或解码工具的更简单的实施方式。
在一个示例性方面中,公开了一种视频处理方法。该方法包括:为视频的视频图片内的块与该视频的比特流表示之间的转换,确定在自适应环路滤波处理中填充对于当前样点处于跨越所述视频图片的多个视频区域的边界的位置上的第一组样点的方式。该方法还包括根据该确定执行该转换。
在另一个示例性方面中,公开了一种视频处理的方法。该方法包括:为视频的视频图片内的块与该视频的比特流表示之间的转换,如果该块与该视频图片的多个视频区域的至少一种类型的边界对齐,那么确定生成在自适应环路滤波处理中用于该块的当前样点的样点的统一填充操作。该方法还包括基于该确定执行该转换。
在另一个示例性方面中,公开了一种视频处理的方法。该方法包括:为视频的视频图片中的块与该视频的比特流表示之间的转换,确定在针对位于多个视频区域的两种类型的边界之间的样点的自适应环路滤波处理中调用填充操作的方式。这两种类型的边界中的一种包括360虚拟边界。该方法还包括根据该确定执行该转换。
在另一个示例性方面中,公开了一种视频处理的方法。该方法包括执行视频图片的视频块与其比特流表示之间的转换。这里,使用编解码树块的逻辑分组处理视频块,并且基于底部编解码树块的底部边界是否处于视频图片的底部边界外来处理编解码树块。
在另一个示例性方面当中,公开了另一种视频处理方法。该方法包括在环路滤波期间基于当前视频块的编解码树块的条件确定虚拟样点的使用状态,以及执行与虚拟样点的使用状态一致的该视频块与该视频块的比特流表示之间的转换。
在又一个示例性方面当中,公开了另一种视频处理方法。该方法包括:在被逻辑分组成一个或多个视频条带或视频图块的视频图片与该视频图片的比特流表示之间的转换期间,确定禁止在自适应环路滤波处理中使用另一条带或图块中的样点;以及执行与该确定一致的转换。
在又一个示例性方面当中,公开了另一种视频处理方法。该方法包括:在视频图片的当前视频块和当前视频块的比特流表示之间的转换期间确定当前视频块包括位于该视频图片的视频单元的边界处的样点;以及基于该确定执行该转换,其中,执行该转换包括使用对于该视频图片内的所有边界类型均相同的统一方法生成用于环路滤波处理的虚拟样点。
在又一个示例性方面中,公开了另一种视频处理的方法。该方法包括:在视频图片的当前视频块与其比特流表示之间的转换期间,应用在该转换期间对于该视频图片可用的多种自适应环路滤波器(ALF)样点选择方法中的一种样点选择方法;以及通过应用该多种ALF样点选择方法中的一种样点选择方法执行该转换。
在又一个示例性方面中,公开了另一种视频处理的方法。该方法包括:在当前视频块与当前视频块的比特流表示之间的转换期间,基于边界规则对视频图片的当前视频块的样点执行环路滤波操作,其中,该边界规则禁止使用跨越该视频图片的虚拟流水线数据单元(virtual pipeline data unit,VPDU)的样点;以及使用环路滤波操作的结果执行该转换。
在又一个示例性方面中,公开了另一种视频处理的方法。该方法包括:在当前视频块与当前视频块的比特流表示之间的转换期间,基于边界规则对视频图片的当前视频块的样点执行环路滤波操作,其中,该边界规则规定对当前视频块的跨越视频单元边界的位置使用在不使用填充的情况下生成的样点;以及使用环路滤波操作的结果执行该转换。
在又一个示例性方面中,公开了另一种视频处理的方法。该方法包括:在当前视频块与当前视频块的比特流表示之间的转换期间,基于边界规则对视频图片的当前视频块的样点执行环路滤波操作,其中,该边界规则规定为环路滤波操作选择滤波器,该滤波器所具有的维度使得在环路滤波期间使用的当前视频块的样点不跨越该视频图片的视频单元的边界;以及使用环路滤波操作的结果执行该转换。
在又一个示例性方面中,公开了另一种视频处理的方法。该方法包括:在当前视频块与当前视频块的比特流表示之间的转换期间,基于边界规则对视频图片的当前视频块的样点执行环路滤波操作,其中,该边界规则规定基于环路滤波是否需要填充样点为环路滤波操作选择裁剪参数或滤波器系数;以及使用环路滤波操作的结果执行该转换。
在又一个示例性方面中,公开了另一种视频处理的方法。该方法包括:在当前视频块与当前视频块的比特流表示之间的转换期间,基于边界规则对视频图片的当前视频块的样点执行环路滤波操作,其中,该边界规则取决于当前视频块的颜色分量身份;以及使用环路滤波操作的结果执行该转换。
在又一个示例性方面当中,公开了一种被配置为执行上文描述的方法的视频编码装置。
在又一个示例性方面当中,公开了一种被配置为执行上文描述的方法的视频解码器。
在又一个示例性方面当中,公开了一种机器可读介质。该介质存储代码,该代码在被执行时使处理器实施上文描述的方法中的一者或多者。
在附图、说明书和权利要求中更详细地描述了所公开技术的以上和其他方面和特征。
附图说明
图1示出了具有被分割成12个片和3个光栅扫描条带的18×12个亮度编解码树单元CTU(coding tree units,编解码树单元)的图片的示例。
图2示出了具有被分割成24个片和9个矩形条带的18×12个亮度CTU的图片的示例。
图3示出了被分割成4个条带、11个图块和4个矩形条带的图片的示例。
图4A示出了在K=M,L<N时跨越图片边框的编解码树块CTB(coding tree block,编解码树块)的示例。
图4B示出了在K<M,L=N时跨越图片边框的编解码树块CTB的示例。
图4C示出了在K<M,L<N时跨越图片边框的编解码树块CTB的示例。
图5示出了编码器框图的示例。
图6是图片样点以及8×8网格上的水平和垂直块边界以及能够并行去方块的不重叠8×8样点块的图示。
图7示出了滤波器开/关决策和强/弱滤波器选择中涉及的像素的示例。
图8示出了四个1-D方向性图案。
图9示出了几何自适应环路滤波(geometric adaptive loop filtering,GALF)滤波器形状的示例(左:5×5菱形,中:7×7菱形,右:9×9菱形)。
图10示出了用于5×5菱形滤波器支持的相对坐标。
图11示出了用于5×5菱形滤波器支持的相对坐标的示例。
图12A示出了用于子采样拉普拉斯算子(Laplacian)计算的示例性布置。
图12B示出了用于子采样拉普拉斯算子计算的另一种示例性布置。
图12C示出了用于子采样拉普拉斯算子计算的另一种示例性布置。
图12D示出了用于子采样拉普拉斯算子计算的又一种示例性布置。
图13示出了VTM-4.0中的针对亮度分量的环路滤波器的线缓存要求的示例。
图14示出了VTM-4.0中的针对色度分量的环路滤波器的线缓存要求的示例。
图15A示出了在N=4时虚拟边界处的ALF块分类的示例。
图15B示出了在N=4时虚拟边界处的ALF块分类的另一示例。
图16A示出了虚拟边界处的经修改的亮度ALF滤波的示例。
图16B示出了虚拟边界处的经修改的亮度ALF滤波的另一示例。
图16C示出了虚拟边界处的经修改的亮度ALF滤波的又一示例。
图17A示出了虚拟边界处的经修改的色度ALF滤波的示例。
图17B示出了虚拟边界处的经修改的色度ALF滤波的另一示例。
图18A示出了水平环绕运动补偿的示例。
图18B示出了水平环绕运动补偿的另一示例。
图19示出了经修改的自适应环路滤波器的示例。
图20示出了处理视频图片中的CTU的示例。
图21示出了经修改的自适应环路滤波器边界的示例。
图22是视频处理装置的示例的框图。
图23是视频处理的示例性方法的流程图。
图24示出了处于3x2布局中的HEC的图像的示例。
图25示出了对于两个种类的边界的样点而言的填充线的数量的示例。
图26示出了处理图片中的CTU的示例。
图27示出了处理图片中的CTU的另一示例。
图28示出了当前样点和需要访问的样点的另一示例。
图29示出了“不可用”相邻样点的填充的另一示例。
图30是可以实施所公开的技术的示例性视频处理系统的框图。
图31示出了根据本技术的用于视频处理的方法的流程图表示。
图32示出了根据本技术的用于视频处理的另一方法的流程图表示。
图33示出了根据本技术的用于视频处理的又一方法的流程图表示。
具体实施方式
本文中使用了章节标题,其目的在于促进理解的简便性,而非使在一个章节中公开的实施例仅局限于该章节。此外,尽管某些实施例是参考多功能视频编解码或其他具体视频编解码器描述的,但是所公开的技术还适用于其他视频编解码。此外,尽管一些实施例详细描述了视频编解码步骤,但是应当理解,将通过解码器实施解开编解码的对应解码步骤。此外,视频处理一词涵盖视频编解码或压缩、视频解码或解压以及视频转码,在视频转码中视频像素由一种压缩格式表示变为以另一种压缩格式表示或者具有不同的压缩比特率。
1.简要总结
本文件涉及视频编解码技术。具体而言,本文件涉及图片/条带/片/图块边界和虚拟边界编解码,尤其是对于非线性自适应环路滤波器的。本文件可以应用于现有的视频编解码标准,如HEVC,或待定案的标准(多功能视频编解码)。本文件还可以适用于未来的视频编解码标准或视频编解码器。
2.初步讨论
视频编解码标准主要是通过开发公知的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年联合成立了联合视频探索团队(JVET)。从那时起,JVET采用了许多新的方法,并将其应用到了名为联合探索模型(JEM)的参考软件中。2018年4月,在VCEG(Q6/16)和ISO/IEC JTC1SC29/WG11(MPEG)之间创建了JVET,其致力于研究以相较于HEVC有50%的比特率下降为目标的VVC标准。
2.1颜色空间和色度子采样
颜色空间,又名颜色模型(或颜色系统),是一种简单地将颜色的范围描述成数的元组的抽象数学模型,数的元组通常是3个或4个值或颜色分量(例如,RGB)。基本来讲,颜色空间是坐标系和子空间的阐述。
对于视频压缩而言,最频繁使用的颜色空间是YCbCr和RGB。
YCbCr、Y′CbCr或Y Pb/Cb Pr/Cr(又被写作YCBCR或Y′CBCR)是被用作视频和数字摄影系统中的彩色图像流水线的部分的颜色空间的成员(family)。Y′是亮度分量,并且CB和CR是蓝色差值和红色差值色度分量。Y′(首选的)有别于作为亮度的Y,从而意味着基于经过伽马校正的RGB原色对光强度进行非线性编码。
色度子采样是通过对色度信息实施比亮度信息更低的分辨率来对图像编码的实践,其利用了人类视觉系统对颜色差异的敏锐性低于对亮度的敏锐性的特点。
2.1.1颜色格式4:4:4
三个Y′CbCr分量的每者具有相同的采样速率,因而没有色度子采样。这一方案有时被用在高端胶片扫描仪和电影后期制作当中。
2.1.2颜色格式4:2:2
按照亮度的采样速率的一半来对两个色度分量采样:使水平色度分辨率减半。这使未压缩视频信号的带宽下降了三分之一,而几乎没有视觉差异。
2.1.3颜色格式4:2:0
在4:2:0当中,与4:1:1相比,水平采样加倍,但是由于在这一方案中仅隔行对Cb和Cr通道采样,因而垂直分辨率减半。因此,数据速率相同。在水平和垂直方向两者上都以2为系数来对Cb和Cr每者子采样。有三种4:2:0方案的变型,它们具有不同的水平和垂直定址(siting)。
在MPEG-2中,Cb和Cr水平共址(cosited)。Cb和Cr在垂直方向上定址于像素之间(填隙式定址)。
在JPEG/JFIF、H.261和MPEG-1中,Cb和Cr在相隔一个的亮度样点之间半途填隙定址。
在4:2:0DV中,Cb和Cr在水平方向上共址。在垂直方向上,它们在隔行上共址。
2.2各种视频单元
将图片划分成一个或多个片行以及一个或多个片列。片是覆盖图片的矩形区域的CTU的序列。
将片划分成一个或多个图块,每一图块由该片内的一定数量的CTU行构成。
不被分割成多个图块的片也被称为图块。然而,作为片的真子集的图块不被称为片。
条带包含图片的一定数量的片,或者包含片的一定数量的图块。
支持两种模式的条带,即光栅扫描条带模式和矩形条带模式。在光栅扫描条带模式中,条带包含图片的片光栅扫描中的片序列。在矩形条带模式中,条带包含图片的共同形成该图片的矩形区域的一定数量的图块。矩形条带内的图块按照该条带的图块光栅扫描顺序排列。
图1示出了图片的光栅扫描条带分割的示例,其中,将图片划分成12个片和3个光栅扫描条带。
图2示出了图片的矩形条带分割的示例,其中,将图片划分成24个片(6个片列和4个片行)和9个矩形条带。
图3示出了分割成片、图块和矩形条带的图片的示例,其中,将图片划分成4个片(2个片列和2个片行)、11个图块(左上片含有1个图块,右上片含有5个图块,左下片含有2个图块,右下片含有3个图块)和4个矩形条带。
2.2.1 CTU/CTB尺寸
在VVC中,在SPS中通过语法元素log2_ctu_size_minus2信令通知的CTU尺寸可以小到4×4。
7.3.2.3序列参数集RBSP语法
log2_ctu_size_minus2加2指定每一CTU的亮度编解码树块尺寸。
log2_min_luma_coding_block_size_minus2加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)
2.2.2图片中的CTU
假定由M×N(M通常等于N,如HEVC/VVC中所定义的)指示CTB/LCU尺寸,并且对于处在图片(或片或条带或其他种类型,以图片边框为例)边框处的CTB而言,K x L个样点处于图片边框内,其中,K<M,或者L<N。对于图4A-4C中所示的那些CTB,CTB尺寸仍然等于M×N,然而CTB的底部边界/右侧边界处于图片外。
图4A示出了跨越底部图片边框的CTB。图4B示出了跨越右侧图片边框的CTB。图4C示出了跨越右下图片边框的CTB。
图4A-4C示出了跨越图片边框的CTB的示例,(a)K=M,L<N;(b)K<M,L=N,(c)K<M,L<N
2.3典型视频编解码器的编解码流程
图5示出了VVC的编码器框图的示例,其含有三个环路滤波框:去方块滤波器(deblocking filter,DF)、样点自适应偏移(sample adaptive offset,SAO)和ALF。与使用预定义滤波器的DF不同,SAO和ALF借助于信令通知偏移和滤波器系数的编解码边信息,分别通过添加偏移以及应用有限脉冲响应(finite impulse response,FIR)滤波器而利用当前图片的原始样点来减少原始样点和重建样点之间的均方误差。ALF位于每一图片的最后处理阶段上,并且可以被视为尝试捕捉并且修复先前阶段创建的伪影的工具。
2.4去方块滤波器(deblocking filter,DB)
DB的输入是环路滤波器之前的重建样点。
首先对图片中的垂直边缘进行滤波。然后利用由垂直边缘滤波处理修改的样点作为输入对图片中的水平边缘进行滤波。基于编解码单元,独立地处理每个CTU的CTB中的垂直和水平边缘。对编解码单元中编解码块的垂直边缘进行滤波,从编解码块左侧的边缘开始,按照其几何顺序,通过边缘朝向编解码块的右侧行进。对编解码单元中编解码块的水平边缘进行滤波,从编解码块顶部的边缘开始,按照其几何顺序,通过边缘朝向编解码块的底部行进。
图6是图片样点以及8×8网格上的水平和垂直块边界以及能够并行去方块的不重叠8×8样点块的图示。
2.4.1.边界决策
对8×8块边界应用滤波。此外,其必须是变换块边界或者编解码子块边界(例如,由于仿射运动预测,ATMVP(affine motion prediction,仿射运动预测)的使用)。对于那些不是此类边界的边界而言,禁用滤波器。
2.4.1边界强度计算
对于变换块边界/编解码子块边界,如果其位于8×8网格中,那么可以对其滤波,并且分别在表1和表2中定义了这种边缘的bS[xDi][yDj]的设置(其中,[xDi][yDj]表示坐标)。
表1边界强度(在禁用SPS IBC时)
表2边界强度(在启用SPS IBC时)
2.4.3针对亮度分量的去方块决策
在这一小节中描述去方块决策过程。
图7示出了滤波器开/关决策和强/弱滤波器选择中涉及的像素的示例。
更宽更强的亮度滤波器是仅在条件1、条件2和条件3全部为真时才使用的滤波器。
条件1是“大块条件”。这一条件检测在P侧和Q侧的样点是否属于大块,分别由变量bSidePisLargeBlk和bSideQisLargeBlk表示。如下定义bSidePisLargeBlk和bSideQisLargeBlk。
bSidePisLargeBlk=((边缘类型为垂直,且p0属于CU,其中宽度>=32)||(边缘类型为水平,且p0属于CU,其中高度>=32))?TRUE:FALSE
bSideQisLargeBlk=((边缘类型为垂直,且q0属于CU,其中宽度>=32)||(边缘类型为水平,且q0属于CU,其中高度>=32))?TRUE:FALSE
基于bSidePisLargeBlk和bSideQisLargeBlk,则如下定义条件1。
条件1=(bSidePisLargeBlk||bSidePisLargeBlk)?TRUE:FALSE
接下来,如果条件1为真,将进一步检查条件2。首先,推导以下变量:
-首先,如HEVC中那样推导dp0、dp3、dq0、dq3
-if(p侧大于或等于32)
dp0=(dp0+Abs(p50-2*p40+p30)+1)>>1
dp3=(dp3+Abs(p53-2*p43+p33)+1)>>1
-if(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有效,则进一步检查是否有任何块使用了子块:
/>
最后,如果条件1和条件2都有效,所提出的去方块方法将检查条件3(大块强滤波器条件),条件3如下定义。
在条件3StrongFilterCondition中,推导以下变量:
如在HEVC中那样推导dpq。
如HEVC中那样,StrongFilterCondition=(dpq小于(β>>2),sp3+sq3小于(3*β>>5),并且Abs(p0-q0)小于(5*tC+1)>>1)?TRUE:FALSE。
2.4.4针对亮度的更强去方块滤波器(被设计为用于更大块)
在边界的任一侧的样点属于大块时使用双线性滤波器。像对于垂直边缘而言宽度>=32时,或者对于水平边缘而言高度>=32时那样定义属于大块的样点。
下文列举了双线性滤波器。
然后如下通过线性插值替代块边界样点对于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项是在章节2.4.7中描述的位置相关裁剪,并且gj、fi、Middles,t、Ps和Qs在下文中给出:
2.4.5针对色度的去方块控制
在块边界的两侧上都使用色度强滤波器。在此,在色度边缘的两侧都大于或等于8(色度位置)时,选择色度滤波器,并且接下来的决策满足三个条件:第一个是针对边界强度以及大块的决策。在与块边缘正交交叉的块宽度或块高度在色度样点域中等于或大于8时,可以应用所提出的滤波器。第二和第三个与用于HEVC亮度去方块决策的基本相同,分别为开/关决策和强滤波器决策。
在第一决策中,针对色度滤波修改边界强度(boundary strength,bS)并且依次检查条件。如果满足条件,则跳过具有更低优先级的其余条件。
在bS等于2时,或者当检测到大块边界时bS等于1时,执行色度去方块。
第二条件和第三条件与如下的HEVC亮度强滤波器决策基本相同。
在第二条件中:
然后如HEVC亮度去方块中那样推导d。
在d小于β时,第二条件为真。
在第三条件中,如下推导StrongFilterCondition:
如在HEVC中那样推导dpq。
sp3=Abs(p3-p0),如在HEVC中那样推导
sq3=Abs(q0-q3),如在HEVC中那样推导
如HEVC设计中那样,StrongFilterCondition=(dpq小于(β>>2),sp3+sq3小于(β>>3),并且Abs(p0-q0)小于(5*tC+1)>>1)
2.4.6用于色度的强去方块滤波器
定义以下用于色度的强去方块滤波器:
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色度样点网格执行去方块。
2.4.7位置相关裁剪
对涉及修改边界处的7、5和3个样点的强且长滤波器的亮度滤波处理的输出样点应用位置相关裁剪tcPD。在假设量化错误分布的情况下,提出了针对被预计具有更高量化噪声并因而被预计相对于真实样点值具有更高的重建样点值偏差的样点增大裁剪值。
对于采用不对称滤波器滤波的每个P或Q边界,依据章节2.4.2中的决策制定过程的结果,从作为边信息提供给解码器的两个表格(例如,以下制成列表的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是裁剪之后的输出样点值,tcPi和tcPi是从VVC tc参数以及tcPD和tcQD导出的裁剪阈值。函数Clip3是裁剪函数,如VVC中对其所做的规定。
2.4.8子块去方块调整
为了能够使用长滤波器和子块去方块两者并行友好地去方块,长滤波器被限制为在使用如针对长滤波器的亮度控制中所示的子块去方块(AFFINE或ATMVP或DMVR)的一侧修改最多5个样点。此外,调整子块去方块,以使得将8×8网格上的接近CU或隐式TU边界的子块边界局限于仅修改每一侧的最多两个样点。
下文适用于不与CU边界对齐的子块边界。
其中,等于0的边缘对应于CU边界,等于2或等于orthogonalLength-2的边缘对应于来自CU边界等的子块边界8个样点。其中如果使用TU的隐式划分,隐式TU为真。
2.5 SAO
SAO的输入是DB之后的重建样点。SAO的原理是通过采用所选分类器将区域样点分类成多种类别,获得每一类别的偏移,之后将该偏移加到该类别的每一样点上来降低该区域的平均样点失真,其中,将区域的分类器索引和偏移编解码到比特流中。在HEVC和VVC中,将区域(用于SAO参数信令通知的单元)定义为CTU。
在HEVC中采取了能够满足低复杂性要求的两种SAO类型。这两种类型为边缘偏移(edge offset,EO)和带偏移(band offset,BO),下文将对它们做更详细的讨论。对SAO类型的索引编解码(其处于[0,2]的范围内)。对于EO,样点分类根据1-D方向性图案以当前样点与相邻样点之间的比较为基础,1-D方向性图案为:水平、垂直、135°对角线和45°对角线。
图8示出了用于EO样点分类的四个1-D方向性图案:水平(EO种类=0),垂直(EO种类=1),135°对角线(EO种类=2)和45°对角线(EO种类=3)。
对于给定EO种类,将CTB内的每一样点分类到五个类别之一当中。将被标示为“c”的当前样点与它的沿所选1-D图案的两个邻居进行比较。在表格I中总结了每一样点的分类规则。类别1和类别4分别与沿所选1-D图案的局部谷和局部峰相关联。类别2和类别3分别与沿所选1-D图案的凹拐角和凸拐角相关联。如果当前样点不属于EO类别1-4,那么其为类别0,并且不应用SAO。
表格3:针对边缘偏移的样点分类规则
2.6基于几何变换的自适应环路滤波器
DB的输入是DB和SAO之后的重建样点。样点分类和滤波处理以DB和SAO之后的重建样点为基础。
在一些实施例中,应用带有基于块的滤波器调适的基于几何变换的自适应环路滤波器(geometry transformation-based adaptive loop filter,GALF)。对于亮度分量,基于局部梯度的方向和活动性,为每一2×2块选择25个滤波器中的一个。
2.6.1滤波器形状
在一些实施例中,可以为亮度分量选择多达三种菱形滤波器形状(如图9所示)。在图片级上信令通知索引,以指示用于亮度分量的滤波器形状。每一方形表示样点,并且Ci(i为0~6(左),0~12(中),0~20(右))表示将应用于该样点的系数。对于图片中的色度分量,总是使用5×5菱形形状。
2.6.1.1块分类
将每一2×2块分类到出自25个种类的一个种类当中。基于其方向性D以及活动性的量化值如下推导出分类索引C:
为了计算D和首先使用1-D拉普拉斯算子计算水平、垂直和两个对角线方向的梯度:
/>
索引i和j是指2×2块内的左上样点的坐标,R(i,j)指示处于坐标(i,j)处的重建样点。
之后,将水平和垂直方向的梯度的D最大值和最小值设置为:
并且将两个对角方向的梯度的最大值和最小值设置为:
为了推导方向性D的值,对这些值进行相对于彼此的以及与阈值t1和t2的比较:
步骤1:如果和/>两者均为真,那么将D设置为0。
步骤2:如果那么从步骤3继续;否则从步骤4继续。
步骤3:如果那么将D设置为2;否则将D设置为1。
步骤4:如果那么将D设置为4;否则将D设置为3。
将活动性值A如下计算:
将A进一步量化到0到4的范围(含端点)内,并且将量化值表示为
对于图片内的两个色度分量,不应用分类方法,例如,对每一色度分量应用单组ALF系数。
2.6.1.2滤波器系数的几何变换
图10示出了用于5×5菱形滤波器支持的相对协调器:左:对角线,中心:垂直翻转,右:旋转。
在对每一2×2块滤波之前,依据针对该块计算出的梯度值,对滤波器系数f(k,l)应用诸如旋转或者对角线和垂直翻转的几何变换,该滤波器系数f(k,l)与坐标(k,l)相关联。这等同于对滤波器支持区域内的样点应用这些变换。这想法在于通过使应用ALF的不同块的对准它们的方向性而使这些不同块更加相似。
引入了包括对角线、垂直翻转和旋转的三种几何变换:
对角线:fD(k,l)=f(l,k),
垂直翻转:fV(k,l)=f(k,K-l-1), (9)
旋转:fR(k,l)=f(K-l-1,k).
其中,K是滤波器的尺寸,并且0≤k,l≤K-1是系数坐标,使得位置(0,0)处于左上角,并且位置(K-1,K-1)处于右下角。依据对该块计算出的梯度值,对滤波器系数f(k,l)应用变换。在表格4中总结了变换与四个方向的四个梯度之间的关系。图9是基于5×5菱形的针对每一位置的经变换的系数。
表格4:针对一个块计算出的梯度与变换之间的映射
梯度值 变换
gd2<gd1并且gh<gv 无变换
gd2<gd1并且gv<gh 对角线
gd1<gd2并且gh<gv 垂直翻转
gd1<gd2并且gv<gh 旋转
2.6.1.3滤波器参数信令通知
在一些实施例中,对于第一CTU,信令通知GALF滤波器参数,例如,在条带标头之后并且在第一CTU的SAO参数之前。可以信令通知多达25组亮度滤波器系数。为了降低比特开销,可以合并不同分类的滤波器系数。而且,可以存储参考图片的GALF系数,并且允许将其重复用作当前图片的GALF系数。当前图片可以选择使用为参考图片存储的GALF系数并且绕过GALF系数信令通知。在这种情况下,仅信令通知对参考图片之一的索引,并且继承所指示的参考图片的所存储GALF系数,以用于当前图片。
为了支持GALF时域预测,保持GALF滤波器组的候选列表。在开始对新的序列解码时,候选列表为空。在对一个图片解码之后,可以将对应的一组滤波器添加至候选列表。一旦候选列表的尺寸达到了最大允许值(例如,6),那么新的一组滤波器按照解码顺序盖写最旧的一组,也就是说,应用先进先出(first-in-first-out,FIFO)规则来更新候选列表。为了避免重复,只有在对应的图片不使用GALF时域预测时才将一组添加至该列表。为了支持时域缩放性,有各滤波器组的多个候选列表,并且每一候选列表与时域层相关联。更具体地,由时域层索引(TempIdx)分配的每一阵列可以由具有等于更低TempIdx的先前解码图片的滤波器组构成。例如,第k阵列被分配为与等于k的TempIdx相关联,并且其仅含有来自具有小于或者等于k的TempIdx的图片的滤波器组。在对某一图片解码之后,与该图片相关联的滤波器组将用于更新那些与等于或更高TempIdx相关联的阵列。
将GALF系数的时域预测用于帧间编解码帧,从而使信令开销最小化。对于帧内帧而言,时域预测不可用,并且将一组16个固定滤波器分配给每一种类。为了指示固定滤波器的使用,信令通知每一种类的标志,并且在需要的情况下信令通知所选的固定滤波器的索引。即使在为给定种类选择了固定滤波器时,仍然可以为这一种类发送自适应滤波器的系数f(k,l),在这种情况下,将对重建图像应用的滤波器的系数是两组系数之和。
可以在CU级上控制亮度分量的滤波处理。信令通知标志以指示是否对CU的亮度分量应用GALF。对于色度分量,仅在图片级上指示是否应用GALF。
2.6.1.4滤波处理
在解码器侧,在对块启用GALF时,对该块内的每一样点R(i,j)滤波,从而得到如下所示的样点值R′(i,j),其中,L表示滤波器长度,fm,n表示滤波器系数,并且f(k,l)表示解码后的滤波器系数。
图11示出了在假定当前样点的坐标(i,j)为(0,0)的情况下用于5×5菱形滤波器支持的相对坐标的示例。填充有相同颜色、在不同坐标的样点乘以相同滤波器系数。
2.7基于几何变换的自适应环路滤波器(GALF)
2.7.1示例性GALF
在一些实施例中,如下执行自适应环路滤波器的滤波处理:
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中,将整数算术用于固定点精度计算被实施:
其中,L表示滤波器长度,并且其中,w(i,j)是按照固定点精度的滤波器系数。
VVC中的GALF的当前设计具有下述主要改变:
(1)去除了自适应滤波器形状。对于亮度分量只允许7×7滤波器形状,并且对于色度分量只允许5×5滤波器形状。
(2)从条带/图片级到CTU级去除了ALF参数的信令通知。
(3)在4×4级上而非2×2级上执行种类索引的计算。此外,在一些实施例中,利用用于ALF分类的子采样拉普拉斯算子计算方法。更具体地,对于一个块内的每一样点,没有必要计算水平/垂直/45度对角线/135度对角线梯度。相反,利用1:2子采样。
图12A-图12D示出了用于CE2.6.2的子采样拉普拉斯算子计算。图12A示出了针对垂直梯度的子采样位置,图12A-图12D示出了针对水平梯度的子采样位置,图12C示出了针对对角线梯度的子采样位置,图12D示出了针对对角线梯度的子采样位置。
2.8非线性ALF
2.8.1滤波重构(reformulation)
可以在没有编解码效率影响的情况下,按照以下表达式对方程(11)进行重构:
O(x,y)=I(x,y)+∑(i,j)≠(0,0)w(i,j).(I(x+i,y+j)-I(x,y)), (13)
其中,w(i,j)是与方程(11)中相同的滤波器系数[除了w(0,0),其在方程(13)中等于1,而在方程(11)中等于1-∑(i,j)≠(0,0)w(i,j)]。
在使用这一以上滤波器公式(13)的情况下,当邻居样点值(I(x+i,y+j))与正在接受滤波的当前样点值(I(x,y))太过不同时,VVC引入非线性,通过使用简单的裁剪函数来降低邻居样点值的影响而使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)。
在一些实施例中,针对每一ALF滤波器指定裁剪参数k(i,j),每滤波器系数信令通知一个裁剪值。这意味着,每一亮度滤波器在比特流中可以信令通知多达12个裁剪值,并且针对色度滤波器信令通知多达6个裁剪值。
为了限制信令通知成本和编码器复杂度,只采用4个对于帧间条带和帧内条带都相同的固定值。
由于局部差值的变化对于亮度而言往往比对于色度要高,因而应用针对亮度滤波器和色度滤波器的两个不同集合。还引入了每一集合中的最大样点值(这里对于10比特的深度而言,为1024),从而在没有必要的情况下可以禁用裁剪。
在表5中提供了在一些实施例中使用的裁剪值的集合。这4个值是通过在对数域内大致均等地划分亮度的样点值(编解码到10个比特上)的全范围以及色度的从4到1024的范围而选出的。
更确切地来讲,通过下述公式获得了裁剪值亮度表:
类似地,根据下述公式获得裁剪值色度表:
表5:授权裁剪值
通过使用与上面表5中的裁剪值的索引相对应的哥伦布(Golomb)编码方案将所选的裁剪值编解码到“alf_data”语法元素中。这一编码方案与针对滤波器索引的编码方案相同。
2.9虚拟边界
在硬件和嵌入软件当中,基于图片的处理实际上是不可接受的,原因在于它的高图片缓存要求。使用片上图片缓存是非常昂贵的,并且使用片外图片缓存将显著增加外部存储器访问、功耗和数据访问延迟。因此,在实际产品中对DF、SAO和ALF做出从基于图片的解码到基于LCU的解码的改变。在将基于LCU的处理用于DF、SAO和ALF时,可以在利用用于多个LCU的并行处理的LCU流水线方式的光栅扫描当中逐LCU完成整个解码过程。在这种情况下,需要用于DF、SAO和ALF的线缓存,因为对一个LCU行的处理需要来自上方LCU行的像素。如果使用片外线缓存(例如,DRAM),将提高外部存储器带宽和功耗;如果使用片上线缓存(例如,SRAM),将增大芯片面积。因此,尽管线缓存已经比图片缓存小得多,但是仍然期望减小线缓存。
在一些实施例中,如图13所示,对于亮度分量而言,所需的线缓存的总数为11.25条线。对线缓存需求的解释如下:不能执行对与CTU边缘重叠的水平边缘的去方块,因为决策和滤波需要来自第一CTU的线K、L、M、N以及来自底部CTU的线O、P。因此,将对与CTU边缘重叠的水平边缘的去方块一直推迟到下方CTU到来。因此,对于线K、L、M、N,必须将重建亮度样点存储到线缓存内(4条线)。之后,可以对线A直到J执行SAO滤波。可以对线J进行SAO滤波,因为去方块不改变线K中的样点。对于线K的SAO滤波,仅将边缘偏移分类决策存储到线缓存内(其为0.25条亮度线)。可以仅对线A-F执行ALF滤波。如图13中所示,对每一4×4块执行ALF分类。每一4×4块分类需要尺寸8×8的活动性窗口,其又需要9×9窗口来计算1d拉普拉斯算子,以确定梯度。
因此,对于与线G、H、I、J重叠的4×4块的块分类,需要虚拟边界以下的SAO滤波样点。此外,对于ALF分类需要线D、E、F的SAO滤波样点。此外,线G的ALF滤波需要来自上方线的三条SAO滤波线D、E、F。因此,总的线缓存需求如下:
-线K-N(水平DF像素):4条线
-线D-J(SAO滤波像素):7条线
-线J和线K之间的SAO边缘偏移分类器值:0.25条线
因此,所需的亮度线的总数为7+4+0.25=11.25。
类似地,图14示出了色度分量的线缓存需求。估计出色度分量的线缓存需求为6.25条线。
为了消除SAO和ALF的线缓存需求,在最新的VVC中引入了虚拟边界(virtualboundary,VB)的概念。如图13所示,VB是上移N个像素的水平LCU边界。对于每一LCU,SAO和ALF能够在下方LCU到来之前处理VB上方的像素,但是在下方LCU到来之前不能处理VB以下的像素,这是由DF导致的。考虑到硬件实施成本,将所提出的VB与水平LCU边界之间的空间设置成对于亮度为4个像素(例如,图13中的N=4),以及对于色度为两个像素(例如,图9中的N=2)。
2.9.1在VB尺寸N为4时经修改的ALF块分类
图15A-图15B描绘了在虚拟边界为CTU边界以上4条线(N=4)时的情况下的经修改的块分类。如图15A中所示,对于从线G处开始的4×4块,块分类仅使用线E直到J。然而,针对属于线J的样点的拉普拉斯算子梯度计算需要下面的再一条线(线K)。因此,以线J填充线K。
类似地,如图15B中所示,对于从线K处开始的4×4块,块分类仅使用线K直到P。然而,针对属于线K的样点的拉普拉斯算子梯度计算需要上面的再一条线(线J)。因此,以线K填充线J。
2.9.2对于跨越虚拟边界的样点的双侧填充
如图16A-图16C中所示,将滤波器的截断版本(truncated version)用于对属于接近虚拟边界的线的亮度样点的滤波。以图16A为例,在对如图13所表示的线M滤波时,例如,在7x7菱形支持的中心样点处于线M内时,需要访问VB(通过粗线表示)以上的一条线。在这种情况下,从VB以下的正下方样点复制出VB以上的样点,例如,将实现中的P0样点复制到上方虚线位置。对称地,将实线中的P3样点复制到正下方虚线位置,即使该位置的样点是可用的。所复制的样点仅用于亮度滤波处理。
可以将用于ALF虚拟边界的填充方法表示为“双侧填充”,其中,如果填充了位于(i,j)处的一个样点(例如,图16B中的具有虚线的P0A),那么还填充位于(m,n)处的共享相同滤波器系数的对应样点(例如,图16B中的具有虚线的P3B),即使该样点是可用的,如图16A-图16C以及图17A-图17B中所描绘的。在图16A-图16C中,7×7菱形滤波器支持,中心是待滤波的当前样点。图16A示出了需要填充的处于VB以上/以下的一条所需线。图16B示出了需要填充的处于VB以上/以下的2条所需线。图16C示出了需要填充的处于VB以上/以下的3条所需线。
类似地,如图17A-图17B中所示,双侧填充方法还用于色度ALF滤波。图17A-图17B示出了虚拟边界处的经修改的色度ALF滤波(5×5菱形滤波器支持,中心是待滤波的当前样点)。图17A示出了需要填充的处于VB以上/以下的1条所需线。图17B示出了需要填充的处于VB以上/以下的2条所需线。
2.9.3在禁用非线性ALF时双侧填充的实施方式的替换方法
在对CTB禁用非线性ALF时,例如,在方程(14)中的裁剪参数k(i,j)等于(1<<Bitdepth)时,可以通过修改滤波器系数(又名基于经修改的系数的ALF,即MALF(modified-coeff based ALF))代替填充过程。例如,在对线L/I中的样点滤波时,将滤波器系数c5修改为c5’,在这种情况下,不必将亮度样点从实线P0A复制到虚线P0A以及从实线P3B复制到虚线P3B。在这种情况下,假设待滤波的当前样点位于(x,y)处,双侧填充与MALF将生成相同的结果。
c5.K(I(x-1,y-1)-I(x,y),k(-1,-1))+c1.K(I(x-1,y-2)-I(x,y),k(-1,-2))
=(c5+c1).K(I(x-1,y-1)-I(x,y),k(-1,-1)) (17)
因为K(d,b)=d,并且由于填充,I(x-1,y-1)=I(x-1,y-2)。
然而,在启用非线性ALF时,MALF和双侧填充可能生成不同的滤波结果,因为非线性参数与每一系数相关联,诸如对于滤波器系数c5和c1,裁剪参数是不同的。因此,
c5.K(I(x-1,y-1)-I(x,y),k(-1,-1))+c1.K(I(x-1,y-2)-I(x,y),k(-1,-2))
!=(c5+c1).K(I(x-1,y-1)-I(x,y),k(-1,-1)) (18)
因为K(d,b)!=d,即使由于填充,I(x-1,y-1)=I(x-1,y-2)。
2.10关于ALF滤波的规范
通过粗斜体下划线文本指示了新添加部分。使用[[]]指示删除部分。
7.3.2.4图片参数集RBSP语法
/>
/>
/>
/>
等于1规定可以在参考PPS的图片中跨越图块边界执行环路滤波操作。loop_filter_across_bricks_enabled_flag等于0规定在参考PPS的图片中不跨越图块边界执行环路滤波操作。环路滤波操作包括去方块滤波器操作、样点自适应偏移滤波器操作和自适应环路滤波器操作。当不存在时,将loop_filter_across_bricks_enabled_flag的值推断为等于1。
等于1规定在参考PPS的图片中可以跨越条带边界执行环路滤波操作。loop_filter_across_slice_enabled_flag等于0规定在参考PPS的图片中不跨越条带边界执行环路滤波操作。环路滤波操作包括去方块滤波器操作、样点自适应偏移滤波器操作和自适应环路滤波器操作。当不存在时,将loop_filter_across_slices_enabled_flag的值推断为等于0。
等于1规定在参考PPS的图片中禁用跨越虚拟边界的环路滤波操作。pps_loop_filter_across_virtual_boundaries_disabled_flag等于0规定在参考PPS的图片中不应用这样的对环路滤波操作的禁用。环路滤波操作包括去方块滤波器操作、样点自适应偏移滤波器操作和自适应环路滤波器操作。当不存在时,将pps_loop_filter_across_virtual_boundaries_disabled_flag的值推断为等于0。
规定该PPS中存在的pps_virtual_boundaries_pos_x[i]语法元素的数量。在pps_num_ver_virtual_boundaries不存在时,推断其等于0。
8.8.5.2针对亮度样点的编解码树块滤波处理
这一过程的输入为:
–自适应环路滤波处理之前的重建亮度图片样点阵列recPictureL
–经滤波的重建亮度图片样点阵列alfPictureL
–相对于当前图片的左上样点指定当前亮度编解码树块的左上样点的亮度位置(xCtb,yCtb)。
这一过程的输出是修改后的经滤波的重建亮度图片样点阵列alfPictureL
在以位置(xCtb,yCtb)和重建亮度图片样点阵列recPictureL作为输入,并且以filtIdx[x][y]和transposeIdx[x][y](其中,x,y=0..CtbSizeY-1)作为输出的情况下调用条款8.8.5.3中的滤波器索引的推导过程。
对于经滤波的重建亮度样点alfPictureL[x][y]的推导而言,在x,y=0..CtbSizeY-1的情况下,如下对当前亮度编解码树块内的每一重建亮度样点recPictureL[x][y]滤波:
–在j=0..11的情况下,如下推导亮度滤波器系数的阵列f[j]和对应于由filtIdx[x][y]指定的滤波器的亮度裁剪值的阵列c[j]:
–如果
AlfCtbFiltSetIdxY[xCtb>>Log2CtbSize][yCtb>>Log2CtbSize]小于16,那么以下内容适用:
i=AlfCtbFiltSetIdxY[xCtb>>Log2CtbSize][yCtb>>Log2CtbSize] (8-1172)
f[j]=AlfFixFiltCoeff[AlfClassToFiltMap[i][filtidx]][j] (8-1173)
c[j]=2BitdepthY (8-1174)
–否则
(AlfCtbFiltSetIdxY[xCtb>>Log2CtbSize][yCtb>>Log2CtbSize]大于或者等于16),那么以下内容适用:
i=slice_alf_aps_id_luma[AlfCtbFiltSetIdxY[xCtb>>Log2CtbSize][yCtb>>Log2CtbSize]-16] (8-1175)
f[j]=AlfCoeffL[i][filtIdx[x][y]][j] (8-1176)
c[j]=AlfClipL[i][filtIdx[x][y]][j] (8-1177)
–如下依据transposeIdx[x][y]推导亮度滤波器系数和裁剪值索引idx:
–如果transposeIndex[x][y]等于1,那么以下内容适用:
idx[]={9,4,10,8,1,5,11,7,3,0,2,6} (8-1178)
–否则,如果transposeIndex[x][y]等于2,那么以下内容适用:
idx[]={0,3,2,1,8,7,6,5,4,9,10,11} (8-1179)
–否则,如果transposeIndex[x][y]等于3,那么以下内容适用:
idx[]={9,8,10,4,3,7,11,5,1,0,2,6} (8-1180)
–否则,以下内容适用:
idx[]={0,1,2,3,4,5,6,7,8,9,10,11} (8-1181)
–如下推导处于给定的亮度样点阵列recPicture内的对应亮度样点(x,y)中的每者的位置(hx+i,vy+j),其中,i,j=-3..3:
–如果pps_loop_filter_across_virtual_boundaries_disabled_flag等于1,并且对于任何n=0..pps_num_ver_virtual_boundaries-1,xCtb+x-PpsVirtualBoundariesPosX[n]大于或者等于0并且小于3,那么以下内容适用:
hx+i=Clip3(PpsVirtualBoundariesPosX[n],pic_width_in_luma_samples-1,xCtb+x+i) (8-1182)
–否则,如果pps_loop_filter_across_virtual_boundaries_disabled_flag等于1,并且对于任何n=0..pps_num_ver_virtual_boundaries-1,PpsVirtualBoundariesPosX[n]-xCtb-x大于0并且小于4,那么以下内容适用:
hx+i=Clip3(0,PpsVirtualBoundariesPosX[n]-1,xCtb+x+i)
(8-1183)
–否则,以下内容适用:
hx+i=Clip3(0,pic_width_in_luma_samples-1,xCtb+x+i)
(8-1184)
–如果pps_loop_filter_across_virtual_boundaries_disabled_flag等于1,并且对于任何n=0..pps_num_hor_virtual_boundaries-1,yCtb+y-PpsVirtualBoundariesPosY[n]大于或者等于0并且小于3,那么以下内容适用:
vy+j=Clip3(PpsVirtualBoundariesPosY[n],pic_height_in_luma_samples-1,yCtb+y+j) (8-1185)
–否则,如果pps_loop_filter_across_virtual_boundaries_disabled_flag等于1,并且对于任何n=0..pps_num_hor_virtual_boundaries-1,PpsVirtualBoundariesPosY[n]-yCtb-y大于0并且小于4,那么以下内容适用:
vy+j=Clip3(0,PpsVirtualBoundariesPosY[n]-1,yCtb+y+j)(8-1186)
–否则,以下内容适用:
vy+j=Clip3(0,pic_height_in_luma_samples-1,yCtb+y+j)(8-1187)
–根据水平亮度样点位置y和applyVirtualBoundary在表8-22中规定了重建样点偏移r1、r2和r3。
–如下推导变量curr:
curr=recPictureL[hx,vy] (8-1188)
–如下推导变量sum:
sum=curr+((sum+64)>>7) (8-1190)
–如下推导修改后的经滤波重建亮度图片样点alfPictureL[xCtb+x][yCtb+y]:
–如果pcm_loop_filter_disabled_flag和pcm_flag[xCtb+x][yCtb+y]两者均等于1,那么以下内容适用:
alfPictureL[xCtb+x][yCtb+y]=recPictureL[hx,vy] (8-1191)
–否则(pcm_loop_filter_disabled_flag等于0或者pcm_flag[x][y]等于0),那么以下内容适用:
alfPictureL[xCtb+x][yCtb+y]=Clip3(0,(1<<BitDepthY)-1,sum)
(8-1192)
表8-22–根据水平亮度样点位置y和applyVirtualBoundary的r1、r2和r3的规范
8.8.5.4针对色度样点的编解码树块滤波处理
这一过程的输入为:
–自适应环路滤波处理之前的重建色度图片样点阵列recPicture,
–经滤波的重建色度图片样点阵列alfPicture,
–相对于当前图片的左上样点指定当前色度编解码树块的左上样点的色度位置(xCtbC,yCtbC)。
这一过程的输出是修改后的经滤波重建色度图片样点阵列alfPicture。
如下推导当前色度编解码树块的宽度ctbWidthC和高度ctbHeightC:
ctbWidthC=CtbSizeY/SubWidthC (8-1230)
ctbHeightC=CtbSizeY/SubHeightC (8-1231)
对于经滤波的重建色度样点alfPicture[x][y]的推导而言,在x=0..ctbWidthC-1,y=0..ctbHeightC-1的情况下,如下对当前色度编解码树块内的每一重建色度样点recPicture[x][y]滤波:
–在i,j=-2..2的情况下,如下推导处于给定的色度样点阵列recPicture内的对应色度样点(x,y)中的每者的位置(hx+i,vy+j):
–如果pps_loop_filter_across_virtual_boundaries_disabled_flag等于1,并且对于任何n=0..pps_num_ver_virtual_boundaries-1,xCtbC+x-PpsVirtualBoundariesPosX[n]/SubWidthC大于或者等于0并且小于2,那么以下内容适用:
hx+i=Clip3(PpsVirtualBoundariesPosX[n]/SubWidthC, (8-1232)
pic_width_in_luma_samples/SubWidthC-1,xCtbC+x+i)
–否则,如果pps_loop_filter_across_virtual_boundaries_disabled_flag等于1,并且对于任何n=0..pps_num_ver_virtual_boundaries-1,PpsVirtualBoundariesPosX[n]/SubWidthC-xCtbC-x大于0并且小于3,
那么以下内容适用:
hx+i=Clip3(0,PpsVirtualBoundariesPosX[n]/SubWidthC-1,xCtbC+x+i)(8-1233)
–否则,以下内容适用:
hx+i=Clip3(0,pic_width_in_luma_samples/SubWidthC-1,xCtbC+x+i) (8-1234)
–如果pps_loop_filter_across_virtual_boundaries_disabled_flag等于1,并且对于任何n=0..pps_num_hor_virtual_boundaries-1,yCtbC+y-PpsVirtualBoundariesPosY[n]/SubHeightC大于或者等于0并且小于2,那么以下内容适用:
vy+j=Clip3(PpsVirtualBoundariesPosY[n]/SubHeightC, (8-1235)pic_height_in_luma_samples/SubHeightC-1,yCtbC+y+j)
–否则,如果pps_loop_filter_across_virtual_boundaries_disabled_flag等于1,并且对于任何n=0..pps_num_hor_virtual_boundaries-1,PpsVirtualBoundariesPosY[n]/SubHeightC-yCtbC-y大于0并且小于3,那么以下内容适用:
vy+j=Clip3(0,PpsVirtualBoundariesPosY[n]/SubHeightC-1,yCtbC+y+j)(8-1236)
–否则,以下内容适用:
vy+j=Clip3(0,pic_height_in_luma_samples/SubHeightC-1,yCtbC+y+j)(8-1237)
–如下推导变量applyVirtualBoundary:
–根据水平亮度样点位置y和applyVirtualBoundary在表8-22中规定了重建样点偏移r1和r2。
–如下推导变量curr:
curr=recPicture[hx,vy] (8-1238)
–在j=0..5的情况下,如下推导色度滤波器系数的阵列f[j]和色度裁剪值的阵列c[j]:
f[j]=AlfCoeffC[slice_alf_aps_id_chroma][j]
(8-1239)
c[j]=AlfClipC[slice_alf_aps_id_chroma][j]
(8-1240)
–如下推导变量sum:
sum=curr+(sum+64)>>7) (8-1242)
–如下推导修改后的经滤波重建色度图片样点alfPicture[xCtbC+x][yCtbC+y]:
–如果pcm_loop_filter_disabled_flag和pcm_flag[(xCtbC+x)*SubWidthC][(yCtbC+y)*SubHeightC]两者均等于1,那么以下内容适用:
alfPicture[xCtbC+x][yCtbC+y]=recPictureL[hx,vy] (8-1243)
–否则(pcm_loop_filter_disabled_flag等于0或者pcm_flag[x][y]等于0),那
么以下内容适用:
alfPicture[xCtbC+x][yCtbC+y]=Clip3(0,(1<<BitDepthC)–1,sum) (8-1244)
2.11 CTU处理的示例
根据当前VVC设计,如果一个CTB的底部边界是条带/图块的底部边界,那么禁用ALF虚拟边界操纵方法。例如,如图19所示,将一个图片划分成多个CTU和2个条带。
假定CTU尺寸为M×M(例如,M=64),根据虚拟边界定义,将CTB内的最后4条线视为处于虚拟边界以下。在硬件实施方式中,以下内容适用:
-如果CTB的底部边界是图片的底部边界(例如,CTU-D),那么处理包括来自上方CTU行的4条线和当前CTU中的所有线的(M+4)×M块。
-否则,如果CTB的底部边界是条带(或图块)的底部边界(例如,CTU-C)并且loop_filter_across_slice_enabled_flag(或loop_filter_across_bricks_enabled_flag)等于0,那么处理包括来自上方CTU行的4条线和当前CTU内的所有线的(M+4)×M块。
-否则,如果CTU/CTB处于条带/图块/片中的第一CTU行内(例如,CTU-A),那么处理排除最后4条线的M×(M-4)块。
-否则,如果CTU/CTB不处于条带/图块/片的第一CTU行内(例如,CTU-B)并且不处于条带/图块/片的最后一CTU行内,那么处理包括来自上方CTU行的4条线并且排除当前CTU中的最后4条线的M×M块。
图19示出了处理图片中的CTU的示例。
2.12 360度视频编解码
VTM5中的水平环绕运动补偿是一种被设计为提高具有等距柱状(equi-rectangular,ERP)投影格式的重建360度视频的视觉质量的360特异性(specific)编解码工具。在常规运动补偿当中,在运动矢量引用超越了参考图片的图片边界的样点时,应用重复填充,从而通过从那些处于对应图片边界上的最近邻居进行复制而推导出界外样点。对于360度视频而言,这种重复填充法不合适,而且可能在重建视口视频中引起被称为“接缝伪像”的视觉伪像。由于360度视频是在球面上采集的,而且固有地不存在“边界”,因而总是能够从球面域中的相邻样点获得在投影域中处于参考图片的边界之外的参考样点。对于一般投影格式而言,可能难以推导出球面域中的对应相邻样点,因为其涉及2D到3D以及3D到2D坐标转换以及针对分数样点位置的样点插值。对于ERP投影格式的左边界和右边界,这一问题则简单得多,因为可以从右图片边界内的样点获得左图片边界外的球面邻居,反之亦然。
图20示出了VVC中的水平环绕运动补偿的示例。
当参考块的部分处于参考图片在投影域中的左(或右)边界之外时,不采用重复填充,而是从属于该参考图片的朝向投影域中的右(或左)边界的对应球面邻居获得“界外”部分。/> 如图20中所示,可以使水平环绕运动补偿与360度视频编解码中常用的非规范性填充方法相结合。在VVC中,这一点是通过信令通知高级别语法元素实现的,信令通知高级别语法元素以指示在填充之前应当被设置为ERP图片宽度的环绕偏移。这一语法用于相应地调整水平环绕的位置。这一语法不受左图片边界和右图片边界上的具体填充量影响,因此自然支持ERP图片的非对称填充,例如,在左填充和右填充不同时。当参考样点处于参考图片的左边界和右边界外时,水平环绕运动补偿提供了更有意义的用于运动补偿的信息。
对于由多个小面(face)构成的投影格式而言,不管使用什么种类的紧凑帧封装布置,都会在帧封装图片内的两个或更多毗邻小面之间出现不连续性。例如,在考虑图24中所示的3×2帧封装配置的情况下,上半部分中的三个小面在3D几何结构上是连续的,下半部分中的三个小面在3D几何结构上是连续的,但是该帧封装图片的上半部分和下半部分在3D几何结构上是不连续的。如果跨越这一不连续性执行环路滤波操作,那么小面缝隙伪像将在重建后的视频中变得可见。
为了缓解小面缝隙伪像,可以禁用跨越帧封装图片中的不连续性的环路滤波操作。提出过一种语法,用以信令通知禁用跨越其进行环路滤波操作的垂直和/或水平虚拟边界。与使用两个片,一个片用于每一组连续小面,并且用以禁用跨越片的环路滤波操作相比,所提出的信令通知方法更灵活,因为其不要求小面的尺寸是CTU尺寸的倍数。
2.13示例性的基于子图片的运动约束独立区域
在一些实施例中,包括下述特征:
1)可以将图片划分成子图片。
2)在SPS中指示存在子图片的指示,连同子图片的其他序列级信息。
3)可以通过比特流控制在解码过程(不包括环路滤波操作)中是否将子图片作为图片对待。
4)对于每一子图片,可以通过比特流控制是否禁用跨越子图片边界的环路滤波。对DBF、SAO和ALF处理更新,以用于控制跨越子图片边界的环路滤波操作。
5)为了简单起见,作为起点,在SPS的亮度样点的单元内信令通知子图片宽度、高度、水平偏移和垂直偏移。子图片边界被约束为条带边界。
6)通过略微更新coding_tree_unit()语法以及对下述解码过程的更新来规定在解码过程(不包括环路滤波操作)中将子图片作为图片对待:
o用于(高级)时域亮度运动矢量预测的推导过程
o亮度样点双线性插值过程
o亮度样点8抽头插值滤波处理
o色度样点差值过程
7)在SPS中显式指定子图片ID并且将其包含到片组标头内,从而在不需要改变VCLNAL单元的情况下使能子图片序列的提取。
提出了输出子图片集(output sub-picture set,OSPS),以指定子图片及其集合的规范性提取和一致性点。
3.由本文件中提供的解决方案所解决的技术问题
当前VVC设计具有下述问题:
1.当前的启用ALF虚拟边界的设置取决于CTB的底部边界是否是图片的底部边界。如果其为真,那么禁用ALF虚拟边界,例如,图19中的CTU-D。然而,CTB的底部边界有可能在图片的底部边界之外,例如,将256×240图片划分成4个128×128CTU,在这种情况下,对于具有处于底部图片边界之外的样点的最后2个CTU,ALF虚拟边界将被错误地设置为真。
2.对于底部图片边界和条带/片/图块边界,禁用用于操纵ALF虚拟边界的方式。禁用沿条带/图块边界的VB可能创建流水线气泡,或者在假定LCU尺寸为64×64的情况下每一虚拟流水线数据单元(VPDU,VVC中为64×64)需要处理68条线。例如:
a.对于不预先知道条带/图块/片边界的解码器而言(即,低延迟应用),需要恢复AFL线缓存。线缓存当中的内容是否用于ALF滤波取决于当前CTU是否还是条带/图块/片边界CTU,然而这一信息直到对下一条带/图块/片解码之前都是未知的。
b.对于预先知道条带/图块/片边界的解码器而言,解码器需要忍受流水线气泡(不太可能),或者在所有时间上都以每64×64VDPU处理68条线的速度运行ALF(过度供给),以避免使用ALF线缓存。
3.存在着不同的用于操纵虚拟边界和视频单元边界的方式,例如,不同的填充方法。与此同时,在一条线处于多条边界处时,可以对这条线执行不止一种填充方法。
a.在一个示例中,如果块的底部边界为360度虚拟边界,并且还对这一块应用ALF虚拟边界,那么在这种情况下,可以首先应用针对360度虚拟边界的填充方法,以生成处于360度虚拟边界以下的虚拟样点。之后,将位于360度虚拟边界以下的这些虚拟样点作为可用的来对待。而且可以根据图16A-C进一步应用ALF 2-侧填充方法。在图25中示出了示例。
4.用于操纵虚拟边界的方式可能是次佳的,因为采用了可能不太有效率的填充样点。
5.在禁用非线性ALF时,MALF和双侧填充方法将能够对需要访问跨越虚拟边界的样点的样点滤波生成相同结果。然而,在禁用非线性ALF时,两种方法将带来不同结果。使这两种情况一致将是有利的。
6.条带可以是矩形条带或非矩形条带,例如,图28中所示的。在这种情况下,对于CTU而言,其可以不与任何边界(例如,图片/条带/片/图块)对齐。然而,其可能需要访问当前条带之外的样点。如果禁用跨越条带边界的滤波(例如,loop_filter_across_slices_enabled_flag为假),那么如何执行ALF分类和滤波处理是未知的。
4.技术和实施例的示例
下文的列举应被视为解释一般概念的示例。不应狭义地解释所列举的技术。此外,这些技术可以按照任何方式相结合。
可以将用于ALF虚拟边界的填充方法表示为“双侧填充”,其中,如果填充了位于(i,j)处的一个样点,那么还填充位于(m,n)处的共享相同滤波器系数的对应样点,即使该样点是可用的,如图12A-13中所描绘的。
可以将用于图片边界/360度视频虚拟边界、正常边界(例如,顶部和底部边界)的填充方法表示为“单侧填充”,其中,如果待使用的一个样点处于边界之外,那么从图片内的一个可用样点对其复制。
可以将用于360度视频左边界和右边界的填充方法表示为“基于环绕的填充”,其中,如果待使用的一个样点处于边界之外,那么使用运动补偿后的结果对其进行复制。
在下文的讨论当中,“处于视频单元的边界处”的样点可以意味着该样点与视频单元的边界之间的距离小于或者不大于阈值。“线”可以是指处于同一水平位置上的样点或者处于同一垂直位置上的样点。(例如,处于同一行内的样点和/或处于同一列内的样点)。如下定义函数Abs(x):
在下文的讨论当中,“虚拟样点”是指可以不同于重建样点(可以通过去方块和/或SAO处理)的生成样点。可以采用虚拟样点对另一样点施行ALF。虚拟样点可以是通过填充生成的。
“对一个块启用AFL虚拟边界操纵方法”可以指示该规范中的被设置为真。“启用虚拟边界”可以指示通过虚拟边界将当前块划分成至少两个部分,并且不允许位于一个部分内的样点在滤波处理(例如,ALF)中利用另一个部分内的样点。虚拟边界可以是一个块的底部边界上方K行。
在下文的描述中,相邻样点可以是进行滤波器分类和/或滤波处理所需的那些样点。
在本公开中,如果相邻样点处于当前图片或当前子图片或当前片或当前条带或当前图块或当前CTU或当前处理单元(诸如ALF处理单元或窄ALF处理单元)或任何其他当前视频单元外,那么该相邻样点是“不可用的”。
1.以“当前编解码树块的底部边界是图片的底部边界或者处于该图片之外”代替对“当前编解码树块的底部边界是该图片的底部边界”的确定。
a.替代性地,此外,在这种情况下,可以禁用ALF虚拟边界操纵方法。
2.在环路滤波处理中是否启用对虚拟样点的使用(例如,是否启用虚拟边界(例如,将设置为真或假))可以取决于CTB尺寸。
a.在一个示例中,对于给定CTU/CTB尺寸,例如,对于等于K×L(例如,K=L=4)的CTU/CTB尺寸,总是将设置为假。
b.在一个示例中,对于不大于或者小于K×L(例如,K=L=8)的某些CTU/CTB尺寸,总是将设置为假。
c.替代性地,对某些CTU/CTB(例如,4×4、8×8)禁用ALF。
3.在环路滤波处理(例如,ALF)中是否启用对虚拟样点(例如,从重建样点填充的)的使用可以取决于该块的底部边界是否是与图片相比具有更细粒度的视频单元(例如,条带、片/图块)的底部边界或虚拟边界。
a.在一个示例中,如果编解码树块(CTB)的底部边界是视频单元的边界或虚拟边界,那么可以对该CTB启用ALF虚拟边界操纵方法(例如,将设置为真)。
i.替代性地,此外,如果底部边界不是底部图片边界,或者如果底部边界处于该图片之外,那么启用上面的方法。
b.在当前编解码树块的底部边界是图片的底部虚拟边界之一,并且pps_loop_filter_across_virtual_boundaries_disabled_flag等于1时,仍然可以启用ALF虚拟边界操纵方法(例如,将设置为真)。
c.在一个示例中,是否对CTB启用ALF虚拟边界操纵方法(例如,的值)可以仅取决于CTB的底部边界与图片的底部边界之间的关系。
i.在一个示例中,仅当CTB的底部边界是包含该CTB的图片的底部边界或者当CTB的底部边界处于图片之外时才将设置为假。
ii.在一个示例中,在CTB的底部边界不是包含该CTB的图片的底部边界时,将设置为真。
d.在一个示例中,在对图18A-18B中的CTU-C解码时,可以采用来自CTU上方的K条线并且排除虚拟边界下方的K条线,对M×M个样点滤波。
4.提出了,即使信令通知的用于跨越图块/条带边界的环路滤波器的控制使用标志(例如, )为真时,也在滤波处理(例如,ALF)中禁用对跨越图块/条带边界的样点的使用。
a.替代性地,此外,信令通知的 可以仅控制排除ALF在外的去方块滤波器和SAO的滤波处理。
b.在一个示例中,可以使用虚拟样点而非在对应位置处的重建样点来施行对另一样点的ALF。
5.当一个块(例如,CTB)包含位于视频单元的边界(诸如条带/图块/片/360度视频虚拟或正常边界/图片边界)处的样点时,可以针对不同种类的边界统一如何为环路滤波(例如,ALF)生成视频单元内或视频单元外的虚拟样点(例如,填充方法)。
a.替代性地,此外,可以对该块应用虚拟边界法(例如,双侧填充法)来操纵边界处的样点,以用于环路滤波。
b.替代性地,此外,在该块含有位于该视频单元的底部边界处的样点时,可以应用上面的方法。
c.在一个示例中,在对一个块的K条线解码时,如果这K条线位于该块的虚拟边界以下(例如,图17A-17B的CTU-B中的最后K条线),并且该块的底部边界是视频单元的底部边界,那么可以在ALF分类/滤波处理中生成虚拟样点,以避免使用处于这K条线之外的其他样点,例如,可以应用双侧填充方法。
i.替代性地,可以对这最后的K条线禁用ALF。
d.在一个示例中,在一个块处于多条边界处时,可以将用于AFL分类的像素/样点局限于不跨越这些多条边界中的任何边界。
i.在一个示例中,对于样点,如果它的某一相邻样点是“不可用的”(例如,跨越该多条边界中的任何边界),那么可以不对该样点计算单独的或者所有种类的梯度/方向性。
1.在一个示例中,可以将样点的梯度作为零对待。
2.在一个示例中,可以将样点的梯度作为“不可用”对待,并且可以不将其加到在ALF分类处理中推导的活动性(例如,章节2.6.1.1的方程(8)中定义的)上。
ii.在一个示例中,当只有AFL分类处理中使用的部分样点是“可用的”(例如,未跨越这些边界中的任何边界)时,可以对在ALF分类处理中推导的活动性/方向性按因数缩放。
iii.在一个示例中,对于边界块而言,假定需要对AFL分类处理中的N个样点计算梯度/方向性,并且只能对M个样点计算梯度(例如,如果样点的某一相邻样点不是“可用的”,则不能对该样点计算梯度),那么该活动性可以乘以N/M。
1.替代性地,可以使其乘以取决于N/M的因数。例如,该数值可以是MN(N为整数),例如,M=2。
e.在一个示例中,当一条线处于多条边界处时(例如,该线与边界之间的距离小于阈值),那么仅执行一次填充过程,而不管该条线可以属于多少条边界。
i.替代性地,此外,必须填充多少条相邻线可以取决于当前线相对于所有边界的位置。
ii.例如,必须填充多少条相邻线可以由当前线与两条边界之间的距离决定,例如,在当前线处于两条边界内,其中,两条边界处于上方和下方时。
iii.例如,必须填充多少条相邻线可以由当前线与最近边界之间的距离决定,例如,在当前线处于两条边界内,其中,两条边界处于上方和下方时。
iv.例如,可以独立地针对每条边界计算必须填充多少条相邻线,并且将最大数值选作最终填充线数量。
v.在一个示例中,可以针对该条线的每一侧(例如,上侧和下侧)决定必须填充多少条相邻线。
vi.在一个示例中,对于双侧填充方法,可以针对两侧联合决定必须填充多少条相邻线。
vii.替代性地,此外,应用由ALF使用的双侧填充方法。
f.在一个示例中,当一条线处于多条边界处并且在该线的每一侧(例如,上侧和下侧)有至少一条边界时,可以对该线禁用ALF。
g.在一个示例中,在当前线所需的填充线的数量大于阈值时,可以对当前线禁用ALF。
i.在一个示例中,当任何一侧的填充线的数量大于阈值时,可以对当前线禁用ALF。
ii.在一个示例中,当两侧的填充线的总数大于阈值时,可以对当前线禁用ALF。
h.替代性地,此外,在该块含有位于该视频单元的底部边界处的样点并且对该块启用环路滤波(例如,ALF)时,可以应用上面的方法。
i.替代性地,此外,可以在某些条件下,例如,在该块含有位于视频单元的底部边界处的样点并且不允许跨越边界的滤波(例如, 为真)时,可以应用上面的方法。
j.所提出的方法还可适用于位于垂直边界处的样点/块。
6.当样点属于一个块的至少两条边界(例如,处于当前线上方的至少一条是ALF虚拟边界,并且处于下方的是另一条边界)时,要填充多少条线不完全由当前线相对于该ALF虚拟边界的距离决定。相反,其由当前线相对于这两条边界之间的距离决定。
a.在一个示例中,将每侧填充的线的数量设置为(M–min(D0,D1))。
b.在一个示例中,将每侧填充的线的数量设置为(M–max(D0,D1))。
c.对于以上示例,D0、D1表示当前线与上方/下方边界之间的距离。
d.对于以上示例,M表示ALF虚拟边界与一个CTU的底部相距的线的数量。
7.可以定义至少两种在ALF分类和/或ALF线性或非线性滤波处理中选择样点的方式,其中,这些方式中的一种在应用环路滤波方法之前选择样点;并且另一种在应用一种或多种环路滤波方法之后但是在应用ALF之前选择样点。
a.在一个示例中,不同方式的选择可以取决于待滤波的样点的位置。
b.在一个示例中,处于视频单元(例如,CTB)的底部边界处的样点在被用于针对另一样点的ALF中时,利用第一方法被选择。否则(其不处于该边界处),选用第二种方法。
8.提出了在滤波处理中禁用对跨越VPDU边界(例如,64×64区域)的样点的使用。
a.在一个示例中,当ALF分类处理所需的样点处于VPDU边界之外或者处于虚拟边界下方时,可以采用虚拟样点替代该样点,或者可以从与其他样点(例如,从可用样点填充的)相关联的分类结果复制出该样点的分类结果。
b.在一个示例中,当滤波处理所需的样点处于VPDU边界之外或者处于虚拟边界下方时,可以由虚拟样点(例如,从可用样点填充的)替代该样点。
c.在一个示例中,如果块含有处于VPDU的边界处的样点,那么可以对该块启用ALF虚拟边界操纵方法(例如,将applyVirtualBoundary设置为真)。
d.替代性地,可以在滤波处理中禁用对跨越水平VPDU边界的样点的使用。
i.在一个示例中,当滤波处理所需的样点处于水平VPDU边界下方,或者处于虚拟边界下方时,可以由虚拟样点(例如,从可用样点填充的)替代该样点。
e.替代性地,在滤波处理中可以禁用对跨越垂直VPDU边界的样点的使用。
i.在一个示例中,当滤波处理所需的样点处于垂直VPDU边界之外或者处于虚拟边界下方时,可以由虚拟样点(例如,从可用样点填充的)替代该样点。
9.作为在ALF分类/滤波处理中使用填充样点(例如,非不可用,处于虚拟边界以上/以下,处于视频单元的边界以上/以下)的替代,提出了使用在所有环路滤波器之前的重建样点。
a.替代性地,此外,通过从在所有环路滤波器之前的重建样点填充样点来应用双侧填充的概念。
i.在一个示例中,如果滤波器支持中的样点来自在所有环路滤波器之前的重建样点,那么该滤波器支持中的对称样点(例如,围绕原点对称,例如,该原点为当前样点)也必须使用在所有环路滤波器之前的重建样点。
1.假定待滤波的当前样点的坐标为(0,0),并且位于(i,j)处的样点是所有环路滤波器之前的重建样点,那么位于(-i,-j)处的样点是所有环路滤波器之前的重建样点。
2.假定待滤波的当前样点的坐标为(x,y)并且位于(x+i,y+j)处的样点是所有环路滤波器之前的重建样点,那么位于(x–i,y–j)处的样点是所有环路滤波器之前的重建样点。
b.替代性地,此外,在启用环路整形(In-loop reshaping)(又名LMCS)时,所有环路滤波器之前的重建样点是那些从整形域转换的原始域中的重建样点。
10.作为在ALF滤波处理中使用填充样点(例如,非不可用,处于虚拟边界以上/以下,处于视频单元的边界以上/以下)的替代,提出了采用不同的ALF滤波器支持。
a.在一个示例中,假定在以上方法中需要对样点进行填充,那么将与该样点相关联的滤波器系数设置为零,而不是执行填充。
i.在这种情况下,通过排除需要填充的样点修改滤波器支持。
ii.替代性地,此外,使得应用于除了当前样点之外的其他样点的滤波器系数保持不变,然而,可以修改应用于当前样点的滤波器系数,例如,((1<<C_BD)-应用于不需要填充的样点的所有滤波器系数之和),其中,C_BD指示滤波器系数的比特深度。
1.以图18A-18B为例,在对线L和I滤波时,将应用于当前样点的滤波器系数c12修改为((1<<C_BD)–2*(c4+c5+c6+c7+c8+c9+c10+c11))。
b.在一个示例中,假定在以上方法中样点(x1,y1)是从(x2,y2)填充的,那么不管启用还是禁用非线性滤波器,将与(x1,y1)相关联的滤波器系数加到与位置(x2,y2)相关联的滤波器系数上,而不是执行填充。
i.替代性地,此外,可以即时推导(x2,y2)的裁剪参数。
1.在一个示例中,可以将其设置为等于(x2,y2)的解码裁剪参数。
2.替代性地,可以将其设置为以(x1,y1)和(x2,y2)的解码裁剪参数为输入的函数的返回值,例如,较大值或较小值。
11.对裁剪参数/滤波器系数/滤波器支持的选择可以取决于对样点的滤波是否需要访问填充样点(例如,非不可用,处于虚拟边界以上/以下,处于视频单元的边界以上/以下)。
a.在一个示例中,可以将不同裁剪参数/滤波器系数/滤波器支持用于具有同一种类索引的样点,但是它们当中的一些需要访问填充样点,但另一些不需要。
b.在一个示例中,可以在CTU/区域/条带/片级内信令通知用于对需要访问填充样点的样点滤波的裁剪参数/滤波器系数/滤波器支持。
c.在一个示例中,可以由用于对不需要访问填充样点的样点滤波的裁剪参数/滤波器系数/滤波器支持推导出用于对需要访问填充样点的样点滤波的裁剪参数/滤波器系数/滤波器支持。
i.在一个示例中,可以应用项目符号9a或9b。
12.如何操纵边界处的样点以用于环路滤波(例如,ALF)可以取决于颜色分量和/或颜色格式。
a.例如,“边界处”的定义对于不同颜色分量可以是不同的。在一个示例中,如果亮度样点与底部边界之间的距离小于T1,那么该亮度样点处于该底部边界处;如果色度样点与底部边界之间的距离小于T2,那么该色度样点处于该底部边界处。T1和T2可以是不同的。
i.在一个示例中,在颜色格式不是4:4:4时,T1和T2可以是不同的。
13.在一个CTU/VPDU的底部/顶部/左/右边界还是具有独立编解码的条带/片/图块/子区域的边界时,应用固定顺序的多个填充过程。
a.在一个示例中,在第一步骤中,首先应用条带/片/图块填充方法(例如,一侧填充)。之后,在第二步骤期间,进一步应用用于操纵ALF虚拟边界的填充方法(例如,双侧填充方法)。在这种情况下,将第一步骤之后的填充样点标记为可用,并且可以采用其决定在ALF虚拟边界过程中要填充多少条线。采用用于操纵不位于那些边界处的CTU的相同规则(例如,图16A-C)。
14.可以将所提出的方法应用于两个子图片之间的一条或多条边界。
a.应用所提出的方法的边界可以是水平边界。
b.应用所提出的方法的边界可以是垂直边界。
15.上文提出的方法可以应用于垂直边界处的样点/块。
16.是否或/和如何在“360虚拟边界”处应用所提出的方法可以取决于“360虚拟边界”的位置。
a.在一个示例中,当“360虚拟边界”与CTU边界对齐时,可以应用所提出的方法。例如,可以在ALF中对“360虚拟边界”处的样点仅应用双侧填充。
b.在一个示例中,当“360虚拟边界”与CTU边界不对齐时,可以不应用所提出的方法。例如,可以在ALF中对“360虚拟边界”处的样点仅应用单侧填充。
c.在一个示例中,对于多条边界处的样点(其中,至少一条边界是“360虚拟边界”,并且“360虚拟边界”中的至少一条不与CTU边界对齐),那么可以不应用所提出的方法。
i.例如,可以通过单侧填充来填充跨越这些多条边界中的任何边界的样点。
1.替代性地,此外,如果有“虚拟边界”,那么在单侧填充之后在ALF中可以应用双侧填充。
d.在一个示例中,对于位于两种边界之间的样点,如果两种边界中的一种为“360虚拟边界”并且另一种不是,那么在ALF处理中仅调用一次填充。
i.在一个示例中,可以调用用于操纵ALF虚拟边界的填充方法(例如,双侧填充方法)。
1.替代性地,可以调用用于操纵图片(或条带/片/图块/子图片)边界的填充方法(例如,单侧填充)。
ii.替代性地,可以按顺序应用两种或多种填充过程。
1.在一个示例中,可以首先应用用于操纵图片(或条带/片/图块/子图片)边界的填充方法(例如,单侧填充),而后可以进一步调用用于操纵ALF虚拟边界的填充方法(例如,双侧填充方法)。
a.替代性地,此外,在第二填充过程中将第一填充之后的填充样点作为可用对待。
iii.在一个示例中,对于位于两种或更多种边界(例如,条带边界/片边界/图块边界/360虚拟边界/ALF虚拟边界/子图片边界)之间的样点,如果这些边界中只有一条为“360虚拟边界”(如图24中所示,例如,第一边界为“360虚拟边界”,并且第二边界为“ALF虚拟边界”或者条带/图块/片边界/子图片边界;或反之),那么可以应用所提出的方法。例如,在ALF当中可以对这些样点仅应用双侧填充。
1.替代性地,如果这些多种边界是“360虚拟边界”,或者是图片边界,那么可以不应用所提出的方法。例如,在ALF中可以对这些样点仅应用单侧填充。
e.在一个示例中,对于位于两种或更多种边界之间的样点,如果这些边界中的至少一条是“360虚拟边界”,并且其不与CTU边界对齐,那么可以不应用所提出的方法。
i.在这种情况下,可以将其作为现有技术对待,从而仅操纵“360虚拟边界”处的样点,而不操纵在其他种类的边界处的样点。
ii.在一个示例中,在ALF中可以对这些样点仅应用单侧填充。
f.在一个示例中,对于位于两种或更多种边界之间的样点,如果这些边界中的至少一条是“360虚拟边界”,那么可以不应用所提出的方法。
i.在这种情况下,可以将其作为现有技术对待,从而仅操纵“360虚拟边界”处的样点,而不操纵其他种类的边界处的样点。
ii.在一个示例中,在ALF中可以对这些样点仅应用单侧填充。
17.当ALF滤波处理或/和ALF分类处理中所需的参考样点(例如,在对当前样点P0滤波时图16C中的P0i,其中,i为A/B/C/D)“不可用”时(例如,原因在于该样点位于与当前样点不同的视频单元(例如,条带/图块/片/子图片)内,并且不允许使用跨越视频单元(例如,条带/图块/片/子图片)的样点滤波),那么可以采用“可用”样点(例如,处于与当前样点相同的条带/图块/片/子图片内的样点)填充“不可用”样点。
a.在一个示例中,可以首先将“不可用”参考样点裁剪至其最近“可用”水平位置,之后,在必要情况下将“不可用”参考样点裁剪至其最近“可用”垂直位置。
b.在一个示例中,可以首先将“不可用”参考样点裁剪至其最近“可用”垂直位置,之后,在必要情况下将“不可用”样点裁剪至其最近“可用”水平位置。
c.在一个示例中,将“不可用”参考样点的坐标裁剪至其在水平方向上的最近“可用”样点的坐标(例如,最小距离)。
i.在一个示例中,对于具有坐标(x1,y1)和(x2,y2)的两个样点,可以将它们之间的水平距离计算为Abs(x1–x2)。
d.在一个示例中,将“不可用”参考样点的坐标裁剪至其在垂直方向内的最近“可用”样点的坐标(例如,最小距离)。
i.在一个示例中,对于具有坐标(x1,y1)和(x2,y2)的两个样点,可以将它们之间的垂直距离计算为Abs(y1–y2)。
e.在一个示例中,将“不可用”样点裁剪至其最近“可用”样点(例如,最小距离)。
i.在一个示例中,对于具有坐标(x1,y1)和(x2,y2)的两个样点,可以将它们之间的距离计算为(x1–x2)*(x1–x2)+(y1–y2)*(y1–y2)。
ii.替代性地,可以将这两个像素之间的距离计算为Abs(x1–x2)+Abs(y1–y2)。
f.替代性地,对当前样点禁用滤波处理。
g.替代性地,可以不允许ALF中的分类处理(例如,针对当前样点的梯度计算)使用不可用的参考样点。
18.如何推导不可用参考样点的填充样点可以取决于CTU是否与任何边界对齐。
a.在一个示例中,在当前CTU不与任何种类的边界对齐,但是当前样点的滤波处理(例如,ALF分类/ALF滤波处理)需要访问不同视频单元(例如,条带)内的参考样点时,可以应用项目符号16中描述的方法。
i.替代性地,此外,在当前CTU不与任何种类的边界对齐,但是当前样点的滤波处理(例如,ALF分类/ALF滤波处理)需要访问不同视频单元(例如,条带)内的参考样点并且不允许跨越条带边界的滤波时,可以应用项目符号16中描述的方法。
ii.替代性地,此外,在当前CTU不与任何种类的边界对齐,但是当前样点的滤波处理(例如,ALF分类/ALF滤波处理)需要访问不同视频单元(例如,条带)内的参考样点和相同视频单元内的参考样点并且不允许跨越条带边界的滤波时,可以应用项目符号16中描述的方法。
b.在一个示例中,在当前CTU与至少一种边界对齐时,可以应用统一填充方法(例如,双侧或单侧填充)。
i.替代性地,在当前CTU与多种边界对齐并且不允许跨越这些边界的滤波时,可以应用统一填充方法(例如,双侧或单侧填充)。c.在一个示例中,仅不能通过双侧填充或/和单侧填充来填充的“不可用”样点可以使用项目符号16中描述的方法来填充。
5.实施例
在下文的章节中,描述了可以如何对VVC标准的当前版本加以修改,以适应本公开的技术的一些实施例。通过粗斜体下划线文本指示了新添加部分。使用[[]]指示删除部分。
5.1实施例#1
等于1规定可以在参考PPS的图片中跨越图块边界执行环路滤波操作。loop_filter_across_bricks_enabled_flag等于0规定在参考该PPS的图片中不跨越图块边界执行环路滤波操作。环路滤波操作包括去方块滤波器操作、样点自适应偏移滤波器操作[[,和自适应环路滤波器操作]]。当不存在时,将loop_filter_across_bricks_enabled_flag的值推断为等于1。
等于1规定在参考该PPS的图片中可以跨越条带边界执行环路滤波操作。loop_filter_across_slice_enabled_flag等于0规定在参考该PPS的图片中不跨越条带边界执行环路滤波操作。环路滤波操作包括去方块滤波器操作、样点自适应偏移滤波器操作[[和自适应环路滤波器操作]]。当不存在时,将loop_filter_across_slices_enabled_flag的值推断为等于0。
5.2实施例#2
图21示出了图片中的CTU的处理。采用虚线突出显示与图19相比的差异。
5.3实施例#3
8.8.5.2针对亮度样点的编解码树块滤波处理
这一过程的输入为:
–自适应环路滤波处理之前的重建亮度图片样点阵列recPictureL
–经滤波的重建亮度图片样点阵列alfPictureL
–相对于当前图片的左上样点指定当前亮度编解码树块的左上样点的亮度位置(xCtb,yCtb)。
这一过程的输出是修改后的经滤波重建亮度图片样点阵列alfPictureL
在以位置(xCtb,yCtb)和重建亮度图片样点阵列recPictureL作为输入,并且以filtIdx[x][y]和transposeIdx[x][y](其中,x,y=0..CtbSizeY-1)作为输出的情况下调用条款8.8.5.3中的滤波器索引的推导过程。
对于经滤波的重建亮度样点alfPictureL[x][y]的推导而言,在x,y=0..CtbSizeY-1的情况下,如下对当前亮度编解码树块内的每一重建亮度样点recPictureL[x][y]滤波:
–在j=0..11的情况下,如下推导亮度滤波器系数的阵列f[j]和对应于由filtIdx[x][y]指定的滤波器的亮度裁剪值的阵列c[j]:
–…
–如下依据transposeIdx[x][y]推导亮度滤波器系数和裁剪值索引idx:
–…
–如下推导处于给定的亮度样点阵列recPicture内的对应亮度样点(x,y)中的每者的位置(hx+i,vy+j),其中,i,j=-3..3:
–…
–如下推导变量applyVirtualBoundary:
–如果下述条件[[中的一者或多者]]为真,那么将applyVirtualBoundary设置为等于0:
–当前编解码树块的底部边界是图片的底部边界。
[[–当前编解码树块的底部边界是图块的底部边界,并且loop_filter_across_bricks_enabled_flag等于0。
–当前编解码树块的底部边界是条带的底部边界,并且loop_filter_across_slices_enabled_flag等于0。
–当前编解码树块的底部边界是图片的底部虚拟边界之一,并且pps_loop_filter_across_virtual_boundaries_disabled_flag等于1。]]
–否则将applyVirtualBoundary设置为等于1。
–根据水平亮度样点位置y和applyVirtualBoundary在表8-22中规定了重
建样点偏移r1、r2和r3。
–…
8.8.5.4针对色度样点的编解码树块滤波处理
这一过程的输入为:
–在自适应环路滤波处理之前的重建色度图片样点阵列recPicture,
–经滤波的重建色度图片样点阵列alfPicture,
–相对于当前图片的左上样点指定当前色度编解码树块的左上样点的色度位置(xCtbC,yCtbC)。
这一过程的输出是修改后的经滤波重建色度图片样点阵列alfPicture。
如下推导当前色度编解码树块的宽度ctbWidthC和高度ctbHeightC:
ctbWidthC=CtbSizeY/SubWidthC (8-1230)
ctbHeightC=CtbSizeY/SubHeightC (8-1231)
对于经滤波的重建色度样点alfPicture[x][y]的推导而言,在x=0..ctbWidthC-1,y=0..ctbHeightC-1的情况下,如下对当前色度编解码树块内的每一重建色度样点recPicture[x][y]滤波:
–如下推导处于给定的色度样点阵列recPicture内的对应色度样点(x,y)(其中,i,j=-2..2)中的每者的位置(hx+i,vy+j):
–如果pps_loop_filter_across_virtual_boundaries_disabled_flag等于1,并且对于任何n=0..pps_num_ver_virtual_boundaries-1,xCtbC+x-PpsVirtualBoundariesPosX[n]/SubWidthC大于或者等于0并且小于2,那么以下内容适用:
hx+i=Clip3(PpsVirtualBoundariesPosX[n]/SubWidthC,(8-1232)
pic_width_in_luma_samples/SubWidthC-1,xCtbC+x+i)
–否则,如果pps_loop_filter_across_virtual_boundaries_disabled_flag等于1,并且对于任何n=0..pps_num_ver_virtual_boundaries-1,PpsVirtualBoundariesPosX[n]/SubWidthC-xCtbC-x大于0并且小于3,那么以下内容适用:
hx+i=Clip3(0,PpsVirtualBoundariesPosX[n]/SubWidthC-1,xCtbC+x+i)(8-1233)
–否则,以下内容适用:
hx+i=Clip3(0,pic_width_in_luma_samples/SubWidthC-1,xCtbC+x+i) (8-1234)
–如果pps_loop_filter_across_virtual_boundaries_disabled_flag等于1,并且对于任何n=0..pps_num_hor_virtual_boundaries-1,yCtbC+y-PpsVirtualBoundariesPosY[n]/SubHeightC大于或者等于0并且小于2,那么以下内容适用:
vy+j=Clip3(PpsVirtualBoundariesPosY[n]/SubHeightC, (8-1235)pic_height_in_luma_samples/SubHeightC-1,yCtbC+y+j)
–否则,如果pps_loop_filter_across_virtual_boundaries_disabled_flag等于1,并且对于任何n=0..pps_num_hor_virtual_boundaries-1,PpsVirtualBoundariesPosY[n]/SubHeightC-yCtbC-y大于0并且小于3,那么以下内容适用:
vy+j=Clip3(0,PpsVirtualBoundariesPosY[n]/SubHeightC-1,yCtbC+y+j)(8-1236)
–否则,以下内容适用:
vy+j=Clip3(0,pic_height_in_luma_samples/SubHeightC-1,yCtbC+y+j)(8-1237)
–如下推导变量applyVirtualBoundary:
–如果下述条件[[中的一者或多者]]为真,那么将applyVirtualBoundary设置为等于0:
–当前编解码树块的底部边界是图片的底部边界。
–[[当前编解码树块的底部边界是图块的底部边界,并且loop_filter_across_bricks_enabled_flag等于0。
–当前编解码树块的底部边界是条带的底部边界,并且loop_filter_across_slices_enabled_flag等于0。
–当前编解码树块的底部边界是图片的底部虚拟边界之一,并且pps_loop_filter_across_virtual_boundaries_disabled_flag等于1。]]
–否则,将applyVirtualBoundary设置为等于1。
–根据水平亮度样点位置y和applyVirtualBoundary在表8-22中规定了重建样点偏移r1和r2。
替代性地,可以由“当前编解码树块的底部边界是图片的底部边界或者处于图片外”代替条件“当前编解码树块的底部边界是该图片的底部边界”。
5.4实施例#4
这一实施例示出了在ALF分类处理中不允许使用VPDU区域以下的样点的示例(对应于章节4中的项目符号7)。
8.8.5.3用于亮度样点的ALF转置(transpose)和滤波器索引的推导过程
这一过程的输入为:
–相对于当前图片的左上样点指定当前亮度编解码树块的左上样点的亮度位置(xCtb,yCtb),
–在自适应环路滤波处理之前的重建亮度图片样点阵列recPictureL
这一过程的输出为
–分类滤波器索引阵列filtIdx[x][y],其中,x,y=0..CtbSizeY-1,
–转置索引阵列transposeIdx[x][y],其中,x,y=0..CtbSizeY-1。
如下推导处于给定的亮度样点阵列recPicture内的对应亮度样点(x,y)(其中,i,j=-2..5)中的每者的位置(hx+i,vy+j):
–如果pps_loop_filter_across_virtual_boundaries_disabled_flag等于1,并且对于任何n=0..pps_num_ver_virtual_boundaries-1,xCtb+x-PpsVirtualBoundariesPosX[n]大于或者等于0并且小于2,那么以下内容适用:
hx+i=Clip3(PpsVirtualBoundariesPosX[n],pic_width_in_luma_samples-1,xCtb+x+i)(8-1193)
–否则,如果pps_loop_filter_across_virtual_boundaries_disabled_flag等于1,并且对于任何n=0..pps_num_ver_virtual_boundaries-1,PpsVirtualBoundariesPosX[n]-xCtb-x大于0并且小于6,那么以下内容适用:
hx+i=Clip3(0,PpsVirtualBoundariesPosX[n]-1,xCtb+x+i)(8-1194)
–否则,以下内容适用:
hx+i=Clip3(0,pic_width_in_luma_samples-1,xCtb+x+i) (8-1195)
–如果pps_loop_filter_across_virtual_boundaries_disabled_flag等于1,并且对于任何n=0..pps_num_hor_virtual_boundaries-1,yCtb+y-PpsVirtualBoundariesPosY[n]大于或者等于0并且小于2,那么以下内容适用:
vy+j=Clip3(PpsVirtualBoundariesPosY[n],pic_height_in_luma_samples-1,yCtb+y+j) (8-1196)
–否则,如果pps_loop_filter_across_virtual_boundaries_disabled_flag等于1,并且对于任何n=0..pps_num_hor_virtual_boundaries-1,PpsVirtualBoundariesPosY[n]-yCtb-y大于0并且小于6,那么以下内容适用:
vy+j=Clip3(0,PpsVirtualBoundariesPosY[n]-1,yCtb+y+j)
(8-1197)
–否则,以下内容适用:
–如果yCtb+CtbSizeY大于或等于pic_height_in_luma_samples,那么以下内容适用:
vy+j=Clip3(0,pic_height_in_luma_samples-1,yCtb+y+j)(8-1198)
–否则,如果y小于CtbSizeY-4,那么以下内容适用:
vy+j=Clip3(0,yCtb+CtbSizeY-5,yCtb+y+j) (8-1199)
–否则,以下内容适用:
vy+j=Clip3(yCtb+CtbSizeY-4,
pic_height_in_luma_samples-1,yCtb+y+j) (8-1200)
通过以下有序步骤推导分类滤波器索引阵列filtIdx和转置索引阵列transposeIdx:
1.如下推导变量filtH[x][y]、filtV[x][y]、filtD0[x][y]和filtD1[x][y],
其中,x,y=-2..CtbSizeY+1:
–如果x和y两者都是偶数,或者x和y两者都是奇数,那么以下内容适用:
filtH[x][y]=Abs((recPicture[hx,vy]<<1)-recPicture[hx-1,vy]-recPicture[hx+1,vy])(8-1201)
filtV[x][y]=Abs((recPicture[hx,vy]<<1)-recPicture[hx,vy-1]-recPicture[hx,vy+1]) (8-1202)
filtD0[x][y]=Abs((recPicture[hx,vy]<<1)-recPicture[hx-1,vy-1]-recPicture[hx+1,vy+1]) (8-1203)
filtD1[x][y]=Abs((recPicture[hx,vy]<<1)-recPicture[hx+1,vy-1]-recPicture[hx-1,vy+1]) (8-1204)
–否则,将filtH[x][y]、filtV[x][y]、filtD0[x][y]和filtD1[x][y]设置为等于0。
2.如下推导变量minY、maxY和ac:
–如果(y<<2)等于[[(CtbSizeY-8)]],并且(yCtb+CtbSizeY)小于pic_height_in_luma_samples–1,那么将minY设置为等于-2,将maxY设置为等于3,并且将ac设置为等于96。
–否则,如果(y<<2)等于[[(CtbSizeY-4)]],并且(yCtb+CtbSizeY)小于pic_height_in_luma_samples–1,那么将minY设置为等于0,将maxY设置为等于5,并且将ac设置为等于96。
–否则,将minY设置为等于-2,将maxY设置为等于5,并且将ac设置为等于64。
3.如下推导变量varTempH1[x][y]、varTempV1[x][y]、varTempD01[x][y]、varTempD11[x][y]和varTemp[x][y],其中,x,y=0..(CtbSizeY-1)>>2:
sumH[x][y]=∑ij filtH[h(x<<2)+i-xCtb][v(y<<2)+j-yCtb]with i=-2..5,j=minY..maxY (8-1205)
sumV[x][y]=∑ij filtV[h(x<<2)+i-xCtb][v(y<<2)+j-yCtb]with i=-2..5,j=minY..maxY (8-1206)
sumD0[x][y]=∑ij filtD0[h(x<<2)+i-xCtb][v(y<<2)+j-yCtb]with i=-2..5,j=minY..maxY (8-1207)
sumD1[x][y]=∑ij filtD1[h(x<<2)+i-xCtb][v(y<<2)+j-yCtb]with i=-2..5,j=minY..maxY (8-1208)
sumOfHV[x][y]=sumH[x][y]+sumV[x][y] (8-1209)
4.如下推导变量dir1[x][y]、dir2[x][y]和dirS[x][y],其中,x,y=0..CtbSizeY-1:
–如下推导变量hv1、hv0和dirHV:
–如下推导变量d1、d0和dirD:
5.如下推导变量avgVar[x][y],其中,x,y=0..CtbSizeY-1:
varTab[]={0,1,2,2,2,2,2,3,3,3,3,3,3,3,3,4} (8-1227)
avgVar[x][y]=varTab[Clip3(0,15,(sumOfHV[x>>2][y>>2]*ac)>>(3+BitDepthY))] (8-1228)
6.如下推导分类滤波器索引阵列filtIdx[x][y]和转置索引阵列transposeIdx[x][y],其中,x=y=0..CtbSizeY-1:
transposeTable[]={0,1,0,2,2,3,1,3}
transposeIdx[x][y]=transposeTable[dir1[x][y]*2+(dir2[x][y]>>1)]
filtIdx[x][y]=avgVar[x][y]
在dirS[x][y]不等于0时,如下修改filtIdx[x][y]:
filtIdx[x][y]+=(((dir1[x][y]&0x1)<<1)+dirS[x][y])*5
(8-1229)
5.5实施例#5
对于位于多个种类的边界(例如,条带/图块边界、360度虚拟边界)处的样点,仅调用一次填充过程。而且,每侧要填充多少条线取决于当前样点相对于边界的位置。
在一个示例中,应用ALF双侧填充方法。替代性地,此外,在对称双侧填充方法中,当样点处于两条边界处时(例如,一条边界处于上侧,一条边界处于下侧),通过较近边界决定填充多少个样点,如图27中所示。与此同时,在推导分类信息时,仅采用图27中的两条边界之间的4条线。
图26示出了在4条线的样点属于两条边界的情况下的填充方法的示例。在一个示例中,图26中的第一边界可以是ALF虚拟边界;图25中的第二边界可以是条带/片/图块边界或者360度虚拟边界。
5.6实施例#6
8.8.5.2针对亮度样点的编解码树块滤波处理
这一过程的输入为:
–在自适应环路滤波处理之前的重建亮度图片样点阵列recPictureL
–经滤波的重建亮度图片样点阵列alfPictureL
–相对于当前图片的左上样点指定当前亮度编解码树块的左上样点的亮度位置(xCtb,yCtb)。
这一过程的输出是修改后的经滤波重建亮度图片样点阵列alfPictureL
在以位置(xCtb,yCtb)和重建亮度图片样点阵列recPictureL作为输入,并且以filtIdx[x][y]和transposeIdx[x][y](其中,x,y=0..CtbSizeY-1)作为输出的情况下调用条款8.8.5.3中的滤波器索引的推导过程。
–如下推导处于给定的亮度样点阵列recPicture内的对应亮度样点(x,y)中的每者的位置(hx+i,vy+j),其中,i,j=-3..3:
–如果pps_loop_filter_across_virtual_boundaries_disabled_flag等于1,并且对于任何n=0..pps_num_ver_virtual_boundaries-1,xCtb+x-PpsVirtualBoundariesPosX[n]大于或者等于0并且小于3,那么以下内容适用:
hx+i=Clip3(PpsVirtualBoundariesPosX[n],pic_width_in_luma_samples-1,xCtb+x+i) (8-1197)
–否则,如果pps_loop_filter_across_virtual_boundaries_disabled_flag等于1,并且对于任何n=0..pps_num_ver_virtual_boundaries-1,PpsVirtualBoundariesPosX[n]-xCtb-x大于0并且小于4,那么以下内容适用:
hx+i=Clip3(0,PpsVirtualBoundariesPosX[n]-1,xCtb+x+i)
(8-1198)
–否则,以下内容适用:
hx+i=Clip3(0,pic_width_in_luma_samples-1,xCtb+x+i)
(8-1199)
–[[如果pps_loop_filter_across_virtual_boundaries_disabled_flag等于1,并且对于任何n=0..pps_num_hor_virtual_boundaries-1,yCtb+y-PpsVirtualBoundariesPosY[n]大于或者等于0并且小于3,那么以下内容适用:
vy+j=Clip3(PpsVirtualBoundariesPosY[n],pic_height_in_luma_samples-1,yCtb+y+j) (8-1200)
–否则,如果pps_loop_filter_across_virtual_boundaries_disabled_flag等于1,并且对于任何n=0..pps_num_hor_virtual_boundaries-1,PpsVirtualBoundariesPosY[n]-yCtb-y大于0并且小于4,那么以下内容适用:
vy+j=Clip3(0,PpsVirtualBoundariesPosY[n]-1,yCtb+y+j)
(8-1201)]]
–[[否则,]]以下内容适用:
vy+j=Clip3(0,pic_height_in_luma_samples-1,yCtb+y+j)
(8-1202)
–[[如下推导变量applyVirtualBoundary:
–如果下述条件中的一者或多者为真,那么将applyVirtualBoundary设置为等于0:
–当前编解码树块的底部边界是图片的底部边界。
–当前编解码树块的底部边界是图块的底部边界,并且loop_filter_across_bricks_enabled_flag等于0。
–当前编解码树块的底部边界是条带的底部边界,并且loop_filter_across_slices_enabled_flag等于0。
–当前编解码树块的底部边界是图片的底部虚拟边界之一,并且pps_loop_filter_across_virtual_boundaries_disabled_flag等于1。
–否则,将applyVirtualBoundary设置为等于1。]]
表8-24-根据水平亮度样点位置y以及[[applyVirtualBoundary]]boundaryPos1 和boundaryPos2的r1、r2和r3的规范
8.8.5.3用于亮度样点的ALF转置和滤波器索引的推导过程
这一过程的输入为:
–相对于当前图片的左上样点指定当前亮度编解码树块的左上样点的亮度位置(xCtb,yCtb),
–自适应环路滤波处理之前的重建亮度图片样点阵列recPictureL
这一过程的输出为
–分类滤波器索引阵列filtIdx[x][y],其中,x,y=0..CtbSizeY-1,
–转置索引阵列transposeIdx[x][y],其中,x,y=0..CtbSizeY-1。
如下推导处于给定的亮度样点阵列recPicture内的对应亮度样点(x,y)中的每者的位置(hx+i,vy+j),其中,i,j=-2..5:
–如果pps_loop_filter_across_virtual_boundaries_disabled_flag等于1,并且对于任何n=0..pps_num_ver_virtual_boundaries-1,xCtb+x-PpsVirtualBoundariesPosX[n]大于或者等于0并且小于2,那么以下内容适用:
hx+i=Clip3(PpsVirtualBoundariesPosX[n],pic_width_in_luma_samples-1,xCtb+x+i) (8-1208)
–否则,如果pps_loop_filter_across_virtual_boundaries_disabled_flag等于1,并且对于任何n=0..pps_num_ver_virtual_boundaries-1,PpsVirtualBoundariesPosX[n]-xCtb-x大于0并且小于6,那么以下内容适用:
hx+i=Clip3(0,PpsVirtualBoundariesPosX[n]-1,xCtb+x+i)
(8-1209)
–否则,以下内容适用:
hx+i=Clip3(0,pic_width_in_luma_samples-1,xCtb+x+i)
(8-1210)
–[[如果pps_loop_filter_across_virtual_boundaries_disabled_flag等于1,并且对于任何n=0..pps_num_hor_virtual_boundaries-1,yCtb+y-PpsVirtualBoundariesPosY[n]大于或者等于0并且小于2,那么以下内容适用:
vy+j=Clip3(PpsVirtualBoundariesPosY[n],pic_height_in_luma_samples-1,yCtb+y+j) (8-1211)
–否则,如果pps_loop_filter_across_virtual_boundaries_disabled_flag等于1,并且对于任何n=0..pps_num_hor_virtual_boundaries-1,PpsVirtualBoundariesPosY[n]-yCtb-y大于0并且小于6,那么以下内容适用:
vy+j=Clip3(0,PpsVirtualBoundariesPosY[n]-1,yCtb+y+j)
(8-1212)
–否则,以下内容适用:
–如果yCtb+CtbSizeY大于或等于pic_height_in_luma_samples,那么以下内容适用:
vy+j=Clip3(0,pic_height_in_luma_samples-1,yCtb+y+j)
(8-1213)
–否则,如果y小于CtbSizeY-4,那么以下内容适用:
vy+j=Clip3(0,yCtb+CtbSizeY-5,yCtb+y+j)(8-1214)
–否则,以下内容适用:
vy+j=Clip3(yCtb+CtbSizeY-4,
pic_height_in_luma_samples-1,yCtb+y+j) (8-1215)]]
/>
通过以下有序步骤推导分类滤波器索引阵列filtIdx和转置索引阵列transposeIdx:
1.如下推导变量filtH[x][y]、filtV[x][y]、filtD0[x][y]和filtD1[x][y],其中,x,y=-2..CtbSizeY+1:
–如果x和y两者都是偶数,或者x和y两者都是奇数,那么以下内容适用:
filtH[x][y]=Abs((recPicture[hx,vy]<<
1)-recPicture[hx-1,vy]-recPicture[hx+1,vy])(8-1216)
filtV[x][y]=Abs((recPicture[hx,vy]<<
1)-recPicture[hx,vy-1]-recPicture[hx,vy+1])(8-1217)
filtD0[x][y]=Abs((recPicture[hx,vy]<<
1)-recPicture[hx-1,vy-1]-recPicture[hx+1,vy+1])(8-1218)
filtD1[x][y]=Abs((recPicture[hx,vy]<<
1)-recPicture[hx+1,vy-1]-recPicture[hx-1,vy+1])(8-1219)
–否则,将filtH[x][y]、filtV[x][y]、filtD0[x][y]和filtD1[x][y]
设置为等于0。
2.如下推导变量minY、maxY和ac:
–如果(y<<2)等于(CtbSizeY-8),并且(yCtb+CtbSizeY)小于pic_height_in_luma_samples-1,那么将minY设置为等于-2,将maxY设置为等于3,并且将ac设置为等于96。
–否则,如果(y<<2)等于(CtbSizeY-4),并且(yCtb+CtbSizeY)
小于pic_height_in_luma_samples-1,那么将minY设置为等于0,将maxY设置为等于5,并且将ac设置为等于96。
/>
–[[否则,将minY设置为等于-2,将maxY设置为等于5,并且将ac设置为等于64。]]
3.如下推导变量sumH[x][y]、sumV[x][y]、sumD0[x][y]、sumD1[x][y]和sumOfHV[x][y],其中,x,y=0..(CtbSizeY-1)>>2:
sumH[x][y]=∑ij filtH[h(x<<2)+i-xCtb][v(y<<2)+j-yCtb],其中,i=-2..5,j=minY..maxY (8-1220)
sumV[x][y]=∑ij filtV[h(x<<2)+i-xCtb][v(y<<2)+j-yCtb],其中,i=-2..5,j=minY..maxY (8-1221)
sumD0[x][y]=∑ij filtD0[h(x<<2)+i-xCtb][v(y<<2)+j-yCtb],其中,i=-2..5,j=minY..maxY (8-1222)
sumD1[x][y]=∑i∑j filtD1[h(x<<2)+i-xCtb][v(y<<2)+j-yCtb],其中,i=-2..5,j=minY..maxY (8-1223)
sumOfHV[x][y]=sumH[x][y]+sumV[x][y] (8-1224)
8.8.5.4针对色度样点的编解码树块滤波处理
这一过程的输入为:
–自适应环路滤波处理之前的重建色度图片样点阵列recPicture,
–经滤波的重建色度图片样点阵列alfPicture,
–相对于当前图片的左上样点指定当前色度编解码树块的左上样点的色度位置(xCtbC,yCtbC)。
这一过程的输出是修改后的经滤波重建色度图片样点阵列alfPicture。
如下推导当前色度编解码树块的宽度ctbWidthC和高度ctbHeightC:
ctbWidthC=CtbSizeY/SubWidthC (8-1245)
ctbHeightC=CtbSizeY/SubHeightC (8-1246)
对于经滤波的重建色度样点alfPicture[x][y]的推导而言,在x=0..ctbWidthC-1,y=0..ctbHeightC-1的情况下,如下对当前色度编解码树块内的每一重建色度样点recPicture[x][y]滤波:
–如下推导处于给定的色度样点阵列recPicture内的对应色度样点(x,y)中的每者的位置(hx+i,vy+j),其中,i,j=-2..2:
–如果pps_loop_filter_across_virtual_boundaries_disabled_flag等于1,并且对于任何n=0..pps_num_ver_virtual_boundaries-1,xCtbC+x-PpsVirtualBoundariesPosX[n]/SubWidthC大于或者等于0并且小于2,那么以下内容适用:
hx+i=Clip3(PpsVirtualBoundariesPosX[n]/SubWidthC,(8-1247)
pic_width_in_luma_samples/SubWidthC-1,xCtbC+x+i)
–否则,如果pps_loop_filter_across_virtual_boundaries_disabled_flag等于1,并且对于任何n=0..pps_num_ver_virtual_boundaries-1,PpsVirtualBoundariesPosX[n]/SubWidthC-xCtbC-x大于0并且小于3,那么以下内容适用:
hx+i=Clip3(0,PpsVirtualBoundariesPosX[n]/SubWidthC-1,xCtbC+x+i)(8-1248)
–否则,以下内容适用:
hx+i=Clip3(0,pic_width_in_luma_samples/SubWidthC-1,xCtbC+x+i) (8-1249)
–[[如果pps_loop_filter_across_virtual_boundaries_disabled_flag等于1,并且对于任何n=0..pps_num_hor_virtual_boundaries-1,yCtbC+y-PpsVirtualBoundariesPosY[n]/SubHeightC大于或者等于0并且小于2,那么以下内容适用:
vy+j=Clip3(PpsVirtualBoundariesPosY[n]/SubHeightC,(8-1250)pic_height_in_luma_samples/SubHeightC-1,yCtbC+y+j)
–否则,如果pps_loop_filter_across_virtual_boundaries_disabled_flag等于1,并且对于任何n=0..pps_num_hor_virtual_boundaries-1,PpsVirtualBoundariesPosY[n]/SubHeightC-yCtbC-y大于0并且小于3,那么以下内容适用:
vy+j=Clip3(0,PpsVirtualBoundariesPosY[n]/SubHeightC-1,yCtbC+y+j)(8-1251)
–否则,]]以下内容适用:
vy+j=Clip3(0,pic_height_in_luma_samples/SubHeightC-1,yCtbC+y+j)(8-1252)
–[[如下推导变量applyVirtualBoundary:
–如果下述条件中的一者或多者为真,那么将applyVirtualBoundary设置为等于0:
–当前编解码树块的底部边界是图片的底部边界。
–当前编解码树块的底部边界是图块的底部边界,并且loop_filter_across_bricks_enabled_flag等于0。
–当前编解码树块的底部边界是条带的底部边界,并且loop_filter_across_slices_enabled_flag等于0。
–当前编解码树块的底部边界是图片的底部虚拟边界之一,并且pps_loop_filter_across_virtual_boundaries_disabled_flag等于1。
–否则,将applyVirtualBoundary设置为等于1。]]
–通过在yCtb等于yCtb并且y等于y的情况下调用8.8.5.5中规定的针对亮度样点的垂直边界位置推导过程来推导变量boundaryPos1和boundaryPos2。
–将变量boundaryPos1设置为等于boundaryPos1/SubWidthC。
–将变量boundaryPos2设置为等于boundaryPos2/SubWidthC。
–根据水平亮度样点位置y和applyVirtualBoundary在表8-24中规定了重建样点偏移r1和r2。
–如下推导变量curr:
curr=recPicture[hx,vy] (8-1253)
–在j=0..5的情况下如下推导色度滤波器系数的数组f[j]和色度裁剪值的数组c[j]:
f[j]=AlfCoeffC[slice_alf_aps_id_chroma][j] (8-1254)
c[j]=AlfClipC[slice_alf_aps_id_chroma][j] (8-1255)
–如下推导变量sum:
sum=curr+(sum+64)>>7) (8-1257)
–如下推导修改后的经滤波重建色度图片样点alfPicture[xCtbC+x][yCtbC+y]:
–如果pcm_loop_filter_disabled_flag和pcm_flag[(xCtbC+x)*SubWidthC][(yCtbC+y)*SubHeightC]两者均等于1,那么以下内容适用:
alfPicture[xCtbC+x][yCtbC+y]=recPictureL[hx,vy] (8-1258)
–否则(pcm_loop_filter_disabled_flag等于0或者pcm_flag[x][y]等于0),那么以下内容适用:
alfPicture[xCtbC+x][yCtbC+y]=Clip3(0,(1<<BitDepthC)-1,sum) (8-1259)
[[表8-25-根据水平亮度样点位置y和applyVirtualBoundary的r1和r2的规范]]
表8-25–根据水平亮度样点位置y以及boundaryPos1和boundaryPos2的r1和r2的 规范
8.8.5.5针对亮度样点的垂直边界位置推导过程
/>
/>
5.7实施例#7
对于CTU而言,其可以不与任何边界(例如,图片/条带/片/图块/子图片边界)对齐。然而,可能需要访问当前单元(图片/条带/片/图块/子图片)之外的样点。如果禁用跨越条带边界的滤波(例如,loop_filter_across_slices_enabled_flag为假),那么我们需要填充当前单元之外的样点。
例如,对于图28内的样点2801(以亮度样点为例),可以像图29中那样填充在ALF滤波处理中使用的样点。
图22是视频处理装置2200的框图。装置2200可以用于实施本文描述的方法中的一者或多者。装置2200可以被体现到智能手机、平板电脑、计算机、物联网(IoT)接收器等当中。装置2200可以包括一个或多个处理器2202、一个或多个存储器2204和视频处理硬件2206。(多个)处理器2202可以被配置为实施本文件中描述的一种或多种方法。(多个)存储器2204可以用于存储用于实施本文描述的方法和技术的数据和代码。视频处理硬件2206可以用于在硬件电路系统中实施本文件中描述的一些技术。在一些实施例中,视频处理硬件2206可以在处理器2202的内部(例如,图形处理单元)。
在一些实施例中,可以使用在结合图22描述的硬件平台上实施的装置来实施这些视频编解码方法。
图23是视频处理的示例性方法2300的流程图。该方法包括:为视频的当前视频块与当前视频块的比特流表示之间的转换,确定(2302)将在该转换期间使用的一个或多个插值滤波器,其中,该一个或多个插值滤波器来自用于该视频的多个插值滤波器;以及使用该一个或多个插值滤波器执行(2304)该转换。
将利用解决方案的列举进一步描述在本文件中描述的各种解决方案和实施例。
章节4中的项目1提供了以下解决方案的附加示例。
1.一种视频处理的方法,包括:执行视频图片的视频块与其比特流表示之间的转换,其中,使用编解码树块的逻辑分组处理视频块,其中,基于底部编解码树块的底部边界是否处于视频图片的底部边界之外来处理编解码树块。
2.根据解决方案1所述的方法,其中,处理编解码树块包括通过使用编解码树块内的样点来执行对编解码树块的样点值的自适应环路滤波。
3.根据解决方案1所述的方法,其中,处理编解码树块包括通过禁止根据虚拟边界将编解码树块划分成两个部分而执行对编解码树块的样点值的自适应环路滤波。
章节4中的项目2提供了以下解决方案的附加示例。
4.一种视频处理的方法,包括:在环路滤波期间,基于当前视频块的编解码树块的条件确定虚拟样点的使用状态;以及执行与虚拟样点的使用状态一致的该视频块与该视频块的比特流表示之间的转换。
5.根据解决方案4所述的方法,其中,使用状态的逻辑真值指示:通过虚拟边界将当前视频块划分成至少两个部分,并且不允许一个部分内的样点滤波使用来自另一部分的信息。
6.根据解决方案4所述的方法,其中,使用状态的逻辑真值指示在环路滤波期间使用虚拟样点,并且其中,使用当前视频块的重建样点的修改值执行环路滤波。
7.根据解决方案4所述的方法,其中,使用状态的逻辑假值指示允许该块内的样点滤波使用同一块内的信息。
8.根据解决方案4所述的方法,其中,使用状态的逻辑真值指示在不对当前视频块的重建样点进行另外修改的情况下对该重建样点执行环路滤波。
9.根据解决方案4-8中的任何解决方案所述的方法,其中,该条件规定由于编解码树块具有特定尺寸而将使用状态设置为逻辑假值。
10.根据解决方案4-8中的任何解决方案所述的方法,其中,该条件规定由于编解码树块具有大于特定尺寸的尺寸而将使用状态设置为逻辑假值。
11.根据解决方案4-8中的任何解决方案所述的方法,其中,树块具有小于特定尺寸的尺寸。
章节4中的项目3提供了以下解决方案的附加示例。
12.根据解决方案5所述的方法,其中,该条件取决于当前视频块的底部边界是否是小于视频图片的视频单元的底部边界,或者当前视频块的底部边界是否是虚拟边界。
13.根据解决方案12所述的方法,其中,该条件取决于当前视频块的底部边界是否是条带或片或图块边界的底部边界。
14.根据解决方案12所述的方法,其中,该条件规定在当前视频块的底部边界是条带或片或图块边界的底部边界时将使用状态设置为逻辑真值。
15.根据解决方案4-12所述的方法,其中,该条件规定在当前视频块的底部边界是图片边界的底部边界或者处于图片边界的底部边界之外时将使用状态设置为逻辑假值。
章节4中的项目4提供了以下解决方案的附加示例。
16.一种视频处理的方法,包括:在被逻辑分组成一个或多个视频条带或视频图块的视频图片与该视频图片的比特流表示之间的转换期间,确定禁止在自适应环路滤波处理中使用另一条带或图块中的样点;以及执行与该确定一致的转换。
章节4中的项目5提供了以下解决方案的附加示例。
17.一种视频处理的方法,包括:在视频图片的当前视频块和当前视频块的比特流表示之间的转换期间,确定当前视频块包括位于该视频图片的视频单元的边界处的样点;以及基于该确定执行该转换,其中,执行该转换包括使用对于该视频图片内的所有边界类型均相同的统一方法生成用于环路滤波处理的虚拟样点。
18.根据解决方案17所述的方法,其中,该视频单元是条带或片或360度视频。
19.根据解决方案17所述的方法,其中,该环路滤波包括自适应环路滤波。
20.根据解决方案17-19中任何解决方案所述的方法,其中,该统一方法是双侧填充方法。
21.根据解决方案17-20中任何解决方案所述的方法,其中,该统一方法为:在不允许访问第一线以下的样点并且利用填充为那些处于第一线以下的样点生成虚拟样点时,将对第二线以上的样点的访问也设置为不被允许,并且利用填充为那些处于第二线以上的样点生成虚拟样点。
22.根据解决方案17-20中任何解决方案所述的方法,其中,该统一方法为:在不允许访问第一线以上的样点并且利用填充为那些处于第一线以上的样点生成虚拟样点时,将对第二线以下的样点的访问也设置为不被允许,并且利用填充为那些处于第二线以下的样点生成虚拟样点。
23.根据解决方案21-22中任何解决方案所述的方法,其中,第一线与待滤波的当前样点所处的当前线之间的距离等于第二线与第一线之间的距离。
章节4中的项目6提供了以下解决方案的附加示例。
24.一种视频处理的方法,包括:在视频图片的当前视频块与当前视频块的比特流表示之间的转换期间,应用在该转换期间对于该视频图片可用的多种自适应环路滤波器(ALF)样点选择方法中的一种样点选择方法;以及通过应用该多种ALF样点选择方法中的一种样点选择方法执行该转换。
25.根据解决方案24所述的方法,其中,该多种ALF样点选择方法包括第一方法和第二方法,在第一方法中,在该转换期间,在对当前视频块应用环路滤波器之前选择样点,在第二种方法中,在该转换期间,在对当前视频块应用环路滤波器之后选择样点。
章节4中的项目7提供了以下解决方案的附加示例。
26.一种视频处理方法,包括:在当前视频块与当前视频块的比特流表示之间的转换期间,基于边界规则对视频图片的当前视频块的样点执行环路滤波操作,其中,该边界规则禁止使用跨越该视频图片的虚拟流水线数据单元(VPDU)的样点;以及使用环路滤波操作的结果执行该转换。
27.根据解决方案26所述的方法,其中,VPDU对应于视频图片的具有固定尺寸的区域。
28.根据解决方案26-27中的任何解决方案所述的方法,其中,该边界规则还规定使用虚拟样点以用于环路滤波,取代禁用样点。
29.根据解决方案28所述的方法,其中,虚拟样点是通过填充生成的。
章节4中的项目8提供了以下解决方案的附加示例。
30.一种视频处理方法,包括:在当前视频块与当前视频块的比特流表示之间的转换期间,基于边界规则,对视频图片的当前视频块的样点执行环路滤波操作,其中,该边界规则规定对当前视频块的跨越视频单元边界的位置使用在不使用填充的情况下生成的样点;以及使用环路滤波操作的结果执行该转换。
31.根据解决方案30所述的方法,其中,该样点是使用双侧填充技术生成的。
32.根据解决方案30所述的方法,其中,环路滤波操作包括在环路滤波操作期间将相同的虚拟样点生成技术用于对称位置上的样点。
33.根据解决方案30-32中的任何解决方案所述的方法,其中,对当前视频块的样点的环路滤波操作包括在该环路滤波之前执行对当前视频块的样点的整形。
章节4中的项目9提供了以下解决方案的附加示例。
34.一种视频处理的方法,包括:在当前视频块与当前视频块的比特流表示之间的转换期间,基于边界规则,对视频图片的当前视频块的样点执行环路滤波操作,其中,该边界规则规定为环路滤波操作选择滤波器,该滤波器所具有的维度使得在环路滤波期间使用的当前视频块的样点不跨越该视频图片的视频单元的边界;以及使用环路滤波操作的结果执行该转换。
章节4中的项目10提供了以下解决方案的附加示例。
35.一种视频处理的方法,包括:在当前视频块与当前视频块的比特流表示之间的转换期间,基于边界规则,对视频图片的当前视频块的样点执行环路滤波操作,其中,该边界规则规定基于环路滤波是否需要填充样点为环路滤波操作选择裁剪参数或滤波器系数;以及使用环路滤波操作的结果执行该转换。
36.根据解决方案35所述的方法,其中,将裁剪参数或滤波器系数包含到比特流表示当中。
章节4中的项目11提供了以下解决方案的附加示例。
37.一种视频处理的方法,包括:在当前视频块与当前视频块的比特流表示之间的转换期间,基于边界规则,对视频图片的当前视频块的样点执行环路滤波操作,其中,该边界规则取决于当前视频块的颜色分量身份;以及使用环路滤波操作的结果执行该转换。
38.根据解决方案37所述的方法,其中,该边界规则对于亮度和/或不同颜色分量是不同的。
39.根据解决方案1-38中的任何解决方案所述的方法,其中,该转换包括将当前视频块编码成比特流表示。
40.根据解决方案1-38中的任何解决方案所述的方法,其中,该转换包括对比特流表示解码,以生成当前视频块的样点值。
41.一种视频编码装置,包括处理器,该处理器被配置为实施根据解决方案1-38中的任何一项或多项中所述的方法。
42.一种视频解码装置,包括处理器,该处理器被配置为实施根据解决方案1-38中的任何一项或多项中所述的方法。
43.一种具有存储于其上的代码的计算机可读介质,这些代码在由处理器执行时使处理器实施根据解决方案1-38中的任何一项或多项中所述的方法。
图30是示出示例性视频处理系统3000的框图,在该系统中可以实施本文公开的各种技术。各种实施方式可以包括系统3000的部分或全部部件。系统3000可以包括输入3002以用于接收视频内容。视频内容可以是按照原始或未压缩格式接收的,例如8比特或10比特多分量像素值,或者可以是按照压缩或编码格式接收的。输入3002可以表示网络接口、外围总线接口或存储接口。网络接口的示例包括诸如以太网、无源光网络(passive opticalnetwork,PON)等的有线接口,以及诸如Wi-Fi或蜂窝接口的无线接口。
系统3000可以包括编解码部件3004,其可以实施本文件中所描述的各种编解码或编码方法。编解码部件3004可以降低从输入3002到编解码部件3004的输出的视频的平均比特率,以产生视频的编解码表示。因此,编解码技术有时被称为视频压缩或视频转码技术。编解码部件3004的输出可以被存储,也可以通过所连接的通信进行传输,如部件3006所示。输入3002处接收的视频的存储或传达比特流(或经编解码的)表示可由部件3008使用以用于生成像素值或发送到显示接口3010的可显示视频。从比特流表示生成用户可观看视频的处理有时称为视频解压缩。此外,尽管某些视频处理操作被称为“编解码”操作或工具,但应当理解的是,编解码工具或操作被用于编码器处,并且逆转编解码结果的对应的解码工具或操作将由解码器执行。
外围总线接口或显示接口的示例可以包括通用串行总线(universal serialbus,USB)或高清晰度多媒体接口(high definition multimedia interface,HDMI)或Displayport等。存储接口的示例包括SATA(serial advanced technology attachmen,串行高级技术附件)、PCI、IDE接口等。本文件中描述的技术可体现在各种电子设备中,诸如移动电话、笔记本电脑、智能电话或其他能够执行数字数据处理和/或视频显示的设备。
图31示出了根据本技术的用于视频处理的方法3100的流程图表示。方法3100包括:在操作3110中,为视频的视频图片内的块与该视频的比特流表示之间的转换,确定在自适应环路滤波处理中填充对于当前样点处于跨越该视频图片的多个视频区域的边界的位置上的第一组样点的方式。方法3100还包括在操作3120中,根据该确定执行该转换。
在一些实施例中,该自适应环路滤波处理包括样点分类和样点滤波。在一些实施例中,视频区域包括条带、图块、片或子图片。在一些实施例中,该方式规定采用与当前样点处于相同视频区域内的第二组样点的值填充第一组样点的值。
在一些实施例中,基于下述内容确定第二组样点的位置:沿水平方向裁剪第一组样点的垂直坐标,以获得最近位置,该最近位置的垂直坐标位于与当前样点相同的视频区域内。在一些实施例中,基于下述内容进一步确定第二组样点的位置:沿垂直方向选择性地裁剪第一组样点的水平坐标,以获得最近位置,该最近位置的水平坐标位于与当前样点相同的视频区域内。
在一些实施例中,基于下述内容确定第二组样点的位置:沿垂直方向裁剪第一组样点的水平坐标,以获得最近位置,该最近位置的水平坐标位于与当前样点相同的视频区域内。在一些实施例中,基于下述内容进一步确定第二组样点的位置:沿水平方向选择性地裁剪第一组样点的垂直坐标,以获得最近位置,该最近位置的垂直坐标位于与当前样点相同的视频区域内。
在一些实施例中,基于下述内容确定第二组样点的位置:沿水平方向和垂直方向两者裁剪第一组样点的位置,以获得与当前样点位于相同视频区域内的最近位置。在一些实施例中,第一组样点中的一个样点处于位置(x1,y1)上,并且将该样点裁剪至位置(x2,y2)。将沿水平方向的距离表示为|x1-x2|。将沿垂直方向的距离表示为|y1-y2|。将两个位置之间的距离表示为|x1-x2|+|y1-y2|或(x1-x2)2+(y1-y2)2
在一些实施例中,该方式规定禁用对当前样点的滤波。在一些实施例中,该方式规定在该样点分类当中不允许使用第一组样点。在一些实施例中,该方式是否适用于该块基于该块是否与该多个视频区域的边界对齐。在一些实施例中,如果该块不与该多个视频区域的任何边界对齐并且在自适应环路滤波处理中需要第一组样点中的样点,那么该方式适用于该块。在一些实施例中,在下述情况下该方式适用于该块:(1)该块不与该多个视频区域的任何边界对齐,(2)在自适应环路滤波处理中需要第一组样点中的样点,并且(3)不允许对第一组样点的该滤波。在一些实施例中,在下述情况下该方式适用于该块:(1)该块不与该多个视频区域的任何边界对齐,(2)在自适应环路滤波处理中需要该第一组样点中的样点,(3)在该自适应环路滤波处理中需要位于该块的同一视频区域内的另一样点,并且(4)不允许对第一组样点的该滤波。在一些实施例中,该视频区域是条带。
在一些实施例中,使用来自边界两侧的样点生成填充样点的对称填充方式不适用于第一组样点。在一些实施例中,使用来自边界的单侧的样点生成填充样点的单侧填充方式不适用于第一组样点。
图32示出了根据本技术的用于视频处理的方法3200的流程图表示。方法3200包括:在操作3210中,为视频的视频图片内的块与该视频的比特流表示之间的转换,如果该块与该视频图片的多个视频区域的至少一种类型的边界对齐,那么确定生成在自适应环路滤波处理中用于该块的当前样点的样点的统一填充操作。方法3200还包括在操作3220中,基于该确定执行该转换。
在一些实施例中,该统一填充过程包括使用沿边界的单侧的样点。在一些实施例中,该统一填充过程包括使用沿边界的双侧的样点。在一些实施例中,如果该块与多种类型的边界对齐,并且禁用位于跨越该视频图片的多个视频区域的边界的位置上的样点的滤波,那么对该块应用该统一填充操作。
图33示出了根据本技术的用于视频处理的方法3400的流程图表示。方法3300包括:在操作3310中,为视频的视频图片中的块与该视频的比特流表示之间的转换,确定在针对位于多个视频区域的两种类型的边界之间的样点的自适应环路滤波处理中调用填充操作的方式。这两种类型的边界中的一种包括360虚拟边界。方法3300还包括在操作3320中,根据该确定执行该转换。
在一些实施例中,该方式规定在该自适应环路滤波处理中仅调用一次该填充操作。在一些实施例中,该填充操作包括对称填充操作,在对称填充操作中使用来自边界两侧的样点生成填充样点。在一些实施例中,该填充操作包括单侧填充操作,在单侧填充样点中使用来自边界单侧的样点生成填充样点。
在一些实施例中,该方式规定在该自适应环路滤波处理中根据顺序用至少一种其他填充操作调用该填充操作。在一些实施例中,在该至少一种其他填充操作之前应用该填充操作。该填充操作包括使用来自边界的单侧的样点生成填充样点的单侧填充操作,并且其中,该至少一种其他填充操作包括使用来自边界两侧的样点生成填充样点的对称填充操作。在一些实施例中,该填充操作之后的填充样点在该至少一种其他填充操作中被用作可用样点。
在一些实施例中,如果这两种类型的边界中的另一种类型包括自适应环路滤波虚拟边界或者该多个视频区域的实际边界,那么该方式规定该填充操作仅包括使用来自边界两侧的样点生成填充样点的对称填充操作。在一些实施例中,如果这两种类型的边界中的另一类型包括该视频图片的实际边界,那么该方式规定该填充操作仅包括使用来自边界的单侧的样点生成填充样点的单侧填充操作。在一些实施例中,如果这两种类型的边界中的一种不与该块对齐,那么该方式规定该填充操作仅包括使用来自边界两侧的样点生成填充样点的对称填充操作。在一些实施例中,该方式规定该填充操作仅包括使用来自边界两侧的样点生成填充样点的对称填充操作。
在一些实施例中,该转换包括将视频编码成比特流表示。在一些实施例中,该转换包括将比特流表示解码成视频。
从前述内容可知,将要认识到,本文已经出于例示的目的描述了本文公开的技术的具体实施例,但可以做出各种修改而不脱离本发明的范围。相应地,本公开的技术除了受到所附权利要求限制外,不受其他限制。
所公开技术的一些实施例包括作出启用视频处理工具或模式的决策或决定。在一个示例中,当视频处理工具或模式被启用时,编码器将在视频块的处理中使用或实施该工具或模式,但不一定基于该工具或模式的使用来修改所生产的比特流。也就是说,当基于决策或决定启用视频处理工具或模式时,从视频块到视频的比特流表示的转换将使用该视频处理工具或模式。在另一示例中,当视频处理工具或模式被启用时,解码器将在知道已经基于视频处理工具或模式修改了比特流的情况下处理比特流。也就是说,将使用基于决策或决定而启用的视频处理工具或模式来执行从视频的比特流表示到视频块的转换。
所公开技术的一些实施例包括作出禁用视频处理工具或模式的决策或决定。在一个示例中,当视频处理工具或模式被禁用时,编码器在将视频块转换为视频的比特流表示中将不使用该工具或模式。在另一示例中,当视频处理工具或模式被禁用时,解码器将在知道并未使用曾基于决策或决定启用的视频处理工具或模式对比特流做出修改的情况下处理比特流。
本专利文件中描述的主题和功能操作的实施方式可以在各种系统、数字电子电路,或者计算机软件、固件或硬件中实施,包括本说明书中所公开的结构及其结构等价方案或者它们当中的一者或多者的组合。本说明书中描述的主题的实施方式可以被实施成一个或多个计算机程序产品,例如,编码在有形且非暂态计算机可读介质上的计算机程序指令的一个或多个模块,以供数据处理装置执行或控制数据处理装置的操作。计算机可读介质可以是机器可读存储设备、机器可读存储基板、存储设备、影响机器可读传播信号的物质组成或者它们当中的一者或多者的组合。术语“数据处理单元”或“数据处理装置”涵盖用于处理数据的所有装置、设备和机器,包括(例如)可编程处理器、计算机或多个处理器或计算机。除硬件外,该装置还可以包括为计算机程序创建执行环境的代码,例如,构成处理器固件的代码、协议栈、数据库管理系统、操作系统或者它们当中的一者或多者的组合。
计算机程序(也称为程序、软件、软件应用、脚本或代码)可以用任何形式的编程语言(包括编译语言或解释语言)编写,并且可以按照任何形式部署,包括作为独立程序或作为模块、部件、子例程或其他适合在计算环境中使用的单元。计算机程序不一定与文件系统中的文件对应。程序可以存储在保存其他程序或数据的文件(例如,存储在标记语言文档中的一个或多个脚本)的部分中,专用于该程序的单个文件中,或者多个协调文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。可以将计算机程序部署为在一个或多个计算机上执行,这一个或多个计算机位于一个站点上,或者跨越多个站点分布并通过通信网络互连。
本说明书中描述的过程和逻辑流可以通过由一个或多个可编程处理器执行一个或多个计算机程序来执行,从而通过对输入数据进行操作并生成输出来执行功能。这些过程和逻辑流也可以通过专用逻辑电路来执行,并且装置也可以被实施成专用逻辑电路,例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路)。
例如,适于执行计算机程序的处理器包括通用和专用微处理器,以及任何种类的数字计算机的任何一个或多个处理器。一般来讲,处理器将从只读存储器或随机存取存储器或这两者接收指令和数据。计算机的基本元件是执行指令的处理器以及存储指令和数据的一个或多个存储设备。通常,计算机还将包括一个或多个用于存储数据的大容量存储设备,例如,磁盘、磁光盘或光盘,或被操作性地耦接为从一个或多个大容量存储设备接收数据或向其传输数据,或两者兼有。然而,计算机不一定具有这样的设备。适于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,包括(例如)半导体存储设备,例如EPROM、EEPROM和闪存设备。处理器和存储器可以由专用逻辑电路来补充,或合并到专用逻辑电路中。
意在将说明书连同附图仅视为示范性的,其中示范性表示示例。如本文所用,“或”的使用意在包含“和/或”,除非上下文明确做出其他表述。
虽然本专利文件包含许多细节,但不应将其解释为对任何发明或权利要求范围的限制,而应解释为对特定发明的特定实施例的具体特征的描述。本专利文件在各单独实施例的语境下描述的某些特征也可以在单个实施例中组合实施。相反地,在单个实施例的语境下描述的各种特征也可单独地或者以任何合适的子组合的形式在多个实施例中实施。此外,虽然某些特征可能在上面被描述为以某些组合来起作用并且甚至最初也这样地来要求对其的权利保护,但是来自要求权利保护的组合的一个或多个特征在某些情况下可从该组合中去除,并且要求权利保护的组合可涉及子组合或子组合的变型。
类似地,虽然操作在附图中以特定次序示出,但不应将这种情况理解为需要以相继次序或所示的特定次来执行此类操作,或者需要执行所有所示的操作以实现期望的结果。此外,在本专利文件中描述的实施例当中对各种系统部件的划分不应被理解为在所有实施例中都要求这样的划分。
仅描述了几种实施方式和示例,其他实施方式、增强和变化可以基于本专利文件中描述和说明的内容做出。

Claims (18)

1.一种处理视频数据的方法,包括:
为视频的包括一个或多个编解码树块的图片和所述视频的比特流之间的转换,由于第一样点位于与当前编解码树块的当前样点的条带不同的条带中并且在所述当前编解码树块的当前样点的第一滤波处理中不允许跨条带的样点,确定所述第一样点在所述第一滤波处理的分类操作中不可用,其中所述图片的所有条带都是矩形条带;
对所述第一样点应用填充处理,其中,所述第一样点的值是从第二样点填充的,所述第二样点是与所述当前样点位于同一条带内的最近的可用样点,并且其中,所述第二样点的位置是基于以下来确定:
当由于所述第一样点的垂直坐标在所述当前样点的所述同一条带之外而导致所述第一样点不可用时,将所述第一样点的垂直坐标裁剪为位于所述当前样点的所述同一条带内的最近的垂直位置的新的垂直坐标;以及
当由于所述第一样点的水平坐标在所述当前样点的所述同一条带之外而导致所述第一样点不可用时,将所述第一样点的水平坐标裁剪为位于所述当前样点的所述同一条带内的最近的水平位置的新的水平坐标;以及
通过基于从所述第二样点填充的所述第一样点的值应用所述第一滤波处理来执行所述转换,其中,所述第一滤波处理包括:
基于所述分类操作,确定所述当前样点的滤波系数集合;
确定所述当前样点的裁剪值集合;以及
基于所述滤波系数集合和所述裁剪值集合对所述当前样点应用滤波器。
2.根据权利要求1所述的方法,其中,从所述第二样点填充的所述第一样点的值用于在所述分类操作中确定分类滤波器索引,并且其中,基于从包括4×4区域的10×10区域计算的梯度来导出包括所述当前样点的所述4×4区域的的所述分类滤波器索引。
3.根据权利要求1所述的方法,其中,从所述第二样点填充的所述第一样点的值也用在所述第一滤波处理的滤波器中。
4.根据权利要求1所述的方法,其中,在所述当前编解码树块与不是条带边界的其他类型的边界对齐的情况下,以统一的方式应用所述填充处理。
5.根据权利要求1所述的方法,其中,所述方法还包括基于所述当前编解码树块的底部边界和所述图片的底部边界之间的关系来确定是否为所述当前编解码树块启用虚拟边界。
6.根据权利要求5所述的方法,其中,在所述当前编解码树块的底部边界不是所述图片的底部边界的情况下,启用所述虚拟边界。
7.根据权利要求1所述的方法,其中,所述转换包括将所述视频编码成所述比特流。
8.根据权利要求1所述的方法,其中,所述转换包括从所述比特流解码所述视频。
9.一种处理视频数据的装置,包括处理器和其上具有指令的非暂时性存储器,其中,所述指令在由所述处理器执行时使得所述处理器:
为视频的包括一个或多个编解码树块的图片和所述视频的比特流之间的转换,由于第一样点位于与当前编解码树块的当前样点的条带不同的条带中并且在所述当前编解码树块的当前样点的第一滤波处理中不允许跨条带的样点,确定所述第一样点在所述第一滤波处理的分类操作中不可用,其中所述图片的所有条带都是矩形条带;
对所述第一样点应用填充处理,其中,所述第一样点的值是从第二样点填充的,所述第二样点是与所述当前样点位于同一条带内的最近的可用样点,并且其中,所述第二样点的位置是基于以下来确定:
当由于所述第一样点的垂直坐标在所述当前样点的所述同一条带之外而导致所述第一样点不可用时,将所述第一样点的垂直坐标裁剪为位于所述当前样点的所述同一条带内的最近的垂直位置的新的垂直坐标;以及
当由于所述第一样点的水平坐标在所述当前样点的所述同一条带之外而导致所述第一样点不可用时,将所述第一样点的水平坐标裁剪为位于所述当前样点的所述同一条带内的最近的水平位置的新的水平坐标;以及
通过基于从所述第二样点填充的所述第一样点的值应用所述第一滤波处理来执行所述转换,其中,所述第一滤波处理包括:
基于所述分类操作,确定所述当前样点的滤波系数集合;
确定所述当前样点的裁剪值集合;以及
基于所述滤波系数集合和所述裁剪值集合对所述当前样点应用滤波器。
10.根据权利要求9所述的装置,其中,从所述第二样点填充的所述第一样点的值用于在所述分类操作中确定分类滤波器索引,并且其中,基于从包括4×4区域的10×10区域计算的梯度来导出包括所述当前样点的所述4×4区域的的所述分类滤波器索引,并且
其中,从所述第二样点填充的所述第一样点的值也用在所述第一滤波处理的滤波器中。
11.根据权利要求9所述的装置,其中,在所述当前编解码树块与不是条带边界的其他类型的边界对齐的情况下,以统一的方式应用所述填充处理。
12.根据权利要求9所述的装置,其中,所述指令在由所述处理器执行时还使得所述处理器:基于所述当前编解码树块的底部边界和所述图片的底部边界之间的关系来确定是否为所述当前编解码树块启用虚拟边界,并且
其中,在所述当前编解码树块的底部边界不是所述图片的底部边界的情况下,启用所述虚拟边界。
13.一种存储指令的非暂时性计算机可读存储介质,所述指令使得处理器:
为视频的包括一个或多个编解码树块的图片和所述视频的比特流之间的转换,由于第一样点位于与当前编解码树块的当前样点的条带不同的条带中并且在所述当前编解码树块的当前样点的第一滤波处理中不允许跨条带的样点,确定所述第一样点在所述第一滤波处理的分类操作中不可用,其中所述图片的所有条带都是矩形条带;
对所述第一样点应用填充处理,其中,所述第一样点的值是从第二样点填充的,所述第二样点是与所述当前样点位于同一条带内的最近的可用样点,并且其中,所述第二样点的位置是基于以下来确定:
当由于所述第一样点的垂直坐标在所述当前样点的所述同一条带之外而导致所述第一样点不可用时,将所述第一样点的垂直坐标裁剪为位于所述当前样点的所述同一条带内的最近的垂直位置的新的垂直坐标;以及
当由于所述第一样点的水平坐标在所述当前样点的所述同一条带之外而导致所述第一样点不可用时,将所述第一样点的水平坐标裁剪为位于所述当前样点的所述同一条带内的最近的水平位置的新的水平坐标;以及
通过基于从所述第二样点填充的所述第一样点的值应用所述第一滤波处理来执行所述转换,其中,所述第一滤波处理包括:
基于所述分类操作,确定所述当前样点的滤波系数集合;
确定所述当前样点的裁剪值集合;以及
基于所述滤波系数集合和所述裁剪值集合对所述当前样点应用滤波器。
14.根据权利要求13所述的非暂时性计算机可读存储介质,其中,从所述第二样点填充的所述第一样点的值用于在所述分类操作中确定分类滤波器索引,并且其中,基于从包括4×4区域的10×10区域计算的梯度来导出包括所述当前样点的所述4×4区域的的所述分类滤波器索引;
其中,从所述第二样点填充的所述第一样点的值也用在所述第一滤波处理的滤波器中;并且
其中,在所述当前编解码树块与不是条带边界的其他类型的边界对齐的情况下,以统一的方式应用所述填充处理。
15.根据权利要求13所述的非暂时性计算机可读存储介质,其中,所述指令还使得所述处理器:基于所述当前编解码树块的底部边界和所述图片的底部边界之间的关系来确定是否为所述当前编解码树块启用虚拟边界,并且
其中,在所述当前编解码树块的底部边界不是所述图片的底部边界的情况下,启用所述虚拟边界。
16.一种存储视频的比特流的方法,包括:
为视频的包括一个或多个编解码树块的图片,由于第一样点位于与当前编解码树块的当前样点的条带不同的条带中并且在所述当前编解码树块的当前样点的第一滤波处理中不允许跨条带的样点,确定所述第一样点在所述第一滤波处理的分类操作中不可用,其中所述图片的所有条带都是矩形条带;
对所述第一样点应用填充处理,其中,所述第一样点的值是从第二样点填充的,所述第二样点是与所述当前样点位于同一条带内的最近的可用样点,并且其中,所述第二样点的位置是基于以下来确定:
当由于所述第一样点的垂直坐标在所述当前样点的所述同一条带之外而导致所述第一样点不可用时,将所述第一样点的垂直坐标裁剪为位于所述当前样点的所述同一条带内的最近的垂直位置的新的垂直坐标;以及
当由于所述第一样点的水平坐标在所述当前样点的所述同一条带之外而导致所述第一样点不可用时,将所述第一样点的水平坐标裁剪为位于所述当前样点的所述同一条带内的最近的水平位置的新的水平坐标;
通过基于从所述第二样点填充的所述第一样点的值应用所述第一滤波处理来生成所述比特流;以及
将所述比特流存储到非暂时性计算机可读存储介质中,其中,所述第一滤波处理包括:
基于所述分类操作,确定所述当前样点的滤波系数集合;
确定所述当前样点的裁剪值集合;以及
基于所述滤波系数集合和所述裁剪值集合对所述当前样点应用滤波器。
17.根据权利要求16所述的方法,其中,从所述第二样点填充的所述第一样点的值用于在所述分类操作中确定分类滤波器索引,并且其中,基于从包括4×4区域的10×10区域计算的梯度来导出包括所述当前样点的所述4×4区域的的所述分类滤波器索引,
其中,从所述第二样点填充的所述第一样点的值也用在所述第一滤波处理的滤波器中,并且
其中,在所述当前编解码树块与不是条带边界的其他类型的边界对齐的情况下,以统一的方式应用所述填充处理。
18.根据权利要求16所述的方法,其中,所述方法还包括基于所述当前编解码树块的底部边界和所述图片的底部边界之间的关系来确定是否为所述当前编解码树块启用虚拟边界,并且
其中,在所述当前编解码树块的底部边界不是所述图片的底部边界的情况下,启用所述虚拟边界。
CN202080050648.3A 2019-07-11 2020-07-13 自适应环路滤波中的样点填充 Active CN114128278B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311451349.2A CN117939170A (zh) 2019-07-11 2020-07-13 自适应环路滤波中的样点填充

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CNPCT/CN2019/095657 2019-07-11
CN2019095657 2019-07-11
PCT/CN2020/101589 WO2021004542A1 (en) 2019-07-11 2020-07-13 Sample padding in adaptive loop filtering

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202311451349.2A Division CN117939170A (zh) 2019-07-11 2020-07-13 自适应环路滤波中的样点填充

Publications (2)

Publication Number Publication Date
CN114128278A CN114128278A (zh) 2022-03-01
CN114128278B true CN114128278B (zh) 2023-12-05

Family

ID=74114384

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202311451349.2A Pending CN117939170A (zh) 2019-07-11 2020-07-13 自适应环路滤波中的样点填充
CN202080050648.3A Active CN114128278B (zh) 2019-07-11 2020-07-13 自适应环路滤波中的样点填充

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202311451349.2A Pending CN117939170A (zh) 2019-07-11 2020-07-13 自适应环路滤波中的样点填充

Country Status (11)

Country Link
US (2) US11589042B2 (zh)
EP (1) EP3984223A4 (zh)
JP (2) JP7291845B2 (zh)
KR (1) KR102648121B1 (zh)
CN (2) CN117939170A (zh)
AU (1) AU2020309130B2 (zh)
BR (1) BR112022000542A2 (zh)
CA (1) CA3146773A1 (zh)
MX (1) MX2022000123A (zh)
WO (1) WO2021004542A1 (zh)
ZA (1) ZA202200537B (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020249124A1 (en) 2019-06-14 2020-12-17 Beijing Bytedance Network Technology Co., Ltd. Handling video unit boundaries and virtual boundaries based on color format
CN114097225B (zh) 2019-07-09 2024-04-19 北京字节跳动网络技术有限公司 用于自适应环路滤波的样点确定
BR112022000794A2 (pt) 2019-07-15 2022-03-15 Beijing Bytedance Network Tech Co Ltd Método de processamento de dados de vídeo, aparelho para processamento de dados de vídeo, meios de armazenamento e gravação não transitórios legíveis por computador
WO2021013178A1 (en) * 2019-07-25 2021-01-28 Mediatek Inc. Method and apparatus of cross-component adaptive loop filtering with virtual boundary for video coding
WO2021052509A1 (en) * 2019-09-22 2021-03-25 Beijing Bytedance Network Technology Co., Ltd. Selective application of sample padding in adaptive loop filtering
EP4022910A4 (en) 2019-09-27 2022-11-16 Beijing Bytedance Network Technology Co., Ltd. ADAPTIVE LOOP FILTERING BETWEEN DIFFERENT VIDEO UNITS
WO2021068906A1 (en) 2019-10-10 2021-04-15 Beijing Bytedance Network Technology Co., Ltd. Padding process at unavailable sample locations in adaptive loop filtering
KR102619404B1 (ko) 2019-12-11 2023-12-28 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 크로스 컴포넌트 적응적 루프 필터링을 위한 샘플 패딩
EP4107966A4 (en) * 2020-02-17 2023-07-26 Intel Corporation 360-DEGREE VIDEO ENHANCEMENT USING A CONVOLUTIVE NETWORK (CNN) BASED FILTER
JP2023531223A (ja) 2020-06-30 2023-07-21 北京字節跳動網絡技術有限公司 適応ループフィルタリングのための境界位置
US20220394309A1 (en) * 2021-05-20 2022-12-08 Lemon Inc. On Padding Methods For Neural Network-Based In-Loop Filter
WO2023090198A1 (ja) * 2021-11-19 2023-05-25 シャープ株式会社 動画像符号化装置、動画像復号装置
WO2024002168A1 (en) * 2022-06-28 2024-01-04 Douyin Vision (Beijing) Co., Ltd. Padding methods for adaptive loop filter in video coding

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103891292A (zh) * 2011-10-24 2014-06-25 联发科技股份有限公司 非跨图块环路滤波方法及其装置
WO2017045580A1 (en) * 2015-09-14 2017-03-23 Mediatek Singapore Pte. Ltd Method and apparatus of advanced de-blocking filter in video coding
CN109417632A (zh) * 2016-07-08 2019-03-01 Vid拓展公司 使用几何图形投影的360度视频编码
CN109479130A (zh) * 2016-08-02 2019-03-15 高通股份有限公司 基于几何变换的自适应环路滤波
CN109660797A (zh) * 2018-11-09 2019-04-19 北京达佳互联信息技术有限公司 自适应滤波方法、装置、电子设备及计算机可读介质

Family Cites Families (77)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7558320B2 (en) 2003-06-13 2009-07-07 Microsoft Corporation Quality control in frame interpolation with motion analysis
CN101207812B (zh) 2007-12-10 2010-04-07 海信集团有限公司 一种视频环路滤波方法
KR101699837B1 (ko) 2009-02-10 2017-01-25 래티스세미컨덕터코퍼레이션 블록 노이즈 검출 및 필터링
US9094658B2 (en) 2010-05-10 2015-07-28 Mediatek Inc. Method and apparatus of adaptive loop filtering
EP2388999B1 (en) 2010-05-17 2021-02-24 Lg Electronics Inc. New intra prediction modes
KR101563833B1 (ko) 2010-09-30 2015-10-27 미쓰비시덴키 가부시키가이샤 화상 복호 장치, 화상 복호 방법, 화상 부호화 장치 및 화상 부호화 방법
US8861617B2 (en) 2010-10-05 2014-10-14 Mediatek Inc Method and apparatus of region-based adaptive loop filtering
CA2805722C (en) 2010-10-05 2016-03-29 Ching-Yeh Chen Method and apparatus of region-based adaptive loop filtering
US9525884B2 (en) * 2010-11-02 2016-12-20 Hfi Innovation Inc. Method and apparatus of slice boundary filtering for high efficiency video coding
EP2708027B1 (en) 2011-05-10 2019-12-25 MediaTek Inc. Method and apparatus for reduction of in-loop filter buffer
KR101956284B1 (ko) 2011-06-30 2019-03-08 엘지전자 주식회사 보간 방법 및 이를 이용한 예측 방법
US9641866B2 (en) 2011-08-18 2017-05-02 Qualcomm Incorporated Applying partition-based filters
US9357235B2 (en) 2011-10-13 2016-05-31 Qualcomm Incorporated Sample adaptive offset merged with adaptive loop filter in video coding
US20130107973A1 (en) * 2011-10-28 2013-05-02 Qualcomm Incorporated Loop filtering control over tile boundaries
US20130128986A1 (en) * 2011-11-23 2013-05-23 Mediatek Inc. Method and Apparatus of Slice Boundary Padding for Loop Filtering
US8983218B2 (en) 2012-04-11 2015-03-17 Texas Instruments Incorporated Virtual boundary processing simplification for adaptive loop filtering (ALF) in video coding
SI2697973T1 (sl) * 2012-04-16 2017-11-30 Hfi Innovation Inc. Postopek in naprava za zančno filtriranje preko meja rezine ali ploščice
US20130343447A1 (en) 2012-06-25 2013-12-26 Broadcom Corporation Adaptive loop filter (ALF) padding in accordance with video coding
US9596461B2 (en) 2012-11-26 2017-03-14 Qualcomm Incorporated Loop filtering across constrained intra block boundaries in video coding
US9648335B2 (en) 2013-07-12 2017-05-09 Qualcomm Incorporated Bitstream restrictions on picture partitions across layers
EP3069511A4 (en) 2013-11-15 2017-09-27 MediaTek Inc. Method of block-based adaptive loop filtering
US20160227222A1 (en) 2015-02-02 2016-08-04 Mediatek Inc. Multi-Standard Video Decoder with Novel Intra Prediction Decoding
US10057574B2 (en) 2015-02-11 2018-08-21 Qualcomm Incorporated Coding tree unit (CTU) level adaptive loop filter (ALF)
US20160241881A1 (en) 2015-02-13 2016-08-18 Mediatek Inc. Method and Apparatus of Loop Filters for Efficient Hardware Implementation
EP3354029A4 (en) 2015-09-23 2019-08-21 Nokia Technologies Oy METHOD, APPARATUS AND COMPUTER PROGRAM PRODUCT FOR ENCODING 360-DEGREE PANORAMIC VIDEO
EP3395073A4 (en) 2016-02-04 2019-04-10 Mediatek Inc. VIDEO ENCODING METHOD AND APPARATUS USING NON-LOCAL ADAPTIVE LOOP FILTERS
US11064195B2 (en) 2016-02-15 2021-07-13 Qualcomm Incorporated Merging filters for multiple classes of blocks for video coding
US10419755B2 (en) 2016-05-16 2019-09-17 Qualcomm Incorporated Confusion of multiple filters in adaptive loop filtering in video coding
US10264282B2 (en) 2016-06-27 2019-04-16 Mediatek Inc. Method and apparatus of inter coding for VR video using virtual reference frames
US10841581B2 (en) 2016-07-14 2020-11-17 Arris Enterprises Llc Region specific encoding and SAO-sensitive-slice-width-adaptation for improved-quality HEVC encoding
KR102416257B1 (ko) 2016-08-03 2022-07-04 주식회사 케이티 비디오 신호 처리 방법 및 장치
US20180054613A1 (en) 2016-08-22 2018-02-22 Mediatek Inc. Video encoding method and apparatus with in-loop filtering process not applied to reconstructed blocks located at image content discontinuity edge and associated video decoding method and apparatus
US10419757B2 (en) 2016-08-31 2019-09-17 Qualcomm Incorporated Cross-component filter
CN108111851B (zh) 2016-11-25 2020-12-22 华为技术有限公司 一种去块滤波方法及终端
US10555006B2 (en) 2016-12-22 2020-02-04 Qualcomm Incorporated Deriving bilateral filter information based on a prediction mode in video coding
US10506230B2 (en) 2017-01-04 2019-12-10 Qualcomm Incorporated Modified adaptive loop filter temporal prediction for temporal scalability support
US11277635B2 (en) 2017-03-17 2022-03-15 Vid Scale, Inc. Predictive coding for 360-degree video based on geometry padding
CN110679149B (zh) 2017-03-22 2023-04-04 汉阳大学校产学协力团 基于自适应像素分类基准的环路滤波方法
EP3539290A1 (en) 2017-03-30 2019-09-18 Samsung Electronics Co., Ltd. Method and apparatus for producing 360 degree image content on rectangular projection by selectively applying in-loop filter
US10778974B2 (en) 2017-07-05 2020-09-15 Qualcomm Incorporated Adaptive loop filter with enhanced classification methods
US20190044809A1 (en) * 2017-08-30 2019-02-07 Intel Corporation Technologies for managing a flexible host interface of a network interface controller
EP3454556A1 (en) 2017-09-08 2019-03-13 Thomson Licensing Method and apparatus for video encoding and decoding using pattern-based block filtering
US10728573B2 (en) 2017-09-08 2020-07-28 Qualcomm Incorporated Motion compensated boundary pixel padding
CN114979633B (zh) 2017-10-09 2023-10-27 佳能株式会社 用于对样本块进行滤波的方法、装置和存储介质
JP2021016016A (ja) 2017-10-20 2021-02-12 シャープ株式会社 動画像符号化装置及び動画像復号装置
CN116866559A (zh) 2017-11-01 2023-10-10 Vid拓展公司 用于简化视频译码中的自适应环路滤波器的方法
US10728549B2 (en) 2017-11-06 2020-07-28 Dolby Laboratories Licensing Corporation Adaptive loop filtering for high-dynamic range video
US10721469B2 (en) * 2017-11-28 2020-07-21 Qualcomm Incorporated Line buffer reduction for adaptive loop filtering in video coding
KR102643115B1 (ko) 2017-11-29 2024-03-04 한국전자통신연구원 루프내 필터링을 이용한 영상 부호화/복호화 방법 및 장치
WO2019131400A1 (ja) 2017-12-26 2019-07-04 シャープ株式会社 画像フィルタ装置、画像復号装置、および画像符号化装置
CN109996069B (zh) 2018-01-03 2021-12-10 华为技术有限公司 视频图像编解码方法及设备
US20190238845A1 (en) 2018-01-26 2019-08-01 Qualcomm Incorporated Adaptive loop filtering on deblocking filter results in video coding
US20190281273A1 (en) 2018-03-08 2019-09-12 Mediatek Inc. Adaptive loop filtering method for reconstructed projection-based frame that employs projection layout of 360-degree virtual reality projection
US20190306502A1 (en) 2018-04-02 2019-10-03 Qualcomm Incorporated System and method for improved adaptive loop filtering
US10904576B2 (en) 2018-04-27 2021-01-26 Panasonic Intellectual Property Corporation Of America Encoder, decoder, encoding method, and decoding method for generating a prediction image using a plurality of pixels generated outside of a boundary of a reference picture on which smoothing has been performed
WO2019230670A1 (en) 2018-05-31 2019-12-05 Sharp Kabushiki Kaisha Systems and methods for partitioning video blocks in an inter prediction slice of video data
EP3863285A1 (en) 2018-06-21 2021-08-11 Telefonaktiebolaget LM Ericsson (publ) Deblocking of video picture boundaries
US11818340B2 (en) 2018-07-06 2023-11-14 Electronics And Telecommunications Research Institute Image encoding/decoding method and device, and recording medium in which bitstream is stored
US11094088B2 (en) 2018-08-31 2021-08-17 Mediatek Inc. Method and apparatus of in-loop filtering for virtual boundaries in video coding
US11743458B2 (en) 2018-10-23 2023-08-29 Hfi Innovation Inc. Method and apparatus for reduction of in-loop filter buffer
CN109600611B (zh) 2018-11-09 2021-07-13 北京达佳互联信息技术有限公司 环路滤波方法、环路滤波装置、电子设备和可读介质
US11044473B2 (en) 2018-12-21 2021-06-22 Qualcomm Incorporated Adaptive loop filtering classification in video coding
WO2020135346A1 (en) * 2018-12-23 2020-07-02 Huawei Technologies Co., Ltd. An encoder, a decoder and corresponding methods using an adaptive loop filter
CN113383554B (zh) 2019-01-13 2022-12-16 北京字节跳动网络技术有限公司 LUT和共享Merge列表之间的交互
SG11202109287PA (en) 2019-02-27 2021-09-29 Huawei Tech Co Ltd Adaptation parameter set identifier value spaces in video coding
US11910024B2 (en) 2019-03-11 2024-02-20 Qualcomm Incorporated Boundary handling for adaptive loop filtering
CN117499644A (zh) 2019-03-14 2024-02-02 北京字节跳动网络技术有限公司 环路整形信息的信令和语法
EP3925226A4 (en) 2019-03-24 2022-08-17 Beijing Bytedance Network Technology Co., Ltd. NON-LINEAR ADAPTIVE LOOP FILTERING IN VIDEO PROCESSING
TWI739386B (zh) 2019-04-11 2021-09-11 聯發科技股份有限公司 具有適應性參數集之適應性迴路濾波器
WO2020211769A1 (en) 2019-04-15 2020-10-22 Beijing Bytedance Network Technology Co., Ltd. Clipping parameter derivation in adaptive loop filter
CN117499679A (zh) 2019-04-16 2024-02-02 北京字节跳动网络技术有限公司 用于视频编解码的自适应环路滤波
WO2020249124A1 (en) 2019-06-14 2020-12-17 Beijing Bytedance Network Technology Co., Ltd. Handling video unit boundaries and virtual boundaries based on color format
CN114424539A (zh) 2019-06-14 2022-04-29 北京字节跳动网络技术有限公司 处理视频单元边界和虚拟边界
CN114097225B (zh) 2019-07-09 2024-04-19 北京字节跳动网络技术有限公司 用于自适应环路滤波的样点确定
CN114097227A (zh) 2019-07-11 2022-02-25 三星电子株式会社 视频解码方法和设备以及视频编码方法和设备
EP4022914A4 (en) 2019-09-05 2023-09-06 HFI Innovation Inc. METHOD AND APPARATUS FOR ADAPTIVE LOOP FILTERING AT PICTURE AND SUB-PICTURE BOUNDARY IN VIDEO CODING
US11303890B2 (en) 2019-09-05 2022-04-12 Qualcomm Incorporated Reusing adaptive loop filter (ALF) sub-picture boundary processing for raster-scan slice boundaries

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103891292A (zh) * 2011-10-24 2014-06-25 联发科技股份有限公司 非跨图块环路滤波方法及其装置
WO2017045580A1 (en) * 2015-09-14 2017-03-23 Mediatek Singapore Pte. Ltd Method and apparatus of advanced de-blocking filter in video coding
CN109417632A (zh) * 2016-07-08 2019-03-01 Vid拓展公司 使用几何图形投影的360度视频编码
CN109479130A (zh) * 2016-08-02 2019-03-15 高通股份有限公司 基于几何变换的自适应环路滤波
CN109660797A (zh) * 2018-11-09 2019-04-19 北京达佳互联信息技术有限公司 自适应滤波方法、装置、电子设备及计算机可读介质

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
CE5-1: Adaptive loop filter with virtual boundary processing (JVET-N0088);Ching-Yeh Chen et al;《JVET》;摘要,第2章 *
CE5-1: Adaptive loop filter with virtual boundary processing (JVET-N0088-v1);Ching-Yeh Chen et al;JVET 14th Meeting;全文 *
Non-CE5: Padding method for samples at variant boundaries in ALF(JVET-O0625);Hongbin Liu et al;JVET 15th Meeting;全文 *

Also Published As

Publication number Publication date
US20220141461A1 (en) 2022-05-05
US20230156189A1 (en) 2023-05-18
JP2022539845A (ja) 2022-09-13
AU2020309130B2 (en) 2023-06-08
BR112022000542A2 (pt) 2022-03-15
KR20220030991A (ko) 2022-03-11
CA3146773A1 (en) 2021-01-14
CN117939170A (zh) 2024-04-26
WO2021004542A1 (en) 2021-01-14
CN114128278A (zh) 2022-03-01
KR102648121B1 (ko) 2024-03-18
JP7291845B2 (ja) 2023-06-15
US11589042B2 (en) 2023-02-21
ZA202200537B (en) 2023-11-29
JP2023110010A (ja) 2023-08-08
AU2020309130A1 (en) 2022-02-10
EP3984223A1 (en) 2022-04-20
EP3984223A4 (en) 2022-11-09
MX2022000123A (es) 2022-02-16

Similar Documents

Publication Publication Date Title
CN114128278B (zh) 自适应环路滤波中的样点填充
CN114097225B (zh) 用于自适应环路滤波的样点确定
US20220103817A1 (en) Handling video unit boundaries and virtual boundaries
WO2021155778A1 (en) Cross-component adaptive loop filter
JP7318120B2 (ja) 適応ループフィルタリングにおけるパディングプロセス
US11683488B2 (en) Adaptive loop filtering between different video units
US11979568B2 (en) Boundary location for adaptive loop filtering
US11979567B2 (en) Sample padding for cross-component adaptive loop filtering
CN117956146A (zh) 自适应环路滤波中不可用样点位置处的填充处理
CN113994671B (zh) 基于颜色格式处理视频单元边界和虚拟边界
RU2815441C2 (ru) Способ заполнения отсчетов при адаптивной контурной фильтрации
CN114128296A (zh) 自适应环路滤波中跨视频单元边界访问样点
CN113994671A (zh) 基于颜色格式处理视频单元边界和虚拟边界

Legal Events

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