两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

音頻數(shù)據(jù)的處理方法及處理器與流程

文檔序號:12829213閱讀:336來源:國知局
音頻數(shù)據(jù)的處理方法及處理器與流程

本發(fā)明涉及音頻數(shù)據(jù)處理領(lǐng)域,具體而言,涉及一種音頻數(shù)據(jù)的處理方法及處理器。



背景技術(shù):

相關(guān)技術(shù)中,在音頻信號處理時,由于音頻信號本身的復(fù)雜性,導(dǎo)致在配置音頻信號時,配置復(fù)雜,尤其是普通的用戶,不了解音頻信號的傳輸方式,不知道如何配置音頻信號;同時,當(dāng)前各個公司在進行音頻信號處理時,常常出現(xiàn)的問題是音頻信號在傳輸過程中,容易受到外來設(shè)備的干擾,無法準確的傳輸音頻信號;另外,當(dāng)前的音頻信號處理設(shè)備,成本高昂,一般公司或用戶無法自行配置或處理,而且當(dāng)前的音頻信號在傳輸時,傳輸?shù)木嚯x較短,無法保證在用戶設(shè)備與服務(wù)器出現(xiàn)長距離的情況下,能及時、準確的傳輸音頻信號。

針對上述音頻數(shù)據(jù)信號傳輸距離短的問題,目前尚未提出有效的解決方案。



技術(shù)實現(xiàn)要素:

本發(fā)明實施例提供了一種音頻數(shù)據(jù)的處理方法及處理器,以至少解決音頻數(shù)據(jù)信號傳輸距離短的技術(shù)問題。

根據(jù)本發(fā)明實施例的一個方面,提供了一種音頻數(shù)據(jù)的處理方法,包括:接收通過采樣得到的模擬音頻信號;對所述模擬音頻信號進行模數(shù)轉(zhuǎn)換,得到數(shù)字音頻信號;對所述數(shù)字音頻信號進行打包處理,得到音頻數(shù)據(jù)包,其中,所述音頻數(shù)據(jù)包中攜帶有標識信息,所述標識信息用于判斷所述音頻數(shù)據(jù)包中的音頻采樣點是否有效,所述音頻采樣點用于攜帶數(shù)字音頻信號;將所述音頻數(shù)據(jù)包發(fā)送至網(wǎng)絡(luò)中。

進一步地,對所述模擬音頻信號進行模數(shù)轉(zhuǎn)換,得到數(shù)字音頻信號包括:通過主時鐘對所述模擬音頻信號中的時鐘信息和音頻數(shù)據(jù)進行對齊處理;將對齊處理后的所述模擬音頻信號進行格式轉(zhuǎn)換,得到并行格式的所述數(shù)字音頻信號。

進一步地,所述音頻信號中的時鐘信息包括幀時鐘和位時鐘,將對齊處理后的所述模擬音頻信號進行格式轉(zhuǎn)換,得到并行格式的所述數(shù)字音頻信號包括:檢測所述幀時鐘是否出現(xiàn)上升沿或下降沿;在檢測到所述幀時鐘出現(xiàn)下降沿時,檢測所述位時鐘是否出現(xiàn)上升沿;在檢測到所述位時鐘出現(xiàn)第二個上升沿時,接收所述音頻數(shù)據(jù),并存儲在第一寄存器中;在檢測到所述幀時鐘出現(xiàn)上升沿時,檢測所述位時鐘是否出現(xiàn)上升沿;在檢測到所述位時鐘出現(xiàn)第二個上升沿時,接收所述音頻數(shù)據(jù),并存儲在第二寄存器中。

進一步地,在檢測到所述位時鐘出現(xiàn)第二個上升沿時,接收所述音頻數(shù)據(jù),并存儲在第二寄存器中之后,包括:檢測所述幀時鐘中是否出現(xiàn)下降沿;在檢測出所述幀時鐘出現(xiàn)下降沿的情況下,對所述第一寄存器和所述第二寄存器進行鎖存;輸出所述第一寄存器和所述第二寄存器中存儲的音頻數(shù)據(jù),得到所述數(shù)字音頻信號。

進一步地,對所述數(shù)字音頻信號進行打包處理,得到音頻數(shù)據(jù)包包括:在所述數(shù)字音頻信號中添加驗證信息,得到音頻采樣點,其中,每個音頻采樣點中攜帶添加所述驗證信息的音頻數(shù)據(jù);將所述音頻采樣點存儲在預(yù)設(shè)緩存區(qū)中;根據(jù)預(yù)設(shè)頻率讀取所述預(yù)設(shè)緩存區(qū)中的音頻采樣點;按照時間順序?qū)λ鲆纛l采樣點進行打包,得到所述音頻數(shù)據(jù)包。

根據(jù)本發(fā)明實施例的另一方面,還提供了一種處理器,所述處理器用于運行程序,其中,所述程序運行時執(zhí)行上述實施例中任意一項所述的音頻數(shù)據(jù)的處理方法。

根據(jù)本發(fā)明實施例的另一方面,還提供了一種音頻數(shù)據(jù)的處理方法,包括:接收音頻數(shù)據(jù)包,其中,所述音頻數(shù)據(jù)包中攜帶有標識信息,所述標識信息用于判斷所述音頻數(shù)據(jù)包中的音頻采樣點是否有效,所述音頻采樣點用于攜帶數(shù)字音頻信號;解析所述音頻數(shù)據(jù)包,得到所述數(shù)字音頻信號;對所述數(shù)字音頻信號進行時鐘變換,得到數(shù)字時鐘信號;對所述數(shù)字時鐘信號進行數(shù)模轉(zhuǎn)換,得到模擬音頻信號。

進一步地,在接收音頻數(shù)據(jù)包之前,包括:通過終端解析所述音頻數(shù)據(jù)包中的數(shù)據(jù)報文信息,其中,所述數(shù)據(jù)報文信息包括所述音頻數(shù)據(jù)包的目的地址和端口號;判斷所述目的地址和端口號與所述終端的本地ip地址和端口號是否相同;在判斷出所述目的地址和端口號與所述終端的本地ip地址和端口號相同的情況下,接收所述音頻數(shù)據(jù)包;在判斷出所述目的地址和端口號與該終端的本地ip地址和端口號不相同的情況下,發(fā)送所述音頻數(shù)據(jù)包至下一終端,或者,將所述音頻數(shù)據(jù)包丟棄。

進一步地,對所述數(shù)字音頻信號進行時鐘變換,得到數(shù)字時鐘信號包括:將所述數(shù)字音頻信號存儲在預(yù)設(shè)存儲器中;根據(jù)所述預(yù)設(shè)存儲器中有效音頻數(shù)據(jù)個數(shù)調(diào)整所述數(shù)字音頻信號,得到所述數(shù)字時鐘信號。

進一步地,根據(jù)所述預(yù)設(shè)存儲器中有效音頻數(shù)據(jù)個數(shù)調(diào)整所述數(shù)字音頻信號包括:調(diào)整頻率控制端的脈沖占空比;根據(jù)所述脈沖占空比調(diào)整所述數(shù)字音頻信號。

根據(jù)本發(fā)明實施例的另一方面,還提供了一種處理器,所述處理器用于運行程序,其中,所述程序運行時執(zhí)行上述實施例中任意一項所述的音頻數(shù)據(jù)的處理方法。

