基于S3C2440處理器的嵌入式視頻采集系統(tǒng)
在嵌入式系統(tǒng)中,BusyBox是構造文件系統(tǒng)常用的一個軟件工具包。本文采用它來構建根文件系統(tǒng)。本項目使用的目標板內核為Linux 2.6.29,但根據項目自啟動需要進行相應裁剪,根據最小系統(tǒng)標準進行裁減,串口、網口、根文件系統(tǒng)可用,并保留本文所要求的攝像頭驅動,裁剪后的內核大小為1.3 MB,滿足系統(tǒng)需要,如圖4所示。本文引用地址:http://2s4d.com/article/150278.htm
2 視頻驅動編寫以及C/S軟件設計
2.1 T.264編碼庫優(yōu)化移植
T.264為中國視頻編碼自由組織聯合開發(fā)的開源編碼器,它對H.264的特性支持單一,編碼器可輸出標準264碼流,解碼器能解T.264編碼器生成的碼流,它吸收了JM、X264和XVID的優(yōu)點,適用于網絡流媒體的傳輸。由于本文研究的視頻采集系統(tǒng)應用于可視電話視頻會議等應用中,對網絡傳輸的要求較高,綜合比較后,選用T.264作為本系統(tǒng)的軟件編碼器。
采用H.264中的基本檔次,僅使用CAVLC熵編碼方式即可滿足應用要求。綜合不同平均碼率下的編碼性能以及網絡傳輸能力的考慮,對于QCIF格式運動平緩的視頻序列,編碼輸出幀率為15 f·s-1時,設置平均碼率為128 kb·s-1是比較合適的選擇。使用T.264開源編碼器,并對T.264進行代碼級優(yōu)化編譯。在編譯級添加了如下選項:(1)-fomit-frame-pointer選項忽略函數中不必要的幀指針,節(jié)省指令開銷。(2)-04幾乎打開了所有的優(yōu)化選項,以盡可能提高程序運行效率。(3)-msoft-float:產生基于浮點運算函數庫調用的軟浮點目標代碼。
2.2 視頻驅動編寫以及C/S軟件設計
采用目前國內市場占有率較大的臺灣松翰SONIX613a主控芯片的攝像頭,該攝像頭支持Jpeg格式和4:2:0采樣的YUV原始視頻數據輸出,數據量小,可直接作為H.264等視頻壓縮編碼標準的原始視頻數據源,避免了對圖像的重采樣和色彩空間的變換等復雜的數字運算處理,適合嵌入式的實時視頻采集應用。
2.2.1 驅動程序Gspca的修改移植
Gspca/Spca5xx是自由軟件基金會發(fā)布的通用USB攝像頭驅動程序。但由于該解決方案在Linux內核中并無驅動支持,所以必須針對其進行驅動的添加和修改,如圖5所示。
linux相關文章:linux教程
評論