CN1064768C - 在无线通信系统中用于传输误差隐蔽的方法和装置 - Google Patents

在无线通信系统中用于传输误差隐蔽的方法和装置 Download PDF

Info

Publication number
CN1064768C
CN1064768C CN94190354A CN94190354A CN1064768C CN 1064768 C CN1064768 C CN 1064768C CN 94190354 A CN94190354 A CN 94190354A CN 94190354 A CN94190354 A CN 94190354A CN 1064768 C CN1064768 C CN 1064768C
Authority
CN
China
Prior art keywords
frame
unacceptable
renewal
filtering parameter
voice
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.)
Expired - Fee Related
Application number
CN94190354A
Other languages
English (en)
Other versions
CN1110486A (zh
Inventor
K·T·韦格伦
R·A·伯格斯特龙
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.)
Telefonaktiebolaget LM Ericsson AB
Original Assignee
Telefonaktiebolaget LM Ericsson AB
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 Telefonaktiebolaget LM Ericsson AB filed Critical Telefonaktiebolaget LM Ericsson AB
Publication of CN1110486A publication Critical patent/CN1110486A/zh
Application granted granted Critical
Publication of CN1064768C publication Critical patent/CN1064768C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech 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/005Correction of errors induced by the transmission channel, if related to the coding algorithm
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/78Detection of presence or absence of voice signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Computational Linguistics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Transmission Systems Not Characterized By The Medium Used For Transmission (AREA)
  • Error Detection And Correction (AREA)
  • Compositions Of Macromolecular Compounds (AREA)

Abstract

以帧为基本传输单元的无线电通系统的一种接收机,具有一个源滤波器式的语音解码器,该解码器由一个内部状态变量逐帧加以更新用以调节所收到的表示在通信信道上传输的背景音的滤波参数的装置(20,22,24)。接收机包括:用以检测含传输误差的帧的装置(12,13,14),用以判定检测出有传输误差的帧是否可以接受的装置(16)和用以通过在判定装置宣判所检测出的帧为不可接受时限制对至少一个内部状态变量更新将检测出的传输误差隐蔽起来的装置(18)。

Description

