11.1 多媒体系统简介

1.多媒体的概念

媒体是指信息的载体,客观世界中存在着各种各样不同形式的媒体,如数字、文字、声音、图像和图形等。在计算机领域,多媒体往往是指多媒体技术,即是同时对多种媒体信息进行获取、处理、编辑、存储和展示的理论、技术、设备、标准等规范的总称。

2.多媒体系统的特点

与传统计算机系统相比,多媒体系统具有以下特点:
(1)多样性和集成性。一个多媒体文件中集成了多种媒体文件,如存放一部数字电影的多媒体文件通常包含- -个视频文件,以及对应于多种语言的多个音频文件和多个字幕文本文件,在播放时,需要将视频文件,以及用户选择的音频文件和字幕文件同时播出,而且还应该保持每个子文件之间的同步。
(2)极高的数据率。为了保证有好的视觉和听觉感受,视频和音频都必须具有很高的数据率,相应地,在计算机中储存这些数据需要非常大的存储空间。
(3)实时性。多媒体数据需要实时地传输和处理,才能保证多媒体文件的播放质量。
(4)交互性。多媒体系统具有人一机交互功能,人可以通过键盘、鼠标、触摸屏等人机交互设备控制各种媒体的播放,主动地选择和接收信息。

3.多媒体操作系统

多媒体计算机中所配置的多媒体操作系统,除了具备常规操作系统的功能外,还需要提供针对多媒体环境下任务的调度和管理、文件管理、存储管理、网络及通信的机制和管理、与用户及程序的接口等功能,以满足对多媒体数据处理的需要。

4.多媒体数据压缩

由于多媒体具有极高的数据率,对多媒体文件进行大幅度的压缩,可大大减少存储所占用的空间以及网络传输所需要的时间。在被访问前,被压缩的数据还必须解压缩,而且,压缩算法与解压缩算法间允许存在一定的不对称性。
(1)静止图像的压缩标准。静止图像压缩的国际标准为JPEG(Joint Photographic Experts
Group,联合图像专家小组),它支持多种压缩级别,通常可获得到20: 1或更好的压缩效果。在运动图像的压缩标准MPEG中,也仍然需要利用JPEG先对每一帧图像进行 压缩。
(2)运动图像的压缩标准。运动图像压缩的国际标准为MPEG(Motion Picture Experts Group,运动图像专家小组)。用MPEG压缩后的文件由I帧和P帧组成,其中I帧是利用JPEG对视频中的某个帧进行静止图像的压缩后形成的,它通常每秒至少在视频中出现一到两次;而P帧只需记录与前一帧的差值,因此可大大减少数据量,获得更高的压缩比。
(3)音频压缩标准。最常用的音频压缩标准是有3个独立压缩层次的MPEG音频压缩算法,其中MP3(MPEG音频层3)是功能最强大,也是目前最流行的。

11.2 多媒体的接纳控制和实时调度

1.软实时任务的接纳控制

为了保证服务质量,多媒体系统经常使用接纳控制,当一软实时任务SRT进入系统时,只有当系统有足够的资源来满足它时,系统才接纳该任务。
(1) SRT任务带宽和尽力而为任务带宽。为了能确保SRT任务的实时性,并适当考虑非实时任务的运行,多媒体系统仅将一部分 CPU时间分配给软实时任务,其余的CPU时间则留给非实时任务,这就是所谓的.SRT任务带宽和尽力而为任务带宽。如果SRT任务被接纳了,它将获得(分配到)一部分SRT任务带宽,进程管理便会尽可能地保证其实时性;若SRT任务未能被接纳,系统则有可能将它分配到尽力而为任务带宽中运行,此时系统只是尽可能地让它得到运行的机会,但不做任何保证。
(2) CPU代理进程和接纳控制。进程的接纳控制由CPU代理进程完成。SRT任务在进入系统时,必需向CPU代理给定其定时服务质量参数,其中包含SRT任务的运行周期(p)、每一周期中的运行时间(t)和CPU占有率(u)等。当CPU代理收到请求后,根据一定的接纳策略计算,确定是否可以接纳该任务:如果在接纳后不仅能够保证它所要求的截止时间需求,而且还不会影响到原有SRT任务的运行,则CPU代理便可以接纳该进程,为它预留足够的CPU带宽和其他资源,并将它插入进程就绪队列中等待调度:否则,CPU 代理将拒绝接纳。

2.多媒体实时调度

