编解码方法、装置和系统的制作方法

文档序号:2830909阅读:221来源:国知局

专利名称::编解码方法、装置和系统的制作方法
技术领域
:本发明涉及网络通信领域,尤其涉及一种编解码方法、装置和系统。
背景技术
:现有的数字语音和音频信号的编码技术采用的是变换编码,变换编码的处理过程主要包括将待编码的信号的一帧分成多个采样块,并用诸如离散傅立叶变换、离散余弦变换等线性正交变换对每帧求取变换系数,之后对一帧中的每个采样块进行量化。在对采样块的量化过程中,将该采样块的多个采样系数组在一起形成一个源矢量(即需要进行量化的矢量),且以一个码本项对该源矢量进行量化。该码本项通常是根据距离准则得出的码本中最近的邻点。在码本项中增加更多的码矢会增加量化的比特率和复杂性,但会降低量化的平均失真。在变换编码中,通常通过对信号进行变换并获取所有的变换系数或其子集来获得源矢量。为适应源矢量的不断变化特征,通过自适应比特分配原则,使用不同的码本尺寸来量化源矢量。在现有技术中,对源矢量的量化过程采用球型矢量量化的方法,球型矢量量化是一种代数型的矢量量化,它的特点是在多维信号空间中,构造一种有规律的网络,把信号空间划分为胞腔,网络中的点称为格点,并以格点作为矢量量化的值。由于网络是有规律的,故格点和胞腔也是有规律的。现有技术中的球型矢量量化方法的量化算法包括如下计算步骤1、波段划分。^l夸0—7kHz的一个帧的MDCT(ModifiedDiscreteCosineTransform,文进的离散余弦变换)信号频谱(280个样点)划分为18个波段,其中前17个波段为16维,最后一个波段为8维,分别对每个波段进行球型矢量量化。2、频谱包络计算。计算每个波段的频谱包络,频谱包络表征频谱中某波段的总体平均能量,可以看作是波段的能量信息的一种表示形式,并采用差分哈夫曼或直接二进制两种方式编码频谱包络,选择编码比特数最小的方式编码并写入码流o3、波段比特数划分。采用感知重要性作为波段比特数划分的依据,将各波段的感知重要性进行排序,并以此为依据给各波段分配比特数。对于8维矢量量化和16维矢量量化,各存在若干码本,每个码本的编码比特数由下述表1所示表1:各维码本的编码比特数维数各码本编码比特数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}在给各波段分配比特数时,引入"水平值"、p'来进行分配,分配7>式如下<formula>formulaseeoriginaldocumentpage11</formula>上述公式中的"^(力为第j个波段分配的比特数,")如表(1)所示,其中^-Cw/C/)二8或16为最大的可用比特n分配时,首先初始化"水平值"2,的上下限<formula>formulaseeoriginaldocumentpage11</formula>然后,^使用二分法在上下限中迭代查找10次,每次迭代查找后计算各波段所用比特数的公式如下<formula>formulaseeoriginaldocumentpage11</formula>计算总的编码比特数,根据总的编码比特数与"^^-^的比较结果,修改上下限,继续下一步迭代查找,直到迭代结束或是比特数分配完为止。4、球型矢量量化。球型矢量量化的过程中采用的码本是嵌套的,该嵌套的码本的如下《6C&C&C…CZ逸C"60C&C《2上述Q为码本,其上标代表维数,下标代表对应的比特数。在进行球型矢量量化时,首先确定每一个波段的码本,在每一个码本中,都存在若干码矢,码本中存储码矢的为绝对引导项,绝对引导项是一种降序排列的非负矢量,其通过各分量排列组合、改变符号可以表征一系列码矢。然后,在选定的码本中搜索最适宜的码矢进行匹配,在码矢搜索时,首先将待量化矢量取绝对值,并保留符号信息,随后将其按降序排列,并与码本中的各码矢计算"点积",选取"点积"最大对应的码矢为最佳码矢。发明人在研究中发现,球型矢量量化的方法采用嵌套的码本,限制了码本空间的大小。该方法用"二分法,,计算各波段所用比特数时,容易造成比特分配不准确,进而有可能造成选择错误的码本,从而降低量化性能。
发明内容本发明实施例的目的是提供一种编解码方法、装置和系统,从而可以解决现有技术方案中限制了码本空间的大小、容易选择错误的码本的问题。本发明实施例的目的是通过以下技术方案实现的一种编码方法,包^":根据输入信号的波段的平均能量和各个码本的平均能量确定所述输入信号的缩放因子以对所述波段进行缩放;根据缩放后的波段的平均能量和所述各个码本的平均能量确定所述波段对应的码本;将所述缩放后的波段的平均能量调整到所述波段对应的码本的平均能量,利用所述波段对应的码本对调整后的所述波^:进行量化编码。一种解码方法,包括根据接收到的各个波段的频谱包络参数和频谱包络量化索引确定各个波段的平均能量,根据各个波段的平均能量和各个码本的平均能量确定各个波段对应的码本和比特数;根据各个波段对应的比特数读取各个波段的比特流;根据各个波段对应的码本和接收到的各个波段的码矢索引信息,利用所述各个波段的比特流恢复出各个波段的编码前的信号。一种编码装置,包括码本分配模块,用于根据输入信号的波段的平均能量和各个码本的平均能量,给所述输入信号确定缩放因子,用该缩放因子对所述波段进行缩放,根据缩放后的波段的平均能量和各个码本的平均能量确定所述波段对应的码本;量化处理模块,用于将所述波段的平均能量调整到所述波段对应的码本的平均能量,利用所述波段对应的码本对调整后的所述波段进行量化编码。一种解码装置,包括码本分配模块,用于根据接收到的频谱包络参数和频谱包络量化索引计算出各个波段的平均能量,根据各个波段的平均能量和各个码本的平均能量确定各个波段对应的码本和比特凄t;信号恢复模块,用于根据所述码本分配模块确定的各个波段对应的比特数依次读取各个波段的信号,利用所述码本分配模块确定的各个波段对应的码本和接收到的各个波段的码矢索引信息恢复出各个波段的编码前的信号。一种编解码系统,包括编码端,用于根据输入信号的各个波段的平均能量和各个码本的平均能量,确定各个波段对应的码本,利用所述波段对应的码本对所述波段进行量化编码,将各个波段对应的频谱包络参数和频谱包络量化索引、码矢索引信息发送给解码端;解码端,用于根据接收到的频谱包络参数和频谱包络量化索引计算出各波段对应的包络以确定各个波段的平均能量,根据各个波段的平均能量和各个码本的平均能量确定各个波段对应的码本和比特数,利用接收到的各个波段的码矢索引信息恢复出各个波段的编码前的信号。由上述本发明实施例提供的技术方案可以看出,本发明实施例根据信号的能量和码本的平均能量计算缩放因子,利用缩放因子对信号进行缩放,再根据缩放后的信号的能量和码本的平均能量的关系,给输入信号的波段确定码本,从而避免了因码本完全嵌套而造成编码效率较低的问题。为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本发明实施例所述编码方法的处理流程图2为本发明实施例图1中的步骤1-4的具体处理流程图;图3为本发明实施例图1中的步骤1-5的具体处理流程图;图4为本发明实施例图1中的步骤1-6的具体处理流程图;图5为本发明实施例图1中的步骤1-7的具体处理流程图;图6为本发明实施例所述编码装置的结构示意图;图7为本发明实施例所述解码装置的结构示意图;图8为本发明实施例所述编解码系统的结构示意图。具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。在本发明实施例中,将输入信号的各个波段按照平均能量的大小从大到小排序,设定平均能量最大和最小的波段对应的码本,将平均能量最大的波段的能量除以该波段对应的码本的平均能量得到最大缩放因子,将平均能量最小的波段的能量除以该波段对应的码本的平均能量得到最小缩放因子;将所述最大缩放因子作为初始缩放因子对输入信号的各个波段进行缩放,确定平均能量最接近所述缩放后的各个波段的平均能量的码本为各个波段对应的码本,将各个波段对应的码本的比特数进行相加所获得的总比特数和最大可用比特数进行比较;如果比较结果为相等,则保存所述已确定的各个波段对应的码本和比特数信息;否则,根据所述最大缩放因子和最小缩放因子对所述初始缩放因子进行更新,利用更新后的缩放因子对输入信号的各个波段进行缩放,通过迭代运算重新确定各个波段对应的码本和比特数信息。下面结合附图来详细描述本发明实施例,本发明实施例所述编码方法的处理流程如图1所示,包括如下步骤步骤1-1、获得全频带待量化的增强层MDCT域信号S。在编码端,使用宽带语音编码器作为核心编码器,该核心编码器使用带宽扩展技术对7kHz以下的高频段信号进行编码。核心编码器对编码端接收到的待量化的原始信号进行编码处理得到合成信号,计算该合成信号与该原始信号的误差信号,将该误差信号变换到MDCT域作为原始信号的7kHz以下宽带核心层部分的待量化增强信号S。同时,将上述原始信号的超高频部分(7-14kHz)变换到1/100丁域作为原始信号的增强层超宽频部分待量化信号&。然后,将上述信号S和信号&合并成原始信号的全频带待量化的增强层MDCT域信号S,这可以保证全频带信息可以在解码端重建。步骤1-2、将待量化的MDCT域信号S划分为若干波段,计算每个波段的频谱包络,并对包络进行编码以得到量化的频谱包络参数和频谱包络量化索引。将上述全频带的待量化的MDCT域信号S的每一帧信号划分为若干频率波段,具体划分方法为对输入的每一个帧的频谱信号(频谙样点总数目数通常为8的倍数),以16维数据或8维数据为一组划分为一个波段,计算每一波段的频谱包络,计算公式如下1JA力—6服《(/(7'+1)-1上述公式中的e"一)表示第i个频率波段的频谱包络,dim(0表示该波段矢量维数,^-^"""(0表示第i个波段频谱样点在整帧样点中的起始位置。SMOCT("为频域信号,s,为一个小值偏移,以保证log函数的操作数大于0。在高频信号中,人耳对信号频谱能量的感知比对频谱精细结构的感知更为敏感。因而,需要对频谱包络进行编码,以保证量化编码后主观听力失真小。本实施例釆用高精度的差分哈夫曼编码与低精度的二进制编码相结合的方法,对每个波段的频谱包络进行编码。可以使用一个比特位来表征采用的编码模式,比如,用0代表差分哈夫曼编码,用1代表直接二进制编码。在本发明的其它实施例中,差分哈夫曼编码与二进制编码也可以用其它方式来表征。步骤1-3、分别设定各个码本对应的平均能量。在对每个波段的包络进行编码的过程中,根据各波段的感知重要性的不同,为各波段分配不同的编码比特数,上述感知重要性由各波段的平均能量表征。在本发明实施例中,选取基于z"格的码本。进行球型量化的球矢量的维数可以为16维或8维,8维或16维的球矢量都对应若干个码本,每一个码本包含若干码矢。通过训练的方法分别设定各个码本对应的平均能量。首先,确定在某一能量范围内z"格的所有格点集合,作为初始码本,该能量范围即为初始码本对应的平均能量。然后提取大量的训练矢量对初始码本进行训练,将每个训练矢量归类到最合适的初始码本中,保存统计信息。最后,分析统计信息,删除匹配训练矢量较少的初始码本,对于有较多训练矢量匹配的码本,根据设定的码本量化比特数,保留其中训练矢量匹配较多的码矢,删除训练矢量匹配较少的矢量,组成最终码本,最终码本对应的能量即为码本的平均能量。每个码本对应一个平均能量e""-C6和一个编码比特数^"-^,各码本对应的平均能量e""-^随码本号增加而递增,对应的""—^也随之递增。下述表2和表3分别给出了8维和16维的球矢量对应的码本号、平均能量和比特数之间的关系<table>tableseeoriginaldocumentpage17</column></row><table>表3:16维的球矢量对应的码本号、平均能量和比特数<table>tableseeoriginaldocumentpage18</column></row><table>步骤1-4、根据频谱包络参数和频谱包络量化索引计算包络,根据包络计算各波段的平均能量,根据各波段的平均能量和码本的平均能量,采用迭代搜索、逐步优化的计算方法确定输入信号的缩放因子。在本实施例中,输入信号的缩放因子包括最大缩放因子,最小缩放因子和初始缩放因子,并用缩放因子对各个波段进行缩放,根据缩放后的各个波段的平均能量和各个码本的平均能量确定各个波段对应的码本和比特数。步骤1-5、利用确定的各波段对应的码本对各波段信号进行缩放,得到缩放后的信号,搜索缩放后的信号的最佳码矢并对码矢索引,对各波段信号进行量化编码。步骤1-6、编码端将携带各波段信号对应的频谱包络参数和频谱包络量化索引、码矢索引等信息的编码码流采用码流截断的方法发送给解码端。步骤1-7、解码端根据接收到的频谱包络参数和频谱包络量化索引、码矢索引等信息,以上述编码码流进行解码,恢复出编码前的输入信号。图2为图1中步骤1-4的具体处理流程图,包括如下步骤步骤21,根据频谱包络参数和频镨包络量化索引计算包络,根据包络计算各波段的平均能量。根据对包络进行编码后得到的频谱包络参数和频谱包络量化索引计算出相应的包络,再计算出该包络对应的波段的平均能量mean—ener,该平均能量将作为给波段分配比特数的依据。步骤22,将各波段的平均能量按能量由大到小排序。在给波段分配比特数之前,首先对波段的平均能量按从大到小排序。原则上平均能量大的信号对应较大的e""-c6,需要分配较多的编码比特数,各波段的比特分配采用迭代搜索,逐步优化的分配方案,最终达到最佳的比特分配。步骤23、确定最大缩放因子、最小缩放因子和初始缩放因子。初始选择所有码本中能量从小至大的前1/3位置的码本对应的码本能量e""-"作为平均能量最大波段的缩放目标,计算出缩;改因子,该缩》文因子作为当前帧的最大缩放因子max-5-々c,具体计算公式为max—s/"c二max_/e恥r—cZje""-"为码本平均能量从小至大的前1/3位置的码本的平均能量值,max—匿r为平均能量最大的输入信号的波段的平均能量。同时,选择所有码本中,最大的码本能量ewer—max作为平均能量最小的输入信号波段的缩放目标,计算缩放因子,该缩放因子作为当前帧的最小缩放因子min」一/"c,具体计算公式为min_s_力c=min—ewer/ewer_max;min_平均能量最小的输入信号的波段的平均能量。将上述最大缩放因子作为初始缩放因子,即初始缩放因子—》c=max—s—力c步骤24、用初始缩放因子对各个波段进行缩放,根据缩放后的各个波段的平均能量和各个码本的平均能量确定各个波段对应的码本和比特数。对当前帧所有的波段使用L力c进行缩放。然后,计算出缩放后的波段的平均能量值,根据该平均能量值选取一个最接近的e""-c6,并确定对应的码本号和6to-A。最后,将各波段对应的^"_^求和,得到总的编码比特数设定一个最大的可用比特数maX-w",该maX-w"是一个常数,只与设定的编码码率相关。步骤25、将各个波段对应的码本的比特数进行相加所获得的总比特数和最大可用比特数进行比较。将上述w^-^^和max-6to进行比较,如果比较结果为相等,则执行步骤27;如果比较结果为不相等,则执行步骤26。步骤26、根据最大缩放因子和最小缩放因子对初始缩放因子进行更新,利用更新后的缩放因子对各个波段进行缩放,通过跌代计算重新确定各个波段对应的码本和比特数。具体为1、若toto/—Ato小于maX-Z)/",则保存各波段的编码比特数分配方案,同时更新缩放因子如下max—s—々c=s_>c—1s—=Vmax—5一xmin—《_々c若发现max—L々"min/ac,则执行步骤27;否则,利用更新后的^-力c,继续进行上述各个波段缩放,进行下一次迭代计算,重新确定各个波段的码本号和W"-"的处理过程。然后,执行步骤25。2、若欣"/一tos大于max—6to,则更新缩;汰因子如下s_=max一_力cxmin—s—^hc若发现maX-C"c〈min」-,ac,则执行步骤27,否则,利用更新后的L/"c,继续进行上述各个波段缩放,进行下一次迭代计算,重新确定各个波段的码本号和&"-c6。然后,执行步骤25。在步骤25中,若迭代了规定的次数(比如10次)之后,当前保存的编码比特数分配方案中,^"/」to仍然小于maxjto。则从平均能量最大的波段开始,每个波段提升一级对应的e""—A,执行步骤27。步骤27、保存各个波段对应的码本和比特数信息,分配剩余比特数。保存当前的编码比特数分配方案中的各波^:对应的码本和比特凝:信息。若超过迭代设定的次数后,还存在剩余的可用比特数,则将剩余的可用比特数分配到各个波段中,并且平均能量大的波段优先分配,每个波段分配的比特数不超过最大码本的比特数。图3为图1中步骤1-5的具体处理流程图,包括如下步骤步骤31,对各波段信号的平均能量进行缩放,得到缩放信号。确定了各波段对应的码本后,将各波段的平均能量缩放到相应码本对应的—",得到缩放信号&。/8。步骤32、利用确定的各波段对应的码本来量化各波段的缩放信号,搜索缩放信号的最佳码矢并对码矢索引,对各波段信号进行量化编码。本实施例中,采用z"格作为球型矢量量化的格点,各波段矢量维数可能为16或8。然后,利用选定的波段对应的码本来量化该波段的缩放信号&^,量化分为两个步骤进行,搜索最佳码矢和对码矢索引,其中,搜索最佳码矢的具体处理过程如下在球型矢量量化码本中存储了绝对引导项,绝对引导项是一种其各分量的值非负、并且由大到小排列的球矢量。在码本中,每个绝对引导项可以生成一系列的码矢量。搜索最佳码矢的过程就是搜索最佳绝对引导项的过程。首先对待量化的缩放信号&^取绝对值,并进行重排序,得到有序绝对值矢量即目标矢量&。"G'),同时,保存原始的排序顺序和符号信息。在搜索最佳码矢的过程中,采用相关性co厅作为码矢匹配度的量度,相关性cwr的计算公式如下,dimW、2、>0Jdim(,)在整个码本中找出相关度最大的值对应的绝对引导项,该绝对引导项即为有序绝对值球矢量对应的最佳绝对引导项。然后,计算待量化的球矢量^的码矢索引,码矢索引包括上述的最佳绝对引导项信息,以及排列顺序和符号信息。在编码中,码矢索引采用如下复合形式=o炎e"/efiwfer)+ra"A(少|/e"fifer)x2"-,")+俯"—6/te(力其中,。,"(/e^/w)表示码本中绝对引导项对应的偏移量,I表示从/e^^变换到y的排列方式,"6一"'g"O0表示绝对引导项中非零值的数目,即表示符号信息所使用的比特数,"g"-6^(力表示符号信息。图4为图1中步骤1-6中的具体处理流程图,包括如下步骤步骤41、编码端根据各波段信号对应的频语包络参数和频谱包络量化索引、码矢索引等信息组成编码码流。编码端将各波段信号对应的频i普包络参数和频谱包络量化索引、码矢索引信息,以及上述对各波段的缩放信号进行重排序产生的有序绝对值矢量的原始排序顺序和符号信息,设置在编码码流中,组成编码码流。步骤42、编码端采用码流截断的方法将上述编码码流发送》会解码端。编码端在组成了上述编码码流后,采用码流截断的方法将上述编码码流发送给解码端。该码流截断的具体处理过程如下将各波段信号按能量从大到小排列,发送开始时,初始化已用比特数为0。在需要发送下一个波段信号的编码码流前,判断当前可用总比特数是否大于上述下一个波段信号的编码码流的比特数,如果是,则增加上述下一个波段信号的编码码流的比特数并发送给解码端,同时将已用比特数增加上述下一个波段信号的编码码流的比特数;否则,用剩余比特数填充当前可用总比特数。继续进行上述判断当前可用总比特数是否大于上述下一个波段信号的编码码流的比特数等操作,重复进行上述操作,直到将所有波段信号的编码码流发送给解码端。图5为图1中步骤1-7中的具体处理流程图,包括如下步骤步骤51、解码端计算出各个波段对应的码本和比特数。23解码端接收到上述编码端发送的编码码流后,获取其中携带的各波段信号对应的频谱包络参数和频谱包络量化索引、码矢索引信息,以及上述有序绝对值矢量的原始排序顺序和符号信息。解码端首先根据上述频谱包络参数和频谱包络量化索引计算出各波段对应的包络,按照上述图2所示的编码端进行的处理步骤,计算出各个波段对应的码本和比特数,以及各个波段的最终的缩放因子。步骤52、解码端读取各个波段的比特数。解码端判断当前可用比特是否大于下一波段的比特数,如果是,则读入下一个波段的比特流,并修改可用比特。如果当前可用比特不是大于下一波段的比特数,则丢弃当前剩余比特。继续判断下一个当前可用比特是否大于下一波^L的比特数,直到当前可用比特大于下一波段的比特数,并读入下一个波段的比特流。解码端按照上述处理过程,依次读取各个波段的比特数。步骤53、解码端恢复出各波段对应的信号,得到编码前的输入信号。解码端读取了一个波段的比特数后,根据计算出的该波段对应的码本,以及接收到的该波段信号对应的码矢索引信息,得到该波段信号的绝对f1导项。根据该绝对引导项,以及接收到的上述有序绝对值矢量的原始排序顺序和符号信息,恢复该波-度信号对应的量化编码后的缩方t信号。解码端根据计算出的该波段的最终的缩放因子,对上述缩放信号进行逆缩放,得到重建的该波段对应的信号。解码端按照上述处理过程,依次重建各个波段对应的信号,得到编码前的输入信号。本发明实施例所述编码装置的结构示意图如图6所示,包括码本能量设定模块61、码本分配模块62、量化处理模块63和剩余比特分配模块64。在本实施例中,码本能量设定模块61用于分别设定各个码本对应的平均^匕I3匕里o码本分配模块62用于根据输入信号的波段的平均能量和各个码本的平均能量,给所述输入信号确定缩放因子,用该缩放因子对所述波段进行缩放,根据缩放后的波段的平均能量和各个码本的平均能量确定所述波段对应的码本。码本分配模块62包括初始缩放因子确定模块621和计算处理模块622。量化处理模块63用于将所述波段的平均能量调整到所述波段对应的码本的平均能量,利用所述波段对应的码本对调整后的所述波段进行量化。上述码本分配模块62中的初始缩放因子确定模块621用于将输入信号的各个波段按照平均能量的大小从大到小排序,设定平均能量最大和最小的波段对应的码本,将平均能量最大的波段的能量除以该波段对应的码本的平均能量再开方得到最大缩放因子,将平均能量最小的波段的平均能量除以该波段对应的码本的平均能量再开方得到最小缩放因子;上述码本分配模块62中的计算处理模块622用于将将所述最大缩放因子作为初始缩放因子对输入信号的各个波段进行缩放,确定平均能量最接近所述缩放后的各个波段的平均能量的码本为各个波段对应的码本,将各个波段对应的码本的比特数进行相加所获得的总比特数和最大可用比特数进行比较;如果比较结果为相等,则保存所述已确定的各个波段对应的码本和比特数信息;否则,根据所述最大缩放因子和最小缩放因子对所述初始缩放因子进行更新,利用更新后的缩放因子对输入信号的各个波段进行缩放,重新确定各个波段对应的码本和比特数信息。计算处理模块622包括缩放因子更新模块6221和迭代计算模块6222。上述计算处理模块622中的缩放因子更新模块6221用于当所述总比特数小于所述最大可用比特数时,则更新后的最大缩放因子=最大縮放因子-1,如果更新后的最大缩放因子小于最小缩放因子,则保存所述已确定的各个波段对应的码本和比特数信息;否则,更新后的缩放因子-V更新后的最大縮放因子x最小縮放因子;上述计算处理模块622中的迭代计算模块6222用于利用更新后的缩放因子对输入信号的各个波段进行缩放,重新确定各个波段对应的码本和比特数信息,将重新获取的总比特数和最大可用比特数进行比较,如果比较结果为相等,则保存重新确定的各个波段对应的码本和比特数信息;否则,继续迭代计算各个波段对应的码本和比特数信息,直到达到设定的迭代次数,保存最后确定的各个波段对应的码本和比特数信息。剩余比特分配模块64用于当迭代计算模块6222超过设定的迭代次数时,将剩余的可用比特数分配到各个波段中,并且能量大的波段优先分配,每个波段分配的比特数不超过最大码本的比特数。本发明实施例所述解码装置的结构示意图如图7所示,包括码本分配模块71及信号恢复模块72。在本实施例中,码本分配模块71用于根据接收到的频谱包络参数和频谱包络量化索引计算出各个波段的平均能量,根据各个波段的平均能量和各个码本的平均能量确定各个波段对应的码本和比特数。码本分配模块71包括缩放因子确定模块711和码本确定模块712。信号恢复模块72用于根据所述码本分配模块计算出的各个波段对应的比特数依次读取各个波段的信号,利用所述码本分配模块计算出的各个波段对应的码本和接收到的各个波段的码矢索引信息恢复出各个波段的编码前的信号。信号恢复模块72包括比特数读取模块721和信号重建模块722。所述码本分配模块71中的缩放因子确定模块711,用于根据接收到的各个波段的频谱包络参数和频i普包络量化索引计算出各个波段的包络,进而计算出各个波段的平均能量;根据各个波段的平均能量和各个码本的平均能量确定各个波段的缩放因子;所述码本分配模块71中的码本确定模块712用于利用所述缩放因子确定模块确定的各个波段的缩放因子对各个波段进行缩放,根据缩放后的各个波段的平均能量和所述各个码本的平均能量确定各个波段对应的码本和比特数。所述信号恢复模块72中的比特数读取模块721用于根据各个波段对应的比特数依次读取各个波段的比特流;所述信号恢复模块72中的信号重建模块722用于读取各个波段的比特数后,根据计算出的各个波段对应的码本,以及接收到的各个波段对应的码矢索引信息,恢复出各个波段的量化编码后的缩放信号,根据各个波段的缩放因子,对所述各个波段的量化编码后的缩放信号进行逆缩放,重建出各个波段的编码前的信号。本发明实施例所述编解码系统的结构示意图如图8所示,包括编码端81及解码端82。在本实施例中,编码端81用于根据输入信号的各个波段的平均能量和各个码本的平均能量,确定各个波段对应的码本和比特数,利用所述波段对应的码本对所述波段进行量化编码,将各个波段对应的频谱包络参数和频谱包络量化索引、码矢索引信息发送给解码端82。编码端81包括码本分配模块811、量化处理模块812和码本能量设定模块813。解码端82用于根据接收到的频谙包络参数和频谱包络量化索引计算出各波段对应的包络以确定各个波段的平均能量,根据各个波段的平均能量和各个码本的平均能量确定各个波段对应的码本和比特数,利用接收到的各个波段的码矢索引信息恢复出各个波段的编码前的信号。解码端82包括码本分配模块821和信号恢复模块822。所述编码端81中的码本分配模块811用于才艮据输入信号的波段的平均能量和各个码本的平均能量,给所述输入信号确定缩放因子,用该缩放因子对所述波段进行缩放,根据缩放后的波段的平均能量和各个码本的平均能量确定所述波段对应的码本和比特凄丈;所述编码端81中的量化处理模块812用于将所述波段的平均能量调整到所述波段对应的码本的平均能量,利用所述波段对应的码本对进行了能量调整后的所述波段进行量化编码,获取各个波段的码矢索引信息。所述编码端81中的码本能量设定模块813用于分别设定各个码本对应的平均能量。所述解码端82中的码本分配模块821用于根据接收到的频谱包络参数和频谱包络量化索引计算出各波段对应的包络以确定各个波段的平均能量,根据各个波段的平均能量和各个码本的平均能量确定各个波段对应的码本和比特数。所述解码端82中的信号恢复模块822用于根据所述码本分配模块821计算出的各个波段对应的比特数依次读取各个波段的信号,利用所述码本分配模块821计算出的各个波段对应的码本和接收到的各个波段的码矢索引信息恢复出各个波段的编码前的信号。上述本发明实施例所述方法、装置和系统能够应用于各种变速率编码系统和可分级编码系统,比如,可以应用于超宽带语音频信号编解码处理过程中对输入信号的频谱进行量化。综上所述,本发明实施例根据信号的能量和码本的平均能量计算缩放因子,利用缩放因子对信号进行缩放,再根据缩放后的信号的能量和码本的平均能量的关系,给输入信号的波段确定码本。从而避免了因码本完全嵌套而造成编码效率较低的问题。本发明实施例考虑到人耳对高频能量信息更为敏感的特性,使用较多比特编码高能量的包络,从而可以保证量化编码后主观听力失真小。本发明实施例以波段的能量为基准分配比特数,降低感知重要波段量化失真。以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本
技术领域
的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。权利要求1、一种编码方法,其特征在于,包括根据输入信号的波段的平均能量和各个码本的平均能量确定所述输入信号的缩放因子以对所述波段进行缩放;根据缩放后的波段的平均能量和所述各个码本的平均能量确定所述波段对应的码本;将所述缩放后的波段的平均能量调整到所述波段对应的码本的平均能量,利用所述波段对应的码本对调整后的所述波段进行量化编码。2、根据权利要求1所述的方法,其特征在于,所述的方法之前还包括通过训练的方法分别设定所述各个码本对应的平均能量。3、根据权利要求1所述的方法,其特征在于,所述的根据输入信号的波段的平均能量和各个码本的平均能量,给所述输入信号确定缩放因子的步骤包括将所述输入信号的各个波段按照平均能量的大小从大到小排序,设定平均能量最大和最小的波段对应的码本,将平均能量最大的波段的平均能量除以所述平均能量最大的波段对应的码本的平均能量得到最大缩放因子,将平均能量最小的波段的平均能量除以所述平均能量最小的波段对应的码本的平均能量得到最小缩;故因子。4、根据权利要求3所述的方法,其特征在于,所述的设定平均能量最大和最小的波段对应的码本的步骤包括设定所有码本中平均能量从小至大的前1/3位置的码本作为平均能量最大的波段对应的码本,设定所有码本中平均能量最大的码本作为平均能量最小的波^殳对应的码本。5、根据权利要求3所述的方法,其特征在于,所述的根据缩放后的波段的能量和各个码本的平均能量确定所述波段对应的码本的步骤包括将所述最大缩放因子作为初始缩放因子对输入信号的各个波段进行缩放,确定平均能量最接近所述缩放后的各个波段的平均能量的码本为各个波段对应的码本;将各个波段对应的码本的比特数进行相加所获得的总比特数和最大可用比特数进行比较;如果比较结果为相等,则保存所述已确定的各个波段对应的码本和比特数;否则,根据所述最大缩放因子和最小缩放因子对所述初始缩放因子进行更新,利用更新后的缩放因子对输入信号的各个波段进行缩放,重新确定各个波段对应的码本和比特数。6、根据权利要求5所述的方法,其特征在于,所述的根据所述最大缩放因子和最小缩放因子对所述初始缩放因子进行更新,利用更新后的缩放因子对输入信号的各个波段进行缩放,重新确定各个波段对应的码本和比特数的步骤包括当所述总比特数小于所述最大可用比特数时,则更新后的最大缩放因子=最大縮放因子-1,如果更新后的最大缩放因子小于最小缩放因子,则保存所述已确定的各个波段对应的码本和比特数;否则,更新后的缩放因子=>/更新后的最大縮放因子><最小缩放因子;利用更新后的缩放因子对输入信号的各个波段进行缩放,重新确定各个波段对应的码本和比特数,将重新获取的总比特数和最大可用比特数进行比较,如果比较结果为相等,则保存重新确定的各个波段对应的码本和比特数;否则,继续迭代计算各个波段对应的码本和比特数信息,直到达到设定的迭代次数,保存最后确定的各个波段对应的码本和比特数。7、根据权利要求6所述的方法,其特征在于,所述的根据缩放后的波段的平均能量和各个码本的平均能量确定所述波段对应的码本和比特数的步骤还包括当超过设定的迭代次数时,将剩余的可用比特数分配到各个波段中,并且平均能量大的波段优先分配,每个波段分配的比特数不超过最大码本的比特数。8、根据权利要求1所述的方法,其特征在于,所述的码本为基于z"格的码本。9、根据权利要求1至8任一项所述的方法,其特征在于,所述的将所述缩放后的波段的平均能量调整到所述波段对应的码本的平均能量,利用所述波段对应的码本对所述调整后的所述波段进行量化编码,具体包括将所述输入信号中各波段的平均能量调整到各波段对应的码本的平均能量,得到缩放后的各波段,利用相关性匹配的方法在各波段对应的码本中搜索缩放后的各波段的最佳码矢,并对该最佳码矢进行索引。10、一种解码方法,其特征在于,包括根据接收到的各个波段的频谱包络参数和频谱包络量化索引确定各个波段的平均能量,根据所述各个波段的平均能量和各个码本的平均能量确定各个波段对应的码本和比特数;根据所述各个波段对应的比特数读取各个波段的比特流;根据所述各个波段对应的码本和接收到的各个波段的码矢索引信息,利用所述各个波段的比特流恢复出各个波段的编码前的信号。11、根据权利要求10所述的解码方法,其特征在于,所述根据接收到的各个波段的频谱包络参数和频谱包络量化索引确定各个波段的平均能量,根据所述各个波段的平均能量和各个码本的平均能量确定各个波段对应的码本和比特数的步骤包括根据所述接收到的各个波段的频谱包络参数和频谱包络量化索引计算出各个波段的包络,进而计算出所述各个波段的平均能量;根据所述各个波段的平均能量和各个码本的平均能量确定各个波段的缩;汰因子以对各个波段进行缩;故;根据缩放后的各个波段的平均能量和所述各个码本的平均能量确定各个波段对应的码本和比特数。12、根据权利要求11所述的解码方法,其特征在于,所述根据各个波段对应的码本和接收到的各个波段的码矢索引信息,利用所述各个波段的比特流恢复出各个波段的编码前的信号的步骤包括读取所述各个波段的比特数后,根据所述各个波段对应的码本,以及所述接收到的各个波段的码矢索引信息,恢复出各个波段的量化编码后的缩放信号;根据计算出的各个波段的缩放因子,对所述各个波段的量化编码后的缩放信号进行逆缩放,得到重建的各个波段的编码前的信号。13、一种编码装置,其特征在于,包括码本分配模块,用于根据输入信号的波段的平均能量和各个码本的平均能量,给所述输入信号确定缩放因子,用该缩放因子对所述波段进行缩放,根据缩放后的波段的平均能量和各个码本的平均能量确定所述波段对应的码本;量化处理模块,用于将所述波段的平均能量调整到所述波段对应的码本的平均能量,利用所述波段对应的码本对调整后的所述波段进行量化编码。14、根据权利要求13所述的编码装置,其特征在于,所述装置还包括码本能量设定模块,用于分别设定各个码本对应的平均能量。15、根据权利要求13或14所述的编码装置,其特征在于,所述码本分配模块包括初始缩放因子确定模块,用于将输入信号的各个波段按照平均能量的大小从大到小排序,设定平均能量最大和最小的波段对应的码本,将平均能量最大的波段的平均能量除以该波段对应的码本的平均能量再开方得到最大缩放因子,将平均能量最小的波段的平均能量除以该波段对应的码本的平均能量再开方得到最小缩放因子;计算处理模块,用于将所述最大缩放因子作为初始缩放因子对输入信号的各个波段进行缩放,确定平均能量最接近所述缩放后的各个波段的平均能量的码本为各个波段对应的码本,将各个波段对应的码本的比特数进行相加所获得的总比特数和最大可用比特数进行比较,如果比较结果为相等,则保存所述已确定的各个波段对应的码本和比特数信息;否则,通过迭代计算重新确定各个波段对应的码本和比特数信息。16、根据权利要求15所述的编码装置,其特征在于,所述计算处理模块包括缩放因子更新模块,用于当所述总比特数小于所述最大可用比特数时,则更新后的最大缩放因子=最大縮放因子-1,如果更新后的最大缩放因子小于最小缩放因子,则保存所述已确定的各个波段对应的码本和比特数信息;否则,更#斤后的缩;故因子=V更新后的最大縮放因子x最小縮放因子;迭代计算模块,用于利用更新后的缩放因子对输入信号的各个波段进行缩放,重新确定各个波段对应的码本和比特数信息,将重新获取的总比特数和最大可用比特数进行比较,如果比较结果为相等,则保存重新确定的各个波段对应的码本和比特数信息;否则,继续迭代计算各个波段对应的码本和比特数信息,直到达到设定的迭代次数,保存最后确定的各个波段对应的码本和比特数信息。17、根据权利要求16所述的编码装置,其特征在于,所述装置还包括剩余比特分配模块,用于当所述迭代计算模块超过设定的迭代次数时,将剩余的可用比特数分配到各个波段中,并且平均能量大的波段优先分配,每个波段分配的比特数不超过最大码本的比特数。18、一种解码装置,其特征在于,包括码本分配模块,用于根据接收到的频谱包络参数和频谱包络量化索引计算出各个波段的平均能量,根据所述各个波段的平均能量和各个码本的平均能量确定各个波段对应的码本和比特数;信号恢复模块,用于根据所述码本分配模块确定的各个波段对应的比特数依次读取各个波段的信号,利用所述码本分配模块确定的各个波段对应的码本和接收到的各个波段的码矢索引信息恢复出各个波段的编码前的信号。19、根据权利要求18所述的解码装置,其特征在于,所述码本分配模块包括缩放因子确定模块,用于根据所述接收到的各个波段的频谱包络参数和频谱包络量化索引计算出各个波段的包络,进而计算出所述各个波段的平均能量;根据所述各个波段的平均能量和所述各个码本的平均能量确定各个波段的缩放因子;码本确定模块,用于利用所述缩放因子确定模块确定的所述各个波段的缩放因子对各个波段进行缩放,根据缩放后的各个波段的平均能量和所述各个码本的平均能量确定各个波段对应的码本和比特数。20、根据权利要求19所述的解码装置,其特征在于,所述信号恢复模块包括比特数读取模块,用于根据所述各个波段对应的比特数依次读取各个波l殳的比特流;信号重建模块,用于读取所述各个波段的比特数后,根据所述各个波段对应的码本,以及所述接收到的各个波段对应的码矢索引信息,恢复出各个波段的量化编码后的缩放信号,根据各个波段的缩放因子,对所述各个波段的量化编码后的缩放信号进行逆缩放,重建出各个波段的编码前的信号。21、一种编解码系统,其特征在于,包括编码端,用于根据输入信号的各个波段的平均能量和各个码本的平均能量,确定各个波段对应的码本,利用所述波段对应的码本对所述波段进行量化编码,将各个波段对应的频谱包络参数和频谱包络量化索引、码矢索引信息发送给解码端;解码端,用于根据接收到的频谱包络参数和频谱包络量化索引计算出各波段对应的包络以确定各个波段的平均能量,根据各个波段的平均能量和各个码本的平均能量确定各个波段对应的码本和比特数,利用接收到的各个波段的码矢索引信息恢复出各个波段的编码前的信号。22、根据权利要求21所述的编解码系统,其特征在于,所述编码端具体包括码本分配模块,用于根据输入信号的波段的平均能量和各个码本的平均能量,给所述输入信号确定缩放因子,用该缩放因子对所述波段进行缩放,根据缩放后的波段的平均能量和各个码本的平均能量确定所述波段对应的码本和比特数;量化处理模块,用于将所述波段的平均能量调整到所述波段对应的码本的平均能量,利用所述波段对应的码本对调整后的所述波段进行量化编码,获取各个波段的码矢索引信息。23、根据权利要求22所述的编解码系统,其特征在于,所述编码端还包括码本能量设定模块,用于分别设定各个码本对应的平均能量。24、根据权利要求21、22或23所述的编解码系统,其特征在于,所述解码端具体包括码本分配模块,用于根据接收到的频谱包络参数和频谱包络量化索引计算出各波段对应的包络以确定各个波段的平均能量,根据各个波段的平均能量和各个码本的平均能量确定各个波段对应的码本和比特数;信号恢复模块,用于根据所述码本分配模块确定的各个波段对应的比特数依次读取各个波段的信号,利用所述码本分配模块确定的各个波段对应的码本和接收到的各个波段的码矢索引信息恢复出各个波段的编码前的信号。全文摘要本发明实施例公开了一种编解码方法、装置和系统。该方法主要包括根据输入信号的波段的能量和各个码本的平均能量,给所述输入信号确定缩放因子,用该缩放因子对所述波段进行缩放,根据缩放后的波段的能量和各个码本的平均能量确定所述波段对应的码本;将所述波段的能量调整到所述波段对应的码本的平均能量,利用所述波段对应的码本对进行了能量调整后的所述波段进行量化。利用本发明,避免了因码本完全嵌套而造成编码效率较低的问题。文档编号G10L19/00GK101609674SQ20081011535公开日2009年12月23日申请日期2008年6月20日优先权日2008年6月20日发明者霖刘,勇张,王庭红,玮肖,胡瑞敏,马付伟申请人:华为技术有限公司;武汉大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1