以前不小心删掉了这篇文章,这里补上。


传统的视频压缩方法使用预测编码体系结构并编码相应的运动信息和残差信息。这里介绍一个方法,利用传统视频压缩方法中的经典架构和神经网络的强大非线性表达能力,提出端到端视频压缩的深度模型[1],同时优化所有用于视频压缩的组件。

注:值得提一下,2018年图鸭科技发布图像压缩技术 TNG(tiny network graphics),其采用深度学习CNN作为压缩核心编码。与传统算法相比较,在压缩效率TNG 比 JPEG 提高 120%,比 WEBP 提高30%。

这个视频压缩模型利用基于学习的光流估计来获得运动信息并重建当前帧,然后采用两个自动编码器(auto-encoder)风格的神经网络来压缩相应的运动和残差信息。

其中所有模块都是通过单个损失函数共同学习的,在减少压缩的比特数和提高解码视频质量之间权衡。实验结果表明,该方法在PSNR方面优于广泛使用的视频编码标准H.264,在MS-SSIM方面甚至与最新标准H.265相媲美。

如图是传统视频压缩框架(a)和基于深度网络的端到端视频压缩框架(b)比较。

视频压缩框架比较

先回顾一下传统方法(a)的框架。具体地,输入帧xt被分成一组相同大小的块(例如方形8×8块)。编码器一侧的过程如下:

  • 1)运动估计。估计当前帧xt与先前重构帧xt-1之间的运动。获得每个块的对应运动矢量vt。
  • 2)运动补偿。通过基于1)步中的运动矢量vt将先前重构帧的对应像素复制到当前帧来获得预测帧x̄t。获得原始帧xt与预测帧x̄t之间的残差rt。
  • 3)变换和量化。来自2)步的残余rt被量化为yt。在量化之前使用线性变换(例如DCT)以获得更好的压缩性能。
  • 4)逆变换。3)步的量化yt逆变换得到重构残差rt。
  • 5)熵编码。1)步的运动矢量vt和3)步的量化yt通过熵编码成比特流送到解码器。
  • 6)帧重建。通过在2)步添加x̄t并且在4)步添加rt来获得重构帧xt。第(t + 1)帧将使用重构帧进行1)步的运动估计。

对于解码器,基于5)步编码器提供的比特,执行2)步的运动补偿,4)步的逆量化,6)步的帧重构,最后获得重建的帧xt。

而端到端深度学习视频压缩方法(b)和传统方法是一一对应的。首先,光流估计是基于CNN模型,一个运动向量编码器-解码器网络(MV Encoder-decoder network)用来压缩和解码光流图,其结构如图所示。

运动向量编码器-解码器网络

光流vt被馈入一系列卷积运算和非线性变换。卷积(逆卷积)的输出通道数是128,除了最后一个逆卷积层的输出通道数等于2。 给定M×N×2大小的光流vt,MV编码器将生成M/16×N/16×128大小的运动表示mt。然后mt被量化为mˆt。 MV解码器接收量化的表示并重建运动信息vˆt。 另外,量化表示mˆt将用于熵编码。

下图所示是运动补偿网络原理图:给定先前重构的帧xt-1和运动向量vt,运动补偿网络获得预测的帧x̄t,期望尽可能接近当前帧xt,其中CNN从输入的变形帧和光流产生预测帧。

运动补偿网络

最后,高度非线性的残余编码器-解码器网络替换3)步的线性变换(比如DCT),并且残差rt非线性映射到表示yt。 然后,yt被量化为yt。量化表示yt被馈送到残余解码器网络获得重建残差rt。

参考文献

  • [1] G Luo et al.,“DVC: An End-to-end Deep Video Compression Framework”, CVPR 2019
  • [2] Z Liu et al., "CNN oriented fast HEVC intra CU mode decision", ISCAS, 2016
  • [3] Y Li et al., "Convolutional Neural Network-Based Block Up-Sampling for Intra Frame Coding", IEEE T-CASVT, Sept. 2018
  • [4] W Park, M Kim, "CNN-based in-loop filtering for coding efficiency improvement", IEEE IVMSP, 2016
  • [5] Y Dai, D Liu, F Wu, "A Convolutional Neural Network Approach for Post-Processing in HEVC Intra Coding", arXiv 1608.06690, 2016 (accepted by MMM 2017)

