基于IPP庫的MPEG-4視頻傳輸系統(tǒng)設(shè)計(jì)
2.3 視頻傳輸模塊
在壓縮視頻流通過IP網(wǎng)絡(luò)傳輸之前必須打包。由于TCP協(xié)議丟包重傳的特性增加了抖動和失真,不符合MPEG-4視頻傳輸對時(shí)延的嚴(yán)格要求,本系統(tǒng)采用UDP來傳輸,但UDP不保證可靠傳輸,接收端需要通過RTP/RTCP來檢測丟包。RTP協(xié)議提供了時(shí)間戳,序列號來控制實(shí)時(shí)數(shù)據(jù)的流放。發(fā)送端在數(shù)據(jù)包里隱蔽的設(shè)置了時(shí)間標(biāo)簽,接收端依照時(shí)間標(biāo)簽按照正確的速率恢復(fù)成原始的實(shí)時(shí)的數(shù)據(jù)。
2.4 視頻回放模塊
本系統(tǒng)采用FrameBuffer機(jī)制在LCD上實(shí)現(xiàn)視頻信息的顯示。FrameBuffer是一種能夠提取圖形的硬件設(shè)備,是用戶進(jìn)入圖形界面很好的接口,這種接口將顯示設(shè)備抽象為幀緩沖區(qū)。用戶可以把它看作一塊內(nèi)存,只要將其映射到進(jìn)程地址空間,就可以直接進(jìn)行讀寫操作,而寫操作可以立即反應(yīng)在屏幕上。在應(yīng)用程序中,首先打開/dev/fb0設(shè)備文件,隨后用ioctl操作取得屏幕的分辨率和bpp值,從而計(jì)算出屏幕緩沖區(qū)的大小,并將該緩沖區(qū)映射到用戶空間,最后就可直接對屏幕緩沖區(qū)進(jìn)行圖片顯示。由于本系統(tǒng)所采用的LCD只支持RGB格式的視頻流,而經(jīng)MPEG4 解碼后的數(shù)據(jù)為YUV格式的,所以在顯示之前還需運(yùn)用IPP函數(shù)ippiYUV420ToRGB565_8u16u_P3C3R進(jìn)行YUV到RGB格式的轉(zhuǎn)換。
3 結(jié)語
本文介紹了視頻傳輸系統(tǒng)各個(gè)模塊的功能和軟件實(shí)現(xiàn),重點(diǎn)介紹了基于IPP的MPEG-4編解碼模塊。從實(shí)際效果來看,在 XScale PXA270中利用IPP庫編解碼后的編碼速率比未用IPP庫提高了70%~90%,大大提高了實(shí)時(shí)性。本文的研究成果可以在視頻監(jiān)控,多媒體會議等很多領(lǐng)域得到更廣泛的應(yīng)用。
本文作者創(chuàng)新點(diǎn):在基于Intel Xscale構(gòu)架的PXA270嵌入式設(shè)備上,使用IPP為MPEG-4編解碼編寫的底層API函數(shù)對視頻傳輸系統(tǒng)程序結(jié)構(gòu)進(jìn)行重組并優(yōu)化,對IPP的語法規(guī)則和其中的關(guān)鍵算法給出了解釋。經(jīng)優(yōu)化后的系統(tǒng)傳輸效率和圖象質(zhì)量明顯提高。
參考文獻(xiàn):
[1]Intel Integrated Performance Primitives on Intel Personal Internet Client Architecture Processors Reference Manual Version 5.0 [S].Intel.com ,2005
[2]求是科技.Visual C++音視頻編解碼技術(shù)及實(shí)踐[M].人民郵電出版社,2006
[3]洪艷偉,楊斌.嵌入式手持設(shè)備及其基于IPP的優(yōu)化. [J].《微計(jì)算機(jī)信息》,2007,2-2:23
[4]Iain E.G.Richardson 著 歐陽合 韓軍譯. H.264和MPEG-4視頻壓縮[M].國防科技大學(xué)出版社,2004
[5]鄭靈翔等.嵌入式系統(tǒng)設(shè)計(jì)與應(yīng)用開發(fā)[M].北京航天航空大學(xué)出版社,2006
評論