CN103533451B - 抖动缓存调节方法及其系统 - Google Patents

抖动缓存调节方法及其系统 Download PDF

Info

Publication number
CN103533451B
CN103533451B CN201310462271.4A CN201310462271A CN103533451B CN 103533451 B CN103533451 B CN 103533451B CN 201310462271 A CN201310462271 A CN 201310462271A CN 103533451 B CN103533451 B CN 103533451B
Authority
CN
China
Prior art keywords
dithering cache
packet loss
time
receiving terminal
dithering
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.)
Active
Application number
CN201310462271.4A
Other languages
English (en)
Other versions
CN103533451A (zh
Inventor
林寿泽
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Cubesili Information Technology Co Ltd
Original Assignee
Guangzhou Huaduo Network Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guangzhou Huaduo Network Technology Co Ltd filed Critical Guangzhou Huaduo Network Technology Co Ltd
Priority to CN201310462271.4A priority Critical patent/CN103533451B/zh
Publication of CN103533451A publication Critical patent/CN103533451A/zh
Application granted granted Critical
Publication of CN103533451B publication Critical patent/CN103533451B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供一种抖动缓存调节方法及其系统。所述抖动缓存调节方法,包括:获取数据传输的接收端的丢包率和延时;根据所述丢包率和延时,按预设周期调节所述接收端的抖动缓存的大小。本发明能够针对网络情况进行抖动缓存自适应,解决网络延迟抖动的同时又可保证数据传输质量,尤其适用于网络视频数据的传输。

Description

抖动缓存调节方法及其系统
技术领域
本发明涉及数据传输的技术领域,特别是涉及一种抖动缓存调节方法,以及一种抖动缓存调节系统。
背景技术
网络多媒体实时通信的发展使得很多视频交互产品层出不穷,视频传输和编解码技术在实时网络通信中也广泛使用。然而不管在单人网络视频技术,还是多人网络视频技术中,网络抖动延迟是一个不可避免的问题。抖动是QOS(服务质量)里面常用的一个概念,其意思是指分组延迟的变化程度。如果网络发生拥塞,排队延迟将影响端到端的延迟,并导致通过同一连接传输的分组延迟各不相同,而抖动,就是用来描述这样一延迟变化的程度。因此,抖动对于实时性的传输将会是一个重要参数,很多网络应用产品对网络抖动和延迟的要求都比较高,特别是实时通信领域。
网络抖动给数据的传输造成不均匀。数据包离开发送端时,按照规则的间隔均匀排列,在通过网络之后,这一均匀的间隔因数据包经历不同的延迟大小而遭到破坏。例如视频数据传送不均匀,会造成视频卡,画面颤抖等不良体验。抖动的大小取决于数据包的延迟时间的差异程度,差异程度越大,则抖动越大。
常用的解决网络抖动延迟的方法主要有两个:
一个是优化网络拓扑结构。数据传输依靠于网络的通路,如果各条通路的结构不合理,将会造成传输路径变长,经过的路由器或其他设备变多,大大增加了传输延迟。另一方面,在网络中传输的数据也会随着路径的变长而增加,使得网络变得更加拥塞和忙碌。优化网络拓扑结构的方案包括增加有效网络带宽,提高主干网络速度,提高服务器处理性能等。
然而,对于网络拓扑的优化缺乏一定的可控性,客观因素影响比较大,可操作性差,其优化的成本也不可估算。
另一个是静态缓冲算法。即数据包的接收端创建固定大小的的抖动缓存指针队列的入队线程接收数据包,对接收到的数据包进行排序后将接收到的数据包插入抖动缓存指针队列的相应位置,然后根据出队线程定时器以一定时间间隔触发出队线程。该方法容易实现,稳定性好。
但是,固定的抖动缓存深度无法适应网络的变化和各种视频应用场景的要求,对于抖动延迟较大的应用场景,如果设置较小的抖动缓存,则可能影响数据传输质量,而如果设置较大的抖动缓存,则可能导致网络延迟过大,影响数据的正常传输。
发明内容
针对上述设置固定的抖动缓存无法兼顾解决网络延迟抖动和数据传输质量的问题,本发明提出一种能够针对网络情况进行抖动缓存自适应的抖动缓存调节方法及其系统,解决网络延迟抖动的同时又可保证数据传输质量,尤其适用于网络视频数据的传输。
一种抖动缓存调节方法,包括以下步骤:
获取数据传输的接收端的丢包率和延时;
根据所述丢包率和延时,按预设周期调节所述接收端的抖动缓存的大小,包括:
如果所述延时大于预设的延时阈值,则减少所述抖动缓存;
如果所述丢包率大于预设的丢包率阈值,并且所述延时小于所述延时阈值,则增大所述抖动缓存;其中,计算所述丢包率与所述丢包率阈值的差值,将所述差值乘以当前抖动缓存,获得调节值,增大所述抖动缓存,增大的幅度等于所述调节值;
如果所述丢包率小于所述丢包率阈值,并且所述延时小于所述延时阈值,则维持所述抖动缓存的大小不变。
本发明的抖动缓存调节方法中,根据数据传输的接收端的丢包率和延时,自适应调节所述接收端的抖动缓存的大小。因此抖动缓存的大小是自适应变化的,能够解决抖动缓存太小,无法处理网络抖动延迟导致的丢包率过大的问题,也能够解决抖动缓存过大而导致的网络延时过大,影响数据传输质量的问题,解决网络延迟抖动的同时又可保证数据传输质量,尤其适用于网络视频数据的传输。
一种抖动缓存调节系统,包括:
参数获取模块,用于获取数据传输的接收端的丢包率和延时;
第一调节模块,用于根据所述丢包率和延时,按预设周期调节所述接收端的抖动缓存的大小
所述第一调节模块包括:
用于如果所述延时大于预设的延时阈值,则减少所述抖动缓存的模块;
用于如果所述丢包率大于预设的丢包率阈值,并且所述延时小于所述延时阈值,则增大所述抖动缓存的模块;其中,计算所述丢包率与所述丢包率阈值的差值,将所述差值乘以当前抖动缓存,获得调节值,增大所述抖动缓存,增大的幅度等于所述调节值;
以及,用于如果所述丢包率小于所述丢包率阈值,并且所述延时小于所述延时阈值,则维持所述抖动缓存的大小不变的模块。
本发明的抖动缓存调节系统,根据数据传输的接收端的丢包率和延时,自适应调节所述接收端的抖动缓存的大小。因此抖动缓存的大小是自适应变化的,能够解决抖动缓存太小,无法处理网络抖动延迟导致的丢包率过大的问题,也能够解决抖动缓存过大而导致的网络延时过大,影响数据传输质量的问题,解决网络延迟抖动的同时又可保证数据传输质量,尤其适用于网络视频数据的传输。
附图说明
图1是本发明抖动缓存调节方法第一实施方式的流程示意图;
图2是本发明抖动缓存调节方法第二实施方式的流程示意图;
图3是本发明抖动缓存调节方法中测试数据包的发送时刻、到达时刻和播放时间的示意图;
图4是本发明抖动缓存调节方法第三实施方式的流程示意图;
图5是本发明抖动缓存调节系统第一实施方式的结构示意图;
图6是本发明抖动缓存调节系统第二实施方式的结构示意图;
图7是本发明抖动缓存调节系统第三实施方式的结构示意图。
具体实施方式
请参阅图1,图1是本发明抖动缓存调节方法第一实施方式的流程示意图。
所述抖动缓存调节方法,包括以下步骤:
S102,获取数据传输的接收端的丢包率和延时;
S104,根据所述丢包率和延时,按预设周期调节所述接收端的抖动缓存的大小。
本发明的抖动缓存调节方法,根据数据传输的接收端的丢包率和延时,自适应调节所述接收端的抖动缓存的大小。因此抖动缓存的大小是自适应变化的,能够解决抖动缓存太小,无法处理网络抖动延迟导致的丢包率过大的问题,也能够解决抖动缓存过大而导致的网络延时过大,影响数据传输质量的问题,解决网络延迟抖动的同时又可保证数据传输质量,尤其适用于网络视频数据的传输。
其中,对于步骤S102,可以在接收端通过对所接收的数据包进行丢包率和延时统计的方式获得,或者通过发送测试包,检测所述测试包的丢包率和延时的方式获得,又或者通过本领域习知的其他技术手段获取所述接收端的丢包率和延时。
在一个优选实施方式中,按预设周期统计接收端的丢包率和延时;然后计算在每一所述预设周期内的丢包率的平均值和延时的平均值,获取所述预设周期内的接收端的丢包率和延时。因为在本发明中,抖动缓存的大小是变化的,因此丢包率和延时可能随着抖动缓存的变化而有所变化,另外丢包率和延时还可能受到实时的网络状态而有所改变,因此,按预设周期对所述丢包率和延时进行统计,计算每一所述预设周期内的丢包率和延时的平均值,作为该周期内的丢包率和时延值,能够提高丢包率和时延统计的准确性。所述预设周期可以与抖动缓存的调节周期相对应,也可以不对应。
对于S104,在调节所述接收端的抖动缓存时,基本原则是:在丢包率过大时增大接收端的抖动缓存,以提高对数据包的缓存接收时间,减小丢包率;在延时过大时,减小接收端的抖动缓存,以减少对数据包的缓存接收时间,提高效率。
在一个实施方式中,对所述丢包率和延时分别预设一个丢包率阈值和延时阈值,通过以下方式执行抖动缓存的调节:
如果所述延时大于预设的延时阈值,则减少所述抖动缓存;
如果所述丢包率大于预设的丢包率阈值,并且所述延时小于所述延时阈值,则增大所述抖动缓存;
如果所述丢包率小于所述丢包率阈值,并且所述延时小于所述延时阈值,则维持所述抖动缓存的大小不变。
例如,假设允许的预设丢包率阈值P为3%,而允许的预设延时阈值T为400ms。而调节的周期设置为5秒,以保证实时为优先条件,即尽量保证延时不超过阀值400ms。则根据统计该周期内的平均丢包率p和延时t,做以下处理:
若t>T时,为保证实时性,就要减少抖动缓存,把t降低到T左右,允许丢包率p适当提高一些。
若p>P而t<T时,适当增大缓冲区,使p降下来。若此时导致t>T,则进入上述步骤,减少抖动缓存。
若达到t<T,且p<P,则不改变所述抖动缓存的大小,进行下一轮调节。
通过上述方法,可以在保证实时性的基础上尽量减小丢包率,提高数据传输指令。
上述减小或者增大所述抖动缓存的步骤中,减小和增大的幅度可以根据实际的网络情况自行设置。在一个优选实施方式中,减小所述抖动缓存时,减小的幅度等于所述延时与所述延时阈值的差值。而增大所述抖动缓存则可以通过以下方式:计算所述丢包率与所述丢包率阈值的差值;将所述差值乘以当前抖动缓存,获得调节值;增大所述抖动缓存,增大的幅度等于所述调节值。
进一步地,在减小所述抖动缓存之前,进一步判断减小后的抖动缓存是否小于预设的抖动缓存最小值,是则放弃本次调节,否则减小所述抖动缓存。
增大所述抖动缓存之前,也可进一步判断增大后的抖动缓存是否大于预设的抖动缓存最大值,是则放弃本次调节,否则增大所述抖动缓存。
例如,为保证一定的实时性,设置抖动缓存最大值Max为3s,为了保证数据的完整性,设置抖动缓存最小值Min为200ms。在调节的周期内,增大抖动缓存按|p-P|比例来调整,如抖动缓存的当前值jitterBuffer为1s,平均丢包率为8%,丢包率阈值P为3%,则调节后的jitterBuffer为1000+1000*(8%-3%)=1050ms。若jitterBuffer大于预先设置的抖动缓存最大值Max,则不调节。
减小抖动缓存则按|t-T|的幅度来调整,例如抖动缓存的当前值jitterBuffer为1s,平均延时t是500ms,延时阈值T为400ms,则调节后的jitterBuffer为1000ms-(500ms-400ms)=900ms。为保证数据的完整性,当jitterBuffer低于预先设置的抖动缓存最小值Min,则不做调整。
通过上述方式,在增大和减小所述抖动缓存时,以所述丢包率和延时作为调节参数,因此调节的幅度与所述丢包率和延时相关,更加符合丢包率和时延的要求。而设定所述抖动缓存最大值和最小值对抖动缓存的调节进行限制,防止调节过度影响通信质量。
请参阅图2,图2是本发明抖动缓存调节方法第二实施方式的流程示意图。
本实施方式的抖动缓存调节方法与所述第一实施方式的区别主要在于,在获取数据传输的接收端的丢包率和延时之前,还包括设置所述接收端的抖动缓存的初始值的步骤。
所述设置所述接收端的抖动缓存的初始值的步骤包括:
S202,发送测试数据包,并在每个测试数据包中添加序列号和时间标记;
S204,在接收端接收测试数据包,并根据所述测试数据包的序列号和时间标记获取各个所述测试数据包的发送时间和接收时间;
S206,根据各个所述测试数据包的发送时间和接收时间按照下式计算所述抖动缓存的理论最佳值:
jns=max{|(Rj—Sj)一(Ri—Si)|};
其中,jns为抖动缓存的理论最佳值,Rj表示序列号为第j个的测试数据包的接收时间,Sj表示序列号为第j个的测试数据包的发送时间,j和i是两个相邻的序列号;
S208,将所述抖动缓存的理论最佳值设为所述抖动缓存的初始值。
抖动缓存的初始值至少要解决一个队列中所有数据包能正常播放,即不丢包。因此,对于抖动缓存的初始化可以通过发送一组测试数据包来确定。在所述测试数据包的序列中会打上序列号和时间戳,这样在接收端可以知道原始包发送前的播放时间间隔。根据包的播放时间间隔,结合实际包的达到时间,按差值计算出最佳的缓存时间(缓存深度),可从最少的缓存深度来实现视频数据包的顺畅播放。
例如,对于一组测试数据包,i∈(1,n),j∈(1,n),j是i之后的一个序列号,n是数据包的总数量。则最佳缓冲时间jns=max{|(Rj—Sj)一(Ri—Si)|},Rj表示测试数据包接收的时间,Sj表示测试数据包发送的时间,只要接收端的抖动缓冲区大小超过jns则不存在丢包情况,因此将jns设置为默认缓存深度。
假如有3个测试数据包ABC,发送时刻分别为10,20,30ms,通过网络的各种延迟后,到达时刻为20,50,40ms,由此可算出jns为20ms。数据包的实际播放时间为40,50,60ms,如图3所示。则,其中数据包A跟C在到达接收端后缓存了20ms,数据包B则刚好不用缓存。3个数据包在播放时间都已经到达,没有丢包。
本实施方式中,通过发送所述测试数据包,并记录各个所述测试数据包的发送时间和接收时间,可以计算出计算所述抖动缓存的理论最佳值,将所述理论最佳值作为抖动缓存的初始值,可以使所述抖动缓存的设置更加合理,避免或者减少丢包,也能提高抖动缓存调节的效率。
请参阅图4,图4是本发明抖动缓存调节方法第三实施方式的流程示意图。
本实施方式的抖动缓存调节方法与所述第一、第二实施方式的抖动缓存调节方法的区别主要在于,根据所述丢包率和延时,按预设周期调节所述接收端的抖动缓存的大小之前,还包括以下步骤:
S302,按预设周期计算接收端的抖动缓存的理论最佳值;
S304,根据所述理论值调节所述接收端的抖动缓存的大小。
在本实施方式中,在根据所述丢包率和延时调节所述接收端的抖动缓存的大小之前,先根据计算的理论最佳值对所述接收端的抖动缓存进行粗调,然后再进入根据丢包率和延时的微调,使调节效果更好,调节效率更高。
系统初始化时候,可以设置抖动缓存的深度为1s,然后根据实际丢包率和延时情况不断调整。初始化的缓存深度除了采用第二实施方式的方法设置之外,也可以根据系统历史记录的缓存深度做一个平均值,通常可设置为1s,是比较接近大多数系统的平均缓存深度。从数据传输开始便可按一定的周期进行抖动缓存的调节。
由于网络的波动在很多时间带有不确定性,但是每次调节抖动缓存的深度,都会对缓存队列的长度进行一些增减操作和数据运算,如果太频繁的调节则会影响系统的性能。
因此在本实施方式中,优选按200帧数据为一个周期,计算接收端的抖动缓存的理论最佳值,以所述根据所述理论值调节所述接收端的抖动缓存的大小。
按预设周期计算接收端的抖动缓存的理论最佳值的步骤与第二实施方式中计算的抖动缓存的理论最佳值类似,包括:
在所述预设周期内统计所述接收端接收的每个数据包的发送时间和接收时间;
根据各个所述数据包的发送时间和接收时间按照下式计算所述预设周期内抖动缓存的理论最佳值:
jns=max{|(Rj—Sj)一(Ri—Si)|};
其中,jns为抖动缓存的理论最佳值,Rj表示序列号为第j个的测试数据包的接收时间,Sj表示序列号为第j个的测试数据包的发送时间,j和i是两个相邻的序列号。
通过200帧数据按前面的算法算出最佳jns。每次轮询的开始将jitterBuffer根据上一次200帧周期计算出的jns先做调整(第一次除外)。
优选地,为了不让每次调整的jitterBuffer波动比较大,而且新的jns也未必适应具体的网络环境,因此我们不按新的jns做新的jitterBuffer值,而是允许一定的波动范围。即,根据所述理论值调节所述接收端的抖动缓存的大小的步骤包括:
如果所述抖动缓存的理论最佳值与其当前值的差值在预设范围内,则不改变所述抖动缓存的当前值;
如果所述抖动缓存的理论最佳值小于其当前值,则按照下式调节所述抖动缓存的当前值:
jitterBuffer=jns+(jitterBuffer-jns)/2;
如果所述抖动缓存的理论最佳值大于其当前值,则按照下式调节所述抖动缓存的当前值:
jitterBuffer=jns-(jns-jitterBuffer)/2;
其中,jitterBuffer为所述抖动缓存的当前值,jns为所述抖动缓存的理论最佳值。
所述抖动缓存的理论最佳值与其当前值的差值的预设范围可设置为20%,则:
若jns>jitterBuffer*0.8且jns<jitterBuffer*1.2,则jitterBuffer不变;
若jns<jitterBuffer*0.8,则目前的缓存深度比理论最佳值偏大,则令jitterBuffer=jns+(jitterBuffer-jns)/2;
若jns>jitterBuffer*1.2,则目前的缓存深度比理论最佳值偏小,则令jitterBuffer=jns-(jns-jitterBuffer)/2。
本发明对网络抖动延迟提出了一种自适应网络变化的抖动缓存调节方法,从延时和丢包率做了一个较好的均衡,使得数据传输在网络波动情况下能得到一个最低延迟而又少顿卡的体验。特别是在视频实时传输中的根据网络抖动延时的变化,对接收端的缓冲队列进行实时动态调整,可以兼顾低延时和低丢包率问题。
请参阅图5,图5是本发明抖动缓存调节系统第一实施方式的结构示意图。
所述抖动缓存调节系统,包括:
参数获取模块10,用于获取数据传输的接收端的丢包率和延时;
第一调节模块20,用于根据所述丢包率和延时,按预设周期调节所述接收端的抖动缓存的大小。
本发明的抖动缓存调节系统,根据数据传输的接收端的丢包率和延时,自适应调节所述接收端的抖动缓存的大小。因此抖动缓存的大小是自适应变化的,能够解决抖动缓存太小,无法处理网络抖动延迟导致的丢包率过大的问题,也能够解决抖动缓存过大而导致的网络延时过大,影响数据传输质量的问题,尤其适用于网络视频数据的传输。
其中,所述参数获取模块10可以在接收端通过对所接收的数据包进行丢包率和延时统计的方式获得,或者通过发送测试包,检测所述测试包的丢包率和延时的方式获得,又或者通过本领域习知的其他技术手段获取所述接收端的丢包率和延时。
在一个优选实施方式中,所述参数获取模块10包括:
用于按预设周期统计接收端的丢包率和延时的模块;
以及,用于计算在每一所述预设周期内的丢包率的平均值和延时的平均值,获取所述预设周期内的接收端的丢包率和延时的模块。
因为在本发明中,抖动缓存的大小是变化的,因此丢包率和延时可能随着抖动缓存的变化而有所变化,另外丢包率和延时还可能受到实时的网络状态而有所改变,因此,按预设周期对所述丢包率和延时进行统计,计算每一所述预设周期内的丢包率和延时的平均值,作为该周期内的丢包率和时延值,能够提高丢包率和时延统计的准确性。所述预设周期可以与抖动缓存的调节周期相对应,也可以不对应。
所述第一调节模块20在调节所述接收端的抖动缓存时,基本原则是:在丢包率过大时增大接收端的抖动缓存,以提高对数据包的缓存接收时间,减小丢包率;在延时过大时,减小接收端的抖动缓存,以减少对数据包的缓存接收时间,提高效率。
在一个实施方式中,所述第一调节模块20对所述丢包率和延时分别预设一个丢包率阈值和延时阈值,所述第一调节模块20包括:
用于如果所述延时大于预设的延时阈值,则减少所述抖动缓存的模块;
用于如果所述丢包率大于预设的丢包率阈值,并且所述延时小于所述延时阈值,则增大所述抖动缓存的模块;
用于如果所述丢包率小于所述丢包率阈值,并且所述延时小于所述延时阈值,则维持所述抖动缓存的大小不变的模块。
例如,假设允许的预设丢包率阈值P为3%,而允许的预设延时阈值T为400ms。而调节的周期设置为5秒,以保证实时为优先条件,即尽量保证延时不超过阀值400ms。则根据统计该周期内的平均丢包率p和延时t,做以下处理:
若t>T时,为保证实时性,就要减少抖动缓存,把t降低到T左右,允许丢包率p适当提高一些。
若p>P而t<T时,适当增大缓冲区,使p降下来。若此时导致t>T,则进入上述步骤,减少抖动缓存。
若达到t<T,且p<P,则不改变所述抖动缓存的大小,进行下一轮调节。
通过上述方法,可以在保证实时性的基础上尽量减小丢包率,提高数据传输指令。
上述减小或者增大所述抖动缓存时,减小和增大的幅度可以根据实际的网络情况自行设置。在一个优选实施方式中,所述第一调节模块20减小所述抖动缓存时,减小的幅度等于所述延时与所述延时阈值的差值。而对于增大所述抖动缓存,所述第一调节模块20包括:
用于在增大所述抖动缓存时,计算所述丢包率与所述丢包率阈值的差值的模块;
以及,用于将所述差值乘以当前抖动缓存,获得调节值,令增大所述抖动缓存的幅度等于所述调节值的模块。
进一步地,所述第一调节模块20还包括用于在减小所述抖动缓存之前,进一步判断减小后的抖动缓存是否小于预设的抖动缓存最小值,是则放弃本次调节,否则减小所述抖动缓存的模块。
以及,用于增大所述抖动缓存之前,判断增大后的抖动缓存是否大于预设的抖动缓存最大值,是则放弃本次调节,否则增大所述抖动缓存的模块。
例如,为保证一定的实时性,设置抖动缓存最大值Max为3s,为了保证数据的完整性,设置抖动缓存最小值Min为200ms。在调节的周期内,增大抖动缓存按|p-P|比例来调整,如抖动缓存的当前值jitterBuffer为1s,平均丢包率为8%,丢包率阈值P为3%,则调节后的jitterBuffer为1000+1000*(8%-3%)=1050ms。若jitterBuffer大于预先设置的抖动缓存最大值Max,则不调节。
减小抖动缓存则按|t-T|的幅度来调整,例如抖动缓存的当前值jitterBuffer为1s,平均延时t是500ms,延时阈值T为400ms,则调节后的jitterBuffer为1000ms-(500ms-400ms)=900ms。为保证数据的完整性,当jitterBuffer低于预先设置的抖动缓存最小值Min,则不做调整。
通过上述方式,在增大和减小所述抖动缓存时,以所述丢包率和延时作为调节参数,因此调节的幅度与所述丢包率和延时相关,更加符合丢包率和时延的要求。而设定所述抖动缓存最大值和最小值对抖动缓存的调节进行限制,防止调节过度影响通信质量。
请参阅图6,图6是本发明抖动缓存调节系统第二实施方式的结构示意图。
本实施方式的抖动缓存调节系统与所述第一实施方式的区别主要在于,还包括初始值设置模块30,所述初始值设置模块30包括:
用于发送测试数据包,并在每个测试数据包中添加序列号和时间标记的模块;
用于在接收端接收测试数据包,并根据所述测试数据包的序列号和时间标记获取各个所述测试数据包的发送时间和接收时间的模块;
用于根据各个所述测试数据包的发送时间和接收时间按照下式计算所述抖动缓存的理论最佳值的模块:
jns=max{|(Rj—Sj)一(Ri—Si)|};
其中,jns为抖动缓存的理论最佳值,Rj表示序列号为第j个的测试数据包的接收时间,Sj表示序列号为第j个的测试数据包的发送时间,j和i是两个相邻的序列号;
以及,用于将所述抖动缓存的理论最佳值设为所述抖动缓存的初始值的模块。
抖动缓存的初始值至少要解决一个队列中所有数据包能正常播放,即不丢包。因此,对于抖动缓存的初始化可以通过发送一组测试数据包来确定。在所述测试数据包的序列中会打上序列号和时间戳,这样在接收端可以知道原始包发送前的播放时间间隔。根据包的播放时间间隔,结合实际包的达到时间,按差值计算出最佳的缓存时间(缓存深度),可从最少的缓存深度来实现视频数据包的顺畅播放。
本实施方式中,通过发送所述测试数据包,并记录各个所述测试数据包的发送时间和接收时间,可以计算出计算所述抖动缓存的理论最佳值,将所述理论最佳值作为抖动缓存的初始值,可以使所述抖动缓存的设置更加合理,避免或者减少丢包,也能提高抖动缓存调节的效率。
请参阅图7,图7是本发明抖动缓存调节系统第三实施方式的结构示意图。
本实施方式的抖动缓存调节系统与所述第一、第二实施方式的抖动缓存调节系统的区别主要在于,还包括:第二调节模块40,所述第二调节模块40用于按预设周期计算接收端的抖动缓存的理论最佳值,根据所述理论值调节所述接收端的抖动缓存的大小。
在本实施方式中,在根据所述丢包率和延时调节所述接收端的抖动缓存的大小之前,先根据计算的理论最佳值对所述接收端的抖动缓存进行粗调,然后再进入根据丢包率和延时的微调,使调节效果更好,调节效率更高。
系统初始化时候,可以设置抖动缓存的深度为1s,然后根据实际丢包率和延时情况不断调整。初始化的缓存深度除了采用第二实施方式的方法设置之外,也可以根据系统历史记录的缓存深度做一个平均值,通常可设置为1s,是比较接近大多数系统的平均缓存深度。从数据传输开始便可按一定的周期进行抖动缓存的调节。
由于网络的波动在很多时间带有不确定性,但是每次调节抖动缓存的深度,都会对缓存队列的长度进行一些增减操作和数据运算,如果太频繁的调节则会影响系统的性能。
因此在本实施方式中,优选按200帧数据为一个周期,计算接收端的抖动缓存的理论最佳值,以所述根据所述理论值调节所述接收端的抖动缓存的大小。
按预设周期计算接收端的抖动缓存的理论最佳值优选与第二实施方式中计算的抖动缓存的理论最佳值类似,则所述第二调节模块40包括:
用于在所述预设周期内统计所述接收端接收的每个数据包的发送时间和接收时间的模块;
根据各个所述数据包的发送时间和接收时间按照下式计算所述预设周期内抖动缓存的理论最佳值的模块:
jns=max{|(Rj—Sj)一(Ri—Si)|};
其中,jns为抖动缓存的理论最佳值,Rj表示序列号为第j个的测试数据包的接收时间,Sj表示序列号为第j个的测试数据包的发送时间,j和i是两个相邻的序列号。
通过200帧数据按前面的算法算出最佳jns。每次轮询的开始将jitterBuffer根据上一次200帧周期计算出的jns先做调整(第一次除外)。
优选地,为了不让每次调整的jitterBuffer波动比较大,而且新的jns也未必适应具体的网络环境,因此我们不按新的jns做新的jitterBuffer值,而是允许一定的波动范围。即,所述第二调节模块40还包括:
用于如果所述抖动缓存的理论最佳值与其当前值的差值在预设范围内,则不改变所述抖动缓存的当前值的模块;
用于如果所述抖动缓存的理论最佳值小于其当前值,则按照下式调节所述抖动缓存的当前值的模块:
jitterBuffer=jns+(jitterBuffer-jns)/2;
用于如果所述抖动缓存的理论最佳值大于其当前值,则按照下式调节所述抖动缓存的当前值的模块:
jitterBuffer=jns-(jns-jitterBuffer)/2;
其中,jitterBuffer为所述抖动缓存的当前值,jns为所述抖动缓存的理论最佳值。
所述抖动缓存的理论最佳值与其当前值的差值的预设范围可设置为20%,则:
若jns>jitterBuffer*0.8且jns<jitterBuffer*1.2,则jitterBuffer不变;
若jns<jitterBuffer*0.8,则目前的缓存深度比理论最佳值偏大,则令jitterBuffer=jns+(jitterBuffer-jns)/2;
若jns>jitterBuffer*1.2,则目前的缓存深度比理论最佳值偏小,则令jitterBuffer=jns-(jns-jitterBuffer)/2。
本发明对网络抖动延迟提出了一种自适应网络变化的抖动缓存调节方法,从延时和丢包率做了一个较好的均衡,使得数据传输在网络波动情况下能得到一个最低延迟而又少顿卡的体验。特别是在视频实时传输中的根据网络抖动延时的变化,对接收端的缓冲队列进行实时动态调整,可以兼顾低延时和低丢包率问题。
本领域普通技术人员可以理解实现上述实施方式中的全部或部分流程以及对应的系统,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各实施方式的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (16)

1.一种抖动缓存调节方法,其特征在于,包括以下步骤:
获取数据传输的接收端的丢包率和延时;
根据所述丢包率和延时,按预设周期调节所述接收端的抖动缓存的大小,包括:
如果所述延时大于预设的延时阈值,则减少所述抖动缓存;
如果所述丢包率大于预设的丢包率阈值,并且所述延时小于所述延时阈值,则增大所述抖动缓存;其中,计算所述丢包率与所述丢包率阈值的差值,将所述差值乘以当前抖动缓存,获得调节值,增大所述抖动缓存,增大的幅度等于所述调节值;
如果所述丢包率小于所述丢包率阈值,并且所述延时小于所述延时阈值,则维持所述抖动缓存的大小不变。
2.如权利要求1所述的抖动缓存调节方法,其特征在于,获取数据传输的接收端的丢包率和延时的步骤包括:
按预设周期统计接收端的丢包率和延时;
计算在每一所述预设周期内的丢包率的平均值和延时的平均值,获取所述预设周期内的接收端的丢包率和延时。
3.如权利要求1所述的抖动缓存调节方法,其特征在于,减小所述抖动缓存的步骤中,减小的幅度等于所述延时与所述延时阈值的差值。
4.如权利要求1所述的抖动缓存调节方法,其特征在于,减小所述抖动缓存之前,进一步判断减小后的抖动缓存是否小于预设的抖动缓存最小值,是则放弃本次调节,否则减小所述抖动缓存。
5.如权利要求1所述的抖动缓存调节方法,其特征在于,增大所述抖动缓存之前,进一步判断增大后的抖动缓存是否大于预设的抖动缓存最大值,是则放弃本次调节,否则增大所述抖动缓存。
6.如权利要求1至5任意一项所述的抖动缓存调节方法,其特征在于,在获取数据传输的接收端的丢包率和延时之前,还包括设置所述接收端的抖动缓存的初始值的步骤:
发送测试数据包,并在每个测试数据包中添加序列号和时间标记;
在接收端接收测试数据包,并根据所述测试数据包的序列号和时间标记获取各个所述测试数据包的发送时间和接收时间;
根据各个所述测试数据包的发送时间和接收时间按照下式计算所述抖动缓存的理论最佳值:
jns=max{|(Rj—Sj)一(Ri—Si)|};
其中,jns为抖动缓存的理论最佳值,Rj表示序列号为第j个的测试数据包的接收时间,Sj表示序列号为第j个的测试数据包的发送时间,j和i是两个相邻的序列号;
将所述抖动缓存的理论最佳值设为所述抖动缓存的初始值。
7.如权利要求1至5任意一项所述的抖动缓存调节方法,其特征在于,根据所述丢包率和延时,按预设周期调节所述接收端的抖动缓存的大小之前,还包括以下步骤:
按预设周期计算接收端的抖动缓存的理论最佳值;
根据所述理论值调节所述接收端的抖动缓存的大小。
8.如权利要求7所述的抖动缓存调节方法,其特征在于,按预设周期计算接收端的抖动缓存的理论最佳值的步骤包括:
在所述预设周期内统计所述接收端接收的每个数据包的发送时间和接收时间;
根据各个所述数据包的发送时间和接收时间按照下式计算所述预设周期内抖动缓存的理论最佳值:
jns=max{|(Rj—Sj)一(Ri—Si)|};
其中,jns为抖动缓存的理论最佳值,Rj表示序列号为第j个的测试数据包的接收时间,Sj表示序列号为第j个的测试数据包的发送时间,j和i是两个相邻的序列号。
9.如权利要求7所述的抖动缓存调节方法,其特征在于,根据所述理论值调节所述接收端的抖动缓存的大小的步骤包括:
如果所述抖动缓存的理论最佳值与其当前值的差值在预设范围内,则不改变所述抖动缓存的当前值;
如果所述抖动缓存的理论最佳值小于其当前值,则按照下式调节所述抖动缓存的当前值:
jitterBuffer=jns+(jitterBuffer-jns)/2;
如果所述抖动缓存的理论最佳值大于其当前值,则按照下式调节所述抖动缓存的当前值:
jitterBuffer=jns-(jns-jitterBuffer)/2;
其中,jitterBuffer为所述抖动缓存的当前值,jns为所述抖动缓存的理论最佳值。
10.一种抖动缓存调节系统,其特征在于,包括:
参数获取模块,用于获取数据传输的接收端的丢包率和延时;
第一调节模块,用于根据所述丢包率和延时,按预设周期调节所述接收端的抖动缓存的大小
所述第一调节模块包括:
用于如果所述延时大于预设的延时阈值,则减少所述抖动缓存的模块;
用于如果所述丢包率大于预设的丢包率阈值,并且所述延时小于所述延时阈值,则增大所述抖动缓存的模块;其中,计算所述丢包率与所述丢包率阈值的差值,将所述差值乘以当前抖动缓存,获得调节值,增大所述抖动缓存,增大的幅度等于所述调节值;
以及,用于如果所述丢包率小于所述丢包率阈值,并且所述延时小于所述延时阈值,则维持所述抖动缓存的大小不变的模块。
11.如权利要求10所述的抖动缓存调节系统,其特征在于,所述参数获取模块包括:
用于按预设周期统计接收端的丢包率和延时的模块;
用于计算在每一所述预设周期内的丢包率的平均值和延时的平均值,获取所述预设周期内的接收端的丢包率和延时的模块。
12.如权利要求10所述的抖动缓存调节系统,其特征在于,所述第一调节模块在减小所述抖动缓存时,减小的幅度等于所述延时与所述延时阈值的差值。
13.如权利要求10至12任意一项所述的抖动缓存调节系统,其特征在于,还包括初始值设置模块,所述初始值设置模块包括:
用于发送测试数据包,并在每个测试数据包中添加序列号和时间标记的模块;
用于在接收端接收测试数据包,并根据所述测试数据包的序列号和时间标记获取各个所述测试数据包的发送时间和接收时间的模块;
用于根据各个所述测试数据包的发送时间和接收时间按照下式计算所述抖动缓存的理论最佳值的模块:
jns=max{|(Rj—Sj)一(Ri—Si)|};
其中,jns为抖动缓存的理论最佳值,Rj表示序列号为第j个的测试数据包的接收时间,Sj表示序列号为第j个的测试数据包的发送时间,j和i是两个相邻的序列号;
以及,用于将所述抖动缓存的理论最佳值设为所述抖动缓存的初始值的模块。
14.如权利要求10至12任意一项所述的抖动缓存调节系统,其特征在于,还包括:第二调节模块,所述第二调节模块用于按预设周期计算接收端的抖动缓存的理论最佳值,根据所述理论值调节所述接收端的抖动缓存的大小。
15.如权利要求14所述的抖动缓存调节系统,其特征在于,所述第二调节模块包括:
用于在所述预设周期内统计所述接收端接收的每个数据包的发送时间和接收时间的模块;
根据各个所述数据包的发送时间和接收时间按照下式计算所述预设周期内抖动缓存的理论最佳值的模块:
jns=max{|(Rj—Sj)一(Ri—Si)|};
其中,jns为抖动缓存的理论最佳值,Rj表示序列号为第j个的测试数据包的接收时间,Sj表示序列号为第j个的测试数据包的发送时间,j和i是两个相邻的序列号。
16.如权利要求14所述的抖动缓存调节系统,其特征在于,所述第二调节模块还包括:
用于如果所述抖动缓存的理论最佳值与其当前值的差值在预设范围内,则不改变所述抖动缓存的当前值的模块;
用于如果所述抖动缓存的理论最佳值小于其当前值,则按照下式调节所述抖动缓存的当前值的模块:
jitterBuffer=jns+(jitterBuffer-jns)/2;
用于如果所述抖动缓存的理论最佳值大于其当前值,则按照下式调节所述抖动缓存的当前值的模块:
jitterBuffer=jns-(jns-jitterBuffer)/2;
其中,jitterBuffer为所述抖动缓存的当前值,jns为所述抖动缓存的理论最佳值。
CN201310462271.4A 2013-09-30 2013-09-30 抖动缓存调节方法及其系统 Active CN103533451B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310462271.4A CN103533451B (zh) 2013-09-30 2013-09-30 抖动缓存调节方法及其系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310462271.4A CN103533451B (zh) 2013-09-30 2013-09-30 抖动缓存调节方法及其系统

Publications (2)

Publication Number Publication Date
CN103533451A CN103533451A (zh) 2014-01-22
CN103533451B true CN103533451B (zh) 2017-01-11

Family

ID=49935055

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310462271.4A Active CN103533451B (zh) 2013-09-30 2013-09-30 抖动缓存调节方法及其系统

Country Status (1)

Country Link
CN (1) CN103533451B (zh)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104410587A (zh) * 2014-11-13 2015-03-11 京信通信系统(中国)有限公司 一种接收缓冲区容量控制方法及装置
CN105991476B (zh) * 2015-01-29 2020-08-04 沪江教育科技(上海)股份有限公司 一种语音数据延时处理方法及装置
CN106331577B (zh) * 2015-06-25 2020-08-14 阿里巴巴集团控股有限公司 一种调整编码的方法及装置
CN105142002B (zh) * 2015-08-07 2018-06-22 广州博冠信息科技有限公司 音/视频直播方法、装置及控制方法、装置
CN105554019B (zh) * 2016-01-08 2018-07-24 全时云商务服务股份有限公司 一种音频去抖动系统和方法
CN107529097A (zh) * 2016-06-20 2017-12-29 北京信威通信技术股份有限公司 一种自适应调整视频缓冲大小的方法及装置
CN109104263A (zh) * 2017-06-20 2018-12-28 阿里巴巴集团控股有限公司 存储容量的调整方法、装置和系统
CN107450534B (zh) * 2017-07-28 2020-11-27 珞石(山东)智能科技有限公司 用于处理机器人网络通信抖动的鲁棒规划系统
CN108966038B (zh) * 2017-12-27 2021-01-22 视联动力信息技术股份有限公司 一种视频数据处理方法及视联网缓存服务器
CN109996286A (zh) * 2017-12-29 2019-07-09 华为技术有限公司 通信方法和装置
CN108111531B (zh) * 2018-01-02 2020-12-08 青岛海信网络科技股份有限公司 一种增强视频直播质量的方法及装置
CN108347645B (zh) * 2018-01-19 2021-02-26 浙江大华技术股份有限公司 一种视频帧解码显示的方法及装置
CN109327716B (zh) 2018-10-31 2020-09-11 北京达佳互联信息技术有限公司 延迟控制方法、延迟控制装置和计算机可读存储介质
CN109743263B (zh) * 2019-01-14 2022-06-17 北京世纪好未来教育科技有限公司 动态抖动缓冲方法、装置和计算机设备
CN110113270B (zh) * 2019-04-11 2021-04-23 北京达佳互联信息技术有限公司 网络通信的抖动控制方法、装置、终端及存储介质
CN110351595B (zh) * 2019-07-17 2023-08-18 北京百度网讯科技有限公司 一种缓冲处理方法、装置、设备和计算机存储介质
CN113900619A (zh) * 2019-09-27 2022-01-07 北京西山居互动娱乐科技有限公司 一种音频数据处理方法及装置
CN110620793B (zh) * 2019-10-31 2022-03-15 苏州浪潮智能科技有限公司 一种提高音频质量的方法、设备及介质
CN111135569B (zh) * 2019-12-20 2024-01-19 RealMe重庆移动通信有限公司 云游戏处理方法、装置、存储介质与电子设备
CN113497671B (zh) * 2020-04-02 2023-07-18 成都鼎桥通信技术有限公司 数据处理方法、装置、设备、存储介质及终端设备
CN111491016B (zh) * 2020-04-02 2023-08-25 北京代码乾坤科技有限公司 同步数据处理方法和装置
CN111901678B (zh) * 2020-07-31 2022-08-23 成都云格致力科技有限公司 一种面向tcp实时视频流的抗抖动平滑方法及其系统
CN112822502B (zh) * 2020-12-28 2022-06-07 阿里巴巴(中国)有限公司 直播去抖动的智能缓存与直播方法、设备及存储介质
CN113037853B (zh) * 2021-03-22 2023-01-06 北京字节跳动网络技术有限公司 数据处理方法、装置、设备及存储介质
CN113099272A (zh) * 2021-04-12 2021-07-09 上海商汤智能科技有限公司 视频处理方法及装置、电子设备和存储介质
CN113766261B (zh) * 2021-09-06 2024-06-11 百果园技术(新加坡)有限公司 一种确定预拉取时长方法、装置、电子设备及存储介质
CN116055417A (zh) * 2022-12-30 2023-05-02 百果园技术(新加坡)有限公司 一种基于网络收益的抖动缓冲器调节方法及系统
CN116320612B (zh) * 2023-05-19 2023-08-04 北京大学 一种视频数据传输系统
CN116708134B (zh) * 2023-07-12 2024-05-14 韩山师范学院 基于流量控制的点对点网络传输系统
CN116886974B (zh) * 2023-09-07 2023-12-19 海马云(天津)信息技术有限公司 优化终端解码渲染性能的方法和装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1996935A (zh) * 2006-01-04 2007-07-11 华为技术有限公司 一种流媒体接收端缓冲区内数据包的动态调整方法
CN101924683A (zh) * 2009-06-09 2010-12-22 华为技术有限公司 一种动态调整抖动缓存的方法、装置和电子设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7630409B2 (en) * 2002-10-21 2009-12-08 Lsi Corporation Method and apparatus for improved play-out packet control algorithm

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1996935A (zh) * 2006-01-04 2007-07-11 华为技术有限公司 一种流媒体接收端缓冲区内数据包的动态调整方法
CN101924683A (zh) * 2009-06-09 2010-12-22 华为技术有限公司 一种动态调整抖动缓存的方法、装置和电子设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
《一种自适应调整抖动缓冲区大小的算法》;胡斌,黎忠文;《计算机技术与发展》;20090228;第19卷(第2期);第35-38页 *

Also Published As

Publication number Publication date
CN103533451A (zh) 2014-01-22

Similar Documents

Publication Publication Date Title
CN103533451B (zh) 抖动缓存调节方法及其系统
US10200432B2 (en) HTTP streaming client adaptation algorithm based on proportional-integral control
CN101242359B (zh) 动态码率分配方法、分组域流媒体服务器
Laoutaris et al. Intrastream synchronization for continuous media streams: A survey of playout schedulers
CN104350755B (zh) 通过速率限制的自适应流视频客户端的稳定的方法和装置
CN101296184B (zh) 一种数据传输的方法、系统及装置
CN104125429B (zh) 视频数据传输的调节方法及装置
CN105376607A (zh) 一种网络抖动环境下的视频直播方法及装置
US9888401B2 (en) Media content delivery over a wireless network
US8995268B2 (en) Method for controlling a flow in a packet switching network
CN106658051B (zh) 一种缓冲播放流媒体的控制方法及系统
CN101741890A (zh) 一种实现速率控制的方法、系统和设备
CN105142002B (zh) 音/视频直播方法、装置及控制方法、装置
CN102547449A (zh) 一种控制终端缓冲媒体流数据的方法、机顶盒及媒体服务器
CN105392023A (zh) 一种网络抖动环境下的视频直播方法及装置
Lautenschlaeger et al. Global synchronization protection for bandwidth sharing TCP flows in high-speed links
CN108401128A (zh) 一种视频通话中的拥塞控制方法
Bouten et al. Minimizing the impact of delay on live SVC-based HTTP adaptive streaming services
CN105517047B (zh) 基站流量整形方法和系统
CN104168218B (zh) 抖动缓冲方法及装置
CN110191060A (zh) 一种调整数据包发送码率的方法、装置、设备及系统
Nguyen et al. An adaptive streaming method of 360 videos over HTTP/2 protocol
Evensen et al. Adaptive media streaming to mobile devices: challenges, enhancements, and recommendations
Nam et al. Adaptive multimedia stream presentation in mobile computing environment
CN102316362A (zh) Iptv内容调度方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20140122

Assignee: All kinds of fruits garden, Guangzhou network technology company limited

Assignor: Guangzhou Huaduo Network Technology Co., Ltd.

Contract record no.: 2015990000266

Denomination of invention: Dithering cache control method and system thereof

License type: Common License

Record date: 20150511

LICC Enforcement, change and cancellation of record of contracts on the licence for exploitation of a patent or utility model
CB02 Change of applicant information

Address after: 511449, Guangdong, Guangzhou, Panyu District Town, Huambo business district, Wanda Plaza, block B1, 28 floor

Applicant after: Guangzhou Huaduo Network Technology Co., Ltd.

Address before: 510655, Guangzhou, Tianhe District, Whampoa Avenue, No. 309, creative park, building 3-08

Applicant before: Guangzhou Huaduo Network Technology Co., Ltd.

COR Change of bibliographic data
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20210118

Address after: 511400 3108, 79 Wanbo 2nd Road, Nancun Town, Panyu District, Guangzhou City, Guangdong Province

Patentee after: GUANGZHOU CUBESILI INFORMATION TECHNOLOGY Co.,Ltd.

Address before: 511449 28 / F, block B1, Wanda Plaza, Wanbo business district, Nancun Town, Panyu District, Guangzhou City, Guangdong Province

Patentee before: GUANGZHOU HUADUO NETWORK TECHNOLOGY Co.,Ltd.

EE01 Entry into force of recordation of patent licensing contract
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20140122

Assignee: GUANGZHOU HUADUO NETWORK TECHNOLOGY Co.,Ltd.

Assignor: GUANGZHOU CUBESILI INFORMATION TECHNOLOGY Co.,Ltd.

Contract record no.: X2021440000053

Denomination of invention: Jitter buffer adjustment method and system

Granted publication date: 20170111

License type: Common License

Record date: 20210208