專利名稱::可變規(guī)模語音編碼/解碼的方法和裝置的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明屬語音編碼和解碼
技術(shù)領(lǐng)域:
,具體地說本發(fā)明涉及在一個比特流內(nèi)不是形成一個比特率而是表示支持以底層為基礎(chǔ)的各增強(qiáng)層的多個比特率的數(shù)據(jù)的可變規(guī)模語音編碼/解碼的方法和裝置。語音系統(tǒng)將信號存入記錄/存儲媒體,以后根據(jù)用戶要求復(fù)現(xiàn)所存儲的信號。由于近來數(shù)字信號處理技術(shù)的開發(fā),記錄/存儲媒體已經(jīng)從諸如LP或磁帶那樣的傳統(tǒng)的模擬型進(jìn)展為諸如高密盤或數(shù)字語音帶那樣的數(shù)字型。數(shù)字存儲/恢復(fù)方法解決了語音質(zhì)量降低的問題,與傳統(tǒng)的模擬方法相比,大大改善了語音的質(zhì)量。然而,在存儲和發(fā)送大量數(shù)字?jǐn)?shù)據(jù)上仍然還存在著問題。為了減少數(shù)字?jǐn)?shù)據(jù)量,已經(jīng)采用了DPCM(差分脈沖編碼調(diào)制)或ADPCM(自適應(yīng)差分脈沖編碼調(diào)制)來壓縮數(shù)字語音信號。然而,這種方法有一個缺點,對于不同的信號類型效率相差非常大。最近由ISO(國際標(biāo)準(zhǔn)化組織)標(biāo)準(zhǔn)化的MPEG(動畫專家組)語音技術(shù)、菲利普公司生產(chǎn)的DCC(數(shù)字小型盒帶)、索尼公司生產(chǎn)的MD(微型盤)等利用了一個人類心理聲學(xué)模型來減少數(shù)據(jù)量。這些傳統(tǒng)的方法對于具有不同特性的信號都非常有效地大大減少了數(shù)據(jù)量。一種考慮到人類心理聲學(xué)特性的語言編碼裝置包括時/頻映射部100、心理聲感部110、比特分配部120、按所分配的比特進(jìn)行量化的量化部130和比特構(gòu)組部140,如圖1所示。其中,心理聲感部110根據(jù)人類聽覺特性,特別是掩蔽現(xiàn)象,計算出信號對掩蔽比(SMR),掩蔽門限,即信號克服有關(guān)信號影響而能被聽見的最小幅度。比特分配部120利用掩蔽門限根據(jù)包括信號中對于可聽性來說是重要的部分在有限比特的范圍內(nèi)分配比特,從而實現(xiàn)了有效的數(shù)據(jù)壓縮。在對數(shù)字語音信號的編碼中,重要的人類聽覺特性是掩蔽效應(yīng)和臨界頻帶特征。掩蔽效應(yīng)是一種一個信號(聲音)由于受另一個信號(聲音)的影響而不能聽到的現(xiàn)象。圖2例示了這種掩蔽現(xiàn)象。例如,在車站進(jìn)行低聲交談時,如果有列車通過,那就會由于列車所產(chǎn)生的噪聲而聽不到對方的談話??刹煸肼暤姆葘τ谠肼暦仁翘幵诒O(jiān)界帶范圍內(nèi)、外這兩種情況來說可能是不同的。在噪聲幅度超出臨界帶范圍的情況下更為容易察覺。為了利用人類聽覺特性進(jìn)行編碼,可以分配給一個臨界帶的噪聲幅度按掩蔽效應(yīng)和臨界頻帶這兩個特征計算。應(yīng)用這種數(shù)字語音編碼方法的例如有數(shù)字語音廣播(DAB)、互聯(lián)網(wǎng)電話和點播放音(AOD)。大多數(shù)這樣的編碼方法都支持固定比特率。也就是說,以一個規(guī)定的比特率(例如128Kbps,96Kbps,或64Kbps)構(gòu)成比特流。這種結(jié)構(gòu)在傳輸信道是為語音數(shù)據(jù)專用的情況下是沒有什么問題的。由于一個專用信道固定地支持一種特定比特率,因此用這個專用信道的特定比特率構(gòu)成的比特率發(fā)送到一個接收端不會出現(xiàn)差錯。然而,如果語音數(shù)據(jù)的傳輸信道不穩(wěn)定,那么在接收站就很難正確解釋具有固定比特率的數(shù)據(jù)。換句話說,在接收端接收到的可能是全部語音數(shù)據(jù)的比特流,也可能只是其中的一部分,這取決于傳輸信道的狀態(tài)。如果在接收端只接收到某些比特流,那么就很難恢復(fù)相應(yīng)的語音數(shù)據(jù),從而使語音質(zhì)量大大下降。通常,在數(shù)字語音編碼方法中,一個比特流只在它的頭標(biāo)中含有一個比特率的信息,然后一直維持著這個比特率。例如,如果一個比特流的頭標(biāo)信息表示比特率為128Kbps,那么就沿用這128Kbps的比特流,這表示以相應(yīng)比特率可以得到最好的語音質(zhì)量。也就是說,對于一個特定的比特率形成諸如64Kbps、48Kbps或32Kbps那樣的語音數(shù)據(jù)最佳比特流。然而,這種方法對傳輸信道的狀態(tài)非常敏感。因此,如果傳輸信道很不穩(wěn)定,數(shù)據(jù)就不能正確恢復(fù)。例如,在一個語音幀由n個時隙構(gòu)成的情況下,如果在給定的時間內(nèi)這n個時隙都發(fā)送給了接收端,數(shù)據(jù)就能正確恢復(fù)。然而,如果由于傳輸信道不穩(wěn)定而只發(fā)送了n-m個時隙,那么數(shù)據(jù)就不能正確恢復(fù)了。此外,在如圖3所示的一個發(fā)送端所提供的數(shù)據(jù)由幾個接收端接收的情況下,如果各接收端的相應(yīng)傳輸端的容量各不相同,或者各接收端分別要求不同的比特率,那么僅支持一個固定比特率的發(fā)送端就不能滿足要求。在這種情況下,如果語音比特流具有各層不同的比特率,那樣就能適當(dāng)?shù)貞?yīng)付這種環(huán)境或用戶請求。為此,有三種方法來調(diào)節(jié)比特率。第一種方法是將各層信息依次排列在比特流內(nèi),從而將比特流以一個所要求的比特率簡單地分段,以便以后發(fā)送。如圖4所示,從底層至頂層依次構(gòu)成了相應(yīng)的比特流。于是,每個層的輔助信息和語音數(shù)據(jù)錄在一個比特流內(nèi)。因此,如果用戶請求的只是底層,就只發(fā)送與底層相應(yīng)的比特流。如果請求的是第一層(層1)的信息,那就只發(fā)送第一層以下(包括第一層)的比特流。類似,如果請求的是頂層信息,就發(fā)送所有的比特流。第二種方法是用一個裝置(例如變換器)根據(jù)用戶請求在發(fā)送端和接收端之間變換比特流。也就是說用圖5所示的編碼裝置形成一個比特率的數(shù)據(jù)流,然后由變換器根據(jù)用戶請求變換成比特率較低的數(shù)據(jù)流發(fā)送。此時,編碼裝置形成的比特流必需含有輔助信息,使得變換器能形成一個較低層的比特流。第三種方法如圖6所示,是用變換器進(jìn)行重新編碼,通過解碼形成PCM數(shù)據(jù)再進(jìn)行編碼這些步驟形成和按用戶請求的比特率發(fā)送這比特流。例如,在一個64Kbps的比特流發(fā)送到一個主傳輸信道上而用戶的傳輸信道的容量僅為32Kbps時,安裝在這兩個信道之間的變換器就用64Kbps解碼器形成PCM數(shù)據(jù),再控制32Kbps編碼器形成32Kbps的比特流,通過傳輸信道發(fā)送。上述這些方法中,第一種方法最為合適,但這種方法有一個缺點,各層中數(shù)據(jù)冗余較大,因此性能較差。第二種方法與第一種方法相比語音質(zhì)量稍有改善。然而,用一個較低的比特率格式化比特流要隨編碼器發(fā)出的輔助信息而變。此外,由于這過程通過變換器,因此就延遲和成本而言這種方法不及第一種方法。在第三種方法中,由于變換器要起著一個解碼器和一個編碼器的作用,因此增加了復(fù)雜性,使過程花費大,并且由于需要進(jìn)行重新格式化而受到了延遲。然而,由于輸入變換器的比特流沒有冗余,第三種方法的語音質(zhì)量要比第一種方法的好。雖然很難區(qū)別第二種方法(重新格式化)和第三種方法(重新編碼),但第三種方法在形成低比特流中采用了解量化。在一個可變規(guī)模系統(tǒng)中,由于變換器用來直接將用戶與傳輸端相連,因此必需減小變換器的復(fù)雜程度。所以,由于一般使用的是無延遲而較經(jīng)濟(jì)的不太復(fù)雜的變換器,因此采用不用重新編碼的方法。通常,為了形成第一種方法中的比特流,如圖7所示,首先對于較低的層進(jìn)行編碼,然后再進(jìn)行解碼,再將原信號與解碼所得的信號之差輸入下一層的編碼器進(jìn)行處理。這種方法通常需要至少兩次編碼。也就是說,要用一個核心編碼解碼器產(chǎn)生底層,再加上另一個編碼解碼器來產(chǎn)生其他的層。然而,這種方法由于需要至少兩個編碼器,因而編碼系統(tǒng)比較復(fù)雜。由于需要多個解碼器,解碼系統(tǒng)也比較復(fù)雜。而且,層數(shù)越多,編碼就越復(fù)雜。這是因為需要將為各層所產(chǎn)生的相應(yīng)時域數(shù)據(jù)相加才能得到相應(yīng)層的正確時域數(shù)據(jù)。為了解決上述問題,本發(fā)明的一個目的是提出一種通過在一個比特流中無冗余地組織對于不同層的各比特率的信息能有效利用傳輸信道、滿足各種用戶請求和提供良好語音質(zhì)量的可變規(guī)槿模語音編碼/解碼的方法和裝置。為了達(dá)到這個目的,本發(fā)明所提出的將語音信號編碼成一個具有一個底層和數(shù)目預(yù)定的增強(qiáng)層的分流數(shù)據(jù)流的可變規(guī)模語音編碼方法包括下列步驟(a)對輸入的語音信號進(jìn)行信號處理和按各預(yù)定的編碼頻帶進(jìn)行量化;(b)在預(yù)定的層規(guī)模內(nèi)對與一個底層相應(yīng)的量化數(shù)據(jù)進(jìn)行編碼;(c)在預(yù)定的層規(guī)模內(nèi)對與已編碼底層的下一個增強(qiáng)層相應(yīng)的量化數(shù)據(jù)和屬于已編碼層而尚未編碼的剩下的量化數(shù)據(jù)進(jìn)行編碼;以及(d)相繼對所有各層執(zhí)行層編碼步驟,其中步驟(b)、(c)和()各包括下列步驟(i)得出表示與屬于一個需編碼層的各子頻帶相應(yīng)的量化數(shù)據(jù)的比特數(shù)的全程比特分配信息;(ii)得出分配給各層每個子頻帶寬度內(nèi)各子頻帶的比特數(shù);(iii)對于與所分配的比特數(shù)相應(yīng)的量化數(shù)據(jù),產(chǎn)生表示形成子頻帶的各預(yù)定頻率分量的量化數(shù)據(jù)是否存在的標(biāo)志;以及(iv)通過用一種預(yù)定的編碼方法對與全程比特分配信息、量化步長、標(biāo)志和分配給各子頻帶的比特數(shù)相應(yīng)的量化數(shù)據(jù)進(jìn)行編碼,產(chǎn)生相應(yīng)的比特流。與所分配的比特數(shù)相應(yīng)的量化數(shù)據(jù)是從最高有效比特到最低有效比特量化的。對與所分配的比特數(shù)相應(yīng)的量化數(shù)據(jù)的編碼是在步驟(iv)中通過以預(yù)定的比特數(shù)為單位組合量化數(shù)據(jù)實現(xiàn)的。在步驟(ii)中的所分配的比特數(shù)為一個比特,而步驟(iv)是用一種預(yù)定的編碼方法產(chǎn)生作為比特流的全程比特分配信息和標(biāo)志。這里,預(yù)定的編碼方法是無損編碼。無損編碼是霍夫曼編碼或算術(shù)編碼。步驟(a)包括下列步驟將輸入的時域語音信號變換成頻域信號;將時/頻映射變換的信號組合成各預(yù)定子頻帶的信號,并確定每個子頻帶的掩蔽門限;以及量化每個每個預(yù)定編碼頻帶的信號,使得每個頻帶的量化噪聲都小于掩蔽門限。此外,本發(fā)明還提出了一種將語音信號編碼成具有預(yù)定數(shù)目的比特率的分層比特率數(shù)據(jù)的可變規(guī)模語音編碼裝置,這種裝置包括一個量化部,其作用是對輸入的語音信號進(jìn)行信號處理和按每個編碼頻帶進(jìn)行量化;以及一個比特構(gòu)組部,其作用是對一個底層的各子頻帶的表示屬于這個底層的各子頻帶的量化數(shù)據(jù)的比特數(shù)的全程比特分配信息、表示與分配給各子頻帶的比特數(shù)相應(yīng)的量化數(shù)據(jù)的預(yù)定頻率分量的數(shù)據(jù)是否存在的標(biāo)志、量化步長和量化數(shù)據(jù)進(jìn)行編碼,在底層編碼完成后對下一層的全程比特分配信息、標(biāo)志、量化步長和量化數(shù)據(jù)進(jìn)行編碼,這樣依次對所有各層進(jìn)行編碼,產(chǎn)生相應(yīng)的比特流。對與分配給每個子頻帶的比特數(shù)相應(yīng)的量化數(shù)據(jù)的編碼是從最高有效比特到較低有效比特依次執(zhí)行的。在比特構(gòu)組部按重要性收集和編碼比特時,通過以預(yù)定比特數(shù)為單位組合比特進(jìn)行編碼。比特構(gòu)組部的所分配比特數(shù)為一個比特,而對全程比特分配信息和標(biāo)志的編碼是用一種預(yù)定的編碼方法進(jìn)行的。比特構(gòu)組部從低頻分量到高頻分量依次進(jìn)行編碼。量化部包括一個時/頻映射部,其作用是將輸入的時域語音信號變換成頻域信號;一個心理聲感部,其作用是用各預(yù)定的子頻帶信號組合時/頻映射變換的信號,并確定每個子頻帶的掩蔽門限;以及一個量化部,其作用是量化每個預(yù)定編碼頻帶的信號,使得每個頻帶的量化噪聲都小于掩蔽門限。按照本發(fā)明的另一表現(xiàn)形態(tài),提出了一種對編碼成具有分層比特率的語言數(shù)據(jù)進(jìn)行解碼的可變規(guī)模語音解碼裝置,這種裝置包括一個比特流分析部,其作用是對一個底層的各子頻帶的表示屬于這個底層的各子頻帶的量化數(shù)據(jù)的比特數(shù)的全程比特分配消息、表示與分配給各子頻帶的比特數(shù)相的量化數(shù)據(jù)的預(yù)定頻率分量的數(shù)據(jù)是否存在的標(biāo)志、量化步長和量化數(shù)據(jù)進(jìn)行解碼,按照產(chǎn)生比特流各層的次序?qū)Ω鲗舆M(jìn)行解碼,得出分配給屬于每一層的各子頻帶的比特數(shù)和標(biāo)志得出與所分配的比特數(shù)相應(yīng)的量化數(shù)據(jù);一個解量化部,其作用是將解碼得到的量化步長和量化數(shù)據(jù)恢復(fù)成具有原來幅度的信號;以及一個頻/時映射部,其作用是將解量化得到的信號變換成時域信號。在解碼步驟中的對量化數(shù)據(jù)的解碼是從最高有效比特到較低有效比特進(jìn)行的。本發(fā)明的以上這些目的和優(yōu)點通過以下結(jié)合附圖對本發(fā)明的優(yōu)選實施例所進(jìn)行的詳細(xì)說明就可以更加清楚,在這些附圖中圖1為利用心理聲學(xué)特性的普通語音數(shù)據(jù)編碼裝置的方框圖;圖2為示出掩蔽現(xiàn)象的示意圖;圖3為示出一個通用的傳輸信道系統(tǒng)的方框圖;圖4示出了一個含有支持多層比特率的信息的比特流;圖5為說明重新格式化情況的示意圖;圖6為說明重新編碼情況的示意圖;圖7為一個普通的可變規(guī)模編碼裝置的方框圖;圖8為本發(fā)明所提出的一種編碼裝置的方框圖;圖9A至9G例示了本發(fā)明所提出的一種編碼裝置的工作原理;圖10例示了利用一個比特平面掩碼提取標(biāo)志的情況;圖11A和11B例示了一種數(shù)據(jù)產(chǎn)生算法的執(zhí)行情況;圖12示出了一種按照本發(fā)明所形成的比特流結(jié)構(gòu);以及圖13為本發(fā)明所提出的一種解碼裝置的方框圖。下面將結(jié)合附圖對本發(fā)明的優(yōu)選實施例進(jìn)行詳細(xì)說明。在本發(fā)明中,將對于多層的各比特率的信息表示在一個比特流中,這樣就可以按照用戶請求或傳輸信道狀態(tài)直接將對于有關(guān)各層相應(yīng)比特率的比特流重新格式化后發(fā)送出去。例如,在底層為16Kbps,頂層為64Kbps,而每個增強(qiáng)層為8Kbps的情況下,對于16Kbps、24Kbps、32Kbps、40Kbps、48Kbps、56Kbps和64Kbps各層的信息都包含在對于64Kbps的頂層的比特流內(nèi)。如果用戶請求頂層的數(shù)據(jù),這個比特流就不加任何處理發(fā)送出去。然而,如果用戶請求的是相應(yīng)于16Kbps的底層的數(shù)據(jù),那么就只截取前面部分的比特流發(fā)送出去。圖8為本發(fā)明所提出的編碼裝置的方框圖。這個編碼裝置包括量化處理部830和比特構(gòu)組部840。對輸入的音頻信號進(jìn)行信號處理和按預(yù)定各編碼頻帶量化的量化處理部830包括時/頻映射部800、心理聲感部810和量化部820。時/頻映射部800將輸入的時域音頻信號變換成頻域信號。人耳所感覺的信號特性差異在時域上并不很大。然而,按照人類心理聲學(xué)模型,對每個頻帶的感覺都有很大的不同。因此,通過對于不同的頻帶分配不同的量化比特數(shù)可以增強(qiáng)壓縮效果。心理聲感部810將經(jīng)時/頻映射部800變換的信號用預(yù)先確定的各子頻帶的信號組合起來,利用各信號之間相互作用所產(chǎn)生的掩蔽現(xiàn)象計算出每個子頻帶的掩蔽門限。量化部820量化每個預(yù)定編碼頻帶的信號,使得每個頻帶的量化噪聲都小于掩蔽門限。也就是說,對每個頻帶的各頻率信號進(jìn)行標(biāo)量量化,使得每個頻帶的量化噪聲都小于掩蔽門限而不能察覺。所執(zhí)行的是使在每個頻帶所產(chǎn)生的噪聲與由心理聲感部810計算得的掩蔽門限之比NMR(噪聲掩蔽比)小于或等于0dB的量化。NMR值小于或等于0dB意味著掩蔽門限高于量化噪聲。也就是說,聽不到量化噪聲。比特構(gòu)組部840對與具有最低比特率的底層相應(yīng)的輔助信息和量化數(shù)據(jù)以及與底層的下一層相應(yīng)的輔助信息和量化數(shù)據(jù)進(jìn)行編碼,通過對所有各層都執(zhí)行這個過程產(chǎn)生相應(yīng)的比特流,這在下面還要詳細(xì)加以說明。為了對屬于有關(guān)層的各子頻帶進(jìn)行編碼,得出表示與各層相應(yīng)的量化數(shù)據(jù)的比特數(shù)的全程比特分配信息。然后,得出在各層的帶寬范圍內(nèi)為各頻帶分配的比特數(shù)。對于與分配給每個頻帶的比特數(shù)相應(yīng)的量化數(shù)據(jù),產(chǎn)生一些分別表示組成各頻帶的預(yù)定頻率分量的量化數(shù)據(jù)是否存在的標(biāo)志。對與分配給各頻帶的比特數(shù)相應(yīng)的量化數(shù)據(jù)從數(shù)據(jù)的MSB到較低的比特進(jìn)行編碼。量化數(shù)據(jù)的編碼可以從較低的頻率分量到較高的頻率分量以預(yù)定比特數(shù)為單位執(zhí)行。下面將對本發(fā)明的工作情況進(jìn)行說明。如圖7所示,最廣泛使用的記錄一個比特流內(nèi)的多層信息的方法是存儲從高層到低層執(zhí)行的編碼結(jié)果,對結(jié)果解碼,再對所恢復(fù)的信號與原信號之差進(jìn)行處理后存儲在下一層內(nèi)。例如,在底層為16Kbps時,就將16Kbps的編碼結(jié)果存儲在比特流內(nèi)。得出原信號與16Kbps編碼數(shù)據(jù)的解碼結(jié)果之差,根據(jù)下一層進(jìn)行編碼。在這種方法中,由于在比特流內(nèi)有許多冗余部分,音頻信號質(zhì)量下降。也就是說,較低頻帶的數(shù)據(jù)在幾個層內(nèi)是冗余的。為了避免冗余,對于相同的頻率分量在各層中所表示的數(shù)據(jù)之間必需有連續(xù)性。例如,如果m個比特分配給第i層,而n個比特分配給第i-1層,那么由(n+m)個比特表示的數(shù)據(jù)必需作為一個信息有效。在本發(fā)明中,為了保持相同頻率分量在各層中所表示的數(shù)據(jù)之間的連續(xù)性,從MSB開始表示數(shù)據(jù),情況將結(jié)合圖9A-9G予以說明。圖9A示出了由量化部820執(zhí)行的對于NMR=0dB的量化結(jié)果。在每一層中從MSB開始表示數(shù)據(jù)。也就是說,在底層中只表示MSB,如圖9B所示。如果以這種方式進(jìn)行表示直至頂層,那么就表示了數(shù)據(jù)的所有比特。因此,隨著層的往上,所表示的信息越來越詳細(xì)。發(fā)送給解碼器的數(shù)據(jù)包括表示分配給頻帶的比特數(shù)的全程比特分配信息、數(shù)據(jù)標(biāo)志和數(shù)據(jù)比特。標(biāo)志表示數(shù)據(jù)比特在頻帶中的位置,用一個比特平面掩碼產(chǎn)生。這個比特平面掩碼的所有比特的值均為1。標(biāo)志通過對比特平面掩碼和數(shù)據(jù)的MSB執(zhí)行次數(shù)等于掩碼比特數(shù)的與操作產(chǎn)生,如圖10所示。對于圖10所例示的頻帶,比特分配信息為7比特。例如,解碼器將最高數(shù)據(jù)識別為‘1000000’,即使是在底層的MSB中只有一個1比特數(shù)據(jù)。由于MSB為1,這個最大比特數(shù)為7的頻帶的值大于‘1000000,。這個值由下一層的一個識別為‘1100000’。標(biāo)示表示數(shù)據(jù)值為1和數(shù)據(jù)的位置。因此,1作為標(biāo)志值要從圖9A-9G的‘1000001,表示中除去。所以,在解碼器中對于數(shù)據(jù)比特表示的‘1000000’由于加了作為標(biāo)志值的1而恢復(fù)為‘1000001’。在圖9A-9G中,第二和第五步之后的數(shù)據(jù)都表示不發(fā)送給解碼器的數(shù)據(jù)。數(shù)據(jù)用霍夫費編碼、行程長編碼或算術(shù)編碼表示。數(shù)據(jù)用來作為與此相應(yīng)的比特。此外,在數(shù)據(jù)比特是一個1比特的數(shù)據(jù)比特時,數(shù)據(jù)比特也可以用標(biāo)志表示。這意味著根據(jù)用掩碼產(chǎn)生的值1可以確定在相應(yīng)位置存在著MSB。因此,即,使沒有其他數(shù)據(jù)比特,也能表示整個值。例如,在比特分配信息為5時,底層標(biāo)志值的1表示1和‘10000’。因此,恢復(fù)后的值為‘10001,。如上所述,在每一層中所表示的一個1比特的數(shù)據(jù)比特實質(zhì)上可以加以變換,表示每一層中的一個或多個比特。為了表示每個頻帶的數(shù)據(jù),首先用至少一個比特表示與每一層相應(yīng)的這個頻帶的MSB,然后從低頻帶到高頻帶按比特分配信息的數(shù)值次序排列數(shù)據(jù)。也就是說,由于具有值大的比特分配信息的頻帶是一個重要頻帶,因此首先編碼;而具有值小的比特分配信息的頻帶是一個不大重要的頻帶,所以隨后編碼。以下算法用來產(chǎn)生每一層的數(shù)據(jù),利用這個算法可以計算每一層的比特分配信息和數(shù)據(jù),形成一個可變規(guī)模比特流。<prelisting-type="program-listing"><![CDATA[for(band=0;band<band_end[Top_Layer];band++) for(layer=Base_Layer;layer<Top_Layer;layer++) layer_bal[layer][band]=0; /*max_bit_allocbitsizeofcorrespondingband calculatedbyquantizer*/ for(band=0;band<band_end[Top_Layer];band++) bit+alloc[band]=max_bit_alloc[band]; used_bits=0; for(layer=Base_Layer;layer<Top_Layer;layer++) {for(band=band_start[layer];band<band_end[layer]; band++){if(bit_alloc[band]<2)continue;layer_bal[layer][band]=bit_alloc[band]/2;bits=quantizer(isample, layer_sample[layer], bit_alloc[band], layer_bal[layer][band], band);if(used_bits+bits>available_bits_for_this_layer[layer]) break;used_bits+=bits;bit_alloc[band]-=layer_bal[layer][band]}while(used_bits<available_bits_for_this_layer[layer]){band=-1;maxbal=0;for(scfb=0;scfb<band_end[layer];scfb++){if(max_bal<bit_alloc[scfb]){ max_bal=bit_alloc[scfb]; Band=scfb;}}layer_bal[layer][band]++;bit_alloc[band]--;bits=quantizer(isample,layer_sample[layer]; max_bit_alloc[band], band); if(used_bits+bits>available_bits_for_this_layer[layer]) { layer_bal[layer][band]--; bit_alloc[band]++; break; } used_bits+=bits; } for(band=0;band<band_end[layer];band++) Max_bit_alloc[band]-=layer_bal[layer][band]; }]]></pre>圖11A和11B例示了底層和層1的數(shù)據(jù)產(chǎn)生算法的執(zhí)行情況。在圖11A和11B中,初始比特分配信息相應(yīng)于全程比特分配信息的一半。在剩下的比特分配信息(全程比特分配信息減去初始比特分配信息)中,比特分配按信息值次序執(zhí)行。在上述這種算法中,底層比特限額范圍內(nèi)其他比特只可以轉(zhuǎn)給第二頻帶。底層處理結(jié)束后,通過從原信號中減去已處理的信號所得到的信號在第二層中處理。隨著層以這種方式上移,可以表示更為精確的數(shù)據(jù)值。因此,按照各層的增強(qiáng)作用,語音質(zhì)量就可以得到改善。下面詳細(xì)說明利用這樣表示的數(shù)據(jù)形成可變規(guī)模比特流的方法。首先,記錄對于底層帶寬的輔助信息。輔助信息包括每個頻帶的比特分配信息和解量化必需的量化步長。這里,在對相應(yīng)頻帶執(zhí)行比特分配時,首先就錄下量化步長。在輔助信息后,記錄底層語音數(shù)據(jù)值。記錄數(shù)據(jù)值是在MSB信息后從第一頻帶到在取決于底層比特率的比特限額內(nèi)可表示的頻帶依次進(jìn)行的。然后,計算出數(shù)據(jù)標(biāo)志。在圖11A和11B中,由實線方框所示的標(biāo)志和數(shù)據(jù)比特錄在比特流內(nèi)。此時,如果每一層比特分配信息為零,就沒有數(shù)據(jù)要記錄。此外,在每一層比特分配信息不為零的情況下,如果沒有標(biāo)志信息(即如果標(biāo)志均為零),就不記錄數(shù)據(jù)比特而只記錄標(biāo)志。在結(jié)束了對底層的記錄后,記錄下一層的輔助信息和語音數(shù)據(jù)的量化值。各層都以這種方式進(jìn)行記錄。圖12示出了這樣記錄的比特流的結(jié)構(gòu)。下面將通過一個例子詳細(xì)說明本發(fā)明所提出的編碼方法。例如,底層的比特率為16Kbps,頂層的比特率為64Kbps,而各增強(qiáng)層比特率間隔為8Kbps,也就是說,這個比特流具有16Kbps、24Kbps、32Kbps、40Kbps、48Kbps、56Kbps和64Kbps這七層。如以下表1所示,所處理的各層的帶寬是有限制的。輸入數(shù)據(jù)是以48KHz采樣的PCM數(shù)據(jù),而一個幀的幅度是1024。在比特率為64Kbps的情況下,一幀的比特數(shù)平均為1365(=64000bit/s×(1024/48000))。表1</tables>首先采用一個心理聲學(xué)模型,從輸入數(shù)據(jù)計算出必需的信息。ISO/IEC11172-3Model2用來計算這個心理聲學(xué)模型。心理聲感部810的輸出是當(dāng)前處理的幀的分塊型式(長、開始、短或終了)、各處理頻帶的SMR、短塊的分塊信息和經(jīng)延遲的與心理聲感部810和時/頻映射部800同步的PCM數(shù)據(jù)。時/頻映射部800按照心理聲感部810輸出的塊類型利用MDCT將時域數(shù)據(jù)變換成頻域數(shù)據(jù)。此時,在長/開始/終了塊和短塊的情況下塊長度分別為2048和256,而MDCT執(zhí)行8次。變換成頻域數(shù)據(jù)的數(shù)據(jù)用心理聲感部810輸出的SMR值進(jìn)行量化。這里執(zhí)行的是標(biāo)量量化,基本的量化步長為21/4。所執(zhí)行的量化保證NMR等于或小于0dB。所得到的輸出是有關(guān)數(shù)化數(shù)據(jù)、各處理頻帶的量化步長和能表示頻帶的最大值的比特數(shù)(即全程比特分配信息)。每一層的數(shù)據(jù)用上述算法產(chǎn)生,下面將通過一個優(yōu)選實施例對此予以說明。由于底層的帶寬為3.5KHz,因此處理的是第12頻帶以內(nèi)的各頻帶。首先,利用直至第12頻帶的全程比特分配信息,產(chǎn)生底層的比特分配信息。從第0頻帶提取是在全程比特分配信息所表示的一半的這些比特內(nèi)的數(shù)據(jù)進(jìn)行檢驗,確定是否能在底層的比特額度內(nèi)加以表示。如果能,則對下一頻帶執(zhí)行與對第0頻帶所執(zhí)行的相同的過程。當(dāng)過程一直繼續(xù)到第12頻帶后,通過在當(dāng)前正在處理的這些頻帶中從具有最大比特分配信息的那個頻帶起依次再給各頻帶分配一個比特,檢驗是否會有一個頻帶超出比特限額,還是在比特限額內(nèi)可以表示第12頻帶以內(nèi)的所有頻帶。如果底層的處理結(jié)束,就將原數(shù)據(jù)值減去在底層中所處理的值得到的值作為下一層處理的輸入數(shù)據(jù)。對其他層執(zhí)行的處理與在底層中執(zhí)行的處理相同。表2</tables>下面將詳細(xì)說明對上述編碼裝置所產(chǎn)生的比特流進(jìn)行解碼的解碼裝置。圖13示出了這種解碼裝置的方框圖,它包括比特流分析部10、解量化部20和頻/時映射部30。比特流分析部10按照比特流產(chǎn)生次序?qū)Ω鲗拥娜瘫忍胤峙湫畔?、量化步長、標(biāo)志和量化數(shù)據(jù)進(jìn)行解碼,得出分配給屬于每一層的頻帶的比特數(shù),參照標(biāo)志得出與所分配的比特數(shù)相應(yīng)的量化數(shù)據(jù)。解量化部20將解碼得出的量化步長和量化數(shù)據(jù)恢復(fù)成具有原來幅度的信號。頻/時映射部30將解量化得出的信號變換成時域信號,以便用戶加以復(fù)現(xiàn)。下面將說明這種解碼裝置的工作情況。對編碼裝置所產(chǎn)生的比特流進(jìn)行解碼的次序與編碼的次序相反。首先,對底層信息解碼。解碼過程簡述如下。首先,對底層的輔助信息,也就是全程比特分配信息、量化步長和標(biāo)志,進(jìn)行解碼。然后,得出分配給屬于底層的各頻帶的比特數(shù),參照標(biāo)志對與此相應(yīng)的量化數(shù)據(jù)進(jìn)行解碼。這里,編碼比特流中的量化值是依從MSB到LSB、從低頻分量到高頻分量的次序解碼的。解碼利用與編碼過程中所用的編碼方法相應(yīng)的方法進(jìn)行。最好采用無損解碼方法,例如霍夫曼解碼方法或算述解碼方法。完成了對于底層的比特流解碼后,對下一層的輔助信息和語音數(shù)據(jù)的量化值進(jìn)行解碼。以同樣的方式,可以對所有層的數(shù)據(jù)進(jìn)行解碼。解碼過程得出的量化數(shù)據(jù),按與編碼相反的次序,通過解量化部20和頻/時映射部30恢復(fù)成原來的信號,如圖13所示。如上所述,按照本發(fā)明,不同層的各比特率的數(shù)據(jù)表示在一個比特流內(nèi),因此可以自適應(yīng)地滿足各傳輸信道的狀態(tài)和用戶的不同請求。此外,由于各層用的是同一個編碼器,因此降低了編碼器的復(fù)雜程度。而且,由于數(shù)據(jù)處理在頻域進(jìn)行,而不需要對各層之間時域數(shù)據(jù)的差進(jìn)行編碼,這也降低了編碼器的復(fù)雜程度。同樣,由于各層用的是同一個解碼器,因此降低了解碼器的復(fù)雜程度。此外,由于對于每一層都只是產(chǎn)生一次時域數(shù)據(jù),因此也降低了解碼器的復(fù)雜程度。而且,由于各層的比特流是直接產(chǎn)生的,這也降低了解碼器的復(fù)雜程度。還有,由于各層的數(shù)據(jù)比特之間是連續(xù)的,因此提供了良好的語音質(zhì)量,很容易適合各種傳輸信道的狀態(tài)和用戶的請求。此外,按照本發(fā)明,為了滿足各種用戶請求,形成了靈活的比特流。也就是說,根據(jù)用戶請求,對于不同層的各比特率的信息合并成一個沒有冗余的比特流,從而提供了具有良好的語音質(zhì)量的比特流,而且在傳輸端和接收端之間不需要任何變換器。此外,任何傳輸信道狀態(tài)和各種用戶請求都可以得到滿足。本發(fā)明既可用于有線系統(tǒng),也可用于無線系統(tǒng)。權(quán)利要求1.一種用來將語音信號編碼成一個具有一個底層和數(shù)目預(yù)定的增強(qiáng)層的分層數(shù)據(jù)流的可變規(guī)模語音編碼方法,所述方法包括下列步驟(a)對輸入的語音信號進(jìn)行信號處理和按每個預(yù)定的編碼頻帶進(jìn)行量化;(b)在預(yù)定的層規(guī)模內(nèi)對與底層相應(yīng)的量化數(shù)據(jù)進(jìn)行編碼;(c)在預(yù)定的層規(guī)模內(nèi)對與已編碼底層的下一個增強(qiáng)層相應(yīng)的量化數(shù)據(jù)和屬于已編碼層而尚未編碼的剩下的量化數(shù)據(jù)進(jìn)行編碼;以及(d)相繼對所有各層執(zhí)行層編碼步驟,其中步驟(b)、(c)和(d)各包括下列步驟(i)得出表示與屬于一個需編碼層的各子頻帶相應(yīng)的量化數(shù)據(jù)的比特數(shù)的全程比特分配信息;(ii)得出分配給各層每個子頻帶寬度內(nèi)各子頻帶的比特數(shù);(iii)對于與所分配的比特數(shù)相應(yīng)的量化數(shù)據(jù),產(chǎn)生表示形成子頻帶的各預(yù)定頻率分量的量化數(shù)據(jù)是否存在的標(biāo)志;以及(iv)通過用一種預(yù)定的編碼方法對與全程比特分配信息、量化步長、標(biāo)志和分配給各子頻帶的比特數(shù)相應(yīng)的量化數(shù)據(jù)進(jìn)行編碼,產(chǎn)生相應(yīng)的比特流。2.根據(jù)權(quán)利要求1所述的可變規(guī)模語音編碼方法,其中所述與所分配的比特數(shù)相應(yīng)的量化數(shù)據(jù)是從最高有效比特到最低有效比特量化的。3.按權(quán)利要求2所述的可變規(guī)模語音編碼方法,其中所述對與所分配的比特數(shù)相應(yīng)的量化數(shù)據(jù)的編碼是在步驟(iv)中通過以預(yù)定的比特數(shù)為單位組合量化數(shù)據(jù)實現(xiàn)的。4.按權(quán)利要求2所述的可變規(guī)模語音編碼方法,其中所述步驟(ii)中的所分配的比特數(shù)為一個比特,而所述步驟(iv)是用一種預(yù)定的編碼方法產(chǎn)生作為比特流的全程比特分配信息和標(biāo)志。5.按權(quán)利要求1所述的可變規(guī)模語音編碼方法,其中所述預(yù)定編碼方法是無損編碼。6.按權(quán)利要求5所述的可變規(guī)模語音編碼方法,其中所述無損編碼是霍夫曼編碼。7.按權(quán)利要求5所述的可變規(guī)模語音編碼方法,其中所述無損編碼是算術(shù)編碼。8.按權(quán)利要求1所述的可變規(guī)模語音編碼方法,其中所述步驟(a)包括下列步驟將輸入的時域語音信號變換成頻域信號;將時/頻映射變換的信號組合成各預(yù)定子頻帶的信號,并確定每個子頻帶的掩蔽門限;以及量化每個預(yù)定編碼頻帶的信號,使得每個頻帶的量化噪聲都小于掩蔽門限。9.一種對語音信號進(jìn)行編碼以形成具有預(yù)定數(shù)目的比特率的分層比特率數(shù)據(jù)的可變規(guī)模語音編碼裝置,所述裝置包括一個量化部,其作用是對輸入的語音信號進(jìn)行信號處理和按每個編碼頻帶進(jìn)行量化;以及一個比特構(gòu)組部,其作用是對一個底層的各子頻帶的表示屬于這個底層的各子頻帶的量化數(shù)據(jù)的比特數(shù)的全程比特分配信息、表示與分配給各子頻帶的比特數(shù)相應(yīng)的量化數(shù)據(jù)的預(yù)定頻率分量的數(shù)據(jù)是否存在的標(biāo)志、量化步長和量化數(shù)據(jù)進(jìn)行編碼,在底層編碼完成后對下一層的全程比特分配信息、標(biāo)志、量化步長和量化數(shù)據(jù)進(jìn)行編碼,這樣依次對所有各層進(jìn)行編碼,產(chǎn)生相應(yīng)的比特流。10.按權(quán)利要求9所述的可變規(guī)模語音編碼裝置,其中所述對與分配給每個子頻帶的比特數(shù)相應(yīng)的量化數(shù)據(jù)的編碼是從最高有效比特到較低有效比特依次執(zhí)行的。11.按權(quán)利要求10所述的可變規(guī)模語音編碼裝置,其中所述比特構(gòu)組部在按重要性收集和編碼比特時,通過以預(yù)定比特數(shù)為單位組合比特進(jìn)行編碼。12.按權(quán)利要求10所述的可變規(guī)模語音編碼裝置,其中所述比特構(gòu)組部的所分配比特數(shù)為一個比特,而對全程比特分配信息和標(biāo)志的編碼是用一種預(yù)定的編碼方法進(jìn)行的。13.按權(quán)利要求10所述的可變規(guī)模語音編碼裝置,其中所述比特構(gòu)組部從低頻分量到高頻分量依次進(jìn)行編碼。14.按權(quán)利要求9或10所述的可變規(guī)模語音編碼裝置,其中所述量化部包括一個時/頻映射部,其作用是將輸入的時域語音信號變換成頻域信號;一個心理聲感部,其作用是用各預(yù)定的子頻帶信號組合時/頻映射變換的信號,并確定每個子頻帶的掩蔽門限;以及一個量化部,其作用是量化每個預(yù)定編碼頻帶的信號,使得每個頻帶的量化噪聲都小于掩蔽門限。15.一種對編碼成具有分層比特率的語音數(shù)據(jù)進(jìn)行解碼的可變規(guī)模語音解碼方法,所述方法包括下列步驟對一個底層的各子頻帶的表示屬于這個底層的各子頻帶的量化數(shù)據(jù)的比特數(shù)的全程比特分配消息、表示與分配給各子頻帶的比特數(shù)相應(yīng)的量化數(shù)據(jù)的預(yù)定頻率分量的數(shù)據(jù)是否存在的、量化步長和量化數(shù)據(jù)進(jìn)行解碼,按照產(chǎn)生比特流各層的次序?qū)Ω鲗舆M(jìn)行解碼,得出分配給屬于每一層的各子頻帶的比特數(shù)和參照標(biāo)志得出與所分配的比特數(shù)相應(yīng)的量化數(shù)據(jù);將解碼得到的量化步長和量化數(shù)據(jù)恢復(fù)成具有原來幅度的信號,以及將解量化得到的頻域信號變換成時域信號。16.按權(quán)利要求15所述的可變規(guī)模語音解碼方法,其中所述解碼步驟中的量化數(shù)據(jù)的解碼是從最高有效比特到較低有效比特進(jìn)行的。17.按權(quán)利要求15所述的可變規(guī)模語音解碼方法,其中所述解碼步驟中的量化數(shù)據(jù)的解碼是以由預(yù)定數(shù)目的比特構(gòu)成的向量為單位進(jìn)行的。18.按權(quán)利要求15所述的可變規(guī)模語音解碼方法,其中所述解碼步驟是用算術(shù)解碼執(zhí)行的。19.按權(quán)利要求15所述的可變規(guī)模語音解碼方法,其中所述解碼步驟是用霍夫曼解碼執(zhí)行的。20.一種對編碼成具有分層比特率的語音數(shù)據(jù)進(jìn)行解碼的可變規(guī)模語音解碼裝置,所述裝置包括一個比特流分析部,其作用是對一個底層的各子頻帶的表示屬于這個底層的各子頻帶的量化數(shù)據(jù)的比特數(shù)的全程比特分配消息、表示與分配給各子頻帶的比特數(shù)相應(yīng)的量化數(shù)據(jù)的預(yù)定頻率分量的數(shù)據(jù)是否存在的標(biāo)志、量化步長和量化數(shù)據(jù)進(jìn)行解碼,按照產(chǎn)生比特流各層的次序?qū)Ω鲗舆M(jìn)行解碼,得出分配給屬于每一層的各子頻帶的比特數(shù)和參照標(biāo)志得出與所分配的比特數(shù)相應(yīng)的量化數(shù)據(jù);一個解量化部,其作用是將解碼得到的量化步長和量化數(shù)據(jù)恢復(fù)成具有原來幅度的信號;以及一個頻/時映射部,其作用是將解量化得到的信號變換成時域信號。21.按權(quán)利要求20所述的可變規(guī)模語音解碼裝置,其中所述解碼步驟中對量化數(shù)據(jù)的解碼是從最高有效比特到較低有效比特進(jìn)行的。全文摘要本發(fā)明提出了一種可變規(guī)模語音編碼/解碼方法和裝置。這種編碼方法包括下列步驟:(a)對輸入的語音信號進(jìn)行信號處理和按各預(yù)定的編碼頻帶進(jìn)行量化;(b)在預(yù)定的層規(guī)模內(nèi)對與底層相應(yīng)的量化數(shù)據(jù)進(jìn)行編碼;(c)在預(yù)定的層規(guī)模內(nèi)對與已編碼的底層的下一個增強(qiáng)層相應(yīng)的量化數(shù)據(jù)和屬于已編碼層而尚未編碼的剩下的量化數(shù)據(jù)進(jìn)行編碼;以及(d)相繼對所有各層執(zhí)行層編碼步驟。文檔編號H04N7/30GK1195160SQ97123478公開日1998年10月7日申請日期1997年12月30日優(yōu)先權(quán)日1997年4月2日發(fā)明者金延培申請人:三星電子株式會社