《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 嵌入式媒體服務(wù)器語(yǔ)音編解碼算法集成與優(yōu)化
嵌入式媒體服務(wù)器語(yǔ)音編解碼算法集成與優(yōu)化
來(lái)源:電子技術(shù)應(yīng)用2014年第4期
李昊然,谷源濤
(清華大學(xué) 電子工程系,北京100084)
摘要: 介紹面向視頻會(huì)議的嵌入式媒體服務(wù)器中語(yǔ)音編解碼算法的集成和優(yōu)化技術(shù)。本系統(tǒng)采用ARM+DSP的嵌入式架構(gòu)并基于TMS320DM8168芯片實(shí)現(xiàn)。在實(shí)現(xiàn)G.722語(yǔ)音編解碼算法的基礎(chǔ)上,參考xDM標(biāo)準(zhǔn)對(duì)編解碼函數(shù)進(jìn)行封裝。隨后將此函數(shù)集成入遠(yuǎn)程處理器執(zhí)行框架(RPE),并在ARM端成功調(diào)用DSP上的語(yǔ)音編解碼模塊。實(shí)際測(cè)試驗(yàn)證,上述編解碼模塊運(yùn)行功能正確,執(zhí)行效率較高,滿足了視頻會(huì)議對(duì)媒體服務(wù)器的語(yǔ)音處理要求。
中圖分類號(hào):TN912
文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):0258-7998(2014)04-0008-03
Integration and optimization of speech codec algorithm in embedded media server
Li Haoran,Gu Yuantao
Department of Electronic Engineering,Tsinghua University,Beijing 100084,China
Abstract: Aiming at the implementation of an embedded media server for video conference system, the packaging and optimization techniques for speech codec are studied. This embedded system is designed based on TMS320DM8168, which has an ARM+DSP heterogeneous architecture. After optimizing and validating the G.722 speech codecs, the codec functions are packaged into xDM-compliant modules. Consequently, these modules are integrated into a framework of remote processor execution (RPE), which makes the speech codec modules executed in DSP and utilizable for the on-chip ARM. Finally, in real implementation, the codec modules are validated. The result shows that the modules have high efficiency and meet the speech codec requirement for the media server in video conference system.
Key words : embedded system;DaVinci technology;video conference;RPE;G.722

    視頻會(huì)議系統(tǒng)因其便捷、高效、經(jīng)濟(jì)、安全等特點(diǎn),在政府、軍事、商貿(mào)、醫(yī)療、教育等部門(mén)有著廣泛的應(yīng)用和需求。隨著通信技術(shù)和計(jì)算機(jī)技術(shù)的不斷發(fā)展,實(shí)現(xiàn)高集成度、低成本的嵌入式視頻會(huì)議系統(tǒng)方案已成為可能[1]。
    在基于TMS320DM8168達(dá)芬奇多核處理器的嵌入式視頻會(huì)議媒體服務(wù)器的語(yǔ)音編解碼器解決方案中,視頻流的編解碼處理可以使用芯片內(nèi)部的專用高清視頻協(xié)處理器(HVICP2)高效完成[2]。而語(yǔ)音流的編解碼處理需要在DSP中自行設(shè)計(jì)編解碼處理算法完成。此外,還需要提供一種支持ARM端遠(yuǎn)程控制并調(diào)用DSP端算法的解決方案。
    本文討論G.722編解碼器在DM8168上的C674x DSP核的實(shí)現(xiàn)和優(yōu)化策略,并將實(shí)現(xiàn)的G.722編解碼算法封裝為標(biāo)準(zhǔn)的xDM模塊。此外,本文還介紹一種ARM端調(diào)用DSP執(zhí)行該算法的方案:利用達(dá)芬奇技術(shù)的特性,通過(guò)遠(yuǎn)程處理器執(zhí)行(RPE)機(jī)制,在ARM端成功調(diào)用DSP上的編解碼模塊。實(shí)驗(yàn)和測(cè)試結(jié)果表明,該算法和集成方案可以滿足視頻會(huì)議媒體服務(wù)器中的語(yǔ)音編解碼處理的功能需求。
