CN101933306B - 用于在分组网络中检测和抑制回声的方法和设备 - Google Patents

用于在分组网络中检测和抑制回声的方法和设备 Download PDF

Info

Publication number
CN101933306B
CN101933306B CN200880123600.XA CN200880123600A CN101933306B CN 101933306 B CN101933306 B CN 101933306B CN 200880123600 A CN200880123600 A CN 200880123600A CN 101933306 B CN101933306 B CN 101933306B
Authority
CN
China
Prior art keywords
stream
targeted packets
reference packet
voice
packet
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
CN200880123600.XA
Other languages
English (en)
Other versions
CN101933306A (zh
Inventor
兰普洛斯·卡兰鲍卡斯
谢苗·索辛
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.)
Nokia of America Corp
Original Assignee
Alcatel Lucent USA Inc
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 Alcatel Lucent USA Inc filed Critical Alcatel Lucent USA Inc
Publication of CN101933306A publication Critical patent/CN101933306A/zh
Application granted granted Critical
Publication of CN101933306B publication Critical patent/CN101933306B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/756Media network packet handling adapting media to device capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M9/00Arrangements for interconnection not involving centralised switching
    • H04M9/08Two-way loud-speaking telephone systems with means for conditioning the signal, e.g. for suppressing echoes for one or both directions of traffic
    • H04M9/082Two-way loud-speaking telephone systems with means for conditioning the signal, e.g. for suppressing echoes for one or both directions of traffic using echo cancellers
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/02Speech enhancement, e.g. noise reduction or echo cancellation
    • G10L21/0208Noise filtering
    • G10L2021/02082Noise filtering the noise being echo, reverberation of the speech

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Telephonic Communication Services (AREA)
  • Cable Transmission Systems, Equalization Of Radio And Reduction Of Echo (AREA)
  • Telephone Function (AREA)

Abstract

本发明包括一种用于在分组网络中检测和抑制回声的方法及设备。根据一个实施例的方法包括:从参考分组流的分组中提取语音编码参数;从目标分组流的分组中提取语音编码参数;通过对参考分组流的语音编码参数和目标分组流的语音编码参数进行处理来确定目标分组流的语音内容是否与参考分组流的语音内容相似;以及基于关于目标分组流的语音内容是否与参考分组流的语音内容相似的确定,确定目标分组流是否包括参考分组流的回声。

Description

