一種鑒別數(shù)字音頻aac格式多次壓縮的方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及多媒體信號(hào)處理領(lǐng)域,具體涉及一種鑒別數(shù)字音頻AAC格式是否被多 次壓縮的分析方法。
【背景技術(shù)】
[0002] 科技的不斷進(jìn)步給人們的生活帶來極大的方便,形形色色的多媒體成為人們?nèi)粘?生活中不可缺少的一部分。隨著多媒體技術(shù)的日漸成熟,人們?cè)絹碓阶非蟾咭糍|(zhì)的多媒體。 AAC標(biāo)準(zhǔn)產(chǎn)生的目的是取代目前流行的MP3格式,其較高的音頻質(zhì)量和較小的存儲(chǔ)空間成 為人們的青睞。目前,市場上占據(jù)主流地位的移動(dòng)存儲(chǔ)設(shè)備和便攜式播放器等都開始支持 AAC格式的數(shù)字音頻。然而,隨著網(wǎng)絡(luò)上各種功能強(qiáng)大的音頻編輯軟件的出現(xiàn),如ffmpeg、 audition等,人們可以十分容易地對(duì)數(shù)字音頻進(jìn)行篡改或編輯,并且不會(huì)留下明顯的修改 痕跡,這對(duì)人們?nèi)绾舞b別假音質(zhì)的AAC文件提出了挑戰(zhàn)。
[0003] 數(shù)字簽名和水印技術(shù),是人們常用的數(shù)字音頻認(rèn)證技術(shù),然而這兩種主動(dòng)認(rèn)證技 術(shù)必須要提供額外的加密認(rèn)證信息才能對(duì)數(shù)字音頻進(jìn)行有效鑒別。而現(xiàn)實(shí)生活中待鑒別的 數(shù)字音頻往往無法提供這些額外的加密認(rèn)證信息,從而導(dǎo)致這種認(rèn)證方法不可行。鑒別數(shù) 字音頻是否被多次壓縮,是基于近年興起的被動(dòng)數(shù)字音頻認(rèn)證技術(shù)。這種鑒別方法不需要 額外的加密認(rèn)證信息,通過分析數(shù)字音頻內(nèi)在的特征進(jìn)行鑒別。
[0004] 對(duì)AAC格式音頻文件是否被多次壓縮進(jìn)行分析,目前暫時(shí)還沒發(fā)現(xiàn)有文獻(xiàn)進(jìn)行 此類工作。"RongshanYu,XiaoLin,SusantoRahardja,"AStatisticsStudyof theMDCTCoefficientDistributionforAudio",IEEEInternationalConferenceon MultimediaandExpo,2004. "指出,數(shù)字音頻在經(jīng)過MDCT變換后,系數(shù)絕大多數(shù)集中在小 值部分,基本符合拉普拉斯分布。因此,本文提出利用數(shù)字音頻MDCT變換后Huffman編碼的 小值作為特征,對(duì)數(shù)字音頻是否被多次壓縮進(jìn)行鑒別。"羅達(dá),"一種鑒定WAV數(shù)字音頻信號(hào) 是否經(jīng)過壓縮以及分析其此前被壓縮的碼率的方法",2013. "對(duì)假音質(zhì)的WAV數(shù)字音頻進(jìn) 行鑒別,而且利用的方法也完全不同。"RuiYang,YunqingShi,JiwuHuang,"Defeating Fake-QualityMP3,',inProceedingsofACMWorkshoponMultimediaandSecurity, Princeton,NewJersey,USA, 2009."對(duì)假音質(zhì)的MP3進(jìn)行鑒別,這里的假音質(zhì)指的是由 低碼率的MP3壓縮成高碼率的MP3,通過分析不同碼率MP3文件的MDCT系數(shù)特征進(jìn)行鑒 別。
【發(fā)明內(nèi)容】
[0005] 為了克服上述現(xiàn)有技術(shù)的不足,本發(fā)明提出一種鑒別數(shù)字音頻AAC格式多次壓縮 的方法,用于分析判斷鑒別數(shù)字音頻AAC格式是否被多次壓縮;本發(fā)明是依據(jù)數(shù)字音頻在 壓縮時(shí)MDCT系數(shù)會(huì)發(fā)生變化,進(jìn)而導(dǎo)致Huffman編碼的不同。隨著壓縮次數(shù)的增多,這種差 異會(huì)越來越小。本發(fā)明方法將不同的壓縮次數(shù)之間Huffman編碼小值的差異組成特征值, 再利用SVM分類器分類,對(duì)鑒別AAC格式的數(shù)字音頻是否被多次壓縮有很好的效果。本發(fā) 明方法在不同的壓縮碼率、立體聲模式、低采樣率等條件下依然具有較好的鑒別能力。
[0006] 為了實(shí)現(xiàn)上述目的,本發(fā)明的技術(shù)方案為: 一種鑒別數(shù)字音頻AAC格式多次壓縮的方法,步驟如下: I) 數(shù)字首頻集的構(gòu)造: II) 壓縮一次音頻集的構(gòu)造:首先從CD中選取無損的WAV格式文件,裁剪成若干10秒 鐘長度的音頻片段,然后以若干種不同(32kbps、48kbps、64kbps、96kbps、128kbps)的碼率 壓縮成AAC格式的音頻,得到壓縮一次的AAC音頻集。
[0007] 12)壓縮兩次音頻集的構(gòu)造:對(duì)11)中生成的壓縮一次的AAC文件分別進(jìn)行解碼 成WAV格式文件,然后,再將它們分別以其對(duì)應(yīng)的碼率再次壓縮成AAC文件,得到壓縮兩次 的首頻集。
[0008] 13)壓縮三次音頻集的構(gòu)造:對(duì)12)中生成的壓縮兩次的AAC文件按照同樣的方 法進(jìn)行解碼,然后,再分別以其對(duì)應(yīng)碼率再壓縮,得到壓縮三次的AAC格式的音頻集。
[0009] 2)音頻集特征提?。?對(duì)上述得到的三種音頻集,按以下方法提取特征: 21)根據(jù)AAC標(biāo)準(zhǔn),每幀提取1024個(gè)Huffman編碼值。
[0010] 22)統(tǒng)計(jì)每個(gè)音頻片段中所有幀的Huffman編碼值分別為0的個(gè)數(shù),± 1的個(gè)數(shù)和 以及±2的個(gè)數(shù)和,然后除以幀數(shù),得到平均每幀中的0, ±1,±2的個(gè)數(shù),將平均每幀中0, ± 1,±2的個(gè)數(shù)稱作"Huffman小值'
[0011] 23)依據(jù)22)中的方法,用壓縮一次音頻片段的Huffman小值減去壓縮兩次音 頻片段的Huffman小值,得到第一組特征值。采取相同的方法,用壓縮兩次的音頻片段的 Huffman小值減去壓縮三次的音頻片段的Huffman小值,得到第二組特征值。
[0012] 3)分類器的構(gòu)造: 將步驟2)中得到的兩組特征值利用SVM分類器進(jìn)行訓(xùn)練,得到一個(gè)能鑒別數(shù)字音頻AAC是否被多次壓縮的分類器模型Model。
[0013] 4)鑒別待測音頻: 首先,將待測音頻解碼,得到Huffman小值。然后,將解碼的文件再次壓縮成AAC文件, 再解碼,得到另一組Huffman小值。將這兩組Huffman小值相減,組成待測音頻特征值。最 后,利用3)中訓(xùn)練出來的Model進(jìn)行鑒別。如果待測音頻特征值屬于第一組特征值的類別 則該待測音頻是壓縮一次的數(shù)字音頻,否則是壓縮兩次或兩次以上的數(shù)字音頻。
[0014] 現(xiàn)有手機(jī)中有一段數(shù)字音頻原本就是AAC格式,當(dāng)對(duì)其編輯后再一次保存成AAC 格式時(shí),就會(huì)發(fā)生對(duì)原始音頻的二次壓縮。本發(fā)明方法對(duì)數(shù)字音頻AAC是否被多次壓縮有 很好的鑒別能力,可以作為鑒定數(shù)字音頻是否被多次編輯的一種輔助手段。對(duì)一個(gè)AAC數(shù) 字音頻信號(hào),本發(fā)明通過分析其內(nèi)在的本質(zhì)特征以及不同的壓縮次數(shù)之間的差別,鑒定它 是否曾經(jīng)被多次壓縮。
【附圖說明】
[0015] 圖1是本發(fā)明方法鑒別數(shù)字音頻AAC是否被多次壓縮流程圖。
[0016] 圖2是AAC標(biāo)準(zhǔn)中解碼流程圖。
[0017] 圖3是壓縮一次和壓縮兩次Huffman小值分布圖。
[0018] 圖4是不同壓縮次數(shù)Huffman小值差的分布圖。
【具體實(shí)施方式】
[0019] 下面結(jié)合附圖對(duì)本發(fā)明方法作進(jìn)一步說明。
[0020] 本發(fā)明提出的一種鑒別數(shù)字音頻AAC格式多次壓縮的方法,該方法鑒別待測音頻 是否被多次壓縮的過程十分簡單,如圖1所示。對(duì)于輸入AAC格式的待測音頻,首先,將 其解碼獲得第一組Huffman小值。然后,將解碼得到的文件再次壓縮,再解碼獲得第二組 Huffman小值。最后,將兩次獲得的Huffman小值做差組成待測音頻的特征值,利用SVM分 類器進(jìn)行分類鑒別。具體步驟如下: I) 數(shù)字首頻集的構(gòu)造: II) 壓縮一次音頻集的構(gòu)造:首先選取無損WAV格式文件,包括中文歌曲、外文歌曲、 戲曲、鋼琴曲、搖滾、爵士、古典等等各種各樣的音頻文件,包含的范圍盡可能廣。將上述這 些數(shù)字音頻利用ffmpeg等音頻編輯軟件裁剪成若干10秒鐘長度的音頻片段,然后分別以 32kbps、48kbps、64kbps、96kbps、128kbps的碼率利用fdk_aac等AAC編碼器壓縮成AAC格 式的音頻。
[0021] 12)壓縮兩次音頻集的構(gòu)造:對(duì)11)中生成的AAC文件進(jìn)行解碼成WAV格式文件, 再將它們分別以第一次壓縮時(shí)對(duì)應(yīng)的碼率再次壓縮成AAC文件,得到壓縮兩次的音頻集。
[0022] 13)壓縮三次音頻集的構(gòu)造:對(duì)12)中生成的壓縮兩次的AAC文件按照同樣的方 法再一次進(jìn)行解碼,然后再分別以對(duì)應(yīng)碼率壓縮成AAC文件,得到壓縮三次的音頻集。
[0023] 2)音頻集特征提?。?對(duì)上述音頻集中的每個(gè)音頻片段,按以下方法提取特征: 21)首先按AAC標(biāo)準(zhǔn)解碼方法,如圖2所示,對(duì)每一幀提取1024個(gè)Huffman編碼值。具 體做法如下: 目前AAC格式的編解碼器有很多,在本實(shí)施例中利用比較流行的開源的fdk_aac(http://sourceforge.net/p/opencore-amr/fdk-aac/.)編解碼器,通過在解碼端增加 少量代碼即可輸出Huffman編碼值。而后利用功能強(qiáng)大的開源ffmpeg(https://ffmpeg. org/)對(duì)fdk_aac進(jìn)行編譯,即可在音頻解碼時(shí)輸出Huffman編碼值。
[0024] 22)統(tǒng)計(jì)每個(gè)音頻片段中所有幀的Huffman編碼值分別為0的個(gè)數(shù),± 1的個(gè)數(shù)和 以及±2的個(gè)數(shù)和,然后分別除以幀數(shù),得到平均每幀中的0, ±1,±2的個(gè)數(shù)。將平均每 幀中0, ± 1,±2的個(gè)數(shù)稱作"Huffman小值"。將20552個(gè)音頻片段以48kbps碼率分別壓 縮一次和壓縮兩次,其Huffman小值分布如圖3所示。由圖中可以看出,對(duì)于同一個(gè)音頻片 段壓縮一次和壓縮兩次的Huffman小值分布十分相似,僅通過比較壓縮一次和壓縮兩次的 Huffman小值分布很難達(dá)到鑒別效果。
[0025] 23)依據(jù)22)中的方法,用壓縮一次音頻片段的Huffman小值減去壓縮兩次音頻片 段的Huffman小值,得到第一組特征值。采取相同的方法,用壓縮兩次音頻片段的Huffman 小值減去壓縮三次音頻片段的Huffman小值,得到第二組特征值。如圖4所示,壓縮一次與 壓縮兩次音頻片段Huffman小值的差和壓縮兩次與壓縮三次音頻片段Huffman小值的差統(tǒng) 計(jì)分布。從圖中可以明顯的看出,由于壓縮次數(shù)的不同導(dǎo)致不同的差異程度。壓縮一次和 壓縮兩次之間的差異明顯比壓縮兩次和壓縮三次之間的差異劇烈得多,尤其是±1和±2 個(gè)數(shù)的變化。通過將不同的壓縮次數(shù)之間Huffman小值的變化作為特征值進(jìn)行鑒別數(shù)字音 頻AAC是否被多次壓縮有較好的鑒別效果。
[0026] 3)分類器的構(gòu)造: 將2)中得到的兩組特征值利用SVM分類器進(jìn)行訓(xùn)練,得到一個(gè)能鑒別AAC格式的數(shù)字 音頻是否被多次壓縮的分類器模型Model。
[0027] 4)鑒別待測音頻: 首先,將輸入AAC格式的待測音頻解碼,根據(jù)AAC解碼標(biāo)準(zhǔn)每幀得到1024個(gè)Huffman編 碼值。然后,將解碼得到的文件再壓縮,再解碼得到另一組Huffman小值。將這兩組Huffman 小值相減,組成待測音頻特征值。最后,利用3)中訓(xùn)練出來的Model進(jìn)行鑒別,如果待測音 頻特征值屬于第一組特征值的類別則該待測音頻是壓縮一次的數(shù)字音頻,否則是壓縮兩次 或兩次以上的數(shù)字音頻。
[0028] 本發(fā)明方法的原理如下: 數(shù)字音頻在壓縮過程中譜線系數(shù)會(huì)發(fā)生變化,而隨著壓縮次數(shù)的增多這種變化將越來 越不明顯。壓縮次數(shù)不同的AAC格式的數(shù)字音頻僅通過比較兩者的MDCT系數(shù)很難對(duì)其是 否被多次壓縮進(jìn)行鑒別,而通過比較不同的壓縮次數(shù)之間差異的大小對(duì)數(shù)字音頻是否被多 次壓縮進(jìn)行鑒別卻是十分有效的。
[0029] 下面給出本發(fā)明方法的