《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > AVS逆掃描反量化和反變換模塊的硬件設(shè)計(jì)
AVS逆掃描反量化和反變換模塊的硬件設(shè)計(jì)
來(lái)源:電子技術(shù)應(yīng)用2011年第8期
秦 盼,王祖強(qiáng),宋 健
(山東大學(xué) 信息科學(xué)與工程學(xué)院,山東 濟(jì)南250100)
摘要: 提出一種適用于AVS視頻解碼器逆掃描、反量化和反變換的硬件結(jié)構(gòu)優(yōu)化設(shè)計(jì)方案,該設(shè)計(jì)把逆掃描、反量化和反變換過(guò)程結(jié)合在一起進(jìn)行設(shè)計(jì),以宏塊為單位進(jìn)行操作且在塊與塊之間采用了流水線技術(shù),并通過(guò)采用乒乓技術(shù)和寄存器復(fù)用技術(shù)達(dá)到速度和面積的平衡和優(yōu)化。本設(shè)計(jì)在Quartus II 8.0上進(jìn)行了仿真,仿真結(jié)果與C中結(jié)果進(jìn)行了比對(duì),通過(guò)在基于Nios II的AVS視頻解碼系統(tǒng)測(cè)試平臺(tái)上進(jìn)行測(cè)試,證明了該模塊功能的正確性。
中圖分類號(hào): TN919.8
文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2011)08-0052-04
Hardware design of reverse scan inverse quantization and inverse transform for AVS decoder
Qin Pan,Wang Zuqiang,Song Jian
School of Information Science and Engineering, Shandong University, Jinan 250100,China
Abstract: Optimized hardware architecture of reverse scan, inverse quantization and inverse transform for AVS decoder is proposed. The design is on macroblock level and block-pipelining is used. To achieve balance and optimization of speed and area, the technology of ping-pang and registers reuse are used. The design is verified in Quartus II 8.0 and the simulation results are compared with the results of C. By being tested on the Nios II-based testbench of AVS video decoder, the module is proved to work well.
Key words : AVS video decoding;reverse scan;inverse quantization;inverse transform;Nios II


    AVS標(biāo)準(zhǔn)是我國(guó)第一個(gè)擁有自主知識(shí)產(chǎn)權(quán)的數(shù)字音視頻編解碼標(biāo)準(zhǔn),其編碼效率比國(guó)際標(biāo)準(zhǔn)MPEG-2高2~3倍,與MPEG-4/H.264相當(dāng),但算法復(fù)雜度及存儲(chǔ)要求比H.264明顯低,更便于硬件的實(shí)現(xiàn)。
    逆掃描、反量化反變換模塊在AVS視頻解碼過(guò)程中占有很重要的位置,其算法與架構(gòu)實(shí)現(xiàn)優(yōu)劣對(duì)AVS解碼器的性能有很大的影響,國(guó)內(nèi)外學(xué)者對(duì)這3個(gè)模塊進(jìn)行了研究。本文為了提高AVS解碼器的處理速度,綜合了國(guó)內(nèi)外學(xué)者的設(shè)計(jì)思想提出了一種逆掃描、反量化與反變換模塊結(jié)構(gòu),在消耗邏輯資源允許的情況下提高了處理速度,做到速度和面積的平衡。
    本文將逆掃描、反量化和反變換模塊結(jié)合在一起進(jìn)行設(shè)計(jì),在實(shí)現(xiàn)了塊內(nèi)部?jī)?yōu)化的同時(shí)采用了乒乓緩存寄存器組來(lái)實(shí)現(xiàn)塊之間流水線,提高了速度;采用寄存器組復(fù)用技術(shù)實(shí)現(xiàn)逆塊掃描中寄存器組與反變換中的轉(zhuǎn)置寄存器組的復(fù)用,節(jié)省了寄存器資源。
