應用於JPEG2000之上提式離散小波轉換電路
全文
(2) (4) Scaling(K, 1/ K ):將所得到的高頻小波係 數和低頻小波係數分別乘以 K 和 1/ K , 也就是將這兩個係數正規化,即. 由於 9 7 濾波器之上提式小波轉換係數皆為 實數,因此硬體實作會較為複雜。以下各節將 介紹 5 3 和 9 7 濾波器上提式轉換之硬體實 現。. s[ n ] = (1 K ) × s [ n] 和 d [ n] = K × d [ n ] 。 1. 1. JPEG2000 標準使用兩種轉換,即 5 3 濾. 三、 一維轉換. 波器和 9 7 濾波器。 5 3 濾波器稱為整數小 波,它將影像的整數灰階值轉換成整數小波係 數,主要是應用在無失真資料壓縮(lossless compression) ,又稱為可逆(reversible)轉換。. 式離散小波轉換硬體架構,此架構將 5 3 濾波. 9 7 濾波器稱為浮點小波,它將影像的整數灰 階值轉換成實數形式的小波係數,適合應用在 有失真的資料壓縮(lossy compression) ,又稱. 器和 9 7 濾波器的前段加以整合,以節省硬體 資源。當管線填滿之後每個時脈週期可以送出 一個高頻訊號和一個低頻訊號。. 我們在本節提出一個管線化的一維上提. 為不可逆(irreversible)轉換。圖 2 為 5 3 濾 波器之上提式小波轉換示意圖,其所對應之數 學式如下: P ( z ) = α × (1 + z ). 3-1 硬體架構 一維小波轉換的硬體架構如圖 4。電路主 要 由 以 下 的 運 算 單 元 構 成 : Predictor 、 Updator、Predictor97、Updator97,以及負責. −1. U ( z ) = β × ( z + 1). 傳遞資料的 Reg 單元。當進行無失真 5 3 濾波 器運算時只需上半部的電路,而進行有失真. 其中 α = − 1 2 β = 1 4 ,使得其硬體較為簡 單,只需移位運算即可實現。. 9 7 濾波器運算則使用全部的電路。Odd 和 Even 為電路的輸出埠,分別為高頻訊號(odd coefficients)和低頻訊號(even coefficients)。. 圖 3 為 9 7 濾波器之上提式小波轉換示意 圖,其所對應之數學式如下: P1( z ) = α × (1 + z ). 3-2 運算單元設計. −1. U 1( z ) = β × ( z + 1). 我們使用管線運算(Pipelining)的方式來. P 2( z ) = γ × (1 + z ). 實作每一個運算單元。 5 3 濾波器需要兩個加. −1. U 2( z ) = δ × ( z + 1). 法器和一個移位器; 9 7 濾波器需要兩個加法 器和一個乘法器。我們讓二種濾波器共用加法 器並且將移位器和乘法器整合,使電路簡化。. 其中 α = −1.586134342 , β = −0.052980118 γ = 0.882911075 , δ = 0.443506852 。 xo : x 2n + 1. x n . P(z). Splitting. d n . K. +. 如圖 5,當進行 5 3 運算時選用移位器,9 7 運 算 時 選 用 乘 法 器 。 因 為 Predictor97 和 Updator97 模組是進行 9 7 運算時才會使用 到,所以沒有移位器。暫存器的資料寬度定為. U(z) 1. +. xe : x 2n . K. 十六位元。 9 7 濾波器的係數皆為實數,以二 補數表示如表 1。. s n . 圖 2 5/3 濾波器之上提式小波轉換示意圖. +. Splitting. +. +. Odd. Predictor97. P2(z) U2(z) 1. Updator. Reg. Reg. K. +. P1(z) U1(z). Predictor. Reg. Updator97. 圖 4 一維小波轉換架構. K. 圖 3 9/7 濾波器之上提式小波轉換示意圖 2. Even.
(3) ×. +. 表 2 5/3 濾波器部分時序. +. Time Adder1. S 1 2 3 4 5 6 7 8 9 10 11. 圖 5 運算單元設計 表 1 9/7 濾波器係數之二補數表示 16-bit 2’s complement value α β γ. 1.586134342. 20 + 2−1 + 2−4 + 2−6 + 2−7 + 2−13 + 2−14. 0.052980118. 2−5 + 2−6 + 2−8 + 2−9 + 2−12. 0.882911075. 2−1 + 2−2 + 2−3 + 2−7 + 2−14 + 2−15. δ. 0.443506852. 2−2 + 2−3 + 2−4 + 2−8 + 2−9 + 2−13. Predictor S/M Adder2. X0,0 X0,2 X0,2 X0,4 X0,4 X0,6 X0,6 X0,8. RA1 RA1 RA1 RA1. RS X0,1 RS X0,3 RS X0,5 RS X0,7. Adder1. Y0,1 Y0,3 Y0,3 Y0,5 Y0,5 Y0,7. Updator S/M Adder2. RA1 RA1 RA1. Y0,0 RS X0,2 RS X0,4 RS X0,6 Y0,8. 3-4 運算時序. 3-3 運算方式. 表 2 為一列像素進行 5 3 濾波器運算時資 料的時序,其中 X 代表輸入的信號,Y 代表輸 出,X、Y 的下標代表該像素在影像中的位置。 以一個 9 × 9 的影像為例,若輸入的訊號是該影 像第零列的像素,則在第 4 到第 7 個週期可以 得到高頻訊號 Y0,1、Y0,3、Y0,5 及 Y0,7;第 7 到 11 週期可以得到低頻訊號 Y0,0、Y0,2、Y0,4、Y0,6 及 Y0,8 。如此週而復始完成所有的列運算之 後,再進行行運算,即可完成一次二維離散小 波轉換。. 我們以一個 9 × 9 的影像為例進行上提式 離散小波轉換,圖 6 為 5 3 濾波器的運算方 式。0~9 的方格代表輸入的影像之一列或一行 像素(pixel), −1 、 −2 、9、10 則為 periodic symmetric extended signals,這些擴展訊號在圖 中以線段和原先的輸入訊號相連。圖中的圓圈 為基本運算單元。 圖 7 為 9 7 濾波器的運算方式。因為 9 7 濾波器的濾波器係數較多,所以以上提式演算 法實現需要四階,也就是兩次 predict 和兩次 update。在 signal extension 方面也需要較多的 係數擴展。從圖 6 和圖 7 可以很明顯看出, Predictor 模組是以兩個偶數位置的訊號和一 個奇數位置的訊號為輸入,經運算後可以得到 一奇數位置的輸出。Updator 模組的輸出是經 由兩個 Predictor 模組的奇數輸出和一個偶數 位置的輸入得到。接著我們以時序的觀點來瞭 解運算的過程。. 同樣由表 3 可以瞭解一列像素進行 9 7 濾 波器運算時資料的時序。因為 9 7 濾波器的運 算電路比 5 3 濾波器大了一倍,所以 9 7 濾波 器的管線階數也較多。表 3 中 X 代表輸入的 信號,Z 代表輸出,X、Z 的下標代表該像素 在影像中的位置。在第 11 到第 14 週期可以得 到高頻訊號 Z0,1、Z0,3、Z0,5 及 Z0,7;第 14 到第 18 個週期可以得到低頻訊號 Z0,0、Z0,2、Z0,4、 Z0,6 及 Z0,8。. 3-5 效能分析 -2. -1. 0. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 當管線填滿之後每個時脈週期可以送出 一個高頻訊號和一個低頻訊號。對一列長度為. Predict. N 的訊號,執行 5 3 濾波器運算需要 ( N 2 ) + 5. 個週期,執行 9 7 濾波器運算需要 ( N 2 ) + 12. Update. 圖 6 5/3 濾波器運算. 個週期。一個 N × N 的影像作一次轉換,5 3 濾 波器需要 N + 5 個週期, 9 7 濾波器則需要 2. -4. -3. -2. -1. 0. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. N + 12 個週期。 2. Predict Update Predict Update. 圖 7 9/7 濾波器運算. 3.
(4) 表 3 9/7 濾波器部分時序 Time. Predictor Adder1 α X00 X02 X02 X04 RA1 X04 X06 RA1 X06 X08 RA1 RA1 -. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18. Adder2 RM X01 RM X03 RM X05 RM X07 -. Adder1 Y01Y01 Y01Y03 Y03Y05 Y05Y07 Y07Y07. Updator β RA1 RA1 RA1 RA1 RA1. Adder2 Y00 RM X02 RM X04 RM X06 Y08. Adder1 Y00 Y02 Y02 Y04 Y04 Y06 Y06 Y08 -. Predictor97 γ Adder2 RA1 RA1 RM Y01 RA1 RM Y03 RA1 RM Y05 RM Y07 -. Time Adder1. 4-1 硬體架構. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18. 為了減少對外部記憶體存取資料的次 數,我們提出一種二維轉換的方式:首先進行 列運算,然後將結果儲存到記憶體中,當儲存 足夠的列運算值後(三列),即可開始做列之 行運算(column processing along row)。此二 維小波轉換的架構如圖 8,其中 Memory1、 Memory2 及 Temp 皆為記憶體模組。此架構可 以說是一維架構的延伸,基本運算單元都是相 同的。藉由將一維模組運算過的結果儲存到內 部的記憶體,我們可以減少外部記憶體的存取 次數。 1-D Module. X0,0 X0,2 X0,2 X0,4 X0,4 X0,6 X0,6 X0,8 X2,0 X2,2 X2,0 X2,2 X2,0 X2,2 X2,0 X2,2 X1,0 X1,2 X1,2 X1,4 X1,4 X1,6 X1,6 X2,8 X4,0 X4,2 X4,0 X4,2. Predictor S/M Adder2. RA1 RA1 RA1 RA1 RA1 RA1 RA1 RA1 RA1 RA1 RA1 RA1 RA1. RS X0,1 RS X0,3 RS X0,5 RS X0,7 RS X2,1 RS X2,3 RS X2,5 RS X2,7 RS X1,1 RS X1,3 RS X1,5 RS X1,7 -. Adder1. Y0,1 Y0,3 Y0,3 Y0,5 Y0,5 Y0,7 Y2,1 Y2,3 Y2,3 Y2,5 Y2,5 Y2,7 Y1,1 Y1,3 Y1,3 Y1,5 Y1,5 Y1,7. Updator S/M. RA1 RA1 RA1 RA1 RA1 RA1 RA1 RA1. Adder2. Y0,0 RS X0,2 RS X0,4 RS X0,6 Y0,8 Y2,0 RS X2,2 RS X2,4 RS X2,6 Y2,8 Y1,0 RS X1,2. 表 5 5/3 濾波器之二維轉換部分時序(2). Memory1. Time. Temp. 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31. Updator Reg. Memory2. Temp Predictor97. Z01Z01 Z01Z03 Z03Z05 Z05Z07 Z07Z07. Updator97 δ Adder2 RA1 RA1 Z00 RA1 RM Y02 RA1 RM Y04 RA1 RM Y06 Z08. 表 4 5/3 濾波器之二維轉換部分時序(1). 四、 二維轉換. Predictor. Adder1 -. Updator97. Reg. Odd. Even. 圖 8 二維小波轉換架構. 4. Predictor Time Predictor Adder1 S/M Adder2 Adder1 S/M Adder2 Y0,1 Y2,1 18 Z1,1 Z1,1 Y0,3 Y2,3 RA1 19 Z1,3 Z1,3 RA1 Y0,5 Y2,5 RA1 RS Y1,1 20 Z1,5 Z1,5 RA1 RS Y0,1 Y0,7 Y2,7 RA1 RS Y1,3 21 Z1,7 Z1,7 RA1 RS Y0,3 Y0,0 Y2,0 RA1 RS Y1,5 22 Z1,0 Z1,0 RA1 RS Y0,5 Y0,2 Y2,2 RA1 RS Y1,7 23 Z1,2 Z1,2 RA1 RS Y0,7 Y0,4 Y2,4 RA1 RS Y1,0 24 Z1,4 Z1,4 RA1 RS Y0,0 Y0,6 Y2,6 RA1 RS Y1,2 25 Z1,6 Z1,6 RA1 RS Y0,2 Y0,8 Y2,8 RA1 RS Y1,4 26 Z1,8 Z1,8 RA1 RS Y0,4 Y2,1 Y4,1 RA1 RS Y1,6 27 Z1,1 Z3,1 RA1 RS Y0,6 Y2,3 Y4,3 RA1 RS Y1,8 28 Z1,3 Z3,3 RA1 RS Y0,8 Y2,5 Y4,5 RA1 RS Y3,1 29 Z1,5 Z3,5 RA1 RS Y2,1 Y2,7 Y4,7 RA1 RS Y3,3 30 Z1,7 Z3,7 RA1 RS Y2,3 Y2,0 Y4,0 RA1 RS Y3,5 31 Z1,0 Z3,0 RA1 RS Y2,5 Y2,2 Y4,2 RA1 RS Y3,7 32 Z1,2 Z3,2 RA1 RS Y2,7 Y2,4 Y4,4 RA1 RS Y3,0 33 Z1,4 Z3,4 RA1 RS Y2,0 Y2,6 Y4,6 RA1 RS Y3,2 34 Z1,6 Z3,6 RA1 RS Y2,2 35 Z1,8 Z3,8 RA1 RS Y2,4 36 Z3,1 Z5,3 RA1 RS Y2,6 37 Z3,3 Z5,3 RA1 RS Y2,8.
(5) 表 6 9/7 濾波器之二維轉換部分時序(1) Time 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23. Predictor Adder1 α X00 X02 X02 X04 RA1 X04 X06 RA1 X06 X08 RA1 RA1 X20 X22 X22 X24 RA1 X24 X26 RA1 X26 X28 RA1 RA1 X10 X12 X12 X14 RA1 X14 X16 RA1 X16 X18 RA1 RA1 X40 X42 X42 X44 RA1 X44 X46 RA1 X46 X48 RA1 RA1 X30 X32 X32 X34 RA1. Adder2 RM X01 RM X03 RM X05 RM X07 RM X21 RM X23 RM X25 RM X27 RM X11 RM X13 RM X15 RM X17 RM X41 RM X43 RM X45 RM X47 -. Updator β -. Adder1 Y01 Y03 Y03 Y05 Y05 Y07 -. RA1 RA1 RA1 -. Y21Y23 Y23 Y25 Y25 Y27 -. RA1 RA1 RA1 -. Y11 Y13 Y13 Y15 Y15 Y17 -. RA1 RA1 RA1 -. Y41 Y43 Y43 Y45 Y45 Y47. RA1 RA1. Adder2 Y00 RM X02 RM X04 RM X06 Y08 Y20 RM X22 RM X24 RM X26 Y28 Y10 RM X12 RM X14 RM X16 Y18 Y40 RM X42. Predictor. Time. Updator. Adder1. S/M. Adder2. Adder1. S/M. Adder2. -. -. -. -. -. -. 20. Z0,1 Z2,1. -. -. 23. A1,1 A1,1. -. -. 21. Z0,3 Z2,3. RA1. -. 24. A1,3 A1,3. RA1. -. 22. Z0,5 Z2,5. RA1. RS Z1,1. 25. A1,5 A1,5. RA1. RS Z0,1. 23. Z0,7 Z2,7. RA1. RS Z1,3. 26. A1,7 A1,7. RA1. RS Z0,3. 24. Z0,0 Z2,0. RA1. RS Z1,5. 27. A1,0 A1,0. RA1. RS Z0,5. 25. Z0,2 Z2,2. RA1. RS Z1,7. 28. A1,2 A1,2. RA1. RS Z0,7. 26. Z0,4 Z2,4. RA1. RS Z1,0. 29. A1,4 A1,4. RA1. RS Z0,0. 27. Z0,6 Z2,6. RA1. RS Z1,2. 30. A1,6 A1,6. RA1. RS Z0,2. 28. Z0,8 Z2,8. RA1. RS Z1,4. 31. A1,8 A1,8. RA1. RS Z0,4. 29. Z2,1 Z4,1. RA1. RS Z1,6. 32. A1,1 A3,1. RA1. RS Z0,6. 30. Z2,3 Z4,3. RA1. RS Z1,8. 33. A1,3 A3,3. RA1. RS Z0,8. 31. Z2,5 Z4,5. RA1. RS Z3,1. 34. A1,5 A3,5. RA1. RS Z2,1. 32. Z2,7 Z4,7. RA1. RS Z3,3. 35. A1,7 A3,7. RA1. RS Z2,3. 33. Z2,0 Z4,0. RA1. RS Z3,5. 36. A1,0 A3,0. RA1. RS Z2,5. 34. Z2,2 Z4,2. RA1. RS Z3,7. 37. A1,2 A3,2. RA1. RS Z2,7. 35. Z2,4 Z4,4. RA1. RS Z3,0. 38. A1,4 A3,4. RA1. RS Z2,0. 36. Z2,6 Z4,6. RA1. RS Z3,2. 39. A1,6 A3,6. RA1. RS Z2,2. Y00 Y02 Y02 Y04 Y04 Y06 Y06 Y08 Y20 Y22 Y22 Y24 Y24 Y26 Y26 Y28 Y10 Y12 Y12 Y14 Y14 Y16 Y16 Y18. Predictor97 γ Adder2 RA1 RA1 RM Y01 RA1 RM Y03 RA1 RM Y05 RM Y07 RA1 RA1 RM Y21 RA1 RM Y23 RA1 RM Y25 RM Y27 RA1 RA1 RM Y11 RA1 RM Y13 RA1 RM Y15. Updator97 Adder1 δ Z01 Z03 Z03 Z05 Z05 Z07 Z21 Z23 Z23 Z25 Z25 Z27. Z11 Z13. RA1 RA1 RA1 RA1 RA1 RA1. Adder2 Z00 RM Y02 RM Y04 RM Y06 Z08 Z20 RM Y22 RM Y24 RM Y26 Z28. 中。表中 X 代表輸入像素值,Y 代表列運算的 輸出值,Y 被儲存到 Memory1 中。由表 4 可 知輸出的列順序為 0、2、1、4、3…。當 Memory1 中依序儲存了第零列、第二列、第一列的列運. 表 7 9/7 濾波器之二維轉換部分時序(2) Time. Adder1 -. 算結果後,即可進行行運算。表 5 為 5 3 濾波 器行運算的時序,其中 Y 為運算單元 Predictor 的輸入訊號,其輸出訊號 Z 作為運算單元 Updator 的輸入。最後我們在 Predictor 單元和 Updator 單元的輸出得到結果 Z。 表 6 為一個 9 × 9 的影像進行 9 7 濾波器 二維轉換列運算的部分時序,其中 X 代表輸 入像素值,Z 代表列運算的輸出值,Z 將被儲 存到 Memory1 中。如同 5 3 濾波器的運算, Memory1 儲存了一定量的訊號之後即可開始 進行行運算。表 7 及 8 為 9 7 濾波器行運算的 時序。 9 7 濾波器運算會用到四個運算單元; 即 Predictor 、 Updator 、 Predictor97 以 及 Updator97。Z 為運算單元 Predictor 的輸入訊 號,其輸出訊號 A 作為運算單元 Updator 的輸 入,同時 A 也必須儲存到 Memory2 中。 經由 Predictor 和 Updator 模組分別產生 1、3、5、7...列和 2、4、6、8…列的輸出。當 Memory2 中儲存了 0、2、1 列之後就可以讓 Predictor97 模組和 Updator97 模組進行運算。 由表 8,A 為從 Memory2 中讀出之輸入,在 Predictor97 模組的輸出端可以得到奇數列的 B 輸出,而 Updator97 模組的輸出端可以得到偶 數列的 B 輸出。. 4-2 運算時序 如果依一般按列進行的一維轉換運算方 式,在二維架構中將會浪費許多記憶體,因此 我們重定列運算的順序,以便將二維小波轉換 所需的記憶體存取次數降至最低。從前面各節 可知,上提式離散小波轉換中的高頻訊號是經 由兩個偶係數和一個奇係數求得,低頻訊號是 經由兩個奇係數和一個偶係數得到;所以我們 維轉換列運算的部分時序,如同一維架構運算 的方式,將像素列依特定順序送入 1-D Module. 5.
(6) 表 8 9/7 濾波器之二維轉換部分時序(3) Time. Odd Coefficients Even Coefficients. Predictor97 Time Updator97 Adder1 S/M Adder2 Adder1 S/M Adder2. 35. A0,1 A2,1. -. -. 38. B1,1 B1,1. 36. A0,3 A2,3. RA1. -. 39. B1,3 B1,3 RA1. -. -. 37. A0,5 A2,5. RA1. RS A1,1. 40. B1,5 B1,5 RA1. RS A0,1. 38. A0,7 A2,7. RA1. RS A1,3. 41. B1,7 B1,7 RA1. RS A0,3. 39. A0,0 A2,0. RA1. RS A1,5. 42. B1,0 B1,0 RA1. RS A0,5. 40. A0,2 A2,2. RA1. RS A1,7. 43. B1,2 B1,2 RA1. RS A0,7. 41. A0,4 A2,4. RA1. RS A1,0. 44. B1,4 B1,4 RA1. RS A0,0. 42. A0,6 A2,6. RA1. RS A1,2. 45. B1,6 B1,6 RA1. RS A0,2. 43. A0,8 A2,8. RA1. RS A1,4. 46. B1,8 B1,8 RA1. RS A0,4. 44. A2,1 A4,1. RA1. RS A1,6. 47. B1,1 B3,1 RA1. RS A0,6. 45. A2,3 A4,3. RA1. RS A1,8. 48. B1,3 B3,3 RA1. RS A0,8. 46. A2,5 A4,5. RA1. RS A3,1. 49. B1,5 B3,5 RA1. RS A2,1. 47. A2,7 A4,7. RA1. RS A3,3. 50. B1,7 B3,7 RA1. RS A2,3. 48. A2,0 A4,0. RA1. RS A3,5. 51. B1,0 B3,0 RA1. RS A2,5. 49. A2,2 A4,2. RA1. RS A3,7. 52. B1,2 B3,2 RA1. RS A2,7. 50. A2,4 A4,4. RA1. RS A3,0. 53. B1,4 B3,4 RA1. RS A2,0. 51. A2,6 A4,6. RA1. RS A3,2. 54. B1,6 B3,6 RA1. RS A2,2. 圖 10. -. Memory2 的記憶體架構. Odd Coefficients Even Coefficients. Pre-fetch register. 圖 11 Temp 的記憶體架構 對 Temp 作存取的時候,必須作記憶體的 預先讀取以免發生資料衝突。如圖 11,我們 將一列的資料儲存在一頁中,記憶體前半段儲 存奇數訊號,偶數訊號儲存在記憶體後半段。 在讀出端我們加上一個預讀取暫存器來儲存 預先讀出的資料。. 4-4 記憶體需求 表 9 硬體資源需求比較 Architecture. Mult.. Adder. 32. [7]. 2N. 32. [12]. 24. 21. 14N. [13]. 32. 28. 2N. [14]. 10. 16. 14N. This work. 10. 16. 9N. 2N. Memory1 中我們需要使用六組大小為 N 2 的 儲存模組,Memory2 需要四組大小為 N 的儲. 20N. [2]. 2. 假設要轉換的影像大小為 N × N ,在. Storage. 2. 3N. 2. 存模組。進行 9 7 濾波器運算所需要的記憶體 大小為 9N。. 2. 4-5 效能分析. 4-3 記憶體組織架構. 如同一維架構,一個 N × N 的影像不論是 以 5 3 濾波器運算或以 9 7 濾波器運算,當管 線的資料填滿之後,每個週期可以送出一個高. 在我們所提出的二維轉換的架構中,有三 個記憶體模組:Memory1、Memory2 及 Temp, 所使用的記憶體架構及資料儲存的方式分別 如圖 9、10 和 11 所示。在 Memory1 中,我們 需要三組如圖 9 所示之記憶體,以便儲存經由 一維列運算所產生的數值。這些值再依奇數訊 號和偶數訊號分別儲存。 在 Memory2 中,需要四組如圖 10 所示之. 頻訊號和一個低頻訊號。當進行 5 3 轉換時, 要填滿管線大約需要 N + 3 個週期,進行 9 7 轉換填滿管線大約需要 2 N + 10 個週期,則完 成 一 次 二 維 轉 換 5 3 濾 波 器 需 要. ( N 2) + N + 3 個 週 期 , 9 7 濾 波 器 需 要 ( N 2) + 2 N + 10 個週期。 2. 記憶體來儲存 9 7 濾波器運算所產生之值。我 們將同一列的資料儲存在一頁中,記憶體前半 的位址儲存奇數訊號,偶數訊號則儲存在記憶 體後半的位址。. 2. 表 9 將我們的二維架構在進行 9 7 濾波器 運算時,使用到的乘法器數量、加法器數量、 以及記憶體需求和其它的架構作一個比較。輸 入的影像解析度為 N × N 。由表中可以看出此 架構具有節省記憶體的優勢。. Odd Coefficients. 五、 效能評估. Even Coefficients. 在效能評估及驗證方面,我們以 Synplicity 公司的 Synplify Pro 來進行 FPGA 的 合 成 , 目 標 元 件 為 Altera 公 司 所 生 產 的 EPF10K200SRC240-1,完成佈局之一維架構操 作頻率為 29.6 MHz。在此工作頻率下,以解. 圖 9 Memory1 的記憶體架構. 6.
(7) 析度為 256 × 256 和 512 × 512 的灰階影像進行 一階轉換分別需要 512 × 512 :. 運算的參數,就可以進行反轉換的運算,如此 便可以完成一個完整的編碼解碼系統。. 512 × 512. = 8.85 ms 29.6M Hz 1024 × 1024 = 35.42 ms 1024 × 1024 : 29.6M Hz 以一般 JPEG2000 運算需要進行五階轉換,則 完成一張灰階影像需要的時間為 512 × 512 : 8.85 + 2.21 + 0.55 + 0.14. 參考文獻 [1] S. G. Mallat, “A Theory for Multiresolution Signal Decomposition: The Wavelet Representation,” IEEE Trans. Pattern Analysis and Machine Intelligence, vol.11 no. 7 pp. 674-693, July 1989. [2] M. Vishwanath, R. Owens, and T. Acharya, “VLSI Architecture for the Discrete Wavelet Transform,” IEEE Trans. Circuits Syst. II, vol. 42, pp. 305-316, May 1995. [3] J. S. Fridman and E. S. Manolakos, “Discrete Wavelet Transform: Data Dependence Analysis and Synthesis of Distributed Memory and Control Array Architecture,” IEEE Trans. Signal Processing, vol. 45, pp.1291-1308, May 1997. [4] T. Acharya, “A High Speed Systolic Architecture for Discrete Wavelet Transforms,” in Proc. IEEE Global Telecommun. Conf., vol. 2, 1997 pp. 669-673. [5] K. K. Parhi and T. Nishitani, “VLSI Architectures for Discrete Wavelet Transforms.” IEEE Trans. VLSI Syst., vol. 1, pp. 191-202, June 1993. [6] A. Grzeszczak, M. K. Mandal, S. Panchanathan, and T. Yeap, “VLSI Implementation of Discrete Wavelet Transform,” IEEE Trans. VLSI Syst., vol. 4, pp. 421-433, June1996. [7] C. Chakrabarti and M. Vishwanath, “Efficient Realizations of the Discrete and Continuous Wavelet Transforms: From Single Chip Implementations to Mappings on SIMD Array Computers,” IEEE Trans. Signal Processing, vol. 43, pp.759-771, Mar. 1995. [8] W. Sweldens, “The Lifting Scheme: A Construction of Second Generation Wavelets,” Tech. Rep. 1995:6 Industrial Mathematics Initiative. Department of Mathematics. University of South Carllina 1995. [9] W. Sweldens, “The Lifting Scheme: A Custom-design construction of Biorthogonal Wavelets,” Appl. Comput. Harmon. Anal. vol. 3(2). pp. 186-200. 1996. [10] I. Daubechies and W. Sweldens, “Factoring Wavelet Transform into Lifting Steps.” J. Foureier Anal. Appl., vol 4, Nr. 3, pp. 247-296. [11] M. Boliek, C. Christopoulos and E. Majani, “JPEG 2000 part I Final Committee Draft Version 1.0 (ISO/IEC FDIS15444-1),”. + 0.03 = 11.78 ms 1024 × 1024 : 35.42 + 8.85 + 2.21 + 0.55 + 0.14 + 0.03 = 47.2 ms 因而每秒可以連續編碼的灰階影像數為. 1000 11.78 = 84 (frames/s) 1000 1024 × 1024 : 47.2 = 21 (frames/s) 512 × 512 :. 二維架構的運算需要較長的時間延遲之 後才能有結果輸出,但是往後的每個週期皆可 有兩個像素的輸出,當輸入的影像解析度夠大 時,二維架構的效能約為一維架構的兩倍。同 樣以 29.6 MHz 的工作頻率進行編碼,則完成 一張灰階影像需要的時間為 1024 × 1024 : 23.6 ms 2048 × 2048 : 70.84 + 23.6 = 94.44 ms 而每秒可以編碼的灰階影像數為. 1000 23.6 = 42 (frames/s) 1000 2048 × 2048 : 94.44 = 10 (frames/s) 1024 × 1024 :. 可知在解析度為 1024 × 1024 時,其效能已能滿 足動態影像編碼的要求。. 五、 結論 在本論文中,我們針對應用於 JPEG2000 之上提式離散小波轉換,提出一種整合 5 3 和 9 7 濾波器的管線化電路架構。我們所提出的 一維架構具有精簡且彈性化的特點,但是需要 對外部的記憶體作大量的存取。以一維架構為 基礎而延伸出來的二維架構,經由重新安排輸 入訊號的順序,可以有效減少記憶體的使用 量。相較於一維架構,二維架構可減少一半的 外部記憶體存取,運算速度也快了將近一倍, 但只能針對特定的影像解析度作運算。 對於未來的發展與改進,在效能方面可以 進一步提升運算元件的速度,因為整個系統的 運算速度主要是受限於管線暫存器之間的運 算延遲。此外,我們所提出的架構,只要修改. 7.
(8) ISO/IEC JTC/SC29/WG/N164R, March 16, 2000. [12] C. Yu and S. J. Chen, “Design of An Efficient VLSI Architecture for 2-D Discrete Wavelet Transforms,” IEEE Trans. Consumer Elect., vol. 45, no 1, pp. 135-140, 1999. [13] S. K. Paek, and L. S. Kim, “2D DWT VLSI Architecture for Wavelet Image Processing,” Electron. Lett., vol. 34, no. 6, pp. 537-538, 1998. [14] C. -T. Huang, P.-C. Tseng, L.-G. Chen, “Efficient VLSI Architectures of Lifting-based Discrete Wavelet Transform by Systematic Design Method,” IEEE International Symposium on Circuits and Systems (ISCAS), vol. 5, pp.V-565-V-568, 26-29 May 2002.. 8.
(9)
數據
相關文件
Harma, “Automatic identification of bird species based on sinusoidal modeling of syllables,” in Proceedings of IEEE International Conference on Acoustics, Speech,
Chen, “Adjustable gamma correction circuit for TFT LCD,” IEEE International Symposium on Circuits and Systems, vol. Kan, “Implementation of the Gamma (γ) Line System Similar
Lee, ”Effects of Build-Up Printed Circuit Board Thickness on the Solder Joint Reliability of a Wafer Level Chip Scale Package (WLCSP),” IEEE International Symposium
Gu, “Corner Block List: An Effective and Efficient Topological Representation of Nonslicing Floorplan,” IEEE/ACM International Conference on Computer-Aided Design, pp.8–12,
Sun, “The Application of Role-Based Access Control in Workflow Management Systems”, Proceedings of IEEE International Conference on System, Man and Cybemetics, vol.6, pp.
First, we us the Histogram Equalization and the Kuwahara filter for image processing, and then use wavelet transform and Otsu binary value method for license plate
[20] Mohamed Younis, Moustafa Youssef, and Khaled Arisha “Energy Aware Routing in Cluster-Based Sensor Networks”, 10th IEEE International Symposium on Modeling, Analysis
Chen, “Adjustable gamma correction circuit for TFT LCD”, IEEE International Symposium on Circuits and Systems, vol.1, pp. [28] Seogheon Ham; Yonghee Lee; Wunki Jung; Seunghyun