基于MPEG-4的网络视频流式传输方案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第37卷第8期 2003年8月
上海交通大学学报
JOU RNAL O F SHAN GHA I J I AO TON G UN I V ER S IT Y
V 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 文献标识码:A
A V ide o S tre am ing S chem e
B a s e d on M P EG 24
TA 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 of
M 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 2
file 视频的解码
.本文介绍了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提供的容
1
231 第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=0
data-p artiti on ing=0
reversib 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 t
3 网络子系统
网络子系统主要实现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 P
U 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 层打包器、网络层协议栈、客户机端网络层协议栈、客户机端解包模块、客户机端视频子系统.在会话结束阶段,拆除此次会话,释放与此会话相关的所有网络连接和其他资源.
3
231 第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 PEG24ove2
rview[S].[3] H ari K,L i T,Jean F H.I mp lem en ting m u lti p lex2
ing,stream ing and server in teracti on fo r M PEG24
[J].IEEE Tran saction s on C ircuits and Syste m s for
V ideo Technology,1999,9(8):1299-1312.
[4] M laden B,H an s J S,Peter P.M u ltico re system2on2
ch i p arch itectu re fo r M PEG24stream ing video[J].
IEEE Tran saction s on C ircuits and Syste m s for
V ideo Technology,2002,12(8):688-699.
[5] ISO IEC1449621,Info rm ati on techno logy——gen2
eric coding of audi o2visual ob jects,part1[S].
[6] ISO IEC JTC SC29 W G11,N3908,M PEG24video
verificati on model versi on18.0[S].
[7] ISO IEC1449626,Info rm ati on techno logy——gen2
eric coding of audi o2visual ob jects,part6:delivery
m 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 in
M PEG24video standard[J].IEEE Tran saction s on
C 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 PEG22
T est model5[S].
[2] Jun X,M ing T S,Kou sou K.B it allocati on fo r j o in t
tran 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 con2
strain 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 ideo
Technology,1999,9(6):949-959.
[4] Irene K,Pano s N,R abab W.Jo in t M PEG22coding
fo r m u lti2p rogram b roadcasting of p rereco rded video
[A].IEEE I n t Conf on Acoustics,Speech and Signa l
Processi 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 it2alloca2
ti on fo r M PEG encoding of m u lti p le video sequences
w ith m in i m um quality2variati on[A].Proc IEEE I n t
Sy m on C ircuits and Syste m s[C].Geneva,Sw itzer2
land:IEEE Society P ress,2000.9-12.
[6] H sueh M H,J iann J C.Sou rce model fo r tran sfo rm
video coder and its app licati on.Part .Fundam en2
tal theo ry[J].IEEE Tran s on C ircuits and Syste m s
for V ideo Technology,1997,7(2):287-298.
4231 上 海 交 通 大 学 学 报第37卷 。