CN103503064A - 用于信号的低复杂度组合代码化和解码的装置和方法 - Google Patents

用于信号的低复杂度组合代码化和解码的装置和方法 Download PDF

Info

Publication number
CN103503064A
CN103503064A CN201280021516.3A CN201280021516A CN103503064A CN 103503064 A CN103503064 A CN 103503064A CN 201280021516 A CN201280021516 A CN 201280021516A CN 103503064 A CN103503064 A CN 103503064A
Authority
CN
China
Prior art keywords
function
vector
prime
value
select
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
CN201280021516.3A
Other languages
English (en)
Other versions
CN103503064B (zh
Inventor
乌达·米塔尔
詹姆斯·P·阿什利
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.)
Google Technology Holdings LLC
Original Assignee
Motorola Mobility LLC
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 Motorola Mobility LLC filed Critical Motorola Mobility LLC
Publication of CN103503064A publication Critical patent/CN103503064A/zh
Application granted granted Critical
Publication of CN103503064B publication Critical patent/CN103503064B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/02Speech 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 using spectral analysis, e.g. transform vocoders or subband vocoders
    • 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/04Speech 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 using predictive techniques
    • G10L19/08Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
    • G10L19/10Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters the excitation function being a multipulse excitation
    • 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/02Speech 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 using spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/032Quantisation or dequantisation of spectral components
    • G10L19/038Vector quantisation, e.g. TwinVQ audio
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3082Vector coding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

在本文中公开了一种用于信号的低复杂度组合代码化和解码的方法和装置。在操作期间,当所述函数的尺寸是小的时,编码器(100)和解码器(300)将在确定码字或向量中利用第一函数。当所述函数的尺寸是大的时,所述编码器和所述解码器还将在确定所述码字或向量中利用第二函数。

Description

