1. 視頻基礎(chǔ)知識(shí)
? ? 視頻是一種連續(xù)的動(dòng)態(tài)圖像序列狱意,通過快速播放這些圖像序列,我們可以在屏幕上看到連續(xù)的拯欧、動(dòng)態(tài)的影像详囤。視頻由一系列幀(Frame)組成,每幀都是一幅靜態(tài)的圖像。視頻的幀率(Frame Rate)表示每秒播放的幀數(shù)藏姐,幀率越高隆箩,視頻看起來就越流暢。常見的視頻幀率有24fps(每秒24幀)羔杨、30fps(每秒30幀)等捌臊。
? ? 視頻編碼是視頻處理中的重要環(huán)節(jié),它通過特定的算法和壓縮技術(shù)兜材,將原始的視頻數(shù)據(jù)轉(zhuǎn)換為適合存儲(chǔ)和傳輸?shù)母袷嚼砼臁R曨l編碼的目的是在保持視頻質(zhì)量的前提下,盡可能減少文件的大小曙寡,提高傳輸效率矾端。
2. I、B卵皂、P幀知識(shí)
在視頻編碼中,為了更有效地壓縮視頻數(shù)據(jù)砚亭,通常會(huì)將幀分為三種類型:I幀(關(guān)鍵幀)灯变、P幀(預(yù)測(cè)幀)和B幀(雙向預(yù)測(cè)幀)。
? (1) I幀(Intra-coded Frame捅膘,關(guān)鍵幀)
I幀是視頻序列中的關(guān)鍵幀添祸,它采用幀內(nèi)編碼方式,僅利用本幀內(nèi)的數(shù)據(jù)進(jìn)行編碼寻仗。I幀包含了完整畫面的數(shù)據(jù)刃泌,因此也被稱為關(guān)鍵幀或獨(dú)立幀。在解碼時(shí)署尤,I幀不需要參考其他幀即可獨(dú)立解碼出完整的畫面耙替。由于I幀包含了完整的數(shù)據(jù),因此其數(shù)據(jù)量相對(duì)較大曹体。
? (2) P幀(Predicted Frame俗扇,預(yù)測(cè)幀)
P幀采用幀間編碼方式,它利用前面的I幀或P幀進(jìn)行預(yù)測(cè)編碼箕别。P幀只包含與前一幀之間的差異數(shù)據(jù)铜幽,因此數(shù)據(jù)量相對(duì)較小。在解碼時(shí)串稀,P幀需要參考前面的I幀或P幀才能解碼出完整的畫面除抛。由于P幀只包含差異數(shù)據(jù),因此其壓縮效率較高母截。
? (3) B幀(Bidirectionally Predicted Frame到忽,雙向預(yù)測(cè)幀)
B幀同樣采用幀間編碼方式,但它不僅參考前一幀(I幀或P幀)微酬,還參考后一幀(I幀或P幀)進(jìn)行預(yù)測(cè)編碼绘趋。B幀包含了前后兩幀之間的差異數(shù)據(jù)颤陶,因此其數(shù)據(jù)量也較小。在解碼時(shí)陷遮,B幀需要參考前后兩幀才能解碼出完整的畫面滓走。由于B幀同時(shí)參考了前后兩幀,因此其壓縮效率更高帽馋。
在視頻編碼中搅方,合理地利用I、P绽族、B幀可以提高視頻的壓縮效率和傳輸效率姨涡。通常情況下,I幀的間隔(GOP吧慢,Group of Pictures)是視頻編碼中的重要參數(shù)之一涛漂,它決定了視頻序列中I幀的數(shù)量和位置。選擇合適的GOP值可以在保證視頻質(zhì)量的前提下检诗,進(jìn)一步提高視頻的壓縮效率匈仗。