唐聰
摘要:本文設(shè)計(jì)一種視頻壓縮系統(tǒng),應(yīng)用于遠(yuǎn)程監(jiān)控系統(tǒng)中視頻數(shù)據(jù)的傳輸與處理。該系統(tǒng)硬件平臺(tái)采用ARM處理器為核心,軟件部分完成H.264編碼庫(kù)的移植,最終通過(guò)網(wǎng)絡(luò)傳輸將壓縮處理后的數(shù)據(jù)發(fā)送到遠(yuǎn)程上位機(jī)進(jìn)行解壓和顯示。
關(guān)鍵詞:視頻壓縮移植ARM
中圖分類(lèi)號(hào):TP277 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1674-098X(2012)06(b)-0013-01
1 設(shè)計(jì)結(jié)構(gòu)與基本原理
該系統(tǒng)通過(guò)CMOS相機(jī)采集現(xiàn)場(chǎng)數(shù)據(jù),將采集到的視頻數(shù)據(jù)通過(guò)網(wǎng)口傳輸給ARM 架構(gòu)的主處理器上,在SDRAM中以H.264標(biāo)準(zhǔn)對(duì)視頻信號(hào)進(jìn)行壓縮處理,最后按照UDP包的格式打包,將數(shù)據(jù)發(fā)送到遠(yuǎn)程上位機(jī)進(jìn)行計(jì)算與處理。系統(tǒng)構(gòu)成框架圖如圖1所示。
2 系統(tǒng)的實(shí)現(xiàn)
2.1 系統(tǒng)平臺(tái)的搭建
本文選擇S3C6410作為該系統(tǒng)主處理器,S3C6410是由三星公司推出的一款低功耗、高性?xún)r(jià)比的RSIC處理器,它基于ARM11內(nèi)核(ARM1176JZF-S),主頻667M,可廣泛應(yīng)用于移動(dòng)電話(huà)和通用處理等領(lǐng)域。外部ROM采用64M Nand flash 和64M SDRAM 分別用于系統(tǒng)和數(shù)據(jù)的存儲(chǔ)等功能。為了實(shí)現(xiàn)對(duì)視頻數(shù)據(jù)的采集以及壓縮傳輸,在硬件平臺(tái)的基礎(chǔ)上移植Linux內(nèi)核,裁剪Linux2.6.28內(nèi)核,保留內(nèi)核對(duì)TCP/IP協(xié)議的支持,并在基于Linux內(nèi)核的嵌入式系統(tǒng)上完成相機(jī)驅(qū)動(dòng)、視頻采集應(yīng)用程序的編寫(xiě)以及H.264視頻編碼庫(kù)的移植。采用UBOOT引導(dǎo)內(nèi)核,文件系統(tǒng)采用cramfs,使其操作簡(jiǎn)單、速度快、節(jié)約內(nèi)存空間。最后為嵌入式系統(tǒng)添加網(wǎng)口芯片DM9000驅(qū)動(dòng)嗎,至此整個(gè)系統(tǒng)的硬件平臺(tái)搭建完畢?,F(xiàn)場(chǎng)數(shù)據(jù)經(jīng)過(guò)采集,編碼,最終被處理器通過(guò)網(wǎng)口協(xié)議發(fā)送給遠(yuǎn)程上位機(jī)。
2.2 基于H.264編碼庫(kù)的視頻壓縮
為了達(dá)到較高的編碼效率,本文選用第三代視頻編碼標(biāo)準(zhǔn)H.264。在同等條件下,與MPEG-4 ASP編碼標(biāo)準(zhǔn)相比較,H.264壓縮的數(shù)據(jù)占用空間小,節(jié)約50%的碼流,而且在此前提下并不影響圖像的質(zhì)量,即高質(zhì)量視頻流壓縮。假如原始大小為88GB的視頻文件,若使用MPEG-2壓縮過(guò)后大小為3.5GB,其壓縮率為25∶1,換成H.264編碼后文件大小則為879MB,它的壓縮率將高達(dá)102∶1。不但如此,H.264能夠更好的運(yùn)用于網(wǎng)絡(luò)傳輸?shù)念I(lǐng)域。它采用內(nèi)容自適用可變長(zhǎng)編碼(CAVLC)和內(nèi)容自適用二進(jìn)制算術(shù)編碼(CABAC),作為糾錯(cuò)編碼,具有較強(qiáng)的抗誤碼特性,可適應(yīng)丟包率高、干擾嚴(yán)重的無(wú)線(xiàn)信道中的視頻傳輸。(圖1)
H.264標(biāo)準(zhǔn)的編碼如圖2:它采用基于塊的混合編碼模式,其基本思想是通過(guò)對(duì)幀間和幀內(nèi)預(yù)測(cè)確定出視頻序列中的時(shí)間和空間冗余,然后通過(guò)固定算法的變換和量化編碼來(lái)消除頻域冗余。H.264視頻編碼相對(duì)于其他的編碼標(biāo)準(zhǔn),在一定模式下提高了視頻壓縮編碼性。
3 測(cè)量與結(jié)果
經(jīng)過(guò)大量的分析、計(jì)算和論證,本文提出的設(shè)計(jì)系統(tǒng)符合大部分的遠(yuǎn)程監(jiān)控測(cè)量系統(tǒng)的應(yīng)用標(biāo)準(zhǔn),實(shí)際應(yīng)用于激光測(cè)量系統(tǒng)的遠(yuǎn)程監(jiān)控,使得該系統(tǒng)性能得到了較大的改善。本文設(shè)計(jì)中,編解碼過(guò)程全部應(yīng)用H.264標(biāo)準(zhǔn),經(jīng)測(cè)試,監(jiān)控系統(tǒng)再接收數(shù)據(jù)和發(fā)送控制指令時(shí)具有較快的響應(yīng)速度。
4 結(jié)語(yǔ)
本文采用當(dāng)前主流的嵌入式微處理器S3C6410,借鑒傳統(tǒng)的視頻壓縮處理方案的基礎(chǔ)上,加大容量的FLASH 芯片存儲(chǔ),移植較高版本的linux內(nèi)核,使得本系統(tǒng)具有通用性、安裝方便、穩(wěn)定、可靠、成本低等優(yōu)點(diǎn),擁有相當(dāng)廣泛的應(yīng)用前景。
參考文獻(xiàn)
[1] 周怡,吳昊,方向忠.針對(duì)硬件實(shí)現(xiàn)的H.264視頻編碼算法改進(jìn)[J].電子技術(shù)應(yīng)用,2004,7(12):110-112.
[2] 李駒光,聶雪媛,江澤明,王兆衛(wèi).ARM應(yīng)用系統(tǒng)開(kāi)發(fā)詳解[M].清華大學(xué)出版社,2003.
[3] 杜春雷.ARM體系結(jié)構(gòu)與編程[M].清華大學(xué)出版社,2003.
[4] 熊茂華,謝建華,熊昕.嵌入式Linux C語(yǔ)言應(yīng)用程序設(shè)計(jì)與實(shí)踐[M].北京:清華大學(xué)出版社,2010.