CN116325728A - 自适应环路滤波的边界位置 - Google Patents

自适应环路滤波的边界位置 Download PDF

Info

Publication number
CN116325728A
CN116325728A CN202180046880.4A CN202180046880A CN116325728A CN 116325728 A CN116325728 A CN 116325728A CN 202180046880 A CN202180046880 A CN 202180046880A CN 116325728 A CN116325728 A CN 116325728A
Authority
CN
China
Prior art keywords
alf
boundary
chroma
luminance
luma
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202180046880.4A
Other languages
English (en)
Inventor
王洋
刘鸿彬
张莉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Douyin Vision Co Ltd
ByteDance Inc
Original Assignee
Douyin Vision Co Ltd
ByteDance Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Douyin Vision Co Ltd, ByteDance Inc filed Critical Douyin Vision Co Ltd
Publication of CN116325728A publication Critical patent/CN116325728A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/167Position within a video image, e.g. region of interest [ROI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

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

Abstract

描述了用于实施自适应环路滤波的技术。一种视频处理的示例方法包括:对于视频的视频单元和视频的比特流之间的转换,做出对第一亮度自适应环路滤波器ALF边界和第二亮度ALF边界的第一确定,亮度自适应环路滤波器跨该第一亮度ALF边界而被选择性地应用于视频单元的亮度分量;从第二亮度ALF边界做出对色度ALF边界的第二确定,色度自适应环路滤波器跨该色度ALF边界而被选择性地应用于视频单元的色度分量;以及基于第一确定和第二确定来执行转换。

Description

自适应环路滤波的边界位置
相关申请的交叉引用
根据适用的专利法和/或依据巴黎公约的规则,本申请适时要求于2020年6月30日提交的国际专利申请No.PCT/CN2020/099604的优先权和权益。出于根据法律的所有目的,前述申请的全部公开通过引用而并入作为本申请的公开的一部分。
技术领域
本专利文档涉及图像和视频编解码与解码。
背景技术
在互联网和其他数字通信网络中,数字视频占用了最大的带宽。随着能够接收和显示视频的连接用户设备数量的增加,预计数字视频使用的带宽需求将继续增长。
发明内容
本文档公开了可以由视频编码器和解码器用于在视频编码或解码期间执行自适应环路滤波的技术。
在一个示例方面,公开了一种视频处理方法。该方法包括:对于视频的视频单元和视频的比特流之间的转换,做出对第一亮度自适应环路滤波器ALF边界和第二亮度ALF边界的第一确定,其中,亮度自适应环路滤波器跨该第一亮度ALF边界而被选择性地应用于视频单元的亮度分量;从第二亮度ALF边界做出对色度ALF边界的第二确定,其中,色度自适应环路滤波器跨该色度ALF边界而被选择性地应用于视频单元的色度分量;以及基于第一确定和第二确定来执行转换。
在又一个示例方面,公开了一种视频编码器装置。视频编码器包括被配置为实施上述方法的处理器。
在又一个示例方面,公开了一种视频解码器装置。视频解码器包括被配置为实施上述方法的处理器。
在又一个示例方面,公开了一种存储有代码的计算机可读介质。该代码以处理器可执行代码的形式体现本文描述的方法之一。
这些以及其他特征将在本文档中描述。
附图说明
图1示出了图片中的4:2:2亮度和色度样点的标称垂直和水平位置;
图2是编码器框图的示例;
图3示出了具有分割为12个片和3个光栅扫描条带的18乘12亮度CTU的图片;
图4示出了具有分割为24个片和9个矩形条带的18乘12亮度CTU的图片;
图5示出了分割为4个片和4个矩形条带的图片;
图6示出了分割为15个片、24个条带和24个子图片的图片;
图7A-7C示出了:图7A是跨底图片边界的CTB;图7B是跨右图片边界的CTB;图7C是跨右底图片边界的CTB;
图8是8×8网格上的图片样点以及水平和垂直块边界,以及可以并行地去方块的8×8个样点的非重叠块的图示;
图9示出了滤波器开/关决策和强/弱滤波器选择中涉及的像素;
图10示出了EO样点分类的四个一维方向模式:水平(EO分类=0),垂直(EO分类=1),135°对角线(EO分类=2),以及45°对角线(EO分类=3);
图11示出了ALF滤波器形状的示例(色度:5×5菱形,亮度:7×7菱形);
图12A-图12D示出了:图12A-垂直梯度的子采样位置;图12B-水平梯度的子采样位置;图12C-对角线梯度的子采样位置;以及图12D-对角线梯度的子采样位置;
图13示出了VTM-4.0中对于亮度分量的环路滤波行缓冲器要求的示例;
图14示出了VTM-4.0中对于色度分量的环路滤波行缓冲器要求的示例;
图15示出了虚拟边界处的修改的块分类的示例;
图16示出了虚拟边界处的亮度分量的修改的ALF滤波的示例;
图17A-图17C示出了:图17A-VB以上/以下需要填充的一条所需的线(每侧);图17B-VB以上/以下需要填充的2条所需的线(每侧);图17C-VB以上/以下需要填充的3条所需的线(每侧);
图18示出了图片/子图片/条带/片边界处的亮度ALF滤波的重复填充的示例;
图19示出了VVC中的水平环绕运动补偿的示例;
图20示出了3×2布局中的HEC的图像;
图21A示出了CC-ALF关于其他环路滤波器的布置;
图21B示出了菱形的滤波器;
图22示出了JVET-P0080中的CC-ALF的在ALF虚拟边界处的重复填充的示例;
图23示出了具有8个唯一系数的3×4菱形滤波器;
图24是JVET-P1008中的CC-ALF的ALF虚拟边界处的重复填充的示例;
图25示出了JVET-P0106中的8个系数的CC-ALF滤波器形状;
图26示出了JVET-P0173中的6个系数的CC-ALF滤波器形状;
图27示出了JVET-P0251中的6个系数的CC-ALF滤波器形状;
图28示出了JC-CCALF工作流程的示例;
图29示出了具有8抽头4×3滤波器形状的CC-ALF滤波方法的要填充的样点的示例位置;
图30示出了镜像填充方法1的示例;
图31示出了镜像填充方法2的示例;
图32是其中可以实现所公开的技术的示例视频处理系统的框图;
图33是用于视频处理的示例硬件平台的框图;
图34是基于所公开的技术的一些实施方式的视频处理的示例方法的流程图;
图35是示出根据本公开的一些实施例的视频编解码系统的框图;
图36是示出根据本公开的一些实施例的编码器的框图;
图37是示出根据本公开的一些实施例的解码器的框图;以及
图38示出了基于所公开的技术的一些实施方式的视频处理的示例方法的流程图。
具体实施方式
在本文中使用章节标题是为了易于理解,而不是将每个章节中公开的技术和实施例的适用性仅限制于该章节。此外,在一些描述中使用H.266术语仅仅是为了易于理解,而不是为了限制所公开技术的范围。因此,本文描述的技术也适用于其他视频编解码器协议和设计。
1.简要介绍
本文涉及视频编解码技术。具体地,其涉及图片/子图片/条带/片边界,以及360度视频虚拟边界和ALF虚拟边界编解码,尤其对于跨分量自适应环路滤波(CC-ALF)和图像/视频编解码中的其他编解码工具。其可以应用于如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年共同成立了联合视频探索团队(Joint Video Exploration Team,JVET)。从那时起,JVET采用了许多新的方法,并将其放入名为联合探索模型(Joint Exploration Model,JEM)的参考软件中。2018年4月,VCEG(Q6/16)与ISO/IEC JTC1 SC29/WG11(MPEG)之间的联合视频专家小组(JVET)成立,致力于制定与HEVC相比比特率降低50%的VVC标准。
VVC草案的最新版本(即,多功能视频编解码(草案7))可以在以下地址找到:
http://phenix.it-sudparis.eu/jvet/doc_end_user/documents/16_Geneva/wg11/JVET-P2001-v14.zip
VVC的最新参考软件(名为VTM)可以在以下地址找到:
https://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_VTM/-/tags/VTM-7.0
2.1.色彩空间和色度子采样
色彩空间(又称为色彩模型(或色彩系统))是抽象数学模型,其将色彩的范围简单地描述为数字的元组,典型地为3或4个值或色彩分量(例如RGB)。基本上来讲,色彩空间是坐标系和子空间的细化。
对于视频压缩,最常用的色彩空间是YCbCr和RGB。
YCbCr、Y'CbCr或Y Pb/Cb Pr/Cr(也写作YCBCR或Y'CBCR)是用作视频和数字摄影系统中的色彩图像流水线的一部分的色彩空间族。Y'是亮度分量且CB和CR是蓝差异和红差异色度分量。Y'(加撇号)与Y不同,其是亮度,意味着光强度基于伽马校正的RGB原色非线性编码。
色度子采样是通过对色度信息实现比亮度信息更低的分辨率来编码图像的实践,利用了人类可视系统对色差的敏感度低于亮度的优势。
2.1.1.4:4:4
三个Y'CbCr分量中的每一个具有相同采样率,因此不存在色度子采样。该方案有时在高端胶片扫描仪和电影后期制作中使用。
2.1.2.4:2:2
两个色度分量被以亮度的采样率的一半采样:水平色度分辨率减半而垂直色度分辨率不变。这将未压缩的视频信号的带宽减小三分之一,而几乎没有视觉差异。4:2:2色彩格式的标称垂直和水平位置的示例在VVC工作草案中的图1中示出。
2.1.3.4:2:0
在4:2:0中,水平采样相较于4:1:1加倍,但由于Cb和Cr信道在此方案中仅在每条交替线采样,垂直分辨率减半。因此数据速率相同。Cb和Cr在水平和垂直方向均以2的系数进行子采样。4:2:0方案有三种变型,具有不同的水平和垂直位置。
·在MPEG-2中,Cb和Cr在水平方向上位于同一位置。Cb和Cr在垂直方向上位于像素之间(位于空隙中)。
·在JPEG/JFIF、H.261和MPEG-1中,Cb和Cr位于空隙中,在交替亮度样点的中间。
·在4:2:0DV中,Cb和Cr在水平方向上位于同一位置。在垂直方向上,它们位于交替的线上的同一位置。
表2-1.从chroma_format_idc和separate_colour_plane_flag推导的SubWidthC和SubHeightC值
Figure BDA0004029498370000061
2.2.典型视频编解码器的编解码流
图2示出了VVC的编码器框图的示例,其含有三个环路滤波块:去方块滤波器(DF)、样点自适应偏移(SAO)和ALF。与DF使用预定义的滤波器不同,SAO和ALF分别通过添加偏移并通过应用有限脉冲响应(FIR)滤波器而采用当前图片的原始样点来减小原始样点与重构样点之间的均方差,其中编解码的边信息信令通知偏移和滤波器系数。ALF位于每个图片的最后的处理阶段并且可以被视为试图捕捉并解决由之前的阶段产生的伪影的工具。
2.3.视频单元的示例定义
图片被分为一个或多个片行以及一个或多个片列。片是CTU的序列,其覆盖图片的矩形区域。片中的CTU在该片内被以光栅扫描顺序扫描。
条带由整数个完整片或图片的片内的整数个连续的完整CTU行构成。
支持条带的两个模式,即光栅扫描条带模式和矩形条带模式。在光栅扫描条带模式中,条带包含图片的片光栅扫描中的完整片的序列。在矩形条带模式中,条带包含共同地形成图片的矩形区域的若干完整片或其共同地形成图片的矩形区域的一个片的若干连续的完整CTU行。矩形条带内的片在对应于该条带的矩形区域内被以片光栅扫描顺序扫描。
子图片包含一个或多个条带,其共同地覆盖图片的矩形区域。
图3示出了图片的光栅扫描条带分割的示例,其中图片被划分为12个片和3个光栅扫描条带。
图4在VVC规范中示出了图片的矩形条带分割的示例,其中图片被划分为24个片(6个片列和4个片行)和9个矩形条带。
图4中的图片具有18乘12个亮度CTU,其分割为24个片和9个矩形条带(信息性)。
图5示出了分割为片和矩形条带的图片的示例,其中图片被划分为4个片(2个片列和2个片行)和4个矩形条带。
图6示出了图片的子图片分割的示例,其中图片被分割为15个片,覆盖不同维度的4乘4CTU、24个条带和24个子图片。
2.3.1.CTU/CTB尺寸
在VVC中,在SPS中由语法元素log2_ctu_size_minus2信令通知的CTU尺寸可以小至4×4。
7.3.2.3序列参数集RBSP语法
Figure BDA0004029498370000071
Figure BDA0004029498370000081
Figure BDA0004029498370000091
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.3.2.图片中的CTU
假设由M×N(典型地,M等于N,如HEVC/VVC中所定义)指示CTB/LCU尺寸,并且对于位于图片(或片或条带或其他类别的类型,图片边界被作为示例)边界的CTB,K×L个样点位于图片边界内,其中K<M或L<N。对于在图7A-7C中示出的那些CTB,CTB尺寸仍等于M×N,然而,CTB的底边界/右边界在图片之外。
图7示出了跨图片边界的CTB的示例,(a)K=M,L<N;(b)K<M,L=N;(c)K<M,L<N。并且,(a)跨底图片边界的CTB,(b)跨右图片边界的CTB,(c)跨右底图片边界的CTB。
2.4.去方块滤波器(DB)
DB的输入是环路滤波器之前的重构样点。
图片中的垂直边缘被首先滤波。然后用经过垂直边缘过滤过程修改的样本作为输入来过滤图片中的水平边缘。每个CTU的CTB中的垂直和水平边缘基于编解码单元而被分开地处理。编解码单元中的编解码块的垂直边缘从编解码块的左手侧上的边缘开始,以它们的几何顺序通过边缘继续向编解码块的右手侧进行滤波。编解码单元中的编解码块的水平边缘从编解码块的顶部上的边缘开始,以它们的几何顺序通过边缘继续向编解码块的底部进行滤波。
图8是8×8网格上的图片样点以及水平和垂直块边界,以及8×8个样点的非重叠块的图示,其可以被并行地去方块。
2.4.1.边界决策
滤波被应用于8×8块边界。此外,其必须是变换块边界或编解码子块边界(例如,由于使用仿射运动预测,ATMVP)。对于不是这样的边界,滤波器被禁用。
2.4.2.边界强度计算
对于变换块边界/编解码子块边界,如果其位于8×8网格中,其可以被滤波,并且对于该边缘的bS[xDi][yDj](其中[xDi][yDj]表示坐标)的设定分别被定义在表2-2和表2-3中。
表2-2.边界强度(当SPS IBC被禁用时)
Figure BDA0004029498370000111
表2-3.边界强度(当SPS IBC被启用时)
Figure BDA0004029498370000112
2.4.3.亮度分量的去方块决策
去方块决策过程被描述在该子章节中。
仅当全部条件1、条件2和条件3为真(TRUE)时使用较宽-较强亮度滤波器。
条件1为“大块条件”。该条件检测P侧和Q侧的样点是否属于大块,其分别由变量bSidePisLargeBlk和bSideQisLargeBlk表示。bSidePisLargeBlk和bSideQisLargeBlk被定义为如下。
bSidePisLargeBlk=((边缘类型是垂直且p0属于宽度>=32的CU)||(边缘类型是水平且p0属于高度>=32的CU))?TRUE:FALSE
bSideQisLargeBlk=((边缘类型是垂直且q0属于宽度>=32的CU)||(边缘类型是水平且q0属于高度>=32的CU))?TRUE:FALSE
基于bSidePisLargeBlk和bSideQisLargeBlk,条件1被定义为如下。
条件1(Condition1)=(bSidePisLargeBlk||bSidePisLargeBlk)?TRUE:FALSE
接下来,若Condition1为真,则条件2(Condition2)将被进一步检查。首先,推导以下变量:
–dp0,dp3,dq0,dq3首先像在HEVC中一样被导出
–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
Condition2=(d<β)?TRUE:FALSE
其中d=dp0+dq0+dp3+dq3。
如果条件1和条件2有效,是否有任何块使用子块被进一步检查:
Figure BDA0004029498370000121
Figure BDA0004029498370000131
最终,如果条件1和条件2均有效,则提出的去方块方法将检查条件3(Condition3)(大块强滤波条件),其定义如下所示。
在条件3StrongFilterCondition中,推导以下变量:
dpq像在HEVC中一样被导出。
sp3=Abs(p3-p0),像在HEVC中一样被导出。
if(p侧大于或等于32)
Figure BDA0004029498370000132
sq3=Abs(q0-q3),像在HEVC中一样被导出。
if(q侧大于或等于32)
Figure BDA0004029498370000133
如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(在上述HEVC去方块中,pi和qi是滤波垂直边缘的行内的第i个样点,或滤波水平边缘的列内的第i个样点)被线性插值替代如下:
—pi′=(fi*Middles,t+(64-fi)*Ps+32)>>6),裁剪到pi±tcPDi
—qj′=(gj*Middles,t+(64-gj)*Qs+32)>>6),裁剪到qj±tcPDj
其中tcPDi和tcPDj术语是第2.4.7节中描述的位置相关的裁剪,并且gj,fi,Middles,t,Ps和Qs给出如下。
2.4.5.色度的去方块控制
色度强滤波器被用在块边界的两侧上。此处,当色度边缘的两侧均大于或等于8(色度位置),且具有三个条件的以下决策被满足时选择色度滤波器:第一个条件是边界强度以及大块的决策。当正交地跨块边缘的块宽度或高度在色度样点域中等于或大于8时,提出的滤波器可以被应用。第二个和第三个条件与HEVC亮度去方块决策基本上相同,其分别为开/关决策和强滤波器决策。
在第一决策中,边界强度(bS)对于色度滤波被修改且条件被按顺序检查。如果满足一个条件,则跳过具有较低优先级的其余条件。
当bS等于2时,进行色度去方块;或当检测到大块边界时,bS等于1。
第二条件和第三条件与以下所示的HEVC亮度强滤波器决策基本上相同。
在第二条件中:
d如HEVC中亮度去方块一样被推导。
当d小于β时第二条件将为TRUE(真)。
在第三条件中,StrongFilterCondition被推导如下:
dpq如HEVC中一样被推导。
sp3=Abs(p3-p0),如HEVC中一样被推导
sq3=Abx(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.位置相关的裁剪
位置相关的裁剪tcPD被应用于亮度滤波过程的输出样点,该过程涉及在边界处修改7、5和3个样本的强和长滤波器。假设量化误差分布,建议对预期具有较高量化噪声的样点增加裁剪值,从而预期重构样点值与真实样点值具有较高偏差。
对于以非对称滤波器来滤波的每个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是裁剪之后的输出样点值,并且tcPitcQj是从VVC tc参数以及tcPD和tcQD推导的裁剪阈值。函数Clip3是VVC中指定的裁剪函数。
2.4.8.子块去方块调整
为了启用使用长滤波器和子块去方块的平行友好的去方块,长滤波器被限制为修改使用子块去方块的侧上的最多5个样点(AFFINE或ATMVP或DMVR),如长滤波器的亮度控制中所示。此外,子块去方块被调整,使得8×8网格上接近于CU或隐式TU边界的子块边界被限制为在每侧修改最多两个样点。
以下应用于不与CU边界对准的子块边界。
Figure BDA0004029498370000161
其中等于0的边对应于CU边界,等于2或等于orthogonalLength-2的边对应于距CU边界的子块边界的8个样点等。其中若使用TU的隐式划分则隐式TU为真。
2.5.样点自适应偏移(SAO)
SAO的输入是DB之后的重构样点。SAO的概念是,通过首先将区域样点分类为具有选择的分类符的多个类别,获取每个类别的偏移,然后对类别的每个样点添加偏移,来减小区域的平均样点失真,其中分类符索引和区域的偏移被编解码在比特流中。在HEVC和VVC中,该区域(SAO参数信令通知的单元)被定义为CTU。
可以满足低复杂度要求的两个SAO类型在HEVC中被采用。这两个类型是边缘偏移(EO)和带偏移(BO),将在下面进一步详细讨论。SAO类型的索引被编解码(其在[0,2]的范围内)。对于EO,样点分类基于根据一维方向模式(水平、垂直、135°对角线和45°对角线)比较当前样点与邻近样点。
图10A-10D示出了EO样点分类的四个一维方向模式:水平(EO分类=0)、垂直(EO分类=1)、135°对角线(EO分类=2)以及45°对角线(EO分类=3)。
对于给定EO类别,CTB内的每个样点被分类为五个类别之一。将标记为“c”的当前样点值与选定的一维模式中的两个相邻样本值(标记为“a”和“b”)进行比较。每个样点的分类规则被概括在表2-4中。类别1和4分别与沿着选择的一维模式的局部谷和局部峰相关联。类别2和3分别与沿着选择的一维模式的凹角和凸角相关联。如果当前样点不属于EO类别1–4,则其是类别0且不应用SAO。
表2-4.边缘偏移的样点分类规则
类别 条件
1 c<a且c<b
2 (c<a&&c==b)||(c==a&&c<b)
3 (c>a&&c==b)||(c==a&&c>b)
4 c>a&&c>b
5 以上都不是
2.6.自适应环路滤波(ALF)
在VVC中,应用具有基于块的滤波适配的自适应环路滤波(ALF)。对于亮度分量,基于局部梯度的方向和活动性,对于每个4×4块选择25个滤波器之一。
2.6.1.滤波器形状
使用两个菱形滤波器形状(如图11中所描述)。7×7菱形形状被应用于亮度分量,并且5×5菱形形状被应用于色度分量。
图11示出了ALF滤波器形状(色度:5×5菱形,亮度:7×7菱形)。
2.6.2.块分类
对于亮度分量,每个4×4块被分类为25个分类之一。基于它的方向性D和活动性
Figure BDA0004029498370000171
的量化值推导分类索引C,如下所示:
Figure BDA0004029498370000172
为计算D和
Figure BDA0004029498370000173
首先使用一维拉普拉斯算子计算水平、垂直和两个对角线方向的梯度:
Figure BDA0004029498370000174
Figure BDA0004029498370000175
Figure BDA0004029498370000176
Figure BDA0004029498370000181
其中,索引i和j是指4×4块内的左上样点的坐标,并且R(i,j)指示坐标(i,j)处的重构样点。
为了降低块分类的复杂度,应用子采样的一维拉普拉斯算子计算。如图2-1所示,相同的子采样位置用于所有方向的梯度计算。
(a)垂直梯度的子采样位置 (b)水平梯度的子采样位置
(c)对角线梯度的子采样位置 (d)对角线梯度的子采样位置
图2-1.子采样的拉普拉斯算子计算
则水平和垂直方向的梯度的D最大和最小值被设定为:
Figure BDA0004029498370000182
两个对角线方向的梯度的最大和最小值被设定为:
Figure BDA0004029498370000183
为推导方向性D的值,这些值被彼此比较并且与两个阈值t1和t2比较:
步骤1.如果
Figure BDA0004029498370000184
和/>
Figure BDA0004029498370000185
为真,则D被设定为0。
步骤2.如果
Figure BDA0004029498370000186
则从步骤3继续;否则从步骤4继续。/>
步骤3.如果
Figure BDA0004029498370000187
则D被设定为2;否则D被设定为1。
步骤4.如果
Figure BDA0004029498370000188
则D被设定为4;否则D被设定为3。
活动性值A计算如下:
Figure BDA0004029498370000189
A被进一步量化到0至4的范围(含端值),并且量化的值被表示为
Figure BDA00040294983700001810
对于图片中的色度分量,不应用分类方法,即单组的ALF系数被应用于每个色度分量。
2.6.3.滤波器系数和裁剪值的几何变换
在滤波每个4×4亮度块之前,几何变换(诸如旋转或对角线和垂直翻转)被应用于滤波器系数f(k,l)且被应用于对应的滤波器裁剪值c(k,l),其依赖于对该块计算的梯度值。这等同于将这些变换应用于滤波器支持区域中的样点。该思想是通过对齐应用ALF的不同块的方向性使它们更类似。引入三个几何变换,包含对角线、垂直翻转和旋转:
对角线:fD(k,l)=f(l,k),cD(k,l)=c(l,k), (2-9)
垂直翻转:fV(k,l)=f(k,K-l-1),cV(k,l)=c(k,K-l-1)
(2-10)
旋转:fR(k,l)=f(K-l-1,k),cR(k,l)=c(K-l-1,k) (2-11)
其中,K是滤波器的尺寸,并且0≤k,l≤K-1是系数坐标,使得位置(0,0)位于左上角,并且位置(K-1,K-1)位于右下角。变换被应用于滤波器系数f(k,l)且被应用于裁剪值c(k,l),其依赖于对该块计算的梯度值。变换与四个方向的四个梯度之间的关系被概括在下表中。
表2-5.一个块的计算的梯度和变换的映射
梯度值 变换
gd2<gd1且gh<gv 无变换
gd2<gd1且gv<gh 对角线
gd1<gd2且gh<gv 垂直翻转
gd1<gd2且gv<gh 旋转
2.6.4.滤波器参数信令通知
ALF滤波器参数在适配参数集(APS)中被信令通知。在一个APS中,可以信令通知多至25组亮度滤波器系数和裁剪值索引,以及多至八组色度滤波器系数和裁剪值索引。为减小比特开销,亮度分量的不同分类的滤波器系数可以合并。在条带标头中,用于当前条带的APS的索引被信令通知。
从APS解码的裁剪值索引允许裁剪值的表格对亮度和色度分量两者确定裁剪值。这些裁剪值依赖于内部比特深度。更准确地,裁剪值由以下公式获得:
AlfClip={round(2B-α*n)for n∈[0..N-1]} (2-12)
其中,B等于内部比特深度,α是预定义的常数值且等于2.35,并且N等于4,其是VVC中允许的裁剪值的数量。
在条带标头中,多至7个APS索引可以被信令通知以指定被用于当前条带的亮度滤波器组。滤波过程可以在CTB级别被进一步控制。标志总是被信令通知以指示ALF是否被应用于亮度CTB。亮度CTB可以在16个固定的滤波器组和来自APS的滤波器组中选择一个滤波器组。滤波器组索引对于亮度CTB被信令通知以指示应用哪个滤波器组。16个固定的滤波器组是预定义的且硬编解码在编码器和解码器中。
对于色度分量,APS索引在条带标头中被信令通知以指示正被用于当前条带的色度滤波器组。在CTB级别,如果APS中存在多于一个的色度滤波器组,则滤波器索引对于每个色度CTB被信令通知。
滤波器系数用等于128的范数(norm)量化。为了限制乘法复杂度,应用比特流一致性使得非中心位置的系数值应在-27至27–1的范围内(含端值)。中心位置系数在比特流中不被信令通知且被视为等于128。
2.6.5.滤波过程
在解码器侧,当ALF对于CTB被启用时,CU内的每个样点R(i,j)被滤波,得到样点值R′(i,j),如下所示,
R′(i,j)=R(i,j)+((∑k≠0l≠0f(k,l)×K(R(i+k,j+l)-R(i,j),c(k,l))+64)>>7) (2-13)
其中,f(k,l)表示解码的滤波器系数,K(x,y)是裁剪函数,且c(k,l)表示解码的裁剪参数。变量k和l在
Figure BDA0004029498370000201
与/>
Figure BDA0004029498370000202
之间变化,其中,L表示滤波器长度。裁剪函数K(x,y)=min(y,max(-y,x)),其对应于函数Clip3(-y,y,x)。
2.6.6.减少行缓冲器的虚拟边界滤波过程
在硬件和嵌入式软件中,基于图片的处理由于它的高图片缓冲器要求而实际上是不可接受的。使用片上图片缓冲器是非常昂贵的,并且使用片外图片缓冲器显著地增加了外部存储器存取、功耗以及数据存取延迟。因此,DF、SAO和ALF在真实产品中将从基于图片改变为基于LCU的解码。当基于LCU的处理被用于DF、SAO和ALF时,整个解码过程可以在光栅扫描中逐个LCU完成,并采用LCU流水线方式并行处理多个LCU。在此情况下,DF、SAO和ALF需要行缓冲器,因为处理一个LCU行需要来自上方LCU行的像素。如果使用片外行缓冲器(例如DRAM),则外部存储器带宽和功耗将增加;如果使用片上行缓冲器(例如SRAM),则芯片面积将增大。因此,虽然行缓冲器已经远小于图片缓冲器,但仍期望减少行缓冲器。
在VTM-4.0中,如图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亮度行)中。ALF滤波可以仅对行A-F进行。如图13所示,对每个4×4块进行ALF分类。每个4×4块分类需要尺寸8×8的活动性窗口,其进而需要9×9窗口以计算一维拉普拉斯算子来确定梯度。
因此,对于与行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行。
图13示出了对于亮度分量的VTM-4.0中的环路滤波行缓冲器要求。
图14示出了对于色度分量的VTM-4.0中的环路滤波行缓冲器要求。
为了消除SAO和ALF的行缓冲器要求,引入虚拟边界(VB)的概念以降低最新的VVC中的ALF的行缓冲器要求。修改的块分类和滤波被用于接近水平CTU边界的样点。如图13所示,VB被上移N个像素的水平LCU边界。对于每个LCU,SAO和ALF可以在较低的LCU到来之前处理VB上方的像素,但在较低的LCU到来之前无法处理VB下方的像素,这是由DF导致的。考虑到硬件实现方式的成本,提出的VB与水平LCU边界之间的空间对于亮度分量被设定为四个像素(即图13或图15中的N=4),并且对于色度分量被设定为两个像素(即N=2)。
图15示出了虚拟边界处的修改的块分类。
修改的块分类被应用于亮度分量,如图16中所示。对于虚拟边界上方的4×4块的一维拉普拉斯算子梯度计算,仅使用虚拟边界上方的样点。类似地,对于虚拟边界下方的4×4块的一维拉普拉斯算子梯度计算,仅使用虚拟边界下方的样点。考虑到一维拉普拉斯算子梯度计算中所使用的样点的数量减少,活动性值A的量化相应地缩放。
对于滤波过程,虚拟边界处的镜像(对称)填充操作被用于亮度和色度分量。如图16所示,当正被滤波的样点位于虚拟边界下方时,位于虚拟边界上方的邻近样点被填充。与此同时,另一侧对应的样点也被对称地填充。
图16示出了虚拟边界处的亮度分量的修改的ALF滤波。
对于另一示例,如果位于(i,j)的一个样点(例如,图17B中的具有虚线的P0A)被填充,则位于(m,n)(例如,图17B中的具有虚线的P3B)共用相同滤波器系数的对应的样点也被填充,即使该样点可用,如图17A-17C中示出。
图17A示出了VB以上/以下需要填充的(每侧)一个所需的行。
图17B示出了VB以上/以下需要填充的(每侧)2个所需的行。
图17C示出了VB以上/以下需要填充的(每侧)3个所需的行。
图27示出了虚拟边界处的修改的亮度ALF滤波的示例。
不同于在水平CTU边界处使用的镜像(对称)填充方法,当跨边界的滤波器被禁用时,重复(一侧)填充过程被应用于条带、片和子图片边界。重复(一侧)填充过程也被应用于图片边界处。填充的样点被用于分类和滤波过程。图18示出了在图片/子图片/条带/片边界处的亮度ALF滤波的重复填充方法的示例。
图18示出了图片/子图片/条带/片边界处的亮度ALF滤波的重复填充的示例。
2.7.360度视频编解码
VTM5中的水平环绕运动补偿是360专用编解码工具,其设计为改善等矩形(ERP)投射格式的重构360度视频的视觉质量。在常规运动补偿中,当运动矢量表示超出参考图片的图片边界的样点时,通过对来自对应的图片边界上的最接近的邻近图片进行复制,将重复填充应用于推导边界外样点的值。对于360度视频,该重复填充的方法不适合,并且可能导致重构的视窗视频中的被称为“接缝伪影”的视觉伪影。因为在球面上捕捉360度视频且固有地没有“边界”,投射域中的参考图片的边界之外的参考样点可以总是从球域中的邻近样点获取。对于一般投射格式,可能难以推导球域中的对应的邻近样点,因为其涉及2D到3D和3D到2D的坐标转换,以及分数样点位置的样点插值。该问题对于ERP投射格式的左边界和右边界要简单的多,因为左图片边界之外的球形邻域可以从右图片边界之内的样点获取,反之亦然。
图19示出了VVC中的水平环绕运动补偿的示例。
水平环绕运动补偿过程在图19中示出。当参考块的部分在投射域中在参考图片的左(或右)边界之外时,不采用重复填充,“边界之外”的部分取自位于投射域中朝向右(或左)边界的参考图片内的对应的球形邻域。重复填充仅用于顶和底图片边界。如在图19中示出,水平环绕运动补偿可以与在360度视频编解码中经常使用的非规范填充方法组合。在VVC中,这是通过信令通知高级别语法元素以指示环绕偏移而实现的,其应在填充之前被设定为ERP图片宽度;该语法被用于相应地调整水平环绕的位置。该语法不受左和右图片边界上的填充的具体量的影响,并且因此自然地支持ERP图片的非对称填充,即,当左和右填充不同时。当参考样点在参考图片的左和右边界之外时,水平环绕运动补偿提供对运动补偿更有意义的信息。
对于由多个面构成的投射格式,无论使用何种紧凑帧包装排列,帧包装的图片中的两个或更多个相邻面之间都会出现不连续性。例如,考虑在图20中所示的3×2帧包装配置,上半部分中的三个面在3D几何中是连续的,下半部分中的三个面在3D几何中是连续的,但帧包装的图片的上半部分和下半部分在3D几何中是不连续的。如果在该不连续处进行环路滤波操作,则面接缝伪影可能会在重构视频中变得可见。
为了减弱面接缝伪影,可以在帧包装的图片中禁用跨不连续的环路滤波操作。提出一个语法以信令通知垂直和/或水平虚拟边界,跨该垂直和/或水平虚拟边界禁用环路滤波操作。与使用两个片(每组连续面一个)以及禁用跨片的环路滤波操作相比,提出的信令通知方法更灵活,因为其不需要面尺寸为CTU尺寸的倍数。
图20示出了3×2布局中的HEC中的图像。
2.8.JVET-P0080:CE5-2.1,CE5-2.2:跨分量自适应环路滤波
图21A示出了CC-ALF[1]关于其他环路滤波器的布置。CC-ALF通过将线性、菱形形状滤波器(图21B)应用于每个色度分量的亮度信道来进行操作,其表达为:
Figure BDA0004029498370000231
其中
(x,y)是正细化的色度分量i位置
(xC,yC)是基于(x,y)的亮度位置
Si是对于色度分量i在亮度中的滤波器支持
ci(x0,y0)表示滤波器系数 (2-14)
图21A示出了CC-ALF关于其他环路滤波器的示例布置。图21B示出了一种菱形的滤波器。
支持区域围绕其居中的亮度位置(xC,yC)是基于亮度与色度平面之间的空域缩放因子来计算的。全部滤波器系数在APS中传输且具有8比特动态范围。APS可以在条带标头中被引用。用于条带的每个色度分量的CC-ALF系数也被存储在对应于时域子层的缓冲器中。这些时域子层滤波器系数组的重复使用促进使用条带级别标志。CC-ALF滤波器的应用在可变的块尺寸(即16×16,32×32,64×64,128×128)上进行控制并由对于样点的每个块接收的上下文编解码的标志信令通知。每个色度分量的块尺寸连同CC-ALF启用标志在条带级别被接收。水平虚拟边界的边界填充利用重复。对于其余边界,使用与常规ALF相同类型的填充。
2.8.1.JVET-P0080中的CC-ALF的规范
x.x.x.x色度样点的块的跨分量滤波过程
该过程的输入为:
–在亮度自适应环路滤波过程之前的重构亮度图片样点阵列recPictureL
–滤波的重构色度图片样点阵列alfPictureC
–色度位置(xC,yC),指定相对于当前图片的左顶样点的色度样点的当前块的左顶样点,
–色度样点的块的宽度ccAlfWidth
–色度样点的块的高度ccAlfHeight
–跨分量滤波器系数CcAlfCoeff[j],其中j=0...13
该过程的输出为修改的滤波的重构色度图片样点阵列ccAlfPicture。
编解码树块亮度位置(xCtb,yCtb)推导如下:
xCtb=((xC*SubWidthC)>>CtbLog2SizeY)<<CtbLog2SizeY
(8-1229)
yCtb=((yC*SubHeightC)>>CtbLog2SizeY)<<CtbLog2SizeY
(8-1229)
对于滤波的重构色度样点ccAlfPicture[xC+x][yC+y]的推导,样点alfPictureC[xC+x][yC+y]的当前色度块之内的每个重构的色度样点,其中x=0...ccAlfWidth-1,y=0...ccAlfHeight–1,被滤波如下:
–对应于色度位置(xC+x,yC+y)处的当前色度样点的亮度位置(xL,yL)被设定为等于((xC+x)*SubWidthC,(yC+y)*SubHeightC)
–阵列recPictureL内的亮度位置(hxL+i,vyL+j),其中i=-2...2,j=-2...3,推导如下:
–如果pps_loop_filter_across_virtual_boundaries_disabled_flag等于1,并且PpsVirtualBoundariesPosX[n]%CtbSizeY不等于0,并且对于任何n=0...pps_num_ver_virtual_boundaries–1,xL-PpsVirtualBoundariesPosX[n]大于或等于0且小于3,适用以下内容:
hxL+i=Clip3(PpsVirtualBoundariesPosX[n],pic_width_in_luma_samples-1,xL+i) (8-1229)
–否则,如果pps_loop_filter_across_virtual_boundaries_disabled_flag等于1,并且PpsVirtualBoundariesPosX[n]%CtbSizeY不等于0,并且对于任何n=0...pps_num_ver_virtual_boundaries–1,PpsVirtualBoundariesPosX[n]-xL大于0且小于4,适用以下内容:
hx+i=Clip3(0,PpsVirtualBoundariesPosX[n]-1,xL+i) (8-1230)
–否则,适用以下内容:
hx+i=Clip3(0,pic_width_in_luma_samples-1,xL+i) (8-1231)
–如果pps_loop_filter_across_virtual_boundaries_disabled_flag等于1,并且PpsVirtualBoundariesPosY[n]%CtbSizeY不等于0,并且对于任何n=0...pps_num_hor_virtual_boundaries–1,yL-PpsVirtualBoundariesPosY[n]大于或等于0且小于3,适用以下内容:
vy+j=Clip3(PpsVirtualBoundariesPosY[n],pic_height_in_luma_samples-1,yL+j) (8-1232)
–否则,如果pps_loop_filter_across_virtual_boundaries_disabled_flag等于1,并且PpsVirtualBoundariesPosY[n]%CtbSizeY不等于0,并且对于任何n=0...pps_num_hor_virtual_boundaries–1,PpsVirtualBoundariesPosY[n]-yL大于0且小于4,适用以下内容:
vy+j=Clip3(0,PpsVirtualBoundariesPosY[n]-1,yL+j) (8-1233)
–否则,适用以下内容:
vy+j=Clip3(0,pic_height_in_luma_samples-1,yL+j) (8-1234)
–变量clipLeftPos、clipRightPos、clipTopPos和clipBottomPos通过调用如条款8.8.5.5中指定的ALF边界位置推导过程来推导,其中(xCtb,yCtb)和(xL–xCtb,yL–yCtb)作为输入。
–垂直样点位置偏移yM2、yM1、yP1、yP2和yP3根据垂直亮度样点位置yL、clipLeftPos和clipRightPos在表2-6中被指定。
–水平样点位置偏移xM1、xM2、xP1和xP2根据水平亮度样点位置xL、clipLeftPos和clipRightPos在表2-7中被指定。
–变量curr推导如下:
curr=alfPictureC[xC+x,yC+y] (8-1286)
–跨分量滤波器系数f[j]的阵列被推导如下,其中j=0...13:
f[j]=CcAlfCoeff[j] (8-1287)
–变量sum推导如下:
Figure BDA0004029498370000261
Figure BDA0004029498370000271
sum=curr+(sum+64)>>7) (8-1290)
–修改的滤波的重构色度图片样点阵列ccAlfPicture[xC+x][yC+y]推导如下:
ccAlfPicture[xC+x][yC+y]=Clip3(0,(1<<BitDepthC)-1,sum)
(8-1291)
表2-6.根据垂直亮度样点位置yL、clipTopPos和clipBottomPos的yM1、yM2、yP1、yP2和yP3的规范
条件 yM2 yM1 yP1 yP2 yP3
yL==clipTopPos+1 -1 -1 1 2 3
yL==clipTopPos 0 0 1 2 3
yL==clipBottomPos-1 -2 -1 0 0 0
yL==clipBottomPos-2 -2 -1 1 1 1
yL==clipBottomPos-3 -2 -1 1 2 2
否则 -2 -1 1 2 3
表2-7.根据水平亮度样点位置xL、clipLeftPos和clipRightPos的xM1、xM2、xP1和xP2的规范
Figure BDA0004029498370000272
Figure BDA0004029498370000281
2.8.2.JVET-P0080中的虚拟边界处的填充方法
类似于亮度ALF/色度ALF,对于JVET-P0080中的CC-ALF在ALF虚拟边界处采用重复填充。如图22所示,如果ALF虚拟边界上方或下方的亮度样点不可用,则将最接近的样点行用于填充。详细填充方法还示出在表2-6中。
2.9.JVET-P1008:CE5相关的:关于CC-ALF的设计
在JVET-O0636[1]和CE5-2.1[2]中,引入并研究了跨分量自适应环路滤波(CC-ALF)。滤波器使用线性滤波器来滤波亮度样点值并从位于同一位置的滤波的输出生成色度信道的残差校正。滤波器被设计为与现有亮度ALF并行地运行。
提出了一种CC-ALF设计,其简化现有ALF并与现有ALF更好地对齐。该设计使用3×4菱形形状,其具有8个唯一系数。与CE5-2.1中研究的5×6设计相比,这将乘法的数量减小43%。当设置对CTU的色度分量启用色度ALF或CC-ALF的限制时,将每像素乘数限制为16(当前ALF为15)。滤波器系数动态范围被限制为6比特(有正负号(signed))。所提出的滤波器的图示和CE5-2.1方案的滤波器的图示都示出在图23中。
为了与现有ALF设计更好地对齐,在APS中信令通知滤波器系数。支持多至四个滤波器,并且滤波器选择在CTU级别被指示。在虚拟边界处使用对称线选择以进一步与ALF协调。最终,为了限制校正输出所需的存储的量,CC-ALF残差输出被裁剪为-2BitDepthC-1至2BitDepthC-1-1(含端值)。
关于JVET-P1008中的CC-ALF的规范。
x.x.x.x色度样点的块的跨分量滤波过程
该过程的输入为:
–在亮度自适应环路滤波过程之前的重构的亮度图片样点阵列recPictureL
–滤波的重构的色度图片样点阵列alfPictureC
–色度位置(xCtbC,yCtbC),指定相对于当前图片的左顶样点的当前色度编解码树块的左顶样点,
–色度样点的块的宽度ccAlfWidth
–色度样点的块的高度ccAlfHeight
–跨分量滤波器系数CcAlfCoeff[j],其中j=0...7
该过程的输出为修改的滤波的重构的色度图片样点阵列ccAlfPicture。
编解码树块亮度位置(xCtb,yCtb)被推导如下:
xCtb=((xCtbC*SubWidthC)>>CtbLog2SizeY)<<CtbLog2SizeY
(8-1229)
yCtb=((yCtbC*SubHeightC)>>CtbLog2SizeY)<<CtbLog2SizeY
(8-1229)
对于滤波的重构的色度样点ccAlfPicture[xCtbC+x][yCtbC+y]的推导,样点alfPictureC[xCtbC+x][yCtbC+y]的当前色度块之内的每个重构的色度样点,其中x=0...ccAlfWidth-1,y=0...ccAlfHeight–1,被滤波如下:
–对应于色度位置(xCtbC+x,yCtbC+y)处的当前色度样点的亮度位置(xL,yL)被设定为等于((xCtbC+x)*SubWidthC,(yCtbC+y)*SubHeightC)
–阵列recPictureL之内的亮度位置(hxL+i,vyL+j),其中i=-1...1,j=-1...2,推导如下:
–如果pps_loop_filter_across_virtual_boundaries_disabled_flag等于1,并且PpsVirtualBoundariesPosX[n]%CtbSizeY不等于0,并且对于任何n=0...pps_num_ver_virtual_boundaries–1,xL-PpsVirtualBoundariesPosX[n]大于或等于0且小于3,适用以下内容:
hxL+i=Clip3(PpsVirtualBoundariesPosX[n],pic_width_in_luma_samples-1,xL+i) (8-1229)
–否则,如果pps_loop_filter_across_virtual_boundaries_disabled_flag等于1,并且PpsVirtualBoundariesPosX[n]%CtbSizeY不等于0,并且对于任何n=0...pps_num_ver_virtual_boundaries–1,PpsVirtualBoundariesPosX[n]-xL大于0且小于4,适用以下内容:
hx+i=Clip3(0,PpsVirtualBoundariesPosX[n]-1,xL+i) (8-1230)
–否则,适用以下内容:
hx+i=Clip3(0,pic_width_in_luma_samples-1,xL+i) (8-1231)
–如果pps_loop_filter_across_virtual_boundaries_disabled_flag等于1,并且PpsVirtualBoundariesPosY[n]%CtbSizeY不等于0,并且对于任何n=0...pps_num_hor_virtual_boundaries-1,yL-PpsVirtualBoundariesPosY[n]大于或等于0且小于3,适用以下内容:
vy+j=Clip3(PpsVirtualBoundariesPosY[n],pic_height_in_luma_samples-1,yL+j) (8-1232)
–否则,如果pps_loop_filter_across_virtual_boundaries_disabled_flag等于1,并且PpsVirtualBoundariesPosY[n]%CtbSizeY不等于0,并且对于任何n=0...pps_num_hor_virtual_boundaries-1,PpsVirtualBoundariesPosY[n]-yL大于0且小于4,适用以下内容:
vy+j=Clip3(0,PpsVirtualBoundariesPosY[n]-1,yL+j) (8-1233)
–否则,适用以下内容:
vy+j=Clip3(0,pic_height_in_luma_samples-1,yL+j) (8-1234)
–变量clipLeftPos、clipRightPos、clipTopPos和clipBottomPos通过调用如条款8.8.5.5中指定的ALF边界位置推导过程来推导,其中(xCtb,yCtb)和(xL–xCtb,yL–yCtb)作为输入。
–垂直样点位置偏移yM1、yP1和yP2被根据垂直亮度样点位置yL、clipLeftPos和clipRightPos在表2-8中指定。
–水平样点位置偏移xM1和xP1根据水平亮度样点位置xL、clipLeftPos和clipRightPos在表2-9中被指定。
–变量curr推导如下:
curr=alfPictureC[xCtbC+x,yCtbC+y] (8-1286)
–跨分量滤波器系数f[j]的阵列被推导如下,其中j=0...7:
f[j]=CcAlfCoeff[j] (8-1287)
–变量sum推导如下:
Figure BDA0004029498370000311
sum=Clip3(-(1<<(BitDepthC-1)),(1<<(BitDepthC-1))-1,sum)
(8-1290)
sum=curr+(sum+64)>>(7+(BitDepthY-BitDepthC)) (8-1290)
–修改的滤波的重构的色度图片样点阵列ccAlfPicture[xCtbC+x][yCtbC+y]推导如下:
ccAlfPicture[xCtbC+x][yCtbC+y]=Clip3(0,(1<<BitDepthC)-1,sum)
(8-1291)
表2-8.根据垂直亮度样点位置yL、clipTopPos和clipBottomPos的yM1、yP1和yP2的规范
条件 yM1 yP1 yP2
yL==clipTopPos+1 -1 1 1
yL==clipTopPos 0 0 1
yL==clipBottomPos–1 0 0 1
yL==clipBottomPos–2 -1 1 1
否则 -1 1 2
表2-9.根据水平亮度样点位置xL、clipLeftPos和clipRightPos的xM1和xP1的规范
条件 xM1 xP1
xL==clipLeftPos 0 0
xL==clipRightPos-1 0 0
xL==clipRightPos–2 –1 1
否则 –1 1
2.9.1.JVET-P1008中的虚拟边界处的填充方法
对于JVET-P1008中的CC-ALF在ALF虚拟边界处采用镜像(对称)填充。如图24所示,如果ALF虚拟边界上方或下方的亮度样点不可用,则最接近的样点行被用于填充,并且对应的样点也需要被填充。详细的填充方法还在表2-9中示出。
2.10.JVET-P2025中的CC-ALF的简化方法
2.10.1.替代滤波器形状
CC-ALF滤波器形状被修改为具有8或6个系数,如以下图中所示。
图25示出了JVET-P0106中的8个系数的CC-ALF滤波器形状。
图26示出了JVET-P0173中的6个系数的CC-ALF滤波器形状。
图27示出了JVET-P0251中的6个系数的CC-ALF滤波器形状。
2.10.2.联合色度跨分量自适应滤波
联合色度跨分量自适应环路滤波(JC-CCALF)仅使用在编码器训练的一组CCALF滤波器系数来生成一个滤波的输出作为细化信号,其将直接被添加到Cb分量,并且被适当地加权然后添加到Cr分量。滤波器在CTU级别被指示或用块尺寸指示,其被每条带地信令通知。
支持的这样的色度块尺寸范围从最小色度CTU尺寸到当前色度CTU尺寸。最小色度CTU尺寸是色度CTU的最小可能宽度和高度之中的最小值,即Min(32/SubWidthC,32/SubHeightC),而当前色度CTU尺寸是当前色度CTU的宽度和高度之中的最小值,即Min(CtbWidthC,CtbHeightC)。例如,如果CTU尺寸被设定为最大128×128,则条带的JC-CCALF色度块尺寸对于4:4:4视频将为32×32、64×64和128×128之一,或对于4:2:0和4:2:2视频将为16×16、32×32和64×64之一。
图28示出了JC-CCALF工作流程。
3.本文中描述的技术方案所解决的技术问题
CC-ALF的边界填充的当前设计存在以下问题:
1.CC-ALF中的ALF虚拟边界处的填充方法可能是次优的,因为采用的填充样点可能效率较低。
2.存在处理ALF虚拟边界和视频单元边界(例如,图片/子图片/条带/片边界)和360度虚拟边界的不同方式,即,不同的填充方法。
3.在ALF中,应用镜像填充,其中距当前样点的距离被计算以确定需要填充哪个对应的样点。然而,在CC-ALF中,特别地,对于4:2:0,为了滤波一个色度样点,会涉及多个亮度样点。如何确定需要填充哪个对应的样点是未知的。
4.技术和实施例的示例列举
以下列举应被视为示例以解释总体构思。这些项目不应以狭窄方式理解。另外,这些项目可以以任何方式组合。
在本公开中所描述的一些实施例中,术语‘CC-ALF’表示一个编解码工具,其采用第二色彩分量(例如,Y)或多个色彩分量(例如,Y和Cr)中的样点值来细化第一色彩分量(例如,Cb)中的样点。其不限于在[1]-[4]中描述的CC-ALF技术。“对应的滤波样点集”可以用于表示包含在滤波器支持中的那些样点,例如,对于CC-ALF,“对应的滤波样点集”可以用于表示色度样点的并置的亮度样点和并置的亮度样点的邻近亮度样点,其被用于推导色度样点的细化/偏移。
用于ALF虚拟边界的填充方法可以表示为‘镜像填充’,其中对于位于(i,j)的第一不可用样点被填充,并且在ALF中的滤波器支持中的由‘第一样点的对应的样点’定义的第二样点(例如,位于(m,n)的对应的样点,其共用与当前亮度样点相同的距离)也被填充,即使第二样点可用。
在一个示例中,采用垂直填充,诸如位于(x,y1)的需要填充的样点被设定为等于位于(x,y2)的样点,其中y1表示样点或对应的样点的y坐标,并且y2表示用于填充的样点的y坐标。
在一个示例中,采用水平填充,诸如位于(x1,y)的需要填充的样点被设定为等于位于(x2,y)的样点,其中x1表示样点或对应的样点的x坐标,并且x2表示用于填充的样点的x坐标。
用于图片/子图片/条带/片边界/360度视频虚拟边界、标准边界(例如,顶和底边界)的填充方法可以被表示为‘重复填充’,其中如果要使用的一个样点在边界之外,其可以从边界之内的可用的一个样点复制。
在本公开中,如果位于不同的视频处理单元(例如,以下之一:当前图片,或当前子图片,或当前片,或当前条带,或当前块,或当前CTU,或当前处理单元(诸如ALF处理单元或窄ALF处理单元),或任何其他当前视频单元)中或不是重构的或跨滤波视频处理单元是不允许的,则邻近(相邻或非相邻)样点是“不可用”的。
“ALF边界”位置用于定义从哪里获得在ALF样点填充过程中使用的裁剪样点。当在ALF中(例如,在滤波过程或/和分类过程中)使用的一个样点跨顶/底/左/右边界时,该样点将被裁剪以不跨顶/底/左/右边界。“ALF边界”包括“亮度ALF边界”和“色度ALF边界”。当推导“色度ALF边界”时,首先推导“亮度ALF边界”,然后根据色彩格式将其映射到“色度ALF边界”。
处理CC-ALF的ALF虚拟边界
1.对于ALF虚拟边界处的需要填充的不可用亮度样点,对于CC-ALF中的滤波,镜像填充可以用于推导不可用亮度样点以及该不可用亮度样点的一个或多个对应的亮度样点。即,不可用样点的至少一个对应的亮度样点需要被填充,即使其可用。
a.在一个示例中,被确定为不可用亮度样点的对应样点的亮度样点可以用镜像填充方法来填充。
b.在一个示例中,亮度样点(在对应的滤波样点集中)是否被确定为不可用样点的对应样点可以依赖于样点相对于代表性亮度样点的距离或/和不可用样点相对于代表性亮度样点的距离。将代表性亮度样点所处的中心行表示为C。假设在CC-ALF中使用K×L滤波器形状,其采用K行样点和L列样点。
i.在一个示例中,代表性亮度样点被定义为需要滤波的当前色度样点的并置的亮度样点。
1)在一个示例中,当前色度样点的并置的亮度样点的位置可以依赖于色彩格式。
a)在一个示例中,位于(x,y)的色度样点的并置的亮度样点在4:2:0色度格式中被定义为位于(2x,2y)的样点。
b)在一个示例中,位于(x,y)的色度样点的并置的亮度样点在4:2:2色度格式中被定义为位于(2x,y)的样点。
c)在一个示例中,位于(x,y)的色度样点的并置的亮度样点在4:4:4色度格式中被定义为位于(x,y)的样点。
ii.在一个示例中,距离可以指包含有亮度样点的行与包含有代表性亮度样点的行之间的垂直距离。例如,距离可以被计算为亮度样点与代表性亮度样点之间的绝对y坐标差。
1)如图29所示,将代表性亮度样点所处的中心行、不可用样点的行以及对应的样点的行分别表示为C、M和N,并且M不等于N。将d(x,y)表示为x与y之间的绝对y坐标差,表示行x与行y之间的距离。
iii.在一个示例中,镜像填充中需要填充的对应样点的确定可以依赖于多少行的样点将被滤波器形状采用。
iv.在一个示例中,当d(C,M)=d(N,C)时,如果不可用样点位于行M(例如,M<C<N或M>C>N),则位于行N的样点被确定为需要填充的对应样点。
1)在一个示例中,如果值K(例如,K×L CC-ALF滤波器形状)为奇数,则ALF的镜像填充方法(例如,图16)可以用于CC-ALF,其中,中心亮度样点被选择为代表性亮度样点。
a)在一个示例中,假设K=5并且将yM2=-2、yM1=-1、yL=0、yP1=1、yP2=2分别表示为五个样点行的y坐标,如表4-5中示出。ALF虚拟边界等于CtbSizeY–4。
i.在一个示例中,当ALF虚拟边界在代表性亮度样点上方时,不可用样点可以用ALF虚拟边界下方的最接近的行填充。同时,对应的样点可以用对应样点所处的行上方的最接近的行填充。
1.在一个示例中,当yL等于CtbSizeY–3且行yM2不可用时,行yM2处的样点(x,yM2)可以用行yM1处的样点(x,yM1)填充。同时,对应的行yP2处的样点(x,yP2)可以使用行yP1处的样点(x,yP1)填充。
2.在一个示例中,当yL等于CtbSizeY–4且行yM2和yM1不可用时,行yM2和yM1处的样点(x,yM2)和(x,yM1)可以用行yL处的样点(x,yL)填充。同时,对应的行yP2和yP1处的样点(x,yP2)和(x,yP1)可以用行yL处的样点(x,yL)填充。
ii.在一个示例中,当ALF虚拟边界在代表性亮度样点下方时,不可用样点可以用ALF虚拟边界上方的最接近的行填充。同时,对应样点可以用对应样点所处的行下方的最接近的行填充。
1.在一个示例中,当yL等于CtbSizeY–6且行yP2不可用时,行yP2处的样点(x,yP2)可以使用行yP1处的样点(x,yP1)填充。同时,对应的行yM2处的样点(x,yM2)可以用行yM1处的样点(x,yM1)填充。
2.在一个示例中,当yL等于CtbSizeY–5且行yP2和yP1不可用时,行yP2和yP1处的样点(x,yP2)和(x,yP1)可以用行yL处的样点(x,yL)填充。同时,对应的行yM2和yM1处的样点(x,yM2)和(x,yM1)可以用行yL处的样点(x,yL)填充。
2)在一个示例中,如果值K(例如,K×L CC-ALF滤波器形状)是偶数,可以采用图30中定义的镜像填充方法。当位于ALF虚拟边界以上(以下)的行M(N)的不可用样点用ALF虚拟边界以下(以上)的最接近的样点行填充时,建议可以从行N(M)以上(以下)最接近的样点行填充位于ALF虚拟边界以下(以上)的行N(M)的对应样点。
a)在一个示例中,假设K=2且将yL=0和yP1=1表示为两个样点行的y坐标,如表4-1中所示。ALF虚拟边界等于CtbSizeY–4。
i.在一个示例中,当ALF虚拟边界在代表性亮度样点上方时,不可用样点可以用ALF虚拟边界下方的最接近的行填充。同时,对应样点可以用对应样点所处的行上方的最接近的行填充。
1.在一个示例中,当yL等于CtbSizeY–4且yL上方的行不可用时,对应的行yP1处的样点(x,yP1)可以用行yL处的样点(x,yL)填充。
ii.在一个示例中,当ALF虚拟边界在代表性亮度样点下方时,不可用样点可以用ALF虚拟边界上方的最接近的行填充。同时,对应样点可以用对应样点所处的行下方的最接近的行填充。
1.在一个示例中,当yL等于CtbSizeY–5且行yP1不可用时,行yP1处的样点(x,yP1)可以用行yL处的样点(x,yL)填充。
b)在一个示例中,假设K=4并且将yM1=-1、yL=0、yP1=1、yP2=2分别表示为四个样点行的y坐标,如表4-3中示出。ALF虚拟边界等于CtbSizeY–4。
i.在一个示例中,当ALF虚拟边界在代表性亮度样点上方时,不可用样点可以用ALF虚拟边界下方的最接近的行填充。同时,对应样点可以用对应样点所处的行上方的最接近的行填充。
1.在一个示例中,当yL等于CtbSizeY–3且yM1上方的行不可用时,对应的行yP2处的样点(x,yP2)可以使用行yP1处的样点(x,yP1)填充。
2.在一个示例中,当yL等于CtbSizeY–4且yM1上方的行和yM1不可用时,行yM1处的样点(x,yM1)可以用行yL处的样点(x,yL)填充。同时,对应的行yP2和yP1处的样点(x,yP2)和(x,yP1)可以用行yL处的样点(x,yL)填充。
ii.在一个示例中,当ALF虚拟边界在代表性亮度样点下方时,不可用样点可以用ALF虚拟边界上方的最接近的行填充。同时,对应样点可以用对应样点所处的行下方的最接近的行填充。
1.在一个示例中,当yL等于CtbSizeY–6且行yP2不可用时,行yP2处的样点(x,yP2)可以使用行yP1处的样点(x,yP1)填充。
2.在一个示例中,当yL等于CtbSizeY–5且行yP2和yP1不可用时,行yP2和行yP1处的样点(x,yP2)和(x,yP1)可以用行yL处的样点(x,yL)填充。同时,对应的行yM1处的样点(x,yM1)可以用行yL处的样点(x,yL)填充。
c)在一个示例中,假设K=6且将yM2=-2、yM1=-1、yL=0、yP1=1、yP2=2、yP3=3分别表示为六个样点行的y坐标,在表4-6中示出。ALF虚拟边界等于CtbSizeY–4。
i.在一个示例中,当ALF虚拟边界在代表性亮度样点上方时,不可用样点可以用ALF虚拟边界下方的最接近的行填充。同时,对应样点可以用对应样点所处的行上方的最接近的行填充。
1.在一个示例中,当yL等于CtbSizeY–2且yM2上方的行不可用时,对应的行yP3处的样点(x,yP3)可以用行yP2处的样点(x,yP2)填充。
2.在一个示例中,当yL等于CtbSizeY–3且yM2上方的行和yM2不可用时,行yM2处的样点(x,yM2)可以用行yM1处的样点(x,yM1)填充。同时,对应的行yP3和yP2处的样点(x,yP3)和(x,yP2)可以使用行yP1处的样点(x,yP1)填充。
3.在一个示例中,当yL等于CtbSizeY–4且yM2上方的行、yM2和yM1不可用时,行yM2和yM1处的样点(x,yM2)和(x,yM1)可以用行yL处的样点(x,yL)填充。同时,对应的行yP3、yP2和yP1处的样点(x,yP3)、(x,yP2)和(x,yP1)可以用行yL处的样点(x,yL)填充。
ii.在一个示例中,当ALF虚拟边界在代表性亮度样点下方时,不可用样点可以用ALF虚拟边界上方的最接近的行填充。同时,对应样点可以用对应样点所处的行下方的最接近的行填充。
1.在一个示例中,当yL等于CtbSizeY–7且行yP3不可用时,行yP3处的样点(x,yP3)可以用行yP2处的样点(x,yP2)填充。
2.在一个示例中,当yL等于CtbSizeY–6且行yP3和yP2不可用时,行yP3和yP2处的样点(x,yP3)和(x,yP2)可以用行的样点(x,yP1)填充。同时,对应的行yM2处的样点(x,yM2)可以用行yM1处的样点(x,yM1)填充。
3.在一个示例中,当yL等于CtbSizeY–5且行yP3、yP2和yP1不可用时,行yP3、yP2和yP1处的样点(x,yP3)、(x,yP2)和(x,yP1)可以用行yL处的样点(x,yL)填充。同时,对应的行yM2和yM1处的样点(x,yM2)和(x,yM1)可以用在该行的样点(x,yL)填充。
v.在一个示例中,如果不可用样点位于行M(例如,M<C),则当d(C,M)=d(N,C)–offset(其中offset为整数值,例如,等于1)或d(C,M)<d(N,C)时,位于行N的样点被确定为需要填充的对应的样点。
1)在一个示例中,如果不可用样点位于行M(例如,M>C),则当d(M,C)=d(C,N)–offset(其中offset为整数值,例如,等于1)或d(C,M)<d(N,C)时,位于行N的样点被视为需要填充的对应的样点。
2)在一个示例中,可以采用图31中所定义的镜像填充方法。当位于ALF虚拟边界以上(以下)的行M(N)的不可用样点用ALF虚拟边界下方(上方)的最接近的样点行填充时,建议可以从行N(M)以上(以下)最接近的样点行填充位于ALF虚拟边界以下(以上)的行N(M)的对应样点。
a)在一个示例中,假设K=2且将yL=0和yP1=1表示为两个样点行的y坐标,在表4-2中示出。ALF虚拟边界等于CtbSizeY–4。
i.在一个示例中,当ALF虚拟边界在代表性亮度样点下方时,不可用样点可以用ALF虚拟边界上方的最接近的行填充。同时,对应样点可以用对应样点所处的行下方的最接近的行填充。
1.在一个示例中,当yL等于CtbSizeY–5且行yP1不可用时,行yP1处的样点(x,yP1)可以用行yL处的样点(x,yL)填充。
b)在一个示例中,假设K=4且将yM1=-1、yL=0、yP1=1、yP2=2分别表示为四个样点行的y坐标,在表4-4中示出。ALF虚拟边界等于CtbSizeY–4。
i.在一个示例中,当ALF虚拟边界在代表性亮度样点上方时,不可用样点可以用ALF虚拟边界下方的最接近的行填充。同时,对应样点可以用对应样点所处的行上方的最接近的行填充。
1.在一个示例中,当yL等于CtbSizeY–4且yM1上方的行和yM1不可用时,行yM1处的样点(x,yM1)可以用行yL处的样点(x,yL)填充。同时,对应的行yP2处的样点(x,yP2)可以使用行yP1处的样点(x,
yP1)填充。
ii.在一个示例中,当ALF虚拟边界在代表性亮度样点下方时,不可用样点可以用ALF虚拟边界上方的最接近的行填充。同时,对应样点可以用对应样点所处的行下方的最接近的行填充。
1.在一个示例中,当yL等于CtbSizeY–6且行yP2不可用时,行yP2处的样点(x,yP2)可以使用行yP1处的样点(x,yP1)填充。
2.在一个示例中,当yL等于CtbSizeY–5且行yP2和yP1不可用时,行yP2和yP1处的样点(x,yP2)和(x,yP1)可以用行yL处的样点(x,yL)填充。同时,对应的行yM1处的样点(x,yM1)可以用行yL处的样点(x,yL)填充。
c)在一个示例中,假设K=6且将yM2=-2、yM1=-1、yL=0、yP1=1、yP2=2、yP3=3分别表示为六个样点行的y坐标,在表4-7中示出。ALF虚拟边界等于CtbSizeY–4。
i.在一个示例中,当ALF虚拟边界在代表性亮度样点上方时,不可用样点可以用ALF虚拟边界下方的最接近的行填充。同时,对应样点可以用对应样点所处的行上方的最接近的行填充。
1.在一个示例中,当yL等于CtbSizeY–3且yM2上方的行和yM2不可用时,行yM2处的样点(x,yM2)可以用行yM1处的样点(x,yM1)填充。同时,对应的行yP3处的样点(x,yP3)可以用行yP2处的样点(x,yP2)填充。
2.在一个示例中,当yL等于CtbSizeY–4且yM2上方的行、yM2和yM1不可用时,行yM2和yM1处的样点(x,yM2)和(x,yM1)可以用行yL处的样点(x,yL)填充。同时,对应的行yP3和yP2处的样点(x,yP3)和(x,yP2)可以使用行yP1处的样点(x,yP1)填充。
ii.在一个示例中,当ALF虚拟边界在代表性亮度样点下方时,不可用样点可以用ALF虚拟边界上方的最接近的行填充。同时,对应样点可以用对应样点所处的行下方的最接近的行填充。
1.在一个示例中,当yL等于CtbSizeY–7且行yP3不可用时,行yP3处的样点(x,yP3)可以用行yP2处的样点(x,yP2)填充。同时,对应的行yM2处的样点(x,yM2)可以用行yM1处的样点(x,yM1)填充。
2.在一个示例中,当yL等于CtbSizeY–6且行yP3和yP2不可用时,行yP3和yP2处的样点(x,yP3)和(x,yP2)可以使用行yP1处的样点(x,yP1)填充。同时,对应的行yM2和yM1处的样点(x,yM2)和(x,yM1)可以用行yL处的样点(x,yL)填充。
3.在一个示例中,当yL等于CtbSizeY–5且行yP3、yP2和yP1不可用时,行yP3、yP2和yP1处的样点(x,yP3)、(x,yP2)和(x,yP1)可以用yL处的样点(x,yL)填充。同时,对应的行yM2和yM1处的样点(x,yM2)和(x,yM1)可以用yL处的样点(x,yL)填充。
c.图29示出了当滤波位于(Xc,Yc)的当前色度样点时不可用样点(在ALF虚拟边界上方,由C0表示)和它的对应的样点(由C7表示)的位置的示例。
d.在一个示例中,在ALF虚拟边界处对于CC-ALF/色度ALF/亮度ALF/其他种类的滤波方法启用还是禁用镜像填充可以在序列级别/图片级别/条带级别/片组级别被信令通知,诸如在序列标头/图片标头/SPS/VPS/DPS/PPS/APS/条带标头/片组标头中。
e.在一个示例中,在ALF虚拟边界处启用还是禁用重复填充和/或镜像填充可以依赖于编解码信息。
i.在一个示例中,编解码信息可以指块尺寸,诸如CTU/CTB尺寸。
1)在一个示例中,当CTU/CTB尺寸大于或等于T时,诸如T=32/64/128时,在ALF虚拟边界处可以采用镜像填充。
2)在一个示例中,当CTU/CTB尺寸小于或等于T时,诸如T=4/8/16时,在ALF虚拟边界处可以采用重复填充。
2.在以上项目中,垂直填充可以由水平填充替代。
a.另外,可替代地,要使用的填充方向(垂直或水平)可以依赖于边界是水平边界还是垂直边界。
b.另外,可替代地,垂直距离可以由水平距离替代。
3.在项目符号1中的镜像填充方法可以用于图片/子图片/条带/片边界和/或360度边界。
关于如何定义ALF边界位置
4.可以针对亮度分量推导第一“亮度ALF边界”,并且可以针对色度分量推导第二“亮度ALF边界”,然后将其映射到“色度ALF边界”,其中第一“亮度ALF边界”可以不同于第二“亮度ALF边界”。
a.在一个示例中,可以推导第一“亮度ALF边界”并将其用于亮度ALF或/和CC-ALF。
i.在一个示例中,在推导第一“亮度ALF边界”期间,CC-ALF可以被视为亮度ALF。
b.在一个示例中,可以推导第二“亮度ALF边界”并将其用于色度ALF。
c.在一个示例中,第二“亮度ALF边界”可以依赖于色彩格式或/和滤波方法。
i.例如,可以在4:2:0色彩格式的色度ALF和4:2:2/4:4:4色彩格式的色度ALF中以不同方式推导第二“亮度ALF边界”。
ii.例如,4:2:0色彩格式的色度ALF中的第二“亮度ALF边界”可以与第一“亮度ALF边界”相同。
iii.例如,在推导第二“亮度ALF边界”期间,4:2:0色彩格式的色度ALF可以被视为亮度ALF。
iv.例如,在推导第二“亮度ALF边界”期间,4:2:0色彩格式的色度ALF可以被视为CC-ALF。
v.例如,可以以与亮度ALF中的第一“亮度ALF边界”不同的方式推导4:2:2/4:4:4色彩格式的色度ALF中的第二“亮度ALF边界”。
vi.例如,可以以与CC-ALF中的第一“亮度ALF边界”不同的方式推导4:2:2/4:4:4色彩格式的色度ALF中的第二“亮度ALF边界”。
d.“亮度ALF边界”位置可以指顶边界位置,或/和底边界位置,或/和左边界位置,或/和右边界位置。
e.在一个示例中,“亮度ALF边界”位置的推导可以依赖于指定ALF虚拟边界的偏移(或ALF虚拟边界和当前CTU的底边界之间的距离)的变量vbOffset,或/和指定从当前CTU的顶边界的偏移的变量M。将当前样点相对于当前亮度CTB的左顶样点的亮度位置表示为(x,y)。当前亮度CTB的左顶样点相对于当前图片的左顶样点的亮度位置为(xCtb,yCtb),当前亮度CTB的尺寸为CtbSizeY。
i.在一个示例中,当y-(CtbSizeY-vbOffset)大于或等于0时,顶边界位置可以被设置为等于yCtb+CtbSizeY-vbOffset。
ii.在一个示例中,如果当前CTB的顶边界是片/条带/子图片的顶边界,并且跨片/条带/子图片的环路滤波器被禁用,则当y小于M时,顶边界位置可以被设置为等于yCtb。
iii.在一个示例中,当CtbSizeY-vbOffset-y大于0且小于N时,底边界位置可以被设置为等于yCtb+CtbSizeY-vbOffset。
iv.在一个示例中,如果当前CTB的底边界是片/条带/子图片的底边界,并且跨片/条带/子图片的环路滤波器被禁用,则当CtbSizeY-y小于L时,底边界位置可以被设置为等于yCtb+CtbSizeY。
f.在一个示例中,CC-ALF中的第一“ALF亮度边界”与亮度ALF中的第一“ALF亮度边界”相同。
i.在一个示例中,在推导顶边界位置或/和底边界位置期间,对于CC-ALF和亮度ALF,vbOffset可以用相同的值。
ii.在一个示例中,在推导顶边界位置或/和底边界位置期间,对于CC-ALF和亮度ALF,M、N、L可以用相同的值。
g.在一个示例中,具有4:2:0格式的色度ALF中使用的第二“ALF亮度边界”与第一“ALF亮度边界”相同。
i.在一个示例中,当色度格式为4:2:0时,在推导顶边界位置或/和底边界位置期间,对于色度ALF和亮度ALF,vbOffset可以用相同的值。
1)在一个示例中,vbOffset是整数,诸如4。
ii.在一个示例中,当色度格式为4:2:0时,在推导顶边界位置或/和底边界位置期间,对于色度ALF和亮度ALF,M、N、L可以用相同的值。
1)在一个示例中,M、N、L是整数,诸如M=3,N=5,L=5。
h.在一个示例中,以与第一“ALF亮度边界”不同的方式推导在具有4:2:2/4:4:4色度格式的色度ALF中使用的第二“ALF亮度边界”。
i.在一个示例中,当色度格式为4:2:2/4:4:4时,在推导顶边界位置或/和底边界位置期间,vbOffset的不同值可以用于色度ALF和亮度ALF。
1)在一个示例中,vbOffset1用于色度ALF,并且vbOffset2用于亮度ALF。vbOffset1可以不等于vbOffset2,诸如vbOffset1=2,并且vbOffset2=4。
ii.在一个示例中,当色度格式为4:2:2/4:4:4时,在推导顶边界位置或/和底边界位置期间,vbOffset的不同值可以用于色度ALF和具有4:2:0色度格式的色度ALF。
iii.在一个示例中,当色度格式为4:2:2/4:4:4时,在推导顶边界位置或/和底边界位置期间,M、N、L的不同值可以用于色度ALF和亮度ALF。
1)在一个示例中,M1、N1、L1用于具有4:2:2/4:4:4色度格式的色度ALF,并且M2、N2、L2用于亮度ALF,其中M1可以不等于M2,N1可以不等于N2,L1可以不等于L2。
a)在一个示例中,M1=2,N1=3,L1=3,并且M2=3,N2=5,L2=5。
iv.在一个示例中,当色度格式为4:2:2/4:4:4时,在推导顶边界位置或/和底边界位置期间,M、N、L的不同值可以用于色度ALF和具有4:2:0色度格式的色度ALF。
i.在一个示例中,以与在CC-ALF中使用的第一“ALF亮度边界”不同的方式推导在具有4:2:2/4:4:4色度格式的色度ALF中使用的第二“ALF亮度边界”。
i.在一个示例中,当色度格式为4:2:2/4:4:4时,在推导顶边界位置或/和底边界位置期间,vbOffset的不同值可以用于色度ALF和CC-ALF。
1)在一个示例中,vbOffset3\1用于色度ALF,并且vbOffset2用于CC-ALF。vbOffset1可以不等于vbOffset2,诸如vbOffset1=2,并且vbOffset2=4。
ii.在一个示例中,当色度格式为4:2:2/4:4:4时,在推导顶边界位置或/和底边界位置期间,M、N、L的不同值可以用于色度ALF和CC-ALF。
1)在一个示例中,M1、N1、L1用于具有4:2:2/4:4:4色度格式的色度ALF,并且M2、N2、L2用于CC-ALF,其中M1可以不等于M2,N1可以不等于N2,L1可以不等于L2。
a)在一个示例中,M1=2,N1=3,L1=3,并且M2=3,N2=5,L2=5。
j.以上提出的方法可以被应用于360边界。
总体构思
5.是否和/或如何应用以上公开的方法可以在序列级别/图片级别/条带级别/片组级别被信令通知,诸如在序列标头/图片标头/SPS/VPS/DPS/PPS/APS/条带标头/片组标头中。
6.是否和/或如何应用以上公开的方法可以依赖于编解码信息,诸如色彩格式、单/双树分割、样点的位置(例如,相对于CU/CTU)。
表4-1.根据垂直亮度样点位置yL和applyAlfLineBufBoundary的yP1的规范
Figure BDA0004029498370000491
表4-2.根据垂直亮度样点位置yL和applyAlfLineBufBoundary的yP1的规范
Figure BDA0004029498370000492
/>
Figure BDA0004029498370000501
表4-3.根据垂直亮度样点位置yL和applyAlfLineBufBoundary的yM1、yP1和yP2的规范
Figure BDA0004029498370000502
表4-4.根据垂直亮度样点位置yL和applyAlfLineBufBoundary的yM1、yP1和yP2的规范
Figure BDA0004029498370000503
表4-5.根据垂直亮度样点位置yL和applyAlfLineBufBoundary的yM2,yM1、yP1和yP2的规范
Figure BDA0004029498370000511
表4-6.根据垂直亮度样点位置yL和applyAlfLineBufBoundary的yM2、yM1、yP1、yP2和yP3的规范
Figure BDA0004029498370000512
表4-7.根据垂直亮度样点位置yL和applyAlfLineBufBoundary的yM2、yM1、yP1、yP2和yP3的规范
Figure BDA0004029498370000521
5.实施例
通过示出删除和添加强调了改变。
5.1.实施例#1
在JVET-P0080中指定的工作草案可以改变如下。
x.x.x.x色度样点的块的跨分量滤波过程
该过程的输入为:
–在亮度自适应环路滤波过程之前的重构的亮度图片样点阵列recPictureL
–滤波的重构的色度图片样点阵列alfPictureC
–色度位置(xC,yC),指定相对于当前图片的左顶样点的色度样点的当前块的左顶样点,
–色度样点的块的宽度ccAlfWidth
–色度样点的块的高度ccAlfHeight
–跨分量滤波器系数CcAlfCoeff[j],其中j=0...13
该过程的输出为修改的滤波的重构的色度图片样点阵列ccAlfPicture。编解码树块亮度位置(xCtb,yCtb)被推导如下:
xCtb=(((xC*SubWidthC)>>CtbLog2SizeY)<<CtbLog2SizeY
(8-1229)
yCtb=(((yC*SubHeightC)>>CtbLog2SizeY)<<CtbLog2SizeY
(8-1229)
对于推导滤波的重构色度样点ccAlfPicture[xC+x][yC+y],样点alfPictureC[xC+x][yC+y]的当前色度块之内的每个重构色度样点,其中x=0...ccAlfWidth-1,y=0...ccAlfHeight–1,被滤波如下:
–对应于色度位置(xC+x,yC+y)处的当前色度样点的亮度位置(xL,yL)被设定为等于((xC+x)*SubWidthC,(yC+y)*SubHeightC)
–阵列recPictureL之内的亮度位置(hxL+i,vyL+j),其中i=-2…2,j=-2...3,被推导如下:
–如果pps_loop_filter_across_virtual_boundaries_disabled_flag等于1,并且PpsVirtualBoundariesPosX[n]%CtbSizeY不等于0,并且对于任何n=0...pps_num_ver_virtual_boundaries–1,xL-PpsVirtualBoundariesPosX[n]大于或等于0且小于3,适用以下内容:
hxL+i=Clip3(PpsVirtualBoundariesPosX[n],pic_width_in_luma_samples-1,xL+i) (8-1229)
–否则,如果pps_loop_filter_across_virtual_boundaries_disabled_flag等于1,并且PpsVirtualBoundariesPosX[n]%CtbSizeY不等于0,并且对于任何n=0...pps_num_ver_virtual_boundaries–1,PpsVirtualBoundariesPosX[n]-xL大于0且小于4,适用以下内容:
hx+i=Clip3(0,PpsVirtualBoundariesPosX[n]-1,xL+i) (8-1230)
–否则,适用以下内容:
hx+i=Clip3(0,pic_width_in_luma_samples-1,xL+i) (8-1231)
–如果pps_loop_filter_across_virtual_boundaries_disabled_flag等于1,并且PpsVirtualBoundariesPosY[n]%CtbSizeY不等于0,并且对于任何n=0...pps_num_hor_virtual_boundaries–1,yL-PpsVirtualBoundariesPosY[n]大于或等于0且小于3,适用以下内容:
vy+j=Clip3(PpsVirtualBoundariesPosY[n],pic_height_in_luma_samples-1,yL+j) (8-1232)
–否则,如果pps_loop_filter_across_virtual_boundaries_disabled_flag等于1,并且PpsVirtualBoundariesPosY[n]%CtbSizeY不等于0,并且对于任何n=0...pps_num_hor_virtual_boundaries–1,PpsVirtualBoundariesPosY[n]-yL大于0且小于4,适用以下内容:
vy+j=Clip3(0,PpsVirtualBoundariesPosY[n]-1,yL+j) (8-1233)
–否则,适用以下内容:
vy+j=Clip3(0,pic_height_in_luma_samples-1,yL+j) (8-1234)
–通过调用条款8.8.5.5中指定的ALF边界位置的推导过程来推导变量clipLeftPos、clipRightPos、clipTopPos和clipBottomPos,其中(xCtb,yCtb)和(xL–xCtb,yL–yCtb)作为输入。
–垂直样点位置偏移yM2、yM1、yP1、yP2和yP3被指定在:
表4-1.根据垂直亮度样点位置yL和applyAlfLineBufBoundary的yP1的规范
Figure BDA0004029498370000541
表4-2.根据垂直亮度样点位置yL和applyAlfLineBufBoundary的yP1的规范
Figure BDA0004029498370000542
–根据垂直亮度样点位置yL、clipLeftPos和clipRightPos。
–水平样点位置偏移xM1、xM2、xP1和xP2被在表y-yyyy中根据水平亮度样点位置xL、clipLeftPos和clipRightPos指定。
–变量curr推导如下:
curr=alfPictureC[xC+x,yC+y] (8-1286)
–跨分量滤波器系数f[j]的阵列推导如下,其中j=0...13:
f[j]=CcAlfCoeff[j] (8-1287)
–变量sum推导如下:
Figure BDA0004029498370000551
sum=curr+(sum+64)>>7) (8-1290)
–修改的滤波的重构色度图片样点阵列ccAlfPicture[xC+x][yC+y]推导如下:
ccAlfPicture[xC+x][yC+y]=Clip3(0,(1<<BitDepthC)-1,sum)
(8-1291)
表x-xx–根据垂直亮度样点位置yL、clipTopPos和clipBottomPos的yM1、yM2、yP1、yP2和yP3的规范
删去以下表:
条件 yM2 yM1 yP1 yP2 yP3
yL==clipTopPos+1 -1 -1 1 2 3
yL==clipTopPos 0 0 1 2 3
yL==clipBottomPos-1 -2 -1 0 0 0
yL==clipBottomPos-2 -2 -1 1 1 1
yL==clipBottomPos-3 -2 -1 1 2 2
否则 -2 -1 1 2 3
添加以下表替代以上表:
条件 yM2 yM1 yP1 yP2 yP3
yL==clipTopPos+1 -1 -1 1 2 2
yL==clipTopPos 0 0 1 1 1
yL==clipBottomPos-1 0 0 0 0 0
yL==clipBottomPos-2 0 0 1 1 1
yL==clipBottomPos-3 -1 -1 1 2 2
否则 -2 -1 1 2 3
表y-yy–根据水平亮度样点位置xL、clipLeftPos和clipRightPos的xM1、xM2、xP1和xP2的规范
条件 xM2 xM1 xP1 xP2
xL==clipLeftPos+1 –1 –1 1 2
xL==clipLeftPos 0 0 1 2
xL==clipRightPos-1 –2 –1 0 0
xL==clipRightPos–2 –2 –1 1 1
否则 –2 –1 1 2
5.2.实施例#2
在JVET-P0080中指定的工作草案可以改变如下。
x.x.x.x色度样点的块的跨分量滤波过程
该过程的输入为:
–在亮度自适应环路滤波过程之前的重构的亮度图片样点阵列recPictureL
–滤波的重构的色度图片样点阵列alfPictureC
–色度位置(xC,yC),指定相对于当前图片的左顶样点的色度样点的当前块的左顶样点,
–色度样点的块的宽度ccAlfWidth
–色度样点的块的高度ccAlfHeight
–跨分量滤波器系数CcAlfCoeff[j],其中j=0...13
该过程的输出为修改的滤波的重构的色度图片样点阵列ccAlfPicture。
编解码树块亮度位置(xCtb,yCtb)被推导如下:
xCtb=(((xC*SubWidthC)>>CtbLog2SizeY)<<CtbLog2SizeY
(8-1229)
yCtb=(((yC*SubHeightC)>>CtbLog2SizeY)<<CtbLog2SizeY
(8-1229)
对于推导滤波的重构色度样点ccAlfPicture[xC+x][yC+y],样点alfPictureC[xC+x][yC+y]的当前色度块之内的每个重构色度样点,其中x=0...ccAlfWidth-1,y=0...ccAlfHeight–1,被滤波如下:
–对应于色度位置(xC+x,yC+y)处的当前色度样点的亮度位置(xL,yL)被设定为等于((xC+x)*SubWidthC,(yC+y)*SubHeightC)
–阵列recPictureL之内的亮度位置(hxL+i,vyL+j),其中i=-2...2,j=-2...3,推导如下:
–如果pps_loop_filter_across_virtual_boundaries_disabled_flag等于1,并且PpsVirtualBoundariesPosX[n]%CtbSizeY不等于0,并且对于任何n=0...pps_num_ver_virtual_boundaries–1,xL-PpsVirtualBoundariesPosX[n]大于或等于0且小于3,适用以下内容:
hxL+i=Clip3(PpsVirtualBoundariesPosX[n],pic_width_in_luma_samples-1,xL+i) (8-1229)
–否则,如果pps_loop_filter_across_virtual_boundaries_disabled_flag等于1,并且PpsVirtualBoundariesPosX[n]%CtbSizeY不等于0,并且对于任何n=0...pps_num_ver_virtual_boundaries–1,PpsVirtualBoundariesPosX[n]-xL大于0且小于4,适用以下内容:
hx+i=Clip3(0,PpsVirtualBoundariesPosX[n]-1,xL+i) (8-1230)
–否则,适用以下内容:
hx+i=Clip3(0,pic_width_in_luma_samples-1,xL+i) (8-1231)
–如果pps_loop_filter_across_virtual_boundaries_disabled_flag等于1,并且PpsVirtualBoundariesPosY[n]%CtbSizeY不等于0,并且对于任何n=0...pps_num_hor_virtual_boundaries–1,yL-PpsVirtualBoundariesPosY[n]大于或等于0且小于3,适用以下内容:
vy+j=Clip3(PpsVirtualBoundariesPosY[n],pic_height_in_luma_samples-1,yL+j) (8-1232)
–否则,如果pps_loop_filter_across_virtual_boundaries_disabled_flag等于1,并且PpsVirtualBoundariesPosY[n]%CtbSizeY不等于0,并且对于任何n=0...pps_num_hor_virtual_boundaries–1,PpsVirtualBoundariesPosY[n]-yL大于0且小于4,适用以下内容:
vy+j=Clip3(0,PpsVirtualBoundariesPosY[n]-1,yL+j) (8-1233)
–否则,以下适用:
vy+j=Clip3(0,pic_height_in_luma_samples-1,yL+j) (8-1234)
–通过调用条款8.8.5.5中指定的ALF边界位置的推导过程来推导变量clipLeftPos、clipRightPos、clipTopPos和clipBottomPos,其中(xCtb,yCtb)和(xL–xCtb,yL–yCtb)作为输入。
–垂直样点位置偏移yM2、yM1、yP1、yP2和yP3指定在:
表4-1.根据垂直亮度样点位置yL和applyAlfLineBufBoundary的yP1的规范
Figure BDA0004029498370000581
/>
Figure BDA0004029498370000591
表4-2.根据垂直亮度样点位置yL和applyAlfLineBufBoundary的yP1的规范
Figure BDA0004029498370000592
–根据垂直亮度样点位置yL、clipLeftPos和clipRightPos。
–水平样点位置偏移xM1、xM2、xP1和xP2在表y-yyyy中根据水平亮度样点位置xL、clipLeftPos和clipRightPos被指定。
–变量curr推导如下:
curr=alfPictureC[xC+x,yC+y] (8-1286)
–跨分量滤波系数f[j]的阵列被推导如下,其中j=0...13:
f[j]=CcAlfCoeff[j] (8-1287)
–变量sum推导如下:
Figure BDA0004029498370000593
/>
Figure BDA0004029498370000601
sum=curr+(sum+64)>>7) (8-1290)
–修改的滤波的重构色度图片样点阵列ccAlfPicture[xC+x][yC+y]推导如下:
ccAlfPicture[xC+x][yC+y]=Clip3(0,(1<<BitDepthC)-1,sum)
(8-1291)
表x-xx–根据垂直亮度样点位置yL、clipTopPos和clipBottomPos的yM1、yM2、yP1、yP2和yP3的规范
删去以下表:
条件 yM2 yM1 yP1 yP2 yP3
yL==clipTopPos+1 -1 -1 1 2 3
yL==clipTopPos 0 0 1 2 3
yL==clipBottomPos-1 -2 -1 0 0 0
yL==clipBottomPos-2 -2 -1 1 1 1
yL==clipBottomPos-3 -2 -1 1 2 2
否则 -2 -1 1 2 3
添加以下表:
Figure BDA0004029498370000602
Figure BDA0004029498370000611
表y-yy–根据水平亮度样点位置xL、clipLeftPos和clipRightPos的xM1、xM2、xP1和xP2的规范
条件 xM2 xM1 xP1 xP2
xL==clipLeftPos+1 –1 –1 1 2
xL==clipLeftPos 0 0 1 2
xL==clipRightPos-1 –2 –1 0 0
xL==clipRightPos–2 –2 –1 1 1
否则 –2 –1 1 2
5.3.实施例#3
在JVET-P1008中指定的工作草案可以改变如下。
x.x.x.x色度样点的块的跨分量滤波过程
该过程的输入为:
–在亮度自适应环路滤波过程之前的重构的亮度图片样点阵列recPictureL
–滤波的重构的色度图片样点阵列alfPictureC
–色度位置(xCtbC,yCtbC),指定相对于当前图片的左顶样点的当前色度编解码树块的左顶样点,
–色度样点的块的宽度ccAlfWidth
–色度样点的块的高度ccAlfHeight
–跨分量滤波器系数CcAlfCoeff[j],其中j=0...7
该过程的输出为修改的滤波的重构色度图片样点阵列ccAlfPicture。
编解码树块亮度位置(xCtb,yCtb)被推导如下:
xCtb=(((xCtbC*SubWidthC)>>CtbLog2SizeY)<<CtbLog2SizeY
(8-1229)
yCtb=(((yCtbC*SubHeightC)>>CtbLog2SizeY)<<CtbLog2SizeY
(8-1229)
对于推导滤波的重构色度样点ccAlfPicture[xCtbC+x][yCtbC+y],样点alfPictureC[xCtbC+x][yCtbC+y]的当前色度块之内的每个重构色度样点,其中x=0...ccAlfWidth-1,y=0...ccAlfHeight–1,被滤波如下:
–对应于色度位置(xCtbC+x,yCtbC+y)处的当前色度样点的亮度位置(xL,yL)被设定为等于((xCtbC+x)*SubWidthC,(yCtbC+y)*SubHeightC)
–阵列recPictureL内的亮度位置(hxL+i,vyL+j),其中i=-1...1,j=-1...2,被推导如下:
–如果pps_loop_filter_across_virtual_boundaries_disabled_flag等于1,并且PpsVirtualBoundariesPosX[n]%CtbSizeY不等于0,并且对于任何n=0...pps_num_ver_virtual_boundaries–1,xL-PpsVirtualBoundariesPosX[n]大于或等于0且小于3,适用以下内容:
hxL+i=Clip3(PpsVirtualBoundariesPosX[n],pic_width_in_luma_samples-1,xL+i) (8-1229)
–否则,如果pps_loop_filter_across_virtual_boundaries_disabled_flag等于1,并且PpsVirtualBoundariesPosX[n]%CtbSizeY不等于0,并且对于任何n=0...pps_num_ver_virtual_boundaries–1,PpsVirtualBoundariesPosX[n]-xL大于0且小于4,适用以下内容:
hx+i=Clip3(0,PpsVirtualBoundariesPosX[n]-1,xL+i) (8-1230)
–否则,适用以下内容:
hx+i=Clip3(0,pic_width_in_luma_samples-1,xL+i) (8-1231)
–如果pps_loop_filter_across_virtual_boundaries_disabled_flag等于1,并且PpsVirtualBoundariesPosY[n]%CtbSizeY不等于0,并且对于任何n=0...pps_num_hor_virtual_boundaries–1,yL-PpsVirtualBoundariesPosY[n]大于或等于0且小于3,适用以下内容:
vy+j=Clip3(PpsVirtualBoundariesPosY[n],pic_height_in_luma_samples-1,yL+j) (8-1232)
–否则,如果pps_loop_filter_across_virtual_boundaries_disabled_flag等于1,并且PpsVirtualBoundariesPosY[n]%CtbSizeY不等于0,并且对于任何n=0...pps_num_hor_virtual_boundaries–1,PpsVirtualBoundariesPosY[n]-yL大于0且小于4,适用以下内容:
vy+j=Clip3(0,PpsVirtualBoundariesPosY[n]-1,yL+j) (8-1233)
–否则,适用以下内容:
vy+j=Clip3(0,pic_height_in_luma_samples-1,yL+j) (8-1234)
–通过调用条款8.8.5.5中指定的ALF边界位置的推导过程来推导变量clipLeftPos、clipRightPos、clipTopPos和clipBottomPos,其中(xCtb,yCtb)和(xL–xCtb,yL–yCtb)作为输入。
–垂直样点位置偏移yM1、yP1和yP2被指定在:
表4-1.根据垂直亮度样点位置yL和applyAlfLineBufBoundary的yP1的规范
Figure BDA0004029498370000631
表4-2.根据垂直亮度样点位置yL和applyAlfLineBufBoundary的yP1的规范
Figure BDA0004029498370000632
–根据垂直亮度样点位置yL、clipLeftPos和clipRightPos。
–水平样点位置偏移xM1和xP1在表y-yyyy中根据水平亮度样点位置xL、clipLeftPos和clipRightPos指定。
–变量curr推导如下:
curr=alfPictureC[xCtbC+x,yCtbC+y] (8-1286)
–跨分量滤波系数f[j]的阵列被推导如下,其中j=0...7:
f[j]=CcAlfCoeff[j] (8-1287)
–变量sum推导如下:
Figure BDA0004029498370000642
sum=Clip3(-(1<<(BitDepthC-1)),(1<<(BitDepthC-1))-1,sum)
(8-1290)
sum=curr+(sum+64)>>(7+(BitDepthY-BitDepthC)) (8-1290)
–修改的滤波的重构色度图片样点阵列ccAlfPicture[xCtbC+x][yCtbC+y]推导如下:
ccAlfPicture[xCtbC+x][yCtbC+y]=Clip3(0,(1<<BitDepthC)-1,sum)
(8-1291)
表x-xx–根据垂直亮度样点位置yL、clipTopPos和clipBottomPos的yM1、yP1和yP2的规范
删去以下表:
条件 yM1 yP1 yP2
yL==clipTopPos+1 -1 1 1
yL==clipTopPos 0 0 1
yL==clipBottomPos-1 0 0 1
yL==clipBottomPos-2 -1 1 1
否则 -1 1 2
添加以下表
Figure BDA0004029498370000641
/>
Figure BDA0004029498370000651
表y-yy–根据水平亮度样点位置xL、clipLeftPos和clipRightPos的xM1和xP1的规范
条件 xM1 xP1
xL==clipLeftPos 0 0
xL==clipRightPos-1 0 0
xL==clipRightPos–2 –1 1
否则 –1 1
5.4.实施例#4
在JVET-P1008中指定的工作草案可以改变如下。改变以粗体和斜体突出显示,并且删除的文本用双方括号标记(例如,[[a]]表示删除字符“a”)。
x.x.x.x色度样点的块的跨分量滤波过程
该过程的输入为:
–在亮度自适应环路滤波过程之前的重构的亮度图片样点阵列recPictureL
–滤波的重构的色度图片样点阵列alfPictureC
–色度位置(xCtbC,yCtbC),指定相对于当前图片的左顶样点的当前色度编解码树块的左顶样点,
–色度样点的块的宽度ccAlfWidth
–色度样点的块的高度ccAlfHeight
–跨分量滤波器系数CcAlfCoeff[j],其中j=0...7
该过程的输出为修改的滤波的重构色度图片样点阵列ccAlfPicture。
编解码树块亮度位置(xCtb,yCtb)被推导如下:
xCtb=(((xCtbC*SubWidthC)>>CtbLog2SizeY)<<CtbLog2SizeY
(8-1229)
yCtb=(((yCtbC*SubHeightC)>>CtbLog2SizeY)<<CtbLog2SizeY
(8-1229)
对于推导滤波的重构色度样点ccAlfPicture[xCtbC+x][yCtbC+y],样点alfPictureC[xCtbC+x][yCtbC+y]的当前色度块之内的每个重构色度样点,其中x=0...ccAlfWidth-1,y=0...ccAlfHeight–1,被滤波如下:
–对应于色度位置(xCtbC+x,yCtbC+y)处的当前色度样点的亮度位置(xL,yL)被设定为等于((xCtbC+x)*SubWidthC,(yCtbC+y)*SubHeightC)
–阵列recPictureL内的亮度位置(hxL+i,vyL+j),其中i=-1...1,j=-1...2,被推导如下:
–如果pps_loop_filter_across_virtual_boundaries_disabled_flag等于1,并且PpsVirtualBoundariesPosX[n]%CtbSizeY不等于0,并且对于任何n=0...pps_num_ver_virtual_boundaries–1,xL-PpsVirtualBoundariesPosX[n]大于或等于0且小于3,适用以下内容:
hxL+i=Clip3(PpsVirtualBoundariesPosX[n],pic_width_in_luma_samples-1,xL+i) (8-1229)
–否则,如果pps_loop_filter_across_virtual_boundaries_disabled_flag等于1,并且PpsVirtualBoundariesPosX[n]%CtbSizeY不等于0,并且对于任何n=0...pps_num_ver_virtual_boundaries–1,PpsVirtualBoundariesPosX[n]-xL大于0且小于4,适用以下内容:
hx+i=Clip3(0,PpsVirtualBoundariesPosX[n]-1,xL+i) (8-1230)
–否则,适用以下内容:
hx+i=Clip3(0,pic_width_in_luma_samples-1,xL+i) (8-1231)
–如果pps_loop_filter_across_virtual_boundaries_disabled_flag等于1,并且PpsVirtualBoundariesPosY[n]%CtbSizeY不等于0,并且对于任何n=0...pps_num_hor_virtual_boundaries–1,yL-PpsVirtualBoundariesPosY[n]大于或等于0且小于3,适用以下内容:
vy+j=Clip3(PpsVirtualBoundariesPosY[n],pic_height_in_luma_samples-1,yL+j) (8-1232)
–否则,如果pps_loop_filter_across_virtual_boundaries_disabled_flag等于1,并且PpsVirtualBoundariesPosY[n]%CtbSizeY不等于0,并且对于任何n=0...pps_num_hor_virtual_boundaries–1,PpsVirtualBoundariesPosY[n]-yL大于0且小于4,适用以下内容:
vy+j=Clip3(0,PpsVirtualBoundariesPosY[n]-1,yL+j) (8-1233)
–否则,适用以下内容:
vy+j=Clip3(0,pic_height_in_luma_samples-1,yL+j) (8-1234)
–通过调用条款8.8.5.5中指定的ALF边界位置的推导过程来推导变量clipLeftPos、clipRightPos、clipTopPos和clipBottomPos,其中(xCtb,yCtb)和(xL–xCtb,yL–yCtb)作为输入。
–垂直样点位置偏移yM1、yP1和yP2指定在:
表4-1.根据垂直亮度样点位置yL和applyAlfLineBufBoundary的yP1的规范
Figure BDA0004029498370000671
表4-2.根据垂直亮度样点位置yL和applyAlfLineBufBoundary的yP1的规范
Figure BDA0004029498370000672
–根据垂直亮度样点位置yL、clipLeftPos和clipRightPos。
–水平样点位置偏移xM1和xP1在表y-yyyy中根据水平亮度样点位置xL、clipLeftPos和clipRightPos指定。
–变量curr推导如下:
curr=alfPictureC[xCtbC+x,yCtbC+y] (8-1286)
–跨分量滤波器系数f[j]的阵列被推导如下,其中j=0...7:
f[j]=CcAlfCoeff[j] (8-1287)
–变量sum推导如下:
Figure BDA0004029498370000681
sum=Clip3(-(1<<(BitDepthC-1)),(1<<(BitDepthC-1))-1,sum)
(8-1290)
sum=curr+(sum+64)>>(7+(BitDepthY-BitDepthC)) (8-1290)
–修改的滤波的重构色度图片样点阵列ccAlfPicture[xCtbC+x][yCtbC+y]推导如下:
ccAlfPicture[xCtbC+x][yCtbC+y]=Clip3(0,(1<<BitDepthC)-1,sum)
(8-1291)
表x-xx–根据垂直亮度样点位置yL、clipTopPos和clipBottomPos的yM1、yP1和yP2的规范
删去以下表:
条件 yM1 yP1 yP2
yL==clipTopPos+1 -1 1 1
yL==clipTopPos 0 0 1
yL==clipBottomPos-1 0 0 1
yL==clipBottomPos-2 -1 1 1
否则 -1 1 2
添加以下表:
条件 yM1 yP1 yP2
yL==clipTopPos+1 -1 1 1
yL==clipTopPos 0 0 0
yL==clipBottomPos-1 0 0 0
yL==clipBottomPos-2 -1 1 1
否则 -1 1 2
表y-yy–根据水平亮度样点位置xL、clipLeftPos和clipRightPos的xM1和xP1的规范
条件 xM1 xP1
xL==clipLeftPos 0 0
xL==clipRightPos-1 0 0
xL==clipRightPos–2 –1 1
否则 –1 1
5.5.实施例#5
在JVET-S2001-v5中指定的工作草案可以改变如下。
8.8.5自适应环路滤波过程
8.8.5.2亮度样点的编解码树块滤波过程
–通过调用条款8.8.5.5中指定的ALF边界位置的推导过程来推导变量clipLeftPos、clipRightPos、clipTopPos、clipBottomPos、clipTopLeftFlag和clipBotRightFlag,其中(xCtb,yCtb)[[和]]、(x,y)和设置为等于4的变量vbOffset作为输入。
–通过调用条款8.8.5.6中指定的ALF样点填充过程来修改变量hx+i和vy+j,其中(xCtb,yCtb)、(hx+i,vy+j)、0、clipLeftPos、clipLeftPos、clipBottomPos、clipTopLeftFlag和clipBotRightFlag作为输入。
8.8.5.3亮度样点的ALF转置和滤波器索引的推导过程
–通过调用条款8.8.5.5中指定的ALF边界位置的推导过程来推导变量clipLeftPos、clipRightPos、clipTopPos、clipBottomPos、clipTopLeftFlag和clipBotRightFlag,其中(xCtb,yCtb)[[和]]、(x4,
y4)和设置为等于4的变量vbOffset作为输入。
8.8.5.4色度样点的编解码树块滤波过程
–通过调用条款8.8.5.5中指定的ALF边界位置的推导过程来推导变量clipLeftPos、clipRightPos、clipTopPos、clipBottomPos、clipTopLeftFlag和clipBotRightFlag,其中(xCtbC*SubWidthC,yCtbC*SubHeightC)[[和]]、(x*SubWidthC,y*SubHeightC)和设置为等于2*SubHeightC的变量vbOffset作为输入。
–通过调用条款8.8.5.6中指定的ALF样点填充过程来修改变量hx+i和vy+j,其中(xCtbC*SubWidthC,yCtbC*SubHeightC)、(hx+i,vy+j)、设置为等于1的变量isChroma、clipLeftPos、clipRightPos、clipTopPos、clipBottomPos、clipTopLeftFlag和clipBotRightFlag作为输入。
8.8.5.5ALF边界位置推导过程
该过程的输入为:
–亮度位置(xCtb,yCtb),指定相对于当前图片的左顶样点的当前亮度编解码树块的左顶样点,
–亮度位置(x,y),指定相对于当前亮度编解码树块的左顶样点的当前样点[[。]],
–变量vbOffset,指定ALF虚拟边界的偏移。
变量clipTopPos修改如下:
–如果y-(CtbSizeY-[[4]]vbOffset)大于或等于0,则变量clipTopPos被设置为等于yCtb+CtbSizeY-[[4]]vbOffset。
–否则,如果VirtualBoundariesPresentFlag等于1,并且对于任何n=0...NumHorVirtualBoundaries-1,yCtb+y-VirtualBoundaryPosY[n]大于或等于0且小于3,则适用以下内容:
clipTopPos=VirtualBoundaryPosY[n] (1497)
–否则,如果y小于3并且以下一个或多个条件为真,则变量clipTopPos被设置为等于yCtb:
–当前编解码树块的顶边界是片的顶边界,并且pps_loop_filter_across_tiles_enabled_flag等于0。
–当前编解码树块的顶边界是条带的顶边界,并且pps_loop_filter_across_slices_enabled_flag等于0。
–当前编解码树块的顶边界是子图片的顶边界,并且sps_loop_filter_across_subpic_enabled_flag[CurrSubpicIdx]等于0。
变量clipBottomPos修改如下:
–如果VirtualBoundariesPresentFlag等于1,则VirtualBoundaryPosY[n]不等于pps_pic_height_in_luma_samples-1或0,并且对于任何n=0...NumHorVirtualBoundaries-1,VirtualBoundaryPosY[n]-yCtb-y大于0且小于5,则适用以下内容:
clipBottomPos=VirtualBoundaryPosY[n](1498)
–否则,如果CtbSizeY-[[4]]vbOffset-y大于0且小于5,则变量clipBottomPos被设置为等于yCtb+CtbSizeY-[[4]]vbOffset。
–否则,如果CtbSizeY-y小于5,并且以下一个或多个条件为真,则变量clipBottomPos被设置为等于yCtb+CtbSizeY:
–当前编解码树块的底边界是片的底边界,并且pps_loop_filter_across_tiles_enabled_flag等于0。
–当前编解码树块的底边界是条带的底边界,并且pps_loop_filter_across_slices_enabled_flag等于0。
–当前编解码树块的底边界是子图片的底边界,并且sps_loop_filter_across_subpic_enabled_flag[CurrSubpicIdx]等于0。
8.8.5.6ALF样点填充过程
该过程的输入为:
–[[亮度]]样点位置(xCtb,yCtb),指定相对于当前图片的左顶样点的当前亮度编解码树块的左顶样点,
–亮度位置(x,y),指定相对于当前图片的左顶样点的邻近样点,
–标志isChroma,指定色彩分量是否是色度分量,
–左垂直边界位置clipLeftPos,
–右垂直边界位置clipRightPos,
–上水平边界位置clipTopPos,
–下水平边界位置clipBottomPos,
–左顶边界标志clipTopLeftFlag,
–右底边界标志clipBotRightFlag。
该过程的输出为:
–修改的[[亮度]]样点位置(x,y),指定相对于当前图片的左顶样点的邻近样点,
8.8.5.7跨分量滤波过程
–通过调用条款8.8.5.5中指定的ALF边界位置推导的过程来推导变量clipLeftPos、clipRightPos、clipTopPos、clipBottomPos、clipTopLeftFlag和clipBotRightFlag,其中(xCtbC*SubWidthC,yCtbC*SubHeightC)[[和]](x*SubWidthC,y*SubHeightC)和设置为等于4的变量vbOffset作为输入。
–通过调用条款8.8.5.6中指定的ALF样点填充过程来修改变量hx+i和vy+j,其中(xCtbC*SubWidthC,yCtbC*SubHeightC)、(hx+i,vy+j)、设置为等于0的变量isChroma、clipLeftPos、clipRightPos、clipTopPos、clipBottomPos、clipTopLeftFlag和clipBotRightFlag作为输入。
5.6.实施例#6
在JVET-S2001-v5中指定的工作草案可以改变如下。
8.8.5自适应环路滤波过程
8.8.5.2亮度样点的编解码树块滤波过程
–通过调用条款8.8.5.5中指定的ALF边界位置的推导过程来推导变量clipLeftPos、clipRightPos、clipTopPos、clipBottomPos、clipTopLeftFlag和clipBotRightFlag,其中(xCtb,yCtb)[[和]]、(x,y)和设置为等于4的变量vbOffset作为输入。
–通过调用条款8.8.5.6中指定的ALF样点填充过程来修改变量hx+i和vy+j,其中(xCtb,yCtb)、(hx+i,vy+j)、0、clipLeftPos、clipRightPos、clipTopPos、clipBottomPos、clipTopLeftFlag和clipBotRightFlag作为输入。
8.8.5.3亮度样点的ALF转置和滤波器索引的推导过程
–通过调用条款8.8.5.5中指定的ALF边界位置的推导过程来推导变量clipLeftPos、clipRightPos、clipTopPos、clipBottomPos、clipTopLeftFlag和clipBotRightFlag,其中(xCtb,yCtb)[[和]]、(x4,y4)和设置为等于4的变量vbOffset作为输入。
8.8.5.4色度样点的编解码树块滤波过程
–通过调用条款8.8.5.5中指定的ALF边界位置的推导过程来推导变量clipLeftPos、clipRightPos、clipTopPos、clipBottomPos、clipTopLeftFlag和clipBotRightFlag,其中(xCtbC*SubWidthC,yCtbC*SubHeightC)[[和]]、(x*SubWidthC,y*SubHeightC)和设置为等于2*SubHeightC的变量vbOffset作为输入。
–通过调用条款8.8.5.6中指定的ALF样点填充过程来修改变量hx+i和vy+j,其中(xCtbC*SubWidthC,yCtbC*SubHeightC)、(hx+i,vy+j)、设置为等于1的变量isChroma、clipLeftPos、clipRightPos、clipTopPos、clipBottomPos、clipTopLeftFlag和clipBotRightFlag作为输入。
8.8.5.5ALF边界位置的推导过程
该过程的输入为:
–亮度位置(xCtb,yCtb),指定相对于当前图片的左顶样点的当前亮度编解码树块的左顶样点,
–亮度位置(x,y),指定相对于当前亮度编解码树块的左顶样点的当前样点[[。]],
–变量vbOffset,指定ALF虚拟边界的偏移。
变量clipTopPos修改如下:
–如果y-(CtbSizeY-[[4]]vbOffset)大于或等于0,则变量clipTopPos被设置为等于yCtb+CtbSizeY-[[4]]vbOffset。
–否则,如果VirtualBoundariesPresentFlag等于1,并且对于任何n=0...NumHorVirtualBoundaries-1,yCtb+y-VirtualBoundaryPosY[n]大于或等于0且小于3,则适用以下内容:
clipTopPos=VirtualBoundaryPosY[n] (1497)
–否则,如果y小于[[3]](vbOffset>>1)+1,并且以下一个或多个条件为真,则变量clipTopPos被设置为等于yCtb:
–当前编解码树块的顶边界是片的顶边界,并且pps_loop_filter_across_tiles_enabled_flag等于0。
–当前编解码树块的顶边界是条带的顶边界,并且pps_loop_filter_across_slices_enabled_flag等于0。
–当前编解码树块的顶边界是子图片的顶边界,并且sps_loop_filter_across_subpic_enabled_flag[CurrSubpicIdx]等于0。
变量clipBottomPos修改如下:
–如果VirtualBoundariesPresentFlag等于1,则VirtualBoundaryPosY[n]不等于pps_pic_height_in_luma_samples-1或0,并且对于任何n=0...NumHorVirtualBoundaries-1,VirtualBoundaryPosY[n]-yCtb-y大于0且小于5,则适用以下内容:
clipBottomPos=VirtualBoundaryPosY[n] (1498)
–否则,如果CtbSizeY-[[4]]vbOffset-y大于0且小于[[5]]vbOffset+1,则变量clipBottomPos被设置为等于yCtb+CtbSizeY-[[4]]vbOffset。
–否则,如果CtbSizeY-y小于[[5]]vbOffset+1,并且以下一个或多个条件为真,则变量clipBottomPos被设置为等于yCtb+CtbSizeY:
–当前编解码树块的底边界是片的底边界,并且pps_loop_filter_across_tiles_enabled_flag等于0。
–当前编解码树块的底边界是条带的底边界,并且pps_loop_filter_across_slices_enabled_flag等于0。
–当前编解码树块的底边界是子图片的底边界,并且sps_loop_filter_across_subpic_enabled_flag[CurrSubpicIdx]等于0。
8.8.5.6ALF样点填充过程
该过程的输入为:
–[[亮度]]样点位置(xCtb,yCtb),指定相对于当前图片的左顶样点的当前亮度编解码树块的左顶样点,
–亮度位置(x,y),指定相对于当前图片的左顶样点的邻近样点,
–标志isChroma,指定色彩分量是否是色度分量,
–左垂直边界位置clipLeftPos,
–右垂直边界位置clipRightPos,
–上水平边界位置clipTopPos,
–下水平边界位置clipBottomPos,
–左顶边界标志clipTopLeftFlag,
–右底边界标志clipBotRightFlag。
该过程的输出为:
–修改的[[亮度]]样点位置(x,y),指定相对于当前图片的左顶样点的邻近样点,
8.8.5.7跨分量滤波过程
–通过调用条款8.8.5.5中指定的ALF边界位置的推导过程来推导变量clipLeftPos、clipRightPos、clipTopPos、clipBottomPos、clipTopLeftFlag和clipBotRightFlag,其中(xCtbC*SubWidthC,yCtbC*SubHeightC)[[和]](x*SubWidthC,y*SubHeightC)和设置为等于4的变量vbOffset作为输入。
–通过调用条款8.8.5.6中指定的ALF样点填充过程来修改变量hx+i和vy+j,其中(xCtbC*SubWidthC,yCtbC*SubHeightC)、(hx+i,vy+j)、设置为等于0的变量isChroma、clipLeftPos、clipRightPos、clipTopPos、clipBottomPos、clipTopLeftFlag和clipBotRightFlag作为输入。
5.7.实施例#7
在JVET-S2001-v5中指定的工作草案可以改变如下。
8.8.5自适应环路滤波过程
8.8.5.2亮度样点的编解码树块滤波过程
–通过调用条款8.8.5.5中指定的ALF边界位置的推导过程来推导变量clipLeftPos、clipRightPos、clipTopPos、clipBottomPos、clipTopLeftFlag和clipBotRightFlag,其中(xCtb,yCtb)[[和]]、(x,y)和设置为等于4的变量vbOffset作为输入。
–通过调用条款8.8.5.6中指定的ALF样点填充过程来修改变量hx+i和vy+j,其中(xCtb,yCtb)、(hx+i,vy+j)、0、clipLeftPos、clipRightPos、clipTopPos、clipBottomPos、clipTopLeftFlag和clipBotRightFlag作为输入。
8.8.5.3亮度样点的ALF转置和滤波器索引的推导过程
–通过调用条款8.8.5.5中指定的ALF边界位置的推导过程来推导变量clipLeftPos、clipRightPos、clipTopPos、clipBottomPos、clipTopLeftFlag和clipBotRightFlag,其中(xCtb,yCtb)[[和]]、(x4,y4)和设置为等于4的变量vbOffset作为输入。
8.8.5.4色度样点的编解码树块滤波过程
–通过调用条款8.8.5.5中指定的ALF边界位置的推导过程来推导变量clipLeftPos、clipRightPos、clipTopPos、clipBottomPos、clipTopLeftFlag和clipBotRightFlag,其中(xCtbC*SubWidthC,yCtbC*SubHeightC)[[和]]、(x*SubWidthC,y*SubHeightC)和设置为等于2*SubHeightC的变量vbOffset作为输入。
–通过调用条款8.8.5.6中指定的ALF样点填充过程来修改变量hx+i和vy+j,其中(xCtbC*SubWidthC,yCtbC*SubHeightC)、(hx+i,vy+j)、设置为等于1的变量isChroma、clipLeftPos、clipRightPos、clipTopPos、clipBottomPos、clipTopLeftFlag和clipBotRightFlag作为输入。
8.8.5.5ALF边界位置推导过程
该过程的输入为:
–亮度位置(xCtb,yCtb),指定相对于当前图片的左顶样点的当前亮度编解码树块的左顶样点,
–亮度位置(x,y),指定相对于当前亮度编解码树块的左顶样点的当前样点[[。]],
–变量vbOffset,指定ALF虚拟边界的偏移。
变量clipTopPos修改如下:
–如果y-(CtbSizeY-[[4]]vbOffset)大于或等于0,则变量clipTopPos被设置为等于yCtb+CtbSizeY-[[4]]vbOffset。
–否则,如果VirtualBoundariesPresentFlag等于1,并且对于任何n=0...NumHorVirtualBoundaries-1,yCtb+y-VirtualBoundaryPosY[n]大于或等于0且小于[[3]](vbOffset>>1)+1,则适用以下内容:
clipTopPos=VirtualBoundaryPosY[n] (1497)
–否则,如果y小于[[3]](vbOffset>>1)+1,并且以下一个或多个条件为真,则变量clipTopPos被设置为等于yCtb:
–当前编解码树块的顶边界是片的顶边界,并且pps_loop_filter_across_tiles_enabled_flag等于0。
–当前编解码树块的顶边界是条带的顶边界,并且pps_loop_filter_across_slices_enabled_flag等于0。
–当前编解码树块的顶边界是子图片的顶边界,并且sps_loop_filter_across_subpic_enabled_flag[CurrSubpicIdx]等于0。
变量clipBottomPos修改如下:
–如果VirtualBoundariesPresentFlag等于1,则VirtualBoundaryPosY[n]不等于pps_pic_height_in_luma_samples-1或0,并且对于任何n=0...NumHorVirtualBoundaries-1,VirtualBoundaryPosY[n]-yCtb-y大于0且小于5vbOffset+1,则适用以下内容:
clipBottomPos=VirtualBoundaryPosY[n] (1498)
–否则,如果CtbSizeY-[[4]]vbOffset-y大于0且小于[[5]]vbOffset+1,则变量clipBottomPos被设置为等于yCtb+CtbSizeY-[[4]]vbOffset。
–否则,如果CtbSizeY-y小于[[5]]vbOffset+1,并且以下一个或多个条件为真,则变量clipBottomPos被设置为等于yCtb+CtbSizeY:
–当前编解码树块的底边界是片的底边界,并且pps_loop_filter_across_tiles_enabled_flag等于0。
–当前编解码树块的底边界是条带的底边界,并且pps_loop_filter_across_slices_enabled_flag等于0。
–当前编解码树块的底边界是子图片的底边界,并且sps_loop_filter_across_subpic_enabled_flag[CurrSubpicIdx]等于0。
8.8.5.6ALF样点填充过程
该过程的输入为:
–[[亮度]]样点位置(xCtb,yCtb),指定相对于当前图片的左顶样点的当前亮度编解码树块的左顶样点,
–亮度位置(x,y),指定相对于当前图片的左顶样点的邻近样点,
–标志isChroma,指定色彩分量是否是色度分量,
–左垂直边界位置clipLeftPos,
–右垂直边界位置clipRightPos,
–上水平边界位置clipTopPos,
–下水平边界位置clipBottomPos,
–左顶边界标志clipTopLeftFlag,
–右底边界标志clipBotRightFlag。
该过程的输出为:
–修改的[[亮度]]样点位置(x,y),指定相对于当前图片的左顶样点的邻近样点,
8.8.5.7跨分量滤波过程
–通过调用条款8.8.5.5中指定的ALF边界位置的推导过程来推导变量clipLeftPos、clipRightPos、clipTopPos、clipBottomPos、clipTopLeftFlag和clipBotRightFlag,其中(xCtbC*SubWidthC,yCtbC*SubHeightC)[[和]](x*SubWidthC,y*SubHeightC)和设置为等于4的变量vbOffset作为输入。
–通过调用条款8.8.5.6中指定的ALF样点填充过程来修改变量hx+i和vy+j,以(xCtbC*SubWidthC,yCtbC*SubHeightC)、(hx+i,vy+j)、设置为等于0的变量isChroma、clipLeftPos、clipRightPos、clipTopPos、clipBottomPos、clipTopLeftFlag和clipBotRightFlag作为输入。
图32是示出可以在其中实施本文公开的各种技术的示例视频处理系统1900的框图。各种实施方式可以包括系统1900的一些或所有组件。系统1900可以包括用于接收视频内容的输入1902。视频内容可以以例如8或10比特多分量像素值的原始或未压缩格式被接收,或者可以是压缩或编码格式。输入1902可以表示网络接口、外围总线接口或存储接口。网络接口的示例包括诸如以太网、无源光网络(PON)等的有线接口和诸如Wi-Fi或蜂窝接口的无线接口。
系统1900可以包括可以实施本文档中描述的各种编解码或编码方法的编解码组件1904。编解码组件1904可以将来自输入1902的视频的平均比特率减小到编解码组件1904的输出,以产生视频的编解码表示。编解码技术因此有时被称为视频压缩或视频转码技术。编解码组件1904的输出可以被存储,或者经由如组件1906所表示的通信连接来发送。在输入1902处接收的视频的存储或通信传送的比特流(或编解码)表示可以由组件1908用于生成像素值或传送到显示接口1910的可显示视频。从比特流表示生成用户可视视频的过程有时被称为视频解压缩。此外,虽然某些视频处理操作被称为“编解码”操作或工具,但是将理解,编解码工具或操作在编码器处被使用,并且反转编解码结果的对应的解码工具或操作将由解码器执行。
外围总线接口或显示接口的示例可以包括通用串行总线(USB)、或高清晰度多媒体接口(HDMI)、或显示端口(Displayport)等。存储接口的示例包括SATA(串行高级技术附件)、PCI、IDE接口等。本文档中描述的技术可以体现在各种电子设备中,诸如移动电话、膝上型电脑、智能电话、或能够执行数字数据处理和/或视频显示的其他设备。
图33是视频处理装置3600的框图。装置3600可以用于实施本文描述的一种或多种方法。装置3600可以体现在智能手机、平板电脑、计算机、物联网(IoT)接收器等中。装置3600可以包括一个或多个处理器3602、一个或多个存储器3604和视频处理硬件3606。(多个)处理器3602可以被配置为实施本文档中描述的一种或多种方法。存储器(多个存储器)3604可以用于存储用于实施本文描述的方法和技术的数据和代码。视频处理硬件3606可以用于在硬件电路系统中实施本文档中描述的一些技术。
图35是示出可以利用本公开的技术的示例视频编解码系统100的框图。
如图35所示,视频编解码系统100可以包括源设备110和目标设备120。源设备110生成编码视频数据,其中该源设备110可以被称为视频编码设备。目标设备120可以解码由源设备110生成的编码视频数据,其中该目标设备120可以被称为视频解码设备。
源设备110可以包括视频源112、视频编码器114和输入/输出(I/O)接口116。
视频源112可以包括源,诸如视频捕捉设备、从视频内容提供器接收视频数据的接口、和/或用于生成视频数据的计算机图形系统、或这些源的组合。视频数据可以包括一个或多个图片。视频编码器114对来自视频源112的视频数据进行编码,以生成比特流。比特流可以包括形成视频数据的编解码表示的比特序列。比特流可以包括编解码图片和相关数据。编解码图片是图片的编解码表示。相关数据可以包括序列参数集、图片参数集和其他语法结构。I/O接口116可以包括调制器/解调器(调制解调器)和/或发送器。编码视频数据可以通过网络130a经由I/O接口116直接发送到目标设备120。编码视频数据也可以存储在存储介质/服务器130b上,以供目标设备120访问。
目标设备120可以包括I/O接口126、视频解码器124和显示设备122。
I/O接口126可以包括接收器和/或调制解调器。I/O接口126可以从源设备110或存储介质/服务器130b获取编码视频数据。视频解码器124可以对编码视频数据进行解码。显示设备122可以向用户显示解码视频数据。显示设备122可以与目标设备120集成,或者可以在被配置为与外部显示设备接口的目标设备120的外部。
视频编码器114和视频解码器124可以根据视频压缩标准进行操作,例如高效视频编解码(HEVC)标准、多功能视频编解码(VVM)标准和其他当前和/或另外的标准。
图36是示出视频编码器200的示例的框图,该视频编码器200可以是在图35中示出的系统100中的视频编码器114。
视频编码器200可以被配置为执行本公开的任何或所有技术。在图36的示例中,视频编码器200包括多个功能组件。本公开中描述的技术可以在视频编码器200的各种组件之间共享。在一些示例中,处理器可以被配置为执行本公开中描述的任何或所有技术。
视频编码器200的功能组件可以包括分割单元201、预测单元202(其可以包括模式选择单元203、运动估计单元204、运动补偿单元205和帧内预测单元206)、残差生成单元207、变换单元208、量化单元209、逆量化单元210、逆变换单元211、重构单元212、缓冲器213和熵编码单元214。
在其他示例中,视频编码器200可以包括更多、更少或不同的功能组件。在示例中,预测单元202可以包括帧内块复制(IBC)单元。IBC单元可以执行IBC模式下的预测,其中至少一个参考图片是当前视频块所在的图片。
此外,诸如运动估计单元204和运动补偿单元205的一些组件可以高度集成,但是出于解释的目的,在图36的示例中被单独表示。
分割单元201可以将图片分割为一个或多个视频块。视频编码器200和视频解码器300可以支持各种视频块尺寸。
模式选择单元203可以基于误差结果选择编解码模式(例如,帧内或帧间)之一,并且将作为结果的帧内编解码块或帧间编解码块提供给残差生成单元207以生成残差块数据,以及提供给重构单元212以重构编码块以用作参考图片。在一些示例中,模式选择单元203可以选择帧内和帧间预测模式的组合(CIIP),其中预测基于帧间预测信号和帧内预测信号。在帧间预测的情况下,模式选择单元203还可以选择块的运动矢量的分辨率(例如,子像素或整数像素精度)。
为了对当前视频块执行帧间预测,运动估计单元204可以通过将来自缓冲器213的一个或多个参考帧与当前视频块进行比较,来生成当前视频块的运动信息。运动补偿单元205可以基于运动信息和来自缓冲器213的除了与当前视频块相关联的图片之外的图片的解码样点,来确定当前视频块的预测视频块。
运动估计单元204和运动补偿单元205可以对当前视频块执行不同的操作,例如,依赖于当前视频块是在I条带、P条带还是B条带中。
在一些示例中,运动估计单元204可以对当前视频块执行单向预测,并且运动估计单元204可以为当前视频块的参考视频块搜索列表0或列表1的参考图片。运动估计单元204然后可以生成指示列表0或列表1中的参考图片的参考索引,该参考索引包含参考视频块和指示当前视频块和参考视频块之间的空域位移的运动矢量。运动估计单元204可以输出参考索引、预测方向指示符和运动矢量作为当前视频块的运动信息。运动补偿单元205可以基于由当前视频块的运动信息指示的参考视频块来生成当前块的预测视频块。
在其他示例中,运动估计单元204可以对当前视频块执行双向预测,运动估计单元204可以在列表0中的参考图片中搜索当前视频块的参考视频块,并且还可以在列表1中搜索当前视频块的另一个参考视频块。运动估计单元204然后可以生成参考索引,该参考索引指示包含参考视频块的列表0和列表1中的参考图片以及指示参考视频块和当前视频块之间的空域位移的运动矢量。运动估计单元204可以输出当前视频块的参考索引和运动矢量作为当前视频块的运动信息。运动补偿单元205可以基于由当前视频块的运动信息指示的参考视频块来生成当前视频块的预测视频块。
在一些示例中,运动估计单元204可以输出完整的运动信息集,以用于解码器的解码处理。
在一些示例中,运动估计单元204可以不输出当前视频的完整的运动信息集合。相反,运动估计单元204可以参考另一个视频块的运动信息来信令通知当前视频块的运动信息。例如,运动估计单元204可以确定当前视频块的运动信息与邻近视频块的运动信息足够相似。
在一个示例中,运动估计单元204可以在与当前视频块相关联的语法结构中指示值,该值向视频解码器300指示当前视频块具有与另一个视频块相同的运动信息。
在另一个示例中,运动估计单元204可以在与当前视频块相关联的语法结构中标识另一视频块和运动矢量差(MVD)。运动矢量差指示当前视频块的运动矢量和所指示的视频块的运动矢量之间的差。视频解码器300可以使用所指示的视频块的运动矢量和运动矢量差来确定当前视频块的运动矢量。
如上所讨论的,视频编码器200可以预测性地信令通知运动矢量。可以由视频编码器200实施的预测信令通知技术的两个示例包括高级运动矢量预测(AMVP)和Merge模式信令通知。
帧内预测单元206可以对当前视频块执行帧内预测。当帧内预测单元206对当前视频块执行帧内预测时,帧内预测单元206可以基于相同图片中的其他视频块的解码样点来生成当前视频块的预测数据。当前视频块的预测数据可以包括预测视频块和各种语法元素。
残差生成单元207可以通过从当前视频块中减去(例如,由减号指示)当前视频块的(多个)预测视频块来生成当前视频块的残差数据。当前视频块的残差数据可以包括与当前视频块中样点的不同样点分量相对应的残差视频块。
在其他示例中,例如在跳过模式下,对于当前视频块可能没有残差数据,并且残差生成单元207可能不执行减去操作。
变换处理单元208可以通过将一个或多个变换应用于与当前视频块相关联的残差视频块来为当前视频块生成一个或多个变换系数视频块。
在变换处理单元208生成与当前视频块相关联的变换系数视频块之后,量化单元209可以基于与当前视频块相关联的一个或多个量化参数(QP)值来量化与当前视频块相关联的变换系数视频块。
逆量化单元210和逆变换单元211可以分别对变换系数视频块应用逆量化和逆变换,以从变换系数视频块重构残差视频块。重构单元212可以将重构后的残差视频块添加到来自预测单元202生成的一个或多个预测视频块的对应样点,以产生与当前块相关联的重构视频块,用于存储在缓冲器213中。
在重构单元212重构视频块之后,可以执行环路滤波操作,以减少视频块中的视频块效应。
熵编码单元214可以从视频编码器200的其他功能组件接收数据。当熵编码单元214接收到数据时,熵编码单元214可以执行一个或多个熵编码操作,以生成熵编码数据,并输出包括该熵编码数据的比特流。
图37是示出视频解码器300的示例的框图,该视频解码器300可以是在图35中示出的系统100中的视频解码器124。
视频解码器300可以被配置为执行本公开的任何或所有技术。在图37的示例中,视频解码器300包括多个功能组件。本公开中描述的技术可以在视频解码器300的各种组件之间共享。在一些示例中,处理器可以被配置为执行本公开中描述的任何或所有技术。
在图37的示例中,视频解码器300包括熵解码单元301、运动补偿单元302、帧内预测单元303、逆量化单元304、逆变换单元305、重构单元306和缓冲器307。在一些示例中,视频解码器300可以执行通常与针对视频编码器200(图36)描述的编码过程相反的解码过程。
熵解码单元301可以检索编码比特流。编码比特流可以包括熵编解码的视频数据(例如,视频数据的编码块)。熵解码单元301可以对熵编解码的视频数据进行解码,并且从熵解码的视频数据中,运动补偿单元302可以确定包括运动矢量、运动矢量精度、参考图片列表索引和其他运动信息的运动信息。运动补偿单元302可以例如通过执行AMVP和Merge模式来确定这样的信息。
运动补偿单元302可以产生运动补偿块,可以基于插值滤波器执行插值。要以子像素精度使用的插值滤波器的标识符可以包括在语法元素中。
运动补偿单元302可以使用如视频编码器200在视频块的编码期间所使用的插值滤波器来计算参考块的子整数像素的插值。运动补偿单元302可以根据所接收的语法信息确定视频编码器200使用的插值滤波器,并使用该插值滤波器来产生预测块。
运动补偿单元302可以使用一些语法信息来确定用于对编码视频序列的(多个)帧和/或(多个)条带进行编码的块的尺寸、描述编码视频序列的图片的每个宏块如何被分割的分割信息、指示每个分割如何被编码的模式、每个帧间编码块的一个或多个参考帧(和参考帧列表)、以及用于对编码视频序列进行解码的其他信息。
帧内预测单元303可以使用例如在比特流中接收的帧内预测模式来从空域上相邻的块形成预测块。逆量化单元303对在比特流中提供并由熵解码单元301解码的量化后的视频块系数进行逆量化,即,反量化。逆变换单元303应用逆变换。
重构单元306可以将残差块与由运动补偿单元202或帧内预测单元303生成的对应预测块相加,以形成解码块。如果需要,还可以应用去方块滤波器对解码块进行滤波,以便移除块效应。解码视频块然后被存储在缓冲器307中,为随后的运动补偿/帧内预测提供参考块,并且还产生解码视频以在显示设备上呈现。
接下来提供一些实施例优选的解决方案的列表。
下面提供了第一解决方案集合。以下解决方案示出了在前一节(例如,第1项)中讨论的技术的示例实施例。
1.一种视频处理方法(例如,图34的方法3400),包括:对于视频的视频单元和视频的编解码表示之间的转换,基于准则来确定使用跨分量自适应环路滤波器操作(3402),其中跨分量自适应环路滤波器对于不可用亮度样点使用镜像填充技术;以及基于该确定来执行转换(3404)。本文公开跨分量自适应环路滤波器和它的操作以及镜像填充技术的各种实施例,以及它们与虚拟缓冲器边界的关系。
2.根据解决方案1所述的方法,其中,镜像填充技术还用于推导不可用亮度样点的一个或多个对应的亮度样点。
3.根据解决方案2所述的方法,其中,基于一个或多个对应的亮度样点距代表性亮度样点的距离或不可用样点距代表性亮度样点的距离来确定一个或多个对应的亮度样点。
4.根据解决方案3所述的方法,其中,代表性亮度样点对应于使用跨分量自适应环路滤波技术的色度样点的位置。
5.根据解决方案3所述的方法,其中,代表性亮度样点的位置依赖于视频的色彩格式。
6.根据解决方案3-4中任一项所述的方法,其中,距离对应于在沿着第二方向包含有一个或多个亮度样点的像素行与包含有代表性样点的行之间在第一方向上的距离。
7.根据解决方案6所述的方法,其中,C表示沿着第二方向的代表性亮度样点所处的中心行,M表示沿着第二方向的不可用样点所处的行,并且N表示沿着第二方向的一个或多个亮度样点所处的行,其中C、M和N为正整数且M不等于N,则基于跨分量自适应环路滤波器的尺寸和形状应用镜像填充技术。
8.根据解决方案1所述的方法,其中,跨分量自适应环路滤波器具有K×L滤波器形状,其中K是偶数且L是正整数,并且其中镜像填充技术包括填充位于沿着第二方向距跨分量自适应环路滤波器的虚拟边界M或N的行的不可用样点是从接近虚拟边界的最接近样点行填充的。
9.根据解决方案3所述的方法,其中,在跨分量自适应环路滤波器的虚拟边界在第二方向上在代表性亮度样点下方的情况下,则使用在第二方向上在虚拟边界上方的最接近的行来填充不可用样点。
10.根据解决方案3的所述的方法,其中,在不可用样点位于行M中的情况下,其中M为小于C的整数,其中C为指示沿着第二方向的代表性亮度样点的中心行的整数,则当d(C,M)=d(N,C)–offset时,在第二方向上位于行N中的样点被确定为对应的样点,其中offset是整数值,或者d(C,M)<d(N,C),其中d()是距离函数。
以下解决方案示出了在前一节(例如,第2项)中讨论的技术的示例实施例。
11.根据解决方案1-10中任一项所述的方法,其中,第一方向是垂直方向,并且第二方向是水平方向。
12.根据解决方案1-10中任一项所述的方法,其中,第一方向是水平方向,并且第二方向是垂直方向。
13.根据解决方案11-12中任一项所述的方法,其中,第一方向和第二方向的取向依赖于虚拟缓冲器的边界的取向。
以下解决方案示出了在前一节(例如,第3项)中讨论的技术的示例实施例。
14.根据解决方案1-13中任一项所述的方法,其中,视频单元包括视频的视频图片、视频子图片、视频条带、视频片或360度边界。
15.根据解决方案1-14中任一项所述的方法,其中,执行转换包括编码视频以生成编解码表示。
16.根据解决方案1-14中任一项所述的方法,其中,执行转换包括解析并解码编解码表示以生成视频。
在以上公开的解决方案中,取向可以是水平或垂直,并且相应地,第一方向和第二方向可以是像素列和像素行所参考的垂直或水平方向。
17.一种视频解码装置,包括被配置为实施根据解决方案1至16中的一项或多项所述的方法的处理器。
18.一种视频编码装置,包括被配置为实施根据解决方案1至16中的一项或多项所述的方法的处理器。
19.一种存储有计算机代码的计算机程序产品,该代码在由处理器执行时使得所述处理器实施根据解决方案1至16中任一项所述的方法。
20.一种本文档中描述的方法、装置或系统。
第二解决方案集合示出了在前一节(例如,第4项)中讨论的技术的示例实施例。
1.一种视频处理方法(例如,如图38所示的方法3800),包括:对于视频的视频单元和视频的比特流之间的转换,做出对第一亮度自适应环路滤波器ALF边界和第二亮度ALF边界的第一确定,其中,亮度自适应环路滤波器跨该第一亮度ALF边界而被选择性地应用于视频单元的亮度分量3802;从第二亮度ALF边界做出对色度ALF边界的第二确定,其中,色度自适应环路滤波器跨该色度ALF边界而被选择性地应用于视频单元的色度分量3804;以及基于第一确定和第二确定来执行转换3806。
2.根据解决方案1所述的方法,其中,第二亮度ALF边界不同于第一亮度ALF边界。
3.根据解决方案1所述的方法,其中,第一亮度ALF边界用于跨分量ALF(CC-ALF)和/或亮度ALF。
4.根据解决方案3所述的方法,其中,在做出第一确定期间,CC-ALF被视为亮度ALF。
5.根据解决方案1所述的方法,其中,第二亮度ALF边界用于色度ALF。
6.根据解决方案1所述的方法,其中,第二亮度ALF边界基于色彩格式和/或滤波方法来确定。
7.根据解决方案1所述的方法,其中,4:2:0色彩格式的色度ALF中的第二亮度ALF边界被确定为与第一亮度ALF边界相同。
8.根据解决方案1所述的方法,其中,在做出第一确定期间,4:2:0色彩格式的色度ALF被视为亮度ALF或跨分量ALF(CC-ALF)。
9.根据解决方案1所述的方法,其中,4:2:2或4:4:4:色彩格式的色度ALF中的所述第二亮度ALF边界被确定为与亮度ALF或CC-ALF中的第一亮度ALF边界不同。
10.根据解决方案1所述的方法,其中,第一亮度ALF边界和/或第二亮度ALF边界是指顶边界位置、底边界位置、左边界位置或右边界位置。
11.根据解决方案10所述的方法,其中,第一亮度ALF边界和/或第二亮度ALF边界基于i)第一变量vbOffset,第一变量vbOffset指定ALF虚拟边界的偏移或者ALF虚拟边界和当前编解码树单元CTU的底边界之间的距离,或/和ii)第二变量M,第二变量M指定从当前CTU的顶边界的偏移。
12.根据解决方案11所述的方法,其中,(x,y)是指当前样点相对于当前亮度编解码树块CTB的左顶样点的亮度位置,(xCtb,yCtb)是指当前亮度CTB的左顶样点相对于当前图片的左顶样点的亮度位置,并且CtbSizeY是指当前亮度CTB的尺寸。
13.根据解决方案12所述的方法,其中,在y-(CtbSizeY-vbOffset)大于或等于0的情况下,顶边界位置被设置为等于yCtb+CtbSizeY-vbOffset。
14.根据解决方案12所述的方法,其中,在i)当前亮度CTB的顶边界是片、条带或子图片的顶边界,ii)跨片、条带或子图片的自适应环路滤波被禁用,以及iii)y小于第二变量M的情况下,顶边界位置被设置为等于yCtb。
15.根据解决方案12所述的方法,其中,在CtbSizeY-vbOffset-y大于0且小于第三变量N的情况下,底边界位置被设置为等于yCtb+CtbSizeY-vbOffset。
16.根据解决方案15所述的方法,其中,第三变量N是整数。
17.根据解决方案15所述的方法,其中,第三变量N等于3或5。
18.根据解决方案12所述的方法,其中,在i)当前亮度CTB的底边界是片、条带或子图片的底边界,ii)跨片、条带或子图片的自适应环路滤波被禁用,以及iii)CtbSizeY-y小于第四变量L的情况下,底边界位置被设置为等于yCtb+CtbSizeY。
19.根据解决方案18所述的方法,其中,第四变量L是整数。
20.根据解决方案18所述的方法,其中,第四变量L等于3或5。
21.根据解决方案11-20中任一项所述的方法,其中,对于跨分量ALF(CC-ALF)或亮度ALF相同地确定第一亮度ALF边界。
22.根据解决方案21所述的方法,其中,第一变量vbOffset对于跨分量ALF(CC-ALF)和亮度ALF是相同的。
23.根据解决方案21所述的方法,其中,第二变量M对于CC-ALF和亮度ALF是相同的。
24.根据解决方案21所述的方法,其中,第三变量N对于CC-ALF和亮度ALF是相同的。
25.根据解决方案21所述的方法,其中,第四变量L对于CC-ALF和亮度ALF是相同的。
26.根据解决方案11-20中任一项所述的方法,其中,在色度ALF中使用的第二亮度ALF边界基于色度ALF的色彩格式来确定。
27.根据解决方案26所述的方法,其中,对于作为4:2:0的色彩格式,第二亮度ALF边界被确定为与第一亮度ALF边界相同。
28.根据解决方案26或27所述的方法,其中,对于作为4:2:0的色彩格式,第一变量vbOffset对于色度ALF和亮度ALF是相同的。
29.根据解决方案28所述的方法,其中,第一变量vbOffset是整数。
30.根据解决方案28所述的方法,其中,第一变量vboffset为4。
31.根据解决方案26或27所述的方法,其中,对于作为4:2:0的色彩格式,第二变量M对于色度ALF和亮度ALF是相同的。
32.根据解决方案31所述的方法,其中,变量M是整数。
33.根据解决方案31所述的方法,其中,变量M为3。
34.根据解决方案26或27所述的方法,其中,第三变量N对于色度ALF和亮度ALF是相同的。
35.根据解决方案26或27所述的方法,其中,第四变量L对于色度ALF和亮度ALF是相同的。
36.根据解决方案26所述的方法,其中,对于作为4:2:2或4:4:4的色彩格式,第二亮度ALF边界被确定为不同于第一亮度ALF边界。
37.根据解决方案36所述的方法,其中,对于作为4:2:2或4:4:4的色彩格式,第一变量vbOffset对于色度ALF和亮度ALF具有不同的值。
38.根据解决方案37所述的方法,其中,vbOffset1用于色度ALF,vbOffset2用于亮度ALF,并且vbOffset1不等于vbOffset2。
39.根据解决方案38所述的方法,其中,vbOffset1=2,并且vbOffset2=4。
40.根据解决方案36所述的方法,其中,第一变量vbOffset根据色彩格式是与4:2:0相同还是不同而具有不同的值。
41.根据解决方案36所述的方法,其中,对于作为4:2:2或4:4:4的色彩格式,第二变量M、第三变量N和第四变量L中的每一个对于色度ALF和亮度ALF具有不同的值。
42.根据解决方案41所述的方法,其中,M1用于色度ALF,M2用于亮度ALF,并且M1不等于M2。
43.根据解决方案42所述的方法,其中,M1=2,并且M2=3。
44.根据解决方案41所述的方法,其中,N1用于色度ALF,N2用于亮度ALF,并且N1不等于N2。
45.根据解决方案44所述的方法,其中,N1=3,并且N2=5。
46.根据解决方案41所述的方法,其中,L1用于色度ALF,L2用于亮度ALF,并且L1不等于L2。
47.根据解决方案46所述的方法,其中,L1=3,并且L2=5。
48.根据解决方案36所述的方法,其中,第二变量M、第三变量N和第四变量L中的每一个根据色彩格式是与4:2:0相同还是不同而具有不同的值。
49.根据解决方案26所述的方法,其中,对于作为4:2:2或4:4:4的色彩格式,第二亮度ALF边界被确定为不同于在跨分量ALF(CC-ALF)中使用的第一ALF亮度边界。
50.根据解决方案49所述的方法,其中,对于作为4:2:2或4:4:4的色彩格式,第一变量vbOffset对于色度ALF和CC-ALF具有不同的值。
51.根据解决方案50所述的方法,其中,vbOffset1用于色度ALF,vbOffset2用于CC-ALF,并且vbOffset1不等于vbOffset2。
52.根据解决方案51所述的方法,其中,vbOffset1=2,并且vbOffset2=4。
53.根据解决方案49所述的方法,其中,对于作为4:2:2或4:4:4的色彩格式,第二变量M、第三变量N和第四变量L对于色度ALF和CC-ALF具有不同的值。
54.根据解决方案53所述的方法,其中,M1用于具有4:2:2或4:4:4色彩格式的色度ALF,M2用于CC-ALF,并且M2不等于M1。
55.根据解决方案54所述的方法,其中,M1=2,并且M2=3。
56.根据解决方案53所述的方法,其中,N1用于具有4:2:2或4:4:4色彩格式的色度ALF,N2用于CC-ALF,并且N1不等于N2。
57.根据解决方案56所述的方法,其中,N1=3,并且N2=5。
58.根据解决方案53所述的方法,其中,L1用于具有4:2:2或4:4:4色彩格式的色度ALF,L2用于CC-ALF,并且L1不等于L2。
59.根据解决方案58所述的方法,其中,L1=3,并且L2=5。
60.根据以上解决方案中任一项所述的方法,其中,该方法被应用于360度虚拟边界。
61.根据解决方案1至60中任一项所述的方法,其中,该转换包括将视频编码为比特流。
62.根据解决方案1至60中任一项所述的方法,其中,该转换包括从比特流解码视频。
63.根据解决方案1至60中任一项所述的方法,其中,该转换包括从视频生成比特流,并且该方法还包括:将比特流存储在非暂时性计算机可读记录介质中。
64.一种视频处理装置,包括被配置为实施根据解决方案1至63中任一项或多项所述的方法的处理器。
65.一种存储视频的比特流的方法,包括根据解决方案1至63中任一项所述的方法,并且还包括将比特流存储到非暂时性计算机可读记录介质。
66.一种存储程序代码的计算机可读介质,该程序代码在被执行时使得处理器实施根据解决方案1至63中任一项或多项所述的方法。
67.一种计算机可读介质,存储根据上述方法中的任一项而生成的比特流。
68.一种用于存储比特流的视频处理装置,其中该视频处理装置被配置为实施根据解决方案1至63中任一项或多项所述的方法。
在本文中,术语“视频处理”可以指视频编码、视频解码、视频压缩或视频解压缩。例如,在从视频的像素表示到对应的比特流表示的转换期间,可以应用视频压缩算法,反之亦然。如语法所定义的,当前视频块的比特流表示可以例如对应于并置或者散布在比特流内的不同地方的比特。例如,可以按照变换和编解码的误差残差值并且还使用比特流中的标头和其他字段中的比特对宏块进行编码。
本文中描述的所公开的以及其他解决方案、示例、实施例、模块和功能操作可以在数字电子电路中、或者在计算机软件、固件或硬件(包括本文档中公开的结构及其结构等同物)中、或者在它们中的一个或多个的组合中被实施。所公开的以及其他实施例可以被实施为一个或多个计算机程序产品,即在计算机可读介质上编码的计算机程序指令的一个或多个模块,该计算机程序指令用于由数据处理装置执行或控制数据处理装置的操作。计算机可读介质可以是机器可读存储设备、机器可读存储基板、存储器设备、影响机器可读传播信号的物质的组合、或它们中的一个或多个的组合。术语“数据处理装置”包含用于处理数据的所有装置、设备和机器,包括例如可编程处理器、计算机、或多个处理器或计算机。除了硬件之外,装置还可以包括为所讨论的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统、或它们中的一个或多个的组合的代码。传播信号是被生成以对信息进行编码以用于发送到合适的接收器装置的人工生成的信号,例如机器生成的电信号、光学信号或电磁信号。
计算机程序(也已知为程序、软件、软件应用、脚本或代码)可以以任何形式的编程语言(包括编译或解释语言)编写,并且其可以以任何形式部署,包括作为独立程序或作为适合在计算环境中使用的模块、组件、子例程或其他单元。计算机程序不一定对应于文件系统中的文件。程序可以存储在保存其他程序或数据(例如,存储在标记语言文档中的一个或多个脚本)的文件的一部分中,存储在专用于所讨论的程序的单个文件中,或存储在多个协调文件中(例如,存储一个或多个模块、子程序或代码部分的文件)。计算机程序可以被部署为在一个计算机上或在位于一个站点上或跨多个站点分布并通过通信网络互连的多个计算机上执行。
本文中描述的过程和逻辑流程可以由执行一个或多个计算机程序的一个或多个可编程处理器执行,以通过对输入数据进行操作并生成输出来执行功能。过程和逻辑流程也可以由专用逻辑电路执行,并且装置也可以被实施为专用逻辑电路,例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路)。
适合于执行计算机程序的处理器包括例如通用和专用微处理器、以及任何类型的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行指令的处理器和用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括用于存储数据的一个或多个大容量存储设备(例如,磁盘、磁光盘或光盘),或可操作地耦合以从该一个或多个大容量存储设备接收数据或向该一个或多个大容量存储设备传递数据、或者从其接收数据并向其传递数据。然而,计算机不需要这样的设备。适用于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,包括例如半导体存储器设备,例如EPROM、EEPROM和闪存设备;磁盘,例如内部硬盘或可换式盘;磁光盘;以及CD ROM和DVD-ROM盘。处理器和存储器可以由专用逻辑电路补充或并入专用逻辑电路中。
虽然本专利文档包含许多细节,但这些细节不应被解释为对任何主题或可能要求保护的范围的限制,而是作为指定于特定技术的特定实施例的特征的描述。在本专利文档中在单独的实施例的上下文中描述的某些特征也可以在单个实施例中组合实施。相反,在单个实施例的上下文中描述的各种特征也可以单独在多个实施例中或以任何合适的子组合实施。此外,尽管特征可以在上面描述为以某些组合起作用并且甚至最初如此要求保护,但是在一些情况下可以从组合排除来自所要求保护的组合的一个或多个特征,并且所要求保护的组合可以针对子组合或子组合的变化。
类似地,虽然在附图中以特定顺序描绘了操作,但是这不应该被理解为需要以所示的特定顺序或以先后顺序执行这样的操作或者执行所有示出的操作以实现期望的结果。此外,在本专利文档中描述的实施例中的各种系统组件的分离不应被理解为在所有实施例中都需要这样的分离。
仅描述了一些实施方式和示例,并且可以基于本专利文档中描述和示出的内容来进行其他实施方式、增强和变化。

