浓毛老太交欧美老妇热爱乱,蜜臀性色av免费,妺妺窝人体色www看美女,久久久久久久久久久大尺度免费视频,麻豆人妻无码性色av专区

位置:51電子網(wǎng) » 技術(shù)資料 » IC/元器件

H.264解碼器中CABAC硬件加速器的實(shí)現(xiàn)

發(fā)布時(shí)間:2007/8/30 0:00:00 訪問次數(shù):543

來源:電子設(shè)計(jì)應(yīng)用  作者:同濟(jì)大學(xué)超大規(guī)模集成電路研究所 洪佳華 林濤


摘  要:在H.264解碼器中,為了能夠完成高清碼流的實(shí)時(shí)解碼任務(wù),本文提出了一種CABAC硬件加速器的設(shè)計(jì)方案。通過采用高效率的狀態(tài)機(jī)和流水線結(jié)構(gòu),該方案可在每1~3個(gè)時(shí)鐘周期內(nèi)完成1bit數(shù)據(jù)的解碼。本設(shè)計(jì)在中芯國(guó)際0.18mm CMOS工藝標(biāo)準(zhǔn)單元庫(kù)的基礎(chǔ)上進(jìn)行綜合,硬件加速器面積為0.38mm2,工作時(shí)鐘頻率可達(dá)166MHz。


關(guān)鍵詞:CABAC;H.264;硬件加速器


引言


H.264是由國(guó)際電信聯(lián)盟(ITU)和國(guó)際標(biāo)準(zhǔn)化組織(ISO)共同制定的新一代視頻編碼標(biāo)準(zhǔn),該標(biāo)準(zhǔn)采用一系列先進(jìn)的編碼技術(shù),在編碼效率、網(wǎng)絡(luò)適應(yīng)性等諸多方面都超越了以往的視頻標(biāo)準(zhǔn)。H.264有兩種熵編碼方案:一種是從可變長(zhǎng)編碼方案發(fā)展而來的基于上下文的自適應(yīng)可變長(zhǎng)編碼CAVLC;另一種是從算術(shù)編碼發(fā)展而來的基于上下文的自適應(yīng)二進(jìn)制算術(shù)編碼CABAC。與CAVLC相比,CABAC可以節(jié)省約7%的碼流,但增加了10%的計(jì)算時(shí)間。在解高清碼流時(shí),用軟件來做CABAC這樣復(fù)雜的熵解碼,無法完成實(shí)時(shí)解碼的任務(wù),因此,設(shè)計(jì)硬件加速器是非常必要的。


CABAC解碼算法


在H.264解碼器的輸入碼流中,數(shù)據(jù)的基本單位是句法元素(Syntax Element),碼流是由一個(gè)個(gè)句法元素依次銜接而成的。每個(gè)句法元素由若干比特組成,表示某個(gè)特定的物理意義。在H.264定義的碼流中,句法元素被組織成有層次的結(jié)構(gòu),分別描述序列(Sequence)、圖像(Picture)、片(Slice)、宏塊(Macroblock)、子宏塊(Subblock)五個(gè)層次的信息,CABAC主要負(fù)責(zé)對(duì)片層以下的句法元素進(jìn)行解碼。


CABAC解碼的總體過程可以分為三個(gè)步驟:初始化、二進(jìn)制算術(shù)解碼歸一化、反二進(jìn)制。


初始化


該過程在每一個(gè)片開始時(shí)執(zhí)行,包括上下文模型變量(Context Variable)的初始化和解碼引擎(Decoding Engine)的初始化。


二進(jìn)制算術(shù)解碼和歸一化


二進(jìn)制算術(shù)解碼是CABAC解碼的核心部分,該過程實(shí)現(xiàn)1bit數(shù)據(jù)的解碼,對(duì)每個(gè)句法元素進(jìn)行解碼都需要調(diào)用該過程。H.264中二進(jìn)制算術(shù)解碼有三種模式:規(guī)則解碼(Decode Decision)、旁路解碼(Decode Bypass)和結(jié)束解碼(Decode Terminate)。對(duì)不同句法元素進(jìn)行解碼時(shí),分別調(diào)用這三種模式的一種或多種。


