首页 百科知识 数据文件的组成方式

数据文件的组成方式

时间:2022-10-05 百科知识 版权反馈
【摘要】:ASF是一种数据格式,音频、视频、图像以及控制命令脚本等多媒体信息通过这种格式,以网络数据包的形式传输,实现流式多媒体内容发布。多媒体数据以ASF数据单元的形式存储,每一个ASF数据单元都是可变长的,且包含的数据必须是同一种媒体流。

1. 流媒体的概念

流媒体简是从英语Streaming Media翻译过来的,简单来说就是在网络中使用流式传输技术的连续时基媒体,例如:音频、视频、动画或其他多媒体文件。而流媒体技术就是把连续的影像和声音信息经过压缩处理后放上网站服务器,让用户一边下载一边观看、收听,而不需要等整个压缩文件下载到自己机器后才可以观看的网络传输技术。该技术先在用户端的电脑上创造一个缓冲区,于播放前预先下载一段资料作为缓冲,当网络实际连线速度小于播放所耗用资料的速度时,播放程序就会取用这一小段缓冲区内的资料,避免播放的中断,也使得播放品质得以维持。

实际上流媒体技术是网络音视频技术发展到一定阶段的产物,是一种解决多媒体播放时带宽问题的“软技术”、流媒体技术并不是单一的技术,它是融合很多网络技术之后所产生的技术,它涉及流媒体数据的采集、压缩、存储、传输以及网络通信等多项技术。

2. 流媒体的文件格式

无论是流式的还是非流式的多媒体文件格式,在传输与播放时都需要进行一定比例的压缩,以期得到品质与尺寸的平衡。流媒体文件格式是经过特殊编码的,以适合在网络上边下载边观看,而不是等到整个文件下载完毕后才能播放。另外在编码时,还需要向流媒体文件中加入一些其他的附加信息,例如版权信息、计时等。

目前在流媒体领域中,竞争的公司主要有3个:微软、RealNetworks和苹果公司,而相应的三个公司都有针对自己开发的播放器的流媒体文件格式,如表8.3所示。

表8.3 常流媒体文件格式

图8.16 ASF对象

(1)Microsoft 公司的 ASF 格式。Microsoft 公司的Windows Media的核心是ASF(Advanced Stream Format)。微软将ASF 定义为同步媒体的统一容器文件格式。ASF是一种数据格式,音频、视频、图像以及控制命令脚本等多媒体信息通过这种格式,以网络数据包的形式传输,实现流式多媒体内容发布。ASF最大优点就是体积小,因此适合网络传输,使用微软公司的最新媒体播放器(Microsoft Windows Media Player)可以直接播放该格式的文件。用户可以将图形、声音和动画数据组合成一个ASF格式的文件,当然也可以将其他格式的视频和音频转换为ASF格式,而且用户还可以通过声卡和视频捕获卡将诸如麦克风、录像机等外设的数据保存为ASF格式。另外,ASF格式的视频中可以带有命令代码,用户指定在到达视频或音频的某个时间后触发某个事件或操作。

① ASF对象定义。ASF文件基本的组织单元叫做ASF对象(图8.16),它是由一个128位的全球唯一的对象标识符(Object ID)、一个64位整数的对象大小(Object Size)和一个可变长的对象数据(Object Data)组成。对象大小域的值是由对象数据的大小加上24 bit之和。

这个文件组织单元有点类似于 RIFF(Resource Interchange File Format)字节片。RIFF字节片是AVI和WAV文件的基本单位。ASF对象在两个方面改进了RIFF的设计。首先,无须一个权威机构来管理对象标识符系统,因为计算机网卡能够产生一个有效的、唯一的GUID;其次,对象大小字段已定义得足够处理高带宽多媒体内容的大文件。

② 高层文件结构。如图8.17所示,ASF文件逻辑上是由3个高层对象组成:头对象(Header Object)、数据对象(Data Object)和索引对象(Index Object)。头对象是必需的,并且必须放在每一个ASF文件的开头部分,数据对象也是必需的,且一般情况下紧跟在头对象之后。索引对象是可选的,但是一般推荐使用。

图8.17 高层ASF文件结构

在具体实现过程中可能会出现一些文件包含无序的(Out-Of-Order)的对象,ASF也支持,但在特定情况下,将导致ASF 文件不能使用,如从特定的文件源如HTTP服务器读取该类ASF文件。同样地,额外的高层对象也可能被运用并加入到ASF文件中。一般推荐这些另加的对象跟在索引对象之后。

ASF数据对象能够被解释的一个前提条件是头对象已被客户机接收到。ASF没有声明头对象信息是如何到达客户端的,“到达机制”是一个“本地实现问题”,显然已超过了ASF 的定义范围。头对象先于数据对象到达有3种方式:

●包含头对象的信息作为“会话声明”的一部分。

●利用一个与数据对象不同的“通道”发送头对象。

