《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 業界動態 > ITU-T G.729算法及其實時實現

ITU-T G.729算法及其實時實現

2009-04-21
作者:李錦宇 羅 鑫 王仁華

  摘 要: G.729編解碼算法,實時實現的G.729系統的軟件設計和硬件設計。在ADSP-2181上實現的G.729編解碼器,已經通過了ITU-T G.729的全部測試矢量,并且已經在數字語音記錄儀和H.323網上多媒體通信系統中得到推廣應用。
  關鍵詞: G.729協議 ADSP-2181 接口模塊 IDMA口


  G.729協議[1]是由ITU-T的第15研究小組提出的,并在1996年3月通過的8Kbps的語音編碼協議。
  G.729協議使用的算法是共軛結構的算術碼本激勵線性預測(CS-ACELP),它基于CELP編碼模型[2]。由于G.729編解碼器具有很高的語音質量和很低的延時,被廣泛地應用在數據通信的各個領域,如IP phone和H.323網上多媒體通信系統等。
  針對實時實現G.729的一些難點,我們提出了解決的方法。目前,我們已經在Analog Device的定點數字處理芯片ADSP-2181上實時實現了符合ITU-T G.729
  編解碼器的全部功能,該編解碼器占用了22MIPS的運算量。我們在ADSP-2181上實現的G.729編解碼器,已經通過了ITU-T G.729的全部測試矢量,并且已經在數字語音記錄儀和H.323網上多媒體通信系統中進行了推廣應用。
1 G.729協議編解碼算法介紹
1.1 G.729編碼算法介紹
  電話線路上的模擬語音信號,經話路帶寬濾波(符合ITU-T G.712建議)后,被8kHz采樣,量化成16bit線性PCM數字信號輸入到編碼器。該編碼器是基于線性預測分析合成技術,盡量減少實際語音與合成語音之間經聽覺加權后差分信號的能量為準則來進行編碼的。編碼器的結構框圖如圖1所示,其主要部分有:
  ·線性預測分析和LPC系數的量化;
  ·開環基音周期估計;
  ·自適應碼本搜索;
  ·固定碼本搜索;
  ·碼本增益量化。


  下面分別描述這五部分的主要技術。
  ·線性預測分析與LPC系數的量化
  首先對信號進行加線性預測分析窗,分析窗由兩部分組成。第一部分是半個漢明窗,第二部分是四分之一個余弦信號。將加窗后的語音信號通過Levinson-Durbin算法獲得線性預測濾波器系數ai,i=1……10。由于線譜對參數比線性預測系數具有更好的內插特性和量化特性[3], G.729將LPC參數轉換成相應的線
  譜對參數,最后對線譜對參數進行量化。
  ·開環基音分析
  為了減少自適應碼本搜索的復雜度,需要計算開環基音Top,使自適應碼本搜索在開環基音值附近進行。基音值的范圍在18~145個樣本點之間。
  ·自適應碼本搜索
  G.729對每個子幀進行閉環基音搜索,它通過最小化原始語音信號和重構語音信號的加權均方誤差來進行閉環基音搜索。對子幀1的閉環基音T1的搜索是局限在開環基音Top的一個小范圍內,對子幀2的閉環基音T2的搜索是局限在閉環基音T1的一個小范圍內。這樣可以減少基音搜索的復雜度。
  ·固定碼本搜索
  G.729固定碼本矢量含有四個非0脈沖,每個脈沖的幅度要可以是+1或-1。通過最小化加權語音信號和加權重構語音信號的均方誤差來進行固定碼本的搜索。
  ·增益量化
  G.729對自適應碼本增益和固定碼本增益采用二級共軛結構碼本進行矢量量化。在碼本搜索時,采用預搜索策略,使得運算量只為全搜索算法的1/4。
