专利名称:声音分组再现方法、声音分组再现装置、声音分组再现程序、记录介质的制作方法
技术领域:
本发明涉及声音分组再现方法、声音分组再现装置、声音分组再现程序、记录介质,在将被数字化的声音、音乐等音响信号(以下总称为声音信号)经由以因特网为代表的分组通信网进行发送时,用于在接收端以稳定的品质再现声音信号。
背景技术:
利用Voice over IP技术(以下简单称为声音分组通信)而发送接收声音信号的服务不断普及。图1表示其概要。输入声音信号由声音信号发送装置5变换为声音分组,发送到分组通信网6。声音信号接收装置7识别并接收发送到自身地址的声音分组,将声音分组解码而输出声音。
图2表示应发送声音数据串和声音分组的关系。图2A表示应发送声音数据串。应发送声音数据串一般由PCM数字采样串构成。将该数字声音数据串分割为被称作帧的一定的时间单位(一般来说为10微秒~20微秒左右)而进行声音编码,并对声音码附加表示发送时刻的时戳等而作为声音分组发送。声音分组被作为如图2B所示那样在时间轴方向被压缩的间歇信号,间歇信号的空闲时间被其它的分组通信利用。从声音信号发送装置5送出的声音分组的送出时间的间距相当于声音数据串的帧长度,以相当于帧长度的时间间距发送到分组通信网6。
声音信号接收装置7接收以相当于帧长度的时间间隔到来的声音,通过对声音分组进行解码,如图2C所示那样,一个声音分组被解码为一个帧长度的声音数据串,通过以相当于一帧长度的时间间距接收声音分组,声音信号接收装置7可以再现连续的声音。
另外,按照通信网的状态,在分组的到来时间上产生大的摆动,其结果,产生在限制时间内(相当于帧长度的时间内)未接到分组的现象,有再现的声音中途中断的问题。对于该问题,已知有设置也被称为摆动吸收缓存器的接收缓存器,始终在接收缓存器中积蓄一定量的分组的方法。这时,如果增多在接收缓存器中积蓄的分组的量,则对分组的到达延迟的大的摆动的应对增强,但是从接收分组开始到再现声音为止的延迟,即通话的延迟也变大,存在难以在双方向通话的问题。相反,如果减少在接收缓存器中积蓄的分组的量,则通话的延迟少,但是在产生了分组的到达延迟的摆动时,产生声音容易中途中断的问题。即,通话的延迟和声音容易中断存在折衷的关系。
对于该问题,已知有动态地控制积蓄在接收缓存器中的分组量的方法。这是在通话开始时减少积蓄在接收缓存器中的分组量,减小通话延迟,但是在通话中缓存器中积蓄的分组枯竭时,在通话途中暂时中止声音再现处理而使接收缓存器中积蓄的分组量增加一定量,在此之后通话声音难以中途中断。
如果将人发出的声音分割为10微秒~20微秒的时间单位来观察,则可以说在通常的发声中,发声时间的百分之几十左右是非声音区间(背景杂音区间和无声音区间)。因此,在接收缓存器中的接收分组数超过了第一阈值的情况下,通过消除解码声音中的非声音区间,缩短帧长度而提前对用于接收缓存器中的声音再现的下一个分组的访问时刻,在接收缓存器中的接收分组数比小于第一阈值的第二阈值还小的情况下,通过扩展解码声音信号中的非声音区域,由此使对用于接收缓存器中的声音再现的下一个分组的访问时刻延迟,可以对应延迟摆动。该方法在非声音区间的发生频率显著变小,或经过长时间而没有非声音区间时,不能进行接收缓存器的调整。
另一方面,在非专利文献1中记载了如果在声音区间(有声音区域和无声音区间)中,如果以间距(pitch)波形为单位进行插入、删除,则可以进行时间长的伸缩而基本上不产生听觉的品质恶化。在专利文献1中表示了以下内容为了利用该方法来解决仅在前述非声音区间不能进行充分的接收缓存器的调整的问题,所以在接收缓存器内的保存分组量低于下限值时在声音区间中追加间距长度的插补声音波形,并且在超过上限值时在声音区间中抽取间距长度的声音波形。但是,虽然通过插入或者抽取间距长度的波形来降低音质恶化,但该间距长度的波形的插入或者抽取是在缓存器内积蓄分组量直至成为上限阈值和下限阈值之间之前对一连串的帧实施,所以可能对再现声音产生不希望的程度的音质恶化。而且,由于下限值和上限值被固定,所以不能应对延迟摆动的剧烈变化,有时产生分组丢失。
专利文献1日本专利申请公开2003-050598号公报非专利文献1森田、板仓,“利用了指针移动量控制的重复加法(PICOLA)的声音的时间轴上的扩展压缩及其评价”,日本音响学会讲演论文集,1-4-14.1986年10月发明内容本发明的目的是提供一种应用以间距波形为单位的插入、删除处理,更高性能的声音分组再现方法以及装置。
按照本发明,提供一种声音分组的再现方法,收容通过输入声音数据串的每帧的编码生成的声音码从而接收并再现被发送的一连串的声音分组,该方法包括以下步骤(a)将接收分组保存在接收缓存器中,(b)检测一定期间观测所述接收分组的到达时间的摆动而得到的摆动的最大值或统计值-以下称为最大延迟摆动、以及作为被保存在所述接收缓存器中的分组数的缓存器保存分组数,(c)利用预定的最大延迟摆动和最佳保存分组数的关系,由所述最大延迟摆动求应保存在所述接收缓存器中的最佳分组数-以下将其称为最佳保存分组数,(d)以多个级别来判断所述检测到的缓存器保存分组数和所述最佳保存分组数的不同的程度,(e)从所述接收缓存器取出对应于当前帧的分组,将该分组中的声音码解码而得到当前帧的解码声音数据串,以及(f)根据所述不同程度的每个级别所确定的规则,对所述解码声音数据串进行其波形的扩展、压缩或者维持现状的其中一个处理,作为当前帧的再现声音数据进行输出,以使得所述缓存器保存分组数接近所述最佳保存分组数。
按照本发明,提供一种声音分组的再现装置,收容通过输入声音数据串的每帧的编码生成的声音码从而接收并再现被发送的一连串的声音分组,该装置包括分组接收部分,从分组通信网接收声音分组;接收缓存器,暂时保存接收的分组,根据请求读出分组;状态检测部分,检测一定期间观测所述接收分组的到达时间的摆动而得到的摆动的最大值或统计值-以下称为最大延迟摆动、以及作为被保存在所述接收缓存器中的分组数的缓存器保存分组数;控制部分,利用预定的最大延迟摆动和最佳保存分组数的关系,由所述最大延迟摆动求应保存在所述接收缓存器中的最佳分组数-以下将其称为最佳保存分组数,以多个级别来判断所述检测到的缓存器保存分组数和所述最佳保存分组数的不同的程度,根据所述不同程度的每个级别所确定的规则,生成用于指示波形的扩展、压缩或者维持现状的控制信号,以使得所述缓存器保存分组数接近所述最佳保存分组数;声音分组解码部分,对从所述接收缓存器取出的对应于当前帧的分组中的声音码解码而得到当前帧的解码声音数据串;以及消耗量调整部分,按照所述控制信号,对所述当前帧的解码声音数据串进行其波形的扩展、压缩或维持现状的其中一个处理,作为当前帧的再现声音数据输出。
本发明的效果在于,在通过分组到达时间的延迟摆动大的分组通信网实时地通信声音信号的情况下,通过应用本发明,不管有无声音都始终控制声音数据串的消耗量,并调整接收缓存器内的分组量,从而可以追随通信网的状态(摆动时间)的变化,实现接收缓存器的最佳控制。其结果,可以实现没有声音的中断并且将通话延迟抑制到必要最小限度的声音通话。而且,分组通信网为了抑制成本,一般设计为允许某种程度的摆动,通过利用本发明,因为即使不利用线路自身的摆动少的高质量网络也不产生声音的中断,所以对与网络的利用有关的成本减少也有效果。
图1是用于说明分组通信的概要的方框图。
图2是用于说明分组通信的概要的定时图。
图3是用于说明本发明的声音分组再现装置的一个实施例的方框图。
图4是表示对于最大延迟摆动的最佳缓存量的表。
图5A是表示接收分组的处理步骤,图5B是表示分组的读出、解码、波形处理的步骤。
图6是表示图3中的声音分析部分15的结构例的方框图。
图7是表示图3中的帧波形扩展部分21的功能结构例的方框图。
图8是用于示意地说明图7所示的帧波形扩展部分21的波形扩展处理的波形图。
图9是用于说明图7所示的帧波形扩展部分21的波形扩展处理的另一例的波形图。
图10是用于说明图3中的帧波形扩展部分21的另一个结构的方框图。
图11是用于说明图3所示的帧波形压缩部分22的内部结构的方框图。
图12是用于说明图11所示的帧波形压缩部分22的动作的波形图。
图13是用于说明图3所示的消耗量调整部分20的动作的定时图。
图14是表示判断缓存器调整的紧急度的步骤的流程图。
图15是表示对于紧急度的消耗量调整部分20的控制例的表1。
图16是表示对于紧急度的消耗量调整部分20的控制例的表2。
图17是表示对于紧急度的消耗量调整部分20的控制例的表3。
图18是表示对于紧急度的消耗量调整部分20的控制例的表4。
图19是表示图3中的声音分析部分15的第二实施例的方框图。
图20是表示图3中的声音分析部分15的第二实施例的方框图。
图21是表示图20中的声音帧的区间的判断步骤的流程图。
图22是对于表示图21的判断结果的声音帧的消耗量调整部分20的控制例的表5。
具体实施例方式
本发明可由计算机主体和计算机程序执行,也可以安装在数字信号处理器或专用LSI中而实现。特别是切换开关可以作为程序的条件分支安装。
第1实施例图3是本发明的声音信号接收部分的结构例,它由以下部件构成分组接收部分11、接收缓存器12、声音分组解码部分13、状态检测部分14、声音分析部分15、控制部分16、消耗量调整部分20、音响设备18。分组接收部分11从通信网接收声音分组并将其存储在接收缓存器12中,同时将该分组的到达时刻和该分组的时戳提供给状态检测部分14。在声音分组中包括将分割为被称为帧的一定的时间单位(一般为10微秒~20微秒左右)的声音信号通过声音编码的方法变换的声音码、以及表示发送端的形成分组的时间顺序的时戳(对应于帧号码)。作为代表性的声音编码手段,有ITU-T(国际电气通信联合)的标准的G.711方式,也可以是其它任意的方式。
接收缓存器12保存接收声音分组,并在每次从声音分组解码部分13产生传输请求时,将声音分组按照时戳的顺序发送到声音分组解码部分13。每当从接收缓存器12将声音分组传输到声音分组解码部分13时,接收缓存器12内的该声音分组被丢弃。
声音分组解码部分13对声音分组中包含的声音码进行解码,从而输出声音数据串,并将其提供给消耗量调整部分20和声音分析部分15。这里所说的声音数据串是数字声音样本串,一般多用PCM格式处理。以下,虽然不特别进行声音信号是模拟还是数字的标记,但是,除了最终用人耳听到的声音为模拟信号以外的处理中的信号都是数字信号。
而且,在发送端将PCM信号对每个帧编码后容纳在分组中发送的情况下,有时将PCM原样对每个帧容纳在分组中发送。在前者的情况下,在接收端需要对从接收分组取出的声音码进行解码的部件,但是在后者的情况下不需要。但是,如果考虑PCM信号也是一种码,则在接收端需要将从分组取出的PCM信号变换为数字音频信号的解码部件。图3所示的本发明的声音分组再现装置中的声音分组解码部分13在哪种情况下都可以使用。
状态检测部分14被提供由分组接收部分11接收的分组的到达时刻和时戳,检测延迟摆动,同时检测保存在接收缓存器12中的分组数而将其提供给控制部分16。这里,为了简单,设当前帧的时戳与帧号码Fn(n=0,1,2,…)相同,将到达时刻设为Tn,将之前的分组的时戳设为Fn-m,将其到达时刻设为Tn-m。如果信号传输线路的延迟量的变动小,则通常m=1,但是在延迟量变动大时,由于到达分组的顺序有产生反转的可能性,所以一般不限于m=1。将帧长度设为Lf,例如用jn=(Tn-Tn-m)-m×Lf或者其绝对值表示延迟摆动jn。如果延迟摆动jn的定义可以用数值表示摆动的程度,则也可以使用其它的定义式。
状态检测部分14将前次的分组的到达时刻Tn-m和时戳Fn-m保持在内部的信息存储部分14M中,同时保持有对追溯过去一定期间(例如2秒钟)接收的各分组计算的延迟摆动jn,jn-1,…。将当前分组(时戳Fn)的接收时刻的过去一定期间(2秒)内的延迟摆动的最大值或者统计值(以下称为最大延迟摆动)表示为J。或者,也可以代替一定期间,将对于一定数量(例如100)的被接收的分组的最大延迟摆动作为J。状态检测部分14在每次从分组接收部分11提供分组的到达时刻Tn和时戳Fn时求最大延迟摆动J,与当前时刻的接收缓存器12的保存分组数(缓存量)S一起提供给控制部分16。
声音分析部分15首先分析从声音分组解码部分13输出的解码声音数据串,判断该帧是声音区间还是非声音区间。而且,这里所说的声音区间定义为包含人发出的声音信号的区间,非声音区间定义为不包含声音信号的区间。声音区间是有声音区间或无声音区间的其中一个,非声音区间是声音区间以外的区间,即为背景噪声区间或无声区间的其中一个。作为其判断方法,例如,计算帧内的声音信号的功率,如果功率为阈值以上,则决定为声音帧(声音区间),如果小于阈值则决定为非声音帧(非声音区间)。
在该帧被判断为声音区间的情况下,进行间距长的分析。间距长例如通过计算声音波形或者对声音波形施加了具有频谱包络的反特性的滤波的信号的自相关系数来得到。在该帧被判断为非声音区间的情况下,不进行间距长的分析,作为间距长Lp设定为一定值,例如帧长度Lf的1/2。如后所述的那样,这是由于间距长Lp为帧长度Lf的1/2以下对以后的处理更适合。也可以是帧长度Lf的1/4,1/6的1/2以下的任意的值。
即使在该帧被判断为声音区间的情况下,也有该声音为有声音的情况和无声音的情况。无声音的情况下,不存在称为间距的声音的物理的特征量。在该情况下,也可以将利用间距分析的方法得到的值作为间距长利用于以后的处理中,即使与非声音区间一样设定为一定值作为间距长,对于本发明的效果也没有大的差别。
在有背景噪声时的背景噪声区间(声音区间以外)中,与声音区间一样利用间距分析的方法来计算间距长。这时得到的间距长与作为声音的物理的特征量的间距长不同,但是被利用作为对应于信号中包含的主要的基本频率的周期。而且,由于声音的编码方法,有时在声音码中包含有与间距有关的信息,这时利用声音码中的间距信息求间距长就可以。
控制部分16有通过预先实验决定了最大延迟摆动和对于该摆动的接收缓存器12的最佳保存分组数的例如图4所示的表16T。图4所示的表16T是帧长度Lf为20msec的情况,因此,与相邻分组的理想的接收间隔也是20msec。控制部分16根据参照表16T从状态检测部分14提供的最大延迟摆动J求出的最佳分组数B和当前的接收缓存器12的保存分组数S的差S-B,判断接收缓存器12需要的缓存量的调整的紧急度。而且,也可以取代使用表16T,例如预先决定用于近似地表示最大延迟摆动J和最佳保存分组数B的关系的式子,使用该式子。即,只要是使用最大延迟摆动J和最佳保存分组数B的预定的关系,什么样的方法都可以。
控制部分16根据判断的紧急度和由声音分析部分15提供的声音/非声音判断结果,决定对于来自声音分组解码部分13的当前帧的解码声音波形数据进行扩展,或者压缩,或者不进行变更,将该决定的控制提供给消耗量调整部分20。
消耗量调整部分20按照控制部分16的控制,将来自声音分组解码部分13的解码声音波形数据原样输出,或者扩展后输出,或者压缩后输出。如果扩展解码声音波形,则对于声音分组解码部分13的接收缓存器12下一个分组的传输请求延迟,每单位时间的分组消耗量减少。相反,如果压缩解码声音波形,则每单位时间的分组消耗量增加。即,通过控制用于作为声音信号输出的每单位时间的处理帧数,从而控制来自接收缓存器12的分组的读出量。
音响设备18具有未图示的D/A变换器,将声音数据串变换为模拟信号并实际上用扬声器输出。在数字的声音信号从消耗量调整部分20被发送到音响设备18时,模拟音响信号的输出声音被再现。音响设备18在获取的时间长(相当于一帧的时间)的信号的再现结束时,获取下一个分组的解码声音数据串。一般在音响设备18中也具有音响设备用的缓存器,已知被称为双缓存的方法。所谓双缓存,是具有两个缓存器,一个正在再现,另一个获取用于下一次再现的信号而进行准备的方法。在缓存器存满时,不获取下一个信号,直到一个再现结束。在缓存器中产生可存储下一个信号的空闲区域时,马上执行下一个信号的读入。
图5A和图5B表示图3所示的本发明的声音分组再现装置中的分组接收部分11和接收缓存器12,状态检测部分14进行的上述接收分组的处理步骤,以及此外的结构部分进行的声音数据串的再现处理步骤。
在图5A的处理中,在步骤S1A中,通过分组接收部分11接收声音分组时,在步骤S2A中将接收分组的时戳和到达时刻保存到状态检测部分14中。
在步骤S3A中,通过状态检测部分14由接收分组的到达时刻和时戳求对于之前的接收分组的延迟摆动,将其与到达时刻、时戳一起保存,并且求过去一定期间内的最大延迟摆动J,检测接收缓存器12的当前时刻的保存分组数(缓存量)S,对控制部分16提供最大延迟摆动J和缓存量S。
在步骤S4A,将接收分组保存在接收缓存器12中,返回到步骤S1A而等待下一个分组。
在图5B的处理中,在步骤S1B,通过来自声音分组解码部分13的请求从接收缓存器12读出与再现处理的当前帧对应的分组,在步骤S2B中,通过声音分组解码部分13对分组中的声音码进行解码而得到声音数据串。
在步骤S3B中,通过声音分析部分15判断解码声音数据串是声音区间还是非声音区间,在步骤S4B,通过控制部分16根据图4的表决定对于最大延迟摆动J的最佳缓存量B。
在步骤S5B,通过控制部分16进一步根据最佳缓存量B和检测缓存量S判断缓存量的调整的紧急度。
在步骤S6B,根据判断出的紧急度,通过消耗量调整部分20对当前帧的解码声音数据串进行波形扩展/压缩处理。
在步骤S7B,输出被波形扩展/压缩的声音数据串,返回步骤S1B而转移到下一个分组的再现处理。
以下,详细说明图3所示的本发明的声音分组再现装置的主要部分。
图6表示控制部分16的功能结构例。这里,声音分析部分15由高通滤波器151、分析用缓存器152、帧内功率计算部分153、区间判断部分154、间距提取部分15A构成。来自声音分组解码部分13的每个帧的解码声音数据通过高通滤波器151去除了直流分量、在原来的声音中不包含的极低的频率(例如50Hz以下)的分量后,为了以后的处理被暂时保存在分析用缓存器152中,通过帧内功率计算部分153计算帧内的功率Pf。如果帧内的功率Pf比功率阈值Pth大,则区间判断部分154判断为声音区间,如果小于等于Pth,则判断为非声音区间,并输出判断结果。
间距提取部分15A在区间判断部分154的判断结果为判断为声音区间的情况下,从解码声音数据串执行间距提取处理。间距提取部分15A由线性预测分析部分155、反滤波器系数计算部分156、反滤波器157、间距相关计算部分158构成。线性预测分析部分155对被保持在分析用缓存器152中的一帧的解码声音数据串进行线性预测分析,得到线性预测系数而将其提供给反滤波器系数计算部分156。反滤波器系数计算部分156根据线性预测系数计算使间距声音信号的频谱包络平坦的反滤波器系数,设定作为用线性滤波器构成的反滤波器157的系数。因此,反滤波器157对被提供的解码声音数据串进行反滤波器处理,由此频谱包络被平坦化的声音数据串被提供给间距相关计算部分158。间距相关计算部分158将采样点依次错开而分别计算被提供的声音数据的自相关值,将得到的一连串的相关值的峰值的间隔作为间距长Lp进行检测,并将其提供给消耗量调整部分20。
而且,在间距长度的分析中,不仅使用该帧的信号,还大多利用过去的帧的信号。在这时,将分析用缓存器152的大小设为2帧以上,保持当前帧和过去的帧的解码声音数据串,进行对涵盖过去至现在的多个帧的声音数据串的间距长分析就可以。声音/非声音的判断结果被送到控制部分16,间距长度Lp被送到用于调整声音数据串的消耗量的消耗量调整部分20。
返回到图3,消耗量调整部分20由帧波形扩展部分21、帧波形压缩部分22、波形扩展用缓存器23、通路(through path)24、开关SW1、SW2构成。开关SW1具有三个切换端子A1、B1、C1,开关SW2具有三个切换端子A2、B2、C2,这些切换端子的组A1、A2;B1、B2;C1、C2之间分别连接帧波形扩展部分21、通路24、帧波形压缩部分22,按照控制部分16的控制进行联动切换,以选择它们中的一个。通过开关SW2选择的声音波形数据串被提供给音响设备18,同时被写入波形扩展用缓存器23。从波形扩展用缓存器23读出的声音信号被提供给帧波形扩展部分21。
图7表示帧波形扩展部分21的功能结构例,图8表示帧波形扩展部分21进行的波形扩展处理的例子。
帧波形扩展部分21由波形处理用缓存器21-0、波形插入处理部分21-1、第一波形切取部分21-2、间距波形生成部分21-3、第二波形切取部分21-4构成。第二波形切取部分21-4使用来自声音分析部分15的间距长度Lp,从被保存在波形扩展用缓存器23中的一帧过去的输出声音信号波形WF1中切取如图8的A行所示的间距长度Lp的区间的波形X。即,从波形扩展用缓存器23内的最后的采样点向过去的时间方向切取1间距长度Lp的波形X。
第一波形切取部分21-2从波形处理用缓存器21-0内的当前帧的声音信号波形WF0中切取图8的A行中的间距长度Lp的区间的波形Y。即,从被输入的当前帧的声音信号波形WF0的开头采样点向正的时间方向切取1间距长度Lp的波形。
间距波形生成部分21-3在对前述切取的波形X和波形Y分别进行了三角窗的加权后,相互相加,作成图8的B行所示的波形Z。这里利用的加权三角窗,可以利用与非专利文献1中记载的三角窗一样的三角窗。即,可以利用从波形区间的开始点向终点,加权在波形X中从0至1,在波形Y中从1至0直线地变化的形状。
波形插入处理部分21-1如图8的C行所示哪样,在当前帧的使用波形的开头附加的1间距长度Lp的区间,插入如D行所示的前述波形Z。
在图8的A行,波形X从波形扩展用缓存器23内的一帧前的信号中切取,波形Y从波形处理用缓存器21-0内的当前帧的信号中切取,但是在间距长度Lp为帧长度Lf的1/2以下的情况下,仅使用当前帧的使用波形来作成插入波形就可以。例如,如图9的A行所示,从当前帧的开头开始从连续2间距长的区间切取与图8的A行的波形X、波形Y对应的波形X’、波形Y’,对切取的波形X’、Y’施加三角窗而相互相加后作成波形Z’(图9,B行),在当前帧的波形X’和Y’之间(图9,C行)插入波形Z’而成为长度Lf+Lp的波形时(图9,D行),得到与图8的方法相同的效果。
在图9的方法中,有不需要在图8的方法中使用的波形扩展用缓存器23的优点,但其反面,也有间距长度Lp为帧长度Lf的1/2以下的限制。但是,通过将波形处理用缓存器21-0的尺寸例如作为2帧来保持当前帧和它之前的帧的波形,并对2帧的声音信号进行扩展处理,即使间距长度Lp超过Lf/2,也可以进行波形扩展处理。
通过帧波形扩展部分21的处理,长度Lf的当前帧的声音信号波形如图8的D行和图9的D行所示那样成为长度被扩展为Lf+Lp的信号波形而被输出。
在图11中表示图3中的帧波形压缩部分22的功能结构例,图12表示帧波形压缩部分22进行的波形压缩处理的例子。帧波形压缩部分22由波形处理用缓存器22-0、波形置换处理部分22-1、第三波形切取部分22-2、间距波形生成部分22-3、第四波形切取部分22-4构成。
第三波形切取部分22-2如图12的A行所示那样,从被保持在波形处理用缓存器22-0中的当前帧的声音信号波形的开头样本中切取一间距长度Lp的区间的波形D。第四波形切取部分22-4切取跟着当前帧的声音信号波形的波形D的一间距长度Lp的区间的波形E。
间距波形生成部分22-3分别对前述切取的波形D和波形E进行了三角窗的加权后将它们相加,作成如图12的B行的波形F。这里,作为利用的加权三角窗,也被记载在非专利文献1中,但是可以使用从波形区间的开始点向终点,在波形D中从1至0,在波形E中从0至1直线性地变化的形状。
波形置换处理部分22-1将A行所示的当前帧的连续合计两个间距长的波形D、E压缩为C行所示的1间距长的区间,用1间距长的前述波形F置换(D行)。
通过帧波形压缩部分22的处理,帧长度Lf的输入声音信号成为被压缩为Lf-Lp的信号而被输出。
在帧波形压缩部分22中,在间距长度Lp有时超过帧长度Lf的1/2的情况下,不能进行前述压缩处理。即,由于不能从帧内切取波形E。例如,在将帧长度Lf为20微秒时,间距长度Lp不能不小于等于10微秒,这意味着声调(pitch)频率不得不大于100Hz。在男性的声音中,有时声调频率低于100Hz。这样,在间距长度Lp超过帧长度Lf的1/2的情况下,将帧波形压缩部分22的波形处理用缓存器22-0的尺寸设为2帧,对当前帧和它之前的帧的连续两个帧长度的声音信号进行上述的压缩处理就可以。
在间距长度Lp比帧长度Lf长的情况下,都不能进行对于前述2帧的输入声音信号的压缩处理、前述帧波形扩展部分21的处理,但是由于间距长比20微秒大,即间距频率比50Hz还低的情况很少有,因此假设被输入的间距长度Lp比帧长度Lf还长的情况下,帧波形扩展处理、帧波形压缩处理都不处理而将输入信号原样输出就可以。
再次返回图3,控制部分16根据来自状态检测部分14的最大延迟摆动J和接收缓存器12的保存分组数(缓存量)S,进行应增加接收缓存器12中保存的分组的量,还是应减少,还是原样维持的判断。
作为判断应增加保存的分组的量的状况的例子,考虑以下的情况。
(a)被保存在接收缓存器中的声音分组的量有减少倾向的情况。
(b)被保存在接收缓存器中的声音分组的量已少于规定值的情况。
(c)接收分组的到达时间的间隔有增加倾向的情况。
作为判断应减少保存的分组的量的状况的例子,考虑以下的情况。
(a)被保存在接收缓存器中的声音分组的量有增加倾向的情况。
(b)被保存在接收缓存器中的声音分组的量已达到规定值以上的情况。
(c)接收分组的到达时间的间隔有缩短倾向的情况。
除此之外,对于分组达到时刻的最大延迟摆动,在判断该时刻保存的分组量合适时,进行原样维持的判断。而且,对于实际的延迟摆动在多少微秒的时间内分组保存量多少为合适,在图4中已示出了例子,但是,认为与一定期间(例如2秒期间)内的至分组接收部分11的分组到达间隔的最大值相比,用被保存的分组的数量S计算的帧的长度的合计时间S×Lf稍长较好。
控制部分16在判断出应增加保存的分组的量的情况下,将开关SW1、SW2分别切换为端子A1、A2。在判断出应减少保存的分组的量的情况下,将开关SW1、SW2分别切换为端子C1、C2。在判断出应原样维持分组的量的情况下,将开关SW1、SW2分别切换为端子B1、B2,通过各切换位置设定消耗量调整部分20的消耗量。
波形扩展用缓存器23保存开关SW2的输出侧的声音数据串,并且被保存的声音数据串如前所述那样被帧波形扩展部分21利用。
声音数据串被发送到音响设备18时,与规定速度的时钟同步而输出声音被再现。音响设备18在获取的时间长度的声音数据串的再现结束时,从下一个分组获取已解码的声音数据串。
如前所述,一般在音响设备18中也具有音响设备用的缓存器,经常使用被称作双缓存的方法。双缓存的两个缓存器存满时,一个缓存器的再现结束,并且不获取下一个声音数据串,直到该缓存器变空为止。
在开关SW1、SW2被设置为各个端子C1、C2侧,即帧波形压缩部分22侧时,长度不满足原来的一帧长度的信号通过开关SW2被输出。在将不满足原来的一帧长的长度的信号原样送到音响设备18时,音响设备的开销变大,有时在时间上产生声音的中断。作为音响设备18的规格,在有帧长度的容许最大值的情况下,开关SW2和音响设备18间最好设置中间的缓存器。
在将开关SW1、SW2切换到端子A1、A2侧时,从声音分组解码部分13输出的解码声音数据串通过帧波形扩展部分21被送到音响设备18。长度Lf的解码声音数据串由于通过帧波形扩展部分21被扩展为长度Lf+Lp的数据串,所以音响设备18中的再现时间也变为Lf+Lp。即,虽然通常音响设备18获取声音数据串的时间间隔为Lf,但是在再现Lf+Lp的信号时获取声音数据串的时间间隔变为Lf+Lp。
由于声音分组解码部分13在音响设备18没有获取声音数据串时不对接收缓存器12输出下一个发送请求,所以如果分组接收部分11以一定的间隔接收分组,则被保存在接收缓存器12中的分组量作为平均增加。所谓作为平均增加,是由于Lp<Lf,所以在一次的帧波形扩展处理中,被保存在接收缓存器中的分组量的增加部分未满足1帧。如果对解码声音信号涵盖多个帧(设为N)而进行帧波形扩展部分21的扩展处理,则帧被保存在接收缓存器12中的分组量仅增加比N小的M。
利用图13说明该情况。图13的A行表示被依次保存在接收缓存器12中的分组P1、P2、P3、…,而图13的B行表示正常的声音帧F1、F2、F3、…的消耗状态。即,在开关SW1和SW2被设置到端子B1、B2的情况下,每次一个取出被存储在接收缓存器12中的分组,从而将其由声音分组解码部分13解码为每一帧长度Lf的声音数据串,并且不接受压缩、扩展的处理地通过通路24而被提供给音响设备18。在音响设备18中,将每个一帧长度Lf的声音数据串再现为声音。因此,在该状态下,每次消耗一个分组就再现一帧长度的声音,在再现一个分组的声音时,从接收缓存器12取出下一个分组,在声音分组解码部分13中进行声音数据串的解码。
与此相反,在图13的C行所示的消耗量小的状态下,由于开关SW1和SW2被连接到端子A1和A2,解码声音数据串接受扩展处理,所以被提供给音响设备18的声音数据串的时间长度为Lf+Lp。因此,如C行所示,扩展过的帧F’1、F’2、F’3、…被提供给音响设备18。由于音响设备18对从一个分组解码的各帧长度Lf的声音数据串花费Lf+Lp的时间来再现声音,所以从音响设备18侧对声音分组解码部分13请求输出解码声音数据串的定时为Lf+Lp的周期。图13的B行所示的正常消耗状态的例子中,在时间TM内消耗了6个分组,但是,图13的C行所示的从接收缓存器12取出分组的周期为Lf+Lp的消耗状态例子中消耗4个分组。由此,可以使分组的消耗量少于正常的消耗状态。
在将开关SW1、SW2切换为端子C1、C2时,从声音分组解码部分13输出的解码声音数据串通过帧波形压缩部分22被送到音响设备18。由于长度Lf的解码声音数据串通过帧波形压缩部分22,从而被压缩为长度Lf-Lp的声音数据串,所以如图13的D行所示,被压缩的帧F”1、F”2、F”3、…被提供给音响设备18。因此,音响设备18中的各压缩帧的再现时间也为Lf-Lp。即,音响设备18获取声音数据串的时间间隔通常为L,但是在Lf-Lp的信号再现时间隔为Lf-Lp。其结果,声音分组解码部分13也以比通常一帧长度Lf的时间间隔短的间隔对接收缓存器12产生下一个发送请求,所以在分组接收部分11以一定的间隔接收分组时,被保存在接收缓存器中的分组量作为平均减少。所谓作为平均减少,是由于Lp<Lf,所以在一次的帧波形压缩处理中,保存在接收缓存器中的分组的量的减少部分不满一帧。涵盖多个帧(设为N)而通过帧波形压缩部分22时,被保存在接收缓存器中的分组量减少小于N的M帧。
在图13的D行所示的例子中,表示由于通过帧波形压缩部分22,相同时间TM期间消耗10个分组的情况。这样,通过增大分组的消耗量,可以减少被保存在接收缓存器12中的分组的数量。
通过控制部分16,可以进行更高级的缓存量控制。例如,根据来自状态检测部分14的缓存量S和最大延迟摆动J,在判断为应增加、应减少保存在接收缓存器中的分组的数量时,可以将所谓应紧急地增加/应缓慢地增加,应紧急地减少/应缓慢地减少的增减速度增加到判断中。具体来说,在通信网的状况突然恶化时,缓慢地增减存储在缓存器中的分组的数量可能产生声音的中断。在通信量的状况变化急剧时,也应紧急地进行存储在缓存器中的分组量的控制。相反,由于一般被称为偏移的发送端和接收端的设置偏差和定时的稍微偏离,保存在缓存器中的分组量缓慢地比希望的量增加,或者减少的情况下,缓慢地增减就可以。
在需要紧急地增减的情况下,不论声音区间、非声音区间,通过都将消耗量调整部分20的开关SW1、SW2设置到各个端子A1、A2侧,或者端子C1、C2侧,迅速地进行波形扩展压缩,可以迅速地控制分组保存量的增减。相反,在缓慢地增减就可以的情况下,声音分析部分15中的声音/非声音判断的结果,仅在非声音帧中将开关SW1、SW2设置到各个端子A1、A2侧,或者C1、C2侧的方法就可以。进而,在非声音帧的情况下,由于间距长实际上不是间距分析的值,而设定为帧长度Lf的1/2以下的任意的值,所以在缓慢的增减的情况下,将任意设定的间距长设为短的值就可以。
图14表示在图3的结构中,根据图6所示的声音分析部分15的声音/非声音判断结果、通过状态检测部分14检测到的对于当前接收分组的过去T秒间(例如,2秒)的最大延迟摆动J、和接收缓存器12内的保存分组数S,判断缓存量的调整是否需要紧急或其紧急度的步骤的例子。
步骤S1由接收缓存器12内的各分组的接收时刻求状态检测部分14的最大延迟摆动J。
步骤S2参照图4的表通过控制部分16决定与最大延迟摆动J对应的最佳缓存量B。
步骤S3通过状态检测部分14求当前时刻的接收缓存器12的缓存量(被保存的分组数)B。
步骤S4判断由16决定的最佳缓存量B与由状态检测部分14检测的实际缓存量S的差的绝对值|S-B|是否小于预定的正的值E,如果小于,则判断为不需要缓存量的调整,并且维持现状(将其定义为紧急度0)。
步骤S5在差的绝对值|S-B|不比E小的情况下,意味着需要缓存量的调整,并且判断差S-B是否小于等于-E。如果为-E以下,则意味着需要增大缓存量,并且执行以下的步骤S6、S7,从而判断增大缓存量的紧急度。在S-B不为-E以下时,S-B为E以上,意味着需要减少缓存量,并且执行以下的步骤S8、S9,从而判断减少缓存量的紧急度。
步骤S6判断当前时刻的缓存量S是否大于等于0并且小于等于最佳缓存量B的20%,如果是上述情况,则判断缓存量的调整(这里为增大)的紧急度大。而且,在B大于等于1并且S为0的情况下,即,在缓存器枯竭而存在声音中断的危险的状态下也在本步骤中判断为紧急度大。
步骤S7判断是否当前时刻的缓存量S比最佳缓存量B的20%大,并且小于等于50%。如果是上述情况,则判断为缓存量调整的紧急度为中等,如果不是这种情况,则判断为紧急度为小。
步骤S8在S-B<-E的情况下,需要增加缓存量,判断当前时刻的缓存量S是否为最佳缓存量B的200%以上。如果是这样,则判断为紧急度大。
步骤S9在S不为B的200%以上的情况下,判断S是否比B的200%小,并且为150%以上,如果是这样,则判断为紧急度为中等,如果不是,则判断为紧急度小。
控制例1图15所示的表1表示根据由图14的步骤判断出的紧急度(大、中、小、0),以及声音/非声音判断结果,控制部分16执行的消耗量调整部分20的第一控制例。
在判断结果为紧急度大的情况下,不论声音信号的声音/非声音判断结果,都将开关SW1、SW2在应增加缓存量时控制为端子A1、A2侧,在应减小缓存量时控制为端子C1、C2侧,从而必须对当前帧的解码声音数据串进行扩展/压缩处理。在判断结果为紧急度中的情况下也和紧急度大的情况一样进行控制。
在判断结果为紧急度小的情况下,如果当前帧的解码声音数据串为声音区间,则将开关SW1、SW2固定在端子B1、B2而不进行扩展/压缩,如果是非声音区间,则将开关SW1、SW2在应增加缓存量时设置为端子A1、A2侧,在应减小缓存量时设置为端子C1、C2侧。
控制例2图16所示的表2是表示根据由图14的步骤判断出的紧急度(大、中、小、0)、声音/非声音判断结果,控制部分16执行的消耗量调整部分20的第二控制例。该控制例与第一控制例相比,在紧急度小时的声音区间,以N1帧一次的比例将开关SW1、SW2设置到A1、A2侧或者C1、C2侧,在除此之外的帧中设置到B1、B2侧。这是因为设想由于声音的状态(通话环境),非声音区间完全未被检测到的情况,即使在非声音区间未被检测到的情况下,也可以变更缓存量。N1的值是1以上的整数,例如设为N1=5。其它与第一控制例一样。
控制例3图17表示的表3表示控制部分16执行的消耗量调整部分20的第三控制例。该例是使图16所示的第二控制例中的紧急度中的控制与紧急度大的控制不同,在声音区间以N2帧一次的比例将开关SW1、SW2设置到A1、A2侧或者C1、C2侧,在除此之外的帧中设置到B1、B2侧。N2的值是1以上的整数,但是最好是比N1小(即,设置到A1、A2侧或者C1、C2侧的频度比控制例2的对应的控制小)的例如N2=2。其它与第二控制例相同。
控制例4图18所示的表4表示控制部分16执行的消耗量调整部分20的第四控制例。在该控制例中,定义了以下通用的方法,即,根据紧急度和声音/非声音区的所有的组,以对每隔分别预定的帧数一次的比例将开关SW1、SW2设置到A1、A2侧或者C1、C2侧,在除此之外的帧中设置到B1、B2侧。即,在紧急度小和大的情况下的声音区间下的控制与图17的第三控制例一样,但是,进而在紧急度大的情况下,不论声音区间/非声音区间都以对每N3帧一次的比例将开关SW1、SW2设置到A1、A2侧或者C1、C2侧。而且,在紧急度为中的情况下,在非声音区间中,以每N4帧一次的比例将开关SW1、SW2设置到A1、A2侧或者C1、C2侧,在除此之外的帧中设置到B1、B2侧,在紧急度小的情况下,在非声音区间中,以每N5帧一次的比例将开关SW1、SW2设置到A1、A2侧或者C1、C2侧,在除此之外的帧中设置到B1、B2侧。
N3的值为1以上的整数,例如设为N3=1。N4是1以上的整数,例如设为N4=1。N5是1以上的整数,例如设为N5=2。通过适当地选择这些值N1~N5,可以调整音质的降低(不适感的增加)和缓存量的变更速度的平衡。
第二实施例在图6所示的声音分析部分15中,通过比较固定的阈值Pth和帧功率Pf来进行当前帧的解码声音信号是声音区间还是非声音区间的判断。该结构由于简单而很好,但是在解码声音信号中包含有电平高的背景噪声(空调噪声或办公室的嘈杂,街头噪声等)的情况下,有时存在不能正确地判断声音区间/非声音区间的情况。图19表示通过在声音/非声音判断中考虑背景噪声改善该问题的结构。
图19所示的声音分析部分15的结构,相对于图6的结构进一步设置动态功率阈值计算部分150,在间距相关计算部分158中进行间距分析从而求间距长度Lp,同时求间距相关值(相关峰值)r。动态功率阈值计算部分150利用在追溯了过去规定时间(例如数秒至数十秒)的范围内的各个帧的功率Pf的系列和对于各个帧求出的间距相关值r来动态地决定功率阈值Pd。例如,间距相关r高的帧、例如r≥0.7的帧基本上确实地视为声音区间,从而通过计算这些帧的功率的长时间平均Pav1来推测声音信号电平。
另一方面,间距相关r低的帧,例如r≤0.4的帧被推断为不是声音区间(即,背景噪声),或者声音区间的无声音区间(不是有声音区间)。正确地区别背景噪声或无声音很困难,但是,如果无声音区间被视为相对较少,则通过计算该背景噪声或被视为无声音区间的帧的功率的长时间平均Pav2,推断非声音区间的信号电平。当然,由于最好可以区别背景噪声和无声音,仅在背景噪声的帧中计算帧的长时间平均,所以即使在间距相关值r低的帧中,也可以观测帧功率的时间系列的稳定性,稳定性低的区间被视为无声音区间,将其从上述功率的长时间平均的计算中除去。
在动态功率阈值计算部分150中,根据被推测出的声音信号电平Pav1和非声音区间(即,背景噪声区间)的信号电平Pav2,动态地决定、更新动态功率阈值Pd。例如,动态功率阈值Pd选择电平Pav1和Pav2之间的值,但最好决定为比非声音区间的电平值Pav2稍大的值。如果帧的功率Pf比动态功率阈值Pd还大,则区间判断部分154将该帧判断为声音区间,如果不是这样,则判断为非声音区间。
上述的第二实施例的判断结果也可以应用在前述的图15~图18的第一至第四控制例的任意一个中。
第三实施例在前述的第一和第二实施例中对各帧是声音区间还是非声音区间的两种进行判断,但是在本实施例中,区别声音区间是有声音区间还是无声音区间,区别非声音区间是背景噪声区间还是无声区间。因此,为在有声音、无声音、背景噪声、无声的四种中判断各帧,根据该判断控制消耗量调整部分20。图20表示用于上述判断的声音分析部分15的结构。
图20所示的声音分析部分15的结构,在图19所示的结构中,还对区间判断部分154提供间距相关值r,在区间判断部分154中作为功率阈值使用动态功率阈值Pd和固定阈值Pth两个,并根据帧功率Pf和间距相关值r判断帧为上述四种中的哪一种区间。
图21表示区间判断的处理的步骤。
步骤S1判断帧的功率Pf是否在固定阈值Pth以下,如果是则判断为无声区间。
步骤S2在Pf不在Pth以下时,判断帧功率Pd是否在动态功率阈值Pd以下,如果是这样则判断为背景噪声区间。
步骤S3在Pf不在Pd以下时,判断间距相关值r是否在预定的正值Rc以下,如果是这样则判断为声音区间的无声音区间,如果不是这样则判断为声音区间的有声音区间。
图22所示的表5,表示根据图14的步骤判断的紧急度(大、中、小、0)和图21的处理得到的区间判断结果,控制部分16执行的消耗量调整部分20的控制例。在该控制例中,在判断出紧急度大的情况下,与区间判断结果无关,将消耗量调整部分20的开关SW1、SW2无条件地设置为端子A1、A2侧或者C1、C2侧。
在判断出紧急度为中的情况下,对于判断结果为有声音、无声音、背景噪声、无声,以每隔各自预定的整数值N6、N7、N8、N9的帧数一帧的比例将开关SW1、SW2设置为端子A1、A2侧或者C1、C2侧。作为预定的整数值,例如可以使用N6=2,N7=2,N8=1,N9=1,但不限于此。
在紧急度被判断为小的情况下也一样,对于判断结果为有声音、无声音、背景噪声、无声,以每隔各自预定的整数值N10、N11、N12、N13的帧数一帧的比例将开关SW1、SW2设置为端子A1、A2侧或者C1、C2侧。作为预定的整数值,例如可以使用N10=5,N11=4,N12=4,N13=2,但不限于此。
通过适当地选择整数值N6~N13,可以调整音质的降低(不适感的增加)和缓存量的变化速度的平衡。
而且,在上述的各实施例中说明了将音响设备18连接到终级的实施例,但是,也有仅保存接收的声音数据串的情况,也有不一定再现声音的情况。
以上说明的本发明的声音分组再现方法可以通过使计算机执行本发明的声音分组再现程序来实现,而且,可以通过在计算机中安装本发明的声音分组再现程序,使CPU解读而执行,从而通过计算机构筑本发明的声音分组再现装置。本发明的声音分组再现程序由计算机可解读的程序语言记述,被记录在计算机可读取的例如磁盘或CD-ROM那样的记录介质中,从这些记录介质安装到计算机,或者通过通信线路安装到计算机,被计算机中具有的CPU解读而执行声音分组再现动作。
本发明在产业上的可利用性在于,在IP通信网上进行声音通信的利用方式正在普及,通过应用本发明,可以便宜地实现高可靠性的声音通信。
权利要求
1.一种声音分组的再现方法,收容通过输入声音数据串的每帧的编码生成的声音码从而接收并再现被发送的一连串的声音分组,该方法包括以下步骤(a)将接收分组保存在接收缓存器中,(b)检测一定期间观测所述接收分组的到达时间的摆动而得到的摆动的最大值或统计值-以下称为最大延迟摆动、以及作为被保存在所述接收缓存器中的分组数的缓存器保存分组数,(c)利用预定的最大延迟摆动和最佳保存分组数的关系,由所述最大延迟摆动求应保存在所述接收缓存器中的最佳分组数-以下将其称为最佳保存分组数,(d)以多个级别来判断所述检测到的缓存器保存分组数和所述最佳保存分组数的不同的程度,(e)从所述接收缓存器取出对应于当前帧的分组,将该分组中的声音码解码而得到当前帧的解码声音数据串,以及(f)根据所述不同程度的每个级别所确定的规则,对所述解码声音数据串进行其波形的扩展、压缩或者维持现状的其中一个处理,作为当前帧的再现声音数据进行输出,以使得所述缓存器保存分组数接近所述最佳保存分组数。
2.如权利要求1所述的声音分组的再现方法,所述步骤(f)包括(f-1)求对于所述解码声音数据串的间距长度的步骤,(f-2)分析所述声音数据串从而判断是声音区间还是非声音区间的声音非声音判断步骤,以及(f-3)根据所述声音非声音判断结果和所述不同程度的级别的判断结果,通过对所述解码声音数据串插入或删除对应于所述间距长度的波形或者不变更所述解码声音数据串,进行扩展、压缩或者维持现状的处理的步骤。
3.如权利要求2所述的声音分组再现方法,所述步骤(d)判断所述不同程度的级别,是作为应使所述缓存器保存分组数紧急地增加或者减少的状况的紧急度大,还是作为应使所述缓存器保存分组数缓慢地增加或者减少的状况的紧急度小,所述步骤(f-3)包括在所述级别为紧急度大的情况下,不论所述声音区间或非声音区间都执行所述解码声音数据串的波形的扩展或压缩,在所述级别为紧急度小的情况下,仅对所述解码声音数据串为非声音区间的情况执行所述解码声音数据串的波形的扩展或压缩的步骤。
4.如权利要求2所述的声音分组再现方法,所述步骤(d)判断所述不同程度的级别,是作为应使所述缓存器保存分组数紧急地增加或者减少的状况的紧急度大,还是作为应使所述缓存器保存分组数缓慢地增加或者减少的状况的紧急度小,所述步骤(f-3)包括在所述级别为紧急度大的情况下,不论所述声音区间或非声音区间都执行所述解码声音数据串的波形的扩展或压缩,在所述级别为紧急度小的情况下,在所述解码声音数据串为声音区间的情况下以每个预定的帧数N1一次的比例执行所述解码声音数据串的波形的扩展或压缩,并且在所述解码声音数据串为非声音区间的情况下以每个预定的帧数N2一次的比例实现所述声音解码数据串的波形的扩展或压缩的步骤,所述N1和N2是大于等于1的整数,并且N2小于N1。
5.如权利要求1所述的声音分组再现方法,所述步骤(f)包括(f-1)求对于所述解码声音数据串的间距长度的步骤,(f-2)分析所述解码声音数据串从而判断其为有声音区间、无声音区间、背景噪声区间、无声区间的哪一个的区间判断步骤,以及(f-3)根据所述区间判断结果和所述不同程度的级别的判断结果,通过对所述解码声音数据串插入或删除对应于所述间距长度的波形或者不变更所述解码声音数据串,进行扩展、压缩或者维持现状的处理的步骤。
6.如权利要求5所述的声音分组再现方法,所述步骤(d)判断所述不同程度的级别,是作为应使所述缓存器保存分组数紧急地增加或者减少的状况的紧急度大,还是作为应使所述缓存器保存分组数缓慢地增加或者减少的状况的紧急度小,所述步骤(f-3)包括在所述级别为紧急度大的情况下,不论所述区间判断结果如何都执行所述解码声音数据串的波形的扩展或压缩,在所述级别为紧急度小的情况下,对所述有声音区间、所述无声音区间、所述背景噪声区间、所述无声区间分别以预定的每帧数N1、N2、N3、N4一次的比例执行所述解码声音数据串的波形的扩展或压缩的步骤,所述N1、N2、N3、N4是正整数,它们中的至少一个是大于等于2并且与其它三个不同的值。
7.一种声音分组的再现装置,收容通过输入声音数据串的每帧的编码生成的声音码从而接收并再现被发送的一连串的声音分组,该装置包括分组接收部分,从分组通信网接收声音分组;接收缓存器,暂时保存接收的分组,根据请求读出分组;状态检测部分,检测一定期间观测所述接收分组的到达时间的摆动而得到的摆动的最大值或统计值-以下称为最大延迟摆动、以及作为被保存在所述接收缓存器中的分组数的缓存器保存分组数;控制部分,利用预定的最大延迟摆动和最佳保存分组数的关系,由所述最大延迟摆动求应保存在所述接收缓存器中的最佳分组数-以下将其称为最佳保存分组数,以多个级别来判断所述检测到的缓存器保存分组数和所述最佳保存分组数的不同的程度,根据所述不同程度的每个级别所确定的规则,生成用于指示波形的扩展、压缩或者维持现状的控制信号,以使得所述缓存器保存分组数接近所述最佳保存分组数;声音分组解码部分,对从所述接收缓存器取出的对应于当前帧的分组中的声音码解码而得到当前帧的解码声音数据串;以及消耗量调整部分,按照所述控制信号,对所述当前帧的解码声音数据串进行其波形的扩展、压缩或维持现状的其中一个处理,作为当前帧的再现声音数据输出。
8.如权利要求7所述的声音分组再现装置,所述声音分析部分分析所述解码声音数据串,从而判断其为声音区间还是非声音区间,将其判断结果提供给所述控制部,同时,求对于所述解码声音数据串的间距长度而将其提供给所述消耗量调整部分,所述控制部分根据所述判断结果和所述不同程度的级别的判断结果对所述消耗量调整部分提供当前帧的所述解码声音数据串的扩展、压缩或维持现状的控制,所述消耗量调整部分按照所述控制对所述解码声音数据串插入或删除对应于所述间距长度的波形,或者不变更所述解码声音数据串。
9.如权利要求8所述的声音分组再现装置,所述控制部判断所述不同程度的级别,是作为应使所述缓存器保存分组数紧急地增加或者减少的状况的紧急度大,还是作为应使所述缓存器保存分组数缓慢地增加或者减少的状况的紧急度小,并且,对于所述消耗量调整部分,在所述级别为紧急度大的情况下,提供不论所述声音区间或非声音区间都执行所述解码声音数据串的波形的扩展或压缩的控制,在所述级别为紧急度小的情况下,提供仅对所述解码声音数据串为非声音区间的情况执行所述解码声音数据串的波形的扩展或压缩的控制。
10.如权利要求8所述的声音分组再现装置,所述控制部分判断所述不同程度的级别,是作为应使所述缓存器保存分组数紧急地增加或者减少的状况的紧急度大,还是作为应使所述缓存器保存分组数缓慢地增加或者减少的状况的紧急度小,并且在所述级别为紧急度大的情况下,不论所述声音区间或非声音区间,都对所述消耗量调整部分提供用于执行所述解码声音数据串的波形的扩展或压缩的控制,在所述级别为紧急度小的情况下,对所述消耗量调整部分提供以下控制,即在所述解码声音数据串为声音区间的情况下以每个预定的帧数N1一次的比例执行所述解码声音数据串的波形的扩展或压缩,并且在所述解码声音数据串为非声音区间的情况下以每个预定的帧数N2一次的比例实现所述声音解码数据串的波形的扩展或压缩,所述N1和N2是大于等于1的整数,并且N2小于N1。
11.如权利要求7所述的声音分组再现装置,所述声音分析部分分析所述解码声音数据串从而判断其为有声音区间、无声音区间、背景噪声区间、无声区间的哪一个从而将其判断结果提供给控制部分,同时求对于所述解码声音数据串的间距长度而将其提供给所述消耗量调整部分,所述控制部分根据所述区间判断结果和所述不同程度的级别的判断结果,对所述消耗量调整部分提供用于执行当前帧的所述解码声音数据串的扩展、压缩或者维持现状的处理的控制,所述消耗量调整部分按照所述控制,对所述解码声音数据串插入或删除对应于所述间距长度的波形或者不变更所述解码声音数据串。
12.如权利要求11所述的声音分组再现装置,所述控制部分判断所述不同程度的级别,是作为应使所述缓存器保存分组数紧急地增加或者减少的状况的紧急度大,还是作为应使所述缓存器保存分组数缓慢地增加或者减少的状况的紧急度小,并且对于所述消耗量调整部分,在所述级别为紧急度大的情况下,不论所述区间判断结果如何都提供用于执行所述解码声音数据串的波形的扩展或压缩的控制,在所述级别为紧急度小的情况下,提供以下控制,即对所述有声音区间、所述无声音区间、所述背景噪声区间、所述无声区间分别以预定的每帧数N1、N2、N3、N4一次的比例执行所述解码声音数据串的波形的扩展或压缩,所述N1、N2、N3、N4中至少一个是大于等于2的整数并且与其它三个不同的值。
13.一种声音分组再现程序,通过计算机可解读的程序语言记述,使计算机实施权利要求1所述的声音分组再现方法。
14.一种记录介质,由计算机可读取的记录介质构成,在该记录介质中记录了权利要求13所述的声音分组再现程序。
全文摘要
本发明将接收分组保存在接收缓存器中,同时通过状态检测部分检测该分组到达时的最大延迟摆动和接收缓存器的缓存量,并通过控制部分从预定的表求对应于最大延迟摆动的最佳缓存量,由检测缓存量和最佳缓存量判断缓存量的调整的紧急度,并对于从接收缓存器读出的分组解码的当前帧的解码声音数据串,基于在消耗量调整部中根据上述紧急度、检测到的缓存量、上述最佳缓存量,对上述解码声音数据串进行波形的扩展、压缩从而调整再现帧的消耗量,阻止接收缓存器变空。
文档编号G10L19/00GK1926824SQ20058000639
公开日2007年3月7日 申请日期2005年5月25日 优先权日2004年5月26日
发明者大室仲, 森岳至, 日和崎佑介, 片冈章俊 申请人:日本电信电话株式会社