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

       系統(tǒng)結構

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

       系統(tǒng)硬件設計

       硬件結構


       如圖1所示,整個系統(tǒng)采用類似于PC104的棧式結構,主要由LM9627攝像頭、圖像處理子板和系統(tǒng)控制主板三個部分組成。LM9627模塊設計為了提高系統(tǒng)的可擴展性,本系統(tǒng)把攝像頭作為單獨的一個模塊設計,主要包括模擬部分、數據接口和控制接口三個部分。其中J2為數據接口,連接到圖像處理子板的FPGA上

 

;J1為控制接口,連接到系統(tǒng)控制主板上。圖像處理子板圖像處理子板由采集控制協處理器FPGA、C6713和兩片“乒乓”工作的SRAM組成。兩片視頻采集FPGA芯片EP1C6Q240分別采集奇數幀和偶數幀(每幀包含奇數場和偶數場)圖像,每個FPGA對LM9627的視頻流進行格式分析,將相應的RGB分量轉換為YUV分量,并以4:1:1的格式存儲在SRAM內。兩片SRAM以“乒乓”的方式工作,即同一時刻一片用于采集視頻圖像,另一片用做DSP的圖像緩沖區(qū)。兩片C6713實現復雜的JPEG2000壓縮算法。為了后續(xù)的擴展,使得C6713能夠處理更大尺寸的圖像,每片DSP擴展16MB的SDRAM,SDRAM以100MHz的頻率工作,滿足圖像壓縮過程中大量數據交換的要求。

 

系統(tǒng)硬件框圖

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

       系統(tǒng)控制主板

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

       系統(tǒng)軟件設計

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

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

       JPEG2000選用兩種濾波器:LeGall5/3濾波器和Daubechies9/7濾波器。考慮到本系統(tǒng)的實時性要求以及無損壓縮需求,選用5/3小波運算。當小波分解級數提高的時候分解系數的能量更為集中,但小波分解級數的提高會使編碼效率有所下降,對于本系統(tǒng),4CIF(704×576)分辨率采樣圖像進行5級小波分解,CIF(352×288)圖像進行4級小波分解就足夠

 

了。由于采用整型模式運算,所有的量化步長均被置為1,即量化過程可以忽略。多分辨率支持可通過小波變換來實現,多失真度支持則可通過熵編碼來解決。

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

       算法實現第二階段

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

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

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

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

 

基站設計

                                                 &n

 

bsp;                  圖2 基站設計

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

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

       結語

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

此內容為AET網站原創(chuàng),未經授權禁止轉載。