<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 消費(fèi)電子 > 設(shè)計(jì)應(yīng)用 > 基于SIP的H.264視頻電話終端設(shè)計(jì)

          基于SIP的H.264視頻電話終端設(shè)計(jì)

          ——
          作者: 時(shí)間:2008-01-14 來源: 收藏

            1 引 言

            終端系統(tǒng)的實(shí)現(xiàn)是個(gè)很復(fù)雜的過程,涉及多方面知識。其目的是利用互聯(lián)網(wǎng)或固定電話網(wǎng)等為彼此通訊的雙方不但能提供實(shí)時(shí)的語音交流而且可以實(shí)現(xiàn)視頻信息的即時(shí)傳輸。由于豐富的視頻數(shù)據(jù)和網(wǎng)絡(luò)可用帶寬的矛盾,的發(fā)展經(jīng)歷了漫長的發(fā)展過程,早在上世紀(jì)20年代就有人對他進(jìn)行探索和研究。

            (Session initiation Protocol)[1]協(xié)議是IETF于1999年提出的一種新的網(wǎng)絡(luò)多媒體通信的交互信令,他相對于市場主體的H.323協(xié)議具有簡單、擴(kuò)展性好、便于實(shí)現(xiàn)等優(yōu)點(diǎn),但當(dāng)構(gòu)建電信級的大網(wǎng)時(shí)也相當(dāng)復(fù)雜,此協(xié)議也在不斷的補(bǔ)充和完善中[2]。目前市場上出現(xiàn)越來越多支持的智能多媒體終端及相關(guān)軟件和軟交換設(shè)備,將成為IP業(yè)務(wù)的主流協(xié)議之一。

            H.264視頻編碼標(biāo)準(zhǔn)[3]與其他視頻編碼標(biāo)準(zhǔn)如H.263,MPEG-4等相比,其更高的壓縮效率和網(wǎng)絡(luò)親和性的優(yōu)點(diǎn)正是視頻電話及其各種應(yīng)用所需要的。

            本文基于SIP協(xié)議、以H.264為視頻編碼標(biāo)準(zhǔn)、采用TI的高速數(shù)字信號處理芯片TMS320DM643和三星的ARM9芯片S3C2410為主體設(shè)計(jì)并實(shí)現(xiàn)了一款視頻電話終端。

            2視頻電話終端的硬件系統(tǒng)設(shè)計(jì)

            視頻電話終端依據(jù)其使用方式的不同,大體上可分為"PC到PC"型和"電話到電話"型2大類。"PC到PC"型產(chǎn)品適合計(jì)算機(jī)用戶,如MSN,QQ視頻等,主要依賴用戶雙方的計(jì)算機(jī)加上合適的軟件實(shí)現(xiàn)。"電話到電話"型產(chǎn)品兩端都不需要計(jì)算機(jī),電話終端本身包含音視頻處理器及相應(yīng)的軟件完成音視頻即時(shí)通訊功能。由于此類產(chǎn)品使用簡單、安裝方便、便于控制、性價(jià)比合琿等優(yōu)點(diǎn),市場前景廣闊,是目前國內(nèi)外研究的熱點(diǎn)。他實(shí)現(xiàn)的方案有多種,如采用DSP,ARM芯片,專用的會(huì)議電視芯片等??紤]到生產(chǎn)成本、實(shí)現(xiàn)的難易程度、貨源、市場推廣、產(chǎn)品的升級更新等因素,本文確定的視頻電話終端系統(tǒng)的硬件方案為:使用TI公司的通用DSP芯片TMS320DM643利用純軟件實(shí)現(xiàn)音視頻編解碼、用三星的ARM9芯片S3C2410實(shí)現(xiàn)各種接口、嵌入式操作系統(tǒng)和傳輸控制協(xié)議等。這樣既不存在芯片多成本高的問題,又能保持很高的性能,可通過簡單的程序下載實(shí)現(xiàn)軟件升級或增加新的編解碼標(biāo)準(zhǔn)。系統(tǒng)的硬件結(jié)構(gòu)框圖如圖l所示。

            系統(tǒng)硬件主要由TI公司的TMS320DM643和三星公司的S3C2410組成。其中TMS320DM643完成音頻壓縮編解碼G.711/G.729/G.723.1和視頻壓縮編解碼H.264;S3C2410完成SIP協(xié)議和嵌入式OS及各種接口如RS232、復(fù)合視頻輸入/輸出、數(shù)字CCD攝像頭、LCD、RJ45、以太網(wǎng)、鍵盤等。音頻信號的輸入/輸出通過TI公司的TLV320AIC23送入TMS320DM643進(jìn)行壓縮編碼。

            

            3視頻電話終端系統(tǒng)的軟件設(shè)計(jì)

            3.1 系統(tǒng)軟件結(jié)構(gòu)

            在系統(tǒng)硬件完成后,剩下的需要大量丁作來編寫代碼實(shí)現(xiàn)各個(gè)功能模塊,最終實(shí)現(xiàn)整個(gè)系統(tǒng)。系統(tǒng)的軟件結(jié)構(gòu)如圖2所示。嵌入式OS是采用ARM-Linux內(nèi)核,硬件驅(qū)動(dòng)模塊主要是基于ARM 9的介于硬件和Linux內(nèi)核之間的軟件接口,為特定的硬件響應(yīng)定義好編程接口從而操作硬件,這2大模塊的技術(shù)目前已相當(dāng)成熟,相關(guān)的文獻(xiàn)非常多;音頻編碼采用G.711/729/723.1,是為了讓終端能適應(yīng)音頻編解碼的非對稱操作,有良好的兼容性,他可直接選用TI公司第三方提供的語音開發(fā)軟件包。本文根據(jù)視頻電話終端的特點(diǎn)和當(dāng)前實(shí)現(xiàn)的技術(shù)難點(diǎn)主要討論視頻編碼H.264和SIP協(xié)議棧2大核心技術(shù)的硬件實(shí)現(xiàn)。

            3.2 H.264的實(shí)現(xiàn)

            H.264視頻編碼標(biāo)準(zhǔn)雖然在設(shè)計(jì)時(shí)考慮到各種不同的應(yīng)用和傳輸環(huán)境,其高的壓縮效率和網(wǎng)絡(luò)親和性是以大的運(yùn)算量為代價(jià)的,而在視頻電話應(yīng)用中雖然帶寬有限卻實(shí)時(shí)性要求高,所以考慮到實(shí)現(xiàn)的難易程度和技術(shù)本身必須對H.264編碼方案進(jìn)行精心選擇(這里理所當(dāng)然選用基本級),在利用DSP芯片實(shí)現(xiàn)時(shí)對程序要進(jìn)行優(yōu)化[4]。這里用C語音編程,利用TI公司的集成開發(fā)環(huán)境CCS2.2進(jìn)行開發(fā)和調(diào)試,為了降低H.264編碼算法的復(fù)雜性,適合視頻電話的實(shí)時(shí)應(yīng)用,主要從一下幾個(gè)方面對其進(jìn)行優(yōu)化:

          {{分頁}}

            (1)運(yùn)動(dòng)估計(jì)算法的簡化

            在視頻編碼中,運(yùn)動(dòng)估計(jì)算法起著非常關(guān)鍵的作用,通常約占一個(gè)壓縮方案總計(jì)算量的60%以上,所以這里采用一種快速的運(yùn)動(dòng)估計(jì)算法來降低運(yùn)算復(fù)雜度[5]。在H.264編碼標(biāo)準(zhǔn)中根據(jù)宏塊(MB)的不同劃分方式其對應(yīng)的預(yù)測誤差不同的特點(diǎn),將編碼模式簡化為4組,先根據(jù)預(yù)測誤差判斷當(dāng)前MB屬于哪一組,然后在用拉格朗日率失真算法選取該組中最佳的編碼模式,根據(jù)文獻(xiàn)[5]的實(shí)驗(yàn)結(jié)果,這樣做編碼時(shí)間會(huì)縮短3倍左右而解碼后圖像的PSNR只有略微下降(最壞的情況不會(huì)超過0.5 dB)。對于幀內(nèi)預(yù)測,如從預(yù)測塊P的9種可選預(yù)測模式選取使P塊和當(dāng)前編碼塊I之間最小的預(yù)測模式也太費(fèi)時(shí)間。對I幀中每個(gè)4



          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();