现代操作系统之多媒体操作系统(上)

多媒体简介

两种可能对视频点播基础设施,每种都包含三个基本的组件:一个或多个视频服务器,一个分布式网络以及一个在每个放假中用来对信号进行解码对机顶盒。

系统对最后一部分是机顶盒,这是ADSL或电视电缆中介对地方,机顶盒实际上就是普通的计算机,只不过其中包含特殊的芯片和用户视频解码和解压缩。机顶盒最少要包含CPU,RAM,ROM与ADSl或电视电缆的接口,以及用户跟电视机连接的端子。

多媒体具有两个重要的特征:
  1. 极高的数据率
  2. 要求实时回放
多媒体需要的数据率越高,则月需要进行压缩,并且需要的存储量就越大。

多媒体对系统提出的第二个要求是需要实时数据传输,帧必须分别以特定的精确时间间隔传输,否则电影看起来将会有起伏。

传输率的变动称为颤动。

让人可以接收地回放多媒体所要求的实时性通常通过服务质量来描述,这些参数包括可用平均带宽,可用峰值带宽,最小和最大延迟(两者一起限制来颤动)以及位丢失概率。

多媒体服务器需要有资源预留方案和进入控制算法,以判定什么时候能够处理更多的任务。


多媒体文件

数字电影实际上可能由多个文件组成——一个视频文件,多个音频文件以及多个包含各种语言字母的文本文件。DVD能够存放之多32种语言的字幕文件。

有两种管理文件方法——一种是传统方法,但需要一个新的数据结构列出多媒体文件但全部子文件。另一种则是创造一种二维的i节点,使每一列列出每个子文件的全部块。

在各种情况下,海必须有保持子文件同步的某种方法,这样才能保证当选中的音频轨迹回放时与视频保持同步

视频编码

增加帧率的稀缺就会对稀缺对宽带提出更多的要求,因此要采取不同的方法。这一方法不是按顺序扫描,而是先扫描奇数扫描线,再扫描偶数扫描线。这一技术被称为隔行扫描,而其它的称为逐行扫描。

彩色视频采用三个同时运动的电子束而不是一个来显示图像,不过为了在同一个信道上进行传输,是那个彩色信号必须组成一个复合信号。

为了使黑白接收机可以显示传输的彩色节目。将RGB信号线性组成一个亮度信号和两个色度信号。人眼对亮度信号比对色度信号敏感对多,古色度信号不必特别精确。

数字视频最简单对表示方法是帧对序列,每一帧由呈矩形栅格对图像要素即像素组成。对于彩色视频,美衣像素RGB三色对每种颜色用8个二进制位来表示。

由于高质量对计算机显示器每秒扫描屏幕75次或更多,隔行扫描是不必要的。仅仅连续刷新相同的帧就可以消除闪烁。

运动的平滑性是由每秒不同的图像数决定的,而闪烁则是由每秒刷新屏幕的次数决定的,两个参数并不同。

隔行扫描对于广播方式的电视而言是需要的,但是对于数字视频不重要。

音频编码

音频波可以通过模数转换器转换成数字形式。
由于每一样本的位数有限引入的误差称为量化噪声。如果量化的噪声太大,耳朵就会感觉到。

事实上,所有专业的声音记录和编辑系统如今都是数字化的,模拟方式基本上过时来。


视频压缩

压缩系统需要编码和解码两个算法。
这些算法具有某些不对称性。
当解码输出不育原始输入严格相等时,系统被称为是有损的。所有用于多媒体的压缩系统都是有损的,因为这样可以获得更好的压缩效果。


JPEG标准

用JPEG对衣服图像进行编码的第一步块预制。

JPEG十分复杂,但是通常可以获得20:1或更好的压缩效果。JPEG大体上是对称的,解码一幅图像话费的时间与编码基本相同。


MPEG标准

互相连续的帧常常几乎是完全相同的,这就是时间冗余,利用这一事实可以达到额外的压缩效果。

