0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

传统图像与视频压缩技术

zhKF_jqr_AI 来源:未知 作者:李倩 2018-06-30 08:27 次阅读

2018年6月14日,图鸭与论智联合举办了一场线上公开课深度学习视频图像压缩。讲师为周雷博士,图鸭科技深度学习算法研究员。以下为论智整理的听课笔记。因水平有限,难免有错漏不当之处,仅供参考。

传统图像与视频压缩技术

首先,我们简单回顾下传统图像与视频压缩技术。

JPEG

以下为JPEG编解码流程示意图。

从上图我们可以看到,图像数据编码过程如下:

离散余弦变换。简单来说,离散余弦变换是一种矩阵运算。

经过离散余弦变换后,高频数据和低频数据分流了,矩阵左上方是高频数据(较大的数值),右下方是低频数据(较小的数值)。这样我们就可以对其进行量化了,在JPEG中是除以量化步长再取整。

量化之后对其进行熵编码,得到压缩表示。

解码的过程与编码过程相逆,经过反熵编码、反量化、反离散余弦变换重建图像。

JPEG2000

JPEG2000和JPEG的最大差别是使用了离散小波变换。此外还加上了一些预处理步骤。

JPEG2000编码流程示意图

WebP

WebP是来源于VP8的图片压缩格式。主要特色是基于块预测。

BPG

和WebP类似,BPG同样源于视频编码技术(HEVC)。BGP的主要特点如下:

HEVC

HEVC的编码示意图如下:

上图中,Ref.表示参考样本。T & Q表示转换、量化过程,Q-1& T-1为其逆过程。Deblk.为Deblocking(去区块)的缩写。HEVC会将影像分为区块再进行编码,因此重建时会在区块边缘出现不连续的现象,称为区块效应。去区块过程可以减轻区块效应。SAO为Sample Adaptive Offset(样本自适应偏移量)的缩写,通过分析去区块后的数据与原始数据的差异,补偿量化过程造成的损失,使其尽可能接近原始数据。

CABAC为自适应二进制算术编码。算术编码利用符号出现的概率将符号序列编码为一个数字。

相应的解码过程:

从以上的编解码过程中,我们可以看到,先验概率估计的精确程度对编码的效率影响很大。HEVC使用动态更新的概率模型实现自适应二进制算术编码。

除了帧内估计、预测(参见前面提到的BPG)之外,HEVC视频编码还需考虑运动估计等帧间的关系。

深度学习图像视频压缩框架

深度学习图像压缩框架

下为深度学习图片压缩的典型框架示意图:

上图中每个模块的具体作用,可以参考如何设计基于深度学习的图像压缩算法中的解释。

图像压缩数据集

设计好网络模型后,需要使用图像进行训练。由于图像压缩属于无监督学习,无需人工标注,因此数据集是比较容易搜集的。无论是从网上爬取,还是自行使用相机拍摄,都不难得到大量高清图片。

常用的测试集有:

Kodak PhotoCD数据集,图像分辨率768x512,约40万像素;

Tecnick数据集,约一百四十万像素。

CVPR 2818 CLIC数据集,图像类别广泛,分辨率不等(512至2048),文件尺寸不等(几百K到几M)。

深度学习视频压缩框架

深度学习视频压缩与图像压缩的主要差别在于增加了帧间预测/差值。

基于卷积网络进行帧间预测

帧间预测能极大得减少帧间冗余。以1个参考帧,预测N-1帧为例,帧间预测的约束为参考帧和预测码字远小于每帧单独压缩的码字:

深度学习图像视频压缩进展介绍

深度学习图像压缩的主要发展方向:

RNN

CNN

GAN

这部分内容可以参考公开课ppt以及概览CVPR 2018神经网络图像压缩领域进展一文。

视频压缩方面,近年来的研究热点是将CNN与现有的视频编码器相结合。

编码单元选择