matlab基于dct的图像压缩编码解码_基于深度学习的视频压缩方法简介相关推荐

  1. matlab基于dct的图像压缩编码解码_基于FPGA的扩频系统设计(下)

    大侠好,欢迎来到FPGA技术江湖,江湖偌大,相见即是缘分.大侠可以关注FPGA技术江湖,在"闯荡江湖"."行侠仗义"栏里获取其他感兴趣的资源,或者一起煮酒言欢. ...

  2. matlab基于dct的图像压缩编码解码_音频压缩编码的基本原理详解

    1.视频编码基本原理 (1) 视频信号的冗余信息 以记录数字视频的YUV分量格式为例,YUV分别代表亮度与两个色差信号.例如对于现有的PAL制电视系统,其亮度信号采样频率为13.5MHz:色度信号的频 ...

  3. matlab基于dct的图像压缩编码解码_一篇文章搞定DCT在JPEG中的本质

    前序傅立叶变换,离散傅立叶变换,推荐这个回答的介绍 想和大家讨论一下jpeg中的dct变换,为什么有效?它有什么更深层次的本质吗?​www.zhihu.com 全篇参考下文,英文较好可以直接看. uc ...

  4. matlab图像压缩像素编码,基于DCT的图像压缩编码算法的MATLAB实现

    基于DCT的图像压缩编码算法的MATLAB实现 摘要 随着科学技术的发展,图像压缩技术越来越引起人们的关注.为此从众多的图像压缩编码标准中选取了基于DCT变换的JPEG图像压缩编码算法进行研究,并通过 ...

  5. 深度学习:在图像上找到手势_使用深度学习的人类情绪和手势检测器:第1部分

    深度学习:在图像上找到手势 情感手势检测 (Emotion Gesture Detection) Has anyone ever wondered looking at someone and tri ...

  6. 基于python的入侵检测系统毕设_基于深度学习的射频指纹的物联网设备入侵检测...

    摘要:物联网(IoT)和4G/5G无线网络增加了大量设备和新服务,商用现货(COTS)物联网设备得到了广泛部署.为了确保具备无线传输能力的这些系统的安全运作,射频(RF)监视对于监视它们在RF频谱中的 ...

  7. python人脸深度识别_基于Python的深度学习人脸识别方法

    基于 Python 的深度学习人脸识别方法 薛同来 ; 赵冬晖 ; 张华方 ; 郭玉 ; 刘旭春 [期刊名称] <工业控制计算机> [年 ( 卷 ), 期] 2019(032)002 [摘 ...

  8. Deep Learning Hierarchical Representations for Image Steganalysis【Ye-Net:图像隐写分析的深度学习层次表示】

    Deep Learning Hierarchical Representations for Image Steganalysis [Ye-Net:图像隐写分析的深度学习层次表示] Abstract ...

  9. 图像超分中的深度学习网络

    图像超分中的深度学习网络 质量评估 操作通道 有监督算法 预上采样 后采样超分 逐步上采样 迭代上下采样 上采样的学习方式 残差块 递归学习 多路径学习 密集连接 通道注意力机制 其他卷积 像素递归网 ...

  10. 【图像标注】NLP+VS︱深度学习数据集标注工具、图像语料数据库、实验室搜索ing

    因为不太会使用opencv.matlab工具,所以在找一些比较简单的工具.  .  . 一.NLP标注工具BRAT BRAT是一个基于web的文本标注工具,主要用于对文本的结构化标注,用BRAT生成的 ...

最新文章

  1. vue实战(1)——解决element-ui中upload组件使用多个时无法绑定对应的元素
  2. 还在担心写的一手烂SQL,送你4款工具
  3. c语言装饰,C++设计模式之装饰模式(Decorator)
  4. 脑科学研究:对于学习来说,休息可能与练习同样重要...
  5. windows 10 的安装说明
  6. HTTP协议基础知识点点滴滴
  7. Angular服务http post传递key-value 到Springmvc控制器
  8. Hadoop学习笔记(七)
  9. python入门之装饰器
  10. [RK3399][Android7.1] adb remount失败
  11. iOS 开发 XMPP即时通讯项目开发(仿微信)-详解之XMPP入门
  12. PyQt4入门教程(1)_PyQt介绍及准备工作
  13. 启动docker容器时报iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport错误
  14. 大家的人工智能——学习路线总览
  15. Apollo API网关 阿波罗
  16. t3安装找不到主机服务器,T3标准版不能连接服务器的处理方法
  17. 2021年安全生产模拟考试(全国特种作业操作证电工作业-电气试验模拟考试题库二)安考星
  18. html八边形怎么显示,如何用几何画板自定义工具画正八边形
  19. JavaWeb阶段JSP详情介绍(上)
  20. MySQL中的char和varcharmysql中varchar能存多少汉字、数字,以及varchar(100)和varchar(10)的区别

热门文章

  1. MyBatis Review——多对多映射
  2. Linux下实现Rsync目录同步备份
  3. 人生成功的十大说话技巧
  4. 获取当前 jar 包的运行路径
  5. mybatis框架的搭建简单步骤,还有其他的各项配置说明,简单易懂,仅作为个人参考,不作为网络学习借鉴
  6. vue 获取安卓原生方法_H5-vue与原生Android、ios交互获取相册图片
  7. c++ascii表_几道和散列(哈希)表有关的面试题
  8. python3字符串操作_python3字符串常用方法
  9. java解析字符串_java 拼接字符和解析字符串
  10. 从数据库中读取数据,创建XML文件并更新维护XML