新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于ADSP-BF532的嵌入式網(wǎng)絡(luò)視頻服務(wù)器的設(shè)計(jì)

基于ADSP-BF532的嵌入式網(wǎng)絡(luò)視頻服務(wù)器的設(shè)計(jì)

作者: 時(shí)間:2009-08-28 來(lái)源:網(wǎng)絡(luò) 收藏

串行SPI和網(wǎng)絡(luò)接口設(shè)備MPC860的編程:利用SPI接口,將作為傳輸數(shù)據(jù)的主設(shè)備,MPC800作為從設(shè)備,將數(shù)據(jù)傳送給MPC860處理,接收視頻數(shù)據(jù)并提供網(wǎng)絡(luò)接口。其中網(wǎng)口、SPI接口接收數(shù)據(jù)的流程如圖2所示。

3.2 視頻編碼

考慮到壓縮效率和碼率,視頻的核心采用了MPEG-4 Simple Profile標(biāo)準(zhǔn)進(jìn)行視頻壓縮編碼。只進(jìn)行幀內(nèi)編碼(I幀)和幀間預(yù)測(cè)編碼(P幀),而不進(jìn)行雙向預(yù)測(cè)編碼(B幀),適合矩形視頻對(duì)象(Video Object)編碼。

其中的核心算法有DCT和IDCT,它采用2D 8×8DCT,并且采用循環(huán)緩沖,充分利用了Blackfin DSP的優(yōu)勢(shì),減少了循環(huán)體內(nèi)部的指令執(zhí)行數(shù);MPEG-4采用兩種方法確定量化步長(zhǎng),一是采用TM5速率控制方式,二是采用MPEG-4中定義的速率控制模型,它們都是通過(guò)碼流速率大小以及圖像質(zhì)量的要求來(lái)改變量化系數(shù)。MPEG-4的直流系數(shù)量化采用非線性量化方式,交流系數(shù)既可以選擇H.263量化也可以使用MPEG量化,這里采用H.263模式。

運(yùn)動(dòng)預(yù)測(cè)使用條塊SAD(當(dāng)前的圖像與預(yù)測(cè)圖像的絕對(duì)差值和)最小搜索出最匹配的宏塊,而且Blackfin DSP提供了一條視頻專(zhuān)用指令SAA,大大提高了速度;最后用邊界填充(PADDING)減少在宏塊邊界上的運(yùn)動(dòng)誤差。

3.3 視頻網(wǎng)絡(luò)傳輸?shù)膶?shí)現(xiàn)

經(jīng)過(guò)視頻采集、壓縮后的視頻數(shù)據(jù)通過(guò)網(wǎng)絡(luò)進(jìn)行傳輸,其傳輸層用TCP傳輸協(xié)議傳輸信息包很小的操作控制命令,用UDP傳輸協(xié)議傳輸視頻圖像數(shù)據(jù)。因?yàn)門(mén)CP這種傳統(tǒng)的連接協(xié)議必須要求數(shù)據(jù)無(wú)誤地順序傳輸?shù)娇蛻舳说膽?yīng)用層,可以利用TCP傳輸協(xié)議傳輸網(wǎng)絡(luò)監(jiān)控中的控制命令,信號(hào)和客戶端正確接收到操作命令。UDP傳輸協(xié)議沒(méi)有提供網(wǎng)絡(luò)流量控制和數(shù)據(jù)包丟失、出錯(cuò)處理,在高級(jí)壓縮算法如MPEG-4采用了幀間壓縮的方法,數(shù)據(jù)包丟失可能影響到連續(xù)幾幀視頻圖像。所以,UDP傳輸協(xié)議的應(yīng)用程序必須靠解決可靠性問(wèn)題。

上端軟件提供友好的用戶界面,用Visual C++6.0實(shí)現(xiàn),根據(jù)用戶的需求,通過(guò)網(wǎng)絡(luò)從遠(yuǎn)程終端接收視頻數(shù)據(jù),包括MPEG-4的解碼過(guò)程、網(wǎng)絡(luò)傳輸控制和網(wǎng)絡(luò)命令編碼等。有兩種編寫(xiě)方式,第一種需要專(zhuān)門(mén)寫(xiě)一個(gè)/客戶端軟件來(lái)發(fā)送和接收視頻圖像數(shù)據(jù);第二種可以采用服務(wù)器/瀏覽器模式,即將客戶端軟件做成控件,嵌入到網(wǎng)頁(yè)中,做成WEB的數(shù)字視頻服務(wù)器。本文采用第一種方式。

linux操作系統(tǒng)文章專(zhuān)題:linux操作系統(tǒng)詳解(linux不再難懂)


評(píng)論


相關(guān)推薦

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

關(guān)閉