專利名稱:一種基于深度信息的多視點(diǎn)立體視頻錯誤隱藏方法
一種基于深度信息的多視點(diǎn)立體視頻錯誤隱藏方法技術(shù)領(lǐng)域
本發(fā)明屬于視頻圖像處理領(lǐng)域,具體涉及一種基于深度信息的多視點(diǎn)立體視頻錯誤隱藏方法。
背景技術(shù):
傳統(tǒng)的單視點(diǎn)二維視頻不能真實(shí)再現(xiàn)自然場景,而多視點(diǎn)視頻能夠提供給觀看者身臨其境的感受,其相關(guān)技術(shù)近年來受到越來越多的關(guān)注,成為視頻技術(shù)中的一個熱點(diǎn)。多視點(diǎn)立體視頻是由多個攝像機(jī)同時對同一場景進(jìn)行拍攝,得到多個視點(diǎn)的原始視頻數(shù)據(jù), 觀看者可以選擇視角來收看視頻信息。多視點(diǎn)視頻廣泛應(yīng)用于3D電視、全景視頻、交互式多視點(diǎn)視頻、虛擬現(xiàn)實(shí)、遠(yuǎn)程醫(yī)療、教育、觀光等多個領(lǐng)域的多媒體業(yè)務(wù)。和單視點(diǎn)視頻相比,多視點(diǎn)立體視頻數(shù)據(jù)量成倍增加。如果不能有效地壓縮多視點(diǎn)視頻,則會增加視頻數(shù)據(jù)的存儲和傳輸?shù)睦щy,制約其廣泛應(yīng)用。
為了以較低碼傳輸高質(zhì)量的立體視頻流,多視點(diǎn)視頻一般采用雙視加深度的格式 (左右兩視點(diǎn)的彩色視頻圖和對應(yīng)的深度圖),通常將彩色視頻圖和深度圖各自壓縮編碼。 在解碼端采用基于深度的虛擬視點(diǎn)合成技術(shù)(DIBR Depth Image Based Rendering),用左右兩視點(diǎn)和對應(yīng)的深度圖生成多視點(diǎn)視頻,可根據(jù)用戶的需求(立體視頻或任意視點(diǎn)視頻)重建一個或多個角度的立體視頻。
立體視頻當(dāng)前編碼幀除了利用自身視點(diǎn)中已編碼幀做參考幀外,還可用其它視點(diǎn)中的已編碼幀作為參考圖像進(jìn)行視差估計預(yù)測。目前,主流的立體視頻編碼方法是基于H. 264/AVC的,不但要消減以往單視點(diǎn)視頻信息中時間、空間冗余信息,還要考慮立體的特性去除視點(diǎn)間的冗余信息。
圖1是文獻(xiàn)(“S. Li,M. Yu, G. Jiang, et al. Approaches to H. 264-based Stereoscopic Video Coding”)提出的雙目視差編碼結(jié)構(gòu),是目前應(yīng)用最多的立體視頻編碼結(jié)構(gòu)。左視點(diǎn)采用基于H. 264/AVC的IPPP編碼結(jié)構(gòu),右視點(diǎn)的各圖像塊采用兩種預(yù)測方式一種是基于右視點(diǎn)本身先前時刻幀的運(yùn)動補(bǔ)償預(yù)測(MCP Motion Compensation Prediction)方式;另一種是基于左視點(diǎn)同一時刻幀的視差補(bǔ)償預(yù)測(DCP Disparity Compensation Prediction)方式。從中選擇預(yù)測誤差較小的一種作為該圖像塊的編碼方式。這種編碼結(jié)構(gòu)兼顧了視點(diǎn)間和視點(diǎn)內(nèi)的相關(guān)性,能夠得到比較高的壓縮效率。
傳輸視頻數(shù)據(jù)給視頻終端用戶的過程中可能會面臨嚴(yán)重的網(wǎng)絡(luò)挑戰(zhàn),包括網(wǎng)絡(luò)協(xié)議、服務(wù)質(zhì)量OioS Quality of Service)、信道延遲等問題。解碼端接收到的視頻數(shù)據(jù)往往發(fā)生丟包與誤碼,這會導(dǎo)致解碼圖像出現(xiàn)不同程度的失真。視頻壓縮方法中大多采用了預(yù)測編碼和變長編碼,這使得視頻數(shù)據(jù)對傳輸錯誤更加敏感,一個比特的錯誤可能導(dǎo)致解碼圖像中一條帶區(qū)域的失真,甚至失真會擴(kuò)散到后續(xù)幀。立體視頻數(shù)據(jù)量巨大,相比單視點(diǎn)視頻對信道錯誤更加敏感,一個視點(diǎn)圖像的小區(qū)域失真還會嚴(yán)重影響視頻的立體成像效果。為了解決這一問題,即在立體視頻流丟包或誤碼的情況下仍能得到較高質(zhì)量的立體視頻,采用錯誤隱藏(EC Error concealment)技術(shù)對丟失幀恢復(fù)。錯誤隱藏的基本思想是在解碼端利用圖像的時間域、空間域或視間域的冗余信息恢復(fù)受損區(qū)域,掩蓋和減少出現(xiàn)的錯誤,使其視覺效果接近于原來的效果。
進(jìn)行錯誤隱藏的前提是錯誤檢測,只有對視頻信號在傳輸過程中發(fā)生的錯誤正確檢測才能進(jìn)行下一步的有效處理。目前針對多視點(diǎn)視頻錯誤檢測的研究很少,尚沒有一種單獨(dú)針對多視點(diǎn)視頻的錯誤檢測方法被提出。傳統(tǒng)單視點(diǎn)視頻的錯誤檢測方法分為兩大類基于語法的錯誤檢測和基于相關(guān)性的錯誤檢測?;谡Z法的錯誤檢測通過檢查碼流中語法元素是否符合相應(yīng)視頻壓縮標(biāo)準(zhǔn)規(guī)定的語法結(jié)構(gòu)判斷是否有錯。這種錯誤檢測方法由于不增加額外的傳輸開銷以及其實(shí)現(xiàn)方法簡單而得到非常廣泛的應(yīng)用,但錯誤定位的精度較差。基于相關(guān)性的錯誤檢測利用自然圖像各像素值的空間相關(guān)性,若解碼圖像某區(qū)域中的像素值與周圍像素值的差值較大,即圖像中某區(qū)域的像素值發(fā)生突變,則認(rèn)為碼流中與該區(qū)域?qū)?yīng)的數(shù)據(jù)在傳輸過程中發(fā)生錯誤。
大多數(shù)對于錯誤隱藏技術(shù)的研究是針對傳統(tǒng)的單視點(diǎn)視頻,立體視頻錯誤隱藏技術(shù)是目前的研究熱點(diǎn)。在文獻(xiàn)(“C. Bilen, A. Aksay, and G. B. Akar. Two novel methods for full frame loss concealment in stereo video,,)中,作者提出了以圖像塊和以像素為單位兩種隱藏算法,利用前一時刻正確解碼幀的視差矢量和運(yùn)動矢量來恢復(fù)當(dāng)前丟失中貞。在文獻(xiàn)("S. Liu, Y. Chen, Y. K. Wang,Μ. Gabbouj,Μ. Μ. Hannuksela,H. Q. Li. Frame loss error concealment for multiview video coding”)中,作者提出了禾丨J用其它視點(diǎn)的運(yùn)動信息隱藏丟失圖像的多視點(diǎn)視頻的錯誤隱藏算法。在文獻(xiàn)(“TY.Chimg,S Sull,C. S.Kim. Frame Loss Concealment for Stereoscopic Video Based on Inter-view Simi larity of Motion and Intensity Difference")中,作者提出了利用視點(diǎn)間運(yùn)動和強(qiáng)度變化相似性的立體視頻整幀錯誤隱藏方法。該方法的錯誤隱藏效果相比上述方法有一定提高,但重建圖像的背景和物體邊緣處易出現(xiàn)噪聲。以上是針對于立體視頻右圖像整幀丟失的錯誤隱藏方法,適用于低碼率下整幀圖像打?yàn)橐话那闆r。若僅部分宏塊丟失,則需拋棄整幀圖像以采用整幀錯誤隱藏的方法,視頻的隱藏效果不佳。
下面是針對于立體視頻宏塊級的錯誤隱藏方法。文獻(xiàn)(“S.Knorr,C.Clemens, Μ. Kunter and Τ. Sikora.Robust Concealment for Erroneous Block Bursts in Stereoscopic Images")中,作者提出了一種投影變換模型的差錯掩蓋算法,首先通過 Harris角點(diǎn)檢測找到丟失塊周圍區(qū)域的特征點(diǎn),根據(jù)極線幾何關(guān)系在右圖像中找到對應(yīng)的特征點(diǎn),再利用投影映射填補(bǔ)丟失塊。但該方法復(fù)雜度較大,不適用于實(shí)時應(yīng)用。在文獻(xiàn) ("X. Xiang,D. Zhao,Q. Wang,et al. A Novel Error Concealment Method for Stereoscopic Video Coding”)中,作者提出了一種基于視間相關(guān)性和重疊塊運(yùn)動視差補(bǔ)償?shù)亩嘁朁c(diǎn)視頻編碼錯誤隱藏技術(shù)。首先應(yīng)用塊匹配準(zhǔn)則選取周圍塊的運(yùn)動矢量(Motion Vector, MV) 或視差矢量(Disparity Vector, DV)中的最優(yōu)矢量構(gòu)建最優(yōu)候選塊,分配最大權(quán)值;然后將侯選替代塊的每個像素值進(jìn)行加權(quán)平均得到一個新的替代塊。用該錯誤隱藏方法恢復(fù)的圖像主客觀效果有待于提高。在文獻(xiàn)(“C. T.E.R. Hewage,S. Worrall, S. Dogan,and Α. Μ. Kondoz. Frame Concealment Algorithm for Stereoscopic Video Using Motion Vector Sharing")中,作者針對于雙視加深度結(jié)構(gòu)的錯誤隱藏方法采用深度圖中對應(yīng)宏塊的MV來修復(fù)。實(shí)際上深度圖的MV和彩色視頻圖只是近似相等有偏差,該方法并沒有深入挖掘彩色視頻圖和深度圖的聯(lián)系。
綜上所述,如何針對雙視加深度格式立體視頻的結(jié)構(gòu)特點(diǎn),利用深度圖和彩色視頻圖像的聯(lián)系對解碼端接收數(shù)據(jù)中的傳輸錯誤進(jìn)行處理是一個非常具有研究價值的問題。 由于立體視頻的特殊性,不能照搬傳統(tǒng)單通道視頻傳輸抗差錯技術(shù)。重建圖像中錯誤區(qū)域的像素值需要利用空間相關(guān)性、時間相關(guān)性和視點(diǎn)間相關(guān)性。如何確定錯誤區(qū)域中哪種相關(guān)性占主導(dǎo)地位,如何利用這種相關(guān)性恢復(fù)視頻圖像是立體視頻錯誤隱藏技術(shù)的難點(diǎn)。因此,需要一種對復(fù)雜度較低的立體視頻宏塊級的錯誤隱藏算法。發(fā)明內(nèi)容
針對現(xiàn)有技術(shù)中存在的問題,本發(fā)明提出一種基于深度信息的多視點(diǎn)立體視頻錯誤隱藏方法,針對雙視加深度格式立體視頻的右視點(diǎn)視頻序列,提供一種的差錯控制方法。 左視點(diǎn)是獨(dú)立編碼視點(diǎn),編碼結(jié)構(gòu)和單視點(diǎn)相同;所以立體視頻的左視點(diǎn)發(fā)生誤碼時可以采用單視點(diǎn)的錯誤隱藏方法,本發(fā)明針對的是立體視頻的右視點(diǎn)。結(jié)合誤碼宏塊對應(yīng)的深度圖對發(fā)生錯誤的宏塊的編碼模式進(jìn)行估計,選擇鄰近宏塊中深度與待重建的錯誤宏塊深度最為接近的宏塊的編碼模式。然后,根據(jù)編碼模式選擇用視點(diǎn)內(nèi)或視點(diǎn)間的相關(guān)性信息重建錯誤宏塊,提高立體視頻的質(zhì)量。
本發(fā)明提出一種基于深度信息的多視點(diǎn)立體視頻錯誤隱藏方法,包括以下幾個步驟
步驟一采用語法檢測和相關(guān)性檢測的兩步錯誤檢測法檢測發(fā)生錯誤宏塊的位置
1.1:語法檢測過程
1. 1. 1 判斷解碼器檢測視頻碼流是否滿足視頻編碼壓縮標(biāo)準(zhǔn)H. 264的視頻碼流條件,當(dāng)前條帶中所有的宏塊的碼流全部滿足視頻碼流條件,則當(dāng)前條帶中所有的宏塊均正確,不存在錯誤宏塊;當(dāng)解碼器檢測視頻碼流不滿足視頻碼流條件中任意一個條件時,多視點(diǎn)立體視頻碼流中發(fā)生語法錯誤,將當(dāng)前檢測到的錯誤宏塊的錯誤標(biāo)志位ei_flag由0 設(shè)置為1,完成當(dāng)前條帶中錯誤宏塊的查找,終止當(dāng)前條帶中宏塊的解碼;
1. 1. 2 判斷是否完成一幀圖像的中所有條帶的解碼,如果完成,則進(jìn)入步驟1. 2, 如果未完成,返回步驟1.1.1,從下一個條帶的第一個宏塊繼續(xù)解碼,直至完成對整幀圖像的所有條帶的解碼,找到所有條帶中存在的錯誤宏塊;
1.2:相關(guān)性檢測過程
對步驟1. 1中檢測到的所有錯誤宏塊所在的條帶依次進(jìn)行相關(guān)性檢測,從其中的第一個條帶的第一個宏塊開始進(jìn)行相關(guān)性檢測確定初始錯誤宏塊相關(guān)性檢測包括兩種邊界相關(guān)性檢測方法和幀間相關(guān)性檢測方法,對I幀的條帶中的宏塊和右視點(diǎn)第一個P幀的條帶中的宏塊采用邊界相關(guān)性檢測,對其余P幀采用幀間相關(guān)性檢測;
1. 2. 1 邊界相關(guān)性檢測方法
邊界相關(guān)性為宏塊內(nèi)像素與其外部像素的相關(guān)性,通過邊界平均樣本差A(yù)IDB表示,MXM大小宏塊的邊界平均樣本差A(yù)IDB為
權(quán)利要求
1. 一種基于深度信息的多視點(diǎn)立體視頻錯誤隱藏方法,其特征在于包括以下幾個步驟步驟一采用語法檢測和相關(guān)性檢測的兩步錯誤檢測法檢測發(fā)生錯誤宏塊的位置1.1 語法檢測過程1. 1. 1 判斷解碼器檢測視頻碼流是否滿足視頻編碼壓縮標(biāo)準(zhǔn)H. 264的視頻碼流條件, 當(dāng)前條帶中所有的宏塊的碼流全部滿足視頻碼流條件,則當(dāng)前條帶中所有的宏塊均正確, 不存在錯誤宏塊;當(dāng)解碼器檢測視頻碼流不滿足視頻碼流條件中任一個條件時,多視點(diǎn)立體視頻碼流中發(fā)生語法錯誤,將當(dāng)前檢測到的錯誤宏塊的錯誤標(biāo)志位ei_flag由0設(shè)置為 1,完成當(dāng)前條帶中錯誤宏塊的查找,終止當(dāng)前條帶中宏塊的解碼;1. 1. 2 判斷是否完成一幀圖像的中所有條帶的解碼,如果完成,則進(jìn)入步驟1. 2,如果未完成,返回步驟1. 1. 1,從下一個條帶的第一個宏塊繼續(xù)解碼,直至完成對整幀圖像的所有條帶的解碼,找到所有條帶中存在的錯誤宏塊;1. 2 相關(guān)性檢測過程對步驟1. 1中檢測到的所有錯誤宏塊所在的條帶依次進(jìn)行相關(guān)性檢測,從其中的第一個條帶的第一個宏塊開始進(jìn)行相關(guān)性檢測確定初始錯誤宏塊相關(guān)性檢測包括兩種邊界相關(guān)性檢測方法和幀間相關(guān)性檢測方法,對I幀的條帶中的宏塊和右視點(diǎn)第一個P幀的條帶中的宏塊采用邊界相關(guān)性檢測,對其余P幀采用幀間相關(guān)性檢測;1. 2. 1 邊界相關(guān)性檢測方法邊界相關(guān)性為宏塊內(nèi)像素與其外部像素的相關(guān)性,通過邊界平均樣本差A(yù)IDB表示, MXM大小宏塊的邊界平均樣本差A(yù)IDB為
2.根據(jù)權(quán)利要求1所述的一種基于深度信息的多視點(diǎn)立體視頻錯誤隱藏方法,其特征在于所述的步驟一 1. 1. 1中的視頻編碼壓縮標(biāo)準(zhǔn)H. 264的視頻碼流條件具體為 a 碼值有效; b 碼值不超出語法范圍; c =DCT系數(shù)個數(shù)不超過64 ;d:運(yùn)動矢量指向圖像內(nèi);e 條帶中宏塊個數(shù)與編碼參數(shù)slice_argument相符; f 譯碼過程與條帶類型相符。
3.根據(jù)權(quán)利要求2所述的一種基于深度信息的多視點(diǎn)立體視頻錯誤隱藏方法,其特征在于所述的語法范圍具體為1條帶中的宏塊類型mb_type的語法范圍為W,25],P條帶中的宏塊類型mb_type的語法范圍為
,在宏塊層中量化參數(shù)的偏移量mb_qp_delta 的語法范圍為[-26,25].
4.根據(jù)權(quán)利要求1所述的一種基于深度信息的多視點(diǎn)立體視頻錯誤隱藏方法,其特征在于所述的步驟一 1. 2. 1 中門限 thresholdAIDB_Y 滿足 thresholdAIDB_Y = ω ^c1,其中Q1為自適應(yīng)取值分量
5.根據(jù)權(quán)利要求1所述的一種基于深度信息的多視點(diǎn)立體視頻錯誤隱藏方法,其特征在于所述的步驟一 1. 2. 1 中門限 thresholdAIDB_U 滿足 thresholdAIDB_U = ω2+ε2,其中ω2為自適應(yīng)取值分量
6.根據(jù)權(quán)利要求1所述的一種基于深度信息的多視點(diǎn)立體視頻錯誤隱藏方法,其特征在于所述的步驟一 1. 2. 2 中門限 thresholdAIDF_Y 滿足 thresholdAIDF_Y = ω3+ο3, ω3為自適應(yīng)取值分量約
7.根據(jù)權(quán)利要求1所述的一種基于深度信息的多視點(diǎn)立體視頻錯誤隱藏方法,其特征在于所述的步驟一 1. 2. 2 中門限 hresholdAIDF_U 滿足 thresholdAIDF_U = ω 4+c4, ω 4 為自適應(yīng)取值分量
全文摘要
本發(fā)明提出一種基于深度信息的多視點(diǎn)立體視頻錯誤隱藏方法,屬于視頻圖像處理領(lǐng)域,該錯誤隱藏方法包括步驟一采用語法檢測和相關(guān)性檢測的兩步錯誤檢測法檢測發(fā)生錯誤宏塊的位置;步驟二結(jié)合深度信息來估計發(fā)生錯誤宏塊的編碼模式,選擇鄰近宏塊中深度與待重建的錯誤宏塊深度最為接近的宏塊的編碼模式步驟三重建錯誤宏塊本發(fā)明提供一種基于深度信息的多視點(diǎn)立體視頻錯誤隱藏方法,錯誤檢測的定位準(zhǔn)確度較高,計算復(fù)雜度較低,以不同方法隱藏圖像的背景、運(yùn)動復(fù)雜區(qū)域和運(yùn)動規(guī)則區(qū)域,具有廣泛的適用性,對圖像的紋理處也有較好的隱藏效果。
文檔編號H04N7/26GK102510500SQ20111031077
公開日2012年6月20日 申請日期2011年10月14日 優(yōu)先權(quán)日2011年10月14日
發(fā)明者關(guān)博深, 劉榮科, 時琳 申請人:北京航空航天大學(xué)