一种实时流媒体通讯传输方法转让专利

申请号 : CN200510100622.2

文献号 : CN1764184B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 夏正勋

申请人 : 中兴通讯股份有限公司

摘要 :

本发明提供了一种实时流媒体通讯传输系统和方法。这种方法包括以下步骤:一、在服务器中预存储服务器能够支持的各种QOS(在此处说明中文含义)策略,在客户终端预存储客户终端能够支持的各种QOS策略;二、客户端登陆时,客户终端与服务器预协商确定目前采用的QOS策略,并形成本地策略梯度表;三、服务器根据协商QOS策略结果,设定和各客户终端的转换、传输单元的设定;四、客户终端与服务器周期性地交流网络运行情况信息,根据交流信息,服务器或客户终端实时调整QOS策略。本发明通过综合考量预协定参考参数、当前网络状况、当前服务器的负载状态、传输目的端运行状态自适应地控制编码方式、传输方式,使整个系统运行在最佳状态。

权利要求 :

1.一种实时流媒体通讯传输方法,包括以下步骤:

一、在服务器中预存储服务器能够支持的各种QOS策略,在客户终端预存储客户终端能够支持的各种QOS策略;

二、客户终端登陆时,客户终端与服务器预协商确定目前采用的QOS策略,并形成本地策略梯度表;

三、服务器根据协商QOS策略结果,设定和各客户终端的编码及数据包格式的转换以及传输单元的传输方式;

四、客户终端与服务器周期性地交流网络运行情况信息,根据交流信息,服务器或客户终端实时调整QOS策略;

所述客户终端实时调整QOS策略的过程包括如下步骤:B1、客户终端周期性地检测网络状况、服务器负载、系统其他客户终端的运行状况;

B2、客户终端检测是否触发改变QOS策略的条件;

B3、客户终端如果触发了QOS策略改变条件,从本地策略梯度表中确定将要使用的QOS策略,并向服务器请求改变本地的QOS策略;

B4、服务器接收到客户终端请求,作出响应,并向客户终端反馈信息:B41、服务器接收到客户终端请求改变本地QOS策略的请求;

B42、服务器收集当前网络状况、服务器当前负载、其他客户终端运行状态;

B43、服务器预测接收QOS策略改变请求对系统整体性能造成的影响,根据策略管理规则,决定是否接受改变QOS策略请求;

B44、服务器如果不接受客户终端请求,向请求客户终端发送拒绝消息;如果接收,则向客户终端发送接收消息,同时改变与该客户终端编码及数据包格式的转换和传输单元的传输方式;

B5、客户终端接收到服务器的反馈,如果确认更改请求则改变本地QOS策略,否则不改变当前的QOS策略;

所述服务器实时调整QOS策略的过程包括如下步骤:C1、服务器周期性地获取当前与各客户终端连接的网络状况、服务器负载情况、系统各客户终端的运行情况;

C2、服务器根据服务器侧QOS策略改变规则确定是否需要调整个别客户终端的QOS策略,使系统运行在最佳状态;

C3、如果需要改变个别客户终端的QOS策略,服务器控制单元向客户终端QOS控制单元发送改变QOS策略命令;

C4、客户终端接收到服务器命令,作出响应,并向服务器反馈信息:C41、接收到服务器要求改变本地QOS策略的请求;

C42、检测要改变的QOS策略是否被本地支持;

C43、如果支持,则改变本地QOS策略,否则,不改变,并向服务器发送是否改变的确认信息,同时改变与服务器的编码及数据包格式的转换和传输单元的传输方式;

C5、服务器接收到客户终端的反馈消息,如果策略更改命令被接受,则修改与该客户终端相关的转换、传输方式。

2.根据权利要求1中所述的实时流媒体通讯传输方法,其特征在于,步骤一中的QOS策略包括编/解码策略单元和传输策略单元,各种策略按照一定的策略规则分类。

3.根据权利要求2中所述的实时流媒体通讯传输方法,其特征在于,上述的策略规则为考虑编码质量、传输时占用带宽、执行时对服务器的开销。