在本發(fā)明實施例中,通過接收采樣得到的模擬音頻信號,以及對模擬音頻信號進行模數(shù)轉(zhuǎn)換,得到數(shù)字音頻信號,該數(shù)字音頻信號可以被網(wǎng)絡(luò)服務(wù)器識別,然后對數(shù)字音頻信號進行打包處理,得到音頻數(shù)據(jù)包,其中,音頻數(shù)據(jù)包中攜帶有標識信息,標識信息用于判斷音頻數(shù)據(jù)包中的音頻采樣點是否有效,音頻采樣點用于攜帶數(shù)字音頻信號,將音頻數(shù)據(jù)包發(fā)送至網(wǎng)絡(luò)中。根據(jù)該實施方式,可以將采樣得到的模擬音頻信號經(jīng)過模數(shù)轉(zhuǎn)換,得到數(shù)字音頻信號,并對該數(shù)字音頻信號進行相應(yīng)的處理,以發(fā)送至網(wǎng)絡(luò)中,這樣可以通過網(wǎng)絡(luò)傳輸音頻信號,也可以通過終端設(shè)備接收網(wǎng)絡(luò)中的音頻數(shù)據(jù),可以解決音頻數(shù)據(jù)信號傳輸距離短的技術(shù)問題,達到實時有效的傳輸音頻信號的效果。

附圖說明

此處所說明的附圖用來提供對本發(fā)明的進一步理解,構(gòu)成本申請的一部分,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當(dāng)限定。在附圖中:

圖1是根據(jù)本發(fā)明實施例的音頻數(shù)據(jù)的處理方法的示意圖;

圖2是根據(jù)本發(fā)明實施例的另一種可選的音頻數(shù)據(jù)的處理方法的流程圖;

圖3是根據(jù)本發(fā)明實施例的一種可選的音頻數(shù)據(jù)處理的音頻發(fā)送端的示意圖;

圖4是根據(jù)本發(fā)明實施例的一種可選的音頻數(shù)據(jù)處理的音頻接收端的示意圖;

圖5是根據(jù)本發(fā)明實施例的一種可選的數(shù)據(jù)格式的示意圖;

圖6是根據(jù)本發(fā)明實施例的一種可選的音頻數(shù)據(jù)發(fā)送的示意圖;

圖7是根據(jù)本發(fā)明實施例的一種可選的接口時序的示意圖;以及

圖8是根據(jù)本發(fā)明實施例的一種可選的接口數(shù)據(jù)幀結(jié)構(gòu)的示意圖。

具體實施方式

為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明方案,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分的實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都應(yīng)當(dāng)屬于本發(fā)明保護的范圍。

需要說明的是,本發(fā)明的說明書和權(quán)利要求書及上述附圖中的術(shù)語“第一”、“第二”等是用于區(qū)別類似的對象,而不必用于描述特定的順序或先后次序。應(yīng)該理解這樣使用的數(shù)據(jù)在適當(dāng)情況下可以互換,以便這里描述的本發(fā)明的實施例能夠以除了在這里圖示或描述的那些以外的順序?qū)嵤?。此外,術(shù)語“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟或單元的過程、方法、系統(tǒng)、產(chǎn)品或設(shè)備不必限于清楚地列出的那些步驟或單元,而是可包括沒有清楚地列出的或?qū)τ谶@些過程、方法、產(chǎn)品或設(shè)備固有的其它步驟或單元。

首先,在對本申請實施例進行描述的過程中出現(xiàn)的部分名詞或術(shù)語適用于如下解釋:

dac,數(shù)字模擬轉(zhuǎn)換器,是一種將數(shù)字信號轉(zhuǎn)換為模擬信號(以電流、電壓或電荷的形式)的設(shè)備,將數(shù)字形式存儲的音頻信號輸出為模擬的聲音。

adc,模擬數(shù)字轉(zhuǎn)換器,是一種將模擬信號轉(zhuǎn)換為數(shù)字信號的設(shè)備。

osi模型,包括七層模型,包括應(yīng)用層、表示層、會話層、傳輸層、網(wǎng)絡(luò)層、數(shù)據(jù)鏈路層及物理層。

全雙工(fullduplex)是指在發(fā)送數(shù)據(jù)的同時也能夠接收數(shù)據(jù),兩者同步進行。

i2s(inter—icsound)總線,集成電路內(nèi)置音頻總線,該總線用于音頻設(shè)備之間的數(shù)據(jù)傳輸,采用沿獨立的導(dǎo)線傳輸時鐘與數(shù)據(jù)信號的設(shè)計,通過將數(shù)據(jù)和時鐘信號分離,避免了因時差誘發(fā)的失真。

fpga,現(xiàn)場可編程門陣列。

udp協(xié)議,用戶數(shù)據(jù)報協(xié)議,在報文發(fā)送之后,無法得知其是否安全完整到達。

單播,用于兩個主機之間的端對端通信。

vcxo,voltagecontrolledx'tal(crystal)oscillator,壓控振蕩器,是通過電壓控制晶振的頻率輸出。

mac,媒體訪問控制層,屬于osi模型中數(shù)據(jù)鏈路層的下層子層。

根據(jù)本發(fā)明實施例,提供了一種音頻數(shù)據(jù)的處理方法的實施例,需要說明的是,在附圖的流程圖示出的步驟可以在諸如一組計算機可執(zhí)行指令的計算機系統(tǒng)中執(zhí)行,并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。

圖1是根據(jù)本發(fā)明實施例的音頻數(shù)據(jù)的處理方法的示意圖,如圖1所示,該方法包括如下步驟:

步驟s102,接收通過采樣得到的模擬音頻信號;

步驟s104,對模擬音頻信號進行模數(shù)轉(zhuǎn)換,得到數(shù)字音頻信號;

步驟s106,對數(shù)字音頻信號進行打包處理,得到音頻數(shù)據(jù)包,其中,音頻數(shù)據(jù)包中攜帶有標識信息,標識信息用于判斷音頻數(shù)據(jù)包中的音頻采樣點是否有效,音頻采樣點用于攜帶數(shù)字音頻信號;

步驟s108,將音頻數(shù)據(jù)包發(fā)送至網(wǎng)絡(luò)中。

在上述實施例中,通過接收采樣得到的模擬音頻信號,以及對模擬音頻信號進行模數(shù)轉(zhuǎn)換,得到數(shù)字音頻信號,該數(shù)字音頻信號可以被網(wǎng)絡(luò)服務(wù)器識別,然后對數(shù)字音頻信號進行打包處理,得到音頻數(shù)據(jù)包,其中,音頻數(shù)據(jù)包中攜帶有標識信息,標識信息用于判斷音頻數(shù)據(jù)包中的音頻采樣點是否有效,音頻采樣點用于攜帶數(shù)字音頻信號,將音頻數(shù)據(jù)包發(fā)送至網(wǎng)絡(luò)中。根據(jù)該實施方式,可以將采樣得到的模擬音頻信號經(jīng)過模數(shù)轉(zhuǎn)換,得到數(shù)字音頻信號,并對該數(shù)字音頻信號進行相應(yīng)的處理,以發(fā)送至網(wǎng)絡(luò)中,這樣可以通過網(wǎng)絡(luò)傳輸音頻信號,也可以通過終端等設(shè)備接收網(wǎng)絡(luò)中的音頻數(shù)據(jù),可以解決音頻數(shù)據(jù)信號傳輸距離短的技術(shù)問題,達到實時有效的傳輸音頻信號的效果。

可選的,上述的音頻數(shù)據(jù)的處理方式可以應(yīng)用于各種音頻設(shè)備中,如網(wǎng)絡(luò)傳輸音頻設(shè)備,該網(wǎng)絡(luò)傳輸音頻設(shè)備可以為ae-ea8設(shè)備,其中,該網(wǎng)絡(luò)傳輸音頻設(shè)備可以支持百兆全雙工模式,也可以千兆全雙工模式。

