**欢迎大家前往[腾讯云+社区](https://cloud.tencent.com/developer/?fromSource=waitui),获取更多腾讯海量技术实践干货哦~**
> 本文由[腾讯云视频](https://cloud.tencent.com/developer/user/2669993?fromSource=waitui)发表于[云+社区专栏](https://cloud.tencent.com/developer/column/4471?fromSource=waitui)
![img](https://ask.qcloudimg.com/draft/2669993/4z2pby45of.gif)
**关注公众号“腾讯云视频”,一键获取 技术干货 | 优惠活动 | 视频方案**
欢迎来到吃鸡战场
很生气!!!我才刚落地,就因游戏界面糊了一下,阻止了我捡枪的步伐,就被不知道从哪蹿出来的家伙给打死了!!!瞬间落地成盒!!!
![img](https://ask.qcloudimg.com/http-save/yehe-2669993/269kps6w9h.jpeg?imageView2/2/w/1620)
我很愤怒,于是找了游戏部门的同事吐槽了一番,得到的回答是:画质的问题归你们部门,劳烦你自行进行处理!
为了能让自己有个愉快的游戏体验感,于是乎,深陷于研发高清画质的工作中……
![img](https://ask.qcloudimg.com/http-save/yehe-2669993/2ov52miv06.jpeg?imageView2/2/w/1620)
经过前期的了解,得知当前游戏直播行业1080P、>=45FPS、码率6-10mbps已成为游戏主播上行的标配,各视频平台用户对视频源清晰度观看体验要求越来越高,CDN带宽成本占视频APP平台成本比例大头。如何降低带宽成本压力是各视频平台降成本最重要的措施,其中视频降码率是现阶段主要措施有,主要措施如下:
**算法升级**
AV1/H.265/VP9/H.264等,AV1刚定稿AOM编码性能相比其它3家100倍以上差距,由于核心成员有Google/Amazon/Cisco/Netflix等这些大佬以及定位对web的友好性,AV1 3月刚完成V1.0的定稿以及ffmpeg4.0的支持,可以预见的是,后面硬件支持友好后,Netflix、Youtube都将是第一批AV1的使用者,H.265其复杂专利结构导致的较高许可费用,创立之初也未充分考虑到网页播放的友好性,更致命的是复杂的算法让解码端异常吃力,VP9开源、WEB兼容性也好、解码复杂度低,除Apple和技术原因外可能的理由之一就是业内也不太愿意让这么重要一个国际标准被一个独立的公司所控制。 现在视频平台主流编码算法还是以H.264为主
**普通转码**
短视频和直播平台、视频网站对视频分源、超清、高清、流畅等不同档位,基本都是一些按分辨率和码率要求强制压缩转码,效果不理想都是以省码率为目标没有考虑用户观看体验
极速窄带高清
腾讯云极速高清、窄带高清以及netflix的动态编码都是基于场景、清晰度、分辨率、码率、帧率、编码算法、播放策略等目标在不降低甚至增强源视频画质体验的基础上降低视频码率
**视频源和普通转码存在的问题**
视频源和普通转码主要存在的质量问题有:转码失真、低分辨率模糊、镜头抖动、噪声大、低码率锯齿块等
![img](https://ask.qcloudimg.com/http-save/yehe-2669993/jkum0bgyg8.jpeg?imageView2/2/w/1620)
**极速高清是如何解决这些问题**
视频智能分类
把视频分成游戏、秀场、体育、户外、动漫、美食、影视剧等十几个大类几十个小类场景,通过画面特征比较,明显场景类如游戏、足球、蓝球、动漫等场景,纯CNN网络模型准确率98%以上,电视剧、户外运动、美食、旅游等画面特征比较分散,帧间运动变化比较大的场景CNN结合RNN+LSTM做时域+空域分析,准确率85%左右
编码参数
通过视频场景分类实时识别(特殊直播场景识别延时大概有10秒-60秒左右),根据场景识别结果,不同场景配置不同最优编码参数, 根据视频源码率、帧率、分辨率、纹理和运动变化幅度等情况以及综合机器负载和画质效果选择最优编码模板参数
前置处理
根据不同场景分类、客户对视频画质的不同要求,以及结合视频源画面纹理和实时运动检测结果进行锐化、软模糊、反交错、去块、降噪、色阶补偿、降帧等前置处理
动态优化
不同的视频类别,同一个视频里的不同段,应用完全不一样的编码参数;“不同的参数”的概念包括但不限于:IBP帧类型、量化参数QP、分辨率等,支持编码参数按帧实时更新生效
码率控制
不管是标准H.264/JVT-G012 码率控制算法还是x264的码率控制算法在运动变化切换比较明显的场景下预编一次得到率失真理论凸曲线都是尽可能接近最优失真曲线,国内CDN带宽基本都是按95计费法,CDN带宽采样点是5分种的均值,对于这种运动场景实时检测切换比较明显的场景帧我们在x264码率控制的基础上会综合帧时序信息做一些补偿因子和画质控制,画质VMAF得分会有3-5分以上的提高
![img](https://ask.qcloudimg.com/http-save/yehe-2669993/67kjcbx8de.jpeg?imageView2/2/w/1620)
如上图极速高清在VMAF得分相同情况下码率控制更低更精准。
detail reduce ☟
针对h264视频编码格式,设计了一种在视频残差的频域上消除噪声的算法。该算法结合了当前编码宏块的残差大小,宏块的QP值,历史的频域值等,并根据不同场景选择匹配的video denoise模板,自适应地进行宏块级的视频处理,能够以极低的CPU消耗对噪声宏块进行优化,同时保留清晰宏块的完整性
ROI处理 ☟
SIFT+差分图像+运动目标图像检测或用户指定(如台标、水印)关注ROI区域,对该区域的宏块编码进行强化(放大/缩小量化步长)、锐化、色阶补偿等处理,如央视世界杯就要求对台标和字幕区域画质和亮度增强
VMAF评分 ☟
VMAF是Video Multimethod Assessment Fusion的缩写netflix 开源的视频主观感受质量评估算法,看名字这就是一种多方法融合的算法,主要使用了3种指标:visual quality fidelity(VIF)、detail loss measure(DLM)、temporal information(TI)。其中VIF和DLM是空间域的也即一帧画面之内的特征,TI是时间域的也即多帧画面之间相关性的特征。这些特性之间融合计算总分的过程使用了训练好的SVM来预测
基本原理流程图
![img](https://ask.qcloudimg.com/http-save/yehe-2669993/xti8ftkol7.jpeg?imageView2/2/w/1620)
从我们评估测试对比效果看VMAF得分和人眼主观感受画面质量很接近,基本能反应用户对画质的主观感受,当然VMAF在一些主要评估特性功能上还有很多功能不完全支持以及评估时要手动严格帧对齐也比较费精力,netflix训练模型主要是在明亮的室内通过电视观看1080p视频时的质量评估。不过手机上的模型也在做了效果不是非常理想
github地址:
https://github.com/Netflix/vmaf
极速高清主要基于VMAF的得分效果优化相关编码参数和算法调整效果
**效果对比**
![img](https://ask.qcloudimg.com/http-save/yehe-2669993/thdulj2omn.jpeg?imageView2/2/w/1620)
上图是极速高清与普通转码和xx云窄带高清转码同码率下效果对比,总体我们测试效果和客户反馈对比效果看同码率下我们VMAF分比竞品和普通转码高10以分以上,同画质VAMF得分下我们码率最大能降低30%左右
另注: PSNR和SSIM三大直接问题:
◆ 它只能衡量其与原图的差异也即相对质量,不能计算绝对质量
◆◆ 孤立地计算每一帧,无法利用视频中相邻帧的相关性和运动信息
◆◆◆ PSNR/SSIM值的计算方法过于straight-forward,结果跟人眼的主观感受并不总能匹配
**客户反馈**
极速高清现在应用主要客户有:熊猫、斗鱼、龙珠、虎牙、火猫、企鹅电竞、CCTV、新英体育等客户。且极速高清服务也可进行私有化部署,全程支撑cctv.com世界杯期间赛事直播
今天天气好晴朗,处处好风光,好风光……
皇天不负有心人,自从有了极速高清的应用,在游戏中分分钟吃鸡,瞬间成为部门的吃鸡高手,还有不少小迷妹让我带着吃鸡呢,迎来了人生的巅峰,哈哈哈哈哈哈
![img](https://ask.qcloudimg.com/http-save/yehe-2669993/b37bheyrbf.jpeg?imageView2/2/w/1620)
>**问答**
>
>[请问小程序即时通讯如何接入发送消息?](https://cloud.tencent.com/developer/ask/188267?fromSource=waitui)
>
>**相关阅读**
>
>[IM即时通讯实现原理](https://cloud.tencent.com/developer/article/1070639?fromSource=waitui)
>
>[iOS 即时通讯 + 仿微信聊天框架 + 源码](https://cloud.tencent.com/developer/article/1037852?fromSource=waitui)
>
>[开发一款即时通讯App,从这几步开始](https://cloud.tencent.com/developer/article/1336082?fromSource=waitui)
>
>[【每日课程推荐】机器学习实战!快速入门在线广告业务及CTR相应知识](https://cloud.tencent.com/developer/edu/course-1128?fromSource=waitui)
**此文已由作者授权腾讯云+社区发布,更多原文请[点击](https://cloud.tencent.com/developer/article/1336147?fromSource=waitui )**
**搜索关注公众号「云加社区」,第一时间获取技术干货,关注后回复1024 送你一份技术课程大礼包!**
海量技术实践经验,尽在[云加社区](https://cloud.tencent.com/developer?fromSource=waitui)!
有疑问加站长微信联系(非本文作者)