您当前的位置是:  首页 > 新闻 > 专家观点 >
 首页 > 新闻 > 专家观点 >

QCon演讲:实时音视频质量评估与监控

2017-04-20 14:02:11   作者:   来源:CTI论坛   评论:0  点击:


 \ 
  QCon北京2017,我司陈若非博士讲解了《实时音视频质量评估与监控》,以下是演讲精要。
  陈若非,毕业于香港城市大学,Ph.D。在声网Agora.io负责基础音频技术。曾任职于YY基础技术研发部。IEEE期刊与会议评审。
  目前,在实时音视频领域普遍存在几个问题:
  • 对实时音视频的难度估计不足
  • 对实时音视频的测试方法了解不多
  • 对上线后可能遇到的困难准备不足
  这三个问题,就导致了一些实时音视频产品在上线后,质量差、用户体验差,甚至不能达到商用的标准。
  本文将会解答以下3个问题:
  • 音视频的现状与趋势
  • 音视频的质量问题及其来源
  • 如何快速建立一个公平有效的评估体系
  实时音视频的现状
\
  实时音视频,最主要的特点是,低延时。根据ITU-TG.114标准,单向通话延时大于150ms就可受到通话连续性受到影响,最大可容忍时延为400ms。
  实时音视频,主要会应用于实时的音视频通信,比如网络电话、视频通话;也会应用于直播,尤其是直播中的多主播连麦;同时,还会应用于一些垂直场景,比如手游中的玩家实时对讲,在线教育课程等。
\
  目前,实时音视频这个领域,涉及到三个层次。最底层的硬件基础设施升级,wifi的普及,3G向4G、甚至5G的升级,手机等终端设备计算能力的提升,都会加速实时音视频的发展。中间层是实时云CaaS(Communications-as-a-Service,通讯即服务)。CaaS是将传统电信的能力如消息、语音、视频、会议、通信协同等封装成API或者SDK通过互联网对外开放,将电信能力真正作为服务对外提供。声网Agora.io就处于这一层。最顶层应用层,直接面向终端用户,涉及到诸多垂直行业。
  实时音视频的发展趋势
\
  实时音视频,朝着3个方向发展:
  越来越真实
  • 视频清晰度和音频音质,随着技术和硬件的发展,在不断提高。VR视频,极大的增强了用户的沉浸感。声网的音频已经可以做到180°的立体声,声音自带方位感。
  • \
  • 实时音视频也在朝着越来越多互动发展,直播连麦、手游音视频社交、以Houseparty为代表的创新社交模式,这些创新应用,在实时音视频出现之前是很难普及的。
\

  • 实时音视频,有了越来越多的玩法,人脸识别技术的具体应用:美颜和换脸。音频方面也可以有变声这样好玩的功能。
  实时音视频质量的挑战
  以上趋势,对实时音视频有了更大的挑战和更高的要求:
  • 更大的数据量
  • 更低的延时
  • 更多的算法
  这是一个视频质量对比的案例,右侧视频出现的问题分别有:
  • 出图慢,视频首帧时间明显慢于左边的视频
  • 画面模糊
  • 延时
  • 卡顿,甚至卡住
  • 绿屏,花屏
  那么问题来了:
  • 什么情况下会出现这些问题?
  • 是网络问题还是设备问题?
  • 影响了多少用户?是个例问题还是全局问题?
  • 如何在测试中尽可能的覆盖这些问题?
\
  实时音视频质量问题的来源
  实时音视频,总共分几个环节:采集、前处理和编码、传输、解码和后处理、渲染。
  采集:iOS是比较简单的,Android则要做些机型适配工作(声网Agora.io目前适配了5000+Android机型)。PC最麻烦各种奇葩摄像头驱动,出了问题特别不好处理。
  前处理:美颜、换脸就是在这个环节处理。美颜算法需要懂图像处理算法的人,没有好的开源实现。算法设计好后还需要优化。容易出现的问题有:GPU占用太高导致手机发烫,手机发烫会导致摄像头采集掉帧。这需要丰富的经验来支撑。
  编码:分为硬编码和软编码,720P需要硬编码。但是硬件编码不灵活,兼容性有问题。编码还需要考虑网络和设备兼容,尤其是数千种安卓设备。在这个环节,软编码可能会导致CPU发烫,进一步导致摄像头采集掉帧,长期发烫的直接反应是费电。这些是性能方面的问题。音视频编解码技术还涉及到网络传输,编码的码率、帧率、分辨率直接影响网络传输效率。
  传输:声网的音视频传输是通过自建的SD-RTN? ( Software Defined Real-time Network),专为实时传输设计的虚拟通信网络来进行。这是一种新型的专为实时传输而设计的网络架构,基于UDP协议。通过在互联网上不同地区的数据中心放置软件组网单元,相互连接互相调度,在现有的公共互联网基础上构建一层新的虚拟网络。SD-RTN?系统能够实时根据各节点的连接和传输状况、负载状况以及到用户的距离和响应时间,自动分配最优、最通畅的传输路径,达到实时传输需要的质量保障级别。
  解码:这一环节需要做容错处理和适配。解码和编码一样,都存在发烫,导致手机卡,耗电量高的问题。
  渲染:可能存在的问题是,手机明明解码出好多帧数据,就是渲染不出来。为什么声画就是不同步?
  这几个环节,归纳起来可分为:物理环境、设备环境、网络环境,三个不同环境,导致能导致实时音视频最后出现质量问题。
