1.引言
對于重親情和友情的中國人來講,可視電話是普通百姓盼望已久的通信方式。可視電話是集通信技術(shù)、計算機(jī)技術(shù)、音視頻處理技術(shù)等為一體的產(chǎn)品,是信息技術(shù)發(fā)展的方向。目前可視電話從產(chǎn)品類型上分主要有兩種:一種是基于PC機(jī)的可視電話;另一種是脫離PC的一體化可視電話;從信號傳輸線路上分主要有:基于ISDN,ADSL等的寬帶可視電話和基于PSTN的窄帶可視電話。PSTN在中國已經(jīng)發(fā)展了幾十年,是目前覆蓋最廣、最為經(jīng)濟(jì)、群眾基礎(chǔ)最為廣泛的的通信網(wǎng)。因此在PSTN網(wǎng)絡(luò)上實現(xiàn)簡易便于推廣的可視電話仍然有很強(qiáng)的現(xiàn)實意義。
我國基于PSTN可視電話的標(biāo)準(zhǔn)是依據(jù)ITU-T H.324制定的。目前市面上所有的PSTN可視電話基本采用MCU+專用ASIC芯片來實現(xiàn)H.324協(xié)議所要求的音視頻編碼以及協(xié)議控制,或者處理器+DSP架構(gòu)的方案,系統(tǒng)構(gòu)成復(fù)雜。本文提出一種新的基于RISC架構(gòu)嵌入式平臺的可視電話,實現(xiàn)了系統(tǒng)構(gòu)成簡單的無線可視電話。該方案可開發(fā)出獨立的可視電話終端,并可用于通信,監(jiān)控等領(lǐng)域。
2.H.324協(xié)議簡介
圖-1 為H.324 協(xié)議的框圖,圖中框內(nèi)為建議H.324 協(xié)議范圍。建議內(nèi)容主要包括H.263/H.261 視頻編解碼協(xié)議、G.723 音頻編解碼協(xié)議、V.14 數(shù)據(jù)協(xié)議、H.223 復(fù)用/解復(fù)協(xié)議、H.245 控制協(xié)議以及Modem(控制協(xié)議)等,可參見參考文獻(xiàn)[1].
圖-1 H.324 協(xié)議框圖
在PSTN 網(wǎng)絡(luò)上傳輸?shù)痛a率的音視頻信息必須進(jìn)行壓縮編碼,在H.324 協(xié)議中,音視頻編解碼是核心內(nèi)容之一H.263 是由ITU 定義,支持用于視頻會議和視頻電話應(yīng)用程序的視頻編解碼。H.263 基于H.261 編碼發(fā)展而來,是特別面向低碼率的視頻編碼而設(shè)定,能在最低帶寬為 20K 到 24Kbit/sec 上傳輸?shù)囊曨l流。G.723.1 是ITU 組織針對電話帶寬的語音信號推出的一種雙速率語音編解碼標(biāo)準(zhǔn),最低能以5.3Kbps 的速率傳輸音頻流。
3. 基于ARM處理器S3C2440A系統(tǒng)硬件平臺構(gòu)成
圖-2 系統(tǒng)硬件架構(gòu)
整體硬件架構(gòu)圖如圖-2 所示。
(1) 系統(tǒng)的核心為基于RISC 架構(gòu)的ARM 處理器S3C2440.該處理器韓國三星電子推出的一個16/32-bit RISC 小型高性能微處理器。采用速度最高可達(dá)533MHz 的ARM920T 內(nèi)核, 可提供面向普通系統(tǒng)外設(shè)的各種功能,因此不需增加額外器件,在降低系統(tǒng)復(fù)雜度的同時,向終端用戶提供Camera 接口、TFT 及STN 液晶顯示器的功能及SD/MMC/SDIO 卡插槽等附加設(shè)備。該處理器性能強(qiáng)大,能夠滿足H.263 編解碼以及G.723.1 編解碼的運算要求。可參見參考文獻(xiàn)[9]。
(2) 系統(tǒng)的視頻采集部分:采用30 萬像素的CMOS Camera OV9650ESL.該器件最高能采集1280*1024 的像素陣列,足夠滿足系統(tǒng)的需求。利用S3C2440A專有的Camera 控制器對視頻數(shù)據(jù)進(jìn)行采集,并采用IIC 總線對其進(jìn)行配置曝光時間,白平衡等參數(shù)。
(3) 系統(tǒng)的顯示部分:采用LG 的3.5 寸65K 色TFT 液晶顯示屏,該屏幕分辨率為320*240,滿足系統(tǒng)需求。在本設(shè)計中,利用處理器的液晶數(shù)據(jù)接口對液晶屏幕的對其進(jìn)行配置顯示格式,并利用SDRAM 作為顯示存儲區(qū)域,利用S3C2440A 集成的LCD 控制器對液晶屏幕進(jìn)行輸出顯示。
(4) 系統(tǒng)的音頻輸入輸出部分:采用Codec 芯片UDA1341,該音頻芯片內(nèi)部集成ADC 以及DAC,通過接駁MIC,SPEAKER 來組成系統(tǒng)的音頻的采集與播放功能。該芯片通過IIS 總線與CPU 進(jìn)行數(shù)據(jù)的傳輸,并可以通過L3-BUS設(shè)置其采集速率,增益等。
(5) 與PSTN 網(wǎng)絡(luò)接口部分:為實現(xiàn)在PSTN 網(wǎng)絡(luò)上傳輸數(shù)據(jù),遵從H.324 協(xié)議,采用Conexant 的CX06833.該芯片通過UART 接口與CPU 相連接,并提供PSTN 網(wǎng)絡(luò)接口。可參見參考文獻(xiàn)[10]
(6) 系統(tǒng)存儲部分:內(nèi)存采用型號為IS42S32200 的SDRAM,芯片的容量大小為8MBYTE,用于運行軟件系統(tǒng)。程序存儲采用SST39VF320X,該芯片為NOR型FLASH 用于存儲程序,容量大小為4MBYTE.
(7) 附件:包括4*4 鍵盤,以及工作狀態(tài)顯示LED 等。
4. 系統(tǒng)軟件的實現(xiàn)
系統(tǒng)的流程見圖-3。
圖-3 系統(tǒng)軟件流程
在硬件系統(tǒng)上電后,軟件對硬件做初始化即進(jìn)入待機(jī)狀態(tài)。當(dāng)摘機(jī)后,CPU 通過modem內(nèi)置的模擬電話控制進(jìn)行模擬通話。通話雙方均按可視建,經(jīng)過H.245 協(xié)議協(xié)商,開始建立可視。
系統(tǒng)通過CMOS Camera 采集視頻,在SDRAM 中開辟一段內(nèi)存用于視頻內(nèi)容的緩存,H.263 編碼部分從該緩存中按照一定的幀率取出圖像進(jìn)行編碼。CPU 控制Codec 芯片通過MIC 進(jìn)行語音的采集,同樣在SDRAM 中開辟用于存儲音頻的緩存,G.723.1 編碼成碼流。
H.223 將視頻碼流、音頻碼流及控制數(shù)據(jù)碼流復(fù)用,通過modem 調(diào)制到PSTN 網(wǎng)絡(luò)上進(jìn)行模擬線路的傳輸。
從 MODEM 獲得的數(shù)據(jù)碼流則解復(fù)成音頻及視頻碼流。H.263 碼流解碼后,以固定的幀率刷新顯存。ARM 將顯存中的數(shù)據(jù)通過內(nèi)置的TFT 控制器,傳輸?shù)? 寸 320*240 的液晶顯示屏上顯示。G.723.1 碼流通過G.723.1 解碼器解碼,輸出到codec 芯片,通過功放推動揚聲器播放。
4.1 系統(tǒng)硬件的初始化
在 S3C2440 中,內(nèi)含名為Stepping Stone 的4K 的SRAM,可用做bootloader,用于系統(tǒng)的初始化。系統(tǒng)上電啟動時,將Flash 中的初始化程序段讀入SRAM 中,初始化CPU 內(nèi)部的時鐘,SDRAM 控制器,看門狗,中斷等。并初始化memory system,將FLASH 中的程序搬移到SDRAM 中,系統(tǒng)主程序運行在SRAM 中。進(jìn)入主程序后,初始化GPIO,液晶屏幕,Camera,keyboard 等等外設(shè)。初始化完畢,系統(tǒng)進(jìn)入待機(jī),等待摘機(jī)。
4.2 H.263編解碼模塊
在RISC架構(gòu)的嵌入式系統(tǒng)中實現(xiàn)可視通話的關(guān)鍵之一是如何實現(xiàn)H.263編解碼。H.263協(xié)議是很成熟的一個視頻編碼壓縮協(xié)議,見圖-4.在本文中對H.263協(xié)議不詳述,僅介紹在基于ARM處理器的系統(tǒng)中如何實現(xiàn),具體可參見參考文獻(xiàn)[2].
4.2.1 H.263編碼
圖-4 H.263 編碼框圖
在如圖-4 所示,H.263 編碼器主要由4 部分組成:變換編碼T,量化Q,預(yù)測P,熵編碼VLC;對于實際應(yīng)用的編碼系統(tǒng),碼流控制CC 也必不可少的部分。圖中有 2 個單刀雙置開關(guān),用于選擇INTRA 和INTER.判斷當(dāng)前幀的類型,判斷之后分成INTRA 和INTER的分支,分別進(jìn)行處理。
在本系統(tǒng)中,H.263 編碼器過程是:
在函數(shù)處理層在H.263 編碼任務(wù)發(fā)出后,即調(diào)用處理函數(shù)video_encode 進(jìn)行編碼,從內(nèi)存中讀出一幀圖像,判斷當(dāng)前幀的類型。如圖-5 所示。
圖-5 H.263 編碼軟件流程
1)INTRA 幀情況。此時開關(guān)撥到上面的開關(guān)。視頻幀分塊后的當(dāng)前塊(目前處理的視頻塊)輸入經(jīng)過變換編碼,量化后進(jìn)行熵編碼作為碼流輸出;量化結(jié)果再經(jīng)過反量化和反變換作為參考幀儲存。最后調(diào)用重構(gòu)圖像進(jìn)行去塊效應(yīng)濾波。
函數(shù) CodeOneIntra()對當(dāng)前幀按照I 幀進(jìn)行編碼,該函數(shù)輸入為:
H263ENCODE_MEMORY * mems 編碼信息結(jié)構(gòu)體指針。
H.263ENCODE_MEMORY{
重建幀結(jié)構(gòu)指針,參考幀結(jié)構(gòu)指針,重建宏塊結(jié)構(gòu)指針, 參考宏塊結(jié)構(gòu)指針,解碼圖像參數(shù)結(jié)構(gòu)指針,解碼后系數(shù),宏塊參數(shù)結(jié)構(gòu)指針,解碼過程結(jié)構(gòu)指針}
2)INTER 幀情況。此時開關(guān)撥到下面的開關(guān)。視頻幀分塊后的當(dāng)前塊首先在參考幀搜索區(qū)域中進(jìn)行運動估計得到預(yù)測塊(參考幀中與當(dāng)前塊最相近的塊),同時得到運動矢量, 運動矢量熵編碼作為碼流輸出。 預(yù)測塊與當(dāng)前塊相減得到差值圖像,對差值圖像進(jìn)行變換編碼,量化后進(jìn)行熵編碼作為碼流輸出。
4.2.1 H.263解碼
下圖6是H.263 解碼器系統(tǒng)框圖:
圖-6 H.263 解碼器框圖
如圖-6 所示,H.263 解碼器與編碼器對應(yīng),也有4 個主要部分:反熵編碼,反量化(Scale),反DCT(IDCT),運動估計Motion Estimation.圖2 簡單示意了INTER 幀解碼的過程,即IDCT 之后的結(jié)果都與運動估計結(jié)果相加,但在INTRA 幀時候,不需要與運動估計預(yù)測結(jié)果相加。可以看出, 解碼器相對于編碼器, 流程比較簡單。
H.263 解碼過程是:
1)INTRA 幀情況,對碼流中幀內(nèi)系數(shù)碼流進(jìn)行反熵編碼,反量化,IDCT 即完成視頻幀的解碼,得到視頻數(shù)據(jù)輸出;2)INTER 幀情況,對差值進(jìn)行反熵編碼,反量化,IDCT,得到的結(jié)果與運動估計預(yù)測塊相加,完成運動補(bǔ)償,隨后得到視頻數(shù)據(jù)輸出;4.3 G.723.1編解碼。
本系統(tǒng)的另一個關(guān)鍵是在嵌入式架構(gòu)上實現(xiàn)G.723.1 的編解碼。該標(biāo)準(zhǔn)能夠?qū)斎氲哪M語音信號用8kHz 采樣,16bit 線性PCM 量化的語音信號壓縮成6.3Kbps 或5.3Kbps 的比特流。G. 723. 1 的兩種碼率根據(jù)不同需求可供選擇,高碼率為6. 3kb/s, 采用多脈沖最大似然量化(MP-MLQ)編碼算法,具有較高的重建語音質(zhì)量; 低碼率為5. 3kb/s,以ACELP 算法為基礎(chǔ), 計算復(fù)雜度則較低。本系統(tǒng)中采用ACELP 算法的低碼率語音壓縮。限于篇幅,本文在此不詳述,可參閱參考文獻(xiàn)[6]與[8].
4.4 H.245協(xié)議的實現(xiàn)
H.245協(xié)議的全稱是多媒體通信控制協(xié)議,他給出了一組用于描述終端信息,帶寬協(xié)商等食物消息的語法和語義,主要提供端到端的信令功能,以便通信雙方能正確的互聯(lián)。H.245的信令控制H.324系統(tǒng)的操作,包括能力交換,邏輯通道的打開和關(guān)閉,模式優(yōu)先請求,復(fù)用表項傳輸,流量控制消息,通用命令和指示。可參見參考文獻(xiàn)[4].
在系統(tǒng)實現(xiàn)的時候,利用SRP簡單重傳協(xié)議提供可靠的H.245碼流的傳輸,采用一個發(fā)送標(biāo)記,當(dāng)發(fā)送一個命令幀后,激活該標(biāo)記,此時后續(xù)的命令幀都不進(jìn)行發(fā)送,當(dāng)收到相應(yīng)幀后,清除該標(biāo)記,發(fā)送下一個命令幀。期間若有超時沒有收到響應(yīng)幀,則重發(fā)當(dāng)前幀;若重發(fā)多次仍沒有收到響應(yīng)幀,則終止通信,并報知應(yīng)用程序通信錯誤。整個過程由ARM來進(jìn)行控制。
4.5 H.223協(xié)議的實現(xiàn)
H.223 協(xié)議是低位率多媒體通信復(fù)用協(xié)議。分為復(fù)用層(MUX)和適配層(AL),AL負(fù)責(zé)將從用戶層和IO 層獲取的不同數(shù)據(jù)流轉(zhuǎn)換。AL 分為AL1、AL2、AL3 一共三層,分別進(jìn)行數(shù)據(jù)和控制碼流、音頻碼流、視頻碼流的傳輸。MUX 將AL 的碼流按照復(fù)用表進(jìn)行碼流復(fù)用。該協(xié)議由ARM 來完成。具體可參見參考文獻(xiàn)[5]
5 系統(tǒng)實現(xiàn)結(jié)果
該系統(tǒng)在建立穩(wěn)定的模擬通話之后,通信雙方按下可視鍵,建立連接。可以選擇通話的視頻的質(zhì)量,視頻在QCIF(176x144)之下,能穩(wěn)定的達(dá)到10 幀的速率,人物清晰,唇形同步活動圖像及伴音之間的同步較好。
6 結(jié)束語
本文介紹了一種基于純RISC架構(gòu)的嵌入式的終端平臺,在該平臺上遵從H.324協(xié)議,很好的實現(xiàn)了可視電話的功能,在QCIF分辨率下,能穩(wěn)定的達(dá)到10幀的速率,語音清晰,能達(dá)到視頻通話的要求。系統(tǒng)平臺構(gòu)造簡單,在該平臺之上能很容易的進(jìn)行相應(yīng)的擴(kuò)展智能化。
-
芯片
+關(guān)注
關(guān)注
459文章
52090瀏覽量
435316 -
嵌入式
+關(guān)注
關(guān)注
5133文章
19501瀏覽量
314287 -
計算機(jī)
+關(guān)注
關(guān)注
19文章
7625瀏覽量
90061
發(fā)布評論請先 登錄
嵌入式Linux平臺怎么實現(xiàn)視頻采集發(fā)送端?
嵌入式可視電話平臺設(shè)計
什么用戶才能使用可視電話?
什么是可視電話/多點會議?
什么是靜態(tài)圖像可視電話
網(wǎng)絡(luò)可視電話是什么
嵌入式Linux平臺的圖像采集與傳輸設(shè)計

嵌入式H.324可視電話終端系統(tǒng)設(shè)計與實現(xiàn)

基于網(wǎng)絡(luò)的嵌入式IP可視電話設(shè)計方案

網(wǎng)絡(luò)可視電話與IP可視電話有差異 混用存疑慮
基于Windows CE的可視電話的研究與實現(xiàn)
基于ARM7的可視電話機(jī)設(shè)計

評論