常用的多媒体实时调度算法有以下几种:
(1)最简单的实时调度方法。在多媒体服务器中,假定所要播放的电影都具有相同的类型,如都采用相同的制式、分辨率和压缩比,那么,为这些电影所建立的各个进程将具有相同的周期和处理时间,此时,可采用最简单的实时调度算法,将这些进程按FCFS原则,排成一个进程就绪队列,并采用定时轮转的策略来调度和运行它们。不幸的是,这种调度算法很难满足实际需要,因为,现实中上述假设很难成立。
(2)速率单调调度RMS(Rate Monotonic Scheduling)算法。RMS算法适用于周期性实时任务,是一种可抢占的静态优先权优先算法。它要求系统中的进程满足下列条件:
①在系统中允许同时存在周期性进程和非周期性进程,所有周期性任务具有固定的周期;
②所有的进程之间相互独立,互不依赖: 
③每个周期性进程在一个周期中,所需完成的工作量是相同的;
④非周期性进程无最终时限的限制。
RMS算法中,周期性进程的优先权等于进程的运行频(速)率,周期越短的进程,运行频率越高,其优先权也越高;而非周期性进程被赋予的优先权低于周期性进程,仅在无周期性实时任务时运行。
(3)最早截止时间优先EDF算法。第三章介绍过的EDF算法也经常被用在多媒体实时任务的调度中,与RMS相比,它不要求实时任务是周期性的,并且比RMS算法有更好的CPU利用率,但由于EDF算法使用的是动态优先权,算法的复杂度比RMS算法会更.高一些。

11.3 多媒体存储器的分配方式

1.交叉连续存放方式
多媒体文件通常会被顺序访问,而连续分配方式可大大减少顺序访问时寻道的时间,有效地提高访问的效率。对于由一一个视频、多个音频和多个字幕子文件组成的多媒体文件,即使这些子文件各自都是连续文件,但如果这些子文件之间未连续存储,在传输一帧信息时,仍需要从视频文件跳到音频文件,再从音频文件跳到字幕文件的多次寻道。为了减少上述寻道时间,可采用如图11.1所示的按帧交叉连续存放的方式:首先存放第一帧的视频数据,紧接着存放第一-帧中的各种音频数据,再接着存放它的多个文本数据:然后是第二帧的视频、音频、文本数.....这种方式的缺点是,每次读出的数据中,也包含了用户不需要的音频和文本,这不仅增加了磁盘I/O的负担,也占用了更多的内存缓冲区;此外,由于帧的大小不一,交叉连续存放方式无法实现随机访问、快进和快退等功能。

2.索引存放方式

为了克服交叉连续存放方式的缺点,又引入了下列两种索引存放方式:
(1)帧索引存放方式。帧索引存放方式又称为小盘块法,其中选定的磁盘块的大小远小于帧的大小。采用帧索引方式存放多媒体文件时,将为每个帧分配若千个连续的磁盘块,用来存放帧所对应的视频、音频和文本信息;然后还需为每个多媒体文件建立一个帧索引表,文件中的每个帧占索引表中的一个表项,用来记录帧对应的磁盘空间的首地址和盘块数。图11.2(a)给出了小盘块法的示意图。
(2)块索引存放方式。块索引存放方式又称为大盘块法,其中选定的磁盘块的大小远大于一个帧的大小,因此,一个盘块上可以存放多个帧。采用块索引存放方式时,将为每个多媒体文件配置一个块索引表,索引表中的每个表项对应于文件的-一个逻辑块, 用来记录该块对应的磁盘块块号,块中第一个帧的帧号和该块中所存放的帧的个数。大盘块法如图11-2(b)所示。

显然,块索引方式的磁盘空间管理要比帧索引方式简单,索引表所占空间要比帧索引方式小,但其磁盘块碎片要比帧索引方式大,磁盘缓冲管理要比帧索引方式复杂。帧索引方式能很好地支持随机存取,块索引方式虽然也支持随机存取,但因为它需要通过块索引表搜索随机存取的帧位于哪个块中,实现起来比帧索引方式复杂。另外,块索引方式不支持快进快退功能,帧索引存放方式则可以支持效果一般的快进快退功能。

3.近似视频点播的文件存放

