CN100556123C - 用于电视会议系统的流控方法和装置 - Google Patents
用于电视会议系统的流控方法和装置 Download PDFInfo
- Publication number
- CN100556123C CN100556123C CN 200710003624 CN200710003624A CN100556123C CN 100556123 C CN100556123 C CN 100556123C CN 200710003624 CN200710003624 CN 200710003624 CN 200710003624 A CN200710003624 A CN 200710003624A CN 100556123 C CN100556123 C CN 100556123C
- Authority
- CN
- China
- Prior art keywords
- token
- total amount
- flow control
- cycle
- video conference
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种用于电视会议系统的流控方法,包括以下步骤:编码器实时地编码电视会议媒体流并实时地输出;令牌桶缓存来自编码器的编码媒体流,形成令牌总量,其中,预先根据电视会议系统允许的最大可能速率以及允许缓冲的时间计算缓冲容量,分配给令牌桶;以及整流器控制令牌桶平稳地输出令牌总量中的令牌,以得到平稳的适应所述电视会议系统带宽限制的编码媒体流。本发明还提供了一种用于电视会议系统的流控装置。
Description
技术领域
本发明涉及通信领域,更具体而言,涉及用于电视会议系统的流控方法和装置。
背景技术
随着电视会议的发展,ITU-T(国际电联通信标准化部门)公布了H.239信令支持计算机屏幕数据的传输,通过采集计算机屏幕图像,并采用协商的能力将图像传输到对端,以达到会议参与者给其他与会者作PPT(PowerPoint软件)演示等内容演示效果。由于计算机屏幕图像的特点,为了达到清晰效果,一般是采用按照原分辨率采集编码并传输,导致I帧图像数据相当多,在MTU(MaximumTransmission Unit,最大传输单位)为1.5K情况下,一个I帧常常能编码成150个RTP(Real Time Protocol,实时传输协议)包甚至更多。如果对这些数据不加以流控,会导致突发性的数据传输,在受限带宽条件下造成丢包,接收端解码后会发送VCU(Video FreezePicture,视频图像冻结),请求发送端发送I帧,最终恶性循环,导致图像效果很差。
为了解决这个问题,现有技术中提出了两种方法。一种方法是从源头着手,通过特殊的编码策略来减少码流,从而缓解这个问题。另一种方法是通过在受限信道的前面限流的方式,即采取流量控制的方式来解决上述的问题。
第一种方法需要编码器编码策略的改变,有一定的难度。第二种方法应用比较简单,有很多成熟的思想可供参考,实现起来比较容易,是常用的限流方法。
发明内容
本发明旨在提供一种电视会议系统带宽受限下的流量控制的解决方案,实现了通过在受限信道的前面限流的方式来缓解突发媒体流导致图像效果变差的问题。
根据本发明的一个方面,提供了一种用于电视会议系统的流控方法,包括以下步骤:编码器实时地编码电视会议媒体流并实时地输出;令牌桶缓存来自编码器的编码媒体流,形成令牌总量,其中,预先根据电视会议系统允许的最大可能速率以及允许缓冲的时间计算缓冲容量,分配给令牌桶;以及整流器控制令牌桶平稳地输出令牌总量中的令牌,以得到平稳的适应所述电视会议系统带宽限制的编码媒体流。
在上述的流控方法中,令牌桶是适应TCP(Transmission ControlProtocol,传输控制协议)流方式的环形缓冲区或者适应UDP(UserDatagram Protocol)包方式的缓冲链表。
在上述的流控方法中,利用下式计算缓冲容量:缓冲容量=(iChanRate/8)*(iTimeLen/1000)*MIN_FLOWFACTOR
其中,iChanRate表示信道速率,单位为bps/sec;iTimeLen表示最大缓冲时长,单位为sec;MIN_FLOWFACTOR表示最小流量因子。
在上述的流控方法中,整流器控制令牌桶平稳地输出编码媒体流包括以下步骤:根据当前会议速率和输出周期计算出每周期输出字节数,每个输出周期都将该字节数累加到令牌总量中,每发送一个RTP包后,将发送的数据量从令牌总量中减去,使该周期内的发送中止于没有令牌可用,或中止于没有数据可供发送,并且在连续预定数的周期无数据可发后,复位令牌总量。
在上述的流控方法中,令牌总量的累积以及消耗利用下式来控制:每次周期开始的时候累加令牌总量
iTotalToken=iTotalToken+(iPeriod/1000)*(iChanRate/8)*iFlowFactor
每发送一个包
iTotalToken=iTotalToken-iPacket(i)
其中,iTotalToken表示令牌总量,单位为byte;iPeriod表示周期的时长,单位为msec;iFlowFactor表示流量因子,其与VCU频度成反向关系;iPacket(i)表示包i的数据量。
在上述的流控方法中,还包括调整流量因子的步骤,其利用下式调整流量因子:iFlowFactor=-0.25*ln(iVCURate+1)+1.2
其中,iVCURate表示VCU频度。
根据本发明的另一方面,提供了一种用于电视会议系统的流控装置,包括:编码器,用于实时地编码电视会议媒体流并实时地输出;令牌桶,用于缓存来自编码器的编码媒体流,令牌桶的缓冲容量预先根据电视会议系统允许的最大可能速率以及允许缓冲的时间来计算分配;以及整流器,用于控制令牌桶平稳地输出编码媒体流。
在上述的流控装置中,整流器用于根据当前会议速率和输出周期计算出每周期输出字节数,每个输出周期都将该字节数累加到令牌总量中,每发送一个RTP包后,将发送的数据量从令牌总量中减去,使该周期内的发送中止于没有令牌可用,或中止于没有数据可供发送,并且在连续预定数的周期无数据可发后,复位令牌总量。
通过上述技术方案,本发明实现了如下技术效果:
本发明提供了电视会议系统中具有突发性的媒体数据在受限带宽下流量控制的方法和装置。采用本发明所述方法和装置,只要选择合适的经验参数,就可以对具有突发性的码流实施较好的流控,在图像延迟和突发性导致的丢包间获得较好的平衡,在稍微增加延迟的情况下平缓码流,防止信道丢包。本发明利用了解码器反馈的VCU信息来调整发送流量参数,在保证图像延迟较小的情况下自动适应了网络信道速率限制。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明所述方法的示意图;
图2是根据本发明实施例的流控方法的流程图;
图3是根据本发明实施例的流空装置的方框图;
图4是未使用根据本发明的流控分案的实际效果;
图5是使用根据本发明的流控方案流控的实际效果;
图6是根据本发明实施例的发送流量因子随VCU请求频度变化的图表;
图7是根据本发明实施例的流控定时器事件的处理流程图。
具体实施方式
下面将参考附图并结合实施例,来详细说明本发明。
图1是本发明所述方法的示意图。本发明提出,在媒体发送环节添加流控,通过令牌桶算法平缓编码数据的流量,并且根据对方VCU的指示的频度适当控制算法的流量系数,来获得较好的效果(包括较小的图像延迟,较好的图像效果)。
本发明提供了一种用于电视会议系统的流控方法,如图2所示,包括以下步骤:
步骤S202,编码器实时地编码电视会议媒体流并实时地输出;
步骤S204,令牌桶缓存来自编码器的编码媒体流,形成令牌总量;以及
步骤S206,整流器控制令牌桶平稳地输出令牌总量中的令牌,以得到平稳的适应所述电视会议系统带宽限制的编码媒体流。
令牌桶可以是适应TCP流方式的环形缓冲区或者适应UDP包方式的缓冲链表。可以预先根据电视会议系统允许的最大可能速率以及允许缓冲的时间计算缓冲容量,分配给令牌桶。
整流器控制令牌桶平稳地输出编码媒体流可包括以下步骤:根据当前会议速率和输出周期计算出每周期输出字节数,每个输出周期都将该字节数累加到令牌总量中,每发送一个RTP包后,将发送的数据量从令牌总量中减去,使该周期内的发送中止于没有令牌可用,或中止于没有数据可供发送,并且在连续预定数的周期无数据可发后,复位令牌总量。
在上述的流控方法中,还可包括调整流量因子的步骤。
从以上描述可以看出,本发明主要根据令牌桶算法,并结合流量反馈的观点对流量参数进行细调来获得较好的效果。
本发明还提供了一种用于电视会议系统的流控装置300,如图3所示,包括:
编码器302,用于实时地编码电视会议媒体流并实时地输出;
令牌桶304,用于缓存来自编码器的编码媒体流;以及
整流器306,用于控制令牌桶平稳地输出编码媒体流。
令牌桶304的缓冲容量可预先根据电视会议系统允许的最大可能速率以及允许缓冲的时间来计算分配。
整流器306可根据当前会议速率和输出周期计算出每周期输出字节数,每个输出周期都将该字节数累加到令牌总量中,每发送一个RTP包后,将发送的数据量从令牌总量中减去,使该周期内的发送中止于没有令牌可用,或中止于没有数据可供发送,并且在连续预定数的周期无数据可发后,复位令牌总量。
本发明所描述的受限信道突发媒体流传输的流量控制算法如下:
在编码器和流量控制算法执行环节间设立一个足够大的令牌桶缓冲区,用以平缓编码器的突发性;根据信令交互出来的速率决定令牌桶的输出流量;在运行过程中根据对方VCU请求的频度动态调整输出流量系数。
图7是根据本发明实施例的流控定时器事件的流程图,包括以下步骤:
步骤S702,首先根据周期长度计算出增加的令牌数量;
步骤S704,判断在这段时间间隔内是否有VCU到达;
步骤S706,如果有,则更新输出流量因子;
步骤S708,否则输出流量因子不变;
步骤S710,判断该周期是否有数据发送;
步骤S712,如果没有,并且连续多次没有数据发送(步骤S714中的复位条件),那么复位令牌桶;
步骤S714,根据令牌数量决定发送数据的多少,直到数据发送完或者无令牌可用(步骤S716);
上述步骤S702到步骤S714为一个周期,执行完一个周期后又重新回到步骤S702。
具体来说,上述实施例的核心算法如下:
令牌桶容量分配:令牌桶缓冲区需要足够大以便能够完全吸纳编码器的突发性,不管缓冲是如何组织的(比如适应TCP流方式的环形缓冲区或者适应UDP包方式的缓冲链表),都要预先根据最大可能速率以及允许缓冲的时间计算出一个缓冲容量。
流量控制算法:根据当前会议速率和输出周期计算出每周期输出字节数,每个输出周期都将该字节数累加到令牌总量中,每发送一个RTP包后,将发送的数据量从令牌总量中减去,该周期内的发送要么中止于没有令牌可用,要么中止于没有数据可供发送。在连续几个周期无数据可发后,需要复位令牌总量,防止在有数据的周期到来的时候发送太多。
发送流量因子的调整:由于编码器的平均码率已经控制在给定码率下,为了减小图像延迟,通常将发送流量因子设置稍微大些,加快码流发送;在会议过程中需要监测对方发送VCU情况,VCU表示视频刷新请求,当解码器解码流出错后,就会向对方发送VCU请求,如果接收到VCU请求,表明对方丢包,这时候可以通过减小发送流量因子来减缓码流,这样会增加延时,但是图像就不容易错误。在连续多个周期内没有收到对方的VCU请求,可以适当的提高发送流量因子,在不超带宽的情况加快码流发送,减少图像延迟。
例如,利用下式计算缓冲容量:
缓冲容量=(iChanRate/8)*(iTimeLen/1000)*MIN_FLOWFACTOR
其中,iChanRate表示信道速率,单位为bps/sec;iTimeLen表示最大缓冲时长,单位为sec;MIN_FLOWFACTOR表示最小流量因子。
令牌总量的累积以及消耗可利用下式来控制:
每次周期开始的时候累加令牌总量
iTotalToken=iTotalToken+(iPeriod/1000)*=(iChanRate/8)*iFlowFactor
每发送一个包
iTotalToken=iTotalToken-iPacket(i)
其中,iTotalToken表示令牌总量,单位为byte;iPeriod表示周期的时长,单位为msec;iFlowFactor表示流量因子,其与VCU频度成反向关系;iPacket(i)表示包i的数据量。值得注意的是,这里的反向关系并不限定为成线性比例的反比例关系。反向关系表明两个变量的增减是反向的,例如等式iLowFactor=-0.25*ln(iVCURate+1)+1.2中,随着iVCURate的增大,iFlowFactor减小,这两个变量之间构成了反向关系,但不是反比关系。
图6是根据本发明实施例的发送流量因子随VCU请求频度变化的图表。令牌桶发送流量因子的调整如下:
根据编码器的规律,每秒帧频在1~12.5之间,如果按照最大可能的VCU速率,iVCURate最大为12.5,最小为0。并且按照常规,随着初始
iFlowFactor=-0.25*ln(iVCURate+1)+1.2
在终端中首先要分配足够大的缓冲区,程序中也要有一个定时器任务或者等效于定时器任务的环境,在每个定时周期到的时候,按照以上公式更新数据。每1秒定时到的时候,更新VCU速率,计算新的发送流量因子。如果连续几个定时周期都监测到终端无数据可送,那么复位令牌桶。
图4是未使用根据本发明的流控分案的实际效果(每100ms统计一次);图5是使用根据本发明的流控方案流控的实际效果(每100ms统计一次)。
从以上的描述和效果对比图中,可以看出,本发明实现了如下技术效果:
本发明提供了电视会议系统中具有突发性的媒体数据在受限带宽下流量控制的方法和装置。采用本发明所述方法和装置,只要选择合适的经验参数,就可以对具有突发性的码流实施较好的流控,在图像延迟和突发性导致的丢包间获得较好的平衡,在稍微增加延迟的情况下平缓码流,防止信道丢包。本发明利用了解码器反馈的VCU信息来调整发送流量参数,在保证图像延迟较小的情况下自动适应了网络信道速率限制。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。应该明白,这些具体实施中的变化对于本领域的技术人员来说是显而易见的,不脱离本发明的精神保护范围。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种用于电视会议系统的流控方法,其特征在于,包括以下步骤:
编码器实时地编码电视会议媒体流并实时地输出;
令牌桶缓存来自所述编码器的编码媒体流,形成令牌总量,其中,预先根据所述电视会议系统允许的最大可能速率以及允许缓冲的时间计算缓冲容量,分配给所述令牌桶;以及
整流器控制所述令牌桶平稳地输出所述令牌总量中的令牌,以得到平稳的适应所述电视会议系统带宽限制的编码媒体流。
2.根据权利要求1所述的流控方法,其特征在于,所述令牌桶是适应TCP流方式的环形缓冲区或者适应UDP包方式的缓冲链表。
3.根据权利要求1所述的流控方法,其特征在于,利用下式计算所述缓冲容量:
缓冲容量=(iChanRate/8)*(iTimeLen/1000)*MIN_FLOWFACTOR
其中,iChanRate表示信道速率,单位为bps/sec;iTimeLen表示最大缓冲时长,单位为sec;MIN_FLOWFACTOR表示最小流量因子。
4.根据权利要求3所述的流控方法,其特征在于,整流器控制所述令牌桶平稳地输出所述编码媒体流包括以下步骤:
根据当前会议速率和输出周期计算出每周期输出字节数,每个输出周期都将该字节数累加到所述令牌总量中,每发送一个RTP包后,将发送的数据量从所述令牌总量中减去,使该周期内的发送中止于没有令牌可用,或中止于没有数据可供发送,并且在连续预定数的周期无数据可发后,复位所述令牌总量。
5.根据权利要求4所述的流控方法,其特征在于,所述令牌总量的累积以及消耗利用以下方式来控制:
每次周期开始的时候累加令牌总量
iTotalToken=iTotalToken+(iPeriod/1000)*(iChanRate/8)*iFlowFactor
每发送一个包
iTotalToken=iTotalToken-iPacket(i)
其中,iTotalToken表示所述令牌总量,单位为byte;iPeriod表示所述周期的时长,单位为msec;iFlowFactor表示流量因子,其与VCU频度成反向关系;iPacket(i)表示包i的数据量。
6.根据权利要求5所述的流控方法,其特征在于,还包括调整流量因子的步骤,其利用下式调整所述流量因子:
iFlowFactor=-0.25*ln(iVCURate+1)+1.2
其中,iVCURate表示所述VCU频度。
7.一种用于电视会议系统的流控装置,其特征在于,包括:
编码器,用于实时地编码电视会议媒体流并实时地输出;
令牌桶,用于缓存来自所述编码器的编码媒体流,所述令牌桶的缓冲容量预先根据所述电视会议系统允许的最大可能速率以及允许缓冲的时间来计算分配;以及
整流器,用于控制所述令牌桶平稳地输出所述编码媒体流。
8.根据权利要求7所述的流控装置,其特征在于,所述整流器用于根据当前会议速率和输出周期计算出每周期输出字节数,每个输出周期都将该字节数累加到令牌总量中,每发送一个RTP包后,将发送的数据量从所述令牌总量中减去,使该周期内的发送中止于没有令牌可用,或中止于没有数据可供发送,并且在连续预定数的周期无数据可发后,复位所述令牌总量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200710003624 CN100556123C (zh) | 2007-01-18 | 2007-01-18 | 用于电视会议系统的流控方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200710003624 CN100556123C (zh) | 2007-01-18 | 2007-01-18 | 用于电视会议系统的流控方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101005601A CN101005601A (zh) | 2007-07-25 |
CN100556123C true CN100556123C (zh) | 2009-10-28 |
Family
ID=38704422
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200710003624 Expired - Fee Related CN100556123C (zh) | 2007-01-18 | 2007-01-18 | 用于电视会议系统的流控方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100556123C (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103139188B (zh) * | 2011-12-05 | 2016-03-23 | 中国电信股份有限公司 | 流媒体传输方法与系统 |
US9559968B2 (en) * | 2015-03-23 | 2017-01-31 | Cisco Technology, Inc. | Technique for achieving low latency in data center network environments |
CN107920027B (zh) * | 2016-10-08 | 2019-03-15 | 腾讯科技(深圳)有限公司 | 一种流量控制方法及装置 |
CN114172848B (zh) * | 2021-11-18 | 2024-02-09 | 新华三技术有限公司合肥分公司 | 通信方法及装置 |
-
2007
- 2007-01-18 CN CN 200710003624 patent/CN100556123C/zh not_active Expired - Fee Related
Non-Patent Citations (7)
Title |
---|
Traffic shaping based on an exponential token bucket forquantitative QoS:implementation and experiments onDiffServ routers. E.Vayias et al.Computer Communications,Vol.29. 2006 * |
Traffic shaping based on an exponential token bucket forquantitative QoS:implementation and experiments onDiffServ routers.. E.Vayias et al.Computer Communications,Vol.29 . 2006 |
VBR流令牌桶流量整形的研究. 陈彪,姚庆栋.浙江大学学报(工学版),第38卷第4期. 2004 |
VBR流令牌桶流量整形的研究. 陈彪,姚庆栋.浙江大学学报(工学版),第38卷第4期. 2004 * |
令牌桶算法在IP QoS中的应用. 李建宝,桑海.华南金融电脑,第4期. 2006 |
多媒体会议系统研究. 徐时新.小型微型计算机系统,第18卷第3期. 1997 |
多媒体会议系统研究. 徐时新.小型微型计算机系统,第18卷第3期. 1997 * |
Also Published As
Publication number | Publication date |
---|---|
CN101005601A (zh) | 2007-07-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11924263B2 (en) | Methods and devices for efficient adaptive bitrate streaming | |
CN101242359B (zh) | 动态码率分配方法、分组域流媒体服务器 | |
US7392322B2 (en) | Data reception device and data distribution system | |
CN100420250C (zh) | 通信设备操作方法、数据呈现方法和设备 | |
Saparilla et al. | Optimal streaming of layered video | |
EP2137937B1 (en) | Bandwidth allocation control in multiple video streaming | |
US8346959B2 (en) | Client-controlled adaptive streaming | |
US20040016000A1 (en) | Video streaming having controlled quality assurance over best-effort networks | |
CN102308530B (zh) | 网络中优化的带宽使用 | |
US8681768B2 (en) | System and method of pacing real time media transmission over a broadband channel using micro bursting | |
US20040071083A1 (en) | Method for streaming fine granular scalability coded video over an IP network | |
US20050021830A1 (en) | Data communications method and system using buffer size to calculate transmission rate for congestion control | |
CN108028830B (zh) | 无线电终端以及流传输调度装置中执行的方法和终端 | |
CN101282305B (zh) | 分布式系统中的带宽控制方法及业务板 | |
CN103051978A (zh) | 一种基于h264的实时移动视频服务控制方法 | |
KR20030071815A (ko) | 스트리밍된 데이터를 버퍼링하기 위한 방법 및 시스템 | |
CN102547449A (zh) | 一种控制终端缓冲媒体流数据的方法、机顶盒及媒体服务器 | |
CN102244773A (zh) | 一种基于窄变带宽网络的实时视频流传输方法 | |
CN100556123C (zh) | 用于电视会议系统的流控方法和装置 | |
CN104754339A (zh) | I帧调整方法、装置及系统 | |
CN101521813A (zh) | 一种处理媒体流的方法和装置 | |
Cui et al. | DASH+: Download multiple video segments with stream multiplexing of QUIC | |
Nam et al. | Adaptive multimedia stream presentation in mobile computing environment | |
KR100631516B1 (ko) | 스트리밍 시스템 및 적응적 대역 할당 방법 | |
CN101212399B (zh) | 一种内存管理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20091028 Termination date: 20170118 |