请选择 进入手机版 | 继续访问电脑版

默认
打赏 发表评论 3
微信团队分享:视频图像的超分辨率技术原理和应用场景

本文来自微信多媒体团队高欣玮的技术分享。


1、前言


图像和视频通常包含着大量的视觉信息,且视觉信息本身具有直观高效的描述能力,所以随着信息技术的高速发展,图像和视频的应用逐渐遍布人类社会的各个领域。近些年来,在计算机图像处理,计算机视觉和机器学习等领域中,来自工业界和学术界的许多学者和专家都持续关注着视频图像的超分辨率技术这个基础热点问题。

本文试着讲述超分辨率技术的正确打开方式,浅谈视频图像的超分辨率技术的基本概念和应用场景等问题。

1.jpg

2、什么是超分辨率?


2.1超分辨率初体验


简单来讲,图像超分辨率就是提高图像的空间分辨率,例如将一幅图片的分辨率由352x288扩大到704x576,方便用户在大尺寸的显示设备上观看。图像的超分辨率,是图像处理相关问题中的基础问题之一,并具有广泛的实际需求和应用场景,在数字成像技术,视频编码通信技术,深空卫星遥感技术,目标识别分析技术和医学影像分析技术等方面,视频图像超分辨率技术都能够应对显示设备分辨率大于图像源分辨率的问题。

简单来说超分辨率技术可以分为以下两种:

  • 1)只参考当前低分辨率图像,不依赖其他相关图像的超分辨率技术,称之为单幅图像的超分辨率(single image super resolution),也可以称之为图像插值(image interpolation);
  • 2)参考多幅图像或多个视频帧的超分辨率技术,称之为多帧视频/多图的超分辨率(multi-frame super resolution)。

2.jpg

3.jpg

这两类技术中,一般来讲后者相比于前者具有更多的可参考信息,并具有更好的高分辨率视频图像的重建质量,但是其更高的计算复杂度也限制了其应用。故,本文后边将以单图超分辨率/图像插值为例,进行超分辨率技术的介绍。

2.2超分辨率理论描述


这个很直观的超分辨率问题,它的理论描述又是什么样子的呢?如下图所示,超分辨率就是将左图中像素点之间的空间位置用像素点进行填充,使得整个图像具有更多的像素点,更丰富的细节,从信号的角度讲就是补充出更多的高频成分。

4.jpg

通常在处理这个超分辨率问题的时候,我们常常探索这个退化信号是如何从我们希望的理想信号变化得到的(即分辨率的退化过程),如果对退化过程进行精确地描述,往往对其逆问题的求解有重要的意义。

在本文的问题中,即超分辨率的退化模型,可以通过以下公式来描述:

Y = HDX + n


其中Y为低分辨率的视频帧/图像,X为我们理想高分辨率的视频帧/图像,而H和D分别为模糊算子和分辨率下采样算子,n为退化过程中产生的噪声。

5.jpg

由上述公式可知该退化问题存在着病构特性,即多个不同的高分辨率图像X,经过相同的退化过程处理,可以得到同样的低分辨率图像Y。这就导致我们无法直接通过Y求解出一个精确的X,也是视频图像超分辨率问题一直是一个开放性问题的原因(逐渐逼近符合人眼视觉认识的解)。

根据图像超分辨率的技术路线进行分类,图像超分辨率技术大致可以分为以下几类:

  • 基于定参数的线性滤波器技术;
  • 基于图像边缘结构的技术;
  • 基于图像重构约束的技术和基于机器学习的技术。

3、什么时候用超分辨率?


先举一个小例子,一张悠久而经典的低分辨率老照片,怎么在一个先进的高清的显示器上播放?这就是低分辨率图片和高分辨率显示设备之间的不匹配。很明显,这个场景下我们可以使用超分辨率技术,如下图所示。

6.jpg

单从图像的后处理显示的角度来讲,目前在PC和手机的屏幕显示功能上都配有相应的实时的超分辨率技术。

通过观察可知,PC机上的超分辨率技术相对比较简单(比如,临近像素复制or双线性插值),而手机端屏幕的超分辨率技术比PC机显示的超分辨率技术的性能要更好一些,能够提供较好的主观视觉质量,且IOS系统的手机的超分辨率技术相比于一些Andriod系统手机的超分辨率技术性能更高一些。不同的超分辨率算法带来的增强视觉感受的效果不同,一些软件的超分辨率方法在带来更好的视觉质量的同时,也引入了很大的计算代价,不断挑战着显示设备的计算能力。

4、超分辨率能节省带宽吗?


那么,前边赘述了这么多超分辨率的基础概念和使用方法,这个技术看起来就是万能的吗?有些人会有疑问,那就可以借着超分辨率技术用小分辨率的图进行通信就好了?其实并不是这样的!

在传输图片的时候,超分辨率和带宽有什么关系呢?

