自适应流媒体传输(五)——正确认识码率切换

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/nonmarking/article/details/86351147

这是本系列的第五篇文章
前四篇文章的链接如下:
自适应流媒体传输(一)——DASH媒体内容的生成
自适应流媒体传输(二)——为什么要使用fragmented MP4
自适应流媒体传输(三)——和TS格式说再见
自适应流媒体传输(四)——深入理解MPD

在前面几篇文章中,一直都没有涉及到自适应流媒体传输的本质:码率切换,是因为我默认阅读本系列文章的读者都已经对自适应流媒体传输有一个基本的认知,而且就码率切换的逻辑来说,理论上很好理解,但是真要深入挖掘的话,还是要看一些代码的实现,以后在另外的文章中再进行详细的代码分析。在这篇文章中,我们来探讨几个问题:什么时候需要进行码率切换,码率切换的幅度应该怎么设计,以及码率切换会对观众的感知有什么影响。相信大家看完之后会对码率切换有一个更加正确的认识。


首先我们来设计一个简单的主观评价实验。

选择几个经典的测试视频,他们具有不同的时间复杂度(运动是否剧烈)和空间复杂度(画面内容是否复杂)。

视频截图 视频内容以及特点
在这里插入图片描述 鸭子从湖面飞起,时间复杂度低,空间复杂度高
在这里插入图片描述 一群人在河边奔跑,时间复杂度高,空间复杂度高
在这里插入图片描述 航拍小镇,时间复杂度低,空间复杂度低
在这里插入图片描述 一群人在跑步,时间复杂度高,空间复杂度低

然后来模拟自适应流媒体传输中的码率切换:将两段同一内容且时长均为5秒但是码率不同的测试视频拼接在一起,即每一个10秒的测试视频中码率都会发生变化。同时,设置三个变量:起始码率、码率变化幅度和码率切换的方向(即码率上升或下降)。举个简单的例子,可以设计成下面这样

分辨率 切换方向 起始码率(kbps) 切换幅度(kbps)
1280x720 上升 1500,2500,3500,4500,5500 2500,2000,1500,1000,500
1280x720 下降 5000,4500,4000,3500,3000 2500,2000,1500,1000,500

接下来找一些观众,让他们实地观看这些测试视频,并进行打分,设置一个打分区间,比如1-5,5表示观感最好,1表示观感最差。记录评分。然后我们就可以分析结果了。

其实以上是对如何设计一个单激励主观评价实验的通俗解释==


以我得到的结果为例,可以总结出以下的结论

  • 码率上升幅度相同时,随着初始码率的升高,上升带来的主观感受提升趋于减少,这是因为起始码率越高,本来给观看者带来的主观感受就越好,已经趋于感知极限,再提升码率也不会对主观感知有太大的提高。如下图所示。纵轴即为主观感知评分。
    在这里插入图片描述

  • 人眼对于低空间复杂度、低时间复杂度的视频的码率变化感知不敏感,表现为对应测试视频的主观打分变化趋势非常平缓,无论是起始码率的变化和码率幅度的变化都不能对主观分数有太大的影响,如下图所示
    在这里插入图片描述

  • 对于大部分低分辨率视频,在同样的码率变化幅度下,主观感受和起始码率表现出了明显的线性相关关系;而具有高空间复杂度、高时间复杂度的测试视频在起始码率升高时,主观分数的上升变缓慢,甚至在起始码率上升至最高时主观分数出现了下降,表现出一种趋近于对数的关系。这说明在低分辨率环境下,人眼对于细节较为精致的图像的感知有限,码率的大幅上升对于人眼的感知并没有起到太大的帮助,如下图所示
    在这里插入图片描述

  • 码率下降幅度相同时,随着初始码率的升高,下降带来的主观感受削弱趋于减少,这是因为当起始码率越高时,本来的主观感受就越好,已经趋于感知极限,再减小一些码率也不会有太明显的削弱。但当起始码率较低时,人眼对画面的感知较为敏感,此时如果再进一步降低码率,很容易被人眼所感知。如下图所示:
    在这里插入图片描述

  • 随着切换幅度的增加,码率下降所带来的主观感受下降越来越明显,但是依然会看到,如果初始码率足够高的话,码率上升和码率下降带来的主观感受基本不差多少。对于低空间复杂度、低时间复杂度的序列,虽然码率的下降比码率的上升带来的影响要明显,但分数的总体分布区间仍然较小。这可以说明,人眼对于码率的下降比码率的上升要敏感,而起始码率的大小仍是这一条件的前提。如下图所示:
    在这里插入图片描述


由以上的分析,我们可以得出下面的结论,以及对自适应流媒体传输业务的相应优化策略:

  1. 当码率上升幅度一定时,随着初始码率的提高,码率上升带来的主观感受提升趋于减少,所以当客户端当前播放码率高到一定程度后,尽管网络环境变得更好,也不需要再提升码率级别;服务器端同样不需要编码过高码率的视频,节约服务器资源。
  2. 当码率下降幅度一定时,随着初始码率的升高,码率下降带来的主观感受削弱趋于减少,所以一方面服务器端存储的高码率视频的码率级别可以减少,低码率视频的码率级别可以增加;另一方面客户端在当前视频码率已经很低的时候,要尽量避免码率下降。
  3. 人眼对于低时间复杂度、高空间复杂度的画面最为敏感,对于低时间复杂度、低空间复杂度的画面最不敏感。对于不敏感的视频,无论是起始码率的变化和码率幅度的变化都不能对主观感知有太大的影响;所以当客户端当前播放的视频是不敏感的视频时,可以更少地进行码率提升操作,节约带宽资源,服务器端对于此类资源也可以不用编出太多的码率级别,节约服务器资源;在低分辨率环境下,人眼对于细节较为精致同时运动剧烈(高空间复杂度、高时间复杂度)的图像的感知有限,码率的大幅上升对于人眼的感知并没有起到太大的帮助;所以当客户端播放此类视频时,也可以减少码率提升操作,服务器端对于此类视频也不用在高码率区间存储太多码率级别。

以上就是本文的全部内容,可以看到,尽管自适应流媒体传输系统的特点是可以依据网络带宽的变化动态切换客户端播放的媒体质量,但是过于频繁的质量级别切换或幅度过大的质量级别切换无疑都会影响主观感知体验,设计合理的码率切换算法,不仅能提升用户体验,更能节省服务端资源。


关注公众号,掌握更多多媒体领域知识与资讯
在这里插入图片描述

文章帮到你了?可以扫描如下二维码进行打赏,打赏多少您随意~
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/nonmarking/article/details/86351147
今日推荐