快速点阵向量量化的制作方法

文档序号:2837466阅读:567来源:国知局

专利名称::快速点阵向量量化的制作方法
技术领域
:本发明涉及对音频信号编码和解码,更具体地讲,涉及使用快速点阵向量量化来编码和解码具有高达大约22kHz音频带宽的音频信号。
背景技术
:在建立声音信号或从声音信号重放声音的许多系统中使用音频信号处理。随着数字信号处理器(DSP)的发展,许多信号处理功能是通过数字化进行的。为此,从声波建立音频信号,转换成数字数据,为希望的效果进行处理,转换回模拟信号,并作为声波再现。模拟音频信号一般是通过话筒从声波(声音)产生的。以特定频率对模拟音频信号的振幅取样,并将振幅转换成代表振幅的数字。典型的取样频率是大约8kHz(即,每秒取样8000次),16kHz至196kHz,或这些频率之间的某个频率。根据数字化声音的质量,可以用8比特至128比特之间的某个比特数字化声音的每个取样。为了保持高质量的声音,可能要使用许多比特。例如,在最高端,为了以196kHz取样率和每个取样128比特表现一秒钟的声音,可以占用128比特xl92kHz-24兆比特-3MB。为了表现3分钟(180秒)的歌曲,要用540MB。在低端,在典型的电话会议中,以8kHz对声音进行取样,且以每个取样8比特进行数字化,仍然要使用8kHzx8比特二64千比特/秒-8kB/秒。为了使数字化声音数据更容易使用、存储和传送,一般要对它们进行编码,以减小它们的大小而不降低它们的质量。当要再现它们的时侯,对它们进行解码以恢复原始的数字化数据。已经提出了各种不同的方式对音频信号进行编码和解码,以减小它们的数字格式的大小。对信号进行编码和解码信号的处理器或处理模块通常被称为编解码器。一些是无损的,即,解码信号与原始信号严格地相同。一些是有损的,即,解码信号与原始信号有轻微的差别。有损编解码器通常可以取得比无损编解码器更大的压縮率。有损编解码器利用某些人类听觉的特征,抛弃某些人类不易察觉的声音。对于大多数人,只有在大约20Hz至大约20kHz之间的音频范围内的声音才是可察觉的。在这个频率范围之外的声音大多数人是不能听到的。因此,当为人类听众再现声音时,产生这个范围之外的声音并不能改善听到的声音质量。在用于人类听众的大多数音频系统中,不再现这个范围之外的声音。在典型的公共电话系统中,在两个电话机之间仅通信大约300Hz至大约3000Hz之内的频率。这减少了数据传输。一种用于编码/解码音乐的流行方法是MP3编解码器中使用的方法。典型的音乐CD可以存储大约40分钟的音乐。当用MP3编码器以相当的声音质量为相同的音乐编码时,这种CD可以存储10-16倍以上的音乐。结合在这里作为参考的、标题为"64kbit/s内7kHz音频编码"的ITU-T(国际电信同盟电信标准化部)建议G.722(1988)描述了一种64kbit/s内7kHz音频编码的方法。ISDN线路具有以64kbit/s传输数据的能力。这种方法实际上将通过使用ISDN线路的电话网络的音频的带宽从3kHz提高到7kHz。改善了听到的音频质量。尽管这种方法使得能够通过现有的电话网获得高质量的音频,但是,它一般需要来自电话公司的ISDN服务,这种服务比一般的窄带电话服务更贵。一种建议在电信中使用的更新的方法是,结合在这里作为参考的,标题为"用于低帧损系统中免提操作的24和32kbit/s编码(Codingat24and32kbit/sforhands—freeoperationinsystemwithlowframeloss)"的ITU-T建议G.722.1(1999)。这个建议说明了一种数字宽带编码器算法,这种算法提供了50Hz至70kHz的音频带宽,操作在大大低于G.722的24kbit/s或32kbit/s的比特率。以这种数据率,具有使用惯用模拟电话线路的惯用调制解调器的电话可以发送宽带音频信号。因此,只要两端的电话机能够执行G.722.1中所述的编码/解码,大多数现有电话网都可以支持宽带对话。
发明内容希望能有全频声音通过电话,从而使得就声音质量而言,电话对话几乎与面对面对话一样。希望有一种能够改善声音质量,或减小数据负担,或既能改善声音质量又能减小数据负担的方法。本发明披露了提高了音频编解码器的效率,即,提高了声音质量和减小了传输信道或存储介质中的数据负担的系统、方法、和装置。本发明的一个实施例对输入音频信号使用了至少两个MLT(调制重迭变换(ModulatedLappedTransform))。一个低频MLT使用大约20ms的帧,和—个高频MLT使用四个各为大约5ms的帧。低频MLT可以与G722.1中说明的MLT相同,而高频MLT在高频下提供了更高的分辨率。与单变换相比,双变换产生了更好的高频的瞬变再现。可以将MLT系数分组成子帧,然后组成不同长度的组。子帧的每个振幅包络可以由数标量量化器来量化,MLT系数可以用多维点阵向量来量化。根据本发明的各个实施例的快速点阵向量量化器提供了高于标量量化器的量化效率和精度,而且没有点阵向量量化通常所具有的问题。本发明的各个实施例进一步通过使用一个用于高速量化和一个用于低速量化的两个不同的量化方案,改善了量化和编码。本发明的各个实施例通过动态地确定是否使用霍夫曼编码技术为振幅包络和系数索引编码而进一步改进了量化编码。对于四个组中的每一组,只有在能够减少编码组内的所有系数索引所需的总比特数的时侯,才使用霍夫曼编码技术。否则,不使用霍夫曼编码技术以减少不必要的计算成本。根据本发明的各个实施例,提供了一种在对音频信号编码中使用的量化方法。该方法可以包括使用第一点阵向量量化器以每个系数大于1比特的速率量化变换系数,和使用第二点阵向量量化器以每个系数1比特的速率量化变换系数。为了以每个系数大于l比特的速率量化变换系数,该方法可以包括从截断的点阵构造码本,其中点阵包括所有码向量的多维点阵,所有码向量具有带有偶数和的整数坐标;和量化位于截断点阵之外的外部源向量。为了以每个系数l比特的速率量化变换系数,该方法可以包括从点阵构造码本,和量化每个码向量,该点阵包括落在同心球上的所有码向量的多维点阵。根据本发明的各个实施例,提供了一种对音频信号进行编码的方法。该方法可以包括将音频信号的取样组从时域变换到频域,以形成变换系数的帧。该方法还可以包括将变换系数的每一帧分成多个组,其中每组包含多个子帧,和其中每个子帧包含特定数量的变换系数。该方法还可以包括根据子帧的rms来确定每个子帧的范数。该方法还可以包括量化每个子帧的rms。该方法还可以包括通过用子帧的量化rms除子帧内的每个系数来归一化每个子帧的系数。该方法还可以包括使用第一点阵向量量化器以每个系数大于1比特的速率量化系数。该方法还可以包括使用第二点阵向量量化器以每个系数l比特的速率量化系数。还提供一种上面记录有程序的计算机可读介质,机器可以执行该程序来执行在此描述的任何方法。根据本发明的各个实施例,提供一种对音频信号编码的22kHz编码器。该编码器可以包括变换模块,用于将音频信号的时域取样的帧变换到频域,以形成变换系数的帧。该编码器还可以包括第一点阵向量量化器模块,用于以每个系数大于l比特的速率量化变换系数。该编码器还可以包括第二点阵向量量化器模块,用于以每个系数l比特的速率量化变换系数。该方法还可以包括编码器模块,用于针对有所述第一点阵向量量化器量化的系数进行量化的可变比特长度编码索引。根据本发明的各个实施例,提供了一种终端(endpoint)。该终端包括可以包括音频输入/输出接口,可通信地耦合到音频输入/输出的话筒,可通信地耦合到音频输入/输出接口的扬声器,和可通信地耦合到音频输入/输出接口的22kHz音频编码器。该终端还可以包括可通信地耦合到音频输入/输出接口的总线,可通信地耦合到总线的视频输入/输出接口,可通信地耦合到视频输入/输出接口的摄像机,和可通信地耦合到视频输入/输出接口的显示装置。通过结合附图阅读以下对优选实施例的详细说明,可以更好地理解本发明,其中图1示出了根据本发明一个实施例的示例双变换方案;图2A示出了根据本发明一个实施例的示例系数分组方案;图2B示出了根据本发明另一个实施例的示例系数分组方案;图3A示出了根据本发明一个实施例的示例编码比特流;图3B示出了根据本发明一个实施例的标记比特的示例结构;图3C示出了根据本发明一个实施例的变换系数的示例结构;图3D示出了根据本发明另一个实施例的变换系数的示例结构;图4示出了根据本发明一个实施例的编码处理过程的示例处理流程图;图5示出了根据本发明一个实施例的解码处理过程的示例处理流程图;图6示出了根据本发明一个实施例的编码器的示例方框图;图7示出了根据本发明一个实施例的解码器的示例方框图;图8示出了根据本发明一个实施例的会议系统的示例方框图。具体实施方式本发明的各个实施例利用革新的编码器和解码器扩大和改善了音频信号处理的性能。广义地讲,编码处理包括变换处理、量化处理、和编码处理。本发明的各个实施例在三个处理中全部做出了改进。在大多数现有技术的音频信号处理中,音频信号帧具有固定的长度。帧长度越短,延迟越短。对于高频,较短的帧长度也提供了较好的时间分辨率和更好的性能。但是,短帧提供了较差的频率分辨率。与此相反,帧长度越长,延迟越长。但是,在低频,较长的帧提供较好的频率分辨率和更好的性能,以分辨音调谐波。在一种折衷方案中,帧长度一般在20ms的范围内,这也是G722.1建议中采用的帧长度。根据本发明的各个实施例,可以使用至少两个不同的音频取样帧长度。一个具有较长的帧长度,并且设计用于更好地表现低频频谱;另一个具有较短的帧长度,用于高频信号,和在高频提供更好的分辨率。两种信号帧的组合提高了声音质量。这可以将频谱响应扩大到整个人类音频频谱,例如,大约20Hz至大约22kHz。根据本发明的一个实施例,比特分配可以是自适应和动态的,而不是使用极少种类内的预定比特分配。在变换系数量化的过程中,可使用动态比特分配。因此,能够最好地使用可用比特。使用至少两个变换,要量化和编码的变换系数远比使用一个单一变换时的多。在本发明的一个实施例中,可以使用快速点阵向量量化法来代替简单的标量量化法。向量量化一般比简单的标量量化法的效率高。更具体地讲,点阵向量量化(LVQ)比惯用的已知LBG(Linde,Buzo,andGray)向量量化的优越之处在于,由于LVQ码本的规则结构,LVQ具有相对简单的量化处理过程,并且能够节省所需的存储器。但是,由于几种限制,点阵向量量化尚未在实时语音和音频-编码中广泛地应用,这几种限制包括在如何截断给定速率的点阵以建立与输入源的概率密度函数(PDF)匹配的LVQ码本,如何快速地将LVQ码本的码向量(点阵点)翻译成它们的索引,和如何量化位于截断点阵外面的源向量("局外者(outlier)")方面存在的困难。根据本发明的快速LVQ(FLVQ)避免了上述限制。FLVQ包括高速量化器(HRQ)和低速量化器(LRQ)。在量化变换系数中,量化器不是定标点阵码本而是定标系数,以便使用一种快速搜索算法,然后在解码器再换算重构的系数。通过将局外者放回到用作LVQ码本的截断点阵内,这种定标系数的方法也可以解决"局外者"问题。诸如人类话音或音频音乐之类的输入源的PDF是从各种不同声源的大的集合中产生的。一旦消除了LVQ的限制,在本发明的实施例中,FLVQ的使用提供了比现有技术标量量化更高的量化效率。在本发明的另一个实施例中,通过动态霍夫曼编码可以进一步提高量化和编码效率。众所周知,作为一种熵编码方法的霍夫曼编码法在源非均匀分布时最为有用。变换系数一般是非均匀分布的;因此,使用霍夫曼编码法可以提高编码效率。在本发明的这个实施例中,在霍夫曼编码法减少比特需求时,可以将霍夫曼编码法用于编码振幅包络和变换系数的量化索引。在确定是否使用霍夫曼编码法时,将使用霍夫曼编码法的比特的总数与可用于范数或变换系数的量化的比特数比较。只有存在节省时,才可以使用霍夫曼编码法。这种方式,使用了最佳编码方法。双变换在一个实施例中,使用了两种大小的帧,一个被称为长帧,另一个被称为短帧。为了简明起见,本发明称之为双变换,尽管应当理解在某些实施例帧可以使用一种帧大小,或者可以使用两种以上的帧大小。参考图1,对音频信号102进行取样和数字化。在这个特定的例子中,以48kHz的频率对音频信号取样。但是,也可以使用其他取样频率。在这个例子中,长帧L104具有大约20ms的帧长度。对于每个长帧L104,具有多个短帧S1106,S2107,S3108,和S4109。在这个例子中,每个短帧106,107,108和109具有大约5ms的帧长度;因此,每个长帧104具有大约960个取样(48kHzx0.02s=960),而每个短帧(106,107,108,109)具有大约240个取样(48kHzx0.005s=240)。尽管在本例中示出了四个短帧106,107,108和109,但是也可以有更少或更多数量的短帧;例如,短帧的数量可以是2,3,4,5,等等。将这些帧104,106,107,108和109从时域变换到频域。例如,可以如同ITU-T建议G.722.1中所雄的那样,可以利用MLT(调制重迭变换)对它们进行变换。为了简明,本发明称之为MLT变换,尽管也可以使用其他类型的变换,例如,FFT(快速傅里叶变换)和DCT(离散余弦变换),等等。该变换产生图2A中所示的MLT系数集212,222,224,226,和228。每个短帧MLT系数集222,224,226,和228具有大约240个系数,并且每个系数与相邻的系数具有大约100Hz的间隔。对于长帧212,大约有960个MLT系数,或每25Hz—个系数。可以组合这些系数以形成1920个MLT系数的单一集。这个系数集可以捕获声音的低频特性和高频特性。由于22kHz的编码带宽,可以忽略大约22kHz以上频率的MLT变换系数。长变换十分适合于捕获较低的频率。短变换很适于捕获较高的频率。因此,并不是所有系数都携带再现被变换的声音信号的相同的值。在一个实施例中,可以忽略一些系数。每个短帧MLT系数集具有大约240个系数。每个系数与它的相邻系数间隔大约100Hz。在一个实施例中,可以忽略低于大约6800Hz和高于大约22,000Hz的系数。因此,每个短帧可以保留152个系数,并且四个短帧的系数的总数是608个。对于长帧,在一个实施例,由于长帧被用来表现较低频率的信号,所以可以保留低于大约7kHz频率的系数,并且可以将高于大约7kHz频率的、来自长变换的系数舍弃。因此,较低的频率可以有280个系数。因此,在一个实施例中,对于高达2SkHz左右的音频辦谱,总系数可以是888(608+280)个。在量化和编码之前,可以将系数分组成子帧(sub-frame)并组成组。在这个实施例中"子帧(sub-frame)"可以与G.722.1方法中的"区域(region)"相同。将一个子帧作为一个单元,计算振幅包络,赋予可变比特分配,和进行进一步的量化和编码。一个组包括许多具有一个频谱范围内的相同长度的子帧。一个组内的子帧可以具有相同的特性,并且可以用相同的方式量化或编码。但是,对于不同组中的子帧,量化和编码的方法可能是不同的。与现有技术方法中的区域不同,子帧可以具有不同的大小,组也可以是不同大小的,从而,在可以减少量化和编码的过程中,不同的子帧和组可以更接近地表示频谱和比特需求。在当前的实施例中,从OHz到22kHz的整个音频频谱可以划分为四个组。第一组覆盖从大约OHz到大约4kHz的频率。第一组具有10个子帧,每个子帧具有16个MLT系数。第一组中的总系数是160个系数,所有这些系数都来自于长帧变换。第二组包括从大约4kHz到大约7kHz的频谱。第二组具有5个子帧,每个子帧具有24个系数,所以第二组具有总共120个系数。这些系数来自于长帧变换。第三组覆盖从大约7kHz(或在一些实施例中,大约6.8kHz)到大约14kHz的频谱。在它们的边界上,长帧变换和短帧变换可以交迭,以使过渡更为平顺。第三组具有9个子帧,每个子帧具有32个系数,所以第三组总共具有288个系数。这些系数来自于四个短帧变换。第四组覆盖从大约14kHz到大约22kHz的频谱。这个组具有10个子帧,每个子帧具有32个系数,所示总共有320个系数。总之,在本实施例中,有888个系数要量化和编码。在边界频率附近的250Hz的频率区域上,可以利用一个三角窗口在长MLT和短MLT系数之间进行重叠相加(OLA)。对于长MLT,用下坡斜率乘从6775Hz开始的IO个系数。对于短MLT,用上坡斜率乘从6800Hz开始的2个系数。在根据上述方案将系数分组到子帧并组成组时,可以根据频率按从低频到高频的顺序排列这些系数。例如,可以将用于相同频率的系数分组到一起来自L的系数后面跟随着来自Sl、S2、S3、和S4的系数,然后又是来自L的更高频率的系数,并重复上述排列。也允许和接受其他排列或顺序。例如,可以将来自相同变换的系数分组到一起,即,首先排列所有来自L变换的系数,然后考来自S1变换,S2、S3、和S4变换的系数。已经发现这里的排列或顺序可能影响后面的量化或编码。在一个实施例中,以下的排列似乎在后面要说明的量化和编码方案中一般能够给出好的结果。来自长帧变换的系数根据频率从低到高地排列到第一和第二组。来自四个短变换的系数一般不根据它们的频率排列,但是并不是严格地根据频率顺序排列。首先,选择8个来自第一短帧变换的系数,并根据频率顺序排列。然后,选择来自第二短帧变换的相同频率的8个系数。同样地,选择来自第三短帧变换的相同频率的系数。接下来,选择来自第四短帧变换的系数。此后,我们返回到第一短帧变换Sl,选择下8个系数,并且重复上述过程,直到选择了来自短帧变换的全部系数。使用上述双变换和分组,得到4个组和34个子帧,每个子帧具有16、24或32个系数。与仅能够变换低频或高频,或不能得到精细的分辨率的现有技术方法的单一变换不同,本发明的各个实施例在音频频谱的低频和高频都能够提供好的分辨率。计算负担仅稍大于单一的短帧变换(例如,5ms帧长度,48kHz取样速率),在22kHz将频谱范围扩大到全音频频谱。这些系数代表全音频频谱。可以用各种量化和编码方法对这些系数进行量化和编码,例如,使用G.722.1中所述的方法。如果使用G.722.1方法,首先对每个子帧的振幅包络进行计算、标量量化、和霍夫曼编码。振幅包络也用于分配用于根据子帧分配的类别编码每个子帧内的系数索引的比特。然后,根据这些系数索引的类别量化它们。上述方案可用于语音和一般音乐。根据另一个实施例,打击乐器类型的信号可能出现在音频信号中。根据诸如高达大约10kHz的频率区域上的长MLT系数的平均梯度斜度,最大长MLT系数的位置,和长MLT系数的零交叉率(ZCR)之类的特性,可以检测到打击乐器类型信号。打击乐器类型信号的例子包括,但不限于,响板和三角铁等产生的声音。如果检测到这种打击乐器类型信号,如图2B中所示的那样,可以将较长的帧变换系数的边界频率调节到大约800Hz(不是7kHz)。这种调节有利地减小了前回声现象。因此,在这个实施例中,长帧变换系数232可以包括大约0Hz到大约800Hz范围内的频率,而短帧变换系数242、244、246、和248可以包括大约600Hz到大约22kHz范围中的频率。频率的叠加有助于提供平滑的过渡。可以在边界频率附近的250Hz的频率区域上利用三角窗口在长MLT和短MLT系数之间执行OLA。对于长MLT,用下坡斜率乘在575Hz开始的10个系数。对于短MLT,用上坡斜率乘在600Hz开始的2个系数。将以25Hz间隔为中心的较低的400个长MLT系数划分为20个组,每个组有20个系数。如下计算每个组中的频谱能量-19^^,《々r服e,0&、19公式i其中x是长MLT系数,i是组号,和THREQ是安静(quiet)阈值,按照经验,可以选择安静阈值为THREQ二7000。当前帧与前一个帧之间的组能量比率的自然对数^如下计算02"19公式2其中n是帧数。上升沿的平均梯度斜度^m;^如下计算:19£(maX(i£,,。)*£,.)^附;v=~~^-公式3>=0下降沿的平均梯度斜度i。^P(^如下计算^附A,=^——~"~公式4如果满足以下条件(1)iam;>r朋i^Jl^,其中7T7i^iL4M尸是斜度的预定阈值,并等于1.5;(2)第一长MLT系数,;c。,是长MLT系数的最大值;和(3)零交叉率,ZC/,小于预定阈值,77W^ZO=0.1,那么检测到打击乐器类型信号。如果检测到打击乐器类型信号,那么当前帧和后面两个帧的边界频率被调节到大约800Hz。如果在下一个帧n+l或n+2中,条件^w&,>1是真,那么编码器用调节的边界频率工作8个帧。否则,编码器在帧n+3返回到7kHz的边界频率。在打击乐器类型信号模式中,当边界频率是大约800Hz时,将双MLT系数划分成具有不同长度的38个子帧。有代表低于800Hz频率的32个长MLT系数,它们被分离成两个16个系数的子帧。短MLT系数被划分成各种不同的组第一组具有12个16系数子帧,并代表600Hz到5.4kHz的频率;第二组具有12个24系数子帧,并代表5.4kHz到12.6kHz的频率;第三组具有12个32系数子帧并代表12.6kHz到22.2kHz的频率。每个子帧包括相同短MLT的系数。振幅包络对子帧的振幅包络进行量化和分析,以确定是否要使用霍夫曼编码。可以将固定比特分配赋予每个振幅包络作为默认值和基准。如果使用霍夫曼编码技术能够比固定比特节省一些比特,则可以使用霍夫曼编码技术。为振幅包络设置霍夫曼标记,使得解码器能够知道是否使用霍夫曼编码。节省的比特数被存储在供剩余编码使用的比特中。否则,不使用霍夫曼编码,清除标记,和使用默认固定比特。例如,在一个实施例中,给每个包络被分配5比特。用于包络的总默认比特是34x5=170比特。假设传输率是64kbit/s,那么每帧的比特数是64kbit/sX20ms=1280比特。在本例中,保留六个标记比特。因此,可用于编码系数索引的比特是1280-6-170=1104比特。对于每个子帧,将振幅包络,也称为范数(norm),定义为子帧中MLT系数的RMS(均方根)值,和如下计算-ATwOO=/-2W/"r,M)m/《7",w)公式5M(。^其中r是子帧的索引,M^是子帧的大小,可以是16、24或32,m/f(h"」是第r个子帧的第w个MLT系数。在当前的例子中,当B/^10时,M^是16,所有这些子帧都在第一组中,0-4kHz;当110S15时,M(^是24,所有这些子帧都在第二组中,4kHz-7kHz;当16^r^24时,Mf^是32,所有这些子帧都在第三组中,6.8kHz-14kHz;当25^《34时,Mf^是32,所有这些子帧都在第四组中,14kHz-22kHz;m^W值用对数量化器计算和标量量化。下面的表1示出了对数量化器的码本。表1范数量化的40-级码本<table>tableseeoriginaldocumentpage18</column></row><table>72,3.5172"272"372-L58182823"382-2.0921251927.52922'5392'"第一子帧的振幅包络,rm^",用5比特量化,并且将它的量化索引被直接发送到解码器。因此,仅有前32个码字被用于量化/vn^/入剩下的33个振幅包络用全部40个码字量化,并如下差分编码得到的索引。差分索引=index(i+l)-index(i)公式6其中1=0,1,2,...。差分索引被约束到[-15,16]的范围。首先调节负的差分索引,然后调节正的差分索引。最后,对调节的差分索引使用霍夫曼编码。接下来,将用于霍夫曼编码的总比特与用于直接编码(即,不用霍夫曼编码)的比特数比较。如果总比特少于不用霍夫曼编码的,那么可以将霍夫曼代码在信道上发送。否则,量化索引的差分码将被发送到解码器。因此,用于编码的比特总是最少的。如果使用霍夫曼代码,那么设置霍夫曼标记,并将节省的比特返回到可用比特。例如,如果霍夫曼编码的总比特是160比特,那么节省170-160=10比特。可用比特成为10+1104=1114比特。自适应比特分配方案可以将一种基于变换系数的组的能量的自适应比特分配方案用于在子帧之间分配帧中的可用比特。在一个实施例中,可以使用一种改进的比特分配方案。与G.722.1中使用这方案不同,系数索引的自适应比特分配不是通过类别固定,而是通过在量化振幅包络的同时的分配处理过程来固定。可以是如下的比特分配。设/ema/;^w代表可用比特的总数,Af"J代表分配给第"子帧的比特数。在上述例子中,在对振幅包络使用霍夫曼编码时,iemm>^r=1114:步骤0,将比特分配初始化到零,即,^"戶0,其中"=1,2,3,…N,其中N是子帧的总数。在上述例子中,N是34。步骤l,找到子帧中具有最大RMS的子帧的索引"。步骤2,将Af「"片匕特分配给第"子帧,即,rW7W+Jkf「"入(在这里,^Tf^是第"子帧中系数的数量)。步骤3,用2除n7wfhj,并且7ema/wcfer-Aema/"(ier-M"(^)。步骤4,如果/^ma!'打^^16,那么重复步骤1至3。否则停止。在这样的比特分配之后,除了少数剩余比特之外的所有比特被分配到子帧。有一些子帧可能没有任何比特分配给它们,因为这些子帧的RMS值太小,即,从频谱的该部分没有对音频信号的可察觉的贡献。频谱的该部分可以忽略。快速点阵向量量化尽管可以使用现有技术的量化和编码方法来实现上述实施例以将处理过的音频信号扩大到全音频频谱,但是它们没能将全部潜力带给广大听众。使用现有技术的方法,比特率需求可能很高,这使得更难发送处理过的全谱频音频信号。可以使用根据本发明一个实施例的新的快速点阵向量量化(FLVQ)方案,这个方案提高了编码效率和减少了比特需求。FLVQ可以用于任何音频信号的量化和编码。将MLT系数分别划分到16、24、和32个系数的子帧中。计算每个子帧的RMS,或,范数,即,子帧中系数的均方根值,并用量化的范数对系数进行归一化。用快速LVQ以8-维向量量化每个子帧中的归一化系数。快速点阵向量量化器包括高速量化器(HRQ)和低速量化器(LRQ)。高速量化器被设计用来以高于1比特/系数的速度量化系数,低速量化器用于以1比特/系数的速度量化。点阵向量量化器最好是用于均匀分布源。点阵是点在N维欧几里得空间中的规则排列。在这种情况下,源(即,MLT系数)是非均匀的,因此,将熵编码-霍夫曼编码-应用于高速量化的索引,以改善HRQ的性能。高速量化高速量化可以基于用于点阵D8的Voronoi码,并且设计用来以2至6比特/系数的速度量化规格化MLT。这个子量化器的码本可以从点阵D8的有限区域构造,并且不存储在存储器中。码向量可以通过简单的代数方法产生。点阵Ds定义如下<formula>formulaseeoriginaldocumentpage21</formula>公式7其中Zs是整数坐标的所有点组成的点阵。可以看到,Ds是一个整数点阵,并且是由具有带有偶数和的整数坐标的点"0^2,>^4,>^^7,>0组成的。例如,向量尸(-l,-l,0,2,l,-3,2,4)具有4的偶数和,因此y是Ds的一个点阵点。Conway和Sloane开发了用于某些已知点阵的快速量化算法,这些算法可以用于Ds。但是,他们的算法假设了一个不能在实时音频编码中用作码本的无限点阵。也就是说,对于一个给定速度,他们的算法不能用于量化位于截断点阵区域外面的输入向量。在一个实施例中,分别以2、3、4、和5比特/系数的速度量化归一化的MLT系数。在另一个实施例中,例如,在检测到打击乐器类型信号时,最大量化速度可以是6比特/系数。为了使给定速度下失真最小,可以截断并定标点阵Ds。实际上,是定标系数而不是点阵码本,以便使用Conway等描述的快速搜索算法,并且,随后在解码器重新定标重构的系数。此外,可以开发一种量化"局外者"的快速方法。对于给定速度R比特/维(1</<7),可以如下量化每个8维系数向量<formula>formulaseeoriginaldocumentpage21</formula>1)将一个小偏移量《=2-6应用到向量x的每个分量,以避开截断Voronoi区域的边界上的任何点阵点,即;c,=;c-a,其中a=(2"6,2"6,2_6,2-6,2"6,2-6,2_6,2-6)。2)用定标因数a定标向量^^-ar,。对于给定的速度R,按经验选择最佳定标因数,并在下面的表2中示出。表2用于高速量化器的定标因数<table>tableseeoriginaldocumentpage21</column></row><table><table>tableseeoriginaldocumentpage22</column></row><table>3)寻找最靠近定标向量A的i^的点阵点v。这可以利用Conway和Sloane中所述的搜索算法进行。4)假设v是以给定速度R截断的Voronoi区域中的码向量,并计算v的索引向量A-(mmit7,it8),其中02夂S2"和Z-l,2,…8。索引A由公式8给出A=(vG-1)modulorr=2&公式8其中G是Z)s的生成器矩阵,并且定义如下<formula>formulaseeoriginaldocumentpage22</formula>公式9<formula>formulaseeoriginaldocumentpage23</formula>公式IO5)利用Conway等描述的算法,从索引向量A计算码向量》然后与v比较。如果^和v严格相同,那么&是对&的最好码向量的索引,并在这里停止。否则,输入向量A是一个局外者,并可以通过以下步骤量化。6)用2除以向量X2:jc2=x2/2。7)寻找最靠近^的Z)s的点阵点w,然后计算"的索引向量》8)从索引向量7寻找码向量》然后将^与w比较。如果j与"不同,那么重复步骤6)至8)。否则,计算w-;c/16。由于MLT系数的归一化,执行少量的重复就可以在截断点阵中找到一个对局外者的码向量。9)计算X2-^+W。10)找到最靠近A的Ds的点阵点M,然后计算"的索引向量》11)从索引向量J发现码向量》然后将^与"比较。如果y和"严格相同,那么^=/并重复步骤9)至ll)。否则,A:是对A的最好码向量,并停止。高速量化器的解码过程可以如下进行1)根据给定的速度i,从索引向量^寻找码向量》2)用前面表2中给出的定标因数"给码向量;;重新定标^=y/。3)将量化处理的步骤1)中使用的同样的偏移a加到重新定标的码向量力少2-少i+a,然后停止。低速量化可以提供基于所谓的旋转Gosset点阵/^s的低速量化器以1比特/系数的速度量化归一化的MLT系数。点阵Ms是由落在圆心在原点上、半径为2V^"的同心球面上的点组成的,其中f0,1,2,3,...。球面上的点的集构成球面码,并且可以用作量化码本。在低速量化器中,码本是由落在r=l的球面上的i^的全部240个点,和不属于点阵/^s的16个附加点构成的。附加点是通过排列两个向量的分量(-2,0,0,0,0,0,0,0)和(2,0,0,0,0,0,0,0)得至U的,并用于量化靠近原点的输入向量。为了开发快速索引算法,用一种特殊次序排列码本的码向量,并在下面的表3中示出。对于每个8维系数向量^0,,:C2,^,^;C5,^—,X8),可以如下执行量化1)将偏移^2"^应用到向量c的每个分量;c,;c-",其中<3=(2-6,2-6,2"6,2-6,2-6,2,2—6,2-6)。2)用定标因数a定标向量x,:^-a^。将最佳定标因数经验地选择为a=1.25。3)通过用递降顺序给x2的分量重新排序获得新的向量、。4)在表4中找到就均方根误差(MSE)而言的^的最匹配的向量/。下面表4中给出的向量被称为码向量的引导部分(leader),并且码本中的任何码向量都可以通过它的引导部分的排列产生。5)通过以原始顺序给/的分量重新排序,得到最好码向量》6)在下面的表5中找到/的标记向量,然后通过以原始顺序给标记向量的分量重新排列,得到向量"标记向量定义如下如果引导部分是由-2,2和0组成的,那么用l指示-2和2,并且用0指示0;如果引导部分是由-l和l组成的,那么用l指示-l,并用0指示1。7)在下面的表6中寻找有关引导部分/索引偏移《。8)如果引导部分/是(2,0,0,0,0,0,0,-2)和码向量y具有索引低于分量-2的索引的分量2,那么将偏移《调节为AT-尺+28。9)计算向量点积f=z//,其中;=(1,2,4,8,16,32,64,128)。10)在表7中从f找到有关码向量y的索引增量_/。11)计算码向量少的索引h&=i^/,然后停止。在低速量化器的解码过程中可以采用以下步骤1)在表3中从接收的索引^找到码向量》2)通过定标因数a-1.5给码向量少重新定标"-y/"。3)将解码过程的步骤1)使用的相同的偏移a加到重新定标的码向量然后停止。表3低速量化器(LRQ)的码本<table>tableseeoriginaldocumentpage25</column></row><table><table>tableseeoriginaldocumentpage26</column></row><table>表4LRQ的码向量的引导部分<table>tableseeoriginaldocumentpage26</column></row><table>表5<table>tableseeoriginaldocumentpage26</column></row><table><table>tableseeoriginaldocumentpage27</column></row><table>表6用于索引LRQ的码向量的有关引导部分的索E<table>tableseeoriginaldocumentpage27</column></row><table>表7有关LRQ的码向量的索引增量<table>tableseeoriginaldocumentpage28</column></row><table>量化索引的霍夫曼编码MLT系数不是均匀分布的。已经观察到8维系数向量具有在原点周围的高度集中的概率。因此,点阵向量量化器的码本对于非均匀源不是最佳的。为了改进上述高速量化器的特性,可以使用霍夫曼编码器对量化的索引编码。由于低速(<2比特/取样)编码,大多数对应于14-22kHz频带的"超额(extra)"子帧不被高速量化器量化。因此,霍夫曼编码不用于超额子帧。对于给定速度R比特/维(1</<6),通过高速量化器量化8维系数向量x,并且在(^、<2",/=1,2,...8得到最佳码向量的索引向量A:=(m、,H^,、)。然后,根据表8-11对A:的分量进行霍夫曼编码。通过使用霍夫曼编码,用可变数量比特为量化索引进行了编码。对于给定速度A较多的频率索引需要低于A的比特,和较少的频率索引可能需要大于/的比特。因此,在霍夫曼编码之后码长被改变,并且在一个帧中使用了三个标记比特来指示是否将霍夫曼编码应用到头三个子帧组中的每一个。标记比特作为辅助信息发送到解码器。对于一个子帧组,只有在使用霍夫曼编码需要的比特数不大于可用于这个组的比特的总数的时侯,才对量化索引进行霍夫曼编码。在这种情况下,将霍夫曼编码标记设置到l。但是,对于打击乐器类型信号,不再对量化索引使用霍夫曼编码。量化索引被直接发送到解码器。在解码器,检査霍夫曼编码标记。如果设置了一个子帧组的霍夫曼编码标记,那么对这个组的编码数据进行霍夫曼解码,以获得量化索引。否则,将编码数据直接用作量化索引。表8具有2比特/维的速度的HRQ的量化索引的霍夫曼代码<table>tableseeoriginaldocumentpage29</column></row><table>具有3比特/维的速度的HRQ的量化索引的霍夫曼代码<table>tableseeoriginaldocumentpage30</column></row><table>表10具有4比特/维的HRQ的量化索引的霍夫曼代码<table>tableseeoriginaldocumentpage30</column></row><table>表11具有5比特/维速度的HRQ的量化索引的霍夫曼代码<table>tableseeoriginaldocumentpage30</column></row><table><table>tableseeoriginaldocumentpage31</column></row><table>通过编码器产生的比特流图3A示出了根据本发明实施例的编码比特流的例子。在一个实施例中,一个帧中的比特总数是640,960和1280比特,分别对应于32kbps,48kbps,和64kbps的比特率。在信道上发送的比特流可以包括3个部分标记比特,范数代码比特,和MLT系数的代码比特。标记比特可以首先发送,接下来是范数代码比特,最后是用于MLT系数的代码比特。标记部分302包含多个用于各种不同目的的标记比特。在本例中,标记比特可以包括用于指示当前帧的模式和发送到解码器的模式标记。例如,模式标记可以用于指示打击乐器类型信号模式。作为另一个例子,模式标记可以用于指示语音和一般音乐。标记也可以包括用于指示有多少以32kbps编码的子帧并且作为辅助信息发送到解码器的标记。下一部分具有固定的长度。在本例中,它具有四个比特。四个比特用于指示是否将霍夫曼编码用于范数,组1系数索引,组2系数索引,和组3系数索引。组4一般不使用霍夫曼编码,因为组4一般只有很少的比特,并且霍夫曼编码一般不减少比特需求。比特流可以进一步包括所有子帧的范数代码比特304。如果没有使用霍夫曼编码,那么长度是固定的。在这个例子中,固定长度是170比特(34范数x5比特每范数)。如果使用了霍夫曼编码,那么长度是由霍夫曼编码确定的。比特流可以进一步包括用于组1-4的编码系数索引306。分配给每个组或每个系数的比特的数量是可以变化的。它们是根据每个子帧的范数通过比特分配确定的。组1-3的索引也可能依赖是否使用了霍夫曼编码。组4的索引一般不使用霍夫曼编码。但是,分配给组4的比特的数量仍然是可能改变的,因为其他部分的比特数可以改变。当其他组由于霍夫曼编码而使用较少的比特时,那些省下的比特可以用于组4。图3B示出了根据本发明一个实施例的标记比特302的示例结构。在本例中,标记比特302可以包括指示当前帧的模式并且发送到解码器的标记M308。在打击乐器类型信号模式中,只有模式标记308可以发送,其他标记不需要发送。在语音和一般音乐模式中,所有的标记都可以发送。标记比特302可以进一步包括用于指示有多少子帧要以低速(例如,32kbps)编码的标记L310。标记比特302可以进一步包括指示范数是否被霍夫曼编码的标记N312。标记比特302可以进一步包括指示每个MLT系数的组(在本例中,组1到组3)是否被霍夫曼编码的标记Gl到G3。图3C示出了根据本发明一个实施例的用系数代码比特306量化的(和可能霍夫曼编码的)变换系数的组合集的示例结构。在本例中,边界频率是大约7kHz。长帧变换系数320代表高达大约7kHz的频率。短帧变换系数322代表从大约6.8kHz到大约22kHz的频率。长帧变换和短帧变换可以在它们的边界上重叠,以使过渡更平滑。图3D示出了根据本发明另一个实施例的以系数代码比特306量化的(可能霍夫曼编码的)变换系数的组合集的另一个示例结构。在本例中,边界频率是大约800Hz。长帧变换系数324代表高达大约800Hz的频率。短帧变换系数326代表从大约600Hz到大约22kHz的频率。长帧变换和短帧变换可以在它们的边界重叠,以使过渡更为平滑。编码器处理过程现在参考图4,图4示出了根据本发明一个实施例的整个编码处理的示例处理流程图。编码处理过程在步骤400开始。在步骤410,可以对音频信号使用两个MLT变换,以便使音频取样及时地转换成变换系数的帧。长帧变换系数用于低频的信号(例如,大约20Hz到大约7kHz),而短帧变换系数用于高频信号(例如,大约6.8kHz到大约22kHz)。可以将MLT系数划分成具有34个子帧的4个组。在步骤420,计算每个子帧的范数,并且用固定的比特数量化。然后,每个子帧通过它的量化的范数规格化,并且得到规格化的变换系数。可以对所有量化范数尝试霍夫曼编码。如果使用的比特数少于分配给范数量化的总比特数,那么可使用霍夫曼编码。设置霍夫曼标记(标记N),并将超额比特存储在比特剩余中。如果使用的比特数不低于分配给范数量化的总比特数,那么不使用霍夫曼编码,并且清除霍夫曼标记。比特剩余是总比特数减去6个标记比特和范数用去的比特。在步骤430,可以使用自适应比特分配方案,以在子帧之间分配帧中可用的比特。首先,将每个子帧中所有比特设置到零(总共有34个子帧),并且将比特剩余设置到总可用比特。接下来,找到子帧的最大范数,并且给子帧中每个系数分配1比特,总共是M比特;那么,假设它的范数=范数/2,比特剩余-比特剩余-M。对于具有16个系数的子帧,M=16,对于具有24或32个系数的子帧,M分别是24或32。如果比特剩余小于16,那么停止分配;否则重复最后步骤。当进行了比特分配时,比特剩余少于16。一些子帧的每个系数分配了几个比特;其他的可能具有零比特。在决定步骤440中,如果每个系数的比特大于1,那么可以通过点阵i^进行量化,步骤450中的高速量化;否则,在步骤460中通过利用点阵及&的低速量化进行量化。现在已经知道分配给每个组的比特。在步骤470,可以对每个子帧的量化的系数有选择地尝试进行霍夫曼编码。将前三个组的每个组所需的比特总数相加。如果霍夫曼编码的比特少于分配的比特,那么可以对该组使用霍夫曼编码,并且设置该组的霍夫曼代码标记;并且将节省的比特分配到剩余比特。如果霍夫曼编码比特不少于固定的分配比特,那么不使用霍夫曼编码,并清除霍夫曼代码标记。根据上述的比特分配方案,将剩余比特分配到下一个组。分配所有比特,并且在步骤480结束该处理过程。形成比特流并且可以发送。可以对结合图4说明的示例编码器处理进行各种修改。根据本发明的一些实施例,双变换可以是任选的。根据本发明的其他实施例,可以有少于两个或多于两个的变换。此外,并如上所述,可以使用任何类型的变换,例如MLT、FFT、DCT、等等。解码器处理过程解码器基本上以与编码器相反的顺序处理编码比特流。总比特是已知的并且是完全一致的。在解码器,可以检查数据完整性和解码协议,以保证将适当的解码器用于比特流。一旦解码器验证用根据上述示例的编码器对比特流进行了编码,那么它对比特流进行解码,如图5中所示并说明如下在接收到输入到解码器的编码比特流时,处理流程在步骤500开始。在步骤510,检查标记比特。例如,确定前三个组的范数或系数索引是否受到霍夫曼编码。如果设置了霍夫曼代码标记,那么在步骤520对范数的量化索引进行霍夫曼解码。在对所有范数进行解码之后,知道了范数使用的总比特。也知道了作为剩余比特的用于编码系数索引的比特数。如果没有设置霍夫曼代码标记,则在步骤530使用固定速度。知道了范数使用的比特数。知道了系数索引的比特总数。在步骤530中,通过去量化量化索引得到量化范数。从量化范数,可以执行自适应比特分配540,与图4中方框430的操作相同,以确定哪个子帧具有多少比特。如果为一个组设置了霍夫曼标记,那么接收的数据是霍夫曼代码,并且必须对该组内每个子帧进行解码。如果没有设置霍夫曼标记,那么接收的数据是系数的量化索引。在步骤560中,从量化范数和量化索引,可以重构MLT系数。对于没有分配任何比特的子帧,它们的MLT系数可以填充零,或用随机数产生。可以恢复一个长变换的低频系数和四个短变换的高频系数。长变换中的高频可以用零填充;同样,四个短变换的低频可以填充零。沿高频和低频的边界,可以使用某种形式的平滑过渡。例如,一种最简单的平滑函数是边界附近少数几个系数上的渐变斜率。一旦重构了长变换和四个短变换的所有系数,它们可以被逆变换到数字音频取样。在步骤570,对长李换和四个短变换执行从频域到时域的逆变换。例如,可以使用双IMLT来重构MLT系数。现在有两个数字音频信号,每个覆盖相同的20ms时帧。在步骤580,将两个时域信号组合,以形成一个单一的音频信号。可以将信号转换成模拟信号并作为声音再现。可以通过硬件、软件、固件、或任何上述的组合执行本发明的各个实施例的方法。例如,该方法可以通过编码器或解码器或其他处理器在诸如电话会议系统或视频会议系统之类的音频系统中执行这些方法。此外,本发明的各个实施例的方法可以应用到流动音频,例如,经过互联网。图6示出了根据本发明的各个实施例的编码器。图7示出了根据本发明的各个实施例的解码器。在一些实施例中,编码器和解码器可以是分离的,或在其他实施例中它们可以组合成一个编解码器。在图6的编码器中,可以将数字取样的输入音频信号馈送到至少两个变换模块610和620中,以使音频取样及时转换成变换系数的帧。在其它实施例中,可以将输入音频信号馈送到单变换。为了便于叙述,将变换模块610和620称为MLT模块,虽然可以使用其它类型的变换模块。在一个实施例中,每20ms,可以将最近的1920个音频取样馈送到变换模块610,和每5ms,将最近的480个音频取样馈送到变换模块620。长帧变换模块610可以产生大约960个系数的集,而短帧变换模块620可以产生各大约为240个系数的四个集。长帧变换系数可以用于低频信号,而短帧变换系数可以用于高频信号。例如,在一个实施例中,长帧变化系数代表大约20Hz至大约7kHz之间的频率,而短帧变换系数代表大约6.8kHz至大约22kHz之间的频率。在另一个实施例中,可以任选地提供模块630,以指示打击乐器类型信号的存在。如果检测到打击乐器类型信号,那么可以将指示打击乐器类型模式的模式标记发送到多路复用器695以传输。如果检测到打击乐器类型信号,那么可以将边界频率调节到大约800Hz。在这种情况下,双变换系数是代表高达800Hz的频率的长变换系数和代表600Hz以上频率的短变换系数的组合。在其他实施例中,边界频率可以是7kHz,或大约800Hz和大约7kHz之间的任何频率。长帧变换系数和短帧变换系数是通过组合器模块640组合的。组合的系数被应用到范数量化模块650,范数量化模块650计算和量化每个子帧的范数。将编码模块670应用于范数的量化索引。编码模块可以任选地执行霍夫曼编码。得到的范数代码比特被馈送到多路复用器695。也可以将霍夫曼代码标记馈送到多路复用器695,以指示范数是否被霍夫曼编码。将来自范数量化模块650的量化范数和来自组合器模块640的组合MLT系数馈送到规格化MLT系数的规格化模块660。也可以将量化范数馈入到在子帧之间的帧中分配可用比特的自适应比特分配模块675。随着比特分配的完成,接下来,可以通过点阵向量量化模块680—帧接一帧地量化归一化的MLT系数。如果每个系数的比特大于1,那么可以通过高速量化器进行量化,否则,可以通过低速量化器进行量化。如果没有检测到打击乐器类型信号,那么可以将最大量化速度设定到5比特每个系数。可以将霍夫曼编码模块685任选地应用到MLT系数的量化索引。但是,对于打击乐器类型信号,不将霍夫曼编码模块685应用于MLT系数的量化索引。得到的霍夫曼代码比特从霍夫曼编码模块685馈送到比较和数据选择模块690。比较和数据选择模块690比较从量化模块680输出的量化索引和从霍夫曼编码模块685输出的霍夫曼代码。对于前三个子帧组的每个组,如果霍夫曼编码的比特少于分配比特,那么可以为该组选择霍夫曼编码的比特,并且设置该组的霍夫曼代码标记;和把节省的比特分配给剩余比特。如果霍夫曼编码的比特不小于固定的分配比特,那么为该组选择量化索引,并清除该组的霍夫曼代码标记。将选择的MLT代码比特与任何霍夫曼代码标记一起馈送到多路复用器695。形成比特流并且能够被发送。图7的解码器可以操作以从编码比特流重构音频信号。将编码比特流提供到去多路复用器710,去多路复用器710将数据去多路复用为范数代码比特、MLT代码比特、和各种标记,例如,模式标记、用于以32kbit/s编码的子帧数量的标记、范数的霍夫曼代码标记、和每个MLT系数的组的霍夫曼代码标记、等等。尽管可以使用其他类型的变换模块,为了便于参考,在本例中使用了标示MLT代码比特和MLT系数。范数代码比特被馈送到解码模块720,解码模块720对子帧范数的量化索引进行解码。如果霍夫曼代码标记(标记N)指出使用了霍夫曼编码对范数进行编码,那么可以使用霍夫曼解码。然后,去量化模块725对子帧范数进行去量化。可以使用自适应比特分配模块730在子帧之间分配帧中的可用比特。将MLT代码比特从去多路复用器710馈送到解码模块735,解码模块735给MLT系数的量化索引解码。如果任何霍夫曼代码标记指出使用了霍夫曼编码对任何MLT系数组进行了编码,那么可以使用霍夫曼解码。如果没有霍夫曼代码标记指示使用了霍夫曼编码法对任何MLT系数组编码,那么量化索引通过到去量化模块740。因此,将解码的MLT代码比特或MLT系数的量化索引馈入到去量化模块740,去量化模块740对MLT系数进行去量化。重构模块745可以从量化的范数和量化索引重构MLT系数。分离器模块750将MLT系数分离成MLT系数的一个长帧,和四个短帧MLT系数集。将长帧逆变换模块760应用于长帧MLT系数集,并且将短帧逆变换模块770应用于四个短帧MLT系数集。逆变换模块760和770可以包括逆调制重迭变换(IMLT)模块。将得到的时域信号相加,导致可以从数字转换到模拟并且作为声音再现的输出音频信号。可以在各个领域中找到本发明各个实施例的有效应用,例如音频会议,视频会议,和流媒体,包括流音乐或语音。现在参考图8,图8示出了根据本发明一个实施例的示例会议系统的方框图。该系统包括可以操作以经过网络850与一个或更多远端终端840通信的本地终端810。通信可以包括音频、视频、和数据的交换。熟悉本领域的人员应当知道,视频能力是可选的,并且终端810可以是没有视频能力的音频会议装置。例如,终端810可以包括喇叭扩音器,或其他音频会议装置。同样,每个远端终端840可以包括音频会议装置或视频会议装置。本地终端810包括音频编解码器812,和音频I/0接口814。音频编解码器812可以包括诸如图6的编码器之类的编码器。音频编解码器可以进一步包括诸如图7的解码器之类的解码器。音频I/O接口814可以执行模-数和数-模转换,以及与处理从一个或更多话筒816接收的或发送到一个或更多扬声器818的音频信息结合的其他信号处理任务。一个或更多话筒816可以包括带有智能话筒混合和动态降噪功能的选通话筒。在一些实施例中,一个或更多话筒816可以与终端810集成为一体,或它们可以是从终端810分离的,或是组合的。同样,一个或更多扬声器818可以与终端810集成为一体,或与终端810分离,或组合。如果它们是与终端810分离的,那么话筒816和扬声器818可以经过有线连接或无线连接发送和接收信息。本地终端810可以捕获通过一个或更多话筒816产生的音频信息(一般代表本地会议参与者的语音或声音)。本地终端810数字化和处理捕获的音频信息。将音频编码和经过网络接口820发送到一个或更多远端终端840。终端810可以从远端会议终端840接收音频信息(一般代表远端会议参与者的语音和声音)。接收的音频信息是通过网络接口820接收的。将接收的音频信息解码、处理、转换成模拟信号,并经过一个或更多扬声器818作为音频再现。在一些实施例中,终端可以任选地包括视频能力。在这样的实施例中,终端810可以包括视频编解码器822,视频I/O接口824,一个或更多视频摄像机826,和一个或更多显示装置828。一个或更多的摄像机826可以与终端810—体,或与终端810分离,或组合。同样,一个或更多显示装置828可以与终端810—体,或与终端810分离,或组合。在具有视频能力的实施例中,终端810可以捕获一个或更多摄像机826产生的视频信息(一般代表本地会议参与者的图像)。终端810处理捕获的视频信息,并将处理的信息经过网络接口820发送到一个或更多远端终端840。视频输入/输出接口转换和处理从一个或更多摄像机826接收的视频信息,并发送到一个或更多视频监视器828。视频编解码器824编码和解码视频信息。终端810可以接收来自远端终端840的视频信息(一般代表远端会议参与者的图像)。终端810处理接收的视频信息,并将处理的视频信息导向一个或更多显示装置828。终端810也可以从其他周围装置接收输入,或直接输出到其他周围装置,例如,视频磁带播放机/录像机,文件摄像机,或LCD投影机,等等。终端810的各个组件可以通过至少一条总线830相互连接,以便相互通信。终端810的组件也可以包括中央处理单元(CPU)832。CPU832解释和执行可以从存储器834装载的程序指令。可以包括易失性RAM、非易失性ROM、和/或诸如磁盘驱动器或CD-ROM之类的存储装置的存储器834存储可执行程序、数据文件、和其他信息。在终端810中可以具有附加的组件和部件。例如,终端810可以包括回波消除或降低以允许全双工操作的模块。一个或更多远端终端840可以包括与前面参考本地终端810说明的类似的组件。网络850可以包括PSTN(公共交换电话网),或基于IP的网络。尽管图示和说明了本发明的示例实施例,应当知道可以进行各种不同的改变而不脱离本发明的精神和范围。已经借助参考示例实施例说明了本发明。熟悉本领域的人员应当知道,可以对这些示例实施例进行各种修改,而不脱离本发明的精神和范围。此外,尽管已经在其特定环境下和特定应用下的具体实现的情况下说明了本发明,但是本领域技术人员应当知道,本发明的用途不限于此,而是本发明可以有利地应用到任何数量的环境和实现。因此上述说明和附图只是为了说明的目的而没有限制的意思。权利要求1.一种在对音频信号编码中使用的量化方法,所述方法包括从截断点阵构造码本,其中所述点阵包括所有码向量的多维点阵,所有码向量具有带有偶数和的整数坐标;和量化位于截断点阵之外的局外者源向量。2.根据权利要求1所述的方法,其中量化局外者源向量的操作包括(a)按一半来定标每个局外者源向量,以形成定标的局外者源向量;(b)确定与定标的局外者向量最近的点阵点M;(c)计算M的索引向量y';(d)从索引向量_/确定码向量"(e)将y与"进行比较;(f)如果7与w不同,则重复步骤(a)至(e)的操作;(g)将定标的局外者源向量的十六分之一加到定标的局外者源向量,以形成新的定标的局外者源向量;(h)重复步骤(b)至(e)的操作;(i)如果y与"相同,重复步骤(g)至(h)。3.根据权利要求1所述的方法,其中所述点阵包括8维的D8点阵。4.根据权利要求1所述的方法,进一步包括-量化的可变比特长度编码索引。5.—种在对音频信号编码中使用的量化方法,所述方法包括-从点阵构造码本,所述点阵包括落在同心球上的所有码向量的多维点阵;和量化源向量。6.根据权利要求5所述的方法,其中量化操作包括-(a)偏移和定标源向量;(b)按降序对定标的源向量的分量进行重排序;(c)根据均方差来确定重排序向量的引导向量/;(d)按定标的源向量的分量的原始顺序来排列引导向量/的分量的顺序,以获得码向量"(e)确定引导向量/的标记向量;(f)通过按原始顺序排列标记向量的分量的顺序来获得向量z;(g)确定与引导向量/有关的索引偏移《;(h)如果引导向量/是(2,0,0,0,0,0,0,-2)且码向量少包括索引低于分量-2的索引的分量2,则将偏移尺调节为《=《+28;(i)计算向量点积/=z;/,其中p=(1,2,4,8,16,32,64,128);(j)确定与码向量y有关的索引增量》(k)计算码向量y的索引h其中^:=尺+乂。7.根据权利要求5所述的方法,其中所述点阵包括旋转Gosset点阵瑪。8.—种在对音频信号编码中使用的量化方法,所述方法包括-使用第一点阵向量量化器以每个系数大于1比特的速率量化变换系数;和使用第二点阵向量量化器以每个系数1比特的速率量化变换系数。9.根据权利要求8所述的方法,其中使用第一点阵向量量化器的操作包括从截断点阵构造码本,其中所述点阵包括所有码向量的多维点阵,所有码向量具有带有偶数和的整数坐标;和量化位于截断点阵之外的局外者源向量。10.根据权利要求8所述的方法,其中使用第二点阵向量量化器的操作包括从点阵构造码本,所述点阵包括落在同心球上的所有码向量的多维点阵;禾口量化源向量。11.根据权利要求8所述的方法,进一步包括针对由所述第一点阵向量量化器量化的系数的量化的可变比特长度编码索引。12.—种对音频信号进行编码的方法,所述方法包括将音频信号的取样组从时域变换到频域,以形成变换系数的帧;将变换系数的每一帧分成多个组,其中每组包含多个子帧,和其中每个子帧包含特定数量的变换系数;根据子帧的均方根来确定每个子帧的范数;量化每个子帧的均方根;通过用子帧的量化均方根除子帧内的每个系数来归一化每个子帧的系数;使用第一点阵向量量化器以每个系数大于1比特的速率量化系数;和使用第二点阵向量量化器以每个系数1比特的速率量化系数。13.根据权利要求12所述的方法,其中使用第一点阵向量量化器的操作包括-从截断点阵构造码本,其中所述点阵包括所有码向量的多维点阵,所有码向量具有带有偶数和的整数坐标;和量化位于截断点阵之外的局外者源向量。14.根据权利要求12所述的方法,其中使用第二点阵向量量化器的操作包括-从点阵构造码本,所述点阵包括落在同心球上的所有码向量的多维点阵;和量化源向量。15.根据权利要求12所述的方法,进一步包括针对由所述第一点阵向量量化器量化的系数的量化的可变比特长度编码索引。16.根据权利要求12所述的方法,进一步包括将变换系数的组合集分组成多个分组,其中每个分组包括子帧,和其中每个子帧包含特定数量的系数;计算子帧之一的均方根;通过用子帧的均方根划分子帧内每个系数来归一化子帧的系数;为每个分组保持霍夫曼编码标记;为对每个分组编码而保持固定的比特数;为分组计算使用霍夫曼编码所需的比特数;如果使用霍夫曼编码所需的比特数少于针对该分组的固定比特数,则设置霍夫曼标记和使用霍夫曼编码;和如果使用霍夫曼编码所需的比特数不少于针对该分组的固定比特数,则清除霍夫曼标记和使用固定的比特数编码。17.—种其上记录有程序的计算机可读介质,由机器执行所述程序以执行权利要求l,5,8,或12中的任何一项所述的方法。18.—种对音频信号编码的22kHz编码器,所述编码器包括变换模块,用于将音频信号的时域取样的帧变换到频域,以形成变换系数的帧;第一点阵向量量化器模块,用于以每个系数大于l比特的速率量化变换系数;和第二点阵向量量化器模块,用于以每个系数l比特的速率量化变换系数。19.根据权利要求8所述的编码器,进一步包括编码器模块,用于针对由所述第一点阵向量量化器量化的系数进行量化的可变比特长度编码索引。20.—种终端,包括音频输入/输出接口;可通信地耦合到所述音频输入/输出接口的话筒;可通信地耦合到所述音频输入/输出接口的扬声器;和可通信地耦合到所述音频输入/输出接口的22kHz的音频编码器;其中所述22kHz的音频编码器包括变换模块,用于将音频信号的时域取样的帧变换到频域,以形成变换系数的帧;第一点阵向量量化器模块,用于以每个系数大于1比特的速率量化系数;和第二点阵向量量化器模块,用于以每个系数l比特的速率量化系数。21.根据权利要求20所述的终端,其中所述22kHz的音频编码器进一步包括编码器模块,用于针对由所述第一点阵向量量化器量化的系数进行量化的可变比特长度编码索引。22.根据权利要求20所述的终端,进一步包括可通信地耦合到音频输入/输出接口的总线;可通信地耦合到总线的视频输入/输出接口;可通信地耦合到视频输入/输出接口的摄像机;和可通信地耦合到视频输入/输出接口的显示装置。全文摘要披露了对音频进行编码和解码的方法、装置、和系统。音频信号的数字取样被从时域变换到频域。用快速点阵向量量化器对得到的变换系数编码。量化器具有高速量化器和低速量化器。高速量化器包括截断点阵的方案。低速量化器具有基于表的搜索方法。低速量化器也可以包括基于表的索引方案。高速量化器进一步包括用于变换系数的量化索引的霍夫曼编码技术,以提高量化/编码效率。文档编号G10L19/00GK101165777SQ200710167128公开日2008年4月23日申请日期2007年10月18日优先权日2006年10月18日发明者谢敏杰申请人:宝利通公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1