一般来讲,现在的通信类应用中,图片都是需要经过压缩,传输,再解压缩这样的一系列过程:

  • 最直接的方案A是按照原分辨率和现有带宽来进行压缩和传输,最终直接显示;
  • 而另一种方案B是,先通过下采样的方法将原视频图像的分辨率下采为原分辨率的1/K,然后在低分辨率和现有带宽下进行压缩和传输,接收端在解码后通过超分辨率技术将该视频图像的分辨率以K倍重建后显示。

如下图所示:
7.jpg

这里,超分辨率技术就不单单是一个视频图像的后处理技术,而是基于上下采样的编码传输框架中的一个重要环节。那么问题来了,这种下采样-超分辨率的图片传输方案B能够节省带宽吗?(最终图片的视觉质量一致的前提下),或者说是在相同的带宽限制下,直接压缩传输大图片和压缩小图片再超分辨率显示,哪一种方案对显示的主观质量更好?

由于在这个场景下两个方案之间不能直观的从理论上比较,所以我们通过实验来进行说明,设计了以下实验:

原图压缩方案A,即原始高分辨率图像直接通过编码器进行压缩和传输,在解码端直接得到原始分辨率的重构图像。基于上下采样的图像压缩方案B,即图像首先经过一个分辨率下采样(宽高均为1/2倍)的预处理方法,再将得到的低分辨率图像利用相同的第三方的编解码器WebP进行压缩和传输,最后将在解码端得到的低分辨率图像利用超分辨率技术重建出其高分辨率的图片(这里超分辨率技术选用Google在G+上的方案和一种经典的深度网络的SCN方法)。


下面我们给出两个不同策略下的图像压缩的(图片质量和文件大小)性能的比较,如下图所示:
8.jpg

如图(a)和(b)两幅图像的性能比较所示,图像纵坐标为图像全参考的视觉质量评价方法SSIM指标(用来比较相同分辨率下的原图和在对端最终显示的图像的差异),横坐标为图像经由第三方编码器WebP的压缩码流所占用的存储空间(KB),上下采样压缩曲线的四个数据点对应WebP质量因子分别为40,60,80,100,而原图压缩的四个数据点对应WebP质量因子分别是2,5,15,60。

实验中首先验证得到两个认识:

  • 一个是随着码率(带宽)的增加,直接压缩传输的方案A能快速的达到近无损压缩或无损压缩;
  • 另一个是随着码率(带宽)的增加,超分辨率的方案B具有性能上限的限制,接近上限时,增加码率就只会带来非常微弱视觉性能的提升。

再通过实验曲线可以得出,在低码率范围内,采用原图压缩方案的压缩效率要低于基于采样的图像编码策略(即同等质量下,基于采样的图像编码策略图片文件更小,节省带宽),而在中高码率范围内,采用原图压缩方案的压缩效率要优于基于采样的图像压缩方案(即同等质量下,超分辨率的图像编码策略的图片文件更大,浪费带宽)。

进而我们结合应用环境得出以下结论:

  • 在带宽严重受限的情况下,使用超分辨率技术能够改善其原本较差的视觉质量(即超分辨率技术在同等质量下节省传输带宽);
  • 在带宽良好的情况下,原图分辨率直接压缩传输的方案能够提供更加好的视觉质量(即超分辨率技术在同等质量下浪费传输带宽和后处理计算资源)。

目前,在常见的一些视频图像的应用中,我们给定的码率均为中高码率以满足图像视频的视觉质量,大部分移动终端上的视频图像应用的方案均为在目标分辨率上直接压缩,质量控制在高于WebP质量因子为60的水平,如实验中验证的一样,在这个码率范围下,采用现有的直接压缩原图方案A要优于下采样压缩低分辨率图像再做解压缩超分辨率的方案B。

5、本文小结


视频图像超分辨率技术,是图像处理相关问题中的基础问题之一,也是近些年来学术界研究的热点问题。

视频图像超分辨率技术作为图像的后处理技术能为了匹配更大分辨率的显示设备够提升图像的主观视觉效果。在压缩传输的应用场景中,为了在同等带宽下获得更高的图像质量,超分辨率算法适用于低带宽时低质量图像上的增强,在带宽充足时仍然应该传输高分辨率图像,即下采样—超分辨率的技术,受限于其性能上限,仅仅在低码率传输条件下,采用超分辨率增强的图像质量明显优于的在大图像上直接编码(即同等质量节省带宽)。

综上所述,视频图像超分辨率技术在应用中要考虑计算复杂性限制,传输带宽的限制和视觉性能上限(主观视觉效果)等因素,来选择恰当的应用场景。

附录:QQ、微信团队相关文章汇总


