CN103856415A - 网络接收缓冲器缓冲大小确定设备和方法及网络会话系统 - Google Patents
网络接收缓冲器缓冲大小确定设备和方法及网络会话系统 Download PDFInfo
- Publication number
- CN103856415A CN103856415A CN201310629753.4A CN201310629753A CN103856415A CN 103856415 A CN103856415 A CN 103856415A CN 201310629753 A CN201310629753 A CN 201310629753A CN 103856415 A CN103856415 A CN 103856415A
- Authority
- CN
- China
- Prior art keywords
- buffer
- buffer size
- network reception
- data
- reception buffer
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/30—Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
Abstract
本发明公开了用于确定网络接收缓冲器的缓冲大小的设备和方法以及网络会话系统。在用于确定缓冲大小的该系统中,满/空计数器CT响应于与另一会话终端TM进行的通信的开始而对累积数据的网络接收缓冲器在特定时段Tr内变满或变空的次数(变满或变空的发生次数)进行计数,以根据所计数的变满或变空的发生次数来调整缓冲大小(S2至S5)。如果变满或变空的发生次数为例如N次以上,则扩展缓冲大小(S2至S4)。
Description
技术领域
本发明涉及对在通信终端(诸如,与诸如因特网的通信网络连接的电子乐器)上所使用的网络接收缓冲器的缓冲大小进行确定的技术以及使用了确定缓冲大小的技术的网络会话系统。
背景技术
传统上,已知通过诸如因特网的通信网络实现诸如乐器的合奏演奏的音乐会话以及诸如二重唱的合唱的网络会话系统。在例如日本未审查专利公布第2011-242560号中所公开的网络会话系统中,终端A将其自身的演奏信息传送到合作终端B,并且还在特定的延迟时段之后再现演奏信息,同时合作终端B立即再现所传送的演奏数据,使得终端A和终端B同时再现终端A的演奏信息。
这种通过网络的演奏数据的传送涉及关于数据传送间隔的波动(相对于时间的变化,也称为抖动)。为了解决该问题,例如文献(Colin Pekins,由Akimichi Ogawa翻译的Mastering TCP/IPRTP(ohmsha,2004.4.15)160-161)描述了(1)用以接收通过网络接收到的分组的再现缓冲器将适当地通过选择远远大于可能的抖动的值作为延迟时间以校正抖动来进行工作,以及(2)假设抖动发生的频率相对于分组到达间隔呈正态分布,如果将通过使分组到达间隔的标准差增至三倍而获得的值选择作为再现延迟,则在再现缓冲器上舍弃的分组将为0.5%以下。
然而,方案(1)需要足够大的安全缓冲大小。尽管方案(1)是简单且稳定的,但是该方案导致延迟延长。此外,方案(2)仅将抖动纳入考虑。结果,尽管缓冲大小必须至少大于“传送间隔”和“接收终端的再现装置一次所需的大小”,但是抖动足够小的情况下的缓冲大小会小于上述缓冲大小。
也就是说,要接收并再现数据的终端必须具有使得缓冲器可以吸收抖动的特定缓冲大小的接收缓冲器。然而,对延迟具有严格要求的例如对于实时音乐会话的应用则需要保持缓冲大小尽可能地小。然而,并不存在满足这种矛盾的要求的网络接收缓冲器。
发明内容
为了解决上述问题而完成了本发明,并且本发明的目的在于提供一种用于网络会话系统的网络接收缓冲器,该网络会话系统通过诸如因特网的通信网络执行音乐会话,该网络接收缓冲器能够具有可以适于网络环境、最小化延迟以及实现稳定操作的最适当的缓冲大小。此外,对于关于本发明的各个构成特征的以下描述,以括号提供了稍后描述的实施例的对应部件的参考字母,以便于理解本发明。然而,应该理解,本发明的构成特征不限于由本实施例的参考字母表示的对应部件。
本发明的特征在于,提供一种用于确定网络接收缓冲器(BF)的缓冲大小的设备(SC),该网络接收缓冲器对通过通信网络(CN)接收到的数据(Di)进行缓冲并将该数据输出到再现装置(9),该设备包括:计数装置(CT),用于对累积数据的网络接收缓冲器(BF)变满或变空的次数(满缓冲或空缓冲的发生次数)进行计数;以及缓冲大小调整装置(S2至S5),用于根据由计数装置(CT)计数的次数(满缓冲或空缓冲的发生次数)来调整网络接收缓冲器(BF)的缓冲大小(Tbf)。
通过本发明的上述特征,计数装置对累积数据的网络接收缓冲器(BF)变满或变空的次数(满缓冲或空缓冲的发生次数)进行计数。另外,通过缓冲大小调整装置,根据由计数装置计数的次数来调整缓冲大小(Tbf)。因此,根据本发明的特征,网络接收缓冲器能够具有可以适于网络环境、最小化延迟、以及以简单配置实现稳定操作的最适当的缓冲大小。
本发明的另一特征在于,计数装置(CT)响应于通信的开始而对累积数据的网络接收缓冲器(BF)在特定的时段(Tr)期间变满或变空的次数(满缓冲或空缓冲的发生次数)进行计数。在这种情况下,特定的时段(Tr)例如为5秒。本发明的特征使得能够使具有可以适于网络环境的缓冲大小的网络接收缓冲器在开始通信之后在短的时段内以简单配置实现最稳定的缓冲。
本发明的另一特征在于,缓冲大小调整装置在由计数装置(CT)计数的次数(满缓冲或空缓冲的发生次数)为特定值(N)以上时扩展缓冲大小(Tbf)(S2至S4),而缓冲大小调整装置在所计数的次数小于特定值(N)时确定缓冲大小(Tbf)而不调整缓冲大小(S2=否→S5)。此外,当尽管网络接收缓冲器已被扩展至最大缓冲大小(Tbfm),但由计数装置(CT)计数的次数仍为特定值(N)或更大时,缓冲大小调整装置可以停止调整缓冲大小(Tbf)(S2=是→S3=是→S7)。通过该特征,可以通过简单处理在短的时段内最适当地调整缓冲大小。此外,通过该特征,在网络接收缓冲器不能具有最适当的缓冲大小的情况下,立即停止调整,但用户可以通过修改设置来尝试调整缓冲大小(Tbf)。
本发明的实施例不限于用于确定网络接收缓冲器的缓冲大小的设备,但本发明可以被实现为确定网络接收缓冲器的缓冲大小的方法以及用于确定网络接收缓冲器的缓冲大小的计算机程序的发明。此外,本发明还可以被实现为包括用于确定网络接收缓冲器的缓冲大小的设备的网络会话系统的发明。
附图说明
图1示出根据本发明的实施例的网络会话系统的网络配置;
图2是根据本发明的实施例的网络会话系统的每个会话终端TM(电子乐器或PC)的硬件配置;
图3是描述根据本发明的实施例的网络接收缓冲器的功能的示图的一部分;
图4是描述根据本发明的实施例的网络接收缓冲器的功能的示图的其他部分;
图5是示出根据本发明的实施例的确定缓冲大小的示图;以及
图6示出根据本发明的实施例的缓冲器控制部中所执行的缓冲大小确定处理的示例操作。
具体实施方式
[系统配置的概述]
图1示出根据本发明的实施例的网络会话系统的配置。网络会话系统由会话管理服务器SV和多个会话终端TMa至TMd(字母“TM”表示会话终端)构成。会话管理服务器SV和会话终端TMa至TMd分别连接至通信网络CN。
会话管理服务器SV帮助成员会话终端TM之间的连接。例如,会话管理服务器SV在开始会话前为各个会话终端TM之间的连接作出安排。在建立诸如会话终端TMa至TMd的会话终端TM之间的连接之后,在会话终端TMa至TMd之间发送和接收诸如音频数据的演奏信息,而无需会话管理服务器SV。由于会话管理服务器SV的操作是公知的,因此在该说明书中将不说明会话管理服务器SV的详细操作。用作网络会话成员的会话终端TMa至TMd是能够演奏乐器或卡拉OK的电子音乐设备。图1示出四个会话终端TM(会话成员)作为示例。然而,会话终端TM的数量不限于四个(会话终端TM的数量可以大于四也可以小于四)。
图2是示出构成网络会话系统的会话终端的示例硬件配置的框图。构成根据本发明的实施例的网络会话系统的每个会话终端TM是一种具有对音乐信息进行电子处理的能力的计算机,以及可以是其上安装有音乐信息处理应用的电子乐器或电子音乐设备(诸如,个人计算机(PC))。如图中所示,会话终端TM具有中央处理单元(CPU)1、随机存取存储器(RAM)2、只读存储器(ROM)3、存储装置4、设置操作检测电路5、音乐演奏操作检测电路6、模数(A/D)转换电路7、显示电路8、乐音生成/效果电路9、通信接口(I/F)10等,其中这些部件1至10经由总线11彼此连接。
CPU1连同RAM2和ROM3一起用作数据处理部,以根据包括缓冲大小确定程序的控制程序来控制其他部件4至10,从而执行包括缓冲大小确定处理的各种信息处理。RAM2用作用于保留处理所需的数据以使得数据可以被使用的存储管理区域、以及用于暂时存储各种数据的工作区域。在ROM3中,预先存储各种控制程序和预设数据以便执行各种处理。
存储装置4包括各种存储介质(诸如HD(硬盘)、FD(软盘)、CD(致密盘)、DVD(数字通用盘)以及诸如闪存的半导体存储器)及其驱动器,以使得包括缓冲大小确定程序的期望控制程序和演奏数据可以存储在期望介质中。这些存储介质可以是可拆卸的或者并入会话终端TM中。
设置操作检测电路5连同诸如开关和鼠标之类的设置操作元件(面板操作元件)12一起用作设置操作部(面板操作部)以检测用户对设置操作元件12的操作,从而向数据处理部(1至3)提供与设置操作相对应的设置操作信息,同时数据处理部根据设置操作信息进行各种设置。音乐演奏操作检测电路6连同诸如键盘的演奏操作元件13一起用作音乐演奏输入部,以检测终端用户对演奏操作元件13的操作,从而向数据处理部提供与演奏操作相对应的演奏操作信息,同时数据处理部将基于演奏操作信息的演奏数据发送到乐音生成/效果电路9。
A/D转换电路7连同麦克风14一起用作声乐输入部,以将通过终端用户的声乐演奏经由麦克风14输入的声乐信号转换为数字信号,从而向数据处理部提供数据信号,同时数据处理部将基于数字声乐信号的音频数据发送到乐音生成/效果电路9的效果部。显示电路8具有用于显示各种设置和演奏输入(诸如,乐器演奏和声乐演奏)所需的各种画面的诸如LCD的显示器15、以及用以根据数据处理部作出的指令来控制显示器15和指示器/灯的显示和照明的指示器/灯(未示出),以提供关于设置和演奏输入的视觉引导。
乐音生成/效果电路9具有用于根据演奏数据生成音频数据的乐音生成部、以及包括用于执行各种音频数据处理的DSP的效果部。例如,乐音生成部根据从由音乐演奏操作检测电路6提供的演奏操作信息中获得的演奏数据、或者从ROM3、存储装置4或通信I/F10获得的演奏数据来生成音频数据,同时效果部将效果添加到从麦克风14提供的音频数据、由乐音生成部生成的音频数据、或通过通信I/F10获得的音频数据等中,并且混合音频数据以生成音频输出数据。声音系统16包括D/A转换部、放大器、扬声器(包括耳机)等,并且基于从乐音生成/效果电路9提供的音频输出数据来生成乐音(通过乐器演奏的乐音以及声乐)。乐音生成/效果电路9的效果部和声音系统16用作音频再现部(也被称为再现装置或数据再现部)。
通信I/F10包括诸如IEEE1394的通用短程有线I/F、诸如以太网(商标)的通用网络I/F、和诸如无线LAN和蓝牙(商标)的通用短程无线I/F中的一个或多个,以允许经由诸如因特网的通信网络CN在其他会话终端之间交换音频数据并从诸如服务器计算机的外部设备接收控制程序和数据,从而将所接收到的程序和数据存储在存储装置4中。通信I/F10的数据接收部具有:网络接收缓冲器(也被简称为接收缓冲器)BF,其用于缓冲从不同会话终端发送的音频数据并将音频数据提供给乐音生成/效果电路9的效果部(再现装置、数据再现部);以及缓冲器控制部SC,其监控接收缓冲器BF的状态并根据来自数据处理部(1至3)的指令最优地控制接收缓冲器BF。
在电子乐器用作不具有卡拉OK的会话终端TM的情况下,声乐输入部14、7不是必需的。在具有音乐信息处理应用的PC用作会话终端TM以便仅演奏卡拉OK的情况下,乐器演奏输入部13、6不是必需的。尽管会话管理服务器SV具有几乎类似于图2的硬件配置,但是会话管理服务器SV不需要乐器演奏输入部13、6和音频再现部9、16。
[接收缓冲器的功能]
图3和图4示出表示根据本发明的实施例的网络接收缓冲器的功能的示意图。如图3中的(1)所示,针对诸如终端TMa的一个会话终端的数据接收部(10)设置的网络接收缓冲器BF对通过通信网络CN从合作方会话终端(例如,终端TMb)传送的音频数据Di进行缓冲,并且将所缓冲的音频数据Do输出到再现装置(乐音生成/效果电路9的效果部)。
更具体地,以根据与合作终端TMb之间定义的设置所指定的间隔来传送从网络CN向缓冲器BF提供的数据Di,而以在再现装置侧所指定的间隔来获得再现装置为了再现数据Do而从缓冲器BF获得的数据Do。因此,所提供的数据Di的间隔和定时不一定与将要再现的数据Do的间隔和定时一致。另外,由于在网络上存在数据波动(相对于时间的抖动或变化,下文中称为抖动),因此需要具有某种裕度。因此,将所接收到的数据Di写入接收缓冲器BF以暂时存储所接收到的数据Di,以使得在与再现装置执行的处理对应的定时处按照数据已被缓冲的顺序来读出所存储的数据Di,以将其作为数据Do输出到再现装置。在这种情况下,可以根据由缓冲器控制部SC确定的缓冲器BF的大小(Tbf)调整延迟时间。
接收缓冲器BF主要行操作来使得稳定状态下的缓冲量(即,累积在缓冲器BF中的数据量(Td))可以是预先指定的延迟量Ts,如图3中的(2)所示。也就是说,在缓冲器BF按照指定的那样进行操作的情况下,最新的数据Di被写在与所指定的延迟量Ts对应的“缓冲器的固定位置Ps”上,其中从缓冲器BF的前端Pf读出开头数据Do,如图中所示。在该图中,以时间为单位,“缓冲大小Tbf”相当于在缓冲器BF中从缓冲器BF的前端Pf到后端Pe的范围内可以累积的最大数据量。环形缓冲器用作接收缓冲器BF,使得写入位置、读取位置和数据累积区域在环形缓冲器上可以动态变化。然而,通过将读取位置固定于前端Pf,缓冲器BF可以示意性地表示为图3和图4。
在这种情况下,网络上的抖动会暂时增大累积数据量。因此,应该在缓冲器BF的固定位置Ps前面和后面作出裕度。缓冲大小Tbf是通过将所指定的延迟量Ts乘以预定系数Ks(例如,Ks=2.5)来确定的,如在等式1中所示:
Tbf=Ks×Ts...等式1
图3的(3)中的(a)示意性地示出以累积数据量Td=0的初始状态开始的缓冲器BF中的数据累积进程,以开始通过网络CN从合作终端TM接收和写入数据Di从而逐渐地将数据累积在缓冲器中。如图3的(3)中的(b)中所示,当累积数据到达固定位置Ps(即,所指定的延迟量Ts(Ts=Td))时,缓冲器BF最终开始读取数据Do,使得再现装置开始基于数据Do进行音频再现。
通常,以相同速率(44,100kHz的音频)来执行通过网络CN的数据Di接收(写入)以及由再现装置进行的音频再现(读取)。因此,累积数据量稳定地到达固定位置Ps附近以使得能够缓冲所指定的延迟量Ts。
然而,在缓冲大小Tbf的值小的情况下,根据网络CN的传输速率而产生的抖动会使数据Di比音频再现更快地急速进入缓冲器BF。从而,累积数据量Td占据整个缓冲大小Tbf,使得不能将新数据Di写入缓冲器BF中,而以拒绝新数据Di结束,如图4的(1)中的(a)所示。累积数据已达到缓冲器BF的后端Pe从而占据缓冲器BF达到最大容量的这种状态被称为“满缓冲”或者简称为“满”。反之,在输入数据Di的间隔由于抖动而延长的情况下,缓冲器BF变为没有累积数据,如图4的(1)中的(b)所示,而无法将数据Do传递到再现侧。数据Di尚未足够快地提供给缓冲器BF而使得再现能够以空缓冲器BF结束的这种状态被称为“空缓冲”或被简称为“空”。
[接收缓冲器的速率调整]
在网络接收缓冲器BF根据诸如RTP(实时传输协议)的通信方案接收音频数据Di的情况下,在接收到的音频数据Di的数据率与再现装置所请求的音频数据Do的数据率之间出现了细微差别。例如,在数据Do的读取速率比数据Di的速率快的情况下,该差别引起缓冲欠载状态。另一方面,在数据Di的写入速率比数据Do的读取速率快的情况下,该差别引起缓冲溢出状态。由于这样的状态导致缓冲器BF空或满,因此缓冲器控制部SC每一定间隔调整输入速率。在这种情况下,为了降低由网络抖动带来的缓冲量的暂时增加或减少的影响,设置了阈值以监控数据累积,从而具有速率调整的“裕度”,如图4的(2)中所示。
更具体地,在缓冲器的固定位置Ps前面和后面,分别设置了下限阈值Th1和上限阈值Th2。因此,如果累积数据量Td离开固定位置Ps而达到下限阈值Th1或上限阈值Th2,则分别根据与这些阈值对应的不足样本或冗余样本的数量来添加或去除要再现的样本。更具体地,从缓冲器先前已达到固定位置Ps的时间至缓冲器已达到下限阈值Th1或上限阈值Th2的时间分别所花费的阈值时间T1或T2被记录,以添加或去除样本,使得缓冲器可以在时间T1/2或T2/2(即阈值时间T1的一半或阈值时间T2的一半)内返回到固定位置Ps。该设置时间为阈值时间的一半的原因在于,如果返回到固定位置花费与阈值时间相同的时间量,则添加或去除样本不能赶上累积数据量Td的减少或增加,从而无法返回到固定位置Ps(指定的延迟量Ts)。
例如,在固定位置Ps与缓冲器的上限阈值Th2之间的间隔为100个样本,而缓冲器花费了T2=50000样本时间来从固定位置Ps达到上限阈值Th2的情况下,在作为500000样本时间的一半的T2/2=25000样本时间期间要去除100个样本。也就是说,对于每250个样本要去除一个样本。
[缓冲大小的自动调整]
可以动态地改变根据本发明的实施例的网络接收缓冲器的缓冲大小。更具体地,网络接收缓冲器BF的缓冲大小Tbf不是由用户指定而是根据缓冲器控制部SC的缓冲大小自动调整能力来指定的。利用自动调整能力,缓冲大小Tbf被自动设置为尽可能地小但不会引起任何问题的值。
当数据已累积达到缓冲器BF中的固定位置Ps时,音频再现部基于从网络接收缓冲器BF输出的数据Do来开始再现。因此,假设在缓冲器BF的固定位置Ps前面和后面存在空间。此外,当累积数据量Td超过了阈值Th1或Th2时,对缓冲器BF运用速率调整能力。在甚至速率调整也不足以以如图4的(1)中的(a)所示的满缓冲(其中数据达到了缓冲器BF的当前设置的后端Pe)、或以如图4的(1)中的(b)所示的空缓冲(其中缓冲器BF为空)而结束的情况下,很大的可能性是缓冲大小Tbf首先不是适当而是太小了。
因此,当通过监控数据累积而判断出网络接收缓冲器BF由于不适当的当前缓冲大小Tbf而处于异常状况下从而引起满缓冲或空缓冲时,如图5所示,大大地扩展缓冲大小Tbf。然后,再次执行对缓冲器BF的数据累积的监控。更具体地,执行对数据累积的监控和对缓冲大小的扩展进行重复的自动调整,直到消除异常状况为止。结果,自动确定了适当的缓冲大小Tbf。
为了监控数据累积,设置用于对满缓冲或空缓冲的发生次数进行计数的满/空计数器(图6:CT)。在尽管缓冲大小Tbf重复扩展到最大缓冲大小Tbfm但是尚未消除异常状况的情况下,停止自动调整。
为了扩展缓冲大小Tbf,固定位置Ps(即,缓冲器的指定延迟量Ts)被扩展指定量,其中,缓冲大小Tbf也与指定延迟量Ts的扩展成比例地扩展,如图中所示。在还执行速率调整的情况下,阈值Th1和Th2也与缓冲大小Tbf的扩展成比例地扩展。基于最初缓冲大小Tbf0确定最大缓冲大小Tbfm。更具体地,最大缓冲大小Tbfm被设置为例如通过将初始缓冲大小Tbf0乘以特定系数Kb(例如,Kb=2.5)而获得的值,如以下等式2所示:
Tbfm=Kb×Tbf0...等式2
更具体地,通过以下过程(1)至(7)执行自动缓冲大小调整:
(1)网络接收缓冲器BF设置有小缓冲大小的初始缓冲大小Tbf0(例如,几毫秒)。也就是说,初始缓冲大小Tbf0是小值,但必须至少大于终端TM从合作终端TM接收分组的间隔和再现用数据被提供给终端TM的音频装置的间隔。
(2)响应于数据接收部(10)开始接收以及音频再现部(9)开始再现,开始自动缓冲大小调整以将空/满计数器(CT)设置为开始计数。可以根据用户的指令开始自动缓冲大小调整。
(3)在设置之后,满/空计数器(CT)对在特定时段Tr(例如,Tr=5秒)期间接收缓冲器BF变满或变空的发生次数进行计数。
(4)当在设置满/空计数器(CT)之后经过了特定时段Tr时,参考满/空计数器(CT)的计数值(变空或变满的发生次数)。
(5)在通过参考空/满计数器(CT)的计数值(变满或变空的发生次数)来判断在特定时段Tr期间已发生预定次数N(例如,N=三次)以上的变满或变空的情况下,缓冲器的固定位置Ps(指定延迟量Ts)被扩展预定延迟量△Ts(例如,△Ts=1毫秒),其中缓冲大小Tbf、下限阈值Th1和上限阈值Th2也与缓冲的扩展成比例地扩展,如图5所示。另外,设置满/空计数器(CT)。然后,过程返回到(3)。
(6)在通过参考空/满计数器(CT)的计数值(变满或变空的发生次数)来判断变满或变空的发生次数小于预定发生次数N的情况下,自动调整终止,其中,确定了缓冲器的固定位置Ps(指定延迟量Ts)、缓冲大小Tbf、下限阈值Th1和上限阈值Th2。
(7)在通过参考空/满计数器(CT)的计数值(变满或变空的发生次数)而判断出即使缓冲大小Tbf已扩展到最大缓冲大小Tbfm也发生了预定次数N以上的变满或变空的情况下,停止自动调整。在该情况下,可以在通过用户的操控改变各个设置值之后或者在经过了特定时间量之后再次执行自动缓冲大小调整。
可以在用户期望的定时再次执行上述过程(1)至(7)。此外,可以在特定的有限范围内将关于自动缓冲大小调整的各个设置值(例如,Ks、Kb、Tbf0、Tbfm、Tr、N、△Ts等)分别改变为用户期望的值。
此外,接收缓冲器BF可被配置成使得在特定定时自动重复过程(1)至(7)以便适合最新状况。该定时可以是检测到静寂(silence)时的定时(尽管缓冲大小改变,该定时也不会影响声音)、特定间隔的定时、或者检测到网络状况的特定改变(例如,抖动宽度由于忙线而加宽)的定时。
[示例操作]
图6示出根据本发明的实施例在缓冲器控制部中所执行的缓冲大小确定处理的示例操作。也就是说,图6是由CPU1、RAM2和ROM3构成的数据处理部(计算机部)执行的程序的流程图。附图中位于左上部的块CT表示设置在缓冲器控制部SC上的满/空计数器。当会话终端TM开始与另一终端TM进行通信时或者当扩展缓冲器时,在CPU1的控制下设置满/空计数器CT(S4)。在被设置之后,满/空计数器对在特定时段Tr(例如,5秒)期间接收缓冲器BF变满或变空的发生次数进行计数。在开始缓冲大小确定处理之后,在CPU1控制下的第一步骤S1中,缓冲器控制部SC确保先前设置有与初始缓冲大小Tbf0一样小的值的缓冲器,并且根据会话终端TM与另一终端TM之间的通信的开始,响应于数据接收部(10)开始接收以及音频再现部(9)开始再现而设置满/空计数器CT。然后,处理进行到步骤S2。
在步骤S2中,参考满/空计数器CT的计数结果以确定满缓冲或空缓冲是否发生了特定次数N(例如,三次)以上。如果确定发生了特定次数N以上(S2=是),则处理进行到步骤S3以确定当前设置的缓冲大小Tbf是否已达到最大缓冲大小Tbfm。如果确定缓冲大小Tbf尚未达到最大缓冲大小Tbfm(S3=否),则处理进行到步骤S4。
在步骤S4中,将固定位置Ps(即,缓冲器的指定延迟量Ts)设置为通过将指定延迟量Ts扩展了特定延迟量△Ts(例如,+1ms)而获得的值,其中缓冲大小Tbf也被设置为通过与指定延迟量Ts的扩展成比例地扩展了特定量而获得的值。此外,在步骤S4中,再次设置满/空计数器CT。在也执行速率调整的情况下,也与指定延迟量Ts的扩展成比例地扩展下限阈值Th1和下限阈值Th2。在步骤S4之后,处理返回到步骤S2。不管缓冲大小Tbf的扩展,只要满缓冲或空缓冲发生了N次以上(S2=是)而扩展后的缓冲大小Tbf没有达到最大缓冲大小Tbfm(S3=否),就重复步骤S2至步骤S4的自动调整以在每次扩展时将指定延迟量Ts扩展△Ts(S4)。
如果在步骤S2中判断出满缓冲或空缓冲发生次数为0或小于N次(例如,0至2次)(S2=否),则处理进行到步骤S5以判断是否经过了特定时段Tr。如果没有(S5=否),则处理返回到步骤S2。如果在步骤S5中判断出经过了特定时段Tr(其中满缓冲或空缓冲发生的次数小于N次)(S5=是),则处理进行到步骤S6以终止自动调整从而确定固定位置Ps,即,缓冲器的此时所设置的值的指定延迟量Ts和缓冲大小Tbf。然后,终止当前执行的缓冲大小确定处理。
如果在步骤S3中判断出当前缓冲大小Tbf达到了最大缓冲大小Tbfm(S3=是),则处理进行到步骤S7以停止自动调整,并且终止当前执行的确定处理。
如上所述,针对构成网络会话系统并经由通信网络CN彼此连接以彼此进行通信的会话终端TMa至TMd中的每一个提供根据本发明的实施例的缓冲大小确定系统(SC)。因此,在对通过通信网络CN接收到的数据Di进行缓冲并将该数据输出到再现装置(9)的网络接收缓冲器BF上,在开始与另一会话终端TM进行通信之后,由满/空计数器CT对积累数据的缓冲器BF在特定时段Tr内变满或变空的次数(变满或变空的发生次数)进行计数,以根据所计数的变满/变空的发生次数自动调整缓冲大小Tbf(S2至S5)。例如,在变满/变空的发生次数为N次以上的情况下,扩展缓冲大小Tbf,并且在即使扩展了缓冲大小Tbf而变满/变空的发生次数也仍为N次以上的情况下,再次扩展缓冲大小Tbf(S2至S4)。在变满/变空的发生次数小于N次的情况下,确定缓冲大小Tbf的当前值(S5)。在即使缓冲大小Tbf已扩展到最大缓冲大小Tbfm,而变满/变空的发生次数也为N次以上的情况下,停止对缓冲大小Tbf的自动调整(S7)。在这种情况下,可以在用户改变了设置之后再次执行缓冲大小Tbf的自动调整。
[各种变型]
以上说明了本发明的实施例。然而,上述实施例仅仅是示例。因此,可以在不背离本发明的精神的情况下对本发明进行各种变型。例如,尽管在上述实施例中通过使用满缓冲的发生次数和空缓冲的发生次数两者来执行缓冲大小调整,但是可以对实施例进行变型以使用它们之一。
此外,在上述实施例中,对于缓冲大小(Tbf)的自动调整,将初始缓冲大小(Tbf0)设置为小值,使得可以通过自动调整缓冲大小(Tbf)来逐渐扩展缓冲大小。然而,实施例可以变型为具有为特定大小的初始缓冲大小(Tbf0),以使得缓冲大小可以通过自动调整缓冲大小来从该大小开始逐渐减小。在该变型中,更具体地,当缓冲器BF已在特定时段内减小至下限阈值(Th1)或者尚未增大至上限阈值(Th2)时,将要减小缓冲大小(Tbf)。此外,可以将该实施例变型为结合本实施例与该变型来执行缓冲大小的自动调整,以根据满缓冲或空缓冲的发生次数、和下限或上限阈值(Th1、Th2)的到达来扩展或减小缓冲大小。
Claims (9)
1.一种用于确定网络接收缓冲器的缓冲大小的设备,所述网络接收缓冲器对通过通信网络接收到的数据进行缓冲并将所述数据输出到再现装置,所述设备包括:
计数装置,用于对累积所述数据的所述网络接收缓冲器变满或变空的次数进行计数;以及
缓冲大小调整装置,用于根据由所述计数装置计数得到的次数来调整所述网络接收缓冲器的缓冲大小。
2.根据权利要求1所述的用于确定网络接收缓冲器的缓冲大小的设备,其中,
所述计数装置响应于通信的开始,来对累积所述数据的所述网络接收缓冲器在特定时段期间变满或变空的次数进行计数。
3.根据权利要求1或2所述的用于确定网络接收缓冲器的缓冲大小的设备,其中,
当由所述计数装置计数得到的次数等于或大于特定值时,所述缓冲大小调整装置扩展缓冲大小,而当由所述计数装置计数得到的次数小于所述特定值时,所述缓冲大小调整装置确定缓冲大小而不调整缓冲大小。
4.根据权利要求3所述的用于确定网络接收缓冲器的缓冲大小的设备,其中,
当即使所述网络接收缓冲器已扩展至最大缓冲大小,但由所述计数装置计数得到的次数仍等于或大于所述特定值时,所述缓冲大小调整装置停止调整缓冲大小。
5.一种用于确定网络接收缓冲器的缓冲大小的方法,所述网络接收缓冲器对通过通信网络接收到的数据进行缓冲并将所述数据输出到再现装置,所述方法包括:
计数步骤,对累积所述数据的所述网络接收缓冲器变满或变空的次数进行计数;以及
缓冲大小调整步骤,根据通过所述计数步骤计数得到的次数来调整所述网络接收缓冲器的缓冲大小。
6.根据权利要求5所述的用于确定网络接收缓冲器的缓冲大小的方法,其中,
所述计数步骤响应于通信的开始,来对累积所述数据的所述网络接收缓冲器在特定时段期间变满或变空的次数进行计数。
7.根据权利要求5或6所述的用于确定网络接收缓冲器的缓冲大小的方法,其中,
当通过所述计数步骤计数得到的次数等于或大于特定值时,所述缓冲大小调整步骤扩展缓冲大小,而当通过所述计数步骤计数得到的次数小于所述特定值时,所述缓冲大小调整步骤确定缓冲大小而不调整缓冲大小。
8.根据权利要求7所述的用于确定网络接收缓冲器的缓冲大小的方法,其中,
当即使所述网络接收缓冲器已扩展至最大缓冲大小,但通过所述计数步骤计数得到的次数仍等于或大于所述特定值时,所述缓冲大小调整步骤停止调整缓冲大小。
9.一种网络会话系统,其由彼此连接的多个会话终端构成以使得所述会话终端能够通过通信网络彼此进行通信,其中,
每个会话终端具有用于确定网络接收缓冲器的缓冲大小的设备,所述网络接收缓冲器对通过通信网络接收到的数据进行缓冲并将所述数据输出到数据再现装置;并且
用于确定缓冲大小的所述设备包括:
计数装置,用于对累积所述数据的所述网络接收缓冲器变满或变空的次数进行计数;以及
缓冲大小调整装置,用于根据由所述计数装置计数得到的次数来调整所述网络接收缓冲器的缓冲大小。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012-263881 | 2012-11-30 | ||
JP2012263881A JP6163741B2 (ja) | 2012-11-30 | 2012-11-30 | ネットワーク受信用バッファのバッファサイズ決定方法及び装置並びにネットワークセッションシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103856415A true CN103856415A (zh) | 2014-06-11 |
CN103856415B CN103856415B (zh) | 2017-09-08 |
Family
ID=49680836
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310629753.4A Active CN103856415B (zh) | 2012-11-30 | 2013-11-29 | 网络接收缓冲器缓冲大小确定设备和方法及网络会话系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20140164634A1 (zh) |
EP (1) | EP2739004B1 (zh) |
JP (1) | JP6163741B2 (zh) |
CN (1) | CN103856415B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111556361A (zh) * | 2020-04-29 | 2020-08-18 | 腾讯科技(深圳)有限公司 | 蓝牙音频播放的缓冲区设置方法、装置、设备及存储介质 |
CN112711387A (zh) * | 2021-01-21 | 2021-04-27 | 维沃移动通信有限公司 | 缓冲区容量的调整方法、装置、电子设备及可读存储介质 |
CN112737975A (zh) * | 2020-12-25 | 2021-04-30 | 珠海西山居移动游戏科技有限公司 | 缓冲区容量调整方法及装置 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102298991B1 (ko) * | 2015-05-22 | 2021-09-07 | 삼성전자 주식회사 | 무선 통신 시스템에서 버퍼 관리 방법 및 장치 |
CN111342983B (zh) * | 2018-12-18 | 2022-07-12 | 深圳市中兴微电子技术有限公司 | 成员动态处理方法、系统、接收端、管理实体及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1581844A (zh) * | 2003-08-15 | 2005-02-16 | 上海贝尔阿尔卡特股份有限公司 | 一种分组交换网络分布式自适应抖动缓冲区调整方法 |
US20050180443A1 (en) * | 2004-02-17 | 2005-08-18 | Mitel Knowledge Corporation | Method of dynamic adaption for jitter buffering in packet networks |
US20080151765A1 (en) * | 2006-12-20 | 2008-06-26 | Sanal Chandran Cheruvathery | Enhanced Jitter Buffer |
US20100265834A1 (en) * | 2009-04-17 | 2010-10-21 | Avaya Inc. | Variable latency jitter buffer based upon conversational dynamics |
CN101926134A (zh) * | 2008-01-25 | 2010-12-22 | 艾利森电话股份有限公司 | 用于网络节点的简单适配抖动缓冲器算法 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2546218B2 (ja) * | 1992-09-07 | 1996-10-23 | カシオ計算機株式会社 | データ通信装置 |
JP3518982B2 (ja) * | 1997-12-01 | 2004-04-12 | 松下電器産業株式会社 | パケット分解装置及びパケット分解方法 |
JP3075246B2 (ja) * | 1998-01-26 | 2000-08-14 | 日本電気株式会社 | 音声パケット送受信方法および装置 |
US6452950B1 (en) * | 1999-01-14 | 2002-09-17 | Telefonaktiebolaget Lm Ericsson (Publ) | Adaptive jitter buffering |
US6553515B1 (en) * | 1999-09-10 | 2003-04-22 | Comdial Corporation | System, method and computer program product for diagnostic supervision of internet connections |
JP2003023444A (ja) * | 2001-07-06 | 2003-01-24 | Fujitsu Ltd | 仮想ルータを利用した動的な負荷分散システム |
CN1320805C (zh) * | 2003-09-17 | 2007-06-06 | 上海贝尔阿尔卡特股份有限公司 | 一种分组交换网络自适应抖动缓冲区调整方法 |
US7359324B1 (en) * | 2004-03-09 | 2008-04-15 | Nortel Networks Limited | Adaptive jitter buffer control |
US7746847B2 (en) * | 2005-09-20 | 2010-06-29 | Intel Corporation | Jitter buffer management in a packet-based network |
US7796999B1 (en) * | 2006-04-03 | 2010-09-14 | Sprint Spectrum L.P. | Method and system for network-directed media buffer-size setting based on device features |
JP4730259B2 (ja) * | 2006-08-29 | 2011-07-20 | 三菱電機株式会社 | バッファ制御装置およびバッファ制御方法 |
FI120284B (fi) * | 2007-07-20 | 2009-08-31 | Tellabs Oy | Huojuntapuskurin täyttöasteen säätö |
JP5278157B2 (ja) * | 2009-05-15 | 2013-09-04 | 富士通株式会社 | 伝送装置および伝送方法 |
US8391320B2 (en) * | 2009-07-28 | 2013-03-05 | Avaya Inc. | State-based management of messaging system jitter buffers |
-
2012
- 2012-11-30 JP JP2012263881A patent/JP6163741B2/ja active Active
-
2013
- 2013-11-26 EP EP13194424.1A patent/EP2739004B1/en active Active
- 2013-11-27 US US14/092,408 patent/US20140164634A1/en not_active Abandoned
- 2013-11-29 CN CN201310629753.4A patent/CN103856415B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1581844A (zh) * | 2003-08-15 | 2005-02-16 | 上海贝尔阿尔卡特股份有限公司 | 一种分组交换网络分布式自适应抖动缓冲区调整方法 |
US20050180443A1 (en) * | 2004-02-17 | 2005-08-18 | Mitel Knowledge Corporation | Method of dynamic adaption for jitter buffering in packet networks |
US20080151765A1 (en) * | 2006-12-20 | 2008-06-26 | Sanal Chandran Cheruvathery | Enhanced Jitter Buffer |
CN101926134A (zh) * | 2008-01-25 | 2010-12-22 | 艾利森电话股份有限公司 | 用于网络节点的简单适配抖动缓冲器算法 |
US20100265834A1 (en) * | 2009-04-17 | 2010-10-21 | Avaya Inc. | Variable latency jitter buffer based upon conversational dynamics |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111556361A (zh) * | 2020-04-29 | 2020-08-18 | 腾讯科技(深圳)有限公司 | 蓝牙音频播放的缓冲区设置方法、装置、设备及存储介质 |
CN112737975A (zh) * | 2020-12-25 | 2021-04-30 | 珠海西山居移动游戏科技有限公司 | 缓冲区容量调整方法及装置 |
CN112711387A (zh) * | 2021-01-21 | 2021-04-27 | 维沃移动通信有限公司 | 缓冲区容量的调整方法、装置、电子设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
EP2739004B1 (en) | 2016-09-14 |
EP2739004A1 (en) | 2014-06-04 |
US20140164634A1 (en) | 2014-06-12 |
CN103856415B (zh) | 2017-09-08 |
JP2014110526A (ja) | 2014-06-12 |
JP6163741B2 (ja) | 2017-07-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103856415A (zh) | 网络接收缓冲器缓冲大小确定设备和方法及网络会话系统 | |
KR101655456B1 (ko) | 애드혹 적응형 무선 이동 사운드 시스템 및 그 방법 | |
US8213258B2 (en) | System with controller and memory | |
US20150363411A1 (en) | Synchronous Audio Playback Method, Apparatus and System | |
CN1972524B (zh) | 再现音乐文件的方法和设备 | |
US9912378B2 (en) | Method of performing operation related to other device via near field communication and apparatus therefor | |
TW201735656A (zh) | 資料播放方法、設備及系統 | |
JP2011049722A (ja) | 音量調整装置 | |
KR20160023166A (ko) | 전자장치 및 전자장치의 오디오 출력 조절 방법 | |
JP7024794B2 (ja) | オーディオシステム、オーディオ機器、及びオーディオ機器の制御方法 | |
KR20080012920A (ko) | 무선 통신 디바이스의 적응적 폴링을 위한 방법 및 장치 | |
JP2005136464A (ja) | データ出力装置、データ送信装置、データ処理システム、データ出力方法、データ送信方法、データ処理方法、それらのプログラム、および、それらのプログラムを記録した記録媒体 | |
JP6575684B2 (ja) | 同期設定装置、配信システム、同期設定方法、及びプログラム | |
US9886232B2 (en) | Mobile electronic device and method for controlling a media player device to play back media | |
KR100404029B1 (ko) | 디지털 av 신호 처리 장치 | |
CN111757216A (zh) | 播放装置 | |
JP2007329821A (ja) | 音響特性補正装置 | |
US11418883B2 (en) | Audio interface apparatus and recording system | |
JP4265650B2 (ja) | データ処理装置、および画像デバイス | |
US20210173616A1 (en) | Audio Video Navigation System for Vehicle and Method for Playing Media Thereof | |
US20240105153A1 (en) | Output control method, electronic device, and recording medium | |
EP3726393A1 (en) | Host communication circuit, client communication circuit, communication system, sound reproducing device and communication method | |
CN113692043A (zh) | 提示信息的同步方法及设备 | |
JP2011044924A (ja) | ミキシング装置およびミキシング方法 | |
JP2010033669A (ja) | 信号処理装置 |
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 |