現(xiàn)在位置:主頁 > 科技 > 效率源技術(shù)視界 I 不同音頻文件如何進(jìn)行數(shù)據(jù)恢復(fù)?

效率源技術(shù)視界 I 不同音頻文件如何進(jìn)行數(shù)據(jù)恢復(fù)?

作者:編輯 ? 時間:2019-07-04 ? 瀏覽:人次

云圖片

人類能夠聽到的所有聲音都稱之為音頻。在互聯(lián)網(wǎng)科技高度發(fā)展的今天,各類設(shè)備和軟件層出不窮,而其中大部分都可以以文件的形式對聲音進(jìn)行傳輸和保存,對于這些存儲聲音的文件稱之為音頻文件。

在效率源協(xié)助的案件調(diào)查中,如果能夠直接提取到手機(jī)音頻文件,如通話錄音、手機(jī)錄音、微信語音、QQ語音等,對于案件推進(jìn)可能起到?jīng)Q定性作用。

不同的音頻文件編碼方式不同,生成的文件結(jié)構(gòu)也各不相同,采用的數(shù)據(jù)修復(fù)方法自然也有差異。當(dāng)我們想要對這些音頻文件進(jìn)行修復(fù)時,需要根據(jù)它們的編碼方式采用不同的修復(fù)方法。本期效率源工程師就來聊聊多種音頻編碼格式的原理及其數(shù)據(jù)恢復(fù)解決方案。

PCM編碼

一.PCM編碼介紹
PCM編碼是指PCM信號未經(jīng)過任何編碼和壓縮處理(無損壓縮)。與模擬信號比,它不易受傳送系統(tǒng)的雜波及失真的影響。動態(tài)范圍寬,可得到音質(zhì)相當(dāng)好的效果。在計(jì)算機(jī)應(yīng)用中,能夠達(dá)到最高保真水平的就是PCM編碼。

二.PCM編碼運(yùn)用場景
PCM編碼數(shù)據(jù)主要運(yùn)用在WAV音頻文件中。

三.WAV音頻文件存儲結(jié)構(gòu)及數(shù)據(jù)恢復(fù)