1 視頻會(huì)議媒體服務(wù)器系統(tǒng)方案
    本設(shè)計(jì)中,嵌入式視頻會(huì)議媒體服務(wù)器主芯片選用德州儀器公司新近推出的達(dá)芬奇系列多媒體處理芯片TMS320DM8168。該芯片上集成了1個(gè)1.2 GHz的ARM Cortex A8、1個(gè)1 GHz的浮定點(diǎn)兼容的C674x DSP、3個(gè)高清視頻圖像協(xié)處理器(HDVICP2)以及大量的外設(shè)單元。其中片上集成的3個(gè)HDVICP2處理器可以進(jìn)行3路獨(dú)立的1 080 p、60 f/s的H.264編碼或解碼,或者更多路低分辨率、低幀速率的編碼或解碼。DSP則用來(lái)做定制算法的開(kāi)發(fā)。在嵌入式視頻會(huì)議媒體服務(wù)器的系統(tǒng)設(shè)計(jì)中采用ARM+HVICP2+DSP的異質(zhì)多核架構(gòu),既能夠保持系統(tǒng)構(gòu)建的靈活性,又能提供強(qiáng)大的處理能力。
    嵌入式視頻會(huì)議媒體服務(wù)器的主要功能是:從會(huì)議預(yù)先商定的多個(gè)網(wǎng)絡(luò)端口獲取來(lái)自不同會(huì)議終端的視頻流,并將遵循H.264編碼標(biāo)準(zhǔn)的視頻流解碼后進(jìn)行混合拼接,將拼接結(jié)果重新編碼后通過(guò)指定網(wǎng)絡(luò)端口分別發(fā)至各會(huì)議終端。語(yǔ)音流的處理類似,媒體服務(wù)器將來(lái)自各終端的G.722語(yǔ)音流解碼后,完成混音疊加,再將不同的混音結(jié)果按照G.722標(biāo)準(zhǔn)編碼發(fā)送至各與會(huì)終端。
    本系統(tǒng)的處理框圖如圖1所示。以太網(wǎng)上解包獲得的多路H.264視頻流的編解碼處理全交由片上的HVICP2處理器來(lái)完成。ARM端負(fù)責(zé)系統(tǒng)高層信息流控制和各通道解碼后YUV視頻流的混合拼接,以及語(yǔ)音流的混音疊加功能。本文將著重介紹DSP端的G.722編解碼算法實(shí)現(xiàn)、優(yōu)化,以及在ARM端的調(diào)用框架。

    圖3所示為G.722解碼器框圖[3],由于解碼器的構(gòu)成與編碼器的構(gòu)成有較強(qiáng)的對(duì)稱性,在此不再贅述。

2.2 G.722算法優(yōu)化方案
    在本設(shè)計(jì)中,系統(tǒng)同時(shí)存在多路語(yǔ)音輸入,需要實(shí)例化多個(gè)G.722解碼模塊。為在保證實(shí)時(shí)性的同時(shí)節(jié)省計(jì)算資源,有必要研究提升算法性能的方法。由于G.722算法是在DM8168內(nèi)部集成的C674x DSP內(nèi)核上實(shí)現(xiàn),所以可以通過(guò)改進(jìn)算法的數(shù)據(jù)結(jié)構(gòu)和DSP操作順序,充分利用C674x內(nèi)核的并行性和按字處理的機(jī)制,提高算法執(zhí)行效率。
    G.722編碼器和解碼器的正交鏡像濾波器具有一定的對(duì)稱性,結(jié)合C674x DSP的特點(diǎn),可以對(duì)正交鏡像濾波器進(jìn)行改進(jìn)。
    如圖4所示,以編碼端為例,編碼正交鏡像濾波器執(zhí)行子帶采樣和濾波,需要按照式(1)~式(4)對(duì)輸入xin進(jìn)行濾波處理,生成xL和xH,即兩個(gè)子帶自適應(yīng)脈沖調(diào)制編碼器的輸入。系統(tǒng)輸入的xin為16 bit寬度的有符號(hào)整型變量,在內(nèi)存空間中連續(xù)存儲(chǔ),可以直接使用DSP 32 bit內(nèi)存訪問(wèn)指令,一次載入兩個(gè)16 bit數(shù)據(jù)(圖4中I)。同時(shí)注意到在系統(tǒng)中,奇數(shù)序號(hào)的移位寄存器單元(x[2k+1])僅影響奇數(shù)部分(圖4左半部分)濾波器的輸出xodd,偶數(shù)移位寄存器單元僅影響偶數(shù)部分(圖4右半部分)濾波器輸出xeven,移位寄存器工作時(shí)也可以按照32 bit數(shù)直接處理(圖4中II)。此外,在進(jìn)行濾波的乘累加運(yùn)算時(shí),若將兩個(gè)相鄰的16 bit奇數(shù)寄存器(如:x[23]和x[21])數(shù)據(jù)和兩個(gè)相鄰的濾波器系數(shù)(如:h[0]和h[1])數(shù)據(jù)分組后,分別以32 bit形式存儲(chǔ),則可運(yùn)用C674x DSP提供的半字乘加運(yùn)算DOTP2,用一個(gè)指令完成兩次乘運(yùn)算和一個(gè)加運(yùn)算(圖4中III、IV)。使用圖4的結(jié)構(gòu)可以減少DSP在進(jìn)行編碼正交鏡像濾波時(shí)的所需的指令數(shù)。同樣,改進(jìn)手段也適用于解碼部分的正交鏡像濾波器。

    表1列出了幾種不同優(yōu)化情況下,編解碼器核心處理函數(shù)處理長(zhǎng)度為10 ms的單幀語(yǔ)音數(shù)據(jù)時(shí),C674x DSP上的執(zhí)行指令數(shù)對(duì)比。

    從運(yùn)行指令數(shù)可以看出,結(jié)合-o2編譯選項(xiàng)和本文提出的代碼優(yōu)化方案后可以大幅度縮減算法執(zhí)行所需的周期,提高算法性能。
