超分算法在 WebRTC 高清视频传输弱网优化中的应用

随着 5G 的发展应用,人们对音视频通信的品质要求在不断提高。习惯了高清视觉享受的用户,显然无法接受退回“马赛克时代”。关注【融云全球互联网通信云】了解更多

然而,在全球互联网通信云服务中,面对数据库设计网络和算法分析的目的是终端的丰富多样和复杂多变,又难免遇到用户带宽不足算法的特征的情况。使用技术通信大数据行程卡手段来提高图像和视频人体肠道结构示意图分辨率,让用户在较低带宽的情况闰土刺猹下依然获得较算法是指什么高清晰度的图像和视频就非常重要了。

本文分享使用图数据库原理像超分辨率技术在有限带宽下实现 WebRTC 高清视频传输的优化方案。


视频编码中接口影响视频清晰度的主要因素

理论上,对于同一种编码器而言,在分辨率不变的前提下,码率越大,视频质量越高。但是从视觉来看,在特定编码器和分辨率的情况下,码率存在一个最优值。

通常,视频通话/会议采用的视频压缩方案为 H264 或人体承受的最大电压者 VP8。在 H264 编码中,720P 和 1080P 的视频推荐码率为分别为 3500Kbps 和 8500Kbps。

在移动设备中,H264 编码器推荐的码率如下表。

超分算法在 WebRTC 高清视频传输弱网优化中的应用

(移动端不同分辨率的推荐码率)

由上表可知,在 WebRTC 技术方案框架下进行视频通话时,采用 H264 编码通信工程器对 1080P 高清视频进行压缩,视频若设定为中等码率则需要 4Mbps。

对于带宽不足的部分终端用户,若仍然播放 1080P 的视频会存在卡顿的情况。则可以在 WebRTC 的技术框架下,采用联播(simulcast)或者 SVC 的方式,对不同的终端用户根据各通信人家园自的特点传输不同分辨率或者不同帧率的码流。

简单来说,若用户的网络环境不适合传输 1080P 的视频,则给用户发送 720P 的视频,所需码率为 1080P 的一rtc是什么意思半,可以最大限度保障有限带宽下的视频传输流畅性

高清已成趋势,在不改变编码器即 H264 或 VP8 的情况下,如何依然在终端上获得高清视频成为学术界和产业界需要共同研究和解决的课题。


图像超分辨率技术在WeBRTC中的应用

图像超分辨率技术(Super Res算法是指什么olution,SR)是计算机视觉中提高图像和视频分辨率的重要技术,可以将一幅低分辨率图像重建出高分辨率图像。

通俗地说,就是当我们放大一张尺寸较小的图像时,会出现模糊的现象,超分辨率重建就是将原图中一个像素对应通信工程专业的内容在放大之后的图中用更多的像素来表示,让图像尽可能地清晰。

随着深度学习的发展,目前图像超分辨率技术已经从传统的计算机视觉分析方法全面转向基于 CNN 和 Transformer 的方案。

将图像超分辨率技术应用于 WebRTC 的通常实现方式为:发送低分辨率的视频,在每一个数据库系统工程师终端显示的时候,采用超分辨率技术对图像进行放大。由于发送的视频为低分辨率的图像,可以在较低的传输视频数据量下获算法的五个特性得较高的清晰度。

在 WebRTC数据库 中,图像超分辨率算法需要同时满足实时超分清晰****效通信技术的双重要求。通过对业界主流基于深度学习的超分人头攒动算法导论法进行广泛调研和实验,我们发现基于 ESPCN 进行优化可以算法的时间复杂度取决于满足要求

ESPCN 由 2016 年发表在 CVPR 上的论文“Real-Ti数据库系统概论第五版课后答案me Single Image and Video Super-Resolution Using an Efficient Sub-Pixel Convolutional Neural Network”提出,实验结果如图所示,达到了速度和精通信行程卡度的平衡。

超分算法在 WebRTC 高清视频传输弱网优化中的应用

(各种算法的精度和速度对比)

ESPCN 模型实验

在此次实验中,我们用 Pytorch 进行通信 ESPCN 模型的搭建、训练和推理。训练的数据一般可以采用常见的图像数据库,比如 PASCAL人头攒动 VOC、COCO 等,当然也可以根据行业特点采集相应数据集,让模型推理更有针对性。

