打印本文 关闭窗口 | |
MPEG—4 系统浅谈(二) | |
作者:佚名 文章来源:不详 点击数2150 更新时间:2007-5-18 2:51:39 文章录入:啊祖 责任编辑:啊祖 | |
|
|
与MPEG一2系统一样,MPEG—4系统也定义了定时模型和缓冲区模型,并且非常类似。 定时模型定义了时间参考机制,这样接收端就能够以此建立起时间的概念并处理与时间有关的事件。这样就允许接收端在跳过或不跳过某种特别媒体时仍可以保持同步,就如同在处理用户交互事件时一样。定时模型要求传输数据流中显示或隐式地包含时间信息。并定义了两种时间信息:时钟参考(CR)和时间标记(TS)。时钟参考常用来传输发送端相对于接收端的时间。时间标记用来传输特定事件的时间,例如,已编码的音视频信息的各个部分期望解码的时间,或是合成时间。 缓冲区能使发送端监视和控制在对话期间每一单独基本码流解码所需要的缓冲区的资源。所需要的缓冲区资源在对话开始前以基本流描述子的方式被送到接收端,这样接收端就可以决定是否有能力处理这一对话。在某些信息从缓冲区删除时,本模型允许发送端指定和调整数据的传输,使接收端的缓冲区不出现溢出。 2.1.3 基本码流接口(ESI) 基本码流接口(ESI:Elementary Stream Interface)是一个概念上的接口,规范了哪些数据是要在生成基本码流的实体与同步层之间进行交换的。在编码层和同步层之间传递的不仅仅是压缩的媒体,还有附加的信息,如时间码,AU单元的长度等。 然而,ISO/IEC 14496—l的一个实现不是必须要有ESI的。也可以是将SL-pscketized 流(后面会讲到)的解析和媒体数据的解压缩在同一个解码器中综合完成。要注意的是,即使这样,解码器在输入端通过DAI接收到的是打包序列而不是数据流。 欲从同步层接收基本流数据的ESI接口有许多参数,这些参数反映了在解析输入的SL—packetized流时接收到的一端的信息: ES.receiveData (ESdata,dataLength,idleFlag,objectClockReference,decodingTimeStamp,compositionTimeStamp,accessUnitStartFlag,randomAccessFlag,accessUnitEndF1ag,accessUnitLength,degradationPriority,errorStatus) 对于将基本码流发送到同步层有类似的接口,它要求下列参数随后会在同步层上被编码: ESI.sendData(ESdata,dataLength,idleFlag,objectClockRefence,decodingTimpStamp,compositionTimeStamp,accessUnitStartFlag,randomAccessFlag,accessUnitEndFlag,accessUnitLength,degradationPriority) 解码器及时准确地于定义的时刻从解码缓冲区中抽取AU单元后进行解码,解码得到一个和多个CU(Composition Unit)单元,送入合成器。一个解码器和多个解码缓冲区对应,即单个解码器可以解码多个同类型的基本码流。特别注意的是,因为MPEG—4标准支持多种类型的媒体,这里的解码器就不仅仅指MPEG-4视频格式的解码器了,也可以是其它视频格式的解码器、如MPEG2和MPEG1,还可能是静止图象地解码器,如Jpeg的解码器,音频的解码器或是其它格式媒体的解码器。不管传送任何一种格式媒体,都可以在这里挂上相应的解码器,这也是一种很好的扩展方式。例如,现在目前非常流行的Flash媒体格式,MPEG—4标准中没有定义支持这种格式,但是第三方可以较容易的将支持Flash的解码器挂到系统上,作为自己独特的应用,目前此项工作正在进行中。 |
|
打印本文 关闭窗口 |