4.根据权利要求1或2或3中所述的实时流媒体通讯传输方法,其特征在于,步骤二中的协商的过程包括以下步骤:A1、利用RTCP协议进行收发包测试,通过RTCP RR计算发送数据的丢包率,估算当前客户终端侧的网络状况;

A2、客户终端向服务器发送客户终端的软硬件配置信息;

A3、服务器检索服务器预存储的策略库单元,前面协商的结果,确定客户终端侧能够采用的QOS策略,并返回给客户终端侧,客户终端形成本地策略梯度表。

5.根据权利要求1或2或3中所述的实时流媒体通讯传输方法,其特征在于,步骤四中的网络运行情况信息包括网络状况、服务器负载、系统各终端的运行状况信息。

说明书 :

技术领域

本发明涉及一种流媒体传输方法,更具体地涉及一种实时流媒体通讯传输方法。

背景技术

随着网络技术的发展,一种新的媒体技术应运而生,这就是流媒体技术。流媒体是指在网络中使用流式传输技术的连续时基媒体,如音频、视频或多媒体文件。流媒体技术在视频电话和视频会议系统中得到了极大的应用。当发生网络拥塞的时候,数据可能在出现瓶颈的路由器丢失,现有的视频通讯系统通常采用计算丢包率、比较发送和接收端的数据包处理间隔等手段来侦测当前的网络状况,动态地调整发送数据的比特率或丢弃视频帧仅发送音频帧来适应当前的网络传输状况。这种流媒体传输方法存在以下不足:
1、仅适应当前网络状况,而没有考虑传输的另外2个瓶颈:当前服务器的处理能力和传输目的端的处理能力。
例如:视频终端A将自己的视频流通过服务器传输给视频终端B,如果传输时,A与服务器的网络状况良好,但由于当前服务负载很重或视频终端B处理能力不足,视频终端B可能最终不能获得满意的视频通讯效果。
2、现有视频通讯系统采用的传输方式,没能考虑到视频通讯系统另一特点:接入视频通讯系统的各终端并非是对等的。
视频通讯系统的服务器作为服务中心,所有的终端都通过服务器与其他终端通讯,但各个终端的处理能力和与服务器的网络连接情况并不相同,也就是说视频通讯系统中的各终端并不是对等的,例如:一个通讯系统中,某个通过宽带网络与服务器连接的客户端采用占用大带宽的编码方法,消耗服务器大量系统资源,导致服务器性能降低,此时而对于处理能力弱、网络状况不好的终端则出现丢包率高,可能因此可能不能正常使用,此时即使调整其编码方式、传输方式也不能有效解决问题。又例如如果一个系统中采用统一的编码格式或传输模式,则对于处理能力强、网络状况好的终端不能获得更好的效果,而对于处理能力弱、网络状况不好的终端则可能因此不能正常使用。

发明内容

