CN103688306B - 对被编码为连续帧序列的音频信号进行解码的方法和装置 - Google Patents
对被编码为连续帧序列的音频信号进行解码的方法和装置 Download PDFInfo
- Publication number
- CN103688306B CN103688306B CN201180072349.0A CN201180072349A CN103688306B CN 103688306 B CN103688306 B CN 103688306B CN 201180072349 A CN201180072349 A CN 201180072349A CN 103688306 B CN103688306 B CN 103688306B
- Authority
- CN
- China
- Prior art keywords
- signal
- frame
- pitch
- frequency band
- residue
- 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
Links
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/005—Correction of errors induced by the transmission channel, if related to the coding algorithm
Abstract
语音信号被编码为连续帧序列。当有帧丢失时,可根据其他之前收到的帧,重建可能包含于丢帧中的音频,从而在接收器隐藏此丢失。帧包含残余信号和表示音频数据段的线性预测编码参数。对于丢失的帧而言,不是复制此前帧的内容,而是进行修改,以重建音频,使其听起来较为自然。修改包括计算源自至少两个音调周期的准周期信号和伪随机序列的加权总和。根据所确定的之前帧是否包含浊音或清音语音,选择得出权重。
Description
技术领域
技术领域涉及通信系统(例如IP电话,又称作VoIP)中的丢包隐藏技术,包含一个音频编解码器(编码器/解码器)。其中一个编解码器可能是iSAC。
背景技术
电话通信最初依赖于呼叫者之间的专线连接。因此,进行电话交谈必须建立实时物理连接,以实现实时通信。实时通信是指对话中的讲话者和聆听者之间的延迟非常短,以至于不易察觉或几乎无法察觉的通信。近年来,通信技术取得了长足的进步,使得互联网等封包交换网络可以支持实时通信。
VoIP是一种通过封包交换网络实现实时通信的音频通信方法。用音频编码器将音频信号分解为短时段,接着以封包方式将时间段作为音频帧单独进行传输,从而取代了呼叫者之间的专线连接。封包被接收器接收,音频帧被提取,短时段被音频解码器重组为原始音频信号,使接听者收听所传输的音频信号。
通过封包交换网络实现的实时音频通信,面临着与众不同的挑战。网络的可用带宽可能受限,而且会随着时间发生改变。封包可能会丢失或被损坏。如果封包未能在限定的时间间隔内抵达预定接收器,即使封包最后到达接收器,也会认为此封包已丢失。
处理丢包的一种方式是后向错误更正(BEC),其中接收器会通知发送器未收到预期的封包,因此发送器会重新传输预期的封包。虽然BEC对于文件传输之类的任务,是切实可行的,但用于实时通信系统时,却并不理想。在实时音频通信中,重新传输并非是可行方案,因为它通常会导致接收器收到丢包之前出现大的延迟。等 待重新传输封包,会导致通信丧失实时性质。
处理丢包的另一种方法是,使用来自所收到封包中的信息,重新创建丢失的封包。收到的封包可能包含专用于此目的之特定信息,例如上述时间段中与音频数据有关的冗余信息。然而,此类方法会减少可用于通信的有效带宽,因为这些可用带宽要用于传输冗余数据,而如果封包未丢失,则无需占用此带宽。
本发明认识到通过封包交换网络进行实时音频通信时出现丢包所引发的问题,并提供了可避免上述示例之缺陷的解决方案。
根据本发明的一个实施例,根据此前收到的封包,模拟丢包中可能包含的音频信息,即可隐藏丢包。本发明将利用之前收到的封包,以特定方式重建丢包,而无需使用抖动缓冲。特别是,将此前收到的封包中的信息,用于重建丢失的封包,但此信息不仅仅是被复制。如果是简单的复制信息,则最后生成的音频会听起来不自然和“机械化”。与之相反,此前收到封包中的信息,会通过特定方式加以修改,以重建此封包,从而生成听起来自然的音频。
发明内容
在一个实施例中,对被编码为连续帧序列的音频信号进行解码的方法,其步骤可能包括:接收连续帧的第一帧,第一帧包括用于重建以第一帧表示之音频数据的解码参数和残余信号;存储第一帧中包含的残余信号;根据存储的残余信号解码第一帧,以重建由第一帧编码的音频信号;确定在时间上后继于第一帧的第二帧已丢失;修改存储的残余信号;以及根据修改的残余信号,重建由第二帧编码的音频信号的估值。
在一个实施例中,修改存储的残余信号的具体步骤可能包括:生成一个周期信号;根据存储的残余信号生成一个彩色伪随机信号;将周期信号和彩色伪随机信号与选定的加权因子(基于从存储残余信号创建的音调合成滤波器的输入和输出信号的能量,以及存储残余信号的音调增益确定)相乘;以及计算加权周期信号和加权彩色 伪随机信号的总和。
在一个实施例中,生成一个周期信号的具体步骤可能包括:检索至少两个最近存储的音调周期;更改各音调周期的周期性;对各音调周期进行加权;并对两个加权音调周期进行求和。
在一个实施例中,更改周期行的具体步骤可能包括:对音调周期的音调脉冲进行重采样。
在一个实施例中,生成彩色伪随机信号的具体步骤可能包括:生成一个伪随机序列;采用N阶全零点滤波器,按由之前收到的帧中先前已解码低频带残余信号的最新N个样本计算得出的系数,过滤伪随机序列。
在一个实施例中,存储的残余信号可能包括音调合成滤波器的输入和LPC合成滤波器的输入。解码参数可能包括音调增益、音调延迟和LPC参数。
在一个实施例中,帧可能包含第一频带和明显高于第一频带之第二频带的编码信息,以及第一频带的残余信号才是过滤后音调,而非第二频带的残余信号。
在另一个实施例中,对被编码为连续帧序列的音频信号进行解码的解码装置,包括:一台接收器,配置为接收连续帧的第一帧,第一帧包括用于重建以第一帧表示之音频数据的解码参数和残余信号;一个存储单元,用于存储第一帧中包含的残余信号;一个解码单元,配置为根据存储的残余信号解码第一帧,以重建由第一帧编码的音频信号;一个丢失检测器,配置为确定在时间上后继于第一帧的第二帧已丢失;一个修改单元,配置为修改存储的残余信号;以及一个重建单元,配置为根据修改单元所修改的储存残余信号,重建由第二帧编码的音频信号的估值。
在一个实施例中,修改单元可能包括:一个第一信号发生器,配置为生成一个周期信号;一个第二信号发生器,配置为根据存储的残余信号生成一个彩色伪随机信号;一个倍增器,用于将第一信号发生器生成的周期信号和第二信号发生器生成的彩色伪随机信号与选定的加权因子(基于从存储残余信号创建的音调合成滤波器的输入和输出信号的能量,以及存储残余信号的音调增益确定)相乘;以及一个加法器,用于对加权周期信号和加权彩色伪随机信号的求和。
在一个实施例中,第一信号发生器可被配置为:检索至少两个最近存储的音调周期;更改各音调周期的周期;对各音调周期进行加权;并对两个加权音调周期进行求和。
在一个实施例中,第一信号发生器可被配置为,通过重新对音调周期的音调脉冲进行取样,来更改周期。
在一个实施例中,第二信号发生器可被配置为:生成一个伪随机序列;采用N阶全零点滤波器,按照由之前收到的帧中先前已解码低频带残余信号的最新N个样本计算得出的系数,过滤伪随机序列。
在一个实施例中,存储的残余信号可能包括音调合成滤波器的输入和LPC合成滤波器的输入。解码参数可能包括音调增益、音调延迟和LPC参数。
在另一个实施例中,可用指令编码的计算机可读有形记录介质,其特征在于,在处理器上执行此指令时,会使处理器执行一种方法,具体步骤包括:接收连续帧的第一帧,第一帧包括用于重建以第一帧表示之音频数据的解码参数和残余信号;存储第一帧中包含的残余信号;根据存储的残余信号解码第一帧,以重建由第一帧编码的音频信号;确定在时间上后继于第一帧的第二帧已丢失;修改存储的残余信号;以及根据修改的残余信号,重建由第二帧编码的音频信号的估值。
附图说明
通过下文给出的详细描述和附图,将更便于充分理解本发明,附图仅供阐述说明之用,因此并不对本发明构成限制。
图1是根据本发明的一个实施例,举例说明通信系统的方块 图。
图2是根据本发明的一个实施例,举例说明包含丢包的封包流的示意图。
图3是根据本发明的一个实施例,举例说明接收封包的流程图。
图4是根据本发明的一个实施例,举例说明解码所收到封包的流程图。
图5A和5B是根据本发明的一个实施例,举例说明丢包隐藏算法的流程图。
图6A和6B是根据本发明的一个实施例,举例说明准周期性脉冲串生成算法的流程图。
图7是根据本发明的一个实施例,举例说明用于实施丢包算法的处理系统的示意图。
具体实施方式
图1展示了一个通信系统。音频输入被传输至系统的一端,并最终在系统的另一端输出。由于电话交谈涉及两位呼叫者交替通信,因此可为双向同时通信。讲话者可通过录音或任何其他音频源,生成音频输入。音频输入被提供给编码器102。
编码器102将音频输入编码为多个封包,并通过封包网络104将其传输至解码器106。封包网络104可以是任何封包交换网络,既可使用物理链路连接,也可使用无线链路连接。封包网络104也可以是无线通信网络,和/或光纤链路网络。封包网络104将封包从编码器102传至解码器106。发送自编码器102的某些封包,可能会丢失,具体如图2所示。
编码器102可能是iSAC编码器,负责将输入编码为输出封包(亦称作帧)。本发明的一个实施例基于音调信息,同时假设解码器提供了可用的音调参数。不过,即使音调参数未嵌入有效负载,也可以根据此前解码的音频,在解码器上进行估计。举例而言,与 短时间段对应的每帧,其在iSAC中的参数为30或60毫秒。其他段长度也适用于其他编码器。单向延迟的时间至少有一个帧尺寸,因此如果帧尺寸超过60ms,会导致不可接受的长延迟。此外,出现丢包时,帧越长,越难以隐藏。另一方面,如果帧较短,则会导致封包过多,从而减少有效带宽。如果不用担心延迟问题(例如在串流中),则可通过允许固定段使用较长的帧长,获得高质量。
如果编码器102是iSAC编码器,则会将输入音频信号拆分为两个频率带,即低频带(LB)和高频带(UB)。例如,LB可能是0-4kHz,而UB为4-8kHz。也可选择和使用其他频带,例如LB=0-8kHz和UB=8-16kHz。也可使用单个频率带(如0-8kHz),而不将输入音频信号拆分为独立频带。
如图2所示,每个帧至少包含音调增益、音调延迟、LPC参数和对应时段内残余信号的DFT系数。如果输入音频信号被拆分为LB和UB频带,则各频带将各自的信息储存在帧中,各频带的信息可从帧中单独选择,而且没有与UB频带相关的音调参数。如果采用iSAC编码器,帧中将包含4组音调参数和6组LPC参数,以在帧内捕获信号的演化。音调延迟可视为长时预测器的“最优”延迟,音调增益可视作预测增益,而LPC系数为最佳短时预测系数。
解码器106接收通过网络104传输的封包,并将封包解码为音频数据,通过解码器106进行输出。解码器106所执行操作的详情如图3-6所示。解码器106可在处理器上实施,如图7所示,或在其他硬件平台上实施,例如移动电信设备。对于缺乏足够处理能力,无法执行交替型丢包隐藏的移动设备而言,解码器106执行的处理操作是有利的,作为本发明提供的一种方法,其计算复杂度相对而言较低。
图3是根据本发明的一个实施例,说明PLC方法的概括性流程图。在步骤S306中,确定帧N是否已收到,即未丢失。如果帧N已收到,接着执行步骤S320,对帧N进行解码。图4阐述了步骤S320中的其他详细处理流程。
帧N在步骤S320中完成解码后,在步骤S340中以指数N为增量递增,接着执行步骤S306,以确定帧N+1是否已收到。只要未丢失帧,便继续循环执行步骤S306、S320和S340。
如果在步骤S306中确定帧已丢失,则继续执行步骤S350,其中丢失的帧被隐藏。图5A-B阐述了步骤S350中的其他详细处理流程。
图4举例说明了对解码器106所接收帧进行解码的过程。收到帧后,在步骤S410从帧中解码帧尺寸和带宽信息。帧尺寸代表以帧表示的时段大小,亦可用毫秒表示,或者用特定采样率的样本数表示。采样率也可编入帧中。可在呼叫前协定采样率,且呼叫期间不能变更。带宽信息反映了编入帧中的音频数据的带宽,可能是LB、UB或二者皆是。
在步骤S415中,从帧中解码音调延迟和音调增益。音调延迟和音调增益的更新间隔为7.5ms,因此,每个30ms帧中均包含4组音调延迟和音调增益。音调延迟表示当前信号的长时预测器延迟。音调增益表示长时线性预测系数。
在步骤S420中,存储已解码的音调延迟和音调增益,因为后续帧丢失时需要它们来实现丢包隐藏。
在步骤S425中,解码LPC参数(LPC波形和增益)。LPC参数代表短时线性预测系数,可用于描述信号的频谱包络线。
在步骤S430中,存储LPC的波形和增益,因为后续帧丢失时需要它们来实现丢包隐藏。
在步骤S435中,解码已编入帧的残余信号DFT系数。残余信号是过滤短时和长时线性相关性的结果。DFT系数是通过诸如FFT等操作将残余信号转换至频域的结果。DFT系数可能包括LB信号的单独信息和UB信号的单独信号。
在步骤S440中,对已在步骤S435中解码的DFT系数执行反FFT等操作,使其从频域转换至时域,进而产生残余信号。如果同时使用LB和UB信号,则要为LB创建一个单独的残余信 号(亦称LB_Res),并为UB创建一个单独的残余信号(亦称UB_Res)。
在步骤S445中,存储残余信号(LB_Res和UB_Res),因为它是实现丢包隐藏所需要的。
在步骤S450中,用音调后置滤波器过滤低频带残余信号(LB_Res)。音调后置滤波器是零极点滤波器,其中系数根据音调增益和音调延迟计算得出。由于它与音调前置滤波器正好相反,因此,它采用了已被音调前置滤波器删除的长时结构。即便LB_Res和UB_Res都适用,也只对LB_Res进行音调后置过滤。存储音调后置滤波器的输出(过滤的残余信号),因为它是实现丢包隐藏所需要的。
在步骤S455中,用已在步骤S425中解码的LPC参数,合成低频带和高频带信号。LPC合成是全极点滤波器,其系数源自LPC参数。由于此滤波器是逆向LPC分析(在此编码器中),因此,它采用了信号的短时结构。
LPC合成的输出是原始编码信号的时域表示。如果同时使用LB和UB,输出便是单独的LB信号和UB信号。
结合使用LB和UB时,在步骤S460中,将LB信号和UB信号相整合,以此创建原始音频输入的表示,因此,输出便是接收器的音频输入,如图1所示。在一个实施例中,如果没有对LB和UB分别对待,而且仅使用了单个频带,此时便可跳过步骤S460。
如图4所示,音频的重建取决于所接收帧中残余信号、音调增益、音调延迟以及LPC参数的可用性。不过,如果出现丢包,则无法获得这些信息。因为各帧表示以30毫秒为间隔的时间段,所以可以从前一帧中简单复制信息,以表示丢失的帧。不过,采用此方法,会导致音频听起来不自然,显得人工化和机械化。因此,发明者研究出一种方法,根据之前收到的帧,来重建丢帧中的数据,从而得出声音自然的音频。此方法为重建残余信号—输入至音调合成(低频带残留)——和输入至高频带LPC合成(高频带残留)。这类似于此前封包的处理方法,但不是完全一样。具体详情如图5A-B所示。
如果步骤S306确定某一帧已丢失,则解码器106会在步骤S350中执行丢包隐藏。如图5A所示,在步骤S510中检索已存储的音调延迟和音调增益。步骤S420中已为此前接收的帧存储音调延迟和音调增益。
在步骤S515中,为此前接收的帧检索残余信号。步骤S445中已存储残余信号。
在步骤S516中,解码器确定当前丢帧是否是连续丢帧之一。如果丢帧不是多个连续丢帧之一,则继续执行步骤S520。
在步骤S520中,已计算两个最新的音调脉冲。所用音调脉冲在时间上与丢帧最为接近。计算的依据为步骤S510和S515中检索的音调延迟和残余信号。在一个实施例中,即使同时使用了LB和UB信号,也仅计算LB信号的两个最新音调脉冲。在另一个实施例中,同时计算LB和UB信号的两个音调脉冲。选择使用两个音调脉冲,是发明者为实现最佳性能而确定的一个设计参数,但也可以使用其他数量的音调脉冲。
在步骤S525中,存储步骤S520中获得的音调脉冲。对于LB信号而言,音调脉冲被称为LB_P1和LB_P2。
在步骤S530中,检索步骤S450中存储的音调后置滤波器输出,并在步骤S535中,使用音调后置滤波器输出计算一个长时相似性测度。更确切的说,长时相似性测度是根据前一帧进行后置过滤之前和之后音调脉冲的能量计算得出的一个比例。它是衡量前一帧周期性的一个测度。
在步骤S540中,语音指示器的计算依据为长时相似性测度和所计算音调脉冲的频率。例如,语音指示器的计算公式为log2(sigma2_out/sigma2_in)+2*pitch_gain+pitch_gain/256,其中,log2(x)是以2为底数的x的对数,sigma2_out是音调后置滤 波器输出中最新音调脉冲的方差,sigma2_in是输入中对应脉冲的方差。语音指示器指明了最新已解码帧的周期性。
在步骤S545中,计算浊音和清音段的加权因子。浊音段的加权因子为w_v,清音段的加权因子为w_u。下列伪代码是计算加权因子算法的一个示例:
在步骤S550中存储权重。步骤S520至步骤S550的描述,基于非连续丢帧。多个连续丢帧与单个丢帧的处理流程有所不同。如果是多个连续丢帧,则没有已接收的紧接前一帧。不过,会对多个丢帧序列中的第一个丢帧,执行步骤S520至S550。任何丢帧序列都将遵循S517至S547的处理流程。
单纯通过重复音调脉冲而还原的浊音段,听起来非常不自然,难以入耳(亦称机械音)。因而,为避免人工化的声音,加权将随已重建音调周期的数量而变化。在步骤S517中,增加了衰减率。衰减率是合成残余信号衰减至零的速度,并应用于步骤S590。
在步骤S547中,检索上一PLC调用期间计算的加权因子w_v和w_u(存储于步骤S550)。
后续处理流程如图5B所示,其中在步骤S556中,分析加权因子w_v和w_u,以确定最新收到的帧中包含哪种语音。浊音语音拥有很强的周期性性质,而清音语音则不然。如果最新收到的帧包含浊音语音,则w_v将大于零。如果帧还包含清音语音,则w_u也会大于零。权重反映了帧中浊音语音与清音语音的相对混合程度。仅含浊音语音的帧,其w_u等于零。而仅含清音语音的帧,其w_v也为零。如果w_v和w_u均非零,则此语音可视作混合语音。
如果已确定语音为清音(即w_v为零),则继续执行步骤S560,其中生成一个伪随机向量。如果同时使用LB和UB,则分别为LB和UB生成一个伪随机向量。
在步骤S562中,采用N阶全零点过滤器过滤伪随机向量,其中系数根据最近已解码残余信号的N个最新采样计算得出。在一个示例性实施例中,N可以是等于30的固定数目。此过滤操作将为生成的伪随机向量着色,以形成一个类似于此前收到的封包的频谱包络。
如果在步骤S556中已确定语音为浊音(即w_u为零),则继续执行步骤S580。步骤S580建立了一个准周期性脉冲串。准周期性脉冲串是两个最新音调周期的加权求和。输出是残余信号。如果同时使用LB和UB,则输出是LB残余信号和UB残余信号。准周期性脉冲串的详细生成过程,如图6A-B所示。
如果在步骤S556中已确定语音是混合的,则继续执行步骤S570。步骤S570在功能上与步骤S580一致。步骤S570中的详细处理流程,如图6A-B所示。步骤S570的输出是一个低频带脉冲串(称为LB_P)和一个高频带脉冲串(称为UB_P)。
步骤S572分别为LB和UB生成了两个伪随机向量。伪随机向量的生成过程与步骤S560中的过程一致。LB伪随机向量将称作LB_N,UB伪随机向量将称作UB_N。
在步骤S574中,加权因子w_v和w_u被应用于准周期性脉冲串和伪随机向量,具体如下所示。LB残余信号为LB_P*w_v+LB_N*w_u。UB残余信号为UB_P*w_v+UB_N*w_u。
在此阶段,已计算残余信号,并进行了适当加权。在步骤S590中,残余信号已衰减。衰减呈线性,并按样本逐个应用。如果K是已重建残余信号的大小,则下列伪代码阐述了用于信号衰减的示例性算法,其中d是小于1的数字,而decay_rate的作用显而易见:
对于n=1至K执行
在步骤S592中,LB残余经音调后置过滤,与步骤S450类似。音调后置过滤所用的过滤系数源自于步骤S420中存储的音调延迟和音调增益。UB残余可跳过音调后置过滤。
在步骤S594中,检索于步骤S430中存储的LPC参数, 并根据检索的参数,执行LB和UB信号的LPC合成。
在步骤S596中,整合LB和UB信号,以创建丢帧音频的合成表示。
图6A-B详细说明了根据本发明的一个实施例建立一个准周期性脉冲串的过程。步骤S570和S580建立了一个准周期性脉冲串。
在步骤S610中,检索上一帧的音调延迟LB_P1、LB_P2和UB_Res。之前已在检索上一帧时存储了这些值。
在步骤S615中,循环计数器j和p_cntr被初始化为零。在步骤S616中,解码器确定当前帧是否是连续丢帧之一。如果丢帧不是多个连续丢帧之一,则继续执行步骤S617,其中变量L的值被设为等于步骤S610中已检索的音调延迟。此外,第一个丢帧将导致L被初始化为音调延迟的值,但后续丢帧将绕过步骤S617,并继续执行步骤S620。
在步骤S620中,LB_P1是对L样本进行重采样并被指定给R1的值。因此,R1的长度是L样本。
在步骤S625中,UB_Res最后的L样本被选中,并被称作Q1。
在步骤S630中,循环计数器i被初始化为零。
在步骤S635中,建立了准周期性脉冲串LB_P(适用于低频带)和UB_P(适用于高频带)。在遍历i和j的循环的每次迭代中,LB_P(j)=R1(i)和UB_P(j)=Q1(i),以及i和j以一为增量递增。
在步骤S636中,解码器确定j是否小于frame_size(取自步骤S410)。只要j小于frame_size,循环便会继续。如果j达到frame_size,LB_P和UB_P将返回为准周期性脉冲串。
在步骤S638中,解码器确定i是否小于L。如果i小于L,则程序返回步骤S635并继续执行循环。一旦i达到L,程序就会继续执行步骤S640,如图6B所示。
在步骤S640中,p_cntr以1为增量递增。
在步骤S642中,解码器确定L是否大于pitch_lag。如果L不够大,则L在步骤S644中被设为pitch_lag+1。如果L大于pitch_lag,则L将在步骤S646中被设为pitch_lag。此处理是对音调脉冲重采样的一个示例,可避免已重建信号中存在过多的周期性。
在步骤S650中,LB_P1是对L样本进行重采样并被指定给R1的值。因此,R1的长度是L样本。
在步骤S655中,LB_P2是对L样本进行重采样并被指定给R2的值。因此,R2的长度是L样本。
在步骤S656中,解码器确定p_cntr的值是否等于1、2或3。
如果p_cntr的值等于1,R1将在步骤S661中被设为(3*R1+R2)/4。
如果p_cntr的值等于2,R1将在步骤S662中被设为(R1+R2)/2。
如果p_cntr的值为3,R1将在步骤S663中被设为(R1+3*R2)/4,而p_cntr将在步骤S673中被设为0。
执行完成S661、S662和S673中的任一步骤后,程序将返回至步骤S630,如图6A所示。
图7是举例说明根据本发明为实现丢包隐藏而配置的计算设备700的方块图。在极其基本的配置701中,计算设备700通常包括一个或多个处理器710和系统内存720。内存总线730可用于处理器710和系统内存720之间的通信。
根据所需的配置,处理器710可以是任意类型,包括但不限于:微处理器(μP)、微控制器(μC)、数字信号处理器(DSP)或它们的任意组合。处理器710可包括一个额外的缓存级别,如一级缓存711和二级缓存712、处理器内核713及寄存器714。处理器内核713包括一个算术逻辑单元(ALU)、一个浮点单元(FPU)、一 个数字信号处理核心(DSP核心),或它们的任意组合。内存控制器715还可与处理器710一同使用,在某些实现中,内存控制器715是处理器710的内部组成部分。
根据所需的配置,系统内存720可以是任意类型,包括但不限于:易失性存储器(如RAM)、非易失性存储器(如ROM和闪存等)或它们的任意组合。系统内存720通常包括一个操作系统721、一个或多个应用程序722及程序数据724。应用程序722包括一个解码处理算法,带丢包隐藏算法723,该算法可用于根据本发明,解码接收的封包以及隐藏丢失的封包。程序数据724包括服务数据725,可用于对已收到封包进行解码和隐藏丢失的封包,详细描述请见下文。在一些实施例中,可将应用程序722布置在在安卓、Chrome和Windows等操作系统721中与程序数据724配合运行。所述基本配置已在图7中附图说明,相关组件用虚线701标出。
计算设备700拥有附加特征和/或功能以及额外的接口,能够促进基本配置701与任何必要设备和接口之间的通信。例如,总线/接口控制器740能够用于促进基本配置701与一个或多个数据存储设备750之间的通信,此类通信是通过存储接口总线741实现的。数据存储设备750可以是可移动存储设备751、非移动存储设备752,或者二者的组合。可移动存储设备和非移动存储设备的示例包括:软盘驱动器和硬盘驱动器(HDD)等磁盘设备,光盘(CD)机或数字通用光盘(DVD)机等光盘驱动器、固态硬盘(SSD)和磁带机等。计算机存储介质示例包括:采用任何方法或技术实施的易失性和非易失性介质、可移动和非移动介质,用于存储计算机可读指令、数据结构、程序模块或其他数据等信息。
系统内存720、可移动存储设备751和非移动存储设备752均属于计算机可读存储介质的示例,并按照本发明中提及的处理算法的各种步骤所述存储信息。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储技术、CD-ROM、数字通用光盘 (DVD)或其他光存储器、盒式磁带、磁带、磁盘存储器或其他磁存储器,或者能够用于存储所需信息并能通过计算设备700进行存取的任何其他介质。任何此类计算机存储介质都是设备700的一部分,可存储处理器710执行的指令,并致使计算设备700执行一种解码封包并隐藏封包的方法,具体如本发明所示。
计算设备700也包括接口总线742,该接口总线用于促进从各种接口设备(例如输出接口、外围接口和通信接口)到基本配置701的通信,此类通信是通过总线/接口控制器740实现的。示例输出设备760包括一个图形处理单元761和一个音频处理单元762,可配置成与显示器或扬声器等各种外部设备进行通信,此类通信是通过一个或多个A/V端口763实现的。示例外围接口770包括一个串行接口控制器771或者一个并行接口控制器772,这两种接口控制器经过配置,均可与输入设备(例如,键盘、鼠标、笔、语音输入设备或接触式输入设备等)等外部设备进行通信,或其他外围设备(例如打印机或扫描仪等)的通信,此类通信是通过一个或多个I/O端口773实现的。示例通信设备780包括一个网络控制器781,对该控制器进行布置,可以促进与一个或多个其他计算设备790之间的网络通信,此类通信是通过一个或多个通信端口782实现的。这样的通信连接是通信介质的一个示例。常见的通信介质包括计算机可读指令、数据结构、程序模块或者调制数据信号形式的其他数据,比如载波或其他传输机制,还包括任何信息传递介质。“调制数据信号”可以是拥有一个或多个特征集的信号,或者可在信号中对信息进行编码,使其发生变化。举例来说,通信介质包括但不限于:有线网络或直接导线连接等有线介质,以及声频、无线电频率(RF)、红外线(IR)和其他无线介质等无线介质。本文中使用的“计算机可读介质”一词包括存储介质和通信介质。
计算设备700可以实现为小型便携式(或移动)电子设备的一部分,比如手机、个人数据助理(PDA)、个人媒体播放器设备、无线网络监视设备、个人耳机设备、特定应用设备或者具有上述任 何功能的混合型设备。计算设备700也可作为个人电脑来实现,包括手提电脑和非手提电脑配置。
系统方面的硬件和软件实现几乎没有什么区别;使用硬件还是软件通常(但并非总是如此,在某些情况下,选择硬件还是软件可能非常重要)是一种设计选择,代表了成本与效率的权衡。本文描述的流程和/或系统和/或其他技术可以借助多种媒介物(例如硬件、软件和/或固件)发挥作用,而且流程和/或系统和/或其他技术部署的环境不同,首选的媒介物也将有所不同。例如,如果实现人员确定速度和准确性是最重要的,则他可能会倾向选择硬件和/或固件媒介物;如果确定灵活性是最重要的,则可能会倾向选择软件实现;或者实现人员可能也会选择硬件、软件和/或固件的结合使用。
以上详细说明通过使用方块图、流程图和/或示例,列出了设备和/或流程的多种实施例。由于这些方块图、流程图和/或示例中包含一个或多个功能和/或操作,相关领域的人员将获得这样的理解:这些方块图、流程图或示例中的每个功能和/或操作可借助广泛的硬件、软件、固件或者三者的任意组合来单独和/或同时实现。在一个实施例中,本文描述的发明的几个部分可以通过专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)或者其他集成格式得以实现。然而,所属领域技术人员会发现,本文描述的实施例(全部或部分)的某些方面能够在集成电路中等效实现,作为在一个或多个计算机上运行的一个或多个计算机程序(例如在一个或多个计算机系统上运行的一个或多个程序)、作为在一个或多个处理器上运行的一个或多个程序(例如在一个或多个微处理器上运行的一个或多个程序)、作为固件或者作为上述形式的任意组合。所属领域技术人员还将进一步认识到,根据本发明,所属领域技术人员可以轻松地为软件和/或固件设计电路和/或编写代码。此外,所属领域技术人员将会理解到,本文描述的发明的运行机制能够作为各种形式的程序产品进行分配,而且无论用于实际执行这种分配的信号传输介质为何种类型,本文描述的发明的说明性实施例 均适用。信号传输介质的示例包括但不限于以下内容:可记录类型的介质,比如软盘、硬盘驱动器、光盘(CD)、数字视频光盘(DVD)、数字磁带和计算机存储器等;以及传输类型的介质,比如数字和/或模拟通信介质(例如光纤电缆、波导管、有线通信链路和无线通信链路等)。
所属领域技术人员将认识到,在这一领域内,以本文所述方式描述设备和/或流程,然后使用工程实践将如此描述的设备和/或流程集成到数据处理系统中,这种做法是很常见的。也就是说,本文描述的设备和/或流程中,至少有一部分可以通过合理数量的实验集成到数据处理系统中。所属领域技术人员将认识到,典型的数据处理系统通常包括一个或多个系统单元外壳;一个视频显示设备;一个易失性或非易失性存储器;微处理器和数字信号处理器等处理器;操作系统、驱动器、图形用户界面和应用程序等计算实体;一个或多个交互设备,比如触摸板或触摸屏;和/或控制系统,包括反馈回路和控制电动机(例如,针对传感位置和/或速率的反馈;用于移动和/或调整组件和/或数量的控制电动机)。典型的数据处理系统可能利用市面上可买到的适用组件来实现,比如数据计算/通信和/或网络计算/通信系统中通常使用的那些组件。
关于本文中大量使用的复数和/或单数名词,所属领域技术人员可根据上下文和/或适用情况,采用单数或复数形式。为清楚起见,本文中明确列出了各种单数/复数的变换情况。
鉴于本文已经披露了多个不同的方面和实施例,所属领域技术人员应能够触类旁通,想到其他方面和实施例。本文披露的各个方面和实施例是为了解释说明之用,而并非为了提出限制,以下权利要求指明了专利的真正范围和内在意义。
Claims (13)
1.一种对被编码为连续帧序列的音频信号进行解码的方法,该方法包括:
接收连续帧的第一帧,第一帧包括用于重建由第一帧表示的音频数据的解码参数和残余信号,其中残余信号包括音调合成滤波器和线性预测编码合成滤波器的输入,其中音调合成滤波器的输入包括低频带残留,其中线性预测编码合成滤波器的输入包括高频带残留,其中所述低频带残留是低频带脉冲串乘以浊音段的加权因子与低频带伪随机向量乘以清音段的加权因子之和,并且其中所述高频带残留是高频带脉冲串乘以浊音段的加权因子与高频带伪随机向量乘以清音段的加权因子之和;
存储第一帧中包含的残余信号;
根据存储的残余信号解码第一帧,以重建由第一帧编码的音频信号;
确定在时间上后继于第一帧的第二帧已丢失;
修改存储的残余信号;并
根据修改后的残余信号,重建由第二帧编码的音频信号的估计值。
2.根据权利要求1所述方法,其特征在于,修改存储的残余信号,具体步骤包括:
生成一个周期信号;
基于存储的残余信号生成一个彩色伪随机信号;
将周期信号和彩色伪随机信号与选定的加权因子相乘,选定的加权因子基于从存储残余信号创建的音调合成滤波器的输入信号和输出信号的能量并且基于存储残余信号的音调增益;并
计算加权后的周期信号和加权后的彩色伪随机信号的总和。
3.根据权利要求2所述方法,其特征在于,生成周期信号,具体步骤包括:
检索至少两个最近存储的音调周期;
更改各音调周期的周期性;
对各音调周期进行加权;并
对两个加权音调周期进行求和。
4.根据权利要求3所述方法,其特征在于,更改各音调周期的周期性,具体步骤包括:
对音调周期中的每个音调周期的一个或者多个音调脉冲进行重采样。
5.根据权利要求2所述方法,其特征在于,生成彩色伪随机信号,具体步骤包括:
生成一个伪随机序列;并
采用N阶全零点滤波器,按照基于之前收到的帧中先前已解码低频带残余信号的最新N个样本的系数,过滤伪随机序列。
6.根据权利要求1所述方法,其特征在于
解码参数,包括
音调增益、
音调延迟和
线性预测编码参数。
7.根据权利要求1所述方法,其特征在于
帧序列包含第一频带和明显高于第一频带之第二频带的编码信息,而且
只有第一频带的残余信号才是过滤后音调,第二频带的残余信号则不是。
8.对被编码为连续帧序列的音频信号进行解码的一种解码装置,此装置包括:
一台接收器,配置为接收连续帧的第一帧,第一帧包括用于重建由第一帧表示的音频数据的解码参数和残余信号,其中残余信号包括音调合成滤波器和线性预测编码合成滤波器的输入,其中音调合成滤波器的输入包括低频带残留,其中线性预测编码合成滤波器的输入包括高频带残留,其中所述低频带残留是低频带脉冲串乘以浊音段的加权因子与低频带伪随机向量乘以清音段的加权因子之和,并且其中所述高频带残留是高频带脉冲串乘以浊音段的加权因子与高频带伪随机向量乘以清音段的加权因子之和;
一个存储单元,用于存储第一帧中包含的残余信号;
一个解码单元,配置为根据存储的残余信号解码第一帧,以重建由第一帧编码的音频信号;
一个丢失检测器,配置为确定在时间上后继于第一帧的第二帧已丢失;
一个修改单元,配置为修改存储的残余信号;以及
一个重建单元,配置为根据修改单元所修改的存储残余信号,重建由第二帧编码的音频信号的估值。
9.根据权利要求8所述的解码装置,其特征在于,修改单元包括:
一个第一信号发生器,配置为生成一个周期信号;
一个第二信号发生器,配置为根据存储的残余信号生成一个彩色伪随机信号;
一个倍增器,用于将第一信号发生器生成的周期信号和第二信号发生器生成的彩色伪随机信号与选定的加权因子相乘,选定的加权因子基于从存储残余信号创建的音调合成滤波器的输入信号和输出信号的能量并且基于存储残余信号的音调增益;以及
一个加法器,用于对加权周期信号和加权彩色伪随机信号求和。
10.根据权利要求9所述的解码装置,其特征在于,第一信号发生器被配置为:
检索至少两个最近存储的音调周期;
更改各音调周期的周期性;
对各音调周期进行加权;并
对两个加权音调周期进行求和。
11.根据权利要求10所述的解码装置,其特征在于
第一信号发生器被配置为,通过对音调周期中的每个音调周期的一个或者多个音调脉冲进行重采样,来更改周期。
12.根据权利要求9所述的解码装置,其特征在于,第二信号发生器被配置为:
生成一个伪随机序列;并
采用N阶全零点滤波器,按照基于之前收到的帧中先前已解码低频带残余信号的最新N个样本的系数,过滤伪随机序列。
13.根据权利要求8所述的解码装置,其特征在于
解码参数,包括
音调增益、
音调延迟和
线性预测编码参数。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2011/036662 WO2012158159A1 (en) | 2011-05-16 | 2011-05-16 | Packet loss concealment for audio codec |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103688306A CN103688306A (zh) | 2014-03-26 |
CN103688306B true CN103688306B (zh) | 2017-05-17 |
Family
ID=44626536
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201180072349.0A Active CN103688306B (zh) | 2011-05-16 | 2011-05-16 | 对被编码为连续帧序列的音频信号进行解码的方法和装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN103688306B (zh) |
WO (1) | WO2012158159A1 (zh) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102238376B1 (ko) | 2013-02-05 | 2021-04-08 | 텔레폰악티에볼라겟엘엠에릭슨(펍) | 오디오 프레임 손실 은폐를 제어하기 위한 방법 및 장치 |
AU2014283393A1 (en) | 2013-06-21 | 2016-02-04 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Apparatus and method for improved concealment of the adaptive codebook in ACELP-like concealment employing improved pitch lag estimation |
PL3011555T3 (pl) | 2013-06-21 | 2018-09-28 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Rekonstrukcja ramki sygnału mowy |
CN104347076B (zh) * | 2013-08-09 | 2017-07-14 | 中国电信股份有限公司 | 网络音频丢包掩蔽方法和装置 |
CN104751849B (zh) | 2013-12-31 | 2017-04-19 | 华为技术有限公司 | 语音频码流的解码方法及装置 |
EP2922054A1 (en) | 2014-03-19 | 2015-09-23 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Apparatus, method and corresponding computer program for generating an error concealment signal using an adaptive noise estimation |
EP2922056A1 (en) | 2014-03-19 | 2015-09-23 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Apparatus, method and corresponding computer program for generating an error concealment signal using power compensation |
EP2922055A1 (en) * | 2014-03-19 | 2015-09-23 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Apparatus, method and corresponding computer program for generating an error concealment signal using individual replacement LPC representations for individual codebook information |
CN107369453B (zh) | 2014-03-21 | 2021-04-20 | 华为技术有限公司 | 语音频码流的解码方法及装置 |
NO2780522T3 (zh) * | 2014-05-15 | 2018-06-09 | ||
CN104021792B (zh) * | 2014-06-10 | 2016-10-26 | 中国电子科技集团公司第三十研究所 | 一种语音丢包隐藏方法及其系统 |
EP3777883A1 (en) | 2014-11-13 | 2021-02-17 | Evaxion Biotech ApS | Peptides derived from acinetobacter baumannii and their use in vaccination |
CN106788876B (zh) * | 2015-11-19 | 2020-01-21 | 电信科学技术研究院 | 一种语音丢包补偿的方法及系统 |
CN111383643B (zh) * | 2018-12-28 | 2023-07-04 | 南京中感微电子有限公司 | 一种音频丢包隐藏方法、装置及蓝牙接收机 |
CN111402905B (zh) * | 2018-12-28 | 2023-05-26 | 南京中感微电子有限公司 | 音频数据恢复方法、装置及蓝牙设备 |
WO2020164751A1 (en) * | 2019-02-13 | 2020-08-20 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Decoder and decoding method for lc3 concealment including full frame loss concealment and partial frame loss concealment |
CN112908346B (zh) * | 2019-11-19 | 2023-04-25 | 中国移动通信集团山东有限公司 | 丢包恢复方法及装置、电子设备和计算机可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1724756A2 (en) * | 2005-05-20 | 2006-11-22 | Broadcom Corporation | Packet loss concealment for block-independent speech codecs |
CN101136203A (zh) * | 2006-08-31 | 2008-03-05 | 索尼株式会社 | 信号处理设备、方法、记录介质和程序 |
CN101261833A (zh) * | 2008-01-24 | 2008-09-10 | 清华大学 | 一种使用正弦模型进行音频错误隐藏处理的方法 |
CN101268506A (zh) * | 2005-09-01 | 2008-09-17 | 艾利森电话股份有限公司 | 处理编码实时数据 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008022184A2 (en) * | 2006-08-15 | 2008-02-21 | Broadcom Corporation | Constrained and controlled decoding after packet loss |
-
2011
- 2011-05-16 WO PCT/US2011/036662 patent/WO2012158159A1/en active Application Filing
- 2011-05-16 CN CN201180072349.0A patent/CN103688306B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1724756A2 (en) * | 2005-05-20 | 2006-11-22 | Broadcom Corporation | Packet loss concealment for block-independent speech codecs |
CN101268506A (zh) * | 2005-09-01 | 2008-09-17 | 艾利森电话股份有限公司 | 处理编码实时数据 |
CN101136203A (zh) * | 2006-08-31 | 2008-03-05 | 索尼株式会社 | 信号处理设备、方法、记录介质和程序 |
CN101261833A (zh) * | 2008-01-24 | 2008-09-10 | 清华大学 | 一种使用正弦模型进行音频错误隐藏处理的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103688306A (zh) | 2014-03-26 |
WO2012158159A1 (en) | 2012-11-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103688306B (zh) | 对被编码为连续帧序列的音频信号进行解码的方法和装置 | |
TW497335B (en) | Method and apparatus for variable rate coding of speech | |
JP5373217B2 (ja) | 可変レートスピーチ符号化 | |
CN101681627B (zh) | 使用音调规则化及非音调规则化译码的信号编码方法及设备 | |
Dutoit et al. | Applied Signal Processing: A MATLABTM-based proof of concept | |
TW202111692A (zh) | 基於人工智慧的音訊編碼 | |
TW200935402A (en) | Scalable speech and audio encoding using combinatorial encoding of MDCT spectrum | |
TW201250671A (en) | Audio codec using noise synthesis during inactive phases | |
CN106575509A (zh) | 谐波滤波器工具的谐度依赖控制 | |
Ogunfunmi et al. | Principles of speech coding | |
CN106575505A (zh) | Fd/lpd转换环境中的帧丢失管理 | |
CN111554309A (zh) | 一种语音处理方法、装置、设备及存储介质 | |
JP4008607B2 (ja) | 音声符号化/復号化方法 | |
CN1104010A (zh) | 产生用于话音编码器的频谱噪音加权滤波器的方法 | |
CN101171626A (zh) | 通过修改残余对声码器内的帧进行时间扭曲 | |
JP3095133B2 (ja) | 音響信号符号化方法 | |
Gueham et al. | Packet loss concealment method based on interpolation in packet voice coding | |
Anees | Speech coding techniques and challenges: a comprehensive literature survey | |
JP3338074B2 (ja) | 音声伝送方式 | |
Possemiers et al. | Evaluating deep learned voice compression for use in video games | |
JP2000514207A (ja) | 音声合成システム | |
EP2589045A1 (fr) | Codage/décodage prédictif linéaire adaptatif | |
Kim et al. | On a Reduction of Pitch Searching Time by Preliminary Pitch in the CELP Vocoder | |
CN1159044A (zh) | 声音编码装置 | |
JP2003323200A (ja) | 音声符号化のための線形予測係数の勾配降下最適化 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder | ||
CP01 | Change in the name or title of a patent holder |
Address after: American California Patentee after: Google limited liability company Address before: American California Patentee before: Google Inc. |