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