新聞中心

EEPW首頁 > 消費電子 > 設(shè)計應(yīng)用 > 基于ARM的無線視頻傳輸系統(tǒng)的設(shè)計

基于ARM的無線視頻傳輸系統(tǒng)的設(shè)計

作者: 時間:2012-02-06 來源:網(wǎng)絡(luò) 收藏

2 系統(tǒng)軟件
2.1 系統(tǒng)軟件框絮
發(fā)送端軟件的主要功能:采集當(dāng)前屏幕顯示圖像,壓縮圖像,傳送經(jīng)壓縮的圖像。除此以外發(fā)送端軟件還需要完成與接收端連接的建立、斷開功能。與之對應(yīng)的,接收端軟件的主要功能是:接收經(jīng)過壓縮的圖像數(shù)據(jù),進(jìn)行圖像解碼,顯示圖像。發(fā)送端和接收端之間通過Wi-Fi鏈路傳輸數(shù)據(jù)。系統(tǒng)軟件構(gòu)架框圖如圖4所示。

本文引用地址:http://www.butianyuan.cn/article/165900.htm

c.jpg


在會議場合,典型的演示方式是播放幻燈片,在這種應(yīng)用場合下,圖像在大部分時間下都是準(zhǔn)靜態(tài)的,所以在這種情況下的刷新速度可以保持在一個較低的數(shù)值上,這里我們設(shè)定為8幀每秒。此時,若計算機的屏幕分辨率是1 280×800,色深是24 bit,則流的速率是197Mb/s。
而目前普遍采用的802.11 g Wi-Fi標(biāo)準(zhǔn),其標(biāo)稱速度只有54 Mbps,并不能滿足以上所需的數(shù)據(jù)帶寬。所以需要對數(shù)據(jù)經(jīng)行壓縮。在1 280x800的分辨率下,壓縮率需要在5:1以上,可以考慮選用JPEG標(biāo)準(zhǔn)。JPEG壓縮品質(zhì)比較如圖5所示。

d.jpg


JPEG是很靈活的編碼標(biāo)準(zhǔn),其Q值可以在100以內(nèi)任意取值。但如果圖片質(zhì)量過高,不但增加了圖像編碼時CPU的負(fù)擔(dān),而且增加了數(shù)據(jù)傳輸量;而圖片質(zhì)量過低又會影響演示質(zhì)量。需要在圖像質(zhì)量和數(shù)據(jù)流量之間找到一個平衡點。
圖5是圖片在不同的JPEG編碼質(zhì)量下的效果比較,當(dāng)Q取50時,進(jìn)過壓縮的圖片在肉眼觀察下任然擁有較高的畫質(zhì)。而此時,壓縮率是15:1,大于前面分析中提出的5:1壓縮率要求,在這種情況下數(shù)據(jù)速率為13 Mb/s,能夠在802.11 g提供的帶寬下進(jìn)行傳輸??梢姡琎=50時,圖像質(zhì)量和數(shù)據(jù)流量之間可以取得一個較好的平衡。
2.2 視頻發(fā)送端軟件
該系統(tǒng)的發(fā)送端軟件windows。其實現(xiàn)的主要功能可以概括為:采集當(dāng)前屏幕顯示圖像,壓縮圖像,傳送經(jīng)壓縮的圖像。發(fā)送端軟件流程圖如圖6所示。

e.jpg


在windows環(huán)境下捕捉當(dāng)前屏幕的方法有:GDI,DirectX,以及Windows media API。其中采用GDI時效率不高,不適合應(yīng)用在該系統(tǒng)中,這里選用DirectX。
在DirectX中提供了g_pd3dDevice對象,這是一個IDixeet3DDevice9對象,可以調(diào)用IDirect3DSudace9::LockRect()方法來獲得一個指針,這個指針指向當(dāng)前顯示緩存的首地址,再使用合適的算法計算出當(dāng)前顯示緩存區(qū)的大小,就可以很方便地復(fù)制顯示緩存的內(nèi)容至指定內(nèi)存區(qū)域,并采用JEPG標(biāo)準(zhǔn)壓縮所采集到的數(shù)據(jù)。具體原理和過程如下:每一個DirectX程序都包含了后臺緩存,與此同時,每個程序在默認(rèn)狀態(tài)下都可以訪問前臺緩存,前臺緩存即存儲了當(dāng)前的Windows桌面內(nèi)容。訪問這個前臺緩存就可以捕捉當(dāng)前桌面所顯示的畫面。以下是捕捉屏幕的關(guān)鍵代碼。



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