專利名稱:基于宏塊級和像素級運動估計的視頻差錯掩蓋方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種數(shù)字通信技術(shù)領(lǐng)域的方法,尤其涉及一種基于宏塊級和像 素級運動估計的視頻差錯掩蓋方法。
背景技術(shù):
當(dāng)前,公共電話交換網(wǎng)(PSTN)、國際互聯(lián)網(wǎng)和移動通信環(huán)境下的視頻傳輸 研究正在引起國內(nèi)外的廣泛關(guān)注。然而,由于目前數(shù)字視頻傳輸所采用壓縮技 術(shù)和標(biāo)準大多數(shù)如ITU指定的H. 261, H. 263, H. 263+, H. 264標(biāo)準以及ISO的 MPEG組織指定的MPEG-l,MPEG-2,MPEG-4等都是建立在混合編碼的框架之上的。 所謂混合編碼框架是一種混合時間空間視頻圖像編碼方法,是以運動補償預(yù)測 編碼以及變長編碼作為壓縮的核心技術(shù)。用這類技術(shù)壓縮后的數(shù)據(jù)流在極易發(fā) 生干擾的環(huán)境中傳輸時,信息丟失產(chǎn)生的影響會迅速地在時間和空間上擴散, 從而導(dǎo)致視頻質(zhì)量明顯下降,甚至產(chǎn)生極差的視覺效果。目前已有許多差錯控 制技術(shù)用來對抗視頻傳輸干擾影響,其中,差錯掩蓋技術(shù)便是在解碼器中廣泛 采用的 一種改善視頻主觀效果的方法。
從已有的研究成果來看,差錯掩蓋技術(shù)可分為空間掩蓋和時間掩蓋兩類, 分別應(yīng)用視頻丟失信息在空域上的周邊信息及丟失信息在時域上的周邊信息對 丟失的信息進行恢復(fù)。其中,由于視頻大量地使用了運動估計的技術(shù),因此時 域差錯掩蓋通常能夠獲得更好的效果。時域差錯掩蓋的基本思路在于通過恢復(fù) 丟失塊的運動信息,從而根據(jù)運動信息來恢復(fù)出整個塊的像素信息。
經(jīng)對現(xiàn)有技術(shù)的文獻檢索發(fā)現(xiàn),Y. K. Wang等人在2002年9月《圖像處理 國際會議刊物》(Proceedings of International Conference on Image Processing) 729頁到732頁發(fā)表的"The Error Concealment Feature in the H.26L Test Model" (H. 26L測試模型中的錯誤掩蓋特征) 一文中釆用的邊界匹 配方法(簡稱為BMA),以及J. Zhang等人在2000年《IEEE電路系統(tǒng)與視頻技 術(shù)期刊》(IEEE Transaction on Circuits System and Video Technology)第
10巻659頁到665頁發(fā)表的"A Cell-Loss Concealment Technique for MPEG-2 Coded Video"(—種用于MPEG-2的編碼視頻的包丟失掩蓋技術(shù)) 一文中提出的 解碼端運動估計(簡稱為DMVE)方法,是兩種較好的運動信息恢復(fù)方法。DMVE 方法利用丟失宏塊的周邊可獲得的像素在參考幀中進行搜索,得到與這些像素 最匹配的結(jié)果,并記錄下這個最佳匹配所對應(yīng)的運動信息,包括運動矢量及參 考幀索引。然后基于運動的一致性,認為此運動信息為丟失宏塊運動信息的恢 復(fù),利用恢復(fù)的運動信息恢復(fù)出整個宏塊的像素值。其中最佳匹配是通過計算 當(dāng)前宏塊的周圍像素值與相應(yīng)的替換宏塊周圍的像素值的平均絕對值誤差(簡 稱為MAD)來確定。
上述方法是利用受損宏塊與其周圍鄰近宏塊的運動矢量具有一定的相關(guān)性 這一特征,由于宏塊周圍的像素本身并不能保證處于一致的運動,因此以這些 像素進行匹配得到的運動估計,很可能對于宏塊中的某些像素是不準確的。同 樣,鑒于新的視頻標(biāo)準如&264的發(fā)展,對于宏塊已經(jīng)能最小劃分到4x4大小 進行運動估計,這樣當(dāng)宏塊內(nèi)部像素存在多個不同運動時,可更好地提高編碼 效率,因此利用運動信息對宏塊在時間域進行差錯掩蓋時,如果宏塊內(nèi)的所有 像素都使用同一種運動信息進行恢復(fù),在運動復(fù)雜區(qū)域難以獲得理想的結(jié)果。
發(fā)明內(nèi)容
本發(fā)明的目的是針對現(xiàn)有技術(shù)的不足,提出一種基于宏塊級和像素級運動 估計的視頻差錯掩蓋方法,使其通過在解碼端進行宏塊級和像素級兩次運動估 計,能夠自適應(yīng)地估計出宏塊內(nèi)每個像素點的運動矢量,恢復(fù)受損圖像,提高 數(shù)字視頻傳輸?shù)膱D像質(zhì)量。
本發(fā)明是通過以下技術(shù)方案實現(xiàn)的,本發(fā)明方法步驟如下 第一步,接收端視頻解碼的錯誤檢測視頻解碼過程中,通過錯誤檢測機 制定位出當(dāng)前幀內(nèi)錯誤宏塊的位置;
第二步,當(dāng)錯誤檢測發(fā)現(xiàn)傳輸差錯時,對受損宏塊進行宏塊級的運動估計 和像素級的運動估計。
所述對受損宏塊進行宏塊級的運動估計和像素級的運動估計,具體如下 a.用平均像素絕對誤差作為丟失宏塊內(nèi)每個像素運動估計的代價準則,代
價最小時的運動矢量作為宏塊級運動矢量的估計值,同時計算出宏塊級運動矢 量所對應(yīng)的基于距離的平均像素絕對誤差。
b.把每個宏塊周邊像素與當(dāng)前被預(yù)測的像素點的距離考慮到平均絕對誤 差的計算中,用基于距離的平均像素絕對誤差作為丟失宏塊內(nèi)每個像素運動估 計的代價準則,代價最小時的運動矢量記為像素級估計值,并存儲記錄下對應(yīng) 的代價值。
此外,計算平均像素絕對誤差和基于距離的平均像素絕對誤差時,根據(jù)丟 失宏塊周邊像素狀態(tài)的不同,權(quán)重不同,具體方式是如果周圍像素是正常解 碼獲得的像素,則權(quán)重較高,默認為一;如果周圍像素是差錯掩蓋后獲得的像
素,則權(quán)重較低,默認權(quán)重值為三分之一。 所述的默認權(quán)重值可根據(jù)具體應(yīng)用進行修改。 第三步,根據(jù)上述步驟估計出的宏塊級運動矢量、像素級運動矢量和參考
幀中相應(yīng)位置的像素值,加權(quán)預(yù)測受損宏塊內(nèi)每個像素的預(yù)測值;
所述加權(quán)預(yù)測受損宏塊內(nèi)每個像素的預(yù)測值,具體如下根據(jù)宏塊級運動 矢量和像素級運動矢量對應(yīng)的基于距離的平均像素絕對誤差值,將每個像素所 分別對應(yīng)的兩個運動所指向的兩個預(yù)測像素值進行加權(quán)平均,獲得最終每個像 素的預(yù)測值,即基于距離的平均像素絕對誤差值越小的運動,在掩蓋中的貢獻 越大。
第四步,根據(jù)上述步驟獲得的預(yù)測值,對受損宏塊內(nèi)像素進行替代。 與現(xiàn)有技術(shù)相比,本發(fā)明充分考慮了丟失宏塊整體運動、宏塊內(nèi)每個像素 的局部運動以及周圍像素的狀態(tài)信息,自適應(yīng)地從參考幀內(nèi)選擇合適的預(yù)測像 素,進一步提高了時間掩蓋的性能,可以明顯地提高數(shù)字視頻圖像傳輸?shù)目煽?性,改善圖像的顯示效果,并且本發(fā)明與MPEG-X和H,26X等標(biāo)準兼容,適用范 圍廣。實驗表明,本發(fā)明與傳統(tǒng)的邊界匹配方法和解碼端運動估計方法相比, 峰值信號噪聲平均要高1.3db,且具有更好的主觀視覺效果。
圖1是本發(fā)明實施例的流程框圖。
圖2是實施例基于平均像素絕對誤差進行解碼端運動估計的示意圖。 圖3是實施例的基于距離的平均像素絕對誤差計算的示意圖。 圖4是實施例的視頻測試序列"Bus"在第4幀丟失多個宏塊條的條件下,
各種掩蓋方法性能比較圖。其中圖(a)沒有進行掩蓋,16.33db,圖(b) BMA掩 蓋結(jié)果,29.12db,圖(c) DMVE掩蓋結(jié)果,29.54db, (d)本發(fā)明掩蓋結(jié)果, 30. 86db。
圖5是實施例的視頻測試序列"Bus"在第4幀局部區(qū)域掩蓋比較圖。其中 圖(a)為掩蓋結(jié)果,(b) DMVE掩蓋結(jié)果,(c)本發(fā)明掩蓋結(jié)果。
具體實施例方式
下面結(jié)合附圖對本發(fā)明的實施例作詳細說明本實施例在以本發(fā)明技術(shù)方案 為前提下進行實施,給出了詳細的實施方式和過程,但本發(fā)明的保護范圍不限 于下述的實施例。
將352x288大小的CIF (通用中間媒體格式)、幀率為25幀/秒的視頻測試 序列"Bus",用ITU視頻壓縮標(biāo)準H. 264的測試模型JM11.1編碼器進行壓縮, 釆用G0P (圖像組)為16,結(jié)構(gòu)為IPPP…(首幀為幀內(nèi)編碼類型,其余幀為前 向預(yù)測的幀間編碼類型),量化索引為30。 I幀不出錯,P幀每隔5幀加錯,出 錯為連續(xù)宏塊丟失,其中每隔三行宏塊,即有連續(xù)的18個宏塊丟失。本發(fā)明當(dāng) 發(fā)生傳輸錯誤時,考慮了丟失宏塊周邊像素的狀態(tài),以平均像素絕對誤差和基 于距離的平均像素絕對誤差為匹配代價函數(shù),對受損宏塊進行宏塊級的運動估 計和像素級的運動估計,然后根據(jù)估計出的兩個運動矢量和參考幀中相應(yīng)位置 的像素值,執(zhí)行基于像素的自適應(yīng)差錯掩蓋。
如圖1示出了本發(fā)明實施例處理步驟-
(1) 差錯檢測視頻解碼時,通過判斷數(shù)據(jù)包的時間戳或序號是否正確、 或判斷每個編碼基本單元運動矢量是否超出了設(shè)定的范圍、接收到的壓縮碼流 的碼字是否合法、解碼后數(shù)據(jù)是否正常、每個數(shù)據(jù)塊中宏塊個數(shù)是否正常等等, 定位出當(dāng)前幀內(nèi)錯誤宏塊的位置。
(2) 受損塊內(nèi)像素點的運動矢量估計對每個受損宏塊周圍邊界內(nèi)的像素 集合,在參考幀中以對應(yīng)位置為起始點,對周圍一定范圍內(nèi)的每個像素點進行 搜索,以失真度最小為原則,分別按照兩種不同邊界匹配失真度準則,從一組 侯選運動矢量中選擇出最合適的兩組運動矢量,圖2所示為邊界匹配的示意圖。
第一種邊界匹配失真度為平均像素絕對值誤差(簡寫為MAD),其計算如公 式(1)<formula>formula see original document page 8</formula>其中,G,力為像素在一幀視頻中的位置,S為可獲得的邊界像素集合,F(xiàn),w為
當(dāng)前幀中丟失宏塊周圍可獲得像素點的值,(m"my)為當(dāng)前考慮的可能運動矢
量,為參考幀中的像素值,N為總的邊界點得個數(shù),VW,y代表像素點(ZJ) 的權(quán)重選擇如公式(2)
<formula>formula see original document page 8</formula>第二種邊界匹配失真度為基于距離的平均像素絕對值誤差(簡寫為DMAD), 其計算如公式(3)
<formula>formula see original document page 8</formula>其中(m,w)為當(dāng)前被估計的丟失宏塊中的像素點的坐標(biāo),力(z,力,(m,")]表示邊界 點(")到當(dāng)前點(m,")的距離。W,W代表像素點(/,力的權(quán)重選擇如公式(2)。 DMAD的計算如圖4所示。
每個像素點用失真度為平均像素絕對值誤差所獲得的整體運動信息,計算相 應(yīng)的DMAD值,記為c/m(3^^。
(3)像素預(yù)測值的自適應(yīng)加權(quán)對宏塊中的每一個像素而言,都有一個基
于像素的估計獲得的運動所計算得到的dmfl^^,",及一個基于估計獲得的整體
運動所計算得到的dmflfi^^,利用這兩個DMAD值將每個像素所分別對應(yīng)的兩
個運動所指向的兩個預(yù)測像素值進行加權(quán)平均,獲得最終每個像素的預(yù)測值, 即DMAD值越小的運動,在掩蓋中的貢獻越大,其計算如公式(4)
<formula>formula see original document page 8</formula>
其中,《,n為像素點(附,")的恢復(fù)值,(附《,"+柳》及《:抓x為DMVE獲 得的宏塊整體的運動矢量及其指向的對應(yīng)的預(yù)測像素,(m《,"+m《)及 DPMVE獲肖③^前^》像,^^jig^《i及其指f^^jXti^預(yù)測像素。
(4)差錯掩蓋對當(dāng)前受損宏塊內(nèi)的每個像素,用上述步驟得到的預(yù)測像 素值進行替代,完成差錯掩蓋。
對于所有丟失的宏塊按照上述步驟處理,即可掩蓋所有出錯圖像信息。 作為對比實例,本實施例還實現(xiàn)了在相同出錯情況下,BMA方法與DMVE方 法。其中為了測試掩蓋的效果,在進行DMVE和本發(fā)明方法實施時,考慮到實際 應(yīng)用中解碼所需要的實時性,只選取宏塊周圍一像素寬的邊界作匹配之用,并 在可能的運動集合選取上,根據(jù)前文所提的運動一致性,只取與丟失宏塊所相 鄰的4x4塊的運動為可能的運動集合,然后在這個集合中進行運動估計。實驗 發(fā)現(xiàn),本發(fā)明相比BMA和DMVE有更好的掩蓋效果,峰值信號噪聲平均要高1. 3db。 同時可以進一步發(fā)現(xiàn),當(dāng)序列中出現(xiàn)比較大或者比較復(fù)雜的運動時,本發(fā)明優(yōu) 勢更明顯。圖4給出了本發(fā)明方法即對比方法對劇烈運動測試序列"Bus"的實 驗結(jié)果,圖5為圖4中汽車車頭位置局部放大的效果。從效果圖中可以看出, BMA方法在汽車車頭位置恢復(fù)效果不理想,欄桿兩側(cè)有明顯的視覺瑕疵,DMVE 方法恢復(fù)效果比BMA方法有顯著改善,但是掩蓋位置的塊效應(yīng)比本發(fā)明要大。 缺失的欄桿被DMVE方法掩蓋為汽車的外殼白顏色,而本發(fā)明方法將其用周圍像 素加權(quán)值進行掩蓋,顏色較深,視覺上有明顯的改善。
權(quán)利要求
1、一種基于宏塊級和像素級運動估計的視頻差錯掩蓋方法,其特征在于,步驟如下第一步,接收端視頻解碼的錯誤檢測視頻解碼過程中,通過錯誤檢測機制定位出當(dāng)前幀內(nèi)錯誤宏塊的位置;第二步,當(dāng)錯誤檢測發(fā)現(xiàn)傳輸差錯時,對受損宏塊進行宏塊級的運動估計和像素級的運動估計;第三步,根據(jù)上述步驟估計出的宏塊級運動矢量、像素級運動矢量和參考幀中相應(yīng)位置的像素值,加權(quán)預(yù)測受損宏塊內(nèi)每個像素的預(yù)測值;第四步,根據(jù)上述步驟獲得的預(yù)測值,對受損宏塊內(nèi)像素進行替代。
2、 如權(quán)利要求1所述的基于宏塊級和像素級運動估計的視頻差錯掩蓋方法, 其特征是,所述對受損宏塊進行宏塊級的運動估計和像素級的運動估計,具體 如下a. 用平均像素絕對誤差作為丟失宏塊內(nèi)每個像素運動估計的代價準則,代 價最小時的運動矢量作為宏塊級運動矢量的估計值,同時計算出宏塊級運動矢 量所對應(yīng)的基于距離的平均像素絕對誤差;b. 把每個宏塊周邊像素與當(dāng)前被預(yù)測的像素點的距離考慮到平均絕對誤 差的計算中,用基于距離的平均像素絕對誤差作為丟失宏塊內(nèi)每個像素運動估 計的代價準則,代價最小時的運動矢量記為像素級估計值,并存儲記錄下對應(yīng) 的代價值。
3、 如權(quán)利要求2所述的基于宏塊級和像素級運動估計的視頻差錯掩蓋方法, 其特征是,計算平均像素絕對誤差和基于距離的平均像素絕對誤差時,根據(jù)丟 失宏塊周邊像素狀態(tài)的不同,權(quán)重不同,具體方式是如果周圍像素是正常解 碼獲得的像素,則權(quán)重取值大,默認權(quán)重值為一;如果周圍像素是差錯掩蓋后 獲得的像素,則權(quán)重取值小,默認權(quán)重值為三分之一。
4、 如權(quán)利要求1所述的基于宏塊級和像素級運動估計的視頻差錯掩蓋方法, 其特征是,所述加權(quán)預(yù)測受損宏塊內(nèi)每個像素的預(yù)測值,具體如下 根據(jù)宏塊級運動矢量和像素級運動矢量對應(yīng)的基于距離的平均像素絕對誤 差值,將每個像素所分別對應(yīng)的兩個運動所指向的兩個預(yù)測像素值進行加權(quán)平 均,獲得最終每個像素的預(yù)測值,即基于距離的平均像素絕對誤差值越小的運 動,在掩蓋中的貢獻越大。
5、如權(quán)利要求1所述的基于宏塊級和像素級運動估計的視頻差錯掩蓋方法, 其特征是,所述通過錯誤檢測機制定位出當(dāng)前幀內(nèi)錯誤宏塊的位置,具體如下: 視頻解碼時,通過判斷數(shù)據(jù)包的時間戳或序號是否正確、或判斷每個編碼基本 單元運動矢量是否超出了設(shè)定的范圍、接收到的壓縮碼流的碼字是否合法、解 碼后數(shù)據(jù)是否正常、每個數(shù)據(jù)塊中宏塊個數(shù)是否正常,定位出當(dāng)前幀內(nèi)錯誤宏 塊的位置。
全文摘要
一種數(shù)字視頻通信技術(shù)領(lǐng)域的基于宏塊級和像素級運動估計的視頻差錯掩蓋方法,步驟為接收端視頻解碼的錯誤檢測視頻解碼過程中,通過錯誤檢測機制定位出當(dāng)前幀內(nèi)錯誤宏塊的位置;當(dāng)錯誤檢測發(fā)現(xiàn)傳輸差錯時,對受損宏塊進行宏塊級的運動估計和像素級的運動估計;根據(jù)估計出的宏塊級運動矢量、像素級運動矢量和參考幀中相應(yīng)位置的像素值,加權(quán)預(yù)測受損宏塊內(nèi)每個像素的預(yù)測值;根據(jù)獲得的預(yù)測值對受損宏塊內(nèi)像素進行替代。本發(fā)明與現(xiàn)有技術(shù)相比,峰值信號噪聲平均要高1.3db,且具有更好的主觀視覺效果。本發(fā)明尤其適合于較差傳輸性能的PSTN或無線信道,能顯著地提高視頻傳輸?shù)目煽啃?,改善視頻圖像的質(zhì)量。
文檔編號H04N7/68GK101102511SQ20071004422
公開日2008年1月9日 申請日期2007年7月26日 優(yōu)先權(quán)日2007年7月26日
發(fā)明者利 宋, 張文軍, 楊小康, 鄭世寶, 鑫 馬 申請人:上海交通大學(xué)