本發(fā)明涉及使用編碼器和解碼器的音頻編解碼器,其中有缺陷(例如,丟失、損壞或延遲)的音頻幀通過使用錯誤隱藏機制被至少部分地重建。本發(fā)明通過在比特流內(nèi)提供所選擇的錯誤隱藏輔助參數(shù)來改進傳統(tǒng)的錯誤隱藏機制,該錯誤隱藏輔助參數(shù)增強了解碼器側的隱藏。
背景技術:
在voip系統(tǒng)中,分組到達具有不同的延遲或者甚至在接收器處交換的時間順序。由于預期每個分組在確定的周期性時間點用于在語音/音頻解碼器處進行解碼,所以需要所謂的去抖動緩沖器來消除時間抖動并且如果可能的話恢復分組之間的正確順序。
去抖動緩沖器的可用性使得能夠使用信道感知編碼,其中當前幀的部分冗余副本在編碼器內(nèi)被編碼在未來幀的主副本之上。如果當前幀在接收器處丟失或到達太晚,則在后面的幀中到達的其部分冗余副本可以用于合成丟失的幀。取決于實際的可用系統(tǒng)延遲和幀錯誤率(fer)(即,當前信道條件),可以在編碼器處動態(tài)地控制主幀和其部分冗余副本之間的延遲(或幀數(shù))(即,所謂的fec偏移)以及對是否需要發(fā)送特定幀的部分冗余副本的決定。
盡管這種技術需要降低主幀的總體大小以保持比特率不變,但是在中等fer和高fer下,與基于非信道感知/冗余的方法相比,它允許更好的質量。
諸如互聯(lián)網(wǎng)之類的網(wǎng)絡除了發(fā)送數(shù)據(jù)之外還被用于諸如召開會議之類的volp通信。因此,將多個語音或音樂編碼為數(shù)字數(shù)據(jù),對數(shù)據(jù)進行分組排列,并且通過網(wǎng)絡將分組發(fā)送給接收者。volp要求該過程實時發(fā)生。
允許實時使用的協(xié)議的缺點是它們不可靠,因為它們允許分組丟失,而不對其進行取回。當這種情況發(fā)生時,不對它們攜帶的語音或音頻段進行重建,并且接收者聽到令人討厭的語音或音樂空白。這些空白被認為是降低服務質量。
為了隱藏分組已丟失的事實,已經(jīng)設計出冗余方案。對重復原始數(shù)據(jù)方面的冗余分組進行編碼和發(fā)送。如果分組丟失,則其數(shù)據(jù)從其希望不會丟失的相應冗余分組中恢復和/或重建。接收端的抖動緩沖器收集主分組和冗余分組,并將它們饋送到播放它們的解碼器。
針對rtp定義的第一個媒體特定的糾錯方案是rfc2198[1]中規(guī)定的音頻冗余編碼。這是專為語音電話會議而設計的。每個分組以更嚴重壓縮的格式包含音頻數(shù)據(jù)的原始幀和前一幀的冗余副本。
基于分組的業(yè)務可能經(jīng)受高分組丟失率、抖動和重排序。前向糾錯(fec)是解決分組丟失問題的一種技術。通常,fec涉及將冗余信息與編碼語音一起發(fā)送。解碼器嘗試使用冗余信息來重建丟失的分組。媒體獨立的fec技術基于音頻流內(nèi)的比特而添加冗余信息(獨立于語音流的特征的更高層次的知識)。另一方面,媒體依賴的fec技術基于語音流的特征而添加冗余信息。
授權的專利us6,757,654[2]描述了用于對語音數(shù)據(jù)進行編碼的改進的fec技術。us6,757,654公開了:
“[該技術包括:]編碼器模塊使用主合成模型對輸入語音信號進行主編碼,以產(chǎn)生主編碼數(shù)據(jù),并使用冗余合成模型對輸入語音信號進行冗余編碼,以產(chǎn)生冗余編碼數(shù)據(jù)。分組器將主編碼數(shù)據(jù)和冗余編碼數(shù)據(jù)組合成一系列分組,并通過諸如互聯(lián)網(wǎng)協(xié)議(ip)網(wǎng)絡之類的基于分組的網(wǎng)絡來發(fā)送分組。解碼模塊使用主合成模型對分組進行主解碼,并使用冗余合成模型對分組進行冗余解碼。該技術在解碼期間和解碼之后提供主合成模型和冗余合成模型之間的交互,以提高合成的輸出語音信號的質量。例如,這種“交互”可以采用使用其他模型更新一個模型中的狀態(tài)的形式。
此外,本技術利用主幀和冗余幀的fec交錯耦合(即,幀n的主數(shù)據(jù)與幀n-1的冗余數(shù)據(jù)的耦合),以在編碼器模塊和解碼器模塊處提供預先處理。預先處理補充關于語音信號的可用信息,從而提高輸出合成語音的質量。
兩種模式用于對語音信號進行編碼的交互協(xié)作大大擴展了傳統(tǒng)系統(tǒng)以前考慮的冗余編碼的使用?!?/p>
會議論文[3]提出了針對互聯(lián)網(wǎng)電話的聯(lián)合播放緩沖器和前向糾錯(fec)調(diào)整方案,其中包含端到端延遲對所感知的音頻質量的影響。會議論文[3]表示基于端到端延遲和語音信號的失真感知音頻質量。開發(fā)了聯(lián)合速率/錯誤/播出延遲控制算法,從而優(yōu)化這種質量測量。
如[3]所述,大多數(shù)音頻會議工具使用媒體特定的fec。信號處理fec的原理是在多個分組中傳輸用不同質量編碼器編碼的每個音頻段。當分組丟失時,包含相同段(可被不同編碼)的另一分組可能夠覆蓋丟失。
所有的現(xiàn)有技術都是基于冗余的,這意味著利用后面的幀發(fā)送當前幀的非常低的比特率版本。雖然冗余音頻編碼可以提供精確的修復(如果冗余副本與原始相同),但是更有可能將使用較低的比特率,因此將實現(xiàn)較低的質量。在高級語音和音頻編碼的背景下,每幀的數(shù)據(jù)速率越來越大,并且傳輸非常低的比特率版本導致相對差的質量。
因此,期望改進現(xiàn)有的錯誤隱藏機制。
技術實現(xiàn)要素:
本發(fā)明的實施例通過提供以下項來創(chuàng)建改進的解決方案:至少具有獨立權利要求1的特征的編碼器,至少具有獨立權利要求22的特征的解碼器,根據(jù)權利要求42所述的系統(tǒng),至少包括獨立權利要求43的特征的編碼方法,至少包括獨立權利要求44的特征的解碼方法,根據(jù)權利要求45所述的計算機程序,至少具有權利要求46的特征的編碼器,至少具有權利要求55的特征的解碼器,根據(jù)獨立權利要求62至64中的至少一個所述的裝置,至少具有獨立權利要求65的特征的切換式編碼器或解碼器,至少具有獨立權利要求66的特征的變換域編碼器或解碼器,以及根據(jù)獨立權利要求68所述的方法或計算機程序。
根據(jù)權利要求1,提出提供了一種編碼器,用于對類語音內(nèi)容和/或一般音頻內(nèi)容進行編碼,其中該編碼器被配置為至少在一些幀中將參數(shù)嵌入比特流中,所述參數(shù)在原始幀丟失、損壞或延遲的情況下增強隱藏。即使標準隱藏機制可用于丟失的幀,嵌入在幀中的參數(shù)將用于增強這種隱藏。因此,本發(fā)明提出不具有僅是主幀的低比特率版本的部分副本,而是僅傳輸將增強隱藏的一些選擇的參數(shù)。因此,解碼器可不同于現(xiàn)有技術中提出的解碼器而工作。
已經(jīng)發(fā)現(xiàn)提供增強錯誤隱藏的一些選擇的參數(shù)(例如,這些參數(shù)定義丟失幀的特性,否則這些丟失幀將基于已丟失、損壞或延遲的有缺陷幀之前的先前幀而被估計)帶來了(有缺陷幀的)良好的錯誤隱藏,同時保持所需的比特率低。
換句話說,增強隱藏的參數(shù)的傳輸使得可以基于關于先前解碼的幀的信息來重建有缺陷的幀,其中隱藏幀的大部分信息是從有缺陷幀之前(或之后)的一個或更多個幀導出的,但是其中通常需要從之前或之后正確編碼的幀導出的有缺陷幀的最相關特性中的一個或更多個(或錯誤隱藏的最重要參數(shù)中的一個或更多個)通過增強隱藏的參數(shù)以相當準確的方式來表示。
換言之,用于增強錯誤隱藏的嵌入式參數(shù)優(yōu)選地不足以重建有缺陷的幀,因為它們不包含所有所需類型的信息,但是支持錯誤隱藏,因為最重要類型的信息由參數(shù)提供,而用于隱藏的其他類型的信息必須從在解碼器側先前解碼的幀導出。
因此,實現(xiàn)了錯誤隱藏質量和比特率之間的良好折中。
在實施例中,編碼器可以被配置為創(chuàng)建主幀和所謂的“部分副本”,其中“部分副本”不是主幀的低比特率版本,但是其中“部分副本”包含參數(shù)(例如,如果所考慮的幀有缺陷,則是隱藏所需的一些最相關的參數(shù))。換句話說,如本文所使用的“部分副本”不是作為冗余信息嵌入比特流中的(原始)音頻內(nèi)容的低比特率表示,并且稍后可以將其用于完全合成輸出信號。相反,本發(fā)明構思是嵌入一些參數(shù)數(shù)據(jù),即,如果所述參數(shù)數(shù)據(jù)可用,則是增強解碼器側的隱藏的上述參數(shù)。當使用該信息時,解碼器必須處于隱藏模式。因此,解碼器將對有缺陷的(即丟失的、損壞的或延遲的)幀(由于去抖動緩沖器延遲而可能可用)的“部分副本”進行解碼,并且使用所述解碼的參數(shù)來輔助解碼器側的隱藏例程。因此,與通過(例如,以減小的比特率)對整個主幀的內(nèi)容進行冗余編碼而對冗余副本進行編碼所需的大小相比,可以減小對僅包含一個或更多個參數(shù)的部分副本進行編碼所需的大小,而通常也可以使用相同的比特率或更高的比特率來對部分副本進行編碼。然而,與相應主幀的低比特率版本的常規(guī)解碼相比,本發(fā)明構思,即通過錯誤隱藏輔助參數(shù)來增強隱藏,提供了更好的質量。
在實施例中,編碼器可以被配置為將參數(shù)延遲一段時間,并將參數(shù)嵌入被編碼且在時間上稍后被發(fā)送的分組中。換句話說,編碼器首先以第一分組發(fā)送主幀。然后,在一定時間延遲之后,編碼器以比第一分組更晚發(fā)送的另一分組發(fā)送“部分副本”。因此,編碼器仍然對參數(shù)進行量化,但將其添加到稍后分組中的比特流。因此,即使主幀不可用或有缺陷,例如丟失、損壞或延遲,其內(nèi)容仍然可以借助于稍后發(fā)送且因此可能在解碼器可用的參數(shù)以隱藏的方式在解碼器側被正確地重建(或至少近似而沒有嚴重的偽像)。
在實施例中,編碼器可以被配置為減小主幀比特率,其中主幀比特率減小和部分副本幀編碼機制一起確定主幀和部分副本幀之間的比特率分配以包括在恒定的總比特率內(nèi)。因此,編碼器在發(fā)送主幀和部分副本幀時提供恒定的總比特率,同時提供具有低感知影響的良好音頻質量。
在實施例中,編碼器可以被配置為創(chuàng)建具有類語音內(nèi)容類型和一般音頻內(nèi)容類型中之一的主幀以及具有類語音內(nèi)容類型和一般音頻內(nèi)容類型中另一個的部分副本。因此,編碼器是通用的,因為它可以分別或彼此結合地處理不同類型的音頻內(nèi)容。因此,這在編碼器適于將例如acelp主幀與tcx部分冗余副本進行組合時特別有用,反之亦然。
在實施例中,編碼器可以是使用tcx編碼方案的編解碼器的一部分。根據(jù)該實施例,編碼器優(yōu)選地使用tcx編碼來有效地編碼一般音頻內(nèi)容、音樂、背景噪聲等。編碼器可以可靠地確定和發(fā)送tcx特定參數(shù),當部分冗余幀可以例如不包括任何編碼的頻譜值并且因此可能本身不足以重建有缺陷的幀時,該tcx特定參數(shù)可以用于解碼器側的tcx隱藏。
在實施例中,編碼器可以被配置為檢測幀是否包含噪聲或類似噪聲的音頻信號,或者幀是否包含具有在一段時間內(nèi)平穩(wěn)的尖銳譜線的噪聲基底,并且基于該檢測將參數(shù)嵌入tcx幀中。因此,可以在編碼器側做出關于當前信號特性的決定,使得這些信號的特定參數(shù)被編碼并被發(fā)送到解碼器以增強隱藏。
在實施例中,所述參數(shù)可以包括isf或lsf參數(shù),具體是預測編碼的isf或lsf參數(shù)。isf和lsf參數(shù)表示被用于lpc參數(shù)的量化和編碼。在tcx編碼方案中,lpc用于表示掩蔽閾值。這是一個重要的參數(shù),并且在幀丟失的情況下,非常有助于在解碼器側正確使用。特別是如果isf/lsf被進行預測編碼,則隱藏質量將通過在隱藏期間使該信息可用而得以改進,因為解碼器側的預測器狀態(tài)將保持正確,即,與編碼器同步,并且這將導致不可用主幀的快速恢復。
在實施例中,所述參數(shù)可以包括信號分類參數(shù)。信號分類用于表示內(nèi)容類型:無聲(unvoiced),無聲過渡(unvoicedtransition),有聲過渡(voicedtransition),有聲(voiced)和起始(onset)。通常,這種類型的分類用于語音編碼,并且指示音調(diào)分量/預測分量是否存在于信號中,或者音調(diào)分量/預測分量是否正在改變。在隱藏期間使該信息在解碼器側可用有助于確定信號的可預測性,并且因此可以幫助調(diào)整lpc參數(shù)的幅度淡出速度、內(nèi)插速度。
在實施例中,所述參數(shù)可以包括tcx全局增益或tcx全局等級。可以發(fā)送該全局增益以在隱藏幀可用的情況下容易地將隱藏幀的能量設置為正確的(編碼器確定的水平)。
在實施例中,所述參數(shù)可以包括窗口信息和頻譜峰值位置中的至少一個。使該信息在編碼器側可用有利于將這些參數(shù)選擇性地發(fā)送到解碼器以進行隱藏。
在實施例中,編碼器可以是切換式編解碼器的一部分,其中該切換式編解碼器包括至少兩個核心編碼方案,其中第一核心編碼方案使用acelp,第二核心編碼方案使用tcx。例如,編碼器使用acelp對類語音音頻內(nèi)容進行編碼,并且使用tcx對一般音頻內(nèi)容進行編碼。因此,使用若干用于對音頻內(nèi)容進行編碼的編碼方案使編碼器成為通用的。此外,編碼器通過對每個信號使用信號特定編碼方案來提供良好的結果。
在實施例中,編碼器可以被配置為當在acelp幀之后存在第一tcx幀時,在切換之后不將“部分副本”放置在tcx幀之上。例如,在這種情況下,可以選擇性地省略增強隱藏的參數(shù)的提供。如果第一tcx幀丟失,則無法以tcx模式隱藏。因此,將改為使用acelp隱藏。在這種情況下,僅tcx部分副本將不足以完全合成幀,解碼器需要處于隱藏模式,且可由部分副本支持。因此,由于隱藏需要前一幀對信號內(nèi)容進行外插,因此在這種情況下優(yōu)選地使用acelp隱藏(因為先前幀是acelp),該acelp隱藏使得tcx部分副本不太有用。由于編碼器被配置為檢測切換并且選擇性地,即取決于切換事件,提供特定類型的部分副本,因此解碼器側的隱藏將提供良好的結果。
在實施例中,編碼器可以被配置為在編碼之前分析信號并且基于分析的信號禁用部分副本(例如,不提供任何參數(shù))或者提供減少的部分副本(例如,提供比正常情況下少的參數(shù))。例如,如果在沒有解碼器內(nèi)的附加部分副本信息的幫助下,可以令人滿意地隱藏信號,但是干凈信道性能由于主幀減少而受到影響,則可以禁用部分副本或者可以在編碼器內(nèi)使用特定減少的部分副本。因此,編碼器適于選擇性地提供部分副本,即只有在解碼器側需要隱藏參數(shù)來重建不可用主幀的音頻內(nèi)容時才提供部分副本。此外,可以優(yōu)化主幀傳輸?shù)膸捠褂谩?/p>
在實施例中,編碼器可以被配置為在使用不同量的信息和/或不同參數(shù)集的多個部分副本模式之間進行選擇,其中所述部分副本模式的選擇是基于參數(shù)的(例如,描述要被編碼的信號的參數(shù))。因此,編碼器可以選擇性地選擇特定部分副本模式,以提供非常適合于在解碼器側隱藏特定不可用主幀的部分副本。多個部分副本模式之間的選擇基于各種參數(shù),例如當前和/或先前幀的信號特性,包括音調(diào)穩(wěn)定性、ltp音調(diào)、ltp增益、信號的時間趨勢、最后兩幀的模式以及幀類。
在實施例中,多個部分副本模式中的至少一個可以是頻域隱藏模式。該模式可以由編碼器選擇性地選擇,以提供包括特定參數(shù)的部分副本,該參數(shù)非常適合于在解碼器側提供包含頻域信號的不可用主幀的良好隱藏結果。
在實施例中,多個部分副本模式中的至少兩個可以是不同的時域隱藏模式。例如,如果相應的時域信號包括至少特定特性,則可以選擇第一部分副本模式。否則,如果時域信號不包括該特定特性,或者如果時域信號包括不同的信號特性,則選擇第二部分副本模式。因此,編碼器提供包含在部分副本中的參數(shù)的信號特定選擇。
在實施例中,如果幀包含瞬態(tài)或者如果幀的全局增益比先前幀的全局增益低(例如,至少預定義的量),則可以選擇至少兩個時域隱藏模式中的一個。因此,編碼器選擇性地選擇用于提供在解碼器側使用的增強有缺陷或不可用主幀的隱藏的參數(shù)的模式,即使該有缺陷或不可用主幀的信號特性在一定程度上偏離了先前幀的信號特性。
在實施例中,編碼器可以被配置為:如果存在ltp數(shù)據(jù),則發(fā)送ltp滯后(作為用于增強隱藏的參數(shù))。因此,編碼器選擇性地提供在解碼器側使用的用于長期預測解碼的參數(shù)。
在實施例中,編碼器可以被配置為發(fā)送分類器信息(作為用于增強隱藏的參數(shù))。信號分類用于表示內(nèi)容類型:無聲,無聲過渡,有聲過渡,有聲和起始。通常,這種類型的分類用于語音編碼,并且指示音調(diào)分量/預測分量是否存在于信號中,或者音調(diào)分量/預測分量是否在改變。在隱藏期間使該信息在解碼器側可用(由編碼器發(fā)送)有助于確定信號的可預測性,并且因此可以幫助調(diào)整lpc參數(shù)的幅度淡出速度和/或內(nèi)插速度,并且可以控制有聲或無聲激勵信號的高通或低通濾波的可能使用(例如,用于去噪)。
在實施例中,編碼器可以被配置為發(fā)送lpc參數(shù)、ltp增益、噪聲等級和脈沖位置中的至少一個(作為用于增強隱藏的參數(shù))。因此,編碼器發(fā)送非常適合于在解碼器側隱藏有缺陷或不可用主幀的內(nèi)容(即,以增強隱藏)的特定參數(shù)。
另一實施例提供了一種用于對類語音內(nèi)容和/或一般音頻內(nèi)容進行解碼的解碼器,其中該解碼器被配置為使用在時間上稍后發(fā)送的參數(shù)以在原始幀丟失、損壞或延遲的情況下增強隱藏。因此,在接收器(或解碼器)處,在時間上稍后發(fā)送的參數(shù)可以用于增強解碼器側的錯誤隱藏,從而在原始幀有缺陷(例如丟失、損壞或延遲)的情況下重建信號(例如,避免嚴重偽像的隱藏信號)。因此,本發(fā)明構思可以通過使用增強隱藏的參數(shù)同時有效地使用給定帶寬來可靠地重建不可用的音頻內(nèi)容。
例如,由音頻解碼器發(fā)送(及評估)以增強隱藏的參數(shù)可以包括在解碼器的隱藏單元隱藏有缺陷幀時所需的最重要的信息類型中的一個或更多個。然而,通常選擇參數(shù)以使得僅參數(shù)不足以執(zhí)行完全錯誤隱藏。相反,為了實際執(zhí)行錯誤隱藏,解碼器的隱藏單元通常例如基于先前(或隨后)解碼的幀來獲得附加信息類型。因此,在時間上稍后發(fā)送的參數(shù)僅增強隱藏,但并不構成完全的隱藏信息。
因此,在時間上稍后發(fā)送的參數(shù)的使用允許僅以小的比特率使關于最重要隱藏參數(shù)的精確信息在音頻解碼器處可用,而提供隱藏幀所需的附加信息由音頻解碼器本身例如使用外插或內(nèi)插基于一個或更多個先前(或隨后)解碼的幀而生成。
在實施例中,解碼器可以被配置為接收主幀和“部分副本”,其中“部分副本”不是主幀的低比特率版本,但是其中“部分副本”包含用于增強隱藏的參數(shù)。由于“部分副本”包含這些參數(shù),所以與用于發(fā)送主幀的低比特率版本的帶寬相比,用于傳輸這些參數(shù)的帶寬甚至更低。
在實施例中,所述參數(shù)包含在部分副本中,并且解碼器被配置為在當前丟失幀的部分副本可用的情況下從去抖動緩沖器接收該部分副本。去抖動緩沖器進一步改進了本發(fā)明構思,因為它能夠提供抖動延遲,其中可以緩沖一定數(shù)量的幀。因此,以錯誤的時間順序到達解碼器的幀(即,在第二幀之前已在編碼器側發(fā)送的第一幀比第二幀更晚到達解碼器側,即使預期第一幀比第二幀更早到達解碼器側)可以被緩沖并以正確的時間順序被提供。這在幀延遲的情況下特別有用。
在實施例中,解碼器可以被配置為接收具有類語音內(nèi)容類型和一般音頻內(nèi)容類型中之一的主幀以及具有類語音內(nèi)容類型和一般音頻內(nèi)容類型中另一個的部分副本。因此,解碼器是通用的,因為它可以分別或彼此結合地處理不同類型的音頻內(nèi)容。因此,這在解碼器適于提取例如已在acelp主幀之上傳輸?shù)膖cx部分冗余副本時特別有用,或反之亦然。
在實施例中,解碼器可以是使用tcx編解碼方案的編解碼器的一部分。根據(jù)該實施例,解碼器優(yōu)選地使用tcx解碼來有效地解碼一般音頻內(nèi)容、音樂、背景噪聲等。解碼器可以可靠地從部分副本中提取tcx特定參數(shù)(以增強隱藏)以用于增強tcx隱藏。
在實施例中,所述參數(shù)可以包括isf或lsf參數(shù),具體是預測編碼的isf或lsf參數(shù)。isf和lsf參數(shù)表示被用于lpc參數(shù)的量化和編碼。在tcx編碼方案中,lpc用于表示掩蔽閾值。這是一個重要的參數(shù),并且在幀丟失的情況下,非常有助于在解碼器側正確使用。特別是如果isf/lsf被進行預測編碼,則隱藏質量將通過在隱藏期間使該信息可用而得以改進,因為解碼器側的預測器狀態(tài)將保持正確,即,與編碼器同步,并且這將導致不可用主幀的快速恢復。
在實施例中,所述參數(shù)可以包括信號分類參數(shù)。信號分類用于表示內(nèi)容類型:無聲,無聲過渡,有聲過渡,有聲和起始。通常,這種類型的分類用于語音編碼,并且指示音調(diào)分量/預測分量是否存在于信號中,或者音調(diào)分量/預測分量是否正在改變。在隱藏期間使該信息在解碼器側可用有助于確定信號的可預測性,并且因此可以幫助調(diào)整lpc參數(shù)的幅度淡出速度、內(nèi)插速度。
在實施例中,所述參數(shù)可以包括tcx全局增益或tcx全局等級??梢园l(fā)送全局增益以在其可用的情況下容易地將隱藏幀的能量設置為正確的(編碼器確定的)級別。
在實施例中,所述參數(shù)可以包括窗口信息和頻譜峰值位置中的至少一個。使該信息在解碼器側可用能夠用于選擇性地增強隱藏。
在實施例中,解碼器可以是切換式編解碼器的一部分,其中該切換式編解碼器包括至少兩個核心編碼方案,其中第一核心編碼方案使用acelp,第二核心編碼方案使用tcx。例如,解碼器使用acelp解碼方案來解碼類語音音頻內(nèi)容并使用tcx解碼方案來解碼一般音頻內(nèi)容。因此,使用若干解碼方案來解碼不同的音頻內(nèi)容使得解碼器是通用的。
在實施例中,解碼器可以被配置為在acelp幀之后的第一tcx幀對解碼器不可用的情況下,在切換之后使用acelp隱藏。如果第一tcx幀有缺陷,即丟失、損壞或延遲,則無法以tcx模式隱藏。因此,將改為使用acelp隱藏。在這種情況下,僅tcx部分副本將不足以完全合成幀,解碼器需要處于隱藏模式,且可由部分副本支持。由于隱藏需要前一幀對信號內(nèi)容進行外插,因此在這種情況下優(yōu)選地使用acelp隱藏(因為先前幀是acelp),該acelp隱藏將使得tcx部分副本不太有用。
在實施例中,解碼器可以被配置為在解碼器可用的多種模式之中的使用不同量的信息和/或不同參數(shù)集的多個部分副本模式或隱藏模式之間進行選擇。在實施例中,如果解碼器沒有得到相應模式,即,如果它不能從部分副本確定或以其它方式獲取相應模式,則解碼器選擇隱藏模式。否則,隱藏模式由可用的部分副本指定,其中隨后作出決定的是編碼器。因此,解碼器使用直接來自在編碼器側發(fā)送的比特流的分別編碼的不同量的信息和/或不同的參數(shù)集。因此,解碼器可以基于部分副本模式應用非常適合的隱藏模式,其中在一種模式中存在較多的支持(增強)信息(即,參數(shù)),而在另一模式中存在較少的支持信息。換句話說,在ca模式下,編碼器決定適當?shù)碾[藏模式并相應地準備部分副本。如果部分副本可用于解碼器,并且其應當用于增強隱藏,則解碼器必須堅持由編碼器作出的決定,否則該部分副本中的信息不能被恰當?shù)乩?。如果部分副本不可用,或者如果部分副本由于其他原因而不?或不應被使用,則解碼器僅自身決定隱藏模式。
在實施例中,多個部分副本模式中的至少一個可以是頻域隱藏模式。該模式可以由解碼器選擇性地選擇,以使用包括特定參數(shù)的部分副本,這些參數(shù)非常適合于提供包含頻域信號的不可用主幀的良好隱藏結果。
在實施例中,多個部分副本模式中的至少兩個可以是不同的時域隱藏模式。例如,第一部分副本包含包括至少某一特性的相應時域信號的參數(shù),而第二部分副本包含包括不同信號特性的相應時域信號的參數(shù)。這兩個時域模式中的一個可以由解碼器選擇性地選擇,以使用包括特定參數(shù)的部分副本,這些參數(shù)非常適合于提供包含時域信號的不可用主幀的良好隱藏結果。
在實施例中,解碼器可以被配置為:如果ltp數(shù)據(jù)存在于相應的主幀中,則接收ltp滯后。因此,解碼器能夠通過長期預測解碼來重建不可用主幀的內(nèi)容,從而使用已經(jīng)在部分副本中接收的ltp參數(shù)。
在實施例中,解碼器可以被配置為接收分類器信息。信號分類用于表示內(nèi)容類型:無聲,無聲過渡,有聲過渡,有聲和起始。通常,這種類型的分類用于語音編碼,并且指示音調(diào)分量/預測分量是否存在于信號中,或者音調(diào)分量/預測分量是否在改變。在隱藏期間使該信息在解碼器側可用(由編碼器發(fā)送)有助于確定信號的可預測性,并且因此可以幫助調(diào)整lpc參數(shù)的幅度淡出速度、內(nèi)插速度,并且可以控制有聲或無聲激勵信號的高通或低通濾波的可能使用(例如,用于去噪)。
在實施例中,解碼器可以被配置為接收lpc參數(shù)、ltp增益、噪聲等級和脈沖位置中的至少一個(作為用于增強隱藏的參數(shù))。因此,解碼器能夠通過使用已經(jīng)在部分副本中接收的這些參數(shù)中的至少一個來重建不可用主幀的內(nèi)容。
在實施例中,解碼器可以被配置為根據(jù)隱藏模式以兩個不同因子減少音調(diào)增益和代碼增益。這用以每當原始信號更瞬態(tài)時避免具有長平穩(wěn)信號。
在實施例中,減少音調(diào)增益和代碼增益的第一因子是0.4,第二因子是0.7。這兩個因子是特別有效的,以便每當原始信號更瞬態(tài)時避免具有長平穩(wěn)信號。
在實施例中,解碼器可以被配置為:如果先前主幀丟失,則不考慮從部分副本解碼的音調(diào),并且其中解碼器被配置為將音調(diào)固定(即,調(diào)整)為預測音調(diào)以用于后續(xù)丟失的主幀,而不是使用所發(fā)送的音調(diào)。因此,如果先前幀丟失,則不應考慮從部分副本解碼的音調(diào),因為在比特流中發(fā)送的音調(diào)是基于地面實況在編碼器側計算的,但是如果先前幀丟失,則先前丟失和隱藏合成的合成可能確實不同于編碼器地面實況。因此,一般來說更好的是,在多幀丟失的情況下,不冒險依賴于編碼器/解碼器的同步性,并且將音調(diào)固定為預測音調(diào)以用于后續(xù)丟失的幀,而不是使用所發(fā)送的音調(diào)。
另一實施例創(chuàng)建了一種用于對類語音內(nèi)容和/或一般音頻內(nèi)容進行編碼的方法,該方法包括以下步驟:至少在一些幀中將參數(shù)嵌入比特流中,所述參數(shù)在原始幀丟失、損壞或延遲的情況下增強隱藏。即使標準的隱藏機制可被用于有缺陷的(即丟失的、損壞的或延遲的)幀,本發(fā)明方法使用嵌入在幀中的參數(shù),以便增強這種隱藏(并且比特流參數(shù)可以替代常規(guī)地在解碼器側導出的參數(shù))。因此,本發(fā)明提出不具有僅是主幀的低比特率版本的部分副本,而是傳輸將增強隱藏的參數(shù)(但該參數(shù)通常不構成完全錯誤隱藏信息)。因此,與現(xiàn)有技術相比,解碼器可以在一定程度上修改。
另一實施例創(chuàng)建了一種用于對類語音內(nèi)容和/或一般音頻內(nèi)容進行解碼的方法,該方法包括以下步驟:使用在時間上稍后發(fā)送的參數(shù)以在原始幀丟失、損壞或延遲的情況下增強隱藏。因此,在接收器處,在時間上稍后發(fā)送的參數(shù)可以用于增強解碼器側的錯誤隱藏,從而在原始幀有缺陷(即丟失、損壞或延遲)的情況下重建信號。因此,通過使用本發(fā)明的方法,有缺陷、損壞或不可用的音頻內(nèi)容可以通過使用參數(shù)而不是整個冗余編碼幀而被可靠地(至少部分地)重建。
另一實施例創(chuàng)建一種用于對音頻內(nèi)容進行編碼的編碼器,其中該編碼器被配置為提供當前幀的主編碼表示和至少一個錯誤隱藏參數(shù)的編碼表示以增強當前幀的解碼器側的錯誤隱藏,其中該編碼器被配置為基于(或依賴于)表示當前幀中包含的音頻內(nèi)容的信號特性的一個或更多個參數(shù)來選擇該至少一個隱藏參數(shù)。例如并不限于此,表示信號特性的參數(shù)可以從至少當前幀和先前幀的信號特性中選擇,包括音調(diào)穩(wěn)定性、ltp音調(diào)、ltp增益、信號的時間趨勢、最后兩幀的模式和幀類?;谶@些信號特性參數(shù),編碼器選擇性地選擇一個或更多個隱藏參數(shù),這些參數(shù)非常適合于解碼器側的錯誤隱藏。這些錯誤隱藏參數(shù)被分別編碼,即,與要發(fā)送的信號的主編碼表示分開編碼。因此,解碼器可以通過使用錯誤隱藏來從這些錯誤隱藏參數(shù)重建信號,即使該信號的主編碼表示丟失、損壞或延遲。因此,至少在一些幀(或分組)中,錯誤隱藏參數(shù)(也被指定為冗余編碼參數(shù))被嵌入在比特流中并被發(fā)送到解碼器側。因此,不需要提供整個信號的“部分副本”,該“部分副本”通常以較低的比特率編碼并且因此可包括較低的質量。因此,本發(fā)明提供了一種通過所選擇的錯誤隱藏參數(shù)來隱藏有缺陷(例如,丟失、損壞或延遲)的幀的改進構思,其中所選擇的錯誤隱藏參數(shù)已在編碼器側加以選擇(例如,根據(jù)信號特性)并嵌入比特流中。因此,本發(fā)明保持在給定帶寬內(nèi),同時保持發(fā)送信號的良好質量,即使該信號的一部分(例如,一幀)通過解碼器側的隱藏來重建。
在實施例中,解碼器側的錯誤隱藏是基于外插的錯誤隱藏。因此,隱藏例程可以使用外插法來估計或預測未來的信號特性,該信號特性可以進一步幫助和輔助有缺陷的主幀的隱藏。
在實施例中,編碼器可以被配置為將當前幀的至少一個錯誤隱藏參數(shù)的編碼表示與未來幀的主編碼表示組合為傳輸分組,使得當前幀的至少一個錯誤隱藏參數(shù)的編碼表示以相對于當前幀的主編碼表示的時間延遲被發(fā)送。換句話說,編碼器首先以第一分組發(fā)送主幀(即,幀的主編碼表示)。然后,在一定時間延遲之后,編碼器以比第一分組更晚發(fā)送的另一分組發(fā)送“部分副本”(即,至少一個錯誤隱藏參數(shù)的編碼表示)。因此,編碼器仍然對參數(shù)進行量化,但將其添加到稍后分組中的比特流。因此,本發(fā)明特別適用于基于分組的網(wǎng)絡,例如ip語音(voip)、lte語音(volte)等。雖然幀的主編碼表示可能已經(jīng)被發(fā)送到解碼器側,但是其相應的錯誤隱藏參數(shù)將利用后續(xù)傳輸分組之一來發(fā)送。因此,如果包含主編碼表示的分組丟失、損壞或延遲,則包含錯誤隱藏參數(shù)的分組可以正確地到達解碼器側,因為其已經(jīng)在時間上稍后發(fā)送。此外,通過將這些錯誤隱藏參數(shù)與另一幀的主編碼表示組合為一個分組,可以有效地使用帶寬。
在實施例中,編碼器可以被配置為在用于提供錯誤隱藏參數(shù)的編碼表示的至少兩個模式之間選擇性地選擇。因此,編碼器是通用的,因為其提供用于處理可具有不同信號特性的不同信號的不同模式,其中可以在不同模式中提供不同的錯誤隱藏參數(shù)集。由于這兩種模式用于提供至少一個錯誤隱藏參數(shù)的編碼表示,所以這些至少兩種模式也被稱為部分副本模式。
在實施例中,編碼器對用于提供至少一個錯誤隱藏參數(shù)的編碼表示的模式的選擇可以基于包括以下至少一項的一個或更多個參數(shù):幀類、ltp音調(diào)、ltp增益和用于提供一個或更多個先前幀的至少一個錯誤隱藏參數(shù)的編碼表示的模式。這些參數(shù)非常適合于決定用于在解碼器側的錯誤隱藏的模式。
在實施例中,用于提供至少一個錯誤隱藏參數(shù)的編碼表示的模式中的至少一個可以是時域隱藏模式,使得至少一個錯誤隱藏參數(shù)的編碼表示包括tcxltp滯后和分類器信息中的一個或更多個。例如,如果存在包括至少某一特性的時域信號,則可以選擇第一模式,其為時域隱藏模式。否則,如果時域信號不包括該某一特性,或者如果時域信號包括不同的信號特性,則選擇第二模式。因此,編碼器提供錯誤隱藏參數(shù)的信號特定選擇。
在實施例中,用于提供至少一個錯誤隱藏參數(shù)的編碼表示的模式中的至少一個可以是時域隱藏模式,其中如果當前幀中包含的音頻內(nèi)容包含瞬態(tài)或如果當前幀中包含的音頻內(nèi)容的全局增益低于前一幀的全局增益,則選擇該時域隱藏模式。因此,編碼器選擇性地選擇用于提供錯誤隱藏參數(shù)的模式,所述錯誤隱藏參數(shù)用于在解碼器側隱藏不可用的主編碼表示,即使這種不可用的主幀的信號特性在一定程度上偏離了前一幀的信號特性。
在實施例中,用于提供至少一個錯誤隱藏參數(shù)的編碼表示的模式中的至少一個可以是頻域隱藏模式,使得至少一個錯誤隱藏參數(shù)的編碼表示包括lsf參數(shù)、tcx全局增益和分類器信息中的一個或更多個。該模式可以由編碼器選擇性地選擇,以提供至少一個錯誤隱藏參數(shù)的編碼表示,所述參數(shù)非常適合于在解碼器側提供包含頻域信號的不可用主編碼表示的良好隱藏結果。
在實施例中,編碼器可以至少使用tcx編碼方案。根據(jù)該實施例,編碼器優(yōu)選地使用tcx編碼來有效地編碼一般音頻內(nèi)容、音樂、背景噪聲等。因此,編碼器可以可靠地確定和發(fā)送可用于解碼器側的tcx隱藏的tcx特定參數(shù)。
一個實施例創(chuàng)建一種用于對音頻內(nèi)容進行解碼的解碼器,其中該解碼器被配置為接收當前幀的主編碼表示和/或至少一個錯誤隱藏參數(shù)的編碼表示,以增強當前幀的解碼器側的錯誤隱藏,其中該解碼器被配置為在當前幀的主編碼表示丟失、損壞或延遲的情況下通過使用該至少一個錯誤隱藏參數(shù)來使用錯誤隱藏至少部分地重建當前幀的音頻內(nèi)容。通常,解碼器能夠接收比特流,該比特流可以是在編碼器決定不發(fā)送特定過去幀的任何輔助數(shù)據(jù)的情況下不具有任何輔助數(shù)據(jù)(即,至少一個錯誤隱藏參數(shù))的單個主幀(即,當前幀的主編碼表示)、或者主幀(即,當前幀的主編碼表示)和至少一個或更多個錯誤隱藏參數(shù)。因此,解碼器可以通過使用錯誤隱藏來使用這些一個或更多個錯誤隱藏參數(shù)至少部分地重建信號,即使該信號的主編碼表示有缺陷,例如丟失、損壞或延遲。因此,至少在一些幀中,錯誤隱藏參數(shù)(冗余編碼參數(shù))被嵌入比特流中并被發(fā)送到解碼器側。因此,不需要提供整個信號的部分副本,該部分副本通常以較低比特率編碼并且因此可以包括較低的質量。因此,本發(fā)明提供了一種通過使用所選擇的錯誤隱藏參數(shù)來隱藏有缺陷(例如,丟失、損壞或延遲)的幀的改進構思,其中當使用接收的錯誤隱藏參數(shù)對使用基于一個或更多個先前解碼的幀所獲得的信息的隱藏進行“引導”(例如,增強或改進)時,所選擇的錯誤隱藏參數(shù)已在編碼器側加以選擇、嵌入比特流中并被發(fā)送到解碼器側。因此,本發(fā)明構思保持在給定帶寬內(nèi)(通過使用不需要將所有錯誤隱藏信息從編碼器發(fā)送到解碼器的基于外插的誤差隱藏),同時保持解碼信號的良好質量(通過使用錯誤隱藏參數(shù)增強錯誤隱藏),即使該信號通過解碼器側的隱藏被重建。
在實施例中,解碼器側的錯誤隱藏是基于外插的錯誤隱藏。因此,在解碼器側提供的隱藏例程可以使用外插法來估計或預測未來的信號特性,該信號特性可以進一步幫助和輔助有缺陷的主幀的隱藏。
在實施例中,解碼器可以被配置為從與包含當前幀的主編碼表示的分組分離的分組提取當前幀的錯誤隱藏參數(shù)。因此,通過使兩個分離的分組可用,解碼器可以在包含當前幀的主編碼表示的分組丟失、損壞或延遲的情況下使用這些分離的分組之一中包含的錯誤隱藏參數(shù)。
在實施例中,解碼器可以被配置為在至少兩個錯誤隱藏模式之間選擇性地選擇,所述至少兩個錯誤隱藏模式使用一個或更多個錯誤隱藏參數(shù)的不同編碼表示以使用基于外插的錯誤隱藏至少部分地重建音頻內(nèi)容。如果解碼器沒有獲得相應的模式,即,如果解碼器不能從部分副本(即,從至少一個錯誤隱藏參數(shù)的編碼表示)確定或以其他方式獲取相應的模式,則解碼器選擇所述至少兩個錯誤隱藏模式中的一個。否則,隱藏模式由可用的部分副本指定,即,由至少一個錯誤隱藏參數(shù)的編碼表示指定。在這種情況下,編碼器已經(jīng)作出選擇,而解碼器使用至少兩個模式中的所選擇的一個。換句話說,在ca模式下,編碼器決定適當?shù)碾[藏模式并相應地準備部分副本。如果部分副本可用于解碼器,并且其應當用于增強隱藏,則解碼器必須堅持由編碼器作出的決定,否則該部分副本中的信息不能被恰當?shù)乩?。如果部分副本不可用,或者如果部分副本由于其他原因而不?或不應被使用,則解碼器僅自身決定隱藏模式。因此,解碼器提供一個或更多個錯誤隱藏參數(shù)的信號特定解碼和增強的錯誤隱藏。
在實施例中,使用一個或更多個錯誤隱藏參數(shù)的不同編碼表示的錯誤隱藏模式中的至少一個可以是時域隱藏模式,其中至少一個錯誤隱藏參數(shù)的編碼表示包括tcxltp滯后和分類器信息中的至少一個。例如,如果存在包括至少某一特性的時域信號,則可以選擇第一模式,其為時域隱藏模式。否則,如果時域信號不包括該某一特性,或者如果時域信號包括不同的信號特性,則選擇第二模式。因此,當解碼器可以遵循該編碼器的選擇時,編碼器可以提供錯誤隱藏參數(shù)的信號特定選擇。
在實施例中,使用一個或更多個錯誤隱藏參數(shù)的不同編碼表示的所述至少兩個錯誤隱藏模式中的至少一個可以是頻域隱藏模式,其中至少一個錯誤隱藏參數(shù)的編碼表示包括lsf參數(shù)、tcx全局增益和分類器信息中的一個或更多個。該模式可以由解碼器選擇性地選擇,以提供包含頻域信號的不可用主編碼表示的良好隱藏結果。
在實施例中,解碼器可以至少使用tcx編碼方案。根據(jù)該實施例,解碼器優(yōu)選地使用tcx解碼來有效地解碼一般音頻內(nèi)容、音樂、背景噪聲等。因此,解碼器可以在主編碼表示已丟失、損壞或延遲的情況下使用tcx特定錯誤隱藏參數(shù)以重建tcx信號。
一個實施例創(chuàng)建了一種用于錯誤隱藏的裝置,該裝置被配置為執(zhí)行對于丟失幀的標準隱藏機制并使用可傳輸參數(shù)來增強隱藏。因此,本發(fā)明通過使用特定參數(shù)來改進標準隱藏機制。
一個實施例創(chuàng)建了一種用于錯誤隱藏的裝置,該裝置被配置為不具有僅是主幀的低比特率版本的部分副本,而是具有由多個關鍵參數(shù)組成的部分副本以增強隱藏。因此,可以有效地使用帶寬容量。
一個實施例創(chuàng)建了一種用于錯誤隱藏的裝置,其具有接收器,該接收器包括去抖動緩沖器,用于在當前丟失幀的部分冗余副本可用于任何未來幀的情況下提供所述部分冗余副本,其中該裝置被配置為讀取部分冗余信息比特流并更新相應的參數(shù)。因此,如果當前幀丟失、損壞或延遲,則本發(fā)明的裝置可以使用已經(jīng)在時間上稍后發(fā)送的(即,以未來幀發(fā)送的)部分冗余副本,以重建該幀。
一個實施例創(chuàng)建了一種切換式編碼器或解碼器,其中存在兩個或更多個核心編碼方案,而例如一個編碼方案使用acelp對類語音內(nèi)容進行編碼,第二編碼方案使用tcx對一般音頻內(nèi)容進行編碼,其中使用部分冗余副本編碼對acelp幀進行處理,使用不同的方法對tcx幀進行處理,其中在靠近核心編碼器切換的幀中,出現(xiàn)兩種特殊情況,即:上方具有從未來tcx幀生成的部分副本的acelp主幀,或上方具有從未來acelp幀生成的部分副本的tcx主幀,其中,對于這些情況,兩個核心編碼器可配置為創(chuàng)建另一編碼器類型的主幀以及部分副本,而不違反幀的所需總大小,以確保恒定的比特率,或其中:在acelp幀之后的第一tcx幀,其中如果該幀丟失并且因此對于解碼器不可用,則所提出的技術將使用已在另一幀之上傳輸?shù)牟糠指北拘畔υ搸M行tcx隱藏,其中隱藏需要前一幀來對信號內(nèi)容進行外插,使用acelp隱藏(因為先前幀為acelp),并且其中已經(jīng)在編碼器中決定在切換之后不將部分副本放置在tcx幀之上,或者其中存在信號自適應部分副本選擇,其中在編碼之前分析信號以確定部分副本的使用是否是有利的,其中如果在沒有解碼器內(nèi)的附加部分副本信息的幫助下可以令人滿意地隱藏信號,但是干凈信道性能由于減少的主幀而受到影響,則禁用部分副本或者在編碼器內(nèi)使用特別減少的部分副本。因此,本發(fā)明的編碼器或解碼器是通用的,因為其提供不同編碼方案的組合。
一個實施例創(chuàng)建了一種變換域編碼器或解碼器,其中使用編碼/解碼方案,其中至少在一些幀中冗余編碼參數(shù)被嵌入比特流中并被發(fā)送到解碼器側,或其中冗余信息被延遲一段時間并被嵌入分組中,該分組被編碼并在時間上稍后被發(fā)送,使得在解碼器已使未來幀可用并且原始幀丟失、損壞或延遲甚至更多的情況下能夠使用所述信息。因此,通過提供比特流中的冗余編碼參數(shù),可以有效地使用給定帶寬。
如前所述,變換域編碼器或解碼器可以使用包含isf/lsf參數(shù)的冗余信息:isf/lsf參數(shù)表示被用于lpc參數(shù)的量化和編碼。在tcx中,lpc用于表示掩蔽閾值。這是基本參數(shù),并且在幀丟失的情況下非常有助于使其在解碼器側正確使用。特別是如果isf/lsf被進行預測編碼,則隱藏質量將通過在隱藏期間使該信息可用而顯著改進,因為在解碼器側的預測器狀態(tài)將保持正確(與編碼器同步),這將在丟失之后導致非??焖俚幕謴?;信號分類:信號分類用于表示內(nèi)容類型:無聲,無聲過渡,有聲過渡,有聲和起始。通常,這種類型的分類用于語音編碼,并且指示音調(diào)分量/預測分量是否存在于信號中,或者音調(diào)分量/預測分量是否正在改變。在隱藏期間在解碼器側使該信息可用能夠幫助確定信號的可預測性,并且因此能夠幫助調(diào)整lpc參數(shù)的幅度淡出速度、內(nèi)插速度;tcx全局增益/等級:該全局增益能夠被傳輸,以在隱藏幀可用的情況下容易地將隱藏幀的能量設置為正確的(編碼器確定的水平);窗口信息,如重疊長度;或頻譜峰值位置用于幫助音調(diào)隱藏。
在提供“部分”信息的意義上,可以使用術語“冗余”、“冗余副本”、“部分冗余副本”和包含術語“冗余”的其他表達組合。部分信息不包含主編碼幀(即,編碼音頻信號)的冗余且可能的低比特率表示。相反,部分信息可以包含或包括參數(shù),特別是隱藏輔助參數(shù),其增強在解碼器側可用的隱藏機制,以便在主編碼幀有缺陷(例如丟失、損壞或延遲)的情況下隱藏相應的主幀,即,主編碼音頻數(shù)據(jù)。換句話說,術語“冗余”和“部分”及其派生物,例如,“冗余副本”和“部分副本”可以在本文檔中互換使用,因為這兩個術語表示可包含或包括上述參數(shù)的信息。
附圖說明
之后將參考附圖來描述本發(fā)明的實施例,在附圖中:
圖1示出了本發(fā)明的編碼器的示意性表示,
圖2示出了本發(fā)明的編碼器的實施例的示意性表示,
圖3示出了本發(fā)明的編碼器的實施例的示意性表示,
圖4示出了本發(fā)明的編碼器的實施例的示意性表示,
圖5示出了本發(fā)明的解碼器的實施例的示意性表示,
圖6示出了說明信道感知模式下部分冗余的概念的實施例的示意性表示,
圖7示出了說明信道感知模式下部分冗余的概念的實施例的示意性表示,
圖8示出了說明信道感知編碼器框架的實施例的示意性表示,
圖9示出了說明信道感知解碼器框架的實施例的示意性表示,
圖10示出了表示寬帶itu-tp.800acrmos測試結果的圖,以及
圖11示出了表示超寬帶itu-tp.800dcrmos測試結果的圖。
具體實施方式
圖1示出了本發(fā)明的編碼器1。編碼器1被配置為對音頻內(nèi)容2進行編碼。具體地,編碼器1被配置為對類似語音的內(nèi)容和/或一般音頻內(nèi)容進行編碼。相應的編碼音頻內(nèi)容3在至少幀4中嵌入到比特流5中。
編碼器1還被配置為至少在一些幀7中將參數(shù)6嵌入比特流5中。這些參數(shù)6用于在原始幀4丟失、損壞或延遲的情況下增強隱藏。
比特流5被發(fā)送到包括解碼器的接收器。
如圖2所示,編碼器1被配置為創(chuàng)建主幀4b和部分副本8b。然而,該部分副本8b不僅是主幀4b的低比特率版本。相反,該部分副本8b包含增強解碼器側的隱藏的參數(shù)6,但是另一方面,不包括用于重建有缺陷的音頻內(nèi)容(例如,丟失、損壞或延遲的主幀)的完整信息。換句話說,該部分副本包括一個或更多個參數(shù)來增強解碼器側的錯誤隱藏,但不包括錯誤隱藏所需的所有信息。
編碼器1被配置為將參數(shù)6延遲一段時間并且將參數(shù)6嵌入在分組9中,分組9在時間上比包括主幀4b的分組更晚被編碼和發(fā)送。
編碼器1可以創(chuàng)建一個或更多個主幀4b、4c以及一個或更多個部分副本8a、8b。例如,音頻內(nèi)容2的至少一部分被編碼并嵌入到主幀4b中。對于某些信號特性,由編碼器1分析音頻內(nèi)容2的相同部分。基于此,編碼器1確定對增強解碼器側的隱藏的一個或更多個參數(shù)6的選擇。這些參數(shù)6被嵌入在相應的“部分副本”8b中。
換句話說,主幀4b包含音頻內(nèi)容2的至少一部分的編碼表示。相應的部分副本8b包含一個或更多個參數(shù)6,這些參數(shù)6在解碼器側被錯誤隱藏使用,以在主幀4b丟失、損壞或延遲的情況下重建音頻內(nèi)容2的編碼表示。
主副本4b與部分副本8a一起被打包到傳送分組9中,其中部分副本8a是已經(jīng)被編碼在已在早些時候發(fā)送的主幀4a中的音頻內(nèi)容的部分副本。因此,編碼器1將參數(shù)6延遲一段時間。如圖2中可以進一步看到的,在部分副本8a之后的部分副本8b(屬于主幀4b)將與主幀4c一起打包在稍后的傳輸分組中。在主幀4c和4b之間還可以存在一個或更多個另外的主幀。
一個重要的特征是,這里描述的概念使用如下編碼/解碼方案:至少在一些幀8a、8b中,冗余編碼參數(shù)6被嵌入在比特流5中并被發(fā)送到解碼器側。冗余信息(參數(shù)6)被延遲一段時間并且被嵌入到分組9中,分組9在稍后的時間被編碼和發(fā)送,使得在解碼器已經(jīng)具有未來的幀4b、8a可用的情況下可以使用該信息,但是原始幀4a被丟失、損壞或延遲更多。
比特流5可以例如包括恒定的總比特率。編碼器1可以被配置為當與恒定的總比特率相比時減小主幀比特率,即,對主幀4b、4c進行編碼所需的比特率。主幀4b、4c的比特率降低和部分冗余幀編碼機制一起確定要被包括在比特流5的恒定的總比特率內(nèi)的主幀和冗余幀(部分副本)4b、4c、8a、8b之間的比特率分配。因此,編碼器1被配置為提供包含主幀4b和部分副本8a的分組9,其中分組9的大小,即比特率,處于或低于恒定的總比特率。
換句話說,主幀比特率降低和部分冗余幀編碼機制一起確定要被包括在恒定的總比特率內(nèi)主幀和冗余幀4b、4c、8a、8b之間的比特率分配。保持部分副本參數(shù)8a的幀4b(除了主幀之外)的總比特率不增加。
tcx編碼方案
根據(jù)實施例,編碼器1是使用tcx編碼方案的編解碼器的一部分。本發(fā)明的編碼器1優(yōu)選地使用tcx來編碼一般音頻內(nèi)容。在tcx的情況下,部分副本8a、8b用于通過發(fā)送一些輔助參數(shù)6來增強解碼器側的錯誤隱藏的幀丟失算法。
當使用變換域編解碼器時,可以選擇將冗余信息8a、8b嵌入到tcx幀4b、4c,如果:
幀包含非常嘈雜的音頻信號。這可以由低自動相關度量指示或由幀分類器輸出為無聲(unvoiced)或無聲過渡(unvoicedtransition)。無聲或無聲過渡分類指示低預測增益。
幀包含具有尖銳譜線的噪聲基底,所述尖銳譜線在較長時間段內(nèi)是平穩(wěn)的。這可以通過搜索tcx頻譜(功率譜或實頻譜)中的局部最大值并將結果與先前幀的峰值檢測結果進行比較的峰值檢測算法來檢測。在峰值沒有移動的情況下,可能存在靜止音調(diào),所述靜止音調(diào)可以在通過利用稱為音調(diào)隱藏的相位推斷器對頻譜進行后處理來隱藏噪聲頻譜之后被容易地隱藏。
在存在ltp信息并且滯后在實際和過去是穩(wěn)定的情況下,幀音調(diào)隱藏[6]應適用于解碼器。
冗余信息(參數(shù)6)可以是:
isf/lsf參數(shù):
1sf/lsf參數(shù)表示被用于lpc參數(shù)的量化和編碼。在tcx中,lpc用于表示掩蔽閾值。這是一個重要的參數(shù),并且在幀丟失的情況下,非常有助于在解碼器側正確使用。特別是如果isf/lsf被預測編碼,則隱藏質量將通過在隱藏期間使該信息可用而顯著改善,因為解碼器側的預測器狀態(tài)將保持正確(與編碼器同步),并且這將導致丟失后非??焖俚幕謴?。
信號分類:
信號分類用于表示內(nèi)容類型:無聲(unvoiced),無聲過渡(unvoicedtransition),有聲過渡(voicedtransition),有聲(voiced)和起始(onset)。通常,這種類型的分類用于語音編碼,并且指示音調(diào)分量/預測分量是否存在于信號中,或者音調(diào)分量/預測分量是否在改變。在隱藏期間使該信息在解碼器側可用有助于確定信號的可預測性,并且因此可以幫助調(diào)整lpc參數(shù)的幅度淡出速度、內(nèi)插速度。
tcx全局增益/等級:
可以發(fā)送全局增益以在其可用的情況下容易地將隱藏幀的能量設置為正確的(編碼器確定的)級別。
窗口信息,如重疊長度。
頻譜峰值位置,用于幫助音調(diào)隱藏
存在一種特殊情況:在用于頻域部分副本的編碼器1處,檢查信號2是否包含起始(onset)。如果實際幀4c的增益(可被量化)比先前幀4b的增益大特定(例如,1.6)倍,并且實際幀4c與先前幀4b之間的相關性低,則只有有限的(限幅)增益被傳輸。這避免了在隱藏情況下獲得預回波偽像。在起始情況下,先前幀4b與實際幀4c實際上不相關。因此,如果基于先前幀4b頻譜箱(spectralbin)進行隱藏,則不能依賴于在實際幀4c上計算的增益。
切換式編解碼方案(tcx-acelp)
在另一實施例中,編碼器1是切換式編解碼器的一部分,其中切換式編解碼器包括至少兩個核心編碼方案。第一核心編碼方案使用acelp,第二核心編碼方案使用tcx。參考圖3,編碼器1包括可在acelp和tcx核心編碼方案之間切換的核心編碼器10。
該編碼器還包括用于處理acelp編碼內(nèi)容13的acelp處理器11和用于處理tcx編碼內(nèi)容14的tcx處理器12。acelp處理器11是使用常規(guī)部分副本方法的公知處理器,其中主幀15被進行主編碼,冗余幀16被進行冗余編碼。冗余幀16是它們對應的主幀15的低比特率版本。
tcx處理器12處理根據(jù)本發(fā)明構思被編碼的幀。在第一分支17中,編碼內(nèi)容3以主幀4b、4c的形式來提供。在第二分支18中,增強隱藏的參數(shù)6以“部分副本”8a、8b的形式來提供,如圖2所示。如前所述,acelp內(nèi)容15、16和tcx內(nèi)容17、18都被打包到傳輸分組9的序列中,并且在比特流5中被發(fā)送到解碼器側。
仍然參考圖3,但是以不同的詞語來陳述,在切換式編碼系統(tǒng)中結合現(xiàn)有技術的基于部分冗余副本的方法來描述本發(fā)明構思的用法。這樣的系統(tǒng)包括兩個(或更多個)核心編碼方案,其中一個編碼方案使用acelp來編碼類語音內(nèi)容,第二個編碼方案使用tcx來編碼一般音頻內(nèi)容。
假設使用傳統(tǒng)的部分冗余副本編碼來處理acelp幀15、16,并且使用本發(fā)明的方法來處理tcx幀4b、4c、8a、8b,則將出現(xiàn)兩種主要情況,其中不需要特殊動作,并且?guī)?b、4c、8a、8b、15、16可以使用下面的核心編碼器10的部分副本方法被處理:
上方具有從未來acelp幀生成的部分副本16的acelp主幀15
上方具有從未來tcx幀4b生成的部分副本8b的tcx主幀4c
然而,在靠近核心編碼器切換的幀中,可能會出現(xiàn)兩種特殊情況,即
上方具有從未來tcx幀生成的部分副本8的acelp主幀15
上方具有從未來acelp幀生成的部分副本16的tcx主幀4
對于這些情況,兩個核心編碼器需要配置為創(chuàng)建主幀4、15以及另一編碼器類型的部分副本8、16,而不違反幀的所需總大小,以確保恒定的比特率。
因此,編碼器1被配置為創(chuàng)建具有類語音內(nèi)容類型(acelp)和一般音頻內(nèi)容類型(tcx)中之一的主幀4和15以及具有類語音內(nèi)容類型和一般音頻內(nèi)容類型中另一個的部分副本8、16。
然而,存在更具體的情況,其中對部分副本8、16的更復雜的選擇是適當?shù)?,例如?/p>
acelp幀15之后的第一tcx幀4:
如果該幀4丟失并且因此對解碼器不可用,則本發(fā)明的技術將使用已在另一(希望未丟失的)幀之上傳輸?shù)牟糠指北拘畔?參數(shù)6)來對幀4進行tcx隱藏。但是,由于隱藏需要用于推斷信號內(nèi)容的前一幀,所以在這種情況下優(yōu)選地使用acelp隱藏(如前一幀是acelp),這將使得不需要tcx部分副本。因此,在編碼器1中已經(jīng)確定在切換之后不將部分副本8放置在tcx幀4之上。
因此,當在acelp幀15之后存在第一tcx幀4時,編碼器1被配置為在切換之后不將部分副本8放置在tcx幀4之上。
信號自適應部分副本選擇:
可以在編碼之前分析信號(音頻內(nèi)容)2,以確定本發(fā)明的部分副本(使用參數(shù)6)的使用是否是有利的。例如,如果在沒有解碼器內(nèi)的附加部分副本信息(即,參數(shù)6)的幫助下信號2可以被令人滿意地隱藏,但干凈信道性能由于主幀4的減小而受到影響,則可以禁止本發(fā)明的部分副本使用(即,將參數(shù)6嵌入比特流5中)或者可以在編碼器1內(nèi)使用特定減小的部分副本8。
因此,編碼器1被配置為在編碼之前分析信號2,并且基于分析的信號2禁用部分副本或者提供減小的部分副本。
通常,編碼器1被配置為提供以部分副本模式構造的部分冗余副本8。在實施例中,編碼器1被配置為在使用不同量的信息和/或不同參數(shù)集的多個部分副本模式之間進行選擇,其中部分副本模式的選擇基于各種參數(shù)。
針對tcx幀的部分冗余幀的構建
在tcx部分冗余幀類型的情況下,使用由一些輔助參數(shù)6組成的部分副本8來增強幀丟失隱藏算法。在實施例中,存在可用的三種不同的部分副本模式,其為rf_tcxfd、rf_tcxtd1和rf_tcx_td2。類似于解碼器側的plc模式?jīng)Q定,針對tcx的部分副本模式的選擇基于諸如最后兩幀的模式、幀類、ltp音調(diào)和增益之類的各種參數(shù)。用于選擇模式的參數(shù)可以等于或不同于包含在“部分副本”中的用于增強隱藏的參數(shù)。
a)頻域隱藏(rftcxfd)部分冗余幀類型
根據(jù)實施例,多個部分副本模式中的至少一個是頻域(“fd”)隱藏模式,其示例在下面進行描述。
針對rf_tcxfd部分副本模式使用29位。
·13位用于lsf量化器(例如,用于對lpc參數(shù)進行編碼),lsf量化器與用于常規(guī)低速率tcx編碼的相同。
·全局tcx增益使用7位來量化。
·分類器信息(例如,有聲、無聲等)以2位來編碼。
b)時域隱藏(rf_tcxtd1和rf_tcxtd2)部分冗余幀類型
根據(jù)實施例,多個部分副本模式中的至少兩個是不同的時域(“td”)隱藏模式,其示例在下面進行描述。如果幀4c包含瞬態(tài)或者如果幀4c的全局增益比先前幀4b的全局增益低(很多),則選擇第一時域隱藏模式,即,部分副本模式rf_tcxtd1。否則,選擇第二時域隱藏模式,即,rf_tcxtd2。
對于這兩種模式使用總共18位的輔助數(shù)據(jù)(sidedata)。
·9位用于表示tcxltp(長期預測)滯后
·2位用于表示分類器信息(例如,有聲、無聲等)
時域隱藏
根據(jù)實現(xiàn)情況,編解碼器可以僅是變換域編解碼器或者是使用[4]或[5]中描述的時域隱藏的切換式編解碼器(變換域/時域)。類似于所描述的在解碼器側的分組丟失隱藏模式?jīng)Q定,根據(jù)本發(fā)明的部分副本模式的選擇基于如上所述的各種參數(shù),例如,最后兩幀的模式、幀類、ltp音調(diào)和增益。
在選擇了時域模式的情況下,可以發(fā)送以下參數(shù)6:
在存在ltp數(shù)據(jù)的情況下,發(fā)送ltp滯后,
用信號發(fā)送分類器信息(無聲、無聲過渡、有聲、有聲過渡、起始…):信號分類用于表示內(nèi)容類型:無聲,無聲過渡,有聲過渡,有聲和起始。通常,這種類型的分類用于語音編碼,并且指示音調(diào)分量/預測分量是否存在于信號中,或者音調(diào)分量/預測分量是否正在改變。在隱藏期間使該信息在解碼器側可用有助于確定信號的可預測性,并且因此可以幫助調(diào)整lpc參數(shù)的幅度淡出速度、內(nèi)插速度,并且可以控制有聲或無聲激勵信號的高通濾波或低通濾波的可能使用(例如,用于去噪)。
可選地,還可以發(fā)送以下參數(shù)6中的至少一個:
在帶寬擴展用于常規(guī)編碼的情況下,描述全頻譜范圍的lpc參數(shù),
ltp增益,
噪音等級,和
脈沖位置
大多數(shù)發(fā)送的參數(shù)6是直接從在變換域中編碼的實際幀4得出的,所以沒有引起額外的復雜性。但是,如果復雜性不是問題,則可以添加編碼器1處的隱蔽仿真以精化可以發(fā)送的變量6。
如上所述,也可以使用用于提供部分副本8的多種模式。這允許發(fā)送不同量的信息或不同的參數(shù)集。例如,對于時域(td)有兩種模式。如果幀4c包含瞬態(tài)或者如果幀4c的全局增益遠低于先前幀4b的全局增益,則可以選擇部分副本模式td1。否則選擇td2。然后在解碼器處,音調(diào)增益和代碼增益將隨兩個不同的因子(相應地為0.4和0.7)而減小,以避免在原始信號2更短暫的情況下具有較長的平穩(wěn)信號。
多幀丟失
還存在另外的特殊情況,即,多幀丟失的情況。如果先前幀4a丟失,則將不考慮從部分副本8b解碼的音調(diào),因為在比特流5中發(fā)送的音調(diào)是基于地面實況在編碼器側計算的,但是如果先前幀4a丟失,則先前丟失和隱藏合成的合成可能確實不同于編碼器地面實況。因此,一般來說更好的是,在多幀丟失的情況下,不冒險依賴于編碼器/解碼器的同步性,并且將音調(diào)固定為預測音調(diào)以用于后續(xù)丟失的幀,而不是使用所發(fā)送的音調(diào)。
下面將參考圖4所示的實施例概述編碼器1的發(fā)明構思。
編碼器1接收包含音頻內(nèi)容2的輸入信號。音頻內(nèi)容2可以是類語音內(nèi)容和/或一般音頻內(nèi)容,諸如音樂、背景噪聲等。
編碼器1包括核心編碼器10。核心編碼器10可以使用用于對類語音內(nèi)容進行編碼的核心編碼方案(諸如acelp)或者用于對一般音頻內(nèi)容進行編碼的核心編碼方案(諸如tcx)。核心編碼器10還可以形成切換式編解碼器的一部分,即,核心編碼器10可以在類語音內(nèi)容核心編碼方案和一般音頻內(nèi)容核心編碼方案之間進行切換。具體地,核心編碼器10可以在acelp和tcx之間進行切換。
如分支20所示,核心編碼器10創(chuàng)建包括音頻內(nèi)容2的編碼表示在內(nèi)的主幀4。
編碼器1還可以包括部分冗余幀提供器21。如分支30所示,核心編碼器10可以向部分冗余幀提供器21提供一個或更多個參數(shù)6。這些參數(shù)6是增強解碼器側的隱藏的參數(shù)。
附加地或替代地,編碼器1可以包括隱藏參數(shù)提取單元22。隱藏參數(shù)提取單元22直接從音頻信號,即從內(nèi)容2,提取隱藏參數(shù)6,如分支40所示。隱藏參數(shù)提取單元22將所提取的參數(shù)6提供給部分冗余幀提供器21。
編碼器1還包括模式選擇器23。模式選擇器23選擇性地選擇隱藏模式,也稱為部分冗余副本模式。根據(jù)部分冗余副本模式,模式選擇器23確定哪些參數(shù)6適合于解碼器側的錯誤隱藏。
因此,核心編碼器10分析信號,即音頻內(nèi)容2,并且基于分析的信號特性確定提供給模式選擇器23的某些參數(shù)24。這些參數(shù)24還被稱為模式選擇參數(shù)24。例如,模式選擇參數(shù)可以是幀類、最后兩幀的模式、ltp音調(diào)和ltp增益中的至少一個。核心編碼器10將這些模式選擇參數(shù)24提供給模式選擇器23。
基于模式選擇參數(shù)24,模式選擇器23選擇部分冗余副本模式。模式選擇器23可以選擇性地在三種不同的部分冗余副本模式之間進行選擇。具體地,模式選擇器23可以選擇性地在頻域部分冗余副本模式和兩個不同的時域部分冗余副本模式(例如,td1和td2)之間進行選擇,例如如上所述。
如分支50所示,模式選擇信息25,即,關于所選擇的部分冗余副本模式的信息,被提供給部分冗余幀提供器21?;谀J竭x擇信息25,部分冗余幀提供器21選擇性地選擇將在解碼器側使用的用于錯誤隱藏的參數(shù)6。因此,部分冗余幀提供器21創(chuàng)建并提供包含所述錯誤隱藏參數(shù)6的編碼表示在內(nèi)的部分冗余幀8。
換句話說,部分冗余幀提供器21提供特定于信號的部分冗余副本。這些部分冗余副本在部分冗余幀8中提供,其中每個部分冗余幀8包含至少一個錯誤隱藏參數(shù)6。
如分支20和60所示,編碼器1將主幀4和部分冗余幀8組合為輸出比特流5。在基于分組的網(wǎng)絡的情況下,主幀4和部分冗余幀8一起被打包到傳輸分組中,傳輸分組在比特流中被發(fā)送到解碼器側。然而,應當注意,當前音頻幀的主幀4c與先前幀(即,在早些時候已經(jīng)發(fā)送的幀)的部分冗余幀8b(僅包含用于增強隱藏的參數(shù)6)一起被打包到分組9中。
比特流5包括恒定的總比特率。為了確保比特流5處于或低于恒定的總比特率,編碼器1控制包含主幀和部分冗余幀8的組合在內(nèi)的傳輸分組的比特率。附加地或替代地,編碼器1可以包括接管該功能的比特率控制器26。
換句話說,編碼器1被配置為將當前幀的至少一個隱藏參數(shù)6的編碼表示8與未來幀(即,將在時間上比當前幀稍后發(fā)送的幀)的主編碼表示4進行組合。因此,當前幀的至少一個錯誤隱藏參數(shù)6的編碼表示8以相對于該當前幀的主編碼表示4的時間延遲被發(fā)送。
換句話說,并且仍然參考圖4,在第一步驟中,內(nèi)容2a被編碼并且被提供為主幀4a。其對應的一個或更多個錯誤隱藏參數(shù)6a被選擇并被提供為部分冗余幀8a。然后,在第二步驟中,后續(xù)內(nèi)容2b被編碼并被提供為(后續(xù))主幀4b,且其一個或更多個錯誤隱藏參數(shù)6b被選擇并被提供為(后續(xù))部分冗余幀8b。現(xiàn)在,編碼器1將(當前內(nèi)容的)部分冗余幀8a與(后續(xù)內(nèi)容的)主幀4b組合為公共傳輸分組9b。因此,如果包含主幀4a的前一分組9a丟失、損壞或延遲,則在上述后續(xù)傳輸分組9b(包含部分冗余幀8a和主幀4b)內(nèi)在時間上稍后發(fā)送的其部分冗余幀8a可以在解碼器側用于隱藏在(有缺陷的)主幀4a中的編碼表示中原始包含的音頻內(nèi)容。
關于解碼器的描述
根據(jù)實施例,本發(fā)明使用分組交換或基于分組的網(wǎng)絡。在這種情況下,如圖5所示,在傳輸分組9a、9b中發(fā)送幀。傳輸分組9a包含主幀4b和部分副本8a。傳輸分組9b包含主幀4c和部分副本8b。
換句話說,部分副本8a是當前幀的至少一個錯誤隱藏參數(shù)6的編碼表示。已經(jīng)由編碼器1選擇性地選擇了至少一個錯誤隱藏參數(shù)6,如先前參考圖1至圖4所述。至少一個錯誤隱藏參數(shù)6增強在解碼器31處的隱藏,如將在下面更詳細描述的。
在解碼器31處,可能分別存在關于發(fā)送幀4、8或傳輸分組9a、9b的兩種不同情況。
對主編碼表示的標準解碼
在由分支70指示的第一種情況下,以正確的順序,即,以與在編碼器側發(fā)送的順序相同的順序,接收所發(fā)送的傳輸分組9a、9b。
解碼器31包括用于對包含在幀中的所發(fā)送的編碼音頻內(nèi)容2進行解碼的解碼單元34。具體地,解碼單元34被配置為對某些幀的所發(fā)送的主編碼表示4b、4c進行解碼。根據(jù)相應幀的編碼方案,解碼器31可以使用相同的解碼方案,即,用于一般音頻內(nèi)容的tcx解碼方案或用于類語音內(nèi)容的acelp解碼方案。因此,解碼器31輸出分別解碼的音頻內(nèi)容35。
使用至少一個錯誤隱藏參數(shù)的編碼表示的增強錯誤隱藏
如果幀的主編碼表示4是有缺陷的,即,如果主編碼表示4丟失、損壞或延遲(例如,因為傳輸分組9a丟失、損壞或延遲得長于解碼器的緩沖器長度),則可能發(fā)生第二種情況,諸如分支80所示。然后,音頻內(nèi)容將必須通過錯誤隱藏被至少部分地重建。
因此,解碼器31包括隱藏單元36。隱藏單元36可以使用基于常規(guī)隱藏機制的隱藏機制,然而,其中由從編碼器1接收的一個或更多個錯誤隱藏參數(shù)6來增強(或支持)隱藏。根據(jù)本發(fā)明的實施例,隱藏單元36使用諸如在專利申請[4]和[5]中所描述的基于外插的隱藏機制,它們通過引用并入本文。
使用所述基于外插的錯誤隱藏機制,以在該主編碼表示4有缺陷(即,丟失、損壞或延遲)的情況下,重建在幀的主編碼表示4中可用的音頻內(nèi)容。本發(fā)明構思使用至少一個錯誤隱藏參數(shù)6來增強這些常規(guī)的錯誤隱藏機制。
將參考圖5中所示的實施例更詳細地對此進行解釋。解碼器31通常接收傳輸分組9a和傳輸分組9b。傳輸分組9a包含當前幀的主編碼表示4b和前一幀(未示出)的至少一個錯誤隱藏參數(shù)6的編碼表示8a。傳輸分組9b包含當前幀的至少一個錯誤隱藏參數(shù)6的編碼表示8b,以用于增強當前幀的解碼器側的基于外插的錯誤隱藏。傳輸分組9b還包含后續(xù)幀的主編碼表示4c,即在當前幀之后的幀(直接或間隔一個或更多個幀)。
換句話說,用于重建當前幀的有缺陷音頻內(nèi)容的至少一個錯誤隱藏參數(shù)6的編碼表示8b包含在傳輸分組9b中,而該當前幀的主編碼表示4b包含在傳輸分組9a中。
如果由解碼器31檢測到例如當前幀的主編碼表示4b有缺陷,即丟失、損壞或延遲,則通過使用上述可用的錯誤隱藏機制來重建有缺陷的音頻內(nèi)容。根據(jù)本發(fā)明,通過在錯誤隱藏期間使用至少一個錯誤隱藏參數(shù)6來增強可用的錯誤隱藏機制。
為此,解碼器31從包含在傳輸分組9b中的編碼表示8b提取至少一個錯誤隱藏參數(shù)6?;谝呀?jīng)提取的至少一個參數(shù)6,解碼器31選擇性地在至少兩個隱藏模式之間進行選擇,以用于至少部分地重建有缺陷的音頻內(nèi)容(在所隱藏的音頻內(nèi)容被提供的意義上,預期其在某種程度上類似于丟失的主編碼表示的音頻內(nèi)容)。特別地,解碼器31可以在頻域隱藏模式和至少一個時域隱藏模式之間進行選擇。
頻域隱藏(rf_tcxfd)部分冗余幀類型
在頻域隱藏模式的情況下,至少一個錯誤隱藏參數(shù)6的編碼表示8b包括isf/lsf參數(shù)、tcx全局增益、tcx全局級別、信號分類器信息、如重疊長度和頻譜峰值位置的窗口信息中的一個或更多個,以幫助音調(diào)隱藏。
相應的所提取的一個或更多個參數(shù)6被饋送到錯誤隱藏單元36,錯誤隱藏單元36使用至少一個參數(shù)6來增強基于外插的錯誤隱藏,以至少部分地重建有缺陷的音頻內(nèi)容。結果,解碼器31輸出隱藏的音頻內(nèi)容35。
下面描述使用頻域隱藏的示例的本發(fā)明的實施例,其中:
29位用于rf_tcxfd部分副本模式(即,29位包括在錯誤隱藏參數(shù)6的編碼表示中并被隱藏單元36使用)。
·13位用于lsf量化器,其與用于常規(guī)低速率tcx編碼的相同。
·全局tcx增益使用7位被量化。
·分類器信息以2位被編碼。
時域隱藏(rf_tcxtd1和rf_tcxtd2)部分冗余幀類型
在時域隱藏模式的情況下,解碼器31可以選擇性地在至少兩種不同的時域隱藏模式之間進行選擇,以至少部分地重建有缺陷的音頻內(nèi)容。
例如,如果幀包含瞬態(tài)或者如果幀的全局增益遠低于先前幀的全局增益,則選擇第一模式rf_tcxtd1。否則,選擇第二模式rf_tcxtd2。
在時域隱藏模式的情況下,至少一個錯誤隱藏參數(shù)6的編碼表示8b包括lsf參數(shù)、tcxltp滯后、分類器信息、lpc參數(shù)、ltp增益、噪聲等級和脈沖位置中的一個或更多個。相應的所提取的一個或更多個參數(shù)6被饋送到錯誤隱藏單元36,錯誤隱藏單元36使用至少一個參數(shù)6來增強基于外插的錯誤隱藏,以至少部分地重建(或近似)有缺陷的音頻內(nèi)容。結果,解碼器31輸出隱藏的音頻內(nèi)容35。
下面描述使用時域隱藏的示例的本發(fā)明的實施例,其中:
針對這兩種模式使用總共18位的輔助數(shù)據(jù)(即,參數(shù)6)。
·9位用于表示tcxltp滯后
·2位用于表示分類器信息
如上所述,解碼器31可以是使用tcx解碼方案來解碼和/或隱藏tcx幀的編解碼器的一部分。解碼器31還可以是使用acelp編碼方案來解碼和/或隱藏acelp幀的編解碼器的一部分。在acelp編碼方案的情況下,至少一個錯誤隱藏參數(shù)6的編碼表示8b可以包括自適應碼本參數(shù)和固定碼本參數(shù)中的一個或更多個。
根據(jù)本發(fā)明,在解碼器31中,識別當前幀4b的至少一個錯誤隱藏參數(shù)6的編碼表示的類型,并且基于是否對僅僅一個或更多個自適應碼本參數(shù)(例如,acelp)、僅僅一個或更多個固定碼本參數(shù)(例如,acelp)或者一個或更多個自適應碼本參數(shù)和一個或更多個固定碼本參數(shù)、tcx錯誤隱藏參數(shù)6或噪聲激勵線性預測參數(shù)進行編碼,來執(zhí)行解碼和錯誤隱藏。如果通過使用相應幀的至少一個錯誤隱藏參數(shù)6的編碼表示來隱藏當前幀4b或先前幀4a,則首先獲得當前幀4b的至少一個錯誤隱藏參數(shù)6(諸如lsp參數(shù)、自適應碼本的增益、固定碼本或bwe增益),然后結合當前幀4b的先前幀或當前幀4b的未來幀的解碼參數(shù)、分類信息或頻譜傾斜對所述至少一個錯誤隱藏參數(shù)6進行處理,以重建輸出信號35,如上所述。最后,基于隱藏方案(例如,時域隱藏或頻域隱藏)來重建幀。對tcx部分信息進行解碼,但是與acelp部分副本模式相反,解碼器31以隱藏模式運行。與上述常規(guī)基于外插的隱藏的不同之處在于,從比特流5可獲得的至少一個錯誤隱藏參數(shù)6被直接使用,而不是由所述常規(guī)隱藏導出。
第一evs實施例
下面的描述段落提供了關于使用所謂的evs(增強語音服務)編解碼器的編碼器1和解碼器31之間的協(xié)同交互的本發(fā)明構思的概述。
對evs實施例的介紹
evs(增強語音服務)為寬帶和超寬帶二者的音頻帶寬提供13.2kbps的基于部分冗余的錯誤魯棒信道感知模式。根據(jù)幀的關鍵性,對于特定幀,部分冗余被動態(tài)地啟用或禁用,同時保持13.2kbps的固定比特預算。
信道感知編碼的原理
在voip系統(tǒng)中,分組在到達時間內(nèi)隨機抖動地到達解碼器。分組還可以在解碼器處亂序到達。由于解碼器期望每20毫秒饋送語音分組,以在周期性塊中輸出語音樣本,所以需要去抖動緩沖器[6]來吸收分組到達時間中的抖動。去抖動緩沖器的大小越大,其在到達時間內(nèi)吸收抖動的能力越好,因此丟棄較晚到達的分組。語音通信也是延遲關鍵系統(tǒng),因此必須使端到端延遲盡可能的低,從而可以維持雙向對話。
自適應去抖動緩沖器的設計反映了上述權衡。在嘗試最小化分組丟失的同時,解碼器中的抖動緩沖器管理算法還保持跟蹤由于緩沖而導致的分組傳遞中的延遲。抖動緩沖器管理算法適當?shù)卣{(diào)整去抖動緩沖器的深度,以實現(xiàn)延遲和延遲損耗之間的權衡。
參考圖6,evs信道感知模式使用當前幀4a的部分冗余副本8a以及未來幀4b來進行錯誤隱藏。部分冗余技術將當前幀4a的部分副本8a連同未來幀4b一起發(fā)送,希望在當前幀4a丟失(由于網(wǎng)絡丟失或遲到)的情況下,來自未來幀4b的部分副本8a可以從抖動緩沖器取回,以改善從損失中的恢復。
幀的主副本4a的發(fā)送時間與幀的冗余副本8a的發(fā)送時間(背負在未來幀4b上)之間的時間單位差異被稱為fec偏移。如果在任何給定時間的抖動緩沖區(qū)的深度至少等于fec偏移,則很可能未來幀在當前時間實例處可用于去抖動緩沖器中。fec偏移是編碼器處的可配置參數(shù),其可以根據(jù)網(wǎng)絡條件動態(tài)地調(diào)整。
與[7]等同的具有fec偏移的evs中部分冗余的概念如圖6所示。
冗余副本8a僅是僅包括對于解碼或阻止錯誤傳播最關鍵的參數(shù)子集的部分副本。
evs信道感知模式傳輸作為編解碼器有效載荷的一部分的帶內(nèi)冗余,而不是在傳輸層發(fā)送冗余(例如,通過在單個rtp有效載荷中包括多個分組)。包括帶內(nèi)冗余允許傳輸冗余以進行信道控制(例如,以防止網(wǎng)絡擁塞)或源控制。在后一種情況下,編碼器可以使用輸入源信號的屬性來確定哪些幀對于解碼器處的高質量重建而言是最關鍵的,并且僅選擇性地發(fā)送那些幀的冗余。帶內(nèi)冗余的另一個優(yōu)點是,可以使用源控制來確定哪些輸入幀可以以降低的幀速率被最佳地編碼,以適應冗余的附加而不改變總分組大小。以這種方式,信道感知模式包括恒定比特率信道(13.2kbps)中的冗余。
對于主幀和部分冗余幀編碼的比特率分配
主幀比特率降低
使用主幀的可壓縮性的度量來確定哪些幀可以以降低的幀速率被最佳地編碼。對于tcx幀,將9.6kpbs設置應用于wb以及swb。對于acelp,以下適用。首先檢查來自信號分類算法的編碼模式?jīng)Q定。分類為無聲編碼(uc)或有聲編碼(vc)的語音幀適用于壓縮。對于通用編碼(gc)模式,使用幀內(nèi)相鄰子幀之間的相關(在音調(diào)滯后處)來確定可壓縮性。在信道感知模式下高頻帶信號(即,swb中的6.4到14.4khz以及wb中的6.4到8khz)的主幀編碼使用時域帶寬擴展(tbe)。對于swbtbe,在信道感知模式中,使用非信道感知模式框架的縮小版本來獲得用于主幀的比特的減少。在信道感知模式中使用8位矢量量化來執(zhí)行l(wèi)sf量化,而在非信道感知模式中使用基于21位標量量化的方法。信道感知模式中的swbtbe主幀增益參數(shù)在13.2kbps處被編碼為與非信道感知模式相似,即增益參數(shù)為8位。信道感知模式中的wbtbe使用與非信道感知模式的9.6kbpswbtbe中使用的類似的編碼,即lsf為2位,增益參數(shù)為4位。
部分冗余幀編碼
部分冗余幀的大小是可變的,并且取決于輸入信號的特性。關鍵性度量也是重要的指標。當幀的丟失將對接收器處的語音質量產(chǎn)生重大影響時,該幀被認為是保護的關鍵。關鍵性還取決于先前幀是否丟失。例如,如果先前幀也丟失,則幀可以從非關鍵變?yōu)殛P鍵。使用諸如編碼器類型分類信息、子幀音調(diào)滯后、因子m等的從主副本編碼計算的參數(shù)來測量幀的關鍵性。用于確定特定幀是否是關鍵的閾值是編碼器處的可配置參數(shù),其可以根據(jù)網(wǎng)絡條件被動態(tài)地調(diào)整。例如,在高fer條件下,可能需要調(diào)整閾值以將更多的幀分類為關鍵的。高頻帶信號的部分幀編碼依賴于增益參數(shù)的粗略編碼以及來自主幀的lsf參數(shù)的內(nèi)插/外插。在第(n-fec偏移)幀的主幀編碼期間估計的tbe增益參數(shù)在第n幀期間作為部分副本信息被重新發(fā)送。根據(jù)部分幀編碼模式,即通用(generic)或有聲(voiced)或(無聲unvoiced),增益幀的重新發(fā)送使用不同的量化分辨率和增益平滑。
以下部分描述不同的部分冗余幀類型及其組成。
構建用于通用編碼模式和有聲編碼模式的部分冗余幀
在幀的冗余版本的編碼中,基于自適應碼本能量和固定碼本能量來確定因子m。
在該等式中,e(acb)表示自適應碼本能量,e(fcb)表示固定碼本能量。m的低值指示當前幀中的大部分信息由固定碼本貢獻承載。在這種情況下,僅使用一個或更多個固定碼本參數(shù)(fcb脈沖和增益)來構造部分冗余副本(rf_nopred)。m的高值指示當前幀中的大部分信息由自適應碼本貢獻承載。在這種情況下,僅使用一個或更多個自適應碼本參數(shù)(音調(diào)滯后和增益)來構造部分冗余副本(rf_allpred)。如果m取中值,則選擇混合編碼模式,其中一個或更多個自適應碼本參數(shù)和一個或更多個固定碼本參數(shù)被編碼(rf_genpred)。在通用編碼模式和有聲編碼模式下,tbe增益幀值通常較低,并且表現(xiàn)出較小的差異。因此,使用具有增益平滑的粗略tbe增益幀量化。
構建用于無聲編碼模式的部分冗余幀
低比特率噪聲激勵線性預測編碼方案用于構建無聲幀類型(rf_nelp)的部分冗余副本。在無聲編碼模式下,tbe增益幀具有更寬的動態(tài)范圍。為了保持該動態(tài)范圍,在無聲編碼模式中的tbe增益幀量化使用與主幀中使用的量化范圍相似的量化范圍。
構建針對tcx幀的部分冗余幀
在tcx部分冗余幀類型的情況下,使用由一些輔助參數(shù)組成的部分副本來增強幀丟失隱藏算法。存在可用的三種不同的部分副本模式,分別是rf_tcxfd、rf_tcxtd1和rf_tcx_td2。類似于解碼器側的plc模式?jīng)Q定,針對tcx的部分副本模式的選擇基于諸如最后兩幀的模式、幀類、ltp音調(diào)和增益之類的各種參數(shù)。
頻域隱藏(rftcxfd)部分冗余幀類型
針對rf_tcxfd部分副本模式使用29位。
·13位用于lsf量化器,其與用于常規(guī)低速率tcx編碼的相同。
·使用7位來量化全局tcx增益。
·分類器信息以2位被編碼。
時域隱藏(rf_tcxtd1和rf_tcxtd2)部分冗余幀類型
如果幀包含瞬態(tài)或如果幀的全局增益遠低于先前幀的全局增益,則選擇部分副本模式rf_tcxtd1。否則選擇rf_tcxtd2。
對于這兩種模式使用總共18位的輔助數(shù)據(jù)(sidedata)。
·9位用于表示tcxltp滯后
·2位用于表示分類器信息
rf_no_data部分冗余幀類型
這用于表示不發(fā)送部分冗余副本的配置,并將所有比特用于主幀編碼。
主幀比特率降低和部分冗余幀編碼機制一起確定要包括在13.2kbps有效載荷內(nèi)的主幀和冗余幀之間的比特率分配。
解碼
在接收器處,去抖動緩沖器提供當前丟失幀的部分冗余副本,如果它在任何未來幀中可用。如果存在,則使用部分冗余信息來合成丟失的幀。在解碼中,識別部分冗余幀類型,并且基于僅僅一個或更多個自適應碼本參數(shù)、僅僅一個或更多個固定碼本參數(shù)或者一個或更多個自適應碼本參數(shù)和一個或更多個固定碼本參數(shù)、tcx幀丟失隱藏輔助參數(shù)或噪聲激勵線性預測參數(shù)是否被編碼,來執(zhí)行解碼。如果當前幀或先前幀是部分冗余幀,則首先獲得當前幀的解碼參數(shù),諸如lsp參數(shù)、自適應碼本的增益、固定碼本或bwe增益,然后根據(jù)當前幀的先前幀或當前幀的未來幀的解碼參數(shù)、分類信息或頻譜傾斜對所獲得的解碼參數(shù)進行后處理。后處理參數(shù)用于重建輸出信號。最后,基于編碼方案重建幀。對tcx部分信息進行解碼,但與acelp部分副本模式相反,解碼器以隱藏模式運行。與常規(guī)隱藏的區(qū)別僅在于,從比特流可用的參數(shù)被直接使用,而不是通過隱藏來獲得。
信道感知模式編碼器可配置參數(shù)
信道感知模式編碼器可以使用以下可配置參數(shù)來調(diào)整其操作以跟蹤在接收器處看到的信道特性。這些參數(shù)可以在接收器處計算,并通過接收器觸發(fā)的反饋機制傳送到編碼器。
最佳部分冗余偏移(o):幀(n)的主副本的發(fā)送時間與背負在未來幀(n+x)上的該幀的冗余副本的發(fā)送時間之間的時間單位差異被稱為fec偏移x。最佳fec偏移是當在接收器處存在幀丟失時使部分冗余副本的可用性的概率最大化的值。
幀擦除率指示符(p)具有以下值:用于fer速率的lo(低)<5%或者用于fer的hi(高)>5%。該參數(shù)控制用于確定特定幀是否是關鍵的閾值。這種關鍵性閾值的調(diào)整用于控制部分副本傳輸?shù)念l率。與lo設置相比,hi設置調(diào)整關鍵性閾值以將更多的幀分類為對發(fā)送關鍵的。
注意,這些編碼器可配置參數(shù)是可選的,默認設置為p=hi和o=3。
第二evs實施例
下面的描述段落描述了在分組交換網(wǎng)絡中使用的本發(fā)明構思的示例性實施例,例如,ip語音(voip)、lte語音(volte)或wifi語音(vowifi)。
描述了新標準化的3gppevs語音編解碼器的高錯誤彈性模式。與amr-wb編解碼器和其他對話編解碼器相比,evs信道感知模式在通過分組交換網(wǎng)絡(諸如ip語音(voip)和lte語音(volte))的語音通信中提供了顯著提高的錯誤恢復力。使用帶內(nèi)前向糾錯的形式來實現(xiàn)錯誤恢復力。源控編碼技術用于識別用于比特率降低的候選語音幀,留下用于發(fā)送先前幀的部分副本的備用比特,使得維持恒定的比特率。如果原始主幀由于遲到而丟失或被丟棄,則使用自包含的部分副本來提高錯誤魯棒性。提供了itu-tp.800平均意見得分(mos)測試的主觀評估結果,顯示出在信道損傷下的質量改善以及干凈信道性能的可忽略的影響。
介紹
在分組交換網(wǎng)絡中,分組可能經(jīng)受不同的調(diào)度和路由條件,這導致時變的端到端延遲。延遲抖動對于通常期望以固定時間間隔接收分組的大多數(shù)常規(guī)語音解碼器和語音后處理算法是不適用的。因此,通常在接收終端中使用去抖動緩沖器(也稱為抖動緩沖器管理(jbm)[8]、[13]),以消除抖動并以正確的順序將分組傳送到解碼器。
去抖動緩沖器越長,其去除抖動的能力越好,并且可以容忍抖動的可能性越大,而不會由于遲到(或緩沖器下溢)而丟棄分組。然而,端到端延遲是對話語音網(wǎng)絡中呼叫質量的關鍵決定因素,并且jbm吸收抖動而不增加過多緩沖延遲的能力是重要的要求。因此,在接收器處jbm延遲與抖動引起的分組丟失之間存在權衡。jbm設計已經(jīng)發(fā)展到提供更高水平的性能,同時保持最小的平均延遲[8]。除了延遲抖動之外,分組交換網(wǎng)絡的另一個主要特征是存在多個連續(xù)分組丟失(錯誤突發(fā)),這比電路交換網(wǎng)絡更常見。這種突發(fā)可能是由于在不同網(wǎng)絡層處的分組捆綁、調(diào)度器行為、差的射頻覆蓋或者甚至緩慢適應的jbm引起的。然而,可以利用去抖動緩沖器(voip的重要組件)來改善下溢預防和更復雜的分組丟失隱藏[8]。一種這樣的技術是通過當在接收器處丟失原始信息時冗余地發(fā)送編碼信息以供使用來使用前向糾錯。
evs編解碼器中的信道感知模式
evs信道感知模式引入了一種用于在恒定比特率流中發(fā)送作為編解碼器有效載荷的一部分的帶內(nèi)冗余的新技術,并被實現(xiàn)用于13.2kbps下的寬帶(wb)和超寬帶(swb)。這種技術與先前的編解碼器相反,先前的編解碼器通常通過定義在傳輸層傳輸冗余的機制來將冗余作為事后項加以添加。例如,amr-wbrtp有效載荷格式允許捆綁多個語音幀以將冗余包括在單個rtp有效載荷中[9]。替代地,可以在稍后的時間簡單地重新發(fā)送包含單個語音幀的rtp分組。
圖7描繪了evs信道感知模式中部分冗余的概念。構思是與第(n+k)幀的主編碼4b一起編碼和發(fā)送與第n幀相關聯(lián)的部分冗余副本8a。確定主幀4和部分幀8之間的間隔的偏移參數(shù)k也與部分副本8一起發(fā)送。在分組交換網(wǎng)絡中,如果第n幀4a分組丟失,則去抖動緩沖器71被檢查未來分組的可用性。如果可用,則使用所發(fā)送的偏移參數(shù)來識別用于部分副本提取和丟失幀合成的適當?shù)奈磥矸纸M。使用3的偏移作為示例來示出圖7中的過程。偏移參數(shù)可以是固定值,或者可以基于網(wǎng)絡條件在編碼器處進行配置。在evs信道感知模式中包括帶內(nèi)冗余,允許將冗余的發(fā)送為信道控制的(例如,防止網(wǎng)絡擁塞)或源控制的。在后一種情況下,編碼器可以使用輸入源信號的屬性來確定對于高質量重建最關鍵的幀,并且僅選擇性地發(fā)送那些幀的冗余。此外,編碼器還可以識別可以以降低的比特率被最佳編碼的幀,以適應冗余的附加,同時將比特流保持在恒定的13.2kbps速率。這些新技術在降低的信道條件下顯著提高了性能,同時保持了干凈的信道質量。
信道感知編碼
圖8示出了信道感知編碼器1的高級描述。以16khz(wb)或32khz(swb)采樣的輸入音頻2被分割為20毫秒的幀。使用“預處理”級81將輸入幀重新采樣到12.8khz,并執(zhí)行諸如語音活動檢測(vad)和信號分類的步驟[16]?;谔囟ǚ治鰠?shù)(例如,歸一化相關、vad、幀類型和音調(diào)滯后),“冗余幀(rf)配置”模塊82確定:
1.當前幀4b的可壓縮性,即,如果當前幀4b可以允許具有最小感知影響的比特率降低,以能夠包括與先前幀4a相關聯(lián)的部分副本8a,以及
2.rf幀類型分類,其控制通過在未來幀4c中發(fā)送的部分副本8b如實地重建當前幀4b所需的比特數(shù)。在圖8中,部分副本8b以2幀的幀擦除隱藏(fec)偏移與未來主副本4c一起被發(fā)送。
強有聲幀和無聲幀適用于承載對主幀質量的感知影響可忽略不計的先前幀的部分副本。如果當前幀被允許承載部分副本,則通過將比特流中的設置為1或0來傳送。如果設置為1,則通過補償已經(jīng)被隨附的部分副本用盡的位數(shù)brf來確定可用于編碼當前主幀的位數(shù)bprimary,即,在13.2kbps的恒定總比特率處,bprimary=264-brf。根據(jù)幀關鍵性和rf幀類型(第3.2部分),位數(shù)brf的范圍可以從5位到72位。
主幀編碼
圖8所示的“主幀編碼”模塊83使用acelp編碼技術[21]、[23]以將低頻帶核心編碼為6.4khz,而超過6.4khz并高達奈奎斯特頻率的高頻帶使用時域帶寬擴展(tbe)技術被編碼[17]。將高頻帶參數(shù)化為lsp和增益參數(shù),以捕獲每個子幀的時間演進以及整個幀[17]?!爸鲙幋a”模塊83還使用基于mdct的變換編碼激勵(tcx)和智能間隙填充(intelligentgapfilling,簡稱igf)編碼技術[11]、[18]以更有效地對背景噪聲幀和混合/音樂內(nèi)容進行編碼?;趕nr的開環(huán)分類器[22]用于決定是否選擇acelp/tbe技術或tcx/igf技術對主幀進行編碼。
dietz等[16]概述了evs主要模式的各種進步,它們進一步提高了acelp技術的編碼效率,超越了3gppamr-wb編碼效率[21]。evs信道感知模式利用這些acelp和tcx核心進步來進行主幀編碼。此外,由于部分副本使用跨幀的不同數(shù)量的比特,所以主幀編碼還需要相應地適應自適應比特分配。
冗余幀編碼
“冗余幀(rf)編碼”模塊84僅執(zhí)行對保護關鍵的那些參數(shù)的緊湊重新編碼?;趲男盘柼卣鱽碜R別關鍵參數(shù)集,并以低得多的比特率(例如,小于3.6kbps)對其進行重新編碼?!拔淮虬鳌蹦K85將主幀比特流86和部分副本87與某些rf參數(shù)(例如,rf幀類型和fec偏移)一起排列(參見表i)在比特流中的固定位置。
表1
以13.2kbps進行信道感知編碼的比特流分配
當幀的丟失會對接收器處的語音質量產(chǎn)生重大影響時,該幀被認為是關鍵要保護的。用于確定特定幀是否是關鍵的閾值是編碼器處的可配置參數(shù),其可以根據(jù)網(wǎng)絡條件動態(tài)地調(diào)整。例如,在高fer條件下,可能需要調(diào)整閾值以將更多的幀分類為關鍵的。關鍵性還可以取決于從先前幀的丟失中快速恢復的能力。例如,如果當前幀在很大程度上取決于先前幀的合成,則當前幀可以從非關鍵重新分類為關鍵,以在先前幀在解碼器處丟失的情況下阻止錯誤傳播。
a)acelp部分幀編碼
對于acelp幀,根據(jù)幀的信號特性,部分副本編碼使用四種rf幀類型rf_nopred、rf_allpred、rf_genpred和rf_nelp中的一種。諸如幀類型、音調(diào)滯后和因子之類的從主幀編碼計算的參數(shù)用于確定rf幀類型和關鍵性,其中
eacb表示自適應碼本(acb)能量,efcb表示固定碼本(fcb)能量。τ的低值(例如,0.15及以下)指示當前幀中的大部分信息由fcb貢獻承載。在這種情況下,rf_nopred部分副本編碼僅使用一個或更多個fcb參數(shù)(例如,fcb脈沖和增益)。另一方面,τ的高值(例如,0.35及以上)指示當前幀中的大部分信息由acb貢獻承載。在這種情況下,rf_allpred部分副本編碼僅使用一個或更多個acb參數(shù)(例如,音調(diào)滯后和增益)。如果τ在[0.15,0.35]的范圍內(nèi),則混合編碼模式rf_genpred使用acb和fcb參數(shù)二者來進行部分副本編碼。對于無聲幀,低比特率噪聲激勵線性預測(nelp)[16]用于對rf_nelp部分副本進行編碼。高頻帶部分副本編碼依賴于增益參數(shù)的粗略編碼以及來自先前幀的lsf參數(shù)的外插[11]。
b)tcx部分幀編碼
為了獲得有用的tcx部分副本,必須花費許多位來編碼mdct頻譜數(shù)據(jù),這顯著降低主幀的可用位數(shù),并因此降低干凈信道質量。為此,用于tcx主幀的位數(shù)保持盡可能大,而部分副本承載控制參數(shù)集,從而能夠實現(xiàn)高度引導的tcx隱藏。
tcx部分副本編碼使用三種rf幀類型rf_tcxfd、rf_tcxtd1和rf_tcxtd2之一。雖然rf_tcxfd承載用于增強頻域隱藏的控制參數(shù),但rf_tcxtd1和rf_tcxtd2用于時域隱藏[20]。tcxrf幀類型選擇基于當前幀和先前幀的信號特性,包括音調(diào)穩(wěn)定性、ltp增益和信號的時間趨勢。諸如信號分類、lsp、tcx增益和音調(diào)滯后的一些關鍵參數(shù)被編碼在tcx部分副本中。
在背景噪聲或非活動語音幀中,非引導的幀擦除隱藏足以使由于丟失的幀而引起的感知偽像最小化。rf_no_data用信號指示在背景噪聲期間比特流中不存在部分副本。另外,在這種編碼類型切換場景中,由于缺少外插數(shù)據(jù),從acelp幀切換之后的第一tcx幀也使用rf_nodata。
信道感知解碼
圖9表示信道感知解碼器31的高級描述。在接收器90處,如果當前幀91沒有丟失,則jbm95提供用于“主幀解碼”96的分組,并忽略分組中存在的任何rf(冗余幀)信息。在當前幀丟失的情況下,若未來幀94可用于去抖動緩沖器,則jbm95提供用于“部分幀解碼”97的分組。如果未來幀93不可用于去抖動緩沖器,則執(zhí)行非引導的擦除隱藏[20]。
與jbm的接口
如前所述,如果第n幀在播出時間不可用(丟失或延遲),則檢查jbm的未來第(n+k)幀的可用性,該未來第(n+k)幀包含當前幀的部分冗余,其中k∈{2,3,5,7}。幀的部分副本通常在主幀之后到達。使用jbm延遲適應機制來增加未來幀中部分副本的可用性的可能性,特別是對于較高的fec偏移5和7。evsjbm符合3gppts26.114[10]規(guī)定的對于所有evs模式(包括信道感知模式)的延遲抖動要求。
除了上述功能之外,evsjbm[13]還計算信道錯誤率和最佳fec偏移k,該最佳fec偏移k基于信道統(tǒng)計使部分冗余副本的可用性最大化。計算出的最佳fec偏移和信道錯誤率可以通過接收器反饋機制(例如,通過編解碼器模式請求(cmr)[9])發(fā)送回編碼器,以適配fec偏移和發(fā)送部分冗余的速率,從而改善終端用戶體驗。
acelp和tcx部分幀解碼
圖9中的“比特流解析器”模塊98提取rf幀類型信息,并將部分副本信息傳遞給“部分幀解碼”模塊97。根據(jù)rf幀類型,如果當前幀對應于acelp部分副本,則對rf參數(shù)(例如,lsp、acb和/或fcb增益以及高頻帶增益)進行解碼以用于acelp合成。acelp部分副本合成遵循與主幀解碼96類似的步驟,除了對丟失的參數(shù)進行外插(例如,某些增益和音調(diào)滯后僅在替代子幀中傳輸)。
此外,如果先前幀使用部分副本進行合成,則在當前幀中執(zhí)行后處理以用于lsp和時間增益的更平滑的演進?;趲愋?例如,有聲或無聲)和在先前幀中估計的頻譜傾斜來控制后處理。如果當前幀對應于tcx部分副本,則rf參數(shù)用于執(zhí)行高度引導的隱藏。
主觀質量測試
evs信道感知模式的廣泛測試是通過主觀的itu-tp.800平均意見得分(mos)測試進行的,該測試由32個自發(fā)聽眾在獨立測試實驗室進行。分別使用絕對類別評級(acr)和降級類別評級(dcr)測試方法[24]針對wb和swb二者進行測試。由于信道感知模式被專門設計用于改善volte網(wǎng)絡的性能,因此評估這些網(wǎng)絡的性能對于建立潛在利益至關重要。因此,使用模擬的編解碼器輸出進行測試,其中分組延遲和丟失的如volte的圖案在插入去抖動緩沖器之前應用于所接收的rtp分組。這些圖案中的四種或延遲丟失簡檔是從在韓國和美國的volte網(wǎng)絡中收集的rtp分組到達時間的現(xiàn)實呼叫日志中得出的。
所得簡檔在不同的信道錯誤條件下高度模擬了volte網(wǎng)絡特性。在導出簡檔時,考慮了諸如抖動、抖動的時間演進和錯誤的突發(fā)性之類的特性。這四個簡檔在圖10中被標識為簡檔7、8、9和10,并且在解碼器處分別對應于大約3%、6%、8%和10%的幀擦除率(fer)。這些相同的四個簡檔也被3gpp選擇用于該主體在信道損傷下evs信道感知模式的自身特性化測試。
除了volte簡檔外,這里考慮的所有編解碼器是在無差錯條件下進行測試的,并且也用于在3gppmtsi規(guī)范[10]中包含的在解碼器處產(chǎn)生約6%的幀擦除率的hspa簡檔。在所有實驗中,evs條件使用參考evs去抖動緩沖器[13]。amr-wb條件使用固定延遲緩沖器以將延遲丟失簡檔轉換為分組丟失簡檔,使得經(jīng)歷大于固定閾值的延遲的分組被丟棄,如evs性能要求規(guī)范[14]中所述。
圖10中示出了wb情況的acr得分。對于以無差錯(“干凈”)簡檔開始的每個簡檔,圖表比較(從左到右)amr-wb、evsamr-wbio模式、evs基線wb和evswb信道感知(“rf”)。amr-wb和evsamr-wbio條件使用15.85kbps的較高比特率,而兩個evs條件使用相同的13.2kbps速率。這些結果表明,在所有幀擦除條件下,與非信道感知模式相比,信道感知模式提供統(tǒng)計學上顯著的改進,同時甚至在無差錯條件下保持等效質量。值得注意的是,信道感知模式質量大幅降低,甚至降至簡檔10的fer的10%。與amr-wb和amr-wb-io條件相比,質量效益在這些fer速率下甚至更顯著,并且具有在高丟失時段下恢復可理解性的潛力,其中在切換、不佳的無線電條件、小區(qū)場景的邊緣或者甚至在盡力而為網(wǎng)絡[8]上的期間遭遇到該高丟失。
信道感知模式的性能優(yōu)勢在超寬帶模式下同樣令人信服,其結果如圖11所示。如同wb,信道感知模式在無差錯條件下不降低性能,但在每個有損簡檔下具有統(tǒng)計學上顯著的性能效益,其中改進程度隨錯誤率的升高而增加。圖11還顯示了與最大速率為23.85kb/s的amr-wb-io相比,evsswb信道感知模式在13.2kb/s下的實質改進。
結論
新的3gppevs編解碼器的信道感知編碼模式基于amr和amr-wb在與現(xiàn)有部署服務的最廣泛使用的比特率類似的能力操作點處為用戶和網(wǎng)絡運營商提供了一種用于volte的高度錯誤恢復編碼模式。該模式使得編解碼器能夠即使在網(wǎng)絡擁塞、不良射頻覆蓋、切換或盡力而為信道中的期間可能發(fā)生高fer的情況下也維持高質量的wb和swb會話語音服務。即使在高丟失下具有平穩(wěn)質量降級,對質量的影響在低丟失或甚至無丟失條件下為可忽略的。信道感知模式提供的這種錯誤魯棒性進一步允許緩解某些系統(tǒng)級別方面,諸如重傳頻率和減少調(diào)度器延遲。這進而具有潛在益處,諸如移動手機中增加網(wǎng)絡容量、降低信令開銷和節(jié)能。因此,使用信道感知模式可在不影響容量的情況下有利于大多數(shù)網(wǎng)絡,以確保高質量通信。
總而言之,本發(fā)明利用編碼器知道信道質量的事實,以在錯誤條件下改善語音/音頻質量。與現(xiàn)有技術的信道感知編碼相反,該構思為不具有僅是主編碼幀的低比特率版本的部分副本,但是該部分副本由將大幅增進隱藏的多個關鍵參數(shù)組成。因此,解碼器需要區(qū)分隱藏所有參數(shù)的常規(guī)隱藏模式和部分副本參數(shù)可用的幀丟失模式。對于隱藏需要在部分隱藏和全部隱藏之間切換的情況,需要特別注意突發(fā)幀丟失。
盡管根據(jù)若干實施例描述了本發(fā)明,然而存在落入本發(fā)明范圍內(nèi)的變更、置換和等同物。此外,應注意,存在多種備選方式來執(zhí)行本發(fā)明的方法和組成。因此,意在將所附權利要求理解為包括落入本發(fā)明實質精神和范圍內(nèi)的全部這些變更、置換和等同物。
雖然已經(jīng)在裝置的上下文中描述了一些方面,但是將清楚的是,這些方面還表示對相應方法的描述,其中,框或設備對應于方法步驟或方法步驟的特征。類似地,在方法步驟的上下文中描述的方案也表示對相應塊或項或者相應裝置的特征的描述??梢杂?或使用)硬件裝置(諸如,微處理器、可編程計算機或電子電路)來執(zhí)行一些或全部方法步驟。在一些實施例中,可以由這種裝置來執(zhí)行最重要方法步驟中的某一個或更多個方法步驟。
新穎的編碼音頻信號可以存儲在數(shù)字存儲介質上,或者可以在諸如無線傳輸介質或有線傳輸介質(例如,互聯(lián)網(wǎng))等的傳輸介質上傳輸。
取決于某些實現(xiàn)要求,可以在硬件中或在軟件中實現(xiàn)本發(fā)明的實施例??梢允褂闷渖洗鎯τ须娮涌勺x控制信號的數(shù)字存儲介質(例如,軟盤、dvd、藍光、cd、rom、prom、eprom、eeprom或閃存)來執(zhí)行實現(xiàn),該電子可讀控制信號與可編程計算機系統(tǒng)協(xié)作(或者能夠與之協(xié)作)從而執(zhí)行相應方法。因此,數(shù)字存儲介質可以是計算機可讀的。
根據(jù)本發(fā)明的一些實施例包括具有電子可讀控制信號的數(shù)據(jù)載體,該電子可讀控制信號能夠與可編程計算機系統(tǒng)協(xié)作從而執(zhí)行本文所述的方法之一。
通常,本發(fā)明的實施例可以實現(xiàn)為具有程序代碼的計算機程序產(chǎn)品,程序代碼可操作以在計算機程序產(chǎn)品在計算機上運行時執(zhí)行方法之一。程序代碼可以例如存儲在機器可讀載體上。
其他實施例包括存儲在機器可讀載體上的計算機程序,該計算機程序用于執(zhí)行本文所述的方法之一。
換言之,本發(fā)明方法的實施例因此是具有程序代碼的計算機程序,該程序代碼用于在計算機程序在計算機上運行時執(zhí)行本文所述的方法之一。
因此,本發(fā)明方法的另一實施例是其上記錄有計算機程序的數(shù)據(jù)載體(或者數(shù)字存儲介質或計算機可讀介質),該計算機程序用于執(zhí)行本文所述的方法之一。數(shù)據(jù)載體、數(shù)字存儲介質或記錄介質通常是有形的和/或非瞬時性的。
因此,本發(fā)明方法的另一實施例是表示計算機程序的數(shù)據(jù)流或信號序列,所述計算機程序用于執(zhí)行本文所述的方法之一。數(shù)據(jù)流或信號序列可以例如被配置為經(jīng)由數(shù)據(jù)通信連接(例如,經(jīng)由互聯(lián)網(wǎng))傳送。
另一實施例包括處理裝置,例如,計算機或可編程邏輯器件,所述處理裝置被配置為或適于執(zhí)行本文所述的方法之一。
另一實施例包括其上安裝有計算機程序的計算機,該計算機程序用于執(zhí)行本文所述的方法之一。
根據(jù)本發(fā)明的另一實施例包括被配置為向接收機(例如,以電子方式或以光學方式)傳輸計算機程序的裝置或系統(tǒng),該計算機程序用于執(zhí)行本文所述的方法之一。接收機可以是例如計算機、移動設備、存儲設備等。該裝置或系統(tǒng)可以例如包括用于向接收機傳輸計算機程序的文件服務器。
在一些實施例中,可編程邏輯器件(例如,現(xiàn)場可編程門陣列)可以用于執(zhí)行本文所述的方法的功能中的一些或全部。在一些實施例中,現(xiàn)場可編程門陣列可以與微處理器協(xié)作以執(zhí)行本文所述的方法之一。通常,方法優(yōu)選地由任意硬件裝置來執(zhí)行。
本文描述的裝置可以使用硬件裝置,或使用計算機,或者使用硬件裝置和計算機的組合來實現(xiàn)。
本文描述的方法可以使用硬件裝置,或使用計算機,或者使用硬件裝置和計算機的組合來執(zhí)行。
上述實施例對于本發(fā)明的原理僅是說明性的。應當理解的是:本文所述的布置和細節(jié)的修改和變形對于本領域其他技術人員將是顯而易見的。因此,旨在僅由所附專利權利要求的范圍來限制而不是由借助對本文的實施例的描述和解釋所給出的具體細節(jié)來限制。
參考文獻
[1]rtppayloadforredundantaudiodata″,internetengineeringtaskforce,rfc2198,september1997
[2]us6,757,654-″forwarderrorcorrectioninspeechcoding″,westerlund,m.andal.,29june2004
[3]″adaptivejointplayoutbufferandfecadjustmentforinternettelephony″c.boutremans,j.-y.leboudec,infocom2003.twenty-secondannualjointconferenceoftheieeecomputerandcommunications.ieeesocieties;04/2003
[4]patentapplication:audiodecoderandmethodforprovidingadecodedaudioinformationusinganerrorconcealmentbasedonatimedomainexcitationsignal
[5]patentapplication:audiodecoderandmethodforprovidingadecodedaudioinformationusinganerrorconcealmentmodifyingatimedomainexcitationsignal
[6]3gppts26.448:″codecforenhancedvoiceservices(evs);jitterbuffermanagement″.
[7]3gppts26.442:″codecforenhancedvoiceservices(evs);ansiccode(fixed-point)″.
[8]d.j.sinder,i.varga,v.krishnan,v.rajendranands.villette,“recentspeechcodingtechnologiesandstandards,”inspeechandaudioprocessingforcoding,enhancementandrecognition,t.ogunfunmi,r.togneri,m.narasimha,eds.,springer,2014.
[9]j.sjoberg,m.westerlund,a.lakaniemiandq.xie,“rtppayloadformatandfilestorageformatfortheadaptivemulti-rate(amr)andadaptivemulti-ratewideband(amr-wb)audiocodecs,”april2007.[online].available:ht中://tools.ietf.org/html/rfc4867.
[10]3gppts26.114,“multimediatelephonyserviceforims,”v12.7.0,september2014.
[11]3gppts26.445:“evscodecdetailedalgorithmicdescription;3gpptechnicalspecification(release12),”2014.
[12]3gpp,ts26.447,“codecforenhancedvoiceservices(evs);errorconcealmentoflostpackets(release12),”2014.
[13]3gppts26.448:“evscodecjitterbuffermanagement(release12),”2014.
[14]3gpptdocs4-130522,“evspermanentdocument(evs-3):evsperformancerequirements,”version1.4.
[15]s.bruhn,etal.,“standardizationofthenewevscodec,”submittedtoieeeicassp,brisbane,australia,april,2015.
[16]m.dietz,etal.,“overviewoftheevscodecarchitecture,”submittedtoieeeicassp,brisbane,australia,april,2015.
[17]v.atti,etal.,“super-widebandbandwidthextensionforspeechinthe3gppevscodec,”submittedtoieeeicassp,brisbane,australia,april,2015.
[18]g.fuchs,etal.,“l(fā)owdelaylpcandmdct-basedaudiocodinginevs,”submittedtoieeeicassp,brisbabe,australia,april,2015.
[19]s.dischetal.,“temporaltileshapingforspectralgapfillingwithintcxinevscodec,”submittedtoieeeicassp,brisbane,australia,april,2015.
[20]j.lecomteetal.,“packetlossconcealmenttechnologyadvancesinevs,”submittedtoieeeicassp,brisbabe,australia,april,2015.
[21]b.bessette,etal,“theadaptivemulti-ratewidebandspeechcodec(amr-wb),”ieeetrahs.onspeechandaudioprocessing,vol.10,no.8,pp.620-636,november2002.
[22]e.ravelli,etal.,“openloopswitchingdecisionbasedonevaluationofcodingdistortionsforaudiocodecs,”submittedtoieeeicassp,brisbane,australia,april,2015.
[23]m.jelínek,t.vaillancourt,andjongibbs,“g.718:anewembeddedspeechandaudiocodingstandardwithhighresiliencetoerror-pronetransmissionchannels,”ieeecommunicationsmagazine,vol.47,no.10,pp.117-123,october2009.
[24]itu-tp.800,“methodsforsubjectivedeterminationoftransmissionquality,”internationaltelecommunicationunion(itu),seriesp.,august1996.