您的位置:首页 > 其它

影视媒体的数字传输技术

2014-03-12 22:13 155 查看
from:http://210.28.216.200/cai/ysdmt/html/ZMl/5/5.5.5.htm

5.5.5 传输网络的协议

    1) Internet服务与协议

    Internet通常叫做TCP/IP网络,提供两种类型的服务:无连接服务(Connection-Less Service)和面向连接服务(Connection-Oriented Service)。任何Internet服务都必须使用这两种服务之一。对这两种服务,每个信息包都带有目的地址,而交换机就按照信息包的目的地址来发送信息包。

    (1) 面向连接服务

    在Internet网上,应用程序通过使用传输控制协议TCP(Transfer Control Protocol)来调用面向连接服务。面向连接服务的含义是,在开始发送信息包之前发送端和接收端要进行沟通,建立直接连接,并提醒对方准备接收信息包,然后才开始进入信息包的传送过程。面向连接服务提供有下列3种功能来确保信息包从发送端传送到接收端:

    ① 确认(Acknowledgements):当接收端收到信息包时,向发送端发送一个确认信号,当发送端收到确认信号时,说明相应的信息包已被对方接收到。

    ② 流程控制(Flow control):接收端也许因为忙于其它任务或限于它的处理能力,需要限制发送端发送信息包的速率,这可在开始沟通时告诉发送端所要限制的速率。

    ③ 拥塞控制(Congestion control):当交换机拥挤时,交换机中的缓存可发生溢出,导致信息包丢失,面向连接服务提供了一种机制(方法)来限制传输速率。

所以,TCP协议能提供可靠的数据传送服务。

    (2) 无连接服务

    在Internet网上,应用程序通过使用用户报协议UDP(User Datagram Protocol)来调用无连接服务。无连接服务的含义是发送端简单地把信息包送到网络上,在传送信息包之前发送端和接收端没有沟通的过程,也没有对方来的确认,因而也不知道目的地是否接收到。无连接服务既没有拥塞控制功能,也没有流程控制功能。

    目前,为大多数人比较熟悉的应用程序都使用TCP,也就是Internet的面向连接服务。这些服务包括telnet(用于远程登录),SMTP(用于电子邮件),FTP(用于文件传输)和HTTP(用于万维网Web)。然而,也有许多应用程序使用UDP,这些服务包括正在出现的多媒体应用,例如,Internet电话,声音点播,视频点播和电视会议等等。

    2) RTP/RTCP协议

    一直以来,依靠TCP/IP协议解决了Internet的多种应用。然而,像数字广播这样的多媒体应用却具有不同的要求,因此就需要不同的协议来提供所需要的服务。例如,在接收来自Internet的声音、电视或者要求时延很小的其它数据时,如果使用TCP/IP在实时播放过程中就可能会产生抖动(甚至是不能接受的抖动),使声音或者电视的质量明显下降。现在已经开发了并且继续在开发许多协议来加强Internet的体系结构,从而改善流媒体传输。实时传输协议/实时传输控制协议(RTP/RTCP:Realtime Transfer
Protocal/Realtime Transfer Control Protocol),资源保留协议(RSVP:Resource Reservation Protocol)和实时流协议(RTSP:Real-time Streaming Protocol)就是为实时多媒体在网络上的应用而开发的协议。

RTP/RTCP是互联网工程任务组(IETF:Internet Engineering Task Force)制定的,IETF是一个致力于互联网体系结构演进和发展的组织。RTP被定义为在一对一或一对多的传输下工作,针对实时应用而开发,用恒定速率紧凑单向的UDP数据包。当应用程序开始一个RTP会话时,将使用两个端口,一个给RTP;另一个给RTCP。RTP本身无法按顺序传送顺序数据包,没有提供可靠的传送机制,也无法保证流量控制或拥塞,它必须与RTCP一起来完成这些服务。RTP、RTCP和UDP配合使用能以最小的开销使传输效率最优化,所以适合于实时视频交互。

    (1) RTP协议

    RTP协议的信息包是RTP对数据传输的封装单位,典型的信息包由标题和负载组成,在协议中仅定义了标题数据格式,而不限制负载大小。负载与应用相关,如VoD利用RTP传输MPEG-1节目,负载则为MPEG-1Audio和MPEG-1 Video。核心是标题由4个信息包标题域和其它域组成:有效载荷类型(payload type)域,顺序号(sequence number)域,时间戳(timestamp)域和同步源标识符(Synchronization Source Identifier)域等。RTP信息包由16字节组成,其中最后4字节是CSRC域,是可选的,标题域的结构如下:

        表5.11 RTP信息包标题域的结构

Payload Type

(有效载荷类型)

7位
Sequence Number

(顺序号)

16位
Timestamp

(时间戳)

32位
Synchronization Source Identifier

(同步源标识符)

32位
Miscellaneous Fields

