999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

AVS全I(xiàn)幀視頻編碼器的FPGA實(shí)時(shí)實(shí)現(xiàn)*

2012-03-16 05:28:34趙慧榮
電子技術(shù)應(yīng)用 2012年9期
關(guān)鍵詞:系統(tǒng)設(shè)計(jì)

趙慧榮,張 剛

(太原理工大學(xué) 信息工程學(xué)院,山西 太原030024)

AVS作為新一代音視頻編碼標(biāo)準(zhǔn)[1],2006年正式被批準(zhǔn)為國(guó)家標(biāo)準(zhǔn)。AVS視頻編碼標(biāo)準(zhǔn)兼顧了性能與實(shí)現(xiàn)復(fù)雜度之間的矛盾,代表了國(guó)際先進(jìn)水平。目前AVS解碼器和解碼芯片已經(jīng)有了比較成熟的發(fā)展,但AVS編碼器仍處于研究階段,市場(chǎng)還未產(chǎn)業(yè)化。FPGA平臺(tái)擁有豐富的寄存器資源和邏輯資源,其并行執(zhí)行的硬件實(shí)現(xiàn)方式可以滿足大量的高速電子線路設(shè)計(jì)需求,能實(shí)現(xiàn)復(fù)雜的數(shù)字視頻信號(hào)處理,是硬件實(shí)現(xiàn)的最佳選擇之一。

本文對(duì)AVS編碼I幀算法進(jìn)行深入研究,根據(jù)FPGA硬件特點(diǎn)[2],實(shí)現(xiàn)了AVS的全I(xiàn)幀實(shí)時(shí)編碼。以宏塊為單元,考慮到占用資源和運(yùn)行速度兩方面的限制,采用適當(dāng)?shù)膹?fù)用技術(shù)和流水線技術(shù)對(duì)系統(tǒng)進(jìn)行了優(yōu)化,保證了流水線的高效運(yùn)行以及硬件資源的最優(yōu)利用。

1 系統(tǒng)設(shè)計(jì)

本設(shè)計(jì)基于FPGA平臺(tái)完成CIF分辨率圖像的實(shí)時(shí)采集、AVS全I(xiàn)幀壓縮編碼和網(wǎng)絡(luò)傳輸,主要由視頻采集系統(tǒng)、數(shù)據(jù)調(diào)度系統(tǒng)、I幀編碼系統(tǒng)和以太網(wǎng)傳輸系統(tǒng)構(gòu)成,其實(shí)現(xiàn)框圖如圖1所示。

視頻采集系統(tǒng)主要完成將復(fù)合視頻解碼成YUV(4:2:0)數(shù)字視頻,為AVS全I(xiàn)幀編碼準(zhǔn)備好視頻數(shù)據(jù)。

數(shù)據(jù)調(diào)度系統(tǒng)主要完成向I幀編碼系統(tǒng)提供原始數(shù)據(jù),同時(shí)將編碼后的碼流傳輸?shù)揭蕴W(wǎng)傳輸系統(tǒng)。視頻數(shù)據(jù)吞吐量大、帶寬高,涉及到低速存儲(chǔ)器(如DDR)和高速存儲(chǔ)器(如FPGA內(nèi)部RAM)之間大量的數(shù)據(jù)交換,成功的數(shù)據(jù)調(diào)度策略是實(shí)現(xiàn)實(shí)時(shí)編碼的關(guān)鍵技術(shù)之一。

I幀編碼系統(tǒng)主要完成 AVS視頻I幀實(shí)時(shí)編碼,整個(gè)系統(tǒng)使用硬件描述語(yǔ)言獨(dú)立設(shè)計(jì)完成。

以太網(wǎng)傳輸系統(tǒng)主要完成對(duì)AVS碼流的打包,并將其傳輸?shù)絇C機(jī)。本系統(tǒng)包含實(shí)驗(yàn)室設(shè)計(jì)的以太網(wǎng)控制器IP核和網(wǎng)絡(luò)傳輸協(xié)議IP核。