反二進(jìn)制化


CABAC定義了四種二進(jìn)制化方法:一元碼(Unary)、截?cái)嘁辉a(Truncated Unary)、K階指數(shù)哥倫布碼(kth order Exp-Golomb)和定長(zhǎng)碼(Fixed-Length)。一個(gè)句法元素可以對(duì)應(yīng)一種或兩種上述二進(jìn)制化方法,但特殊的是,句法元素mb_type和sub_mb_type的反二進(jìn)制化獨(dú)立于上述四種方法,它們通過查表來實(shí)現(xiàn)。
  
CABAC硬件加速器的架構(gòu)設(shè)計(jì)


H.264解碼器的軟/硬件劃分


H.264解碼過程采用軟/硬件聯(lián)合的解碼方案,整個(gè)解碼器由32位CPU、DSP結(jié)構(gòu)的運(yùn)算單元和硬件加速器組成。CABAC熵解碼部分,主要是一些判斷和分支操作,數(shù)據(jù)接口、吞吐量不大,這些任務(wù)由軟件和硬件加速器共同完成。本文設(shè)計(jì)的CABAC解碼模塊就是一個(gè)CABAC硬件加速器。


CABAC硬件加速器的總體構(gòu)架


CABAC硬件加速器的總體架構(gòu)如圖1所示。其總體架構(gòu)分為兩層:頂層是CABAC_TOP;底層有7個(gè)模塊,包括CABAC_Center_ Control_Unit、Context、 Neighbor_MB_Information, Context_Init、AC_next_ state_LPS、 AC_next_state_MPS和RangeLPS。


CABAC_Center_Control_Unit模塊負(fù)責(zé)上下文模型變量的初始化,解句法元素,更新Context,并將解出的殘差數(shù)據(jù)傳給IQ&IDCT模塊;Context模塊是雙口RAM,存放459個(gè)上下文模型變量,可同時(shí)對(duì)一個(gè)地址的上下文模型變量進(jìn)行讀操作并對(duì)另外一個(gè)地址的上下文模型變量進(jìn)行寫操作;Neighbor_MB_Information模塊是SRAM,存放宏塊信息,CABAC解碼器在解析當(dāng)前宏塊中的句法元素時(shí),需要參考上面和左面宏塊的信息,因此,需要在該SRAM內(nèi)保存圖像中當(dāng)前宏塊的上一行宏塊和該行之前宏塊的信息,每解完一個(gè)宏塊更新該SRAM;Context_Init模塊是一塊片內(nèi)ROM,用于初始化變量;3個(gè)查找表模塊AC_next_state_LPS、AC_next_ state_MPS和RangeLPS由組合邏輯實(shí)現(xiàn),用于二進(jìn)制算術(shù)解碼過程中的查表運(yùn)算。


CABAC的硬件化分析


本設(shè)計(jì)的目標(biāo)是使整個(gè)H.264解碼器的芯片能夠?qū)Ω咔鍒D像(1920×1088)進(jìn)行實(shí)時(shí)解碼。假設(shè)芯片工作在166MHz的頻率下,圖像播放速率是25fps,則平均解一個(gè)宏塊的時(shí)間是823個(gè)時(shí)鐘周期。考慮到H.264熵解碼部分的運(yùn)算總體上是串行解碼,并行性較差,因此CABAC硬件加速器需要在3個(gè)時(shí)鐘周期內(nèi)完成1bit數(shù)據(jù)的解碼。假設(shè)視頻圖像的壓縮比為20:1,YUV為4:2:0取樣,因?yàn)槿又凳?bit,則每個(gè)像素為8bit×1.5=12bit。CABAC的解碼率約為1:1.2,所以CABAC要解的碼流是(1920×1088×12bit/20)×1.2,約1.43Mb。芯片工作頻率是166MHz,每3個(gè)時(shí)鐘解

