webrtc VCMQmResolution分辨率调整模块简略分析

分辨率模块(VCMQmResolution)函数图

webrtc VCMQmResolution分辨率调整模块简略分析_第1张图片

分辨率模块(VCMQmResolution)选择分辨率接口函数掉用图

webrtc VCMQmResolution分辨率调整模块简略分析_第2张图片

选择分辨率参数

webrtc VCMQmResolution分辨率调整模块简略分析_第3张图片

图像分析模块分析

图像分析模块分析后得到4个数据
content_metrics_:

motion_magnitude为前后帧差异

spatial_pred_err
spatial_pred_err_h
spatial_pred_err_v : 3个参数为当前帧自身纵横像素差异

通过分析模块分析的这4个参数生成content_class_用以后续权值计算时作为下标获取预设权值
webrtc VCMQmResolution分辨率调整模块简略分析_第4张图片
webrtc VCMQmResolution分辨率调整模块简略分析_第5张图片

计算时所用参数的定义及计算方法

webrtc VCMQmResolution分辨率调整模块简略分析_第6张图片
webrtc VCMQmResolution分辨率调整模块简略分析_第7张图片
webrtc VCMQmResolution分辨率调整模块简略分析_第8张图片
webrtc VCMQmResolution分辨率调整模块简略分析_第9张图片
webrtc VCMQmResolution分辨率调整模块简略分析_第10张图片
webrtc VCMQmResolution分辨率调整模块简略分析_第11张图片

流量阈值计算方法

webrtc VCMQmResolution分辨率调整模块简略分析_第12张图片

分辨率降权计算函数

webrtc VCMQmResolution分辨率调整模块简略分析_第13张图片
此函数通过匹配流量估算模块(BitrateController)估算出来的流量与 一定分辨率帧率计算的流量阈值匹配计算是否需要降低分辨率或者帧率。
之后通过流量阈值与图像相似度权值content_class_获取预定的降权期望值
webrtc VCMQmResolution分辨率调整模块简略分析_第14张图片
通过期望降权值获取分辨率操作动作等级
webrtc VCMQmResolution分辨率调整模块简略分析_第15张图片
后续根据其他参数调整操作的动作并通过动作等级降低分辨率

分辨率提权计算函数

webrtc VCMQmResolution分辨率调整模块简略分析_第16张图片
分辨率提权根据降权记录值逐步检测流量阈值,此次阈值指定流量为降低时的1.25倍,当大于这个阈值时才可以提升并调整分辨率
webrtc VCMQmResolution分辨率调整模块简略分析_第17张图片

你可能感兴趣的:(c++,webrtc)