基于數(shù)字水印加密的裸眼3d視頻加密方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于裸眼3D視頻加密技術(shù)領(lǐng)域,尤其涉及一種基于數(shù)字水印加密的裸眼 3D視頻加密方法及系統(tǒng)。
【背景技術(shù)】
[0002] 裸眼3D視頻是一種無(wú)需佩戴輔助設(shè)備(如紅藍(lán)、偏振等)的可直接觀看的3D視 頻,它在各個(gè)領(lǐng)域有著廣泛的應(yīng)用背景。
[0003] 通常,為了獲得更好的立體效果,往往采用多幅視差圖像進(jìn)行合成,觀看者在不同 角度只需看到其中兩幅圖像即可產(chǎn)生視差并看到立體效果。針對(duì)這種合成,便需要一種極 其便捷快速的算法,來(lái)大量合成多幅視差圖像,形成裸眼3D視頻片源。
[0004] 國(guó)內(nèi)外學(xué)者和研究機(jī)構(gòu)對(duì)圖像水印的研究已經(jīng)趨于完善,但對(duì)視頻數(shù)字水印的研 究還相對(duì)滯后,尚未建立統(tǒng)一的評(píng)價(jià)標(biāo)準(zhǔn),仍有待成熟。
[0005] 隨著裸眼3D視頻市場(chǎng)的擴(kuò)大,如何保護(hù)片源著作權(quán)等版權(quán)問(wèn)題已逐漸被人們所 關(guān)注。針對(duì)這個(gè)問(wèn)題,市場(chǎng)上急需一種可以快速對(duì)裸眼3D視頻進(jìn)行加密的方法。
【發(fā)明內(nèi)容】
[0006] 針對(duì)現(xiàn)有技術(shù)存在的不足,本發(fā)明提供了一種基于數(shù)字水印加密的裸眼3D視頻 加密方法及系統(tǒng),該方法可快速便捷的實(shí)現(xiàn)視頻加密,從而可進(jìn)一步實(shí)現(xiàn)裸眼3D視頻的版 權(quán)保護(hù)。
[0007] 為解決上述技術(shù)問(wèn)題,本發(fā)明采用如下技術(shù)方案:
[0008] -、基于數(shù)字水印加密的裸眼3D視頻加密方法,包括步驟:
[0009] 步驟1,將隨機(jī)數(shù)隨機(jī)排列組合成原始數(shù)字水印,并將原始數(shù)字水印隨機(jī)分為m個(gè) 子數(shù)字水印,m表示2D幀圖像所包含的視點(diǎn)圖像數(shù);
[0010] 步驟2,子數(shù)字水印分別嵌入2D幀圖像的各視點(diǎn)圖像,從而獲得水印加密的2D幀 圖像;其中,子數(shù)字水印嵌入視點(diǎn)圖像具體為:
[0011] 視點(diǎn)圖像分塊為子圖像塊,對(duì)子圖像塊進(jìn)行離散余弦變換得到子圖像的DCT域系 數(shù)矩陣,即子圖像塊的水印系數(shù),采用水印系數(shù)將子數(shù)字水印嵌入子圖像塊,組合嵌入了子 數(shù)字水印的子圖像塊,得到水印加密的視點(diǎn)圖像;
[0012] 步驟3,循環(huán)步驟1~2直至2D幀圖像均進(jìn)行水印加密,將水印加密的2D幀圖像 轉(zhuǎn)化為裸眼3D視頻;
[0013] 步驟4,提取裸眼3D視頻幀圖像所包含的視點(diǎn)圖像的子數(shù)字水印,獲得原始數(shù)字 水印。
[0014] 上述原始數(shù)字水印由a ? m個(gè)隨機(jī)數(shù)隨機(jī)排列構(gòu)成,a為6~8范圍內(nèi)的正整數(shù); 所述的子數(shù)字水印由a個(gè)隨機(jī)數(shù)組成。
[0015] 步驟2中所述的子數(shù)字水印嵌入視點(diǎn)圖像,進(jìn)一步包括子步驟:
[0016] 2. 1使用Arnold變換對(duì)子數(shù)字水印圖像W置亂,得到置亂后的子數(shù)字水印圖像 r;
[0017] 2. 2將視點(diǎn)圖像I分為大小為NXN的子圖像塊,對(duì)各子圖像塊分別進(jìn)行離散余弦 變換,得到各子圖像塊的DCT域系數(shù)矩陣,N為經(jīng)驗(yàn)值;
[0018] 2. 3設(shè)定嵌入強(qiáng)度alpha,隨機(jī)生成長(zhǎng)度均為N的偽隨機(jī)數(shù)列h、k2;
[0019] 2. 4基于嵌入強(qiáng)度alpha和偽隨機(jī)數(shù)列kp匕將子數(shù)字水印嵌入子圖像塊;
[0020] 2. 5組合嵌入了子數(shù)字水印的各子圖像塊,獲得嵌入了子數(shù)字水印的視點(diǎn)圖像。
[0021] 子步驟2. 4進(jìn)一步包括:
[0022] (1)確定參數(shù)k :
[0023] 當(dāng)W'(i,j) = 1 時(shí),令k⑴=h⑴,當(dāng)W'(i,j) = 0 時(shí),令k⑴=k2⑴;k⑴、 h⑴、k2⑴分別表示數(shù)列k、kpk2中第i個(gè)數(shù)字,i= 1,2, 3, ? ? ?N,W,(i,j)表示子數(shù)字 水印圖像W'中(i,j)位置的像素值;
[0024] (2)修改子圖像塊DCT域系數(shù)矩陣的中頻分量:
[0025] 采用公式UhN-n+l)= M^O^N-n+D+alpha^kOi)修改子圖像塊DCT域系數(shù)矩 陣的中頻分量,MuO^N-n+l)表示子圖像L的DCT域系數(shù)矩陣中第n行第(N-n+1)列的元 素;
[0026] (3)對(duì)修改后的DCT域系數(shù)矩陣進(jìn)行逆離散余弦變換,得到嵌入了子數(shù)字水印的 子圖像塊。
[0027] 步驟3中,將嵌入了數(shù)字水印的2D幀圖像轉(zhuǎn)化為裸眼3D視頻。
[0028] 步驟4中采用盲水印法提取視點(diǎn)圖像的子數(shù)字水印。
[0029] 所述的采用盲水印法提取視點(diǎn)圖像的子數(shù)字水印進(jìn)一步包括:
[0030]4. 1將視點(diǎn)圖像I'分為大小為NXN的子圖像塊,對(duì)各子圖像塊分別進(jìn)行離散余弦 變換,得到各子圖像塊的DCT域系數(shù)矩陣;
[0031] 4. 3提取子圖像塊中數(shù)字水印序列p,p (n) = MJ (n, N-n+1),p (n)表示數(shù)字水印 序列P的第n個(gè)元素,n = 1,2,3,...N,MJ (n,N-n+l)表示DCT域系數(shù)矩陣中第n行第 (N-n+1)列的元素;
[0032] 4. 4分別求出數(shù)字水印序列p與偽隨機(jī)數(shù)列kp k2的自相關(guān)系數(shù)cl、c2 ;
[0033] 4. 5若cl彡c2,則水印信息E(i, j) = 1 ;反之,則水印信息E(i, j) = 0 ;
[0034] 4. 6重復(fù)子步驟4. 3~4. 5,獲得水印信息E,對(duì)水印信息E進(jìn)行Arnold反置亂,即 原始數(shù)字水印。
[0035] 二、基于數(shù)字水印加密的裸眼3D視頻加密系統(tǒng),包括:
[0036] 數(shù)字水印生成模塊,用來(lái)將隨機(jī)數(shù)隨機(jī)排列組合成原始數(shù)字水印,并將原始數(shù)字 水印隨機(jī)分為m個(gè)子數(shù)字水印,m表示2D幀圖像所包含的視點(diǎn)圖像數(shù);
[0037] 2D幀圖像水印加密模塊,用來(lái)將子數(shù)字水印分別嵌入2D幀圖像的各視點(diǎn)圖像,從 而獲得水印加密的2D幀圖像;其中,子數(shù)字水印嵌入視點(diǎn)圖像具體為:
[0038] 視點(diǎn)圖像分塊為子圖像塊,對(duì)子圖像塊進(jìn)行離散余弦變換得到子圖像的DCT域系 數(shù)矩陣,即子圖像塊的水印系數(shù),采用水印系數(shù)將子數(shù)字水印嵌入子圖像塊,組合嵌入了子 數(shù)字水印的子圖像塊,得到水印加密的視點(diǎn)圖像;
[0039] 2D幀圖像轉(zhuǎn)3D視頻模塊,用來(lái)將水印加密的2D幀圖像轉(zhuǎn)化為裸眼3D視頻;
[0040] 數(shù)字水印提取模塊,用來(lái)提取裸眼3D視頻幀圖像所包含的視點(diǎn)圖像的子數(shù)字水 印,獲得原始數(shù)字水印。
[0041] 和現(xiàn)有技術(shù)相比,本發(fā)明的技術(shù)效果如下:
[0042] 本發(fā)明基于數(shù)字水印技術(shù),將水印信息散落在裸眼3D視頻各幀圖像的9視點(diǎn)圖像 中,從而對(duì)裸眼3D視頻逐幀進(jìn)行加密。本發(fā)明具有良好的魯棒性和不可見(jiàn)性,可快速便捷 地對(duì)裸眼3D視頻進(jìn)行加密,從而進(jìn)一步實(shí)現(xiàn)裸眼3D視頻的版權(quán)保護(hù);而且不會(huì)破壞視頻播 放顯示效果。
【附圖說(shuō)明】
[0043] 圖1為幀圖像的9視點(diǎn)圖像;
[0044] 圖2為九視點(diǎn)式的2D圖像轉(zhuǎn)3D視頻的流程示意圖;
[0045] 圖3為九視點(diǎn)式的2D圖像轉(zhuǎn)3D視頻的原理示意圖。
【具體實(shí)施方式】
[0046] 下面將結(jié)合【具體實(shí)施方式】進(jìn)一步說(shuō)明本發(fā)明技術(shù)方案。
[0047] 本發(fā)明方法的處理對(duì)象是2D幀圖像,即采用本發(fā)明方法對(duì)2D幀圖像進(jìn)行逐幀處 理,具體步驟如下:
[0048] 步驟1,選取隨機(jī)數(shù)字序列。
[0049] 該隨機(jī)數(shù)字序列即原始數(shù)字水印,用于嵌入2D幀圖像進(jìn)行加密。隨機(jī)數(shù)字序列由 a ? m個(gè)隨機(jī)數(shù)隨機(jī)排列構(gòu)成,m表示一幀圖像中視點(diǎn)圖像數(shù),裸眼3D視頻中幀圖像所包含 的視點(diǎn)圖像數(shù)一般為4、8或9等;a為正整數(shù),優(yōu)選為6~8范圍內(nèi)的正整數(shù)。
[0050] 本具體實(shí)施中,待處理的幀圖像由9視點(diǎn)圖像構(gòu)成,選取了 63個(gè)隨機(jī)數(shù)隨機(jī)排列 組成原始數(shù)字水印。
[0051] 步驟2,將原始數(shù)字水印隨機(jī)分為m個(gè)子數(shù)字水印,各子數(shù)字水印由a個(gè)隨機(jī)數(shù)組 成,子水印將用于嵌入到裸眼3D視頻的一幀圖像。
[0052] 本具體實(shí)施中,將原始數(shù)字水印隨機(jī)分為9個(gè)子數(shù)字水印,各子數(shù)字水印由7個(gè)隨 機(jī)數(shù)組成。圖1為2D幀圖像的9視點(diǎn)圖像,9個(gè)子數(shù)字水印將分別嵌入幀圖像的9視點(diǎn)圖 像中,從而可實(shí)現(xiàn)裸眼3D視頻的初步加密。
[0053] 步驟3,子數(shù)字水印分別嵌入2D幀圖像的各視點(diǎn)圖像。
[0054] 對(duì)當(dāng)前2D幀圖像的各視點(diǎn)圖像分別進(jìn)行如下處理:
[0055] 視點(diǎn)圖像分塊獲得子圖像塊,對(duì)各子圖像塊分別進(jìn)行DCT變換(離散余弦變換) 得到各子圖像塊的DCT域系數(shù)矩陣,通過(guò)修改DCT域系數(shù)將子數(shù)字水印嵌入各子圖像塊,得 到含子數(shù)字水印的子圖像塊,將各子圖像塊進(jìn)行組合得到含子數(shù)字水印的2D幀圖像的視 點(diǎn)圖像。
[0056] 對(duì)構(gòu)成2D幀圖像的9視點(diǎn)圖像分別進(jìn)行上述處理,即獲得嵌入了數(shù)字水印的2D 幀圖像。
[0057] 子數(shù)字水印嵌入視點(diǎn)圖像的【具體實(shí)施方式】如下:
[0058] 3. 1讀取子數(shù)字水印圖像W和視點(diǎn)圖像I。
[0059] 3. 2使用Arnold變換對(duì)子數(shù)字水印圖像W置亂,得到置亂后的子數(shù)字水印圖像 W,。
[0060] 3. 3將視點(diǎn)圖像I分為大小為NXN的子圖像塊L,i = 1,2, 3, . . . N,j = 1,2, 3,. . . N,對(duì)各子圖像塊分別進(jìn)行DCT變換,得到子圖像塊^的DCT域系數(shù)矩陣M 1]= dct (1^)〇
[0061 ] N為經(jīng)驗(yàn)值,具體實(shí)施中,N為8,但不限于8。
[0062] 3. 4設(shè)置嵌入強(qiáng)度alpha,本具體實(shí)施中嵌入強(qiáng)度alpha設(shè)為2。隨機(jī)生成2個(gè)長(zhǎng) 度均為N的偽隨機(jī)數(shù)列4、1^2作為水印嵌入的密鑰。
[0063] 3. 5基于子數(shù)字水印圖像W'修改DCT域系數(shù)矩陣Mlj= dct (I d的中頻分量。
[0064] 首先,確定修改DCT域系數(shù)矩陣的參數(shù):
[0065] 當(dāng)W'(i, j) = 1時(shí),令k⑴=h⑴,i = 1,2, 3,. . . n,k⑴和h⑴分別表示數(shù) 列 k 和 h中第 i 個(gè)數(shù)字;當(dāng) W'(i, j) = 0 時(shí),令 k(i) = k Ji),i = 1,2, 3,. . . n,k⑴和 k2(i)分別表示數(shù)列1^和k2中第i個(gè)數(shù)字。W'(i,j)表示置亂后的子數(shù)字水印圖像W'中 (i,j)位置的像素值。
[0066] 然后,對(duì)子圖像塊、的DCT域系數(shù)矩陣M lj= dct (I d的中頻分量進(jìn)行