機電之家資源網(wǎng)
單片機首頁|單片機基礎|單片機應用|單片機開發(fā)|單片機文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
培訓信息
贊助商
基于ARM7的無線內窺系統(tǒng)設計
基于ARM7的無線內窺系統(tǒng)設計
 更新時間:2008-8-19 11:25:22  點擊數(shù):66
【字體: 字體顏色



4 JPEG-LS圖像編碼
  系統(tǒng)采集的原始圖像相關性大、數(shù)據(jù)量大,需要進行圖像壓縮。醫(yī)學圖像要求將圖像質量放在首位,因此必須采用無損壓縮算法。本系統(tǒng)采用靜態(tài)圖像無損壓縮技術JPEG-LS,它是目前無損壓縮算法中性能較好的一種算法。JPEG-LS是ISO/ITU組織提出的最新的連續(xù)靜態(tài)圖像近無損壓縮標準。該標準采用LOCO-I(Low Complexity Lossless Compression for Images)核心算法,建立簡單的上下文模型,在低復雜度的情況下實現(xiàn)了高壓縮率;同時,算法對圖像逐行進行壓縮,降低了系統(tǒng)對圖像緩沖區(qū)的要求。
4.1 JPEG-LS工作原理簡介
  如圖5所示,JPEG-LS的編碼過程主要包括預測、上下文建模和熵編碼。核心算法LOCO-I采用鄰域非線性預測和Golomb熵編碼。



  上下文建模是JPEG-LS編碼的基礎,使用的建模方法是基于對上下文的認識。上下文首先根據(jù)圖5中a、b、c、d處像素值決定對x處像素足采用常規(guī)模式編碼還是采用游程模式編碼。當從上下文估計的連續(xù)像素在近似無失真編碼要求的容限內幾乎完全相同時,選擇游程模式;否則,選擇常規(guī)模式。
  常規(guī)模式下首先完成預測。預測器對位于a、b、c等3個鄰近像素的重建組值Ra、Rb、Rc進行綜合,形成x像素的預測值Px,即:
         

  預測誤差是x像索的實際值和預測值的差分。通過一個與上下文有關的項對預測誤差進行修正,以補償預測中的系統(tǒng)偏移。如果采用近無損編碼,則要對預測誤差進行量化,所允許的最大誤差用一個“NEAR"參數(shù)表示。對已修正的預測誤差進行Golomb編碼。Golomb編碼相當于幾何分布下的Huffman編碼。它依賴于上下文,而前面編碼的預測誤差也是以相同的上下文為基礎。
  為進一步提高數(shù)據(jù)壓縮效率,JPEG-LS引入了游程模式。此時編碼過程直接跳過預測和誤差編碼程序:編碼器從x處開始對像素值和a處像素重建值相同的一系列連續(xù)像素進行計數(shù),即統(tǒng)計游程的長度。當遇到一個具有不同值的像素或當前行的行尾時,游程終止。該游程長度經(jīng)過一個專門的性能更好、更適用的Golomb編碼擴展程序來編碼。
4.2 JPEG-LS的移植問題
  本系統(tǒng)使用HP實驗室提供的開源JPEG-LS開發(fā)包。完整的JPEG-LS開發(fā)包支持多種顏色模型,如多平面壓縮、逐行或者逐點等壓縮方式。本系統(tǒng)考慮到ARM系統(tǒng)資源的限制,只裁減了其中的逐行單文件壓縮方式。原始開發(fā)包運行在Linux或者Windows平臺上,移植過程最主要的工作包括3點。
①裁減不必要的功能,如原始開發(fā)包中對多圖像編碼的支持。
②針對系統(tǒng)設計移植后的接口,如本模塊移植后,只提供以下幾個接口:
◇jls_global_init,全局初始化函數(shù),計算查詢表等,只需要啟動時調用一次;
◇jls_image_init,每幀圖像開始壓縮時都要調用一次的初始化;
◇jls_encode_one_line,壓縮一行圖像。
③對原開發(fā)包中使用的動態(tài)內存分配需要移植,解決的方案有2個:
◇開發(fā)一個簡單的內存管理模塊;
◇手動分配內存。
  考慮到源碼包中使用的動態(tài)內存不多,系統(tǒng)采用第2種方案。在移植過程中,建議先在PC上分配好一大塊內存,然后,給開發(fā)包中需要分配的地方手動分配。在PC上調試通過之后,就可以直接在ARM上面使用了。


