揭秘腾讯会议背后的视频编码“神器”.docx
《揭秘腾讯会议背后的视频编码“神器”.docx》由会员分享,可在线阅读,更多相关《揭秘腾讯会议背后的视频编码“神器”.docx(9页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、揭秘腾讯会议背后的视频编码“神器”张清腾讯多媒体实验室高级研究员。作为一款实时音视频通信产品腾讯会议里面有海量的音视频数据需要进展实时传输比方我们的摄像头画面屏幕共享的数据等。这些数据量非常庞大通常需要经过编码压缩再进展传输那么腾讯会议里有哪些视频编码方面的神器呢本文将一一为大众揭晓。一、时域SVC在视频编码中有三种帧类型I帧只能进展帧内预测可以独立解码P帧单假设参考帧也就是通常讲的前向预测帧只能使用它之前的帧进展预测B帧双假设参考帧,一般为双向预测帧。由于B帧会带来不可防止的延迟因此在实时通信中通常只使用I帧以及P帧这两种帧类型。I帧只使用了本帧的信息进展预测也就是讲I帧的解码不依赖于其他帧
2、因此可以独立解码但I帧的编码效率偏低数据量较大。P帧使用了帧间预测方法可以参考之前的一些解码帧信息能到达较高的压缩效率帧大小比I帧小很多但是解码时必须依赖于其他帧。在实际的应用场景中为了提升压缩效率往往会使用IPPP的帧构造即I帧之后编码N个P帧。但当网络情况不好时如抖动丢包限速等这种帧构造就会造成长时间的卡顿。如下列图所示第0帧为I帧后续7个帧均为P帧且每个P帧只有一个参考帧为其前一帧。当网络发生丢包时第3帧丧失由于第4帧参考第3帧进展压缩因此不能正确解码57帧那么类似。这种情况下即使丢包只造成个别帧的丧失但由于接收端很多帧不能正确解码会造成长时间的卡顿只能通过申请I帧的机制进展恢复。IPP
3、P帧构造参考关系为解析决这一问题我们参加了时域SVC技术对参考帧构造进展了调整。时域SVC帧构造参考关系我们可以将视频帧分为假设干层上图以3层为例Layer0的帧只能参考同样为Layer0的帧不能参考Layer1以及Layer2的帧Layer1的帧可以参考Layer0以及Layer1的帧不能参考Layer2的帧Layer2的帧可以参考Layer02的帧。越低层级的帧被参考的可能性越大因此重要性也越大。在网络发生丢包时只要所丢的帧不是Layer0层就不需要重新申请I帧解码端就可以持续成功解码。如上图中第1帧丧失仅会影响23帧其他帧不会受到影响。此外还可以结合网络层的策略对低层级的帧多加一些保护如
4、FEC降低其丧失的概率能有效地解决卡死的问题。在参会的下行人数很多时可能会有小局部下行网络较差假如采用传统的IPPP构造那么当某个下行损伤时就需要不断的申请I帧来恢复这样就会影响到其他接收端的视频体验假如采用时域SVC的构造在可以保证少数的下行网络存在问题时其他的下行端不会受到影响。讲了这么多我们来看一下实际的效果吧第一个视频例如是IPPP构造在网络损伤时的表现卡顿感很明显接下来是采用时域SVC的版本帧率会有所影响但整体还算流畅。IPPP帧构造网络损伤效果时域SVC帧构造网络损伤效果ROI检测和基于ROI的编码摄像头内容是腾讯会议中的一个主要视频场景。在此场景中人眼往往比拟关注人脸区域对背景区
5、域的关注度较低。因此我们参加了人脸检测算法以及基于感兴趣区域RegionofInterest,简称ROI的编码算法。这类算法的主要思路是实时地检测出当前视频中的ROI区域将其传入到编码器内部编码器进展单帧的码率重分配。对ROI区域增大其码率能使该区域编码的更好提升主观质量对于非ROI区域降低其码率那么总的码率不会超出目的码率。在ROI检测方面因为腾讯会议是一个实时性要求很高的场景对算法复杂度很敏感我们使用一些传统的算法结合编码器的一些预分析结果确定最终的ROI-map对于1080p的视频单帧检测耗时在0.3ms以内完全知足了实时性的要求。基于ROI的检测以及码率调整算法的优点在于在低码率的情况
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 揭秘 腾讯 会议 背后 视频 编码 神器
限制150内