<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 手機與無(wú)線(xiàn)通信 > 設計應用 > 基于XScaIe處理器的視頻通信系統

基于XScaIe處理器的視頻通信系統

作者: 時(shí)間:2006-08-10 來(lái)源:網(wǎng)絡(luò ) 收藏
摘要 主要介紹在xscale(PXA255)的嵌入式開(kāi)發(fā)平臺上搭建原型的具體方法。整個(gè)共分為采集,顯示.編碼、解碼、發(fā)送、接收6個(gè)功能模塊,著(zhù)重介紹視頻編解碼部分在嵌入式上的優(yōu)化方法。實(shí)驗結果表明,在xscale(PXA255)的嵌入式系統平臺上,該原型系統可以基本滿(mǎn)足實(shí)時(shí)的要求,并具有良好的可擴展性。
關(guān)鍵詞 Xscale H.263 視頻編碼優(yōu)化PXA255

引 言
隨著(zhù)后PC時(shí)代的到來(lái)及Internet網(wǎng)絡(luò )的飛速發(fā)展,人們已經(jīng)不滿(mǎn)足于被局限在PC平臺上的視頻通信,可以隨時(shí)隨地通過(guò)無(wú)線(xiàn)網(wǎng)絡(luò )進(jìn)行視頻通信的移動(dòng)設備有著(zhù)很大的社會(huì )需求。眾所周知,視頻是一種流特性業(yè)務(wù),數據量很大;另外實(shí)時(shí)視頻通信要求對視頻圖像進(jìn)行高效率、高比例的壓縮,計算復雜度非常高。如果直接采用現有的Pc上的算法,嵌入式設備有限的電池能源和運算能力難以滿(mǎn)足進(jìn)行實(shí)時(shí)視頻通信的需求,因此需要依據嵌入式設備的特點(diǎn)對算法進(jìn)行改進(jìn)和優(yōu)化,從而降低運算的復雜度。xscale的視頻通信原型系統,初步滿(mǎn)足了移動(dòng)視頻通信的要求,本文將具體介紹該系統的實(shí)現、優(yōu)化方法和實(shí)驗結果。

1 系統配置
硬件方面,本系統采用Intel公司的sitsang Board(基于XScale PXA255處理器)作為硬件平臺,使用以OV51l為接口芯片的USB Camera作為圖像采集設備,Symbol公司的Spectrum24 WiFi CF Card作為無(wú)線(xiàn)網(wǎng)絡(luò )傳輸設備。系統的砸件結構框圖如圖l所示。

軟件方面,操作系統采用Linux-2.4.19-rmk7版本的嵌入式Linux內核,圖形界面環(huán)境采用MiniGUI1.3.3.網(wǎng)絡(luò )傳輸協(xié)議采用802.11b。

2 系統軟件設計
2.1 功能模塊設計

本系統終端需要具備以下功能:根據用戶(hù)需求,①只顯示本地圖像;②只顯示遠程圖像;③同時(shí)顯示本地圖像和遠程圖像。為實(shí)現功能選擇的任意性,對系統軟件進(jìn)行了模塊化設計,軟件模塊框圖如圖2所示。

①圖像采集模塊。調用Vide04Linux模塊的API函數進(jìn)行編寫(xiě),為系統采集YUV格式的本地實(shí)時(shí)圖像數據。
②圖像顯示模塊?;贛iniGUI 1.3.3圖形庫編寫(xiě).并采用MiniGUI中的YUVOverlav技術(shù)直接對YUV圖像數據進(jìn)行顯示。
③圖像編碼模塊。采用H.263編碼標準,對本地圖像數據進(jìn)行壓縮編碼。
④圖像解碼模塊。采用H.263解碼標準,對遠程圖像數據進(jìn)行解碼。該模塊與圖像解碼模塊共同構成本系統的核心。
⑤無(wú)線(xiàn)網(wǎng)絡(luò )通信模塊。采用802.11b協(xié)議,引入了RTP協(xié)議的打包機制,實(shí)現了基于UDP傳輸機制的發(fā)送模塊和接收模塊。

2.2軟件設計流程
系統中本地顯示、遠程顯示、發(fā)送和接收需要并發(fā)執行,故系統采用多線(xiàn)程編程技術(shù)。本系統共創(chuàng )建采集、顯示、編碼、解碼、發(fā)送和接收6個(gè)線(xiàn)程,如圖3所示。其中,合理有效的線(xiàn)程間的通信與互斥機制是保證程序能夠順利高效執行的關(guān)鍵。

3 系統性能優(yōu)化
嵌入式設備計算能力受限問(wèn)題以及功耗問(wèn)題的存在,使得在嵌入式設備上實(shí)現實(shí)時(shí)視頻通信更具挑戰性。這就需要依據嵌入式設備的特點(diǎn),充分利用計算資源,設計更合理的軟件架構,并采用計算復雜度更小的算法對系統進(jìn)行優(yōu)化。下面具體介紹本系統中的優(yōu)化策略。