來源:電子設(shè)計(jì)應(yīng)用  作者:同濟(jì)大學(xué)超大規(guī)模集成電路研究所 洪佳華 林濤


摘  要:在H.264解碼器中,為了能夠完成高清碼流的實(shí)時(shí)解碼任務(wù),本文提出了一種CABAC硬件加速器的設(shè)計(jì)方案。通過采用高效率的狀態(tài)機(jī)和流水線結(jié)構(gòu),該方案可在每1~3個(gè)時(shí)鐘周期內(nèi)完成1bit數(shù)據(jù)的解碼。本設(shè)計(jì)在中芯國(guó)際0.18mm CMOS工藝標(biāo)準(zhǔn)單元庫(kù)的基礎(chǔ)上進(jìn)行綜合,硬件加速器面積為0.38mm2,工作時(shí)鐘頻率可達(dá)166MHz。


關(guān)鍵詞:CABAC;H.264;硬件加速器


引言


H.264是由國(guó)際電信聯(lián)盟(ITU)和國(guó)際標(biāo)準(zhǔn)化組織(ISO)共同制定的新一代視頻編碼標(biāo)準(zhǔn),該標(biāo)準(zhǔn)采用一系列先進(jìn)的編碼技術(shù),在編碼效率、網(wǎng)絡(luò)適應(yīng)性等諸多方面都超越了以往的視頻標(biāo)準(zhǔn)。H.264有兩種熵編碼方案:一種是從可變長(zhǎng)編碼方案發(fā)展而來的基于上下文的自適應(yīng)可變長(zhǎng)編碼CAVLC;另一種是從算術(shù)編碼發(fā)展而來的基于上下文的自適應(yīng)二進(jìn)制算術(shù)編碼CABAC。與CAVLC相比,CABAC可以節(jié)省約7%的碼流,但增加了10%的計(jì)算時(shí)間。在解高清碼流時(shí),用軟件來做CABAC這樣復(fù)雜的熵解碼,無法完成實(shí)時(shí)解碼的任務(wù),因此,設(shè)計(jì)硬件加速器是非常必要的。


CABAC解碼算法


在H.264解碼器的輸入碼流中,數(shù)據(jù)的基本單位是句法元素(Syntax Element),碼流是由一個(gè)個(gè)句法元素依次銜接而成的。每個(gè)句法元素由若干比特組成,表示某個(gè)特定的物理意義。在H.264定義的碼流中,句法元素被組織成有層次的結(jié)構(gòu),分別描述序列(Sequence)、圖像(Picture)、片(Slice)、宏塊(Macroblock)、子宏塊(Subblock)五個(gè)層次的信息,CABAC主要負(fù)責(zé)對(duì)片層以下的句法元素進(jìn)行解碼。


CABAC解碼的總體過程可以分為三個(gè)步驟:初始化、二進(jìn)制算術(shù)解碼歸一化、反二進(jìn)制。


初始化


該過程在每一個(gè)片開始時(shí)執(zhí)行,包括上下文模型變量(Context Variable)的初始化和解碼引擎(Decoding Engine)的初始化。


二進(jìn)制算術(shù)解碼和歸一化


二進(jìn)制算術(shù)解碼是CABAC解碼的核心部分,該過程實(shí)現(xiàn)1bit數(shù)據(jù)的解碼,對(duì)每個(gè)句法元素進(jìn)行解碼都需要調(diào)用該過程。H.264中二進(jìn)制算術(shù)解碼有三種模式:規(guī)則解碼(Decode Decision)、旁路解碼(Decode Bypass)和結(jié)束解碼(Decode Terminate)。對(duì)不同句法元素進(jìn)行解碼時(shí),分別調(diào)用這三種模式的一種或多種。


反二進(jìn)制化


CABAC定義了四種二進(jìn)制化方法:一元碼(Unary)、截?cái)嘁辉a(Truncated Unary)、K階指數(shù)哥倫布碼(kth order Exp-Golomb)和定長(zhǎng)碼(Fixed-Length)。一個(gè)句法元素可以對(duì)應(yīng)一種或兩種上述二進(jìn)制化方法,但特殊的是,句法元素mb_type和sub_mb_type的反二進(jìn)制化獨(dú)立于上述四種方法,它們通過查表來實(shí)現(xiàn)。
  