PC機(jī)上的AVS播放器采用DirectShow架構(gòu),基于本實(shí)驗(yàn)室完成的AVS解碼器設(shè)計(jì)了AVS實(shí)時(shí)播放器,用來(lái)驗(yàn)證AVS編碼系統(tǒng)的實(shí)時(shí)編碼能力。

2 數(shù)據(jù)采集與數(shù)據(jù)交換

前端視頻采集模塊采用TVP5150PBS視頻解碼器將輸入的PAL視頻信號(hào)轉(zhuǎn)換成數(shù)字YUV(4:2:0)信號(hào),輸出格式為ITU-R BT.656。

系統(tǒng)上電后,F(xiàn)PGA通過(guò)IIC總線對(duì)TVP5150解碼器進(jìn)行初始化配置;接通復(fù)合視頻信號(hào)后,TVP5150即可正確輸出8 bit數(shù)字YUV視頻信號(hào)至FPGA。由于接收的視頻信號(hào)為ITU565格式,視頻信息僅由8 bit視頻信號(hào)組成,沒(méi)有獨(dú)立的行、場(chǎng)同步信息,所以,F(xiàn)PGA需要從接收的8 bit視頻信號(hào)中提取行場(chǎng)同步信號(hào),并將相鄰8 bit數(shù)據(jù)(亮度、色差信號(hào))轉(zhuǎn)換成16 bit視頻信號(hào)。

轉(zhuǎn)換后的16 bit視頻信號(hào)經(jīng)DDR SDRAM控制器寫(xiě)入到外部DDR SDRAM存儲(chǔ)器中,系統(tǒng)采用的DDR SDRAM存儲(chǔ)器容量為 16 M×16 bit,利用迸發(fā)模式,將接收的一行視頻信號(hào)存儲(chǔ)到DDR SDRM的一行,則一幀視頻信號(hào)可存儲(chǔ)在DDR SDRAM的一個(gè)Bank空間。

3 I幀編碼系統(tǒng)整體設(shè)計(jì)

根據(jù)AVS I幀編碼算法的特點(diǎn),將I幀編碼系統(tǒng)的整體設(shè)計(jì)[3]分為幀內(nèi)預(yù)測(cè)模塊、變換量化模塊和熵編碼模塊,再加上殘差、重構(gòu)和寫(xiě)CBP等一些外圍電路,即可實(shí)現(xiàn)AVS全I(xiàn)幀的編碼。整體設(shè)計(jì)框圖如圖2所示。

幀內(nèi)預(yù)測(cè)模塊主要完成從鄰近宏塊的重構(gòu)數(shù)據(jù)中獲取用于當(dāng)前宏塊預(yù)測(cè)的參考數(shù)據(jù),并完成對(duì)8×8塊的預(yù)測(cè),得到預(yù)測(cè)數(shù)據(jù)和預(yù)測(cè)模式。

變換量化模塊主要完成DCT變換、量化、反量化和反DCT變換。輸出的量化數(shù)據(jù)經(jīng)過(guò)Z掃描后進(jìn)行熵編碼,輸出編碼碼流;反DCT變換后的數(shù)據(jù)與預(yù)測(cè)數(shù)據(jù)相加,得到子宏塊的重構(gòu)數(shù)據(jù),重構(gòu)數(shù)據(jù)反饋給幀內(nèi)預(yù)測(cè)模塊進(jìn)行下一個(gè)子宏塊的預(yù)測(cè)。

熵編碼模塊主要完成Z掃描和變長(zhǎng)編碼。對(duì)掃描后的數(shù)據(jù)進(jìn)行全零判斷,得到該宏塊的CBP值。變長(zhǎng)編碼后的碼流前面加上寫(xiě)入的CBP信息,組成一個(gè)宏塊的編碼碼流,編碼碼流8 bit對(duì)齊放到RAM中。

4 I幀編碼模塊設(shè)計(jì)

對(duì)AVS全I(xiàn)幀編碼設(shè)計(jì)時(shí),需充分考慮FPGA硬件平臺(tái)的特點(diǎn),整個(gè)系統(tǒng)使用硬件描述語(yǔ)言獨(dú)立設(shè)計(jì)完成。

4.1 幀內(nèi)預(yù)測(cè)模塊