为了增大数据库,我们在训练时会采用一些数据库扩容操作,最有效的方法之一是图像随机裁剪。该方法不仅能够对数据库进行扩容,而且可以弱化数据噪声与提升模型稳定性。

在 WebRTC 视频传输中,在编码端对图像进行 1/2 下采样。比如,传输 1算法的空间复杂度是指080P 视频,在编码端视频的下采样为 960540。

根据本文前述分析及部分实验效果表明,传输 960540 分辨率的视频相较传输 1080P 的视频算法的五个特性,数据量可以减少一半以上。

在实际应用中,当终端用户由于带宽限制无法直接传输 1080P 的视频时,可以传输 960540 的视频,再采用 ESPCN人头攒动 模型对 960540 的视频进行超分重建获得原始 19201080 的视频,从而满足用户对高清视频的要求。

终端部署 ESPCN 模型优化

一般而言,深度学习模型训练完成后,需要模型对不同终端进行针对性地部数据库软件署。

首先,我们通过模型量化缩小模型大小,减少对终端存储的占用,提升计算速度,加速深度学习推理的优化。

在这方面,Pytorch 框架提供了相应的接口,可以对模型进行各种数据库管理系统量化,我们采用的是 int8 量化。

通过 int8 量化,模型中的部分数据从 float 变成 int 型,采用 lib闰土刺猹torch 集成到 WebRTC 中,训练好的模型会转换成 libtorch 可以读取的 p通信地址t 格式。

结果显示,未量化之前 ESPCN 模型大小为 95KB,量化之后为 27KB

其次,针对通信行程卡不同型号手机的推理优化,从 256*256 上采样到 512*152,该模型在华为 P10 等中高端手机上可以达到 30ms 的推理速度,在 Asus Fonepad接口crc错误计数 8、Samsung Galaxy M31 等终端上目前实时表现尚不理想。我们还将采用剪枝和各种量化手段持续优化模型,满足各类手机的要求。

ESPCN 模型实验结果

模型读取部分关键代码如下所示,其中 espcn.pt 为未量化之前的模型。

// Deserialize the ScriptModule from a file using torch::jit::load().auto  device = torch::kCUDA;
std::string
 str = "espcn.pt";
  try
{
    module = torch::jit::load(str, device);
}
catch (const c10::Error& e)
{
    std::cerr << "error loading the modeln" << e.what();
}
pmodule = &module;

模型的推人头攒动的近义词如下让天秤难以放弃的星座代码所示,output 即为模型推理的输通信行程卡下载app出。因为输出的数据为 0 到 1,需要对输出数据进行限定和转换。

需要注意算法的有穷性是指的是,E通信人家园SPCN 模型默认是针对 Y 通道的超分,对 UV 数据而言,直接进行双三次插值(bicubic),即完成了 YUV 三个通道的超分。

std::vector<torch::jit::IValue> inputs;
inputs.push_back((img_tensor1.cuda()));
at::Tensor output = pmodule->forward(inputs).toTensor();
output = output.mul(255).clamp(0, 255).to(torch::kU8);

量化后的 ESPCN 模型效果

超分算法在 WebRTC 高清视频传输弱网优化中的应用

(原始图像)

将原始图像采用双三次插值(bicubic)放大成目标尺寸

超分算法在 WebRTC 高清视频传输弱网优化中的应用

超分算法在 WebRTC 高清视频传输弱网优化中的应用

通过 ESPCN 模型超分重建

超分算法在 WebRTC 高清视频传输弱网优化中的应用

超分算法在 WebRTC 高清视频传输弱网优化中的应用

从视觉效果来看让天秤倒追的星座,E数据库设计SPCN 模型的效果要远好于 bicubic 插值的方法。

本文主要介绍了基于图像超分辨率技术进行 Web通信行程卡下载appRTC 传输优化的方案,涉及模型选择、训练、接口测试量化等方面。

视频传输优化方案众多,图像超分辨率技术仅是其中之一。在实时音视频交互成为通信基本诉求的当下,融云会积极结合相关理论和成熟算法,研发新技术,对视频压缩和传输进行优化,满足遍布全球、需求各异的各类用人体承受的最大电压户需求。

发表评论

提供最优质的资源集合

立即查看 了解详情