DCC2022:环路滤波CCSAO
Posted Dillon2015
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DCC2022:环路滤波CCSAO相关的知识,希望对你有一定的参考价值。
本文来自DCC2022论文《Cross-component Sample Adaptive Offset》
VVC中的环路滤波工具除了传统的DBF、SAO外,还引入了LMCS、ALF、CCALF,对于一些视频内容,色度分量可能包含了冗余的纹理、边界等信息,而现有的技术很难去除不同分量间的冗余,因此论文提出了一种新的环路滤波技术CCSAO(Cross-component Sample Adaptive Offset),CCSAO类似于SAO的边带补偿(BO),CCSAO已经集成进ECM2.0。
简介
CCSAO的处理流程如Fig.1所示,
CCSAO会生成偏移值offset,并加在环路滤波SAO的输出结果上,从Fig.1可看出CCSAO的输入来自DBF的输出,因此SAO和CCSAO可以并行处理。每个分量计算CCSAO时其输入都包括YUV三个分量,因此可以去除不同分量间的冗余。
CCSAO和SAO类似,需要将每个像素划分到一个类别然后根据类别加上补偿值。计算如下式,给定一个亮度或色度像素首先取其对应的YUV值,然后根据值计算对应的边带band_Y,band_U,band_V,然后根据边带得到改像素所属的类别i,根据类别i取对应的补偿值加到重建值上得到新的重建值。
上式中Ycol,Ucol,Vcol是像素对应的三个分量,像素取值方法如Fig.2,色度对应的值是固定的,亮度值可以从9个候选值中选择。NY,NU,NV是YUV分别对应的边带数量。BD的位深。σ是记录了不同类别对应的offset。
CCSAO和SAO类似,会将像素分为不同类别,因此会在帧级提供一些分类器,每个分类器包含NY,NU,NV,Ycol和σ数组参数。每个CTB可以选择最优的分类器来进行CCSAO处理。对于每个分类器NY,NU,NV最大设为16,4,4,补偿值范围为[-15,15],每帧至多提供4个分类器。
编码算法
为了降低编码复杂度,计算CCSAO参数时采用分层RDO的方式,包括3个步骤:1)逐步确定最优分类器;2)对每个分类器迭代调整offset;3)对每个CTB高效的选择最优分类器;
早停止快速计算分类器
分类器根据其所含像素数量按升序进行RD计算,先对类别少的分类器进行RD计算,然后根据它的结果决定是否对类别更多的分类器进行计算。当某个分类器的RD性能没有提升时,那比它类别更多的分类器则不进行计算。当分类器满足以下某个条件时也跳过计算:1)亮度类别的数量NY小于色度类别的数量NU或NV;2)分类器中总类别数超过64;
迭代计算offset
计算分类器中每个类别的offset时首先用上面公式对帧内重建像素进行分类,然后按照HEVC SAO中的方法为每个类别计算初始offset,此外对于小于初始offset的offset也进行RD计算最终选择RD cost最小的offset。每个类别的offset计算完后对每个CTB计算其开启CCSAO和关闭CCSAO的RD cost,选择那些开启CCSAO更优的CTB的像素来调整offset,持续以上过程直到RD性能不再改善或达到最大迭代次数。
分类器生成
自适应决定每帧分类器数量,选择完一个分类器后对每个CTB计算开启该分类器的失真并按升序排列,去掉前一半CTB用剩下的一半分类器选择新的分类器。当RD性能不再提升时则不再增加分类器数量。
实验结果
实验平台为ECM1.0,QP=22,27,32,37,结果如表1,
感兴趣的请关注微信公众号Video Coding
以上是关于DCC2022:环路滤波CCSAO的主要内容,如果未能解决你的问题,请参考以下文章