本发明所要解决的技术问题之一是提供一种能根据当前网络状况、当前服务器的负载状态、传输目的端运行状态自适应地调整控制服务器与终端之间的编解码行为和传输方式,从而协调不对等客户终端的工作方式,降低网络抖动的实时流媒体通讯传输方法。
本发明包括以下步骤:
一、在服务器中预存储服务器能够支持的各种QOS(quality of service,服务质量)策略,在客户终端预存储客户终端能够支持的各种QOS策略;
二、客户终端登陆时,客户终端与服务器预协商确定目前采用的QOS策略,并形成本地策略梯度表;
三、服务器根据协商QOS策略结果,设定和各客户终端的编码及数据格式的转换以及传输单元的传输方式;
四、客户终端与服务器周期性地交流网络运行情况信息,根据交流信息,服务器或客户终端实时调整QOS策略:
客户终端实时调整QOS策略的过程包括如下步骤:
B1、客户终端周期性地检测网络状况、服务器负载、系统其他客户终端的运行状况;
B2、客户终端检测是否触发改变QOS策略的条件;
B3、客户终端如果触发了QOS策略改变条件,从本地策略梯度表中确定将要使用的QOS策略,并向服务器请求改变本地的QOS策略;
B4、服务器接收到客户终端请求,作出响应,并向客户终端反馈信息:
步骤B4中的服务器作出响应,并反馈信息的过程包括如下步骤:
B41、服务器接收到客户终端请求改变本地QOS策略的请求;
B42、服务器收集当前网络状况、服务器当前负载、其他客户终端运行状态;
B43、服务器预测接收QOS策略改变请求对系统整体性能造成的影响,根据策略管理规则,决定是否接受改变QOS策略请求;
B44、服务器如果不接受客户终端请求,向请求客户终端发送拒绝消息。如果接收,则向客户终端发送接收消息,同时改变与该客户终端编码及数据包格式的转换和传输单元的传输方式。
B5、客户终端接收到服务器的反馈,如果确认更改请求则改变本地QOS策略,否则不改变当前的QOS策略。
服务器实时调整QOS策略的过程包括如下步骤:
C1、服务器周期性地获取当前与各客户终端连接的网络状况、服务器负载情况、系统各客户终端的运行情况;
C2、服务器根据服务器侧QOS策略改变规则确定是否需要调整个别客户终端的QOS策略,使系统运行在最佳状态;
C3、如果需要改变个别客户终端的QOS策略,服务器控制单元向客户终端QOS控制单元发送改变QOS策略命令;
C4、客户终端接收到服务器命令,作出响应,并向服务器反馈信息。
C5、服务器接收到客户终端的反馈消息,如果策略更改命令被接受,则修改与该客户终端相关的转换、传输方式。
步骤C4中的客户终端作出响应,并反馈信息的过程包括如下步骤:
C41、接收到服务器要求改变本地QOS策略的请求;
C42、检测要改变的QOS策略是否被本地支持;
C43、如果支持,则改变本地QOS策略,否则,不改变,并向服务器发送是否改变的确认信息,同时改变与服务器的编码及数据包格式的转换和传输单元的传输方式。
步骤一中的QOS策略包括编/解码策略单元和传输策略单元,各种策略按照一定的策略规则分类。
上述的策略规则为考虑编码质量、传输时占用带宽、执行时对服务器的开销。
步骤二中的协商的过程包括以下步骤:
A1、利用RTCP(实时传输控制协议)协议进行收发包测试,通过RTCP RR(接收端报告)计算发送数据的丢包率,估算当前客户终端侧的网络状况;
A2、客户终端向服务器发送客户终端的软硬件配置信息,例如:处理器性能、内存容量、网络通讯卡的吞吐量、本客户终端所能支持的编/解码类型、所支持的流媒体传输方式(例如是否支持差错校验、是否支持RUDP(可靠用户数据报协议)协议等等);
A3、服务器检索服务器预存储的策略库单元,前面协商的结果,确定客户终端侧能够采用的QOS策略,并返回给客户终端侧,客户终端形成本地策略梯度表。
步骤四中的网络运行情况信息包括网络状况、服务器负载、系统各终端的运行状况信息。
本发明通过综合考量预协定参考参数、当前网络状况、当前服务器的负载状态、传输目的端运行状态自适应地控制编码方式、传输方式,使整个系统运行在最佳状态。与传统实时流媒体通讯传输方法,本发明具有以下优点:
1、编解码行为、传输行为的调整考虑到当前网络状况、服务器状况、系统其他终端状况,以提升系统整体性能为目的,而不是仅仅考虑网络状况。
2、服务器集中调度QOS策略控制,协调不对等客户终端的工作方式,降低网络抖动。

附图说明

图1为实施本发明的系统构成图;
图2为本发明的一种应用环境示意图;
图3为本发明客户端自动适应流程图;
图4为本发明服务器集中调度流程图。

具体实施方式