CABAC硬件加速器的架構(gòu)設(shè)計(jì)


H.264解碼器的軟/硬件劃分


H.264解碼過程采用軟/硬件聯(lián)合的解碼方案,整個(gè)解碼器由32位CPU、DSP結(jié)構(gòu)的運(yùn)算單元和硬件加速器組成。CABAC熵解碼部分,主要是一些判斷和分支操作,數(shù)據(jù)接口、吞吐量不大,這些任務(wù)由軟件和硬件加速器共同完成。本文設(shè)計(jì)的CABAC解碼模塊就是一個(gè)CABAC硬件加速器。


CABAC硬件加速器的總體構(gòu)架


CABAC硬件加速器的總體架構(gòu)如圖1所示。其總體架構(gòu)分為兩層:頂層是CABAC_TOP;底層有7個(gè)模塊,包括CABAC_Center_ Control_Unit、Context、 Neighbor_MB_Information, Context_Init、AC_next_ state_LPS、 AC_next_state_MPS和RangeLPS。


CABAC_Center_Control_Unit模塊負(fù)責(zé)上下文模型變量的初始化,解句法元素,更新Context,并將解出的殘差數(shù)據(jù)傳給IQ&IDCT模塊;Context模塊是雙口RAM,存放459個(gè)上下文模型變量,可同時(shí)對(duì)一個(gè)地址的上下文模型變量進(jìn)行讀操作并對(duì)另外一個(gè)地址的上下文模型變量進(jìn)行寫操作;Neighbor_MB_Information模塊是SRAM,存放宏塊信息,CABAC解碼器在解析當(dāng)前宏塊中的句法元素時(shí),需要參考上面和左面宏塊的信息,因此,需要在該SRAM內(nèi)保存圖像中當(dāng)前宏塊的上一行宏塊和該行之前宏塊的信息,每解完一個(gè)宏塊更新該SRAM;Context_Init模塊是一塊片內(nèi)ROM,用于初始化變量;3個(gè)查找表模塊AC_next_state_LPS、AC_next_ state_MPS和RangeLPS由組合邏輯實(shí)現(xiàn),用于二進(jìn)制算術(shù)解碼過程中的查表運(yùn)算。


CABAC的硬件化分析


本設(shè)計(jì)的目標(biāo)是使整個(gè)H.264解碼器的芯片能夠?qū)Ω咔鍒D像(1920×1088)進(jìn)行實(shí)時(shí)解碼。假設(shè)芯片工作在166MHz的頻率下,圖像播放速率是25fps,則平均解一個(gè)宏塊的時(shí)間是823個(gè)時(shí)鐘周期?紤]到H.264熵解碼部分的運(yùn)算總體上是串行解碼,并行性較差,因此CABAC硬件加速器需要在3個(gè)時(shí)鐘周期內(nèi)完成1bit數(shù)據(jù)的解碼。假設(shè)視頻圖像的壓縮比為20:1,YUV為4:2:0取樣,因?yàn)槿又凳?bit,則每個(gè)像素為8bit×1.5=12bit。CABAC的解碼率約為1:1.2,所以CABAC要解的碼流是(1920×1088×12bit/20)×1.2,約1.43Mb。芯片工作頻率是166MHz,每3個(gè)時(shí)鐘解

相關(guān)IC型號(hào)

熱門點(diǎn)擊

 

推薦技術(shù)資料

單片機(jī)版光立方的制作
    N視頻: http://v.youku.comN_sh... [詳細(xì)]
版權(quán)所有:51dzw.COM
深圳服務(wù)熱線:13692101218  13751165337
粵ICP備09112631號(hào)-6(miitbeian.gov.cn)
公網(wǎng)安備44030402000607
深圳市碧威特網(wǎng)絡(luò)技術(shù)有限公司
付款方式


 復(fù)制成功!