3 G.722語(yǔ)音處理算法集成
3.1 xDM算法標(biāo)準(zhǔn)封裝

    出于系統(tǒng)開(kāi)發(fā)和集成的考慮,在達(dá)芬奇平臺(tái)上進(jìn)行DSP算法開(kāi)發(fā)時(shí)需要遵循一定的標(biāo)準(zhǔn)規(guī)范,即TI提出的DSP算法標(biāo)準(zhǔn)xDAIS。xDAIS標(biāo)準(zhǔn)是一個(gè)龐大的體系,TI在此基礎(chǔ)上進(jìn)行擴(kuò)展,提供一個(gè)輕量級(jí)的算法標(biāo)準(zhǔn)框架xDM(xDAIS for Digital Media)。使用xDM標(biāo)準(zhǔn)可以較快速地將一個(gè)開(kāi)發(fā)者自定義的算法實(shí)體集成至達(dá)芬奇系統(tǒng)。
    本設(shè)計(jì)中,按照xDMiUniversal接口標(biāo)準(zhǔn),通過(guò)修改數(shù)據(jù)結(jié)構(gòu)和上層處理調(diào)用接口,將G.722語(yǔ)音編解碼算法代碼分別封裝為G722ENC和G722DEC兩個(gè)xDM算法包。
3.2 遠(yuǎn)程調(diào)用機(jī)制
    在達(dá)芬奇處理器的軟件結(jié)構(gòu)中,ARM負(fù)責(zé)運(yùn)行嵌入式Linux操作系統(tǒng),主控系統(tǒng)信流,調(diào)度資源并分配任務(wù)。在如上以ARM為主核的機(jī)制下,為使ARM能夠調(diào)度DSP執(zhí)行特定的算法操作,需要一種跨內(nèi)核的算法調(diào)度機(jī)制。基于TI提供的Codec Engine(CE)方案是實(shí)現(xiàn)該跨核調(diào)度機(jī)制的一種方法[4]。然而,在本視頻會(huì)議系統(tǒng)中,由于多路視頻處理的需要,底層選取的多通道處理框架McFw(Multichannel Framework)與Codec Engine并不兼容。因此,本設(shè)計(jì)方案選取了遠(yuǎn)程處理器執(zhí)行框架RPE(Remote Processor Execution)來(lái)實(shí)現(xiàn)ARM對(duì)DSP的跨核調(diào)度功能。
    如圖5所示,虛線框內(nèi)是RPE框架。RPE客戶端可以通過(guò)xDM解編函數(shù)將RPE操作接口執(zhí)行的操作傳輸?shù)较㈥?duì)列;DSP端的RPE根服務(wù)器和RPE實(shí)例服務(wù)器將檢查消息隊(duì)列并控制xDM算法服務(wù)器,創(chuàng)建或調(diào)用某個(gè)特定的xDM算法實(shí)例。所以ARM調(diào)用DSP執(zhí)行算法的實(shí)質(zhì)是:ARM端通過(guò)本地調(diào)用RPE操作接口,RPE通過(guò)底層的消息隊(duì)列機(jī)制傳輸操作消息,由xDM解編函數(shù)完成地址轉(zhuǎn)換和參數(shù)傳遞,控制DSP端RPE服務(wù)器框架加載并執(zhí)行指定的xDM算法實(shí)例。