用于在分组网络中检测和抑制回声的方法和设备
技术领域
本发明涉及通信网络领域,更具体地,涉及回声检测和抑制。
背景技术
由于基于分组的语音技术已经成熟,服务提供商为了降低操作费用已经开始实施基于分组的语音实现。在语音呼叫期间,由于语音呼叫远端的回声,呼叫方可能听到他自己的语音。在语音呼叫方使用免提通信能力(例如扬声器电话)时,这类回声出现的可能性增大。消除这类回声的最普通的方法是声学回声消除(AEC)。尽管时分复用(TDM)网络中很好地利用了声学回声消除,然而,不利的是,当前还没有公认的方式用于在诸如基于互联网协议的语音(VoIP)网络之类的分组网络中执行声学回声消除。此外,声学回声的问题由于分组网络(由于网络分组延迟在分组之间的变化很大)以及分组网络中的典型分组传播等待时间与TDM网络相比显著增大的事实而加剧。
发明内容
通过本发明的一种用于在分组网络中检测和抑制回声的方法和设备来解决现有技术中的多个不足。根据一个实施例的方法包括:从参考分组流的分组中提取语音编码参数;从目标分组流的分组中提取语音编码参数;通过使用参考分组流的语音编码参数和目标分组流的语音编码参数来确定目标分组流的语音内容是否与参考分组流的语音内容相似;以及基于关于目标分组流的语音内容是否与参考分组流的语音内容相似的确定,确定目标分组流是否包括参考分组流的回声。
附图说明
通过结合附图考虑下列详细描述,可以很容易理解本发明的教导,在附图中:
图1示出了通信网络的高层框图,其中在该通信网络内实现本发明的回声检测和抑制功能;
图2示出了图1中的语音呼叫的用于为图1中的语音呼叫的一个传输方向提供回声检测和抑制的表示;
图3示出了根据本发明一个实施例的用于检测和抑制回声的方法;
图4示出了根据本发明一个实施例的确定目标语音内容与参考语音内容之间的相似性的方法;
图5示出了根据本发明一个实施例的确定目标语音内容与参考语音内容之间的相似性的方法;
图6示出了表示目标分组流中的语音分组与参考分组流中的语音分组之间的关系的高层框图;
图7示出了用于描述速率模式匹配处理的速率模式匹配示例;
图8示出了通信网络的高层框图,其中在最终用户终端内实现本发明的回声检测和抑制功能;
图9示出了通信网络的高层框图,其中在最终用户终端内实现本发明的回声检测和抑制功能;以及
图10示出了适于执行这里所描述的功能的通用计算机的高层框图。
为了有助于理解,使用相同的附图标记(可能的话)来指示附图中共有的相同元素。
具体实施方式
本发明提供了分组网络中的回声检测和回声抑制,在分组网络中使用声码器分组在最终用户终端之间传送语音内容。声码器典型地包括编码器和解码器,使用从携带语音的分组中提取的语音编码参数在分组网络上传送语音内容。编码器将输入的语音信息分割成语音段,分析语音段以确定语音编码参数,将语音编码参数量化为比特表示,将比特表示打包为编码语音分组,将分组格式化为传输帧,并通过分组网络对传输帧进行传输。解码器通过分组网络接收传输帧,从传输帧中提取分组,取出比特表示,对比特表示进行解量化以恢复出语音编码参数,并根据语音编码参数再合成语音段。
利用本发明,从参考分组流的编码语音分组中提取出参考分组流的编码语音分组中所包括的语音内容的语音编码参数,从目标分组流的编码语音分组中提取出目标分组流的编码语音分组中所包括的语音内容的语音编码参数,对提取的语音编码参数进行处理以识别参考分组流的语音内容与目标分组流的语音内容之间的相似性,并基于对目标分组流的语音内容与参考分组流的语音内容之间的相似性的识别来确定是否检测到回声。利用本发明,可以将与目标分组流相关联的回声路径延迟(表示参考分组流与目标分组流之间的时间上的偏移)自动确定为回声检测过程的副产物。
图1示出了通信网络的高层框图。具体而言,图1中的通信网络100包括分组网络102,分组网络102有利于使用最终用户终端103A的最终用户A与使用最终用户终端103Z的最终用户Z之间的通信(最终用户终端103A和最终用户终端103Z统称为最终用户终端103)。具体地,分组网络102支持最终用户A与最终用户Z之间的语音呼叫。分组网络102通过将语音内容编码为编码语音分组并在分组网络102上传输编码语音分组来传送语音内容(从最终用户A到最终用户Z,以及从最终用户Z到最终用户A)。如图1所示,语音呼叫穿过声学回声处理模块(AEPM)120,AEPM 120适于检测并抑制/消除语音呼叫中的声学回声。
如图1所示,最终用户终端103包括用于支持分组网络上的语音通信的组件,例如,音频输入/输出设备(例如,麦克风、扬声器等)、分组网络接口(例如,包括发射机/接收机能力、声码器能力等等)等。具体而言,最终用户终端103A包括音频输入设备104A、网络接口105A以及音频输出设备106A,最终用户终端103Z包括音频输入设备104Z、网络接口105Z以及音频输出设备106Z。最终用户终端103的组件可以是独立的物理设备,或者可以合并到一个或多个物理设备中。例如,最终用户终端103可以包括具有语音能力的计算机、VoIP电话等等、及其各种组合。
在语音呼叫中,例如图1所示的语音呼叫,最终用户终端的语音输入设备可以拾取下列两种话音:(1)本地最终用户的话音;以及(2)接收自远程最终用户的、在本地最终用户的语音输出设备上播放的话音。例如,在本地最终用户正在使用扬声器电话的情况下,本地最终用户设备的麦克风不仅可以拾取本地最终用户的话音,还可以拾取从扬声器电话发出的远程最终用户的话音。本地最终用户的语音输入设备所接收到的远程最终用户的话音可以是来自扬声器电话的话音直接耦合到麦克风,和/或可以是当来自远程最终用户的话音在本地最终用户位置处产生回声时的来自扬声器电话的话音间接耦合到麦克风。
就图1而言,从最终用户A传播到最终用户Z的语音内容在最终用户Z的位置处产生回声,并且通过最终用户Z的最终用户终端来拾取来自最终用户A的作为回声的语音内容,因此从最终用户Z传播到最终用户A的语音内容可以是最终用户Z的话音与最终用户A的话音的回声的组合。类似地,从最终用户Z传播到最终用户A的语音内容在最终用户A的位置处产生回声,并且通过最终用户A的最终用户终端来拾取来自最终用户Z的作为回声的语音内容,因此从最终用户A传播到最终用户Z的语音内容可以是最终用户A的话音与最终用户Z的话音的回声的组合。换言之,可以在双向通信信道的两个方向都引入回声。
对于在最终用户设备103A处引入的回声,最终用户设备103A拾取最终用户A的话音,可选地拾取语音输出设备106A所播放的最终用户Z的话音(表示为回声耦合)。该话音由语音输入设备104A拾取,并提供给网络接口105A,网络接口105A对该话音进行处理,以确定语音编码参数,并对所确定的语音编码参数进行分组化以形成语音分组流112。最终用户设备103A将语音分组流112传播到AEPM 120。AEPM 120对语音分组流112进行处理,以检测并抑制最终用户Z的所有话音,由此防止最终用户Z听到任何回声。AEPM 120将语音分组流112’(可以是,或者可以不是语音分组流112的修改版本,这取决于是否检测到回声)传播到最终用户设备103Z。语音分组流112’由网络接口105Z接收,网络接口105Z对语音分组流112’进行解分组化,并对编码语音参数进行处理以恢复最终用户A的话音,并将所恢复的最终用户A的话音提供给语音输出设备106Z,语音输出设备106Z为最终用户Z播放最终用户A的话音。
对于在最终用户设备103Z处引入的回声,最终用户设备103Z拾取最终用户Z的话音,可选地拾取语音输出设备106Z所播放的最终用户A的话音(表示为回声耦合)。该话音由语音输入设备104Z拾取,并提供给网络接口105Z,网络接口105Z对该话音进行处理,以确定语音编码参数,并对所确定的语音编码参数进行分组化以形成语音分组流114。最终用户设备103Z将语音分组流114传播到AEPM 120。AEPM 120对语音分组流114进行处理,以检测并抑制最终用户Z的所有话音,由此防止最终用户A听到任何回声。AEPM 120将语音分组流114’(可以是,或者可以不是语音分组流114的修改版本,这取决于是否检测到回声)传播到最终用户设备103A。语音分组流114’由网络接口105A接收,网络接口105A对语音分组流114’进行解分组化,并对编码语音参数进行处理以恢复最终用户Z的话音,并将所恢复的最终用户Z的话音提供给语音输出设备106A,语音输出设备106A为最终用户A播放最终用户Z的话音。
因此,如图1所示,语音呼叫的两个方向都穿过部署在分组网络102内的AEPM 120。AEPM 120适于检测在最终用户A与最终用户Z之间传播的语音内容中的回声,以及在检测到回声的情况下,抑制或消除检测到的回声,以使得接收该语音内容的最终用户听不到回声。AEPM 120通过从参考分组流的编码语音分组和目标分组流的编码语音分组中提取语音编码参数、并利用确定目标分组流所传送的语音内容是否与参考分组流所传送的语音内容相似的方式对所提取的语音编码参数进行处理,来检测回声。参考图2-图6,可以更好地理解AEPM120在从目标分组流和参考分组流所传送的编码语音分组中提取语音编码参数、并使用所提取的语音编码参数来检测并抑制回声中的操作。
图2示出了图1中的语音呼叫的用于为图1中的语音呼叫的一个传输方向提供回声检测和抑制(用于检测并抑制在最终用户终端103Z处引入的回声)的表示。最终用户终端103A将编码语音分组流(表示为参考分组流202)传播到AEPM 120。AEPM 120维持对于最近接收到的参考分组流202的编码语音分组的缓冲,并继续将参考分组流202的语音分组传播到最终用户终端103Z。最终用户终端103Z将语音分组流(表示为目标分组流204)传播到AEPM 120。AEPM 120维持对于最近接收到的目标分组流204的编码语音分组的缓冲。AEPM 120对所缓冲的目标分组和所缓冲的参考分组进行处理,以确定目标分组流204的语音分组所传送的语音内容是否包括参考分组流202的语音分组所传送的语音内容的回声。
AEPM 120将目标分组流204’提供给最终用户终端103A。如果目标分组流204的编码语音分组所传播的语音内容没有被确定为包括参考分组流202的编码语音分组所传送的语音内容,那么AEPM 120继续将目标分组流204的编码语音分组传播到最终用户终端103A(即,没有用抑制回声的方式来适配目标分组流204的编码语音分组)。如果目标分组流204的编码语音分组所传送的语音内容被确定为包括参考分组流202的编码语音分组所传送的语音内容的回声,那么AEPM 120利用抑制回声的方式来对包括参考分组流202的编码语音分组所传送的语音内容的回声在内的目标分组流204的编码语音分组进行适配,并将适配的目标分组流204’的编码语音分组传播到最终用户终端103A
如这里所描述的,图2示出了图1中的语音呼叫的用于针对一个传输方向提供回声检测和抑制的表示,即,针对在最终用户终端103Z处引入的、朝向最终用户终端103A传播的回声。因此,针对另一传输方向的回声检测和抑制(即,针对在最终用户终端103A处引入的、朝向最终用户终端103Z传播的回声),可以使用参考分组流202作为目标分组流,以及可以使用目标分组流204作为参考分组流。因此,由于在语音呼叫的两个传输方向上都可以引入回声,为了描述本发明的回声检测和抑制,忽略参考分组流202中可能存在的任何回声分量。
图3示出了根据本发明的一个实施例的方法。具体而言,图3中的方法300包括如下方法:检测目标分组流的语音内容中的参考分组流的语音内容的回声,如果检测到,则从目标分组流的语音内容中抑制回声。尽管所描述的是顺序执行,然而,图3中的方法300中的至少一部分步骤可以同时执行,或者以不同于关于图3所描述的次序来执行。方法300在步骤302开始,并前进到步骤304。
在步骤304,确定目标语音分组的语音内容与参考语音分组的语音内容之间的相似性。目标语音分组的语音内容与参考语音分组的语音内容之间的相似性是通过下列步骤确定的:从目标语音分组中提取语音编码参数,从参考语音分组中提取语音编码参数;以及对所提取的语音编码参数进行处理,以确定目标语音分组的语音内容是否与参考语音分组的语音内容相似。图4示出了一种使用从目标语音分组和参考语音分组提取的语音编码参数来确定目标语音分组的语音内容与参考语音分组的语音内容之间的相似性的方法。
在步骤306,确定目标语音分组的语音内容是否包括参考语音分组的语音内容的回声。关于目标语音分组的语音内容是否包括参考语音分组的语音内容的回声确定是利用关于目标语音分组的语音内容是否与参考语音分组的语音内容相似的确定来进行的。如果目标语音分组的语音内容不包括参考语音分组的语音内容的回声,则方法300返回至步骤304(即,当前目标语音分组不适用)。如果目标语音分组的语音内容确实包括参考语音分组的语音内容的回声,则方法300前进到步骤308。
在步骤308,给目标语音分组应用回声抑制。将目标语音分组的语音内容适配为抑制或消除检测到的回声。可以利用任意抑制或消除所检测的回声的方式来对目标语音分组的语音内容进行适配。在一个实施例中,目标分组的语音内容可以通过减小目标语音分组的语音内容的增益来适配。在一个实施例中,可以用替代分组来代替目标语音分组。替代分组可以是噪声分组(例如,包括诸如白噪声、舒适噪声等之类的特定类型噪声的分组)、静默分组(例如,空闲噪声)等、及其各种组合。
如图3所示,方法300从步骤308前进到步骤310。在步骤310,确定语音呼叫是否是激活的。如果语音呼叫仍然是激活的,则方法300返回步骤304(即,回声检测和抑制处理继续,以便从呼叫的语音内容中检测并抑制回声)。如果语音呼叫不是激活的,则方法300前进到步骤312,方法300在步骤312结束。因此,方法300在语音呼叫的持续时间内重复。尽管所描述的是在应用回声抑制之后执行方法300,然后方法300可以响应于语音呼叫不再激活而在方法300中的任意点结束。
图4示出了根据本发明的一个实施例的方法。具体而言,图4中的方法400包括一种用于确定目标语音分组的语音内容与参考语音分组的语音内容之间的相似性的方法。尽管所描述的是顺序执行,然而,图4中的方法400中的至少一部分步骤可以同时执行,或者以不同于关于图4所描述的次序执行。方法400在步骤402开始,并前进到步骤404。
在步骤404,从目标语音分组中提取语音编码参数。在一个实施例中,从N个最近目标语音分组(即,N是与目标分组流相关联的目标窗的大小)的每一个中提取出语音编码参数。在一个实施例中,从K+N个最近参考语音分组的每一个中提取出语音编码参数。可以利用任意从语音分组中提取语音编码参数的方式从语音分组中提取语音编码参数。从目标语音分组和参考语音分组中提取的语音编码参数可以包括任意语音编码参数,例如频率参数、音量参数、等等。
如这里所描述的,从语音分组中提取的语音编码参数可以基于许多因素而变化,例如,用于对语音内容进行编码/解码的编解码器类型、用于传送语音内容的传输技术等因素、及其各种组合。例如,从语音分组中提取的语音编码参数可以因本发明所应用的不同编码类型而不同,例如码激励线性预测(CELP)编码、原型基音预测(PPP)编码、噪声激励线性预测(NELP)编码等。
例如,针对基于CELP的编码,语音编码参数可以包括线谱对(LSP)、固定码本增益(FCG)、自适应码本增益(ACG)、编码速率等中的一个或多个、及其各种组合。例如,针对基于PPP的编码,语音编码参数可以包括LSP、幅度参数等。例如,针对基于NELP的编码,语音编码参数可以包括LSP、能量VQ等。此外,可以使用其他语音编码参数(例如,基音延迟、固定码本形状(例如固定码本自身)等、及其各种组合)。
例如,基于CELP的编码的一个形式是增强的可变速率编码(EVRC),EVRC是在码分多址(CDMA)网络中使用的基于CELP的编码器的特定实现。例如,在CDMA网络和其他网络中使用EVRC的增强版本,即EVRC-B。在EVRC-B语音编码中,可以针对不同压缩类型(例如,PPP或NELP)使用语音编码参数(即,除了典型的基于CELP的语音编码参数之外),例如幅度、全局对齐、以及针对PPP帧的边带对齐。例如,针对全球移动通信系统(GSM)使用自适应多速率(AMR)压缩,AMR压缩使用代数CELP(ACELP)。此外,例如,可以从编码语音分组中提取TeleType(TTY)的终端数据。
在步骤407(可选步骤)中,可以执行预处理。在一个实施例中,可以针对所提取的语音编码参数中的一些或全部执行预处理。例如,可以对从目标语音分组和参考语音分组中提取的原始语音编码参数进行处理以平滑所提取的语音编码参数,以用于确定目标语音分组的语音内容与参考语音分组的语音内容之间的相似性。在一个实施例中,可以基于从相应的目标语音分组和参考语音分组中提取的关联语音编码参数来对目标语音分组和/或参考语音分组的一些或全部执行预处理。
在一个实施中,可以基于对从相应的语音分组中提取的语音编码参数中的一些或全部的预处理,来对在确定目标分组的语音内容与参考分组的语音内容之间是否具有相似性中利用的一个或多个阈值进行自动调整。在一个实施例中,例如,可以确定每一目标窗的平均音量(即,利用从目标窗中的每一个目标分组中所提取的音量信息),并将其用于调整一个或多个阈值。在一个这样的实施例中,可以使用每一目标窗的平均音量来自动调整为了确定目标分组的语音内容与参考分组的语音内容之间的相似性而使用的阈值(例如,如图5所示的那样来自动调整LSP相似性阈值)。
在步骤408,利用从目标语音分组中提取的语音编码参数和参考语音分组中提取的语音编码参数来确定目标语音分组的语音内容与参考语音分组的语音内容之间的相似性。在一个实施例中,相似性确定是二进制确定(例如,检测到相似性或没有检测到相似性)。在这个实施例中,例如,可以基于相似性确定的结果来针对每一个目标分组设置相似性指示符(例如,相似性=是,或者相似性=否)。在一个实施例中,相似性确定可以是关于目标语音分组的语音内容与参考语音分组的语音内容之间的相似性的水平。在这个实施例中,例如,语音内容相似性可以利用特定的值范围来表示(例如,0-10的范围,其中0表示目标语音分组的语音内容与参考语音分组的语音内容之间没有相似性,而10表示目标语音分组的语音内容与参考语音分组的语音内容之间的完美匹配)。
在一个实施例中,关于目标语音分组的语音内容与参考语音分组的语音内容是否相似的确定可以仅仅利用频率信息(或者至少主要利用频率信息,并结合可以用于评估利用频率信息所确定的结果的有效性的其他语音特性信息)来执行。在一个这样的实施例中,例如,关于目标语音分组的语音内容是否与参考语音分组的语音内容相似的确定可以仅仅利用LSP(例如,针对利用基于CELP的编码来进行编码的语音分组)来执行。图5示出了一种用于使用LSP来确定目标语音分组的语音内容是否与参考语音分组的语音内容相似的方法。
在一个实施例中,关于目标语音分组的语音内容是否与参考语音分组的语音内容相似的确定可以利用速率模式匹配结合LSP比较来执行。在一个这样的实施例中,可以使用速率模式匹配来确定利用LSP比较所进行的相似性确定的有效性。可以参考图7来更好地理解速率模式匹配在确定相似性确定的有效性中的使用。
在一个实施例中,关于目标语音分组的语音内容是否与参考语音分组的语音内容相似的确定可以利用速率/类型匹配结合LSP比较来执行。在一个这样的实施例中,速率/类型匹配可以用于确定利用LSP比较所进行的相似性确定的有效性。在另一实施例中,关于目标语音分组的语音内容是否与参考语音分组的语音内容相似的确定可以利用速率/类型匹配代替LSP比较来执行。
在一个实施例中,作为预处理所执行的处理中的一些(即,参考图7所描述的)可以在关于目标语音分组的语音内容是否与参考语音分组的语音内容相似的确定期间执行。例如,在关于目标语音分组的语音内容是否与参考语音分组的语音内容相似的确定期间,可以使用从目标分组和/或参考分组中提取的其他语音编码参数(例如,用以忽略语音分组中所选择的那些语音分组,以便在目标语音分组与参考语音分组之间的比较中不使用那些语音分组;用以给语音分组中所选择的那些语音分组分配权重,以便动态地修改在执行相似性确定中所使用的一个或多个阈值,等等;及其各种组合)。
在步骤409(可选步骤),可以执行后处理。在一个实施例中,可以针对相似性确定的结果执行后处理。后处理可以利用从目标语音分组和参考语音分组中提取的语音编码参数中的一些或全部来执行。在一个实施例中,后处理可以包括评估相似性确定的结果。在一个这样的实施例中,例如,可以采用二进制方式来评估相似性确定的结果(例如,采用声明结果有效或无效的方式,即,声明结果正确肯定或错误肯定的方法)。在一个实施例中,例如,相似性确定的结果可以采用给相似性确定的结果分配权重或重要性的方式来进行评估。相似性确定的结果可以采用各种其他方式来评估。
在一些这样的实施例中,对于相似性确定结果的评估可以基于目标语音分组被认为有效/有用的百分比和/或参考语音分组被认为有效/有用的百分比。在一个实施例中,用于执行相似性确定的语音分组的音量特性可以用于确定相应语音分组的有效性/可用性。例如,在特定百分比的目标语音分组具有低于阈值的音量和/或特定百分比的参考语音分组具有低于阈值的音量的情况下,可以作出相似性确定结果无效的确定,或者至少没有较高百分比的语音分组被确定为有效/有用时的相似性确定那么有用。尽管主要关于音量进行描述,然而,可以使用各种其他的提取的语音编码参数来评估相似性确定的结果。
如图4所示,方法400从步骤408(可选地,从步骤409)返回步骤404,以重复方法400(即,提取语音编码参数,并对语音编码参数进行处理,以确定目标语音分组的语音内容与参考语音分组的语音内容之间是否有相似性)。方法400可以按照需要的频率重复。例如,在一个实施例中,方法400可以针对每一个目标语音分组重复。在一个这样的实施例中,所缓冲的目标分组流中的N个目标语音分组可以操作为滑动窗,以便针对每一个接收到的目标语音分组,将N个最近接收到的目标语音分组与最近接收到的每个集合包括K+N个参考语音分组的K个集合进行比较,以确定目标语音分组的语音内容与参考语音分组的语音内容的相似性。方法400可以以更高或者更低频率重复。
图5示出了根据本发明的一个实施例的方法。具体而言,图5中的方法500包括利用从目标语音分组和参考语音分组中提取的频率信息来确定目标语音分组的语音内容与参考语音分组的语音内容之间的相似性的方法。在一个实施例中,方法500可以如图3的方法300中的步骤304那样地执行。尽管所描述的是顺序执行,然而,图5的方法500中的至少一部分步骤可以同时执行,或者以不同于关于图5所述的次序执行。方法500在步骤502开始,并前进到步骤504。
在步骤504,从目标分组流中的包括N个目标分组的集合中的目标分组中提取线性谱对(LSP)值。在一个实施例中,从包括N个目标分组的集合中的N个目标分组的每一个中提取包括M个LSP值的集合。
在一个实施例中,包括N个目标分组的集合是连续的目标分组。在这个实施例中,N是与目标分组流相关联的目标窗的大小。N的值可以设置为任意值。在一个实施例中,例如,M可以设置在5-10个目标分组的范围内(尽管N的值可以更大或更小)。在一个实施例中,N的值可以动态适配(例如,动态增大或减小)。
在一个实施例中,从N个目标分组的每一个目标分组中提取M个LSP值。在一个实施例中,M的值可以设置为针对每一个目标分组的值。在一个实施例中,例如,M可以设置为针对每一个目标分组10个LSP值(尽管,可以从每一个目标分组中提取出更少或更多LSP值)。
在一个实施例中,从N个目标分组中提取的LSP值的集合可以表示为二维矩阵。该二维矩阵的尺寸是基于M和N设定的,其中M是从每一个目标分组中提取的LSP值的数目,N是从中提取LSP的连续目标分组的数目(即,N是与目标分组流相关联的滑动窗的大小)。针对从N个目标分组中提取的每个集合包括M个LSP值的N个集合所定义的示例性二维矩阵可以表示为:
L i T = l i , 1 T l i , 2 T . . . l i , M T l i + 1,1 T l i + 1,2 T . . . l i + 1 , M T . . . . . . . . . . . . l i + N , 1 T l i + N , 2 T . . . l i + N , M T
如针对从N个连续目标分组中提取的LSP值的集合所定义的二维矩阵所示,l是LSP值,T指示LSP值是从目标分组中提取的,第一下标标识从中提取出LSP值的目标分组(在从i到i+N的范围内),以及第二下标标识从第一下标所标识的目标分组中提取出的LSP值。换言之,表示针对目标分组i所创建的二维矩阵,并且该二维矩阵中的每一行包括从与该二维矩阵的该行中的每一个LSP值相关联的第一下标所标识的目标分组中提取出的M个LSP值。
在步骤506,从参考分组流的包括K+N个参考分组的集合中的参考分组中提取线性谱对(LSP)值。在一个实施例中,从包括K+N个参考分组的群中的K+N个参考分组的每一个参考分组中提取包括M个LSP值的集合。
包括K+N个参考分组的群构成参考分组的K个集合,其中参考分组的K个集合中的每一个集合包括N个参考分组,由此从参考分组的K个集合得到LSP值的K个集合。这使得能够利用每个集合包括N个参考分组的K个集合中的每一个集合来成对地评估包括N个目标分组的集合。在一个实施例中,参考分组的K个集合的每一个集合中的N个参考分组是连续的参考分组。如关于目标分组所描述的,N的值可以设置为任意值,并且在一些实施例中,可以动态地适配N的值。
在一个实施例中,从参考分组的K个集合的每一个集合中的N个参考分组的每一个参考分组中提取M个LSP值。在一个实施例中,M的值等于与目标分组相关联的M的值,由此使得能够利用参考分组的K个集合的每一个集合中所包括的N个参考分组的每一个参考分组中的LSP值来成对地评估N个目标分组中的每一个目标分组的LSP值。如关于目标分组所描述的,M的值可以设置为任意值,并且在一些实施例中,可以在参考分组之间变化。
K的值是一个可配置的参数,可以表示为参考分组的数目。K的值表示需要支持的回声路径延迟。回声路径延迟(以时间为单位)应具有分组采样间隔的粒度。例如,针对EVRC编码,分组采样间隔为20ms。因此,在本示例中,其中需要根据本发明的声学回声消除模块来检测高达500ms的回声路径延迟(例如,在EVRC编码中),K的值应设置为至少25个语音分组(或更大)。
在一个实施例中,从参考分组的K个集合中提取的LSP值的K×N个集合可以表示为一个三维矩阵(M×N×K)或者K个二维矩阵(针对k的特定值,每一个为M×N),其中N是目标窗的大小(因而可知参考窗),K是参考分组集合的数目(其中,K=Kmax-Kmin+1),并且j∈(i-Kmin...i-Kmax)。Kmin和Kmax的值可以设置为任意值(只要值满足K=Kmax-Kmin+1)。例如,在K=25的情况下,Kmin和Kmax可以分别设置为0和24。针对从参考分组的K个集合中提取出的LSP值的K个集合中的每一个集合所定义的示例性二维矩阵可以表示为:
L j R = l j , 1 R l j , 2 R . . . l j , M R l j + 1,1 R l j + 1,2 R . . . l j + 1 , M R . . . . . . . . . . . . l j + N , 1 R l j + N , 2 R . . . l j + N , M R
如针对从K个连续参考分组中提取出的LSP值的K个集合所定义的K个二维矩阵中的每一个矩阵所示,1是LSP值,R指示LSP值是从参考分组中提取出的,第一下标标识从中提取出LSP值的参考分组(在从j到j+N的范围内),以及第二下标标识从第一下标所标识的参考分组中提取出的LSP值。换言之,表示针对参考分组j所创建的二维矩阵,以及该二维矩阵中的每一行包括从与该二维矩阵的该行中的每一个LSP值相关联的第一下标所标识的参考分组中提取出的M个LSP值。
参考图6,可以更好地理解从目标分组中提取LSP值(或其他语音编码参数)、从参考分组中提取LSP值(或其他语音编码参数)、以及对所提取的LSP值的评估(例如,采取成对的方式)。
图6示出了表示目标分组流中的语音分组与参考分组流中的语音分组之间的关系的高层框图,以便对目标分组流和参考分组流的处理进行说明。目标分组流包括目标语音分组。目标语音分组由AEPM(为了清楚起见省略对其的说明)利用目标流缓冲器来进行缓冲。目标流缓冲器存储至少N个目标分组,其中N是用于评估目标分组(以便根据目标分组流来检测和抑制回声)的滑动窗的大小。参考分组流包括参考语音分组。参考语音分组由AEPM利用参考流缓冲器来进行缓冲。参考流缓冲器存储至少K+N个参考分组,其中K是用于与存储在目标缓冲器中的N个目标分组进行比较的每个集合包括N个参考分组的集合的数目。
如图6所示,目标流缓冲器存储4个(N)分组(表示为P1、P2、P3和P4),以及参考流缓冲器存储11个(K+N)分组(表示为P1、P2、...、P10、P11)。换言之,在本示例中,K等于7(可以表示为0到10)针对当前目标窗,通过将参考窗滑动K次(即,每次一个分组)来执行分组比较的K集合。具体而言,针对第一比较,将目标分组P1、P2、P3和P4与相应的参考分组P1、P2、P3和P4进行比较,针对第二比较,将目标分组P1、P2、P3和P4与相应的参考分组P2、P3、P4和P5,等等,一直到第K次比较,在第K次比较中,将目标分组P1、P2、P3和P4与相应的参考分组P8、P9、P10和P11(即,参考分组PK-PK+N)进行比较。
如这里所描述的,分组之间的比较可以包括正在比较的目标分组和参考分组中可用的一种或多种不同类型语音编码参数(例如,利用LSP比较、音量比较等、及其组合中的一个或多个)。参考图5,可以更好地理解利用目标分组与参考分组之间的这种成对关联对目标分组的语音编码参数和参考分组的语音编码参数的评估,因此返回参考图5。
在步骤507(可选步骤),执行预处理。预处理可以包括任意预处理(例如,参照图4的方法400中的步骤407所描述的不同形式的预处理中的一个或多个)。例如,可以忽略所选的目标分组和/或参考分组(例如,执行速率模式匹配,以便忽略被认为不适于比较的语音分组,例如1/8速率语音分组、具有误差的语音分组、包括TeleType信息的语音分组、以及其他被认为不适于比较的语音分组),可以给目标语音分组和/或参考语音分组中的不同分组分配不同的权重,可以动态调整在执行相似性确定中使用的一个或多个阈值,可以抢先给相似性确定的结果分配权重,等等,以及上述情况的各种组合。
如这里所描述的,在一个实施例中,在关于目标语音分组的语音内容与参考语音分组的语音内容之间是否具有相似性的确定期间,可以使用速率模式匹配。
速率模式匹配处理的结果可以在多种情形下使用。在一个实施例中,速率模式匹配处理的结果可以用于减小在关于目标语音分组的语音内容与参考语音分组的语音内容之间是否具有相似性的确定期间所执行的LSP比较的次数(即,不适合的目标分组和参考分组对被忽略,并且不在LSP比较中使用)。在一个实施例中,速率模式匹配处理的结果可以用于确定相似性确定的结果是有效还是无效。速率模式匹配处理的结果可以用于多种其他目的。
在一个实施例中,通过关于相应分组在确定目标语音分组的语音内容与参考语音分组的语音内容之间是否具有相似性中使用的适用性来对分组(目标和/或参考分组)进行分类,执行速率模式匹配处理。可以将分组分配为可比较的(即,适用于确定是否具有相似性)或者不可比较的(即,不适于确定是否具有相似性)。
可以利用各种准则来对分组进行分类。在一个实施例中,可以利用分别从正在被分类的分组中提取的语音编码参数来对分组进行分类。例如,在一个实施例中,可以利用从分组中提取的分组速率信息来对分组进行分类。例如,在这样的一个实施例中,将全速率分组和半速率分组分类为可比较的,而将静默(1/8速率)分组、误差分组和TeleType分组分类为不可比较的。如这里所描述的,可以使用其他准则来将目标和/或参考分组分类为可比较的或不可比较的。
在一个实施例中,其中使用速率模式匹配处理的结果来减小在关于目标语音分组的语音内容与参考语音分组的语音内容之间是否具有相似性的确定期间所执行的LSP比较的次数,仅将可比较的分组用于LSP比较(即,将丢弃或忽略不可比较的分组)。
在一个实施例中,其中使用速率模式匹配处理的结果来确定相似性确定结果的有效性,可以通过下列操作执行速率模式匹配:确定被认为是匹配的相应目标分组和参考分组的数目;确定被认为是可比较的目标分组的数目(相对于不可比较的);通过将具有匹配速率的相应目标分组和参考分组的数目除以被认为是可比较的目标分组的数目来确定速率模式匹配值;以及将速率模式匹配值与速率模式匹配阈值进行比较。如果目标分组和参考分组都被认为是可比较的,则目标分组和参考分组被认为是匹配的(如果目标分组和参考分组之一或二者被认为是不可比较的,则不存在匹配)。可以参考图7的示例来更好地理解这一过程.
图7示出了用于描述速率模式匹配处理的速率模式匹配示例。具体而言,示出了4个速率模式匹配的示例(标注为比较示例710、720、730和740)。如图7所示,每一个比较示例包括4个目标分组(由“T”和分组编号P1、P2、P3和P4表示,并且包括表示相应分组的分组速率的信息)和4个参考分组(由“R”和分组编号P1、P2、P3和P4表示,并且包括表示相应分组的分组速率的信息)的比较。
在比较示例710中,目标分组P1、P2、P3和P4的速率分别为1、1/2、1/8和1/2,以及参考分组P1、P2、P3和P4的速率分别为1/2、1、1和1/2。在本示例中,目标分组与参考分组有3个匹配(P1、P2和P4),并且存在3个可比较的目标分组(P3是不可比较的),因此速率模式匹配值是3/3=100%。由于本示例中的阈值为75%,因此可以认为相关联的相似性确定是有效的(这是因为速率模式匹配值满足速率模式匹配阈值)。
在比较示例720中,目标分组P1、P2、P3和P4的速率分别为1、1/2、1/2和1/2,以及参考分组P1、P2、P3和P4的速率分别为1/2、1、1/8和1/2。在本示例中,目标分组与参考分组有3个匹配(P1、P2和P4),并且存在4个可比较的目标分组,因此速率模式匹配值是3/4=75%。由于本示例中的阈值为75%,因此可以认为相关联的相似性确定是有效的(这是因为速率模式匹配值满足速率模式匹配阈值)。
在比较示例730中,目标分组P1、P2、P3和P4的速率分别为1、1/2、1/8和1/2,以及参考分组P1、P2、P3和P4的速率分别为1/8、1/2、1和1/2。在本示例中,目标分组与参考分组之间存在2个匹配(P2和P4),并且存在3个可比较的目标分组(P3是不可比较的),因此速率模式匹配值是2/3=67%。由于本示例中的阈值为75%,因此可以认为相关联的相似性确定是无效的(这是因为速率模式匹配值不满足速率模式匹配阈值)。
在比较示例740中,目标分组P1、P2、P3和P4的速率分别为1/8、1/2、1/8和1/2,以及参考分组P1、P2、P3和P4的速率分别为1/8、1/2、1和1/2。在本示例中,目标分组与参考分组之间存在2个匹配(P2和P4),并且存在2个可比较的目标分组(P1和P3都是不可比较的),因此速率模式匹配值是2/2=100%。由于本示例中的阈值为75%,因此可以认为相关联的相似性确定是有效的(这是因为速率模式匹配值满足速率模式匹配阈值)。
尽管描述了确定速率模式匹配值的特定方式,然而,可以采用多种其他方式来确定速率模式匹配值。例如,在一个实施例中,可以利用被认为是可比较的参考分组的数目来计算速率模式匹配值(而不是如上所述的利用被认为是可比较的目标分组的数目来计算速率模式匹配值)。可以利用其他方式来计算速率模式匹配值。
尽管主要描述了速率模式匹配阈值为特定值(即,速率模式匹配阈值=75%)的实施例,然而,速率模式匹配阈值可以是任意值。此外,在一些实施例中,速率模式匹配阈值可以是静态的,而在其他实施例中,速率模式匹配阈值可以动态更新(例如,基于所提取的语音编码参数、预处理结果等中的一个或多个、及其各种组合)。
尽管主要描述了分类为可比较的分组或不可比较的分组,然而,可以利用不同的分组类别和/或利用其他分组类别来对语音分组进行分类。尽管主要描述了基于与每一个语音分组相关联的特定信息来进行分类,然而,可以基于各种其他准则和准则的组合(可以包括,或者可以不包括从相应的语音分组中提取的语音编码参数)来对每一个语音分组进行分类。
在一个实施例中,可以在关于目标语音分组的语音内容与参考语音分组的语音内容之间是否具有相似性的确定期间使用速率/类型匹配。
速率/类型匹配处理的结果可以在多种情形下使用。在一个实施例中,速率/类型匹配处理的结果可以用于减小在关于目标语音分组的语音内容与参考语音分组的语音内容之间是否具有相似性的确定期间所执行的LSP比较的次数(即,不适合的目标分组和参考分组对被忽略)。在一个实施例中,速率/类型匹配处理的结果可以用于确定相似性确定的结果是有效还是无效。速率/类型匹配处理的结果可以用于多种其他目的。
在一个实施例中,通过对分组进行分类来执行速率/类型匹配,其中,利用分组速率和分组类型的组合来对每一个分组进行分类。可以基于分组的一个或多个特性来分配类型。例如,在一个实施例中,可以基于分组的编码类型来分配分组类型。将目标窗中的目标分组的分组类别与参考窗中的相应参考分组的分组类别进行比较。给分组比较的不同的可能组合分配相应的权重。将与目标窗中的目标分组与参考窗中的参考分组之间的分组比较相关联的权重之和与阈值进行比较,以确定关联的相似性确定被认为是有效的还是无效的。
例如,在EVRC-B中,存在不同的分组速率(例如,全、半、四分之一、八分之一)和不同的分组编码(例如,CELP、PPP、NELP)。利用分组速率和分组类型的组合,当前存在9种分组类别(例如,全速率、半速率、以及特定的半速率CELP;全速率、特定的半速率、以及四分之一速率的PPP;特定的半速率和四分之一速率的NELP;以及八分之一速率的静默),可以提供81种可能的置换。在这个EVRC-B示例中,可以给每一个分组类型比较分配权重。例如,给作为全速率CELP的目标分组与作为全速率CELP的参考分组的比较分配权重,给作为四分之一速率的NELP的目标分组与作为特定的半速率PPP的参考分组的比较分配权重,等等。通过下列方式来对目标分组的目标窗与参考分组的参考窗的相似性确定进行评估:将在将目标分组与参考分组进行比较时所识别的比较类型的权重求和,并将权重之和与阈值进行比较。
由于本EVRC-B示例导致至少9种不同的分组类别,为了清楚地描述速率/类型匹配,假设存在三种分组类别,表示为A、B和C。在这个简化的示例中,目标分组与参考分组之间存在9种可能的分组比较组合,即,A-A(0)、A-B(1)、A-C(2)、B-A(1)、B-B(0)、B-C(3)、C-A(2)、C-B(3)和C-C(0),其中每一种都被分配了关联权重(在紧跟在比较类型之后的括号中列出)。在本示例中,假定阈值是2,以使得在权重之和小于或等于2时,相似性确定是有效的,而在权重之和大于2时,相似性确定是无效的。
结合本示例,假定存在目标窗与参考窗的第一比较。目标窗是(B、A、C、A),参考窗是(A、B、C、A),这使得分组比较(B-A、A-B、C-C、A-A)的关联权重为(1、1、0、0)。在本示例中,权重之和为2,这等于阈值。因此,在本示例中,确定相似性确定是有效的。
继续本示例,假定存在目标窗与参考窗的第二比较。目标窗是(C、B、C、A),参考窗是(A、B、C、A),这使得分组比较(C-A、B-B、C-C、A-A)的关联权重为(2、0、0、0)。在本示例中,权重之和为2,这等于阈值。因此,在本示例中,确定相似性确定是有效的。
继续本示例,假定存在目标窗与参考窗的第三比较。目标窗是(A、C、C、A),参考窗是(A、B、C、A),这使得分组比较(A-A、C-B、C-C、A-A)的关联权重为(0、3、0、0)。在本示例中,权重之和为3,这大于阈值。因此,在本示例中,确定相似性确定是无效的。
尽管主要描述了权重均匀的示例(例如,A-B的权重为1,以及B-A的权重为1),然而,在其他实施例中可以使用不均匀的权重(例如,A-B的权重为1,以及B-A的权重为3)。尽管关于权重之和低于阈值指示相似性确定为有效的实施例进行描述,然而,在其他实施例中,可以给分组比较分配权重,以使得权重之和高于阈值指示相似性确定是有效的。尽管描述了权重和阈值的特定值,然而,可以使用权重和阈值的各种其他值(包括静态阈值和/或动态阈值)。
尽管主要描述了使用速率/类型匹配结合LSP比较来确定目标分组的语音内容与参考分组中的语音分组之间是否具有相似性(例如,用于确定利用LSP比较所进行的相似性确定是有效的还是无效的),然而,在一个实施例中,也可以使用速率/类型匹配代替LSP比较来确定目标分组的语音内容与参考分组中的语音分组之间是否具有相似性。在本实施例中,权重之和与阈值的比较用于确定目标分组的语音内容与参考分组中的语音分组之间是否具有相似性(而并非如上所述的用于确定利用LSP比较所进行的相似性确定的有效性)。
在步骤508,产生距离向量(表示为)。距离向量包括K个距离值,这K个距离值被计算为从N个目标分组中提取的LSP值与从在窗口i-Kmin...i-Kmax期间接收到的每个集合包括N个参考分组的K个集合中提取的LSP值的K个集合中的每一个集合之间的距离。具体而言,将与以目标分组i开始的N个目标分组的窗相对应的距离向量定义为如下的K个距离值的向量(其中K=Kmax-Kmin+1):其中每一个距离值(Kmin≤k≤Kmax)如下定义为:
e i , k T = Σ l = i i + N Σ α = 1 M ( l 1 , α T - l 1 - k , α R ) 2
在步骤510,识别距离向量的最小距离值(针对 )。在步骤512,将最小距离值与阈值(表示为LSP相似性阈值eth)进行比较,以确定该最小距离值是否满足LSP相似性阈值eth。该比较可以如下执行:
在一个实施例中,LSP相似性阈值eth是预定阈值。在一个实施例中,LSP相似性阈值eth是动态可调的。在一个实施例中,LSP相似性阈值eth可以基于提取的语音编码参数而动态适配。例如,在一个这样的实施例中,LSP相似性阈值eth可以是对所提取的语音编码参数的动态适配处理(例如,所提取的语音编码参数可以在预处理器期间、在LSP相似性确定处理期间等、及其各种组合期间处理)。
例如,在一个实施例中,LSP相似性阈值eth可以基于从目标分组和/或参考分组提取的音量信息而动态适配。例如,在一个这样的实施例中,当目标分组的语音内容的音量较低(例如,低于阈值)时,LSP相似性阈值eth可以增大(这是因为,如果目标分组的语音内容的音量较低,编码后的语音可能由于量化/编码效应而失真)。尽管主要关于基于语音内容的音量来适配LSP相似性阈值eth进行描述,然而,LSP相似性阈值eth可以基于各种其他参数来适配(即,增大或减小)。
如这里所描述的,将距离向量的最小距离值与LSP相似性阈值eth进行比较,以确定是否针对当前目标分组(即,目标分组i)检测到了相似性。如果则针对当前目标分组没有检测到相似性(如步骤514所示),并且方法500从步骤514返回步骤504,以针对下一个当前目标分组(即,i=i+1)而重新执行方法500。如果则针对当前目标分组检测到相似性(如步骤516所示),则方法500从步骤516返回步骤504,以针对下一个当前目标分组(即,i=i+1)而重新执行方法500。
尽管主要描述了对从目标分组和参考分组集合中提取的LSP值的矩阵的维持,然而,可以利用能够对所提取的LSP值进行评估的任意方式来维持所提取的LSP值。尽管主要描述了产生包括K个距离值在内的距离向量然而,可以在不利用向量维持K个距离值的情况下,计算分别与LSP值的K个集合相关联的K个距离值(例如,可以将K个距离值简单地存储在存储器中用于对K个距离值进行处理,以确定是否识别出相似性)。
尽管这里主要描述了在其中将最小距离值(即,唯一一个距离值)与LSP相似性阈值进行比较以确定是否识别出相似性的实施例,然而,在其他实施例中,可以将多个距离值与LSP相似性阈值进行比较,以确定是否识别出相似性。例如,在一个这样的实施例中,为了识别出相似性,特定数目的距离值可以低于LSP相似性阈值(即,为了识别出相似性,距离值的阈值数目必须小于LSP相似性阈值)。
尽管这里主要描述了其中在执行与LSP相似性阈值的比较之前计算距离向量中的所有距离值的实施例,然而,在一个实施例中,在计算距离值时,可以将距离向量中的每一个距离值与LSP相似性阈值进行比较。
在一个这样的实施例中,其中为了识别出相似性而需要唯一一个距离值小于LSP相似性阈值,可以响应于距离值之一小于LSP相似性阈值的确定(即,不是计算距离向量中的剩余距离值)来识别相似性。例如,在K=25的情况下,在检测到小于LSP相似性阈值的第一个距离值(这可以在计算从1到25个距离值中的任意距离值之后确定)时,认为已经识别出相似性。
在另一个这样的实施例中,其中为了识别出相似性而需要多个距离值小于LSP相似性阈值(例如,阈值数目个距离值必须小于LSP相似性阈值),可以响应于关于阈值数目个距离值小于LSP相似性阈值的确定(即,不是计算距离向量中的剩余距离值)来识别相似性。例如,在K=25,以及为了识别相似性,25个距离值中的至少10个必须小于LSP相似性阈值的情况下,在检测到小于LSP相似性阈值的第十个距离值(这可以在计算从10到25个距离值中的任意距离值之后确定)时,认为已经识别出相似性。
尽管主要描述了利用所提取的LSP值计算距离值的实施例,然而,在其他实施例中,可以利用加权的LSP值来计算距离值。
例如,在一个实施例中,在计算距离值之前,可以给从每一个目标分组和每一个参考分组中提取的M个LSP值中的每一个分配权重,并根据所分配的权重来调整LSP值。
例如,在另一个实施例中,针对每一个语音分组,可以基于语音分组的一个或多个其他特性给从语音分组中提取的LSP值的和分配权重。例如,可以基于分组类型(例如,半速率、全速率等等)、分组类别(例如,可比较的和/不可比较的,以及其他类别)、置信度(例如,可以与所提取的语音编码参数(例如,音量、速率等)、一个或多个顺序导出的度量等等中的一个或多个及其各种组合成比例)中的一个或多个来给从语音分组中提取的LSP值的和分配权重。
尽管主要描述了距离值是Euclidean距离值的实施例,然而,在其他实施例中,可以使用其他类型的距离值来确定目标分组的语音内容与参考分组的语音内容之间是否具有相似性。例如,可以使用诸如线性距离值、立方距离值等之类的其他类型的距离值来确定目标分组的语音内容与参考分组的语音内容之间是否具有相似性。
此外,尽管主要描述了使用距离值来确定目标分组的语音内容与参考分组的语音内容之间是否具有相似性的实施例,然而,可以利用其它类型的比较来执行关于目标分组的语音内容与参考分组的语音内容之间是否具有相似性的确定。
如图5所示,在一个实施例中,可以执行可选的后处理。后处理可以包括任意优化启发。在一个实施例中,后处理可以在进行关于识别相似性的最终确定之前执行。在一个这样的实施例中,后处理是利用确定所识别的相似性是有效或是无效的方式来执行的。换言之,后处理可以采用试图消除错误肯定来执行(即,以便消除对于目标分组的语音内容与参考分组的语音内容之间的相似性的错误识别)。
如图5所示,在执行后处理的实施例中,如果在步骤512识别相似性,方法500从步骤512前进到步骤515(并不是直接前进到步骤516).在步骤515A,执行可以包括一个或多个优化启发的后处理,以评估对所识别的相似性的有效性(即,以确定在步骤512识别的相似性是否是错误肯定)。在步骤515B,确定所识别的相似性是否有效。关于所识别的相似性是否有效的确定是基于后处理进行的。
如果所识别的相似性不是有效的(即,确定所识别的相似性是错误肯定),那么针对当前目标分组没有识别相似性(即,方法500前进到步骤514),并且方法500从步骤514返回步骤504,以针对下一个当前目标分组(即,i=i+1)而重新执行方法500。如果所识别的相似性是有效的(即,确定所识别的相似性不是错误肯定),针对当前目标分组识别相似性(即,方法500前进到步骤516),并且方法500从步骤516返回步骤504,以针对下一个当前目标分组(即,i=i+1)而重新执行方法500。
后处理可以采用任意评估所识别的相似性是否有效的方法来执行。在一个实施例中,后处理可以利用从目标分组和参考分组中提取的LSP值来执行。在一个实施例中,后处理可以利用从目标分组和/或参考分组(例如,速率信息、编码类型信息、音量/功率信息、增益信息等及其各种组合)所提取的其他语音编码参数来执行。可以随时(例如,在提取LSP值时、在利用所提取的LSP值识别相似性之后等等)从目标分组和参考分组中提取其他语音编码参数。在一个实施例中,可以如图4的方法400中的步骤409所示意地执行后处理。
在一个实施例中,在识别目标分组流的语音内容与参考分组流的语音内容之间的相似性时,可以评估所识别的相似性的有效性。可以利用多种不同的方式来执行对于所识别的相似性的有效性的评估。如这里所描述的,对于所识别的相似性的有效性的评估可以利用对于目标语音分组和参考语音分组、速率模式匹配、速率/类型匹配等、及其各种组合的评估来执行。
在一个实施例中,对于所识别的相似性的有效性的评估可以利用目标分组的语音内容的音量特性与参考分组的语音内容的音量特性的比较来执行。对于所识别的相似性的有效性的评估可以利用音量特性的比较结合或代替其他评估所识别的相似性的有效性的方法来执行。
在一个这样的实施例中,从每一个目标分组中提取音量信息,以及从每一个参考分组中提取音量信息,以及对所提取的音量信息进行评估。所提取的音量信息可以采取成对方式来评估(即,采用与参照图5所示的成对LSP比较相似的方式)。音量信息可以采取任意方式、在过程中的任意点提取。例如,可以如同提取LSP信息一样地提取音量信息,或者可以仅在识别相似性之后提取音量信息(例如,以防止在不需要执行音量比较的情况下提取音量信息)。
在一个实施例中,执行K次音量比较,即,针对N个目标分组之一与每个集合包括N个参考分组的K个集合之一的每一个组合执行一次音量比较。在本实施例中,针对N个目标分组之一与每个集合包括N个参考分组的K个集合之一的每一个组合,计算音量比较值,由此产生包括K个音量比较值的集合(或向量)。在一个实施例中,将K个音量比较值中的每一个与音量阈值vTH进行比较。如果音量比较值满足vTH,则认为针对N个目标分组与每个集合包括N个参考分组的K个集合中的关联集合的组合的关联LSP比较是有效的;以及如果音量比较值不满足vTH,则认为针对N个目标分组与每个集合包括N个参考分组的K个集合中的关联集合的组合的关联LSP比较是无效的。
在一个实施例中,将K个音量比较值计算为从N个目标分组中提取的音量值与在窗i-Kmin...i-Kmax-N期间接收到的每个集合包括N个参考分组的K个集合中提取的K个音量值集合中的每一个集合中提取的音量值之间的比值。在一个实施例中,K个音量比较值形成音量比较向量(表示为)。在本实施例中,将对应于以目标分量i开始的N个目标分组的窗的音量比较向量如下定义为K(其中K=Kmax-Kmin+1)个音量比较值的向量:在一个实施例中,如下计算音量比较值(其中Kmin≤k≤Kmax):
v i , k T = v k R v k T + v k + 1 R v k + 1 T + . . . + v k + N R v k + N T / N
尽管主要就使用速率模式匹配、速率/类型匹配、和/或音量比较技术来确定所识别的相似性是否有效来进行描述,然而,可以使用从目标语音分组和/或参考语音分组提取的各种其他语音编码参数来确定所识别的相似性是否有效。例如,FCB增益信息、ACB增益信息、基音信息等中的一个或多个、及其各种组合,可以用于确定所识别的相似性是否有效。
如图5所示,如果针对当前目标分组识别出相似性(如步骤516所示),则自动将回声尾识别为相似性确定的副产物。将回声路径延迟计算为DELAY=k*f,其中k是与最小距离值相关联的k的值(即,在图5的方法500中的步骤510处所识别的),f是根据所使用的编码类型而变化的采样间隔(例如,针对EVRC编码为20ms)。因此,利用本发明,可以将回声路径延迟确定为关于目标分组流的目标分组所传送的语音内容与参考分组流的参考分组所传送的语音内容之间是否具有相似性的确定的副产物。
如这里所描述的,在确定目标分组的语音内容是否包括参考分组的语音内容的回声中,可以利用或者可以不利用滞后现象。在不利用滞后现象的实施例中,基于针对当前目标分组所执行的处理来识别相似性被认为是对目标分组流的语音内容中的参考分组流的语音内容的回声的识别。在利用滞后现象的实施例中,基于针对当前目标分组所执行的处理来识别相似性可以被认为是对目标分组流的语音内容中的参考分组流的语音内容的回声的识别,也可以被认为不是(即,确定将取决于一个或多个滞后现象的条件)。
在一个实施例中,滞后现象在本发明的回声检测中的应用可能需要在确定是否检测到回声之前,针对h个连续目标分组识别相似性(即,识别相似性的方法500的h次连续执行)。在一个实施例中,只要在连续目标分组中继续识别相似性(例如,针对多于h个连续目标分组中的每一个目标分组),目标分组的语音内容可以被认为包括参考分组的语音内容的回声。在一个实施例中,目标分组的语音内容可以被认为包括参考分组的语音内容的回声,直到处理完h个连续目标分组而没有识别出相似性为止。换言之,在h=1的情况下,识别单个相似性被认为是检测到回声(即,h=1是无滞后现象的实施例)。
在一个实施例中,可以利用与每一个目标分组流相关联的状态来管理滞后现象确定。在一个这样的实施例中,每一个目标分组流可以一直处于下列两种状态之一:无回声状态(即,认为没有检测到回声的状态);以及回声状态(即,认为已检测到回声的状态)。如果目标分组流处于无回声状态,则目标分组流在针对h个连续分组识别出相似性之前保持在无回声状态,在针对h个连续分组识别出相似性时,将目标分组流切换到回声状态。如果目标分组流处于回声状态,则目标分组流在已经处理完h个(或者某个其他数目)的连续目标分组而没有识别出相似性之前保持在回声状态,在已经处理完h个(或者某个其他数目)的连续目标分组而没有识别出相似性时,将目标分组流切换到无回声状态。
因此,关于需要在检测到回声之前针对h个连续目标分组识别出相似性的滞后现象,在这种情况下方法500依照图3的方法300中的步骤304执行,在图5中的方法500的h次连续执行导致识别出相似性之前,需要重复图3的方法300中的步骤。换言之,尽管为了清除起见没有进行说明,然而,方法300中的步骤306可以通过防止在图5中的方法500的h次连续执行导致识别出相似性之前检测到回声来实现滞后现象。此外,在利用滞后检测回声的情况下,在向目标分组应用回声抑制之前,可以响应于已检测到回声的首次确定来执行附加的后处理。附加的后处理(可以操作为排在图3中的步骤306与步骤308之前的附加处理步骤)可以是任意类型的后处理,包括与参考图4中的步骤409和图5中的步骤515所描述的后处理类似的后处理,但不局限于此。
尽管主要描述了利用分组网络内部署的声学回声处理模块(示意性地,利用部署在图1的分组网络102内的AEPM 120)来提供回声检测和抑制,然而,本发明的回声检测和抑制功能可以在最终用户终端(这里,指的是基于终端的工具)上实现。参考图7和8,可以更好地理解对于本发明的基于终端的工具的使用。
图8示出了通信网络的高层框图,在该通信网络中,在最终用户终端内实现本发明的回声检测和抑制功能。具体而言,图8中的通信网络800包括通过分组网络802进行通信的最终用户终端803A和最终用户终端803Z。具体地说,分组网络802支持最终用户终端803A与最终用户终端803Z之间的基于分组的语音呼叫。如图8所示,最终用户终端803A包括AEPM 813A,最终用户终端803Z包括AEPM 813Z。AEPM 813A为终端103A的最终用户A提供本发明的回声检测和抑制功能(以及可选地,可以为终端103Z的最终用户Z提供回声检测和抑制),以及类似地,AEPM 813Z为终端103Z的最终用户Z提供本发明的回声检测和抑制功能(以及可选地,可以为终端103A的最终用户A提供回声检测和抑制)。
尽管主要描述了基于分组的语音呼叫的每一个最终用户终端803包括AEPM 813的语音呼叫,然而,在基于分组的语音呼叫中所涉及的最终用户中的仅有一个最终用户正在使用包括AEPM 813的最终用户终端803的情况下,也可以提供本发明的回声检测和抑制功能。在一个这样的实施例中,当最终用户终端803的AEPM 813支持单向回声检测和抑制,最终用户中只有一个最终用户会意识到本发明的回声检测和抑制功能的好处(即,与最终用户终端803相关联的本地最终用户很可能包括AEPM 813,尽管可以向远程终端用户提供回声检测和抑制作为替代)。在另一个这样的实施例中,在最终用户终端803的AEPM813支持双向回声检测和抑制的情况下,最终用户双方将认识到本发明的回声检测和抑制的好处。
图9示出了通信网络的高层框图,在通信网络中,在最终用户终端内实现本发明的回声检测和抑制功能。具体而言,图9中的通信网络900包括通过分组网络902进行通信的最终用户终端803A和最终用户终端803Z,其中每一个最终用户终端803包括用于支持语音通信的组件。如图9所示,最终用户终端803包括用于支持通过分组网络的语音通信的组件,例如音频输入设备(例如,麦克风)、音频输出设备(例如,扬声器)以及网络接口。
具体而言,最终用户终端803A包括音频输入设备804A、网络接口805A以及音频输出设备806A,最终用户终端803Z包括音频输入设备804Z、网络接口805Z以及音频输出设备806Z。音频输入设备804和音频输出设备利用与图1的最终用户终端103中的音频输入设备104和音频输出设备106相似的方式进行操作。最终用户终端803中的组件可以是单独的物理设备,或者可以组合在一个或多个物理设备中。例如,最终用户终端803可以包括计算机、VoIP电话等。
网络接口805利用与图1中的网络接口105关于编码/解码能力、分组化能力等相似的方式进行操作;然而,与图1中的最终用户终端103不同的是,图9中的最终用户终端803A(以及,可选地为最终用户终端803Z)适于包括支持本发明的回声检测和抑制/消除功能的AEPM。网络接口805A包括编码器811A、网络流化传输模块812A、AEPM 813A和解码器814A。最终用户终端803Z包括编码器811Z、网络流化传输模块812Z、AEPM 813Z和解码器814Z
最终用户终端803A向最终用户终端803Z提供话音。音频输入设备804A拾取最终用户A的话音(为了清楚起见,假设最终用户终端803A处没有回声耦合)。音频输入设备804A将话音提供给编码器811A,编码器811A对话音进行编码。编码器811A将编码后的话音提供给网络流化传输模块812A,以通过分组网络802面向最终用户终端803Z对编码后的话音进行流化传输。编码器还将编码后的话音提供给AEPM 813A,以用作检测和抑制/消除目标分组流(接收自最终用户终端803Z)中的最终用户A的话音的回声的参考分组流。最终用户终端803Z接收来自最终用户终端803A的流化传输的编码后的话音。网络流化传输模块812Z接收来自最终用户终端803A的流化传输的编码后的话音。网络流化传输模块812Z将编码后的话音提供给解码器814A。解码器814Z对编码后的话音进行解码,并将解码后的最终用户A的话音提供给音频输出设备806Z,音频输出设备806Z播放最终用户A的话音。
最终用户终端803Z向最终用户终端803A提供话音。音频输入设备804Z拾取最终用户Z的话音。最终用户A的话音(即,音频输出设备806Z所播放的话音)也可以由音频输入设备804Z拾取(即,作为回声)。音频输入设备804Z将话音提供给编码器811Z,编码器811Z对话音进行编码。编码器811Z将编码后的话音提供给网络流化传输模块812Z,以通过分组网络802面向最终用户终端803A对编码后的话音进行流化传输。最终用户终端803A接收来自最终用户终端803Z的流化传输的编码后的话音。网络流化传输模块812A接收来自最终用户终端803Z的流化传输的编码后的话音。网络流化传输模块812A将编码后的话音提供给AEPM 813A,以用作检测和抑制目标分组流中的最终用户A的话音的回声的目标分组流。AEPM 813A检测并抑制/消除任意回声,并将适配的目标分组流提供给解码器814Z。解码器814A对编码后的话音进行解码,并将解码后的最终用户Z的话音提供给音频输出设备806A,音频输出设备806A播放最终用户Z的话音。
如图9所示,由于最终用户终端803A可以使用从最终用户终端803A发送到最终用户终端803Z的语音分组的原始流(表示为参考分组流),并且可以使用从最终用户终端803Z发送到最终用户终端803A的语音分组的返回流(表示为目标分组流),因此最终用户终端803A能够应用本发明的回声检测和抑制功能来检测并抑制与最终用户终端803A相关联的最终用户A的回声。然而,如图9所示,最终用户终端通过以执行本发明的回声检测和抑制/消除处理的为目的的各种其他方式来访问参考分组流和目标分组流。
参照图9,在一个在最终用户终端上实现回声检测和抑制/消除的实施例中,可以将本发明的回声检测和抑制/消除功能应用于处于接收中的最终用户终端上的目标分组流。例如,最终用户终端803A中的AEPM 813A可以应用回声处理来防止回声被包括在从最终用户终端803A播出的音频中(即,在目标分组流已经从最终用户终端803Z穿过分组网络802之后应用回声处理)。类似地,例如,最终用户终端803Z中的AEPM 813Z可以应用回声处理来防止回声被包括在从最终用户终端803Z播出的音频中(即,在目标分组流已经从最终用户终端803A穿过分组网络802之后应用回声处理)。
参照图9,在一个在最终用户终端上实现回声检测和抑制/消除的实施例中,可以对于处于接收中的最终用户终端上的目标分组流实现本发明的回声检测和抑制/消除功能。例如,最终用户终端803Z中的AEPM 813Z可以应用回声处理来防止回声被包括在从最终用户终端803A播出的音频中(即,在目标分组流已经从最终用户终端803Z穿过分组网络802到达最终用户终端803A之后前应用回声处理)。类似地,例如,最终用户终端803A中的AEPM 813A可以应用回声处理来防止回声被包括在从最终用户终端803Z播出的音频中(即,在目标分组流已经从最终用户终端803A穿过分组网络802到达最终用户终端803Z之前应用回声处理)。
此外,尽管主要作为备选实施例进行描述,然而,在一个实施例中,最终用户终端可以支持两个传输方向上的回声检测和抑制。在一个这样的实施例中,可以在下列情况下实现单个AEPM:(1)在编码器与网络流化传输模块之间,用于在目标分组流穿过网络之前提供发送方向的回声检测和抑制;以及(2)在网络流化传输模块与解码器之间,用于在目标分组流穿过网络之后提供接收方向的回声检测和抑制。在另一个实施例中,最终用户终端可以利用分别针对发送方向和接收方向的分离的AEPM来实现。
因此,应注意,在两个最终用户终端通过分组网络参与基于分组的语音呼叫的情况下,两个最终用户终端中只有一个包括本发明的回声检测和抑制功能,但是,一个最终用户终端能够在两个传输方向上提供回声检测和抑制,因此使用不支持基于分组的回声检测和抑制的最终用户仍然可以享受基于分组的回声检测和抑制的好处。
尽管主要关于在双向语音呼叫中的一个传输方向上提供回声检测和抑制进行描述,然而,可以在双向语音呼叫中的两个传输方向上提供根据本发明的回声检测和抑制。在一个实施例中,利用基于网络的实现,可以在两个传输方向上提供回声检测和抑制(即,在两个传输方向都穿过基于网络的AECM)。在一个实施例中,利用基于终端的实现,可以在两个传输方向上提供回声检测和抑制(即,两个最终用户终端都包括AECM)。在一个实施例中,利用基于网络的实现与基于终端的实现的组合,可以在两个传输方向上提供回声检测和抑制。例如,在仅有一个最终用户终端包括AECM的情况下,可以由最终用户终端在一个传输方向上以及由网络在另一传输方向上(或者由网络在两个传输方向上)提供回声消除和抑制。
尽管主要关于两个最终用户之间的基于分组的语音呼叫进行描述,然而,本发明的回声检测和抑制功能可以用于两个以上最终用户之间的基于分组的语音呼叫之间的回声检测和抑制。在一个这样的实施例中,为了检测并抑制参与基于分组的语音呼叫的最终用户的不同组合之间的回声,可以利用基于网络的回声检测和抑制和/或基于终端的回声检测和抑制。
尽管主要关于一个语音呼叫进行描述,然而,可以针对网络所支持的每一个语音呼叫来执行本发明。针对基于网络的实现,根据AEPM的设计,一个AEPM能够支持网络所能够支持的音量,或者备选地,可以在网络内部署多个AEPM,以便针对网路所能够支持的所有语音呼叫,都可以支持本发明的回声检测和抑制功能。针对基于终端的实现,当最终用户以包括提供本发明的回声检测和抑制功能的AEPM的增强的用户终端来代替现有的用户终端时,对于本发明的回声检测和抑制功能的支持的缩放将出现变化。
在一个实施例中,采用本发明的回声检测和抑制功能的基于网络的实现与基于终端的实现的组合。该组合的实现可以针对多种不同的原因实现,例如,为了在用户终端从现有的最终用户终端(不包括本发明的AEPM)切换到包括提供本发明的回声检测和抑制功能的AEPM的最终用户终端的转换期间提供回声检测和抑制。基于网络的实现与基于终端的实现之间的平衡可以采用多种不同方式管理。
在一个这样的实施例中,例如,基于终端的实现的估计可以用于对基于网络的实现进行缩放(例如,在使用基于网络的实现给不具有支持本发明的回声检测和抑制能力的最终用户终端的最终用户提供回声检测和抑制的情况下)。换言之,在最终用户开始从现有的最终用户终端(不包括本发明的AEPM)切换到包括提供本发明的回声检测和抑制功能的AEPM的最终用户终端时,可以将基于网络的实现的范围相应地缩放回去。
尽管主要关于为点到点呼叫的语音内容提供回声检测和抑制进行描述,然而,可以使用本发明的回声检测和抑制功能为多方呼叫(例如,召开语音会议)的语音内容提供回声检测和抑制。尽管主要关于为语音内容提供回声检测和抑制,然而,可以使用本发明的回声检测和抑制功能来给其他类型的音频内容提供回声检测和抑制。类似地,尽管这里主要关于为音频内容提供回声检测和抑制,然而,可以使用本发明的回声检测和抑制功能来给其他类型的内容(可以包括回声)提供回声检测和抑制。例如,尽管主要关于声学回声的检测和抑制进行描述,然而,本发明可以用于检测并抑制可以被引入到基于音频的通信系统的其他类型的回声(例如,线性回声、混合回声等,以及各种组合)。换言之,本发明并不旨在局限于回声类型或可以引入回声的内容类型。
图10示出了适于执行这里所描述的功能的通用计算机的高层框图。如图10所描述的,系统1000包括处理器元件1002(例如,CPU)、存储器1004(例如随机存取存储器(RAM)、和/或只读存储器(ROM))、声学回声处理模块(AEPM)1005、以及各种输入/输出设备1006(例如,包括但不局限于磁带驱动器、软盘驱动器、硬盘驱动器或致密盘驱动器的存储设备、接收机、发送机、扬声器、显示器、输出端口和用户输入设备(例如,键盘、键区、鼠标等))。
应注意,本发明可以利用软件和/或软件和硬件的组合来实现,例如,使用专用集成电路(ASIC)、通用计算机或任意其他硬件等同物。在一个实施例中,本发明的AEC处理1005可以加载到存储器1004内,并由处理器1002执行用于实现上述功能。这样的话,本发明的AEC处理1005(包括关联数据结构)可以存储在计算机只读介质或载体中,例如RAM存储器、磁盘或光盘或磁碟等。
可以想到,这里所讨论的作为软件方法的步骤中的一些可以在硬件内实现,例如作为与处理器协作执行各种方法步骤的电路。本发明的一部分可以实现为计算机程序产品,其中计算机处理的计算机指令将计算机的操作适配为调用或以其他方式提供本发明的方法和/或计算。调用本发明的指令可以存储在固定或可移动的媒体中、在广播或其他信号承载介质中的数据流发送、和/或存储在根据指令进行操作的计算设备内的处理设备内。
尽管这里详细描述了结合本发明教导的各个实施例,然而,本领域技术人员可以很容易想到仍然结合这些教导的许多其他变化的实施例。

