專利名稱:視頻中的實時簽名嵌置的制作方法
技術領域:
本發明總體涉及信號驗證領域,更具體來說,涉及為了圖像和視頻的驗證而在視聽信號中嵌置簽名。
背景技術:
數字圖像和視頻的成功,導致這個技術在日常生活中許多領域的廣泛應用。編輯、改變或修改數字圖像或視頻序列的技術可通過商業途徑獲得,允許不留痕跡地修改所述圖像或視頻的內容。對于各種應用,諸如在法律實施中來自保安攝影機的可作證據的圖像記錄、醫療文檔、為保險目的的損失評估等等,有必要保證圖像或視頻沒有被修改過,并與原始攝得的圖像或視頻相同。這導致信號驗證系統的開發,
圖1中所示的這種系統是一個例子,其中,在1.20為一個在1.10獲取的諸如圖像或視頻的視聽信號生成一個簽名。在1.30,該簽名例如以水印的形式被嵌置到信號中。之后,在1.40,該信號被處理或篡改,在1.50被播放、記錄或提取,最后在1.60被檢驗,以便或者保證該信號的真實性被證明,或者揭示該信號被修改。
在視頻信號中嵌置數據,這在US-B-6211919中是已知的,其中,將一個模擬視頻信號轉換成一個數字信號,在數字信號中嵌置數據,然后轉換回模擬信號。要進行跨幀誤差校正,以便補償傳輸損失。那里公開的解決方案技術性質復雜,要求有大緩沖存儲器用于存儲視頻信號的整個幀或若干幀。這些存儲器昂貴,因此需要使所需存儲器的數量最小化。
此外,特別是對于上述的驗證簽名的應用來說,重要的是每個視頻幀要擁有驗證自己的能力,因為例如在上述的保安攝影機應用中,并非存儲一個序列的所有的幀,而是只保留例如每第五十個幀,同樣,對醫療圖像來說,可能只有圖像的一個子集被保留。哪個幀被記錄、哪個幀被丟棄,一般是不知道的。因此,驗證一個視頻序列的某個幀所需的所有信息都必須可在幀自身中得到并可從幀本身導出。如果像上述文獻中那樣,一個幀對前導的或后繼的幀有依賴,則要使得能夠驗證該幀,那是不可能的。
簽名計算和嵌置,必須在視頻信號生成之后盡快進行,以防止驗證信息存儲在視頻中之前視頻被篡改。因此,如果靠近圖像捕獲裝置、例如在保安攝影機內放置簽名計算和嵌置,并且實時地對所生成的視頻流進行簽名計算和嵌置,則是有益的。像上述文獻中那樣的當今的解決方案,技術復雜且費用昂貴。
最后,按照現有技術,為了把在1.20為諸如數字圖像的一個視聽信號計算的簽名比特,在1.30以水印的形式嵌置在該視聽信號本身內,必須把該視聽信號的全部幀緩存在一個大的、昂貴的存儲器中,與此同時計算所述視聽信號的該幀的簽名比特,形成具有作為有效載荷的簽名比特的水印,最后把所述水印嵌置在該視聽信號的該幀內。由于所需存儲器的昂貴,這使這種解決方案昂貴。
因此,本發明要解決的問題被規定為如何對自驗證的幀提供視聽信號的低成本的實時生成。
發明內容
按照所附的獨立權利要求,通過以完全避免在計算簽名比特和嵌置水印期間需要把該視聽信號的整個幀緩存在一個大存儲器中的方式,把一個簽名嵌置在諸如視頻信號或數字圖像的一個視聽信號中,因此顯著地減少了所需存儲器的成本,本發明從而克服以上指出的現有技術的缺陷。
按照本發明的實施例,公開一種用于驗證視聽信號的方法、設備和計算機可讀介質。按照這些實施例,根據所述視聽信號的一個幀的第一部分構成一個簽名。然后,將所形成的簽名嵌置在所述視聽信號中要被驗證的幀的所述第一部分或該幀的至少一個第二部分中,由此所述的各部分是所述視聽信號的一個水平行的模式(pattern)并且具有比整個視聽信號的總行數少的行。
因此提出一種實時的低成本解決方案,它僅需要用于視聽信號的若干行的存儲器,而不需要用于存儲視聽信號的全部幀的存儲器。驗證幀所需的所有信息被放入幀自身中,使得每個幀是自驗證的。
本發明的這些和其它方面,參照以下所述的實施例,將變得顯而易見并得到闡釋。
附圖簡介在以下的詳細說明中將參照附圖描述本發明的優選實施例。附圖中,圖1表示現有技術的驗證系統;圖2表示本發明實施例;圖3表示本發明另一個實施例;圖4表示本發明再一個實施例;圖5表示按照本發明另一個實施例的設備;和圖6表示按照本方另一個實施例的計算機可讀介質。
具體實施例方式
盡管視頻信號代表二維圖像,卻是按一維信號通過逐行掃描該圖像而被傳輸和處理的。模擬或數字視頻,被分類為隔行掃描的(interlaced)視頻和非隔行掃描的視頻,后者也稱逐行掃描的(progressive scan)視頻。例如,按照NTSC、PAL和SECAM標準的視頻信號是隔行掃描的,大多數PC顯示器是非隔行掃描的,而HDTV(高清電視)信號或者可以是較高分辨率方式中的隔行掃描的、或者可以是較低分辨率方式中的非隔行掃描的。
隔行掃描的視聽信號,諸如視頻,被定義為所述信號的每個幀由兩個場組成,由此,每個場是所述幀的一個特定的部分,含有該幀中每一相隔的水平行。在通過例如傳輸或顯示視頻而處理間隔掃描的視頻時,含有包括頂端的掃描行在內的所有奇數行的場被首先處理并被稱作上場;含有偶數行的場被稱作下場,并被連續地處理,以生成一個幀或完整圖像。因此,對于隔行掃描的信號行1、3、5…(即第一場的所有行)被首先處理,然后處理行2、4、6…(即第二場的所有行)。每個場都可以被細分為所述幀的連續行的分段(segments),即所謂的片段(slices),例如3行片段[1、3、5]、[7、9、11]、[2、4、6]或[8、10、12]。一個隔行掃描的信號中的連續行的片段的一個特例是當第一個片段包含一個幀的所有的奇數行或偶數行并且另一個片段把包含該幀的其余的偶數行或奇數行。
非隔行掃描的視頻按順序顯示一個幀的每個行,由此,一個幀被定義為構成一個視頻的一個圖像序列中的一個完整圖像。因此,對于非隔行掃描的信號行1、2、3…(即幀的所有行)都被處理。可以把這樣一個幀細分為連續行的各個片段,例如3行的各片段[1、2、3]或[4、5、6]。
隔行掃描的和非隔行掃描的視頻涉及捕獲、傳輸和顯示視頻序列。
幀的一個部分(portion)被定義為作為所述幀的局部(例如如上面所定義的一個片段或場)的所述幀的一個單獨的份額(share)。
諸如視頻流中的數字圖像的視聽信號的幀的一個區域(region)被定義為所述幀內的一個空間區域,例如頂、中間、底。
圖2表示本發明一個實施例,其中,在步驟2.10中被捕獲的一個視聽信號被隔行掃描。該隔行掃描的視聽信號的一個幀的例如由n行組成的上場,被分配到一個第一部分,并在步驟2.20中被裝入并保存在一個存儲器電路中。在步驟2.30中,計算該第一場的一個簽名,由此,所述簽名包含用于驗證該幀的所有區域的信息,因為該第一場含有所有圖像內容,盡管只有圖像內容的交替行。隨后,該視聽信號中的同一個幀的例如由m行組成的下場,在步驟2.40中被分配到一個第二場,該第二場被保存在相同的存儲器電路中,取代存儲器電路中的第一場。所述存儲器電路因此需要最大有m或n行的容量,最好有m或n個行存儲器。因此,對存儲器的要求被限定到以上所討論的現有技術的要求的一半。所述簽名的簽名比特也需要在步驟2.50中被保存,該步驟將簽名嵌置在位于所述存儲器電路中的所述視聽信號的第二場中。然而,與在諸如視頻的視聽信號中存儲像素的要求相比,所述簽名比特要求的存儲量可以忽略不計。簽名比特例如能被保存在存儲器的第n行中,因為在實踐中,根據幀大小而定,第二場包含的行數常常比第一場少1,即m=(n-1)。
圖3表示另一個實施例,其中,視聽信號是非隔行掃描的,在步驟3.10中通過逐行掃描而被捕獲。在步驟3.20中,把所述視聽信號的一個由N個水平行組成的片段裝入并保持在一個有容納所述N行的足夠容量的存儲器電路中,例如N個行存儲器中。然后,在步驟3.30,為所述片段計算簽名。如果要將當前的簽名嵌置到當前片段自身中,則直接執行步驟3.50。如果要將該簽名嵌置在下一個連續的片段中,現在將把該下一個片段裝入該N個行存儲器中,替代當前的片段。如果當前片段已經是所述幀的最后的片段,則該簽名只能被嵌置在該當前片段自身中。如果要為所有的片段嵌置一個共同簽名,則在可選步驟3.50中把當前片段的簽名添加到具有以前分別計算的各片段的簽名的一個共同簽名。如果只要把當前簽名嵌置在當前位于N個行存儲器的片段中,則不把它與以前計算的簽名組合。在步驟3.60中,將簽名嵌置在當前位于N個行存儲器的片段中。隨后,該視聽信號或者例如通過存儲或傳輸而作進一步處理-如果已經計算了圖像的所有區域的簽名,即如果已經計算了所有片段的簽名的話;或者通過返回步驟3.20而把下一個片段裝入存儲器中-或者,如果新的片段已經被裝入到N個行存儲器中,則在步驟3.30直接計算簽名,等等。所計算的簽名比特的存儲,與前面實施例中所述的相似。這個實施例只要求在存儲器中保持一個片段,因此需要N個行存儲器。當某個片段是在存儲器中時,就有可能為該片段計算簽名比特,并最好以水印的形式把該簽名嵌入該片段。該水印能承載一個由該片段自己的簽名比特加上在前的片段的簽名比特所構成的有效載荷。因此,第i個片段能被嵌置以從片段1到i的簽名比特。第一個片段只能被嵌置以第一個片段的簽名比特,而最后一個片段能被嵌置以所述視聽信號的整個幀中的任一或所有簽名比特。因此,第一個片段的簽名比特可以被嵌置在任何片段中,最好是所有片段中,而最后一個片段的簽名比特只能被嵌置在最后一個片段自身中。因此,圖像的自驗證被保持。
圖4中表示了本發明的另一個實施例。在步驟4.10中,捕獲一個視聽信號。如上所述,視聽信號是通過掃描在構成圖像/幀序列中的一個圖像的幀內具有一定位置的行而捕獲的。在當前實施例中,不區分隔行掃描的信號和非隔行掃描的信號。在步驟4.20中,為所述視聽信號的當前行計算DC值,在步驟4.20中,根據當前行的所述DC值形成簽名比特。所計算的簽名比特或者在步驟4.50中直接嵌置在當前行本身中,然后對下一行繼續計算,一直到簽名被計算出來并被嵌置在所有行中;或者在步驟4.40中,將當前所計算的簽名比特保存在存儲器中,供以后與(多個)后繼行的簽名比特或當前行的簽名比特一起,甚至與對在以前各行計算的簽名比特組合在一起嵌置在后繼的行中,既嵌置在當前行中,又保存在存儲器中,供隨后使用。這樣,就顯示了一種用于不昂貴的實時操作的簽名計算方案,它只需要一個行的存儲器,而不是如第一個實施例中所述的那樣存儲整個場。對代表一個給定圖像區的簽名比特的計算,只要根據該圖像區本身和其它附近圖像區,這意味著由本發明處理的視聽信號的一行或若干行。除此之外,簽名是基于若干圖像特性的,諸如DC值、邊沿、瞬間(moments)或柱狀圖(histograms),這只要求對特性而不是像素進行計算和在存儲器中存儲。因此對計算簽名的存儲要求一般大大低于一個場存儲器,如上述實施例中的那樣,若干個行存儲器就足夠,在一定情況下,視所使用的特性而定,甚至需要更少的存儲器。例如,計算DC值是通過作平均-即合計視聽信號的像素的值而進行的。在這種情況下,沒有必要存儲像素值本身,因此與前面的實施例相比,對存儲的要求被進一步最小化。類似地,對于水印的計算來說,一旦有效負荷是已知的,即完整的簽名是可得到的,則形成水印一般用幾個行存儲器就能完成,這是因為,為了取得魯棒性和隱匿性之間的最佳平衡,用水印對圖像作修正,要涉及考慮在當前被計算的帶水印像素的周圍的局部區域中的圖像復雜性,即諸如邊沿、紋理中的圖像活動性的數量等特征。這只需要若干行存儲器保存附近的圖像像素,而且使用以上形成簽名時的相同的行存儲器,而不需另外的存儲器電路。
圖5表示本發明在用于驗證視聽信號的系統100中的實施例。視聽信號在110中生成。視聽信號最好在110中由一個諸如監視攝影機或CCD陣列的圖像捕獲裝置攝影機和/或諸如麥克風的用于捕獲音頻信號的適當裝置捕獲。然而,視聽信號也可源于一個傳輸信號,諸如視頻信號,或者源于存儲裝置,諸如硬盤驅動器或類似的計算機可讀介質。視聽信號在設備101中按照本發明實施例被進一步處理。在110中被捕獲的視聽信號被輸送到設備101中。所述視聽信號的N行的片段被存儲并保持在存儲器120中。存儲器120由N個行存儲器構成,并包含一個額外的、用于存儲簽名比特的存儲器。行數N比整個視聽信號的行數低得多,一個例子是,在裝置120中的三個行存儲器用于在110中捕獲的一個視聽信號的480個水平行。按照上一段落的討論,所述簽名比特所需的額外存儲器比所述各行所需的低得多。裝置130與所述存儲器電路通信,并為存儲器120中的各行計算簽名。簽名是根據存儲器120中的各行形成的。簽名被形成時,將它嵌置在仍然在存儲器120中保持的各行內容中。將所生成的簽名保存在存儲器120中供以后使用,諸如嵌置在所述視聽信號的隨后的片段中。所計算的簽名最好是作為一個水印、最好是魯棒(robust)的水印,被裝置140所嵌置。魯棒的水印是一種在視聽信號中嵌置的水印,它不受諸如有損壓縮等容許的圖像操作的影響。隨后,帶有嵌入的簽名的所述視聽信號的所述行被輸出到設備101之外,供在150進一步處理。隨后,所述視聽信號的相同幀的下N個行被裝入存儲器120中,為該新行的內容形成簽名,并把簽名-最好與以前計算并保存在存儲器中的簽名比特一起-嵌置在各行中。該組合的簽名也由裝置120計算。重復以上過程,直到為一個幀的所有行計算并嵌置了簽名。然后把120中的存儲內容刪除,并在101中處理在110中生成的新幀。
設備101在系統100中最好以一個模塊的形式實現,最好包含一個微處理器或者類似的電子裝置,諸如可編程陣列或類似的電子電路。
圖6表示本發明的另一個實施例,該實施例包含用于驗證視聽信號的系統200中的一個計算機可讀介質220,由此在230生成一個視聽信號。視聽信號最好在230中由一個諸如監測攝影機或CCD陣列的圖像捕獲裝置攝影機和/或諸如麥克風的用于捕獲音頻信號的適當裝置捕獲。然而,視聽信號也可源于一個傳輸信號,諸如視頻信號,或者源于存儲裝置,諸如硬盤驅動器或類似的計算機可讀介質。第一程序模決240指令計算機210為所述視聽信號的一個幀的N個行的片段形成一個簽名。在第二程序模塊250中,把由第一程序模塊生成的所述簽名,最好作為一個水印、更好是魯棒的水印,嵌置在所述視聽信號的所述幀的所述片段中。對所述幀的各行的片段重復進行由程序模塊240和250執行的步驟,直到為整個幀計算并嵌置了簽名。隨后在270進一步處理帶有嵌置的簽名的該視聽信號,例如驗證該視聽信號。
在本發明的有些應用中,例如在保安圖像記錄中,只存儲多個幀中的一個幀,例如每50個幀中的一個幀。因此重要的是在不參考前面的和后繼的幀的條件下每個幀都能驗證自己。按照本發明,簽名被嵌置在幀自身中。因此以上方法符合這個要求,因為該方法把每個視頻幀作為一個單獨的靜止圖像處理。這也意味著該方法對靜止圖像和視頻而者同樣都適用。
出于安全原因,簽名計算和嵌置被盡可能地靠近圖像捕獲裝置設置。這能防止在計算簽名之前視頻信號被篡改。因此,簽名計算和隨后的最好以水印方式進行的嵌置,最好在諸如攝影機的圖像捕獲裝置內生成的視頻流中實時地進行。按照本發明,視頻流的一個完整幀只有一部分被存儲在存儲器中。因此,按照本發明的方法和設備很好地適合于簽名的實時嵌置。所屬技術領域的熟練人員因此將清楚地使用一種適合于實時應用的簽名生成。然而,本發明并不限于特定類型的簽名計算。
為了判斷一個圖像的真實性,使用一個與簽名形成相類似的過程,即再次根據視聽信號的一個幀的一個第一部分計算一個簽名。為了驗證所述部分的內容,將嵌置在所述幀的一部分中原始簽名提取出來,與為該部分新計算的簽名比較,由此,已經嵌入了原始簽名的部分與原先為其計算了簽名的部分不必是相同的部分,例如,一個幀的行1、3、5的簽名,可能被嵌置在行13、15、17中。當兩個簽名互相不同時,就能檢測到篡改。如果檢測到篡改,則如果例如希望確定在內容中的什么地方發生了所述幀篡改,就根據從嵌置的簽名中導出信息,進行對該修改的分析。
上述的按照本發明的信號驗證的應用和用途是各種各樣的,包括的示例性領域諸如有諸如用于法律實施、可作證據的成像、或指紋的保安攝影機或監視攝影機,諸如遠程醫療系統、醫療掃描器和患者文檔記錄的保健系統,諸如車險、財產險、健康險的保險文檔記錄應用。
以上參照具體實施例描述了本發明。然而,在后附的權利要求的范圍內,上述優選實施例以外的其它實施例也是可能的,例如與以上的不同的場模式、通過硬件或軟件執行以上方法、組合實施例中的特征-諸如在隔行掃描的視聽信號內容的場內形成片段、或者用若干行存儲器在隔行掃描的內容中嵌置簽名,等等。
此外,“包含”一詞并不排除其它元件或步驟,“一個”一詞并不排除多個和一個處理器或其它單元可以完成權利要求中所述的若干單元或電路的功能。
權利要求
1.一種為驗證一個視聽信號而在該視聽信號中嵌置簽名的方法,所述視聽信號是隔行掃描的或非隔行掃描的,該方法包含根據所述視聽信號的一個幀的第一部分形成一個簽名的步驟,和在所述第一部分和/或所述視聽信號的所述幀的至少一個第二部分中嵌置該簽名的步驟。
2.按照權利要求1的方法,其中,所述各部分是所述視聽信號的連續的水平行的模式,所述模式具有比整個視聽信號的更少的行。
3.按照權利要求1的方法,其中,重復所述形成和嵌置步驟,直到為所述幀的所有區域都嵌置了一個簽名。
4.按照權利要求1或2的方法,由此所述視聽信號的所述第一部分是一個第一場,它包含所述視聽信號的所述幀的所述各行的至少一個連續行的一個片段,所述第二部分是一個第二場,它包含所述視聽信號的所述幀的所述各行的至少一個連續行的一個片段。
5.按照權利要求4的方法,由此所述視聽信號是隔行掃描的,所述第一場包含所有的偶數行或奇數行,并且所述第二場包含所有相應地剩余的偶數行或奇數行。
6.按照權利要求1或2的方法,由此所述視聽信號是非隔行掃描的,且所述部分是所述視聽信號的所述各行的至少一個連續行的片段,所述第一個部分和所述片段包含所述視聽信號的不同的連續行。
7.按照任何前述權利要求的方法,嵌置簽名的步驟的特征在于以水印形式嵌置簽名。
8.按照權利要求7的方法,由此,以擴譜水印的形式嵌置水印。
9.按照權利要求7的方法,由此,水印嵌置在所述幀中與生成所述簽名的所述幀中的部分不同的部分中。
10.按照權利要求1的方法,由此,嵌置簽名的步驟進一步的特征在于把簽名嵌置在一個后繼的部分中。
11.按照權利要求1的方法,由此,形成和嵌置所述簽名的步驟是實時地被執行的。
12.一種用于按照權利要求1的方法為驗證一個視聽信號而在該視聽信號中嵌置簽名的設備,所述設備包含根據所述視聽信號的一個幀的第一部分形成一個簽名的裝置,和在所述第一部分和/或所述視聽信號的所述幀的至少一個第二部分中嵌置該簽名的裝置。
13.按照權利要求12的設備,其中,所述各部分是所述視聽信號的連續的水平行的模式,所述模式比整個視聽信號具有更少的行。
14.一種計算機可讀介質,具有按照權利要求1的方法為驗證一個視聽信號而在所述視聽信號中嵌置簽名的多個計算機可執行的指令,該介質包含用于根據所述視聽信號的一個幀的第一部分來形成一個簽名的第一程序模塊,和用于在所述第一部分和/或所述視聽信號的所述幀的至少一個第二部分中嵌置所述簽名的第二程序模塊。
15.按照權利要求14的介質,其中,所述各部分是所述視聽信號的連續的水平行的模式,所述模式比整個視聽信號具有更少的行。
16.按照權利要求1的方法在監測攝影機或保安攝影機或數字圖像攝影機或數字視頻攝影機或醫療成像系統中的應用。
全文摘要
一種用于在視聽信號中嵌置驗證簽名的方法和系統,使得在簽名比特被計算和水印被嵌置期間只有視聽信號的一個完整幀的一部分被存儲在存儲器中。根據所述視聽信號的第一部分形成一個簽名,由此所述第一部分是所述視聽信號的一個水平行模式并且比整個視聽信號的總行數有更少的行。然后,將所形成的簽名嵌置在所述視聽信號中的要被驗證的幀的該第一部分和/或另一部分中,由此該另一部分也是一個水平行模式。因此,只需要能存儲視聽信號的若干行而不是所有行的存儲器。對于隔行掃描的視聽信號,第一部分最好是所述視聽信號的幀的第一個場,第二部分是所述視聽信號的第二場。對于非隔行掃描的視聽信號,最好把所述行的各片斷用作所述各部分。
文檔編號H04N7/173GK1663232SQ03814675
公開日2005年8月31日 申請日期2003年6月12日 優先權日2002年6月24日
發明者D·K·羅伯特斯, J·克里恩, J·L·施里斯 申請人:皇家飛利浦電子股份有限公司