自从苹果公司在 iPhone 4 引入了视网膜屏幕的概念以来,手机的分辨率自此开始突飞猛进。当前,1920x1080 甚至更高的分辨率已经成为了标配。不过当我们谈到实时音视频聊天的时候,无奈受制于上行带宽,有相当一部分用户还是只能发送码率在 250kbps 以下的小分辨率视频码流,这就白白浪费了用户的高清手机屏幕。
要怎么样才能不增加上行码率的情况下,让用户在接收端可以看到更高清的实时视频呢?1.jpeg (41.73 KB, 下载次数: 0)
超分辨率 (Super-Resolution) 是近几年迅速发展起来的一项图像放大技术,即通过硬件或软件方法提高原有图像的分辨率,通过一幅或者多幅低分辨率的图像来得到一幅高分辨率的图像过程就是超分辨率重建。那是否可将超分辨率技术用在实时视频,在低码率甚至超低码率可以看到提升一档分辨率的实时视频?
传统的超分辨率是基于图像的纹理判断纹理的方向,并在此基础上做增强。而近一年,利用机器学习来做超分辨率越来越成为一种趋势。基于机器学习的神经网络结构,可以更好地学习低分辨率和高分辨率图像之间残差的特征,并且修复失真,还原到更高一档的分辨率。基于机器学习的超分辨率技术,像 SRCNN、SRResNet、VDSR 等网络模型,在超分辨率效果上体现出了不可比拟的优势。
腾讯音视频实验室和优图实验室 X-lab 的戴宇榮老师的团队联合开发的基于神经网络的实时视频超分辨率技术,在极小的神经网络模型大小的条件下,在手机实时视频通话上实现了基于机器学习的超分辨率技术,起到了主观上提升一档分辨率的效果。此技术即将应用在手机 QQ 7.3.5 的 iOS 版本上的实时视频聊天。
不少同学可能已经知道,在图片上做基于神经网络的超分辨率已经有不少,比如优图实验室 X-lab 的超分辨率技术已经在 QQ 空间相册的点击看大图场景落地。然而将超分辨率技术用在实时视频聊天,音视频实验室在手机 QQ 上双人实时视频聊天应该是公司内的第一个产品。
因为和图片的超分辨率不同,实时视频聊天时的超分辨率对性能和效果有更苛刻的要求,在很小的性能预算下达到主观提高一档分辨率的效果,确实对研发人员提出了更高的要求。下面先来看下图片超分辨率和视频超分辨率的区别。
2.jpeg (49.04 KB, 下载次数: 0)
也正是因为视频前后帧存在着一定的相似度,超分辨率视频可以利用视频前后帧的相关性,借助其统计特性,进一步提高超分辨率的效果。尤其是在超过两倍放大的场景,基于前后帧相关性的视频超分多帧模型体现出了明显超过传统放大算法的效果。
多帧视频超分模型固然是有不可比拟的优势,现阶段的绝大部分手机性能还不能胜任视频多帧超分模型的计算量。为了让更多的手机用上视频超分这样的黑科技,我们经过反复实验和权衡,不断优化性能和效果,最终决定先使用实时视频聊天逐帧超分辨率的方案落地。下面是我们的超分的方案的流程图。
3.png (18.38 KB, 下载次数: 0)
我们将编解码前后的视频作为输入神经网络训练,使网络学习到恢复编解码 + 缩放带来的两种失真特性,清晰边缘的同时不会放大编码带来的失真。同时,我们优化机器学习网络结构和前馈库的性能,做到了手机上实时逐帧超分辨放大。值得一提的是我们还创新性地在超分辨率后做了经典的增强算法。究其原因,超分辨率算法消除了锯齿效应后,再做简单增强算法,可以使得边缘更清晰,细节更丰富。综上优化,主观上有提升一档分辨率的效果。
4.png (28.58 KB, 下载次数: 0)
5.jpeg (105.34 KB, 下载次数: 0)
6.jpeg (97.6 KB, 下载次数: 0)
7.png (9.35 KB, 下载次数: 0)
基于神经网络的超分辨率技术要用在实时视频通话,其中最大的难点就是运算量太大。优化性能是涉及到各个层面的系统工程。除了优化神经网络结构,我们还将前馈网络库全部在 iPhone 的 GPU 上实现。
下面是我们在各个层面所做的性能优化:8.jpeg (17.32 KB, 下载次数: 0)
通过这些优化,横向比较逐帧超分当中近期最优秀的 VDSR 模型,在放大后的质量对齐的情况下,我们速度比 VDSR 快了 10 倍以上。
下面是最终上线版本的性能数据:8.png (32.85 KB, 下载次数: 0)
下图是手机 QQ 7.3.5 版本开关超分辨率的性能数据对比。
在帧率和码率一致、时延几乎不增加情况下,用专用清晰度测试工具测试的清晰度数据有了明显提升:9.jpeg (31.43 KB, 下载次数: 0)
1.jpg (24.17 KB, 下载次数: 0)
( 点此查看在线视频 )
音视频实验室的实时视频超分技术,是首次将大计算量的神经网络用在手机客户端实时视频这样性能预算吃紧的场景的一次大胆尝试,目前来看取得了不错的效果。视频超分辨率除了可以提高视频质量,还可在保持相同视频质量的前提下节省上行、下行带宽。
视频超分项目接下来的工作重点主要在下面两方面:综上,我们将持续优化实时视频超分辨率技术,相信这样的黑科技也一定会为更多场景更大的赋能。
(原文链接: https://mp.weixin.qq.com/s/krxgdOmE_32E_Qqdq53Pug )
《 访谈 WebRTC 标准之父:WebRTC 的过去、现在和未来 》
《 良心分享:WebRTC 零基础开发者教程(中文)[附件下载] 》
《 新手入门:到底什么是 WebRTC 服务器,以及它是如何联接通话的? 》
《 [观点] WebRTC 应该选择 H.264 视频编码的四大理由 》
《 基于开源 WebRTC 开发实时音视频靠谱吗?第 3 方 SDK 有哪些? 》
《 开源实时音视频技术 WebRTC 中 RTP/RTCP 数据传输协议的应用 》
《 简述实时音视频聊天中端到端加密(E2EE)的工作原理 》
《 开源实时音视频技术 WebRTC 在 Windows 下的简明编译教程 》
《 网页端实时音视频技术 WebRTC:看起来很美,但离生产应用还有多少坑要填? 》
>> 更多同类文章 ……
[2] 实时音视频开发的其它精华资料:《 腾讯音视频实验室:使用 AI 黑科技实现超低码率的高清实时视频聊天 》
《 即时通讯音视频开发(五):认识主流视频编码技术 H.264 》
《 即时通讯音视频开发(六):如何开始音频编解码技术的学习 》
《 即时通讯音视频开发(八):常见的实时语音通讯编码标准 》
《 即时通讯音视频开发(九):实时语音通讯的回音及回音消除概述 》
《 即时通讯音视频开发(十):实时语音通讯的回音消除技术详解 》
《 即时通讯音视频开发(十一):实时语音通讯丢包补偿技术详解 》
《 即时通讯音视频开发(十二):多人实时音视频聊天架构探讨 》
《 即时通讯音视频开发(十三):实时视频编码 H.264 的特点与优势 》
《 即时通讯音视频开发(十四):实时音视频数据传输协议介绍 》
《 即时通讯音视频开发(十五):聊聊 P2P 与实时音视频的应用情况 》
《 即时通讯音视频开发(十六):移动端实时音视频开发的几个建议 》
《 即时通讯音视频开发(十七):视频编码 H.264、VP8 的前世今生 》
《 学习 RFC3550:RTP/RTCP 实时传输协议基础知识 》
《 基于 RTMP 数据传输协议的实时流媒体技术研究(论文全文) 》
《 还在靠 "喂喂喂" 测试实时语音通话质量?本文教你科学的评测方法! 》
《 实现延迟低于 500 毫秒的 1080P 实时音视频直播的实践分享 》
《 移动端实时视频直播技术实践:如何做到实时秒开、流畅不卡 》
《 技术揭秘:支持百万级粉丝互动的 Facebook 实时视频直播 》
《 简述实时音视频聊天中端到端加密(E2EE)的工作原理 》
《 理论联系实际:实现一个简单地基于 HTML5 的实时视频直播 》
《 浅谈实时音视频直播中直接影响用户体验的几项关键技术指标 》
《 首次披露:快手是如何做到百万观众同场看直播仍能秒开且不卡顿的? 》
《 Android 直播入门实践:动手搭建一套简单的直播系统 》
《 网易云信实时视频直播在 TCP 数据传输层的一些优化思路 》
《 实时音视频聊天技术分享:面向不可靠网络的抗丢包编解码器 》
>> 更多同类文章 ……
来源: http://www.52im.net/thread-1308-1-1.html