幀內(nèi)預(yù)測(cè)模塊[4]以宏塊為單元,主要包括參考樣本獲取和預(yù)測(cè)兩部分。首先在預(yù)測(cè)前要從鄰近宏塊中獲取進(jìn)行16×16宏塊預(yù)測(cè)時(shí)所需要的上面25個(gè)數(shù)據(jù)和前一個(gè)宏塊重構(gòu)的最右列16個(gè)數(shù)據(jù)。子宏塊的預(yù)測(cè)數(shù)據(jù)經(jīng)變換量化模塊后,從重構(gòu)數(shù)據(jù)中提取下一個(gè)子宏塊預(yù)測(cè)所需的邊界數(shù)據(jù)。輸出的預(yù)測(cè)數(shù)據(jù)與子宏塊編碼前原始數(shù)據(jù)相減,得到的殘差數(shù)據(jù)給變換量化模塊。輸出最佳預(yù)測(cè)模式給寫(xiě)CBP模塊。

算法采用多種預(yù)測(cè)模式并行執(zhí)行,一個(gè)時(shí)鐘預(yù)測(cè)一個(gè)像素,并對(duì)預(yù)測(cè)完的一個(gè)像素計(jì)算一次絕對(duì)值差,每次時(shí)鐘都會(huì)將SAD累加,64個(gè)時(shí)鐘就能將預(yù)測(cè)和計(jì)算SAD同時(shí)完成。所有可用預(yù)測(cè)模式并行完成后,進(jìn)行模式判決模塊,比較所有模式下SAD的最小值,選出最佳預(yù)測(cè)模式并輸出對(duì)應(yīng)的預(yù)測(cè)數(shù)據(jù)。本算法共享公共運(yùn)算單元和多級(jí)流水線操作,資源利用率高,并且兼顧了處理速度和實(shí)現(xiàn)代價(jià)。

用ModelSim進(jìn)行仿真的結(jié)果如圖3所示,信號(hào)sum_v、sum_h、sum_dc、sum_dc_left、sum_dc_top、sum_ddl、sum_ddr和sum_p是各種模式下計(jì)算的代價(jià)值SAD,通過(guò)比較大小,得出最佳的預(yù)測(cè)模式(logout)和預(yù)測(cè)數(shù)據(jù)(dataout_intra)。

4.2 變換量化模塊

該模塊主要包括DCT變換、量化、反量化和反DCT變換[5]4個(gè)部分。DCT變換采用蝶形算法,每次處理8×8的一行數(shù)據(jù),節(jié)省了大量的運(yùn)算時(shí)間,且大量的乘法用移位和加法代替。量化中涉及查表運(yùn)算,表格存放在ROM中,通過(guò)地址即可得到所需數(shù)據(jù)。殘差數(shù)據(jù)經(jīng)DCT變換、量化后,量化系數(shù)傳給熵編碼模塊;同時(shí)將量化后的數(shù)據(jù)再進(jìn)行反量化和反DCT變換,得到8×8子宏塊的重構(gòu)數(shù)據(jù),重構(gòu)的數(shù)據(jù)反饋給幀內(nèi)預(yù)測(cè)模塊,進(jìn)行下一個(gè)8×8子宏塊的預(yù)測(cè)。

由于亮度和色度算法相同,因此該模塊可以共享,減少了資源的利用。變換量化模塊涉及大量的運(yùn)算,是最耗時(shí)的模塊,為了提高處理速度,算法使用了適當(dāng)?shù)牟⑿胁僮鳎瑢⒘炕c反量化、反DCT變換并行執(zhí)行;同時(shí)把數(shù)據(jù)位數(shù)擴(kuò)展,可同時(shí)對(duì)8×8矩陣的一行數(shù)據(jù)賦值,從而節(jié)省了讀取數(shù)據(jù)占用的時(shí)間,并且提高了數(shù)據(jù)的利用率。

用ModelSim進(jìn)行仿真的結(jié)果如圖4所示,設(shè)定qp為36的情況下,n0_o的輸出為量化數(shù)據(jù)。

4.3 熵編碼模塊