1.2 G.729解碼算法介紹
  G.729的解碼也是按幀進行的,主要是對符合G.729協議的碼流進行解碼,得到相應的參數,根據語音產生的機理,合成語音。解碼的方框圖如圖2所示,其主要部分為:參數解碼;后濾波處理。


  G.729解碼過程如下。
  ·參數解碼
  首先解碼得到線譜對參數,并將線譜對參數轉換為線性預測系數。然后解碼出基音周期,獲得自適應碼本矢量v(n)。解碼出固定碼本矢量的四個脈沖的位置和符號,計算出固定碼本矢量c(n)。解碼出固定本預測增益gc和固定碼本增益,接著得到激勵信號。最后將激勵信號
  u(n)輸入到線性預測合成濾波器中,計算出重構語音
  ·后濾波處理
  后濾波處理主要是自適應后濾波。自適應后置濾波器是由三個濾波器級連而成:長時后置濾波器Hp(z),短時后置濾波器Hf(z),頻譜傾斜補償濾波器Ht(z),后面接著進行一個自適應增益控制過程。后置 濾波器的系數每一個子幀更新一次。后置濾波能夠有效地改善合成出的語音質量。
2 G.729編解碼器的實現
  我們在Analog Device的定點數字處理芯片ADSP-2181[4][5]上實時實現了符合ITU-T G.729的全部功能,進行編解碼總共用了22MIPS(ADSP-2181處理速度為33MIPS)。實時實現了G.729的編解碼功能,主要有以下的難點。
  ·數據在DSP中的安排。在DSP中只要是聲明的變量,DSP的連接程序就會分配數據空間。如果我們象C語言編程那樣定義局部變量,就會浪費大量的存儲空間。
  ·數據精度的處理。在16位的定點信號處理芯片上實現一些浮點算法時,為了使運算速度加快,往往要針對定點芯片的特點,用定點數來表示浮點數。雖然速度提高了,但是很可能導致運算精度不夠。
  ·有限計算資源的利用。ADSP2181只有33MIPS,而且不能使所有的MIPS都用來實現G.729的編解碼功能。
  ·DSP高速運行時,DSP與主機的數據交互。
  ·語音信號和編解碼緩沖區的維護。這些緩沖區至少都有兩者要去存儲,如語音信號緩沖區, 一方面語音編碼模塊要調用,另一方面采集中斷程序也要調用它。而在語音編碼模塊調用的過程中,該緩沖區不應該被其它模塊所改變,所以中斷程序不應該此時去存儲這個緩沖區,這就存在著矛盾。
2.1 軟件設計
  軟件設計主要包括三個部分。
  · 命令解釋器
  命令解釋器主要是用于解釋主CPU發來的各種命令,如發送或接收編解碼數據、查詢編解碼狀態以及啟動、停止編解碼操作等。該模塊不直接與主CPU打交道,而是通過接口功能模塊,間接實現與主CPU的數據信息交換。
  · G.729數據引擎
  我們在ADSP-2181上完成了G.729的實時編/解碼工作。
  ADSP-2181不僅包含了ADSP-2100系列的基本結構(三個運算單元、數據地址發生器和一個程序序列器),還含有兩個串行口、一個16位的內部IDMA口,一個8位的BDMA口、一個可編程定時器、標志輸入輸出(Flag I/O)、外部中斷能力以及片內程序和數據存儲器等周邊設備。ADSP-2181片內集成了共80K字節的存儲器,它們分別是16K字(24bit)程序存儲器和16K字(16bit)的數據存儲器,大量的片內存儲器使得復雜的G.729編解碼算法能夠全部放入ADSP-2181片內,無須增加任何的片外RAM,簡化了硬件設計和接口。
  · 接口功能模塊
  該模塊實現ADSP-2181與主CPU的數據實際交換工作。該模塊包括DSP的主控程序和數據傳輸兩部分。DSP的主控程序主要負責不斷將采集到的語音數據分幀,送入編碼器,并將接收到的碼流分類后送入解碼器模塊。數據傳輸部分負責采集數據和與主CPU的數據交換。
