《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 模擬設(shè)計 > 設(shè)計應(yīng)用 > 基于LM9627的JPEG2000壓縮與傳輸系統(tǒng)方案
基于LM9627的JPEG2000壓縮與傳輸系統(tǒng)方案
摘要: 整個系統(tǒng)主要由n臺PC基站,、m×n臺手持移動終端(每臺PC基站負(fù)責(zé)m臺手持移動終端)組成,。其中PC基站以USB2.0為核心,通過藍牙無線傳輸協(xié)議實現(xiàn)手持移動終端與基站的高速通信,。手持移動終端以TMS320VC5402為核心實現(xiàn)系統(tǒng)控制,,以TMS320C6713為處理器實現(xiàn)JPEG2000圖像編碼算法,。
Abstract:
Key words :

系統(tǒng)結(jié)構(gòu)

 

整個系統(tǒng)主要由n臺PC基站、m×n臺手持移動終端(每臺PC基站負(fù)責(zé)m臺手持移動終端)組成,。其中PC基站以USB2.0為核心,,通過藍牙無線傳輸協(xié)議實現(xiàn)手持移動終端與基站的高速通信。手持移動終端以TMS320VC5402為核心實現(xiàn)系統(tǒng)控制,,以TMS320C6713為處理器實現(xiàn)JPEG2000圖像編碼算法,。

 

系統(tǒng)硬件設(shè)計

 

硬件結(jié)構(gòu)

 

如圖1所示,,整個系統(tǒng)采用類似于PC104的棧式結(jié)構(gòu),主要由LM9267攝像頭,、圖像處理子板和系統(tǒng)控制主板三個部分組成,。LM9627模塊設(shè)計為了提高系統(tǒng)的可擴展性,本系統(tǒng)把攝像頭作為單獨的一個模塊設(shè)計,,主要包括模擬部分,、數(shù)據(jù)接口和控制接口三個部分。其中J2為數(shù)據(jù)接口,,連接到圖像處理子板的FPGA上,;J1為控制接口,連接到系統(tǒng)控制主板上,。圖像處理子板圖像處理子板由采集控制協(xié)處理器FPGA,、C6713和兩片“乒乓”工作的SRAM組成。兩片視頻 采集FPGA芯片EP1C6Q240分別采集奇數(shù)幀和偶數(shù)幀(每幀包含奇數(shù)場和偶數(shù)場)圖像,,每個FPGA對LM9627的視頻流進行格式分析,,將相應(yīng)的 RGB分量轉(zhuǎn)換為YUV分量,并以4:1:1的格式存儲在SRAM內(nèi),。兩片SRAM以“乒乓”的方式工作,,即同一時刻一片用于采集視頻圖像,另一片用做 DSP的圖像緩沖區(qū),。兩片C6713實現(xiàn)復(fù)雜的JPEG2000壓縮算法,。為了后續(xù)的擴展,使得C6713能夠處理更大尺寸的圖像,,每片DSP擴展16MB的SDRAM,,SDRAM以100MHz的頻率工作,滿足圖像壓縮過程中大量數(shù)據(jù)交換的要求,。

圖1 系統(tǒng)硬件框圖

圖1 系統(tǒng)硬件框圖

 

系統(tǒng)控制主板

 

系統(tǒng)控制主板以DSP C5402為核心處理器,,主要負(fù)責(zé)三個任務(wù):通過 控制LM9627攝像頭;讓多塊圖像處理子板協(xié)調(diào)工作,,通過MailBox—FIFO讀取它們的壓縮結(jié)果,;將讀取的壓縮結(jié)果按照藍牙協(xié)議發(fā)送到PC基站。 為了滿足高的數(shù)據(jù)交換速度,,主處理器TMS320VC5402以100MHz工作,,一邊通過MailBox—FIFO讀取壓縮結(jié)果,,一邊將讀取的壓縮結(jié)果 按照藍牙協(xié)議發(fā)送到PC基站,,從而實現(xiàn)JPEG2000的實時壓縮與解碼顯示。

 

系統(tǒng)軟件設(shè)計

 

圖像采集軟件設(shè)計為了讓系統(tǒng)做到實時,,可通過LM9627的I2C控制總線讓它工作在隔行掃描方式,,則輸出640×480分辨率的圖像數(shù)據(jù),。而場頻,則: 幀頻 (隔行掃描),,行頻,。本文采用Verilog HDL語言,實現(xiàn)了LM9627的實時圖像采集,。C6713上JPEG2000算法設(shè)計本系統(tǒng)的JPEG2000編碼算法在C6713上的開發(fā)包括兩個階段,。

 

算法實現(xiàn)第一階段:

 

