买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!
申请/专利权人:武汉大学深圳研究院
摘要:本发明涉及一种ISF系数矢量量化方法与装置,将训练好的多区域码表中的ISF系数转化为LPC系数,分别获取区域索引Choosen_clusteri、第一级矢量量化VQ的索引VQj和第二级分裂矢量量化SVQ的索引SVQ[5]对待量化的ISF[16]系数进行量化,得到量化后的ISF_q[16],进一步得到当前帧量化后的LPC_q[16],将原始的LPC[16]系数通过功率谱计算公式得到对应的功率谱pf[128];将得到的当前帧量化后的LPC_q[16]系数和原始LPC[16]系数对应的功率谱pf[128]计算出当前区域对应的谱失真SD,并与上一个区域的谱失真进行比较,获取最小的谱失真SD,将最小谱失真对应的区域索引Choosen_clusteri和第一级矢量量化后的索引VQj以及第二级分裂矢量量化后的索引SVQ[5]输出,完成ISF系数矢量量化。本发明仅使用42bit量化16阶ISF系数,相比AMR-WB+的46bit,少了4bit。
主权项:一种ISF系数矢量量化的方法,其特征在于,包括以下步骤:S1:将输入的一组待量化的ISF[16]系数转化成LPC_s[16],并且将训练好的多区域码表中的ISF系数转化为LPC系数,通过最近邻搜索法则,采用欧氏距离测度选择出欧氏距离最近的6个区域,然后按顺序选择第一个区域对应的码本,并将该区域的索引值Choosen_clusteri用4bit表示输出,其中i=0,1,2,3,...,15;S2:在步骤S1中输出的索引Choosen_clusteri对应的已经训练好的一张16*64*16的码表中,根据最近邻法则,采用欧式距离测度进行搜索,搜索出一组与待量化的ISF[16]系数残差最小的一组码本,得到第一级矢量量化VQ对应的索引VQj用6bit表示,j=0,1,2,3,…,63,然后将计算出来的残差Re[16]化分为5组,5组的长度分别为3,3,3,3,4,在第一级矢量量化VQ输出的索引中对应的3个3*64码表,1个3*128码表和1个4*128码表中通过最近邻法则,按照欧式距离测度,分别搜索出与5组残差中残差最小的一组码本,得到第二级分裂矢量量化索引SVQ[5]分别用6bit,6bit,6bit,7bit,7bit表示;最后通过区域索引Choosen_clusteri、第一级矢量量化VQ的索引VQj和第二级分裂矢量量化SVQ的索引SVQ[5]对待量化的ISF[16]系数进行量化,得到量化后的ISF_q[16];S3:将步骤S2中得到的当前帧量化后的ISF_q[16]系数和前一帧保留的量化后的ISF_q_old[16]系数通过LPC和ISF之间的关系进行换算,得到当前帧量化后的LPC_q[16],并且将前一帧量化后的所保存的ISF_q_old[16]系数进行更新,把当前帧量化后的ISF_q[16]系数保存到ISF_q_old[16]系数中,以便下一帧使用;S4:将原始的LPC[16]系数通过功率谱计算公式得到对应的功率谱pf[128];S5:将步骤S3得到的当前帧量化后的LPC_q[16]系数和步骤S4中得到的原始LPC[16]系数对应的功率谱pf[128]通过谱失真计算公式,计算出当前区域对应的谱失真SD,并与上一个区域的谱失真进行比较,若当前区域计算出的谱失真小于上一个区域计算的谱失真,则将谱失真进行更新min_error=SD,然后跳转至步骤S1进行下一个区域的计算;若当前区域计算出的谱失真大于上一个区域计算的谱失真,则直接跳转至步骤S1进行下一个区域的计算;若6个区域对应的谱失真计算完成,最终将最小谱失真对应的区域索引Choosen_clusteri和第一级矢量量化后的索引VQj以及第二级分裂矢量量化后的索引SVQ[5]输出,完成ISF系数矢量量化。
全文数据:一种ISF系数矢量量化的方法与装置技术领域[0001]本发明涉及音频编解码技术领域,尤其涉及音频编解码技术中ISF系数矢量量化方法与装置。背景技术[0002]现有当前全球移动通信已全面进入3G、B3G时代,3G技术的发展使得终端接入网络的带宽进一步提升,庞大的移动通信客户群和3G移动通信网的开通,驱动移动通信业进入新一轮增长高峰,各种基于高速网络的增值业务层出不穷,其中又以移动多媒体点播、多媒体短信、手机音乐等为代表的移动多媒体业务最具发展前景。然而,移动网络的应用环境不同于固定网络环境:移动网络的带宽资源较有线网络大大减少、移动设备的电池供电时间较短,内存容量较小,资源相对有限,同时由于目前多声道编码效率不高,导致目前移动环境下难以给用户满意的听觉享受,制约了移动音频相关业务的普遍应用。作为移动通信核心技术的语音编码压缩中,通常用线性预测编码LinearPredictiveCoding,LPC系数表征语音的短时谱包络,对其高效量化是语音编码中一个关键性的问题。[0003]量化是有损数据压缩中的关键技术之一。量化方法一般可以分为两种:一种是标量量化,另一种是矢量量化。对于一组数据,标量量化方法的思路是对这一组数据中的每一个值分别进行考察,采用同一个量化器进行量化,输入一个值,从规定的值中找到一个对应的值输出。在这个过程中,没有考虑这一组数据中数据间的相关性,每个数据都是相对独立的。而矢量量化则不同,它将这一组数据分成若干个小的单元,这个小单元被称作为矢量,小单元中数据的个数,称为这个矢量的维数,“规定的值”被称作为码本。矢量量化的过程是将输入的每个矢量根据一定的原则进行选择,在码本中找到最接近的那个值。标量量化每个数据都是独立的,而矢量量化利用了矢量中各个分量的相关性来消除冗余度,所以从这个角度来讲,矢量量化方法总是优于标量量化方法的。发明内容[0004]本发明的目的在于为克服现有技术的缺陷,而提供一种ISF系数矢量量化方法与装置。[0005]为实现上述目的,本发明采用以下技术方案:一种ISF系数矢量量化的方法,包括以下步骤:[0006]SI:将输入的一组待量化的16阶的导谱频率ISF[16]系数转化成16阶的线性预测系数LPC_s[16],并且将训练好的多区域码表中的ISF系数转化为LPC系数,通过最近邻搜索法则,采用欧氏距离测度选择出欧氏距离最近的6个区域,然后按顺序选择第一个区域对应的码本,并将该区域的索引值〇1〇〇8611_31118七61';0,用413;[1:表示输出,其中1=0,1,2,3,···,15;[0007]S2:在步骤Sl中输出的索引Choosen_cluster⑴对应的已经训练好的一张16*64*16的码表中,根据最近邻法则,采用欧式距离测度进行搜索,搜索出一组与待量化的ISF[16]系数残差最小的一组码本,得到第一级矢量量化VQ对应的索引VQj,用6bit表示,j=O,1,2,3,…,63,然后将计算出来的残差Re[16]化分为5组,5组的长度分别为3,3,3,3,4,在第一级矢量量化VQ输出的索引中对应的3个3*64码表,1个3*128码表和1个4*128码表中通过最近邻法则,按照欧式距离测度,分别搜索出与5组残差中残差最小的一组码本,得到第二级分裂矢量量化索引5¥0[5],分别用613^,613^,613^,713^,713^表示;最后通过区域索引Chooseruclusteri、第一级矢量量化VQ的索引VQj和第二级分裂矢量量化SVQ的索引SVQ[5]对待量化的ISF[16]系数进行量化,得到量化后的ISF_q[16];[0008]S3:将步骤S2中得到的当前帧量化后的ISF_q[16]系数和前一帧保留的量化后的ISF_q_old[16]系数通过LPC和ISF之间的关系进行换算,得到当前帧量化后的LPC_q[16],并且将前一帧量化后的所保存的ISF_q_old[16]系数进行更新,把当前帧量化后的ISF_q[16]系数保存到ISF_q_old[16]系数中,以便下一帧使用;[0009]S4:将原始的LPC[16]系数通过功率谱计算公式得到对应的功率谱pf[128];[0010]S5:将步骤S3得到的当前帧量化后的LPC_q[16]系数和步骤S4中得到的原始LPC[16]系数对应的功率谱pf[128]通过谱失真计算公式,计算出当前区域对应的谱失真SD,并与上一个区域的谱失真进行比较,若当前区域计算出的谱失真小于上一个区域计算的谱失真,则将谱失真进行更新最小误差min_error=SD,然后跳转至步骤Sl进行下一个区域的计算;若当前区域计算出的谱失真大于上一个区域计算的谱失真,则直接跳转至步骤Sl进行下一个区域的计算;若6个区域对应的谱失真计算完成,最终将最小谱失真对应的区域索引Chooserucluster⑴和第一级矢量量化后的索引VQj以及第二级分裂矢量量化后的索引SVQ[5]输出,完成ISF系数矢量量化。[0011]进一步,所述步骤S5中若当前区域为第一个区域,则将当前区域计算出的谱失真与系统初始的min_error=INF无穷大进行比较。[0012]—种ISF系数矢量量化的装置,包括多区域选择模块、多级分裂矢量量化模块、LPC系数还原模块、功率谱计算模块、谱失真比较模块,其中,[0013]所述多区域选择模块,用于将输入的一组待量化的ISF系数转化为LPC系数,并且将训练好的多区域码表中的ISF系数转化为LPC系数,通过最近邻搜索法则,采用欧氏距离测度选择出最近的6个区域,然后按顺序依次输出每一个区域对应的码本,并将该区域的索引输出到多级分裂矢量量化模块中;[0014]所述多级分裂矢量量化模块,用于将待量化的ISF系数通过多区域选择模块中输出的区域索引进行第一级矢量量化和第二级分裂矢量量化,并将量化后的ISF系数和第一级矢量量化后的索引和第二级分裂矢量量化后的索引输出到LPC系数还原模块中;[0015]所述LPC系数还原模块,用于将多级分裂矢量量化模块中输出的量化后的ISF系数和上一帧保留的量化后的ISF系数经过量化矢量,还原出原始的LPC系数,同时将当前帧量化后的ISF系数保存,以便下一帧使用,最后将保存的ISF系数和还原出的LPC系数输出到谱失真比较模块中;[0016]所述功率谱计算模块,用于将原始的LPC系数通过功率谱计算公式得到对应的功率谱,并将功率谱输出到谱失真比较模块中;[0017]所述谱失真比较模块,用于将功率谱计算模块中输出的功率谱和LPC系数还原模块中输出的还原的LPC系数通过谱失真计算公式算出对应的谱失真,将计算出的谱失真与上一个区域计算得到的谱失真进行比较;若当前区域计算出的谱失真小于上一个区域计算的谱失真,则将谱失真进行更新,然后进行下一个区域的计算;若当前区域计算出的谱失真大于上一个区域计算的谱失真,则直接进行下一个区域的计算;若6个区域对应的谱失真计算完成,最终将最小谱失真对应的区域索引和第一级矢量量化后的索引以及第二级分裂矢量量化后的索引输出,完成ISF系数矢量量化。[0018]本发明与现有技术相比的有益效果是:本发明仅使用42bit量化16阶ISF系数,相比AMR-WB+的46bit,少了4bit。[0019]下面结合附图和具体实施例对本发明作进一步描述。附图说明[0020]图1是本发明实施例的系统结构框图。[0021]图2是本发明实施例的方法流程图。具体实施方式[0022]为了更充分理解本发明的技术内容,下面结合具体实施例对本发明的技术方案进一步介绍和说明。[0023]如图1所示,本发明实施例提供的ISF系数矢量量化方法,具体包括如下步骤:[0024]在步骤Sl中:将输入的一组待量化的16阶的导谱频率ISF[16]系数转化成16阶的线性预测系数LPC_s[16],并且将训练好的多区域码表中的ISF系数转化为LPC系数,通过最近邻搜索法则,采用欧氏距离测度选择出欧氏距离最近的6个区域,然后按顺序选择第一个区域对应的码本,并将该区域的索引值Choosen_cluster⑴,用4bit表示输出,其中i=0,1,2,3,···,15;[0025]在步骤S2中:在步骤Sl中输出的索引Choosen_cluster⑴对应的已经训练好的一张16*64*16的码表中,根据最近邻法则,采用欧式距离测度进行搜索,搜索出一组与待量化的ISF[16]系数残差最小的一组码本,得到对应码本的索引,即第一级矢量量化VQ对应的索引乂0〇,用61^表示,」=0,1,2,3,〜,61^[16]3;然后将计算出来的残差此[16]化分为5组,5组的长度分别为3,3,3,3,4,SPRei[3]、Re2[3]、Re3[3]、Re4[3]、Re5[4],然后根据第一级矢量量化VQ输出的索引VQj用6bit表示)中对应的已经训练好的3个3*64码表,1个3*128码表和1个4*128码表中通过最近邻法则,按照欧式距离测度,分别搜索出与Re1[3]、Re2[3]、Re3[3]、Re4[3]、Re5[4]残差最小的一组码本,得到第二级分裂矢量量化索引SVQ[5],分别用613;[1:,613;[1:,613;[1:,713;[1:,713;[1:表示;最后通过切换区域索引01008611_31118七61';0、第一级矢量量化VQ的索引VQj和第二级分裂矢量量化SVQ的索引SVQ[5]对待量化的ISF[16]进行量化,得到量化后的ISF_q[16];[0026]在步骤S3中:将步骤S2中得到的当前帧量化后的ISF_q[16]系数和前一帧保留的量化后的ISF_q_old[16]系数通过LPC和ISF之间的关系进行换算,得到当前帧量化后的LPC_q[16],并且将前一帧量化后的所保存的ISF_q_old[16]系数进行更新,ISF_q_old[16]=ISF_q[16],即把当前帧量化后的ISF_q[16]系数保存到ISF_q_oId[16]系数中,以便下一帧使用;[0027]在步骤S4中:将原始的LPC[16]系数通过功率谱计算公式得到对应的功率谱pf[128];[0028]在步骤S5中:将步骤S3得到的当前帧量化后的LPC_q[16]系数和步骤S4中得到的原始LPC[16]系数对应的功率谱pf[128]通过谱失真计算公式,[0030]其中:[0031]pf一一原始ISF系数对应的LPC功率谱;[0032]—一量化后ISF系数对应的LPC功率谱;[0033]Fs数字系统的米样率。[0034]计算出当前区域对应的谱失真SD,并与上一个区域的谱失真进行比较,若当前区域计算出的谱失真小于上一个区域计算的谱失真,则将谱失真进行更新最小误差min_error=SD,然后跳转至步骤SI进行下一个区域的计算;若当前区域为第一个区域,则将当前区域计算出的谱失真与系统初始的min_error=INF无穷大进行比较;若当前区域计算出的谱失真大于上一个区域计算的谱失真,则直接跳转至步骤Sl进行下一个区域的计算;若6个区域对应的谱失真计算完成,最终将最小谱失真对应的区域索引Choosen_clusteri和第一级矢量量化后的索引VQj以及第二级分裂矢量量化后的索引SVQ[5]输出,完成ISF系数矢量量化。[0035]如图2所示,本发明实施例提供的一种ISF系数矢量量化装置,包括多区域选择模块10、多级分裂矢量量化模块20、LPC系数还原模块30、功率谱计算模块40、谱失真比较模块50,其中,[0036]所述多区域选择模块10,用于将输入的一组待量化的ISF系数转化为LPC系数,并且将训练好的多区域码表中的ISF系数转化为LPC系数,通过最近邻搜索法则,采用欧氏距离测度选择出最近的6个区域,然后按顺序依次输出每一个区域对应的码本,并将该区域的索引输出到多级分裂矢量量化模块20中;[0037]所述多级分裂矢量量化模块20,用于将待量化的ISF系数通过多区域选择模块10中输出的区域索引进行第一级矢量量化和第二级分裂矢量量化,并将量化后的ISF系数和第一级矢量量化后的索引和第二级分裂矢量量化后的索引输出到LPC系数还原模块30中;[0038]所述LPC系数还原模块30,用于将多级分裂矢量量化模块20中输出的量化后的ISF系数和上一帧保留的量化后的ISF系数经过量化矢量,还原出原始的LPC系数,同时将当前帧量化后的ISF系数保存,以便下一帧使用,最后将保存的ISF系数和还原出的LPC系数输出到谱失真比较模块50中;[0039]所述功率谱计算模块40,用于将原始的LPC系数通过功率谱计算公式得到对应的功率谱,并将功率谱输出到谱失真比较模块50中;[0040]所述谱失真比较模块50,用于将功率谱计算模块40中输出的功率谱和LPC系数还原模块30中输出的还原的LPC系数通过谱失真计算公式算出对应的谱失真,将计算出的谱失真与上一个区域计算得到的谱失真进行比较;若当前区域计算出的谱失真小于上一个区域计算的谱失真,则将谱失真进行更新,然后进行下一个区域的计算;若当前区域计算出的谱失真大于上一个区域计算的谱失真,则直接进行下一个区域的计算;若6个区域对应的谱失真计算完成,最终将最小谱失真对应的区域索引和第一级矢量量化后的索引以及第二级分裂矢量量化后的索引输出,完成ISF系数矢量量化。[0041]以上所述仅以实施例来进一步说明本发明的技术内容,以便于读者更容易理解,但不代表本发明的实施方式仅限于此,任何依本发明所做的技术延伸或再创造,均受本发明的保护。
权利要求:1.一种ISF系数矢量量化的方法,其特征在于,包括以下步骤:SI:将输入的一组待量化的16阶的导谱频率ISF[16]系数转化成16阶的线性预测系数LPC_s[16],并且将训练好的多区域码表中的ISF系数转化为LPC系数,通过最近邻搜索法贝1J,采用欧氏距离测度选择出欧氏距离最近的6个区域,然后按顺序选择第一个区域对应的码本,并将该区域的索引值Choosen_cluster⑴,用4bit表示输出,其中i=0,l,2,3,...,15;S2:在步骤SI中输出的索引Choosen_cluster⑴对应的已经训练好的一张16*64*16的码表中,根据最近邻法则,采用欧式距离测度进行搜索,搜索出一组与待量化的ISF[16]系数残差最小的一组码本,得到第一级矢量量化VQ对应的索引VQj,用6bit表示,j=O,1,2,3,…,63,然后将计算出来的残差Re[16]化分为5组,5组的长度分别为3,3,3,3,4,在第一级矢量量化VQ输出的索引中对应的3个3*64码表,1个3*128码表和1个4*128码表中通过最近邻法则,按照欧式距离测度,分别搜索出与5组残差中残差最小的一组码本,得到第二级分裂矢量量化索引SVQ[5],分别用613^,613^,613^,713^,713^表示;最后通过区域索引Ch〇〇sen_CluSteri、第一级矢量量化VQ的索引VQj和第二级分裂矢量量化SVQ的索引SVQ[5]对待量化的ISF[16]系数进行量化,得到量化后的ISF_q[16];S3:将步骤S2中得到的当前帧量化后的ISF_q[16]系数和前一帧保留的量化后的ISF_q_old[16]系数通过LPC和ISF之间的关系进行换算,得到当前帧量化后的LPC_q[16],并且将前一帧量化后的所保存的ISF_q_old[16]系数进行更新,把当前帧量化后的ISF_q[16]系数保存到ISF_q_old[16]系数中,以便下一帧使用;S4:将原始的LPC[16]系数通过功率谱计算公式得到对应的功率谱pf[128];S5:将步骤S3得到的当前帧量化后的LPC_q[16]系数和步骤S4中得到的原始LPC[16]系数对应的功率谱pf[128]通过谱失真计算公式,计算出当前区域对应的谱失真SD,并与上一个区域的谱失真进行比较,若当前区域计算出的谱失真小于上一个区域计算的谱失真,则将谱失真进行更新最小误差min_error=SD,然后跳转至步骤Sl进行下一个区域的计算;若当前区域计算出的谱失真大于上一个区域计算的谱失真,则直接跳转至步骤Sl进行下一个区域的计算;若6个区域对应的谱失真计算完成,最终将最小谱失真对应的区域索引Chooserucluster⑴和第一级矢量量化后的索引VQj以及第二级分裂矢量量化后的索引SVQ[5]输出,完成ISF系数矢量量化。2.根据权利要求1所述ISF系数矢量量化的方法,其特征在于,所述步骤S5中若当前区域为第一个区域,则将当前区域计算出的谱失真与系统初始的min_error=INF无穷大进行比较。3.—种ISF系数矢量量化的装置,其特征在于:包括多区域选择模块、多级分裂矢量量化模块、LPC系数还原模块、功率谱计算模块、谱失真比较模块,其中,所述多区域选择模块,用于将输入的一组待量化的ISF系数转化为LPC系数,并且将训练好的多区域码表中的ISF系数转化为LPC系数,通过最近邻搜索法则,采用欧氏距离测度选择出最近的6个区域,然后按顺序依次输出每一个区域对应的码本,并将该区域的索引输出到多级分裂矢量量化模块中;所述多级分裂矢量量化模块,用于将待量化的ISF系数通过多区域选择模块中输出的区域索引进行第一级矢量量化和第二级分裂矢量量化,并将量化后的ISF系数和第一级矢量量化后的索引和第二级分裂矢量量化后的索引输出到LPC系数还原模块中;所述LPC系数还原模块,用于将多级分裂矢量量化模块中输出的量化后的ISF系数和上一帧保留的量化后的ISF系数经过量化矢量,还原出原始的LPC系数,同时将当前帧量化后的ISF系数保存,以便下一帧使用,最后将保存的ISF系数和还原出的LPC系数输出到谱失真比较模块中;所述功率谱计算模块,用于将原始的LPC系数通过功率谱计算公式得到对应的功率谱,并将功率谱输出到谱失真比较模块中;所述谱失真比较模块,用于将功率谱计算模块中输出的功率谱和LPC系数还原模块中输出的还原的LPC系数通过谱失真计算公式算出对应的谱失真,将计算出的谱失真与上一个区域计算得到的谱失真进行比较;若当前区域计算出的谱失真小于上一个区域计算的谱失真,则将谱失真进行更新,然后进行下一个区域的计算;若当前区域计算出的谱失真大于上一个区域计算的谱失真,则直接进行下一个区域的计算;若6个区域对应的谱失真计算完成,最终将最小谱失真对应的区域索引和第一级矢量量化后的索引以及第二级分裂矢量量化后的索引输出,完成ISF系数矢量量化。
百度查询: 武汉大学深圳研究院 一种ISF系数矢量量化的方法与装置
免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。