富媒体标准LASeR 的研究_第1页
富媒体标准LASeR 的研究_第2页
富媒体标准LASeR 的研究_第3页
富媒体标准LASeR 的研究_第4页
富媒体标准LASeR 的研究_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

1、富媒体标准LASeR 的研究    摘 要:本文详细介绍一种关于富媒体新标准 LASeR(轻量级应用场景展现),它是由MPEG-4 part 20(ISO/IEC 14496-20)定义的富媒体新标准。LASeR 是在SVG 矢量图形以及媒体场景扩展的基础上对场景进行描述,它具有XML 格式和二进制格式两种。LASeR 能为用户提供更好的交互性和灵活性,适用于手机等移动嵌入式消费电子设备。接着介绍了LASeR 时域展现和空域展现。最后以一个LASeR 码流片段为例介绍了各部分的实现。关键词:LASeR ;SVG;RichMedia;XML中图分类号:TN

2、919.811 引言随着便携式设备硬件能力的加强与网络通信服务的发展,人们越来越不满足于传统的文字、图片下载后浏览等获取信息的方式。当流媒体点播业务方兴未艾,并日益成为下一个业务增长点时,如何对用户终端提供更多样、更生动、更具有交互性,更具有个性化特色的多媒体业务,成为业界关注的主要方向。而各种富媒体技术的出现和发展为传统的网络音视频服务提供了新的机会。2 富媒体富媒体(Rich Media)是由音频、视频、图形、文本、动画等多媒体数据组成的动态可交互集合。富媒体的最大特点是它能够呈现动态的运动。如:一个流视频的新闻联播,或是一个持续自我更新的股票行情报价器(stock ticker)。富媒体

