<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 消費電子 > 設計應用 > PC機的MPEG-4編碼原理及實(shí)現

PC機的MPEG-4編碼原理及實(shí)現

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


程序采用了以下策略選取相鄰塊。定義塊A,B,C,X的DC系數值分別為DC_A,DC_B,DC_C,DC_X。

如果DC_A與DC_B的差小于DC_B與DC_C的差,則DC_A與DC_B在數值上比較接近,即在垂直方向上的數值比水平方向上更接近,所以采用DC_C來(lái)預測DC_X;反之,在水平方向的數值比較接近,即采用DC_A來(lái)預測DC_X。

將當前塊的DC系數與用來(lái)預測的相鄰塊的DC系數,經(jīng)過(guò)特定處理后做差,其差存放到當前塊的DC位置上,同時(shí)記錄此DC系數的預測方向。

AC預測主要是針對8×8塊的第一行或者第一列AC系數,其預測方向取決于當前塊DC系數的預測方向。如圖2所示,如果之前DC預測為水平預測,則當前塊X的第一列AC系數采用A塊的第一列AC系數預測,同時(shí)將X的第一列7個(gè)AC系數各自取絕對值后相加到變量S1(S1的初始值為0)上。將當前塊第一列AC系數與用來(lái)預測的相鄰塊A的第一列AC系數做差,其7個(gè)差值存放到當前塊的第一列AC系數的位置上,同時(shí)將7個(gè)差值各自取絕對值后相加到變量S2(S2的初始值為0)上。如果之前的DC預測為垂直預測,則只進(jìn)行當前塊X的第一行AC系數預測,其預測步驟同第一列AC系數的預測一樣。

有時(shí)AC預測會(huì )產(chǎn)生較大的預測誤差,并沒(méi)有達到節省位流的目的,因此必須判斷AC預測的有效性。在單個(gè)8×8小塊的AC預測中,用S1記錄了此小塊的第一行或第一列AC系數的絕對值之和,用S2記錄了第一行或第一列預測后7個(gè)差值的絕對和。以一個(gè)宏塊的6個(gè)8×8小塊為單位,將各個(gè)小塊的S1與S2之差相加,得到值S。如果S非零,則此宏塊進(jìn)行AC預測,其標志ACpred_flag置1,否則此宏塊不進(jìn)行AC預測,ACpred_flag置0。

1.2.2 之字型掃描

DC和AC預測之后,對8×8塊的系數進(jìn)行之字形掃描,共有Zigzag,Zigzag_v(交替垂直掃描)和Zigzag_h(交替水平掃描)三種掃描方式。采用何種掃描方式由三個(gè)要素決定,即幀內還是幀間預測,AC預測標志ACpred_flag的值,DC系數的預測方向。

對于幀內預測的宏塊,如果AC預測標志ACpredflag為0,則此宏塊中的6個(gè)8×8塊都使用Zigzag掃描;如果AC預測標志為1,則此宏塊中的6個(gè)8×8塊將根據各自的DC預測方向決定AC系數的掃描方向。如果DC預測為水平預測,則此8×8塊使用Zigzag_v掃描方式掃描系數,否則使用Zigzag_h掃描方式。

對于幀間預測的宏塊,其每個(gè)8×8塊統一采用Zigzag掃描方式掃描系數。

8×8的系數矩陣經(jīng)過(guò)之字型掃描后,大部分非零系數集中在一個(gè)一維數組的前部,大部分零系數集中在此一維數組的后面,根據此特點(diǎn)便產(chǎn)生了游程。

1.2.3 游程和熵

所謂游程編碼就是對8×8系數矩陣的AC系數進(jìn)行特定的處理,使其成為個(gè)數更少的三維矢量(Last,Run,Level)。其中,Level代表非0系數的大小。Run代表Level前面連續0的個(gè)數。Last代表終止標志:其值為0時(shí),表示Level后還有不為0的系數;其值為1時(shí)表示該系數是最后不為0的數;余下的系數全為0。游程編碼生成三維矢量,壓縮了數據量,然后根據Last,Run和Level的不同組合作為索引,找到對應Huffman編碼表中的碼字,生成碼流。


關(guān)鍵詞: 實(shí)現 原理 編碼 MPEG-4 PC

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>