<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > EDA/PCB > 設計應用 > 無分裂結構的二維小波變換圖片處理芯片設計與驗證

          無分裂結構的二維小波變換圖片處理芯片設計與驗證

          作者: 時間:2012-06-08 來源:網絡 收藏

          1.2.1 行變換數據存取結構
          行變換模塊輸入數據讀取方式,是用讀取寄存器中數據流的方式代替地址尋址的數據讀取模式。
          數據依照輸入順序,在寄存器A,B,C,D中依次流動。變換模塊在不同的時間分別從A,C和D中讀取數據,進行預測和更新的變化步驟。變換后輸出的數據存放在列變換模塊的寄存器D1和FIFO-A中。行變換模塊結構圖如圖2所示。

          本文引用地址:http://www.ex-cimer.com/article/190283.htm

          c.jpg


          1.2.2 列變化數據存取結構
          在進行列變換時,需要讀取變換數據點臨近行的同列數據。而完成該數據點變換后,進行的是同一行下一列的數據點的列變換。因此需要依次讀出相鄰4行的同列數據,行數不變,列數依次遞增。
          為了簡單的實現該數據讀取的順序,本文使用3個FIFO來保存連續(xù)3行的數據:當輸入新一行的第1個數據時,3個FIFO釋放出第1個數據(即之前3行每1行的第1個數據),剛好組成完成列變換的相鄰4行的同列數據。同時,數據的新1行的數據進入FIFO-A,FIFO-A釋放出的數據進入FIFO-B,FIFO-B釋放出的數據進入FIFO-C。之后,釋放出第2列的數據,并重復上述步驟。
          因此在完成數據變換的同時,數據在FIFO-A,FIFO-B,FIFO-C中依次流動。完成該行的所有列數據的變換后,FIFO-A中的數據依次寄存在FIFO-B中,FIFO-B的數據寄存在FIFO-C中,而FIFO-A則寄存了新1行的數據。當下1行的數據輸入時,又依照上述順序,開始下1行的列變換。
          1.3 變換模塊結構
          常見的小波變換結構是當輸入奇數地址數據時完成預測步驟,當輸入偶數地址數據時完成更新步驟。而本文提出的結構不進行數據分裂,直接對數據進行預測和更新,并同時輸出到數據選擇器。數據選擇器對地址奇偶進行判斷,選擇輸出數據,可以得到和常用結構相同的結果。列變換模塊結構圖如圖3所示。

          d.jpg


          1.3.1 行變換結構
          本文提出了無分裂步驟的結構中,行變換時數據流輸入后依次寄存在寄存器D1,D2,D3,D4中。如圖4(a),寄存器D1,D2,D3,D4中已分別寄存了輸入數據X4,X3,X2,X1,而寄存器D5,D6,D7則分別寄存了數據Y2,Y1,Y0。此時利用寄存器D1,D2,D3中的數據X4,X3,X2經過預測步驟,得到預測結果y3=x3-(x2+x4)/2;此前已在寄存器D5,D6,D7中分別寄存了前3個時鐘分別完成計算的結果Y2,Y1,Y0,則經過更新步驟可得y1=x1+(y0+y2+2)/4。此時通過數據選擇器輸出的值Y1是奇數地址,因此僅需要完成預測步驟運算的結果(即寄存器D6中的數據),也就是說輸出寄存器D6中的Y1值,放棄更新步驟產生的Y1值。

          e.jpg


          在下一個時鐘沿來臨時,X4,X3,X2依次取代X3,X2,X1的位置,輸入的X5則寄存在X4的位置,同理Y2,Y1依次取代Y1,Y0的位置,預測產生的Y3值則寄存在Y2,則下一次計算時,寄存器中的值如圖4b,預測步驟產生Y4,更新步驟產生Y2,由于是偶數地址,所以通過數據選擇器輸出經過更新步驟的Y2值。



          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();