发明内容
因此,本发明实施方式的目的旨在提供一种改进的自适应环路滤波方案,其能够提高ALF对于不同图像的滤波效果。
根据本发明的第一方面,提供一种用于图像编码的自适应环路滤波方法。该方法包括:将重建图像划分成多个滤波区域;按照至少两个滤波区域索引表分别对所述多个滤波区域进行滤波区域合并,并且计算出针对每个滤波区域索引表的率失真代价;对于至少两个所计算出的针对每个滤波区域索引表的率失真代价进行比较;选择所述至少两个滤波区域索引表中的率失真代价最小的滤波区域索引表,作为对所述重建图像进行自适应环路滤波的最终滤波区域索引表;将所述最终滤波区域索引表的编号编码到视频图像码流中。采用预先对至少两个滤波区域索引表进行编号,并且将滤波区域索引表的编号编码到视频图像码流中能够提高编码效率。备选地,也可以将最终滤波区域索引表编码到视频图像码流中。
进一步地,将重建图像划分成的所述多个滤波区域是采用基于块的自适应环路滤波方案划分成的区域或者采用基于四叉树划分的自适应环路滤波方案划分成的区域,其中所述多个滤波区域的区域大小是可变的。
在一个实施例中,将重建图像划分成多个滤波区域包括划分成4×4形式的16个滤波区域。
进一步地,针对16个滤波区域的至少两个滤波区域索引表包括以下各项中的两项或更多项:
RegionTable_1[16]={0,1,14,15,3,2,13,12,4,7,8,11,5,6,9,10};
RegionTable_2[16]={0,1,2,3,7,6,5,4,8,9,10,11,15,14,13,12};
RegionTable_3[16]={0,3,4,5,1,2,7,6,14,13,8,9,15,12,11,10};或,
RegionTable_4[16]={1,2,5,6,0,3,4,7,13,12,11,8,14,15,10,9}。
在一个实施例中,将重建图像划分成多个滤波区域包括划分成8×8形式的64个滤波区域。
根据本发明的第二方面,提供一种用于图像编码的自适应环路滤波装置。该装置包括:划分模块,用于将重建图像划分成多个滤波区域;合并计算模块,用于按照至少两个滤波区域索引表分别对所述多个滤波区域进行滤波区域合并,并且计算出针对每个滤波区域索引表的率失真代价;比较模块,用于对于至少两个所计算出的针对每个滤波区域索引表的率失真代价进行比较;选择模块,用于选择所述至少两个滤波区域索引表中的率失真代价最小的滤波区域索引表,作为对所述重建图像进行自适应环路滤波的最终滤波区域索引表;以及编码模块,用于将所述最终滤波区域索引表的编号或者所述最终滤波区域索引表编码到视频图像码流中。
根据本发明的第三方面,提供一种用于图像解码的自适应环路滤波方法。该方法包括:将重建图像划分成多个滤波区域;从视频图像码流中获取最终滤波区域索引表的编号或者最终滤波区域索引表;以及,使用所述编号对应的最终滤波区域索引表或者所获取的最终滤波区域索引表对所述多个滤波区域进行滤波区域合并,从而进行自适应环路滤波。
根据本发明的第四方面,提供一种用于视频图像解码的自适应环路滤波装置。该装置包括:划分模块,用于将重建图像划分成多个滤波区域;获取模块,用于从视频图像码流中获取最终滤波区域索引表的编号或者最终滤波区域索引表;以及,滤波模块,用于使用所述编号对应的最终滤波区域索引表或者所获取的最终滤波区域索引表对所述多个滤波区域进行滤波区域合并,从而进行自适应环路滤波。
根据本发明的实施方式,提出根据图像的特性可以采用不同的区域索引表,即不同的滤波区域合并方法,来代替以前单一的只使用一种区域索引表的方法,从而使自适合环路滤波ALF滤波性能得以提高。
具体实施方式
下文将结合附图参考若干示例性实施方式来描述本发明的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。
在HEVC/H.265标准中,图像被划分成进行编码时的基本编码单元,即最大编码单元(LCU),例如64×64像素。根据编码流程的不同,又将LCU分为三部分,分别为编码单元(CU)、预测单元(PU)以及变换单元(TU)。
HEVC/H.265标准还采用了帧内预测和帧间预测技术,其中利用视频信号的空间和时间冗余性来达到信息压缩的目的:在压缩当前的编码单元或编码子单元时,利用其周围已编码的像素信息对当前的编码单元或编码子单元中的像素值作预测。预测过程一般是使用某几种预先定义的预测算法在邻近像素的基础上,生成当前编码单元/子单元的一个预测像素块。根据对率失真性能的评估,编码器选择效率最高的预测模式。与此有关的编码器的具体操作包括:1)编码所使用的预测模式的索引;2)当前编码单元/子单元与预测像素块作差,得到残差块;3)对残差块做变换、量化和熵编码。解码器的对应操作包括:1)解码预测模式的索引,根据索引得到预测模式,并计算相应的帧内预测块;2)熵解码变换系数、逆量化、逆变换得到残差块;3)相加预测块和残差块得到重建的像素块。
图1示出了根据HEVC/H.265标准的编码器的示意性框图,并且图2示出了根据HEVC/H.265标准的解码器的示意性框图。如图1所示,给定当前预测单元PU,用x表示,则可以通过帧内预测(或者帧间)预测来首先获得预测PU,用x’表示。预测PU、x’然后可以被从当前PU、x中减去,产生PU残差,用e表示。通过对与编码单元CU相关联的PU残差、e进行分组而生成的CU残差然后可以通过变换进行变换,每次一个变换单元TU,产生变换域中的PU残差,用E表示。所述变换可以例如使用正方形或者非正方形的块变换。
PU残差、E然后可以通过量化器模块118进行量化,从而将高精度变换系数转换成有限数目的可能值。如应当理解的,量化是有损操作,并且量化损失通常无法恢复。
经量化的系数然后可以通过熵编解码模块120进行熵编解码,产生最后的压缩比特。应当注意,取决于所执行的编解码标准,以上描述的预测、变换和量化可以针对任何视频数据块来执行,例如,针对CU的PU或TU,或者针对LCU。
为了促进时间和空间预测,还可采取经量化的变换系数E,并且利用逆量化模块122对其进行逆量化,从而产生经逆量化的变换系数E’。经逆量化的变换系数然后通过逆变换模块124进行逆变换,产生经重建的PU残差,用e’表示。经重建的PU残差、e’然后在时间上或在空间上被加入到相应的预测PU、x’,以形成经重建的PU,用x”表示。
在环路滤波器126中,可以在经重建的预测单元PU、x”上执行去块滤波器(“DFB”)操作,以首先减少块效应。可以在完成针对经解码的图像的去块滤波器处理之后有条件地执行自适应样点补偿(“SAO”)过程,这补偿经重建的像素与原始像素之间的像素值偏置。在DBF操作和SAO过程之后,还可以执行自适应环路滤波器ALF功能,该自适应环路滤波ALF功能可以在经重建的PU之上有条件地执行。自适应环路滤波ALF最小化在输入和输出图像之间的编解码失真。在一些实施例中,环路滤波器模块126在图像间预测环路期间工作。如果经重建的图像是参考图像,则它们可以被存储在参考缓冲器128中用于将来的时间预测。
如图2所示,其示出了根据HEVC/H.265标准的解码器的示意性框图。解码器145的熵解码模块146可以解码编码后码流。熵解码模块146可以结合熵编解码模块120来执行所描述的过程的逆过程。熵解码模块146然后可以将系数提供至逆量化模块147,其对系数矩阵进行逆量化,产生E’。逆量化模块147可以将经逆量化的系数提供到逆变换模块149。逆变换模块149可以对系数执行逆变换操作,产生e’。接着,可以以结合图1描述的方式应用环路滤波和空间预测。
就HEVC/H.265标准而言,如前所述,一个完整的环路滤波过程包括3个环节:去块滤波(DeblockingFilter,DBF)、自适应样点补偿(SampleAdaptiveOffset,SAO)、自适应环路滤波(AdaptiveLoopFilter,ALF)。重建图像在经过去块滤波和自适应补偿之后,区块内部仍然存在噪声。在HEVC/H.265标准中,自适应环路滤波(ALF)在SAO或者去块滤波后进行,用于恢复重建图像以达到重建图像与原始图像之间的均方差(MSE)最小,以便进一步减少重建图像与源图像之间的失真。这样就进一步改善重建帧的图像质量,从而提供了运动补偿和运动估计的准确度。ALF采用二维维纳滤波器,滤波形状采用5×5、7×7和9×7三种大小的二维钻石型滤波器结构。滤波形状限定了在对一个像素进行滤波时需要考虑其周围的像素的位置,也就限定了使用的滤波系数组的形状和位置。对应于滤波形状的滤波系数组根据局部特性进行自适应计算。在编码器处,ALF根据维纳滤波原理计算出一组滤波器系数并将这组系数传送到解码器。这些滤波器结构的滤波系数组通过自适应维纳滤波器进行计算,可以通过自适应训练得到。
对于每幅重建图像,ALF可以被用于一整帧,也可以用于其中的部分区块。根据滤波控制方式的不同,ALF可以分为三类:基于帧的ALF、基于区块的ALF、基于四叉树的ALF。基于帧的ALF是最早被提出的,可以针对整帧应用ALF,只有一个标志用来表示当前帧时候应用ALF进行滤波。使用基于帧的ALF有可能会导致做完滤波后,该帧图像中一些区域的图像质量会提高,但另一些区域的像素误差反而增大、图像质量下降,因而发展出了基于区块的ALF。基于四叉树的ALF采用更加精细的区块划分方法,在图像边缘与细节处使用更小的滤波区块,而对于图像平坦区使用更大的区块。区块的大小根据图像的不同区域的性质自动调节,从而提高了编码效率。
AVS2标准同样采用的是基于块的预测和量化方案,在其中同样采用了去块滤波DBF、SAO和自适应环路滤波ALF。与HEVC/H.265标准不同,AVS2标准仅采用基于区块的ALF。在AVS2标准中,将当前图像划分为16个基本滤波区域,如图9所示。如前文所述,基本滤波区域的合并次序如图10所示,其可以用如下的滤波区域索引表RegionTable来表示:
RegionTable[16]={0,1,4,5,15,2,3,6,14,11,10,7,13,12,9,8}。
率失真优化RDO用来处理码率和失真的关系。根据HEVC/H.265标准或者AVS2标准,RDO是针对一个滤波区域索引表、计算每一种可能的滤波区域合并情形的率失真代价(RDCost),找出RDCost最小的滤波区域合并方案。作为示例,可以按照以下公式来计算率失真代价:RDCost=D+λ*R,其中,D为原始像素与重建(或者预测)像素之间的预测失真,可以使用绝对误差和(SAD)、差值的平方和(SSD)、平均绝对差值(MAD)或者平均平方误差(MSD)、或者任何适当的描述失真的函数;R为编码该附加信息所需的码率;λ为一个设定的值,如根据经验进行统计推断而得出。
以将重建图像划分成16个基本滤波区域为例,其合并过程可以包括如下步骤:
(1)初始,将一帧图像划分成16个滤波区域,每个区域存在对应的滤波系数组,即共有16个滤波系数组。
(2)针对16个滤波区域(即不合并的情形),假设分别利用对应的16个滤波系数组进行ALF滤波,则针对该帧图像的总RDCost=16个区域的D之和+16*一个滤波系数组所需码流。
(3)假设进行相邻区域的合并,则按照前述滤波区域索引表RegionTable的顺序进行合并。那么,首先进行编号0和编号1的滤波区域的合并,区域0和区域1将合并成一个区域,则使用同一个滤波系数组。此时(共有15个区域的情形),针对该帧图像的总RDCost=区域0和区域1的合并区域使用同一滤波系数组计算的D+其他14个区域使用相应的滤波系数组之后计算的D之和+15*一个滤波系数组所需码流。接着,区域0和区域1的合并区域再与相邻的区域(根据前述滤波区域索引表,即编号为5的区域)合并,合并成一个区域,则使用同一个滤波系数组,则此时共有14个区域,并且采用类似的方案计算此时的该帧图像的总RDCost。如此类推,16个初始区域按照前述滤波区域索引表指定的次序合并成一个区域,使用一个滤波系数组的情形,并且计算此时的该帧图像的总RDCost。
(4)将上述步骤(2)中的计算的RDCost、和上述步骤(3)中计算的15种RDCost进行比较,选择最小RDCost,该最小RDCost对应的区域合并方案记为最终的区域合并方案,并使用最终方案进行ALF滤波。
可见,ALF区域合并方案包括将相邻区域进行合并,合并后的几个区域使用同一组参数进行滤波,确定方法根据RDO原则,使RDcost最小。例如,如果根据RDO原则,比较结果为合并成一个区域的RDCost最小的话,那么该帧图像就使用一个滤波系数组。发明人的研究表明,从统计规律来看,使用2~3个系数组,RDCost会比较小。
然而,这种采用固定区域索引表的方案不能根据图像的特性来选择前后合并区域或者区域合并的次序,使得ALF效率相对较差。在下文中,具体描述根据本发明的各种实施方式改进的ALF方案。
根据本发明的实施方式,在根据前后区域的相关性,进行滤波区域的合并时,可以对要合并的前后滤波区域的选择采用至少两种方案,即采用至少两个滤波区域索引表,并且根据具体重建图像的不同而选择最佳的方案,比如,率失真代价最小的方案。具体而言,首先,针对至少两个滤波区域索引表中的每个滤波区域索引表,分别进行滤波区域合并,计算进行多个滤波区域合并的最小的RDCost,作为针对该滤波区域索引表的RDCost;接着,将针对至少两个滤波区域索引表中的每个滤波区域索引表的RDCost进行比较,选择率失真代价最小的滤波区域索引表,作为最终的对该帧重建图像进行ALF的滤波区域索引表。
根据本发明的一个实施例,针对每个滤波区域索引表计算进行多个滤波区域合并的最小的RDCost,可以采用前述的滤波区域合并的步骤(1)-步骤(4)的过程。
根据本发明的一个实施例,针对每个滤波区域索引表计算进行多个滤波区域合并的最小的RDCost,也可以采用其他适当的方案。举例而言,初始,针对比如16个的经划分的滤波区域,假设分别利用对应的16个滤波系数组进行ALF滤波,分别计算针对16个的滤波区域中的每个滤波区域的RDCost;接着,根据该滤波区域索引表,选择率失真代价RDCost之和最小的两个相邻区域进行合并,再次计算针对合并后剩余的15个的滤波区域中的每个滤波区域的RDCost;依次类推,直至合并成只剩下预定数目的区域,比如只剩下一个区域、两个区域或者三个区域。使用最后一次计算的率失真代价RDCost为针对该帧图像的总RDCost。基于该区域索引表的针对该帧图像的总RDCost后续可用来确定对区域索引表的选择。
图3示出了根据本发明一种实施方式的用于视频图像编码的自适应环路滤波方法300的流程图。
在步骤S310,将重建图像划分成多个滤波区域。
在步骤S320,按照至少两个滤波区域索引表分别对所述多个滤波区域进行滤波区域合并,并且计算出针对每个滤波区域索引表的率失真代价。
在步骤S330,对于至少两个所计算出的针对每个滤波区域索引表的率失真代价进行比较。
在步骤S340,选择所述至少两个滤波区域索引表中的率失真代价最小的滤波区域索引表,作为对所述重建图像进行自适应环路滤波的最终滤波区域索引表。
在步骤S350,将最终滤波区域索引表的编号编码到视频图像码流中。采用预先对至少两个滤波区域索引表进行编号,并且将滤波区域索引表的编号编码到视频图像码流中能够提高编码效率。备选地,也可以直接将最终滤波区域索引表编码到视频图像码流中。
在根据本发明的实施方式确定了最终滤波区域索引表之后,可以如常规的那样,使用所述最终滤波区域索引表对重建图像进行自适应环路滤波,滤波完成可以得到最终的滤波系数组的具体系数值,其例如可以被设计成使得重建图像与原始图像之间的均方差最小。
根据本发明的一个实施例,ALF滤波区域合并所采用的滤波区域合并方案可以在如图4-图7所示的4种滤波区域合并次序中进行选择,来应对不同图像的特性。该4种滤波区域合并次序可以用如下的滤波区域索引表来分别表示,即:第一滤波区域索引表RegionTable_1[16]、第二滤波区域索引表RegionTable_2[16]、第三滤波区域索引表RegionTable_3[16]、和第四滤波区域索引表RegionTable_4[16],其中:
RegionTable_1[16]={0,1,14,15,3,2,13,12,4,7,8,11,5,6,9,10};
RegionTable_2[16]={0,1,2,3,7,6,5,4,8,9,10,11,15,14,13,12};
RegionTable_3[16]={0,3,4,5,1,2,7,6,14,13,8,9,15,12,11,10};或,
RegionTable_4[16]={1,2,5,6,0,3,4,7,13,12,11,8,14,15,10,9}
相对于固定使用前述的滤波区域索引表RegionTable[16]={0,1,4,5,15,2,3,6,14,11,10,7,13,12,9,8},发明人的研究表明,使用前述四种滤波区域索引表之一对于大部分图像而言,均能取得较好的ALF滤波效果。
应当理解,前述四种滤波区域索引表仅是示例性的,还可以选用其他数目和/或其他形式的滤波区域索引表。还应当理解,虽然在上文中使用将一帧图像划分成4×4形式的16个滤波区域的方式对本发明的实施方式进行示例性说明,但是本发明所提出的实施方式并非仅限于此,其可以适用于其他划分形式的基于块的自适应环路滤波ALF和基于四叉树划分的自适应环路滤波方案,例如,将重建图像划分成8×8的64个基本相等的滤波区域。
图8示出了根据本发明一种实施方式的用于视频图像编码的自适应环路滤波装置800的流程图。自适应环路滤波装置800可以包括:划分模块810,用于将重建图像划分成多个滤波区域;合并计算模块820,用于按照至少两个滤波区域索引表分别对所述多个滤波区域进行滤波区域合并,并且计算出针对每个滤波区域索引表的率失真代价;比较模块830,用于对于至少两个所计算出的针对每个滤波区域索引表的率失真代价进行比较;选择模块840,用于选择所述至少两个滤波区域索引表中的率失真代价最小的滤波区域索引表,作为对所述重建图像进行自适应环路滤波的最终滤波区域索引表;以及编码模块850,用于将所述最终滤波区域索引表的编号或者最终滤波区域索引表编码到视频图像码流中。
应当理解,装置800中记载的每个模块与参考图3描述的方法300中的每个步骤相对应。由此,上文针对图3描述的操作和特征同样适用于装置800及其中包含的模块,在此不再赘述。
根据本发明的各种实施方式,还提出一种用于视频图像解码的自适应环路滤波方法,其与如图3所述的用于视频图像编码的方法相匹配。该方法包括:将重建图像划分成多个滤波区域;从视频图像码流中获取最终滤波区域索引表的编号或者最终滤波区域索引表;以及使用所述编号对应的最终滤波区域索引表或者所获取的最终滤波区域索引表对所述多个滤波区域进行滤波区域合并,从而进行自适应环路滤波。
根据本发明的各种实施方式,还提出一种用于视频图像解码的自适应环路滤波装置,该装置包括:划分模块,用于将重建图像划分成多个滤波区域;获取模块,用于从视频图像码流中获取最终滤波区域索引表的编号或者最终滤波区域索引表;以及滤波模块,用于使用所述编号对应的最终滤波区域索引表或者所获取的最终滤波区域索引表对所述多个滤波区域进行滤波区域合并,从而进行自适应环路滤波。
应当理解,本发明实施方式所提出的自适应环路滤波区域滤波系数合并方案可以结合HEVC/H.265标准、AVS2标准以及上述标准的演化版本而使用,能够替换它们中的相应部分或者也可以应用于其他的视频编解码方案中。
此外,虽然在上文的描述中,ALF被应用在DBF和SAO之后,但是本发明并不限制其与DBF和SAO的相对位置关系。例如,ALF可以位于DBF和SAO之间,或者独立于DBF和SAO而进行滤波。
与HEVC/H.265标准、AVS2标准中针对每帧图像采用单一的固定的滤波区域索引表不同,根据本发明的各种实施方式,可以根据图像的特性自动调整采用不同的区域合并方法来进行编解码,使得自适合环路滤波性能更高。
应当理解,虽然本发明实施方式所提出的ALF方案可以被实现为软件或硬件和软件的组合。硬件可通过被设计来执行上述功能的转用集成电路(ASIC)、数字信号处理器(DSP)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、处理器、控制器、微处理器、其他电子单元或其组合来实现。软件可通过执行上述功能的模块来实现。软件可被存储在存储单元中并由处理器运行。作为存储单元或处理器,可采用本领域技术人员公知的各种单元。
已经出于示出和描述的目的给出了本发明的说明书,但是其并不意在是穷举的或者限制于所公开形式的发明。本领域技术人员可以想到很多修改和变体。在不脱离本发明精神的前提下,做出的所有修改和替换都将落入所附权利要求定义的本发明保护范围内。