可選的,音頻設(shè)備(如電腦)對采樣得到的聲音信號不能直接進行處理,需要先把采樣得到的聲音信號進行轉(zhuǎn)換,得到音頻設(shè)備可以識別數(shù)字信號。在進行轉(zhuǎn)換之前,可以利用各種采集設(shè)備對聲音信號進行采集,以得到模擬音頻信號,該模擬音頻信號是傳輸聲音過程中的信號,該信號一般通過電流、電壓或電荷的方式傳輸,而音頻設(shè)備在將音頻信號發(fā)送至網(wǎng)絡(luò)之前,需要通過一定的轉(zhuǎn)換器將模擬音頻信號轉(zhuǎn)換為音頻設(shè)備可以識別的數(shù)字音頻信號。

可選的,上述的轉(zhuǎn)換器可以模擬數(shù)字轉(zhuǎn)換器,該轉(zhuǎn)換器可以設(shè)置在各種音頻設(shè)備中,如adc(模擬數(shù)字轉(zhuǎn)換器),通過該adc采樣模擬音頻信號,并將模擬音頻信號轉(zhuǎn)換為數(shù)字信號。

另一種可選的實施方式,接收通過采樣得到的模擬音頻信號包括:按照預(yù)設(shè)時間信號,對模擬音頻信號進行對齊處理,其中,在對模擬音頻信號進行對齊處理時,通過標準音頻接口接收模擬音頻信號??蛇x的,該預(yù)設(shè)時間信號可以為音頻設(shè)備進行數(shù)據(jù)處理時的主時鐘的信號,通過主時鐘信號將模擬音頻信號中的時鐘信號和音頻數(shù)據(jù)進行對齊處理。其中,上述的標準音頻接口可以為i2s總線接口,通過該接口接收采樣得到的模擬音頻信號,以對該模擬音頻信號進行處理。

對于上述實施例,在對模擬音頻信號進行模數(shù)轉(zhuǎn)換,得到數(shù)字音頻信號包括:通過主時鐘對模擬音頻信號中的時鐘信息和音頻數(shù)據(jù)進行對齊處理;將對齊處理后的模擬音頻信號進行格式轉(zhuǎn)換,得到并行格式的數(shù)字音頻信號。

可選的,時鐘信息中可以包括幀時鐘和位時鐘,幀時鐘可以表示為olrck,其中,該幀時鐘可以包括多種信號,如0或1,例如,在幀時鐘為0時,可以設(shè)置該幀時鐘所在的時鐘信息為第一聲道,在幀時鐘為1時,設(shè)置該幀時鐘所在的時鐘信息為第二聲道??蛇x的,上述的第一聲道可以為左聲道,第二聲道可以為右聲道,其中,可以設(shè)置在左聲道信號(即幀時鐘為0)向右聲道信號(即幀時鐘為1)轉(zhuǎn)換時為上升沿,在右聲道信號(即幀時鐘為1)向左聲道信號(即幀時鐘為0)轉(zhuǎn)換時為下降沿。

可選的,在傳輸數(shù)據(jù)時,有效的音頻數(shù)據(jù)出現(xiàn)在位時鐘中與幀時鐘對齊的左右聲道的第二個上升沿處,即在判斷出幀時鐘出現(xiàn)下降沿或上升沿后,檢測位時鐘中的上升沿,若出現(xiàn)第二個上升沿,即可以開始存儲該音頻數(shù)據(jù)。

優(yōu)選的,本發(fā)明實施例中傳輸?shù)哪M音頻信號為串行格式,數(shù)字音頻格式為并行格式,即可以將通過i2s傳輸?shù)拇心M音頻信號轉(zhuǎn)換為并行的數(shù)字音頻信號。可選的,上述的音頻數(shù)據(jù)為將模擬音頻信號轉(zhuǎn)換的音頻數(shù)據(jù),在將該音頻數(shù)據(jù)傳輸至網(wǎng)絡(luò)中時,需要對音頻數(shù)據(jù)進行處理,并添加相應(yīng)的標識信息,以發(fā)送到相應(yīng)的存儲器中進行存儲。

需要說明的是,音頻信號中的時鐘信息包括幀時鐘和位時鐘,將對齊處理后的模擬音頻信號進行格式轉(zhuǎn)換,得到并行格式的數(shù)字音頻信號包括:檢測幀時鐘是否出現(xiàn)上升沿或下降沿;在檢測到幀時鐘出現(xiàn)下降沿時,檢測位時鐘是否出現(xiàn)上升沿;在檢測到位時鐘出現(xiàn)第二個上升沿時,接收音頻數(shù)據(jù),并存儲在第一寄存器中;在檢測到幀時鐘出現(xiàn)上升沿時,檢測位時鐘是否出現(xiàn)上升沿;在檢測到位時鐘出現(xiàn)第二個上升沿時,接收音頻數(shù)據(jù),并存儲在第二寄存器中。

另一種可選的實施方式,在檢測到位時鐘出現(xiàn)第二個上升沿時,接收音頻數(shù)據(jù),并存儲在第二寄存器中之后,包括:檢測幀時鐘中是否出現(xiàn)下降沿;在檢測出幀時鐘出現(xiàn)下降沿的情況下,對第一寄存器和第二寄存器進行鎖存;輸出第一寄存器和第二寄存器中存儲的音頻數(shù)據(jù),得到數(shù)字音頻信號。

可選的,在接收模擬音頻信號后,可以通過幀時鐘劃分輸入的信號的位數(shù),即可以通過第一聲道和第二聲道將預(yù)設(shè)位數(shù)的音頻數(shù)據(jù)存儲在第一寄存器或第二寄存器中,其中,第一聲道和第二聲道劃分的位數(shù)可以有多種,如16bit、32bit、64bit等,在本發(fā)明實施例中不做具體限定。例如,在第一聲道和第二聲道為32bit時,其通過位時鐘鎖存的數(shù)據(jù)位數(shù)可以不同于聲道的位數(shù),例如,在鎖存后,可以輸出第一寄存器和第二寄存器中24bit的音頻數(shù)字信號。

其中,第一寄存器和第二寄存器的大小可以與第一聲道和第二聲道所劃分出的大小相同,例如,可以設(shè)置該第一寄存器和第二寄存器為32bit,在幀時鐘下降沿產(chǎn)生后,可以將相應(yīng)的音頻數(shù)據(jù)存儲在第一寄存器中,第二寄存器保持當(dāng)前值不變;在幀時鐘的上升沿產(chǎn)生后,可以將相應(yīng)的音頻數(shù)據(jù)存儲在第二寄存器中,第一寄存器保持當(dāng)前值不變,且第一寄存器與第二寄存器采用左移的方式存儲串行音頻數(shù)據(jù),這樣可以在有新的音頻數(shù)據(jù)傳輸?shù)郊拇嫫鞯那闆r下,將該音頻數(shù)據(jù)放置在寄存器的最低位,而已經(jīng)傳輸?shù)郊拇嫫髦械囊纛l數(shù)據(jù)朝前移動,以保證新來的音頻數(shù)據(jù)始終在寄存器中的最低位,方便按照時間順序讀取寄存器中的音頻數(shù)據(jù)。

可選的,在輸出音頻數(shù)據(jù)時,可以輸出預(yù)設(shè)位數(shù)的音頻數(shù)據(jù),其中,該預(yù)設(shè)位數(shù)可以為提前設(shè)置的輸出位數(shù),如24bit,該預(yù)設(shè)位數(shù)可以小于等于寄存器位寬。

對于上述實施方式,對數(shù)字音頻信號進行打包處理,得到音頻數(shù)據(jù)包包括:在數(shù)字音頻信號中添加驗證信息,得到音頻采樣點,其中,每個音頻采樣點中攜帶添加該驗證信息的音頻數(shù)據(jù);將音頻采樣點存儲在預(yù)設(shè)緩存區(qū)中;根據(jù)預(yù)設(shè)頻率讀取預(yù)設(shè)緩存區(qū)中的音頻采樣點;按照時間順序?qū)σ纛l采樣點進行打包,得到音頻數(shù)據(jù)包。

