新聞中心

EEPW首頁 > EDA/PCB > 設(shè)計應(yīng)用 > 基于FPGA的多級小波逆變換實時系統(tǒng)設(shè)計

基于FPGA的多級小波逆變換實時系統(tǒng)設(shè)計

作者: 時間:2011-02-23 來源:網(wǎng)絡(luò) 收藏


2 CDF9/7的VLSI實現(xiàn)
2.1 整體方案分析
離散模塊處于JPEG2000解碼系統(tǒng)最后一級,它負責將前端EBCOT解碼得到的數(shù)據(jù)進行處理以獲得重構(gòu)圖像信息。由于逆變換模塊的數(shù)據(jù)并不如正變換模塊一樣直接來自外部數(shù)據(jù)總線,而是來自前端的EBCOT解碼數(shù)據(jù),因此既不能用協(xié)議的方式規(guī)定輸入數(shù)據(jù)的順序,也不能保證EBCOT解碼數(shù)據(jù)等時間間隔均勻輸出,所以在前端EBCOT模塊和離散小波反變換模塊之間需要使用存儲器進行緩存。
由于連續(xù)小波基能夠消除圖像的方塊效應(yīng),因此為了降低高倍壓縮時各編碼塊之間的邊際效應(yīng),在滿足工程實現(xiàn)要求的同時提高壓縮質(zhì)量,一般需要選擇盡可能大的圖像塊進行處理。顯然,這受限于原始圖像本身的大小和存儲器的大小。為避免小波變換的圖像尺寸受存儲器的大小限制,同時避免使用昂貴的大內(nèi)存芯片,本設(shè)計中選擇使用片外存儲器緩存接收到的數(shù)據(jù)幀。
2.2 整體方案設(shè)計
小波逆變換需要在接收到完整的一幀數(shù)據(jù)之后才能啟動,而且對于N個像素點的圖像,完成JPEG2000解碼系統(tǒng)中的3層小波逆變換處理,需要M=N/16+N/16+N/4+N/4+N+N=2.625N個時鐘周期。為了降低系統(tǒng)功耗,本設(shè)計并不采用倍頻實現(xiàn),而提出了一種雙路并行的實現(xiàn)結(jié)構(gòu),其整體方案粗略結(jié)構(gòu)如圖2所示。

本文引用地址:http://www.butianyuan.cn/article/191347.htm


圖2中箭頭指示數(shù)據(jù)流向,箭頭中的數(shù)字表示數(shù)據(jù)寬度,2對片外存儲器采用乒乓方式輪詢切換。本方案首先使用兩路并行的核心計算單元(ILWC1和ILWC2)完成前3列2行逆變換處理(第3層小波逆變換、第2層小波逆變換和第1層小波列逆變換),這期間的數(shù)據(jù)交替的在IRAM1和IR-AM3或者IRAM2和IRAM4之間存??;然后再使用第3個獨立的核心計算單元(ILWC3)完成剩余的最后一次小波逆變換處理(第一層小波行逆變換),處理完畢的數(shù)據(jù)。由于單個小波系數(shù)位寬為18 bit(4 bit小數(shù)位確保精度要求),因此片外存儲器每個36 bit的存儲單元中可以同時存放兩個小波系數(shù)。在前3列2行逆變換處理過程中,每次讀取的2個小波系數(shù)可以分別提供給ILWC1和ILWC2并行處理,在第一層小波行逆變換時則由一個二通道選擇器(MUX2)對數(shù)據(jù)的高、低18 bit位進行選擇分時提供給ILWC3。數(shù)據(jù)組織模塊(Iogz)的功能就是將ILWC1和ILWC2這兩個處理模塊完成的行、列變換數(shù)據(jù)進行合并重組,以便對片外RAM進行讀寫的36 bit外部總線數(shù)據(jù)總是由兩個18bit小波系數(shù)分別以總線數(shù)據(jù)的高18bit和低18 bit的形式組合而成。
基于以上實現(xiàn)方案,對于N個像素點的圖像,首先由ILWC1和ILWC2完成3列2行逆變換需要M1=N/32+N/32+N/8+N/8+N/2=0.812 5N個時鐘周期,然后由ILWC3獨立最后一層行變換需要M2=N個時鐘周期。因此,兩個處理過程所需的總時間M=M1+M2=1.812 5N不超出允許的存儲器占用上限(2N),能夠保證對連續(xù)輸入的小波系數(shù)進行實時的處理。4個存儲器輪詢狀態(tài)和的功能狀態(tài)參見圖3。



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