H.264学习(一)——帧和场的概念
一、何謂場?
每個電視幀都是通過掃描屏幕兩次而產生的,第二個掃描的線條剛好填滿第一次掃描所留下的縫隙。每個掃描即稱為一個場。因此 25 幀/秒的電視畫面實際上為 50 場/秒 (若為 NTSC 則分別為 30 & 60 - 因為我是中國人,因此我采用 PAL 的數值)。
若要取得包含最大細節的幀,您需要合并兩個場內的信息。截至目前為止,這些觀念都很簡單,不過若考慮到動態畫面,就不是那么容易了。因為攝像機將依次地掃描這兩個場,影像內的所有文件到了第二個場中將移到不同于第一個場的位置。這將有助于電視畫面的動作更為順暢,不過這也是場在編輯時所會造成的困擾。
二、計算機與電視
當計算機在顯示器上播放視頻時,它只會顯示一系列完整的幀,而不使用交錯場的電視技巧。因此針對計算機顯示器所設計的視頻格式和 MPEG-1 都不使用場。專為這些格式設計的視頻編輯軟件就無法正確地處理場,因此不適合產生用于電視的視頻。若您的影片將通過電視來播放,務必使用可處理場的編輯程序。
三、概述
原始視頻幀(最原始的視頻數據)根據編碼的需要,以不同的方式進行掃描產生兩種視頻幀:連續或隔行視頻幀,隔行視頻幀包括頂場和底場,連續(遂行)掃描的視頻幀與隔行掃描視頻幀有著不同的特性和編碼特征,產生了所謂的幀編碼和場編碼。一般情況下,遂行幀進行幀編碼,隔行幀可在幀編碼和場編碼間選取。
在幀編碼中,參考為幀圖像,采用幀運動補償,兩個場是聯合編碼,;在場編碼中,參考為場圖像,兩個場是分別編碼,采用場運動補償。
二、視頻序列幀、場編碼方式
1.固定幀編碼(全幀)----視頻序列的全部幀始終采用幀編碼方式。
2.固定場編碼(全場)
??視頻序列中幀被分成兩個場獨立編碼。編碼規則:
??1.?I幀可編碼成兩個I場或一個I場和一個P場,即II、IP.
? 2. P幀可編碼成兩個P場或一個P場和一個B場,即PP、PB.
? 3. B幀可編碼成兩個B場,即BB.
3.圖像級幀、場自適應編碼 (PAFF)
?? 視頻序列能被編碼成一個幀或兩個場,自適應選擇原則是根據采用該種編碼方式的每一幀的RD
?? 值。
4.宏塊級幀、場自適應(MBAFF)
?????? 為了進一步提高編碼效率,采用了宏塊級幀場自適應.,宏塊級采用了宏塊對(MBP)為基本編碼單元(如圖2所示)
?
?
?????? H.264采用的MBAFF方案:
?
在圖像中運動比較大的地方采用場編碼,運動比較小的地方采用幀編碼,編碼順序例子如下:
視頻編碼中的PAFF和MBAFF的區別 收藏
?隔行掃描圖像的每幀包括兩個場,所以對于隔行掃描圖像有三種編碼方式:
?1、將兩場合并為一幀進行編碼
?2、將兩場分別編碼
?3、將兩場合并為一幀,但是在宏塊級別上,將一個幀宏塊劃分為兩個場宏塊進行編碼。
?以上前兩種編碼方式稱為圖像自適應幀/場編碼(PAFF),第三種稱為宏塊自適應幀/場編碼(MBAFF)。
?對于一個運動圖像,由于場之間存在著較大的掃描間隔,所以幀中相鄰兩行之間的空間相關性相對于逐行掃描圖像較小,因此對來兩個場分別編碼會更節省碼流。對于一個非運動圖像,相鄰兩行之間存在較大的空間相關性,將兩場合并為一幀編碼更有效。所以PAFF編碼方式可以針對整個圖像的編碼方式做自適應調整,選擇幀編碼或場編碼。
?當圖像同時存在運動區域和非運動區域時,PAFF的劣勢便顯現出來,PAFF的自適應粒度太粗,無法實現滿足更加精細的編碼要求,于是MBAFF應運而生。MBAFF對幀編碼或場編碼的選擇是基于宏塊的,MBAFF將兩場合并為一幀進行編碼,但將每一個幀宏塊(16x16)劃分為場宏塊對(8*16),針對每一個幀宏塊,比較幀編碼和場編碼產生的碼流大小,使用最節省碼流的方式。
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的H.264学习(一)——帧和场的概念的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 小米范工具系列之二:小米范 web目录扫
- 下一篇: loadrunner controlle