《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計應(yīng)用 > 基于FPGA的AVS幀內(nèi)預(yù)測電路設(shè)計
基于FPGA的AVS幀內(nèi)預(yù)測電路設(shè)計
來源:電子技術(shù)應(yīng)用2013年第8期
李文軍,王祖強,,徐 輝,張貞雷
山東大學(xué) 信息科學(xué)與工程學(xué)院,,山東 濟南250100
摘要: 提出了一種AVS高清視頻編碼器幀內(nèi)預(yù)測模塊硬件結(jié)構(gòu)。通過對AVS幀內(nèi)預(yù)測各個預(yù)測模式的分析,,設(shè)計了幀內(nèi)預(yù)測編碼流水線結(jié)構(gòu)和模式預(yù)測運算單元電路,。根據(jù)各預(yù)測模式的編碼運算關(guān)系,合理安排流水線結(jié)構(gòu),,采用8 bit數(shù)據(jù)并行流水處理,,實現(xiàn)了高清視頻幀內(nèi)預(yù)測實時編碼。將除Plane模式之外的其他預(yù)測模式采用同一硬件電路來實現(xiàn),,對運算比較復(fù)雜的Plane模式單獨設(shè)計了硬件結(jié)構(gòu),,節(jié)省了硬件資源。
中圖分類號: TN919.8
文獻標(biāo)識碼: A
文章編號: 0258-7998(2013)08-0050-04
FPGA-based design of intra mode prediction in AVS video encoder
Li Wenjun,,Wang Zuqiang,,Xu Hui,Zhang Zhenlei
School of Information Science and Engineering, Shandong University, Jinan 250100,,China
Abstract: In this paper, a hardware architecture of AVS HD intra predictor is proposed. After the analysis of each prediction mode, a pipeline of the intra prediction encoder and the hardware of processing element are designed. According to the relationship of each prediction mode, the pipeline is reasonable organized. The encoder can encode 8 pixels in one cycle and realize the HD video sequences real-time encoding. All of the prediction modes but Plane mode are implied in the same hardware circuit and the Plane mode is implied in a different hardware, which saves the hardware resources. The design improves the usage of the hardware.
Key words : AVS,;intra prediction;hardware architecture;pipeline,;parallel processing

    AVS(Audio Video coding Standard)是由中國數(shù)字音視頻編解碼技術(shù)標(biāo)準(zhǔn)工作組制定的標(biāo)準(zhǔn),,是國內(nèi)第一個針對音視頻產(chǎn)業(yè)需求而制定的標(biāo)準(zhǔn)。AVS-P2標(biāo)準(zhǔn)面向標(biāo)清,、高清視頻編碼應(yīng)用,,其采用了與H.264類似的技術(shù)框架。AVS標(biāo)準(zhǔn)在獲得高編碼效率的同時降低了實現(xiàn)的復(fù)雜度[1],。

    幀內(nèi)預(yù)測編碼器包含編碼過程和重建過程兩個方向的碼流分支,。編碼過程包括幀內(nèi)預(yù)測模式選擇、整數(shù)DCT變換,、量化,、熵編碼等過程;重建過程則將編碼過程中量化后的殘差系數(shù)進行反量化反變換,,最終得到重建像素[2]。圖1所示為幀內(nèi)預(yù)測編碼器的硬件架構(gòu),。編碼器在預(yù)測一個8×8像素塊時,,需要使用相鄰塊的重建像素作為參考樣本,編碼器需要等待相鄰子宏塊完成最優(yōu)預(yù)測模式選擇,、變換量化和反量化反變換后才能對當(dāng)前子宏塊進行預(yù)測,,這種編碼方法需要合理設(shè)計編碼流水結(jié)構(gòu)來保證編碼速度。針對上述問題,,本文提出一種幀內(nèi)預(yù)測硬件結(jié)構(gòu),,使用重建像素作為參考樣本,具有相同預(yù)測值求解算法的預(yù)測模式共用一個預(yù)測器,,在進行編碼時無需等待參考樣本重建過程,,其并行處理電路結(jié)構(gòu)提高了數(shù)據(jù)處理速度并且兼顧了編碼圖像的質(zhì)量。
