本發(fā)明涉及音頻編碼技術(shù)領(lǐng)域,更具體地,本發(fā)明涉及一種用于音頻編碼器的增益調(diào)節(jié)方法、一種用于音頻編碼器的增益調(diào)節(jié)裝置、一種音頻編碼器、及一種音響設(shè)備。
背景技術(shù):
音頻編碼器是將模擬音頻信號轉(zhuǎn)換為數(shù)字音頻信號的裝置。音頻編碼器通常包括順次連接的信號整形模塊、放大模塊和模數(shù)轉(zhuǎn)換模塊,該信號整形模塊被設(shè)置為對輸入的模擬音頻信號進(jìn)行限幅和濾波,該放大模塊被設(shè)置為對信號整形模塊輸出的信號進(jìn)行放大處理,該模數(shù)轉(zhuǎn)換模塊被設(shè)置為對放大器輸出的信號進(jìn)行模數(shù)轉(zhuǎn)換處理,以得到數(shù)字音頻信號。
由于現(xiàn)有音頻編碼器的放大模塊只能進(jìn)行固定增益調(diào)節(jié),因此,現(xiàn)有音頻編碼器存在如下缺陷:1)手機(jī)等移動手持設(shè)備輸出的模擬音頻信號的動態(tài)范圍是0~1vrms,而cd機(jī)或av解碼器輸出的模擬音頻信號的動態(tài)范圍是0~2vrms,如果按照后者配置放大器的增益,則在用戶以手機(jī)等移動手持設(shè)備作為模擬輸入源時(shí),音響的最大輸出功率將比額定最大功率小6db,不能完全發(fā)揮音響的性能。
因此,非常有必要提供一種對音頻編碼器的放大增益進(jìn)行自適應(yīng)調(diào)節(jié)的技術(shù)方案。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的一個(gè)目的是提供一種對音頻編碼器的增益進(jìn)行自適應(yīng)調(diào)節(jié)的技術(shù)方案。
根據(jù)本發(fā)明的第一方面,提供了一種用于音頻編碼器的增益調(diào)節(jié)方法,其包括:
對所述音頻編碼器輸出的數(shù)字音頻信號進(jìn)行削波檢測;
根據(jù)所述削波檢測的檢測結(jié)果,計(jì)算所述數(shù)字音頻信號的發(fā)生削波的采樣點(diǎn)數(shù)量;
如果所述采樣點(diǎn)數(shù)量大于設(shè)定數(shù)值,則減小所述音頻編碼器的放大增益。
可選的是,所述方法還包括:
檢測音頻源設(shè)備是否連接至所述音頻編碼器的模擬音頻信號輸入接口,如是,先設(shè)置所述音頻編碼器的放大增益等于默認(rèn)值,再開始對所述音頻編碼器輸出的數(shù)字音頻信號進(jìn)行削波檢測。
可選的是,所述方法還包括:
檢測音頻源設(shè)備是否連接至所述音頻編碼器的模擬音頻信號輸入接口,如是:
再開始對所述音頻編碼器輸出的數(shù)字音頻信號進(jìn)行削波檢測;以及,
檢測所述音頻源設(shè)備是否斷開與所述模擬音頻信號輸入接口的連接,如是,則設(shè)置所述音頻編碼器的放大增益等于默認(rèn)值。
可選的是,所述減小所述音頻編碼器的放大增益包括:
以設(shè)定的固定步距減小所述音頻編碼器的放大增益。
可選的是,所述對所述音頻編碼器輸出的數(shù)字音頻信號進(jìn)行削波檢測包括:
讀取數(shù)字音頻信號的采樣點(diǎn)的數(shù)值;
如果所述數(shù)值大于或者等于預(yù)設(shè)的削波信號參考值,則標(biāo)記所述采樣點(diǎn)被削波。
可選的是,所述計(jì)算所述數(shù)字音頻信號的發(fā)生削波的采樣點(diǎn)數(shù)量包括:
計(jì)算所述數(shù)字音頻信號的連續(xù)發(fā)生削波的采樣點(diǎn)數(shù)量,其中,所述連續(xù)發(fā)生削波被設(shè)置為是發(fā)生削波的相鄰采樣點(diǎn)之間間隔的采樣點(diǎn)數(shù)量小于或者等于預(yù)設(shè)值;或者,
所述計(jì)算所述數(shù)字音頻信號的發(fā)生削波的采樣點(diǎn)數(shù)量包括:
計(jì)算所述數(shù)字音頻信號的每設(shè)定個(gè)數(shù)的連續(xù)采樣點(diǎn)中發(fā)生削波的采樣點(diǎn)數(shù)量。
根據(jù)本發(fā)明的第二方面,提供了一種用于音頻編碼器的增益調(diào)節(jié)裝置,其包括:
削波檢測模塊,用于對所述音頻編碼器輸出的數(shù)字音頻信號進(jìn)行削波檢測;
削波計(jì)數(shù)模塊,用于根據(jù)所述削波檢測的檢測結(jié)果,計(jì)算所述數(shù)字音頻信號的發(fā)生削波的采樣點(diǎn)數(shù)量;以及,
增益調(diào)節(jié)模塊,用于在所述采樣點(diǎn)數(shù)量大于設(shè)定數(shù)值的情況下,減小所述音頻編碼器的放大增益。
可選的是,所述增益調(diào)節(jié)裝置還包括:
連接檢測模塊,用于檢測音頻源設(shè)備是否連接至所述音頻編碼器的模擬音頻信號輸入接口,如是,則先通知所述增益調(diào)節(jié)模塊設(shè)置所述音頻編碼器的放大增益等于默認(rèn)值,再通知所述削波檢測模塊進(jìn)行所述削波檢測。
可選的是,所述增益調(diào)節(jié)裝置還包括連接檢測模塊和斷開檢測模塊;
所述連接檢測模塊用于檢測音頻源設(shè)備是否連接至所述音頻編碼器的模擬音頻信號輸入接口,如是,則通知所述斷開檢測模塊檢測所述音頻源設(shè)備是否斷開與所述模擬音頻信號輸入接口的連接、及通知所述削波檢測模塊進(jìn)行所述削波檢測。
所述斷開檢測模塊用于根據(jù)所述音頻源設(shè)備斷開與所述模擬音頻信號輸入接口的連接的檢測結(jié)果,設(shè)置音頻編碼器的放大增益等于默認(rèn)值。
可選的是,所述削波檢測模塊包括:
讀取單元,用于讀取數(shù)字音頻信號的采樣點(diǎn)的數(shù)值;以及,
標(biāo)記單元,用于在所述數(shù)值大于或者等于預(yù)設(shè)的削波信號參考值的情況下,標(biāo)記所述采樣點(diǎn)被削波。
可選的是,所述削波計(jì)數(shù)模塊用于計(jì)算所述數(shù)字音頻信號的連續(xù)發(fā)生削波的采樣點(diǎn)數(shù)量,其中,所述連續(xù)發(fā)生削波被設(shè)置為是發(fā)生削波的相鄰采樣點(diǎn)之間間隔的采樣點(diǎn)數(shù)量小于或者等于預(yù)設(shè)值;或者,
所述削波計(jì)數(shù)模塊用于計(jì)算所述數(shù)字音頻信號的每設(shè)定個(gè)數(shù)的連續(xù)采樣點(diǎn)中發(fā)生削波的采樣點(diǎn)數(shù)量。
根據(jù)本發(fā)明的第三方面,還提供了一種用于音頻編碼器的增益調(diào)節(jié)裝置,其包括存儲器和處理器,所述存儲器用于存儲指令,所述指令用于控制所述處理器進(jìn)行操作以執(zhí)行根據(jù)發(fā)明的第一方面所述的增益調(diào)節(jié)方法。
根據(jù)本發(fā)明的第四方面,還提供了一種音頻編碼器,其包括根據(jù)本發(fā)明的第二方面或者第三方面所述的增益調(diào)節(jié)裝置。
根據(jù)本發(fā)明的第五方面,還提供了一種音響設(shè)備,其包括根據(jù)本發(fā)明的第四方面所述的音頻編碼器。
本發(fā)明的一個(gè)有益效果在于,本發(fā)明的用于音頻編碼器的增益調(diào)節(jié)方法、裝置根據(jù)對轉(zhuǎn)換得到的數(shù)字音頻信號進(jìn)行削波檢測的檢測結(jié)果自適應(yīng)地減小音頻編碼器的放大增益,以在模數(shù)轉(zhuǎn)換模塊支持的最大轉(zhuǎn)換范圍內(nèi)提供最高的放大增益,進(jìn)而盡可能地提高音響設(shè)備的最大輸出功率,實(shí)現(xiàn)音響性能的有效發(fā)揮。
通過以下參照附圖對本發(fā)明的示例性實(shí)施例的詳細(xì)描述,本發(fā)明的其它特征及其優(yōu)點(diǎn)將會變得清楚。
附圖說明
被結(jié)合在說明書中并構(gòu)成說明書的一部分的附圖示出了本發(fā)明的實(shí)施例,并且連同其說明一起用于解釋本發(fā)明的原理。
圖1為根據(jù)本發(fā)明增益調(diào)節(jié)方法的一種實(shí)施例的流程示意圖;
圖2為根據(jù)本發(fā)明增益調(diào)節(jié)方法的另一種實(shí)施例的流程示意圖;
圖3為根據(jù)本發(fā)明增益調(diào)節(jié)方法的第三種實(shí)施例的流程示意圖;
圖4為根據(jù)本發(fā)明增益調(diào)節(jié)方法的一種具體例子的流程示意圖;
圖5為根據(jù)本發(fā)明增益調(diào)節(jié)裝置的一種實(shí)施例的方框原理圖;
圖6為根據(jù)本發(fā)明增益調(diào)節(jié)裝置的另一種實(shí)施例的方框原理圖;
圖7為根據(jù)本發(fā)明增益調(diào)節(jié)裝置的第三種實(shí)施例的方框原理圖;
圖8為根據(jù)本發(fā)明的增益調(diào)節(jié)裝置的一種硬件結(jié)構(gòu)的方框原理圖;
圖9為根據(jù)本發(fā)明的音頻編碼器的一種實(shí)施例的方框原理圖;
圖10為根據(jù)本發(fā)明的音響設(shè)備的一種實(shí)施例的方框原理圖。
具體實(shí)施方式
現(xiàn)在將參照附圖來詳細(xì)描述本發(fā)明的各種示例性實(shí)施例。應(yīng)注意到:除非另外具體說明,否則在這些實(shí)施例中闡述的部件和步驟的相對布置、數(shù)字表達(dá)式和數(shù)值不限制本發(fā)明的范圍。
以下對至少一個(gè)示例性實(shí)施例的描述實(shí)際上僅僅是說明性的,決不作為對本發(fā)明及其應(yīng)用或使用的任何限制。
對于相關(guān)領(lǐng)域普通技術(shù)人員已知的技術(shù)、方法和設(shè)備可能不作詳細(xì)討論,但在適當(dāng)情況下,所述技術(shù)、方法和設(shè)備應(yīng)當(dāng)被視為說明書的一部分。
在這里示出和討論的所有例子中,任何具體值應(yīng)被解釋為僅僅是示例性的,而不是作為限制。因此,示例性實(shí)施例的其它例子可以具有不同的值。
應(yīng)注意到:相似的標(biāo)號和字母在下面的附圖中表示類似項(xiàng),因此,一旦某一項(xiàng)在一個(gè)附圖中被定義,則在隨后的附圖中不需要對其進(jìn)行進(jìn)一步討論。
<方法>
圖1是根據(jù)本發(fā)明增益調(diào)節(jié)方法的一種實(shí)施例進(jìn)行一次增益調(diào)節(jié)的流程示意圖。
根據(jù)圖1所示,本發(fā)明增益調(diào)節(jié)方法進(jìn)行一次增益調(diào)節(jié)的步驟包括:
步驟s110,對音頻編碼器輸出的數(shù)字音頻信號進(jìn)行削波檢測。
音頻編碼器包括信號整形模塊、放大模塊和模數(shù)轉(zhuǎn)換模塊,根據(jù)本發(fā)明增益調(diào)節(jié)方法,該放大模塊為增益可調(diào)節(jié)的放大模塊。
該增益可調(diào)節(jié)的放大模塊可以包括可編程增益放大器,以支持根據(jù)本發(fā)明增益調(diào)節(jié)方法進(jìn)行增益調(diào)節(jié)。
該數(shù)字音頻信號為音頻編碼器的模數(shù)轉(zhuǎn)換模塊的輸出。
該步驟s110中對音頻編碼器輸出的數(shù)字音頻信號進(jìn)行削波檢測可以進(jìn)一步包括:
步驟s111,讀取數(shù)字音頻信號的采樣點(diǎn)的數(shù)值。
該步驟s111可以為按照時(shí)間順序讀取數(shù)字音頻信號的采樣點(diǎn)數(shù)值。
該模數(shù)轉(zhuǎn)換模塊輸出的數(shù)字音頻信號可以存儲在信號緩沖器中,在該步驟s111可以進(jìn)一步為從模數(shù)轉(zhuǎn)換模塊的信號緩沖器中讀取數(shù)字音頻信號的采樣點(diǎn)的數(shù)值。
該模數(shù)轉(zhuǎn)換模塊輸出的數(shù)字音頻信號可以按照先進(jìn)先出的原則存儲在信號緩沖器中。
該步驟s111可以進(jìn)一步為按照先進(jìn)先出的原則從模數(shù)轉(zhuǎn)換模塊的信號緩沖器中讀取數(shù)字音頻信號的采樣點(diǎn)的數(shù)值。
步驟s112,判斷讀取的數(shù)值是否大于或者等于預(yù)設(shè)的削波信號參考值,如是,則標(biāo)記在該采樣點(diǎn)被削波,如否,則確定在該采樣點(diǎn)未被削波。
由于音頻編碼器允許輸入的模擬音頻信號的動態(tài)范圍通常大于模數(shù)轉(zhuǎn)換模塊的最大可轉(zhuǎn)換范圍,因此便會產(chǎn)生削波。以模數(shù)轉(zhuǎn)換模塊的最大可轉(zhuǎn)換范圍是0-2.1vrms,但允許輸入的模擬音頻信號可達(dá)到5v為例,如果輸入至模數(shù)轉(zhuǎn)換模塊的模擬音頻信號達(dá)到2.1vrms以上,則模數(shù)轉(zhuǎn)換模塊輸出的pcm格式的數(shù)字音頻信號通常為0dbfs。因此,該削波信號參考值可以被設(shè)置為等于模數(shù)轉(zhuǎn)換模塊在接收到大于自身的最大可轉(zhuǎn)換范圍的模擬音頻信號時(shí)的輸出值。
步驟s120,根據(jù)上述削波檢測的檢測結(jié)果,計(jì)算數(shù)字音頻信號的發(fā)生削波的采樣點(diǎn)數(shù)量。
在進(jìn)行一次增益調(diào)節(jié)的過程中,該步驟s120中發(fā)生削波的采樣點(diǎn)數(shù)量可以根據(jù)檢測結(jié)果進(jìn)行累計(jì)計(jì)數(shù),直至一次增益調(diào)節(jié)結(jié)束。
為了提高根據(jù)削波檢測結(jié)果進(jìn)行增益調(diào)節(jié)的準(zhǔn)確性,該步驟s120中計(jì)算數(shù)字音頻信號的發(fā)生削波的采樣點(diǎn)數(shù)量可以進(jìn)一步為:根據(jù)上述削波檢測的檢測結(jié)果,計(jì)算所述數(shù)字音頻信號的連續(xù)發(fā)生削波的采樣點(diǎn)數(shù)量。
該連續(xù)發(fā)生削波可以被設(shè)置為是:發(fā)生削波的相鄰采樣點(diǎn)之間間隔的采樣點(diǎn)數(shù)量小于或者等于預(yù)設(shè)值。
該預(yù)設(shè)值可以等于0。這說明,在檢測到第n個(gè)采樣點(diǎn)被削波后,只有第(n+1)個(gè)采樣點(diǎn)也被削波,才進(jìn)行采樣點(diǎn)數(shù)量的累計(jì)計(jì)數(shù),否則,將在下一次檢測到被削波的采樣點(diǎn)后重新開始計(jì)數(shù)。
為了提高削波檢測計(jì)算的容錯(cuò)性,該預(yù)設(shè)值也可以大于或者等于1。以預(yù)設(shè)值為10為例,這說明,在檢測到第n個(gè)采樣點(diǎn)被削波后,如果檢測到第m個(gè)采樣點(diǎn)也被削波,且m與n之間間隔的采樣數(shù)量小于或者等于10,則進(jìn)行采樣點(diǎn)數(shù)量的累計(jì)計(jì)數(shù),否則,將以第m個(gè)采樣點(diǎn)開始重新計(jì)算采樣點(diǎn)數(shù)量。
為了提高根據(jù)削波檢測結(jié)果進(jìn)行增益調(diào)節(jié)的準(zhǔn)確性,該步驟s120中計(jì)算數(shù)字音頻信號的發(fā)生削波的采樣點(diǎn)數(shù)量也可以進(jìn)一步為:根據(jù)上述削波檢測的檢測結(jié)果,計(jì)算所述數(shù)字音頻信號的每設(shè)定個(gè)數(shù)的連續(xù)采樣點(diǎn)中發(fā)生削波的采樣點(diǎn)數(shù)量。
以設(shè)定個(gè)數(shù)為100個(gè)為例,可將數(shù)字音頻信號的每連續(xù)100個(gè)采樣點(diǎn)劃為一組,并累計(jì)計(jì)算該組中發(fā)生削波的采樣點(diǎn)數(shù)量。
根據(jù)上述步驟s112,在該步驟s120中,可以根據(jù)對數(shù)字音頻信號的數(shù)值的標(biāo)記情況計(jì)算發(fā)生削波的采樣點(diǎn)數(shù)量。
在該步驟s120中,可以設(shè)置削波計(jì)數(shù)值i,該削波計(jì)數(shù)值i在開始一次增益調(diào)節(jié)時(shí)的初始值被設(shè)置為等于0,以實(shí)現(xiàn)對以上發(fā)生削波、連續(xù)發(fā)生削波或者每設(shè)定個(gè)數(shù)的連續(xù)采樣點(diǎn)中發(fā)生削波的采樣點(diǎn)數(shù)量(以下統(tǒng)稱為表示削波的采樣點(diǎn)數(shù)量)的計(jì)算。
開始一次增益調(diào)節(jié)后,可以根據(jù)步驟s110每檢測到一個(gè)發(fā)生削波的采樣點(diǎn)就觸發(fā)削波計(jì)數(shù)值加1,這樣,削波計(jì)數(shù)值便能反映發(fā)生削波的采樣點(diǎn)數(shù)量。也可以進(jìn)一步在不滿足連續(xù)發(fā)生削波的條件下,對削波計(jì)數(shù)值清零,以使削波計(jì)數(shù)值反映連續(xù)發(fā)生削波的采樣點(diǎn)數(shù)量。也可以進(jìn)一步在每次檢測到設(shè)定個(gè)數(shù)的采樣點(diǎn)時(shí),對削波計(jì)數(shù)值清零,以使削波計(jì)數(shù)值反映每設(shè)定個(gè)數(shù)的連續(xù)采樣點(diǎn)中發(fā)生削波的采樣點(diǎn)數(shù)量。步驟s130,判斷步驟s120計(jì)算得到的采樣點(diǎn)數(shù)量是否大于設(shè)定數(shù)值,如是,則減小音頻編碼器的放大增益,完成一次增益調(diào)節(jié),如否,則回到步驟s110繼續(xù)進(jìn)行削波檢測。
該設(shè)定數(shù)值可以考慮削波抑制響應(yīng)時(shí)間、模數(shù)轉(zhuǎn)換模塊的采樣率、削波范圍、及人耳對聲音的辨識范圍等設(shè)置。
以下非限制性地提供一種選擇設(shè)定數(shù)值的例子。
設(shè)定數(shù)值的下限值:一般人耳對3~5khz左右的聲音較敏感。以4khz正弦波在0.9倍峰值以上都將被削波、及采樣率為48khz為例,被削波區(qū)域?qū)?yīng)的采樣點(diǎn)數(shù)n1為:
n1=(arcsin(1)-arcsin(0.9))×2/360°×(1/4k×48khz)≈2
在此,由于信號線上可能存在高頻噪聲,為了避免削波檢測被誤觸發(fā),因此,可以以采集到例如是5個(gè)正弦波被削波作為設(shè)定數(shù)值的最小值,即設(shè)定數(shù)值的下限值可以選擇為10。
設(shè)定數(shù)值的上限值:一般人耳對20hz~20khz的聲音是可聞的。以20hz正弦波在0.9倍峰值以上都被削波、及采樣率為48khz為例,被削波區(qū)域?qū)?yīng)的采樣點(diǎn)數(shù)n2為:
n2=(arcsin(1)-arcsin(0.9))×2/360°×(1/20×48khz)≈400
在采樣率為48khz的情況下,生成400個(gè)采樣點(diǎn)大約耗時(shí)8ms,為了盡量縮減削波抑制響應(yīng)時(shí)間(與設(shè)定數(shù)值成正比),可以選擇削波失真產(chǎn)生2ms所需的采樣點(diǎn)數(shù)作為設(shè)定數(shù)值的上限值,因此,該上限值可以選擇為100。以上設(shè)定個(gè)數(shù)可以略大于選擇的設(shè)定數(shù)值,例如,可以相對設(shè)定數(shù)值溢出10%。以設(shè)定數(shù)值為100為例,該設(shè)定個(gè)數(shù)可以為110。
在該步驟s130中,減小音頻編碼器的放大增益可以進(jìn)一步為以設(shè)定的固定步距減小音頻編碼器的放大增益。
該固定步距可以根據(jù)音頻編碼器的增益調(diào)節(jié)范圍、輸入的模擬音頻信號的動態(tài)范圍等確定。
在增益調(diào)節(jié)范圍是-12db~+12db的實(shí)施例中,該固定步距例如可以設(shè)置為是0.5db~2db。
在根據(jù)步驟s130完成一次增益調(diào)節(jié)后,可以根據(jù)以上步驟s110至步驟s130進(jìn)行下一次增益調(diào)節(jié)。
在開始下一次增益調(diào)節(jié)時(shí),以上削波計(jì)數(shù)值將被清零,以在進(jìn)行下一次增益調(diào)節(jié)時(shí)根據(jù)繼續(xù)進(jìn)行的檢測結(jié)果(即下一次增益調(diào)節(jié)的檢測結(jié)果)開始計(jì)算表示削波的采樣點(diǎn)數(shù)量。以t1時(shí)刻完成一次增益調(diào)節(jié)為例,在進(jìn)行下一次增益調(diào)節(jié)時(shí),將根據(jù)對數(shù)字音頻信號在t1時(shí)刻后的數(shù)值的檢測結(jié)果開始計(jì)算表示削波的采樣點(diǎn)數(shù)量,直至表示削波的采樣點(diǎn)數(shù)量大于設(shè)定數(shù)值為止,完成下一次增益調(diào)節(jié)。
圖2是根據(jù)本發(fā)明增益調(diào)節(jié)方法的另一實(shí)施例進(jìn)行一次增益調(diào)節(jié)的流程示意圖。
根據(jù)圖2所示,圖2所示實(shí)施例相對圖1所示實(shí)施例,主要增加了如下步驟:
步驟s210,檢測音頻源設(shè)備是否連接至音頻編碼器的模擬音頻信號輸入接口,如是,則執(zhí)行步驟s220,如否,則繼續(xù)執(zhí)行步驟s210。
模擬音頻信號輸入接口是音頻編碼器用于連接音頻源設(shè)備的接口,該音頻源設(shè)備例如包括手機(jī)等移動手持設(shè)備、cd機(jī)、av解碼器等。
音頻編碼器可以根據(jù)適配的音頻源設(shè)備類型具有一個(gè)模擬音頻信號輸入接口或者兩個(gè)以上(包括兩個(gè))模擬音頻信號輸入接口。
模擬音頻信號輸入接口具有供音頻編碼器檢測是否有音頻源設(shè)備連接的針腳。
步驟s220,先設(shè)置音頻編碼器的放大增益等于默認(rèn)值,再執(zhí)行以上步驟s110至步驟s130。
根據(jù)上述步驟s110至步驟s130可知,本發(fā)明增益調(diào)節(jié)方法在進(jìn)行增益調(diào)節(jié)時(shí)是進(jìn)行放大增益的減小調(diào)節(jié),以在輸入的模擬音頻信號具有動態(tài)范圍大、瞬態(tài)變化快的特點(diǎn)時(shí),不會引起數(shù)字音頻信號的失真度大幅度提高的問題。這說明,該默認(rèn)值是音頻編碼器的放大增益的最大值。
該默認(rèn)值可以被設(shè)置為等于音頻編碼器所允許的放大增益上限值。
在結(jié)合設(shè)置削波計(jì)數(shù)值的實(shí)施例中,本發(fā)明增益調(diào)節(jié)方法還可以在檢測到音頻源設(shè)備連接至模擬音頻信號輸入接口后、及執(zhí)行以上步驟s110之前,將削波計(jì)數(shù)值清零,以實(shí)現(xiàn)根據(jù)即將進(jìn)行的削波檢測的檢測結(jié)果計(jì)算表示削波的采樣點(diǎn)數(shù)量。
圖3是根據(jù)本發(fā)明增益調(diào)節(jié)方法的第三種實(shí)施例的流程示意圖。
根據(jù)圖3所示,圖3所示實(shí)施例相對圖1所示實(shí)施例,主要增加了如下步驟:
步驟s310,檢測音頻源設(shè)備是否連接至音頻編碼器的模擬音頻信號輸入接口,如是,則執(zhí)行步驟s320和上述步驟s110,如否,則繼續(xù)執(zhí)行步驟s310。
步驟s320,檢測該音頻源設(shè)備是否斷開與該模擬音頻信號輸入接口的連接,如是,則執(zhí)行步驟s330,如否,則繼續(xù)執(zhí)行步驟s320。
該步驟s320可以與圖1所示步驟s110至步驟s130并行執(zhí)行,也可以在任一步驟之前或者之后進(jìn)行。
步驟s330,設(shè)置音頻編碼器的放大增益等于默認(rèn)值。
在結(jié)合設(shè)置削波計(jì)數(shù)值的實(shí)施例中,本發(fā)明增益調(diào)節(jié)方法還可以在檢測到音頻源設(shè)備斷開與模擬音頻信號輸入接口的連接后,將削波計(jì)數(shù)值清零,以實(shí)現(xiàn)根據(jù)以后(再次連接音頻源設(shè)備)進(jìn)行的削波檢測的檢測結(jié)果計(jì)算表示削波的采樣點(diǎn)數(shù)量。
<例子>
圖4是根據(jù)本發(fā)明增益調(diào)節(jié)方法的一種具體例子的流程示意圖,該例子對應(yīng)以上的根據(jù)上述削波檢測的檢測結(jié)果,計(jì)算所述數(shù)字音頻信號的每設(shè)定個(gè)數(shù)的連續(xù)采樣點(diǎn)中發(fā)生削波的采樣點(diǎn)數(shù)量的實(shí)施例。
根據(jù)圖4所示,本發(fā)明增益調(diào)節(jié)方法可以包括兩個(gè)線程。
圖4中左側(cè)的線程執(zhí)行圖4中的步驟s411至步驟s420,右側(cè)的線程執(zhí)行圖4中的步驟s421至步驟s422。
步驟s411,檢測音頻源設(shè)備是否連接至音頻編碼器的模擬音頻信號輸入接口,如是,則執(zhí)行步驟s412和步驟s421,如否,則繼續(xù)執(zhí)行步驟s411。
步驟s412,設(shè)置音頻編碼器的放大增益等于默認(rèn)值,之后執(zhí)行步驟s413。
步驟s413,設(shè)置削波計(jì)數(shù)值i=0,采樣點(diǎn)計(jì)數(shù)值j=1,之后執(zhí)行步驟s414。
步驟s414,檢測音頻編碼器輸出的數(shù)字音頻信號的第j個(gè)采樣點(diǎn)是否被削波,如是,則執(zhí)行步驟s415,如否,則執(zhí)行步驟s419。
步驟s415,判斷j是否小于或者等于設(shè)定個(gè)數(shù),如是,則執(zhí)行步驟s416,如否,則執(zhí)行步驟s420。
步驟s416,設(shè)置削波計(jì)數(shù)值i=i+1,之后執(zhí)行步驟s417。
步驟s417,判斷削波計(jì)數(shù)值是否大于設(shè)定數(shù)值,如是,則執(zhí)行步驟s418,如否,則執(zhí)行步驟s419。
步驟s418,減小所述音頻編碼器的放大增益,之后回到步驟s413。
步驟s419,設(shè)置j=j(luò)+1,之后執(zhí)行步驟s414。
步驟s420,設(shè)置j=1,之后執(zhí)行步驟s414。
通過步驟s420,從下一采樣點(diǎn)開始重新進(jìn)行采樣點(diǎn)計(jì)數(shù)。
步驟s421,檢測該音頻源設(shè)備是否斷開與該模擬音頻信號輸入接口的連接,如是,則執(zhí)行步驟s422,如否,則繼續(xù)執(zhí)行步驟s421。
步驟s422,設(shè)置音頻編碼器的放大增益等于默認(rèn)值、及設(shè)置削波計(jì)數(shù)值i=0。
<設(shè)備>
圖5是根據(jù)本發(fā)明增益調(diào)節(jié)裝置的一種實(shí)施例的方框原理圖。
根據(jù)圖5所示,本發(fā)明增益調(diào)節(jié)裝置包括削波檢測模塊510、削波計(jì)數(shù)模塊520和增益調(diào)節(jié)模塊530。
該削波檢測模塊510用于對音頻編碼器輸出的數(shù)字音頻信號進(jìn)行削波檢測。
該削波檢測模塊510可以進(jìn)一步包括讀取單元和標(biāo)記單元(圖中未示出)。該讀取單元用于讀取數(shù)字音頻信號的采樣點(diǎn)的數(shù)值;該標(biāo)記單元用于在所述數(shù)值大于或者等于預(yù)設(shè)的削波信號參考值的情況下,標(biāo)記在所述采樣點(diǎn)被削波。
該削波計(jì)數(shù)模塊520用于根據(jù)削波檢測模塊510進(jìn)行削波檢測的檢測結(jié)果,計(jì)算數(shù)字音頻信號發(fā)生削波的削波次數(shù)。
該削波計(jì)數(shù)模塊520可以進(jìn)一步用于根據(jù)削波檢測模塊510進(jìn)行削波檢測的檢測結(jié)果,計(jì)算數(shù)字音頻信號連續(xù)發(fā)生削波的削波次數(shù),其中,此處的連續(xù)發(fā)生削波被設(shè)置為是發(fā)生削波的相鄰采樣點(diǎn)之間間隔的采樣點(diǎn)數(shù)量小于或者等于預(yù)設(shè)值。
該削波計(jì)數(shù)模塊520也可以進(jìn)一步用于計(jì)算所述數(shù)字音頻信號的每設(shè)定個(gè)數(shù)的連續(xù)采樣點(diǎn)中發(fā)生削波的采樣點(diǎn)數(shù)量。
該削波計(jì)數(shù)模塊520可以通過設(shè)置削波計(jì)數(shù)值表示計(jì)算得到的采樣點(diǎn)數(shù)量。
該增益調(diào)節(jié)模塊530用于在削波計(jì)數(shù)模塊520計(jì)算得到的采樣點(diǎn)數(shù)量大于設(shè)定數(shù)值的情況下,減小音頻編碼器的放大增益。
增益調(diào)節(jié)模塊530在完成一次增益調(diào)節(jié)后,將通知削波計(jì)數(shù)模塊520根據(jù)削波檢測模塊510繼續(xù)進(jìn)行的削波檢測的檢測結(jié)果開始計(jì)算表示削波的采樣點(diǎn)數(shù)量。
進(jìn)一步地,對于削波計(jì)數(shù)模塊520設(shè)置削波計(jì)數(shù)值的實(shí)施例,該增益調(diào)節(jié)模塊530在完成一次增益調(diào)節(jié)后,將通知削波計(jì)數(shù)模塊520將削波計(jì)數(shù)值清零。
該增益調(diào)節(jié)模塊530可以具體用于以設(shè)定的固定步距減小音頻編碼器的放大增益。
圖6是根據(jù)本發(fā)明增益調(diào)節(jié)裝置的另一種實(shí)施例的方框原理圖。
根據(jù)圖6所示,該實(shí)施例與圖5所示實(shí)施例的主要區(qū)別在于,該增益調(diào)節(jié)裝置還包括連接檢測模塊610。
該連接檢測模塊610用于檢測音頻源設(shè)備是否連接至音頻編碼器的模擬音頻信號輸入接口,如是,則先通知以上增益調(diào)節(jié)模塊530設(shè)置音頻編碼器的放大增益等于默認(rèn)值,再通知削波檢測模塊510進(jìn)行削波檢測。
進(jìn)一步地,該連接檢測模塊610還可以用于在檢測到音頻源設(shè)備連接至模擬音頻信號輸入接口之后、及通知削波檢測模塊510進(jìn)行削波檢測之前,通知削波計(jì)數(shù)模塊520根據(jù)削波檢測模塊510即將進(jìn)行的削波檢測的檢測結(jié)果開始計(jì)算表示削波的采樣點(diǎn)數(shù)量。
更進(jìn)一步地,對于削波計(jì)數(shù)模塊520設(shè)置削波計(jì)數(shù)值的實(shí)施例,該連接檢測模塊610還可以用于在檢測到音頻源設(shè)備連接至模擬音頻信號輸入接口之后、及通知削波檢測模塊510進(jìn)行削波檢測之前,通知削波計(jì)數(shù)模塊520將削波計(jì)數(shù)值清零。
圖7是根據(jù)本發(fā)明增益調(diào)節(jié)裝置的第三種實(shí)施例的方框原理圖。
根據(jù)圖3所示,該實(shí)施例與圖5所示實(shí)施例的主要區(qū)別在于,該增益調(diào)節(jié)裝置還包括連接檢測模塊710和斷開檢測模塊720。
該連接檢測模塊710用于檢測音頻源設(shè)備是否連接至音頻編碼器的模擬音頻信號輸入接口,如是,則通知斷開檢測模塊710檢測該音頻源設(shè)備是否斷開與該模擬音頻信號輸入接口的連接。
該斷開檢測模塊720用于根據(jù)該音頻源設(shè)備斷開與該模擬音頻信號輸入接口間連接的檢測結(jié)果,設(shè)置音頻編碼器的放大增益等于默認(rèn)值。
進(jìn)一步地,該斷開檢測模塊720還可以用于根據(jù)該音頻源設(shè)備斷開與該模擬音頻信號輸入接口間連接的檢測結(jié)果,通知削波計(jì)數(shù)模塊520根據(jù)削波檢測模塊510之后進(jìn)行的削波檢測的檢測結(jié)果開始計(jì)算表示削波的采樣點(diǎn)數(shù)量。
更進(jìn)一步地,對于削波計(jì)數(shù)模塊520設(shè)置削波計(jì)數(shù)值的實(shí)施例,該斷開檢測模塊720還可以用于根據(jù)該音頻源設(shè)備斷開與該模擬音頻信號輸入接口間連接的檢測結(jié)果,通知削波計(jì)數(shù)模塊520將削波計(jì)數(shù)值清零。
<硬件配置>
圖8是根據(jù)本發(fā)明增益調(diào)節(jié)裝置的一種硬件結(jié)構(gòu)的方框原理圖。
根據(jù)圖8所示,本發(fā)明增益調(diào)節(jié)裝置可以包括至少一個(gè)存儲器810和至少一個(gè)處理器820,該存儲器810用于存儲指令,該指令用于控制處理器820進(jìn)行操作以執(zhí)行根據(jù)本發(fā)明的增益調(diào)節(jié)裝置。
該存儲器810可以包括高速隨機(jī)存儲器,還可以包括非易失性存儲器,如一個(gè)或者多個(gè)磁性存儲裝置、閃存、或者其他非易失性固態(tài)存儲器。
<音頻編碼器>
圖9為根據(jù)本發(fā)明音頻編碼器的一種實(shí)施例的方框原理圖。
根據(jù)圖9所示,該音頻編碼器除信號整形模塊910和模數(shù)轉(zhuǎn)換模塊930之外,還包括增益可調(diào)節(jié)的放大模塊920及上述任一種增益調(diào)節(jié)裝置940。
該增益調(diào)節(jié)裝置940通過對模數(shù)轉(zhuǎn)換模塊930輸出的數(shù)字音頻信號進(jìn)行削波檢測對放大模塊920進(jìn)行放大增益的減小調(diào)節(jié)。
該增益可調(diào)節(jié)的放大模塊可以包括可編程增益放大器,以支持通過增益調(diào)節(jié)裝置940進(jìn)行自適應(yīng)的增益調(diào)節(jié)。
該音頻編碼器還可以包括至少一個(gè)模擬音頻信號輸入接口。
<音響設(shè)備>
圖10為根據(jù)本發(fā)明音響設(shè)備的一種實(shí)施例的方框原理圖。
根據(jù)圖10所示,該音響設(shè)備包括圖9中的音頻編碼器1010,還包括功率放大器1020、揚(yáng)聲器1030。
該音頻編碼器1010輸出的數(shù)字音頻信號輸出至功率放大器1020(數(shù)字功放),以通過功率放大器1020驅(qū)動揚(yáng)聲器1030發(fā)聲。
本說明書中的各個(gè)實(shí)施例均采用遞進(jìn)的方式描述,各個(gè)實(shí)施例之間相同相似的部分相互參見即可,每個(gè)實(shí)施例重點(diǎn)說明的都是與其他實(shí)施例的不同之處,但本領(lǐng)域技術(shù)人員應(yīng)當(dāng)清楚的是,上述各實(shí)施例可以根據(jù)需要單獨(dú)使用或者相互結(jié)合使用。另外,對于裝置實(shí)施例而言,由于其是與方法實(shí)施例相對應(yīng),所以描述得比較簡單,相關(guān)之處參見方法實(shí)施例的對應(yīng)部分的說明即可。以上所描述的裝置實(shí)施例僅僅是示意性的,其中作為分離部件說明的模塊可以是或者也可以不是物理上分開的。
本發(fā)明可以是裝置、方法和/或計(jì)算機(jī)程序產(chǎn)品。計(jì)算機(jī)程序產(chǎn)品可以包括計(jì)算機(jī)可讀存儲介質(zhì),其上載有用于使處理器實(shí)現(xiàn)本發(fā)明的各個(gè)方面的計(jì)算機(jī)可讀程序指令。
計(jì)算機(jī)可讀存儲介質(zhì)可以是可以保持和存儲由指令執(zhí)行設(shè)備使用的指令的有形設(shè)備。計(jì)算機(jī)可讀存儲介質(zhì)例如可以是――但不限于――電存儲設(shè)備、磁存儲設(shè)備、光存儲設(shè)備、電磁存儲設(shè)備、半導(dǎo)體存儲設(shè)備或者上述的任意合適的組合。計(jì)算機(jī)可讀存儲介質(zhì)的更具體的例子(非窮舉的列表)包括:便攜式計(jì)算機(jī)盤、硬盤、隨機(jī)存取存儲器(ram)、只讀存儲器(rom)、可擦式可編程只讀存儲器(eprom或閃存)、靜態(tài)隨機(jī)存取存儲器(sram)、便攜式壓縮盤只讀存儲器(cd-rom)、數(shù)字多功能盤(dvd)、記憶棒、軟盤、機(jī)械編碼設(shè)備、例如其上存儲有指令的打孔卡或凹槽內(nèi)凸起結(jié)構(gòu)、以及上述的任意合適的組合。這里所使用的計(jì)算機(jī)可讀存儲介質(zhì)不被解釋為瞬時(shí)信號本身,諸如無線電波或者其他自由傳播的電磁波、通過波導(dǎo)或其他傳輸媒介傳播的電磁波(例如,通過光纖電纜的光脈沖)、或者通過電線傳輸?shù)碾娦盘枴?/p>
這里所描述的計(jì)算機(jī)可讀程序指令可以從計(jì)算機(jī)可讀存儲介質(zhì)下載到各個(gè)計(jì)算/處理設(shè)備,或者通過網(wǎng)絡(luò)、例如因特網(wǎng)、局域網(wǎng)、廣域網(wǎng)和/或無線網(wǎng)下載到外部計(jì)算機(jī)或外部存儲設(shè)備。網(wǎng)絡(luò)可以包括銅傳輸電纜、光纖傳輸、無線傳輸、路由器、防火墻、交換機(jī)、網(wǎng)關(guān)計(jì)算機(jī)和/或邊緣服務(wù)器。每個(gè)計(jì)算/處理設(shè)備中的網(wǎng)絡(luò)適配卡或者網(wǎng)絡(luò)接口從網(wǎng)絡(luò)接收計(jì)算機(jī)可讀程序指令,并轉(zhuǎn)發(fā)該計(jì)算機(jī)可讀程序指令,以供存儲在各個(gè)計(jì)算/處理設(shè)備中的計(jì)算機(jī)可讀存儲介質(zhì)中。
用于執(zhí)行本發(fā)明操作的計(jì)算機(jī)程序指令可以是匯編指令、指令集架構(gòu)(isa)指令、機(jī)器指令、機(jī)器相關(guān)指令、微代碼、固件指令、狀態(tài)設(shè)置數(shù)據(jù)、或者以一種或多種編程語言的任意組合編寫的源代碼或目標(biāo)代碼,所述編程語言包括面向?qū)ο蟮木幊陶Z言—諸如smalltalk、c++等,以及常規(guī)的過程式編程語言—諸如“c”語言或類似的編程語言。計(jì)算機(jī)可讀程序指令可以完全地在用戶計(jì)算機(jī)上執(zhí)行、部分地在用戶計(jì)算機(jī)上執(zhí)行、作為一個(gè)獨(dú)立的軟件包執(zhí)行、部分在用戶計(jì)算機(jī)上部分在遠(yuǎn)程計(jì)算機(jī)上執(zhí)行、或者完全在遠(yuǎn)程計(jì)算機(jī)或服務(wù)器上執(zhí)行。在涉及遠(yuǎn)程計(jì)算機(jī)的情形中,遠(yuǎn)程計(jì)算機(jī)可以通過任意種類的網(wǎng)絡(luò)—包括局域網(wǎng)(lan)或廣域網(wǎng)(wan)—連接到用戶計(jì)算機(jī),或者,可以連接到外部計(jì)算機(jī)(例如利用因特網(wǎng)服務(wù)提供商來通過因特網(wǎng)連接)。在一些實(shí)施例中,通過利用計(jì)算機(jī)可讀程序指令的狀態(tài)信息來個(gè)性化定制電子電路,例如可編程邏輯電路、現(xiàn)場可編程門陣列(fpga)或可編程邏輯陣列(pla),該電子電路可以執(zhí)行計(jì)算機(jī)可讀程序指令,從而實(shí)現(xiàn)本發(fā)明的各個(gè)方面。
這里參照根據(jù)本發(fā)明實(shí)施例的方法、裝置和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或框圖描述了本發(fā)明的各個(gè)方面。應(yīng)當(dāng)理解,流程圖和/或框圖的每個(gè)方框以及流程圖和/或框圖中各方框的組合,都可以由計(jì)算機(jī)可讀程序指令實(shí)現(xiàn)。
這些計(jì)算機(jī)可讀程序指令可以提供給通用計(jì)算機(jī)、專用計(jì)算機(jī)或其它可編程數(shù)據(jù)處理裝置的處理器,從而生產(chǎn)出一種機(jī)器,使得這些指令在通過計(jì)算機(jī)或其它可編程數(shù)據(jù)處理裝置的處理器執(zhí)行時(shí),產(chǎn)生了實(shí)現(xiàn)流程圖和/或框圖中的一個(gè)或多個(gè)方框中規(guī)定的功能/動作的裝置。也可以把這些計(jì)算機(jī)可讀程序指令存儲在計(jì)算機(jī)可讀存儲介質(zhì)中,這些指令使得計(jì)算機(jī)、可編程數(shù)據(jù)處理裝置和/或其他設(shè)備以特定方式工作,從而,存儲有指令的計(jì)算機(jī)可讀介質(zhì)則包括一個(gè)制造品,其包括實(shí)現(xiàn)流程圖和/或框圖中的一個(gè)或多個(gè)方框中規(guī)定的功能/動作的各個(gè)方面的指令。
也可以把計(jì)算機(jī)可讀程序指令加載到計(jì)算機(jī)、其它可編程數(shù)據(jù)處理裝置、或其它設(shè)備上,使得在計(jì)算機(jī)、其它可編程數(shù)據(jù)處理裝置或其它設(shè)備上執(zhí)行一系列操作步驟,以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的過程,從而使得在計(jì)算機(jī)、其它可編程數(shù)據(jù)處理裝置、或其它設(shè)備上執(zhí)行的指令實(shí)現(xiàn)流程圖和/或框圖中的一個(gè)或多個(gè)方框中規(guī)定的功能/動作。
附圖中的流程圖和框圖顯示了根據(jù)本發(fā)明的多個(gè)實(shí)施例的裝置、方法和計(jì)算機(jī)程序產(chǎn)品的可能實(shí)現(xiàn)的體系架構(gòu)、功能和操作。在這點(diǎn)上,流程圖或框圖中的每個(gè)方框可以代表一個(gè)模塊、程序段或指令的一部分,所述模塊、程序段或指令的一部分包含一個(gè)或多個(gè)用于實(shí)現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。在有些作為替換的實(shí)現(xiàn)中,方框中所標(biāo)注的功能也可以以不同于附圖中所標(biāo)注的順序發(fā)生。例如,兩個(gè)連續(xù)的方框?qū)嶋H上可以基本并行地執(zhí)行,它們有時(shí)也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個(gè)方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或動作的專用的基于硬件的系統(tǒng)來實(shí)現(xiàn),或者可以用專用硬件與計(jì)算機(jī)指令的組合來實(shí)現(xiàn)。對于本領(lǐng)域技術(shù)人員來說公知的是,通過硬件方式實(shí)現(xiàn)、通過軟件方式實(shí)現(xiàn)以及通過軟件和硬件結(jié)合的方式實(shí)現(xiàn)都是等價(jià)的。
以上已經(jīng)描述了本發(fā)明的各實(shí)施例,上述說明是示例性的,并非窮盡性的,并且也不限于所披露的各實(shí)施例。在不偏離所說明的各實(shí)施例的范圍和精神的情況下,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說許多修改和變更都是顯而易見的。本文中所用術(shù)語的選擇,旨在最好地解釋各實(shí)施例的原理、實(shí)際應(yīng)用或?qū)κ袌鲋械募夹g(shù)的技術(shù)改進(jìn),或者使本技術(shù)領(lǐng)域的其它普通技術(shù)人員能理解本文披露的各實(shí)施例。本發(fā)明的范圍由所附權(quán)利要求來限定。