用於特殊定標和任意移動的水印檢測方法及裝置的製作方法
2023-09-22 05:18:40 2
專利名稱:用於特殊定標和任意移動的水印檢測方法及裝置的製作方法
技術領域:
本發明涉及信息加密技術領域。本發明尤其涉及數字水印檢則方法和裝置。
相關技術描述近來發展的數據壓縮技術、大容量存儲器介質、網際網路、以及其它高帶寬分配信道之間的協同互動,已經使數字媒體(digital media)幾乎無所不在。從這些發展的角度看,用於控制這種媒體的著作權和/或所有權的分配、複製及識別的技術日漸重要並且與商業密切關聯。首先是由於數字媒體本身的特性的原因,該介質中的版權的有效實施尤其是一個複雜的問題。除非採取防範措施,數字數據將可容易及完美地再現,而不損耗其逼真度。
所謂的"數字水印標記"近來已經獲得關注,作為在作品,例如圖像的數字媒體開發商的工廠中一個制止數字媒體的剽竊或未授權分配或再生的可能武器。通常,水印是一個信息、符號或任何有特色的標記,直接加到該視頻信號,其目的是標識該複製是否為一個授權複製、圖像內容的作者、經銷商、所有者或類似信息。通常把該特色信息、符號或標記添加到數字介質的添加處理稱作嵌入處理。數字水印標記最好嵌入在數字介質(伴音、靜止圖象或視頻圖像)中,以便其不為觀眾(例如看電影的人)所見,並可由適當的檢測系統可靠地檢測。通常,可見性及可探測性是直接彼此相關的越可見的一個水印,其越可靠地被檢測。相反地,一個很好隱蔽的水印可能難於可靠地檢測到。因此,通常必須獲得在可見性及可探測性之間的一個可以接受的折衷。
已經建議了幾種在一個數據流中嵌入水印的方法。在例如一個視頻數據流的情況下,每一圖像幀可以被分成給定尺寸的數據塊的格構。因此每一數據塊包括一個圖象元素的矩陣(下稱像素),具有與例如亮度、色度等相關的幾個特性。可對於每一數據塊執行變換。例如,對於視頻數據流的每一幀的每一數據塊的每一像素可以執行離散餘弦變換(後稱DCT)、離散傅立葉變換(後稱DFT)或其它變換。這種變換產生與視頻數據流的頻譜內容相關的信息。一旦獲得這些信息,就可以通過估算及有選擇地修改像素變換數據塊的係數並隨後應用反變換而把一個水印或水印的一部分嵌入在一個或者多個數據塊中。例如,可以把水印或水印的一部分作為直接幹擾而嵌入在單一或多個數據塊的係數中。例如,通過有選擇地擾亂變換數據塊的像素並隨後應用一個反變換,水印能以低可見性嵌入。因為人的視覺和聽覺系統不能迅速區分頻譜內容中的細微變化,因而有可能使得一個給定頻率的視頻信息掩蔽相同或相鄰頻率的水印數據。
水印視頻數據流經常被定標以便適應不同格式。例如,電影屏幕通常具有近似16∶9的寬高比,電影屏幕中是大約16單位長和9單位寬。另一方面,電視屏幕具有4∶3寬高比。因此,針對一個格式定標的圖像必須經常被定標以便到另一格式。圖像可以水平定標和/垂直定標。
圖1示出對加水印的視頻數據的一個數據塊進行定標的例如。如圖1所示,例如,視頻數據的加水印的數據塊的一個16×16像素可以應用在DVD中,例如通過所謂的全景與掃描(Pan and Scan)定標的4/3因數的水平定標。則該定標的加水印的數據塊具有16像素的垂直測定尺度和一個非整數的16*4/3,即64/3的水平測定尺度。
圖像經常被修剪和移動,針對如上討論的相同的原因或針對完全不同的原因,例如與數字壓縮技術和/或該視頻數據流的未授權操作相關聯的原因。例如,一個加水印的數據塊可能不是起始於第一視頻數據塊的原點,例如由於丟失了一個或多個行或列。這種定標、修剪和移動使得水印的檢測更複雜。一個給定的視頻數據流確實可能已經經歷了某種形式的定標和移動,但是可能不知道所使用的確切定標及水印數據塊的移動量。然而,需要可靠地檢測該嵌入水印的狀態。
因此,所需要的是檢測嵌入在視頻數據流中的水印的裝置和方法,其視頻數據流已經經歷了在預定和有限數目的公知定標當中的某一種未知定標操作。還需要檢測在已經經過任意移動操作的視頻數據流中的水印的裝置和方法。還需要檢測在已經由未知標度因數定標及已經移動了未知數目像素的視頻數據流中的水印的裝置和方法。還需要的可靠地確定一個加水印的視頻數據流的定標及移動的裝置和方法。
發明概要因此,本發明的一個目的是提供檢測嵌入在視頻數據流中的水印的裝置和方法,其視頻數據流已經經歷了在預定和有限數目的公知定標當中的某一種未知定標操作。本發明的另一目的是提供檢測在已經經過任意移動操作的視頻數據流中的水印的裝置和方法。本發明的再一個目的是提供檢測在已經由未知標度因數定標及已經移動了未知數目像素的視頻數據流中的水印的裝置和方法。根據上述目標及下面將要描述而成為顯見的目標,根據本發明的實施例的檢測在加水印的視頻數據流中的水印的方法,該水印已經由預定有限的標度數目當中的一種未知標度所定標,針對該標度的預定的數目的每一個,本方法包括步驟把視頻數據流劃分成多個相等尺寸的定標水印數據塊;把該多個定標的水印數據塊讀出成為多個讀出數據塊;把該多個讀出數據塊的每一個累加到預定的數量的讀出數據塊收集器之一;重新定標該累加的讀出數據塊的每一個,並且把該重新定標的累加讀出數據塊組合成單一的視頻累加數據塊;及在該視頻累加數據塊中估算一個預定量。
根據另外一些實施例,該讀出數據塊收集器的預定的數量可以由該定標的預定的數量的每一個確定。該定標的水印數據塊的尺寸可以是N*(IH/JH)×N*(IV/JV),其中原始水印具有的尺寸是N×N,其中(IH/JH)和(IV/JV)分別是水平及垂直定標被定標的部分,並且讀出數據塊收集器的預定的數量可以是用於每一水平定標的IH及用於每一垂直定標的IV。該讀出步驟可以讀出針對預定數目的定標的每一個的相同大小的讀出數據塊。該估算步驟可以包括步驟把對應於預定數目的定標的每一個的視頻累加數據塊變換到一頻域。該變換步驟可以包括步驟把DCT應用到對應於預定數目的定標的每一個的視頻累加數據塊。該預定量可以包括例如該DCT的功率,並且該估算步驟可以包括一個選擇具有最大功率的DCT的一個步驟,該具有最大功率的OCT指示在該預定數目的定標當中的該水印的一個正確定標及在該水印數據塊中的該水印的一個正確移動。
本發明還考慮為一種處理定標的已加水印的視頻數據流的方法,包括步驟從在相等尺寸的讀出數據塊中的視頻數據流讀出加水印的數據塊;把連續讀出的數據塊周期地分配到預定數目的讀出收集器之一;在讀出收集器的每一個中累加該讀出的數據塊;重新定標該累加的讀出數據塊並且組合成一個視頻累加數據塊;及至少在該視頻累加數據塊中檢測一個水印的出現。
該讀出收集器的預定的數量可以與應用到該水印數據塊的標度相關。應用到該水印數據塊的該標度可以表示為I/J,其中I及J是相關素數,該分配步驟可以周期地把該讀出數據塊分配到I讀出收集器。針對格式In/Jn的視頻定標的一個預定的數量n的每一視頻定標,該分配步驟可以在預定的數量的讀出收集器當中把每第1n個讀出數據塊分配在同一個讀出收集器中,其中In及Jn是相關素數。讀出收集器的預定數目可以是In。該檢測步驟可以包括步驟把DFT或DCT應用到該視頻累加數據塊。該讀出收集器可以是在一個存儲裝置之內的存儲空間,並且該分配步驟可以包括步驟在該存儲空間中存儲或累加該連續讀出的數據塊。與在該視頻數據流中的該水印數據塊的起始相關,該讀出收集器每一個可以對應於讀出數據塊的起始的一致的像素偏移。該檢測步驟可以包括步驟檢測在該水印數據塊中的該水印的移動。該讀出、分配、累加、重新定標和組合、以及檢測步驟可以針對預定數目的定標的每一可能的定標執行。還可以執行選擇該檢測步驟的一個結果的步驟,該結果指示在該水印數據塊中的該水印的一個正確定標和移動。
根據本發明的另一最佳實施例是檢測在一個已加水印的視頻數據流中的一個水印的水印檢測裝置,該水印已由預定數目的定標當中的一種未知標度所定標,該水印檢測裝置包括用於從視頻數據流中提取多個相等尺寸的定標水印盛開塊的裝置;用於將多個定標的水印塊讀成為多個讀出的數據塊的裝置;用於將多個讀出的數據塊的每一個累加到預定數目讀出數據塊收集器;
用於重新定標該累加的讀出數據塊的每一個,並將重新定標的累加讀出數據塊組合成單一的視頻累加數據塊的裝置;和用於估算在對應於預定數目的定標的每一個的視頻累加數據塊中的預定量的裝置。
本發明的另一個實施例是處理一個已加水印的視頻數據流的方法,包括步驟當以除法操作計算其中分配該視頻數據流的若干部分的收集器的數目時使用一個分數餘項;和把該視頻數據流的所選部分分配在收集器的計算數目的所選那些中。
該視頻數據流的若干部分可以包括水印數據塊。該使用步驟可以把該分數餘項操作應用到該已加水印的視頻數據流的多個可能的標度的每一個。該收集器可以包括一個存儲裝置的存儲空間。
附圖的簡要描述為了進一步理解本發明的目的和優點,現結合附圖詳細描述本發明,其中圖1是一個示意圖,表示通過4/3的水平定標由一個16×16的加水印的視頻像素數據塊產生一個16×64/3的加水印的視頻像素數據塊。
圖2是說明根據本發明的方法的一個實施例的若干方面的方框圖,使用由水平因數4/3定標的一個16×16的加水印的數據塊的一個實例。
圖3是說明根據本發明的方法的一個實施例的視頻累加的方框圖,使用由水平因數4/3定標的一個16×16的加水印的數據塊的一個說明實例。
圖4是說明本發明其它方面的一個方框圖,包括重新定標該累加的數據塊並且把那累加的數據塊與在該水印檢測之前的一個移動組合的步驟,使用由4/3的水平定標的16×16加水印的數據塊的說明實例。
圖5是一個示意圖,表示由x標度的水平定標及y標度的垂直定標而對視頻像素的N×N加水印的數據塊進行定標,產生視頻像素的一個N*x標度×N*y標度的加水印的數據塊。
圖6是說明根據本發明的檢測水印方法的一個實施例的若干方面的方框圖,使用由x標度的水平因數定標的N×N水印數據塊的說明實例。
圖7是說明根據本發明一個實施例的視頻累加的方框圖,使用由x標度的水平因數定標的N×N水印數據塊的說明實例。
圖8是說明本發明其它方面的一個方框圖,包括重新定標一個累加的數據塊並且把那累加的數據塊與在一個水印檢測之前的一個移動組合的步驟,使用由x標度的水平因數定標的N×N加水印的數據塊的說明實例。
圖9是用於三公知定標的一個本發明的實施例的流程圖。
最佳實施例的描述本發明使用一個視頻累加過程以便實現在經歷未知定標和/或任意象素移動的嵌入水印的視頻數據流中的水印的檢測(並隨後解密該水印有效負荷)。在本發明的描述中,術語水印在定義上包括任何有意地隱蔽信息、符號或其它人為造物的表示,其傳遞某些信息,例如所有權或作者的身份的標記,並且被設計為實質上不可見地隱藏到該數據流中。為了檢測在嵌入水印的視頻數據流中的水印,要求從數據流讀出視頻數據的數據塊,單獨或共同地估計一個或多個水印的存在或不存在。然而,由於應用到該數據流的定標是未知的,所以讀出數據塊的適當尺寸也是未知的。本發明要解決此問題,根據本發明的一個實施例,讀出並且處理足夠尺寸的數據塊中的視頻數據流以便適應由最大共同使用的標度定標的水印數據塊。此過程可以串行或並行地執行在針對各種不同定標執行了根據本發明的加水印的視頻處理方法之後,如果存在水印,將在該正確的移動和正確的標度顯著的最強值,該正確的定標是應用到該視頻數據流中的水印的定標。
理論上說該標度的數目是沒有限制的,並且本發明對由任何水平和/或垂直維數的定標因數所定標的視頻數據流中的檢測水印有效,假定有足夠的時間和/或處理能力。然而在實踐中僅有不多的標度常用,因為僅有不多視頻格式被支持。這使得本發明大大地減少為了以準確和可靠的方式檢測嵌入在視頻數據流中的水印而必須估計的不同標度的數量。但是應該理解,本發明並不局限於當前使用的特定標度測定尺度或任何特定數目。
僅是為了說明的目的,圖2假定嵌入水印的原始圖像具有16×16像素的一個數據塊尺寸,並且假定已經對其執行了4/3的水平定標(當前使用的公知定標之一)。因此,原始的16×16加水印的數據塊經歷了4/3的水平定標,產生可能重疊但尺寸相等的加水印的數據塊,標記為WB1-5,具有垂直方向的16像素和水平向中的16*4/3像素(64/3像素,即大約21.3像素)。因此,定標和嵌入水印的視頻信號的每一圖像幀被分成多個16×64/3的數據塊。為了檢測在定標視頻數據流中的水印,需要讀出該數據塊,包括WB1-5以及沒在圖2中示出的隨後的數據塊。但是,不可能讀出21.3個像素。因此,根據本發明,選擇16×22的讀出數據塊尺寸,如圖中所示的讀出數據塊RB1、RB2、RB3、RB4和RB5。為了保持與原始的16×16水印尺寸的一致性,該16×22的讀出數據塊RB1至RB5(以及圖2沒示出的隨後讀出的數據塊)的開始的每16個像素。因此,該讀出數據塊RB1至RB5(以及圖2沒示出的隨後讀出的數據塊)彼此重疊。為了清楚起見,重疊讀出的數據塊RB1至RB5在不同行上示出。如圖2所示,第一讀出數據塊RB1的始端與第一定標水印數據塊WB1的始端校準,並且其檢驗的與WB1相關的偏移OB1是零。第二讀出數據塊RB2該始端從WB1的始端的16個像素開始,因此相關與WB1的偏移是一個相應的非零偏移OB2。根據本發明,相應的偏移OB1、OB2…OBn是由64/3除的分數餘項,其中n=0、1、2、3…,並且其中的64/3是該定標的水印數據塊WB1、WB2、WB3…的水平尺度。換個說法,該相應的水平偏移OB1、OB2、…OBn(相關該水印數據塊的起始的讀出數據塊的起始的偏移)是通過估算表示式(K*N)/(N*I/J)=K/(I/J)得出的,其中此實例中的N=16,K周期地等於(0,1,2,…I-1),並且其中"*"表示乘法操作。
因此,如圖2所示,在4/3定標情況下,相應的偏移OB1是零,因為0*16由16*4/3相除的分數餘項是零。通過針對K=0和I/J=4/3估算表示式K/(I/J)的分數餘項而獲得相同的結果。相應的偏移OB2等於1*16由(16*4/3)或3/4除的分數餘項。因此,從RB1始端16像素讀出數據塊RB2並且相關WB1的始端偏移該定標水印數據塊WB1的水平尺度的3/4。同樣,該相應的偏移OB3等於2*16由(16*4/3)或1/2除的分數餘項。通過其中K=2和(I/J)=4/3估算表示式K/(I/J)的分數餘項而獲得相同的結果。因此,從RB2始端16像素讀出數據塊RB3並且相關WB2的始端偏移該定標水印數據塊WB2的水平尺度的1/2。同樣地,該相應的偏移OB4等於3*16由(16*4/3)或1/4除的分數餘項。因此,從RB3始端16像素讀出數據塊RB4並且相關WB3的始端偏移該定標水印數據塊WB3的水平尺度的1/4。通過其中K=3和I/J=4/3估算表示式K/(I/J)的分數餘項而獲得相同的結果。
從定標水印數據塊開始的偏移、及因此顯示這些偏移的定標水印數據塊的水平尺度的分數部分則以如下的周期方式重複。因為是第一讀出數據塊RB1的偏移,相應的偏移OB5再一次是零,因為0*16由(16*4/3)除的分數餘項是零。因此,來自RB4的RB5始端16像素與WB4始端校準。類似地,相應的偏移OB6(沒示出)能被示出等於3/4,相應的偏移OB7(沒示出)能被示出等於1/2,相應的偏移OB8(沒示出)能被示出等於1/4,及相應的偏移OB9(沒示出)能被示出是校準的,再一次利用下一個水印數據塊WB9(沒示出)。相應的偏移OB6、RB7、RB8及OB9分別地表示該定標水印數據塊的水平尺度的3/4、1/2、1/4及0的分數部分。因此,能看出RB1、RB5、RB9、RB13及每隨後第四讀出的數據塊將具有零偏移。類似地,能看出RB2、RB6、RB10及每隨後第四讀出的數據塊將相關該水印數據塊的水平長度具有一個3/4的偏移,如圖2所示。同樣地,RB3、RB7、RB11及每隨後第四讀出的數據塊將相關該水印數據塊的水平長度具有一個1/2的偏移,而RB4、RB8、RB12及每隨後第四讀出的數據塊將相關該水印數據塊的水平長度具有一個1/4的偏移。
因此,圖2的讀出數據塊RB1、RB2、RB3可以根據相應偏移幅值OB1、OB2、OB3…的有限數目而被分類。在4/3的水平定標的情況下,僅存在四個不同分數餘項,分別對應於0、3/4、1/2及1/4的水印數據塊的水平長度部分。因此讀出數據塊RB1、RB2、RB3…可以組織成四個偏移一致的16×22的讀出數據塊收集器,即存儲空間,每一收集器對應於可能偏移之一,如圖3所示。根據本發明,每一圖像幀被切割,逐個數據塊讀出,每一讀出的數據塊加到在對應於適當的偏移的特定的讀出數據塊收集器中的具有相同偏移的在前數據塊。該視頻累加到對應於計算的偏移的特定收集器,不受在水印和該第一讀出數據塊之間的任何初始移動的影響。
根據圖3示出的實例,具有零偏移的讀出數據塊可以累加在讀出收集器1中,相對於定標水印數據塊的水平尺度具有3/4偏移的讀出數據塊可以累加在讀出收集器2中,相對於定標水印數據塊的水平尺度具有1/2偏移的讀出數據塊可以累加在讀出收集器3中,而相對於定標水印數據塊的水平尺度具有1/4偏移的讀出數據塊可以累加在讀出收集器4中。根據本發明,每一讀出累加數據塊具有一致的偏移。因此,分數餘項操作可以用於累加具有相同偏移的讀出數據塊。在4/3定標情況下,如圖2所示,該讀出數據塊被周期地分配到4個分別的收集器中。
每一收集器可以對應於一個計算裝置的預定存儲空間,而該值對應於可以存儲在該預定存儲空間中的像素的一個或者多個所選特性。例如,讀出數據塊的像素的亮度值可以選擇作為用於在讀出數據塊收集器中累加的所選特性。在該累加(即相加)過程中,對應於在每一收集器中的每一累加數據塊的像素的所選一個或幾個像素特性被彼此相加。因為與水印信號比較,視頻信號通常是一個比較不相關的信號,所以該水印的強度將隨著該讀出數據塊的累加而被強化,而視頻信號本身將傾向為平均灰色電平。
對標準進行的篩選也可以放置在該處理級,以便實現有選擇的數據塊處理。這種有選擇的數據塊處理將實現僅累加已經通過一個給定判據的那些讀出數據塊。根據一個這種有選擇的數據塊處理方法,在水印嵌入處理過程中,用於檢測該水印的判據與採用來確定其中要嵌入水印的數據塊的判據匹配。這樣一個有選擇的數據塊處理方法使得水印的可見性有益地被減少而不影響在檢測期間該水印信號的視在強度。這種用於選擇性數據塊處理的方法和裝置公開在K.Kurowski的未決的和共同受讓的美國專利申請(申請號09/xxx,xxx,提交於1998的x月x日)中,其公開內容完全援引在這裡。
當在讀出數據塊收集器的每一個中已經累加了大量讀出數據塊時,該累加的讀出數據塊可以被重新定標、針對不同的偏移調整、組合成單一數據塊並且定標和移動檢測的水印。隨後,可以估計該檢測水印的結構,例如解密它的隱藏信息。如圖4所示,讀出數據塊目前被組織成四個讀出數據塊收集器,每一收集器接收並且累加具有相同偏移的讀出數據塊。讀出數據塊收集器1至4的每一個由3/4重新定標(原來的4/3定標的倒數),以便產生重新定標的16×16像素讀出數據塊410、420、430和440。16×16像素重新定標的讀出數據塊410、420、430和440的每一個被隨即通過移動組合成單一重新定標的16×16視頻累加數據塊450。對應於重新定標讀出數據塊410、420、430和440的每一個的一個或多個所選特性被相加在一起,以便形式單一的重新定標16×16視頻累加數據塊450。
根據本發明的上述過程最好針對每一考慮的定標而並行執行。本發明實現了對於在由一種未知標度因數定標的視頻數據流中的水印的檢測。然而通常知道的是哪個定標常用於視頻。那些常用定標構成一有限已知定標系。因此按照上述方式對照這些共同使用定標的每一個的視頻數據流的測試不是十分麻煩。根據本發明,對照通常使用定標的每一個對視頻數據流的測試將產生針對所考慮定標的每一個的單一重新定標視頻累加數據塊。一個檢測算法則可以對於每一個重新定標的視頻累加數據塊運行,例如對圖4的重新定標16×16視頻累加數據塊450運行。
但是本發明不局限於任何特定類型的檢測算法。例如,該檢測算法可以把視頻累加數據塊的每一個從空間變換到頻域,以便檢測該水印並且確定加到該水印數據塊的定標及移動。例如,可以針對重新定標16×16累加數據塊450的每一個計算二維(2-D)DCT。在此情況中,必須針對每一16×16累加數據塊450執行256(16*16)DCT,一個DCT用於在該數據塊450中水印的每一可能偏移。確實,由於裁剪、壓縮算法和/或其它數字操作的原因引發的行和/或列的可能損耗,該水印數據塊可能不在該視頻累加數據塊450的起始原點開始,而是可以在其中移動一個未知的像素數。針對該原因,需要對於該數據塊450的16×16的每一個計算256個DCT,在視頻累加數據塊450的每一個之內的不同原點像素開始該256個DCT的每一計算。以此方式,如果考慮三個定標,則獲得三個不同的16×16累加視頻數據塊450。針對這些視頻累加數據塊450的每一個,必須執行256個DCT,總數為768個DCT。假設讀出數據塊的相同數目被累加在用於每一考慮定標的讀數據塊收集器的每一個中,則該水印將最可能在具有最大DCT功率的重新定標視頻累加數據塊450中顯示自身的最強值。因此,在768個如此的DCT當中具有最大功率的DCT將同時地指示在該水印數據塊中哪個定標被使用及移動該水印。確實,具有最大功率的DCT將出現在對應於正確定標的圖像累加數據塊450中,並且出現在該數據塊450中對應於正確移動的位置。這是因為當在時間及空間上考慮時(足夠的數目或讀出數據塊),該視頻信號通常是一個大範圍的穩定信號。另一方面,水印信號可以是一個不變(雖然弱)的信號,隱蔽在該視頻數據流中。因此,累加之後的水印信號將被強化,然而不相關的視頻信號將被去加重,例如本身顯示為一個灰色圖像。因此,通過標識具有展現最大的功率的DCT的該重新定標累加視頻數據塊450,檢測該水印以及正確定標和移動。
本發明不局限於具有16像素×16像素的規模的視頻累加數據塊450。可以使用更小或更大的數據塊尺寸,更大的數據塊尺寸將導致更高效的編碼,但是增加該變換的計算複雜性。
為了說明的目的,將上述的公開內容應用到一個16×22像素讀出數據塊和具有4/3的水平定標的一個水印數據塊的具體情況中。但是,根據本發明的方法可以容易地適用任何尺度的水印數據塊,定標到任何標度及在該水印數據塊中移動任何像素數目。確實,假設x標度被一個可能水平定標並且假設y標度是一個可能垂直定標(本發明可等同地應用到垂直和/或水平定標),則x標度可以表示為IH/JH,而y標度可以表示為IV/JV,其中(IH,JH)是相關素數的數目,並且其中(IV,JV)也是相關素數數目。如果水印數據塊的原始大小被假定是N×N像素尺寸,則意味著水印數據塊水平方向具有N像素並且垂直方向具有N像素,則該定標的水印數據塊將具有如圖5所示的(N*x標度)×(N*y標度)的維數,其表示與(N*IH/JH)×(N*IV/JV)等效。為了簡單起見,下面描述將闡明一般的情況,其中該水印數據塊僅在水平方向定標,不言而喻,本發明可容易地應用到垂直方向的定標或水平和垂直方向都定標的情況。
為了確保整個水印數據塊可以包含在該讀出數據塊中,根據本發明的讀出數據塊最好具有N×int(N*x標度+1)的規模,其中"int"是數學的取整函數。因此,僅考慮水平定標,該讀出數據塊尺寸或量可以是N×int((N*IH/JH)+1)。每一連續讀出的數據塊的起始最好以相對於在先讀出數據塊的開始遞增N像素。然而,該讀出數據塊的水平起始相對於該水印數據塊最好是(移動+K*N)由(N*IH/JH)除的零餘項。這與((移動/N)*JH/IH+K*JH/IH))的分數餘項相等,其中該移動表示在讀出數據塊中的始端或原點,K是周期地等於(0,1,2,…IH-1)。如果JH和IH是相關素數,由於JH是一個整數,則該餘項的周期長度將精確地為IH,因為當表示式((移動/N)*JH/IH)相除時的分數餘項等於((移動/N)*JH/IH+IH*JH/IH)的分數餘項。因此,IH讀出數據塊收集器足以累計該N×int(N*IH/JH+1)尺寸的讀出數據塊,以使累加在每一收集器中的水印數據塊具有相同的偏移。
該讀出數據塊最好是足夠大,以便確保該定標的水印被充分包含在其中,用於任何所考慮的定標。雖然當該IH讀出收集器充分大以適應全部的定標水印時將獲得最佳結果(最可靠的檢測),但是也可以使用較小的讀出數據塊。因此,讀出數據塊的最大優選尺寸,在僅考慮垂直定標的情況中可以是int(N*max y標度+1)×N,在僅考慮水平標的情況中可以是int(N*maxx標度+1)×N,或在既考慮垂直又考慮水平標的情況中可以是int(N*max y標度+1)×int(N*maxX標度+1),其中max X標度和max y標度分別地是考慮x和y方向的條件下的最大尺寸的定標。
如圖6所示,該視頻數據流被分成n個水印數據塊,標號WB1至WBn。在水平定標的情況下,水印數據塊具有的維數是N×N*x標度或N×N*IH/JH。讀出數據塊RB1至RBn具有維數是N×int(N*x標度+1),以確保整個水印數據塊將被讀出,直到所考慮的最大尺寸的定標水印。讀出數據塊RB1至RBn彼此相對地偏移N個像素,並且相對於它們的對應水印數據塊WB1至WBn偏移了該K*N由(N*x標度)所除的分數餘項,其中K是周期地等於(0,1,2,…IH-1)。例如,在相關圖2討論的水平情況中,K是周期地等於0,1,2,3,0,1,2,3,0…。因此如圖6所示,RB1與WB1校準並且該相對偏移OB1是K*N由(N*x標度)所除的分數餘項,其中K=0。RB2從WB1偏移了該K*N由(N*x標度)所除的分數餘項,其中K=1。以相同的方式,隨後的讀出數據塊的起始從該水印數據塊的開始偏移,直到K等於IH-1為止,於是K周期回到0,用於下一個讀出數據塊。
現在返回到其中考慮的定標是一個IH/JH的水平定標的實例,使用上述的分數餘項操作,讀出的數據塊可以根據它們相對於水印數據塊的偏移而被有益地組織,其中僅存在有限數目IH這種偏移的。如圖7所示,該讀出數據塊可以組織成IH單獨的收集器,例如每一個可以是一個計算裝置的不同的存儲空間,並且對應於該讀出數據塊的水平起始的該IH偏移之一的每一個收集器與該水印數據塊的水平起始相關,例如與當前水平定標連續。對應於該像素一個或者多個所選特性的值可以存儲在該IH讀出數據塊收集器中。例如,讀出數據塊的像素的亮度值可以選擇作為用於在讀出數據塊收集器中累加的所選特性。在該累加(即相加)過程中,對應於在每一IH讀出數據塊收集器中的每一累加數據塊的像素的所選一個或幾個像素特性將被彼此相加。因為與水印信號比較,視頻信號通常是一個比較不相關的信號,所以該水印的強度將隨著該讀出數據塊的累加而被強化,而視頻信號本身將傾向為平均灰度定標。
需要被累加在每一個IH讀出數據塊收集器中的若干讀出數據塊在執行一個檢測算法之前將根據在該視頻數據流中的嵌入水印信號的強度而改變。要指出,可以通過明智地選擇將要嵌入一個水印的數據塊而降低水印的強度,例如使用上述引用的Kurowski的專利申請提出的選擇數據塊處理方法。
如圖8所示,讀出數據塊目前被組織成IH個讀出數據塊收集器,每一收集器接收並且累加具有相同偏移的讀出數據塊。讀出數據塊收集器的每一個由JH/IH重新定標(原來的IH/JH定標的倒數),以便產生重新定標的N×N像素讀出數據塊810、820、830…840。使用例如一維仿射變換,N×N像素重新定標的讀出數據塊810、820、830…840的每一個被隨即針對偏移作調整,並且組合成單一重新定標的N×N視頻累加數據塊850。例如通過使用重新取樣內插濾波器的線性映射,對應於重新定標讀出數據塊810、820、830…840的每一個的像素的所選一個或多個特性被組合在一起,以便形式單一的重新定標N×N視頻累加數據塊850。
根據本發明,上述過程針對每一考慮的定標重複,得出針對每一所考慮定標的單一N×N視頻累加數據塊850。本發明實現了對於在由一種未知標度因數定標的視頻數據流中的水印的檢測。然而通常知道的是哪個定標常用於視頻。那些常用定標構成一有限已知定標系。因此按照上述方式對照這些共同使用定標的每一個的視頻數據流的測試不是十分麻煩。因此,根據本發明,對照通常使用定標的每一個對視頻數據流的測試將產生針對所考慮定標的每一個的單一重新定標視頻累加數據塊850。現在可以對圖8的重新定標的N×視頻累加數據塊850的每一個運行一個檢測算法。但是本發明不局限於任何特定類型的檢測算法。例如,可以在該檢測算法中使用DCT或DFT,以便檢測水印並且確定可能已經被加到水印數據塊中的水印的定標和任何移動。
例如,可以針對重新定標N×N累加數據塊850的每一個計算二維(2-D)DCT。在此情況中,必須針對每一N×N累加數據塊850執行N*N單獨的DCT,一個DCT用於在該視頻累加數據塊850中水印的每一個可能的偏移。確實,由於裁剪、壓縮算法和/或其它數字操作的原因引發的行和/或列的可能損耗,該水印數據塊可能不在該視頻累加數據塊850的起始原點開始,而是可以在其中移動一個未知的像素數。針對該原因,本發明的使用DCT作為檢測機制的一個步驟的實施例中,需要對於N×N視頻累加數據塊850的每一個計算N*N DCT,在該N×N視頻累加數據塊850中的不同起始像素開始N*N DCT的每一個計算。
以此方式,如果考慮三個定標,則獲得三個不同的N×N累加視頻數據塊850。針對視頻累加數據塊850的每一個,可以執行N*N DCT,DCT計算的總數為3*N*N。假設讀出數據塊的相同數目被累加在用於每一考慮定標的讀出數據塊收集器的每一個中,則該水印將最可能在具有最大DCT功率的重新定標視頻累加數據塊850中顯示自身的最強值。因此,已經最大功率的DCT將同時指示出正確的定標,並且指示出在水印數據塊中的正確的水印移動,如果存在任何水印移動的話。確實,具有最大的功率的DCT將出現在對應於正確定標的圖像累加數據塊850中,並且出現在該數據塊850中對應於正確移動的位置。這是因為當在時間及空間上考慮時(足夠的數目或讀出數據塊),該視頻信號通常是一個均值灰度定標。另一方面,水印信號可以是一個不變(雖然弱)的信號,隱蔽在該視頻數據流中。因此,累加之後的水印信號將被強化,而不相關的視頻信號將被去加重,例如本身顯示為幹均值灰色定標的視頻信號。因此,通過標識具有展現最大的功率的DCT的該重新定標累加視頻數據塊850,檢測該水印以及正確定標和移動。
在一些例子中,可能存在幾個重新定標的累加視頻數據塊850具有超過不相關視頻信號的平均功率電平的、展現統計意義的DCT功率電平。那些重新定標的累加視頻數據塊850最可能對應於例如該正確定標的整倍數的定標,該正確定標是實際上加到該原始視頻數據流的定標。但是即使在此情況中,該展現最大DCT功率的重新定標累加視頻數據塊也將最可能帶有水印(如果存在水印的話),並且將指示該原始視頻數據流的定標。而且,具有該最大功率的原始像素將指示強加在水印數據塊中的水印上的移動。另外,如果所考慮的定標都沒有得到具有顯著高於視頻信號的幹均值的一個水印信號的重新定標的累加視頻數據塊850的話,則可能沒有水印嵌入在該視頻數據流中,和/或該視頻數據流可能被使用一個尚未考慮的標度所定標。
圖9示出根據本發明的一個實施例,用於檢測經歷未知的定標及任意移動的水印的方法。該方法以步驟S0開始。隨後,針對考慮的每一定標I/J執行若干步驟。在圖9示出的實例中,考慮三個定標;即I1/J1、I2/J2及I3/J3。本方法可擴展到許多定標,但受限於執行與視頻數據流的數據速率相關的本方法的設備的處理能力及速度。本方法最好實時執行,目的在於滿足該視頻數據流的一個充分的速率。
步驟S11至S16針對定標I1/J1執行;步驟S21至S26針對定標I2/J2執行而步驟S31至S36針對定標I3/J3執行。在步驟S11、S21及S31中,按照上述方式把水印數據塊讀出成為相等尺寸的讀出數據塊,並且分別分配到I1、I2及I3讀出收集器中。在步驟S12、S22及S32中,在分別的讀出收集器的每一個中的水印數據塊被按照它們被分配在其中的情況累加。因為此操作僅需相加該讀出數據塊的結構像素的所選的一個或幾個特性,所以其很適合與該視頻數據流同步執行。在確定步驟S13、S23及S33根據某預定判據已經把足夠的讀出數據塊累加在讀出收集器的每一個之後,執行步驟S14、S24及S34,其中通過以J1/I1;J2/I2;及J3/I3分別地定標在該讀出收集器中累加的水印數據塊而產生重新定標的讀出數據塊,例如圖8中的重新定標讀出數據塊810至840。在步驟S15、S25及S35中,使用整數變換把該重新定標的讀出數據塊組合成圖8中示出的單一視頻累加數據塊850,以便針對例如圖9中考慮的三個定標的每一個而產生一個這種累加的視頻數據塊。在步驟S16、S26及S36中,針對由步驟S15、S25及S35產生的三個視頻累加數據塊的每一個執行一個檢測算法。
例如,該檢測算法可以使用例如,離散付立葉或餘弦變換把三個視頻累加數據塊從空間變換到頻域。在DCT的情況下,可以執行若干變換,一個變換針對該視頻累加數據塊中的每一像素。例如,如果該視頻累加數據塊是N×N尺寸,則執行數目等於N*N的這種DCT變換。在步驟S4中,比較運行步驟S16、S26及S36的結果並且所選最佳結果,如圖中步驟S5所示。例如,當步驟S16、S26及S36執行DCT時,所有的(3*N*N)個2-D DCT的功率被比較,並且具有最大功率的DCT將指示出在該水印數據塊之內所有的水印移動,並且指示出在該視頻數據流中的定標的水印定標在哪個標度。該方法在步驟S6結束。
雖然已經詳細描述了本發明的最佳實施例,但是應該理解為上面描述僅用於說明而不是對所公開的發明的限制。例如在不脫離本發明的範圍的情況下,可以有益地使用不同於在此處描述的具體的檢測方法。而且,讀出數據塊可以具有不同於在目前描述的應用中的尺寸。例如,不是把讀出數據塊累加在分別的讀出數據塊收集器中,而是在其中對讀出數據塊求平均值。本專業技術人員無疑將想到其它改進,並且所有的這種改進都被認為是在本發明的精神範圍中。因此,本發明僅由下面闡明的權利要求所限定。
權利要求
1.一種在加水印的視頻數據流中檢測水印的水印檢測方法,該水印已由預定數目的定標當中一種未知標度所定標,該水印檢測方法包括步驟把視頻數據流劃分成多個相等尺寸的定標水印數據塊;把該多個定標的水印數據塊讀出成為多個讀出數據塊;把該多個讀出數據塊的每一個累加到預定數目的讀出數據塊收集器之一;重新定標該累加的讀出數據塊的每一個,並把該重新定標的累加讀出數據塊組合成單一的視頻累加數據塊;並且估算在該視頻累加數據塊中的一個預定量。
2.權利要求1的方法,其中該讀出數據塊收集器的預定數目是由預定數目的定標的每一個確定的。
3.權利要求2的方法,其中該定標的水印數據塊的尺寸是N*(IH/JH)×N*(IV/JV),其中原始水印具有的尺寸是N×N,並且其中(IH/JH)和(IV/JV)分別是水平及垂直定標,並且其中讀出數據塊收集器的預定數目是針對每一水平定標的IH及針對每一垂直定標的IV。
4.權利要求1的方法,其中該讀出步驟讀出針對預定數目的定標的每一個的相同大小的數據塊。
5.權利要求1的方法,其中該估算步驟包括步驟把對應於預定數目的定標的每一個的視頻累加數據塊變換到頻域。
6.權利要求5的方法,其中該變換步驟包括步驟應用DCT到對應於預定數目的定標的每一個的視頻累加數據塊。
7.權利要求6的方法,其中該預定量包括該DCT的功率,並且其中該估算步驟可以包括一個選擇具有最大功率的DCT的步驟,該具有最大功率的DCT指示在該預定數目的定標當中的該水印的一個正確定標及在該水印數據塊中的該水印的一個正確移動。
8.一個處理定標的加水印視頻數據流的方法,包括步驟從在相等尺寸的讀出數據塊中的視頻數據流讀出加水印的數據塊;把連續讀出的數據塊周期地分配到預定數目的讀出收集器之一;在讀出收集器的每一個中累加該讀出的數據塊;重新定標該累加的讀出數據塊的每一個並且組合成一個視頻累加數據塊;和在該視頻累加數據塊中至少檢測一個水印的出現。
9.權利要求8的方法,其中讀出收集器的預定的數量與加到該水印數據塊的定標相關。
10.權利要求9的方法,其中加到該水印數據塊的定標是I/J,其中I及J是相關素數,和其中該分配步驟周期地把該讀出數據塊分配到I讀出收集器。
11.權利要求8的方法,其中針對格式In/Jn的視頻定標的預定的數量n的每一視頻定標,該分配步驟把在預定數目的讀出收集器當中每第In個讀出數據塊分配在同一個讀出收集器中,其中In及Jn是相關素數。
12.權利要求17的方法,其中讀出收集器的預定數目是In。
13.權利要求8的方法,其中該檢測步驟包括步驟把DFT和DCT之一應用到該視頻累加數據塊。
14.權利要求8的方法,其中該讀出收集器是在存儲裝置中的存儲空間,並且其中該分配步驟包括步驟在該存儲空間中存儲該連續的讀出數據塊,並且在該存儲空間中累加該連續讀出的數據塊。
15.權利要求8的方法,其中與在該視頻數據流中的該水印數據塊的起始相關,該讀出收集器每一個對應於讀出數據塊的起始的像素偏移。
16.權利要求8的方法,其中該檢測步驟包括步驟檢測在該水印數據塊中的該水印的移動。
17.權利要求8的方法,其中該讀出、分配、累加、重新定標和組合、以及檢測步驟是針對預定數目的定標的每一可能的定標執行的。
18.權利要求17的方法,還包括以下步驟選擇該檢測步驟的一個結果,所說的一個結果指示在該水印數據塊中的水印的正確定標和移動。
19.一種加水印的視頻數據流中檢測水印的水印檢測裝置,該水印已由預定數目的定標中的一個未知標度所定標,該水印檢測裝置包括用於把視頻數據流劃分成多個相等尺寸的定標水印數據塊的裝置;用於把該多個定標的水印數據塊讀出成為多個讀出數據塊的裝置;用於把該多個讀出數據塊的每一個累加到預定數目的讀出數據塊收集器之一的裝置;用於重新定標該累加的讀出數據塊的每一個並把該重新定標的累加讀出數據塊組合成單一的視頻累加數據塊的裝置;和用於估算在對應於預定數目的定標的每一個的視頻累加數據塊中的一個預定量的裝置。
20.一種處理加水印的視頻數據流的方法,包括步驟當以除法操作計算其中分配該視頻數據流的若干部分的收集器的數目時,使用一個分數餘項;和把該視頻數據流的所選部分分配在收集器的計算數目的所選那些中。
21.權利要求20的方法,其中該視頻數據流的若干部分包括水印數據塊。
22.權利要求20的方法,其中該使用步驟把該分數餘項操作應用到該已加水印視頻數據流的多個可能定標的每一個。
23.權利要求20的方法,其中該收集器包括一個存儲裝置的存儲空間。
全文摘要
一種在加水印的視頻數據流中檢測水印的水印檢測方法和裝置,該水印已由預定有限的定標數目當中的一種未知標度所定標,並且被移動了一個未知的像素數。針對預定數目的定標的每一個,視頻數據流被分成多個同樣尺寸的定標水印數據塊;並且該多個定標的水印數據塊被讀出成為多個讀出數據塊。讀出數據塊的每一個被累加到讀出數據塊收集器的預定數目之一。累加的讀出數據塊隨即被重新定標並且組合成單一視頻累加數據塊。隨即在該視頻累加數據塊中估計例如一個DCT功率的預定量。該估算得到的信息與在視頻數據流中的水印的存在、加到該已加水印的視頻的定標和在該水印數據塊中的任何水印的移動相關。一個分數餘項操作被用於確定針對每一所考慮定標的讀出數據塊收集器的數目,以及被用於確定每一讀出數據塊被累加到其中的該收集器。
文檔編號H04N7/30GK1301463SQ99806377
公開日2001年6月27日 申請日期1999年2月17日 優先權日1998年5月20日
發明者戴維·C·科利爾 申請人:麥克羅維西恩公司