當(dāng)前位置:首頁 > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]基于SIP的H.264視頻電話終端設(shè)計(jì)

  1 引 言 

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

        SIP(Session initiation Protocol)[1]協(xié)議是IETF于1999年提出的一種新的網(wǎng)絡(luò)多媒體通信的交互信令,他相對(duì)于市場主體的H.323協(xié)議具有簡單、擴(kuò)展性好、便于實(shí)現(xiàn)等優(yōu)點(diǎn),但當(dāng)構(gòu)建電信級(jí)的大網(wǎng)時(shí)也相當(dāng)復(fù)雜,此協(xié)議也在不斷的補(bǔ)充和完善中[2]。目前市場上出現(xiàn)越來越多支持SIP的智能多媒體終端及相關(guān)軟件和軟交換設(shè)備,SIP將成為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ù)字信號(hào)處理芯片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)品的升級(jí)更新等因素,本文確定的視頻電話終端系統(tǒng)的硬件方案為:使用TI公司的通用DSP芯片TMS320DM643利用純軟件實(shí)現(xiàn)音視頻編解碼、用三星的ARM9芯片S3C2410實(shí)現(xiàn)各種接口、嵌入式操作系統(tǒng)和傳輸控制協(xié)議等。這樣既不存在芯片多成本高的問題,又能保持很高的性能,可通過簡單的程序下載實(shí)現(xiàn)軟件升級(jí)或增加新的編解碼標(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)、鍵盤等。音頻信號(hào)的輸入/輸出通過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)音頻編解碼的非對(duì)稱操作,有良好的兼容性,他可直接選用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ù)本身必須對(duì)H.264編碼方案進(jìn)行精心選擇(這里理所當(dāng)然選用基本級(jí)),在利用DSP芯片實(shí)現(xiàn)時(shí)對(duì)程序要進(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è)方面對(duì)其進(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)的不同劃分方式其對(duì)應(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)。對(duì)于幀內(nèi)預(yù)測,如從預(yù)測塊P的9種可選預(yù)測模式選取使P塊和當(dāng)前編碼塊I之間最小的預(yù)測模式也太費(fèi)時(shí)間。對(duì)I幀中每個(gè)4×4編碼模式的概率進(jìn)行計(jì)算,只選取其中出現(xiàn)概率最高的4種模式用于幀內(nèi)預(yù)測[6]。 

        (2)對(duì)程序結(jié)構(gòu)進(jìn)行優(yōu)化 

        首先對(duì)程序中的條件判斷語句、循環(huán)語句和函數(shù)調(diào)用等進(jìn)行優(yōu)化調(diào)整減少這類耗費(fèi)較多時(shí)鐘周期的指令。對(duì)視頻數(shù)據(jù)的變換和逆變換、SAD的計(jì)算、運(yùn)動(dòng)預(yù)測的計(jì)算等盡量使用軟件流水線。其次利用CCS2.2中C編譯器提供的優(yōu)化選項(xiàng)對(duì)程序進(jìn)行優(yōu)化,并對(duì)程序中浪費(fèi)時(shí)間較多的代碼用匯編優(yōu)化器來優(yōu)化這些代碼。 

        (3)優(yōu)化存儲(chǔ)器 由于視頻數(shù)據(jù)量較大,對(duì)數(shù)據(jù)的存取浪費(fèi)的時(shí)間較多。這里使用DMA方式進(jìn)行數(shù)據(jù)的存取以減少存儲(chǔ)器延時(shí),即在CPU對(duì)數(shù)據(jù)處理前用DMA方式將所需數(shù)據(jù)傳送到內(nèi)部緩存中,這樣不但節(jié)約處理時(shí)間還便于使用軟件流水線。

        3.3 SIP協(xié)議的實(shí)現(xiàn) 

        基于SIP的通信協(xié)議有多個(gè)開源版本,本文采用OS-IP2(V2.2.2)[7]。OSIP2使按照RFC3261(SIP)和RFC2327(SDP)標(biāo)準(zhǔn)并使用標(biāo)準(zhǔn)C編寫的一個(gè)公開源碼的免費(fèi)協(xié)議棧。其結(jié)構(gòu)簡單小巧,專注于底層解析,效率較高。Osip2協(xié)議棧大致可以分為3部分:SIP協(xié)議的語法分析、SIP協(xié)議的過程分析和協(xié)議棧框架。 

        (1)SIP協(xié)議的語法分析 

        支持RFC.3261和RFC3265定義的SIP協(xié)議消息,包括INVITE,ACK,OPTIONS,CANCEL,BYE,SUB-SCRIBE,NOTIFY,MESSAGE,REFER和INFO等。不支持RFC3262定義的PRACK。遵循RFC3264關(guān)于SDP的offer/answer模式。帶有SDP的語法分析。支持MD5加解密算法,Authorization,www_authenticate和proxy-authenticate等。 

        (2)SIP協(xié)議的過程分析 

        基于RFC3261,RFC3264和RFC3265的SIP協(xié)議描述過程,圍繞transaction這一層來實(shí)現(xiàn)SIP的解析。Transaction是指一個(gè)發(fā)送方和接收方的交互過程,由請(qǐng)求和應(yīng)答組成。請(qǐng)求分為Invite類型和Non-Invite類型。應(yīng)答分為響應(yīng)型的應(yīng)答和確認(rèn)型的應(yīng)答。響應(yīng)型的直答是指這個(gè)應(yīng)答僅代表對(duì)方收到請(qǐng)求。請(qǐng)求經(jīng)過處理后都必須返回確認(rèn)型的應(yīng)答。響應(yīng)型的應(yīng)答有1xx,確認(rèn)型的應(yīng)答包括2xx,3xx,4xx,5xx和6xx。一個(gè)transaction由一個(gè)請(qǐng)求和一個(gè)或多個(gè)響應(yīng)型應(yīng)答、一個(gè)確認(rèn)型應(yīng)答組成。Transaction根據(jù)請(qǐng)求的不同和發(fā)送/接收的不同可以分為4類:ict(會(huì)話邀請(qǐng)的發(fā)起方)、nict(非邀請(qǐng)會(huì)話的發(fā)起方)、ist(會(huì)話邀請(qǐng)的接收方)和nist(非邀請(qǐng)會(huì)話的接收方)。 

        (3)協(xié)議??蚣?nbsp;

        主要有3部分:底層套接字接收/發(fā)送,模塊問通信管道,上層調(diào)用api接口。OSIP2并不實(shí)現(xiàn)底層套接字的接收俊送,其由eXOSIP實(shí)現(xiàn),現(xiàn)在只支持UDP的鏈路連接。 

        本文利用下載的用C語言編寫()SIP2源碼在LINUX環(huán)境下編譯后下載到ARM9 芯片S3C2410中。 

        4結(jié)語 

        根據(jù)以上的設(shè)計(jì),研制了一套視頻電話終端樣機(jī),完成的功能有:具有以太網(wǎng),RJ45,JTAG,數(shù)字CCD攝像頭、鍵盤和復(fù)合視頻輸入/輸出、以語音輸入/輸出接口,支持音視頻雙向同步傳送,在固話網(wǎng)和Internet網(wǎng)上測試,CIF格式視頻傳送率25幀/s,支持G.711/G.729/G.723.1語音編碼。 

        本文設(shè)計(jì)的視頻電話終端就目前來說市場化每臺(tái)成本能控制在1500元以下,因采用通用的DSP芯片和ARM芯片,對(duì)產(chǎn)品的進(jìn)一步神經(jīng)非常方便,只需更改相關(guān)軟件即可。 

        通過Internet或固話網(wǎng)實(shí)現(xiàn)語音和視頻傳輸?shù)膽?yīng)用需求越來越多,技術(shù)應(yīng)用也將趨于成熟,視頻電話機(jī)隨著費(fèi)用的降低也將走入千家萬戶,具有廣闊的市場前景。

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

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動(dòng)力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