●在发送ASF 数据对象之前发送头对象。

③ ASF头对象。在ASF的3个高层对象中,头对象是唯一包含其他ASF 对象的对象(如图8.18所示)。头对象可能包含以下对象:

文件属性对象(File Properties Object)——全局文件属性。

●流属性对象(Stream Properties Object)——定义一个媒体流及其属性。

●内容描述对象(Content Description Object)——包含所有目录信息。

●部件下载对象(Component Download Object)——提供播放部件信息。

●流组织对象(Stream Groups Object)——逻辑上把多个媒体流组织在一起。

●可伸缩对象(Scalable Object)——定义媒体流之间的可伸缩的关系。

●优先级对象(Prioritization Object)——定义相关流的优先级。

●相互排斥对象(Mutual Exclusion Object)——定义排斥关系如语言选择。

●媒体相互依赖对象(Inter-Media Dependency Object)——定义混合媒体流之间的相互依赖关系。

●级别对象(Rating Object)——根据W3C PICS定义文件的级别。

图8.18 ASF 头对象

●索引参数对象(Index Parameters Object)——提供必要的信息以重建ASF文件的索引。

头对象的作用是在ASF文件的开始部分提供一个众所周知的比特序列,并且包含所有其他头对象信息。头对象提供了存储在数据对象中的多媒体数据的全局的信息。

④ ASF数据对象。数据对象包含一个ASF 文件的所有多媒体数据。多媒体数据以ASF数据单元的形式存储,每一个ASF数据单元都是可变长的,且包含的数据必须是同一种媒体流。数据单元在当它们开始传输的时候在数据对象中自动地排序,这种排序来自于交叉存储的文件格式。

⑤ ASF 索引对象。ASF 索引对象包含一个嵌入ASF文件的多媒体数据的基于时间的索引。每一索引进入表现的时间间隔是在制作时设置的,并且存储在索引对象中。由于没有必要为一个文件的每一个媒体流建立一个索引,因此,通常利用一个时间间隔列表来索引一系列的媒体流。

(2)RealSystem的RealMedia文件格式。RealNetworks公司的RealMedia包括RealAudio、RealVideo和RealFlash三类文件,其中RealAudio用来传输接近CD音质的音频数据,RealVideo用来传输不间断的视频数据,RealFlash则是RealNetworks公司与Macromedia公司新近联合推出的一种高压缩比的动画格式。RealMedia文件格式的引入使得RealSystem可以通过各种网络传送高质量的多媒体内容。第三方开发者可以通过RealNetworks公司提供的SDK将它们的媒体格式转换成RealMedia文件格式。

① 加标志的文件格式。RealMedia文件格式是标准的标志文件格式,它使用四字符编码来标识文件元素。组成RealMedia文件的基本部件是块(chunk),它是数据的逻辑单位,如流的报头,或一个数据包。每个块包括下面的字段,如图8.19所示。

●指明块标识符的四字符编码。

●块中限定数据大小的32位数值。

●数据块部分。

●依类型的不同,上层的块可以包含子对象。

② 报头部分。因为 RealMedia 文件格式是一种加标志的文件格式,块的顺序没有明确规定,但RealMedia 文件报头必须是文件的第一个块。一般情况下,RealMedia 的报头部分有下面4种:

●RealMedia文件报头(RealMedia文件的第一个块)。

●属性报头(Properties Header)。

●媒体属性报头(Media Properties Header)。

●内容描述报头(Content Description Header)。

图8.19 RealMedia文件块示意图

RealMedia 文件报头出现以后,其他报头的可以任何次序出现。

③ 数据部分(Data Section)。RealMedia 文件的数据部分由数据部分报头和后面排列的媒体数据包组成。数据块报头标志数据块的开始,媒体数据包是流媒体数据的数据包。

④ 索引部分(Index Section)。RealMedia 文件的索引部分由描述索引区内容的索引块报头和一串索引记录组成。

(3)QuickTime电影(Movie)文件格式。Apple公司的QuickTime电影文件现已成为数字媒体领域的工业标准。QuickTime 电影文件格式定义了存储数字媒体内容的标准方法,使用这种文件格式不仅可以存储单个的媒体内容(如视频帧或音频采样),而且能保存对该媒体作品的完整描述。QuickTime文件格式被设计用来适应为与数字化媒体一同工作需要存储的各种数据。因为这种文件格式能用来描述几乎所有的媒体结构,所以它是应用程序间(不管运行平台如何)交换数据的理想格式。QuickTime文件格式中媒体描述和媒体数据是分开存储的,媒体描述或元数据(meta-data)叫作电影(movie),它包含轨道数目、视频压缩格式和时间信息。同时movie包含媒体数据存储区域的索引。媒体数据是所有的采样数据,如视频帧和音频采样,媒体数据可以与QuickTime movie存储在同一个文件中,也可以在一个单独的文件或者几个文件中。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