當(dāng)前位置:首頁 > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]基于PXA255和JPEG壓縮算法的嵌入式視頻監(jiān)視系統(tǒng)

1  嵌入式系統(tǒng)的硬件構(gòu)成
1.1 視頻數(shù)據(jù)采集終端
    現(xiàn)場視頻信號的獲取采用基于PXA255的嵌入式CPU構(gòu)建的開發(fā)平臺Sitsang開發(fā)板?;赑XA255的Sitsang嵌入式開發(fā)板是一個(gè)功能強(qiáng)大的嵌入式開發(fā)平臺,其CPU工作主頻為    MHz,具有64M閃盤的存儲容量,內(nèi)部RAM達(dá)到了32M,并且具有豐富的外設(shè)資源。其中Sitsang板上自帶的USB接口(USB1.0)能夠與USB攝像頭進(jìn)行連接,從而滿足本設(shè)計(jì)中視頻信號的采集要求。本設(shè)計(jì)采用MDC-30L作為視頻采集設(shè)備,直接通過USB接口與Sitsang板進(jìn)行連接。
1.2 無線局域網(wǎng)
    采用無線網(wǎng)絡(luò)傳輸方式,不僅能夠省去布線等施工操作,并且配置簡單,便于進(jìn)行設(shè)備的檢修和維護(hù)。無線網(wǎng)絡(luò)設(shè)備采用TEW-310APB無線網(wǎng)橋,它具有下列多種優(yōu)點(diǎn),便于進(jìn)行圖像傳輸:采用直接序列擴(kuò)頻 (DSSS)技術(shù);提供高的數(shù)據(jù)速率帶寬達(dá) 22Mbps;提供 64/128/256位有線等效保密 (WEP)編碼;瀏覽器WEB配置和基于 Windows的配置軟件;通過無線用戶的MAC地址進(jìn)行訪問控制;分開的 2dBi雙極天線,更換其中任何一個(gè)天線為高增益天線即可以擴(kuò)大信號覆蓋范圍。DHCP服務(wù)支持高達(dá)100個(gè)客戶端 ;10/100Mbps自適應(yīng)快速以太網(wǎng)端口。
1.3 監(jiān)視服務(wù)器
    服務(wù)器中完成了多路視頻信號的采集和轉(zhuǎn)發(fā)工作,通過不同的端口與需要進(jìn)行視頻監(jiān)控的客戶機(jī)進(jìn)行通訊,并傳輸壓縮好的視頻數(shù)據(jù)。因此,可以選擇一般服務(wù)器計(jì)算機(jī)就能滿足要求。
1.4 移動(dòng)監(jiān)視終端
    移動(dòng)監(jiān)控終端我們同樣采用Sitsang開發(fā)板來進(jìn)行設(shè)計(jì)。服務(wù)器收到相關(guān)數(shù)據(jù)后可以根據(jù)要求把數(shù)據(jù)轉(zhuǎn)發(fā)給移動(dòng)終端,移動(dòng)終端通過無線網(wǎng)橋接收數(shù)據(jù)后在液晶屏上進(jìn)行相應(yīng)的顯示,這樣方便監(jiān)控人員隨時(shí)隨地了解現(xiàn)場發(fā)生的情況。
系統(tǒng)硬件實(shí)現(xiàn)框圖如圖1所示:

圖1 硬件構(gòu)成
2  系統(tǒng)的軟件設(shè)計(jì)
2.1  Linux 下開發(fā)平臺的建立
    Sitsang嵌入式開發(fā)平臺適合多種嵌入式操作系統(tǒng),本文在Sitsang開發(fā)板上構(gòu)建了基于ARM的嵌入式Linux操作系統(tǒng),簡稱Arm_Linux操作系統(tǒng),并且對Linux進(jìn)行了有效的裁剪,使其適應(yīng)本設(shè)計(jì)的要求。
    要在Linux系統(tǒng)中開發(fā)應(yīng)用程序,必須完成開發(fā)環(huán)境的建立。首先是建立交叉編譯環(huán)境,使程序能夠在PC機(jī)上進(jìn)行編譯、連接,然后下載到目標(biāo)板(Sitsang板)上運(yùn)行;其次選擇QT作為Linux環(huán)境下可視化界面的開發(fā)工具,Qt是Linux下免費(fèi)的面向?qū)ο蟮拈_發(fā)環(huán)境,它具有優(yōu)良的跨平臺性能,支持絕大多數(shù)系統(tǒng)常用的API函數(shù);最后要進(jìn)行內(nèi)核的裁剪。
