新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > MPEG-4編碼器在Intel PXA27X平臺上的實現時間

        MPEG-4編碼器在Intel PXA27X平臺上的實現時間

        作者: 時間:2014-02-24 來源:網絡 收藏
        4 MPEG一4是視頻編碼優化和結果

        這里是針對Intel公司的PXA27X處理器,MPEG一4計算量復雜,特別是運動搜索,必須對其必要的優化,以滿足實時編碼的要求。編譯優化是靜態優化,優化編譯器可以自動完成程序段和代碼塊范圍內的優化問題,但由于對算法的流程很難獲取,所以人工優化是不必可少的。可使用內聯函數,Wireless MMX指令編寫,如WLDRD和WMACS,特別在對數據處理時,打包指令是必不可少的指令。合理分配指令周期流水線也是重點,如WLDRD需要4個周期,而WUN—PCKEL只需要1個周期,使用IPP庫函數將大量節約開發時間和提高性能等,按照實際的工程的需要編寫指令。當然對算法的本身優化也不必可少,如運動搜索,運動補償算法,將這些函數優化運算時間大量減少。還有對數據搬移方面,如何有效應用硬件資源也將提高運行的性能,如DMA、緩存、寄存器等。

        這里的試驗平臺是南望信息產業有限公司PDA,主頻可達624 MHz。視頻大小(480×272)透過大量的試驗,測試表明MPEG一4編碼可以滿足用戶拍視頻需求,速度可達到20幀/s,而且有較高的壓縮率,碼流比較低,質量也不錯。圖3,4為實際拍攝2幀圖像。


        5 結 語

        針對Intel公司的PXA27X微處理器開發平臺,在Linux操作系統中實現視頻編碼的功能。但是消費類產品對視頻的畫面有更高的要求,同時由于視頻編碼需要消耗大量的電源,電源的管理仍是視頻開發的研究重點。


        2 MPEG一4視頻編碼關鍵技術

        MPEG一4視頻基于VOP的編碼就是針對運動信息、形狀信息和紋理信息等3種信息的編碼技術。

        2.1 形狀編碼

        MPEG一4首次引入形狀信息的編碼。VO的形狀信息有2類:二值形狀信息和灰度形狀信息。二值形狀信息用0,1表示VOP的形狀。二值信息的編碼采用基于塊的運動補償技術,可以無損或有損編碼。灰度形狀信息用0~255之間的數值表示VOP的透明程度。對灰度形狀信息的編碼是分別對二值形狀及像素亮度值進行編碼。目前對灰度形狀信息的編碼主要采用基于塊的運動補償與DCT方法,在不需要形狀信息的應用中(譬如基于規則矩形框幀的視頻編碼),形狀編碼會被屏蔽掉。這部分編碼是以宏塊為單位進行的。

        2.2 運動估計與補償編碼

        類似于現有的編碼標準,MPEG一4采用運動預測和運動補償技術來去除圖像信息中的時間冗余成分,這些運動信息的編碼技術可視為由現有標準向任意形狀的VOP的延伸。VOP的編碼有3種模式,即幀內編碼模式(I—VOP)、幀間預測編碼模式(P—VOP)和雙向預測編碼模式(B—VOP)。在MFEG一4中運動預測和運動補償可以是基于16×16宏塊的,也可以是基于8×8子塊的。為了能適應任意形狀的VOP,MPEG一4引入了圖像填充技術和多邊形匹配技術。圖像填充技術利用VOP內部的像素值外推VOP外的像素值,以此獲得運動預測的參考值。對于標準宏塊,采用傳統的基于塊的運動估計和補償技術。

        2.3 紋理編碼

        VOP視頻的紋理信息可以表示為亮度成分Y和兩個色度成分Cr,Cb。幀內編碼情況下,紋理信息包含有亮度和色度成分;運動補償情況下,紋理信息表示經過運動補償后的殘差。紋理編碼的對象可以是幀內編碼模式的I—VOP,也可以是幀間預測編碼模式B—VOP或P—VOP運動補償后的預測誤差。在幀內編碼模式中,對于完全在VOP內的像素塊,采用經典DCT方法。對于完全位于VOP之外的像素塊則不進行編碼:對于部分在VOP內,部分在VOP外的像素塊首先采用圖像填充技術獲得VOP之外的像素值,之后再進行DCT編碼。在幀間編碼模式中,為了對B—VOP和P—VOP運動補償后的預測誤差進行編碼,將那些位于VOP區域之外的像素值設為128。紋理編碼過程如圖1所示,DCT變換、量化、掃描及變長編碼,這些過程與現有標準基本相同。

        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 旬邑县| 湟中县| 和静县| 新巴尔虎右旗| 新兴县| 尼勒克县| 宜昌市| 台北市| 兴和县| 繁昌县| 洪江市| 扶沟县| 金阳县| 湟源县| 灌云县| 泗阳县| 宜丰县| 介休市| 古交市| 沙田区| 兴业县| 安溪县| 东光县| 石渠县| 高青县| 静安区| 陆良县| 宿松县| 岚皋县| 新民市| 连平县| 莫力| 凌海市| 明光市| 靖西县| 稻城县| 阿巴嘎旗| 高安市| 阳信县| 郑州市| 方城县|