可選的,在音頻數(shù)據(jù)包中還包括地址信息,其中,地址信息可以包括發(fā)送至終端的目的ip地址和端口號信息,該地址信息可以用于指示終端發(fā)送的目的地址。

可選的,上述的地址信息用于指示音頻數(shù)據(jù)包發(fā)送的目的地址和端口號,即在音頻采樣點中有驗證音頻采樣點是否有效的驗證信息,將包括驗證信息的音頻采樣點存儲在預(yù)設(shè)緩存區(qū)中,在按照時間順序打包該音頻采樣點,在打包后,添加地址信息,該地址信息用于告知終端將該音頻數(shù)據(jù)包發(fā)送的位置。其中,該地址信息中可以包括目的地址信息,包括網(wǎng)絡(luò)地址,如ip地址,驗證信息可以用于驗證傳輸?shù)囊纛l數(shù)據(jù)包的內(nèi)容是否完整,該驗證信息的內(nèi)容可以包括數(shù)字或者字母等信息,例如,通過數(shù)字(如00/01)來驗證傳輸?shù)囊纛l數(shù)據(jù)是否正確。

可選的,上述的預(yù)設(shè)頻率可以是用戶提前設(shè)置的傳輸頻率,如48khz,其中,預(yù)設(shè)緩存區(qū)的大小可根據(jù)需求來定,比如需要緩存1ms(毫秒)的音頻采樣點,對于48khz的音頻來說,1ms的時間間隔內(nèi)有48個點,fifo的深度可選為128,選擇此值有兩方面原因:一是至少能夠緩存2ms的音頻采樣點,防止溢出;二是緩存區(qū)的大小必須是2的整數(shù)次冪。其中,在讀取預(yù)設(shè)緩存區(qū)時,可以采用非空即讀的方式,即在檢測到預(yù)設(shè)緩存區(qū)中出現(xiàn)音頻采樣點的情況下,讀取預(yù)設(shè)緩存區(qū)的內(nèi)容,以使得預(yù)設(shè)緩存區(qū)中不會出現(xiàn)堆積的音頻采樣點,可以及時的處理預(yù)設(shè)緩存區(qū)中的內(nèi)容。

另一種可選的實施方式,在按照時間順序壓縮音頻采樣點,得到音頻數(shù)據(jù)包之后,包括:將音頻數(shù)據(jù)包放置在網(wǎng)絡(luò)傳輸通道的待傳輸節(jié)點中。其中,該待傳輸節(jié)點可以為多個,每個待傳輸節(jié)點中可以存儲的音頻數(shù)據(jù)包的數(shù)量有一個閾值,如10個。

可選的,在將音頻數(shù)據(jù)包放置在網(wǎng)絡(luò)傳輸通道的待傳輸節(jié)點中之后,包括:檢測網(wǎng)絡(luò)傳輸通道的待傳輸節(jié)點中的音頻數(shù)據(jù)包的數(shù)量是否超出預(yù)定閾值;在檢測到網(wǎng)絡(luò)傳輸通道中的待傳輸?shù)囊纛l數(shù)據(jù)包的數(shù)量超出預(yù)定閾值的情況下,將該音頻數(shù)據(jù)包放置在待傳輸節(jié)點中;在檢測到絡(luò)傳輸通道中的待傳輸?shù)囊纛l數(shù)據(jù)包的數(shù)量未超出預(yù)定閾值的情況下,依次發(fā)送待傳輸節(jié)點中的音頻數(shù)據(jù)包。

可選的,在發(fā)送預(yù)定長度的音頻采樣點之前,還包括:在查詢到音頻采樣點存在的情況下,接收音頻采樣點;在每個音頻采樣點攜帶的音頻數(shù)據(jù)包的起始位置加上標識信息;發(fā)送攜帶有標識信息的音頻數(shù)據(jù)包,其中,在發(fā)送攜帶有標識信息的音頻數(shù)據(jù)包時,采用單播或組播的方式發(fā)送音頻數(shù)據(jù)包。

可選的,在發(fā)送音頻數(shù)據(jù)包之前,可以將音頻數(shù)據(jù)包的數(shù)據(jù)報文信息一并打包,以得到包括數(shù)據(jù)報文信息的音頻數(shù)據(jù)包,其中,該音頻數(shù)據(jù)包中的數(shù)據(jù)報文信息中可以包括目的ip地址和端口號。

其中,上述的標識信息可以為多種信息,如數(shù)字信號??蛇x的,上述的有效標識設(shè)置在音頻采樣點的起始位置,即數(shù)據(jù)包的格式為有效標識加上數(shù)字音頻信號。

有效標識可以為任意值,但所有的有效音頻數(shù)據(jù)的有效標識為同一個值,如16進制數(shù)0x1234,即在檢測到該標識為0x1234時,表明該數(shù)據(jù)為有效音頻數(shù)據(jù),否則為無效數(shù)據(jù)。

可選的,上述的音頻數(shù)據(jù)包的格式為udp格式,該udp格式只需要發(fā)送數(shù)據(jù),不需要保證接收設(shè)備可以接收到該音頻數(shù)據(jù)。

可選的,在發(fā)送攜帶有標識信息的音頻數(shù)據(jù)包時,包括:通過用戶配置接口配置網(wǎng)絡(luò)傳輸通道的傳輸參數(shù),其中,傳輸參數(shù)包括下述至少之一:網(wǎng)口速度,雙工模式等;通過用戶數(shù)據(jù)接口傳輸攜帶有標識信息的音頻數(shù)據(jù)包;通過物理接口發(fā)送音頻數(shù)據(jù)包。

可選的,用戶配置接口可以包括配置時鐘、地址、寫指令、讀指令和握手信號,其中,該配置時鐘的頻率可以由用戶設(shè)定,如50-100mhz,地址可以為讀指令和寫指令的共用的地址總線,其位寬為8bit,寫指令和讀指令的位寬為1bit,握手信號可以用于協(xié)調(diào)讀寫配置操作,其位寬為1bit。

可選的,上述的物理接口可以配置phy(物理層)芯片的傳輸速度、雙工模式等,其中,該物理接口可以包括幾種類型,如smi(串行接口)接口。

對于上述實施方式,在發(fā)送攜帶有標識信息的音頻數(shù)據(jù)包時還包括:通過芯片配置模塊配置物理接口芯片的工作參數(shù),其中,工作參數(shù)包括下述至少之一:網(wǎng)口速度、工作模式。其中,工作模式可以包括雙工模式(包括半雙工模式和全雙工模式)。

根據(jù)本發(fā)明實施例的另一方面,還提供了一種處理器,處理器用于運行程序,其中,程序運行時執(zhí)行上述實施例中任意一項的音頻數(shù)據(jù)的處理方法。

圖2是根據(jù)本發(fā)明實施例的另一種可選的音頻數(shù)據(jù)的處理方法的流程圖,如圖2所示,該處理方法包括:

步驟s201,接收音頻數(shù)據(jù)包,其中,音頻數(shù)據(jù)包中攜帶有標識信息,標識信息用于判斷音頻數(shù)據(jù)包中的音頻采樣點是否有效,音頻采樣點用于攜帶數(shù)字音頻信號。

步驟s203,解析音頻數(shù)據(jù)包,得到數(shù)字音頻信號。

步驟s205,對數(shù)字音頻信號進行時鐘變換,得到數(shù)字時鐘信號。

步驟s207,對數(shù)字時鐘信號進行數(shù)模轉(zhuǎn)換,得到模擬音頻信號。