2.2  Linux 內(nèi)核的裁剪和建立
    原始的linux內(nèi)核提供了較完備的系統(tǒng)資源,為開發(fā)目標(biāo)的實(shí)現(xiàn)提供了多種可行性方案的硬件支持,但是考慮到更充分的利用硬件資源和系統(tǒng)的穩(wěn)定性,就要根據(jù)所需要的資源對內(nèi)核進(jìn)行相應(yīng)的配置,增加需要的設(shè)備資源,不需要的資源可不必加載其驅(qū)動(dòng)程序。
    根據(jù)我們對這套系統(tǒng)的要求,確定了以下所用硬件:USB Host controller、USB Client、Touch Screen、LCD、FF UART、BT UART、LAN、VIDEO等設(shè)備資源以及與它們相關(guān)的一些接口總線設(shè)備。對于IrDA,USB鼠標(biāo)鍵盤等設(shè)備我們沒有用到,從內(nèi)核中進(jìn)行刪除。
2.3  軟件系統(tǒng)的實(shí)現(xiàn)
    軟件分成幾個(gè)模塊來進(jìn)行設(shè)計(jì):
2.3.1 視頻采集處理模塊
    這是整個(gè)系統(tǒng)軟件的“底層”工作部分。它直接通過攝像頭完成現(xiàn)場視頻圖像的實(shí)時(shí)采集,并進(jìn)行相關(guān)的初步處理,為網(wǎng)絡(luò)發(fā)送作好準(zhǔn)備。
2.3.2 網(wǎng)絡(luò)通訊模塊
    此模塊接收視頻采集模塊和狀態(tài)參數(shù)采集模塊提供的相關(guān)數(shù)據(jù),傳遞給監(jiān)控服務(wù)器以備下一步處理;同時(shí),它還可以轉(zhuǎn)發(fā)監(jiān)控服務(wù)器的數(shù)據(jù)給某個(gè)特定的移動(dòng)監(jiān)控終端,以便實(shí)現(xiàn)移動(dòng)監(jiān)控。
2.3.2 視頻顯示及報(bào)警模塊
    此模塊在監(jiān)控服務(wù)器和移動(dòng)監(jiān)控終端上都存在,功能也基本相同。它可以實(shí)時(shí)的顯示接收到的視頻圖像,并在發(fā)現(xiàn)圖像異常時(shí)及時(shí)給出報(bào)警信號,提醒監(jiān)控人員進(jìn)行處理。
2.3.4 文件服務(wù)模塊
    此模塊主要是在發(fā)生報(bào)警后及時(shí)記錄相關(guān)信息,并在硬盤上存貯相關(guān)數(shù)據(jù),以備將來查閱。
整體軟件設(shè)計(jì)框圖如下圖2所示:[!--empirenews.page--]

