999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

H.264解碼器幀內(nèi)預(yù)測模塊的優(yōu)化

2013-02-13 09:57:26王光瑋梁利平
電視技術(shù) 2013年19期
關(guān)鍵詞:優(yōu)化

王光瑋,梁利平

(中國科學(xué)院 微電子研究所,北京100029)

責(zé)任編輯:時 雯

1 幀內(nèi)預(yù)測

一直以來,視頻信息以其直觀性、高效性等優(yōu)點而受到人們的青睞。但是視頻信息包含的信息量太大,若要廣泛應(yīng)用,必須解決壓縮與編碼的問題。為此,國際標準化組織和視頻圖像專家組等組織制定了一系列的視頻編解碼和壓縮的標準,其中由ITU-T(國際電信聯(lián)盟組織)和ISO(國際標準化組織)聯(lián)合推出的H.264視頻編解碼壓縮標準具有突出的壓縮效率[1],得到了廣泛的認可和應(yīng)用。

H.264采用了幀內(nèi)預(yù)測、1/4像素插值、多參考幀預(yù)測、環(huán)路濾波等多種新技術(shù),獲得了優(yōu)越的壓縮性能[2]。但是,這些新技術(shù)在提高編碼壓縮效率的同時,提高了計算復(fù)雜度,對硬件平臺提出了更高的要求。因此,針對H.264標準在硬件資源相對緊張的嵌入式設(shè)備上的應(yīng)用,業(yè)界提出了多種有效的優(yōu)化方法。如基于VLSI硬件設(shè)計加速H.264解碼計算過程[3];用特定平臺提供的SIMD指令進行數(shù)據(jù)的向量處理[4];或者針對H.264解碼流程中一個或多個模塊進行結(jié)構(gòu)或者算法上的優(yōu)化,提高執(zhí)行效率[5-7]。

以上幾種方法中,硬件加速的方法性能比較高,但是開發(fā)周期長,成本高,且不靈活,不利于升級;用SIMD指令雖然可以加速計算過程,但是和平臺相關(guān)性很大,可移植性比較差。相對于前兩種優(yōu)化方法,后一種方案比較靈活,沒有平臺的限制,是一種通用的優(yōu)化方法。

本文提出的優(yōu)化方法屬于最后一種,是對幀內(nèi)預(yù)測模塊提出的一種通用的優(yōu)化方法。通過對H.264解碼過程中幀內(nèi)預(yù)測原理進行深入的分析,針對此模塊中處理器與片外存儲空間(SDRAM)數(shù)據(jù)交互頻繁、4×4亮度塊的預(yù)測模式計算復(fù)雜度較高的特點,對幀內(nèi)預(yù)測模塊采取了兩方面的優(yōu)化措施。其一是通過結(jié)合環(huán)路濾波的結(jié)構(gòu),去除了目前常用結(jié)構(gòu)中片上存儲空間(SRAM)的冗余存儲,節(jié)省了解碼所需的片上存儲空間;第二個優(yōu)化措施是通過預(yù)先在片上空間(SRAM)存儲相鄰4×4亮度塊的幀內(nèi)預(yù)測模式,簡化4×4亮度塊幀內(nèi)預(yù)測模式的獲取過程。通過以上兩種優(yōu)化措施,節(jié)省了解碼過程片上存儲空間需求、簡化了4×4亮度塊幀內(nèi)預(yù)測模式的獲取過程,并且減少了處理器與片外存儲空間(SDRAM)的數(shù)據(jù)交互次數(shù),大大提高了解碼器的執(zhí)行效率和解碼性能。

2 幀內(nèi)預(yù)測模塊優(yōu)化方案

幀內(nèi)預(yù)測是H.264采用的一項新技術(shù),利用一幀圖像的空間相關(guān)性,由鄰近塊的信息來預(yù)測當前塊的信息,進一步提高了壓縮效率。這種預(yù)測來自以下兩個方面:像素的預(yù)測和4×4亮度塊預(yù)測模式的預(yù)測。本文的兩個優(yōu)化措施分別針對這兩個方面。

2.1 片上冗余存儲的優(yōu)化

片上空間冗余存儲的優(yōu)化是針對像素的預(yù)測過程進行的優(yōu)化。H.264幀內(nèi)預(yù)測模式下,當前塊的像素預(yù)測值是由鄰近塊的像素根據(jù)不同的預(yù)測模式預(yù)測得到。

H.264支持9種4×4塊、4種16×16塊的亮度預(yù)測模式和4種8×8塊的色度預(yù)測模式[7],如圖1所示。其中8×8色度塊的預(yù)測模式和16×16的亮度塊預(yù)測模式類似,因此圖1并未重復(fù)給出。

圖1 亮度塊幀內(nèi)預(yù)測模式