1 硬件結(jié)構(gòu)
    根據(jù)AVS解碼標(biāo)準(zhǔn),本文提出了一種高效簡(jiǎn)潔的逆掃描、反量化與反變換系統(tǒng)結(jié)構(gòu),該結(jié)構(gòu)主要由四部分組成。反量化模塊完成量化系數(shù)向變換系數(shù)的轉(zhuǎn)變;逆掃描與寄存器組選擇模塊根據(jù)逆掃描表完成變換系數(shù)的存儲(chǔ);寄存器組用來(lái)存儲(chǔ)變換系數(shù)及反變換中的轉(zhuǎn)置數(shù)據(jù);反變換模塊將變換系數(shù)轉(zhuǎn)換成殘差樣值,為后續(xù)的重構(gòu)做好準(zhǔn)備。硬件結(jié)構(gòu)及數(shù)據(jù)流程如圖1所示。

 

 

    其中輸入為VLD模塊解析出的(run,level)對(duì)、塊結(jié)束標(biāo)志及一些模式判別的信息。反量化模塊對(duì)Level數(shù)據(jù)進(jìn)行反量化,逆掃描與寄存器組選擇模塊采用依據(jù)輪流使用的規(guī)則產(chǎn)生寄存器組選擇信號(hào),同時(shí)對(duì)Run進(jìn)行累加,并根據(jù)累加結(jié)果查表得到需要存儲(chǔ)的寄存器,等所有量化后的Level值存儲(chǔ)完畢后,由It_start信號(hào)連續(xù)讀取8次寄存器進(jìn)入反變換模塊,反變換模塊采用內(nèi)部流水線結(jié)構(gòu)經(jīng)過(guò)22個(gè)時(shí)鐘周期處理完一個(gè)塊。反變換模塊中的轉(zhuǎn)置寄存器復(fù)用了前端的寄存器組。
    本設(shè)計(jì)通過(guò)乒乓結(jié)構(gòu)實(shí)現(xiàn)了塊與塊之間的流水。圖2是本設(shè)計(jì)的總體時(shí)序安排,圖中考慮到變換編碼后一個(gè)塊內(nèi)的有效系數(shù)一般小于25。其中以一個(gè)塊數(shù)據(jù)輸入反量化模塊作為起始時(shí)刻,當(dāng)反變化模塊讀取一個(gè)寄存器組并將其作為轉(zhuǎn)置寄存器使用時(shí),另一個(gè)寄存器組用于存儲(chǔ)下一個(gè)塊的反量化結(jié)果。如圖2,寄存器組1用來(lái)存儲(chǔ)當(dāng)前塊反量化后的變換系數(shù)值,而寄存器2被用于上一個(gè)塊的反變換中。另外,讀取轉(zhuǎn)置后的數(shù)據(jù)時(shí),通過(guò)對(duì)移位最初的寄存器賦零對(duì)寄存器2清零,從而用于下一個(gè)塊的變換系數(shù)的存儲(chǔ)。

1.1 逆掃描與寄存器組選擇模塊
    該模塊先對(duì)Run值進(jìn)行累加,并根據(jù)掃描方式查表,得到當(dāng)前Level值所對(duì)應(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ì)對(duì)寄存器清零,為下次使用做好準(zhǔn)備,所以對(duì)于變換系數(shù)為零的情況就不用單獨(dú)存儲(chǔ),從而提高了設(shè)計(jì)的處理速度。
1.2 反變換模塊
    反變換模塊是將當(dāng)前塊的變換系數(shù)矩陣轉(zhuǎn)換為殘差樣值矩陣的一個(gè)過(guò)程,為了節(jié)約硬件成本,此設(shè)計(jì)采用一維變換和轉(zhuǎn)置矩陣實(shí)現(xiàn)二維變換,參考文獻(xiàn)[2]中提出了一種快速有效的方法,本文對(duì)其方法進(jìn)行了優(yōu)化,節(jié)約了不必要的硬件資源和時(shí)鐘。
    下面主要介紹一維變換過(guò)程。
    設(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è)輸出元素展開(kāi)成以下組合,其中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è)加法器。
    反變換模塊的時(shí)序見(jiàn)圖2,第1時(shí)鐘周期進(jìn)行并行讀取數(shù)據(jù),2個(gè)時(shí)鐘周期進(jìn)行一維反變換,第4個(gè)時(shí)鐘周期開(kāi)始向轉(zhuǎn)置矩陣中存入一維反變換后的數(shù)據(jù),第12周期開(kāi)始讀取轉(zhuǎn)置矩陣中的數(shù)據(jù),第15個(gè)時(shí)鐘周期開(kāi)始輸出數(shù)據(jù),第22個(gè)時(shí)鐘周期結(jié)果輸出完畢。
