0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于ARM芯片和WINCE5.0.NET實(shí)現(xiàn)無線視頻電話終端的應(yīng)用方案

電子設(shè)計(jì) ? 來源:微計(jì)算機(jī)信息 ? 作者:李君懿,趙利,鄒 ? 2021-05-19 10:27 ? 次閱讀

作者:李君懿,趙利,鄒柏程

引言

視頻電話終端依據(jù)其使用方式的不同,大體可分為“PC到PC”型和“電話到電話”,“PC到電話”型三大類。“電話到電話”型產(chǎn)品兩端都不需要計(jì)算機(jī),電話終端本身包含音視頻處理器或者音視頻處理軟件完成音視頻即時(shí)通訊功能。由于此類產(chǎn)品使用簡單、安裝方便、便于控制、性價(jià)比合理等優(yōu)點(diǎn)..市場前景廣闊,是目前國內(nèi)外研究的熱點(diǎn)。

SIP(Session Initiation Protocol)協(xié)議是IETF于1999年提出的一種新的網(wǎng)絡(luò)多媒體通信的交互信令,它相對于市場主體的H.323協(xié)議具有簡單、擴(kuò)展性好、便于實(shí)現(xiàn)等優(yōu)點(diǎn),憑借其簡單、易于擴(kuò)展、便于實(shí)現(xiàn)等諸多優(yōu)點(diǎn)越來越得到業(yè)界的青睞,它正逐步成為NGN和3G多媒體子系統(tǒng)域中的重要協(xié)議。市場上出現(xiàn)越來越多支持SIP的智能多媒體終端及相關(guān)軟件和軟交換設(shè)備,SIP將成為IP視頻電話業(yè)務(wù)的主流協(xié)議之一。

本文提出了一個(gè)基于SIP的嵌入式無線視頻電話終端,它除了采用數(shù)字化和網(wǎng)絡(luò)化的手段以外,還使用了嵌入式Wince設(shè)備代替原有系統(tǒng)的軟電話軟件,提高了電話設(shè)備的移動(dòng)性和靈活性。更為重要的是它采用了開放的SIP同其他電話設(shè)備進(jìn)行通信,從而將網(wǎng)絡(luò)中任何一臺(tái)主機(jī)變成終端,一方面擴(kuò)展了通信范圍,另一方面還可以同執(zhí)行SIP的其他設(shè)備進(jìn)行通信。同時(shí),基于IP網(wǎng)絡(luò)技術(shù)的多媒體通信以其部署簡單,業(yè)務(wù)豐富,成本低廉等特點(diǎn)逐步得到企業(yè)的青睞。

1 總體方案設(shè)計(jì)

1.1 硬件系統(tǒng)結(jié)構(gòu)

本文確定的電話終端系統(tǒng)的硬件方案為:使用三星公司的通用ARM芯片S3C2410配合嵌入式操作系統(tǒng)WINCE5.0.NET實(shí)現(xiàn)各種外圍接口,視音頻編解碼處理,和傳輸控制協(xié)議等。這樣既不存在芯片成本高的問題,又能保持很高的性能,可通過簡單的程序下載實(shí)現(xiàn)軟件下載升級或者增加新的編解碼標(biāo)準(zhǔn)。系統(tǒng)的硬件結(jié)構(gòu)框圖如圖1所示。實(shí)現(xiàn)該系統(tǒng)的要點(diǎn)是:在WINCE下添加USB攝象頭和USB無線網(wǎng)卡驅(qū)動(dòng)模塊。

圖1 系統(tǒng)硬件結(jié)構(gòu)圖

1.2應(yīng)用軟件結(jié)構(gòu)

在系統(tǒng)硬件完成后,剩下的需要大量的工作來定制平臺(tái)和編寫代碼實(shí)現(xiàn)各個(gè)功能模塊,最終實(shí)現(xiàn)整個(gè)系統(tǒng)。系統(tǒng)的軟件結(jié)構(gòu)如圖2所示。音頻編碼采用G.711/729/723.1,是為了讓終端能適應(yīng)音頻編解碼的非對稱操作。本文根據(jù)視頻電話終端的特點(diǎn)和當(dāng)前實(shí)現(xiàn)的技術(shù)難點(diǎn)主要討論視頻采集傳輸和SIP協(xié)議棧2大核心技術(shù)的軟件實(shí)現(xiàn)。

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