以下结合附图1、2对本实施例进行详细描述,但不作为对本发明的限定。
如图2所示,视频通讯系统的服务器上策略库单元存储若干QOS策略,QOS策略由编/解码策略及传输策略组成,所有策略根据视频通讯质量、传输时占用带宽、执行时对服务器的开销分类。客户终端A、B、C分别通过移动网络、Internet、Intranet与服务器链接,客户终端的处理能力和网络状况各不相同,客户终端A为移动设备,处理能力弱,通过移动网络与服务器链接,网络带宽不大可能只有50几k,这样客户终端A只能选择对处理器要求低、占用带宽小的编解码算法和传输方式(例如:采用h.264、h.263、DivX、XVid编解码算法,采取大间隔时间发送视频I帧的传输方式);客户终端B的处理能力稍强,在Internet上传输数据,传输可以达到1M的带宽,这样客户终端B就可以选择对处理器要求稍高,占用带宽大的策略,(例如:编解码的图像大小设置更大,编码时使用高带宽),这样能够充分利用客户端B的资源,使B得到更好的服务;客户端C通过Intranet与服务器链接,网络带宽可能达到100M,这样C可以使用服务质量最好的QOS策略(例如可以在传输时采用差错控制算法、可以采用Mpeg-2(MPEG:运动图像专家组,隶属于国际标准化组织,曾经制定过两项被业界广泛采纳的标准:MPEG-1和MPEG-2)编解码算法等等)而不用太多去考虑视频通讯所占用的带宽。当客户终端A、B、C登陆视频通讯系统时,同服务器协商适合客户终端侧状况的QOS策略,当出现服务器负载过重、网络环境变化等情况时,客户端和服务器自动调整QOS策略,以保持整个系统的运行性能。为解决上述问题,本发明通过以下步骤具体实施:
步骤一、客户终端的预协商单元与服务器的QOS策略控制单元协商、确定客户终端能够支持的QOS策略,确认客户端当前采用的QOS策略,并形成本地策略梯度表。并形成本地策略梯度表。
协商的过程包括:
1)利用RTCP协议的进行收发包测试,通过RTCP RR计算发送数据的丢包率,估算当前客户终端侧的网络状况。
2)客户终端的预协商单元向服务器的QOS策略控制单元发送客户终端的软硬件配置,例如:处理器性能、内存容量、网络通讯卡的吞吐量、本客户终端所能支持的编/解码类型、所支持的流媒体传输方式(例如是否支持差错校验、是否支持RUDP协议等等)。
3)服务器的策略控制单元检索服务器端的策略库单元,前面协商的结果,确定客户终端侧能够采用的QOS策略,并返回给客户终端侧,客户终端形成本地策略梯度表。
通过协商,三个客户终端确认的QOS策略为:(实际的应用中QOS策略考量点更多,编解码算法、图像大小、带宽、传输时是否插入I帧等等,不一一列举。)
客户终端A:能够使用可变码流的H.264编解码算法,支持传输bitrate(比特率)范围为16kbps/40kbps/56kbps,仅能够使用不带差错控制的RTP/RTCP协议传输数据。
当前采用的QOS策略:编/解码算法H.26440kbps,传输采用不带差错控制的RTP/RTCP协议;
客户终端B:能够使用DivX、H.264编解码算法,其中使用DivX传输bitrate为128kbps,使用H.264传输bitrate为56kbps,可以使用不带差错校验的RTP/RTCP协议、带差错校验的RTP/RTCP协议传输数据。
当前采用的QOS策略:编解码算法DivX 128kbps,使用带差错校验的RTP/RTCP协议。
客户终端C:能够使用Xvid(一种MPEG-4编解码算法)、DivX(一种MPEG-4编解码算法)、H.264编解码算法,其中使用Xvid传输bitrate为1.5Mbps,DivX传输bitrate为512kbps,使用H.264传输bitrate为56kbps,可以使用RUDP协议、带差错校验的RTP/RTCP协议传输数据。当前采用的QOS策略:编解码算法XVid 1.5Mbps,使用RUDP协议。
步骤二、服务器根据协商QOS策略结果,设定和各客户终端的转换、传输单元的设定。因为本发明支持多种编码、多种传输方式,所以各个终端间要相互通讯必须进行编码格式的转换、数据包格式的转换。
例如:与客户终端A连接的输入单元当前仅接收采用H.26440kbps编码的不带差错控制的RTP/RTCP数据包格式,当客户终端B与A通讯时,必须将A的数据包转换成B当前支持的编解码算法DivX 128kbps,使用带差错校验的RTP/RTCP数据包输出到与B相连的输出单元。其他不一一类举。
步骤三、客户端的QOS控制单元周期性地与服务器端的控制单元交流当前客户终端侧的网络状况、当前服务器负载、当前客户终端的运行情况等等信息。通过这样双向的交流,根据交流信息,客户终端可以自我调整本地QOS策略适应当前系统运行,服务器可以知道所有系统的各终端的运行情况,进行综合考量调度,维护系统的整体运行性能。
步骤四、通过步骤三的信息,客户终端检测是否触发QOS策略改变条件,这些策略改变条件可以为网络带宽变化情况、也可以是服务器负载变化等等。触发QOS策略改变条件后,客户端的QOS控制单元与服务器的控制单元协商策略改变过程,并作相应后处理。
该步骤包括:
1)客户终端周期性地检测网络状况、服务器负载、系统其他终端的运行状况。
2)客户终端检测是否触发改变QOS策略的条件。
3)客户终端如果触发了QOS策略改变条件,从本地策略梯度表中确定将要使用的QOS策略,并向服务器请求改变本地的QOS策略。
4)服务器接收到客户终端请求改变本地QOS策略的请求。
5)服务器收集当前网络状况、服务器当前负载、其他客户终端运行状态。
6)服务器预测接收QOS策略改变请求对系统整体性能造成的影响,根据策略管理规则,决定是否接受改变QOS策略请求。
7)服务器如果不接受客户端请求,向请求客户端发送拒绝消息。如果接收,则向客户端发送接收消息,同时改变与该客户终端相关的转换、传输方式。
8)客户终端接收到服务器的反馈,如果确认更改请求则改变本地QOS策略。否则不改变当前的QOS策略。
例如客户终端A为移动终端,当A由一个移动通讯信道较好的区域移动到一个移动通讯信道较差的区域,这是客户终端侧的网络环境迅速恶化,A的丢包率剧增,触发了A修改本地QOS策略条件,客户终端检查本地QOS策略梯度表,采用低耗的QOS策略:换用H.26416kbps的编解码算法。A的QOS控制单元向服务器的控制单元请求更改本地QOS策略,服务器综合考虑此更改对当前网络状况、服务器负载、其他终端的影响,确认此次策略更改请求,客户端收到确认后改变自身的QOS策略,服务器端改变相应的转换单元行为,B与C要传输给A的数据都转换成H.26416kbps的编码格式。
步骤五、根据步骤三的信息,服务端检测是否触发改变服务器侧QOS策略改变条件,通过衡量如果决定修改某个客户终端的QOS策略以维护整个系统的性能,则服务器的控制单元与相应的客户终端的QOS控制单元协商更改QOS更改过程,如协商成功则作相应后处理。
该步骤包括:
1)服务器周期性地获取当前与各客户端连接的网络状况、服务器负载情况、系统各客户终端的运行情况
2)服务器根据服务器侧QOS策略改变规则确定是否需要调整个别客户终端的QOS策略,使系统运行在最佳状态。
3)如果需要改变个别客户端的QOS策略,服务器控制单元向客户终端QOS控制单元发送改变QOS策略命令。
4)客户端接受改变QOS策略的命令,检测该要求更改的QOS策略是否被自身支持或检测是否还有更为低耗的QOS策略,如果有则向服务器发送更改确认消息,同时改变相关的转换、传输方式。
5)服务器接收到客户终端的反馈消息,如果策略更改命令被接受,则修改与该客户终端相关的转换、传输方式。
例如:当服务器负载太重,处理能力下降时,服务器获取到的统计信息触发了QOS策略更改条件,经过综合比较各客户终端的运行状况,决定修改客户端C的QOS策略,因为客户端C通过intranet与服务器通讯,采用高耗的XVid 1.5Mbps编解码算法,RUDP传输协议。服务器的控制单元向客户终端C发送降低QOS策略的命令,客户端C接收到命令后,检查本地策略梯度表,使用低一级的QOS策略:编解码算法Divx 512kbps,带差错校验的RTP/RTCP传输协议。更改本地相应的编解码、传输设置,同时给服务器发送反馈信息。服务器收到确认反馈,相应修改与客户终端C相关的转换、传输行为。通过这样的处理,减轻了服务器的负载,均衡了各不对等终端A、B、C的运行质量,保证系统整体运行性能。
当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。