\
  如何设计一个质量评估体
  那么,如何设计一个质量评估体系来监控上述三个环境?
  这三个环境的特点是,随机性、多元性和主观性。我们的质量评估体系,需要能够重现问题、发现问题的关联性,并且统一评价标尺。与此同时,还要考虑到成本、覆盖性等问题。
\

\
  实时音视频质量评估中,我们是选择主观测试还是客观测试呢?是选择标准化测试还是自建呢?
  客观测试(标准化)
  我们想要定量的分析一个音频引擎的优劣点,就必须在测试中尽可能的排除网络、设备和物理环境等因素带来的随机性影响。3GPP、ESTI等通信业国际标准,对手机通信的测试环境方法有很多要求和指引。简单的说,我们需要足够安静且反射路径最小化的声学环境来避免周围的环境音来影响测试,所以需要有专业设计的消声室。我们需要可重复又高保真的发声和收音装置来覆盖人的正常说话和听力动态范围,所以需要人工耳和人工嘴。另外,为了覆盖更多的真实场景,我们还需要网损设备来模拟和控制丢包。需要近似真实环境的沉浸式噪音场景,我们需要在人工头的四周布置高保真的音箱来制造噪声声场。
\
  客观测试的一个重要优点是,网络设备物理环境条件相对可控,可重复性较强。这些通信标准定义的客观指标也很大程度上可以帮助快速定位音视频问题。但是客观测试本身也它自己的局限性。首先,要搭建上述的一套科学的客观测试环境,一般需要七位数字人民币的预算,这对很多公司来说已经是个很大的制约了。更重要的是,客观测试虽然可以暴露一些明显的问题,但是很难覆盖到一些细节和定位到问题的根源。 所以无论是出于成本的考虑还是更细节的分析,我们都需要有合理的主观测试来弥补客观测试的一些问题。
  主观测试
  一般比较常用的做法是请足够多的人来采集有统计意义的样本,然后对测试人员做一定的培训。最后根据信号失真度,背景侵入度,和总体质量等方面来对音视频通话打分。
  这种方法主要用来比较不同引擎之间的总体主观感受,如果需要更细节的发现和比较问题,还是需要跟针对性的测试。
  主观测试相对来比较灵活,可以不必限定在消声室中进行。但是为了尽量避免我们之前的提到的设备网络环境的不确定因素,测试人员和被测设备需要分别放置于两个音源隔离的房间。虽然主观评估的准确性较高,但是也有一些缺点。例如,人眼和人脑会疲劳,从而导致在一定时间内能进行的测试量较少;人的主观性导致结果的可重复性会有一定的偏差。
\
  评估还需要有参考对象,有比较的进行评估。
\

\
  测试环境搭建的标准,需考虑的模块,流程可以参考上图。下面一个视频,是声网关于延时的评估案例,用到磁悬浮地球仪和一个在线秒表。第一排是本地视频,第二排是接收端接收到的图像。左右两个是不同产品的对比测试。通过录像,我们可以看到对比之下的延时和画面质量。
  搭建好本地环境后,就需要执行测试。共涉及三个环节
  • 人员
  • 测试项
  • 结果分析
\

\

\
  实时音视频质量的监控
  前面部分讲的是实时音视频质量的评估,那么产品上线后,应该如何监控?需要覆盖两个方面:
  • 全局质量监控
  • 个例问题调查
\
  全局监控的目的是:
  • 准确了解全网质量,而不是仅仅局限于自己测试或者用户反馈
  • 通过数据驱动发现问题,验证质量改进的效果
  • 全局监控要遵循一个规则:看分布不看均值
  在描述服务质量时,均值是很弱的概念。举个例子:中国家庭平均资产92万;把收入从高到低排序,排到第95%位置的家庭,年收入是900元。第一个均值对了解人民生活水平意义不大,第二个告诉我们很多人还在艰难谋生。因此声网在统计全局质量时:看分布、不看均值。上图中是声网做的一个统计,反应每天使用用户大概比例,用什么网络什么系统,音频视频打分如何,丢包率如何?
\
  全局反馈良好,但依然有用户报问题,我的声音听不到怎么办?声网在实践当中做了这样一套系统,可以根据用户ID去查详细的通话信息:包括一些码率、CPU的情况、音频录音大小可以自己看得到,这样子就能定位问题。

专题