音頻信號(hào)處理裝置、音頻信號(hào)處理方法及音頻信號(hào)處理程序的制作方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及對(duì)音頻信號(hào)進(jìn)行處理的音頻信號(hào)處理裝置、音頻信號(hào)處理方法及音頻 信號(hào)處理程序。
【背景技術(shù)】
[0002] 在如IP(InternetProtocol)電話那樣將音頻信號(hào)進(jìn)行編碼及分組化并在互聯(lián) 網(wǎng)中傳輸時(shí),由于網(wǎng)絡(luò)擁擠等原因,有時(shí)分組丟失(以下將該現(xiàn)象稱為"分組丟失(packet loss) ")。在發(fā)生分組丟失時(shí),由于必需的音頻碼丟失而不能進(jìn)行音頻解碼,產(chǎn)生聲音中斷。 作為防止因分組丟失而產(chǎn)生的聲音中斷的技術(shù)有音頻分組丟失隱藏技術(shù)。音頻分組丟失 隱藏技術(shù)用于檢測分組丟失,并生成與丟失的分組對(duì)應(yīng)的準(zhǔn)音頻信號(hào)(以下稱為"隱藏信 號(hào)")。
[0003] 在作為音頻編碼方法采用更新編碼器/解碼器的內(nèi)部狀態(tài)的同時(shí)進(jìn)行音頻編碼 的方法的情況下,將不能得到本來應(yīng)該接收的編碼參數(shù),因而音頻分組丟失隱藏技術(shù)也利 用模擬地生成的參數(shù)進(jìn)行解碼器的內(nèi)部狀態(tài)更新。
[0004] 作為更新編碼器/解碼器的內(nèi)部狀態(tài)進(jìn)行音頻編碼的方法,廣泛采用CELP(Code ExcitedLinearPrediction)編碼。在CELP編碼中,假定自回歸模型,經(jīng)由全極型合成濾 波器a(i)對(duì)激勵(lì)信號(hào)e(n)進(jìn)行濾波,由此將音頻信號(hào)合成。即,按照下式來合成音頻信號(hào) s(η)。a(i)表示線性預(yù)測系數(shù)(LP(LinearPrediction)系數(shù)),作為次數(shù)采用P= 16等 值。
[0005] [數(shù)式 1]
[0006]
[0007] 在CELP編碼中,將對(duì)線性預(yù)測系數(shù)進(jìn)行數(shù)學(xué)上的等效而表述的ISF(ImmittanCe SpectralFrequency,導(dǎo)抗譜頻率)參數(shù)、和過去的激勵(lì)信號(hào)作為內(nèi)部狀態(tài)。在產(chǎn)生了分組 丟失的情況下,模擬地生成這些參數(shù)和信號(hào),因而與本來應(yīng)該通過解碼得到的參數(shù)之間產(chǎn) 生偏差。由于參數(shù)的偏差而引起的合成聲音的不匹配,被視聽者認(rèn)為是噪聲,大大破壞了主 觀上的品質(zhì)。
[0008] 下面,以音頻編碼方法采用CELP編碼的情況為例,對(duì)進(jìn)行音頻分組丟失隱藏的音 頻解碼器的結(jié)構(gòu)及動(dòng)作進(jìn)行說明。
[0009] 音頻解碼器的結(jié)構(gòu)圖及動(dòng)作如圖1、圖2所示。如圖1所示,音頻解碼器1具有分 組丟失檢測部11、音頻碼解碼部12、隱藏信號(hào)生成部13和內(nèi)部狀態(tài)緩存器14。
[0010] 分組丟失檢測部11在正常接收到音頻分組的情況下,向音頻碼解碼部12發(fā)送控 制信號(hào)、及音頻分組中包含的音頻碼(正常接收:在圖2的步驟S100為"是"的情況)。然 后,音頻碼解碼部12按照后面所述進(jìn)行音頻碼的解碼及內(nèi)部狀態(tài)更新(圖2的步驟S200、 S400)。另一方面,在不能正常接收到音頻分組的情況下,分組丟失檢測部11向隱藏信號(hào)生 成部13發(fā)送控制信號(hào)(分組丟失:在圖2的步驟S100為"否"的情況)。然后,隱藏信號(hào)生 成部13按照后面所述進(jìn)行隱藏信號(hào)的生成及內(nèi)部狀態(tài)更新(圖2的步驟S200、S400)。反 復(fù)圖2的步驟S100~S400的處理一直到通信結(jié)束為止(一直到在步驟S500判定為"是" 為止)。
[0011] 音頻碼至少包括被編碼后的數(shù)式2所示的ISF參數(shù),
[0012] [數(shù)式 2]
[0013]
[0014] 被編碼后的第一~第四子幀的基音滯后T]p、第一~第四子幀的被編碼后的自 適應(yīng)碼本增益g]p、第一~第四子幀的被編碼后的固定碼本增益g]。、第一~第四子幀的被 編碼后的固定碼本向量σ](η)。也可以使用數(shù)學(xué)上的等效的表述即LSF(Linespectral frequency)參數(shù)來取代ISF參數(shù)。在下面的討論中進(jìn)行使用了ISF參數(shù)的說明,但該討論 對(duì)使用LSF參數(shù)的情況也成立。
[0015] 在內(nèi)部狀態(tài)緩存器中包括數(shù)式3所示的過去的ISF參數(shù)
[0016][數(shù)式 3]
[0017]
[0018] 以及數(shù)式4所示的
[0019][數(shù)式 4]
[0020]
[0021] 的等效表述即ISP(ImmittanceSpectralPair)參數(shù)
[0022] [數(shù)式 5]
[0023]
[0024]ISF殘差參數(shù)
[0025][數(shù)式6]
[0026]
[0027] 過去的基音滯后Τ·]ρ、過去的自適應(yīng)碼本增益、過去的固定碼本增益。、自適應(yīng) 碼本u(n)。分別包含過去幾個(gè)子幀的量的參數(shù)取決于設(shè)計(jì)方針。在本說明書中,假定1幀 包括4個(gè)子幀,但也可以按照設(shè)計(jì)方針設(shè)為其它的值。
[0028]〈正常接收的情況〉
[0029] 圖3示出音頻碼解碼部12的功能結(jié)構(gòu)例。如該圖3所示,音頻碼解碼部12具有 ISF解碼部120、穩(wěn)定性處理部121、LP系數(shù)計(jì)算部122、自適應(yīng)碼本計(jì)算部123、固定碼本解 碼部124、增益解碼部125、激勵(lì)向量合成部126、主濾波器127、和合成濾波器128。但是,主 濾波器127不是必須的構(gòu)成要素。另外,在圖3中,為了便于說明,在音頻碼解碼部12內(nèi)用 雙點(diǎn)劃線示出了內(nèi)部狀態(tài)緩存器14,但該內(nèi)部狀態(tài)緩存器14也可以不包含在音頻碼解碼 部12的內(nèi)部,而是圖1所示的內(nèi)部狀態(tài)緩存器14。對(duì)于以后的音頻碼解碼部的結(jié)構(gòu)圖也一 樣。
[0030]LP系數(shù)計(jì)算部122的結(jié)構(gòu)圖如圖4所示,根據(jù)被編碼后的ISF參數(shù)計(jì)算LP系數(shù)的 處理流程如圖5所示。如圖4所示,LP系數(shù)計(jì)算部122具有ISP-ISP變換部122A、ISP插 值部122B、和ISP-LPC變換部122C。
[0031] 首先,說明與根據(jù)被編碼后的ISF參數(shù)計(jì)算LP系數(shù)的處理(圖5)相關(guān)聯(lián)的功能 結(jié)構(gòu)及動(dòng)作。
[0032]ISF解碼部120對(duì)被編碼后的ISF參數(shù)進(jìn)行解碼,求出數(shù)式7所示的ISF殘差參 數(shù),
[0033] [數(shù)式 7]
[0034]
[0035] 按照數(shù)式9計(jì)算數(shù)式8所示的ISF參數(shù)(圖5的步驟S1)。其中,!^&111表示事前 通過學(xué)習(xí)等求出的平均向量。
[0036][數(shù)式 8]
[0037]
[0038] [數(shù)式 9]
[0039]
[0040] 另外,在此對(duì)使用MA預(yù)測進(jìn)行ISF參數(shù)的計(jì)算的示例進(jìn)行了說明,但也可以是如 下所述使用AR預(yù)測進(jìn)行ISF參數(shù)的計(jì)算的結(jié)構(gòu)。在此,緊前面的幀的ISF參數(shù)表示為數(shù)式 10,將AR預(yù)測的加權(quán)系數(shù)設(shè)為Pl。
[0041][數(shù)式 10]
[0042]
[0043]
[0044]
[0045] 穩(wěn)定性處理部121進(jìn)行基于數(shù)式12的處理,以使ISF參數(shù)的各要素之間隔開50Hz 以上的間隔,從而確保濾波器的穩(wěn)定性(圖5的步驟S2)。ISF參數(shù)是用線譜表述音頻頻 譜包絡(luò)的形狀的參數(shù),彼此的距離越近,頻譜的峰值就越大并產(chǎn)生共振。因此,需要確保穩(wěn) 定性的處理,使得在頻譜的峰值時(shí)的增益不會(huì)過大。其中,min_dist表示最小的ISF間隔, isf_min表示確保min_dist的間隔所需要的ISF的最小值。isf_min通過將相鄰的ISF的 值與min_dist的間隔相加而依次進(jìn)行更新。另一方面,isf_max表示確保min_dist的間 隔所需要的ISF的最大值。isf_max通過從相鄰的ISF的值減去min_dist的間隔而依次進(jìn) 行更新。
[0046][數(shù)式 12]
[0047]
[0048] LP系數(shù)計(jì)算部122內(nèi)的ISF-ISP變換部122A按照數(shù)式15將數(shù)式13所示的項(xiàng)變 換為數(shù)式14所示的ISP參數(shù)(圖5的步驟S3)。其中,C表示事前設(shè)定的常數(shù)。
[0049][數(shù)式13]
[0050]
[0051]
[0052]
[0053]
[0054]
[0055] ISP插值部122B根據(jù)內(nèi)部狀態(tài)緩存器14中包含的數(shù)式16所示的過去的ISP參數(shù) 和數(shù)式17所示的上述ISP參數(shù),按照數(shù)式18計(jì)算每個(gè)子幀的ISP參數(shù)(圖5的步驟S4)。 在進(jìn)行插值時(shí)也可以使用其它系數(shù)。
[0056][數(shù)式16]
[0065] ISP-LPC變換部122C將每個(gè)子幀的ISP參數(shù)變換為數(shù)式19所示的LP系數(shù)(圖5 的步驟S5)。作為具體的變換步驟,能夠使用非專利文獻(xiàn)1記載的處理步驟。在此,將先行 信號(hào)(先読辦信號(hào))中包含的子幀的數(shù)量設(shè)為4,但也可以按照設(shè)計(jì)方針變更子幀的數(shù)量。
[0066][數(shù)式19]
[0067]
[0068] 下面,說明音頻碼解碼部12的其它結(jié)構(gòu)及動(dòng)作。
[0069] 自適應(yīng)碼本計(jì)算部123對(duì)被編碼后的基音滯后(pitchlag)進(jìn)行解碼,計(jì)算第 一~第四子幀的基音滯后T]p。然后,自適應(yīng)碼本計(jì)算部123使用自適應(yīng)碼本u(n),按照數(shù) 式20對(duì)每個(gè)子幀計(jì)算自適應(yīng)碼本向量。通過利用FIR濾波器Int(i)對(duì)自適應(yīng)碼本u(n) 進(jìn)行插值,計(jì)算出自適應(yīng)碼本向量。在此,將自適應(yīng)碼本的長度設(shè)為Nadapt。在插值中使用的 濾波器Int(i)是事前設(shè)定的長度21+1的FIR濾波器,L'表示子幀的采樣數(shù)。通過使用插 值濾波器Int(i),能夠以小數(shù)點(diǎn)以下的精度利用基音滯后。關(guān)于插值濾波器的詳細(xì)情況,能 夠使用非專利文獻(xiàn)1記載的方法。
[0070] 「救=rt州?
[0071]
[0072] 固定碼本解碼部124對(duì)被編碼后的固定碼本向量進(jìn)行解碼,取得第一~第四子幀 的固定碼本向量(η)。
[0073] 增益解碼部125對(duì)被編碼后的自適應(yīng)碼本增益及被編碼后的固定碼本增益進(jìn)行 解碼,取得第一~第四子幀的自適應(yīng)碼本增益及固定碼本增益。例如,能夠利用非專利文獻(xiàn) 1記載的如下的方法進(jìn)行自適應(yīng)碼本增益及固定碼本增益的解碼。根據(jù)利用非專利文獻(xiàn)1 記載的如下的方法,不必像AMR-WB的增益編碼那樣使用幀間預(yù)測,因而能夠提高抗分組丟 失性。
[0074] 例如,增益解碼部125按照以下的處理流程取得固定碼本增益。
[0075] 首先,增益解碼部125計(jì)算固定碼本向量的功率。在此,將子幀的長度設(shè)為Ns。
[0076][數(shù)式21]
[0077]
[0078] 然后,增益解碼部125對(duì)被向量量化后的增益參數(shù)進(jìn)行解碼,得到數(shù)式22所示的 自適應(yīng)碼本增益和數(shù)式23所示的量化固定碼本增益。根據(jù)量化固定碼本增益和上述固定 碼本向量的功率計(jì)算如下數(shù)式24所示的預(yù)測固定碼本增益。
[0079][數(shù)式22]
[0083][數(shù)式 24]
[0084]
[0085] 最后,增益解碼部125對(duì)數(shù)式25所示的預(yù)測系數(shù)進(jìn)行解碼,并與預(yù)測增益相乘,由 此得到數(shù)式26所示的固定碼本增益。
[0086][數(shù)式 25]
[0087]
[0088]
[0089]
[0090] 激勵(lì)向量合成部126按照數(shù)式27所示將自適應(yīng)碼本向量與自適應(yīng)碼本增益相乘, 并且將固定碼本向量與固定碼本增益相乘,再求出乘積之和,由此取得激勵(lì)信號(hào)。
[0091][數(shù)式 27]
[0092]
[0093] 主濾波器127對(duì)激勵(lì)信號(hào)向量進(jìn)行例如基音強(qiáng)調(diào)、噪聲強(qiáng)調(diào)、低頻強(qiáng)調(diào)這樣的后 處理?;魪?qiáng)調(diào)、噪聲強(qiáng)調(diào)、低頻強(qiáng)調(diào)能夠使用非專利文獻(xiàn)1記載的方法。
[0094] 合成濾波器128通過線性預(yù)測逆向?yàn)V波,將以激勵(lì)信號(hào)為驅(qū)動(dòng)音源的解碼信號(hào)合 成。
[0095][數(shù)式 28]
[0096]
[0097] 另外,當(dāng)在編碼器中進(jìn)行了預(yù)加重(pre-emphasis)的情況下,進(jìn)行去加重 (de-emphasis)〇
[0098][數(shù)式 29]
[0099]
[0100] 另一方面,當(dāng)在編碼器中未進(jìn)行預(yù)加重的情況下,不進(jìn)行去加重。
[0101] 下面,說明有關(guān)內(nèi)部狀態(tài)更新的動(dòng)作。
[0102] LP系數(shù)計(jì)算部122利用根據(jù)數(shù)式30計(jì)算的向量更新ISF參數(shù)的內(nèi)部狀態(tài),以便進(jìn) 行分組丟失時(shí)的參數(shù)插值。
[0103][數(shù)式 30]
[0104]
[0105] 其中,ω/j)表示被存儲(chǔ)在緩存器中的第j幀前的ISF參數(shù)。ω^表示事前通過學(xué) 習(xí)等求出的講話區(qū)間的ISF參數(shù)。β表示常數(shù),例如能夠取值如0.75,但不限于此。ω,、 β例如也可以如非專利文獻(xiàn)1記載的ISF隱藏(3yシ一;レyy卜)那樣根據(jù)表示編碼對(duì) 象幀的性質(zhì)的索引而變化。
[0106] 另外,LP系數(shù)計(jì)算部122也按照下式更新ISF殘差參數(shù)的內(nèi)部狀態(tài)