本發(fā)明涉及視頻溯源領(lǐng)域,具體地講涉及一種基于水印技術(shù)的視頻溯源方法。
背景技術(shù):
近年來,平安城市、智慧城市等現(xiàn)代化的視頻監(jiān)控系統(tǒng)的規(guī)模越來越大,與此同時,監(jiān)控視頻數(shù)據(jù)量也在不斷增長。視頻監(jiān)控應(yīng)用由公安、交通等重點領(lǐng)域向政府機關(guān)、司法監(jiān)獄、智慧園區(qū)、智能樓宇、金融、電信等領(lǐng)域全面鋪開。隨之,管控的視頻交互亦越來越頻繁,導(dǎo)致視流轉(zhuǎn)監(jiān)控(溯源)等存在著很大隱患,由隱患導(dǎo)致發(fā)生的視頻泄露、安全數(shù)據(jù)泄密事件屢見不鮮,監(jiān)控視頻安全問題已成為嚴(yán)重影響居民日常生活、視頻監(jiān)控市場和國家安全的重大問題。
在視頻溯源時,發(fā)生視頻泄露以及安全數(shù)據(jù)泄密事件主要由于視頻數(shù)據(jù)未加密引起的,因此通過提升技術(shù)能力,實現(xiàn)對視頻數(shù)據(jù)進行水印加密處理,保護視頻數(shù)據(jù)安全顯得尤為重要。當(dāng)前主流的視頻水印嵌入主要是在時域視頻上操作的,且大多都是顯性水印嵌入,存在損壞前端視頻的質(zhì)量、隱蔽性和安全性差、視頻感官性差等缺點。
技術(shù)實現(xiàn)要素:
根據(jù)現(xiàn)有技術(shù)中存在的問題,本發(fā)明提供了一種基于水印技術(shù)的視頻溯源方法,生成的含水印視頻質(zhì)量好、隱蔽性和安全性高、視頻感官性好,達到了較好的溯源效果。
為實現(xiàn)上述發(fā)明目的,本發(fā)明提供了一種基于水印技術(shù)的視頻溯源方法,包括如下步驟:
s1,提取原始視頻,獲取設(shè)備信息和用戶信息;
s2,采用離散余弦變換算法對原始視頻進行變換,將原始視頻由時域視頻變換為頻域視頻;
采用水印生成算法和水印置亂算法生成待嵌入水?。?/p>
s3,采用水印嵌入算法在頻域視頻的變換域嵌入待嵌入水印,生成含水印的頻域視頻;
s4,采用離散余弦反變換算法對含水印的頻域視頻進行變換,將視頻由含水印的頻域視頻變換為含水印的時域視頻。
優(yōu)選的,所述方法還包括如下步驟:
s5,采用水印提取算法提取步驟s4中的含水印時域視頻中的水印信息。
優(yōu)選的,所述提取原始視頻是指從平安城市、政府機關(guān)、司法監(jiān)獄、智慧園區(qū)應(yīng)用領(lǐng)域的dvr/nvr視頻存儲設(shè)備獲取原始視頻。
優(yōu)選的,所述待嵌入水印生成過程如下:獲取到的設(shè)備信息和用戶信息組成原始信息,采用水印生成算法對原始信息進行處理,再采用水印置亂算法進行水印加密置亂操作,生成待嵌入的水印。
進一步優(yōu)選的,所述設(shè)備信息包括設(shè)備型號、mac地址、發(fā)送人姓名、發(fā)送時間,所述用戶信息包括接收人姓名。
更進一步優(yōu)選的,步驟s2中所述的離散余弦變換包括如下步驟:
s11,獲得n*n時域圖像的二維數(shù)據(jù)矩陣f(x,y),其中,n*n時域圖像表示高度和寬度均為n的圖像,x,y表示像素點的坐標(biāo),f(x,y)是該像素點的值,x,y∈{0,1,2,…,n-1};
s12,求離散余弦變換的系數(shù)矩陣[c];
n表示圖像的高度和寬度,也就是圖像的像素;π表示圓周率。
s13,求系數(shù)矩陣對應(yīng)的轉(zhuǎn)置矩陣[c]t;
s14,根據(jù)公式[f(u,v)]=[c][f(x,y)][c]t計算離散余弦變換。
u,v表示的是經(jīng)過離散余弦變換后x,y對應(yīng)的值,u,v∈{0,1,2,…,n-1}。
更進一步優(yōu)選的,步驟s3中采用水印嵌入算法生成含水印的頻域視頻包括如下步驟:
s21,對n*n視頻圖像進行rgb三色分離,將綠色g分量分割成互不重疊的(n/8)*(n/8)個8×8大小的子塊g',對置亂后的水印圖像w'進行8×8分割,得到互不重疊的子塊w”。
s22,并對每個子塊g'進行離散余弦變換(dct),選取離散余弦變換域來嵌入水印信息,公式為g'(m,n)=g(m,n)*(1+αw”),m,n∈{0,1,2,…,n/8-1},其中,α為基于邊緣的嵌入強度因子,基于邊緣的嵌入強度因子α按照下列公式取值:
pixel是分塊中處于邊緣的像素數(shù)量,pixel∈{0,1,2,…,n-1}。
s23,對所有(n/8)*(n/8)個子塊g'進行分塊離散余弦反變換(idct),得到含水印的視頻幀綠色分量g”,將其與未改動的紅色分量r及藍色分量b進行重構(gòu)得到含水印的視頻圖像。
更進一步優(yōu)選的,所述離散余弦反變換算法包括如下步驟:
s31,獲得頻域視頻矩陣f(u,v);
u,v表示的是頻域視頻像素點的坐標(biāo),u,v∈{0,1,2,…,n-1}。
s32,求離散余弦變換的系數(shù)矩陣[c];
n表示圖像的高度和寬度,也就是圖像的像素;π表示圓周率。
s33,求系數(shù)矩陣對應(yīng)的轉(zhuǎn)置矩陣[c]t;
s34,根據(jù)公式[f(x,y)]=[c]t[f(u,v)][c]計算離散余弦變換。
x,y表示的是經(jīng)過離散余弦反變換后u,v對應(yīng)的值,x,y∈{0,1,2,…,n-1}。
更進一步優(yōu)選的,步驟s5中水印提取算法提取水印信息包括如下步驟:
s41,提取含水印圖像的g分量,即對n*n視頻圖像進行rgb三色分離,將綠色g分量分割成互不重疊的(n/8)*(n/8)個8×8大小的子塊g',
s42,對嵌入水印后的g分量分別進行離散余弦反變換(idct);
再利用:
在相應(yīng)的頻率系數(shù)中提取隱性水印圖像w'。其中,α為基于邊緣的嵌入強度因子,基于邊緣的嵌入強度因子α按照下列公式取值:
pixel是分塊中處于邊緣的像素數(shù)量,pixel∈{0,1,2,…,n-1}。
s43,對隱性水印圖像w'進行arnold逆變換,得到原始水印圖像w。
mod是一個取模函數(shù),x,y表示原始水印圖像w像素點的坐標(biāo),x',y'表示經(jīng)過arnold變換后水印圖像w'像素點的坐標(biāo),x,y∈{0,1,2,…,n-1}。
本發(fā)明的有益效果在于:
1)本發(fā)明通過離散余弦變換算法將原始視頻由時域視頻變換為頻域視頻,然后在頻域視頻上進行水印嵌入的操作,再經(jīng)過離散余弦反變換算法將視頻由頻域視頻變換為時域視頻,還原成原始視頻。相對于在時域視頻上進行水印嵌入,避免了前端視頻的受損,保證了水印嵌入后的視頻質(zhì)量。
2)本發(fā)明通過采用水印生成算法和水印置亂算法生成待嵌入的隱性水印,再在頻域視頻的變換域上嵌入隱性水印,相對于顯性水印,隱性水印的隱蔽性和安全性高、視頻感官性好,當(dāng)需要進行溯源時,采用水印提取算法提取水印信息,即可獲取設(shè)備信息和用戶信息,達到了較好的溯源效果。
附圖說明
圖1為本發(fā)明視頻溯源方法的總體流程圖。
圖2為本發(fā)明待嵌入水印生成流程圖。
圖3為本發(fā)明生成含水印頻域視頻的步驟流程圖。
圖4為本發(fā)明水印提取步驟流程圖。
具體實施方式
下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
如圖1所示,一種基于水印技術(shù)的視頻溯源方法,包括以下步驟:
s1,從視頻存儲設(shè)備中提取原始視頻,獲取設(shè)備信息和用戶信息;
具體的,所述提取原始視頻是指從平安城市、政府機關(guān)、司法監(jiān)獄、智慧園區(qū)應(yīng)用領(lǐng)域的dvr/nvr視頻存儲設(shè)備獲取原始視頻。
所述設(shè)備信息包括設(shè)備型號、mac地址、發(fā)送人姓名、發(fā)送時間,所述用戶信息包括接收人姓名。
s2,采用離散余弦變換算法對原始視頻進行變換,將原始視頻由時域變換為頻域;
采用水印生成算法生成待嵌入水?。?/p>
離散余弦變換(dct)是可分離的變換,其變換核為余弦函數(shù)。離散余弦變換除了具有一般的正交變換性質(zhì)外,它的變換陣的基向量能很好地描述人類語音信號和圖像信號的相關(guān)特征。因此,在對語音信號、圖像信號的變換中,離散余弦變換被認為是一種準(zhǔn)最佳變換。
離散余弦變換過程如下步驟:
1)獲得n*n時域圖像的二維數(shù)據(jù)矩陣f(x,y),其中,n*n時域圖像表示高度和寬度均為n的圖像,x,y表示像素點的坐標(biāo),f(x,y)是該像素點的值,x,y∈{0,1,2,…,n-1};
2)求離散余弦變換的系數(shù)矩陣[c];
n表示圖像的高度和寬度,也就是圖像的像素;π表示圓周率。
3)求系數(shù)矩陣對應(yīng)的轉(zhuǎn)置矩陣[c]t;
4)根據(jù)公式[f(u,v)]=[c][f(x,y)][c]t計算離散余弦變換。
u,v表示的是經(jīng)過離散余弦變換后x,y對應(yīng)的值,u,v∈{0,1,2,…,n-1}。
通過以上離散余弦變換步驟,將時域視頻矩陣的元素f(x,y)變換成頻域視頻的元素f(u,v)。
如圖2所示,待嵌入水印生成過程如下:獲取到的設(shè)備信息和用戶信息組成原始信息,采用水印生成算法對原始信息進行處理得到原始水印圖像w,再采用水印置亂算法進行水印加密置亂操作,生成待嵌入的隱性水印圖像w'。
水印置亂算法采用arnold變換,arnold變換能夠降低圖像的空間相關(guān)性,增強水印的安全性,同時可以增強水印的抗剪切能力。arnold變換定義如下:
mod是一個取模函數(shù),x,y表示原始水印圖像矩陣中像素點的坐標(biāo),x',y'表示變換后水印圖像矩陣中的坐標(biāo),x,y∈{0,1,2,…,n-1}。n是圖像階數(shù),即圖像大小,這里取正方形圖像(即n*n)。
對原始水印圖像w進行arnold變換后,得到置亂的待嵌入的隱性水印圖像w'。
s3,采用水印嵌入算法在頻域視頻的變換域嵌入待嵌入水印,生成含水印的頻域視頻;
如圖3所示,生成含水印頻域視頻的步驟如下:
1)對n*n視頻圖像進行rgb三色分離,將綠色g分量分割成互不重疊的(n/8)*(n/8)個8×8大小的子塊g',對置亂后的水印圖像w'進行8×8分割,得到互不重疊的子塊w”。
2)并對每個子塊g'進行離散余弦變換(dct),選取離散余弦變換域來嵌入水印信息,公式為g'(m,n)=g(m,n)*(1+αw”),m,n∈{0,1,2,…,n/8-1},其中,α為基于邊緣的嵌入強度因子,基于邊緣的嵌入強度因子α按照下列公式取值:
pixel是分塊中處于邊緣的像素數(shù)量,pixel∈{0,1,2,…,n-1}。
3)對所有(n/8)*(n/8)個子塊g'進行分塊離散余弦反變換(idct),得到含水印的視頻幀綠色分量g”,將其與未改動的紅色分量r及藍色分量b進行重構(gòu)得到含水印的視頻圖像。
s4,采用離散余弦反變換算法對含水印的頻域視頻進行變換,將視頻由含水印的頻域視頻變換為含水印的時域視頻。
離散余弦反變換(idct)過程如下步驟:
1)獲得頻域視頻矩陣f(u,v);
u,v表示的是頻域視頻像素點的坐標(biāo),u,v∈{0,1,2,…,n-1}。
2)求離散余弦變換的系數(shù)矩陣[c];
n表示圖像的高度和寬度,也就是圖像的像素;π表示圓周率。
3)求系數(shù)矩陣對應(yīng)的轉(zhuǎn)置矩陣[c]t;
4)根據(jù)公式[f(x,y)]=[c]t[f(u,v)][c]計算離散余弦變換。
x,y表示的是經(jīng)過離散余弦反變換后u,v對應(yīng)的值,x,y∈{0,1,2,…,n-1}。
通過以上離散余弦反變換步驟,將頻域視頻矩陣的元素f(u,v)變換成時域視頻的元素f(x,y)。
具體的,視頻溯源方法還包括如下步驟:
s5,采用水印提取算法提取步驟s4中的含水印時域視頻中的水印信息。
如圖4所示,水印提取步驟如下:
1)提取含水印圖像的g分量,即對n*n視頻圖像進行rgb三色分離,將綠色g分量分割成互不重疊的(n/8)*(n/8)個8×8大小的子塊g',
2)對嵌入水印后的g分量分別進行離散余弦反變換(idct);
再利用:
在相應(yīng)的頻率系數(shù)中提取隱性水印圖像w'。其中,α為基于邊緣的嵌入強度因子,基于邊緣的嵌入強度因子α按照下列公式取值:
pixel是分塊中處于邊緣的像素數(shù)量,pixel∈{0,1,2,…,n-1}。
3)對隱性水印圖像w'進行arnold逆變換,得到原始水印圖像w。
mod是一個取模函數(shù),x,y表示原始水印圖像w像素點的坐標(biāo),x',y'表示經(jīng)過arnold變換后水印圖像w'像素點的坐標(biāo),x,y∈{0,1,2,…,n-1}。
綜上所述,本發(fā)明通過離散余弦變換算法將原始視頻由時域視頻變換為頻域視頻,然后在頻域視頻上進行水印嵌入的操作,再經(jīng)過離散余弦反變換算法將視頻由頻域視頻變換為時域視頻,還原成原始視頻,避免了前端視頻的受損,保證了水印嵌入后的視頻質(zhì)量;本發(fā)明還通過采用水印生成算法和水印置亂算法生成待嵌入的隱性水印,在頻域視頻的變換域上嵌入隱性水印,隱性水印的隱蔽性和安全性高、視頻感官性好,當(dāng)需要進行溯源時,采用水印提取算法提取水印信息,即可獲取設(shè)備信息和用戶信息,達到了較好的溯源效果。