PAFF 和MBAFF:當對隔行掃描圖像進行編碼時,每幀包括兩個場,由于兩個場之間存在較大的掃描間隔,這樣,對運動圖像來說,幀中相鄰兩行之間的空間相關性相對于逐行掃描時就會減小,因此這時對兩個場分別進行編碼會更節省碼流。對幀來說,存在三種可選的編碼方式:將兩場合并作為一幀進行編碼(frame 方式)或將兩場分別編碼(field 方式)或將兩場合并起來作為一幀,但不同的是將幀中垂直相鄰的兩個宏塊合并為宏塊對進行編碼;前兩種稱為PAFF 編碼,對運動區域進行編碼時field 方式有效,對非運區域編碼時,由于相鄰兩行有較大的相關性,因而frame 方式會更有效。當圖像同時存在運動區域和非運動區域時,在MB 層次上,對運動區域采取field 方式,對非運動區域采取frame 方式會更加有效,這種方式就稱為MBAFF,預測的單位是宏塊對。
在隔行掃描幀中,當有移動的對象或攝像機移動時,與逐行相比,兩個相鄰行傾向減少統計的相關性,這種情況應比每場分別壓縮更為有效。為了達到高效率,H.264/AVC在編碼幀時,有以下可選方案:
● 結合兩場成一個完整幀,作為幀編碼,稱為幀模式。
● 兩場分別編碼,稱為場模式。
● 結合兩場成一個完整幀,作為幀壓縮。在編碼時,劃分垂直相鄰的兩個宏塊對成兩個場宏塊對或幀宏塊,再進行編碼。
每幀圖像可自適應選擇3種模式之一進行編碼。在前兩種之間進行選擇稱為圖像自適應幀/場編碼(PAFF),當一幀作為兩場編碼時,每場劃分為宏塊,編碼方式與幀編碼方式很相似,主要有下面的例外:
● 運動補償用參考場,而不是參考幀。
● 變換系數的“之字型”掃描方式不同。
● 宏塊水平邊沿去塊濾波器的強度不選用“強”,因為場行在空間上是兩倍幀行的距離。
在研制H.264/AVC標準時,據報道,采用ITU-601分辨率,PAFF編碼技術與幀編碼相比可減少碼率16%到20%。
如果圖像由運動區和非運動區混合組成,非運動區用幀模式、運動區用場模式是最有效的編碼方法。因此每個垂直宏塊對(16×32)可獨立選擇編碼(幀/場)模式。這種編碼選擇稱為宏塊自適應幀/場編碼(MBAFF)。對于幀模式宏塊對,每個宏塊包含幀行,對于場模式宏塊對,頂部宏塊包含頂場行,底部宏塊包含底場行。
處理場宏塊對的每個宏塊與幀PAFF模式相似,然而,因為在MBAFF幀中發生場/幀宏塊對混合,需要修改用作下列用途的方法:
● 之字型掃描。
● 運動矢量預測。
● 幀內預測模式的預測。
● 幀內預測幀采樣精度。
● 去塊效應濾波器。
● 上下文模型的熵編碼。
主要思想是盡可能保留多的空間一致性,MBAFF幀的空間相鄰的規范相當復雜,下面講到的空間相鄰都是指非MBAFF幀。
MBAFF 和PAFF的另一個重要區別是:使用MBAFF方法,一個場不能使用同一幀的另一個場中的宏塊作為運動補償參考。這樣,有時PAFF比MBAFF編碼更有效,特別是在快速全局運動、變換場景、圖像刷新等情況下。
在開發MBAFF標準期間,據報道,采用ITU-601分辨率,MBAFF編碼技術比PAFF相比可減少碼率14%到16%。