2.2 硬件設計
  本系統考慮了各CPU之間的數據交換與協調等問題。ADSP2181具有一個16位的IDMA口,在處理器全速運行的情況下,ADSP-2181可以自動完成IDMA口的接收和發送數據,這為系統的設計帶來了很大的便利。利用ADSP-2181的這個性質,我們通過IDMA口來實現ADSP-2181與主CPU的數據交互。
  我們設計了ADSP-2181與PC機ISA總線接口的主從系統。在這個主從系統中,PC機為主CPU,ADSP-2181為從CPU。在啟動時,由PC機通過IDMA口將程序裝載入ADSP-2181內部存儲器中。在ADSP-2181全速運行時,主機可以查詢從機的運行狀態、讀取壓縮后的G.729碼流,也可以送入待解碼的G.729碼流等。
  在該主從系統中,PC機通過ADSP-2181的IDMA口來讀寫它的內部存儲器。PC總線通過GAL譯碼,形成,IACK信號,與ADSP-2181的IDMA口連接,這樣就實現了在ADSP-2181全速運行的情況下,PC機仍能訪問到ADSP-2181內部存儲器。
  圖3是主從系統中的ADSP-2181功能與接口的框圖。語音信號由ADSP1847采集,通過ADSP-2181的串口0送入到ADSP-2181進行編碼。編碼數據通過IDMA口送到主機進行存儲。需要解碼的數據從主機由IDMA口送到ADSP-2181進行解碼,解碼后獲得的語音信號通過串口0送至ADSP1847。


2.3 難點的解決
  數據在DSP中的安排。維護好一張變量表,每次進入一個模塊時,首先使用已經分配但暫時不用的變量。只在不夠的情形下,再去分配額外的變量,同時將這些新分配的變量計入到變量表中,供其它模塊使用。另外維護好一個局部變量堆棧,使得各個模塊的內部局部變量分配在堆棧中,當從該模塊退出時,就從堆棧中彈出這些局部變量,釋放空間。
  數據精度的處理。對精度要求比較高的地方,將計算的中間變量采用32位來表示,運算結束后,再轉換成16位表示,這樣指令條數增加不多,但精度卻大大提高了。在某些精度要求比較高的模塊,采用尾數和指數來表示浮點數,自己編寫一套指數和尾數的運算庫,由于尾數和指數表示法有足夠大的精度范圍,完全滿足要求。但只能在少許地方采用這種方法,否則運算量就會上去,給實時實現帶來困難。
  有限計算資源的利用。利用ADSP強大的多功能指令可以非常好地利用有限計算資源。
  DSP高速運行時,DSP與主機的數據交互。由于ADSP-2181具有一個16位的IDMA口,在處理器全速運行的情況下,ADSP-2181可以自動完成IDMA口的接收和發送數據,這為系統的設計帶來了很大的便利。利用ADSP-2181的這個性質,我們通過IDMA口來實現ADSP-2181與主CPU的數據交互。
  語音信號和編解碼緩沖區的維護。本系統的數據交互都是采用雙緩沖的工作方式。雙緩沖的好處在于數據的交互不會影響到其他工作的正常進行。
  本系統的數據采集與播放采用雙緩沖的工作方式。采集時采用cod_ad和cod_work兩個緩沖區,播放時采用decod_ad和decod_work兩個緩沖區。cod_ad用于ADSP-2181的串口數據采集,cod_work用于ADSP-2181的編碼。當cod_ad采完一幀數據后與cod_work互換。decod_ad用于ADSP-2181的串口數據播放,decod_work用于ADSP-2181的解碼。當播放完一幀數據后,decod_ad與decod_work互換。采集與播放程序放在ADSP-2181的中斷服務程序中。本系統只開放ADSP-2181的接收中斷,ADSP-2181每接收一個數據,同時就播放一個數據。
  另外G.729的編碼器的編碼數據和解碼器的解碼數據都有兩個緩沖區,緩沖區的工作原理與數據采集和播放的雙緩沖區的工作原理相同。
  綜上所述,ITU-T的G.729協議是一個ITU-T的8kbps語音編解碼協議,它具有高音質和低延時的特點。軟件設計主要包括三個部分:命令解釋器、G.729數據引擎、接口功能模塊。我們用ADSP-2181實時實現了G.729協議,在ADSP-2181的數據采集/播放和ADSP-2181與主CPU接口的數據交互方面都采用了雙緩沖方式。硬件設計主要是通過ADSP-2181的IDMA口,來實現主CPU與ADSP-2181的數據交互。
  針對實時實現G.729的一些難點,我們提出了一系列解決的方法,通過這些解決方法,我們已經在Analog Device的定點數字處理芯片ADSP-2181上實時實現了符合ITU-T G.729的全部功能,并且已經通過了ITU-T G.729的全部測試矢量。該編解碼器已經在數字語音記錄儀和H.323網上多媒體通信系統中推廣應用。
