運動補償預測編碼

幀間預測原理,運動補償預測編碼,基於塊的運動補償預測,

幀間預測原理

根據圖像的統計特性,對於活動圖像,由於相鄰幀的時間間隔很短(1/25 ~ 1/30秒),因而在景物的運動不是很劇烈的場合,相鄰幀的相似的部分較多,即他們之間的相關性很強。如果編碼時能充分利用序列圖像在時間軸方向的相關性進行預測,就可望獲得更高的壓縮比,這就是幀間預測編碼。有時,根據實際情況還進一步分為幀間預測(利用相鄰幀的相關性)和場間預測(利用相鄰場之間的相關性)。可以說,幀間預測是目前數字視頻壓縮編碼採用的標誌性技術。
運動補償預測編碼
圖1 圖像區域分類示意
幀間預測考慮的幾種典型的情況由圖1的可視電話圖像概括,圖像的內容通常是在一個細節不十分複雜的背景前,有一個活動量不大的單個人物的頭——肩像。假定人的位置在第k幀與第k-1幀相比有一定的位移,可以將畫面分為三個各具特點的區域:
① 背景區 這裡指攝像機不動而攝取的人物後面的背景,它對人物起陪襯作用,一般它是靜止的,若外界條件不變,則這兩幀背景區的絕大部分數據相同,這意味著兩幀背景區之間的幀間相關性很強。
② 運動物體區 若將物體運動近似看作簡單的平移,則第k幀與第k-1幀的運動區的數據也基本相同。假如能採用某種位移估值方法對位移量進行“運動補償”,那么兩幀的運動區之間的相關性也是很強的。
③ 暴露區 這是指運動後所暴露出的原來曾被物體遮蓋住的區域。如果有存儲器將這些暴露區的數據暫時存儲,則再次經遮蓋再暴露出來的數據與原先存儲的數據相同。這也是一種幀間的強相關性。
除了上述的攝像機不變的情況外,對一些攝像機運動的場合也有類似的結論。例如,如果活動圖像是在行進中的車輛中攝取的前方景物、或攝像機用“倍焦”工作攝取的前方景物,或者是用飛行器攝像機攝取的地面景物、或攝像機用“掃視”方式攝取的圖像,其相鄰幀之間也存在很強的相關性。
普通電視圖像及HDTV圖像內容則豐富多變,它們可以看成是上述幾類各具特點的序列圖像的複雜組合,因而總有一定成分的幀間相關性,可以用於圖像的幀間編碼。

運動補償預測編碼

根據以上的分析,對於不同類型的區域,可以分別進行預測。例如,對於背景區可以將前一幀圖像的背景區作為對當前幀相應的區域的預測,僅對兩者的差值超過一定門限的部分編碼傳送,而對那些差值低於門限的部分則無需編碼傳送,這種編碼方式就是簡單的幀間預測模式;對於運動的物體,如果能估計出物體在兩幀內的相對位移,那么就可以用上一幀中物體的對應區域對當前幀物體進行預測,編碼傳輸預測的誤差部分。這種考慮了對應區域的位移或運動的預測方式就稱為運動補償預測編碼。可見,幀間預測是運動補償預測在運動矢量為零時的簡單情況。
一般地,運動補償幀間預測編碼由以下幾個部分組成:
物體的劃分:靜止區域和運動區域。
運動估計:對每一個運動物體進行位移估計。
運動補償:由位移的估值建立同一物體在不同幀的空間位置對應關係,從而建立了預測關係。
補償後的預測信息編碼:對物體的補償後的幀差信號以及運動矢量等進行編碼傳輸。

基於塊的運動補償預測

由於實際的序列圖像內容千差萬別,把運動物體以整體形式劃分出來是極其困難的。目前廣泛套用的是塊匹配運動補償預測,圖2是基於塊的運動補償預測示意圖。這種方法把一幅圖像分為互不重疊的N×N個像素的子塊,然後對每個子塊估計所謂位移矢量或運動矢量D(dxdy),並將它編碼傳送到接收端。利用該運動矢量可以在收、發端利用所謂運動補償預測,用上一幀圖像Ik-1zD處的亮度值對子塊內z=(xy)處的亮度值進行估計,即:
(1)
預測誤差為:
(2)
運動補償預測編碼
對預測誤差信號進行量化處理後進行編碼傳輸。在接收端經過解碼後,結合上一幀的恢復圖像就可以得出當前幀的解碼圖像。
在基於塊的運動估計和運動補償中有一個基本的假設,即塊內所有像素具有同樣的平移運動,因此子塊的運動矢量就是子塊內所有像素的運動矢量。對於其他類型的運動,例如縮放、旋轉以及背景區的暴露或遮蓋等,則沒有考慮。
運動補償預測編碼
圖2 基於塊的運動補償預測的示意圖

相關詞條

熱門詞條

聯絡我們