开发者学堂课程【高校精品课-华中科技大学 -智能媒体计算:多媒体通信的服务质量】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/811/detail/15715
多媒体通信的服务质量
内容介绍:
一、多媒体通信的服务质量(Qos)
二、速率控制和缓冲区域管理
本次课的主要内容是多媒体通信的服务质量,服务质量叫 QOS,就是 quality of service。
一、多媒体通信的服务质量(Qos)
多媒体网络通信相对于其传统的其他的像文件传输,它有自己的特点,传统的计算机网络通信其实要比多媒体要容易,因此多媒体通信的它挑战性更强,主要是包括以下几点。
(1)多媒体的数据量大,而且是连续传输,比如看视频,不是看一眼就不看了,可能要连续看很长时间。数据的传输也要连续性。
(2)实时性和交互性。实时性,不是拨一下停一下,包括视频电话,语音电话,需要说完就能够进行反馈。交互性,比如打电话,做游戏等等,包括视频电话及聊天,交互性和实时性要求都很高,比如发一个 message 结果半天不回复,发个图片很久不回复,这都影响了使用体验。
(3)速率的波动性很大。它不是一个恒定的速率,比如以一部IPAD4的视频为例,下图是它的速率的波动。它的平均速率是一兆,它最低可能300K,但是最高可能要2600K,整个速率忽高忽低。
服务质量
如何去适应它来保证整个的质量?服务质量,主要受这样几个因素的影响。
(1)带宽。如果带宽小于整个速率的话,也就是说不能在满足速率,不能实时的观看或者收听相应的多媒体的内容,因此带宽首先是要保障的。还有带宽的质量也不能忽高忽低,现在家庭网络里,无论是哪个运营商的,声称50兆或者是100兆。用户自己用的时候,没有真的到达,其实50兆或者是100兆是指峰值速度,就是接入设备具有这样的能力。但是整个互联网有不同的路由段,不同的线路,从一个原地址到一个目的地址,要经过很多段网络,速率最窄的段其实是影响服务质量最重要的一部分。
(2)另外就是延迟。打电话传了很久才传过去,这就是延迟太久影响了服务质量。
(3)包丢失或者错误。也就说本来视频发过去了,结果传输过程中丢掉了。或者语音整个的意思都变了。
(4)抖动。忽好忽坏,比如视频质量一块好一块坏,语音也是同理。
(5)同步的偏移,视频语音和图像是同步的,结果传过来的时候错位了,就像说话的时候的嘴型。和听到的不一样,用户的感受也是很差的,严重影响了服务质量。
而这些都要保证的话,还是有一定难度的,早期的互联网受限于带宽等等一系列因素,多媒体的实时传输是不可能。最近十年应该说是发展最快速,用的最好的,现在的微信电话像的各种会议系统,可以保证非常好的质量。
3.多媒体服务等级
不同多媒体应用具有不同 QOS 要求。比如电话速率16K 就可以,音频会议32K,CD这种质量的这种音频数据量就大,以此类推,视频不同质量,从 mpeg-1到高清视频数据量逐渐增大,视频会议比看多媒体,看片子,看 vod 要更难,它有一个很强的交互性,开会,不同领导发言,除了传画面之外,还要保证交互之间的质量,实际上,不仅能够要保证它的同步,还要保证实时性。
4.多媒体服务等级例子
多媒体服务的服务等级,举几个例子,比如语音和视频电话是双向通信的。那么低延迟,低抖动是他的要求,还有具有优先交付的需求。希望数据包到那,应该先把包转发掉,因为要求实时性高。
第二个,网络浏览和在线游戏,网络浏览要容易一点,但在线游戏适当的延迟和抖动浏览是没问题的,严格的排序和同步在游戏里面是肯定的,双向互动流互动要保证,游戏互动性很强,在网络的那一端是是认识的好朋友或者不认识的人,跟人之间的一个通过虚拟线路连接,因此它的交互性要很好。
还有一个就下载或者是传输大文件,它就不需要实时了,比如BT下载等,无传输保证,所以说像这种可以在后半夜不管它,让它去下载。
5.用户感知服务质量
像语音,视频,电话都是同时就要求数据的高质量的传输,那么不同的应用,有一个叫用户感知的质量,前面讲带宽,抖动延迟,丢包,同步是一些技术参数,而真正影响服务质量的还有一个就是感知的服务质量。
(1)多媒体的 Qos 与用户感知密切相关。用户感知服务质量就是用户如何感知,对哪些敏感很重要,分析这些感知,要优先的保障用户感知敏感的。
(2)利用感知问题实现网络多媒体最佳 Qos。
规律性的错误或者是低质量比延迟显得更重要。对人的感觉来讲,抖动和质量的波动比长时间等待更让人讨厌,视频时好时坏,一会卡一会不卡,还不如长时间等待,一开始播放的时候等几分等几分钟,一旦过了这几分钟之后连续的播放,是可以忍受的。不能忍受的是一开始播了几分钟停了,再过几秒钟又停了,如果是这样的服务的,很快就被用户中断掉。
视频的同顺序和同步比质量更重要。可以质量图像的分辨率低一点,但是顺序不能搞错。说这句话的时候出的画面是另外一个,这种用户的感受是受不了的。
还有一个就是同一时间,人们往往集中在一个主题上,如果是多个主题的话,就要区分哪个主题更重要,资源有限的情况下,把用户感兴趣主题优先保障好。
在画面上,用户通常对于屏幕中间画面更关注,意思就是说,如果带宽不够,应该把图像分块以后,中间区域应该高质量,四周可以质量低一点。这不影响或者在感觉上影响会小一点。
6.传统的 IP 是一个只提供尽力而为的服务,不区分应用程序,在庞大的互联网里面,很难保证每个程序的 qos。为了避免这种尽力而为的情况,保证QoS有两个办法。
(1)一个叫综合服务,intserv,就是细力度的为每个流指定元素来保证服务,每个路由器实现intserv ,每个程序都要单独预定。它用的协议叫资源预留协议RSVP,作为底层的实现机制,使用起来相对复杂。
(2)第二个叫做差分服务,differserv,相对简单可靠,它是一个粗力度的,基于分类机制的,通过把流分成若干类不同的类别,给予不同的服务质量的保证。实现起来比每一个应用程序,都去预留这种预定这样的服务要简单的多。
7. 综合服务
intserv 里边 RSVP,由接收方发起,RSVP 只创建软状态,比如下图,S1要发送到 R1 R2 R3,那么他会把路径指定出来了,么接收方就分别要发送你的预定的相关服务,消息给每个路由器,R1发一个回去,R2再发一个回去,R3发一个回去,要提前做好。
8.差分服务
(1)差分服务是基于流量的聚合和分类的原理,
(2)如何操作?就是它定义了一类流量的分类与流量分类相关的分组转发的属性,由网络层的路由器来实现逐跳的转化 PHB。
(3)通过定义不同的 PHB,就为不同的多媒体数据提供不同的服务。举个例子,比如对于非压缩的音频,音频位流根据优先级可以分割,包含 N 个样本的组,并且发送N组中的 K 组。如果需要,则要求接收方再插入缺失的组,就是先分了优先级。对于jpeg 图像,尤其是渐进式的 jpeg 不同扫描和分层的 jpeg,不同的分辨率可以提供不同的服务质量。
怎么解释?压缩的时候 DC 系数就是直流分量很重要,还有交流分量 AC 的前几个很重要,DC 和抓住了图像的主要的元素,而前几个 ac 如果保证了,整个图像的大部分的内容就都保留了,因此像这样的数据应该优先保证最佳的服务,剩下 ac 的系数网络允许再保证它,网络不允许先保证参数,最起码 DC 保住。
对于压缩的视频流为了减少播放的延迟和抖动,为帧的接收要进行分类,比如说M派的图像里面,有 I 帧,B 帧和 P 帧,应该优先保证,I 帧,B 帧是优先级最低的,I帧是帧内图,它不依赖于其他的图,如果 I 帧如果缺失,B 帧就不能够解压缩出来。图像就会出现马赛克,(4)、相比于综合服务,差分服务的细节控制,会更简单,使用起来更方便,在实际应用里差分服务服务质量的保证方式广泛使用。
二、速率控制和缓冲区域管理
1.使用缓冲区的原因
缓冲区在整个的多媒体应用里面起了非常重要的作用,为什么要使用缓冲区?主要是速率的问题和服务质量保证的问题。
(1)综合服务和差分服务使用有限。由于速率的变化,使得服务质量的这两类服务都难以保证多媒体的服务质量。
(2)速率的变化有两种,一种是恒定的,希望速度保持不变。但实际上全是速率是可变的,原因有两种,一种数据源本身,拍视频压缩之后,它有的地方很低,有的地方又很高,实时的在在波动。还有网络本身,它的路况也就是整个传输带宽,根据不同的负载和用户数,也在波动。就好比马路上的汽车,开车的人很难保证每辆车的速度一样,同时路也是,有的时候拥挤,有的时候会流畅,速率在不断的变化,服务质量很难保证,而用户又希望看到的视频,听到的音频都是实时稳定的、高质量的,这个时候只有一个办法,就通过缓冲区来把速率的波动给弥补了。
2.缓冲区
使用缓冲区策略来应对波动以及可变位率。就是把所谓的缓冲区,就是提前把有些数据存到终端上来。下图是一个速率变化,
当传输的带宽比速率低的时候,有些数据接收不到,服务质量就下降了,这时候就应该把多余的低的部分,提前放到缓冲区里面,当带宽低的时候,就从缓冲区里面去读数据。
关于缓冲区怎么去管理,后面会有专门的一节课去讲,这节课记住,速率的波动,是通过缓冲策略保证的,就类似于要到某一个地方去参加会议,指定了时间,怎么样才能保证按时到达,因为不知道路上的情况,但是以通过统计的数据知道在特定时间段会堵车,就要提前出发,早点走来弥补的速率的变化,如果不堵车的话,可以晚一点走,早走晚走就类似于缓冲区,早走多长时间,要根据当时的路况,也说缓冲区到底缓冲多少数据是根据整个网络传输的情况来确定的。