誤碼掩蓋技術是一類特有的對付信道誤碼的方法,這種方法並不真正地糾正傳錯的碼字,而是利用圖像的種種相關性,將誤碼所產生的主觀視覺影響降到最小。
基本介紹
- 中文名:誤碼掩蓋技術
- 外文名:Error concealment technology
- 套用學科:通信
定義,分類,基於接收端的誤碼掩蓋,檢測誤碼和重同步,誤碼定位,估計誤碼數據,
定義
在圖像通信中,即使採用了信道編碼的方法,仍然不能杜絕誤碼的產生,尤其是在具有較大噪聲干擾的窄帶信道,如PSTN、移動信道等,容易發生誤碼,傳輸誤碼對壓縮編碼圖像質量的影響很大。在這種情況下往往可以使用誤碼掩蓋技術來處理誤碼部分,提高圖像的主觀質量。誤碼掩蓋技術是一類特有的對付信道誤碼的方法,這種方法並不真正地糾正傳錯的碼字,而是利用圖像的種種相關性,將誤碼所產生的主觀視覺影響降到最小。誤碼掩蓋通常是在圖像的解碼端實現的,是一種圖像後處理的方法。
分類
基於接收端的誤碼掩蓋
所謂基於接收端的誤碼掩蓋,就是利用接收到的視頻數據的有效冗餘來補償丟失的數據或糾正錯誤的數據,直到下一個同步的建立。這種方法不會增加傳輸碼率,也不需要修改複雜的源編碼器。首先,通過句法和邏輯檢錯來檢測出誤碼;然後,搜尋同步頭,獲得解碼器的重同步,誤碼定位採用像素域上(也可以在頻率域)的定位方法;最後,估計出被損的數據。它的工作流程見圖1。這種算法簡單,能夠實現實時解碼和掩蓋。處理結果顯示,被損的重建圖像質量有顯著的改善。
圖1誤碼掩蓋流程
檢測誤碼和重同步
在變長解碼中,當誤碼直接使得某碼字映射為一非法碼字,那么解碼器就可以立即檢測到該誤碼。假設誤碼使得某碼字映射為另一個碼字,或者映射為某合法的碼字序列,那么解碼器就不可能立即檢測出誤碼的存在,但由於誤碼擴散的緣故,解碼器可以在隨後的某個位置檢測到誤碼。
檢測到誤碼的時候,解碼器已經處於失去同步的狀態。它應該停止正常的解碼過程,轉向實現解碼器的重同步。獲得解碼器重同步有兩種方式:如果編碼端採用了條層語法,則可以通過搜尋一條同步頭,來實現解碼器重同步;否則,解碼器可以從檢測出誤碼的位置開始,以宏塊為搜尋單元,通過獲得一重同步宏塊,來實現解碼器的重同步。
誤碼定位
檢測到誤碼並完成了解碼器的重同步之後,接著要進行誤碼定位的工作。雖然不能在有誤碼的位置立即檢測到它,但由於誤碼擴散的緣故,可以在隨後的某個位置發現錯誤。誤碼定位的實質就是定位出真正開始誤碼的位置。
估計誤碼數據
估計誤碼數據就是設法用和已損圖像最為相似的圖像數據來替代它,以改進受損圖像的主觀質量。
(1)基於空間相關性的替代
利用圖像在空間上的相關性,可用同一幀內誤碼塊周圍的圖像數據作內插來重構誤碼部分的圖像。
(2)基於時間相關性的替代
它對一般序列圖像而言,時間軸上相關性要大於空間軸上的相關性。估計誤碼宏塊的運動矢量,可以利用前幀中相同位置宏塊的運動矢量,也可以採用本幀鄰塊運動矢量的加權平均。如果考慮到空間域誤碼擴散,鄰塊的運動矢量可能受損,因此採用前幀的運動矢量比較適宜。並且,它可以很好的適用於幀內幀的情況,幀內幀的所有宏塊都沒有運動矢量。因此,用前幀的運動矢量可獲得更好的掩蓋效果。
這種誤碼掩蓋方法的效果的實例可見下圖。圖中(a)和(c)為無誤碼掩蓋,表示對誤碼圖像沒有作任何處理;(b)和(d)為有誤碼掩蓋,表示對誤碼圖像採用了上述的誤碼掩蓋處理。