專(zhuān)利名稱(chēng)::對(duì)用于數(shù)字媒體頻譜數(shù)據(jù)的高效編碼的詞典中的碼字的修改的制作方法對(duì)用于數(shù)字媒體頻譜數(shù)據(jù)的高效編碼的詞典中的碼字的修改
技術(shù)領(lǐng)域:
本技術(shù)一般涉及通過(guò)將頻譜數(shù)據(jù)的某些部分表示為其它先前已編碼的部分的經(jīng)修改的形式來(lái)編碼頻譜數(shù)據(jù)。背景音頻編碼使用了利用人類(lèi)聽(tīng)覺(jué)的各種知覺(jué)模型的編碼技術(shù)。例如,接近強(qiáng)基音的許多較弱的基音被屏蔽,使得它們無(wú)需被編碼。在傳統(tǒng)的知覺(jué)音頻編碼中,這是作為不同頻率數(shù)據(jù)的自適應(yīng)量化來(lái)利用的。知覺(jué)上重要的頻率數(shù)據(jù)被分配更多的比特,且因此被更精細(xì)地量化,反之亦然。然而,知覺(jué)編碼可在更寬泛的意義上理解。例如,頻譜的某些部分可用適當(dāng)整形的噪聲來(lái)編碼。當(dāng)采用這一方法時(shí),已編碼信號(hào)的目標(biāo)可能并不是呈現(xiàn)原始信號(hào)的精確或接近精確的形式。相反,其目標(biāo)是在與原始信號(hào)相比較時(shí)使其聽(tīng)上去相似并令人愉悅。所有這些知覺(jué)效果可用于減小編碼音頻信號(hào)所需的比特率。這是因?yàn)槟承╊l率分量無(wú)需如原始信號(hào)中存在的來(lái)準(zhǔn)確表示,而是可以不被編碼,或者可用給出與原始信號(hào)中的相同的知覺(jué)效果的其它內(nèi)容來(lái)替換。概述此處所描述的音頻編碼/解碼技術(shù)利用了某些頻率分量可使用經(jīng)整形的噪聲、或其它頻率分量的經(jīng)整形的形式、或兩者的組合來(lái)在知覺(jué)上良好或部分地表示的這一事實(shí)。更具體地,某些頻帶可在知覺(jué)上被良好地表示為已編碼的其它頻帶的經(jīng)整形的形式。即使實(shí)際頻譜可能偏離該合成形式,但它仍是可用于在不降低質(zhì)量的情況下顯著降低音頻信號(hào)的比特率的知覺(jué)上良好的表示。描述了用于根據(jù)允許碼向量更好地表示子帶數(shù)據(jù)的某些規(guī)則來(lái)修改碼本中的碼向量(例如,碼字)的各種可任選特征。該修改可包括線性或非線性變換,或通過(guò)將碼向量表示為兩個(gè)其它碼向量的組合來(lái)進(jìn)行。在組合的情況下,修改可通過(guò)取一個(gè)碼向量的部分并將其與其它碼向量的部分組合來(lái)提供。碼字來(lái)自頻帶、固定碼本或隨機(jī)生成的碼字。另外,碼字也可來(lái)自先前已由基帶編碼器或擴(kuò)展頻帶編碼器編碼的頻帶。此處對(duì)碼字的引用包括用于碼字的所有這些潛在來(lái)源,然而任何特定實(shí)施例可以僅使用這些碼字來(lái)源的一個(gè)子集。對(duì)庫(kù)中的一個(gè)或多個(gè)碼字執(zhí)行各種線性或非線性變換以獲得用于標(biāo)識(shí)匹配所編碼的向量的最佳形狀的更大的或變化更多的形狀集。在一個(gè)示例中,碼字按照系數(shù)順序反轉(zhuǎn)以獲得用于形狀匹配的另一碼字。在另一示例中,使用指數(shù)小于1的系數(shù)取冪來(lái)減小碼字的方差。類(lèi)似地,使用大于l的指數(shù)來(lái)擴(kuò)大碼字的方差。在另一示例中,對(duì)碼字的系數(shù)求反。當(dāng)然,可對(duì)一個(gè)或多個(gè)碼字執(zhí)行許多其它線性和非線性變換以提供用于匹配子帶或其它向量的更大或變化更多的總體。在另一示例中,沿基帶和/或其它碼本執(zhí)行窮盡搜索以找出最佳匹配碼字。例如,執(zhí)行包括對(duì)碼字庫(kù)的窮盡搜索的搜索,包括指數(shù)變換(p=0.5、1.0、2.0)、符號(hào)變換(+/-)、以及方向變換(前向/反向)的所有組合。類(lèi)似地,該窮盡搜索可沿噪聲碼本頻譜、其它碼本或隨機(jī)噪聲向量來(lái)執(zhí)行。一般而言,可通過(guò)確定所編碼的子帶與經(jīng)變換的碼字之間的最低方差來(lái)提供接近匹配。在比特流中編碼碼字和變換的標(biāo)識(shí)符以及諸如比例因子等其它信息并將其提供給解碼器。在另一示例中,將兩個(gè)或更多碼字組合以提供用于編碼的模型。例如,提供了兩個(gè)碼字b和n,b二〈bo,b,,…bu〉和n《no,m,...nu>,來(lái)更好地描述所編碼的子帶。向量b可以來(lái)自基帶、噪聲碼本或庫(kù),而兩輛n可以類(lèi)似地來(lái)自任何這樣的來(lái)源。提供了用于交錯(cuò)來(lái)自兩個(gè)或更多碼字b和n的每一個(gè)的系數(shù)的規(guī)則,使得解碼器隱式或顯式地知道從碼字b和n中取哪一系數(shù)。該規(guī)則可在比特流中提供,或者可為解碼器隱式已知。或者,"b"可以是使用波形編碼的實(shí)際編碼而非碼字。由此,編碼器可發(fā)送兩個(gè)或更多碼字標(biāo)識(shí)符,并且可任選地發(fā)送對(duì)要取哪些系數(shù)來(lái)創(chuàng)建子帶進(jìn)行解碼的規(guī)則。編碼器還將發(fā)送關(guān)于碼字的比例因子信息,并且可任選地,如果相關(guān),還發(fā)送任何其它碼字變換信息。閱讀以下參考附圖的實(shí)施例詳細(xì)描述,可以清楚本發(fā)明的其它特征和優(yōu)點(diǎn)。附圖簡(jiǎn)述圖1和2是其中可結(jié)合本發(fā)明的編碼技術(shù)的音頻編碼器和解碼器的框圖。圖3是可被結(jié)合到圖1的通用音頻編碼器中的、實(shí)現(xiàn)利用經(jīng)修改的碼字和或可變頻率分段的高效音頻編碼的基帶編碼器和擴(kuò)展頻帶編碼器的框圖。圖4是使用圖3的擴(kuò)展頻帶編碼器以高效音頻編碼來(lái)編碼頻帶的流程圖。圖5是可被結(jié)合到圖2的通用音頻編碼器中的基帶解碼器、擴(kuò)展頻帶配置解碼器和擴(kuò)展頻帶解碼器的框圖。圖6是使用圖5的擴(kuò)展頻帶解碼器以高效音頻編碼來(lái)解碼頻帶的流程圖。圖7是表示一組頻譜系數(shù)的曲線圖。圖8是一碼字以及該碼字的各種線性和非線性變換的曲線圖。圖9是沒(méi)有清楚地表示峰值的示例性向量的曲線圖。圖10是具有經(jīng)由通過(guò)指數(shù)變換進(jìn)行的碼字修改而創(chuàng)建的清晰峰值的圖9的曲線圖。圖11是與其正在建模的子帶相比的碼字的曲線圖。圖12是與其正在建模的子帶相比的經(jīng)變換的子帶碼字的曲線圖。圖13是一碼字、要由該碼字來(lái)編碼的子帶、該碼字的經(jīng)縮放的形式、以及該碼字的經(jīng)修改的形式的曲線圖。圖14是示例性拆分和合并子帶大小變換系列的圖示。圖15是適用于實(shí)現(xiàn)圖1或2的音頻編碼器/解碼器的計(jì)算環(huán)境的框圖。詳細(xì)描述以下詳細(xì)描述著眼于其中使用對(duì)碼字的修改和/或?qū)δJ(rèn)頻率分段的修改來(lái)音頻編碼/解碼音頻頻譜數(shù)據(jù)的音頻編碼器/解碼器實(shí)施例。該音頻編碼/解碼使用經(jīng)整形的噪聲、或其它頻率分量的經(jīng)整形的形式、或兩者的組合來(lái)表示某些頻率分量。更具體地,某些頻帶被表示為其它頻帶的經(jīng)整形的形式或變換。這通常允許在給定質(zhì)量下減小比特率,或在給定比特率下改善質(zhì)量。可任選地,可基于音頻數(shù)據(jù)的基音、能量或形狀來(lái)修改初始子帶頻率配置。簡(jiǎn)要概觀在2004年6月29日提交的題為"Efficientcodingofdigitalmediaspectraldatausingwide-senseperceptualsimilarity"(使用廣泛意義的知覺(jué)相似度對(duì)數(shù)字媒體頻譜數(shù)據(jù)的高效編碼)的美國(guó)專(zhuān)利申請(qǐng)第10/882,801號(hào)的專(zhuān)利申請(qǐng)中,提供了一種允許通過(guò)將頻譜數(shù)據(jù)的某些部分表示為碼向量的經(jīng)縮放的形式來(lái)編碼頻譜數(shù)據(jù)的算法,其中碼向量是從固定的預(yù)定碼本(例如,噪聲碼本)或從基帶中取的碼本(例如,基帶碼本)中選擇的。當(dāng)碼本被自適應(yīng)地創(chuàng)建時(shí),它可包括先前已編碼的頻譜數(shù)據(jù)。描述了用于根據(jù)允許碼向量更好地表示其所表示的數(shù)據(jù)的某些規(guī)則來(lái)修改碼本中的碼向量的各種可任選特征。修改可包括線性或非線性變換,或?qū)⒋a向量表示為兩個(gè)或更多其它原始或經(jīng)修改的碼向量的組合。在組合的情況下,修改可通過(guò)取一個(gè)碼向量的部分并將其與其它碼向量的部分組合來(lái)提供。當(dāng)使用碼向量修改時(shí),必須發(fā)送比特以使編碼器能夠應(yīng)用變換來(lái)形成一新的碼向量。盡管有附加的比特,但是碼字修改與對(duì)頻譜數(shù)據(jù)的部分的實(shí)際波形編碼相比仍是表示該部分的更高效編碼。所描述的技術(shù)涉及改善音頻編碼的質(zhì)量,并且也能夠被應(yīng)用于諸如圖像、視頻和語(yǔ)音等其它多媒體編碼。當(dāng)編碼音頻時(shí),尤其是當(dāng)用于形成碼本的頻譜部分(通常是低頻帶)具有與使用該碼本編碼的部分(通常是高頻帶)不同的特性時(shí),可獲得知覺(jué)改進(jìn)。例如,如果低頻帶是"多峰值"的且因此具有遠(yuǎn)離平均值的值,而高頻帶不是這樣,或者相反,則該技術(shù)可用于使用低頻帶作為碼本來(lái)對(duì)高頻帶更好地編碼。向量是頻譜數(shù)據(jù)的子帶。如果子帶大小對(duì)給定實(shí)現(xiàn)是可變的,則這提供了調(diào)整子帶大小以改善編碼效率的機(jī)會(huì)。通常,具有相似特性的子帶可在對(duì)質(zhì)量幾乎沒(méi)有影響的前提下合并,而具有高度可變數(shù)據(jù)的子帶可在拆分子帶的情況下來(lái)更好地表示。描述了用于測(cè)量子帶的基音、能量或形狀的各種方法。這各種測(cè)量是按照作出何時(shí)拆分或合并子帶的決定這一方面來(lái)討論的。然而,較小的(拆分)子帶需要更多子帶來(lái)表示相同的頻譜數(shù)據(jù)。由此,較小的子帶大小需要更多比特來(lái)編碼信息。在采用可變子帶大小的情況下,提供了一種子帶配置,用于對(duì)頻譜數(shù)據(jù)進(jìn)行高效編碼,同時(shí)考慮編碼子帶所需的數(shù)據(jù)以及將該子帶配置發(fā)送到解碼器所需的數(shù)據(jù)兩者。以下段落通過(guò)較一般化的示例前進(jìn)到更具體的示例。通用音頻編碼器和解碼器圖1和2是通用音頻編碼器(100)和通用音頻解碼器(200)的框圖,其中此處所描述的技術(shù)使用對(duì)碼字的修改和/或?qū)Τ跏碱l率分段的修改來(lái)對(duì)音頻頻譜數(shù)據(jù)進(jìn)行音頻編碼/解碼。在編碼器和解碼器內(nèi)的模塊之間示出的關(guān)系指示編碼器和解碼器內(nèi)的主要信息流;為簡(jiǎn)明起見(jiàn)未示出其它關(guān)系。取決于實(shí)現(xiàn)和所需壓縮的類(lèi)型,編碼器或解碼器的模塊可被添加、省略、拆分成多個(gè)模塊、與其它模塊組合、和/或用類(lèi)似的模塊替換。在可選實(shí)施例中,具有不同模塊和/或其它模塊配置的編碼器或解碼器測(cè)量知覺(jué)音頻質(zhì)量。關(guān)于其中可結(jié)合廣義知覺(jué)相似性音頻頻譜數(shù)據(jù)編碼/解碼的音頻編碼器/解碼器的進(jìn)一步細(xì)節(jié)在以下美國(guó)專(zhuān)利申請(qǐng)中有描述2004年6月29日提交的美國(guó)專(zhuān)利申請(qǐng)第10/882,801號(hào);2001年12月14日提交的美國(guó)專(zhuān)利申請(qǐng)第10/020,708號(hào);2001年12月14日提交的美國(guó)專(zhuān)利申請(qǐng)第10/016,918號(hào);2001年12月14日提交的美國(guó)專(zhuān)利申請(qǐng)第10/017,702號(hào);2001年12月14日提交的美國(guó)專(zhuān)利申請(qǐng)第10/017,861號(hào);以及2001年12月14日提交的美國(guó)專(zhuān)利申請(qǐng)第10/017,694號(hào)。示例性通用音頻編碼器該通用音頻編碼器(100)包括頻率變換器(110)、多聲道變換器(120)、知覺(jué)建模器(130)、加權(quán)器(140)、量化器(150)、熵編碼器(160)、速率/質(zhì)量控制器(170)以及比特流多路復(fù)用器["MUX"](180)。編碼器(100)接收輸入音頻樣本(105)的時(shí)間序列。對(duì)于具有多個(gè)聲道的輸入(例如,立體聲模式),編碼器(100)獨(dú)立地處理各聲道,并且能在多聲道變換器(120)之后以聯(lián)合編碼的聲道來(lái)工作。編碼器(100)壓縮音頻樣本(105),并多路復(fù)用由編碼器(100)的各模塊產(chǎn)生的信息以輸出諸如WindowsMediaAudio(Windows媒體音頻)["窗A"]或AdvancedStreamingFormat(高級(jí)流格式)["ASF"]等格式的比特流?;蛘撸幋a器(100)以其它輸入和/或輸出格式工作。頻率變換器(110)接收音頻樣本(105),并將其轉(zhuǎn)換成頻域中的數(shù)據(jù)。頻率變換器(110)將音頻樣本(105)拆分成塊,塊可具有可變大小以允許可變的時(shí)間分辨率。小塊在輸入音頻樣本(105)中的短而活動(dòng)的轉(zhuǎn)換分段上允許更大的時(shí)間細(xì)節(jié)節(jié)省,但是犧牲了某些頻率分辨率。相反,大塊具有較好的頻率分辨率和較差的時(shí)間分辨率,且通常在較長(zhǎng)且較不活動(dòng)的分段上允許更大的壓縮效率。塊可以重疊以減少塊之間的可知覺(jué)不連續(xù)性,這些不連續(xù)性否則會(huì)通過(guò)稍后的量化而引入。頻率變換器(110)將頻率系數(shù)數(shù)據(jù)塊輸出到多聲道變換器(120)并將諸如塊大小等輔助信息輸出到MUX(180)。頻率變換器(110)將頻率系數(shù)數(shù)據(jù)和輔助信息兩者輸出到知覺(jué)建模器(130)。頻率變換器(110)將音頻輸入樣本(105)的幀劃分成具有時(shí)變大小的重疊的子幀塊并向這些子幀塊應(yīng)用時(shí)變MLT。示例性子幀大小包括128、256、512、1024、2048和4096個(gè)樣本。MLT類(lèi)似于由時(shí)間窗函數(shù)調(diào)制的DCT來(lái)操作,其中窗函數(shù)是時(shí)變的,且依賴(lài)于子幀大小的序列。MLT將給定的重疊樣本塊x["],OSw<^"6/mwe—w'ze變換成頻率系數(shù)塊義O],O^A<wi/rawe—。頻率變換器(110)還可將對(duì)未來(lái)幀的復(fù)雜性的估算輸出到速率/質(zhì)量控制器(170)??蛇x實(shí)施例使用MLT的其它變體。在另外一些可選實(shí)施例中,頻率變換器(110)應(yīng)用DCT、FFT或其它類(lèi)型的已調(diào)制或未調(diào)制、重疊或不重疊的頻率變換,或使用子帶或小波編碼。對(duì)于多聲道音頻數(shù)據(jù),由頻率變換器(110)產(chǎn)生的頻率系數(shù)數(shù)據(jù)的多個(gè)聲道通常是相關(guān)的。為充分利用這一相關(guān),多聲道變換器(120)可將多個(gè)原始的、獨(dú)立編碼的聲道轉(zhuǎn)換成聯(lián)合編碼的聲道。例如,如果輸入是立體聲模式的,則多聲道變換器(120)可將左和右聲道轉(zhuǎn)換成和與差聲道-&W=-^-(1)ym、W-義,W^'井^(2)或者,多聲道變換器(120)可使左和右聲道作為獨(dú)立編碼的聲道來(lái)通過(guò)。更一般而言,對(duì)于大于一的多個(gè)輸入聲道,多聲道變換器(120)使原始的、獨(dú)立編碼的聲道未經(jīng)改變地通過(guò),或者將原始聲道轉(zhuǎn)換成聯(lián)合編碼的聲道。使用獨(dú)立還是聯(lián)合編碼的聲道的決策可以是預(yù)定的,或者該決策可在編碼期間在逐個(gè)塊的基礎(chǔ)上或在其它基礎(chǔ)上自適應(yīng)地作出。多聲道變換器(120)向MUX(180)產(chǎn)生指示所使用的聲道變換模式的輔助信息。知覺(jué)建模器(130)對(duì)人類(lèi)聽(tīng)覺(jué)系統(tǒng)的特性進(jìn)行建模以改善對(duì)給定比特率的重構(gòu)音頻信號(hào)的質(zhì)量。知覺(jué)建模器(130)計(jì)算可變大小的頻率系數(shù)塊的激勵(lì)模式。首先,知覺(jué)建模器(130)歸一化塊的大小和幅度比例。這允許隨后的時(shí)間拖尾效應(yīng)并建立用于質(zhì)量測(cè)量的一致比例??扇芜x地,知覺(jué)建模器(130)以特定頻率衰減系數(shù)以對(duì)外耳/中耳傳輸功能進(jìn)行建模。知覺(jué)建模器(130)計(jì)算塊中系數(shù)的能量并按照25個(gè)臨界頻帶來(lái)聚集能量。或者,知覺(jué)建模器(130)使用另一數(shù)目的臨界頻帶(例如,55或109)。用于臨界頻帶的頻率范圍是實(shí)現(xiàn)相關(guān)的,并且眾多選項(xiàng)是公知的。例如,參見(jiàn)ITU-RBS1387或其中提到的參考文獻(xiàn)。知覺(jué)建模器(130)處理頻帶能量以解決同時(shí)和時(shí)間屏蔽。在可選實(shí)施例中,知覺(jué)建模器(130)根據(jù)一不同的聽(tīng)覺(jué)模型,諸如ITU-RBS1387中描述或提到的模型,來(lái)處理音頻數(shù)據(jù)。加權(quán)器(140)基于從知覺(jué)建模器(130)接收到的激勵(lì)模式來(lái)生成加權(quán)因子(替換地稱(chēng)為量化矩陣),并將該加權(quán)因子應(yīng)用于從多聲道變換器(120)接收到的數(shù)據(jù)。加權(quán)因子包括用于音頻數(shù)據(jù)中的多個(gè)量化頻帶的每一個(gè)的權(quán)重。量化頻帶可以在數(shù)量或位置上與在編碼器(100)別處使用的臨界頻帶相同或不同。加權(quán)因子指示了噪聲跨量化頻帶分布的比例,其目標(biāo)在于通過(guò)將更多噪聲放入可聽(tīng)見(jiàn)程度較低的頻帶中并反之亦然來(lái)最小化噪聲的可聽(tīng)見(jiàn)性。加權(quán)因子在各個(gè)塊之間可在量化頻帶的幅度和數(shù)目上變化。在一種實(shí)現(xiàn)中,量化頻帶的數(shù)目根據(jù)塊大小而變化;較小的塊與較大的塊相比具有較少的量化頻帶。例如,具有128個(gè)系數(shù)的塊具有13個(gè)量化頻帶,具有256個(gè)系數(shù)的塊具有15個(gè)量化頻帶,而對(duì)于具有2048個(gè)系數(shù)的塊則多達(dá)25個(gè)量化頻帶。這些塊一頻帶比例僅是示例性的。加權(quán)器(140)對(duì)獨(dú)立或聯(lián)合編碼的聲道中的多聲道音頻數(shù)據(jù)的每一聲道生成一組加權(quán)因子,或?qū)β?lián)合編碼的聲道生成單組加權(quán)因子。在可選實(shí)施例中,加權(quán)器(140)從不同于激勵(lì)模式的或作為其補(bǔ)充的信息來(lái)生成加權(quán)因子。加權(quán)器(140)將加權(quán)的系數(shù)數(shù)據(jù)塊輸出到量化器(150),并將諸如加權(quán)因子組等輔助信息輸出到MUX(180)。加權(quán)器(140)還可將加權(quán)因子輸出到速率/質(zhì)量控制器(140)或編碼器(100)中的其它模塊。加權(quán)因子組可被壓縮以獲得更高效的表示。如果加權(quán)因子被有損壓縮,則重構(gòu)的加權(quán)因子通常用于對(duì)系數(shù)數(shù)據(jù)塊加權(quán)。如果塊的一頻帶中的音頻信息出于某些原因(例如,噪聲替代或頻帶截?cái)?而被完全消除,則編碼器(100)能夠進(jìn)一步改進(jìn)對(duì)用于該塊的量化矩陣的壓縮。量化器(150)量化加權(quán)器(140)的輸出,從而向熵編碼器(160)產(chǎn)生經(jīng)量化的系數(shù)數(shù)據(jù),并向MUX(180)產(chǎn)生包括量化步長(zhǎng)在內(nèi)的輔助信息。量化引入了無(wú)法逆轉(zhuǎn)的信息損失,但是也允許編碼器(100)結(jié)合速率/質(zhì)量控制器(170)來(lái)調(diào)節(jié)輸出比特流(195)的比特率。在圖1中,量化器(150)是自適應(yīng)的、均勻標(biāo)量量化器。量化器(150)向每一頻率系數(shù)應(yīng)用相同的量化步長(zhǎng),但是量化步長(zhǎng)本身可從一次迭代到下一次迭代改變以影響熵編碼器(160)輸出的比特率。在可選實(shí)施例中,量化器是非均勻量化器、向量量化器和/或非自適應(yīng)量化器。熵編碼器(160)無(wú)損地壓縮從量化器(150)接收到的經(jīng)量化的系數(shù)數(shù)據(jù)。例如,熵編碼器(160)使用多級(jí)游程編碼、變量對(duì)變量長(zhǎng)度編碼、游程編碼、哈夫曼(Huffman)編碼、詞典編碼、算術(shù)編碼、LZ編碼、上述的阻遏、或某一其它熵編碼技術(shù)。速率/質(zhì)量控制器(170)與量化器(150)—起工作以調(diào)節(jié)編碼器(100)的輸出的比特率和質(zhì)量。速率/質(zhì)量控制器(170)從編碼器(100)的其它模塊接收信息。在一個(gè)實(shí)現(xiàn)中,速率/質(zhì)量控制器(170)從頻率變換器(110)接收對(duì)未來(lái)復(fù)雜性的估計(jì),從知覺(jué)建模器(130)接收釆樣速率、塊大小信息、原始音頻數(shù)據(jù)的激勵(lì)模式,從加權(quán)器(140)接收加權(quán)因子,從MUX(180)接收某種形式(例如,已量化的、已重構(gòu)的或已編碼的)量化音頻信息信息塊和緩沖區(qū)狀態(tài)信息。速率/質(zhì)量控制器(170)可包括反量化器、反加權(quán)器、多聲道反變換器、以及可能的熵解碼器和其它模塊以從經(jīng)量化的形式來(lái)重構(gòu)音頻數(shù)據(jù)。速率/質(zhì)量控制器(170)處理信息以確定給定當(dāng)前條件下的所需量化步長(zhǎng),并將量化步長(zhǎng)輸出到量化器(150)。速率/質(zhì)量控制器(170)然后如下所述測(cè)量用該量化步長(zhǎng)量化的經(jīng)重構(gòu)的音頻數(shù)據(jù)塊的質(zhì)量。使用所測(cè)得的質(zhì)量以及比特率信息,速率/質(zhì)量控制器(170)以瞬時(shí)和長(zhǎng)期滿足比特率和質(zhì)量約束的目標(biāo)來(lái)調(diào)整量化步長(zhǎng)。在可選實(shí)施例中,速率/質(zhì)量控制器O70)用不同或附加的信息來(lái)工作,或應(yīng)用不同的技術(shù)來(lái)調(diào)節(jié)質(zhì)量和比特率。結(jié)合速率/質(zhì)量控制器(170),編碼器(110)可向音頻數(shù)據(jù)塊應(yīng)用噪聲替代、頻帶截?cái)嗪?或多聲道重新矩陣化。在低和中比特率下,音頻編碼器(100)可使用噪聲替代來(lái)傳達(dá)某些頻帶中的信息。在頻帶截?cái)嘀?,如果?duì)一個(gè)塊的所測(cè)得的質(zhì)量指示差質(zhì)量,則編碼器(100)可完全消除某些(通常是較高頻率的)頻帶中的系數(shù)以改善剩余頻帶中的總體質(zhì)量。在多聲道重新矩陣化中,對(duì)于聯(lián)合編碼的聲道中的低比特率、多聲道音頻數(shù)據(jù),編碼器(100)可抑制某些聲道(例如,差分聲道)中的信息以改善剩余聲道(例如,和聲道)的質(zhì)量。MUX(180)將從音頻編碼器(160)的其它模塊接收到的輔助信息與從熵編碼器(160)接收到的經(jīng)熵編碼的數(shù)據(jù)多路復(fù)用。MUX(180)輸出音頻解碼器能識(shí)別的WMA或另一格式的信息。MUX(180)包括儲(chǔ)存要由編碼器(100)輸出的比特流(195)的虛擬緩沖區(qū)。該虛擬緩沖區(qū)儲(chǔ)存預(yù)定持續(xù)時(shí)間的音頻信息(例如,對(duì)于流音頻為5秒)以平滑由于音頻的復(fù)雜度改變而引起的比特率中的短期波動(dòng)。虛擬緩沖區(qū)然后以相對(duì)恒定的比特率輸出數(shù)據(jù)。緩沖區(qū)的當(dāng)前充滿度、緩沖區(qū)的充滿度的改變速率以及緩沖區(qū)的其它特性可由速率/質(zhì)量控制器(170)用于調(diào)節(jié)質(zhì)量和比特率。示例性通用音頻解碼器參考圖2,該通用音頻解碼器(200)包括比特流多路分解器["DEMUX"](210。)、熵解碼器(220)、反量化器(230)、噪聲生成器(240)、反加權(quán)器(250)、多聲道反變換器(260)、以及頻率反變換器(270)。解碼器(200)比編碼器(100)簡(jiǎn)單是因?yàn)榻獯a器(200)不包括用于速率/質(zhì)量控制的模塊。解碼器(200)接收WMA或另一格式的壓縮音頻數(shù)據(jù)的比特流(205)。比特流(205)包括經(jīng)熵編碼的數(shù)據(jù)以及輔助信息,解碼器(200)從這些數(shù)據(jù)和信息中重構(gòu)音頻樣本(295)。對(duì)于具有多個(gè)聲道的音頻數(shù)據(jù),解碼器(200)獨(dú)立地處理每一聲道,并且可在多聲道反變換器(260)之前以聯(lián)合編碼的聲道來(lái)工作。DEMUX(210)解析比特流(205)中的信息,并將該信息發(fā)送到解碼器(200)的各模塊。DEMUX(210)包括一個(gè)或多個(gè)緩沖區(qū)以補(bǔ)償由于音頻復(fù)雜度波動(dòng)、網(wǎng)絡(luò)抖動(dòng)和/或其它因素引起的比特率的短期變化。熵解碼器(220)對(duì)從DEMUX(210)接收到的熵碼進(jìn)行無(wú)損解壓,從而產(chǎn)生經(jīng)量化的頻率系數(shù)數(shù)據(jù)。熵解碼器(220)通常應(yīng)用編碼器中使用的熵編碼技術(shù)的反過(guò)程。反量化器(230)從DEMUX(210)接收量化步長(zhǎng),并從熵解碼器(220)接收經(jīng)量化的頻率系數(shù)數(shù)據(jù)。反量化器(230)向經(jīng)量化的頻率系數(shù)數(shù)據(jù)應(yīng)用量化步長(zhǎng)以部分地重構(gòu)該頻率系數(shù)數(shù)據(jù)。在可選實(shí)施例中,反量化器應(yīng)用編碼器中使用的某些其它量化技術(shù)的反過(guò)程。噪聲生成器(240)從DEMUX(210)接收對(duì)數(shù)據(jù)塊中哪些頻帶進(jìn)行了噪聲替代的指示以及用于該種形式的噪聲的任何參數(shù)。噪聲生成器(240)生成用于所指示的頻帶的模式,并將該信息傳遞給反加權(quán)器(250)。反加權(quán)器(250)從DEMUX(210)接收加權(quán)因子、從噪聲生成器(240)接收用于任何經(jīng)噪聲替代的頻帶的模式、并且從反量化器(230)接收部分重構(gòu)的頻率系數(shù)數(shù)據(jù)。如有必要,反加權(quán)器(250)解壓加權(quán)因子。反加權(quán)器(250)向未經(jīng)噪聲替代的頻帶的部分重構(gòu)的頻率系數(shù)數(shù)據(jù)應(yīng)用加權(quán)因子。反加權(quán)器(250)按將從后噪聲生成器(240)接收到的噪聲模式相加。多聲道反變換器(260)從反加權(quán)器(250)接收經(jīng)重構(gòu)的頻率系數(shù)數(shù)據(jù),并從DEMUX(210)接收聲道變換模式信息。如果多聲道數(shù)據(jù)是獨(dú)立編碼的聲道,則多聲道反變換器(260)讓該聲道通過(guò)。如果多聲道數(shù)據(jù)是聯(lián)合編碼的聲道,則多聲道反變換器(260)將該數(shù)據(jù)轉(zhuǎn)換成獨(dú)立編碼的聲道。如有所需,解碼器(200)可在此時(shí)測(cè)量經(jīng)重構(gòu)的頻率系數(shù)數(shù)據(jù)的質(zhì)量。頻率反變換器(270)接收由多聲道變換器(260)輸出的頻率系數(shù)數(shù)據(jù)以及來(lái)自DEMUX(210)的諸如塊大小等輔助信息。頻率反變換器(270)應(yīng)用編碼器中所使用的頻率變換的反過(guò)程,并輸出經(jīng)重構(gòu)的音頻樣本(295)的塊。使用經(jīng)修改的碼字和廣義知覺(jué)相似性的示例性編碼/解碼圖3示出了使用以自適應(yīng)子帶配置和/或諸如具有廣義知覺(jué)相似性等經(jīng)修改的碼字進(jìn)行的編碼的音頻編碼器(300)的一種實(shí)現(xiàn),它可被結(jié)合到圖l和2的通用音頻編碼器(100)和解碼器(200)的總體音頻編碼/解碼過(guò)程中。在該實(shí)現(xiàn)中,音頻編碼器(300)使用子帶變換或諸如MDCT或MLT等重疊正交變換來(lái)執(zhí)行變換(320)中的頻譜分解,以對(duì)每一輸入的音頻信號(hào)塊產(chǎn)生一組頻譜系數(shù)。如常規(guī)上已知的,音頻編碼器對(duì)這些頻譜系數(shù)進(jìn)行編碼以在輸出比特流中發(fā)送到解碼器。這些頻譜系數(shù)的值的編碼構(gòu)成了音頻編解碼器中使用的大多數(shù)比特率。在低比特率下,音頻編碼器(300)選擇使用基帶編碼器(340)來(lái)編碼較少的頻譜系數(shù)(即,可在從頻率變換器(110)輸出的頻譜系數(shù)的帶寬的一部分內(nèi)編碼的多個(gè)系數(shù)),諸如頻譜的較低或基帶部分。基帶編碼器(340)使用常規(guī)上已知的編碼句法,諸如對(duì)以上通用音頻編碼器所描述的那些,來(lái)編碼這些基帶頻譜系數(shù)。這一般將得到聽(tīng)上去被消音或經(jīng)低通濾波的經(jīng)重構(gòu)的音頻。音頻編碼器(300)通過(guò)還使用自適應(yīng)子帶配置和/或具有廣義知覺(jué)相似性的經(jīng)修改的碼字來(lái)編碼省略的頻譜系數(shù)來(lái)避免消音/低通濾波效應(yīng)。以基帶編碼器(340)從編碼中省略的頻譜系數(shù)(此處稱(chēng)為"擴(kuò)展頻帶頻譜系數(shù)")由擴(kuò)展頻帶編碼器(350)編碼為經(jīng)整形的噪聲、或其它頻率分量的經(jīng)整形的形式、或兩者的兩種或更多組合。更具體地,擴(kuò)展頻帶頻譜系數(shù)被劃分成各種且可能不同大小(例如,通常為16、32、64、128、256、...等個(gè)頻譜系數(shù))的多個(gè)子帶,它們被編碼為經(jīng)整形的噪聲或其它頻率分量的經(jīng)整形的形式。這添加了遺漏頻譜系數(shù)的知覺(jué)上令人愉悅的形式以給出完整的、更豐富的聲音。即使實(shí)際頻譜可能偏離從該編碼所得的合成形式,但該擴(kuò)展頻帶編碼提供了與原始信號(hào)中相似的知覺(jué)效果。在某些實(shí)現(xiàn)中,基帶的寬度(即,使用基帶編碼器340編碼的基帶頻譜系數(shù)的個(gè)數(shù))以及擴(kuò)展頻帶的大小或數(shù)目可與默認(rèn)或初始配置不同。在這一情況下,基帶的寬度和/或使用擴(kuò)展頻帶編碼器(350)編碼的擴(kuò)展頻帶的數(shù)目(或大小)可被編碼(360)到輸出流(195)中。如有所需,進(jìn)行對(duì)音頻編碼器(300)中基帶頻譜系數(shù)和擴(kuò)展頻帶系數(shù)之間的比特流的劃分,以確保與基于基帶編碼器的編碼句法的現(xiàn)有解碼器后向兼容,使得這一現(xiàn)有解碼器可解碼該經(jīng)基帶編碼的部分同時(shí)忽略擴(kuò)展部分。結(jié)果是較新的解碼器具有呈現(xiàn)由經(jīng)擴(kuò)展頻帶編碼的比特流覆蓋的完整頻譜的能力,而較老的解碼器可呈現(xiàn)編碼器選擇用現(xiàn)有句法來(lái)編碼的部分。頻率邊界(例如,基帶和擴(kuò)展部分之間的邊界)可以是靈活且時(shí)變的。它可由編碼器基于信號(hào)特性來(lái)決定并顯式地發(fā)送給解碼器,或者它可以是已解碼頻譜的函數(shù),因此無(wú)需被發(fā)送。由于現(xiàn)有解碼器只能解碼使用現(xiàn)有(基帶)編解碼器編碼的部分,因此這意味著頻譜的較低部分(例如,基帶)用現(xiàn)有編解碼器來(lái)編碼,而較高部分使用以利用廣義知覺(jué)相似性的經(jīng)修改的碼字的擴(kuò)展頻帶編碼來(lái)編碼。在不需要這種后向兼容性的其它實(shí)現(xiàn)中,編碼器則能夠僅僅基于信號(hào)特性以及編碼成本自由地在常規(guī)的基帶編碼和擴(kuò)展頻帶(采用經(jīng)修改的碼字和廣義知覺(jué)相似性方法)之間選擇,而無(wú)需考慮頻率邊界位置。例如,盡管在自然信號(hào)中是極不可能的,但是用傳統(tǒng)的編解碼器來(lái)編碼較高的頻率并使用擴(kuò)展編解碼器來(lái)編碼較低的部分可能是較佳的。示例性編碼方法圖4是描繪了由圖3的擴(kuò)展頻帶編碼器(350)執(zhí)行的對(duì)擴(kuò)展頻帶頻譜系數(shù)進(jìn)行編碼的音頻編碼過(guò)程(400)的流程圖。在該音頻編碼過(guò)程(400)中,擴(kuò)展頻帶編碼器(350)將擴(kuò)展頻帶頻譜系數(shù)劃分成多個(gè)子帶。在一種典型的實(shí)現(xiàn)中,這些子帶一般各自由64或128個(gè)頻譜系數(shù)構(gòu)成?;蛘?,可使用其它大小的子帶(例如,16、32或其它數(shù)目的頻譜系數(shù))。如果擴(kuò)展頻帶編碼器提供了修改子帶大小的可能性,則擴(kuò)展頻帶配置過(guò)程(360)修改子帶并對(duì)擴(kuò)展頻帶配置進(jìn)行編碼。子帶可以是分開(kāi)的,或者可以是重疊(使用加窗)。采用重疊子帶,則編碼了更多頻帶。例如,如果必須使用子帶大小為64的擴(kuò)展頻帶編碼器來(lái)編碼128個(gè)頻譜系數(shù),則該方法將使用兩個(gè)分開(kāi)的頻帶來(lái)編碼這些系數(shù),即將系數(shù)0到63編碼為一個(gè)子帶,并將系數(shù)64至ijl27編碼為另一個(gè)子帶。或者,可使用帶有50%的重疊的三個(gè)重疊頻帶,即將0到63編碼為一個(gè)頻帶,將32到95編碼為另一個(gè)頻帶,并將64到127編碼為第三個(gè)頻帶。將在本說(shuō)明書(shū)的以下部分中討論用于子帶的頻率分段的各種其它動(dòng)態(tài)方法。對(duì)于這些固定或動(dòng)態(tài)優(yōu)化的子帶的每一個(gè),擴(kuò)展頻帶編碼器(350)使用兩個(gè)參數(shù)來(lái)編碼這些頻帶。一個(gè)參數(shù)("比例參數(shù)")是表示頻帶中的總能量的比例因子。另一個(gè)參數(shù)("形狀參數(shù)",一般是運(yùn)動(dòng)向量的形式)用于表示該頻帶內(nèi)頻譜的形狀。可任選地,如所討論的,形狀參數(shù)需要指示指數(shù)、向量方向(例如,前向/反向)和/或系數(shù)符號(hào)變換的一個(gè)或多個(gè)形狀變換比特。如圖4的流程圖所示的,擴(kuò)展頻帶編碼器(350)對(duì)擴(kuò)展頻帶的每一子帶執(zhí)行過(guò)程(400)。首先(在420處),擴(kuò)展頻帶編碼器(350)計(jì)算比例因子。在一個(gè)實(shí)現(xiàn)中,比例因子簡(jiǎn)單地是當(dāng)前子帶內(nèi)的系數(shù)的nns(均方根)值。這是通過(guò)取所有系數(shù)的平均平方值的平方根來(lái)找出的。平均平方值是通過(guò)取子帶中所有系數(shù)的平方值之和,再除以系數(shù)的個(gè)數(shù)來(lái)找出的。擴(kuò)展頻帶編碼器(350)然后確定形狀參數(shù)。形狀參數(shù)通常是指示簡(jiǎn)單地從頻譜中己編碼的一部分(即,基帶頻譜系數(shù)中用基帶編碼器編碼的一部分)中復(fù)制該頻譜的歸一化形式的運(yùn)動(dòng)向量。在某些情況下,形狀參數(shù)可能改為指定歸一化的隨機(jī)噪聲向量,或簡(jiǎn)單地是來(lái)自固定碼本的用于一頻譜形狀的向量。從頻譜的另一部分復(fù)制形狀在音頻中是有用的,因?yàn)橥ǔT谠S多基音信號(hào)中,存在在整個(gè)頻譜上重復(fù)的諧波分量。對(duì)噪聲或某一其它固定碼本的使用允許對(duì)在該頻譜的經(jīng)基帶編碼的部分中未良好表示的那些分量進(jìn)行低比特率編碼。因此,過(guò)程(400)提供了一種本質(zhì)上是這些頻帶的增益一形狀向量量化編碼的編碼方法,其中向量是頻譜系數(shù)的頻帶,而碼本取自先前編碼的頻譜并且還可包括其它固定向量或隨機(jī)噪聲向量。即,由擴(kuò)展頻帶編碼器編碼的每一子帶被表示為a*X,其中(a'是比例參數(shù),而'X'是由形狀參數(shù)表示的向量,并且可以是(任何)先前已編碼的頻譜系數(shù)、來(lái)自固定碼本的向量或隨機(jī)噪聲向量的歸一化形式。并且,如果頻譜的這一復(fù)制的部分被添加到同一部分的傳統(tǒng)編碼中,則這一添加是殘留編碼。這在信號(hào)的傳統(tǒng)編碼給出易于用幾個(gè)比特來(lái)編碼的基本表示(例如,頻譜層(spectralfloor)的編碼),而其余的用新算法來(lái)編碼的情況下是有用的。更具體地,在動(dòng)作(430)處,擴(kuò)展頻帶編碼器(350)在基帶(或其它先前已編碼的)頻譜系數(shù)中搜索具有與當(dāng)前子帶相似的形狀的頻譜系數(shù)的基帶中的向量。如上所述,"來(lái)自基帶的碼字"還包括當(dāng)前基帶之外的源。擴(kuò)展頻帶編碼器使用與基帶的每一部分的歸一化形式的最小均方比較來(lái)確定基帶(或其它先前的頻帶)的哪一部分更類(lèi)似于當(dāng)前子帶??扇芜x地,向基帶(或其它先前的頻帶)中的頻譜的一個(gè)或多個(gè)部分應(yīng)用線性或非線性變換(431)以創(chuàng)建較大的形狀總體來(lái)進(jìn)行匹配。再一次,在討論用于碼字的源時(shí),基帶包括庫(kù)以及其它先前的頻帶??扇芜x地,擴(kuò)展頻帶編碼器對(duì)基帶和/或固定碼本執(zhí)行一個(gè)或多個(gè)線性或非線性變換以提供較大的可用形狀庫(kù)來(lái)進(jìn)行匹配。例如,考慮其中存在由來(lái)自輸入塊的變換(320)產(chǎn)生的256個(gè)頻譜系數(shù)的情況,擴(kuò)展頻帶子帶(本示例中)各自的寬度是16個(gè)頻譜系數(shù),且基帶編碼器將前128個(gè)頻譜系數(shù)(標(biāo)號(hào)為0到127)編碼為基帶。然后,搜索執(zhí)行對(duì)每一擴(kuò)展頻帶中的歸一化的16個(gè)頻譜系數(shù)與基帶(或任何先前已編碼的頻帶)中從系數(shù)位置0開(kāi)始到111(即,在本情況下,在基帶中編碼的總共112個(gè)可能的不同頻譜形狀)的每一16個(gè)頻譜系數(shù)的部分的歸一化形式的最小均方比較。具有最低的最小均方值的基帶部分被認(rèn)為在形狀上最接近于(最相似于)當(dāng)前的擴(kuò)展頻帶。可任選地,搜索對(duì)基帶(或其它頻帶)的線性或非線性變換(431)執(zhí)行最小均方比較。在動(dòng)作(432)處,擴(kuò)展頻帶編碼器檢查基帶頻譜系數(shù)中這一最相似的頻帶是否在形狀上足夠接近當(dāng)前的擴(kuò)展頻帶(例如,最小均方值低于預(yù)先選擇的閾值)。如果是,則擴(kuò)展頻帶編碼器在動(dòng)作(434)處確定指向基帶頻譜系數(shù)的這一最接近匹配頻帶的運(yùn)動(dòng)向量,并且可任選地確定關(guān)于對(duì)該最佳匹配運(yùn)動(dòng)向量的線性或非線性變換的信息。運(yùn)動(dòng)向量可以是基帶中的起始系數(shù)位置(例如,本示例中O到lll)。也可使用其它方法(諸如檢查基音性對(duì)比非基音性)來(lái)查看該基帶(或其它頻帶)頻譜系數(shù)的最相似頻帶是否在形狀上足夠接近當(dāng)前的擴(kuò)展頻帶。如果沒(méi)有找到基帶中足夠相似的部分,則擴(kuò)展頻帶編碼器查看固定的頻譜形狀碼本(440)來(lái)表示當(dāng)前子帶。擴(kuò)展頻帶編碼器在該固定碼本(440)中搜索與當(dāng)前子帶的頻譜形狀相似的頻譜形狀??扇芜x地,該搜索對(duì)固定碼本的線性或非線性變換(431)執(zhí)行最小均方比較。如果找到,則擴(kuò)展頻帶編碼器在動(dòng)作(444)處使用其在該碼本中的索引作為形狀參數(shù),并且可任選地作為關(guān)于該碼本中的最佳匹配索引的線性或非線性變換的信息。否則,在動(dòng)作(450)處,擴(kuò)展頻帶編碼器壓也可確定將當(dāng)前子帶的形狀表示為歸一化的隨機(jī)噪聲向量。在可選實(shí)現(xiàn)中,擴(kuò)展頻帶編碼器甚至可在搜索基帶中的最佳頻譜形狀之前判定該頻譜系數(shù)是否可使用噪聲來(lái)表示。以此方式,即使在基帶中找到足夠接近的頻譜形狀,擴(kuò)展頻帶編碼器仍使用隨機(jī)噪聲來(lái)編碼該部分。這可導(dǎo)致當(dāng)與發(fā)送對(duì)應(yīng)于基帶中的一個(gè)位置的運(yùn)動(dòng)向量相比時(shí)更少的比特。在動(dòng)作(460)處,擴(kuò)展頻帶編碼器使用預(yù)測(cè)編碼、量化和/或熵編碼來(lái)編碼比例和形狀參數(shù)(即,本實(shí)現(xiàn)中為比例因子和運(yùn)動(dòng)向量,并且可任選地,為線性或非線性變換信息)。在一個(gè)實(shí)現(xiàn)中,例如,比例參數(shù)是基于緊靠在前面的擴(kuò)展子帶來(lái)預(yù)測(cè)編碼的。(擴(kuò)展頻帶的子帶的比例因子的值通常是相似的,因此連續(xù)的子帶通常具有值很接近的比例因子)。換言之,對(duì)擴(kuò)展頻帶的第一個(gè)子帶的比例因子的完整值進(jìn)行編碼。后續(xù)的子帶被編碼為其實(shí)際值與其預(yù)測(cè)值(即,預(yù)測(cè)值是前一子帶的比例因子)之差。對(duì)于多聲道音頻,每一聲道中的擴(kuò)展頻帶的第一個(gè)子帶被編碼為其完整值,后續(xù)子帶的比例因子從該聲道中前一子帶的比例因子來(lái)預(yù)測(cè)。在可選實(shí)現(xiàn)中,比例參數(shù)也可跨聲道、從一個(gè)以上其它子帶、從基帶頻譜、或從先前的音頻輸入塊以及其它變量來(lái)預(yù)測(cè)。擴(kuò)展頻帶編碼器還使用均勻或非均勻量化來(lái)量化比例參數(shù)。在一個(gè)實(shí)現(xiàn)中,使用對(duì)比例參數(shù)的非均勻量化,其中比例因子的對(duì)數(shù)被均勻地量化成128個(gè)槽(bin)。所得的經(jīng)量化的值然后使用哈夫曼編碼來(lái)進(jìn)行熵編碼。對(duì)于形狀參數(shù),擴(kuò)展頻帶編碼器還使用預(yù)測(cè)編碼(可以如比例參數(shù)一樣從前一子帶預(yù)測(cè))、量化成64個(gè)槽、以及熵編碼(例如,采用哈夫曼編碼)。在某些實(shí)現(xiàn)中,擴(kuò)展頻帶子帶的大小可能是可變的。在這一情況下,擴(kuò)展頻帶編碼器還對(duì)擴(kuò)展頻帶的配置進(jìn)行編碼。更具體地,在一個(gè)示例實(shí)現(xiàn)中,擴(kuò)展頻帶編碼器如表1中列出的偽代碼所示地對(duì)比例和形狀參數(shù)進(jìn)行編碼。對(duì)多個(gè)碼字的情形可發(fā)送一個(gè)以上的比例或形狀參數(shù)。__對(duì)音頻流中的每一小i央對(duì)小塊中可能需要編碼(例如,亞低音揚(yáng)聲器可能不需耍編碼)的每一聲道1比特來(lái)指示該聲道是否被編碼8比特來(lái)指定擴(kuò)展頻帶的起始位置的經(jīng)量化的形式'n一config'個(gè)比特來(lái)指定頻帶配置的編碼對(duì)^使用擴(kuò)展頻帶編碼器來(lái)編碼的每一子帶<table>tableseeoriginaldocumentpage18</column></row><table>在以上代碼清單中,指定頻帶配置(即,頻帶數(shù)及其大小)的編碼取決于要使用擴(kuò)展頻帶編碼器來(lái)編碼的頻譜系數(shù)的個(gè)數(shù)。使用擴(kuò)展頻帶編碼器來(lái)編碼的系數(shù)的個(gè)數(shù)可使用擴(kuò)展頻帶的起始位置和頻譜系數(shù)總數(shù)來(lái)找出(使用擴(kuò)展頻帶編碼器編碼的頻譜系數(shù)的個(gè)數(shù)=頻譜系數(shù)總數(shù)-起始位置)。在一個(gè)示例中,該頻帶配置然后被編碼為所允許的所有可能配置的清單中的索引。該索引使用n—config=1og2(配置數(shù)目)比特的固定長(zhǎng)度代碼來(lái)編碼。所允許的配置是要使用該方法來(lái)編碼的頻譜系數(shù)的個(gè)數(shù)的函數(shù)。例如,如果要編碼128個(gè)系數(shù),則默認(rèn)配置是大小為64的2個(gè)頻帶。其它配置是可能的,例如,表2示出了用于128個(gè)頻譜系數(shù)的頻帶配置的清單。表2<table>tableseeoriginaldocumentpage19</column></row><table>32由此,在本示例中,有5個(gè)可能的頻帶配置。在這一配置中,用于系數(shù)的默認(rèn)配置被選擇為具有個(gè)頻帶。然后,允許每一頻帶拆分或合并(僅一級(jí)),則有5,個(gè)可能的配置,它們需要(n/2)log2(5)個(gè)比特來(lái)編碼。在其它實(shí)現(xiàn)中,可使用可變長(zhǎng)度編碼來(lái)編碼配置。不需要任何特定的擴(kuò)展頻帶配置方法來(lái)獲益于碼字修改。另外,稍后討論不需要任何這種碼字修改方法以使其有益的各種其它擴(kuò)展頻帶配置方法。如上所述,使用預(yù)測(cè)編碼來(lái)對(duì)比例因子進(jìn)行編碼,其中預(yù)測(cè)可取自來(lái)自同一聲道內(nèi)的、來(lái)自同一小塊內(nèi)的先前的聲道的、或來(lái)自先前已解碼的小塊的先前頻帶的先前已編碼的比例因子。對(duì)于一給定實(shí)現(xiàn),對(duì)預(yù)測(cè)的選擇可通過(guò)查看哪一先前的頻帶(在同一擴(kuò)展頻帶、聲道或小塊(輸入塊)內(nèi))提供了最高相關(guān)來(lái)作出。在一個(gè)實(shí)現(xiàn)示例中,頻帶被如下預(yù)測(cè)編碼.-令小塊中的比例因子為x[i][j],其中1=聲道索引,j=頻帶索引。對(duì);==0&&』==0(第一個(gè)聲道,第一個(gè)頻帶),無(wú)預(yù)測(cè)。對(duì)1!=0&&〗==0(其它聲道,第一個(gè)頻帶),預(yù)測(cè)為x[O][O](第一個(gè)聲道,第一個(gè)頻帶)對(duì)i!=0&&j!=0(其它聲道,其它頻帶),預(yù)測(cè)為x[i][j-l](同一聲道,前一頻帶)。在以上代碼表中,"形狀參數(shù)"是指定頻譜系數(shù)的前一碼字的位置的運(yùn)動(dòng)向量,或來(lái)自固定碼本的向量、或噪聲。先前的頻譜系數(shù)可以來(lái)自同一聲道內(nèi)、或來(lái)自先前的聲道、或來(lái)自先前的小塊。形狀參數(shù)使用預(yù)測(cè)來(lái)編碼,其中預(yù)測(cè)取自同一聲道內(nèi)的、或同一小塊內(nèi)的先前的聲道、或來(lái)自先前的小塊的先前的頻帶的先前的位置。任何線性或非線性變換可被應(yīng)用于形狀。"變換"參數(shù)指示這種變換信息、對(duì)變換信息的索引等等。示例性解碼方法圖5示出了用于由音頻編碼器(300)產(chǎn)生的比特流的音頻解碼器(500)。在該解碼器中,已編碼比特流(205)被由比特流多路分解器(210)多路分解(例如,基于已編碼的基帶寬度以及擴(kuò)展頻帶配置)成基帶碼流和擴(kuò)展頻帶碼流,它們分別在基帶解碼器(540)和擴(kuò)展頻帶解碼器(550)中解碼?;鶐Ы獯a器(540)使用基帶編解碼器的常規(guī)解碼來(lái)解碼基帶頻譜系數(shù)。擴(kuò)展頻譜配置解碼器(545)在利用了來(lái)自默認(rèn)頻帶配置的優(yōu)化的情況下解碼經(jīng)優(yōu)化的頻帶大小。擴(kuò)展頻帶解碼器(550)解碼擴(kuò)展頻帶碼流,包括通過(guò)復(fù)制原始的或經(jīng)變換的基帶頻譜系數(shù)(或任何先前的頻帶或碼本)的一個(gè)或多個(gè)部分,這些部分為形狀參數(shù)的運(yùn)動(dòng)向量(以及關(guān)于該運(yùn)動(dòng)向量所指向的系數(shù)的線性或非線性變換的任何可任選信息)所指向并且由比例參數(shù)的比例因子來(lái)縮放?;鶐Ш蛿U(kuò)展頻帶頻譜系數(shù)被組合成單個(gè)頻譜,它由反變換580轉(zhuǎn)換以重構(gòu)音頻信號(hào)。圖6示出了在圖5的擴(kuò)展頻帶解碼器(550)中使用的解碼過(guò)程(600)。對(duì)于擴(kuò)展頻帶碼流中的擴(kuò)展頻帶的每一已編碼的子帶(動(dòng)作(610)),擴(kuò)展頻帶解碼器解碼比例因子(動(dòng)作(620))和運(yùn)動(dòng)向量以及任何變換信息(動(dòng)作(630))。擴(kuò)展頻帶解碼器然后復(fù)制(動(dòng)作(640))由運(yùn)動(dòng)向量(形狀參數(shù)并執(zhí)行任何所標(biāo)識(shí)的變換)標(biāo)識(shí)的基帶子帶、固定碼本向量或隨機(jī)噪聲向量。擴(kuò)展頻帶解碼器按照比例因子縮放所復(fù)制的頻帶或向量以產(chǎn)生用于擴(kuò)展頻帶的當(dāng)前子帶的頻譜系數(shù)。示例性頻譜系數(shù)圖7是標(biāo)識(shí)一組頻譜系數(shù)的曲線圖。例如,系數(shù)(700)是一變換或諸如MDCT或MCT等重疊正交變換的輸出,以對(duì)音頻信號(hào)的每一輸入塊產(chǎn)生一組頻譜系數(shù)。如圖7所示,該變換的輸出中稱(chēng)為基帶的一部分(702)由基帶編碼器來(lái)編碼。然后,擴(kuò)展頻帶(704)被劃分成同構(gòu)或變化大小的子帶(706)。將基帶中的形狀(708)(例如,由一系列系數(shù)表示的形狀)與擴(kuò)展頻帶中的形狀(710)進(jìn)行比較,并且使用表示基帶中的相似形狀的偏移(712)來(lái)編碼擴(kuò)展頻帶中的形狀(例如,子帶),使得需要較少的比特來(lái)編碼并發(fā)送到解碼器?;鶐?702)大小可以變化,并且所得的擴(kuò)展頻帶(704)可以基于該基帶而變化。擴(kuò)展頻帶可被劃分成各種且多種大小的子帶大小(706)。在本示例中,基帶段(來(lái)自該頻帶或任何先前的頻帶)用于標(biāo)識(shí)碼字(708)以模擬擴(kuò)展頻帶中的子帶(710)。碼字(708)可被線性變換或非線性變換以創(chuàng)建可能更接近地提供用于所編碼的向量(710)的模型的其它形狀(例如,其它系數(shù)系列)。由此,基帶中的多個(gè)段被用作對(duì)擴(kuò)展頻帶中的數(shù)據(jù)進(jìn)行編碼的潛在模型(例如,碼本、庫(kù)、或碼字詞典)。代替發(fā)送擴(kuò)展頻帶中的子帶中的實(shí)際系數(shù)(710),將諸如運(yùn)動(dòng)向量偏移(712)等標(biāo)識(shí)符發(fā)送到編碼器來(lái)表示用于擴(kuò)展頻帶的數(shù)據(jù)。然而,有時(shí)候在基帶中沒(méi)有對(duì)于在子帶中建模的數(shù)據(jù)的接近匹配。這是由于允許有效大小基帶的低比特率約束引起的。如所述的,相對(duì)于擴(kuò)展頻帶的基帶大小(702)可基于諸如時(shí)間、輸出設(shè)備或帶寬等計(jì)算資源來(lái)變化。在另一示例中,提供了另一碼本(716),或其對(duì)編碼器/解碼器可用,并且提供了最佳匹配標(biāo)識(shí)符作為對(duì)碼本中最接近匹配碼字(718)的索引。另外,在隨機(jī)噪聲作為碼字是需要的情況下,可使用比特流的一部分(諸如來(lái)自基帶的比特)以在編碼器和解碼器兩者處類(lèi)似地作為隨機(jī)數(shù)生成器的種子。這各種方法可用于創(chuàng)建碼字的庫(kù)或詞典以提供用于匹配形狀、用于編碼子帶(710)或其它向量的更大的碼字總體,使得系數(shù)本身可經(jīng)由運(yùn)動(dòng)向量(712)來(lái)建模而非被獨(dú)立量化。示例性碼字變換圖8示出了碼字以及碼字的各種線性和非線性變換的曲線圖。例如,碼字(802)來(lái)自基帶、固定碼本、和/或隨機(jī)生成的碼字。對(duì)庫(kù)中的一個(gè)或多個(gè)碼字執(zhí)行各種線性或非線性變換以獲得用于標(biāo)識(shí)用來(lái)匹配所編碼的向量的最佳形狀的更大或變化更多的一組形狀。在一個(gè)示例中,碼字按系數(shù)順序被反轉(zhuǎn)(804)以獲得用于形狀匹配的另一碼字。包含系數(shù)值<1,1.5,2.2,3.2>的碼字的反轉(zhuǎn)變?yōu)?lt;3.2,2.2,1.5,1〉。在另一示例中,對(duì)每一系數(shù)使用其指數(shù)小于一的取冪來(lái)縮小(806)碼字的動(dòng)態(tài)范圍或方差。類(lèi)似地,使用大于1的指數(shù)來(lái)擴(kuò)大碼字的方差(例如,增加方差),未示出。例如,包含系數(shù)<1,1,2,1,4,2,1>的碼字升到2的冪次以創(chuàng)建碼字<1,1,4,1,16,4,1>。在另一示例中,碼字的系數(shù)<-1,1,2,3>(802)被求反為<1,-1,-2,-3>(808)。當(dāng)然,可對(duì)一個(gè)或多個(gè)碼字執(zhí)行任何其它線性和非線性變換(例如,806)來(lái)提供用于匹配子帶或其它向量的更大或變化更多的庫(kù)或總體。另外,也可結(jié)合碼字應(yīng)用一種或多種變換來(lái)提供更大的可變形狀總體。在一個(gè)示例中,編碼器首先確定基帶中作為對(duì)所編碼的子帶的最接近匹配的碼字。例如,可使用對(duì)基帶中的系數(shù)的最小均方比較來(lái)確定最佳匹配。例如,在比較(708)與(710)之后,該比較沿頻譜向下移動(dòng)一個(gè)系數(shù),每次移動(dòng)一個(gè)系數(shù),以獲得要比較的另一個(gè)碼字(710)。然后,當(dāng)找到最接近的匹配時(shí),在一個(gè)示例中,通過(guò)非線性變換來(lái)改變最佳匹配碼字的形狀來(lái)查看是否改進(jìn)了匹配。例如,對(duì)最佳匹配碼字的系數(shù)使用指數(shù)變換可提供對(duì)匹配的細(xì)化。有兩種方法來(lái)找到最佳碼字匹配和指數(shù)。在第一種方法中,通常使用歐幾里德距離作為度量(MSE)來(lái)找到最佳碼字。在找到最佳碼字之后,找到最佳指數(shù)。使用以下兩種方法之一來(lái)找到最佳指數(shù)。一種方法是嘗試所有可用的指數(shù)并查看哪一個(gè)給出了最小歐幾里德距離,另一種方法是嘗試指數(shù)來(lái)查看哪一指數(shù)給出最佳直方圖或概率質(zhì)量函數(shù)(pmf)匹配。pmf匹配可使用關(guān)于原始向量的pmf和每一取冪的向量的平均值(方差)的第二個(gè)矩來(lái)計(jì)算。具有最接近匹配的指數(shù)被選擇作為最佳指數(shù)。找出最佳碼字和指數(shù)匹配的第二種方法是使用碼字和指數(shù)的許多組合來(lái)進(jìn)行窮盡搜索。例如,如果XQ5提供了比X1Q更好的比較,則使用對(duì)基帶中該碼字的偏移(712)以及變換(線性或非線性)xP來(lái)編碼子帶,其中將指示p-0.5的一個(gè)或多個(gè)比特發(fā)送到解碼器并在那里應(yīng)用。在本示例中,搜索以首先找出碼字、然后用變換來(lái)改變來(lái)進(jìn)行,但是實(shí)際上這種順序并不是必需的。在另一示例中,沿基帶和/或其它碼本執(zhí)行窮盡搜索以找出最佳匹配。例如,執(zhí)行包括沿基帶對(duì)所有(指數(shù)變換(p=0.5,1.0,2.0)、符號(hào)變換(+/-)、方向(前向/反向)組合的窮盡搜索的搜索。類(lèi)似地,該窮盡搜索可沿噪聲碼本頻譜或碼字來(lái)執(zhí)行。一般而言,可通過(guò)確定所編碼的子帶與被選擇來(lái)對(duì)子帶建模的碼字和變換之間的最低方差來(lái)提供接近匹配。在比特流中編碼碼字和/或變換的標(biāo)識(shí)符或已編碼指示以及諸如比例因子等其它信息并提供給編碼器。示例性多碼字編碼在一個(gè)示例中,利用了兩個(gè)不同的碼字來(lái)提供子帶編碼。例如,給定長(zhǎng)度為u的兩個(gè)碼字b和n,提供了b=<bo,b,,...bu>和n=<no,n,,...nu>來(lái)更好地描述所編碼的子帶。向量b可以來(lái)自基帶、任何先前的頻帶、噪聲碼本或庫(kù),而向量n類(lèi)似地可以來(lái)自任何這樣的源。提供了用于交錯(cuò)來(lái)自兩個(gè)或多個(gè)碼字b和n的每一個(gè)的系數(shù)的規(guī)則,使得解碼器隱式或顯式地知道從碼字b和n中取哪一個(gè)系數(shù)。該規(guī)則可在比特流中提供,或者可為解碼器隱式地已知。在解碼器處使用該規(guī)則和兩個(gè)或多個(gè)向量來(lái)創(chuàng)建子帶s=<nQ,b,,n2,n3,b4,...nu〉。例如,基于所發(fā)送的碼字的順序以及百分比值"a"來(lái)建立規(guī)則。編碼器按照(b,n,a)的順序來(lái)傳送信息。解碼器將該信息翻譯成這樣的要求如果來(lái)自第一向量b的任何系數(shù)小于'a'乘以向量b中最高系數(shù)值M,則取該系數(shù)。由此,如果系數(shù)b,大于a申M,則b,在向量s中,否則n,在s中。另一規(guī)則可要求為使b,在向量s中,它必須是一組T個(gè)具有小于a+M的值的相鄰系數(shù)的一部分。如果設(shè)置了'a'的默認(rèn)值,則'a'無(wú)需被發(fā)送到解碼器,因?yàn)樗请[含的。由此,解碼器可發(fā)送兩個(gè)或更多碼字標(biāo)識(shí)符,并且可任選地發(fā)送解碼哪些系數(shù)來(lái)創(chuàng)建子帶的規(guī)則。編碼器也將發(fā)送用于碼字的比例因子信息,并且可任選地,如果相關(guān),則可發(fā)送任何其它碼字變換信息,因?yàn)閎和/或n可以經(jīng)線性或非線性變換。使用以上兩個(gè)或更多碼字b和n,編碼器將發(fā)送碼字的標(biāo)識(shí)符(例如,運(yùn)動(dòng)向量、碼本索引等)、規(guī)則(例如,對(duì)碼本的索引)或者規(guī)則可以為編碼器和解碼器兩者隱式地已知、任何附加變換信息(例如,xp,p=0.5,假定b或n也需要另外的變換)、以及關(guān)于比例因子的信息(例如,sb、%等)。比例因子信息也可以是比例因子和比率(例如,Sb、Sb/S。等)。釆用一個(gè)向量比例因子以及比率,解碼器將具有足夠的信息來(lái)計(jì)算其它比例因子。示例性基帶增強(qiáng)在某些條件下,諸如在低比特率應(yīng)用中,基帶本身可能沒(méi)有被良好地編碼(例如,幾個(gè)連續(xù)或混合的零系數(shù))。在一個(gè)這樣的示例中,基帶良好地表示了強(qiáng)度峰值,但是沒(méi)有良好地表示代表峰值之間較低強(qiáng)度的系數(shù)處的微小變化。在這一情況下,來(lái)自基帶本身的碼字的峰值被選為第一向量(例如,b),并且零系數(shù)或非常低的相對(duì)系數(shù)用更接近地類(lèi)似峰值之間的低能量的第二向量(例如,n)來(lái)替換。由此,可對(duì)基帶或基帶的子帶使用這兩種碼字方法,以提供基帶增強(qiáng)。如上所述,用于從第一或第二向量中選擇的規(guī)則可以是顯式的并將其發(fā)送到解碼器,或者該規(guī)則是隱含的。在某些情況下,可經(jīng)由噪聲碼字來(lái)最佳地提供第二向量。示例性變換基帶、先前的頻帶或其它碼本提供了連續(xù)系數(shù)的庫(kù),每一系數(shù)潛在地用作可用作碼字的一系列連續(xù)系數(shù)中的第一系數(shù)。標(biāo)識(shí)該庫(kù)中的最佳匹配碼字并將其連同比例因子一起發(fā)送給解碼器,并由解碼器用于創(chuàng)建擴(kuò)展子帶中的子帶??扇芜x地,變換庫(kù)中的一個(gè)或多個(gè)碼字以提供更大的可用碼字總體,來(lái)找出對(duì)于所編碼的形狀的最佳匹配。在數(shù)學(xué)上,對(duì)形狀、向量和矩陣存在線性和非線性變換的總體。例如,向量可被反轉(zhuǎn)、跨一軸求反,并且形狀可用線性和非線性變換,諸如通過(guò)應(yīng)用根函數(shù)、指數(shù)等來(lái)以其它方式更改。對(duì)碼字的庫(kù)執(zhí)行搜索,包括對(duì)碼字應(yīng)用一個(gè)或多個(gè)線性或非線性變化,并且標(biāo)識(shí)最接近匹配碼字以及任何變換。將最佳匹配的標(biāo)識(shí)符、碼字、比例因子和變換標(biāo)識(shí)符發(fā)送給解碼器。解碼器接收該信息并重構(gòu)擴(kuò)展頻帶中的子帶??扇芜x地,編碼器選擇共同最佳地表示所編碼和/或增強(qiáng)的子帶的兩個(gè)或更多碼字。使用一規(guī)則來(lái)選擇或交錯(cuò)所編碼的子帶中的各個(gè)系數(shù)位置。該規(guī)則是隱式或顯式的。所編碼的子帶可以在擴(kuò)展頻帶中,或者可以是所增強(qiáng)的基帶中的子帶。所使用的兩個(gè)或更多碼字可以來(lái)自基帶或任何其它碼本,并且這些碼字中的一個(gè)或多個(gè)可被線性或非線性地傳遞。示例性包絡(luò)匹配稱(chēng)為"包絡(luò)"的信號(hào)(例如,Env(i))通過(guò)對(duì)如下輸入信號(hào)X(i)(例如,音頻、視頻等)運(yùn)行加權(quán)平均來(lái)生成<formula>formulaseeoriginaldocumentpage24</formula>其中w(j)是加權(quán)函數(shù)(當(dāng)前是三角形),而L是加權(quán)分析中要考慮的相鄰系數(shù)的個(gè)數(shù)。先前,使用輸入的碼字總體、指數(shù)變換(0.5、1.0、2.0)、系數(shù)求反(符號(hào)+/-)以及碼字系數(shù)方向(前向、反向)討論了窮盡搜索的一個(gè)示例。取而代之的是使用所編碼的子帶的包絡(luò)與碼字之間的歐幾里德距離來(lái)首先選擇最佳的個(gè)碼字(選擇碼字、指數(shù)、符號(hào)和/或方向的組合)。這些碼字的原始的、未量化的形式可用于測(cè)量包絡(luò)歐幾里德距離。從基于歐幾里德距離所確定的這Q個(gè)最接近的候選中,選擇一最佳匹配。可任選地,在考慮了包絡(luò)之后,可返回一方法(諸如先前描述的碼字比較方法)來(lái)檢查這Q個(gè)候選中的哪一個(gè)最適合。示例性碼字修改給定由碼向量構(gòu)成的碼本,提出了對(duì)碼本中的碼向量的修改,使得它們更好地表示所編碼的向量。碼本/碼字修改可包括以下變換中的一個(gè)或多個(gè)的任意組合。應(yīng)用于碼向量的線性變換。應(yīng)用于碼向量的非線性變換。組合一個(gè)以上碼向量以獲得新的碼向量(被組合的向量可以來(lái)自同一碼本、不同碼本或是隨機(jī)的)。將碼向量與基本編碼組合。與使用哪一變換(如果有)以及在變換中使用哪些碼向量有關(guān)的信息或者在比特流中被發(fā)送給解碼器,或者在解碼器處使用它已具有的知識(shí)(它已解碼的數(shù)據(jù))來(lái)計(jì)算。向量通常是要編碼的頻譜系數(shù)的某一頻帶。對(duì)碼字修改特別給出了三個(gè)示例(1)應(yīng)用于向量的每一分量的取冪(非線性變換),(2)組合兩個(gè)(或更多)向量來(lái)形成新向量,其中這兩個(gè)向量中的每一個(gè)用于表示向量中具有不同特性的部分,以及(3)將碼向量與基本編碼相組合。在以下討論中,將使用V來(lái)表示要編碼的向量,X是用來(lái)編碼V的碼向量或碼字,且y是經(jīng)修改的碼向量。向量v將使用逼近v'zSx來(lái)編碼,其中S是比例因子。所使用的比例因子是V和X之間的能量比的經(jīng)量化的形式,其中,q(.)是量化,而y表示模,它是向量中的能量。發(fā)送原始向量中的能量的經(jīng)量化的形式。解碼器通過(guò)除以碼向量中的能量來(lái)計(jì)算要使用的比例因子。示例性非線性變換第一個(gè)示例包括向碼向量中的每一分量應(yīng)用指數(shù)。表3提供了碼字中的一系列系數(shù)的非線性變換。表3<table>tableseeoriginaldocumentpage25</column></row><table>在該示例中,碼字(碼向量)中的每一系數(shù)升到指數(shù)2的冪次(x2)。在這一示例中,如果經(jīng)變換的碼字的形狀對(duì)要編碼的向量是最合適的,則編碼器將提供導(dǎo)致最佳匹配的碼字和變換的標(biāo)識(shí)。指數(shù)可使用固定數(shù)目的比特來(lái)發(fā)送到解碼器,或者可從指數(shù)的碼本發(fā)送,或者可在解碼器處使用先前看到的數(shù)據(jù)來(lái)隱式地計(jì)算。例如,對(duì)于L維向量,令碼本中第'i'個(gè)碼向量的分量是Xi[O],Xi[l],...,Xi[L-l]。然后取冪應(yīng)用指數(shù)'p'來(lái)修改該向量以獲得新向量yi,其中'j'是分量索引。該非線性變換允許通過(guò)利用小于1的p值,使用具有峰值的碼向量來(lái)編碼沒(méi)有峰值的向量。類(lèi)似地,它允許通過(guò)利用p〉1,使用無(wú)峰值碼向量來(lái)表示有峰值碼向量。圖9是沒(méi)有清晰地表示峰值的示例性向量的曲線圖。圖io是具有通過(guò)指數(shù)變換創(chuàng)建的清晰峰值的圖9的曲線圖。作為一個(gè)示例,參見(jiàn)圖9和圖10。在圖9中,相當(dāng)隨機(jī)的且示出的向量沒(méi)有清晰的峰值。當(dāng)應(yīng)用指數(shù)p=5時(shí),則圖IO更好地表示了期望的峰值。類(lèi)似地,如果原始碼向量是圖IO中所示的向量,則指數(shù)?=1/5=0.2將提供圖9。當(dāng)然,重新計(jì)算比例因子,因?yàn)榇a向量中的模(或能量)在從x到y(tǒng)的變換期間發(fā)生了改變。特別地,現(xiàn)在對(duì)比例因子使用S=Q(||v||)/||y||。所發(fā)送的實(shí)際比例因子Q(llvll)不隨指數(shù)改變,但是由于碼向量中能量的變化,解碼器必須計(jì)算一不同的比例因子。碼字可具有應(yīng)用于它的幾個(gè)指數(shù),每一指數(shù)提供了不同的結(jié)果。用于計(jì)算最佳指數(shù)的方法是找出一指數(shù),使得碼向量上的值的直方圖(或概率質(zhì)量函數(shù)(pmf))最佳地匹配實(shí)際向量上的值的直方圖。為進(jìn)行這一方法,使用取冪來(lái)計(jì)算用于向量和碼向量的符號(hào)值的方差。例如,假定一組可能的指數(shù)是pk,其中k用于索引該組可能的指數(shù),k=0,l,....,P-l。則計(jì)算關(guān)于從每一可能的指數(shù)所得的碼向量的平均值的歸一化的第二個(gè)矩(Vk)并將其與實(shí)際向量(V)進(jìn)行比較。<formula>formulaseeoriginaldocumentpage26</formula>選擇最佳指數(shù)來(lái)最小化Vk和V之差,并且該最佳指數(shù)由pb給出,其中b被定義為:6=argmin(|n4|)如上所述,也可使用窮盡搜索來(lái)找到最佳匹配指數(shù)。示例性經(jīng)由組合的碼字修改另一變換組合多個(gè)向量來(lái)形成一新碼向量。這本質(zhì)上是一多級(jí)編碼,其中在每一級(jí)處,找到最佳地匹配尚未編碼的向量的最重要部分的匹配。作為對(duì)于兩個(gè)向量的示例,首先找到最佳匹配,然后查看該向量的哪一部分被良好地編碼。該分段可被顯式地發(fā)送,但是這可能花費(fèi)許多比特。因此,在一個(gè)示例中,通過(guò)指示要使用該向量的哪一部分來(lái)隱式地提供分段。然后使用隨機(jī)碼向量或來(lái)自碼本的更好地表示其余分量的另一碼向量來(lái)表示其余部分。令x是第一碼向量,并令w是第二碼向量。令集合T指定了該向量中被認(rèn)為是使用第一碼向量來(lái)編碼的部分。集合T的勢(shì)將在O和L之間,即它將具有O到L個(gè)元素,這些元素表示被認(rèn)為是使用該第一碼向量來(lái)編碼的向量的索引。提供了用于找出哪些分量由第一向量來(lái)良好表示的規(guī)則,并且該規(guī)則可使用矩陣,諸如確定潛在系數(shù)是否大于第一向量中最大系數(shù)的特定百分比。由此,對(duì)于第一向量中在該第一向量中的最高系數(shù)百分比內(nèi)的任何系數(shù),將從第一向量中取出該系數(shù),否則,從第二碼字中取出該碼字系數(shù)。令M是第一碼向量X中的最大值。則可使用以下公式來(lái)定義集合T:其中,'a'是0和1之間的某一常數(shù)。例如,如果a-0,則任何非零值被認(rèn)為是屬于已編碼向量的集合T。如果『l-s,則在s被取得最夠小的情況下僅最大值本身被認(rèn)為是要編碼的。因此,給定集合T,集合N是取自向量w的互補(bǔ)且剩余的集合,如下由此,取決于aM的值從x或w中取出x[j]的系數(shù)。注意,N或T還可使用其它類(lèi)似的規(guī)則來(lái)進(jìn)一步拆分以獲得兩個(gè)以上向量。給定T和N作為分別使用第一碼向量(x)和第二碼向量(w)編碼的索引集,定義一新向量y:其中,Sx和Sw分別是用于x和w的比例因子。由于用于整個(gè)碼向量的比例因子通常被發(fā)送,這表示所編碼的整個(gè)向量中的能量的經(jīng)量化的形式,因此在這一情況下,除了用于整個(gè)碼向量的比例因子之外,還需要發(fā)送兩個(gè)比例因子之比(Sw/Sx)。一般而言,如果向量是使用'm'個(gè)碼向量來(lái)創(chuàng)建的,則必須發(fā)送'm'個(gè)比例因子,包括用于整個(gè)向量的比例因子。例如,對(duì)于兩個(gè)向量的情況,注意,r=o':^/]>aM,7=o,iv..£—i}iV二O.:x[y.]^aM,j、0,l,…,丄—1}<formula>formulaseeoriginaldocumentpage28</formula>假定vi和vn被定義為兩個(gè)向量,則其能量可被定義為,其中m和INI是兩個(gè)集合的勢(shì)(元素個(gè)數(shù))。給定H(向量中的總能量)和||、||(向量的第二個(gè)分量中的能量)的值,則解碼器可計(jì)算,<formula>formulaseeoriginaldocumentpage28</formula>由此,如果發(fā)送了集合N中的能量的經(jīng)量化的形式(Q(||vn||),并且發(fā)送了總能量Q(IMI),則它對(duì)解碼器而言是足夠的信息。重要的是注意,通過(guò)使用碼向量x本身來(lái)執(zhí)行分段,編碼器避免了必須發(fā)送與分段有關(guān)的任何信息,因?yàn)檫x自每一向量x和w的系數(shù)在規(guī)則中是隱式的(例如,x[j]^aM)。即使在未發(fā)送碼向量索引或?qū)?yīng)于x的運(yùn)動(dòng)向量(它是隨機(jī)碼向量)的情況下,集合T和N的分段可通過(guò)使用隨機(jī)向量而在編碼器和解碼器之間匹配,其中隨機(jī)向量生成器的狀態(tài)基于編碼器和解碼器都具有的信息而是確定性的。例如,隨機(jī)向量可通過(guò)使用已編碼的并且被發(fā)送到解碼器(諸如在已編碼基帶中)的數(shù)據(jù)的最低有效位(LSB)的某種組合,然后使用其來(lái)作為偽隨機(jī)數(shù)生成器的種子來(lái)確定。以此方式,即使在未發(fā)送實(shí)際碼向量的情況下也可隱式地控制分段。通過(guò)組合兩個(gè)向量的這一分段允許更好地表示要編碼的向量。向量w可以來(lái)自一碼本,并且可發(fā)送一表示它的索引,或者它可以是隨機(jī)的,在這一情況下無(wú)需發(fā)送任何附加信息。注意,在以上給出的示例中,分段是隱式的,因?yàn)樗鞘褂藐P(guān)于利用向量x的系數(shù)比較規(guī)則(例如,x[j]^aM)來(lái)完成的,因此無(wú)需發(fā)送關(guān)于分段的任何信息。這一變換在要編碼的向量具有兩個(gè)不同分布的情況下是有用的。圖ll是與其正在建模的子帶相比的碼字的曲線圖。在該示例(1100)中,選擇碼向量以最佳地匹配該向量中的峰值。然而,盡管峰值匹配良好,但向量的其余部分沒(méi)有相似的能量。碼向量的其余部分具有比實(shí)際向量所具有的小得多的能量與峰值之比。這導(dǎo)致引起注意的壓縮偽像。然而,當(dāng)從第一向量中選擇出v中由碼向量良好編碼的部分然后向其余部分應(yīng)用第二碼向量時(shí),獲得好得多的結(jié)果。圖12是與其正在建模的子帶相比的經(jīng)變換的碼字的曲線圖。該建模的子帶是由從兩個(gè)碼字創(chuàng)建的碼字來(lái)建模的。圖13是碼字、要由該碼字編碼的子帶、該碼字的經(jīng)縮放的形式以及該碼字的經(jīng)修改的形式的曲線圖。示例性經(jīng)由選擇性操作的碼字修改多碼向量(例如,多碼字)的一種可選形式添加第一碼向量而非對(duì)某些選擇的系數(shù)替換它。這可應(yīng)用以下公式來(lái)完成l&vy[刀+W],如果;eiV示例性基帶增強(qiáng)在該示例中,將碼向量與基本編碼組合。這類(lèi)似于兩向量(或多向量)方法,不同之處在于第一向量x既是所編碼的向量,同時(shí)其本身被用作編碼其自身的兩個(gè)向量之一。例如,在如上所述基本編碼工作良好并且從第二向量取出更好的系數(shù)的情況下,修改基本編碼以包括這些系數(shù)。對(duì)于所編碼的每一向量(子帶),如果基本編碼已存在,則該基本編碼是多向量模式中的第一向量,其中它被分段成區(qū)域T和N(或更多區(qū)域)。分段(例如,系數(shù)選擇)可使用與多碼向量方法中相同的技術(shù)來(lái)提供。例如,對(duì)于每一基本編碼,如果存在值為0的任何系數(shù),則所有這些將進(jìn)入集合N,該集合然后由增強(qiáng)層(例如,第二向量)來(lái)編碼。這一方法可用于填補(bǔ)通常因非常低的比特率下的編碼而引起的大頻譜洞。修改可包括不填補(bǔ)洞或者'零'系數(shù),除非它們大于某一閾值,其中閾值可被定義為某些赫茲(Hz)或系數(shù)(多個(gè)零系數(shù))。也可以存在關(guān)于不填補(bǔ)低于特定頻率的洞的限制。這些限制修改了以上給出的隱式分段規(guī)則(例如,x[j]〉aM等)。例如,如果提供了關(guān)于頻譜洞的最小大小的閾值'T',則這本質(zhì)上對(duì)于O,...,T-l之間的某一K將集合N的定義改為如下V={/:4卜幻&&4/—〖+1]&&…&&4/—《+T—^我因此為使x[j]在集合N中,它必須是一組T個(gè)連續(xù)系數(shù)的一部分,所有這些系數(shù)具有小于或等于(aM)的值。這可用兩步來(lái)計(jì)算,首先對(duì)每一系數(shù)計(jì)算其值是否小于該閾值,然后將它們分組在一起來(lái)查看它們是否滿足"連續(xù)"的要求。對(duì)于大小為T(mén)的真實(shí)頻譜洞,a=0。諸如最小頻率約束等其它條件添加了為屬于集合N的附加約束,j>Tminfreq.;、0,1,…,L一1}以上規(guī)則提供了要求在規(guī)則信號(hào)通知用來(lái)自第二向量的值替換一行中的多個(gè)系數(shù)(例如,T個(gè)連續(xù)系數(shù))之前這些系數(shù)滿足條件x(j]5aM的濾波器??赡苄枰鞒龅牧硪恍薷氖怯捎诨揪幋a在應(yīng)用了聲道變換之后也編碼了聲道的這一事實(shí)。由此,在聲道變換之后,基本編碼和增強(qiáng)編碼可能具有不同的聲道分組。因此,代替僅僅查看向其應(yīng)用增強(qiáng)的特定聲道的基本編碼,分段可不僅僅查看基本編碼聲道。這再次修改了分段約束。例如,假定聲道0和1是聯(lián)合編碼的。則應(yīng)用增強(qiáng)的規(guī)則改變?yōu)橐韵?。為?yīng)用增強(qiáng),在兩個(gè)基帶編碼的聲道中必須存在頻譜洞,因?yàn)檫@兩個(gè)已編碼聲道對(duì)兩個(gè)實(shí)際聲道都作出了貢獻(xiàn)。示例性子帶分段優(yōu)化良好的頻率分段對(duì)于編碼頻譜數(shù)據(jù)的質(zhì)量而言是重要的。分段涉及將頻譜數(shù)據(jù)分割成稱(chēng)為子帶或向量的單元。一種簡(jiǎn)單的分段是將頻譜均勻地拆分成期望數(shù)目的同構(gòu)段或子帶。同構(gòu)分段可能是次最優(yōu)的??赡艽嬖诳捎幂^大的子帶大小來(lái)表示的頻譜區(qū)域,而其它區(qū)域用較小的子帶大小更好地表示。描述了用于提供頻譜數(shù)據(jù)強(qiáng)度相關(guān)分段的各種特征。對(duì)較大頻譜變化的區(qū)域提供了較精細(xì)的分段,而對(duì)較同構(gòu)的區(qū)域提供了較粗略的分段。例如,最初提供一默認(rèn)或初始分段,并且一優(yōu)化或后續(xù)配置基于頻譜數(shù)據(jù)變化的強(qiáng)度來(lái)改變分段。示例性默認(rèn)分段頻譜數(shù)據(jù)最初被分段為子帶??扇芜x地,可改變初始分段以產(chǎn)生最優(yōu)或后續(xù)分段。兩種這樣的初始或默認(rèn)分段被稱(chēng)為均勻拆分分段和非均勻拆分配置。這些或其它子帶配置可在最初或默認(rèn)地提供??扇芜x地,最初或默認(rèn)配置可被重新配置以提供后續(xù)的子帶配置。給定L個(gè)頻譜系數(shù)的頻譜數(shù)據(jù),M個(gè)數(shù)據(jù)子帶的均勻拆分分段用以下公式來(lái)標(biāo)識(shí)<formula>formulaseeoriginaldocumentpage30</formula>例如,如果L個(gè)頻譜系數(shù)被標(biāo)記為點(diǎn)O,l,...,L-l,則M個(gè)子帶在頻譜數(shù)據(jù)中的s[j]個(gè)系數(shù)處開(kāi)始。由此,第'j'個(gè)子帶具有從s[j]到s[j+l]-l的系數(shù),j=0,l,...,M-l,其子帶大小為s[j+l]-s[J]個(gè)系數(shù)。非均勻拆分分段以類(lèi)似的方式來(lái)完成,不同之處在于提供了子帶乘數(shù)。對(duì)M個(gè)子帶的每一個(gè)提供一子帶乘數(shù)a[j],j=0,1,...,M-l。此外,提供累積子帶乘數(shù)如下:<formula>formulaseeoriginaldocumentpage31</formula>對(duì)非均勻拆分配置情況中的子帶的起始點(diǎn)被定義為:=round6[M]再一次,第個(gè)子帶包括從s[j]到s[j+l]-l的系數(shù),其中j=0,l,...,M-l,其子帶大小為s[i+l]-s[j]個(gè)系數(shù)。非均勻配置具有隨頻率而增大的子帶大小,但是它可以是任何配置。此外,如有所需,它可被預(yù)定,使得無(wú)需發(fā)送附加信息來(lái)描述它。對(duì)于默認(rèn)的非均勻情況,子帶乘數(shù)的一個(gè)示例提供如下a={1,1,2,2,4,4,4,4,8,8,8,8,8,8,8,8,由此,默認(rèn)非均勻頻帶大小乘數(shù)是其中頻帶大小非單調(diào)遞減(前幾個(gè)子帶較小,較高頻率的子帶較大)的拆分配置。較高頻率的子帶通常以較小變化來(lái)開(kāi)始,因此較少的較大子帶可捕捉頻帶的比例和形狀。另外,較高頻率的子帶在總體知覺(jué)失真中有較少重要性,因?yàn)樗鼈兙哂休^少能量且在知覺(jué)上對(duì)人耳較不重要。注意,均勻拆分也可使用子帶乘數(shù)來(lái)解釋?zhuān)藢?duì)所有的j,a[j]二l之外。盡管默認(rèn)或初始分段通常足以編碼頻譜數(shù)據(jù),并且實(shí)際上非均勻模式可處理很大一部分的情況,但是存在獲益于經(jīng)優(yōu)化的分段的信號(hào)。對(duì)于這種信號(hào),定義一類(lèi)似于非均勻情況的分段,不同之處在于頻帶乘數(shù)是任意而非固定的。任意頻帶乘數(shù)反映了子帶的拆分和合并。在一個(gè)示例中,編碼器用指示分段是固定(例如,默認(rèn))還是可變(例如,經(jīng)優(yōu)化或更改的)的第一比特來(lái)用信號(hào)通知解碼器。提供了用于發(fā)信號(hào)通知初始分段是均勻拆分還是非均勻拆分的第二比特。示例性優(yōu)化分段以默認(rèn)分段(諸如均勻或非均勻分段)開(kāi)始,子帶被拆分或合并以獲得一優(yōu)化的或后續(xù)分段。作出將一個(gè)子帶拆分成兩個(gè)子帶,或?qū)蓚€(gè)子帶合并成一個(gè)子帶的決定。拆分或合并的決定可基于初始子帶內(nèi)的頻譜數(shù)據(jù)的各種特性,諸如對(duì)子帶上的變化強(qiáng)度的測(cè)量。在一個(gè)示例中,基于諸如子帶中的基音性或頻譜平坦性等子帶頻譜數(shù)據(jù)特性來(lái)作出拆分或合并的決定。在一個(gè)這樣的示例中,如果能量比在兩個(gè)子帶之間是相似的,并且如果至少一個(gè)頻帶是非基音的,則合并兩個(gè)相鄰的子帶。這是因?yàn)閱蝹€(gè)形狀向量(例如,碼字)和比例因子可能足以表示兩個(gè)子帶。這種能量比的一個(gè)示例提供如下min(£0,£,)—fl)&&(Tonality。<:r||Tonality,<r)max(五o,)在該示例中,Ee是子帶O中的能量,E,是相鄰子帶l中的能量,'a'是一常數(shù)闊值(通常在0<"<1范圍內(nèi)),并且T是基音性比較度量。子帶中的基音性度量(例如,Tonality。)可使用各種分析頻譜的方法來(lái)獲得。類(lèi)似地,如果將單個(gè)子帶拆分成兩個(gè)子帶創(chuàng)建了具有不相似能量的兩個(gè)子帶,則應(yīng)作出拆分。或者,如果拆分一個(gè)子帶創(chuàng)建了兩個(gè)具有不同形狀特性的強(qiáng)基音子帶,則應(yīng)當(dāng)拆分子帶。例如,這一條件被定義如下l紐(f。'^)》(丄+wj|(To化化ty。>r&&丁onalit^>r&&不卜fj形狀〕其中'b'是大于零的常數(shù)。例如,如果當(dāng)子帶被拆分時(shí)形狀匹配顯著地改善,則兩個(gè)子帶可被定義為具有不同的形狀。在一個(gè)示例中,如果兩個(gè)拆分子帶與拆分之前的匹配相比在拆分之后具有低得多的均方歐幾里德距離(MSE)匹配,則認(rèn)為形狀匹配更好。例如,將一子帶與多個(gè)碼字比較以確定對(duì)該單個(gè)子帶的最佳匹配碼字。然后將該子帶拆分成兩個(gè)頻帶,每一子帶與(一半)碼字進(jìn)行比較以找出對(duì)每一拆分子帶的最佳匹配。將兩個(gè)子帶匹配的MSE與單個(gè)子帶匹配的MSE進(jìn)行比較,并且顯著改善的匹配指示值得花費(fèi)編碼拆分的額外開(kāi)銷(xiāo)的改進(jìn)。例如,如果MSE改善了20%或更多,則拆分被認(rèn)為是高效的。在該示例中,盡管并非所需,但形狀匹配在兩個(gè)拆分子帶都為基音時(shí)變?yōu)橄嚓P(guān)的。在一個(gè)示例中,重復(fù)地運(yùn)行一算法直到在當(dāng)前迭代中沒(méi)有額外的子帶要拆分或合并。將子帶標(biāo)記為拆分、合并或原始以減小無(wú)限循環(huán)的幾率可能是有益的。例如,如果一子帶被標(biāo)記為拆分子帶,則它將不會(huì)回過(guò)頭與從其中拆分它的子帶合并。被標(biāo)記為合并的塊不會(huì)被拆分成相同的配置。利用了各種度量來(lái)計(jì)算基音性、能量或不同形狀。可使用運(yùn)動(dòng)向量和比例度量來(lái)編碼擴(kuò)展子帶。如果通過(guò)將一個(gè)子帶拆分成兩個(gè)子帶造成了比例因子中顯著不同的能量(例如,2(l+b),其中b是0.2-0.5),則該子帶可被拆分。在一個(gè)示例中,在快速傅里葉變換(FFT)域中計(jì)算基音性。例如,一輸入信號(hào)被劃分成256個(gè)樣本的固定塊,并且在三個(gè)相鄰的FFT塊上運(yùn)行FFT。對(duì)三個(gè)相鄰FFT輸出執(zhí)行時(shí)間平均以獲得針對(duì)當(dāng)前塊的經(jīng)時(shí)間平均的FFT。在三個(gè)經(jīng)時(shí)間平均的FFT輸出上運(yùn)行中值濾波以獲得基線。如果系數(shù)超過(guò)該基線之上的某一閾值,則該系數(shù)被分類(lèi)為基音,并且它超過(guò)基線的百分比是基音性度量。如果一系數(shù)在該閾值之下,則它不是基音的,并且基音性度量為0。對(duì)于特定時(shí)間頻率小塊的基音性通過(guò)將該小塊的維度映射到FFT塊并對(duì)該塊累積基音性度量來(lái)找出。系數(shù)必須超過(guò)基線的閾值可被定義為絕對(duì)閾值、與基線之比、或與基線方差之比。例如,如果系數(shù)在離基線(經(jīng)中值濾波、時(shí)間平均的)一個(gè)局部標(biāo)準(zhǔn)差之上,則它可被分類(lèi)為基音的。在這一情況下,MLT中表示基音FFT塊的相應(yīng)的經(jīng)轉(zhuǎn)換的子帶被標(biāo)記為基音并且可被拆分。該討論涉及FFT的幅度而非相位。對(duì)于不同形狀上的MSE度量,低得多的MSE的度量可在比特率上顯著變化。例如,采用較高的比特率,如果MSE下降約20%,則拆分決定可能是有意義的。然而,在較低的比特率下,拆分決定可在低50%的MSE處作出。示例性可變頻帶乘數(shù)和編碼在拆分或合并了子帶之后,計(jì)算原始最小子帶大小和新的最小子帶大小之比。比被定義為minRatioBandSize=max(l,原始最小子帶大小/新的最小子帶大小)。然后,對(duì)具有最小大小(例如,子帶中的系數(shù)個(gè)數(shù))的經(jīng)優(yōu)化的子帶分配子帶乘數(shù)1,并且其它子帶大小具有被設(shè)為roimd(本子帶大小/最小子帶大小)的頻帶乘數(shù)。由此,子帶乘數(shù)是大于或等于1的乘數(shù),并且minRatioBandSize也是大于或等于1的乘數(shù)。子帶乘數(shù)通過(guò)本質(zhì)上使用無(wú)表(table-less)可變長(zhǎng)度碼對(duì)期望子帶乘數(shù)和經(jīng)優(yōu)化的子帶乘數(shù)之差進(jìn)行編碼來(lái)編碼。值為0的差用1比特來(lái)編碼,值為不包括0的15個(gè)最小可能差之一的差用5個(gè)比特來(lái)編碼,而其余的差使用無(wú)表碼來(lái)編碼。作為一個(gè)示例,考慮以下示例,其中對(duì)默認(rèn)非均勻情況子帶大小如表4中所給出的。表4頻帶大小4488161616頻帶乘數(shù)1122444再假定在拆分/合并之后,如表5所示創(chuàng)建以下經(jīng)優(yōu)化的子帶配置。表5頻帶大小2410248816圖14是一系列示例性子帶大小變換的圖示。例如,表5中的子帶大小可經(jīng)由圖14的變換從表4中確定。使用以上針對(duì)minRatioBandSize=max(l,4/2)=2的公式,提供了最小比子帶大小2,并且頻帶大小乘數(shù)的值可如表6所示地獲得。表6<table>tableseeoriginaldocumentpage34</column></row><table>使用一方法來(lái)計(jì)算期望子帶乘數(shù)。首先,假定未被拆分或合并的塊具有默認(rèn)子帶大小乘數(shù)(期望頻帶大小乘數(shù)實(shí)際頻帶大小乘數(shù))。這節(jié)省了比特,因?yàn)橹恍杈幋a相對(duì)于期望頻帶大小乘數(shù)的變化。此外,相對(duì)于默認(rèn)頻帶配置的修改越小,編碼該配置所需的比特越少。否則,在解碼器處使用以下邏輯來(lái)計(jì)算期望頻帶乘數(shù)。通過(guò)查看實(shí)際頻帶的起始點(diǎn)并將其與默認(rèn)頻帶配置中的頻帶的起始和結(jié)束點(diǎn)相比較來(lái)查看當(dāng)前正在解碼默認(rèn)配置中的哪一子帶。通過(guò)取默認(rèn)配置中的頻帶內(nèi)剩余的系數(shù)個(gè)數(shù)并將其除以實(shí)際配置中的最小塊(子帶)大小來(lái)計(jì)算期望頻帶乘數(shù)。例如,令Sd[j]是默認(rèn)頻帶配置中第T個(gè)頻帶的起始位置,令Sa[j]是實(shí)際頻帶配置中第'j'個(gè)頻帶的起始位置,令md是默認(rèn)情況下的最小頻帶大小,并令ma是實(shí)際情況中的最小頻帶大小。然后,計(jì)算以下,r=max(l,m^/ma)其中'r'是minRatioBandSize,并且a[j]是用于第T個(gè)頻帶的頻帶乘數(shù)。為計(jì)算用于第T個(gè)頻帶的期望乘數(shù),首先計(jì)算,即包含實(shí)際頻帶的起始位置的默認(rèn)頻帶配置的索引。然后,計(jì)算a^e^d[j]為第'j'個(gè)頻帶的期望乘數(shù)。這可如下計(jì)算,"e一[/]=(W+〗-&[刀V注意,如果一個(gè)頻帶沒(méi)有被拆分或合并,則期望頻帶乘數(shù)將與實(shí)際的相同。同樣,只要Sd[i+1]與s』+l]相同,則期望頻帶乘數(shù)將與實(shí)際的相同。繼續(xù)該示例,表7中示出了默認(rèn)子帶配置。表7<table>tableseeoriginaldocumentpage34</column></row><table>在映射到默認(rèn)頻帶配置時(shí)實(shí)際或經(jīng)優(yōu)化的子帶在表8中示出。表8<table>tableseeoriginaldocumentpage35</column></row><table>默認(rèn)頻帶索引是對(duì)給定j的T的值。剩下的系數(shù)是Sd[i+l]-Sa[j]。期望頻帶乘數(shù)是aexpeted[j],頻帶乘數(shù)是a[j]。再一次,注意沒(méi)有被拆分或合并的任何子帶總是具有值為0的差。編碼為每一子帶都使用可變長(zhǎng)度碼來(lái)對(duì)每一子帶的"差"值和用于該配置的minRatioBandSize('r')進(jìn)行編碼。對(duì)minRatioBandSize的使用允許對(duì)其中最小頻帶小于默認(rèn)配置中的頻帶的頻帶配置進(jìn)行編碼。計(jì)算環(huán)境圖15示出了其中可實(shí)現(xiàn)說(shuō)明性實(shí)施例的合適的計(jì)算環(huán)境(1500)的一般化的示例。計(jì)算環(huán)境(1500)并不對(duì)本發(fā)明的使用范圍或功能提出任何局限,因?yàn)楸景l(fā)明可在不同的通用或?qū)S糜?jì)算環(huán)境中實(shí)現(xiàn)。參考圖15,計(jì)算環(huán)境(1500)包括至少一個(gè)處理單元(1510)和存儲(chǔ)器(1520)。在圖15中,這一最基本的配置(1530)被包括在虛線內(nèi)。處理單元(1510)執(zhí)行計(jì)算機(jī)可執(zhí)行指令,并且可以是真實(shí)或虛擬處理器。在多處理系統(tǒng)中,多個(gè)處理單元執(zhí)行計(jì)算機(jī)可執(zhí)行指令以提高處理能力。存儲(chǔ)器(1520)可以是易失性存儲(chǔ)器(例如,寄存器、高速緩存、RAM)、非易失性存儲(chǔ)器(例如,ROM、EEPROM、閃存等)或兩者的某種組合。存儲(chǔ)器(1520)儲(chǔ)存實(shí)現(xiàn)音頻編碼器和或解碼器的軟件(1580)。計(jì)算環(huán)境可具有附加特征。例如,計(jì)算環(huán)境(1500)包括存儲(chǔ)(1540)、一個(gè)或多個(gè)輸入設(shè)備(1550)、一個(gè)或多個(gè)輸出設(shè)備(1560)以及一個(gè)或多個(gè)通信連接(1570)。諸如總線、控制器或網(wǎng)絡(luò)等互連機(jī)制(未示出)將計(jì)算環(huán)境(1500)的各組件互連。通常,操作系統(tǒng)軟件(未示出)為在計(jì)算環(huán)境(1500)中執(zhí)行的其它軟件提供了操作環(huán)境,并協(xié)調(diào)計(jì)算環(huán)境(1500)的各組件的活動(dòng)。存儲(chǔ)(1540)可以是可移動(dòng)或不可移動(dòng)的,并包括磁盤(pán)、磁帶或磁帶盒、CD-ROM、CD-RW、DVD或可用于儲(chǔ)存信息并可在計(jì)算環(huán)境(1500)內(nèi)訪問(wèn)的任何其它介質(zhì)。存儲(chǔ)(1540)儲(chǔ)存用于實(shí)現(xiàn)音頻編碼器和或解碼器的軟件(1580)的指令。輸入設(shè)備(1550)可以是諸如鍵盤(pán)、鼠標(biāo)、筆或跟蹤球的觸摸輸入設(shè)備、語(yǔ)音輸入設(shè)備、掃描設(shè)備或向計(jì)算環(huán)境(1500)提供輸入的另一設(shè)備。對(duì)于音頻,輸入設(shè)備(1550)可以是聲卡或接受模擬或數(shù)字形式的音頻輸入的類(lèi)似設(shè)備。輸出設(shè)備(1560)可以是顯示器、打印機(jī)或提供來(lái)自計(jì)算環(huán)境(1500)的輸出的另一設(shè)備。通信連接(1570)允許在通信介質(zhì)上與另一計(jì)算實(shí)體的通信。通信介質(zhì)在已調(diào)制數(shù)據(jù)信號(hào)中傳輸諸如計(jì)算機(jī)可執(zhí)行指令、壓縮音頻或視頻信息或其它數(shù)據(jù)等信息。已調(diào)制數(shù)據(jù)信號(hào)是其一個(gè)或多個(gè)特性以對(duì)信號(hào)中的信息編碼的方式來(lái)設(shè)定或更改的信號(hào)。作為示例而非局限,通信介質(zhì)包括用電、光、RF、紅外、聲學(xué)或其它載體實(shí)現(xiàn)的有線或無(wú)線技術(shù)。本發(fā)明可在計(jì)算機(jī)可讀介質(zhì)的一般上下文中描述。計(jì)算機(jī)可讀介質(zhì)可以是可在計(jì)算環(huán)境內(nèi)訪問(wèn)的任何可用介質(zhì)。作為示例而非局限,對(duì)于計(jì)算環(huán)境(1500),計(jì)算機(jī)可讀介質(zhì)可包括存儲(chǔ)器(1520)、存儲(chǔ)(1540)、通信介質(zhì)和以上任一種的組合。本發(fā)明可在諸如程序模塊中所包括的在目標(biāo)真實(shí)或虛擬處理器上的計(jì)算環(huán)境中執(zhí)行的計(jì)算機(jī)可執(zhí)行指令的一般上下文中描述。一般而言,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類(lèi)型的例程、程序、庫(kù)、類(lèi)、組件、數(shù)據(jù)結(jié)構(gòu)等。程序模塊的功能可如各種實(shí)施例中所需地被組合或在程序模塊之間拆分。用于程序模塊的計(jì)算機(jī)可執(zhí)行指令可在本地或分布式計(jì)算環(huán)境中執(zhí)行。出于表示的目的,詳細(xì)描述使用了如"確定"、"獲得"、"調(diào)整"和"應(yīng)用"等術(shù)語(yǔ)來(lái)描述計(jì)算環(huán)境中的計(jì)算機(jī)操作。這些術(shù)語(yǔ)是對(duì)由計(jì)算機(jī)執(zhí)行的操作的高級(jí)抽象,并且不應(yīng)與人類(lèi)執(zhí)行的動(dòng)作混淆。對(duì)應(yīng)于這些術(shù)語(yǔ)的實(shí)際計(jì)算機(jī)操作可取決于實(shí)現(xiàn)而變化。鑒于可應(yīng)用本發(fā)明原理的許多可能的實(shí)施例,要求保護(hù)落入所附權(quán)利要求書(shū)及其等效技術(shù)方案的范圍和精神之內(nèi)的所有這樣的實(shí)施例作為本發(fā)明。權(quán)利要求1.一種音頻編碼方法,包括提供構(gòu)成碼字庫(kù)的碼字;變換來(lái)自所述庫(kù)的至少一個(gè)碼字;將一子帶與來(lái)自所述庫(kù)的至少一個(gè)經(jīng)變換的碼字進(jìn)行比較;在輸出比特流中對(duì)所述子帶進(jìn)行編碼,包括對(duì)來(lái)自所述庫(kù)的一個(gè)或多個(gè)碼字的標(biāo)識(shí)符和變換標(biāo)識(shí)符進(jìn)行編碼。2.如權(quán)利要求1所述的編碼器,其特征在于,還包括將輸入音頻信號(hào)變換成一組頻譜系數(shù);在所述輸出比特流中對(duì)所述一組頻譜系數(shù)的基帶部分進(jìn)行編碼;將所述頻譜系數(shù)的擴(kuò)展頻帶劃分成多個(gè)子帶;縮放所述擴(kuò)展頻帶中的所述多個(gè)子帶;以及將所述子帶與來(lái)自所述庫(kù)的未變換的至少一個(gè)碼字進(jìn)行比較,其中所述庫(kù)包括來(lái)自所述基帶部分的多個(gè)碼字。3.如權(quán)利要求1所述的音頻編碼方法,其特征在于,用于變換來(lái)自所述庫(kù)的至少一個(gè)碼字的可用變換包括以下變換中的一個(gè)或多個(gè)向碼字的每一系數(shù)應(yīng)用指數(shù);對(duì)碼字的每一系數(shù)求反;或反轉(zhuǎn)碼字中的系數(shù)的順序。4.如權(quán)利要求1所述的音頻編碼方法,其特征在于,變換來(lái)自所述庫(kù)的至少一個(gè)碼字包括創(chuàng)建具有來(lái)自兩個(gè)或更多碼字的系數(shù)的碼字,包括從除最后一個(gè)碼字以外的所有碼字中選擇滿足一規(guī)則的系數(shù);從最后一個(gè)碼字提供其它系數(shù)。5.如權(quán)利要求1所述的音頻編碼方法,其特征在于,所述庫(kù)還包括來(lái)自噪聲碼本的碼字或使用確定性地使用種子的隨機(jī)數(shù)生成器來(lái)填充的碼字。6.如權(quán)利要求1所述的音頻編碼方法,其特征在于,對(duì)所述子帶進(jìn)行編碼包括提供兩個(gè)或更多碼字的標(biāo)識(shí)符,并且所述變換標(biāo)識(shí)符包括指數(shù)指示、符號(hào)指示、方向指示或所述輸出比特流中的碼字標(biāo)識(shí)符的次序中的至少一個(gè),所述次序指示對(duì)系數(shù)的隱式選擇。7.如權(quán)利要求1所述的音頻編碼方法,其特征在于,在所述輸出比特流中對(duì)所述子帶進(jìn)行編碼包括兩個(gè)或更多碼字的標(biāo)識(shí)符,并且所述變換標(biāo)識(shí)符是用于從所述兩個(gè)或更多碼字中選擇系數(shù)的顯式規(guī)則的標(biāo)識(shí)符。8.如權(quán)利要求1所述的音頻編碼方法,其特征在于,所比較的來(lái)自所述庫(kù)的至少一個(gè)經(jīng)變換的碼字是使用來(lái)自所述庫(kù)的最接近匹配碼字的指數(shù)變換來(lái)創(chuàng)建的兩個(gè)或更多碼字。9.如權(quán)利要求9所述的音頻編碼方法,其特征在于,來(lái)自所述庫(kù)的最接近匹配碼字是使用最小均方比較來(lái)標(biāo)識(shí)的,并且所述從指數(shù)變換創(chuàng)建的兩個(gè)或更多碼字是使用概率質(zhì)量函數(shù)來(lái)比較的。10.如權(quán)利要求1所述的音頻編碼方法,其特征在于,所比較的碼字包括來(lái)自所述庫(kù)的多個(gè)碼字,并且將所述子帶與來(lái)自所述庫(kù)的至少一個(gè)經(jīng)變換的碼字進(jìn)行比較包括對(duì)所述庫(kù)的碼字及其變換的窮盡搜索,并且其變換包括求反、反轉(zhuǎn)方向、以及使用兩個(gè)或更多指數(shù)的指數(shù)變換。11.如權(quán)利要求2所述的音頻編碼方法,其特征在于,還包括確定所述基帶部分的一部分較差地表示所述輸入音頻信號(hào);增強(qiáng)所述基帶部分的所述部分;所述增強(qiáng)包括從所述基帶部分的較差表示的部分中選擇良好表示所述輸入音頻信號(hào)的系數(shù),并從第二碼字中選擇所有其它系數(shù);以及對(duì)包括所述第二碼字的標(biāo)識(shí)符、所述較差表示的部分的標(biāo)識(shí)符以及用于選擇系數(shù)的規(guī)則的增強(qiáng)進(jìn)行編碼。12.如權(quán)利要求12所述的音頻編碼方法,其特征在于,所述第二碼字是從噪聲碼本或隨機(jī)數(shù)生成器獲得的。13.如權(quán)利要求1所述的音頻編碼方法,其特征在于,變換來(lái)自所述庫(kù)的至少一個(gè)碼字包括創(chuàng)建具有來(lái)自兩個(gè)或更多碼字的系數(shù)的碼字,包括從第一碼字中選擇滿足一規(guī)則的系數(shù);以及對(duì)所述第一碼字中不滿足所述規(guī)則的系數(shù),執(zhí)行一數(shù)學(xué)操作以創(chuàng)建其它系數(shù),所述數(shù)學(xué)操作包括一個(gè)操作符和多個(gè)操作數(shù),第一操作數(shù)是來(lái)自所述第一碼字的不滿足所述規(guī)則的系數(shù),以及第二操作數(shù)是從第二碼字獲得的系數(shù)。14.如權(quán)利要求1所述的音頻編碼方法,其特征在于,還包括在將所述子帶與碼字進(jìn)行比較之前預(yù)先選擇碼字,所述預(yù)先選擇包括-創(chuàng)建一包絡(luò),包括對(duì)音頻信號(hào)運(yùn)行加權(quán)平均函數(shù);以及通過(guò)將所述包絡(luò)與所述子帶進(jìn)行比較來(lái)確定所述預(yù)先選擇的碼字。15.如權(quán)利要求15所述的音頻編碼方法,其特征在于,將所述包絡(luò)與所述子帶進(jìn)行比較還包括使用包括求反變換、反轉(zhuǎn)變換或指數(shù)變換的一個(gè)或多個(gè)變換來(lái)變換所述包絡(luò);以及其中,將所述包絡(luò)與所述子帶進(jìn)行比較包括確定歐幾里德距離。16.—種音頻解碼方法,包括對(duì)比特流中的已編碼頻譜系數(shù)進(jìn)行解碼;以及對(duì)所述比特流中一個(gè)或多個(gè)已編碼子帶進(jìn)行解碼,包括對(duì)每一子帶確定一個(gè)或多個(gè)碼字標(biāo)識(shí)符,對(duì)每一子帶獲得一個(gè)或多個(gè)確定的碼字,以及對(duì)至少一個(gè)子帶,確定一變換規(guī)則,對(duì)至少一個(gè)子帶,使用所述變換規(guī)則來(lái)變換對(duì)所述子帶獲得的碼字。17.如權(quán)利要求17所述的音頻解碼方法,其特征在于,所確定的變換規(guī)則包括以下變換的一個(gè)或多個(gè)向碼字的每一系數(shù)應(yīng)用指數(shù);對(duì)碼字的每一系數(shù)求反;或反轉(zhuǎn)碼字中的系數(shù)的順序。18.如權(quán)利要求17所述的音頻解碼方法,其特征在于,所確定的變換規(guī)則從兩個(gè)或更多碼字創(chuàng)建碼字,包括從除最后一個(gè)碼字之外的所有碼字中選擇滿足一規(guī)則的系數(shù);以及從最后一個(gè)碼字提供其它系數(shù)。19.一種音頻編碼器,包括用于將輸入音頻信號(hào)塊變換成頻譜系數(shù)的變換;用于將頻譜系數(shù)的基帶部分的值編碼到比特流中的基本編碼器;用于將頻譜系數(shù)的一部分劃分成子帶的劃分器;用于縮放子帶的縮放器;用于將子帶與來(lái)自碼字庫(kù)的碼字進(jìn)行比較的比較器;用于將子帶編碼到比特流中的擴(kuò)展頻帶編碼器,其中已編碼的子帶包括碼字的標(biāo)識(shí)符和用于變換所標(biāo)識(shí)的碼字的指數(shù)。全文摘要通過(guò)將頻譜數(shù)據(jù)的某些部分表示為碼向量的經(jīng)縮放的形式來(lái)編碼頻譜數(shù)據(jù),其中碼向量是從固定的預(yù)定碼本或取自基帶的碼本來(lái)選擇的。描述了用于根據(jù)允許碼向量更好地表示其正在建模的數(shù)據(jù)的某些規(guī)則來(lái)修改碼本中的碼向量的各種可任選特征。碼向量修改包括一個(gè)或多個(gè)碼向量的線性或非線性變換,諸如通過(guò)取冪、求反、反轉(zhuǎn)或組合來(lái)自多個(gè)碼向量的各元素來(lái)進(jìn)行。文檔編號(hào)G10L19/14GK101223582SQ200680025807公開(kāi)日2008年7月16日申請(qǐng)日期2006年7月14日優(yōu)先權(quán)日2005年7月15日發(fā)明者K·科什達(dá),S·梅若特拉,W-G·陳申請(qǐng)人:微軟公司