一種視頻數(shù)字水印的嵌入、提取方法和裝置制造方法
【專利摘要】本發(fā)明提供一種視頻數(shù)字水印的嵌入、提取方法和裝置,涉及信息【技術(shù)領(lǐng)域】,能夠在保證水印的透明性基礎(chǔ)上,提高了水印算法的魯棒性。其方法為:嵌入時,先獲取原始水印信息的二進(jìn)制序列,再將視頻流劃分宏塊,并對每個宏塊進(jìn)行離散余弦變換,而后根據(jù)變換系數(shù)篩選出紋理塊并對紋理塊進(jìn)行系數(shù)Z行排序得到紋理塊的系數(shù)矩陣,最后根據(jù)二進(jìn)制序列和紋理塊的系數(shù)矩陣完成水印信息的嵌入;提取時,先對載密視頻流劃分宏塊,并對每個宏塊進(jìn)行離散余弦變換,而后根據(jù)變換系數(shù)篩選出紋理塊并對紋理塊進(jìn)行系數(shù)Z行排序得到紋理塊的系數(shù)矩陣,再根據(jù)紋理塊的系數(shù)矩陣得到原始水印的碼流序列。本發(fā)明實施例用于在視頻中的嵌入和提取數(shù)字水印。
【專利說明】一種視頻數(shù)字水印的嵌入、提取方法和裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及信息【技術(shù)領(lǐng)域】,尤其涉及一種視頻數(shù)字水印的嵌入、提取方法和裝置?!颈尘凹夹g(shù)】
[0002]數(shù)字水印技術(shù)是信息隱藏技術(shù)中的一個重要組成部分,與其他隱藏技術(shù)想比,數(shù)字水印可以將標(biāo)志信息直接嵌入數(shù)字載體中,在不影響數(shù)字載體的使用價值和不被人感覺到的前提下,達(dá)到確認(rèn)信息、判斷文件原始性或傳送隱秘消息的目的。
[0003]現(xiàn)有的數(shù)字水印生成算法分為兩種:壓縮域水印算法和原始域水印算法。其中壓縮域算法中主要有離散余弦變換系數(shù)隱寫算法和運動矢量隱寫算法,通過運動補償和能量分析的方法對隱寫效果進(jìn)行補償,有很高的執(zhí)行效率,但由于針對每一種視頻格式有對應(yīng)的水印隱寫算法,因此算法的通用性差;并且因為嵌入水印的時間在視頻編碼后,使得嵌入水印的空間少,造成水印的魯棒性差。
[0004]原始域水印算法主要有最不顯著位水印算法、自適應(yīng)離散余弦變換水印算法、DEff (Differential Energy Watermarking,能量差分水印)算法和基于 HVS (Human VisualSystem,人眼視覺特性)特性的水印算法,但由于算法且算法的魯棒性和視覺透明性取決于水印嵌入位置和隱寫算法的設(shè)計邏輯,使得該算法的魯棒性不能滿足多終端用戶的要求。
【發(fā)明內(nèi)容】
[0005]本發(fā)明的實施例提供一種視頻數(shù)字水印的嵌入、提取方法和裝置,能夠在保證水印的透明性基礎(chǔ)上,可以提高水印算法的魯棒性。
[0006]為達(dá)到上述目的,本發(fā)明的實施例采用如下技術(shù)方案:
[0007]第一方面,提供一種視頻數(shù)字水印的嵌入方法,所述方法包括:
[0008]獲取原始水印信息的二進(jìn)制序列碼流,并根據(jù)所述二進(jìn)制序列碼流獲取所述原始水印信息的嵌入碼流序列;
[0009]將視頻流的亮度分量按照規(guī)定分辨率劃分為多個宏塊,根據(jù)每個宏塊的離散余弦變換系數(shù)在所有宏塊中選定紋理塊,并對每個紋理塊的離散余弦變換系數(shù)進(jìn)行量化系數(shù)Z行排序處理得到每個紋理塊的Z行排序系數(shù)矩陣;
[0010]根據(jù)所述原始水印信息的嵌入碼流序列,以及每個紋理塊的Z行排序系數(shù)矩陣進(jìn)行水印信息嵌入。
[0011]在第一種可能的實現(xiàn)方式中,結(jié)合第一方面,所述獲取原始水印信息的二進(jìn)制序列碼流,并根據(jù)所述二進(jìn)制序列碼流獲取所述原始水印信息的嵌入碼流序列包括:
[0012]對所述原始水印信息進(jìn)行二值化處理以獲取所述原始水印信息的二進(jìn)制碼流序列;
[0013]對原始水印信息的二進(jìn)制碼流序列進(jìn)行漢明碼編碼以獲取所述原始水印信息的嵌入碼流序列。[0014]在第二種可能的實現(xiàn)方式中,結(jié)合第一方面或第一方面的第一種可能的實現(xiàn)方式,將視頻信號的亮度分量按照規(guī)定分辨率劃分為多個宏塊,根據(jù)每個宏塊的離散余弦變換系數(shù)在所有宏塊中選定紋理塊,并對紋理塊的離散余弦變換系數(shù)進(jìn)行量化系數(shù)Z行排序處理包括:
[0015]對視頻流進(jìn)行解碼以獲取所述視頻信號的亮度分量,并將所述視頻流的亮度分量按照規(guī)定分辨率劃分為多個宏塊;
[0016]對每個宏塊進(jìn)行離散余弦變換,獲取每個宏塊的離散余弦變換系數(shù);
[0017]根據(jù)每個宏塊的離散余弦變換系數(shù)在所有宏塊中選定紋理塊;
[0018]對每個紋理塊的離散余弦變換系數(shù)進(jìn)行量化系數(shù)Z行排序處理,以獲取量化系數(shù)Z行排序后每個紋理塊的Z行排序系數(shù)矩陣。
[0019]在第三種可能的實現(xiàn)方式中,結(jié)合第一方面或第一方面的第一種可能的實現(xiàn)方式或第一方面的第二種可能的實現(xiàn)方式,所述根據(jù)每個宏塊的離散余弦變換系數(shù)在所有宏塊中選定紋理塊包括:
[0020]根據(jù)每個宏塊的離散余弦變換系數(shù)的直流分量和交流分量選定在所有宏塊中選定紋理塊;
[0021]其中,若宏塊的離散余弦變換系數(shù)的直流分量和交流分量滿足:(Σ IacD2
<α XDC2,則確定該宏塊為非紋理塊;若(Σ |AC|)2 ^ a XDC2,則確定該宏塊為紋理塊,其中AC表示離散余弦變換系數(shù)交流分量,DC表示直流分量,a為判別系數(shù)。
[0022]在第四種可能的實現(xiàn)`方式中,結(jié)合第一方面或第一方面的第一種可能的實現(xiàn)方式或第一方面的第三種可能的實現(xiàn)方式,所述根據(jù)所述原始水印信息的嵌入碼流序列,以及每個紋理塊的Z行排序系數(shù)矩陣進(jìn)行水印信息嵌入包括:
[0023]選取量化系數(shù)Z行排序后每個紋理塊的離散余弦變換系數(shù)矩陣中次對角線位置上的數(shù)值;
[0024]依次根據(jù)所述原始水印信息的嵌入碼流序列中每一位的數(shù)值,確定是否將所述系數(shù)矩陣中次對角線位置上的數(shù)值進(jìn)行互換,得到水印信息嵌入后的載密視頻流。
[0025]第二方面,提供一種是視頻數(shù)字水印的提取方法,所述方法包括;
[0026]將載密視頻流的亮度分量按照規(guī)定分辨率劃分為多個宏塊,所述載密視頻流中嵌入有水印信息;根據(jù)每個宏塊的離散余弦變換系數(shù)在所有宏塊中選定紋理塊,并對每個紋理塊的離散余弦變換系數(shù)進(jìn)行量化系數(shù)Z行排序處理得到每個紋理塊的Z行排序系數(shù)矩陣;
[0027]根據(jù)每個紋理塊的Z行排序系數(shù)矩陣中的數(shù)值進(jìn)行水印信息提取。
[0028]在第一種可能的實現(xiàn)方式中,結(jié)合第二方面,所述將載密視頻流的亮度分量按照規(guī)定分辨率劃分為多個宏塊,所述載密視頻流中嵌入有水印信息;根據(jù)每個宏塊的離散余弦變換系數(shù)在所有宏塊中選定紋理塊,并對每個紋理塊的離散余弦變換系數(shù)進(jìn)行量化系數(shù)Z行排序處理得到每個紋理塊的Z行排序系數(shù)矩陣包括:
[0029]對所述載密視頻流進(jìn)行解碼以獲取所述視頻信號的亮度分量,并將所述載密視頻流的亮度分量按照規(guī)定分辨率劃分為多個宏塊;
[0030]對每個宏塊進(jìn)行離散余弦變換,獲取每個宏塊的離散余弦變換系數(shù);
[0031]根據(jù)每個宏塊的離散余弦變換系數(shù)在所有宏塊中選定紋理塊;[0032]對每個紋理塊的離散余弦變換系數(shù)進(jìn)行量化系數(shù)Z行排序處理,并得到每個紋理塊的Z行排序系數(shù)矩陣。
[0033]在第二種可能的實現(xiàn)方式中,結(jié)合第一方面或第一方面的第一種可能的實現(xiàn)方式,
[0034]所述根據(jù)每個宏塊的離散余弦變換系數(shù)在所有宏塊中選定紋理塊包括:
[0035]根據(jù)每個宏塊的離散余弦變換系數(shù)的直流分量和交流分量選定在所有宏塊中選定紋理塊;
Loose] 其中,若宏塊的離散余弦變換系數(shù)的直流分量和交流分量滿足:(Σ IacD2
<α XDC2,則確定該宏塊為非紋理塊;若(Σ |AC|)2 ^ a XDC2,則確定該宏塊為紋理塊,其中AC表示離散余弦變換系數(shù)交流分量,DC表示直流分量,a為判別系數(shù)。
[0037]在第三種可能的實現(xiàn)方式中,結(jié)合第一方面或第一方面的第一種可能的實現(xiàn)方式或第一方面的第二種可能的實現(xiàn)方式,所述根據(jù)每個紋理塊的Z行排序系數(shù)矩陣中的數(shù)值進(jìn)行水印信息提取包括:
[0038]選取量化系數(shù)Z行排序后每個紋理塊的離散余弦變換系數(shù)矩陣中次對角線位置上的數(shù)值;
[0039]根據(jù)所述離散余弦變換系數(shù)矩陣中次對角線位置上的數(shù)值還原出已嵌入水印的嵌入碼流序列;
[0040]將已嵌入水印的嵌入碼流序列按照漢明碼編碼還原出原始水印信息。
[0041]第三方面,提供一種水印嵌入裝置,所述裝置包括:
[0042]碼流獲取單元,用于獲取原始水印信息的二進(jìn)制序列碼流,并根據(jù)所述二進(jìn)制序列碼流獲取所述原始水印信息的嵌入碼流序列,并將所述原始水印信息的嵌入碼流序列發(fā)送至水印嵌入單元;
[0043]視頻處理單元,用于將視頻流的亮度分量按照規(guī)定分辨率劃分為多個宏塊,根據(jù)每個宏塊的離散余弦變換系數(shù)在所有宏塊中選定紋理塊,并對每個紋理塊的離散余弦變換系數(shù)進(jìn)行量化系數(shù)Z行排序處理得到每個紋理塊的Z行排序系數(shù)矩陣,并將所述Z行排序系數(shù)矩陣發(fā)送至水印嵌入單元;
[0044]水印嵌入單元,用于從所述碼流獲取單元獲取所述原始水印信息的嵌入碼流序列,從所述視頻處理單元獲取所述Z行排序系數(shù)矩陣,并根據(jù)所述原始水印信息的嵌入碼流序列,以及每個紋理塊的Z行排序系數(shù)矩陣進(jìn)行水印信息嵌入。
[0045]在第一種可能的實現(xiàn)方式中,結(jié)合第三方面,所述碼流獲取單元包括:
[0046]水印轉(zhuǎn)碼子單元,用于對所述原始水印信息進(jìn)行二值化處理以獲取所述原始水印信息的二進(jìn)制碼流序列,并將所述原始水印信息的二進(jìn)制碼流序列發(fā)送至水印編碼子單元;
[0047]水印編碼子單元,用于從所述水印轉(zhuǎn)碼子單元接收所述原始水印信息的二進(jìn)制碼流序列,并對原始水印信息的二進(jìn)制碼流序列進(jìn)行漢明碼編碼以獲取所述原始水印信息的嵌入碼流序列。
[0048]在第二種可能的實現(xiàn)方式中,結(jié)合第三方面或第三方面的第一種可能的實現(xiàn)方式,所述視頻處理單元包括;
[0049]第一宏塊劃分子單元,用于對視頻流進(jìn)行解碼以獲取所述視頻信號的亮度分量,并將所述視頻流的亮度分量按照規(guī)定分辨率劃分為多個宏塊并將所述劃分的多個宏塊發(fā)送至第一宏塊變換子單元;
[0050]第一宏塊變換子單元,用于從所述第一宏塊劃分子單元接收所述劃分的多個宏塊,并對每個宏塊進(jìn)行離散余弦變換,獲取每個宏塊的離散余弦變換系數(shù),進(jìn)而將所述每個宏塊的離散余弦變換系數(shù)發(fā)送至第一宏塊選定子單元;
[0051]第一宏塊選定子單元,用于從所述第一宏塊變換子單元接收所述每個宏塊的離散余弦變換系數(shù),根據(jù)每個宏塊的離散余弦變換系數(shù)在所有宏塊中選定紋理塊,并將所述每個紋理塊的離散余弦函數(shù)系數(shù)發(fā)送至第一量化排序子單元;
[0052]第一量化排序子單元,用于從所述第一宏塊選定子單元接收所述每個紋理塊的離散余弦函數(shù)系數(shù),對每個紋理塊的離散余弦變換系數(shù)進(jìn)行量化系數(shù)Z行排序處理,以獲取量化系數(shù)Z行排序后每個紋理塊的Z行排序系數(shù)矩陣。
[0053]在第三 種可能的實現(xiàn)方式中,結(jié)合第三方面或第三方面的第一種可能的實現(xiàn)方式或第三方面的第二種可能的實現(xiàn)方式,所述第一宏塊選定子單元包括:
[0054]根據(jù)每個宏塊的離散余弦變換系數(shù)的直流分量和交流分量選定在所有宏塊中選定紋理塊;
[0055]其中,若宏塊的離散余弦變換系數(shù)的直流分量和交流分量滿足:(Σ IacD2
<α XDC2,則確定該宏塊為非紋理塊;若(Σ |AC|)2 ^ a XDC2,則確定該宏塊為紋理塊,其中AC表示離散余弦變換系數(shù)交流分量,DC表示直流分量,a為判別系數(shù)。
[0056]在第四種可能的實現(xiàn)方式中,結(jié)合第三方面或第三方面的第一種可能的實現(xiàn)方式或第三方面的第三種可能的實現(xiàn)方式,所述水印嵌入單元包括:
[0057]數(shù)值選取子單元,用于選取量化系數(shù)Z行排序后每個紋理塊的離散余弦變換系數(shù)矩陣中次對角線位置上的數(shù)值,并將所述每個紋理塊的離散余弦變換系數(shù)矩陣中次對角線位置上的數(shù)值發(fā)送至數(shù)值交換子單元;
[0058]數(shù)值交換子單元,用于從所述數(shù)值選取子單元接收所述每個紋理塊的離散余弦變換系數(shù)矩陣中次對角線位置上的數(shù)值,并依次根據(jù)所述原始水印信息的嵌入碼流序列中每一位的數(shù)值,確定是否將所述系數(shù)矩陣中次對角線位置上的數(shù)值進(jìn)行互換,得到水印信息嵌入后的載密視頻流。
[0059]第四方面,提供一種水印提取裝置,所述裝置包括:
[0060]視頻分析單元,用于將載密視頻流的亮度分量按照規(guī)定分辨率劃分為多個宏塊,所述載密視頻流中嵌入有水印信息;根據(jù)每個宏塊的離散余弦變換系數(shù)在所有宏塊中選定紋理塊,并對每個紋理塊的離散余弦變換系數(shù)進(jìn)行量化系數(shù)Z行排序處理得到每個紋理塊的Z行排序系數(shù)矩陣,將所述Z行排序系數(shù)矩陣發(fā)送至水印提取單元;
[0061]水印提取單元,用于從所述視頻分析單元接收所述Z行排序系數(shù)矩陣,并根據(jù)每個紋理塊的Z行排序系數(shù)矩陣中的數(shù)值進(jìn)行水印信息提取。
[0062]在第一種可能的實現(xiàn)方式中,結(jié)合第四方面,所述視頻分析單元包括:
[0063]第二宏塊劃分子單元,對所述載密視頻流進(jìn)行解碼以獲取所述視頻信號的亮度分量,并將所述載密視頻流的亮度分量按照規(guī)定分辨率劃分為多個宏塊,將所述劃分的多個宏塊發(fā)送至第二宏塊變換子單元;
[0064]第二宏塊變換子單元,用于從所述第二宏塊劃分子單元接收所述劃分的多個宏塊,并對每個宏塊進(jìn)行離散余弦變換,獲取每個宏塊的離散余弦變換系數(shù),將所述每個宏塊的離散余弦變換系數(shù)發(fā)送至第二宏塊選定子單元;
[0065]第二宏塊選定子單元,用于從所述第二宏塊變換子單元接收所述每個宏塊的離散余弦變換系數(shù),并根據(jù)每個宏塊的離散余弦變換系數(shù)在所有宏塊中選定紋理塊,將所述選定的紋理塊發(fā)送至第二量化排序子單元;
[0066]第二量化排序子單元,用于從所述第二宏塊選定子單元接收所述選定的紋理塊,并對每個紋理塊的離散余弦變換系數(shù)進(jìn)行量化系數(shù)Z行排序處理,并得到每個紋理塊的Z行排序系數(shù)矩陣。
[0067]在第二種可能的實現(xiàn)方式中,結(jié)合第四方面或第四方面的第一種可能的實現(xiàn)方式,所述第二宏塊選定子單元具體用于:
[0068]根據(jù)每個宏塊的離散余弦變換系數(shù)的直流分量和交流分量選定在所有宏塊中選定紋理塊;
[0069]其中,若宏塊的離散余弦變換系數(shù)的直流分量和交流分量滿足:(Σ IacD2
<α XDC2,則確定該宏塊為非紋理塊;若(Σ |AC|)2 ^ a XDC2,則確定該宏塊為紋理塊,其中AC表示離散余弦變換系數(shù)交流分量,DC表示直流分量,a為判別系數(shù)。
[0070]在第三種可能的實現(xiàn)方式中,結(jié)合第四方面或第四方面的第一種可能的實現(xiàn)方式或第四方面的第二種可能的實現(xiàn)方式,所述水印提取單元包括;
[0071]數(shù)值選取子單元,用于選取量化系數(shù)Z行排序后每個紋理塊的離散余弦變換系數(shù)矩陣中次對角線位置上的數(shù)值,將所述每個紋理塊的離散余弦變換系數(shù)矩陣中次對角線位置上的數(shù)值發(fā)送至嵌入碼流還原子單元;
·[0072]嵌入碼流還原子單元,用于從所述數(shù)值選取子單元接收所述每個紋理塊的離散余弦變換系數(shù)矩陣中次對角線位置上的數(shù)值,根據(jù)所述離散余弦變換系數(shù)矩陣中次對角線位置上的數(shù)值還原出已嵌入水印的嵌入碼流序列,將所述還原出的已嵌入水印的嵌入碼流序列發(fā)送至水印還原子單元;
[0073]水印還原子單元,用于從所述數(shù)值交換子單元接收所述還原出的已嵌入水印的嵌入碼流序列,并將已嵌入水印的嵌入碼流序列按照漢明碼編碼還原出原始水印信息。
[0074]本發(fā)明實施例提供一種視頻數(shù)字水印的嵌入、提取方法和裝置,在嵌入水印時,先獲取原始水印信息的二進(jìn)制序列,再將視頻流劃分宏塊,并對每個宏塊進(jìn)行離散余弦變換,而后根據(jù)離散余弦變換系數(shù)篩選出紋理塊并對紋理塊進(jìn)行量化系數(shù)Z行排序得到紋理塊的Z行排序系數(shù)矩陣,最后根據(jù)二進(jìn)制序列和紋理塊的Z行排序系數(shù)矩陣完成水印信息的嵌入;在提取時水印,先對載密視頻流劃分宏塊,并對每個宏塊進(jìn)行離散余弦變換,而后根據(jù)離散余弦變換系數(shù)篩選出紋理塊并對紋理塊進(jìn)行系數(shù)量化Z行排序得到紋理塊的Z行排序系數(shù)矩陣,再根據(jù)紋理塊的Z行排序系數(shù)矩陣得到原始水印的碼流序列。本發(fā)明實施例用于在視頻中的嵌入和提取數(shù)字水印,能夠在保證水印的透明性基礎(chǔ)上,在抵抗多次視頻壓縮后,仍然可以保證水印信息的正確讀取,提高了水印算法的魯棒性。
【專利附圖】
【附圖說明】
[0075]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0076]圖1為本發(fā)明實施例提供一種視頻數(shù)字水印的嵌入方法的示意圖;
[0077]圖2為本發(fā)明實施例提供一種視頻數(shù)字水印的提取方法的示意圖;
[0078]圖3為本發(fā)明另一實施例提供的一種視頻數(shù)字水印的嵌入方法的示意圖;
[0079]圖4為本發(fā)明另一實施例提供的一種視頻數(shù)字水印的提取方法的示意圖;
[0080]圖5為本發(fā)明實施例提供一種水印嵌入裝置的結(jié)構(gòu)示意圖;
[0081]圖6為本發(fā)明實施例還提供的另一種水印嵌入裝置的結(jié)構(gòu)示意圖;
[0082]圖7為本發(fā)明實施例提供的又一種水印嵌入裝置的結(jié)構(gòu)示意圖;
[0083]圖8為本發(fā)明實施例提供的一種水印提取裝置的結(jié)構(gòu)示意圖;
[0084]圖9為本發(fā)明實施例提供的另一種水印提取裝置的結(jié)構(gòu)示意圖;
[0085]圖10為本發(fā)明實施例提供的又一種水印提取裝置的結(jié)構(gòu)示意圖;
[0086]圖11為本發(fā)明實施例提供的又一種水印嵌入裝置的結(jié)構(gòu)示意圖;
[0087]圖12為本發(fā)明實施例提供的又一種水印提取裝置的結(jié)構(gòu)示意圖。
【具體實施方式】
[0088]下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護(hù)的范圍。
[0089]本發(fā)明實施例提供一種視頻數(shù)字水印的嵌入方法,如圖1所示,該方法包括:
[0090]S11、獲取原始水印信息的二進(jìn)制序列碼流,并根據(jù)二進(jìn)制序列碼流獲取原始水印信息的嵌入碼流序列。
[0091]在一種實現(xiàn)方式下,可以先將原始水印信息進(jìn)行二值化處理得到二進(jìn)制序列碼流,再對該二進(jìn)制序列碼流進(jìn)行漢明碼編碼就能夠得到原始水印信息的嵌入碼流序列。
[0092]S12、將視頻流的亮度分量按照規(guī)定分辨率劃分為多個宏塊,根據(jù)每個宏塊的離散余弦變換系數(shù)在所有宏塊中選定紋理塊,并對每個紋理塊的離散余弦變換系數(shù)進(jìn)行量化系數(shù)Z行排序處理得到每個紋理塊的Z行排序系數(shù)矩陣。
[0093]具體的,宏塊(Macro block)是視頻編碼技術(shù)中的一個基本概念,在視頻編碼中,一個編碼圖像通常劃分成若干宏塊組成,一個宏塊由一個亮度像素和附加的兩個色度像素塊組成。一般來說,亮度塊為16x16大小的像素塊,而兩個色度圖像像素塊的大小依據(jù)其圖像的采樣格式而定,例如:對于亮度和色差信號(Luma and Chroma, YUV)采樣圖像,色度塊為8x8大小的像素塊。每個圖象中,若干宏塊被排列成片的形式,視頻編碼算法以宏塊為單位,逐個宏塊進(jìn)行編碼,組織成連續(xù)的視頻碼流。因此,需要將視頻流的亮度分量按照規(guī)定的分辨率劃分為多個宏塊。
[0094]S13、根據(jù)原始水印信息的嵌入碼流序列和以及每個紋理塊的Z行排序系數(shù)矩陣進(jìn)行水印信息嵌入。
[0095]本發(fā)明實施例提供一種視頻數(shù)字水印的嵌入方法,通過獲取原始水印信息的二進(jìn)制序列,再將視頻流劃分宏塊,并對每個宏塊進(jìn)行離散余弦變換處理,而后根據(jù)離散余弦變換系數(shù)篩選出紋理塊并對紋理塊進(jìn)行量化系數(shù)Z行排序處理得到紋理塊的Z行排序系數(shù)矩陣,最后根據(jù)原始水印信息的二進(jìn)制序列和每個紋理塊的Z行排序系數(shù)矩陣完成水印信息的嵌入,能夠在保證水印的透明性基礎(chǔ)上,提高水印算法的魯棒性。
[0096]本發(fā)明實施例提供一種視頻數(shù)字水印的提取方法,如圖2所示,該方法包括:
[0097]S21、嵌入裝置將水印信息嵌入后的載密視頻流的亮度分量按照規(guī)定分辨率劃分為多個宏塊,根據(jù)每個宏塊的離散余弦變換系數(shù)在所有宏塊中選定紋理塊,并對每個紋理塊的離散余弦變換系數(shù)進(jìn)行量化系數(shù)Z行排序處理得到每個紋理塊的Z行排序系數(shù)矩陣。
[0098]S22、嵌入裝置根據(jù)每個紋理塊的Z行排序系數(shù)矩陣中的數(shù)值進(jìn)行水印信息提取。
[0099]本發(fā)明實施例提供一種視頻數(shù)字水印的提取方法,通過先對載密視頻流劃分宏塊,并對每個宏塊進(jìn)行離散余弦變換,而后根據(jù)離散余弦變換系數(shù)篩選出紋理塊并對紋理塊進(jìn)行量化系數(shù)Z行排序得到紋理塊的Z行排序系數(shù)矩陣,再根據(jù)紋理塊的Z行排序系數(shù)矩陣得到原始水印的碼流序列,能夠使在保證水印的透明性基礎(chǔ)上,在抵抗多次視頻壓縮后,仍然可以保證水印信息的正確讀取,提高了水印算法的魯棒性。
[0100]本發(fā)明的另一實施例提供了一種視頻數(shù)字水印的嵌入方法,如圖3所示,該方法包括:
[0101]S31、嵌入裝置獲取原始水印信息的二進(jìn)制序列碼流。
[0102]具體的,可以對原始水印信息進(jìn)行二值化處理以獲取原始水印信息的二進(jìn)制碼流序列。二值化處理,就是將圖像上的像素點的灰度值設(shè)置為O或255,也就是將整個圖像呈現(xiàn)出明顯的只有黑和白的視覺效果。
[0103]S32、嵌入裝置根據(jù)二進(jìn)制序列碼流獲取原始水印信息的嵌入碼流序列。
[0104]具體的,可以對原始水印信息的二進(jìn)制碼流序列進(jìn)行(7,4)漢明碼編碼以獲取原始水印信息的嵌入碼流序列。漢明碼是一個錯誤校驗碼碼集,是一種能檢測所有一位和雙位差錯并糾正所有一位差錯的二進(jìn)制代碼。
[0105]S33、嵌入裝置將視頻流的亮度分量按照規(guī)定分辨率劃分為多個宏塊。
[0106]示例性的,首先對視頻流進(jìn)行解碼,以獲取視頻流每一幀圖像的YUV分量,其中Y為亮度分量和UV為兩個色差分量,由于亮度分量的紋理信息最為豐富,所以在亮度分量中嵌入水印可獲得較為理想的魯棒性。
[0107]故將每一幀圖像的亮度分量按照規(guī)定分辨率劃分為多個宏塊,其中規(guī)定分辨率一般可以為8X8。
[0108]S34、嵌入裝置對每個宏塊進(jìn)行離散余弦變換,獲取每個宏塊的離散余弦變換系數(shù)。
[0109]示例性的,對于每一幀圖像,首先將該圖像中所有的宏塊進(jìn)行離散余弦變換(Discrete Cosine Transform, DCT),以獲取每個宏塊的離散余弦變換系數(shù)。具體的,在圖像編碼中,離散余弦變換通常是先對每個8X8宏塊的每行進(jìn)行變換,然后每列進(jìn)行變換,得到的是一個8X8的變換系數(shù)矩陣。該矩陣中(0,0)位置的元素就是直流分量,矩陣中的其他元素根據(jù)其位置表示不同頻率的交流分量。
[0110]S35、嵌入裝置根據(jù)每個宏塊的離散余弦變換系數(shù)在所有宏塊中選定紋理塊。
[0111]具體的,根據(jù)Weber定律,在不同的照度背景下,人眼所能分辨出來的照度差是不同的,假設(shè)在均勻背景照度I上有一照度為Ι+Λ I的光斑,則人眼能分辨出的照度差Λ I是I的函數(shù),即在均勻照度背景下,物體的可檢測性門限為:Λ I = α I,由該公式可知,背景越亮可見門限越高。而宏塊在經(jīng)過離散余弦變換后,其直流分量反映了圖像概貌,可以認(rèn)為是圖像的平均灰度值,故將直流分量可以看成背景照度,將交流分量可以看成在當(dāng)前背景照度下變化的照度差。其中,照度為從同一方向看,在給定方向上的任何表面的每單位投影面積上的光照強度。
[0112]故根據(jù)上述原理,可將每一幀圖像的宏塊分為紋理塊和非紋理塊,其中,若宏塊的離散余弦變換系數(shù)的直流分量和交流分量滿足:(Σ |AC|)2 < a xdc2,則確定該宏塊為非紋理塊;若(Σ |ac|)2≥a xdc2,則確定該宏塊為紋理塊,其中Ac表示離散余弦變換系數(shù)交流分量,DC表示直流分量,在這里,α可以為0.02。
[0113]S36、嵌入裝置對每個紋理塊的離散余弦變換系數(shù)進(jìn)行量化系數(shù)Z行排序(Zig-Zag)處理,以獲取量化系數(shù)Z行排序后每個紋理塊的離散余弦變換系數(shù)矩陣。
[0114]量化系數(shù)的Z行排序,是為了保證低頻分量先出現(xiàn),高頻分量后出現(xiàn),將經(jīng)過離散余弦變換后得到的8X8系數(shù)矩陣中的第O~63個元素進(jìn)行“Z”字型排序,示例性的,該排序的標(biāo)準(zhǔn)順序定義如以下代碼所示:
【權(quán)利要求】
1.一種視頻數(shù)字水印的嵌入方法,其特征在于,所述方法包括: 獲取原始水印信息的二進(jìn)制序列碼流,并根據(jù)所述二進(jìn)制序列碼流獲取所述原始水印信息的嵌入碼流序列; 將視頻流的亮度分量按照規(guī)定分辨率劃分為多個宏塊,根據(jù)每個宏塊的離散余弦變換系數(shù)在所有宏塊中選定紋理塊,并對每個紋理塊的離散余弦變換系數(shù)進(jìn)行量化系數(shù)Z行排序處理得到每個紋理塊的Z行排序系數(shù)矩陣; 根據(jù)所述原始水印信息的嵌入碼流序列,以及每個紋理塊的Z行排序系數(shù)矩陣進(jìn)行水印信息嵌入。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述獲取原始水印信息的二進(jìn)制序列碼流,并根據(jù)所述二進(jìn)制序列碼流獲取所述原始水印信息的嵌入碼流序列包括: 對所述原始水印信息進(jìn)行二值化處理以獲取所述原始水印信息的二進(jìn)制碼流序列; 對所述原始水印信息的二進(jìn)制碼流序列進(jìn)行漢明碼編碼以獲取所述原始水印信息的嵌入碼流序列。
3.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,將視頻流的亮度分量按照規(guī)定分辨率劃分為多個宏塊,根據(jù)每個宏塊的離散余弦變換系數(shù)在所有宏塊中選定紋理塊,并對紋理塊的離散余弦變換系數(shù)進(jìn)行量化系數(shù)Z行排序處理得到每個紋理塊的Z行排序系數(shù)矩陣包括: 對視頻流進(jìn)行解碼以獲取所述視頻信號的亮度分量,并將所述視頻流的亮度分量按照規(guī)定分辨率劃分為多個宏塊; 對每個宏塊進(jìn)行離散余弦變換,獲取每個宏塊的離散余弦變換系數(shù); 根據(jù)每個宏塊的離散余弦變換系數(shù)在所有宏塊中選定紋理塊; 對每個紋理塊的離散余弦變換系數(shù)進(jìn)行量化系數(shù)Z行排序處理,以獲取量化系數(shù)Z行排序后每個紋理塊的Z行排序系數(shù)矩陣。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述根據(jù)每個宏塊的離散余弦變換系數(shù)在所有宏塊中選定紋理塊包括: 根據(jù)每個宏塊的離散余弦變換系數(shù)的直流分量和交流分量在所有宏塊中選定紋理塊; 其中,若宏塊的離散余弦變換系數(shù)的直流分量和交流分量滿足:(Σ |AC|)2< a XDC2,則確定該宏塊為非紋理塊;若(Σ |AC|)2≥aXDC2,則確定該宏塊為紋理塊,其中Ac表示離散余弦變換系數(shù)交流分量,DC表示直流分量,α為判別系數(shù)。
5.根據(jù)權(quán)利要求1至4任意一項所述的方法,其特征在于,所述根據(jù)所述原始水印信息的嵌入碼流序列,以及每個紋理塊的Z行排序系數(shù)矩陣進(jìn)行水印信息嵌入包括: 選取量化系數(shù)Z行排序后每個紋理塊的離散余弦變換系數(shù)矩陣中次對角線位置上的數(shù)值; 依次根據(jù)所述原始水印信息的嵌入碼流序列中每一位的數(shù)值,確定是否將所述系數(shù)矩陣中次對角線位置上的數(shù)值進(jìn)行互換,得到水印信息嵌入后的載密視頻流。
6.一種視頻數(shù)字水印的提取方法,其特征在于,所述方法包括: 將載密視頻流的亮度分量按照規(guī)定分辨率劃分為多個宏塊,所述載密視頻流中嵌入有水印信息;根據(jù)每個宏塊的離散余弦變換系數(shù)在所有宏塊中選定紋理塊,并對每個紋理塊的離散余弦變換系數(shù)進(jìn)行量化系數(shù)Z行排序處理得到每個紋理塊的Z行排序系數(shù)矩陣; 根據(jù)每個紋理塊的Z行排序系數(shù)矩陣中的數(shù)值進(jìn)行水印信息提取。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述將載密視頻流的亮度分量按照規(guī)定分辨率劃分為多個宏塊,所述載密視頻流中嵌入有水印信息;根據(jù)每個宏塊的離散余弦變換系數(shù)在所有宏塊中選定紋理塊,并對每個紋理塊的離散余弦變換系數(shù)進(jìn)行量化系數(shù)Z行排序處理得到每個紋理塊的Z行排序系數(shù)矩陣包括: 對所述載密視頻流進(jìn)行解碼以獲取所述視頻信號的亮度分量,并將所述載密視頻流的亮度分量按照規(guī)定分辨率劃分為多個宏塊; 對每個宏塊進(jìn)行離散余弦變換,獲取每個宏塊的離散余弦變換系數(shù); 根據(jù)每個宏塊的離散余弦變換系數(shù)在所有宏塊中選定紋理塊; 對每個紋理塊的離散余弦變換系數(shù)進(jìn)行量化系數(shù)Z行排序處理,并得到每個紋理塊的Z行排序系數(shù)矩陣。
8.根據(jù)權(quán)利要求6或7所述的方法,其特征在于,所述根據(jù)每個宏塊的離散余弦變換系數(shù)在所有宏塊中選定紋理塊包括: 根據(jù)每個宏塊的離散余弦變換系數(shù)的直流分量和交流分量選定在所有宏塊中選定紋理塊; 其中,若宏塊的離散余弦變換系數(shù)的直流分量和交流分量滿足:(Σ |AC|)2< a XDC2,則確定該宏塊為非紋理塊;若(Σ IacD2≥? xdc2,則確定該宏塊為紋理塊,其中Ac表示離散余弦變換系數(shù)交流分量,DC表示直流分量,a為判別系數(shù)。
9.根據(jù)權(quán)利要求6至8任意一項所述的方法,其特征在于,所述根據(jù)每個紋理塊的Z行排序系數(shù)矩陣中的數(shù)值進(jìn)行水印信息提取包括: 選取量化系數(shù)Z行排序后每個紋理塊的離散余弦變換系數(shù)矩陣中次對角線位置上的數(shù)值; 根據(jù)所述離散余弦變換系數(shù)矩陣中次對角線位置上的數(shù)值還原出已嵌入水印的嵌入碼流序列; 將已嵌入水印的嵌入碼流序列按照漢明碼編碼還原出原始水印信息。
10.一種水印的嵌入裝置,其特征在于,所述裝置包括: 碼流獲取單元,用于獲取原始水印信息的二進(jìn)制序列碼流,并根據(jù)所述二進(jìn)制序列碼流獲取所述原始水印信息的嵌入碼流序列,并將所述原始水印信息的嵌入碼流序列發(fā)送至水印嵌入單元; 視頻處理單元,用于將視頻流的亮度分量按照規(guī)定分辨率劃分為多個宏塊,根據(jù)每個宏塊的離散余弦變換系數(shù)在所有宏塊中選定紋理塊,并對每個紋理塊的離散余弦變換系數(shù)進(jìn)行量化系數(shù)Z行排序處理得到每個紋理塊的Z行排序系數(shù)矩陣,并將所述Z行排序系數(shù)矩陣發(fā)送至水印嵌入單元; 水印嵌入單元,用于從所述碼流獲取單元獲取所述原始水印信息的嵌入碼流序列,從所述視頻處理單元獲取所述Z行排序系數(shù)矩陣,并根據(jù)所述原始水印信息的嵌入碼流序列,以及每個紋理塊的Z行排序系數(shù)矩陣進(jìn)行水印信息嵌入。
11.根據(jù)權(quán)利要求10所述的裝置,其特征在于,所述碼流獲取單元包括: 水印轉(zhuǎn)碼子單元,用于對所述原始水印信息進(jìn)行二值化處理以獲取所述原始水印信息的二進(jìn)制碼流序列,并將所述原始水印信息的二進(jìn)制碼流序列發(fā)送至水印編碼子單元; 水印編碼子單元,用于從所述水印轉(zhuǎn)碼子單元接收所述原始水印信息的二進(jìn)制碼流序列,并對原始水印信息的二進(jìn)制碼流序列進(jìn)行漢明碼編碼以獲取所述原始水印信息的嵌入碼流序列。
12.根據(jù)權(quán)利要求10所述的裝置,其特征在于,所述視頻處理單元包括: 第一宏塊劃分子單元,用于對視頻流進(jìn)行解碼以獲取所述視頻信號的亮度分量,并將所述視頻流的亮度分量按照規(guī)定分辨率劃分為多個宏塊并將所述劃分的多個宏塊發(fā)送至第一宏塊變換子單元; 第一宏塊變換子單元,用于從所述第一宏塊劃分子單元接收所述劃分的多個宏塊,并對每個宏塊進(jìn)行離散余弦變換,獲取每個宏塊的離散余弦變換系數(shù),進(jìn)而將所述每個宏塊的離散余弦變換系數(shù)發(fā)送至第一宏塊選定子單元; 第一宏塊選定子單元,用于從所述第一宏塊變換子單元接收所述每個宏塊的離散余弦變換系數(shù),根據(jù)每個宏塊的離散余弦變換系數(shù)在所有宏塊中選定紋理塊,并將所述每個紋理塊的離散余弦函數(shù)系數(shù)發(fā)送至第一量化排序子單元; 第一量化排序子單元,用于從所述第一宏塊選定子單元接收所述每個紋理塊的離散余弦函數(shù)系數(shù),對每個紋理塊的離散余弦變換系數(shù)進(jìn)行量化系數(shù)Z行排序處理,以獲取量化系數(shù)Z行排序后每個紋理塊的Z行排序系數(shù)矩陣。
13.根據(jù)權(quán)利要求12所述的裝置,其特征在于,所述第一宏塊選定子單元具體用于: 根據(jù)每個宏塊的離散余弦變換系數(shù)的直流分量和交流分量選定在所有宏塊中選定紋理塊; 其中,若宏塊的離散余弦變換系數(shù)的直流分量和交流分量滿足:(Σ |AC|)2< a XDC2,則確定該宏塊為非紋理塊;若(Σ Ia cD2? xdc2,則確定該宏塊為紋理塊,其中Ac表示離散余弦變換系數(shù)交流分量,DC表示直流分量,α為判別系數(shù)。
14.根據(jù)權(quán)利要求10到13任意一項所述的裝置,其特征在于,所述水印嵌入單元包括: 數(shù)值選取子單元,用于選取量化系數(shù)Z行排序后每個紋理塊的離散余弦變換系數(shù)矩陣中次對角線位置上的數(shù)值,并將所述每個紋理塊的離散余弦變換系數(shù)矩陣中次對角線位置上的數(shù)值發(fā)送至數(shù)值交換子單元; 數(shù)值交換子單元,用于從所述數(shù)值選取子單元接收所述每個紋理塊的離散余弦變換系數(shù)矩陣中次對角線位置上的數(shù)值,并依次根據(jù)所述原始水印信息的嵌入碼流序列中每一位的數(shù)值,確定是否將所述系數(shù)矩陣中次對角線位置上的數(shù)值進(jìn)行互換,得到水印信息嵌入后的載密視頻流。
15.一種水印提取裝置,其特征在于,所述裝置包括: 視頻分析單元,用于將載密視頻流的亮度分量按照規(guī)定分辨率劃分為多個宏塊,所述載密視頻流中嵌入有水印信息;根據(jù)每個宏塊的離散余弦變換系數(shù)在所有宏塊中選定紋理塊,并對每個紋理塊的離散余弦變換系數(shù)進(jìn)行量化系數(shù)Z行排序處理得到每個紋理塊的Z行排序系數(shù)矩陣,將所述Z行排序系數(shù)矩陣發(fā)送至水印提取單元; 水印提取單元,用于從所述視頻分析單元接收所述Z行排序系數(shù)矩陣,并根據(jù)每個紋理塊的Z行排序系數(shù)矩陣中的數(shù)值進(jìn)行水印信息提取。
16.根據(jù)權(quán)利要求15所述的裝置,其特征在于,所述視頻分析單元包括: 第二宏塊劃分子單元,對所述載密視頻流進(jìn)行解碼以獲取所述視頻信號的亮度分量,并將所述載密視頻流的亮度分量按照規(guī)定分辨率劃分為多個宏塊,將所述劃分的多個宏塊發(fā)送至第二宏塊變換子單元; 第二宏塊變換子單元,用于從所述第二宏塊劃分子單元接收所述劃分的多個宏塊,并對每個宏塊進(jìn)行離散余弦變換,獲取每個宏塊的離散余弦變換系數(shù),將所述每個宏塊的離散余弦變換系數(shù)發(fā)送至第二宏塊選定子單元; 第二宏塊選定子單元,用于從所述第二宏塊變換子單元接收所述每個宏塊的離散余弦變換系數(shù),并根據(jù)每個宏塊的離散余弦變換系數(shù)在所有宏塊中選定紋理塊,將所述選定的紋理塊發(fā)送至第二量化排序子單元; 第二量化排序子單元,用于從所述第二宏塊選定子單元接收所述選定的紋理塊,并對每個紋理塊的離散余弦變換系數(shù)進(jìn)行量化系數(shù)Z行排序處理并得到每個紋理塊的Z行排序系數(shù)矩陣。
17.根據(jù)權(quán)利要求15或16所述的裝置,其特征在于,所述第二宏塊選定子單元具體用于: 根據(jù)每個宏塊的離散余弦變換系數(shù)的直流分量和交流分量選定在所有宏塊中選定紋理塊; 其中,若宏塊的離散余弦變換系數(shù)的直流分量和交流分量滿足:(Σ |AC|)2< a XDC2,則確定該宏塊為非紋理塊;若(Σ |ac|)2≥a xdc2,則確定該宏塊為紋理塊,其中Ac表示離散余弦變換系數(shù)交流分量,DC表示直流分量,α為判別系數(shù)。
18.根據(jù)權(quán)利要求15至17所述的裝置,其特征在于,所述水印提取單元包括: 數(shù)值選取子單元,用于選取量化系數(shù)Z行排序后每個紋理塊的離散余弦變換系數(shù)矩陣中次對角線位置上的數(shù)值,將所述每個紋理塊的離散余弦變換系數(shù)矩陣中次對角線位置上的數(shù)值發(fā)送至嵌入碼流還原子單元; 嵌入碼流還原子單元,用于從所述數(shù)值選取子單元接收所述每個紋理塊的離散余弦變換系數(shù)矩陣中次對角線位置上的數(shù)值,根據(jù)所述離散余弦變換系數(shù)矩陣中次對角線位置上的數(shù)值還原出已嵌入水印的嵌入碼流序列,將所述還原出的已嵌入水印的嵌入碼流序列發(fā)送至水印還原子單元; 水印還原子單元,用于從所述數(shù)值交換子單元接收所述還原出的已嵌入水印的嵌入碼流序列,并將已嵌入水印的嵌入碼流序列按照漢明碼編碼還原出原始水印信息。
【文檔編號】H04N19/467GK103856829SQ201210505031
【公開日】2014年6月11日 申請日期:2012年11月30日 優(yōu)先權(quán)日:2012年11月30日
【發(fā)明者】萬華林 申請人:華為技術(shù)有限公司