Claims (9)

1.一种用于在基于分组的通信网络中检测回声的方法,包括:
从目标分组流的目标分组中提取语音编码参数;
从参考分组流的参考分组中提取语音编码参数;
比较来自所述目标分组流的所述语音编码参数与所述参考分组流的所述语音编码参数;
使用来自所述目标分组流的所述语音编码参数与所述参考分组流的所述语音编码参数的所述比较来确定所述目标分组流的语音内容与所述参考分组流的语音内容之间的相似性;以及
基于关于所述目标分组流的语音内容是否与所述参考分组流的语音内容相似,确定所述目标分组流是否包括所述参考分组流的回声。
2.根据权利要求l所述的方法,还包括:
响应对所述目标分组流包括所述参考分组流的回声的确定,抑制所述目标分组流中的回声。
3.根据权利要求1所述的方法,其中,确定所述目标分组流的语音内容是否与所述参考分组流的语音内容相似包括:
(a)从所述目标分组流的目标分组中与滑动窗相关联的连续目标分组的集合中提取LSP集合;
(b)从所述参考分组流的参考分组中的连续参考分组的K个集合中提取K个LSP集合;
(c)将来自所述目标分组流的LSP集合与来自所述参考分组流的K个LSP集合中的每一个集合进行比较;以及
(d)使用来自所述目标分组流的LSP集合与来自所述参考分组流的K个LSP集合中的每一个集合的比较,确定所述目标分组流的语音内容是否与所述参考分组流的语音内容相似。
4.根据权利要求3所述的方法,其中,将来自所述目标分组流的LSP集合与来自所述参考分组流的K个LSP集合中的每一个集合进行比较的步骤(c)包括:
(c1)选择来自所述参考分组流的K个LSP集合中的一个集合;
(c2)计算来自所述目标分组流的LSP集合与来自所述参考分组流的K个LSP集合中的所选集合的距离值;
(c3)针对来自所述参考分组流的K个LSP集合中的每一个集合重复步骤(c1)-(c2);
(c4)将所述距离值中的至少一个与LSP相似性阈值进行比较;
(c5)响应对所述距离值中的至少一个满足所述LSP相似性阈值的确定,识别所述目标分组流的语音内容与所述参考分组流的语音内容之间的相似性。
5.根据权利要求1所述的方法,其中,关于所述目标分组流的语音内容是否与所述参考分组流的语音内容相似的确定是利用速率/模式匹配、速率/类型匹配和音量比较中的至少一个来执行的。
6.根据权利要求5所述的方法,其中,速率/模式匹配包括:
从所述目标分组流的目标分组中与滑动窗相关联的连续目标分组的集合中提取语音编码参数的集合;
从所述参考分组流的参考分组中的连续参考分组的K个集合中提取语音编码参数的K个集合;
将所述目标分组和所述参考分组中的每一个分类为可比较的或不可比较的,其中,利用从相应分组提取的分组速率信息来对所述目标分组和所述参考分组进行分类;
将来自所述目标分组流的语音编码参数的集合与来自所述参考分组流的语音编码参数的K个集合中的每一个集合进行比较,而忽略从被分类为不可比较的分组中提取的语音编码参数;以及使用来自所述目标分组流的语音编码参数的集合与来自所述参考分组流的语音编码参数的K个集合中的每一个集合的比较,确定所述目标分组流的语音内容是否与所述参考分组流的语音内容相似。
7.根据权利要求5所述的方法,其中,速率/型匹配包括:
使用分组速率和分组类型对所述目标分组流的目标分组中的连续目标分组的集合中的每一个目标分组进行分类;
使用分组速率和分组类型对所述参考分组流的参考分组中的连续参考分组的K个集合中的每一个目标分组进行分类;以及
针对参考分组的K个集合中的每一个集合,执行以下步骤:
将目标分组的分组类别与所述参考分组集合中的参考分组的分组类别进行比较;
确定与所述目标分组的分组类别和所述参考分组的分组类别的每一比较相关联的权重;
通过将相应比较的权重求和来计算速率/类型匹配值;以及将所述速率/类型匹配值与速率/类型匹配阈值进行比较。
8.根据权利要求5所述的方法,其中,所述音量比较技术包括:
从所述目标分组流的目标分组中的连续目标分组的集合中提取音量值的集合;
从所述参考分组流的参考分组中的连续参考分组的K个集合中提取音量值的K个集合;
利用来自所述目标分组的音量值集合和来自所述参考分组的K个集合的音量值集合来计算K个音量比较值;以及将所述K个音量比较值中的每一个与音量阈值进行比较。
9.一种用于在基于分组的通信网络中检测回声的设备,包括:
用于从目标分组流的目标分组中提取语音编码参数的装置;
用于从参考分组流的参考分组中提取语音编码参数的装置;
用于比较来自所述目标分组流的所述语音编码参数与所述参考分组流的所述语音编码参数的装置;
用于使用来自所述目标分组流的所述语音编码参数与所述参考分组流的所述语音编码参数的所述比较来确定所述目标分组流的语音内容与所述参考分组流的语音内容之间的相似性的装置;以及用于基于关于所述目标分组流的语音内容是否与所述参考分组流的语音内容相似来确定所述目标分组流是否包括所述参考分组流的回声的装置。
CN200880123600.XA 2007-12-31 2008-12-17 用于在分组网络中检测和抑制回声的方法和设备 Expired - Fee Related CN101933306B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/967,338 2007-12-31
US11/967,338 US20090168673A1 (en) 2007-12-31 2007-12-31 Method and apparatus for detecting and suppressing echo in packet networks
PCT/US2008/013803 WO2009088431A1 (en) 2007-12-31 2008-12-17 Method and apparatus for detecting and suppressing echo in packet networks

