新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 自適應(yīng)計算減少Q(mào)CELP功率

自適應(yīng)計算減少Q(mào)CELP功率

作者: 時間:2006-05-07 來源:網(wǎng)絡(luò) 收藏

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話音編解碼所選的聲碼器。一個話音編解碼器等于一個編碼器和解碼器對。依此標(biāo)準(zhǔn)進(jìn)行設(shè)計對于便攜系統(tǒng)設(shè)計人員來講是個問題,這是因為用通常方法需要異常的功耗。

本文引用地址:http://www.butianyuan.cn/article/242354.htm

QCELP是一種向量編碼器型話音編解碼,在話音編解碼分類中被稱為CELP(碼受激線性預(yù)示)編碼話音壓縮算法。CELP編解碼采用話音編碼的合成分析方法。

編碼器的任務(wù)是確定描述話音音頻段的小的參量組,話音音頻段可以最小的位數(shù)表示。編碼器發(fā)送參量到譯碼器,譯碼器用這些參量重建音頻段。一旦重建完成,音頻段便在揚(yáng)聲器系統(tǒng)播放。

話音產(chǎn)生系統(tǒng)可模擬為聲束、聲調(diào)、周期激勵器(聲卡)或剩余噪聲源。聲束用線性預(yù)示編碼模擬。聲調(diào)和剩余噪聲激勵聲束并用碼簿(codebook)編碼。

用碼簿索引選擇來自碼簿的高斯向量(見圖1).向量也稱之為激勵信號,向量與增益值相乘并經(jīng)2個線性濾波器濾波。第1個濾波器之為長項濾波器,它重建激勵信號中語音的長項聲調(diào)周期數(shù)。第2個濾波器(短項濾波器)模擬話音的譜形。短項濾波器的輸出是合成語音。

LPC(線性預(yù)示編碼)濾波器的頻譜是語音信號的譜線包絡(luò)。所以,濾波器產(chǎn)生話音幅度。合成器產(chǎn)生向量或話音取樣N長度的子幀(在8KHz取樣率時,N為10~40)。合成器參量以幀或子幀速率更新,一般1幀是4個子幀長。

通常,碼簿索引(碼)、碼簿增益和長項預(yù)示參量以子幀速率更新。對于IS-96A WCELP-13,碼簿參量以最大到16倍幀或4倍子幀速率更新,短項濾波器系數(shù)以幀速率傳送到合成器,但通常以子幀速率線性內(nèi)插。

合成分析

CELP編解采用人聲音產(chǎn)生系統(tǒng)的模型,它由聲束、聲卡、送話器嘴和語音組成。此系統(tǒng)可用一個噪聲源、一個音調(diào)合成濾波器和聲束或共振峰合成濾波器進(jìn)行模擬。話音合成器或解壓縮單元的數(shù)據(jù)流激勵音調(diào)濾波器(圖2)。然后,信號由共振峰合成器或LPC濾波器處理,最后是后濾波。

合成器和分析器把話音分解為段(幀)。在8KHz取樣率時(160個取樣),幀長度是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ù)時序的。但是偽隨機(jī)數(shù)時序的求解是計算不充分的。

用合成分析方法(有時稱之為向量量化器)求得音調(diào)和碼簿參量(見圖3)。此過程包括為音調(diào)確定或搜索算法選擇最佳延遲參量和為碼簿搜索選擇最佳索引。思想是測量與相關(guān)函數(shù)匹配的特性,相關(guān)函數(shù)與目標(biāo)話音段比較時再現(xiàn)合成信號的誤差。根據(jù)延遲或索引產(chǎn)生的最小誤差信號選擇是佳延遲或碼簿索引。

對每個延遲和碼簿索引,都必須執(zhí)行通過合成器的數(shù)據(jù)處理和信號關(guān)聯(lián)。用可編程實現(xiàn)這兩種搜索會占用大部分的計算時間和功耗。QCELP算法也需要用32位運(yùn)算做絕大部分相關(guān)測量。

功率消耗程序

有8個主要的內(nèi)部碼環(huán)路或程序消耗絕大部分的QCELP功率。它們是碼簿和聲調(diào)搜索,線頻譜對(LSP)計算,遞歸卷積和4個不同的濾波器。在QCELP的分析器/壓縮器側(cè)用實現(xiàn),3個內(nèi)部碼環(huán)路占總功耗的80%.其中聲調(diào)和碼簿搜索占49%;LSP和余弦占16%;各種濾波器占其余14%。在合成器/解壓縮器側(cè),各種濾波器占功耗的56%左右,而其他功能(如正弦,余弦和除法)占別外5%。這兩種QCELP函數(shù)總計占功耗的61%。

