www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 消費電子 > 消費電子
[導(dǎo)讀]以TMS320C6203為硬件平臺,設(shè)計了高速G.729ab多通道聲碼器。使用純匯編指令與C語言結(jié)合優(yōu)化編程提高核心編解碼算法效率,實時支持最大31個話路語音的G.729ab編解碼。利用TMS320C6203的在片外設(shè)McBSP提供聲碼器連接PSTN的標(biāo)準(zhǔn)E1接口,設(shè)計了用于分組數(shù)據(jù)收發(fā)的RTP協(xié)議接口,利用TMS320C6203的HPI接口方式與上層處理器連接,使得聲碼器可靈活地應(yīng)用于媒體網(wǎng)關(guān)。

在VoIP媒體網(wǎng)關(guān)設(shè)備中,語音壓縮編碼是其關(guān)鍵技術(shù)之一。在ITU-T發(fā)布的應(yīng)用于VoIP的語音壓縮編解碼標(biāo)準(zhǔn)中,G.729是應(yīng)用較為廣泛的一種。G.729采用“共軛結(jié)構(gòu)代數(shù)碼本激勵線性預(yù)測編碼”(CS-ACELP)算法,算法幀長為lO ms,編碼后速率為8 Kb/s。G.729有兩個附件:附件A給出一種低復(fù)雜度的算法,可應(yīng)用于多媒體同步語音和數(shù)據(jù);附件B在標(biāo)準(zhǔn)算法的基礎(chǔ)上增加了靜音檢測壓縮算法以降低平均傳輸率,包括靜音檢測(VAD)和舒適噪音產(chǎn)生(CNG)。文獻對G.729語音壓縮編碼算法的具體原理中有詳盡的描述,本文的論述重點在算法的匯語言優(yōu)化、聲碼器的DSP硬件接口設(shè)計,以及其在媒體網(wǎng)關(guān)中的應(yīng)用。

1 G.729ab編解碼核心算法優(yōu)化
    本文選擇TI公司的TMS320C6203芯片為核心,實現(xiàn)G.729ab聲碼器設(shè)計。TMS320C62xx系列DSP的集成開發(fā)環(huán)境Code Composer Studio(簡稱CCS)支持標(biāo)準(zhǔn)C語言和匯編混合編程的方式編程,為了提高編解碼算法的效率,本文對ITU_T的標(biāo)準(zhǔn)G.729ab的C語言原碼進行匯編指令優(yōu)化設(shè)計。同時,對于上層編解碼器控制函數(shù),采用C語言開發(fā),以提高聲碼器的可維護性。
    C62xx采用6級流水線結(jié)構(gòu),提供了A,B兩組(共32個)通用寄存器,8個功能單元(.L1,.L2,.S1,.S2,.M1,.M2,.D1和.D2),最多同時可以有8條指令處在不同的執(zhí)行階段并行。流水線結(jié)構(gòu)是DSP實現(xiàn)高速運算的重要技術(shù)。由于不同指令的指令周期不同,需要在多周期指令后插入足夠的NOP(空操作)指令,以避免流水線沖突。
    在G.729ab的標(biāo)準(zhǔn)C代碼中,有大量的循環(huán)體。循環(huán)控制的關(guān)鍵跳轉(zhuǎn)指令B,需要等待5個指令周期,大量的NOP操作將降低代碼的效率。為了提高循環(huán)效率,可以合理安排指令順序,在一個匯編循環(huán)體內(nèi)完成多個C循環(huán)的運算的流水線操作。用匯編指令實現(xiàn)如下簡單的for循環(huán)求信號能量的程序段為例:
   
    上述示例可使用如下匯編程序段實現(xiàn):
   
    如上優(yōu)化后,循環(huán)體LOOP僅為一個周期,在這一個周期中有6條并行運行的指令。其中,內(nèi)存讀取指令LDFI需4個周期,故乘法指令SMPY是將向前追溯4個循環(huán)周期的內(nèi)存讀取結(jié)果相乘。同理,SMPY指令需2個周期,故SADD指令是將2個循環(huán)周期之前的相乘結(jié)果相加。B0和A1配合用于循環(huán)控制,在等待跳轉(zhuǎn)指令B有效的5個延時周期內(nèi),依次進行隨后的后一循環(huán)的取數(shù),前第3個循環(huán)的相乘,前一個循環(huán)的求和、循環(huán)控制和跳轉(zhuǎn)指令,依次類推。上述優(yōu)化實現(xiàn)了最優(yōu)循環(huán)效率。
    本設(shè)計優(yōu)化后核心編解碼算法代碼完全符合ITUT G.729ab標(biāo)準(zhǔn),并通過了ITU-T的所有測試矢量。使用300 MHz主頻的TMS320C6203實現(xiàn)聲碼器,單片可支持31路G.729ab算法。

