APP下载

高清视频通信云服务若干关键技术研究*

2017-08-31李铎方华程宝平宋钦梅

电信工程技术与标准化 2017年8期
关键词:关键帧码率视频会议

李铎,方华,程宝平,宋钦梅

(中移(杭州)信息技术有限公司/中国移动杭州研发中心,杭州 310000)

高清视频通信云服务若干关键技术研究*

李铎,方华,程宝平,宋钦梅

(中移(杭州)信息技术有限公司/中国移动杭州研发中心,杭州 310000)

相对于普通清晰度的视频通话,高清视频通信在用户体验上有巨大的飞跃,随之带来的是巨大的带宽需求和终端强大的计算能力的要求。目前有许多的厂家都能提供高清视频通信业务,但是在回声处理、自动增益、多方视频会议等关键技术方面,还有很多需要改进和优化的空间。本文将结合应用实践介绍一些针对高清视频通信云服务中的关键技术所进行的优化工作。

高清视频通信;自动增益控制;回声处理;关键帧;视频会议

1 视频云通信市场现状和技术难点

目前智能终端和服务器可以方便的引进各种开源解决方案进行开发。服务器端可以用FreeSWITCH, Asterisk等优秀开源项目,这些项目支持当前大多数通用音视频编解码器、功能丰富、稳定性好、扩展方便、可以快速的搭建标准音视频通信服务器。国内很多中小企业的软电话服务器都是基于FreeSWITCH开发,阿里的钉钉、网易视频云也是。但是这些开源项目也有一些弱点,它们都是基于标准SIP协议的,直接用SIP协议栈在公网上传输会遭到部分运营商的封杀;对视频会议支持不好,功能简单,在服务器端进行混屏,消耗太多资源;要做成满足需求的商用产品,还需要进行大量的定制化开发工作。

在客户端方面,目前国内视频通信产品90%以上都是基于开源项目WebRTC开发,包括QQ、微信、YY语音等国内很早很成功的产品。WebRTC项目成熟度高,代码质量可靠,跨平台,有最优秀的抗网络抖动策略,完整地音频处理算法包括AEC、NS、AGC等。但是WebRTC也有一些缺点,它的传输基于P2P设计,适合1v1通话,不适合视频会议,尤其是大型超多方的会议;对设备优化适配不够,尤其是目前Android设备碎片化严重,一些手机上有比较严重的回声,底噪残留等声音问题;声音质量是视频通信的基本要求,如果声音处理不好,直接影响产品的用户体验。声学处理需要专业的声学和数字信号处理知识,对于中小企业是一个大的技术壁垒。

视频编解码器依然是H.264占主流,H.265在处于缓慢发展期,虽然H.265在码率上面有非常大的优势,但是更高的计算复杂度和高昂的专利授权费用限制了它的大规模快速推广。Google也贡献了VP8、VP9等免费视频编码器。H.264的方案中,大多数中小厂家选择的是开源的X264和思科的OpenH264项目。

音频编解码器则相对选择更多一些,VoLTE支持的是AMR-WB,Google的Opus编码被公认是非常优秀的适合网络传输编解码器,在抗分组丢失、变码率、VAD等各方面都远超出其它编解码器。通用的还有G711、G722、G729、SILK、SPEEX等编解码器。

经过几年的投入,已经开发出高可靠、高质量的高清视频云通信系统,在许多关键技术环节积累了丰富的经验,解决了业界许多重点难点问题。本文将结合实践经验,针对上述一些关键技术难点,做详细介绍。

2 视频云通信关键技术难点解决方案

2.1 通信协议栈的优化,解决SIP协议栈被封杀问题

由于国内各地政策要求和部分企业网络管理策略,存在部分网络对SIP协议进行封杀,封杀手段主要有如下4种。

(1)IP地址封杀:运营商通过“协议分析服务器”剖析出VoIP分组中的目的IP地址,对该目的服务器IP进行封杀,所有到该IP的数据分组,无论是否是VoIP分组,均被路由器丢弃。

(2)端口封杀:由于IP地址封杀方法会误杀其它Http服务,容易引起投诉,因此运营商也可通过只封杀VoIP使用的相关端口达到封杀的目的。

(3)信令封杀:前两种封杀方式都会滞后几天,中间需要有一个手工干涉的过程,且被封杀后通过修改服务器的IP地址或端口就可以快速反封杀。信令封杀是指“协议分析服务器”剖析出VoIP协议后,立即丢弃该数据分组,使VoIP通话无法建立,达到封杀的目的。

(4)RTP流封杀:运营商查出VoIP数据以后,并不丢弃数据分组,而是往RTP分组中插入干扰数据,使得通话双方无法正常通话,由此达到封杀的目的。

纵观运营商的封杀手段,所有封杀手段都是依赖于“协议分析服务器”剖析出VoIP协议,针对这一情况,研究出基于可靠传输的私有的通信协议代替标准SIP协议的解决方案,呼叫信令采用TCP传输,使用动态变换算法加密封装,采用轻量化设计,信令方法与SIP协议一一对应,实现了Register、Invite、Hangup、Message、Heartbeat方法,对应SIP协议中的Register、Invite、Bye、Message、Options方法,实现了用户登录、呼叫、消息、探测等功能,该协议具有SIP协议所有功能,安全传输,流量消耗低,接通率高等优势,非常适合互联网应用使用。

为了和其它第三方支持标准SIP协议的平台、网关、终端互联互通,设计并实现了信令网关,用于私有协议和SIP协议转换,实现与PSTN/IMS/VoLTE/IPPBX等互联互通。

2.2 声学处理的优化

2.2.1 结合扬声器音量控制来控制回声

与传统电话相比,因特网上进行语音的实时传输,有其致命的弱点,那就是语音质量较差,影响因特网语音质量的因素是多方面的,最关键的因素之一是回声的影响。因此,要提高因特网的语音质量,就必须在因特网的语音传输过程中进行消回声的处理。由于因特网传送的语音信号要经过编码、压缩、打包等一系列处理,这不仅造成回声路径的延迟较大,而且延迟抖动也较大。因此,在因特网的语音传输过程中,回声问题显得尤其突出,这会降低用户的主观听感,影响通话双方的语音质量,因此为了保证双方通话的语音质量,消除回声是非常重要的。

在VoIP语音通信中回声产生的原因比较复杂,具有回声源复杂,回声路径延迟大,回声路径延迟抖动大等特点,所以回声消除要在保证主观听感的同时对回声进行最大程度的消除。

目前的回声消除算法(AEC)是对扬声器信号与由它产生的多路径回声的相关性为基础,建立远端信号的语音模型,利用它对回声进行估计,并不断地修改滤波器的系数,使得估计值更加逼近真实的回声。然后,将回声估计值从话筒的输入信号中减去,从而达到消除回声的目的,AEC还将话筒的输入与扬声器过去的值相比较,从而消除延长延迟的多次反射的声学回声。

如图1所示,通用回声消除算法的基本框架主要包括以下几个重要模块:回声时延估计;归一化最小均方自适应算法(NLMS);非线性滤波(NLP);舒适噪声(CNG)产生;同时经典回声消除算法还应包括双端检测(DT)。

优化后的回声消除算法在通用回声消除算法基础上,增加了扬声器端的自适应自动增益控制模块,在对远端语音信号进行语音活动检测和语音峰值包络的跟踪计算的基础上,结合在通用回声消除器模块计算得到的回声残余,共同确定扬声器端的自适应自动增益控制模块的阈值以及增益值并最终将该增益值作用到远端信号送入扬声器进行播放。本回声消除算法通过扬声器自适应增益控制与回声消除结合对近端和远端信号进行同时处理,双管齐下,最终达到回声消除的目的。

2.2.2 利用回路反馈优化音频自动增益控制

音频自动增益控制算法,是一种根据输入音频信号水平自动动态地调整增益的机制。目前用软件算法来实现的音频自动增益控制算法,虽然各个算法的实现模块可能有所不同,但是基本原理是相通的,也就是通过计算输入信号的强度进而得到进行自动增益控制的增益值,最后将此增益值作用到输入信号上从而达到对输入信号进行峰值调整的目的。当输入信号的强度超过某一门限值,输入信号就会被一小于1的增益进行调整从而对信号进行限幅;当输入信号的强度太小,输入就会被一大于1的增益进行调整从而增强信号强度。

当然在目前存在的音频自动增益控制中,也会有增加一些辅助模块,例如增加语音活动检测(VAD)模块,这样做的目的是防止噪声被当作语音进行了放大,从而影响音频信号的主观听感质量。