該模塊主要完成對(duì)數(shù)據(jù)的zig-zag掃描、游程編碼、碼表查詢、碼表切換、哥倫布編碼和最終的碼流輸出[6]。首先對(duì)量化數(shù)據(jù)進(jìn)行掃描,若掃描后數(shù)據(jù)非全0,則對(duì)數(shù)據(jù)進(jìn)行游程編碼、指數(shù)哥倫布編碼,并輸出編碼后碼流;若掃描后數(shù)據(jù)全0,則終止該子宏塊的熵編碼,等待下一組子宏塊量化數(shù)據(jù)的輸入。

對(duì)(level,run)編碼時(shí),碼字長(zhǎng)度是不確定的,而輸出的碼流要8位對(duì)齊,需要根據(jù)前一個(gè)碼字的輸出和相應(yīng)的碼長(zhǎng)剩余信號(hào)對(duì)碼字進(jìn)行組合,以得到最終的碼流。設(shè)置一個(gè)變量w作為碼字輸出的緩存,t是w中碼字的長(zhǎng)度。每當(dāng)t≥8時(shí),輸出碼流,同時(shí)t減去8;否則繼續(xù)讀入下一個(gè)已編碼的碼字(code_num)和碼字長(zhǎng)度(numbits)。狀態(tài)機(jī)實(shí)現(xiàn)如圖5所示。

在進(jìn)行熵編碼模塊的設(shè)計(jì)時(shí),算法采用一種較少存儲(chǔ)空間來(lái)存儲(chǔ)碼表的方法,并將碼表查詢、碼表優(yōu)化和指數(shù)哥倫布編碼合并為一個(gè)流水線單元并行處理,節(jié)省了存儲(chǔ)中間結(jié)果所需的大量存儲(chǔ)空間;將熵編碼各任務(wù)并行執(zhí)行,加快了處理速度。

用ModelSim進(jìn)行仿真的結(jié)果如圖6所示,狀態(tài)機(jī)在4、5、6循環(huán)判斷,并在 6狀態(tài)時(shí)輸出子宏塊編碼碼流(dataout)。

5 仿真與驗(yàn)證

本設(shè)計(jì)使用VHDL硬件描述語(yǔ)言進(jìn)行設(shè)計(jì)實(shí)現(xiàn),采用Xilinx ISE進(jìn)行綜合驗(yàn)證、ModelSim 6.2b進(jìn)行仿真,器件選用Xilinx公司的xc4vsx25-10ff668,最高工作頻率達(dá)到110 MHz,綜合后的資源利用情況如圖7所示。

利用編解碼軟件截取I幀第一個(gè)宏塊數(shù)據(jù)作為參考數(shù)據(jù)輸入,在 qp為 36的情況下,圖 8(a)中內(nèi)存 2從地址0x00980067開(kāi)始為編解碼軟件輸出的宏塊編碼碼流;圖8(b)為經(jīng)ModelSim.6.2b仿真的結(jié)果,宏塊編碼后的碼流從datain_u5_top_o輸出。從圖中數(shù)據(jù)可以看出,輸出結(jié)果一致,說(shuō)明本設(shè)計(jì)完全符合算法要求。

本文完成了AVS全I(xiàn)幀編碼器在FPGA平臺(tái)上的設(shè)計(jì)與實(shí)現(xiàn)。經(jīng)仿真與驗(yàn)證,能達(dá)到CIF分辨率下視頻圖像的實(shí)時(shí)編碼。與同類設(shè)計(jì)相比,本設(shè)計(jì)采用適當(dāng)?shù)膹?fù)用技術(shù)和流水線技術(shù)對(duì)系統(tǒng)進(jìn)行了優(yōu)化,保證了流水線的高效運(yùn)行以及硬件資源的最優(yōu)利用,且系統(tǒng)具有開(kāi)發(fā)成本低、性能和靈活性高、更新方便等特點(diǎn)。

[1]畢厚杰.視頻壓縮編碼標(biāo)準(zhǔn):H_264/AVC[M].北京:人民郵電出版社,2005.

[2]王道憲.CPLD/FPGA可編程邏輯器件應(yīng)用與開(kāi)發(fā)[M].北京:國(guó)防工業(yè)出版社,2004.