Publications (2)

Publication Number Publication Date
CN101933306A CN101933306A (zh) 2010-12-29
CN101933306B true CN101933306B (zh) 2015-05-20

Family

ID=40404489

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200880123600.XA Expired - Fee Related CN101933306B (zh) 2007-12-31 2008-12-17 用于在分组网络中检测和抑制回声的方法和设备

Country Status (6)

Country Link
US (1) US20090168673A1 (zh)
EP (1) EP2245826A1 (zh)
JP (1) JP4922455B2 (zh)
KR (2) KR20120102820A (zh)
CN (1) CN101933306B (zh)
WO (1) WO2009088431A1 (zh)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7852882B2 (en) * 2008-01-24 2010-12-14 Broadcom Corporation Jitter buffer adaptation based on audio content
WO2012078142A1 (en) 2010-12-07 2012-06-14 Empire Technology Development Llc Audio fingerprint differences for end-to-end quality of experience measurement
US20130058496A1 (en) * 2011-09-07 2013-03-07 Nokia Siemens Networks Us Llc Audio Noise Optimizer
US9270830B2 (en) 2013-08-06 2016-02-23 Telefonaktiebolaget L M Ericsson (Publ) Echo canceller for VOIP networks
US9420114B2 (en) * 2013-08-06 2016-08-16 Telefonaktiebolaget Lm Ericsson (Publ) Echo canceller for VOIP networks
CN103472994B (zh) * 2013-09-06 2017-02-08 网易乐得科技有限公司 一种基于语音实现操作控制的方法、装置和系统
CN104468470B (zh) 2013-09-13 2017-08-01 阿尔卡特朗讯 一种用于分组声学回声消除的方法与设备
CN104468471B (zh) * 2013-09-13 2017-11-03 阿尔卡特朗讯 一种用于分组声学回声消除的方法与设备
CN104767895B (zh) * 2014-01-06 2017-11-03 阿尔卡特朗讯 一种用于分组声学回声消除的方法与设备
CN104811567A (zh) * 2014-01-23 2015-07-29 杭州乐哈思智能科技有限公司 一种对voip系统双向双工免提语音进行声学回声消除的系统和方法
CN105096960A (zh) * 2014-05-12 2015-11-25 阿尔卡特朗讯 实现宽带分组语音的基于分组的声学回声消除方法与设备
CN105100524A (zh) * 2014-05-16 2015-11-25 阿尔卡特朗讯 一种基于分组的声学回声消除方法与装置
CN104157293B (zh) * 2014-08-28 2017-04-05 福建师范大学福清分校 一种增强声环境中目标语音信号拾取的信号处理方法
US9479650B1 (en) * 2015-05-04 2016-10-25 Captioncall, Llc Methods and devices for updating filter coefficients during echo cancellation
US10356247B2 (en) * 2015-12-16 2019-07-16 Cloud9 Technologies, LLC Enhancements for VoIP communications
US10251087B2 (en) * 2016-08-31 2019-04-02 Qualcomm Incorporated IP flow management for capacity-limited wireless devices
DE102016119471A1 (de) * 2016-10-12 2018-04-12 Deutsche Telekom Ag Verfahren und Vorrichtungen zur Echoreduzierung und zur Funktionsprüfung von Echokompensatoren
JP6670224B2 (ja) * 2016-11-14 2020-03-18 株式会社日立製作所 音声信号処理システム
CN108551534B (zh) * 2018-03-13 2020-02-11 维沃移动通信有限公司 多终端语音通话的方法及装置
US10650840B1 (en) * 2018-07-11 2020-05-12 Amazon Technologies, Inc. Echo latency estimation
US10867615B2 (en) * 2019-01-25 2020-12-15 Comcast Cable Communications, Llc Voice recognition with timing information for noise cancellation
CN110648679B (zh) * 2019-09-25 2023-07-14 腾讯科技(深圳)有限公司 回声抑制参数的确定方法和装置、存储介质及电子装置
CN114760389B (zh) * 2022-06-16 2022-09-02 腾讯科技(深圳)有限公司 语音通话方法、装置、计算机存储介质及电子设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101000768A (zh) * 2006-06-21 2007-07-18 北京工业大学 嵌入式语音编解码的方法及编解码器
US7283543B1 (en) * 2002-11-27 2007-10-16 3Com Corporation System and method for operating echo cancellers with networks having insufficient levels of echo return loss

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6785339B1 (en) * 2000-10-31 2004-08-31 Motorola, Inc. Method and apparatus for providing speech quality based packet enhancement in packet switched networks
WO2002054744A1 (en) * 2000-12-29 2002-07-11 Nokia Corporation Audio signal quality enhancement in a digital network
US6937723B2 (en) * 2002-10-25 2005-08-30 Avaya Technology Corp. Echo detection and monitoring
JP2007104167A (ja) * 2005-10-03 2007-04-19 Oki Electric Ind Co Ltd 送話状態判定方法
CN101322323B (zh) * 2005-12-05 2013-01-23 艾利森电话股份有限公司 回声检测方法和装置
US8090573B2 (en) * 2006-01-20 2012-01-03 Qualcomm Incorporated Selection of encoding modes and/or encoding rates for speech compression with open loop re-decision
US8260609B2 (en) * 2006-07-31 2012-09-04 Qualcomm Incorporated Systems, methods, and apparatus for wideband encoding and decoding of inactive frames
US7852792B2 (en) * 2006-09-19 2010-12-14 Alcatel-Lucent Usa Inc. Packet based echo cancellation and suppression
US8032365B2 (en) * 2007-08-31 2011-10-04 Tellabs Operations, Inc. Method and apparatus for controlling echo in the coded domain

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7283543B1 (en) * 2002-11-27 2007-10-16 3Com Corporation System and method for operating echo cancellers with networks having insufficient levels of echo return loss
CN101000768A (zh) * 2006-06-21 2007-07-18 北京工业大学 嵌入式语音编解码的方法及编解码器