2 無線視頻電話終端的設(shè)計(jì)與實(shí)現(xiàn)

2.1 系統(tǒng)平臺(tái)的設(shè)計(jì)

在WinCE產(chǎn)品開發(fā)中,主要有內(nèi)核定制和應(yīng)用程序開發(fā)兩項(xiàng)非常蓖要的工作。

2.2 音頻編碼模塊的實(shí)現(xiàn)

在系統(tǒng)初始化以后,音頻采集編碼模塊對應(yīng)的子線程就被創(chuàng)建并掛起。當(dāng)用戶需要采集音頻數(shù)據(jù)時(shí)才分別被喚醒。音頻采集編碼模塊主要完成語音的錄制和編碼處理過程。首先打開波形音頻輸入設(shè)備,準(zhǔn)備好緩沖區(qū);然后利用聲卡把語音錄入到準(zhǔn)備好的緩沖區(qū)里區(qū),一個(gè)緩沖區(qū)錄滿后,就可以對緩沖區(qū)里的數(shù)據(jù)進(jìn)行編碼。其中音頻采集通過調(diào)用Windows低級音頻API函數(shù)族WaveIn和WaveOut來實(shí)現(xiàn).編碼通過調(diào)用G.7XX音頻接口提供的編解碼器接口實(shí)現(xiàn)。

2.3 視頻采集編碼模塊的實(shí)現(xiàn)

2.3.1 視頻采集編碼模塊

筆者采用了中星微301PLUS快速主控芯片。該芯片是一款高性能圖像壓縮芯片。輸出MJPEG視頻流數(shù)據(jù)。它的誤差穩(wěn)定性非常好,可以獲取清晰度很高的視頻圖像,而且還可以靈活設(shè)置各路視頻清晰度,壓縮幀數(shù)。本系統(tǒng)直接從攝像頭驅(qū)動(dòng)中獲取MJPEG視頻流數(shù)據(jù),圖像采集流程如圖3所示。圖像采集模塊用到的主要函數(shù)有:

capInitCamera() 用來初始化視頻設(shè)備,并獲取當(dāng)前可用的視頻設(shè)備數(shù)目。

capSetVideoFormat() 設(shè)置視頻格式和分辨率。本系統(tǒng)使用的視頻格式為RGB24,分辨率為320x240像素。

capGrabFrame() 從驅(qū)動(dòng)中抓取1幀圖像,并存儲(chǔ)在緩存FrameBuffer中。

capGetLastjpeg() 將抓取的MJPEG格式的圖像轉(zhuǎn)換成JPEG格式.送到無線發(fā)送模塊。

圖3 視頻編碼模塊流程

視頻采集部分還有查詢視頻采集格式、設(shè)置叫暗度、設(shè)置對比度等相關(guān)函數(shù),不再詳述。在完成視頻采集后,再對視頻流進(jìn)行H.263+的視頻JK締。視頻編碼通過調(diào)用H.263+視頻接口提供的編解碼器接口實(shí)現(xiàn)。音頻解碼回放模塊和視頻解碼回放模塊將接收到的音頻和視頻數(shù)據(jù)解碼后播放。視頻播放則將視頻數(shù)據(jù)格式轉(zhuǎn)化為RGB.再用函數(shù)DrawDibDraw函數(shù)將其顯示。

2.4 語音視頻流實(shí)時(shí)傳輸部分的實(shí)現(xiàn)

2.4.1 配置無線網(wǎng)卡

本次開發(fā)通過開發(fā)板和主機(jī)之間的無線網(wǎng)卡構(gòu)建無線局域網(wǎng)絡(luò),能夠?qū)崿F(xiàn)點(diǎn)對點(diǎn)的無縫連接,筆者通過此無線網(wǎng)絡(luò)可以實(shí)現(xiàn)文件傳輸、視頻通信等應(yīng)用。開發(fā)板端的無線網(wǎng)卡也需要加載驅(qū)動(dòng)才能運(yùn)行。

