《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > AVS全I(xiàn)幀視頻編碼器的FPGA實(shí)時(shí)實(shí)現(xiàn)
AVS全I(xiàn)幀視頻編碼器的FPGA實(shí)時(shí)實(shí)現(xiàn)
來(lái)源:電子技術(shù)應(yīng)用2012年第9期
趙慧榮,張 剛
太原理工大學(xué) 信息工程學(xué)院,山西 太原030024
摘要: AVS視頻編碼標(biāo)準(zhǔn)是我國(guó)自主知識(shí)產(chǎn)權(quán)的信源編碼標(biāo)準(zhǔn)。完成了AVS視頻編碼器在FPGA平臺(tái)上的設(shè)計(jì)與實(shí)現(xiàn)。考慮硬件平臺(tái)的結(jié)構(gòu)特點(diǎn),采用可重用設(shè)計(jì)和流水線設(shè)計(jì)對(duì)編碼器進(jìn)行優(yōu)化,保證了流水線的高效運(yùn)行以及硬件資源的最優(yōu)利用。通過(guò)ISE軟件仿真和Xilinx公司Vritex-4 pro平臺(tái)驗(yàn)證,最高工作頻率可達(dá)110 MHz,滿足CIF分辨率下I幀在FPGA硬件平臺(tái)的實(shí)時(shí)編碼要求。
關(guān)鍵詞: AVS 編碼器 FPGA
中圖分類號(hào): TN919.8
文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2012)09-0039-03
Real-time implementation of AVS I frame video encoder on FPGA
Zhao Huirong,Zhang Gang
College of Information Engineering, Taiyuan University of Technology Taiyuan, Taiyuan 030024,China
Abstract: AVS video coding standard is the source coding standards with independent intellectual property rights of our country. A video encoder in FPGA platform is designed and at last implemented. Considering the structure characteristics of hardware platform, this paper comes up with the reusable design and production line design to optimize the encoder, ensure efficient operation of the assembly line and the optimal use of hardware resources. Through the ISE software simulation and Xilinx company′s Vritex-II pro platform verification, the highest working frequency can be up to 110 MHz, meeting the real-time code requirements of the CIF resolution I frame in FPGA hardware platform.
Key words : AVS;encoder;FPGA

    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控制器寫入到外部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)和寫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)編碼后的碼流前面加上寫入的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è)模式給寫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ù)。

    在進(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所示。

 


    本文完成了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)具有開發(fā)
成本低、性能和靈活性高、更新方便等特點(diǎn)。
參考文獻(xiàn)
[1] 畢厚杰.視頻壓縮編碼標(biāo)準(zhǔn):H_264/AVC[M].北京:人民郵電出版社,2005.
[2] 王道憲.CPLD/FPGA可編程邏輯器件應(yīng)用與開發(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.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
主站蜘蛛池模板: 99视频免费 | 成人免费观看黄a大片夜月 成人免费观看www视频 | 女人色极影院 | 国产丝袜第一页 | 亚洲成a人在线播放www | 五月天精品视频播放在线观看 | 福利网站在线观看 | 久中文字幕中文字幕亚洲无线 | 免费黄在线观看 | 人人干人人草 | 浪潮a二三区 | www.网站黄网站 | 日韩中文字幕网 | 综合免费视频 | 一级全免费视频播放 | 国产精品久久久久久永久牛牛 | 看全色黄大色黄女片做 | 成人永久福利在线观看不卡 | 在线不卡一区 | 亚洲人成在线观看一区二区 | 亚洲成人婷婷 | 欧美成人看片黄a免费看 | 欧美日韩综合视频 | 午夜视频在线免费播放 | 九九色视频 | 欧美一级视| 一级做a爱片特黄在线观看免费看 | 日韩精品免费看 | 久色视频在线 | 日本不卡免费高清一级视频 | 欧美成人精品一区二三区在线观看 | 天天摸天天碰色综合网 | 日韩精品免费一区二区三区 | 精品日韩视频 | 国产亚洲日本人在线观看 | 一级特黄国产高清毛片97看片 | 色站网 | 日韩一区二区三区中文字幕 | 最近更新中文字幕影视 | 久久久噜久噜久久综合 | 黄色大片视频网站 |