基于MPEG-4的网络视频流式传输方案
- 格式:pdf
- 大小:142.44 KB
- 文档页数:5
流媒体技术简介流媒体技术(Streaming Media Technology)是为解决以Internet为代表的中低带宽网络上多媒体信息(以视音频信息为重点)传输问题而产生、发展起来的一种网络新技术。
采用流媒体技术,能够有效地突破低比特率接入Internet方式下的带宽瓶颈,克服文件下载传输方式的不足,实现多媒体信息在Internet上的流式传输。
Microsoft、Intel、apple、RealNetworks等公司在流媒体技术的发展、应用等方面都具有很强的实力。
一、流媒体技术原理1.流媒体"流媒体"的概念包括以下两个层面。
其一,流媒体是计算机网络(尤其是中低带Internet/Intranet)上需要实时传输的多媒体文件,比如声音、视频文件。
在传输前需要压缩处理成多个压缩包,并附加上与其传输有关的信息(比如,控制用户端播放器正确播放的必要的辅助信息),形成实时数据流。
数据流最大的特点是允许播放器及时反应而不用等待整个文件的下载。
其二,流媒体是对多媒体信息进行"流化"处理,是一种解决问题的方式,可以使视频等对实时性要求严格的多媒体文件在Internet/Intranet上在既无下载等待需求又不占用客户端硬盘空间的情况下保证实时播放。
目前Internet上比较流行的流媒体有RealNetworks的Realmedia、Microsoft的WindowsMedia以及Apple公司的Quicktime,它们包括不同的媒体内容,具有不同的流格式(StreamingFormat),都有专用的播放器。
以目前网上最常见的RealMedia为例,其中包括RealVideo、RealAudio、RealFlash(RealNetworks公司与Macromedia公司新近合作推出的一种高压缩比动画格式),专用播放器是RealPlayer。
传输过程中通过MIME (MultiPurposeInternetMailExtensions,多用途邮件扩展)识别流媒体类型。
基于DirectShow的视频解码器的研究摘要本系统的设计能够完成的功能包括对本地音视频文件(主要是针对MPG格式的文件),以及网络实时音视频文件的传输与播放。
其基本构成包括过滤器、缓冲区、编解码器。
理论上,可以形成对这些音视频文件同时进行多路接收与编解码,但由于音视频文件数据量一般较大,且这种文件的运行占用较大的计算资源。
故此次系统设计只考虑了最多两路文件的运行。
对于网络的文件,则进行了流化处理,而不是传统的先下载完毕再播放。
因此提高了计算机存储系统的利用率。
对于音视频文件的运行,该软件设置了多种启动模式,各有优缺点,用户可以根据具体情况灵活选择启动模式。
系统包含两个多媒体数据处理通道,对应两个声音处理通道,还拥有一些其它一些常用功能按钮。
系统涉及的关键技术包括Filter原理的理解与实现、实时编解码过程的实现。
关键词:DirectShow 视频解码器AbstractWhat this system can do include transforming the audio and video data and performing them. These data comes from local disks or network. The system is composed of filter、buffer and coder/decoder. In theory, the system can simultaneity receive and encode and decode the data from two or more ways. However ,the capacity of video/audio data in itself is large. So when the application operating these data is running, large quantities of cpu resources will be utilized. Just for this reason, the system I have designed can only simultaneity deal with two ways of data at the most. When the system deals with network files, it streams these files. This way is different from the tradition way dealing with the audio/video files. In the tradition way ,we must download all the files from network to our local disk in advance, then we can play these files. To operate our audio/video files the system possesses of many starting modes. User can choose any one starting mode according to the actual cases. The system includes two ways dealing with multimedia data, and two ways dealing with sound corresponding to them. In addition, the system has many buttons perform different functions. The key technology of this system is as follows:The understanding and realizing towards theory of the system;The realizing of the codec in real-time way.Key Words:DirectShow Video Decoder一选题背景1.1 课题来源流媒体的定义很广泛,大多数时候指的是把连续的影像和声音信息经过压缩处理后放上网站服务器,让用户一边下载一边观看、收听,而不需要等整个压缩文件下载到自己机器就可以观看的视频/音频传输、压缩技术。
常见的流媒体格式mov .asf .3gp .viv .sw f .rt .rp .ra .rm各自的优缺点是什么?RM 格式是 RealNetworks 公司开发的一种流媒体视频文件格式,它主要包含RealAudio 、RealVideo 和 RealFlash 三部分。
Real Media 可以根据网络数据传输的不同速率制定不同的压缩比率,从而实现低速率的 Internet 上进行视频文件的实时传送和播放。
因为占用的存储空间小,大多普遍采用,多见于一些音乐网站RMMOV 格式 MOV 格式是美国 Apple 公司开发的一种视频格式,播放软件是苹果的QuickTimePlayer 。
具有较高的压缩比率和较完美的视频清晰度等特点,最大的特点还是跨平台性,即能支持 MacOS ,同样也能支持 Windows 系列。
用的也比较少,多用于教学类的ASF 格式最大优点就是体积小,因此适合网络传输ASF 是一个开放标准,它能依靠多种协议在多种网络环境下支持数据的传送。
同JPG 、MPG 文件一样,ASF 文件也是一种文件类型,但它是专为在IP 网上传送有同步关系的多媒体数据而设计的,所以 ASF 格式的信息特别适合在 IP 网上传输。
ASF 文件的内容既可以是我们熟悉的普通文件,也可以是一个由编码设备实时生成的连续的数据流,所以 ASF 既可以传送人们事先录制好的节目,也可以传送实时产生的节目。
SWF 是基于 Macromedia 公司 Shockwave 技术的流媒体动画格式,是用 Flash 软件制作的一种格式,源文件为 .fla 格式,由于其体积小、功能强、交互能力好、支持多个层和时间线程等特点,故越来越多地应用到网络动画中。
SWF 文件是Flash 的其中一种发布格式,已广泛用于 Internet 上,客户端安装 Shockwave 的插件即可播放。
目前, Flash 在 Internet 的主要应用有:rm 和 ra 格式:主要用来在低速率的网络上实时传输活动视频影像,可以根据网络数据传输速率的不同而采用不同的压缩比率,在数据传输过程中边下载边播放视频影像,从而实现影像数据的实时传送和播放。
MPEG系列标准的比较及其关键算法MPEG标准主要有以下五个,MPEG-1、MPEG-2、MPEG-4、MPEG-7及MPEG-21等。
该专家组建于1988年,专门负责为CD建立视频和音频标准,而成员都是为视频、音频及系统领域的技术专家。
及后,他们成功将声音和影像的记录脱离了传统的模拟方式,建立了ISO/IEC1172压缩编码标准,并制定出MPEG-格式,令视听传播方面进入了数码化时代。
因此,大家现时泛指的MPEG-X版本,就是由ISO(International Organization for Standardization)所制定而发布的视频、音频、数据的压缩标准。
MPEG标准的视频压缩编码技术主要利用了具有运动补偿的帧间压缩编码技术以减小时间冗余度,利用DCT技术以减小图像的空间冗余度,利用熵编码则在信息表示方面减小了统计冗余度。
这几种技术的综合运用,大大增强了压缩性能。
MPEG-1标准:MPEG-1内容:MPEG-1是MPEG组织制定的第一个视频和音频有损压缩标准。
MPEG-1标准(ISO/IEC1l 1 72)制定于1992年,是针对1.5Mbit/s以下数据传输率的数字存储媒体运动图像及其伴音编码设计的国际标准。
该标准包括5个部分:第1部分说明了如何根据第2部分(视频)以及第3部分(音频)的规定,对音频和视频进行复合编码。
第4部分说明了检验解码器或编码器的输出比特流符合前3部分规定的过程。
第5部分是一个用完整的C语言实现的编码和解码器。
1992年底,MPEG-1正式被批准成为国际标准。
MPEG-1是为CD光碟介质定制的的视频和音频压缩格式。
一张70分钟的CD光碟传输速率大约在1.4Mbps。
而MPEG-1采用了块方式的运动补偿、离散馀弦变换(DCT)、量化等技术,并为1.2Mbps传输速率进行了优化。
MPEG-1随后被Video CD采用作为核心技术。
MPEG-1的输出质量大约和传统录像机VCR,信号质量相当,这也许是Video CD在发达国家未获成功的原因。
流媒体传输的基本原理流媒体服务器架设流媒体技术也称为流式传输技术,是指在网络上按时间先后次序传输和播放的连续音、视频数据流。
随着网络速度的提高,以流媒体技术为核心的视频点播、在线电视、远程培训等业务开展得越来越广泛。
本章主要介绍流媒体技术的基础知识、流媒体服务器的安装、运行、配置和使用等流媒体技术基础流媒体是指利用流式传输技术传送的音频、视频等连续媒体数据,它的核心是串流(Streaming)技术和数据压缩技术,具有连续性、实时性、时序性3个特点,可以使用顺序流式传输和实时流式传输两种传输方式。
本节主要介绍有关流媒体的技术基础。
23.1.1 流媒体传输的基本原理实现流式传输需要使用缓存机制。
因为音频或视频数据在网络中是以包的形式传输的,而网络是动态变化的,各个数据包选择的路由可能不尽相同,到达客户端所需的时间也就不一样,有可能会出现先发的数据包却后到。
因此,客户端如果按照包到达的次序播放数据,必然会得到不正确的结果。
使用缓存机制就可以解决这个问题,客户端收到数据包后先缓存起来,播放器再从缓存中按次序读取数据。
使用缓存机制还可以解决停顿问题。
网络由于某种原因经常会有一些突发流量,此时会造成暂时的拥塞,使流数据不能实时到达客户端,客户端的播放就会出现停顿。
如果采用了缓存机制,暂时的网络阻塞并不会影响播放效果,因为播放器可以读取以前缓存的数据。
等网络正常后,新的流数据将会继续添加到缓存中。
虽然音频或视频等流数据容量非常大,但播放流数据时所需的缓存容量并不需要很大,因为缓存可以使用环形链表结构来存储数据,已经播放的内容可以马上丢弃,缓存可以腾出空间用于存放后续尚未播放的内容。
当传输流数据时,需要使用合适的传输协议。
TCP虽然是一种可靠的传输协议,但由于需要的开销较多,并不适合传输实时性要求很高的流数据。
因此,在实际的流式传输方案中,TCP协议一般用来传输控制信息,而实时的音视频数据则是用效率更高的RTP/UDP等协议来传输。
常见音频、视频和图像格式(一)音频格式1、RA格式RealAudio格式是一种流式音频媒体格式,RM格式则是流式视频RealVedio文件格式,主要用来在低速率的网络上实时传输活动视频影像,可以根据网络数据传输速率的不同而采用不同的压缩比率,在数据传输过程中边下载边播放视频影像,从而实现影像数据的实时传送和播放。
2、WAV格式是微软公司开发的一种声音文件格式,它符合PIFFResource Interchange File Format 文件规范,用于保存WINDOWS平台的音频信息资源,被WINDOWS平台及其应用程序所支持。
WAV格式的声音文件质量和CD相差无几,WAV格式对存储空间需求太大不便于交流和传播。
也是目前PC机上广为流行的声音文件格式,几乎所有的音频编辑软件都“认识”WAV格式。
3、WMA格式WMA (Windows Media Audio) 格式是来自于微软。
音质要强于MP3格式,更远胜于RA格式,是以减少数据流量但保持音质的方法来达到比MP3压缩率更高的目的,WMA的压缩率一般都可以达到1:18左右,适合在网络上在线播放,作为微软抢占网络音乐的开路先锋可以说是技术领先、风头强劲,更方便的是不用象MP3那样需要安装额外的播放器,而Windows操作系统和Windows Media Player的无缝捆绑让你只要安装了windows操作系统就可以直接播放WMA音乐,新版本的Windows Media Player7.0更是增加了直接把CD光盘转换为WMA声音格式的功能,在新出品的操作系统Windows XP中,WMA是默认的编码格式。
4、MP3格式:MP3格式诞生于八十年代的德国,所谓的MP3也就是指的是MPEG标准中的音频部分,也就是MPEG音频层。
MPEG音频文件的压缩是一种有损压缩,基本保持低音频部分不失真,但是牺牲了声音文件中12KHz到16KHz高音频这部分的质量来换取文件的尺寸,音质要次于CD 格式或WAV格式的声音文件。
视频编码格式全面解析咱们在详解各类主流的视频格式之前,先抛开各类视频格式的概念,来讨论如此一件情形:你感觉目前的视频格式编码混乱吗?相信那个问题问出来,许多、、不同知识层次的人有不同的试探,可是答案却都有一个一起点确实是:“混乱”。
从咱们在接触网络上面看电影以来,就会碰到从原先咱们熟知的RMVB格式的视频到后来接触的、3GP等格式的视频就会感到什么缘故一样是AVI的视频,我的MP4却不支持,而他人的就能够够呢?那个地址就涉及到了视频编码与封装格式的问题。
本文主若是针对视频编码进行讨论,以后会在下次为大伙儿讲解一下关于封装格式的问题。
所谓视频编码方式确实是指通过特定的紧缩技术,将某个视频格式的文件转换成另一种视频格式文件的方式。
目前视频流传输中最为重要的编解码标准有国际电联的,运动静止图像专家组的M-JPEG和国际标准化组织运动图像专家组的MPEG系列标准,另外在互联网上被普遍应用的还有Real-Networks的RealVideo、微软公司的WMV和Apple公司的 QuickTime等,到目前google力推的WebM格式都收到了咱们的关注。
以下咱们会为大伙儿就主流的视频编码做一下讲解。
视频国际标准化相关组织的的ISO和ITU-T格式的统一确信会极大地提高人们的生活的便利和数据的传播,什么缘故还会有如此繁多的视频编码的方式,莫非就没有专门机构或组织来治理一下吗?带着这些疑问咱们熟悉一下底下的两个机构。
■ ITU-TITU-T的中文名称是国际电信联盟远程通信标准化组织(ITU-T for ITU Telecommunication Standardization Sector), 它是国际电信联盟治理下的专门制定远程通信相关国际标准的组织。
由ITU-T指定的国际标准通常被称为建议(Recommendations)。
由于 ITU-T是ITU的一部份,而ITU是联合国下属的组织,因此由该组织提出的国际标准比起其它的组织提出的类似的技术标准更正式一些。
安防监控系统的视频编码格式选择随着科技的发展和进步,安防监控系统成为了我们日常生活中不可或缺的一部分。
安防监控系统通过视频监控,可以实时监测和记录各种场景下的情况,从而提升安全性和追踪能力。
而在搭建安防监控系统时,视频编码格式的选择是至关重要的一环。
不同的视频编码格式会对监控数据的传输、存储、画质等方面产生影响,因此需要根据实际需求来选择合适的视频编码格式。
1. H.264编码H.264是一种高效的视频编码标准,被广泛应用于安防监控系统中。
它具有良好的压缩比和画质表现,能够在有限的带宽情况下保持较高的视频质量。
H.264编码能够将视频数据压缩至较小的文件大小,节省存储空间,同时也降低了视频传输的带宽要求,适用于网络带宽较低或存储空间有限的场景。
2. H.265编码H.265是H.264的升级版,被称为高效视频编码(HEVC),在一定程度上解决了H.264编码中的一些问题。
H.265编码具有更高效的压缩性能和更出色的画质表现,相对于H.264编码来说,能够在相同的画质下提供更小的文件大小。
然而,H.265编码的编解码复杂度更高,需要更高的硬件要求才能正常运行。
因此,在选择H.265编码时需要考虑到系统硬件的支持情况。
3. MPEG-4编码MPEG-4是一种经典的视频编码标准,也广泛应用于安防监控系统中。
MPEG-4编码相对于H.264和H.265来说,压缩性能较差,但在网络传输时仍然具有较好的表现。
MPEG-4编码适用于网络带宽要求相对较高的场景,同时能够保证视频的播放稳定性和流畅性。
4. MJPEG编码MJPEG是一种基于帧的视频编码标准,将视频流分为一帧一帧的图像进行压缩。
相对于H.264和H.265编码来说,MJPEG编码对硬件要求较低,但在压缩比和存储空间利用率方面稍逊一筹。
MJPEG编码适用于对实时性要求较高的场景,如运动检测和快速响应的应用,能够提供更快的图像传输速度。
综上所述,安防监控系统中的视频编码格式选择取决于实际需求和场景特点。
各种视频文件格式介绍平时,我们用视频编辑软件对视频文件进行编辑时,经常会遇到各种格式的文件,其中常用的视频文件分为影像文件和流式文件两大类。
前者如VCD、动画CD等,它们包含了大量的图像和声音信息;后者主要指那些随着现代网络技术发展而出现的“即时播放”视频文件。
伴随这两种类型文件存在的是相应的文件格式,分别被称为:影像格式(Video Format)和流格式(Streaming Video Format),它们各自又都包含多种类型的文件格式。
下面就这些常用视频文件格式做一些简单的介绍。
一、影像格式(Video Format)经常租盘看大片的朋友一定还记得店家拿给你的是VCD光盘,还有你到音像店买音乐MTV时,看到的也都是刻录了声音和图像的VCD/DVD盘,这些就是由影像格式文件制作成的,它们因为承载了大量的信息,文件量一般都在十几MB到几十MB,有的也有上百MB了。
我们在日常生活中主要用到的影像文件格式有:1.AVI(Audio Video Interleaved)格式AVI是视频音频交织文件格式的英文缩写,它早在微软Win3.1时代就已经开始服役了,所以名声也比较大。
它是微软公司开发的一种符合RIFF文件规范的数字音频和视频文件格式。
AVI格式允许视频和音频交织在一起同步播放,这是因为在AVI里音频和视频文件是分开存储的,因此我们可以把一个视频中的图像与另一个或者几个AVI格式视频文件中的声音或图像结合在一起,产生新的AVI视频文件。
另外,AVI支持256色和RLE压缩,但压缩并无确定标准,这就要求必须使用相应的解压缩算法对其解压缩后才可以播放。
很早版本的AVI仅仅可以使用微软的视窗/视频操作环境VFW(Microsoft Video For Windows),但随着技术的发展,现在它已被大多数操作平台支持。
AVI采用的是帧内压缩的方式,因此,每一帧图像之间没有必然的关联,也因此方便了后期的画面剪辑可以精确到帧。
第37卷第8期 2003年8月上海交通大学学报JOU RNAL O F SHAN GHA I J I AO TON G UN I V ER S IT YV o l .37N o.8 A ug .2003 收稿日期:2002206227作者简介:汤 力(19762),男,安徽肥东人,博士生,主要研究方向为图像和视频信号处理.余松煜(联系人),男,教授,博士生导师,电话(T el .):021*********;E 2m ail :syyu @cdtv .o rg .cn . 文章编号:100622467(2003)0821320205基于M PEG 24的网络视频流式传输方案汤 力, 余松煜(上海交通大学图像通信与信息处理研究所,上海200030)摘 要:介绍了M PEG 24的系统框架,在此基础上给出了一个在网络上传输视频的流式解决方案.该方案在视频子系统利用M PEG 24先进的视频技术使其具有压缩率高、容错性能好、扩展能力强、适应范围广等优点.在网络子系统,采用M PEG 24提供的DM IF 框架,可以适应多种传送层技术,因此具有很强的灵活性.实验结果表明,所提出的系统可应用于诸如网络视频点播等流媒体应用场合.关键词:流媒体;视频编码;网络技术中图分类号:TN 911.73 文献标识码:AA V ide o S tre am ing S chem eB a s e d on M P EG 24TA N G L i , YU S ong 2y u(In st .of I m age Comm un icati on &Info rm ati on P rocessing ,Shanghai J iao tong U n iv .,Shanghai 200030,Ch ina )Abs tra c t :T h is p ap er p resen ted a schem e on the video stream ing over netw o rk .Som e sup eri o rity ofM PEG 24techno logy w as po in ted ou t ,w h ich can satisfy the requ irem en ts of the stream ing ,and a general fram ew o rk of M PEG 24w as show n ,based on w h ich the schem e is in troduced .T he w ho le schem e is divided in to tw o sub system s ,nam ely ,the video sub system and the netw o rk sub system .T he exp eri m en tal resu lts show the p resen ted schem e can be app lied to such a field of stream ing as video on dem and (VOD )over net 2w o rk .Ke y w o rds :stream ing ;video coding ;netw o rk techno logy 流媒体技术是指使连续的媒体流通过网络的同时在客户机端播放的技术.客户机端不必等待媒体流完全下载到本地即可播放,减少了对本地存储空间的占用,同时也在一定程度上保护了媒体内容的著作权.流媒体技术对媒体流的要求是:媒体流的结构要符合一边下载一边观看的需要;高的压缩效率;良好的容错性能以适应恶劣的网络环境.M PEG 24是继M PEG 21、M PEG 22之后由M PEG 专家组推出的又一个重要的视音频编解码标准[1,2],支持宽码率范围(64kb s ~8M b s ),自然与合成视频的对象基编解码以及多种网络交互环境.其提供的容错韧性(E rro r R esilience )工具可适应恶劣的传输信道环境.目前对M PEG 24的研究接近实用化,已开发出一些部分符合M PEG 24标准的软件和硬件平台,如H ari 等[3]首次实现DM IF (D elivery M u lti m edia In 2tegrated F ram ew o rk )协议,并在其上传输M PEG 24对象基的音视频内容;M laden 等[4]用多核片上系统(SO C )实现M PEG 24A S (A dvanced Si m p le )P ro 2file 视频的解码.本文介绍了M PEG 24的系统框架,给出基于M PEG 24的网络视频流式传输方案,用于网络KOD (Kara O K on D em and )系统.1 系统框架M PEG 24系统分为3层:压缩层(CL 层)、同步层(SL 层)和复用传送层(T ran s M ux 层).从编码的角度看,压缩层对视音频输入进行编码以产生ES (E lem en tary Stream )流;同步层给ES 流加上时间信息以保证唇音同步以及各媒体对象间的同步,复用传送层负责M PEG 24内容的复用并将其存为文件或在网络上传送.压缩层和同步层的接口称为ES I (E lem en tary Stream In terface ),而同步层与复用传送层的接口称为S M I (Stream M u lti p lex ing In terface ).基于M PEG 24的系统框架,网络视频流式传输系统分为视频子系统和网络子系统两部分.视频子系统利用M PEG 24的视频技术[5,6],具有灵活性高、可扩展性强、压缩率高、容错性能好等优点.为了适应多种传递技术,M PEG 24并未制定网络层的具体规范,只是提供一个DM IF [7]用以屏蔽多种网络技术的差异以及网络内容存取与本地内容存取的差异.在M PEG 24之前已有几种用于流媒体的网络协议,其中较为成熟的有实时流协议(R T SP )[8],然而这些协议本质上是为单个媒体流服务的,而M PEG 24往往涉及多个并发的媒体流,若利用这些协议,需要作较大的修改.DM IF 可以支持多个媒体流的并发传送,适合传递M PEG 24的内容.2 视频子系统2.1 服务器端视频子系统服务器端视频子系统如图1所示,有4个主要模块:B IFS (B inary Fo rm at fo r Scenes )编码器、视频编码器、SL 层打包 解包器、M P 4文件读写器.此视频子系统向外提供ES 流.ES 流有3个来源:从M P 4文件中读取、摄像头的实时视频经视频编码后图1 服务器端的视频子系统F ig .1 V ideo sub system at server得到、从原始视频文件(YU V 文件)中读取的源序列经视频编码器编码得到.2.1.1 B IFS 编码器 B IFS 编码器负责从场景描述信息生成B IFS 流和OD (O b ject D escri p to rs )流.M PEG 24的内容是按对象组织的,采用B IFS 来描述各媒体对象的时间和空间关系.在B IFS 中,各对象用节点表示,整个场景描述呈现一种树型结构,各节点通过其域值(field )表达对象的属性.节点有多种类型,可分为共亨节点、2D 节点、3D 节点和混合的2D 3D 节点,分别用于描述自然和合成的音视频对象、网格对象、人脸对象.场景描述中除了节点定义之外还有路由(rou te )的定义.当某个事件发生时,rou te 将此事件的影响从一个节点引导向另一个节点,以实现各媒体对象间的交互以及人与媒体的交互,如用户单击某个媒体对象以控制其属性.B IFS 流又可分为两类:B IFS 命令流和B IFS 动画流.B IFS 命令流(B IFS Comm and Stream )用于向场景中添加或删除对象,改变对象的属性或更换场景描述,它是一个命令帧(Comm andF ram e )序列.Comm andF ram e 的语法结构为class Comm andF ram e (B IFSConfig cfg ){ do { Comm and comm and (cfg ); b it (1)con tinue ; }w h ile (con tinue );}其中,结构参数cfg 对此B IFS 流进行配置,命令comm and 可以是In serti onComm and (插入)、D ele 2ti onComm and (删除)、R ep lacem en tComm and (替代)或SceneR ep laceComm and (场景替代).B IFS 动画流(B IFS A n i m ati on Stream )是由一系列动画帧(A n i m ati onF ram e )构成,A n i m ati on 2F ram e 的结构为classs A n i m ati onF ram e (B IFSConfig cfg ){ A n i m ati onF ram eH eader header (cfg .an i m M ask ); A n i m ati onF ram eD ata data (cfg .an i m M ask ); }其中,header 给出动画掩模、帧速率、时间码等信息,data 以绝对值(In tra 模式)或预测误差(In ter 模式)的形式给出动画的节点或域值的参数.2.1.2 视频编码器 视频编码器模块负责原始视频的编码,对于视频的简单类(Si m p le P rofile ),视频编码器的结构类似于H .263,包括运动估计、离散余弦变换(DCT )、量化、反量化、H uffm an 编码等模块,另外还具有H .263所没有的M PEG 24提供的容1231 第8期汤 力,等:基于M PEG 24的网络视频流式传输方案错弹性(E rro r R esilience)工具,包括再同步、数据恢复、错误掩盖和错误刷新.再同步机制类似M PEG22的slice层语法提供的功能.在M PEG24中以视频包作为再同步单位.由于错误发生的随机性和码字的不均匀性,M PEG2 4决定使用固定比特数的视频包.当当前视频包中的比特数超过一个预定的门限时,在下一个宏块的开始处就创建一个新包.视频包中含有重新开始解码过程所必要的信息.在重新建立同步之后,用数据恢复工具恢复前面丢失的数据.数据恢复主要利用可逆变长码(RVL C)的逆向可解性进行.错误掩盖和刷新,首先将数据分区为纹理信息和运动信息两部分,中间插一个标志位“m o ti on m arker”.若纹理信息发生错误,则用运动信息从上一个解码的视频对象平面(VO P)中恢复出当前的纹理.错误刷新方法有两种:一是用帧内编码周期性或自适应地刷新视频对象平面或宏块;二是利用具有上行通道的帧间编码技术选择正确的参考帧从而避免误差扩散,称为N E W PR ED方式.N E W PR ED 方式适用于实时通信环境,而帧内刷新不仅适用于实时通信而且可用于广播和存储媒体中.实际使用时可将两种方式结合起来.M PEG24根据解码器的复杂程度推荐3种抵抗错误的操作模式:B asic、M edium和H igh.在B asic 模式中,VOL(V ideo O b ject L ayer)中:resync-m arker-disab led=0data-p artiti on ing=0reversib le-VL C=0在M edium模式中用到数据分区,也可选用RVL C 作为数据恢复工具.在H igh模式中,再同步标记、RVL C和数据分区都是强制需要的.2.1.3 SL层打包 解包器 SL层打包 解包器负责将ES流打成SL包或从SL包序列中解出ES 流.打包时,它接受压缩层的ES流,根据对ES流的配置,打上适当的解码时间戳和组合时间戳,以指示解码器何时解码和组合,从而实现媒体同步和唇音同步,并保证解码缓冲器不上溢或下溢(在某些特定的情况下允许下溢).打包函数形式为sendD ata(ESdata,dataL ength,decodingT i m eStamp, compo siti onT i m eStamp,access U n itStartF lag, randomA ccessF lag,access U n itEndF lag, degradati onP ri o rity)解包时调用函数receiveD ata不仅可以得到ES流数据还可以得到时间戳等边信息.函数形式为 receiveD ata(ESdata,dataL ength,decodingT i m eStamp, compo siti onT i m eStamp,access U n itStartF lag, randomA ccessF lag,access U n itEndF lag, degradati onP ri o rity,erro rStatu s)SL包结构为 class SL-Packet(SL ConfigD escri p to r SL){ aligned(8)SL-PacketH eader slPacketH eader(SL); aligned(8)SL-PacketPayload slPacketPayload; }其中:slPacketH eader里存放时间戳和与随机存取有关的信息;slPacketPayload里就是ES的内容.2.1.4 M P4文件读写器 M P4文件读写器的主要功能就是从M P4的原子结构中提取所需的ES 流,这里不再详述.2.2 客户机端视频子系统客户机端的视频子系统如图2所示.解码器对ES流、B IFS流和OD流进行解码,组合器根据解码所得的场景描述信息进行对象组合,结果送往显示模块显示.图2 客户机端视频子系统F ig.2 V ideo sub system at clien t3 网络子系统网络子系统主要实现DM IF,它也分成客户机端和服务器端两部分,两者既有相同点也有不同之处.客户机端的网络子系统框图如图3所示.客户机端主要有3个模块:DM IF过滤器、DM IF服务提供层(D S层)、DM IF网络存取层(DNA层).DM IF过滤器根据用户的要求选择本地服务或远端服务.DM IF服务提供层以DA I(DM IF A pp licati on In terface)的形式向应用层提供DM IF服务,主要是实现有关服务建立和拆除、通道建立和拆除的几个函数.DM IF服务提供层可同时存在多个DM IF服务对象(D S对象)以同时提供多个DM IF服务,这些并发的对象由DM IF服务对象管理器管理. DM IF服务对象有两种类型,一种用于提供本地文件服务,它从M P4文件读取模块获取M P4文件中存储的媒体流数据;另一种用于提供远端服务,它和DM IF网络存取层交互.2231 上 海 交 通 大 学 学 报第37卷 图3 客户机端的网络子系统F ig .3 N etw o rk sub system at clien t DM IF 网络存取层负责处理端到端的网络控制信令,并实现DM IF 缺省信令协议(DD SP ).DM IF 网络存取层可以同时并发多个网络会话对象.网络会话对象管理T ran s M ux 通道的建立和DM IF 终端之间的会话.媒体流通过T ran s M ux 通道传送.所有的网络会话对象由网络会话对象管理器集中管理.DM IF 网络存取层通过DN I (DM IF N etw o rk In terface )提供它所实现的功能,这样就屏蔽了传送DD SP 消息的具体网络协议.将D S 层和DNA 层分离的好处是底层可以用各种不同的网络层协议.对于DD SP 控制消息,要保证能正确无误地传送,否则有可能使系统瘫痪,所以用传输控制协议(TCP )协议传输.网络会话对象管理网络会话,网络会话在会话初始化阶段需要建立一个TCP 连接,然后DM IF 消息将通过此TCP 连接传送.对于媒体数据流,TCP 协议不能保证实时传递,因此选择R T PU D P IP 协议.服务器端的网络子系统如图4所示.由图4可见,服务器端主要有3层:应用服务层、DM IF 服务提供层、DM IF 网络存取层.应用层根据客户机端的请求从视频子系统读取视频ES 流.应用服务层可同时并发多个应用服务对象,这些对象由应用服务对象管理器管理.应用服务层通过DA I 与DM IF 服务提供层交互,另外,应用服务层还完成视频ES 流的SL 层打包.DM IF 服务提供层、DM IF 网络存取层与客户机端类似,在此不再赘述.与客户机端不同,对客户机端的每一个请求服务器端都要生成一个线程为它服务.图4并发的每个线程都将包含系统的所有模块,包括DM IF 层和应用服务层.客户机与服务器会话的整个过程分为会话初始化、媒体流传输、会话结束3个阶段.在会话初始化图4 服务器端的网络子系统F ig .4 N etw o rk sub system at server阶段,服务器端向客户机端传送一个初始对象描述子(I OD ),接着建立通道传送描述子,控制命令通过控制平面传输,其路径为:客户端的DM IF 、网络传输协议栈(TCP IP )、服务器端的侦听进程、服务器端的DM IF .在媒体流传输阶段,客户机端根据I OD 和场景描述子,通过控制平面创建数据通道,各媒体对象由数据通道从服务器流向客户机.视频ES 流的传输路径依次为:服务器端视频子系统、SL 层打包器、网络层协议栈、客户机端网络层协议栈、客户机端解包模块、客户机端视频子系统.在会话结束阶段,拆除此次会话,释放与此会话相关的所有网络连接和其他资源.3231 第8期汤 力,等:基于M PEG 24的网络视频流式传输方案4 结 语本文给出了一个在网络上传输视频的流式解决方案.在视频子系统,利用M PEG24先进的视频技术使其具有压缩效率高、容错性能好、扩展能力强、适应范围广等优点.在网络子系统,采用M PEG24提供的DM IF框架,可以适应多种传送层技术,因此具有很强的灵活性.目前,视频子系统只考虑Si m p le P rofile视频类,对象基的视频工具以及诸如FGS[9](细粒度分级)等分级工具将是今后研究的内容.网络子系统方面,如何克服网络抖动的影响以及码率控制等问题还需要作进一步的研究.参考文献:[1] Fernando R.M PEG24:w hy,w hat,how,and w hen[J].Signa l Processi ng:I mage Co mm un ica tion,2000,15:271-279.[2] ISO IEC JTC SC29 W G11,N4030,M PEG24ove2rview[S].[3] H ari K,L i T,Jean F H.I mp lem en ting m u lti p lex2ing,stream ing and server in teracti on fo r M PEG24[J].IEEE Tran saction s on C ircuits and Syste m s forV ideo Technology,1999,9(8):1299-1312.[4] M laden B,H an s J S,Peter P.M u ltico re system2on2ch i p arch itectu re fo r M PEG24stream ing video[J].IEEE Tran saction s on C ircuits and Syste m s forV ideo Technology,2002,12(8):688-699.[5] ISO IEC1449621,Info rm ati on techno logy——gen2eric coding of audi o2visual ob jects,part1[S].[6] ISO IEC JTC SC29 W G11,N3908,M PEG24videoverificati on model versi on18.0[S].[7] ISO IEC1449626,Info rm ati on techno logy——gen2eric coding of audi o2visual ob jects,part6:deliverym u lti m edia in tegrated fram ew o rk[S].[8] R FC2326,R eal ti m e stream ing p ro toco l(R T SP)[S].[9] L iW P.O verview of fine granu larity scalab ility inM PEG24video standard[J].IEEE Tran saction s onC ircuits and Syste m s for V ideo Technology,2001,11(3):301-317. (上接第1319页)参考文献:[1] Doc ISO IEC JTC1 SC29 W G11 N040,M PEG22T est model5[S].[2] Jun X,M ing T S,Kou sou K.B it allocati on fo r j o in ttran scoding of m u lti p le M PEG coded video stream s[A].IEEE I n t Conf on M ulti m ed i a and Expo[C].Tokyo,Japan:IEEE Society P ress,2001.119-122.[3] W ang L M,V incen t A.B it allocati on and con2strain ts fo r j o in t coding of m u lti p le video p rogram s[J].IEEE Tran s on C ircuits and Syste m s for V ideoTechnology,1999,9(6):949-959.[4] Irene K,Pano s N,R abab W.Jo in t M PEG22codingfo r m u lti2p rogram b roadcasting of p rereco rded video[A].IEEE I n t Conf on Acoustics,Speech and Signa lProcessi ng[C].Paris,F rance:IEEE Society P ress,1999.2227-2230.[5] So rial H,L ynch W E,V incen t A.Jo in t b it2alloca2ti on fo r M PEG encoding of m u lti p le video sequencesw ith m in i m um quality2variati on[A].Proc IEEE I n tSy m on C ircuits and Syste m s[C].Geneva,Sw itzer2land:IEEE Society P ress,2000.9-12.[6] H sueh M H,J iann J C.Sou rce model fo r tran sfo rmvideo coder and its app licati on.Part .Fundam en2tal theo ry[J].IEEE Tran s on C ircuits and Syste m sfor V ideo Technology,1997,7(2):287-298.4231 上 海 交 通 大 学 学 报第37卷 。