1 幀內(nèi)預(yù)測算法分析
    AVS幀內(nèi)預(yù)測亮度塊和色度塊均采用8×8塊,,亮度塊共有5種預(yù)測模式,,色度塊有4種預(yù)測模式,其中色度預(yù)測模式有3種與亮度預(yù)測模式算法相同,。幀內(nèi)預(yù)測模式如表1所示,。


 
    參考文獻[3]提出的幀內(nèi)預(yù)測電路使用原始像素作為預(yù)測塊的參考樣本,在這一預(yù)測過程中編碼器無需等待相鄰塊完成重建過程,,這種方法雖然提高了編碼的速度,,但也降低了編碼圖像的質(zhì)量[4]。針對上述問題,,本文設(shè)計了幀內(nèi)預(yù)測的并行流水線結(jié)構(gòu),,在對8×8像素子宏塊進行幀內(nèi)預(yù)測時,像素重建過程與像素預(yù)測過程同時進行,幀內(nèi)預(yù)測編碼器無需等待重建過程,,提高了編碼效率,。具體流水線設(shè)計如下文所述。
    AVS標(biāo)準(zhǔn)中規(guī)定,,對一幀圖像進行編碼時是以宏塊為單位進行編碼,,宏塊內(nèi)編碼則是以子宏塊編號依次進行,亮度塊與色度塊分別編碼,。在對圖3所示8×8子宏塊F進行幀內(nèi)預(yù)測時,,相鄰的上邊和左邊宏塊已經(jīng)完成了重建過程,參考樣本存入寄存器中等待使用,。當(dāng)前預(yù)測塊F為0號子宏塊時,,幀內(nèi)預(yù)測使用的參考樣本均來自相鄰宏塊的重建像素且參考樣本A、B,、C,、D、E均可用,;當(dāng)前預(yù)測塊F為1號子宏塊時,,來自相鄰宏塊的參考樣本A、B,、E和來自0號子宏塊的參考樣本C可用,,其他參考樣本均不可用;當(dāng)前預(yù)測塊F為2號子宏塊時,,分別來自0號和1號子宏塊的參考樣本A,、B和來自相鄰宏塊的參考樣本C、E可用,,其他參考樣本均不可用,,對于來自1號子宏塊的參考樣本,只用到參考樣本塊B中的第一個樣本(即參考樣本r[9]),,由于相鄰像素之間相似度很大,,本文使用參考樣本r[8]代替r[9],這樣只需使用0號子宏塊的重建像素,;當(dāng)前預(yù)測塊F為3號子宏塊時,,來自0號、1號和2號子宏塊的參考樣本E,、A,、C和來自相鄰宏塊的參考樣本B可用,宏塊內(nèi)的依賴性最強,。同樣可以得出,,色度子宏塊編碼時在宏塊中沒有依賴性,。所以在對子宏塊逐塊進行編碼時,可以在亮度子宏塊預(yù)測過程之間插入色度子宏塊的預(yù)測過程,。幀內(nèi)預(yù)測器流水線設(shè)計如圖4所示,。由于1號、2號子宏塊的參考樣本均只來自0號子宏塊的重建像素,,因此可以依次對這兩個子宏塊進行預(yù)測,,再對V色度子宏塊進行預(yù)測,最后對3號子宏塊進行預(yù)測,。在對色度塊進行預(yù)測的同時亮度塊進行重建,,在流水編碼時無需等待相鄰子宏塊的重建像素,提高了工作效率,。

3 并行幀內(nèi)預(yù)測電路硬件設(shè)計
    幀內(nèi)預(yù)測編碼器的另一個設(shè)計重點是模式預(yù)測電路的硬件設(shè)計,。參考文獻[5-6]提出了針對H.264中幀內(nèi)預(yù)測的可重構(gòu)硬件電路。該電路可根據(jù)預(yù)測模式的不同對運算模塊和數(shù)據(jù)通路進行重構(gòu),,從而達到對資源的最優(yōu)化利用,。其缺點是像素塊處理速度慢,不利于實現(xiàn)高清實時編碼,。參考文獻[7-8]針對預(yù)測值求解算法相同的模式設(shè)計了一個共用的預(yù)測器,,從而優(yōu)化硬件資源。本文采用第二種方法,,通過分析各預(yù)測模式之間的關(guān)系,設(shè)計出一個模式通用的預(yù)測器,,并采用8路數(shù)據(jù)并行處理,,解決了可重構(gòu)硬件電路處理速度慢的問題。
    分析亮度和色度的預(yù)測模式算法,,本文將幀內(nèi)模式預(yù)測電路分為兩部分,,亮度塊預(yù)測模式通用電路模塊和Plane模式預(yù)測電路模塊。
3.1 亮度預(yù)測模式電路設(shè)計
    本文設(shè)計了8像素并行處理結(jié)構(gòu),,即預(yù)測電路一個時鐘完成8個像素預(yù)測,,完成一個8×8子宏塊所有模式的預(yù)測并得到最優(yōu)預(yù)測模式最多需要8×5=40個時鐘。分析模式預(yù)測算法,,Vertical和Horizontal模式直接輸出參考樣本為預(yù)測樣本值,,即預(yù)測值為對應(yīng)行或列的r[i]或c[i]值,只需要將參考像素RAM中的值直接輸出,;DC,、Down_Left和Down_Right模式結(jié)構(gòu)中,均有兩次(a+2×b+c+2)>>2的運算過程,,其中a,、b,、c為求取預(yù)測值相對應(yīng)的參考像素,將其轉(zhuǎn)化為兩個并行結(jié)構(gòu)的硬件電路,,該電路只包含移位和加法器模塊,,硬件結(jié)構(gòu)簡單。該亮度預(yù)測模式硬件電路如圖5所示,。

