自適應計算減少QCELP功率
QCELP(Qualcomm Code Excited Linear Predictive Coding-Qualcomm碼受激線(xiàn)性預示編碼)話(huà)音壓縮算法是TIAIS-95北美寬帶CDMA數字蜂窩電話(huà)標準的TIAIS-96話(huà)音蜂窩電話(huà)標準的TIAIS-96話(huà)音編解碼所選的聲碼器。一個(gè)話(huà)音編解碼器等于一個(gè)編碼器和解碼器對。依此標準進(jìn)行設計對于便攜系統設計人員來(lái)講是個(gè)問(wèn)題,這是因為用通常DSP方法需要異常的功耗。
本文引用地址:http://dyxdggzs.com/article/242354.htmQCELP是一種向量編碼器型話(huà)音編解碼,在話(huà)音編解碼分類(lèi)中被稱(chēng)為CELP(碼受激線(xiàn)性預示)編碼話(huà)音壓縮算法。CELP編解碼采用話(huà)音編碼的合成分析方法。
編碼器的任務(wù)是確定描述話(huà)音音頻段的小的參量組,話(huà)音音頻段可以最小的位數表示。編碼器發(fā)送參量到譯碼器,譯碼器用這些參量重建音頻段。一旦重建完成,音頻段便在揚聲器系統播放。
話(huà)音產(chǎn)生系統可模擬為聲束、聲調、周期激勵器(聲卡)或剩余噪聲源。聲束用線(xiàn)性預示編碼模擬。聲調和剩余噪聲激勵聲束并用碼簿(codebook)編碼。
用碼簿索引選擇來(lái)自碼簿的高斯向量(見(jiàn)圖1).向量也稱(chēng)之為激勵信號,向量與增益值相乘并經(jīng)2個(gè)線(xiàn)性濾波器濾波。第1個(gè)濾波器之為長(cháng)項濾波器,它重建激勵信號中語(yǔ)音的長(cháng)項聲調周期數。第2個(gè)濾波器(短項濾波器)模擬話(huà)音的譜形。短項濾波器的輸出是合成語(yǔ)音。
LPC(線(xiàn)性預示編碼)濾波器的頻譜是語(yǔ)音信號的譜線(xiàn)包絡(luò )。所以,濾波器產(chǎn)生話(huà)音幅度。合成器產(chǎn)生向量或話(huà)音取樣N長(cháng)度的子幀(在8KHz取樣率時(shí),N為10~40)。合成器參量以幀或子幀速率更新,一般1幀是4個(gè)子幀長(cháng)。
通常,碼簿索引(碼)、碼簿增益和長(cháng)項預示參量以子幀速率更新。對于IS-96A WCELP-13,碼簿參量以最大到16倍幀或4倍子幀速率更新,短項濾波器系數以幀速率傳送到合成器,但通常以子幀速率線(xiàn)性?xún)炔濉?/p>
合成分析
CELP編解采用人聲音產(chǎn)生系統的模型,它由聲束、聲卡、送話(huà)器嘴和語(yǔ)音組成。此系統可用一個(gè)噪聲源、一個(gè)音調合成濾波器和聲束或共振峰合成濾波器進(jìn)行模擬。話(huà)音合成器或解壓縮單元的數據流激勵音調濾波器(圖2)。然后,信號由共振峰合成器或LPC濾波器處理,最后是后濾波。
合成器和分析器把話(huà)音分解為段(幀)。在8KHz取樣率時(shí)(160個(gè)取樣),幀長(cháng)度是20ms話(huà)音長(cháng)。對于每幀,分析器確定在多大數據率下可最佳地表示幀。速率為全,半,1/4和1/8四種。噪聲源依刺于幀速率。1/4和1/8速率用于偽隨機噪聲源,全和半速率用于碼簿。
分析器的工作是為當前話(huà)音幀確定全成器模型參量的最佳匹配。分析器或壓縮單元用合成器的簡(jiǎn)化型式搜尋一幀話(huà)音的最佳參量。在數據流框圖(圖2)中表示為逆向工作過(guò)程。
首先用Levinson-Durbin算法求出LPC參量(al…a10),然后求出聲調延遲(包括整數和小數延遲)和聲調增益。最后求出全速率和半速率下的碼簿索引和增益。對于1/4和1/8幀速率,是用不同方法求和偽隨機數時(shí)序的。但是偽隨機數時(shí)序的求解是計算不充分的。
用合成分析方法(有時(shí)稱(chēng)之為向量量化器)求得音調和碼簿參量(見(jiàn)圖3)。此過(guò)程包括為音調確定或搜索算法選擇最佳延遲參量和為碼簿搜索選擇最佳索引。思想是測量與相關(guān)函數匹配的特性,相關(guān)函數與目標話(huà)音段比較時(shí)再現合成信號的誤差。根據延遲或索引產(chǎn)生的最小誤差信號選擇是佳延遲或碼簿索引。
對每個(gè)延遲和碼簿索引,都必須執行通過(guò)合成器的數據處理和信號關(guān)聯(lián)。用可編程DSP實(shí)現這兩種搜索會(huì )占用大部分的計算時(shí)間和功耗。QCELP算法也需要用32位運算做絕大部分相關(guān)測量。
功率消耗程序
有8個(gè)主要的內部碼環(huán)路或程序消耗絕大部分的QCELP功率。它們是碼簿和聲調搜索,線(xiàn)頻譜對(LSP)計算,遞歸卷積和4個(gè)不同的濾波器。在QCELP的分析器/壓縮器側用DSP實(shí)現,3個(gè)內部碼環(huán)路占總功耗的80%.其中聲調和碼簿搜索占49%;LSP和余弦占16%;各種濾波器占其余14%。在合成器/解壓縮器側,各種濾波器占功耗的56%左右,而其他功能(如正弦,余弦和除法)占別外5%。這兩種QCELP函數總計占功耗的61%。
隨著(zhù)QCELP算法日益普及和應用(如蜂窩電話(huà)所需功能的增加),傳統的DSP/微處理器和ASIC方法開(kāi)始失去它們的優(yōu)執。但自適應計算機(ACM)技術(shù)對各種便攜設計(包括蜂窩電話(huà))是一種更有效且功耗更低的大有前途的方法。
一般的ACM芯片集成有帶大的自適應結構的RISC處理器芯核。特定的接口電路緊密配合RISC芯核和細粒狀的自適應結構。硬線(xiàn)外設圍繞芯核并與外部電路接口。幾個(gè)片上SRAM支持處理器或自適應結構。最終,可配置的輸入/輸出口可讓數據流入或流出自適應結構。這樣,一個(gè)電路可在需要時(shí)形成,而一旦它的任務(wù)完成便可被自適應結構中運行的其他電路替代。
更多性能
隨著(zhù)要求低功耗而同時(shí)保持高性能的發(fā)展趨勢。便攜系統設計人員花精力分析當今技術(shù)是值得的。這樣做的一種方法是比較計算效率(CPE-computational power efficiency),CPE是比較當今設計技術(shù)優(yōu)缺點(diǎn)的量度。CPE定義為在一個(gè)時(shí)鐘周期內能解決問(wèn)題的有效工作門(mén)數與器件總門(mén)數之比。
一個(gè)典型的DSP芯片或嵌入式芯核的CPE是10%左右(見(jiàn)圖4)。這意味著(zhù)在一個(gè)DSP芯核或芯片中一般只有10%的門(mén)在任一時(shí)間內執行真正的工作,表明處理器只有一小部分正在真正在執行有用的工作,其余部分是額外消耗,用以維持處理器中有效工作的那一部分。
ASIC的平均CPE是25%左右,是DSP方案的2.5倍,這些增益可提高性能或降低功耗,是以犧牲靈活性來(lái)實(shí)現。ASIC設計周期中的任何不可預見(jiàn)的變化都會(huì )導致整個(gè)ASIC的重新設計。
ACM的CPE是60%,比ASIC好2.5倍。ACM器件也具有算法可編程的優(yōu)點(diǎn),這種技術(shù)允許一種算法以最短的時(shí)間運行在最有效的硬件中。這使得便攜無(wú)線(xiàn)系統在支行時(shí)間能隨時(shí)適應任務(wù)。這意味著(zhù)不需要改變算法來(lái)適應預先確定的處理器硬件。一個(gè)算法所需的最佳硬件產(chǎn)生算法運行所需的最少時(shí)間。
QCELP功率分析
在DSP芯核上運行QCELP算法消耗大約84mW功率(圖5)。這是根據0.25μm CMOS基具有DSP功能和存儲器的片上系統大約占據4mm2,功耗84mW。相反,把8個(gè)最大功耗的QCELP算法放到ASIC邏輯芯核,其功耗只有19mW,即ASIC芯核功耗3mW,DSP芯核16mW。但這種設計方法占23mm2硅片。其中ASIC芯核運行8個(gè)內部碼環(huán)路,而DSP芯核運行其余QCELP碼。
ASIC硅面積明顯大于DSP,但功率節省較大。蜂窩電話(huà)設計中的ASIC方法正在變得不實(shí)用,這是由于經(jīng)常改變算法和標準以及增加更多蜂窩電話(huà)功能所致。
當便攜系統設計人員把ACM加到DSP引擎以運行QCELP算法時(shí),可大大減少功耗,這樣做只增加5mm2 ACM芯片。在該設計實(shí)例中,8個(gè)最大功耗的程序從DSP運算中去掉,而加入功耗小的ACM引擎,只消耗3mW功率。采取這種設計步驟,節省了DSP運算的68mW(前面提及功耗為84mW)?,F在,DSP/ACM基QCELP聲碼器總功耗只有19mW。
算法可編程ACM器件具有ASIC的功率特性,而大小可與DSP相比。ACM被列舉進(jìn)行任何時(shí)候特殊算法所需的硬件中,如本例中的8個(gè)內部碼環(huán)路。每20ms,數據進(jìn)入QCELP話(huà)音編解碼器,所以每個(gè)內部碼環(huán)路必須運行50次/秒。實(shí)質(zhì)上,ACM是一片小的時(shí)限硅片,看起來(lái)像一個(gè)ASIC。結果以每秒運行400次,ACM形成運行這些算法所需的精確硬件。
評論