從圖1中可以看出,當前塊的像素預(yù)測可能會用到左方宏塊最右一列、上方宏塊最下邊一行的像素值作為參考像素,且參考像素值必須為環(huán)路濾波前的像素值。目前普遍采用的處理方法是:重建宏塊濾波前,最右一列和最下面一行的數(shù)據(jù)被分別保存于兩個片上buffer中,如圖2所示。后續(xù)鄰近宏塊為幀內(nèi)預(yù)測類型時,直接讀取兩個片上buffer中的參考像素值進行幀內(nèi)預(yù)測。

圖2 常用的幀內(nèi)預(yù)測存儲結(jié)構(gòu)

這種結(jié)構(gòu)雖然可以在一定程度上減少處理器到片外空間讀取參考像素的次數(shù),但事實上這兩個buffer中的數(shù)據(jù)是片上的冗余信息。本文結(jié)合環(huán)路濾波的結(jié)構(gòu),取消了這兩個片上buffer,直接在環(huán)路濾波的緩存buffer中讀取數(shù)據(jù),去除了這部分冗余數(shù)據(jù)的存儲。這里有必要先簡單介紹一下環(huán)路濾波的結(jié)構(gòu)。

常用的以宏塊為單位的環(huán)路濾波結(jié)構(gòu)中[8],也存在兩個類似的片上buffer來暫存相鄰塊的數(shù)據(jù),不同的是這兩個buffer存儲的數(shù)據(jù)是環(huán)路濾波后的像素值。如圖3所示,當一個宏塊濾波結(jié)束后,把最右邊四列和最下邊四行像素值分別存儲到片上LINE_BUF和LEFT_BUF兩個buffer中,以便右邊宏塊和下方宏塊濾波使用。

圖3 環(huán)路濾波存儲結(jié)構(gòu)

從圖3可以看出,這兩個buffer同樣包含了一個宏塊最右邊一列和最下面一行的像素值。通常認為這兩個buffer中的像素值為濾波后的像素,因此不能被幀內(nèi)預(yù)測模塊利用。事實上,深入分析環(huán)路濾波過程可知,這兩個buffer中幀內(nèi)預(yù)測所用到的部分像素值在濾波前后并不會改變。圖4a中實線是一個宏塊中需要濾波的邊界,圖4b給出了在最強濾波強度下,一條邊界兩邊可能改變的像素值(圖中深色的像素)。從圖4可以看出,一個宏塊中最右一列和最下邊一行的像素值在濾波前后是不改變的。因此完全可以將幀內(nèi)預(yù)測模塊中的兩個buffer去掉,當需要左方和上方塊的像素值作參考像素時,直接到環(huán)路濾波這兩個buffer中讀取相應(yīng)的數(shù)據(jù)即可。這一優(yōu)化措施不但去掉了片上的冗余存儲,釋放的空間可以將片外更有意義、使用頻繁的數(shù)據(jù)存儲到片上空間,而且減少了幀內(nèi)預(yù)測模塊中未濾波像素保存這一步驟,進一步提高解碼性能。

圖4 環(huán)路濾波原理

2.2 預(yù)測模式獲取過程的優(yōu)化

幀內(nèi)預(yù)測的另一個重要步驟是每個4×4亮度塊本身預(yù)測模式的獲取。為了提高壓縮效率,宏塊頭信息只給出16×16亮度塊和色度塊的預(yù)測模式,4×4亮度塊的預(yù)測模式需要解碼器根據(jù)鄰近塊的相關(guān)性計算得出。如圖5所示,當前塊E與左方塊A和上方塊B的預(yù)測模式有很大的相關(guān)性。

圖5 預(yù)測模式有相關(guān)性的4×4塊

4×4塊預(yù)測模式的預(yù)測過程如圖6所示,當前塊E的預(yù)測模式由最可能預(yù)測模式和參數(shù)prev_intra4×4_pred_mode(以下簡稱參數(shù)1)及參數(shù)rem_intra4×4_pred_mode(以下簡稱參數(shù)2)來共同決定。最可能的預(yù)測模式為左方塊A和上方塊B的預(yù)測模式的最小值。若塊A或塊B為非幀內(nèi)4×4預(yù)測模式,則相應(yīng)的預(yù)測模式置為2(DC預(yù)測模式)。如圖6所示,根據(jù)參數(shù)1和參數(shù)2的值對最可能模式進行修正,就得到當前塊E的預(yù)測模式。

圖6 4×4塊預(yù)測模式的獲取過程

由以上分析可知,每個4×4亮度塊預(yù)測模式的獲取,處理器需要頻繁地在片外存儲空間讀取鄰近塊的信息并進行判斷等步驟。當圖像帶有大量的細節(jié),隨著4×4塊數(shù)目的增多,這部分的開銷會陡增,降低解碼性能。可見對這一部分的優(yōu)化是十分必要的。

