專利名稱:幀補償方法及系統的制作方法
技術領域:
本發明涉及音頻編解碼領域,尤其是一種采用變換編碼激勵(Transform Coding Excitation,簡稱TCX)編碼的編解碼器在數據傳輸過程中數據幀發生丟包時,解碼端進行丟包補償方法及系統。
背景技術:
增強自適應多速寬帶(ExtendedAdaptive Multi-Rate Wideband,簡稱AMR-WB+) 編解碼器是一種語音音頻編解碼器,可以根據信號的特性選擇語音編碼方式,例如代數碼本激勵線性預測(ACELP,Algebraic Code Excited Linear Prediction)編碼;或音頻編碼方式,例如TCX編碼進行編碼,在AMR-WB+編解碼器的閉環模式編碼端中,對于輸入的聲音信號同時用TCX和ACELP進行編碼,比較這兩種編碼方式編碼后的信號的信噪比,如果采用 TCX編碼的信號信噪比高,則將采用TCX編碼方式編碼的數據作為碼流發向接收端;反之, 則將采用ACELP編碼方式編碼的數據作為碼流發向接收端。TCX編碼方式分為TCX256 (以256樣點為一個編碼單位),TCX512 (以512個樣點為一個編碼單位),TCX10M (以10M個樣點為一個編碼單位)三種模式。在AMR-WB+的閉環模式編碼端,當采用TCX10M模式的數據幀(后面簡稱TCX10M幀)出現部分幀丟失,且其前一超幀也為TCX10M幀時,則可以前一正確幀作為補償依據,對丟失幀進行補償,而補償方式有很多種,包括頻譜插值、線形預測等方法。其中頻譜插值的補償方式包括對幅值和相位分別進行的插值,其插值的依據是數據信號的幅度和相位均具有一定的連續性這一特性。其中幅值插值包括以下幾個步驟計算先前幀的頻譜的幅值,[幻=\oldX{k)\ , k = 1,2,......計算當前幀的頻譜的幅值,4幻=|文(幻I,k = 1,2,......利用當前幀中沒有丟失且幅值非零的頻譜幅值與對應位置的先前幀的頻譜幅值
I Σ·2
計算出幅值增益叫k = u,······利用上面算出gain,計算出丟失的頻譜的幅值AR] = gain · oldA[k]在介紹相位插值之前,先說明打包傳輸數據的方式,原始數據為
,其中
分別代表第一個、第二個、第三個和第四個數據,依此類推,
并分成四個子幀子幀1{
,[16,17,18,19],......},子幀 2{[4,5,6,7],[20,21,22,
23],......},子幀3{[8,9,10,11],[24,25,26,27],......},子幀 4 {[12,13,14,15],[28,29,
30,31],......}。如果在接收數據時發生了某個子幀丟失,則需要通過先前接收的正確幀進行補償,補償的方式與幅值插值的思想近似,也是通過先前接收的正確幀的相位信息進行處理。 例如接收過程中[K+1,...,K+N_1]的數據丟失,則可以通過正確接收的K和K+N進行補償。假設
權利要求
1.一種幀補償方法,其特征在于,包括以下步驟 獲得接收的丟失幀的長度和接收的正確幀的長度;判斷所述正確幀的長度為所述丟失幀的長度的2的整數次冪倍,則根據所述正確幀獲得與所述丟失幀的長度相等的數據序列;根據所述數據序列對所述丟失幀進行補償,獲得補償后的數據幀。
2.根據權利要求1所述的幀補償方法,其特征在于,判斷所述正確幀的長度為所述丟失幀的長度的2的正整數次冪倍,所述根據所述正確幀獲得與所述丟失幀的長度相等的數據序列的操作具體為根據以下公式從所述正確幀中選取與所述丟失幀的長度相等的數據序列,
3.根據權利要求1所述的幀補償方法,其特征在于,判斷所述正確幀的長度為所述丟失幀的長度的2的負整數次冪倍,所述根據所述正確幀獲得與所述丟失幀的長度相等的數據序列的操作具體為根據以下公式在所述正確幀中插入數據,獲得與所述丟失幀的長度相等的數據序列,
4.根據權利要求2或3所述的幀補償方法,其特征在于,所述丟失幀和正確幀均為變換編碼激勵幀。
5.根據權利要求4所述的幀補償方法,其特征在于,所述正確幀為接收的數據中所述丟失幀的上一正確接收的數據幀。
6.根據權利要求1所述的幀補償方法,其特征在于,所述2的整數次冪具體為2^2°或21。
7.根據權利要求6所述的幀補償方法,其特征在于,所述丟失幀的長度為10M、512或256。
8.根據權利要求1所述的幀補償方法,其特征在于,在接收丟失幀時,還包括判斷所述丟失幀是否為變換編碼激勵幀的操作,判斷所述丟失幀不是變換編碼激勵幀,則執行丟幀操作。
9.根據權利要求1所述的幀補償方法,其特征在于,在接收正確幀時,還包括判斷所述正確幀是否為變換編碼激勵幀的操作,判斷所述正確幀不是變換編碼激勵幀,則將舒適噪音填充入所述丟失幀。
10.根據權利要求1所述的幀補償方法,其特征在于,所述根據所述數據序列對所述丟失幀進行補償的操作包括對所述數據序列進行頻譜插值。
11.根據權利要求1所述的幀補償方法,其特征在于,判斷所述丟失幀中數據部分丟失,則根據所述丟失幀中未丟失部分和所述數據序列對所述丟失幀進行補償。
12.—種幀補償系統,其特征在于,包括第一長度獲得模塊,用于獲得接收的丟失幀的長度;第二長度獲得模塊,用于獲得接收的正確幀的長度;數據序列獲得模塊,與所述第一長度獲得模塊和第二長度獲得模塊相連,用于在判斷所述正確幀的長度為所述丟失幀的長度的2的整數次冪倍時,根據所述正確幀獲得與所述丟失幀的長度相等的數據序列;補償模塊,與所述數據序列獲得模塊相連,用于根據所述數據序列對所述丟失幀進行補償,獲得補償后的數據幀。
13.根據權利要求12所述的幀補償系統,其特征在于,所述數據序列獲得模塊進一步包括第一數據序列獲取單元,與所述第一長度獲得模塊和第二長度獲得模塊相連,用于在判斷所述正確幀的長度為所述丟失幀的長度的2的正整數次冪倍時,根據以下公式從所述正確幀中選取與所述丟失幀的長度相等的數據序列,X2' (k) = X2(2n · k),k = 1,2,...L,其中X2為所述正確幀的數據序列,X2’為選取獲得的數據序列,η為正整數,L為所述丟失幀的長度。
14.根據權利要求12所述的幀補償系統,其特征在于,所述數據序列獲得模塊進一步包括第二數據序列獲取單元,與所述第一長度獲得模塊和第二長度獲得模塊相連,用于在判斷所述正確幀的長度為所述丟失幀的長度的2的負整數次冪倍時,根據以下公式在所述正確幀中插入數據,獲得與所述丟失幀的長度相等的數據序列,
全文摘要
本發明涉及一種幀補償方法,包括以下步驟獲得接收的丟失幀的長度和接收的正確幀的長度;判斷所述正確幀的長度為所述丟失幀的長度的2的整數次冪倍,則根據所述正確幀獲得與所述丟失幀的長度相等的數據序列;根據所述數據序列對丟失幀進行補償,獲得補償后的數據幀。本發明還涉及一種幀補償系統,包括第一長度獲得模塊、第二長度獲得模塊、數據序列獲得模塊和補償模塊。本發明根據各種格式的爭取幀對各種格式的丟失幀進行補償,克服了現有技術中只能根據單一格式的正確幀對單一格式的丟失幀進行補償的局限性,而且補償后的數據幀的效果強于填充舒適噪音。
文檔編號H04L1/00GK102271024SQ201110207378
公開日2011年12月7日 申請日期2007年6月10日 優先權日2007年6月10日
發明者關耀鏵, 張清, 李偉, 杜正中, 楊毅, 申凌, 胡晨, 苗磊, 許麗凈, 許劍峰 申請人:北京大學深圳研究生院, 華為技術有限公司