【背景技术】
运动估计是一种有效的帧间编解码技术,以利用视频序列中的时间冗余。运动补偿的帧间编解码已在各种国际视频编解码标准中广泛使用。各种编解码标准中采用的运动估计通常是基于块的技术,其中,针对每个宏块或类似块配置确定运动信息,例如编解码模式和运动矢量。另外,还自适应地应用帧内编解码,其中在不参考任何其他图片的情况下处理图片。通常通过变换、量化和熵编解码来进一步处理帧间预测残差或帧内预测残差,以生成压缩视频比特流。在编码过程中,特别是在量化过程中,会引入编解码伪像。为了减轻编解码伪像,已存在将附加处理应用于重建视频,以增强新型编解码系统中的图像质量。通常以环内(in-loop)操作来配置附加处理,以便编码器和解码器可以导出相同的参考图片以实现改进的系统性能。
图1A示出了并入了包括自适应环路滤波器(ALF)在内的环路处理的示例性自适应帧间/帧内视频编解码系统。对于帧间预测,运动估计(ME)/运动补偿(MC)112用于基于来自其他图片的视频数据提供预测数据。开关114选择帧内预测110或帧间预测数据,并且所选择的预测数据被提供给加法器116以形成预测误差,也称为残差。然后,通过变换(T)118,然后是量化(Q)120处理预测误差。然后,由熵编码器122对经过变换和量化的残差进行编码,以形成与压缩视频数据相对应的视频比特流。然后,将与变换系数相关联的比特流与诸如运动、模式以及与图像区域相关联的其他信息之类的辅助信息(side information)打包在一起。辅助信息也可以经过熵编码以减少所需的带宽。因此,如图1A所示,与辅助信息相关的数据被提供给熵编码器122。当使用帧间预测模式时,也必须在编码器端重建参考图片。因此,通过逆量化(IQ)124和逆变换(IT)126处理经变换和量化的残差以恢复残差。然后在重建(REC)128处将残差加回到预测数据136以重建视频数据。重建视频数据可以存储在参考图片缓冲器134中,并用于其他帧的预测。
如图1A所示,输入视频数据在编解码系统中经历了一系列处理。由于一系列处理,来自REC 128的重建视频数据可能会遭受各种损害。因此,在将重建视频数据存储在参考图片缓冲器134中之前,将各种环路处理应用于重建视频数据,以提高视频质量。在视频编解码系统中,已经使用诸如去块滤波器(DF)130、样本自适应偏移(SAO)131和自适应环路滤波器(ALF)132之类的各种环路滤波器来增强图片质量。
图1B中示出了图1A的编码器的相应解码器。视频比特流由熵解码器142解码以恢复经变换和量化的残差。在解码器侧,仅执行运动补偿(MC)113,而不执行ME/MC。解码过程类似于编码器端的重建循环。恢复的经过变换和量化的残差、SAO/ALF信息以及其他系统信息用于重建视频数据。DF 130、SAO 131和ALF 132对重建视频进行进一步处理,以生成最终的增强解码视频。
跨分量ALF处理
在JVET-O0636(Kiran Misra等人,“Cross-Component Adaptive Loop Filterfor chroma”,ITU-T SG 16WP 3和ISO/IEC JTC 1/SC 29/WG 11的联合视频专家小组(JVET),第15次会议:Gothenburg,SE,2019年7月3日至12日,文档:JVET-O0636)中,提出了跨分量自适应环路滤波(Cross-Component Adaptive Loop Filter,简写为CC-ALF)。CC-ALF利用亮度样本值来改善(refine)每个色度分量。图2A示出了根据JVET-O0636的关于其他环路滤波的CC-ALF的结构。在图2A中,在各个SAO(210、212和214)之后执行ALF处理。在常规的视频编解码系统中,仅使用ALF亮度(ALF Luma)220和ALF色度(ALF Chroma)230。在JVET-0636中,使用两个附加的ALF滤波器,即CC ALF Cb 222和CC ALF Cr 224来导出调整信号,以分别使用加法器240和242将其加到经ALF处理的Cb和Cr上。
在CC-ALF中,根据JVET-O0636,通过将线性菱形滤波器应用于每个色度分量(component)的亮度通道,如图2B所示。滤波器系数在APS中传输,缩放系数为210,并为定点表示(fixed point representation)取整。用可变的块大小控制滤波器的应用,并通过为每个样本块接收的上下文编码标志发信。对于每个色度分量,在切片级别接收块大小以及CC-ALF启用标志。JVET-O0636中还公开了CC-ALF的语法和语义。
虚拟边界以减少行缓冲器的使用
为了消除SAO和ALF的行缓冲区要求,我们引入了虚拟边界(VB)的概念。如第3图所示,VB是向上移位N个像素的水平最大编解码单元(LCU)边界。对于每个LCU,SAO和ALF可以在下层LCU出现之前处理VB之上的像素,但是直到下层LCU出现之后,才可以处理VB之下的像素,这是由DF引起的。考虑到HM-4.0中的DF,建议的VB和水平LCU边界之间的间隔设置为亮度的三个像素(即第3图中的N=3)和色度的一个像素(即第3图中的N=1)。对SAO和ALF进行了修改,以确保VB一侧上的每个要处理的像素都不需要从VB另一侧进行任何数据访问,除非可以在不使用任何其他行缓冲区的情况下及时获得数据。
在第11届JVET会议上,下一代视频编解码标准(通用视频编解码(VVC))的草案中采用了基于4x4块自适应的ALF。对于一个4x4的块,需要一个8x8的窗口来计算块的属性,并且滤波器足迹(filter footprint)是1个7x7菱形滤波器(用于亮度)和一个5x5菱形滤波器(用于色度)。因此,所需的没有虚拟边界的行缓冲器是在4个亮度DF行缓冲器和2个色度DF行缓冲器之上附加的7个亮度行缓冲器和3个色度行缓冲器。虚拟边界的概念仍然可以在VVC中应用,以减少行缓冲器的使用。在以上描述中,最大编解码单元(LCU)在VVC中被重命名为编解码树单元(CTU)。但是,提出了一些修改以适合当前ALF设计的功能。
非线性ALF操作
在VTM3.0(VVC(通用视频编解码)测试模型3.0版)中,自适应回路滤波器的滤波处理如下执行:
O(x,y)=∑(i,j)w(i,j).I(x+i,y+j), (1)
在上式中,样本I(x+i,y+j)是输入样本,O(x,y)是滤波的输出样本(即滤波结果),而w(i,j)表示滤波系数。由于ALF被应用于重建样本,所以样本I(x+i,y+j)对应于重建样本。在ALF处理的中心位置处的中心重建像素对应于(i,j)=(0,0),即I(i,j)。实际上,在VTM3.0中,它是使用整数算法实现的定点精度计算(fixed point precisioncomputation):
在上式中,L表示滤波器长度,其中w(i,j)是定点精度的滤波器系数。
可以如下重新编写公式(1),而不会影响编解码效率:
O(x,y)=I(x,y)+∑(i,j)≠(0,0)w(i,j).(I(x+i,y+j)-I(x,y)), (3)
在上式中,w(i,j)是与公式(1)中相同的滤波器系数,除了w(0,0),它在公式(3)中等于1,而在公示(1)中等于(1-∑(i,j)≠(0,0)w(i,j))。
使用上面的公式(3)的滤波器公式,当相邻样本值(I(x+i,y+j))与正在被滤波的当前样本值(I(x,y))完全不同时,我们可以通过使用简单的限幅函数来减少相邻样本值(I(x+i,y+j))的影响,从而轻松地引入非线性以提高ALF的效率。
在JVET-M0385((J.Taquet等人,“Non-Linear Adaptive Loop Filter”,ITU-TSG16WP 3和ISO/IEC JTC 1/SC 29/WG 11的联合视频探索小组(JVET),第13次会议:马萨诸塞州马拉喀什,2019年1月9日至18日,文档:JVET-M0385)中,公开了一种非线性ALF。它在测试软件VTM3.0中对自适应回路滤波器的输入样本值引入了自适应限幅操作。这种自适应限幅的目的是引入一些非线性,以限制要滤波的输入样本值与该滤波器的其他相邻输入样本值之间的差异。
根据JVET-M0385,对ALF滤波器的操作进行了如下修改:
O′(x,y)=I(x,y)+∑(i,j)≠(0,0)w(i,j).K(I(x+i,y+j)-I(x,y),k(i,j)), (4)
在上式中,O’(x,y)对应于修改后的ALF滤波器输出,I(x,y)对应于ALF之前的样本,K(d,b)=min(b,max(-b,d))是限幅函数,而k(i,j)是限幅参数,它取决于(i,j)处的滤波器系数。编码器执行优化以找到最佳的k(i,j)。
在根据JVET-M0385的实施方式中,为每个ALF滤波器指定限幅参数k(i,j),其中每个滤波器系数发信一个限幅值。这意味着每个亮度滤波器在比特流中发信12个限幅值,而色度滤波器则发信6个限幅值。
为了限制信令成本和编码器复杂性,限幅值被限制为JVET-M0385中的一小部分可能值。此外,仅将4个可能的值用于帧间切片,将3个可能的值用于帧内切片。
由于亮度的局部差异的方差通常比色度的高,因此亮度和色度滤波器使用了两个不同的集合。此外,每个组中都包含最大样本值,因此可以在不需要时禁用限幅。
表1提供了根据JVET-M0385提出的一组限幅值。
表1:允许的限幅值
使用与集合中的限幅值的索引相对应的Golomb编码在切片报头(header)中对限幅值(clipping value)进行编码。
使用虚拟边界降低了ALF的缓冲器要求
在JVET-M0301((A.Kotra等人,“Non-CE:Loop filter line buffer reduction”,ITU-T SG 16WP 3和ISO/IEC JTC 1/SC 29/WG 11的联合视频探索小组(JVET),第13次会议:马萨诸塞州马拉喀什,2019年1月9日至18日,文档:JVET-M0301)中,公开了一种降低ALF(自适应回路滤波器)的行缓冲器需求的机制。该贡献使用虚拟边界(VB)的概念,虚拟边界是向上移动“N”个样本的水平CTU边界。修改后的ALF块分类和修改后的ALF滤波应用于虚拟边界附近的样本,以减少所需的行缓冲器数量。修改后的ALF块分类仅使用VB之上的样本对给定的4x4块(VB之上)进行分类。类似地,对于VB以下的4×4块的分类,使用了属于VB以下的线的样本。修改后的ALF滤波使用了原始ALF滤波器的条件禁用(conditionaldisabling)和截断版本的组合。
在虚拟边界处截断的ALF滤波
滤波器的截断版本用于对属于接近虚拟边界的行的亮度样本进行滤波。滤波器的这些截断版本可用于N=4和N=6的情况。同样,滤波器的截短版本也用于色度ALF滤波。
对于截断的ALF,必须对系数进行归一化,即,其余系数的总和必须与原始系数的总和相同。第4A-F图示出了在虚拟边界处用于截断的亮度ALF滤波器处理的系数归一化的示例。图4A示出了对于顶部像素(即,像素c0)在虚拟边界之外的情况的修改后的ALF系数。系数c2修改为c2',其中c2'=c2+c0。图4B示出了底部像素(即,c0)在虚拟边界之外的情况。图4C示出了对于前两行(即,像素c0、c1、c2和c3)在虚拟边界之外的情况的修改后的ALF系数。因此,将系数c5、c6和c7修改为c5’、c6’和c7’,其中c5’=c5+c1,c6’=c6+c2+c0和c7’=c7+c3。图4D示出了对于底部两行(即,像素c0、c1、c2和c3)在虚拟边界之外的情况的修改后的ALF系数。图4E示出了对于前三行(即,像素c0至c8)在虚拟边界之外的情况的修改后的ALF系数。因此,将系数c10、c11和c12修改为c10'、c11'和c12',其中c10'=c10+c4+c8,c11'=c11+c5+c7+c1+c3和c12'=c12+2*c6+2*c2+2*c0。图4F示出了针对底部三行(即,像素c0至c8)在虚拟边界之外的情况的修改后的ALF系数。
第5A-5D图示出了在虚拟边界处的截断的色度ALF滤波器处理的示例。图5A示出了对于顶部像素(即,像素c0)在虚拟边界之外的情况的修改后的ALF系数。系数c2修改为c2',其中c2'=c2+c0。图5B示出了底部像素(即,c0)在虚拟边界之外的情况。图5C示出了针对顶部两行(即,像素c0、c1、c2和c3)在虚拟边界之外的情况的修改后的ALF系数。因此,将系数c5和c6修改为c5'和c6',其中c5'=c5+c1+c3,c6'=c6+2*c2+2*c0。图5D示出了底部两行(即像素c0、c1、c2和c3)在虚拟边界之外的情况的修改后的ALF系数。
在切片(slice)/砖块(brick)/图块(tile)边界处的虚拟边界和360视频虚拟边界
在JVET-O0016(M.Zou等人,“JVET AHG report:Implementation studies(AHG16)”,ITU-T SG 16WP 3和ISO/IEC JTC 1/SC 29/WG 11联合视频探索小组(JVET),第15次会议:Gothenburg,SE,2019年7月3日至12日,文件:JVET-O0016)中,报告了沿切片/砖块/图块边界和360视频虚拟边界的ALF行缓冲区(line buffer)问题。360视频也称为360度视频或360度VR(虚拟现实)视频。采用ALF虚拟边界来消除ALF行缓冲区的要求,其中虚拟边界位于图片底部CTU行的CTU之外,位于底部CTU边界上方的4个亮度行处。在根据VVC测试模型6(VTM6)的规范文本草案中,如果CTU的底部CTU边界也是切片/砖块/图块边界(禁用跨越这些边界的环路滤波器)或360视频虚拟边界,则CTU不存在ALF虚拟边界。对于360视频,360图片可能包含一个或多个“虚拟边界”,它们对应于面之间的不连续边缘。由于根据当前VVC规范禁用了ALF虚拟边界,因此具有以下后果:
·对于解码器,不事先知道切片/砖块/图块的边界(即低延迟应用程序)意味着需要恢复ALF行缓冲区。为了处理当前CTU底线的ALF滤波(例如底部CTU边界上方的亮度线5、6和7),解码器需要知道当前底部CTU边界是否与其他类型的边界重合。但是,该信息是未知的,直到下一个切片/砖块/图块被解码。
·即使切片/砖块/图块的边界是预先已知的(例如,CABAC解码在帧级别完全解耦(decouple)),解码器也需要一直(大约预留6%)以68行每64x64VDPU(视频解码器处理单元?)的速度运行环路滤波器(去块、SAO和ALF),以避免使用ALF线路缓冲区。
在JVET-O0625(H.Liu等人,“Non-CE5:Padding method for samples at variantboundaries in ALF”,ITU-T SG 16WP 3和ISO/IEC JTC 1/SC 29/WG 11联合视频探索小组(JVET),第15次会议:Gothenburg,SE,2019年7月3日至12日,文档:JVET-O0016)中,提出了两种方法来解决上述问题:
1.ALF虚拟边界适用于CU,其底部边界是切片/砖块/虚拟边界,而与跨边界样本的使用无关。
2.在对称的两边填充方法中,当一个样本位于两个边界处时,例如,上边的一个边界和下边的一个边界,则根据较近的边界确定要填充的样本数,如第6A-6B图所示。同时,当导出分类信息时,仅使用第6A-6B图中的上下边界之间的4条线。图6A示出了在要滤波的当前样本(即,c12)的切片/砖块/虚拟边界或360度虚拟边界(610)下方三行的示例。对称填充将填充切片/砖块/虚拟边界或360度虚拟边界(610)下方的三行以及上方的三个对应行,其中填充的样本以方框填充,并用斜线填充。图6B示出了示例,其中两行在要滤波的当前样本(即,c12)的切片/砖块/虚拟边界或360度虚拟边界(610)之下。对称填充将填充切片/砖块/虚拟边界或360度虚拟边界(620)下方的两行以及上方的两个对应行,其中填充的样本显示在以斜线填充的框中。
在本申请中,解决了各种其他ALF边界问题,并公开了用于提高性能,统一多个系统或简单地进行ALF边界处理的解决方案。
【具体实施方式】
以下描述是实施本发明的最佳构想模式。进行该描述是出于说明本发明的一般原理的目的,而不应被认为是限制性的。本发明的范围最好通过参考所附的权利要求来确定。
方法1:禁用跨边界环路滤波器时,禁用ALF
为了应用JVET-O0625的第一种方法并增强跨边界的样本的使用(即,禁用跨那些边界的环路滤波器),提出了几种方法。在一个实施例中,当跨那些边界的环路滤波器不被允许时,对于切片或砖块中的最后4×4块行禁用ALF。在另一个实施例中,该概念被扩展为处理垂直边界,该垂直边界可以是切片/砖块/图块/图片的垂直边界。在另一个实施例中,当不允许跨那些边界的环路滤波器时,ALF不对切片/砖块/图块中的顶部和底部4×4块行进行滤波。在另一个实施例中,当不允许跨那些边界的环路滤波器时,ALF也不对切片/砖块/图块中最左边和最右边的4x4块列进行滤波。在另一个实施例中,图片中的顶部和底部4×4块行不被ALF滤波。在另一个实施例中,图片中最左边和最右边的4×4块行列不被ALF滤波。
在一个实施例中,当跨那些边界的环路滤波器被禁用时,伴随环路滤波处理被禁用,针对那些边界禁用不同的环路滤波处理。例如,当针对一个切片的跨边界的环路滤波器被禁用时,则仅顶部和左侧切片边界不会被去块滤波器(deblocking filter,简写为DF)和样本自适应偏移(SAO)滤波。因此,ALF也未应用于顶部和左侧切片边界。在另一示例中,当针对一个切片的那些边界上的环路滤波器被禁用时,则包括上、左、右和下边界在内的所有切片边界都不会被去块滤波器和样本自适应偏移所滤波。因此,ALF也未在所有切片边界上应用。
在另一个实施例中,所提出的方法可以应用于360虚拟边界。对于一些360虚拟边界,在2D空间域中表示的一张图片中的相邻样本(例如,跨越两个面之间的不连续边界的相邻样本)实际上不是3D空间域中的相邻样本(即,非空间相邻)。因此,相邻样本不应用于滤波处理。在这种情况下,可以禁用ALF,以避免使用错误的相邻样本。360虚拟边界可以是水平或垂直边界。因此,如果是水平边界,则分别与该边界之上和之下的4×4块行相对应的两个4×4块行不被ALF滤波。如果它是垂直边界,则最接近此边界的两个4x4块列不会被ALF滤波。
上面提到的4x4块可以是ALF处理中的MxN块,其中M和N可以是任何整数。
方法2:简化的CC-ALF作为多个输入ALF
在CC-ALF中,为色度分量添加了一个附加滤波器,并且滤波的输出将为原始色度滤波器输出和附加滤波器输出的加权和。在一个实施例中,仅具有来自相应亮度样本的输入的一个附加滤波器抽头(tap)被添加到原始色度滤波器,而不是将具有来自相应亮度样本的输入的一个附加滤波器添加到原始色度滤波器。在另一个实施例中,非线性限幅(clip)操作也可以应用于该滤波器抽头。在一个实施例中,可以为该滤波器抽头发信限幅索引。在另一个实施例中,非线性限幅操作不能应用于该滤波器抽头。因此,不需要为该滤波器抽头发送限幅索引信号。
在一个实施例中,在ALF滤波器参数中发信一个标志,以指示是否使用了该滤波器抽头。根据色度格式确定相应的亮度样本。例如,如果视频格式为YUV444,则对应的亮度样本与待处理的色度样本的空间位置相同。如果视频格式为YUV422或YUV420,则对应的亮度样本可以是待处理色度样本的对应亮度样本中的预定空间位置。例如,对于YUV420,一个色度样本有四个对应的亮度样本。来自亮度分量的用于色度分量的附加滤波器抽头的输入可以是这四个样本之一。该选择可以在视频编码标准中预定义。在另一个实施例中,相应的亮度样本是所有相应的亮度样本的加权和。例如,YUV420的这四个亮度样本的平均值,YUV420的两个左亮度样本的平均值或YUV422的两个亮度样本的平均值。
在另一个实施例中,CC-ALF中的附加滤波器中的滤波器系数的精度与原始设计一致。
在另一个实施例中,所提出的方法被应用于亮度ALF。因此,为亮度ALF添加了来自色度输入的两个附加色度抽头。在一个实施例中,仅为亮度ALF添加一个附加滤波器抽头,并且该附加滤波器抽头的输入是色度分量的加权和。
方法3:具有虚拟边界处理的CC-ALF
在ALF中,为了消除行缓冲区要求,引入了虚拟边界。虚拟边界的位置是CTU行(row)边界上方的4条亮度线和CTU行边界上方的两条色度线。应用CC-ALF时,应避免跨虚拟边界使用亮度样本。例如,在原始设计中,如图2B所示,使用了一个5x6的菱形滤波器来得出色度分量的经交叉色滤波的信号。在本示例中,5x6菱形滤波器可以视为默认滤波形状。尽管5×6菱形滤波器用作CC-ALF的示例,但是本发明不限于该特定滤波形状。如果滤波器覆盖区(filter footprint)中相应亮度样本的相邻亮度样本位于虚拟边界的另一侧,则应更改滤波处理或滤波形状,以避免使用位于虚拟边界另一侧的样本。在一个实施例中,当仅一个亮度行位于虚拟边界的另一侧时,将滤波形状减小为5x4菱形滤波器。换句话说,排除虚拟边界另一侧的一个亮度行和位于CC-ALF的对应对称位置的一个亮度行用于滤波处理。如果在虚拟边界的另一侧有两个亮度行,则滤波形状将减小为5x2菱形滤波器。换句话说,虚拟边界另一侧的两个亮度行和位于CC-ALF的对应对称位置的两个亮度行被排除用于滤波处理。在另一个实施例中,填充技术被用来生成位于虚拟边界另一侧的样本,而不是改变滤波器的形状。填充技术可以是重复图案、偶数对称图案、奇数对称图案或ALF虚拟边界处理中使用的方法。在另一实施例中,当在虚拟边界的另一侧上存在至少一个亮度样本时,CC-ALF被禁用。
方法4:具有切片/砖块(brick)/图块(tile)/图片/360边界处理的CC-ALF
在切片/砖块/砖块边界处,当跨那些边界的环路滤波器被禁用时,用于在CC-ALF中生成相应的亮度样本的过程应该与用于在亮度ALF中生成相应的亮度样本的过程相同。在一个实施例中,当跨(外部)切片/砖块/图块边界的环路滤波器被禁用时,具有VB(虚拟边界)的ALF被用于在亮度ALF中生成对应的亮度样本。因此,带有VB的ALF用于在CC-ALF中生成相应的亮度样本。在一个实施例中,当跨切片/砖块/图块边界的环路滤波器被禁用时,如果亮度ALF需要边界之外的不可用样本,则对于那些样本禁用亮度ALF。因此,对于那些相应的色度样本,CC-ALF也被禁用。在一个实施例中,当跨切片/砖块/图块边界的环路滤波器被禁用时,使用重复填充(repetitive padding)以在亮度ALF中生成对应的亮度样本。因此,重复填充也用于在CC-ALF中生成相应的亮度样本。换句话说,应用填充来替换亮度ALF和CC-ALF中边界之外的相应亮度样本。替换的相应亮度样本是不可用的样本。所提出的方法也可以应用于图片边界或360虚拟边界。
可以在编码器和/或解码器中实现任何前述提出的方法。例如,可以在编码器和/或解码器的环路滤波模组中实现任何所提出的方法。可替代地,任何提出的方法可以被实现为耦合到编码器和/或解码器的环路滤波模组的电路。
图7示出了根据本发明实施例的重建视频的示例性环路滤波处理的流程图,其中,如果不允许目标边界使用环路滤波器,则在目标边界的顶部、底部、左侧和右侧禁用目标环路滤波器。流程图中所示的步骤可以被实现为在编码器侧的一个或多个处理器(例如,一个或多个CPU)上可执行的程序代码。流程图中所示的步骤也可以基于硬件来实现,例如被布置为执行流程图中的步骤的一个或多个电子设备或处理器。根据该方法,在步骤710中接收重建像素。在步骤720中将目标环路滤波器应用于重建样本,其中,如果不允许环路滤波器用于目标边界,则在目标边界的顶部、底部、左侧和右侧禁用目标环路滤波器。然后在步骤730中提供滤波的重建样本用于视频解码输出或进一步的视频编码或解码处理。
图8示出了根据本发明实施例的重建视频的示例性ALF的流程图,其中CC-ALF形状在虚拟边界上改变。根据该方法,在步骤810中接收彩色图片中的重建色度样本和相关重建亮度样本。首先,在步骤820中,将ALF应用于重建色度样本,用于目标重建色度样本生成第一滤波的色度样本。在步骤820中,将第二ALF应用于相关重建亮度样本,以生成用于目标重建色度样本的第二滤波的色度样本,其中,确定虚拟边界,并且一组相关重建亮度样本位于目标重建色度样本的虚拟边界的另一侧,从第二ALF的输入中排除所述一组相关重建亮度样本。在步骤840中,通过组合第一滤波的色度样本和第二滤波的色度样本来产生最终滤波的色度样本,其中,最终滤波的色度样本被用作视频解码输出或用于进一步的视频编码或解码过程。
图9示出了根据本发明实施例的重建视频的示例性ALF的流程图,其中CC-ALF和亮度ALF以相同的方式处理不可用的样本。根据该方法,在步骤910中接收彩色图片中的重建色度样本和相关重建亮度样本。在步骤920中将亮度ALF应用于相关重建亮度样本以生成滤波的亮度样本。在步骤930中,将第一ALF应用于相关重建亮度样本以生成用于目标重建色度样本的第一滤波的色度样本,其中,如果跨目标边界的环路滤波器处理被禁用,则以与所述亮度ALF处理相同的方式针对所述第一ALF生成相应的相关重建亮度样本,其中将第一滤波的色度样本与基于重建色度样本导出的第二滤波的色度样本合并以形成最终的滤波的色度样本;以及其中最终的滤波的色度样本和滤波的亮度样本用作视频解码输出,或用于进一步的视频编码或解码处理。要注意的是,所述不可用样本是目标边界之外的相关重建亮度样本。
所示的流程图旨在说明根据本发明的视频编码的示例。本领域技术人员可以修改每个步骤、重新布置步骤、拆分步骤或组合步骤以实践本发明,而不背离本发明的精神。在本公开中,已经使用特定的语法和语义来说明用于实现本发明的实施例的示例。本领域技术人员可以通过用等效的语法和语义替换语法和语义来实践本发明,而不脱离本发明的精神。
呈现以上描述是为了使本领域技术人员能够实践在特定应用及其要求的上下文中提供的本发明。对所描述的实施例的各种修改对于本领域技术人员将是显而易见的,并且本文中定义的一般原理可以应用于其他实施例。因此,本发明无意限于所示出和描述的特定实施例,而是与与本文所公开的原理和新颖特征相一致的最广范围相一致。在以上详细描述中,示出了各种具体细节以便提供对本发明的透彻理解。然而,本领域技术人员将理解可以实施本发明。
如上所述的本发明的实施例可以以各种硬件、软件代码或两者的组合来实现。例如,本发明的实施例可以是集成到视频压缩芯片中的一个或多个电路或集成到视频压缩软件中以执行本文描述的处理的程序代码。本发明的实施例还可以是要在数字信号处理器(DSP)上执行以执行本文描述的处理的程序代码。本发明还可涉及由计算机处理器、数字信号处理器、微处理器或现场可编程门阵列(FPGA)执行的许多功能。这些处理器可以被配置为通过执行定义本发明所体现的特定方法的机器可读软件代码或固件代码来执行根据本发明的特定任务。可以以不同的程序语言和不同的格式或样式来开发软件代码或固件代码。也可以为不同的目标平台编译软件代码。然而,不同的代码格式、软件代码的样式和语言以及配置代码以执行根据本发明的任务的其他手段将不脱离本发明的精神和范围。
在不脱离本发明的精神或基本特征的情况下,本发明可以以其他特定形式实施。所描述的示例在所有方面仅应被认为是说明性的而非限制性的。因此,本发明的范围由所附权利要求而不是前述描述来指示。落入权利要求等同含义和范围内的所有改变均应包含在其范围之内。