1.3 寄存器組復(fù)用
    在逆塊掃描順序中,一些后續(xù)的系數(shù)可能需要在一開(kāi)始時(shí)就準(zhǔn)備好,而一些在前面次序的系數(shù)則可能在后續(xù)的時(shí)間使用,所以只有一個(gè)塊的所有數(shù)據(jù)都存儲(chǔ)完成后,才能進(jìn)行后續(xù)的反變換,故至少要對(duì)一個(gè)塊的變換系數(shù)進(jìn)行存儲(chǔ)。為了提高處理速度,后續(xù)的反變換模塊中將采用并行流水線輸入,因此存儲(chǔ)模塊此時(shí)不能采用有時(shí)序限制的RAM,本文采用了寄存器組實(shí)現(xiàn)。同時(shí)為了消除塊數(shù)據(jù)的準(zhǔn)備延時(shí),還采用了乒乓結(jié)構(gòu),即在設(shè)計(jì)中用了兩個(gè)寄存器組,這樣就可在處理當(dāng)前一個(gè)塊系數(shù)的同時(shí),用另一個(gè)寄存器組來(lái)存儲(chǔ)下一個(gè)塊反量化后的數(shù)據(jù)。
    在反變換中也需要用到轉(zhuǎn)置存儲(chǔ)。為了節(jié)省資源,本設(shè)計(jì)采用了寄存器復(fù)用技術(shù),即反變換中用到的轉(zhuǎn)置矩陣與逆掃描后用于存儲(chǔ)變換系數(shù)的矩陣復(fù)用,具體復(fù)用方法如圖3所示。

    以上為一個(gè)寄存器組,包含64個(gè)13 bit的寄存器。最后一列為反變換模塊輸入,即當(dāng)一個(gè)塊變換系數(shù)根據(jù)逆掃描順序存儲(chǔ)完后,連續(xù)8個(gè)時(shí)鐘周期讀取寄存器組最后一列,在每個(gè)時(shí)鐘周期向反變換模塊并行輸入8個(gè)13 bit的數(shù)據(jù)。第一列為轉(zhuǎn)置數(shù)據(jù)輸入端。考慮到反變換流水線及復(fù)用的問(wèn)題,在連續(xù)2個(gè)時(shí)鐘周期讀取寄存器組最后一列輸入到反變換模塊后,轉(zhuǎn)置數(shù)據(jù)開(kāi)始從第一列輸入,這樣可以滿足反變換內(nèi)部的流水線問(wèn)題,也可以達(dá)到寄存器復(fù)用的目的。第一行為轉(zhuǎn)置數(shù)據(jù)的輸出,最后一行在轉(zhuǎn)置數(shù)據(jù)輸出時(shí)賦值為零,這樣可以使轉(zhuǎn)置輸出和寄存器賦零同時(shí)進(jìn)行,從而可以減少不必要的時(shí)鐘周期和資源。
2 仿真結(jié)果及分析
    根據(jù)上述思想,采用Verilog HDL語(yǔ)言對(duì)算法進(jìn)行了RTL級(jí)電路描述,并采用Altera公司的軟件Quartus II 8.0 對(duì)此算法進(jìn)行了實(shí)現(xiàn)和仿真驗(yàn)證,并將仿真結(jié)果與rm52j軟件的輸出結(jié)果進(jìn)行了比較。Quartus II仿真結(jié)果如圖4所示,波形圖給出了一個(gè)塊的反量化和反變換輸出結(jié)果。rm52j的輸出結(jié)果如圖5所示,比較可見(jiàn)輸出結(jié)果相同。

    本設(shè)計(jì)采用的是自頂向下和自下而上的混合設(shè)計(jì)方法,逆掃描、反量化和反變換過(guò)程是AVS系統(tǒng)中的一個(gè)模塊,局部的測(cè)試很難判斷出該模塊是否可以應(yīng)用到整個(gè)解碼系統(tǒng)中去,所以此模塊亦在自己搭建的基于SoPC的AVS驗(yàn)證平臺(tái)上進(jìn)行了驗(yàn)證。加入此模塊前,軟件處理一幀碼流時(shí)間與用此硬件模塊代替軟件模塊后的解碼時(shí)間如圖6所示,通過(guò)計(jì)算可知解碼速度提高約15%。

    變換編碼后一個(gè)塊內(nèi)的有效系數(shù)一般小于25,所以逆掃描、反量化的時(shí)鐘一般小于25個(gè)時(shí)鐘周期,而反變換的時(shí)鐘周期為22個(gè),所以處理一個(gè)塊的時(shí)鐘周期大約為25個(gè),大大提高了速度。由于寄存器的復(fù)用及設(shè)計(jì)的優(yōu)化,節(jié)省了硬件資源,本設(shè)計(jì)采用的FPGA為EP2C35F672C6,資源使用情況如圖7所示,可見(jiàn)使用的總的LE為3 059個(gè)。

    本文對(duì)AVS逆掃描、反量化和反變換算法進(jìn)行了研究,并對(duì)目前其他學(xué)者在這方面取得的成果進(jìn)行分析驗(yàn)證,實(shí)際考慮了AVS解碼器整體設(shè)計(jì)的可行性,提出了一種速度更快、資源占用更少的方法。本設(shè)計(jì)為了解決RAM讀寫(xiě)時(shí)序限制的影響,采用了兩組寄存器陣列代替RAM實(shí)現(xiàn)乒乓操作,同時(shí)為了減少硬件資源,采用寄存器組復(fù)用技術(shù),即反變換中的轉(zhuǎn)置矩陣與逆掃描后存儲(chǔ)寄存器組復(fù)用。最后給出了波形仿真結(jié)果,并與rm52j的輸出結(jié)果比較,驗(yàn)證了結(jié)果的正確性。通過(guò)在基于Nios II的SoPC系統(tǒng)上進(jìn)行測(cè)試,證明該設(shè)計(jì)能夠正確快速實(shí)現(xiàn)逆掃描、反量化及反變換功能。
