在信息信號中嵌入輔助數據的製作方法
2023-08-05 16:34:01 1
專利名稱:在信息信號中嵌入輔助數據的製作方法
技術領域:
本發明涉及一種用於在信息信號中嵌入輔助數據的方法和裝置。本發明亦涉及一種用於檢測所述輔助數據的方法和裝置。
背景技術:
在PCM編碼信息信號中嵌入輔助數據的已知方法,亦被稱為易碎水印(fragile watermarking),被公開於歐洲專利EP-B 0 205 200中。在這種現有技術方法中,每第n個信號採樣的最低有效位被輔助數據位替換。這種嵌入方案的改進變化被公開於歐洲專利申請EP-A 0359 325中。不僅依賴於實際輔助數據位,而且依賴於相同PCM採樣的一個或多個其它位,PCM採樣的最低有效位在此被修改。
發明目的和概述本發明的目的是進一步改進在PCM信號中嵌入輔助數據的方法。
依照本發明,這是通過如在權利要求1中所限定的方法而實現的。該方法導致速率失真(rate-distoration)比的改進。
附圖簡述
圖1示出輔助數據嵌入和解碼系統的通用示意圖。
圖2示出說明依照本發明的嵌入方法實施例的操作的曲線圖。
實施例描述圖1示出輔助數據嵌入和解碼系統10的通用示意圖。離散無記憶源11發出符號x1...xN的主(host)序列x。編碼器12,亦被稱為嵌入器,以概率1/M來接收符號0...M的消息w。嵌入器將序列x1...xN修改成作為x和w的函數的符號y1...yN的合成序列。合成序列y被應用於目的地13,並亦由解碼器14來觀測,其被需要以便可靠地重構所嵌入的消息w。
在起始段中所提及的現有技術嵌入方法中,主信號符號的一半不被修改,這是因為PCM採樣的最低有效位已等於欲被嵌入的數據位。通過交換(flip)最低有效位以使所述位等於欲被嵌入的數據位,符號的另一半被修改。這樣,被修改的符號與主PCM採樣差+1或-1。這被概括於以下的表I中。表I
修改主符號引入了失真。對於PCM編碼信息信號(如音頻採樣、圖像像素),「平方誤差」常被使用,定義為D(x,y)=(y-x)2現有技術嵌入方案的平均失真為D=14{02+(+1)2+(-1)2+02}=14(202+212)=0.5.]]>現有技術嵌入方案的嵌入速率為R=1位/符號,並因此速率失真比為R/D=2。
現有技術嵌入方法是一種最低有效位的替換,在其中消息在信號符號的R個最低有效位(R為正整數)中被嵌入。以下的表IIa示出R=2的最低有效位的替換方案。
表IIa在此情況下,平均失真為D=116(402+612+422+232)=2.5]]>而速率失真比為R/D=0.8。
應指出,在表IIa的R=2嵌入方案中,主符號的兩個最低有效位被2位消息w替換。如該表所示,這可導致每個符號D=32的失真。顯然,從採樣減1來取代加3是較好的。對於R=2,這個策略被概括於以下的表IIb中。
表IIb在此情況下,失真為D=116(402+812+422)=1.5]]>而速率失真比為R/D=1.33,其大大好於在表IIa中所示方案的比R/D=0.8。
本發明人發現了理論上可實現的速率失真曲線,其表明一定有具有較好速率失真比的嵌入方案。這個「邊界」曲線在圖2中被表示為20。對應於表I和IIb的兩個(R,D)對(1,0.5)和(2,1.5)在該圖中分別被表示為21和22。如將被理解的,有提高速率失真比的餘地。例如,對於R=1可在理論上實現失真D≈0.2(R/D≈5),而對於R=2可在理論上實現D≈0.9(R/D≈2)。我們感興趣的是尋找組合大嵌入速率R與小失真D的嵌入策略,即大速率失真比R/D。
「編碼的」LSB調製依照本發明的第一方面,消息符號由矢量的校正子(syndrome)來表示,該矢量由一組L(L>1)個主符號中每個的最低有效位形成,在此亦被稱為LSB矢量。詞語「校正子」是誤差校正領域內眾所周知的概念。在誤差校正方案中,所接收的數據字(輸入矢量)被處理以獲得其校正子。通常(但不是必須),所述處理意味著用給定矩陣乘以數據字。如果校正子為零,則數據字的所有位是正確的。如果校正子不等於零,則非零值表示錯誤位的位置(或多個位置)。漢明碼(Hamming)具有漢明距離3並由此允許1個錯誤位被校正。其它碼如戈萊碼(Golay code)允許數據字的多個位被校正。
從數學上來說,依照本發明的數據嵌入方法類似於誤差校正。為了在一組L個主符號中嵌入許多數據位,編碼器(圖1中的12)修改所述組的一個或多個主符號。在數學上,在漢明意義上最接近x1...xL的輸出矢量y1...yL被計算。解碼器(圖1中的14)只需要確定所接收LSB矢量的校正子。該校正子表示所嵌入的輔助數據。
在以下實例中,(7,4,3)漢明碼被用於在主符號的最低有效位中嵌入數據。在誤差校正領域,(7,4,3)漢明碼允許使用7-4=3個奇偶校驗位來校正7位數據字中的1個位(漢明距離為3)。與此類似,嵌入實施例允許在7個主符號中嵌入3個消息位。為計算校正子,7個主符號的LSB矢量被乘以(所有數學運算均為模2運算)以下的3×7矩陣000111101100111010101]]>這個矩陣的列包括所有可能的位組合,除了000。
假定七個主符號具有最低有效位0,0,1,1,0,1,0,即輸入LSB矢量為(0011010)。這個矢量與以上矩陣的模2乘法得到0001111011001110101010011010=001]]>這個乘法的輸出(001)為輸入矢量(0011010)的校正子。正是這個校正子表示所嵌入的消息符號。
顯然,由原始主符號表示的校正子通常不是欲被嵌入的消息符號。僅一個主符號的最低有效位必須因此被修改。這是通過以下步驟而實現的-計算原始LSB矢量校正子和欲被嵌入消息之間的差。例如,如果欲被嵌入的消息為(010),則模2差為(010)-(001)=(011)。
-確定矩陣中所述差的列位置d。在這個實例中,在矩陣的第三(d=3)列發現所述差(011)。
-修改第d個主符號的最低有效位。
這樣,第3個主符號的最低有效位在本實例中被修改,其導致被修改的矢量(0001010)。在解碼器中,這個矢量受校正子確定的控制。結果為0001111011001110101010001010=010]]>其真正表示消息符號(010)。
每7個符號的失真為1802+7812=78]]>(沒有主符號被改變的概率為1/8,而一個符號被改變±1的概率為7/8),因此每個符號的平均失真為D=1/8。嵌入速率為每7個符號3位,即R=3/7。相應的(R,D)對被示出為在圖2中表示為23的+標記。速率失真比為R/D≈3.4。
較通常地,基於漢明碼的嵌入允許將m位消息符號嵌入到2m-1個主符號中,嵌入速率R=m2m-1,]]>而失真D=12m.]]>對應於m=2,3,4和5的(R,D)對被示出為圖2中的+標記。速率失真比為R/D=m2m2m-1,]]>對於大m,其近似等於m。對於m=10,該比率比低位調製大約大5倍。這個明顯的提高是以嵌入和解碼硬體或軟體的中等複雜度而實現的。
取代二進位漢明碼,戈菜碼可被使用。有一個二進位戈萊碼(23,12,7)戈萊碼。在誤差校正碼領域,戈萊碼可檢測並校正具有12個信息位和23-12=11個保護位的23位數據字中的3個錯誤位(漢明距離為7)。與此類似,通過修改最多3個符號,(23,12,7)戈萊碼可在23個主符號中嵌入11個數據位。應用戈萊碼導致R=11230.478,]]>和D=2311+2322+23332048.230.124.]]>相應的(R,D)對由在圖2中被表示為24的◇標記示出。速率失真比為R/D≈3.85,其比用LSB調製可實現的幾乎好2倍。
三進位嵌入方法依照本發明的第二方面,消息符號由主符號的所謂「類」來表示。對於w=0,1,2,如果x mod 3=w,則符號x被稱作在「類w」中。換句話說-PCM值0,3,6,...(類0)表示消息符號w=0,-PCM值1,4,7,...(類1)表示消息符號w=1,並且-PCM值2,5,8,...(類2)表示消息符號w=2。
數據嵌入器12(見圖1)現在修改輸入符號xi以使所修改的符號yi為類w。這亦被稱為「低三進位數位調製(low-trits modulation)」。以下的表III示出主符號xi=9,10和11的嵌入方案。
表III嵌入速率為R=log23≈1.585,而平均失真速率為D=1/9·6=2/3。相應的(R,D)對在圖3中被示出為表示為30的◇標記(為便於參照,圖2中所示的邊界20和(R,D)對21和22亦在此圖中被示出)。速率失真比為R/D≈2.378,這是相當好的。
上述形式的三進位嵌入被稱為「未編碼」三進位調製,在其中每個主符號都具有被嵌入的數據。然而,還有可能以類似於以上關於「編碼」LSB調製所述的方式,即通過在主符號組中嵌入三進位符號來進行「編碼」三進位調製。亦再次有可能通過使用(三進位)漢明碼或(三進位)戈萊碼來這樣做。
現在將較詳細地示出有m=2個奇偶校驗檢查、使用三進位漢明碼的嵌入操作。依照以上提出的用於二進位漢明碼的原理,人們將期望矩陣具有3m-1=8列(除00外的所有組合)。然而,為其它列的倍數的列不需要被包括在矩陣中。相應地,列數為(3m-1)/2=4。此亦為形成矢量的主符號數。該矩陣為01111012]]>這個三進位漢明碼允許兩個三進位消息符號被容納於具有相應類1,2,0和1的4個主符號的組中。主矢量(1,2,0,1)的校正子為(應指出,所有數學運算現在為模3)011110121201=00]]>我們想在這組主符號中嵌入兩個三進位符號(1,2)。差為(1,2)-(0,0)=(1,2)。該差可在矩陣的第4列中發現。相應地,第4個主符號被修改。如果該差在矩陣中發現,則相關的主符號通過其原始PCM值加1而被修改。主符號組由此被修改為(1,2,0,2)。在解碼器中,這個矢量受校正子確定的控制。結果為011110121202=12]]>其真正表示消息符號(1,2)。
如果我們想在主符號組中嵌入三進位符號(2,2),則差為(2,2)-(0,0)=(2,2)。在矩陣中沒有具有這個值的列,這是因為(2,2)是(1,1)的倍數。這個值可在矩陣的第3列中發現。相應地,第3個符號被修改,但現在修改涉及相應的PCM值加2(或減1),而不是加1。主符號組由此被修改為(1,2,2,1)。在解碼器中,這個矢量受校正子確定的控制。結果為011110121221=22]]>其真正表示消息符號(2,2)。
通常,當漢明碼與給定數量m的奇偶校驗檢查符號一起使用時,碼字長度為(3m-1)/2。因此R=mlog23(3m-1)/2,]]>D=23m,]]>並且R/D=m3mlog233m-1.]]>兩個(R,D)對在圖3中由□標記示出並被表示為31(m=2)和32(m=3)。
戈萊碼可再次取代漢明碼而被使用。僅有一個三進位戈萊碼(11,6,5)戈萊碼。這個碼可通過修改最多2個符號(漢明距離為5)在11個主符號中嵌入11-6=5個三進位符號。應用戈萊碼導致R=5log23110.72,]]>D=11112+11224243.11=422430.173,]]>並且R/D≈4.169。相應的(R,D)對由圖3中被表示為33的+標記示出。
應指出,三進位嵌入(類=x mod 3)是較一般的n進位嵌入(類=x mod 3)的特殊情況。先前所述的LSB嵌入即n=2,亦為其特殊情況。本發明適用於任何整數n。
二維碼依照本發明的第三方面,消息符號在主符號對中被嵌入。這是上述嵌入方法的二維版本。在這個編碼模式中,符號對(xa,xb)的二維符號空間被用5個顏色「染色」。點陣(grid)上的每個點表示一個符號對,並具有不同於其相鄰的顏色。顏色被編號為0...4,並且每個顏色代表一個消息符號w∈{0,1,2,3,4}。以下的表IV示出(部分)二維點陣。
表IV解碼器恰好查看所接收符號對(ya,yb)的顏色。編碼器檢查(xa,xb)是否具有欲被嵌入的顏色w。如果不是,它改變符號對(xa,xb)以使被修改的對具有顏色w。例如,如果消息w=4欲在具有顏色3的主符號對(xa,xb)=(76,79)中被嵌入,則嵌入器將符號修改為具有顏色4的一對,例如對(ya,yb)=(75,78)。這個嵌入方案的參數為R=log2521.16,]]>D=1.0+4.15.2=0.4,]]>並且R/D≈2.90。
相應的(R,D)對被示出為圖4中表示為40的◇標記(為方便起見,邊界2以及LSB參數21和22亦在此圖中被示出)。
將理解,二維嵌入方案可被擴展到較多維。例如,在三維點陣中,每個點不能只被「移動」到相同層中的四個相鄰,亦應被向上或向下移動。在這個方案中,七個顏色即七個消息符號是可用的。
類似於上述LSB調製和三進位調製方法,二維方法亦可藉助5進位漢明或戈萊碼來編碼。對於給定數量m的奇偶校驗檢查,獲得了(5m-1)/4個5進位符號的碼長度。該編碼方案處理(5m-1)/2個符號。其參數為R=2mlog255m-1,]]>並且D=25m.]]>兩個這樣的(R,D)對在圖4中由□標記示出並被表示為41(m=2)和42(m=3)。
本發明可被總結如下。信息信號如灰度級圖像或音頻信號被表示為PCM信號採樣的序列。為在信號中嵌入輔助數據,採樣被輕微失真。有所謂的「速率失真函數」(20),其給出給定某一失真水平D的最大嵌入速率R。表明現有技術嵌入方案如LSB替換(21,22)的效率可被提高。本發明公開了這樣的嵌入方案(23,24)。依照本發明,信號被分為L(L>1)個信號採樣(x)的組。對於每組信號採樣,信號採樣的最低有效部分(x mod n)的矢量被生成。對於n=2,該矢量包括每個信號採樣的最低有效位。所述矢量的校正子(如在誤差檢測和校正領域所定義的)表示所嵌入的數據。一組的僅一個(或幾個,在任何情況下都小於L)信號採樣需要被修改以實現矢量為所需校正子值。
權利要求
1.一種通過依照輔助數據符號修改所選信號採樣的最低有效部分在由信號採樣流表示的信息信號中嵌入輔助數據方法,該方法包括步驟-將所述流分為信號採樣的組,-對於每組信號採樣,形成表示信號採樣所述最低有效部分的符號的矢量,-修改一組信號採樣以使相應的矢量滿足給定的校正子約束,所述矢量的校正子表示一個或多個輔助數據符號。
2.權利要求1的方法,其中表示信號採樣最低有效部分的所述符號為x mod n值,其中x為信號採樣,n為整數,而mod表示x被n除之後的餘數。
3.權利要求1的方法,其中表示信號採樣最低有效部分的所述符號為被分配給較多維空間中信號採樣組合的符號,不同的符號被分配給在所述空間中彼此為相鄰的組合。
4.權利要求1的方法,其中所述矢量的校正子通過用給定矩陣乘以所述矢量來確定。
5.一種用於在由信號採樣流表示的信息信號中嵌入輔助數據的裝置,包括用於依照輔助數據符號修改所選信號採樣的最低有效部分的裝置(12),所述修改裝置被安排以-將所述流分為信號採樣的組,-對於每組信號採樣,形成表示信號採樣所述最低有效部分的符號的矢量,-修改一組信號採樣以使相應的矢量滿足給定的校正子約束,所述矢量的校正子表示一個或多個輔助數據符號。
6.一種通過依照輔助數據符號修改所選信號採樣的最低有效部分而檢測被嵌入在由信號採樣流表示的信息信號中的輔助數據的方法,該方法包括步驟-將所述流分為信號採樣的組,-對於每組信號採樣,形成表示信號採樣所述最低有效部分的符號的矢量,-確定所述矢量的校正子,所述校正子表示一個或多個輔助數據符號。
7.權利要求6的方法,其中表示信號採樣最低有效部分的所述符號為x mod n值,其中x為信號採樣,n為整數,而mod表示x被n除之後的餘數。
8.權利要求6的方法,其中表示信號採樣最低有效部分的所述符號為被分配給較多維空間中信號採樣組合的符號,不同的符號被分配給在所述空間中彼此為相鄰的組合。
9.權利要求6的方法,其中確定矢量校正子的所述步驟包括用給定矩陣乘以所述矢量。
10.一種通過通過依照輔助數據符號修改所選信號採樣的最低有效部分而檢測在由信號採樣流表示的信息信號中被嵌入的輔助數據的裝置(14),該裝置包括被安排以進行以下的裝置-將所述流分為信號採樣的組,-對於每組信號採樣,形成表示信號採樣所述最低有效部分的符號的矢量,-確定所述矢量的校正子,所述校正子表示一個或多個輔助數據符號。
全文摘要
信息信號如灰度級圖像或音頻信號被表示為PCM信號採樣的序列。為在信號的最低有效位中嵌入輔助數據,採樣被輕微失真。有所謂的「速率失真函數」(20),其給出給定某一失真水平D的最大嵌入速率R。表明現有技術嵌入方案如LSB替換(21,22)的效率可被提高。本發明公開了這樣的嵌入方案(23,24)。依照本發明,信號被分為L(L>1)個信號採樣(x)的組。對於每組信號採樣,信號採樣的最低有效部分(xmod n)的矢量被生成。對於n=2,該矢量包括每個信號採樣的最低有效位。所述矢量的校正子(如在誤差檢測和校正領域所定義的)表示所嵌入的數據。一組的僅一個(或幾個,在任何情況下小於L)信號採樣需要被修改以實現矢量為所需校正子值。
文檔編號G11B20/18GK1462443SQ02801656
公開日2003年12月17日 申請日期2002年5月15日 優先權日2001年5月15日
發明者M·E·范迪克, F·M·J·維勒姆斯 申請人:皇家菲利浦電子有限公司