• <strike id="ackas"><s id="ackas"></s></strike>
  • <th id="ackas"><menu id="ackas"></menu></th>
    
    
    <bdo id="ackas"></bdo>
  • <th id="ackas"></th>
    <ul id="ackas"><pre id="ackas"></pre></ul>
    无码专区视频精品老司机,在线精品国产成人综合,日韩高清免费一码二码三码,亚洲免费人成影院,国产成人精品日本亚洲专区,麻豆一二三区精品蜜桃,日韩精品卡1卡2日韩在线,精品视频一区二区观看
    公務員期刊網 論文中心 正文

    MPEG4視頻解碼器的優化路徑研討

    前言:想要寫出一篇引人入勝的文章?我們特意為您整理了MPEG4視頻解碼器的優化路徑研討范文,希望能給你帶來靈感和參考,敬請閱讀。

    MPEG4視頻解碼器的優化路徑研討

    MPEG-4視頻解碼器的軟件算法優化

    1MPEG-4視頻的解碼流程

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

    2解碼算法優化

    (1)IDCT變換的優化

    從復雜度上分析,DCT變換是很耗時的,為了減少這部分的計算量,需要對它進行優化。在DCT變換前,需要根據信號能量的量化因子QP進行DCT模式選擇,模式選擇我們設定了0×0DCT變換、1×1DCT變換、2×2DCT變換、4×4DCT變換、8×8DCT變換五種。首先根據二維DCT/IDCT計算公式進行行列分離,把二維的DCT變換轉化為一維的DCT變換。然后采用一維DCT快速算法進一步降低其復雜度。在幀間模式下,通過當前塊的量化因子QP和信號能量值作DCT模式選擇可以減少計算量。為了簡化計算,取絕對差之和SAD來近似信號能量值。此外,為了減少誤判率和加快計算速度,在0×0DCT變換和8×8DCT變換兩種模式基礎上加了1×1DCT變換、2×2DCT變換、4×4DCT變換三種模式。

    (2)運動估計優化

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

    MPEG-4視頻解碼器的實現

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

    MPEG-4標準定義了MPEG-4碼流中的每一位的具體含義,MPEG-4碼流的組織形式是按分層的形式組織起來的。首先是碼流頭,又叫起始碼字,是一個在碼流中其他地方不會出現的一個比較長的特殊序列,具體的頭信息定義了整個碼流的一些特征。接下來是幀頭,幀起始碼字和具體的幀頭信息,定義了當前幀的一些特征,這些信息決定了該如何解碼當前幀。從宏塊頭開始就是具體的數據,宏塊頭并沒有一個宏塊起始碼字,它緊跟在幀頭信息后面。應用程序調用相關接口函數,通過封裝靜態鏈接庫的方法可以實現解碼器。在視頻序列解碼的不同階段分別調用相關的接口函數,首先調用getvophdr獲取VOP的頭信息,然后調用macroblock函數實現幀解碼。

    2頭信息的解碼

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

    3VOP解碼

    頭信息解碼完成之后,調用函數get_mp4picture對每個VOP進行解碼。該函數的實現過程為[6]:⑴初始化宏塊的循環控制變量;⑵循環調用宏塊解碼函數macroblock對VOP中的每一個宏塊進行解碼;⑶調用函數make_edge對上一步獲得的解碼幀frame_ref(亦作為參考幀)進行邊填允;⑷調用函數PictureDisplay將frame_ref圖像轉換為bmp圖像;⑸將當前幀與參考幀交換。

    4宏塊的解碼

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

    結束語

    為了驗證GPU+CPU加速視頻解碼方案和相關算法優化的效果,我們采用XVID作為模擬驗證軟件。軟件測試的計算機硬件配置為Intel奔騰雙核E5300CPU,2GRAM,GeForce9500GTGPU。軟件實現的軟件環境為WindowsXP中文專業版操作系統平臺,采用VisualC++7.0為程序開發環境[8]。通過選取標準視頻QICF文件做了視頻編碼后作為測試的視頻序列,測試其優化前和優化后解碼一幀所需要的時間,從而對同一幀的解碼時間進行比較。從測試結果看,視頻解碼速度優化前與優化后的平均解碼時間差有15ms。解碼器對于所有的視頻序列解碼速度平均提高了25%,解碼的視頻質量能讓人眼所接受,證明GPU輔助CPU加速解碼,對DCT算法、運動估計和運動補償算法的改進是行之有效的。(本文作者:李想 單位:蘭州職業技術學院網絡管理中心信息工程系)

    相關文章閱讀
    主站蜘蛛池模板: 国产色系视频在线观看| 国产美女免费| 色欲天天网站欧美成人福利网| 欧美 亚洲 日韩 国产| 无码福利写真片视频在线播放| 素人视频亚洲十一十二区| 中文字幕日韩区二区三区| 国产特级毛片aaaaaaa高清| 午夜福利国产一区二区三区| 日韩一本不卡一区二区三区| 亚洲日韩久久综合中文字幕 | 国产精品麻豆成人AV电影艾秋| 亚洲国产精品久久电影欧美| 久久久亚洲色| 欧美人与动牲交zooz3d| 好吊视频一区二区三区在线| 国内少妇偷人精品视频| 综合图区亚洲另类偷窥| 九九热在线精品视频首页| 高清不卡毛片| 国产欧美一区二区三区在线看| 连续高潮喷水无码| 熟女人妇交换俱乐部| 男人av无码天堂| 国产亚洲熟妇综合视频| 国产真人无遮挡免费视频| 在线看一级无码毛片| 国产在线播放专区av| 67194熟妇在线观看线路| 国产综合自拍| 天天上天天添天天爱少妇| 亚洲第一无码精品久久| 国产成人手机高清在线观看网站| 亚洲熟女乱综合一区二区在线| 香蕉久久福利院| 放荡的美妇在线播放| 欧美性色欧美A在线图片| 无码av免费精品一区二区三区| 国产午夜亚洲精品不卡| 亚洲成a人片在线观看www| 亚洲动漫成人一区二区|