《電子技術應用》
您所在的位置:首頁 > 其他 > 設計應用 > G.729.1語音編碼算法的改進及實現
G.729.1語音編碼算法的改進及實現
來源:微型機與應用2010年第17期
劉麗群,黃 冰,寧瑞芳
(桂林電子科技大學 信息與通信學院,廣西 桂林 541004)
摘要: 在G.729.1語音編碼算法中引入了一種長度為N=5×2m(m≥2)的MDCT/IMDCT實現的快速算法,編程實現該算法并在cygwin中仿真。在本方法中用孤立預乘的方法將N點的MDCT映射成N/2點的DCT-Ⅱ和DCT-IV,然后進入加窗階段。該窗口是一種部分對稱的窗,可以存儲使用N/2的字,同時包含了一種只需4次乘法在一定的條件下就可以分解5點DCT-Ⅱ的方法。與其他算法相比,該算法可以明顯地降低復雜度和減少存儲空間。
Abstract:
Key words :

摘  要:G.729.1語音編碼算法中引入了一種長度為N=5×2m(m≥2)的MDCT/IMDCT實現的快速算法,編程實現該算法并在cygwin中仿真。在本方法中用孤立預乘的方法將N點的MDCT映射成N/2點的DCT-Ⅱ和DCT-IV,然后進入加窗階段。該窗口是一種部分對稱的窗,可以存儲使用N/2的字,同時包含了一種只需4次乘法在一定的條件下就可以分解5點DCT-Ⅱ的方法。與其他算法相比,該算法可以明顯地降低復雜度和減少存儲空間。
關鍵詞: G.729.1;語音編碼;余弦變換;改進的離散深余弦變換

    G.729.1是基于分裂帶寬的編碼器,具有靈活的結構,通過利用正交鏡像濾波器組分析和合成濾波器組不僅能夠處理采樣率為16 kHz的輸入語音,還可以處理8 kHz采樣率的輸入語音,它是一個基于G.729的帶寬擴展(50~7 000 Hz)的、8~32 Kb/s可分級編碼器。由編碼器產生的比特流具有可分級性,包含了12個嵌入式層。第1層為核心層,其編碼速率為8 Kb/s,核心層與原有G.729中的比特流形式相同,這使得G.729.1與G.729之間具有互操作性。第2層為窄帶增強層,每層均在之前一層的基礎上增加2 Kb/s的編碼速率,編碼速率分別為14 Kb/s、16 Kb/s、18 Kb/s、20 Kb/s、22 Kb/s、24 Kb/s、26 Kb/s、28 Kb/s、30 Kb/s、32 Kb/s。編碼器的默認輸入為16 kHz采樣,16 bit線性脈沖調制編碼語音信號,也可對8 kHz采樣的信號進行操作。解碼器的輸出可以為16 kHz或8 kHz采樣的16 bit線性PCM語音信號[1]。
    G.729.1編解碼器基于三階段結構:嵌入式碼本激勵線性預測(CELP)編解碼、時域帶寬擴展(TDBWE)以及時域混疊消除(TDAC)的估計轉換編解碼。其中,嵌入式CELP階段產生第1和第2層,生成8 Kb/s和12 Kb/s窄帶合成信號(50~4 000 Hz)。TDBWE階段產生在第3層,生成14 Kb/s寬帶輸出信號(50~7 000 Hz)。TDAC階段工作在改進離散余弦變換域(MDCT),生成第4~12層,將信號從14 Kb/s提高到32 Kb/s。TDAC編解碼同時代表50~4 000 Hz頻帶加權CELP編解碼誤碼信號和4 000~7 000 Hz頻帶輸入信號。算法中處理幀長為20 ms,每幀寬帶信號樣點數為640[2]。
    本文主要對其TDAC部分的MDCT變換進行改進并用程序實現。在G.729.1算法的時延中,用于MDCT分析(估計)的時延為20 ms,通過MDCT的快速算法來減少該部分的時延,從而提高算法的實時處理的性能。
    改進的離散深余弦(MDCT)廣泛應用于語音和音頻編碼、分析和研究濾波器的時域別名取消特性。這是一種最為繁瑣的計算密集型算法,因此需要一種快速算法來實現,到目前為止,已經提出了多種快速算法來實現MDCT。在這其中許多算法推導變換的長度為N=2m。本文將介紹一種基于長度為N=5×2m的新方法。這種長度的變換已建議在語音和音頻編碼中使用,典型的采樣速率為8 kHz或16 kHz,幀延遲為10 ms或20 ms。ITU-TG.729.1和3GPP2EVRC-WB以及新興的ITU-TG..EV-VBR標準中也提供了這種算法。本文對G.729.1中的MDCT引入了一種新的算法,該算法更簡便和更易于實際應用,非常適合在語音算法中應用。

    通過以上的變換可以看到,矩陣D和窗函數相乘后所得到的結果遵循IMDCT,這樣就可以減少做N/2次的乘法,也即可以節省N/2的存儲空間。MDCT可以通過逆變換從IMDCT中得到。然后進行逆DCT-Ⅱ變換。變換需要一種算法可以適合任意長度的序列。因此本文采用了既對頻率狀態進行抽取同時又可以執行遞歸直到DCT的長度為5點的方法。基于5點的DCT-Ⅱ是通過平面旋轉的方法來取代系數x(3)與x(4)之間的3次乘法和3次加法,用同樣的方法對x(0)和x(2)進行處理。該方法使處理的路徑變短、結構的規律性增強、傳輸過程中數據的動態范圍減少。基于5點的DCT-Ⅱ變換的方程如下:


    由式(16)可知,MDCT/IMDCT算法的復雜度受到快速5點DCT-Ⅱ算法復雜度的限制。