用C語言模擬DSP的JPEG2000算法,以判斷代碼的正確性,,驗證JPEG2000算法的復(fù)雜度,、可靠性,以及JPEG2000自身的壓縮性能,。本系 統(tǒng)的JPEG2000編碼器包括小波變換(wavelet),、熵編碼(MQenc)、碼率控制和打包(rateallocation)三個主要模塊,。 LM9627輸出為RGB,,把它轉(zhuǎn)化為Y:U:V=4:1:1的視頻數(shù)據(jù)流,分別對三個分量進行DC位移,、小波變換,、熵編碼,然后將三個分量所有碼塊的編 碼流根據(jù)碼率控制要求進行分層組織,,其中包括碼流截斷操作,,編碼器的輸出即是打包后的分層位流。進行DC電平位移(預(yù)處理)的目的是為了在解碼時能夠從有 符號的數(shù)值中正確恢復(fù)重構(gòu)無符號采樣值,。傳統(tǒng)小波變換的運算量相當(dāng)大,,而且往往將8位圖像數(shù)據(jù)變換為浮點型,在編碼中引入量化失真,,不利于圖像數(shù)據(jù)的無損 壓縮,,因此JPEG2000主要采用基于UMDFB(抽2取1濾波器組)提升小波算法。其優(yōu)點在于速度快,、運算復(fù)雜度低,、所需的存儲空間少,而且得到的小 波系數(shù)與使用傳統(tǒng)小波變換得到的結(jié)果相同,。

 

JPEG2000選用兩種濾波器:LeGall5/3濾波器和Daubechies9/7濾波器,。考慮到本系統(tǒng)的實時性要求以及無損壓縮需求,,選用5/3 小波運算,。當(dāng)小波分解級數(shù)提高的時候分解系數(shù)的能量更為集中,但小波分解級數(shù)的提高會使編碼效率有所下降,對于本系統(tǒng),,4CIF(704×576)分辨率 采樣圖像進行5級小波分解,,CIF(352×288)圖像進行4級小波分解就足夠了。由于采用整型模式運算,,所有的量化步長均被置為1,,即量化過程可以忽略。多分辨率支持可通過小波變換來實現(xiàn),,多失真度支持則可通過熵編碼來解決,。

 

傳統(tǒng)Huffman編碼采取依次對每個系數(shù)進行熵編碼的方式;JPEG2000編碼系統(tǒng)則是將小波變換后的子帶劃分成小的碼塊,,并將碼塊中的小波系數(shù)組織 成若干位平面進行編碼,。以“位平面”為編碼元,有兩點好處:可以更好地利用圖像局部的統(tǒng)計特性,,為隨機獲取圖像壓縮位流提供支持,;有助于提高壓縮碼流的抗 誤碼性能。在進行塊編碼時,,JPEG2000強調(diào)多截斷點的支持,,截斷點越多,表明圖像可提供更多的質(zhì)量選擇,。如果對每個碼塊僅進行位平面編碼,,那么對于 數(shù)據(jù)最高位數(shù)為N的塊,最多可得到N個截斷點,。很多時候這種截斷是粗糙的而且截斷點數(shù)目過少,。為了獲得更多的截斷點,EBCOT引入“編碼通道”的概念,, 將每個位平面進一步分成子位平面(編碼通道),。在JPEG2000編碼系統(tǒng)中使用三個編碼通道:有效性通道、幅度細(xì)化通道和清除通道,。這樣對某個碼塊Bi 來說,,可能的截斷點可以有3N個。進行位平面編碼時,,JPEG2000采用的是快速自適應(yīng)二進制算術(shù)編碼,。

 

算法實現(xiàn)第二階段

 

編寫JPEG2000匯編代碼,并抽出對性能影響比較大的代碼段進一步優(yōu)化,。TMS320C67l3基于TI的VLIW技術(shù),,利用VLIW結(jié)構(gòu)設(shè)計程序可 以充分利用DSP多個功能單元并行工作的特性。DSP的每一個通道都有四個功能單元(L,、S,、M,、D),每個功能單元負(fù)責(zé)完成一定的邏輯或者算術(shù)運算,,另 外A、B兩個通道的互訪可以通過交叉單元1x,、2x完成,。TM320C6713的大部分指令都可在單周期內(nèi)完成,可以直接對8/16/32位數(shù)據(jù)進行操 作,。同時,,它最多可以有8條指令并行執(zhí)行;所有指令均可條件執(zhí)行,。

 

