I幀 P幀 B幀,以及PTS DTS的關係

2021-08-01 11:41:35 字數 1896 閱讀 7998

i幀法是基本離散余弦變換 dct( discrete cosine transform )的壓縮技術,這種演算法與jpeg壓縮演算法類似。jpeg壓縮是一種針對靜止的連續色調的影象壓縮方法,它屬於帖內壓縮。採用i幀壓縮可達到1/6的壓縮比而無明顯的壓縮痕跡。

i  幀

①它是乙個全幀壓縮編碼幀。它將全幀影象資訊進行jpeg壓縮編碼 及傳輸。 

②解碼時僅用i幀的資料就可重構完整影象。 

③i幀描述了影象背景和運動主體的詳情。 

④i幀不需要參考其他畫面而生成。 

⑤i幀是p幀和b幀的參考幀(其質量直接影響到同組中以後各幀的質量)。 

⑥i幀是幀組gop的基礎幀(第一幀),在一組中只有乙個i幀。 

⑦i幀不需要考慮運動向量。 

⑧i幀所佔資料的資訊量比較大。

p 幀:前後**編碼幀,又稱predictive-picture。通過充分的將低於圖象序列中前面已編碼幀的時間冗餘資訊來壓縮傳輸資料量的編碼影象,也叫**幀。這個幀不能單獨作為影象進行**,其不能成為完整的一張圖,需要參考前面一張i幀或b幀來形成完整圖。p幀特點: 

①p幀是i幀後面相隔1~2幀的編碼幀。 

②p幀採用運動補償的方法傳送它與前面的i或p幀的差值及運動向量(**誤差)。 

③解碼時必須將i幀中的**值與**誤差求和後才能重構完整的p幀影象。 

④p幀屬於前向**的幀間編碼。它只參考前面最靠近它的i幀或p幀。 

⑤p幀可以是其後面p幀的參考幀,也可以是其前後的b幀的參考幀。 

⑥由於p幀是參考幀,它可能造成解碼錯誤的擴散。 

⑦由於是差值傳送,p幀的壓縮比較高。

b 幀:雙向**內插編碼幀,又稱bi-directional interpolated prediction frame,既考慮與源影象序列前面已編碼幀,也顧及源影象序列後面已編碼幀之間的時間冗餘資訊來壓縮傳輸資料量的編碼影象,也叫雙向**幀,也同樣不能成為完整的一張圖,需要參考前面的i或p幀以及後面的乙個p幀來形成一張完整的圖。b幀特點:

①b幀是由前面的i或p幀和後面的p幀來進行**的。 

②b幀傳送的是它與前面的i或p幀和後面的p幀之間的**誤差及運動向量。 

③b幀是雙向**編碼幀。 

④b幀壓縮比最高,因為它只反映丙參考幀間運動主體的變化情況,**比較準確。 

⑤b幀不是參考幀,不會造成解碼錯誤的擴散。

pts

dts:decode-time-stamp。dts主要是標識讀入記憶體中的位元流在什麼時候開始送入解碼器中進行解碼。

在沒有b幀存在的情況下dts的順序和pts的順序應該是一樣的。

mpeg壓縮方式:

所以,2個i幀之間的一大串,形成乙個gop,而gop中間由p幀+b幀組成。

mpeg-2 壓縮的幀結構有兩個引數:

一是 gop(group of picture)影象組的長度,一般可按編碼方式從 1-15。

二是i幀和p幀之間b幀的數量,一般是1~2個。前者在理論上記錄為 n,即多少幀裡面出現一次 i 幀;後者描述為多少幀裡出現一次 p 幀,記錄為 m。

i幀的解碼不依賴於任何的其它的幀。

p幀的解碼則依賴於其前面的i幀或者p幀。

b幀的解碼則依賴於其前的最近的乙個i幀或者p幀及其後的最近的乙個p幀。

對於pts來看,其實就是=顯示順序*t;而dts,其實就是=解碼順序*t;其中間隔的時間是固定的;

i、b、p各幀是根據壓縮演算法的需要,是人為定義的。它們都是實實在在的物理幀,至於影象中的哪一幀是i幀是隨機的。

一但確定了i幀,以後的各幀就嚴格按規定順序排列。

I幀 B幀 p幀 IDR幀的區別

idr instantaneous decoding refresh 即時解碼重新整理。i幀 幀內編碼幀幀。i和idr幀都是使用幀內 的。它們都是同乙個東西而已,在編碼和解碼中為了方便,要首個i幀和其他i幀區別開,所以才把第乙個首個i幀叫idr,這樣就方便控制編碼和解碼流程。idr幀的作用是立刻重新...

I 幀,B幀,P幀,IDR幀的區別

i幀 幀內編碼幀 i幀特點 1.它是乙個全幀壓縮編碼幀。它將全幀影象資訊進行jpeg壓縮編碼及傳輸 2.解碼時僅用i幀的資料就可重構完整影象 3.i幀描述了影象背景和運動主體的詳情 4.i幀不需要參考其他畫面而生成 5.i幀是p幀和b幀的參考幀 其質量直接影響到同組中以後各幀的質量 6.i幀是幀組g...

什麼是I幀,P幀,B幀

i幀表示關鍵幀,你可以理解為這一幀畫面的完整保留 解碼時只需要本幀資料就可以完成 因為包含完整畫面 p幀表示的是這一幀跟之前的乙個關鍵幀 或p幀 的差別,解碼時需要用之前快取的畫面疊加上本幀定義的差別,生成最終畫面。也就是差別幀,p幀沒有完整畫面資料,只有與前一幀的畫面差別的資料 b幀是雙向差別幀,...