網(wǎng)上關(guān)于直播H264編碼的文章已經(jīng)很多了,但是其中牽扯到了很多名詞,讓人不是很理解,這篇文章的意義就是理解這些概念
讓我們努力變成巨人-------------與君共勉
首先H264是一種高度壓縮數(shù)字視頻編解碼器標(biāo)準(zhǔn)
為了更好地說明幀的概念搞坝,我們先來看看電影播放的基本原理擒贸。
在放映電影的過程中,畫面被一幅幅地放映在銀幕上瓷患。畫幅移開時,光線就被遮住遣妥,幕上便出現(xiàn)短暫的黑暗;每放映一個畫幅后攀细,幕上就黑暗一次箫踩。但這一次次極短暫的黑暗,被人的視覺生理現(xiàn)象“視覺暫留”所彌補谭贪。人眼在觀察景物時境钟,光信號傳入大腦神經(jīng)需經(jīng)過一段短暫時間,光的作用結(jié)束時俭识,視覺也不立即消失慨削。視覺的這一現(xiàn)象稱為“視覺暫留”。當(dāng)電影畫面換幅頻率達(dá)到每秒15幅~30幅時套媚,觀眾便見不到黑暗的間隔了缚态,這時人“看到”的就是運動的事物,這就是電影的基本原理堤瘤。這里的一幅畫面就是電影的一幀玫芦,實際上就是電影膠片中的一格。
幀——就是影像動畫中最小單位的單幅影像畫面本辐。
我們通常說幀數(shù)桥帆,簡單地說,就是在1秒鐘時間里傳輸?shù)膱D片的幀數(shù)慎皱,也可以理解為圖形處理器每秒鐘能夠刷新幾次老虫,通常用FPS(Frames Per Second)表示。
I幀又稱為內(nèi)部畫面茫多,通常是一組連續(xù)畫面的第一個幀祈匙,經(jīng)過適度地壓縮,做為隨機訪問的參考點地梨,可以當(dāng)成圖像菊卷。I幀采用幀內(nèi)壓縮法,這種壓縮與靜態(tài)圖像的壓縮算法類似宝剖。I幀是靠盡可能去除圖像空間冗余信息來壓縮的洁闰。
P幀是通過充分降低與圖像序列中前面已編碼幀的時間冗余信息來壓縮傳輸數(shù)據(jù)量的編碼圖像,也叫預(yù)測幀万细。P幀由在它前面的P幀或者I幀預(yù)測而來扑眉,它根據(jù)本幀與鄰近的前一幀或幾幀的不同點來壓縮本幀數(shù)據(jù)纸泄。采取P幀和I幀聯(lián)合壓縮的方法可達(dá)到更高的壓縮且無明顯的壓縮痕跡。P幀屬于前向預(yù)測的幀間編碼腰素。它只參考前面靠近它的I幀或P幀聘裁。
B幀也叫雙向預(yù)測幀,當(dāng)把一幀壓縮成B幀時弓千,它根據(jù)鄰近的前幾幀衡便、本幀以及后幾幀數(shù)據(jù)的不同點來壓縮本幀,也即僅記錄本幀與前后幀的差值洋访。只有采用B幀壓縮才能達(dá)到超高的壓縮比镣陕。一般地,I幀壓縮效率最低姻政,P幀較高呆抑,B幀最高。
幀間(Interframe)壓縮是基于許多視頻或動畫的連續(xù)前后兩幀具有很大的相關(guān)性汁展,或者說前后兩幀信息變化很小的特點鹊碍。也即連續(xù)的視頻其相鄰幀之間具有冗余信息,根據(jù)這一特性食绿,壓縮相鄰幀之間的冗余量就可以進(jìn)一步提高壓縮量侈咕,減小壓縮比。幀間壓縮也稱為時間壓縮(Temporal compression)炫欺。
幀內(nèi)(Intraframe)壓縮也稱為空間壓縮(Spatial compression)乎完。當(dāng)壓縮一幀圖像時,僅考慮本幀的數(shù)據(jù)而不考慮相鄰幀之間的冗余信息品洛,這實際上與靜態(tài)圖像壓縮類似树姨。幀內(nèi)一般采用有損壓縮算法,達(dá)不到很高的壓縮比桥状。
I幀又稱為內(nèi)部畫面帽揪,通常是一組連續(xù)畫面的第一個幀,經(jīng)過適度地壓縮辅斟,做為隨機訪問的參考點转晰,可以當(dāng)成圖像。I幀采用幀內(nèi)壓縮法士飒,這種壓縮與靜態(tài)圖像的壓縮算法類似查邢。I幀是靠盡可能去除圖像空間冗余信息來壓縮的。