专利名称:用于控制实时流业务的传送速率的系统和方法
技术领域:
该发明涉及用于控制实时流业务传送速率的系统和方法,配置该系统以通过实时传输协议和实时传输控制协议来控制从流服务器向客户机发送的数据的传送速率,由此将流客户机的缓冲级保持在恒定等级。
背景技术:
常规的,例如,通过访问因特网,将多媒体数据,如视频数据,计算机动画数据或其任意组合都下载到PC(个人计算机)的硬盘驱动器上,用于再现同样的内容。然而,在流式传输(streaming)环境中,整个数据不可能都被全部下载,并且由于缓冲数据可以实时再现而无需首先下载整个文件数据。换句话说,流式传输是一种观察数据而无需首先下载整个文件的能力。通常,流式传输是在因特网上实时读取、发送和播放数据的多媒体数据传输方法。
当流服务器和流客户机通过有线/无线网络连接时,并且该流服务器发送多媒体内容,已经接收多媒体内容传输的流客户机缓冲接收的内容并实时再现该内容。
基本上,该流服务器的传送速率符合要发送的数据的需求。在经过运动图像专家组(MPEG)压缩而发送的音频/视频流分组中,用于控制该流服务器的传送速率的时间信息记录在报头中。
然而,尽管该传送速率受长时间流业务控制,仍然出现问题。尽管该时间信息非常精确,也不可能计算精确的传送速度,并且传送速度的微小差别能引起长时间之后的缓冲溢出。
还存在其他问题,流服务器和流客户机,每个是独立的身份,具有分离的基准时钟,并且在使用便宜的晶体振荡器期间时钟的细微差别累计,从而阻止提供稳定的操作。
图1是根据现有技术示意缓冲级变化的第一图示。
如图1所示,如果该流服务器的传送速度快于由实际的流客户机再现的数据的速度,该缓冲级保持增加,导致超过由该流客户机定义的最大缓冲级。
其他问题是只通过包含在要发送的该多媒体数据中的时间信息确定传送速率的方法,引起产生从流式传输开始时间到实际再现开始的时间延迟。
图2是示意根据现有技术的缓冲级变化的图示,其中显示了流式传输开始之后的缓冲级变化。需要发送用于掌握和再现流客户机的MPEG解码器发送的多媒体内容的环境的最小量数据。这是因为流客户机可以接受一定程度的延迟变化。随后,如图2所示,在再现开始之前,将假设填充到没有再现该发送数据的缓冲器中的“所需缓冲级”确定为特定等级。
然而,通过来自所需缓冲级和该流客户机报告的缓冲级的简单比较的控制,可以恶化该系统的稳定性,并且在该流服务器和该流客户机之间的传送速度的非常小的差别能导致产生缓冲溢出或欠载运行。
流服务器需要持续地控制传送速率以保持由流客户机报告的缓冲级。此外,在流式传输开始的点,需要以极其快的速度填充缓冲器,用于快速再现。
发明内容
本发明的一个目的是提供一种用于控制实时流业务传送速率的系统和方法,适用于通过控制在流服务器和流客户机之间传送的多媒体内容的传送速率稳定地保持缓冲级。
其他目的是提供一种用于控制实时流业务传送速率的系统和方法,适用于通过最大化从流服务器到流客户机的初始传送速率来最小化初始再现延迟。
根据本发明的一个方面,用于控制实时流业务的传送速率的方法包括实时地向连接网络的客户机流式传输多媒体内容,其中该客户机具有缓冲器。在该实施例中,响应传送速率将多媒体内容划分并发送。该方法进一步包括向服务器发送缓冲级,其表示在缓冲器中存储的发送给该客户机的多媒体内容的量。该方法还包括改变该传送速率以完成该多媒体内容的传输。在此,该服务器通过补偿与该缓冲级和预置的所需缓冲级之间的差值有关的一段时间内的累计的平均值来改变传送速率。
通过补偿与该缓冲级和预置所需的缓冲级之间的差值有关的预定时段的累计的平均值的方法,该服务器改变预定的传送速率以完成多媒体内容的传输。
该网络是有线网络或无线网络,并且是无线局域网(LAN)、蓝牙、Zigbee和超宽带(UWB)。
该客户机使用实时传输控制协议(RTCP)的应用(APP)消息发送该缓冲级。
通过该APP消息发送的该缓冲级可以包含用户数据报协议(UDP)套接字缓冲级,在该客户机中操作的流应用缓冲级和用于在该客户机中包含的MPEG的解码器缓冲级的至少一个,并且通过APP消息发送的缓冲级包含所有上述内容。
响应该预定传送速率发送的步骤进一步包括当流式传输开始时,以该网络允许的最大传送速率发送多媒体内容。
以最大传送速率开始传输的服务器保持该最大传送速率,直到在预定间隔由该客户机接收的缓冲级初始达到所需缓冲级。
接着,如果接收的缓冲级达到该所需缓冲级时,该服务器将该缓冲级改变为预置传送速率并将其发送用于再现该多媒体内容。
计算该累计的平均值,其中在时段中接收的缓冲级和所需缓冲级之间的差值乘以加权系数,合计并平均,并且与最近接收的缓冲级相关的差值乘以较高的加权系数。通过下面的等式可以计算累计的平均值。
Δt=Σk=0N-1ωk(ll-k-Θ)Σk=0N-1ωk=KΣk=0N-1ωk(ll-k-Θ)]]>其中,Δt表示累计的平均值,N表示在预定时段期间接收的缓冲级的数量,lt-k表示在该客户机在第t-k中接收的缓冲级,θ表示所需缓冲级,并且ωk表示加权系数和具有值为从0到1的实数。
该服务器根据下面的等式通过改变预定的传送速率来补偿该累计的平均值。
Rt=(1+Δt)×Rt-1其中,Δt表示累计的平均值,Rt-1表示在改变之前的传送速率,并且Rt表示由此改变的预定传送速率。
根据本发明其他实施例的流系统包括服务器和客户机。该服务器通过以传送速率划分和传送该多媒体内容来实时地流式传输多媒体内容。该客户机包含缓冲器,并间隔的向服务器发送缓冲级,在该缓冲器中存储的发送的多媒体内容的量。该服务器改变该传送速率,在此使用时段中累计的平均值来补偿在发送的缓冲级和所需缓冲级之间的差值。在该实施例中,该客户机完成该多媒体内容的传输。
通过下面结合附图的详细描述,本发明的这些和/或其他方面和优点将变得显而易见,在附图中图1是示意根据现有技术的缓冲级的图形表示;图2是示意根据现有技术的另一缓冲级的图形表示;图3是示意根据本发明的包含流系统的网络的框图;图4是示意根据本发明的由用于发送缓冲级的客户机所使用的消息的结构图;图5是示意根据本发明的实时流业务的传送速率控制方法的流程图;和图6是示意根据本发明的客户机的缓冲级变化的图形表示。
具体实施例方式
现在将参考附图详细描述本发明的实施例。
根据本发明,应用流业务的传送速率控制方法的系统(300,以下称作“流系统”)包括服务器(310);和客户机(330)。该服务器(310)和该客户机(330)通过网络(350)连接,在此该服务器(310)和该客户机(330)支持英特网协议(IP)。
该网络(350)包括有线网络和无线网络,并且该无线网络可以是无线LAN,蓝牙,ZigBee,和超宽带(UWB)等。
该服务器(310)发送包含通过预定方法压缩的图像和声音数据的多媒体内容。由此所述的压缩方法包括作为国际标准的运动图像专家组(MPEG)。而且,该服务器(310)可以自己压缩包括MPEG编码器(未示出)的多媒体内容。
该服务器(310)经由从该客户端(330)报告的缓冲级控制流分组,以能够将该客户机(310)的缓冲级保持在预定等级(以下称作“所需缓冲级”)。
下面将详细描述关于该服务器(310)的客户机(330)的传送速率控制。而且,在多媒体内容传输的最初阶段,该服务器(310)以由该网络(350)允许的最大传送速率发送分组,由此在短时期内将该客户机(330)的缓冲器(331)填充到所需缓冲级。
该客户机(330)包括预定容量的缓冲器(331),并且解码从该服务器(310)发送的流分组,以产生图像和/或声音数据,并且通过用户接口(未示出),经由扬声器或显示设备再现该图像和/或声音数据。
该缓冲器(331)包括UDP套接字缓冲器,流式传输应用程序缓冲器,和MPEG解码器缓冲器。
该客户机(330)在该缓冲器(331)中存储接收的流分组,解码和再现该流分组。该客户机(330)规则的或不规则地向该服务器(310)发送表示当前存储的量的缓冲级。
参考图4,将进行说明,其中根据本发明的该流系统(300)的客户机(310)向服务器(310)发送消息。
该客户机(310)使用RTCP(实时传输控制协议)的APP(应用)协议,以向服务器(310)通知缓冲级。
该客户机(310)发送包括UDP套接字缓冲级、流式传输应用程序缓冲级和MPEG解码器缓冲级的三种缓冲级。
该UDP套接字缓冲级定义分配给通过该UDP协议接收的分组的缓冲级。该流式传输应用程序缓冲级表示分配给再现或处理接收的流数据的程序的缓冲级,用于支持关于该多媒体内容的用户接口。而且,该MPEG解码器缓冲级表示分配给通过解码该多媒体内容而将其再现的解码器(未示出)的缓冲级。
该客户机(330)通过填充符合图4的消息格式的三种缓冲级来发送以字节单元表示的三种缓冲级。该服务器(310)使用三种缓冲级的总和。
从该服务器(310)发送的流数据首先存储在缓冲器(331)中。存储在该缓冲器(331)中的流数据不发送给MPEG解码器(未示出),直到它达到由该缓冲级所需的缓冲级。如果该缓冲级达到所需的缓冲级,该MPEG解码器(未示出)解码在该缓冲器中存储的数据。该MPEG解码器(未示出)实际上以比再现该流数据更快的速度读取该流数据,以掌握在该缓冲器中存储和发送的数据的环境。
下面,将参考图5描述用于控制实时流业务的传送速率的方法。
该服务器(310)将当对应于新的多媒体内容的流分组开始传送时的最初传送速度(R0)初始化为网络(350)允许的最大传送速度(Rmax)(S501)。
该服务器(310)确认从该客户机(330)发送的缓冲级(lt)(S503)。该服务器(310)区分发送的缓冲级(lt)是否大于该客户机(310)需要的缓冲级(θ)(S505)。
作为在S505中区分的结果,如果该发送的缓冲级(lt)大于所需缓冲级(θ),该服务器(310)将传送速率从以前的最大传送速率(Rmax)改变为正常传送速率(RDATA)。
该流数据的正常传送速率(RDATA)表示客户机执行正常再现的传送速率。然而,最初应用的传送速率使用在要流式传输的流分组中的传送速率(RDATA)字段。换句话说,该传送速率(RDATA)表示从该服务器(310)发送的该多媒体内容再现的速度(S507)。
作为在S505中区分的结果,如果该发送的缓冲级(lt)小于所需缓冲级(θ),该服务器(310)保持该最大传送速率(Rmax),以便最小化初始延迟时间,直到发送的缓冲级(lt)达到所需缓冲级(θ)。
接着,该服务器(310)改变传送速率(Rt),以便补偿在从该客户机(330)最新发送的缓冲级(lt)和由该客户机(330)(或该流客户机的MPEG解码器)所需的缓冲级(θ)之间的差值,直到完成要流式传输的多媒体内容的流式传输(S509至S515)。
下面,将详细描述在S509至S515的用于控制该传送速率的方法。
首先,该服务器(310)从该客户机(310)接收连续变化的当前缓冲级(lt)(S509)。
该服务器(310)搜索相对于所需缓冲级(θ)和报告的缓冲级(lt)之间的差值的预定时段中的累计的平均值,并补偿它。
通过下面的等式1来计算该累计的平均值(Δt)。
等式1
Δt=Σk=0N-1ωk(ll-k-Θ)Σk=0N-1ωk=KΣk=0N-1ωk(ll-k-Θ)]]>其中,由服务器利用从该客户机(310)最近报告的预定数量(N)的缓冲级(lt)来计算累计的平均值(Δt)。ωk是具有值为从0到1的实数,并且是用于减小该缓冲级(lt)的影响的加权系数,该缓冲级是从客户机(310)中接收的旧的缓冲级。θ是所需缓冲级(S511)。
该服务器(310)通过再次将由等式1获得的该累积的平均值(Δt)乘以以前的传送速率(Rt-1)的值与以前的传送速率(Rt-1)相加来计算新的传送速率(Rt)。可以通过下面的等式2来获得新的传送速率(Rt)(S513)。
等式2Rt=(1+Δt)×Rt-1已获得的新的传送速率的该服务器(310)通过由等式2纠正的传送速率(Rt)来发送该多媒体内容给该客户机(310),并且区分是否已经完成传送速率的传输(S515)。
作为在S515中区分的结果,如果没有完成该多媒体内容的传输,该服务器(310)重复从S509到S515的操作,以响应该缓冲级变化连续改变该传送速率(Rt)。
通过上述的方法,根据本发明的该流系统(300)能防止根据现有方法的传送速率的不稳定性,在该现有方法中,发送的缓冲级仅仅与请求的缓冲级比较,以向上或向下调整该传送速率。
图6是示意在使用图5的实时流业务的传送速率控制方法的客户机的缓冲级变化的图形表示,其中,可以看出该客户机(330)的缓冲器(331)的等级收敛在请求的缓冲级上。
通过参考最近的t-(N-1),t时间期间的缓冲级,实现根据本发明的该传送速率控制,由此防止该缓冲级的突然改变。而且,对最近的缓冲级的信息进行较重的加权,以允许该数据传送速率以快速且稳定的水平收敛在该客户机(330)的再现速率上。
以上显而易见,在由此根据本发明描述的用于控制实时流业务的传送速率的系统和方法中存在优点,即可以防止当长期提供流业务时发生的缓冲器溢出或欠载运行,由此能够提供流业务而一直保持合适的缓冲级。
因为客户机的缓冲级指定为基础,通过相对简单的方法,由此描述的该控制是可能的。
而且,在该最初传输中,根据本发明的该流系统使用该网络允许的最大传送速率,能最大地缩短从流式传输起点到实际屏幕或声音的再现的时间。
本发明可以实现为方法、设备和系统。而且,如果本发明通过计算机软件实现,可通过操作执行所需的代码段代替本发明的构成元件。程序或代码段可存储在可由微处理器处理的介质中,并作为耦合到载波上的计算机数据经由传输媒质和通信网络发送。可由微处理器处理的介质包括能传送和存储信息的任何产品,如电子电路、半导体存储设备、ROM(只读存储器)、闪存、EEPROM(电可擦除可编程只读存储器)、软盘、光盘、硬盘、光纤和无线电网络。该计算机数据包括能通过电网络信道、光纤、电磁场、无线电网络发送的数据。
已经通过参考特定实施例和附图以各种细节如上描述了本发明。然而,这些说明不应当解释为对本发明范围的限制,而仅作为一些目前优选的实施例的示意。应当进一步理解,对于本领域技术人员来说,在不脱离本发明宽广范围的情况下,可以进行其他修改和替换。上述特定实施例和附图不应当离开本发明的思想和方面来单独地解释。
权利要求
1.一种用于控制实时流的传送速率的方法,包括实时地流式传输多媒体内容到通过网络连接到服务器的客户机,该客户机具有缓冲器,其中响应传送速率将多媒体内容划分并发送;向服务器发送缓冲级,该缓冲级表示在缓冲器中存储的发送给该客户机的多媒体内容的量;改变该传送速率以完成多媒体内容的传输,其中该服务器通过补偿在与该缓冲级和预置的所需缓冲级之间的差值有关的一段时间内累计的平均值来改变传送速率。
2.如权利要求1所述的方法,其中该网络是无线网络,而该无线网络是无线局域网(LAN)、蓝牙、Zigbee和超宽带(UWB)。
3.如权利要求2所述的方法,其中该客户机使用实时传输控制协议(RTCP)的APP(应用)消息以发送该缓冲级。
4.如权利要求3所述的方法,其中通过该APP消息发送的该缓冲级包含用户数据报协议(UDP)套接字缓冲级、流应用缓冲级、和MPEG解码器缓冲级中的至少一个。
5.如权利要求1所述的方法,其中具有一传送速率的多媒体内容的传输包括以网络允许的最大传送速率发送该多媒体内容;接收由该客户机发送的缓冲级;保持最大传送速率,直到接收的缓冲级达到预置的所需缓冲级;如果该接收的缓冲级达到该预置所需的缓冲级,改变为用于再现多媒体内容的预置传送速率。
6.如权利要求1所述的方法,其中在时段中接收的缓冲级和所需缓冲级之间的差值乘以加权系数,合计并平均来计算该累计的平均值,并且与最近接收的缓冲级相关的差值乘以较高的加权系数。
7.如权利要求6所述的方法,其中通过下面的等式计算该累计的平均值,Δt=Σk=0N-1ωk(ll-k-Θ)Σk=0N-1ωk=KΣk=0N-1ωk(lt-k-Θ)]]>其中,Δt表示累计的平均值,N表示在预定时段期间接收的缓冲级的数量,lt-k表示从该客户机在第t-k中接收的缓冲级,θ表示所需缓冲级,并且ωk表示加权系数并且具有值为从0到1的实数。
8.如权利要求7所述的方法,其中传输的完成通过根据下面的等式改变预定的传送速率来补偿该累计的平均值,Rt=(1+Δt)×Rt-1其中,Δt表示累计的平均值,Rt-1表示在改变之前的传送速率,并且Rt表示由此改变的传送速率。
9.一种流系统,包括连接到网络的服务器,该服务器通过划分和以传送速率传送该多媒体内容来实时地流式传输多媒体内容;和包含缓冲器的客户机,该客户机间隔地向服务器发送缓冲级,该缓冲级表示在该缓冲器中存储的发送的多媒体内容的量,其中该服务器改变该传送速率,在此使用时段中累计的平均值来补偿在发送的缓冲级和所需缓冲级之间的差值,其中该客户机完成该多媒体内容的传输。
10.如权利要求9所述的系统,其中该网络是无线网络,在此该无线网络是无线局域网(LAN)、蓝牙、Zigbee和超宽带(UWB)。
11.如权利要求10所述的系统,其中该客户机使用实时传输控制协议的APP(应用)消息来发送该缓冲级。
12.如权利要求11所述的系统,其中通过该APP消息发送的该缓冲级包括用户数据报协议(UDP)套接字缓冲级、流应用缓冲级和MPEG解码器缓冲级的至少一个。
13.如权利要求9所述的系统,其中该服务器以网络允许的最大传送速率开始该多媒体内容的传输,保持最大传送速率,直到间隔地从客户机接收的缓冲级首次达到所需缓冲级,并且如果该接收的缓冲级达到所需的缓冲级,将缓冲级改变为预置传送速率,并发送用于再现的多媒体内容。
14.如权利要求9所述的系统,其中在时段中接收的缓冲级和所需缓冲级之间的差值乘以加权系数,合计并平均来计算计算该累计的平均值,并且与最近接收的缓冲级相关的差值乘以较高的加权系数。
15.如权利要求14所述的系统,其中通过下面的等式计算该累计的平均值,Δt=Σk=0N-1ωk(ll-k-Θ)Σk=0N-1ωk=KΣk=0N-1ωk(lt-k-Θ)]]>其中,Δt表示累计的平均值,N表示在预定时段期间接收的缓冲级的数目,lt-k表示从该客户机在第t-k中接收的缓冲级,θ表示所需缓冲级,并且ωk表示加权系数并且具有值为从0到1的实数。
16.如权利要求15所述的系统,其中传输的完成通过根据下面的等式改变预定的传送速率来补偿该累计的平均值,Rt=(1+Δt)×Rt-1其中,Δt表示累计的平均值,Rt-1表示在改变之前的传送速率,并且Rt表示由此改变的传送速率。
17.如权利要求1所述的方法,其中该网络是有线网络。
18.如权利要求9所述的系统,其中该网络是有线网络。
全文摘要
公开了一种用于控制在经由预定网络连接的流服务器和流客户机之间的实时流业务的传送速率的系统和方法。在发送多媒体内容给该流客户机中,该流服务器通过用累计相加的平均值来补偿在由该流客户机报告的缓冲级和所需缓冲级之间的差值来控制该传送速率。而且,为了防止最初再现延迟,该流服务器通过由该网络允许的最大传送速率来控制。由此,防止当长期提供流业务时发生缓冲器溢出或欠载运行,并且可以使从流式传输开始点到在实际屏幕或声音再现的时间延迟最小化。
文档编号H04N7/24GK1790973SQ200510136958
公开日2006年6月21日 申请日期2005年12月16日 优先权日2004年12月16日
发明者金智慧, 金健洙, 金钟声, 成恒东 申请人:Lg电子株式会社