參考文獻(xiàn)
[1] GB/T 20090.2006.信息技術(shù) 先進(jìn)音視頻編碼2部分:視頻[S].2006.
[2] 張璐,劉佩林.基于FPGA的AVS反變換的設(shè)計(jì)與實(shí)現(xiàn)[J]. 電視技術(shù),2006(7):20-23.
[3] 毛訊.高速視頻解碼器設(shè)計(jì)研究[D].杭州:浙江大學(xué),2001.
[4] 趙策,劉佩.AVS游程解碼、反掃描、反量化和反變換優(yōu)化設(shè)計(jì)[J].信息技術(shù),2007(2):54-57.
[5] 黃友文,陳詠恩.AVS反掃描、反量化和反變換模塊的一種優(yōu)化設(shè)計(jì)[J].計(jì)算機(jī)工程與應(yīng)用,2008,44(19):93.
[6] H.264及AVS視頻解碼器中 IQ/IDCT的設(shè)計(jì)與實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,2006,32(7):39-42.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
欧美在线国产| 亚洲一区亚洲| 亚洲亚洲精品在线观看| 亚洲麻豆一区| 亚洲精品中文在线| 亚洲精品久久久久久下一站 | 91久久精品国产91久久| 精品999网站| 激情综合自拍| 在线观看视频免费一区二区三区| 国内精品视频在线观看| 激情综合电影网| 精久久久久久| 在线日韩日本国产亚洲| 在线看视频不卡| 91久久久久久久久久久久久| 亚洲国产片色| 日韩午夜在线| 亚洲一级特黄| 欧美一区二区三区免费视频| 欧美一区网站| 亚洲国产精品第一区二区| 亚洲高清视频在线观看| 亚洲高清在线观看一区| 亚洲精品乱码久久久久久日本蜜臀 | 性色一区二区三区| 久久av一区二区三区| 亚洲电影免费在线| 亚洲欧洲精品一区二区| 99精品国产高清一区二区| 亚洲一级片在线看| 亚洲欧美一区在线| 久久久99免费视频| 女女同性女同一区二区三区91| 欧美成人伊人久久综合网| 欧美日韩日韩| 国产精品人人做人人爽人人添| 国产婷婷精品| 亚洲国产精品成人精品| 在线亚洲国产精品网站| 亚洲欧美在线高清| 亚洲人妖在线| 亚洲婷婷免费| 久久久久久久网站| 欧美精品尤物在线| 国产精品一卡| 亚洲国产三级| 亚洲女人天堂成人av在线| 亚洲福利免费| 亚洲在线播放电影| 久久综合九色99| 欧美日韩一区二区高清| 国产一区二区无遮挡| 亚洲老板91色精品久久| 亚洲尤物影院| 亚洲精品免费一二三区| 亚洲欧美日韩精品一区二区| 久久在线免费视频| 欧美日韩一区高清| 韩国欧美一区| 一区二区三区你懂的| 久久精品视频在线播放| 制服丝袜亚洲播放| 久久视频在线看| 欧美视频手机在线| 在线观看亚洲| 亚洲自拍偷拍网址| 亚洲精品乱码| 久久精品人人| 国产精品v欧美精品v日本精品动漫| 国内综合精品午夜久久资源| 日韩一级在线观看| 亚洲国产精品成人综合色在线婷婷| 亚洲一区在线播放| 欧美mv日韩mv国产网站| 国产乱码精品一区二区三区不卡| 亚洲人成在线播放| 亚洲电影天堂av| 午夜在线观看欧美| 欧美日韩国产精品成人| 狠狠色丁香婷综合久久| 亚洲午夜精品网| 一区二区激情小说| 蜜臀av一级做a爰片久久| 国产精品美女久久久久aⅴ国产馆| 亚洲国产视频a| 久久精品国产一区二区三| 午夜精品久久久久久久99樱桃| 欧美精品 日韩| 伊人成人在线| 亚洲欧美三级伦理| 亚洲一区视频在线观看视频| 欧美精品一区二区三区一线天视频| 国产亚洲精品综合一区91| 中文久久乱码一区二区| 99re热精品| 欧美成人免费大片| 樱桃视频在线观看一区| 欧美一区二区视频97| 欧美亚洲自偷自偷| 国产精品国产三级国产aⅴ浪潮| 亚洲人体大胆视频| 亚洲精品国偷自产在线99热| 久久婷婷国产麻豆91天堂| 国产欧美在线观看一区| 亚洲综合日韩| 亚洲尤物影院| 国产精品国产三级欧美二区| 日韩午夜在线| 一区二区欧美日韩| 欧美欧美在线| 亚洲欧洲一区二区天堂久久| 亚洲国产欧美另类丝袜| 久久久亚洲午夜电影| 国产日韩欧美在线播放不卡| 亚洲制服丝袜在线| 亚洲欧美日韩在线一区| 欧美日韩另类丝袜其他| 日韩亚洲欧美成人一区| 在线视频中文亚洲| 欧美日韩国产一级片| 亚洲精品一级| 一区二区三区三区在线| 欧美日韩伊人| 亚洲深夜福利在线| 午夜在线观看免费一区| 国产日韩欧美一区二区| 欧美一区二区播放| 久久九九热re6这里有精品| 国产自产女人91一区在线观看| 久久国产精品99精品国产| 老司机免费视频一区二区| 怡红院精品视频| 日韩视频在线一区| 欧美日韩在线视频一区二区| 国产精品99久久久久久久女警| 午夜影院日韩| 黄色成人在线免费| 亚洲欧洲综合另类在线| 欧美日韩国产精品一卡| 中文有码久久| 久久久国产亚洲精品| 亚洲福利视频三区| 亚洲天堂av高清| 国产伦精品一区二区三区视频孕妇 | 午夜在线观看免费一区| 久久久久国产精品www| 激情成人中文字幕| 99国产麻豆精品| 欧美性一二三区| 亚洲在线不卡| 久久婷婷亚洲| 亚洲美女91| 久久不射电影网| 亚洲国产欧美日韩| 亚洲一区三区在线观看| 国产午夜精品在线观看| 亚洲欧洲精品成人久久奇米网| 欧美深夜影院| 欧美一区视频| 欧美日韩国产精品专区| 亚洲摸下面视频| 牛牛影视久久网| 中文久久精品| 猫咪成人在线观看| 一本久久a久久免费精品不卡 | 欧美主播一区二区三区美女 久久精品人 | 男人的天堂成人在线| 亚洲视频久久| 久久亚洲一区二区| 一区二区三区**美女毛片| 久久精品视频免费播放| 亚洲茄子视频| 久久精品一区中文字幕| 亚洲精品一区二区三区四区高清| 欧美有码在线视频| 亚洲精品免费电影| 久久精品久久综合| av成人天堂| 久久久久久亚洲精品中文字幕| 亚洲精品社区| 麻豆精品国产91久久久久久| 亚洲一级在线观看| 欧美激情网站在线观看| 欧美一区二区三区视频在线观看 | 中文精品一区二区三区| 美女在线一区二区| 亚洲欧美日韩在线一区| 欧美伦理在线观看| 久久国产精品色婷婷| 国产精品区免费视频| 日韩视频免费| 极品av少妇一区二区| 亚洲欧美影院| 99riav国产精品| 欧美国产视频一区二区| 久久精品91久久香蕉加勒比| 国产精品一区久久| 一区二区三区日韩欧美精品| 在线成人h网|