專利名稱:音頻編碼的制作方法
技術(shù)領(lǐng)域:
本發(fā)明一般地涉及音頻編碼,具體地涉及允許以低延時編碼音頻信號的音頻編碼。
背景技術(shù):
目前最知名的音頻壓縮方法是MPEG 1 Layer III。用這種壓縮方法,音頻信號的樣本或音頻值在有損方式下被編碼成編碼信號。換句話說,在壓縮時原始音頻信號的不相關(guān)度和冗余度將被削減或理想地去除。為達到此目標(biāo),用心理聲學(xué)的模型識別出同時和瞬時的屏蔽,也就是計算或確定依賴于音頻信號的時變屏蔽閾值,指示出高于該閾值音量時,一定頻率的音調(diào)可被人的聽覺感知。此信息又被用于對音頻信號編碼并將其整合到編碼信號中,其中編碼根據(jù)屏蔽閾值采取更精確的方式,或欠精確的方式,或根本不精確的方式,通過量化音頻信號的頻譜值實現(xiàn)。
音頻壓縮方法中,例如,mp3格式,當(dāng)音頻數(shù)據(jù)將通過比特率受限的傳輸信道傳輸,一方面使用壓縮的方式而另一方面盡可能縮短延時的時候,將在它們的適用性方面受到限制。在一些應(yīng)用中,延時不起作用,例如,對音頻信息的存檔。但是,低延時音頻編碼器,即有時被稱作“超低延時編碼器”,在傳輸時間關(guān)鍵音頻信號時是必需的,例如,在遠程會議、無線擴音器或麥克風(fēng)中。在這些領(lǐng)域的應(yīng)用中,Schuller G.等所著的文章“Perceptual Audio Coding using Adaptive Pre-and Post-Filters and Lossless Compression”,IEEE Transactions onSpeech and Audio Processing,vol.10,no.6,September 2002,pp.379-390,提出的音頻編碼不是基于單個變換而是基于兩個單獨的變換來完成不相關(guān)度削減和冗余度削減。
下面將參照圖12和13介紹該原理。編碼從音頻信號902開始,它已被采樣因此已呈現(xiàn)為音頻或樣本值906的序列904,其中音頻值906的時序由箭頭908指示。對音頻值906的連續(xù)塊(其特征在于“塊#”的升序編號),用心理聲學(xué)的模型計算出收聽閾值。例如,圖13展示了一圖表,其中,相對于頻率f,圖a畫出了128個音頻值906的信號塊的頻譜,圖b畫出了由心理聲學(xué)模型計算出的收聽閾值,采用對數(shù)單位。正如前面已經(jīng)提到的,屏蔽閾值指示出低于該值則頻率不能被人耳聽見的強度,也就是所有在屏蔽閾值b以下的音調(diào)。根據(jù)為每一塊計算出的收聽閾值,通過控制后面跟隨有量化器的可參數(shù)化濾波器,實現(xiàn)不相關(guān)度削減。對于可參數(shù)化濾波器,計算出參數(shù)化,使得其頻率響應(yīng)對應(yīng)于屏蔽閾值大小的倒數(shù)。此參數(shù)化在圖12中由x#(i)所示。
對音頻值906濾波后,采用恒定步長進行量化,例如,取下一整數(shù)的湊整操作。由此引起的量化噪聲為白噪聲。在解碼器端,濾波信號被可參數(shù)化濾波器“再變換”,濾波器的傳輸函數(shù)設(shè)為屏蔽閾值本身的大小。不僅濾波信號由此被解碼,而且解碼器端的量化噪聲也被調(diào)整成屏蔽閾值的形式或形狀。為了使得量化噪聲能盡可能精確地和屏蔽閾值對應(yīng),在編碼器端為每個參數(shù)集或每個參數(shù)化計算出放大值a#,在量化之前將其應(yīng)用到濾波信號。為了在解碼器端執(zhí)行再變換,除了實際的主體數(shù)據(jù)也就是量化濾波音頻值912之外,放大值a和參數(shù)x作為側(cè)面信息910傳輸?shù)骄幋a器。為了冗余度削減914,該數(shù)據(jù),也就是側(cè)面信息910和主體數(shù)據(jù)912,受到無損壓縮,也就是熵編碼,這就是編碼信號的獲得。
以上提及的文章建議128個樣本值906的大小作為塊的大小。在32KHz的采樣速率下,這允許8ms的相對短延時。關(guān)于詳細的實施方式,文章還指出,為了提高側(cè)面信息編碼的效率,側(cè)面信息,也就是系數(shù)x#和a#,只有相比之前傳輸?shù)膮?shù)集有足夠大的變化,即,當(dāng)變化超過了特定閾值時才傳輸。此外,文中還描述到優(yōu)選地如下實現(xiàn),使得當(dāng)前參數(shù)集不直接應(yīng)用于屬于相應(yīng)塊的所有樣本值,而是使用濾波器系數(shù)x#的線性插值來避免可聽見的人工生成音。為執(zhí)行濾波器系數(shù)的線性插值,提出了一種格狀(lattice)結(jié)構(gòu)來避免不穩(wěn)定的發(fā)生。對于希望得到具有受控比特率的編碼信號的情形,文章還提出用不等于1的因子選擇性地增加或衰減已按時間相關(guān)的放大因子a縮放的濾波信號,從而使可聽見的干擾發(fā)生,但是音頻信號中編碼復(fù)雜的地方的比特率降低了。
盡管上述文章中描述的音頻編碼方案已經(jīng)將許多應(yīng)用中的延時降低到了一個足夠的程度,但上述方案中的一個問題是,盡管只有超過預(yù)定閾值時濾波器系數(shù)才被傳輸,但是由于不得不傳輸編碼器端的濾波器——也就是后面提到的前置濾波器——的屏蔽閾值或傳輸函數(shù)的要求,傳輸信道負載的程度相對較高。
上述編碼方案的另一個缺點是,由于必須通過待傳輸?shù)膮?shù)集x#來使得屏蔽閾值或其倒數(shù)在解碼器端可用的事實,不得不在最低可能的比特率或者高壓縮率與盡可能最精確的近似或者屏蔽閾值或其倒數(shù)的參數(shù)化之間進行折衷。所以,以上音頻編碼方案中調(diào)整成屏蔽閾值的量化噪聲不可避免的要在一些頻率范圍內(nèi)超過屏蔽閾值因而產(chǎn)生聽者可聽見的音頻干擾。例如,圖13中用圖c展示了解碼器端可參數(shù)化濾波器的參數(shù)化頻率響應(yīng)??梢钥吹?,存在一些區(qū)域,那里解碼器端濾波器——也就是后面提到的后置濾波器——的傳輸函數(shù)超過了屏蔽閾值b。只有在參數(shù)化和其間的插值之間發(fā)生足夠多的變化時,才間歇地傳輸該參數(shù)化,這樣的事實使上面的問題變得更糟糕。如文中所提到的濾波器系數(shù)x#的插值,在放大值a#在節(jié)點和節(jié)點之間或者新參數(shù)化和新參數(shù)化之間保持不變時,單獨導(dǎo)致可聽見的干擾。即使將文中提出的插值也應(yīng)用到側(cè)面信息值a#,也就是傳輸?shù)姆糯笾担陕犚姷娜斯ど梢魧⑷员A粼诘诌_解碼器端的音頻信號中。
根據(jù)圖12和13的音頻編碼方案的另一個問題是由于頻率選擇性濾波,使濾波信號形成不可預(yù)知的形態(tài),其中,特別是由于許多單獨的諧波的隨機重疊,編碼信號的一個或多個單獨的音頻值疊加成很高的值,由于他們的發(fā)生概率小,在后面的冗余度削減中又導(dǎo)致更糟糕的壓縮率。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種音頻編碼方案,這種方案允許進行產(chǎn)生更少的可聽見人工合成音的編碼。
該目的由根據(jù)權(quán)利要求13或15所述的方法以及根據(jù)權(quán)利要求1或14所述的設(shè)備來實現(xiàn)。
本發(fā)明的將音頻值序列的音頻信號編碼為編碼信號的方法包括為音頻值序列的第一音頻值塊確定第一收聽閾值以及為音頻值序列的第二音頻值塊確定第二收聽閾值;計算可參數(shù)化濾波器的第一參數(shù)化版本以使其傳輸函數(shù)實質(zhì)上和第一收聽閾值大小的倒數(shù)對應(yīng),以及計算可參數(shù)化濾波器的第二參數(shù)化版本以使其傳輸函數(shù)實質(zhì)上和第二收聽閾值大小的倒數(shù)對應(yīng);確定基于第一屏蔽閾值的第一噪聲功率限和基于第二屏蔽閾值的第二噪聲功率限;對音頻值序列的預(yù)定音頻塊進行可參數(shù)化濾波和縮放,以獲得與所述預(yù)定塊相對應(yīng)的縮放濾波音頻值塊,包括如下子步驟針對預(yù)定音頻值塊中的預(yù)定音頻值,在第一參數(shù)化版本和第二參數(shù)化版本之間進行插值,以獲得插值參數(shù)化版本;在第一噪聲功率限和第二噪聲功率限之間進行插值,以獲得針對預(yù)定音頻值的插值噪聲功率限;基于插值噪聲功率限,確定中間縮放值;以及將具有插值參數(shù)化版本的可參數(shù)化濾波器和所述中間縮放值應(yīng)用于預(yù)定音頻值,以獲得縮放濾波音頻值之一。最后,對縮放濾波音頻值進行量化,以獲得量化縮放濾波音頻值塊;以及將如下信息合并到編碼信號中,所述信息可以用來推導(dǎo)出量化縮放濾波音頻值塊、第一參數(shù)化版本、第二參數(shù)化版本、第一噪聲功率限和第二噪聲功率限。
本發(fā)明的核心思想在于必須摒棄在先過程,即,對濾波器系數(shù)和放大值進行插值,以獲得針對從節(jié)點開始的中間音頻值的插值。通過針對每一節(jié)點,即,針對要傳輸?shù)拿總€參數(shù)化,不對放大值進行插值,而是采用根據(jù)屏蔽閾值得到的功率限(優(yōu)選地為屏蔽閾值大小的平方之下的區(qū)域),然后在相鄰節(jié)點的這些功率限之間執(zhí)行插值(例如線性插值),可以獲得包含更少的可聽見人工合成音的編碼。在編碼器端和解碼器端,于是可以根據(jù)中間功率限來計算放大值,其中如此確定中間功率限,使得由量化引入的量化噪聲(在解碼器端后置濾波之前具有恒定頻率)在后置濾波之后低于功率限或者與其相對應(yīng)。
隨后將參照附圖詳細描述本發(fā)明的優(yōu)選實施例,附圖中圖1示出了根據(jù)本發(fā)明實施例的音頻編碼器的電路方框圖;圖2示出了用于說明圖1中的音頻編碼器在數(shù)據(jù)輸入處的運行模式的流程圖;圖3示出了用于說明圖1中的音頻編碼器利用心理聲學(xué)模型對進入音頻信號進行評價的運行模式的流程圖;圖4示出了用于說明圖1中的音頻編碼器將心理學(xué)模型所獲得的參數(shù)應(yīng)用到進入音頻信號的運行模式的流程圖;圖5a示出了用于說明進入音頻信號、組成其的音頻值序列以及圖4中關(guān)于音頻值的操作步驟的示意圖;圖5b示出了用于說明編碼信號的設(shè)置的示意圖;圖6示出了用于說明圖1中的音頻編碼器關(guān)于一直到編碼信號的最終處理的運行模式的流程圖;圖7a示出了展示量化階梯函數(shù)實施例的圖;圖7b示出了展示量化階梯函數(shù)另一實施例的圖;圖8示出了根據(jù)本發(fā)明實施例、能夠?qū)D1中的音頻編碼器所編碼的音頻信號進行解碼的音頻解碼器的電路方框圖;圖9示出了用于說明圖8中的音頻解碼器在數(shù)據(jù)輸入處的運行模式的流程圖;圖10示出了用于說明圖8中的音頻解碼器對解碼前的量化和濾波音頻數(shù)據(jù)進行緩沖以及對不含相應(yīng)側(cè)面信息的音頻塊進行處理的運行模式的流程圖;圖11示出了用于說明圖8中的音頻解碼器關(guān)于實際的反濾波的運行模式的流程圖;圖12示出了用于說明圖一種低延時的傳統(tǒng)音頻編碼方案的示意圖;以及圖13示出了展示解碼器中例如音頻信號頻譜、其收聽閾值以及后置濾波器的傳輸函數(shù)的圖。
具體實施例方式
圖1示出了根據(jù)本發(fā)明實施例的音頻編碼器。由10一般性表示的音頻編碼器包括接收待編碼音頻信號的數(shù)據(jù)輸入12和輸出編碼信號的數(shù)據(jù)輸出,其中,待編碼的音頻信號由音頻值或樣本值的序列組成,隨后將參照圖5a進行更具體的闡述,數(shù)據(jù)輸出的信息內(nèi)容將參照圖5b進行更具體的描述。
圖1中音頻編碼器10被劃分為不相關(guān)度削減部分16和冗余度削減部分18。不相關(guān)度削減部分16包括用于確定收聽閾值的裝置20、用于計算放大值的裝置22、用于計算參數(shù)化的裝置24、節(jié)點比較裝置26、量化器28和可參數(shù)化前置濾波器30以及輸入FIFO(先入先出)緩沖器32、緩沖器或存儲器38和乘法器或相乘裝置40。冗余度削減部分18包括壓縮器34和比特率控制器36。
不相關(guān)度削減部分16和冗余度削減部分18在數(shù)據(jù)輸入12和數(shù)據(jù)輸出14之間以此順序串行相連。具體地,數(shù)據(jù)輸入12連接到用于確定收聽閾值的裝置20的數(shù)據(jù)輸入和輸入緩沖器32的數(shù)據(jù)輸入。用于確定收聽閾值的裝置20的數(shù)據(jù)輸出連接到用于計算參數(shù)化的裝置24的輸入,并連接到用于計算放大值的裝置22的數(shù)據(jù)輸入,以向其傳遞所確定的收聽閾值。裝置22和24根據(jù)收聽閾值計算出參數(shù)化或放大值,并連接到節(jié)點比較裝置26來向其傳遞這些結(jié)果。下面將論述到,節(jié)點比較裝置26根據(jù)比較結(jié)果將裝置22和24計算出的結(jié)果作為輸入?yún)?shù)或參數(shù)化傳遞給可參數(shù)化前置濾波器30??蓞?shù)化前置濾波器30連接在輸入緩沖器32的數(shù)據(jù)輸出和緩沖器38的數(shù)據(jù)輸入之間。乘法器40連接在緩沖器38的數(shù)據(jù)輸出和量化器28之間。量化器28將被作用了乘法或進行了縮放的、卻總是量化了的濾波音頻值傳遞到冗余度削減部分18,更準(zhǔn)確地講,傳遞到壓縮器34的數(shù)據(jù)輸入。節(jié)點比較裝置26將用來推導(dǎo)出傳遞到可參數(shù)化前置濾波器30的輸入?yún)?shù)的信息傳遞到冗余度削減部分18,更準(zhǔn)確地講,傳遞到壓縮器34的另一數(shù)據(jù)輸入。比特率控制器通過控制連接與乘法器40的控制輸入相連,來為從前置濾波器30接收的量化濾波音頻值被乘法器40用以適當(dāng)?shù)某藬?shù)相乘做準(zhǔn)備,這將在下面更詳細的討論。比特率控制器36連接在壓縮器34的數(shù)據(jù)輸出和音頻編碼器10的數(shù)據(jù)輸出14之間,以便采用適當(dāng)?shù)姆绞綖槌朔ㄆ?0確定乘數(shù)。當(dāng)每個音頻值第一次通過量化器40時,乘數(shù)首先被設(shè)為一個適當(dāng)?shù)目s放比例因子,例如,1。盡管這樣,如下面描述,緩沖器38繼續(xù)存儲每個濾波音頻值,來給比特率控制器36為音頻值塊的再次通過而改變其乘數(shù)的可能。如果這樣的改變沒有被比特率控制器36指示出來,緩沖器38可以釋放由此塊占據(jù)的存儲空間。
在上面已經(jīng)描述了圖1中音頻編碼器的設(shè)置之后,下面將參照圖2至7b描述其運行模式。
如圖2所示,當(dāng)音頻信號已經(jīng)到達音頻輸入12時,就已經(jīng)被音頻信號采樣50從模擬音頻信號中獲取。以預(yù)定的采樣頻率執(zhí)行音頻信號采樣,此頻率通常在32至48kHz之間。因此,在數(shù)據(jù)輸入12處有由樣本或音頻數(shù)值的序列組成的音頻信號。盡管音頻信號的編碼不是以基于塊的方式進行的,這將在下面的描述中變得很明顯,但是數(shù)據(jù)輸入12處的音頻值首先在步驟52中被組合以形成音頻塊。用于形成音頻塊的組合的進行僅僅是為了確定收聽閾值的目的,這將在下面的描述中變得很明顯,并且在用于確定收聽閾值的裝置20的輸入級中進行。在本實施例中,作為典型的假設(shè),每128個連續(xù)音頻值組合形成音頻塊,且組合的進行使得一方面連續(xù)的音頻塊不重疊,而另一方面又相互直接相鄰。這將參照圖5a,作為典型進行簡略的討論。
圖5a在54顯示為樣本值的序列,每個樣本值被圖示為矩形56。為了圖示的目的,對樣本值編號,其中為了清晰的原因,序列54只有部分樣本值被顯示出來。如序列54上面的括號所顯示,根據(jù)本實施例,每128個連續(xù)樣本值組合形成一個塊,其中直接相繼的128個樣本值形成下一個塊。僅僅作為一個預(yù)防措施,需要指出,組合以形成塊可以用不同方法執(zhí)行,例如,通過重疊塊或分隔的塊和塊大小不同的塊,盡管128的塊尺寸大小是優(yōu)選的,因為它提供了一方面在高音頻質(zhì)量和另一方面盡可能小的延時之間的良好折衷。
盡管在步驟52中在裝置20中組合的音頻塊在裝置20中被處理來逐塊確定收聽閾值,進入的音頻值將在輸入緩沖器32中緩沖54,直到可參數(shù)化前置濾波器30從節(jié)點比較裝置26獲得了輸入?yún)?shù),以執(zhí)行前置濾波,這將在后面描述。
如圖3所示,用來確定收聽閾值的裝置20在數(shù)據(jù)輸入12處接收到足夠的音頻值以形成一個音頻塊或下一個音頻塊之后(這由裝置20通過步驟60中的檢查來監(jiān)視),立即開始它的處理。如果沒有完整的可處理音頻塊,裝置20將等待。如果存在待處理的完整音頻塊,用來確定收聽閾值的裝置20將基于適當(dāng)?shù)男睦砺晫W(xué)模型在步驟62中計算收聽閾值。為了說明該收聽閾值,以頻譜為a的當(dāng)前音頻塊為例,再次參考圖12,具體地,參考基于心理聲學(xué)模型已經(jīng)獲得的曲線圖b。在步驟62中確定的屏蔽閾值是頻率相關(guān)的函數(shù),它可能在連續(xù)的音頻塊之間變化,并且可能在音頻信號之間有相當(dāng)大的變化,例如,在搖滾音樂與古典音樂片段之間。收聽閾值指示每個頻率的閾值,低于該閾值人的聽力就不能感受到干擾。
在隨后的步驟64中,裝置24和裝置22根據(jù)所計算出的收聽閾值M(f)(f表示頻率)來計算放大值a或有N個參數(shù)x(i)(i=1,...,N)的參數(shù)集。裝置24在步驟64中計算出的參數(shù)化x(i)提供給可參數(shù)化前置濾波器30,此濾波器比如可表現(xiàn)為自適應(yīng)濾波器結(jié)構(gòu)的形式,如同在LPC編碼(線性預(yù)言編碼)中使用的一樣。例如,假定s(n),n=0,....,127為當(dāng)前音頻塊的128個音頻值,而s′(n)為得到的濾波后的128個音頻值,那么濾波器可典型表現(xiàn)為適用下面方程的形式s′(n)=s(n)-Σk=1Kakts(n-k),]]>K為濾波器階數(shù),akt,k=1,...,K為濾波器系數(shù),索引t用來闡明濾波器系數(shù)在連續(xù)的音頻塊中變化。裝置24然后計算參數(shù)化akt以使得可參數(shù)化前置濾波器30的傳輸函數(shù)H(f)粗略等于屏蔽閾值M(f)大小的倒數(shù),也就是說如下方程適用H(f,t)≈1|M(f,t)|]]>
其中,t的相關(guān)性又用于闡明屏蔽閾值M(f)對不同的音頻塊而變化。當(dāng)以上述的自適應(yīng)濾波器來實現(xiàn)前置濾波器30時,濾波器系數(shù)akt將按如下方式獲得對|M(f,t)|2在t時刻在塊的頻率上進行反離散傅立葉變換導(dǎo)致目標(biāo)自相關(guān)函數(shù)rmmt(i)。然后通過求解線性方程系統(tǒng)獲得aktΣk=0K-1rmmt(|k-i|)akt=rmmt(i+1),]]>0≤i<K為使得在下文詳細描述的線性插值中參數(shù)化之間不出現(xiàn)不穩(wěn)定,優(yōu)選地,將格狀結(jié)構(gòu)應(yīng)用于濾波器30,其中格狀結(jié)構(gòu)的濾波器系數(shù)被再參數(shù)化來形成反射系數(shù)。關(guān)于前置濾波器設(shè)計、系數(shù)計算和再參數(shù)化的進一步細節(jié),請參考說明介紹中提到的Schuller等的文章,特別是381頁,第III部分,其一并在此作為參考。
盡管最終裝置24為可參數(shù)化前置濾波器30計算出參數(shù)化以使其傳輸函數(shù)等于屏蔽閾值的倒數(shù),裝置22基于收聽閾值計算出噪聲功率限,也就是功率限度,指示允許量化器28引入到經(jīng)前置濾波器30濾波的音頻信號中的噪聲功率,以使解碼器端的量化噪聲在后置濾波或反濾波后低于收聽閾值M(f)或正好等于它。裝置22計算收聽閾值M的大小平方以下的區(qū)域作為該噪聲功率限,也就是∑|M(f,t)|2。裝置22通過計算量化噪聲功率除以噪聲功率限的分?jǐn)?shù)的平方根,根據(jù)噪聲功率限來計算出放大值a。量化噪聲是由量化器28引起的噪聲。如下面所述,由量化器28引起的噪聲是白噪聲,因此是頻率無關(guān)的。量化噪聲功率指量化噪聲的功率。
從以上描述中變得更加顯然的是,裝置22除了放大值a之外還計算噪聲功率限。盡管節(jié)點比較裝置26根據(jù)從裝置22獲得的放大值a再次計算噪聲功率限是可能的,裝置22除了放大值a以外,還將所確定的噪聲功率限傳送到節(jié)點比較裝置26也是可能的。
在計算出放大值和參數(shù)化后,節(jié)點比較裝置26在步驟66中檢查剛計算出的參數(shù)化與傳遞到可參數(shù)化前置濾波器的當(dāng)前最近參數(shù)化的不同是否大于預(yù)定閾值。如果步驟66中的檢查獲得的結(jié)果是剛計算出的參數(shù)化與當(dāng)前值的不同大于預(yù)定閾值,剛計算出的濾波器系數(shù)和剛計算出的放大值或者噪聲功率限在節(jié)點比較裝置26中緩沖,以便進行將討論的插值,并且節(jié)點比較裝置26在步驟68中將剛計算出的濾波器系數(shù)并在步驟70中將剛計算出的放大值移交到前置濾波器30。但是,如果不是此種情況,剛計算出的參數(shù)化與當(dāng)前值的不同沒有大于預(yù)定閾值,節(jié)點比較裝置26在步驟72中僅將當(dāng)前節(jié)點參數(shù)化也就是最近在步驟66中產(chǎn)生肯定結(jié)果的參數(shù)化(也就是說,與前一節(jié)點參數(shù)化的不同大于預(yù)定閾值)移交到前置濾波器30,而不是剛計算出的參數(shù)化。在步驟70和72之后,圖3的處理返回到下一音頻塊的處理,即,返回查詢60。
在剛計算出的參數(shù)化與當(dāng)前節(jié)點參數(shù)化沒有不同以及因此前置濾波器30在步驟72中再次獲得至少是針對最近的音頻塊曾經(jīng)獲得過的節(jié)點參數(shù)化的情況下,如下面更具體的描述,前置濾波器30將此節(jié)點參數(shù)化應(yīng)用到FIFO 32中此音頻塊的所有樣本值,這就是如何從FIFO 32中取出此當(dāng)前塊,并且量化器28是如何接收前置濾波音頻值得到的音頻塊。
圖4圖示了可參數(shù)化前置濾波器30在接收到剛計算出的參數(shù)化和剛計算出的放大值的情況下的運行模式,更具體地,因為它們和當(dāng)前節(jié)點參數(shù)化有足夠大的不同。正如參考圖3已描述的,僅對于相應(yīng)的參數(shù)化和當(dāng)前節(jié)點參數(shù)化有足夠大的不同的音頻塊才進行根據(jù)圖4的處理,而不是對每個連續(xù)的音頻塊進行處理。正如已描述的,其他的音頻塊通過將各自的當(dāng)前節(jié)點參數(shù)化和相關(guān)的各自的當(dāng)前放大值應(yīng)用到這些音頻塊的所有樣本值來進行前置濾波。
在步驟80中,可參數(shù)化前置濾波器30檢查是否移交了來自節(jié)點比較裝置26的剛計算出的濾波器系數(shù),還是移交了舊的節(jié)點參數(shù)化。前置濾波器30執(zhí)行檢查80直到進行移交。
這樣的移交一發(fā)生,可參數(shù)化前置濾波器30就開始處理緩沖器32中的音頻值的當(dāng)前音頻塊,也就是說剛為其計算出參數(shù)化的音頻塊。在圖5a中舉例圖示了在號碼為0的音頻值之前的所有音頻值56已經(jīng)被處理并因此已經(jīng)通過了存儲器32。在號碼為0的音頻值之前的音頻值的塊的處理被觸發(fā),是由于針對塊0前面的音頻塊所計算出的參數(shù)化也就是x0(i)與之前傳遞到前置濾波器30的節(jié)點參數(shù)化的不同大于預(yù)定閾值。因此參數(shù)化x0(i)成為本發(fā)明中所述的節(jié)點參數(shù)化?;趨?shù)集a0和x0(i),對音頻值0前面的音頻塊中的音頻值執(zhí)行處理。
圖5a中假設(shè)針對具有音頻值0-127的塊0已經(jīng)計算出的參數(shù)化和參數(shù)化x0(i)(稱作前面塊)的不同小于預(yù)定閾值。因此,此塊0被前置濾波器30從FIFO 32中取出,采用步驟72中提供的參數(shù)化x0(i),對它所有的樣本值0-127進行同等的處理,如被描述為“直接應(yīng)用”的箭頭81所示,接著傳遞到量化器28然而,為塊1計算出的參數(shù)化仍然位于FIFO 32中,作為對比,根據(jù)圖5a中的圖示例,它和參數(shù)化x0(i)的不同大于預(yù)定閾值,因而在步驟68中將它作為參數(shù)化x1(i)傳遞給前置濾波器30。同時傳遞的還有放大值a1(步驟70),并且如果可行的話,還有相關(guān)的噪聲功率限,其中圖5中a和x的索引是針對節(jié)點的索引,并將用于下面將要討論的插值,對塊1中的樣本值128-255執(zhí)行插值,以箭頭82表示,并通過圖4中步驟80后的步驟來實現(xiàn)。因此步驟80處的處理將開始于號碼為1的音頻塊的出現(xiàn)。
當(dāng)傳遞參數(shù)集a1,x1的時候,只有音頻值128-255,也就是最近被前置濾波器30處理的音頻塊0之后的當(dāng)前音頻塊在存儲器32內(nèi)。在步驟80中確定了節(jié)點參數(shù)化x1(i)的移交之后,前置濾波器30在步驟84中確定與放大值a1相對應(yīng)的噪聲功率限q1。這可能直到節(jié)點比較裝置26將該值傳遞給前置濾波器30或者前置濾波器30再次計算該值時才發(fā)生,正如前面參照步驟64已經(jīng)作出的描述。
之后,在步驟86中將索引j初始化為一樣本值來指向存于FIFO存儲器32中最老的樣本值,或指向當(dāng)前音頻塊“塊1”的第一樣本值,即,在圖5的示例中為樣本值128。在步驟88中,可參數(shù)化前置濾波器執(zhí)行濾波器系數(shù)x0和x1之間的插值,其中參數(shù)化x0擔(dān)當(dāng)一個節(jié)點,在該節(jié)點處有前一塊0的音頻值號碼127,同時參數(shù)化x1擔(dān)當(dāng)一個節(jié)點,在該節(jié)點處有當(dāng)前塊1的音頻值號碼255。這些音頻值位置127和255隨后將被稱為節(jié)點0和節(jié)點1,其中圖5a中用箭頭90和92來表示涉及圖中節(jié)點的節(jié)點參數(shù)化。
在步驟88中,可參數(shù)化前置濾波器30在兩個節(jié)點之間以線性插值的方式執(zhí)行濾波器參數(shù)x0、x1的插值,以獲得在樣本位置j處的插值濾波器系數(shù),也就是x(tj)(i),i=1...N。
之后,即在步驟90中,可參數(shù)化前置濾波器30在噪聲功率限q0和q1之間執(zhí)行插值,來獲得樣本位置j處的插值噪聲功率限,也就是q(tj)。
在步驟92中,可參數(shù)化前置濾波器30隨后基于插值噪聲功率限和量化噪聲功率,以及優(yōu)選地,還基于插值濾波器系數(shù),也就是例如根據(jù) 的方根,為樣本位置j計算出放大值,其中請參考圖3步驟64的解釋。
在步驟94中,可參數(shù)化前置濾波器30然后將計算出的放大值和插值濾波器系數(shù)應(yīng)用到樣本位置j處的樣本值,以獲得該位置的濾波樣本值,即s′(tj)。
在步驟96中,可參數(shù)化前置濾波器30然后檢查樣本位置j是否已到達當(dāng)前節(jié)點,即節(jié)點1,在圖5a的情況下是樣本位置255,即傳輸?shù)娇蓞?shù)化前置濾波器30的參數(shù)化和放大值必須直接針對其有效的樣本值,即沒有插值。如果不是此種情況,那么可參數(shù)化前置濾波器30將對索引j增加1,其中將重復(fù)步驟88-96。但是如果步驟96中的檢查產(chǎn)生肯定結(jié)果,那么可參數(shù)化前置濾波器在步驟100中將最近從節(jié)點比較裝置26傳送來的放大值和最近從節(jié)點比較裝置26直接傳送來的、沒有插值的濾波器系數(shù)應(yīng)用到新節(jié)點處的樣本值上,因此,當(dāng)前塊,也就是當(dāng)前情況中的塊1,已經(jīng)被進行了處理,且相對于隨后待處理的塊在步驟80將又一次執(zhí)行處理,隨后待處理的塊可能是下一個音頻塊塊2或者更后的音頻塊,這取決于下一音頻塊塊2的參數(shù)化是否和參數(shù)化x1(i)有足夠的不同。
在參考圖5描述處理濾波樣本值s′時的進一步過程之前,下面將描述圖3和圖4中過程的目的和背景。濾波的目的是用自適應(yīng)濾波器對輸入12處的音頻信號濾波,自適應(yīng)濾波器的傳輸函數(shù)可連續(xù)盡可能最好地調(diào)節(jié)為收聽閾值的倒數(shù),其也隨時間變化。其原因是在解碼器端,作為其傳輸函數(shù)被連續(xù)相應(yīng)地調(diào)節(jié)為收聽閾值的反濾波利用自適應(yīng)濾波器對由量化濾波音頻信號引入的量化白噪聲也就是頻率-恒定量化噪聲進行整形,也就是將其調(diào)節(jié)為收聽閾值的形式。
步驟94和100中,前置濾波器30中的放大值的作用是用放大因子實現(xiàn)對音頻信號或濾波音頻信號即樣本值s或濾波樣本值s′的乘法。目的是借此將量化噪聲在不超過收聽閾值的情況下設(shè)置的盡可能高,其中,量化噪聲是由量化引入到濾波音頻信號中的,下面將作具體描述,且被解碼器端的反濾波調(diào)節(jié)為收聽閾值的形式。以上可以作為帕薩瓦爾定理的一個例子。根據(jù)帕薩瓦爾定理,函數(shù)大小的平方和其傅立葉變換的大小的平方相等。當(dāng)在解碼器端前置濾波器中用放大值所作的音頻信號的乘法通過用放大值去除濾波音頻信號而又被反轉(zhuǎn)時,量化噪聲功率也被削減,削減因子為a-2,a是放大值。所以,可以通過在前置濾波器30中應(yīng)用放大值將量化噪聲功率設(shè)置到一個最優(yōu)的高功率,這和增大量化步長從而減少要編碼的量化階梯數(shù)目是同義的,這將增加在隨后冗余度削減部分的壓縮率。
換句話說,前置濾波器的作用可認為是信號關(guān)于其屏蔽閾值的歸一化,這樣量化干擾或量化噪聲的水平將在時間和頻率上保持不變。因為音頻信號在時域上,于是經(jīng)過均勻不變的量化來一步步執(zhí)行量化,如下面的描述。如下所述,用這種方法,理想狀況下任何可能的不相關(guān)都會被從音頻信號中移除,并且可以使用無損壓縮的方案來移除前置濾波及量化的音頻信號中保留的冗余度。
參考圖5a,要又一次明確指出,當(dāng)然所使用的濾波器系數(shù)和放大值a0、a1、x0、x1必須在解碼器端作為側(cè)面信息而可用,但是它的傳輸復(fù)雜度可通過對每個塊不簡單使用新的濾波器系數(shù)和新的放大值而降低。更準(zhǔn)確地,進行閾值檢查66,使得只有當(dāng)側(cè)面信息具有足夠大的參數(shù)化變化時才傳輸參數(shù)化,否則不傳輸側(cè)面信息或參數(shù)化。在其參數(shù)化已經(jīng)被傳輸?shù)囊纛l塊中,從舊參數(shù)到新參數(shù)之間進行插值。濾波器系數(shù)的插值就是以上文參考步驟88所述的方式進行的。關(guān)于放大值的插值是經(jīng)非直接的方式進行的,即通過對噪聲功率限q0、q1的線性插值90進行的。和通過放大值的直接插值相比,線性插值獲得更好的收聽結(jié)果或相對于噪聲功率限獲得更少的可聽見的人工合成音。
隨后,將參照圖6來描述前置濾波信號的進一步處理,它主要包括量化和冗余度削減。首先,可參數(shù)化前置濾波器30輸出的濾波樣本值儲存在緩沖器38中,同時使其從緩沖器38傳遞到乘法器40,起先保持不變由乘法器40傳遞到達量化器28,即縮放因子為1,因為這是它們的第一次經(jīng)過。那里,在步驟110中超過上限的濾波音頻值被削去,然后在步驟112中量化。兩個步驟110和112由量化器28執(zhí)行。具體地,優(yōu)選地由量化器28通過用量化階梯函數(shù)來量化濾波音頻值s′,在一個步驟中執(zhí)行兩步驟110和112,其中該量化階梯函數(shù)將例如表現(xiàn)為浮點圖解的濾波樣本值s′映射到多個整數(shù)量化階梯數(shù)值或索引上,并還對濾波樣本值來說在一定閾值之上有平坦路徑(flat course),使得大于閾值的濾波樣本值量化到一個相同的量化階梯。在圖7a中圖示了這種量化階梯函數(shù)的例子。
在圖7a中σ′指的是量化濾波樣本值。優(yōu)選地,量化階梯函數(shù)是其步長在低于閾值時保持不變的量化階梯函數(shù),即沿著輸入值s′在恒定的間隔之后將總是跳到下一量化階梯。在該實施方式中,調(diào)節(jié)到閾值的步長,使得量化階梯的數(shù)目優(yōu)選地對應(yīng)于2的冪。和進入的濾波樣本值s′的浮點圖解相比,該閾值更小,因此浮點圖解的可圖解區(qū)域的最大值超過了閾值。
使用此閾值的原因是已經(jīng)觀察到,前置濾波器30輸出的濾波音頻信號有時候包含由于諧波不利的累積而形成的疊加到很大的音頻值。此外,也已經(jīng)觀察到削減這些數(shù)值,如通過圖7a中所示的量化階梯函數(shù)來實現(xiàn),導(dǎo)致高額的數(shù)據(jù)縮減,卻僅僅導(dǎo)致音頻質(zhì)量的較小損害。更準(zhǔn)確地,濾波音頻信號中這些偶然位置的形成是由于在可參數(shù)化濾波器30中頻率選擇性濾波而人為造成的,因此削減它們僅僅將音頻質(zhì)量削減了很小的程度。
圖7a中所示的量化階梯函數(shù)稍微更具體一些的例子是將所有的濾波樣本值s′湊整到下一整數(shù)直到達到閾值,此后將所有的濾波樣本值量化至最高的量化階梯,例如256。圖7a圖示了這種情況。
另一個可能的量化階梯函數(shù)的例子如圖7b所示。直到閾值,圖7b中的量化階梯函數(shù)和圖a中是對應(yīng)的。然而,對于高于閾值的樣本值s′,沒有突然平坦的路徑,而是量化階梯函數(shù)繼續(xù)具有比閾值以下區(qū)域小的陡峭度。換句話說,量化步長在閾值以上要更大一些。由此,實現(xiàn)和圖7a的量化函數(shù)相類似的效果,但是,一方面由于量化階梯函數(shù)在閾值以上和閾值以下步長的不同而帶來更大的復(fù)雜度,另一方面,音頻質(zhì)量得到改進,因為非常大的濾波音頻值s′沒有被完全削減而只是用更大的量化步長量化。
如前面已經(jīng)描述的,在解碼器端,不僅量化和濾波音頻值σ′必須是可用的,而且作為前置濾波器30對這些值進行濾波的基礎(chǔ)的輸入?yún)?shù)也必須是可用的,所述輸入?yún)?shù)即包含對相關(guān)放大值的提示的節(jié)點參數(shù)化。在步驟114中,壓縮器34于是執(zhí)行第一壓縮試驗,然后將含有節(jié)點處(例如127和255)的放大值a0和a1以及節(jié)點處的濾波器系數(shù)x0和x1的側(cè)面信息以及量化濾波樣本值σ′壓縮成臨時濾波信號。因此壓縮器34是無損操作編碼器,例如Huffman或者算術(shù)編碼器,具有或者不具有預(yù)測和/或自適應(yīng)功能。
采樣音頻值σ′穿過的存儲器38作為適當(dāng)大小的塊的緩沖器,結(jié)合它壓縮器34處理量化器28輸出的量化、濾波以及縮放的音頻值σ′,如前所述。塊大小可能隨著在裝置20中使用的音頻塊的塊尺寸的不同而不同。
如前已經(jīng)提到的,比特率控制器36已經(jīng)通過為第一壓縮試驗而使用的乘數(shù)1,控制乘法器40,因此濾波音頻值在從前置濾波器30到量化器28以及作為量化濾波音頻值從量化器28到壓縮器34之間保持不變。壓縮器34在步驟116中監(jiān)視是否是將特定的壓縮塊大小,即特定數(shù)目的量化采樣音頻值,編碼到臨時編碼信號中,或者監(jiān)視是否將有另外的量化濾波音頻值σ′編碼到當(dāng)前臨時編碼信號中。如果沒有達到壓縮塊的大小,壓縮器34將繼續(xù)執(zhí)行當(dāng)前壓縮114。但是如果達到了壓縮塊的大小,那么比特率控制器36將在步驟118中檢查壓縮所需要的比特數(shù)量是否比想要的比特率規(guī)定的比特數(shù)量大。如果不是這種情況,比特率控制器36將在步驟120中檢查需要的比特數(shù)量是否比想要的比特率規(guī)定的比特數(shù)量小。如果是這種情況,那么比特率控制器36將在步驟122中用裝填比特填入編碼信號直到達到想要的比特率規(guī)定的比特數(shù)量。隨后,在步驟124中輸出編碼信號。作為步驟122的另一個選擇,比特率控制器36可以將仍儲存在存儲器38中的、最近的壓縮所基于的濾波音頻值σ′的壓縮塊,以被乘法器40以大于1的乘數(shù)相乘的形式,傳遞給量化器28用來再次經(jīng)過步驟110-118,直到達到想要的比特率規(guī)定的比特數(shù)量,如虛線所圖示的步驟125所示。
但是,如果在步驟118中的檢查得到需要的比特數(shù)量比想要的比特率規(guī)定的要大,比特率控制器36將改變乘法器40的乘數(shù)為0到1之間不包括1的因子。這在步驟126中執(zhí)行。步驟126之后,比特率控制器36規(guī)定存儲器38再次輸出壓縮所基于的濾波音頻值σ′的最近壓縮塊,其中他們隨后被乘以在步驟126中設(shè)置的因子并再提供給量化器28,于是再執(zhí)行步驟110-118且到此處理完畢臨時編碼信號。
要指出的是,當(dāng)再次執(zhí)行步驟110-116時,在步驟114中,當(dāng)然將步驟126(或步驟125)所使用的因子也合并到編碼信號中。
步驟126之后過程的目的是通過使用因子增加量化器28的有效步長。這意味著得到的量化噪聲在屏蔽閾值以上是均勻的,這將導(dǎo)致可聽見的干擾和可聽見的噪聲,但是也導(dǎo)致了減少的比特率。當(dāng)再次經(jīng)過步驟110-116之后,如果在步驟118中再次確定所需要的比特數(shù)量比想要的比特率規(guī)定的比特數(shù)量大,那么步驟126中的因子將再次減小,等等。
如果在步驟124最終輸出數(shù)據(jù)作為編碼信號,將從隨后的量化濾波音頻值σ′執(zhí)行下一個壓縮塊。
還要指出的是,可以將不同于1的預(yù)初始化值作為乘法因子,也就是說,例如1。然后,無論如何首先,也就是在圖6的最頂端,要進行縮放。
圖5b再次圖示了由130一般性表示的所得到的編碼信號。編碼信號包括側(cè)面信息和它們之間的主體數(shù)據(jù)。正如已經(jīng)提及的,側(cè)面信息包括對于特定音頻塊,即在音頻塊序列中具有濾波器系數(shù)的巨大變化的音頻塊來說,可用來推導(dǎo)放大值的值和濾波器系數(shù)的值的信息。如有必要,側(cè)面信息將包括關(guān)于比特控制器所用的放大值的更多信息。由于放大值和噪聲功率限q的相互依賴,除了放大值a#和節(jié)點#,側(cè)面信息可選地還可以包括噪聲功率限q#,或者僅包含后者。優(yōu)選地,側(cè)面信息安排在編碼信號中,使得關(guān)于濾波器系數(shù)和相關(guān)放大值或相關(guān)噪聲功率限的側(cè)面信息安排在據(jù)以推導(dǎo)出這些濾波器系數(shù)以及相關(guān)放大值或相關(guān)噪聲功率限的量化濾波音頻信號σ′的音頻塊的主體數(shù)據(jù)之前,即側(cè)面信息a0、x0(i)在塊-1之后,側(cè)面信息a1、x1(i)在塊1之后。換句話說,主體數(shù)據(jù),即量化濾波音頻值σ′,開始于且不包括一類音頻塊,該類音頻塊序列的巨大變化已經(jīng)導(dǎo)致了濾波器系數(shù),結(jié)束于且包括在此類音頻塊的下一塊,例如圖5中音頻值σ′(t0)-σ′(t255)將始終被安排在針對這兩個音頻塊中第一塊(塊-1)的側(cè)面信息塊132和針對這兩個音頻塊中第二塊(塊1)的另一側(cè)面信息塊134之間。如前參照圖5a所述,音頻值σ′(t0)-σ′(t127)是僅僅利用側(cè)面信息132就可解碼的或者獲得的,然而音頻值σ′(t128)-σ′(t255)是通過利用作為在樣本值號碼為127的節(jié)點處的支持值的側(cè)面信息132和作為在樣本值號碼為255的節(jié)點處的支持值的側(cè)面信息134進行插值而獲得的,因此它們只有使用兩個側(cè)面信息才能解碼。
此外,每個側(cè)面信息塊132和134中關(guān)于放大值或者噪聲功率限和濾波器系數(shù)的側(cè)面信息并不總是彼此獨立合并的。更確切地,該側(cè)面信息是以與前一側(cè)面信息塊的差異的形式傳輸?shù)?。例如在圖5b中,側(cè)面信息塊132包含了關(guān)于時間t-1處節(jié)點的放大值a0和濾波器系數(shù)x0。在側(cè)面信息塊132中,這些數(shù)值可以從塊本身推導(dǎo)出來。但是,從側(cè)面信息塊134看,關(guān)于時間t255處節(jié)點的側(cè)面信息不再可以僅從該塊單獨推導(dǎo)出。更確切地,側(cè)面信息塊134只包含關(guān)于時間t255處節(jié)點的放大值a1和時間t0處節(jié)點的放大值之間的差異以及濾波器系數(shù)x1和濾波器系數(shù)x0的差異的信息。側(cè)面信息塊134因此只含有關(guān)于a1-a0和x1(i)-x0(i)的信息。盡管如此,在間歇的時刻,例如每一秒,濾波器系數(shù)和放大值或噪聲功率限必須完全傳送,而不是作為與前一節(jié)點的差異,以允許接收機或解碼器鎖定到連續(xù)的編碼數(shù)據(jù)流,這將在后面討論。
這種將側(cè)面信息合并到側(cè)面信息塊132和134的方法提供了更高壓縮率可能的優(yōu)勢。它的原因是,如果可能,盡管只有在濾波器系數(shù)和前一節(jié)點的濾波器系數(shù)之間存在足夠的差異時才傳送側(cè)面信息,在編碼器端計算差異或在解碼器端計算和的復(fù)雜性被抵消,因為盡管在步驟66查詢,得到的差異較小,因此允許熵編碼的優(yōu)點。
在之前已經(jīng)描述了音頻編碼器的實施例之后,接下來將描述適合于對由圖1中音頻編碼器10產(chǎn)生的編碼信號進行解碼以得到解碼的可播放或可處理的音頻信號的音頻解碼器的實施例。
解碼器的結(jié)構(gòu)如圖8所示。由210一般性表示的解碼器包括解壓縮器212、FIFO存儲器214、乘法器216和可參數(shù)化后置濾波器218。解壓縮器212、FIFO存儲器214、乘法器216和可參數(shù)化后置濾波器218按這樣的順序連接在解碼器210的數(shù)據(jù)輸入220和數(shù)據(jù)輸出222之間,其中在數(shù)據(jù)輸入220處接收編碼信號,并且數(shù)據(jù)輸出222輸出與音頻編碼器10的數(shù)據(jù)輸入12處的原始音頻信號僅相差由音頻編碼器10中的量化器28產(chǎn)生的量化噪聲的解碼音頻信號。解壓縮器212在另一個數(shù)據(jù)輸出和乘法器216的控制輸入相連,來向其傳遞乘數(shù),并通過另一個數(shù)據(jù)輸出和可參數(shù)化后置濾波器218的參數(shù)化輸入相連。
如圖9所示,解壓縮器212首先在步驟224中對數(shù)據(jù)輸入220處的壓縮信號進行解壓縮,獲得量化濾波音頻數(shù)據(jù)即樣本值σ′和側(cè)面信息塊132,134中的相關(guān)側(cè)面信息,如我們所知,此側(cè)面信息指示了節(jié)點處的濾波器系數(shù)和放大值,或者不是放大值而是噪聲功率限。
如圖10所示,解壓縮器212在步驟226中按出現(xiàn)的順序,檢查解壓縮信號中是否以自含(self-contained)的形式而不是以前一側(cè)面信息塊為參考的差異的形式包含帶有濾波器系數(shù)的側(cè)面信息。換句話說,解壓縮器212尋找第一側(cè)面信息塊132。解壓縮器212一旦發(fā)現(xiàn),就在步驟228中將量化濾波音頻值σ′緩沖在FIFO存儲器214中。如果在步驟228期間已經(jīng)存儲了量化濾波音頻值σ′的完整音頻塊,而沒有緊隨其后的側(cè)面信息塊,那么首先在步驟228中將利用步驟226中接收到的側(cè)面信息中所包含的關(guān)于后置濾波器中參數(shù)化和放大值的信息,對其進行后置濾波,然后在乘法器216中放大,這就是信號的解碼過程,因此得到了相關(guān)的解碼音頻塊。
在步驟230中,解壓縮器212監(jiān)視解壓縮信號中任何類型的側(cè)面信息塊的出現(xiàn),即含有絕對的濾波器系數(shù)或者相對于前一側(cè)面信息塊的濾波器系數(shù)差。在圖5b的例中,例如,解壓縮器212在步驟226中識別出側(cè)面信息塊132時,將在步驟230識別出側(cè)面信息塊134的出現(xiàn)。因此,利用側(cè)面信息132,在步驟228中對量化濾波音頻值σ′(t0)-σ′(t127)的塊進行解碼。只要解壓縮信號中側(cè)面信息塊134沒有出現(xiàn),則在步驟228中繼續(xù)緩沖塊,也許還利用步驟226中的側(cè)面信息對塊進行解碼,如前所述。
側(cè)面信息塊132一出現(xiàn),解壓縮器212將在步驟232中通過把側(cè)面信息塊134中的差值和側(cè)面信息塊132中的參數(shù)值疊加,計算出節(jié)點1處的參數(shù)值,即a1,x1(i)。如果當(dāng)前側(cè)面信息塊是自含側(cè)面信息塊而沒有差異(如前所述,此種情況典型說來每秒都將發(fā)生),那么當(dāng)然將省略步驟232。為了使解碼器210的等待時間不是太長,可以從其中完全得出參數(shù)值的也就是和其他側(cè)面信息塊沒有關(guān)聯(lián)的側(cè)面信息塊132將按足夠小的距離來安排,使得例如在無線電傳輸或廣播傳輸?shù)那闆r,打開音頻編碼器210時的接通或關(guān)閉時間不太大。優(yōu)選地,側(cè)面信息塊132之間排列的帶有差值的側(cè)面信息塊132的數(shù)目是固定的預(yù)定數(shù)目,因此解碼器知道編碼信號中類型132的側(cè)面信息塊有望再次出現(xiàn)的時間。作為另一選擇,用相應(yīng)的標(biāo)志來表示不同的側(cè)面信息塊類型。
如圖11所示,當(dāng)新節(jié)點的側(cè)面信息塊到達后,具體地是在步驟226或者232之后,樣本值索引j將在步驟234中首先被初始化為0。該值對應(yīng)于當(dāng)前存于FIFO 214中與當(dāng)前側(cè)面信息相關(guān)的音頻塊中第一個樣本值的樣本位置。步驟234由可參數(shù)化后置濾波器218執(zhí)行。后置濾波器218然后在步驟236中計算新節(jié)點處的噪聲功率限,其中,此步驟和圖4中的步驟84對應(yīng),并且例如在除了傳送放大值之外還傳送節(jié)點處的噪聲功率限時被省略。在隨后的步驟238和240中,后置濾波器218對濾波器系數(shù)和噪聲功率限進行插值,對應(yīng)于圖4中的插值88和90。隨后基于步驟238和240中的插值噪聲功率限和插值濾波器系數(shù),在步驟242中計算樣本位置j處的放大值,對應(yīng)于圖4中的步驟92。在步驟244中,后置濾波器218將步驟242計算出的放大值和插值濾波器系數(shù)應(yīng)用到樣本位置j處的樣本值。該步驟和圖4中的步驟94不同,因為插值濾波器系數(shù)被應(yīng)用到量化濾波樣本值σ′,使得可參數(shù)化后置濾波器的傳輸函數(shù)不和收聽閾值的倒數(shù)對應(yīng),而是和收聽閾值本身對應(yīng)。此外,后置濾波器對于位置j處的量化濾波樣本值σ′或已經(jīng)反濾波的量化濾波樣本值,不執(zhí)行乘以放大值的乘法,而是執(zhí)行除以放大值的除法。
如果后置濾波器218還沒有到達樣本位置為j的當(dāng)前節(jié)點,在步驟246中對此進行檢查,那么它將在步驟248中增加樣本位置索引j并再次開始步驟238-246。只有當(dāng)節(jié)點已到達,它才將新節(jié)點的放大值和濾波器系數(shù)應(yīng)用到該節(jié)點處的樣本值,也就是步驟250。就像步驟218中一樣,這種應(yīng)用包括利用放大值的除法以及利用等于收聽閾值而非其倒數(shù)的傳輸函數(shù)的濾波,而不是乘法。步驟250之后,用兩節(jié)點參數(shù)化之間的插值對當(dāng)前音頻塊進行解碼。
已經(jīng)提到,通過步驟218和224中的濾波和放大值的應(yīng)用,在步驟110或112中編碼時由量化引入的噪聲在形狀和大小上都被調(diào)節(jié)成收聽閾值。
還要指出,在編碼成為編碼信號之前由于比特率控制器使得量化濾波音頻值在步驟126中受到另一次乘法的情況下,這一因素也需要在步驟218和224中考慮。作為另一選擇,通過圖11中的處理獲得的音頻值當(dāng)然也可能受到另一次乘法來相應(yīng)地再次放大被較低比特率減弱的音頻值。
關(guān)于圖3、4、6和9-11,要指出,它們示出了說明圖1中編碼器或者圖8中解碼器運行模式的流程圖,并且在流程圖中用方框圖示的每一個步驟,如文中已述,是以相應(yīng)的方式實現(xiàn)的。各個步驟的實施方式可以以硬件實現(xiàn),如ASIC電路部分,或以軟件實現(xiàn),如計算機子程序。具體地,這些圖中方框里寫入的說明粗略地指示出,和相應(yīng)方框?qū)?yīng)的相應(yīng)步驟指向哪個處理,而方框間的箭頭圖示了在操作編碼器和解碼器時步驟的順序。
參照之前的描述,再要指出以上闡述的編碼方案可以在很多方面變化。例如,對于為特定音頻塊確定的參數(shù)化和放大值或噪聲功率限,不必認為對特定音頻值直接有效從而針對該音頻值的插值可以省略,如在前面的實施例中,每個音頻塊最后的音頻值,即這個音頻塊中的第128個值。相反,可以將這些節(jié)點參數(shù)值聯(lián)系到時間上處在該音頻塊的音頻值的采樣時間點tn(n=1,...,127)之間的節(jié)點,這樣必須對每個音頻值進行插值。具體地,為音頻塊確定的參數(shù)化或者為該音頻塊確定的放大值也可以間接應(yīng)用到另外的值,例如,在音頻塊中間的音頻值,比如在上面塊大小為128個音頻值的情況下的第64個音頻值。
此外,需要指出,上面的實施例涉及為產(chǎn)生可控比特率編碼信號而設(shè)計的音頻編碼方案。但是,控制比特率不是在每種應(yīng)用情況下都是必要的。這就是為什么相應(yīng)的步驟116到122以及126或125也可以省略的原因。
關(guān)于結(jié)合步驟114提到的壓縮方案,為了完備的原因,參考了Schuller等的文獻,在本說明書的介紹中描述了該文獻,特別是第IV部分,其關(guān)于用無損編碼進行冗余度削減的內(nèi)容在此一并作為參考。
此外,聯(lián)系先前的實施例指出如下內(nèi)容。盡管之前已經(jīng)描述,量化時閾值總是保持不變或者甚至量化階梯函數(shù)始終保持不變,也就是說濾波音頻信號中產(chǎn)生的人工生成音始終被較粗糙的量化方式量化或削減,這種方式可能在可聽見的范圍內(nèi)損害音頻質(zhì)量,但是如果音頻信號的復(fù)雜度需要如此,即如果編碼所要求的比特率超過想要的比特率,只采用這些措施是可能的。在此情況下,除了圖7a和7b中所示的量化階梯函數(shù)之外,例如也可以使用在前置濾波器輸出可能值的整個范圍內(nèi)量化步長為常數(shù)的函數(shù),以及例如量化器可以響應(yīng)于信號,使用量化步長始終不變的量化階梯函數(shù)或者根據(jù)圖7a或7b的量化階梯函數(shù)之一,這樣信號可以告訴量化器執(zhí)行閾值以上減少量化階梯或者削減大于閾值的數(shù)值,而幾乎沒有音頻質(zhì)量的損壞。作為另一選擇,閾值可以逐漸減小。在此情況下,可以執(zhí)行閾值縮減來代替步驟126中的因子縮減。在第一壓縮試驗之后而沒有執(zhí)行步驟110,如果比特率仍然非常高(118),臨時壓縮信號只能在修改了的步驟126中接受選擇性閾值量化。在另一次的通過中,就用高于音頻閾值有更平緩的路徑的量化階梯函數(shù)來對濾波音頻值進行量化。在修改的步驟126中,通過降低閾值從而對量化階梯函數(shù)做另一修改可實現(xiàn)比特率的降低。
另外,需要指出,將參數(shù)a和x合并到前述側(cè)面信息塊中也可以如此進行,使得不計算差值,而是可以單獨從每個側(cè)面信息塊推導(dǎo)出相應(yīng)參數(shù)。另外,不必如結(jié)合步驟110所述那樣執(zhí)行量化,量化步長從特定上限開始變?yōu)榇笥谏祥撝抵碌牟介L。更確切地,也可以使用不同于圖7a和7b所示的其他量化規(guī)則。
總之,上述實施例針對具有很低延時的音頻編碼方案使用系數(shù)的交叉衰落。在編碼時,以特定間隔傳輸側(cè)面信息。在傳輸時刻之間對系數(shù)進行插值。指示可能的噪聲功率或屏蔽閾值之下區(qū)域、或者可以用來推導(dǎo)出值的系數(shù)用于插值,并且優(yōu)選地,也被傳輸,因為其在插值時具有有利的特性。因此,一方面,例如通過僅以特定間隔來傳輸信息,以低比特率傳輸來自前置濾波器的側(cè)面信息,其中前置濾波器的系數(shù)必須被傳輸,從而解碼器中的后置濾波器具有相反的傳輸函數(shù),因而可以在解碼器中正確重構(gòu)音頻信號,并且在另一方面,可以將音頻質(zhì)量維持在相對好的程度,因為對作為屏蔽閾值之下區(qū)域的可能噪聲功率的插值是對節(jié)點之間時刻的良好近似。
特別的指出,取決于環(huán)境,本發(fā)明的音頻編碼方案也可以以軟件實現(xiàn)。實現(xiàn)方式可以是在數(shù)字存儲介質(zhì)上,具體地,在含有可被電方式讀出的控制信號的盤或者CD上,控制信號可以與可編程計算機系統(tǒng)協(xié)作,使得相應(yīng)的方法得以執(zhí)行。一般來說,該發(fā)明也含在將程序代碼存儲于機器可讀載體上的計算機程序產(chǎn)品中,當(dāng)計算機程序產(chǎn)品在計算機上運行時,執(zhí)行本發(fā)明的方法。換句話說,本發(fā)明也可以以計算機程序的形式來實現(xiàn),所述計算機程序中含有程序代碼,用于當(dāng)計算機程序在計算機上運行時執(zhí)行該方法。
具體地,上述流程圖方框中的方法步驟可以單獨或者以幾個一組的形式一起以子程序的方式實現(xiàn)。作為另一選擇,本發(fā)明的設(shè)備當(dāng)然也可以以集成電路的方式實現(xiàn),其中這些方框比如就是以ASIC中獨立的電路部分來實現(xiàn)的。
特別的指出,取決于環(huán)境,本發(fā)明的方案也可以以軟件實現(xiàn)。實現(xiàn)方式可以是在數(shù)字存儲介質(zhì)上,具體地,是在含有可被電方式讀出的控制信號的盤或者CD上,控制信號與可編程計算機系統(tǒng)協(xié)作,使得相應(yīng)的方法得以執(zhí)行。一般來說,本發(fā)明也含在將程序代碼存儲于機器可讀載體上的計算機程序產(chǎn)品中,當(dāng)計算機程序產(chǎn)品在計算機上運行時,執(zhí)行本發(fā)明的方法。換句話說,本發(fā)明也可以以計算機程序的形式來實現(xiàn),所述計算機程序中含有程序代碼,用于當(dāng)計算機程序在計算機上運行時執(zhí)行該方法。
權(quán)利要求
1.一種用于將音頻值(56)序列(54)的音頻信號編碼為編碼信號(130)的設(shè)備,包括用于為音頻值(56)序列(54)的第一音頻值塊確定第一收聽閾值以及為音頻值(56)序列(54)的第二音頻值塊確定第二收聽閾值的裝置(20);用于計算可參數(shù)化濾波器(30)的第一參數(shù)化版本以使其傳輸函數(shù)實質(zhì)上和第一收聽閾值大小的倒數(shù)對應(yīng)以及計算可參數(shù)化濾波器的第二參數(shù)化版本以使其傳輸函數(shù)實質(zhì)上和第二收聽閾值大小的倒數(shù)對應(yīng)的裝置(24);用于確定基于第一屏蔽閾值的第一噪聲功率限和基于第二屏蔽閾值的第二噪聲功率限的裝置(22);用于對音頻值(56)序列(54)的預(yù)定音頻塊進行可參數(shù)化濾波和縮放以獲得與所述預(yù)定塊相對應(yīng)的縮放濾波音頻值塊的裝置(30),包括用于針對預(yù)定音頻值塊中的預(yù)定音頻值,在第一參數(shù)化版本和第二參數(shù)化版本之間進行插值以獲得插值參數(shù)化版本的裝置(88);用于在第一噪聲功率限和第二噪聲功率限之間進行插值以獲得針對預(yù)定音頻值的插值噪聲功率限的裝置(90),用于基于插值噪聲功率限,確定中間縮放值的裝置(92),以及用于將具有插值參數(shù)化版本的可參數(shù)化濾波器和所述中間縮放值應(yīng)用于預(yù)定音頻值以獲得縮放濾波音頻值之一的裝置(94);用于根據(jù)量化規(guī)則對縮放濾波音頻值進行量化以獲得量化縮放濾波音頻值塊的裝置(28);以及用于將如下信息合并到編碼信號中的裝置(18),所述信息可以用來推導(dǎo)出量化縮放濾波音頻值塊、第一參數(shù)化版本、第二參數(shù)化版本、第一噪聲功率限和第二噪聲功率限。
2.根據(jù)權(quán)利要求1所述的設(shè)備,其中形成用于確定第一和第二噪聲功率限的裝置(84),來確定第一噪聲功率限為第一收聽閾值大小的平方之下的區(qū)域,并確定第二噪聲功率限為第二收聽閾值大小的平方之下的區(qū)域。
3.根據(jù)權(quán)利要求1或2所述的設(shè)備,其中形成用于確定中間縮放值的裝置(92),來另外根據(jù)由特定量化規(guī)則引起的量化噪聲功率,執(zhí)行確定。
4.根據(jù)權(quán)利要求1至3之一所述的設(shè)備,還包括用于根據(jù)量化噪聲功率和第二噪聲功率限確定第二縮放值的裝置(84),其中,用于濾波和縮放的裝置還包括用于將具有第二參數(shù)化版本的可參數(shù)化濾波器和第二縮放值應(yīng)用于與預(yù)定塊相關(guān)聯(lián)的音頻值以獲得縮放濾波音頻值之一的裝置(94)。
5.根據(jù)權(quán)利要求4所述的設(shè)備,其中用于確定第一和第二縮放值的裝置(84)包括用于計算量化噪聲除以第一噪聲功率限的商的平方根以及量化噪聲除以第二噪聲功率限的商的平方根的裝置。
6.根據(jù)前述權(quán)利要求之一所述的設(shè)備,其中用于確定中間縮放值的裝置(92)包括用于計算量化噪聲功率除以插值噪聲功率限的商的平方根的裝置。
7.根據(jù)前述權(quán)利要求之一所述的設(shè)備,其中形成用于在第一參數(shù)化版本和第二參數(shù)化版本之間進行插值的裝置(88),來執(zhí)行線性插值。
8.根據(jù)前述權(quán)利要求之一所述的設(shè)備,其中形成用于在第一噪聲功率限和第二噪聲功率限之間進行插值的裝置(90),來執(zhí)行線性插值。
9.根據(jù)前述權(quán)利要求之一所述的設(shè)備,其中形成用于量化的裝置(28),來根據(jù)量化階梯函數(shù)執(zhí)行量化,所述量化階梯函數(shù)包括在閾值之下實質(zhì)上恒定的量化步長。
10.根據(jù)前述權(quán)利要求之一所述的設(shè)備,其中用于合并的裝置(18)包括熵編碼器。
11.根據(jù)前述權(quán)利要求之一所述的設(shè)備,其中形成用于合并的裝置(18),使得所述信息代表第一或第二噪聲功率限或者第一或第二縮放值。
12.根據(jù)前述權(quán)利要求之一所述的設(shè)備,還包括用于利用所述用于計算的裝置,逐一檢查第一參數(shù)化之后的參數(shù)化與第一參數(shù)化的差是否大于預(yù)定程度,并且用于從參數(shù)化中僅選擇首次與第一參數(shù)化的差大于預(yù)定程度的參數(shù)化作為第二參數(shù)化的裝置(66)。
13.一種用于將音頻值(56)序列(54)的音頻信號編碼為編碼信號(130)的方法,包括步驟為音頻值(56)序列(54)的第一音頻值塊確定第一收聽閾值,以及為音頻值(56)序列(54)的第二音頻值塊確定第二收聽閾值;計算可參數(shù)化濾波器(30)的第一參數(shù)化版本以使其傳輸函數(shù)實質(zhì)上和第一收聽閾值大小的倒數(shù)對應(yīng),以及計算可參數(shù)化濾波器的第二參數(shù)化版本以使其傳輸函數(shù)實質(zhì)上和第二收聽閾值大小的倒數(shù)對應(yīng);確定基于第一屏蔽閾值的第一噪聲功率限和基于第二屏蔽閾值的第二噪聲功率限;對音頻值(56)序列(54)的預(yù)定音頻塊進行可參數(shù)化濾波和縮放,以獲得與所述預(yù)定塊相對應(yīng)的縮放濾波音頻值塊,包括如下子步驟針對預(yù)定音頻值塊中的預(yù)定音頻值,在第一參數(shù)化版本和第二參數(shù)化版本之間進行插值,以獲得插值參數(shù)化版本;在第一噪聲功率限和第二噪聲功率限之間進行插值,以獲得針對預(yù)定音頻值的插值噪聲功率限;基于插值噪聲功率限,確定中間縮放值;以及將具有插值參數(shù)化版本的可參數(shù)化濾波器和所述中間縮放值應(yīng)用于預(yù)定音頻值,以獲得縮放濾波音頻值之一;對縮放濾波音頻值進行量化,以獲得量化縮放濾波音頻值塊;以及將如下信息合并到編碼信號中,所述信息可以用來推導(dǎo)出量化縮放濾波音頻值塊、第一參數(shù)化版本、第二參數(shù)化版本、第一噪聲功率限和第二噪聲功率限。
14.一種用于將編碼信號(130)解碼為解碼音頻信號的設(shè)備,其中編碼信號(130)包含可以用來推導(dǎo)出預(yù)定量化縮放濾波音頻值塊、第一參數(shù)化版本、第二參數(shù)化版本、第一噪聲功率限和第二噪聲功率限的信息,所述設(shè)備包括用于從編碼信號(130)推導(dǎo)出預(yù)定量化縮放濾波音頻值塊、第一參數(shù)化版本、第二參數(shù)化版本、第一噪聲功率限和第二噪聲功率限的裝置(212);用于對預(yù)定量化縮放濾波音頻值塊進行可參數(shù)化濾波和縮放以獲得相應(yīng)解碼音頻值塊的裝置(30),包括用于針對所述量化縮放濾波音頻值塊中的預(yù)定音頻值,在第一參數(shù)化版本和第二參數(shù)化版本之間進行插值以獲得插值參數(shù)化版本的裝置(88);用于在第一噪聲功率限和第二噪聲功率限之間進行插值以獲得針對預(yù)定音頻值的插值噪聲功率限的裝置(90);用于基于插值噪聲功率限,確定中間縮放值的裝置(92);以及用于將具有插值參數(shù)化版本的可參數(shù)化濾波器和所述中間縮放值應(yīng)用于預(yù)定音頻值以獲得解碼音頻值之一的裝置(94)。
15.一種用于將編碼信號(130)解碼為解碼音頻信號的方法,其中編碼信號(130)包含可以用來推導(dǎo)出預(yù)定量化縮放濾波音頻值塊、第一參數(shù)化版本、第二參數(shù)化版本、第一噪聲功率限和第二噪聲功率限的信息,所述方法包括步驟從編碼信號(130)推導(dǎo)出預(yù)定量化縮放濾波音頻值塊、第一參數(shù)化版本、第二參數(shù)化版本、第一噪聲功率限和第二噪聲功率限;對預(yù)定量化縮放濾波音頻值塊進行可參數(shù)化濾波和縮放,以獲得相應(yīng)解碼音頻值塊,包括如下子步驟針對所述量化縮放濾波音頻值塊中的預(yù)定音頻值,在第一參數(shù)化版本和第二參數(shù)化版本之間進行插值,以獲得插值參數(shù)化版本;在第一噪聲功率限和第二噪聲功率限之間進行插值,以獲得針對預(yù)定音頻值的插值噪聲功率限;基于插值噪聲功率限,確定中間縮放值;以及將具有插值參數(shù)化版本的可參數(shù)化濾波器和所述中間縮放值應(yīng)用于預(yù)定音頻值,以獲得解碼音頻值之一。
16.一種計算機程序,具有程序代碼,用于當(dāng)所述計算機程序在計算機上運行時執(zhí)行根據(jù)權(quán)利要求13或15所述的方法。
全文摘要
本發(fā)明的核心思想在于必須摒棄在先過程,即,對濾波器系數(shù)和放大值進行插值,以獲得針對從節(jié)點開始的中間音頻值的插值。通過針對每一節(jié)點,即,針對要傳輸?shù)拿總€參數(shù)化,不對放大值進行插值,而是采用根據(jù)屏蔽閾值得到的功率限(優(yōu)選地為屏蔽閾值大小的平方之下的區(qū)域),然后在相鄰節(jié)點的這些功率限之間執(zhí)行插值(例如線性插值),可以獲得包含更少的可聽見人工合成音的編碼。在編碼器端和解碼器端,于是可以根據(jù)中間功率限來計算放大值,其中如此確定中間功率限,使得由量化引入的量化噪聲(在解碼器端后置濾波之前具有恒定頻率)在后置濾波之后低于功率限或者與其相對應(yīng)。
文檔編號G10L19/032GK1918632SQ200580004754
公開日2007年2月21日 申請日期2005年2月10日 優(yōu)先權(quán)日2004年2月13日
發(fā)明者格拉爾德·舒勒, 斯特凡·瓦布尼克, 馬克·蓋耶 申請人:弗勞恩霍夫應(yīng)用研究促進協(xié)會