幀錯誤隱藏的制作方法
【技術(shù)領(lǐng)域】
[0001] 本技術(shù)涉及基于包括變換系數(shù)向量的幀的幀錯誤隱藏。
【背景技術(shù)】
[0002] 高質(zhì)量音頻傳輸通常可以使用基于變換的編碼方案。輸入音頻信號通常在具有一 定大?。ɡ?0ms)稱為幀的時間塊中被處理。通過合適的變換(例如修正離散余弦變換 (MDCT))對幀進(jìn)行變換,然后將變換系數(shù)量化并在網(wǎng)絡(luò)上發(fā)送。
[0003] 然而,當(dāng)音頻編解碼器操作在包括無線或分組網(wǎng)絡(luò)的通信系統(tǒng)中時,幀可能在傳 輸中丟失,或者太晚到達(dá)而無法使用在實時場景中。類似的問題在幀內(nèi)的數(shù)據(jù)損壞時出現(xiàn), 并且編解碼器可被設(shè)置為丟棄這些損壞幀。以上示例被稱為幀疑符或分組丟失,并且當(dāng)其 發(fā)生時解碼器通常調(diào)用某些算法以避免或降低幀疑符引起的音頻質(zhì)量下降,并且這些算法 被稱為幀疑符(或錯誤)隱藏算法(FEC)或分組丟失隱藏算法(PLC)。
[0004] 圖1示出了編碼器10中輸入的音頻信號。步驟S1中執(zhí)行到頻域的變換,步驟S2 中執(zhí)行量化,并且在步驟S2中執(zhí)行量化頻率系數(shù)(由索引表示)的分組化和發(fā)送。傳輸后, 在步驟S4中由解碼器12接收分組,并且在步驟S5中重構(gòu)頻率系數(shù),其中執(zhí)行幀疑符(或錯 誤)隱藏算法,如FEC單元14所示。步驟S6中,將重構(gòu)的頻率系數(shù)反變換到時域。因而, 圖1是一個系統(tǒng)概覽,其中音頻解碼器12在參數(shù)/波形重構(gòu)過程中處理傳輸錯誤,并且?guī)?疑符隱藏算法執(zhí)行丟失或損壞幀的重構(gòu)。
[0005] 錯誤隱藏的目的在于,對音頻信號中沒有到達(dá)或沒有及時到達(dá)解碼器或者損壞的 丟失部分進(jìn)行同步。當(dāng)可以容忍附加延時和/或附加比特可用時,可以使用各種強(qiáng)大的FEC 概念,這些概念可以基于,例如在兩個好幀之間插值丟失幀,或者發(fā)送必要輔助信息。
[0006] 然而,在實時會話場景中,通常無法引入附加延時,也很難增加算法的比特預(yù)算和 計算復(fù)雜度。用于實時場景的三種示例FEC方案如下:
[0007] -靜音,其中丟失的譜系數(shù)被置為0。
[0008] _重復(fù),其中重復(fù)來自上一個好幀的系數(shù)。
[0009] -噪聲注入,其中丟失的譜系數(shù)是隨機(jī)噪聲發(fā)生器的輸出。
[0010] 基于變換的編解碼器的常用FEC算法的一個示例是幀重復(fù)算法,其使用重復(fù)方案 并重復(fù)先前接收的幀的變換系數(shù)(有時具有縮放因子),如[1]所述。然后,使用重復(fù)變換 系數(shù)來重構(gòu)針對丟失幀的音頻信號。幀重復(fù)算法以及用于插入噪聲或靜默的算法都是有吸 引力的算法,因為它們具有較低的計算復(fù)雜度并且不需要傳輸額外的比特或額外的延時。 然而,錯誤隱藏可能使重構(gòu)的信號變差。例如,基于靜音的FEC方案會產(chǎn)生較大的能量不連 續(xù)性和較差的感知質(zhì)量,并且使用噪聲注入算法會引起不利的感知影響,尤其在應(yīng)用于具 有主音調(diào)的區(qū)域時。
[0011] [2]中描述的另一個方案涉及傳輸輔助信息,以通過插值來重構(gòu)錯誤幀。該方法的 缺點在于,需要用于輔助信息的額外帶寬。對于沒有輔助信息可用的MDCT系數(shù)來說,通過 插值來估計幅度,而使用需要大量(建議50個)過去的幀的概率模型來估計符號,這在現(xiàn) 實上不可行。
[0012] [3]中描述了一種相當(dāng)復(fù)雜的插值算法,針對丟失幀的重構(gòu)進(jìn)行乘法校正。
[0013] 基于插值的幀錯誤隱藏方法的另一個缺點在于,其引入了額外的延時(在可嘗試 任何插值前,必須先接收錯誤幀之后的幀),這在例如實時應(yīng)用中(如會話應(yīng)用)中不可接 受。
【發(fā)明內(nèi)容】
[0014] 所提出的技術(shù)的目的在于改進(jìn)幀錯誤隱藏。
[0015] 該目的通過所提出的技術(shù)的實施例來實現(xiàn)。
[0016] 根據(jù)第一方面,提供了一種基于包括變換系數(shù)向量的幀的幀錯誤隱藏方法。所述 方法包括:跟蹤連續(xù)靜態(tài)好幀的預(yù)定子向量的對應(yīng)變換系數(shù)之間的符號改變。所述方法還 包括:累計預(yù)定數(shù)量的連續(xù)靜態(tài)好幀的對應(yīng)子向量中符號改變的數(shù)目。此外,所述方法包 括:使用最近的靜態(tài)好幀來重構(gòu)錯誤幀,但是將符號改變的累計數(shù)目超過預(yù)定閾值的子向 量中的變換系數(shù)的符號反轉(zhuǎn)。
[0017] 根據(jù)第二方面,提供了一種用于基于包括變換系數(shù)向量的幀的幀錯誤隱藏的計算 機(jī)程序。所述計算機(jī)程序包括計算機(jī)可讀代碼,當(dāng)所述計算機(jī)可讀代碼在處理器上運行時, 使所述處理器執(zhí)行以下動作:跟蹤連續(xù)靜態(tài)好幀的預(yù)定子向量的對應(yīng)變換系數(shù)之間的符號 改變;累計預(yù)定數(shù)量的連續(xù)靜態(tài)好幀的對應(yīng)子向量中符號改變的數(shù)目;以及使用最近的靜 態(tài)好幀來重構(gòu)錯誤幀,但是將符號改變的累計數(shù)目超過預(yù)定閾值的子向量中的變換系數(shù)的 符號反轉(zhuǎn)。
[0018] 根據(jù)第三方面,提供了一種計算機(jī)程序產(chǎn)品,包括計算機(jī)可讀介質(zhì)和存儲在所述 計算機(jī)可讀介質(zhì)上的根據(jù)第二方面的計算機(jī)程序。
[0019] 根據(jù)第四方面,所提出的技術(shù)包括一種解碼器的實施例,所述解碼器被配置用于 基于包括變換系數(shù)向量的幀的幀錯誤隱藏。所述解碼器包括:符號改變跟蹤器,所述符號改 變跟蹤器被配置為跟蹤連續(xù)靜態(tài)好幀的預(yù)定子向量的對應(yīng)變換系數(shù)之間的符號改變。所述 解碼器還包括符號改變累計器,所述符號改變累計器被配置為累計預(yù)定數(shù)量的連續(xù)靜態(tài)好 幀的對應(yīng)子向量中符號改變的數(shù)目。所述解碼器還包括幀重構(gòu)器,所述幀重構(gòu)器被配置為 使用最近的靜態(tài)好幀來重構(gòu)錯誤幀,但是將符號改變的累計數(shù)目超過預(yù)定閾值的子向量中 的變換系數(shù)的符號反轉(zhuǎn)。
[0020] 根據(jù)第五方面,所提出的技術(shù)包括解碼器的另一個實施例,所述解碼器被配置用 于基于包括變換系數(shù)向量的幀的幀錯誤隱藏。所述解碼器包括:符號改變跟蹤模塊,所述符 號改變跟蹤模塊用于跟蹤連續(xù)靜態(tài)好幀的預(yù)定子向量的對應(yīng)變換系數(shù)之間的符號改變。所 述解碼器還包括:符號改變累計模塊,所述符號改變累計模塊用于累計預(yù)定數(shù)量的連續(xù)靜 態(tài)好幀的對應(yīng)子向量中符號改變的數(shù)目。所述解碼器還包括:幀重構(gòu)模塊,所述幀重構(gòu)模塊 用于使用最近的靜態(tài)好幀來重構(gòu)錯誤幀,但是將符號改變的累計數(shù)目超過預(yù)定閾值的子向 量中的變換系數(shù)的符號反轉(zhuǎn)。
[0021] 根據(jù)第六方面,所提出的技術(shù)包括解碼器的另一個實施例,所述解碼器被配置用 于基于包括變換系數(shù)向量的幀的幀錯誤隱藏。所述解碼器包括處理器和存儲器,其中所述 存儲器包含所述處理器可執(zhí)行的指令,從而所述解碼器操作為執(zhí)行以下動作:跟蹤連續(xù)靜 態(tài)好幀的預(yù)定子向量的對應(yīng)變換系數(shù)之間的符號改變;累計預(yù)定數(shù)量的連續(xù)靜態(tài)好幀的對 應(yīng)子向量中符號改變的數(shù)目;以及使用最近的靜態(tài)好幀來重構(gòu)錯誤幀,但是將符號改變的 累計數(shù)目超過預(yù)定閾值的子向量中的變換系數(shù)的符號反轉(zhuǎn)。
[0022] 根據(jù)第七方面,所提出的技術(shù)包括一種用戶終端,所述用戶終端包括根據(jù)第四、第 五或第六方面的解碼器。
[0023] 至少一個實施例能夠在幀丟失、幀延時或幀損壞的情形中改善主觀音頻質(zhì)量,并 且在不發(fā)送附加輔助參數(shù)或產(chǎn)生捅值所需的額外延時的情況下實現(xiàn)該改善,并具有低復(fù)雜 度和低存儲要求。
【附圖說明】
[0024] 通過參考以下結(jié)合附圖的描述,可以最佳理解本技術(shù)及其更多的目的和優(yōu)點,其 中:
[0025] 圖1是示出幀錯誤隱藏的概念的圖;
[0026] 圖2是示出符號改變跟蹤的圖;
[0027] 圖3是示出符號改變被認(rèn)為沒有意義的情況的圖;
[0028] 圖4是示出幀結(jié)構(gòu)的圖;
[0029] 圖5示出錯誤幀的子向量的重構(gòu)的示例的圖;
[0030] 圖6是示出所提出的方法的總體實施例的流程圖;
[0031] 圖7是給出所提出的技術(shù)的概覽的框圖;
[0032] 圖8是根據(jù)所提出的技術(shù)的解碼器的示例實施例的框圖;
[0033] 圖9是根據(jù)所提出的技術(shù)的解碼器的示例實施例的框圖;
[0034]圖10是根據(jù)所提出的技術(shù)的解碼器的示例實施例的框圖;
[0035] 圖11是根據(jù)所提出的技術(shù)的解碼器的示例實施例的框圖;
[0036] 圖12是用戶終端的框圖;以及
[0037] 圖13是示出幀錯誤隱藏的另一個實施例的圖。
【具體實施方式】
[0038] 貫穿附圖,相同的附圖標(biāo)記用于相似或?qū)?yīng)的元素。
[0039] 本文所提出的技術(shù)整體上適用于調(diào)制重疊變換(MLT)類型,例如作為當(dāng)前優(yōu)選變 換的MDCT。為簡化描述,以下將只描述MDCT。
[0040] 此外,以下描述中的術(shù)語丟失幀、延時幀、損壞幀以及包括損壞數(shù)據(jù)的幀全都表示 要通過所提出的幀錯誤隱藏技術(shù)來重構(gòu)的錯誤幀的示例。類似,術(shù)語"好幀"將用于指示無 錯幀。
[0041] 在使用MDCT的變換編解碼器中使用用于隱藏幀錯誤的幀重復(fù)算法,可能使重構(gòu) 音頻信號變差,這是因為在MDCT域中,相位信息是在MDCT系數(shù)的幅度和符號中傳遞的。對 于音調(diào)或諧頻分量,對應(yīng)的MDCT系數(shù)在幅度和符號上的演變依賴