2.4.2 音視頻數(shù)據(jù)傳輸?shù)膶?shí)現(xiàn)

利用RTP/RTCP實(shí)現(xiàn)語音視頻流的的實(shí)時(shí)傳輸.RTP負(fù)責(zé)數(shù)據(jù)發(fā)送和接收,RTCP負(fù)責(zé)網(wǎng)絡(luò)丟包、誤碼情況的反饋等。JRTPLIB是一個(gè)用C++語言實(shí)現(xiàn)的,面向?qū)ο蟮拈_源的RTP庫,它通過調(diào)用JRTPLIB提供的庫函數(shù)就可以開發(fā)出高質(zhì)量的音,視頻傳輸程序。

發(fā)送端調(diào)用JRTPLIB提供的庫函數(shù)實(shí)現(xiàn)語音視頻等的實(shí)時(shí)發(fā)送的過程是:

1) 通過調(diào)用RTPSession類的構(gòu)造函數(shù)創(chuàng)建一個(gè)RTP會(huì)話實(shí)例.然后調(diào)用RTPSession類的方法來對其進(jìn)行初始化操作,來設(shè)置負(fù)載類型、標(biāo)識(shí)和時(shí)戳增量。以及指定流媒體的目標(biāo)地址。

2) 設(shè)置RTP會(huì)話參數(shù),通過凋用RTPSeftsionParams類的SetOwnTimeStampUnit()方法來設(shè)置時(shí)間戳和設(shè)置RTP傳輸參數(shù)。

3) 調(diào)用SendPacket()方法用來向目標(biāo)地址發(fā)送采集編碼后的音視頻數(shù)據(jù)。接收端的創(chuàng)建RTP會(huì)話實(shí)例和RTP會(huì)話參數(shù)設(shè)置和發(fā)送端的設(shè)置是一樣的。

2.5 SIP用戶代理的實(shí)現(xiàn)

SIP UA模塊用于會(huì)話的建立、修改、終止,起著信令控制作用。此模塊使用的SIP協(xié)議棧是OSIP2和EXOSIP。

EXOSIP有2種工作模式:事件模式和同調(diào)模式。本軟件采用的是事件模式,使用一個(gè)定時(shí)器,定時(shí)到了后就通過函數(shù)exosip_wait_event()去獲取SIP事件,SIP事件主要有EXOSIP_CALL_NEW、EXOSIP_CALL_ANSWERED等。獲取到事件后.就調(diào)用相應(yīng)的事件處理函數(shù),如SipCallNew、SipCallRinging、SipCallAnswered等等。要建立、修改、終止呼叫還需要調(diào)用EXOSIP的以下幾個(gè)函數(shù):osip_build_initial_invite、eXosip_initiate_call等。

呼叫的有關(guān)控制變量都存在CCall類中,如呼叫ID、對話ID、對端IP、對端RTP端口、語音通信的線程號、是否允許有RTP流等。SIP系統(tǒng)中的呼叫類型主要有兩個(gè)用戶代理之問的普通呼叫、重定向呼叫和通過代理服務(wù)器的呼叫。

3 結(jié)語

本文設(shè)計(jì)和實(shí)現(xiàn)了一個(gè)基于SIP的無線視頻電話終端,該終端使用嵌入式WINCE設(shè)備代替?zhèn)鹘y(tǒng)的USB電話和軟電話軟件,提高了電話系統(tǒng)的移動(dòng)性和靈活性。終端之間采用開放的SIP進(jìn)行通信,實(shí)現(xiàn)電話的呼叫,接聽,關(guān)閉和重定向等功能。SIP的應(yīng)用避免了采用私有協(xié)議所帶來的封閉性,提高了同其他設(shè)備的互通性,擴(kuò)大了通信的物理范周,也節(jié)約了通話成本。同時(shí)利用WIFI技術(shù)的加入提高了視頻電話終端的便攜性。目前SIP在視頻電話系統(tǒng)中的應(yīng)用還處于試驗(yàn)階段,能與之通信的SIP設(shè)備還不是很多,但隨著NGN平臺(tái)的建立和SIP設(shè)備的不段增多.它的靈活性和互通性的優(yōu)點(diǎn)會(huì)逐漸體現(xiàn)出來。同時(shí),基于IP網(wǎng)絡(luò)技術(shù)的多媒體通信以其部署簡單,業(yè)務(wù)豐富,成本低廉等特點(diǎn)逐步得到企業(yè)的青睞。