在上述實施例中,可以接收音頻數(shù)據(jù)包,其中,音頻數(shù)據(jù)包中攜帶有標識信息,標識信息用于判斷音頻數(shù)據(jù)包中的音頻采樣點是否有效,音頻采樣點用于攜帶數(shù)字音頻信號,解析音頻數(shù)據(jù)包,得到數(shù)字音頻信號,對數(shù)字音頻信號進行時鐘變換,得到數(shù)字時鐘信號,對該數(shù)字時鐘信號進行數(shù)模轉(zhuǎn)換,得到模擬音頻信號。根據(jù)該實施例,可以通過接收網(wǎng)絡(luò)中的數(shù)字音頻信號,并將該數(shù)字音頻信號進行相應(yīng)的處理,以得到模擬音頻信號,用戶可以通過音頻設(shè)備接收模擬音頻信號,直觀的解析出模擬音頻信號的內(nèi)容,解決音頻數(shù)據(jù)信號傳輸距離短的技術(shù)問題,達到實時有效的傳輸音頻信號的效果。

通過上述實施例,可以實現(xiàn)一發(fā)多收的功能,即通過一臺設(shè)備發(fā)送音頻數(shù)據(jù),多臺設(shè)備可以同時接收音頻數(shù)據(jù),各接收端通過使用本發(fā)明所提供的時鐘恢復(fù)方案,不僅能保持與發(fā)送端時鐘同步,而且能實現(xiàn)同步輸出音頻。如果使用傳統(tǒng)方式實現(xiàn)一發(fā)多收的功能,且保證音頻質(zhì)量,則需要配置價格高昂的模擬分配器,且在傳輸模擬信號時,容易受到外來信號的干擾,而本申請中僅僅需要幾根網(wǎng)線,通過發(fā)送端一根網(wǎng)線發(fā)送音頻信號,將傳輸?shù)囊纛l數(shù)據(jù)進行處理以傳輸至網(wǎng)絡(luò)中,可以由多個接收端(采用多根網(wǎng)線)接收網(wǎng)絡(luò)中的音頻數(shù)據(jù),實現(xiàn)了一發(fā)多收的功能,在節(jié)約成本的同時,也大大減小了周圍環(huán)境對音頻信號傳輸?shù)挠绊懀岣吡藗鬏斠纛l的質(zhì)量。

可選的,上述實施例中可以應(yīng)用于各種音頻設(shè)備中,該音頻設(shè)備接收可以從網(wǎng)絡(luò)中發(fā)送的數(shù)字音頻數(shù)據(jù)包,該音頻數(shù)據(jù)包中可以包含音頻數(shù)據(jù),該音頻數(shù)據(jù)為并行的數(shù)字音頻數(shù)據(jù),即可以被音頻設(shè)備識別的數(shù)字數(shù)據(jù)。

可選的,在接收音頻數(shù)據(jù)包之前,需要通過數(shù)據(jù)包中的地址信息(即上述實施例的數(shù)據(jù)報文信息)來驗證目的地址是否正確,該地址信息包括目的地址和端口號信息??蛇x的,在接收音頻數(shù)據(jù)包之前,包括:通過終端解析音頻數(shù)據(jù)包中的數(shù)據(jù)報文信息,其中,數(shù)據(jù)報文信息包括音頻數(shù)據(jù)包的目的地址和端口號;判斷目的地址和端口號與終端的本地ip地址和端口號是否相同;在判斷出目的地址和端口號與終端的本地ip地址和端口號相同的情況下,接收音頻數(shù)據(jù)包(即在判斷音頻數(shù)據(jù)包的目的地址和端口號相同時,保留該音頻數(shù)據(jù)包);在判斷出目的地址和端口號與該終端的本地ip地址和端口號不相同的情況下,發(fā)送音頻數(shù)據(jù)包至下一終端,或者,將該音頻數(shù)據(jù)包丟棄。

即網(wǎng)絡(luò)將音頻數(shù)據(jù)包發(fā)送至相應(yīng)的設(shè)備后,需要驗證該設(shè)備是否為目的設(shè)備,如果不是,可以直接舍棄該數(shù)據(jù)包,也可以將該數(shù)據(jù)包發(fā)送至下一終端。音頻數(shù)據(jù)包可以判斷其(指的是該終端發(fā)送的下一終端)是否為目的終端。

對于上述實施例,在接收到音頻數(shù)據(jù)包后,可以解析該音頻數(shù)據(jù)包,得到音頻數(shù)據(jù)包中的地址信息和音頻數(shù)據(jù),其中,該音頻數(shù)據(jù)可以為并行格式的數(shù)據(jù)。

需要說明的是,對數(shù)字音頻信號進行時鐘變換,得到數(shù)字時鐘信號包括:將數(shù)字音頻信號存儲在預(yù)設(shè)存儲器中;根據(jù)預(yù)設(shè)存儲器中有效音頻數(shù)據(jù)的個數(shù)調(diào)整數(shù)字音頻信號,得到數(shù)字時鐘信號。

其中,由于網(wǎng)絡(luò)傳輸過程中會出現(xiàn)突發(fā)、延時等特性,這時,會對音頻信號的傳輸造成影響,這時,需要進行時鐘變換,以使得從網(wǎng)絡(luò)上接收到的音頻數(shù)據(jù)輸出后各項指標滿足客戶需求。

可選的,可以將接收到的音頻數(shù)據(jù)線存儲在預(yù)設(shè)存儲區(qū)中,該預(yù)設(shè)存儲區(qū)的位寬可以根據(jù)傳輸?shù)囊纛l數(shù)據(jù)的大小確定,如48bit。

對于上述實施方式,根據(jù)預(yù)設(shè)存儲器中有效數(shù)據(jù)個數(shù)調(diào)整數(shù)字音頻信號包括:調(diào)整頻率控制端的脈沖占空比;根據(jù)脈沖占空比調(diào)整數(shù)字音頻信號??蛇x的,可以利用脈沖占空比的大小調(diào)整相應(yīng)的設(shè)備/器件(如vcxo)的輸出特性,比如頻率,,最終可以使得該設(shè)備的輸出頻率與音頻信號發(fā)送設(shè)備的時鐘信號保持同步狀態(tài)。

可選的,轉(zhuǎn)換數(shù)字時鐘信號,得到模擬音頻信號包括:按照預(yù)設(shè)格式對數(shù)字時鐘信號進行格式轉(zhuǎn)換,得到串行格式的模擬音頻信號。

其中,預(yù)設(shè)格式可以為i2s標準規(guī)定的格式,在得到模擬音頻信號時,可以使得該模擬音頻信號的主時鐘和音頻數(shù)據(jù)發(fā)送端的時鐘一致。

其中,i2s采用了沿獨立的導(dǎo)線傳輸時鐘與數(shù)據(jù)信號的設(shè)計,通過將數(shù)據(jù)和時鐘信號分離,避免了因時差誘發(fā)的失真,為用戶節(jié)省了購買抵抗音頻抖動的專業(yè)設(shè)備的費用。

根據(jù)本發(fā)明實施例的另一方面,還提供了一種處理器,處理器用于運行程序,其中,程序運行時執(zhí)行上述實施例中任意一項的音頻數(shù)據(jù)的處理方法。

圖3是根據(jù)本發(fā)明實施例的一種可選的音頻數(shù)據(jù)處理的音頻發(fā)送端的示意圖,如圖3所示,該音頻發(fā)送端包括音頻中轉(zhuǎn)模塊ad,用于采集音頻信號audio,并將該音頻信號audio發(fā)送至音頻接收模塊audioreceive,該音頻接收模塊audioreceive在對音頻信號進行相應(yīng)的處理后,將音頻數(shù)據(jù)發(fā)送至打包發(fā)送模塊ip_packer,通過該打包發(fā)送模塊ip_packer可以將音頻數(shù)據(jù)打包成音頻數(shù)據(jù)包,并將該音頻數(shù)據(jù)包發(fā)送至以太網(wǎng)模塊macipcore,通過該macipcore將音頻數(shù)據(jù)發(fā)送至物理層phy,該物理層phy可以將音頻數(shù)據(jù)發(fā)送至網(wǎng)絡(luò)internet中。