3.1 軟件框架級優(yōu)化

在多線(xiàn)程機制中,各個(gè)線(xiàn)程之間通過(guò)“時(shí)間片”機制分時(shí)復用CPU資源。如果不進(jìn)行優(yōu)化,則無(wú)法保證得到時(shí)間片的線(xiàn)程處于有效執行狀態(tài),而需要CPU資源的線(xiàn)程能很快得到時(shí)間片。

本系統中6個(gè)線(xiàn)程之間存在明顯的依賴(lài)性。若編碼線(xiàn)程不完成,則發(fā)送線(xiàn)程不會(huì )有數據源,若線(xiàn)程切換時(shí)間片為200 ms,則在發(fā)送線(xiàn)程的200 ms中,CPU一直處于空轉狀態(tài)。因此對整個(gè)系統而言,如果不加任何優(yōu)化處理.CPU只有30%左右的時(shí)間處于有效執行狀態(tài)。本系統的優(yōu)化策略采用系統調用usleep()函數使處于無(wú)效狀態(tài)的線(xiàn)程盡快釋放CPU資源,實(shí)現方法如下:
while(1){
if(該線(xiàn)程標志位被觸發(fā)){
……

usleeD(1000)
}

通過(guò)在代碼的適當位置插入usleep()函數調用,CPU的利用率從30%左右提高到了96%以上,從而大大提高了計算資源的有效利用率,提高了整個(gè)系統的性能。

3.2算法級優(yōu)化
本系統的核心部分由編碼模塊和解碼模塊構成。其中編碼模塊的復雜度要遠大于解碼模塊的復雜度,成為整個(gè)系統的瓶頸。本文主要介紹編碼模塊的優(yōu)化策略。

本系統采用tmn-1.7作為編碼模塊的藍本。tmn-1.7遵循標準的H.263編解碼標準,所以并沒(méi)有考慮嵌入式設備的運算特性。其中對本系統影響最明顯的是離散余弦變換算法(DCT)以及運動(dòng)補償算法(ME)。下面針對這兩個(gè)算法提出優(yōu)化方法。

3.2.1離散余弦變換算法
DCT算法把圖像由像素域轉換到頻率域后,圖像的大部分能量集中到直流系數分量以及低頻交流系數分量上,從而更有利于去除空間冗余信息。

DCT變換的原理是:通過(guò)線(xiàn)性變換x=Hx將N維向量x變換為變換系數向量x,其中變換核H為:

其中變換核中的元素H(k,n)是無(wú)理數。這對大多數沒(méi)有浮點(diǎn)協(xié)處理器的嵌入式設備實(shí)現實(shí)時(shí)視頻通信是很大的瓶頸,因此提出將浮點(diǎn)數DCT變換算法改寫(xiě)成整數DCT變換算法的方案。

為實(shí)現這一方案,最關(guān)鍵的問(wèn)題就是生成一個(gè)滿(mǎn)足變換核的正交性要求,并且只包含整數系數的變換矩陣。其基本思路是將無(wú)理數擴大再取整,即:
Q(k,n)=round(aH(k,n)) (2)
下面依據本系統所采用的方法,介紹整數DCT算法。
首先,介紹本系統該算法中的數據表示:
int*dataptr――指向臨時(shí)存放DCT系數的內存空間指針:
int*blkptr――指向存放原始塊數據的內存空間指針;
int*coeffptr――指向存放最終DCT系數的內存空間指針。

然后,對相關(guān)系數以及常數進(jìn)行放縮。在對88的塊進(jìn)行DCT變換時(shí),采用先進(jìn)行行變換,再進(jìn)行列變換的方法。下面以獲取一個(gè)DCT系數的過(guò)程為例說(shuō)明。
#define CONST__BlTS 13
#deflne PASS BITS 2
#define F1x_0_541196100 ((int) 4433) /*O.541196100
CONST_BITS*/

到此行變換結束。結合公式(1)可以看出,經(jīng)過(guò)行變換后比原始的DcT變換放大22倍;同理,再經(jīng)過(guò)列變換后,系數又增大2、/2倍,即經(jīng)過(guò)行列變換后共放大到8倍。在算法最后,將按比例還原:
block[i]=(short int)(data[i]>>3);

再通過(guò)zigzag掃描矩陣,將系數填充到coeff矩陣中:
*(coeff+zigzag[i][j])=*(bLock+i*8+j);

在整數DCT算法中,通過(guò)比例放縮消除了浮點(diǎn)數運算,并且大多數乘除運算均采用移位方式處理,更符合CPU的運算特點(diǎn),從而大幅度提高了運算效率和壓縮速度。

3.2.2 運動(dòng)補償算法
運動(dòng)補償算法用于去除相鄰圖像之間的時(shí)間冗余信息。該算法中,最佳匹配塊搜索算法運算量占絕大部分。tmn-1.7編碼器采用螺旋式全搜索算法,雖然準確度較高,但速度很慢。為了適應實(shí)時(shí)視頻通信以及嵌入式設備運算能力較低的要求,本系統采用二維對數下降法。

二維對數下降法的原理是,通過(guò)快速搜索跟蹤最小MAD點(diǎn),如圖4所示。以運動(dòng)矢量(O,O)點(diǎn)為起始點(diǎn),以十字形分布的5個(gè)點(diǎn)構成每次搜索的點(diǎn)群。如果最小MAD點(diǎn)出現在十字點(diǎn)群的邊緣,則下次搜索以該點(diǎn)為中心,步長(cháng)不變;如果最小MAD點(diǎn)出現在十字點(diǎn)群的中心,則下次搜索仍以該點(diǎn)為中心,但步長(cháng)減半;如果新的十字形搜索中心出現在搜索窗邊緣,則步長(cháng)減半。如此循環(huán),直到步長(cháng)為1,則最小MAD點(diǎn)即為最佳匹配點(diǎn)。


本系統中對二維對數下降法的實(shí)現如下:
whlie(步長(cháng)step>=1){
for(當前搜索十字點(diǎn)群中的每個(gè)點(diǎn)){
sad=SAD_Macroblock(當前搜索塊的指針);/*獲得SAD值*/if(sadMin_FRAME){/*如果小于當前最小SAD值,記錄當前信
息*/
}
}
if(最小MAD點(diǎn)是當前搜索中心){
step=stet)/2;//更新搜索步徑
}
}