本文作者創(chuàng)新點(diǎn):1.在WINCE5.0嵌入式操作系統(tǒng)上實(shí)現(xiàn)可視電話終端,WINCE5.0相比較LINUX和過去WINCE的低版本操作系統(tǒng)來說實(shí)時(shí)性方面大大提高。目前目內(nèi)的SIP電話都是基于嵌入式LINUX或者WINCE低版本系統(tǒng)。2.在802.1la/b/g無線局域網(wǎng)(WLAN)上采用VoIP技術(shù)實(shí)現(xiàn)VoWiFi電話終端語音視頻通話功能。3.本義實(shí)現(xiàn)的SIP電話終端口可以集成多種業(yè)務(wù),如語音信箱.通過WIFI無線上網(wǎng),重定向呼叫等業(yè)務(wù)。

責(zé)任編輯:gt

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 芯片
    +關(guān)注

    關(guān)注

    452

    文章

    50212

    瀏覽量

    420949
  • 嵌入式
    +關(guān)注

    關(guān)注

    5059

    文章

    18974

    瀏覽量

    302063
  • 無線
    +關(guān)注

    關(guān)注

    31

    文章

    5417

    瀏覽量

    172973
收藏 人收藏

    評論

    相關(guān)推薦

    如何實(shí)現(xiàn)基于WinCEARM視頻監(jiān)控系統(tǒng)的設(shè)計(jì)?

    筆者設(shè)計(jì)的一種嵌入式系統(tǒng),以WinCE操作系統(tǒng)和ARM硬件平臺(tái)為核心實(shí)現(xiàn)了對現(xiàn)場的實(shí)時(shí)監(jiān)控,并通過無線網(wǎng)絡(luò)把視頻圖像傳輸?shù)街鳈C(jī)端,以
    發(fā)表于 06-08 06:32

    基于S3C2410的無線視頻電話終端設(shè)計(jì)

    考慮到實(shí)現(xiàn)的難易程度、生產(chǎn)成本、和升級等因素,介紹了一種基于WINCE5.0.NET的H.263++無線視頻電話
    發(fā)表于 09-24 16:18 ?35次下載

    基于ARM的遠(yuǎn)程無線視頻監(jiān)控終端設(shè)計(jì)

    提出了一種以ARM微處理器為控制核心的遠(yuǎn)程無線視頻監(jiān)控終端的設(shè)計(jì)方案,其監(jiān)控終端的硬件設(shè)計(jì)包括
    發(fā)表于 11-22 16:25 ?157次下載

    基于Web Server的無線視頻終端在線配置方案實(shí)現(xiàn)

    基于Web Server的無線視頻終端在線配置方案實(shí)現(xiàn) 1、前言   本文的工作基于“多模式無線
    發(fā)表于 11-03 09:20 ?729次閱讀
    基于Web Server的<b class='flag-5'>無線</b><b class='flag-5'>視頻</b><b class='flag-5'>終端</b>在線配置<b class='flag-5'>方案</b>與<b class='flag-5'>實(shí)現(xiàn)</b>

    基于嵌入式WinCE5.0無線監(jiān)控系統(tǒng)

    ARM9微處理器作為核心板的控制器,搭建無線視頻監(jiān)控系統(tǒng)硬件平臺(tái),擴(kuò)展基于OV9650芯片的攝像頭接口和GPRS無線傳輸模塊的串口接口。利
    發(fā)表于 08-31 14:36 ?1846次閱讀
    基于嵌入式<b class='flag-5'>WinCE5.0</b>的<b class='flag-5'>無線</b>監(jiān)控系統(tǒng)

    ARM_Linux實(shí)現(xiàn)無線視頻監(jiān)控系統(tǒng)

    ARM_Linux實(shí)現(xiàn)無線視頻監(jiān)控系統(tǒng)資料
    發(fā)表于 11-18 16:35 ?3次下載

    ARM實(shí)現(xiàn)無線視頻點(diǎn)播系統(tǒng)

    ARM實(shí)現(xiàn)無線視頻點(diǎn)播系統(tǒng),有興趣的同學(xué)可以下載學(xué)習(xí)
    發(fā)表于 05-04 15:48 ?0次下載

    基于ARM_WINCE的音視頻監(jiān)控系統(tǒng)設(shè)計(jì)

    基于ARM_WINCE的音視頻監(jiān)控系統(tǒng)設(shè)計(jì)
    發(fā)表于 10-25 09:24 ?42次下載
    基于<b class='flag-5'>ARM_WINCE</b>的音<b class='flag-5'>視頻</b>監(jiān)控系統(tǒng)設(shè)計(jì)

    Wince_net下流接口驅(qū)動(dòng)研究與實(shí)現(xiàn)

    Wince_net下流接口驅(qū)動(dòng)研究與實(shí)現(xiàn)
    發(fā)表于 10-25 09:28 ?12次下載
    <b class='flag-5'>Wince_net</b>下流接口驅(qū)動(dòng)研究與<b class='flag-5'>實(shí)現(xiàn)</b>

    WinCE_Net系統(tǒng)下USB總線驅(qū)動(dòng)程序實(shí)現(xiàn)的研究

    WinCE_Net系統(tǒng)下USB總線驅(qū)動(dòng)程序實(shí)現(xiàn)的研究
    發(fā)表于 10-25 09:52 ?15次下載
    <b class='flag-5'>WinCE_Net</b>系統(tǒng)下USB總線驅(qū)動(dòng)程序<b class='flag-5'>實(shí)現(xiàn)</b>的研究

    基于WinCE_NET下串口驅(qū)動(dòng)開發(fā)設(shè)計(jì)

    基于WinCE_NET下串口驅(qū)動(dòng)開發(fā)設(shè)計(jì)
    發(fā)表于 10-25 09:54 ?3次下載
    基于<b class='flag-5'>WinCE_NET</b>下串口驅(qū)動(dòng)開發(fā)設(shè)計(jì)

    WinCE_NET系統(tǒng)下黑白LCD的應(yīng)用

    WinCE_NET系統(tǒng)下黑白LCD的應(yīng)用
    發(fā)表于 10-25 10:02 ?11次下載
    <b class='flag-5'>WinCE_NET</b>系統(tǒng)下黑白LCD的應(yīng)用

    NANDFLASH在WINCE_NET系統(tǒng)中的應(yīng)用設(shè)計(jì)

    NANDFLASH在WINCE_NET系統(tǒng)中的應(yīng)用設(shè)計(jì)
    發(fā)表于 10-25 10:10 ?17次下載
    NANDFLASH在<b class='flag-5'>WINCE_NET</b>系統(tǒng)中的應(yīng)用設(shè)計(jì)

    基于ARM9的嵌入式SIP電話終端的設(shè)計(jì)與實(shí)現(xiàn)

    電子發(fā)燒友網(wǎng)站提供《基于ARM9的嵌入式SIP電話終端的設(shè)計(jì)與實(shí)現(xiàn).pdf》資料免費(fèi)下載
    發(fā)表于 10-13 11:25 ?3次下載
    基于<b class='flag-5'>ARM</b>9的嵌入式SIP<b class='flag-5'>電話</b><b class='flag-5'>終端</b>的設(shè)計(jì)與<b class='flag-5'>實(shí)現(xiàn)</b>

    基于ARM9的VOIP電話終端的設(shè)計(jì)與實(shí)現(xiàn)

    電子發(fā)燒友網(wǎng)站提供《基于ARM9的VOIP電話終端的設(shè)計(jì)與實(shí)現(xiàn).pdf》資料免費(fèi)下載
    發(fā)表于 10-13 11:26 ?0次下載
    基于<b class='flag-5'>ARM</b>9的VOIP<b class='flag-5'>電話</b><b class='flag-5'>終端</b>的設(shè)計(jì)與<b class='flag-5'>實(shí)現(xiàn)</b>