I‑frame (Intra-coded picture): 即完整的一張圖片
P‑frame (Predicted picture): 與前面一張圖片的區別的區域
B‑frame (Bidirectional predicted picture):與前面以及後面的圖片的區別區域
衆所周知,視頻通常是由多張圖片進行組成的。
I幀
如今有一段影片以下:
該影片總共是20張圖片組成的,
每一張完整的圖片咱們均可以叫作I幀。假如每張JPEG的圖片大小爲100KB,那麼傳輸兩張圖片即爲100 * 20 = 2000KB
要知道這個還不到幾秒的影片就2M了,要是幾個小時的那還得了,因此就有了影片壓縮的算法
P幀
經過觀察,咱們能夠看出,實際上每一幀之間其實只有一部分細微的差異而已,以下圖提取了6幀
當傳輸完第一幀之後,第二幀其實咱們只須要傳輸一部分,而後由另一端進行圖片算法來進行組合
用這種方式,在傳輸第二幀的時候,還不到原來的1/10,只須要傳輸第一幀的100KB,
後續的都是按照這種方式傳輸部分,這種只傳輸部分的圖片,就是P幀了。最後整個影片的大小即爲100KB + 10KB * 19 = 290 KB,比原來縮小了不少
B幀:
B幀其實就是與先後兩張圖片的區別。若是理解了P幀和I幀,這個就很好理解了。
B幀比P幀更小,更節省空間
假設如今有三張圖片,以下圖:
在通過編碼後,會變成以下:
參考資料: