红帽白皮书新鲜出炉!点击获取,让你的云战略更胜一筹! 了解详情
写点什么

腾讯多媒体实验室商世东:腾讯会议背后的实时语音端到端解决方案

  • 2020-04-08
  • 本文字数:3852 字

    阅读完需:约 13 分钟

腾讯多媒体实验室商世东:腾讯会议背后的实时语音端到端解决方案

受疫情影响,很多企业开启了线上办公模式,视频会议成为刚需、高频的办公工具。用户爆发式的增长,让各远程办公应用面临了巨大挑战,除扩容服务器等硬件设施外,保证高品质的通话体验、降低端到端的延迟技术架构,成了保证远程会议体验的关键点。

面对这次高并发流量的冲击,腾讯会议通过融合经典信号处理、心理听觉和深度学习理论,针对端到端音视频通信链路上的复杂特性,对音视频在云端和用户终端的网络传输环境进行了优化,为用户提供了清晰流畅的语音服务。


近日,腾讯多媒体实验室高级总监商世东受云+社区沙龙 online 邀请,为大家全面揭秘了腾讯会议背后的实时语音端到端解决方案。

一、语音通信系统的演进与腾讯会议背后的技术支撑

近三十年,语音通信系统经历了三个主要变化,一是从模拟到数字,二是从固定电话到移动电话,三是从电路交换到分组变换,首先我们先回顾一下语音通信系统的演进历史。


1、语音通信系统变化开端:从 PSTN 模拟电话到 ISDN 数字电话的转换


数字相对模拟电话的优势是显而易见的,尤其在通话语音质量上抗干扰,抗长距离信号衰减的能力明显优于模拟电话和系统,所以电话系统演进的第一步就是从终端从模拟电话升级到了数字电话,网络也升级到了 ISDN(综合业务数字网),可以支持数字语音和数据业务。ISDN 的最重要特征是能够支持端到端的数字连接,并且可实现话音业务和数据业务的综合,使数据和话音能够在同一网络中传递。但是本质上,ISDN 还是电路交换网络系统。这一变化并没有很好解决电路交换的链路专有连接带来的高成本问题,这个问题的解决只能依靠分组交换才可以多人分享带宽,让有限的网络带宽在多路链接中分享,这样才能让成本大幅度下降。



2、 从电路交换到 IP 分组交换:腾讯会议的技术支撑 VOIP 的出现


随着 IP 网络的发展,电路交换开始向 IP 分组交换演进,整个网络和整个通信终端更加多样化,出现了各种基于 IP 网络(接入网和核心网)的客户端 VOIP(PC、移动 APP、电话),电话对电话就不只局限在固定电路间交换,也可以是基于 IP 网络的数字电话交换。整个演进过程中有两个问题需要解决:一是合适的信令系统来管理 VoIP 通话(有别于基于 7 号信令的传统 PSTN 话机通话管理),二是如何保证不同的传统电话终端跟不同的互联网电话终端之间的互通性。


PSTN 电话网络向 IP 电话网络演进中,也出现了两个有趣的协议族,ITU 和 IETF 从自己的角度出发,分别推出了面对互联网通话的一整套的解决方案:一是 H.323 协议,来自于传统制定电报电信标准的国际化组织——国际电信联盟 ITU,该协议是一套非常完整、定义非常详细的互联网音视频通话的标准,被很多大公司采用;二是 SIP 协议,来自于互联网 IETF 的互联网工作组,整个协议架构简单且开放灵活,也被很多公司和产品广泛采用,用于互联网通话过程中的建立与维护。



(上图为 H.323 和 SIP 协议栈的功能示意图)


腾讯会议系统中的音频解决方案,在与 PSTN 电话进行互联互通时,沿袭了成熟的 H.323 协议;而在 VOIP 客户端间进行互联互通时,则采用了 SIP 协议,利用其开放特点,在互联网平台上利用已有的多种协议来建立通话、维护通话、挂断通话。


基于 IP 网络的 VOIP 技术,在网络架构和声学挑战两方面存在挑战。网络架构方面,会面临丢包、延时以及语音包抖动的问题;声学方面,则存在回声和带宽对通话质量影响的挑战。腾讯会议为解决上述挑战,在实时语音通信和语音引擎方面提出了解决方案。


除了信令之外,在媒体流传输上,腾讯会议采用了基于 Opus 编解码器的 RTP 流媒体传输


1)实时语音通信:RTP 协议


采用了普遍的 RTP 协议,该协议基于 UDP 协议,其中典型的 Sequence Number 跟 Time Stamp 两个字段定义,很好的解决了实时语音通信的基本问题,即便在语音包不连续、乱序的时候,或者在抖动过大或丢包过大时,也提供了保证语音通信质量的即基本手段。


2)语音引擎:Opus 低延时语音引擎


采用 Opus 语音引擎,它是一个低延时语音引擎,却可以覆盖很宽的带宽,不光支持语音,还可以很好地支持音乐场景,低延时对于实时语音通信来非常适合,腾讯会议基于该引擎进一步优化语音通信,并且开发了一套实时的无参考语音质量评估系统。

二、腾讯会议用户痛点和技术难点:声音、音质、同地设备

腾讯会议在真正使用上述已有技术,来解决腾讯会议中碰到的音频问题的时候,还是碰到了很多痛点和难点,主要包括声音、音质、同地设备三个主要问题。


1、六大声音问题


实时语音通信系统包括以下几类典型的声音问题:


1)音频无声


2)漏回声


3)嘈杂声音


4)音量小和音量飘忽不定


5)声音浑浊和可懂度差


6)声音卡顿



2、音质问题:宽带语音变窄带语音


企业内部使用 IP 电话时,话机与话机间通信音质比较好,但接入腾讯会议,就会由原来的宽带话音变成窄带话音,这可能由于企业 IP 系统采用的网络拓扑结构有关系,公司内部不同网段之间不能互联互通的时候,需要经过转码,转码时为保障最大兼容性,常常会将宽带话音变成窄带话音。


此外,在重混响房间里面,混响会导致音质受损,混响的程度却会和 AGC 音量大小有关,腾讯会议 AGC 放大,在重混响房间里就会导致音质进一步受损,加上网络比较复杂、网络延迟、网络抖动等多种原因聚合,基于 VoIP 通话的音质会受到很大挑战。


3、同地设备问题:啸叫或漏回声


随着会议解决方案的普及,会出现一间会议室内很多终端同时进入腾讯会议的情况,这种情况带来的问题就是有啸叫或者容易漏回声。解决上述问题,对于单个设备来说,它的采集信号可以捕捉到它的播放信号来作为参考,但对多个设备来说,一个直观的非常简单易行的解决方案是不存在的,因为本机的回声抵消算法通常只能获取到本机的播放参考信号。基于此,腾讯会议创新性的提出同地多设备的检测方案,利用多个设备之间存在的相关性,来解决同地多设备的问题。


三、利用 AI 提高用户通话体验的解决方案

1、音频领域的超分-带宽拓展:让语音明亮音质丰满


针对窄带语音,特别是来自于 PSTN 的窄带语音,我们做了一个窄带到宽带的超分辨率扩展。窄带语音来自 PSTN 电话,它的音质上限很低,频率的上限在 3.5K,也就没有高频细节了。在腾讯会议中我们使用 AI 技术,根据低频信息来预测、生成它的高频的分量,把语音里面高频的分量“制造”出来,让原来沉闷的不够丰富的语音变得更加明亮,音质变得更加丰满。



2、丢包隐藏技术:解决基于 IP 网络的丢包问题


针对基于 IP 网络的丢包和抖动过大问题,困扰所有的 VoIP 解决方案,腾讯会议在网络措施之外,在声学层面上,利用语音信号的特性,特别是语音帧间的相关性,通过丢包补偿技术,对突发的丢包和网络抖动带来的挑战,通过经典数学信号处理技术和深度学习技术把丢失的语音包补偿出来。


腾讯会议在实现上,利用深度学习技术,预测丢失的关键参数,在信号层面上面通过各种滤波器再把丢失掉的信号合成出来,跟网络传输层本身的 FEC、ARQ 技术相结合,很好地解决网络带来的丢包和抖动挑战。



3、降噪语音增强:消除于非平稳的突发降噪


对于非平稳的突发降噪,腾讯会议音频解决方案利用深度学习的方法来训练模型,学习突发噪声本身特性、噪声谱特征等,能够把传统的数字信号解决不好噪音,比如:键盘声、鼠标声,手机振动声等突发噪声消除掉。



4、语音音乐分类器:腾讯会议未来功能



5、无参考音质评估:多维度评估语音通讯质量


对于腾讯会议来说,音质评估非常重要。在算法测试阶段,我们参考并且在很大程度上借鉴并实施了基于 ITU 国际电信联盟的语音通信的音质测试和评估方案,对整个通话、双向语音通话当中的音质进行测试,进行实时评估。我们还参考了 3GPP、ITU、ETSI、TIA 等的标准,形成了一整套完整的语音质量评估体系,对端到端的语音通讯质量进行评估。


但上述国际标准评估体系都需要参考信号,而腾讯会议在实际使用过程中都是没有参考信号的。基于此,腾讯会议利用 QoS 和 QoE 两种参数模型,建立了无参考音质评估,根据播放端收到的信号就能知道通话质量是否正常。QoS 机制主要负责从网络的角度进行语音质量评估,是一个参数模型,优点是比较客观,简单易行,缺点是不够全面并且不能真实的反应用户的体验;QoE 则从用户体验角度出发,更加全面和真实。我们将 QoE 指标进一步细化,从通话的嘈杂声程度、通话语音色彩度,通话语音自然度、语音卡顿等等多个维度来准确的评估通信的质量。


四、对未来会议音频系统的三大思考

1、会议人声转录:核心技术 ASR 技术


会议人声转录的核心技术是 ASR 识别技术,对于会议音频来说,最大的挑战是如何进行多人会议场景连续检测说话人切换, 如何把之前讲的和之后讲的信号聚合在一起,这些相关技术对于会议转录非常重要。



2、5G 时代下的语音通信:沉浸式体验+可交互性体验


5G 对整个 VoIP 来说提供了一个更大、更好的舞台,5G 把带宽的上限提升之后,在音频上可以以 AR、VR 的形式提供沉浸式体验,让腾讯会议可以提供更优质和丰富的音频体验给大家。此外,5G 在传输上的延时能够降低到原来的十分之一,对于整个通信的可交互性体验也有很大提高。


3,VoIP 技术持续演进


1)融合通信;


2)5G;


3)移动通信;


4)人工智能;


5)WebRTC 技术;


6)In-appcommunications(应用内通信);


7)VOIP 技术与物联网;


8)Smarter VoIP assistant(VOIP 语音通话助手)



上述议题围绕语音通信系统的发展历程、系统架构的演进、用户痛点和主要技术挑战展开,介绍了腾讯会议提供清晰流畅语音服务的关键技术,未来在 5G 时代,腾讯会议将利用更多 IP 技术,为用户提供更优质地语音服务。


本文转载自 腾讯多媒体实验室公众号。


原文链接:https://mp.weixin.qq.com/s/rx471gHfZ4ImEkBlIBEv_A


2020-04-08 15:341759

评论

发布
暂无评论
发现更多内容

Java集合容器面试题(2020最新版)

Java 程序员 后端

K8S环境的Jenkin性能问题处理续篇(任务Pod设置)

Java 程序员 后端

Java经典算法题(二)

Java 程序员 后端

Java进阶:什么是TCP-IP?如何运用!(1)

Java 程序员 后端

Java面试题超详细整理《JVM篇》

Java 程序员 后端

JDK8-Object源码

Java 程序员 后端

k8s常见问题大收集

Java 程序员 后端

JetBrains 又出了一款新神器,一套代码适应多端!

Java 程序员 后端

Jsoup解析html

Java 程序员 后端

Java详解:如何实现一个-redis-缓存服务

Java 程序员 后端

JAVA面试核心教程|Java面试基础知识点总结

Java 程序员 后端

Java面试通关要点汇总集

Java 程序员 后端

Java高并发编程课后总结

Java 程序员 后端

Java高级特性之多线程

Java 程序员 后端

Java编程配置思路详解

Java 程序员 后端

Jenkins部署springboot项目

Java 程序员 后端

JVM之调优及常见场景分析

Java 程序员 后端

JVM及GC机制

Java 程序员 后端

Java笔记 —— Set集合的排序原理(源码分析)

Java 程序员 后端

Java线程状态以及 sheep()、wait()、yield() 的区别

Java 程序员 后端

Java进阶:什么是TCP-IP?如何运用!

Java 程序员 后端

Java面试题大全(持续更新中)

Java 程序员 后端

JSP“三大请求传参方式”及“中文乱码问题解决方案”详解

Java 程序员 后端

Java程序设计(基础)- 数据类型

Java 程序员 后端

Java编程配置思路详解(1)

Java 程序员 后端

Java面试中最常问的JVM问题大全,附答案

Java 程序员 后端

Java面试宝典(2020版)

Java 程序员 后端

Java虚拟机内存结构及编码实战

Java 程序员 后端

Java面试之EJB & Spring

Java 程序员 后端

Java面试题超详细整理《JVM篇》(1)

Java 程序员 后端

Java黄金五年——1~5年一个Java程序员从入行到大牛的晋升之路

Java 程序员 后端

腾讯多媒体实验室商世东:腾讯会议背后的实时语音端到端解决方案_文化 & 方法_腾讯多媒体实验室_InfoQ精选文章