本文来自PCS2021论文《Revisiting the Sample Adaptive Offset post-filter of VVC with Neural-Networks》

在HEVC中就已经引入SAO来解决振铃效应,VVC中的SAO和HEVC中的基本相同。论文通过神经网络(NN)来改进SAO的性能,其中SAO的基本原理保持不变,但是原先SAO对重建像素的分类方法被替换为NN。通过NN的改进VVC上SAO在RA配置下BD-Rate增益为2.3%,并且和其他基于NN的方法相比复杂度很低。

SAO

SAO的基本思想是将CTU内的像素划分为不同类别,然后对每个类别内的像素加一个补偿值。根据类别划分方式的不同有两种补偿方式:边界补偿(EO)和边带补偿(BO)。

EO是依据和旁边两个像素的关系将重建像素分为NC=5类,共有4个补偿值(类别0补偿值为0),如Fig.1所示。码流中需要传输这4个补偿值。

BO是将像素按照取值范围(8bit为0...255)分为32个条带。然后选择连续的(NC-1)=4个条带给予补偿值off(n),如Fig.2所示。码流中需要传输这4个补偿值,和选择的第一条边带的位置。

论文方法

算法框架

论文的整体框架SAO-CNN如Fig.3所示。它保留了SAO的主要原理,但是对于像素的分类选择使用K个CNN。分类器将重建像素分为NC个类别,其中每个CNN为每个像素s输出权重w(s)。这将产生比SAO更多的类别,因为CNN的不同输出可能会被认为是不同类别。

和SAO类似,有一个补偿值off_i和当前CTU使用的CNN(i)相关,

由于CNN的输出包含隐式的分类结果,所以不同的corr数量可能会远多于SAO的4个补偿值。需要将CNN的M个输出聚合,

语法元素

typeIdx用于编码CNN的索引。absOff和signOff用于编码补偿值off。由于低码率时corr的数量会增加且和区域的相关性有关,off_i的值可以从相邻CTU预测。

网络结构

网络结构通过最小化每个像素的操作数(MAC)和参数数量来降低整体复杂度。CNN只包含6层,每层通道数16到32或64。有两个版本,其中v2比v1计算复杂度稍低,如表2。

网络架构如Fig.4,

假设CTU尺寸为SxS,对于尺寸为cxc的卷积核,每个像素的MAC为,

实验结果

训练

实验使用BVI-DVC数据集中的800个序列构建训练集,每个序列包含64帧,10bit,YCbCr420格式,从270p到2160p四种分辨率。这些序列使用VTM编码,使用RA和AI配置,QP={22,27,32,37}。在编码和解码过程中,启动传统的环路滤波。对每个QP,随机选择在SAO处理前的压缩视频帧和对应的原始视频帧,分成128x128的块并转换成YCbCr444格式。

CNN的训练使用Tensorflow框架,训练参数为:l2损失函数,Adam优化器,batch size=20,训练130轮。共训练了16个模型,如表3。

VTM中实现

本文使用SAO-CNN框架替换VTM10.0中的SAO。CNN推理模型使用C++实现,使用32位浮点或16位量化权重。对于后者,会将32位的NN的权重量化为16位以使所有计算都可以使用整数完成。还可以使用SIMD加速,编码器和解码器相比32位浮点模型的加速比分别为1.4和2.1,而BD-Rate几乎不变,如表4。除了加速,整数计算还可以保证编码器和解码器的计算精度相同,不会在重建帧中出现漂移误差。

结果

表5和表6是实验结果,对应v1模型在亮度分量上RA和AI配置的BD-Rate分别为-2.86%和-2.42%,色度分别为-7%和-5%。

编码和解码时间比是在没有GPU的单核处理器上测的,相比于VTM10,对于v2模型编码器复杂度低于1.3x,解码时间在6x到32x间。

感兴趣的请关注微信公众号Video Coding

