本發明涉及音頻處理,且具體地涉及使用諧波后置濾波器的音頻處理。
背景技術:
基于變換的音頻編解碼器在處理諧波音頻信號時,特別是在低比特率時,一般引入間諧波噪聲(inter-harmonic noise)。
由于由較短的變換大小和/或較差的窗口頻率響應引入的較差的頻率分辨率和/或選擇性,當基于變換的音頻編解碼器以低延遲操作時,這種影響進一步惡化。
這種間諧波噪聲一般被感知為非常惱人的失真(artifact),當在高度音音頻材料上主觀評估時,其顯著降低基于變換的音頻編解碼器的性能。
存在若干種解決方案來改善基于變換的音頻編解碼器對于諧波音頻信號的主觀質量。所有這些都以基于預測的技術為基礎,無論是在變換域中還是在時域中。
變換域方法的示例如下:
●[1]H.Fuchs,“Improving MPEG Audio Coding by Backward Adaptive Linear Stereo Prediction”,99th AES Convention,New York 1995,Preprint 4086.
●[2]L.Yin,M.Suonio,M.“A New Backward Predictor for MPEG Audio Coding”,103rd AES Convention,New York 1997,Preprint 4521
●[3]Juha MauriLin Yin,“Long Term Predictor for Transform Domain Perceptual Audio Coding”,107th AES Convention,New York 1999,Preprint 5036.
時域方法的示例如下:
●[4]Philip J.Wilson,Harprit Chhatwal,“Adaptive transform coder having long term predictor”,U.S.Patent 5,012,517,April 30,1991.
●[5]Jeongook Song,Chang-Heon Lee,Hyen-O Oh,Hong-Goo Kang,“Harmonic Enhancement in Low Bitrate Audio Coding Using and Efficient Long-Term Predictor”.EURASIP Journal on Advances in Signal Processing 2010.
●[6]Juin-Hwey Chen,“Pitch-based pre-filtering and post-filtering for compression of audio signals”,U.S.Patent 8,738,385,May 27,2014.
技術實現要素:
本發明的目的是提供用于處理音頻信號的改善型構思。
通過權利要求1的用于處理音頻信號的裝置、權利要求12的用于處理音頻信號的方法、權利要求13的系統、權利要求17的用于操作系統的方法或權利要求18的計算機程序來實現該目的。
本發明基于如下發現:通過使用具有包括分子和分母在內的傳遞函數的諧波后置濾波器,可以充分地改善音頻信號的主觀質量。傳遞函數的分子包括由發送增益信息指示的增益值,并且分母包括由音調滯后信息指示的音調滯后的整數部分和取決于音調滯后的小數部分的多抽頭濾波器。
因此,可以去除由典型的域變化音頻解碼器引入的作為失真的間諧波噪聲。這種諧波后置濾波器的特別有用之處在于其依賴于發送的信息,即在解碼器中始終可用的音調增益和音調滯后,因為該信息是經由解碼器輸入信號從相應的編碼器接收的。此外,后置濾波因為以下事實而具有特定的精度:不僅考慮音調滯后的整數部分,而且還考慮音調滯后的小數部分。音調滯后的小數部分可以經由多抽頭濾波器特別地引入到后置濾波器中,其中該多抽頭濾波器具有實際上取決于音調滯后的小數部分的濾波器系數。該濾波器可以實現為FIR濾波器,或者也可以實現為諸如IIR濾波器之類的任何其他濾波器或不同的濾波器實現。可以通過本發明的后置濾波器概念來有利地改進任何域變化,諸如時間到頻率變化或LPC到時間變化或時間到LPC變化或頻率到時間變化。然而,優選地,域變化是頻率到時間域變化。
因此,本發明的實施例降低了由基于在時域中工作的長期預測器的變換音頻編解碼器所引入的間諧波噪聲。與使用變換編碼之前的前置濾波器和變換解碼之后的后置濾波器二者的[04]-[6]相比,本發明優選地僅應用后置濾波器。
此外,已經注意到,在[04]-[6]中采用的前置濾波器具有在給予變換編碼器的輸入信號中引入不穩定性的趨勢。這些不穩定性是由于幀之間的增益和/或音調滯后的變化所引起的。變換編碼器難以對這種不穩定性進行編碼,特別是在低比特率下,并且與沒有任何前置或后置濾波器的情況相比,有時在解碼信號中將引入更多的噪聲。
優選地,本發明根本不采用任何前置濾波器,因此完全避免了涉及前置濾波器的問題。
此外,本發明依賴于在變換編碼之后應用于解碼信號的后置濾波器。該后置濾波器基于考慮音調滯后的整數部分和小數部分的長期預測濾波器,這減少了由變換音頻編解碼器引入的間諧波噪聲。
為了更好的魯棒性,后置濾波器參數音調滯后和音調增益在編碼器側被估計,并在比特流中被發送。然而,在其他實現中,還可以基于由音頻解碼器獲得的解碼音頻信號在解碼器側估計音調滯后和音調增益,其中所述音頻解碼器包括用于將音頻信號的頻率表示轉換為音頻信號的時域表示的頻率-時間轉換器。
在優選實施例中,分子還包括用于音調滯后的零小數部分的多抽頭濾波器,以便補償由分母中的多抽頭濾波器引入的取決于音調滯后的小數部分的頻譜傾斜。
優選地,后置濾波器被配置為抑制幀中諧波之間的能量的量,其中抑制的能量的量小于幀中的時域表示的總能量的20%。
在另一實施例中,分母包括多抽頭濾波器和增益值之間的乘積。
在另一實施例中,濾波器分子還包括第一標量值和第二標量值的乘積,其中分母僅包括第二標量值而非第一標量值。這些標量值被設置為預定值,并且具有大于0且小于1的值;并且另外,第二標量值低于第一標量值。因此,可以以非常有效的方式來設置通常不期望的能量移除特性,并且附加地設置濾波器強度,即濾波器對變換域解碼器輸出信號中的間諧波失真加以衰減的強度。
在優選實施例中,該裝置還包括濾波器控制器,用于根據比特率來設置至少第二標量值,使得對較低比特率設置較高的值,反之亦然。
此外,濾波器控制器被配置為根據音調滯后的小數部分以信號相關的方式來選擇相應的多抽頭濾波器,以便信號自適應地(即依賴于實際提供的音調滯后的小數部分值)設置諧波后置濾波器。
附圖說明
以下在附圖的上下文中討論本發明的優選實施例,附圖中:
圖1示出了用于對音頻信號進行處理的本發明裝置的實施例;
圖2示出了表示為z域中的傳遞函數的諧波后置濾波器的優選實現;
圖3示出了由z域中的傳遞函數表示的諧波后置濾波器的另一優選實施例;
圖4示出了用于生成要由圖1所示的變換域音頻解碼器來解碼的編碼信號的編碼器的優選實現;
圖5示出了作為由濾波器控制器控制的FIR濾波器的多抽頭濾波器的優選實現;
圖6示出了濾波器控制器和具有根據小數部分預先存儲的抽頭權重的存儲器之間的協作;
圖7a示出了具有零α值的濾波器的頻率響應;
圖7b示出了α值等于1的優選諧波后置濾波器的頻率響應;
圖7c示出了α值為0.8的優選諧波后置濾波器的頻率響應;
圖8a示出了β值等于0.4的諧波后置濾波器的優選實施例;以及
圖8b示出了β值為0.2的諧波后置濾波器的頻率響應。
具體實施方式
圖1示出了用于處理具有相關聯的音調滯后信息和增益信息的音頻信號的裝置。該增益信息可以經由接收編碼信號的解碼器輸入102被發送到解碼器100,或者備選地,當該信息不可用時,可以在解碼器本身中計算該信息。然而,對于更魯棒的操作,優選地在編碼器側計算音調滯后信息和音調增益信息。
解碼器100包括例如用于將音頻信號的頻率-時間表示轉換為音頻信號的時域表示的頻率-時間轉換器。因此,解碼器不是純時域語音編解碼器,而包括純變換域解碼器或混合變換域解碼器或在與時域不同的域中操作的任何其他編碼器。此外,優選地,第二域是時域。
該裝置還包括用于對音頻信號的時域表示進行濾波的諧波后置濾波器104,并且該諧波后置濾波器基于包括分子和分母在內的傳遞函數。具體地,分子包括由增益信息指示的增益值,并且分母包括由音調滯后信息指示的音調滯后的整數部分,以及重要地,還包括取決于音調滯后的小數部分的多抽頭濾波器。
圖2中示出了具有傳遞函數H(z)的該諧波后置濾波器的優選實現。該濾波器接收解碼器輸出信號106,并讓該解碼輸出信號經過后置濾波操作以獲得后置濾波輸出信號108。該后置濾波輸出信號可以作為處理信號輸出,或者可以通過用于去除由后置濾波操作引入的任何不連續性的任何過程來進一步處理,當然,該后置濾波操作是信號相關的,即,可以逐幀地變化。該不連續性去除操作可以是任何公知的不連續性去除操作,例如交叉衰落(cross-fading),這意味著較早的幀被淡出并且同時新的幀被淡入,并且優選地,衰落特性使得在整個交叉衰落操作中各衰落因子加起來為一。然而,也可以應用諸如低通濾波或LPC濾波之類的其他不連續性去除。
圖1所示的用于處理音頻信號的裝置還包括多抽頭濾波器信息存儲器112和濾波器控制器114。具體地,濾波器控制器114從解碼器100接收邊信息(side information)116,并且該邊信息例如可以是音調增益信息g和音調滯后信息,即,關于音調滯后的整數部分Tint和音調滯后的小數部分Tfr的信息。該信息對于逐幀地設置諧波后置濾波器以及附加地對于選擇多抽頭濾波器信息B(z,Tfr)是有用的。此外,諸如由解碼器應用的比特率或解碼信號下的采樣率之類的附加信息也可以由濾波器控制器114使用,以便尤其是相對于比特率和采樣率來設置用于特定編碼器和/或解碼器設置的標量值α、β。
圖2示出了本領域中已知的z域中的濾波器傳遞函數H(z)的極(pole)/零表示。自然地,存在全部是濾波器表示的諧波后置濾波器的許多其他表示,其可以被轉換為z域中的這種極/零表示。因此,本發明可應用于可通過如說明書中所示的這種傳遞函數以任何方式描述的每個濾波器。
圖3示出了諧波后置濾波器的優選實施例,其再次被描述為z域中的極/零表示法中的傳遞函數。
該濾波器可以被如下描述:
其中,g是解碼增益,Tint和Tfr是解碼音調滯后的整數和小數部分,α和β是對增益進行加權的兩個標量,并且B(z,Tfr)是其系數取決于解碼音調滯后的小數部分的低通FIR濾波器。
注意到,H(z)的分子中的B(z,0)用于補償由B(z,Tfr)引入的傾斜。
β用于控制后置濾波器的強度。β等于1產生全效,從而抑制諧波之間的最大可能量的能量。β等于0禁用后置濾波器。一般,相當低的值被用于不抑制諧波之間太多的能量。該值還可以取決于比特率,在較低比特率時具有較高值,例如,低比特率時為0.4,高比特率時為0.2。
α用于向H(z)的頻率響應添加輕微的傾斜,以便補償能量在低頻中的輕微損失。α的值一般選為接近1,例如0.8。
圖6中給出了B(z,Tfr)的示例。B(z,Tfr)的階數和系數還可以取決于比特率和輸出采樣率。可以針對比特率和輸出采樣率的每個組合來設計和調諧不同的頻率響應。
具體地,已經發現甚至0.6和小于1.0之間的α的值也是有用的,并且附加地,0.1和0.5之間的β值也已被證明是有用的。
此外,多抽頭濾波器可以具有可變數量的抽頭。已經發現,對于某些實現,四個抽頭是足夠的,其中一個抽頭是z+1。然而,僅具有兩個抽頭的較小濾波器或者甚至具有多于四個抽頭的更大濾波器對于某些實現是有用的。
圖6示出了針對音調滯后的不同小數值的濾波器B(z)的優選實現,特別是針對1/4的音調滯后分辨率。對于該實現,示出了對于諧波后置濾波器的傳遞函數的分母中的多抽頭濾波器的四個不同的濾波器描述。然而,已經發現,濾波器系數不必精確地指示圖6中所示的值,而是+/-0.05的某些變化也可在其他實現中是有用的。
具體地,如圖1中所示,將圖6中所示的抽頭權重存儲在用于多抽頭濾波器信息的存儲器112內。濾波器控制器114從圖1的線116接收小數部分Tfr,并且響應于該值,尋址存儲器112,以便經由檢索線200來檢索用于音調滯后的特定小數部分的特定濾波器信息。然后,該信息經由輸出線202被轉發到諧波后置濾波器104,使得諧波后置濾波器被正確地設置。圖5中示出了多抽頭FIR濾波器的特定實現。權重指示w1至w4對應于圖6中的符號,并且濾波器控制器114響應于音調滯后的實際小數部分而應用特定音頻幀的對應權重。諸如延遲部分501、502、503和組合器505之類的其他部分可以如圖所示地實現。在此上下文中,強調的是,延遲值501在z符號中是負延遲值,因為已經發現除了諸如503和504之類的正延遲值之外還具有負延遲值的FIR濾波器表示是特別有用的。
隨后,圖4中示出了具有某些功能塊并且在沒有任何前置濾波器的情況下操作的優選編碼器實現。圖4中示出的濾波器部分包括音調估計器402、音調求精器404、小數部分估計器406、瞬態檢測器408、增益估計器410和增益量化器412。由增益量化器412、小數部分估計器406、音調求精器404提供的信息和由瞬態檢測器408生成的判定比特(decision bit)被輸入到編碼信號形成器414中。編碼信號形成器提供編碼信號102,其隨后被輸入到圖1所示的解碼器100中。編碼信號102將包括圖4中未示出的附加信號信息。
隨后,描述音調估計器402的功能。
估計每幀的一個音調滯后(整數部分+小數部分)(幀大小,例如20ms)。這通過3個步驟來實現,以降低復雜性并提高估計精度。
使用產生平滑音調演進輪廓的音調分析算法(例如在Rec.ITU-T G.718的第6.6節中描述的Open-loop pitch analysis(開環音調分析))。該分析一般逐子幀(子幀大小,例如10ms)進行,且產生每子幀一個的音調滯后估計。注意,這些音調滯后估計不具有任何小數部分,并且一般針對下采樣信號(采樣率,例如6400Hz)進行估計。所使用的信號可以是任何音頻信號,例如在Rec.ITU-T G.718的第6.5節中描述的LPC加權音頻信號。
音調求精器如下操作:
針對以核心編碼器采樣率運行的音頻信號x[n]來估計音調滯后的最終整數部分,該核心編碼器采樣率一般高于在a中使用的下采樣信號的采樣率(例如12.8kHz、16kHz、32kHz...)。信號x[n]可以是任何音頻信號,例如LPC加權音頻信號。
音調滯后的整數部分則是使得自相關函數最大化的滯后dm
其中,d在步驟1.a中估計的音調滯后T附近。
T-δ1≤d≤T+δ2
小數部分估計器406如下操作:
通過對在步驟2.b中計算的自相關函數C(d)進行插值并選擇使得插值后的自相關函數最大化的小數音調滯后,來找到小數部分。可以使用例如在Rec.ITU-T G.718的第6.6.7節中描述的低通FIR濾波器來執行插值。
圖4中所示的瞬態檢測器408被配置為生成判定比特。
如果輸入音頻信號不包含任何諧波含量,則在比特流中沒有參數被編碼。只發送1比特,使得解碼器知曉其是否必須對后置濾波器參數進行解碼。基于以下若干參數進行判定:
a.在步驟1.b中估計的整數音調滯后處的歸一化相關。
如果輸入信號可由整數音調滯后所完美預測,則歸一化相關為1,如果根本不可預測,則歸一化相關為0。然后,高值(接近1)將指示諧波信號。對于更魯棒的判定,還可以在判定中使用過去幀的歸一化相關,例如:
如果(norm.corr(curr.)*norm.corr.(prev.))>0.25,則當前幀包含某些諧波含量(比特=1)
b.由瞬態檢測器計算的特征(例如,時間平坦度(Temporal flatness)測量、最大能量變化),以避免對包含瞬態的信號激活后置濾波器,例如:
如果(tempFlatness>3.5或maxEnergychange>3.5),則設置比特=0,并且不發送任何參數。
此外,增益估計器410計算要輸入到增益量化器412中的增益。
一般以核心編碼器采樣率針對輸入音頻信號來估計增益,但是它也可以是像LPC加權音頻信號的任何音頻信號。該信號記為y[n],并且可以與x[n]相同或不同。
首先通過使用以下濾波器對y[n]進行濾波來找到y[n]的預測yP[n]
其中,Tint是(在1.b中估計的)音調滯后的整數部分,并且B(z,Tfr)是其系數取決于(在1.c中估計的)音調滯后Tfr的小數部分的低通FIR濾波器。
當音調滯后分辨率為1/4時B(z)的一個示例如下:
然后,如下計算增益g:
并且限制在0和1之間。
最后,使用例如均勻量化,在例如2比特上對增益進行量化。
如果增益被量化為0,則在比特流中沒有參數被編碼,只有一個判定比特(比特=0)。
如前所述,后置濾波器在變換解碼器之后應用于輸出音頻信號。它逐幀處理信號,且與在編碼器側使用的相同的幀大小,例如20ms。如圖所示,它基于長期預測濾波器H(z),長期預測濾波器H(z)的參數是根據在編碼器側估計的并且從比特流中解碼的參數來確定的。該信息包括判定比特、音調滯后和增益。如果判定比特為0,則音調滯后和增益不被解碼,并且被假設為0,根本未被寫入比特流中。
如所討論的,如果濾波器參數從一個幀到下一個幀不同,則可在兩個幀之間的邊界處引入不連續性。為了避免不連續性,應用不連續性去除器,例如交叉衰落器或用于該目的的任何其他實現。
此外,圖7a至圖8b中示出了用于設置諧波后置濾波器的若干種不同方式。曲線圖示出了頻域傳遞函數。橫軸與歸一化頻率1相關,且縱軸是以dB為單位的濾波器響應的幅度。要強調的是:在除圖7b以外的所有圖示中,濾波器對低頻引入放大,即特定正dB幅度值。
具體地,圖7a示出了實現圖3中的濾波器的傳遞函數,具有如上所示的特定參數值。此外,α值(即第一標量值)被設置為0。圖7b示出了類似情況,但是現在α值等于1。其他參數與圖7a相同。
圖7c示出了α等于0.8的另一實現,其具有輕微的傾斜以及較低頻率的提升。再次,圖7具有與圖7a所示相同的其他參數。變得清楚的是,α等于1去除了傾斜,并且所有諧波頻率的增益為1。這種設置的缺點是在諧波之間的頻率處的能量損失。因此,優選地,如圖7c所示,α的值等于0.8。與圖7b的α等于1的情況相比,該值添加了輕微的傾斜。為了補償諧波之間的頻率處的能量損失,優選地使用這種輕微的傾斜。
此外,圖8a和圖8b示出了針對α的值等于0.8和不同β值(即,圖8a中的β值為0.4,圖8b中的β值為0.2)的濾波器設置。變得清楚的是,與0.2的β值相比,0.4的β值具有更強的后置濾波效果,且因此在較低比特率處使用0.4的β值,以去除由這樣的低比特率引入的間諧波噪聲。
另一方面,β等于0.2對于抑制諧波之間的能量具有沒那么強的效果,因此,由于在這種較高比特率處并不存在如此多的間諧波噪聲的事實,該β值對于高比特率是優選的。
雖然已經在裝置的上下文中描述了一些方面,但是將清楚的是,這些方面還表示對相應方法的描述,其中,框或設備對應于方法步驟或方法步驟的特征。類似地,在方法步驟的上下文中描述的方面也表示對相應裝置的相應塊或項或者特征的描述。可以由(或使用)硬件裝置(諸如,微處理器、可編程計算機或電子電路)來執行一些或全部方法步驟。在一些實施例中,可以由這種裝置來執行最重要方法步驟中的某一個或多個方法步驟。
本發明的經發送或經編碼的信號可以存儲在數字存儲介質上或可以在諸如無線發送介質或有線發送介質之類的發送介質(例如,互聯網)上發送。
取決于某些實現要求,可以在硬件中或在軟件中實現本發明的實施例。可以通過使用其上存儲有電子可讀控制信號的數字存儲介質(例如,軟盤、DVD、Blu-Ray、CD、ROM、PROM和EPROM、EEPROM或閃存)來執行所述實現方案,所述控制信號與可編程計算機系統合作(或能夠與之合作),使得執行各個方法。因此,數字存儲介質可以是計算機可讀的。
根據本發明的一些實施例包括具有電子可讀控制信號的數據載體,該電子可讀控制信號能夠與可編程計算機系統協作從而執行本文所述的方法之一。
一般地,本發明的實施例可以實現為具有程序代碼的計算機程序產品,程序代碼可操作以在計算機程序產品在計算機上運行時執行方法之一。程序代碼可以例如存儲在機器可讀載體上。
其他實施例包括存儲在機器可讀載體上的計算機程序,該計算機程序用于執行本文所述的方法之一。
換言之,本發明方法的實施例因此是具有程序代碼的計算機程序,該程序代碼用于在計算機程序在計算機上運行時執行本文所述的方法之一。
因此,本發明方法的另一實施例是數據載體(或諸如數字存儲介質或計算機可讀介質之類的非暫時性存儲介質),包含記錄于其上的用于執行本文所述方法之一的計算機程序。數據載體、數字存儲介質或記錄介質通常是有形的和/或非暫時性的。
因此,本發明方法的另一實施例是表示用于執行本文所述的方法之一的計算機程序的數據流或信號序列。數據流或信號序列可以例如被配置為經由數據通信連接(例如,經由互聯網)傳送。
另一實施例包括處理裝置,例如,被配置為或適用于執行本文所述的方法之一的計算機或可編程邏輯器件。
另一實施例包括其上安裝有計算機程序的計算機,該計算機程序用于執行本文所述的方法之一。
根據本發明的另一實施例包括被配置為向接收機(例如,以電子方式或以光學方式)傳輸計算機程序的裝置或系統,該計算機程序用于執行本文所述的方法之一。接收機可以是例如計算機、移動設備、存儲設備等。該裝置或系統可以例如包括用于向接收機傳輸計算機程序的文件服務器。
在一些實施例中,可編程邏輯器件(例如,現場可編程門陣列)可以用于執行本文所述的方法的一些或全部功能。在一些實施例中,現場可編程門陣列可以與微處理器協作以執行本文所述的方法之一。通常,方法優選地由任意硬件裝置來執行。
上述實施例對于本發明的原理僅是說明性的。應當理解的是:本文所述的布置和細節的修改和變形對于本領域其他技術人員將是顯而易見的。因此,旨在僅由所附專利權利要求的范圍來限制而不是由借助對本文的實施例的描述和解釋所給出的具體細節來限制。