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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > RAM讀寫時(shí)序限制解決方案

          RAM讀寫時(shí)序限制解決方案

          作者: 時(shí)間:2011-10-28 來源:網(wǎng)絡(luò) 收藏

          本文為了提高AVS解碼器的處理速度,綜合了國內(nèi)外學(xué)者的設(shè)計(jì)思想提出了一種逆掃描、反量化與反變換模塊結(jié)構(gòu),在消耗邏輯資源允許的情況下提高了處理速度,做到速度和面積的平衡。

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

            本文將逆掃描、反量化和反變換模塊結(jié)合在一起進(jìn)行設(shè)計(jì),在實(shí)現(xiàn)了塊內(nèi)部優(yōu)化的同時(shí)采用了乒乓緩存寄存器組來實(shí)現(xiàn)塊之間流水線,提高了速度;采用寄存器組復(fù)用技術(shù)實(shí)現(xiàn)逆塊掃描中寄存器組與反變換中的轉(zhuǎn)置寄存器組的復(fù)用,節(jié)省了寄存器資源。

            1 硬件結(jié)構(gòu)

            根據(jù)AVS解碼標(biāo)準(zhǔn),本文提出了一種高效簡潔的逆掃描、反量化與反變換系統(tǒng)結(jié)構(gòu),該結(jié)構(gòu)主要由四部分組成。反量化模塊完成量化系數(shù)向變換系數(shù)的轉(zhuǎn)變;逆掃描與寄存器組選擇模塊根據(jù)逆掃描表完成變換系數(shù)的存儲(chǔ);寄存器組用來存儲(chǔ)變換系數(shù)及反變換中的轉(zhuǎn)置數(shù)據(jù);反變換模塊將變換系數(shù)轉(zhuǎn)換成殘差樣值,為后續(xù)的重構(gòu)做好準(zhǔn)備。硬件結(jié)構(gòu)及數(shù)據(jù)流程如圖1所示。

            

            其中輸入為VLD模塊解析出的(run,level)對、塊結(jié)束標(biāo)志及一些模式判別的信息。反量化模塊對Level數(shù)據(jù)進(jìn)行反量化,逆掃描與寄存器組選擇模塊采用依據(jù)輪流使用的規(guī)則產(chǎn)生寄存器組選擇信號(hào),同時(shí)對Run進(jìn)行累加,并根據(jù)累加結(jié)果查表得到需要存儲(chǔ)的寄存器,等所有量化后的Level值存儲(chǔ)完畢后,由It_start信號(hào)連續(xù)讀取8次寄存器進(jìn)入反變換模塊,反變換模塊采用內(nèi)部流水線結(jié)構(gòu)經(jīng)過22個(gè)時(shí)鐘周期處理完一個(gè)塊。反變換模塊中的轉(zhuǎn)置寄存器復(fù)用了前端的寄存器組。

            本設(shè)計(jì)通過乒乓結(jié)構(gòu)實(shí)現(xiàn)了塊與塊之間的流水。圖2是本設(shè)計(jì)的總體安排,圖中考慮到變換編碼后一個(gè)塊內(nèi)的有效系數(shù)一般小于25。其中以一個(gè)塊數(shù)據(jù)輸入反量化模塊作為起始時(shí)刻,當(dāng)反變化模塊讀取一個(gè)寄存器組并將其作為轉(zhuǎn)置寄存器使用時(shí),另一個(gè)寄存器組用于存儲(chǔ)下一個(gè)塊的反量化結(jié)果。如圖2,寄存器組1用來存儲(chǔ)當(dāng)前塊反量化后的變換系數(shù)值,而寄存器2被用于上一個(gè)塊的反變換中。另外,讀取轉(zhuǎn)置后的數(shù)據(jù)時(shí),通過對移位最初的寄存器賦零對寄存器2清零,從而用于下一個(gè)塊的變換系數(shù)的存儲(chǔ)。

            

            1.1 逆掃描與寄存器組選擇模塊

            該模塊先對Run值進(jìn)行累加,并根據(jù)掃描方式查表,得到當(dāng)前Level值所對應(yīng)的寄存器號(hào),控制將反量化后的變換系數(shù)存入相應(yīng)寄存器中,重復(fù)以上工作直到讀到塊結(jié)束標(biāo)志。當(dāng)前塊不為零的所有變換系數(shù)均根據(jù)逆掃描表存儲(chǔ)在相應(yīng)的位置,因?yàn)槊看螐募拇嫫髦凶x取轉(zhuǎn)置數(shù)據(jù)時(shí)都會(huì)對寄存器清零,為下次使用做好準(zhǔn)備,所以對于變換系數(shù)為零的情況就不用單獨(dú)存儲(chǔ),從而提高了設(shè)計(jì)的處理速度。

            1.2 反變換模塊

            反變換模塊是將當(dāng)前塊的變換系數(shù)矩陣轉(zhuǎn)換為殘差樣值矩陣的一個(gè)過程,為了節(jié)約硬件成本,此設(shè)計(jì)采用一維變換和轉(zhuǎn)置矩陣實(shí)現(xiàn)二維變換,參考文獻(xiàn)[2]中提出了一種快速有效的方法,本文對其方法進(jìn)行了優(yōu)化,節(jié)約了不必要的硬件資源和時(shí)鐘。

            下面主要介紹一維變換過程。

            設(shè)AVS的一維反變換的輸入輸出變量分別為:

            X=[X0,X1,X2,X3,X4,X5,X6,X7]T

            Y=[Y0,Y1,Y2,Y3,Y4,Y5,Y6,Y7]T

            根據(jù)Y=T8×X,把8個(gè)輸出元素展開成以下組合,其中T8為8×8的反變換矩陣。

            M0=8X0+8X4;M1=8X0-8X4

            M2=4X1+4X5;M3=9X1-10X5

            M4=6X1+2X5;M5=2X1+9X5

            M6=10X2+4X6;M7=4X2-10X6

            M8=9X3+2X7;M9=2X3+6X7

            M10=10X3-9X7;M11=4X3+4X7

            其中所有的乘法均可化為移位操作,再定義8個(gè)中間變量N0~N7:

            N0=M0+M6;N1=M2+M8+M4

            N2=M1+M7;N3=M3-M9

            N4=M1-M7;N5=M4-M10

            N6=M0-M6;N7=M5-M11-M9

            重新整理后得到的輸出:

            Y0=N0+N1;Y1=N2+N3;Y2=N4+N5;Y3=N6+N7

            Y4=N6-N7;Y5=N4-N5;Y6=N2-N3;Y7=N0-N1

            由以上算法可以看出,一維反變換模塊只需要移位和加法操作,既方便硬件實(shí)現(xiàn)還節(jié)省了硬件資源。經(jīng)計(jì)算此一維反變化模塊共需要40個(gè)加法器。

            反變換模塊的見圖2,第1時(shí)鐘周期進(jìn)行并行讀取數(shù)據(jù),2個(gè)時(shí)鐘周期進(jìn)行一維反變換,第4個(gè)時(shí)鐘周期開始向轉(zhuǎn)置矩陣中存入一維反變換后的數(shù)據(jù),第12周期開始讀取轉(zhuǎn)置矩陣中的數(shù)據(jù),第15個(gè)時(shí)鐘周期開始輸出數(shù)據(jù),第22個(gè)時(shí)鐘周期結(jié)果輸出完畢。

          光伏發(fā)電相關(guān)文章:光伏發(fā)電原理

          上一頁 1 2 3 下一頁

          評(píng)論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁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); })();