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