2 聲碼器的DSP硬件接口設(shè)計
    在媒體網(wǎng)關(guān)中,聲碼器的功能是實現(xiàn)PSTN的E1語音信號和數(shù)據(jù)網(wǎng)分組語音壓縮信號之間的編解碼轉(zhuǎn)化。利用TMS320C6203片內(nèi)固化設(shè)置的McBSP接口(多通道緩存串行接口)與HPI接口(主處理器接口),可以實現(xiàn)DSP與E1總線、以及數(shù)據(jù)網(wǎng)上層處理器的連接。結(jié)構(gòu)示意圖如圖1所示。


    TM320C6203通過內(nèi)置McBSP與EDMA(Enhanced Directory Memory Access,增強型直接內(nèi)存訪問)控制器配合,可實現(xiàn)與E1標(biāo)準(zhǔn)接口的鏈接。設(shè)置McBSP的接收/發(fā)送控制寄存器(R/XCR),使串口按照標(biāo)準(zhǔn)E1數(shù)據(jù)格式進行數(shù)據(jù)收發(fā);設(shè)置串口管腳控制寄存器(PCR),控制串口采用外部E1總線的時鐘和幀同步信號;設(shè)置串口控制寄存器(SPCR),控制串口的R/XINT(收/發(fā)中斷)由EDMA響應(yīng)。
    TMS320C6203支持16個EDMA通道,其12~15通道可用于響應(yīng)串口收、發(fā)中斷。以串口接收數(shù)據(jù)為例:本設(shè)計中設(shè)計了乒、乓兩個串口數(shù)據(jù)接收緩存區(qū)。
    串口寄存器中的數(shù)據(jù)通過EDMA模式緩存到乒緩存區(qū),當(dāng)乒緩存區(qū)滿時,EDMA參數(shù)重載,控制切換,將數(shù)據(jù)緩存至乓緩存區(qū),同時給出EDMA中斷,通知CPU讀取一幀數(shù)據(jù)。通過McBSP接口發(fā)送數(shù)據(jù)的過程完全類似。
    聲碼器通過DSP的HPI接口與上層處理器連接,實現(xiàn)數(shù)據(jù)網(wǎng)分組語音壓縮信號的收發(fā)。在HPI接口中,設(shè)計了以太網(wǎng)數(shù)據(jù)發(fā)送/接收緩存區(qū),并為每個緩存區(qū)設(shè)計了RP(Read Pointer,讀指針)和WP(Write Pointer,寫指針),用于控制上層處理器和DSP之間的編碼數(shù)據(jù)交互。同時上層處理器通過HPI接口向聲碼器發(fā)送指令,控制通道的打開或關(guān)閉。

