• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    快速高效無損圖像壓縮系統(tǒng)的低功耗硬件實現(xiàn)

    2014-08-26 06:32:00薛金勇黑勇陳黎明
    哈爾濱工程大學學報 2014年3期
    關鍵詞:壓縮比時鐘區(qū)間

    薛金勇,黑勇,陳黎明

    (中國科學院 微電子研究所,北京100029)

    數(shù)字圖像傳感器廣泛應用在各種視頻應用領域,由于圖像的數(shù)據(jù)量很大,所以在圖像傳輸前要對圖像進行有損或無損壓縮,有損壓縮一般應用在對圖像質量要求不高的應用領域,但是醫(yī)學圖像等一些高端應用領域要求圖像必須采用無損壓縮??焖俑咝o損圖像壓縮系統(tǒng)是一個快速高效的無損圖像壓縮算法,比工作在無損模式下的JPEG快5倍,且能夠達到相同的壓縮比[1],同時快速高效無損圖像壓縮系統(tǒng)(fast and efficient lossless image compression system,F(xiàn)ELICS)算法復雜度低,因此非常適合應用于醫(yī)療內窺鏡系統(tǒng)[2]。但是算法中Golomb-Rice編碼[3]的k參數(shù)選取需要一塊大容量的存儲器,更新存儲器的過程更是消耗大量功耗與時鐘周期,不定長編碼也限制了系統(tǒng)的吞吐量。本文據(jù)此提出了一種更加易于超大規(guī)模集成電路(very large scale integration,VLSI)實現(xiàn)的低功耗 VLSI-oriented FELICS算法,簡化了k參數(shù)的選取,降低了系統(tǒng)的設計復雜度,提高了系統(tǒng)吞吐率。

    1 FELICS算法

    編碼一幀圖像,F(xiàn)ELICS算法不進行任何編碼直接輸出前2個像素,然后按照光柵掃描順序依次編碼像素,編碼步驟如下[1]:

    1)選取當前像素P和2個相鄰像素N1、N2。N1與N2已知,且已編碼,為P提供相關信息,其選取規(guī)則如圖1。

    2)計算預測區(qū)間下界L=min{N1,N2},上界H=max{N1,N2},預測上下文 Δ=H-L。

    3)如果L≤P≤H,像素P落在預測區(qū)間[L,H],編碼1 bit的0,表示像素P落在預測區(qū)間內,然后對P-L在[0,Δ]內進行修正的二元編碼;如果L>P,則像素P低于預測區(qū)間,編碼1 bit的1,表示像素P落在預測區(qū)間外,再用1 bit的0表示低于預測區(qū)間,然后計算出P點與預測區(qū)間邊界的差值D=L-P-1,對該差值D進行Golomb-Rice編碼。

    如果P>H,則像素P處于高于預測區(qū)間,編碼1 bit的1,表示像素P落在預測區(qū)間外,再用1 bit的1表示高于預測區(qū)間;然后計算出P點與預測區(qū)間邊界的差值D,D=P-H-1,對該差值D進行Golomb-Rice編碼。

    圖1 當前像素和相鄰像素Fig.1 Current pixel and the two nearest neighbors

    1.1 修正的二元編碼

    對P-L在[0,Δ]內進行修正的二元編碼,即如果Δ+1是2的冪,使用編碼字長為lb(Δ+1)的簡單二元編碼;否則調整編碼方式,一些值的編碼字長為?lb(Δ+1)」,另一些編碼字長為「lb(Δ+1)?。由于像素落在預測區(qū)間[L,H]中間的概率較大,所以對其采用較短的編碼。

    1.2 Golomb-Rice 編碼

    Golomb-Rice編碼方法分為3步:

    1)參數(shù)確定:在開始一幀圖像處理前建立一個編碼累加表C[Δ][k],其中Δ取值范圍同像素值的變化范圍,k取值范圍為0至像素深度。對于像素深度為8的Bayer圖像,累加表為256×8的二維數(shù)組。每次Golomb-Rice codes編碼時,根據(jù)Δ0=H-L確定k,即選取最小的k0,使

    對于每一個預測上下文Δ,編碼累加表C[Δ][k]記錄了使用每一個可能的k值(0,1,…,7)時Golomb-Rice編碼的編碼總長度,同時使用令編碼總長度最小的k值進行下一次編碼。

    2)Golomb-Rice編碼:參數(shù)k確定后,對D/2k進行一元編碼;后對差值D剩余的低k位進行二元編碼。采用此種編碼單個像素的編碼長度最長可達258 bits。

    3)參數(shù)更新:k值確定后,更新編碼累加表:

    2 VLSI-oriented FELICS算法

    觀察FELICS的編碼過程,Golomb-Rice編碼的k參數(shù)選取是影響壓縮效率的關鍵因素,k參數(shù)選取根據(jù)最少編碼位確定,編、解碼器要在Golomb-Rice編碼下對Δ(0~255),在k(0~7)下累計編碼位,從而需要256×8Wbits的存儲空間,W表示編碼累加值的位寬。累計編碼位的過程也要消耗額外的操作周期。

    FELICS是不定長編碼,單個像素的編碼長度在Golomb-Rice編碼時最長可達258 bits,因此不論是串行還是并行編碼輸出,都不易于硬件實現(xiàn),限制了系統(tǒng)的吞吐率。

    本文提出的VLSI-oriented FELICS采用限長Golomb-Rice編碼,可以簡化參數(shù)k的選擇和更新步驟,消除了256×8Wbits編碼累加表存儲空間,參數(shù)k的選擇可以在一個時鐘周期完成,提高了編碼效率,易于低功耗硬件實現(xiàn);同時限長Golomb-Rice編碼使得單像素編碼不超過16 bits,輸出裝置的輸出緩沖器可在單周期內完成單個像素的編碼輸出操作,更適合于實時圖像壓縮,能有效提高系統(tǒng)吞吐率。

    2.1 限長Golomb-Rice編碼方法

    像素P落在預測區(qū)間外,對D進行限長Golomb-Rice編碼,分為3步:

    1)參數(shù)確定:參數(shù)k的確定根據(jù)圖像的上下環(huán)境關系確定,采用JPEG-LS[4-5]中的序列參數(shù)估計,參數(shù)k估計基于誤差絕對值的期望,計算公式為

    但由于準確的計算量化誤差絕對值的期望比較困難,在JPEG-LS編碼過程中使用誤差的平均值,設置2個變量N和A,其中N表示到目前為止出現(xiàn)的誤差的數(shù),A表示到目前為止誤差絕對值的累計值。k參數(shù)滿足k=min{k'|2k'N≥A},即最小的k值使2kN≥A成立。在本設計中,N為編碼落在預測區(qū)間外的像素數(shù)目,A為像素落在預測區(qū)間外的誤差累計。至此,k參數(shù)的選取簡化為計算A與N的最高非零位的差值,如果N通過左移使之最高非零位與A對齊,且值不小于A,則k參數(shù)為A與N的最高非零位的差值,否則為A與N的最高非零位的差值加1。通過對胃窺鏡圖像進行仿真,平均壓縮比由2.66降為2.63,但是硬件復雜度得到了極大降低,更易于VLSI實現(xiàn)。

    2)限長的Golomb-Rice編碼:確定參數(shù)k后,進行Golomb-Rice編碼時,當需要編碼的數(shù)值D遠大于2k時,碼字會變得很長。因此如果D/2k≤5,則編碼為差值D的Golomb-Rice編碼;否則編碼采用限長編碼 {6'b000000+8'bD},由于 FELICS是前綴編碼,使用6'b000000用來表示Golomb-Rice采用了限長編碼,差值D以其 8 bits二進制表示為8'bD,連同指示像素P落于預測區(qū)間外的1 bit編碼、以及指示像素P高于或低于預測區(qū)間的1 bit編碼,單個像素的編碼長度最大為16 bits。

    3)參數(shù)更新:在完成限長的Golomb-Rice編碼后,對參數(shù)進行更新。利用圖像的局部特性,為了獲得更好的壓縮效果,當N超過一定閾值時,將N和A歸零,閾值通常取32~256的數(shù),這樣k值主要取決于當前像素附近的局部圖像,通過對胃窺鏡圖像進行仿真,閾值取32可以獲得較好的壓縮效果;否則N=N+1,A=A+D。

    對12幅標準測試圖像(圖2)的壓縮結果表明(如表1),本文VLSI-oriented FELICS相比FELICS,壓縮比下降了約為1.7%。在低功耗內窺鏡系統(tǒng)中,對12幅醫(yī)學圖像腸胃圖(如圖3)R通道的壓縮結果表明,F(xiàn)ELICS算法平均壓縮比約為2.659;VLSI-oriented FELICS的平均壓縮比約為2.626,相比FELICS壓縮比下降約為1.2%;文獻[6]參數(shù)k采取定值2,平均壓縮比約為2.476,相比FELICS壓縮比下降約為6.9%。對比文獻[6]參數(shù)k采取固定值,本文中參數(shù)k采取自適應選取,能夠更好的適應圖像特征,對大部分圖像均能獲得良好的壓縮比,同時硬件與時鐘周期的開銷也非常低。

    VLSI-oriented FELICS硬件實現(xiàn)消除了256×8Wbits編碼累加表存儲空間,復雜度和功耗可大幅減小,參數(shù)k選擇可在一個時鐘周期完成,編碼效率顯著提升。

    圖2 標準測試圖像Fig.2 Standard test images

    表1 VLSI-oriented FELICS與FELICS對標準圖像壓縮率比較Table 1 Comparison of compression ratio between VLSI-oriented FELICS and FELICS

    圖3 醫(yī)學圖像腸胃圖Fig.3 Medical images of intestines and stomach

    2.2 Bayer圖像的 VLSI-oriented FELICS 擴展

    Bayer圖像格式被廣泛的應用在彩色數(shù)字圖像傳感器[7]。GBRG格式Bayer圖像,其RGB三色通道間的像素相關性較小,單色通道內的像素相關性較大[8],在編碼時為了去除更多圖像冗余信息,要對上述的FELICS算法針對Bayer圖像進行適當?shù)恼{整,對Bayer圖像的RGB三色分別進行FELICS壓縮,以達到更高的壓縮比。在編碼時需要根據(jù)當前像素P所處的通道選取同通道內的相鄰像素進行FELICS編碼,隨著當前像素所處的通道變化,不同通道的FELICS壓縮交叉進行,編碼依序送入輸出緩沖器。

    FELICS對Bayer圖像的擴展表現(xiàn)在圖像壓縮實施過程中相鄰像素的選擇,以及k參數(shù)的維持,下面分別介紹。

    2.2.1 相鄰像素的選擇

    對于Bayer圖像,同通道內的相鄰像素選取規(guī)則如FELICS算法描述。但同通道內的像素在整幅圖像中是隔行或者隔列相鄰的,所以在選取相鄰像素時必須越過相鄰的行和列,在同通道內按FELICS算法相鄰像素規(guī)則選取,如圖4所示。

    圖4 Bayer圖像相鄰像素的選取規(guī)則Fig.4 The two nearest neighbors in Bayer image

    2.2.2k參數(shù)的維持

    對Bayer圖像的RGB三通道分別維持k參數(shù)選取變量N、A、k:

    1)參數(shù)確定:對Bayer的每個通道維持各自的變量N和A,分別為變量NG1、AG1,NB、AB,NR、AR,NG2、AG2。在Golomb-Rice編碼時,判斷當前像素P所處的通道,選擇相應的N和A。如當前像素處于R通道,則N=NR,A=AR。k參數(shù)滿足公式k=min{k'|2k'N≥A}。

    2)參數(shù)更新:在完成限長的Golomb-Rice編碼后,對參數(shù)進行更新。判斷當前像素P所處的通道,更新相應的N和A。如當前像素處于R通道,則更新NR,AR。

    本文針對Bayer圖像的FELICS擴展能夠對Bayer圖像進行良好的快速無損壓縮。Bayer圖像所需存儲空間本身是RGB格式圖像的1/3[8],在低功耗的內窺鏡系統(tǒng)中,VLSI-oriented FELICS對醫(yī)學圖像的壓縮比可達2.6,因此可以得到約7.8的無損圖像壓縮比。

    綜上,本文的 VLSI-oriented FELICS消除了256×8×Wbits編碼累加表存儲空間;參數(shù)k選擇可在一個時鐘周期完成;單像素編碼不超過16 bits,輸出編碼單元的輸出緩沖器可在單周期內完成單個像素的編碼輸出操作;針對Bayer圖像的FELICS擴展能夠對Bayer圖像進行較好的快速無損壓縮。因此VLSI-oriented FELICS更適合于實時圖像壓縮系統(tǒng),更易于VLSI的低功耗實現(xiàn)。

    3 VLSI-oriented FELICS硬件實現(xiàn)

    設計采用3級流水線,Bayer圖像大小可配置,系統(tǒng)時鐘包括圖像數(shù)據(jù)傳輸時鐘PCLK和工作時鐘CLK,采用一塊深度可配置的雙時鐘異步FIFO緩存圖像數(shù)據(jù)。壓縮后的圖像數(shù)據(jù)經(jīng)過解壓縮與圖像插值將圖像彩色復原,系統(tǒng)框圖如圖5。

    圖5 VLSI-oriented FELICS系統(tǒng)框圖Fig.5 Block diagram of VLSI-oriented FELICS system

    硬件實現(xiàn)包括控制單元,編碼預測單元,編碼單元和編碼輸出單元??刂茊卧袛嘁环鶊D像的開始與結束,產(chǎn)生控制信號協(xié)調各個模塊的工作;編碼預測單元將傳感器的輸入像素存儲,產(chǎn)生當前像素P、相鄰像素N1與N2、預測上下文Δ;編碼單元進行修正的二元編碼或者限長Golomb-Rice編碼,輸出編碼的數(shù)據(jù)與位長;編碼數(shù)據(jù)每組成16 bits,編碼輸出單元將其輸出。設計整體采用流水線結構,用以提高系統(tǒng)的時鐘頻率,硬件結構框圖如圖6。表2是本文算法與表文獻[6,9]設計復雜度與硬件開銷的對比。從表2可以看出本文提出的針對Bayer圖像的FELICS擴展算法僅使用7.02 K門與10.2 KBits的存儲器,功耗為 26.8 μW/MHz,吞吐率為60 f/s,由于文獻[6]要求對全高清圖像進行壓縮,因此硬件實現(xiàn)對速度要求非常高,采用了并行結構,但對其吞吐率歸一化并且考慮圖像傳輸格式因素,其吞吐率與本文的實現(xiàn)具有一定的可比性。最終,相較文獻[6,9],本文的實現(xiàn)均具有一定優(yōu)勢或者可比性,其VLSI設計復雜度低、功耗低,非常適合對功耗與面積要求極高的內窺鏡系統(tǒng)。

    圖像傳感器采用OmniVision公司的OV7649,其VGA幀時序[10]如圖7。當圖像數(shù)據(jù)傳輸時鐘PCLK為24 MHz時,系統(tǒng)的吞吐率可以達到60 f/s。

    設計使用 SMIC 0.13 μm的工藝,進行 DC綜合,Prime Power功耗分析,其特征參數(shù)如表3。最后設計經(jīng)過了FPGA驗證與實現(xiàn),符合設計要求。

    圖6 VLSI-oriented FELICS硬件結構框圖Fig.6 Block diagram of hardware architecture of VLSI-oriented FELICS

    表2 與已發(fā)表文獻比較Table 2 Comparisons with existing works

    圖7 VGA幀時序圖Fig.7 VGA frame timing diagram

    表3 設計參數(shù)Table 3 Specification of the design

    4 結論

    本文提出了一種更加易于VLSI實現(xiàn)的低功耗VLSI-oriented FELICS算法:1)采用限長 Golomb-Rice編碼,簡化了k參數(shù)的選取,消除了大容量的存儲器以及操作周期;自適應的選取過程使得修改后的FELICS算法對不同特征的圖像仍然保證了圖像的壓縮效果;限長編碼有效的提高了系統(tǒng)的吞吐率。2)更加適合硬件實現(xiàn),通過合理的劃分流水線,可以獲得更大的系統(tǒng)吞吐量,以滿足更廣泛的應用,如全高清視頻應用[6]等。3)針對Bayer圖像格式的算法擴展進一步擴展了算法的應用范圍。4)在SMIC 0.13 μm工藝條件下,完成了算法的VLSI設計、FPGA驗證以及功耗分析。系統(tǒng)工作時鐘為25 MHz,圖像數(shù)據(jù)時鐘為24 MHz時,VGA圖像的吞吐率可以達到 60 f/s,功耗為 669 μW,每幀的功耗僅為11.15 μW。

    [1]HOWARD P G,VITTER J S.Fast and efficient lossless image compression[C]//IEEE Data Compression Conference.Snowbird,USA,1993:351-360.

    [2]IDDAN G,MERON G,GLUKHOVSKY A,et al.Wireless capsule endoscopy[J].Nature,2000,405:417.

    [3]GOLOMB S W.Run-Length Encodings[J].IEEE Transactions on Information Theory,1966,12(3):399-401.

    [4]WEINBERGER M J,SEROUSSI G,SAPIRO G.The LOCO-I lossless image compression algorithm:principles and standardization into JPEG-LS[J].IEEE Transactions on Image Processing,2000,9(8):1309-1324.

    [5]WU X,MEMON N.Context-based,adaptive,lossless image coding [J].IEEE Transactions on Communications,1997,45(4):437-444.

    [6]TSAI T H,LEE Y H,LEE Y Y.Design and analysis of high-throughput lossless image compression engine using VLSI-oriented FELICS algorithm[J].IEEE Transactions on Very Large Scale Integration(VLSI)Systems,2010,18(1):39-52.

    [7]BAYER B E.Color imaging array:USA,3,971,065[P].1976-5-12.

    [8]XU Xinfeng,HEI Yong.A shortcut to compressing Bayerpattern imagery losslessly[C]//IEEE International Congress on Image and Signal Processing.Tianjin,2009:1-4.

    [9]CHEN Xinkai,ZHANG Xiaoyu,ZHANG Linwei,et al.A wireless capsule endoscope system with low-power controlling and processing ASIC [J].IEEE Transactions on Biomedical Circuits and Systems,2009,3(1):11-22.

    [10]OmniVision Technologies.OV7649/OV7149 CMOS VGA(640 x 480)CAMERACHIPTM[Z].Sunnyvale:OmniVision Technologies,2003:8-9.

    猜你喜歡
    壓縮比時鐘區(qū)間
    解兩類含參數(shù)的復合不等式有解與恒成立問題
    你學會“區(qū)間測速”了嗎
    別樣的“時鐘”
    古代的時鐘
    質量比改變壓縮比的辛烷值測定機
    軟件(2020年3期)2020-04-20 01:45:24
    有趣的時鐘
    時鐘會開“花”
    區(qū)間對象族的可鎮(zhèn)定性分析
    低溫廢氣再循環(huán)及低壓縮比對降低歐6柴油機氮氧化物排放的影響
    高幾何壓縮比活塞的燃燒室形狀探討
    武安市| 大宁县| 彭阳县| 大余县| 太白县| 靖边县| 冀州市| 汝州市| 莱阳市| 吉木萨尔县| 乐山市| 柘城县| 兴安县| 青州市| 酒泉市| 霍城县| 织金县| 榆中县| 凤翔县| 星子县| 镇坪县| 乐陵市| 乐至县| 富裕县| 崇州市| 阳西县| 鹤壁市| 定边县| 五常市| 太原市| 武宁县| 双牌县| 遂平县| 天台县| 墨玉县| 塔城市| 新巴尔虎右旗| 凤庆县| 开平市| 东明县| 平凉市|