5 調試及優(yōu)化方法
5.1調試方法
  嵌入式系統(tǒng)的調試是一個很繁瑣而復雜的過程。在調試之前劃分好模塊,可以大大提高調試效率;另外為了調試,還需要添加一些計劃項目之外的調試工具。
  本系統(tǒng)的調試工作分為3個部分。
  (1)藍牙無線鏈路層調試
  藍牙無線鏈路層的調試可以直接借助PC上很多現(xiàn)有的串口工具來實現(xiàn)。
  (2)CMOS攝像頭調試
  CMOS攝像頭的調試有兩個部分:SCCB配置時序、RGB圖像數(shù)據(jù)時序。
  一般的處理器都不帶SCCB接口,因此要用處理器的口線模擬SCCB時序。此時的調試一般都是通過示波器觀察模擬的時序,看足否符合芯片手冊上的要求。為了驗證是否正確,一般可先讀一個指定的寄存器(這些寄存器都有出廠默認值);然后寫一個數(shù)據(jù),讀取出來驗證是否吻合。
  RGB圖像數(shù)據(jù)時序由CPLD產(chǎn)生,此時的調試需要ARM來配合。本系統(tǒng)在調試時,在PC上編寫了一個簡單的串口接收程序,ARM把SRAM中的圖像數(shù)據(jù)通過串口發(fā)送給該PC,PC上的程序把這些原始的RGB數(shù)據(jù)插值并顯示出來,從而可以得知CPLD的時序是否正確。當然,調試時序時,示波器仍然是必不可少的工具。
  (3)JPEG-LS算法調試
  JPEG-LS算法的調試分為兩個步驟:PC上的算法驗證和目標板上的調試。
  PC上的算法驗證使用VC6.O模擬目標板上的運行環(huán)境,測試目標板上的各個功能接口。本部分的驗證代碼可供下載。
目標板上調試時,還是要借助串口,把壓縮的圖像和原始圖像通過串口發(fā)送至PC。Pc上的JPEG-LS解碼程序解碼壓縮圖像,然后與原始圖像對比,從而找出算法中的錯誤。
5.2 優(yōu)化方法
  為提高圖像傳輸?shù)膸,本系統(tǒng)主要采用了2種優(yōu)化方法。
(1)硬件優(yōu)化
  硬件優(yōu)化主要是在CPLD采集數(shù)據(jù)時,使用雙緩沖,使得連續(xù)采集下一幀圖像和傳輸上一幀圖像可以并行,從而提高系統(tǒng)的
  • 上一篇: 文字轉發(fā)音單片處理器WTS701的原理及應用
  • 下一篇: PIC單片機的電能表時鐘誤差分析儀的研究
  • 發(fā)表評論   告訴好友   打印此文  收藏此頁  關閉窗口  返回頂部
    熱點文章
     
    推薦文章
     
    相關文章
    網(wǎng)友評論:(只顯示最新5條。)
    關于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機電之家 | 會員助手 | 免費鏈接

    點擊這里給我發(fā)消息66821730(技術支持)點擊這里給我發(fā)消息66821730(廣告投放) 點擊這里給我發(fā)消息41031197(編輯) 點擊這里給我發(fā)消息58733127(審核)
    本站提供的機電設備,機電供求等信息由機電企業(yè)自行提供,該企業(yè)負責信息內容的真實性、準確性和合法性。
    機電之家對此不承擔任何保證責任,有侵犯您利益的地方請聯(lián)系機電之家,機電之家將及時作出處理。
    Copyright 2007 機電之家 Inc All Rights Reserved.機電之家-由機電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術支持

    主辦:杭州市高新區(qū)(濱江)機電一體化學會
    中國行業(yè)電子商務100強網(wǎng)站

    網(wǎng)站經(jīng)營許可證:浙B2-20080178-1