3 在媒體網(wǎng)關(guān)中的應(yīng)用設(shè)計
    聲碼器內(nèi)部的主控程序采用定時中斷方式訪問HPI接口,根據(jù)上層處理器的指令打開或關(guān)閉通道。同時主程序使用輪詢方式處理從E1接口來的PCM話音信號;根據(jù)相應(yīng)的通道工作狀態(tài)設(shè)置編解碼算法參數(shù),將話音信號壓縮編碼;編碼后的語音數(shù)據(jù),通過HPI接口輸出到上層處理器,進入數(shù)字網(wǎng)絡(luò)。使用完全類似的輪詢處理方式,逆向處理從來自數(shù)字網(wǎng)絡(luò)的編碼數(shù)據(jù)。
    由于數(shù)字網(wǎng)絡(luò)屬于分組通信,必須有合適的多媒體實時流網(wǎng)絡(luò)傳輸協(xié)議以保證語音的連貫性。在聲碼器的HPI接口控制程序中,設(shè)計了一個提供給上層處理器的RTP(Real-time Transport Protocol,實時傳輸協(xié)議)接口,用于完成編碼和解碼數(shù)據(jù)包的輸出和輸入及相應(yīng)的RTP成幀、解幀功能,具體功能設(shè)計如下:
    RTP打包和發(fā)送:RTP包由具有固定格式的包頭和數(shù)據(jù)部分組成。將編碼后的語音數(shù)據(jù),按照RTP打包參數(shù)的要求組織RTP頭和RTP凈荷。  RTP包頭中的關(guān)鍵字段為SN(Sequence Number,序列號)和TS(Time Stamp,時間戳)。SN用于對RTP包進行排序。每發(fā)送一個RTP數(shù)據(jù)包,SN加1。TS用于標(biāo)識RTP數(shù)據(jù)包中第一個字節(jié)采樣時的時刻,以語音樣本為單位遞增;對于語音包和靜音壓縮包,TS增值一致。另外,RTP包頭中的PT(Payload Type,負(fù)載類型)字段用于指示RTP凈荷的數(shù)據(jù)編碼格式。在RFC3550中規(guī)定了標(biāo)準(zhǔn)音頻載荷類型:G.729編碼對應(yīng)的PT為18。
    由于RTP包頭中沒有長度字段,故對RTP包進行了外部擴展:將打好的RTP包作為凈荷,附加上RTP包數(shù)據(jù)長度、通道號,組成“以太網(wǎng)數(shù)據(jù)包”。針對C6203的32位尋址的HPI總線接口,設(shè)計以太網(wǎng)數(shù)據(jù)包格式如圖2所示。


    RTP包發(fā)送:即寫“以太網(wǎng)數(shù)據(jù)包”至“以太網(wǎng)數(shù)據(jù)發(fā)送緩存區(qū)”。首先根據(jù)該緩存區(qū)的讀寫指針判斷剩余空間;如寫空間不夠,則放棄此次寫操作,該數(shù)據(jù)包同時被丟棄。如寫空間足夠,則將數(shù)據(jù)包寫入發(fā)送緩存區(qū),并更新寫指針。上層處理器根據(jù)該緩存區(qū)的讀寫指針判斷該緩存區(qū)內(nèi)是否有新數(shù)據(jù),并進行讀操作,以及更新讀指針。
    RTP包接收、排序和緩存:分組通信需要考慮語音的防抖動處理。本文通過設(shè)置靜態(tài)抖動緩沖區(qū)實現(xiàn)去抖動。首先根據(jù)“以太網(wǎng)數(shù)據(jù)接收緩存區(qū)”的讀寫指針判斷是否有新的數(shù)據(jù)包到來,如果有,則將該數(shù)據(jù)包根據(jù)RTP的SN和TS排列在相應(yīng)通道的RTP緩存隊列中。重復(fù)上述過程直至將“以太網(wǎng)數(shù)據(jù)接收緩存區(qū)”中所有的數(shù)據(jù)包讀完,然后更新該緩存區(qū)的DSP讀指針。對于每個通道的RTP緩存隊列,當(dāng)緩存語音數(shù)據(jù)到達(dá)預(yù)先定義的閾值K時,給出標(biāo)志允許該通道開始進行語音數(shù)據(jù)解碼。如果數(shù)據(jù)分組有抖動延遲,則解碼語音可繼續(xù)保持K時間單位不被打斷。

4 結(jié)語
    在純匯編并行優(yōu)化的基礎(chǔ)上設(shè)計了高效的G.729ab聲碼器;利用TMS320C6203的在片外設(shè)McBSP實現(xiàn)了連接PSTN的標(biāo)準(zhǔn)E1接口;設(shè)計了用于分組數(shù)據(jù)收發(fā)的RTP協(xié)議接口,利用TMS320C6203的HPI接口方式與上層處理器連接,使聲碼器可靈活應(yīng)用于媒體網(wǎng)關(guān)。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