該算法大幅度減少了運動(dòng)搜索的搜索次數,從而大大降低了運算量,提高了幀問(wèn)編碼的速率。

4 系統性能分析
下面對實(shí)時(shí)采集的QCIF圖像序列進(jìn)行測試和分析。測試環(huán)境為Intel Sitsang硬件平臺。此硬件平臺采用PXA255處理器,主頻400 MHz;64 MB SDRAM;操作系統采用Embeded Linux一2.4.19-rmk7。

實(shí)時(shí)視頻通信系統主要性能指標為幀率、圖像壓縮比和信噪比。影響這三個(gè)因素的主要模塊為采集、編碼、解碼以及接收和發(fā)送模塊。以下針對各模塊進(jìn)行性能分析。

4.1模塊性能分析
(1)采集模塊
Sitsang板上的USB接口為USBl.1類(lèi)型。由表1可知,采集數據的速率基本達到了USBI.1協(xié)議的12 Mbps傳輸能力的上限,因此,采集圖像的速度完全取決于圖像格式及圖像大小。為了保證圖像實(shí)時(shí)性,采用YUV420176144方案。

(2)編碼模塊
編碼模塊經(jīng)過(guò)改寫(xiě)和優(yōu)化,編碼速度得到很大提高,基本可以滿(mǎn)足實(shí)時(shí)視頻傳輸的速度要求.具體數據如表2所列。在當前壓縮速率的情況下,還能夠獲得理想的壓縮比和信噪比,從而保證實(shí)時(shí)視頻通信的質(zhì)量,如表3所列。


(3)解碼模塊
經(jīng)過(guò)對原有程序的裁減和改寫(xiě),解碼速度可以達到84 fps。

(4)發(fā)送與接收模塊
本系統采用WiFi CF Card作為網(wǎng)絡(luò )傳輸設備,采用802.11b協(xié)議,引入了RTP協(xié)議的打包機制,實(shí)現了基于UDP傳輸機制的發(fā)送模塊和接收模塊。802.11b帶寬達11Mbps,在表3的壓縮比情況下,可傳輸幀率>1000fps,完全滿(mǎn)足實(shí)時(shí)視頻傳輸的要求。

4.2系統性能分析
經(jīng)過(guò)模塊優(yōu)化和系統整合,原型系統在Sitsang板上同時(shí)顯示本地圖像和遠程圖像可達8幀/s,基本達到了實(shí)時(shí)視頻要求。因為在系統框架設計中采用了采集線(xiàn)程一本地顯示線(xiàn)程一編碼線(xiàn)程發(fā)送線(xiàn)程互相抑制的機制,從而基本實(shí)現了本地端圖像和遠程端圖像的同步。

結語(yǔ)
本文所設計的“基于嵌入式設備的視頻通信原型系統”雖然只是一個(gè)雛形,但卻完全實(shí)現了實(shí)時(shí)視頻通信的功能,并為在嵌入式設備上實(shí)現實(shí)時(shí)視頻通信提供了可行的框架和思路。該系統具有良好的可擴展性,為在嵌入式設備上實(shí)現視頻會(huì )議以及可視電話(huà)系統提供了有價(jià)值的參考。



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>