新聞中心

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

PC機(jī)的MPEG-4編碼原理及實(shí)現(xiàn)

作者: 時(shí)間:2010-06-02 來源:網(wǎng)絡(luò) 收藏

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

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

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

1 編碼

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


1.1 形狀編碼

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

1.2 紋理編碼

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

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

條件1:mad P50/3;

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

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

1.2.1 DC和AC預(yù)測(cè)

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

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

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


上一頁 1 2 3 下一頁

評(píng)論


相關(guān)推薦

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

關(guān)閉