Claims (68)

1.一种视频处理方法,包括:
对于视频的视频单元和所述视频的比特流之间的转换,做出对第一亮度自适应环路滤波器(ALF)边界和第二亮度ALF边界的第一确定,其中,亮度自适应环路滤波器跨所述第一亮度ALF边界而被选择性地应用于所述视频单元的亮度分量;
从所述第二亮度ALF边界做出对色度ALF边界的第二确定,其中,色度自适应环路滤波器跨所述色度ALF边界而被选择性地应用于所述视频单元的色度分量;以及
基于所述第一确定和所述第二确定来执行所述转换。
2.根据权利要求1所述的方法,其中,所述第二亮度ALF边界不同于所述第一亮度ALF边界。
3.根据权利要求1所述的方法,其中,所述第一亮度ALF边界用于跨分量ALF(CC-ALF)和/或亮度ALF。
4.根据权利要求3所述的方法,其中,在做出所述第一确定期间,所述CC-ALF被视为所述亮度ALF。
5.根据权利要求1所述的方法,其中,所述第二亮度ALF边界用于色度ALF。
6.根据权利要求1所述的方法,其中,所述第二亮度ALF边界基于色彩格式和/或滤波方法来确定。
7.根据权利要求1所述的方法,其中,4:2:0色彩格式的色度ALF中的所述第二亮度ALF边界被确定为与所述第一亮度ALF边界相同。
8.根据权利要求1所述的方法,其中,在做出所述第一确定期间,4:2:0色彩格式的色度ALF被视为亮度ALF或跨分量ALF(CC-ALF)。
9.根据权利要求1所述的方法,其中,4:2:2或4:4:4:色彩格式的色度ALF中的所述第二亮度ALF边界被确定为与亮度ALF或所述CC-ALF中的所述第一亮度ALF边界不同。
10.根据权利要求1所述的方法,其中,所述第一亮度ALF边界和/或所述第二亮度ALF边界是指顶边界位置、底边界位置、左边界位置或右边界位置。
11.根据权利要求10所述的方法,其中,所述第一亮度ALF边界和/或所述第二亮度ALF边界基于i)第一变量vbOffset,所述第一变量vbOffset指定ALF虚拟边界的偏移或者所述ALF虚拟边界和当前编解码树单元CTU的底边界之间的距离,或/和ii)第二变量M,所述第二变量M指定从所述当前CTU的顶边界的偏移。
12.根据权利要求11所述的方法,其中,(x,y)是指当前样点相对于当前亮度编解码树块CTB的左顶样点的亮度位置,(xCtb,yCtb)是指所述当前亮度CTB的左顶样点相对于当前图片的左顶样点的亮度位置,并且CtbSizeY是指所述当前亮度CTB的尺寸。
13.根据权利要求12所述的方法,其中,在y-(CtbSizeY-vbOffset)大于或等于0的情况下,所述顶边界位置被设置为等于yCtb+CtbSizeY-vbOffset。
14.根据权利要求12所述的方法,其中,在i)所述当前亮度CTB的顶边界是片、条带或子图片的顶边界,ii)跨所述片、所述条带或所述子图片的自适应环路滤波被禁用,以及iii)y小于所述第二变量M的情况下,所述顶边界位置被设置为等于yCtb。
15.根据权利要求12所述的方法,其中,在CtbSizeY-vbOffset-y大于0且小于第三变量N的情况下,所述底边界位置被设置为等于yCtb+CtbSizeY-vbOffset。
16.根据权利要求15所述的方法,其中,所述第三变量N是整数。
17.根据权利要求15所述的方法,其中,所述第三变量N等于3或5。
18.根据权利要求12所述的方法,其中,在i)所述当前亮度CTB的底边界是片、条带或子图片的底边界,ii)跨所述片、所述条带或所述子图片的自适应环路滤波被禁用,以及iii)CtbSizeY-y小于第四变量L的情况下,所述底边界位置被设置为等于yCtb+CtbSizeY。
19.根据权利要求18所述的方法,其中,所述第四变量L是整数。
20.根据权利要求18所述的方法,其中,所述第四变量L等于3或5。
21.根据权利要求11-20中任一项所述的方法,其中,对于跨分量ALF(CC-ALF)或亮度ALF相同地确定所述第一亮度ALF边界。
22.根据权利要求21所述的方法,其中,所述第一变量vbOffset对于所述跨分量ALF(CC-ALF)和所述亮度ALF是相同的。
23.根据权利要求21所述的方法,其中,所述第二变量M对于所述CC-ALF和所述亮度ALF是相同的。
24.根据权利要求21所述的方法,其中,所述第三变量N对于所述CC-ALF和所述亮度ALF是相同的。
25.根据权利要求21所述的方法,其中,所述第四变量L对于所述CC-ALF和所述亮度ALF是相同的。
26.根据权利要求11-20中任一项所述的方法,其中,在色度ALF中使用的所述第二亮度ALF边界基于所述色度ALF的色彩格式来确定。
27.根据权利要求26所述的方法,其中,对于作为4:2:0的色彩格式,所述第二亮度ALF边界被确定为与所述第一亮度ALF边界相同。
28.根据权利要求26或27所述的方法,其中,对于作为4:2:0的色彩格式,所述第一变量vbOffset对于色度ALF和亮度ALF是相同的。
29.根据权利要求28所述的方法,其中,所述第一变量vbOffset是整数。
30.根据权利要求28所述的方法,其中,所述第一变量vbOffset为4。
31.根据权利要求26或27所述的方法,其中,对于作为4:2:0的色彩格式,所述第二变量M对于色度ALF和亮度ALF是相同的。
32.根据权利要求31所述的方法,其中,所述变量M是整数。
33.根据权利要求31所述的方法,其中,所述变量M为3。
34.根据权利要求26或27所述的方法,其中,所述第三变量N对于色度ALF和亮度ALF是相同的。
35.根据权利要求26或27所述的方法,其中,所述第四变量L对于色度ALF和亮度ALF是相同的。
36.根据权利要求26所述的方法,其中,对于作为4:2:2或4:4:4的色彩格式,所述第二亮度ALF边界被确定为不同于所述第一亮度ALF边界。
37.根据权利要求36所述的方法,其中,对于作为4:2:2或4:4:4的色彩格式,所述第一变量vbOffset对于色度ALF和亮度ALF具有不同的值。
38.根据权利要求37所述的方法,其中,vbOffset1用于所述色度ALF,vbOffset2用于所述亮度ALF,并且vbOffset1不等于vbOffset2。
39.根据权利要求38所述的方法,其中,vbOffset1=2,并且vbOffset2=4。
40.根据权利要求36所述的方法,其中,所述第一变量vbOffset根据所述色彩格式是与4:2:0相同还是不同而具有不同的值。
41.根据权利要求36所述的方法,其中,对于作为4:2:2或4:4:4的色彩格式,所述第二变量M、所述第三变量N和所述第四变量L中的每一个对于色度ALF和亮度ALF具有不同的值。
42.根据权利要求41所述的方法,其中,M1用于所述色度ALF,M2用于所述亮度ALF,并且M1不等于M2。
43.根据权利要求42所述的方法,其中,M1=2,并且M2=3。
44.根据权利要求41所述的方法,其中,N1用于所述色度ALF,N2用于所述亮度ALF,并且N1不等于N2。
45.根据权利要求44所述的方法,其中,N1=3,并且N2=5。
46.根据权利要求41所述的方法,其中,L1用于所述色度ALF,L2用于所述亮度ALF,并且L1不等于L2。
47.根据权利要求46所述的方法,其中,L1=3,并且L2=5。
48.根据权利要求36所述的方法,其中,所述第二变量M、所述第三变量N和所述第四变量L中的每一个根据所述色彩格式是与4:2:0相同还是不同而具有不同的值。
49.根据权利要求26所述的方法,其中,对于作为4:2:2或4:4:4的色彩格式,所述第二亮度ALF边界被确定为不同于在跨分量ALF(CC-ALF)中使用的所述第一ALF亮度边界。
50.根据权利要求49所述的方法,其中,对于作为4:2:2或4:4:4的色彩格式,所述第一变量vbOffset对于色度ALF和所述CC-ALF具有不同的值。
51.根据权利要求50所述的方法,其中,vbOffset1用于所述色度ALF,vbOffset2用于所述CC-ALF,并且vbOffset1不等于vbOffset2。
52.根据权利要求51所述的方法,其中,vbOffset1=2,并且vbOffset2=4。
53.根据权利要求49所述的方法,其中,对于作为4:2:2或4:4:4的色彩格式,所述第二变量M、所述第三变量N和所述第四变量L对于色度ALF和所述CC-ALF具有不同的值。
54.根据权利要求53所述的方法,其中,M1用于具有4:2:2或4:4:4色彩格式的所述色度ALF,M2用于所述CC-ALF,并且M2不等于M1。
55.根据权利要求54所述的方法,其中,M1=2,并且M2=3。
56.根据权利要求53所述的方法,其中,N1用于具有4:2:2或4:4:4色彩格式的所述色度ALF,N2用于所述CC-ALF,并且N1不等于N2。
57.根据权利要求56所述的方法,其中,N1=3,并且N2=5。
58.根据权利要求53所述的方法,其中,L1用于具有4:2:2或4:4:4色彩格式的所述色度ALF,L2用于所述CC-ALF,并且L1不等于L2。
59.根据权利要求58所述的方法,其中,L1=3,并且L2=5。
60.根据以上权利要求中任一项所述的方法,其中,所述方法被应用于360度虚拟边界。
61.根据权利要求1至60中任一项所述的方法,其中,所述转换包括将所述视频编码为所述比特流。
62.根据权利要求1至60中任一项所述的方法,其中,所述转换包括从所述比特流解码所述视频。
63.根据权利要求1至60中任一项所述的方法,其中,所述转换包括从所述视频生成所述比特流,并且所述方法还包括:将所述比特流存储在非暂时性计算机可读记录介质中。
64.一种视频处理装置,包括被配置为实施根据权利要求1至63中任一项或多项所述的方法的处理器。
65.一种存储视频的比特流的方法,包括根据权利要求1至63中任一项所述的方法,并且还包括将所述比特流存储到非暂时性计算机可读记录介质。
66.一种存储程序代码的计算机可读介质,所述程序代码在被执行时使得处理器实施根据权利要求1至63中任一项或多项所述的方法。
67.一种计算机可读介质,存储根据上述方法中的任一项而生成的比特流。
68.一种用于存储比特流的视频处理装置,其中所述视频处理装置被配置为实施根据权利要求1至63中任一项或多项所述的方法。
CN202180046880.4A 2020-06-30 2021-06-29 自适应环路滤波的边界位置 Pending CN116325728A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN2020099604 2020-06-30
CNPCT/CN2020/099604 2020-06-30
PCT/CN2021/102938 WO2022002007A1 (en) 2020-06-30 2021-06-29 Boundary location for adaptive loop filtering

