一种支持QoS的网络视频传输方法
技术领域:
本发明属于网络视频传输领域,尤其涉及到网络环境变化过程中确保视频质量的网络视频传输。
背景技术:
IP网基于统计复用和分组交换技术,在需要同时传输语音、数据以及视频等多种业务时,其传统的“尽力传递”机制暴露出很多问题,其中最重要的一点就是无法为每一种业务提供端到端的带宽保证,会导致较大的传输延时和抖动。为此,必须通过技术手段对IP网进行优化,以减少网络本身对传输效果的影响,这些技术手段目前已经发展为IP体系中的一个重要分支,就是服务质量(QoS)。网络QoS技术分为三类,包括尽力而为服务、集成服务、差分服务,其中差分服务应用最广泛。在差分服务中,网络根据每一个数据包的QoS标记对数据包进行分类、排队和管理。这些标记可以是IP地址、TCP端口号或IP数据包中的特定字段。
实际的网络规划要求网络设备(如路由器)能够借助于复杂的流量管理***,通过多种技术提供QoS保证机制,根据业务类型划分不同的优先等级,然后根据这些优先级别分配网络资源。为了保证视频业务的带宽,路由器必须能够在通过的IP数据流中识别出视频业务数据包并对其分类,然后再通过拥塞管理机制提供带宽保证和优先传递服务。这样,在网络发生拥塞时,就可以保证语音和视频业务的传输效果了。
除了网络应该提供良好的QoS保障机制外,传输***设备本身也应该具有良好的QoS性能才能真正保证传输效果,这种性能主要体现在传输设备本身对恶劣网络环境的适应能力。设备本身对恶劣网络环境的适应能力将对传输效果产生较大的影响,这些适应能力包括IP优先权设置、IP包排序、IP包重复控制、IP包抖动控制、丢包重传以及速率自动调整等。
现有技术提供QoS保障机制的方式是:先发送一个数据包,待数据包接收完毕后检验是否丢包,如果丢包则重发,若无丢包则继续发送。现有技术有以下缺点:首先,要在丢包发生后才调整视频数据的速率,这时候图像失真已经产生了,已经对用户的使用体验产生影响,偏向于事后补救类的QoS技术;其次,这方面的QoS技术通常的实现不是丢一个数据包,就做出反馈,降低速率,而是需要对一段时间来进行统计,计算丢包率,根据丢包率来确定是否降低速率,这段时间通常是需要几秒,也就是***恢复时间较长,影响用户的使用;最后,现有视频传输通常采用RFC标准的RTP和RTCP协议,RTP协议负责传输媒体数据,RTCP负责传输控制信息,包括丢包率等网络状况信息,RTCP数据包一般周期为5秒发送一次,只发送一个数据包,而RTCP也是采用UDP的,也会出现丢包,如果丢失了,那么就必须等下一个RTCP的发送周期时间,终端设备才能收到网络状况信息,而且会造成丢包率统计的未能及时,终端设备不能准确判断网络状况,调整合适的速率。
发明的目的:
本发明的目的在于提供支持QoS的网络视频传输方法,在网络环境刚开始变差的时候就调整视频数据的速率,使得视频数据的速率跟网络环境匹配,增强用户使用体验。
发明内容:
本发明一种支持QoS的网络视频传输方法包括以下步骤:
a1)终端设备A在发送视频数据包的时候,获取本机的时间T1,将T1标记在RTP数据头部扩展信息一并发到终端设备B。
b1)终端设备B收到标记了时间T1的RTP数据记录本机时间T2。
c1)终端设备B在发送下一个RTP数据包时,先获取本机当前时间T3,然后计算延时,T4=T3-T2,将T5=T1+T4标记在RTP数据头部扩展信息发送至终端设备A。
d1)终端设备A收到附带T5的来自终端设备B的RTP数据后,提取T5,然后获取本机当前时间T6,计算延时T7=T6-T5。
e1)终端设备A计算的时间T7就是网络数据往返时间RTT。
f1)设定一个标准网络数据往返时间SRTT,当实际网络数据往返时间小于或等于标准网络数据往返时间时表示网络状况良好,返回到步骤a1)继续发送,当实际网络数据往返时间大于标准网络数据往返时间时表示网络状况不良,先调整音/视频速率,再返回到步
骤a1)继续发送。
需要说明的是上述时间T1、T2、T3、T4、T5、T6,其中T1、T2、T3、T5、T6为时间点,而T4、T7为时间段。而时间点T1、T2、T3、T5、T6均是基于一定终端的本机时间,其中T1、T5、T6为基于终端A的本机时间;T2、T3为基于终端B的本机时间。T4、T7这两个时间段含义如下:T4是终端B接收到数据后对数据进行处理所花费的时间;T7则是数据往返于网络所花费的时间。
本发明一种支持QoS的网络视频传输方法中设定了一个标准网络数据往返时间SRTT,当网络环境没有发生任何异常时,如前所述T7(数据往返于网络所花费的时问)小于或等于SRTT,而一旦发生网络拥塞或者网络环境突然变差,数据往返于网络所花费的时间T7就会突破SRTT。此时就需要降低视频速率进行传输,比如降低视频图像的分辨率、降低视频图像的帧率、降低视频图像的质量。
附图说明
图1为本发明一种支持QoS的网络视频传输方法的视频传输过程示意图。
图2为本发明一种支持QoS的网络视频传输方法的流程图。
具体实施方式:
下面结合说明书附图来说明本发明一种支持3G无线网络的三网融合智能终端的具体实施方式:
图1为本发明一种支持QoS的网络视频传输方法的视频传输过程示意图,图中设备A和设备B是对等的,时间轴沿着垂直方向,而水平方向的箭头所指方向为视频传输的方向。从图中可以看出在终端设备A的本机T1时刻,终端设备A向终端设备B发送数据包RTP(T1),在T5时刻,终端设备B向终端设备A发送数据包RTP(T5)。T5=T1+T4,T4=T3-T2,T4做为一个时间段,T5在T1的基础上加上一个时间段T4,所以T5也是针对终端设备A的本机时间。
图2为本发明一种支持QoS的网络视频传输方法的流程图,终端设备A在发送视频数据包的时候,先获取本机的时间T1,将T1标记在RTP数据头部扩展信息一并发到终端设备B。当终端设备B收到标记了时间T1的RTP数据记录终端B的本机时间T2,同时终端B对接收到的数据精选处理,然后准备发送,终端设备B在发送下一个RTP数据包时,先获取终端B的本机时间T3,然后计算延时,T4=T3-T2,将T5=T1+T4标记在RTP数据头部扩展信息发送至终端设备A。终端设备A收到附带T5的来自终端设备B的RTP数据后,提取T5,然后获取终端A本机当前时间T6,计算延时T7=T6-T5。根据网络环境设定一个标准网络数据往返时间SRTT,当实际网络数据往返时间小于或等于标准网络数据往返时间时表示网络状况良好,返回到步骤a1)继续发送,当实际网络数据往返时间大于标准网络数据往返时间时表示网络状况不良,先调整视频速率,在发送。