3.2 Plane預(yù)測模式電路設(shè)計
    Plane預(yù)測模式是幀內(nèi)預(yù)測中運算最復(fù)雜的模式[9],,圖6所示是本文設(shè)計的Plane預(yù)測模式硬件電路。由于參數(shù)ia,、ib,、ic、ih和iv均是由已知的參考樣本經(jīng)過運算得到的,,因此可以在編碼流水中提前在參考像素RAM中取出相應(yīng)的參考像素并計算出ia,、ib和ic的值供預(yù)測Plane模式時使用。在Plane預(yù)測模式中使用到的乘法運算均用移位來代替,,節(jié)省了硬件資源,。

    為了簡化Plane模式的硬件結(jié)構(gòu),假設(shè)A=ia+(-3)×ib+(-3)×ic+16,,可以分析得出PredMatrix[x,,y]=Clip1((A+x×ib+y×ic)>>5),其中x×ib和y×ic運算可以轉(zhuǎn)化ib和ic的移位加和運算,。
4 仿真和綜合結(jié)果

 


    本文根據(jù)高清視頻實時編碼的實際要求,,設(shè)計實現(xiàn)了AVS幀內(nèi)預(yù)測編碼器的硬件電路。該編碼器每個時鐘周期可處理8個像素,,采用并行流水線結(jié)構(gòu)對各個模式進行預(yù)測,。該設(shè)計使用Verilog HDL語言完成硬件的編寫,選用Altera公司的Cyclone II 系列2C35 FPGA芯片進行了綜合和驗證,,部分仿真結(jié)果如圖7所示,。其中enable_A~enable_E表示為預(yù)測塊所用參考樣本的可用性,valid_mode表示有效模式輸出,,PE0_out_reg~PE7_out_reg表示8個像素預(yù)測輸出,。從仿真圖中可以看出,電路按照本文設(shè)計的流水線進行預(yù)測,,每8個時鐘周期完成一個預(yù)測模式的預(yù)測,,預(yù)測結(jié)果正確。本設(shè)計所占用的邏輯資源數(shù)量較少,,節(jié)省了硬件資源,;且本設(shè)計提出的并行流水線結(jié)構(gòu)能夠提高幀內(nèi)預(yù)測電路的工作速度,滿足了高清視頻實時編碼的要求,,對AVS高清視頻編碼芯片設(shè)計具有一定的意義,。

參考文獻
[1] AVS工作組.信息技術(shù)先進音視頻編碼:視頻[M].北京:中國標(biāo)準(zhǔn)出版社,,2006.
[2] 陳靖,劉京,,曹喜信.深入理解視頻編解碼技術(shù)——基于 H.264標(biāo)準(zhǔn)及參考模型[M].北京:北京航空航天大學(xué)出版社,,2012.
[3] Zhu Xiangkui,Yin Haibin,,Gao Wen,,et al.An intra prediction pipeline architecture design for AVS encoder[C].Consumer Electronics(ICCE),2010.
[4] Wang Tu-Chih,,Huang Yu-Wen,,F(xiàn)ang Hung-Chi,et al.Performance analysis of hardware oriented algorithm modifications in H.264[C].Acoustics,,Speech,,and Signal Processing,2003.
[5] Huang Yu-Wen,,Hsieh Bing-Yu,,Chen Tung-Chien,et al. Analysis,,fast algorithm, and VLSI architecture design for  H.264/AVC intra frame coder[C].IEEE Transactions on Circuit and Systems for Video Technology,,2005.
[6] 劉凌志,路奇,,戎蒙,,等.一種并行結(jié)構(gòu)的H.264幀內(nèi)預(yù)測器[J].上海交通大學(xué)學(xué)報,2006,,40(1):54-58.
[7] Huang Yu-Wen,,Hsieh Bing-Yu,Chen Tung-Chien,,et al. Hardware architecture design for H.264/AVC intra frame  coder[C].International Symposium on Circuits and System,,2004.
[8] Kao Yu-Chien,,Kuo Huang-Chih,,Lin Yin-Tzu,et al.A  high-performance VLSI architecture for intra prediction and  mode decision in H.264/AVC video encoding[C].Asia Pacific Conference on Circuits and Systems,,2006.
[9] 宋健,,王祖強,秦盼.H.264視頻解碼器中幀內(nèi)預(yù)測模塊的硬件設(shè)計[J].電子技術(shù)應(yīng)用,,2011,,37(10):53-59.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載,。