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



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



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

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


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

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

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

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