圖2 系統(tǒng)軟件框圖


    在視頻采集與處理模塊中,首先要按照要求在linux2.4.19內(nèi)核中加入V4L (video for linux) 的支持項(xiàng),然后在usb總線驅(qū)動(dòng)中就會出現(xiàn)一些camera的選項(xiàng),里面就有ov511(支持網(wǎng)眼3000)和stv680(支持MDC-30L數(shù)碼相機(jī))的驅(qū)動(dòng)支持。
    V4L定義了在linux下進(jìn)行圖像采集的接口函數(shù)。主要有設(shè)備的open、close、read、write、ioctrl、mmap等對設(shè)備的操作方法,并通過結(jié)構(gòu)體video_device_ stv680_template在內(nèi)核中進(jìn)行登記,方便在用戶狀態(tài)下進(jìn)行設(shè)備的各種操作??梢砸蕴摂M內(nèi)存映射方式獲取圖像數(shù)據(jù),主要是調(diào)用mmap內(nèi)存映射函數(shù)stv680_mmap,其定義如下:
    static int stv680_mmap (struct video_device *dev, const char *adr, unsigned long size)
    在該函數(shù)中,利用系統(tǒng)調(diào)用remap_page_range,將物理地址pos對應(yīng)的虛擬頁面地址page映射到用戶空間中去,從而實(shí)現(xiàn)了圖像數(shù)據(jù)從驅(qū)動(dòng)到應(yīng)用程序的轉(zhuǎn)移。對硬件底層的操作,集中在stv680_ioctl函數(shù)中,通過系統(tǒng)調(diào)用ioctrl對設(shè)備進(jìn)行控制,其中包括:VIDIOCGCAP、VIDIOCSYNC等控制方式,對攝像頭進(jìn)行配置、同步等操作。這些控制方式都符合V4L的控制規(guī)范,可以將一般的圖像采集程序不經(jīng)過改動(dòng)移植到這個(gè)驅(qū)動(dòng)上來。
    對采集上來的每一幀圖像數(shù)據(jù)我們采用JPEG壓縮。在實(shí)際應(yīng)用中,JPEG壓縮使用Arm_linux下的libjpeg庫模塊,該模塊采用以離散余弦變換(Discrete Cosine Transform,DCT)為基礎(chǔ)的有損壓縮算法,在壓縮比為25:1的情況下,壓縮后還原得到的圖像與原始圖像相比較,非圖像專家難于找出它們之間的區(qū)別。經(jīng)過交叉編譯后,將編譯生成的庫文件libjpeg.so拷貝到了sitsang板的文件系統(tǒng)中,從而使sitsang板支持jpeg壓縮格式的圖形。代碼實(shí)現(xiàn)部分的主要流程如下:
    設(shè)置壓縮信息結(jié)構(gòu)體struct jpeg_compress_struct cjpeg,其中保存著圖像原始信息和壓縮信息。其中圖像大小320x240,深度為3,顏色類型為RGB.
設(shè)置圖像壓縮品質(zhì):jpeg_set_defaults(&cjpeg)   jpeg_set_quality(&cjpeg, quality, TRUE);
    設(shè)置圖像壓縮方法:cjpeg.dct_method = JDCT_FASTEST(使用快速離散dct變換)
開始壓縮:
    jpeg_start_compress(&cjpeg, TRUE);
     ……
    jpeg_write_scanlines(&cjpeg, row_ptr, 1);
……
    完成壓縮:jpeg_finish_compress(&cjpeg);     jpeg_destroy_compress(&cjpeg)
在圖像的處理上,本文設(shè)計(jì)了簡單并且行之有效的圖像比較判斷程序,來判斷圖像是否發(fā)生變化,并且只有當(dāng)圖像發(fā)生變換以后,系統(tǒng)才會自動(dòng)將現(xiàn)場情況上報(bào)給監(jiān)控主機(jī)。比較函數(shù)cmp_blks設(shè)定一個(gè)圖像發(fā)生變化的極限c_limit,然后將一幀圖像分割成12*12個(gè)圖像塊(block),對每一個(gè)block,將像素之差與c_limit進(jìn)行比較,如果大于c_limit,則認(rèn)為該塊圖像發(fā)生了變化,否則沒有變化。在野外無人值守的監(jiān)控環(huán)境中,根據(jù)實(shí)驗(yàn)和經(jīng)驗(yàn)進(jìn)行設(shè)定c_limit的值,能夠合理的利用網(wǎng)絡(luò)帶寬進(jìn)行傳輸并減少系統(tǒng)負(fù)擔(dān)。經(jīng)過概算法確定的視頻變化塊信息可以用于以后圖像跟蹤的擴(kuò)展功能。
3  系統(tǒng)的測試與結(jié)論
    通過現(xiàn)場安裝測試,每個(gè)監(jiān)視終端可以同時(shí)支持4臺視頻采集終端的連接與數(shù)據(jù)傳輸,服務(wù)器可以同時(shí)支持多達(dá)100臺視頻采集終端的數(shù)據(jù)轉(zhuǎn)發(fā),長時(shí)間運(yùn)行效果很好。經(jīng)過圖像預(yù)處理、判斷和壓縮后,傳輸?shù)臄?shù)據(jù)量小,節(jié)省了網(wǎng)絡(luò)傳輸帶寬,適合無線網(wǎng)絡(luò)傳輸。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動(dòng)現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動(dòng)力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