所屬的技術人員能夠理解,本發(fā)明的各個方面可以實現(xiàn)為系統(tǒng)、方法或程序產(chǎn)品。因此,本發(fā)明的各個方面可以具體實現(xiàn)為以下形式,即:完全的硬件實施方式、完全的軟件實施方式(包括固件、微代碼等),或硬件和軟件方面結(jié)合的實施方式,這里可以統(tǒng)稱為“電路”、“模塊”或“系統(tǒng)”。下面參照圖5來描述根據(jù)本發(fā)明的這種實施方式的音頻轉(zhuǎn)碼裝置500。圖5所示的音頻轉(zhuǎn)碼裝置500僅僅是一個示例,不應對本發(fā)明實施例的功能和使用范圍帶來任何限制。音頻轉(zhuǎn)碼裝置500以硬件模塊的形式表現(xiàn)。音頻轉(zhuǎn)碼裝置500的組件可以包括但不限于:檢測模塊502,用于響應于獲取到的原始音頻流,檢測原始音頻流的音頻內(nèi)容類型和源流音量;添加模塊504,用于基于與原始音頻流的時間戳的對齊操作,將音頻內(nèi)容類型和源流音量添加至原始音頻流,得到增強音頻流;確定模塊506,用于基于源流音量和參考音量之間的關系確定轉(zhuǎn)碼音頻流的目標音量,其中,在轉(zhuǎn)碼過程中檢測到出現(xiàn)音頻內(nèi)容類型的切換時,基于切換前的第一源流音量調(diào)整切換后的第二源流音量,以基于調(diào)整后的第二源流音量和參考音量之間的關系確定目標音量。下面參照圖6來描述根據(jù)本發(fā)明的這種實施方式的電子設備600。圖6顯示的電子設備600僅僅是一個示例,不應對本發(fā)明實施例的功能和使用范圍帶來任何限制。如圖6所示,電子設備600以通用計算設備的形式表現(xiàn)。電子設備600的組件可以包括但不限于:上述至少一個處理單元610、上述至少一個存儲單元620、連接不同系統(tǒng)組件(包括存儲單元620和處理單元610)的總線630。其中,存儲單元存儲有程序代碼,程序代碼可以被處理單元610執(zhí)行,使得處理單元610執(zhí)行本說明書上述“示例性方法”部分中描述的根據(jù)本發(fā)明各種示例性實施方式的步驟。例如,處理單元610可以執(zhí)行如圖1中所示的步驟s202和步驟s208,以及本公開的音頻轉(zhuǎn)碼方法中限定的其他步驟。存儲單元620可以包括易失性存儲單元形式的可讀介質(zhì),例如隨機存取存儲單元(ram)6201和/或高速緩存存儲單元6202,還可以進一步包括只讀存儲單元(rom)6203。存儲單元620還可以包括具有一組(至少一個)程序模塊6205的程序/實用工具6204,這樣的程序模塊6205包括但不限于:操作系統(tǒng)、一個或者多個應用程序、其它程序模塊以及程序數(shù)據(jù),這些示例中的每一個或某種組合中可能包括網(wǎng)絡環(huán)境的實現(xiàn)??偩€630可以為表示幾類總線結(jié)構(gòu)中的一種或多種,包括存儲單元總線或者存儲單元控制器、外圍總線、圖形加速端口、處理單元或者使用多種總線結(jié)構(gòu)中的任意總線結(jié)構(gòu)的局域總線。電子設備600也可以與一個或多個外部設備660(例如鍵盤、指向設備、藍牙設備等)通信,還可與一個或者多個使得用戶能與該電子設備交互的設備通信,和/或與使得該電子設備600能與一個或多個其它計算設備進行通信的任何設備(例如路由器、調(diào)制解調(diào)器等等)通信。這種通信可以通過輸入/輸出(i/o)接口640進行。并且,電子設備600還可以通過網(wǎng)絡適配器650與一個或者多個網(wǎng)絡(例如局域網(wǎng)(lan),廣域網(wǎng)(wan)和/或公共網(wǎng)絡,例如因特網(wǎng))通信。如圖所示,網(wǎng)絡適配器650通過總線630與電子設備600的其它模塊通信。應當明白,盡管圖中未示出,可以結(jié)合電子設備使用其它硬件和/或軟件模塊,包括但不限于:微代碼、設備驅(qū)動器、冗余處理單元、外部磁盤驅(qū)動陣列、raid系統(tǒng)、磁帶驅(qū)動器以及數(shù)據(jù)備份存儲系統(tǒng)等。通過以上的實施方式的描述,本領域的技術人員易于理解,這里描述的示例實施方式可以通過軟件實現(xiàn),也可以通過軟件結(jié)合必要的硬件的方式來實現(xiàn)。因此,根據(jù)本公開實施方式的技術方案可以以軟件產(chǎn)品的形式體現(xiàn)出來,該軟件產(chǎn)品可以存儲在一個非易失性存儲介質(zhì)(可以是cd-rom,u盤,移動硬盤等)中或網(wǎng)絡上,包括若干指令以使得一臺計算設備(可以是個人計算機、服務器、終端裝置、或者網(wǎng)絡設備等)執(zhí)行根據(jù)本公開實施方式的方法。在本公開的示例性實施例中,還提供了一種計算機可讀存儲介質(zhì),其上存儲有能夠?qū)崿F(xiàn)本說明書上述方法的程序產(chǎn)品。在一些可能的實施方式中,本發(fā)明的各個方面還可以實現(xiàn)為一種程序產(chǎn)品的形式,其包括程序代碼,當程序產(chǎn)品在終端設備上運行時,程序代碼用于使終端設備執(zhí)行本說明書上述“示例性方法”部分中描述的根據(jù)本發(fā)明各種示例性實施方式的步驟。根據(jù)本發(fā)明的實施方式的用于實現(xiàn)上述方法的程序產(chǎn)品,其可以采用便攜式緊湊盤只讀存儲器(cd-rom)并包括程序代碼,并可以在終端設備,例如個人電腦上運行。然而,本發(fā)明的程序產(chǎn)品不限于此,在本文件中,可讀存儲介質(zhì)可以是任何包含或存儲程序的有形介質(zhì),該程序可以被指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結(jié)合使用。所述程序產(chǎn)品可以采用一個或多個可讀介質(zhì)的任意組合??勺x介質(zhì)可以是可讀信號介質(zhì)或者可讀存儲介質(zhì)??勺x存儲介質(zhì)例如可以為但不限于電、磁、光、電磁、紅外線、或半導體的系統(tǒng)、裝置或器件,或者任意以上的組合??勺x存儲介質(zhì)的更具體的例子(非窮舉的列表)包括:具有一個或多個導線的電連接、便攜式盤、硬盤、隨機存取存儲器(ram)、只讀存儲器(rom)、可擦式可編程只讀存儲器(eprom或閃存)、光纖、便攜式緊湊盤只讀存儲器(cd-rom)、光存儲器件、磁存儲器件、或者上述的任意合適的組合。計算機可讀信號介質(zhì)可以包括在基帶中或者作為載波一部分傳播的數(shù)據(jù)信號,其中承載了可讀程序代碼。這種傳播的數(shù)據(jù)信號可以采用多種形式,包括但不限于電磁信號、光信號或上述的任意合適的組合??勺x信號介質(zhì)還可以是可讀存儲介質(zhì)以外的任何可讀介質(zhì),該可讀介質(zhì)可以發(fā)送、傳播或者傳輸用于由指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結(jié)合使用的程序??勺x介質(zhì)上包含的程序代碼可以用任何適當?shù)慕橘|(zhì)傳輸,包括但不限于無線、有線、光纜、rf等等,或者上述的任意合適的組合??梢砸砸环N或多種程序設計語言的任意組合來編寫用于執(zhí)行本發(fā)明操作的程序代碼,所述程序設計語言包括面向?qū)ο蟮某绦蛟O計語言—諸如java、c++等,還包括常規(guī)的過程式程序設計語言—諸如“c”語言或類似的程序設計語言。程序代碼可以完全地在用戶計算設備上執(zhí)行、部分地在用戶設備上執(zhí)行、作為一個獨立的軟件包執(zhí)行、部分在用戶計算設備上部分在遠程計算設備上執(zhí)行、或者完全在遠程計算設備或服務器上執(zhí)行。在涉及遠程計算設備的情形中,遠程計算設備可以通過任意種類的網(wǎng)絡,包括局域網(wǎng)(lan)或廣域網(wǎng)(wan),連接到用戶計算設備,或者,可以連接到外部計算設備(例如利用因特網(wǎng)服務提供商來通過因特網(wǎng)連接)。應當注意,盡管在上文詳細描述中提及了用于動作執(zhí)行的設備的若干模塊或者單元,但是這種劃分并非強制性的。實際上,根據(jù)本公開的實施方式,上文描述的兩個或更多模塊或者單元的特征和功能可以在一個模塊或者單元中具體化。反之,上文描述的一個模塊或者單元的特征和功能可以進一步劃分為由多個模塊或者單元來具體化。此外,盡管在附圖中以特定順序描述了本公開中方法的各個步驟,但是,這并非要求或者暗示必須按照該特定順序來執(zhí)行這些步驟,或是必須執(zhí)行全部所示的步驟才能實現(xiàn)期望的結(jié)果。附加的或備選的,可以省略某些步驟,將多個步驟合并為一個步驟執(zhí)行,以及/或者將一個步驟分解為多個步驟執(zhí)行等。通過以上的實施方式的描述,本領域的技術人員易于理解,這里描述的示例實施方式可以通過軟件實現(xiàn),也可以通過軟件結(jié)合必要的硬件的方式來實現(xiàn)。因此,根據(jù)本公開實施方式的技術方案可以以軟件產(chǎn)品的形式體現(xiàn)出來,該軟件產(chǎn)品可以存儲在一個非易失性存儲介質(zhì)(可以是cd-rom,u盤,移動硬盤等)中或網(wǎng)絡上,包括若干指令以使得一臺計算設備(可以是個人計算機、服務器、移動終端、或者網(wǎng)絡設備等)執(zhí)行根據(jù)本公開實施方式的方法。本領域技術人員在考慮說明書及實踐這里公開的發(fā)明后,將容易想到本公開的其它實施方案。本技術旨在涵蓋本公開的任何變型、用途或者適應性變化,這些變型、用途或者適應性變化遵循本公開的一般性原理并包括本公開未公開的本中的公知常識或慣用技術手段。說明書和實施例僅被視為示例性的,本公開的真正范圍和精神由所附的權利要求指出。
背景技術:
1、在數(shù)字化多媒體內(nèi)容傳播日益普及的當下,音頻轉(zhuǎn)碼技術作為實現(xiàn)音頻內(nèi)容高效傳輸與適配的核心技術,被廣泛應用于直播、視頻點播、在線音樂等諸多領域。目前,音頻轉(zhuǎn)碼操作只在轉(zhuǎn)碼開始時,設置固定的音頻采樣率、位深、聲道等參數(shù),在轉(zhuǎn)碼過程中,這些參數(shù)始終保持不變,如果待轉(zhuǎn)碼的音頻源來自不同的場景,各場景的音量不一致,直播流中聲音會抖動,轉(zhuǎn)碼生成的直播流也同樣抖動,會遭遇音量高低起伏的問題,影響用戶視聽體驗。
2、需要說明的是,在上述背景技術部分公開的信息僅用于加強對本公開的背景的理解,因此可以包括不構(gòu)成對本領域普通技術人員已知的現(xiàn)有技術的信息。
技術實現(xiàn)思路
1、本公開的目的在于提供一種音頻轉(zhuǎn)碼方法、音頻轉(zhuǎn)碼裝置、電子設備和計算機可讀存儲介質(zhì),至少在一定程度上能夠改善相關技術中由于遭遇音量高低起伏導致影響用戶視聽體驗的問題。
2、本公開的其他特性和優(yōu)點將通過下面的詳細描述變得顯然,或部分地通過本公開的實踐而習得。
3、根據(jù)本公開的一個方面,提供一種音頻轉(zhuǎn)碼方法,包括:響應于獲取到的原始音頻流,檢測所述原始音頻流的音頻內(nèi)容類型和源流音量;基于與所述原始音頻流的時間戳的對齊操作,將所述音頻內(nèi)容類型和源流音量添加至所述原始音頻流,得到增強音頻流;基于所述源流音量和參考音量之間的關系確定轉(zhuǎn)碼音頻流的目標音量,其中,在轉(zhuǎn)碼過程中檢測到出現(xiàn)所述音頻內(nèi)容類型的切換時,基于切換前的第一源流音量調(diào)整切換后的第二源流音量,以基于調(diào)整后的所述第二源流音量和所述參考音量之間的關系確定所述目標音量。
4、在本公開的一個實施例中,響應于獲取到的原始音頻流,檢測所述原始音頻流的音頻內(nèi)容類型和源流音量,包括:將所述原始音頻流基于指定的時間窗口進行劃分,在每個所述時間窗口內(nèi)的音頻采樣點采集音頻特征,以將所述音頻特征輸入特征檢測模型,由所述特征檢測模型輸出所述音頻內(nèi)容類型、噪音檢測結(jié)果以及對應的時間戳信息,所述特征檢測模型依靠深度學習生成;以及將所述原始音頻流輸入音量檢測模型,以對應輸出音量曲線作為所述源流音量。
5、在本公開的一個實施例中,基于與所述原始音頻流的時間戳的對齊操作,將所述音頻內(nèi)容類型和源流音量添加至所述原始音頻流,得到增強音頻流,包括:以所述時間窗口為單位,將所述音頻內(nèi)容類型、噪音檢測結(jié)果和所述音量曲線對齊,得到對齊的信息;基于補充增強信息sei的格式,將所述對齊的信息封裝為sei數(shù)據(jù)單元;基于所述對應的時間戳信息,將所述sei數(shù)據(jù)單元插入到所述原始音頻流,得到所述增強音頻流。
6、在本公開的一個實施例中,基于所述源流音量和參考音量之間的關系確定轉(zhuǎn)碼音頻流的目標音量,包括:確定所述轉(zhuǎn)碼過程對應的參照時段,以基于大數(shù)據(jù)模塊中記錄的屬于所述參照時段的轉(zhuǎn)碼音頻文件的音量屬性確定所述參考音量;計算所述源流音量和所述參考音量之間的絕對差值,與所述參考音量之間的比值;若所述比值小于或等于參考比值,將所述目標音量保持為所述源流音量;若所述比值大于所述參考比值,將所述目標音量調(diào)整為所述參考音量。
7、在本公開的一個實施例中,在轉(zhuǎn)碼過程中檢測到出現(xiàn)所述音頻內(nèi)容類型的切換時,基于切換前的第一源流音量調(diào)整切換后的第二源流音量,包括:檢測到出現(xiàn)所述音頻內(nèi)容類型的切換時,確定所述第一源流音量和所述第二源流音量的中值;將所述中值作為所述第一源流音量的調(diào)整結(jié)果。
8、在本公開的一個實施例中,還包括:解析所述sei數(shù)據(jù)單元中的所述噪音檢測結(jié)果;若基于所述噪音檢測結(jié)果確定所述原始音頻流中具有噪音信息,在轉(zhuǎn)碼過程中執(zhí)行去噪音功能。
9、在本公開的一個實施例中,在響應于獲取到的原始音頻流,檢測所述原始音頻流的音頻內(nèi)容類型和源流音量之前,還包括:收集不同場景下的音頻數(shù)據(jù);基于場景類型、所述內(nèi)容類型以及是否存在噪聲,對所述音頻數(shù)據(jù)進行標注,得到標注音頻;將所述標注音頻轉(zhuǎn)換為梅爾頻譜圖,所述梅爾頻譜圖表征所述標注音頻的時頻域特征;基于所述梅爾頻譜圖對深度學習模型進行模型訓練,得到所述特征檢測模型。
10、在本公開的一個實施例中,在響應于獲取到的原始音頻流,檢測所述原始音頻流的音頻內(nèi)容類型和源流音量之前,還包括:基于音量檢測公式構(gòu)建所述音量檢測模型,所述音量檢測公式為:lp=20*log10(prms/pref)db,其中,prms為所述原始音頻流中任一時刻的聲音振幅值,pref為聲音振幅的最大參考值。
11、在本公開的一個實施例中,還包括:將包括所述目標音量的所述轉(zhuǎn)碼音頻流基于時間戳維度上報至大數(shù)據(jù)模塊,以更新所述大數(shù)據(jù)模塊中的轉(zhuǎn)碼音頻文件。
12、根據(jù)本公開的另一個方面,提供一種音頻轉(zhuǎn)碼裝置,包括:檢測模塊,用于響應于獲取到的原始音頻流,檢測所述原始音頻流的音頻內(nèi)容類型和源流音量;添加模塊,用于基于與所述原始音頻流的時間戳的對齊操作,將所述音頻內(nèi)容類型和源流音量添加至所述原始音頻流,得到增強音頻流;確定模塊,用于基于所述源流音量和參考音量之間的關系確定轉(zhuǎn)碼音頻流的目標音量,其中,在轉(zhuǎn)碼過程中檢測到出現(xiàn)所述音頻內(nèi)容類型的切換時,基于切換前的第一源流音量調(diào)整切換后的第二源流音量,以基于調(diào)整后的所述第二源流音量和所述參考音量之間的關系確定所述目標音量。
13、根據(jù)本公開的再一個方面,提供一種電子設備,包括:處理器;以及存儲器,用于存儲處理器的可執(zhí)行指令;其中,處理器配置為經(jīng)由執(zhí)行可執(zhí)行指令來執(zhí)行上述任意一項的音頻轉(zhuǎn)碼方法。
14、根據(jù)本公開的又一個方面,提供一種計算機可讀存儲介質(zhì),其上存儲有計算機程序,計算機程序被處理器執(zhí)行時實現(xiàn)上述任意一項的音頻轉(zhuǎn)碼方法。
15、本公開的實施例所提供的音頻轉(zhuǎn)碼方案,通過對原始音頻流的音頻內(nèi)容類型和源流音量的檢測,得到音頻內(nèi)容類型和源流音量,利用時間戳對齊和封裝插入技術將音頻內(nèi)容類型和源流音量信息添加到原始音頻流,形成增強音頻流,基于參考音量設定、音量比較和音頻內(nèi)容切換時的音量調(diào)整策略確定轉(zhuǎn)碼音頻流的目標音量,從而構(gòu)建出音頻轉(zhuǎn)碼處理結(jié)構(gòu),以在轉(zhuǎn)碼過程中動態(tài)不斷流地調(diào)整音量,統(tǒng)一單個和/或多個音頻流中的音量增益,保持不同場景切換時音量的一致性,提升了用戶的視聽體驗。
16、應當理解的是,以上的一般描述和后文的細節(jié)描述僅是示例性和解釋性的,并不能限制本公開。