写点什么

音视频质量评估绿皮书

  • 2019-08-26
  • 本文字数:1552 字

    阅读完需:约 5 分钟

音视频质量评估绿皮书

网络技术的升级使得市场上音视频类的产品形态越来越多,直播、短视频你方唱罢我登场。公司内也有多个专注于音视频技术、音视频产品服务的团队。音视频产品需要关注哪些质量控制点,如何评估音视频质量,笔者就在音视频实验室的几年工作经验进行介绍。欢迎相关团队同学互相探讨,共同成长。

不同场景下关注评估重点不同

音视频产品的评估涵盖多个维度,不同场景下的维度取舍存在较大的差别。目前市场上主流的音视频产品可以按应用场景分为如下几类(还有些小众产品,如会议类、投屏类没有列入在内)



特别说明,上述的划分也不是绝对的,有些会有交集,如直播里很多产品都有互动直播的能力,这一部分会与实时通话的场景相近。


对于这几类场景,从质量角度,虽然很多指标是通用的,但侧重点会有所不同。实时场景关注 E2E 传输质量(如时延)和信息可懂性,直播场景更关注主播上行网络抗性能力和观众体验(卡顿、音画是否同步),短视频会更多关注画质与用户体验,而长视频则会更关注转码质量及效率。这些的背后与产品的定位及所采用的技术密切相关。

音视频产品的质量关注点

通常音视频数据的加工流程可以概括为下图:



每个环节都有可能引入质量的损失,导致最终信息接收者观看到的内容变差(上面这种是流水线式处理,长短视频场景下数据生产和消费的环节是分开的,而且其中会有离线转码处理的环节,如多分辨率,HDR 等)。


我们可以针对每个环节进行测试,但产品质量更多的是这些环节的综合过程,所以从观众的角度来进行考虑效率会更高一些。以下罗列一些我们重点关注的质量维度:



按照现在比较流行的划分方法,这里按照用户是否可直接感知分为 QoE(Quality of Experience)与 Qos(Quality of Service)两个大的维度。


对于长视频产品,由于视频源一般为专业设备所拍摄,所以原始质量相对是非常高的,用户的槽点会集中在视频是否流畅,画质是否有瑕疵(花屏、马赛克),画质是否稳定(想像看视频时 480p 和 1080p 来回反复切换的状态);与长视频相比,由于视频内容多为用户普通终端拍摄,原始视频质量就会参差不齐了,需要借助算法提升质量,所以除了长视频的关注点外还需要关注清晰度等画质细节指标(特别说明一个常见的误区,清晰度不能等同于分辨率,高分辨率图像的清晰度未必比低分辨率高);互动直播和实时通话这种对时延敏感的产品,传输技术上一般是采用 UDP 或基于 UDP(如 Quic)的协议来进行,就容易产生音轨与视频轨不一致的问题,音画同步在这类场景下也一个很重要的质量指标。除此之外,音频下的杂音、破音、丢字、回声也都会严重影响用户体验的,一般产品都会进行 3A 处理模块,那么处理效果怎么样,也需要进行验证评估。(补充说明一下,音视频的 QoE 实际是一个相对复杂的范畴,我们只能从一些客观技术指标上进行评判。不同人群对于内容的喜好也会对 QoE 产生较大影响,这就更偏重于心理学问题了。)


除了用户体验之外,由于音视频的流量消耗、存储消耗与高 CPU 消耗的特点也决定我们要对这些通用性能指标进行关注。

音视频质量评估方法

音视频质量的测试,以开发角度来说,可以采取 LOG 埋点、虚拟机的方式来收集数据。但站在用户的角度,在集成测试阶段并不推崇这种方式,因为音视频业务对硬件的依赖可能会导致软件理论结果与产品现网实际表现存在较大差异。E2E 的验证更能有效说明产品质量。为了追求场景的无干扰性、模拟准确性、指标测量准确性,一致性。音视频实验室建立起一套相对完整的音视频测试能力体系。这些包括专业化实验室与商用设备。



