目前,數字類消費電子產品的需求增長驚人。在這些產品中,成像和視頻類產品比重很大。并且技術積累日益成熟,單說算法有靜態圖像的JPEG標準、動態視頻的MPEG1、MPEG2、MPEG3和H.263、H.264,并有向H.264過渡的趨勢。將相關的圖像技術應用于生產中將是我們考慮的一個重要方向。在銀行、變電站、車站等場所,需要重點考慮單張圖片的提取分析要求,以及控制應用成本,所以用M-JPEG算法比較合適。
本監控系統基于TMS320DSC21嵌入式處理器平臺和嵌入式Linux系統,分為遠程現場采集端和本地監控終端,通過CDMA無線網絡進行傳輸,如圖1所示。現場采集端采集監控現場單幀圖像和視頻連續幀并編碼壓縮成M-JPEG并保存成文件,然后通過CDMA網路傳給本地監控端。監控端接收到圖像數據后,進M-JPEG解碼并在模擬液晶屏上顯示出來。M-JPEG采用幀內壓縮算法,對長時間沒有變化的對象可以達到較高的壓縮比,并且成本較低,從而實現在帶寬有限的情況下實現遠程觀測。本文主要介紹監控終端的設計。
圖1 無線圖像監控系統結構
系統硬件結構
系統監控終端硬件組成結構如圖2所示。
圖2系統硬件結構
CPU采用TI公司芯片TMS320DSC21。該芯片是TI公司推出的一款基于多處理器架構之上的DSP數字圖像處理器。其采用一個ARM7 32 位 RISC 微控制器來處理非成像功能,并用作整個系統的主控制器,同時采用可編程的 C5409 DSP 核心處理圖像解碼。另外,DSC21 還集成了專門用于處理大部分復雜計算圖像任務的可編程協處理器。其中一個協處理器——圖像處理引擎iMX執行 DCT、反向DCT,其它協處理器執行可變長度編碼/解碼、量化與逆量化。
CDMA無線接收模塊接收JPEG數據流,并存放到SDRAM中。圖像顯示模塊將解壓后的原始圖像在電視或模擬液晶屏上顯示出來。
存儲器模塊由FLASH與SDRAM組成。FLASH存儲器用來存儲程序,是系統獨立運行(脫機運行)必不可少的組成部分。SDRAM存儲器用于系統軟件的運行以及圖像數據的存儲。這樣可以調用以前的圖像數據,用于研究。
調試仿真模塊用于調試仿真使用,還可以通過它將圖像數據從SDRAM中導入電腦中。
系統軟件結構
系統的設計基于開放源代碼Linux操作系統,本系統移植的是2.4版本。整個Linux系統的層次結構如圖3所示。
整個Linux系統以前面介紹的TMS320DSC21硬件平臺為基礎,針對本系統硬件需要的主要驅動程序分別是CDMA模塊驅動和OSD圖像顯示驅動。驅動程序對底層硬件進行抽象,為頂層應用程序提供一致的底層接口。JPEG圖像數據接收、管理程序作為一個常駐守護線程一直監控底層CDMA模塊的活動,并給上層應用層程序提供相關接口函數。
頂層應用層程序通過JPEG圖像數據接收、管理服務程序獲取從CDMA驅動接收來的圖像數據,然后調用huffman解碼庫對圖像進行解壓,然后把解壓后的YUV數據存入SDRAM,然后映射到OSD區域,通過液晶屏顯示出來。
圖像的JPEG解碼實現
μclinux系統控制DSP端進行JPEG解碼,經過預處理、Huffman 解碼、反量化、IDCT 變換這幾個主要步驟將JPEG 圖像數據恢復成壓縮編碼前的圖像數據,然后經過OSD處理最終在液晶屏上顯示出圖像來。詳細流程如圖4。
圖4 JPEG解碼流程圖
用CDMA模塊無線傳輸圖像數據
CDMA是碼分多址的英文縮寫(Code Division Multiple Access),它是在數字技術的分支——擴頻通信技術上發展起來的一種移動通信技術。不同的移動臺共用一個頻率應用擴頻通信技術對每個移動臺分配一個獨特的、隨機的碼序列,每個碼序列互不相同,而且彼此都不相關。它的容量接近于以前CDMA 1×系統容量的兩倍,從而能夠適應不斷成長的語音服務和無線互聯網新型服務的需要。其次它的最高下載速度可以達到153kbps(將來可以達到307kbps),上傳速度達64K。這樣的速度對于每秒4幀左右的352x288的M-JPEG壓縮圖像數據的傳輸已經足夠。
為了能在盡量少的數據冗余的情況下,準確無誤的傳送數據,本系統的底層參考了XMODEM協議。
XMODEM協議是一種使用撥號調制解調器的個人計算機通信中廣泛使用的異步文件運輸協議。這種協議以128字節塊的形式傳輸數據,并且每個塊都使用一個校驗和過程來進行錯誤檢測。如果接收方關于一個塊的校驗和與它在發送方的校驗和相同時,如果包成功接收,接收方會返回一個肯定應答信號(ACK),如果發現錯誤,則返回一個否定應答信號(NAK)并重新發送數據包。然而,這種對每個塊都進行認可的策略將導致低性能,特別是具有很長傳播延遲的CDMA連接的情況時,問題更加嚴重。
本系統的主要數據是JPEG壓縮數據包,結合這個特點,我們在Xmodem的基礎上制定了一套相應的傳送協議。只有在數據包有丟失,而且的確影響后面的解碼時,才發送重傳請求,且只重傳相應的包。如果不影響,則丟棄。這樣做能最大限度利用CDMA有限的帶寬保證數據的正常傳輸。
結語
本文主要完成了監控終端設計,并進行了測試,當監控對象沒有劇烈運動時,在20kbps的帶寬下,達到了每秒4幀的傳輸速度,達到了預期的目標。圖5是原始圖像, 圖6是采用上述處理流程,進行解碼后得到的圖像。應用本文所述方法完成圖像采集和遠程傳送工作,可廣泛用于銀行、變電站、車站、辦公大樓等場所。比傳統監控方式更方便,而且成本低,有著廣闊的市場和應用前景。
責任編輯:gt
-
處理器
+關注
關注
68文章
19170瀏覽量
229179 -
嵌入式
+關注
關注
5069文章
19022瀏覽量
303421 -
Linux
+關注
關注
87文章
11231瀏覽量
208938
發布評論請先 登錄
相關推薦
評論