Also Published As

Publication number Publication date
KR20100096218A (ko) 2010-09-01
JP4922455B2 (ja) 2012-04-25
WO2009088431A1 (en) 2009-07-16
EP2245826A1 (en) 2010-11-03
US20090168673A1 (en) 2009-07-02
KR101353847B1 (ko) 2014-01-20
JP2011515881A (ja) 2011-05-19
CN101933306A (zh) 2010-12-29
KR20120102820A (ko) 2012-09-18

Similar Documents

Publication Publication Date Title
CN101933306B (zh) 用于在分组网络中检测和抑制回声的方法和设备
CN102160359B (zh) 控制系统的方法和信号处理系统
EP1849158B1 (en) Method for discontinuous transmission and accurate reproduction of background noise information
US20210035596A1 (en) Speech signal cascade processing method, terminal, and computer-readable storage medium
US8831937B2 (en) Post-noise suppression processing to improve voice quality
US20110044324A1 (en) Method and Apparatus for Voice Communication Based on Instant Messaging System
US8606573B2 (en) Voice recognition improved accuracy in mobile environments
CN101896964A (zh) 用于上下文描述符传输的系统、方法及设备
US20090248411A1 (en) Front-End Noise Reduction for Speech Recognition Engine
EP1720154A1 (en) Communication device, signal encoding/decoding method
LaDue et al. A data modem for GSM voice channel
JPH1097292A (ja) 音声信号伝送方法および不連続伝送システム
JP2004133403A (ja) 音声信号処理装置
EP2158753B1 (en) Selection of audio signals to be mixed in an audio conference
CN100498934C (zh) 一种新型的快速固定码本搜索方法
US20060149536A1 (en) SID frame update using SID prediction error
Prasad et al. SPCp1-01: Voice Activity Detection for VoIP-An Information Theoretic Approach
CN107533849A (zh) 基于麦克风音频信号来处理输入耳机音频信号的音频信号处理装置
Muralishankar et al. Order statistics for voice activity detection in VoIP
JP4437011B2 (ja) 音声符号化装置
JP5255358B2 (ja) 音声伝送システム
CN1672193A (zh) 用于语音帧误差降低的语音通信单元和方法
CN118075246A (zh) 抖动缓冲区大小的调整方法、装置和计算机设备
Tan et al. Robust speech recognition in ubiquitous networking and context-aware computing.

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
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20150520

Termination date: 20161217