首頁(yè)>>>技術(shù)>>>視像通信  視像通信產(chǎn)品

基于SIP的H.264視頻電話(huà)終端設計

2008/02/29

  摘要:視頻電話(huà)終端系統的實(shí)現是個(gè)很復雜的過(guò)程,涉及多方面知識。其目的是利用互聯(lián)網(wǎng)或固定電話(huà)網(wǎng)等為彼此通訊的雙方不但能提供實(shí)時(shí)的語(yǔ)音交流而且可以實(shí)現視頻信息的即時(shí)傳輸。

1.引言

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

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

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

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

2.視頻電話(huà)終端的硬件系統設計

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


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

3.視頻電話(huà)終端系統的軟件設計

  3.1 系統軟件結構

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

  3.2 H.264的實(shí)現

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

  (1)運動(dòng)估計算法的簡(jiǎn)化

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

  (2)對程序結構進(jìn)行優(yōu)化

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

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


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

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

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

  支持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的語(yǔ)法分析。支持MD5加解密算法,Authorization,www_authenticate和proxy-authenticate等。

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

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

  (3)協(xié)議棧框架

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

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

4.結語(yǔ)

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

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

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

電子產(chǎn)品世界



相關(guān)鏈接:
視頻會(huì )議標準協(xié)議H的差別 2008-02-29
變全球會(huì )議為“綠色會(huì )議” 2008-02-27
基于WinCE的ARM視頻監控系統解析 2008-02-26
流媒體廣告插播技術(shù)走俏2008 2008-02-26
從中國南方雪災談可視化指揮調度的應用 2008-02-26

分類(lèi)信息:     技術(shù)_多媒體通信終端_文摘      
亚洲精品网站在线观看不卡无广告,国产a不卡片精品免费观看,欧美亚洲一区二区三区在线,国产一区二区三区日韩 镇赉县| 河源市| 电白县| 义乌市| 色达县| 富源县| 乳山市| 额济纳旗| 昌吉市| 晋州市| 潼关县| 固始县| 黄浦区| 正安县| 宁国市| 鄂尔多斯市| 辰溪县| 滦平县| 广宁县| 泰安市| 封丘县| 京山县| 蓝山县| 桐柏县| 都昌县| 洞头县| 漳浦县| 洪雅县| 文登市| 鹿泉市| 莱西市| 太仆寺旗| 安图县| 青川县| 平和县| 黔江区| 蛟河市| 清苑县| 城口县| 扎赉特旗| 广宗县| http://444 http://444 http://444 http://444 http://444 http://444