(计算机系统结构专业论文)基于linux的开放式媒体播放器研究.pdf_第1页
(计算机系统结构专业论文)基于linux的开放式媒体播放器研究.pdf_第2页
(计算机系统结构专业论文)基于linux的开放式媒体播放器研究.pdf_第3页
(计算机系统结构专业论文)基于linux的开放式媒体播放器研究.pdf_第4页
(计算机系统结构专业论文)基于linux的开放式媒体播放器研究.pdf_第5页
已阅读5页,还剩61页未读 继续免费阅读

(计算机系统结构专业论文)基于linux的开放式媒体播放器研究.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

重庆大学硕士学位论文 中文摘要 i 摘 要 目前多媒体音视频的应用越来越广泛,新的压缩编码算法层出不穷,文件的 格式也越来越多样化。流媒体技术的广泛引用,其传输协议也在演化发展中。如 何研制一种开放架构的播放器技术,使得该播放器能够支持各种媒体文件格式和 传输协议,是当前播放器的一个重要研究方向。特别是随着 linux 系统的普及和 linux 系统上多媒体应用要求的凸显,研制一种基于 linux 系统的具有可扩展性 的开放式媒体播放器更成为一个急需解决的问题。 本文针对目前丰富的媒体格式和多种传输协议,在现有播放器技术的基础上 研制了一种基于 linux 的具有开放架构的高可扩展性媒体播放器,使其支持丰富 的媒体格式和传输协议以及将新出现的媒体格式和传输协议。 本文的主要工作如下: (1) 分析综述了媒体编码技术、主流文件格式和解码以及流媒体传输协议的 原理和关键技术。从媒体文件的构成和传输两大方面为开放式播放器所需要的在 媒体格式和传输协议的扩展性支持奠定了基础。 (2) 提出了一种开放式媒体播放器的体系结构,基于该结构的播放器可支持 新的媒体类型以及新的数据传输协议,并支持多种流媒体数据的本地回放与在线 点播。根据体系结构和功能要求对该播放器做了功能模块的划分。 (3) 从数据源的获取、解码器的封装与选择、音视频的回放、播放器核心以 及与浏览器结合的嵌入播放插件这几个方面介绍了开放式播放器的实现机制,并 重点阐述了对传输协议的封装和自适应选择以及解码程序的封装与自适应选择, 以实现对媒体格式和传输协议的可扩展能力。 (4) 结合在网络教育项目的实际应用情况,对播放器的应用情况和效果进行 了阐述,并对播放器进行了功能性和性能方面的测试,测试表明该播放器对媒体 格式的支持和传输协议的支持和扩展性方面有较好的表现。 本文重视理论联系实际,从基本技术理论出发,对现有的理论和成果进行分 析和比较,详细论述了一个具有开放架构、较高扩展性和灵活配置能力的播放器 的原理、设计和实现机制。 关键词关键词:开放式,流媒体,linux,播放器,插件 重庆大学硕士学位论文 英文摘要 ii abstract with the wide use of video and audio media, the coding technology and format of the media have diversified and complicated. farther more, the development of the steaming-media techonology causes the progressing of the transmission protocols. in this situation, how to develop an open-frame media player which can supports kinds of formats and protocols is an important research direction in the field of media application. especially the prevalence of linux system and the requirement of improved performance of multimedia, to research and develop an open-frame media player base on linux system is becoming a significant and emergent problem. aims at playing media with kinds of formats and kinds of transmission protocol, this article describes the progress of develop an open-framed and high scalable media player which can run in linux system based on existing technology of media player . the main content is as follows: (1) analyzes the principal and key technology of coding technology, mainstream file format and its decoding technology and then the protocols of mainstreaming media, which provides a foundation of supporting the open-framed media player has the scalability in media file format and transmission protocol from the aspects of the composition and transmission. (2) proposes the frame of the open media player, which may enable the player to support new media format and new transmit protocol, the player can also play the media locally and distantly. then, divide the player into modules. (3) introduces the realization mechanisum of the open-framed player from the aspects of the acquisition of data sources, decoders packaging and selection, audio video playback, player main control module as well as the combination with browser for playing embedded in the browser. the encapsulation and self-adaptation selection of the decoding program and of the transmit protocol are explained in details. (4) clarifies the real use of the player in an e-learning project and then tests the player in the aspects of function and performance. the testing results show that the player has good performance in the scalability in supporting media file formats and transmmision protocols. this article attaches importance to the combination of theory and practice, start on related theory, analyses and compares prepared theory and achievements, expatiation 重庆大学硕士学位论文 英文摘要 iii the architecture and build mechanism of an open-framed, strong scalability and flexible media player. keywords: open-frame, steaming media, linux, media player, plug-in 重庆大学硕士学位论文 1 绪论 1 1 绪论 1.1 课题的提出和意义 随着多媒体技术的发展,音视频技术得到了越来越广泛的应用,在计算机上 播放音乐和视频越来越普遍。特别是流媒体技术的出现,更是扩大了其应用的领 域,如视频点播、视频会议、视频电话、网络教育等。随着应用的不断增多,越 来越多的更先进的压缩算法被提出, 导致网络上的媒体格式日趋多样化和复杂化。 同时,多媒体信息的组织和存储方式也在不断的变化,从以前的几种文件格式发 展到了现在的几十种之多。另外,流媒体应用的越来越流行,出现了多种流媒体 控制协议。 在这样的背景下, 要求媒体播放器能够适应多种文件格式和传输协议。 另外,linux 的应用也越来越普及,据 idc 最新发布的报告中国 linux 市 场 20062010 年预测与分析 ,2005 年中国 linux 市场收入达到 1180 万美元, 较前一年增长了 27.1%。idc 还预测,20062010 年中国 linux 市场将以年均复 合增长率 34.0的速度增长,到 2010 年达到 5110 万美元。中国 linux 市场取得 了稳健的增长。linux 除了在服务器高端行业站稳脚跟,在一些企业中支撑起了 关键应用;同时 linux 桌面也得到了很快的发展,最近自由标准组织(fsg)刚刚发 布了新的 linux standard base(lsb) 3.1 标准,首次纳入了对桌面 linux 系统和程 序的兼容性规定,提出了要将桌面 linux 系统标准化,以更好地推进桌面 linux 的普及。 以上对播放器应对各种格式和协议提供支持并能适应其发展要求和 linux 系 统使用的普及两个方面的分析凸现了 linux 下的多媒体应用软件播放器的应 用需求。目前,迫切需要一种运行于 linux 系统上的能过对各种格式和传输协议 具有可扩展能力的开放式媒体播放器。 1.2 当前的技术状况和研究方向 1.2.1 技术现状 在 linux 上已经有 xmms,xmovie,xine,realplayer,quicktime,mplayer 等媒体播放器。 其中既有 realplayer、 quicktime 为代表的商业软件, 也有以 xine、 mplayer 为代表的自由软件。但以上媒体播放器主要都是针对固定媒体类型与传 输协议,具有比较强的专用性,如 xmms 主要用于 mp3 的播放,xmovie 主要支 持 mpg、 mov、 vob、 m2v 等几种格式, xine 能支持 mp3、 mpeg-1、 mpeg-2、 asf 等格式,不具备支持各种媒体格式的可扩展能力。其中,realnetworks 公司 的 realplayer 与开源软件 mplayer 具有较好的可扩展性,能支持多种格式。 重庆大学硕士学位论文 1 绪论 2 realsystem 通过扩展插件来实现 realplayer 的可扩展性。realsystem 可以创 建以文件格式插件、回放插件、文件系统插件下几种插件。文件格式插件把用户 特定的数据类型打成包,通过 realserver 传送到播放器,当在客户端播放本地文 件时使用这个插件; 回放插件它在播放器端接收数据流, 并将这些数据正确回放。 每种文件格式插件对应一个回放插件。文件系统插件用它来从数据源读取数据, 当需要从其他数据源读取数据时才需要编写这个插件。 mplayer 对媒体格式的可扩展性体现在它的解码器上。 mplayer 使用的是一个 开源解码器 ffmpeg,这个解码器本身支持多种编解码格式。在 mplayer 中, ffmpeg 对每种压缩格式所提供的解码接口函数都被记录到一个结构之中,各解 码器的结构体组成一个链表。在这种方式下,要添加一个或一系列新的解码器需 要将解码器的解码接口函数加入一个新的结构之中并将这个结构添加到链表之 中,这样就可以通过同样的方法使用新加入的解码器了。 以上 realplayer 和 mplayer 的可扩展性机制为研制具有更高可扩展能力的开 放式媒体播放器提供了很有价值的参考。 1.2.2 研究动态 目前,国内外对于 linux 平台上媒体播放器的研究主要集中在三个方面:一 是如何实现播放器的可扩展性,二是如何实现精简的专用嵌入式媒体播放器,三 是如何将 windows、 mac os 等平台上的多媒体编码技术移植到 linux 平台。 下面 对上述两方面国内外研究现状进行说明。 如何实现播放器的可扩展性 播放器的可扩展性体现在播放器可以方便地扩充新的媒体类型或传输协议。 目前,在 linux 平台上,国内还没有具备可扩展性的媒体播放器。国外在此方面 的播放器主要有 realnetworks 公司的 real player 与开源软件 mplayer,在此类软 件中,解码器以插件形式同播放器主程序配合工作,第三方可以根据该类软件制 定的插件接口规范开发新媒体的解码器。然而,此类软件仅支持新媒体类型的扩 充,不支持传输协议的扩充,如 real player 仅支持 http、rtsp 协议,却无法支 持 mms 协议。 如何实现精简的专用嵌入式播放器 在专有的硬件设备和嵌入式操作系统的基础上,针对具体应用中的媒体格式 和协议开发的专有的播放器系统。这种应用一般都配合对应的编码压缩机制,播 放器只需要对相应的格式解码播放即可。在网络直播系统和视频监控系统中这类 嵌入式播放器有较多的应用。 多媒体编码技术的移植 对于主流的流媒体编码算法(如 realnetworks 公司的 rm、microsoft 公司的 重庆大学硕士学位论文 1 绪论 3 asf、wmv、wma 以及 apple 公司的 mov) ,都不属于国际标准,也未得到公开, 此类媒体的移植还存在一些问题。目前,apple、realnetworks 公司已基于各自流 媒体编码算法开发了 linux 版本的播放器。但是,这些播放器支持的媒体类型都 比较单一,特别对于 microsoft 的各种流媒体类型,都未进行很好地支持。为了构 建 linux 平台上能够支持上述三个系列的流媒体播放器, 国外已开展部分研究 (国 内还未见此类研究) 。研究的技术路线可分为两种类型:一是通过“win32 dll plugin”调用 windows 下 pe(portable executable)格式的解码器。目前,linux 平台上集成化的播放器一般都采用这种方法, 如遵循 gnu gpl 的播放器 xine 与 mplayer,这两种软件都可支持包括 asf 格式的多种媒体的播放。然而,这种采用 静态仿真的调用方式执行效率较低、可靠性差,而且在软件发布过程中存在版权 问题。 二是利用逆向工程 (reverse engineering) 来研究流媒体格式与编解码算法, 这是流媒体编码技术移植的发展趋势。目前,人们已采用这种方法对 asf 编码进 行了一定分析。这种采用逆向工程的方法可获取解码器的源码,从而保证解码器 的可移植性,但是该方法的难度与工作量较大。 1.3 论文工作 本文在研究目前的主要格式和流媒体传输协议的基础上,结合 linux 下现 有的媒体播放器技术,提出了一种具有开放架构的媒体播放器技术,该媒体播 放器架构具有较强的可扩展能力,能够支持各种现有的媒体格式和新出现的格 式,支持各种流媒体协议和新出现的流媒体协议。具体工作如下: 1)对目前主流的视频压缩解压技术和流媒体相关技术进行综述,阐述其编 解码技术和常用的传输协议相关技术。 2)提出了一种开放式播放器的层次和结构,基于该体系结构的播放器由播 放器核心挂接多个插件和模块,实现了播放器核心的独立性,可支持已有的媒 体格式和传输协议以及新的媒体格式以及新的数据传输协议。 3)提出一种统一封装解码器的机制,实现对现有多种格式的支持和新格式 的可扩展性。 4)提出一种统一封装流媒体传输协议的机制,实现对现有多种流媒体协议 的支持和新协议的可扩展性。 5)提出了将浏览器与播放器相结合,实现播放器在浏览器中嵌入播放的方 法。 6)结合项目实施情况,介绍了在嵌入式 linux 环境中将播放器用于网络教 育中的情况,并对播放放器进行了功能性和性能方面的测试。 重庆大学硕士学位论文 2 视频编码及传输技术 4 2 视频编码及传输技术 2.1 mpeg 标准 mpeg 本是动态图像专家组(moving pictures experts group)的英文缩写, 这个 专家组始建于 1988 年,专门负责为 cd 建立视频和音频标准,其成员均为视频、 音频及系统领域的技术专家。 mpeg 在三方面优于其他压缩/解压缩方案1 2 3。首先,由于在一开始它就 是做为一个国际化的标准来研究制定,mpeg 具有很好的兼容性。其次,mpeg 能够比其他算法提供更好的压缩比,最高可达 200:1。更重要的是,mpeg 在提 供高压缩比的同时, 对数据的损失很小。 下面主要对 mpeg-1、 mpeg-2、 mpeg-4 的相关技术作介绍。 2.1.1 mpeg-1 mpeg-1145处理的是标准图像交换格式 sif(standard interchange format)或 者称为 sif(source input format)的电视,即 ntsc 制为 352 像素、240 行/帧、30 帧/秒, pal 制为 352 像素、 288 行/帧、 25 帧/秒, 压缩的输出速率定义在 1.5 mbit/s 以下。这个标准主要是针对当时具有这种数据传输率的 cd-rom 和网络而开发 的,用于在 cd-rom 上存储数字影视和在网络上传输数字影视,vcd 视频大多 都采用的这种压缩格式。mpeg-1 的译码过程如图 2.1 所示: 图 2.1 mpeg1 译码方框图 figure2.1 decodeing frame of mpeg1 2.1.2 mpeg-2 mpeg-24 6制定于 1994 年,是与 iso/iec 13818 一致的关于运动图像编码 的的压缩标准,它的设计目标是高级工业标准的图像质量以及更高的传输率。 mpeg-2 所能提供的传输率在 310mbit/s 间,其在 ntsc 制式下的分辨率可达 720*486,mpeg-2 也可提供并能够提供广播级的视像和 cd 级的音质。mpeg-2 数字存储器系统译码器时钟控制器 声音译码器 图像译码器 iso/iec11172 数据流 iso/iec11172 声音数据 iso/iec11172 图像数据 重庆大学硕士学位论文 2 视频编码及传输技术 5 的音频编码(ac-3 . dts )可提供左右中及两个环绕声道,以及一个加重低音声道 和多达 7 个伴音声道(dvd 可有 8 种语言配音的原因)。由于 mpeg-2 在设计时的 巧妙处理,使得大多数 mpeg-2 解码器也可播放 mpeg-1 格式的数据,如 vcd。 同时, 由于mpeg-2的出色性能表现, 已能适用于hdtv, 使得原打算为hdtv 设计的 mpeg-3,还没出世就被抛弃了(mpeg-3 要求传输速率在 24 40mbit/s 间,但这将使画面有轻度扭曲)。现在网络上非常流行的数字音乐格式 mp3 并不 是 mpeg-3,而是 mpeg-1 的第三层(mpeg-1 layer3 )。除了作为 dvd 的指定标 准外,mpeg-2 还可用于为广播、有线电视网、电缆网络以及卫星直播(direct broadcast satellite)提供广播级的数字视频。 mpeg-2 的另一特点是,它可提供一个较广的范围改变压缩比,以适应不同 画面质量、存储容量以及带宽的要求。mpeg-2 的系统模型如图 2.2 所示: 图 2.2 mpeg2 系统模型图 figure2.2 mpeg2 system model 2.1.3 mpeg-4 mpeg-4 系统流中指定了根据编码的视听信息和相关场景描述来产生交互式 的方法17,称为“视听终端” ,它能复合发送并能接收和显示经过编码表示的一 个交互的视听场景。mpeg-4 码流中的基本码流包括音频、视频和场景描述编码 表示。 系统流和基本流可表示用于识别码流、 描述逻辑相关性和内容描述的信息, 每种基本码流都只包含一种数据类型。基本码流将用各自的解码器进行解码,视 听对象根据场景描述信息复合并由终端显示设备显示出来。系统体系主要包括的 部分见表 2.1,mpeg-4 视频的编码过程如图 2.3 所示: 表 2.1 mpeg4 的层次定义 table2.1 mpeg4 layered definition 系统终端模型 是对满足 mpeg-4 标准的终端行为的抽象描述,是一种解 码器模型。 目的是使发送端能够知道接收端在重构视听场景 图像 数据输入 声音 数据输入 图像 编码器 图像 编码器 数据 包装器 数据 包装器 ps多路 复合器 ts多路 复合器 iso/iec13818-2 iso/iec13818-3 iso/iec13818-1 ps数据流 ps数据流 重庆大学硕士学位论文 2 视频编码及传输技术 6 时是如何根据缓冲区管理和同步信息处理的。 包括系统定时 模型和系统缓冲模型。 传输层定义 对已经存在的各种传输协议的一般描述, 这些协议能够用来 传输和存储符合 mpeg-4 标准的视听内容 同步层定义 同步层基本码流数据和同步信息封装成同步数据包流, 再将 它们传输到传输层。 同时为以后同步解码和基本流解码的合 成作准备 压缩层定义 接收从同步层传来的压缩格式的数据,并完成解码操作,这 些解码后的信息用于终端的视听对象的合成以及显示。 该层 包括:对象描述框架、场景描述码流、视听码流以及上载码 流等对象 图 2.3 mpeg-4 视频编码方框图 figure2.3 encoding frame of mpeg4 mpeg-4 的目标是要在异构网络环境下能够高度可靠地工作,并且具有很强 的交互功能8。为了达到这个目标,mpeg-4 引入了对象基表达(object-based representation)的概念,用来表达视听对象 avo(audio/visual objects); mpeg-4 扩 充了编码的数据类型,由自然数据对象扩展到计算机生成的合成数据对象,采用 合成对象/自然对象混合编码 snhc(synthetic/natural hybrid coding)算法;在实现 交互功能和重用对象中引入了组合、合成和编排等重要概念。 mpeg-4 可应用于如下三个领域9: dct量化 运 动 纹 理 编 码 运 动 纹 理 编 码 mpeg视频流 逆量化 idct 预 测 开 关 预测1 预测2 预测3 帧存 运动估计 形状编码 重庆大学硕士学位论文 2 视频编码及传输技术 7 数字电视; 交互图形应用(合成的内容); 交互多媒体(world wide web,对内容的分发和存取)。 mpeg-4 提供的技术标准使产品集成、分发和内容的存取在上述的三个领域 内成为可能。 2.2 媒体文件格式及解码方法 目前,在实际应用中的主流媒体类型主要有 microsoft 公司的 advanced systems format (asf)、realnetworks 公司的 realmedia(rm)以及 apple 计 算机公司的 quicktime(mov)等格式。下面对上述三种媒体的格式与解码算法 进行简要分析。 2.2.1 advanced systems format(asf) asf 是 microsoft 公司提出的媒体数据格式, 该格式实际上是一种同步媒体的 容器(container)文件格式,采用这种格式,可将音频、多码流视频、元文件(如 文件标题和作者信息等) 、 索引和脚本等包含在一个文件中, 并且这些数据可以采 用任何编码方式。wma 与 wmv 就是采用了 asf 格式,其中视音频数据的编码 分别采用了 windows media audio 编码与 windows media video 编码。此外,asf 还提供对多媒体文件的高级属性的支持,包括可扩展的文件类型、组件下载、认 证播放和多语言支持等。 asf 文件格式11-13 asf 文件组成的基本单位为 asf 对象。asf 对象由一个 128bits 的完全唯一 的标识符(guid,globally unique identifier)、一个 64bits 整数的对象大小以及 可变长度的对象数据构成。 对象大小域的值是 24 (字节) 加上项目数据大小。 asf 对象如图 2.4(a)所示。 asf 文件逻辑上由报头对象、 数据对象和索引对象三个顶层的标准对象组成, 如图 2.4(b)所示。报头对象位于 asf 文件的开始处。报头对象用于描述整个文件 以及文件中的媒体数据,它包含其他 asf 对象,主要有:文件属性对象、流属性 对象、内容描述对象、优先权对象、排斥关系对象、从属关系对象等。数据对象 位于报头对象后。数据对象包含媒体数据信息,数据对象由 asf 数据单位构成, 这些数据单位以时序方式进行组织, 一个 asf 数据单位仅包含来自唯一媒体流的 数据。索引对象包含媒体数据的索引信息。 重庆大学硕士学位论文 2 视频编码及传输技术 8 图 2.4 asf 文件格式 figure2.4 asf file format asf 解码方法 asf 文件缺省情况下采用 mpeg-4 编码算法,图 2.5 是 mpeg-4 的解码过程。 图 2.5 mpeg4 的解码过程 figure2.5 decoding of mpeg4 2.2.2 realmedia(rm) real media 是 real networks 公司的流媒体格式,它包括 real audio、real video、real presentation 以及 real flash 四种类型。其中,real audio 用来传输 cd 音质的音频数据, real video 用来传输连续视频数据。 real audio 和 real video 的传输采用了自适应流(sure stream)技术。该技术采用分层编码将不同编码质 量的媒体数据存储在同一个文件中,在流媒体传输过程中,可根据播放器与流媒 对象标识符(对象标识符(guid) 128bits 对象大小对象大小 64bits 对象数据 (可变长度) 对象数据 (可变长度) (a) asf对象对象 报头对象报头对象 数据对象数据对象 索引对象索引对象 数据单元 数据单元 数据单元 数据单元 数据单元数据单元 文件属性对象 文件属性对象 流属性对象流属性对象 (b) asf文件顶层格式文件顶层格式 输入缓冲输入缓冲 头部解码头部解码 运动矢量 解码 运动矢量 解码 前向块 复制 前向块 复制 前向前向vop 存储存储 dct系数 解码 系数 解码 反向扫描反向扫描 反向反向dc& ac预报预报 反向量 子化 反向量 子化 idct 当前当前vop 存储存储 ycbcr到到 rgb 已编码 的视频 数据 解码后 的视频 数据 已编码 的视频 数据 解码后 的视频 数据 块解码块解码 重庆大学硕士学位论文 2 视频编码及传输技术 9 体服务器之间的带宽,动态选择当前带宽所对应编码质量的媒体数据进行传输, 从而保证媒体数据可被流畅地播放。对 real media 文件格式与编解码方法的初步 分析结果如下: real media 文件格式1113 real media 文件格式与 asf 文件格式比较类似。real media 文件的基本逻辑 单位是块(chunk) ,如流的报头,或一个数据包都是块。每个块包括 32bits 的块 标识符、32bits 的块大小以及变长的数据块三个部分。依类型的不同,上层的块 可以包含子块,如图 2.6(a)所示。 图 2.6 real media 文件格式 figure2.6 realmedia file format real media 文件逻辑上也可分为报头、数据和索引三个部分,顶层格式如图 2.6(b)所示。real media 的报头部分有下面有四种子块:real media 文件报头(文 件的第一个块)、属性报头(properties header) 、媒体属性报头(media properties header) 、内容描述报头(content description header) 。real media 文件的数据部 分由数据部分报头和后面排列的媒体数据包组成。 数据块报头标志数据块的开始。 索引部分由描述索引区内容的索引块报头和一串索引记录组成。 real video 解码过程 通过对 helix dna client 相关源代码的分析,得出如图 2.7 所示的 real video 解码过程。 data id size chunk id size chunk subchunk subchunk 报头报头 内容描述报头内容描述报头 文件报头文件报头 文件属性报头文件属性报头 媒体属性报头媒体属性报头 数据数据 数据部分报头数据部分报头 媒体数据包媒体数据包 索引索引 索引块报头索引块报头 索引记录索引记录 (a) real media文件块格式文件块格式 (b) real media文件顶层格式文件顶层格式 重庆大学硕士学位论文 2 视频编码及传输技术 10 图 2.7 real video 解码过程 figure2.7 decoding of real video 2.2.3 quicktime quicktime 是 apple 公司的媒体数据格式。 使用这种文件格式不仅可以存储单 个的媒体内容(如视频帧或音频) ,而且能保存对该媒体作品的完整描述。 quicktime 文件格式被设计可存贮与媒体数据相关的各种数据。因为这种文件格 式能用来描述几乎所有的媒体结构,所以它是应用程序或平台间交换媒体数据的 理想格式。quicktime 文件格式中媒体描述和媒体数据是分开存储的,媒体描述 或元数据(meta-data)叫做 movie,包含轨道数目、视频压缩格式和时间信息。 同时 movie 包含媒体数据存储区域的索引。媒体数据是所有的采样数据,如视频 和音频采样,媒体数据可以与 quicktime movie 存储在同一个文件中,也可以存 储在一个单独的文件或多个文件中。 quicktime 文件格式 quicktime 文件的基本数据单元是原子(atom) ,每个原子包含数据及数据的 大小和数据类型信息。原子包含报头和原子数据,报头可采用小型尺度或扩展尺 度,多数原子使用小型尺度(32 位) ,通常只有媒体数据原子需要 64 位大小。 quicktime 使用两种原子存储信息:标准原子(classic atoms)和 qt 原子(qt atoms) ,标准原子是简单原子,qt 原子是原子容器(atom containers)原子,允 许建立复杂的分层结构。 quicktime 原子容器提供在 quicktime 中存储信息的基 本结构,它是 qt atoms 的树型分层结构。每个 qt atom 包含数据或其他原子。 如果一个原子包含其他原子,它就是父原子(parent atom) ,被包含的原子叫子原 子(child atoms) 。每个父原子的子原子由 atom type 和 atom id 惟一地标识。 quicktime文件就是一群原子的集合, 对原子的次序没有规定。 图2.8是quicktime 文件的顶层结构。 语法解码语法解码 时间预报时间预报 重建的 帧缓冲 重建的 帧缓冲 空间预报空间预报 心理学的 可视过滤 心理学的 可视过滤 帧存储帧存储 系数解码系数解码反量子化反量子化剩余合成剩余合成 进入的 比特流 解码帧 进入的 比特流 解码帧 重庆大学硕士学位论文 2 视频编码及传输技术 11 图 2.8 quicktime 文件的顶层结构 figure2.8 the top sturcture of quicktime file format 图 2.8 中,movie data atoms 用于存放媒体数据。movie atoms 的原子类型为 moov。它是其他类型的容器,用于存放媒体数据的元数据,包含轨道原子(track atoms) , 而轨道原子又包含媒体原子 (media atoms) , 最底层是叶原子 (leaf atoms) , 包含实际数据。 quicktime 文件解码 同 asf 文件类似, quicktime 文件格式与采用的编解码算法具有一定独立性。 quicktime 可支持包括 mpeg-4 的多种编解码算法。 在对上述三类编码的格式与编解码方法研究的基础上,本文对三种媒体编码 的特点进行了总结,如表 2.2 所示。 表 2.2 三种主流媒体编码的特点 table2.2 the main characteristics of three mainstream format 媒体类型媒体类型 指标 指标 advanced systems format (asf) realmedia (rm) quicktime 文件扩展名文件扩展名 asf,. wmv rm, ra mov, qt 支持的支持的 操作平台操作平台 windows 系列、 mac os、linux windows 系列、 mac os、linux、 solaris windows 系列、 linux、mac os 总总 体体 特特 性性 跨平台性跨平台性 差 好 好 重庆大学硕士学位论文 2 视频编码及传输技术 12 编码算法编码算法 可扩展性可扩展性 好 差 好 本地文本地文 件回放件回放 yes yes yes 播播 放放 方方 式式 流方式流方式 点播点播 yes yes yes 实时编码实时编码 (现场直播)(现场直播) yes yes no 多码率压多码率压 缩支持缩支持 yes yes yes 动态码率压缩 ( 动态码率压缩 (vbr) yes yes yes 流的优先流的优先 级支持级支持 yes no no 达到达到 vhs 质 量所需码率 质 量所需码率 400 kbit/s 300 kbit/s 300 kbit/s 编编 码码 带宽范围带宽范围 与所采用的编码算 法相关 音频: 12352kbit/s 视频: 28.8k1mbit/s 28.8512 kbit/s 2.3 流式传输 2.3.1 流式传输基础 1420 流式传输是流媒体实现的关键技术。流式传输定义很广泛,现在主要指通过 网络传送媒体 (如视频、 音频) 的技术总称。 其特定含义为通过 internet/intranet 将 影视节目传送到 pc 机。 首先,流式传输的实现需要缓存。这是因为要使用缓存系统来弥补延迟和抖 动的影响,并保证数据包的顺序正确,从而使媒体数据能连续输出,而不会因为 网络暂时拥塞使播放出现停顿。通常高速缓存所需容量并不大,因为高速缓存使 用环形链表结构来存储数据;通过丢弃已经播放的内容,流可以重新利用空出的 高速缓存空间来缓存后续尚未播放的内容。 再次,流式传输的实现需要合适的传输协议。www 技术是以 http 为基 础的,而 http 又建立在 tcp 基础之上。由于 tcp 需要较多的开销,故不太 适合传输实时数据。在流式传输的实现方案中,一般采用 http/tcp 来传输控 重庆大学硕士学位论文 2 视频编码及传输技术 13 制信息,而用 rtp/udp 来传输实时声音数据。 流式传输的过程一般是这样的:用户选择某一流媒体服务后,web 浏览器与 web 服务器之间使用 http/tcp 交换控制信息,以便把需要传输的实时数据从 原始信息中检索出来;然后客户机上的 web 浏览器启动流媒体播放程序,使用 http 从 web 服务器检索相关参数对流媒体播放程序初始化。这些参数可能包 括目录信息、a/v 数据的编码类型或与 a/v 检索相关的服务器地址。流式传输 的过程如图 2.9 所示。 图 2.9 流式传输过程 figure2.9 streaming transfer process 流媒体播放程序及 a/v 服务器运行实时流协议(rtsp) ,以交换 a/v 传输 所需的控制信息。与 cd 播放机或录像机所提供的功能相似,rtsp 提供了操纵 播放、快进、快倒、暂停及录制等命令的方法。a/v 服务器使用 rtp/udp 协议 将 a/v 数据传输给 a/v 客户程序(一般可认为客户程序等同于 helper 程序) , 一旦 a/v 数据抵达客户端,流媒体播放程序即可播放输出。 2.3.2 流式传输方式 实现流式传输有两种方法:实时流式(real-time streaming)传输和顺序流式 (progressive streaming)传输。一般说来,如视频为实时广播,或使用流式传输 媒体服务器, 或应用如 rtsp 的实时协议, 即为实时流式传输。 如使用 http 服 务器,文件即通过顺序流发送,这种传输方式就称为顺序流式传输20。 顺序流式传输 顺序流式传输是顺序下载,在下载文件的同时用户可以观看在线媒体。在给 定时刻,用户只能观看已下载的那部分,而不能跳到还未下载的前头部分。由于 标准的 http 服务器可发送这种形式的文件, 也不需要其他特殊协议, 它经常被 称作 http 流式传输。顺序流式传输比较适合高质量的短片段,如片头、片尾和 广告,由于该文件在播放前观看的部分是无损下载的,所以这种方法能够保证电 影播放的最终质量。但这就意味着用户在观看前,必须经历延迟,对较慢的连接 尤其如此。 对通过调制解调器发布短片段,顺序流式传输显得很实用,它允许用比调制 解调器更高的数据速率创建视频片段。尽管有延迟,毕竟可发布较高质量的视频 web浏览器web服务器 源文件 播放器a/v服务器 http/tcp 控制信息rtsp/tcp(udp) 数据信息rtp/udp 重庆大学硕士学位论文 2 视频编码及传输技术 14 片段。顺序流式文件是放在标准 http 或 ftp 服务器上,易于管理,基本上与 防火墙无关。顺序流式传输不适合长片段和有随机访问要求的视频,如讲座、演 说与演示,也不支持现场广播。严格说来,顺序流式传输其实是一种点播技术。 实时流式传输 实时流式传输指保证媒体信号带宽与网络连接匹配, 使媒体可被实时观看到。 实时流与 http 流式传输不同,它需要专用的流媒体服务器与传输协议。 实时流式传输总是实时传送,特别适合现场事件,也支持随机访问,用户可 快进或后退以观看前面或后面的内容。理论上,实时流一经播放就可不停止,但 实际上,可能发生周期暂停。 实时流式传输必须匹配连接带宽,这意味着在以调制解调器速度连接时图像 质量较差。而且,由于出错丢失的信息被忽略掉,网络拥挤或出现问题时,视频 质量很差。如欲保证视频质量,顺序流式传输也许更好。实时流式传输需要特定 服务器,如 quicktime streaming server、realserver 与 windows media server。 这些服务器允许用户对媒体发送进行更多级别的控制,因而系统设置、管理比标 准 http 服务器更复杂。 实时流式传输还需要特殊网络协议, 如 rtsp (real-time streaming protocol)或 mms(microsoft media server) 。这些协议在防火墙存在 的情况下有时会出现问题,导致用户不能看到一些地点的实时内容。 2.4 传输协议分析 目前在 ip 网络上传输实时多媒体数据(如声音和视频)的应用越来越多。 这种传输音频和视频的实时(real-time)程序必须要求能够及时的交付,即对传 输实时性的要求远高于传输可靠性。然而,现在的 ip 互联网络发送的数据包可 以被复制、延迟或不按顺序到达,抖动(jitter)现象尤其普遍,这就会严重影响 网络服务质量 (qos) , 达不到多媒体传输的实时性要求。 因此, 为了允许用 ip 语 义在网络上有意义地传输和再现多媒体数字信号,则需要额外的协议支持。 为了解决上述问题, 互联网工程任务组 (internet engineering task force, ietf) 陆续提出了一系列新的协议, 如 rtp/rtcp, rsvp 和 rtsp 等, 它们协同工作, 在很大程度上满足了实时数据的传输要求。这些协议的层次结构如图 2.10 所示: 重庆大学硕士学位论文 2 视频编码及传输技术 15 图 2.10 流媒体数据传输协议的层次 figure2.10 the hiberarchy of streaming media transfer protocols 2.4.1 实时传输协议 rtp rtp 协议简介16 rtp(real-time transport protocol)是在 ip

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论