现有的技术方案在实际应用中,提及增益控制,一种是对麦克风采集到的当前信号进行增益控制,一种是通过扬声器对输出语音进行增益控制。但是在语音通信,语音识别等应用,这种对当前帧信号进行的自动增益控制,都在一定程度上面加剧了语音信号的失真度,造成语音质量的降低,MOS分值下降。

如图2所示,这个方案实现了一种与现有通用音频自动增益控制算法相结合的自动增益控制算法,包括数字自动增益控制和模拟自动增益控制两部分,数字自动增益控制根据当前采集输入信号计算得到增益然后直接调整当前采集输入信号;模拟自动增益控制则是根据当前采集输入信号和数字自动增益的返回值,通过麦克风音量控件调整麦克风采集音量,从而调整后续麦克风采集到的音频信号。这样既保证了对当前帧信号的增益控制,又通过反馈回路对麦克风采集音量进行调整,进而影响下一帧采集信号。经过一段增益调整时间,可以使麦克风采集音量保持在一个最优值,减少对数字增益控制的依赖,从而大大降低了语音的失真度,提升了语音质量。

2.3 高清视频传输抗网络异常的优化

高清视频的主要特点是高图像分辨率,随之而来的是成倍增长的数据量,但网络带宽是有限的。因此,为了适应在有限的网络带宽上有效传输视频,需要对视频进行编码压缩,并且根据网络质量实时优化编码码率,在保证图像质量的情况下降低视频卡顿频率。

图1 加强型回声消除器

图2 带回路反馈的自动增益控制

2.3.1 网络分组丢失优化

实时性对视频通话至关重要,因此一般采用UDP传输实时视频分组,但UDP无法保证传输过程中的网络分组丢失。当一帧视频数据不完整时,解码出的视频图像会存在严重的马赛克问题,并一直延续到下一帧完整的关键帧到来才会结束,这是无法接受的。针对这种情况,统计送到解码器的每一帧数据的完整性。

2.3.2 快速请求关键帧逻辑

客户端会定时发送视频关键帧,这个时间太短会增大码率,于是设计了一个快速请求关键帧算法。当解码器返回解码错误信息,先查询视频缓存区是否有关键帧,如果没有,清空视频缓存区的同时向对方发送一个关键帧请求,当发送方接收到关键帧请求后,立即将下一帧编码为关键帧并发送到对方。虽然通过这种方式处理后网络分组丢失依然会造成视频卡顿,但是不会出现马赛克现象,卡顿时间是一个回路延迟,目前做到可以在300~400 ms左右,在可接受的范围之内。

2.3.3 码率自适应优化

当网络分组丢失率不高时,可以采用快速关键帧请求技术来弥补,但如果网络持续较差,这时如果依然使用较高的码率编码视频,视频卡顿依旧会很明显。因此,需要针对网络状况使用码率自适应算法。会根据网络分组丢失情况估算出一个编码码率,这个码率不会非常准确,当网络分组丢失严重时,编码器根据这个估计值设置码率网络分组丢失现象会显著降低,这时因为网络分组丢失降低,算法又会提高码率估计值,如果立即设置到编码器中,又会导致严重的网络分组丢失,如此视频会在流畅和卡顿之间反复切换。

针对这种情况,在估计出较低的编码码率时,立刻将编码器的编码码率降低到与估计码率相适应的水平;在估计码率又显著提高时并不会立刻将编码码率提高,要结合关键帧请求频率来逐渐增加编码码率。当编码码率根据估计码率相应提高时,统计收到的关键帧请求,如果关键帧请求频率较高则立刻将编码码率降低到之前的水平,如果关键帧请求频率较低,则继续随估计码率提高编码码率。

该方案能快速降低码率,保证视频流畅不卡顿;在带宽提高的时候,缓慢的提高编码码率以提高视频质量。该方案在实际应用中可以给用户较好的体验。

2.3.4 图像渲染稳定度优化

通常视频解码器解出一帧图像时会立刻显示出去,但因为各种原因,包括发送端不稳定,网络延迟抖动,连续几帧图像之间的渲染间隔会抖动比较厉害,视频显示就会出现时快时慢的情况,连续性和稳定性很不好,用户会观察到快速播放或迟滞的画面。针对这种情况,需要根据接收到视频平均帧率来估计出一个稳定的图像渲染帧率,使得图像绘制更加均匀,保证时间域图像质量。