3.3 編解碼器集成性能測(cè)試
    實(shí)際系統(tǒng)中需要在ARM端完成對(duì)G.722編解碼器的調(diào)用,同時(shí)統(tǒng)計(jì)RPE框架和DSP語(yǔ)音數(shù)據(jù)處理的實(shí)際性能,以確保系統(tǒng)對(duì)語(yǔ)音處理的實(shí)時(shí)性。測(cè)試中選取的語(yǔ)音測(cè)試向量單幀緩存長(zhǎng)度為10 ms,對(duì)應(yīng)的編碼器和解碼器輸入數(shù)據(jù)緩存長(zhǎng)度分別為320 B和80 B。ARM端通過(guò)RPE機(jī)制分別調(diào)用G.722編解碼模塊處理對(duì)應(yīng)長(zhǎng)度緩存的10 000幀數(shù)據(jù),統(tǒng)計(jì)計(jì)算RPE調(diào)用和G.722編解碼所需的總時(shí)間以及處理單幀所需的平均時(shí)間。測(cè)試方法如圖6所示。

    實(shí)際測(cè)試結(jié)果表明,使用本文提出的代碼優(yōu)化方案后編解碼處理效率有明顯提高,所需計(jì)算資源減少。而且處理單幀數(shù)據(jù)所需時(shí)間遠(yuǎn)小于數(shù)據(jù)間隔(10 ms),可以滿足系統(tǒng)實(shí)時(shí)性的要求,在多線程的處理處理?xiàng)l件下,可以更大程度上節(jié)省DSP的計(jì)算開(kāi)銷。
    利用TMS320DM8168達(dá)芬奇處理器構(gòu)建嵌入式視頻會(huì)議媒體服務(wù)器時(shí),視頻流編解碼處理可以由專用的視頻協(xié)處理器HVICP2完成,而語(yǔ)音G.722編解碼器則需要利用片上資源自行設(shè)計(jì)實(shí)現(xiàn)。本文介紹了G.722編碼器和解碼器在片內(nèi)DSP核上的實(shí)現(xiàn),并根據(jù)TI C674x DSP核的特點(diǎn)改進(jìn)了正交鏡像濾波的流程,提升了算法運(yùn)行效率。同時(shí)還介紹了G.722編解碼器的xDM算法封裝技術(shù),通過(guò)RPE架構(gòu),成功在ARM端應(yīng)用程序調(diào)用DSP執(zhí)行G.722編解碼。編解碼實(shí)驗(yàn)和嵌入式視頻會(huì)議系統(tǒng)實(shí)際運(yùn)行測(cè)試表明,該集成框架和編解碼算法處理數(shù)據(jù)速度快,精度高,完全能夠滿足嵌入式視頻會(huì)議系統(tǒng)中多路語(yǔ)音實(shí)時(shí)編解碼處理功能的要求。
參考文獻(xiàn)
[1] TALLA D,GOLSTON J.Using DaVinci technology for digital  video devices[J].IEEE Journals & Magazines,2007(40):53-61.
[2] Texas Instrument Incorporated.TMS320DM816x DaVinci  video processors(Rev D)[R].Dallas:Texas Instruments Inc.2013.
[3] ITU.Recommendation ITU-T G.722:7 kHz audio-coding  within 64 kbit/s[S].Geneva,2012.
[4] Kong Xiangping,Lin Hezhi,Huang Lianfen.Implementation  of G.729 codec based on DaVinci technology[C].International Conference on Multimedia and Information Technology,Chiang Tailand,2008:11-40.
[5] 陳發(fā)堂,郭麗強(qiáng).ARM+DSP嵌入式系統(tǒng)BootLoader在LTE中的實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,2013,39(5):25-28.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
主站蜘蛛池模板: 看全色黄大色大片免费 | 日韩不卡在线观看 | 天天做天天干 | 久久久综合视频 | 五月天婷婷在线观看高清 | 欧美另类丰满熟扫乱xxxxx | 欧美在线播放视频 | 欧美成人性视频在线黑白配 | 天天操天天射天天插 | 国产国语一级a毛片高清视频 | 久久免费播放视频 | 欧美人与牲动交a欧美精品 欧美人与日本人xx在线视频 | 久久精品视频91 | 色天天综合 | 最近中文字幕在线6 | 黄乱色伦短篇小说 | 国产精品黄在线观看免费网站 | 涩涩免费视频 | 动漫无遮羞视频免费网站 | 丝袜美女在线播放 | 中国国产一级毛片视频 | 农村妇女又色黄一级毛片 | 在线观看亚洲免费视频 | 亚洲导航深夜福利 | 视频二区日韩 | 国内精品卡一卡二卡三 | 日韩一二 | 亚洲综合在线另类色区奇米 | 视频福利在线 | 成人激情综合网 | 国产精品人人视频 | 免费国产a国产片高清不卡 免费国产a | 色偷偷888欧美精品久久久 | 香蕉一级视频 | 又黄又爽一线毛片免费观看 | 日韩欧美国产高清 | 欧美一区二区三区高清不卡tv | 一级毛片视频免费 | 国产精品香蕉在线一区二区 | 黄色网页在线观看 | 91在线 | 欧美 |