用于信号的低复杂度组合代码化和解码的装置和方法
技术领域
本发明一般地涉及一种用于信号的低复杂度组合代码化和解码的方法和装置,并且特别涉及向量在电子音频编码器和解码器内的低复杂度组合代码化和解码。
背景技术
为了发射或者存储数字化音频,音频必须被编码为数字形式。这样做时,模拟音频被数字化以形成向量或矩阵。数字化音频然后被编码以便降低数字化表示音频所需的信息量。用于针对语音、音频、图像、视频以及其它信号来编码(代码化)向量或矩阵数量的方法是众所周知的。由Peng等人在美国专利6,236,960(其通过引用结合在本文中)中所描述的一种这样的方法被称为阶乘脉冲代码化(或FPC)。如果向量x的元素被约束使得-m≤xi≤m,并且xi的值是整数,则FPC能够使用总共M比特为向量x产生码字,假定:
m = Σ i = 0 n - 1 | x i | , - - - ( 1 )
其中m是单位幅度脉冲的总数,并且n是向量长度。对于向量x的N种可能性,总共M比特被用来以最大有效的方式来代码化向量x的N个组合,使得描述理论上最小数目的组合的以下表达式成立:
N = Σ d = 1 min ( m , n ) F ( n , d ) D ( m , d ) 2 d ≤ 2 M . - - - ( 2 )
对于这个等式,F(n,d)是组合函数,具有由下式给出的d个非零向量元素在n个位置上的组合的数目:
F ( n , d ) = n ! d ! ( n - d ) ! . - - - ( 3 )
D(m,d)是由下式给出的给出m个总单位脉冲的d个非零向量元素的组合的数目:
D(m,d)=F(m-1,d-1),  (4)
并且2d表示描述d个非零向量元素的极性(符号)所需要的组合。在上述等式中n包括位置参数,d包括脉冲索引参数。用于代码化和解码上面所描述的向量的方法和装置已在现有技术中被全面地描述了。此外,这个代码化方式的实用实现已在3GPP2标准C.S0014-B中被描述,其中向量长度n=54并且单位幅度脉冲的数目m=7产生M=35比特码字。
虽然n和m的这些低值不会引起任何不合理的复杂度负担,但是特别地在需要使存储器和计算复杂度保持尽可能低的移动手持式设备中,较大的值能够迅速地引起问题。例如,将这个代码化方式用于一些应用(诸如音频代码化)可能要求n=144和m=28或更高。在这些情况下,与产生组合表达F(n,d)相关联的成本可以是相当高的。
让我们将等式3重写为:
F ( n , d ) = Π i = n - d + 1 n ( i ) Π j = 1 d ( j ) - - - ( 5 )
F(144,28)将在分子方面要求197比特的精度并且在分母方面要求98比特的精度以产生99比特商。因为在当今的手持式设备中使用的大多数数字信号处理器(DSP)典型地支持仅16比特×16比特乘法运算,所以将需要采用特殊的多精度乘法/除法例程。这样的例程需要典型地需要约k个乘法/累加(MAC)运算的一系列嵌套的乘法/累加运算,其中k是操作数中16比特段的数目。对于197比特操作数,
Figure BDA0000406953550000022
所以,单个197×16比特乘法的执行将需要最少13个MAC运算操作加移位和存储操作。分母项被以类似的方式计算以产生98比特结果。另外,需要197/98比特除法,其是极端复杂的运算。因此等式5中的整个阶乘关系的计算将需要相当大的资源。虽然现有技术方法已经在一定程度上解决了这些复杂度问题,但是n和d的大值仍然可能需要显著的处理资源。因此存在对用于简化针对F(n,d)利用的技术的方法和装置的需要。
附图说明
图1是编码器的框图。
图2是示出图1的编码器的操作的流程图。
图3是解码器的框图。
图4是示出图4的解码器的操作的流程图。
图5是图1和图3中的组合函数生成器块的具体视图。
技术人员将领会的是,图中的元素是为了简单和清楚而图示的,并且不一定按比例绘制。例如,图中一些元素的尺寸和/或相对定位相对于其它元素可以被放大以帮助提高对本发明的各种实施例的理解。而并且,在商业上可行的实施例中有用的或必需的公共但良好理解的元素常常未被描绘,以便促进本发明的这些各种实施例的不太阻塞的视图。将进一步领会的是,可以以特定的出现顺序来描述或者描绘特定动作和/或步骤,同时本领域的技术人员将理解的是,实际上不需要针对次序的这种规定。本领域的技术人员将进一步认识到,对诸如“电路”的特定实现实施例的引用可以同等地经由在执行存储在非暂时性计算机可读存储器中的软件指令的通用计算装置(例如,CPU)或专用处理装置(例如,DSP)来实现。附加地,图内的元素存在于有形装置或电子设备内。还将理解的是,除了在已经另外在本文中阐述了不同的特定意义情况下,本文所用的术语和表达具有和由本技术领域的技术人员根据此类术语和表达上面所阐述的一样的普通技术意义。
具体实施方式
因为F(n,m)被利用来为矢量x产生码字,所以也许可以预先计算所有阶乘组合F(n,m)并且将其存储在查找表中。因此,F(n,m)的所有值可以被简单地存储在n×m矩阵中并且适当地使用非常少的处理器循环从存储器中检索。然而,这个方法的问题是,当n和m变大时,所关联的存储器要求也变大。引用前一个示例,F(144,28)将需要
Figure BDA0000406953550000032
Figure BDA0000406953550000031
个字节的存储,这对于大多数移动手持式设备来说是不合理的。
在又一实现中,F(n,d)被递归地计算为:
F(n,d)=F(n-1,d-1)+F(n-1,d),  (6)
其需要许多多精度加法。为了降低复杂度,在现有技术(US7,461,106和US20090234642A1)中描述了使用F(n,d)的近似值F’(n,d)的各种不同方法。在现有技术方法中,编码器和解码器使用阶乘组合的相对低分辨率近似值F’(n,d),其提供仅足够的精度来允许生成有效码字。在US7,461,106中,阶乘函数被近似值函数F’(n,d)代替,所述近似值函数F’(n,d)被给出为:
F ′ ( n , d ) = R ′ ( Σ i = n - d + 1 n P ′ ( i ) - Q ′ ( d ) ) , - - - ( 7 )
其中P(i)≈log2(i),
Figure BDA0000406953550000042
以及R(k)≈2k,并且其中k=ki+kf被分解成k的整数和分数分量,而
Figure BDA0000406953550000043
使用k的分数分量的低分辨率泰勒级数展开来获得。基于上述预定义函数Q'(d)和R'(k),P'(i)被首先获得并且存储在存储器中,使得唯一可解码性不等式
F'(n,d)≥F'(n-1,d)+F'(n-1,d-1)  (8)
满足n和d的所有值。为了进一步降低(7)中近似组合函数的复杂度,代替预先存储P′(i),可以使用P′(i)的部分求和,诸如:
S ′ ( n ) = Σ i = 1 n P ′ ( i ) . - - - ( 9 )
现在等式(7)能够被等效地计算为:
F′(n,d)=R′(S′(n)-S′(n-d)-Q′(d))  (10)
其中在上述等式中R’包括幂函数的估计,S’包括n!的对数域估计,而Q’包括d!的对数估计。
这些组合函数(等式(3)中标准的和等式(12)中近似值的二者)能够被用于等式(1)中给出的脉冲序列的代码化。假设π={p1,p2,....,pν}是非零脉冲的位置并且ν是升序非零脉冲位置(在向量x内的位置)的数目,并且μ={m1,m2,....,mν}是在向量x内的相应位置处的幅度。例如,如果p3=45,则码字内的第三个非零脉冲位置将在向量x中的位置45处。
码字内脉冲位置的代码由下式给出:
C &pi; = &Sigma; k = 1 v F &prime; ( p k , k ) , 0 &le; p k < n , - - - ( 11 )
而码字内脉冲幅度的代码由下式给出:
C &mu; = &Sigma; k = 1 v - 1 F &prime; ( &Sigma; j = 1 k m j - 1 , k ) , 1 &le; &Sigma; j = 1 k m j , m k < m . - - - ( 12 )
因此,这些码字的公式化需要ν和ν-1个多精度数的加法。在解码器中需要类似的减法运算。
为了进一步降低这些加法和减法运算操作的复杂度,在US20090100121A1中所描述的现有技术方法中,由尾数和指数构成的伪浮点表示被用于近似组合函数的表示。部分多精度码字通过修改先前生成的多精度码字的非常小的一部分来生成。被修改的码字的小部分从近似组合函数的伪浮点表示的指数标识。也就是说,指数部分标识适用于尾部部分的移位因子,所述尾部部分随后被加到或者从部分多精度码字中减去。因为很多标准组合表达的分辨率丢失了,所以我将这个称为组合函数的“近似值”。
让我们往回看等式(11)。(在后文中我们将集中于等式(11),只因为在适合修改情况下(11)和(12)是等效的)。注意,pk的值随着k从1变化到ν而不断增加。F’(n,k)的值的动态范围是非常大的,即,对于k的小值,F’(n,k)结果可能是小的(少于32比特精度),而对于k的大值,它可能是非常大的,例如,相当于几百或也许几千比特的精度。在其中动态范围是非常大的情况下,近似组合函数F′(pk,k)允许包括非常少的比特的非常有效的表示。现在考虑在表1中给出的示例。在这个示例中,待代码化的位置的总数是ν=15,pk是第k个非零向量位置的值,并且待代码化的相应位置pk被示出。如所示,对于k≤6,F′(pk,k)的结果能够用少于32比特的精度来表示而对于k>6,需要多于32比特。对于k=15,F′(pk,k)具有74比特长的结果。因此,将一致方法用于F′(pk,k)的生成和表示可能不会提供最低的总体复杂度。
表1:针对ν=15函数F′(pk,k)的示例
Figure BDA0000406953550000061
为了解决这个问题,在本文中描述了用于信号的低复杂度组合代码化和解码的方法和装置。在操作期间,当非零脉冲位置是小的时,编码器和解码器将在确定码字中利用第一函数。当非零脉冲位置是大的时,编码器和解码器还将在确定码字中利用第二函数。
作为示例,当表示F(n,k)所需的比特的数目是小的(例如,少于32)时,编码器可以利用具有组合函数F(n,k)(等式3)的标准表示的阶乘脉冲代码化方法,否则当表示F(n,k)所需的比特是大的时,编码器可以使用近似组合函数(例如,等式10)。
在本发明的一个实施例中,pk的最大值(
Figure BDA0000406953550000062
)针对F(pk,k)小于预定值被存储。取决于实现硬件,预定值例如可以是能够由M=31或32比特来表示的数字。假设是针对能够用M比特或更少比特来表示第k个代码化位置的为最大向量位置。考虑表2中的示例,让我们假定n=200的向量长度并且编码位置的总数为ν=15。因此对于待代码化的前四个非零位置k≤4,1≤pk≤200的整个范围能够用31比特或较少比特来表示,因此
Figure BDA0000406953550000072
并且可以使用标准函数F(pk,k)。对于剩余的非零脉冲位置k>4,每当它能够使用31比特来表示时,可以使用标准组合函数,否则使用近似组合函数。从表2中,能够看到的是阈值可以被预先确定以允许选择较低复杂度函数,要么标准组合函数
Figure BDA0000406953550000073
要么近似组合函数
Figure BDA0000406953550000074
例如,当代码化k=9非零向量位置时,如果pk的值≤49,则可以使用标准函数
Figure BDA0000406953550000075
而近似组合函数
Figure BDA0000406953550000076
可以被用于代码化非零向量位置49<pk≤200。从数学上说我们正在定义由下式给出的新函数:
Figure BDA0000406953550000077
并且将它用于编码和解码。能够容易地证明,也满足在等式(8)中所示出的唯一可解码性不等式。
表2:针对n=200、ν=15示出的示例
Figure BDA0000406953550000082
上述方法能够被容易地用在编码器处,因为编码器知道pk对于k中的每一个的值。然而,因为编码器(对于k的特定值来说)不知道在编码期间使用哪一个函数,所以它可能不得不开始使用F'(pk,k)来解码pk,并且然后当它确信值pk小于
Figure BDA0000406953550000083
时切换到F(pk,k)。这不仅可能增加解码复杂度,而且使解码器实现变复杂。
为了正确地处理解码器操作,优选的是,用于确定在编码和解码向量的当前位置中正被使用的技术取决于所述码字的先前解码位置。
典型地从最高位置到最低位置解码各码字。因此,组合函数应该被用于第k个位置pk的代码化的类型可以是基于第k+1个代码化位置的值pk+1。所以如果F(pk+1-1,k)能够用不到32比特来表示,则pk的所有其它可能值也能够用不到32比特来表示。在这样的场景中,优选使用标准组合函数,否则近似组合函数是优选的。在下面给出了被修改函数的数学定义。
Figure BDA0000406953550000091
能够进一步观察到,
Figure BDA0000406953550000092
是k的递增序列,即,
p k - 1 max &le; p k max &le; p k + 1 max .
这建议如果标准组合函数能够被用于第k个位置的代码化,则相同的函数能够被用于先前的位置,即从1到第k-1个位置。类似地,如果近似组合函数对于第k个位置的代码化是需要的,则相同的函数对于从k+1到v的所有后续位置的代码化是需要。因此
p k max =max ( p k ) , s . t . F ( p k , k ) &le; 2 31 . - - - ( 15 )
然而,取决于诸如复杂度和其它特定要求的其它因素,我们能够选择不同于由等式(15)所给出的值的
Figure BDA0000406953550000095
的任何值。例如,F(pk,k)的结果的最大长度可能限于40比特或64比特而不是31或32比特。此外,为了节约存储器,
Figure BDA0000406953550000096
的值可能上限于64或128的值而不管F(pk,k)是否产生少于32比特的结果,并且还可能取决于在其上执行过程的硬件。
附加地,应领会的是,现有技术还可以按照等式(12)使用“位置”信息的代码化来代码化“幅度”信息,并且上述描述可以适用于码字Cμ以及Cπ的码字生成。我们还知道,非零(占用)向量元素的代码化位置与零值(非占用)向量元素的代码化位置类似,并且以上描述同样也适用于那些情况。此外,不同的近似值函数在某些情况下是有利的使得可以引入第三组合函数也许是可能的。技术人员还领会的是,“标准”组合函数可能不只是“n选k”函数。例如,已经在现有技术中引入了允许实现更有效的代码化方式同时维持“标准”框架的特定修改。
现转向附图,其中相同的标号标明相同的组件,图1是编码器100的框图。编码器100包括向量生成器102、组合代码化电路(代码器)106以及组合函数生成器108。图1中的电路可以被实现在执行代码化的任何硬件设备内。这样的设备包括但不限于蜂窝电话、陆线电话、音乐播放机、电缆TV机顶盒等。
在操作期间,待代码化的输入信号被向量生成器102接收到。如本领域中所知道的,输入信号可以包括如语音、音频、图像、视频这样的信号以及其它信号。向量生成器102接收输入信号并且创建向量x。在本发明的优选实施例中,输入信号包括诸如语音或音乐的音频输入信号,但在本发明的替换实施例中,输入信号可以包括音乐、声音、视频或其任何组合。向量生成器102可以包括任何数目的编码范例,包括但不限于如由Peng等人所描述的码激励线性预测(CELP)语音代码化、包括基于离散傅里叶变换(DFT)、离散余弦变换(DCT)以及修改型离散余弦变换(MDCT)的方法的音频、图像以及视频变换域代码化、基于小波的变换代码化、直接时域脉冲码调制(PCM)、差分PCM、自适应差分PCM(ADPCM)或本领域中众所周知的子带代码化技术簇中的任何一个。实际上可以依照本发明有利地处理上面给出的形式的任何信号向量。
组合代码化电路106接收向量x并且使用阶乘脉冲代码化来产生码字C。如上面所讨论的那样,阶乘脉冲代码化能够考虑到
Figure BDA0000406953550000101
使用总共M比特来代码化向量x,并且向量x的所有值都被值积分使得-m≤xi≤m,其中m是单位幅度脉冲的总数,而n是向量长度。而并且,如上面所讨论的,所生成的码字是基于组合函数F(n,k)的。如上面所讨论的,特别在需要使存储器和计算复杂度保持尽可能低的移动手持式设备中,m和n的较大值以及因此F(n,k)能够迅速地引起问题。
为了解决这个问题,当表示F(n,k)所需的比特的数目是小的(例如,少于32比特)时,组合函数生成器108利用低复杂度技术用于产生F(n,k),否则当表示F(n,k)所需的比特是大的时,代码器106使用近似组合函数(例如,等式10)。更特别地,组合代码化电路106利用
Figure BDA0000406953550000111
或替换地
Figure BDA0000406953550000112
来产生码字C。因此,当表示F(n,k)所需的比特是大的时,电路108利用阶乘组合F’(n,d)的相对低分辨率近似值,其提供仅足够的精度来允许有效码字被生成。也就是说,只要某些属性被维持,函数F(n,d)的适当近似值足以保证结果得到的码字是唯一可解码的。
图2是示出由电子编码器100所执行的操作的流程图。逻辑流程在步骤201处开始,在步骤201中输入信号被向量生成器102接收。在步骤203处,生成器202输出输入信号的数字表示作为被代码化电路106接收的向量x。如上所讨论的,代码化电路106利用F’(n,k)或F(n,k)来产生表示向量x的码字。换句话说,电子编码器将在从向量x产生码字C中选择第一函数或第二函数,其中电子编码器基于小于预定值的向量x的非零向量位置来选择第一函数或第二函数。
鉴于上述情况,pk的最大值对于F(pk,k)小于预定值(例如,32比特长)来说存在(并且被电路106存储)。假设
Figure BDA0000406953550000113
是最大这样的值。这个值要么被生成器108存储要么能够通过代码化电路106而被传递给生成器108。不管生成器108如何接收在步骤205处索引值k和n(x的向量长度)被传递给生成器108。在步骤207处,组合函数生成器108返回
或替换地
代码化电路106然后基于F(pk,k)的返回值为向量x产生适当的码字C(步骤209)。特别地,码字由电路106生成为:
C &pi; = &Sigma; k = 1 v F ^ ( p k , k ) , 0 &le; p k < n
这个码字然后能够被编码器100发送或者存储(在未示出的储存器中)。
图3是解码器300的框图。如所示,解码器300包括组合解码电路306、信号重建电路310以及组合函数生成器108。图3中的电路可以被实现在执行解码的任何硬件设备内。这样的设备包括但不限于蜂窝电话、陆线电话、音乐播放机、电缆TV机顶盒等。
在操作期间组合码字被组合解码电路306接收。组合解码电路306将n和k提供给组合函数生成器,并且作为响应接收
Figure BDA0000406953550000123
解码电路306然后基于来创建向量x。电路306以与电路106类似的方式操作,因为对于编码和解码两者来说必须是相同的。因此,解码电路306将n、k馈送到函数生成器308。还可以提供pk+1
Figure BDA0000406953550000126
的现有值。进而,生成器308将返回
Figure BDA0000406953550000127
或替换地
Figure BDA0000406953550000128
解码器306然后将基于
Figure BDA0000406953550000129
的当前值来解码码字的当前位置。这导致图1的原始输入信号的数字表示,其被输出到信号重建电路310,在信号重建电路310中信号的数字至模拟转换可以发生以输出原始输入信号。
图4是示出解码器300的操作的流程图。逻辑流程在其中码字被解码电路306接收的步骤401处开始。对于码字内的每个位置,n和k被提供给组合函数生成器(步骤403)。与编码器一样,
Figure BDA0000406953550000131
可以在步骤403处被提供给函数生成器108或者可能被函数生成器108事先知道。另外,在本发明的替换实施例中,pk+1可以在步骤403处被提供给函数生成器308或者可能被生成器308事先知道。作为响应在步骤405处,生成器提供
Figure BDA0000406953550000132
或替换地
Figure BDA0000406953550000133
在步骤407处,组合解码电路306将向量x输出到信号重建电路310,在信号重建电路310中重建和输出原始输入信号。原始输入信号可以在简单的扬声器(未示出)上作为声音被输出。
图5是示出能够被用在编码器和解码器两者中的组合函数生成器的框图。如所示,生成器500包括标准组合函数生成器501和近似组合函数生成器503两者。比较器505被提供以便确定生成器501或生成器503是否将被用来输出
Figure BDA0000406953550000134
更特别地,比较器505将确定是否
Figure BDA0000406953550000135
或者替换地是否
Figure BDA0000406953550000136
基于这个确定,生成器501或生成器503将像上面所描述的那样被利用。更特别地,生成器501或生成器503将被使用,从而返回第一函数或第二函数。第一函数或第二函数将被用在从向量x产生码字C中。将基于小于预定值的向量x的非零向量位置来选择第一函数或第二函数。
选择第一函数或第二函数的步骤包括选择
Figure BDA0000406953550000137
的步骤,其中pk是第k个非零向量位置的值。当表示
Figure BDA0000406953550000138
所需的比特的数目是小的时,可以使用具有
Figure BDA0000406953550000139
的标准表示的阶乘脉冲代码化方法,否则当表示
Figure BDA00004069535500001310
所需的比特是大的时,可以使用
Figure BDA0000406953550000141
的近似值。更具体地说,当表示所需的比特的数目是小的时,否则当表示
Figure BDA0000406953550000144
所需的比特是大的时, F ^ = F &prime; ( n , d ) = R &prime; ( S &prime; ( n ) - S &prime; ( n - d ) - Q &prime; ( d ) ) , 其中n包括位置参数,d包括脉冲索引参数,R’包括幂函数的估计,S’包括n!的对数域估计,而Q’包括d!的对数域估计。
虽然已经参考特定实施例特别示出并且描述了本发明,但是本领域的技术人员将理解的是,在不背离本发明的精神和范围的情况下,可以在其中作出形式和细节上的改变。意图是,这样的改变落入所附权利要求的范围内。