其中,如圖3所示,上述的多個處理模塊包含在現(xiàn)場可編程門陣列fpga中。

可選的,可以通過數(shù)據(jù)鏈路配置模塊macconfig配置以太網(wǎng)模塊,可以通過物理芯片配置模塊配置物理層phy。

其中,該音頻數(shù)據(jù)處理可以應(yīng)用于各種網(wǎng)絡(luò)傳輸音頻設(shè)備中,如ae-ea8是一款網(wǎng)絡(luò)傳輸音頻設(shè)備,支持百兆全雙工模式,也支持千兆全雙工模式,且能做到百兆千兆自適應(yīng)。該款設(shè)備可以解決現(xiàn)有技術(shù)中的音頻信號處理方法配置復(fù)雜,易受干擾,成本高昂等問題,具有傳輸容量大,傳輸距離長,配置簡單,成本低廉等優(yōu)勢。以48khz采樣率音頻為例,網(wǎng)口工作在百兆模式下,可以傳輸32路立體聲;網(wǎng)口工作在千兆模式下,能傳輸256路立體聲;且使用一根網(wǎng)線即可完成音頻傳輸,若使用交換機或路由器可以實現(xiàn)更遠距離的音頻數(shù)據(jù)傳輸;同時,使用網(wǎng)絡(luò)傳輸音頻也方便監(jiān)測。目前設(shè)備支持8路音頻傳輸,可以擴展到多路。

圖4是根據(jù)本發(fā)明實施例的一種可選的音頻數(shù)據(jù)處理的音頻接收端的示意圖,如圖4所示,該音頻接收端包括物理層phy、數(shù)據(jù)鏈路配置模塊macconfig、以太網(wǎng)macipcore、物理芯片配置模塊phyconfig,其中,該物理層phy的功能是接收網(wǎng)絡(luò)internet中的音頻數(shù)據(jù)包,通過物理層可以將音頻數(shù)據(jù)包發(fā)送至以太網(wǎng),數(shù)據(jù)鏈路配置模塊可以配置該以太網(wǎng)的參數(shù),可以通過物理芯片配置模塊phyconfig配置物理層phy的工作參數(shù);其中,音頻接收端還可以包括數(shù)據(jù)包解析模塊ip_unpack,通過該數(shù)據(jù)包解析模塊ip_unpack可以解析得到數(shù)據(jù)包的目的地址和端口號等信息;數(shù)據(jù)包解析模塊ip_unpack將音頻數(shù)據(jù)發(fā)送至音頻時鐘恢復(fù)模塊clock_recovery,該音頻時鐘恢復(fù)模塊可以將音頻數(shù)據(jù)的時鐘信息對音頻發(fā)送端的時鐘信號進行恢復(fù),并使用恢復(fù)出的時鐘信號將音頻數(shù)據(jù)通過音頻發(fā)送模塊audiotransmit轉(zhuǎn)換得到相應(yīng)的串行格式的模擬音頻信號,該音頻發(fā)送模塊audiotransmit可以將模擬音頻信號發(fā)送至中間轉(zhuǎn)換模塊da中,以得到相應(yīng)的音頻信號audio,其中,可以通過頻率控制模塊(如vcxo)恢復(fù)音頻發(fā)送端的音頻時鐘信號。

其中,如圖4所示,上述的多個處理模塊包含在現(xiàn)場可編程門陣列fpga中。

可選的,音頻經(jīng)過adc(模擬數(shù)字轉(zhuǎn)換器)轉(zhuǎn)換,可以得到數(shù)字音頻信號,圖3和圖4中以太網(wǎng)macipcore,數(shù)據(jù)鏈路配置模塊macconfig和物理芯片配置模塊phyconfig這三個模塊的功能相同。下面將詳細描述音頻數(shù)據(jù)處理流程中的各模塊工作原理。

音頻接收模塊audio_receive,音頻接口采用標準的i2s接口,其中,i2s的數(shù)據(jù)格式如圖5所示,該模塊首先使用主時鐘對音頻信號中的位時鐘(osclk),幀時鐘(olrck)和音頻數(shù)據(jù)(sdout)進行對齊處理;然后對經(jīng)過對齊處理的音頻信號進行串并轉(zhuǎn)換,將串行音頻數(shù)據(jù)轉(zhuǎn)換成并行格式,便于網(wǎng)絡(luò)傳輸處理。其中,channela可以為左聲道,channelb可以為右聲道,由右聲道轉(zhuǎn)換到左聲道時為下降沿(即由1轉(zhuǎn)0),由左聲道轉(zhuǎn)換為右聲道時為上升沿(即由0轉(zhuǎn)1)。其中,圖5中的msb是指信號最高有效位,lsb是指信號最低有效位,如一個32bit的信號a[31:0],則a[31]為msb,a[0]為lsb。

可選的,串并轉(zhuǎn)換的實現(xiàn)原理如下:i2s格式的音頻在幀時鐘(olrck)為0時為左聲道(即圖5中olrck中的channela),幀時鐘(olrck)為1時為右聲道(即圖5中olrck中的channelb),且左右聲道的第一個有效數(shù)據(jù)在位時鐘(osclk)第二個上升沿處。

可選的,在本發(fā)明實施例中,可以設(shè)置i2s左右聲道的大小各32bit,有效數(shù)據(jù)位的個數(shù)由adc采樣精度決定,本申請中,每個聲道的有效數(shù)據(jù)位數(shù)為24bit。本申請中,可以設(shè)置兩個32bit位寬的寄存器,分別為左聲道寄存器left_dat_reg和右聲道寄存器right_dat_reg,分別用來緩存左右兩個聲道的串行音頻數(shù)據(jù):當(dāng)位時鐘(osclk)上升沿(即由0向1轉(zhuǎn)換的時刻)來臨時,音頻數(shù)據(jù)順序左移入數(shù)據(jù)寄存器,olrck為0時,音頻數(shù)據(jù)左移入left_dat_reg,否則left_dat_reg保持當(dāng)前值不變;olrck為1時,音頻數(shù)據(jù)左移入right_dat_reg,否則right_dat_reg保持當(dāng)前值不變,這樣新到來的音頻數(shù)據(jù)(sdout)始終在寄存器最低位。當(dāng)幀時鐘(olrck)的下降沿來臨時,將左右聲道數(shù)據(jù)寄存器進行鎖存,并將鎖存下來的數(shù)據(jù)寄存器的bit30到bit7(共24bit)輸出,即完成了音頻數(shù)據(jù)的串并轉(zhuǎn)換。

打包發(fā)送模塊ip_packer,其功能是將音頻數(shù)據(jù)按照時間順序打包成ip數(shù)據(jù)包,發(fā)送到internet上。本申請采用的傳輸層協(xié)議是udp,發(fā)送數(shù)據(jù)包的目的地址可以通過單播和組播發(fā)送,具體實現(xiàn)原理如下:為了盡量減少網(wǎng)絡(luò)傳輸對音頻傳輸造成的延時,本申請中采用音頻采樣點到來后即刻傳輸?shù)臄?shù)據(jù)發(fā)送方案,即音頻數(shù)據(jù)完成串并轉(zhuǎn)換后,立刻將此音頻采樣點發(fā)送到internet上,且采用定長發(fā)送,即每次發(fā)送的音頻采樣點數(shù)相同。其中,這個音頻采樣點是指音頻接收模塊audioreceive輸出的并行數(shù)據(jù),是模擬數(shù)據(jù)數(shù)字化后的采樣點,同時該數(shù)據(jù)加上以太網(wǎng)幀頭部和ip頭部后,就是在internet上傳輸?shù)囊纛l網(wǎng)絡(luò)數(shù)據(jù)包。以48khz采樣率的4路立體聲為例,本申請中先將音頻采樣點(48bit)存入fifo(先入先出緩存區(qū))中,該fifo的位寬為48bit,深度為32;然后用50khz的時鐘讀取該fifo,這樣能保證fifo不上溢,因為在秒的時間間隔中,只有一個采樣點;fifo采用非空即讀的輸出方式,這樣就不會出現(xiàn)一個以上音頻采樣點在fifo中停留的現(xiàn)象。使用50khz時鐘讀取fifo時,fifo會經(jīng)常處于讀空的狀態(tài),從而產(chǎn)生一些無效數(shù)據(jù),本申請中可以采用了一種預(yù)設(shè)協(xié)議,該預(yù)設(shè)協(xié)議可以在發(fā)送音頻數(shù)據(jù)時,在每個音頻采樣點數(shù)據(jù)頭部加上一個有效標識,其中,該有效標識為數(shù)字信號,在網(wǎng)絡(luò)傳輸中使用,發(fā)送的音頻數(shù)據(jù)格式可以為16bit標識加上48bit左右聲道數(shù)據(jù)。

