專利名稱:一種圖象錯誤隱蔽方法
技術(shù)領域:
本發(fā)明屬于圖像信息傳輸與處理領域,具體涉及一種圖像錯誤隱蔽方法。
傳統(tǒng)的錯誤隱蔽方法有兩類時域內(nèi)插和空域內(nèi)插。空域內(nèi)插就是利用相鄰空域信息來重建丟失的像素值,而時域內(nèi)插是利用前一幀的數(shù)據(jù)來重建丟失的數(shù)據(jù)。一般地,空域內(nèi)插用來重建Intra編碼幀(I-Frame)下丟失的數(shù)據(jù);時域內(nèi)插用來重建Inter編碼幀(P-Frame)下丟失的數(shù)據(jù)。時域內(nèi)插和空域內(nèi)插方法在小運動或靜止幀情況下,能獲得較好的錯誤隱蔽效果,但在大運動視頻序列下,由于幀差變大,從而不能獲得滿意的視覺效果。近年來出現(xiàn)了許多新的錯誤隱蔽方案,其中專利號為99122818的“語音、圖像和視頻信號的差錯隱匿或校正”,該專利方法主要適用于通過無線和ATM信道傳送的信號,改善了大碼組和群聚差錯下的穩(wěn)定性,但不適用于Internet上實時視頻的差錯隱蔽;美國專利號為6,175,597“Methods and apparatus forerror concealment”,該專利方法利用圖像內(nèi)插法進行錯誤掩蓋,適用于靜止或小運動圖像幀中宏塊的出錯隱蔽,但在大運動圖像幀中,對出錯宏塊的補償,將得不到滿意的錯誤隱蔽效果;中國專利號為96114184的“用于對被發(fā)送的視頻信號中的誤差進行補償?shù)姆椒把b置”,該專利方法的計算復雜度較高,對實時視頻的解碼不太適用,而計算復雜度的提高,對于靜態(tài)圖像的解碼尚可接受,但對實時視頻的解碼卻不能容忍。
本發(fā)明所提出一種圖像錯誤隱蔽方法,包括以下步驟第一步、從信道接收數(shù)據(jù)包,檢測是否丟包并判定前一幀的屬性(屬性自定義為大運動幀、小運動幀、靜止幀)1)前一幀解碼結(jié)束后,統(tǒng)計該幀宏塊的平均運動矢量;2)選取平均運動矢量的最大分量值;3)根據(jù)最大分量值與門限的比較結(jié)果,確定該幀屬性;其中,門限值是通過大量實驗結(jié)果確定。
第二步、根據(jù)第一步所判定的幀的屬性,當發(fā)生丟包時分別采用相應的錯誤隱蔽控制若前一幀為大運動幀,采用圖像凍結(jié)和圖像快速更新;若前一幀為小運動幀,接收端用相對于本幀受損宏塊位置運動矢量為MV的前一幀像素值來替代受損宏塊的像素值。其中,運動矢量MV為受損宏塊的相鄰宏塊運動矢量的中值;若前一幀為靜止幀,接收端用前一幀同樣位置的宏塊像素值代替本幀中因丟包而受損的宏塊像素值;第三步、將經(jīng)過錯誤隱蔽及正常解碼的圖像數(shù)據(jù)送入顯示緩存,并返回第一步。
采用本發(fā)明的方法不但可以用于ATM、無線環(huán)境,而且也可用于Internet視頻通信,在給定傳輸速率和一定丟包率下,可使圖像主觀評價達到較優(yōu),并且滿足實時性的需求,具有較強的實用價值。
圖1是本發(fā)明所述的圖像錯誤隱蔽算法流程圖;圖2是本發(fā)明所述的受損宏塊運動矢量預測示意圖。
本發(fā)明所述的錯誤隱蔽控制方法可具體分為大運動幀丟包時的錯誤隱蔽控制、小運動幀丟包時的錯誤隱蔽控制以及靜止幀丟包時錯誤隱蔽控制三部分。如圖1所示第一步、從信道接收數(shù)據(jù)包,檢測是否丟包并判定前一幀的屬性。屬性由發(fā)明者自定義大運動幀、小運動幀、靜止幀。具體包括以下步驟1)前一幀解碼結(jié)束后,統(tǒng)計該幀宏塊的平均運動矢量;具體實施如下MVx‾=Σi=1N|MVxi|---MVy‾=Σi=1N|MVyi|]]>其中 為該圖像幀宏塊的運動矢量平均值;N為該幀中帶運動矢量的宏塊總數(shù);(MVxi、MVyi)為宏塊i的運動矢量;2)選取運動矢量平均值的最大分量值;3)根據(jù)最大分量值與門限的比較結(jié)果,確定該幀屬性;具體實施如下如果Max >門限1該圖像幀為大運動幀如果Max <門限2該圖像幀為靜止幀如果門限2≤Max ≤門限1該圖像幀為小運動幀其中
門限1、門限2通過大量實驗獲知,門限1的取值范圍5~15,門限2的取值范圍0~4,最佳值門限1=6,門限2=3第二步、根據(jù)第一步的判定結(jié)果,當發(fā)生丟包時分別采用相應的錯誤隱蔽控制若前一幀為大運動幀,則進行圖像凍結(jié)和圖像快速更新當視頻為大運動序列時,幀與幀之間的變化較大,用時域或空域內(nèi)插補償丟失的數(shù)據(jù)后,有明顯的錯塊現(xiàn)象。在這種情況下,本發(fā)明將視頻凍結(jié)在丟包前的一幀圖像上;另外根據(jù)圖像幀間編碼的要求,防止因丟包造成圖像錯誤的幀間傳播,本發(fā)明通過TCP/IP向?qū)Χ税l(fā)I幀請求,并等待響應,如果收到I幀數(shù)據(jù)包,則圖像解凍,正常解碼并顯示,否則視頻繼續(xù)處于凍結(jié)狀態(tài)。
為預防向?qū)Χ税l(fā)出過多的I幀請求,使信道過度擁塞,通過驗證本次與前次丟包數(shù)據(jù)是否屬于同一幀數(shù)據(jù)來確保一個錯誤幀,只發(fā)一個I幀請求。除此之外,為了維持視覺的連貫性,保證時間域上圖像質(zhì)量的平穩(wěn)過渡,提高圖像主觀質(zhì)量,在收到I幀數(shù)據(jù)包之前,如果圖像凍結(jié)時間超過Td(如6)秒,則凍結(jié)釋放。
具體實施過程如下第一步如果TSCur-1不等于TSPre-1,執(zhí)行如下操作VideoFreezeFlag=1;向?qū)Χ税l(fā)I幀請求;否則判斷TFreeze是否大于Td秒是VideoFreezeFlag=0;否VideoFreezeFlag=1;第二步如果接收端收到I幀數(shù)據(jù)包并且VideoFreezeFlag等于1,執(zhí)行如下操作VideoFreezeFlag=0;
正常解碼并顯示;其中TSCur-1本次丟包之前正確接收數(shù)據(jù)包的時戳值;TSPre-1前次丟包之前正確接收數(shù)據(jù)包的時戳值;VideoFreezeFlag視頻凍結(jié)標志,值為1時凍結(jié),值為0時解凍;Td由發(fā)明者通過實驗獲得,其取值范圍1~6,最佳值2;若前一幀為小運動幀,接收端用相對于本幀受損宏塊位置,運動矢量為MV前一幀像素值來替代受損宏塊的像素值。其中,運動矢量MV為受損宏塊的相鄰宏塊運動矢量的中值;參照圖2,具體實施如下1、計算受損宏塊的運動矢量MVMV=Mean(MV1,MV2,MV3)其中MV1,MV2,MV3為相鄰宏塊的運動矢量。
2、在圖像邊界的特殊情形中,應以遞增順序使用以下判準則當相鄰的宏塊是以INTRA模式進行編碼(而不是PB幀模式)或者不編碼時,其運動矢量被設置為0;如果相鄰的宏塊在圖像的外部(在左邊),則MV1被設置為0;如果相鄰的宏塊在圖像的外部(在頂端),則MV2和MV3被設置為MV1;如果相鄰的宏塊在圖像的外部(在右邊),則MV3被設置為0;3、用前一幀像素值來替代受損宏塊的像素值Pixel_Curi,j=Pixel_Prei-MVx,j-MVy其中Pixel_Curi,j當前幀中坐標位置(i,j)的像素值;Pixel_Prei-MVx,j-Mv前一幀中坐標位置(i-MVx,j-MVy)的像素值;
若前一幀為靜止幀,接收端用前一幀同樣位置的宏塊像素值代替本幀中因丟包而受損的宏塊像素值,即Pixel_Curi,j=Pixel_Prei,j其中Pixel_Curi,j當前幀中坐標位置(i,j)的像素值;Pixel_Prei-MVx,j-Mv前一幀中坐標位置(i-MVx,j-MVy)的像素值;錯誤隱蔽控制方法是視頻壓縮傳輸中的一個重要技術(shù),會直接影響圖像的主觀質(zhì)量。本發(fā)明的控制方法可廣泛應用于無QoS保證的IP網(wǎng)上的視頻通信,且算法計算復雜度低、魯棒性強,從而在一定的丟包率和傳輸速率下可以獲得實時高質(zhì)的圖像效果,具有較高的實用價值。
權(quán)利要求
1.一種圖像錯誤隱蔽方法,包括以下步驟第一步、從信道接收數(shù)據(jù)包,檢測是否丟包并判定前一幀的屬性1)前一幀解碼結(jié)束后,統(tǒng)計該幀宏塊的平均運動矢量;2)選取平均運動矢量的最大分量值;3)根據(jù)最大分量值與門限的比較結(jié)果,確定該幀屬性;第二步、根據(jù)第一步所判定的幀的屬性,當發(fā)生丟包時分別采用相應的錯誤隱蔽控制若前一幀為大運動幀,采用圖像凍結(jié)和圖像快速更新;若前一幀為小運動幀,接收端用相對于本幀受損宏塊位置運動矢量為MV的前一幀像素值來替代受損宏塊的像素值;若前一幀為靜止幀,接收端用前一幀同樣位置的宏塊像素值代替本幀中因丟包而受損的宏塊像素值;其中,運動矢量MV為受損宏塊的相鄰宏塊運動矢量的中值;第三步、將經(jīng)過錯誤隱蔽及正常解碼的圖像數(shù)據(jù)送入顯示緩存,并返回第一步。
2.根據(jù)權(quán)利要求1所述的一種圖像錯誤隱蔽方法,其特征在于所述第一步中統(tǒng)計該幀宏塊的平均運動矢量,具體實施如下MVx‾=Σi=1N|MVxi|---MVy‾=Σi=1N|MVyi|]]>其中 為該圖像幀宏塊的運動矢量平均值;N為該幀中帶運動矢量的宏塊總數(shù);(MVxi、MVyi)為宏塊i的運動矢量。
3.根據(jù)權(quán)利要求1或2所述的一種圖像錯誤隱蔽方法,其特征在于所述第一步中根據(jù)最大分量值與門限的比較結(jié)果,確定該幀屬性,具體實施如下如果Max >門限1,該圖像幀為大運動幀;如果Max <門限2,該圖像幀為靜止幀;如果門限2≤Max ≤門限1,該圖像幀為小運動幀;其中,門限1的取值范圍是5~15,門限2的取值范圍0~4。
4.根據(jù)權(quán)利要求3所述的一種圖像錯誤隱蔽方法,其特征在于所述的門限1=6,門限2=3。
5.根據(jù)權(quán)利要求1所述的一種圖像錯誤隱蔽方法,其特征在于所述第二步中當發(fā)生丟包時若前一幀為大運動幀,則進行圖像凍結(jié)和圖像快速更新即當視頻為大運動序列時,將視頻凍結(jié)在丟包前的一幀圖像上;另外通過TCP/IP向?qū)Χ税l(fā)I幀請求,并等待響應,如果收到I幀數(shù)據(jù)包,則圖像解凍,正常解碼并顯示,否則視頻繼續(xù)處于凍結(jié)狀態(tài)。
6.根據(jù)權(quán)利要求1所述的一種圖像錯誤隱蔽方法,其特征在于如果TSCur-1=TSPre-1,即前一次丟包與本次丟包是屬于同一幀數(shù)據(jù),則只發(fā)一個I幀請求,其中TSCur-1本次丟包之前正確接收數(shù)據(jù)包的時戳值,TSPre-1前次丟包之前正確接收數(shù)據(jù)包的時戳值。
7.根據(jù)權(quán)利要求5或6所述的一種圖像錯誤隱蔽方法,其特征在于在收到I幀數(shù)據(jù)包之前,如果圖像凍結(jié)時間超過Td秒,則凍結(jié)釋放,Td的取值范圍1~6。
8.根據(jù)權(quán)利要求7所述的一種圖像錯誤隱蔽方法,其特征在于Td值為2。
全文摘要
一種圖像錯誤隱蔽方法,屬于圖像信息傳輸與處理領域,本發(fā)明所要解決的技術(shù)問題是圖像錯誤隱蔽的控制,首先從信道接收數(shù)據(jù)包,檢測是否丟包并判定前一幀的屬性;根據(jù)所判定的幀屬性,當發(fā)生丟包時若前一幀為大運動幀,采用圖像凍結(jié)和圖像快速更新;為小運動幀,接收端用相對于本幀受損宏塊位置運動矢量為MV的前一幀像素值來替代受損宏塊的像素值。其中,運動矢量MV為受損宏塊的相鄰宏塊運動矢量的中值;為靜止幀,接收端用前一幀同樣位置的宏塊像素值代替本幀中因丟包而受損的宏塊像素值;最后將經(jīng)過錯誤隱蔽及正常解碼的圖像數(shù)據(jù)送入顯示緩存,并返回。本發(fā)明既可用于ATM、無線環(huán)境,也可用于Internet視頻通信,使圖像達到較優(yōu),并滿足實時性的需求。
文檔編號H04N7/32GK1409559SQ01126850
公開日2003年4月9日 申請日期2001年9月21日 優(yōu)先權(quán)日2001年9月21日
發(fā)明者王寧, 周蓉, 呂遠 申請人:深圳市中興通訊股份有限公司上海第二研究所