┊文章閱讀:次
人類能夠聽到的所有聲音都稱之為音頻。在互聯(lián)網(wǎng)科技高度發(fā)展的今天,各類設(shè)備和軟件層出不窮,而其中大部分都可以以文件的形式對(duì)聲音進(jìn)行傳輸和保存,對(duì)于這些存儲(chǔ)聲音的文件稱之為音頻文件。
在效率源協(xié)助的案件調(diào)查中,如果能夠直接提取到手機(jī)音頻文件,如通話錄音、手機(jī)錄音、微信語音、QQ語音等,對(duì)于案件推進(jìn)可能起到?jīng)Q定性作用。
不同的音頻文件編碼方式不同,生成的文件結(jié)構(gòu)也各不相同,采用的數(shù)據(jù)修復(fù)方法自然也有差異。當(dāng)我們想要對(duì)這些音頻文件進(jìn)行修復(fù)時(shí),需要根據(jù)它們的編碼方式采用不同的修復(fù)方法。本期效率源工程師就來聊聊多種音頻編碼格式的原理及其數(shù)據(jù)恢復(fù)解決方案。
PCM編碼
一.PCM編碼介紹
PCM編碼是指PCM信號(hào)未經(jīng)過任何編碼和壓縮處理(無損壓縮)。與模擬信號(hào)比,它不易受傳送系統(tǒng)的雜波及失真的影響。動(dòng)態(tài)范圍寬,可得到音質(zhì)相當(dāng)好的效果。在計(jì)算機(jī)應(yīng)用中,能夠達(dá)到最高保真水平的就是PCM編碼。
二.PCM編碼運(yùn)用場(chǎng)景
PCM編碼數(shù)據(jù)主要運(yùn)用在WAV音頻文件中。
三.WAV音頻文件存儲(chǔ)結(jié)構(gòu)及數(shù)據(jù)恢復(fù)
1、WAV音頻文件存儲(chǔ)結(jié)構(gòu)
WAV音頻文件中的音頻數(shù)據(jù)編碼方式有PCM、Microsoft ADPCM、IEEE float、ITU G.711 ɑ-law、ITU G.711 μ-law、GSM 6.10、ITU G.721 ADPCM等幾種常見的壓縮編碼格式。
WAV格式音頻文件存儲(chǔ)結(jié)構(gòu)
2、WAV音頻文件數(shù)據(jù)恢復(fù)
在對(duì)WAV文件進(jìn)行修復(fù)時(shí),其中最關(guān)鍵的信息就是“fmt”塊中記錄的音頻壓縮編碼格式信息(如下表)。根據(jù)各種編碼方式可以在“data”塊中提取出有效的音頻數(shù)據(jù),并按照wav的結(jié)構(gòu)對(duì)文件進(jìn)行修復(fù)。
WAV文件中fmt塊包含編碼信息
四.WAV音頻文件修復(fù)注意事項(xiàng)
WAV文件修復(fù)需要分為兩種情況來考慮:
一是有同設(shè)備生成的能正常播放的wav音頻文件作為參考樣本文件進(jìn)行修復(fù);
二是沒有參考樣本文件,則需要根據(jù)音頻數(shù)據(jù)的特征自定義壓縮編碼方式、音頻采樣率、音頻通道數(shù)、音頻數(shù)據(jù)傳輸速率,通過自定義信息對(duì)音頻文件進(jìn)行修復(fù)。
這里以WAV文件采用PCM編碼音頻數(shù)據(jù)為例:
①確定音頻采樣率、音頻通道數(shù)、音頻數(shù)據(jù)傳輸速率
②根據(jù)WAV文件存儲(chǔ)結(jié)構(gòu)組合音頻數(shù)據(jù)流
MP3編碼
一.MP3編碼介紹
MPEG-1 or MPEG-2 Audio Layer III是一種音頻壓縮技術(shù),其全稱是動(dòng)態(tài)影像專家壓縮標(biāo)準(zhǔn)音頻層面3(Moving Picture Experts Group Audio Layer III),簡(jiǎn)稱為MP3,是目前最流行的音頻編碼格式,它是一種有損壓縮格式,壓縮編碼的質(zhì)量與選擇的比特率有關(guān)。
MP3編碼流程
二.MP3編碼運(yùn)用場(chǎng)景
MP3編碼數(shù)據(jù)運(yùn)用在MP3音頻文件中。
三.MP3音頻文件存儲(chǔ)結(jié)構(gòu)及數(shù)據(jù)恢復(fù)
1、MP3文件存儲(chǔ)結(jié)構(gòu)
MP3文件是由幀(frame)構(gòu)成的,幀是 MP3 文件最小的組成單位。
MP3文件大體分為三部分:TAG_V2(ID3V2),音頻數(shù)據(jù),TAG_V1(ID3V1),詳細(xì)文件結(jié)構(gòu)如下所示。
MP3文件結(jié)構(gòu)
MP3音頻文件中每幀音頻數(shù)據(jù)之間相互獨(dú)立,所以根據(jù)幀頭結(jié)構(gòu)可以確定每幀數(shù)據(jù)的長(zhǎng)度,因此只要獲取了幀頭結(jié)構(gòu)的參數(shù)信息,就可以確定每幀的幀長(zhǎng)度。Mp3文件存儲(chǔ)結(jié)構(gòu)如下圖。
Mp3文件存儲(chǔ)結(jié)構(gòu)
2、MP3音頻文件數(shù)據(jù)修復(fù)
因?yàn)镸P3文件中音頻幀之間的獨(dú)立性,MP3音頻文件的修復(fù)通過音頻幀的4字節(jié)幀頭來確定音頻幀數(shù)據(jù)。
OGG編碼
一.OGG編碼介紹
OGG編碼的全稱是OGGVobis(oggVorbis),是一種音頻壓縮格式,類似于MP3等的音樂格式。但有一點(diǎn)不同的是,它是完全免費(fèi)、開放和沒有專利限制的。它還有一個(gè)特點(diǎn)是支持多聲道。
Ogg Vorbis編解碼流程圖
二.OGG編碼運(yùn)用場(chǎng)景
OGG編碼生成的音頻文件格式就為OGG音頻文件。
三.OGG音頻文件存儲(chǔ)結(jié)構(gòu)及數(shù)據(jù)恢復(fù)
1、OGG音頻文件存儲(chǔ)結(jié)構(gòu)
OGG是以頁(page)為單位將邏輯流組織鏈接起來,每個(gè)頁都有頁頭和頁數(shù)據(jù)兩部分。每頁的頁頭中都有頁標(biāo)識(shí)“OggS”。OGG格式音頻文件存儲(chǔ)結(jié)構(gòu)如下圖。
OGG格式音頻文件存儲(chǔ)結(jié)構(gòu)
2、OGG音頻文件數(shù)據(jù)恢復(fù)
在OGG音頻文件中,OGG Vorbis比特流是以三個(gè)數(shù)據(jù)包頭開始的。這些頭數(shù)據(jù)包按順序依次是:標(biāo)識(shí)標(biāo)題、注釋標(biāo)題和設(shè)置數(shù)據(jù)包。這些都與解碼Vorbis音頻文件密切相關(guān)的,每個(gè)數(shù)據(jù)包都是以同樣的頭結(jié)構(gòu)“vorbis”開始,如果一個(gè)ogg音頻文件缺失了其中三個(gè)數(shù)據(jù)包中任意一個(gè)數(shù)據(jù)包內(nèi)容,則該音頻文件不能正常播放。
四.OGG音頻文件數(shù)據(jù)修復(fù)注意事項(xiàng)
OGG音頻文件修復(fù)需要考慮兩個(gè)方面的問題:
1、OGG音頻文件是否缺失標(biāo)識(shí)標(biāo)題、注釋標(biāo)題和音頻設(shè)置這三個(gè)數(shù)據(jù)包。
若缺失,要實(shí)現(xiàn)OGG文件修復(fù)則需要提供同設(shè)備生成的能夠正常播放的OGG音頻文件作為參考樣本文件,再將受損文件中的音頻數(shù)據(jù)按頁提取出來,組成新的可播放的OGG音頻文件。
2、OGG音頻文件頁校驗(yàn)碼是否正確。
在OGG文件每頁都有一個(gè)4字節(jié)頁校驗(yàn)碼,
當(dāng)一個(gè)OGG文件不能正常播放,且三個(gè)數(shù)據(jù)包都存在,則需要對(duì)頁校驗(yàn)碼進(jìn)行校驗(yàn)計(jì)算;
若三個(gè)數(shù)據(jù)包所在頁的校驗(yàn)碼錯(cuò)誤,則OGG文件不能正常播放;
若是其中的音頻數(shù)據(jù)所在頁校驗(yàn)碼錯(cuò)誤,則該頁音頻數(shù)據(jù)不能正常播放,但并不影響其他頁的音頻數(shù)據(jù),只需要對(duì)校驗(yàn)錯(cuò)誤的頁進(jìn)行重新校驗(yàn)計(jì)算。
AMR編碼
一.AMR編碼介紹
AMR主要用于移動(dòng)設(shè)備的音頻,壓縮比比較大,但相對(duì)其他的壓縮格式質(zhì)量比較差,由于多用于人聲通話。
AMR編解碼流程
Payload Parse模塊-----解碼出編碼語音數(shù)據(jù);
Speech Decode模塊----解碼語音幀;
DTX Decode模塊-----解碼噪音幀;
Post-Processing模塊-----語音后處理;
二.AMR編碼運(yùn)用場(chǎng)景
AMR編碼生成的音頻文件格式就為AMR音頻文件。
三.AMR音頻文件存儲(chǔ)結(jié)構(gòu)及數(shù)據(jù)修復(fù)
1、AMR音頻文件存儲(chǔ)結(jié)構(gòu)
AMR音頻編碼分為兩類分別為AMR-NB和AMR-WB。這兩類AMR音頻編碼的區(qū)別主要在于幀類型和對(duì)應(yīng)的傳輸比特率不同。AMR音頻文件由文件頭+若干語音幀構(gòu)成,如圖所示。
AMR音頻幀1字節(jié)幀頭結(jié)構(gòu)
在每個(gè)語音幀的第一個(gè)字節(jié)為該語音幀的幀頭,根據(jù)幀頭中包含的幀類型值以及文件頭結(jié)構(gòu)確定每個(gè)語音幀的字節(jié)長(zhǎng)度。AMR音頻文件存儲(chǔ)結(jié)構(gòu)如下所示。
AMR音頻文件存儲(chǔ)結(jié)構(gòu)
在計(jì)算AMR文件每個(gè)語音幀的字節(jié)長(zhǎng)度,需要知道幀類型對(duì)應(yīng)的編碼方式,具體詳情如下所示。
AMR幀編碼方式
以上圖(AMR音頻文件存儲(chǔ)結(jié)構(gòu)圖)的語音幀為例,其中一幀音頻幀的幀頭值為0x14=0b00010100,AMR文件的文件頭為“AMR-WB”,幀頭值0x14中包含參數(shù)內(nèi)容有:幀類型為0010=2;幀質(zhì)量為1,表示該幀為good frame;結(jié)合AMR幀編碼方式表中數(shù)據(jù)可知,該音頻幀的數(shù)據(jù)傳輸速率為12.65kBit/s。
2、AMR音頻文件數(shù)據(jù)修復(fù)
在AMR文件中,每個(gè)語音幀的時(shí)長(zhǎng)為20毫秒,因此在對(duì)AMR文件進(jìn)行修復(fù)時(shí):首先需要確定AMR文件的分類;然后根據(jù)每幀數(shù)據(jù)的幀頭確定每幀數(shù)據(jù)的字節(jié)長(zhǎng)度;再根據(jù)傳輸速率和每幀時(shí)長(zhǎng)可計(jì)算出一幀音頻幀的字節(jié)長(zhǎng)度=傳輸比特率/每秒幀數(shù)/8位+1字節(jié)幀頭,從而實(shí)現(xiàn)AMR文件修復(fù)。
四.AMR音頻文件修復(fù)注意事項(xiàng)
針對(duì)AMR音頻文件的數(shù)據(jù)恢復(fù)需分為兩種情況考慮:
1、有參考樣本文件的情況
首先,根據(jù)同設(shè)備生成的AMR文件的文件頭確定AMR的分類;
然后,根據(jù)幀頭確定幀數(shù)據(jù)類型從而計(jì)算出每幀音頻數(shù)據(jù)的字節(jié)長(zhǎng)度;
最后,獲取待修復(fù)文件中的每幀音頻數(shù)據(jù),根據(jù)AMR文件結(jié)構(gòu)生成新的可正常播放的AMR文件。
2、無參考樣本文件的情況
首先,根據(jù)語音幀幀頭結(jié)構(gòu)和兩種AMR文件類型,反推出一幀語音數(shù)據(jù)的字節(jié)長(zhǎng)度;
然后,根據(jù)字節(jié)長(zhǎng)度與文件中語音幀長(zhǎng)度對(duì)比,確定AMR文件類型;
最后,獲取待修復(fù)文件中的每幀音頻數(shù)據(jù),根據(jù)AMR文件結(jié)構(gòu)生成新的可正常播放的AMR文件。
在日常工作生活中對(duì)于音頻文件的運(yùn)用無處不在,本文我們針對(duì)當(dāng)前主流的幾種音頻格式,基于其音頻編碼方式原理提出的音頻文件數(shù)據(jù)恢復(fù)方案,希望能夠幫助您高效且快速的解決音頻文件的數(shù)據(jù)修復(fù)問題。
如對(duì)文中的操作、描述有任何疑問,或者有任何取證需求,歡迎撥打熱線電話028-85211099或關(guān)注“效率源科技”微信號(hào)給我們留言,我們會(huì)盡快聯(lián)系您。
Copyright @ 2013-2018 中國(guó)福建網(wǎng) 版權(quán)所有
聯(lián)系我們
免責(zé)聲明:本站為非營(yíng)利性網(wǎng)站,部分圖片或文章來源于互聯(lián)網(wǎng)如果無意中對(duì)您的權(quán)益構(gòu)成了侵犯,我們深表歉意,請(qǐng)您聯(lián)系,我們立即刪除。