[1] 有关QQ、微信的技术文章:
微信团队分享:视频图像的超分辨率技术原理和应用场景
微信团队分享:微信每日亿次实时音视频聊天背后的技术解密
QQ音乐团队分享:Android中的图片压缩技术详解(上篇)
QQ音乐团队分享:Android中的图片压缩技术详解(下篇)
腾讯团队分享:手机QQ中的人脸识别酷炫动画效果实现详解
腾讯团队分享 :一次手Q聊天界面中图片显示bug的追踪过程分享
微信团队分享:微信Android版小视频编码填过的那些坑
微信手机端的本地数据全文检索优化之路
企业微信客户端中组织架构数据的同步更新方案优化实战
微信团队披露:微信界面卡死超级bug“15。。。。”的来龙去脉
QQ 18年:解密8亿月活的QQ后台服务接口隔离技术
月活8.89亿的超级IM微信是如何进行Android端兼容测试的
以手机QQ为例探讨移动端IM中的“轻应用”
一篇文章get微信开源移动端数据库组件WCDB的一切!
微信客户端团队负责人技术访谈:如何着手客户端性能监控和优化
微信后台基于时间序的海量数据冷热分级架构设计实践
微信团队原创分享:Android版微信的臃肿之困与模块化实践之路
微信后台团队:微信后台异步消息队列的优化升级实践分享
微信团队原创分享:微信客户端SQLite数据库损坏修复实践
腾讯原创分享(一):如何大幅提升移动网络下手机QQ的图片传输速度和成功率
腾讯原创分享(二):如何大幅压缩移动网络下APP的流量消耗(下篇)
腾讯原创分享(二):如何大幅压缩移动网络下APP的流量消耗(上篇)
微信Mars:微信内部正在使用的网络层封装库,即将开源
如约而至:微信自用的移动端IM网络层跨平台组件库Mars已正式开源
开源libco库:单机千万连接、支撑微信8亿用户的后台框架基石 [源码下载]
微信新一代通信安全解决方案:基于TLS1.3的MMTLS详解
微信团队原创分享:Android版微信后台保活实战分享(进程保活篇)
微信团队原创分享:Android版微信后台保活实战分享(网络保活篇)
Android版微信从300KB到30MB的技术演进(PPT讲稿) [附件下载]
微信团队原创分享:Android版微信从300KB到30MB的技术演进
微信技术总监谈架构:微信之道——大道至简(演讲全文)
微信技术总监谈架构:微信之道——大道至简(PPT讲稿) [附件下载]
如何解读《微信技术总监谈架构:微信之道——大道至简》
微信海量用户背后的后台系统存储架构(视频+PPT) [附件下载]
微信异步化改造实践:8亿月活、单机千万连接背后的后台解决方案
微信朋友圈海量技术之道PPT [附件下载]
微信对网络影响的技术试验及分析(论文全文)
一份微信后台技术架构的总结性笔记
架构之道:3个程序员成就微信朋友圈日均10亿发布量[有视频]
快速裂变:见证微信强大后台架构从0到1的演进历程(一)
快速裂变:见证微信强大后台架构从0到1的演进历程(二)
微信团队原创分享:Android内存泄漏监控和优化技巧总结
全面总结iOS版微信升级iOS9遇到的各种“坑”
微信团队原创资源混淆工具:让你的APK立减1M
微信团队原创Android资源混淆工具:AndResGuard [有源码]
Android版微信安装包“减肥”实战记录
iOS版微信安装包“减肥”实战记录
移动端IM实践:iOS版微信界面卡顿监测方案
微信“红包照片”背后的技术难题
移动端IM实践:iOS版微信小视频功能技术方案实录
移动端IM实践:Android版微信如何大幅提升交互性能(一)
移动端IM实践:Android版微信如何大幅提升交互性能(二)
移动端IM实践:实现Android版微信的智能心跳机制
移动端IM实践:WhatsApp、Line、微信的心跳策略分析
移动端IM实践:谷歌消息推送服务(GCM)研究(来自微信)
移动端IM实践:iOS版微信的多设备字体适配方案探讨
信鸽团队原创:一起走过 iOS10 上消息推送(APNS)的坑
腾讯信鸽技术分享:百亿级实时消息推送的实战经验
>> 更多同类文章 ……

[2] 有关QQ、微信的技术故事:
2017微信数据报告:日活跃用户达9亿、日发消息380亿条
腾讯开发微信花了多少钱?技术难度真这么大?难在哪?
技术往事:创业初期的腾讯——16年前的冬天,谁动了马化腾的代码
技术往事:史上最全QQ图标变迁过程,追寻IM巨人的演进历史
技术往事:“QQ群”和“微信红包”是怎么来的?
开发往事:深度讲述2010到2015,微信一路风雨的背后
开发往事:微信千年不变的那张闪屏图片的由来
开发往事:记录微信3.0版背后的故事(距微信1.0发布9个月时)
一个微信实习生自述:我眼中的微信开发团队
首次揭秘:QQ实时视频聊天背后的神秘组织
>> 更多同类文章 ……

即时通讯网 - 即时通讯开发者社区! 来源: - 即时通讯开发者社区!

本帖已收录至以下技术专辑

推荐方案
评论 3
研究的真是高端
细节研究真的真是深入专业,赞一个
签名: 发现这边的文章和资源质量真是高啊,厉害厉害
引用:kevintuzi 发表于 2018-11-12 16:26
细节研究真的真是深入专业,赞一个

微信团队很专业
签名: “程序员半夜下班取快件,被快递员误认为"小偷"”,又是抹黑程序员。。
打赏楼主 ×
使用微信打赏! 使用支付宝打赏!

返回顶部