MPEG-4編碼器在Intel PXA27X平臺上的實(shí)現時(shí)間
隨著(zhù)人們對消費類(lèi)電子產(chǎn)品(如PDA,MP4,HDTV等)需求不斷增加,特別是對高質(zhì)量高清晰多媒體的要求越來(lái)越高,因此視頻質(zhì)量已經(jīng)成為廣大消費者關(guān)注的焦點(diǎn)之一。在視頻的格式方面,一些國際組織和大公司分別提出了自己的標準,如ISO組織的MPEG一2,MPEG一4,微軟的WMV等。
針對Intel公司的PXA27X處理器(這是一個(gè)包含Intel Wireless MMX技術(shù)基于Intel Xscale的處理器),以XVID MPEG一4為基礎,針對MPEG一4在Linux操作系統中實(shí)現視頻的編碼要求。在此首先介紹MPEG一4視頻標準,緊接著(zhù)闡述MPEG-4視頻標準的關(guān)鍵技術(shù)和MPEG一4視頻編碼軟件部分,最后還介紹了優(yōu)化方法和實(shí)際平臺的測試。
l MPEG一4是視頻標準
MPEG一4視頻部分是MPEG一4標準的核心內容之一。既提供傳統的基于幀的編碼方法又提供基于視頻對象(VO)的編碼方法。在某一時(shí)刻,視頻對象以視頻對象平面(VOP)的形式出現,圖1所示為MPEG一4編碼的框架。編碼也主要針對該時(shí)刻視頻對象的形狀、運動(dòng)和紋理這三類(lèi)信息來(lái)進(jìn)行。

3 MPEG一4是視頻編碼軟件
MPEG一4是軟件編碼是一個(gè)比較大的工程,項目用到的主要函數有:
mp4_encoder_init:初始化編碼的參數,如視頻大小尺寸、碼流、緩沖大??;
encode_MPEG一4:編碼調用的總函數,文本是基本層;
encode_pvop_MPEG一4對P幀的VOP的編碼的總函數;
i ppiBlockMatcn_Imeger_16x16_MVFAST:運動(dòng)搜索MVFAST(Motion Vector Field AdaDtive Search Technique)。
下面是幀間宏塊編碼的函數:
encode_inter_mb_MPEG一4
(1)lookup_uvmv_MPEG一4:查找色度圖像塊的運動(dòng)矢量;
(2)ippiComputeTextureErrorBlock_SAD_8u16s:計算塊殘余的紋理誤差;
(3)encode_block_inter_MPEG一4:DCT變化和量化每塊的系數。這還得反變化,來(lái)重構下幀的 參考幀;
(4)create_mb_MPEG一4:得到宏塊編碼的信息;
(5)ippiEncodeMV_MPEG一4_8u16s:運動(dòng)矢量和紋理殘余的編碼;
(6)ippiEncodeVLCZigzag_Inter_MPEG一4_16slu:zigzig掃描和變長(cháng)編碼。
IPP的函數合理使用,可以提高性能。如ip—piBlockMatch_InIeger_16x16_MVFAST這個(gè)函數就比ippiMotionEstimation_16x16_MVFAST減少3倍時(shí)間。這個(gè)函數是占正個(gè)系統最多的時(shí)間之一。
評論