參考文獻
1 ITU-T Recommendation G.729. Coding of Speech at 8kbit/s Using Conjugate-Structure Algebraic-Code-Ex-cited Linear-Prediction.International Telecommunication U-nion,1996
2 M.Schroeder and B.Atal.Code-excited linear predicition (CELP):high quality speech at very low bit rates. Proc.IEEE Int.Conf.Acoust.,Speech,Signal Processing,1985, 937-940
3 B.S.Atal,R.V.Cox,and P.Kroon. Spectral quantization and interprolation for CELP coders.in Proc.Int.Conf.A-coust.Speech Sign.Proess.1989,69-72
4 ADSP-2100 Family User's Manual,Analog Devices
5 ADSP-2171&81 User's Manual,Analog Devices

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          在线日韩欧美视频| 欧美中文字幕精品| 国产精品v欧美精品v日韩精品| 韩国av一区二区| 亚洲国产精品99久久久久久久久| 欧美一级二区| 久久亚洲私人国产精品va| 欧美午夜a级限制福利片| 国产日产亚洲精品| 国产一区二区精品丝袜| 99这里有精品| 欧美成人精品三级在线观看| 亚洲品质自拍| 亚洲国产二区| 欧美日韩国产在线一区| 欧美午夜寂寞影院| 国产亚洲欧美一区| 久久福利视频导航| 欧美午夜激情视频| 国内精品久久久久久久影视麻豆| 麻豆久久久9性大片| 欧美日韩成人综合天天影院| 欧美日韩在线看| 夜夜嗨一区二区三区| 国产视频观看一区| 欧美日韩网址| 久久伊人免费视频| 国模套图日韩精品一区二区| 亚洲欧美日韩天堂一区二区| 亚洲国产综合视频在线观看| 99在线热播精品免费99热| 欧美日韩国产999| 欧美三级日韩三级国产三级| 亚洲欧美变态国产另类| 免费精品视频| 欧美丝袜一区二区三区| 国产精品第一区| 欧美激情一区二区三级高清视频| 国产精品福利网| 精品电影在线观看| 亚洲精品国产精品久久清纯直播| 久久综合色影院| 91久久久久久国产精品| 国产精品午夜在线观看| 欧美丝袜一区二区三区| 亚洲欧美在线x视频| 国产精品一页| 一区二区电影免费在线观看| 国产乱码精品一区二区三| 欧美激情片在线观看| 久久久久久久999精品视频| 国产午夜精品美女毛片视频| 欧美日韩一区二区三区四区五区| 亚洲线精品一区二区三区八戒| 欧美裸体一区二区三区| 国产一本一道久久香蕉| 国产精品五月天| 欧美日韩国产在线播放网站| 国产精品av免费在线观看| 国产欧美一区二区三区久久| 小嫩嫩精品导航| 欧美理论电影网| 欧美日产一区二区三区在线观看| 羞羞色国产精品| 狠狠综合久久| 欧美性片在线观看| 一区二区三区在线视频观看| 久久青草福利网站| 99国产精品国产精品久久| 亚洲综合丁香| 国产一区二区三区在线观看网站| 香蕉尹人综合在线观看| 欧美久久久久久久| 亚洲精选久久| 亚洲美女av黄| 久久精品一区二区三区不卡牛牛| 久久国产精品高清| 蜜臀91精品一区二区三区| 欧美日韩激情小视频| 亚洲大胆人体在线| 欧美精品一区二区三区久久久竹菊| 国产在线不卡精品| 一区二区三区在线观看国产| 久久久国产成人精品| 这里是久久伊人| 欧美三级网页| 香蕉成人伊视频在线观看| 亚洲欧美日韩国产成人| 欧美一区二区三区日韩视频| 免费中文字幕日韩欧美| 国产日韩欧美| 欧美日韩在线电影| 欧美一站二站| 在线观看欧美精品| 激情六月婷婷久久| 亚洲人在线视频| 欧美日韩视频不卡| 亚洲精品一区二区三区四区高清| 欧美一区二区三区免费视频| 精品成人在线视频| 国产精品久久久爽爽爽麻豆色哟哟| 美女精品在线| 国产精品自拍小视频| 欧美一区二区啪啪| 亚洲欧美在线免费观看| 一本综合精品| 欧美日韩一区二区三区免费| 欧美一级夜夜爽| 欧美精彩视频一区二区三区| 久久久久久色| 麻豆精品视频在线| 欧美一区二区视频97| 国内成人精品2018免费看| 国产欧美精品va在线观看| 国产精品亚洲成人| 亚洲小视频在线| 欧美精品日韩一区| 亚洲免费视频成人| 一区精品久久| 欧美α欧美αv大片| 日韩香蕉视频| 亚洲丝袜av一区| 亚洲欧美国产精品桃花| 亚洲国产成人不卡| 欧美激情成人在线视频| 欧美mv日韩mv国产网站app| 一区二区三区视频免费在线观看| 国产欧美 在线欧美| 久久先锋影音av| 亚洲在线观看视频网站| 欧美激情精品久久久六区热门| 你懂的视频欧美| 久久夜色精品一区| 欧美激情国产高清| 欧美一区二区三区在线视频| 欧美成人免费网站| 久久久国产视频91| 久久精品卡一| 欧美激情视频一区二区三区免费| 美女精品自拍一二三四| 99亚洲伊人久久精品影院红桃| 国产伦精品一区二区三区照片91| 国产综合一区二区| 国产精品每日更新| 亚洲欧美综合另类中字| 欧美成人r级一区二区三区| 美女精品网站| 国产精品美女视频网站| 久久综合狠狠综合久久综合88| 欧美精品一区二区在线播放| 亚洲日本免费电影| 欧美午夜电影在线| 国产精品美女久久久久久2018| 欧美日韩一卡| 国产一级一区二区| 最近看过的日韩成人| 夜夜爽夜夜爽精品视频| 午夜欧美精品久久久久久久| 国产农村妇女精品一二区| 欧美日韩国产电影| 久久视频国产精品免费视频在线| 校园春色综合网| aa级大片欧美三级| 国产精品福利在线| 久久精品久久综合| 欧美国产一区二区在线观看| 国产亚洲精品bv在线观看| 欧美一区二区高清| 亚洲丝袜av一区| 久久激情网站| 欧美午夜精品久久久久久久| 国产主播在线一区| 国内精品久久国产| 欧美在线视频观看免费网站| 美国十次成人| 国产一区二区三区精品久久久| 日韩视频不卡中文| 好吊视频一区二区三区四区| 久久久不卡网国产精品一区| 亚洲精品免费看| 亚洲一区美女视频在线观看免费| 精品动漫一区二区| 欧美精品国产一区| 亚洲日本va午夜在线影院| 国产精品久久久久久久久动漫| 久久免费99精品久久久久久| 亚洲欧美日韩国产综合精品二区| 欧美视频一区| 国产精品爱啪在线线免费观看| 亚洲欧美日韩久久精品| 亚洲精品日韩一| 亚洲一区免费在线观看| 亚洲欧美在线一区二区| 亚洲国产欧美一区| 国产一区二区三区精品欧美日韩一区二区三区| 永久免费毛片在线播放不卡| 好吊妞**欧美| 男人天堂欧美日韩| 国产亚洲精品福利| 国产精品一区二区视频| 久久国产精品久久国产精品| 国产亚洲精品资源在线26u| 国内精品一区二区| 亚洲精品自在久久| 亚洲亚洲精品在线观看| 国产精品夜色7777狼人| 麻豆精品在线观看| 亚洲区国产区| 久久精品九九| 久久免费视频观看| 亚洲精品视频免费| 牛牛影视久久网| 欧美视频在线免费看| 激情综合网激情| 一区二区三区免费在线观看| 久久爱www| 另类尿喷潮videofree| 欧美成人高清视频| 国产亚洲人成网站在线观看| 亚洲国产欧美日韩精品| 久久精品国产91精品亚洲| 欧美精品粉嫩高潮一区二区| 欧美视频日韩视频| 亚洲国产精品成人综合色在线婷婷| 欧美美女喷水视频| 日韩视频三区| 欧美日韩性视频在线| 国产一区二区三区在线观看网站| 国产伦精品一区二区三区免费迷| 国产伦精品一区二区三区照片91| 国产精品国产成人国产三级| 亚洲一品av免费观看| 亚洲一区在线观看视频| 欧美日韩一级片在线观看| 欧美日韩一区视频| 亚洲午夜羞羞片| 久久久久久久一区| 亚洲视频久久| 国产精品一区二区三区四区| 国内精品一区二区| 亚洲午夜影视影院在线观看| 国产精品永久入口久久久| 激情国产一区二区| 日韩亚洲在线| 欧美大片在线观看一区| 欧美精品一区二区蜜臀亚洲| 国内免费精品永久在线视频| 在线综合+亚洲+欧美中文字幕| 亚洲一区二区三区在线播放| 欧美色中文字幕| 欧美不卡视频一区发布| 欧美精品黄色| 国产精品丝袜白浆摸在线| 欧美视频久久| 狼狼综合久久久久综合网| 欧美三级特黄| 一区二区精品国产| 国产精品私房写真福利视频| 欧美视频官网| 国内精品久久久久影院 日本资源| 狠狠狠色丁香婷婷综合久久五月| 一区二区三区精品| 香蕉乱码成人久久天堂爱免费| 国产精品观看| 亚洲午夜日本在线观看| 国产日韩在线播放| 欧美精品18videos性欧美| 欧美一区二区三区免费视| 欧美体内she精视频在线观看| 国产日本欧美一区二区三区在线| 欧美成人r级一区二区三区| 国产精品久久久久久妇女6080| 亚洲欧美制服中文字幕| 亚洲国产免费看| 欧美午夜视频在线| 黄色工厂这里只有精品| 国内成人精品2018免费看| 欧美国产精品劲爆| 国内久久婷婷综合| 欧美日韩岛国| 韩国女主播一区二区三区| 欧美激情网站在线观看| 国产日本欧洲亚洲| 国产精品亚发布| 影音先锋一区| 中国av一区| 欧美一区二区三区在线观看视频| 国产女人精品视频| 欧美性事免费在线观看| 欧美夜福利tv在线| 欧美电影免费观看网站| 久久精品夜色噜噜亚洲a∨| 亚洲天天影视| 在线看不卡av| 这里只有精品在线播放| 在线观看国产日韩| 久久精品男女| 亚洲国产婷婷香蕉久久久久久| 亚洲精品九九| 久久亚洲私人国产精品va| 久久躁狠狠躁夜夜爽| 欧美国产一区二区| 在线电影欧美日韩一区二区私密| 欧美亚洲日本一区| 国产精品99久久久久久久久久久久| 国产视频不卡| 国产麻豆综合| 一本色道久久综合亚洲精品高清| 国产精品一区一区| 尤物视频一区二区| 一区在线视频观看| 国产一区二区精品久久| 久久久高清一区二区三区| 国产亚洲一区精品| 欧美精品久久一区二区| 正在播放欧美视频| 国产精品成人观看视频国产奇米| 国产无一区二区| 亚洲欧美日韩一区二区在线| 亚洲欧美在线一区二区| 欧美aⅴ99久久黑人专区| 亚洲一区精彩视频| 国产精品自在欧美一区| 国产欧美日韩视频一区二区三区| 亚洲黄色尤物视频| 亚洲大胆视频| 国产精品mv在线观看| 亚洲欧美日本日韩|