根據H.264的不同類別,編碼器會使用不同類型的幀,例如I幀、P幀和B幀。
I幀(幀內編碼幀)是一種自帶全部信息的獨立幀,無需參考其它圖像便可獨立進行解碼。視頻序列中的第一個幀始終都是I幀。如果所傳輸的比特流遭到破壞,則需要將I幀用作新查看器的起始點或重新同步點。I幀可以用來實現快進、快退以及其它隨機訪問功能。如果新的客戶端將參與查看視頻流,編碼器將以相同的時間間隔或者根據要求自動插入I幀。I幀的缺點在于它們會占用更多的數據位,但從另一方面看,I幀不會產生可覺察的模糊現象。
P幀(幀間預測編碼幀)需要參考前面的I幀和/或P幀的不同部分才能進行編碼。與I幀相比,P幀通常占用更少的數據位,但其缺點是,由于P幀對前面的P和I參考幀有著復雜的依賴性,因此對傳輸錯誤非常敏感。
B幀(雙向預測編碼幀)需要同時以前面的幀和后面的幀作為參考幀。
圖2.帶有I幀、B幀和P幀的典型視頻序列。P幀只需要參考前面的I幀或P幀,而B幀則需要同時參考前面和后面的I幀或P幀。
當視頻解碼器逐個幀地對比特流進行解碼以便重構視頻時,必須始終從I幀開始解碼。如果使用了P幀和B幀,則必須與參考幀一起解碼。
在H.264基準類中,僅使用I幀和P幀。由于基準類沒有使用B幀,所以可以實現低延時,因此是網絡攝像機和視頻編碼器的理想選擇。