隨著QCELP算法日益普及和應(yīng)用(如蜂窩電話所需功能的增加),傳統(tǒng)的DSP/微處理器和ASIC方法開始失去它們的優(yōu)執(zhí)。但自適應(yīng)計算機(jī)(ACM)技術(shù)對各種便攜設(shè)計(包括蜂窩電話)是一種更有效且功耗更低的大有前途的方法。

一般的ACM芯片集成有帶大的自適應(yīng)結(jié)構(gòu)的RISC處理器芯核。特定的接口電路緊密配合RISC芯核和細(xì)粒狀的自適應(yīng)結(jié)構(gòu)。硬線外設(shè)圍繞芯核并與外部電路接口。幾個片上SRAM支持處理器或自適應(yīng)結(jié)構(gòu)。最終,可配置的輸入/輸出口可讓數(shù)據(jù)流入或流出自適應(yīng)結(jié)構(gòu)。這樣,一個電路可在需要時形成,而一旦它的任務(wù)完成便可被自適應(yīng)結(jié)構(gòu)中運(yùn)行的其他電路替代。

更多性能

隨著要求低功耗而同時保持高性能的發(fā)展趨勢。便攜系統(tǒng)設(shè)計人員花精力分析當(dāng)今技術(shù)是值得的。這樣做的一種方法是比較計算效率(CPE-computational power efficiency),CPE是比較當(dāng)今設(shè)計技術(shù)優(yōu)缺點(diǎn)的量度。CPE定義為在一個時鐘周期內(nèi)能解決問題的有效工作門數(shù)與器件總門數(shù)之比。

一個典型的DSP芯片或嵌入式芯核的CPE是10%左右(見圖4)。這意味著在一個DSP芯核或芯片中一般只有10%的門在任一時間內(nèi)執(zhí)行真正的工作,表明處理器只有一小部分正在真正在執(zhí)行有用的工作,其余部分是額外消耗,用以維持處理器中有效工作的那一部分。

ASIC的平均CPE是25%左右,是DSP方案的2.5倍,這些增益可提高性能或降低功耗,是以犧牲靈活性來實現(xiàn)。ASIC設(shè)計周期中的任何不可預(yù)見的變化都會導(dǎo)致整個ASIC的重新設(shè)計。

ACM的CPE是60%,比ASIC好2.5倍。ACM器件也具有算法可編程的優(yōu)點(diǎn),這種技術(shù)允許一種算法以最短的時間運(yùn)行在最有效的硬件中。這使得便攜無線系統(tǒng)在支行時間能隨時適應(yīng)任務(wù)。這意味著不需要改變算法來適應(yīng)預(yù)先確定的處理器硬件。一個算法所需的最佳硬件產(chǎn)生算法運(yùn)行所需的最少時間。

QCELP功率分析

在DSP芯核上運(yùn)行QCELP算法消耗大約84mW功率(圖5)。這是根據(jù)0.25μm CMOS基具有DSP功能和存儲器的片上系統(tǒng)大約占據(jù)4mm2,功耗84mW。相反,把8個最大功耗的QCELP算法放到ASIC邏輯芯核,其功耗只有19mW,即ASIC芯核功耗3mW,DSP芯核16mW。但這種設(shè)計方法占23mm2硅片。其中ASIC芯核運(yùn)行8個內(nèi)部碼環(huán)路,而DSP芯核運(yùn)行其余QCELP碼。

ASIC硅面積明顯大于DSP,但功率節(jié)省較大。蜂窩電話設(shè)計中的ASIC方法正在變得不實用,這是由于經(jīng)常改變算法和標(biāo)準(zhǔn)以及增加更多蜂窩電話功能所致。

當(dāng)便攜系統(tǒng)設(shè)計人員把ACM加到DSP引擎以運(yùn)行QCELP算法時,可大大減少功耗,這樣做只增加5mm2 ACM芯片。在該設(shè)計實例中,8個最大功耗的程序從DSP運(yùn)算中去掉,而加入功耗小的ACM引擎,只消耗3mW功率。采取這種設(shè)計步驟,節(jié)省了DSP運(yùn)算的68mW(前面提及功耗為84mW)。現(xiàn)在,DSP/ACM基QCELP聲碼器總功耗只有19mW。

算法可編程ACM器件具有ASIC的功率特性,而大小可與DSP相比。ACM被列舉進(jìn)行任何時候特殊算法所需的硬件中,如本例中的8個內(nèi)部碼環(huán)路。每20ms,數(shù)據(jù)進(jìn)入QCELP話音編解碼器,所以每個內(nèi)部碼環(huán)路必須運(yùn)行50次/秒。實質(zhì)上,ACM是一片小的時限硅片,看起來像一個ASIC。結(jié)果以每秒運(yùn)行400次,ACM形成運(yùn)行這些算法所需的精確硬件。



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