摘 要:視頻對象(VO)的形狀信息對于正確解碼至關(guān)重要,當VO的形狀發(fā)生錯誤時,為了正確解碼紋理和運動信息,需要對其進行錯誤隱藏。主要介紹VO形狀錯誤隱藏的常用技術(shù),并進行對比實驗和討論。結(jié)果表明:當相鄰VO間運動較小時,時域法比空域法能更好地保持VO的形狀;空域法性能穩(wěn)定,不受VO間的運動影響,當幀間變化較大時,時域法的參考VO失去參考價值,只能選擇基于空域的方法??梢?,時域法和空域法各有利弊,一個好的解碼器應能實現(xiàn)兩種錯誤隱藏,根據(jù)具體情況選擇或?qū)烧呦嘟Y(jié)合。最后指出形狀錯誤隱藏今后的研究方向和前景展望。
關(guān)鍵詞:視頻對象;二值形狀信息;錯誤隱藏;空域法;時域法
中圖分類號:TN919.81 文獻標識碼:A 文章編號:1004373X(2008)1613003
Research on Video Object Shape Error Concealment Technology
FU Xiang,GUO Baolong,YAN Yunyi
(ICIE Institute,School of Electromechanical Engineering,Xidian University,Xi′an,710071,China)
Abstract:Shape information of Video Object(VO) is most important for correctly decoding.Shape error should be concealed to decode texture data and motion data correctly.Traditional technologies of shape error concealment are summarized in this paper,comparison and discussion are described.When the shape data does not change that much in consecutive time instants,the temporal methods outperform the spatial ones.The spatial methods are the only choice when the previous frame does not contain a shape tat is related to the current shape.Ideally,the decoder should have access to both types of techniques and choose between them or combine them,according to the situation at hand.Finally,the possible research directions of shape error concealment are pointed out.
Keywords:video object;binary shape information;error concealment;spatial method;temporal method
MPEG4標準對每個Video object (VO)單獨編碼,每個VO由形狀信息、運動信息和紋理信息3類信息來描述[1]。由于編碼的VO流對信道錯誤極其敏感,標準規(guī)定,如果是紋理部分出錯,則只有紋理信息丟失,運動和形狀信息可以由周圍的信息恢復;如果是形狀部分出錯,則整個數(shù)據(jù)包(包含形狀、紋理和運動信息)均丟失[2];并且現(xiàn)有的紋理和運動信息錯誤隱藏技術(shù)都是在正確獲得形狀信息的基礎(chǔ)上得到的[3,4],可見VO形狀錯誤隱藏的重要性。
在MPEG4中,VO的形狀信息由二值alpha平面表示[5],用黑表示該像素點屬于VO,而白表示該點屬于背景。形狀錯誤隱藏算法可以分為基于時域[69]和基于空域[4,9,10]的算法。時域方法可以利用前一幀的形狀信息來隱藏當前幀丟失的信息,空域算法只利用當前幀的信息進行錯誤隱藏,適用于幀間場景變化較大,如場景變換的情況;空域算法也是靜止圖像的錯誤隱藏的惟一選擇;一般情況下幀間變化較小,基于時域的方法可以得到更加好的隱藏結(jié)果。
1 空域形狀錯誤隱藏算法
1.1 傳統(tǒng)方法
傳統(tǒng)空域形狀數(shù)據(jù)隱藏方法主要有3種[11]:最大后驗估計法、基于模糊理論的方法以及Bézier曲線擬合法。文獻[11]的仿真實驗和性能比較表明,Bézier曲線擬合法的隱錯性能較好。Chen[9]和Luis[10]分別采用二次和3次Bézier曲線擬合丟失輪廓,由于3次曲線的連續(xù)性和平滑性都好于二次曲線,因此Luis算法性能優(yōu)于Chen算法,本文僅介紹和分析Luis基于3次Bézier曲線的算法。
Luis算法首先得到二值alpha平面的輪廓曲線,由于發(fā)生錯誤,輪廓曲線會變得不完整;然后采用Bézier曲線插值輪廓曲線的丟失部分。其關(guān)鍵技術(shù)如下:
(1) 輪廓斷點配對。將輪廓曲線的偶數(shù)個斷點兩兩配成一對,以便在下一步操作中將每一對斷點連接起來,從而形成完整的輪廓曲線。Luis算法利用如下公式進行斷點配對:F=∑i|δAi|+|δBi|, i∈P(1) 其中δA和δB如圖1所示,表示2個斷點A和B處輪廓曲線的切矢與AB連線間的夾角;P表示丟失區(qū)域內(nèi)所有可能的斷點配對的集合,選擇使代價函數(shù)F為最小的配對組合,這種配對方法基于以下假設(shè),即對象的輪廓方向變化較慢。
(2) 確定三次Bézier曲線的4個控制點。生成1段3次Bézier曲線需要4個控制點,需要連接的1對輪廓斷點作為首尾控制頂點,因此需要在首尾控制點間增加兩個附加控制點。Luis算法首先采用三次參數(shù)曲線擬合丟失輪廓兩側(cè)的已知輪廓,如圖1所示中的SA和SB,減小SA和SB的長度,直到擬合曲線與原始曲線間的最大均方距離小于給定閾值。
圖1 Luis算法示意圖然后,以SA為例,利用式(2)確定SA對應的4個Bézier曲線控制點:[p1 p2 p3 p4]=
dx13cx+dx13bx+23cx+dxax+bx+cx+dx
dy13cy+dy13by+23cy+d.yay+by+cy+dy(2)其中ax,bx,cx,dx為擬合SA的3次曲線的系數(shù);p1和p4為SA的2個端點;p4即為圖1中的點A。為了使錯誤隱藏的輪廓曲線滿足C<1連續(xù),即曲線連接處切矢相同,取p3相對于點A的對稱點,作為一個附加控制點,另一個附加控制點由SB用類似的方法求出。
(3) 根據(jù)確定的控制點,用3次Bézier曲線連接丟失輪廓。
1.2 基于水印的方法
有別于傳統(tǒng)方法,文獻[4]提出一種基于水印的VO空域形狀錯誤隱藏算法,將形狀信息或形狀變化作為水印信息嵌入到人們關(guān)注較少的背景對象中,該方法對于形狀信息嚴重丟失的情況,修復效果仍然很好。
但是,根據(jù)MPEG4的碼率分配原則,在網(wǎng)絡(luò)帶寬有限時,用較多的碼率傳輸感興趣的視頻對象,用較少的碼率傳輸人們關(guān)注較少的背景對象,甚至不傳輸背景對象。因此,將形狀信息作為水印嵌入背景對象中的方法不實用。
2 時域的形狀錯誤隱藏算法
2.1 基于塊的形狀錯誤隱藏方法
基于塊的方法常用于紋理信息的錯誤隱藏,后來被擴展到形狀錯誤隱藏中來。當1個塊發(fā)生錯誤時,解碼器試圖從前一時刻復制一個塊作為錯誤塊的替代。常用的基于塊的方法共有3種形式:
(1) 簡單地復制前一時刻相同位置的形狀信息;
(2) 利用誤差塊上方塊的運動矢量,從前一時刻尋找錯誤塊的替代,對錯誤塊進行補償;
(3) 利用錯誤塊周圍正確解碼的塊,估計錯誤塊的運動矢量,根據(jù)運動矢量利用前一幀的信息對錯誤塊進行運動補償。
顯然,第(3)種方式得到的錯誤隱藏效果較好,與此類似,文獻[9]中提出一種稱為WSM (Weightd Side Matching)的方法,方式(3)中的方法利用錯誤塊周圍的16×16完整塊進行運動估計,而WSM法則利用錯誤塊周圍4個塊的一半加權(quán)后進行運動估計,即上下取8×16的塊而左右取16×8的塊,離丟失塊越近的行(或列)分配的權(quán)值越大。最后得到一個運動矢量,以此對丟失形狀進行錯誤隱藏。
為了克服運動補償形狀差錯掩蓋法對局部運動的局限性,文獻[7]中提出整體運動補償與局部修正相結(jié)合的時域形狀錯誤隱藏算法。首先對于已知輪廓上的每一點,利用塊匹配的方法找出其運動矢量,然后求出alpha平面的全局運動矢量,對當前平面進行全局運動補償。最后利用錯誤塊周圍的已知信息,利用塊匹配的方法尋找錯誤塊的局部運動矢量,對其進行局部修正。
2.2 基于輪廓的錯誤隱藏方法
基于塊的方法對單個塊丟失的情況可以取得較好的錯誤隱藏效果,當多個連續(xù)塊丟失時,效果則不太好,而基于輪廓的方法可以克服上述問題[8]。
Salama等[6]將VO全局運動參數(shù)嵌入視頻流,在解碼端,如果檢測到當前幀VO形狀需要錯誤隱藏,則利用碼流中嵌入的運動參數(shù),將當前輪廓映射到參考輪廓,然后隱藏錯誤的輪廓信息。這種方法隱藏效果較好,但它會使碼率增加5%,而且其通用性不好,必須要解碼器和編碼器都支持嵌入了運動參數(shù)的編碼格式。文獻[8]中的MC (Motion Compensated)算法同樣基于輪廓,MC算法不增加碼率,通用性好,適用于丟失多個塊的情況,是時域形狀錯誤隱藏效果較好的方法。
MC算法首先計算當前輪廓上每個點的運動矢量,每個輪廓點的運動矢量v始于前一幀的輪廓點,指向當前幀對應的輪廓點。設(shè)當前幀有N個輪廓點,則這些輪廓點的運動矢量組成的運動矢量場應該滿足:v.*1,v.*2,…,v.*N=argminv1,v.*2,…,vN∈V1×V2×…×VN∑Nj=2
‖vj-vj-1‖.2+α∑Nj=1‖vj‖.2(3)其中vj是從參考輪廓點指向當前輪廓點j的運動矢量;Vj是點j所有可能的運動矢量組成的集合。通過計算式(3)的最小值,可以得到2個輪廓間的最優(yōu)匹配矢量場,即2輪廓間最平滑的矢量場,如圖2(a)所示。
將當前輪廓與參考輪廓匹配后,可找到當前輪廓丟失段在參考輪廓上的對應部分,將該對應輪廓段映射到當前輪廓丟失部分,每個點映射的運動矢量vm可通過線性插值求得:vm=M-mM-1vstart+m-1M-1vstop(4)其中vstart和vstop分別表示輪廓丟失段的起始點和終止點與參考輪廓匹配時求得的運動矢量,如圖2(a)所示;M是參考輪廓上對應于丟失輪廓的總點數(shù);m表示當前要隱藏的點;當m從1變到M,即完成隱藏過程,隱藏后的輪廓如圖2(b)。最后對隱藏的輪廓進行填充,得到隱藏的二值alpha平面,即VO的形狀,如圖2(c)所示。
圖2 MC錯誤隱藏算法3 空域法和時域法的隱錯性能比較
假設(shè)當前VO丟失一個包含輪廓的塊,如圖3(a)所示,其中灰色塊表示丟失塊。圖3(b)是不完整輪廓,需要對其進行錯誤隱藏。圖4(a)和圖4(b)分別給出了MC算法得到的運動矢量場和隱藏結(jié)果。圖5是空域法的隱藏結(jié)果,由圖4和圖5可看出,MC算法的隱藏結(jié)果更好地保持了VO的形狀。
圖3 視頻對象發(fā)生錯誤不難看出,如果相鄰VO間運動較大,對于MC算法,最平滑的運動矢量場無法映射當前形狀到前一幀的相應部分,導致隱藏效果不理想甚至算法失敗;而空域法只利用當前幀的信息,隱藏性能穩(wěn)定,不受VO間的運動影響,這種情況下,只能選擇基于空域的形狀錯誤隱藏方法。
圖4 MC算法隱藏結(jié)果圖5 空域法隱藏結(jié)果4 結(jié) 語
相鄰VO間運動較小時,時域法比空域法能更好地保持VO的形狀;空域法只利用當前幀的信息,性能穩(wěn)定,不受VO間的運動影響。當幀間變化較大時,時域法參考VO失去參考價值,在這種情況下,只能選擇基于空域的形狀錯誤隱藏方法。時域法需要圖像匹配和運動補償,一般計算量較大;空域法簡單易實現(xiàn)。
可見,時域法和空域法各有利弊,一個好的解碼器應能實現(xiàn)2種錯誤隱藏,根據(jù)具體情況選擇或?qū)烧呦嘟Y(jié)合。在提高空域法的隱藏精度、提高時域法對幀間運動的魯棒性及提高時域法的運算速度等方面,有待進一步研究。
參 考 文 獻
[1]ISO/IEC JTC1/SC29/ WG11 N3908.MPEG4 video verification model version 18.0[S].
[2]Li X H,Katsaggelos A K,Schuster G M.A Recursive Shape Error Concealment Algorithm[C].Proceedings of International Conference on Image Processing,Rochester:IEEE,2002:177180.
[3]Wang Y,Wenger S,Wen J,et al.Error Resilient Video Coding Techniques\\.IEEE Signal Processing Magazine Special Issue on Multimedia Communications over Networks,2000,17(4):6182.
[4]付煒,丁倩,孟維娜等.基于水印技術(shù)的MPEG4形狀錯誤隱藏[J].現(xiàn)代電子技術(shù),2007,30(11):7173,76.
[5]Shirani S,Erol B,Kossentini F.A Concealment Method for Shape Information in MPEG4 Coded Video Sequences\\.IEEE Transactions on Multimedia,2000,2(3):185190.
[6]Salama P,Huang C.Error Concealemt for Shape Coding[C].Proceedings of International Conference on Image Processing,Rochester:IEEE,2002:701704.
[7]Luis D S,F(xiàn)ernando P.Temporal Shape Error Concealment by Global Motion Compensation With Local Refinement\\.IEEE Transaction on Image Processing,2006,15(6):1 3311 348.
[8]Schuster G M,Katsaggelos A K.Motion Compensated Shape Error Concealment[J].IEEE Trans.Image Processing,
2006,15(2):501510.
[9]Chen M J,Chi C C,Chi M C.Spatial and Temporal Error Concealment Algorithms of Shape Information for MPEG4 video[J].IEEE Transactions on Circuits Systems for Video Technology,2005,15(6):778783.
[10]Luis D S,F(xiàn)ernando P.Spatial Shape Error Concealment for Objectbased Image and Video Coding[J].IEEE Transaction on Image Processing,2004,13(4):586599.
[11]丁學文.MPEG4數(shù)字視頻錯誤隱藏技術(shù)的研究[D].天津:天津大學,2005.
作者簡介 符 祥 男,1980年生,湖北鶴峰人,博士生。主要從事視頻分割、錯誤隱藏和圖像插值的研究。
注:本文中所涉及到的圖表、注解、公式等內(nèi)容請以PDF格式閱讀原文