3 算法的實現
    經過改進后,新的MDCT變換算法如圖1所示。圖中,加窗所用的窗函數為一般情況下常使用的窗函數。
    從以上分析可知,該算法的復雜度受到DCTII算法復雜度的限制,所以在做DCTII變換時用的是HEIDEMAN M T的基于5點的DCTII變換的算法。該算法進行5點的DCTII變換只需14次加法和4次乘法,而可以提高運算速度和節省運算時間。

    本文在G.729.1中的TDAC模塊中引進了MDCT的快速算法,在G.729.1的默認模式下,該部分的時延為20 ms。通過使用本文中的方法進行改進,可以使該部分的時延降低約1/3,其存儲空間也可節省約1/3。從而提高了該算法實現的實時性以及實際應用有了更大的可能性。在原來G.729.1的基礎上實現了變速率,使該算法可以與G.729實現互操作,即該算法包含了G.729(因在原來G.729的基礎上引入了TDBMW和TDAC技術)。
    本改進算法的仿真結果(默認模式)如圖2所示。

    由圖2可以看到,該算法的降噪性能并不是很理想,加15 dB白噪聲的語音基本上不可懂,但是解碼后的語音雖然包含一定的噪聲,而人耳基本上可以識別。該算法在降噪方面還有一定改進的余地,G.729.1算法的改進還有很大的價值。
參考文獻
[1] ITU-T Rec.G.729.1. An 8-32 Kb/s scalable wideband coder bitstream interoperable with G.729. May. 2006.
[2] 賈懋珅,鮑長春,李銳.8~64 Kb/s超寬帶嵌入式語音頻編碼方法[J].通信學報,2009(5).
[3] CHIVUKULA R K, REZNI Y A. Efficient implementation of a class of MDCT/IMDCT filterbanks for speech and audio coding applications[M]. ICASSP, 2008.
[4] HEIDEMAN M T. Computation of an odd-length DCT from a real-valued DFT of the same length[J]. Signal Processing, IEEE Transactions, 1992,40(1):54-61.

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 国产乱女乱子视频在线播放| 你懂的国产高清在线播放视频| 色婷婷久久综合中文久久一本` | 最近中文字幕高清2019中文字幕| 四虎国产永久免费久久| a毛片成人免费全部播放| 最近中文字幕免费完整| 人人超碰人人爱超碰国产| 2022国产精品最新在线| 成年女人色毛片| 亚洲欧美视频一级| 麻豆一二三四区乱码| 在线观看中文字幕| 乱人伦中文字幕在线| 精品无人区一区二区三区| 国产精品柏欣彤在线观看| 中文字幕欧美日韩高清| 渣男渣女抹胸渣男渣女软件| 久久99精品久久久久子伦| 欧美午夜片欧美片在线观看 | 欧美性色欧美A在线图片| 免费无码专区毛片高潮喷水| 亚洲人成无码网站久久99热国产 | 男人扒开女人腿使劲桶动态图 | 888奇米影视| 成人午夜电影在线| 亚洲欧美在线视频| 精品熟女碰碰人人a久久| 国产亚洲综合色就色| a级毛片免费观看网站| 日本精品一区二区三区视频 | 亚洲欧美日韩精品高清| 野花国产精品入口| 天天插在线视频| 中文字幕无码乱人伦| 最近更新中文字幕第一页| 亚洲视频在线看| 视频精品一区二区三区| 天天摸天天做天天爽| 一本大道AV伊人久久综合| 日本一区二区三区在线视频观看免费 |