在无线通信系统中用于传输误差隐蔽的方法和装置
技术领域
本发明涉及无线电通信系统中传输误差的隐蔽,更具体地说,涉及改进这类系统中背景音解码过程的一种设备和方法。
发明背景
瑞典专利申请9300290-5和9301798-6中介绍过改进背景音的编码/解码、主要供数字蜂房式电话系统用的装置。这些装置主要是为处理语音编码器和语音解码器之间的联系接近理想的情况而设计的,其意义在于,经信道解码之后,只剩下小量的误码或传输误差。但由于联系是通过无线电信道建立起来的,因而收到的信号可能含有某些误码或传输误差。在此情况下,可能需要修改上述瑞典专利申请中所述的方法。
本发明的目标是一种将所谓误差隐蔽应用到所收到信号以便使语音解码过程便能不受传输误差的影响或对传输误差不敏感的设备和方法。
发明简介
按照本发明,上述目标是通过以帧为基本传输单元的无线电通信系统的接收机中的一种用以隐蔽语音解码器中因通信信道引起的传输误差的设备达到的,所述语音解码器是源滤波式解码器,由包含逐帧加以更新用以调节所收到的表示在所述通信信道上传输的背景音的滤波参数的内状态变量的装置控制,所述设备的特征在于,它包括下列装置:
(a)帧检测装置,用以检测含有传输误差的帧;
(b)判定装置,用以判定所检测出有传输误差的帧是否可以接受;
(c)传输误差隐蔽装置,用以在所述判定装置宣判所述检测出的帧为不可接受时通过限定对起码其中一个所述内状态变量的更新过程将所述检测出的传输误差隐蔽起来。
此外,按照本发明,上述目的是还通过以帧为基本传输单元的无线电通信系统的接收机中用以隐蔽语音解码器中因通信信道引起的传输误差的一种方法达到的,所述语音解码器是源滤波式的,且有一个包含逐帧加以更用以调节所收到的表示在所述通信信道上传输的背景音的滤波参数的内状态变量的装置,所述方法的特征在于,它包括下列步骤:
(a)检测含传输误差的帧;
(b)判定所检测出有传输误差的帧是否可以接受;
(c)在所述判定步骤中所述检测出的帧被宣判为不可接受时,通过限定对至少其中一个所述内状态变量的更新过程将所述检测出的传输误差隐蔽起来。
参看附图阅读下面的说明可以最清楚地了解本发明连同其它目的和优点。附图是无线电通信系统中装有本发明的设备的接收机各有关部分的原理方框图。
最佳实施例的详细说明
为理解本发明的工作情况,简单复习一下一般数字蜂房式无线电联系过程、一般误差隐蔽方法并参阅一下上述瑞典专利申请的一些算法还是有好处的。
在数字蜂房式电话系统的通信链路中,通常是先将声信号数字化,然后应用语音编码算法(参看例如B.S.Aral,V.Cuperman和A.Gersho,等人著的Kluwer学术出版社1991年出版的《语音编码进展》一书)。该算法将语音信号压缩并变换成一系列经量化的参数(通常以帧为基本单元进宪)。这之后用信道编码法加上编码冗余码保护得出的二进制位(参看例如G.C.Clark和J.B.Cain著的Penim出版社1981年出版的《数字通信的纠错编码》一书加以保护。接着对得出的位流进行调制(参看例如J.G.Proakis著的Mc Graw-Hill 1989年第二版的《数字通信》一书)并用例如TDMA(时分多址联接)方法传输。信号在接收处经过解调。可能有的时间或多经扩散可用各种不同的均衡法抵消,例如维持比均衡法或判定反包馈均衡法(参看例如上述J.G.Proakis著的书)。然后用信道解码(参看例如上述G.C.Clark和J.B.Cain写的书)对形成语音解码器重现所传输的语音信号所需的经量化的参数的各二进制位进行解调。显然从以上的论述可知,传输信道上的干扰会影响再现的语音信号,从而降低信号的质量。
虽然信道编/解码法可大大减小对干扰的敏感程度,但通常在数字蜂房式系统中只应用信道编码是不够的。相反,极普遍的作法是还采用所谓误差隐蔽法进一步隐蔽残留在语音解码器输入端处误码感觉得出的影响。这些方法都依靠一些关于传输信道质量的信息,这些信息可在接收端得出或估出。当这种信息表明传输信道的质量差时,误差隐蔽法就在语音解码器中作发特殊处理,其目的在于减小误码对再生语音信号的负面影响。误差隐蔽法的成功程度取决于关于传输信道质量的信息的性质。现在谈谈获取这种信息的方法。
有关信道质量的直接信息可以通过测定信号强度获取。信号强度值低表明信噪比低,从而可以预料信道的质量差。信道编码法还有其更高的先进性。其中一种方法采用冗余信道编码,例如,循环冗余码检验(CRC)(参看例如上述G.C.lark和J.B.Cain的参考文献),特别是用编码检错时。此外,还可以从卷积解码器(在采用卷积码的情况下)、解调器、均衡器、和/或分组码解码器(参看列如上述J.G.Proakis的参考文献)获取“软”(非二进制量化的)信息。经常使用的一个方法是将来自语音编码器的信息位分成几种不同的类别,各类别都有不同的纠错/检错方法,从而反映出了不同二进制位的重要程度(参看例如“TR-45全价编码器兼容性标准PN-2972”电子工业协会,1990(IS-54)。这样就可以用信息加有检错/纠错误的各部分作为语音帧中可能出现误码的指示。
现在简单介绍在一般语音解码器运用误差隐蔽以隐藏被认为含有误码的语音帧的一些方法。检测出坏帧时,通常是使用上一个已被接受的语音帧的信息。万一坏帧情况持续若干帧之久,则这种方法往往与噪声抑制(降低输出电平)结合起来使用(参看例如“TR-45全价语音编解码器兼容性标准PN-2972”,电子工业协会,1990(IS-54))。这种情况在移动电话系统中并非罕见,在移动速度低时,波动衰落现象会持续相当长的一段时间。噪声抑制的效果是干扰被隐藏到再现信号中。特别是避免了响亮的“喀呖”声。可获得更详细的有关各收到的输入二进制位质量的信息时,就可以从可能出现的传输误差追究到语音解码器的某些参数。鉴于所述诸参数模拟出各种不同的语音现象,因而可以研究出最适合各持定参数物理意义的误差隐蔽法。这方面的一个具体实施例有所谓音调增益(参看例如T.B.minde等人写的《采用长分析帧的低位速率语音编码技术》美国明尼阿波利斯ICASSP,1993年版)。在语音瞬态期期间,这个参数有时需要大于1的值。但这个值确实对应于不稳定的滤波器模型,就是说用它可能有点危险。特别是以运用每当检测出该参数中可能的误码时限定音调增益的误差隐蔽法为宜。另一个实例是现代语音编码算法中常用的频谱滤波模型(参看例如上述T.B.minde等人的参考文献)。在该情况下,误码差隐蔽法可用来在相应的频谱信息中表现出有误码存在时避免使用不稳定的滤波器。倒过来说也是成立的,即每当检测出滤波器不稳定时,可以表明帧是坏的,因而可以使用误差隐蔽法。
在上述背景资料的基础上,现在参看图1说明本发明的内容。图1示出说明本发明时需要的移动无线电通信系统中接收机的各组成部分。天线10接收传来的信号,将其传送到解调器12。解调器12将收到的信号解调,将其传送到均衡器13(例如维持比均衡器),由均衡器13将所述收到经解调的信号转换成一个或若干位流,传送到信道解码器14。解调器12和均衡器13还将关于所收到的二进制位或符号的“软”信息传送给判定装置16。信道解码器14将二进制流转换成语音解码用的滤波参数流和激励参数流。此外,信道解码器14还对起码一部分收到的各帧进行循环冗余码校验(CRC)。校验结果传送给判定装置16。
接收机还装有语音检测器20(也叫做话音活动检测器或VAD)。语音检测器20根据所述滤波和激励参数确定收到的帧中主要含语音声抑或背景音。语音检测器20的判断结果传送给信号鉴别器22,由该鉴别器应用某些激励参数确定所收到的表示背景音的信号是否静止。若帧被宣称为含有静止背景音,则信号鉴别器22的输出控制参数调节器24调节所收到的滤波参数。瑞典专利申请9300290-5详细介绍了这种调节过程,这里也把该专利包括进来,以供参考。此外,瑞典专利申9301798-6中介绍了信号鉴别器22的静止性检测过程以及语音检测器20、信号鉴别器22和参数调节器24三者之间的相互作用,这里也把该专利包括进来以供参考。可能有的经调节的滤波参数(若收到的信号表示静止背景音)和激励参数都传送到语音解码器26,由语音解码器26在输出线路28上输出声信号。
为了说明本发明的误差隐蔽法,需要简单介绍一下误码对上述两个瑞典专利申请中的所谓反混乱(anit-swirling)算法的影响。这些影响大致可划分如下:
1.用来控制反混乱算法的话音活动或语音检测器20通常是自适应性的(“话音活动检测”GSM 06.32建议,FTSI/,1991)。这就是说,有一些阈值和相应的状态能在话音活动检测器中用测出的语音信号或应用到这里提到的接收机时为来自信道解码器、经解码的参数自动内部更新。进来的参数中有误差时会产生不适当更新的阈值或内状态参数,这些阈值或参数可能会导致判定错误。其后果可能是降低再现信号的质量。
2.话音活动或误音检测器20应用进来的滤波和激励参数并应用内部更新状态(即旧的进来的参数和另外的先验信息)来判定语音/背景音。于是错码就可能会导致该接收机内即刻作出错误的判定,从而使再现声信号的质量下降。此外,由于当前的判定也取决于旧的进来的参数,因而误差也可能影响未来的判定结果。
3.信号鉴别器22(这在本发明的最佳实施例中是系统的一部分)探查进来的统计瞬时,最好是表示各帧平均信号能的能量值。给一个或若干个缓冲器中的现行帧和旧帧都需要存储这些大量的能量(详细情况上述瑞典专利申请9301798-6中有介绍)。若这些进来的能量中有误差,这些误差也会存入各缓冲器中。从而使错误判定持续很长一段时间。其后果可能会使再现背景音信号的质量下降。
4.一些用来在背景音信号静止的情况下反混乱措施在发生因误码而导致的错误判定时在若干方面受损。由此带来的其中一个影响是语音在错检静止背景音且开始采取反混乱措施时遭破坏。这时也会产生相反的错误判定(在当真有静止背景音出现时为语音),从而使背景音的性能瞬时改变,这是有点令人困扰的。此外,在表示语音/静止背景音的判定之间反复转换也是我们所不希望有的,因为时间常数在该两状态之间的转移过程中却是在起作用的。若由于误码而产生过度转换的情况。则将是令人感到非常困扰的。
5.参数调节器24中的实际反混乱行动(主要是频谱低通滤波和带宽扩展的混合作用,如上述瑞典专利申请9300290-5中所详述的那样)受误码的损害。其中一个影响是因语音或话音活动检测器20或信号鉴别器22作出的错误判定引起的。在这些情况下,可能会开始进行或中止对低通滤波器的更新。从而与完善信道的情况相比会多了一个偏差。另一个影响是在有影响着馈给低通滤波器的频谱信息和带宽扩展的误码时间生的。这两个影响都会使质量下降。
6.语音解码器26(只要有的话)具有与上述第5项所述类似的问题。此外,所谓频谱波动在感觉上也是极其敏感的问题,且由于它可通过反混乱加以控制,因而误会使再现的语音信号的质量大幅度下降。
7.上述诸影响可能会同时起作用且彼此相互影响。举例说,语音检测器20中错误的判定可能会促使缓冲器停止对信号鉴别器22进行的更新。这反过来又会影响信号鉴别器22一段很长的时间,从而降低反回荡作用的质量。
从上面的讨论可知,传输误差会导致对语音检测器20、信号鉴别器22、参数调节器24或这些器件组合在一起的内部变量的不正确更新。按照本发明,这些问题是通过修正在检测出传输误差的各帧期间的更新过程加以减少或解决的。现在更详细地说明这个经修正的更新过程。
判定装置16接收来自解调器12和均衡器13关于二进制位可靠性的“软”信息和来自信道解码器14的CRC检验结果。于是判定装置16(根据“软信息”)确定已产生或可能产生误码。此外还判定可能有的误码会影响滤波或激励参数。若情况果真如此,且若这些误码出现在大大影响误音检测器20、信号鉴别器22或参数调节器24的各参数,由相应的信号就传送到隐蔽装置18。这可能是对应于帧能量的参数含有一个或多个误码的情况。
视乎含误码的该参数而定,隐蔽装置18能控制对应于语音检测器20、信号鉴别器22和参数调节器24中各内部状态变量的更新过程,如图中控制线30、32和34分别示出的那样。这些修正包括:
-检测出坏帧时,停止更新语音检测器20的内部状态变量(例如阈值)。这意味意,语音检测器20的内部变量锁定到与上一帧相同的值上,或者这些状态变量的更新受到限制(状态变量只能按小于一般量的量更新)。
-另一项措施是在检测出含传输误差、不能加以接受的帧时,将语音检测器20中作出的判定锁定到根据上一帧作出的判定上。
-若检测出在与静止性判定有关的激励参数中含传输误差、不能加以接收的帧,则停止或限制对信号鉴别器22中各缓冲器的更新。
-另一个可能的作法是将信号鉴别器22的判定锁定到对上一帧的判定上。
-若所收到的帧含有以含频谱信息的二进制位传输误差,则可以停止或限制对控制着低通滤波和/或带宽扩展的参数调节器24的内滤波系数的更新过程。
-可能有的后置滤波器的频谱波动可锁定到上一帧的波动上。
-鉴于收到的参数不同,其所影响的图1中的方框(语音检测器20、信号鉴别器22、参数调节器24和可能有的后置滤波器)也同,因而可以理解,根据误码是在所收到帧的何部位检测出可以采取的一个或若干个这些措施。
从上述讨论中还可以知道,若传输误差出现在连续各帧的某些收到的参数中,则接收机相应方框的相应内部状态变量会锁定到(或基本上锁定到)其在最迟收到的相应参数在其中正确收到的帧中的值上。
本说明书附录中的两个PASCAL程序模块详细举例说明了本发明方法的一个最佳实施例。
本技术领域的行家们都知道,在不脱离本发明精神实质和本说明书所附权利要求书中所述的本发明范围的前提下,是可以对本发明作种种修改和更改的。
附录[INHERIT(‘spdSdef’)]MODULE vad_dtx_rx(input,output);
       CONST
                  nr_sub_blocks     =      4;
                  nr_acf_lags_in    =      0;
                  nr_acf_lags_used  =      8;
                  burstconst        =      3;
                  hangconst         =      5;
                  frames_avO        =      4;
       VAR
                  adaptcount      :  [STATIC] INTEGER;    {For threshold}
                  thvad           :  [STATIC] DOUBLE;     {For threshold}
                  rvad            :  [STATIC] ARRAY [0..nr_acf_lags_used]
                                              OF REAL;
                  burstcount      :  [STATIC] INTEGER;    {For overhang}
                  hangcount       :  [STATIC] INTEGER;    {For overhang}
                  n               :  [STATIC] ARRAY [-1..nr_sub_blocks-1]
                                              OF INTEGER;
                  last_dm         :  [STATIC] REAL;        {For VAD}
                  old_lag_count        :  [STATIC] INTEGER;
                  very_old_lag_count   :  [STATIC] INTEGER;
                  thresh               :  [STATIC] REAL;
                  lthresh              :  [STATIC] INTEGER;
                  nthresh              :  [STATIC] INTEGER;
                  acf_old,avO          :  [STATIC] ARRAY [-frames_av0..0,
                                                   0..nr_acf_lags_used]
                                                   OF REAL;
                  aavl,ravl,avl    :  [STATIC] ARRAY [0..nr_acf_lags_used]
                                               OF REAL;      elapsed_frames      :  [STATIC] INTEGER;
      sp_hangover         :  [STATIC] INTEGER;
      speech_dtx          :  [STATIC] BOOLEAN;
      sp_old              :  [STATIC] BOOLEAN;
PROCEDURE schur_pas (acf:ARRAY[A1..A2:INTEGER]OF REAL;
                 VAR rc:ARRAY[B1..B2:INTEGER]OF
                        REAL;
                 mdim:INTEGER);EXTERNAL;PROCEDURE stepup_pas(rc:ARRAY[A1..A2:INTEGER]OF REAL;
                 VAR a:ARRAY [B1..B2:INTEGER]OF
                       REAL;
                 mdim:INTEGER);EXTERNAL;PROCEDURE Flstat det rx(pow:REAL;
                    sp_l:BOOLEAN;
                    VAR sp:BOOLEAN);EXTERNAL;PROCEDURE Flstat der rx init;EXTERNAL;
[GLOBAL]PROCEDURE FLvad_init;          {MUST be called from start}
  VAR
      i,j:INTEGER;BEGIN
        {threshold}adaptcount:=O;thvad:=1000000;rvad[0]:=6;rvad[1]:=-4;     rvad[2]:=1;
     FOR i:=3 TO nr_acf_lags_used DO BEGIN
         rvad[i]:=0;
     END;
                  {end threshold}
                  {vad}
     old_lag_count:=0;
     very_old_lag_count:=0;
     n[3]:=19;
     hangcount:=-1;
     burstcount:=0;
     last_dm:=0;
     thresh:=0.05;
     lthresh:=2;
     nthresh:=4;
     FOR i:=-frames_avO TO -1 DO BEGIN
         FOR j:=0 TO nr_acf_lags_used DO BEGIN
              acf_old[i,j]:=0;
              av0[i,j]:=0;
         END;
     END;
                   {end vad}
      elapsed_frames:=24;
      sp_hangover := 0;
      speech_dtx:=TRUE;
      sp_old:=TRUE;
      Flstat det rx init;
END;      {init_vad_dtx}
PROCEDURE vad thresh (                                           acf0 : REAL;                      {Input}
                                           ravl : ARRAY[A1..A2:INTEGER]
                                                  OF REAL;                   {Input}
                                           stat : BOOLEAN;                   {Input}
                                           ptch : BOOLEAN;                    {Input}
                                           pvad : DOUBLE                      {Output}
                         );
     {Common variables used:(all output)
         adaptcount    initially set to          0
         thvad         initially set to  1000000
          rvad         initially set to    rvad[0]:6
                                           rvad [1]:-4
                                           rvad[2]:1
                                           rvad[3-8]:0}
     CONST
                pth     =   300000;
                plev    =   800000;
                fac     =        3;
                adp     =        8;
                inc     =       16;
                dec     =       32;
                margin  =  80000000;
      VAR
                 i      : INTEGER;BEGIN
      IF acfO<pth  THEN BEGIN
           thvad:=plev;     END ELSE BEGIN
                IF NOT (stat AND NOT ptch) THEN BEGIN
                    adaptcount:=0;
                END ELSE BEGIN
                     adaptcount:=adaptcount+1;
                     IF adaptcount>adp THEN BEGIN
                        thvad:=thvad-thvad/dec;
                        IF thvad<pvad*fac THEN BEGIN
                              thvad:=MIN(
                                 thvad+thvad/inc,
                                  pvad*fac);
                        END;
                        IF thvad>pvad+margin THEN BEGIN
                             thvad:=pvad+margin;
                        END;
                        FOR i:=0 TO nr_acf_lags_used DO
                                                 BEGIN
                             rvad[i]:=ravl[i];
                        END;
                                      adaptcount := adp + 1;
                   END;
              END;
      END;END;    {Procedure}PROCEDURE FLvad_rx_1(
          acf_in:realACFType;                 {Input}
          ltp_lags:integersubframeltptype;    {Input}
          VAR vad:BOOLEAN);                   {Output}
    {Common variables used:
           n[-1..3]          :ltp lags  Input/Output                oldlagcount           :               Input/Output
                veryoldlagcount       :               Input/Output
                thvad                 :threshold}
     VAR
                ptch,
                wad,
                stat                  : BOOLEAN;
                lag_count,
                smallag,
                i,j,k                 : INTEGER;
                acf0,
                dm,difference         : REAL;
                pvad                  : DOUBLE;
                rc                    : ARRAY[1..nr_acf_lags_used]
                                        OF REAL;BEGIN
      n[-1]:=n[3];
      FOR i:=0 TO 3 DO BEGIN
         n[i]:=ltp_lags[i];
       END;
       FOR i:=-frames av0 TO -1 DO BEGIN
           FOR k:=0 TO nr_acf_lags_used DO BEGIN
               acf_old[i,k]:=acf_old[i+l,k];
               avO[i,k]:=av0[i+l,k];
            END;
      END;
      FOR k:=0 TO nr_acf_lags_used DO BEGIN
          acf_old[0,k]:=acf_in[k];END;{Adaptive filtering and energy computation.}pvad:=rvad[0]*acf_old[0,0];FOR k:=1 TO nr_acf_lags_used DO BEGIN
 pvad:=pvad+2.0*rvad[k]*acf_old[0,k];END;{ACF averaging}FOR k:=0 TO nr_acf_lags_used DO BEGINav0[0,k]:=0;FOR j:=0 TO frames_av0-1 DO BEGIN
   av0[0,k]:=av0[0,k]+acf_old[-j,k];END;avl[k]:=av0[-frames_av0,k];END;{Solve the equations system}schur_pas(avl,rc,nr_acf_lags_used);stepup_pas(rc,aavl,nr_acf_lags_used);FOR i:=0 TO nr_acf_lags_used DO BEGIN
ravl[i]:=0;
FOR k:=0 TO nr_acf_lags_used-i DO BEGIN
    ravl[i]:=ravl[i]+aavl[k]*aavl[k+i];
 END;END;IF av0[0,0]<=0 THEN BEGIN
  dm:=0;END ELSE BEGIN
  dm:=ravl[0]*av0[0,0];
  FOR i:=1 TO nr_acf_lags_used DO BEGIN
      dm:=dm+2*ravl[i]*av0[0,i];
  END;      dm:=dm/avO[0,O];END;difference:=dm-last_dm;stat:=ABS(difference)<thresh;last dm:=dm;
    _ptch:=((old_lag_count+very_old_lag_count)>=nthresh);acf0:=acf_in[0];vad thresh(acfO,ravl,stat,ptch,pvad);
vvad:=(pvad>thvad);IF vvad THEN BEGIN
 burstcount:=burstcount+1;END ELSE BEGIN
 burstcount:=O;END;IF burstcount>=burstconst THEN BEGIN
 hangcount:=hangconst;
 burstcount:=burstconst;END;vad:=vvad OR(hangcount>=0);IF hangcount>=0 THEN BEGIN
 hangcount:=hangcount-1;END;lap_count:=O;FOR j:=0 TO 3 DO BEGIN
 IF n[j]>19 THEN BEGIN
     smallag:=MAX(n[j],n[j-1])MOD
              MIN(n[j],n[j-1]);
     IF MIN(smallag,MIN(n[j],n[j-1])-smallag)<
        lthresh THEN BEGIN
         lag_count:=lap_count+1;
     END;            END;
      END;
      very_old_lag_count:=old_lag_count;
      old_lag_count:=lag_count;END;PROCEDURE FLdtx hand rx 1(vad:BOOLEAN;           {Input}
                      VAR  sp:BOOLEAN);      {Output}BEGIN
       IF elapsed_frames<24 THEN BEGIN
           elapsed_frames:=elapsed_frames+1;
       END;
       IF speech_dtx THEN BEGIN
             IF vad THEN BEGIN
                  sp:=TRUE;
             END ELSE BEGIN
                  sp_hangover:=1;
                  IF elapsed_frames=23 THEN BEGIN
                       elapsed_frames:=22;
                  END;
                  sp:=(elapsed_frames>23);
                  speech_dtx:=FALSE;
                  END;
       END ELSE BEGIN
             IF vad THEN BEGIN
                 sp:=TRUE;
                 speech_dtx:=TRUE;
              END ELSE BEGIN                           IF sp_hangover<5 THEN BEGIN
                                 sp_hangover:=sp_hangover+1;
                                 IF elapsed_frames=23 THEN BEGIN
                                      elapsed_frames:=22;
                                 END;
                           END;
                           IF sp_hangover>4 THEN BEGIN
                                elapsed_frames:=0;
                                sp:=FALSE;
                           END ELSE BEGIN
                                sp:=(elapsed_frames>23);
                       END;
                 END;
      END;END;[GLOBAL]PROCEDURE FLvad rx(
    acf in:realACFType;                   {Input}
    ltp_lags:integersubframeltptype;      {Input}
    FlbadQuality:BOOLEAN;                 {Input}
    VAR  sp:BOOLEAN);                     {Output]
 VAR
        vad:BOOLEAN;
        spl:BOOLEAN;BEGIN
   IF NOT FLbadQuality THEN BEGIN
       FLvad_rx_1(acf_in,ltp_lags,vad);
       FLdtx_hand_rx_1(vad,spl);
       FLstat_det_rx(acf_in[0],spl,sp);
       IF NOT use stat det THEN BEGIN                                      sp:=spl;
                           END;
                           sp_old:=sp;
                 END ELSE BEGIN
                           sp:=sp_old;
               END;
       END;END.[INHERIT(‘spdSdef’)]MODULE as_actions_rx(input,output);
       {“Global”(for the module)variables}
       VAR
           FLfilter_filter_state    : [STATIC]realArraylOType;
           FLfilter_filter_coeff    : [STATIC]REAL;
           FLfilter_filter_gain     : [STATIC]REAL;
           FLfilter_post_state      : [STATIC]realArrayl0Type;
           FLfilter_post_coeff      : [STATIC]REAL;
           FLfilter_post_gain       : [STATIC]REAL;
           FLfilter_my_state        : [STATIC]REAL;
           FLfilter_my_coeff        : [STATIC]REAL;
           FLfilter_my_gain         : [STATIC]REAL;
           FLexpand_factor          : [STATIC]REAL;
           first_sp                 : [STATIC]BOOLEAN;
      {External routines}
       PROCEDURE stepdn_unstable_special_pas(
                        a           :realArraylOType;         {Input}
                     VAR rc         :RealArrayl0Type;         {Output}
                     VAR unstable   :BOOLEAN);                {Output}
       EXTERNAL;PROCEDURE stepdn_special_pas(
            a           :realArrayl0Type;        {Input}
         VAR rc         :RealArrayl0Type);       {Output}EXTERNAL;PROCEDURE FLpostCoeffCalculation(
      ZFLacfW                 :realACFType;
 VAR  ZFLetaCurr              :realArraylOType);EXTERNAL;PROCEDURE FLcalculateACF(
      FLalphaCurr    :realArraylOType;
 VAR  FLacfW         :realACFType);EXTERNAL;PROCEDURE FLcalculateautocorrfunction(
      FLalphaCurr     :realArraylOType;
 VAR  FLacfW          : realACFType);EXTERNAL;[GLOBAL]PROCEDURE FLas actions rx init;
      {MUST be called first to initilize}
      {some things.}
  VAR
       m    :INTEGER;
       {NOTE FLbw_exp is transferred as COMMON}BEGIN
 FOR m:=1 TO nrCoeff DO BEGIN
     FLfilter_filter_state[m]:=0;
     FLfilter_post_state[m]:=O;
 END;     FLfilter_my_state:=0;
     first_sp:=TRUE;
     {The following could be placed in ROM}
     FLfilter_filter_coeff:=EXP(-1.0/(4.0*50.0));
     FLfilter_my_coeff:=EXP(-1.0/(0.25*50.0));
     FLfilter_post_coeff:=FLfilter_my_coeff;
     FLfilter_filter_gain:=1-FLfilter_filter_coeff;
     FLfilter_post_gain:=1-FLfilter_post_coeff;
     FLfilter_my_gain:=1-FLfilter_my_coeff;
     IF FLbw_exp>=0 THEN BEGIN
        FLexpand_fector:=EXP(-FLpi*FLbw_exp/8000.0);
     END ELSE BEGIN
        FLexpand_factor:=1;
     END;
     {FLexpand_factor:=EXP(-FLpi*100.0/8000.0);}
     {FLexpand_factor:=EXP(-FLpi*400.0/8000.0);} {###}
     {###}
     WRITELN(‘FLfilter_filter_coeff:’,FLfilter_filter_coeff);
     WRITELN(‘FLfilter_filter_gain:’,FLfilter_filter_gain);
     WRITELN(‘FLfilter_my_coeff:’,FLfilter_my_coeff);
     WRITELN(‘FLfilter_my_gain:’,FLfilter_my_gain);
     WRITELN(‘FLfilter_post_coeff:’,FLfilter_post_coeff);
     WRITELN(‘FLfilter_post_gain:’,FLfilter_post_gain);
     WRITELN(‘FLbw_exp:’,FLbw_exp);
     WRITELN(‘FLexpand_factor:’,FLexpand_factor);
     WRITELN(‘FLv_post:’,FLv_post);
    {###}END;[GLOBAL]PROCEDURE FLas_actions_rx(
      sp             :BOOLEAN;                 {In}
      FLa_in         :realArraylOType;         {In}
      FLrc_in        :realArraylOType;         {In}
      FLbadQuality   :BOOLEAN;                 {In}VAR    FLa_pres       :realArraylOType;         {Out}VAR    FLrc_pres      :realArraylOType;         {Out}VAR    FLa_post_pres  :realArraylOType;         {Out}VAR    FLetacurr      :realArraylOType;         {In/Out}VAR    FLmy_use       :REAL);                   {Out}VAR
      m          :INTEGER;
      FLdum      :REAL;
      FLRC_temp  :realArrayl0Type;
      unstable   :BOOLEAN;
      FLacfw     :realACFType;
      i_ab       :INTEGER; {###}
    eta_temp   :realArraylOType; {###}BEGIN
    FOR m:=1 TO nrCoeff DO BEGIN
         FLa_post_pres[m]:=FLa_in[m]*FLnyweight[m];
    END;
       IF sp THEN BEGIN
            {FLfilter_my_state:=FLfilter_my_coeff*
                               FLfilter_my_state+
                       FLfilter_my_gain*FLmy;}   {###}
            FLmy_use:=FLmy;      FOR m:=1 TO nrCoeff DO BEGIN
            FLa_pres[m]:=FLa_in[m];
            FLrc_pres[m]:=FLrc_in[m];
      END;
      IF first_sp THEN BEGIN
            FLdum:=FLexpand_factor;
            FOR m:=1 TO nrCoeff DO BEGIN
                 Flfilter_filter_state[m]:=
                   FLa_in[m]*FLdum;
                 FLfilter_post_state[m]:=
                   FLa_post_pres[m]*FLdum;
                 FLdum:=FLdum*Flexpand_factor;
            END;
      END;END ELSE BEGIN
      IF NOT FLbadQuality THEN BEGIN
          FLfilter_my_state:=FLfilter_my_coeff*
                             FLfilter_my_state+
                     FLfilter_my_gain*FLmy_off;
      END;
       FLmy_use:=FLfilter_my_state;
       FLdum:=FLexpand_factor;
       FOR m:=1 TO nrCoeff DO BEGIN
           IF NOT FLbadQuality THEN BEGIN
                FLfilter_filter_state[m]:=
                  FLfilter_filter_state[m]*
                  FLfilter filter coeff+
                  FLfilter_filter_gain*
                  FLa_in[m]*FLdum;
                FLfilter_post_state[m]:=                     FLfilter_post_state[m]*
                     FLfilter_post_coeff+
                                  FLfilter_post_gain*
                     FLa_post_pres[m]*FLdum;
      END;
      FLa_pres[m]:=
        FLfi1ter_filter_state[m];
      FLa_post_pres[m]:=
        FLfilter_post_state[m];
      FLdum:=FLdum*FLexpand_factor;END;{Check for stability}stepdn_unstable_special_pas(
                       FLa_pres,       {In}
                       FLRC_pres,      {Out}
                       unstable);     {Out}IF unstable THEN BEGINWRITELN(‘Unstable a-parameter (as_actions_rx)’);
   FOR m:=1 to nrCoeff DO BEGIN
        FLa_pres[m]:=FLa_in[m];
        FLrc_pres[m]:=FLrc_in[m];
   END;END;stepdn_unstable_special_pas(
                       FLa_post_pres, {In}
                       FLRC_temp,     {Out}
                       unstable);    {Out}IF unstable THEN BEGINWRITELN(‘Unstable post_filter(as_actions_rx)’);                                     FLdum:=FLexpand_factor;
                                     FOR m:=1 TO nrCoeff DO BEGIN
                                         FLa_post_pres[m]:=FLa_in[m]*
                                                        FLnyweight[m]*Fldum;
                                         FLdum:=FLdum*FLexpand_factor;
                                  END;
                           END;
                           FLcalculateACF(
                                         FLa_post_pres,
                                         FLACFw);
                           {Flcalculateautocorrfunction(
                                         FLa_pres,
                                         FLACFw);}
                           FLpostCoeffCalculation(
                                                 FLACFw,
                                                 FLetaCurr);
                 END;
                 first_sp:=(sp AND first_sp);
     END;END

Claims (16)

1.以帧为传输单元的无线电通信系统的接收机中的一种设备,用以隐蔽语音解码器(24)中因通信信道引起的传输误差,所述语音解码器是源滤波器式的,由装置(20,22,24)控制,装置(20,22,24)的内状态变量逐帧加以更新,供调节所收到的表示在所述通信信道上传输的背景音的滤波参数,所述设备的特征在于:
(a)帧检测装置(12,13,14),用以检测含传输误差的帧;
(b)判定装置(16),用以判定经检测其中有传输误差的帧是否可接受的;
(c)传输误差隐蔽装置,用以在所述判定装置宣判所述经检测的帧为不可接收时,通过限制至少一个所述内部状态变量的更新来隐蔽所述检测出的传输误差。
2.如权利要求1所述的设备,其特征在于,所述滤波参数调节装置有一个至少有一个判定语音/背景音用的阈值的话音活动检测器(20),所述隐蔽装置(18)在所述判定装置(16)宣布所述检测出的帧为不可接受的时限制对所述阈值的更新。
3.如权利要求1所述的设备,其特征在于,所述滤波参数调节装置有一个语音活动性检测器(20)用以逐帧判定语音/背景音,所述隐蔽装置(18)在所述检测出的帧被所述判定装置(16)宣判为不可接受时阻止更新从上一帧获得的语音/背景音判定结果。
4.如权利要求2或3所述的设备,其特征在于,所述滤波参数调节装置还有一个与所述语音活动性检测器(20)相连接的静止性检测器(22),所述隐蔽装置(18)在所述判定装置(16)宣判所述检测出的帧为不可接受时限制所述缓冲器的更新。
5.如权利要求2或3所述的设备,其特征在于,所述滤波参数调节装置还有一个与所述语音活动性检测(20)的输出端相连接的静止性检测器(22),所述隐蔽装置(18)在所述判定装置(16)宣判所述检测出的帧为不可接受时阻止更新根据上一帧作出静止/非静止判定结果。
6.如权利要求5所述的设备,其特征在于,所述滤波参数调节装置有一个用以低通滤波波参数的装置(24),所述隐蔽装置(18)在所述判定装置(16)宣布所述检测出的帧为不可接受时限对低通滤波过程的滤波系数的更新。
7.如权利要求6所述的设备,其特征在于,所述滤波参数调节装置有一用于扩展用滤波参数所表示的滤波器的带宽的装置,所述隐蔽装置(18)在所述判定装置宣判所述检测出的帧为不可接受时限制对滤波系统的更新。
8.如权利要求7所述的设备,其特征在于,一个用以调节解码信号频谱波动的后置滤波器,所述隐蔽装置(18)在所述判定装置宣判所述检测出的帧为不可接受时限制对波动信息的更新。
9.一种在以帧为基本传输单元的无线电通信系统的接收机中隐蔽语音解码器中因通信信道引起的传输误差的一种方法,所述语音解码器是源滤波器式的,且包括一个装置,所述装置包括逐帧更新的内部状态变量,供调节所收到的表示在所述通信信道上传输的背景音的滤波参数,所述方法的特征在于,它包括下列步骤:
(a)检测含传输误差的帧;
(b)判定检测步骤中宣判所述检测出的帧为不可接受时通过限制至少其中一个所述内状态变量的更新将所述检测出的传输误差隐蔽起来。
(c)在所述判定步骤中宣判所述检测出的帧为不可接受时通过限制对至少其中一个所述内状态变量的更新所述检测出的传输误差隐蔽起来。
10.如权利要求9所述的方法,其特征在于,所述滤波参数调节装置有一个具至少一个供判定语音/背景音用的阈值的语音活动性检测器(20),所述方法的特征在于,所述隐蔽步骤包括所述判定步骤中宣判所述检测出的帧为不可接受时限制对所述阈值的更新的步骤。
11.如权利要求9所述的方法,其特征在于,所述滤波参数调节装置有一个语音活动性检测器(20)。用以逐帧判定语音/背景音,所述方法的特征在于,所述隐蔽步骤包括所述判定步骤中宣判所述检测出的帧为不可接受时阻止更新根据上一帧获得的语音/背景音判定结果的步骤。
12.如权利要求10或11所述的方法,其特征在于,所述滤波参数调节装置还包括一个与所述语音活动性检测器(20)的输出端相连接的用以鉴别静止和非静止背景音的静止性检测装置(22),所述静止性检测器有至少一个存储着最新背景音占优势的帧用以对静止性进行判定的统计瞬时估计值的缓冲器,所述方法的特征在于,所述隐蔽步骤包括所述判定步骤中宣判所述检测出的帧为不可接受时限制对所述缓冲器进行更新的步骤。
13.如权利要求10或11所述的方法,其特征在于,所述滤波参数调节装置还包括一个与所述语音活动性检测器(20)的输出端相连接用以鉴别静止和非静止背景音的静止性检测器(22),所述方法的特征在于,所述隐蔽步骤包括所述判定步骤中宣判所述检测出的帧为不可接受时阻止更新根据上的一帧作出的静止性/非静止性的判定的步骤。
14.如权利要求13所述的方法,其特征在于,所述滤波参数调节装置包括用以低通滤波各滤波参数的装置(24),所述方法的特征在于,在所述判定步骤中宣判所述检测出的帧为不可接受时限制对低通滤波过程的滤波系统的更新。
15.如权利要求14所述的方法,其特征在于,所述滤波参数调节装置包括用以扩展这些参数所表示的滤波器的带宽,所述方法的特征在于,在所述判定步骤中宣判所述检测出的帧为不可接受时限制更新滤波系数。
16.如权利要求15所述的方法,其特征在于,由后置滤波器调节解码信号频谱的波动,所述方法的特征在于,在所述判定步骤中宣判所述检测出的帧为不可接受时限制对波动的信息的更新。
CN94190354A 1993-06-11 1994-06-02 在无线通信系统中用于传输误差隐蔽的方法和装置 Expired - Fee Related CN1064768C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
SE9302025-3 1993-06-11
SE9302025A SE501340C2 (sv) 1993-06-11 1993-06-11 Döljande av transmissionsfel i en talavkodare

Publications (2)

Publication Number Publication Date
CN1110486A CN1110486A (zh) 1995-10-18
CN1064768C true CN1064768C (zh) 2001-04-18

Family

ID=20390257

Family Applications (1)

Application Number Title Priority Date Filing Date
CN94190354A Expired - Fee Related CN1064768C (zh) 1993-06-11 1994-06-02 在无线通信系统中用于传输误差隐蔽的方法和装置

Country Status (20)

Country Link
US (1) US5598506A (zh)
EP (1) EP0655160B1 (zh)
JP (1) JPH08500235A (zh)
KR (1) KR100220381B1 (zh)
CN (1) CN1064768C (zh)
AU (1) AU670699B2 (zh)
CA (1) CA2140365A1 (zh)
DE (1) DE69421500T2 (zh)
DK (1) DK0655160T3 (zh)
ES (1) ES2141236T3 (zh)
FI (1) FI950592A0 (zh)
GR (1) GR3031751T3 (zh)
HK (1) HK1013880A1 (zh)
MX (1) MX9404251A (zh)
NZ (1) NZ267735A (zh)
RU (1) RU2120668C1 (zh)
SE (1) SE501340C2 (zh)
SG (1) SG46982A1 (zh)
TW (1) TW268172B (zh)
WO (1) WO1994029851A1 (zh)

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5920833A (en) * 1996-01-30 1999-07-06 Lsi Logic Corporation Audio decoder employing method and apparatus for soft-muting a compressed audio signal
US5918205A (en) * 1996-01-30 1999-06-29 Lsi Logic Corporation Audio decoder employing error concealment technique
JPH1091194A (ja) * 1996-09-18 1998-04-10 Sony Corp 音声復号化方法及び装置
US7788092B2 (en) * 1996-09-25 2010-08-31 Qualcomm Incorporated Method and apparatus for detecting bad data packets received by a mobile telephone using decoded speech parameters
WO1998013941A1 (en) * 1996-09-25 1998-04-02 Qualcomm Incorporated Method and apparatus for detecting bad data packets received by a mobile telephone using decoded speech parameters
FR2758676A1 (fr) * 1997-01-21 1998-07-24 Philips Electronics Nv Methode de reduction des clics dans un systeme de transmission de donnees
WO1998038764A1 (de) * 1997-02-27 1998-09-03 Siemens Aktiengesellschaft Verfahren und anordnung zur rahmenfehlerdetektion zwecks fehlerverdeckung insbesondere bei gsm übertragungen
DE19716147A1 (de) * 1997-04-17 1998-10-22 Alsthom Cge Alcatel Verfahren und Vorrichtung zur Fehlerverdeckung in digitalen Übertragungssystemen
ATE196960T1 (de) * 1997-04-23 2000-10-15 Fraunhofer Ges Forschung Verfahren zum verschleiern von fehlern in einem audiodatenstrom
US6122316A (en) * 1997-07-31 2000-09-19 Lsi Logic Corporation MPEG decoding system meeting 2-frame store and letterboxing requirements
US6266091B1 (en) 1997-07-31 2001-07-24 Lsi Logic Corporation System and method for low delay mode operation video decoding
US6310918B1 (en) 1997-07-31 2001-10-30 Lsi Logic Corporation System and method for motion vector extraction and computation meeting 2-frame store and letterboxing requirements
US6101221A (en) * 1997-07-31 2000-08-08 Lsi Logic Corporation Video bitstream symbol extractor for use in decoding MPEG compliant video bitstreams meeting 2-frame and letterboxing requirements
US6236681B1 (en) 1997-07-31 2001-05-22 Lsi Logic Corporation Method for decoding MPEG compliant video bitstreams meeting 2-frame and letterboxing requirements
US6289053B1 (en) 1997-07-31 2001-09-11 Lsi Logic Corporation Architecture for decoding MPEG compliant video bitstreams meeting 2-frame and letterboxing requirements
FI104769B (fi) 1997-12-01 2000-03-31 Nokia Networks Oy Menetelmä ja laitteisto loogisen kanavan tunnistamiseksi
GB2337904B (en) 1998-05-29 2003-03-12 Nec Technologies Frame erasure for digital data transmision systems
US6810377B1 (en) 1998-06-19 2004-10-26 Comsat Corporation Lost frame recovery techniques for parametric, LPC-based speech coding systems
US6351495B1 (en) * 1998-08-28 2002-02-26 Lucent Technologies Inc. Apparatus and method for conveying TTY signals over wireless telecommunication systems
GB2348087B (en) * 1999-03-13 2003-08-13 Nec Technologies Detection of unreliable frames in digital data transmission systems
WO2000063885A1 (en) * 1999-04-19 2000-10-26 At & T Corp. Method and apparatus for performing packet loss or frame erasure concealment
US7047190B1 (en) 1999-04-19 2006-05-16 At&Tcorp. Method and apparatus for performing packet loss or frame erasure concealment
US7117156B1 (en) 1999-04-19 2006-10-03 At&T Corp. Method and apparatus for performing packet loss or frame erasure concealment
US6757654B1 (en) * 2000-05-11 2004-06-29 Telefonaktiebolaget Lm Ericsson Forward error correction in speech coding
WO2001093488A1 (en) * 2000-05-29 2001-12-06 Telefonaktiebolaget Lm Ericsson (Publ) Error detection and error concealment for encoded speech data
EP1199709A1 (en) 2000-10-20 2002-04-24 Telefonaktiebolaget Lm Ericsson Error Concealment in relation to decoding of encoded acoustic signals
US7031926B2 (en) 2000-10-23 2006-04-18 Nokia Corporation Spectral parameter substitution for the frame error concealment in a speech decoder
US20020181407A1 (en) * 2001-03-28 2002-12-05 Anders Khullar Link quality control by using time dispersion information
US20030163304A1 (en) * 2002-02-28 2003-08-28 Fisseha Mekuria Error concealment for voice transmission system
US8160874B2 (en) * 2005-12-27 2012-04-17 Panasonic Corporation Speech frame loss compensation using non-cyclic-pulse-suppressed version of previous frame excitation as synthesis filter source
US20070174054A1 (en) * 2006-01-25 2007-07-26 Mediatek Inc. Communication apparatus with signal mode and voice mode
JP5061111B2 (ja) * 2006-09-15 2012-10-31 パナソニック株式会社 音声符号化装置および音声符号化方法
US7877253B2 (en) * 2006-10-06 2011-01-25 Qualcomm Incorporated Systems, methods, and apparatus for frame erasure recovery
KR100862662B1 (ko) 2006-11-28 2008-10-10 삼성전자주식회사 프레임 오류 은닉 방법 및 장치, 이를 이용한 오디오 신호복호화 방법 및 장치
US8165224B2 (en) * 2007-03-22 2012-04-24 Research In Motion Limited Device and method for improved lost frame concealment
EP3288034B1 (en) * 2008-03-14 2019-02-20 Panasonic Intellectual Property Corporation of America Decoding device, and method thereof
BR112013020482B1 (pt) 2011-02-14 2021-02-23 Fraunhofer Ges Forschung aparelho e método para processar um sinal de áudio decodificado em um domínio espectral
CN103477387B (zh) 2011-02-14 2015-11-25 弗兰霍菲尔运输应用研究公司 使用频谱域噪声整形的基于线性预测的编码方案
MY166394A (en) 2011-02-14 2018-06-25 Fraunhofer Ges Forschung Information signal representation using lapped transform
KR101525185B1 (ko) 2011-02-14 2015-06-02 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. 트랜지언트 검출 및 품질 결과를 사용하여 일부분의 오디오 신호를 코딩하기 위한 장치 및 방법
ES2639646T3 (es) 2011-02-14 2017-10-27 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Codificación y decodificación de posiciones de impulso de pistas de una señal de audio
KR101551046B1 (ko) * 2011-02-14 2015-09-07 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. 저-지연 통합 스피치 및 오디오 코딩에서 에러 은닉을 위한 장치 및 방법
JP6201043B2 (ja) 2013-06-21 2017-09-20 フラウンホーファーゲゼルシャフト ツール フォルデルング デル アンゲヴァンテン フォルシユング エー.フアー. エラー封じ込め中の切替音声符号化システムについての向上した信号フェードアウトのための装置及び方法

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4153877A (en) * 1978-02-13 1979-05-08 Masco Corporation Of Indiana Mobile CB transceiver
US4357491A (en) * 1980-09-16 1982-11-02 Northern Telecom Limited Method of and apparatus for detecting speech in a voice channel signal
US4660196A (en) * 1983-08-01 1987-04-21 Scientific Atlanta, Inc. Digital audio satellite transmission system
US4656633A (en) * 1985-03-15 1987-04-07 Dolby Laboratories Licensing Corporation Error concealment system
FR2608867B1 (fr) * 1986-12-19 1988-12-30 Thomson Csf Procede et dispositif de transmissions numeriques de signaux vocaux par voie radio
US4802171A (en) * 1987-06-04 1989-01-31 Motorola, Inc. Method for error correction in digitally encoded speech
JPH01177227A (ja) * 1988-01-05 1989-07-13 Toshiba Corp 音声コーデック
JPH02288520A (ja) * 1989-04-28 1990-11-28 Hitachi Ltd 背景音再生機能付き音声符号復号方式
GB2239971B (en) * 1989-12-06 1993-09-29 Ca Nat Research Council System for separating speech from background noise
US5097507A (en) * 1989-12-22 1992-03-17 General Electric Company Fading bit error protection for digital cellular multi-pulse speech coder
JP2786001B2 (ja) * 1990-07-09 1998-08-13 森永乳業株式会社 チロシナーゼ活性阻害剤
US5271011A (en) * 1992-03-16 1993-12-14 Scientific-Atlanta, Inc. Digital audio data muting system and method
SE470372B (sv) * 1992-06-23 1994-01-31 Ericsson Telefon Ab L M Metod jämte anordning att uppskatta kvaliten vid ramfelsdetektering i mottagaren hos ett radiokommunikationssystem
US5459814A (en) * 1993-03-26 1995-10-17 Hughes Aircraft Company Voice activity detector for speech signals in variable background noise
US5485522A (en) * 1993-09-29 1996-01-16 Ericsson Ge Mobile Communications, Inc. System for adaptively reducing noise in speech signals
US5502713A (en) * 1993-12-07 1996-03-26 Telefonaktiebolaget Lm Ericsson Soft error concealment in a TDMA radio system

Also Published As

Publication number Publication date
RU2120668C1 (ru) 1998-10-20
CA2140365A1 (en) 1994-12-22
AU7011694A (en) 1995-01-03
DK0655160T3 (da) 2000-01-03
DE69421500T2 (de) 2000-07-13
TW268172B (zh) 1996-01-11
FI950592A (fi) 1995-02-10
EP0655160A1 (en) 1995-05-31
JPH08500235A (ja) 1996-01-09
SE9302025D0 (sv) 1993-06-11
NZ267735A (en) 1996-06-25
ES2141236T3 (es) 2000-03-16
KR950703192A (ko) 1995-08-23
US5598506A (en) 1997-01-28
SE501340C2 (sv) 1995-01-23
FI950592A0 (fi) 1995-02-10
EP0655160B1 (en) 1999-11-03
KR100220381B1 (ko) 1999-09-15
AU670699B2 (en) 1996-07-25
GR3031751T3 (en) 2000-02-29
CN1110486A (zh) 1995-10-18
HK1013880A1 (en) 1999-09-10
MX9404251A (es) 1995-01-31
SG46982A1 (en) 1998-03-20
SE9302025L (sv) 1994-12-12
DE69421500D1 (de) 1999-12-09
WO1994029851A1 (en) 1994-12-22

Similar Documents

Publication Publication Date Title
CN1064768C (zh) 在无线通信系统中用于传输误差隐蔽的方法和装置
KR100946057B1 (ko) 데이터 프레임에 코딩된 부가 데이터의 존재 결정
KR100563293B1 (ko) 음성 복호화에서 음성 프레임 오류 은폐를 위한 방법 및시스템
TWI484479B (zh) 用於低延遲聯合語音及音訊編碼中之錯誤隱藏之裝置和方法
JP4218134B2 (ja) 復号装置及び方法、並びにプログラム提供媒体
RU2284664C2 (ru) Способ улучшенного обнаружения ошибок скорости в приемниках с переменной скоростью и устройство для его осуществления
CN1064770C (zh) 接收机中用以隐蔽语音译码器中失帧影响的设备和方法
WO2001009878A1 (en) Speech coding with voice activity detection for accommodating music signals
KR20030048067A (ko) 음성 복호기에서 프레임 오류 은폐를 위한 개선된스펙트럼 매개변수 대체
JP2011237809A (ja) フレームエラーに対する感度を低減する符号化体系パターンを使用する予測音声コーダ
JP2002506242A (ja) ソフト適応性特性を含む音声コーディング
JP2002536694A (ja) 音声コーダのための、1/8レート乱数発生のための方法と手段
US6959411B2 (en) Intelligent error checking method and mechanism
JP2002543670A (ja) レート検出装置および可変レート音声コード化の方法
US6539349B1 (en) Constraining pulse positions in CELP vocoding
KR20000062171A (ko) 가변 비율 음성부호화기의 음성 부호화 비율 결정장치 및방법
KR20010113897A (ko) 코딩된 음성 통신에서 오염된 신호 파라미터를 검출하고보정하는 방법
KR100261132B1 (ko) 음조 포스트-필터
JP2003122398A (ja) 検査装置および符号化装置
US20100205516A1 (en) Audio error detection and processing
van den Berghe et al. Real-time implementation of a scaleable channel coding scheme for mobile transmission of G. 723.1 speech bitstream
KR20150014607A (ko) 통신 시스템에서 오류 은닉 방법 및 장치
KR20100112128A (ko) 디지털 오디오 바이너리 프레임 내의 바이너리 에러들의 프로세싱
JPH0756600A (ja) 音声符号化復号化誤り制御方法及びその装置
JPH10161697A (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
C14 Grant of patent or utility model
GR01 Patent grant
C19 Lapse of patent right due to non-payment of the annual fee
CF01 Termination of patent right due to non-payment of annual fee