• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      高吞吐率JPEG2000編碼器VLSI設(shè)計(jì)

      2022-08-09 06:59:42吳長坤郝亞喆
      關(guān)鍵詞:壓縮比編碼器灰度

      吳長坤,張 為,郝亞喆

      (天津大學(xué) 微電子學(xué)院,天津 300072)

      隨著光電傳感器技術(shù)的飛速發(fā)展,圖像探測器獲得的圖像分辨率越來越高,原始圖像由8位灰度圖提升為如今的16位灰度圖,圖像信息雖然變得更加精細(xì),但是每幅圖像的數(shù)據(jù)量也急劇增加[1]。海量的圖像數(shù)據(jù)給存儲(chǔ)系統(tǒng)帶來巨大壓力,同時(shí)有限的傳輸帶寬使得數(shù)據(jù)實(shí)時(shí)回傳變得更加困難。圖像壓縮是一種有效減少數(shù)據(jù)量以便更快處理數(shù)據(jù)的技術(shù)[2],因此對(duì)圖像做實(shí)時(shí)高質(zhì)量壓縮處理可以有效解決上述問題。

      圖像壓縮的方法有很多,但總體上可以分為有損壓縮和無損壓縮兩種[3]。無損壓縮要求圖像還原后信息不能有任何的丟失,但往往圖像壓縮比較??;有損壓縮在滿足實(shí)際應(yīng)用場景要求的前提下允許圖像有一定程度的信息丟失,因此壓縮比較高。對(duì)于旨在減少數(shù)據(jù)量的應(yīng)用來說,高質(zhì)量的有損壓縮無疑是更好的選擇。

      針對(duì)圖像的有損壓縮,國內(nèi)外眾多學(xué)者進(jìn)行了大量研究。文獻(xiàn)[4-5]在現(xiàn)場可編程門陣列板卡上完成了JEPG算法的硬件實(shí)現(xiàn),文獻(xiàn)[4]使用標(biāo)準(zhǔn)測試圖在26倍的壓縮比下得出的峰值信噪比僅為28.89 dB,圖像壓縮質(zhì)量較差。文獻(xiàn)[6-7]都基于現(xiàn)場可編程門陣列實(shí)現(xiàn)了JPEG XR壓縮算法,但是吞吐率較低,遠(yuǎn)遠(yuǎn)不能滿足海量數(shù)據(jù)的實(shí)時(shí)壓縮處理。ADV212是一款專門用于圖像壓縮的單芯片JPEG2000編解碼器[8],該芯片支持有損壓縮和無損壓縮,有損壓縮吞吐率最高為65 MB/s,但不易于擴(kuò)展,難以滿足特定的功能需求。為了提高圖像壓縮吞吐率,文獻(xiàn)[9]基于JPEG2000算法,提出了一種在GPU上運(yùn)行的端到端高吞吐率圖像壓縮編碼器架構(gòu),但是該架構(gòu)體積大功耗高,通常安裝在嵌入式設(shè)備中,應(yīng)用場景較為局限。文獻(xiàn)[10-11]在現(xiàn)場可編程門陣列上實(shí)現(xiàn)了JPEG2000算法的高吞吐率設(shè)計(jì),其中文獻(xiàn)[10]吞吐率提升到了120 MB/s。通過查閱和對(duì)比國內(nèi)外相關(guān)文獻(xiàn),目前對(duì)JPEG2000算法的研究大都是對(duì)其各組成模塊進(jìn)行優(yōu)化,例如文獻(xiàn)[12-15]針對(duì)離散小波變換(Discrete Wavelet Transform,DWT)進(jìn)行了優(yōu)化,提高了模塊的處理速度、減少了內(nèi)部存儲(chǔ)器的使用。文獻(xiàn)[16-19]針對(duì)位平面編碼(Bit Plane Coding,BPC)以及MQ算術(shù)編碼進(jìn)行了優(yōu)化,雖然模塊的處理效率得到了改善,但是整體編碼速度還有待提高。

      為滿足海量數(shù)據(jù)的壓縮處理需求,參考現(xiàn)有架構(gòu),筆者設(shè)計(jì)了一種可以兼容處理8位到16位灰度圖的高吞吐率圖像壓縮編碼器,編碼器采用并-串-并架構(gòu)進(jìn)行設(shè)計(jì),可并行處理兩個(gè)8位灰度圖像。針對(duì)16位灰度圖像,將圖像分割成兩幅8位灰度圖并行處理,解決了16位灰度圖像的壓縮問題;針對(duì)大于8位小于16位的灰度圖像,編碼器對(duì)數(shù)據(jù)高位做補(bǔ)零操作,將像素寬度拓寬到16位處理。同時(shí)架構(gòu)采用優(yōu)先編碼器控制并行模塊工作,有效減少了并行處理等待時(shí)間,大大提升了硬件處理效率。筆者所設(shè)計(jì)壓縮編碼器在Xilinx XC7K480T芯片上進(jìn)行驗(yàn)證,數(shù)據(jù)源采用1 024×1 024×16 bit大小的標(biāo)準(zhǔn)測試圖,最終測得編碼器吞吐率最高可達(dá)266.87 MB/s。

      1 JPEG2000壓縮算法簡介

      JPEG2000是一種基于小波變換的靜止圖像壓縮標(biāo)準(zhǔn),于2001年正式發(fā)布。JPEG2000既支持有損壓縮又支持無損壓縮,與傳統(tǒng)的JPEG壓縮算法相比,壓縮性能提高20%以上,且在壓縮比很大的情況下,仍然有很好的壓縮效果。JPEG2000編碼器硬件架構(gòu)如圖1所示,大致分為圖像預(yù)處理、離散小波變換、量化、最佳截?cái)嗲度氪a塊編碼 (Embedded Block Coding with Optimized Truncation,EBCOT)等幾部分[20]。

      圖像預(yù)處理包含圖像分塊、直流電平位移以及分量變換3部分,其中最重要的就是圖像分塊。在JPEG算法中,圖像需要被分割成8×8大小的切片來處理;JPEG2000算法雖然沒有規(guī)定是否分塊,但是為了降低內(nèi)存消耗以及方便后續(xù)編碼處理,一般也會(huì)把圖像分割成若干個(gè)小的矩形塊,各個(gè)矩陣塊之間相互獨(dú)立,這也是本次架構(gòu)設(shè)計(jì)的關(guān)鍵。此外由于矩陣塊之間存在邊界效應(yīng),會(huì)直接影響圖像的重構(gòu)質(zhì)量,因此對(duì)圖像進(jìn)行合理分塊處理意義重大。直流電平位移的作用是去除信號(hào)中的直流分量,同時(shí)把無符號(hào)數(shù)據(jù)變換成有符號(hào)數(shù)據(jù),用于后續(xù)處理;分量變換是將傳統(tǒng)的RGB色域轉(zhuǎn)換到其他的色彩空間,對(duì)于灰度圖來說,這一步可以省略。

      離散小波變換是將圖像的有效信息集中到低頻子帶,子帶一般具有統(tǒng)計(jì)特性,在進(jìn)行編碼時(shí)會(huì)有更高的編碼效率,更加利于后續(xù)的EBCOT處理;量化是將離散小波變換處理后的小波系數(shù)進(jìn)行處理,把系數(shù)控制在較高的范圍之內(nèi),有助于提高整體壓縮質(zhì)量;EBCOT是編碼器中最主要的部分,分為Tier1編碼和Tier2編碼。Tier1編碼又分為位平面編碼和算術(shù)編碼,Tier1編碼的作用是將量化后的子帶信息劃分成獨(dú)立的編碼塊,之后對(duì)每個(gè)編碼塊進(jìn)行獨(dú)立的嵌入式編碼掃描,再將掃描的結(jié)果繼續(xù)做基于上下文的算術(shù)編碼,然后得到嵌入式碼流;Tier2編碼根據(jù)設(shè)計(jì)壓縮比,先對(duì)碼流進(jìn)行截?cái)啵缓笞龃虬幚?,最終得到符合JPEG2000壓縮標(biāo)準(zhǔn)的碼流數(shù)據(jù)。

      2 編碼器整體架構(gòu)優(yōu)化設(shè)計(jì)

      傳統(tǒng)壓縮編碼器各模塊之間是串行工作模式,前后級(jí)有嚴(yán)格的使能控制邏輯。在處理典型圖像時(shí),EBCOT模塊通常是整個(gè)編碼器中消耗時(shí)間最長的模塊,消耗時(shí)間大約占整體編碼消耗時(shí)間的80%以上[9],同時(shí)在EBCOT模塊工作過程中,其他模塊均處于等待狀態(tài),大大降低了編碼器的工作效率。在處理高分辨率、高幀率圖像時(shí),如果是簡單對(duì)整體架構(gòu)做并行操作來提升編碼速度,效率只會(huì)進(jìn)一步降低。通過對(duì)典型16位灰度圖像的分析,筆者提出了一種兼容處理8位~16位灰度圖像的壓縮編碼器硬件架構(gòu),如圖2所示。

      處理16位灰度圖時(shí),預(yù)處理完成后把圖像分成高8位和低8位兩幅圖像獨(dú)立并行處理,根據(jù)EBCOT模塊處理時(shí)間與DWT模塊處理時(shí)間的差異,高低位處理均采用DWT串行、EBCOT并行的架構(gòu)進(jìn)行處理。由于高低位數(shù)據(jù)包含的數(shù)據(jù)信息不同,因此高低位處理時(shí)EBCOT模塊的并行度也不同,高位并行度為m,低位并行度為n。一般情況下m要比n小得多,具體數(shù)值由DWT處理效率以及圖像矩形塊的平均復(fù)雜度決定。

      合理控制多路并行模塊的工作順序,可以有效提高整體架構(gòu)的工作效率。當(dāng)并行度較小時(shí),采用多路選擇器控制效率較高;當(dāng)并行度較大時(shí),多路選擇器設(shè)計(jì)會(huì)變得比較復(fù)雜,而采用順序執(zhí)行方式雖然會(huì)降低復(fù)雜度,但也會(huì)增加未知的等待時(shí)間,從而降低編碼效率。綜合上述分析,當(dāng)并行度較高時(shí),采用優(yōu)先編碼器對(duì)并行模塊進(jìn)行控制。表1是以并行度為10為例的優(yōu)先編碼器真值表。圖3為優(yōu)先編碼器結(jié)構(gòu)圖。表1中1~10代表10路并行模塊。當(dāng)該路模塊空閑時(shí),對(duì)應(yīng)數(shù)字為1。本次設(shè)計(jì)的優(yōu)先編碼器以編號(hào)小的編碼器優(yōu)先,即當(dāng)有多路EBCOT模塊空閑時(shí),編號(hào)小的模塊優(yōu)先工作。由于圖像是按照矩形塊的形式處理,因此編碼結(jié)束后需要對(duì)碼流按順序重新組織,組織完成后按高位和低位的順序依次輸出,完成整個(gè)壓縮過程。同時(shí)為進(jìn)一步加快編碼器處理效率,高位處理和低位處理的EBCOT模塊可以相互調(diào)用,當(dāng)圖像的低位/高位處理完成后,空閑的低位/高位EBCOT模塊可以繼續(xù)對(duì)高位/低位圖像進(jìn)行編碼處理,輸出后的碼流緩存到高位/低位處理的存儲(chǔ)器中即可。

      表1 優(yōu)先編碼器真值表(并行度為10)

      3 結(jié)果對(duì)比與分析

      3.1 硬件資源消耗

      壓縮編碼器最終在Xilinx XC7K480T芯片上進(jìn)行設(shè)計(jì),表2給出了不同并行度下編碼器硬件資源消耗。

      表2 不同并行度編碼器硬件資源消耗

      3.2 性能對(duì)比分析

      為了測試壓縮編碼器性能,選取了4幀典型樣例圖來進(jìn)行測試,樣例圖如圖4所示。

      測試圖像大小均為1 024×1 024×16 bit,圖中顯示的是對(duì)16位原始灰度圖像做量化處理后的8位灰度圖像。通過對(duì)典型樣例圖進(jìn)行處理得出,當(dāng)m=11時(shí),高位圖像達(dá)到最快處理速度;當(dāng)n=12時(shí),低位圖像達(dá)到最快處理速度。對(duì)于高位圖像來說,當(dāng)并行度超過4時(shí),一路EBCOT模塊硬件開銷增加的比例,遠(yuǎn)高于架構(gòu)處理速度提升的比例。綜合分析得出當(dāng)m=4、n=11時(shí),16位灰度圖像的壓縮性能與資源消耗最優(yōu)。

      表3給出了在壓縮比為5∶1和50∶1情況下,編碼器壓縮高位圖像以及低位圖像所消耗的時(shí)鐘周期數(shù),根據(jù)圖像大小以及工作時(shí)鐘頻率,計(jì)算出編碼器的吞吐率。從表中可以看出,同一幅圖像在不同壓縮比下的吞吐率基本相同。

      表3 典型樣例圖壓縮性能(8 bit圖像)

      壓縮完成后使用jasper軟件將得到的圖像碼流數(shù)據(jù)進(jìn)行圖像重構(gòu),最后利用MATLAB軟件計(jì)算原始圖像與重構(gòu)后圖像的峰值信噪比(PSNR)。峰值信噪比的計(jì)算公式如下:

      (1)

      (2)

      其中,EMSE代表原始圖像與重構(gòu)后圖像之間的均方誤差,m和n分別代表圖像的長和寬,I(i,j)和K(i,j)分別代表重構(gòu)后圖像和原始圖像。IMAX代表圖像中像素點(diǎn)的最大值,對(duì)于8位灰度圖來說,最大值為255。通過表3中結(jié)果可以看出,在5∶1的壓縮比條件下,典型樣例圖的高位子圖峰值信噪比在66 dB以上,低位子圖峰值信噪比在41 dB以上;在50∶1的壓縮比條件下,典型樣例圖的高位子圖峰值信噪比在47 dB以上,低位子圖峰值信噪比在32 dB以上。為進(jìn)一步驗(yàn)證壓縮質(zhì)量,將重構(gòu)后的高低位圖像重新整合成16位灰度圖像,計(jì)算與原始16位灰度圖像的峰值信噪比。對(duì)于16位灰度圖來說,式(2)中的IMAX最大值為65 535,計(jì)算結(jié)果如表4所示。通過表中結(jié)果可以看出,在5∶1的壓縮比條件下,16位典型樣例圖的峰值信噪比在56 dB以上;在50∶1的壓縮比條件下,16位典型樣例圖的峰值信噪比在35 dB以上。

      表4 典型樣例圖高低位整合后PSNR值(16 bit圖像)dB

      為了更直觀地對(duì)比原始圖像與重構(gòu)后圖像的像素差異,使用MATLAB軟件將兩幅圖像各點(diǎn)像素差值進(jìn)行分析。表5結(jié)果表明,在5∶1壓縮比條件下,4幅典型樣例圖高位子圖平均99.22%的像素與原圖像數(shù)值一致,所有像素?cái)?shù)值差異不超過5;低位子圖平均64.13%的像素與原圖像數(shù)值一致,97.77%的像素?cái)?shù)值差異不超過5。在50∶1壓縮比條件下,高位子圖平均97.70%的像素與原圖像數(shù)值一致,99.18%的像素?cái)?shù)值差異不超過5;低位子圖平均53.86%的像素與原圖像數(shù)值一致,74.31%的像素?cái)?shù)值差異不超過5。

      表5 原始圖像與重構(gòu)后圖像對(duì)應(yīng)像素差值%

      JPEG、JPEG XR以及JPEG2000是目前常用的幾種壓縮算法,表6給出了基于上述3種壓縮算法設(shè)計(jì)的編碼器與筆者所設(shè)計(jì)編碼器的性能對(duì)比。

      表6 多種壓縮編碼器性能對(duì)比

      文獻(xiàn)[6]和文獻(xiàn)[21]對(duì)這3種壓縮算法的壓縮質(zhì)量進(jìn)行了研究。結(jié)果表明,對(duì)同一圖像做壓縮時(shí),JPEG XR算法與JPEG2000算法的壓縮質(zhì)量大致相同,均好于JPEG壓縮算法。基于Xilinx XC7K480T芯片設(shè)計(jì)的編碼器與文獻(xiàn)[5]相比,相似時(shí)鐘頻率下,吞吐率提高了72%以上;與文獻(xiàn)[6]相比,最大時(shí)鐘頻率提高了47%以上,吞吐率提高了4倍;與文獻(xiàn)[10]相比,筆者設(shè)計(jì)的編碼器并行度為12的架構(gòu)LUT使用減少了4%,BRAM使用減少約27%,吞吐率提高了40%以上;與文獻(xiàn)[11]相比,最大時(shí)鐘頻率提高2.7倍的情況下,吞吐率提高了10.4倍以上。

      為避免不同工藝、不同器件對(duì)架構(gòu)效率產(chǎn)生影響,采用文獻(xiàn)[15]中的EPI(Energy Per Image)參數(shù)比較編碼器的硬件效率。EEPI表示處理一幅圖像所需要的能耗,計(jì)算公式為

      EEPI=PPowerTCT,

      (3)

      其中,PPower代表編碼器整體功耗,TCT代表一幅圖像的處理時(shí)間,EEPI數(shù)值越小代表架構(gòu)性能越好。表6給出了處理一幅1 024×1 024圖像各架構(gòu)的EEPI值,以8位灰度圖像為例,與文獻(xiàn)[5]相比,EEPI提升了14%以上;文獻(xiàn)[11]所提架構(gòu)EEPI數(shù)值與壓縮比有關(guān),與其均值相比,性能提高65%以上。

      4 結(jié)束語

      基于JPEG2000算法,筆者提出了一種兼容處理8位~16位灰度圖像的高吞吐率壓縮編碼器,通過各模塊間的并-串-并連接設(shè)計(jì),使用優(yōu)先編碼器對(duì)并行模塊進(jìn)行控制,最終實(shí)現(xiàn)了圖像的高倍率、高質(zhì)量快速壓縮,有效緩解了海量數(shù)據(jù)對(duì)于傳輸帶寬和數(shù)據(jù)存儲(chǔ)的壓力;同時(shí)編碼器支持多種分辨率圖像處理,可根據(jù)實(shí)際需求靈活調(diào)整并行模塊并行度。對(duì)比已有壓縮編碼器,吞吐率至少提高了40%以上,有著重要的實(shí)用價(jià)值。

      猜你喜歡
      壓縮比編碼器灰度
      采用改進(jìn)導(dǎo)重法的拓?fù)浣Y(jié)構(gòu)灰度單元過濾技術(shù)
      基于灰度拉伸的圖像水位識(shí)別方法研究
      質(zhì)量比改變壓縮比的辛烷值測定機(jī)
      軟件(2020年3期)2020-04-20 01:45:24
      基于FPGA的同步機(jī)軸角編碼器
      基于最大加權(quán)投影求解的彩色圖像灰度化對(duì)比度保留算法
      基于PRBS檢測的8B/IOB編碼器設(shè)計(jì)
      基于灰度線性建模的亞像素圖像抖動(dòng)量計(jì)算
      JESD204B接口協(xié)議中的8B10B編碼器設(shè)計(jì)
      電子器件(2015年5期)2015-12-29 08:42:24
      多總線式光電編碼器的設(shè)計(jì)與應(yīng)用
      低溫廢氣再循環(huán)及低壓縮比對(duì)降低歐6柴油機(jī)氮氧化物排放的影響
      海口市| 进贤县| 孝感市| 大宁县| 棋牌| 紫云| 瑞金市| 厦门市| 弥渡县| 乐亭县| 常州市| 集贤县| 饶平县| 许昌县| 土默特右旗| 洪泽县| 新巴尔虎右旗| 榆树市| 宜兴市| 无锡市| 琼中| 祁连县| 万年县| 大理市| 百色市| 庐江县| 五家渠市| 辽源市| 桑植县| 彰化市| 边坝县| 普兰店市| 当涂县| 崇左市| 安顺市| 金山区| 陕西省| 蒲江县| 石棉县| 哈尔滨市| 大理市|