基于ARM的嵌入式無線視頻采集系統設計方案
3 系統軟件結構
本嵌入式遠程視頻監控系統軟件由攝像頭驅動模塊、圖像采集模塊、H.264圖像壓縮模塊、嵌入式Web服務器組成。攝像頭驅動模塊實現攝像頭在Linux操作系統下的正常工作,并為應用程序提供接口。圖像采集程序獲取攝像頭傳送過來的圖像信息并進行暫存。H.264壓縮模塊完成對原始圖像的編碼處理。嵌入式Web服務器實現圖像數據處理與網絡傳輸。嵌入式Web服務器一般由5個主要模塊組成:嵌入式HTTP引擎、安全模塊、應用程序接口、文件系統和配置模塊。由于開發平臺采用的嵌入式操作系統為ARMLinux,具有成熟的文件系統,提供文件訪問的接口,可以直接使用文件系統提供的讀寫接口訪問嵌入式Web資源文件,不需要另外設計文件系統。嵌入式視頻監控系統軟件體系結構如圖3所示。
圖3 嵌入式視頻監控系統軟件體系結構
3.1 攝像頭驅動程序設計
圖像的采集工作由圖像傳感器MI360和視頻壓縮芯片ZC0301完成,ZC0301通過USB接口和S3C2410相連,因此驅動程序主要是對Linux下USB驅動程序的開發,ZC0301的驅動獨立開發難度較大,主要是既要考慮圖像采集芯片的驅動,還要考慮USB的驅動,且Vimicro沒有公布ZC0301的詳細技術資料。Linux下ZC0301的驅動程序有開源代碼,根據本系統的開發平臺進行修改、移植、重新編譯內核等操作可以完成ZC0301的驅動程序。
3.2 圖像采集模塊設計
Video4linux(V4L)是Linux的影像串流系統與嵌入式影像系統的基礎,是LinuxKernel中支持影像設備的一組APIs,配合適當的視頻采集卡與視頻采集卡驅動程序,可以實現影像采集、AM/FM無線廣播、影像CODEC、視頻切換等功能。Video4linux為二層式架構,上層為Video4linux驅動程序本身,下層架構則是影像設備的驅動程序。這里用到的是Video4linux的上層驅動程序,即Video4linux本身所提供給程序開發人員的APIs。
Video4linux視頻圖像采集流程如圖4所示。
圖4 Video4linux視頻圖像采集流程圖
3.3 H.264圖像壓縮模塊設計
H.264是ITU-T視頻編碼專家組(VCEG)和ISO/IEC活動圖像編碼專家組(MPEG)的聯合視頻組(JVT)開發的一個新的數字視頻編碼標準。在技術上,H.264標準有很多優勢,如統一的VLC符號編碼,高精度、多模式的位移估計,基于4×4塊的整數變換、分層的編碼語法等。這些措施使得H.264算法具有很高的編碼效率,在相同的重建圖像質量下能夠比H.263降低50%左右的碼率。
H.264的碼流結構網絡適應性強,增加了差錯恢復能力,能夠很好地適應IP和無線網絡。H.264能以較低的數據速率傳送基于IP的視頻流,在視頻質量、壓縮效率和數據包恢復丟失等方面,超越了現有的MPEG-2、MPEG-4和H.26x視頻通信標準,更適合窄帶傳輸,是目前監控系統最為理想的信源壓縮編碼標準。
評論