專利名稱:用于數(shù)字信號壓縮編碼的多脈沖字典的索引間的編碼轉(zhuǎn)換的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及對數(shù)字信號的編碼和解碼,尤其是涉及傳輸或存儲多媒體信號,例如音頻(語音和/或聲音)信號的應(yīng)用。
背景技術(shù):
在壓縮編碼領(lǐng)域,許多編碼器(coder)采用大量脈沖對L個樣本的信號建立模型,這些脈沖數(shù)量遠(yuǎn)少于樣本總數(shù)。這是某些音頻編碼器的情況,例如在美國專利公布文本US-2001/027393所描述的“TDAC”音頻編碼器,其中在每個波段中被修改的標(biāo)準(zhǔn)化離散余弦變換系數(shù)被通過使用交叉存取尺寸的代數(shù)字典的矢量量詞所量化,這些代數(shù)編碼通常包括一些非零的要素(component),以及另一些等于零的要素。這也是多數(shù)使用綜合分析的語音編碼器的情況,尤其是代數(shù)碼本激勵線性預(yù)測編碼(AlgebraicCode Excited Linear Prediction,ACELP)、多脈沖最大似然量化(MultiPulseMaximum Likelihood Quantization,MP-MLQ)以及其他類型的編碼器。為了對改良(innovation)信號建立模型,這些編碼器使用一個由波形(waveform)組成的路徑(directory),這些波形具有很少部分的非零要素、具有額外遵守預(yù)先制訂的規(guī)則的位置和振幅。
下面簡要描述上述類型的使用綜合分析的編碼器。
在使用綜合分析的編碼器中,一個綜合模型被用來編碼以提取用于建立被編碼信號的模型的參數(shù),例如電話頻率(Fe=8千赫茲(khz)),或者一個更高的頻率,例如用于寬帶編碼的16khz(傳輸頻帶為從50hz到7khz)。取決于應(yīng)用以及所需要的質(zhì)量,壓縮率在1到16之間變化。這些編碼器在電話波段中工作于從2千比特每秒(kbps)到16千比特每秒(kbps)的比特率,在寬帶中工作于6千比特每秒(kbps)到32千比特每秒(kbps)的比特率。
下面簡要描述CELP數(shù)字編解碼器,其使用綜合分析并且是目前最廣泛用于語音信號編碼、解碼的編碼器之一。一個語音信號被取樣并被轉(zhuǎn)化為稱為幀的L’個樣本的一系列塊。作為通用的規(guī)則,每個幀被劃分為稱為子幀的L個樣本的更小的塊。每個塊通過過濾一個波形而被綜合,該波形是從一個借助兩個濾波器實時變化的結(jié)果而增加的路徑(也稱為字典)中提取出來的。該激勵(excitation)字典是一個L個樣本的波形的有限集合。上述第一個濾波器是一個長期預(yù)測(long-term prediction,LTP)濾波器。一個LTP分析評價該LTP濾波器的參數(shù),該濾波器發(fā)現(xiàn)有聲聲音(voicedsound)的周期特征(典型地表示基礎(chǔ)音調(diào)(pitch)的頻率(有聲和弦(vocalchord)的振動頻率))。上述第二個濾波器是一個短期預(yù)測(short-termprediction,STP)濾波器。線性預(yù)測編碼(Linear prediction coding,LPC)分析方法被用來獲取表示語音通道(vocal tract)的傳輸函數(shù)和該信號頻譜的特征(典型地表示由唇設(shè)定的輪廓、舌頭和喉的位置等等得到的調(diào)制(modulation))的短期預(yù)測參數(shù)。
用來確定改良序列的方法是被大家所知道的綜合分析。在編碼器中,來自于激勵字典中的大量的改良序列被LTP和LPC濾波器所過濾,并且根據(jù)一個感知(perceptual)加權(quán)標(biāo)準(zhǔn)產(chǎn)生了最接近于原始信號的綜合信號的波形被選擇,該標(biāo)準(zhǔn)通常是CELP標(biāo)準(zhǔn)。
下面簡要描述多脈沖字典在這些綜合編碼器分析中的用途,假設(shè)對于本領(lǐng)域的技術(shù)人員而言,CELP編碼器和CELP解碼器都是可以被理解的。
符合ITU-T的G.723.1標(biāo)準(zhǔn)的復(fù)合比特率編碼器是使用綜合分析的編碼器的一個好例子,該分析使用了多脈沖(multipulse)字典。在此,該脈沖位置都是分離的。編碼器(6.3kbps和5.3kbps)的兩個比特率通過從字典中提取出來的波形對改良信號建立模型,該字典僅包括少量的非零脈沖6個或者5個高比特率,4個低比特率。這些脈沖振幅是+1或-1。在其6.3kbps模式中,可選地,G.723.1編碼器使用兩個字典在第一字典中,用于偶數(shù)子幀,波形由6個脈沖組成,并且在第二字典中,用于奇數(shù)子幀,波形由5個脈沖組成。
在兩個字典中,一個單一限制被強加于任何編碼矢量的脈沖位置上,該編碼矢量均具有同樣的奇偶性,例如必須都是偶數(shù)或者必須都是奇數(shù)。在5.3kbps模式字典中,四個脈沖的位置被更加嚴(yán)格地限制。除了同樣的作為高比特率模式的字典的奇偶性限制以外,對每個脈沖存在對其位置的有限選擇。
上述5.3kbps模式多脈沖字典屬于眾所周知的ACELP字典家族。一個ACELP路徑的結(jié)構(gòu)是基于交叉存取單脈沖置換(interleaved single-pulsepermutation,ISPP)技術(shù),其包括將L個位置的一個集合分割為K個交叉存取聲道(track),第N個脈沖位于特定的預(yù)定義聲道中。在一些應(yīng)用中,碼字(code words)的維度(dimension)L可以被擴展為L+N。因此,在一個ITU-T G.723.1編碼器的低比特率模式路徑的例子中,60個樣本的塊的維度被擴展到64個樣本,且其中32個偶數(shù)(或者在這樣的例子中也可以是奇數(shù))位置被分割為4個非重疊(non-overlapping)的長度為8的交叉存取聲道。于是,存在2組4個聲道,每組都具有相同的奇偶性。下表1描述了對i0至i3的每個脈沖的偶數(shù)位置的四個聲道。
表15.3kbps模式G.723.1編碼器的ACELP字典的脈沖的位置和振幅。
ACELP改良字典被使用在許多使用綜合分析的標(biāo)準(zhǔn)編碼器(ITU-TG.723.1、ITU-T G.729、IS-641、3GPP NB-AMR、3GPP WB-AMR)中。以下表2至表4展示了這些用于塊長度為40個樣本的ACELP字典的一些例子。注意,在這些字典中沒有使用奇偶性限制。表2描述了用于8kbps模式ITU-T G.729編碼器、IS-6417.4kbps模式編碼器和7.4以及7.95kbps模式3GPP NB-AMR編碼器中的適用于17位(bit)和四個振幅為±1的非零脈沖的ACELP字典。
表28kbps模式ITU-T G.729編碼器、7.4kbps模式IS-641編碼器和7.4以及7.95kbps模式3GPP NB-AMR編碼器的ACELP字典的脈沖的位置和振幅。
表3描述了使用在12.2kbps模式3GPP NB-AMR編碼器中的用于35位(bit)的ACELP字典,其中每個碼矢量(code-vector)包括10個振幅為±1的非零脈沖。40個樣本的塊被分割為5個長度為8的聲道,每個聲道包含2個脈沖。注意,同一個聲道的2個脈沖可以重疊并且形成振幅為±2的單脈沖。
表312.2kbps模式3GPP NB-AMR編碼器的ACELP字典的脈沖的位置和振幅。
最后,表4描述了使用在ITU-T G.729編碼器和5.9kbps模式3GPPNB-AMR編碼器的低比特率(6.4kbps)擴展中的用于11位(bit)和2個振幅為±1的非零脈沖的ACELP字典。
表46.4kbps模式ITU-T G.729編碼器和5.9kbps模式3GPPNB-AMR編碼器的ACELP字典的脈沖的位置和振幅。
下面將解釋“探測(exploring)”多脈沖字典的含義。
伴隨任何量化操作(quantizing operation),尋找最佳的(optimum)用于編碼的矢量的模型包括從最相似的字典的碼矢量(code-vector)的集合(或子集)中選擇,例如選擇與所輸入的矢量之間的被測距離最小的那個矢量。為了這個目的,一個稱之為“探測”字典的步驟被執(zhí)行。
在多脈沖字典的例子中,這相當(dāng)于尋找那些待建模信號的最優(yōu)化脈沖以及由脈沖選擇所得到信號的結(jié)合。取決于字典的尺寸和/或結(jié)構(gòu),該探測可以是窮舉的或非窮舉的(于是更復(fù)雜或不那么復(fù)雜)。
既然使用在上述TDAC編碼器中的字典是第二種類型的置換碼(permutation codes)的邏輯相加,用于對一個標(biāo)準(zhǔn)轉(zhuǎn)換系數(shù)矢量進行編碼的算法,僅僅計算有限個距離標(biāo)準(zhǔn)(使用所謂的“絕對指標(biāo)(absoluteleader)”矢量),探測該特性以從所有的碼矢量中確定離其最近的矢量。
在使用綜合分析的編碼器中,除了在小型字典的情況下,多脈沖字典探測是非窮舉的。只有高比特率字典的一小部分被探測。例如,多脈沖ACELP字典通常在兩個階段被探測。為了簡化該搜索,第一階段通過基于上述輸入信號簡單量化一個信號來預(yù)選擇每個可能的脈沖位置的振幅(以及該信號,參見上述內(nèi)容)。既然脈沖的振幅被確定了,其就是脈沖的位置,該等脈沖然后被使用一綜合分析技術(shù)搜索(以符合CELP標(biāo)準(zhǔn))。盡管使用了ISPP結(jié)構(gòu),并且盡管只是少數(shù)脈沖,對位置結(jié)合的窮舉搜索僅僅對低比特率字典(典型地,不大于12位(bit))實施。這應(yīng)用于6.4kbps模式G.729編碼器用的11位ACELP字典(參見表4),例如,其中兩個脈沖的位置的512種組合都被測試來選擇最好的一個,也就是計算相應(yīng)的512個CELP標(biāo)準(zhǔn)。
對于高比特率的字典,已經(jīng)提出了不同的聚焦(focusing)方法。詞語“聚焦搜索(focused search)”從而被使用。
這些在先技術(shù)的部分被用于上述的標(biāo)準(zhǔn)編碼器中。其目標(biāo)是減少位置的組合數(shù)量以基于將被建模的信號的特征來探測。一個例子是在許多個標(biāo)準(zhǔn)ACELP編碼器中“深度優(yōu)先樹”算法被使用,例如一個目標(biāo)信號的聲道的局部最大量,該目標(biāo)信號基于輸入信號、之前的綜合信號以及一個由綜合和感性權(quán)重組成的濾波器。取決于所使用的字典的尺寸,在這一點上有不同的情況。為了探索適用于35位和10個脈沖的ACELP字典(參考圖3),第一脈沖被設(shè)于目標(biāo)信號的全局最大量的相同位置。其后續(xù)有對連續(xù)聲道的四個循環(huán)置換。在每次置換中,第二脈沖的位置確定于其他四個聲道之一的局部最大量,剩余的其他8個脈沖的位置被成對地隔行循環(huán)連續(xù)搜索。在每次循環(huán)中,256個(8×8×4對)不同的組合被測試,也就是說,在字典中的225個中,只有10個脈沖的1024個組合被探測。在IS641編碼器中,使用了一個不同的變量,其中適用于17位和4個脈沖的字典(參考表2)的更高比例的組合被探測。脈沖位置的8192(=213)個組合中的768個組合被測試。在8kbpsG.729編碼器中,同樣的ACELP字典被使用一個不同的聚焦方法探測。該算法通過隔行4脈沖搜索循環(huán)(每個脈沖1個)來完成于一個循環(huán)搜索。該搜索通過進入內(nèi)部循環(huán)(搜索屬于聲道3或聲道4的最后一個脈沖)來聚焦,該內(nèi)部循環(huán)取決于超過一個合適閾值,而該起點也取決于目標(biāo)信號(第一個三聲道的局部最大值和中間值)的特征。而且,4脈沖的組合的探測的最大值被確定在1440(表示8192個組合的17.6%)。
在6.3kbps模式G.723.1編碼器中,不是所有的5(或6)脈沖的組合2×25×C305(或2×26×C306)都被探測。對于每個圖表(chart),算法使用一個著名的“多脈沖”分析來連續(xù)搜索脈沖的位置和振幅。對于ACELP字典,存在用于對所測試組合的數(shù)量加以限制的變量。
但是,上述技術(shù)存在下述問題。
一個多脈沖字典的探測,甚至是一個次優(yōu)的探測,在很多編碼器中都在計算時間的方面構(gòu)成了成本比較大的操作。例如,在6.3kbps模式G.723.1編碼器和8kbps模式G.729編碼器中,搜索的工作量幾乎占了編碼器整個復(fù)雜性的一半。對于NB-AMR編碼器,占有整個復(fù)雜性的1/3。對于TDAC編碼器,占有整個復(fù)雜性的1/4。
很明顯,如果大量的編碼操作在同一個處理單元內(nèi)執(zhí)行,則復(fù)雜性問題會變得嚴(yán)重,例如一個網(wǎng)關(guān)管理許多并行呼叫,或者一個服務(wù)器用于分配很多多媒體內(nèi)容。由于在網(wǎng)絡(luò)上傳輸內(nèi)容的壓縮格式的多樣性,應(yīng)更加強調(diào)復(fù)雜性問題。
為了保證靈活性和連續(xù)性,現(xiàn)代的、改良的多媒體通訊服務(wù)必須可以在一個多變的環(huán)境下予以運行。多媒體通訊部門(sector)的活力以及網(wǎng)絡(luò)、接入點和終端的不同特征,使得壓縮格式過剩,其在通訊系統(tǒng)中的出現(xiàn)使得復(fù)合編碼(multiple coding)不論在串行(編碼轉(zhuǎn)換(transcoding))或并行(復(fù)合格式編碼(multiformat coding)或者復(fù)合模式編碼(multimodecoding))中都成為必要。
下面解釋詞語“編碼轉(zhuǎn)換(transcoding)”的含義。在一個傳播系統(tǒng)中,如果由一個編碼器發(fā)送的一個壓縮信號幀無法繼續(xù)以同樣的格式存在,則編碼轉(zhuǎn)換就是必要的。編碼轉(zhuǎn)換將該幀轉(zhuǎn)換為另一種格式,而該格式與該傳播系統(tǒng)內(nèi)其余部分相兼容。最基本的解決方案(并且也是目前最廣泛使用的)是背對背(back to back)設(shè)置一個解碼器和一個編碼器。具有第一格式的壓縮幀到達后被解壓縮(decompressed)。然后,該等解壓縮信號被以第二格式壓縮,而該第二格式信號可以被傳播系統(tǒng)內(nèi)的其余部分所接受。這樣的一個解碼器和一個編碼器串行連接并稱之為“串接(tandem)”。這樣的解決方案在復(fù)雜性方面是非常浪費的(主要是因為重新編碼),而且降低了質(zhì)量,因為第二次編碼基于一個解碼信號(decoded signal),該解碼信號是原始信號的有損(degraded)版本。而且,一個幀在到達目的地之前可能要經(jīng)歷多個串接(tandem)。計算浪費和質(zhì)量損耗并不難想象。而且,每個串接(tandem)操作之間的延遲也會累積并損害通話的交互。
不僅如此,在一個同樣的內(nèi)容被壓縮成多于一個格式的復(fù)合格式壓縮系統(tǒng)內(nèi),復(fù)雜性也會導(dǎo)致問題。一個根據(jù)不同用戶的接入條件、網(wǎng)絡(luò)和終端來采取眾多格式來廣播同樣內(nèi)容的內(nèi)容服務(wù)商就是這方面的例子。該復(fù)合(multicoding)編碼操作變得特別復(fù)雜,因為所要求的格式的數(shù)量增加,導(dǎo)致系統(tǒng)資源迅速地飽和。
并行復(fù)合編碼的另一個例子是后決策(posterior decision)復(fù)合模式壓縮。大量壓縮模式應(yīng)用于待編碼信號的每個段,其中按照一給定標(biāo)準(zhǔn)最優(yōu)化或者得到最好的比特率/失真度比(trade-off)的模式被選擇。再一次地,每個壓縮模式的復(fù)雜性限制了壓縮模式的數(shù)量和/或?qū)е略诤苌贁?shù)量的模式中的優(yōu)先(priori)選擇。
下面描述那些解決上述問題的在先技術(shù)。
新的多媒體通訊應(yīng)用(例如音頻和視頻應(yīng)用程序)經(jīng)常使得大量的編碼操作不論在串行(編碼轉(zhuǎn)換)或并行(復(fù)合格式編碼或者復(fù)合模式編碼)中都成為必要。盡管當(dāng)前的處理能力已經(jīng)提高,但在所有編碼操作中產(chǎn)生的復(fù)雜性問題的負(fù)擔(dān)仍然需要解決。多數(shù)在先技術(shù)的復(fù)合編碼操作都沒有考慮在格式彼此之間,以及在編碼器E的格式和其內(nèi)容彼此之間的交互影響。不過,一些智能的編碼轉(zhuǎn)換技術(shù)已經(jīng)提出不僅僅滿足于解碼和再編碼,而相反地探測在編碼格式之間的相似性以便在限制質(zhì)量降低的同時降低復(fù)雜性。
下面描述被稱為“智能(intelligent)”編碼轉(zhuǎn)換方法。
在同一個編碼器(CELP、參量(parametric)、波形,等等)家族(family)中的所有編碼器都從信號中提取同樣的物理參數(shù)。不過,在建模和量化這些參數(shù)方面有很大的不同。于是,在一個編碼器和另一個編碼器之間,同樣的參數(shù)可能被以同樣的或者非常不同的方式編碼。
而且,編碼可以嚴(yán)格一致,或者可以在建模和對參數(shù)的計算方面嚴(yán)格一致,但只是在如何將編碼轉(zhuǎn)換為位的形式方面不同。最終,編碼可以在對參數(shù)建模和量化方面完全不同,或者甚至在其分析和對頻率進行抽樣方面完全不同。
如果建模和參數(shù)計算嚴(yán)格一致,包括轉(zhuǎn)化為位格式,其就足以從以第一格式生成的位流(bit stream)中復(fù)制相應(yīng)的位域(bit field)至第二格式的位域中。例如,這樣高度喜人的情形出現(xiàn)在對合適的激勵(excitation)(LTP延遲)從G.729標(biāo)準(zhǔn)向IS-641標(biāo)準(zhǔn)的編碼轉(zhuǎn)換過程中。
對于同一個參數(shù),如果兩個編碼器僅僅在將所計算的參數(shù)轉(zhuǎn)換為位形式方面存在區(qū)別,其足以對第一格式的位域進行解碼然后將其返回給使用第二格式的編碼方法的二進制域(binary domain)。這種轉(zhuǎn)化也可以通過相應(yīng)的一對一表格來完成。例如,這種情形在確定的激勵(fixed excitations)從G.729標(biāo)準(zhǔn)向AMR標(biāo)準(zhǔn)(7.4kbps和7.95kbps模式)編碼轉(zhuǎn)換時出現(xiàn)。
在上述兩種情形中,對參數(shù)的編碼轉(zhuǎn)換仍然停留在位(bit)的級別(level)。簡單的位操作提供了與第二編碼格式相適應(yīng)的參數(shù)。另一方面,如果一個從信號中提取出來的參數(shù)被采用兩種編碼格式不同地建模或量化,則從一個格式向另一個格式轉(zhuǎn)換就不這么容易。已經(jīng)提出幾種方法,這些方法工作在參數(shù)級(level)、激勵級或者被解碼的信號級。
為了在參數(shù)域中進行編碼轉(zhuǎn)換,如果兩種編碼格式以同樣的方式計算參數(shù)并以不同的方式對其量化,則仍然可以停留在參數(shù)級。量化的不同可以與精度或所選擇的方法(標(biāo)量的(scalar)、矢量的(vectorial)、預(yù)示的(predictive)等等)相關(guān)。然后,其足以對參數(shù)解碼并以第二編碼格式進行量化。特別地,該在先技術(shù)的方法被用于編碼轉(zhuǎn)換激勵(excitation)獲得。被解碼的參數(shù)必須經(jīng)常在其被重新量化之前被修改(modified)。例如,如果編碼器有不同的參數(shù)分析頻率或不同的幀/子幀長度。例如,插補可以通過如公開文獻US2003/033142所述的方法完成。另一個修改的選擇是使用第二編碼格式來強行使參數(shù)符合精度的要求。這種情形發(fā)生在用于基礎(chǔ)頻率(音調(diào)(pitch))的高度的大部分情況。
如果不能在參數(shù)域內(nèi)對參數(shù)進行編碼轉(zhuǎn)換,解碼可以在更高的級別進行。不考慮更高級別的信號域,則就應(yīng)在激勵域內(nèi)考慮。該技術(shù)已經(jīng)在文檔“Improving transcoding capability of speech coders in clean and frameerasured channel enviroents”(作者Hong-Goo Kang,Hong Kook Kim,Cox,R.V.Speech Coding,2000,Proceeding,2000,IEEE Workshop on SpeechCoding,第78~80頁)中被提出。
最后,一個最后的解決方案(最復(fù)雜且最不“智能”的),包括編碼器直接重新計算參數(shù),但是基于綜合后的信號。該操作相當(dāng)于一種局部的串接(tandem),只是部分參數(shù)被完全重新計算。這種方法被應(yīng)用于不同的參數(shù),例如確定的激勵(excitation)、在上述IEEE文獻中提到的獲得(gains),或者音調(diào)(pitch)。
對于編碼轉(zhuǎn)換脈沖,盡管幾種技術(shù)都被開發(fā)來快速并低成本地計算上述參數(shù),但今天只有少數(shù)幾個解決方案使用一個智能的方法來計算脈沖相同參數(shù)的一個格式轉(zhuǎn)換為另一種格式。在使用綜合分析的編碼中,智能的脈沖編碼的編碼轉(zhuǎn)換僅僅應(yīng)用在建模是一致的(或接近的)情況下。相反,如果建模是不同的,則部分串接被使用。需要注意的是,為了限制這種操作的復(fù)雜性,已經(jīng)提出探測被解碼信號或者源信號(derived signal),例如目標(biāo)信號的特征。在US-2001/027393文獻中提到,在一個實現(xiàn)MDCT波形編碼器的實施例中,其中描述了一個比特率改變的過程,其可以被認(rèn)為是一個特殊的上述智能的編碼轉(zhuǎn)換的例子。該過程使用第二字典的矢量來對來自于第一字典的矢量重新量化。為了這個目的,其根據(jù)將被量化的矢量是否屬于第二字典來區(qū)別處理兩種情況。如果被量化的矢量屬于新的字典,則建模是一致的,否則應(yīng)用部分編碼方法。
發(fā)明內(nèi)容
與上述在先技術(shù)相區(qū)別,本發(fā)明提出一種多脈沖編碼轉(zhuǎn)換的方法,該方法基于選擇脈沖集合的全集的脈沖位置的組合的一個子集,該脈沖來自于另一個脈沖集合的全集的脈沖位置的組合,該兩個全集的區(qū)別在于其所包括的脈沖數(shù)量以及管理脈沖位置的規(guī)則和/或脈沖振幅。這種形式的編碼轉(zhuǎn)換特別在串行(cascade)(編碼轉(zhuǎn)換)或并行(parrel)(復(fù)合格式編碼或者復(fù)合模式編碼)中對復(fù)合編碼都非常有益。
為了這個目的,本發(fā)明首先提出了在一第一壓縮編解碼器(codec)和一第二壓縮編解碼器(codec)之間編碼轉(zhuǎn)換的一種方法。上述第一和第二編解碼器都是脈沖類型并使用多脈沖字典,在該字典中每個脈沖有一個由相應(yīng)索引標(biāo)識(marked)的位置。
本發(fā)明所述的編碼轉(zhuǎn)換的方法包括如下步驟a)需要時,使編碼參數(shù)在所述第一和第二編解碼器間匹配;b)從第一編解碼器獲得一個所選擇數(shù)量的脈沖位置以及伴生的各個位置索引;c)對每個給定索引的當(dāng)前脈沖位置,形成一組脈沖位置,至少包括當(dāng)前脈沖位置和具有伴生的該給定索引直接向下或直接向上的索引的脈沖位置;d)在步驟c中形成的所述組的并集(union)所組成的一全集內(nèi)選擇至少部分脈沖位置,作為一個被第二編解碼器所接受的脈沖位置的函數(shù);e)將所選擇的脈沖位置發(fā)送至從所發(fā)送的位置進行編碼/解碼的第二編解碼器。
所述選擇步驟d)包括許多脈沖位置,其數(shù)量小于所述第二編解碼器的字典內(nèi)的脈沖位置的總數(shù)。
清楚的是,在步驟e)中,特別是如果上述第二編解碼器是一個編碼器(coder),所選擇的脈沖位置被傳送給那個編碼器來通過僅搜索所傳送的位置來進行編碼。如果上述的第二編解碼器是一個解碼器,則所選擇的脈沖位置被傳送來解碼該位置。
優(yōu)選的,所述步驟b使用由所述第一編解碼器提供位流的部分解碼來確定第一數(shù)量個脈沖位置,該脈沖位置由所述第一編解碼器用于一第一編碼格式。在步驟b中選擇的數(shù)量,優(yōu)選地,與該脈沖位置第一數(shù)量相對應(yīng)。
在一個進一步的實施例中,上述步驟由一個軟件產(chǎn)品執(zhí)行,該產(chǎn)品包括執(zhí)行上述步驟的程序指令。在這點上,本發(fā)明也涉及上述的適于存儲在一個處理單元的存儲器內(nèi)的一種軟件產(chǎn)品,尤其是一個計算機或一個移動終端,或者一個適于與該處理單元的閱讀器相配合的可移除存儲介質(zhì)。
本發(fā)明也涉及一個用于在第一壓縮編解碼器和第二編解碼器間進行編碼轉(zhuǎn)換的裝置,其包括一個用于存儲上述軟件產(chǎn)品的指令的存儲器。
本發(fā)明的其他特征和優(yōu)點在閱讀下述具體描述以及附圖后即更加清楚,其中圖1a是根據(jù)本發(fā)明的在一個“串行(cascade)”配置的情況下的一個編碼轉(zhuǎn)換的圖;圖1b是根據(jù)本發(fā)明的在一個“并行(parallel)”配置的情況下的一個編碼轉(zhuǎn)換的圖;圖2是執(zhí)行不同編碼轉(zhuǎn)換過程的圖;
圖2a是當(dāng)?shù)谝痪幗獯a器E和第二編解碼器S的取樣頻率不同時所使用的適應(yīng)處理的圖;圖2b是圖2a所示過程的一個變化;圖3總結(jié)了本發(fā)明的編碼轉(zhuǎn)換方法的步驟;圖4是兩個編碼器E和S的子幀的圖表,兩個編碼器各自具有不同持續(xù)時間Le以及Ls,其中Le>Ls,但卻具有相同的取樣頻率;圖4b表示圖4的一個實施例,其顯示了與G.723.1編碼器和G.729編碼器相適應(yīng)的時間;圖5是一個顯示第一編碼器E的激勵以第二編碼器S的比率劃分的圖表;圖6顯示了其中一個偽子幀SET’0為空的情形;并且圖7是一個當(dāng)?shù)谝痪幋a器E和第二編碼器S的子幀持續(xù)時間不同時所使用的適應(yīng)處理的圖。
具體實施例方式
首先,需要注意的是,本發(fā)明與使用多脈沖字典對數(shù)字多媒體信號,例如音頻(語音和/或聲音)信號進行建模和編碼有關(guān)。其可以在串行或并行中復(fù)合編碼/解碼的情況或其他系統(tǒng)中通過一個多脈沖表示實現(xiàn)對一個信號的建模,并且其基于屬于第一全集的脈沖的第一集合的知識不得不確定一個第二全集的至少一個脈沖集合。為了簡明起見,僅對從第一全集向另一個全集的轉(zhuǎn)換予以描述,但本發(fā)明可以同樣地應(yīng)用在n(n≥2)個全集的情況。而且,下面僅描述在兩個編碼器間進行編碼轉(zhuǎn)換的情況,但是在一個編碼器和一個解碼器間進行的編碼轉(zhuǎn)換可以沒有任何主要困難的情況下被推出。
因此考慮與兩個編碼系統(tǒng)相對應(yīng)的脈沖集合來對一個信號進行建模的情況。圖1a和1b表示一個在使用第一編碼格式COD1的第一個編碼器E和使用第二編碼格式COD2的第二編碼器S之間的編碼轉(zhuǎn)換器D。所述編碼器E以連續(xù)的被編碼幀的方式向所述編碼轉(zhuǎn)換器D傳送一個被編碼的位流SCE,其包括一部分解碼器模塊10,用來恢復(fù)用于第一編碼格式的脈沖位置的數(shù)量Ne以及這些脈沖的位置Pe。如下面詳細(xì)地顯示,本發(fā)明所述的編碼轉(zhuǎn)換器提取每個脈沖位置Pe的右手鄰域Ved以及左手鄰域Veg,并且在該等鄰域的結(jié)合中選擇將由第二編碼器S識別的脈沖位置。如圖1a和圖1b描述的編碼轉(zhuǎn)換器的模塊11執(zhí)行這些步驟來向所述第二編碼器S傳送位置的選擇(在圖1a和1b中表示為Sj)。特別地清楚的是,從這個選擇Sj組成了一個小于通常被第二編碼器S使用的路徑的子路徑,這是本發(fā)明的優(yōu)點之一。使用這個子路徑,由編碼器S執(zhí)行的編碼當(dāng)然地快速,因為其更嚴(yán)格卻沒有降低編碼質(zhì)量。
在圖1a所描述的實施例中,編碼轉(zhuǎn)換器D進一步包括一個模塊12,至少用來對第一編碼器E傳送的編碼流SCE進行部分解碼。然后,所述模塊12向第二編碼器S提供原始信號S0的一個至少部分解碼版本S’0。然后,所述第二編碼器S傳送一個基于上述版本S’0的編碼位流SCS。
在這樣的配置下,編碼轉(zhuǎn)換器D在第一編碼器E和第二編碼器S之間完成編碼適應(yīng),且由所述第二編碼器S更加快速(因為限制更多)地完成編碼。當(dāng)然,作為這樣的配置的一個可替換的配置,圖1a和圖1b中稱之為S的實體也可以是一個解碼器,而且在這樣的變化下,本發(fā)明的編碼轉(zhuǎn)換器D在一個編碼器E和一個解碼器S之間完成編碼轉(zhuǎn)換,由于由編碼轉(zhuǎn)換器D提供信息,所以該解碼的過程是快速的。很清楚,既然上述過程是可逆的,通??梢岳斫獾氖?,本發(fā)明所述的編碼轉(zhuǎn)換器D可以在一第一編解碼器E和一第二編解碼器S之間工作。
需要注意的是所述編碼器E、編碼轉(zhuǎn)換器D以及編碼器S的設(shè)置可以按照圖1a所示構(gòu)成“串行”配置。在圖1b所示的變化中,這個設(shè)置可以構(gòu)成“并行”配置。在這樣的情況下,兩個編碼器E和S接收原始信號S0并且所述兩個編碼器E和S分別傳送編碼流SCE和SCS。當(dāng)然,這樣,所述第二編碼器S不必再從圖1a中接收版本S’0,而且編碼轉(zhuǎn)換器D的用于至少部分解碼的模塊12也不再是必需的。進一步請注意,如果編碼器E可以提供一個與所述模塊11的輸入相兼容的輸出(脈沖數(shù)量以及脈沖位置),則所述模塊10可以被簡單地忽略。
進一步請注意,所述編碼轉(zhuǎn)換器D可以被配備一個用于存儲用于實現(xiàn)上述步驟的指令的存儲器,以及一個用于執(zhí)行這些指令的處理器。
本發(fā)明按照如下所述予以應(yīng)用。所述第一編碼器E已經(jīng)針對一個給定信號S0(例如原始信號)完成編碼操作。于是,可獲得由所述第一編碼器E選擇的脈沖的位置。該編碼器在編碼過程中確定使用其自身的技術(shù)的這些位置Pe。所述第二編碼器S也必須執(zhí)行其編碼過程。在編碼轉(zhuǎn)換的情況下,所述第二編碼器S僅僅有由所述第一編碼器生成的位流,而且本發(fā)明在此應(yīng)用了上述提及的“智能”編碼轉(zhuǎn)換。在并行復(fù)合編碼的情況下,所述第二編碼器S也擁有所述第一編碼器擁有的信號,而且本發(fā)明在此應(yīng)用了“智能復(fù)合編碼”。一個需要對同樣內(nèi)容以大量不同編碼格式進行編碼的系統(tǒng)可以探測第一格式的信息來簡單地編碼其他格式。本發(fā)明也可以應(yīng)用在由后決策(posteriori decision)復(fù)合模式編碼組成的并行復(fù)合編碼的特定環(huán)境。
本發(fā)明可以被用來根據(jù)第一格式的脈沖的位置pe(以下可交替表示為ei)快速地決定用于另一個編碼格式的脈沖的位置ps(以下可交替表示為si)。其通過限制可能位置的數(shù)量相當(dāng)?shù)亟档土擞糜诘诙幋a器的操作的計算復(fù)雜性。為了這個目的,其使用了由第一編碼器選擇的位置來從第二編碼器的所有可能位置中定義一個受限的位置集合,在其受限集合中用于脈沖的最佳位置集合被搜索。這相對于一個標(biāo)準(zhǔn)窮舉或聚焦搜索(focusedsearch),在限制信號質(zhì)量降低的同時導(dǎo)致復(fù)雜性的顯著增長。
于是,清楚的是,本發(fā)明通過基于第一編碼格式的位置定義了一個限制的位置集合來限制了可能位置的數(shù)量。這區(qū)別于現(xiàn)有解決方案,該等方案僅使用待建模的信號的特征,通過給定優(yōu)選位置和/或消除位置,來限制可能的位置的數(shù)量。
對于一個第一全集(ensemble)的集合的每一個脈沖,可變寬度內(nèi)的兩個鄰域(一個在右側(cè)、一個在左側(cè))以及更多或更少的限制被優(yōu)選地定義,且一個從與所述第二全集的限制相適應(yīng)的脈沖的至少一個組合中提取的可能位置的全集被預(yù)先選擇。
上述編碼轉(zhuǎn)換方法通過使每個脈沖的右手和左手鄰域的脈沖位置的數(shù)量和/或各個尺寸匹配(根據(jù)脈沖位置的組合),具有優(yōu)化復(fù)雜性/質(zhì)量比的優(yōu)點,既在處理的開始,也對每個子幀作為一個經(jīng)審定的復(fù)雜性的函數(shù)和/或起點位置集合。本發(fā)明也通過選擇直接的鄰域來調(diào)整/限制位置組合的數(shù)量。
如上所述,本發(fā)明也涉及上述算法應(yīng)用其中的軟件產(chǎn)品,在其中,該算法特別被設(shè)計來提取用于促進形成所述第二全集的脈沖組合的臨近位置。
如上所述,網(wǎng)絡(luò)和內(nèi)容的不同特征可充分發(fā)揮高度變化的編碼格式。編碼器可以由很多特征區(qū)別,特別是其中的兩個,即取樣頻率以及子幀的持續(xù)時間,其充分決定本發(fā)明的操作模式。通過如下描述適用于這些情況的本發(fā)明的實施例的關(guān)系來說明模式的選擇。
圖2簡要描述了這些情況。其初始地分別獲得由編碼器E和S使用的(步驟21)脈沖位置的數(shù)量Ne,Ns;各自的取樣頻率Fe,F(xiàn)s子幀持續(xù)時間Le,Ls;于是,已經(jīng)清楚,適應(yīng)步驟和恢復(fù)脈沖位置的數(shù)量Ne、Ns的步驟可以被交替執(zhí)行或簡單地同時執(zhí)行。
取樣頻率在判斷22中被比較。如果頻率相等,則子幀持續(xù)時間在判斷23中被比較。如果不同,則在一個如下描述的步驟32中采用合適的取樣頻率。在判斷23之后,如果子幀持續(xù)時間相等,則由所述第一和第二編碼格式所使用的脈沖位置的數(shù)量Ne和Ns,分別地,在判斷24中被比較。如果不同,則也在一個如下描述的步驟33中采用合適的子幀持續(xù)時間。清楚的是,步驟22、23、32和33共同定義了使編碼參數(shù)適應(yīng)的上述步驟a)。需要注意的是,一方面,步驟22和32(使取樣頻率適應(yīng)),另一方面,步驟23和33(使子幀持續(xù)時間適應(yīng)),可以交互執(zhí)行。
下面,首先描述取樣頻率相等和子幀持續(xù)時間相等的情況。
這是最好的情況,但其中不必要根據(jù)上述判斷24的結(jié)果來區(qū)分第一格式所使用的脈沖多于第二格式(Ne≥Ns)的情況以及相反的情況(Ne<Ns)。
*在圖2中Ne≥Ns。
具體原則如下所述。兩個編碼器E和S的路徑,分別地,在每個子幀中使用Ne和Ns個脈沖。
編碼器E在子幀Se之上計算其Ne脈沖的位置。這些位置在下面可交替地表示為ei和pe。對于編碼器S的路徑的脈沖的特別的位置的受限全集Ps由Ne位置ei和其鄰域組成Ps=∪i=0Ne-1{∪k=-vgivdi{ei+k}}]]>其中,vdi和vgi,是脈沖i的右手和左手鄰域的尺寸,且均≥0。在圖2的步驟27中被選擇的vdi和vgi的值根據(jù)復(fù)雜性和質(zhì)量的需要而相應(yīng)地更大或更小。這些尺寸可以在處理的開始被任意地確定或者對于每個子幀se選擇。
在圖2的步驟29中,全集Ps包括每個位置ei以及其右手鄰域vdi以及其左手鄰域vgi。
然后,有必要對于編碼器S的路徑中的每個Ns脈沖定義位置,該脈沖被審定認(rèn)為處于Ps具有的這些位置之中。
為了這個目的,引入了用于管理S路徑設(shè)置的規(guī)則。假設(shè)S的Ns脈沖屬于位置的預(yù)定義的子集,一個給定數(shù)量的脈沖分享被審定的位置的相同子集。例如,12.2kbps模式3GPP NB-AMR編碼器的10個脈沖被兩兩分割為5個不同的子集,如上述表3所示。N’s表示不同位置的子集的數(shù)量(在這個例子中由于N′s=5,所以N′s ≤Ns)并且Tj(j=1至N′s)表示定義S的路徑的位置的子集。
從全集Ps開始,Ps與全集Tj的其中一個相交獲得的N′s個子集Sj通過等式Sj=Ps∩Tj,按照圖2的步驟30形成。
鄰域vdi和vgi必須具有足夠大的尺寸以便上述交集不為空。因此有必要對鄰域的尺寸進行校正,如果需要的話,作為脈沖的開始集合的函數(shù)。這是圖2中的判斷步驟34的目的,隨著鄰域的尺寸有所增加(步驟35)返回到步驟c)中形成的組的結(jié)合Ps的定義(圖2中的步驟29),如果其中的一個交集是空的。另一方面,如果沒有交集Sj是空的,則其是由被發(fā)送至編碼器S(最后步驟31)的這些交集Sj構(gòu)成的子路徑。
本發(fā)明還探測路徑的結(jié)構(gòu)。例如,如果編碼器S的路徑是ACELP類型的,則其是具有被計算的Ps的聲道的位置的交集。如果編碼器E的路徑也是ACELP類型的,鄰域提取過程也探測聲道結(jié)構(gòu),且提取鄰域和組成位置的受限子集的步驟被明智地組合起來。特別地,對于鄰域提取算法而言,考慮根據(jù)第二全集的限制來組合脈沖是有益的。如稍后將提到的,鄰域提取算法被提出來促使根據(jù)第二全集的脈沖組合。稍后介紹的實施例之一(從具有2個脈沖的ACELP到具有4個脈沖的ACELP)是這種算法的一個例子。
位置的可能組合的數(shù)量是很小的,而且編碼器S的路徑的子集的尺寸通常遠(yuǎn)小于原始路徑的尺寸,其大大降低了編碼轉(zhuǎn)換的倒數(shù)第二個步驟的復(fù)雜性。脈沖位置的組合的數(shù)量定義前述子集的尺寸。是本發(fā)明減少的脈沖位置的數(shù)量,導(dǎo)致脈沖位置的組合的數(shù)量的減少并且使得獲得一個受限尺寸的子路徑成為可能。
然后,圖3的步驟46包括加載在受限尺寸的子集中搜索Ns個脈沖的位置的最好集合。該選擇的標(biāo)準(zhǔn)與編碼過程的標(biāo)準(zhǔn)相類似。為了進一步降低復(fù)雜性,使用前述提到的聚焦技術(shù)的在先技術(shù)該子路徑的探測可以被加速。
圖3簡要描述了在編碼器E使用至少與編碼器S相同脈沖的情況下的本發(fā)明步驟。但是,正如在圖2中已經(jīng)指出的,如果第二格式(S的格式)的位置的數(shù)量Ns大于第一格式(E的格式)的位置的數(shù)量Ne,則該過程僅在一些有益的變量上不同,如后所述。
概括地,圖3的步驟如下簡要地描述。在步驟a)中采用了合適的編碼參數(shù)(僅在需要時存在并且以虛線表示為圖3中的塊41)之后恢復(fù)編碼器E的脈沖的位置ei,并且優(yōu)選地恢復(fù)數(shù)量Ne個位置(步驟42與上述步驟b)相對應(yīng));提取鄰域并且根據(jù)所述等式形成鄰域的組(與上述步驟c)相對應(yīng)的步驟43);Ps=∪i=0Ne-1{∪k=-vgivdi{ei+k}}]]>組成位置的受限子集{Sj=Ps∩Tj},該等位置形成上述步驟d)的選擇且對應(yīng)于如圖3表示的步驟44;且轉(zhuǎn)發(fā)對編碼器S的選擇(步驟45與上述步驟e)相對應(yīng))。在步驟45后,編碼器S在從步驟44中取得的受限路徑中選擇一個位置集合。
接下來的一個步驟46,搜索由編碼器S接收到的子路徑以查找包括位置的第二數(shù)量Ns個位置的最佳位置的集合,如上所述。為了加速該子路徑的探測,搜索最合適的的位置集合的步驟46優(yōu)選地由一個聚焦搜索來實現(xiàn)。隨后的處理很自然地借助由第二編碼器的編碼進行。
下面描述在由第一編碼格式所使用的脈沖數(shù)量Ne低于由第二編碼格式所使用的脈沖數(shù)量Ns的情況下的處理形式。
*在圖2中Ne<Ns如果S格式使用了多于E格式的脈沖,則處理過程與上面描述的類似。但是,S的格式的脈沖可能在受限路徑內(nèi)并沒有位置。在這樣的情況下,在第一實施例中,所有可能的位置為了這些脈沖而被審定。在一個第二優(yōu)選實施例中,鄰域的尺寸v’d和v’g在圖2的步驟28中被簡單地增加。
*在圖2中Ne<Ns<2Ne一個特殊的情況必須在此強調(diào)。如果Ne與Ns接近,典型地如果Ne<Ns<2Ne,則可以采取一個確定所述位置的優(yōu)選方式,盡管上述處理方式仍然被全部應(yīng)用。在E的位置的基礎(chǔ)上直接確定S的脈沖的位置可以使得復(fù)雜性進一步被降低。S的Ne個第一脈沖被置于E的脈沖的位置。剩余的Ns-Ne個脈沖被盡量地置于第一Ne個脈沖附近(在他們的直接鄰域中)。然后在圖2中的步驟25進行判斷,數(shù)量Ne和Ns是否接近(Ne>Ns),如果接近,則步驟26中對脈沖位置的選擇如上所述。
當(dāng)然,不論Ne<Ns和Ne<Ns<2Ne的哪種情況,盡管已經(jīng)進行了提防,但如果其中一個交集Sj仍然為空,則鄰域的尺寸V+g、V+d將在步驟35中被增加,就如Ne≥Ns的情況。
最后,在全部情況中,如果沒有交集Sj為空,則由交集Sj形成的子路徑被轉(zhuǎn)發(fā)給所述第二編碼器S(步驟31)。
如果第一編碼格式和第二編碼格式的編碼參數(shù)不同,尤其是取樣頻率和子幀持續(xù)時間不同,則使用于適應(yīng)步驟a)的處理方式如下描述。
區(qū)分下述情況*子幀持續(xù)時間相同但取樣頻率不同這種情況對應(yīng)于圖2中判斷步驟22的結(jié)果為否定以及判斷步驟23的結(jié)果為肯定。適應(yīng)步驟a)就被應(yīng)用于圖2的步驟32。
之前的處理不能直接應(yīng)用于此,因為兩個格式?jīng)]有相同的時分(timesubdivision)。由于取樣頻率不同,兩個幀在相同的持續(xù)時間內(nèi)沒有同樣的取樣數(shù)量。
一個串接(tandem)的處理方式是在確定編碼器S的格式的脈沖位置時不考慮編碼器E的格式的脈沖位置,與該處理方式不同,本發(fā)明提出兩個由兩個不同的實施例組成的處理方式。他們通過在兩種格式的位置間建立一種關(guān)系來限制復(fù)雜性,然后轉(zhuǎn)回上述的處理方式繼續(xù)處理(就如同取樣頻率相等一樣)。
第一個實施例的處理方式采取根據(jù)第二格式的時間范圍直接對第一格式的時間范圍進行量化。該量化操作,其可以通過制表或通過一個公式計算,對于第一格式的子幀的每個位置在所述第二格式的子幀內(nèi)尋找等價的位置,或者反之亦然。
例如,在兩個格式的子幀的位置Pe和Ps之間的關(guān)系可以通過如下等式定義 其中,F(xiàn)e和Fs分別是E和S的取樣頻率。
Le和Ls是他們的子幀長度,并且表示取整。
基于處理單元的特征,所述關(guān)系可以使用上述公式或者進一步針對Le的值制表。一個中間解也可以通過對僅僅第一個Le的值(le=Led,]]>d是Le和Ls的最大公因子)制表而選擇,其余的位置就可以比較容易地得出。
需要注意的是,也可以得出與E的子幀的位置相對應(yīng)的S的子幀的大量位置。例如,保留直接向下和直接向上的位置 如上描述的通用處理過程從與位置Pe相對應(yīng)的位置Ps的全集開始應(yīng)用(提取鄰域、組合脈沖組合、選擇優(yōu)選組合)。
如下表5a和5b描述了子幀持續(xù)時間相等而取樣頻率不等的情況,并以3GPP NB-AMR類型的編碼器E的一個實施例以及WB-AMR類型的編碼器S予以闡述。所述NB-AMR編碼器具有一個40個樣本的子幀,取樣頻率為8khz。所述WB-AMR編碼器采用每子幀64個樣本,取樣頻率為12.8khz。在兩種情況下,子幀持續(xù)時間都是5毫秒(ms)。表5a給出了NB-AMR子幀與WB-AMR子幀的位置的對應(yīng)關(guān)系,表5b給出了轉(zhuǎn)換關(guān)系。
表5c和5d是受限的對應(yīng)關(guān)系表。
表5aNB-AMR對WB-AMR的時間對應(yīng)關(guān)系表
表5bWB-AMR對NB-AMR的時間對應(yīng)關(guān)系表
表5cNB-AMR與WB-AMR受限時間對應(yīng)表
表5dWB-AMR與NB-AMR受限時間對應(yīng)表簡單地講,應(yīng)用了下述步驟(參考圖2a)a1)直接時間范圍(timescale)從第一個頻率量化為第二頻率(圖2a中步驟51);a2)作為上述量化的函數(shù),從具有由第一取樣頻率標(biāo)識的第一編碼格式的子幀中的一個脈沖位置確定具有由第二取樣頻率標(biāo)識的第二編碼格式的子幀中的每個脈沖位置(圖2a中步驟52)。
通常,上述量化步驟a1)通過由一函數(shù)計算和/或制表來完成,該函數(shù)使一個具有第二編碼格式的子幀中的一個脈沖位置ps對應(yīng)于具有第一編碼格式的子幀中的一個脈沖位置pe,確切地講,該函數(shù)采用一個包括一乘數(shù)系數(shù)的線性組合的方式,該系數(shù)對應(yīng)于第二取樣頻率與第一取樣頻率的比率。
而且,為了實現(xiàn)從具有第二編碼格式的子幀中的一個脈沖位置ps向具有第一編碼格式的子幀中的一個脈沖位置pe的相反方向進行,當(dāng)然地將上述線性組合的反轉(zhuǎn)函數(shù)應(yīng)用于具有第二編碼格式ps的一子幀內(nèi)的一脈沖位置。
清楚地,上述編碼轉(zhuǎn)換過程是完全可逆的,并可以同等地適用于從一個編碼轉(zhuǎn)換方向(E→S)以及相反的方向(S→E)。
取樣頻率適應(yīng)的第二實施例采用了對取樣頻率原則的傳統(tǒng)改變。從包含由第一格式發(fā)現(xiàn)的脈沖的子幀開始,過度取樣被應(yīng)用于與兩個取樣頻率Fe和Fs的最小公倍數(shù)相等的頻率。然后,在低通過率過濾后,不足取樣被應(yīng)用來回復(fù)第二格式的取樣頻率,也就是說Fs。于是在頻率Fs獲得一個包含從E中過濾后的脈沖的子幀。再一次地,過度取樣/LP過濾/不足取樣操作的結(jié)果可以對E的一個子幀的每個可能的位置制表。該過程也可以通過“在線”計算來完成。在取樣頻率適應(yīng)的第一個實施例中,S的一個或更多位置可以與E的位置相關(guān)聯(lián),如下所述,以及根據(jù)上面所述的本發(fā)明應(yīng)用的通常的過程。
如在圖2b中描述的變化,應(yīng)用了下述步驟a′1)對具有由第一取樣頻率標(biāo)識的第一編碼格式的子幀在一個等于第一和第二取樣頻率的最小公倍數(shù)的頻率Fpcm過度取樣(圖2b中步驟53);并且a′2)對過度取樣的子幀應(yīng)用低通過率過濾(圖2b中步驟54),然后再由不足取樣獲得一個與第二取樣頻率相對應(yīng)的取樣頻率(圖2b中步驟55)。
上述過程繼續(xù)執(zhí)行,優(yōu)選地通過一個閾值方法,從E的脈沖中合適地選取并獲得一些位置,可能是一些數(shù)量變化的位置(步驟56),如上述第一個實施例所述。
*取樣頻率相同但子幀持續(xù)時間不同在取樣頻率相同但子幀持續(xù)時間不同的情況下該過程被執(zhí)行,如下所述。這種情況對應(yīng)于圖2中判斷步驟23的結(jié)果為否定,但判斷步驟22的結(jié)果為“o”。適應(yīng)步驟a)就被應(yīng)用于圖2的步驟33。
在上述的情況下,鄰域提取步驟不能被直接應(yīng)用。首先需要使得兩個子幀相適應(yīng)。這里的子幀的尺寸不同。對于這樣的不同,與所述串接(tandem)所進行的計算脈沖位置的處理不同的是,一個優(yōu)選的實施例提供了一種低復(fù)雜性的解決方案,其從第一格式的脈沖位置對第二格式的脈沖確定一個位置組合的受限路徑。但是,S的子幀和E的子幀并不是同樣的尺寸,不能在S的子幀和E的子幀之間建立一個直接的、臨時的對應(yīng)。如圖4所示(其中E和S的子幀分別被指定為STE和STS),兩種格式的子幀的分界線并不對準(zhǔn)(aligned),并且隨著時間變動兩個子幀相互移動(shift)。
在一個優(yōu)選的實施例中,提出將E的激勵分割為偽子幀,其尺寸為S的尺寸并以S的時間比率(timing rate)為基準(zhǔn)。在圖5中該偽子幀被表示為STE′。在實踐中,這相當(dāng)于,考慮子幀尺寸的差異,相對于E和S的一共同原點來對準(zhǔn)其位置,在兩個格式之間建立一個臨時的對應(yīng)。下面將詳細(xì)地描述如何確定兩者的共同原點(common origin)。
相對于那個原點(origin),第一格式(對應(yīng)地,第二格式)的一個位置p0e(對應(yīng)地,p0s)與相對于那個子幀的E(對應(yīng)地,S)的子幀ie(對應(yīng)地,js)的位置pe(對應(yīng)地,ps)相一致。于是p0e=pe+ieLeand p0=ps+jsLswith 0≤pe<Leand 0≤ps<Ls對于E的格式的子幀ie的一個位置pe,存在對應(yīng)的S的格式的子幀js的位置ps,ps和js分別是相對于E和S的一共同原點O的pe的位置p0e被Ls進行歐幾里得除法得到的余數(shù)和商 且有0≤pe<Leand 0≤ps<Ls其中,表示取整,≡表示取模,E(對應(yīng)地,S)的子幀的索引相對于共同原點O給定。
因此,在一個子幀js的位置pe被用來通過上述描述的通用過程對子幀js內(nèi)的S的脈沖確定位置的一個受限全集。但是,如果Le>Ls,則S的子幀可能不包括任何脈沖。在圖6所示的例子中,子幀STE0的脈沖用垂直線表示。E的格式可以在該子幀的末尾高度集中子幀STE0,而在這種情況下,偽子幀STE’0不包含任何脈沖?;诔?,所有由E設(shè)置的脈沖都在STE’1中被發(fā)現(xiàn)。在這樣的例子中,優(yōu)選地,一個傳統(tǒng)的聚焦搜索被應(yīng)用于所述偽子幀STE’0。
用于確定兩個格式的共同的時間原點的優(yōu)選實施例將在下面描述。該共同的參照(reference)構(gòu)成所述位置(數(shù)量0),從該位置起脈沖的位置在隨后的子幀內(nèi)被編號。該位置0可以根據(jù)實現(xiàn)本發(fā)明的編碼轉(zhuǎn)換方法的系統(tǒng),通過多種方式定義。例如,對于一個包括在一個傳播系統(tǒng)設(shè)備內(nèi)的編碼轉(zhuǎn)換模塊,其將自然地取該設(shè)備啟動后所收到的第一個幀的第一個位置作為原點。
但是,上述選擇的缺點是這些位置占用了大量的值,有必要對其作出限制。為了這個目的,一旦可能,其足以更新共同原點的位置。因此,如果E和S的子幀的各自的長度Le和Ls對于時間是不變的,則共同原點的位置在每次E和S的子幀分界線對準(zhǔn)的情況下都被重置。這周期性地發(fā)生,(在樣本中表示的)該周期與Le和Ls的最小公倍數(shù)相等。
這種情形在Le和/或Ls不是恒量時也可以考慮。在當(dāng)前表示為Le(n)和Ls(n)時,n表示子幀號,已經(jīng)不再可能找到兩個子幀長度的倍數(shù)。在這樣的情況下,有必要對Le(n)和Ls(n)分別求和,并對在每個子幀中獲得的兩個和進行比較Te(k)=Σn=1kLe(n)andTs(k′)=Σn=1k′Ls(n)]]>每次Te(k)=Ts(k’)時,共同原點被更新(并取在k×Le或k’×Ls的位置)。兩個和Te和Ts被優(yōu)選地重置。
簡單地講,更加通常地,調(diào)用第一(對應(yīng)地,第二)編碼格式的第一(對應(yīng)地,第二)子幀持續(xù)時間,當(dāng)子幀持續(xù)時間不同時被執(zhí)行的適應(yīng)步驟在圖7中描述,并且優(yōu)選地如下a20)對具有第一和第二格式的子幀定義一個共同原點(步驟70);a21)將具有由第一子幀持續(xù)時間標(biāo)識的第一編碼格式的連續(xù)的子幀劃分為持續(xù)時間L’e的偽子幀,持續(xù)時間L’e與第二子幀持續(xù)時間相對應(yīng)(步驟71);a22)更新共同原點O(步驟79);a23)在偽子幀p’e內(nèi)和在具有第二格式的子幀內(nèi)的脈沖位置之間確定對應(yīng)(步驟80)。
為了確定共同原點O,優(yōu)選地,在圖7的判斷步驟72中區(qū)別下述情況第一和第二持續(xù)時間是確定的(從判斷72中得到“o”);第一和第二持續(xù)時間是變化的(從判斷72中得到“n”)。
在前一個情況中,當(dāng)每次第一持續(xù)時間St(Le)和第二持續(xù)時間St(Ls)的分界線對準(zhǔn)時(判斷73應(yīng)用于這些分界線),共同原點的時間位置周期性地被更新(步驟74)。
在第二種情況下,其優(yōu)選的,如果a221)具有第一格式Te(k)的子幀的總和與具有第二格式Ts(k’)的子幀的總和各自連續(xù)完成(步驟76);a222)上述兩個總和是否相等被檢測,定義一個時間來更新所述共同原點(判斷77);a223)在上述是否相等被檢測后,為了將來對下一個共同原點進行檢測,上述兩個總和被重置(步驟78)。
現(xiàn)在,在子幀持續(xù)時間和取樣頻率不同的情況下,其足以明智地組合在上述兩種情況中描述的E和S的位置間對應(yīng)的算法。
*實施例下面描述根據(jù)本發(fā)明的編碼轉(zhuǎn)換的3個實施例。這些實施例描述了使用綜合分析的標(biāo)準(zhǔn)語音編碼器內(nèi),在所提供的上述情況下的處理的應(yīng)用。前兩個實施例描述了取樣頻率和子幀持續(xù)時間相同的情況。最后一個實施例描述了子幀持續(xù)時間不同的情況。
*實施例1第一個實施例應(yīng)用于具有4脈沖的6.3kbps模式G.723.1 MP-MLQ模型和5.3kbps模式G.723.1 ACELP模型之間的智能的編碼轉(zhuǎn)換。
從G.723.1的高比特率向低比特率的智能編碼轉(zhuǎn)換使用一個具有6個或5個脈沖MP-MLQ模型,這些脈沖具有4脈沖的ACELP模型。這里所描述的實施例從MP-MLQ脈沖位置確定4個ACELP脈沖位置。
如下簡要描述G.723.1編碼器的操作。
ITU-T G.723.1多比特率編碼器和其多脈沖字典已經(jīng)在上面予以說明。足以說明一個包含8khz的240樣本的G.723.1幀,并且被分割為4個每個具有60個樣本的子幀。相同的限制被應(yīng)用在3個多脈沖字典中任一個的任何碼矢量的脈沖位置。這些位置必須都有同樣的奇偶性(他們必須都是偶數(shù)或都是奇數(shù))。60(+4)位置的子幀被分割為兩個網(wǎng)格(grid),每個網(wǎng)格有32個位置。偶數(shù)格包括編號為
的位置。奇數(shù)格包括[1、3、5、……、59(61、63)]的位置。對于每個比特率,盡管不是窮舉的,但路徑的探測仍然很復(fù)雜,如上所述。
下面描述從6.3kbps模式G.723.1MP-MLQ路徑的一個元素中選擇5.3kbps模式G.723.1 ACELP路徑的子集。
我們的目的是通過從5.3kbps模式G.723.1 ACELP路徑中的一個元素來對一個子幀的改良信號進行建模,已知在第一編碼操作中確定的6.3kbps模式MP-MLQ G.723.1路徑的元素。被6.3kbps模式G.723.1編碼器選擇的脈沖的Ne個位置(Ne=5或6)就可用。
例如,可以假設(shè)對于一個子幀,其激勵被Ne=5脈沖所建模,從6.3kbps模式G.723.1編碼器的位流中提取的位置如下e0=0;e1=8;e2=28;e3=38;e4=46;記住,在此不需要取樣頻率或持續(xù)時間的適應(yīng)。在這一步恢復(fù)位置ei后,一個連續(xù)步驟包括直接從這5個脈沖中提取右手和左手鄰域。所述右手和左手鄰域被取為等于2。所選擇的位置的全集ps是Ps={-2,-1,0,1,2}∪{6,7,8,9,10}∪{26,27,28,29,30}∪{36,37,38,39,40}∪{44,45,46,47,48}
第三步驟包括通過取具有所述路徑審定的偶數(shù)(對應(yīng)地,奇數(shù))聲道的位置的4個全集的ps的Ns=4的交集(如表1所表示),對5.3kbps模式G.723.1編碼器的ACELP路徑的每個脈沖(在此為一個聲道)組成可能位置的受限全集。
對偶數(shù)對S0=Ps∩{0,8,16,…,56};S1=Ps∩{2,10,18,…,58};S2=Ps∩{4,12,20,…,52,(60)};S3=Ps∩{6,,14,22,…,54,(62)};由此S0={0,8,40,48};S1={2,10,26,};S2={28,36,44};S3={6,30,38,46};對奇數(shù)對S0=Ps∩{1,9,,…,57};S1=Ps∩{3,11,…,59};S2=Ps∩{5,13,…,53,(61)};S3=Ps∩{7,,15,…,55,(63)};由此S0={1,9};S1={27};S2={29,37,45};S3={7,39,47};這些被選擇的位置的組合構(gòu)成了新的受限路徑,在其中所述搜索將被完成。對于這個步驟,選擇優(yōu)選位置的集合的過程時基于CELP標(biāo)準(zhǔn),如在5.3kbps模式G.723.1編碼器中。所述探測可以是窮舉的,但優(yōu)選的是聚焦。
在所述受限路徑內(nèi)的位置的組合的數(shù)量等于180(=4*3*3*4+2*1*3*3),而不是8192(=2*8*8*8*8)個5.3kbps模式G.723.1編碼器的ACELP路徑的位置的組合。
在僅僅考慮為6.3kbps模式選擇奇偶性的情況下,上述組合的數(shù)量可以進一步被減小(在本例子中,其是偶數(shù))。在這樣的例子中,在受限路徑內(nèi)的組合的數(shù)量等于144。
取決于有關(guān)的鄰域的尺寸,對于4個脈沖之一,全集ps可能不包含對于ACELP模型的一個聲道的任何位置(當(dāng)全集si之一為空的情況)。因此,對于尺寸為2的鄰域,當(dāng)Ne脈沖的位置都在同一個聲道上,ps僅僅包含那個聲道和臨近聲道的位置。在這樣的例子中,取決于所需要的質(zhì)量/復(fù)雜性比,其可以要么用Ti替換全集Si(相當(dāng)于沒有限制那個聲道的位置的全集),要么增加脈沖的右手(或左手)鄰域。例如,如果6.3kbps模式編碼器的所有脈沖都在聲道2上,右手和左手鄰域等于2,則不論奇偶性,聲道0將沒有任何位置。然后就足以將左手和/或右手鄰域的尺寸加2來向那個聲道0賦予位置。
為了描述這個實施例,請考慮下述例子e0=4;e1=12;e2=20;e3=36;e4=52;所選擇的位置的全集Ps如下Ps={2,3,4,5,6}∪{10,11,12,13,14}∪{18,19,20,21,22}∪{34,35,36,37,38}∪{50,51,52,53,54}假設(shè)希望保持同樣的奇偶性,對于4脈沖的這些位置的初始分割如下S0=空集;S1={2、10、18、34、50};S2={4、12、20、36、52};S3={6、14、22、38、54};通過對脈沖的左手鄰域加2,我們得到S0={0、8、16、32、48};S1={2、10、18、34、50};S2={4、12、20、36、52};S3={6、14、22、38、54};(因此,在此S0≠空集)*實施例2接下來的第二個實施例描述了本發(fā)明在具有同樣長度的ACELP模型之間進行智能編碼轉(zhuǎn)換的應(yīng)用。特別地,該第二個實施例是應(yīng)用于在具有4個8kbps模式G.729的脈沖的ACELP模型和具有2個6.4kbps模式G.729脈沖的ACELP模型之間的智能編碼轉(zhuǎn)換。
在G.729編碼器的6.4kbps模式和8kbps模式之間進行明智的編碼轉(zhuǎn)換使用了一個具有2脈沖的一個ACELP路徑和一個具有4脈沖的第二ACELP路徑。在此描述的實施例從2脈沖(6.4kbps模式)的位置決定4脈沖(8kbps模式)的位置,同時也可以進行相反操作。
簡要地描述ITU-T G.729解碼器的運行。該解碼器可以在3個比特率運行6.4、8、11.8kbps。在此考慮前兩個比特率。一個G.729幀包括8khz的80個樣本,并且被分割為每個具有40個樣本的2個子幀。對于每個子幀,G.729通過符合ACELP模型的脈沖對改良信號進行建模。其對于8kbps模式使用4脈沖,對6.4kbps模式使用2脈沖。上述的表2和表4給出了脈沖可以對這兩個比特率所采用的位置。在6.4kps,一個對所有(512)位置的組合的窮舉搜索被完成。在8kbps模式,優(yōu)選地使用一個聚焦搜索。
本發(fā)明的通常過程在此再次被使用。但是,兩個路徑的共同的ACELP結(jié)構(gòu)在此被探測。在位置的集合之間建立對應(yīng),探測一個分割,該分割將40個樣本的子幀分割為每個具有8個位置的5個聲道,如下表6所示
表6在G.729ACELP字典中的將位置分為5個聲道的分割。
在所述的兩個路徑中,脈沖的位置分享這些聲道,如下表7所示。
所有的脈沖被他們的聲道以及其在聲道內(nèi)的排列所標(biāo)識。8kbps模式在第一個3個聲道的每一個中設(shè)置脈沖并且最后一個脈沖設(shè)置于最后兩個聲道中的一個。6.4kbps模式設(shè)置其第一個脈沖于聲道P1或P3,并且設(shè)置其第二個聲道于聲道P0、P1、P2或P4。
表78kbps和6.4kbps模式的G.729 ACELP字典的脈沖分為5個聲道的分布。
該實施例交叉探測聲道(ISSP結(jié)構(gòu))來促使提取鄰域并形成位置的受限的次全集。因此,為了從一個聲道移動到另一個聲道,其足以向左或向右移動一個單元。例如,在聲道2的第5個位置(絕對位置22),向右移動一個單元(+1)移到聲道3的第5個位置(絕對位置23),而向左移動一個單元(-1)移到聲道1的第5個位置(絕對位置21)。
更通常地,±d單位的位置移動在此反映如下效果。
在聲道pi的級別(level)右手鄰域PiP(i+d)≡5左手鄰域PiP(i-d)≡5在聲道的排列的級別*右手鄰域如果(I+d)≤4mimi如果不是mimi+1*左手鄰域如果(I-d)≥0mimi如果不是mimi-1下面描述從6.4kbps模式G.729編碼器的具有2脈沖的一個ACELP路徑的一個元素選擇8kbps模式G.729編碼器的具有4脈沖的ACELP路徑的次全集(subensemble)。
考慮一個6.4kbps模式G.729子幀。由編碼器設(shè)置2個脈沖,但需要確定6.4kbps模式G.729必須設(shè)置的其他脈沖的位置。為了從根本上限制復(fù)雜性,每個脈沖只有一個位置被選擇并且只有一個位置組合被保留。其優(yōu)點是選擇步驟是迅速的。8kbps模式G.729的4個脈沖中的2個被選擇于6.4kbps模式的同樣的位置,此后,剩余2個脈沖被放置于前兩個的直接鄰域。如上所述,聲道結(jié)構(gòu)被探測。在通過對兩個位置的二進制索引(9位)解碼恢復(fù)兩個位置的第一步驟中,相應(yīng)的兩個聲道也被確定。從這兩個聲道(其可以相同),然后,最后三個提取鄰域、組成受限次全集并選擇脈沖的一個組合的步驟被聯(lián)合。根據(jù)包含2個6.4kbps模式脈沖的聲道Pi(i=0至4),可以區(qū)分不同的情況。
6.4kbps模式脈沖的位置表示為ek,并且8kbps模式的脈沖的位置表示為sk。下表8給出了在每種情況中所選擇的位置。標(biāo)記為“pj+d=pi”的列提供了處于聲道級別和在聲道Pi結(jié)束的鄰域。在聲道Pi級別*對右手鄰域PiP(i+d)≡5;*對左手鄰域PiP(i-d)≡5。
表8從6.4kbps模式G.729 ACELP路徑的2個脈沖選擇8kbps模式G.729受限路徑。
我們的目標(biāo)是,優(yōu)選地,平衡相對于2個起始位置的4個位置的分布,盡管可以作出不同的選擇。4種情況被提出(表8內(nèi)的括號內(nèi)的指數(shù)來指示)來解決邊緣效應(yīng)問題情況(1)如果e1=0,不能取s3=e1-1,所以選擇s3=e0+2;情況(2)如果e1=39,不能取s0=e1+1,所以選擇s0=e0-1;情況(3)如果e1=38,不能取s0=e0+2,所以選擇s0=e1-2;情況(4)如果e1=39,不能取s0=e1+1,所以選擇s0=e0-3。
為了進一步降低復(fù)雜性,每個脈沖sk的信號可以取與由其導(dǎo)出的脈沖ej相等的值。
下面描述從具有4脈沖的8kbps模式G.729 ACELP路徑的一個元素選擇具有2脈沖的6.4kbps模式G.729 ACELP路徑的一個次全集。
對于一個8kbps模式G.729子幀,第一步驟是恢復(fù)由8kbps模式生成的4個脈沖的位置。對這些4位置的二進制索引(13位)進行解碼產(chǎn)生了對于第一3個位置(聲道0至2)的在其各自聲道內(nèi)的排列,以及4脈沖的聲道(3或4)以及在該聲道內(nèi)的排列。每個位置ei(0≤i<4)由一對(Pi,mi)所標(biāo)識,其中pi是其聲道的索引而mi是在該聲道內(nèi)的排列。我們有ei=5mi+pi且,對于I<3且p3=3或4,0≤mi<8且Pi=i如同已經(jīng)闡述的,鄰域的提取和受限次全集組成被組合并且利用兩個路徑的共同ISSP結(jié)構(gòu)。具有5個聲道pj的4個位置的鄰域的全集ps的5個交集T’j,通過利用由隔行掃描聲道所感應(yīng)產(chǎn)生的臨近位置的特征而構(gòu)建T’j=ps∩pj因此,如果p<4,則脈沖(p,m)的+1(對應(yīng)地,-1)的一個右手(對應(yīng)地,左手)鄰域?qū)儆赥’p+1(相應(yīng)地,如果p>0,則屬于T’p-1),如果不是(p=4)則在m<7(對應(yīng)地,則在m>0的情況下屬于T’4(I=0))的情況下屬于T’0。對于屬于第4個聲道的第4個脈沖的位置,對右手鄰域(對應(yīng)地,對于第一個聲道的一個位置的左手鄰域)的限制保證臨近位置不在子幀之外。
因此,使用模5的符號(≡5),脈沖(p,m)的+1(對應(yīng)地,-1)的一個右手(對應(yīng)地,左手)鄰域?qū)儆赥’(p+1)≡5(對應(yīng)地,T’(p-1)≡5)。需要注意的是,有必要考慮邊緣效應(yīng)。概括到一個鄰域的尺寸d,脈沖(p,m)的+d(對應(yīng)地,-d的左手鄰域)的一個右手鄰域?qū)儆赥’(p+d)≡5(對應(yīng)地,T’(p-d)≡5)。如果p+d≤4(或者p-d≥0),則±d的鄰域的排列等于m,否則對于一個右手鄰域增加排列m,對于一個左手鄰域減小排列m??紤]邊緣效應(yīng)相當(dāng)于保證如果p+d>4則m<7,以及如果p-d<0,則m>0。
從在所述5個聲道內(nèi)的鄰域的分布開始,確定兩個脈沖的位置的次全集S0和S1是非常簡單的事情S0=T′1∪T′3and S1=T′0∪T′1∪T′2∪T′4第4個和最后一個步驟包括在所獲得的兩個次全集種搜索最優(yōu)的配對。所述搜索算法(類似于利用聲道結(jié)構(gòu)的標(biāo)準(zhǔn)算法)和脈沖的聲道對聲道存儲再一次簡化了搜索算法。在實施例中,因為全集T’j可以單獨使用,所以沒有直接構(gòu)建受限次全集S0和S1的應(yīng)用。
在下述的例子中,4個8kbps模式G.729脈沖被放置在如下位置e0=5;e1=21;e2=22;e3=34。
這4個位置由4對標(biāo)識(pi,mi)=(0,1),(1,4),(2,4),(4,6)取一個確定的鄰域等于1,所述的5個交集T’j按照如下構(gòu)建e0(0,1)產(chǎn)生(4,0)在左邊和(1,1)在右邊e1(1,4)產(chǎn)生(0,4)在左邊和(2,4)在右邊e2(2,4)產(chǎn)生(1,4)在左邊和(3,4)在右邊e3(4,6)產(chǎn)生(3,6)在左邊和(0,7)在右邊于是我們有T’0={(0,1),(0,4),(0,7)}T’1={(1,4),(1,1)}T’2={(2,4)}T’3={(3,4),(3,6)}T’4={(4,6),(4,0)}轉(zhuǎn)換為位置符號T’0={5,20,35}T’1={21,6}T’2={22}T’3={23,33}T’4={34,4}在最后一步,一個與G.7296.4kbps模式的算法類似的算法完成對脈沖的最佳配對的搜索。在此,該算法沒有那么復(fù)雜,因為待探測的位置的組合的數(shù)量很小。在本例子中,待檢測的組合的數(shù)量為4(純數(shù)(T’1)+純數(shù)(T’3))乘上8(純數(shù)(T’0)+純數(shù)(T’1)+純數(shù)(T’2)+純數(shù)(T’4)),也就是說,32個組合而不是512個。
對于尺寸為1的鄰域,位置組合的少于8%平均被探測,不超過10%(50個組合)。對于尺寸為2的鄰域,位置組合的少于17%平均被探測,最多不超過25%。對于尺寸為2的鄰域,對于同樣質(zhì)量的窮舉搜索,本發(fā)明(將搜索受限路徑的開銷以及提取相關(guān)交集組合的鄰域的開銷予以總體考慮)所提出的方法的復(fù)雜性小于30%。
*實施例3最后一個實施例描述在8kbps模式G.729 ACELP模型和6.3kbps模式G.723.1 MP-MLQ模型之間的轉(zhuǎn)換。
在G.723.1(6.3kbps模式)與G.729(8kbps模式)之間的脈沖的智能編碼轉(zhuǎn)換存在兩個難題。首先,幀的尺寸不同(對于G.729為40個樣本,而對于G.723.1為60個樣本)。第二個難題與字典的結(jié)構(gòu)不同有關(guān)(對于G.729為ACELP類型,而對于G.723.1為MP-MLQ類型)。這里所描述的實施例顯示本發(fā)明如何解決這兩個問題以便在保證編碼轉(zhuǎn)換質(zhì)量的同時以小的開銷對脈沖進行編碼轉(zhuǎn)換。
首先,在兩個格式的位置之間建立一個臨時對應(yīng),考慮子幀的尺寸區(qū)別來相對于E和S的一個共同原點對準(zhǔn)所述位置。G.729和G.723.1子幀長度有一個最小公倍數(shù)120,臨時對應(yīng)通過120個樣本的塊組建,也就是說,對應(yīng)3個G.729子幀存在2個G.723.1子幀,如表4b的例子。可選地,也可以在幀的整塊上工作。在這樣的例子中,選擇了240個樣本的塊,也就是說,對于每3個G.729幀(6個子幀)存在1個G.723.1幀(4個子幀)。
下面描述從具有4脈沖的8kbps模式G.729 ACELP路徑的單元中選擇6.3kbps模式G.723.1 MP-MLQ路徑的次全集。第一步包括通過3個G.729子幀(具有索引ie,0≤ie≤2)的塊恢復(fù)脈沖位置。在子幀ie內(nèi)的塊的位置表示為pe(ie)。
在鄰域提取之前,上述12個位置pe(ie)被轉(zhuǎn)換為分成2個G.723.1子幀(索引js,0≤js≤1的)的12個位置ps(js)。上述通用等式可以被用來(包括子幀長度的模數(shù)(modulus))完成對子幀持續(xù)時間的適應(yīng)。但是,在此優(yōu)選地根據(jù)索引ie的值來區(qū)分三種情況如果ie=0,則js=0并且ps=pe;如果ie=2,則js=1并且ps=pe+20;
如果ie=1,則如果pe<20,則js=0并且ps=pe+40;如果否(pe≥20),則js=1并且ps=pe-20。
于是,沒有任何除法和沒有任何運算的模數(shù)n被影響。
在上述塊的子幀STE0內(nèi)恢復(fù)的4個位置是直接分配給具有同樣位置的子幀STS0,在上述塊的子幀STE2內(nèi)恢復(fù)的位置直接分配給具有+20增量的位置的子幀STS1,在20以下的子幀STE1的位置被分配給具有40增量的位置的子幀STS0,其余的被分配給具有-20增量的子幀STE1。
然后,這12個位置的鄰域被提取。需要注意的是,從他們的子幀中提取的子幀STE0(對應(yīng)地,STS1)的位置的右手(對應(yīng)地,左手)鄰域可以被審定,這些鄰近的位置處在子幀STS 1(對應(yīng)地,STS0)中。
上述臨時對應(yīng)和鄰域提取的步驟是可以交互的。在這樣的情況下,從他們的子幀中提取的子幀STE0(對應(yīng)地,STE2)的位置的右手(對應(yīng)地,左手)鄰域可以被審定(authorized),這些鄰近的位置處在子幀STS1中。類似地,在STE1中的位置的右手(對應(yīng)地,左手)鄰域可以導(dǎo)致在STE2(對應(yīng)地,STE0)中的鄰近位置。
一旦對每個子幀STS的受限位置的全集被構(gòu)建,則由探測受限路徑所組成的最后步驟以這樣的方式對于每個子幀STS來選擇具有同樣奇偶性的Np(=6或5)脈沖。這個過程可以源于標(biāo)準(zhǔn)算法,或者從其他聚焦過程中得到啟示。
為了描述這個實施例,考慮可以被用來構(gòu)建2個G.723.1子幀的子路徑的3個G.729子幀。假設(shè)G.729產(chǎn)生下列位置STE0e00=5;e01=1;e02=3;e03=39;STE1e10=15;e1=31;e12=22;e13=4;STE2e20=0;e21=1;e22=37;e23=24。
在應(yīng)用上述臨時對應(yīng)的步驟后,將這12個位置賦予子幀STS0和STS1如下STS0s00=5;s01=1;s02=32;s03=39(s0k=e0k);STS0s’1=55;s’13=44(s’0k=e1k+40,如果e1k<20);STS1s’11=11;s’12=2(s’1k=e1k-20,如果e1k≥20);STS1s20=20;s21=21;s22=57;s23=44(s0k=e2k+20)。
于是,對于子幀STS0我們得到位置{1、5、32、39、44、55}的集合,對于子幀STS 1我們得到{2、11、20、21、44、57}。
在這個階段,有必要提取鄰域。取鄰域為確定的1,則我們得到Ps0={0,1,2}∪{4,5,6}∪{31,32,33}∪{38,39,40}∪{43,44,45}∪{54,55,56}Ps1={1,2,3}∪{10,11,12}∪{20,21,22}∪{21,22,23}∪{43,44,45}∪{56,57,58}MP-MLQ對脈沖沒有任何限制,除了奇偶性之外?;谝粋€子幀,他們必須都具有同樣的奇偶性。因此,有必要將Ps0和Ps1分割為如下的兩個次全集Ps0{0、2、4、6、32、40、44、54、56}且{1、5、31、33、39、43、35、55}Ps1{2、10、12、20、22、44、56}且{1、3、11、21、23、43、45、57}最后,這個子路徑被傳送給選擇算法,該算法對于所述G.723.1子幀F(xiàn)TS0以及(et)STS1,以CELP標(biāo)準(zhǔn)來確定Np個最好的位置。這顯著減少需要測試的組合的數(shù)量。例如,在子幀STS0中剩余了9個偶數(shù)位置和8個奇數(shù)位置,而不是30個偶數(shù)位置和30個奇數(shù)位置。
在由G.729所選擇的位置是鄰域的提取產(chǎn)生的可能的位置N低于G.723.1的位置的數(shù)量(N<Np)情況下,適當(dāng)?shù)念A(yù)防還是需要的。特別是如果G.729的位置都是順次的(例如{0、1、2、3})。接下來,有兩種選擇要么對每個相關(guān)的子幀增加鄰域的尺寸直到對于Ps獲得了足夠的尺寸(尺寸≥Np);或者如上所述,選擇第一N個脈沖,并且對于剩余的Np-N個脈沖,在網(wǎng)格內(nèi)的30-N個剩余位置內(nèi)執(zhí)行一次搜索。
相反的處理過程,包括從一個6.3kbps模式G.723.1 MP-MLQ路徑中選擇一個具有4脈沖的8kbps模式G.729 ACELP路徑的次全集,將在下面描述。
總之,過程是類似的。2個G.723.1子幀與3個G.729子幀相對應(yīng)。再一次地,所述G.723.1位置被提取并被轉(zhuǎn)換為G.729時間幀(time frame)。這些位置可以進一步地被轉(zhuǎn)換為“聲道-聲道中的排列”的形式以便如以前一樣從ACELP結(jié)構(gòu)來在提取鄰域以及搜索最佳位置的過程中受益。
與之前系統(tǒng)同樣的設(shè)置被采用來防止鄰域提取產(chǎn)生不足夠的位置數(shù)量(在此少于4個位置)的情況。
于是,本發(fā)明以較低成本從一個第一脈沖集合中確定脈沖集合的位置,脈沖的兩個集合屬于兩個多脈沖路徑。這兩個路徑可以通過他們的尺寸、長度和他們的碼字的脈沖數(shù)量,以及管理這些脈沖的位置和/或振幅的規(guī)則來區(qū)分。對于在第一路徑中的所選擇集合的脈沖的位置的鄰域,給定了優(yōu)先選擇以確定在第二路徑內(nèi)的一個集合的脈沖的位置的鄰域。本發(fā)明進一步利用起點和/或目標(biāo)路徑的結(jié)構(gòu)來減小復(fù)雜性。從以上所描述的,需要從一個MP-MLQ模型轉(zhuǎn)換為一個ACELP模型的第一個實施例中,可以清楚地知道本發(fā)明很容易應(yīng)用于具有不同結(jié)構(gòu)限制的兩個多脈沖模型。從需要在兩個基于同樣的ACELP結(jié)構(gòu)但具有不同脈沖數(shù)量的模型中傳輸信號的第二個實施例中,可以清楚地知道本發(fā)明進一步利用路徑的結(jié)構(gòu)來降低復(fù)雜性。從需要在一個MP-MLQ模型與一個ACELP模型間傳輸信號的第三個實施例中,可以清楚地知道,本發(fā)明甚至可以應(yīng)用于具有不同子幀長度或取樣頻率的編碼器。本發(fā)明校正了質(zhì)量/復(fù)雜性比,尤其是與一個對多脈沖模型進行的傳統(tǒng)搜索相比在一個最低退化下大大降低了計算復(fù)雜性。
權(quán)利要求
1.一種在一個第一壓縮編解碼器與一個第二壓縮編解碼器之間的編碼轉(zhuǎn)換方法,所述第一和第二編解碼器是脈沖類型,并且使用多脈沖字典,在該字典中每個脈沖都有一個由相應(yīng)索引標(biāo)識的位置,其特征在于,所述方法包括如下步驟a)需要時,使編碼參數(shù)在所述第一和第二編解碼器之間匹配;b)從所述第一編解碼器獲得一選擇數(shù)量(Ne)的脈沖位置以及與其伴生的各個位置索引(ei);c)對給定索引的每個當(dāng)前脈沖位置,形成一組脈沖位置,至少包括所述當(dāng)前脈沖位置和具有伴生的該給定索引直接向下或直接向上的索引的所述脈沖位置;d)在步驟c中形成的所述組的并集(union)所構(gòu)成的一個全集(Ps)內(nèi)選擇至少部分所述脈沖位置,作為一個被所述第二編解碼器所接受的脈沖位置(Tj)的函數(shù);e)將所選擇的脈沖位置發(fā)送至用于從所發(fā)送的位置進行編碼/解碼的第二編解碼器;所述選擇步驟d)包括許多脈沖位置,所述脈沖位置的數(shù)量少于所述第二編解碼器的字典內(nèi)的脈沖位置的總數(shù)。
2.根據(jù)權(quán)利要求1所述的方法,其中,所述第一編解碼器(E)在第一編碼格式中使用一個第一數(shù)量個脈沖,其特征在于,在步驟b)中被選擇的所述數(shù)量(Ne)與脈沖位置的所述第一數(shù)量相對應(yīng)。
3.根據(jù)權(quán)利要求2所述的方法,其中所述第一編解碼器(E)在第一編碼格式中使用一個第一數(shù)量(Ne)個脈沖位置;所述第二編解碼器(E)在第二編碼格式中使用一個第二數(shù)量(Ns)個脈沖位置;其特征在于,所述方法進一步包括一個在下述兩種情況之間區(qū)別的步驟所述第一數(shù)量(Ne)不小于所述第二數(shù)量(Ns);以及所述第一數(shù)量(Ne)小于所述第二數(shù)量(Ns)。
4.根據(jù)權(quán)利要求3所述的方法,其中,所述第一數(shù)量(Ne)不小于所述第二數(shù)量(Ns)(Ne≥Ns),其特征在于,每個在步驟c)中形成的組包括給定索引的所述當(dāng)前脈沖位置的右手鄰近脈沖位置(vid)和左手鄰近脈沖位置(vig),以及左手和右手鄰近脈沖位置的數(shù)量作為一個復(fù)雜性/編碼轉(zhuǎn)換質(zhì)量對比的函數(shù)被選擇。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,在步驟d)中構(gòu)建了一個根據(jù)如下內(nèi)容的交集(Sj)得到的脈沖位置的組合的子路徑由在步驟c)中形成的所述組的一個并集構(gòu)建的一個全集(Ps);由所述第二編解碼器所接受的脈沖位置(Tj),以便所述子路徑有一個小于被所述第二編解碼器所接受的脈沖位置(Tj)組合的數(shù)量的尺寸。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,在步驟e)之后,所述子路徑被搜索來查找位置的一個最佳集合,該集合包括在所述第二編碼器(S)級別的所述第二數(shù)量(Ns)的位置。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,搜索位置的最佳集合的步驟通過一個聚焦搜索(focused search)來完成以加速對所述子路徑的探測。
8.根據(jù)前述權(quán)利要求中的任一個所述的方法,其中,所述第一編解碼器被用來傳送一系列的編碼幀,其特征在于,在步驟c)中形成的組中的脈沖位置的各自數(shù)量被從一個幀到另一個幀連續(xù)地選擇。
9.根據(jù)權(quán)利要求3所述的方法,其中,所述第一數(shù)量(Ne)少于所述第二數(shù)量(Ns)(Ne<Ns),其特征在于,一個進一步的判斷被執(zhí)行來確定第二數(shù)量(Ns)個脈沖位置提供的脈沖位置是否包括在步驟c)中形成的所述組的脈沖位置中,并且當(dāng)所述判斷的結(jié)果是否定時,在步驟c)中形成的所述組中的脈沖位置的數(shù)量被增加。
10.根據(jù)權(quán)利要求3所述的方法,其特征在于,其進一步區(qū)別處理所述第二數(shù)量Ns在第一數(shù)量Ne與2倍的第一數(shù)量Ne的范圍之間(Ne<Ns<2Ne)的情況,且如果是這種情況,則c1)從開始(outset)選擇所述Ne個脈沖位置;c2)在定義于步驟c1)中所選擇的脈沖位置的直接鄰域內(nèi)進一步選擇補充數(shù)量個脈沖位置Ns-Ne。
11.根據(jù)前述權(quán)利要求中的任一項所述的方法,其中,所述第一編解碼器以一個給定的第一取樣頻率以及來自一個給定的第一子幀的持續(xù)時間運行,其特征在于,在步驟a)中進行匹配的所述編碼參數(shù),包括一個子幀持續(xù)時間和一個取樣頻率;以及所述第二編解碼器以一第二取樣頻率和一第二子幀的持續(xù)時間運行,且其特征在于,在步驟a)中區(qū)分下述4種情況所述第一和第二持續(xù)時間相等并且所述第一和第二頻率相等;所述第一和第二持續(xù)時間相等并且所述第一和第二頻率不同;所述第一和第二持續(xù)時間不同并且所述第一和第二頻率相等;所述第一和第二持續(xù)時間不同并且所述第一和第二頻率不同。
12.根據(jù)權(quán)利要求11所述的方法,其中,所述第一和第二持續(xù)時間相等且所述第一和第二取樣頻率不同,其特征在于,包括步驟a1)從第一頻率向第二頻率直接量化時間比例(direct time scalequantization);以及a2)從一個具有由所述第一取樣頻率標(biāo)識的第一編碼格式的子幀內(nèi)的脈沖位置,確定,作為一個在一個具有由所述第二取樣頻率標(biāo)識的第二編碼格式的子幀內(nèi)的每個脈沖位置的所述量化的函數(shù)。
13.根據(jù)權(quán)利要求12所述的方法,其特征在于,所述量化步驟a1)通過在一個函數(shù)的基礎(chǔ)上計算和/或制表來完成,所述函數(shù)在一個具有第一個格式(pe)的一個子幀內(nèi)的脈沖位置建立與具有第二格式(ps)的子幀內(nèi)的一個脈沖位置的關(guān)系,所述函數(shù)主要采取一個線性函數(shù)的形式,該線性函數(shù)包括一個與第二取樣頻率和第一取樣頻率比值相應(yīng)的乘數(shù)系數(shù)。
14.根據(jù)權(quán)利要求13所示的方法,其特征在于,為了反方向傳送一個具有第二格式(ps)的一個子幀內(nèi)的脈沖位置至一個具有第一格式(pe)的一個子幀內(nèi)的脈沖位置,反函數(shù)應(yīng)用到上述應(yīng)用于具有第二格式(ps)的一個子幀內(nèi)的一個脈沖位置的線性函數(shù)。
15.根據(jù)權(quán)利要求11所述的方法,其中,第一和第二持續(xù)時間相等且第一和第二取樣頻率不同,其特征在于,包括如下步驟a’1)在一個與第一和第二取樣頻率的最小公倍數(shù)相等的頻率,對由第一取樣頻率標(biāo)識的具有第一編碼格式的一個子幀過度取樣(oversampling);a’2)向上述過度取樣所獲得的子幀應(yīng)用低通過率(low-pass)過濾(filtering),該過濾后跟隨不足取樣,以獲得一個與第二取樣頻率相對應(yīng)的取樣頻率。
16.根據(jù)權(quán)利要求15所述的方法,其特征在于,所述方法通過一個閾值(thresholding)方法獲得許多位置的方式,需要時,繼續(xù)可變數(shù)量的位置。
17.根據(jù)權(quán)利要求12所述的方法,其特征在于,進一步包括一個為由第一取樣頻率標(biāo)識的具有第一編碼格式的子幀的一個脈沖的每個位置(pe)建立對應(yīng)關(guān)系的步驟,所述位置(pe)屬于由第二取樣頻率標(biāo)識的具有第二編碼格式的一個子幀內(nèi)的一組脈沖位置(ps)中,每個組包括許多位置且所述位置是第二取樣頻率和第一取樣頻率的比值(Fs/Fe)的函數(shù)。
18.根據(jù)權(quán)利要求11所述的方法,其中,第一和第二子幀持續(xù)時間不同,其特征在于,其包括如下步驟a20)對具有第一和第二格式的子幀定義一個共同原點(O);a21)將由第一子幀持續(xù)時間標(biāo)識的第一編碼格式連續(xù)的子幀劃分來形成與第二子幀持續(xù)時間相適應(yīng)的持續(xù)時間的偽子幀;a22)更新所述共同原點;a23)在偽子幀p’e中的脈沖位置和具有第二格式的子幀中的脈沖位置之間確定對應(yīng)(correspondence)關(guān)系。
19.根據(jù)權(quán)利要求18所述的方法,其特征在于,其也區(qū)分如下情況所述第一和第二持續(xù)時間被實時地(in time)確定;所述第一和第二持續(xù)時間被實時改變。
20.根據(jù)權(quán)利要求19所述的方法,其中,第一和第二持續(xù)時間被實時確定,其特征在于,只要第一和第二持續(xù)時間的各個子幀的邊界被實時地調(diào)整(aligned)則所述共同原點的實時位置周期性地更新。
21.根據(jù)權(quán)利要求19所述的方法,其中,第一和第二持續(xù)時間實時改變,其特征在于a221)具有第一格式的子幀的所述持續(xù)時間和具有第二格式的子幀的所述持續(xù)時間的各自的總和被連續(xù)地完成;a222)上述兩個總和是否相等被檢測,以定義更新所述共同原點的一個時間;a223)在上述是否相等被檢測后,為了將來對下一個共同原點進行檢測,上述兩個總和被重置。
22.一種軟件產(chǎn)品,存儲于一個處理單元,特別是一計算機或一移動終端的存儲器內(nèi),或在一個被用來與一個所述處理單元的讀取器配合的可移除存儲介質(zhì)內(nèi),其特征在于,所述軟件產(chǎn)品包括用于執(zhí)行根據(jù)前述任一權(quán)利要求所述的編碼轉(zhuǎn)換方法的指令。
23.一種在一第一壓縮編解碼器和一第二壓縮編解碼器間進行編碼轉(zhuǎn)換的系統(tǒng),所述第一和第二編解碼器是脈沖類型,且使用多脈沖字典,在所述字典中每個脈沖有一個由相應(yīng)索引標(biāo)識的位置,其特征在于,所述系統(tǒng)包括一個存儲器,用來存儲根據(jù)權(quán)利要求22所述的一個軟件產(chǎn)品的指令。
全文摘要
本發(fā)明與在使用多脈沖字典的脈沖編碼器之間的壓縮編碼轉(zhuǎn)換有關(guān),在該字典中的每個脈沖都有一個由索引標(biāo)識的位置。對于每個由一個第一編碼器提供的當(dāng)前脈沖位置,圍繞該位置形成一個鄰域(V
文檔編號G10L19/16GK1890713SQ200480036604
公開日2007年1月3日 申請日期2004年11月24日 優(yōu)先權(quán)日2003年12月10日
發(fā)明者克洛德·朗布蘭, 穆罕默德·蓋納奈 申請人:法國電信