3 高清视频通话云服务创新业务

3.1 和第三方其它VoIP终端包括VoLTE互通

普通的VoIP终端,包括VoLTE、VoIP话机、linphone、pjsip等开源终端,基本都是支持1v1的视频通话,不支持视频会议。我们自己的终端采用的是客户端混屏的方式,在视频会议里面,服务器只是把视频流转发给其它客户端,在客户端进行多屏的排列,显示。这样其它VoIP终端势必不能兼容我们的视频会议。为了可以和其它VoIP终端通视频会议,我们在服务器端专门架设了一个混屏服务器。目前其它视频会议混屏都是直接将多路视频先解码,再缩放、拼接,最后压缩成一路视频。

如图3所示的一种视频会议和第三方终端互通方案,该方案用一种全新的方法来提高混屏质量,在对多路视频解码后,利用人脸检测技术获取的人脸参数,进行剪切,再进行缩放和拼接,最后压缩成一路视频。这种方法使得脸在画面中更加集中,并且保证缩放后的图像不变形失真,提高了缩放后的图像质量。混屏后的分辨率和终端相匹配,例如VoLTE是640×480的宽高,混屏后的分辨率也是640×480,这样很好的适配各种类型的终端,自动调整码率和带宽相匹配,保证了视频质量。

图3 视频会议和第三方终端互通方案

3.2 无限制人数的高清视频会议方案及其技术难点

目前市场上的视频会议一般会有最高方数的限制,一般是6,9或者最大20。高清的视频会议限制方数会更少,因为每一方的码率都很高,如果都渲染显示,会显著增加客户端的带宽和解码压力。所以一般支持大型语音会议或者VoIP多媒体会议的视频会议都会采用选路机制,根据参会者信息在所有参会者中选择出一路或者几路进行解码、混音、然后将信息发送给其余参会者的机制,也称之为抢话筒机制,选路选出来的参会者即为抢到话筒的人,抢到话筒者拥有发言权可被参会者听到。选路机制在大型多人会议中,可极大的降低服务器的负担,从而提高整体会议的质量,提升会议系统的容量。

在当前语音会议或者VoIP多媒体会议中,选路机制一般是根据能量优先原则进行选路,即根据参会者发言的语音能量的大小进行选路,能量大者被优先选出进行发言。

图4 基于能量的带反馈的选路方法

如图4所示,实现了一种优化的选路算法,并可与现有的选路算法结合使用的选路方法,包括带选路反馈的一级长时能量优先选路和二级Hangover选路两部分。一级长时能量优先选路是根据参会者的长时能量进行能量优先选路,同时增加了选路反馈机制;二级带选路反馈机制的Hangover选路则是在一级能量优先选路的基础上,对上次选路结果进行Hangover状态二次筛选修正。该方案可极大的提升选路发言者的语音平滑性,从而提升VoIP多媒体会议的整体语音质量,同时提升会议系统的容量。

Key technical researches on high quality video communication

LI Duo, FANG Hua, CHENG Bao-ping, SONG Qin-mei
(China Mobile (Hangzhou) Information Technology Co., Ltd./ China Mobile Hangzhou R & D Center, Hangzhou 310000, China)

The high quality video communication provide a better user experience comparing to normal quality. And the high quality video communication will take more internet band and more endpoints’ CPU resources. Now many manufactories can provide the high quality video communication product. But many of them did poorly on some important aspect such as Echo cancelation, AGC, video quality and video conference. This paper will introduce some key technical researches in high video quality communication system on server and endpoints.

high quality video communication; AGC; echo cancelation; key frame; video conference

TP311

A

1008-5599(2017)08-0021-05

2017-07-03

* 中国移动集团级一类科技创新成果,原成果名称为《小溪云通信能力开放平台》。

猜你喜欢

关键帧码率视频会议
省农办主任暨三农重点工作推进视频会议
一种基于HEVC 和AVC 改进的码率控制算法
基于FPGA的多码率卷积编码器设计与实现
民政部召开民政领域社会工作推进视频会议
基于状态机的视频码率自适应算法
基于改进关键帧选择的RGB-D SLAM算法
基于相关系数的道路监控视频关键帧提取算法
浅谈远程视频会议系统的构建
基于聚散熵及运动目标检测的监控视频关键帧提取
云技术在视频会议系统中的应用研究