天天看點

MPEG-TS基礎2MPEG2的三類幀 PES包的結構: MPEG-2傳送流系統層

MPEG2的三類幀

I幀:是幀内編碼幀,其編碼不依賴BP兩幀,同時他是BP幀編解碼的參考圖像 P幀:前向預測編碼圖像,像素的預測值取為前面與其相鄰的I幀或P幀中對應像素的值,即采用幀間運動補償前值預測。 B幀:雙向預測編碼圖像,像素的預測值取為前後與其距離最近的I幀或P幀相應像素的權重平均,即采用幀間運動補償前後平均,需要指出,B幀不能作為其他B幀或P幀的編碼參考圖像。

編碼順序: 傳輸流中編碼圖像的順序按照IPB的順序

顯示順序: 在解碼輸出端重建圖像的順序,按照IBP的順序。

一個視訊圖像,是由圖像組(Grop)組成的。每個圖像組由一個I幀和3個P幀8個B幀組成的。 圖像的顯示順序為:1I,2B,3B,4B, 5B,6B,7P,8B,9B,10P,11B,12B,13I 圖像的編碼順序為:1I,4P, 2B,3B, 7P,5B,6B,10P,8B,9B,13I,11B,12B

MPEG-TS基礎2MPEG2的三類幀 PES包的結構: MPEG-2傳送流系統層

PES包的結構:

PES包是可變長的,通常可以達到64KB長度。PES中最重要的是DTS和PTS。有了PTS和DTS,解碼器就可以從編碼器傳送的IPB幀中重建視訊流。

PES包結構:

MPEG-TS基礎2MPEG2的三類幀 PES包的結構: MPEG-2傳送流系統層

MPEG-2傳送流系統層

為了實作解碼同步,在PES中插入PTS和DTS以及相關的系列标志符。

MPEG-TS基礎2MPEG2的三類幀 PES包的結構: MPEG-2傳送流系統層

由圖可以看出,TS由4B的標頭,可變長度的調整頭和負載構成。標頭由同步位元組,1b傳送資料包差錯訓示,1b淨荷單元起始訓示,1b傳送優先權,13b的包辨別符PID,2b傳送加擾控制,2b調整字段控制和4b連續計數器組成。

淨荷起始訓示表示打包的原始流PES資料包字頭或包含與節目有關的PES資訊的起始端,是否出現在該TS包的淨荷中。

調整字段控制表示在在標頭後面是否有調整端和或淨荷。

連續計數器中的數值對于具有相同PID值的淨荷而言,從0-15連續循環,用來在解碼端檢測是否有丢失的TS包。

除了各節目的各個傳送流外,還應有節目專用資訊PSI,PSI資料由固定字長的整體字頭和可變字長的節目清單表PAT或單節目映射表PMT以及4b的CRC組成。

MPEG-2傳送流包文法結構

TS包中負載傳送的資訊主要有4種類型:

1.視訊和音頻的PES包以及輔助資料。

2.描述單路節目的節目映射表(PMT)與描述多路節目複用資訊的節目關聯表(PAT)以及對CA系統所要求的條件通路表(CAT)。

3.各種業務資訊表。

4.DVB資料廣播資訊,包括資料管道,異步資料報,同步,被同步資料流,多協定封裝,循環資料,循環對象。

MPEG-TS標頭文法結構:

MPEG-TS基礎2MPEG2的三類幀 PES包的結構: MPEG-2傳送流系統層

·sync_byte:1B 值為0x47。

·payload_unit_start_indicator:1b長度。

當TS包帶有PES包資料時,payload_unit_start_indicator值為1時,表示TS包的負載以PES包的第一個位元組開始,值為0,表示TS包開始的不是PES包。

當TS包帶有PSI資料時,payload_unit_start_indicator值為1時,表示TS包帶有PSI部分的第一個位元組,即第一個位元組帶有指針pointer_field;置為0,表示TS包不帶有一個PSI部分的第一個位元組,即在有效淨荷中沒有指針的pointer_field.

空包payload_unit_start_indicator應置為0.

·PID:13b。表示淨荷的資料類型。PID=0x0000,表示淨荷的資料位節目關聯表。

PID取值配置設定:

MPEG-TS基礎2MPEG2的三類幀 PES包的結構: MPEG-2傳送流系統層

MPEG-2 TS包調整字段:

在ts中,為了傳送打包後的長度不足188B的不完整TS,或者為了在系統層插入節目時鐘參考PCR字段,需要在TS包中插入可變長位元組的調整字段。

調整字段是一個可邊長的域,它是由存在于TS標頭中的調整字段控制值來辨別的。