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