也包括我们自研的一些方法,如《音画同步测试方法》,《视频卡顿测试方法》等。我这里对相关的指标的评估技术做一个简单的梳理:



作者介绍:


赵珺,腾讯音视频实验室高级工程师,曾参与 QQ 音视频通话、腾讯互动 SDK 等多个项目,在音视频产品质量评价体系建立和效率工程方面具有丰富经验。


2019-08-26 20:234364

评论

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

Linux系统-Makefile规则介绍、基本使用

DS小龙哥

Linux makefile 2月月更

浪潮云说丨上云迁移实践

云计算,

百度智能云开物再收“一个奖状”

百度开发者中心

工业互联网 百度智能云 百度智能云开物

AI+Science:基于飞桨的AlphaFold2,带你入门蛋白质结构预测

百度开发者中心

百度AI

一手实录!朱广权的AI手语搭档是怎样“养成”的?

百度开发者中心

百度智能云 百度AI

Linux系统编程-(pthread)线程通信(条件变量)

DS小龙哥

2月月更

会声会影如何制作视频影片-影片制作过程三步骤

懒得勤快

Linux系统编程-(pthread)线程通信(读写锁)

DS小龙哥

2月月更

Linux系统编程-(pthread)线程通信(互斥锁)

DS小龙哥

互斥锁 2月月更

AMD EPYC服务器芯片将涨价10%~30%

BeeWorks

抓到Netty一个Bug,顺带来透彻地聊一下Netty是如何高效接收网络连接的

bin的技术小屋

网络编程 中间件 netty 死磕 NIO Java【

从小样本学习出发,奔向星辰大海

百度开发者中心

百度云 百度 飞桨

全球案例 | 一家有着百年历史的航空公司如何扩展和转型,推动航空业创新

龙智—DevSecOps解决方案

Atlassian Jira 航空公司

DevOps进阶(一):DevOps 软件开发工艺解读

No Silver Bullet

DevOps 2月月更

资讯|WebRTC M97 更新

网易云信

WebRTC

如何将Perforce Helix Core与CI构建服务器结合使用

龙智—DevSecOps解决方案

ci 持续集成 持续交付 CD

浅谈AI机器学习及实践总结 | 社区征文

张浩_house

机器学习 数据工程 机器学习算法 新春征文

某 E-Office v9 任意文件上传【漏洞复现实战】

H

网络安全 漏洞

Linux系统编程-(pthread)线程通信(围栏机制)

DS小龙哥

2月月更 围栏机制

像搭积木一样定制系统,这家公司正瞄准数据库做增值服务

SphereEx

2021 年软件安全报告:代码开源,福“祸”相依?

腾源会

开源 安全

实战领域驱动设计开篇

worry

领域驱动设计 DDD 领域驱动 Domain Driven Design

IAST 最佳实践 | 利用洞态做开源组件的安全治理

火线安全

百度AICA再添57位“首席AI架构师”,人工智能与产业场景结合愈发深入

百度开发者中心

飞桨 百度AI

加入科学计算SIG,挑战最前沿的AI+Science研发与创新

百度开发者中心

百度AI

网络安全kali渗透学习 web渗透入门 如何进行基于ping命令的探测

学神来啦

GIF 格式解析之表情包是如何动起来的

CRMEB

Linux系统编程-(pthread)线程创建与使用

DS小龙哥

线程 2月月更

成为第一没有捷径:AI新势力MindSpore成长秘籍 | 源创者说 专访胡晓曼

科技热闻

误删D盘数据怎么办?推荐使用数据恢复软件EasyRecovery

淋雨

数据恢复 EasyRecovery

对话 SphereEx 创始人张亮:开源与商业并行 做时间越久越有价值的事情

SphereEx

音视频质量评估绿皮书_大前端_赵珺_InfoQ精选文章