一种选择编码模式的方法及装置制造方法
【专利摘要】本发明实施例公开了一种选择编码模式的方法及装置,通过对乐音信号进行分类,当分类结果为打击乐时,采用频段复制编码模式进行高频重建,当分类结果为管弦乐时,采用谐和频段复制编码模式进行高频重建,通过提取乐音信号的3阶MFCC,优化特征值的组合,减少特征值的个数,简化特征值的计算,也因为特征值数量少进而降低分类判断的计算量;在分类算法中,通过训练部分程序对训练集中乐音信号的处理,生成判决树,判决树中每个节点为一个判决条件,判决条件训练完成就保持不变,便于编码的实现,分类算法处理时间少、复杂度小,不需要每次读入训练集,进而大大减少了存储量;在乐音信号的高频重建过程中,重建模式CT-SBR和hSBR间切换将产生切换噪声,为了抑制切换噪声,对分类结果进行平滑处理,进而限制分类结果的频繁切换。
【专利说明】一种选择编码模式的方法及装置
【技术领域】
[0001] 本发明属于数据处理领域,尤其涉及一种选择编码模式的方法及装置。
【背景技术】
[0002] 语音信号和乐音信号在编码压缩中通常采用不同的建模方式,语音信号通常基于 人的发声模型,采用线性预测的方式进行编码;与此相对,乐音信号则通常利用人耳的听觉 遮掩效应,采用变换域编码的方式。实际使用过程中通常存在语音信号和乐音信号交替出 现或同时出现的场合,这样单一的编码方式必将对编码后的音质产生巨大影响。针对这种 不足,动态图像专家组(Moving Pictures Experts Group,MPEG)提出了联合语音乐音编码 (Unified Speech Audio Coding,USAC)标准。USAC编码标准联合了当前最佳的语音编码标 准AMR-WB+及当前最佳的乐音编码标准AAC+作为其核心编码器,同时,对输入信号的高频 部分米用频段复制编码技术(Coding Thechnology Spectral Band Replication,CT-SBR) 或谐和频段复制(Harmonic Spectral Band Replication,hSBR)的高频重建方式。在USAC 编码标准中,其首先对输入信号的类型进行判断,然后根据判断的结果分别采用不同的压 缩编码方式,当输入信号为语音信号时,将采用AMR-WB+方式,当输入信号为音乐信号时, 则采用AAC+的方式。因此,准确的语音/音乐分类算法将对USAC的编码音质产生至关重 要的影响。
[0003] 通常CT-SBR高频重建方式适合于语音信号,而hSBR更适合于乐音信号。乐音信 号的谐波结构明显比语音信号的好,对于谐波结构比较好的乐音信号来说,若用CT-SBR算 法进行高频重建的话,会在分频频率处产生噪声,从而影响音质。为此,USAC编码标准中针 对谐波结构比较好的乐音信号信号引入了另一种频带扩展方法一 hSBR。此方法很好的解 决了上述存在的问题。然而,研究中我们发现:并不是所有类型的乐音信号都具有良好的谐 波结构,例如:以管或弦等发声的乐音信号通常具有丰富的谐波结构,但以打击或敲击发声 的乐音信号其频谱类似于噪声,则通常没有明显的谐波结构。而USAC编码标准却根据输入 信号的分类算法来选择信号的高频重建方式。若输入信号被判断为乐音信号,则统一采用 hSBR。这将导致乐音信号中谐波结构不明显的打击乐信号也选择hSBR方式来进行高频重 建,从而影响到重建乐音信号的质量。为此,需要对乐音信号进行打击乐和管弦乐的进一步 分类。
[0004] 打击乐/管弦乐的分类通常包括两部分:乐音信号特征值提取部分和分类算法部 分。总体上,乐音信号特征可分为两大类:时域特征和频域特征。同时,为了更加符合人耳 的听觉特性,又提出了 Bark域、Mel倒谱等第三类特征值。具体来说,当前已知的特征提取 方法有:上升沿检测、MPEG-7特征、基于小波变换的特征值提取、基于Bark域的模糊表、Mel 倒谱系数(MFCC)等。
[0005] 分类算法部分现有技术有:决策树,贝叶斯,神经网络,支持向量机,k-临近法,遗 传算法,模糊逻辑技术等。虽然现今技术有多种,但是由于各有其特点,某些技术并不适用 于USAC平台。支持向量机(Support Vector Machine, SVM)是一种监督式学习的方法,它 广泛的应用于统计分类以及回归分析中。支持向量机属于一般化线性分类器。他们也可以 认为是提克洛夫规范化(Tikhonov Regularization)方法的一个特例。这族分类器的特点 是他们能够同时最小化经验误差与最大化几何边缘区。因此支持向量机也被称为最大边缘 区分类器。
[0006] 现有的特征值提取方法主要存在如下缺点:
[0007] 1. MPEG-7的谐波特征值都是基于之前算出的基乐音信号率算出的,一旦基乐音信 号率算错或者误差太大,会造成特征值误差过大;
[0008] 2. MPEG-7特征值对于混合的乐音判决效果不好;
[0009] 3.基于Bark域的模糊表经过测试,正确率低于70%,效果不理想。
[0010] 现有的分类算法主要存在如下缺点:
[0011] 1. k-临近每次分类需要读入训练集的所有特征值,不满足系统的实时性要求;
[0012] 2. SVM算法当样本数目很大时,存储和计算耗费资源过多,可能造成较大的处理时 间消耗;
[0013] 3. SVM算法的核函数选择需要经过测试,核函数选择不合适会造成维数过大,存储 和计算耗时过大。
【发明内容】
[0014] 本发明实施例的目的在于提供一种选择编码模式的方法,旨在解决如何优化特征 值的选取、减少特征值的数量、优化判决树的生成、减少在分类结果中的频繁切换。
[0015] 第一方面,一种选择编码模式的方法,所述方法包括:
[0016] 提取乐音信号的3阶梅尔频率c印strum MFCC系数;
[0017] 根据所述3阶MFCC和迭代二叉树3代ID3判决树对所述乐音信号进行分类,并将 分类结果存入一个FIFO数据组,所述FIFO数据组包括bufferl数据组和buffer2数据组;
[0018] 对所述分类结果进行平滑处理,所述平滑处理包括语音和乐音帧间首次切换的初 始状态设置、静音帧的处理、分类结果的修正、分类结果切换频度的限制;
[0019] 当分类结果为打击乐时,采用频段复制编码模式CT-SBR编码模式进行高频重建;
[0020] 当分类结果为管弦乐时,采用谐和频段复制编码模式hSBR进行高频重建。
[0021] 结合第一方面,在第一方面的第一种可能的实现方式中,所述提取乐音信号的3 阶MFCC,包括:
[0022] 对乐音信号进行分帧,将所述乐音信号的帧长为2048点的单帧均分为两个帧长 为1024点的子巾贞,所述两个子巾贞的重叠长度为0 ;
[0023] 利用harming窗对每一个所述子巾贞进行加窗;
[0024] 分别对加窗后的两个子帧的进行快速傅立叶变换FFT,使得所述乐音信号从时间 频域映射到频率域,对频率域信号取模,得到所述频率域信号的幅度值;
[0025] 利用一组梅尔频域上线性分布的三角窗滤波器对所述幅度值进行滤波;
[0026] 取滤波后数值的对数,对所述对数做离散余弦DCT变换,得到3阶MFCC。
[0027] 结合第一方面或者第一方面的第一种可能的实现方式,在第一方面的第二种可能 的实现方式中,所述根据所述3阶MFCC和迭代二叉树3代ID3判决树对所述乐音信号进行 分类,包括:
[0028] 通过训练得到所述ID3判决树的各节点值,使用多层的if-else嵌套对所述3阶 MFCC进行判断,每一帧得到一个分类结果。
[0029] 结合第一方面或者第一方面的第一种可能的实现方式或者第一方面的第二种可 能的实现方式,在第一方面的第三种可能的实现方式中,所述对所述分类结果进行平滑处 理,所述平滑处理包括语音和乐音帧间首次切换的初始状态设置、静音帧的处理、分类结果 的修正、分类结果切换频度的限制,包括:
[0030] 初始化所述bufferl数据组、buffer2数据组和变量premode,所述变量premode 表示前一帧的状态,初始化时设置所述乐音信号所有帧的状态都为管弦乐状态;
[0031] 计算所述bufferl数据组的状态平均值;
[0032] 根据所述状态平均值判断帧状态是否是静音帧;
[0033] 当判断所述帧状态是静音帧时,则将所述buffer2数据组中的所述帧状态修改为 前一帧的状态;
[0034] 当判断所述帧状态不是静音帧且所述bufferl数据组中打击乐状态数量占多数 时,则将所述buffer2数据组中的所述帧状态修改为打击乐状态;
[0035] 当判断所述帧状态不是静音帧且所述bufferl数据组中管弦乐状态数量占多数 时,则将所述bufferf数据组中的所述帧状态修改为管弦乐状态;
[0036] 计算所述buffer2数据组中的状态变换次数,当所述状态变换次数超过一定阈值 时,将所述帧状态修改为前一帧状态。
[0037] 结合第一方面或者第一方面的第一种可能的实现方式或者第一方面的第二种可 能的实现方式或者第一方面的第三种可能的实现方式,在第一方面的第四种可能的实现方 式中,所述方法在步骤提取所述乐音信号的3阶MFCC还包括:
[0038] 提取所述乐音信号中除3阶MFCC外的其他阶MFCC系数。
[0039] 结合第一方面的第四种可能的实现方式,在第一方面的第五种可能的实现方式 中,所述方法在步骤根据所述3阶MFCC和ID3判决树对所述乐音信号进行分类还包括:
[0040] 根据所述3阶MFCC和其他类型的判决树对所述乐音信号进行分类,所述其他类型 的判决树是除了 ID3代判决树外的其他类型的判决树。
[0041] 第二方面,一种选择编码模式的装置,所述装置包括:
[0042] 提取单元,用于提取乐音信号的3阶梅尔频率c印strum MFCC系数;
[0043] 分类单元,用于根据所述3阶MFCC和迭代二叉树3代ID3判决树对所述乐音信号 进行分类,并将分类结果存入一个FIFO数据组,所述FIFO数据组包括bufferl数据组和 buffer2数据组;
[0044] 平滑单元,用于对所述分类结果进行平滑处理,所述平滑处理包括语音和乐音帧 间首次切换的初始状态设置、静音帧的处理、分类结果的修正、分类结果切换频度的限制;
[0045] 高频重建单元,用于当分类结果为打击乐时,采用频段复制编码模式CT-SBR编码 模式进行高频重建;当分类结果为管弦乐时,采用谐和频段复制编码模式hSBR进行高频重 建。
[0046] 结合第二方面,在第二方面的第一种可能的实现方式中,所述提取单元,包括:
[0047] 分帧单元,用于对乐音信号进行分帧,将所述乐音信号的帧长为2048点的单帧均 分为两个帧长为1024点的子帧,所述两个子帧的重叠长度为0 ;
[0048] 加窗单兀,用于利用harming窗对每一个所述子巾贞进行加窗;
[0049] 快速傅立叶变换单元,用于分别对加窗后的两个子帧的进行快速傅立叶变换FFT, 使得所述乐音信号从时间频域映射到频率域,对频率域信号取模,得到所述频率域信号的 幅度值;
[0050] 滤波单元,用于利用一组梅尔频域上线性分布的三角窗滤波器对所述幅度值进行 滤波;
[0051] 取对数单元,用于取滤波后数值的对数,对所述对数做离散余弦DCT变换,得到3 阶 MFCC。
[0052] 结合第二方面或者第二方面的第一种可能的实现方式,在第二方面的第二种可能 的实现方式中,所述分类单元,具体用于:
[0053] 通过训练得到所述ID3判决树的各节点值,使用多层的if-else嵌套对所述3阶 MFCC进行判断,每一帧得到一个分类结果。
[0054] 结合第二方面或者第二方面的第一种可能的实现方式或者第二方面的第二种可 能的实现方式,在第二方面的第三种可能的实现方式中,所述平滑单元,包括:
[0055] 初始化单元,用于初始化所述bufferl数据组、buffer2数据组和变量premode, 所述变量premode表示前一帧的状态,初始化时设置所述乐音信号所有帧的状态都为管弦 乐状态;
[0056] 计算单元,用于计算所述bufferl数据组的状态平均值;
[0057] 判断单元,用于根据所述状态平均值判断帧状态是否是静音帧;
[0058] 当判断所述帧状态是静音帧时,则将所述buffer2数据组中的所述帧状态修改为 前一帧的状态;
[0059] 当判断所述帧状态不是静音帧且所述bufferl数据组中打击乐状态数量占多数 时,则将所述buffer2数据组中的所述帧状态修改为打击乐状态;
[0060] 当判断所述帧状态不是静音帧且所述bufferl数据组中管弦乐状态数量占多数 时,则将所述bufferf数据组中的所述帧状态修改为管弦乐状态;
[0061] 修改单元,用于计算所述buffer2数据组中的状态变换次数,当所述状态变换次 数超过一定阈值时,将所述巾贞状态修改为前一巾贞状态。
[0062] 结合第二方面或者第二方面的第一种可能的实现方式或者第二方面的第二种可 能的实现方式或者第二方面的第三种可能的实现方式,在第二方面的第四种可能的实现方 式中,所述装置还包括:
[0063] 提取子单元,用于提取所述乐音信号中除3阶MFCC外的其他阶MFCC系数。
[0064] 结合第二方面的第四种可能的实现方式,在第二方面的第五种可能的实现方式 中,所述装置还包括:
[0065] 分类子单元,用于根据所述3阶MFCC和其他类型的判决树对所述乐音信号进行分 类,所述其他类型的判决树是除了 ID3代判决树外的其他类型的判决树。
[0066] 与现有技术相比,本发明公开了一种选择编码模式的方法,通过对乐音信号进行 分类,当分类结果为打击乐时,采用频段复制编码模式进行高频重建,当分类结果为管弦乐 时,采用谐和频段复制编码模式进行高频重建,通过提取乐音信号的3阶MFCC,优化特征值 的组合,减少特征值的个数,简化特征值的计算,也因为特征值数量少进而降低分类判断的 计算量;在分类算法中,通过训练部分程序对训练集中乐音信号的处理,生成判决树,判决 树中每个节点为一个判决条件,判决条件训练完成就保持不变,便于编码的实现,分类算法 处理时间少、复杂度小,不需要每次读入训练集,进而大大减少了存储量;在乐音信号的高 频重建过程中,重建模式CT-SBR和hSBR间切换将产生切换噪声,为了抑制切换噪声,对分 类结果进行平滑处理,进而限制分类结果的频繁切换。
【专利附图】
【附图说明】
[0067] 为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的 附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领 域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的 附图。
[0068] 图1是本发明实施例提供的一种选择编码模式的方法流程图;
[0069] 图2是本发明实施例提供的一种乐音信号分类结果平滑算法的流程图;
[0070] 图3是本发明实施例提供的一种乐音信号分类算法的流程图;
[0071] 图4是本发明实施例提供的一种选择编码模式的装置结构图;
[0072] 图5是本发明实施例提供的一种选择编码模式装置中提取单元的装置结构图;
[0073] 图6是本发明实施例提供的一种选择编码模式装置中平滑单元的装置结构图;
[0074] 图7是本发明实施例提供的一种选择编码模式的装置结构图。
【具体实施方式】
[0075] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对 本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并 不用于限定本发明。
[0076] 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精 神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
[0077] 参考图1,图1是本发明实施例提供的一种选择编码模式的方法流程图。如图1所 示,所述方法包括以下步骤:
[0078] 步骤101,提取乐音信号的3阶梅尔频率c印strum MFCC系数;
[0079] 可选地,所述提取乐音信号的3阶MFCC,包括:
[0080] 对乐音信号进行分帧,将所述乐音信号的帧长为2048点的单帧均分为两个帧长 为1024点的子巾贞,所述两个子巾贞的重叠长度为0 ;
[0081] 利用harming窗对每一个所述子巾贞进行加窗;
[0082] 分别对加窗后的两个子帧的进行快速傅立叶变换FFT,使得所述乐音信号从时间 频域映射到频率域,对频率域信号取模,得到所述频率域信号的幅度值;
[0083] 利用一组梅尔频域上线性分布的三角窗滤波器对所述幅度值进行滤波;
[0084] 取滤波后数值的对数,对所述对数做离散余弦变换(Discrete Cosine Transformation,DCT),得到 3 阶 MFCC。
[0085] 具体地,所述分帧具体为:在乐音信号编码中,输入信号通常被分为高频和低频两 大部分,其中低频部分采用核心编码器,以一个频率为分界线,此频率以下为低频部分,此 频率以上为高频部分,将低频部分拉伸,扩展到整个频段而得到高频部分。输入信号的低频 部分通常是对原始信号的采样得来,为了保持与核心编码器等帧长,因此,在本发明中的算 法中对原始输入信号2048点的帧长均分为两个1024点的子帧,并对两个子帧分别进行分 类处理,最后,对两次分类的结果进行合并,得到最终结果。
[0086] 在加窗算法中,采用harming窗对每一子帧进行加窗,以减轻频谱泄露所造成的 影响;通过快速傅里叶变换(Fast Fourier Transform, FFT)将输入信号从时间域变换到 频率域,并对变换结果取模,得到信号的幅度值;采用一组梅尔频域上线性分布的三角滤波 器,对输入信号的幅度值进行滤波,每一个三角窗滤波器的覆盖范围均近于人耳的一个临 界带宽,以此来模拟人耳的听觉掩蔽效应;对三角窗滤波器组的各输出值取对数,得到近似 与同态变换的结果,所述同态变换是将原本的乘性转变为加性的变换。
[0087] 对上一步得到的对数结果做离散余弦变换,去除信号间的相关性,同时,将输入 信号映射到一个低维度空间,当使用不同阶数的离散余弦变换时,能得到相应的不同阶的 MFCC参数,其中,3阶MFCC总共有3阶,3阶MFCC可以是第5第6第7阶MFCC组合。
[0088] 步骤102,根据所述3阶MFCC和迭代二叉树3代ID3判决树对所述乐音信号进行 分类,并将分类结果存入一个先入先出(First in first out, FIFO)数据组,所述FIFO数 据组包括bufferl数据组和buffer2数据组;
[0089] 可选地,所述根据所述3阶MFCC和迭代二叉树3代ID3判决树对所述乐音信号进 行分类,包括:
[0090] 通过训练得到所述ID3判决树的各节点值,使用多层的if-else嵌套对所述3阶 MFCC进行判断,每一帧得到一个分类结果。
[0091] 具体地,通过训练部分的程序计算得到ID3判决树的各节点值,训练部分的程序 对训练集中的乐音信号进行处理得到训练集乐音信号的3阶MFCC集,并且得到相应每个参 数所对应的打击乐/管弦乐标志,通过对这些参数和标志得到各节点值。
[0092] 每个节点为一个判决条件,即当输入的某帧乐音信号的3阶MFCC不满足其判决 条件时,将继续使用右子节点的判决条件进行判断或者判断当前乐音信号为右子节点的状 态,比如打击乐或者管弦乐;当不满足右子节点的判决条件时,将继续使用左子节点的条件 进行判断或者判读当前乐音信号为左子节点的状态,比如打击乐或者管弦乐。
[0093] 对每一帧乐音信号计算其3阶MFCC,所以,得到每一帧乐音信号的分类结果。所述 分类结果是每一帧乐音信号的状态,比如,乐音信号为打击乐时,则记录当前帧状态的变量 会设置为〇,当乐音信号为管弦乐时,则记录当前帧状态的变量会设置为1,每一帧乐音信 号的判决结果取决于先前训练形成的ID3判决树,根据每一帧乐音信号的3阶MFCC是否满 足判决树中的每个节点的条件,由判决树自行判决每一帧乐音信号是打击乐或者管弦乐。
[0094] 例如,如果当前帧的 3 阶 MFCC[MFCC1MFCC2MFCC3]为[0. 10. 20. 3],当 ID3 判决树 对其进行判断时,根节点条件为MFCCD0. 2,则当前帧MFCC参数不满足此条件,则继续使用 右子节点的条件进行判断,如果右子节点条件为MFCC3〈0. 4,当前帧满足此条件,则使用当 前节点的左子节点的条件进行进一步判断,如果左子节点为mode=l,则直接判断这一帧为 管弦乐中贞。
[0095] 步骤103,对所述分类结果进行平滑处理,所述平滑处理包括语音和乐音帧间首次 切换的初始状态设置、静音帧的处理、分类结果的修正、分类结果切换频度的限制;
[0096] 可选地,所述对所述分类结果进行平滑处理,所述平滑处理包括语音和乐音帧间 首次切换的初始状态设置、静音帧的处理、分类结果的修正、分类结果切换频度的限制,包 括:
[0097] 初始化所述bufferl数据组、buffer2数据组和变量premode,所述变量premode 表示前一帧的状态,初始化时设置所述乐音信号所有帧的状态都为管弦乐状态;
[0098] 计算所述bufferl数据组的状态平均值;
[0099] 具体的,(bufferl [0]+bufTer [1] + …+bufTer [N])/N。
[0100] 根据所述状态平均值判断帧状态是否是静音帧;
[0101] 具体的,根据所述状态平均值判断当前计算帧状态是否是静音帧,所述当前计算 帧为正在计算的一帧乐音信号,因为程序每次读入2048点乐音信号数据,分为两帧数据, 每帧1024点数据,先对前1024点进行处理,再对后1024点进行处理,即程序每次处理1024 点数据,即处理一帧数据,当前帧即程序读入并正在处理的一帧。
[0102] 当判断所述当前计算帧状态是静音帧时,则将所述buffer2数据组中的所述当前 计算帧状态修改为前一帧的状态;
[0103] 当判断所述当前计算帧状态不是静音帧且所述bufferl数据组中打击乐状态数 量占多数时,则将所述buffer2数据组中的所述当前计算帧状态修改为打击乐状态;
[0104] 当判断所述当前计算帧状态不是静音帧且所述bufferl数据组中管弦乐状态数 量占多数时,则将所述buffer2数据组中的所述当前计算帧状态修改为管弦乐状态;
[0105] 计算所述buffer2数据组中的状态变换次数,当所述状态变换次数超过一定阈值 时,将所述帧状态修改为前一帧状态。
[0106] 参考图2,图2是本发明实施例提供的一种乐音信号分类结果平滑算法的流程图。 所述流程图包括以下步骤:
[0107] 步骤201,存储与bufferl数据组和buffer2数据组中的分类结果;
[0108] 步骤202,判断长段乐音帧是否开始,若判断结果为是,则清空bufferl数据组, buffer2数据组中的当前帧值,上一帧状态设为乐音帧;若判断结果为否,则利用bufferl 数据组计算状态值;
[0109] 步骤203,根据上述计算得到的状态值判断是否为静音帧,若是,则将当前帧状态 设置为上一帧状态;
[0110] 步骤204,若判断不是为静音帧,则判断乐音帧的数量是否大于缓存的容量;
[0111] 步骤205,若乐音帧的数量大于缓存的容量,则判断计算得到的状态值是否小于阈 值T1,若是则确定当前帧状态为打击乐;若否,则判断计算得到的状态值是否大于阈值T2, 若是则确定当前帧状态为管弦乐;
[0112] 步骤206,若乐音帧的数量小于缓存的容量,返回当前帧状态;
[0113] 步骤207,若判断计算得到的状态值属于大于阈值T1和小于阈值T2之间的值,则 用buffer2数据组计算状态改变次数;
[0114] 步骤208,判断当前帧状态是否等于前一帧状态;若否,则判断状态改变次数是否 大于阈值T3 ;若是,则直接返回当前帧状态;
[0115] 步骤209,若状态改变次数大于阈值T3,则将当前帧状态修改为前一帧状态;
[0116] 步骤210,若状态改变次数小于阈值T3,则返回当前帧状态;
[0117] 步骤211,在返回当前帧状态的步骤之前,修改buffer2数据组中的当前帧状态。
[0118] 参考表1,表1是本发明实施例提供的利用原始算法和本发明提供的新算法编码 后的乐音信号信号信噪比的对比数据表。
[0119]
【权利要求】
1. 一种选择编码模式的方法,其特征在于,所述方法包括: 提取乐音信号的3阶梅尔频率C印strum系数MFCC ; 根据所述3阶MFCC和迭代二叉树3代ID3判决树对所述乐音信号进行分类,并将分类 结果存入一个先入先出FIFO数据组,所述FIFO数据组包括buffer 1数据组和buffer2数 据组; 对所述分类结果进行平滑处理,所述平滑处理包括语音和乐音帧间首次切换的初始状 态设置、静音帧的处理、分类结果的修正、分类结果切换频度的限制; 当分类结果为打击乐时,采用频段复制编码模式CT-SBR编码模式进行高频重建; 当分类结果为管弦乐时,采用谐和频段复制编码模式hSBR进行高频重建。
2. 根据权利要求1所述的方法,其特征在于,所述提取乐音信号的3阶MFCC,包括: 对乐音信号进行分帧,将所述乐音信号的帧长为2048点的单帧均分为两个帧长为 1024点的子帧,所述两个子帧的重叠长度为0 ; 利用harming窗对每一个所述子巾贞进行加窗; 分别对加窗后的两个子帧的进行快速傅立叶变换FFT,使得所述乐音信号从时间频域 映射到频率域,对频率域信号取模,得到所述频率域信号的幅度值; 利用一组梅尔频域上线性分布的三角窗滤波器对所述幅度值进行滤波; 取滤波后数值的对数,对所述对数做离散余弦变换DCT,得到3阶MFCC。
3. 根据权利要求1或2所述的方法,其特征在于,所述根据所述3阶MFCC和迭代二叉 树3代ID3判决树对所述乐音信号进行分类,包括 : 通过训练得到ID3判决树的各节点值,使用多层的if-else嵌套对所述3阶MFCC进行 判断,每一帧得到一个分类结果。
4. 根据权利要求1-3任意一项所述的方法,其特征在于,所述对所述分类结果进行平 滑处理,所述平滑处理包括语音和乐音帧间首次切换的初始状态设置、静音帧的处理、分类 结果的修正、分类结果切换频度的限制,包括: 初始化所述bufferl数据组、buffer2数据组和变量premode,所述变量premode表示 前一帧的状态,初始化时设置所述乐音信号所有帧的状态都为管弦乐状态; 计算所述bufferl数据组的状态平均值; 根据所述状态平均值判断当前计算帧状态是否是静音帧; 当判断所述当前计算帧状态是静音帧时,则将所述buffer2数据组中的所述帧状态修 改为前一帧的状态; 当判断所述当前计算帧状态不是静音帧且所述bufferl数据组中打击乐状态数量占 多数时,则将所述bufferf数据组中的所述帧状态修改为打击乐状态; 当判断所述当前计算帧状态不是静音帧且所述bufferl数据组中管弦乐状态数量占 多数时,则将所述bufferf数据组中的所述帧状态修改为管弦乐状态; 计算所述buffer2数据组中的状态变换次数,当所述当前计算巾贞状态变换次数超过一 定阈值时,将所述当前计算帧状态修改为前一帧状态。
5. 根据权利要求1-4任意一项所述的方法,其特征在于,所述方法在步骤提取所述乐 音信号的3阶MFCC还包括: 提取所述乐音信号中除3阶MFCC外的其他阶MFCC系数。
6. 根据权利要求5所述的方法,其特征在于,所述方法在步骤根据所述3阶MFCC和ID3 判决树对所述乐音信号进行分类还包括: 根据所述3阶MFCC和其他类型的判决树对所述乐音信号进行分类,所述其他类型的判 决树是除了 ID3代判决树外的其他类型的判决树。
7. -种选择编码模式的装置,其特征在于,所述装置包括: 提取单元,用于提取乐音信号的3阶梅尔频率cepstrum MFCC系数; 分类单元,用于根据所述3阶MFCC和迭代二叉树3代ID3判决树对所述乐音信号 进行分类,并将分类结果存入一个FIFO数据组,所述FIFO数据组包括bufferl数据组和 buffer2数据组; 平滑单元,用于对所述分类结果进行平滑处理,所述平滑处理包括语音和乐音帧间首 次切换的初始状态设置、静音帧的处理、分类结果的修正、分类结果切换频度的限制; 高频重建单元,用于当分类结果为打击乐时,采用频段复制编码模式CT-SBR编码模式 进行高频重建;当分类结果为管弦乐时,采用谐和频段复制编码模式hSBR进行高频重建。
8. 根据权利要求7所述的装置,其特征在于,所述提取单元,包括: 分帧单元,用于对乐音信号进行分帧,将所述乐音信号的帧长为2048点的单帧均分为 两个帧长为1024点的子帧,所述两个子帧的重叠长度为0 ; 加窗单兀,用于利用harming窗对每一个所述子巾贞进行加窗; 快速傅立叶变换单元,用于分别对加窗后的两个子帧的进行快速傅立叶变换FFT,使得 所述乐音信号从时间频域映射到频率域,对频率域信号取模,得到所述频率域信号的幅度 值; 滤波单元,用于利用一组梅尔频域上线性分布的三角窗滤波器对所述幅度值进行滤 波; 取对数单元,用于取滤波后数值的对数,对所述对数做离散余弦DCT变换,得到3阶 MFCC。
9. 根据权利要求7或8所述的装置,其特征在于,所述分类单元,具体用于: 通过训练得到所述ID3判决树的各节点值,使用多层的if-else嵌套对所述3阶MFCC 进行判断,每一帧得到一个分类结果。
10. 根据权利要求7-9任意一项所述的装置,其特征在于,所述平滑单元,包括: 初始化单元,用于初始化所述bufferl数据组、buffer2数据组和变量premode,所述 变量premode表示前一帧的状态,初始化时设置所述乐音信号所有帧的状态都为管弦乐状 态; 计算单元,用于计算所述bufferl数据组的状态平均值; 判断单元,用于根据所述状态平均值判断帧状态是否是静音帧; 当判断所述帧状态是静音帧时,则将所述buffer2数据组中的所述帧状态修改为前一 帧的状态; 当判断所述帧状态不是静音帧且所述bufferl数据组中打击乐状态数量占多数时,则 将所述buffer2数据组中的所述帧状态修改为打击乐状态; 当判断所述帧状态不是静音帧且所述bufferl数据组中管弦乐状态数量占多数时,则 将所述buffer2数据组中的所述帧状态修改为管弦乐状态; 修改单元,用于计算所述buffer2数据组中的状态变换次数,当所述状态变换次数超 过一定阈值时,将所述巾贞状态修改为前一巾贞状态。
11. 根据权利要求7-10任意一项所述的装置,其特征在于,所述装置还包括: 提取子单元,用于提取所述乐音信号中除3阶MFCC外的其他阶MFCC系数。
12. 根据权利要求11所述的装置,其特征在于,所述装置还包括: 分类子单元,用于根据所述3阶MFCC和其他类型的判决树对所述乐音信号进行分类, 所述其他类型的判决树是除了 ID3代判决树外的其他类型的判决树。
【文档编号】G10L25/27GK104112451SQ201310135975
【公开日】2014年10月22日 申请日期:2013年4月18日 优先权日:2013年4月18日
【发明者】肖玮, 王月明, 陆桢骐, 蒋三新, 刘佩林, 应忍冬 申请人:华为技术有限公司