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

        ?

        MPEG—4視頻解碼器的設計與優(yōu)化

        2013-01-01 00:00:00李想
        計算機時代 2013年1期

        摘 要: MPEG-4標準是最有影響的多媒體數據編碼國際標準之一,具有高壓縮比、可擴展性、可交互性等諸多優(yōu)點,逐漸成為現代視頻編碼領域的主流標準。為加快視頻解碼的速度,在分析MPEG-4視頻編解碼標準的基礎上,利用GPU加速視頻解碼的并行架構方案,對解碼算法中的DCT變換、運動估計和運動補償算法分別進行了優(yōu)化。實驗測試顯示,優(yōu)化后的MPEG-4視頻解碼器解碼速度平均提高了25%,具有一定的實用價值。

        關鍵詞: 視頻壓縮編碼; MPEG-4; 視頻解碼器; 圖形處理單元

        中圖分類號:TP393.04 文獻標志碼:A 文章編號:1006-8228(2013)01-06-02

        Design and optimization of MPEG-4 video decoder

        Li Xiang

        (Network Center, Department of Information Engineering, Lanzhou VOC-TECH College, Lanzhou, Gansu 730070, China)

        Abstract: The MPEG-4, one of the most influential international standards of multimedia date code, has many advantages: the high compression ratio, the property of expanding and the property of switching. It has already gradually become the main standard in the realm of modern video frequency code. In order to accelerate the speed of the video decoding, on the basis of analyzing the coding and decoding standards of MPEG-4 video, a project abreast of parallel structures to accelerate the decoding of video frequency is designed. Decoding algorithm DCT, motion estimation and motion compensation algorithm are optimized. Finally through the test, the optimized MPEG-4 video decoder decoding speed increases by an average of 15%. It has certain practical value.

        Key words: video compression; MPEG-4; video decoder; GPU

        0 引言

        作為第一個面向對象的視頻編碼標準,MPEG-4的出現具有很強的歷史意義[1]。由于其廣泛適用于實時監(jiān)控、多媒體通信、網絡的可視化合作等多媒體應用場合,使基于MPEG-4標準的視頻編解碼技術受到前所未有的重視。本文針對MPEG-4系統(tǒng)提出了一種GPU+CPU并行實現架構,并在PC平臺實現了基于DCT算法改進的MPEG-4解碼器軟件設計,所設計的解碼器具有實時高效和控制靈活的特點,并加快了視頻解碼的速度。

        1 并行解碼器架構

        傳統(tǒng)的解碼器都是基于MB Level的,也就是說,依照次序對每一個宏塊完成IQ(逆量化)、IDCT(逆DCT變換)和MC(運動補償)。由于CPU和GPU之間頻繁的小塊數據交換非常低效,而且繪制小圖形也不能充分發(fā)揮GPU的性能,因此這種方式并不適合在GPU上實現。

        適合在CPU+GPU的體系上實現的并行解碼器架構是基于幀級(Frame Level)的,把包括運動補償、相加和幀緩沖的整個反饋回路都放到GPU上去執(zhí)行,圖1為分級的并行解碼器構架原理圖。原理圖中整個反饋環(huán)都已經并入了MC的框圖之中,由于緩沖區(qū)的存在,GPU上執(zhí)行的部分可以延后X幀。CPU和GPU可以并行工作,顯然這非常有利于解碼速度的提高。并行解碼器可以分3個級別來分別實現,解碼器的3種架構級別分別對應不同的硬件情況:如果CPU性能比GPU強很多,就可以選擇級別1,反之則選擇級別3,級別2則介于兩者之間。事實上,這3種級別是可以切換的。在解碼過程中,通過動態(tài)地在3種級別間進行切換,可以比較合理地將任務分配給CPU和GPU[2]。

        2 MPEG-4視頻解碼器的軟件算法優(yōu)化

        2.1 MPEG-4視頻的解碼流程

        解碼器是基于Frame Level的,無論是MC,還是IDCT或者IQ,當它們在GPU上實現時,每一步的操作都是針對同一幀上的所有宏塊的。VOP是MPEG-4的基本編碼單元,它包含視頻對象邊框的尺寸。圖2是MPEG-4的解碼流程,可以看出MPEG-4視頻解碼主要由三部分組成:形狀解碼、運動解碼和紋理解碼,重建的VOP是通過合并解碼的形狀、運動和紋理信息得到的[3,4]。

        2.2 解碼算法優(yōu)化

        2.2.1 IDCT變換的優(yōu)化

        從復雜度上分析,DCT變換是很耗時的,為了減少這部分的計算量,需要對它進行優(yōu)化。在DCT變換前,需要根據信號能量的量化因子QP進行DCT模式選擇,模式選擇我們設定了0×0 DCT變換、1×1 DCT變換、2×2 DCT變換、4×4 DCT變換、8×8 DCT變換五種。首先根據二維DCT/IDCT計算公式進行行列分離,把二維的DCT變換轉化為一維的DCT變換。然后采用一維DCT快速算法進一步降低其復雜度。

        在幀間模式下,通過當前塊的量化因子QP和信號能量值作DCT模式選擇可以減少計算量。為了簡化計算,取絕對差之和SAD來近似信號能量值。此外,為了減少誤判率和加快計算速度,在0×0 DCT變換和8×8 DCT變換兩種模式基礎上加了1×1 DCT變換、2×2 DCT變換、4×4 DCT變換三種模式。

        2.2.2 運動估計優(yōu)化

        運動補償是MPEG-4視頻解碼的核心之一。在編碼過程中,通過塊的匹配得出運動矢量信息,同時也會得出當前編碼塊的殘差信息。由于殘差信息帶有的信息量較少,可以通過紋理進行編碼。通過逆向推導,解碼時運動補償通過從碼流中獲取運動信息,進而解碼出運動矢量。然后根據運動矢量從參考幀中得出預測值。最后將預測值與解碼的紋理信息相加,即得到實際的圖像。由于MPEG-4(簡單框架)處理的都是基于塊對象的,因此不涉及形狀編碼,無需填充過程[5]。

        3 MPEG-4視頻解碼器的實現

        3.1 MPEG-4壓縮視頻的碼流結構

        MPEG-4標準定義了MPEG-4碼流中的每一位的具體含義,MPEG-4碼流的組織形式是按分層的形式組織起來的。首先是碼流頭,又叫起始碼字,是一個在碼流中其他地方不會出現的一個比較長的特殊序列,具體的頭信息定義了整個碼流的一些特征。接下來是幀頭,幀起始碼字和具體的幀頭信息,定義了當前幀的一些特征,這些信息決定了該如何解碼當前幀。從宏塊頭開始就是具體的數據,宏塊頭并沒有一個宏塊起始碼字,它緊跟在幀頭信息后面。

        應用程序調用相關接口函數,通過封裝靜態(tài)鏈接庫的方法可以實現解碼器。在視頻序列解碼的不同階段分別調用相關的接口函數,首先調用getvophdr獲取VOP的頭信息,然后調用macroblock函數實現幀解碼。

        3.2 頭信息的解碼[6]

        首先看V0、VOL、VOP頭信息的編解碼過程。編碼時,若編碼第一幀,則首先調用函數PutVoVolHeader對V0、VOP的頭信息進行編碼,接下來對每一幀編碼時,即編碼VOP時,首先調用函數BitstreamPutVopHeader對每個VOP的頭信息進行編碼。與此相對應,在解碼時,首先調用函數getvophdr,解碼V0、VOL的頭信息,然后在解碼每一幀時,調用函數getvophdr獲取VOP的頭信息。

        3.3 VOP解碼

        頭信息解碼完成之后,調用函數get_mp4picture對每個VOP進行解碼。該函數的實現過程為[6]:

        ⑴ 初始化宏塊的循環(huán)控制變量;

        ⑵ 循環(huán)調用宏塊解碼函數macroblock對VOP中的每一個宏塊進行解碼;

        ⑶ 調用函數make_edge對上一步獲得的解碼幀frame_ref(亦作為參考幀)進行邊填允;

        ⑷ 調用函數PictureDisplay將frame_ref圖像轉換為bmp圖像;

        ⑸ 將當前幀與參考幀交換。

        3.4 宏塊的解碼

        VOP解碼的整體過程中最關鍵就是函數macroblock的實現。VOP的編碼過程是基于宏塊的,所以VOP解碼過程同樣是基于宏塊的,因此此函數是解碼的核心函數,它一方面通過VLD(可變長解碼)、RLD(行程解碼)、IQ(逆量化)、IDCT(逆DCT變換)解碼出原始圖像值(I_VOP)或誤差值(P_VOP);一方面解碼出運動矢量Motion Vector,并進行MC(運動補償)[7]。

        4 結束語

        為了驗證GPU+CPU加速視頻解碼方案和相關算法優(yōu)化的效果,我們采用XVID作為模擬驗證軟件。軟件測試的計算機硬件配置為Intel奔騰雙核E5300 CPU,2GRAM,GeForce 9500GT GPU。軟件實現的軟件環(huán)境為Windows XP 中文專業(yè)版操作系統(tǒng)平臺,采用VisualC++7.0為程序開發(fā)環(huán)境[8]。

        通過選取標準視頻QICF文件做了視頻編碼后作為測試的視頻序列,測試其優(yōu)化前和優(yōu)化后解碼一幀所需要的時間,從而對同一幀的解碼時間進行比較。從測試結果看,視頻解碼速度優(yōu)化前與優(yōu)化后的平均解碼時間差有15ms。解碼器對于所有的視頻序列解碼速度平均提高了25%,解碼的視頻質量能讓人眼所接受,證明GPU輔助CPU加速解碼,對DCT算法、運動估計和運動補償算法的改進是行之有效的。

        參考文獻:

        [1] 尤會明,楊杰.MPEG-4視頻編碼分析[M].武漢理工大學學報(信息與管理工程版),2005.27(5):136-139

        [2] 房波.基于通用可編程GPU的視頻編解碼器——架構、算法與實現[D].浙江大學,2005.

        [3] 張志偉.一種遠程礦井瓦斯?jié)舛葯z測儀的設計[M].煤礦安全,2011.42(5):78-80

        [4] 趙麗鮮,蘇鴻根.MPEG-4視頻編解碼器設計實現與性能優(yōu)化[J].計算機工程與設計,2009.30(12):3001-3004

        [5] 張石,張明亮,鮑喜榮,佘黎煌.MPEG-4視頻解碼模塊的設計與優(yōu)化[J].計算機工程,2007.5:193-195

        [6] 劉璋.MPEG-4視頻解碼器的設計與優(yōu)化[D].華中科技大學,2006.

        [7] 沈承東.MPEG4視頻編碼算法的研究與實現[D].國防科學技術大學,2002.

        [8] 張志偉.電磁帶隙結構在同步開關噪聲抑制中的應用分析[M].電訊技術,2010.50(3):64-68

        69国产成人精品午夜福中文| 精品国产日韩无 影视| 求网址日韩精品在线你懂的| 国产自拍偷拍精品视频在线观看| 国产ww久久久久久久久久| 久久精品国产亚洲av电影| 久久久久国产精品四虎| 中文av字幕一区二区三区| 成人免费无遮挡在线播放| a在线观看免费网站大全| 狠狠色欧美亚洲综合色黑a| 精品私密av一区二区三区| 青青手机在线视频观看| 国产在线观看午夜视频| 久久精品夜色国产亚洲av| 久久久噜噜噜久久中文字幕色伊伊| 国产免费午夜福利蜜芽无码| 免费在线视频亚洲色图| 亚洲a∨无码一区二区三区| 欧美在线视频免费观看| 亚洲成片在线看一区二区| 日韩精品极品免费视频观看| 成人午夜性a级毛片免费| 伊人久久综在合线亚洲不卡| 国产av黄色一区二区| 国精产品一区一区二区三区mba| 老熟妻内射精品一区| 亚洲国产成人资源在线桃色| 各类熟女熟妇激情自拍| 国产成人a在线观看视频免费 | 国产色系视频在线观看| 中文字幕精品久久久久人妻红杏1| 国产亚洲日韩AV在线播放不卡| 人妖一区二区三区在线| 亚洲人成电影在线播放| av色综合网站| 在线不卡精品免费视频| 丰满的人妻hd高清日本| 精品国产亚洲AⅤ麻豆| 国产成版人性视频免费版| 成人日韩熟女高清视频一区|