亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        FPGA實(shí)現(xiàn)AVS編碼器P幀全過(guò)程

        2014-11-20 08:19:04王永霞
        電視技術(shù) 2014年7期
        關(guān)鍵詞:編碼器殘差編碼

        王永霞,劉 博,張 剛

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

        AVS是我國(guó)自主知識(shí)產(chǎn)權(quán)的第二代數(shù)字音視頻信源標(biāo)準(zhǔn),在2006年2月確定為國(guó)家標(biāo)準(zhǔn)并開(kāi)始實(shí)施。它的編碼效率與H.264相當(dāng),算法復(fù)雜度和硬件實(shí)現(xiàn)成本比H.264低。尤其是在碼率和PSNR相當(dāng)?shù)那闆r下,AVS的編碼速度比H.264高[1]。AVS視頻編碼標(biāo)準(zhǔn)采用一系列新技術(shù)去除數(shù)據(jù)傳輸和存儲(chǔ)冗余,因此AVS視頻編碼過(guò)程包含幀內(nèi)預(yù)測(cè)、幀間預(yù)測(cè)、DCT變換、和熵編碼[2]等。其中,幀間預(yù)測(cè)中利用運(yùn)動(dòng)矢量來(lái)消除圖像間的冗余;幀內(nèi)預(yù)測(cè)中采用臨近宏塊相關(guān)性來(lái)消除圖像內(nèi)部的空間冗余;再通過(guò)對(duì)預(yù)測(cè)殘差進(jìn)行DCT變換和量化消除視覺(jué)冗余,最后利用熵編碼有效減小編碼冗余[3]。

        由于AVS標(biāo)準(zhǔn)提出的時(shí)間較晚,所以FPGA實(shí)現(xiàn)的實(shí)例較少。由于FPGA具有集成度高和系統(tǒng)結(jié)構(gòu)靈活的特點(diǎn)[4],本文設(shè)計(jì)選擇FPGA為平臺(tái),在其上實(shí)現(xiàn)了AVS編碼器的P幀部分。

        1 AVS編碼器原理

        完整的AVS編碼器框圖如圖1所示,AVS編碼幀分為3種:幀內(nèi)預(yù)測(cè)幀(I幀)、前向幀間預(yù)測(cè)幀(P幀)和雙向幀間預(yù)測(cè)幀(B幀)。下面介紹AVS編碼原理[5]。

        圖1 AVS編碼器框圖

        預(yù)測(cè)值是由前面已編碼的參考圖像經(jīng)運(yùn)動(dòng)補(bǔ)償后獲得。為了提高預(yù)測(cè)精度和壓縮比,實(shí)際的參考圖像可從已重建并濾波的幀中選擇,再與當(dāng)前塊相減產(chǎn)生1個(gè)殘差塊,殘差塊經(jīng)整數(shù)變換(DCT)和量化[6](Quant)后產(chǎn)生一組系數(shù),將這些系數(shù)熵編碼(CAVLC),并與解碼所需的一些頭信息整合組成1個(gè)壓縮后的比特流,經(jīng)NAL(網(wǎng)絡(luò)自適應(yīng)層)傳輸和存儲(chǔ)。為提供進(jìn)一步預(yù)測(cè)所用的傳輸參考圖像,利用編碼器具有重建圖像的功能,將殘差圖像經(jīng)反量化(DE-QUANT)和反整數(shù)變換(IDCT)[7]得到新的殘差塊,將其與預(yù)測(cè)值相加,在本地得到一幀新的圖像,經(jīng)濾波后所得重建圖像作為后續(xù)編碼參考圖像[8]。

        2 P幀編碼器整體設(shè)計(jì)

        根據(jù)AVS編碼器編碼算法的特點(diǎn),P幀編碼器包括MV預(yù)測(cè)模塊、運(yùn)動(dòng)估計(jì)模塊、變換量化模塊和熵編碼模塊,再加上重構(gòu)、殘差和CBP頭文件等一些外圍電路構(gòu)成。具體實(shí)現(xiàn)框圖如圖2所示。

        圖2 整體設(shè)計(jì)原理框圖

        MV預(yù)測(cè)模塊:當(dāng)前編碼塊由臨近已編碼塊的MV預(yù)測(cè)而得到MVp。

        運(yùn)動(dòng)估計(jì)模塊:由于運(yùn)動(dòng)圖像臨近幀之間存在相關(guān)性,所以將運(yùn)動(dòng)圖像分割成若干宏塊,并經(jīng)運(yùn)動(dòng)搜索得出當(dāng)前編碼塊的最佳匹配塊在參考幀中的位置,根據(jù)其準(zhǔn)確位置即可得到空間相對(duì)偏移矢量MV。

        變換量化模塊:反量化、反DCT變換所得數(shù)據(jù)與參考?jí)K相加得重建幀。

        編碼模塊:主要包括DCT變換和反DCT變換、量化和反量化、ZIG-ZAG掃描和CAVLC熵編碼。DCT變換、量化后所得數(shù)據(jù)經(jīng)ZIG-ZAG掃描后傳送給熵編碼,作為CAVLC熵編碼的輸入數(shù)據(jù),CAVLC熵編碼形成的碼流前加入CBP頭文件,得到最終壓縮后的比特流8位對(duì)齊存入RAM中。

        3 模塊設(shè)計(jì)

        依據(jù)FPGA硬件平臺(tái)的特點(diǎn),采用硬件描述語(yǔ)言VHD語(yǔ)言設(shè)計(jì)。本設(shè)計(jì)的核心模塊是MV預(yù)測(cè)模塊、運(yùn)動(dòng)估計(jì)模塊和編碼模塊。下面以P幀任一宏塊為例介紹各個(gè)模塊的功能和作用。

        3.1 MV 預(yù)測(cè)

        該模塊主要完成MVP_x和MVP_y的獲取。實(shí)現(xiàn)過(guò)程分4個(gè)狀態(tài)完成,分別是空閑、接收、計(jì)算和傳輸,如圖3所示。

        圖3 MV預(yù)測(cè)狀態(tài)轉(zhuǎn)移圖

        Stidle是空閑狀態(tài);Streceive是數(shù)據(jù)接收狀態(tài),加載左邊塊、上邊塊和右上邊塊這3個(gè)相鄰參考?jí)K,分別用i_refa,i_refb,i_refc表示,及其相應(yīng)運(yùn)動(dòng)矢量為 mva_x、mva_y,mvb_x、mvb_y,mvc_x、mvc_y;Stcalculate 是計(jì)算過(guò)程,具體步驟與AVS標(biāo)準(zhǔn)中MV預(yù)測(cè)過(guò)程[4]完全一致;Sttrans是MVP_x和MVP_y的輸出過(guò)程。用ModelSim仿真,結(jié)果如圖4所示。

        圖4 MV預(yù)測(cè)模塊仿真結(jié)果(截圖)

        3.2 運(yùn)動(dòng)估計(jì)

        該模塊需要從當(dāng)前幀和參考幀中獲取輸入數(shù)據(jù),從當(dāng)前幀中得到當(dāng)前塊數(shù)據(jù),從參考幀中獲取搜索窗數(shù)據(jù)。在搜索窗中搜索得到SAD值最小的宏塊,作為當(dāng)前塊的最佳匹配塊,并用運(yùn)動(dòng)矢量的形式記錄匹配塊的空間位置。此過(guò)程主要包括運(yùn)動(dòng)搜索、SAD計(jì)算、最佳運(yùn)動(dòng)矢量和預(yù)測(cè)模式的獲取。由于全搜索算法數(shù)據(jù)規(guī)則容易控制且易并行處理,所以本設(shè)計(jì)采用的搜索模式為全搜索;利用當(dāng)前塊數(shù)據(jù)與參考窗數(shù)據(jù)作絕對(duì)差再求和所得結(jié)果即為所需SAD值;根據(jù)最佳匹配塊位置即可得到最佳運(yùn)動(dòng)矢量;預(yù)測(cè)模式包括8×8、8×16、16×8、16×16四種,SAD值最小的預(yù)測(cè)模式為最佳預(yù)測(cè)模式。由于最佳搜索模式為16×16的概率最大,因此,以16×16搜索模式為例介紹搜索過(guò)程。

        實(shí)現(xiàn)過(guò)程包含空閑、數(shù)據(jù)接收、SAD計(jì)算和輸出16×16搜索模式下的最小SAD值4個(gè)狀態(tài),SAD計(jì)算過(guò)程和狀態(tài)轉(zhuǎn)移過(guò)程用ModelSim仿真,結(jié)果如圖5所示。ssad0_inter16×16o~ssad16_inter16×16o輸出SAD計(jì)算結(jié)果其中,dataout_inter16×16o輸出數(shù)據(jù)為16×16搜索模式下的最小SAD,mv_x和mv_y為此SAD值對(duì)應(yīng)的運(yùn)動(dòng)矢量,stcurrent_inter16×16o為狀態(tài)跳轉(zhuǎn)。

        圖5 16×16運(yùn)動(dòng)搜索仿真結(jié)果(截圖)

        3.3 編碼模塊

        此模塊由DCT變換、量化、反DCT變換、反量化和熵編碼五部分構(gòu)成。其中,DCT變換和反DCT變換都采用蝶形算法,每次處理8×8塊的一行數(shù)據(jù),且大量采用加法和移位,這樣節(jié)省了大量的時(shí)間和空間。查表實(shí)現(xiàn)量化和反量化,表格存儲(chǔ)在ROM中。DCT變換和量化后的數(shù)據(jù)通過(guò)DV_RAM傳給熵編碼模塊,反量化和反DCT變換的數(shù)據(jù)形成重構(gòu)殘差塊。熵編碼主要實(shí)現(xiàn)ZIG-ZAG掃描、游程編碼、碼表的查詢與切換、哥倫布編碼和碼流輸出;此過(guò)程采用占用空間少的存儲(chǔ)方法存儲(chǔ)碼表,并將碼表查詢與切換、哥倫布編碼合并成流水線單元并行完成,省去了中間數(shù)據(jù)的存儲(chǔ),還將熵編碼子過(guò)程并行完成,加快了處理速度。

        編碼模塊輸入數(shù)據(jù)是當(dāng)前塊與預(yù)測(cè)塊對(duì)應(yīng)數(shù)據(jù)作差得到的殘差塊數(shù)據(jù),如圖6所示,其中圖6a是C代碼中輸入殘差數(shù)據(jù),圖6b是ModelSim仿真中截取的輸入數(shù)據(jù)流。經(jīng)DCT變換、量化和熵編碼后的碼流如圖7所示,其中圖7a是從AVS算法C代碼中截取的碼流;圖7b是從ModelSim仿真中截取的比特流。通過(guò)比較可以看出,2種方法輸入數(shù)據(jù)和所得結(jié)果都完全一致,說(shuō)明FPGA的P幀編碼過(guò)程可正確輸出比特流。

        圖6 編碼輸入數(shù)據(jù)仿真結(jié)果對(duì)比(截圖)

        圖7 編碼輸出比特流仿真結(jié)果對(duì)比(截圖)

        4 仿真驗(yàn)證與實(shí)驗(yàn)結(jié)果

        4.1 仿真驗(yàn)證

        本設(shè)計(jì)整個(gè)編碼過(guò)程都是利用VHDL硬件描述語(yǔ)言,Xilinx ISE綜合,仿真器選用Xilinx公司的xc5vlx110t-1ff1136,綜合后最高工作頻率為117.534 MHz下,資源占用情況如表1所示,實(shí)驗(yàn)結(jié)果表明資源占用少。

        表1 資源利用表

        CIF分辨率(352×288)YUV4∶2∶0的原始圖像,在100 MHz的時(shí)鐘頻率下,編碼一個(gè)16×16宏塊所需周期數(shù)限定在=10 101內(nèi)。由表1看出,本實(shí)驗(yàn)所占周期為7 670,完全滿足實(shí)時(shí)編碼需求。

        4.2 實(shí)驗(yàn)結(jié)果

        一幀圖像(以foreman圖像為例)編碼完之后形成的比特流,利用本實(shí)驗(yàn)室自主研發(fā)的解碼器解碼之后所得圖像如圖8所示,表明本設(shè)計(jì)編碼過(guò)程完全正確。

        圖8 解碼所得圖像(截圖)

        5 總結(jié)與討論

        本文在FPGA上設(shè)計(jì)與實(shí)現(xiàn)了AVS編碼器P幀,經(jīng)驗(yàn)證和仿真,能達(dá)到CIF分辨率下的實(shí)時(shí)編碼。與同類其他研究相比,本文實(shí)現(xiàn)過(guò)程中采用并行和流水處理,保證了硬件資源的高效運(yùn)行和最優(yōu)利用,并且對(duì)AVS在FPGA上的發(fā)展和完善起到了良好的促進(jìn)作用。

        [1]張欣佑,張曉東,王浩.AVS編碼與DSP實(shí)現(xiàn)的視頻編碼器[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2006(12):16-18.

        [2]李德斌,易清明,石敏.AVS解碼器中碼流分割模塊的硬件實(shí)現(xiàn)[J].電視技術(shù),2009,33(11):35-37.

        [3]連云冠,石玥,夏軍,等.AVS和H.264編解碼性能的比較[J].電信科學(xué),2007(3):18-21.

        [4]鄧瓊,楊立志,劉力政,等.一種基于FPGA的AVS編碼加速器的設(shè)計(jì)[J].微電子學(xué)與計(jì)算機(jī),2008(6):97-100.

        [5] GB/T20090.2—2006,信息技術(shù)先進(jìn)音視頻編碼第二部分:視頻[S].2006.

        [6]黃學(xué)超,張衛(wèi)寧.AVS量化和掃描硬件設(shè)計(jì)與實(shí)現(xiàn)[J].電氣電子教學(xué)學(xué)報(bào),2011(2):34-37.

        [7]張璐,劉佩林.基于FPGA的AVS反變換的設(shè)計(jì)與實(shí)現(xiàn)[J].電視技術(shù),2006,30(7):20-23.

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

        猜你喜歡
        編碼器殘差編碼
        基于雙向GRU與殘差擬合的車輛跟馳建模
        基于SAR-SIFT和快速稀疏編碼的合成孔徑雷達(dá)圖像配準(zhǔn)
        基于殘差學(xué)習(xí)的自適應(yīng)無(wú)人機(jī)目標(biāo)跟蹤算法
        《全元詩(shī)》未編碼疑難字考辨十五則
        子帶編碼在圖像壓縮編碼中的應(yīng)用
        電子制作(2019年22期)2020-01-14 03:16:24
        基于遞歸殘差網(wǎng)絡(luò)的圖像超分辨率重建
        Genome and healthcare
        基于FPGA的同步機(jī)軸角編碼器
        基于PRBS檢測(cè)的8B/IOB編碼器設(shè)計(jì)
        JESD204B接口協(xié)議中的8B10B編碼器設(shè)計(jì)
        電子器件(2015年5期)2015-12-29 08:42:24
        丰满人妻一区二区三区免费 | 亚洲中文字幕乱码一二三| 色与欲影视天天看综合网| 国产麻豆精品久久一二三| 国产福利酱国产一区二区| 成人免费毛片在线播放| 一区二区三区国产在线视频| 国产成人精品久久综合| 免费大片黄国产在线观看| 久久久精品人妻久久影视| 丁香婷婷色| 日韩亚洲国产中文字幕| 极品少妇被黑人白浆直流| 一本色道久久99一综合| 久久精品国产亚洲Av无码偷窍| 在线观看国产精品一区二区不卡| 综合图区亚洲另类偷窥| 一本加勒比hezyo无码人妻| 精品久久久久久蜜臂a∨| 国产精品又污又爽又色的网站| 天天做天天爱夜夜爽毛片毛片| 伊人久久五月丁香综合中文亚洲| 国产综合第一夜| 韩国免费一级a一片在线| 国产一区av男人天堂| 久久香蕉国产线熟妇人妻| 亚洲av日韩aⅴ永久无码| 亚洲女同恋中文一区二区| 国产在线无码一区二区三区视频 | 富婆如狼似虎找黑人老外| 国产小车还是日产的好| 激情五月我也去也色婷婷| 一本一道av无码中文字幕﹣百度| 精品爆乳一区二区三区无码av| 国产啪精品视频网站免| 成人在线观看av毛片| 伊人久久大香线蕉综合影院首页 | 久久精品国产69国产精品亚洲| av鲁丝一区鲁丝二区鲁丝三区 | 国产91在线|亚洲| 美女与黑人巨大进入免费观看|