PCS2021:VVC基于神经网络改进SAO相关推荐

  1. 基于遗传算法改进的BP神经网络电网负荷预测,GA-BP神经网络电网负荷预测,1000案例之14

    摘要 节能减排,降低谈排放,降低电网传输的损耗 电力负荷预测是以电力负荷为对象进行的一系列预测工作.从预测对象来看,电力负荷预测包括对未来电力需求量(功率)的预测和对未来用电量(能量)的预测以及对负荷 ...

  2. 基于神经网络的实体识别和关系抽取联合学习 | PaperWeekly #54

    作者丨罗凌 学校丨大连理工大学博士生 研究方向丨深度学习,文本分类,实体识别 联合学习(Joint learning)一词并不是一个最近才出现的术语,在自然语言处理领域,很早就有研究者使用基于传统机器 ...

  3. 顶会论文:基于神经网络StarNet的行人轨迹交互预测算法

    1.背景 民以食为天,如何提升超大规模配送网络的整体配送效率,改善数亿消费者在"吃"方面的体验,是一项极具挑战的技术难题.面向未来,美团正在积极研发无人配送机器人,建立无人配送开放 ...

  4. 论文浅尝 | 基于神经网络的实体识别和关系抽取联合学习

    本文转载自公众号:PaperWeekly. 作者丨罗凌 学校丨大连理工大学博士生 研究方向丨深度学习,文本分类,实体识别 联合学习(Joint learning)一词并不是一个最近才出现的术语,在自然 ...

  5. 基于神经网络的目标检测论文之目标检测系统:实时路况检测系统的设计与实现

    第五章 实时路况检测系统的设计与实现 物体识别技术被广泛应用于人们的生产生活中.随着深度学习与云计算的飞速发展,带动了物体识别技术产生质的飞跃.高分辨率图像和检测的实时性要求越来越高. 从本章开始,我 ...

  6. 基于神经网络的语音频带扩展

    本博客转载自顾宇的<基于神经网络的语音频带扩展方法研究>,大家可从知网获取. 摘要 语音频带扩展旨在从频带受限的窄带语音信号中恢复宽带语音信号.由于受到语音采集设备以及信道条件的限制,传输 ...

  7. 读论文—基于统计模型改进Word2vec优化策略研究

    文章摘要 问题切入点 Word2Vec的相关研究 文章的改进研究 摘要后的摘要 该文从训练词向量的语言模型入手,研究了经典skip-gram.CBOW语言模型训练出的词向量的优缺点,引入TFIDF文本 ...

  8. VCIP2021:基于神经网络的双向预测blending过程

    本文来自VCIP2021论文<Neural Network based Inter bi-prediction Blending> 介绍 双向预测最终会产生两个MV和两个参考块,这两个参考 ...

  9. 基于神经网络的蒙文手写字母识别的一些研究(综述)

    基于神经网络的手写蒙古字母识别(小结) 各位博友大家好!我是PennyWu,让大家久等了,这次学习从宏观角度梳理手写蒙古字母识别. 功能结构 手写蒙古文字母识别系统主要通过五个主模块和三个辅助模块来共 ...

  10. 基于神经网络的遥感图像分析及知识图谱应用

    一.人工智能最新研究应用. 1. 遥感图像分类 随着遥感技术的飞速发展,获取大量高分辨率的遥感图像越来越容易,这些高质量的遥感图像在实际生产生活中有着广泛的应用,如精细农业.森林火灾检测.城市规划等. ...

最新文章

  1. python训练模型函数参数_一步步亲手用python实现Logistic Regression
  2. JS DOM 操作实现代码
  3. 【PC工具】chrome插件:n多好用实用chrome插件
  4. GitHub--创建新的分支
  5. Spring Security 中取得 RememberMe 的 cookie 值
  6. react java编程_快速上手React编程 PDF 下载
  7. 共享语义 unix语义_语义UI按钮
  8. [恢]hdu 1421
  9. 详解linux io flush
  10. mysql连接多个存储存储_Mysql(三):多表查询和存储程序
  11. 如何使用pandas正确读取带有中文的cvs文件
  12. visual studio(vs)中项目解决方案的目录组织安排
  13. 如何在Android上创建透明活动?
  14. 以计算机作为类 触摸板作为接口,怎样用Arduinopromicro将电脑触控板转换为USB设备...
  15. 【Linux】制作U-Boot烧写镜像到SD卡的过程(下篇:Makefile文件)
  16. C# Excel 为图表添加模拟运算表
  17. 在线支付支付宝(一)之开发者账号申请
  18. 仿天猫 购物车(Android studio 仿天猫 详情页面 添加购物车选择 颜色 尺寸demo)
  19. 如何在VMware上快速安装ROS
  20. 因为计算机限制无法访问U盘,访问U盘时:本次操作由于这台计算机的限制而被取消,请与您的管理员联系...

热门文章

  1. M6(面试)-01-牛客网Java面试题集锦
  2. 基于3DGIS+BIM的房屋出售管理系统
  3. 点击邮箱名跳转到相对应的邮箱登陆页面
  4. 计算机系统三员试题,2013年计算机软考程序员试题及答案3
  5. 钉钉云课堂sign计算方式
  6. kvm学习---制作win7虚拟机镜像,并配置网络
  7. 小米cc9出厂线刷包_小米CC9手机忘记密码一键刷机解锁 | 线刷宝刷机工具刷机包下载...
  8. Python:查找天气预报json接口的城市代码(A)
  9. 【C语言程序】带你用17行代码编译一个C语言数字雨
  10. 《近匠》专访机智云 CTO 刘琰——从 0 到 1 开启智能化硬件开发