變方向差值擴展和同步嵌入的可逆水印嵌入和提取方法
【專利摘要】本發明提供一種變方向差值擴展和同步嵌入的可逆水印嵌入和提取方法,采用變方向差值擴展使得嵌入容量與嵌入數據無關且閾值選擇可最大嵌入容量;為避免規范化梯度和降低分類精度,采用梯度和直接分類以提高分類精度和最大嵌入容量。使用壓縮位置圖來避免泛差值擴展與局部復雜性可逆水印方法存在的記錄溢出像素位置大量消耗嵌入容量和附加數據過大。為避免嵌入負載數據后直接嵌入附加數據導致的不可逆,給出了同步附加備份數據的嵌入策略來保證嵌入數據可完全可逆并給出了基于排序與枚舉的嵌入參數選擇方法以降低計算復雜性。同基于泛差值擴展和局部復雜度可逆水印方法相比,所提方法可完全可逆且參數選擇時間大為減少,具有更大的最大嵌入容量。
【專利說明】
變方向差值擴展和同步嵌入的可逆水印嵌入和提取方法
技術領域
[0001] 本發明屬于圖像信息安全和數字圖像信號處理交叉領域,設及一種可逆水印嵌入 和提取方法,特別設及一種變方向差值擴展和同步嵌入的可逆水印嵌入和提取方法。
【背景技術】
[0002] 可逆水印是指水印提取后,嵌入載體可完整恢復的一類特殊水印。相對于傳統水 印,可逆水印對嵌入載體無損恢復有著嚴格的要求,一般用于重要圖像的無失真保護,在軍 事圖像、醫學圖像和遙感圖像上有著重要的應用價值。
[0003] Tian等提出的差值擴展可逆水印方法是圖像可逆水印方法的典型方法,該方法將 鄰近像素對進行化ar整數小波變換,將變換后的差值進行擴展W實現水印嵌入,其理論嵌 入容量上限是〇.化卵,即2個像素最多能嵌入1比特(TIAN J.Revers;Lble data embedding using 曰 difference exp曰nsion[J]. IEEE Transactions on Circuits 曰nd Systems for Video Technology,2003,13(8): 890-896) eAlattar將Tian等的差值擴展推廣至多個像素, 使理論嵌入容量達到化PP,但該方法在提高嵌入容量的同時也降低了嵌入水印后載體視覺 質量(ALATTAR A M.Reversible watermark using the difference expansion of a generalized integer tr曰nsform[J]. IEEE Transactions on Image Processing,2004, 13(8) :1147-1156)。化〇山等使用MED(Median Edge Detection)預測器(Weinberger M J, Seroussi G, Sapiro G. The LOCO-I lossless image compression algorithm: principles and standardization into JPEG-LS[J]. Image Processing, IEEE Transactions on,2000,9(8) :1309-132)預測差值代替像素間差值來對差值擴展水印方法 進行改進,在提高嵌入容量同時也有較好的嵌入視覺質量(TH0DI D M,R0DRIGUEZ J J.Prediction-error based reversible watermarking[C]//Proceedings of IEEE International Conference on Image Processing. Sing曰pore: IEEE,2004:1549-1552)。 Thodi等給出的傳統基于預測差值的可逆水印方法是:
[0004] 對于任意像素 X和其周圍鄰近的像素 V1,V2,V3按MED計算其預測值{-,如式(19)所 示:
[00化]
(1騎
[0006] 在式(19)中,V1,V2,V3和X的關系由式(20)所示:
[0007]
(20)
[000引得到.?后,可按式(3)計算其預測差值e,然后按式(21)進行差值擴展W嵌入1位數 據be {0,1}或平移得到修改后預測差值e/,并按式(22)得到嵌入數據后像素 χ/。
[0009]
(21)
[0010]式(21)中,Τ為預設闊值。
[00"] X'= €' + ;. (22)
[0012] 按式(21)與式(22)進行嵌入,可能會導致像素溢出。對溢出像素,基于預測差值的 可逆水印算法不做任何操作,通過在位置圖上的標記來對嵌入的像素和未被改變的像素加 W區分。
[0013] 基于預測差值的可逆水印算法的提取過程是嵌入過程的逆過程,若對χ/進行恢 復,則需保證χ/的鄰近像素 V1,V2,V3已恢復,此時可由V1,V2,V3按(19)計算得到克,由式(3)計 算得到e/,并按式(23)提取出嵌入的數據b并按式(24)還原出預測差值e,然后按式(22)即 可恢復得到原始像素 χ/。
[0016] 經典的基于預測差值的可逆水印算法可進行多次嵌入來提高最大嵌入容量,其最 大嵌入容量可達到化pp(bits per pixel),但每次嵌入時都存在位置圖所帶來的嵌入容量 消耗,且在反復嵌入后的載體圖像中按預測器計算預測差值的精度會逐漸偏低,在影響載 體圖像的視覺質量的同時,所能提供的最大嵌入容量依然十分有限。
[0017] 為進一步提高基于預測差值的可逆水印算法的最大嵌入容量和嵌入后載體視覺 質量,Li等(Li X,Yan邑 B,Zen邑 T.Efficient reversible watermarking based on adaptive prediction-error expansion and pixel selection[J]. Image Processing, IE邸Transactions on,2011,20(12) :3524-3533.)對基于預測差值的可逆水印算法進行 了分析,指出了對于預測差值較小的像素嵌入2位數據對視覺質量造成的影響仍可能小于 在預測差值較大的像素中嵌入1位數據造成的影響,并將式(21)推廣為式(25):
[001 引
U5)
[0019] 在式(25)中,式(21)中的1位嵌入數據be {0,1}被推廣為be {0,1,2,3},并將圖像 中的像素劃分為平滑像素與復雜像素兩種類別,對于復雜像素,至多按式(21)嵌入1位數 據,對于平滑像素則可按式(25)嵌入2位數據,同時采用式(25)直接對平滑像素嵌入2位數 據也避免了對平滑數據多次嵌入所帶來的預測器精度下降和多次記錄位置圖所帶來的嵌 入容量損失,因此相對于傳統的基于預測差值的可逆水印算法具備更大的最大嵌入容量和 在同等嵌入容量下避免了視覺質量下降。
[0020] 進一步,Gui等(Gui X,Li X,Yang B.A high capacity reversible data hiding scheme b曰sed on generalized prediction-error exp曰nsion 曰nd 曰d曰ptive embedding [J].Signal Processing,2014,98:370-380.)又將式(25)推廣至一般形式,給出了泛差值 擴展公式如式(26)所示:
[0021]
(26)
[0022] 在式(26)中,P為整數,表示預測差值e對應的類別,tp為類別P下的差值擴展參數, T為用于控制差值擴展區域的預設闊值,be{〇,l,,,,,tp}為類別P預測差值可嵌入的數據, l〇g2(tp+l)是對應的2進制嵌入位數。對于式(26),若tp = 3,則式(26)退化為式(25);若tp = 1,則退化為式(21)。
[0023] 基于泛差值擴展公式,Gui等給出了結合局部復雜度和泛差值擴展的可逆水印算 法。同傳統的基于預測差值的可逆水印算法不同,Gui等通過每個可嵌入的像素 X周圍鄰近 的8個像素 VI,V2,…,V8按式(4)構造 GAP預測器來計算X的預測值文,并進一步增補V9,V10按式 (1)進行局部復雜度C^x)計算,像素 X和周圍10個像素乂1,乂2,-',乂1日之間的關系如式(2)所 示,并通過C^x)來對局部復雜度C(x)進行規范化,如式(27)所示:
[0024]
(27)
[00巧]在式(27)中,是所有局部復雜度C*(x)中的最大值,使用式(27)可將C*(x)規范 為{0,1,···,255},C(x)越高,說明像素 X的預測差值越大,越不易嵌入較多數據,因此Gui等 按C(x)對像素進行分類,W決定像素可嵌入的數據大小,如式(28)所示:
[0026]
(28)
[0027] 式(28)中,L為最大類別值,Si,i=0,l,…,L為規范化局部復雜度控制參數且滿足 0《SL《...《si《256。
[0028] 得到像素類別p后,即可對負載數據β進行嵌入,為實現盲檢測,附加數據α也需嵌 入到載體圖像中,包括嵌入時用到的參數T、{S1,S2. . .,SL}、{tl,t2. . .,tL}、嵌入結束時位置 和CL,同時由于按式(26)與式(22)進行修改自勺像素可能會發A溢出,因1??些自勺像素的 坐標和數量也被記錄至α中,每個記錄的坐標消耗的嵌入容量為「log; 位。
[0029] 基于此,Gui等給出的基于局部復雜性與泛差值擴展的可逆水印嵌入方法:
[0030] 第1步:自頂向下自左向右對P聲0的像素 X按式(26)與式(22)進行修改,若發生溢 出則記錄溢出坐標位置,反之則按式(26)與式似)嵌入log2(tp+l)比特數據或平移,直到嵌 入完負載數據β;
[0031] 第2步:根據所有溢出位置信息和嵌入時用到的參數生成附加數據α,并計算α的長 度len(a),同時記錄前len(a)個像素的最低有效位得到備份數據ξ;
[0032] 第3步:按第1步相同的方式嵌入備份數據ξ到后續的像素中;
[0033] 第4步:使用最低比特位替換的方式嵌入附加數據α到前len(a)個像素中,至此得 到嵌入水印后載體圖像。
[0034] 除了嵌入方法W外,Gui等還給出了嵌入參數{S1,S2. . .,sl}和. .,tL}的選 擇方法。記嵌入參數集合為巫={Τ, <Sl,tl>,. . .,<Si,ti>,. . .,<SL,tL>},為確定巫, Gui等首先給出了在參數集合Φ的容量估值公式和嵌入后視覺載體質量估值公式,如式 (29)和式(30)所示:
[0037]在式(29)與式(30)中,h(s,e)表示載體中局部復雜度C(x)=s,預測差值為e的像 素總數,式(30)中gi(e)表示的預測差值為e,像素類別為i的像素,修改后視覺質量影響估 值,即像素修改后對MSE(Mean Square化ror,均方誤差)影響的期望值,具體計算式如式 (31)所示:
[003引
巧1)
[0039] 式(29)實際為忽略溢出情況下所有像素可能提供嵌入容量之和,式(30)為所有可 能需要修改的像素對MSE影響的期望值之和。
[0040] 對于式(29)和式(30),若參數集合Φ*滿足對于任意參數集合φ/(φ/聲〇*),Eec (φ/杉Εκ(Φ*)與Εεο(Φ*杉ΕΕ〇(φ/)不同時成立,稱Φ*稱為理想參數集合,并通過枚舉參 數{ <S1, ti> , . . . , <Si, ti> , . . . , <SL, tL> } W確定理想參數集合后,選擇容量大于len (β)的理想參數作為嵌入參數。
[0041] Gui等所提方法充分利用了各類別的像素 W嵌入數據,達到了較大的最大嵌入容 量,但在該方法中,存在下列問題:
[0042] ①容量的期望值并不代表實際容量,由式(26),若tp+1不為2的幕值,對于任意e, 僅有當點e口1啤:('"沖Ui,g時,可嵌入「log為,+0]㈱數據,否則只能嵌入[log典叫」^ 數據,但容量確定前無法確定數據被嵌入的位置,因此對于任意可嵌入像素,其實際容量為 雌2吟+0-而非;
[0043] ②式(26)中,預設闊值T相關于差值擴展區域和平移區域大小,由于T和最大嵌入 容量不存在線性關系,因此為獲取更大嵌入容量,T應該被參數選擇方法確定而非預設,同 時T的選擇相關于所有類別像素,無法保證所有類別的像素提供的嵌入容量均達到最大;
[0044] ③由式(27)和式(28),規范化局部復雜度決定影響像素類別,但按式(28)計算的 局部復雜度為規范后的梯度和,不同的梯度和可能規范后相同,因此分類精度低于直接使 用梯度和作為局部復雜度的情況,將影響最大容量與嵌入后載體視覺質量;
[0045] ④由式(29)與式(30),確定理想參數集合的過程未考慮溢出像素的影響,難W保 證選擇的理想嵌入參數仍具有較大的真實容量;
[0046] ⑤按記錄位置的方式記錄溢出像素則每個溢出的像素將消耗「1〇粒胃1位容量, 溢出像素較多時會對最大嵌入容量造成較大影響;
[0047] ⑥為獲得較大嵌入容量,L通常取3,由0《SL《...《si《256,0<ti<. . .<tL<2L, 為確定Φ則需枚舉大量的參數集合,且需多次計算式(29)與式(30),直接暴力枚舉的算法 復雜度過高,需較長運行時間;
[004引⑦負載數據β嵌入完成并得到備份數據ξ后,若嵌入備份數據ξ的過程中遇到了新 的溢出像素,則運些溢出無法被記錄,導致存在未備份的最低有效位,從而該方法不可逆;
[0049] ⑧嵌入負載數據β后,通過提取前len(a)個像素的最低有效位生成備份數據ξ,若 len(W小于len(a),可能導致部分像素的最低有效位被備份到備份數據ξ后又用作嵌入ξ的 數據,即進行了錯誤的最低有效位備份,使得水印方法不可逆。
【發明內容】
[0050] 本發明的目的在于克服現有技術缺陷,提供一種變方向差值擴展和同步嵌入的可 逆水印嵌入和提取方法,同基于泛差值擴展和局部復雜度可逆水印方法相比,所提方法可 完全可逆且參數選擇時間大為減少,具有更大的最大嵌入容量。
[0051] 為實現上述目的,本發明采用W下技術方案:
[0052] -種變方向差值擴展和同步嵌入的可逆水印嵌入方法,包括W下步驟:
[0053] 第1步:計算所有存在預測差值像素的局部復雜度和預測差值;
[0054] 第2步:確定變方向差值擴展和同步嵌入的可逆水印嵌入方法的嵌入參數;
[0055] 第3步:對所有存在預測差值的像素進行分類,分為L+1個類別,其中L為大于0的整 數;
[0056] 第4步:按嵌入類別相關的嵌入參數生成記錄溢出像素位置的位置圖,將位置圖進 行壓縮存儲得到壓縮后的位置圖數據;
[0057] 第5步:計算嵌入時結束位置并生成附加數據;
[005引第6步:對附加數據與負載數據進行同步嵌入得到嵌入后載體圖像。
[0059] 進一步,在第1步中計算所有存在預測差值像素局部復雜度的具體方法是式(1):
[0060]
(I)
[0061] 式(1)中,C^x)為像素 X的局部復雜度,C^x)包含13組鄰近像素差值,鄰近像素差 值絕對值的最大值為255,故C*(x)的最大值為255X 13 = 3155,像素 X和周圍像素 vi,V2,…, V10的鄰近關系如式(2)所示:
[0062]
(2);
[0063] 在第1步中計算所有存在預測差值像素 X預測差值e的具體方法是式(3):
[0064] e=.x-克 (3)
[00化]式(3)中,;?是由式(2)像素 X和周圍像素乂1,乂2,-,,乂8按64口預測器計算像素義預測 值,具體的計算方法如式(4)所示:
[0066]
(4)
[0067]式(4)中,δ為水平方向梯度與垂直方向梯度絕對值之差,采為平滑上下文預測值, 分別按式(5)與式(6)計算:
[006引 δ= IV1-V5 I + IV3-V7 I + IV4-V8 I - IV1-V2 I - IV3-V4 I - IV4-V5 I (5)
[0069] x=(Vi+V4)/2 + 〇3-ν,)/4 (6);
[0070] 在第3步中對所有存在預測差值的像素分為L+1個類別的具體方法為式(7):
[0071]
(7)
[0072] 式(7)中,局部復雜度控制參數si,S2,…,SL,且滿足0《SL《...《si《3315,3315是 C^x)的最大值。
[0073] 進一步,在第2步中變方向差值擴展的具體計算式如式(8)所示,式(8)中類別為i 的像素可嵌入i位數據6=化也一6。。如)2,6。£{〇,^表示待嵌入的第9位數據,61'9表示按 差值擴展嵌入q位數據或平移后的e,Ti且Τι>0為對應類別下的差值擴展區域控制參數,Qi = (Qi,l化,2. . .Qi,i)2為對應類別i下i位二進制的調整方向控制參數,Qi,q則表明類別為i的 像素進行第q次差值擴展時的調整方向;
[0074]
腳
[007引在式(8)中,q = 0,即沒有數據被嵌入;當-Tp《e《Tp時,e被用作差值擴展,且嵌入 第q位數據bq時應按Qi,q確定的調整方向對已嵌入q-1位的預測差值ei'q-i進行差值擴展;當 1'1<6或6<-1'1時,對對應的預測差值進行平移。
[0076] 進一步,在第2步中確定變方向差值擴展和同步嵌入的可逆水印嵌入方法嵌入參 數的具體方法包括W下步驟:
[0077] 第2.1步:初始化記錄溢出像素的空間代價估值V = 8,最大嵌入容量MC = 0,嵌入參 數集合Φ = Π ;
[007引第2.2步:確定調整方向控制參數集合{Qi,Q2,…,也},其中化,i = l,…,L為第i個 類別的調整方向控制參數;
[0079] 第2.3步:確定局部復雜度控制參數集合{si,S2,-',sl},其中si,i = l,…,L為第i 個類別的局部復雜度控制參數;
[0080] 第2.4步:確定差值擴展區域控制參數集合{1'1,了2,一,化},其中1'14 = 1^。,1為第 i個類別的差值擴展區域控制參數;
[00川第2.5步:沿戻選嵌入參數集合Φ' = {<Qi,S1,Τι >,...,<也,SL,Tl >}下,計算每 個存在預測的像素能提供容量和,并生成位置圖且進行壓縮,然后按容量和減去壓縮后位 置圖數據大小與附加信息的基本大小得到實際嵌入容量化P,若化P>MC則更新MC =化ρ,Φ =巫';
[0082] 第2.6步:令V = V-1,若V>0則轉第2.3步,否則嵌入參數Φ與最大嵌入容量MC均已 確定,并結束嵌入參數選擇方法。
[0083] 進一步,在第2.2步中確定調整方向控制參數集合{Qi,化,…,Ql}的具體方法包括 W下步驟:
[0084] 第2.2.1步:初始化當前類別i = L
[0085] 第2.2.2步:初始化當前方向調整參數候選值TQ = 2i-l,初始化類別i下變方向差 值擴展且不發生溢出的最大像素數ME = 0,方向調整參數初始化為化= TQ;
[0086] 第2.2.3步:初始化按式(8)進行變方向差值擴展且不發生溢出的像素數EXP = 0, 對X中所有存在預測值的像素 X計算其預測值《是否同時滿足式(9)對應的不溢出條件,若滿 足則更新EXP = EXP+1直至處理完所有存在預測值的像素,若E)(P>ME則更新ME = EXP,化= TQ;
[0087]
(9)
[008引第2.2.4步:令TQ = TQ-1,若TQ<0則已對應類別為i的調整方向控制參數確定,并 使1 = 1-1,否則轉第2.2.3步;
[0089] 第2.2.5步:若i=0,輸出所有調整方向控制參數{Qi,化,…,化},否則轉第2.2.2 步;
[0090] 在第2.3步中確定局部復雜度控制參數集合{31,32,一,31}的具體方法包括^下步 驟:
[0091] 第2.3.1步:對X中所有存在預測值的像素局部復雜度從小到大排序并去除重復 值,得到序列<:4 = {旬,^,~乂'.:;^其中4為不同局部復雜度值的數量,初始化當前類別1 = L;
[0092] 第2.3.2步:初始化SL+i = -l,?;' = -1,初始化上一個已確定局部復雜度控制參數值 在(:^中的下標索引 j = 0,即&+, = C:;
[009引第2.3.3步:初始化31的候選值在(:^中下標索引17= ^'并初始化&.=詩,約定 哪)片A+1,這,-255,巧句= (),e噸(i , Si+i, Si+i, -255,255) = 0, 0/'片4。,每,_2埼25句二0,ovf (i , Si+i, 81+1,-255,255)=0,初始化所有當前像素類別能提供的最大嵌入容量1〔 = 0,其中符號6噸 (i ,sa,sb,1:a,憂)和ovf (i ,sa,sb,1:a,憂)分別表不X中滿足C*(x) e (sa,sb] ,ee [ta,tb]且 按類別為i進行式(8)變方向差值擴展嵌入數據后不會溢出或可能發生溢出的像素數,并且 滿足當sa = sb或憂<0時,enp(i ,sa,sb,ta,憂)=0和ovf (i ,sa,sb,ta,憂)=0;
[0094] 第2.3.4步:根據式(10)與式(11)按增量更新計算6/柳/而1,每+1,-255,255)與 ("滬〇.布1,每+,,-255,25別厘新17 = 17+1,
[0095]
[0097]第2.3.5步:計算當A =C;;;時,當前類別像素可提供的忽略Τι影響嵌入容量估值 (;卻=(J"W,.V, 11, C'",-255,25引.-。\'尸(/,.V, 11,C," -255,255). Κ * =U;
[009引第2.3.6步:若TJ=A則設置巧,否則轉第2.3.4步;
[0099] 第2.3.7步:更新i = i-l,若i>0則準備計算下一個局部復雜度控制參數,并轉第 2.3.3步;
[0100] 第2.3.8步:若1 = 0,則輸出所有局部復雜度控制參數集合{31,32,一,3山
[0101] 在第2.4步中確定差值擴展區域控制參數集合{1'1,了2,-,,11}具體方法包括^下步 驟:
[0102] 第2.4.1步:初始化當前類別i = L
[0103] 第2.4.2步:對X中所有類別為i的像素的預測差值絕對值從小到大排序,記其中最 大預測值絕對值為Me;
[0104] 第2.4.3步:初始化Ti及對應的候選值TT均為-1,此時有e噸(i,Si+1,Si,-TT,TT)= 0,ovf(i,Sl+l,Sl,-TT,TT)=0,初始化所有當前類別像素能提供的最大嵌入容量MC = 0;
[0105] 第 2.4.4步:按式(12)和式(13)增量更新6叩(1,341,31,-1'1'-1,刊+1)與^^1, si+i,Si,-TT-1,TT+1),更新ΤΤ = TT+1;
[0106]
[010引第2.4.5步:當1'尸1'1'時,當前類別像素可提供的嵌入容量估值0曰9 = 6叩(1,31+1, Si,-TT,TT) · i-0vf(i,Si+i,Si,-TT,TT) .V,若Cap>MC則更新MC = Cap,Ti = TT;
[0109] 第2.4.6步:當ΤΤ =:min(f256/ (2P - W,ik喊時,結束當前類別Τι枚舉,否則轉第 2.4.4步;
[0110] 第2.4.7步:更新1 = 1-1,若1>0,則轉第2.4.2步;
[OW]第2.4.8步:若1 = 0,則輸出所有差值擴展區域控制參數集合化,了2^··,!!};
[0112]第2.5步在候選嵌入參數集合巫'={<化,31,1'1>,...,<化,3^甘>}下,計算每 個存在預測差值的像素能提供的容量和的具體方法是:記載體圖像X=(Xij)MXN存在預測差 值的像素對應的像素類別矩陣為P= (Pi J) (Μ-2)Χ(Ν-3),則化P的具體計算方法如式(14)所示:
[0113] Cap=ΣPiJ,Pi,je{Pi,j|Pi,j>0,Xi,j按式(8)將進行差值擴展且不發生溢出} (14)。
[0114] 進一步,在第2.5步與第4步中生成記錄溢出像素位置的位置圖的具體方法在于包 括W下步驟:
[0115] 第4.1步:對載體圖像X=(Xi,j)MXN存在預測差值的像素區域進行位置圖L = (Li,j)(M-2)X(N-3止的初始化設置,將所有元素初始化為Li,j = 0;
[0116] 第4.2步:記存在預測差值的像素區域像素 Xi,苗?應的像素類別為Pi,J,若Pi,J>0且 Xi,j按式(8)進行變方向差值擴展發生溢出,即不同時滿足式(9)所對應的條件,則置= 1;
[0117] 在第2.5步與第4步中將位置圖進行壓縮存儲得到壓縮后的位置圖數據的具體方 法是按JBIG壓縮方法進行壓縮。
[0118] 進一步,在第5步中:計算嵌入時結束位置的具體方法在于包括W下步驟:
[0119] 第5.1步:記嵌入時結束位置坐標為(epi,epj),記嵌入結束位置像素的位置為epk, 初始化epi = 0,epj = l,epk = 0和待嵌入數據大小Remain = len(α)+len(β),其中α為附加數 據,β為嵌入負載數據,len(a)和len(i3)分別為α和β的長度;
[0120] 第5.2步:按自頂向下自左向右的掃描序對存在預測差值的像素進行處理,若像素 X可提供Ρ位嵌入容量且Ρ > Rema in,則設置(epi,邱j)為當前坐標,邱k = Rema in并結束;
[0121 ] 第5.3步:若像素 X可提供P位嵌入容量且p<Remain,則Remain = Remain-p,并轉到 第5.2步處理后續像素;
[0122] 在第5步中生成的附加數據具體應包含W下內容:①嵌入結束位置(邱1,邱J,邱k), 其中邱i,邱j需「l〇g2 MW] :,epk需「雌2叫位;②調整方向控制參數化,化,…,Ql,其中Qp需要P 位,存儲化,化,…,化總共需(1+L) · L/2位;③局部復雜度控制參數31,32-31,其中3。<3315 <4096 = 2i2,存儲si,S2-SL總共需1化位;④差值擴展區域控制參數。,了2-化,其中了。<256 =28,存儲Τι,Τ2···ΤΥ總共需化位;⑤位置圖壓縮數據長度len(T),需「1雌2獻斯1位和⑥位置 圖壓縮數據,附加數據的總長度len(a)的具體計算方法如式(15)所示:
[0123] /。"(。)= 2「log] M/V']十(1 + . L Z 2 + 20L 十知7?0-) +「log: Z-] (15)。
[0124] 進一步,在第6步中對附加數據與負載數據進行同步嵌入得到嵌入后載體圖像的 具體方法在于包括W下步驟:
[0125] 第6.1步:按自頂向下自左向右的掃描序,位為單位,按式(8)嵌入負載數據β到 載體圖像中;
[0126] 第6.2步:將附加數據α使用最低L位有效位替換的方式嵌入到Χο,ο及存在預測差值 的像素中,每次嵌入1位數據前,先提取原有數據并同步按式(8)嵌入到第1步完成后的預測 差值中,直至α嵌入完成。
[0127] -種變方向差值擴展和同步嵌入的可逆水印提取方法,包括W下步驟:
[0128] 第1步:按嵌入時相同的掃描序提取用于嵌入附加數據的像素最低L位有效位,得 到不含壓縮位置圖數據的附加數據,并從中獲得壓縮位置圖數據大小和繼續提取出壓縮位 置圖數據;
[0129] 第2步:從附加數據中得到所有嵌入參數與嵌入結束時位置,并按位置圖壓縮方法 對應的解壓縮方法解壓縮位置圖得到解壓縮位置圖數據;
[0130] 第3步:從嵌入結束時位置開始,按嵌入時逆掃描序進行備份數據提取與像素還 原,每提取1位數據即按最低L位有效位替換對嵌入過附加數據的像素最低L位有效位進行 恢復,直到嵌入過附加數據的像素最低L位有效位全部恢復;
[0131] 第4步:按嵌入時逆掃描序對剩余像素進行數據提取與還原,得到負載數據并恢復 原始載體圖像。
[0132] 進一步,在第2步中按位置圖壓縮方法對應的解壓縮方法為JBIG解壓縮方法;
[0133] 在第2步中按位置圖壓縮方法對應的解壓縮方法為JBIG解壓縮方法;
[0134] 在第3步中,按嵌入時逆掃描序進行備份數據提取與像素還原和第4步中按嵌入時 逆掃描序對剩余像素進行還原的具體方法為式(16):
[0135]
[0136] 式(16)中,eP'q表示類別為P的像素,按差值擴展嵌入q位數據或平移后的差值e,可 按迭代的方式結合式(17)與式(18)進行嵌入數據的提取與計算:
[0139] 式(17)和式(18)中,bqe {0,1}表示待提取的第q位數據。
[0140] 本發明同現有技術優點分析:
[0141] ①現有的基于局部復雜性與泛差值擴展的可逆水印方法可充分地利用各類別像 素進行數據嵌入,相比于之前的基于預測差值的可逆水印嵌入方法具有較大的最大嵌入容 量。然而在該水印嵌入方法中,對于差值擴展參數不為2的幕次時,容量期望并不代表實際 容量并且于具體嵌入的數據密切相關,因此存在預估容量足夠而實際嵌入容量不足導致的 嵌入失敗。同時在泛差值擴展公式中,預設闊值和差值擴展區域的大小W及平移區域像素 的平移量綁定,將影響所有類別像素,從而無法保證所有類別像素都能達到最大的嵌入容 量。同W上方法不同,本發明對不同類別像素對應的擴展區域及平移區域分別確定,并且不 同類別的像素對應不同的控制闊值,在此基礎上給出了變方向差值擴展,通過找到每個類 別像素對應的最適合調整方向使得所有類別的可嵌入像素盡可能多并找到每個類別像素 最適合的調整方向來對數據進行逐位嵌入,在嵌入過程中始終按2的幕次進行擴展,因此嵌 入容量與具體的負載數據無關,且在參數選擇得當的情況下,使用變方向差值擴展可有效 地減少溢出像素,提升嵌入容量并進一步提高嵌入后載體視覺質量,且在所給出的方法中, 每個像素類別的差值擴展區域控制參數分別設置,從而避免了傳統泛差值擴展方法對所有 類別像素差值擴展區域統一設置導致的實際嵌入容量難W同時達到最大的設計缺陷。
[0142] ②現有的基于局部復雜性與泛差值擴展的可逆水印方法為避免計算復雜度過大, 將局部復雜度C^x)規范到[0,255]之內的整數,從而降低了分類精度,將影響最大容量與 嵌入后載體視覺質量。同W上方法不同,本發明對參數選擇方法的枚舉環節進行了改進,引 入了調整方向控制參數、局部復雜度控制參數和差值擴展區域控制參數枚舉方法,從而可 W在更高的精度下對像素進行分類,進一步確定最大容量和提高嵌入后載體視覺質量。
[0143] ③在現有的基于局部復雜性與泛差值擴展的可逆水印方法中,對于分辨率為MXN 大小的載體圖像,每個可能溢出的像素將消耗「log; ΜΛη位容量,由于大容量嵌入時易存在 大量可能發生溢出的像素,記錄像素溢出位置的方式處理溢出像素將嚴重影響最大嵌入容 量。同W上方法不同,本發明采用位置圖策略來處理像素溢出,并通過JBIG壓縮算法來節省 存儲空間,在大容量嵌入時,依然不會對最大容量造成太大影響。
[0144] ④現有的基于局部復雜性與泛差值擴展的可逆水印方法,一方面在嵌入負載數據 0時才進行附加數據α的溢出位置記錄,但0嵌入完成后,還設及到備份數據ξ和附加數據曰的 嵌入,其中附加數據α是采用最低有效位的替換方式進行嵌入,而備份數據ξ即被替換出的 最低有效位,采用的是與0相同的嵌入方法,但此時α的容量已經確定,因此ξ的溢出位置標 記將無法記錄在α中,從而在嵌入ξ時,存在未被記錄的溢出像素,導致錯誤的數據被提取。 而另一方面,若len(W小于len(a),則嵌入β后直接從前端像素中提取ξ的方式可能導致錯 誤的最低有效位備份,在水印提取時,運些像素的預測差值將無法被正確地被恢復。W上2 種情況都將導致所提方法不可逆。同W上方法不同,本發明通過使用位置圖標記溢出位置, 保證在嵌入任意數據前所有溢出位置均得W記錄,同時同步嵌入附加數據與備份數據避免 進行錯誤的最低有效位備份,所提嵌入策略完全可逆,在嵌入容量足夠的情況下可保證數 據成功嵌入。
[0145] ⑤現有的基于局部復雜性與泛差值擴展的可逆水印方法為獲得較大的嵌入容量, 確定參數集合需進行大量枚舉,而直接通過暴力枚舉方法的復雜度較高,需較長運行時間, 且在計算的過程中,未考慮溢出像素的影響。同W上方法不同,本發明引入排序方法,首先 對調整方向控制參數進行優化,然后采用增量更新的機制,降低了局部復雜度參數與差值 擴展區域控制參數的計算復雜度,同時通過引入溢出像素的容量代價估值使得選擇的嵌入 參數更為精確,因而能達到更大的嵌入容量。
【附圖說明】
[0146] 圖1嵌入算法流程圖
[0147] 圖2提取算法流程圖
[0148] 圖3原始載體圖像
[0149] 圖4原始載體圖像對應的局部復雜度矩陣
[0150] 圖5原始載體圖像對應的預測值矩陣
[0151] 圖6原始載體圖像對應的預測差值矩陣
[0152] 圖7原始載體圖像對應的分類矩陣
[0153] 圖8原始載體圖像對應的位置圖
[0154] 圖9負載數據嵌入后載體圖像 [0Κ5]圖10完成嵌入后載體圖像
[0156] 圖11附加數據與備份數據提取與還原后載體圖像
[0157] 圖12所有數據提取與還原后載體圖像
【具體實施方式】
[0158] W下結合附圖具體實施例對本發明方法進行詳細描述,其中圖1是嵌入方法流程 圖,圖2是提取方法流程圖。
[0159] WL = 3,負載數據為0=(0111)勸例,給出嵌入過程如下:
[0160] 第1步:如圖3所示分辨率為5X6的原始載體圖像X,其存在預測差值的區域為圖3中 的實線所表示的區域,計算該區域中所有像素的局部復雜度與預測差值,運里WX〇,i局部復雜 度與預測差值為例:由式(1) :C*(X〇,l) = I Χ〇,2-Χ〇,3 I + I Χ?,〇-Χ?,1 I + I Xl,rXl,2| + |Xl,2-Xl,3| + |X2,〇- X2,l I + I X2,廣拓,2 I + I X2,2-拉,3 I + I X〇,2-Xl,2 I + I X〇,3-Xl,3 I + I Xl,〇-X2,0 I + I Xl,廣拉,1 I + I Xl,2-拓,2 I + I Xl,3- X2,31 = I 203-223 I +1182-194| + 1194-222| + |222-244| +1186-228| + |228-245| + |245-2411 + 203-222 I +1 223-2441 +1182-186 I +1194-228 I +1 222-245 I +1 244-2411 =20+^+28+22+4化 17+4+ 19+21+4+34+23+3 = 249,由式巧),X〇, 1對應的水平方向梯度與垂直方向梯度絕對值之差δ〇, 1 = Χο,2-Χι,21 +1 Χι,〇-Χ2,ο I +1 Xi,i-X2,i I -1 Xo,2-Xo,31 ~ | Xi,〇-Xi,i I -1 Xi,i-Xi,21 = I 203-222 | +1182-186 +1194-2281 -1 203-223 H 182-1941 -1194-222 I = 19+4巧4-20-12-28 = -3,由式化),X〇,i對應的 平滑上下文預測值爲,1=化,2+義1.1)/2 +化義,,_,)/4 = 口03 + 194)/2 + (182-。引/4 =臟,此 時按式(4)計算姑,1的預測值戈,,,由于δο,ιΕ [-8,引,因此=?二188,最后按式(3)計算 姑,1對應的預測試值6。,1 =Λ^η,ι-1。1 =185-]88 = -3 ;計算完成后,得到的對應的局部復雜度 矩陣、預測值矩陣、預測差值矩陣分別如圖4、圖5、圖6所示;
[0161] 第2步:按排序與枚舉確定變方向差值擴展和同步嵌入的可逆水印嵌入方法的嵌 入參數,如步驟2.1~2.6所示:
[0162] 第2.1步:初始化記錄溢出像素的空間代價估值V = 8,最大嵌入容量MC = 0,嵌入參 數集合Φ = Π ;
[01創第2.2步:按排序的方式確定調整方向控制參數集合地,92,一,也}即地,化,93}, W化的確定為例,對應如步驟2.2.1~2.2.3所示,例中當前類別i = 1:
[0164] 第2.2.1步:初始化當前方向調整參數候選值TQ = 2i-l = l,初始化類別i下變方向 差值擴展且不發生溢出的最大像素數ME = 0,方向調整參數初始化為化= TQ=1;
[0165] 第2.2.2步:初始化按式(8)進行變方向差值擴展且不發生溢出的像素數EXP = 0, 對X中所有存在預測值的像素 X計算其預測值f是否同時滿足式(9)對應的不溢出條件,若滿 足則更新EXP = EXP+1直至處理完所有存在預測值的像素,WX〇,i = 185和X2,3 = 241為例:由 采〇., = 1 撕6時=_3 ' 結合式(9),分別計算或,1 +2'巧,1 + 巧=1縦 + 2、(_3)+ 1 = I83.策,1 + 2'咕,-1) + Γ0+1 = 188 + 2X(-3-U +1 +1 = 182,因此Xo, 1滿足式(9),并更新EXP = EXP+1 = 1,由克W =進6,e;., = 15 ' 計算得到方U + 2'.+ 巡=2%+2 X15 +1 = 257,名-,+ 2'.(? - :!) + 巧 +1 = 2% + 2 X (15 - 0 +1+1 = 256, 因此枯,3不滿足式(9),EXP保持不變;最后可得到EXP = 8,由EXP >ME,因此更新ME = EXP = 8, Qi = TQ=l;
[0166] 第2.2.3步:更新TQ = TQ-1 = 0,并重新按2.2.2步同樣的方式計算得到EXP = 8,由 EXP《ME因此不更新化,此時已確定化=1;
[0167] 假定完成2.2步后,所有的調整方向控制參數集合地,92,93} = {1,3,7}。
[016引第2.3步:對圖4所有局部復雜度排序后得到序列護=朽=187,(>203,(>249, G =293,(; =345.G, =515, C =535,Ct =700,旬=巧巧,此時有A = 9,得到C*后可按枚舉的方式確 定所有局部復雜度控制參數^1,32,33},^33為例,即對應的當前類別1 = 3,對應步驟如 2.3.1 ~2.3.5 所示:
[0169] 第2.3.1步:初始化上一個已確定局部復雜度控制參數值在(:^中的下標索弓|^' = 0, 良I
[0170] 第2.3.涉:初始化Si的候選值在C*中下標索引TJ=j = 0并初始化5,=? =每=< = -1, 按照約定韋
初始化所有當前像素類別能提供的最大嵌入容量MC = 0;
[0171 ] 第2.3.3步:根據式(10)與式(11)按增量更新計算0抑>w,每+i,-255,255)=:e攀 a-],187,-255,苗5)與"1/(/,、|,(:,,|,,-255.2餅二"1/(3,-1,187,-2.好2巧,即計算局部復雜度處于(-1, 187]的像素在對應類別為3,差值擴展區域為[-255,255]的情況下按式(8)變方向差值擴展 嵌入數據后不會溢出或可能發生溢出的像素數并更新e噸(3,-1,187,-255,255)與^^3,- 1,187,-255,255),此時滿足對應局部復雜度條件的像素僅有Xo, 3 = 223,對應的預測值與預 測差值分別為馬3 = 2化e〇.3 = -15,由式(9 )且Q3 = 7,計算得到左,,,3 + 2-V。3+& = 1 25Λ,3 +'2。(e,y-l) + 結 +1:11.8即滿足式(9)的不溢出條件,因此e噸(3,-1,187,-255,255) = e噸 (3,-1 ,-1,-255,255)+1 = l,ovf(3 ,-1,187 ,-255,255) =ovf(3,-l ,-1,-255,255)=0,更新 TJ = TJ+1 = 1;
[0172] 第2 . 3 . 4步:計算當A 時,可提供的忽略Τ 3影響嵌入容量估值
巧(3, -1,187,-255,25引.8 = 3,由于Cap = 3>MC = 0,因此更新MC = Cap = 3, j = TJ = l;
[0173] 第2.3.5步:由于TJ=1聲A = 9,因此重復2.3.3與2.3.4步,直至TJ = A = 9,此時已 確定 j = 7,A = C; = 535。
[0174] 假定完成2.3步后,所有的局部復雜度控制參數{si,S2,S3} = {700,345,203}。
[0175] 第2.4步:確定所有差值擴展區域控制參數{Τι,T2,T3},WT3為例,即對應的當前類 另Iji = 3,對應步驟如2.4.1~2.4.5所示:
[0176] 第2.4.1步:對X中所有類別為i = 3的像素的預測差值絕對值從小到大排序,由式 (7)且S3 = 203,僅有局部復雜度不大于S3的像素被分為類別3,即姑,2 = 203,姑,3 = 223為類別 3的像素,對應的預測差值分別為e日,2 = -l〇,e日,3 = -15,按預測差值絕對值從小到大排序后 得到序列{10,15 },因此其中最大預測值絕對值為Me = 15;
[0177] 第2.4.2步:初始化T3及對應的候選值TT均為-1,此時有e噸(i,Si+i,Si,-TT,TT)= enp(3 ,-1,203,1,-1)=0,ovf(i,Si+i,Si,-TT,TT)=ovf(3 ,-1,203,1,-1)=0,初始化所有 當前類別像素能提供的最大嵌入容量MC = 0;
[017 引第2.4.3步:按式(12)和式(13)增量更新6噸(1,3^1,31,-1'1'-1,刊+1)=6噸(3,-1, 203,0,0)與ovf(i,Si+l,Si,-TT-l,TT+l)=ovf(3,-l,203,0,0),即計算類別為3的像素中預 測差值絕對值為0的像素按式(8)變方向差值擴展嵌入數據后不會溢出或可能發生溢出的 像素數并更新6噸(3,-1,203,0,0)與^^3,-1,203,0,0),由于乂0,2,乂0,3對應的預測差值均 不為0,因此6噸(3,-1,203,0,0)=6噸(3,-1,203,1,-1)=0,0¥^3,-1,203,0,0) = 0¥^3,- 1,203,-1,1)=0,更新 ΤΤ = ΤΤ+1=0;
[0179]第2.4.4步:計算當Τ3 = ΤΤ = ο時,當前類別像素可提供的嵌入容量估值化p = e噸 (i,si+i,si,-TT,TT).i-〇vf(i,si+i,si,-TT,TT).V = ew(3,-l,203,0,0). 3-〇vf(3,-l, 203,0,0) · 8 = 0,由于Cap = 0《MC = 0,因此MC與T3保持不變;
[0180] 第2.4.5步:當 77' 二 min(「256/ (2'; -1)],M(J) = mm(37,15) = 15時,結束T3的枚舉,否 則轉第2.4.3步;
[0181] 假定完成2.4步后,所有的差值擴展區域控制參數{1'1,了2,了3} = {14,3,10}。
[01劇第2.5步:在候選嵌入參數集合巫'={<化,31,1'1>,...,<也,3^化>} = {<1, 700,14 >,<3,345,3 >,< 7,203,10 > }下,計算載體圖像X存在預測差值的像素對應的像 素類別矩陣為P=(Pi,j)3X3,WX(),l為例:由巧X(),l) = 249,結合式(7)有S3 = 203<巧X(),l)《 S2 = 345,因此姑,1對應的類別Po,o = 2;得到的P如圖7所示。然后可按式(14)計算所有像素能 提供的容量Cap,WX日,功例:X0,i對應的類別為P0,0 = 2,對應的預測差值e0,i = -3,由式(8)且 &。=^2=3,即60,1£[-了2,了2],因此姑,1將用于差值擴展,由式(9)計算可得姑,1在差值擴展 嵌入數據后不會發生溢出,因此Χο,ι可提供的嵌入容量為Po,o = 2bit;最后可得到在對應嵌 入參數集合下Cap = 8bit。此時可生成位置圖,WXo,i為例:由于Χο,ι可按式(9)進行修改且不 發生溢出,因此Lo,o保持不變且Lo,o = 0;得到的位置圖如圖8所示,隨后按JBIG壓縮算法進行 壓縮得到壓縮后位置圖數據,并假設其值為(01)2,同時假設附加數據的基本大小為化it, 因此在對應嵌入參數下X的實際嵌入容量為化p =化p-2-2 = 4bit。由于實際容量化p = 4> MC = 0,因此更新MC = Cap = 4,巫二巫'={ <1,700,14>,<3,345,3>,<7,203,!0>};
[0183] 第2.6步:令V = V-1 = 7,若V>0則轉第2.3步,否則嵌入參數Φ與最大嵌入容量MC 均已確定,并結束嵌入參數選擇方法;
[0184] 假定第2步完成時,最優嵌入參數集合為{< 1,700,14>,<3,345,3>,<7,203, 1〇>},對應的最大嵌入容量MC = 4bit。
[0185] 第3步:對所有存在預測差值的像素進行分類,由于第2步結束時的最優嵌入參數 等于第2.5步例舉的嵌入參數集合,因此對應的P仍如圖7所示;
[0186] 第4步:生成記錄溢出像素位置的位置圖,將位置圖進行壓縮存儲得到壓縮后的位 置圖數據,由于第2步結束時的最優嵌入參數等于第2.5步例舉的嵌入參數集合,因此對應 的L仍如圖8所示,且壓縮后位置圖數據仍假設為(01)2;
[0187] 第5步:計算嵌入時結束位置并生成附加數據,分別如步驟5.1~5.3與步驟5.4所 示:
[0188] 第5.1步:初始化epi = 0 , epj = 1, epk = 0和待嵌入數據大小Remain = len(a)+len (β) =8bit;
[0189] 第5.2步:按自頂向下自左向右的掃描序對存在預測差值的像素進行處理,由于 Χο,ι可提供Pq,q =化it嵌入容量,但Po,i = 2<Remain = 8,因此直接執行下一步;
[0190] 第5.3步:由于口〇,〇 = 2<1?61]1曰;[]1 = 8,因此更新1?61]1曰;[]1 = 1?61]1曰;[]1斗〇,〇 = 6,并轉到5.2 步對后續像素進行處理;
[0191 ] 第5.1~-5.3步執行完成后可得到epi = 2,邱j = 2,epk= 1。
[0192]第5.4步:由附加數據具體應包含的內容①嵌入結束位置(epi,epj,epk) = (2,2, 1),其中 epi,邱 j 需「log2MiV] =「lo聰.5.'61. = 5bit.,對應的二進制表示為epi·N+邱j = 2·6 +2=14=(01110)2,6口磕「1〇32^ =「雌23>21>把即對應的二進制表示為(01)2;@調整方 向控制參數化,Q2,化=1,3,7,其中Qp需要p位,對應的二進制表示分別為(1 )2,( 11 )2, (111)2;③局部復雜度控制參數31,32,33,其中3。需要126此^31 = 700為例,其二進制表示 為(001010111100)2;④差值擴展區域控制參數Τι,Τ2,Τ3,其中Τρ需要8bit,WTi = 14為例,對 應的二進制表示為(00001110) 2;⑤位置圖壓縮數據長度1 en (τ) = 2,需「log; MiV] = 5 bit位 對應的二進制表示為(00010)2和⑥位置圖壓縮數據(01)2;可得到附加數據為:
[0193]
[0194] 附加數據的實際大小可按式(15)計算= 2「l〇g; MV] Δ /2 + 2〇L + /訓Γ) + -雌,£] = 10 + 6 + 60+2 + 2 = 8(化;1,但為便于示例說明,仍采用步驟2.5步中的假定,即不 包含位置圖壓縮數據的附加數據的基本大小為化it,并假定該部分數據值為(10)2,即假定 生成的完整的附加數據為:(1001)2。
[01M]第6步:對附加數據與負載數據進行同步嵌入得到嵌入后載體圖像,如步驟6.1~ 6.2所示:
[0196] 第6.1步:按自頂向下自左向右的掃描序,位為單位,按式(8)嵌入負載數據β = (0111 )2到載體圖像中,如步驟6.1.1~6.1.2所示:
[0197] 第6.1.1步:由1^日,日=0,口日,日=2,-12 = -3《6日,1 = -3《12 = 3,即乂日,1可按差值擴展提 供Ρο,ο =化it嵌入容量,因此β的前化it數據(01)2將嵌入到姑,1中,Χο,ι對應的預測值與預測 差值分別為軒,=1郵6,1=-3,對應的調整方向控制參數化。p=a=3=(U)2舊此嵌入第化it 數據0后
嵌入 后Χο,ι可按式(22)計算
[019引第6.1.2步:由山,1 = 0而,1 = 3,-了3 = -10《60,2 = -10《了3 = 10,即乂0,2可按差值擴展 提供P0,i = 3bit嵌入容量因此β中剩余的后化it數據(11)2將嵌入到Χ0,2中,Χ0,2對應的預測 值與預測差值分別為義?.; =213,命;=-10,對應的調整方向控制參數如=7 =(川)2, 因此嵌入第1 b i t數據1后
嵌入第2 b i t數據1后
[0199] 第6.1步完成后β已完成嵌入,對應的圖像如圖9所示。
[0200] 第6.2步:將附加數據α= (1001)2使用最低3位有效位替換的方式嵌入到Χο,ο及存 在預測差值的像素中,每次嵌入1位數據前,先提取原有數據并同步按式(8)嵌入到第1步完 成后的預測差值中,直至α嵌入完成,如步驟6.2.1~6.2.4所示:
[0201 ] 束6.2.1步:將歌入C[中的束化i t數據巧化0, 0中,由Χ0,0=190=(10111110)2,因此 先備份Χο,ο的最低有效位0,并將其嵌入到步驟6.1完成后的預測差值中,此時由于eo,2本可 嵌入3bit數據,但僅嵌入化it數據,還剩余化it嵌入容量,因此該化it的被備份的數據0將 按式(8)嵌入到eo,2中,得到
嵌入后Xo,2可按式(22)計算,
備份數據被嵌入后,將α中的第Ibit數據1對Χο,ο的最低有 效位進行替換得到Χο, 0=(10111111 )2=191;
[0202] 第6.2.2步:將嵌入α中的第化it數據0至化ο,ο中,先備份Xo,ο的次低有效位1,并將其 嵌入到步驟6.2.1完成后的預測差值中,此時由于以,2 = 0,口日,2 = 3,6日,3 = -15<-了3 = -10因 此Χο,3需按式(8)進行平移操作,對應的預測值與預測差值分別為lw=238,e〇,3 = -15得到
,平移后Xq,3可按式(22)計算,
同樣,Xi,i,Xi,2也將進行平移,分別得到平移后Xi,i = 185, Xi,2 = 213。由1^1,2 = 0,口1,2 = 1,-Ti = -14《ei,3 = l《Ti = 14,即Xi,3可按差值擴展嵌入化it數 據,因此被備份的數據1將按式(8)嵌入到Xi,3中得到嵌入后Xi,3 = 246,然后將α中的第化it 數據0對Xo, 0的次低有效位進行替換得到Xo, 0 = (10111101) 2 = 189;
[0203] 第6.2.3步:將α中的第3bit數據0與第4bit數據1分別對Χο,ο的第3低有效位及Χο,ι 的最低有效位進行替換,替換前先對被替換的比特位進行備份并分別嵌入到拉,1,拉,2中,得 至化 ο,ο = 185,Χ〇,1 = 177,拉,1 = 215,拉,2 = 250。
[0204] 第6.2步完成后完成水印嵌入,嵌入后載體如圖10所示。
[0205] 提取算法是嵌入算法的逆過程,提取算法的具體步驟為:
[0206] 第1步:按嵌入時相同的掃描序提取用于嵌入附加數據的像素最低3位有效位,得 到不含壓縮位置圖數據的附加數據,即先提取Χο,0=185 = (11101001)2的最低與次低有效 位得到化it的不含壓縮位置圖數據的附加數據(10)2,由于該值為例中的假定值,其實際值 應為:
[0207]
[0208] 可從中得到加 it大小的壓縮位置圖數據的值len(T)=2,并繼續提取len(T) = 化it位數據,即提取Χο,ο的第3低有效位0及Xo,1 = 177= (10110001)2的最低有效位1得到壓 縮位置圖數據(01)2;
[0209] 第2步:從附加數據中得到所有嵌入參數與嵌入結束時位置,即{<Qi,si,Ti>,< 化,S2,T2>,<化,S3,T3>} = {<l,700,14>,<3,345,3>,<7,203,10>}與(epi,epj,epk) =(2,2,1 ),并按位置圖壓縮方法對應的解壓縮方法解壓縮位置圖得到解壓縮位置圖數據, 由于壓縮位置圖數據仍為假定值,但提取得到的值和嵌入時相同,因此解壓有位置圖仍如 圖8所示;
[0210] 第3步:從。,,即X2,巧始,按嵌入時逆掃描序進行備份數據提取與像素還原,每 提取1位數據即按最低3位有效位替換對嵌入過附加數據的像素最低3位有效位進行恢復, 直到嵌入過附加數據的像素最低3位有效位全部恢復,W拉,2 = 250為例:由L2,1 = 0可知,拉,2 在按式(8)修改后未發生溢出,因此需進行提取與恢復;由式(1)、式(4)與式(3)計算得到其 局部復雜度巧X2,2)=700,預測值1;,=241與預測差值62,2 = 9;結合式(7)對枯,2進行分類, 由S2 = 345<C*(X2,2)=700《si = 700,因此X2,2對應類別P2,i = l;由式(16),-2iTi+Gh-2i+l =-28《62,2 = 9《211'1+91 = 29,因此62,2是差值擴展后的預測差值,但由于拉,2為嵌入完成時 像素,因此其嵌入的數據不能直接通過P2,1=1確定,而應當由epk=l確定,即X2,2中嵌入了 化it數據,即堪=9,此時可按式(16)、式(17)、式(18)與式(22)進行提取與恢復:即嵌入的 數據為瑞 & 1 = 1 ,蠟=|_(超 +。一狂,)' 1) / 2」=|_9 / 2」=4,度" =:堪=4, ΛU = A.2 十 e。= 241 + 4 = 245。 得到提取的化it數據1后,對Χο,ι的最低有效位進行還原,得到Xo,1 = 177;所有用于嵌入備份 數據的像素均完成提取與恢復后,對應的圖像如圖11所示;
[0211] 第4步:按嵌入時逆掃描序對剩余像素進行數據提取與還原,即從Xo,2,Xo,i中分別 按式(16)、式(17)、式(18)與式(22)進行提取與還原得到負載數據β= (0111)2并恢復原始 載體圖像,如圖12所示;
[0212] 至此,負載數據被完整提取且載體圖像完整恢復。
【主權項】
1. 一種變方向差值擴展和同步嵌入的可逆水印嵌入方法,其特征在于包括以下步驟: 第1步:計算所有存在預測差值像素的局部復雜度和預測差值; 第2步:確定變方向差值擴展和同步嵌入的可逆水印嵌入方法的嵌入參數; 第3步:對所有存在預測差值的像素進行分類,分為L+1個類別,其中L為大于0的整數; 第4步:按嵌入類別相關的嵌入參數生成記錄溢出像素位置的位置圖,將位置圖進行壓 縮存儲得到壓縮后的位置圖數據; 第5步:計算嵌入時結束位置并生成附加數據; 第6步:對附加數據與負載數據進行同步嵌入得到嵌入后載體圖像。2. 如權利要求1所述的一種變方向差值擴展和同步嵌入的可逆水印嵌入方法,其特征 在于:在第1步中計算所有存在預測差值像素局部復雜度的具體方法是式(1): 5 -6 e{x)=1^- - v2 j+X (|- ν?+11+- η-φ+h - ^!+Κ - ^ I+ΣIn - 1 (ι ) /-1 ?-3 式(1)中,c\x)為像素X的局部復雜度,c\x)包含13組鄰近像素差值,鄰近像素差值絕 對值的最大值為255,故C\x)的最大值為255 X 13 = 3155,像素X和周圍像素V1,V2, ···,%〇的 鄰近關系如式(2)所示: X VI V2 V3 V4 V5 V6 (2); V7 V8 V9 V10 在第1步中計算所有存在預測差值像素X預測差值e的具體方法是式(3): 0. X - X .(3:). 式(3)中,:?是由式⑵像素X和周圍像素^,^_,^按64?預測器計算像素1預測值,具 體的計算方法如式(4)所示: V, S e (80,+〇〇) {\\+x)/2 <>'g (32,80] (v,+3x)/4(^ e(-8,32] x^lx. Je[-8,8] (1) (t^+3.v)/4i)'e[-32,-8) (v4+x)/2 <ye[-80,-32) v4 0' e (-go,-80) 式(4)中,δ為水平方向梯度與垂直方向梯度絕對值之差,為平滑上下文預測值,分別 按式(5)與式(6)計算: δ = I V1_V5 I + I V3_V7 I + I V4_V8 I _ I V1_V2 I _ I V3_V4 I _ I V4_V5 I ( 5 ) X = ; (Vj + V4 ): / 2 + (^3 - V5 ) / 4 (66).- 在第3步中對所有存在預測差值的像素分為L+1個類別的具體方法為式(7): L C*(x)<sL p = <i si+l<C*(x)<si (7) 0 5,<C*(x) 式(7)中,局部復雜度控制參數S1,S2,…,SL,且滿足0彡SL彡· ··彡S1<3315,3315是C* (X)的最大值。3. 如權利要求1所述的一種變方向差值擴展和同步嵌入的可逆水印嵌入方法,其特征 在于:在第2步中變方向差值擴展的具體計算式如式(8)所示,式(8)中類別為i的像素可嵌 入i位數據b=(b 1b2…bq…b1)2,b qe{o,l}表示待嵌入的第q位數據,e1,q表示按差值擴展嵌 入q位數據或平移后的^!' 1且1'1多0為對應類別下的差值擴展區域控制參數,〇1=(〇1, Λ, 2.. .Qm)2為對應類另Ui下i位二進制的調整方向控制參數,91>(1則表明類別為i的像素進 行第q次差值擴展時的調整方向; e q = Ο 2e^ + {-\f^bq e= < (8) ^ + (27 -1)7; +Q, T: < c ' ^-(2-1)(7:+1)-1-(2 e<-丁' 在式⑶中,q = 〇,即沒有數據被嵌入;當-TP?TP時,e被用作差值擴展,且嵌入第q位 數據bq時應按Q1>q確定的調整方向對已嵌入q-Ι位預測差值e^1進行差值擴展;當或e 〈-^時,對對應的預測差值進行平移。4. 如權利要求3所述的一種變方向差值擴展和同步嵌入的可逆水印嵌入方法,其特征 在于:在第2步中確定變方向差值擴展和同步嵌入的可逆水印嵌入方法嵌入參數的具體方 法包括以下步驟: 第2.1步:初始化記錄溢出像素的空間代價估值V = 8,最大嵌入容量MC = 0,嵌入參數集 合Φ = {}; 第2.2步:確定調整方向控制參數集合油,〇2,"_,〇山其中&4 = 1,~丄為第1個類別的 調整方向控制參數; 第2.3步:確定局部復雜度控制參數集合{S1,s2,…,SL},其中si,i = 1,…,L為第i個類別 的局部復雜度控制參數; 第2.4步:確定差值擴展區域控制參數集合m,T2,…,Td,其中Ti,i = 1,…,L為第i個類 別的差值擴展區域控制參數; 第2.5步:在候選嵌入參數集合4>/={<91,81,1'1>,...,<91^,81^!1>}下,計算每個存 在預測的像素能提供容量和,并生成位置圖且進行壓縮,然后按容量和減去壓縮后位置圖 數據大小與附加信息的基本大小得到實際嵌入容量Cap,若Cap >MC則更新MC = Cap,Φ = Φ,; 第2.6步:令V = V-l,若V>0則轉第2.3步,否則嵌入參數Φ與最大嵌入容量MC均已確 定,并結束嵌入參數選擇方法。5. 如權利要求4所述的一種變方向差值擴展和同步嵌入的可逆水印嵌入方法,其特征 在于:在第2.2步中確定調整方向控制參數集合池處,…,Qd的具體方法包括以下步驟: 第2.2.1步:初始化當前類別i = L; 第2.2.2步:初始化當前方向調整參數候選值TQ = 2^1,初始化類別i下變方向差值擴展 且不發生溢出的最大像素數ΜΕ = 0,方向調整參數初始化為Qi = TQ; 第2.2.3步:初始化按式(8)進行變方向差值擴展且不發生溢出的像素數EXP = 0,對X中 所有存在預測值的像素X計算其預測值i是否同時滿足式(9)對應的不溢出條件,若滿足則 更新EXP = EXP+1直至處理完所有存在預測值的像素,若EXP>ME則更新ME = EXP,Qi = TQ; 0. x + l'e + TQ < 255, Ο < x + 2'{e-\) + TQ + \ < 255 (9) 第2.2.4步:令TQ = TQ-1,若TQ < Ο則已對應類別為i的調整方向控制參數確定,并使i = i_l,否則轉第2.2.3步; 第2 · 2 · 5步:若i = 0,輸出所有調整方向控制參數油,Q2,…,QL},否則轉第2 · 2 · 2步; 在第2.3步中確定局部復雜度控制參數集合{S1,S2,H_,sd的具體方法包括以下步驟: 第2.3.1步:對X中所有存在預測值的像素局部復雜度從小到大排序并去除重復值,得 到序列f …,,其中A為不同局部復雜度值的數量,初始化當前類別i = L; 第2.3.2步:初始化sL+1 = -1,4 = -1,初始化上一個已確定局部復雜度控制參數值在C* 中的下標索弓丨j = 〇,即高+1 第2 . 3 . 3步:初始化s i的候選值在f中下標索引T J = j并初始化& = ,約定 哪(^^(6,,-255,255) = 0,哪(/,?,~,-255,255)=〇,<(/,"C-255,^^ 化所有當前像素類別能提供的最大嵌入容量MC = 0,其中符號enp(i,sa,sb,ta,tb)和ovf (1,犯,813 3&,吐)分別表示乂中滿足(:*&)£(仰,吐],6£^&,讓]且按類別為丨進行式(8)變 方向差值擴展嵌入數據后不會溢出或可能發生溢出的像素數,并且滿足當sa = sb或tb<0 時,enp (i,sa,sb,ta,tb) = 0和ovf (i,sa,sb,ta,tb) = 0; 第2 . 3.4步:根據式(1 0 )與式(11 )按增量更新計算.£>-(/, &+1, -255,255)與 外255),.更新TJ = TJ+1, enp(i, λ·, tl, CTJ+l, -255,255) - enp{i, λ; H, , -25 5,25 5) + enp{i, C^, ,CJn, -255,255) (1 〇) ovf(i, sM, C;/+1 ,-255,255) = ovf{i, s, tl, C;, -255,255) + ovf{i, C;;, C;/+1, -255,255) (11) 第2.3.5步:計算當,當前類別像素可提供的忽略!\影響嵌入容量估值 Ctf/,= (,"/,(/,Λ·η p ,-255,255> ./-?ι/(/,λ·川,(/.,.,-255,255) - K jgCap >MC則更新MC = Cap,j = TJ; 第2.3.6步:若TJ=A則設置s, = 否則轉第2.3.4步; 第2.3.7步:更新i = i-1,若i >0則準備計算下一個局部復雜度控制參數,并轉第2.3.3 步; 第2.3.8步:若i = 0,則輸出所有局部復雜度控制參數集合{S1,s2,…,SL}; 在第2.4步中確定差值擴展區域控制參數集合{T^Ts,···,!!}具體方法包括以下步驟: 第2.4.1步:初始化當前類別i = L; 第2.4.2步:對X中所有類別為i的像素的預測差值絕對值從小到大排序,記其中最大預 測值絕對值為Me; 第2.4.3步:初始化Ti及對應的候選值TT均為-1,此時有enp( i,si+1,Si,-TT,TT) = Ο,ovf (i,si+1,Si,-ΤΤ,ΤΤ) =0,初始化所有當前類別像素能提供的最大嵌入容量MC = 0; 第2.4.4步:按式(12)和式(13)增量更新6即(丨4+14,-1'1'-1,17+1)與〇¥€(丨4 +1,81-TT-1,TT+1),更新TT = TT+1; μ(!,S,_r.sr-TT -\.TT-\) = cN/>(i..s._rs"-TT^ 1,-TT -1) + ?;/;</. /, v,,.v,7T+ 1.77 + 1) G.2) ovf0\Λ. , V,, -ΓΓ -1,77 + 1) - ovfV,s, ,..V , -TT -1, -TT - 1) + m/(/,.v( ,,>·,. -ΤΤ,ΤΤ) + oyi\p.sa,sh,TT \ ITT I) (?) 第2.4.5步:當1^ = 1'1'時,當前類別像素可提供的嵌入容量估值〇3口 = 6即(;[,81 + 1,81,-ΤΤ,ΤΤ) · i-〇vf(i,si+i,Si,-TT,TT) .V,若Cap>MC則更新MC = Cap,Ti = TT; 第2.4.6步:當7T = min(「256/(2"-1)_1,協)時,結束當前類別!^枚舉,否則轉第2.4.4 步; 第2.4.7步:更新1 =卜1,若1>0,則轉第2.4.2步; 第2.4.8步:若i = 0,則輸出所有差值擴展區域控制參數集合{h,T2,…,Td ; 第2.5步在候選嵌入參數集合Φ' = {<Qi,si,Ti>,. . .,<Ql,sl,IY>}T,計算每個存 在預測差值的像素能提供的容量和的具體方法是:記載體圖像X=(Xu)_存在預測差值的 像素對應的像素類別矩陣為P= (Pi, j) 仏3),則Cap的具體計算方法如式(14)所示: 〇&?=乙?1」,以盧{?1」|?1」>0,紅」按式(8)將進行差值擴展且不發生溢出} (14)。6. 如權利要求4所述的一種變方向差值擴展和同步嵌入的可逆水印嵌入方法,其特征 在于:在第2.5步與第4步中生成記錄溢出像素位置的位置圖的具體方法在于包括以下步 驟: 第4. 1步:對載體圖像存在預測差值的像素區域進行位置圖L = (Li,j)(M-2)Χ(Ν-3)上的初始化設置,將所有元素初始化為Li,j = 0; 第4.2步:記存在預測差值的像素區域像素乂^對應的像素類別為?^,若?^>0且父^ 按式(8)進行變方向差值擴展發生溢出,即不同時滿足式(9)所對應的條件,則置Lm = l; 在第2.5步與第4步中將位置圖進行壓縮存儲得到壓縮后的位置圖數據的具體方法是 按JBIG壓縮方法進行壓縮。7. 如權利要求1所述的一種變方向差值擴展和同步嵌入的可逆水印嵌入方法,其特征 在于:在第5步中:計算嵌入時結束位置的具體方法在于包括以下步驟: 第5.1步:記嵌入時結束位置坐標為(ePl,ep」),記嵌入結束位置像素的位置為epk,初始 化epi = 0,epj = l,epk = 〇和待嵌入數據大小1^11^;[11 = 1611(€[)+1611(0),其中€[為附加數據,0 為嵌入負載數據,len(a)和len(i3)分別為α和邱勺長度; 第5.2步:按自頂向下自左向右的掃描序對存在預測差值的像素進行處理,若像素X可 提供Ρ位嵌入容量且Ρ彡Rema in,則設置(epi,ep j)為當前坐標,epk = Rema in并結束; 第5.3步:若像素1可提供卩位嵌入容量且卩<1^11^;[11,則1^11^;[11 = 1^11^;[11-卩,并轉到第 5.2步處理后續像素; 在第5步中生成的附加數據具體應包含以下內容:①嵌入結束位置(ePl,ep」,epk),其中 ePi,epj需「kg2 MV],epk需「l〇g2 位;②調整方向控制參數Qi,Q2,…,QL,其中Qp需要p位, 存儲91,〇2,"_義總共需(1+1^卜172位;@局部復雜度控制參數81,此"乳,其中邱<3315< 4096 = 212,存儲S1,s2"_sl總共需12L位;④差值擴展區域控制參數m - 28,存儲I^Tr··!!總共需8L位;⑤位置圖壓縮數據長度len(T),需「log2MA^位和⑥位置圖 壓縮數據,附加數據的總長度len(a)的具體計算方法如式(15)所示: len(a) = 2[log2iMV] + (i+ L)· L /2 + 20L + Im(T) + \ log, L j (.15)。8. 如權利要求3所述的一種變方向差值擴展和同步嵌入的可逆水印嵌入方法,其特征 在于:在第6步中對附加數據與負載數據進行同步嵌入得到嵌入后載體圖像的具體方法在 于包括以下步驟: 第6.1步:按自頂向下自左向右的掃描序,以1位為單位,按式(8)嵌入負載數據β到載體 圖像中; 第6.2步:將附加數據α使用最低L位有效位替換的方式嵌入到Χο,ο及存在預測差值的像 素中,每次嵌入1位數據前,先提取原有數據并同步按式(8)嵌入到第1步完成后的預測差值 中,直至α嵌入完成。9. 一種變方向差值擴展和同步嵌入的可逆水印提取方法,其特征在于包括以下步驟: 第1步:按嵌入時相同的掃描序提取用于嵌入附加數據的像素最低L位有效位,得到不 含壓縮位置圖數據的附加數據,并從中獲得壓縮位置圖數據大小和繼續提取出壓縮位置圖 數據; 第2步:從附加數據中得到所有嵌入參數與嵌入結束時位置,并按位置圖壓縮方法對應 的解壓縮方法解壓縮位置圖得到解壓縮位置圖數據; 第3步:從嵌入結束時位置開始,按嵌入時逆掃描序進行備份數據提取與像素還原,每 提取1位數據即按最低L位有效位替換對嵌入過附加數據的像素最低L位有效位進行恢復, 直到嵌入過附加數據的像素最低L位有效位全部恢復; 第4步:按嵌入時逆掃描序對剩余像素進行數據提取與還原,得到負載數據并恢復原始 載體圖像。10. 如權利要求9所述的一種變方向差值擴展和同步嵌入的可逆水印提取方法,其特征 在于:在第2步中按位置圖壓縮方法對應的解壓縮方法為JBIG解壓縮方法; 在第3步中,按嵌入時逆掃描序進行備份數據提取與像素還原和第4步中按嵌入時逆掃 描序對剩余像素進行還原的具體方法為式(16): -TTp+Qp-2p +l< eM <2pTp +Qp e = \eM -(2P -l)Tp-Qp e^>2liTp+Qp (16) ep'q +(2P - l)(Tp+1)-Qp epJl <-2pTp+Qp-2p +1 式(16)中,ep,q表示類別為p的像素,按差值擴展嵌入q位數據或平移后的差值e,可按迭 代的方式結合式(17)與式(18)進行嵌入數據的提取與計算: bq = ep,q&l ,ρ^Ο (17) eM-1 - [pm + (1 - δ,,, )? ): / 2 > Q,:q >0 (18) 式(17)和式(18)中,bqe {〇,l}表示待提取的第q位數據。
【文檔編號】G06T1/00GK106067157SQ201610364977
【公開日】2016年11月2日
【申請日】2016年5月27日 公開號201610364977.0, CN 106067157 A, CN 106067157A, CN 201610364977, CN-A-106067157, CN106067157 A, CN106067157A, CN201610364977, CN201610364977.0
【發明人】邵利平, 陳文鑫, 師軍
【申請人】陜西師范大學