可選的,有效標識可以為任意值,但所有有效音頻數(shù)據(jù)的有效標識為同一個值,比如16進制數(shù)0x1234,即當(dāng)該標識為0x1234時,表明當(dāng)前數(shù)據(jù)為有效音頻數(shù)據(jù),否則,為無效數(shù)據(jù);在接收端,對收到的音頻數(shù)據(jù)進行判斷:若標識符為0x1234,則把標識符去掉后,保留當(dāng)前音頻數(shù)據(jù),供下個模塊使用;否則,丟棄當(dāng)前數(shù)據(jù)。這樣,音頻數(shù)據(jù)包里音頻數(shù)據(jù)的格式為:16bit有效標識加上48bit音頻數(shù)據(jù)。

音頻數(shù)據(jù)包發(fā)送時,采用udp包格式輸出網(wǎng)絡(luò)音頻數(shù)據(jù)。圖6是根據(jù)本發(fā)明實施例的一種可選的音頻數(shù)據(jù)發(fā)送的示意圖,如圖6所示,該發(fā)送過程如下:初始時,狀態(tài)機處于空閑狀態(tài)(idle),該狀態(tài)下,狀態(tài)機等待音頻采樣點到來,其中,該狀態(tài)下,可以不斷采樣音頻信號audio;當(dāng)有音頻采樣點到來時,就開始音頻發(fā)送(audio_trans),即將音頻采樣點(如64bit)放在udp包的負載里面發(fā)送給mac(媒體訪問控制層)核;當(dāng)一個采樣點發(fā)送完成以后,狀態(tài)機返回到空閑狀態(tài),等待下一個音頻采樣點。由于在發(fā)送過程中,mac核可能處于忙碌的狀態(tài),此時不能發(fā)送音頻數(shù)據(jù),所以發(fā)送過程中有個等待mac核空閑的預(yù)存狀態(tài)(trans_wait),以確保音頻數(shù)據(jù)不丟失,其中,該預(yù)存狀態(tài)下mac核內(nèi)部存儲的是根據(jù)以太網(wǎng)幀格式封裝好的尚未發(fā)送出去的網(wǎng)絡(luò)數(shù)據(jù)包,其數(shù)據(jù)格式為以太網(wǎng)幀頭部加上ip頭部加上udp頭部加上音頻采樣點??蛇x的,在傳輸通道的音頻數(shù)據(jù)包超出閾值(如10個音頻數(shù)據(jù)包)時可以將該音頻數(shù)據(jù)包存儲在預(yù)存空間,在檢測到傳輸通道的音頻數(shù)據(jù)包未超出閾值的情況下,可以將音頻數(shù)據(jù)包發(fā)送至音頻發(fā)送狀態(tài),以進行處理。

以太網(wǎng)模塊macipcore,支持百兆全雙工模式,也可以支持千兆全雙工模式,且能夠?qū)崿F(xiàn)100/1000mpbs自適應(yīng)。它有三種接口:用戶側(cè)數(shù)據(jù)接口、用戶側(cè)配置接口及phy側(cè)接口,其中,用戶側(cè)數(shù)據(jù)接口負責(zé)與用戶數(shù)據(jù)邏輯通信,可以采用altera公司的avalon-st總線,用于傳輸udp音頻數(shù)據(jù);用戶側(cè)配置接口負責(zé)與用戶配置邏輯通信,可以采用avalon-mm總線,用于配置mac內(nèi)部寄存器;phy側(cè)接口則直接和物理層phy連接。其中,用戶側(cè)數(shù)據(jù)接口向macipcore發(fā)送數(shù)據(jù),用戶側(cè)配置接口可以為數(shù)據(jù)鏈路配置模塊macconfig配置以太網(wǎng)的參數(shù)。

數(shù)據(jù)鏈路配置模塊macconfig,功能是根據(jù)物理層phy芯片自適應(yīng)的結(jié)果,修改mac核內(nèi)部寄存器的值,使二者匹配,以實現(xiàn)正確、正常的網(wǎng)絡(luò)傳輸。數(shù)據(jù)鏈路配置模塊工作時,可以通過avalon-mm總線與mac核進行通信,其接口時序如圖7所示,其中,該接口時序的主要信號有:clk(時鐘)、address(地址)、write(寫指令)、writedata(寫數(shù)據(jù))、read(讀指令)、readdata(讀數(shù)據(jù))、waitrequest(握手信號)等,其中,clk:配置時鐘,其頻率由系統(tǒng)指定,頻率范圍50-100mhz,address:配置地址,讀寫指令共用該地址總線,8bit;write:寫指令,1bit;writedata:寫數(shù)據(jù),32bit;read:讀指令,1bit;readdata:讀數(shù)據(jù),32bit;waitrequest:握手信號,1bit。

以上配置接口中,握手信號的使用規(guī)則也做了改變,即平時沒有進行讀寫配置操作時,握手信號為高電平,當(dāng)一次讀寫操作完成后,握手信號保持一個低電平后拉高。因此,可以使用此條件判斷一次讀寫配置操作是否完成。

其中,數(shù)據(jù)鏈路配置模塊的配置過程,就是對寄存器空間進行讀寫的過程,因此,在配置mac核時,可以根據(jù)實際網(wǎng)絡(luò)環(huán)境對寄存器空間進行讀寫即可。

物理芯片配置模塊phyconfig,功能是根據(jù)實際網(wǎng)絡(luò)環(huán)境,配置物理層phy芯片的傳輸速度,雙工模式等參數(shù)。本設(shè)計采用的物理層phy芯片是88e1111,其配置接口是smi,該接口包括兩個信號:mdc和mdio,其中,mdc:(metadatacontroller,mdc)元數(shù)據(jù)控制器,管理音頻數(shù)據(jù)接口的時鐘,它是一個非周期信號,信號的最小周期(實際是正電平時間和負電平時間之和)為400ns,最小正電平時間和負電平時間為160ns,最大的正負電平時間無限制,它與phy芯片的接收時鐘與發(fā)送時鐘不需要同步。mdio:是一根雙向的數(shù)據(jù)線,用來傳送mac層的控制信息和物理層的狀態(tài)信息,mdio數(shù)據(jù)與mdc時鐘同步,在mdc處于上升沿有效。

