專利名稱::編解碼方法、裝置和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及網(wǎng)絡(luò)通信領(lǐng)域,尤其涉及一種編解碼方法、裝置和系統(tǒng)。
背景技術(shù):
:現(xiàn)有的數(shù)字語音和音頻信號的編碼技術(shù)采用的是變換編碼,變換編碼的處理過程主要包括將待編碼的信號的一幀分成多個采樣塊,并用諸如離散傅立葉變換、離散余弦變換等線性正交變換對每幀求取變換系數(shù),之后對一幀中的每個采樣塊進(jìn)行量化。在對采樣塊的量化過程中,將該采樣塊的多個采樣系數(shù)組在一起形成一個源矢量(即需要進(jìn)行量化的矢量),且以一個碼本項對該源矢量進(jìn)行量化。該碼本項通常是根據(jù)距離準(zhǔn)則得出的碼本中最近的鄰點。在碼本項中增加更多的碼矢會增加量化的比特率和復(fù)雜性,但會降低量化的平均失真。在變換編碼中,通常通過對信號進(jìn)行變換并獲取所有的變換系數(shù)或其子集來獲得源矢量。為適應(yīng)源矢量的不斷變化特征,通過自適應(yīng)比特分配原則,使用不同的碼本尺寸來量化源矢量。在現(xiàn)有技術(shù)中,對源矢量的量化過程采用球型矢量量化的方法,球型矢量量化是一種代數(shù)型的矢量量化,它的特點是在多維信號空間中,構(gòu)造一種有規(guī)律的網(wǎng)絡(luò),把信號空間劃分為胞腔,網(wǎng)絡(luò)中的點稱為格點,并以格點作為矢量量化的值。由于網(wǎng)絡(luò)是有規(guī)律的,故格點和胞腔也是有規(guī)律的。現(xiàn)有技術(shù)中的球型矢量量化方法的量化算法包括如下計算步驟1、波段劃分。^l夸0—7kHz的一個幀的MDCT(ModifiedDiscreteCosineTransform,文進(jìn)的離散余弦變換)信號頻譜(280個樣點)劃分為18個波段,其中前17個波段為16維,最后一個波段為8維,分別對每個波段進(jìn)行球型矢量量化。2、頻譜包絡(luò)計算。計算每個波段的頻譜包絡(luò),頻譜包絡(luò)表征頻譜中某波段的總體平均能量,可以看作是波段的能量信息的一種表示形式,并采用差分哈夫曼或直接二進(jìn)制兩種方式編碼頻譜包絡(luò),選擇編碼比特數(shù)最小的方式編碼并寫入碼流o3、波段比特數(shù)劃分。采用感知重要性作為波段比特數(shù)劃分的依據(jù),將各波段的感知重要性進(jìn)行排序,并以此為依據(jù)給各波段分配比特數(shù)。對于8維矢量量化和16維矢量量化,各存在若干碼本,每個碼本的編碼比特數(shù)由下述表1所示表1:各維碼本的編碼比特數(shù)維數(shù)各碼本編碼比特數(shù)8R8={0,7,10,12,13,14,15,16}16R16={0,9,14,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32}在給各波段分配比特數(shù)時,引入"水平值"、p'來進(jìn)行分配,分配7>式如下<formula>formulaseeoriginaldocumentpage11</formula>上述公式中的"^(力為第j個波段分配的比特數(shù),")如表(1)所示,其中^-Cw/C/)二8或16為最大的可用比特n分配時,首先初始化"水平值"2,的上下限<formula>formulaseeoriginaldocumentpage11</formula>然后,^使用二分法在上下限中迭代查找10次,每次迭代查找后計算各波段所用比特數(shù)的公式如下<formula>formulaseeoriginaldocumentpage11</formula>計算總的編碼比特數(shù),根據(jù)總的編碼比特數(shù)與"^^-^的比較結(jié)果,修改上下限,繼續(xù)下一步迭代查找,直到迭代結(jié)束或是比特數(shù)分配完為止。4、球型矢量量化。球型矢量量化的過程中采用的碼本是嵌套的,該嵌套的碼本的如下《6C&C&C…CZ逸C"60C&C《2上述Q為碼本,其上標(biāo)代表維數(shù),下標(biāo)代表對應(yīng)的比特數(shù)。在進(jìn)行球型矢量量化時,首先確定每一個波段的碼本,在每一個碼本中,都存在若干碼矢,碼本中存儲碼矢的為絕對引導(dǎo)項,絕對引導(dǎo)項是一種降序排列的非負(fù)矢量,其通過各分量排列組合、改變符號可以表征一系列碼矢。然后,在選定的碼本中搜索最適宜的碼矢進(jìn)行匹配,在碼矢搜索時,首先將待量化矢量取絕對值,并保留符號信息,隨后將其按降序排列,并與碼本中的各碼矢計算"點積",選取"點積"最大對應(yīng)的碼矢為最佳碼矢。發(fā)明人在研究中發(fā)現(xiàn),球型矢量量化的方法采用嵌套的碼本,限制了碼本空間的大小。該方法用"二分法,,計算各波段所用比特數(shù)時,容易造成比特分配不準(zhǔn)確,進(jìn)而有可能造成選擇錯誤的碼本,從而降低量化性能。
發(fā)明內(nèi)容本發(fā)明實施例的目的是提供一種編解碼方法、裝置和系統(tǒng),從而可以解決現(xiàn)有技術(shù)方案中限制了碼本空間的大小、容易選擇錯誤的碼本的問題。本發(fā)明實施例的目的是通過以下技術(shù)方案實現(xiàn)的一種編碼方法,包^":根據(jù)輸入信號的波段的平均能量和各個碼本的平均能量確定所述輸入信號的縮放因子以對所述波段進(jìn)行縮放;根據(jù)縮放后的波段的平均能量和所述各個碼本的平均能量確定所述波段對應(yīng)的碼本;將所述縮放后的波段的平均能量調(diào)整到所述波段對應(yīng)的碼本的平均能量,利用所述波段對應(yīng)的碼本對調(diào)整后的所述波^:進(jìn)行量化編碼。一種解碼方法,包括根據(jù)接收到的各個波段的頻譜包絡(luò)參數(shù)和頻譜包絡(luò)量化索引確定各個波段的平均能量,根據(jù)各個波段的平均能量和各個碼本的平均能量確定各個波段對應(yīng)的碼本和比特數(shù);根據(jù)各個波段對應(yīng)的比特數(shù)讀取各個波段的比特流;根據(jù)各個波段對應(yīng)的碼本和接收到的各個波段的碼矢索引信息,利用所述各個波段的比特流恢復(fù)出各個波段的編碼前的信號。一種編碼裝置,包括碼本分配模塊,用于根據(jù)輸入信號的波段的平均能量和各個碼本的平均能量,給所述輸入信號確定縮放因子,用該縮放因子對所述波段進(jìn)行縮放,根據(jù)縮放后的波段的平均能量和各個碼本的平均能量確定所述波段對應(yīng)的碼本;量化處理模塊,用于將所述波段的平均能量調(diào)整到所述波段對應(yīng)的碼本的平均能量,利用所述波段對應(yīng)的碼本對調(diào)整后的所述波段進(jìn)行量化編碼。一種解碼裝置,包括碼本分配模塊,用于根據(jù)接收到的頻譜包絡(luò)參數(shù)和頻譜包絡(luò)量化索引計算出各個波段的平均能量,根據(jù)各個波段的平均能量和各個碼本的平均能量確定各個波段對應(yīng)的碼本和比特凄t;信號恢復(fù)模塊,用于根據(jù)所述碼本分配模塊確定的各個波段對應(yīng)的比特數(shù)依次讀取各個波段的信號,利用所述碼本分配模塊確定的各個波段對應(yīng)的碼本和接收到的各個波段的碼矢索引信息恢復(fù)出各個波段的編碼前的信號。一種編解碼系統(tǒng),包括編碼端,用于根據(jù)輸入信號的各個波段的平均能量和各個碼本的平均能量,確定各個波段對應(yīng)的碼本,利用所述波段對應(yīng)的碼本對所述波段進(jìn)行量化編碼,將各個波段對應(yīng)的頻譜包絡(luò)參數(shù)和頻譜包絡(luò)量化索引、碼矢索引信息發(fā)送給解碼端;解碼端,用于根據(jù)接收到的頻譜包絡(luò)參數(shù)和頻譜包絡(luò)量化索引計算出各波段對應(yīng)的包絡(luò)以確定各個波段的平均能量,根據(jù)各個波段的平均能量和各個碼本的平均能量確定各個波段對應(yīng)的碼本和比特數(shù),利用接收到的各個波段的碼矢索引信息恢復(fù)出各個波段的編碼前的信號。由上述本發(fā)明實施例提供的技術(shù)方案可以看出,本發(fā)明實施例根據(jù)信號的能量和碼本的平均能量計算縮放因子,利用縮放因子對信號進(jìn)行縮放,再根據(jù)縮放后的信號的能量和碼本的平均能量的關(guān)系,給輸入信號的波段確定碼本,從而避免了因碼本完全嵌套而造成編碼效率較低的問題。為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1為本發(fā)明實施例所述編碼方法的處理流程圖2為本發(fā)明實施例圖1中的步驟1-4的具體處理流程圖;圖3為本發(fā)明實施例圖1中的步驟1-5的具體處理流程圖;圖4為本發(fā)明實施例圖1中的步驟1-6的具體處理流程圖;圖5為本發(fā)明實施例圖1中的步驟1-7的具體處理流程圖;圖6為本發(fā)明實施例所述編碼裝置的結(jié)構(gòu)示意圖;圖7為本發(fā)明實施例所述解碼裝置的結(jié)構(gòu)示意圖;圖8為本發(fā)明實施例所述編解碼系統(tǒng)的結(jié)構(gòu)示意圖。具體實施例方式下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護(hù)的范圍。在本發(fā)明實施例中,將輸入信號的各個波段按照平均能量的大小從大到小排序,設(shè)定平均能量最大和最小的波段對應(yīng)的碼本,將平均能量最大的波段的能量除以該波段對應(yīng)的碼本的平均能量得到最大縮放因子,將平均能量最小的波段的能量除以該波段對應(yīng)的碼本的平均能量得到最小縮放因子;將所述最大縮放因子作為初始縮放因子對輸入信號的各個波段進(jìn)行縮放,確定平均能量最接近所述縮放后的各個波段的平均能量的碼本為各個波段對應(yīng)的碼本,將各個波段對應(yīng)的碼本的比特數(shù)進(jìn)行相加所獲得的總比特數(shù)和最大可用比特數(shù)進(jìn)行比較;如果比較結(jié)果為相等,則保存所述已確定的各個波段對應(yīng)的碼本和比特數(shù)信息;否則,根據(jù)所述最大縮放因子和最小縮放因子對所述初始縮放因子進(jìn)行更新,利用更新后的縮放因子對輸入信號的各個波段進(jìn)行縮放,通過迭代運算重新確定各個波段對應(yīng)的碼本和比特數(shù)信息。下面結(jié)合附圖來詳細(xì)描述本發(fā)明實施例,本發(fā)明實施例所述編碼方法的處理流程如圖1所示,包括如下步驟步驟1-1、獲得全頻帶待量化的增強(qiáng)層MDCT域信號S。在編碼端,使用寬帶語音編碼器作為核心編碼器,該核心編碼器使用帶寬擴(kuò)展技術(shù)對7kHz以下的高頻段信號進(jìn)行編碼。核心編碼器對編碼端接收到的待量化的原始信號進(jìn)行編碼處理得到合成信號,計算該合成信號與該原始信號的誤差信號,將該誤差信號變換到MDCT域作為原始信號的7kHz以下寬帶核心層部分的待量化增強(qiáng)信號S。同時,將上述原始信號的超高頻部分(7-14kHz)變換到1/100丁域作為原始信號的增強(qiáng)層超寬頻部分待量化信號&。然后,將上述信號S和信號&合并成原始信號的全頻帶待量化的增強(qiáng)層MDCT域信號S,這可以保證全頻帶信息可以在解碼端重建。步驟1-2、將待量化的MDCT域信號S劃分為若干波段,計算每個波段的頻譜包絡(luò),并對包絡(luò)進(jìn)行編碼以得到量化的頻譜包絡(luò)參數(shù)和頻譜包絡(luò)量化索引。將上述全頻帶的待量化的MDCT域信號S的每一幀信號劃分為若干頻率波段,具體劃分方法為對輸入的每一個幀的頻譜信號(頻諳樣點總數(shù)目數(shù)通常為8的倍數(shù)),以16維數(shù)據(jù)或8維數(shù)據(jù)為一組劃分為一個波段,計算每一波段的頻譜包絡(luò),計算公式如下1JA力—6服《(/(7'+1)-1上述公式中的e"一)表示第i個頻率波段的頻譜包絡(luò),dim(0表示該波段矢量維數(shù),^-^"""(0表示第i個波段頻譜樣點在整幀樣點中的起始位置。SMOCT("為頻域信號,s,為一個小值偏移,以保證log函數(shù)的操作數(shù)大于0。在高頻信號中,人耳對信號頻譜能量的感知比對頻譜精細(xì)結(jié)構(gòu)的感知更為敏感。因而,需要對頻譜包絡(luò)進(jìn)行編碼,以保證量化編碼后主觀聽力失真小。本實施例釆用高精度的差分哈夫曼編碼與低精度的二進(jìn)制編碼相結(jié)合的方法,對每個波段的頻譜包絡(luò)進(jìn)行編碼??梢允褂靡粋€比特位來表征采用的編碼模式,比如,用0代表差分哈夫曼編碼,用1代表直接二進(jìn)制編碼。在本發(fā)明的其它實施例中,差分哈夫曼編碼與二進(jìn)制編碼也可以用其它方式來表征。步驟1-3、分別設(shè)定各個碼本對應(yīng)的平均能量。在對每個波段的包絡(luò)進(jìn)行編碼的過程中,根據(jù)各波段的感知重要性的不同,為各波段分配不同的編碼比特數(shù),上述感知重要性由各波段的平均能量表征。在本發(fā)明實施例中,選取基于z"格的碼本。進(jìn)行球型量化的球矢量的維數(shù)可以為16維或8維,8維或16維的球矢量都對應(yīng)若干個碼本,每一個碼本包含若干碼矢。通過訓(xùn)練的方法分別設(shè)定各個碼本對應(yīng)的平均能量。首先,確定在某一能量范圍內(nèi)z"格的所有格點集合,作為初始碼本,該能量范圍即為初始碼本對應(yīng)的平均能量。然后提取大量的訓(xùn)練矢量對初始碼本進(jìn)行訓(xùn)練,將每個訓(xùn)練矢量歸類到最合適的初始碼本中,保存統(tǒng)計信息。最后,分析統(tǒng)計信息,刪除匹配訓(xùn)練矢量較少的初始碼本,對于有較多訓(xùn)練矢量匹配的碼本,根據(jù)設(shè)定的碼本量化比特數(shù),保留其中訓(xùn)練矢量匹配較多的碼矢,刪除訓(xùn)練矢量匹配較少的矢量,組成最終碼本,最終碼本對應(yīng)的能量即為碼本的平均能量。每個碼本對應(yīng)一個平均能量e""-C6和一個編碼比特數(shù)^"-^,各碼本對應(yīng)的平均能量e""-^隨碼本號增加而遞增,對應(yīng)的""—^也隨之遞增。下述表2和表3分別給出了8維和16維的球矢量對應(yīng)的碼本號、平均能量和比特數(shù)之間的關(guān)系<table>tableseeoriginaldocumentpage17</column></row><table>表3:16維的球矢量對應(yīng)的碼本號、平均能量和比特數(shù)<table>tableseeoriginaldocumentpage18</column></row><table>步驟1-4、根據(jù)頻譜包絡(luò)參數(shù)和頻譜包絡(luò)量化索引計算包絡(luò),根據(jù)包絡(luò)計算各波段的平均能量,根據(jù)各波段的平均能量和碼本的平均能量,采用迭代搜索、逐步優(yōu)化的計算方法確定輸入信號的縮放因子。在本實施例中,輸入信號的縮放因子包括最大縮放因子,最小縮放因子和初始縮放因子,并用縮放因子對各個波段進(jìn)行縮放,根據(jù)縮放后的各個波段的平均能量和各個碼本的平均能量確定各個波段對應(yīng)的碼本和比特數(shù)。步驟1-5、利用確定的各波段對應(yīng)的碼本對各波段信號進(jìn)行縮放,得到縮放后的信號,搜索縮放后的信號的最佳碼矢并對碼矢索引,對各波段信號進(jìn)行量化編碼。步驟1-6、編碼端將攜帶各波段信號對應(yīng)的頻譜包絡(luò)參數(shù)和頻譜包絡(luò)量化索引、碼矢索引等信息的編碼碼流采用碼流截斷的方法發(fā)送給解碼端。步驟1-7、解碼端根據(jù)接收到的頻譜包絡(luò)參數(shù)和頻譜包絡(luò)量化索引、碼矢索引等信息,以上述編碼碼流進(jìn)行解碼,恢復(fù)出編碼前的輸入信號。圖2為圖1中步驟1-4的具體處理流程圖,包括如下步驟步驟21,根據(jù)頻譜包絡(luò)參數(shù)和頻鐠包絡(luò)量化索引計算包絡(luò),根據(jù)包絡(luò)計算各波段的平均能量。根據(jù)對包絡(luò)進(jìn)行編碼后得到的頻譜包絡(luò)參數(shù)和頻譜包絡(luò)量化索引計算出相應(yīng)的包絡(luò),再計算出該包絡(luò)對應(yīng)的波段的平均能量mean—ener,該平均能量將作為給波段分配比特數(shù)的依據(jù)。步驟22,將各波段的平均能量按能量由大到小排序。在給波段分配比特數(shù)之前,首先對波段的平均能量按從大到小排序。原則上平均能量大的信號對應(yīng)較大的e""-c6,需要分配較多的編碼比特數(shù),各波段的比特分配采用迭代搜索,逐步優(yōu)化的分配方案,最終達(dá)到最佳的比特分配。步驟23、確定最大縮放因子、最小縮放因子和初始縮放因子。初始選擇所有碼本中能量從小至大的前1/3位置的碼本對應(yīng)的碼本能量e""-"作為平均能量最大波段的縮放目標(biāo),計算出縮;改因子,該縮》文因子作為當(dāng)前幀的最大縮放因子max-5-々c,具體計算公式為max—s/"c二max_/e恥r—cZje""-"為碼本平均能量從小至大的前1/3位置的碼本的平均能量值,max—匿r為平均能量最大的輸入信號的波段的平均能量。同時,選擇所有碼本中,最大的碼本能量ewer—max作為平均能量最小的輸入信號波段的縮放目標(biāo),計算縮放因子,該縮放因子作為當(dāng)前幀的最小縮放因子min」一/"c,具體計算公式為min_s_力c=min—ewer/ewer_max;min_平均能量最小的輸入信號的波段的平均能量。將上述最大縮放因子作為初始縮放因子,即初始縮放因子—》c=max—s—力c步驟24、用初始縮放因子對各個波段進(jìn)行縮放,根據(jù)縮放后的各個波段的平均能量和各個碼本的平均能量確定各個波段對應(yīng)的碼本和比特數(shù)。對當(dāng)前幀所有的波段使用L力c進(jìn)行縮放。然后,計算出縮放后的波段的平均能量值,根據(jù)該平均能量值選取一個最接近的e""-c6,并確定對應(yīng)的碼本號和6to-A。最后,將各波段對應(yīng)的^"_^求和,得到總的編碼比特數(shù)設(shè)定一個最大的可用比特數(shù)maX-w",該maX-w"是一個常數(shù),只與設(shè)定的編碼碼率相關(guān)。步驟25、將各個波段對應(yīng)的碼本的比特數(shù)進(jìn)行相加所獲得的總比特數(shù)和最大可用比特數(shù)進(jìn)行比較。將上述w^-^^和max-6to進(jìn)行比較,如果比較結(jié)果為相等,則執(zhí)行步驟27;如果比較結(jié)果為不相等,則執(zhí)行步驟26。步驟26、根據(jù)最大縮放因子和最小縮放因子對初始縮放因子進(jìn)行更新,利用更新后的縮放因子對各個波段進(jìn)行縮放,通過跌代計算重新確定各個波段對應(yīng)的碼本和比特數(shù)。具體為1、若toto/—Ato小于maX-Z)/",則保存各波段的編碼比特數(shù)分配方案,同時更新縮放因子如下max—s—々c=s_>c—1s—=Vmax—5一xmin—《_々c若發(fā)現(xiàn)max—L々"min/ac,則執(zhí)行步驟27;否則,利用更新后的^-力c,繼續(xù)進(jìn)行上述各個波段縮放,進(jìn)行下一次迭代計算,重新確定各個波段的碼本號和W"-"的處理過程。然后,執(zhí)行步驟25。2、若欣"/一tos大于max—6to,則更新縮;汰因子如下s_=max一_力cxmin—s—^hc若發(fā)現(xiàn)maX-C"c〈min」-,ac,則執(zhí)行步驟27,否則,利用更新后的L/"c,繼續(xù)進(jìn)行上述各個波段縮放,進(jìn)行下一次迭代計算,重新確定各個波段的碼本號和&"-c6。然后,執(zhí)行步驟25。在步驟25中,若迭代了規(guī)定的次數(shù)(比如10次)之后,當(dāng)前保存的編碼比特數(shù)分配方案中,^"/」to仍然小于maxjto。則從平均能量最大的波段開始,每個波段提升一級對應(yīng)的e""—A,執(zhí)行步驟27。步驟27、保存各個波段對應(yīng)的碼本和比特數(shù)信息,分配剩余比特數(shù)。保存當(dāng)前的編碼比特數(shù)分配方案中的各波^:對應(yīng)的碼本和比特凝:信息。若超過迭代設(shè)定的次數(shù)后,還存在剩余的可用比特數(shù),則將剩余的可用比特數(shù)分配到各個波段中,并且平均能量大的波段優(yōu)先分配,每個波段分配的比特數(shù)不超過最大碼本的比特數(shù)。圖3為圖1中步驟1-5的具體處理流程圖,包括如下步驟步驟31,對各波段信號的平均能量進(jìn)行縮放,得到縮放信號。確定了各波段對應(yīng)的碼本后,將各波段的平均能量縮放到相應(yīng)碼本對應(yīng)的—",得到縮放信號&。/8。步驟32、利用確定的各波段對應(yīng)的碼本來量化各波段的縮放信號,搜索縮放信號的最佳碼矢并對碼矢索引,對各波段信號進(jìn)行量化編碼。本實施例中,采用z"格作為球型矢量量化的格點,各波段矢量維數(shù)可能為16或8。然后,利用選定的波段對應(yīng)的碼本來量化該波段的縮放信號&^,量化分為兩個步驟進(jìn)行,搜索最佳碼矢和對碼矢索引,其中,搜索最佳碼矢的具體處理過程如下在球型矢量量化碼本中存儲了絕對引導(dǎo)項,絕對引導(dǎo)項是一種其各分量的值非負(fù)、并且由大到小排列的球矢量。在碼本中,每個絕對引導(dǎo)項可以生成一系列的碼矢量。搜索最佳碼矢的過程就是搜索最佳絕對引導(dǎo)項的過程。首先對待量化的縮放信號&^取絕對值,并進(jìn)行重排序,得到有序絕對值矢量即目標(biāo)矢量&。"G'),同時,保存原始的排序順序和符號信息。在搜索最佳碼矢的過程中,采用相關(guān)性co廳作為碼矢匹配度的量度,相關(guān)性cwr的計算公式如下,dimW、2、>0Jdim(,)在整個碼本中找出相關(guān)度最大的值對應(yīng)的絕對引導(dǎo)項,該絕對引導(dǎo)項即為有序絕對值球矢量對應(yīng)的最佳絕對引導(dǎo)項。然后,計算待量化的球矢量^的碼矢索引,碼矢索引包括上述的最佳絕對引導(dǎo)項信息,以及排列順序和符號信息。在編碼中,碼矢索引采用如下復(fù)合形式=o炎e"/efiwfer)+ra"A(少|(zhì)/e"fifer)x2"-,")+俯"—6/te(力其中,。,"(/e^/w)表示碼本中絕對引導(dǎo)項對應(yīng)的偏移量,I表示從/e^^變換到y(tǒng)的排列方式,"6一"'g"O0表示絕對引導(dǎo)項中非零值的數(shù)目,即表示符號信息所使用的比特數(shù),"g"-6^(力表示符號信息。圖4為圖1中步驟1-6中的具體處理流程圖,包括如下步驟步驟41、編碼端根據(jù)各波段信號對應(yīng)的頻語包絡(luò)參數(shù)和頻譜包絡(luò)量化索引、碼矢索引等信息組成編碼碼流。編碼端將各波段信號對應(yīng)的頻i普包絡(luò)參數(shù)和頻譜包絡(luò)量化索引、碼矢索引信息,以及上述對各波段的縮放信號進(jìn)行重排序產(chǎn)生的有序絕對值矢量的原始排序順序和符號信息,設(shè)置在編碼碼流中,組成編碼碼流。步驟42、編碼端采用碼流截斷的方法將上述編碼碼流發(fā)送》會解碼端。編碼端在組成了上述編碼碼流后,采用碼流截斷的方法將上述編碼碼流發(fā)送給解碼端。該碼流截斷的具體處理過程如下將各波段信號按能量從大到小排列,發(fā)送開始時,初始化已用比特數(shù)為0。在需要發(fā)送下一個波段信號的編碼碼流前,判斷當(dāng)前可用總比特數(shù)是否大于上述下一個波段信號的編碼碼流的比特數(shù),如果是,則增加上述下一個波段信號的編碼碼流的比特數(shù)并發(fā)送給解碼端,同時將已用比特數(shù)增加上述下一個波段信號的編碼碼流的比特數(shù);否則,用剩余比特數(shù)填充當(dāng)前可用總比特數(shù)。繼續(xù)進(jìn)行上述判斷當(dāng)前可用總比特數(shù)是否大于上述下一個波段信號的編碼碼流的比特數(shù)等操作,重復(fù)進(jìn)行上述操作,直到將所有波段信號的編碼碼流發(fā)送給解碼端。圖5為圖1中步驟1-7中的具體處理流程圖,包括如下步驟步驟51、解碼端計算出各個波段對應(yīng)的碼本和比特數(shù)。23解碼端接收到上述編碼端發(fā)送的編碼碼流后,獲取其中攜帶的各波段信號對應(yīng)的頻譜包絡(luò)參數(shù)和頻譜包絡(luò)量化索引、碼矢索引信息,以及上述有序絕對值矢量的原始排序順序和符號信息。解碼端首先根據(jù)上述頻譜包絡(luò)參數(shù)和頻譜包絡(luò)量化索引計算出各波段對應(yīng)的包絡(luò),按照上述圖2所示的編碼端進(jìn)行的處理步驟,計算出各個波段對應(yīng)的碼本和比特數(shù),以及各個波段的最終的縮放因子。步驟52、解碼端讀取各個波段的比特數(shù)。解碼端判斷當(dāng)前可用比特是否大于下一波段的比特數(shù),如果是,則讀入下一個波段的比特流,并修改可用比特。如果當(dāng)前可用比特不是大于下一波段的比特數(shù),則丟棄當(dāng)前剩余比特。繼續(xù)判斷下一個當(dāng)前可用比特是否大于下一波^L的比特數(shù),直到當(dāng)前可用比特大于下一波段的比特數(shù),并讀入下一個波段的比特流。解碼端按照上述處理過程,依次讀取各個波段的比特數(shù)。步驟53、解碼端恢復(fù)出各波段對應(yīng)的信號,得到編碼前的輸入信號。解碼端讀取了一個波段的比特數(shù)后,根據(jù)計算出的該波段對應(yīng)的碼本,以及接收到的該波段信號對應(yīng)的碼矢索引信息,得到該波段信號的絕對f1導(dǎo)項。根據(jù)該絕對引導(dǎo)項,以及接收到的上述有序絕對值矢量的原始排序順序和符號信息,恢復(fù)該波-度信號對應(yīng)的量化編碼后的縮方t信號。解碼端根據(jù)計算出的該波段的最終的縮放因子,對上述縮放信號進(jìn)行逆縮放,得到重建的該波段對應(yīng)的信號。解碼端按照上述處理過程,依次重建各個波段對應(yīng)的信號,得到編碼前的輸入信號。本發(fā)明實施例所述編碼裝置的結(jié)構(gòu)示意圖如圖6所示,包括碼本能量設(shè)定模塊61、碼本分配模塊62、量化處理模塊63和剩余比特分配模塊64。在本實施例中,碼本能量設(shè)定模塊61用于分別設(shè)定各個碼本對應(yīng)的平均^匕I3匕里o碼本分配模塊62用于根據(jù)輸入信號的波段的平均能量和各個碼本的平均能量,給所述輸入信號確定縮放因子,用該縮放因子對所述波段進(jìn)行縮放,根據(jù)縮放后的波段的平均能量和各個碼本的平均能量確定所述波段對應(yīng)的碼本。碼本分配模塊62包括初始縮放因子確定模塊621和計算處理模塊622。量化處理模塊63用于將所述波段的平均能量調(diào)整到所述波段對應(yīng)的碼本的平均能量,利用所述波段對應(yīng)的碼本對調(diào)整后的所述波段進(jìn)行量化。上述碼本分配模塊62中的初始縮放因子確定模塊621用于將輸入信號的各個波段按照平均能量的大小從大到小排序,設(shè)定平均能量最大和最小的波段對應(yīng)的碼本,將平均能量最大的波段的能量除以該波段對應(yīng)的碼本的平均能量再開方得到最大縮放因子,將平均能量最小的波段的平均能量除以該波段對應(yīng)的碼本的平均能量再開方得到最小縮放因子;上述碼本分配模塊62中的計算處理模塊622用于將將所述最大縮放因子作為初始縮放因子對輸入信號的各個波段進(jìn)行縮放,確定平均能量最接近所述縮放后的各個波段的平均能量的碼本為各個波段對應(yīng)的碼本,將各個波段對應(yīng)的碼本的比特數(shù)進(jìn)行相加所獲得的總比特數(shù)和最大可用比特數(shù)進(jìn)行比較;如果比較結(jié)果為相等,則保存所述已確定的各個波段對應(yīng)的碼本和比特數(shù)信息;否則,根據(jù)所述最大縮放因子和最小縮放因子對所述初始縮放因子進(jìn)行更新,利用更新后的縮放因子對輸入信號的各個波段進(jìn)行縮放,重新確定各個波段對應(yīng)的碼本和比特數(shù)信息。計算處理模塊622包括縮放因子更新模塊6221和迭代計算模塊6222。上述計算處理模塊622中的縮放因子更新模塊6221用于當(dāng)所述總比特數(shù)小于所述最大可用比特數(shù)時,則更新后的最大縮放因子=最大縮放因子-1,如果更新后的最大縮放因子小于最小縮放因子,則保存所述已確定的各個波段對應(yīng)的碼本和比特數(shù)信息;否則,更新后的縮放因子-V更新后的最大縮放因子x最小縮放因子;上述計算處理模塊622中的迭代計算模塊6222用于利用更新后的縮放因子對輸入信號的各個波段進(jìn)行縮放,重新確定各個波段對應(yīng)的碼本和比特數(shù)信息,將重新獲取的總比特數(shù)和最大可用比特數(shù)進(jìn)行比較,如果比較結(jié)果為相等,則保存重新確定的各個波段對應(yīng)的碼本和比特數(shù)信息;否則,繼續(xù)迭代計算各個波段對應(yīng)的碼本和比特數(shù)信息,直到達(dá)到設(shè)定的迭代次數(shù),保存最后確定的各個波段對應(yīng)的碼本和比特數(shù)信息。剩余比特分配模塊64用于當(dāng)?shù)嬎隳K6222超過設(shè)定的迭代次數(shù)時,將剩余的可用比特數(shù)分配到各個波段中,并且能量大的波段優(yōu)先分配,每個波段分配的比特數(shù)不超過最大碼本的比特數(shù)。本發(fā)明實施例所述解碼裝置的結(jié)構(gòu)示意圖如圖7所示,包括碼本分配模塊71及信號恢復(fù)模塊72。在本實施例中,碼本分配模塊71用于根據(jù)接收到的頻譜包絡(luò)參數(shù)和頻譜包絡(luò)量化索引計算出各個波段的平均能量,根據(jù)各個波段的平均能量和各個碼本的平均能量確定各個波段對應(yīng)的碼本和比特數(shù)。碼本分配模塊71包括縮放因子確定模塊711和碼本確定模塊712。信號恢復(fù)模塊72用于根據(jù)所述碼本分配模塊計算出的各個波段對應(yīng)的比特數(shù)依次讀取各個波段的信號,利用所述碼本分配模塊計算出的各個波段對應(yīng)的碼本和接收到的各個波段的碼矢索引信息恢復(fù)出各個波段的編碼前的信號。信號恢復(fù)模塊72包括比特數(shù)讀取模塊721和信號重建模塊722。所述碼本分配模塊71中的縮放因子確定模塊711,用于根據(jù)接收到的各個波段的頻譜包絡(luò)參數(shù)和頻i普包絡(luò)量化索引計算出各個波段的包絡(luò),進(jìn)而計算出各個波段的平均能量;根據(jù)各個波段的平均能量和各個碼本的平均能量確定各個波段的縮放因子;所述碼本分配模塊71中的碼本確定模塊712用于利用所述縮放因子確定模塊確定的各個波段的縮放因子對各個波段進(jìn)行縮放,根據(jù)縮放后的各個波段的平均能量和所述各個碼本的平均能量確定各個波段對應(yīng)的碼本和比特數(shù)。所述信號恢復(fù)模塊72中的比特數(shù)讀取模塊721用于根據(jù)各個波段對應(yīng)的比特數(shù)依次讀取各個波段的比特流;所述信號恢復(fù)模塊72中的信號重建模塊722用于讀取各個波段的比特數(shù)后,根據(jù)計算出的各個波段對應(yīng)的碼本,以及接收到的各個波段對應(yīng)的碼矢索引信息,恢復(fù)出各個波段的量化編碼后的縮放信號,根據(jù)各個波段的縮放因子,對所述各個波段的量化編碼后的縮放信號進(jìn)行逆縮放,重建出各個波段的編碼前的信號。本發(fā)明實施例所述編解碼系統(tǒng)的結(jié)構(gòu)示意圖如圖8所示,包括編碼端81及解碼端82。在本實施例中,編碼端81用于根據(jù)輸入信號的各個波段的平均能量和各個碼本的平均能量,確定各個波段對應(yīng)的碼本和比特數(shù),利用所述波段對應(yīng)的碼本對所述波段進(jìn)行量化編碼,將各個波段對應(yīng)的頻譜包絡(luò)參數(shù)和頻譜包絡(luò)量化索引、碼矢索引信息發(fā)送給解碼端82。編碼端81包括碼本分配模塊811、量化處理模塊812和碼本能量設(shè)定模塊813。解碼端82用于根據(jù)接收到的頻諳包絡(luò)參數(shù)和頻譜包絡(luò)量化索引計算出各波段對應(yīng)的包絡(luò)以確定各個波段的平均能量,根據(jù)各個波段的平均能量和各個碼本的平均能量確定各個波段對應(yīng)的碼本和比特數(shù),利用接收到的各個波段的碼矢索引信息恢復(fù)出各個波段的編碼前的信號。解碼端82包括碼本分配模塊821和信號恢復(fù)模塊822。所述編碼端81中的碼本分配模塊811用于才艮據(jù)輸入信號的波段的平均能量和各個碼本的平均能量,給所述輸入信號確定縮放因子,用該縮放因子對所述波段進(jìn)行縮放,根據(jù)縮放后的波段的平均能量和各個碼本的平均能量確定所述波段對應(yīng)的碼本和比特凄丈;所述編碼端81中的量化處理模塊812用于將所述波段的平均能量調(diào)整到所述波段對應(yīng)的碼本的平均能量,利用所述波段對應(yīng)的碼本對進(jìn)行了能量調(diào)整后的所述波段進(jìn)行量化編碼,獲取各個波段的碼矢索引信息。所述編碼端81中的碼本能量設(shè)定模塊813用于分別設(shè)定各個碼本對應(yīng)的平均能量。所述解碼端82中的碼本分配模塊821用于根據(jù)接收到的頻譜包絡(luò)參數(shù)和頻譜包絡(luò)量化索引計算出各波段對應(yīng)的包絡(luò)以確定各個波段的平均能量,根據(jù)各個波段的平均能量和各個碼本的平均能量確定各個波段對應(yīng)的碼本和比特數(shù)。所述解碼端82中的信號恢復(fù)模塊822用于根據(jù)所述碼本分配模塊821計算出的各個波段對應(yīng)的比特數(shù)依次讀取各個波段的信號,利用所述碼本分配模塊821計算出的各個波段對應(yīng)的碼本和接收到的各個波段的碼矢索引信息恢復(fù)出各個波段的編碼前的信號。上述本發(fā)明實施例所述方法、裝置和系統(tǒng)能夠應(yīng)用于各種變速率編碼系統(tǒng)和可分級編碼系統(tǒng),比如,可以應(yīng)用于超寬帶語音頻信號編解碼處理過程中對輸入信號的頻譜進(jìn)行量化。綜上所述,本發(fā)明實施例根據(jù)信號的能量和碼本的平均能量計算縮放因子,利用縮放因子對信號進(jìn)行縮放,再根據(jù)縮放后的信號的能量和碼本的平均能量的關(guān)系,給輸入信號的波段確定碼本。從而避免了因碼本完全嵌套而造成編碼效率較低的問題。本發(fā)明實施例考慮到人耳對高頻能量信息更為敏感的特性,使用較多比特編碼高能量的包絡(luò),從而可以保證量化編碼后主觀聽力失真小。本發(fā)明實施例以波段的能量為基準(zhǔn)分配比特數(shù),降低感知重要波段量化失真。以上所述,僅為本發(fā)明較佳的具體實施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本
技術(shù)領(lǐng)域:
的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)該以權(quán)利要求的保護(hù)范圍為準(zhǔn)。權(quán)利要求1、一種編碼方法,其特征在于,包括根據(jù)輸入信號的波段的平均能量和各個碼本的平均能量確定所述輸入信號的縮放因子以對所述波段進(jìn)行縮放;根據(jù)縮放后的波段的平均能量和所述各個碼本的平均能量確定所述波段對應(yīng)的碼本;將所述縮放后的波段的平均能量調(diào)整到所述波段對應(yīng)的碼本的平均能量,利用所述波段對應(yīng)的碼本對調(diào)整后的所述波段進(jìn)行量化編碼。2、根據(jù)權(quán)利要求1所述的方法,其特征在于,所述的方法之前還包括通過訓(xùn)練的方法分別設(shè)定所述各個碼本對應(yīng)的平均能量。3、根據(jù)權(quán)利要求1所述的方法,其特征在于,所述的根據(jù)輸入信號的波段的平均能量和各個碼本的平均能量,給所述輸入信號確定縮放因子的步驟包括將所述輸入信號的各個波段按照平均能量的大小從大到小排序,設(shè)定平均能量最大和最小的波段對應(yīng)的碼本,將平均能量最大的波段的平均能量除以所述平均能量最大的波段對應(yīng)的碼本的平均能量得到最大縮放因子,將平均能量最小的波段的平均能量除以所述平均能量最小的波段對應(yīng)的碼本的平均能量得到最小縮;故因子。4、根據(jù)權(quán)利要求3所述的方法,其特征在于,所述的設(shè)定平均能量最大和最小的波段對應(yīng)的碼本的步驟包括設(shè)定所有碼本中平均能量從小至大的前1/3位置的碼本作為平均能量最大的波段對應(yīng)的碼本,設(shè)定所有碼本中平均能量最大的碼本作為平均能量最小的波^殳對應(yīng)的碼本。5、根據(jù)權(quán)利要求3所述的方法,其特征在于,所述的根據(jù)縮放后的波段的能量和各個碼本的平均能量確定所述波段對應(yīng)的碼本的步驟包括將所述最大縮放因子作為初始縮放因子對輸入信號的各個波段進(jìn)行縮放,確定平均能量最接近所述縮放后的各個波段的平均能量的碼本為各個波段對應(yīng)的碼本;將各個波段對應(yīng)的碼本的比特數(shù)進(jìn)行相加所獲得的總比特數(shù)和最大可用比特數(shù)進(jìn)行比較;如果比較結(jié)果為相等,則保存所述已確定的各個波段對應(yīng)的碼本和比特數(shù);否則,根據(jù)所述最大縮放因子和最小縮放因子對所述初始縮放因子進(jìn)行更新,利用更新后的縮放因子對輸入信號的各個波段進(jìn)行縮放,重新確定各個波段對應(yīng)的碼本和比特數(shù)。6、根據(jù)權(quán)利要求5所述的方法,其特征在于,所述的根據(jù)所述最大縮放因子和最小縮放因子對所述初始縮放因子進(jìn)行更新,利用更新后的縮放因子對輸入信號的各個波段進(jìn)行縮放,重新確定各個波段對應(yīng)的碼本和比特數(shù)的步驟包括當(dāng)所述總比特數(shù)小于所述最大可用比特數(shù)時,則更新后的最大縮放因子=最大縮放因子-1,如果更新后的最大縮放因子小于最小縮放因子,則保存所述已確定的各個波段對應(yīng)的碼本和比特數(shù);否則,更新后的縮放因子=>/更新后的最大縮放因子><最小縮放因子;利用更新后的縮放因子對輸入信號的各個波段進(jìn)行縮放,重新確定各個波段對應(yīng)的碼本和比特數(shù),將重新獲取的總比特數(shù)和最大可用比特數(shù)進(jìn)行比較,如果比較結(jié)果為相等,則保存重新確定的各個波段對應(yīng)的碼本和比特數(shù);否則,繼續(xù)迭代計算各個波段對應(yīng)的碼本和比特數(shù)信息,直到達(dá)到設(shè)定的迭代次數(shù),保存最后確定的各個波段對應(yīng)的碼本和比特數(shù)。7、根據(jù)權(quán)利要求6所述的方法,其特征在于,所述的根據(jù)縮放后的波段的平均能量和各個碼本的平均能量確定所述波段對應(yīng)的碼本和比特數(shù)的步驟還包括當(dāng)超過設(shè)定的迭代次數(shù)時,將剩余的可用比特數(shù)分配到各個波段中,并且平均能量大的波段優(yōu)先分配,每個波段分配的比特數(shù)不超過最大碼本的比特數(shù)。8、根據(jù)權(quán)利要求1所述的方法,其特征在于,所述的碼本為基于z"格的碼本。9、根據(jù)權(quán)利要求1至8任一項所述的方法,其特征在于,所述的將所述縮放后的波段的平均能量調(diào)整到所述波段對應(yīng)的碼本的平均能量,利用所述波段對應(yīng)的碼本對所述調(diào)整后的所述波段進(jìn)行量化編碼,具體包括將所述輸入信號中各波段的平均能量調(diào)整到各波段對應(yīng)的碼本的平均能量,得到縮放后的各波段,利用相關(guān)性匹配的方法在各波段對應(yīng)的碼本中搜索縮放后的各波段的最佳碼矢,并對該最佳碼矢進(jìn)行索引。10、一種解碼方法,其特征在于,包括根據(jù)接收到的各個波段的頻譜包絡(luò)參數(shù)和頻譜包絡(luò)量化索引確定各個波段的平均能量,根據(jù)所述各個波段的平均能量和各個碼本的平均能量確定各個波段對應(yīng)的碼本和比特數(shù);根據(jù)所述各個波段對應(yīng)的比特數(shù)讀取各個波段的比特流;根據(jù)所述各個波段對應(yīng)的碼本和接收到的各個波段的碼矢索引信息,利用所述各個波段的比特流恢復(fù)出各個波段的編碼前的信號。11、根據(jù)權(quán)利要求10所述的解碼方法,其特征在于,所述根據(jù)接收到的各個波段的頻譜包絡(luò)參數(shù)和頻譜包絡(luò)量化索引確定各個波段的平均能量,根據(jù)所述各個波段的平均能量和各個碼本的平均能量確定各個波段對應(yīng)的碼本和比特數(shù)的步驟包括根據(jù)所述接收到的各個波段的頻譜包絡(luò)參數(shù)和頻譜包絡(luò)量化索引計算出各個波段的包絡(luò),進(jìn)而計算出所述各個波段的平均能量;根據(jù)所述各個波段的平均能量和各個碼本的平均能量確定各個波段的縮;汰因子以對各個波段進(jìn)行縮;故;根據(jù)縮放后的各個波段的平均能量和所述各個碼本的平均能量確定各個波段對應(yīng)的碼本和比特數(shù)。12、根據(jù)權(quán)利要求11所述的解碼方法,其特征在于,所述根據(jù)各個波段對應(yīng)的碼本和接收到的各個波段的碼矢索引信息,利用所述各個波段的比特流恢復(fù)出各個波段的編碼前的信號的步驟包括讀取所述各個波段的比特數(shù)后,根據(jù)所述各個波段對應(yīng)的碼本,以及所述接收到的各個波段的碼矢索引信息,恢復(fù)出各個波段的量化編碼后的縮放信號;根據(jù)計算出的各個波段的縮放因子,對所述各個波段的量化編碼后的縮放信號進(jìn)行逆縮放,得到重建的各個波段的編碼前的信號。13、一種編碼裝置,其特征在于,包括碼本分配模塊,用于根據(jù)輸入信號的波段的平均能量和各個碼本的平均能量,給所述輸入信號確定縮放因子,用該縮放因子對所述波段進(jìn)行縮放,根據(jù)縮放后的波段的平均能量和各個碼本的平均能量確定所述波段對應(yīng)的碼本;量化處理模塊,用于將所述波段的平均能量調(diào)整到所述波段對應(yīng)的碼本的平均能量,利用所述波段對應(yīng)的碼本對調(diào)整后的所述波段進(jìn)行量化編碼。14、根據(jù)權(quán)利要求13所述的編碼裝置,其特征在于,所述裝置還包括碼本能量設(shè)定模塊,用于分別設(shè)定各個碼本對應(yīng)的平均能量。15、根據(jù)權(quán)利要求13或14所述的編碼裝置,其特征在于,所述碼本分配模塊包括初始縮放因子確定模塊,用于將輸入信號的各個波段按照平均能量的大小從大到小排序,設(shè)定平均能量最大和最小的波段對應(yīng)的碼本,將平均能量最大的波段的平均能量除以該波段對應(yīng)的碼本的平均能量再開方得到最大縮放因子,將平均能量最小的波段的平均能量除以該波段對應(yīng)的碼本的平均能量再開方得到最小縮放因子;計算處理模塊,用于將所述最大縮放因子作為初始縮放因子對輸入信號的各個波段進(jìn)行縮放,確定平均能量最接近所述縮放后的各個波段的平均能量的碼本為各個波段對應(yīng)的碼本,將各個波段對應(yīng)的碼本的比特數(shù)進(jìn)行相加所獲得的總比特數(shù)和最大可用比特數(shù)進(jìn)行比較,如果比較結(jié)果為相等,則保存所述已確定的各個波段對應(yīng)的碼本和比特數(shù)信息;否則,通過迭代計算重新確定各個波段對應(yīng)的碼本和比特數(shù)信息。16、根據(jù)權(quán)利要求15所述的編碼裝置,其特征在于,所述計算處理模塊包括縮放因子更新模塊,用于當(dāng)所述總比特數(shù)小于所述最大可用比特數(shù)時,則更新后的最大縮放因子=最大縮放因子-1,如果更新后的最大縮放因子小于最小縮放因子,則保存所述已確定的各個波段對應(yīng)的碼本和比特數(shù)信息;否則,更#斤后的縮;故因子=V更新后的最大縮放因子x最小縮放因子;迭代計算模塊,用于利用更新后的縮放因子對輸入信號的各個波段進(jìn)行縮放,重新確定各個波段對應(yīng)的碼本和比特數(shù)信息,將重新獲取的總比特數(shù)和最大可用比特數(shù)進(jìn)行比較,如果比較結(jié)果為相等,則保存重新確定的各個波段對應(yīng)的碼本和比特數(shù)信息;否則,繼續(xù)迭代計算各個波段對應(yīng)的碼本和比特數(shù)信息,直到達(dá)到設(shè)定的迭代次數(shù),保存最后確定的各個波段對應(yīng)的碼本和比特數(shù)信息。17、根據(jù)權(quán)利要求16所述的編碼裝置,其特征在于,所述裝置還包括剩余比特分配模塊,用于當(dāng)所述迭代計算模塊超過設(shè)定的迭代次數(shù)時,將剩余的可用比特數(shù)分配到各個波段中,并且平均能量大的波段優(yōu)先分配,每個波段分配的比特數(shù)不超過最大碼本的比特數(shù)。18、一種解碼裝置,其特征在于,包括碼本分配模塊,用于根據(jù)接收到的頻譜包絡(luò)參數(shù)和頻譜包絡(luò)量化索引計算出各個波段的平均能量,根據(jù)所述各個波段的平均能量和各個碼本的平均能量確定各個波段對應(yīng)的碼本和比特數(shù);信號恢復(fù)模塊,用于根據(jù)所述碼本分配模塊確定的各個波段對應(yīng)的比特數(shù)依次讀取各個波段的信號,利用所述碼本分配模塊確定的各個波段對應(yīng)的碼本和接收到的各個波段的碼矢索引信息恢復(fù)出各個波段的編碼前的信號。19、根據(jù)權(quán)利要求18所述的解碼裝置,其特征在于,所述碼本分配模塊包括縮放因子確定模塊,用于根據(jù)所述接收到的各個波段的頻譜包絡(luò)參數(shù)和頻譜包絡(luò)量化索引計算出各個波段的包絡(luò),進(jìn)而計算出所述各個波段的平均能量;根據(jù)所述各個波段的平均能量和所述各個碼本的平均能量確定各個波段的縮放因子;碼本確定模塊,用于利用所述縮放因子確定模塊確定的所述各個波段的縮放因子對各個波段進(jìn)行縮放,根據(jù)縮放后的各個波段的平均能量和所述各個碼本的平均能量確定各個波段對應(yīng)的碼本和比特數(shù)。20、根據(jù)權(quán)利要求19所述的解碼裝置,其特征在于,所述信號恢復(fù)模塊包括比特數(shù)讀取模塊,用于根據(jù)所述各個波段對應(yīng)的比特數(shù)依次讀取各個波l殳的比特流;信號重建模塊,用于讀取所述各個波段的比特數(shù)后,根據(jù)所述各個波段對應(yīng)的碼本,以及所述接收到的各個波段對應(yīng)的碼矢索引信息,恢復(fù)出各個波段的量化編碼后的縮放信號,根據(jù)各個波段的縮放因子,對所述各個波段的量化編碼后的縮放信號進(jìn)行逆縮放,重建出各個波段的編碼前的信號。21、一種編解碼系統(tǒng),其特征在于,包括編碼端,用于根據(jù)輸入信號的各個波段的平均能量和各個碼本的平均能量,確定各個波段對應(yīng)的碼本,利用所述波段對應(yīng)的碼本對所述波段進(jìn)行量化編碼,將各個波段對應(yīng)的頻譜包絡(luò)參數(shù)和頻譜包絡(luò)量化索引、碼矢索引信息發(fā)送給解碼端;解碼端,用于根據(jù)接收到的頻譜包絡(luò)參數(shù)和頻譜包絡(luò)量化索引計算出各波段對應(yīng)的包絡(luò)以確定各個波段的平均能量,根據(jù)各個波段的平均能量和各個碼本的平均能量確定各個波段對應(yīng)的碼本和比特數(shù),利用接收到的各個波段的碼矢索引信息恢復(fù)出各個波段的編碼前的信號。22、根據(jù)權(quán)利要求21所述的編解碼系統(tǒng),其特征在于,所述編碼端具體包括碼本分配模塊,用于根據(jù)輸入信號的波段的平均能量和各個碼本的平均能量,給所述輸入信號確定縮放因子,用該縮放因子對所述波段進(jìn)行縮放,根據(jù)縮放后的波段的平均能量和各個碼本的平均能量確定所述波段對應(yīng)的碼本和比特數(shù);量化處理模塊,用于將所述波段的平均能量調(diào)整到所述波段對應(yīng)的碼本的平均能量,利用所述波段對應(yīng)的碼本對調(diào)整后的所述波段進(jìn)行量化編碼,獲取各個波段的碼矢索引信息。23、根據(jù)權(quán)利要求22所述的編解碼系統(tǒng),其特征在于,所述編碼端還包括碼本能量設(shè)定模塊,用于分別設(shè)定各個碼本對應(yīng)的平均能量。24、根據(jù)權(quán)利要求21、22或23所述的編解碼系統(tǒng),其特征在于,所述解碼端具體包括碼本分配模塊,用于根據(jù)接收到的頻譜包絡(luò)參數(shù)和頻譜包絡(luò)量化索引計算出各波段對應(yīng)的包絡(luò)以確定各個波段的平均能量,根據(jù)各個波段的平均能量和各個碼本的平均能量確定各個波段對應(yīng)的碼本和比特數(shù);信號恢復(fù)模塊,用于根據(jù)所述碼本分配模塊確定的各個波段對應(yīng)的比特數(shù)依次讀取各個波段的信號,利用所述碼本分配模塊確定的各個波段對應(yīng)的碼本和接收到的各個波段的碼矢索引信息恢復(fù)出各個波段的編碼前的信號。全文摘要本發(fā)明實施例公開了一種編解碼方法、裝置和系統(tǒng)。該方法主要包括根據(jù)輸入信號的波段的能量和各個碼本的平均能量,給所述輸入信號確定縮放因子,用該縮放因子對所述波段進(jìn)行縮放,根據(jù)縮放后的波段的能量和各個碼本的平均能量確定所述波段對應(yīng)的碼本;將所述波段的能量調(diào)整到所述波段對應(yīng)的碼本的平均能量,利用所述波段對應(yīng)的碼本對進(jìn)行了能量調(diào)整后的所述波段進(jìn)行量化。利用本發(fā)明,避免了因碼本完全嵌套而造成編碼效率較低的問題。文檔編號G10L19/00GK101609674SQ20081011535公開日2009年12月23日申請日期2008年6月20日優(yōu)先權(quán)日2008年6月20日發(fā)明者霖劉,勇張,王庭紅,瑋肖,胡瑞敏,馬付偉申請人:華為技術(shù)有限公司;武漢大學(xué)