Claims (12)

1.一种用于在电子编码器内将向量代码化的方法,所述方法包括以下步骤:
从输入信号在所述电子编码器处创建向量x;
由所述电子编码器在从所述向量x产生码字C的过程中选择第一函数或第二函数,其中所述电子编码器基于小于预定值的所述向量x的非零向量位置,来选择所述第一函数或所述第二函数。
2.根据权利要求1所述的方法,其中选择所述第一函数或所述第二函数的步骤包括以下步骤:选择
Figure FDA0000406953540000011
其中pk是第k个非零向量位置的值。
3.根据权利要求2所述的方法,其中:
Figure FDA0000406953540000012
或替换地
Figure FDA0000406953540000013
其中
Figure FDA0000406953540000014
是使得F(pk,k)小于预定数的pk的最大值。
4.根据权利要求2所述的方法,其中,当表示
Figure FDA0000406953540000015
所需的比特数目是小的时,使用具有的标准表示的阶乘脉冲代码化方法,否则当表示
Figure FDA0000406953540000017
所需的所述比特是大的时,所述代码器使用
Figure FDA0000406953540000018
的近似值。
5.根据权利要求4所述的方法,其中,当表示
Figure FDA0000406953540000019
所需的比特数目是小的时,
Figure FDA00004069535400000110
否则当表示
Figure FDA00004069535400000111
所需的所述比特是大的时, F ^ = F &prime; ( n , d ) = R &prime; ( S &prime; ( n ) - S &prime; ( n - d ) - Q &prime; ( d ) ) , 其中n包括位置参数,d包括脉冲索引参数,R’包括幂函数的估计,S’包括n!的对数域估计,而Q’包括d!的对数域估计。
6.一种装置,所述装置包括:
向量生成器,所述向量生成器从输入信号在电子编码器处创建向量x;
代码化电路,所述代码化电路在从所述向量x产生码字C的过程中使用第一函数或第二函数,其中基于小于预定值的所述向量x的非零向量位置,来使用所述第一函数或所述第二函数。
7.一种用于在电子解码器内解码码字的方法,所述方法包括以下步骤:
在所述电子解码器处创建码字;
由所述电子编码器在从所述码字产生向量x的过程中选择第一函数或第二函数,其中所述电子解码器基于小于预定值的所述向量x的非零向量位置,来选择所述第一函数或所述第二函数。
8.根据权利要求7所述的方法,其中,选择所述第一函数或所述第二函数的步骤包括以下步骤:选择
Figure FDA0000406953540000021
其中pk是第k个非零向量位置的值。
9.根据权利要求8所述的方法,其中:
或替换地
Figure FDA0000406953540000023
其中是使得F(pk,k)小于预定数的pk的最大值。
10.根据权利要求8所述的方法,其中,当表示
Figure FDA0000406953540000025
所需的比特数目是小的时,使用具有
Figure FDA0000406953540000026
的标准表示的阶乘脉冲代码化方法,否则当表示
Figure FDA0000406953540000027
所需的所述比特是大的时,所述代码器使用
Figure FDA0000406953540000028
的近似值。
11.根据权利要求10所述的方法,其中,当表示所需的比特数目是小的时,
Figure FDA0000406953540000032
否则当表示
Figure FDA0000406953540000033
所需的所述比特是大的时, F ^ = F &prime; ( n , d ) = R &prime; ( S &prime; ( n ) - S &prime; ( n - d ) - Q &prime; ( d ) ) , 其中n包括位置参数,d包括脉冲索引参数,R’包括幂函数的估计,S’包括n!的对数域估计,并且Q’包括d!的对数域估计。
12.一种装置,包括:
解码电路,所述解码电路在从码字产生向量x的过程中使用第一函数或第二函数,其中基于小于预定值的所述向量x的非零向量位置,来使用所述第一函数或所述第二函数;以及
信号重建电路,所述信号重建电路从所述向量x创建输出信号。
CN201280021516.3A 2011-05-02 2012-04-20 用于信号的低复杂度组合代码化和解码的装置和方法 Active CN103503064B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/098,501 US8751244B2 (en) 2011-05-02 2011-05-02 Apparatus and method for low complexity combinatorial coding and decoding of signals
US13/098,501 2011-05-02
PCT/US2012/034360 WO2012151059A1 (en) 2011-05-02 2012-04-20 Apparatus and method for low complexity combinatorial coding and decoding of signals