法國高端氫動力汽車制造商Hopium發(fā)布全球首款氫動力轎車 -- Hopium Machina Vision。在2022年巴黎汽車周上,Hopium宣布重新開放Hopium Machina Vision訂購,首批交付車輛...

關(guān)鍵字: 汽車制造 PI CHINA MAC

阿布扎比和沙特正在權(quán)衡,是否在瑞信(Credit Suisse)股價低迷之際,對該行的投資銀行和其他業(yè)務(wù)進行投資。阿聯(lián)酋和沙特在分別探索通過各自的主權(quán)基金,例如阿布扎比穆巴達(dá)拉發(fā)展公司和沙特公共投資基金(PIF)進行潛在...

關(guān)鍵字: MICHAEL UI SE PI

本篇主要講了BLE的Link Layer,包括鏈路層定義的角色和狀態(tài),空中接口數(shù)據(jù)包的通信格式以及各個字段的含義,方便我們?nèi)シ治鯨OG和定位問題。

關(guān)鍵字: BLE 鏈路層 數(shù)據(jù)包

2020 年,公司處理器產(chǎn)品四核龍芯 3A5000/3B5000 研制成功。龍芯 3A5000/3B5000 基于龍芯 3A4000/3B4000 進行工藝升級,主頻 2.3-2.5GHz, 單核通用處理性能是龍芯 3A...

關(guān)鍵字: 處理器 芯片 市場化

自主研發(fā)芯片對其自身有更為實際的意義。首先,自主研發(fā)芯片可以減輕對上游供應(yīng)鏈的依賴。其次,自主芯片更方便打造出獨家特色產(chǎn)品,增強產(chǎn)品在市場上的競爭力。再次,自主研發(fā)芯片能降低成本,提高利潤。

關(guān)鍵字: 芯片 處理器 市場

本文中,小編將對無線模塊予以介紹,如果你想對無線模塊的詳細(xì)情況有所認(rèn)識,或者想要增進對它的了解程度,不妨請看以下內(nèi)容哦。

關(guān)鍵字: 無線模塊 寄存器 處理器

(全球TMT2022年10月11日訊)近日,昆侖芯(北京)科技有限公司的第二代云端通用人工智能計算處理器昆侖芯2代AI芯片及AI加速卡與飛槳完成III級兼容性測試,兼容性表現(xiàn)良好。 產(chǎn)品兼容性證明 本次...

關(guān)鍵字: 人工智能 加速卡 處理器 模型

北京2022年10月9日 /美通社/ -- 中國國家藥品監(jiān)督管理局(NMPA)正式宣布批準(zhǔn)了赫賽汀®(通用名:曲妥珠單抗注射液(皮下注射)),聯(lián)合化療用于治療早期和轉(zhuǎn)移性HER2陽性乳腺癌患者。作為全球首個抗HE...

關(guān)鍵字: 靜脈 BSP PI ST

(全球TMT2022年10月8日訊)愛立信全新上線超過200個AI App的業(yè)務(wù)持續(xù)性解決方案,進一步保障并增強了CSP移動網(wǎng)絡(luò)業(yè)務(wù)持續(xù)運行的效率和健壯性。該方案由愛立信與運營商聯(lián)合開發(fā),主要用于運維過程中的預(yù)測性維護...

關(guān)鍵字: AMD 處理器 愛立信 EPYC

臺北2022年10月3日 /美通社/ -- AMD EPYC在CPU市場上始終處于變革性顛覆者的地位。從早期7001系列處理器推出高達(dá)32核、128 條PCIe Gen3通道到現(xiàn)在的"米蘭"7003系...

關(guān)鍵字: AMD 處理器 EPYC BSP

消費電子

95872 篇文章

關(guān)注

發(fā)布文章

編輯精選

技術(shù)子站

關(guān)閉