采用近似视频点播方式的视频服务器,每隔-定时间开始一次电影的播放。 例如,从晚上8点开始第1次播出,到8:05分开始第2次播出,8:10 分点开始第3次播出,....如果某用户想在8:08分看该电影,那他只须等2分钟,到8:10分时便可看到。如图11.3所示,对于一部点播量非常大的NTSC制式(每秒30帧)热门电影,如果电影长度为两小时,则只需要24个数据流(每5分钟-一个), 就能满足所有用户的需要,比普通的点播方式要大大节约系统资源。

如图11.4所示,在采用近似视点播时,可将在同- -时间播放的帧依次放在一起, 作为一个记录写入磁盘。如上例中的帧0,9000, 18000, 27000, .... 207000, 共24个帧;然后是帧1, 9001, 18001, 27001, .... 207001; .... 在播放时,同时播放的帧可以一起读出,能有效减少寻道时间,提高系统效率。

4.多部电影的存储方法

1)单个磁盘的情况
现在来考虑一个磁盘存储多部电影的情况。通常,根据每一部电影的流行程度, 其点击率是不同的,考虑到这个情况,可将多部电影按管风琴算法储存在磁盘上,即:将第1流行的电影存储在磁盘的中央,第2、3流行的电影存储在第1流行的电影的两边,第4、5流行的电影又存储在第2、3流行的电影的外面两边,如图11.5 所示。该算法尽可能把磁头保持在磁盘的中央,以减少平均寻道的时间,实践证明它的确能取得较好的效果。

2)多个磁盘情况
通常,视频服务器会采用多个磁盘来储存多部电影。例如,某个利用四个磁盘来存放A、B、C、D四部电影的系统,可按图11.6(a)的方式,将每部电影分别存放在不同的磁盘上,这种方式的缺点是,各个磁盘上的负荷与电影的流行程度有关,可能会很不均衡。第二种方式如图11.6(b)所示,它将一部电影 按帧或按块分为若千个条带,再将这些条带分别存入多个磁盘中,因此可以在所有的磁盘间分散负荷,从而更好地利用总的磁盘带宽,但由于每部电影都是从头开始,故该方式可能会引起磁盘1的负荷增加。进-步的改进是采取交叉存放方式,即将每一部电影的起始部分放入不同的盘中,如图11.6(c)所示。第四种存放方式是采取随机存放,如图11.6(d)所示。

11.4 多媒体磁盘调度

1.静态磁盘调度

假如视频服务器中仅有一个磁盘,有10个用户在观看不同的电影,而这些电影又具有相同的帧频、分辨率,这时,系统可以为每一部电影建立一个进程,在进程调度时可采用轮转方式。首先让第一个进程运行,当它运行完后调度第二个进程运行,直至最后一个进程运行完毕。这里的关键问题是,所有进程运行- -次的时间应小于每帧之间的时间间隔,对于NTSC制式,该时间间隔为33.3 ms;对于PAL制式,该时间间隔为40 ms。
对上述情况,每一轮的磁盘请求个数是固定的,可采用按磁道顺序排序的静态磁盘调度算法,即将每轮的所有磁盘请求按磁道号进行排序,并以此顺序对它们进行处理。这样的优化,可以大大减少平均寻道时间,从而使得视频服务器可以同时传送更多的电影,或者有更多的剩余时间处理非实时任务。

2.动态磁盘调度

当用户所看的多部电影不具有相同的帧频、分辨率时,所播放的电影对磁盘的请求会带有一定的随机性。此时,一可采用SCAN-EDF算法来进行磁盘调度,它将多个截止时间相近的磁盘请求,放在一个组中,由此可以形成若千个组,在每一个组中再按照SCAN算法进行调度。组可以按请求的个数,例如10个请求为一组来划分;也可以按截止时间的时间段来划分,如隔100ms为-组。SCAN算法能有效降低平均寻道时间,但有可能错过最终时限; EDF算法则满足了最终时限,但又会增加总寻道时间: SCAN-EDF算法将SACN和EDF结合起来,既能基本上满足实时性要求,又可获得较好的性能。