Publications (2)

Publication Number Publication Date
CN103503064A true CN103503064A (zh) 2014-01-08
CN103503064B CN103503064B (zh) 2016-10-19

Family

ID=46018120

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280021516.3A Active CN103503064B (zh) 2011-05-02 2012-04-20 用于信号的低复杂度组合代码化和解码的装置和方法

Country Status (8)

Country Link
US (1) US8751244B2 (zh)
EP (1) EP2705517B1 (zh)
KR (1) KR101578989B1 (zh)
CN (1) CN103503064B (zh)
BR (1) BR112013028159A2 (zh)
CA (1) CA2833737C (zh)
MX (1) MX2013012782A (zh)
WO (1) WO2012151059A1 (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6236960B1 (en) * 1999-08-06 2001-05-22 Motorola, Inc. Factorial packing method and apparatus for information coding
US20090100121A1 (en) * 2007-10-11 2009-04-16 Motorola, Inc. Apparatus and method for low complexity combinatorial coding of signals
US20090231169A1 (en) * 2008-03-13 2009-09-17 Motorola, Inc. Method and Apparatus for Low Complexity Combinatorial Coding of Signals

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7461106B2 (en) 2006-09-12 2008-12-02 Motorola, Inc. Apparatus and method for low complexity combinatorial coding of signals
US20090234642A1 (en) * 2008-03-13 2009-09-17 Motorola, Inc. Method and Apparatus for Low Complexity Combinatorial Coding of Signals

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6236960B1 (en) * 1999-08-06 2001-05-22 Motorola, Inc. Factorial packing method and apparatus for information coding
US20090100121A1 (en) * 2007-10-11 2009-04-16 Motorola, Inc. Apparatus and method for low complexity combinatorial coding of signals
US20090231169A1 (en) * 2008-03-13 2009-09-17 Motorola, Inc. Method and Apparatus for Low Complexity Combinatorial Coding of Signals

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
UDAR MITTAL,ET AL.: "LOW COMPLEXITY FACTORIAL PULSE CODING OF MDCT COEFFICIENTS USING APPROXIMATION OF COMBINATORIAL FUNCTIONS", 《2007 IEEE INTERNATIONAL CONFERENCE ON ACOUSTICS, SPEECH, AND SIGNAL PROCESSING,ICASSP 2007》 *

Also Published As

Publication number Publication date
MX2013012782A (es) 2013-12-06
CA2833737C (en) 2017-10-03
US20120284032A1 (en) 2012-11-08
CN103503064B (zh) 2016-10-19
BR112013028159A2 (pt) 2017-09-19
WO2012151059A1 (en) 2012-11-08
EP2705517A1 (en) 2014-03-12
KR20130137237A (ko) 2013-12-16
US8751244B2 (en) 2014-06-10
EP2705517B1 (en) 2018-02-21
CA2833737A1 (en) 2012-11-08
KR101578989B1 (ko) 2015-12-18

Similar Documents

Publication Publication Date Title
CN101517551B (zh) 用于信号的低复杂度组合编码的装置和方法
CN101821953B (zh) 用于信号的低复杂度组合编码的设备和方法
CN102037650B (zh) 用于信号的低复杂度组合编码的装置和方法
US10841584B2 (en) Method and apparatus for pyramid vector quantization de-indexing of audio/video sample vectors
CN105210149B (zh) 用于音频信号解码或编码的时域电平调整
US11942102B2 (en) Pyramid vector quantizer shape search
CN103503064A (zh) 用于信号的低复杂度组合代码化和解码的装置和方法
CN106157960A (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
C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20160406

Address after: American California

Applicant after: Technology Holdings Co., Ltd of Google

Address before: Illinois State

Applicant before: Motorola Mobility, Inc.

C14 Grant of patent or utility model
GR01 Patent grant