(其他)
    在流媒体传输中起重要作用的域如下:

    ① 有效载荷类型

    RTP信息包中的有效载荷域(Payload Type Field)的长度为7位,因此RTP可支持128种有效载荷类型。对于声音流,这个域用来指示声音使用的编码类型,例如PCM、自适应增量调制或线性预测编码等等。如果发送端在会话或者广播的中途决定改变编码方法,发送端可通过这个域来通知接收端。表5.12列出了目前RTP所能支持的声音有效载荷类型。

         表5.12 目前RTP所能支持的声音有效载荷类型

[align=center]有效载荷号[/align]
[align=center]声音类型[/align]
[align=center]采样率 [/align]
[align=center]数据率 [/align]
[align=center]0[/align]
[align=center]PCM mu-law[/align]
[align=center]8 kHz[/align]
[align=center]64 kbps [/align]
[align=center]1[/align]
[align=center]1016 [/align]
[align=center]8 kHz[/align]
[align=center]4.8 kbps [/align]
[align=center]2[/align]
[align=center]G.721[/align]
[align=center]8 kHz[/align]
[align=center]32 kbps[/align]
[align=center]3[/align]
[align=center]GSM[/align]
[align=center]8 kHz[/align]
[align=center]32 kbps [/align]
[align=center]6[/align]
[align=center]DVI[/align]
[align=center]16 kHz[/align]
[align=center]64 kbps [/align]
[align=center]7[/align]
[align=center]LPC [/align]
[align=center]8 kHz[/align]
[align=center]2.4 kbps [/align]
[align=center]9[/align]
[align=center]G.722[/align]
[align=center]8 kHz[/align]
[align=center]48-64 kbps [/align]
[align=center]14[/align]
[align=center]MPEGAudio[/align]
[align=center]90 kHz[/align]
[align=center]- [/align]
[align=center]15[/align]
[align=center]G.728[/align]
[align=center]8 kHz [/align]
[align=center]16 kbps [/align]
    对视频流,有效载荷类型可以用来指示视频编码的类型,例如Motion -JPEG,MPEG-1,MPEG-2或者H.231等等。发送端也可以在会话或者期间随时改变视频的编码方法。表5.13列出了目前RTP所能支持的某些电视有效载荷类型。

         表5.13 目前RTP所能支持的视频有效载荷类型

[align=center]有效载荷号[/align]
[align=center]电视格式 [/align]
[align=center]26[/align]
[align=center]Motion JPEG [/align]
[align=center]28[/align]
[align=center]- [/align]
[align=center]31[/align]
[align=center]H.261 [/align]
[align=center]32[/align]
[align=center]MPEG1 video [/align]
[align=center]33[/align]
[align=center]MPEG2 video [/align]
    ② 顺序号

    顺序号域(Sequence Number Field)的长度为16位。每发送一个RTP信息包顺序号就加1,接收端可以用它来检查信息包是否有丢失以及按顺序号处理信息包。例如,接收端的应用程序接收到一个RTP信息包流,这个RTP信息包在顺序号86和89之间有一个间隔,接收端就知道信息包87和88已经丢失,并且可采取措施来处理丢失的数据。

    ③ 时间戳

时间戳(Timestamp)域的长度为32字节。它反映RTP数据信息包中第一个字节的采样时刻(时间)。接收端可以利用这个时间戳来去除由网络引起的信息包的抖动,并且在接收端为播放提供同步功能。

    ③ 同步源标识符

    同步源标识符SSRC(Synchronization Source Identifier)域的长度为32位。它用来标识RTP信息包流的起源,在RTP会话或者期间的每个信息包流都有一个清楚的SSRC。SSRC不是发送端的IP地址,而是在新的信息包流开始时源端随机分配的一个号码。

    (2) RTCP协议

    RTCP和RTP一起使用,尤其是在多目标广播中更具吸引力。当从一个或者多个发送端向多个接收端广播声音或者电视时,也就是在RTP会话期间,每个参与者周期性地向所有其他参与者发送RTCP控制信息包,如图5.47所示。RTCP用来监视服务质量和传送有关与会者的信息。对于RTP会话或者广播,通常使用单个多目标广播地址,属于这个会话的所有RTP和RTCP信息包都使用这个多目标广播地址,通过使用不同的端口号可把RTP信息包和RTCP信息包区分开来。

    RTCP的主要功能是为应用程序提供会话质量或者广播质量的信息。每个RTCP信息包不封装声音数据或者电视数据,而是封装发送端和/或接收端的统计报表。这些信息包括发送的信息包数目、丢失的信息包数目和信息包的抖动等情况,这些反馈信息对发送端、接收端或者网络管理员都是很有用的。RTCP规格没有指定应用程序应该使用这个反馈信息做什么,这完全取决于应用程序开发人员。例如,发送端可以根据反馈信息来修改传输速率,接收端可以根据反馈信息判断问题是本地的、区域性的还是全球性的,网络管理员也可以使用RTCP信息包中的信息来评估网络用于多目标广播的性能。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