本文采取了在預(yù)測當前塊模式之前就預(yù)先判斷并存儲相鄰塊的信息的優(yōu)化措施。首先新增兩個片上buffer:top_model_buf和left_model_buf。top_model_buf用來存儲當前塊上方整個4×4塊行中每個4×4塊的預(yù)測模式,left_model_buf用來存儲左方4×4塊的預(yù)測模式。

如圖7所示,當前塊E的上一行子塊在解碼過程中,同時把此子塊預(yù)測模式的值存入top_model_buf中,若此塊不是幀內(nèi)4×4模式,則在top_model_buf的對應(yīng)位置存入2(DC預(yù)測模式)。left_model_buf存儲最近解碼子塊的預(yù)測模式,同樣,若這個子塊為非4×4幀內(nèi)預(yù)測模式,則在buffer存儲2。如此一來,top_model_buf類似一個循環(huán)存儲結(jié)構(gòu),解碼一個宏塊行才全部更新一次,保存著當前解碼行上一4×4子塊行全部的預(yù)測模式。當前塊E只需要到buffer的對應(yīng)位置上讀取相鄰塊的信息求最小值即可得到最可能預(yù)測模式。

圖7 相鄰4×4塊預(yù)測模式的存儲

下面來分析新增的兩個buffer所需要的空間開銷。因為每個4×4子塊有9種預(yù)測模式,因此只需要4 bit便可以存儲一個子塊的預(yù)測模式。1個宏塊中只需要存儲最下面的4個4×4子塊,因此1個宏塊需要的比特數(shù)為4×4=16 bit。如果存儲1個宏塊最下邊一行的像素,則需要16×8=128 bit。因此,相對于未優(yōu)化前存儲最下邊一行像素的top_buf,這個buffer的大小僅為原來的1/8。可見本文的優(yōu)化方法盡管將更多的信息存儲到了片上存儲空間,不但沒有增加片上存儲需求,反而釋放了一定大小的片上存儲空間,這對硬件資源相對寶貴的嵌入式系統(tǒng)來說是十分有意義的。

優(yōu)化后的4×4塊預(yù)測模式的獲取流程如圖8所示,相比于優(yōu)化前的流程圖6,復(fù)雜度大大降低。

圖8 優(yōu)化后的4×4塊預(yù)測模式的獲取過程

3 實驗結(jié)果

本文將優(yōu)化前后的解碼程序分別在IME-Diamond仿真平臺上做了驗證,對比結(jié)果如表1所示。IME-Diamond仿真平臺是32位定點處理器IME-Diamond的仿真軟件,片上存儲空間為128 kbyte,該軟件可以精確統(tǒng)計每個模塊消耗的周期數(shù)。測試所用的碼流是由JM編碼器產(chǎn)生的標準碼流,用了4組300幀CIF格式的測試碼流。表1分別給出優(yōu)化前后幀內(nèi)預(yù)測模塊消耗的周期數(shù),并給出了對比結(jié)果。

從表1可以看出,采取本文提出的優(yōu)化措施對程序進行優(yōu)化后,幀內(nèi)預(yù)測模塊消耗的平均周期數(shù)大大減少,相對于優(yōu)化前平均提高了13%左右。

表1 優(yōu)化前后幀內(nèi)預(yù)測模塊性能對比

4 結(jié)論

本文對H.264幀內(nèi)預(yù)測模塊做了兩方面的優(yōu)化,一是結(jié)合環(huán)路濾波的結(jié)構(gòu),卻除了片上冗余信息的存儲,在降低片上空間需求的同時簡化了參考像素的存儲流程;二是對4×4亮度塊的預(yù)測模式獲取過程的優(yōu)化,在解碼相鄰信息塊的同時對這些塊的預(yù)測模式進行判斷和存儲,降低預(yù)測模式的獲取的復(fù)雜度。通過這兩種優(yōu)化方法,在降低片上存儲空間的前提下簡化了幀內(nèi)預(yù)測模式的處理流程,減少了處理器和片外數(shù)據(jù)的交互次數(shù),提高了解碼性能,尤其對于包含大量細節(jié)的圖像,優(yōu)化效果更加明顯。

[1]Joint Video Team.ITU-T Rec.H.264 and ISO/IEC 14496-10 AVC,Draft ITU-T recommendation and final draft international standard of joint video specification[S].2003.

[2]WIEGAND T,SULLIVAN G,BGONTEDAARD G,et al.Overview of the H.264/AVC video coding standard[J].IEEE Trans.Circuits and Systems for Video Technology,2007,13(7):560-576.

