适用于RTC的窄带高清方案1.0

AI2天前发布 beixibaobao
4 0 0

         所谓的窄带高清,或者说高清低码,它们都是一种为了以更低的编码网络传输来保持视频清晰度的技术。它通常是视频前处理,编码技术与及视频后处理的一种技术组合方案。

        当然窄带高清也分不同的场景,有离线点播,cdn直播,rtc互动的各种场景。每个场景所适用的技术是不同的,比如离线点播的,更多的是CAE编码技术。而本文所说的RTC窄带高清,对延时和功耗有严格要求,任何通过延时换编码压缩率的技术,高cpu/gpu消耗的技术都不能采用。

        本文所说的1.0方案,就是一种简单有效的方案,后期也会继续介绍更强的窄带高清方案2.0,但是会增加场景复杂度,更多会融入业务应用级别的优化。

一、我们需要了解RTC视频链路:

以下是 RTC 视频链路的完整流程图,涵盖了采集、编码、传输、带宽估计、接收、解码、渲染的闭环过程:

适用于RTC的窄带高清方案1.0

流程详解

阶段

模块

关键说明

采集

摄像头/麦克风

原始视频帧(YUV/RGB)采集,帧率/分辨率控制

前处理

美颜/降噪/缩放

3A(AE/AF/AWB)、降噪、图像增强

编码

H.264/HEVC/AV1

压缩编码,码率由带宽估计动态调节

打包

RTP封装

分片(MTU 限制)、FEC/重传标记

传输

UDP/QUIC

网络传输,受带宽、丢包、延迟影响

接收缓冲

Jitter Buffer

抗抖动、乱序重排、丢包检测(NACK请求)

解码

硬件/软解

解码出 YUV 帧,支持错误隐藏/恢复

渲染

屏幕渲染

GPU/CPU 渲染,画面缩放、渲染帧率控制

🔄 闭环控制

  • 带宽估计模块(GCC/BBR/REMB)持续监测网络状态(丢包率、延迟梯度、吞吐量)
  • 将估计带宽反馈给编码器,动态调整编码码率、分辨率、帧率
  • 接收端的 RTCP 反馈(REMB/Wideband/NACK)是带宽估计的关键输入

二、编码器

         如果不考虑svc编码,那么带宽估计和VQC编码就特别关键。那么就引入了第一个问题:带宽估计目前还没有一个特别精准跟随网络实时抖动调节的技术,它往往是延后的,不精准的。不能充分准时的利用真实的网络带宽。第二个问题,编码视频清晰度会遵循一个重叠阶梯式非线性率失真包络的规律。不同的编码器有不同的规律,即使只是编码参数不一样,率失真包络的形态也不样。VQC是一个复杂的控制过程,码率变动后用什么样的分辨率和帧率编码清晰度是最优的?清晰度的评价如何满足主观感受?

        上述两个问题是现实的,也是宏大的两个命题。这里暂时不讨论。

         假设我们这里采用h264或者hevc的硬编硬解。大部分产商的硬编码接口都比较简单,能控制的编码参数有限,更有甚者连B帧编码都没法控制,这时就得回退到软件编码。

         硬编硬解情况,我们能做的有限:码率,分辨率,帧率

三、前处理/美颜

       目前主流的RTC都不再使用固定的硬件设备,更多的是PC,手机终端。PC机配置跨度至少十年以上,有自带摄像头,也有外接usb摄像头。手机主要是android和ios终端。ios系统的iphone设备品质比较一致,时间跨度6,7年。Android手机品牌多,品质多样,有老年机,中低端机和旗舰机。配置时间跨度也同样不小,老年人不愿意换手机。因为以上的情况存在,所以摄像头采集的画质差别就很大。有的手机360p刚刚好,有的1080p也很好。摄像镜头和模组的品质决定了采集出来的画质好坏。采集画质如果出现很多噪声,编码的码率就很高,如果提高QP编码,那么画面细节也随着噪声一起被量化掉,最后编码画质就很差。

        这时前处理去噪就很关键。如果是开启美颜,那么美颜必须有全局去噪的功能。去噪和美颜还需要控制好性能和功耗。我们采用基于噪声估计的极速时空域去噪技术。没有引入时延,PC上720p单帧单线程时延0.6ms.链接:yuv420p视频基于噪声估计的极速去噪demo-CSDN博客

        如果想要磨皮美颜效果,可以采用轻量级磨皮技术,PC上720p单帧单线程时延1.5ms.链接:yuv420p视频前处理(去噪/磨皮)demo-CSDN博客

        以上前处理,我们具备全平台的cpu和vulkan版本。

        经过去噪后,在中等QP编码下,同样清晰度能降低10%~15%的码率。

四、后处理增强

       终端用户看到的视频清晰度是接收到视频流,解rtp包解码后最终渲染的结果。渲染技术是gpu提供商提供的标准技术,这个和硬编码器一样,一旦技术选型完成,基本上没有什么可操作性。

       这时后处理增强技术对清晰度会提供助力。一般后处理增强需要修复视频编码后的块效应,振铃效应以及去模糊技术,还包括色彩增强。

        我们这里使用增强技术,采用了基于图像智能滤波与高反差保留融合算法优化,链接:yuv420p视频画质增强demo-CSDN博客,PC上720p单帧单线程时延1.75ms。

        色彩增强可用,也可不用。我们也支持了。PC上720p单帧单线程时延0.8ms. 链接:yuv420p视频色彩增强demo-CSDN博客

        后处理增强与色彩增强可以统一放到一个线程中,复用数据链路,720p单线程单帧整体时延可控制在2ms左右。

        通过vmaf对比测试,使用前处理去噪或者磨皮,然后加上后处理增强。同清晰度下视频带宽降低30%~40%。

        如果要支持更高分辨率,比如1080p或者4k.前后处理可以采用多线程或vulkan版本。

© 版权声明

相关文章