[3]胡倩,張珂,虞露.AVS視頻解碼器的一種結(jié)構(gòu)設(shè)計(jì)與硬件實(shí)現(xiàn)[J].浙江大學(xué)學(xué)報(bào)(工學(xué)版),2006,40(12):2139-2143.

[4]Liu Min,Wei Zhiqiang.A fast mode decision algorithm for intra prediction in AVS-M video coding[C].Proceedings of the 2007 International Conference on Wavelet Analysis and Pattern Recognition,ICWAPR 07,2008:326-331.

[5]黃友文,陳詠恩.AVS反掃描、反量化和反變換模塊的一種優(yōu)化設(shè)計(jì)[J].計(jì)算機(jī)工程與應(yīng)用,2008,44(19):93-95.

[6]劉群鑫.AVS中可變長(zhǎng)解碼器的硬件設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2007,30(23):185-187,194.

猜你喜歡
系統(tǒng)設(shè)計(jì)
Smartflower POP 一體式光伏系統(tǒng)
WJ-700無(wú)人機(jī)系統(tǒng)
ZC系列無(wú)人機(jī)遙感系統(tǒng)
何為設(shè)計(jì)的守護(hù)之道?
《豐收的喜悅展示設(shè)計(jì)》
流行色(2020年1期)2020-04-28 11:16:38
基于PowerPC+FPGA顯示系統(tǒng)
半沸制皂系統(tǒng)(下)
瞞天過(guò)海——仿生設(shè)計(jì)萌到家
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
設(shè)計(jì)秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
主站蜘蛛池模板: 国产sm重味一区二区三区| 丁香五月激情图片| 青青网在线国产| 亚洲免费黄色网| 亚洲一区色| 中文无码影院| 国产美女在线观看| 四虎影视8848永久精品| 成年人福利视频| 亚洲精品无码日韩国产不卡| 国产福利微拍精品一区二区| 香蕉色综合| 久草网视频在线| 亚洲专区一区二区在线观看| 手机在线国产精品| 精品91自产拍在线| 亚洲精品天堂自在久久77| 欧美一区中文字幕| 国产色婷婷| 美女免费精品高清毛片在线视| 欧美亚洲第一页| 国产福利影院在线观看| 午夜丁香婷婷| 久久综合色88| 久久人搡人人玩人妻精品| 亚洲国产清纯| 久久美女精品国产精品亚洲| 亚洲水蜜桃久久综合网站| 精品免费在线视频| 国产成人欧美| 国产女主播一区| 国模在线视频一区二区三区| 国产精品性| AV不卡在线永久免费观看 | 久久鸭综合久久国产| 99精品国产高清一区二区| 成人免费黄色小视频| 青青热久麻豆精品视频在线观看| 成年网址网站在线观看| 青草精品视频| 国产福利大秀91| 欧亚日韩Av| 欧美性久久久久| 国产精品太粉嫩高中在线观看| 91精品久久久久久无码人妻| 亚洲成人高清在线观看| 精品视频一区二区三区在线播| 日韩在线中文| 国产熟睡乱子伦视频网站| 亚洲视频免费在线| 波多野结衣一区二区三视频 | 色噜噜狠狠狠综合曰曰曰| 手机成人午夜在线视频| 熟女日韩精品2区| 好久久免费视频高清| 欧美成人一级| 老熟妇喷水一区二区三区| 91蜜芽尤物福利在线观看| 国产在线观看一区精品| 亚洲国产精品日韩专区AV| 囯产av无码片毛片一级| 日本中文字幕久久网站| 在线免费无码视频| 干中文字幕| 亚洲国产一成久久精品国产成人综合| 欧美性猛交一区二区三区| 一本久道久久综合多人| 老司国产精品视频91| 亚洲欧美精品一中文字幕| 91麻豆国产视频| 国产无码高清视频不卡| 中文字幕人妻av一区二区| 嫩草国产在线| 91免费片| 国产情精品嫩草影院88av| 亚洲乱码在线播放| 久久综合久久鬼| 91精品久久久久久无码人妻| 亚洲小视频网站| 亚洲AV色香蕉一区二区| 亚洲av色吊丝无码| 亚洲无码精彩视频在线观看|