本技術(shù)屬于音頻數(shù)據(jù)處理,具體涉及一種音頻數(shù)據(jù)處理方法、裝置、電子設(shè)備及程序產(chǎn)品。
背景技術(shù):
1、目前,在對音頻數(shù)據(jù)進(jìn)行處理時(shí),不僅需要音頻數(shù)據(jù)的原始數(shù)據(jù),而且需要音頻數(shù)據(jù)的傳輸頻率,且傳輸頻率需和音頻數(shù)據(jù)的采樣頻率一致,否則無法對音頻進(jìn)行準(zhǔn)確處理。如頻譜分析、采樣率轉(zhuǎn)換、回音消除等均需要根據(jù)音頻數(shù)據(jù)的采樣頻率才能進(jìn)行準(zhǔn)確地音頻數(shù)據(jù)分析及處理。對于特殊結(jié)構(gòu)的音頻數(shù)據(jù),如音頻數(shù)據(jù)被周期性打亂、傳輸頻率與數(shù)據(jù)實(shí)際采樣頻率不一致等,則無法使用常規(guī)音頻處理方法直接進(jìn)行數(shù)據(jù)處理。
2、需要說明的是,上述的陳述僅用于提供與本技術(shù)有關(guān)的背景技術(shù)信息,而不必然的構(gòu)成現(xiàn)有技術(shù)。
技術(shù)實(shí)現(xiàn)思路
1、本技術(shù)提出一種音頻數(shù)據(jù)處理方法、裝置、電子設(shè)備及程序產(chǎn)品,能夠快速、準(zhǔn)確地實(shí)現(xiàn)音頻數(shù)據(jù)的帶寬匹配,以便正確提取音頻數(shù)據(jù)。
2、本技術(shù)第一方面實(shí)施例提出了一種音頻數(shù)據(jù)處理方法,用于數(shù)據(jù)接收端,所述方法包括:
3、獲取第一音頻數(shù)據(jù)的當(dāng)前幀采樣時(shí)間,以及所述當(dāng)前幀的所述第一音頻數(shù)據(jù)包含的有效字節(jié)數(shù)目;所述第一音頻數(shù)據(jù)是指數(shù)據(jù)傳輸順序被周期性打亂的音頻數(shù)據(jù);
4、基于所述當(dāng)前幀采樣時(shí)間和所述有效字節(jié)數(shù)目確定當(dāng)前幀的第二音頻數(shù)據(jù)的數(shù)據(jù)周期;所述第二音頻數(shù)據(jù)是指與所述第一音頻數(shù)據(jù)對應(yīng),且數(shù)據(jù)傳輸順序正常的音頻數(shù)據(jù);
5、根據(jù)所述數(shù)據(jù)周期及所述數(shù)據(jù)接收端的本地時(shí)鐘頻率,確定所述第二音頻數(shù)據(jù)在所述數(shù)據(jù)接收端本地時(shí)鐘下的采樣頻率。
6、在一些可選的實(shí)施例中,所述獲取第一音頻數(shù)據(jù)的當(dāng)前幀采樣時(shí)間,包括:
7、檢測到前一幀的所述第一音頻數(shù)據(jù)采樣完畢;
8、計(jì)數(shù)統(tǒng)計(jì)自前一幀的所述第一音頻數(shù)據(jù)采樣完畢至所述當(dāng)前幀的所述第一音頻數(shù)據(jù)采樣完畢之間的時(shí)間,并確定為所述當(dāng)前幀采樣時(shí)間。
9、在一些可選的實(shí)施例中,所述方法還包括:
10、采集到預(yù)設(shè)數(shù)目個(gè)所述第一音頻數(shù)據(jù)的情況下,生成一次標(biāo)識(shí)脈沖;所述標(biāo)識(shí)脈沖用于表示采集到一幀所述第一音頻數(shù)據(jù);
11、檢測到所述標(biāo)識(shí)脈沖,以確定當(dāng)前幀的所述第一音頻數(shù)據(jù)采樣完畢。
12、在一些可選的實(shí)施例中,所述基于所述當(dāng)前幀采樣時(shí)間和所述有效字節(jié)數(shù)目確定當(dāng)前幀的第二音頻數(shù)據(jù)的數(shù)據(jù)周期,包括:
13、在所述當(dāng)前幀采樣時(shí)間內(nèi)當(dāng)前幀音頻數(shù)據(jù)采樣完畢的情況下,基于所述當(dāng)前幀采樣時(shí)間和所述有效字節(jié)數(shù)目的商值來確定當(dāng)前幀的所述第二音頻數(shù)據(jù)的數(shù)據(jù)周期;
14、在所述當(dāng)前幀采樣時(shí)間內(nèi)當(dāng)前幀音頻數(shù)據(jù)未采樣完畢的情況下,將預(yù)設(shè)周期默認(rèn)值確定為當(dāng)前幀的所述第二音頻數(shù)據(jù)的數(shù)據(jù)周期。
15、在一些可選的實(shí)施例中,所述基于所述當(dāng)前幀采樣時(shí)間和所述有效字節(jié)數(shù)目的商值來確定當(dāng)前幀的所述第二音頻數(shù)據(jù)的數(shù)據(jù)周期,包括:
16、在所述當(dāng)前幀采樣時(shí)間在預(yù)設(shè)閾值范圍的情況下,采用除法器計(jì)算所述當(dāng)前幀采樣時(shí)間和所述有效字節(jié)數(shù)目的商值;
17、基于所述商值和預(yù)設(shè)裕量確定當(dāng)前幀的所述第二音頻數(shù)據(jù)的數(shù)據(jù)周期。
18、在一些可選的實(shí)施例中,所述獲取第一音頻數(shù)據(jù)的當(dāng)前幀采樣時(shí)間,以及所述當(dāng)前幀的所述第一音頻數(shù)據(jù)包含的有效字節(jié)數(shù)目之前,還包括:
19、將接收到的所述第一音頻數(shù)據(jù)寫入內(nèi)存的音頻緩存區(qū)域,并統(tǒng)計(jì)采集到的所述第一音頻數(shù)據(jù)的個(gè)數(shù)。
20、在一些可選的實(shí)施例中,所述根據(jù)所述數(shù)據(jù)周期確定接收端在本地時(shí)鐘下的采樣頻率之后,還包括:
21、在各所述數(shù)據(jù)周期內(nèi),讀取連續(xù)的兩個(gè)所述第一音頻數(shù)據(jù);
22、基于所述連續(xù)的兩個(gè)所述第一音頻數(shù)據(jù),進(jìn)行音頻數(shù)據(jù)提取,得到第二音頻數(shù)據(jù);所述第二音頻數(shù)據(jù)是指數(shù)據(jù)傳輸順序正常的音頻數(shù)據(jù)。
23、在一些可選的實(shí)施例中,所述在各所述數(shù)據(jù)周期內(nèi),讀取連續(xù)的兩個(gè)所述第一音頻數(shù)據(jù),包括:
24、在各所述數(shù)據(jù)周期內(nèi),檢測連續(xù)的兩個(gè)所述第一音頻數(shù)據(jù)的字節(jié)有效性標(biāo)識(shí);
25、在所述字節(jié)有效性標(biāo)識(shí)表征所述連續(xù)的兩個(gè)所述第一音頻數(shù)據(jù)有效的情況下,讀取所述連續(xù)的兩個(gè)所述第一音頻數(shù)據(jù)。
26、在一些可選的實(shí)施例中,所述基于所述連續(xù)的兩個(gè)所述第一音頻數(shù)據(jù),進(jìn)行音頻數(shù)據(jù)提取,得到第二音頻數(shù)據(jù),包括:
27、分析所述連續(xù)的兩個(gè)所述第一音頻數(shù)據(jù)中每個(gè)字節(jié)的有效性及其所屬的通道;
28、將左聲道的字節(jié)數(shù)據(jù)和右聲道的字節(jié)數(shù)據(jù)分別送入其對應(yīng)的聲道中。
29、在一些可選的實(shí)施例中,采用狀態(tài)機(jī),按照下述步驟執(zhí)行音頻數(shù)據(jù)處理過程:
30、在空閑狀態(tài)下,檢測到帶寬匹配使能信號(hào),在確定所述第二音頻數(shù)據(jù)的數(shù)據(jù)周期的情況下,進(jìn)入有效標(biāo)志讀取狀態(tài);
31、在所述有效標(biāo)志讀取狀態(tài)下,讀取連續(xù)兩個(gè)數(shù)據(jù)的字節(jié)有效性標(biāo)識(shí),檢測到所述字節(jié)有效性標(biāo)識(shí)表征字節(jié)數(shù)據(jù)有效的情況下進(jìn)入讀音頻數(shù)據(jù)狀態(tài);否則讀取下一個(gè)連續(xù)兩個(gè)音頻數(shù)據(jù)的字節(jié)有效性標(biāo)識(shí),并判斷所述下一個(gè)連續(xù)兩個(gè)音頻數(shù)據(jù)的有效性;
32、在所述讀音頻數(shù)據(jù)狀態(tài)下,讀取所述字節(jié)有效性標(biāo)識(shí)所對應(yīng)的連續(xù)兩個(gè)的所述第一音頻數(shù)據(jù),并進(jìn)入數(shù)據(jù)提取狀態(tài);
33、在所述數(shù)據(jù)提取狀態(tài)下,根據(jù)所述連續(xù)兩個(gè)音頻數(shù)據(jù)的字節(jié)有效性標(biāo)識(shí),分析所述第一音頻數(shù)據(jù)中每個(gè)字節(jié)的有效性及所屬的通道,分別將左聲道的字節(jié)數(shù)據(jù)和右聲道的字節(jié)數(shù)據(jù)依次送入對應(yīng)的聲道中。
34、本技術(shù)第二方面的實(shí)施例提供了一種音頻數(shù)據(jù)處理裝置,應(yīng)用于數(shù)據(jù)接收端,所述裝置包括:
35、數(shù)據(jù)獲取模塊,用于獲取第一音頻數(shù)據(jù)的當(dāng)前幀采樣時(shí)間,以及所述當(dāng)前幀的所述第一音頻數(shù)據(jù)包含的有效字節(jié)數(shù)目;所述第一音頻數(shù)據(jù)是指數(shù)據(jù)傳輸順序被周期性打亂的音頻數(shù)據(jù);
36、數(shù)據(jù)周期確定模塊,用于基于所述當(dāng)前幀采樣時(shí)間和所述有效字節(jié)數(shù)目確定當(dāng)前幀的第二音頻數(shù)據(jù)的數(shù)據(jù)周期;所述第二音頻數(shù)據(jù)是指與所述第一音頻數(shù)據(jù)對應(yīng),且數(shù)據(jù)傳輸順序正常的音頻數(shù)據(jù);
37、頻率確定模塊,用于根據(jù)所述數(shù)據(jù)周期及所述數(shù)據(jù)接收端的本地時(shí)鐘頻率,確定所述第二音頻數(shù)據(jù)在所述數(shù)據(jù)接收端本地時(shí)鐘下的采樣頻率。
38、本技術(shù)第三方面的實(shí)施例提供了一種電子設(shè)備,包括存儲(chǔ)器、處理器及存儲(chǔ)在所述存儲(chǔ)器上并可在所述處理器上運(yùn)行的計(jì)算機(jī)程序,所述處理器執(zhí)行所述程序,以實(shí)現(xiàn)如第一方面所述的方法。
39、本技術(shù)第四方面的實(shí)施例提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,該程序被處理器執(zhí)行,以實(shí)現(xiàn)如第一方面所述的方法。
40、本技術(shù)第五方面的實(shí)施例提供了一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行以實(shí)現(xiàn)第一方面所述的方法。
41、本技術(shù)實(shí)施例中提供的技術(shù)方案,至少具有如下技術(shù)效果或優(yōu)點(diǎn):
42、本技術(shù)實(shí)施例提供的音頻數(shù)據(jù)處理方法,先獲取第一音頻數(shù)據(jù)的當(dāng)前幀采樣時(shí)間,以及當(dāng)前幀的第一音頻數(shù)據(jù)包含的有效字節(jié)數(shù)目;基于當(dāng)前幀采樣時(shí)間和有效字節(jié)數(shù)目確定當(dāng)前幀的所述第二音頻數(shù)據(jù)的數(shù)據(jù)周期;根據(jù)數(shù)據(jù)周期確定數(shù)據(jù)在接收端本地時(shí)鐘下的采樣頻率。如此,可以獲取到各幀音頻數(shù)據(jù)的數(shù)據(jù)周期,從而可以對順序被打亂的第一音頻數(shù)據(jù)進(jìn)行逐幀的帶寬匹配,以得到第二音頻數(shù)據(jù)在接收端本地時(shí)鐘下更為準(zhǔn)確的實(shí)際采樣頻率,并匹配該實(shí)際采樣頻率進(jìn)行音頻數(shù)據(jù)的發(fā)送,以保證下游數(shù)據(jù)接收端能夠直接對音頻進(jìn)行處理。