專利名稱:基于h.264壓縮域的水印嵌入方法及裝置的制作方法
技術(shù)領(lǐng)域:
本申請涉及數(shù)字水印技術(shù)領(lǐng)域,尤其涉及一種基于H. 264壓縮域的水印嵌入方法
及裝置。
背景技術(shù):
數(shù)字水印技術(shù)是將數(shù)字水印(也稱為標識信息)直接嵌入到數(shù)字載體(包括多媒 體、文檔、軟件等)中,但不影響原數(shù)字載體的使用價值,且不易被人覺察的技術(shù)。其中,數(shù) 字水印也稱為水印信息,數(shù)字載體也稱為水印載體,通過隱藏在水印載體中的水印信息,可 以達到確認內(nèi)容創(chuàng)建者和購買者,傳送隱秘信息,或者判斷水印載體是否被篡改的目的。壓縮域數(shù)字水印技術(shù)是數(shù)字水印技術(shù)中的一種,是指在音視頻的壓縮碼流中加載 水印信息的技術(shù),以進行音視頻的版權(quán)保護和完整性判斷。H. 264是一種先進的視頻壓縮 標準,因此在基于H. 264標準壓縮的視頻碼流中加載水印信息成為研究的重點?,F(xiàn)有基于 H. 264壓縮域的數(shù)字水印技術(shù),通常選用殘差數(shù)據(jù)或者變換系數(shù)作為水印載體,將水印信息 嵌入該殘差數(shù)據(jù)或變換系數(shù)中,該水印載體具有數(shù)據(jù)量大和對壓縮碼流的質(zhì)量影響不大的 優(yōu)點。發(fā)明人在對現(xiàn)有技術(shù)的研究過程中發(fā)現(xiàn),上述選擇殘差數(shù)據(jù)或者變換系數(shù)作為水 印載體的方式,由于殘差數(shù)據(jù)或變換系數(shù)在某些情況下由預先制定的模塊進行處理,這些 模塊內(nèi)預先設(shè)置了固定的編解碼信息,以便對殘差數(shù)據(jù)或變換系數(shù)進行黑盒子處理,因此 在這種情況下通常無法對殘差數(shù)據(jù)或變換系數(shù)進行操作,如果在殘差數(shù)據(jù)或變換系統(tǒng)上加 載水印信息,將導致編碼和解碼不匹配,影響視頻質(zhì)量。
發(fā)明內(nèi)容
本申請實施例的目的是提供一種H. 264壓縮域的水印嵌入方法及裝置,以解決現(xiàn) 有殘差數(shù)據(jù)或變換系數(shù)通過預制模塊處理時,無法作為水印載體嵌入水印信息的問題。為解決上述技術(shù)問題,本申請實施例提供了一種基于H. 264壓縮域的水印嵌入方 法,是這樣實現(xiàn)的一種基于H. 264壓縮域的水印嵌入方法,包括獲取宏塊的幀塊類型,所述不同幀塊類型對應不同數(shù)量的幀塊;從預先設(shè)置的水印模式集中為所述宏塊中的每個幀塊選擇一種幀內(nèi)預測模式;按照預先設(shè)置的編碼策略對所述每個幀塊的幀內(nèi)預測模式進行編碼,獲得編碼數(shù) 據(jù);從所述編碼數(shù)據(jù)中提取水印載體,并將水印信息嵌入所述水印載體。為解決上述技術(shù)問題,本申請實施例提供了一種基于H. 264壓縮域的水印嵌入裝 置,是這樣實現(xiàn)的一種水印嵌入裝置,包括預設(shè)單元,用于預先設(shè)置水印模式集和編碼策略;
4
獲取單元,用于獲取宏塊的幀塊類型,所述不同幀塊類型對應不同數(shù)量的幀塊;選擇單元,用于從預先設(shè)置的水印模式集中為所述宏塊中的每個幀塊選擇一種幀 內(nèi)預測模式;編碼單元,用于按照預先設(shè)置的編碼策略對所述每個幀塊的幀內(nèi)預測模式進行編 碼,獲得編碼數(shù)據(jù);提取單元,用于從所述編碼數(shù)據(jù)中提取水印載體;嵌入單元,用于將水印信息嵌入所述提取的水印載體??梢?,本申請實施例中從預先設(shè)置的水印模式集中為宏塊中的每個幀塊選擇一種 幀內(nèi)預測模式,按照預先設(shè)置的編碼策略對每個幀塊的幀內(nèi)預測模式進行編碼,獲得編碼 數(shù)據(jù),從編碼數(shù)據(jù)中提取水印載體,并將水印信息嵌入提取的水印載體。本申請實施例以幀 內(nèi)預測模式為基礎(chǔ)獲取水印載體,由于幀內(nèi)預測模式需要在編解碼過程中實時獲取,因此 將水印信息嵌入該水印載體不會導致編碼和解碼不匹配的情況,擴展了水印嵌入的應用范 圍。
為了更清楚地說明本申請實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn) 有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本 申請中記載的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提 下,還可以根據(jù)這些附圖獲得其他的附圖。圖1為本申請基于H. 264壓縮域的水印嵌入方法的第一實施例流程圖;圖2A為本申請基于H. 264壓縮域的水印嵌入方法的第二實施例流程圖;圖2B為一個亮度分量4乘4幀塊類型的宏塊結(jié)構(gòu)示意圖;圖2C為一個宏塊中每個幀塊選擇幀內(nèi)預測模式后的示意圖;圖2D為另一個宏塊中每個幀塊選擇幀內(nèi)預測模式后的示意圖;圖2E為每個幀塊的最終預測模式的示意圖;圖3為本申請基于H. 264壓縮域的水印嵌入裝置的實施例框圖。
具體實施例方式本申請實施例提供一種基于H. 264壓縮域的水印嵌入方法及裝置。為了使本技術(shù)領(lǐng)域的人員更好地理解本申請實施例中的技術(shù)方案,并使本申請實 施例的上述目的、特征和優(yōu)點能夠更加明顯易懂,下面結(jié)合附圖對本申請實施例中技術(shù)方 案作進一步詳細的說明。參見圖1,為本申請基于H. 264壓縮域的水印嵌入方法的第一實施例流程圖步驟101 獲取宏塊的幀塊類型,不同幀塊類型對應不同數(shù)量的幀塊。其中,幀塊類型包括亮度幀塊類型和色度幀塊類型。具體的,亮度幀塊類型包括 4乘4幀塊類型、8乘8幀塊類型和16乘16幀塊類型;色度幀塊類型包括8乘8幀塊類型。步驟102 從預先設(shè)置的水印模式集中為宏塊中的每個幀塊選擇一種幀內(nèi)預測模 式。其中,預先設(shè)置的水印模式集包括H. 264標準定義的幀內(nèi)預測模式或者所述幀內(nèi)預測模式的子集。步驟103 按照預先設(shè)置的編碼策略對每個幀塊的幀內(nèi)預測模式進行編碼,獲得 編碼數(shù)據(jù)。具體的,可以按照預先設(shè)置的定長編碼策略對每個幀塊的幀內(nèi)預測模式進行定長編碼。步驟104 從編碼數(shù)據(jù)中提取水印載體,并將水印信息嵌入水印載體。具體的,可以按照下述任意一種方式從編碼數(shù)據(jù)中提取水印載體提取至少一個 宏塊內(nèi)的所有幀塊的編碼數(shù)據(jù)作為水印載體;提取至少一個宏塊內(nèi)的部分幀塊的編碼數(shù)據(jù) 作為水印載體;提取至少一個宏塊內(nèi)的所有幀塊的編碼數(shù)據(jù),以及另外至少一個宏塊內(nèi)的 部分幀塊的編碼數(shù)據(jù)作為水印載體。參見圖2A,為本申請基于H. 264壓縮域的水印嵌入方法的第二實施例流程圖,該 實施例以幀塊類型為4乘4為例進行描述步驟201 預先設(shè)置定長編碼策略和提取水印載體的策略。其中,提取水印載體的策略包括提取至少一個宏塊內(nèi)的所有幀塊的編碼數(shù)據(jù)作 為水印載體;或提取至少一個宏塊內(nèi)的部分幀塊的編碼數(shù)據(jù)作為水印載體;或提取至少一 個宏塊內(nèi)的所有幀塊的編碼數(shù)據(jù),以及另外至少一個宏塊內(nèi)的部分幀塊的編碼數(shù)據(jù)作為水 印載體。步驟202 獲取宏塊的幀塊類型,不同幀塊類型對應不同數(shù)量的幀塊。在H. 264標準中,可以選擇幀內(nèi)預測和幀間預測兩種技術(shù)進行編碼,編碼的基本 單位是宏塊,一個宏塊的亮度分量大小為16像素乘以16像素。幀內(nèi)預測是利用幀塊上邊 或者左邊的像素點來獲取預測塊的一種編碼技術(shù)。對于亮度分量來說,每個宏塊可以分為 4乘4幀塊類型、16乘16幀塊類型和8乘8幀塊類型,而對于色度分量來說,每個宏塊只有 8乘8幀塊類型。其中,4乘4、16乘16和8乘8是指每個幀塊的大小,以宏塊為4乘4幀 塊類型為例,它可以劃分為16個4乘4亮度的幀塊。如圖2B所示,為一個亮度分量4乘4幀塊類型的宏塊結(jié)構(gòu)示意圖,其中的數(shù)字標 號代表每個4乘4幀塊的編號順序。步驟203 獲取每個幀塊允許的幀內(nèi)預測模式的交集。在H. 264標準中,對于亮度分量4乘4幀塊類型和8乘8幀塊類型,定義了 9中 幀內(nèi)預測模式,分別為:V(Vertical,垂直預測),H(Horizontal,水平預測),DC(平均預 IO ,DL(Diagonal Down Left,左下對角預測),DR(Diagonal Down Right,右下對角預測), VR(Vertical Right,垂直向右預測),HD (Horizontal Down,水平向下預測),VL (Vertical Left,垂直向左預測),HU (Horizontal Up,水平向上預測)。對于亮度分量16乘16幀塊類 型和色度分量8乘8幀塊類型均規(guī)定了 4種幀內(nèi)預測模式,分別為V(Vertical,垂直預測), H (Horizontal,水平預測),DC (平均預測),Plane (棋盤預測)。以宏塊采用亮度分量4乘4幀塊類型為例,其中共有16個幀塊,因此包含了 16個 幀內(nèi)預測模式,每個幀內(nèi)預測模式最多可能有9種情況。但是,因為4乘4幀內(nèi)預測模式 是方向性預測,利用4乘4幀塊左邊和上邊相鄰像素點來獲得預測值,例如,幀內(nèi)預測模式 Vertical需要利用上面相鄰像素點來獲得預測值,如果在編碼中,該4乘4幀塊上面相鄰像 素點位置不可用(比如在圖像頂部),則對于這個4乘4幀塊,Vertical模式不可用,所以
6本步驟需要獲取每個幀塊允許的幀內(nèi)預測模式,即獲取16個幀塊中每個幀塊允許的幀內(nèi) 預測模式,然后從允許的幀內(nèi)預測模式中選擇16個幀塊的幀內(nèi)預測模式的交集。步驟204 從交集中選擇2的冪次方個幀內(nèi)預測模式組成水印模式集。考慮到后續(xù)的編碼過程,如果交集中的幀內(nèi)預測模式個數(shù)不是2的冪次方,則還 需要將多余的幀內(nèi)預測模式去掉,以得到由2的冪次方個幀內(nèi)預測模式組成的水印模式 集。由此可知,水印模式集是H. 264標準規(guī)定的所有幀內(nèi)預測模式或者其子集,每個宏塊的 水印模式集可以不同。假設(shè)本步驟中獲得的水印模式集中包含的幀內(nèi)預測模式分別為DC、H、V和DR。步驟205 從預先設(shè)置的水印模式集中為宏塊中的每個幀塊選擇一種幀內(nèi)預測模式。參見圖2C,假設(shè)為按照步驟204中獲得的水印模式集為宏塊中的每個幀塊選擇幀 內(nèi)預測模式后的示意圖。步驟206 按照預先設(shè)置的定長編碼策略對每個幀塊的幀內(nèi)預測模式進行定長編 碼,獲得編碼數(shù)據(jù)。由于水印模式集中包含四種幀內(nèi)預測模式,因此可以選擇2比特的定長編碼策 略,假設(shè)該策略中定義DC模式對應的編碼為00,V模式對應的編碼為01,H模式對應的編 碼為10,DR模式對應的編碼為11。結(jié)合圖2B中每個幀塊的順序,以及圖2C中每個幀塊的 幀內(nèi)預測模式可知,最終獲得的編碼數(shù)據(jù)為00100001110111011011000110010000。步驟207 從編碼數(shù)據(jù)中提取水印載體。其中,水印載體可以是整個宏塊的編碼數(shù)據(jù),或部分編碼數(shù)據(jù),可以是兩個或多個 宏塊的編碼數(shù)據(jù),可以是整數(shù)個宏塊的編碼數(shù)據(jù)與另外宏塊的部分編碼數(shù)據(jù),也可以是多 個宏塊的部分編碼數(shù)據(jù),具體應用時可以依照預先設(shè)置的策略進行提取,對于不同的水印 算法,選擇的策略會有所不同。例如,以每個宏塊的幀塊0和幀塊8的編碼數(shù)據(jù)作為水印載 體,參照圖2C,則得到水印載體為0010。步驟208 將水印信息嵌入水印載體。嵌入水印的方法很多,本實施例僅列舉幾個例子進行說明。方法一每個宏塊嵌入2比特信息,以幀塊0和幀塊8的編碼數(shù)據(jù)為水印載體,參照圖2C, 水印載體就是0010。嵌入方法可以如下假設(shè)a(iaia2a3為水印載體,X0X1為水印信息, 表示異或運算,如果aQ十α2 = X。,則不改變aQ、a2的值;如果aQ α2^χ0,則改變aQ的值(即0變?yōu)?,1變?yōu)?);如果巧十α3 = X1,不改變B1、a3的值;如果…θ α3 ^ ,改變的值(即0變?yōu)?,1變?yōu)?)。按照上述方法,在圖2C中嵌入XtlX1 = 11兩比特水印信息,則水印載體0010在嵌 入水印后變?yōu)?110,過程如下而十O2=O十I = I = Xt^atl不變,仍然為0巧 %=0十0 = 0關(guān)Xpa1改變,從0變?yōu)?嵌入水印信息后,獲得的負載編碼數(shù)據(jù)為01100001110111011011000110010000。
方法二每個宏塊嵌入1比特信息,以一個宏塊的編碼數(shù)據(jù)作為水印載體。嵌入方法可以 如下統(tǒng)計水印載體中0、1的個數(shù),分別記為IN1,水印信息為Xtl,如果Xtl = 0,并且Ntl彡N1,則不變;如果χ。= 0,并且Ntl < N1,則將水印載體中0變?yōu)?,1變?yōu)? ;如果χ。= 1,并且N。彡N1,則將水印載體中0變?yōu)?,1變?yōu)? ;如果Xo = 1,并且N0 < N1,則不變;按照上述方法,在圖2C中嵌入1比特水印信息X0 = 1,因為Ntl = 18,N1 = 14,N0 > N1,需要將水印載體中0變?yōu)?,1變?yōu)?。嵌入水印后,獲得的負載編碼數(shù)據(jù)為1101111 0001000100100111001101111。方法三每兩個宏塊嵌入2比特信息,以兩個宏塊的部分編碼數(shù)據(jù)作為水印載體,分別以 第1個宏塊的幀塊0和第2個宏塊的幀塊0的模式編碼數(shù)據(jù)作為水印載體。假設(shè)圖2C為 第1個宏塊,圖2D為第2個宏塊,結(jié)合圖2B中每個幀塊的順序,以及圖2D中每個幀塊的幀 內(nèi)預測模式可知,第2個宏塊的模式編碼數(shù)據(jù)為10100010010111111000010000010110。嵌 入方法可以如下假設(shè)aQaia2a3為水印載體,X0X1為水印信息, 表示異或運算。其中^a1是第1個 宏塊的幀塊0的編碼數(shù)據(jù),a2a3是第2個宏塊的幀塊0的編碼數(shù)據(jù), 如果aQ十ii2 = Xq,則不改變aQ、a2的值;如果% Qa2^x0,則改變aQ的值(即0變?yōu)?,1變?yōu)?);如果α,十α3 = X1 ’則不改變ai、a3的值;如果α, θα3ΦΧ] ’則改變ai的值(即0變?yōu)?,1變?yōu)?);按照上述方法,B0B1 = 00,a2a3 = 10,如果嵌入的水印信息為XtlX1 = 11,嵌入水印 信息后,水印載體變?yōu)?110,同時得到第1個宏塊的負載編碼數(shù)據(jù)為011000011101110110 11000110010000 ;第2個宏塊的負載編碼數(shù)據(jù)沒有改變,仍然為10100010010111111000010 000010110。步驟209 按照編碼策略對負載編碼數(shù)據(jù)進行反向解碼,獲得嵌入水印信息后的 幀塊的最終幀內(nèi)預測模式。嵌入水印信息后的編碼數(shù)據(jù)為負載編碼數(shù)據(jù),負載編碼數(shù)據(jù)按照同樣的編碼策 略,進行模式解碼,獲得最終的幀內(nèi)預測模式,最終的預測模式就是每個4乘4幀塊在編碼 時采用的幀內(nèi)預測模式。比如根據(jù)前述步驟208中的方法一,在加載水印信息ΧΛ = 11后, 得到負載編碼數(shù)據(jù)為01100001110111011011000110010000,按照步驟204中定義的策略, 經(jīng)過模式解碼后,獲得最終預測模式如圖2E所示。與本申請基于H. 264壓縮域的水印嵌入方法的實施例相對應,本申請還提供了基 于H. 264壓縮域的水印嵌入裝置的實施例。參見圖3,為本申請基于H. 264壓縮域的水印嵌入裝置的實施例框圖。該裝置包括預設(shè)單元310、獲取單元320、選擇單元330、編碼單元340、提取單元 350和嵌入單元360。其中,預設(shè)單元310,用于預先設(shè)置水印模式集和編碼策略;
獲取單元320,用于獲取宏塊的幀塊類型,所述不同幀塊類型對應不同數(shù)量的幀 塊;選擇單元330,用于從預先設(shè)置的水印模式集中為所述宏塊中的每個幀塊選擇一 種幀內(nèi)預測模式;編碼單元340,用于按照預先設(shè)置的編碼策略對所述每個幀塊的幀內(nèi)預測模式進 行編碼,獲得編碼數(shù)據(jù);提取單元350,用于從所述編碼數(shù)據(jù)中提取水印載體;嵌入單元360,用于將水印信息嵌入所述提取的水印載體。具體的,預設(shè)單元310可以包括(圖3中未示出)交集獲取單元,用于獲取每個幀 塊允許的幀內(nèi)預測模式的交集,所述幀內(nèi)預測模式為H. 264標準定義的幀內(nèi)預測模式;模 式集選擇單元,用于從所述交集中選擇2的冪次方個幀內(nèi)預測模式組成所述水印模式集。編碼單元340可以包括(圖3中未示出)定長編碼單元,用于按照預先設(shè)置的定 長編碼策略對所述每個幀塊的幀內(nèi)預測模式進行定長編碼。提取單元350可以包括至少一個下述單元(圖3中未示出)第一提取單元,用 于提取至少一個宏塊內(nèi)的所有幀塊的編碼數(shù)據(jù)作為水印載體;第二提取單元,用于提取至 少一個宏塊內(nèi)的部分幀塊的編碼數(shù)據(jù)作為水印載體;第三提取單元,用于提取至少一個宏 塊內(nèi)的所有幀塊的編碼數(shù)據(jù),以及另外至少一個宏塊內(nèi)的部分幀塊的編碼數(shù)據(jù)作為水印載 體。進一步,該裝置還可以包括(圖3中未示出):解碼單元,用于按照所述編碼策略 對所述負載編碼數(shù)據(jù)進行反向解碼,獲得嵌入水印信息后的幀塊的最終幀內(nèi)預測模式,所 述負載編碼數(shù)據(jù)為所述嵌入水印信息后的編碼數(shù)據(jù)。通過以上的實施方式的描述可知,本申請實施例中從預先設(shè)置的水印模式集中為 宏塊中的每個幀塊選擇一種幀內(nèi)預測模式,按照預先設(shè)置的編碼策略對每個幀塊的幀內(nèi)預 測模式進行編碼,獲得編碼數(shù)據(jù),從編碼數(shù)據(jù)中提取水印載體,并將水印信息嵌入提取的水 印載體。本申請實施例以幀內(nèi)預測模式為基礎(chǔ)獲取水印載體,由于幀內(nèi)預測模式需要在 編解碼過程中實時獲取,因此將水印信息嵌入該水印載體不會導致編碼和解碼不匹配的情 況,擴展了水印嵌入的應用范圍。通過以上的實施方式的描述可知,本領(lǐng)域的技術(shù)人員可以清楚地了解到本申請可 借助軟件加必需的通用硬件平臺的方式來實現(xiàn)?;谶@樣的理解,本申請的技術(shù)方案本質(zhì) 上或者說對現(xiàn)有技術(shù)做出貢獻的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品 可以存儲在存儲介質(zhì)中,如ROM/RAM、磁碟、光盤等,包括若干指令用以使得一臺計算機設(shè)備 (可以是個人計算機,服務器,或者網(wǎng)絡設(shè)備等)執(zhí)行本申請各個實施例或者實施例的某些 部分所述的方法。本說明書中的各個實施例均采用遞進的方式描述,各個實施例之間相同相似的部 分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對于系統(tǒng)實 施例而言,由于其基本相似于方法實施例,所以描述的比較簡單,相關(guān)之處參見方法實施例 的部分說明即可。本申請可用于眾多通用或?qū)S玫挠嬎阆到y(tǒng)環(huán)境或配置中。例如個人計算機、服務 器計算機、手持設(shè)備或便攜式設(shè)備、平板型設(shè)備、多處理器系統(tǒng)、基于微處理器的系統(tǒng)、置頂盒、可編程的消費電子設(shè)備、網(wǎng)絡PC、小型計算機、大型計算機、包括以上任何系統(tǒng)或設(shè)備的 分布式計算環(huán)境等等。本申請可以在由計算機執(zhí)行的計算機可執(zhí)行指令的一般上下文中描述,例如程序 模塊。一般地,程序模塊包括執(zhí)行特定任務或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對象、組 件、數(shù)據(jù)結(jié)構(gòu)等等。也可以在分布式計算環(huán)境中實踐本申請,在這些分布式計算環(huán)境中,由 通過通信網(wǎng)絡而被連接的遠程處理設(shè)備來執(zhí)行任務。在分布式計算環(huán)境中,程序模塊可以 位于包括存儲設(shè)備在內(nèi)的本地和遠程計算機存儲介質(zhì)中。雖然通過實施例描繪了本申請,本領(lǐng)域普通技術(shù)人員知道,本申請有許多變形和 變化而不脫離本申請的精神,希望所附的權(quán)利要求包括這些變形和變化而不脫離本申請的 精神。
10
權(quán)利要求
一種基于H.264壓縮域的水印嵌入方法,其特征在于,包括獲取宏塊的幀塊類型,所述不同幀塊類型對應不同數(shù)量的幀塊;從預先設(shè)置的水印模式集中為所述宏塊中的每個幀塊選擇一種幀內(nèi)預測模式;按照預先設(shè)置的編碼策略對所述每個幀塊的幀內(nèi)預測模式進行編碼,獲得編碼數(shù)據(jù);從所述編碼數(shù)據(jù)中提取水印載體,并將水印信息嵌入所述水印載體。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述幀塊類型包括亮度幀塊類型和色度 幀塊類型,其中,所述亮度幀塊類型包括4乘4幀塊類型、8乘8幀塊類型和16乘16幀塊類型; 所述色度幀塊類型包括8乘8幀塊類型。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述預先設(shè)置的水印模式集包括H.264 標準定義的幀內(nèi)預測模式或者所述幀內(nèi)預測模式的子集。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述預先設(shè)置水印模式集包括 獲取每個幀塊允許的幀內(nèi)預測模式的交集;從所述交集中選擇2的冪次方個幀內(nèi)預測模式組成所述水印模式集。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述按照預先設(shè)置的編碼策略對所述每 個幀塊的幀內(nèi)預測模式進行編碼具體為按照預先設(shè)置的定長編碼策略對所述每個幀塊的幀內(nèi)預測模式進行定長編碼。
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述從所述編碼數(shù)據(jù)中提取水印載體包括提取至少一個宏塊內(nèi)的所有幀塊的編碼數(shù)據(jù)作為水印載體;或 提取至少一個宏塊內(nèi)的部分幀塊的編碼數(shù)據(jù)作為水印載體;或 提取至少一個宏塊內(nèi)的所有幀塊的編碼數(shù)據(jù),以及另外至少一個宏塊內(nèi)的部分幀塊的 編碼數(shù)據(jù)作為水印載體。
7.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述嵌入水印信息后的編碼數(shù)據(jù)為負載 編碼數(shù)據(jù),還包括按照所述編碼策略對所述負載編碼數(shù)據(jù)進行反向解碼,獲得嵌入水印信息后的幀塊的 最終幀內(nèi)預測模式。
8.一種水印嵌入裝置,其特征在于,包括 預設(shè)單元,用于預先設(shè)置水印模式集和編碼策略;獲取單元,用于獲取宏塊的幀塊類型,所述不同幀塊類型對應不同數(shù)量的幀塊; 選擇單元,用于從預先設(shè)置的水印模式集中為所述宏塊中的每個幀塊選擇一種幀內(nèi)預 測模式;編碼單元,用于按照預先設(shè)置的編碼策略對所述每個幀塊的幀內(nèi)預測模式進行編碼, 獲得編碼數(shù)據(jù);提取單元,用于從所述編碼數(shù)據(jù)中提取水印載體; 嵌入單元,用于將水印信息嵌入所述提取的水印載體。
9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述預設(shè)單元包括交集獲取單元,用于獲取每個幀塊允許的幀內(nèi)預測模式的交集,所述幀內(nèi)預測模式為 H. 264標準定義的幀內(nèi)預測模式;模式集選擇單元,用于從所述交集中選擇2的冪次方個幀內(nèi)預測模式組成所述水印模式集。
10.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述編碼單元包括定長編碼單元,用于按照預先設(shè)置的定長編碼策略對所述每個幀塊的幀內(nèi)預測模式進 行定長編碼。
11.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述提取單元包括至少一個下述單元 第一提取單元,用于提取至少一個宏塊內(nèi)的所有幀塊的編碼數(shù)據(jù)作為水印載體; 第二提取單元,用于提取至少一個宏塊內(nèi)的部分幀塊的編碼數(shù)據(jù)作為水印載體;第三提取單元,用于提取至少一個宏塊內(nèi)的所有幀塊的編碼數(shù)據(jù),以及另外至少一個 宏塊內(nèi)的部分幀塊的編碼數(shù)據(jù)作為水印載體。
12.根據(jù)權(quán)利要求8所述的裝置,其特征在于,還包括解碼單元,用于按照所述編碼策略對所述負載編碼數(shù)據(jù)進行反向解碼,獲得嵌入水印 信息后的幀塊的最終幀內(nèi)預測模式,所述負載編碼數(shù)據(jù)為所述嵌入水印信息后的編碼數(shù)
全文摘要
本發(fā)明實施例公開了一種基于H.264壓縮域的水印嵌入方法及裝置,所述方法包括獲取宏塊的幀塊類型,所述不同幀塊類型對應不同數(shù)量的幀塊;從預先設(shè)置的水印模式集中為所述宏塊中的每個幀塊選擇一種幀內(nèi)預測模式;按照預先設(shè)置的編碼策略對所述每個幀塊的幀內(nèi)預測模式進行編碼,獲得編碼數(shù)據(jù);從所述編碼數(shù)據(jù)中提取水印載體,并將水印信息嵌入所述水印載體。本發(fā)明實施例以幀內(nèi)預測模式為基礎(chǔ)獲取水印載體,由于幀內(nèi)預測模式需要在編解碼過程中實時獲取,因此將水印信息嵌入該水印載體不會導致編碼和解碼不匹配的情況,擴展了水印嵌入的應用范圍。
文檔編號G06T1/00GK101873485SQ20091016850
公開日2010年10月27日 申請日期2009年8月21日 優(yōu)先權(quán)日2009年8月21日
發(fā)明者俞海, 武曉陽, 胡揚忠, 賈永華, 鄔偉琪 申請人:杭州??低曑浖邢薰?br>