專利名稱:語音編碼處理系統(tǒng)及其語音編碼資源分配方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種編碼處理系統(tǒng)及編碼資源分配方法,尤其涉及一種語音編碼處理系統(tǒng)及其語音編碼資源分配方法。
背景技術(shù):
話音信號在無線接入網(wǎng)中需要進行壓縮編碼,以便充分利用無線信道的資源?,F(xiàn)有通信系統(tǒng)(如CDMA系統(tǒng))中提供了3種話音編碼算法,以后還可能增加其他算法。這些語音編碼算法通常在高速處理器上實現(xiàn),由于處理器資源的限制,當需要支持的算法數(shù)量增加時將會面臨內(nèi)存等資源不足的情況,而如果通過增加外部存儲器的方式增加存儲資源,則會帶來運算速度下降的問題。
針對支持多種編碼算法的問題,現(xiàn)有技術(shù)中的解決方案主要有兩種,一種方案是將每種算法分配到不同的處理器上,另一種解決方案是采用在一個處理器上同時支持所有算法的方式。
圖1-3所示為將每種算法分配到不同的處理器上的解決方案的示意圖。在該方案中,每種算法對應(yīng)一個處理器,這樣一個處理器只處理一種算法。本實施例中,采用三種算法A、B、C,加載時只需要根據(jù)算法的需求比例PA,PB,PC計算得到對應(yīng)的處理器數(shù)量。在實現(xiàn)上采用人工計算的方法,對算法需求比例進行固定的分配,算法A、B、C分別對應(yīng)的處理器數(shù)量為NA、NB、NC(PA∶PB∶PC=NA∶NB∶NC)。
PA∶PB∶PC在程序中固定設(shè)置,加載時根據(jù)NA、NB、NC將算法加載到相應(yīng)數(shù)量的處理器中,具體加載流程請參照圖3所示。
這種技術(shù)方案的缺點在于處理器利用率低,成本高;靈活性低,適應(yīng)算法比例變化的能力弱。假設(shè)每種算法在實際應(yīng)用時有一定的比例,假如在需要支持三種算法的情況下使用三種算法的概率都是33%(即1/3),如果處理器為15個,則三種算法各占5個處理器。而實際上三種算法的使用概率不一定相同,需要根據(jù)不同比例分配處理器資源,當實際需要的算法概率統(tǒng)計不準確時,這樣的分配算法會導致較大的資源浪費。
請參照圖4、5所示,每個處理器上同時支持所有語音編碼算法的技術(shù)方案,例如N個處理器都加載算法A、B、C。這樣,話音編碼算法比較耗資源,因此容易出現(xiàn)資源不足的情況;這種方法可擴展性不好、靈活性不夠,后續(xù)增加算法也可能導致資源不足;由于處理器的存儲器資源(如芯片存儲空間)限制,當處理器內(nèi)部的存儲空間不足時,有些算法程序就將被放在擴充的外部存儲器中,處理器內(nèi)部存儲空間速度高、擴充的外部存儲器速度低,程序放在片外導致運算速度降低;當運算速度降低時,只能降低每個處理器同時處理的用戶數(shù)量。
發(fā)明內(nèi)容
本發(fā)明解決的技術(shù)問題是提供一種語音編碼處理系統(tǒng)及其語音編碼資源分配方法在支持多種算法的情況下充分利用處理器的性能和資源。
本發(fā)明語音編碼處理系統(tǒng)包括處理單元,處理單元包括若干處理器,用于運行語音編碼算法;每個處理器至少能同時處理兩種算法,且該處理系統(tǒng)還包括加載控制單元,用于將語音編碼算法組合加載到相應(yīng)數(shù)量的處理器中。
所述語音編碼處理系統(tǒng)還包括比例轉(zhuǎn)換單元,用于根據(jù)算法需求比例計算出各個語音編碼算法組合占用處理器的數(shù)量。所述算法需求比例是指每種算法的話路數(shù)量占總話路數(shù)量的百分比。
所述處理單元處理A、B、C三種算法,其組合方式為AB、AC、BC;所述處理單元具有處理器的總數(shù)為N;A、B、C三種算法需求比例為PA、PB、PC,則加載AB、AC、BC算法組合的處理器數(shù)量分別為NAB=N(1-2*PC);N2=NAC(1-2*PB);NBC=N(1-2*PA)。
或者所述處理單元處理四種算法A、B、C、D,其組合方式為AB、AC、AD三種;B、C、D的算法需求比例為RB、RC、RD;所述處理單元具有處理器的總數(shù)為N,則加載算法組合AB、AC、AD的處理器數(shù)量分別為NAB=RBN/(RB+RC+RD);NAC=RCN/(RB+RC+RD);NAD=RDN/(RB+RC+RD)。
或者所述處理單元處理四種算法A、B、C、D,其組合方式為AC、BD;A、B的算法需求比例為RA、RB;所述處理單元具有處理器的總數(shù)為N,則加載算法組合AC、BD的處理器數(shù)量為NAC=RACN/(RA+RB);NBD=RBN/(RA+RB)。
相應(yīng)本發(fā)明語音編碼資源分配方法包括步驟輸入語音編碼算法的需求比例;根據(jù)算法需求比例計算出各個算法組合所需的處理器數(shù)量;將各個算法組合加載到相應(yīng)數(shù)量的處理器中;處理器運行已加載的算法組合。
如果包括A、B、C三種算法,其組合方式為AB、AC、BC;所述處理單元具有處理器的總數(shù)為N;A、B、C三種算法需求比例為PA、PB、PC,則加載AB、AC、BC算法組合的處理器數(shù)量分別為NAB=N(1-2*P3);N2=NAC(1-2*P2);NBC=N(1-2*P1)。
如果包括四種算法A、B、C、D,其組合方式為AB、AC、AD三種;B、C、D的算法需求比例為RB、RC、RD;所述處理單元具有處理器的總數(shù)為N,則加載算法組合AB、AC、AD的處理器數(shù)量分別為NAB=RBN/(RB+RC+RD);NAC=RCN/(RB+RC+RD);NAD=RDN/(RB+RC+RD)。
如果包括四種算法A、B、C、D,其組合方式為AC、BD;A、B的算法需求比例為RA、RB;所述處理單元具有處理器的總數(shù)為N,則加載算法組合AC、BD的處理器數(shù)量為NAC=RACN/(RA+RB);NBD=RBN/(RA+RB)。
與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點1、解決資源利用的充分性和運算能力之間的矛盾
對算法進行組合分配,根據(jù)處理器的能力在一個處理器上同時處理2個以上的算法,但不一定是全部算法,充分利用處理器資源,同時保證算法處理的速度。
2、提高適應(yīng)算法比例變化的能力通過每個處理器處理兩種以上算法而不是單個的算法),針對各種算法分配的可用資源實際比例超過算法需求的資源比例,例如實施例一中當需要算法A的資源比例為1/3時,實際能處理算法1的資源比例為2/3,使得在處理器資源分配時即使各算法比例不準確,也可以避免資源浪費。
3、根據(jù)算法需求比例,計算的處算法組合所需處理器數(shù)量,不用采用固定設(shè)置,使得適用性更廣。
圖1、2、3是現(xiàn)有技術(shù)第一種解決方案示意圖。
圖4、5是現(xiàn)有技術(shù)第二種解決方案示意圖。
圖6是本發(fā)明語音編碼處理系統(tǒng)框圖。
圖7是本發(fā)明語音編碼資源分配方法獲得算法組合處理器數(shù)量的流程圖。
圖8是本發(fā)明語音編碼處理流程圖。
具體實施例方式
請參照圖6所示,本發(fā)明語音編碼處理系統(tǒng),包括處理單元1和加載系統(tǒng)2。處理單元1包括若干處理器,用于運行語音編碼算法,每個處理器至少能同時處理兩種算法。加載系統(tǒng)2包括比例轉(zhuǎn)換單元21,用于根據(jù)算法需求比例計算出各個語音編碼算法組合占用處理器的數(shù)量;加載控制單元22,用于將語音編碼算法組合加載到相應(yīng)數(shù)量的處理器中。
所述算法需求比例是指每種算法的話路數(shù)量占總話路數(shù)量的百分比。
實施例一
假定假定各處理器處理各算法(如A、B、C三種算法)的話路數(shù)量相同;如果處理器的信號路數(shù)變化,只要變化不大(在縮小1倍和增大1倍之間),仍可按照上述方法粗略估計,即考慮所有的處理器處理相同的信號路數(shù)。
處理器總數(shù)N,每個處理器的話路為M個;三種算法需求比例PA、PB、PC,組合方式為AB、AC、BC;假設(shè)每個處理器運行兩種算法中的其中之一的概率都是50%,則在滿負荷情況下,能提供算法A、B、C的話路數(shù)分別為(NA+NB)M/2、(NA+NC)M/2、(NB+NC)M/2;假設(shè)支持算法A、B、C的話路數(shù)占總話路數(shù)的比例為PA、PB、PC,顯然PA+PB+PC=1;根據(jù)比例關(guān)系有(NA+NB)/(NA+NC)=PA/PB;(NA+NB)/(NB+NC)=PA/(1-PA-PB);則加載AB、AC、BC算法組合的處理器數(shù)量分別為NAB=N(1-2*PC);NAC=NAC(1-2*PB);NBC=N(1-2*PA)。
實施例二所述處理單元處理四種算法A、B、C、D,其組合方式為AB、AC、AD三種,其中算法A的需求比例占50%以上;B、C、D的算法需求比例為RB、RC、RD;所述處理單元具有處理器的總數(shù)為N,每個處理器的話路為M個;各處理器處理各算法(如A、B、C三種算法)的話路數(shù)量相同;則加載算法組合AB、AC、AD的處理器數(shù)量分別為NAB=RBN/(RB+RC+RD);NAC=RCN/(RB+RC+RD);NAD=RDN/(RB+RC+RD)。
實施例三
所述處理單元處理四種算法A、B、C、D,每種算法的需求比例不超過50%,其中算法A、B的需求比例較大,則兩種算法的組合方式可以為AC、BD;A、B的算法需求比例為RA、RB;所述處理單元具有處理器的總數(shù)為N,則加載算法組合AC、BD的處理器數(shù)量為NAC=RACN/(RA+RB);NBD=RBN/(RA+RB)。
另外,各個算法組合可以實現(xiàn)計算得出,固定設(shè)置加載控制單元22中,而省略比例轉(zhuǎn)換單元21。
本發(fā)明語音編碼資源分配方法,包括步驟輸入語音編碼算法的需求比例;根據(jù)算法需求比例計算出各個算法組合所需的處理器數(shù)量;將各個算法組合加載到相應(yīng)數(shù)量的處理器中;處理器運行已加載的算法組合。
請參照圖7、8所示,以實施例一為例輸入算法需求比例PA、PB、PC;生成各個算法組合所需處理器的數(shù)量NAB、NAC、NBC保存NAB、NAC、NBC;根據(jù)NAB將算法組合AB加載到相應(yīng)數(shù)量的處理器中;根據(jù)NAC將算法組合AC加載到相應(yīng)數(shù)量的處理器中;根據(jù)NBC將算法組合BC加載到相應(yīng)數(shù)量的處理器中。
通過提供算法組合的方式,使得每種算法可用資源范圍增加,提高了系統(tǒng)適應(yīng)算法比例變化的能力。
例如,與現(xiàn)有技術(shù)方案一相比,假設(shè)同樣是采用15個處理器處理3種算法,在三種算法需求比例都為1/3(33.3%)的情況下,現(xiàn)有技術(shù)方案一支持三種算法之一的處理器數(shù)量都為5,而本發(fā)明方案支持三種算法之一的處理器數(shù)量都為10,范圍增加1倍。實際可以支持每種算法的比例可以在需求比例基礎(chǔ)上偏差±100%(對于此例實際支持的算法比例為0%~66.6%),對于需求比例的準確性要求大大降低,適應(yīng)算法比例變化的能力得到很大的提高;當需求比例不準確時,現(xiàn)有技術(shù)方案1的資源浪費情況嚴重,本方案較好的解決了這個問題,上面實施例中如當算法A實際比例為0%時,則AB、AC程序中的資源可以被B、C算法使用,避免浪費;具體每種程序支持的算法數(shù)量和算法類型可以根據(jù)處理器資源能力確定,以充分利用處理器資源并保證運算能力為原則,避免了現(xiàn)有技術(shù)方案二中資源不足的問題或資源不足導致運算效率低的問題。
權(quán)利要求
1.一種語音編碼處理系統(tǒng),包括處理單元,處理單元包括若干處理器,用于運行語音編碼算法,其特征在于每個處理器至少能同時處理兩種算法,且該處理系統(tǒng)還包括加載控制單元,用于將語音編碼算法組合加載到相應(yīng)數(shù)量的處理器中。
2.如權(quán)利要求1所述的語音編碼處理系統(tǒng),其特征在于,還包括比例轉(zhuǎn)換單元,用于根據(jù)算法需求比例計算出各個語音編碼算法組合占用處理器的數(shù)量。
3.如權(quán)利要求2所述的語音編碼處理系統(tǒng),其特征在于,所述算法需求比例是指每種算法的話路數(shù)量占總話路數(shù)量的百分比。
4.如權(quán)利要求3所述的語音編碼處理系統(tǒng),其特征在于,所述處理單元處理A、B、C三種算法,其組合方式為AB、AC、BC;所述處理單元具有處理器的總數(shù)為N;A、B、C三種算法需求比例為PA、PB、PC,則加載AB、AC、BC算法組合的處理器數(shù)量分別為NAB=N(1-2*PC);N2=NAC(1-2*PB);NBC=N(1-2*PA)。
5.如權(quán)利要求3所述的語音編碼處理系統(tǒng),其特征在于,所述處理單元處理四種算法A、B、C、D,其組合方式為AB、AC、AD三種;B、C、D的算法需求比例為RB、RC、RD;所述處理單元具有處理器的總數(shù)為N,則加載算法組合AB、AC、AD的處理器數(shù)量分別為NAB=RBN/(RB+RC+RD);NAC=RCN/(RB+RC+RD);NAD=RDN/(RB+RC+RD)。
6.如權(quán)利要求3所述的語音編碼處理系統(tǒng),其特征在于,所述處理單元處理四種算法A、B、C、D,其組合方式為AC、BD;A、B的算法需求比例為RA、RB;所述處理單元具有處理器的總數(shù)為N,則加載算法組合AC、BD的處理器數(shù)量為NAC=RACN/(RA+RB);NBD=RBN/(RA+RB)。
7.一種語音編碼資源分配方法,其特征在于,包括步驟輸入語音編碼算法的需求比例;根據(jù)算法需求比例計算出各個算法組合所需的處理器數(shù)量;將各個算法組合加載到相應(yīng)數(shù)量的處理器中;處理器運行已加載的算法組合。
8.如權(quán)利要求7所述的語音編碼資源分配方法,其特征在于,所述算法需求比例是指每種算法的話路數(shù)量占總話路數(shù)量的百分比。
9.如權(quán)利要求8所述的語音編碼資源分配方法,其特征在于,包括A、B、C三種算法,其組合方式為AB、AC、BC;所述處理單元具有處理器的總數(shù)為N;A、B、C三種算法需求比例為PA、PB、PC,則加載AB、AC、BC算法組合的處理器數(shù)量分別為NAB=N(1-2*P3);N2=NAC(1-2*P2);NBC=N(1-2*P1)。
10.如權(quán)利要求8所述的語音編碼資源分配方法,其特征在于,包括四種算法A、B、C、D,其組合方式為AB、AC、AD三種;B、C、D的算法需求比例為RB、RC、RD;所述處理單元具有處理器的總數(shù)為N,則加載算法組合AB、AC、AD的處理器數(shù)量分別為NAB=RBN/(RB+RC+RD);NAC=RCN/(RB+RC+RD);NAD=RDN/(RB+RC+RD)。
11.如權(quán)利要求8所述的語音編碼資源分配方法,其特征在于,包括四種算法A、B、C、D,其組合方式為AC、BD;A、B的算法需求比例為RA、RB;所述處理單元具有處理器的總數(shù)為N,則加載算法組合AC、BD的處理器數(shù)量為NAC=RACN/(RA+RB);NBD=RBN/(RA+RB)。
全文摘要
一種語音編碼處理系統(tǒng)及其語音編碼資源分配方法,其中語音編碼處理系統(tǒng)包括處理單元,處理單元包括若干處理器,用于運行語音編碼算法;每個處理器至少能同時處理兩種算法,且該處理系統(tǒng)還包括加載控制單元,用于將語音編碼算法組合加載到相應(yīng)數(shù)量的處理器中。相應(yīng),語音編碼資源分配方法包括步驟輸入語音編碼算法的需求比例;根據(jù)算法需求比例計算出各個算法組合所需的處理器數(shù)量;將各個算法組合加載到相應(yīng)數(shù)量的處理器中;處理器運行已加載的算法組合。這樣本發(fā)明對算法進行組合分配,根據(jù)處理器的能力在一個處理器上同時處理2個以上的算法,但不一定是全部算法,充分利用處理器資源,同時保證算法處理的速度。
文檔編號G10L19/00GK1766989SQ200410087110
公開日2006年5月3日 申請日期2004年10月27日 優(yōu)先權(quán)日2004年10月27日
發(fā)明者董曉宏, 覃景繁 申請人:華為技術(shù)有限公司