1、WAV音頻文件存儲結(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格式音頻文件存儲結(jié)構(gòu)

2、WAV音頻文件數(shù)據(jù)恢復(fù)

在對WAV文件進(jìn)行修復(fù)時,其中最關(guān)鍵的信息就是“fmt”塊中記錄的音頻壓縮編碼格式信息(如下表)。根據(jù)各種編碼方式可以在“data”塊中提取出有效的音頻數(shù)據(jù),并按照wav的結(jié)構(gòu)對文件進(jìn)行修復(fù)。

云圖片

WAV文件中fmt塊包含編碼信息

四.WAV音頻文件修復(fù)注意事項(xiàng)

WAV文件修復(fù)需要分為兩種情況來考慮:

一是有同設(shè)備生成的能正常播放的wav音頻文件作為參考樣本文件進(jìn)行修復(fù);

二是沒有參考樣本文件,則需要根據(jù)音頻數(shù)據(jù)的特征自定義壓縮編碼方式、音頻采樣率、音頻通道數(shù)、音頻數(shù)據(jù)傳輸速率,通過自定義信息對音頻文件進(jìn)行修復(fù)。

這里以WAV文件采用PCM編碼音頻數(shù)據(jù)為例:
①確定音頻采樣率、音頻通道數(shù)、音頻數(shù)據(jù)傳輸速率
②根據(jù)WAV文件存儲結(jié)構(gòu)組合音頻數(shù)據(jù)流

MP3編碼

一.MP3編碼介紹
MPEG-1 or MPEG-2 Audio Layer III是一種音頻壓縮技術(shù),其全稱是動態(tài)影像專家壓縮標(biāo)準(zhǔn)音頻層面3(Moving Picture Experts Group Audio Layer III),簡稱為MP3,是目前最流行的音頻編碼格式,它是一種有損壓縮格式,壓縮編碼的質(zhì)量與選擇的比特率有關(guān)。

云圖片

MP3編碼流程

二.MP3編碼運(yùn)用場景
MP3編碼數(shù)據(jù)運(yùn)用在MP3音頻文件中。

三.MP3音頻文件存儲結(jié)構(gòu)及數(shù)據(jù)恢復(fù)

1、MP3文件存儲結(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ù)的長度,因此只要獲取了幀頭結(jié)構(gòu)的參數(shù)信息,就可以確定每幀的幀長度。Mp3文件存儲結(jié)構(gòu)如下圖。

云圖片

Mp3文件存儲結(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)、開放和沒有專利限制的。它還有一個特點(diǎn)是支持多聲道。

云圖片

Ogg Vorbis編解碼流程圖

二.OGG編碼運(yùn)用場景
OGG編碼生成的音頻文件格式就為OGG音頻文件。

三.OGG音頻文件存儲結(jié)構(gòu)及數(shù)據(jù)恢復(fù)

1、OGG音頻文件存儲結(jié)構(gòu)

OGG是以頁(page)為單位將邏輯流組織鏈接起來,每個頁都有頁頭和頁數(shù)據(jù)兩部分。每頁的頁頭中都有頁標(biāo)識“OggS”。OGG格式音頻文件存儲結(jié)構(gòu)如下圖。

云圖片

OGG格式音頻文件存儲結(jié)構(gòu)

2、OGG音頻文件數(shù)據(jù)恢復(fù)

在OGG音頻文件中,OGG Vorbis比特流是以三個數(shù)據(jù)包頭開始的。這些頭數(shù)據(jù)包按順序依次是:標(biāo)識標(biāo)題、注釋標(biāo)題和設(shè)置數(shù)據(jù)包。這些都與解碼Vorbis音頻文件密切相關(guān)的,每個數(shù)據(jù)包都是以同樣的頭結(jié)構(gòu)“vorbis”開始,如果一個ogg音頻文件缺失了其中三個數(shù)據(jù)包中任意一個數(shù)據(jù)包內(nèi)容,則該音頻文件不能正常播放。

四.OGG音頻文件數(shù)據(jù)修復(fù)注意事項(xiàng)
OGG音頻文件修復(fù)需要考慮兩個方面的問題:

1、OGG音頻文件是否缺失標(biāo)識標(biāo)題、注釋標(biāo)題和音頻設(shè)置這三個數(shù)據(jù)包。

若缺失,要實(shí)現(xiàn)OGG文件修復(fù)則需要提供同設(shè)備生成的能夠正常播放的OGG音頻文件作為參考樣本文件,再將受損文件中的音頻數(shù)據(jù)按頁提取出來,組成新的可播放的OGG音頻文件。

2、OGG音頻文件頁校驗(yàn)碼是否正確。

在OGG文件每頁都有一個4字節(jié)頁校驗(yàn)碼,
當(dāng)一個OGG文件不能正常播放,且三個數(shù)據(jù)包都存在,則需要對頁校驗(yàn)碼進(jìn)行校驗(yàn)計(jì)算;
若三個數(shù)據(jù)包所在頁的校驗(yàn)碼錯誤,則OGG文件不能正常播放;
若是其中的音頻數(shù)據(jù)所在頁校驗(yàn)碼錯誤,則該頁音頻數(shù)據(jù)不能正常播放,但并不影響其他頁的音頻數(shù)據(jù),只需要對校驗(yàn)錯誤的頁進(jìn)行重新校驗(yàn)計(jì)算。

AMR編碼

一.AMR編碼介紹
AMR主要用于移動設(shè)備的音頻,壓縮比比較大,但相對其他的壓縮格式質(zhì)量比較差,由于多用于人聲通話。

云圖片

AMR編解碼流程

Payload Parse模塊-----解碼出編碼語音數(shù)據(jù);
Speech Decode模塊----解碼語音幀;
DTX Decode模塊-----解碼噪音幀;
Post-Processing模塊-----語音后處理;

二.AMR編碼運(yùn)用場景
AMR編碼生成的音頻文件格式就為AMR音頻文件。

三.AMR音頻文件存儲結(jié)構(gòu)及數(shù)據(jù)修復(fù)

1、AMR音頻文件存儲結(jié)構(gòu)

AMR音頻編碼分為兩類分別為AMR-NB和AMR-WB。這兩類AMR音頻編碼的區(qū)別主要在于幀類型和對應(yīng)的傳輸比特率不同。AMR音頻文件由文件頭+若干語音幀構(gòu)成,如圖所示。

云圖片

AMR音頻幀1字節(jié)幀頭結(jié)構(gòu)

在每個語音幀的第一個字節(jié)為該語音幀的幀頭,根據(jù)幀頭中包含的幀類型值以及文件頭結(jié)構(gòu)確定每個語音幀的字節(jié)長度。AMR音頻文件存儲結(jié)構(gòu)如下所示。

云圖片

AMR音頻文件存儲結(jié)構(gòu)

在計(jì)算AMR文件每個語音幀的字節(jié)長度,需要知道幀類型對應(yīng)的編碼方式,具體詳情如下所示。

云圖片

AMR幀編碼方式

以上圖(AMR音頻文件存儲結(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文件中,每個語音幀的時長為20毫秒,因此在對AMR文件進(jìn)行修復(fù)時:首先需要確定AMR文件的分類;然后根據(jù)每幀數(shù)據(jù)的幀頭確定每幀數(shù)據(jù)的字節(jié)長度;再根據(jù)傳輸速率和每幀時長可計(jì)算出一幀音頻幀的字節(jié)長度=傳輸比特率/每秒幀數(shù)/8位+1字節(jié)幀頭,從而實(shí)現(xiàn)AMR文件修復(fù)。

四.AMR音頻文件修復(fù)注意事項(xiàng)

針對AMR音頻文件的數(shù)據(jù)恢復(fù)需分為兩種情況考慮:

1、有參考樣本文件的情況

首先,根據(jù)同設(shè)備生成的AMR文件的文件頭確定AMR的分類;
然后,根據(jù)幀頭確定幀數(shù)據(jù)類型從而計(jì)算出每幀音頻數(shù)據(jù)的字節(jié)長度;
最后,獲取待修復(fù)文件中的每幀音頻數(shù)據(jù),根據(jù)AMR文件結(jié)構(gòu)生成新的可正常播放的AMR文件。

2、無參考樣本文件的情況

首先,根據(jù)語音幀幀頭結(jié)構(gòu)和兩種AMR文件類型,反推出一幀語音數(shù)據(jù)的字節(jié)長度;
然后,根據(jù)字節(jié)長度與文件中語音幀長度對比,確定AMR文件類型;
最后,獲取待修復(fù)文件中的每幀音頻數(shù)據(jù),根據(jù)AMR文件結(jié)構(gòu)生成新的可正常播放的AMR文件。

在日常工作生活中對于音頻文件的運(yùn)用無處不在,本文我們針對當(dāng)前主流的幾種音頻格式,基于其音頻編碼方式原理提出的音頻文件數(shù)據(jù)恢復(fù)方案,希望能夠幫助您高效且快速的解決音頻文件的數(shù)據(jù)修復(fù)問題。

如對文中的操作、描述有任何疑問,或者有任何取證需求,歡迎撥打熱線電話028-85211099或關(guān)注“效率源科技”微信號給我們留言,我們會盡快聯(lián)系您。


轉(zhuǎn)載請保留原文鏈接:http://www.eatcooks.com/a/keji/2019/0704/33514.html上一篇:上一篇:汽車的安全系數(shù)對車輛有多重要?如何為愛車保駕護(hù)航?
下一篇:下一篇:沒有了