中科大的AI图像/视频编解码综述

【前言】

长论文ptsd犯病了,这次是一篇35页的AI编解码器的综述,犯病了犯病了。

首先还是保命时刻,以下解读与见解均为我的个人理解,要是我有哪里曲解了,造成了不必要的麻烦,可以联系我删除文章,也可以在评论区留言,我进行修改。也欢迎大家在评论区进行交流,要是有什么有意思的paper也可以留言,我抽空看一下也可以写一些。正文内容中的“作者”二字,均是指paper的作者,我的个人观点会显式的“我”注明。而文中的图基本都是从paper上cv过来的,我也没本事重做这么多的图,况且作者的图弄得还挺好看的。

【Paper基本信息】

题目:Deep Learning-Based Video Coding: A Review and a Case Study

作者:Dong Liu, Yue Li, Jianping Lin, Houqiang Li, Feng Wu, 是来自中科大的团队

链接:Deep Learning-Based Video Coding: A Review and a Case Study​doi.org

总结:回顾了使用深度学习进行图像/视频编解码的代表性工作。

PS: 黑话表(看不懂的缩写可以自行对照)

Paper具体内容

【Introduction】

1. 图像/视频编码

编码这个不细说了,大家用过电脑都知道是怎么回事。这里主要说一下,压缩不能确保能从比特流中完美重建图像/视频,因此分为无损和有损压缩两种。对于自然图像/视频,无损压缩的压缩效率太低了,不值当,所以基本都用的有损压缩。而有损的图像/视频编码方案,一般从两个方面来进行评估:

  1. 压缩效率,通常用位数(编码率)来衡量,是越少越少
  2. 损失,通常通过重建图像/视频跟原始的图像/视频相比的质量来衡量,是越高越好

国际标准化组织中,ISO/IEC有两个专家组,JPEG和MPEG,ITUT则有自己的专家组VCEG。现在比较主流、著名的标准都是他们发布的,例如:JPEG、JPEG 2000、H.262(MPEG-2 Part 2)、H.264(MPEG-4 Part 10或AVC)、H.265(MPEG-H Part 2或HEVC),现在主流的是13年发布的H.265/HEVC。

但是随着视频技术的进步,超高清视频的普及,迫切的需要进一步提高压缩效率,来适应有限的存储和有限的带宽。所以在HEVC后,JPEG跟MPEG组成了联合专家组JVET来探索先进的视频编码技术。他们提出了一种叫做VVC的标准,用作HEVC的继任者。跟HEVC相比,VVC可以在质量相同的情况下,节省大于50%的比特来提高压缩效率,但是代价是以乘法编解码的复杂度来实现的。

2. 深度学习的图像/视频编码

CNN的背景啥的就不说了,说跟编解码有关的,其实从上世纪八九十年代就已经有研究人员研究用人工神经网络对图像/视频编码了,但那时候深度学习都还没火,英伟达的核弹都还没出生,怎么可能搞得起来。至少都得到了15年才开始蓬勃发展起来。因此作者的这篇paper主要就是回顾了2018年底之前的基于深度学习的图像/视频编码报告,并展示了他们的一个深度学习视频编码(DLVC)的研究例子。(PS:这篇综述统计的不是太新,但是对于入门了解这个领域来说我觉得够使了)

3. 前置知识

这里要提前说明一下,作者考虑的是自然图像/视频的编码方法,不考虑其它类型的(例如生物医学、遥感)图像/视频。

一般来说,几乎所有的自然图像/视频都是数字格式的

灰度图像,可以表示成x\in \mathbb{D}^{m*n},其中mn分别是图像的行数(高)和列数(宽),\mathbb{D}则是单个图像像素的定义域,比如说\mathbb{D}=\{ 0,1,\dots,255 \},这里|\mathbb{D}|=256=2^8,因此像素值可以用8比特的整数来表示。因此未压缩的数字图像每像素有8比特,那么压缩后的比特数肯定就是更少的了。

彩色图像,一般彩色的图会分开成多个通道来记录颜色信息,例如RGB色彩空间,彩色图像可以表示成x\in\mathbb{D}^{m*n*3},其中3对应着红绿蓝三个通道。但是因为人的颜色对亮度比对色度更敏感,所以YCbCr(YUV)色彩空间用的比RGB要多,而且U和V通道可以被下采样进行压缩。在YUV420颜色格式中,彩色图像可以表示成X= \{ x_Y\in\mathbb{D}^{m*n},x_U\in\mathbb{D}^{\frac{m}{2}*\frac{n}{2}},x_V\in\mathbb{D}^{\frac{m}{2}*\frac{n}{2}} \}

彩色视频,由多个彩色图像组成,称为帧。用以记录不同时间戳的场景。例如在YUV420颜色格式中,彩色视频可以表示成V=\{ X_0,X_1,\dots,X_{T-1} \},其中T是帧数,X_i= \{ x^{(i)}_Y\in\mathbb{D}^{m*n},x^{(i)}_U\in\mathbb{D}^{\frac{m}{2}*\frac{n}{2}},x^{(i)}_V\in\mathbb{D}^{\frac{m}{2}*\frac{n}{2}} \},假设m=180n=1920|\mathbb{D}|=2^{10},视频帧率是50fps,那么未压缩的视频数据速率就是1080*1920*(10+\frac{10}{4}+\frac{10}{4})*50\approx1.555Gbps,这个很明显太大了,这个视频要经过数百甚至是数千倍的压缩,才能通过网络进行传输。

衡量指标,现有的无损编码方案,可以实现约1.5到3的压缩了,明显不够用,所以需要引入有损编码。损失可以通过原始图像和重建图像之间的差异来衡量。比如可以对灰度图像是用均方误差(MSE):

MSE=\frac{||x-x_{rec}||^2}{m*n}

因此重建图像和原始图像相比的质量,可以通过峰值信噪比(PSNR)来衡量:

PSNR=10*log_{10}\frac{(max(\mathbb{D}))^2}{MSE}

其中max(\mathbb{D})\mathbb{D}中的最大值,比如8位灰度图是255。而对于彩色图像,一般是分别计算Y、U、V通道的PSNR值。而对于视频,则是分别计算不同帧的PSNR值,然后再取平均。当然,也有其他的一些质量指标,比如说结构相似性(SSIM)和多尺度SSIM(MS-SSIM)等。

对于无损编码方案,一般比较压缩率,而对于有损编码方案,不仅需要考虑压缩了,还要考虑质量。对于图像/视频的编码方案,还需要考虑编码/解码复杂度、可扩展性、鲁棒性等方面。

【回顾深度网络编码方案】

基于深度网络的编码方法,一般有两种:像素概率建模和auto-encoder,也有把这两者结合的。同样的作者还讨论了深度编码方案和专用编码方案,而又把专用编码方案细分为感知编码和语义编码。

A. 像素概率建模

按照香农信息论,最优的无损编码的最小压缩率是log_2p(x)p(x)是符号x的概率。现在公认的实现的最好的是算术编码(arithmetic coding),可以做到接近

  • 3
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值