Publications (1)

Publication Number Publication Date
CN116325728A true CN116325728A (zh) 2023-06-23

Family

ID=79317459

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180046880.4A Pending CN116325728A (zh) 2020-06-30 2021-06-29 自适应环路滤波的边界位置

Country Status (6)

Country Link
US (2) US11979568B2 (zh)
EP (1) EP4173290A4 (zh)
JP (2) JP2023531223A (zh)
KR (1) KR20230029670A (zh)
CN (1) CN116325728A (zh)
WO (1) WO2022002007A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220394309A1 (en) * 2021-05-20 2022-12-08 Lemon Inc. On Padding Methods For Neural Network-Based In-Loop Filter
WO2023198075A1 (en) * 2022-04-13 2023-10-19 Beijing Bytedance Network Technology Co., Ltd. Method, apparatus, and medium for video processing

Family Cites Families (77)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7991236B2 (en) 2006-10-16 2011-08-02 Nokia Corporation Discardable lower layer adaptations in scalable video coding
EP3101897B1 (en) 2010-04-09 2021-10-20 Xylene Holding S.A. Moving image encoding device and method, moving image decoding device and method, bitstream
US9094658B2 (en) * 2010-05-10 2015-07-28 Mediatek Inc. Method and apparatus of adaptive loop filtering
US9462298B2 (en) 2011-10-21 2016-10-04 Qualcomm Incorporated Loop filtering around slice boundaries or tile boundaries in video coding
US9247258B2 (en) 2011-10-26 2016-01-26 Qualcomm Incorporated Unified design for picture partitioning schemes
US9077998B2 (en) 2011-11-04 2015-07-07 Qualcomm Incorporated Padding of segments in coded slice NAL units
WO2014107709A2 (en) 2013-01-07 2014-07-10 Vid Scale, Inc. Enhanced deblocking filters for video coding
US9294776B2 (en) 2013-03-05 2016-03-22 Qualcomm Incorporated Parallel processing for video coding
US9628792B2 (en) 2013-07-15 2017-04-18 Qualcomm Incorporated Cross-layer parallel processing and offset delay parameters for video coding
WO2015043501A1 (en) 2013-09-27 2015-04-02 Qualcomm Incorporated Residual coding for depth intra prediction modes
US9807406B2 (en) 2014-03-17 2017-10-31 Qualcomm Incorporated Picture flushing and decoded picture buffer parameter inference for multi-layer bitstreams
US10200700B2 (en) 2014-06-20 2019-02-05 Qualcomm Incorporated Cross-component prediction in video coding
BR112017004886A2 (pt) 2014-09-12 2017-12-05 Vid Scale Inc dispositivo de codificação de vídeo e método de codificação de vídeo
KR20200051831A (ko) 2014-10-28 2020-05-13 미디어텍 싱가폴 피티이. 엘티디. 비디오 코딩을 위한 가이드된 크로스-컴포넌트 예측 방법
US9591325B2 (en) 2015-01-27 2017-03-07 Microsoft Technology Licensing, Llc Special case handling for merged chroma blocks in intra block copy prediction mode
US10924743B2 (en) 2015-02-06 2021-02-16 Microsoft Technology Licensing, Llc Skipping evaluation stages during media encoding
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
US10306246B2 (en) * 2015-02-13 2019-05-28 Mediatek Inc. Method and apparatus of loop filters for efficient hardware implementation
US10448015B2 (en) * 2015-06-16 2019-10-15 Lg Electronics Inc. Method and device for performing adaptive filtering according to block boundary
US10600156B2 (en) * 2015-06-18 2020-03-24 Lg Electronics Inc. Image properties-based adaptive filtering method and device in image coding system
WO2017045101A1 (en) 2015-09-14 2017-03-23 Mediatek Singapore Pte. Ltd. Advanced deblocking filter in video coding
US10531111B2 (en) 2015-11-06 2020-01-07 Microsoft Technology Licensing, Llc Flexible reference picture management for video encoding and decoding
US11405611B2 (en) 2016-02-15 2022-08-02 Qualcomm Incorporated Predicting filter coefficients from fixed filters for video coding
WO2017190288A1 (en) 2016-05-04 2017-11-09 Microsoft Technology Licensing, Llc Intra-picture prediction using non-adjacent reference lines of sample values
JP6983862B2 (ja) 2016-07-08 2021-12-17 ヴィド スケール インコーポレイテッド ジオメトリ投影を使用する360度ビデオ符号化
US20180041778A1 (en) 2016-08-02 2018-02-08 Qualcomm Incorporated Geometry transformation-based adaptive loop filtering
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
US20180184127A1 (en) 2016-12-22 2018-06-28 Qualcomm Incorporated Determining neighboring samples for bilateral filtering in video coding
US10506230B2 (en) 2017-01-04 2019-12-10 Qualcomm Incorporated Modified adaptive loop filter temporal prediction for temporal scalability support
SG11201909450WA (en) 2017-04-11 2019-11-28 Vid Scale Inc 360-degree video coding using face continuities
US10778974B2 (en) 2017-07-05 2020-09-15 Qualcomm Incorporated Adaptive loop filter with enhanced classification methods
US10728573B2 (en) 2017-09-08 2020-07-28 Qualcomm Incorporated Motion compensated boundary pixel padding
KR20200064989A (ko) 2017-09-20 2020-06-08 브이아이디 스케일, 인크. 360도 비디오 코딩에서의 면 불연속 처리
US10965941B2 (en) 2017-10-09 2021-03-30 Qualcomm Incorporated Position-dependent prediction combinations in video coding
EP3704857A1 (en) 2017-11-01 2020-09-09 VID SCALE, Inc. Overlapped block motion compensation
US11641488B2 (en) 2017-11-01 2023-05-02 Vid Scale, Inc. Methods for simplifying adaptive loop filter in video coding
CN107801024B (zh) 2017-11-09 2019-07-12 北京大学深圳研究生院 一种用于帧内预测的边界滤波方法
US10721469B2 (en) 2017-11-28 2020-07-21 Qualcomm Incorporated Line buffer reduction for adaptive loop filtering in video coding
CN111713111B (zh) 2017-12-19 2024-04-09 Vid拓展公司 用于360度视频译码的面不连续性滤波
WO2019131651A1 (en) 2017-12-29 2019-07-04 Sharp Kabushiki Kaisha Systems and methods for partitioning video blocks at a boundary of a picture for video coding
US10972729B2 (en) 2018-01-20 2021-04-06 Qualcomm Incorporated Deblocking filter selection and application in video coding
US20190238845A1 (en) 2018-01-26 2019-08-01 Qualcomm Incorporated Adaptive loop filtering on deblocking filter results in video coding
CN110337811A (zh) 2018-02-14 2019-10-15 北京大学 运动补偿的方法、装置和计算机系统
US10708592B2 (en) 2018-04-02 2020-07-07 Qualcomm Incorporated Deblocking filter for video coding and processing
US20190306502A1 (en) 2018-04-02 2019-10-03 Qualcomm Incorporated System and method for improved adaptive loop filtering
CN116347109A (zh) 2018-08-17 2023-06-27 北京字节跳动网络技术有限公司 一种处理视频数据的方法和装置
TWI820212B (zh) 2018-09-12 2023-11-01 大陸商北京字節跳動網絡技術有限公司 單行交叉分量線性模型預測模式
CN116781935A (zh) 2018-09-14 2023-09-19 华为技术有限公司 视频译码中的分块指示
TWI822863B (zh) 2018-09-27 2023-11-21 美商Vid衡器股份有限公司 360度視訊寫碼樣本導出
CN112913247B (zh) 2018-10-23 2023-04-28 北京字节跳动网络技术有限公司 使用局部照明补偿的视频处理
KR20210087928A (ko) 2018-11-06 2021-07-13 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 인트라 예측을 위한 파라미터 유도의 복잡성 감소
WO2020094153A1 (en) 2018-11-09 2020-05-14 Beijing Bytedance Network Technology Co., Ltd. Component based loop filter
CN109600611B (zh) 2018-11-09 2021-07-13 北京达佳互联信息技术有限公司 环路滤波方法、环路滤波装置、电子设备和可读介质
CN113170122B (zh) 2018-12-01 2023-06-27 北京字节跳动网络技术有限公司 帧内预测的参数推导
CA3121671A1 (en) 2018-12-07 2020-06-11 Beijing Bytedance Network Technology Co., Ltd. Context-based intra prediction
CN113273203B (zh) 2018-12-22 2024-03-12 北京字节跳动网络技术有限公司 两步交叉分量预测模式
HRP20230682T1 (hr) 2019-01-09 2023-10-13 Huawei Technologies Co., Ltd. Ograničenja položaja podslike kod kodiranja videa
WO2020143824A1 (en) 2019-01-13 2020-07-16 Beijing Bytedance Network Technology Co., Ltd. Interaction between lut and shared merge list
US11089335B2 (en) * 2019-01-14 2021-08-10 Mediatek Inc. Method and apparatus of in-loop filtering for virtual boundaries
JP2022521698A (ja) 2019-02-22 2022-04-12 北京字節跳動網絡技術有限公司 イントラ予測のための隣接サンプル選択
CN115967810A (zh) 2019-02-24 2023-04-14 抖音视界有限公司 对视频数据进行编解码的方法、设备及计算机可读介质
WO2020176636A1 (en) 2019-02-27 2020-09-03 Futurewei Technologies, Inc. Luma mapping with chroma scaling adaptation parameter set in video coding
JP7288071B2 (ja) 2019-03-02 2023-06-06 北京字節跳動網絡技術有限公司 ビデオ処理方法、装置及び記憶媒体
MX2021011023A (es) 2019-03-11 2021-11-12 Huawei Tech Co Ltd Un codificador, un decodificador y métodos correspondientes.
CN117499644A (zh) 2019-03-14 2024-02-02 北京字节跳动网络技术有限公司 环路整形信息的信令和语法
SG11202110102YA (en) 2019-03-24 2021-10-28 Beijing Bytedance Network Technology Co Ltd Nonlinear adaptive loop filtering in video processing
CN117880494A (zh) 2019-03-24 2024-04-12 北京字节跳动网络技术有限公司 用于帧内预测的参数推导的条件
CN113678464B (zh) 2019-04-15 2022-12-02 北京字节跳动网络技术有限公司 非线性自适应环路滤波器中的参数的时域预测
CN117499679A (zh) 2019-04-16 2024-02-02 北京字节跳动网络技术有限公司 用于视频编解码的自适应环路滤波
US20220217407A1 (en) * 2019-06-19 2022-07-07 Electronics And Telecommunications Research Institute Virtual boundary signaling method and apparatus for video encoding/decoding
JP7291845B2 (ja) 2019-07-11 2023-06-15 北京字節跳動網絡技術有限公司 適応ループフィルタリングにおけるサンプルパディング
EP4000267A4 (en) 2019-08-23 2023-02-22 Beijing Bytedance Network Technology Co., Ltd. CLIPPING IN A RE-SAMPLING REFERENCE IMAGE
WO2021088835A1 (en) 2019-11-04 2021-05-14 Beijing Bytedance Network Technology Co., Ltd. Cross-component adaptive loop filter
US11425405B2 (en) * 2019-11-15 2022-08-23 Qualcomm Incorporated Cross-component adaptive loop filter in video coding
MX2022009122A (es) * 2020-01-24 2022-10-27 Huawei Tech Co Ltd Un codificador, un decodificador y los métodos correspondientes para el filtrado de bucle adaptativo.

Also Published As

Publication number Publication date
JP2024020420A (ja) 2024-02-14
EP4173290A1 (en) 2023-05-03
US20240114132A1 (en) 2024-04-04
KR20230029670A (ko) 2023-03-03
US20230156186A1 (en) 2023-05-18
WO2022002007A1 (en) 2022-01-06
JP2023531223A (ja) 2023-07-21
EP4173290A4 (en) 2024-01-10
US11979568B2 (en) 2024-05-07

Similar Documents

Publication Publication Date Title
CN114128278B (zh) 自适应环路滤波中的样点填充
CN117478878A (zh) 用于自适应环路滤波的样点确定
CN114430902B (zh) 自适应环路滤波中的填充过程
US11683488B2 (en) Adaptive loop filtering between different video units
US11979568B2 (en) Boundary location for adaptive loop filtering
US11706462B2 (en) Padding process at unavailable sample locations in adaptive loop filtering
CN115176468A (zh) 跨分量自适应环路滤波器
US11979567B2 (en) Sample padding for cross-component adaptive loop filtering

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