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