專(zhuān)利名稱(chēng):可伸縮視頻編碼錯(cuò)誤隱藏方法、解碼器和系統(tǒng)的制作方法
可伸縮視頻編碼錯(cuò)誤隱藏方法、解碼器和系統(tǒng)技術(shù)領(lǐng)域
本申請(qǐng)涉及視頻編碼技術(shù)領(lǐng)域,特別是涉及一種可伸縮視頻編碼錯(cuò)誤隱藏方法、 解碼器和系統(tǒng)。
背景技術(shù):
近年來(lái),隨著英特網(wǎng)以及第三代移動(dòng)通信技術(shù)的普及,視頻服務(wù)正面臨著飛速的發(fā)展。為了使視頻流能夠更好地適應(yīng)各種不同的網(wǎng)絡(luò)環(huán)境和用戶(hù)終端,SVC(Scalabile Video Coding,可伸縮視頻編碼)碼流被認(rèn)為是目前解決這一問(wèn)題的最好方法。
SVC碼流能提供一個(gè)空間、時(shí)間、質(zhì)量可伸縮的碼流,從這個(gè)碼流中可以抽取子碼流,以滿(mǎn)足網(wǎng)絡(luò)傳輸速率以及終端用戶(hù)對(duì)視頻在空間、時(shí)間和信噪比等方面的需求。在SVC 碼流中,最低質(zhì)量層被稱(chēng)作基本層,增強(qiáng)空間分辨率、時(shí)間分辨率或者信噪比強(qiáng)度的層被稱(chēng)作增強(qiáng)層。其中,為實(shí)現(xiàn)空間可伸縮性,可以利用層間的運(yùn)動(dòng)、紋理和殘差信息,使用分層編碼方法;為實(shí)現(xiàn)時(shí)間可伸縮性,采用分級(jí)雙向編碼幀編碼方法;為實(shí)現(xiàn)信噪比可伸縮性,可以使用粗粒度可伸縮性和中粒度可伸縮性?xún)煞N方法,這兩種方法采用與空間可伸縮性相似的層間預(yù)測(cè)方法。
雖然視頻編碼算法充分利用了空間、時(shí)間和層間的冗余,最大限度地提高了編碼效率,但是在實(shí)際視頻應(yīng)用中可用帶寬動(dòng)態(tài)變化或路由阻塞,造成碼流傳輸出錯(cuò),進(jìn)一步影響到當(dāng)前幀、時(shí)間后續(xù)幀以及后續(xù)層幀,從而使視頻質(zhì)量大大降低?,F(xiàn)有的差錯(cuò)控制方法包括錯(cuò)誤彈性方法和錯(cuò)誤隱藏方法。錯(cuò)誤彈性方法是在編碼端加入一定的冗余,使解碼端在丟包情況下,在一定程度上盡量減少視頻質(zhì)量損失,提高視頻總體質(zhì)量。錯(cuò)誤隱藏方法是在解碼端利用空間、時(shí)間和層間正確接收的信息對(duì)丟失部分進(jìn)行重建。
在SVC中,由于分層技術(shù)的使用,可最大限度的利用層間相關(guān)性進(jìn)行錯(cuò)誤隱藏。如
公開(kāi)日期為2009年11月18日,公開(kāi)號(hào)為CN101583045A的專(zhuān)利申請(qǐng)“基于OBMC (Overlapped Block Motion Compensation,重疊塊運(yùn)動(dòng)補(bǔ)償)的SVC層間錯(cuò)誤隱藏方法”,在使用基本層幀的運(yùn)動(dòng)矢量之前根據(jù)增強(qiáng)層幀和基本層幀的空間分辨率比率判斷是否進(jìn)行尺度放大,在找出若干補(bǔ)償塊進(jìn)行OBMC加權(quán)之后,對(duì)基本層幀的殘差數(shù)據(jù)采取可能的上采樣濾波,加到 OBMC方法的重建值上,避免了使用單一運(yùn)動(dòng)矢量做運(yùn)動(dòng)補(bǔ)償所帶來(lái)的塊效應(yīng)問(wèn)題。
然而上述基于OBMC的SVC層間錯(cuò)誤隱藏方法適用于均勻運(yùn)動(dòng)序列,基本層幀為幀間編碼幀,且增強(qiáng)層幀無(wú)連續(xù)丟包的情況。但是當(dāng)基本層幀為幀內(nèi)編碼幀時(shí),由于基本層幀不具有運(yùn)動(dòng)矢量以及殘差信息,從而對(duì)該基本層幀的殘差數(shù)據(jù)上采樣后得到的重建值準(zhǔn)確度降低,進(jìn)一步導(dǎo)致包含該基本層幀和增強(qiáng)層幀的編碼幀與后續(xù)參考該編碼幀的編碼幀質(zhì)量降低,從而導(dǎo)致視頻模糊。發(fā)明內(nèi)容
有鑒于此,本申請(qǐng)實(shí)施例公開(kāi)一種可伸縮視頻編碼錯(cuò)誤隱藏方法、解碼器和系統(tǒng), 以提高編碼幀質(zhì)量,進(jìn)一步提高視頻清晰度。技術(shù)方案如下
基于本申請(qǐng)實(shí)施例的一方面,公開(kāi)一種可伸縮視頻編碼錯(cuò)誤隱藏方法,包括
解碼正確編碼幀的基本層幀和增強(qiáng)層幀;
對(duì)正確解碼幀中的基本層幀進(jìn)行上采樣,計(jì)算上采樣后的基本層幀中的各個(gè)像素的邊緣強(qiáng)度,依據(jù)所述各個(gè)像素的邊緣強(qiáng)度,將基本層幀的各個(gè)像素進(jìn)行分類(lèi),得出像素分類(lèi)結(jié)果;
依據(jù)所述像素分類(lèi)結(jié)果,對(duì)正確解碼幀中增強(qiáng)層幀的各個(gè)像素進(jìn)行分類(lèi),依據(jù)基本層幀和增強(qiáng)層幀像素分類(lèi),確定與所述像素分類(lèi)對(duì)應(yīng)的維納濾波器;
當(dāng)丟失的增強(qiáng)層幀對(duì)應(yīng)的基本層幀為幀間編碼幀,且增強(qiáng)層的丟幀次數(shù)未超過(guò)預(yù)設(shè)次數(shù)時(shí),判斷基本層幀中的解碼宏塊是幀間編碼塊還是幀內(nèi)編碼塊;
若所述基本層幀中的解碼宏塊為幀間編碼塊,獲取所述基本層幀間編碼塊對(duì)應(yīng)的重建值、運(yùn)動(dòng)矢量和殘差信息;
對(duì)所述運(yùn)動(dòng)矢量進(jìn)行上采樣;
判斷上采樣后的運(yùn)動(dòng)矢量坐標(biāo)是否超過(guò)所述丟失的增強(qiáng)層幀的參考幀邊界,如果是,對(duì)所述重建值進(jìn)行上采樣,計(jì)算上采樣后的重建值中的各個(gè)像素的邊緣強(qiáng)度,選取與所述各個(gè)像素的邊緣強(qiáng)度對(duì)應(yīng)的維納濾波器,對(duì)像素進(jìn)行濾波,濾波后的像素組成的重建值作為所述丟失的增強(qiáng)層幀中對(duì)應(yīng)的解碼宏塊的錯(cuò)誤隱藏值,如果否,用上采樣后的運(yùn)動(dòng)矢量和上采樣后的殘差信息進(jìn)行運(yùn)動(dòng)補(bǔ)償,得出對(duì)應(yīng)的所述丟失的增強(qiáng)層幀中的解碼宏塊的錯(cuò)誤隱藏值;
若所述基本層幀中解碼宏塊為幀內(nèi)編碼塊,獲取所述幀內(nèi)編碼塊對(duì)應(yīng)的重建值;
對(duì)所述重建值進(jìn)行上采樣,計(jì)算上采樣后的重建值中的各個(gè)像素的邊緣強(qiáng)度,選取與所述各個(gè)像素的邊緣強(qiáng)度對(duì)應(yīng)的維納濾波器,對(duì)像素進(jìn)行濾波,濾波后的像素組成的重建值作為丟失的增強(qiáng)層幀中對(duì)應(yīng)的解碼宏塊的錯(cuò)誤隱藏值。
優(yōu)選地,還包括當(dāng)所述丟失的增強(qiáng)層幀對(duì)應(yīng)的基本層幀為幀間編碼幀,且增強(qiáng)層的丟幀次數(shù)超過(guò)預(yù)設(shè)次數(shù)時(shí),采用重編碼方法,得到重編基本層幀,所述重編碼方法為,獲取所述丟失的增強(qiáng)層幀對(duì)應(yīng)的基本層幀,將基本層幀作為原始幀,將到該基本層幀時(shí)間上最近的正確解碼幀中的基本層幀為參考幀,對(duì)原始幀進(jìn)行編碼,得出重編碼基本層幀;
判斷重編碼基本層幀中的解碼宏塊是幀間編碼塊還是幀內(nèi)編碼塊;
若所述重編碼基本層幀中的解碼宏塊為幀間編碼塊,獲取該幀間編碼塊對(duì)應(yīng)的原始重建值、運(yùn)動(dòng)矢量和殘差信息,所述原始重建值在解碼正確編碼幀的基本層幀和增強(qiáng)層幀時(shí)獲得;
對(duì)所述運(yùn)動(dòng)矢量進(jìn)行上采樣;
判斷上采樣后的運(yùn)動(dòng)矢量坐標(biāo)是否超過(guò)所述丟失的增強(qiáng)層幀的參考幀邊界,如果是,對(duì)所述原始重建值進(jìn)行上采樣,計(jì)算上采樣后的原始重建值中的各個(gè)像素的邊緣強(qiáng)度, 選取與所述各個(gè)像素的邊緣強(qiáng)度對(duì)應(yīng)的維納濾波器,對(duì)像素進(jìn)行濾波,濾波后的像素組成的重建值作為所述丟失的增強(qiáng)層幀中對(duì)應(yīng)的解碼宏塊的錯(cuò)誤隱藏值,如果否,用上采樣后的運(yùn)動(dòng)矢量和上采樣后的殘差信息進(jìn)行運(yùn)動(dòng)補(bǔ)償,得出對(duì)應(yīng)的所述丟失的增強(qiáng)層幀中的解碼宏塊的錯(cuò)誤隱藏值;
若所述重編碼基本層幀中的解碼宏塊為幀內(nèi)編碼塊,獲取該幀內(nèi)編碼塊對(duì)應(yīng)的原始重建值,所述原始重建值在解碼正確編碼幀的基本層幀和增強(qiáng)層幀時(shí)獲得;
對(duì)所述原始重建值進(jìn)行上采樣,計(jì)算上采樣后的原始重建值中的各個(gè)像素的邊緣強(qiáng)度,選取與所述各個(gè)像素的邊緣強(qiáng)度對(duì)應(yīng)的維納濾波器,對(duì)像素進(jìn)行濾波,濾波后的像素組成的重建值作為丟失的增強(qiáng)層幀中對(duì)應(yīng)的解碼宏塊的錯(cuò)誤隱藏值。
優(yōu)選地,還包括當(dāng)所述丟失的增強(qiáng)層幀對(duì)應(yīng)的基本層幀為幀內(nèi)編碼幀,采用重編碼方法,得到重編基本層幀,該重編碼方法為,獲取所述丟失的增強(qiáng)層幀對(duì)應(yīng)的基本層幀, 將基本層幀作為原始幀,將到該基本層幀時(shí)間上最近的正確編碼幀中的基本層幀為參考幀,對(duì)原始幀進(jìn)行編碼,得出重編基本層幀;
判斷重編碼基本層幀中的解碼宏塊是幀間編碼塊還是幀內(nèi)編碼塊;
若所述重編碼基本層幀中的解碼宏塊為幀間編碼塊,獲取該幀間編碼塊對(duì)應(yīng)的原始重建值、運(yùn)動(dòng)矢量和殘差信息,所述原始重建值在解碼正確編碼幀的基本層幀和增強(qiáng)層幀時(shí)獲得;
對(duì)所述運(yùn)動(dòng)矢量進(jìn)行上采樣;
判斷上采樣后的運(yùn)動(dòng)矢量坐標(biāo)是否超過(guò)所述丟失的增強(qiáng)層幀的參考幀邊界,如果是,對(duì)所述原始重建值進(jìn)行上采樣,計(jì)算上采樣后的原始重建值中的各個(gè)像素的邊緣強(qiáng)度, 選取與所述各個(gè)像素的邊緣強(qiáng)度對(duì)應(yīng)的維納濾波器,對(duì)像素進(jìn)行濾波,濾波后的像素組成的重建值作為所述丟失的增強(qiáng)層幀中對(duì)應(yīng)的解碼宏塊的錯(cuò)誤隱藏值,如果否,用上采樣后的運(yùn)動(dòng)矢量和上采樣后的殘差信息進(jìn)行運(yùn)動(dòng)補(bǔ)償,得出對(duì)應(yīng)的所述丟失的增強(qiáng)層幀中的解碼宏塊的錯(cuò)誤隱藏值;
若所述重編碼基本層幀中的解碼宏塊為幀內(nèi)編碼塊,獲取該幀內(nèi)編碼塊對(duì)應(yīng)的原始重建值;
對(duì)所述原始重建值進(jìn)行上采樣,計(jì)算上采樣后的原始重建值中的各個(gè)像素的邊緣強(qiáng)度,選取與所述各個(gè)像素的邊緣強(qiáng)度對(duì)應(yīng)的維納濾波器,對(duì)像素進(jìn)行濾波,濾波后的像素組成的重建值作為丟失的增強(qiáng)層幀中對(duì)應(yīng)的解碼宏塊的錯(cuò)誤隱藏值。
優(yōu)選地,所述對(duì)原始幀進(jìn)行編碼包括采用4X4編碼塊對(duì)原始幀進(jìn)行編碼。
優(yōu)選地,所述重編基本層幀中幀間編碼塊和幀內(nèi)編碼塊的個(gè)數(shù)可以通過(guò)調(diào)節(jié)拉格朗日參數(shù)λ來(lái)控制,其中λ = λ 0/α,λ 0為原始拉格朗日參數(shù),α為錯(cuò)誤隱藏質(zhì)量參數(shù), α > O。
優(yōu)選地,還包括針對(duì)任一像素分類(lèi)結(jié)果,判斷所述像素分類(lèi)結(jié)果中像素個(gè)數(shù)是否小于預(yù)設(shè)閾值T ;
在所述像素分類(lèi)結(jié)果中像素個(gè)數(shù)小于預(yù)設(shè)閾值T時(shí),將該像素分類(lèi)結(jié)果中的像素劃分到與該像素分類(lèi)結(jié)果中的像素的邊緣強(qiáng)度最接近的類(lèi)中,其中預(yù)設(shè)閾值T為Ν/16/4,N 為圖像中的像素總個(gè)數(shù)。
優(yōu)選地,像素分類(lèi)結(jié)果的個(gè)數(shù)依據(jù)公式var_SObel(i,j) = min(n, [sobel (i, j)]) 確定,其中n為給定值,sobel (i,j)為像素的邊緣強(qiáng)度。
基于本申請(qǐng)實(shí)施例的一方面,公開(kāi)一種解碼器,包括
解碼裝置,用于解碼正確編碼幀的基本層幀和增強(qiáng)層幀;
與所述解碼裝置相連的第一分類(lèi)器,用于對(duì)正確解碼幀中的基本層幀進(jìn)行上采樣,計(jì)算上采樣后的基本層幀中的各個(gè)像素的邊緣強(qiáng)度,依據(jù)所述各個(gè)像素的邊緣強(qiáng)度,將基本層幀的各個(gè)像素進(jìn)行分類(lèi),得出像素分類(lèi)結(jié)果;
與所述第一分類(lèi)器相連的濾波器確定裝置,用于依據(jù)所述像素分類(lèi)結(jié)果,對(duì)正確解碼幀中增強(qiáng)層幀的各個(gè)像素進(jìn)行分類(lèi),依據(jù)基本層幀和增強(qiáng)層幀像素分類(lèi),確定與所述像素分類(lèi)對(duì)應(yīng)的維納濾波器;
與所述濾波器確定裝置相連的判斷裝置,用于當(dāng)丟失的增強(qiáng)層幀對(duì)應(yīng)的基本層幀為幀間編碼幀,且增強(qiáng)層的丟幀次數(shù)未超過(guò)預(yù)設(shè)次數(shù)時(shí),判斷基本層幀中的解碼宏塊是幀間編碼塊還是幀內(nèi)編碼塊;
與所述判斷裝置相連的獲取裝置,用于在所述判斷裝置判斷所述解碼宏塊為幀間編碼塊,獲取所述基本層幀間編碼塊對(duì)應(yīng)的重建值、運(yùn)動(dòng)矢量和殘差信息;在所述判斷裝置判斷所述解碼宏塊為幀內(nèi)編碼塊,獲取所述幀內(nèi)編碼塊對(duì)應(yīng)的重建值;
與所述獲取裝置相連的第一重建裝置,用于對(duì)所述運(yùn)動(dòng)矢量進(jìn)行上采樣,判斷上采樣后的運(yùn)動(dòng)矢量坐標(biāo)是否超過(guò)所述丟失的增強(qiáng)層幀的參考幀邊界,如果是,對(duì)所述重建值進(jìn)行上采樣,計(jì)算上采樣后的重建值中的各個(gè)像素的邊緣強(qiáng)度,選取與所述各個(gè)像素的邊緣強(qiáng)度對(duì)應(yīng)的維納濾波器,對(duì)像素進(jìn)行濾波,濾波后的像素組成的重建值作為所述丟失的增強(qiáng)層幀中對(duì)應(yīng)的解碼宏塊的錯(cuò)誤隱藏值,如果否,用上采樣后的運(yùn)動(dòng)矢量和上采樣后的殘差信息進(jìn)行運(yùn)動(dòng)補(bǔ)償,得出對(duì)應(yīng)的所述丟失的增強(qiáng)層幀中的解碼宏塊的錯(cuò)誤隱藏值;
與所述獲取裝置相連的第二重建裝置,用于對(duì)所述重建值進(jìn)行上采樣,計(jì)算上采樣后的重建值中的各個(gè)像素的邊緣強(qiáng)度,選取與所述各個(gè)像素的邊緣強(qiáng)度對(duì)應(yīng)的維納濾波器,對(duì)像素進(jìn)行濾波,濾波后的像素組成的重建值作為丟失的增強(qiáng)層幀中對(duì)應(yīng)的解碼宏塊的錯(cuò)誤隱藏值。
優(yōu)選地,還包括連接在所述濾波器確定裝置和所述判斷裝置之間的重編碼裝置, 用于當(dāng)所述丟失的增強(qiáng)層幀對(duì)應(yīng)的基本層幀為幀間編碼幀,且增強(qiáng)層的丟幀次數(shù)超過(guò)預(yù)設(shè)次數(shù),或者當(dāng)所述丟失的增強(qiáng)層幀對(duì)應(yīng)的基本層幀為幀內(nèi)編碼幀,采用重編碼方法,得到重編基本層幀,該重編碼方法為,獲取所述丟失的增強(qiáng)層幀對(duì)應(yīng)的基本層幀,將基本層幀作為原始幀,將到該基本層幀時(shí)間上最近的正確編碼幀中的基本層幀為參考幀,對(duì)原始幀進(jìn)行編碼,得出重編基本層幀;
判斷裝置,還用于判斷重編基本層幀中的解碼宏塊是幀間編碼塊還是幀內(nèi)編碼塊。
優(yōu)選地,所述重編碼裝置具體采用4X4編碼塊對(duì)原始幀進(jìn)行編碼。
優(yōu)選地,所述重編基本層幀中幀間編碼塊和幀內(nèi)編碼塊的個(gè)數(shù)可以通過(guò)調(diào)節(jié)拉格朗日參數(shù)λ來(lái)控制,其中λ = λ 0/α,λ 0為原始拉格朗日參數(shù),α為錯(cuò)誤隱藏質(zhì)量參數(shù), α > O。
優(yōu)選地,還包括連接在所述第一分類(lèi)器和所述濾波器確定裝置之間的第一個(gè)數(shù)判斷裝置和第二分類(lèi)器,其中
所述第一個(gè)數(shù)判斷裝置與所述第一分類(lèi)器相連,用于針對(duì)任一像素分類(lèi)結(jié)果,判斷所述像素分類(lèi)結(jié)果中像素個(gè)數(shù)是否小于預(yù)設(shè)閾值T ;
所述第二分類(lèi)器連接在所述第一個(gè)數(shù)判斷裝置和所述濾波器確定裝置之間,用于在所述第一分類(lèi)器得出的像素分類(lèi)結(jié)果中像素個(gè)數(shù)小于預(yù)設(shè)閾值T時(shí),將該像素分類(lèi)結(jié)果中的像素劃分到與該像素分類(lèi)結(jié)果中的像素的邊緣強(qiáng)度最接近的類(lèi)中,其中預(yù)設(shè)閾值T為 Ν/16/4,Ν為圖像中的像素總個(gè)數(shù)。
優(yōu)選地,還包括連接在所述第一分類(lèi)器和所述濾波器確定裝置之間的第二個(gè)數(shù)判斷裝置和第三分類(lèi)器,其中
所述第二個(gè)數(shù)判斷裝置與所述第一分類(lèi)器相連,用于針對(duì)任一像素分類(lèi)結(jié)果,判斷所述像素分類(lèi)結(jié)果中像素個(gè)數(shù)是否小于預(yù)設(shè)閾值T ;
所述第三分類(lèi)器連接在所述第二個(gè)數(shù)判斷裝置和所述濾波器確定裝置之間,用于在所述第一分類(lèi)器得出的像素分類(lèi)結(jié)果中像素個(gè)數(shù)小于預(yù)設(shè)閾值T時(shí),將該像素分類(lèi)結(jié)果中的像素劃分到與該像素分類(lèi)結(jié)果中的像素的邊緣強(qiáng)度最接近的類(lèi)中,其中預(yù)設(shè)閾值T為 N/16/4,N為圖像中的像素總個(gè)數(shù)。
優(yōu)選地,所述第一分類(lèi)器中像素分類(lèi)結(jié)果的個(gè)數(shù)依據(jù)公式var_SObel(i,j)= min(n, [sobel(i, j)])確定,其中n為給定值,sobel(i, j)為像素的邊緣強(qiáng)度。
基于本申請(qǐng)實(shí)施例的另一方面,公開(kāi)一種可伸縮視頻編碼錯(cuò)誤隱藏系統(tǒng),包括編碼器和傳輸設(shè)備,還包括上述解碼器。
應(yīng)用上述技術(shù)方案,在丟失的增強(qiáng)層幀對(duì)應(yīng)的基本層幀為幀間編碼幀,且丟幀次數(shù)未超過(guò)預(yù)設(shè)次數(shù)情況下,在幀間編碼幀中的解碼宏塊為幀間編碼塊或幀內(nèi)編碼塊時(shí)進(jìn)行不同處理,得到重建的增強(qiáng)層幀的錯(cuò)誤隱藏值;在丟失的增強(qiáng)層幀對(duì)應(yīng)的基本層幀為幀間編碼幀,且丟幀次數(shù)超過(guò)預(yù)設(shè)次數(shù)情況下或者丟失的增強(qiáng)層幀對(duì)應(yīng)的基本層幀為幀內(nèi)編碼幀,采用重編碼方法,得到重編基本層幀,在重編基本層幀中的的解碼宏塊為幀間編碼塊或幀內(nèi)編碼塊時(shí)進(jìn)行不同處理,得到重建的增強(qiáng)層幀的錯(cuò)誤隱藏值。與現(xiàn)有技術(shù)相比,提高了重建的增強(qiáng)層幀的質(zhì)量,從而提高視頻清晰度,避免視頻出現(xiàn)拉絲現(xiàn)象。
圖1為本申請(qǐng)公開(kāi)的可伸縮視頻編碼錯(cuò)誤隱藏方法的一種局部流程圖2為本申請(qǐng)公開(kāi)的可伸縮視頻編碼錯(cuò)誤隱藏方法中編碼幀接收示意圖3為本申請(qǐng)公開(kāi)的可伸縮視頻編碼錯(cuò)誤隱藏方法的另一種局部流程圖4為本申請(qǐng)公開(kāi)的可伸縮視頻編碼錯(cuò)誤隱藏方法的再一種局部流程圖5為本申請(qǐng)公開(kāi)的可伸縮視頻編碼錯(cuò)誤隱藏方法的完整流程圖6為foreman序列經(jīng)過(guò)不同錯(cuò)誤隱藏方法的峰值信噪比增益結(jié)果示意圖7為foothll序列經(jīng)過(guò)不同錯(cuò)誤隱藏方法的峰值信噪比增益結(jié)果示意圖8為具有靜止背景的序列經(jīng)過(guò)不同錯(cuò)誤隱藏方法的SSIM增益結(jié)果示意圖9為具有靜止背景的序列經(jīng)過(guò)不同錯(cuò)誤隱藏方法的PSNR增益結(jié)果示意圖10為運(yùn)動(dòng)平穩(wěn)的paris序列經(jīng)過(guò)不同錯(cuò)誤隱藏方法的PSNR增益結(jié)果示意圖11為運(yùn)動(dòng)平穩(wěn)的container序列經(jīng)過(guò)不同錯(cuò)誤隱藏方法的PSNR增益結(jié)果示意圖12為本申請(qǐng)公開(kāi)的解碼器的一種結(jié)構(gòu)示意圖13為本申請(qǐng)公開(kāi)的解碼器的另一種結(jié)構(gòu)示意圖14為本申請(qǐng)公開(kāi)的解碼器的再一種結(jié)構(gòu)示意圖15為本申請(qǐng)公開(kāi)的解碼器的再一種結(jié)構(gòu)示意圖。
具體實(shí)施方式
上述基于OBMC的SVC層間錯(cuò)誤隱藏方法以BLSkip (Base Layer Skip,基本層復(fù)用)方法為基礎(chǔ),在找出若干補(bǔ)償塊進(jìn)行OBMC加權(quán)之后,對(duì)基本層幀的殘差數(shù)據(jù)進(jìn)行上采樣濾波,加到OBMC方法的重建值上,進(jìn)而可以依據(jù)該重建值,得出基本層幀對(duì)應(yīng)的增強(qiáng)層幀。
然而,發(fā)明人經(jīng)過(guò)多次實(shí)驗(yàn)發(fā)現(xiàn),上采樣后的運(yùn)動(dòng)矢量坐標(biāo)超過(guò)運(yùn)動(dòng)補(bǔ)償過(guò)程中參考幀邊界,從而導(dǎo)致依據(jù)上采樣后的運(yùn)動(dòng)矢量和殘差信息進(jìn)行運(yùn)動(dòng)補(bǔ)償?shù)贸龅脑鰪?qiáng)層幀對(duì)應(yīng)的幀間編碼塊質(zhì)量降低,即增強(qiáng)層幀質(zhì)量降低,進(jìn)一步導(dǎo)致視頻出現(xiàn)拉絲現(xiàn)象。為了解決該問(wèn)題,本申請(qǐng)實(shí)施例公開(kāi)了一種可伸縮視頻編碼錯(cuò)誤隱藏方法,對(duì)上采樣后的運(yùn)動(dòng)矢量坐標(biāo)是否超過(guò)運(yùn)動(dòng)補(bǔ)償過(guò)程中參考幀邊界進(jìn)行不同處理,以解決視頻出現(xiàn)的拉絲現(xiàn)象。
為使本申請(qǐng)的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖和具體實(shí)施方式
對(duì)本申請(qǐng)作進(jìn)一步詳細(xì)的說(shuō)明。
一個(gè)實(shí)施例
請(qǐng)參閱圖1,圖1為本申請(qǐng)實(shí)施例公開(kāi)的可伸縮視頻編碼錯(cuò)誤隱藏方法的流程圖, 其適用于丟失的增強(qiáng)層幀對(duì)應(yīng)的基本層幀為幀間編碼幀,且增強(qiáng)層的丟幀次數(shù)未超過(guò)預(yù)設(shè)次數(shù)的情況,可以包括如下步驟
SlOl 解碼正確編碼幀的基本層幀和增強(qiáng)層幀。其中正確編碼幀為基本層幀和增強(qiáng)層幀的解碼結(jié)果分別與各自的編碼結(jié)果一致的幀,如圖2所示。圖2為編碼幀接收示意圖,其中BL表示為基本層,EL表示為增強(qiáng)層,每個(gè)線框表示一幀,粗線框表示幀內(nèi)編碼幀,細(xì)線框表示幀間編碼幀,實(shí)線框表示幀正確接收,虛線框表示幀丟失。從圖2中可以看出由左至右,第5個(gè)增強(qiáng)層幀丟失,第1至第4個(gè)基本層幀和增強(qiáng)層幀正確接收,第1至第 4個(gè)編碼幀則為正確編碼幀。
S102:對(duì)正確編碼幀中的基本層幀進(jìn)行上采樣,計(jì)算上采樣后的基本層幀中的各個(gè)像素的邊緣強(qiáng)度,依據(jù)邊緣強(qiáng)度,將基本層幀的各個(gè)像素進(jìn)行分類(lèi),得出像素分類(lèi)結(jié)果。
上述計(jì)算上采樣后的基本層幀中的各個(gè)像素的邊緣強(qiáng)度可以采用Sobel算子計(jì)算,具體為依據(jù)下述公式
權(quán)利要求
1.一種可伸縮視頻編碼錯(cuò)誤隱藏方法,其特征在于,包括 解碼正確編碼幀的基本層幀和增強(qiáng)層幀;對(duì)正確解碼幀中的基本層幀進(jìn)行上采樣,計(jì)算上采樣后的基本層幀中的各個(gè)像素的邊緣強(qiáng)度,依據(jù)所述各個(gè)像素的邊緣強(qiáng)度,將基本層幀的各個(gè)像素進(jìn)行分類(lèi),得出像素分類(lèi)結(jié)果;依據(jù)所述像素分類(lèi)結(jié)果,對(duì)正確解碼幀中增強(qiáng)層幀的各個(gè)像素進(jìn)行分類(lèi),依據(jù)基本層幀和增強(qiáng)層幀像素分類(lèi),確定與所述像素分類(lèi)對(duì)應(yīng)的維納濾波器;當(dāng)丟失的增強(qiáng)層幀對(duì)應(yīng)的基本層幀為幀間編碼幀,且增強(qiáng)層的丟幀次數(shù)未超過(guò)預(yù)設(shè)次數(shù)時(shí),判斷基本層幀中的解碼宏塊是幀間編碼塊還是幀內(nèi)編碼塊;若所述基本層幀中的解碼宏塊為幀間編碼塊,獲取所述基本層幀間編碼塊對(duì)應(yīng)的重建值、運(yùn)動(dòng)矢量和殘差信息;對(duì)所述運(yùn)動(dòng)矢量進(jìn)行上采樣;判斷上采樣后的運(yùn)動(dòng)矢量坐標(biāo)是否超過(guò)所述丟失的增強(qiáng)層幀的參考幀邊界,如果是, 對(duì)所述重建值進(jìn)行上采樣,計(jì)算上采樣后的重建值中的各個(gè)像素的邊緣強(qiáng)度,選取與所述各個(gè)像素的邊緣強(qiáng)度對(duì)應(yīng)的維納濾波器,對(duì)像素進(jìn)行濾波,濾波后的像素組成的重建值作為所述丟失的增強(qiáng)層幀中對(duì)應(yīng)的解碼宏塊的錯(cuò)誤隱藏值,如果否,用上采樣后的運(yùn)動(dòng)矢量和上采樣后的殘差信息進(jìn)行運(yùn)動(dòng)補(bǔ)償,得出對(duì)應(yīng)的所述丟失的增強(qiáng)層幀中的解碼宏塊的錯(cuò)誤隱藏值;若所述基本層幀中解碼宏塊為幀內(nèi)編碼塊,獲取所述幀內(nèi)編碼塊對(duì)應(yīng)的重建值; 對(duì)所述重建值進(jìn)行上采樣,計(jì)算上采樣后的重建值中的各個(gè)像素的邊緣強(qiáng)度,選取與所述各個(gè)像素的邊緣強(qiáng)度對(duì)應(yīng)的維納濾波器,對(duì)像素進(jìn)行濾波,濾波后的像素組成的重建值作為丟失的增強(qiáng)層幀中對(duì)應(yīng)的解碼宏塊的錯(cuò)誤隱藏值。
2.根據(jù)權(quán)利要求1所述的可伸縮視頻編碼錯(cuò)誤隱藏方法,其特征在于,還包括當(dāng)所述丟失的增強(qiáng)層幀對(duì)應(yīng)的基本層幀為幀間編碼幀,且增強(qiáng)層的丟幀次數(shù)超過(guò)預(yù)設(shè)次數(shù)時(shí),采用重編碼方法,得到重編基本層幀,所述重編碼方法為,獲取所述丟失的增強(qiáng)層幀對(duì)應(yīng)的基本層幀,將基本層幀作為原始幀,將到該基本層幀時(shí)間上最近的正確解碼幀中的基本層幀為參考幀,對(duì)原始幀進(jìn)行編碼,得出重編碼基本層幀;判斷重編碼基本層幀中的解碼宏塊是幀間編碼塊還是幀內(nèi)編碼塊; 若所述重編碼基本層幀中的解碼宏塊為幀間編碼塊,獲取該幀間編碼塊對(duì)應(yīng)的原始重建值、運(yùn)動(dòng)矢量和殘差信息,所述原始重建值在解碼正確編碼幀的基本層幀和增強(qiáng)層幀時(shí)獲得;對(duì)所述運(yùn)動(dòng)矢量進(jìn)行上采樣;判斷上采樣后的運(yùn)動(dòng)矢量坐標(biāo)是否超過(guò)所述丟失的增強(qiáng)層幀的參考幀邊界,如果是, 對(duì)所述原始重建值進(jìn)行上采樣,計(jì)算上采樣后的原始重建值中的各個(gè)像素的邊緣強(qiáng)度,選取與所述各個(gè)像素的邊緣強(qiáng)度對(duì)應(yīng)的維納濾波器,對(duì)像素進(jìn)行濾波,濾波后的像素組成的重建值作為所述丟失的增強(qiáng)層幀中對(duì)應(yīng)的解碼宏塊的錯(cuò)誤隱藏值,如果否,用上采樣后的運(yùn)動(dòng)矢量和上采樣后的殘差信息進(jìn)行運(yùn)動(dòng)補(bǔ)償,得出對(duì)應(yīng)的所述丟失的增強(qiáng)層幀中的解碼宏塊的錯(cuò)誤隱藏值;若所述重編碼基本層幀中的解碼宏塊為幀內(nèi)編碼塊,獲取該幀內(nèi)編碼塊對(duì)應(yīng)的原始重建值,所述原始重建值在解碼正確編碼幀的基本層幀和增強(qiáng)層幀時(shí)獲得;對(duì)所述原始重建值進(jìn)行上采樣,計(jì)算上采樣后的原始重建值中的各個(gè)像素的邊緣強(qiáng)度,選取與所述各個(gè)像素的邊緣強(qiáng)度對(duì)應(yīng)的維納濾波器,對(duì)像素進(jìn)行濾波,濾波后的像素組成的重建值作為丟失的增強(qiáng)層幀中對(duì)應(yīng)的解碼宏塊的錯(cuò)誤隱藏值。
3.根據(jù)權(quán)利要求1所述的可伸縮視頻編碼錯(cuò)誤隱藏方法,其特征在于,還包括當(dāng)所述丟失的增強(qiáng)層幀對(duì)應(yīng)的基本層幀為幀內(nèi)編碼幀,采用重編碼方法,得到重編基本層幀,該重編碼方法為,獲取所述丟失的增強(qiáng)層幀對(duì)應(yīng)的基本層幀,將基本層幀作為原始幀,將到該基本層幀時(shí)間上最近的正確編碼幀中的基本層幀為參考幀,對(duì)原始幀進(jìn)行編碼, 得出重編基本層幀;判斷重編碼基本層幀中的解碼宏塊是幀間編碼塊還是幀內(nèi)編碼塊;若所述重編碼基本層幀中的解碼宏塊為幀間編碼塊,獲取該幀間編碼塊對(duì)應(yīng)的原始重建值、運(yùn)動(dòng)矢量和殘差信息,所述原始重建值在解碼正確編碼幀的基本層幀和增強(qiáng)層幀時(shí)獲得;對(duì)所述運(yùn)動(dòng)矢量進(jìn)行上采樣;判斷上采樣后的運(yùn)動(dòng)矢量坐標(biāo)是否超過(guò)所述丟失的增強(qiáng)層幀的參考幀邊界,如果是, 對(duì)所述原始重建值進(jìn)行上采樣,計(jì)算上采樣后的原始重建值中的各個(gè)像素的邊緣強(qiáng)度,選取與所述各個(gè)像素的邊緣強(qiáng)度對(duì)應(yīng)的維納濾波器,對(duì)像素進(jìn)行濾波,濾波后的像素組成的重建值作為所述丟失的增強(qiáng)層幀中對(duì)應(yīng)的解碼宏塊的錯(cuò)誤隱藏值,如果否,用上采樣后的運(yùn)動(dòng)矢量和上采樣后的殘差信息進(jìn)行運(yùn)動(dòng)補(bǔ)償,得出對(duì)應(yīng)的所述丟失的增強(qiáng)層幀中的解碼宏塊的錯(cuò)誤隱藏值;若所述重編碼基本層幀中的解碼宏塊為幀內(nèi)編碼塊,獲取該幀內(nèi)編碼塊對(duì)應(yīng)的原始重建值;對(duì)所述原始重建值進(jìn)行上采樣,計(jì)算上采樣后的原始重建值中的各個(gè)像素的邊緣強(qiáng)度,選取與所述各個(gè)像素的邊緣強(qiáng)度對(duì)應(yīng)的維納濾波器,對(duì)像素進(jìn)行濾波,濾波后的像素組成的重建值作為丟失的增強(qiáng)層幀中對(duì)應(yīng)的解碼宏塊的錯(cuò)誤隱藏值。
4.根據(jù)權(quán)利要求2或3任意一項(xiàng)所述的可伸縮視頻編碼錯(cuò)誤隱藏方法,其特征在于,所述對(duì)原始幀進(jìn)行編碼包括采用4X4編碼塊對(duì)原始幀進(jìn)行編碼;所述重編基本層幀中幀間編碼塊和幀內(nèi)編碼塊的個(gè)數(shù)可以通過(guò)調(diào)節(jié)拉格朗日參數(shù)入來(lái)控制,其中λ = λΟ/α , λ0為原始拉格朗日參數(shù),α為錯(cuò)誤隱藏質(zhì)量參數(shù),α >0。
5.根據(jù)權(quán)利要求1至3任意一項(xiàng)所述的可伸縮視頻編碼錯(cuò)誤隱藏方法,其特征在于,還包括針對(duì)任一像素分類(lèi)結(jié)果,判斷所述像素分類(lèi)結(jié)果中像素個(gè)數(shù)是否小于預(yù)設(shè)閾值Τ,所述像素分類(lèi)結(jié)果的個(gè)數(shù)依據(jù)公式var_SObel(i,j) =min(n, [sobel(i, j)])確定,其中n 為給定值,sobeKi, j)為像素的邊緣強(qiáng)度;在所述像素分類(lèi)結(jié)果中像素個(gè)數(shù)小于預(yù)設(shè)閾值T時(shí),將該像素分類(lèi)結(jié)果中的像素劃分到與該像素分類(lèi)結(jié)果中的像素的邊緣強(qiáng)度最接近的類(lèi)中,其中預(yù)設(shè)閾值T為N/16/4,N為圖像中的像素總個(gè)數(shù)。
6.一種解碼器,其特征在于,包括解碼裝置,用于解碼正確編碼幀的基本層幀和增強(qiáng)層幀;與所述解碼裝置相連的第一分類(lèi)器,用于對(duì)正確解碼幀中的基本層幀進(jìn)行上采樣,計(jì)算上采樣后的基本層幀中的各個(gè)像素的邊緣強(qiáng)度,依據(jù)所述各個(gè)像素的邊緣強(qiáng)度,將基本層幀的各個(gè)像素進(jìn)行分類(lèi),得出像素分類(lèi)結(jié)果;與所述第一分類(lèi)器相連的濾波器確定裝置,用于依據(jù)所述像素分類(lèi)結(jié)果,對(duì)正確解碼幀中增強(qiáng)層幀的各個(gè)像素進(jìn)行分類(lèi),依據(jù)基本層幀和增強(qiáng)層幀像素分類(lèi),確定與所述像素分類(lèi)對(duì)應(yīng)的維納濾波器;與所述濾波器確定裝置相連的判斷裝置,用于當(dāng)丟失的增強(qiáng)層幀對(duì)應(yīng)的基本層幀為幀間編碼幀,且增強(qiáng)層的丟幀次數(shù)未超過(guò)預(yù)設(shè)次數(shù)時(shí),判斷基本層幀中的解碼宏塊是幀間編碼塊還是幀內(nèi)編碼塊;與所述判斷裝置相連的獲取裝置,用于在所述判斷裝置判斷所述解碼宏塊為幀間編碼塊,獲取所述基本層幀間編碼塊對(duì)應(yīng)的重建值、運(yùn)動(dòng)矢量和殘差信息;在所述判斷裝置判斷所述解碼宏塊為幀內(nèi)編碼塊,獲取所述幀內(nèi)編碼塊對(duì)應(yīng)的重建值;與所述獲取裝置相連的第一重建裝置,用于對(duì)所述運(yùn)動(dòng)矢量進(jìn)行上采樣,判斷上采樣后的運(yùn)動(dòng)矢量坐標(biāo)是否超過(guò)所述丟失的增強(qiáng)層幀的參考幀邊界,如果是,對(duì)所述重建值進(jìn)行上采樣,計(jì)算上采樣后的重建值中的各個(gè)像素的邊緣強(qiáng)度,選取與所述各個(gè)像素的邊緣強(qiáng)度對(duì)應(yīng)的維納濾波器,對(duì)像素進(jìn)行濾波,濾波后的像素組成的重建值作為所述丟失的增強(qiáng)層幀中對(duì)應(yīng)的解碼宏塊的錯(cuò)誤隱藏值,如果否,用上采樣后的運(yùn)動(dòng)矢量和上采樣后的殘差信息進(jìn)行運(yùn)動(dòng)補(bǔ)償,得出對(duì)應(yīng)的所述丟失的增強(qiáng)層幀中的解碼宏塊的錯(cuò)誤隱藏值;與所述獲取裝置相連的第二重建裝置,用于對(duì)所述重建值進(jìn)行上采樣,計(jì)算上采樣后的重建值中的各個(gè)像素的邊緣強(qiáng)度,選取與所述各個(gè)像素的邊緣強(qiáng)度對(duì)應(yīng)的維納濾波器, 對(duì)像素進(jìn)行濾波,濾波后的像素組成的重建值作為丟失的增強(qiáng)層幀中對(duì)應(yīng)的解碼宏塊的錯(cuò)誤隱藏值。
7.根據(jù)權(quán)利要求6所述的解碼器,其特征在于,還包括連接在所述濾波器確定裝置和所述判斷裝置之間的重編碼裝置,用于當(dāng)所述丟失的增強(qiáng)層幀對(duì)應(yīng)的基本層幀為幀間編碼幀,且增強(qiáng)層的丟幀次數(shù)超過(guò)預(yù)設(shè)次數(shù),或者當(dāng)所述丟失的增強(qiáng)層幀對(duì)應(yīng)的基本層幀為幀內(nèi)編碼幀,采用重編碼方法,得到重編基本層幀,該重編碼方法為,獲取所述丟失的增強(qiáng)層幀對(duì)應(yīng)的基本層幀,將基本層幀作為原始幀,將到該基本層幀時(shí)間上最近的正確編碼幀中的基本層幀為參考幀,對(duì)原始幀進(jìn)行編碼,得出重編基本層幀;判斷裝置,還用于判斷重編基本層幀中的解碼宏塊是幀間編碼塊還是幀內(nèi)編碼塊; 連接在所述第一分類(lèi)器和所述濾波器確定裝置之間的第一個(gè)數(shù)判斷裝置和第二分類(lèi)器,其中所述第一個(gè)數(shù)判斷裝置與所述第一分類(lèi)器相連,用于針對(duì)任一像素分類(lèi)結(jié)果,判斷所述像素分類(lèi)結(jié)果中像素個(gè)數(shù)是否小于預(yù)設(shè)閾值T,所述第一分類(lèi)器中像素分類(lèi)結(jié)果的個(gè)數(shù)依據(jù)公式 var_SObel(i,j) =min(n, [sobel(i, j)])確定,其中n 為給定值,sobel(i, j) 為像素的邊緣強(qiáng)度;所述第二分類(lèi)器連接在所述第一個(gè)數(shù)判斷裝置和所述濾波器確定裝置之間,用于在所述第一分類(lèi)器得出的像素分類(lèi)結(jié)果中像素個(gè)數(shù)小于預(yù)設(shè)閾值T時(shí),將該像素分類(lèi)結(jié)果中的像素劃分到與該像素分類(lèi)結(jié)果中的像素的邊緣強(qiáng)度最接近的類(lèi)中,其中預(yù)設(shè)閾值T為 N/16/4,N為圖像中的像素總個(gè)數(shù)。
8.根據(jù)權(quán)利要求7所述的解碼器,其特征在于,所述重編碼裝置具體采用4X4編碼塊對(duì)原始幀進(jìn)行編碼;所述重編基本層幀中幀間編碼塊和幀內(nèi)編碼塊的個(gè)數(shù)可以通過(guò)調(diào)節(jié)拉格朗日參數(shù)入來(lái)控制,其中λ = λΟ/α , λΟ為原始拉格朗日參數(shù),α為錯(cuò)誤隱藏質(zhì)量參數(shù),α >0。
9.根據(jù)權(quán)利要求6所述的解碼器,其特征在于,還包括連接在所述第一分類(lèi)器和所述濾波器確定裝置之間的第二個(gè)數(shù)判斷裝置和第三分類(lèi)器,其中所述第二個(gè)數(shù)判斷裝置與所述第一分類(lèi)器相連,用于針對(duì)任一像素分類(lèi)結(jié)果,判斷所述像素分類(lèi)結(jié)果中像素個(gè)數(shù)是否小于預(yù)設(shè)閾值Τ,所述第一分類(lèi)器中像素分類(lèi)結(jié)果的個(gè)數(shù)依據(jù)公式 var_SObel(i,j) =min(n, [sobel(i, j)])確定,其中n 為給定值,sobel(i, j) 為像素的邊緣強(qiáng)度;所述第三分類(lèi)器連接在所述第二個(gè)數(shù)判斷裝置和所述濾波器確定裝置之間,用于在所述第一分類(lèi)器得出的像素分類(lèi)結(jié)果中像素個(gè)數(shù)小于預(yù)設(shè)閾值T時(shí),將該像素分類(lèi)結(jié)果中的像素劃分到與該像素分類(lèi)結(jié)果中的像素的邊緣強(qiáng)度最接近的類(lèi)中,其中預(yù)設(shè)閾值T為 N/16/4,N為圖像中的像素總個(gè)數(shù)。
10.一種可伸縮視頻編碼錯(cuò)誤隱藏系統(tǒng),包括編碼器和傳輸設(shè)備,其特征在于,還包括如權(quán)利要求6至9任意一項(xiàng)所述的解碼器。
全文摘要
本申請(qǐng)公開(kāi)了一種可伸縮視頻編碼錯(cuò)誤隱藏方法、解碼器和系統(tǒng)。一種可伸縮視頻編碼錯(cuò)誤隱藏方法,在丟失的增強(qiáng)層幀對(duì)應(yīng)的基本層幀為幀間編碼幀,且丟幀次數(shù)未超過(guò)預(yù)設(shè)次數(shù)情況下,在幀間編碼幀中的解碼宏塊為幀間編碼塊或幀內(nèi)編碼塊時(shí)進(jìn)行不同處理,得到重建的增強(qiáng)層幀的錯(cuò)誤隱藏值;在丟失的增強(qiáng)層幀對(duì)應(yīng)的基本層幀為幀間編碼幀,且丟幀次數(shù)超過(guò)預(yù)設(shè)次數(shù)情況下或者丟失的增強(qiáng)層幀對(duì)應(yīng)的基本層幀為幀內(nèi)編碼幀,采用重編碼方法,得到重編基本層幀,在重編基本層幀中的解碼宏塊為幀間編碼塊或幀內(nèi)編碼塊時(shí)進(jìn)行不同處理,得到重建的增強(qiáng)層幀的錯(cuò)誤隱藏值。與現(xiàn)有技術(shù)相比,提高了重建的增強(qiáng)層幀的質(zhì)量,從而提高視頻清晰度,避免視頻出現(xiàn)拉絲現(xiàn)象。
文檔編號(hào)H04N7/32GK102547282SQ20111045204
公開(kāi)日2012年7月4日 申請(qǐng)日期2011年12月29日 優(yōu)先權(quán)日2011年12月29日
發(fā)明者張冬, 李厚強(qiáng) 申請(qǐng)人:中國(guó)科學(xué)技術(shù)大學(xué)