然而,对于摇动或缩放摄像机镜头的场景而言,这一奇数非常糟糕。

I帧:字包含的JPEG编码静止图像
P帧:与上一帧逐块的差
B帧:与上一帧和下一帧的差

在输出流中I帧周期性出现是十分必要的

P帧是对帧间差进行编码。P帧基于宏块的思想,宏块覆盖两度空间中的16*16个 像素和速度空间中8*8个像素。通过在前一帧中搜索宏块或者与其只存在轻微差异的宏块实现对一个宏块的编码。

具有最高得分的位置将称为获胜者,只要其得分高于某一语社的阙值,否则,宏块就被i 称为适配

如果一个宏块被找到,则通过以其值前一阵的值求差对齐进行编码

输出流中的宏块的值是运动矢量。如果宏块在前一阵查找不到,则当前值以JPEG进行编码,如同在I帧中一样。

B帧与P帧类似,不同的是它允许参考宏块既可以在前一阵,也可以在后一帧。

要进行B帧编码,编码器需要在内存中同时保存三个解码的帧:过去的一帧,当前的一帧和未来的一帧。为了简化解码,各帧必须以依赖的顺序而不是以显示的顺序出现在MPEG流中。

由于这一依赖顺序和显示顺序之间的差异,试图反向播放一部电影而没有相同客观的缓存和复杂的算法是无法工作的。


音频压缩

MP3属于MPEG视频压缩标准里的音频部分。

音频压缩可以用两种方法完成。在波形编码奇数中,信号通过傅立叶变换成频率分量。目标是在另一段用尽可能少的二进制位精确地重建其波形。

另一种方法是感知编码,这种奇数是在人类听觉系统中寻找某种细纹,尽管在人听起来是一样的,但是在示波器上却有巨大区别。

感知编码的关键特性在于一些声音可以掩盖住其它声音。

通过跟踪那些被附近频段能力更强的信号所屏蔽的信号,可以省略越来越多的编码信号中的频率,以此来节约二进制位。

将现有的二进制位分配到各个波段,大部分二进制位分配给拥有多数频谱能力的为屏蔽波段,小部分二进制分配给拥有较少频谱能力的未屏蔽波段,以屏蔽的不分配二进制位。


多媒体进程调度

支持多媒体的操作系统与传统的操作系统在三个主要方面有所区别:进程调度,文件系统和磁盘调度。

调度同质进程

最简单的一种视频服务器可以支持显示固定数目的电影,所有电影使用相同的频率,视频分辨率,数据率以及其他参数。

实现适当定时的一种方式是有一个主控时钟。只要进程数足够少,所有的工作都可以在一帧时间内完成,采用轮转调度就足够了。


一般实时调度

这些考虑导致一个不同的模型:多格 进程竞争CPU,每个进程有自己的工作量和最终时限。多格香炉竞争的进程,其中若干进程或全部进程具有必须满足的最终时限的调度称为实时调度。

每个CPU突发处理一帧并且具有一个最终时限:它必须在下一个突发开始之前完成。

实际上,每个影片流可能有两个或多格经常。

在某些实时系统中,进程可抢占,有些则不行。多媒体系统中,进程通常是可抢占的。

实时算法可以是动态的也可以是静态的,静态算法预先分配给每一个进程一个固定的右下你就,然后使用这些优先级做基于优先级的抢占制度。


速率单调调度

调度程序总是允许优先级最高的就绪进程,如果需要则抢占正在运行的进程。在静态调度算法中RMS是最优的。



最早最终时限优先调度

EDF是一个动态算法,它不像速率单调算法那样要求周期性。它只需要一个CPU时间,它宣布其到来和最终时限。

当一个新进程就绪时,系统进行检查以了解其最终时限是否在当前运行的进程结束之前。如果是,则抢占进程。

使用静态优先级只有在CPU的利用率不太高的时候才能操作。

因而在一个实际的视频服务器中,如果CPu利用率低于RMS限度,可以RMS,否则,应该选择EDF




你可能感兴趣的:(操作系统)