以上所有特點提高了指令的執(zhí)行效率,、減小了代碼長度、提高了編碼效率,。C6713只有兩個D單元負(fù)責(zé)數(shù)據(jù)存取,,在一個時鐘周期中最多有兩條數(shù)據(jù)存取指令并 行執(zhí)行,并且從存儲區(qū)取數(shù)據(jù)的LDB/LDH/LDW指令有4個時鐘周期的延時,,嚴(yán)重影響了CPU的效率,。為此在編碼時應(yīng)盡量減少從存儲區(qū)中取數(shù)據(jù)的次 數(shù)。 例如在小波變換中,,我們在對SRAM里的8位采樣值數(shù)據(jù)進行取操作(LDB)時,,可以充分利用C6713的32位寄存器,一次從存儲區(qū)中取地址相鄰的4個 8位數(shù)(用32位操作指令LDW),,然后分別進行運算,,這樣就充分利用了CPU的資源,減少了4倍的數(shù)據(jù)存取量,。流水線操作是DSP實現(xiàn)高速度,、高效率的 關(guān)鍵技術(shù)之一。當(dāng)一條指令的處理已經(jīng)準(zhǔn)備好后到流水線的下一級,,但是那一級卻還沒有準(zhǔn)備接收新的輸入時,,流水線沖突就不可避免。

 

流水線沖突可以分為三大類:跳轉(zhuǎn)沖突,、寄存器沖突和存儲器沖突,。為解決流水線沖突問題,在使用匯編語言時需要特別注意C6000指令的延遲情況,,有些指令 并不是立刻就能得到結(jié)果,。此外,為了保證代碼效率,,必須提前知道每一條指令的運行周期數(shù),,并提前安排該指令或重新調(diào)整指令順序,。只有盡量將這些指令的前后 指令放在它們所需的延遲間隙內(nèi)并行執(zhí)行,才能達到減少等待周期,、提高程序效率的效果,。經(jīng)過C語言模擬算法到全匯編實現(xiàn)的優(yōu)化,然后再對匯編代碼進行優(yōu)化,, 使得系統(tǒng)的性能大大提高,。

 

基站的設(shè)計

 

PC基站主要由藍牙接收和上位機JPEG2000解碼兩個部分組成,其原理如圖2所示,。而上位機解壓軟件主要包括LM9627傳感器設(shè)置和圖像采集控制,, 前者主要發(fā)送從地址和設(shè)置值給終端,終端通過 設(shè)置LM9627,;后者控制系統(tǒng)的圖像采集分辨率和壓縮比,。

 

 

圖2 基站設(shè)計
圖2 基站設(shè)計

 

 

測試結(jié)果主觀圖像質(zhì)量比較由于采取了上述技術(shù),理論上JPEG2000應(yīng)提供更好的性能和更多的功能,,下面通過幾組對比數(shù)據(jù)加以驗證,。用作參考的JPEG算法是當(dāng)前業(yè)界硬件平臺上使用最廣泛的壓縮算法,測試圖片為24位真彩色lenna圖,。

 

實驗采用的壓縮性能度量是峰值信噪比(PSNR):PSNR反映的是圖像信噪比變化情況的統(tǒng)計平均,,它是目前廣泛應(yīng)用的衡量圖像主觀質(zhì)量的方法。由表1的 數(shù)據(jù)可以得出以下結(jié)論:在較高壓縮比率情況下,,JPEG2000的信噪比均高出JPEG 6~9dB,;在高分辨率情況下,JPEG2000的信噪比值下降度低于碼率下降度,,這意味著,,分辨率越高,越能體現(xiàn)JPEG2000的高壓縮比性能,。當(dāng)信 噪比低于26dB時,,JPEG的重構(gòu)圖由于嚴(yán)重的馬賽克效應(yīng)已經(jīng)無法分辨,而此時的JPEG2000重構(gòu)圖像雖然在細(xì)節(jié)部分已經(jīng)有所損失,,但是圖像輪廓仍 舊比較明晰,。表中“—”表示此時圖像質(zhì)量已經(jīng)很低,計算的PSNR值不再具有實際意義,。系統(tǒng)處理速度本系統(tǒng)在系統(tǒng)控制主板DSP—VC5402的控制下,, 讓兩塊圖像處理子板穩(wěn)定可靠地并行工作,具體測試結(jié)果如表2所示,。

 

結(jié)語

 

本系統(tǒng)以低成本實現(xiàn)了高質(zhì)量的圖像壓縮功能,,具有廣泛的應(yīng)用價值。主要應(yīng)用領(lǐng)域可概略分成兩部分:一為傳統(tǒng)的JPEG市場,,像打印機,、掃描儀和數(shù)碼相機 等,,一為新興的應(yīng)用領(lǐng)域,像網(wǎng)絡(luò)傳輸,、無線通信和醫(yī)療圖像等,。由于早先的Motion JPEG不提供無損模式,未能廣泛應(yīng)用到視頻編碼領(lǐng)域,。而本系統(tǒng)所采用的JPEG2000算法結(jié)合DSP系統(tǒng)的高效率處理性能,,能夠很好地把靜態(tài)圖像壓縮 技術(shù)引入視頻編碼領(lǐng)域。

 

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。