MPEG-II的編碼流程

MPEG-II的編碼流程:

          從上至下依次爲:視頻序列層(Sequence),圖像組層(GOPGroupofPicture),圖像層(Picture),像條層(Slice),宏塊層(MacroBlock)和像塊層(Block)。從圖1中可以看到,除宏塊層和像塊層外,上面四層中都有相應的起始碼(SCStartCode),可用於因誤碼或其他原因收發兩端失步時,解碼器重新捕捉同步。因此一次失步將至少丟失一個像條的資料。

      序列指構成某路節目的圖像序列,序列起始碼後的序列頭中包含了圖像尺寸,寬高比,圖像速率等資訊。序列擴展中包含了一些附加資料。爲保證能隨時進入圖像序列,序列頭是重復發送的。

      序列層下是圖像組層,一個圖像組由相互間有預測和生成關係的一組IPB圖像構成,但頭一幀圖像總是I幀。GOP頭中包含了時間資訊。

      圖像組層下是圖像層,分爲IPB三類。PIC頭中包含了圖像編碼的類型和時間參考資訊。
      圖像層下是像條層,一個像條包括一定數量的巨集塊,其順序與掃描順序一致。MP@ML中一個像條必須在同一宏塊行內。

      像條層下是宏塊層。MPEG-2中定義了三種巨集塊結構:4:2:0宏塊4:2:2宏塊和4:4:4巨集塊,分別代表構成一個宏塊的亮度像塊和色差像塊的數量關係。

      4:2:0宏塊中包含四個亮度像塊,一個Cb色差像塊和一個Cr色差像塊;4:2:2宏塊中包含四個亮度像塊,二個Cb色差像塊和二個Cr色差像塊;4:4:4宏塊中包含四個亮度像塊,四個Cb色差像塊和四個Cr色差像塊。這三種巨集塊結構實際上對應於三種亮度和色度的抽樣方式。

         在進行視頻編碼前,分量信號RGB被變換爲亮度信號Y和色差信號CbCr的形式。4:2:2格式中亮度信號的抽樣頻率爲13.5MHz,兩個色差信號的抽樣頻率均爲6.75MHz,這樣空間的抽樣結構中亮度信號爲每幀720x576樣值,CbCr都爲360x576樣值,即每行中每隔一個圖元對色差信號抽一次樣,如圖3所示,代表Y信號的抽樣點,×代表CbCr信號的抽樣點。

     4:4:4格式中,亮度和色差信號的抽樣頻率都是13.5MHz,因此空間的抽樣結構中亮度和色差信號都爲每幀720x576樣值。而4:2:0格式中,亮度信號的抽樣頻率13.5MHz,空間的抽樣結構中亮度信號爲每幀720x576樣值,CbCr都爲360x288樣值,即每隔一行對兩個色差信號抽一次樣,每抽樣行中每隔一個圖元對兩個色差信號抽一次樣。

        通過上述分析不難計算出,4:2:0格式中,每四個Y信號的像塊空間內的CbCr樣值分別構成一個CbCr像塊;4:2:2格式中,每四個Y信號的像塊空間內的CbCr樣值分別構成兩個CbCr像塊;而4:4:4格式中,每四個Y信號的像塊空間內的CbCr樣值分別構成四個CbCr像塊。相應的巨集塊結構正是以此基礎構成的。

     宏塊層之下是像塊層,像塊是MPEG-2碼流的最底層,是DCT變換的基本單元。MP  ML中一個像塊由8x8個抽樣值構成,同一像塊內的抽樣值必須全部是Y信號樣值,或全部是Cb信號樣值,或全部是Cr信號樣值。另外,像塊也用於表示8x8個抽樣值經DCT變換後所生成的8x8DCT係數。

    在幀內編碼的情況下,編碼圖像僅經過DCT,量化器和位元流編碼器即生成編碼位元流,而不經過預測環處理。DCT直接應用於原始的圖像資料。

    在幀間編碼的情況下,原始圖像首先與幀記憶體中的預測圖像進行比較,計算出運動向量,由此運動向量和參考幀生成原始圖像的預測圖像。而後,將原始圖像與預測圖元差值所生成的差分圖像資料進行DCT變換,再經過量化器和位元流編碼器生成輸出的編碼位元流。

    可見,幀內編碼與幀間編碼流程的區別在於是否經過預測環的處理。