• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    H.264/AVC幀內(nèi)4×4預(yù)測(cè)算法的高效流水線結(jié)構(gòu)

    2012-06-25 07:02:34任懷魯張德學(xué)
    電視技術(shù) 2012年7期
    關(guān)鍵詞:宏塊重構(gòu)像素

    任懷魯,張德學(xué)

    (山東科技大學(xué)信息科學(xué)與工程學(xué)院,山東 青島 266590)

    MPEG-4 AVC/H.264(以下簡(jiǎn)稱為 H.264/AVC)標(biāo)準(zhǔn)[1]與 MPEG-2 標(biāo)準(zhǔn)相比,碼流節(jié)省了 50% 以上[2-3]。H.264標(biāo)準(zhǔn)中所用的編碼技術(shù)主要有幀內(nèi)預(yù)測(cè)、運(yùn)動(dòng)估計(jì)、整形變換、環(huán)路濾波等。H.264/AVC性能的提高是以高復(fù)雜度和大運(yùn)算量為代價(jià)的,為了能夠?qū)崟r(shí)用H.264/AVC標(biāo)準(zhǔn)編碼圖像,人們對(duì)H.264/AVC的高效算法和硬件結(jié)構(gòu)做了大量的工作。在這些工作中,很多研究者把重心放到了幀內(nèi)4×4預(yù)測(cè)部分,這是因?yàn)閹瑑?nèi)4×4預(yù)測(cè)在整個(gè)H.264/AVC標(biāo)準(zhǔn)中占有很大的比重,而且比較難以用硬件設(shè)計(jì)。

    H.264/AVC預(yù)測(cè)編碼部分分為幀內(nèi)預(yù)測(cè)和幀間預(yù)測(cè),幀內(nèi)預(yù)測(cè)用于減少視頻圖像空間上的冗余,幀間預(yù)測(cè)用于減少視頻圖像時(shí)間上的冗余。根據(jù)預(yù)測(cè)技術(shù)的不同,H.264/AVC中的圖像可以分為I,P,B幀,每一幀都由宏塊(16×16的像素塊)組成。宏塊可以分為幀內(nèi)宏塊(以幀內(nèi)預(yù)測(cè)技術(shù)編碼)和幀間宏塊(以幀間預(yù)測(cè)技術(shù)編碼)。I幀只由幀內(nèi)宏塊組成,P幀和B幀可以由幀內(nèi)宏塊或幀間宏塊組成。參考文獻(xiàn)[4]中的研究發(fā)現(xiàn),在場(chǎng)景變換比較劇烈的視頻序列中,即使在P幀和B幀圖像中,幀內(nèi)宏塊的數(shù)量也要高于幀間宏塊的數(shù)量。幀內(nèi)宏塊按預(yù)測(cè)塊的大小又可分為幀內(nèi)4×4宏塊(I4MB)和幀內(nèi)16×16宏塊(I16MB)。其中在圖像細(xì)節(jié)比較細(xì)膩的圖像中幀內(nèi)4×4宏塊將占據(jù)絕對(duì)大的比例。本文在H.264的參考軟件JM15.1中對(duì)foreman_cif碼流作了測(cè)試(IPPP,260幀,QP設(shè)為24),結(jié)果表明I4MB的比例占整個(gè)幀內(nèi)宏塊數(shù)的85.9%。由此可見(jiàn),幀內(nèi)4×4預(yù)測(cè)在整個(gè)H.264/AVC視頻編碼過(guò)程中占有非常重要的地位。

    但是I4MB宏塊中的各個(gè)4×4塊之間有著嚴(yán)重的數(shù)據(jù)依賴性,這使幀內(nèi)4×4預(yù)測(cè)成為H.264/AVC編碼器中的一個(gè)主要瓶頸。在之前的設(shè)計(jì)中,主要有3種方法緩解幀內(nèi)4×4預(yù)測(cè)過(guò)程中的數(shù)據(jù)依賴性問(wèn)題:第一種方法是在幀內(nèi)4×4預(yù)測(cè)的閑置周期中讓硬件執(zhí)行幀內(nèi)16×16預(yù)測(cè)[5-7],這可以提高硬件的利用率,但是它的關(guān)鍵路徑長(zhǎng)度并沒(méi)有改變,不適用于高性能的視頻編碼器;第二種方法是重新對(duì)I4MB 的4×4塊進(jìn)行重排序[8-9],它可以在一定程度上解決各個(gè)4×4塊間的數(shù)據(jù)依賴性問(wèn)題,但是仍有至少5個(gè)4×4塊的數(shù)據(jù)依賴性問(wèn)題它是解決不了的;第三種方法是采用原始圖像進(jìn)行幀內(nèi)預(yù)測(cè)[10-11],但是它會(huì)導(dǎo)致解碼端和編碼端的重構(gòu)圖像不一致,有較大圖像PSNR損失。

    針對(duì)這種情況,本文提出了一種新的硬件結(jié)構(gòu),在沒(méi)有明顯的圖像PSNR損失和沒(méi)有增加額外硬件資源的前提下,可以使硬件的利用率幾乎達(dá)到100%,使處理一個(gè)宏塊的時(shí)鐘周期數(shù)減少到215個(gè)。

    1 幀內(nèi)4×4預(yù)測(cè)相關(guān)算法簡(jiǎn)介

    一個(gè)I4MB可以分為16個(gè)4×4塊,編碼一個(gè)幀內(nèi)4×4塊首先需要用各種模式執(zhí)行幀內(nèi)預(yù)測(cè),進(jìn)而進(jìn)行模式判決,得出最佳模式,把用最佳模式預(yù)測(cè)出的像素與原始像素做差,把殘差傳送給重構(gòu)循環(huán)模塊。由重構(gòu)循環(huán)模塊得出的重構(gòu)數(shù)據(jù)進(jìn)一步作為之后4×4塊的參考像素。在DCT變換和量化之后的數(shù)據(jù)需輸出給之后的模塊(熵編碼)進(jìn)行進(jìn)一步處理。

    1.1 幀內(nèi)4×4預(yù)測(cè)相關(guān)算法

    幀內(nèi)4×4預(yù)測(cè)以之前已經(jīng)重構(gòu)的邊沿像素作為參考像素,幀內(nèi)4×4塊最多可以有13個(gè)參考像素,根據(jù)預(yù)測(cè)方向的不同幀內(nèi)4×4預(yù)測(cè)有8種預(yù)測(cè)模式[3],此外幀內(nèi)4×4預(yù)測(cè)還有一種沒(méi)有方向特性的DC模式(即是可得參考像素的平均值)。

    對(duì)于每一個(gè)4×4塊都要用這9種模式遍歷執(zhí)行幀內(nèi)4×4預(yù)測(cè),由模式判決算法選出最優(yōu)預(yù)測(cè)模式[12]。模式判決所做的工作主要是評(píng)估幀內(nèi)預(yù)測(cè)各種模式的SATD(Sum of Absolute Transformed Difference)值。T代表著Hadamard變換。

    重構(gòu)循環(huán)主要包括DCT變換、量化(Q)、反量化(IQ)和IDCT變換4個(gè)部分。在IDCT變換之后需把得出的殘差數(shù)據(jù)與預(yù)測(cè)像素相加,得出重構(gòu)像素,一個(gè)4×4塊邊沿部分的重構(gòu)像素(其位置如圖1所示)將作為之后4×4塊的參考像素。

    1.2 幀內(nèi)預(yù)測(cè)過(guò)程中的數(shù)據(jù)依賴關(guān)系

    I4MB的16個(gè)4×4塊是按照zig-zag的順序進(jìn)行編碼的,如圖1a所示。在一個(gè)4×4塊進(jìn)行預(yù)測(cè)之前必須保證相鄰的(左、上、右上、左上)4×4塊已經(jīng)重構(gòu)完成,這就導(dǎo)致相鄰的4×4塊之間有很復(fù)雜的數(shù)據(jù)依賴關(guān)系,如圖1b所示。在圖1b中,箭頭所指4×4塊必須等待箭頭開(kāi)始端所在4×4塊完成重構(gòu)循環(huán)之后才可進(jìn)行預(yù)測(cè)。因此,幀內(nèi)4×4預(yù)測(cè)(和模式判決)和重構(gòu)循環(huán)之間無(wú)法用流水線的方式實(shí)現(xiàn),它們之間只能串行執(zhí)行(其時(shí)序如圖2a所示),這會(huì)導(dǎo)致編碼器的硬件利用率很低。而且由于幀內(nèi)4×4預(yù)測(cè)模式比較多,I4MB分成的4×4塊也比較多,使整個(gè)宏塊的執(zhí)行時(shí)間增長(zhǎng)了1倍,已經(jīng)成為了整個(gè)H.264編碼器中的瓶頸。

    圖1 4×4塊掃描順序和數(shù)據(jù)依賴關(guān)系

    2 所提解決方案及其執(zhí)行時(shí)序

    在之前針對(duì)幀內(nèi)4×4預(yù)測(cè)的研究中,或者沒(méi)能徹底解決幀內(nèi)4×4預(yù)測(cè)的關(guān)鍵路徑過(guò)長(zhǎng)的問(wèn)題,或者使圖像的質(zhì)量有較大損失。為了解決1.2節(jié)中所分析的數(shù)據(jù)依賴性問(wèn)題,又不令圖像的質(zhì)量有較大損失,筆者提出以下解決方案:在模式判決時(shí)使用原始圖像進(jìn)行幀內(nèi)預(yù)測(cè),當(dāng)模式判決完成后,上一個(gè)4×4塊的重構(gòu)數(shù)據(jù)也已經(jīng)準(zhǔn)備好,再用重構(gòu)像素和選擇的最佳模式進(jìn)行一次幀內(nèi)預(yù)測(cè),把得到的預(yù)測(cè)數(shù)據(jù)和殘差數(shù)據(jù)交給重構(gòu)循環(huán)模塊,而幀內(nèi)預(yù)測(cè)和模式判決模塊則在同時(shí)對(duì)下一個(gè)4×4塊用原始圖像預(yù)測(cè)并進(jìn)行模式判決。此方法可使幀內(nèi)預(yù)測(cè)(帶模式判決)模塊和重構(gòu)循環(huán)模塊完全流水線化,同時(shí)又克服了文獻(xiàn)[10-11]中用原始圖像預(yù)測(cè)所導(dǎo)致的編碼端和解碼端重構(gòu)數(shù)據(jù)不一致的問(wèn)題,減少了圖像PSNR損失(時(shí)序見(jiàn)圖2b)。

    圖2 幀內(nèi)4×4預(yù)測(cè)原始時(shí)序和所提出方案的流水線時(shí)序

    3 所提出的幀內(nèi)4×4預(yù)測(cè)總體結(jié)構(gòu)

    筆者提出的幀內(nèi)4×4預(yù)測(cè)整體結(jié)構(gòu)如圖3所示,與傳統(tǒng)的幀內(nèi)預(yù)測(cè)結(jié)構(gòu)相比,主要不同是:采用16像素并行結(jié)構(gòu),1個(gè)周期可以生成16個(gè)預(yù)測(cè)像素和16個(gè)重構(gòu)像素;用原始圖像進(jìn)行模式判決,用重構(gòu)圖像進(jìn)行幀內(nèi)4×4預(yù)測(cè),幀內(nèi)4×4預(yù)測(cè)模塊和重構(gòu)循環(huán)模塊完全流水線執(zhí)行。這樣1個(gè)4×4塊可在13個(gè)時(shí)鐘周期內(nèi)生成最佳預(yù)測(cè)數(shù)據(jù),1個(gè)宏塊可以在215個(gè)時(shí)鐘周期內(nèi)完成整個(gè)幀內(nèi)4×4預(yù)測(cè)過(guò)程。以下對(duì)其中的主要模塊進(jìn)行介紹。

    圖3 所提出的幀內(nèi)4×4預(yù)測(cè)整體結(jié)構(gòu)

    3.1 預(yù)測(cè)像素生成器模塊

    幀內(nèi)預(yù)測(cè)算法[3]主要就是以2抽頭或者3抽頭濾波器組成,為了提高硬件的利用率,筆者設(shè)計(jì)了一種通用的可處理所有幀內(nèi)4×4預(yù)測(cè)模式的濾波器,如圖4所示。而且?guī)瑑?nèi)4×4預(yù)測(cè)的算法中并不是所有位置的像素都各不相同,各種模式最多只有13個(gè)各不相同的值,由此最多只需用13個(gè)如圖4a所示的PE濾波器就可以了。幀內(nèi)4×4預(yù)測(cè)的整體結(jié)構(gòu)如圖4b所示。

    圖4 提出的幀內(nèi)4×4處理單元和16并行預(yù)測(cè)結(jié)構(gòu)

    3.2 重構(gòu)循環(huán)模塊

    整個(gè)重構(gòu)循環(huán)模塊也是16像素并行的,其結(jié)構(gòu)如圖5所示。重構(gòu)循環(huán)模塊的IDCT與DCT模塊結(jié)構(gòu)相同,反量化(IQ)和量化(Q)模塊結(jié)構(gòu)相似,所以圖5只給出了DCT變換和量化模塊的詳細(xì)結(jié)構(gòu)圖。首先一個(gè)二維DCT變換可變換成兩個(gè)一維的DCT變換,一維的DCT變換也可以采用蝶形結(jié)構(gòu)分兩級(jí)完成,其結(jié)構(gòu)如圖5所示。筆者采用的DCT變換結(jié)構(gòu)有8個(gè)一維DCT變換模塊,其中4個(gè)做行變換,4個(gè)做列變換,中間的交叉互聯(lián)(cross connection)結(jié)構(gòu)可實(shí)現(xiàn)DCT變換中間參數(shù)的行列轉(zhuǎn)換。量化模塊的處理單元參照參考文獻(xiàn)[1]中所述算法設(shè)計(jì),量化模塊除量化處理單元外還包括一個(gè)存儲(chǔ)H.264/AVC標(biāo)準(zhǔn)中的量化矩陣的ROM和一個(gè)用于計(jì)算量化過(guò)程中所需參數(shù)的參數(shù)計(jì)算器(Parameters Calculator)。量化模塊有16個(gè)并行的處理單元,可并行處理16個(gè)像素。

    圖5 重構(gòu)循環(huán)模塊

    4 實(shí)驗(yàn)結(jié)果和比較

    對(duì)于第3節(jié)中所提出的算法,基于H.264/AVC的參考軟件JM15.1進(jìn)行了測(cè)試。其主要參數(shù)配置是:測(cè)試序列 foreman_cif,260 幀,全I(xiàn)幀,30 f/s(幀/秒)。在QP 從4變化到48時(shí)所提算法與JM15.1參考算法的PSNR變化如圖6所示。結(jié)果顯示所提出的算法與JM15.1中的參考算法平均只有0.03 dB的PSNR損失。

    圖6 所提算法在各種QP下的PSNR值及與JM15.1中的比較

    對(duì)提出的幀4×4預(yù)測(cè)的硬件結(jié)構(gòu)用SMIC 0.13 μm工藝庫(kù)進(jìn)行了綜合。結(jié)果顯示,在SMIC 0.13 μm工藝下,用synopsys的DC綜合工具把時(shí)鐘約束設(shè)為250 MHz時(shí),所需門數(shù)為116000(以一個(gè)NAND2X1為單位),它與之前相關(guān)設(shè)計(jì)的對(duì)比如表1所示。

    表1 所提出幀內(nèi)4×4預(yù)測(cè)結(jié)構(gòu)的性能及與之前工作的對(duì)比

    文獻(xiàn)[5]中由于沒(méi)有處理好幀內(nèi)4×4預(yù)測(cè)的數(shù)據(jù)依賴問(wèn)題,它處理一個(gè)宏塊的時(shí)間很長(zhǎng);文獻(xiàn)[10]和[11]都是采用原始圖像預(yù)測(cè),圖像質(zhì)量損失比較大;文獻(xiàn)[13]為了減少幀內(nèi)4×4預(yù)測(cè)的延遲采用了多了幀內(nèi)4×4預(yù)測(cè)核并行執(zhí)行的方法,但是這使面積有了很大的增加。

    5 結(jié)論

    針對(duì)H.264/AVC標(biāo)準(zhǔn)中幀內(nèi)4×4預(yù)測(cè)過(guò)程中所存在的數(shù)據(jù)依賴性問(wèn)題,本文中提出了一種新的解決方案,它通過(guò)使用原始像素進(jìn)行模式判決和使用重構(gòu)像素進(jìn)行幀內(nèi)預(yù)測(cè)的方法,使幀內(nèi)預(yù)測(cè)和重構(gòu)循環(huán)可以采用流水線技術(shù)執(zhí)行,同時(shí)與直接用原始圖像做幀內(nèi)預(yù)測(cè)的方案相比又有效地減少了圖像的PSNR損失。本設(shè)計(jì)采用了16像素并行結(jié)構(gòu),此結(jié)構(gòu)可以在215個(gè)時(shí)鐘周期內(nèi)完成一個(gè)宏塊的幀內(nèi)預(yù)測(cè)。最后,本文對(duì)所設(shè)計(jì)的結(jié)構(gòu)面向ASIC作了綜合,與以往的相關(guān)工作相比較,結(jié)果顯示本設(shè)計(jì)在沒(méi)有增加額外的資源的情況下,達(dá)到了更高的性能。

    [1]ITU-T Rec.H.264/AVC.Advanced video coding for generic audiovisual services[S].2005.

    [2]WIEGAND T,SULLIVAN G J,BJONTEGAARD G,et al.Overview of the H.264/AVC video coding standard[J].IEEE TCSVT,2003,13(7):560-576.

    [3]蘇磊,李國(guó)源,張家謀.基于幀內(nèi)空間域預(yù)測(cè)的快速文理逼近算法[J].電視技術(shù),2004,28(9):11-14.

    [4]SHAFIQUE M,BAUER L,HENKEL J.A parallel approach for high performance hardware design of intra prediction in H.264/AVC video codec[C]//Proc.IEEE DATE 2009.[S.l.]:IEEE Press,2009:1434-1439.

    [5]HUANG Y W,HSIEH B Y,CHEN T C,et al.Analysis,fast algorithm,and VLSI architecture design for H.264/AVC intra frame coder[J].IEEE TCSVT,2005,15(3):378-401.

    [6]KU C W,CHENG C C,YU G S,et al.A high-definition H.264/AVC intra-frame codec IP for digital video and still camera applications[J].IEEE TCSVT,2006,16(8):917-928.

    [7]LIN Y K,KU C W,LI D W,et al.A 140-MHz 94 k gates HD1080p 30-frames/s intra-only profile H.264/AVC encoder[J].IEEE TCSVT,2009,19(3):432-436.

    [8]SMAOUI S,LOUKIL H,BEN ATITALLAH A,et al.An efficient pipeline execution of H.264/AVC intra 4x4 frame design[C]//Proc.20107th International Multi-Conference on Systems Signals and Devices(SSD).[S.l.]:IEEE Press,2010:1-5.

    [9]JIN G H,JUNG J S,LEE H J.An efficient pipelined architecture for H.264/AVC intra frame processing[C]//Proc.IEEE ISCAS 2007.[S.l.]:IEEE Press,2007:1605-1608.

    [10]CHUANG T D,CHEN Y H,TSAI C H,et al.Algorithm and architecture design for intra prediction in H.264/AVC high profile[EB/OL].[2011-05-01].http://video.ee.ntu.edu.tw/publication/paper/[C][2007][PCS][Tzu-Der.Chuang][1].pdf.

    [11]DING L F,CHEN W Y,TSUNG P K.A 212 Mpixels/s 4096 imes 2160p multiview video encoder chip for 3D/quad full HDTV applications[J].IEEE Journal of Solid-State Circuits,2010,45(1):46-58.

    [12]王海勇,孫雁飛,吳啟宗.H.264編碼中幀內(nèi)預(yù)測(cè)算法研究[J].電視技術(shù),2009,33(8):9-12.

    [13]KUO H C,LIN Y L.An H.264/AVC full-mode Intra-frame Encoder for 1080HD Video[C]//Proc.IEEE ICME 2008.[S.l.]:IEEE Press,2008:1037-1040.

    猜你喜歡
    宏塊重構(gòu)像素
    趙運(yùn)哲作品
    藝術(shù)家(2023年8期)2023-11-02 02:05:28
    像素前線之“幻影”2000
    長(zhǎng)城敘事的重構(gòu)
    攝影世界(2022年1期)2022-01-21 10:50:14
    “像素”仙人掌
    北方大陸 重構(gòu)未來(lái)
    北京的重構(gòu)與再造
    商周刊(2017年6期)2017-08-22 03:42:36
    論中止行為及其對(duì)中止犯的重構(gòu)
    高像素不是全部
    CHIP新電腦(2016年3期)2016-03-10 14:22:03
    基于選擇特征宏塊的快速視頻穩(wěn)像
    基于宏塊合并的H.264模式選擇算法
    吴堡县| 轮台县| 淮安市| 额尔古纳市| 东乡族自治县| 阳信县| 修文县| 渭源县| 平江县| 阳曲县| 静乐县| 鸡东县| 建平县| 澎湖县| 新巴尔虎左旗| 怀远县| 湖南省| 南川市| 栖霞市| 皋兰县| 喀什市| 临沂市| 西和县| 禄劝| 钦州市| 马关县| 苍南县| 南漳县| 临安市| 青海省| 岱山县| 棋牌| 金华市| 乐山市| 隆回县| 普宁市| 天镇县| 孟州市| 柏乡县| 扬州市| 宁阳县|