【操作系统】知识梳理(十一)多媒体操作系统相关推荐

  1. 2021的最新操作系统知识梳理,建议收藏!

    推荐阅读: 这套Github上40K+star学习笔记,可以帮你搞定95%以上的Java面试 毫不夸张的说,这份SpringBoot学习指南能解决你遇到的98%的问题 给跪了!这套万人期待的 SQL ...

  2. 计算机操作系统知识梳理

    1.进程和线程以及它们的区别 (1)进程是对运行时程序的封装,是系统进行资源调度和分配的基本单位,实现操作系统的并发. (2)线程是进程的子任务,是CPU调度和分派的基本单位,用于保证程序的实时性,实 ...

  3. 操作系统——(11)多媒体操作系统

    一.多媒体系统 1.多媒体的概念 超文本:是一种文本信息的组织方式,文本按照其内部信息的逻辑独立性及相关性,被划分为多个不同大小的信息,快将这些信息快作为不同的结点,通过结点之间的链接,组织成一种非线 ...

  4. 操作系统期末复习知识梳理

    操作系统知识梳理 ​                                              copyright © 2020 by 宇智波Akali 文章目录 第一章 引论 第二章 ...

  5. 在学RTX之前的操作系统知识

    RTX学习之路 --在学RTX之前的操作系统知识 每当一提起操作系统这个词,脑子里立即浮现的是Windows, Linux,还有就是DOS, DOS系统在上学的时候偶尔用过,但那时候流行的是Windo ...

  6. 西安电子科大版《计算机操作系统》第四版共读——第十一章 多媒体操作系统

    面对着较大的多媒体文件,怎么样将文件保存好,较快的快递给用户,是多媒体操作系统需要解决的问题,当前,并没有专门的转媒体操作系统,都是在现有的操作系统中添加了相应的多媒体处理的功能,适应当前多媒体快速发 ...

  7. 操作系统:万字长文,重点知识梳理:具体md文档我放在了资源里

    分两大部分(基本概念及原理,综合应用) 第一章:绪论 操作系统定义及功能 操作系统的定义: 操作系统是计算机中的一个系统软件 它统一管理着计算机的软硬件资源和控制程序的执行 提供人机交互的接口和界面 ...

  8. 软件设计师-操作系统知识

    1.操作系统知识: 1.1基本概述 操作系统是一个大型的软件系统,是为了提高计算机系统资源(硬件和软件资源)的利用效率并方便用户使用的一组程序,这些程序可以用软件实现,也可以用固件(微程序设计)实现. ...

  9. 多媒体操作系统──BeOS

    多媒体操作系统──BeOS 寒青石 编者按:从这一期开始,我们将原来B7版的"Linnx园地"改为现在B9版的"另类空间".今后,我们将在本版面向大家介绍一 ...

  10. 20972多媒体操作系统

    多媒体操作系统 11.1  多媒体系统简介 随着多媒体技术的发展,在传统OS中也相应增加了许多能处理音频和视频信息的多媒体功能.现在流行的操作系统,如Linux. Windows 系列等,就已具有多媒 ...

最新文章

  1. RN中布局样式的写法
  2. GalHttprequest类库简介——android平台上的一个轻量级的http网络请求及缓存框架
  3. UML关系(泛化,实现,依赖,关联(聚合,组合))
  4. Ruby中求50之内的素数方法
  5. 支持Dubbo接口文档生成的工具!
  6. 将文本计算机应用能力的样式设置为标题1,计算机应用基础期末考试试题
  7. 一步搞清楚多态与类初始化的底层原理
  8. python函数和方法概念_第48p,什么是函数?,Python中函数的定义
  9. JAVA中用于处理字符串的 三兄弟
  10. 学python能做什么类型的工作-学点Python,让你的求职简历更有含金量!
  11. python找到二维数据矩阵中的最大最小值直接使用min、max函数
  12. 第一课 GoC简介和演示
  13. Matlab中imnoise函数的用法
  14. 计算机网络期中考试题周静,zj474~093期中考试反思
  15. struct tm 和 time_t 时间和日期的使用方法
  16. 一些 金融知识 小结
  17. 这有几个常见的电脑故障解决方法,需要的朋友快来
  18. 【Python软件和第三方库国内地址】
  19. 生活,又怎能鱼和熊掌兼得?
  20. unity农场游戏Farm Business Version 2

热门文章

  1. 我们公司没销售 - 疫情下企业软件的互联网营销
  2. 俱乐部/会所/协会在短信平台应用指南
  3. C# 利用 OleDb 组件操作 Excel 进行文件读写操作
  4. 微信公众号无服务器 外部链接,新技能Get丨微信公众号如何插入外部链接?
  5. C++内部链接与外部链接
  6. 做uni-app时,遇到后台返回base64码,将base64码转为图片,但是图片没有显示出来的解决方法
  7. HTML+CSS+JS 01篇
  8. 从《三体》中的“降维打击”看网络世界,论维度升级的方法与实践
  9. java exe 程序
  10. Apache RocketMQ 在阿里云大规模商业化实践之路