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