基于頻域水印嵌入方法的MPEG-4形狀錯(cuò)誤隱藏技術(shù)
隨著網(wǎng)絡(luò)和多媒體技術(shù)的迅速發(fā)展,人們對(duì)視頻應(yīng)用提出了新的要求,基于內(nèi)容的交互編碼標(biāo)準(zhǔn)MPEG-4就是適應(yīng)這一要求而提出來(lái)的。MPEG-4視頻編碼標(biāo)準(zhǔn)面向內(nèi)容編碼,視頻數(shù)據(jù)以基于內(nèi)容的方式進(jìn)行壓縮、傳輸、編輯、檢索,與以往視頻編碼標(biāo)準(zhǔn)的主要區(qū)別在于對(duì)象的概念,輸入的視頻不再足象素,而是視頻對(duì)象,以視頻對(duì)象作為操作的單位實(shí)現(xiàn)傳統(tǒng)編碼的所有功能。視頻對(duì)象按照時(shí)空關(guān)系組成的場(chǎng)景,但是場(chǎng)景的前景對(duì)象和背景對(duì)象得以獨(dú)立編碼,如圖1有兩種基本的基于視頻對(duì)象的視頻場(chǎng)景的組成方法,每個(gè)場(chǎng)景可以由直接從視頻序列中分隔的視頻對(duì)象組成((a)分隔場(chǎng)景),也可以是現(xiàn)有的視頻對(duì)象進(jìn)行組合((b)組成場(chǎng)景)。另外也有可能場(chǎng)景是由上述的兩種方法結(jié)合組成。
MPEG-4視頻序列根據(jù)視頻對(duì)象進(jìn)行解釋和處理,這些視頻對(duì)象是由運(yùn)動(dòng)信息,紋理信息和形狀信息定義的。MPEG-4視頻包通常是基于數(shù)據(jù)分隔模式編碼的,形狀信息和運(yùn)動(dòng)信息是獨(dú)立于紋理信息的,是分別傳輸?shù)?。如果紋理信息發(fā)生了丟失,利用正確解碼的形狀信息和運(yùn)動(dòng)信息可以進(jìn)行紋理錯(cuò)誤隱藏。而如果形狀和運(yùn)動(dòng)信息都丟失了,則丟棄整個(gè)視頻包。
圖 1 分隔、組成場(chǎng)景的組成方式
形狀信息用Alpha掩模平面來(lái)表示,用二值定義(1表示不透明,0表示透明),或用灰度級(jí)定義(象素的透明程度介于0~255之間,1表示不透明,0表示透明)。一般都是使用二值掩模平面,視頻對(duì)象的每個(gè)象素位置被定義為完全透明或完全不透明。二值的形狀信息對(duì)于網(wǎng)絡(luò)上發(fā)生的錯(cuò)誤很敏感,并且會(huì)很容易發(fā)生錯(cuò)誤擴(kuò)散,將會(huì)影響連續(xù)幀的視頻對(duì)象解碼,現(xiàn)有的紋理和運(yùn)動(dòng)信息錯(cuò)誤隱藏技術(shù)都是在正確獲得形狀信息的基礎(chǔ)上得到的,這說(shuō)明形狀錯(cuò)誤隱藏是很必要的。
2 形狀錯(cuò)誤隱藏技術(shù)回顧
MPEG-4編碼標(biāo)準(zhǔn)提出了例如插入同步碼,數(shù)據(jù)分割,可逆變長(zhǎng)編碼等錯(cuò)誤隱藏技術(shù)。但是這些技術(shù)對(duì)于現(xiàn)在的通信是不能滿足要求的。隨著錯(cuò)誤隱藏技術(shù)的發(fā)展,并且形狀錯(cuò)誤隱藏漸漸引起了很多專家的關(guān)注,一些關(guān)于形狀的錯(cuò)誤隱藏技術(shù)也相繼的被提出。在文中提出了近年來(lái)的一些形狀錯(cuò)誤隱藏技術(shù)。
提出的這些技術(shù)不外乎是根據(jù)圖像的自然屬性進(jìn)行錯(cuò)誤隱藏的,分空間域的錯(cuò)誤隱藏和時(shí)間域的錯(cuò)誤隱藏,空間域的主要是針對(duì)I幀的視頻對(duì)象形狀信息,而時(shí)間域的主要是針對(duì)P幀和B幀的視頻對(duì)象的形狀信息。時(shí)間域的錯(cuò)誤隱藏技術(shù)也都是基于I幀的形狀信息正確解碼,所以空間錯(cuò)誤隱藏更具有意義。文獻(xiàn)提出的方法是利用了自適應(yīng)馬爾可夫域的最大后驗(yàn)估計(jì)(MAP)模型對(duì)圖像進(jìn)行預(yù)先的估計(jì),馬爾可夫是為了二值形狀信息設(shè)計(jì)的,參數(shù)是根據(jù)相鄰塊的信息自適應(yīng)確定的。據(jù)試驗(yàn)表明此方法能夠很精確地恢復(fù)形狀丟失的形狀信息,與中值濾波的方法比較,本文提出的方法能夠多恢復(fù)20%的丟失信息,獲得更好的客觀質(zhì)量。比自適應(yīng)馬爾可夫方法更簡(jiǎn)單的曲線插值方法,利用Hermite曲線和貝葉斯曲線的特性根據(jù)圖像的空間連續(xù)性來(lái)對(duì)邊界錯(cuò)誤塊進(jìn)行錯(cuò)誤隱藏。則是利用時(shí)間和運(yùn)動(dòng)信息進(jìn)行錯(cuò)誤隱藏的。
這些方法都是在解碼端對(duì)錯(cuò)誤塊進(jìn)行修復(fù),并且也取得了很好的效果,但是這些方法針對(duì)的錯(cuò)誤率是有一定限制的,一旦出現(xiàn)了很嚴(yán)重的錯(cuò)誤,很大的丟包率則很難精確地恢復(fù)出正確的信息。不僅如此如果丟失的是細(xì)節(jié)部分利用曲線的特性并不能很精確地恢復(fù)信息,這些都對(duì)視頻對(duì)象的解碼很不利,并且如果是I幀的形狀信息沒(méi)有恢復(fù),則之后的利用時(shí)間域錯(cuò)誤隱藏技術(shù)也得不到理想的效果。
3 本文的算法
針對(duì)此問(wèn)題本文提出了一個(gè)新穎的基于數(shù)據(jù)隱藏的方法。此方法是收到數(shù)字水印技術(shù)的啟發(fā)。數(shù)字水印是信息隱藏技術(shù)的一種,廣泛地用于圖像、視頻、音頻等版權(quán)問(wèn)題,具有透明性、魯棒性和可證明性,因此數(shù)字水印技術(shù)也越來(lái)越多地運(yùn)用到內(nèi)容認(rèn)證等其他領(lǐng)域。本文就是利用數(shù)字水印的特性與形狀的錯(cuò)誤隱藏技術(shù)進(jìn)行結(jié)合,這也是本文的主要?jiǎng)?chuàng)新點(diǎn)。本文主要是針對(duì)分隔場(chǎng)景視頻的I幀的形狀錯(cuò)誤隱藏,提出的主要思想是根據(jù)的形狀信息產(chǎn)生待嵌入的水印信息,而人們關(guān)注較少的背景對(duì)象則作為嵌入的宿主。
數(shù)字水印按照嵌入的過(guò)程分為時(shí)域/空域水印和頻域/變換域水印,一般情況下頻域水印比時(shí)域水印有更強(qiáng)的魯棒性與透明性。本文則分別利用這兩種不同的實(shí)現(xiàn)方法來(lái)進(jìn)行。下面對(duì)這兩種方法分別進(jìn)行說(shuō)明。
3.1 利用頻域水印嵌入方法
本文提出的頻域的方法是在DCT變換域中的,具體的實(shí)施方法如下:
(1)首先將二值掩模圖像進(jìn)行采樣,縮小到原圖像的1/4。根據(jù)數(shù)字水印技術(shù)原理,嵌入的信息量越大則透明性越差。這樣做的目的是為了不會(huì)太大的影響宿主圖像的客觀質(zhì)量。
(2)其次是選擇宿主圖像,本文是選擇背景對(duì)象作為宿主,一般視頻的背景對(duì)象可以轉(zhuǎn)換成RGB三個(gè)分量,據(jù)研究綠色分量對(duì)有損壓縮具有很強(qiáng)的頑健性。為了完整地嵌入二值掩模還要對(duì)分隔場(chǎng)景的背景對(duì)象進(jìn)行插值,就是利用最簡(jiǎn)單的水平插值的方法,利用每一行的與零象素相鄰的兩個(gè)非零值的平均值對(duì)零值象素位進(jìn)行填充。填充好的背景圖像作為最后的宿主圖像。
(3)在上兩步的基礎(chǔ)上本文選擇將水印信息嵌入到宿主圖像的頻域信息中,將背景圖像分隔成2×2的圖像塊,對(duì)每個(gè)塊進(jìn)行DCT變換,將水印嵌入到DCT系數(shù)的中頻系數(shù)中,直接用水印的值代替所選擇的中頻系數(shù)。
(4)最后就是水印的提取,二值掩模圖像的恢復(fù)了。提取則是嵌入的逆過(guò)程,直接對(duì)接收到的背景圖像分割成2×2的圖像塊,對(duì)每個(gè)塊進(jìn)行DCT變換,直接提取所選擇的中頻系數(shù)即可,對(duì)提取出來(lái)的二值圖像放大到原來(lái)的4倍,這樣即得到了恢復(fù)的二值掩模圖像。
3.2 利用空域水印嵌入方法
本文采用的水印算法是在X.Kang等人提出的算法基礎(chǔ)上提出的,首先將作為水印的形狀信息則是原掩模二值圖像,不做任何改變。方法如下:
(1)得到的欲嵌入水印圖像應(yīng)用式(1)進(jìn)行嵌入。
式中rood為模運(yùn)算,[α/4,3α/4]是一對(duì)最好的參數(shù)選擇,他保證了0和1都 在具有相等的最大判決范圍,使得嵌人水印之后f′與/的差值在[一0.5α,0.5α]之間。當(dāng)w(m,n)=1時(shí),f(m,n)mod α=3α/4;當(dāng)ω(m,n)=0時(shí),f(m/n)modα=α/4。因此當(dāng)提取水印時(shí)f*滿足f*(m,n)mod α>α/2,那么提取的水印值為ω*(m,n)=l,否則為0。
(2)本文所用的水印嵌入算法是屬于盲水印檢測(cè),提取過(guò)程是不需要原始載體圖像的參與。按照公式(2)提取嵌入的水印數(shù)據(jù)ω*(m,n)。
提取的水印數(shù)據(jù)ω*(m,n)即為恢復(fù)的掩模二值圖像。此水印嵌入法將對(duì)背景的圖像質(zhì)量會(huì)有一定程度的損失,損失程度與嵌入水印時(shí)所選的參數(shù)α有關(guān)。但是水印的提取也與此參數(shù)有關(guān)。為r能夠正確地恢復(fù)出水印值,而,f*與/之問(wèn)的絕對(duì)誤差(由圖像失真引起)必須小于α/4,這里的參數(shù)α的適當(dāng)選擇能夠很好地折衷水印的透明性與魯棒性之間的矛盾。α大對(duì)圖像的損失大,而小不利于水印的魯棒。根據(jù)仿真實(shí)驗(yàn)測(cè)試,這里a的取值為20。據(jù)實(shí)驗(yàn)比較,α參數(shù)為20時(shí)對(duì)圖像質(zhì)量的損失還是町以容忍的。
4 仿真結(jié)果
對(duì)本文提出的算法運(yùn)用Matlab仿真工具,按照上述的方法對(duì)經(jīng)典視頻序列"Foreman"中的第50幀圖像進(jìn)行實(shí)驗(yàn)。原視頻幀如圖2(a)所示,圖2(b)為此幀圖像MPEG-4編碼的形狀信息,圖2(c)為傳輸中由于出現(xiàn)錯(cuò)誤,接收端得到的錯(cuò)誤形狀信息。
在第二部分已經(jīng)闡述了,現(xiàn)有的方法很可能對(duì)這種情況不能得到很好的解決。若發(fā)生很嚴(yán)重的傳輸錯(cuò)誤或很高的丟包率則形狀信息會(huì)受到嚴(yán)重的破壞,影響視頻對(duì)象的正確解碼。利用本文提出的兩個(gè)算法,從接收到的背景綠色分量中提取作為水印的形狀信息,本方法的前提是背景的正確傳輸。圖3(a)和圖3(b)分別是用頻域法嵌入后在解碼端正確解碼的視頻背景對(duì)象的效果,以及正確提取恢復(fù)的二值掩模圖,圖3(c)和圖3(d)是用空域法嵌入的效果圖和提取恢復(fù)的二值掩模圖。
利用相似性量度來(lái)對(duì)恢復(fù)的掩模圖和原掩模圖進(jìn)行比較,來(lái)看一下本文的效果如何。相似性量度式為式(3),實(shí)驗(yàn)結(jié)果表明頻域法和空域法恢復(fù)的掩模圖與原圖的相似程度都非常接近1,空域法的效果要比頻域法的效果好一些??沼蚍ǖ谋尘皥D像的相似性也比頻域法的略好些,頻域法嵌入后背景圖像信噪比為31.14,空域法嵌入后背景圖像信噪比為34.88。比較來(lái)說(shuō),本文提出的空域法要比頻域法的效果更好一些。人們對(duì)視頻畫(huà)面的要求往往比靜態(tài)圖片的要求低,并且在基于對(duì)象編碼中人們對(duì)視頻背景對(duì)象的關(guān)注也相對(duì)少,所以視頻背景對(duì)象的視覺(jué)損耗也是可以容忍的。
5 結(jié) 語(yǔ)
本文提出的算法是與數(shù)字水印結(jié)合的新穎的形狀信息錯(cuò)誤隱藏方法,如果接收端的形狀信息損失很嚴(yán)重,尤其是I-VOP的形狀掩模,若其損壞則會(huì)導(dǎo)致隨后的VOP預(yù)測(cè)破壞嚴(yán)重。根據(jù)本文提出的兩個(gè)基于水印的算法則可以獲得和原掩模相似度很高的掩模,進(jìn)而能夠得到?jīng)]有近似、沒(méi)有損失的對(duì)象。但是該算法還是存在一些不足:該方法是基于背景區(qū)域沒(méi)有損失或有一定的丟包率的前提下進(jìn)行的,并且對(duì)背景區(qū)域的圖像有一定的質(zhì)量損失。爭(zhēng)取找到更魯棒的嵌入方法和更能忍受的嵌入透明度,這是下一步需要進(jìn)行的研究工作。