3、系统可以被看成是一个客户-服务器结构,由三个主要部分组成:富媒体服务器,传输机制和富媒体用户。如图1-1 所示。服务器端为输入端,富媒体内容包括场景描述,如不连续的图像和连续的音视频等元素。场景描述可以通过场景更新命令来动态的更新。富媒体内容可以连同一些附加信息,如:媒体同步,解释数据,媒体数据包追踪信息等,封装在一个容器格式中。然后,富媒体系统利用不同的传输机制来完成下载,最终在用户端实现对富媒体内容的播放,并允许本地和远程的对信息回馈和数据要求的互动。Rich Mediacontent (scenes,scene updates,discrete andcontinuous mediaCo

4、ntainerFormat /TransportPacketsRich Media ServerRemote InteractionMechanismsForward Transmission(Unicast, Multicast,Broadcast Downloadand StreamingProtocolsTransport MechanismsLocalInteractionMechanismsRich Media ClientRichMediaPlayerIs theplayerÕsrequestremote innature?sendrequestyesno图1-1 富媒体

5、系统结构框图13 LASeR 标准3.1 LASeR 简介LASeR(Lightweight Application Scene Representation) 1,轻量级应用场景展现标准,是由MPEG 组织制定的MPEG-4 part 20(ISO/IEC 14496-20)中定义的新的富媒体标准。LASeR-2-可以用来编码2D 场景并更新场景,它有XML 格式和二进制格式两种。其中二进制格式和场景表示(基于SVG Tiny)适用于将富媒体业务呈现到资源受限的设备上,一般是轻量级嵌入式设备,例如手机等。LASeR 的目的是满足所有富媒体在场景描述级别的服务要求:包括能够最优化的安排从SVG

6、3继承来的对象,并以此来描述富媒体场景;协调一致的扩展SVG;能够编码并传输LASeR 流,并重建SVG 内容。能够动态的更新场景,以此达到交互性,平滑性和连续性的服务。能够以简单有效的压缩方式来减少传输和解析的时间,并同时增大存储大小。具备有效的音视频接口,并且可以帧级同步。适应任意字体,包括OpenType 工业标准。LASeR 的基本标准包括压缩效率,编码,内存,展示等等。其他的目标包括:可分级性,对用户内容的适应性,格式的扩展性,定义小型规范(profile)的能力,实现J2ME 的可行性,错误恢复,和执行安全等。SAF(简单集合格式)是用来在多种传输通路中有效并且方便的传输LASeR

7、 数据和音视频内容的。这个多路技术设计的目的是能够将富媒体业务传输到资源受限的设备上,允许并且能够简单实现在低端设备上的有效的多路信号分离。SAF 是用来补充LASeR 的,以达到简单且交互的业务。3.2 LASeR 结构LASeR 是以抽象的接入单元定义的,它可以适应于多种协议的传输。LASeR 流可以和其它相关的媒体流一起打包成基于ISO 的媒体文件格式,如mp4,并且用可靠协议传输。简单集成协议SAF 是将LASeR 流和一些相关的媒体流集合到一起。SAF 流既可以用可靠协议也不可靠协议传输。LASeR 流也可以适用于其他传输协议,比如RTP,MPEG-2。图2-1呈现了LASeR 和S

8、AF 的结构:SVG Scene TreeLASeRCommandsBinary EncodingLASeRExtensionsSAFAudio Video Image Font ApplicationNetworkTransport图2-1 LASeR 和SAF 的结构1设计LASeR 系统解码器模型的目的是提供一个抽象的方式来描述符合ISO/IEC14496-20 的终端行为。它可以被发送者使用,用来估计缓冲管理和同步,以及当解码数据以基本流的形式被接收时,接收终端将如何表现。LASeR 系统解码模型包括一个计时模型和一个缓冲模型。LASeR 系统解码模型详细定义了:1(传输层)访问数据流

9、的概念上的接口。2对每个基本流的已编码数据的解码缓冲。3基本流解码器的行为。4从每个解码器已解码数据的综合内存。5送向合成器的综合内存的输出行为。-3-DeliveryLayerDecodingLayerCompositionLayerDBDBDBSAFDeMuxDecoderDecoderDecoderRTSP/RTPDBDBDBHTTPDecoderDecoderDecoderCompositionCBCBCBCBCBCBHTTP/SAFSessionRTSP/RTPSession图2-2 LASeR 系统的解码器模型1在上图中,发送端知道需要的解码缓存(DB)的大小,并传给接收终端。解码

10、缓存以字节为单位,当有数据传输时解码缓存器以所对应的基本流的最大比特速率填充;当没有数据传输时解码缓存器速率为0。最大的发送比特速率由发送端决定,在每个基本流建立时,它作为部分解码结构信息传输。4 空域约束关系和时域约束关系空域约束关系和时域约束关系是富媒体中重要的两个方面,可以通过场景来展现。4.1 空域约束关系LASeR 的场景描述主要基于SVG Tiny 1.1,并包含对部分SVG Tiny 1.22标准的支持。SVG 主要用于矢量图形与动画,使用XML 语法对场景进行描述,具有一定动态效果的描绘。而LASeR 在此基础上增加了一些对多媒体和移动终端的扩展。LASeR 将矢量图形,动画和

11、包括文字、图像、音视频媒体流等各种媒体或媒体流对象聚合到一起,并描述了媒体元素间的空间布局,时域组织与同步机制,对象的动态变化和对象间的相互作用等,并将这些元素与属性有序的组织在一起,构成符合DOM 标准的场景树。LASeR 使用一定的渲染器和渲染算法对DOM 树进行渲染,完成场景展示的功能。SVG 的空间布局,虚拟了嵌入式终端的屏幕,并主要使用坐标点的方式,对某一对象的具体展现位置,大小等进行定义,从而确定了媒体对象的空间位置。并可以动态改变空间布局的属性,从而改变对象在空间的位置。4.2 时域约束关系LASeR 在时间模型中,定义了两个时间轴。分别是媒体(MediaTime)时间轴和场景(

12、SceneTime)时间轴。LASeR 接入单元按mediaTime 对LASeR 数据单元进行发送,所以媒体时间没有一个明确的起始点,它的时标(TimeScale)在传输层中定义。而场景时间,是相对于场景来说的。而每遇到或新建一个新的场景,场景的场景时间就重新设为0,即从0 开始,它的时标(TimeScale)由LASeR 本身的语法定义。LASeR 中事件发生的时间,都是相对于场景时间来描述。SVG 的时域组织继承了SMIL4时间处理和同步模型。它以对象属性的方式,定义了对象媒体的开始结束等事件的发生时间,或相应事件的持续时间。而时间定义分为两种,绝对时间从当前应用场景的起始时间计算,和相

13、对时间相对于某一事件发生时间开始计算。这两种时间都是相对于当前场景的场景时间来描述的。这样从新的场景开始算起,我们能推导出事件发生的时间和物体开始描绘或显示的时间,从而获得整个LASeR 场景的时间同步-4-关系。SVG 还扩展了SMIL4的相关定义,使场景对象的属性能够随时间进行变化,从而达到动画的效果。LASeR 使用SMIL4中的音视频元素对SVG 进行扩展,以使SVG 场景树支持多媒体的音视频码流。场景时间如图3-1 所示:NewScene xsceneTime(x) = mediaTime(x) mediaTime(NewScene)Within a scene segmentNew

14、Scene xsceneTime(y) = Ts0With more scene segmentsy zFirst scene segmentSecond scene segmentTs0sceneTime(z) = Ts0 + mediaTime(z) mediaTime(y)图3-1 场景时间及场景段1场景时间与媒体时间的关系为(不考虑TimeScale):ST(r) = MT(r) - MT(ns)一个RefreshScene 命令通常情况下是可以有任意的媒体时间的,但是包含在access unit中就会有为媒体时间而定义的场景时间。这允许终端在NewScene 发送后才"tu

15、ne in",或者在因为某种原因而没有接收到NewScene,在这样的情况下来建立场景时间。编码器可以计算场景时间的值,通过比较RefreshScene 的媒体体时间戳MT(rs)和前一个NewScene 的媒体时间戳MT(ns),然后发送MT(rs) - MT(ns)。当一个带有NewScene 的场景片段开始的时候,场景时间被重设置为0。在这样的场景        段中,laser access unit 的场景时间就是这个access unit 的媒体时间与邻近的前一个NewScene的媒体时间的差

16、值。当一个场景片断不是从NewScene 开始的时候,场景时间不会重置为0,并设Ts0 为这个新的场景片段所接收的第一个access unit 的最开始的场景片断的场景时间。在这样的场景片断中,laser access unit 的场景时间为这个access unit 的媒体时间与由在那个场景段增加Ts0后的第一个access unit 的媒体时间的差值来确定。注意:Ts0 会随着终端之间的传输时间的变化而产生变化。时间值由ticks 来编码。每秒钟ticks 的数量由laser 头的timeResolution 和 timeEncodingattributes 定义。“clipBegin”

17、and “clipEnd”属性,用来保持另一条流的媒体时间,采用预先定义的每秒1000 下作为计时单位。5 LASeR 场景描述一个场景描述包括以下四个方面:1媒体元素是如何在空间上排布的。如:视觉元素在空间上是怎样规划的。2媒体元素是如何在时间上排布的。如:是否采用同步及如何实现同步,何时起止。3场景中的元素是如何交互的。如:当用户用鼠标点击一个图片时。4如果场景会有变动,那么它是如何变动的。场景描述会因为动画而改变。在整个动画过程中,场景的不同状态可能是确定的(如:知道动画是何时开始的),也可能是不确定的。可确定的指的是带参数的动画,不确定的指的是由服务器发送的调整信号来决定的动画。场景描

18、述的序列顺序和它的时间修改统一称作-5-场景描述流。对于这些场景描述格式的规定就称作 LASeR。一个场景描述流就叫做一个LASeR 流。对于场景的修改就叫做LASeR 命令,命令在一个确定的时间作用于场景中的元素或者元素属性。将需要在同一时间执行的LASeR 命令集中成组,形成LASeR 接入单元(Access Unit)。LASeR 标准中定义的二进制的场景结构是基于W3C 定义的SVG3标准中的元素。一个LASeR 场景就是SVG3场景附加了LASeR 扩展。例如下面这个程序:<?xml version="1.0" encoding="UTF-8&qu

19、ot;?><saf:SAFSession xmlns:saf="urn:mpeg:mpeg4:SAF:2005" ><saf:sceneHeader><LASeRHeader /></saf:sceneHeader><saf:mediaHeader streamType="12" objectTypeIndication="6" streamID="font"/><saf:mediaUnit streamIDref="font&quo

20、t; ./><saf:sceneUnit><lsru:NewScene><svg width="480" height="360" viewBox="0 0 480 360" version="1.1"baseProfile="tiny"><defs><desc>this was a font</desc></defs><g transform="translate(165, 220)&qu

21、ot; font-family="TestComic" font-size="60" fill="black"stroke="none"><line x1="0" y1="0" x2="210" y2="0" stroke-width="1" stroke="#888888"/><text>test</text></g></svg>

22、</lsru:NewScene></saf:sceneUnit><saf:endOfSAFSession/></saf:SAFSession>在上述例子中,SVG3场景先被包在了一个NewScene 更新中,然后再被包装在SAF 包中。字体描述采取了MPEG-4 part 18 进行编码,取代了SVG3本身的字体描述,并且放在了SAF mediaUnit 中。在SAF mediaHeader 中的属性 streamType=”12” ,objectTypeIndication=”6”和streamID=”font”标示了SAF 流的内容。SAF

23、mediaHeader 和 SAFmediaUnit 通过streamID ”font” 连系在了一起,被编码成了一个数字,并且对于SAF 是局部严格的。Font-family=”TestComic” 和在SAF mediaUnit 中的被编码的字体通过字体名字发生联系,该联系是OpenType 编码的一部分。LASeR 定义了一种将众多场景划分成递增场景片段的方法,并允许针对不同场景片段建立服务。第一个场景片段包含一个NewScene 更新,拥有newSceneIndicator 比特位置位,而其他不是由NewScene 更新开始的的场景片断就被认为是第一个场景片段的附加部分。LASeR 头包括LASeRHeader 和LASeRUnitHeader 两部分。LASeRHeader 定义了LASeR 场景片段的解析和解码结构,它的属性有:profile,level,resolution,useFullRequestHost,pathComponents,newSc

温馨提示

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

评论

0/150

提交评论