JPEG圖像硬件解碼低功耗設(shè)計
IDCT設(shè)計中使用了零值判斷邏輯電路、門控時鐘、并行流水線等技術(shù),使得整個電路在滿足處理速度和精度要求的基礎(chǔ)上大大降低了功耗。
3.1 零值判斷邏輯電路
在整個圖像解碼過程中,每8×8個數(shù)據(jù)塊中有約90%的數(shù)據(jù)的DCT系數(shù)為零,對這些零值進(jìn)行IDCT變換并無意義。因此,本設(shè)計添加了零值判斷邏輯來消除不必要的乘法運(yùn)算。零值判斷邏輯電路由8×8累加器陣列、零值判斷邏輯模塊和復(fù)選器MUX構(gòu)成。通過零值邏輯模塊判斷,當(dāng)操作數(shù)不全為零時,使能信號變成高電平,將操作數(shù)取到寄存器中,然后再進(jìn)行乘法運(yùn)算。如果操作數(shù)全為零,則封鎖累加陣列,直接通過MUX輸出0。零值判斷邏輯能有效地降低功耗,且電路簡單,面積與延遲時間幾乎可以忽略不計。
3.2 基于鎖存器的門控時鐘
通過控制電路的輸入時鐘可以使得一部分電路降低工作頻率或者停止工作,從而降低整個電路的功耗。2D DCT/IDCT的電路主要由3部分組成:1D DCT/IDCT單元、轉(zhuǎn)置存儲器、輸入輸出處理單元。
轉(zhuǎn)置存儲器部分只有在每次1D DCT/IDCT處理的最后才進(jìn)行更新,而輸入輸出處理單元只有在數(shù)據(jù)輸入輸出的時候才工作。因此,控制這幾部分電路的輸入時鐘,使其在大多數(shù)時間停止工作即可以有效地降低功耗。設(shè)計結(jié)果表明,在面積僅增加2%的情況下系統(tǒng)功耗可降低13%。
基于鎖存器的門控時鐘可以實現(xiàn)上述功能,它具有不需要數(shù)據(jù)選擇器、面積較小、可以減小時鐘網(wǎng)絡(luò)上電容、減少門控寄存器的內(nèi)部功耗等優(yōu)點。鎖存器門控時鐘電路及時序如圖3所示。
3.3 并行流水線
本設(shè)計使用加法和移位運(yùn)算代替IDCT快速算法中的浮點乘法運(yùn)算單元,用高度并行流水線VLSI結(jié)構(gòu)加快數(shù)據(jù)處理速度,其處理數(shù)據(jù)的時間不到串行結(jié)構(gòu)的1/5。因此,時鐘頻率可以相應(yīng)地降低到串行結(jié)構(gòu)的1/5左右,從而降低系統(tǒng)的功耗。例如,使用2個16×8的乘法器同時并行計算高位部分和低位部分,分別得到高位部分積和低位部分積,然后進(jìn)行移位相加。實現(xiàn)電路運(yùn)算時實現(xiàn)時間重疊、資源重復(fù)使用和資源共享,提高了系統(tǒng)的并行性,以此提高了乘法電路的運(yùn)行速度和效率。
4 仿真和綜合結(jié)果
本文選用1幅1 920×1 080大小的JPEG圖像,Modelsim進(jìn)行RTL級仿真后的波形如圖4所示。圖中JPEG_DATA是碼流數(shù)據(jù),OutR、OutG、OutB是解碼仿真結(jié)果[4]。在100 MHz的頻率下對解碼核心模塊進(jìn)行綜合[5],結(jié)果如表1所示。
本文有別于以往用軟件實現(xiàn)JPEG解碼,而是在用硬件實現(xiàn)JPEG解碼的同時,改進(jìn)硬件結(jié)構(gòu),通過多種易于操作的方法來降低硬件解碼能耗。通過EDA工具驗證,完全可以滿足JPEG圖像硬件解碼的要求。
評論