CN104168218A - 抖动缓冲方法及装置 - Google Patents
抖动缓冲方法及装置 Download PDFInfo
- Publication number
- CN104168218A CN104168218A CN201410403167.2A CN201410403167A CN104168218A CN 104168218 A CN104168218 A CN 104168218A CN 201410403167 A CN201410403167 A CN 201410403167A CN 104168218 A CN104168218 A CN 104168218A
- Authority
- CN
- China
- Prior art keywords
- buffering
- time delay
- communication
- maximum length
- internet transmission
- 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.)
- Granted
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种抖动缓冲方法及装置,属于通信领域。该方法包括:获取本次通信过程的通信场景;根据该通信场景调整抖动缓冲区的缓冲参数,不同的通信场景对应不同的缓冲参数;根据该缓冲参数在该抖动缓冲区缓冲本次通信过程的数据包。该装置包括:获取模块、第一调整模块、缓冲模块。本发明通过在通信的过程中获取通信场景,根据通信场景调整缓冲参数,根据缓冲参数在抖动缓冲区缓冲通信过程的数据包;解决了现有技术在引入抖动缓冲区之后,抖动缓冲区的缓冲参数不能根据复杂多变的通信场景进行调整,因此不能达到很好的抖动缓冲效果的问题,达到了抖动缓冲参数可根据通信场景进行调整的效果,提高了抖动缓冲效果。
Description
技术领域
本发明涉及通信领域,特别涉及一种抖动缓冲方法及装置。
背景技术
随着通信技术的快速发展,使用诸如语音、视频进行实时通信已成必不可少的通信方式。比如,使用语音聊天,使用视频软件召开视频会议等等。
以使用语音通信为例,通常,在进行语音通信时,发送端将检测到的语音信号封装为多个语音包,并通过网络将该多个语音包发送至接收端,接收端在接收到该多个语音包时,将其解封装为语音信号提供给用户,从而实现语音通信。但是,可能由于网络原因或各个语音包的传输路径不同,接收端接收到各个语音包的网络时延不同,导致接收端提供给用户的语音信号产生抖动。
为了解决语音信号在传输过程中的抖动问题,现有技术提供了一种抖动缓冲方法,包括:在接收端中引入抖动缓冲区并引入对语音包的缓冲延时,当接收端接收到多个语音包时,先将该多个语音包保存在抖动缓冲区,当最先一个保存在抖动缓冲区的语音包在抖动缓冲区的保存时长超过缓冲延时时,以平稳的速率从抖动缓冲区取出该多个语音包,并将其解封装为语音信号提供给用户,由此可以平滑语音信号的抖动。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:上述抖动缓冲方法在引入抖动缓冲区之后,该抖动缓冲区的缓冲参数通常是固定的或只能根据网络传输抖动来进行调整,但由于通信场景通常复杂多变,因此,上述抖动缓冲方法的缓冲参数不能适配在相同的网络条件下针对不同场景进行调整,从而不能达到很好的抖动缓冲效果。
发明内容
为了解决现有技术在引入抖动缓冲区之后,该抖动缓冲区的缓冲参数通常是固定的或只能根据网络传输抖动来进行调整,但由于通信场景通常复杂多变,因此,现有的抖动缓冲方法的缓冲参数不能适配在相同的网络条件下针对不同场景进行调整,从而不能达到很好的抖动缓冲效果的问题,本发明实施例提供了一种抖动缓冲方法及装置。所述技术方案如下:
一方面,提供了一种抖动缓冲方法,所述方法包括:
获取本次通信过程的通信场景;
根据所述通信场景调整抖动缓冲区的缓冲参数,不同的通信场景对应不同的缓冲参数;
根据所述缓冲参数在所述抖动缓冲区缓冲本次通信过程的数据包。
可选地,所述通信场景包括交互式通信场景和单向式通信场景,所述交互式通信场景的时延容忍度低于所述单向式通信场景的时延容忍度;
所述交互式通信场景为既存在上行数据包又存在下行数据包时的通信场景;
所述单向式通信场景为只存在下行数据包时的通信场景。
可选地,所述获取本次通信过程的通信场景,包括:
每隔第一预定时间间隔检测本次通信过程是否存在所述上行数据包;
若所述本次通信过程存在所述上行数据包,则将所述交互式通信场景确定为本次通信过程的通信场景;
若所述本次通信过程不存在所述上行数据包,则将所述单向式通信场景确定为本次通信过程的通信场景。
可选地,在所述缓冲参数包括缓冲最大长度和缓冲延时时,所述根据所述通信场景调整抖动缓冲区的缓冲参数,包括:
在所述通信场景为所述交互式通信场景时,根据所述交互式通信场景对应的时延容忍度,设置所述缓冲最大长度为第一缓冲最大长度,并设置所述缓冲延时为第一缓冲延时;
在所述通信场景为所述单向式通信场景时,根据所述单向式通信场景对应的时延容忍度,设置所述缓冲最大长度为第二缓冲最大长度,并设置所述缓冲延时为第二缓冲延时;
所述第一缓冲最大长度小于所述第二缓冲最大长度,所述第一缓冲延时小于所述第二缓冲延时。
可选地,在所述通信场景为所述交互式通信场景时,所述方法,还包括:
每隔第二预定时间间隔计算当前通信场景下的网络传输抖动值;
根据所述网络传输抖动值在所述第一缓冲最大长度内动态调整所述第一缓冲延时的数值,所述第一缓冲延时的数值与所述网络传输抖动值呈正相关关系;或,根据所述网络传输抖动值在第一预设数值范围内动态调整所述第一缓冲最大长度的数值,在所述第一预设数值范围内所述第一缓冲最大长度的数值与所述网络传输抖动值呈正相关关系;根据所述网络传输抖动值在调整后的所述第一缓冲最大长度内动态调整所述第一缓冲延时的数值,所述第一缓冲延时的数值与所述网络传输抖动值呈正相关关系。
可选地,在所述通信场景为所述单向式通信场景时,所述方法,还包括:
每隔第二预定时间间隔计算当前通信场景下的网络传输抖动值;
根据所述网络传输抖动值在所述第二缓冲最大长度内动态调整所述第二缓冲延时的数值,所述第二缓冲延时的数值与所述网络传输抖动值呈正相关关系;或,根据所述网络传输抖动值在第二预设数值范围内动态调整所述第二缓冲最大长度的数值,在所述第二预设数值范围内所述第二缓冲最大长度的数值与所述网络传输抖动值呈正相关关系;根据所述网络传输抖动值在调整后的所述第二缓冲最大长度内动态调整所述第二缓冲延时的数值,所述第二缓冲延时的数值与所述网络传输抖动值呈正相关关系。
另一方面,提供了一种抖动缓冲装置,所述装置包括:
获取模块,用于获取本次通信过程的通信场景;
第一调整模块,用于根据所述通信场景调整抖动缓冲区的缓冲参数,不同的通信场景对应不同的缓冲参数;
缓冲模块,用于根据所述缓冲参数在所述抖动缓冲区缓冲本次通信过程的数据包。
可选地,所述通信场景包括交互式通信场景和单向式通信场景,所述交互式通信场景的时延容忍度低于所述单向式通信场景的时延容忍度;
所述交互式通信场景为既存在上行数据包又存在下行数据包时的通信场景;
所述单向式通信场景为只存在下行数据包时的通信场景。
可选地,所述获取模块,包括:
检测单元,用于每隔第一预定时间间隔检测本次通信过程是否存在所述上行数据包;
第一确定单元,用于在所述本次通信过程存在所述上行数据包时,将所述交互式通信场景确定为本次通信过程的通信场景;
第二确定单元,用于在所述本次通信过程不存在所述上行数据包时,将所述单向式通信场景确定为本次通信过程的通信场景。
可选地,所述第一调整模块,包括:
第一设置单元,用于在所述通信场景为所述交互式通信场景时,根据所述交互式通信场景对应的时延容忍度,设置所述缓冲最大长度为第一缓冲最大长度,并设置所述缓冲延时为第一缓冲延时;
第二设置单元,用于在所述通信场景为所述单向式通信场景时,根据所述单向式通信场景对应的时延容忍度,设置所述缓冲最大长度为第二缓冲最大长度,并设置所述缓冲延时为第二缓冲延时;
所述第一缓冲最大长度小于所述第二缓冲最大长度,所述第一缓冲延时小于所述第二缓冲延时。
可选地,所述装置,还包括:
计算模块,用于每隔第二预定时间间隔计算当前通信场景下的网络传输抖动值;
第二调整模块,用于根据所述网络传输抖动值在所述第一缓冲最大长度内动态调整所述第一缓冲延时的数值,所述第一缓冲延时的数值与所述网络传输抖动值呈正相关关系;或,所述第二调整模块,用于根据所述网络传输抖动值在第一预设数值范围内动态调整所述第一缓冲最大长度的数值,在所述第一预设数值范围内所述第一缓冲最大长度的数值与所述网络传输抖动值呈正相关关系;根据所述网络传输抖动值在调整后的所述第一缓冲最大长度内动态调整所述第一缓冲延时的数值,所述第一缓冲延时的数值与所述网络传输抖动值呈正相关关系。
可选地,
所述计算模块,用于每隔第二预定时间间隔计算当前通信场景下的网络传输抖动值;
所述第二调整模块,用于根据所述网络传输抖动值在所述第二缓冲最大长度内动态调整所述第二缓冲延时的数值,所述第二缓冲延时的数值与所述网络传输抖动值呈正相关关系;或,所述第二调整模块,用于根据所述网络传输抖动值在第二预设数值范围内动态调整所述第二缓冲最大长度的数值,在所述第二预设数值范围内所述第二缓冲最大长度的数值与所述网络传输抖动值呈正相关关系;根据所述网络传输抖动值在调整后的所述第二缓冲最大长度内动态调整所述第二缓冲延时的数值,所述第二缓冲延时的数值与所述网络传输抖动值呈正相关关系。
本发明实施例提供的技术方案带来的有益效果是:
通过在通信的过程中获取通信场景,根据通信场景调整缓冲参数,根据缓冲参数在抖动缓冲区缓冲通信过程的数据包;解决了现有技术在引入抖动缓冲区之后,抖动缓冲区的缓冲参数不能根据复杂多变的通信场景进行调整,因此不能达到很好的抖动缓冲效果的问题,达到了抖动缓冲参数可根据通信场景进行调整的效果,提高了抖动缓冲效果。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本公开各个实施例提供的抖动缓冲方法所涉及的一种实施环境的结构示意图;
图2是本发明一个实施例提供的抖动缓冲方法的方法流程图;
图3是本发明另一个实施例提供的抖动缓冲方法的方法流程图;
图4是本发明再一个实施例提供的抖动缓冲方法的方法流程图;
图5是本发明一个实施例提供的抖动缓冲装置的框图;
图6是本发明另一个实施例提供的抖动缓冲装置的框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
首先对本发明实施例涉及的几个技术名词进行解释:
抖动缓冲区:接收端为了缓冲数据包的抖动,在接收到数据包时,先不对其进行播放而是将其保存在一个区域中,这个保存数据包的区域就称为抖动缓冲区。
缓冲延时:是指正常情况下一个数据包在抖动缓冲区内保存的最大时间。
最大缓冲长度:是接收端为了保证数据包的实时性,在接收端设置的用来限制缓冲延时的最大数值的一个时间量。
两个场景:在团队语音工具中,同一个频道可能有主播客户端和游客客户端,若在通信过程中既存在主播客户端发送的数据包,又存在游客客户端发送的数据包,则该通信过程的通信场景就为交互式通信场景;若在通信过程中仅存在主播客户端发送的数据包,则该通信过程的通信场景就为单向式通信场景。
其中,不同的通信场景的时延容忍度不同。也即,交互式通信场景的时延容忍度与单向式通信场景的时延容忍度不同。
通常,交互式通信场景的时延容忍度较低,单向式通信场景的时延容忍度较高。
请参考图1,其示出了本发明各个实施例提供的抖动缓冲方法所涉及的一种实施环境的结构示意图。该实施环境至少包括第一终端120、第二终端140,其中,该实施环境还可以包括第三终端、第四终端等等。
第一终端120和第二终端140均可以为具有数据包发送、数据包接收、数据包抖动缓冲的功能的电子设备,该电子设备可以是手机、平板电脑、智能电视、数码相机、MP3(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面3)播放器、MP4(Moving Picture Experts Group Audio LayerIV,动态影像专家压缩标准音频层面4)播放器、有线/无线电话、膝上型便携计算机和台式计算机等等。
其中,第一终端120与第二终端140之间可以通过有线网络或无线网络相连,且第一终端120与第二终端140可以相同也可以不相同。
其中,在该实施环境中包括第三终端、第四终端等其他终端时,该其他终端也应具有数据包发送、数据包接收、数据包抖动缓冲的功能。
请参考图2,其示出了本发明一个实施例提供的抖动缓冲方法的方法流程图,该抖动缓冲方法可以应用于图1所示实施环境中的任一终端,本实施例以该抖动缓冲方法应用于图1所示的第一终端120中来进行举例说明。参见图2,该方法流程具体包括:
步骤201,获取本次通信过程的通信场景。
步骤202,根据通信场景调整抖动缓冲区的缓冲参数,不同的通信场景对应不同的缓冲参数。
步骤203,根据缓冲参数在抖动缓冲区缓冲本次通信过程的数据包。
综上所述,本发明实施例提供的抖动缓冲方法,通过在通信的过程中获取通信场景,根据通信场景调整缓冲参数,根据缓冲参数在抖动缓冲区缓冲通信过程的数据包;解决了现有技术在引入抖动缓冲区之后,抖动缓冲区的缓冲参数不能根据复杂多变的通信场景进行调整,因此不能达到很好的抖动缓冲效果的问题,达到了抖动缓冲参数可根据通信场景进行调整的效果,提高了抖动缓冲效果。
请参考图3,其示出了本发明另一个实施例提供的抖动缓冲方法的方法流程图,该抖动缓冲方法可以应用于图1所示实施环境中的任一终端,本实施例以该抖动缓冲方法应用于图1所示的第一终端120中来进行举例说明。参见图3,该方法流程具体包括:
步骤301,获取本次通信过程的通信场景。
在本发明实施例中,该通信场景包括交互式通信场景和单向式通信场景。
其中,交互式通信场景为既存在上行数据包又存在下行数据包时的通信场景,单向式通信场景为只存在下行数据包时的通信场景。
其中,交互式通信场景的时延容忍度低于单向式通信场景的时延容忍度。
比如,假设通信过程为群组语音通信,第一用户使用第一终端,第二用户使用第二终端,第三用户使用第三终端,则对于第一用户来说,如果该通信过程中同时包括第一用户的语音和第二用户和/或第三用户的语音,则通信场景就为交互式通信场景;如果该通信过程中只包括第二用户和/或第三用户的语音,而不包括第一用户的语音,则通信场景就为单向式通信场景。
在本发明实施例中,第一终端获取本次通信过程的通信场景可以包括以下三个步骤:
步骤一,第一终端每隔第一预定时间间隔检测本次通信过程是否存在上行数据包。
第一终端可以通过每隔第一预定时间间隔检测通信过程是否存在上行数据包,来获取本次通信过程的通信场景。
其中,该第一预定时间间隔可以根据经验确定,比如,该第一预定时间间隔的取值可以在5秒至5分钟之间,优选地,该第一预定时间间隔为1分钟。即,第一终端每隔1分钟检测一次通信过程是否存在上行数据包。
步骤二,若本次通信过程存在上行数据包,则第一终端将交互式通信场景确定为本次通信过程的通信场景。
若第一终端检测到通信过程存在上行数据包,则第一终端将交互式通信场景确定为本次通信过程的通信场景。
步骤三,若本次通信过程不存在上行数据包,则第一终端将单向式通信场景确定为本次通信过程的通信场景。
若第一终端检测到通信过程不存在上行数据包,即,第一终端在检测时,未检测到上行数据包,则第一终端将单向式通信场景确定为本次通信过程的通信场景。
步骤302,在通信场景为交互式通信场景时,根据交互式通信场景对应的时延容忍度,设置缓冲最大长度为第一缓冲最大长度,并设置缓冲延时为第一缓冲延时。
其中,缓冲延时为正常情况下一个数据包在抖动缓冲区内保存的最大时间,即,当一个数据包在抖动缓冲区内保存的时间超过缓冲延时时,系统就会将该数据包就会从抖动缓冲区取出,并对其进行播放。
其中,缓冲最大长度是系统为了保证数据包播放的实时性而设置的,该缓冲最大长度是用来限制缓冲延时的,即,系统在调整缓冲延时时,只能在缓冲最大长度的范围内对其进行调整,而不能调整的使缓冲延时超过缓冲最大长度。比如,如果缓冲最大长度为1秒,则缓冲延时最大应不大于1秒。
当第一终端获取到的通信场景为交互式通信场景时,第一终端根据交互式场景对应的时延容忍度,设置缓冲最大长度为第一缓冲最大长度,并设置缓冲延时为第一缓冲延时。
其中,第一缓冲最大长度与时延容忍度呈正相关关系,即,当时延容忍度较高时,第一终端可以将第一缓冲最大长度设置的较大,当时延容忍度较低时,第一终端可以将第一缓冲最大长度设置的较小。
其中,第一缓冲延时与时延容忍度呈正相关关系,即,当时延容忍度较高时,第一终端可以将第一缓冲延时设置的较大,当时延容忍度较低时,第一终端可以将第一缓冲延时设置的较小。
比如,第一终端将第一缓冲最大长度设置为1秒,将第一缓冲延时设置为50毫秒。
在实际应用中,第一终端可以维护时延容忍度与第一缓冲最大长度的对应关系,根据该对应关系设置第一缓冲最大长度,进而在第一缓冲最大长度的范围内设置第一缓冲延时。
步骤303,每隔第二预定时间间隔计算当前通信场景下的网络传输抖动值。
在本发明实施例中,第一终端为了保证数据包的实时性以及为了较小数据包的丢失率,每个第二预定时间间隔,第一终端会计算当前通信场景下的网络传输抖动值,以使得在网络传输抖动值发生变化时,根据网络传输抖动值的变化调整第一缓冲延时的数值。
其中,该第二预定时间间隔可以根据经验确定,比如,该第二预定时间间隔的取值可以在5秒至10秒之间,可选地,该第二预定时间间隔为6秒。即,第一终端每隔6秒计算一次当前通信场景下的网络传输抖动值。
在本发明实施例中,假设第一终端为数据包的接收端,第二终端为数据包的发送端,则第一终端计算网络传输抖动值可以包括以下三个步骤:
步骤一,第一终端计算当前通信场景下相邻两个数据包在发送端发送的时间差Δt。
其中,第二终端在向第一终端发送数据包时,会在该数据包的头部加入时间戳,该时间戳用于表示该数据包的发送时间。当第一终端接收到第二终端发送的数据包时,就可以根据该数据包头部的时间戳,确定该数据包的发送时间,进而根据相邻两个数据包的发送时间,计算该相邻两个数据包在发送端发送的时间差Δt。
比如,假设2014年8月3日18:13是第二终端与第一终端进行通信,第二终端在第20毫秒的时刻向第一终端发送数据包A,在第40毫秒的时刻向第一终端发送数据包B,则数据包A和数据包B在发送端发送的时间差Δt就为20毫秒。
步骤二,第一终端计算当前通信场景下该相邻两个数据包到达接收端时的时间差Δt1。
当第一终端接收到第二终端发送的数据包时,根据接收各个数据包的时刻,计算相邻两个数据包达到接收端时的时间差Δt1。
比如,第一终端接收数据包A的时刻为第30毫秒,接收数据包B的时刻为第60毫秒,则数据包A和数据包B到达接收端时的时间差Δt1就为30毫秒。
步骤三,第一终端将当前通信场景下数据包发送的时间差Δt与数据包到达接收端时的时间差Δt1的差值的绝对值确定为网络传输抖动值。
比如,由步骤一和步骤二可知,数据包A和数据包B发送的时间差Δt与到达接收端时的时间差Δt1的差值的绝对值为10毫秒,则此时的网络传输抖动值就为10毫秒。
步骤304,根据网络传输抖动值在第一缓冲最大长度内动态调整第一缓冲延时的数值,该第一缓冲延时的数值与网络传输抖动值呈正相关关系。
当第一终端计算到当前通信场景下的网络传输抖动值时,第一终端根据该网络传输抖动值在第一缓冲最大长度内动态调整第一缓冲延时的数值。
比如,第一终端根据网络传输抖动值10毫秒在第一缓冲最大长度1秒内动态调整第一缓冲延时的数值。
其中,第一缓冲延时的数值与网络传输抖动值呈正相关关系,即,当网络传输抖动值较大时,第一终端将该第一缓冲延时的数值调整的较大;当网络传输抖动值较小时,第一终端将该第一缓冲延时的数值调整的较小。
比如,假设当前第一缓冲延时的数值为50毫秒,第一终端可以根据网络传输抖动值10毫秒,将第一缓冲延时的数值从50毫秒调整为10毫秒;再比如,第一终端还可以根据网络传输抖动值10毫秒,将第一缓冲延时的数值从50毫秒调整为20毫秒等。
步骤305,根据第一缓冲延时在抖动缓冲区缓冲本次通信过程的数据包。
当第一终端调整好第一缓冲延时的数值时,第一终端根据调整后的第一缓冲延时在抖动缓冲区缓冲本次通信过程中的数据包。
具体地,当第一终端接收到本次通信过程的数据包时,第一终端先将接收到的数据包保存在抖动缓冲区,当最先一个保存在抖动缓冲区的数据包在抖动缓冲区的保存时长超过第一缓冲延时时,第一终端系统以平稳的速率从抖动缓冲区取出抖动缓冲区的多个数据包,对其进行解封装并对其进行播放。
其中,该速率的数值可以根据经验确定,优选地,该速率的数值与发送端发送数据包的速率相同。
比如,假设第一缓冲延时为20毫秒,发送端每隔20毫秒发送一个数据包,那么,当最先一个保存在抖动缓冲区的数据包在抖动缓冲区的保存时长超过第一缓冲延时20毫秒时,第一终端系统就每隔20毫秒从抖动缓冲区中取出一个数据包,对其进行解封装并对其进行播放。
步骤306,在通信场景为单向式通信场景时,根据单向式通信场景对应的时延容忍度,设置缓冲最大长度为第二缓冲最大长度,并设置缓冲延时为第二缓冲延时。
由于单向式场景的时延容忍度高于交互式场景的时延容忍度,因此,该步骤306中的第二缓冲最大长度大于上述步骤302中的第一缓冲最大长度,步骤306中的第二缓冲延时大于上述步骤302中的第一缓冲延时。
当第一终端获取到的通信场景为单向式通信场景时,第一终端根据单向式场景对应的时延容忍度,设置缓冲最大长度为第二缓冲最大长度,并设置缓冲延时为第二缓冲延时。
其中,第二缓冲最大长度与时延容忍度呈正相关关系,即,当时延容忍度较高时,第一终端可以将第二缓冲最大长度设置的较大,当时延容忍度较低时,第一终端可以将第二缓冲最大长度设置的较小。
其中,第二缓冲延时与时延容忍度呈正相关关系,即,当时延容忍度较高时,第一终端可以将第二缓冲延时设置的较大,当时延容忍度较低时,第一终端可以将第二缓冲延时设置的较小。
比如,第一终端将第二缓冲最大长度设置为3秒,将第二缓冲延时设置为2秒,即120毫秒。
在实际应用中,第一终端可以维护时延容忍度与第二缓冲最大长度的对应关系,根据该对应关系设置第二缓冲最大长度,进而在第二缓冲最大长度的范围内设置第二缓冲延时。
步骤307,每隔第二预定时间间隔计算当前通信场景下的网络传输抖动值。
该步骤307与上述步骤303相同或类似,这里就不再赘述。
步骤308,根据网络传输抖动值在第二缓冲最大长度内动态调整第二缓冲延时的数值,该第二缓冲延时的数值与网络传输抖动值呈正相关关系。
当第一终端计算到当前通信场景下的网络传输抖动值时,第一终端根据该网络传输抖动值在第二缓冲最大长度内动态调整第二缓冲延时的数值。
比如,假设步骤307中计算得到的网络传输抖动值为10毫秒,第一终端根据网络传输抖动值10毫秒在第二缓冲最大长度3秒内动态调整第二缓冲延时的数值。
其中,第二缓冲延时的数值与网络传输抖动值呈正相关关系,即,当网络传输抖动值较大时,第一终端将该第二缓冲延时的数值调整的较大;当网络传输抖动值较小时,第一终端将该第二缓冲延时的数值调整的较小。
比如,假设当前的第二缓冲延时的数值为120毫秒,第一终端可以根据网络传输抖动值10毫秒,将第二缓冲延时的数值从120毫秒调整为100毫秒;再比如,第一终端还可以根据网络传输抖动值10毫秒,将第二缓冲延时的数值从120毫秒调整为160毫秒等。
步骤309,根据第二缓冲延时在抖动缓冲区缓冲本次通信过程的数据包。
该步骤309与上述步骤305相同或类似,这里就不再赘述。
综上所述,本发明实施例提供的抖动缓冲方法,通过在通信的过程中获取通信场景,根据通信场景调整缓冲参数,根据缓冲参数在抖动缓冲区缓冲通信过程的数据包;解决了现有技术在引入抖动缓冲区之后,抖动缓冲区的缓冲参数不能根据复杂多变的通信场景进行调整,因此不能达到很好的抖动缓冲效果的问题,达到了抖动缓冲参数可根据通信场景进行调整的效果,提高了抖动缓冲效果。
本发明实施例提供的抖动缓冲方法,通过每隔第一预定时间间隔检测通信过程是否存在上行数据包,根据是否存在上行数据包确定通信场景,提高了通信场景确定的准确性。
本发明实施例提供的抖动缓冲方法,通过为不同的场景设置缓冲最大长度和缓冲延时,进而根据设置的缓冲最大长度和缓冲延时对数据包进行缓冲,提高了缓冲效果。
以上图3所示实施例第一终端在调整抖动缓冲参数时,是以仅根据网络传输抖动值在缓冲最大长度内动态调整抖动缓冲延时为例进行说明的,本发明提供的抖动缓冲方法,还支持根据网络传输抖动值动态调整缓冲最大长度,进而根据网络传输抖动值在调整后的缓冲最大长度内动态调整抖动缓冲延时。具体来讲:
请参考图4,其示出了本发明再一个实施例提供的抖动缓冲方法的方法流程图,该抖动缓冲方法可以应用于图1所示实施环境中的任一终端,本实施例以该抖动缓冲方法应用于图1所示的第一终端120中来进行举例说明。参见图4,该方法流程具体包括:
步骤401,获取本次通信过程的通信场景。
步骤402,在通信场景为交互式通信场景时,根据交互式通信场景对应的时延容忍度,设置缓冲最大长度为第一缓冲最大长度,并设置缓冲延时为第一缓冲延时。
步骤403,每隔第二预定时间间隔计算当前通信场景下的网络传输抖动值。
以上步骤401至步骤403与图3所示实施例中的步骤301至步骤303相同或类似,本实施例在此不再赘述。
步骤404,根据网络传输抖动值在第一预设数值范围内动态调整第一缓冲最大长度的数值,在第一预设数值范围内第一缓冲最大长度的数值与网络传输抖动值呈正相关关系。
在本发明实施例中,当网络传输抖动值较大,而由缓冲最大长度限制的缓冲延时不足以减缓数据包的抖动时,在实际条件允许的情况下,第一终端还可以根据网络传输抖动值调整缓冲最大长度。
比如,当在步骤402中设置的第一缓冲最大长度为1秒(60毫秒),在步骤403中第一终端计算得到的当前通信场景下的网络传输抖动值为100毫秒,那么,在此时的通信场景的时延容忍度的允许下,第一终端就可以适当的对第一缓冲最大长度进行调整。
其中,第一终端在对第一缓冲最大长度进行调整时,只能在第一预设数值范围内对其进行调整,该第一预设数值范围可以根据当前通信场景的时延容忍度确定。
其中,在第一预设数值范围内第一缓冲最大长度的数值与网络传输抖动值呈正相关关系。也即,当网络传输抖动值较大时,第一终端可以在第一预设数值范围内根据网络传输抖动值将第一缓冲最大长度的数值调整的较大;当网络传输抖动值较小时,第一终端可以在第一预设数值范围内根据网络传输抖动值将第一缓冲最大长度的数值调整的较小。
比如,假设当前的第一缓冲最大长度为1秒,网络传输抖动值为100毫秒,那么,在时延容忍度允许的情况下,第一终端可以将第一缓冲最大长度的数值调整为100毫秒;或,第一终端可以将第一缓冲最大长度的数值调整为110毫秒。
在实际应用中,可以预先设置好第一预设数值范围内第一缓冲最大长度的数值与网络传输抖动值的函数关系,根据该函数关系调整第一缓冲最大长度的数值。
步骤405,根据网络传输抖动值在调整后的第一缓冲最大长度内动态调整第一缓冲延时的数值,第一缓冲延时的数值与网络传输抖动值呈正相关关系。
当第一终端根据网络传输抖动值对第一缓冲最大长度的数值进行调整后,第一终端根据网络传输抖动值,在调整后的第一缓冲最大长度内动态调整第一缓冲延时的数值。
比如,第一终端根据网络传输抖动值100毫秒在第一缓冲最大长度100毫秒内动态调整第一缓冲延时的数值。
其中,第一缓冲延时的数值与网络传输抖动值呈正相关关系,即,当网络传输抖动值较大时,第一终端将该第一缓冲延时的数值调整的较大;当网络传输抖动值较小时,第一终端将该第一缓冲延时的数值调整的较小。
比如,假设当前的第一缓冲延时的数值为50毫秒,第一终端可以根据网络传输抖动值100毫秒,将第一缓冲延时的数值从50毫秒调整为100毫秒。
步骤406,根据第一缓冲延时在抖动缓冲区缓冲本次通信过程的数据包。
该步骤406与图3所示实施例中的步骤305相同或类似,本实施例对此不再赘述。
步骤407,在通信场景为单向式通信场景时,根据单向式通信场景对应的时延容忍度,设置缓冲最大长度为第二缓冲最大长度,并设置缓冲延时为第二缓冲延时。
步骤408,每隔第二预定时间间隔计算当前通信场景下的网络传输抖动值。
以上步骤407和步骤408与图3所示实施例中的步骤306和步骤307相同或类似,本实施例在此不再赘述。
步骤409,根据网络传输抖动值在第二预设数值范围内动态调整第二缓冲最大长度的数值,在第二预设数值范围内第二缓冲最大长度的数值与网络传输抖动值呈正相关关系。
比如,当在步骤407中设置的第二缓冲最大长度为3秒(180毫秒),在步骤404中第一终端计算得到的当前通信场景下的网络传输抖动值为200毫秒,那么,在此时的通信场景的时延容忍度的允许下,第一终端就可以适当的对第二缓冲最大长度进行调整。
其中,第一终端在对第二缓冲最大长度进行调整时,只能在第二预设数值范围内对其进行调整,该第二预设数值范围可以根据当前通信场景的时延容忍度确定。
其中,在第二预设数值范围内第二缓冲最大长度的数值与网络传输抖动值呈正相关关系。也即,当网络传输抖动值较大时,第一终端可以在第二预设数值范围内根据网络传输抖动值将第二缓冲最大长度的数值调整的较大;当网络传输抖动值较小时,第一终端可以在第二预设数值范围内根据网络传输抖动值将第二缓冲最大长度的数值调整的较小。
比如,假设当前的第二缓冲最大长度为3秒,网络传输抖动值为200毫秒,那么,在时延容忍度允许的情况下,第一终端可以将第二缓冲最大长度的数值调整为200毫秒;或,第一终端可以将第二缓冲最大长度的数值调整为300毫秒。
在实际应用中,可以预先设置好第二预设数值范围内第二缓冲最大长度的数值与网络传输抖动值的函数关系,根据该函数关系调整第二缓冲最大长度的数值。
步骤410,根据网络传输抖动值在调整后的第二缓冲最大长度内动态调整第二缓冲延时的数值,第二缓冲延时的数值与网络传输抖动值呈正相关关系。
当第一终端根据网络传输抖动值对第二缓冲最大长度的数值进行调整后,第一终端根据网络传输抖动值,在调整后的第二缓冲最大长度内动态调整第二缓冲延时的数值。
比如,第一终端根据网络传输抖动值200毫秒在第二缓冲最大长度200毫秒内动态调整第二缓冲延时的数值,或,第一终端根据网络传输抖动值200毫秒在第二缓冲最大长度300毫秒内动态调整第二缓冲延时的数值。
其中,第二缓冲延时的数值与网络传输抖动值呈正相关关系,即,当网络传输抖动值较大时,第一终端将该第二缓冲延时的数值调整的较大;当网络传输抖动值较小时,第一终端将该第二缓冲延时的数值调整的较小。
比如,假设当前的第二缓冲延时的数值为120毫秒,第一终端可以根据网络传输抖动值200毫秒,将第二缓冲延时的数值从120毫秒调整为200毫秒。
步骤411,根据第二缓冲延时在抖动缓冲区缓冲本次通信过程的数据包。
该步骤411与图3所示实施例中的步骤309相同或类似,本实施例对此不再赘述。
综上所述,本发明实施例提供的抖动缓冲方法,通过在通信的过程中获取通信场景,根据通信场景调整缓冲参数,根据缓冲参数在抖动缓冲区缓冲通信过程的数据包;解决了现有技术在引入抖动缓冲区之后,抖动缓冲区的缓冲参数不能根据复杂多变的通信场景进行调整,因此不能达到很好的抖动缓冲效果的问题,达到了抖动缓冲参数可根据通信场景进行调整的效果,提高了抖动缓冲效果。
本发明实施例提供的抖动缓冲方法,通过每隔第一预定时间间隔检测通信过程是否存在上行数据包,根据是否存在上行数据包确定通信场景,提高了通信场景确定的准确性。
本发明实施例提供的抖动缓冲方法,通过为不同的场景设置缓冲最大长度和缓冲延时,进而根据设置的缓冲最大长度和缓冲延时对数据包进行缓冲,提高了缓冲效果。
本发明实施例提供的抖动缓冲方法,通过在不同的场景下根据网络传输抖动值动态调整缓冲最大长度和缓冲延时,进而根据调整后的缓冲最大长度和缓冲延时对数据包进行缓冲,在减少数据包丢失率的同时,提高了数据包的实时性。
请参考图5,其示出了本发明一个实施例提供的抖动缓冲装置的框图,该抖动缓冲装置可以通过软件、硬件或者两者的结合实现成为图1所示实施环境中第一终端120或第二终端140的部分或者全部。该抖动缓冲装置可以包括:获取模块510、第一调整模块520和缓冲模块530。
该获取模块510,用于获取本次通信过程的通信场景。
该第一调整模块520,用于根据该获取模块510获取到的通信场景调整抖动缓冲区的缓冲参数,不同的通信场景对应不同的缓冲参数。
该缓冲模块530,用于根据该第一调整模块520调整到的缓冲参数在抖动缓冲区缓冲本次通信过程的数据包。
综上所述,本发明实施例提供的抖动缓冲装置,通过在通信的过程中获取通信场景,根据通信场景调整缓冲参数,根据缓冲参数在抖动缓冲区缓冲通信过程的数据包;解决了现有技术在引入抖动缓冲区之后,抖动缓冲区的缓冲参数不能根据复杂多变的通信场景进行调整,因此不能达到很好的抖动缓冲效果的问题,达到了抖动缓冲参数可根据通信场景进行调整的效果,提高了抖动缓冲效果。
请参考图6,其示出了本发明另一个实施例提供的抖动缓冲装置的框图,该抖动缓冲装置可以通过软件、硬件或者两者的结合实现成为图1所示实施环境中第一终端120或第二终端140的部分或者全部。该抖动缓冲装置可以包括:获取模块610、第一调整模块620和缓冲模块630。
可选地,该通信场景包括交互式通信场景和单向式通信场景,该交互式通信场景的时延容忍度低于该单向式通信场景的时延容忍度;
该交互式通信场景为既存在上行数据包又存在下行数据包时的通信场景;
该单向式通信场景为只存在下行数据包时的通信场景。
可选地,该获取模块610,包括:
检测单元611,用于每隔第一预定时间间隔检测本次通信过程是否存在上行数据包;
第一确定单元612,用于在本次通信过程存在上行数据包时,将交互式通信场景确定为本次通信过程的通信场景;
第二确定单元613,用于在本次通信过程不存在上行数据包时,将单向式通信场景确定为本次通信过程的通信场景。
可选地,所述第一调整模块620,包括:
第一设置单元621,用于在通信场景为交互式通信场景时,根据交互式通信场景对应的时延容忍度,设置缓冲最大长度为第一缓冲最大长度,并设置缓冲延时为第一缓冲延时;
第二设置单元622,用于在通信场景为单向式通信场景时,根据单向式通信场景对应的时延容忍度,设置缓冲最大长度为第二缓冲最大长度,并设置缓冲延时为第二缓冲延时;
其中,该第一缓冲最大长度小于该第二缓冲最大长度,该第一缓冲延时小于该第二缓冲延时。
可选地,该装置,还包括:
计算模块640,用于每隔第二预定时间间隔计算当前通信场景下的网络传输抖动值;
第二调整模块650,用于根据计算模块640计算得到的网络传输抖动值在第一缓冲最大长度内动态调整第一缓冲延时的数值,该第一缓冲延时的数值与网络传输抖动值呈正相关关系;或,该第二调整模块650,用于根据计算模块640计算得到的网络传输抖动值在第一预设数值范围内动态调整第一缓冲最大长度的数值,在第二预设数值范围内该第一缓冲最大长度的数值与网络传输抖动值呈正相关关系;根据网络传输抖动值在调整后的第一缓冲最大长度内动态调整第一缓冲延时的数值,该第一缓冲延时的数值与网络传输抖动值呈正相关关系。
可选地,
该计算模块640,用于每隔第二预定时间间隔计算当前通信场景下的网络传输抖动值;
该第二调整模块650,用于根据计算模块640计算得到的网络传输抖动值在第二缓冲最大长度内动态调整第二缓冲延时的数值,该第二缓冲延时的数值与网络传输抖动值呈正相关关系;或,该第二调整模块650,用于根据计算模块640计算得到的网络传输抖动值在第二预设数值范围内动态调整第二缓冲最大长度的数值,在第二预设数值范围内该第二缓冲最大长度的数值与网络传输抖动值呈正相关关系;根据网络传输抖动值在调整后的第二缓冲最大长度内动态调整第二缓冲延时的数值,该第二缓冲延时的数值与网络传输抖动值呈正相关关系。
综上所述,本发明实施例提供的抖动缓冲装置,通过在通信的过程中获取通信场景,根据通信场景调整缓冲参数,根据缓冲参数在抖动缓冲区缓冲通信过程的数据包;解决了现有技术在引入抖动缓冲区之后,抖动缓冲区的缓冲参数不能根据复杂多变的通信场景进行调整,因此不能达到很好的抖动缓冲效果的问题,达到了抖动缓冲参数可根据通信场景进行调整的效果,提高了抖动缓冲效果。
本发明实施例提供的抖动缓冲装置,通过每隔第一预定时间间隔检测通信过程是否存在上行数据包,根据是否存在上行数据包确定通信场景,提高了通信场景确定的准确性。
本发明实施例提供的抖动缓冲装置,通过为不同的场景设置缓冲最大长度和缓冲延时,进而根据设置的缓冲最大长度和缓冲延时对数据包进行缓冲,提高了缓冲效果。
本发明实施例提供的抖动缓冲装置,通过在不同的场景下根据网络传输抖动值动态调整缓冲最大长度和缓冲延时,进而根据调整后的缓冲最大长度和缓冲延时对数据包进行缓冲,在减少数据包丢失率的同时,提高了数据包的实时性。
需要说明的是:上述实施例提供的抖动缓冲装置在缓冲抖动时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的抖动缓冲装置与抖动缓冲方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (12)
1.一种抖动缓冲方法,其特征在于,所述方法包括:
获取本次通信过程的通信场景;
根据所述通信场景调整抖动缓冲区的缓冲参数,不同的通信场景对应不同的缓冲参数;
根据所述缓冲参数在所述抖动缓冲区缓冲本次通信过程的数据包。
2.根据权利要求1所述的方法,其特征在于,所述通信场景包括交互式通信场景和单向式通信场景,所述交互式通信场景的时延容忍度低于所述单向式通信场景的时延容忍度;
所述交互式通信场景为既存在上行数据包又存在下行数据包时的通信场景;
所述单向式通信场景为只存在下行数据包时的通信场景。
3.根据权利要求2所述的方法,其特征在于,所述获取本次通信过程的通信场景,包括:
每隔第一预定时间间隔检测本次通信过程是否存在所述上行数据包;
若所述本次通信过程存在所述上行数据包,则将所述交互式通信场景确定为本次通信过程的通信场景;
若所述本次通信过程不存在所述上行数据包,则将所述单向式通信场景确定为本次通信过程的通信场景。
4.根据权利要求2所述的方法,其特征在于,在所述缓冲参数包括缓冲最大长度和缓冲延时时,所述根据所述通信场景调整抖动缓冲区的缓冲参数,包括:
在所述通信场景为所述交互式通信场景时,根据所述交互式通信场景对应的时延容忍度,设置所述缓冲最大长度为第一缓冲最大长度,并设置所述缓冲延时为第一缓冲延时;
在所述通信场景为所述单向式通信场景时,根据所述单向式通信场景对应的时延容忍度,设置所述缓冲最大长度为第二缓冲最大长度,并设置所述缓冲延时为第二缓冲延时;
所述第一缓冲最大长度小于所述第二缓冲最大长度,所述第一缓冲延时小于所述第二缓冲延时。
5.根据权利要求4所述的方法,其特征在于,在所述通信场景为所述交互式通信场景时,所述方法,还包括:
每隔第二预定时间间隔计算当前通信场景下的网络传输抖动值;
根据所述网络传输抖动值在所述第一缓冲最大长度内动态调整所述第一缓冲延时的数值,所述第一缓冲延时的数值与所述网络传输抖动值呈正相关关系;或,根据所述网络传输抖动值在第一预设数值范围内动态调整所述第一缓冲最大长度的数值,在所述第一预设数值范围内所述第一缓冲最大长度的数值与所述网络传输抖动值呈正相关关系;根据所述网络传输抖动值在调整后的所述第一缓冲最大长度内动态调整所述第一缓冲延时的数值,所述第一缓冲延时的数值与所述网络传输抖动值呈正相关关系。
6.根据权利要求4所述的方法,其特征在于,在所述通信场景为所述单向式通信场景时,所述方法,还包括:
每隔第二预定时间间隔计算当前通信场景下的网络传输抖动值;
根据所述网络传输抖动值在所述第二缓冲最大长度内动态调整所述第二缓冲延时的数值,所述第二缓冲延时的数值与所述网络传输抖动值呈正相关关系;或,根据所述网络传输抖动值在第二预设数值范围内动态调整所述第二缓冲最大长度的数值,在所述第二预设数值范围内所述第二缓冲最大长度的数值与所述网络传输抖动值呈正相关关系;根据所述网络传输抖动值在调整后的所述第二缓冲最大长度内动态调整所述第二缓冲延时的数值,所述第二缓冲延时的数值与所述网络传输抖动值呈正相关关系。
7.一种抖动缓冲装置,其特征在于,所述装置包括:
获取模块,用于获取本次通信过程的通信场景;
第一调整模块,用于根据所述通信场景调整抖动缓冲区的缓冲参数,不同的通信场景对应不同的缓冲参数;
缓冲模块,用于根据所述缓冲参数在所述抖动缓冲区缓冲本次通信过程的数据包。
8.根据权利要求7所述的装置,其特征在于,所述通信场景包括交互式通信场景和单向式通信场景,所述交互式通信场景的时延容忍度低于所述单向式通信场景的时延容忍度;
所述交互式通信场景为既存在上行数据包又存在下行数据包时的通信场景;
所述单向式通信场景为只存在下行数据包时的通信场景。
9.根据权利要求8所述的装置,其特征在于,所述获取模块,包括:
检测单元,用于每隔第一预定时间间隔检测本次通信过程是否存在所述上行数据包;
第一确定单元,用于在所述本次通信过程存在所述上行数据包时,将所述交互式通信场景确定为本次通信过程的通信场景;
第二确定单元,用于在所述本次通信过程不存在所述上行数据包时,将所述单向式通信场景确定为本次通信过程的通信场景。
10.根据权利要求8所述的装置,其特征在于,所述第一调整模块,包括:
第一设置单元,用于在所述通信场景为所述交互式通信场景时,根据所述交互式通信场景对应的时延容忍度,设置所述缓冲最大长度为第一缓冲最大长度,并设置所述缓冲延时为第一缓冲延时;
第二设置单元,用于在所述通信场景为所述单向式通信场景时,根据所述单向式通信场景对应的时延容忍度,设置所述缓冲最大长度为第二缓冲最大长度,并设置所述缓冲延时为第二缓冲延时;
所述第一缓冲最大长度小于所述第二缓冲最大长度,所述第一缓冲延时小于所述第二缓冲延时。
11.根据权利要求10所述的装置,其特征在于,所述装置,还包括:
计算模块,用于每隔第二预定时间间隔计算当前通信场景下的网络传输抖动值;
第二调整模块,用于根据所述网络传输抖动值在所述第一缓冲最大长度内动态调整所述第一缓冲延时的数值,所述第一缓冲延时的数值与所述网络传输抖动值呈正相关关系;或,所述第二调整模块,用于根据所述网络传输抖动值在第一预设数值范围内动态调整所述第一缓冲最大长度的数值,在所述第一预设数值范围内所述第一缓冲最大长度的数值与所述网络传输抖动值呈正相关关系;根据所述网络传输抖动值在调整后的所述第一缓冲最大长度内动态调整所述第一缓冲延时的数值,所述第一缓冲延时的数值与所述网络传输抖动值呈正相关关系。
12.根据权利要求10所述的装置,其特征在于,
所述计算模块,用于每隔第二预定时间间隔计算当前通信场景下的网络传输抖动值;
所述第二调整模块,用于根据所述网络传输抖动值在所述第二缓冲最大长度内动态调整所述第二缓冲延时的数值,所述第二缓冲延时的数值与所述网络传输抖动值呈正相关关系;或,所述第二调整模块,用于根据所述网络传输抖动值在第二预设数值范围内动态调整所述第二缓冲最大长度的数值,在所述第二预设数值范围内所述第二缓冲最大长度的数值与所述网络传输抖动值呈正相关关系;根据所述网络传输抖动值在调整后的所述第二缓冲最大长度内动态调整所述第二缓冲延时的数值,所述第二缓冲延时的数值与所述网络传输抖动值呈正相关关系。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410403167.2A CN104168218B (zh) | 2014-08-15 | 2014-08-15 | 抖动缓冲方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410403167.2A CN104168218B (zh) | 2014-08-15 | 2014-08-15 | 抖动缓冲方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104168218A true CN104168218A (zh) | 2014-11-26 |
CN104168218B CN104168218B (zh) | 2018-03-06 |
Family
ID=51911852
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410403167.2A Active CN104168218B (zh) | 2014-08-15 | 2014-08-15 | 抖动缓冲方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104168218B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104506455A (zh) * | 2014-12-26 | 2015-04-08 | 深圳市兰丁科技有限公司 | 数据包排序去抖方法及装置 |
CN106656649A (zh) * | 2016-09-14 | 2017-05-10 | 腾讯科技(深圳)有限公司 | 一种实时通话过程中基于测速的通道切换方法、客户端与服务器 |
CN108551358A (zh) * | 2018-03-16 | 2018-09-18 | 恒玄科技(上海)有限公司 | 一种蓝牙耳机不同模型下音频数据的调整方法 |
CN110113270A (zh) * | 2019-04-11 | 2019-08-09 | 北京达佳互联信息技术有限公司 | 网络通信的抖动控制方法、装置、终端及存储介质 |
WO2019192606A1 (zh) * | 2018-04-04 | 2019-10-10 | 华为技术有限公司 | 一种数据处理方法及装置 |
RU2783508C2 (ru) * | 2018-04-04 | 2022-11-14 | Хуавэй Текнолоджиз Ко., Лтд. | Способ и устройство обработки данных |
Family Cites Families (4)
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 |
CN102238294B (zh) * | 2010-04-23 | 2013-07-03 | 鸿富锦精密工业(深圳)有限公司 | 用户终端设备及其动态调整抖动缓冲区大小的方法 |
CN102843339B (zh) * | 2011-06-21 | 2017-09-19 | 南京中兴新软件有限责任公司 | 一种延时处理方法及装置 |
CN103259803B (zh) * | 2013-06-04 | 2016-01-27 | 腾讯科技(深圳)有限公司 | 一种音频回放方法、装置和系统 |
-
2014
- 2014-08-15 CN CN201410403167.2A patent/CN104168218B/zh active Active
Non-Patent Citations (3)
Title |
---|
查克拉波提,等: "《基于蜂窝系统的IMS-融合电信领域的V0IP演进》", 31 January 2009 * |
高强,等: "VoIP技术--语音和数据的集成", 《中国有线电视》 * |
黄永峰等: "《IP网络多媒体通信技术》", 31 January 2003 * |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104506455A (zh) * | 2014-12-26 | 2015-04-08 | 深圳市兰丁科技有限公司 | 数据包排序去抖方法及装置 |
CN104506455B (zh) * | 2014-12-26 | 2017-11-14 | 深圳市兰丁科技有限公司 | 数据包排序去抖方法及装置 |
CN106656649A (zh) * | 2016-09-14 | 2017-05-10 | 腾讯科技(深圳)有限公司 | 一种实时通话过程中基于测速的通道切换方法、客户端与服务器 |
CN106656649B (zh) * | 2016-09-14 | 2021-01-01 | 腾讯科技(深圳)有限公司 | 一种实时通话过程中基于测速的通道切换方法、客户端与服务器 |
CN108551358A (zh) * | 2018-03-16 | 2018-09-18 | 恒玄科技(上海)有限公司 | 一种蓝牙耳机不同模型下音频数据的调整方法 |
CN110351201A (zh) * | 2018-04-04 | 2019-10-18 | 华为技术有限公司 | 一种数据处理方法及装置 |
WO2019192606A1 (zh) * | 2018-04-04 | 2019-10-10 | 华为技术有限公司 | 一种数据处理方法及装置 |
EP3761580A4 (en) * | 2018-04-04 | 2021-04-14 | Huawei Technologies Co., Ltd. | DATA PROCESSING APPARATUS AND METHOD |
AU2019248314B2 (en) * | 2018-04-04 | 2021-10-21 | Huawei Technologies Co., Ltd. | Data processing method and apparatus |
RU2783508C2 (ru) * | 2018-04-04 | 2022-11-14 | Хуавэй Текнолоджиз Ко., Лтд. | Способ и устройство обработки данных |
US11677689B2 (en) | 2018-04-04 | 2023-06-13 | Huawei Technologies Co., Ltd. | Data processing method and apparatus |
CN110113270A (zh) * | 2019-04-11 | 2019-08-09 | 北京达佳互联信息技术有限公司 | 网络通信的抖动控制方法、装置、终端及存储介质 |
US11431643B2 (en) | 2019-04-11 | 2022-08-30 | Beijing Dajia Internet Information Technology Co., Ltd | Method, device, and terminal for controlling jitter in network communication |
Also Published As
Publication number | Publication date |
---|---|
CN104168218B (zh) | 2018-03-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109906613B (zh) | 音频和视频的多模式同步渲染 | |
CN1878049B (zh) | 通过使用纠错包控制传输速率的方法及其通信设备 | |
CN104168218A (zh) | 抖动缓冲方法及装置 | |
US8160112B2 (en) | Buffering a media stream | |
US20080240004A1 (en) | Controlling a jitter buffer | |
US20040010623A1 (en) | Reducing the access delay for transmitting processed data over transmission data | |
US20170034026A1 (en) | Jitter buffer control based on monitoring of delay jitter and conversational dynamics | |
CN102752212B (zh) | 一种传输速率控制方法 | |
KR102316873B1 (ko) | 비디오 전송 방법, 장치, 및 시스템과 컴퓨터 판독가능 저장 매체 | |
CN105376607A (zh) | 一种网络抖动环境下的视频直播方法及装置 | |
CN104618195A (zh) | 带宽估测方法和装置 | |
WO2001011832A1 (fr) | Appareil de traitement des paquets et programme de traitement de memorisation par paquets | |
US9813523B2 (en) | Apparatus, method and system of quality of experience indication | |
US20110010625A1 (en) | Method for Manually Optimizing Jitter, Delay and Synch Levels in Audio-Video Transmission | |
CN103795950A (zh) | 电视音频信号处理装置 | |
CN105142002A (zh) | 音/视频直播方法、装置及控制方法、装置 | |
CN109495660B (zh) | 一种音频数据的编码方法、装置、设备和存储介质 | |
CN105392023A (zh) | 一种网络抖动环境下的视频直播方法及装置 | |
CN108881931A (zh) | 一种数据缓冲方法及网络设备 | |
WO2024087881A1 (zh) | 时钟同步方法、装置、系统、设备及存储介质 | |
CN103685070A (zh) | 一种调整抖动缓存大小的方法及装置 | |
CN103354588A (zh) | 录放音采样率的确定方法、装置及系统 | |
CN108494702B (zh) | 传输控制方法和装置、存储介质及电子装置 | |
CN105472404A (zh) | 一种视频业务中的数据处理方法 | |
US20090257455A1 (en) | Method and apparatus for synchronizing timing of signal packets |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP02 | Change in the address of a patent holder |
Address after: 519000 High-tech Zone, Zhuhai City, Guangdong Province, Unit 1, Fourth Floor C, Building A, Headquarters Base No. 1, Qianwan Third Road, Tangjiawan Town Patentee after: ZHUHAI DUOWAN INFORMATION TECHNOLOGY Ltd. Address before: 519080 Zone B, 1st Floor, Convention Center, No. 1, Software Park Road, Tangjiawan Town, Zhuhai, Guangdong Patentee before: ZHUHAI DUOWAN INFORMATION TECHNOLOGY Ltd. |
|
CP02 | Change in the address of a patent holder |