一、概述
原
始視頻幀(最原始的視頻數據)根據編碼的需要,以不同的方式進行掃描產生兩種視頻幀:連續或隔行視頻幀,隔行視頻幀包括頂場和底場,連續(遂行)掃描的視
頻幀與隔行掃描視頻幀有著不同的特性和編碼特征,產生了所謂的幀編碼和場編碼。一般情況下,遂行幀進行幀編碼,隔行幀可在幀編碼和場編碼間選取。
在幀編碼中,參考為幀圖像,采用幀運動補償,兩個場是聯合編碼,;在場編碼中,參考為場圖像,兩個場是分別編碼,采用場運動補償。
幀編碼與場編碼的選擇
1.對于運動激烈的情況,也就是畫面變化快,畫面中的人物、背景等等短時間里就會有很大的變化。這樣,如果使用幀編碼,由于相鄰兩行(一行在頂場,一行在底場)的掃描時間相差了許多(因為是隔行掃描),那么由于變化劇烈(畫面在短時間內就會產生很大的差異),相鄰行沒有太多的相關性。而對于場圖像來說,相鄰行的掃描時間非常短,所以即使運動劇烈,但還是有很強的時間相關性。所以在這種情況下用場編碼,就能去除時間上的冗余。
2.對于相對靜止沒有什么變化的情況應該相對好理解,因為畫面內容沒有太大的變化,掃描時間的長短并不影響相關性。倒是幀場的相鄰行由于是真正意義上的相鄰,所以空間相關性肯定要比場的相鄰行(其實是隔行)的空間相關性要大。那么在這種情況下使用幀編碼,就能去除空間上的冗余。
二、視頻序列幀、場編碼方式
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方案:
在圖像中運動比較大的地方采用場編碼,運動比較小的地方采用幀編碼,編碼順序例子如下:

原文鏈接:
http://blog.csdn.net/sunnymov/archive/2009/08/17/4454424.aspx