Liu Z、Yu X、Chen S等在2016年发表了CNN oriented fast HEVC intra CU mode decision,使用CNN学习预测编码单元模式的分类(2N x 2N或N x N)。

O2N、ON输出为码率失真代价

下采样编码

Jiahao Li等在2018年发表的Fully Connected Network-Based Intra Prediction for Image Coding对视频帧进行了分块处理,对适合进行下采样的块执行下采样操作,而对不适合进行下采样的块不执行下采样操作。之后,对下采样的块根据情况分别使用CNN或DCTIF进行上采样,以重建图像。为了达到更好的效果,亮度通道和色度通道使用了不同的网络架构。

视频帧环路滤波和后处理

Park W S和Kim M在2016年发表的CNN-based in-loop filtering for coding efficiency improvement中,使用CNN提升了HEVC的环路滤波(包括去区块滤波和SAO滤波)的效果。

类似地,Yuanying Dai等在2016年发表的A Convolutional Neural Network Approach for Post-Processing in HEVC Intra Coding,使用CNN网络改进了HEVC的后处理过程。

深度学习视频压缩的优势和劣势

使用深度学习进行单纯的图像压缩,应用场景有一定局限性。深度学习在视频压缩领域潜力更大。深度学习在视频压缩领域的主要优势在于:

能够实现更好的变换学习,从而取得更好的效果。

端到端的深度学习模型能够自行学习,而传统的视频压缩工作需要手工设计很多东西。

传统的视频压缩方法通常通过一些启发式的方法进行帧间预测,从而减少帧间冗余。而深度学习能够基于光流等进行预测。

另一方面,基于深度学习进行视频压缩也会遇到很多挑战。比如控制实现帧间预测占用的比特。

图鸭科技技术介绍

CVPR 2018 CLIC

在CVPR 2018学习图像压缩挑战上,图鸭团队为三个赢家之一,MOS、MS-SSIM两项指标均为第一。

TucodecTNGcnn4p基于端到端的深度学习算法,其中使用了层次特征融合的网络结构,以及新的量化方式、码字估计技术。网络使用了卷积模块和残差模块,损失函数纳入了MS-SSIM。

基于深度学习超分辨率重建图像

在这一领域,图鸭科技重点关注低码率下的超分辨率重建。因为低码率下图像难免有比较多的失真,应用超分辨率重建技术能缓解这些图像上的瑕疵,取得更好的显示效果。而高码率图像保留了原图更多的细节,相对而言不是非常适合应用超分辨率技术。

基于深度学习的视频压缩

如前所述,图鸭科技认为相对图像压缩,深度学习在视频压缩领域潜力更大。目前图鸭科技在基于深度学习的视频压缩方面,已经能够取得与x265媲美的效果。

基于深度学习的结构化存储

相比传统方法,深度学习编码图像的算力负担较重。然而,另一方面,图像的压缩特征不仅可以用于重建图像,还可以为语义分割、图像分类提供帮助。

问答环节

基于GAN进行图像压缩

GAN主要用于图像生成领域。但在进行图像压缩时,GAN会遇到一个问题,就是它会改变一些细节(生成一些新的细节)。因此,GAN这一的技术方向的选择常常取决于项目需求。例如,对于人脸图像来说,如果感兴趣区域是人脸,那么对感兴趣区域以外的区域可以使用非常低的码率压缩,重建图像时利用GAN生成细节。

量化方法的选择

建议大家参考相关论文自行选择。因为量化方法的选择往往还和网络中的其他模块相关。例如,如果编码器部分选用的激活输出的是二值(0、1),那么量化其实就不是那么重要了。

压缩时间

一般而言,基于深度学习的压缩算法,和传统算法相比,在CPU上压缩时间处于劣势。不过也有例外。比如,在图鸭科技的测试中,在CPU上,基于CNN的算法实际上比H266要快。H266虽然属于传统算法,但是复杂度其实很高。