圖8是根據(jù)本發(fā)明實施例的一種可選的接口數(shù)據(jù)幀結(jié)構(gòu)的示意圖,如圖8所示,其包括多種結(jié)構(gòu),包括:pre:幀前綴域,為32個連續(xù)“1”比特,這幀前綴域不是必要的,某些物理層芯片的mdio操作就沒有這個域;op:幀操作碼,比特“10”表示此幀為一讀操作幀,比特“01”表示此幀為一寫操作幀;phyad:即addr1,物理層芯片的地址,5個比特,每個芯片都把自己的地址與這5個比特進行比較,若匹配則響應(yīng)后面的操作,若不匹配,則忽略掉后面的操作;regad:即addr2,用來選擇物理層芯片的32個寄存器中的某個寄存器的地址;ta:狀態(tài)轉(zhuǎn)換域,若為讀操作,則第一比特時mdio為高阻態(tài),第二比特時由物理層芯片使mdio置“0”。若為寫操作,則mdio仍由mac層芯片控制,其可以連續(xù)輸出“10”兩個比特。data:幀的寄存器的數(shù)據(jù)域,16比特,若為讀操作,則為物理層送到mac層的數(shù)據(jù),若為寫操作,則為mac層送到物理層的數(shù)據(jù)。idle:幀結(jié)束后的空閑狀態(tài),此時mdio無源驅(qū)動,處高阻狀態(tài),可以用上拉電阻使其處在高電平,即mdio引腳需要上拉電阻。

配置物理層phy芯片,就是對phy芯片的配置寄存器空間進行讀寫操作,在配置物理層phy芯片時,可能定義多個參數(shù),且這些參數(shù)不需要同時變化,在配置phy的過程中,可能會出現(xiàn)只修改某個寄存器的某個預(yù)設(shè)數(shù)值的情況,此時可以先讀取出該寄存器中的數(shù)據(jù),然后再修改該預(yù)設(shè)數(shù)值,然后將修改后的預(yù)設(shè)數(shù)值與原來未做修改的預(yù)設(shè)數(shù)值一起寫入寄存器。由于有些寄存器的值修改后,需要軟復(fù)位(softwarereset),可以將需要做此操作的所有寄存器全部修改完成以后,再統(tǒng)一進行軟復(fù)位。

數(shù)據(jù)報解析模塊ip_unpack,根據(jù)ip數(shù)據(jù)報文的格式,解析報文中的目的mac,目的ip,udp端口號等信息,并與本地mac和本地ip,以及端口號做對比,若相同,則認為該數(shù)據(jù)包是發(fā)往該音頻設(shè)備的,可以保存該數(shù)據(jù)包;否則,丟棄該數(shù)據(jù)包,或者再輸出給下一音頻設(shè)備。同時,根據(jù)報文頭部信息中的長度等信息,可以解析出音頻數(shù)據(jù),該模塊輸出的音頻數(shù)據(jù)可以是并行數(shù)據(jù),位寬為48bit;同時也輸出了與數(shù)據(jù)對應(yīng)的數(shù)據(jù)有效使能信號,持續(xù)一個網(wǎng)絡(luò)時鐘周期,其中,可以設(shè)置在使能信號為高電平時,對應(yīng)的并行音頻數(shù)據(jù)有效。

音頻時鐘恢復(fù)模塊clockrecovery,由于網(wǎng)絡(luò)傳輸存在突發(fā),延時等特性,這些特性會對音頻信號的指標產(chǎn)生嚴重影響,本申請中的音頻時鐘恢復(fù)模塊clockrecovery,可以產(chǎn)生高質(zhì)量的時鐘,將從網(wǎng)絡(luò)上接收到的音頻數(shù)據(jù)穩(wěn)定、高效、高質(zhì)量的發(fā)送給dac(數(shù)字模擬轉(zhuǎn)換器)。該模塊的工作原理如下:將數(shù)據(jù)報解析模塊ip_unpack輸出的音頻數(shù)據(jù)先存入fifo(如上述的先入先出緩存區(qū)),其位寬為48bit,深度可以根據(jù)實際設(shè)計目標而定,本申請中,可以選擇fifo深度為32。該模塊的設(shè)計目標是通過調(diào)整頻率控制模塊控制外部器件/設(shè)備的輸出頻率,具體的可以通過控制vcxo控制端脈沖占空比大小,進而控制其輸出頻率,使得最終的輸出頻率接近于音頻發(fā)送端芯片輸出的采樣時鐘,這樣,通過控制vcxo的輸出頻率,能實現(xiàn)音頻接收端保持與音頻發(fā)送端處于同步狀態(tài)。

音頻發(fā)送模塊audiotransmit,可以將經(jīng)過解析的并行音頻數(shù)據(jù),按照i2s標準規(guī)定的格式,轉(zhuǎn)換成串行音頻信號,發(fā)送到dac(數(shù)字模擬轉(zhuǎn)換器)。該模塊的工作過程如下:音頻時鐘恢復(fù)模塊輸出音頻處理過程中的主時鐘,并對此時鐘進行分頻處理,得到音頻接口中的位時鐘和幀時鐘。其中,若設(shè)置音頻采樣率為fs,幀時鐘為lrck,位時鐘為bclk,主時鐘為mclk,48khz音頻采樣率下,四者之間的關(guān)系如下:

mclk=256*fs,

bclk=64*fs,

lrck=fs,

因此,對主時鐘分別進行4分頻和256分頻,即可得到位時鐘與幀時鐘。根據(jù)以上關(guān)系,以及圖5所示i2s接口時序,將從fifo中讀取到的音頻數(shù)據(jù)進行并串轉(zhuǎn)換后,即可輸出給dac芯片。

根據(jù)該實施例,可以通過接收網(wǎng)絡(luò)中的數(shù)字音頻信號,并將該數(shù)字音頻信號進行相應(yīng)的處理,以得到模擬音頻信號,用戶可以通過音頻設(shè)備接收模擬音頻信號,直觀的解析出模擬音頻信號的內(nèi)容,解決音頻數(shù)據(jù)信號傳輸距離短的技術(shù)問題,達到實時有效的傳輸音頻信號的效果。

為了實現(xiàn)上述目的,本發(fā)明實施例還提供了一種處理器,該處理器用于運行程序,其中,程序運行時執(zhí)行上述實施例中任意一項的音頻數(shù)據(jù)的處理方法。

上述本發(fā)明實施例序號僅僅為了描述,不代表實施例的優(yōu)劣。

在本發(fā)明的上述實施例中,對各個實施例的描述都各有側(cè)重,某個實施例中沒有詳述的部分,可以參見其他實施例的相關(guān)描述。

在本申請所提供的幾個實施例中,應(yīng)該理解到,所揭露的技術(shù)內(nèi)容,可通過其它的方式實現(xiàn)。其中,以上所描述的裝置實施例僅僅是示意性的,例如所述單元的劃分,可以為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式,例如多個單元或組件可以結(jié)合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,單元或模塊的間接耦合或通信連接,可以是電性或其它的形式。

所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部單元來實現(xiàn)本實施例方案的目的。

另外,在本發(fā)明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以采用硬件的形式實現(xiàn),也可以采用軟件功能單元的形式實現(xiàn)。

所述集成的單元如果以軟件功能單元的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,可以存儲在一個計算機可讀取存儲介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻的部分或者該技術(shù)方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計算機設(shè)備(可為個人計算機、服務(wù)器或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例所述方法的全部或部分步驟。而前述的存儲介質(zhì)包括:u盤、只讀存儲器(rom,read-onlymemory)、隨機存取存儲器(ram,randomaccessmemory)、移動硬盤、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。

以上所述僅是本發(fā)明的優(yōu)選實施方式,應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應(yīng)視為本發(fā)明的保護范圍。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
远安县| 太湖县| 清水河县| 公主岭市| 无棣县| 洪雅县| 鄂尔多斯市| 青州市| 岳池县| 长武县| 巍山| 商洛市| 读书| 定襄县| 徐州市| 仲巴县| 肥东县| 永春县| 涡阳县| 旌德县| 通江县| 涪陵区| 名山县| 海门市| 阳曲县| 格尔木市| 新乡市| 鸡东县| 吉木乃县| 三台县| 南城县| 乌拉特后旗| 百色市| 云安县| 随州市| 安新县| 丹棱县| 八宿县| 石台县| 南靖县| 舟曲县|