CN1663141A - 用于减少回波消除器需要的存储器的方法、设备和系统 - Google Patents

用于减少回波消除器需要的存储器的方法、设备和系统 Download PDF

Info

Publication number
CN1663141A
CN1663141A CN03813900.6A CN03813900A CN1663141A CN 1663141 A CN1663141 A CN 1663141A CN 03813900 A CN03813900 A CN 03813900A CN 1663141 A CN1663141 A CN 1663141A
Authority
CN
China
Prior art keywords
coefficients
array
coefficient
logic
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN03813900.6A
Other languages
English (en)
Other versions
CN1663141B (zh
Inventor
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of CN1663141A publication Critical patent/CN1663141A/zh
Application granted granted Critical
Publication of CN1663141B publication Critical patent/CN1663141B/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B3/00Line transmission systems
    • H04B3/02Details
    • H04B3/20Reducing echo effects or singing; Opening or closing transmitting path; Conditioning for transmission in one direction or the other
    • H04B3/23Reducing echo effects or singing; Opening or closing transmitting path; Conditioning for transmission in one direction or the other using a replica of transmitted signal in the time domain, e.g. echo cancellers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Cable Transmission Systems, Equalization Of Radio And Reduction Of Echo (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Telephone Function (AREA)

Abstract

按照本发明的一个实施例,提供了一种方法,其中,为了在分组语音(VoP)系统中进行回波消除,生成了第一组系数。由第一多个位表示每个系数,该第一多个位包括表示相应系数的符号的第一部分和表示相应系数的幅值的第二部分。将第一组系数压缩,以生成第二组系数,第二组系数需要的记忆存储器比第一组系数少,其中,在对较低值的系数进行编码之前,先对较高值的系数进行编码,直到满足了预定压缩比或者直到已经对第一组中的所有系数进行了编码为止。

Description

用于减少回波消除器需要的存储器的 方法、设备和系统
技术领域
本发明的实施例涉及信号处理和通信领域,更具体地说,涉及用于减少回波消除器需要的存储器并且提高收敛性能的方法、设备和系统。
背景技术
近年来,随着通信网络和协议,尤其是分组交换网络如因特网,的各种技术进步和提高,通信系统和服务不断迅速提高。相当大的兴趣已经集中在了分组语音(Voice-over-Packet,VoP)系统上。一般来说,分组语音(VoP)系统,又称为IP语音(Voice-over-Internet-Protocol,VoIP)系统,包括若干处理部件,用于将语音信号转换为通过分组交换网络如因特网发送的信息包流并且将在目的地接收的信息包转换回语音信号。VoP系统中的一个处理部件是称为回波消除器的装置,用于进行回波消除。可以将回波消除器实现为包括在数字信号处理(DSP)芯片或器件(这里也称为数字信号处理器)中的一个部件。DSP器件包括:一个或多个数字信号处理器核心,用于对语音和/或数据信号进行处理;以及一个总存储器,被DSP器件的各个部件用来执行它们对应的功能。例如,DSP器件中的回波消除器可能需要大量的在总存储器中的动态存储器,以执行其回波消除功能。
一般情况下,回波消除器执行其对应的功能所需要的动态存储器通过直接存储器存取(DMA)机构被从用于每帧的总存储器传输到DSP核心并且从DSP核心传输到总存储器。帧可以被定义为一个时间间隔,经过这个时间间隔执行若干处理功能,从而生成一个根据对应的语音输入信号的对应的语音信息包。典型的情况是,DSP器件可以被配置为执行用于多VoP信道的语音和信息包处理,并且每个VoP信道可以具有在总存储器中的它自己的永久动态记忆储存器。因此,在其它因素中,可以由DSP器件处理的VoP信道的数量取决于回波消除器功能块对动态存储器的需要。这样,如果在不明显降低语音信号质量的情况下,能够减少回波消除器需要的动态存储器,则可以实现更高的信道密度。
一般而言,回波消除器需要的动态存储器的相当大的部分被分配为用于存储在回波消除处理中使用的滤波系数(这里也称为系数)。减少系数所需的存储器的一种方法是利用无损压缩法如Huffman编码、算术编码等来压缩系数。尽管利用无损压缩法能够保证在进行回波消除的过程中不会对语音信号质量产生影响,但无损压缩法仍然有如下若干缺点:
-无损压缩导致了每帧需要的存储器的数量(例如位)可变。因此,虽然在统计平均值的基础上能够增加信道密度,但不确定。
-在最差的情况下,存储系数需要的位数可以比不进行任何压缩时需要的更多。可以通过仅当无损压缩(无损编码)有帮助的时候才使用它来避免这种情况。但是,需要将判断无损编码是否有作用的信息存储为补充信息,由此使需要的存储器略有增加。
-使用一维符号的回波消除器系数的熵(每个系数需要的位的理论低限)结果变为10并且位的几十分之一。因此,使用一维无损编码在节省存储器方面的最好情况也达不到50%。
-无损编码和解码的复杂度较高。
相反,有损压缩法能够克服无损压缩法的缺点,但会对质量产生影响。因此,需要在对语音信号的质量没有显著影响的情况下减少回波消除器需要的存储器。
附图说明
通过参照以下用于说明本发明的实施例的描述和附图,可以将本发明理解得最好。在附图中:
图1示出了系统的一个实施例的框图,在该系统中实施了本发明的思路;
图2示出了VoP网关的一个实施例的框图,在VoP网关中实施了本发明的思路;
图3示出了语音处理子系统的一个实施例的框图,在这个语音处理子系统中实施了本发明;
图4示出了典型数字信号处理器的一个实施例的框图,在这个数字信号处理器中实施了本发明的思路;
图5示出了包括一个回波消除器的典型的数字信号处理器核心的一个实施例的更详细的框图;
图6示出了按照本发明的一个实施例的系数阵列的典型表示;
图7示出了按照本发明的一个实施例的系数阵列的幅值子阵列的典型表示;
图8示出了按照本发明的一个实施例的,用于减少回波消除器需要的记忆存储器的方法的流程图;并且
图9为按照本发明的一个实施例的方法的流程图。
具体实施方式
在下面的详细描述中,叙述了许多具体细节。但应该理解,可以在没有这些具体细节的情况下实现本发明的实施例。
近年来,VoP技术已经被日益广泛地用于将语音、传真和数据交通从在电话和无线细胞网络中使用的电路交换格式转换为通过网际协议(IP)和/或异步传输模式(ATM)通信系统在分组交换网络上发送的信息包。根据应用软件,可以将VoP系统按照不同的方式实施。例如,可以通过与对应的VoP网关和分组交换网络如因特网连接的公共交换电话网络(PSTN)从一个传统电话到另一个传统电话进行语音呼叫。作为另一个例子,可以在传统电话与配备有通过PSTN、VoP网关和因特网的语音应用软件的个人计算机之间建立语音通信。
图1示出了系统100的一个实施例的框图,在系统100中实施了本发明的思路。如图1所示,系统100包括通过PSTN 120与VoP网关系统130连接的语音通信设备110和数据通信设备112。在一个实施例中,VoP网关系统130包括与分组交换网络(例如IP/ATM网络)140连接的对应的信令网关子系统132和媒体网关子系统134。系统100还包括通过PSTN 160与VoP网关系统150连接的语音通信设备170和数据通信设备172。在一个实施例中,VoP网关系统150包括与分组交换网络140连接的对应的信令网关子系统152和媒体网关子系统154。在一个实施例中,语音通信设备110和170可以是电话或配备有语音应用软件的计算机,或者是能够进行语音信号通信的其它类型的设备。语音通信设备112和172可以是传真机、计算机或能够进行数据信号通信的其它类型的设备。
如图1所示,可以通过PSTN 120、VoP网关130、分组交换网络140、VoP网关150和PSTN 160在语音设备110和170之间建立语音通信对话(例如,语音呼叫)。例如,语音呼叫可以从语音设备110开始,语音设备110将模拟语音信号转换为线性脉码调制(PCM)的数字流,并且将PCM数字流通过PSTN 120发送到VoP网关130。然后,VoP网关系统130将PCM数字流转换为在分组交换网络(例如因特网)140上发送的信息包。在接收侧,VoP网关系统150将接收的语音信息包转换为被发送到接收设备(例如,语音设备170)的PCM数字流。然后,语音设备170将PCM数字流转换为模拟语音信号。
图2示出了VoP网关系统200(例如在图1中示出的VoP网关系统120或150)的一个实施例的框图,在VoP网关系统200中实施了本发明的思路。如图2所示,对于一个实施例,VoP网关系统200包括系统一个控制部件210(这里也称为系统控制单元或系统控制卡)、一个或多个线路接口部件220(这里也称为线路接口单元或线路卡)、一个或多个媒体处理部件230(这里也称为媒体处理单元、媒体处理卡或媒体处理器)和一个网络中继线部件240(这里也称为网络中继线单元或网络中继线卡)。如图2所示,通过PCI/以太网总线250使各个部件210、22、230和240相互连接。通过时分多路复用(TDM)总线260(例如,H.110TDM底板总线)使线路卡220与媒体处理卡230连接。在一个实施例中,线路卡220通过开关270(例如5级开关)连接到PSTN。通过IP路由器/ATM转换器280将网络中继线卡240连接到分组交换网络(例如,IP或ATM网络)。在一个实施例中,系统控制卡210负责对VoP网关系统200进行监控和管理,包括:对子系统卡的初始化和配置、系统管理、性能监控、发出信号和呼叫控制等。在一个实施例中,媒体处理卡230对包括关于从线路卡230接收的语音频带交通的数字信号处理(DSP)功能、信息分包和信息包集合等的信息包处理功能进行TDM。在一个实施例中,媒体处理卡230进行语音压缩/解压缩(编码/解码)、回波消除、DTMF和音调处理、静音抑制(VAD/CNG)、信息分包和集合、抖动缓冲器管理和信息包损失恢复等。
图3示出了典型的媒体处理部件或子系统300(例如,在图2中示出的媒体处理卡230)的一个实施例的框图。在一个实施例中,媒体处理子系统300包括与TDM总线320和高速并行总线330耦合的一个或多个数字信号处理(DSP)单元(也称为数字信号处理器)310。媒体处理子系统300还包括与存储器350、高速并行总线330和系统底板360耦合的主机/信息包处理器340。在一个实施例中,DSP 310被设计为支持并行、多信道信号处理任务,并且包括与各种网络设备和总线接口的部件。在一个实施例中,每个DSP 310包括一个多信道TDM接口(没有示出),以利于在相应的DSP与TDM总线之间进行信息通信。每个DSP310还包括一个主机/信息包接口(没有示出),以利于在相应的DSP与主机/信息包处理器340之间进行通信。在一个实施例中,DSP 310为对应的媒体处理卡执行各种信号处理任务,这些任务可以包括语音压缩/解压缩(编码/解码)、回波消除、DTMF和音调处理、静音抑制(VAD/CNG)、信息分包和集合、抖动缓冲器管理和信息包损失恢复等。
图4示出了典型数字信号处理器(例如DSP 310)的一个实施例的框图,在这个数字信号处理器中实施了本发明的思路。如图4所示,在一个实施例中,DSP 310可以包括用于处理语音和数据信号的多个DSP核心410。DSP 310还包括用于每个相应的DSP核心410的本地数据存储器415和本地程序存储器420。DSP 310还包括与主机总线435耦合的多信道TDM接口425和主机/信息包总线接口430。在一个实施例中,多信道TDM接口425包括与四个全双工串行端口耦合的四个全双工多信道TDM串行接口。在一个实施例中,主机总线接口430是一个32位的并行主机总线接口,被配置为用于传输语音信息包数据并且用于对DSP器件编程。如图4所示,DSP 310还包括一个与数据高速缓存器445和指令高速缓存器450耦合的控制处理器核心440。在一个实施例中,控制处理器核心440负责为各个DSP核心410安排任务和管理数据流,并且负责管理与外部主机处理器(没有示出)的通信。在一个实施例中,DSP 310包括用于存储进行语音和数据处理所需要的程序和数据的总存储器455。DSP 310还包括高速内部总线460和分布的DMA控制器(没有示出),以便给DSP核心提供对总存储器455中的数据的快速存取。
图5示出了典型的数字信号处理器(DSP)核心500(例如在图4中示出的DSP核心410)的一个实施例的更详细的框图。如图5所示,DSP核心500包括一个DTMF检测单元510、一个G.7xx编码器515、一个G.7xx解码器520、一个音调生成单元525、一个DTMF生成单元530和一个与主机/信息包接口单元590耦合的适宜噪音生成(CNG)单元535。DSP核心500还包括一个语音活动检测(VAD)单元540、一个音调检测单元545、一个网络回波消除单元(这里也称为回波消除器)550、μ-Law/A-Law解码单元560和μ-Law/A-Law编码单元570。
在一个实施例中,μ-Law/A-Law解码单元560将经过编码的语言解码为线性的语言数据,而μ-Law/A-Law编码单元570将线性的语言数据编码为经过μ-Law/A-Law编码的语言。在一个实施例中,从近端接收TDM信号并且将其转换为经过脉码调制(PCM)的线性数据样本Sin。将这个PCM线性数据样本Sin输入到网络回波消除单元550。在一个实施例中,网络回波消除单元550进行操作,以从PCM线性数据样本Sin中消除回波估算信号,从而生成PCM线性数据样本Sout。将PCM线性数据样本Sout提供给DTMF检测单元510、VAD单元540和音调检测单元545。
在一个实施例中,来自远端的经过解码的语言样本是PCM线性数据样本Rin,并且被提供给网络回波消除单元550。为了进行回波消除处理,网络回波消除单元550为回波消除处理复制Rin,并且将其输出为PCM线性数据样本Rout。PCM线性数据样本Rout被提供给μ-Law/A-Law编码单元570。
在一个实施例中,VAD单元540用于检测语言片段中是否有静音。当VAD 540检测到静音时,对背景噪音能量进行估算,并且其中的编码器生成静音插入描述(Silence-Insertion Description,SID)帧。对在相对端(例如远端)接收SID帧做出响应,CNG单元535在一段时间内生成对应的适宜噪音或者模拟静音。
如以上讨论的,在DSP器件中的回波消除器,如在图5中示出的回波消除器550,可能需要总存储器中的大量动态存储器,以执行它的回波消除功能。典型的情况是,对于每个帧,回波消除器执行其对应的功能所需要的动态存储器通过直接存储器存取(DMA)机构从总存储器传送到DSP核心,并且从DSP核心传送到总存储器。如上所述的DSP器件可以被配置成为多个VoP信道执行语音和信息包处理,而每个VoP信道可以具有它自己的在总存储器中的固定动态记忆存储器。在其它因素中,可以由DSP器件处理的VoP信道的数量取决于回波消除器功能块(例如,回波消除器550)需要的动态存储器。因此,如果在不明显影响语音信号质量的情况下能够减少回波消除器需要的动态存储器,则可以实现更高的信道密度。
图6示出了按照本发明的一个实施例的系数阵列600的典型表示。在一个实施例中,系数阵列600用于存储在回波消除器(例如,图5中的回波消除器550)进行回波消除处理的过程中使用的滤波器系数。如图6所示,可以将系数阵列看作表示两个阵列(或子阵列)610和620。阵列610为符号位阵列,阵列620为幅值阵列。在以下的讨论中,出于说明和解释的目的,假定存储在系数阵列中的每个系数宽为16位,1位用于表示符号,15位用于表示每个系数的幅值。在一个实施例中,如果对应的系数为负(<0),则符号位阵列中的符号位为1,如果对应的系数为非负(>=0),则符号位为0。在一个实施例中,幅值阵列中的幅值部分是对应系数的绝对值。举例来说,如果系数=228,则符号位=0,幅值=228。在这种情况下,符号位阵列610相应行,长为1位,值为0,而幅值位阵列620相应行,长为15位,值为000000011100100。另举一例,假定系数=-2585,在这种情况下,符号位阵列行为1,而幅值位阵列行为000101000011001。应该注意系数=-32768时的特殊情况,在本例中,这是最大负数。在这种情况下,符号位阵列行为1,而幅值位阵列行为111111111111111。同样,每个系数的符号位阵列有一位,每个系数的幅值位阵列有15位。本领域技术人员应该理解,本发明的思路不限于这里所讨论的系数阵列结构的特定例子,而是可以应用于阵列中的系数的其它表示或者各种大小和格式的其它数据结构。
如以上所讨论的,如果在不明显影响语音信号质量的情况下能够减少回波消除器需要的动态存储器,则可以实现更高的信道密度。在一个实施例中,回波消除器需要的动态存储器的相当大的部分(例如,接近一半)被分配给用于存储在回波消除处理中使用的滤波系数。
继续目前的讨论,假定为了实现希望的信道密度,为每帧设置位限额。例如,对于512抽头的回波消除器,存储用于一个帧的回波消除器系数需要的存储器为512*16或8192位(再次假定每个系数需要16位)。为了将系数阵列需要的存储器减少50%,可以将位限额设置为每帧4096位或每个系数8位。假定按照现在的样子对符号位阵列编码(例如,每个系数一个符号位),则用512位存储系数的符号。这样,还剩下3584位用于存储系数的幅值。换句话说,在本例中,为了将系数阵列需要的存储器减少50%,符号位阵列需要512位的动态记忆存储器,而幅值位阵列需要3584位的动态记忆存储器。因此,为了将系数阵列需要的存储器减少50%或者50%的压缩比,需要将系数阵列从8192位压缩到4096位,其中,经过压缩的系数阵列的512位用于存储系数的符号。
在一个实施例中,如图7所示,可以将幅值阵列看作一个二维阵列,其中,行数表示抽头或系数,列数表示位。在本例中,从顶到底,为系数0到511,从左到右,为位14到0(MSB到LSB)。同样,可以将如图7所示的幅值阵列(压缩之前)看作一个512×15阵列。应该注意,在不引起任何损失的情况下,通过删除或者舍弃这个阵列的左侧的0位(值为零的位),可以实现对需要的存储器的某种程度的节省。换句话说,在回波消除处理的过程中,在不影响质量的情况下,可以舍弃每个系数的零值的最高有效位。
在一个实施例中,按照下面的描述,在对质量影响最小的情况下,对系数阵列进行压缩,以实现希望的减少或压缩比(例如,位限额)。这里的想法是在语音信号中引入人耳最不易察觉的质量影响或失真。就此而言,在那些具有较低值并且因此作用较小的系数被编码之前,应该先对具有较高值(更有效)的系数进行编码。由于存储器的限制(例如,位限额),应该将可用存储器用于存储具有较高值的系数。因此,在一个实施例中,在经过压缩的系数阵列中,在具有较低值的系数被处理(例如,识别、编码和存储)之前,先对具有较高值的系数进行处理。在一个实施例中,如这里所描述的压缩处理连续进行,直到不再有可用存储器(已经达到位限额)或者直到已经处理了在原有系数阵列(也称为未经压缩的系数阵列)中的所有系数为止。
在一个实施例中,按照Z字形的方式(例如,向下到底,然后向上到顶并且向右,再向下),从阵列的左上角向阵列的右下角遍历原有(未经压缩的)的幅值阵列,直到遇到或碰到非零位(值为1的位,这里也称为“1”位)。当发生这种情况时,遇到的非零位就是相应系数的最左边的非零MSB。在一个实施例中,用m位对这个位的位置进行编码,这里,m=[log2(位/系数)]+[log2(抽头长度)],[x]为等于或大于x的最小整数。在这种情况下,被识别的系数是较高或较大系数中的一个。在一个实施例中,按照全精度对这个系数打包。由已经被用4个位(例如[log2(15)])编码的对应的列位置给出需要的位数。一旦一个系数被编码,则将其从幅值阵列中删除,因此将不再对它进行处理。在一个实施例中,为了删除已经被编码的相应的系数,在幅值阵列中,它的位被置零(例如,用零位替换相应系数的位)。以相同的Z字形方式不断遍历幅值阵列,直到碰到下一个“1”位。当再次发生这种情况时,根据需要,按照全精度对相应的位进行编码并且对相应的系数进行编码。照这样,选择较高或较强的系数,并且按照正好足够的精度对其进行编码。这样的过程不断进行,直到不再有可用位(即,已经达到位限额)或者直到已经到达二维幅值阵列的右下角(即,已经处理了所有系数)为止。
参照在图7中示出的二维幅值阵列的例子,可见,这是一个512×15的阵列。有512行(行0到行511,行0从阵列顶部开始)和15列(列0到列14,列14从左侧开始)。通过每个位关于在行0和列14或(0,14)的左上角位置以及关于在行511和列0或(511,0)的右下角位置的相对位置,可以在这个阵列中查找这个位。如图7所示,该处理以Z字形的方式从幅值阵列的左上角到幅值阵列的右下角遍历幅值阵列。换句话说,该处理从位置(0,14)开始,沿列14向下遍历直到列14在(511,14)的最后位置,然后向上到位置(0,13)并且沿列13向下遍历直到位置(511,13),依此类推。如上所述,按照这样的方式遍历幅值阵列直到碰到“1”位。当出现这种情况时,按照全精度对相应的位置进行编码并且对相应的系数进行编码。然后,将已经处理的系数从幅值阵列中删除(例如,置零),因此,在剩余的遍历幅值阵列期间,将不再对它进行处理。这个压缩处理持续进行,直到达到位限额(即,实现了希望的压缩比)或者直到已经处理了位于幅值阵列右下角(位置(511,0))的系数为止。可见,由于在压缩处理期间,给较强的系数以更高的优先权(即,在较低或较弱的系数之前处理较高或较强的系数),因此上面刚按照本发明的一个实施例描述的方法提供了一种新颖的在质量影响或失真最小的情况下减少回波消除器需要的存储器(例如,存储系数所需要的动态存储器)的途径。因此,如果设置了位限额因而动态存储器不足以存储所有系数,则将保留较强的系数,以使对语音信号的质量影响最小。
图8示出了按照本发明的一个实施例的,用于减少回波消除器需要的记忆存储器的处理800的流程图。在本例中,再次假定将原有的幅值子阵列、未经压缩的系数阵列看作二维阵列(例如,如图7所示,具有512行和14列)。在框810,将n设置为0,k设置为15,其中,n代表行数,k代表列数。在判定框815,如果第n个系数的第k位为“1”,则处理进行到框840。否则,处理进行到框820,使n加1,从而前进到下一行。在判定框825,处理进行到框830,使k减1,从而前进到下一列。否则,处理返回到框815。在判定框835,如果k=-1(已经处理了所有系数),则处理在框891结束。否则,处理返回到框815。在框840,如上所述,对遇到“1”位的位置和相应的系数进行编码。在一个实施例中,相对于前面遇到的系数的位置,对相应系数的位置进行差动编码。在一个实施例中,用k个位对第n个系数编码,用1位对第n个系数的符号编码。然后,将刚刚处理过的第n个系数从幅值阵列中删除(将第n个系数设置为=0),因此将不再对它进行处理。在框845,根据对第n个系数进行编码所使用的位数,相应地调整位限额。在判定框850,如果位限额小于或等于0(即已经达到压缩比并且不再有用于其它系数的存储器了),则处理在框891结束。否则,处理进行到框820,从而前进到下一行(即,下一个系数)。
图9为按照本发明的一个实施例的方法的流程图。在框910,首先生成用于在分组语音(VoP)系统中进行回波消除的第一组系数。由包括表示相应系数的符号的第一部分和表示相应系数的幅值的第二部分的第一多个位代表每个系数。在框920,将第一组系数压缩,以生成第二组系数,第二组系数需要的记忆存储器比第一组系数少,其中,在对较低值的系数编码之前,先对较高值的系数编码,直到满足了预定压缩比(例如,位限额)或者直到已经对第一组中的所有系数进行了编码为止。
本发明的另一个实施例可以用于根据需要的记忆存储器、收敛速度以及计算速度来提高回波消除器的性能。在这个实施例中,用与第一个经过编码的系数的位数相同的位数,对在最大系数(例如,第一个经过编码的系数)中的一个的附近的系数进行编码。在这个实施例中,减少了在后来的遍历过程中用于对这些系数的位置进行编码的系统开销。此外,在网络回波消除器的应用软件中,这些系数代表对主要回波的脉冲响应并且保持这个脉冲响应的形状确保了快速收敛和语音质量。
尽管这里为了进行解释和说明,已经针对压缩回波消除(ECAN)的系数对本发明的不同实施例进行了描述,但本领域技术人员应该理解,本发明的思路不限于压缩ECAN的系数,而是可以用在各种应用软件中。例如,可以将本发明的思路用于提高ECAN的收敛性能而不考虑节省存储器。此外,可以将本发明的思路应用于压缩音频转换系数。例如,可以用这里描述的新的压缩方法代替目前的在MPEG3/MPEG-AAC/MPEG-4音频编解码器中对MDCT系数的失真率进行迭代量化和无损编码的方法。可以将如这里所描述的新的方法用于在步骤一(无迭代)中对系数进行量化,并且由此可以明显地减小复杂度。这可以用作消费者AAC编码器的一部分,用于流音频或CD-ripping应用软件等。
尽管已经根据若干实施例对本发明进行了描述,但本领域技术人员应该理解,本发明不限于这里所描述的实施例。很明显,根据前面的描述,本领域技术人员应该清楚许多替换、修改、变化和用途。

Claims (30)

1.一种方法,包括如下步骤:
生成第一组系数,用于在分组语音(VoP)系统中进行回波消除,由第一多个位表示每个系数,该第一多个位包括表示相应系数的符号的第一部分和表示相应系数的幅值的第二部分;并且
将所述第一组系数压缩,以生成第二组系数,第二组系数需要的记忆存储器比第一组系数少,其中,在对较低值的系数编码之前,先对较高值的系数编码,直到满足了预定压缩比或者直到已经对第一组中的所有系数进行了编码为止。
2.如权利要求1所述的方法,还包括:
确定所述第一组系数需要的存储器;并且
根据第一组需要的存储器和预定压缩比,设置所述第二组系数需要的存储器。
3.如权利要求1所述的方法,其中,压缩所述第一组的步骤包括:
循环地执行一组操作,直到满足了预定压缩比或者直到已经对第一组中的所有系数进行了处理为止,该组操作包括:
识别在所述第一组中的,相对于所述第一组中的其它系数具
有较高值的那些系数;
对识别出的系数进行编码;并且
给在所述第一组中的已经被编码的系数加上标志,因此不在后面的循环中不再对它们进行处理。
4.如权利要求3所述的方法,其中,识别的步骤包括:
遍历所述第一组系数,直到检测到在所述第一组中的其最高有效位具有非零值的系数;并且
对相应系数的相对位置进行编码。
5.如权利要求4所述的方法,其中,对识别出的系数进行编码的步骤包括:
用全精度对在第二系数组中的相应系数进行编码,第二系数组包括相应系数的相对位置。
6.如权利要求5所述的方法,其中,加标志的步骤包括:
从所述第一组中删除相应的系数。
7.如权利要求6所述的方法,其中,加标志的步骤包括:
用零值替换在所述第一组中的相应系数。
8.一种方法,包括如下步骤:
接收回波消除系数第一阵列,每个回波消除系数由第一多个位表示,该第一多个位包括表示相应系数的符号的第一部分和表示相应系数的幅值的第二部分;并且
对所述第一系数阵列进行压缩操作,从而得到第二系数阵列,第二系数阵列需要的记忆存储器比第一组系数少,其中,给第一阵列中的,值相对于第一阵列中的其它系数较高的系数以较高的优先权,用于在第二阵列中进行编码。
9.如权利要求8所述的方法,还包括:
根据所述第一阵列的大小和预定压缩比,确定存储第二阵列需要的存储器的大小。
10.如权利要求9所述的方法,其中,所述第一阵列包括:一个第一子阵列,用于容纳相应系数的符号数据;以及一个第二子阵列,用于容纳相应系数的幅值数据。
11.如权利要求10所述的方法,其中,对所述第一阵列进行压缩操作的步骤包括:
循环地对所述第二子阵列进行一组操作,从所述第二子阵列中的第一预定条目的最高有效位(MSB)开始,直到满足第一条件为止,该组操作包括:
检测在所述第二子阵列中的当前条目的当前位是否具有非零值;
如果当前位具有非零值,则对在所述第二阵列中的对应的系数进行编码;并且
给在所述第二子阵列中的对应条目加上标志,因此不再对它进行处理。
12.如权利要求11所述的方法,其中,所述第一预定条目对应于在所述第二子阵列中被加上最低索引的条目。
13.如权利要求11所述的方法,其中,所述第一预定条目对应于在所述第二子阵列中被加上最高索引的条目。
14.如权利要求11所述的方法,其中,当已经达到存储所述第二阵列所需要的存储器大小时,满足所述第一条件。
15.如权利要求11所述的方法,其中,当已经处理了在所述第一阵列中的所有系数时,满足所述第一条件。
16.一种设备,包括:
生成第一组系数,用于在分组语音(VoP)系统中进行回波消除的逻辑,由第一多个位表示每个系数,该第一多个位包括表示相应系数的符号的第一部分和表示相应系数的幅值的第二部分;并且
将所述第一组系数压缩,以生成第二组系数的逻辑,第二组系数需要的记忆存储器比第一组系数少,其中,在对较低值的系数编码之前,先对较高值的系数编码,直到满足预定压缩比或者直到已经对第一组中的所有系数进行了编码为止。
17.如权利要求16所述的设备,还包括:
确定所述第一组系数需要的存储器的逻辑;并且
根据所述第一组需要的存储器和预定压缩比,设置所述第二组系数需要的存储器的逻辑。
18.如权利要求16所述的设备,其中,用于压缩所述第一组的逻辑包括:
循环地执行一组操作,直到满足预定压缩比或者直到已经对第一组中的所有系数进行了处理为止的逻辑,该组操作包括:
识别在所述第一组中的,那些相对于所述第一组中的其它系数值较高的系数的逻辑;
对识别出的系数进行编码的逻辑;并且
给在所述第一组中的已经被编码的系数加上标志,因此在后面的循环中不再对它们进行处理的逻辑。
19.如权利要求18所述的设备,其中,对识别出的系数进行编码的逻辑:
用全精度对在所述第二系数组中的相应系数进行编码的逻辑,所述第二系数组包括相应系数的相对位置。
20.一种回波消除器,包括:
接收第一回波消除系数阵列的逻辑,每个回波消除系数由第一多个位表示,该第一多个位包括表示相应系数的符号的第一部分和表示相应系数的幅值的第二部分;和
对所述第一系数阵列进行压缩操作,从而得到第二系数阵列的逻辑,该第二系数阵列需要的记忆存储器比所述第一组系数少,其中,给所述第一阵列中的值相对于第一阵列中的其它系数较高的系数以较高的优先权,用于在第二阵列中进行编码。
21.如权利要求20所述的回波消除器,其中,进行压缩的逻辑包括:
根据所述第一阵列的大小和预定压缩比,确定存储第二阵列需要的存储器的大小的逻辑。
22.如权利要求21所述的回波消除器,其中,所述所述第一阵列包括:一个第一子阵列,用于容纳相应系数的符号数据;以及一个第二子阵列,用于容纳相应系数的幅值数据。
23.如权利要求22所述的回波消除器,其中,用于对所述第一阵列执行压缩操作的逻辑包括:
循环地对所述第二子阵列进行一组操作,从所述第二子阵列中的第一预定条目的最高有效位(MSB)开始,直到满足第一条件为止的逻辑,该组操作包括:
检测在所述第二子阵列中的当前条目的当前位是否具有非零值的逻辑;
如果当前位具有非零值,则对在所述第二阵列中的对应的系数进行编码的逻辑;并且
给在所述第二子阵列中的对应条目加上标志,因而不对再它进行处理的逻辑。
24.一种系统,包括:
一个回波消除器,被耦合为根据从一个或多个信道输入的信号进行回波消除;
一个总存储器,包括多个动态存储器块,被所述回波消除器用于执行其对应的功能;以及
一个存储器控制器,与所述回波消除器和所述总存储器耦合,该存储器控制器在所述回波消除器与所述总存储器之间进行数据传输,
其中,所述回波消除器包括对所述第一系数阵列进行压缩操作,从而得到第二系数阵列的逻辑,在所述总存储器中,所述第二系数阵列需要的记忆存储器比第一组系数少,其中,给第一阵列中的,值相对于第一阵列中的其它系数较高的系数以较高的优先权,用于在第二阵列中进行编码。
25.如权利要求24所述的系统,其中,所述第一阵列包括:一个第一子阵列,用于容纳相应系数的符号数据;以及一个第二子阵列,用于容纳相应系数的幅值数据。
26.如权利要求24所述的系统,其中,进行压缩的逻辑包括:
根据所述第一阵列的大小和预定压缩比,确定在所述总存储器中存储所述第二阵列需要的存储器的大小的逻辑。
27.如权利要求25所述的系统,其中,对所述第一阵列进行压缩操作的逻辑包括:
循环地对所述第二子阵列进行一组操作,从所述第二子阵列中的第一预定条目的最高有效位(MSB)开始,直到满足第一条件为止的逻辑,该组操作包括:
检测在所述第二子阵列中的当前条目的当前位是否具有非零值的逻辑;
如果当前位具有非零值,则对在所述第二阵列中的对应的系数进行编码;并且
给在所述第二子阵列中的对应条目加上标志,因此不对它再次进行处理的逻辑。
28.一种机器可读介质,包括这样的指令,当机器执行这些指令时,使机器执行如下操作,包括:
生成第一组系数,用于在分组语音(VoP)系统中进行回波消除,由第一多个位表示每个系数,该第一多个位包括表示相应系数的符号的第一部分和表示相应系数的幅值的第二部分;并且
将所述第一组系数压缩,以生成第二组系数,该第二组系数需要的记忆存储器比所述第一组系数少,其中,在对较低值的系数编码之前,先对较高值的系数编码,直到满足了预定压缩比或者直到已经对第一组中的所有系数进行了编码为止。
29.如权利要求28所述的机器可读介质,还包括:
确定所述第一组系数需要的存储器;并且
根据所述第一组需要的存储器和预定压缩比,设置所述第二组系数需要的存储器。
30.如权利要求28所述的机器可读介质,其中,压缩所述第一组的步骤包括:
循环地执行一组操作,直到满足预定了压缩比或者直到已经对第一组中的所有系数进行了处理为止,该组操作包括:
识别在所述第一组中的,那些相对于所述第一组中的其它系数值较高的系数;
对识别出的系数进行编码;并且
给在所述第一组中的已经被编码的系数加上标志,因此在后面的循环中不再对它们进行处理。
CN03813900.6A 2002-06-14 2003-06-12 用于减少回波消除器需要的存储器的方法、设备和系统 Expired - Fee Related CN1663141B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/172,269 US7079498B2 (en) 2002-06-14 2002-06-14 Method, apparatus, and system for reducing memory requirements for echo cancellers
US10/172,269 2002-06-14
PCT/US2003/019045 WO2003107557A1 (en) 2002-06-14 2003-06-12 Method, apparatus, and system for reducing memory requirements for echo cancellers

Publications (2)

Publication Number Publication Date
CN1663141A true CN1663141A (zh) 2005-08-31
CN1663141B CN1663141B (zh) 2010-05-12

Family

ID=29733010

Family Applications (1)

Application Number Title Priority Date Filing Date
CN03813900.6A Expired - Fee Related CN1663141B (zh) 2002-06-14 2003-06-12 用于减少回波消除器需要的存储器的方法、设备和系统

Country Status (6)

Country Link
US (1) US7079498B2 (zh)
EP (1) EP1514363A1 (zh)
CN (1) CN1663141B (zh)
AU (1) AU2003276724A1 (zh)
TW (1) TWI234944B (zh)
WO (1) WO2003107557A1 (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7420937B2 (en) 2002-12-23 2008-09-02 Broadcom Corporation Selectively adaptable far-end echo cancellation in a packet voice system
CN100481808C (zh) * 2002-12-27 2009-04-22 艾利森电话股份有限公司 以隧道方式通过mpls传送tdm业务
JP2004254022A (ja) * 2003-02-19 2004-09-09 Mitsubishi Electric Corp Ip網通信装置
GB2403360B (en) 2003-06-28 2006-07-26 Zarlink Semiconductor Inc Reduced complexity adaptive filter implementation
US6934265B2 (en) * 2003-09-25 2005-08-23 Keyeye Interference cancellation receiver for high-speed communication systems
EP1683364A1 (en) * 2003-11-13 2006-07-26 Matsushita Electric Industrial Co., Ltd. Packetization of variable bit rate encoded data based on rate control
US7852749B2 (en) * 2005-04-06 2010-12-14 Callwave, Inc. Methods and systems for routing telecommunications
US8565416B2 (en) * 2006-03-17 2013-10-22 Cisco Technology, Inc. Cache-based echo canceller
US20080240080A1 (en) * 2007-04-02 2008-10-02 Ditech Networks, Inc. System and method for media-level redundancy in voice-over internet protocol systems
JP2008306478A (ja) * 2007-06-07 2008-12-18 Nec Corp データ転送装置、データ転送方法及びデータ転送プログラム
US8433283B2 (en) 2009-01-27 2013-04-30 Ymax Communications Corp. Computer-related devices and techniques for facilitating an emergency call via a cellular or data network using remote communication device identifying information
US9337567B2 (en) * 2014-03-31 2016-05-10 Lear Corporation Seal for an electric terminal
US10701376B2 (en) * 2018-07-05 2020-06-30 Awecom, Inc. Resilient image compression and decompression

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4528676A (en) 1982-06-14 1985-07-09 Northern Telecom Limited Echo cancellation circuit using stored, derived error map
GB2123259A (en) 1982-06-25 1984-01-25 Philips Electronic Associated Digital duplex communication system
GB8400791D0 (en) 1984-01-12 1984-02-15 British Telecomm Digital filter
GB8719307D0 (en) 1987-08-14 1987-09-23 Gen Electric Co Plc Echo canceller
US5321776A (en) * 1992-02-26 1994-06-14 General Electric Company Data compression system including successive approximation quantizer
CN1034770C (zh) * 1994-02-05 1997-04-30 裴立凡 数字自动相位幅度补偿方法及使用该方法的电度计量装置
US6580696B1 (en) * 1999-03-15 2003-06-17 Cisco Systems, Inc. Multi-adaptation for a voice packet based
JP3693588B2 (ja) * 2000-11-01 2005-09-07 富士通株式会社 エコー抑制システム
US6792107B2 (en) * 2001-01-26 2004-09-14 Lucent Technologies Inc. Double-talk detector suitable for a telephone-enabled PC
US6999509B2 (en) * 2001-08-08 2006-02-14 Octasic Inc. Method and apparatus for generating a set of filter coefficients for a time updated adaptive filter
US7085245B2 (en) * 2001-11-05 2006-08-01 3Dsp Corporation Coefficient domain history storage of voice processing systems

Also Published As

Publication number Publication date
US7079498B2 (en) 2006-07-18
TWI234944B (en) 2005-06-21
WO2003107557A1 (en) 2003-12-24
TW200421745A (en) 2004-10-16
AU2003276724A1 (en) 2003-12-31
CN1663141B (zh) 2010-05-12
US20030231617A1 (en) 2003-12-18
EP1514363A1 (en) 2005-03-16

Similar Documents

Publication Publication Date Title
EP2360682B1 (en) Audio packet loss concealment by transform interpolation
CN1238835C (zh) 通信系统中的方法和装置
CN1663141A (zh) 用于减少回波消除器需要的存储器的方法、设备和系统
JP4677901B2 (ja) 算術符号の復号器または符号化器と逆2値化変換器または2値化変換器との間に中間バッファが挿入された復号装置または符号化装置
CN1260925C (zh) 数字化声音信号的编码和通过分组交换网传输编码的数字化声音信号的方法
SE522261C2 (sv) Kodning och avkodning av en digital signal
JPH04127747A (ja) 可変レート符号化方式
US20100324913A1 (en) Method and System for Block Adaptive Fractional-Bit Per Sample Encoding
CN1125438C (zh) 降低编码的语音信号中的稀疏
JP3442793B2 (ja) Pcmモデム用直流成分の抑制
JP2002221994A (ja) 音声信号の符号列のパケット組立方法、装置及びパケット分解方法、装置並びにこれらの方法を実行するプログラム、プログラムを記録する記録媒体
US6480550B1 (en) Method of compressing an analogue signal
CN101399636A (zh) 一种丢包补偿的方法和实现丢包补偿的装置及系统
US20010012993A1 (en) Coding method facilitating the reproduction as sound of digitized speech signals transmitted to a user terminal during a telephone call set up by transmitting packets, and equipment implementing the method
CN1338834A (zh) 基于网络协议的低速语音编码方法
CN101043759A (zh) 一种通过话带数据vbd方式实现数据业务的方法及其系统
JP4091506B2 (ja) 2段音声画像符号化方法、その装置及びプログラム及びこのプログラムを記録した記録媒体
CN100505714C (zh) 基于自适应差分脉冲编码调制的丢帧处理设备及方法
CN1172497C (zh) Voip语音编码的异码桥接装置及方法
CN1466387A (zh) 基于分时处理的低时延多媒体传输编解码的调度方法
CN200962315Y (zh) 一种语音处理装置
JPS61281632A (ja) 適応ビツト割当変換符号化装置
HK1155271A (zh) 通过转换插值的音频数据包丢失隐藏
HK1228095A1 (zh) 通过变换插值进行音频分组丢失隐藏
CN1531207A (zh) 一种缩短编解码同步时延的方法

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

Granted publication date: 20100512

Termination date: 20130612