• 四川郎酒股份有限公司获第十二届人民企业社会责任奖年度环保奖 2019-05-13
  • 银保监会新规剑指大企业多头融资和过度融资 2019-05-12
  • 韩国再提4国联合申办世界杯 中国网友无视:我们自己来 2019-05-11
  • 中国人为什么一定要买房? 2019-05-11
  • 十九大精神进校园:风正扬帆当有为 勇做时代弄潮儿 2019-05-10
  • 粽叶飘香幸福邻里——廊坊市举办“我们的节日·端午”主题活动 2019-05-09
  • 太原设禁鸣路段 设备在测试中 2019-05-09
  • 拜耳医药保健有限公司获第十二届人民企业社会责任奖年度企业奖 2019-05-08
  • “港独”没出路!“梁天琦们”该醒醒了 2019-05-07
  • 陈卫平:中国文化内涵包含三方面 文化复兴表现在其中 2019-05-06
  • 人民日报客户端辟谣:“合成军装照”产品请放心使用 2019-05-05
  • 【十九大·理论新视野】为什么要“建设现代化经济体系”?   2019-05-04
  • 聚焦2017年乌鲁木齐市老城区改造提升工程 2019-05-04
  • 【专家谈】上合组织——构建区域命运共同体的有力实践者 2019-05-03
  • 【华商侃车NO.192】 亲!楼市火爆,别忘了买车位啊! 2019-05-03
    • / 39
    • 下载费用:30 金币  

    关于重庆时时彩有假吗: 一种编码方法及装置.pdf

    关 键 词:
    一种 编码 方法 装置
      专利查询网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    摘要
    申请专利号:

    CN201410425477.4

    申请日:

    2014.08.26

    公开号:

    CN104681028A

    公开日:

    2015.06.03

    当前法律状态:

    授权

    有效性:

    有权

    法律详情: 授权|||实质审查的生效IPC(主分类):G10L 19/002申请日:20140826|||公开
    IPC分类号: G10L19/002(2013.01)I; G10L19/02(2013.01)I 主分类号: G10L19/002
    申请人: 华为技术有限公司
    发明人: 刘泽新; 王宾; 苗磊
    地址: 518129广东省深圳市龙岗区坂田华为总部办公楼
    优先权: 2013106350042 2013.12.02 CN
    专利代理机构: 代理人:
    PDF完整版下载: PDF下载
    法律状态
    申请(专利)号:

    CN201410425477.4

    授权公告号:

    ||||||

    法律状态公告日:

    2016.12.21|||2015.07.01|||2015.06.03

    法律状态类型:

    授权|||实质审查的生效|||公开

    摘要

    本发明实施例提供一种编码方法及装置,涉及通信领域,能够对音频信号的频谱系数进行合理的量化比特分配,从而提高解码器解出的信号质量。该方法包括:将当前数据帧的频谱系数划分成子带后,获取各个子带的量化频域包络值;对该各个子带中的第一数量个子带的量化频域包络值进行修正;根据修正后的该第一数量个子带的量化频域包络值,为各个子带分配量化比特;对各个子带中分配了量化比特的子带的频谱系数进行量化;将量化后的分配了量化比特的子带的频谱系数写入码流。

    权利要求书

    权利要求书
    1.  一种编码方法,其特征在于,包括:
    将当前数据帧的频谱系数划分成子带后,获取各个子带的量化频 域包络值;
    对所述各个子带中的第一数量个子带的量化频域包络值进行修 正;
    根据修正后的所述第一数量个子带的量化频域包络值,为所述各 个子带分配量化比特;
    对所述各个子带中分配了量化比特的子带的频谱系数进行量化;
    将量化后的所述分配了量化比特的子带的频谱系数写入码流。

    2.  根据权利要求1所述的编码方法,其特征在于,所述对所述各 个子带中的第一数量个子带的量化频域包络值进行修正包括:
    获取所述第一数量个子带的修正因子;
    使用所述第一数量个子带的修正因子对所述第一数量个子带的量 化频域包络值进行修正。

    3.  根据权利要求2所述的编码方法,其特征在于,所述获取所述 第一数量个子带的修正因子包括:
    获取所述第一数量个子带的信号类型;
    根据所述第一数量个子带的信号类型,确定所述第一数量个子带 的修正因子。

    4.  根据权利要求3所述的编码方法,其特征在于,所述根据所述 第一数量个子带的信号类型,确定所述第一数量个子带的修正因子的 方法包括:
    在所述第一数量个子带中的第一子带的信号类型为谐波时,确定 所述第一子带的修正因子大于1;
    在所述第一数量个子带中的第一子带的信号类型为非谐波时,确 定所述第一子带的修正因子小于或等于1。

    5.  根据权利要求3或4所述的编码方法,其特征在于,所述根据 所述第一数量个子带的信号类型,确定所述第一数量个子带的修正因 子之前,所述方法还包括:
    获取保存的所述当前数据帧的前一个数据帧中的第二数量个子带 的参考信息,所述第二数量小于或等于所述第一数量;
    其中,所述根据所述第一数量个子带的信号类型,确定所述第一 数量个子带的修正因子,具体包括:
    根据所述第一数量个子带的信号类型以及所述第二数量个子带的 参考信息,确定所述第一数量个子带的修正因子。

    6.  根据权利要求5所述的编码方法,其特征在于,所述根据所述 第一数量个子带的信号类型以及所述第二数量个子带的参考信息,确 定所述第一数量个子带的修正因子的方法包括:
    根据所述第一数量个子带中的第一子带的信号类型,确定所述第 一子带的第一修正因子;
    根据所述第二数量个子带中与所述第一子带对应的第二子带的参 考信息,确定所述第一子带的第二修正因子;
    将所述第一修正因子和所述第二修正因子的乘积作为所述第一子 带的修正因子。

    7.  根据权利要求6所述的编码方法,其特征在于,
    所述第二子带的参考信息包括所述第二子带的量化比特分配状态 和/或所述第二子带的信号类型;
    其中,当所述第二子带的参考信息包括所述第二子带的量化比特 分配状态时,所述第二修正因子为第三修正因子,或者,
    当所述第二子带的参考信息包括所述第二子带的信号类型时,所 述第二修正因子为第四修正因子,或者,
    当所述第二子带的参考信息包括所述第二子带的量化比特分配状 态和所述第二子带的信号类型时,所述第二修正因子为所述第三修正 因子与所述第四修正因子的乘积。

    8.  根据权利要求7所述的编码方法,其特征在于,
    在所述第二子带的量化比特分配状态表示没有频谱系数被编码 时,所述第三修正因子小于1,或,在所述第二子带的量化比特分配状 态表示有频谱系数被编码时,所述第三修正因子大于1;
    在所述第二子带的信号类型为谐波时,所述第四修正因子大于1, 或,在所述第二子带的信号类型为非谐波时,所述第四修正因子小于 或等于1。

    9.  根据权利要求7或8所述的编码方法,其特征在于,所述第一 子带的第二修正因子由所述第二子带的频域包络值,所述第二数量个 子带的频域包络均值,所述第二数量个子带的带宽值,所述第二数量 个子带的频域包络值中的最大值及所述第二数量个子带的频域包络方 差值中任意两个值的比值确定。

    10.  根据权利要求6-8任一项所述的编码方法,其特征在于,所 述第一子带的第一修正因子由所述第一子带的频域包络值,所述第一 数量个子带的频域包络均值,所述第一数量个子带的带宽值,所述第 一数量个子带的频域包络值中的最大值及所述第一数量个子带的频域 包络方差值中任意两个值的比值确定。

    11.  根据权利要求2所述的编码方法,其特征在于,所述获取所 述第一数量个子带的修正因子包括:
    获取保存的所述当前数据帧的前一个数据帧中的第一数量个子带 的参考信息;
    根据所述前一个数据帧中的第一数量个子带的参考信息,确定所 述当前数据帧中的第一数量个子带的修正因子。

    12.  根据权利要求11所述的编码方法,其特征在于,所述根据所 述前一个数据帧中的第一数量个子带的参考信息,确定所述当前数据 帧中的第一数量个子带的修正因子之前,所述方法还包括:
    获取所述当前数据帧中的各个子带中的第三数量个子带的信号类 型,所述第三数量小于或等于所述第一数量;
    其中,所述根据所述前一个数据帧中的第一数量个子带的参考信 息,确定所述当前数据帧中的第一数量个子带的修正因子,具体包括:
    根据所述前一个数据帧中的第一数量个子带的参考信息以及所述 第三数量个子带的信号类型,确定所述当前数据帧中的第一数量个子 带的修正因子。

    13.  根据权利要求12所述的编码方法,其特征在于,所述根据所 述前一个数据帧中的第一数量个子带的参考信息以及所述第三数量个 子带的信号类型,确定所述当前数据帧中的第一数量个子带的修正因 子的方法包括:
    根据所述前一个数据帧中的第一数量个子带中的第二子带的参考 信息,确定所述当前数据帧中的第一数量个子带中的第一子带的第二 修正因子;
    根据所述第一子带的信号类型,确定所述第一子带的第一修正因 子;
    将所述第一修正因子和所述第二修正因子的乘积作为所述第一子 带的修正因子。

    14.  根据权利要求1至13任一项所述的编码方法,其特征在于, 所述根据修正后的所述第一数量个子带的量化频域包络值,为所述各 个子带分配量化比特之后,所述方法还包括:
    保存所述第一数量个子带的参考信息。

    15.  根据权利要求1至13任一项所述的编码方法,其特征在于, 所述根据修正后的所述第一数量个子带的量化频域包络值,为所述各 个子带分配量化比特,具体包括:根据修正后的所述第一数量个子带 的量化频域包络值以及所述子带中未经所述修正的子带的量化频域包 络值,为所述各个子带分配量化比特。

    16.  一种编码装置,其特征在于,包括:
    获取单元,用于将当前数据帧的频谱系数划分成子带后,获取各 个子带的量化频域包络值;
    修正单元,用于对所述获取单元获取的所述各个子带中的第一数 量个子带的量化频域包络值进行修正;
    分配单元,用于根据所述修正单元修正后的所述第一数量个子带 的量化频域包络值,为所述各个子带分配量化比特;
    量化单元,用于对所述各个子带中所述分配单元分配了量化比特 的子带的频谱系数进行量化;
    复用单元,用于将所述量化单元量化后的所述分配了量化比特的 子带的频谱系数写入码流。

    17.  根据权利要求16所述的编码装置,其特征在于,
    所述获取单元,还用于获取所述第一数量个子带的修正因子;
    所述修正单元,还用于使用所述获取单元获取的所述第一数量个 子带的修正因子对所述获取单元获取的所述第一数量个子带的量化频 域包络值进行修正。

    18.  根据权利要求17所述的编码装置,其特征在于,所述编码装 置还包括确定单元;
    所述获取单元,还用于获取所述第一数量个子带的信号类型;
    所述确定单元,用于根据所述获取单元获取的所述第一数量个子 带的信号类型,确定所述第一数量个子带的修正因子。

    19.  根据权利要求18所述的编码装置,其特征在于,
    所述确定单元,还用于在所述获取单元获取的所述第一数量个子 带中的第一子带的信号类型为谐波时,确定所述第一子带的修正因子 大于1,以及在所述获取单元获取的所述第一数量个子带中的所述第一 子带的信号类型为非谐波时,确定所述第一子带的修正因子小于或等 于1。

    20.  根据权利要求18或19所述的编码装置,其特征在于,
    所述获取单元,还用于在所述根据所述第一数量个子带的信号类 型,确定所述第一数量个子带的修正因子之前,获取保存的所述当前 数据帧的前一个数据帧中的第二数量个子带的参考信息,所述第二数 量小于或等于所述第一数量;
    所述确定单元,具体用于根据所述获取单元获取的所述第一数量 个子带的信号类型以及所述第二数量个子带的参考信息,确定所述第 一数量个子带的修正因子。

    21.  根据权利要求20所述的编码装置,其特征在于,
    所述确定单元,还用于根据所述获取单元获取的所述第一数量个 子带中的第一子带的信号类型,确定所述第一子带的第一修正因子, 及根据所述获取单元获取的所述第二数量个子带中与所述第一子带对 应的第二子带的参考信息,确定所述第一子带的第二修正因子,以及 将所述第一修正因子和所述第二修正因子的乘积作为所述第一子带的 修正因子。

    22.  根据权利要求21所述的编码装置,其特征在于,
    所述获取单元获取的所述第二子带的参考信息包括所述第二子带 的量化比特分配状态和/或所述第二子带的信号类型;
    其中,当所述第二子带的参考信息包括所述第二子带的量化比特 分配状态时,所述确定单元确定的所述第二修正因子为第三修正因子, 或者,
    当所述第二子带的参考信息包括所述第二子带的信号类型时,所 述第二修正因子为第四修正因子,或者,
    当所述第二子带的参考信息包括所述第二子带的量化比特分配状 态和所述第二子带的信号类型时,所述第二修正因子为所述第三修正 因子与所述第四修正因子的乘积。

    23.  根据权利要求22所述的编码装置,其特征在于,
    所述确定单元,还用于在所述第二子带的量化比特分配状态表示 没有频谱系数被编码时,确定所述第三修正因子小于1,或,在所述第 二子带的量化比特分配状态表示有频谱系数被编码时,确定所述第三 修正因子大于1,以及在所述获取单元获取的所述第二子带的信号类型 为谐波时,确定所述第四修正因子大于1,或,在所述获取单元获取的 所述第二子带的信号类型为非谐波时,确定所述第四修正因子小于或 等于1。

    24.  根据权利要求22或23所述的编码装置,其特征在于,所述 确定单元确定的所述第一子带的第二修正因子由所述第二子带的频域 包络值,所述第二数量个子带的频域包络均值,所述第二数量个子带 的带宽值,所述第二数量个子带的频域包络值中的最大值及所述第二 数量个子带的频域包络方差值中任意两个值的比值确定。

    25.  根据权利要求21-23任一项所述的编码装置,其特征在于, 所述确定单元确定的所述第一子带的第一修正因子由所述第一子带的 频域包络值,所述第一数量个子带的频域包络均值,所述第一数量个 子带的带宽值,所述第一数量个子带的频域包络值中的最大值及所述 第一数量个子带的频域包络方差值中任意两个值的比值确定。

    26.  根据权利要求17所述的编码装置,其特征在于,
    所述获取单元,还用于获取所述保存单元保存的所述当前数据帧 的前一个数据帧中的第一数量个子带的参考信息;
    所述确定单元,还用于根据所述获取单元获取的所述前一个数据 帧中的第一数量个子带的参考信息,确定所述当前数据帧中的第一数 量个子带的修正因子。

    27.  根据权利要求26所述的编码装置,其特征在于,
    所述获取单元,还用于所述根据所述前一个数据帧中的第一数量 个子带的参考信息,确定所述当前数据帧中的第一数量个子带的修正 因子之前,获取所述当前数据帧中的各个子带中的第三数量个子带的 信号类型,所述第三数量小于或等于所述第一数量;
    所述确定单元,具体用于根据所述获取单元获取的所述前一个数 据帧中的第一数量个子带的参考信息以及所述第三数量个子带的信号 类型,确定所述当前数据帧中的第一数量个子带的修正因子。

    28.  根据权利要求27所述的编码装置,其特征在于,
    所述确定单元,还用于根据所述获取单元获取的所述前一个数据 帧中的第一数量个子带中的第二子带的参考信息,确定所述当前数据 帧中的第一数量个子带中的第一子带的第二修正因子,及根据所述获 取单元获取的所述第一子带的信号类型,确定所述第一子带的第一修 正因子,以及将所述第一修正因子和所述第二修正因子的乘积作为所 述第一子带的修正因子。

    29.  根据权利要求16-28任一项所述的编码装置,其特征在于,
    所述保存单元,还用于在根据修正后的所述第一数量个子带的量 化频域包络值,为所述各个子带分配量化比特之后,保存所述第一数 量个子带的参考信息。

    30.  根据权利要求16-29任一项所述的编码装置,其特征在于, 所述分配单元具体用于,根据修正后的所述第一数量个子带的量化频 域包络值以及所述子带中未经所述修正的子带的量化频域包络值,为 所述各个子带分配量化比特。

    说明书

    说明书一种编码方法及装置
    技术领域
    本发明涉及通信领域,尤其涉及一种编码方法及装置。
    背景技术
    音频压缩技术是数字音频广播、互联网的音乐传播和音频通讯等 多媒体应用技术的核心。变换编码是音频压缩技术中一种常用的方法, 变换编码通过将音频数据从一个数据域变换到另一个数据域,从而可 以将音频数据中的大量信息用较少的数据表示出来,进而有利于量化 该音频数据以达到高效压缩编码的目的。
    现有的变换编码算法,编码器通过将音频信号从时域转换到频域 (时频变换)以得到该音频信号的频谱系数,再将该频谱系数划分成 若干个子带,并对各个子带的频域包络进行计算并量化,以得到各个 子带的量化频域包络索引值和各个子带的量化频域包络值,然后根据 各个子带的量化频域包络值和可用比特数对各个子带的频谱系数分别 进行比特分配,以及根据各个子带的量化频域包络值和为各个子带的 频谱系数分配的比特数量化各个子带的频谱系数,最后再将各个子带 的量化频域包络索引值和量化后的各个子带的频谱系数写入码流,将 码流传送至解码器。
    然而,由于现有技术在对各个子带的频谱系数进行比特分配时, 是根据各个子带的量化频域包络值对各个子带的频谱系数进行量化比 特分配,可能导致对一些子带的频谱系数的量化比特分配不合理,从 而使得解码器解出的信号质量差。
    发明内容
    本发明的实施例提供一种编码方法及装置,能够对音频信号的频 谱系数进行合理的量化比特分配,从而提高解码器解出的信号质量。
    为达到上述目的,本发明的实施例采用如下技术方案:
    第一方面,本发明实施例提供一种编码方法,包括:
    将当前数据帧的频谱系数划分成子带后,获取各个子带的量化频 域包络值;
    对所述各个子带中的第一数量个子带的量化频域包络值进行修 正;
    根据修正后的所述第一数量个子带的量化频域包络值,为所述各 个子带分配量化比特;
    对所述各个子带中分配了量化比特的子带的频谱系数进行量化;
    将量化后的所述分配了量化比特的子带的频谱系数写入码流。
    在第一方面的第一种可能实现的方式中,所述对所述各个子带中 的第一数量个子带的量化频域包络值进行修正包括:
    获取所述第一数量个子带的修正因子;
    使用所述第一数量个子带的修正因子对所述第一数量个子带的量 化频域包络值进行修正。
    结合第一方面的第一种可能的实现方式,在第二种可能的实现方 式中,所述获取所述第一数量个子带的修正因子包括:
    获取所述第一数量个子带的信号类型;
    根据所述第一数量个子带的信号类型,确定所述第一数量个子带 的修正因子。
    结合第一方面的第二种可能的实现方式,在第三种可能的实现方 式中,所述根据所述第一数量个子带的信号类型,确定所述第一数量 个子带的修正因子的方法包括:
    在所述第一数量个子带中的第一子带的信号类型为谐波时,确定 所述第一子带的修正因子大于1;
    在所述第一数量个子带中的第一子带的信号类型为非谐波时,确 定所述第一子带的修正因子小于或等于1。
    结合第一方面的第二种可能的实现方式或第三种可能的实现方 式,在第四种可能的实现方式中,所述根据所述第一数量个子带的信 号类型,确定所述第一数量个子带的修正因子之前,所述方法还包括:
    获取保存的所述当前数据帧的前一个数据帧中的第二数量个子带 的参考信息,所述第二数量小于或等于所述第一数量;
    其中,所述根据所述第一数量个子带的信号类型,确定所述第一 数量个子带的修正因子,具体包括:
    根据所述第一数量个子带的信号类型以及所述第二数量个子带的 参考信息,确定所述第一数量个子带的修正因子。
    结合第一方面的第四种可能的实现方式,在第五种可能的实现方 式中,所述根据所述第一数量个子带的信号类型以及所述第二数量个 子带的参考信息,确定所述第一数量个子带的修正因子的方法包括:
    根据所述第一数量个子带中的第一子带的信号类型,确定所述第 一子带的第一修正因子;
    根据所述第二数量个子带中与所述第一子带对应的第二子带的参 考信息,确定所述第一子带的第二修正因子;
    将所述第一修正因子和所述第二修正因子的乘积作为所述第一子 带的修正因子。
    结合第一方面的第五种可能的实现方式,在第六种可能的实现方 式中,
    所述第二子带的参考信息包括所述第二子带的量化比特分配状态 和/或所述第二子带的信号类型;
    其中,当所述第二子带的参考信息包括所述第二子带的量化比特 分配状态时,所述第二修正因子为第三修正因子,或者,
    当所述第二子带的参考信息包括所述第二子带的信号类型时,所 述第二修正因子为第四修正因子,或者,
    当所述第二子带的参考信息包括所述第二子带的量化比特分配状 态和所述第二子带的信号类型时,所述第二修正因子为所述第三修正 因子与所述第四修正因子的乘积。
    结合第一方面的第六种可能的实现方式,在第七种可能的实现方 式中,
    在所述第二子带的量化比特分配状态表示没有频谱系数被编码 时,确定所述第三修正因子小于1,或,在所述第二子带的量化比特分 配状态表示有频谱系数被编码时,确定所述第三修正因子大于1;
    在所述第二子带的信号类型为谐波时,确定所述第四修正因子大 于1,或,在所述第二子带的信号类型为非谐波时,确定所述第四修正 因子小于或等于1。
    结合第一方面的第六种可能的实现方式或第七种可能的实现方 式,在第八种可能的实现方式中,所述第一子带的第二修正因子由所 述第二子带的频域包络值,所述第二数量个子带的频域包络均值,所 述第二数量个子带的带宽值,所述第二数量个子带的频域包络值中的 最大值及所述第二数量个子带的频域包络方差值中任意两个值的比值 确定。
    结合第一方面的第五种可能的实现方式至第七种可能的实现方式 中的任一种可能的实现方式,在第九种可能的实现方式中,所述第一 子带的第一修正因子由所述第一子带的频域包络值,所述第一数量个 子带的频域包络均值,所述第一数量个子带的带宽值,所述第一数量 个子带的频域包络值中的最大值及所述第一数量个子带的频域包络方 差值中任意两个值的比值确定。
    结合第一方面的第一种可能的实现方式,在第十种可能的实现方 式中,所述获取所述第一数量个子带的修正因子包括:
    获取保存的所述当前数据帧的前一个数据帧中的第一数量个子带 的参考信息;
    根据所述前一个数据帧中的第一数量个子带的参考信息,确定所 述当前数据帧中的第一数量个子带的修正因子。
    结合第一方面的第十种可能的实现方式,在第十一种可能的实现 方式中,所述根据所述前一个数据帧中的第一数量个子带的参考信息, 确定所述当前数据帧中的第一数量个子带的修正因子之前,所述方法 还包括:
    获取所述当前数据帧中的各个子带中的第三数量个子带的信号类 型,所述第三数量小于或等于所述第一数量;
    其中,所述根据所述前一个数据帧中的第一数量个子带的参考信 息,确定所述当前数据帧中的第一数量个子带的修正因子,具体包括:
    根据所述前一个数据帧中的第一数量个子带的参考信息以及所述 第三数量个子带的信号类型,确定所述当前数据帧中的第一数量个子 带的修正因子。
    结合第一方面的第十一种可能的实现方式,在第十二种可能的实 现方式中,所述根据所述前一个数据帧中的第一数量个子带的参考信 息以及所述第三数量个子带的信号类型,确定所述当前数据帧中的第 一数量个子带的修正因子的方法包括:
    根据所述前一个数据帧中的第一数量个子带中的第二子带的参考 信息,确定所述当前数据帧中的第一数量个子带中的第一子带的第二 修正因子;
    根据所述第一子带的信号类型,确定所述第一子带的第一修正因 子;
    将所述第一修正因子和所述第二修正因子的乘积作为所述第一子 带的修正因子。
    结合前述的第一方面或第一方面的第一种可能的实现方式至第十 二种可能的实现方式中的任一种可能的实现方式,在第十三种可能的 实现方式中,所述根据修正后的所述第一数量个子带的量化频域包络 值,为所述各个子带分配量化比特之后,所述方法还包括:
    保存所述第一数量个子带的参考信息。
    结合前述的第一方面或第一方面的第一种可能的实现方式至第十 二种可能的实现方式中的任一种可能的实现方式,在第十四种可能的 实现方式中,所述根据修正后的所述第一数量个子带的量化频域包络 值,为所述各个子带分配量化比特,具体包括:根据修正后的所述第 一数量个子带的量化频域包络值以及所述子带中未经所述修正的子带 的量化频域包络值,为所述各个子带分配量化比特。第二方面,本发 明实施例提供一种编码装置,包括:
    获取单元,用于将当前数据帧的频谱系数划分成子带后,获取各 个子带的量化频域包络值;
    修正单元,用于对所述获取单元获取的所述各个子带中的第一数 量个子带的量化频域包络值进行修正;
    分配单元,用于根据所述修正单元修正后的所述第一数量个子带 的量化频域包络值,为所述各个子带分配量化比特;
    量化单元,用于对所述各个子带中所述分配单元分配了量化比特 的子带的频谱系数进行量化;
    复用单元,用于将所述量化单元量化后的所述分配了量化比特的 子带的频谱系数写入码流。
    在第二方面的第一种可能实现的方式中,
    所述获取单元,还用于获取所述第一数量个子带的修正因子;
    所述修正单元,还用于使用所述获取单元获取的所述第一数量个 子带的修正因子对所述获取单元获取的所述第一数量个子带的量化频 域包络值进行修正。
    结合第二方面的第一种可能的实现方式,在第二种可能的实现方 式中,所述编码装置还包括确定单元;
    所述获取单元,还用于获取所述第一数量个子带的信号类型;
    所述确定单元,用于根据所述获取单元获取的所述第一数量个子 带的信号类型,确定所述第一数量个子带的修正因子。
    结合第二方面的第二种可能的实现方式,在第三种可能的实现方 式中,
    所述确定单元,还用于在所述获取单元获取的所述第一数量个子 带中的第一子带的信号类型为谐波时,确定所述第一子带的修正因子 大于1,以及在所述获取单元获取的所述第一数量个子带中的第一子带 的信号类型为非谐波时,确定所述第一子带的修正因子小于或等于1。
    结合第二方面的第二种可能的实现方式或第三种可能的实现方 式,在第四种可能的实现方式中,
    所述获取单元,还用于在所述根据所述第一数量个子带的信号类 型,确定所述第一数量个子带的修正因子之前,获取保存的所述当前 数据帧的前一个数据帧中的第二数量个子带的参考信息,所述第二数 量小于或等于所述第一数量;
    所述确定单元,具体用于根据所述获取单元获取的所述第一数量 个子带的信号类型以及所述第二数量个子带的参考信息,确定所述第 一数量个子带的修正因子。
    结合第二方面的第四种可能的实现方式,在第五种可能的实现方 式中,
    所述确定单元,还用于根据所述获取单元获取的所述第一数量个 子带中的第一子带的信号类型,确定所述第一子带的第一修正因子, 及根据所述获取单元获取的所述第二数量个子带中与所述第一子带对 应的第二子带的参考信息,确定所述第一子带的第二修正因子,以及 将所述第一修正因子和所述第二修正因子的乘积作为所述第一子带的 修正因子。
    结合第二方面的第五种可能的实现方式,在第六种可能的实现方 式中,
    所述获取单元获取的所述第二子带的参考信息包括所述第二子带 的量化比特分配状态和/或所述第二子带的信号类型;
    其中,当所述第二子带的参考信息包括所述第二子带的量化比特 分配状态时,所述确定单元确定的所述第二修正因子为第三修正因子, 或者,
    当所述第二子带的参考信息包括所述第二子带的信号类型时,所 述第二修正因子为第四修正因子,或者,
    当所述第二子带的参考信息包括所述第二子带的量化比特分配状 态和所述第二子带的信号类型时,所述第二修正因子为所述第三修正 因子与所述第四修正因子的乘积。
    结合第二方面的第六种可能的实现方式,在第七种可能的实现方 式中,
    所述确定单元,还用于在所述第二子带的量化比特分配状态表示 没有频谱系数被编码时,确定所述第三修正因子小于1,或,在所述第 二子带的量化比特分配状态表示有频谱系数被编码时,确定所述第三 修正因子大于1,以及在所述获取单元获取的所述第二子带的信号类型 为谐波时,确定所述第四修正因子大于1,或,在所述获取单元获取的 所述第二子带的信号类型为非谐波时,确定所述第四修正因子小于或 等于1。
    结合第二方面的第六种可能的实现方式或第七种可能的实现方 式,在第八种可能的实现方式中,所述确定单元确定的所述第一子带 的第二修正因子由所述第二子带的频域包络值,所述第二数量个子带 的频域包络均值,所述第二数量个子带的带宽值,所述第二数量个子 带的频域包络值中的最大值及所述第二数量个子带的频域包络方差值 中任意两个值的比值确定。
    结合第二方面的第五种可能的实现方式至第七种可能的实现方 式,在第九种可能的实现方式中,所述确定单元确定的所述第一子带 的第一修正因子由所述第一子带的频域包络值,所述第一数量个子带 的频域包络均值,所述第一数量个子带的带宽值,所述第一数量个子 带的频域包络值中的最大值及所述第一数量个子带的频域包络方差值 中任意两个值的比值确定。
    结合第二方面的第一种可能的实现方式,在第十种可能的实现方 式中,
    所述获取单元,还用于获取所述保存单元保存的所述当前数据帧 的前一个数据帧中的第一数量个子带的参考信息;
    所述确定单元,还用于根据所述获取单元获取的所述前一个数据 帧中的第一数量个子带的参考信息,确定所述当前数据帧中的第一数 量个子带的修正因子。
    结合第二方面的第十种可能的实现方式,在第十一种可能的实现 方式中,
    所述获取单元,还用于所述根据所述前一个数据帧中的第一数量 个子带的参考信息,确定所述当前数据帧中的第一数量个子带的修正 因子之前,获取所述当前数据帧中的各个子带中的第三数量个子带的 信号类型,所述第三数量小于或等于所述第一数量;
    所述确定单元,具体用于根据所述获取单元获取的所述前一个数 据帧中的第一数量个子带的参考信息以及所述第三数量个子带的信号 类型,确定所述当前数据帧中的第一数量个子带的修正因子。
    结合第二方面的第十一种可能的实现方式,在第十二种可能的实 现方式中,
    所述确定单元,还用于根据所述获取单元获取的所述前一个数据 帧中的第一数量个子带中的第二子带的参考信息,确定所述当前数据 帧中的第一数量个子带中的第一子带的第二修正因子,及根据所述获 取单元获取的所述第一子带的信号类型,确定所述第一子带的第一修 正因子,以及将所述第一修正因子和所述第二修正因子的乘积作为所 述第一子带的修正因子。
    结合前述的第二方面或第二方面的第一种可能的实现方式至第十 二种可能的实现方式中的任一种可能的实现方式,在第十三种可能的 实现方式中,
    所述保存单元,还用于在根据修正后的所述第一数量个子带的量 化频域包络值,为所述各个子带分配量化比特之后,保存所述第一数 量个子带的参考信息。
    结合前述的第二方面或第二方面的第一种可能的实现方式至第十 二种可能的实现方式中的任一种可能的实现方式,在第十四种可能的 实现方式中,
    所述分配单元具体用于,根据修正后的所述第一数量个子带的量 化频域包络值以及所述子带中未经所述修正的子带的量化频域包络 值,为所述各个子带分配量化比特。
    本发明实施例提供的一种编码方法及装置,编码器将当前数据帧 的频谱系数划分成子带后,获取各个子带的量化频域包络值,且编码 器对各个子带中的第一数量个子带的量化频域包络值进行修正,以及 编码器根据第一数量个子带的修正后的该量化频域包络值,为各个子 带分配量化比特,并且编码器对各个子带中分配了量化比特的子带的 频谱系数进行量化,最后编码器将分配了量化比特的子带的量化后的 频谱系数写入码流。通过该方案,由于在对音频信号的当前数据帧中 的各个子带的频谱系数进行量化比特分配之前,可根据当前数据帧的 信号类型和前一个数据帧的信息,修正当前数据帧中的各个子带的量 化频域包络值,因此,根据修正后的该各个子带的量化频域包络值和 可用比特数对该各个子带的频谱系数进行量化比特分配,能够达到对 音频信号的频谱系数进行合理的量化比特分配的目的,从而提高解码 器解出的信号质量。
    附图说明
    为了更清楚地说明本发明实施例中的技术方案,下面将对实施例 描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的 附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在 不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
    图1为本发明实施例提供的一种编码方法的流程图一;
    图2为本发明实施例提供的一种编码方法的流程图二;
    图3为本发明实施例提供的一种编码方法的音频信号的频谱图;
    图4为本发明实施例提供的编码装置的结构示意图一;
    图5为本发明实施例提供的编码装置的结构示意图二;
    图6为本发明实施例提供的编码装置的结构示意图三;
    图7为本发明实施例提供的编码器的结构示意图。
    具体实施方式
    下面结合附图对本发明实施例提供的一种编码方法及装置进行详 细地描述。
    实施例一
    本发明实施例提供一种编码方法,如图1所示,该方法可以包括:
    S101、编码器将当前数据帧的频谱系数划分成子带后,编码器获 取各个子带的量化频域包络值。
    编码器(encoder)是将数据或信号(如比特流)进行编制,转换 为可用于通讯、传输和存储的信号形式的设备。编码器在不同的技术 领域有不同的分类,其中,在通信技术领域,编码器可以包括视频编 码器、音频编码器等。
    本发明实施例提供的编码器可以为音频编码器,音频编码器为一 种可以将模拟音频信号压缩成数据编码文件的工具,即音频压缩编码 的工具,其中,音频压缩编码可分为语音信号的压缩编码和宽带音频 信号的压缩编码。语音信号的压缩编码主要用于数字电话通信上,宽 带音频信号的压缩编码主要应用于数字声音广播、VCD(Video Compact  Disc,影音光碟)、数字多功能光盘(Digital Video Disc,DVD)及高清 晰度电视(High Definition Television,HDTV)的伴音中。
    需要说明的是,音频信号可以数据帧的形式一帧一帧连续传输至 编码器,其中,数据帧是数据链路层的协议数据单元,且数据帧可以 包括:帧头,数据部分,帧尾。其中,帧头和帧尾包含一些必要的控 制信息,比如同步信息、地址信息、差错控制信息等;数据部分则包 含网络层传下来的数据,比如IP(Internet Protocol,网络之间互连 的协议)数据包等。
    编码器先将当前数据帧的频谱系数划分成子带,再获取各个子带 的量化频域包络值。
    示例性的,本发明实施例提供的编码方法中,设当前数据帧为第y 个数据帧,编码器将当前数据帧,即第y个数据帧的频谱系数划分成N 个子带后,编码器分别获取该N个子带的量化频域包络值。其中,N≥ 1,y≥1。编码器通过第y个数据帧中的N个子带的频域包络,以得到 该第y个数据帧中的N个子带的频域包络值,编码器再对该频域包络 值进行量化,以得到该第y个数据帧中的N个子带的量化频域包络索 引值,并根据该量化频域包络索引值重新建立第y个数据帧中的N个 子带的频域包络,从而得到该第y个数据帧中的N个子带的量化频域 包络值。
    量化可以包括标量量化和矢量量化,其中,矢量量化是一种高效 的数据压缩技术,具有压缩比大,解码简单及失真小等优点,矢量量 化技术广泛应用在图像压缩和语音编码中。
    可选的,矢量量化可以包括塔型格型矢量量化,球型格型矢量量 化等。
    S102、编码器对各个子带中的第一数量个子带的量化频域包络值 进行修正。
    编码器获取各个子带的量化频域包络值之后,编码器对第一数量 个子带的量化频域包络值进行修正,其中,该第一数量个子带可以为 各个子带中的一部分子带。
    本发明实施例提供的编码方法中,编码器会将传输来的音频信号 的每一个数据帧都划分成相同数量个子带,即当前数据帧和前一个数 据帧中的都包含有相同数量个子带。
    具体的编码器得到该当前数据帧中的各个子带的量化频域包络值 之后,编码器可根据当前数据帧中的子带的信号类型和前一个数据帧 中的子带的参考信息,或当前数据帧中的子带的信号类型,或前一个 数据帧中的子带的参考信息,修正该当前数据帧中的第一数量个子带 的量化频域包络值。本发明实施例中,当前数据帧与前一个数据帧相 邻。
    举例来说,假设每一帧中的子带个数为N,编码器可以根据当前数 据帧中的M个子带的信号类型和/或前一个数据帧中的L个子带的参考 信息,修正当前数据帧中的第一数量个子带的量化频域包络值。其中, 第一数量的值为M与L中的最大值,1≤M≤N,1≤L≤N。本发明实施 例中,当前数据帧中的M个子带的信号类型为该M个子带中每个子带 的信号类型,前一个数据帧中的L个子带的参考信息为该L个子带中 的每个子带的参考信息。
    其中,每个数据帧中的具体的子带划分方法及具体的修正方式将 在后续的实施例中进行详细地说明。
    可选的,子带的信号类型可以包括谐波与非谐波。
    可以理解的是,由于编码器根据该当前数据帧中的子带的信号类 型和/或前一个数据帧中的子带的参考信息,修正该当前数据帧中的第 一数量个子带的量化频域包络值,因此,修正后的当前数据帧中的子 带的量化频域包络值更符合音频信号的特性,且使得前一个数据帧的 频谱系数与当前数据帧的频谱系数更连续。
    S103、编码器根据修正后的第一数量个子带的量化频域包络值, 为各个子带分配量化比特。
    编码器对各个子带中的第一数量个子带的量化频域包络值进行修 正之后,编码器可以根据修正后的第一数量个子带的量化频域包络值, 为当前数据帧中的各个子带进行量化比特分配。
    具体的,编码器修正当前数据帧中的第一数量个子带的量化频域 包络值后,编码器可根据修正后的该当前数据帧中的第一数量个子带 的量化频域包络值计算当前数据帧中的各个子带的重要性的初始值 (子带的重要性可以用子带的能量、频率等参数来衡量),再根据该 各个子带的重要性的初始值将可用比特数分别分配给各个子带,其中, 重要性高的子带分配的比特较多,重要性低的子带分配的比特较少。
    为了在数据帧重建时更加的连续,所述编码器可以根据修正后的 该当前数据帧中的第一数量个子带的量化频域包络值以及所述子带中 未未经调整的子带的量化频域包络值来进行为各个子带分配量化比 特。
    需要说明的是,可用比特数是指当前数据帧可以使用的总比特数, 其中,可用比特数是由编码器的码率决定的,编码器的码率越大,可 用比特数就越大。
    可以理解的是,通过对当前数据帧中的各个子带的量化频域包络 值进行修正,一方面,由于用于量化比特分配的修正后的当前数据帧 中的各个子带的量化频域包络值更符合音频信号的特性,因此,使得 对该各个子带的频谱系数的量化比特分配更合理;另一方面,由于修 正后的当前数据帧中的各个子带的量化频域包络值可使得前一个数据 帧的频谱系数与当前数据帧的频谱系数更连续,因此,减少了解码器 解码时频谱上的一些离散点,从而使得解码器可以更好地完成解码。
    S104、编码器对各个子带中分配了量化比特的子带的频谱系数进 行量化。
    编码器对当前数据帧中的各个子带的频谱系数进行量化比特分配 之后,编码器对当前数据帧中的各个子带中分配了量化比特的子带的 频谱系数进行量化。
    具体的,编码器对当前数据帧中的各个子带的频谱系数进行量化 比特分配之后,编码器可根据修正后的当前数据帧中的各个子带的量 化频域包络值对该当前数据帧中的各个子带的频谱系数进行归一化处 理,然后再根据编码器为当前数据帧中的各个子带中分配了量化比特 的子带的频谱系数分别分配的比特数,量化该当前数据帧中的各个子 带的频谱系数。
    示例性的,设当前数据帧为第y个数据帧,前一个数据帧为第y-1 个数据帧,编码器将每一个数据帧划分为N个子带。编码器根据为第y 个数据帧中的N个子带中分配了量化比特的子带的频谱系数分配的比 特数,量化第y个数据帧中的N个子带中分配了量化比特的子带的频 谱系数时,可采用塔型格型矢量量化方法对分配较少比特的子带的频 谱系数进行量化,以得到量化后的分配较少比特的子带的频谱系数; 相应的,编码器也可采用球型格型矢量量化方法对分配较多比特的子 带的频谱系数进行量化,以得到量化后的分配较多比特的子带的频谱 系数。
    需要说明的是,当前数据帧中的各个子带可以有没有分配到量化 比特分配的情况,本发明实施例中,编码器对当前数据帧中的各个子 带中分配了量化比特的子带的频谱系数进行量化。具体地,如果一个 子带被分配了量化比特,则使用为该子带分配的量化比特对该子带的 频谱系数进行量化。例如,为一个子带分配了2个量化比特,则使用 这2个量化比特对该一个子带的频谱系数进行量化;为另一个子带分 配了3个比特,则使用这3个量化比特对该另一个子带的频谱系数进 行量化;如果一个子带没有被分配量化比特,则该没有分配量化比特 的子带的频谱系数不会被量化。
    S105、编码器将量化后的分配了量化比特的子带的频谱系数写入 码流。
    编码器量化当前数据帧中的分配了量化比特的子带的频谱系数之 后,编码器需将量化后的分配了量化比特的子带的频谱系数写入码流, 以用于解码器进行解码。
    具体的,编码器量化当前数据帧中的分配了量化比特的子带的频 谱系数之后,编码器将分配了量化比特的子带的量化后的频谱系数、 当前数据帧中的子带的信号类型、前一个数据帧中的子带的参考信息, 以及当前数据帧中的各个子带的量化频域包络索引值写入码流,并将 该码流传送至解码器进行解码。
    需要说明的是,对于音频信号的每一个数据帧,编码器均按照上 述S101-S105的步骤进行编码,即编码器重复执行S101-S105,直至对 音频信号的所有数据帧均完成编码。
    可以理解的是,编码器对待编码的音频信号的每一个数据帧在编 码器中进行计算、量化、修正后,编码器需将上述过程中得到的相应 的当前数据帧中的子带的信号类型、前一个数据帧中的子带的参考信 息,以及当前数据帧中的各个子带的量化频域包络索引值等参数与当 前数据帧中的量化后的分配了量化比特的子带的频谱系数写入码流, 传送至解码器,以便解码器能根据编码时得到的相应的参数对编码后 的音频信号的码流进行反量化,反归一化等处理,从而解码器完成解 码后得到编码前的该音频信号。
    本发明实施例提供的一种编码方法,编码器将当前数据帧的频谱 系数划分成子带后,获取各个子带的量化频域包络值,且编码器对各 个子带中的第一数量个子带的量化频域包络值进行修正,及编码器根 据第一数量个子带的修正后的该量化频域包络值,为各个子带分配量 化比特,以及编码器对各个子带中分配了量化比特的子带的频谱系数 进行量化,最后编码器将分配了量化比特的子带的量化后的频谱系数 写入码流。通过该方案,由于在对音频信号的当前数据帧的各个子带 的频谱系数进行量化比特分配之前,可根据当前数据帧的信号类型和 前一数据帧的信息,修正该各个子带的量化频域包络值,因此,根据 修正后的该各个子带的量化频域包络值和可用比特数对该各个子带的 频谱系数进行量化比特分配,能够达到对音频信号的频谱系数进行合 理的量化比特分配的目的,从而提高解码器解出的信号质量。
    实施例二
    本发明实施例提供一种编码方法,在本发明实施例提供的编码方 法中,以当前数据帧为第y个数据帧,前一个数据帧为第y-1个数据 帧为例来进行说明,其中y≥1,如图2所示,该方法可以包括:
    S201、编码器对音频信号的第y个数据帧进行时频变换,以得到 该第y个数据帧的频谱系数,其中y≥1。
    编码器是将数据或信号(如比特流)进行编制,转换为可用于通 讯、传输和存储的信号形式的设备。编码器在不同的技术领域有不同 的分类,其中,在通信技术领域,编码器可以包括视频编码器、音频 编码器等。
    本发明实施例提供的编码器可以为音频编码器,音频编码器为一 种可以将模拟音频信号压缩成数据编码文件的工具,即音频压缩编码 的工具,其中,音频压缩编码可分为语音信号的压缩编码和宽带音频 信号的压缩编码。语音信号的压缩编码主要用于数字电话通信上,宽 带音频信号的压缩编码主要应用于数字声音广播、VCD、DVD及HDTV的 伴音中。
    时频变换是指将信号从时域变换为频域,目前,通常使用的时频 变换方法有离散傅里叶变换(Discrete Fourier Transform,DFT)、 离散余弦变换(Discrete Cosine Transform,DCT)及改进型离散余 弦变换(Modified Discrete Cosine Transform,MDCT)等。
    需要说明的是,音频信号可以数据帧的形式一帧一帧连续传输至 编码器,其中,数据帧是数据链路层的协议数据单元,且数据帧可以 包括:帧头,数据部分,帧尾。其中,帧头和帧尾包含一些必要的控 制信息,比如同步信息、地址信息、差错控制信息等;数据部分则包 含网络层传下来的数据,比如IP数据包等。
    编码器采用时频变换的方法,将音频信号的第y个数据帧,从时 域变换到频域,以得到该第y个数据帧的频谱系数??梢岳斫?,在编 码过程中,编码器会依次将音频信号的每一个数据帧从时域变换到频 域。
    S202、编码器将第y个数据帧的频谱系数划分成N个子带,其中, N≥1。
    子带是指在某一频带中,携带有特定特性的频带。
    本发明实施例提供的编码方法中,编码器对音频信号进行时频变 换后,编码器会将经时频变换后的音频信号的每一个数据帧都划分为N 个子带,即编码器将传输来的任一个数据帧中都划分为N个子带,故 第y个数据帧和第y-1个数据帧的子带个数相同,都为N个。
    其中,对于第y个数据帧中的每个子带都是第y个数据帧中的不 同的一段频带。示例性的,若第y个数据帧的频谱系数在0-8000赫兹 内,则0-20赫兹的一段频带就是该第y个数据帧中的一个子带。
    可选的,划分子带时,可将变换后的第y个数据帧的频谱系数分 成若干个等间隔的子带,也可按照听觉感知特性将变换后的第y个数 据帧的频谱系数划分成若干个非等间隔的子带,具体可根据实际划分 要求进行划分,本发明不做限制。
    S203、编码器获取第y个数据帧中的N个子带的量化频域包络值。
    量化可以包括标量量化和矢量量化,其中,矢量量化是一种高效 的数据压缩技术,具有压缩比大,解码简单及失真小等优点,矢量量 化技术广泛应用在图像压缩和语音编码中。
    编码器通过计算第y个数据帧中的N个子带的频域包络,以得到 该第y个数据帧中的N个子带的频域包络值,编码器再对该频域包络 值进行量化,以得到该第y个数据帧中的N个子带的量化频域包络索 引值,并根据该量化频域包络索引值重新建立第y个数据帧中的N个 子带的频域包络,从而得到该第y个数据帧中的N个子带的量化频域 包络值。
    可选的,矢量量化可以包括塔型格型矢量量化,球型格型矢量量 化等。
    S204、编码器获取第y个数据帧中的第一数量个子带的修正因子。
    本发明实施例中,优选的,编码器修正第y个数据帧中的N个子 带的量化频域包络值时,只需根据第y个数据帧中的各个子带的重要 性,修正第y个数据帧中的重要性高的几个子带,即第y个数据帧中 的子带能量的最大的几个子带,即第y个数据帧中的频率最高的几个 子带。由于考虑到相邻数据帧间的连续性,因此,具体修正第y个数 据帧中的子带的第一数量的值的多少,由从第y个数据帧中选取的频 率最高的子带的个数M与从第y-1个数据帧中选取的频率最高的子带 的个数L的大小决定,即第一数量的值为M与L的最大值。其中,1≤ M≤N,1≤L≤N。
    特别的,第y个数据帧中的最高频率的M个子带或第y-1个数据 帧中的最高频率的L个子带的选择方法为:编码器可以在选择一个频 率的基准频率,当子带的起始频率高于该基准频率时,该子带为一个 最高频率的子带。其中,基准频率可以是5千赫兹、5.45千赫兹、5.8 千赫兹、6千赫兹、6.2千赫兹、7千赫兹、8千赫兹或10千赫兹,即 最高频率的子带的选择可以根据不同的情况,自行进行设定,本发明 不做限制。
    进一步地,在本发明的实施例中,基准频率的选择可以根据当前 数据帧中子带的最高频率以及预先设定的频率范围确定,即,基准频 率=最高频率-频率范围;例如,如果预先设定的频率范围是2千赫兹, 当前数据帧中子带的最高频率为7.45千赫兹,则基准频率=7.45千赫 兹-2千赫兹=5.45千赫兹;如果预先设定的频率范围是3千赫兹,当 前数据帧中子带的最高频率为9.2千赫兹,则基准频率=9.2千赫兹-3 千赫兹=6.2千赫兹;可以理解的是,预先设定的频率范围可以根据需 要或者根据经验设定。
    进一步地,编码器可以修正第y个数据帧中的M或L个子带。其 中,如图3所示,第y个数据帧中的M个子带为从第y个数据帧中的N 个子带中频率最高的子带开始的连续M个子带,第y-1个数据帧中的L 个子带为从第y-1个数据帧中的N个子带中频率最高的子带开始的连 续L个子带。
    下面以M≥L时的情况,进行说明。
    若M≥L,则第一数量为M;若将第y-1个数据帧中的L个子带的个 数称为第二数量,第二数量小于或等于第一数量,则第y-1个数据帧 中的第二数量个子带为第y-1个数据帧中的L个子带。编码器获取第y 个数据帧中的第一数量个子带的修正因子的方法,包括:编码器根据 第y个数据帧中的第一数量个子带的信号类型,确定第y个数据帧中 的第一数量个子带的修正因子,或编码器根据第y个数据帧中的第一 数量个子带的信号类型以及第y-1个数据帧中的第二数量个子带的参 考信息,确定第y个数据帧中的第一数量个子带的修正因子。
    具体的,编码器根据第y个数据帧中的M个子带中每个子带的信 号类型,选择相应的计算公式,以确定该M个子带中每个子带分别对 应的修正因子的值,或编码器根据第y个数据帧中的M个子带中每个 子带的信号类型和第y-1个数据帧中L个子带中的信息,分别选择相 应的计算公式,以确定该第y个数据帧中的M个子带中每个子带分别 对应修正因子。
    需要说明的是,第y个数据帧中的M个子带的信号类型为该M个 子带中每个子带的信号类型,该M个子带中每个子带分别对应一个修 正因子。
    进一步地,编码器获取第y个数据帧中的M个子带的修正因子的 方法如下:
    (1)编码器根据第y个数据帧中的M个子带中每个子带的信号类 型,选择相应的计算公式,以确定该第y个数据帧中的M个子带中每 个子带分别对应的修正因子的值。
    可选的,子带的信号类型可以包括谐波与非谐波。在第y个数据 帧中的第一数量个子带中的第一子带的信号类型为谐波时,编码器确 定该第一子带的修正因子大于1;在第y个数据帧中的第一数量个子带 中的该第一子带的信号类型为非谐波时,编码器确定该第一子带的修 正因子小于或等于1。即,若第y个数据帧中的M个子带中的第一子带 的信号类型为谐波,编码器则确定与第一子带对应的修正因子为大于1 的数,或,若第一子带的信号类型为非谐波,编码器则确定与第一子 带对应的修正因子为小于或者等于1的数。
    具体的,第一子带的修正因子由该第一子带的频域包络值,第一 数量个子带的频域包络均值,第一数量个子带的带宽值,第一数量个 子带的频域包络中的最大值,第一数量个子带的频域包络方差值中任 意两个值的比值确定,即第一子带的修正因子由该第一子带的频域包 络值,M个子带的频域包络均值,M个子带的带宽值,M个子带的频域 包络中的最大值,M个子带的频域包络方差值中任意两个值的比值确 定,其中,具体的组合形式可根据该第一子带的信号类型进行选择, 即可根据第一子带的信号类型,选择相应的公式计算修正因子。
    第一公式如下:
    factor ( i ) = bandlength * Ep _ tmp [ i ] * Ep _ vari Ep _ avrg 2 , i ≥ 1 - - - ( 1 ) ]]>
    其中,bandlength为M子带中第i个字带距离N个子带中除M个子带 以外的某一子带的间隔子带的个数;
    Ep[i]为第i个子带的能量,Ep_tmp[i]为第 i个子带的频域包络值,band_width[i]为第i个子带的带宽;
    Ep _ vari = Σ i N | Ep _ tmp [ i ] - Ep _ tmp [ i - 1 ] | , ]]>Ep_vari为某频段的频域包络方差;
    Ep_avrg为某频段内某几个子带的频域包络均 值。
    第二公式如下:
    factor(i)=1.0  (2)
    示例性的,若该第一子带的信号类型为谐波,则选择第一公式, 从而可使得计算得到的该第一子带对应的修正因子的值大于1;若该第 一子带的信号类型为非谐波,则选择第二公式,从而可使得计算得到 的该第一子带对应的修正因子的值小于或者等于1。
    可以理解的是,若该第一子带的信号类型为谐波,为了解码时能 更好地恢复出该第一子带的谐波特性,则需给该第一子带分配较多的 比特。即当该第一子带的信号类型为谐波时,通过确定该第一子带对 应的修正因子为大于1的数,从而使得修正后的该第一子带的量化频 域包络值大于未修正的该第一子带的量化频域包络值,进而使得为该 第一子带分配的比特较多。
    需要说明的是,第y个数据帧中第一数量个子带中的每个子带的 修正因子的获取方法都如上述第一子带的修正因子的方法一样。
    (2)编码器根据第y个数据帧中的M个子带中每个子带的信号类 型和第y-1个数据帧中L个子带的参考信息,分别选择相应的计算公 式,以确定该第y个数据帧中的M个子带中每个子带分别对应的修正 因子。
    需要说明的是,M≥L,编码器根据第y个数据帧中的M个子带中 每个子带的信号类型,确定M个第一修正因子,编码器根据第y-1个 数据帧中L个子带的参考信息,确定L个第二修正因子。M个第一修正 因子中的L个第一修正因子和L个第二修正因子,分别对应修正第y 个数据帧中的M个子带中的L个子带的量化频域包络值,以及编码器 根据M个第一修正因子中剩余的M-L个第一修正因子,分别对应修正 第y个数据帧中的M个子带中剩余的M-L个子带的量化频域包络值。
    具体的,对第y个数据帧中的第一子带来说明。若与第y个数据 帧中的第一子带有对应的第y-1个数据帧中第二子带的参考信息,则 编码器根据第y个数据帧中的第一子带的信号类型,确定该第一子带 的第一修正因子,以及编码器根据第y-1个数据帧中的第二数量个子 带中与第y个数据帧中的第一子带对应的第y-1个数据帧中第二子带 的参考信息,确定该第一子带的第二修正因子,最后将该第一修正因 子和该第二修正因子的乘积作为该第一子带的修正因子。若与第y个 数据帧中的第一子带没有对应的第y-1个数据帧中第二子带的参考信 息,则编码器根据第y个数据帧中的第一子带的信号类型,确定该第 一子带的第一修正因子,该第一子带的修正因子为该第一修正因子。
    需要说明的是,编码器根据第y个数据帧中的M个子带中每个子 带的信号类型,分别选择相应的计算公式,以确定该M个子带中每个 子带分别对应的第一修正因子的值时,该第一修正因子的值为上述(1) 中的修正因子的确定方法,即上述(1)中的修正因子为这里的第一修 正因子。
    需要说明的是,第y-1个数据帧中的L个子带的参考信息为该L 个子带中的每个子带的参考信息。
    进一步地,编码器根据第y个数据帧中的第一数量个子带的信号 类型,确定与第y个数据帧中的第一数量个子带的修正因子之前,编 码器要先获取第y个数据帧中的第一数量个子带的信号类型,以及编 码器根据第y-1个数据帧中第二数量个子带的参考信息,确定第y-1 个数据帧中第二数量个子带的修正因子之前,编码器要先获取保存的 第y-1个数据帧中的第二数量个子带的参考信息,其中,第y-1个数 据帧中的第二数量个子带的参考信息为编码器编码完第y-1个数据帧 时保存的。
    可选的,第y-1个数据帧中的第二子带的参考信息为该第二子带 的量化比特分配状态和/或该第二子带的信号类型。
    其中,当该第二子带的参考信息包括该第二子带的量化比特分配 状态时,第二修正因子为第三修正因子,或者,当该第二子带的参考 信息包括该第二子带的信号类型时,第二修正因子为第四修正因子, 或者,当该第二子带的参考信息包括该第二子带的量化比特分配状态 和该第二子带的信号类型时,第二修正因子为该第三修正因子与该第 四修正因子的乘积。
    具体的,第y-1个数据帧中的L个子带的参考信息包括第y-1个 数据帧中的L个子带的量化比特分配状态和/或第y-1个数据帧中的L 个子带的信号类型。当第y-1个数据帧中的L个子带的参考信息包括 第y-1个数据帧中的L个子带的量化比特分配状态时,第二修正因子 为第三修正因子,或者,当第y-1个数据帧中的L个子带的参考信息 包括第y-1个数据帧中的L个子带的信号类型时,第二修正因子为第 四修正因子,或者,当第y-1个数据帧中的L个子带的参考信息包括 第y-1个数据帧中的L个子带的量化比特分配状态和第y-1个数据帧 中的L个子带的信号类型时,第二修正因子为第三修正因子与第四修 正因子的乘积。
    优选的,第二修正因子为第三修正因子与第四修正因子的乘积。
    编码器可根据第y-1个数据帧中的L个子带中每个子带的量化比 特分配状态选择相应的计算公式,以确定该L个子带中每个子带对应 的第三修正因子的值,及根据第y-1个数据帧中的L个子带中每个子 带的信号类型选择相应的计算公式,以确定该L个子带中每个子带对 应的第四修正因子的值,并根据该L个子带中每个子带对应的第三修 正因子和/或第四修正因子,以确定该L个子带中每个子带对应的第二 修正因子的值。
    可选的,若第y-1个数据帧中的L个子带中的第二子带的量化比 特分配状态表示有频谱系数被编码时,编码器则确定与第二子带对应 的第三修正因子为大于1的数,或,若第二子带的量化比特分配状态 表示没有频谱系数被编码时,编码器则确定与第二子带对应的第三修 正因子为小于1的数。若第二子带的信号类型为谐波,编码器则确定 与第二子带对应的第四修正因子为大于1的数,或,若第二子带的信 号类型为非谐波,编码器则确定与第二子带对应的第四修正因子为小 于1或者等于1的数。
    需要说明的是,第y-1个数据帧中的L个子带中的第二子带的量 化比特分配状态为“1”时,表示有频谱系数被编码,第y-1个数据帧 中的L个子带中的第二子带的量化比特分配状态为“0”时,表示没有 频谱系数被编码。这里第四修正因子的获取方法与上述(1)中的修正 因子的获取方法相同。
    具体的,第一子带的第二修正因子由第二子带的频域包络值,第 二数量个子带的频域包络均值,第二数量个子带的带宽值,第二数量 个子带的频域包络中的最大值,第二数量个子带的频域包络方差值中 任意两个值的比值确定,其中,具体的组合形式可分别根据该第二子 带的参考信息选择,即分别根据第二子带的量化比特分配状态和/或第 二子带的信号类型,选择相应的公式计算第三修正因子和第四修正因 子。
    第三公式如下:
    factor ( i ) = Ep _ avrg * Ep _ tmp [ i ] * Ep _ avrg bandlength , i ≥ 1 - - - ( 3 ) ]]>
    其中,bandlength为L子带中第i个字带距离N个子带中除L个子带 以外的某一子带的间隔子带的个数。
    第四公式如下:
    factor ( i ) = bandlength Ep _ avrg * Ep _ tmp [ i ] * Ep _ avrg , i ≥ 1 - - - ( 4 ) ]]>
    其中,bandlength为L子带中第i个字带距离N个子带中除L个子带 以外的某一子带的间隔子带的个数。
    示例性的,若该第二子带的量化比特分配状态为“1”,则选择第 三公式,从而使得计算得到的该第二子带对应的第三修正因子的值大 于1;若该第二子带的量化比特分配状态为“0”,则选择第四公式, 从而使得计算得到的该第二子带对应的第三修正因子的值小于1。
    若该第二子带的信号类型为谐波,则选择第一公式,从而使得计 算得到的该第二子带对应的第四修正因子的值大于1;若该第二子带的 信号类型为非谐波,则选择第二公式,从而使得计算得到的该第二子 带对应的第四修正因子的值小于或者等于1。
    可以理解的是,若第y-1个数据帧中的第二子带的量化比特分配 状态为“1”,为了编码时能更好的保持音频信号的相邻数据帧之间的 连续性,则表示为该第二子带分配了较多比特。即当该第二子带的量 化比特分配状态为“1”时,通过确定该第二子带对应的第三修正因子 为大于1的数,从而使得修正后的第y个数据帧中与该第二子带对应 的子带的量化频域包络值大于未修正的第y个数据帧中与该第二子带 对应的子带的量化频域包络值,进而使得为该子带分配的比特较多。
    需要说明的是,第y个数据帧中第一数量个子带中的每个子带的 修正因子的获取方法都如上述第一子带的修正因子的方法一样。
    下面以M≤L时的情况,进行说明。
    若M≤L,则第一数量的值为L;若将第y个数据帧中的M个子带的 个数称为第三数量,则第y个数据帧中的第三数量个子带为第y个数 据帧中的M个子带。编码器获取第y个数据帧中的第一数量个子带的 修正因子的方法,包括:根据第y-1个数据帧的第一数量个子带的参 考信息,确定第y个数据帧的第一数量个子带的修正因子,或编码器 根据第y-1个数据帧的第一数量个子带的参考信息以及第y个数据帧 中的第三数量个子带的信号类型,确定第y个数据帧中的第一数量个 子带的修正因子。
    具体的,编码器根据第y-1个数据帧中的L个子带中每个子带的 参考信息,选择相应的计算公式,以确定第y个数据帧中的L个子带 中每个子带分别对应的修正因子的值,或编码器根据第y个数据帧中 的M个子带中每个子带的信号类型和第y-1个数据帧中L个子带的参 考信息,分别选择相应的计算公式,以确定该第y个数据帧中的L个 子带中每个子带分别对应的修正因子。
    进一步地,编码器获取第y个数据帧中的L个子带的修正因子的 方法如下:
    (1)编码器根据第y-1个数据帧中的L个子带中每个子带的参考 信息,选择相应的计算公式,以确定第y个数据帧中的L个子带中每 个子带分别对应的修正因子的值。
    进一步地,编码器根据第y个数据帧中的第三数量个子带的信号 类型,确定与第y个数据帧中的第三数量个子带的修正因子之前,编 码器要先获取第y个数据帧中的第三数量个子带的信号类型,以及编 码器根据第y-1个数据帧中第一数量个子带的参考信息,确定第y-1 个数据帧中第一数量个子带的修正因子之前,编码器要先获取保存的 第y-1个数据帧中的第一数量个子带的参考信息,其中,第y-1个数 据帧中的第一数量个子带的参考信息为编码器编码完第y-1个数据帧 时保存的。
    需要说明的是,编码器根据第y-1个数据帧中的L个子带中每个 子带的参考信息,选择相应的计算公式,以确定第y个数据帧中的L 个子带中每个子带分别对应的修正因子的值时,该修正因子的值为上 述M≥L中的上述(2)中的第二修正因子的确定方法,即M≥L中的上 述(2)中的第二修正因子为这里的修正因子。
    (2)编码器根据第y个数据帧中的M个子带中每个子带的信号类 型和第y-1个数据帧中L个子带的参考信息,分别选择相应的计算公 式,以确定该第y个数据帧中的L个子带中每个子带分别对应的修正 因子。
    需要说明的是,M≤L,编码器根据第y个数据帧中的M个子带中 每个子带的信号类型,确定M个第一修正因子,编码器根据第y-1个 数据帧中L个子带的参考信息,确定L个第二修正因子。L个第二修正 因子中的M个第二修正因子和L个第一修正因子,分别对应修正第y 个数据帧中的L个子带中的M个子带的量化频域包络值,以及编码器 根据L个第二修正因子中剩余的L-M个第二修正因子,分别对应修正 第y个数据帧中的L个子带中剩余的L-M个子带的量化频域包络值。
    具体的,对第y个数据帧中的第一子带来说明。若与第y-1个数 据帧中的第二子带有对应的第y个数据帧中第一子带的信号类型,则 编码器根据第y-1个数据帧的L个子带中的第二子带的参考信息,确 定所第y个数据帧的L个子带中的第一子带的第二修正因子,以及编 码器根据第y个数据帧中第一子带的信号类型,确定该第一子带的第 一修正因子,最后将该第一修正因子和该第二修正因子的乘积作为该 第一子带的修正因子。若与第y-1个数据帧中的第二子带没有对应的 第y个数据帧中第一子带的信号类型,则编码器根据第y-1个数据帧 中的第二子带的参考信息,确定第y个数据帧中第一子带的第一修正 因子,该第一子带的修正因子为该第一修正因子。
    需要说明的是,上述第一修正因子的值和第二修正因子的值的确 定方法,与M≥L中的第一修正因子的值和第二修正因子的值的确定方 法相同,此处不再赘述。
    S205、编码器对第y个数据帧中的第一数量个子带的量化频域包 络值进行修正。
    编码器获取第y个数据帧的第一数量个子带的修正因子之后,编 码器对该第y个数据帧中的第一数量个子带的量化频域包络值进行修 正。
    具体的,编码器使用第y个数据帧中的第一数量个子带的修正因 子对该第一数量个子带的量化频域包络值进行修正。
    需要说明的是,本发明实施例中,编码器修正第y个数据帧中的第 一数量个子带的量化频域包络值时,优选的,如图3所示,编码器只 需根据第y个数据帧中的各个子带的重要性,修正第y个数据帧中的 重要性高的M或L个子带,并将编码器修正后的第y个数据帧中的M 或L个子带与第y个数据帧中的其余未修正的子带重新组成修正后的 第y个数据帧中的N个子带。
    本发明实施例提供的编码方法中,编码器可根据M与L的大小关 系,先确定第y个数据帧中需修正的子带的个数(M与L中的最大值), 然后选择M>L,或M<L,或M=L时对应的修正方式,再确定该修正方 式对应的修正因子,以对第y个数据帧中的第一数量个子带的量化频 域包络值进行修正。
    可选的,编码器根据M与L的大小关系选择相应的修正方式对第y 个数据帧中的第一数量个子带的量化频域包络值进行修正。
    若M≥L,第一数量的值为M,编码器则根据第y个数据帧中的M个 子带的信号类型,或第y个数据帧中的M个子带的信号类型和第y-1 个数据帧中的L个子带的参考信息,修正第y个数据帧中的M个子带 的量化频域包络值,其中,第y个数据帧中的M个子带为从第y个数 据帧中的N个子带中频率最高的子带开始的连续M个子带,第y个数 据帧中的L个子带为从第y个数据帧中的N个子带中频率最高的子带 开始的连续L个子带,第y-1个数据帧中的L个子带为从第y-1个数 据帧中的N个子带中频率最高的子带开始的连续L个子带。
    或者,
    若M≤L,第一数量的值为L,编码器则根据第y-1个数据帧中的L 个子带的参考信息,或第y个数据帧中的M个子带的信号类型和第y-1 个数据帧中的L个子带的参考信息,修正第y个数据帧中的L个子带 的量化频域包络值。
    可选的,编码器可根据M与L的大小关系,即修正条件选择与该 修正条件对应的修正方式,并根据该修正方式确定对应的修正因子, 从而对第y个数据帧中的第一数量个子带的量化频域包络值进行修正。 具体的,编码器对第y个数据帧中的第一数量个子带的量化频域包络 值进行修正的修正方式可以为下述的一种:
    (1)当M≥L时,第一数量的值为M,编码器使用修正因子分别对 应修正第y个数据帧中的M个子带中的每个子带的量化频域包络值, 其中,该修正因子为编码器根据第y个数据帧中的M个子带中每个子 带的信号类型确定的。具体的,编码器通过将M个修正因子和第y个 数据帧中的M个子带的量化频域包络值分别对应相乘,以得到修正后 的第y个数据帧中的M个子带量化频域包络值?;虮嗦肫鞲軲个第 一修正因子中的L个第一修正因子和L个第二修正因子,分别对应修 正第y个数据帧中的M个子带中的L个子带的量化频域包络值,且编 码器根据M个第一修正因子中剩余的M-L个第一修正因子,分别对应 修正第y个数据帧中的M个子带中剩余的M-L个子带的量化频域包络 值。具体的,编码器通过将M个第一修正因子中的L个第一修正因子、 L个第二修正因子和第y个数据帧中的M个子带中的L个子带的量化频 域包络值分别对应相乘,以得到修正后的第y个数据帧中的M个子带 中的L个子带的量化频域包络值,且编码器通过将M个第一修正因子 中剩余的M-L个第一修正因子与第y个数据帧中的M个子带中剩余的 M-L个子带的量化频域包络值分别对应相乘,以得到修正后的第y个数 据帧中的M个子带中剩余的M-L个子带的量化频域包络值。
    (2)当M≤L时,第一数量的值为L,编码器使用修正因子分别对 应修正第y个数据帧中的L个子带中的每个子带的量化频域包络值, 其中,该修正因子为编码器根据第y-1个数据帧中的L个子带中每个 子带的参考信息确定的。具体的,编码器通过将L个修正因子和第y 个数据帧中的L个子带的量化频域包络值分别对应相乘,以得到修正 后的第y个数据帧中的L个子带量化频域包络值?;虮嗦肫鞲軲个 第一修正因子和L个第二修正因子中的M个第二修正因子,分别对应 修正第y个数据帧中的M个子带的量化频域包络值,且编码器根据L 个第二修正因子中剩余的L-M个第二修正因子,分别对应修正第y个 数据帧中的L个子带中剩余的L-M个子带的量化频域包络值。具体的, 编码器通过将M个第一修正因子中的M个第一修正因子、M个第二修正 因子和第y个数据帧中的M个子带的量化频域包络值分别对应相乘, 以得到修正后的第y个数据帧中的M个子带的量化频域包络值,且编 码器通过将L个第二修正因子中剩余的L-M个第二修正因子与第y个 数据帧中的L个子带中剩余的L-M个子带的量化频域包络值分别对应 相乘,以得到修正后的第y个数据帧中的L个子带中剩余的L-M个子 带的量化频域包络值。
    示例性的,若M=3,L=2,则M>L,故需修正第y个数据帧中的3 个子带,先选择M>L时的修正方式,然后编码器根据3个第一修正因 子中的2个第一修正因子和2个第二修正因子,分别对应修正第y个 数据帧中的3个子带中的2个子带的量化频域包络值,且编码器根据3 个第一修正因子中剩余的1个第一修正因子,分别对应修正第y个数 据帧中的3个子带中剩余的1个子带的量化频域包络值,具体的,编 码器通过将3个第一修正因子中的2个第一修正因子、2个第二修正因 子和第y个数据帧中的3个子带中的2个子带的量化频域包络值分别 对应相乘,以得到修正后的第y个数据帧中的3个子带中的2个子带 的量化频域包络值,且编码器通过将3个第一修正因子中剩余的1个 第一修正因子与第y个数据帧中的3个子带中剩余的1个子带的量化 频域包络值分别对应相乘,以得到修正后的第y个数据帧中的3个子 带中剩余的1个子带的量化频域包络值。
    可以理解的是,当M=L或M<L时,编码器对第y个数据帧中的M 个子带的量化频域包络值进行修正的过程与上述M>L时的修正过程类 似,将在后续举例中进行详细地举例说明。
    S206、编码器根据修正后的第一数量个子带的量化频域包络值, 为各个子带分配量化比特。
    编码器对第y个数据帧中的第一数量个子带量化频域包络值进行 修正之后,编码器可以根据修正后的第一数量个子带的量化频域包络 值,为第y个数据帧中的N个子带进行量化比特分配。
    具体的,编码器修正第y个数据帧中的N个子带的量化频域包络 值后,编码器可根据修正后的该第y个数据帧中的N个子带的量化频 域包络值计算该N个子带的重要性的初始值(子带的重要性可以用子 带的能量、频率等参数来衡量),再根据N个子带的重要性的初始值 将可用比特数分别分配给N个子带,其中,重要性高的子带分配的比 特较多,重要性低的子带分配的比特较少。
    需要说明的是,可用比特数是指第y个数据帧可以使用的总比特 数,其中,可用比特数是由编码器的码率决定的,编码器的码率越大, 可用的比特数就越大。
    可以理解的是,通过对第y个数据帧中的N个子带的量化频域包 络值进行修正,一方面,由于用于量化比特分配的修正后的第y个数 据帧中的N个子带的量化频域包络值更符合音频信号的特性,因此, 使得对该N个子带的频谱系数的量化比特分配更合理;另一方面,由 于修正后的第y个数据帧中的N个子带的量化频域包络值可使得第y-1 个数据帧的频谱系数与第y个数据帧的频谱系数更连续,因此,减少 了解码器解码时频谱上的一些离散点,从而使得解码器可以更好地完 成解码。
    S207、编码器对N个子带中分配了量化比特的子带的频谱系数进 行量化。
    编码器对第y个数据帧中的N个子带中分配了量化比特的子带的 频谱系数进行量化比特分配之后,编码器对第y个数据帧中的N个子 带中分配了量化比特的子带的频谱系数进行量化。
    具体的,编码器对第y个数据帧中的N个子带的频谱系数进行量 化比特分配之后,编码器可根据修正后的第y个数据帧中的N个子带 的量化频域包络值对该第y个数据帧中的N个子带的频谱系数进行归 一化处理,然后再根据编码器为第y个数据帧中的N个子带中分配了 量化比特的子带的频谱系数分别分配的比特数,量化该第y个数据帧 中的N个子带的频谱系数。
    示例性的,编码器根据为第y个数据帧中的N个子带中分配了量 化比特的子带的频谱系数分配的比特数,量化第y个数据帧中的N个 子带中分配了量化比特的子带的频谱系数时,可采用塔型格型矢量量 化方法对分配较少比特的子带的频谱系数进行量化,以得到量化后的 分配较少比特的子带的频谱系数;相应的,编码器也可采用球型格型 矢量量化方法对分配较多比特的子带的频谱系数进行量化,以得到量 化后的分配较多比特的子带的频谱系数。
    需要说明的是,第y个数据帧中的N个子带可以有没有分配到量 化比特分配的情况,本发明实施例中,编码器对第y个数据帧中的N 个子带中分配了量化比特的子带的频谱系数进行量化。
    S208、编码器将量化后的分配了量化比特的子带的频谱系数写入 码流。
    编码器量化第y个数据帧中的分配了量化比特的子带的频谱系数 之后,编码器需将量化后的分配了量化比特的子带的频谱系数写入码 流,以用于解码器进行解码。
    具体的,编码器量化第y个数据帧中的分配了量化比特的子带的 频谱系数之后,编码器将量化后的分配了量化比特的子带的频谱系数、 第y个数据帧中的M个子带的信号类型、第y-1个数据帧中的L个子 带的参考信息,以及第y个数据帧中的N个子带的量化频域包络索引 值写入码流,并将该码流送至解码器进行解码。
    需要说明的是,对于音频信号的每一个数据帧,编码器均按照上 述S201-S208的步骤进行编码,即编码器重复执行S201-S208,直至对 音频信号的所有数据帧均完成编码。编码完成后,编码器保存第y个 数据帧中的第一数量个子带的参考信息,以用于第y+1个数据帧编码 时使用。
    可以理解的是,编码器对待编码的音频信号在编码器中进行计算、 量化、修正后,编码器需将上述过程中得到的相应的第y个数据帧中 的M个子带的信号类型、第y-1个数据帧中的L个子带的参考信息, 以及第y个数据帧中的N个子带的量化频域包络索引值等参数与量化 后的第y个数据帧中的分配了量化比特的子带的量化后的频谱系数写 入码流,传送至解码器,以便解码器能根据编码时得到的相应的参数 对编码后的音频信号的码流进行反量化,反归一化等处理,从而解码 器完成解码后得到编码前的该音频信号。
    下面以一个具体的宽带音频信号,如编码器根据第y个数据帧中 的M个子带的参考信息和第y-1个数据帧中的L个子带的参考信息, 确定第y个数据帧中的第一数量个子带的修正因子为例来对本发明实 施例提供的编码方法中的修正量化频域包络值的过程进行详细地说 明。
    假设y=6,N=18,即编码器对宽带音频信号的第6个数据帧进行编 码。当宽带音频信号的该第6个数据帧输入编码器后,编码器首先对 该第6个数据帧进行MDCT变换,以得到0-8000赫兹内的320个频谱 系数,如图3所示,编码器将上述第6个数据帧的320个频谱系数按 照听觉感知特性划分成18个非等间隔的子带。其中,在第6个数据帧 输入编码器之前,输入至编码器的宽带音频信号的第5个数据帧,也 被编码器经过MDCT变换后,得到0-8000赫兹内的320个频谱系数, 并将第5个数据帧的320个频谱系数按照听觉感知特性划也分成18个 非等间隔的子带。编码器计算并量化第6个数据帧中的18个子带的频 域包络后,获得该第6个数据帧中的18个子带的量化频域包络索引值 和该第6个数据帧中的18个子带的量化频域包络值fenv。
    (1)若选第6个数据帧中的最高频率的3个子带,第5个数据帧 中的最高频率的2个子带,即M=3,L=2,则第y个数据帧中的M个子 带为第6个数据帧中的第16、17、18个子带,第y-1个数据帧中的L 个子带为第5个数据帧中的第17、18个子带。假设第6个数据帧的第 16、17、18个子带的信号类型分别为谐波、非谐波、谐波,第5个数 据帧的第17、18个子带的量化比特分配状态分别为“1”、“0”,以 及第5个数据帧的第17、18个子带的信号类型分别为为谐波、非谐波。
    由于M>L,故优选的,编码器只需修正第6个数据帧中的3个子 带的量化频域包络值,即只需修正第6个数据帧中的第16、17、18个 子带。
    下面为了说明的方便,将整体详细阐述第16、17、18个子带的修 正因子的确定方法。
    首先,编码器确定第一修正因子factor1如下,第6个数据帧中 的第16个子带为谐波,故该第16个子带对应的第一修正因子factor1 为大于1的数,第6个数据帧中的第17个子带为非谐波,故该第17 个子带对应的第一修正因子factor1为小于或者等于1的数,同理, 第6个数据帧中的第18个子带对应的factor1为大于1的数,其中, 若子带的信号类型为谐波,则factor1用第一公式计算得到,若子带 的信号类型为非谐波,则factor1用第二公式计算得到。
    其次,编码器确定第二修正因子factor2如下,编码器先需确定 第三修正因子与第四修正因子。确定第三修正因子,由于第5个数据 帧的第17、18个子带的量化比特分配状态分别为“1”、“0”,故第 5个数据帧中的第17个子带对应的第三修正因子factor3为大于1的 数,第5个数据帧中的第18个子带对应的第三修正因子factor3为小 于1的数,其中,若子带的量化比特分配状态为“1”,则factor3用 第三公式计算得到,若子带的量化比特分配状态为“0”,则factor3 用第四公式计算得到。确定第四修正因子,由于第5个数据帧中的第 17、18个子带的信号类型分别为谐波、非谐波,故第5个数据帧中的 第17个子带对应的第四修正因子factor4为大于1的数,第5个数据 帧中的第18个子带对应的第四修正因子factor4为小于1的数,其中, 若子带的信号类型为谐波,则factor4用第一公式计算得到,若子带 的信号类型为非谐波,则factor4用第二公式计算得到。
    优选的,对第5个数据帧中的第17个子带进行修正的第二修正因 子为第6个数据帧中的第17个子带对应的第三修正因子factor3与第 5个数据帧中的第17个子带对应的第四修正因子factor4的乘积,对 第5个数据帧中的第18个子带进行修正的第二修正因子为第5个数据 帧中的第18个子带对应的第三修正因子factor3与第5个数据帧中的 第18个子带对应的第四修正因子factor4的乘积。
    最后,编码器可根据M个第一修正因子中的L个第一修正因子和L 个第二修正因子,分别对应修正第y个数据帧中的M个子带中的L个 子带的量化频域包络值,且编码器根据M个第一修正因子中剩余的M-L 个第一修正因子,分别对应修正第y个数据帧中的M个子带中剩余的 M-L个子带的量化频域包络值。本例中,M=3,L=2,故在第6个数据帧 中,编码器通过将第6个数据帧中的第17个子带对应的第一修正因子、 第5个数据帧中的第17个子带对应的第二修正因子与该第6个数据帧 中的第17个子带的量化频域包络值相乘,以得到修正后的第6个数据 帧中的第17个子带的量化频域包络值;同时,编码器通过将第6个数 据帧中的第18个子带对应的第一修正因子、第5个数据帧中的第18 个子带对应的第二修正因子与该第6个数据帧中的第18个子带的量化 频域包络值相乘,以得到修正后的第6个数据帧中的第18个子带的量 化频域包络值;同时编码器通过将第6个数据帧中的第16个子带对应 的第一修正因子与第6个数据帧中的第16个子带的量化频域包络值相 乘,以得到修正后的第6个数据帧中的第16个子带的量化频域包络值, 从而编码器修正了第6个数据帧中的第16、17、18个子带的量化频域 包络值。即,
    对于第6个数据帧中的第16子带,fenv修正后16= factor1*fenv16,其中,factor1为第6个数据帧中的第16个子带对 应的第一修正因子,fenv修正后16为修正后的第6个数据帧中的第 16个子带的量化频域包络值,fenv16为修正前的第6个数据帧中的第 16个子带的量化频域包络值。
    对于第6个数据帧中的第17个子带,
    fenv修正后17=factor1*factor2*fenv17,其中,factor2= factor3*factor4,factor1为第6个数据帧中的第17个子带对应的 第一修正因子,factor2为第5个数据帧中的第17个子带对应的第二 修正因子,factor3为第5个数据帧中的第17个子带对应的第三修正 因子,factor4为第5个数据帧中的第17个子带对应的第四修正因子, fenv修正后17为修正后的第6个数据帧中的第17个子带的量化频域 包络值,fenv17为修正前的第6个数据帧中的第17个子带的量化频域 包络值。
    同理,对于第6个数据帧中的第18个子带,
    fenv修正后18=factor1*factor2*fenv18,其中,fenv修正后 18为修正后的第6个数据帧中的第18个子带的量化频域包络值, fenv18为修正前的第6个数据帧中的第18个子带的量化频域包络值。
    (2)若选第6个数据帧中的最高频率的3个子带,第5个数据帧 中的最高频率的3个子带,即M=3,L=3,则第y个数据帧中的M个子 带为第6个数据帧中的第16、17、18个子带,第y-1个数据帧中的L 个子带为第5个数据帧中的第16、17、18个子带。第6个数据帧中的 第16、17、18个子带对应的第一修因子和第5个数据帧中的第16、17、 18个子带对应的第二修正因子的确定方法与M>L时相同,此处不再赘 述。
    由于M=L,因此,编码器可根据M个第一修正因子和L个第二修 正因子,分别对应修正第y个数据帧中的M个子带的量化频域包络值。 本例中,M=3,L=3,故在第6个数据帧中,编码器通过将第6个数据 帧中的第16个子带对应的第一修正因子、第5个数据帧中的第16个 子带对应的第二修正因子与该第6个数据帧中的第16个子带的量化频 域包络值相乘,以得到修正后的第6个数据帧中的第16个子带的量化 频域包络值;同时,编码器通过将第6个数据帧中的第17个子带对应 的第一修正因子、第5个数据帧中的第17个子带对应的第二修正因子 与该第6个数据帧中的第17个子带的量化频域包络值相乘,以得到修 正后的第6个数据帧中的第17个子带的量化频域包络值;同时,编码 器通过将第6个数据帧中的第18个子带对应的第一修正因子、第5个 数据帧中的第18个子带对应的第二修正因子与该第6个数据帧中的第 18个子带的量化频域包络值相乘,以得到修正后的第6个数据帧中的 第18个子带的量化频域包络值,从而编码器修正了第6个数据帧中的 第16、17、18个子带的量化频域包络值。即,
    对于第6个数据帧中的第16子带,
    fenv修正后16=factor1*factor2*fenv16,其中,
    factor2=factor3*factor4,factor1为第6个数据帧中的第16 个子带对应的第一修正因子,factor2为第5个数据帧中的第16个子 带对应的第二修正因子,factor3为第5个数据帧中的第16个子带对 应的第三修正因子,factor4为第5个数据帧中的第16个子带对应的 第四修正因子,fenv修正后16为修正后的第6个数据帧中的第16个 子带的量化频域包络值,fenv16为修正前的第6个数据帧中的第16个 子带的量化频域包络值。
    同理,对于第6个数据帧中的第17个子带,
    fenv修正后17=factor1*factor2*fenv17,其中,fenv修正后 17为修正后的第6个数据帧中的第17个子带的量化频域包络值, fenv17为修正前的第6个数据帧中的第17个子带的量化频域包络值。
    同理,对于第6个数据帧中的第18个子带,
    fenv修正后18=factor1*factor2*fenv18,其中,fenv修正后 18为修正后的第6个数据帧中的第18个子带的量化频域包络值, fenv18为修正前的第6个数据帧中的第18个子带的量化频域包络值。
    (3)若选第6个数据帧中的最高频率的3个子带,第5个数据帧 中的最高频率的4个子带,即M=3,L=4,则第y个数据帧中的M个子 带为第6个数据帧中的第16、17、18个子带,第y-1个数据帧中的L 个子带为第5个数据帧中的第15、16、17、18个子带。第6个数据帧 中的第16、17、18个子带分别对应的第一修因子和第5个数据帧中的 第16、17、18个子带分别对应的第二修正因子,及第5个数据帧中的 第15个子带对应的第二修正因子的确定方法与M>L时相同,此处不 再赘述。
    由于M<L,故优选的,编码器只需修正第6个数据帧中的4个子带 的量化频域包络值,即只需修正第6个数据帧中的第15、16、17、18 个子带。当M<L时,根据M个第一修正因子和L个第二修正因子中的 M个第二修正因子,分别对应修正第y个数据帧中的M个子带的量化频 域包络值,且编码器根据L个第二修正因子中剩余的L-M个第二修正 因子,分别对应修正第y个数据帧中的L个子带中剩余的L-M个子带 的量化频域包络值。本例中,M=3,L=4,故在第6个数据帧中,编码 器通过将第6个数据帧中的第16个子带对应的第一修正因子、第5个 数据帧中的第16个子带对应的第二修正因子与该第6个数据帧中的第 16个子带的量化频域包络值相乘,以得到修正后的第6个数据帧中的 第16个子带的量化频域包络值;同时,编码器通过将第6个数据帧中 的第17个子带对应的第一修正因子、第5个数据帧中的第17个子带 对应的第二修正因子与该第6个数据帧中的第17个子带的量化频域包 络值相乘,以得到修正后的第6个数据帧中的第17个子带的量化频域 包络值;同时,编码器通过将第6个数据帧中的第18个子带对应的第 一修正因子、第5个数据帧中的第18个子带对应的第二修正因子与该 第6个数据帧中的第18个子带的量化频域包络值相乘,以得到修正后 的第6个数据帧中的第18个子带的量化频域包络值;同时,编码器通 过将第5个数据帧中的第15个子带的第二修正因子与第6个数据帧中 的第15个子带的量化频域包络值相乘,以得到修正后的第6个数据帧 中的第15个子带的量化频域包络值,从而编码器修正了第6个数据帧 中的第15、16、17、18个子带的量化频域包络值,即,
    对于第6个数据帧中的第15子带,fenv修正后15= factor2*fenv15,其中,factor2=factor3*factor4,factor2为第 5个数据帧中的第15个子带对应的第二修正因子,factor3为第5个 数据帧中的第15个子带对应的第三修正因子,factor4为第5个数据 帧中的第15个子带对应的第四修正因子,fenv修正后15为修正后的 第6个数据帧中的第15个子带的量化频域包络值,fenv15为修正前的 第6个数据帧中的第15个子带的量化频域包络值。
    对于第6个数据帧中的第16个子带,
    fenv修正16=factor1*factor2*fenv16,其中,factor1为第6 个数据帧中的第16个子带对应的第一修正因子,factor2为第5个数 据帧中的第16个子带对应的第二修正因子,fenv修正后16为修正后 的第6个数据帧中的第16个子带的量化频域包络值,fenv16为修正前 的第6个数据帧中的第16个子带的量化频域包络值。
    同理,对于第6个数据帧中的第17个子带,
    fenv修正后17=factor1*factor2*fenv17,其中,fenv修正后 17为修正后的第6个数据帧中的第17个子带的量化频域包络值, fenv17为修正前的第6个数据帧中的第17个子带的量化频域包络值。
    同理,对于第6个数据帧中的第18个子带,
    fenv修正后18=factor1*factor2*fenv18,其中,fenv修正后 18为修正后的第6个数据帧中的第18个子带的量化频域包络值, fenv18为修正前的第6个数据帧中的第18个子带的量化频域包络值。
    本发明实施例提供的一种编码方法,编码器将当前数据帧的频谱 系数划分成子带后,获取各个子带的量化频域包络值,且编码器对各 个子带中的第一数量个子带的量化频域包络值进行修正,及编码器根 据第一数量个子带的修正后的该量化频域包络值,为各个子带分配量 化比特,以及编码器对各个子带中分配了量化比特的子带的频谱系数 进行量化,最后编码器将分配了量化比特的子带的量化后的频谱系数 写入码流。通过该方案,由于在对音频信号的当前数据帧的各个子带 的频谱系数进行量化比特分配之前,可根据当前数据帧的信号类型和 前一数据帧的信息,修正该各个子带的量化频域包络值,因此,根据 修正后的该各个子带的量化频域包络值和可用比特数对该各个子带的 频谱系数进行量化比特分配,能够达到对音频信号的频谱系数进行合 理的量化比特分配的目的,从而提高解码器解出的信号质量。
    实施例三
    如图4所示,本发明实施例提供一种编码装置1,该编码装置1可 以包括:
    获取单元10,用于将当前数据帧的频谱系数划分成子带后,获取 各个子带的量化频域包络值。
    修正单元11,用于对所述获取单元10获取的所述各个子带中的第 一数量个子带的量化频域包络值进行修正。
    分配单元12,用于根据所述修正单元11修正后的所述第一数量个 子带的量化频域包络值,为所述各个子带分配量化比特。
    量化单元13,用于对所述各个子带中所述分配单元12分配了量化 比特的子带的频谱系数进行量化。
    复用单元14,用于将所述量化单元13量化后的所述分配了量化比 特的子带的频谱系数写入码流。
    可选的,所述获取单元10,还用于获取所述第一数量个子带的修 正因子。
    所述修正单元11,还用于使用所述获取单元10获取的所述第一数 量个子带的修正因子对所述获取单元10获取的所述第一数量个子带的 量化频域包络值进行修正。
    可选的,如图5所示,所述编码装置还包括确定单元15。
    所述获取单元10,还用于获取所述第一数量个子带的信号类型。
    所述确定单元15,用于根据所述获取单元10获取的所述第一数量 个子带的信号类型,确定所述第一数量个子带的修正因子。
    所述确定单元15,还用于在所述获取单元10获取的所述第一数量 个子带中的第一子带的信号类型为谐波时,确定所述第一子带的修正 因子大于1,以及在所述获取单元10获取的所述第一数量个子带中的 第一子带的信号类型为非谐波时,确定所述第一子带的修正因子小于 或等于1。
    可选的,所述获取单元10,还用于在所述根据所述第一数量个子 带的信号类型,确定所述第一数量个子带的修正因子之前,获取保存 的所述当前数据帧的前一个数据帧中的第二数量个子带的参考信息, 所述第二数量小于或等于所述第一数量。
    所述确定单元15,具体用于根据所述获取单元10获取的所述第一 数量个子带的信号类型以及所述第二数量个子带的参考信息,确定所 述第一数量个子带的修正因子。
    可选的,所述确定单元15,还用于根据所述获取单元10获取的所 述第一数量个子带中的第一子带的信号类型,确定所述第一子带的第 一修正因子,及根据所述获取单元10获取的所述第二数量个子带中与 所述第一子带对应的第二子带的参考信息,确定所述第一子带的第二 修正因子,以及将所述第一修正因子和所述第二修正因子的乘积作为 所述第一子带的修正因子。
    可选的,所述获取单元10获取的所述第二子带的参考信息包括所 述第二子带的量化比特分配状态和/或所述第二子带的信号类型。其 中,当所述第二子带的参考信息包括所述第二子带的量化比特分配状 态时,所述确定单元15确定的所述第二修正因子为第三修正因子,或 者,当所述第二子带的参考信息包括所述第二子带的信号类型时,所 述第二修正因子为第四修正因子,或者,当所述第二子带的参考信息 包括所述第二子带的量化比特分配状态和所述第二子带的信号类型 时,所述第二修正因子为所述第三修正因子与所述第四修正因子的乘 积。
    可选的,所述确定单元15,还用于在所述第二子带的量化比特分 配状态表示没有频谱系数被编码时,确定所述第三修正因子小于1,或, 在所述第二子带的量化比特分配状态表示有频谱系数被编码时,确定 所述第三修正因子大于1,以及在所述获取单元10获取的所述第二子 带的信号类型为谐波时,确定所述第四修正因子大于1,或,在所述获 取单元10获取的所述第二子带的信号类型为非谐波时,确定所述第四 修正因子小于或等于1。
    可选的,所述确定单元15确定的所述第一子带的第二修正因子由 所述第二子带的频域包络值,所述第二数量个子带的频域包络均值, 所述第二数量个子带的带宽值,所述第二数量个子带的频域包络值中 的最大值及所述第二数量个子带的频域包络方差值中任意两个值的比 值确定。
    可选的,所述确定单元15确定的所述第一子带的第一修正因子由 所述第一子带的频域包络值,所述第一数量个子带的频域包络均值, 所述第一数量个子带的带宽值,所述第一数量个子带的频域包络值中 的最大值及所述第一数量个子带的频域包络方差值中任意两个值的比 值确定。
    可选的,所述获取单元10,还用于获取保存的所述当前数据帧的 前一个数据帧中的第一数量个子带的参考信息。
    所述确定单元15,还用于根据所述获取单元10获取的所述前一个 数据帧中的第一数量个子带的参考信息,确定所述当前数据帧中的第 一数量个子带的修正因子。
    可选的,所述获取单元10,还用于所述根据所述前一个数据帧中 的第一数量个子带的参考信息,确定所述当前数据帧中的第一数量个 子带的修正因子之前,获取所述当前数据帧中的所述各个子带中的第 三数量个子带的信号类型,所述第三数量小于或等于所述第一数量。
    所述确定单元15,具体用于根据所述获取单元10获取的所述前一 个数据帧中的第一数量个子带的参考信息以及所述第三数量个子带的 信号类型,确定所述当前数据帧中的第一数量个子带的修正因子。
    可选的,所述确定单元15,还用于根据所述获取单元10获取的所 述前一个数据帧中的第一数量个子带中的第二子带的参考信息,确定 所述当前数据帧中的第一数量个子带中的第一子带的第二修正因子, 及根据所述获取单元10获取的所述第一子带的信号类型,确定所述第 一子带的第一修正因子,以及将所述第一修正因子和所述第二修正因 子的乘积作为所述第一子带的修正因子。
    可选的,如图6所示,所述编码装置,还包括保存单元16。
    所述保存单元16,还用于在根据修正后的所述第一数量个子带的 量化频域包络值,为所述各个子带分配量化比特之后,保存所述第一 数量个子带的参考信息。
    本发明实施例提供的一种编码装置,该编码装置将当前数据帧的 频谱系数划分成子带后,获取各个子带的量化频域包络值,且该编码 装置对各个子带中的第一数量个子带的量化频域包络值进行修正,及 该编码装置根据第一数量个子带的修正后的该量化频域包络值,为各 个子带分配量化比特,以及该编码装置对各个子带中分配了量化比特 的子带的频谱系数进行量化,最后该编码装置将分配了量化比特的子 带的量化后的频谱系数写入码流。通过该方案,由于在对音频信号的 当前数据帧的各个子带的频谱系数进行量化比特分配之前,可根据当 前数据帧的信号类型和前一数据帧的信息,修正该各个子带的量化频 域包络值,因此,根据修正后的该各个子带的量化频域包络值和可用 比特数对该各个子带的频谱系数进行量化比特分配,能够达到对音频 信号的频谱系数进行合理的量化比特分配的目的,从而提高解码器解 出的信号质量。
    实施例四
    如图7所示,本发明实施例提供一种编码器,该编码器可以包括: 处理器20、存储器21、通信接口22和系统总线23,其中,
    处理器20、存储器21和通信接口22之间通过系统总线23连接并 完成相互间的通信。
    处理器20可能为单核或多核中央处理单元,或者为特定集成电路, 或者为被配置成实施本发明实施例的一个或多个集成电路。
    存储器21可以为高速RAM存储器,也可以为非易失性存储器 (non-volatile memory),例如至少一个磁盘存储器。
    存储器21用于存储编码器执行指令。具体的,编码器执行指令中 可以包括软件代码和软件程序。
    具体的,所述处理器20,用于将通过系统总线23从通信接口22 获取的当前数据帧的频谱系数划分成子带后,获取各个子带的量化频 域包络值,并对所述各个子带中的第一数量个子带的量化频域包络值 进行修正,及根据修正后的所述第一数量个子带的量化频域包络值, 为所述各个子带分配量化比特,以及对所述各个子带中分配了量化比 特的子带的频谱系数进行量化,最后将量化后的所述分配了量化比特 的子带的频谱系数通过系统总线23写入码流;所述存储器21可用于 存储所述当前数据帧中的第一数量个子带的信号类型的软件代码、所 述当前数据帧前一个数据帧中的第二数量个子带的参考信息的软件代 码,或所述当前数据帧中的第三数量个子带的信号类型的软件代码、 所述当前数据帧前一个数据帧中的第一数量个子带的参考信息的软件 代码、以及控制编码器完成上述过程的软件程序,从而使得所述处理 器20可通过执行上所述存储器21中存储的所述软件程序及调用相应 的软件代码,完成上述过程。
    可选的,所述处理器20,还用于获取所述第一数量个子带的修正 因子,以及使用所述第一数量个子带的修正因子对所述第一数量个子 带的量化频域包络值进行修正。
    可选的,所述处理器20,还用于通过所述系统总线23从所述通 信22获取所述第一数量个子带的信号类型,以及根据所述第一数量个 子带的信号类型,确定所述第一数量个子带的修正因子。
    可选的,所述处理器20,还用于在所述第一数量个子带中的第一 子带的信号类型为谐波时,确定所述第一子带的修正因子大于1,以及 在所述第一数量个子带中的第一子带的信号类型为非谐波时,确定所 述第一子带的修正因子小于或等于1。
    可选的,所述处理器20,还用于在所述根据所述第一数量个子带 的信号类型,确定所述第一数量个子带的修正因子之前,获取保存的 所述当前数据帧的前一个数据帧中的第二数量个子带的参考信息,所 述第二数量小于或等于所述第一数量。
    可选的,所述处理器20,具体用于根据所述第一数量个子带的信 号类型以及所述第二数量个子带的参考信息,确定所述第一数量个子 带的修正因子。
    可选的,所述处理器20,还用于根据所述第一数量个子带中的第 一子带的信号类型,确定所述第一子带的第一修正因子,及根据所述 第二数量个子带中与所述第一子带对应的第二子带的参考信息,确定 所述第一子带的第二修正因子,以及将所述第一修正因子和所述第二 修正因子的乘积作为所述第一子带的修正因子。
    可选的,所述处理器20,所述第二子带的参考信息包括所述第二 子带的量化比特分配状态和/或所述第二子带的信号类型。其中,当所 述第二子带的参考信息包括所述第二子带的量化比特分配状态时,所 述第二修正因子为第三修正因子,或者,当所述第二子带的参考信息 包括所述第二子带的信号类型时,所述第二修正因子为第四修正因子, 或者,当所述第二子带的参考信息包括所述第二子带的量化比特分配 状态和所述第二子带的信号类型时,所述第二修正因子为所述第三修 正因子与所述第四修正因子的乘积。
    可选的,所述处理器20,还用于在所述第二子带的量化比特分配 状态表示没有频谱系数被编码时,确定所述第三修正因子小于1,或, 在所述第二子带的量化比特分配状态表示有频谱系数被编码时,确定 所述第三修正因子大于1,以及在所述第二子带的信号类型为谐波时, 确定所述第四修正因子大于1,或,在所述第二子带的信号类型为非谐 波时,确定所述第四修正因子小于或等于1。
    可选的,所述第一子带的第一修正因子由所述第一子带的频域包 络值,所述第一数量个子带的频域包络均值,所述第一数量个子带的 带宽值,所述第一数量个子带的频域包络值中的最大值及所述第一数 量个子带的频域包络方差值中任意两个值的比值确定,以及所述第一 子带的第二修正因子由所述第二子带的频域包络值,所述第二数量个 子带的频域包络均值,所述第二数量个子带的带宽值,所述第二数量 个子带的频域包络值中的最大值及所述第二数量个子带的频域包络方 差值中任意两个值的比值确定。
    可选的,所述处理单元20,还用于获取所述当前数据帧的前一个 数据帧中的第一数量个子带的参考信息。
    可选的,所述处理器20,还用于根据所述前一个数据帧中的第一 数量个子带的参考信息,确定所述当前数据帧中的第一数量个子带的 修正因子。
    可选的,所述处理器20,还用于所述根据所述前一个数据帧中的 第一数量个子带的参考信息,确定所述当前数据帧中的第一数量个子 带的修正因子之前,获取所述当前数据帧中的各个子带中的第三数量 个子带的信号类型,所述第三数量小于或等于所述第一数量。
    可选的,所述处理器20,具体用于根据所述前一个数据帧中的第 一数量个子带的参考信息以及所述第三数量个子带的信号类型,确定 所述当前数据帧中的第一数量个子带的修正因子。
    可选的,所述处理器20,还用于根据所述前一个数据帧中的第一 数量个子带中的第二子带的参考信息,确定所述当前数据帧中的第一 数量个子带中的第一子带的第二修正因子,及根据所述第一子带的信 号类型,确定所述第一子带的第一修正因子,以及将所述第一修正因 子和所述第二修正因子的乘积作为所述第一子带的修正因子。
    可选的,所述处理器20,还用于在根据修正后的所述第一数量个 子带的量化频域包络值,为所述各个子带分配量化比特之后,保存所 述第一数量个子带的参考信息。
    本发明实施例提供的一种编码器,该编码器将当前数据帧的频谱 系数划分成子带后,获取各个子带的量化频域包络值,且该编码器对 各个子带中的第一数量个子带的量化频域包络值进行修正,及该编码 器根据第一数量个子带的修正后的该量化频域包络值,为各个子带分 配量化比特,以及该编码器对各个子带中分配了量化比特的子带的频 谱系数进行量化,最后该编码器将分配了量化比特的子带的量化后的 频谱系数写入码流。通过该方案,由于在对音频信号的当前数据帧的 各个子带的频谱系数进行量化比特分配之前,可根据当前数据帧的信 号类型和前一数据帧的信息,修正该各个子带的量化频域包络值,因 此,根据修正后的该各个子带的量化频域包络值和可用比特数对该各 个子带的频谱系数进行量化比特分配,能够达到对音频信号的频谱系 数进行合理的量化比特分配的目的,从而提高解码器解出的信号质量。
    所属领域的技术人员可以清楚地了解到,为描述的方便和简洁, 仅以上述各功能??榈幕纸芯倮得?,实际应用中,可以根据需 要而将上述功能分配由不同的功能??橥瓿?,即将装置的内部结构划 分成不同的功能???,以完成以上描述的全部或者部分功能。上述描 述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中 的对应过程,在此不再赘述。
    在本申请所提供的几个实施例中,应该理解到,所揭露的系统, 装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实 施例仅仅是示意性的,例如,所述??榛虻ピ幕?,仅仅为一种逻 辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组 件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不 执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连 接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是 电性,机械或其它的形式。
    所述作为分离部件说明的单元可以是或者也可以不是物理上分开 的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位 于一个地方,或者也可以分布到多个网络单元上??梢愿菔导实男?要选择其中的部分或者全部单元来实现本实施例方案的目的。
    另外,在本发明各个实施例中的各功能单元可以集成在一个处理 单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单 元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现, 也可以采用软件功能单元的形式实现。
    所述集成的单元如果以软件功能单元的形式实现并作为独立的产 品销售或使用时,可以存储在一个计算机可读取存储介质中?;谡?样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部 分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该 计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台 计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理 器(processor)执行本发明各个实施例所述方法的全部或部分步骤。 而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only  Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或 者光盘等各种可以存储程序代码的介质。
    以上所述,仅为本发明的具体实施方式,但本发明的?;し段Р?不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范 围内,可轻易想到变化或替换,都应涵盖在本发明的?;し段е?。 因此,本发明的?;し段вλ鲆匀ɡ蟮谋;し段?。

    关于本文
    本文标题:一种编码方法及装置.pdf
    链接地址://www.4mum.com.cn/p-5886857.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    [email protected] 2017-2018 www.4mum.com.cn网站版权所有
    经营许可证编号:粤ICP备17046363号-1 
     


    收起
    展开
  • 四川郎酒股份有限公司获第十二届人民企业社会责任奖年度环保奖 2019-05-13
  • 银保监会新规剑指大企业多头融资和过度融资 2019-05-12
  • 韩国再提4国联合申办世界杯 中国网友无视:我们自己来 2019-05-11
  • 中国人为什么一定要买房? 2019-05-11
  • 十九大精神进校园:风正扬帆当有为 勇做时代弄潮儿 2019-05-10
  • 粽叶飘香幸福邻里——廊坊市举办“我们的节日·端午”主题活动 2019-05-09
  • 太原设禁鸣路段 设备在测试中 2019-05-09
  • 拜耳医药保健有限公司获第十二届人民企业社会责任奖年度企业奖 2019-05-08
  • “港独”没出路!“梁天琦们”该醒醒了 2019-05-07
  • 陈卫平:中国文化内涵包含三方面 文化复兴表现在其中 2019-05-06
  • 人民日报客户端辟谣:“合成军装照”产品请放心使用 2019-05-05
  • 【十九大·理论新视野】为什么要“建设现代化经济体系”?   2019-05-04
  • 聚焦2017年乌鲁木齐市老城区改造提升工程 2019-05-04
  • 【专家谈】上合组织——构建区域命运共同体的有力实践者 2019-05-03
  • 【华商侃车NO.192】 亲!楼市火爆,别忘了买车位啊! 2019-05-03
  • 7m篮球比分直播网 北京快乐8下载安装 浙江11选5走势图任选基本走势图 怎么查询中国福利彩票开奖信息 省级福彩中心 免费六肖中特王 投注站足球 2012年香港赛马会96期 顶级信誉棋牌游戏下载 腾讯欢乐升级规则 宝石娱乐棋牌 六肖中特期期准+王中王743 数三极坐标 22选5开奖结果 快速时时彩能玩吗 北京幸运赛车开奖结果