基于svd和qr碼的視頻雙水印方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及信息隱藏技術(shù),具體涉及一種基于SVD和QR碼的視頻雙水印方法。
【背景技術(shù)】
[0002] 網(wǎng)絡(luò)信息技術(shù)在全世界范圍內(nèi)得到了迅猛發(fā)展,它極大地方便了人們之間的通信 和交流。隨著互聯(lián)網(wǎng)技術(shù)和數(shù)字多媒體技術(shù)的快速發(fā)展,大量的多媒體數(shù)據(jù)都可以通過網(wǎng) 絡(luò)被人們輕松的訪問、拷貝和傳播。因此,尋求有效的方法來解決多媒體數(shù)據(jù)的版權(quán)保護(hù)問 題日益受到人們重視?,F(xiàn)有的水印算法功能效果都不理想,比如基于三維小波變換的空時(shí) 多分辨率特性,將擴(kuò)頻水印自適應(yīng)的嵌入到三維小波系數(shù)中,魯棒性較好,但實(shí)時(shí)性較差且 水印為非盲提?。换谌SGabor變換的視頻水印算法,將水印信息嵌入到三維Gabor變換 的系數(shù)中,該算法計(jì)算復(fù)雜度較高,不滿足水印的實(shí)時(shí)性要求。
[0003] 普遍采用數(shù)字水印算法實(shí)現(xiàn)隱藏的還有:離散余弦變換(DCT)、最低有效位(LSB) 等。
[0004] 對(duì)于離散余弦變換來說,其在變換域里視頻圖像要比空間域里簡單,其次具有較 強(qiáng)的抗干擾能力,但是DCT變換后圖像能量主要集中在圖像的低頻部分,沒有保留原圖像 塊的精細(xì)結(jié)構(gòu),不能反應(yīng)原圖像塊的邊緣、輪廓等信息。
[0005] 對(duì)于LSB算法來說,由于其算法簡單,易于實(shí)現(xiàn),所以其計(jì)算速度快,此外由于其 能在低效位(一般是最后兩位)進(jìn)行嵌入,故對(duì)于256色(8位)RGB圖像,在3層圖像均插 入1/8到1/4消息。但是該算法的不足有:嵌入消息較所花間較長;只能處理簡單流格式文 件;為了滿足水印見性,允許嵌入水印強(qiáng)度較低,對(duì)空域各種操作較敏感;基本LSB算法抗 JPEG壓縮能力弱;魯棒性差等。
【發(fā)明內(nèi)容】
[0006] 發(fā)明目的:本發(fā)明的目的在于解決現(xiàn)有技術(shù)中存在的不足,提供一種盲提取的魯 棒基于SVD和QR碼的視頻雙水印方法,本發(fā)明根據(jù)不同視頻內(nèi)容的紋理特性選擇最佳的水 印嵌入強(qiáng)度,利用SVD分解的特性進(jìn)行灰度水印的嵌入,根據(jù)人眼視覺系統(tǒng)特性將QR碼信 息嵌入到掩蔽性較高圖像塊的中,進(jìn)一步增強(qiáng)視頻水印算法的安全性。
[0007] 技術(shù)方案:本發(fā)明的基于SVD和QR碼的視頻雙水印方法,包括以下步驟:(1)水印 嵌入,依次包括如下步驟:
[0008] Arnold置亂;原始視頻預(yù)處理;灰度水印嵌入;重構(gòu);對(duì)灰度水印文本信息進(jìn)行 QR編碼;QR碼嵌入;
[0009] (2)水印提取,依次包括如下步驟:
[0010] 用密鑰keyl得水印載體圖像;印提取和Arnold反置亂;key2選擇隱藏QR碼的圖 像塊;對(duì)QR碼進(jìn)行解碼,得到驗(yàn)證文本信息;
[0011] 其中,隨機(jī)選取原始視頻中的一個(gè)鏡頭,設(shè)該鏡頭中共有R幀圖像,原始視頻幀圖 像的大小為MXN,水印大小為mXn,并且m多n,整個(gè)水印的嵌入都是在同一個(gè)視頻鏡頭內(nèi) 進(jìn)行;
[0012] 步驟⑴中的預(yù)處理具體過程為:
[0013] (a)取該鏡頭內(nèi)視頻的第一幀圖像,沿著其X軸方向,從幀寬為N的邊上隨機(jī)選取 floor(m/R)+l個(gè)坐標(biāo)位記為NI, N2,. . .,NflciOTWR)+1,并將其作為密鑰keyl進(jìn)行保存,floor 為取商操作;
[0014] (b)沿著時(shí)間軸方向順序選取R幀圖像同一坐標(biāo)位上每一列的幀圖像信 息,大小均為MXR,按記錄的坐標(biāo)位置重復(fù)選取,它們均為視頻的側(cè)面圖像塊,記為 LI, L2, ···, Lfioor(m/R)+1;
[0015] (c)將側(cè)面圖像塊LI, L2, . . .,LfWWR)+1進(jìn)行順序拼接,形成該鏡頭內(nèi)視頻R幀 圖像的信息矩陣,大小為MX (R*(floor (m/R)+l)),然后將該信息矩陣大小變換為P = M/2 X (2R* (f Ioor (m/R)+1)),形成最終水印嵌入的載體數(shù)據(jù)P。
[0016] 進(jìn)一步的,所述步驟(1)中水印嵌入步驟具體如下:
[0017] (110)將鏡頭內(nèi)原始視頻進(jìn)行分幀處理,為減少計(jì)算復(fù)雜度提高運(yùn)算效率,選取視 頻幀的紅色分量(綠色分量也可)進(jìn)行直方圖分割;
[0018] (111)對(duì)原始灰度水印W進(jìn)行Arnold置亂為水印W1,然后對(duì)W1進(jìn)行SVD得到矩陣 U1, S1, V1,即 W1= U1S1V1'
[0019] (112)將原始視頻序列進(jìn)行預(yù)處理操作,得到最終水印嵌入的載體圖像P,取載體 圖像P的藍(lán)色分量,記為P b,對(duì)其1級(jí)的DWT變換,得到Pb的低頻子帶以及水平、垂直和對(duì) 角的高頻子帶,分別記為LI^ LH1、HI^ HH1;
[0020] (113)對(duì)高頻子帶HL1進(jìn)行SVD分解,得到矩陣U,S,V,即Pb= USVt; (114)根據(jù)圖 像融合嵌入強(qiáng)度計(jì)算法計(jì)算水印嵌入的強(qiáng)度,然后根據(jù)公式(2)將水印嵌入到子帶 奇異值中;
[0024] 其中,NVF(i, j)為噪聲可見性函數(shù),反映的是圖像的局部紋理特性,σ、)(/, /)為水 印嵌入的載體數(shù)據(jù)的方差,%為最終計(jì)算得到的水印嵌入強(qiáng)度因子;公式(2)中a為矩陣S 的權(quán)值,其值為a = 328/S_,Sniax為矩陣S中最大的奇異值;而i和j分別是指矩陣的某一 行以及某一列;
[0025] (115)對(duì)子帶HL1進(jìn)行奇異值重構(gòu)和DWT逆變換,得到藍(lán)色分量P b watOTiark,然后將 其返回到載體圖像P中,最后將含水印的載體數(shù)據(jù)返回到視頻鏡頭中每一幀對(duì)應(yīng)位置;
[0026] (116)計(jì)算嵌入水印后的視頻鏡頭中幀間紅色分量D的值,并對(duì)其進(jìn)行升序排序, 然后選取該鏡頭內(nèi)D值較小的前1幀圖像;
[0027] (117)隨機(jī)選取1幀圖像中的一幀進(jìn)行不重疊的8X8分塊,然后計(jì)算每一個(gè)圖像 塊的方差值和所有圖像塊方差的最大值,分別記為Var bkldi和Var _,Varbkldi是指圖像塊的 方差,指所有圖像塊方差最大值;
[0028] (118)對(duì)每一 8X8分塊進(jìn)行SVD分解,計(jì)算每一個(gè)圖像塊中最大的奇異值,記為 Sblcidi,然后再計(jì)算所有Sbkldi值中的最大值,記為S
[0029] (119)利用所有圖像塊方差最大值及奇異值最大值分別對(duì)每一圖像塊的Varblcidi 和 Sblcidi進(jìn)行歸一化處理,分別記為 A 丨=Var blc]ek/Varna;^P A 2= S blciek/Snax;
[0030] (120)對(duì)嵌入灰度水印圖像內(nèi)容的真實(shí)性進(jìn)行驗(yàn)證的文本信息進(jìn)行QR編碼,根據(jù) 公式(3)所計(jì)算得到的圖像塊因子值來選擇掩蔽性較高的圖像塊;
[0031] A = ki X A^k2XA2 (3)
[0032] 其中,A為計(jì)算后的圖像塊因子值,M5P k 2分別為A JP A 2的權(quán)值(例如可以取k i =0· 3, k2= 0· 9);
[0033] (121)將所有圖像塊因子的值進(jìn)行降序排序后,選擇A值較大的圖像塊進(jìn)行QR碼 嵌入,將所選擇的每一圖像塊進(jìn)行SVD分解后,得到對(duì)應(yīng)圖像塊的U bkldi矩陣;
[0034] (122)計(jì)算圖像塊Ubkldi矩陣中第一列i和j行系數(shù)間差值的絕對(duì)值,記為I Clblcidi I, 將I Clblcidi I值與給定的閾值1\進(jìn)行比較(例如可以取T i = 0. 01),在選擇的圖像塊中,若 dblDck I〈!\則修改U blDck矩陣中第一列i和j行的系數(shù)值,反之,貝IJ選擇下一個(gè)圖像塊繼續(xù)進(jìn) 行比較,直到所有QR碼信息嵌入完畢,用密鑰key2保存所選擇的圖像塊;
[0035] (123)對(duì)所有圖像塊進(jìn)行奇異值重構(gòu),最后得到含水印信息和QR碼的幀圖像;
[0036] (124)直接根據(jù)密鑰key2和QR碼的嵌入策略對(duì)剩余1-1幀圖像進(jìn)行QR碼的重復(fù) 嵌入;將含QR碼的幀圖像返回到含水印視頻鏡頭中的對(duì)應(yīng)位置,然后再將含水印和QR碼的 視頻鏡頭返回到原始視頻的對(duì)應(yīng)位置,得到最終含水印的視頻。
[0037] 進(jìn)一步的,所述步驟(122)中,QR碼嵌入的方法如下:
[0038] 當(dāng)嵌入QR碼的信息位為1時(shí),則為
[0040] 當(dāng)嵌入QR碼的信息位為0時(shí),則為
[0042] 式中(11}1。(*=1^)-1](」_),1^)和1](」_)分別為圖像塊1] 1)1。(*矩陣中第1列的1行和 j行的系數(shù)值,T2為修改i行與j行系數(shù)的閾值(例如可以取T 2= 0. 06),并再選擇U blcKk矩 陣的第5行和第7行來進(jìn)行QR碼的隱藏。
[0043] 進(jìn)一步的,所述步驟(2)中水印提取的具體步驟如下:
[0044] (21)對(duì)含水印視頻進(jìn)行視頻預(yù)處理,選取與密鑰keyl相同坐標(biāo)位上的列圖像信 息,得到含水印的載體圖像,然后分別對(duì)該載體圖像的B分量和G分量進(jìn)行1級(jí)DWT變換, 將得到的垂直方向上的高頻子帶分別記為HL b和HL g;
[0045] (22)將HLb和HL g都進(jìn)行SVD分解,得到的奇異值矩陣記為S ,和S g,按下列公式進(jìn) 行水印的提取;
[0046] S11= (Sb-aXSg)/ai (6)
[0047] (23)利用仏和V 1