專利名稱::數字音樂作品認證信息的嵌入方法及該作品的認證方法
技術領域:
:本發明涉及一種數字音樂作品的數字水印技術,尤其是涉及一種數字音樂作品認證信息的嵌入方法及該作品的認證方法。
背景技術:
:近年來,隨著數字多媒體及互聯網技術的快速發展,信息安全問題顯得非常突出。數字水印技術是目前信息安全領域的一個新方向,是一種可在開放網絡環境下保護數字音樂作品版權和認證來源及數字音樂作品完整性的新型技術,已成為多媒體信號處理領域的一個研究熱點。目前,關于數字音樂作品的數字水印技術層出不窮,其主要利用數字音樂作品的冗余空間來實現水印的嵌入。由于未壓縮的音頻格式的作品具有較大的冗余空間,因此大多數的數字水印技術都是針對未壓縮的音頻格式的作品。而在實際應用中數字音樂作品絕大多數是以壓縮格式進行存儲和傳輸的,特別是在互聯網上的數字音樂作品普遍以MPEG(MovingPictureExpertsGroup,運動圖像專家組)壓縮形式傳播。由于壓縮格式的數字音樂作品冗余空間極少,所以針對壓縮的數字音樂作品的數字水印技術相對較少。英國劍橋大學F.Petitcolas等人開發了一款針對MP3的數字水印軟件MP3Stego,該軟件根據量化和編碼后誤差長度的奇偶性作為水印嵌入的依據,嵌入的速率較低;由于被處理的對象是PCM(PulseCodeModulation,脈沖編碼調制)數據,水印是在壓縮過程中嵌入的,其實時性較差。《基于MPEG編碼音頻的不可逆水印方法》作者L.Qiao、K.Nahrstedt,該文中提出了兩種將水印直接嵌入到MPEG音頻碼流中的方法。第一種是將水印嵌入到比例因子中,該方法首次提出在比例因子中嵌入水印,但沒有給出頑健性測試結果;第二種是將水印嵌入到MPEG編碼的樣本數據中。《基于MPEG-2AAC音頻比特流的水印算法》作者C.Neubauer、J.Herre,該方法中提出了將數字水印信息嵌入至IJAAC(AdvancedAudioCoding,高級音頻編碼)壓縮域音頻中,但由于該方法需要將心理聲學模型分析出來的輔助信息隨著壓縮數據一起傳輸才能進行數字水印信息的正確提取,因此會極大增加算法復雜度,并影響感知模型的不準確性,而且傳輸大量的附加信息也是不現實的。《基于MDCT變換的MPEG音頻水印方法》作者C.T.Wang、T.S.Chen、W.H.ChaoWang,該方法通過分析MDCT(ModifiedDiscreteCosineTransform,修正的離散余弦變換)系數,對MDCT系數進行修改,從而實現水印嵌入和提取操作,但該方法不能完全有效地檢測嵌入的水印信息,水印嵌入的比例較小。《基于濕紙編碼的MPEG壓縮音頻信息隱藏算法》作者X.M.Quan、H.B.Zhang,該方法主要利用濕紙編碼(WetPaperCode)策略,通過調整MPEG量化過程,將隱秘信息嵌入到MPEG音頻碼流中,實驗結果表明,該方法能抵抗變換編碼和重編碼攻擊,但對于不同類型的載體,隱秘信息的嵌入可能會引起音頻文件長度的改變。綜合現有的各種針對壓縮數字音樂作品的數字水印技術,他們基本相似,只不過是選擇的參數與修改的方法不同。這些數字水印方法具有一些共同的缺點,即水印嵌入強度很小,且認證與作品解碼分離,一旦認證,解密作品就失去保護,不能有效地保護數字音樂作品的完整性,且不能對篡改位置進行準確定位。
發明內容本發明所要解決的技術問題是提供一種水印嵌入強度大,能夠有效阻止篡改的數字音樂作品通過認證,實現對篡改位置的準確定位,有效地保護數字音樂作品完整性的數字音樂作品認證信息的嵌入方法及該作品的認證方法。本發明解決上述技術問題所采用的技術方案為一種數字音樂作品認證信息的嵌入方法,它包括以下步驟al.對于需要嵌入認證信息的數字音樂作品,根據基礎音頻信號流的安全標識符,并以音頻幀為單位通過水印生成器對基礎音頻信號流進行處理,生成一串二進制水印認證信息;a2.讀取一音頻幀同步數據,確定音頻幀同步數據的開始位置,并對音頻幀同步數據的幀頭數據和邊信息進行解析,得到主數據進行可變長編碼所使用的碼表,并確定主數據所使用的所有碼字;a3.根據碼長相等且相互對應的原則,將碼表中的所有相互對應的碼字分成相互對應的兩個碼字集合,表示為^)二(VbV2,……,}和J^-(v、,v'2,……,v'},其中v,、vU=l,2,......,")分別為碼字集合Fo和K的碼字,"為碼字個數,碼字集合Fo和F;中的碼字是一一對應的,碼字集合Fo的碼字的屬性為"0",碼字集合^的碼字的屬性為"1";a4.判斷主數據的碼字屬于碼字集合Fo還是屬于碼字集合F/,當該碼字屬于碼字集合Fo時,確定該碼字的屬性為"0",當該碼字屬于碼字集合F/時,確定該碼字的屬性為"1";將主數據所使用的所有碼字按其對應的屬性順序組成的二進制碼字屬性信息與水印認證信息進行比較,如果不相同,則修改主數據的碼字,從而將水印認證信息嵌入主數據中,得到含水印認證信息的主數據,否則,不修改主數據的碼字,直接將水印認證信息嵌入主數據中,得到含水印認證信息的主數據;a5.將含水印認證信息的主數據與該音頻幀同步數據的幀頭數據和邊信息重新組合形成一個含水印認證信息的音頻幀同步數據并寫入文件;所述的基礎音頻信號流是MPEG音頻碼流,進行可變長編碼所使用的碼表是哈夫曼碼表,所述的主數據是碼字比特流,所述的水印認證信息是由數字"0"和"1"組成的比特序列。所述的主數據的碼字的修改的具體過程為若碼字屬性信息的屬性位與水印認證信息的水印位不相同時,則當水印位為"0"時,將該屬性位對應的碼字v',修改為v,,當水印位為"1"時,將該屬性位對應的碼字v,修改為否則,該屬性位對應的碼字不作修改。上述數字音樂作品的認證方法,它將全部處理過程劃分為水印提取模塊和認證解碼模塊兩個功能模塊,水印提取模塊的功能是接收含水印認證信息的音頻信號流,根據水印認證信息嵌入的逆過程提取出水印認證信息;認證解碼模塊的功能是根據基礎音頻信號流的安全標識符生成一串二進制水印認證信息,并將生成的水印認證信息與提取的水印認證信息進行比較,若兩者相同,則進行解碼,否則,終止解碼;其具體處理步驟包括bl.水印提取模塊接收含水印認證信息的音頻信號流,讀取一含水印認證信息的音頻幀同步數據,確定音頻幀同步數據的開始位置,并對音頻幀同步數據的幀頭數據和邊信息進行解析,得到含水印認證信息的主數據進行可變長編碼所使用的碼表,并確定主數據所使用的所有碼字;b2.根據碼長相等且相互對應的原則,將碼表中的所有相互對應的碼字分成相互對應的兩個碼字集合,表示為Fo二(V,,V2,……,^}和^={^,"'2,……y},其中v,、v',(/=l,2,......,")分別為碼字集合&和的碼字,"為碼字個數,碼字集合Fo和K中的碼字是一一對應的,碼字集合Fo的碼字的屬性為"0",碼字集合F;的碼字的屬性為"1";b3.判斷含水印認證信息的主數據的碼字屬于碼字集合Fo還是屬于碼字集合K,當該碼字屬于碼字集合&時,提取二進制信息"O",當該碼字屬于碼字集合K/時,提取二進制信息"1",提取出所有碼字的二進制信息完成水印認證信息的提取;b4.認證解碼模塊根據基礎音頻信號流的安全標識符,并以音頻幀為單位通過水印生成器對基礎音頻信號流進行處理,生成一串二進制水印認證信息;b5.將生成的水印認證信息與在水印提取模塊中提取的水印認證信息進行比較,如果兩者相同,則進行解碼,并輸出PCM格式音頻;否則終止解碼,并確定被篡改的位置。所述的解碼的過程包括反采樣量化、重排序、立體聲處理、抗鋸齒處理、IMDCT(InverseModifiedDiscreteCosineTransform,修正的離散余弦反變換)、多相頻率倒置和子帶合成過程。所述的基礎音頻信號流是MPEG音頻碼流,進行可變長編碼所使用的碼表是哈夫曼碼表,所述的含水印認證信息的主數據是碼字比特流,所述的水印認證信息是由數字"0"和"1"組成的比特序列。與現有技術相比,本發明的優點在于由于在水印認證信息嵌入的過程中是根據壓縮的音頻信號流的音頻幀的唯一安全標識符生成的水印認證信息,再根據水印認證信息對主數據進行修改實現水印認證信息的嵌入,可以確保合法的數字音樂作品可以通過后續的認證解碼,而經過篡改的數字音樂作品則不能通過后續的認證解碼,有效地保護了數字作品的完整性;由于水印認證信息是直接嵌入在壓縮的音頻信號流中,無需解碼再編碼的過程,實時性較強;由于水印嵌入的對象是可變長碼字,而音頻幀的主數據的表現形式是可變長碼字,提高了水印認證信息的嵌入速率;認證信息的提取與可變長編碼的解碼過程相融合,即邊水印認證邊解碼,因此數字音樂作品能夠實施有效的播放控制,不存在認證以后再解碼播放的風險;此外,本發明適用范圍廣,可用于數字音樂作品的版權保護、內容完整性認證、作品控制以及隱蔽通信等領域。圖1為本發明認證信息的嵌入處理流程框圖2為一個哈夫曼碼表的碼字空間分成的兩個碼字集合的示意圖;圖3為水印認證信息嵌入過程示意圖4為本發明認證方法的處理流程框圖5為水印認證信息提取過程示意圖6為水印認證信息控制音頻播放過程示意圖。具體實施例方式以下結合附圖實施例對本發明作進一步詳細描述。本實施例中處理的對象為一個音頻信號,該音頻信號按MPEG標準壓縮,不過本發明并不局限于音頻信號,也不局限于一個特定的壓縮標準。MPEG音頻信號的主數據可變長編碼,采用了32個哈夫曼碼表,為了方便描述,本實施例選擇了32個哈夫曼碼表中的1個哈夫曼碼表,該哈夫曼碼表的碼字空間為{11,10,01,00001,00011,00010,000001,000000}。圖1概略顯示了執行認證信息的嵌入的處理流程,其操作將在以下描述。該發明接收一個MPEG基礎音頻信號流,它代表一個MPEG音頻數據序列,對于需要嵌入認證信息的數字音樂作品,根據MPEG基礎音頻信號流的安全標識符SID(SecurityIdentifiers),并以音頻幀為單位通過服從均勻分布的偽隨機序列水印生成器對MPEG基礎音頻信號流進行處理,生成一串二進制水印認證信息,水印認證信息是由數字"0"和"1"組成的比特序列,在本實施例中設定生成的水印認證信息為"110010",下面將對單個音頻幀的處理進行詳細的說明。通過幀同步(seek_SynC)、幀長(main_data—slots)、主數據開始位置(main_data—begin)搜索讀取一音頻幀同步數據,確定音頻幀同步數據的開始位置以及確定主數據(Main—data)的長度和開始位置,本實施例中該主數據的碼字比特流為"1110000110000111000000",并對音頻幀同步數據的幀頭(frame—header)數據和邊信息(side—information)進行解析,獲得主數據可變長編碼的相關參數,如主數據長度(part2—3一length)、大值區長度(big—value)、碼表選擇(table—select),在MPEG編碼中使用的可變長編碼是哈夫曼編碼,因此可以根據這些參數確定主數據進行可變長編碼所使用的哈夫曼碼表,在本實施例中確定該哈夫曼碼表的碼字空間為{11,10,01,00001,00011,00010,000001,000000},并確定主數據所使用的所有碼字Ul,10,00011,00001,11,000000}。根據碼長相等且相互對應的原則,將哈夫曼碼表的碼字空間中的所有相互對應的碼字分成相互對應的兩個碼字集合,表示為Fo二(Vi,v2,……,vj和F/二(V、,V'2,……,v'},其中v,、v',(/=1,2,......,w)分別為碼字集合Fo和^的碼字,"為碼字個數,碼字集合K()和K;中的碼字是一一對應的,碼字集合Fo的碼字的屬性為"0",碼字集合F/的碼字的屬性為"1",本實施例的碼字空間{11,10,01,00001,00011,00010,000001,000000}中碼長為2、5、6的碼字個數分別為3,3,2個,按碼長相等的碼字順序的放在對應的碼字集合中,即碼長為2的碼字{11,10,01},"11"放在K中,"10"放在K中,而碼字"01"沒有對應的碼字,不作處理,碼長為5的碼字{00001,00011,00010},"00001"放在Fo中,"00011"放在K中,同樣碼字"00010"沒有對應的碼字,也不作處理,碼長為6的碼字{000001,000000},則"000001"和"000000"分別放在Fo和K中,所以整個碼字空間分為兩個對應的碼字集合,碼字集合Fo為{11,00001,000001},碼字集合K為{10,00011,000000},如圖2所示。主數據所使用的所有碼字Ul,10,00011,00001,11,000000}的第一個碼字"11"對應碼字集合Fo,該碼字的屬性為"0",第二個碼字"10"對應碼字集合F,,該碼字的屬性為"r,第三個碼字"oooir'對應碼字集合^,該碼字的屬性為"i",第四個碼字"00001"對應碼字集合K,該碼字的屬性為"0",第五個碼字"11"對應碼字集合F(j,該碼字的屬性為"0",第六個碼字"000000"對應碼字集合F,,該碼字的屬性為"1",將這些屬性順序組成二進制碼字屬性信息"011001",將該碼字屬性信息"011001"的每一屬性位與水印認證信息"110010"每一水印位進行比較,經比較,碼字屬性信息的第1、3、5、6屬性位與水印認證信息的相應水印位不相同,則對不相同的屬性位對應的碼字進行修改,當水印位為"0"時,將該屬性位對應的碼字v',修改為v,,當水印位為"l"時,將該屬性位對應的碼字"修改為v',,即將主數據的碼字比特流的第一個碼字"11"修改成"10",第三個碼字"00011"修改成"00001",第五個碼字"11"修改成"10",第六個碼字"000000"修改成"000001",其他屬性位與水印位相同,相應的碼字不作修改,得到修改后的碼字比特流為"1010000010000110000001",如圖3所示,這一過程即將水印認證信息嵌入主數據中,得到含水印認證信息的主數據。將含水印認證信息的主數據與該音頻幀同步數據的幀頭數據和邊信息重新組合形成一個含水印認證信息的音頻幀同步數據并寫入文件。上述數字音樂作品的認證方法,如圖4所示,其將全部處理過程劃分為水印提取模塊和認證解碼模塊兩個功能模塊,水印提取模塊的功能是接收含水印認證信息的音頻信號流,根據水印認證信息嵌入的逆過程提取出水印認證信息;認證解碼模塊的功能是根據基礎音頻信號流的安全標識符生成一串二進制水印認證信息,并將生成的水印認證信息與提取的水印認證信息進行比較,若兩者相同,則進行解碼,否則,終止解碼;其具體處理步驟包括水印提取模塊接收含水印認證信息的MPEG音頻信號流,讀取一含水印認證信息的音頻幀同步數據,確定音頻幀同步數據的開始位置,并對音頻幀同步數據的幀頭數據和邊信息進行解析,得到含水印認證信息的主數據進行可變長編碼所使用的碼表,此處,碼表的碼字空間與水印認證信息嵌入過程中所使用的碼表相同,其碼字空間為{11,10,01,00001,00011,00010,00000"000000},并確定主數據所使用的所有碼字。同樣,根據碼長相等且相互對應的原則,將碼表中的所有相互對應的碼字分成相互對應的兩個碼字集合,表示為K二(VbV2,……,vj和F產(V、V'2,……,v'},其中v,、v',(/=1,2,......,")分別為碼字集合&和K的碼字,"為碼字個數,碼字集合Fo和F/中的碼字是一一對應的,碼字集合K的碼字的屬性為"0",碼字集合^的碼字的屬性為"1"。判斷含水印認證信息的主數據所有碼字的碼字屬于碼字集合K還是屬于碼字集合,如果該音頻幀沒有被篡改,則該主數據的碼字比特流為"1010000010000110000001",其所有碼字可表示為{10,10,00001,00001,10,000001},提取主數據所有碼字的二進制信息為"110010",即完成了水印認證信息的提取,提取的水印認證信息即為"110010",如圖5所示。認證解碼模塊中有一個與在數字音樂作品中進行認證信息嵌入時同樣的MPEG基礎音頻信號流,認證解碼模塊根據MPEG基礎音頻信號流的安全標識符SID,通過服從均勻分布的偽隨機序列水印生成器,得到二進制水印認證信息,本實施例中設定生成的水印認證信息為"110010"。將生成的水印認證信息"110010"與在水印提取模塊中提取的水印認證信息"110010"進行比較,兩者完全相同,則播放器對該音頻幀進行正常的后續解碼,并輸出PCM格式音頻;如果MPEG音頻信號的某些音頻幀受到篡改,假設提取的水印認證信息為"110111",則與生成的水印認證信息"110010"不相同,終止解碼。本發明中的認證過程,可以對沒有被篡改的音頻幀數據進行正常的解碼播放,而遇到被篡改的音頻幀數據,立即終止解碼,并可確定當前音頻幀信號被篡改,如圖6所示。本實施例中解碼的過程主要包括反采樣量化、重排序、立體聲處理、抗鋸齒處理、IMDCT、多相頻率倒置和子帶合成過程。權利要求1、一種數字音樂作品認證信息的嵌入方法,其特征在于它包括以下步驟a1.對于需要嵌入認證信息的數字音樂作品,根據基礎音頻信號流的安全標識符,并以音頻幀為單位通過水印生成器對基礎音頻信號流進行處理,生成一串二進制水印認證信息;a2.讀取一音頻幀同步數據,確定音頻幀同步數據的開始位置,并對音頻幀同步數據的幀頭數據和邊信息進行解析,得到主數據進行可變長編碼所使用的碼表,并確定主數據所使用的所有碼字;a3.根據碼長相等且相互對應的原則,將碼表中的所有相互對應的碼字分成相互對應的兩個碼字集合,表示為V0={v1,v2,……,vn}和V1={v′1,v′2,……,v′n},其中vi、v′i(i=1,2,......,n)分別為碼字集合V0和V1的碼字,n為碼字個數,碼字集合V0和V1中的碼字是一一對應的,碼字集合V0的碼字的屬性為“0”,碼字集合V1的碼字的屬性為“1”;a4.判斷主數據的碼字屬于碼字集合V0還是屬于碼字集合V1,當該碼字屬于碼字集合V0時,確定該碼字的屬性為“0”,當該碼字屬于碼字集合V1時,確定該碼字的屬性為“1”;將主數據所使用的所有碼字按其對應的屬性順序組成的二進制碼字屬性信息與水印認證信息進行比較,如果不相同,則修改主數據的碼字,從而將水印認證信息嵌入主數據中,得到含水印認證信息的主數據,否則,不修改主數據的碼字,直接將水印認證信息嵌入主數據中,得到含水印認證信息的主數據;a5.將含水印認證信息的主數據與該音頻幀同步數據的幀頭數據和邊信息重新組合形成一個含水印認證信息的音頻幀同步數據并寫入文件。2、如權利要求1所述的數字音樂作品認證信息的嵌入方法,其特征在于所述的基礎音頻信號流是MPEG音頻碼流,進行可變長編碼所使用的碼表是哈夫曼碼表,所述的主數據是碼字比特流,所述的水印認證信息是由數字"0"和"1"組成的比特序列。3、如權利要求1所述的數字音樂作品認證信息的嵌入方法,其特征在于所述的主數據的碼字的修改的具體過程為若碼字屬性信息的屬性位與水印認證信息的水印位不相同時,則當水印位為"0"時,將該屬性位對應的碼字v',修改為v,,當水印位為"1"時,將該屬性位對應的碼字v,修改為v',;否則,該屬性位對應的碼字不作修改。4、權利要求1所述的數字音樂作品的認證方法,其特征在于它將全部處理過程劃分為水印提取模塊和認證解碼模塊兩個功能模塊,水印提取模塊的功能是接收含水印認證信息的音頻信號流,根據水印認證信息嵌入的逆過程提取出水印認證信息;認證解碼模塊的功能是在接收方根據基礎音頻信號流的安全標識符生成一串二進制水印認證信息,并將生成的水印認證信息與提取的水印認證信息進行比較,若兩者相同,則進行解碼,否則,終止解碼;其具體處理步驟包括bl.水印提取模塊接收含水印認證信息的音頻信號流,讀取一含水印認證信息的音頻幀同步數據,確定音頻幀同步數據的開始位置,并對音頻幀同步數據的幀頭數據和邊信息進行解析,得到含水印認證信息的主數據進行可變長編碼所使用的碼表,并確定主數據所使用的所有碼字;b2.根據碼長相等且相互對應的原則,將碼表中的所有相互對應的碼字分成相互對應的兩個碼字集合,表示為v2,……,1;}和r/二(v、,v'2,……,v'},其中v,、v',(,'-l,2,......,w)分別為碼字集合Fo和&的碼字,"為碼字個數,碼字集合Fo和K中的碼字是一一對應的,碼字集合Fo的碼字的屬性為"0",碼字集合F;的碼字的屬性為"1";b3.判斷含水印認證信息的主數據的碼字屬于碼字集合Fo還是屬于碼字集合F/,當該碼字屬于碼字集合^)時,提取二進制信息"0",當該碼字屬于碼字集合F/時,提取二進制信息"1",提取出所有碼字的二進制信息完成水印認證信息的提取;b4.認證解碼模塊根據基礎音頻信號流的安全標識符,并以音頻幀為單位通過水印生成器對基礎音頻信號流進行處理,生成一串二進制水印認證信息;b5.將生成的水印認證信息與在水印提取模塊中提取的水印認證信息進行比較,如果兩者相同,則進行解碼,并輸出PCM格式音頻;否則終止解碼,并確定被篡改的位置。5、如權利要求4所述的數字音樂作品的認證方法,其特征在于所述的解碼的過程包括反采樣量化、重排序、立體聲處理、抗鋸齒處理、IMDCT、多相頻率倒置和子帶合成過程。6、如權利要求4所述的數字音樂作品的認證方法,其特征在于所述的基礎音頻信號流是MPEG音頻碼流,進行可變長編碼所使用的碼表是哈夫曼碼表,所述的含水印認證信息的主數據是碼字比特流,所述的水印認證信息是由數字"0"和"1"組成的比特序列。全文摘要本發明公開了一種數字音樂作品認證信息的嵌入方法及該作品的認證方法,由于在水印認證信息嵌入的過程中是根據壓縮的音頻信號流的音頻幀的唯一安全標識符生成的水印認證信息,再根據水印認證信息對主數據進行修改實現水印認證信息的嵌入,可以確保合法的作品可以通過后續的認證解碼,而經過篡改的作品則不能通過認證解碼,有效地保護了數字作品的完整性;由于水印認證信息是直接嵌入在壓縮的音頻信號流中,無需解碼再編碼,實時性強;由于水印嵌入的對象是可變長碼字,而音頻幀的主數據的表現形式是可變長碼字,提高了水印認證信息的嵌入速率;認證信息的提取與解碼過程相融合,即邊水印認證邊解碼,因此數字音樂作品能夠實施有效的播放控制。文檔編號G10L19/00GK101206861SQ20071030681公開日2008年6月25日申請日期2007年12月25日優先權日2007年12月25日發明者嚴迪群,孫廣清,杜呈透,王讓定,劼程,譚家強申請人:寧波大學