新聞中心

EEPW首頁 > 消費電子 > 設(shè)計應(yīng)用 > PC機的MPEG-4編碼原理詳解及實現(xiàn)

PC機的MPEG-4編碼原理詳解及實現(xiàn)

作者: 時間:2011-12-25 來源:網(wǎng)絡(luò) 收藏

日益增長的多媒體通信量和有限的通信帶寬之間的矛盾日益突出。為了減小傳輸?shù)臄?shù)據(jù)量,國際電信聯(lián)盟和MPEG標(biāo)準(zhǔn)組織都制定過各自的視頻壓縮標(biāo)準(zhǔn)。其中,最新標(biāo)準(zhǔn)以其高壓縮率,支持低碼率傳輸和基于對象等優(yōu)點,而在傳真、視頻點播、電視會議、醫(yī)用圖像傳輸?shù)阮I(lǐng)域廣泛應(yīng)用。

繼承了MPEG-2中檔次和等級概念,共有視頻檔次、音頻檔次、圖形檔次和場景描述檔次共四類。檔次是針對某一特定的應(yīng)用而采用的工具,它是提供的工具集中一個子集,不同的檔次就是不同的子集。每一個檔次分為一個或多個等級,等級則定義了比特流參數(shù)的規(guī)格,實際上是限定了解碼一個序列所應(yīng)具備的性能。

MPEG-4的獨特之處在于支持基于內(nèi)容的編解碼,為此引入了視聽對象AVO(Audio/Video Object)的概念。AVO可以是一幅圖像中一個小提琴或琴聲等,每個AVO可獨立編碼,但相互之間又存在著時空結(jié)構(gòu)關(guān)系,因此編碼時,必須傳送編碼對象的組成結(jié)構(gòu)信息體“場景描述”,以表示場景中各AVO之間的時空結(jié)構(gòu)關(guān)系。解碼時根據(jù)此“場景描述”對圖像和聲音的有關(guān)內(nèi)容進行編輯和操作。視聽對象還可以是一個矩形幀,從而使MPEG-4兼容原來的MPEG標(biāo)準(zhǔn)。視聽對象中的視頻對象VO通常由3類信息來描述,即運動、形狀和紋理信息。

1 編碼

MPEG-4編碼器主要由形狀編碼、紋理編碼和運動編碼三部分組成。幀格式分為I-VoP,P-VOP和B-VOP。這里只討論I-VOP和P-VOP。I-VOP采用紋理編碼來消除一幀圖像數(shù)據(jù)間的空間冗余度;P-VOP是參考前一幀圖像,并采用兩種參數(shù)來編碼。一種是當(dāng)前要編碼的圖像與參考圖像之間的差值;另一種是運動矢量。編碼器的具體結(jié)構(gòu)模塊如圖1所示。


1.1 形狀編碼

形狀編碼主要用于記錄從圖像序列中提取VOP的形狀信息,該信息分為二值形狀信息和灰度形狀信息。二值形狀信息用0和1兩個值表示VOP的形狀;灰度形狀信息用0~255表示VOP區(qū)域的不同透明度。在編碼時,當(dāng)提取的VOP具有非矩形形狀時,需要對其進行邊界擴展,使其矩形邊界都是16的倍數(shù),同時保證擴展后的面積最小,然后進行形狀編碼;當(dāng)提取的VOP為矩形時(矩形的長度和寬度都是16的倍數(shù)),形狀編碼就會被屏蔽。

1.2 紋理編碼

紋理編碼主要對I-VOP內(nèi)的圖像像素或P-VOP內(nèi)的差值像素進行編碼,包括DCT、量化、DC和AC預(yù)測、熵編碼等過程,最大程度地去除當(dāng)前VOP內(nèi)各像素之間的空間冗余度。

視頻的第一幀圖像采用I-VOP格式編碼,其余的幀采用I-VOP,還是P-VOP格式則受兩個因素制約。其用戶會按照IPPPIPPPI的方式設(shè)置當(dāng)前幀所采用的格式;二是已經(jīng)人為地設(shè)置了當(dāng)前幀為P-VOP,通過運動估計計算mad_P的值,如果mad_P滿足下列兩個條件之一,則當(dāng)前幀就采用P-VOP編碼格式,否則采用I-VOP編碼格式。

條件1:mad P50/3;

條件2:mad P50,并且IntraMBRatio0.4。其中,IntraMBRatio為當(dāng)前幀中采用MBM_INTRA預(yù)測模式的宏塊占總宏塊的比重。

紋理編碼中的DCT和量化模塊比較簡單,這里略過,重點介紹剩下的紋理編碼模塊。

1.2.1 DC和AC預(yù)測

8×8塊經(jīng)過DCT和量化后,系數(shù)排列呈現(xiàn)以下的規(guī)律,即非零系數(shù)集中在左上角,大部分的0系數(shù)集中在偏離DC系數(shù)向右和向下的位置上。特別是DC系數(shù)、第一行和第一列AC系數(shù),數(shù)值非零且較大,如果能用較小的數(shù)值代替它們,會減少編碼后的位流數(shù),于是產(chǎn)生DC和AC預(yù)測。

在MPEG-4中,通常把一個宏塊分為6個8×8塊進行DC和AC預(yù)測。

首先對8×8塊進行DC預(yù)測。如圖2所示,X表示當(dāng)前的8×8塊;A,B和C表示X的相鄰8×8塊,其位置分別位于X的左邊、左上角和上邊。對X進行DC預(yù)測就是采用相鄰塊的DC系數(shù)值預(yù)測X的DC系數(shù)值,關(guān)鍵是選擇哪個相鄰塊的DC系數(shù)。


上一頁 1 2 3 下一頁

關(guān)鍵詞: 詳解 實現(xiàn) 原理 編碼 MPEG-4 PC

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