本文来自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相关推荐

  1. HEVC算法和体系结构:环路滤波技术

    环路滤波(In-Loop Filtering)技术 类似于以往的视频编码标准,HEVC仍采用基于块的混合编码框架,一些失真效应仍然存在,如方块效应.振铃效应.颜色偏差以及图像模糊等等.为了解决这些问题 ...

  2. TIP 2019开源论文:基于深度学习的HEVC多帧环路滤波方法

    作者丨李天一 学校丨北京航空航天大学博士生 研究方向丨视频编码与深度学习 本文概述的是作者近期在 IEEE TIP 期刊上发表的论文:A Deep Learning Approach for Mult ...

  3. FFmpeg的H.264解码器源代码简单分析:环路滤波(Loop Filter)部分

    ===================================================== H.264源代码分析文章列表: [编码 - x264] x264源代码简单分析:概述 x26 ...

  4. FFmpeg的HEVC解码器源代码简单分析:环路滤波(Loop Filter)

    ===================================================== HEVC源代码分析文章列表: [解码 -libavcodec HEVC 解码器] FFmpe ...

  5. h264解码之环路滤波

    代码以ffmpeg为例,h264解码代码在h264.c里. 环路滤波(Loop Filter)部分 FFmpeg的H.264解码器调用decode_slice()函数完成了解码工作.这些解码工作可以大 ...

  6. 视频千倍压缩背后的技术原理之环路滤波

    随着5G的成熟和广泛商用,带宽越来越高,让传输视频变得更加容易.移动设备算力的提升.存储容量的提升,也使得视频技术的应用越来越广泛.视频相关的技术,特别是视频压缩技术,因其专业性,深入开发的门槛较高, ...

  7. HEVC/H.265面试问题准备(PART 3. 环路滤波+熵编码)

    近期因为要准备暑期实习以及后期的秋招环节,再一次温习了<新一代高效视频编码H.265/HEVC原理.标准与实现>经典书籍,现在记录下有关阅读心得以及可能面试的问题(所有的答案都是我自己思考 ...

  8. 基于深度学习的环路滤波的消融实验

    本文来自提案JVET-Z0106,在上一篇文章<基于深度学习的环路滤波和残差缩放>中介绍了JVET-Y0143提案使用深度学习模型来做环路滤波带来了性能提升,但是整个模型还是一个" ...

  9. AVS解码—环路滤波

    在解码框架中最后是做滤波处理 环路滤波是以微块做处理,按照解码顺序依次进行处理,在AVS中就是以16*16的大小 对亮度和色度分别做环路滤波,首先从左到右对垂直边界滤波,然后从上到下进行处理. 需要滤 ...

最新文章

  1. springboot-mysql-pagehelper分页插件集成
  2. 干货分享:自动驾驶核心技术进展之车用毫米波雷达
  3. matlab 角域重采样,matlab滤波技术与区域处理---区域滤波
  4. [bzoj4034]树上操作
  5. 2010年写给自己的一封信
  6. excel2010冻结行列
  7. Ubuntu 进入单用户模式—修改启动项利器
  8. 物业公司工作流应用方案
  9. R7-3 出租 (20 分)
  10. jdk的selector(2)channel的注册
  11. 请问C#中如何自动生成summary注释
  12. 【鱼眼镜头2】[鱼眼畸变模型]:评估了五个模型:radial,division,FOV,多项式(如双三次]和rational模型。
  13. 在网络蚂蚁中设置代理服务器
  14. 游戏视频怎么录制,游戏录制软件哪个好
  15. Oracle Database 11g SQL开发指南store模式脚本
  16. 哲学家就餐问题之管程
  17. P4717-[模板]快速莫比乌斯/沃尔什变换(FMT/FWT)
  18. 计算机网络课程设计组建大型网吧局域网,计算机网络课程设计报告—组建大型网吧局域网.doc...
  19. springboot报错 The Bean Validation API is on the classpath but no implementation could be found
  20. Asp.Net Core 鉴权授权

热门文章

  1. 使用新浪云SAE建立一个公网可访问的网页应用
  2. Microsoft Edge:SEC7120 [CORS] 原点“ms-appx-web://microsoft.microsoftedge”无法支持
  3. 永硕网络硬盘重新开放注册
  4. 【VB技巧】VB静态调用与动态调用dll详解
  5. 基于全生命周期的主数据管理:MDM详解与实战学习03 第三章 主数据管理的关键技术
  6. SQL查询——各科前三名的成绩(改良版)
  7. OpenCV图像锐化---USM锐化和Laplace锐化
  8. 联想z5 android pie,买屏幕送手机?联想Z5一年使用体验总结
  9. ESP32+Arduino+VS code开发环境搭建+BLINK
  10. anaconda打开python文本编辑器_Python开发环境安装(Anaconda+PyCharm)