mpeg-ts(二)

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

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

PES包結構:

MPEG-2傳送流系統層

爲了實現解碼同步,在PES中插入PTS和DTS以及相關的系列標誌符。

由圖可以看出,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包頭語法結構:

·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-2 TS包調整字段:
在ts中,爲了傳送打包後的長度不足188B的不完整TS,或者爲了在系統層插入節目時鐘參考PCR字段,需要在TS包中插入可變長字節的調整字段。

調整字段是一個可邊長的域,它是由存在於TS包頭中的調整字段控

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章