ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

HEVC RDO编解码匹配实验

2021-11-04 17:05:00  阅读:259  来源: 互联网

标签:编解码 HEVC 滤波 图像 cnn SAO RDO 进行


实验内容:

guided环路滤波后的编解码匹配

实验环境:

Windows10;HM-16.9;VS2019;YUVEYE;Tensorflow1.14;Pycharm;

实验任务:

HEVC中,重建图像会经过去方块滤波(deblocking filter)和样本自适应缩进滤波(sample adaptive offset filter,简称SAO)。我们的任务是进行滤波的率失真优化(RDO),即重建图像在经过deblock之后,会被输入GUIDED_CNN神经网络中进行滤波。之后将根据cnn滤波后的结果与SAO滤波后的结果进行比较,选择效果更佳的滤波方式。

实验步骤:

1.加入神经网络(使用C调py模式)

1.1 vs中配置python环境
1.2 调用cnn网络
1.3 保存重建图像,得到cnn后psnr结果

2.选择RDO

2.1 计算SAO后psnr
2.2 比较并替换

3.编码相关信息

3.1 编码SAO信息
3.2 编码CNN信息

4.解码匹配

4.1 解码码流中的信息
4.2 选择CNN模式的frame进行残差补偿

问题总结:

1.在经过了cnn之后,我们不能立刻将cnn后的rec图像放入Pic,并替换原本的图像,因为我们还需要原本的图像进行sao之后的数据,然后进行比较。所以应该新开辟一个区域,存放cnn后的图像,然后在经过比较之后才能进行替换。
2.SAO并不是再process时就写进码流的,内部也有一个RDO,会选择最佳的模式进行保存,然后encode阶段将offset数据写进码流之中,所以我们只需要再encode阶段进行控制就可以了。
3.在进行cnn滤波和sao滤波时,我们只会针对Y分量进行RDO,因此UV分量还是需要使用SAO进行滤波以及编解码。

优化:

1.目前A的编写主要采用了CAVLC的编码方式,因此在码流会占据比较大内存,如果我们可以做到使用CABAC进行传递,那么我们的传递效率还会得到一定的提升,因为码流中传递的A必定会在量化裁剪后限定在[0,15],因为使用CABAC维护概率模型时,理论上来说也不会产生太大问题。
2.目前采用的是c调py,后面需要tensorfolw模型转成ftlite放入HEVC中

标签:编解码,HEVC,滤波,图像,cnn,SAO,RDO,进行
来源: https://www.cnblogs.com/wjune-0405/p/15509033.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有