未来随着GPU、专用深度学习芯片的算力提升,压缩时间不会成为应用深度学习压缩算法的最大障碍。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 图像压缩
    +关注

    关注

    1

    文章

    60

    浏览量

    22236
  • 数据集
    +关注

    关注

    4

    文章

    1179

    浏览量

    24360
  • 深度学习
    +关注

    关注

    73

    文章

    5240

    浏览量

    119932

原文标题:深度学习之视频图像压缩

文章出处:【微信号:jqr_AI,微信公众号:论智】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    DSP视频压缩之:视频格式的分类详解

    ,而影像视频体积的大幅减小和像流水一样的视频文件传输性能则得益于视频压缩技术视频编辑处理技术
    发表于 11-05 13:16

    数字图像视频压缩编码技术发展趋势

    数字图像视频压缩编码技术发展趋势 随着网络和终端的发展,亿万的图像视频聚集在一起,这将是研究云压缩
    发表于 09-25 16:11

    基于SOC架构的高清视频压缩技术

    基于AI算法的视频压缩技术,在高清化视频监控日益增长的现在,运用压缩技术减小存储空间,10倍高比例压缩
    发表于 02-20 10:39

    怎么在FPGA设计中使用先进的视频压缩技术

    您是否曾想在您的FPGA设计中使用先进的视频压缩技术,却发现实现起来太过复杂?那么如何满足视频压缩的需求?
    发表于 04-08 06:43

    鸿蒙怎么实现视频压缩

    鸿蒙的视频压缩怎么实现,有没有大神来个demo有没有类似androidPLShortVideoTranscoder这种鸿蒙第三方包也行!!!!!!!
    发表于 05-28 16:31

    视频压缩算法的特点和处理流程是怎样的?

    在本文中,我们将着重探讨视频压缩算法的特点和处理流程,我们将对基本的视频压缩算法进行解释,包括静态图像压缩、运动估计、图像去噪, 以及色彩空
    发表于 06-08 06:49

    什么是视频压缩

    什么是视频压缩
    发表于 06-08 07:14

    视频压缩IPcore设计

    现行的视频压缩标准有多种,但基本属于以下两大类:视频会议标准和多媒体标准
    发表于 11-30 14:23 15次下载

    视频压缩技术

    6.1 视频压缩的基本原理   6.1.1 视频信号压缩的可能性          
    发表于 09-30 22:18 0次下载

    嵌入式视频图像系统的压缩算法

    嵌入式视频图像系统的压缩算法 随着网络技术和多媒体技术的发展.视频通信的需求逐渐增加.同时最新
    发表于 03-30 12:03 1049次阅读
    嵌入式<b class='flag-5'>视频</b><b class='flag-5'>图像</b>系统的<b class='flag-5'>压缩</b>算法

    基于Android系统的H.264视频压缩技术实现

    基于Android系统的H.264视频压缩技术实现
    发表于 11-18 16:41 0次下载

    视频压缩介绍(二)

    全彩图。为将彩色图像进行压缩,本文描述的静态图像压缩方法将依次应用到每个色彩层。 视频压缩应用通常使用一种色彩层不对应特定色彩的色彩方案。通
    发表于 03-02 09:14 482次阅读
    <b class='flag-5'>视频压缩</b>介绍(二)

    视频压缩简介(一)

    关键词:视频 , 压缩 前言 视频压缩算法通过对视频信号的压缩处理可以极大地降低视频信号的存储和
    发表于 03-02 09:18 492次阅读

    视频压缩是什么?视频压缩有什么好处?

    视频压缩是什么?视频压缩有什么好处? 视频压缩其实就是指通过特定的压缩技术比如调节视频的参数等,
    的头像 发表于 08-07 17:08 3253次阅读

    视频压缩是什么?视频压缩有什么好处?

    视频压缩是什么?视频压缩有什么好处? 视频压缩其实就是指通过特定的压缩技术比如调节视频的参数等,
    的头像 发表于 08-07 17:08 3.1w次阅读