[3]ZHANG N,LI M,WU W.High performance and efficient bandwidth motion compensation vlsi design for H.264/AVC decoder[C]//Proc.ICSICT 2006.[S.l.]:IEEE Press,2006:1896–1898.

[4]陳梅芳.基于TMS320DM642的H.264解碼器優(yōu)化[J].現(xiàn)代電子技術(shù),2006(3):112-115.

[5]袁曉雷,魏江,張鵬.嵌入式平臺H.264軟件解碼器的優(yōu)化[J].電視技術(shù),2010,34(5):36-39.

[6]任李悅,唐寧,滕舟.基于H.264解碼器的軟件優(yōu)化[J].電子設(shè)計工程,2009,17(12):104-108.

[7]姜峰.基于DSP的H.264解碼器運動補償模塊的優(yōu)化[J].微電子學(xué)與計算機,2012,29(10):86-88.

[8]畢厚杰.新一代視頻壓縮編碼標準—H.264/AVC[M].北京:人民郵電出版社,2005:83-89.

[9]胡宏華,諶德榮.基于DSP的H.264解碼器優(yōu)化設(shè)計[J].中北大學(xué)學(xué)報:自然科學(xué)版,2011,32(6):763-767.

猜你喜歡
優(yōu)化
超限高層建筑結(jié)構(gòu)設(shè)計與優(yōu)化思考
PEMFC流道的多目標優(yōu)化
能源工程(2022年1期)2022-03-29 01:06:28
民用建筑防煙排煙設(shè)計優(yōu)化探討
關(guān)于優(yōu)化消防安全告知承諾的一些思考
一道優(yōu)化題的幾何解法
由“形”啟“數(shù)”優(yōu)化運算——以2021年解析幾何高考題為例
圍繞“地、業(yè)、人”優(yōu)化產(chǎn)業(yè)扶貧
事業(yè)單位中固定資產(chǎn)會計處理的優(yōu)化
4K HDR性能大幅度優(yōu)化 JVC DLA-X8 18 BC
幾種常見的負載均衡算法的優(yōu)化
電子制作(2017年20期)2017-04-26 06:57:45
主站蜘蛛池模板: 欧美色图久久| 精品一区二区三区波多野结衣 | 人禽伦免费交视频网页播放| 国产人免费人成免费视频| 欧美激情一区二区三区成人| 毛片大全免费观看| 国产Av无码精品色午夜| 国产成人精品免费视频大全五级| 亚洲天堂网在线播放| 中文字幕在线视频免费| 亚洲天天更新| 在线不卡免费视频| 国产99久久亚洲综合精品西瓜tv| 美女啪啪无遮挡| 国产精品流白浆在线观看| 99久久人妻精品免费二区| 国产精品亚洲天堂| 日韩欧美综合在线制服| 日韩高清在线观看不卡一区二区| 国产91特黄特色A级毛片| 日韩小视频在线播放| 国产哺乳奶水91在线播放| 欧美一级黄色影院| 欧美人在线一区二区三区| 三上悠亚在线精品二区| 亚洲视频影院| 亚洲欧美极品| 九九视频在线免费观看| 日韩中文字幕免费在线观看| 精品国产www| 91成人在线免费观看| 嫩草国产在线| 亚洲无码37.| 91视频青青草| 日韩国产综合精选| 丁香婷婷久久| 免费高清毛片| 欧美不卡在线视频| 欧美在线视频a| 亚洲视频欧美不卡| 东京热av无码电影一区二区| 国产福利一区视频| 国产剧情国内精品原创| 日韩无码白| 国产丝袜无码一区二区视频| 国产成人艳妇AA视频在线| 伊人精品成人久久综合| 91小视频在线| 精品日韩亚洲欧美高清a| 91久久性奴调教国产免费| 亚洲人免费视频| 国产丝袜第一页| 久热精品免费| 国产国模一区二区三区四区| 欧洲精品视频在线观看| 精品国产一区91在线| 日韩少妇激情一区二区| 亚洲久悠悠色悠在线播放| 亚洲va视频| 成人免费视频一区二区三区| 伊人久久久久久久久久| 午夜福利无码一区二区| 国产美女无遮挡免费视频网站| 91精品情国产情侣高潮对白蜜| 久久国产精品无码hdav| 亚洲精品成人片在线观看| 亚洲欧美在线综合图区| 丁香婷婷激情网| 视频在线观看一区二区| 欧日韩在线不卡视频| 国产成人精品亚洲日本对白优播| 国产理论一区| 国产又黄又硬又粗| 成人a免费α片在线视频网站| 国模在线视频一区二区三区| 欧美激情网址| 欧美日韩综合网| 欧美一区二区丝袜高跟鞋| 日本91在线| 日韩大乳视频中文字幕| 国产玖玖玖精品视频| 成人在线第一页|