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