首页 > 乐器声学 专利正文
一种音频编码方法和音频编码装置与流程

时间:2022-02-17 阅读: 作者:专利查询

一种音频编码方法和音频编码装置与流程

1.本技术涉及音频信号编码技术领域,尤其涉及一种音频编码方法和音频编码装置。


背景技术:

2.随着生活质量的提高,人们对高质量音频的需求不断增大。为了利用有限的带宽更好地传输音频信号,需要先对音频信号进行编码,然后将编码处理后的码流传输到解码端。解码端对接收到的码流进行解码处理,获得解码后的音频信号,解码后的音频信号用于回放。
3.其中,如何提高音频信号的编码效率,成为一个亟需解决的技术问题。


技术实现要素:

4.本技术实施例提供了一种音频编码方法和音频编码装置,用于提高音频信号的编码效率。
5.为解决上述技术问题,本技术实施例提供以下技术方案:
6.第一方面,本技术实施例提供一种音频编码方法,包括:获取音频信号的当前帧,所述当前帧包括高频带信号和低频带信号;对所述高频带信号和所述低频带信号进行第一编码,以获得所述当前帧的第一编码参数,所述第一编码包括频带扩展编码;确定所述高频带信号的每个频点的频谱保留标志,所述频谱保留标志用于指示所述频点对应的第一频谱在所述频点对应的第二频谱中是否被保留,其中,所述第一频谱包括所述频点对应的频带扩展编码前的频谱,所述第二频谱包括所述频点对应的频带扩展编码后的频谱;根据所述高频带信号的每个频点的频谱保留标志对所述高频带信号进行第二编码,以获得所述当前帧的第二编码参数,所述第二编码参数用于表示所述高频带信号的目标音调成分的信息,所述音调成分的信息包括所述音调成分的位置信息、数量信息、以及幅度信息或能量信息;对所述第一编码参数和所述第二编码参数进行码流复用,以获得编码码流。在本技术实施例中,第一编码过程中包括频带扩展编码,可以根据频带扩展编码前后的高频带信号的频谱,确定高频带信号的每个频点的频谱保留标志,通过该频谱保留标志指示从频带扩展编码之前到频带扩展编码之后高频带信号中的频点的频谱是否被保留,根据高频带信号的每个频点的频谱保留标志对高频带信号进行第二编码,高频带信号的每个频点的频谱保留标志可以用于避免对频带扩展编码中已经保留的音调成分进行重复编码,从而可提升音调成分的编码效率。
7.在一种可能的实现方式中,所述确定所述高频带信号的每个频点的频谱保留标志,包括:根据所述第一频谱、所述第二频谱、以及所述频带扩展编码的频率范围,确定所述高频带信号的每个频点的频谱保留标志。在上述方案中,在频带扩展编码的过程中,可以获得频带扩展编码前的信号频谱(即第一频谱)、频带扩展编码后的信号频谱(即第二频谱),以及频带扩展编码的频率范围。频带扩展编码的频率范围可以是频带扩展编码的频点范
围,例如频带扩展编码的频率范围包括:智能间隙填充处理的起始频点和截止频点。也可以用其他方式表征频带扩展编码的频率范围,例如根据频带扩展编码的起始频率值和截止频率值来表征频带扩展编码的频率范围。
8.在一种可能的实现方式中,所述高频带信号对应的高频带包括至少一个频率区域,所述至少一个频率区域包括当前频率区域;所述根据所述高频带信号的每个频点的频谱保留标志对所述高频带信号进行第二编码,以获得所述当前帧的第二编码参数,包括:根据所述当前频率区域的高频带信号进行峰值搜索,以获得所述当前频率区域的峰值信息,所述当前频率区域的峰值信息包括:所述当前频率区域的峰值数量信息、峰值位置信息、以及峰值幅度信息或峰值能量信息;根据所述当前频率区域的每个频点的频谱保留标志,对所述当前频率区域的峰值信息进行峰值筛选,以获得所述当前频率区域的候选音调成分的信息;根据所述当前频率区域的候选音调成分的信息,获得所述当前频率区域的目标音调成分的信息;根据所述当前频率区域的目标音调成分的信息,获得所述当前频率区域的第二编码参数。在上述方案中,根据当前频率区域的每个频点的频谱保留标志,对当前频率区域的峰值信息进行峰值筛选,以获得当前频率区域的候选音调成分的信息,高频带信号的每个频点的频谱保留标志可以用于避免对频带扩展编码中已经保留的音调成分进行重复编码,从而可提升音调成分的编码效率。
9.在一种可能的实现方式中,所述高频带信号对应的高频带包括至少一个频率区域,所述至少一个频率区域包括当前频率区域;当所述当前频率区域中的第一频点不属于所述频带扩展编码的频率范围时,所述第一频点的频谱保留标志的值为第一预设值;或者,当所述当前频率区域中的第二频点属于所述频带扩展编码的频率范围时,如果所述第二频点对应的频带扩展编码前的频谱值与频带扩展编码后的频谱值满足预设条件,所述第二频点的频谱保留标志的值为第二预设值;或者,如果所述第二频点对应的频带扩展编码前的频谱值与频带扩展编码后的频谱值不满足所述预设条件,所述第二频点的频谱保留标志的值为第三预设值。具体的,音频编码装置首先确定当前频率区域中的一个或多个频点是否属于频带扩展编码的频率范围内,例如定义第一频点为当前频率区域中不属于频带扩展编码的频率范围内的频点,定义第二频点为当前频率区域中属于频带扩展编码的频率范围内的频点。则第一频点的频谱保留标志的值为第一预设值,第二频点的频谱保留标志的值具有两种,例如分别为第二预设值和第三预设值,具体的,第二频点对应的频带扩展编码前的频谱值与频带扩展编码后的频谱值满足预设条件时,第二频点的频谱保留标志的值为第二预设值,第二频点对应的频带扩展编码前的频谱值与频带扩展编码后的频谱值不满足预设条件时,第二频点的频谱保留标志的值为第三预设值。对于预设条件的实现方式有多种,此处不做限定,例如预设条件是针对频带扩展编码前的频谱值与频带扩展编码后的频谱值设置的条件,具体可以结合应用场景确定。
10.在一种可能的实现方式中,所述当前频率区域包括至少一个子带,所述根据所述当前频率区域的每个频点的频谱保留标志,对所述当前频率区域的峰值信息进行峰值筛选,以获得所述当前频率区域的候选音调成分的信息,包括:根据所述当前频率区域的每个频点的频谱保留标志,获得所述当前频率区域中的每个子带的频谱保留标志;根据所述当前频率区域中的每个子带的频谱保留标志,对所述当前频率区域的峰值信息进行峰值筛选,以获得所述当前频率区域的候选音调成分的信息。本技术实施例中,当前频率区域中的
每个子带的频谱保留标志可以用于避免对频带扩展编码中已经保留的音调成分进行重复编码,从而可提升音调成分的编码效率。
11.在一种可能的实现方式中,所述至少一个子带包括当前子带;所述根据所述当前频率区域的每个频点的频谱保留标志,获得所述当前频率区域中的每个子带的频谱保留标志,包括:若所述当前子带内的频谱保留标志的值等于第二预设值的频点的数量大于预设阈值,确定所述当前子带的频谱保留标志的值为第一标志值,其中,若一个频点对应的频带扩展编码前的频谱值与频带扩展编码后的频谱值满足预设条件时,所述一个频点的频谱保留标志的值为所述第二预设值;或者,若所述当前子带内的频谱保留标志的值等于第二预设值的频点的数量小于或等于所述预设阈值,确定所述当前子带的频谱保留标志的值为第二标志值。其中,第一标志值用于指示当前子带内的频谱保留标志的值等于第二预设值的频点的数量大于预设阈值,若一个频点对应的频带扩展编码前的频谱值与频带扩展编码后的频谱值满足预设条件时,所述一个频点的频谱保留标志的值为第二预设值,该频点是当前子带中的频点。第二标志值用于指示当前子带内的频谱保留标志的值等于第二预设值的频点的数量小于或等于预设阈值。当前子带的频谱保留标志的取值可以有多种,例如当前子带的频谱保留标志为第一标志值,或者当前子带的频谱保留标志为第二标志值,具体可以根据上述的当前子带内的频谱保留标志等于第二预设值的频点数量来确定。
12.在一种可能的实现方式中,所述根据所述当前频率区域中的每个子带的频谱保留标志,对所述当前频率区域的峰值信息进行峰值筛选,以获得所述当前频率区域的候选音调成分的信息包括:根据所述当前频率区域的峰值位置信息,获得所述当前频率区域的峰值位置对应的子带序号;根据所述当前频率区域的峰值位置对应的子带序号和所述当前频率区域中的每个子带的频谱保留标志,对所述当前频率区域的峰值信息进行峰值筛选,以获得所述当前频率区域的候选音调成分的信息。其中,根据当前频率区域的峰值位置对应的子带序号和当前频率区域中的每个子带的频谱保留标志,对当前频率区域的峰值信息进行峰值筛选,获得当前频率区域筛选后的峰值数量信息、峰值位置信息以及峰值幅度信息或能量信息,作为当前频率区域的候选音调成分的信息。本技术实施例中,当前频率区域中的每个子带的频谱保留标志可以用于避免对频带扩展编码中已经保留的音调成分进行重复编码,从而可提升音调成分的编码效率。
13.在一种可能的实现方式中,若所述当前子带的频谱保留标志的值为所述第二标志值,则所述当前子带内的峰值为候选音调成分。其中,第二标志值用于指示当前子带内的频谱保留标志的值等于第二预设值的频点的数量小于或等于预设阈值,若当前子带的频谱保留标志的值为第二标志值,则说明该当前子带的频谱在频带扩展编码中未被保留,因此通过当前子带的频谱保留标志的值为第二标志值,可以确定出候选音调成分。
14.在一种可能的实现方式中,所述预设条件包括:频点对应的频带扩展编码前的频谱值与频带扩展编码后的频谱值相等。具体的,预设条件可以是频点对应的频带扩展编码前的频谱值与频带扩展编码后的频谱值相等。其中,预设条件可以是频带扩展编码前后的频谱值不发生变化,即频点对应的频带扩展编码前的频谱值与频带扩展编码后的频谱值相等。又如,预设条件也可以是频点对应的频带扩展编码前的频谱值与频带扩展编码后的频谱值的差值的绝对值小于或等于预设的阈值。其中,预设条件是基于频带扩展编码前后的频谱值有可能存在一定的差异,但频谱信息已经被保留,即频点对应的频带扩展编码前的
频谱值与频带扩展编码后的频谱值之间的差异小于预设的阈值。本技术实施例中通过预设条件的判断,确定出高频带信号的每个频点的频谱保留标志,根据该高频带信号的每个频点的频谱保留标志,可以避免对频带扩展编码中已经保留的音调成分进行重复编码,从而可提升音调成分的编码效率。
15.第二方面,本技术实施例还提供一种音频编码装置,包括:获取模块,用于获取音频信号的当前帧,所述当前帧包括高频带信号和低频带信号;第一编码模块,用于对所述高频带信号和所述低频带信号进行第一编码,以获得所述当前帧的第一编码参数,所述第一编码包括频带扩展编码;标志确定模块,用于确定所述高频带信号的每个频点的频谱保留标志,所述频谱保留标志用于指示所述频点对应的第一频谱在所述频点对应的第二频谱中是否被保留,其中,所述第一频谱包括所述频点对应的所述频带扩展编码前的频谱,所述第二频谱包括所述频点对应的所述频带扩展编码后的频谱;第二编码模块,用于根据所述高频带信号的每个频点的频谱保留标志对所述高频带信号进行第二编码,以获得所述当前帧的第二编码参数,所述第二编码参数用于表示所述高频带信号的目标音调成分的信息,所述音调成分的信息包括所述音调成分的位置信息、数量信息、以及幅度信息或能量信息;码流复用模块,用于对所述第一编码参数和所述第二编码参数进行码流复用,以获得编码码流。在本技术实施例中,第一编码过程中包括频带扩展编码,可以根据频带扩展编码前后的高频带信号的频谱,确定高频带信号的每个频点的频谱保留标志,通过该频谱保留标志指示从频带扩展编码之前到频带扩展编码之后高频带信号中的频点的频谱是否被保留,根据高频带信号的每个频点的频谱保留标志对高频带信号进行第二编码,高频带信号的每个频点的频谱保留标志可以用于避免对频带扩展编码中已经保留的音调成分进行重复编码,从而可提升音调成分的编码效率。
16.在一种可能的实现方式中,所述标志确定模块,具体用于:根据所述第一频谱、所述第二频谱、以及所述频带扩展编码的频率范围,确定所述高频带信号的每个频点的频谱保留标志。
17.在一种可能的实现方式中,所述高频带信号对应的高频带包括至少一个频率区域,所述至少一个频率区域包括当前频率区域;所述第二编码模块,具体用于:根据所述当前频率区域的高频带信号进行峰值搜索,以获得所述当前频率区域的峰值信息,所述当前频率区域的峰值信息包括:所述当前频率区域的峰值数量信息、峰值位置信息、以及峰值幅度信息或峰值能量信息;根据所述当前频率区域的每个频点的频谱保留标志,对所述当前频率区域的峰值信息进行峰值筛选,以获得所述当前频率区域的候选音调成分的信息;根据所述当前频率区域的候选音调成分的信息,获得所述当前频率区域的目标音调成分的信息;根据所述当前频率区域的目标音调成分的信息,获得所述当前频率区域的第二编码参数。
18.在一种可能的实现方式中,所述高频带信号对应的高频带包括至少一个频率区域,所述至少一个频率区域包括当前频率区域;当所述当前频率区域中的第一频点不属于所述频带扩展编码的频率范围时,所述第一频点的频谱保留标志的值为第一预设值;或者,当所述当前频率区域中的第二频点属于所述频带扩展编码的频率范围时,如果所述第二频点对应的频带扩展编码前的频谱值与频带扩展编码后的频谱值满足预设条件,所述第二频点的频谱保留标志的值为第二预设值;或者,如果所述第二频点对应的频带扩展编码前的
频谱值与频带扩展编码后的频谱值不满足所述预设条件,所述第二频点的频谱保留标志的值为第三预设值。
19.在一种可能的实现方式中,所述当前频率区域包括至少一个子带,所述第二编码模块,具体用于:根据所述当前频率区域的每个频点的频谱保留标志,获得所述当前频率区域中的每个子带的频谱保留标志;根据所述当前频率区域中的每个子带的频谱保留标志,对所述当前频率区域的峰值信息进行峰值筛选,以获得所述当前频率区域的候选音调成分的信息。
20.在一种可能的实现方式中,所述至少一个子带包括当前子带;所述第二编码模块,具体用于:若所述当前子带内的频谱保留标志的值等于第二预设值的频点的数量大于预设阈值,确定所述当前子带的频谱保留标志的值为第一标志值,其中,若一个频点对应的频带扩展编码前的频谱值与频带扩展编码后的频谱值满足预设条件时,确定所述一个频点的频谱保留标志的值为所述第二预设值;或者,若所述当前子带内的频谱保留标志的值等于第二预设值的频点的数量小于或等于所述预设阈值,所述当前子带的频谱保留标志的值为第二标志值。
21.在一种可能的实现方式中,所述第二编码模块,具体用于:根据所述当前频率区域的峰值位置信息,获得所述当前频率区域的峰值位置对应的子带序号;根据所述当前频率区域的峰值位置对应的子带序号和所述当前频率区域中的每个子带的频谱保留标志,对所述当前频率区域的峰值信息进行峰值筛选,以获得所述当前频率区域的候选音调成分的信息。
22.在一种可能的实现方式中,若所述当前子带的频谱保留标志的值为所述第二标志值,则所述当前子带内的峰值为候选音调成分。
23.在一种可能的实现方式中,所述预设条件包括:频点对应的频带扩展编码前的频谱值与频带扩展编码后的频谱值相等。
24.在本技术的第二方面中,音频编码装置的组成模块还可以执行前述第一方面以及各种可能的实现方式中所描述的步骤,详见前述对第一方面以及各种可能的实现方式中的说明。
25.第三方面,本技术实施例提供一种音频编码装置,包括:相互耦合的非易失性存储器和处理器,所述处理器调用存储在所述存储器中的程序代码以如上述第一方面中任一项所述的方法。
26.第四方面,本技术实施例提供一种音频编码装置,包括:编码器,所述编码器用于执行如如上述第一方面中任一项所述的方法。
27.第五方面,本技术实施例提供一种计算机可读存储介质,包括计算机程序,所述计算机程序在计算机上被执行时,使得所述计算机执行上述第一方面中任一项所述的方法。
28.第六方面,本技术实施例提供一种计算机可读存储介质,包括根据上述第一方面中任一项所述的方法获得的编码码流。
29.第七方面,本技术提供一种计算机程序产品,该计算机程序产品包括计算机程序,当所述计算机程序被计算机执行时,用于执行上述第一方面中任一项所述的方法。
30.第八方面,本技术提供一种芯片,包括处理器和存储器,所述存储器用于存储计算机程序,所述处理器用于调用并运行所述存储器中存储的计算机程序,以执行如上述第一
方面中任一项所述的方法。
附图说明
31.图1为本技术实施例中的音频编码及解码系统实例的示意图;
32.图2为本技术实施例中的音频编码应用的示意图;
33.图3为本技术实施例中的音频编码应用的示意图;
34.图4为本技术实施例的一种音频编码方法的流程图;
35.图5为本技术实施例的另一种音频编码方法的流程图;
36.图6为本技术实施例的另一种音频编码方法的流程图;
37.图7为本技术实施例的一种音频解码方法的流程图;
38.图8为本技术实施例的一种音频编码装置的示意图;
39.图9为本技术实施例的一种音频编码装置的示意图。
具体实施方式
40.本技术实施例提供了一种音频编码方法和音频编码装置,用于提高音频信号的编码效率。
41.下面结合附图,对本技术的实施例进行描述。
42.本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,这仅仅是描述本技术的实施例中对相同属性的对象在描述时所采用的区分方式。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,以便包含一系列单元的过程、方法、系统、产品或设备不必限于那些单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它单元。
43.应当理解,在本技术中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“a和/或b”可以表示:只存在a,只存在b以及同时存在a和b三种情况,其中a,b可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c分别可以是单个,也可以分别是多个,也可以是部分是单个,部分是多个。
44.下面描述本技术实施例所应用的系统架构。参见图1,图1示例性地给出了本技术实施例所应用的音频编码及解码系统10的示意性框图。如图1所示,音频编码及解码系统10可包括源设备12和目的地设备14,源设备12产生经编码的音频数据,因此,源设备12可被称为音频编码装置。目的地设备14可对由源设备12所产生的经编码的音频数据进行解码,因此,目的地设备14可被称为音频解码装置。源设备12、目的地设备14或两个的各种实施方案可包含一或多个处理器以及耦合到所述一或多个处理器的存储器。所述存储器可包含但不限于随机存取存储器(random access memory,ram)、只读存储器(read only memory,rom)、带电可擦可编程只读存储器(electrically erasable programmable read only memory,eeprom)、快闪存储器或可用于以可由计算机存取的指令或数据结构的形式存储所
要的程序代码的任何其它媒体,如本文所描述。源设备12和目的地设备14可以包括各种装置,包含桌上型计算机、移动计算装置、笔记型(例如,膝上型)计算机、平板计算机、机顶盒、所谓的“智能”电话等电话手持机、电视机、音箱、数字媒体播放器、视频游戏控制台、车载计算机、无线通信设备或其类似者。
45.虽然图1将源设备12和目的地设备14绘示为单独的设备,但设备实施例也可以同时包括源设备12和目的地设备14或同时包括两者的功能性,即源设备12或对应的功能性以及目的地设备14或对应的功能性。在此类实施例中,可以使用相同硬件和/或软件,或使用单独的硬件和/或软件,或其任何组合来实施源设备12或对应的功能性以及目的地设备14或对应的功能性。
46.源设备12和目的地设备14之间可通过链路13进行通信连接,目的地设备14可经由链路13从源设备12接收经编码的音频数据。链路13可包括能够将经编码的音频数据从源设备12移动到目的地设备14的一或多个媒体或装置。在一个实例中,链路13可包括使得源设备12能够实时将经编码的音频数据直接发射到目的地设备14的一或多个通信媒体。在此实例中,源设备12可根据通信标准(例如无线通信协议)来调制经编码的音频数据,且可将经调制的音频数据发射到目的地设备14。所述一或多个通信媒体可包含无线和/或有线通信媒体,例如射频(rf)频谱或一或多个物理传输线。所述一或多个通信媒体可形成基于分组的网络的一部分,基于分组的网络例如为局域网、广域网或全球网络(例如,因特网)。所述一或多个通信媒体可包含路由器、交换器、基站或促进从源设备12到目的地设备14的通信的其它设备。
47.源设备12包括编码器20,另外可选地,源设备12还可以包括音频源16、预处理器18、以及通信接口22。具体实现形态中,所述编码器20、音频源16、预处理器18、以及通信接口22可能是源设备12中的硬件部件,也可能是源设备12中的软件程序。分别描述如下:
48.音频源16,可以包括或可以为任何类别的声音捕获设备,用于例如捕获现实世界的声音,和/或任何类别的音频生成设备。音频源16可以为用于捕获声音的麦克风或者用于存储音频数据的存储器,音频源16还可以包括存储先前捕获或产生的音频数据和/或获取或接收音频数据的任何类别的(内部或外部)接口。当音频源16为麦克风时,音频源16可例如为本地的或集成在源设备中的集成麦克风;当音频源16为存储器时,音频源16可为本地的或例如集成在源设备中的集成存储器。当所述音频源16包括接口时,接口可例如为从外部音频源接收音频数据的外部接口,外部音频源例如为外部声音捕获设备,比如麦克风、外部存储器或外部音频生成设备。接口可以为根据任何专有或标准化接口协议的任何类别的接口,例如有线或无线接口、光接口。
49.本技术实施例中,由音频源16传输至预处理器18的音频数据也可称为原始音频数据17。
50.预处理器18,用于接收原始音频数据17并对原始音频数据17执行预处理,以获取经预处理的音频19或经预处理的音频数据19。例如,预处理器18执行的预处理可以包括滤波、或去噪等。
51.编码器20(或称音频编码器20),用于接收经预处理的音频数据19,并用于执行后文所描述的各个实施例,以实现本技术所描述的音频编码方法在编码侧的应用。
52.通信接口22,可用于接收经编码的音频数据21,并可通过链路13将经编码的音频
数据21传输至目的地设备14或任何其它设备(如存储器),以用于存储或直接重构,所述其它设备可为任何用于解码或存储的设备。通信接口22可例如用于将经编码的音频数据21封装成合适的格式,例如数据包,以在链路13上传输。
53.目的地设备14包括解码器30,另外可选地,目的地设备14还可以包括通信接口28、音频后处理器32和扬声设备34。分别描述如下:
54.通信接口28,可用于从源设备12或任何其它源接收经编码的音频数据21,所述任何其它源例如为存储设备,存储设备例如为经编码的音频数据存储设备。通信接口28可以用于藉由源设备12和目的地设备14之间的链路13或藉由任何类别的网络传输或接收经编码音频数据21,链路13例如为直接有线或无线连接,任何类别的网络例如为有线或无线网络或其任何组合,或任何类别的私网和公网,或其任何组合。通信接口28可以例如用于解封装通信接口22所传输的数据包以获取经编码的音频数据21。
55.通信接口28和通信接口22都可以配置为单向通信接口或者双向通信接口,以及可以用于例如发送和接收消息来建立连接、确认和交换任何其它与通信链路和/或例如经编码的音频数据传输的数据传输有关的信息。
56.解码器30(或称为音频解码器30),用于接收经编码的音频数据21并提供经解码的音频数据31或经解码的音频31。在一些实施例中,解码器30可以用于执行后文所描述的各个实施例,以实现本技术所描述的音频编码方法在解码侧的应用。
57.音频后处理器32,用于对经解码的音频数据31(也称为经重构的音频数据)执行后处理,以获得经后处理的音频数据33。音频后处理器32执行的后处理可以包括:例如渲染,或任何其它处理,还可用于将将经后处理的音频数据33传输至扬声设备34。
58.扬声设备34,用于接收经后处理的音频数据33以向例如用户或观看者播放音频。扬声设备34可以为或可以包括任何类别的用于呈现经重构的声音的扬声器。
59.虽然,图1将源设备12和目的地设备14绘示为单独的设备,但设备实施例也可以同时包括源设备12和目的地设备14或同时包括两者的功能性,即源设备12或对应的功能性以及目的地设备14或对应的功能性。在此类实施例中,可以使用相同硬件和/或软件,或使用单独的硬件和/或软件,或其任何组合来实施源设备12或对应的功能性以及目的地设备14或对应的功能性。
60.本领域技术人员基于描述明显可知,不同单元的功能性或图1所示的源设备12和/或目的地设备14的功能性的存在和(准确)划分可能根据实际设备和应用有所不同。源设备12和目的地设备14可以包括各种设备中的任一个,包含任何类别的手持或静止设备,例如,笔记本或膝上型计算机、移动电话、智能手机、平板或平板计算机、摄像机、台式计算机、机顶盒、电视机、相机、车载设备、音响、数字媒体播放器、音频游戏控制台、音频流式传输设备(例如内容服务服务器或内容分发服务器)、广播接收器设备、广播发射器设备、智能眼镜、智能手表等,并可以不使用或使用任何类别的操作系统。
61.编码器20和解码器30都可以实施为各种合适电路中的任一个,例如,一个或多个微处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application-specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)、离散逻辑、硬件或其任何组合。如果部分地以软件实施所述技术,则设备可将软件的指令存储于合适的非暂时性计算机可读存储介质中,且可使
用一或多个处理器以硬件执行指令从而执行本公开的技术。前述内容(包含硬件、软件、硬件与软件的组合等)中的任一者可视为一或多个处理器。
62.在一些情况下,图1中所示音频编码及解码系统10仅为示例,本技术的技术可以适用于不必包含编码和解码设备之间的任何数据通信的音频编码设置(例如,音频编码或音频解码)。在其它实例中,数据可从本地存储器检索、在网络上流式传输等。音频编码设备可以对数据进行编码并且将数据存储到存储器,和/或音频解码设备可以从存储器检索数据并且对数据进行解码。在一些实例中,由并不彼此通信而是仅编码数据到存储器和/或从存储器检索数据且解码数据的设备执行编码和解码。
63.上述编码器可以是多声道编码器,例如,立体声编码器,5.1声道编码器,或7.1声道编码器等。当然可以理解的,上述编码器也可以是单声道编码器。
64.上述音频数据也可以称为音频信号,本技术实施例中的音频信号是指音频编码设备中的输入信号,该音频信号中可以包括多个帧,例如当前帧可以特指音频信号中的某一个帧,本技术实施例中以当前帧音频信号的编解码进行示例说明,音频信号中当前帧的前一帧或者后一帧都可以根据该当前帧音频信号的编解码方式进行相应的编解码,对于音频信号中当前帧的前一帧或者后一帧的编解码过程不再逐一说明。另外,本技术实施例中的音频信号可以是单声道音频信号,或者,也可以为多声道信号,例如,立体声信号。其中,立体声信号可以是原始的立体声信号,也可以是多声道信号中包括的两路信号(左声道信号和右声道信号)组成的立体声信号,还可以是由多声道信号中包含的至少三路信号产生的两路信号组成的立体声信号,本技术实施例中对此并不限定。
65.示例性的,如图2所示,本实施例以编码器20设置于移动终端230中、解码器30设置于移动终端240中,移动终端230与移动终端240是相互独立的具有音频信号处理能力的电子设备,例如可以是手机,可穿戴设备,虚拟现实(virtual reality,vr)设备,或增强现实(augmented reality,ar)设备等等,且移动终端230与移动终端240之间通过无线或有线网络连接为例进行说明。
66.可选地,移动终端230可以包音频源16、预处理器18、编码器20和信道编码器232,其中,音频源16、预处理器18、编码器20和信道编码器232连接。
67.可选地,移动终端240可以包括信道解码器242、解码器30、音频后处理器32和扬声设备34,其中,信道解码器242、解码器30、音频后处理器32和扬声设备34连接。
68.移动终端230通过音频源16获取到音频信号后,通过预处理器18对该音频进行预处理,之后通过编码器20对该音频信号进行编码,得到编码码流;然后,通过信道编码器232对编码码流进行编码,得到传输信号。
69.移动终端230通过无线或有线网络将该传输信号发送至移动终端240。
70.移动终端240接收到该传输信号后,通过信道解码器242对传输信号进行解码得到编码码流;通过解码器30对编码码流进行解码得到音频信号;通过音频后处理器32对该音频信号进行处理,之后通过扬声设备34播放该音频信号。可以理解的是,移动终端230也可以包括移动终端240所包括的各个功能模块,移动终端240也可以包括移动终端230所包括的功能模块。
71.示例性地,如图3所示,以编码器20和解码器30设置于同一核心网或无线网中具有音频信号处理能力的网元350中为例进行说明。该网元350可以实现转码,例如,将其他音频
编码器(非多声道编码器)的编码码流转换为多声道编码器的编码码流。该网元350可以是无线接入网或核心网的媒体网关、转码设备、或媒体资源服务器等。
72.可选地,网元350包括信道解码器351、其他音频解码器352、编码器20和信道编码器353。其中,道解码器351、其他音频解码器352、编码器20和信道编码器353连接。
73.信道解码器351接收到其它设备发送的传输信号后,对该传输信号进行解码得到第一编码码流;通过其他音频解码器352对第一编码码流进行解码得到音频信号;通过编码器20对该音频信号进行编码,得到第二编码码流;通过信道编码器353对该第二编码码流进行编码得到传输信号。即实现将第一编码码流转码为第二编码码流。
74.其中,其它设备可以是具有音频信号处理能力的移动终端;或者,也可以是具有音频信号处理能力的其它网元,本实施例对此不作限定。
75.可选地,本技术实施例中可以将安装有编码器20的设备称为音频编码设备,在实际实现时,该音频编码设备也可以具有音频解码功能,本技术实施对此不作限定。
76.可选地,本技术实施例中可以将安装有解码器30的设备称为音频解码设备,在实际实现时,该音频解码设备也可以具有音频编码功能,本技术实施对此不作限定。
77.上述编码器可以执行本技术实施例的音频编码方法,其中,第一编码过程中包括频带扩展编码,可以根据频带扩展编码前后的高频带信号的频谱以及频带扩展编码的频率范围,确定高频带信号的每个频点的频谱保留标志,通过该频谱保留标志指示从频带扩展编码之前到频带扩展编码之后高频带信号中的某个频点的频谱值是否被保留,根据高频带信号的每个频点的频谱保留标志对高频带信号进行第二编码,高频带信号的每个频点的频谱保留标志可以用于避免对频带扩展编码中已经保留的音调成分进行重复编码,从而可提升音调成分的编码效率。
78.例如,上述编码器或编码器内部的核心编码器在对高频带信号和低频带信号进行第一编码时包括频带扩展编码,从而可以记录高频带信号的每个频点的频谱保留标志,即通过高频带信号的每个频点的频谱保留标志确定每个频点在频带扩展前后的频谱是否发生变化,高频带信号的每个频点的频谱保留标志可以用于避免对频带扩展编码中已经保留的音调成分进行重复编码,从而可提升音调成分的编码效率。其具体实施方式可以参见下述图4所示实施例的具体解释说明。
79.图4为本技术实施例的一种音频编码方法的流程图,本技术实施例的执行主体可以是上述编码器或编码器内部的核心编码器,如图4所示,本实施例的方法可以包括:
80.401、获取音频信号的当前帧,当前帧包括高频带信号和低频带信号。
81.其中,当前帧可以是音频信号中的任意一个帧,当前帧中可以包括高频带信号和低频带信号,高频带信号和低频带信号的划分可以通过频带阈值确定,例如高于该频带阈值的信号为高频带信号,低于该频带阈值的信号为低频带信号,对于频带阈值的确定可以根据传输带宽、音频编码装置和音频解码装置的数据处理能力来确定,此处不做限定。
82.其中,高频带信号和低频带信号是相对的,例如低于某个频率阈值的信号为低频带信号,高于该频率阈值的信号为高频带信号(该频率阈值对应的信号既可以划到低频带信号,也可以划到高频带信号)。该频率阈值根据当前帧的带宽不同会有不同。例如,在当前帧为信号带宽为0-8千赫兹(khz)的宽带信号时,该频率阈值可以为4khz;在当前帧为信号带宽为0-16khz的超宽带信号时,该频率阈值可以为8khz。
83.需要说明的是,本发明实施例中,所述高频带信号可以是高频区域中的部分或全部信号,具体地,高频区域根据当前帧的信号带宽的不同会有不同,也会根据频率阈值的不同会有不同。例如,在当前帧的信号带宽为0-8khz,频率阈值为4khz时,所述高频区域为4-8khz,则所述高频带信号可以是覆盖整个高频区域的4-8khz的信号,也可以是仅覆盖部分高频区域的信号,例如高频带信号可以是4-7khz,5-8khz,5-7khz,或4-6khz以及7-8khz(即所述高频带信号在频域上可以是不连续的)等等;在当前帧的信号带宽为0-16khz,频率阈值为8khz时,高频区域为8-16khz,则所述高频带信号可以是覆盖整个高频区域的8-16khz的信号,也可以是仅覆盖部分高频区域的信号,例如高频带信号可以是8-15khz,9-16khz,9-15khz,或8-10khz以及11-16khz(即所述高频带信号在频域上可以是不连续的)等等。可以理解的是,所述高频带信号覆盖的频率范围可以根据需要进行设置,或者根据需要进行后续的第二编码的频率范围自适应地确定,例如,可以根据需要进行音调成分检测的频率范围自适应地确定。
84.402、对高频带信号和低频带信号进行第一编码,以获得当前帧的第一编码参数,第一编码包括频带扩展编码。
85.在获取到高频带信号和低频带信号之后,音频编码装置可以对高频带信号和低频带信号进行第一编码,其中,第一编码可以包括频带扩展编码,频带扩展编码也可以简称为“频带扩展”,在第一编码过程中引入频带扩展编码(即音频频带扩展编码,后续简称为频带扩展),通过频带扩展编码可以获得频带扩展编码参数(简称为频带扩展参数),解码端可以根据频带扩展编码参数重建音频信号中的高频信息,从而扩展音频信号的有效带宽,提升音频信号的质量。
86.本技术实施例中,在第一编码过程中会对高频带信号和低频带信号进行编码,以获得当前帧的第一编码参数,该第一编码参数可以用于码流复用。
87.其中,在一些实施例中,第一编码除了包括频带扩展编码外,还可以包括时域噪声整形、频域噪声整形、或频谱量化等处理;相应地,第一编码参数除了包括频带扩展编码参数之外,还可以包括:时域噪声整形参数、频域噪声整形参数、或频谱量化参数等。对于第一编码的过程,本技术实施例中不再赘述。
88.403、确定高频带信号的每个频点的频谱保留标志,频谱保留标志用于指示频点对应的第一频谱在频点对应的第二频谱中是否被保留,其中,第一频谱包括频点对应的频带扩展编码前的高频带信号的频谱,第二频谱包括频点对应的频带扩展编码后的高频带信号的频谱。
89.本技术实施例中,在第一编码中对高频信号进行频带扩展编码,针对高频信号中的每个频点可以根据频带扩展编码前后的频谱是否发生变化进行记录,例如第一频谱为频点对应的频带扩展编码前的高频带信号的频谱,第二频谱为频点对应的频带扩展编码后的高频带信号的频谱,则音频编码装置可以生成高频带信号的每个频点的频谱保留标志,高频带信号中每个频点的频谱保留标志用于指示该频点对应的第一频谱在频点对应的第二频谱中是否被保留。
90.需要说明的是,步骤403中确定高频带信号的每个频点的频谱保留标志,其中高频带信号的每个频点是指高频带信号中需要确定频谱保留标志的每个频点,如果预先确定了需要进行音调成分检测的频率范围,则高频带信号中需要确定频谱保留标志的频率范围并
不是整个高频带信号的频率范围,因此也可以只获取需要进行音调成分检测的频率范围内的每个频点的频谱保留标志。另外,步骤403中的高频带信号也可以是需要进行音调成分检测的频率范围内的高频带信号。其中,需要进行音调成分检测的频率范围可以根据需要进行音调成分检测的频率区域的数量来确定,具体的,需要进行音调成分检测的频率区域的数量可以是预先指定的。
91.在本技术的一些实施例中,步骤403确定高频带信号的每个频点的频谱保留标志,包括:
92.根据第一频谱、第二频谱、以及频带扩展编码的频率范围,确定高频带信号的每个频点的频谱保留标志。
93.其中,在频带扩展编码的过程中,可以获得频带扩展编码前的信号频谱(即第一频谱)、频带扩展编码后的信号频谱(即第二频谱),以及频带扩展编码的频率范围。频带扩展编码的频率范围可以是频带扩展编码的频点范围,例如频带扩展编码的频率范围包括:智能间隙填充(intelligent gap filling,igf)处理的起始频点和截止频点。也可以用其他方式表征频带扩展编码的频率范围,例如根据频带扩展编码的起始频率值和截止频率值来表征频带扩展编码的频率范围。
94.在本技术实施例提供的第一编码过程中,可以将高频带划分成k个频率区域(例如频率区域表示为tile),每一个频率区域内又划分为m个频带,对于k和m的取值不做限定。频带扩展编码的频率范围的确定,可以以频率区域为单位进行,也可以以频带为单位进行。
95.其中,音频编码装置可以通过多种方式获取到高频带信号中每个频点的频谱保留标志的取值,接下来进行详细说明。
96.在本技术的一些实施例中,高频带信号对应的高频带包括至少一个频率区域,至少一个频率区域包括当前频率区域;
97.当当前频率区域中的第一频点不属于频带扩展编码的频率范围时,第一频点的频谱保留标志的值为第一预设值;或者,
98.当前频率区域中的第二频点属于频带扩展编码的频率范围时,如果第二频点对应的频带扩展编码前的频谱值与频带扩展编码后的频谱值满足预设条件,第二频点的频谱保留标志的值为第二预设值;或者,如果第二频点对应的频带扩展编码前的频谱值与频带扩展编码后的频谱值不满足预设条件,第二频点的频谱保留标志的值为第三预设值。
99.其中,第一预设值用于指示当前频率区域中的第一频点不属于频带扩展编码的频率范围,第二预设值用于指示当前频率区域中的第二频点属于频带扩展编码的频率范围、且第二频点对应的频带扩展编码前的频谱值与频带扩展编码后的频谱值满足预设条件,第三预设值用于指示当前频率区域中的第二频点属于频带扩展编码的频率范围、且第二频点对应的频带扩展编码前的频谱值与频带扩展编码后的频谱值不满足预设条件。
100.具体的,音频编码装置首先确定当前频率区域中的一个或多个频点是否属于频带扩展编码的频率范围内,例如定义第一频点为当前频率区域中不属于频带扩展编码的频率范围内的频点,定义第二频点为当前频率区域中属于频带扩展编码的频率范围内的频点。则第一频点的频谱保留标志的值为第一预设值,第二频点的频谱保留标志的值具有两种,例如分别为第二预设值和第三预设值,具体的,第二频点对应的频带扩展编码前的频谱值与频带扩展编码后的频谱值满足预设条件时,第二频点的频谱保留标志的值为第二预设
值,第二频点对应的频带扩展编码前的频谱值与频带扩展编码后的频谱值不满足预设条件时,第二频点的频谱保留标志的值为第三预设值。对于预设条件的实现方式有多种,此处不做限定,例如预设条件是针对频带扩展编码前的频谱值与频带扩展编码后的频谱值设置的条件,具体可以结合应用场景确定。
101.在本技术的一些实施例中,预设条件包括:第二频点对应的频带扩展编码前的频谱值与频带扩展编码后的频谱值相等。
102.具体的,预设条件可以是第二频点对应的频带扩展编码前的频谱值与频带扩展编码后的频谱值相等。其中,预设条件是频带扩展编码前后的频谱值不发生变化,即第二频点对应的频带扩展编码前的频谱值与频带扩展编码后的频谱值相等。又如,预设条件也可以是第二频点对应的频带扩展编码前的频谱值与频带扩展编码后的频谱值的差值的绝对值小于或等于预设的阈值。其中,预设条件是基于频带扩展编码前后的频谱值有可能存在一定的差异,但频谱信息已经被保留,即第二频点对应的频带扩展编码前的频谱值与频带扩展编码后的频谱值之间的差异小于预设的阈值。本技术实施例中通过预设条件的判断,确定出高频带信号的每个频点的频谱保留标志,根据该高频带信号的每个频点的频谱保留标志,可以避免对频带扩展编码中已经保留的音调成分进行重复编码,从而可提升音调成分的编码效率。
103.举例说明如下,不属于频带扩展编码的频率范围内的频点,其对应的频谱保留标志的值设置为第一预设值。属于频带扩展编码的频率范围内的频点,若该频点对应的频带扩展编码前的频谱值与频带扩展编码后的频谱值相等,则该频点的频谱保留标志的值设置为第二预设值,频点对应的频带扩展编码前的频谱值与频带扩展编码后的频谱值不相等,则该频点的频谱保留标志的值设置为第三预设值。
104.在本技术的一个具体实施例中,频带扩展编码前的信号频谱,即智能间隙填充(intelligent gap filling,igf)之前的改进离散余弦变换(modified discrete cosine transform,mdct)谱记作mdctspectrumbeforeigf。频带扩展编码后的信号频谱,即igf后的mdct谱记作mdctspectrumafterigf。频点的频谱保留标志记作igfactivitymask。例如,第一预设值为-1,第二预设值为1,第三预设值为0。igfactivitymask的取值为-1,表示该频点在igf处理的频带(即在频带扩展编码的频率范围)之外,igfactivitymask的取值为0表示该频点未被保留(即在频带扩展编码时已被清零),igfactivitymask的取值为1表示该频点被保留(即在频带扩展编码前后频谱值不变)。
105.具体地,获得igfactivitymask的方法如下:
106.igfactivitymask[sb]=

1,sb∈[0,igfbgn)
[0107]
igfactivitymask[sb]
[0108][0109]
sb∈[igfbgn,igfend)。
[0110]
igfactivitymask[sb]=

1,sb∈[igfend,blocksize)。
[0111]
其中,sb为频点序号,igfbgn和igfend分别为igf处理的起始频点和截止频点,
blocksize为高频带的最大频点序号。
[0112]
404、根据高频带信号的每个频点的频谱保留标志对高频带信号进行第二编码,以获得当前帧的第二编码参数,第二编码参数用于表示高频带信号的目标音调成分的信息,音调成分的信息包括音调成分的位置信息、数量信息、以及幅度信息或能量信息。
[0113]
在本技术实施例中,音频编码装置获取到上述的高频带信号的每个频点的频谱保留标志之后,可以根据该高频带信号的每个频点的频谱保留标志对高频带信号进行第二编码,在第二编码过程中,音频编码装置通过解析每个频点的频谱保留标志可以确定哪些频点在频带扩展前后发生了变化,哪些频点在频带扩展前后没有发生变化,即音频编码装置可以确定高频带信号的每个频点在第一编码过程中是否已经被编码,对于已经在第一编码过程中被编码的高频带信号的频点,则在第二编码过程中可以不再被编码。因此高频带信号的每个频点的频谱保留标志可以用于避免对频带扩展编码中已经保留的音调成分进行重复编码,从而可提升音调成分的编码效率。
[0114]
具体的,音频编码装置通过前述的第二编码,可以获得当前帧的第二编码参数,第二编码参数用于表示高频带信号的目标音调成分的信息,其中,目标音调成分是指高频带信号中经过第二编码获取到的音调成分,例如目标音调成分可以特指高频带信号中的某个或某些音调成分。本技术实施例中目标音调成分的信息具有多种,例如目标音调成分的信息可以包括目标音调成分的位置信息、数量信息、以及幅度信息或能量信息。其中,幅度信息或能量信息在目标音调成分中可以只包括其中一种,例如,目标音调成分的信息可以包括目标音调成分的位置信息、数量信息、以及幅度信息,又如,目标音调成分的信息可以包括目标音调成分的位置信息、数量信息、以及能量信息。
[0115]
在本技术的一些实施例中,第二编码参数包括目标音调成分的位置数量参数、以及目标音调成分的幅度参数或能量参数,位置数量参数用于指示高频带信号的目标音调成分的位置信息和数量信息,幅度参数用于指示高频带信号的目标音调成分的幅度信息,能量参数用于指示高频带信号的目标音调成分的能量信息。
[0116]
例如,第二编码参数包括音调成分的位置数量参数、以及音调成分的幅度参数或能量参数。其中,位置数量参数表示由同一个参数表示音调成分的位置和音调成分的数量。在另一种实施方式中,第二编码参数包括音调成分的位置参数、音调成分的数量参数以及音调成分的幅度参数或能量参数,在这种情况下,音调成分的位置和数量可以采用不同的参数表示。
[0117]
在一种具体实施方式中,高频带信号对应的高频带包括至少一个频率区域,至少一个频率区域包括当前频率区域,根据至少一个频率区域中的当前频率区域的高频带信号和当前频率区域的每个频点的谱线保留标志,确定当前频率区域的目标音调成分的位置数量参数和当前频率区域的目标音调成分的幅度参数或能量参数。
[0118]
举例说明如下,根据当前频率区域的每个频点的谱线保留标志对当前频率区域的峰值信息进行峰值筛选,以获得当前频率区域的候选音调成分的信息,候选音调成分的信息包括候选音调成分的数量信息、位置信息以及幅度信息或能量信息,例如候选音调成分的数量信息可以是峰值筛选后的峰值数量信息,候选音调成分的位置信息可以是峰值筛选后的峰值位置信息,候选音调成分的幅度信息可以是峰值筛选后的峰值幅度信息,候选音调成分的能量信息可以是峰值筛选后的峰值能量信息。通过候选音调成分的信息可以获得
所述当前频率区域的目标音调成分的位置数量参数、以及幅度参数或能量参数。
[0119]
具体地,候选音调成分的信息包括候选音调成分的数量信息、位置信息以及幅度信息或能量信息。例如,将候选音调成分的数量信息、位置信息以及幅度信息或能量信息作为当前频率区域的目标音调成分的数量信息、位置信息、幅度信息或能量信息;根据所述当前频率区域的目标音调成分的数量信息、位置信息、幅度信息或能量信息,获得所述当前频率区域的目标音调成分的位置数量参数、以及幅度参数或能量参数。
[0120]
又例如,根据候选音调成分的数量信息、位置信息以及幅度信息或能量信息还可以进行其他处理,获得处理后的候选音调成分的数量信息、位置信息以及幅度信息或能量信息;将处理后的候选音调成分的数量信息、位置信息以及幅度信息或能量信息,作为当前频率区域的目标音调成分的数量信息、位置信息、幅度信息或能量信息;根据当前频率区域的目标音调成分的数量信息、位置信息、幅度信息或能量信息,获得当前频率区域的目标音调成分的位置数量参数、以及幅度参数或能量参数。其中,其他处理可以是合并处理、数量筛选、帧间连续性修正等处理中的一种或多种。本技术实施例对是否进行其他处理以及其他处理所包含种类及处理使用的方法不做限定。
[0121]
405、对第一编码参数和第二编码参数进行码流复用,以获得编码码流。
[0122]
其中,前述实施例中音频编码装置通过步骤402获取到第一编码参数,通过前述步骤404获取到第二编码参数,最后对第一编码参数和第二编码参数进行码流复用,以获得编码码流,例如该编码码流可以是载荷码流。载荷码流中可以携带音频信号的各个帧的具体信息,例如,可以携带上述各个帧的音调成分的信息。
[0123]
在本技术的一些实施例中,该编码码流还可以包括配置码流,该配置码流中可以携带音频信号中各个帧共用的配置信息。载荷码流和配置码流可以是相互独立的码流,也可以包括于同一码流中,即载荷码流和配置码流可以是同一码流中的不同部分。
[0124]
举例说明如下,对第一编码参数、第二编码参数进行码流复用,以获得编码码流。本技术的音频编码装置,通过确定频带扩展编码的频谱保留标志信息,在获取第二编码参数的过程中,根据高频带信号的每个频点的频谱保留标志信息,避免对频带扩展编码中已经保留的音调成分进行重复编码,提升音调成分的编码效率。
[0125]
音频编码装置将编码码流发送至音频解码装置,音频解码装置对该编码码流进行码流解复用,从而获取该编码参数,进而准确获取该音频信号的当前帧。
[0126]
通过前述实施例对本技术的举例说明可知,获取音频信号的当前帧,当前帧包括高频带信号和低频带信号,对高频带信号和低频带信号进行第一编码,以获得当前帧的第一编码参数,第一编码包括频带扩展编码,确定高频带信号的每个频点的频谱保留标志,频谱保留标志用于指示频点对应的第一频谱在频点对应的第二频谱中是否被保留,其中,第一频谱为频点对应的频带扩展编码前的高频带信号的频谱,第二频谱为频点对应的频带扩展编码后的高频带信号的频谱,根据高频带信号的每个频点的频谱保留标志对高频带信号进行第二编码,以获得当前帧的第二编码参数,第二编码参数用于表示高频带信号的目标音调成分的信息,目标音调成分的信息包括目标音调成分的位置信息、数量信息、以及幅度信息或能量信息,对第一编码参数和第二编码参数进行码流复用,以获得编码码流。本技术实施例中第一编码过程中包括频带扩展编码,可以根据频带扩展编码前后的高频带信号的频谱以及频带扩展编码的频率范围,确定高频带信号的每个频点的频谱保留标志,通过该
频谱保留标志指示从频带扩展编码之前到频带扩展编码之后高频带信号中的一个或多个频点的频谱值是否被保留,根据高频带信号的每个频点的频谱保留标志对高频带信号进行第二编码,高频带信号的每个频点的频谱保留标志可以用于避免对频带扩展编码中已经保留的音调成分进行重复编码,从而可提升音调成分的编码效率。
[0127]
接下来请参阅本技术提供的另一些实施例,如图5所示,高频带信号对应的高频带包括至少一个频率区域,前述步骤404根据高频带信号的每个频点的频谱保留标志对高频带信号进行第二编码,以获得当前帧的第二编码参数,包括:
[0128]
4041、根据当前频率区域的高频带信号进行峰值搜索,以获得当前频率区域的峰值信息,当前频率区域的峰值信息包括:当前频率区域的峰值数量信息、峰值位置信息、以及峰值幅度信息或峰值能量信息。
[0129]
其中,音频编码装置可以根据当前频率区域的高频带信号进行峰值搜索,例如,在当前频率区域中搜索是否存在峰值,通过峰值搜索可以获得当前频率区域的峰值数量信息、峰值位置信息以及峰值幅度信息或能量信息。
[0130]
具体地,可以根据当前频率区域的高频带信号,获取当前频率区域的高频带信号的功率谱;根据当前频率区域(简称为当前区域)的高频带信号的功率谱搜索功率谱的峰值,将峰值数量作为当前区域的峰值数量信息,将峰值对应的频点序号作为当前区域的峰值位置信息,将峰值的幅度或能量作为当前区域的峰值幅度信息或能量信息。也可以根据当前频率区域的高频带信号,获取当前频率区域的当前频点的功率谱比值,当前频点的功率谱比值为当前频点的功率谱的值与当前频率区域的功率谱的平均值的比值;根据当前频点的功率谱比值在当前频率区域进行峰值搜索,以获取当前频率区域的峰值数量信息、峰值位置信息、峰值幅度信息或峰值能量信息。其中,能量信息或幅度信息包括:功率谱比值,例如,峰值的功率谱比值为峰值位置对应频点的功率谱的值与当前频率区域的功率谱的平均值的比值。当然,本技术实施例中也可以采用其他方式进行峰值搜索,获得当前区域的峰值数量信息、峰值位置信息以及峰值幅度信息或能量信息,本技术实施例不做限定。
[0131]
在本技术的一个实施例中,音频编码装置可以将当前频率区域的峰值位置信息和峰值能量信息分别存储在peak_idx和peak_val数组中,将当前频率区域的峰值数量信息存储在peak_cnt中。
[0132]
其中,进行峰值搜索的高频带信号可以是频域信号,也可以是时域信号。
[0133]
具体地,在一个实施方式中,峰值搜索具体可以根据当前频率区域的功率谱、能量谱或幅度谱中的至少一种进行。
[0134]
4042、根据当前频率区域的每个频点的频谱保留标志,对当前频率区域的峰值信息进行峰值筛选,以获得当前频率区域的候选音调成分的信息。
[0135]
其中,音频编码装置可以根据当前频率区域的每个频点的频谱保留标志信息和当前频率区域的峰值数量信息、峰值位置信息以及峰值幅度信息或能量信息,获得当前频率区域筛选后的峰值数量信息、峰值位置信息以及峰值幅度信息或能量信息,该筛选后的峰值数量信息、峰值位置信息以及峰值幅度信息或能量信息即为当前频率区域的候选音调成分的信息。
[0136]
例如,峰值幅度信息或能量信息可以包括峰值的能量比,或者峰值的功率谱比值。音频编码装置也可以在峰值搜索中获得其他表征峰值能量或者幅度的信息,例如峰值位置
对应的频点的功率谱的值。峰值的功率谱比值为峰值的功率谱的值与当前频率区域的功率谱的平均值的比值,即峰值位置对应的频点的功率谱的值与当前频率区域的功率谱的平均值的比值。类似的,候选音调成分的功率谱比值为候选音调成分的功率谱的值与当前频率区域的功率谱的平均值的比值,即候选音调成分的位置对应的频点的功率谱的值与当前频率区域的功率谱的平均值的比值。
[0137]
需要说明的是,本技术实施例中,可以直接根据当前频率区域的每个频点的频谱保留标志进行峰值筛选,得到当前频率区域的候选音调成分。还可以根据当前频率区域的每个频点的频谱保留标志确定出当前频率区域的每个子带的频谱保留标志,再基于当前频率区域的每个子带的频谱保留标志进行峰值筛选,详见后续实施例中的举例说明。
[0138]
4043、根据当前频率区域的候选音调成分的信息,获得当前频率区域的目标音调成分的信息。
[0139]
其中,音频编码装置在获取到当前频率区域的候选音调成分的信息之后,可以基于当前频率区域的候选音调成分的信息进行处理,以获得当前频率区域的目标音调成分的信息。其中,目标音调成分可以是候选音调成分进行合并后获得的音调成分,目标音调成分可以是候选音调成分进行数量筛选后获得的音调成分,目标音调成分可以是候选音调成分进行帧间连续性处理后获得的音调成分,对于获得目标音调成分的实现方式,此处不做限定。
[0140]
4044、根据当前频率区域的目标音调成分的信息,获得当前频率区域的第二编码参数。
[0141]
在本技术实施例中,音频编码装置可以根据当前频率区域的目标音调成分的信息,获得当前频率区域的第二编码参数,第二编码参数包括目标音调成分的位置数量参数、以及幅度参数或能量参数,位置数量参数用于指示高频带信号的目标音调成分的位置信息和数量信息,幅度参数用于指示高频带信号的目标音调成分的幅度信息,能量参数用于指示高频带信号的目标音调成分的能量信息。
[0142]
通过对前述步骤4041至步骤4044的描述可知,本技术实施例中根据当前频率区域的每个频点的频谱保留标志,对当前频率区域的峰值信息进行峰值筛选,以获得当前频率区域的候选音调成分的信息,高频带信号的每个频点的频谱保留标志可以用于避免对频带扩展编码中已经保留的音调成分进行重复编码,从而可提升音调成分的编码效率。
[0143]
接下来请参阅本技术提供的另一些实施例,其中,高频带信号对应的高频带包括至少一个频率区域,一个频率区域包括至少一个子带。如图6所示,前述步骤4042根据当前频率区域的每个频点的频谱保留标志,对当前频率区域的峰值信息进行峰值筛选,以获得当前频率区域的候选音调成分的信息,包括:
[0144]
601、根据当前频率区域的每个频点的频谱保留标志,获得当前频率区域中的每个子带的频谱保留标志。
[0145]
其中,高频带信号对应的高频带包括至少一个频率区域,一个频率区域包括至少一个子带,音频编码装置通过当前频率区域的每个频点的频谱保留标志,可以确定出每个频点的频谱保留标志的取值,当前频率区域中的一个频点可以属于某一个子带,因此子带的频谱保留标志的取值可以由该子带内的频点的频谱保留标志的取值确定,基于上述方式,音频编码装置可以获得当前频率区域中的每个子带的频谱保留标志。
[0146]
进一步的,在本技术的一些实施例中,前述步骤601根据当前频率区域的每个频点的频谱保留标志,获得当前频率区域中的每个子带的频谱保留标志,包括:
[0147]
若当前子带内的频谱保留标志的值等于第二预设值的频点的数量大于预设阈值,确定当前子带的频谱保留标志的值为第一标志值,其中,若一个频点对应的频带扩展编码前的频谱值与频带扩展编码后的频谱值满足预设条件时,一个频点的频谱保留标志的值为第二预设值;或者,
[0148]
若当前子带内的频谱保留标志的值等于第二预设值的频点的数量小于或等于预设阈值,确定当前子带的频谱保留标志的值为第二标志值。
[0149]
其中,第一标志值用于指示当前子带内的频谱保留标志的值等于第二预设值的频点的数量大于预设阈值,若一个频点对应的频带扩展编码前的频谱值与频带扩展编码后的频谱值满足预设条件时,所述一个频点的频谱保留标志的值为第二预设值,该频点是当前子带中的频点。第二标志值用于指示当前子带内的频谱保留标志的值等于第二预设值的频点的数量小于或等于预设阈值。
[0150]
当前子带的频谱保留标志的取值可以有多种,例如当前子带的频谱保留标志为第一标志值,或者当前子带的频谱保留标志为第二标志值,具体可以根据上述的当前子带内的频谱保留标志等于第二预设值的频点数量来确定,本技术实施例中对于第一标志值和第二标志值的具体取值不做限定。
[0151]
在本技术的一些实施例中,预设条件包括:频点对应的频带扩展编码前的频谱值与频带扩展编码后的频谱值相等。
[0152]
具体的,预设条件可以是频点对应的频带扩展编码前的频谱值与频带扩展编码后的频谱值相等。其中,预设条件可以是频带扩展编码前后的频谱值不发生变化,即频点对应的频带扩展编码前的频谱值与频带扩展编码后的频谱值相等。又如,预设条件也可以是频点对应的频带扩展编码前的频谱值与频带扩展编码后的频谱值的差值的绝对值小于或等于预设的阈值。其中,预设条件是基于频带扩展编码前后的频谱值有可能存在一定的差异,但频谱信息已经被保留,即频点对应的频带扩展编码前的频谱值与频带扩展编码后的频谱值之间的差异小于预设的阈值。本技术实施例中通过预设条件的判断,确定出高频带信号的每个频点的频谱保留标志,根据该高频带信号的每个频点的频谱保留标志,可以避免对频带扩展编码中已经保留的音调成分进行重复编码,从而可提升音调成分的编码效率。
[0153]
举例说明如下,不属于频带扩展编码的频率范围内的频点,其对应的频谱保留标志的值设置为第一预设值。属于频带扩展编码的频率范围内的频点,若该频点对应的频带扩展编码前的频谱值与频带扩展编码后的频谱值相等,则该频点的频谱保留标志的值设置为第二预设值,频点对应的频带扩展编码前的频谱值与频带扩展编码后的频谱值不相等,则该频点的频谱保留标志的值设置为第三预设值。
[0154]
举例说明,获得所述当前频率区域中的每个子带的频谱保留标志的方法,具体地,可以根据当前子带内所有频点的频谱保留标志确定该当前子带的频谱保留标志,例如若当前子带内的频谱保留标志的值等于第二预设值的频点数量大于预设阈值,则当前子带的频谱保留标志为1,否则所述当前子带的频谱保留标志为0。
[0155]
一个具体的实施例中,频带扩展编码的频谱保留标志信息记作igfactivitymask,当前频率区域(tile)中的每个子带的频谱保留标志记作subband_enc_flag[num_
subband],其中,num_subband为当前频率区域(tile)的子带数量。subband_enc_flag的获取方法包括:
[0156]
步骤1、确定子带数量。
[0157]
对第p个tile,计算该tile中包含的子带数量num_subband:
[0158]
num_subband=tile_width[p]/tone_res[p]。
[0159]
其中,tone_res[p]为第p个频率区域中子带的频域分辨率(即子带宽度),tile_width为第p个tile的宽度(第p个频率区域包含的频点数量),计算过程如下:
[0160]
tile_width=tile[p+1]-tile[p]。
[0161]
其中,tile[p]和tile[p+1]分别为第p和第p+1个tile的起始频点序号。
[0162]
步骤2、获取各个子带的频谱保留标志。
[0163]
设各子带中是否有频谱保留的标记为subband_enc_flag[num_subband],获得此参数的伪代码如下:
[0164][0165][0166]
其中,cntenc为频谱保留计数器,用来对第p个频率区域中第i个子带范围内频点的频谱保留标志igfactivitymask的值等于第二预设值的频点进行计数,startidx为第i个子带的起始频点序号,stopidx为第i+1个子带的起始频点序号。
[0167]
获得subband_enc_flag参数的伪代码也可以是如下形式:
[0168][0169]
其中,igf_activity为第二预设值,本实施例中igf_activity设为1。th1为预设阈值,本实施例中设为0。
[0170]
602、根据当前频率区域中的每个子带的频谱保留标志,对当前频率区域的峰值信息进行峰值筛选,以获得当前频率区域的候选音调成分的信息。
[0171]
在本技术实施例中,前述步骤4042中的峰值筛选也可以针对子带来进行,因此音频编码装置可以根据当前频率区域中的每个子带的频谱保留标志,对当前频率区域的峰值信息进行峰值筛选。
[0172]
举例说明如下:根据当前频率区域的每个频点的频谱保留标志信息和当前频率区域的峰值数量信息、峰值位置信息以及峰值幅度信息或能量信息,获得当前频率区域筛选后的峰值数量信息、峰值位置信息以及峰值幅度信息或能量信息。例如根据当前频率区域的每个频点的频谱保留标志信息,获得当前频率区域中的每个子带的频谱保留标志。根据当前频率区域中的每个子带的频谱保留标志和当前频率区域的峰值数量信息、峰值位置信息以及峰值幅度信息或能量信息,获得当前频率区域筛选后的峰值数量信息、峰值位置信息以及峰值幅度信息或能量信息。
[0173]
进一步的,在本技术的一些实施例中,前述步骤602根据当前频率区域中的每个子带的频谱保留标志,对当前频率区域的峰值信息进行峰值筛选,以获得当前频率区域的候选音调成分的信息包括:
[0174]
a1、根据当前频率区域的峰值位置信息,获得当前频率区域的峰值位置对应的子带序号;
[0175]
a2、根据当前频率区域的峰值位置对应的子带序号和当前频率区域中的每个子带的频谱保留标志,对当前频率区域的峰值信息进行峰值筛选,以获得当前频率区域的候选音调成分的信息。
[0176]
其中,根据当前频率区域的峰值位置对应的子带序号和当前频率区域中的每个子带的频谱保留标志,对当前频率区域的峰值信息进行峰值筛选,获得当前频率区域筛选后的峰值数量信息、峰值位置信息以及峰值幅度信息或能量信息,作为当前频率区域的候选音调成分的信息。
[0177]
进一步的,在申请的一些实施例中,若当前子带的频谱保留标志的值为第二标志值,则当前子带内的峰值为候选音调成分。其中,第二标志值用于指示当前子带内的频谱保留标志的值等于第二预设值的频点的数量小于或等于预设阈值,若当前子带的频谱保留标志的值为第二标志值,则说明该当前子带的频谱在频带扩展编码中未被保留,因此通过当前子带的频谱保留标志的值为第二标志值,可以确定出候选音调成分。
[0178]
具体的,若当前频率区域的峰值位置对应的第一子带序号对应的频谱保留标志为第一标志值,则可以确定当前频率区域的候选音调成分的信息不包括:第一子带序号对应的峰值位置信息和峰值幅度信息或能量信息;或者,若当前频率区域的峰值位置对应的第二子带序号对应的频谱保留标志为第二标志值,则可以确定当前频率区域的候选音调成分的位置信息包括:第二子带序号对应的峰值位置信息,当前频率区域的候选音调成分的幅度信息或能量信息包括:第二子带序号对应的峰值幅度信息或能量信息,当前频率区域的候选音调成分的数量信息等于当前频率区域中子带的频谱保留标志的值为第二标志值的所有子带中的峰值的总数量。
[0179]
举例说明如下,根据当前频率区域的峰值位置对应的子带序号和当前频率区域中的每个子带的频谱保留标志,获得当前频率区域筛选后的峰值数量信息、峰值位置信息以及峰值幅度信息或能量信息,具体地,可以是:若当前频率区域的峰值位置对应的子带序号对应的子带频谱保留标志为1,则将所述峰值位置信息和对应的峰值幅度或能量信息从峰值搜索结果中去除;否则保留所述峰值位置信息和对应的峰值幅度信息或峰值能量信息;保留的峰值位置信息和幅度或能量信息构成筛选后的峰值位置信息和峰值幅度或峰值能量信息;筛选后的峰值数量信息等于当前频率区域的峰值数量减去被去除的峰值数量。
[0180]
在一个具体的实施例中,在当前频率区域内,对峰值搜索获得的peak_cnt个功率谱峰值,依次判断各峰值位置信息peak_idx所在的子带序号subband_idx;若此子带中存在保留频谱(即subband_enc_flag[subband_idx]==1),则将此峰值去除。记当前频率区域内去除的峰值个数为peak_cnt_remove,则此步骤处理后的峰值个数更新为:peak_cnt=peak_cnt-peak_cnt_remove。
[0181]
本技术实施例中,当前频率区域中的每个子带的频谱保留标志可以用于避免对频带扩展编码中已经保留的音调成分进行重复编码,从而可提升音调成分的编码效率。
[0182]
前述实施例介绍了音频编码装置执行的音频编码方法,接下来介绍本技术实施例提供的音频解码装置执行的音频解码方法,如图7所示,主要包括如下步骤:
[0183]
701、获取编码码流。
[0184]
其中,编码码流由音频编码装置发送给音频解码装置。
[0185]
702、对所述编码码流进行码流解复用,以获得音频信号的当前帧的第一编码参数和所述当前帧的第二编码参数。
[0186]
第一编码参数和第二编码参数可以参考前述的音频编码方法,此处不再赘述。
[0187]
703、根据所述第一编码参数获得所述当前帧的第一高频带信号和所述当前帧的第一低频带信号。
[0188]
其中,所述第一高频带信号可以包括:根据所述第一编码参数直接解码获得的解码高频带信号,以及根据所述第一低频带信号进行频带扩展获得的扩展高频带信号中的至少一种。
[0189]
704、根据所述第二编码参数获得所述当前帧的第二高频带信号,所述第二高频带信号包括重建音调信号。
[0190]
第二编码参数可以包括高频带信号的音调成分信息。例如,当前帧的第二编码参数包括音调成分的位置数量参数、以及所述音调成分的幅度参数或能量参数。又例如,当前帧的第二编码参数包括音调成分的位置参数、数量参数、以及所述音调成分的幅度参数或能量参数。当前帧的第二编码参数可以参考编码方法,此处不再赘述。
[0191]
与编码端处理流程方法类似,解码端处理流程中根据第二编码参数获得当前帧的重建高频带信号的过程,也会按照高频带的频率区域划分和/或子带划分来进行。高频带信号对应的高频带包括至少一个频率区域,一个所述频率区域包括至少一个子带。需要确定的第二编码参数的频率区域数量可以是预先给定的,也可以是从码流中获取的。这里以在一个频率区域中根据音调成分的位置数量参数以及所述音调成分的幅度参数获得当前帧的重建高频带信号为例进行进一步描述。具体地,可以是:
[0192]
根据当前频率区域的音调成分的位置数量参数确定所述当前频率区域中音调成分的位置;
[0193]
根据所述当前频率区域的音调成分的幅度参数或能量参数确定所述音调成分的位置对应的幅度或能量;
[0194]
根据所述当前频率区域中音调成分的位置和所述音调成分的位置对应的幅度或能量获得所述重建音调信号;
[0195]
根据所述重建音调信号获得所述重建高频带信号。
[0196]
705、根据所述当前帧的第一低频带信号、第一高频带信号、第二高频带信号,获得所述当前帧的解码信号。
[0197]
其中,本技术实施例中,通过确定高频带信号的每个频点的频谱保留标志信息,在获取第二编码参数的过程中,根据高频带信号的每个频点的频谱保留标志信息,对高频带信号的峰值数量信息、峰值位置信息以及峰值幅度信息或能量信息进行筛选,避免对频带扩展编码中已经保留的音调成分进行重复编码,提升音调成分的编码效率。在相应的解码端,在频带扩展编码过程中被保留的高频带信号没有被重复解码,因此也相应的提高了解码效率。
[0198]
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本技术并不受所描述的动作顺序的限制,因为依据本技术,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本技术所必须的。
[0199]
为便于更好的实施本技术实施例的上述方案,下面还提供用于实施上述方案的相关装置。
[0200]
请参阅图8所示,本技术实施例提供的一种音频编码装置800,可以包括:获取模块801、第一编码模块802、标志确定模块803、第二编码模块804和码流复用模块805,其中,
[0201]
获取模块,用于获取音频信号的当前帧,所述当前帧包括高频带信号和低频带信号;
[0202]
第一编码模块,用于对所述高频带信号和所述低频带信号进行第一编码,以获得
所述当前帧的第一编码参数,所述第一编码包括频带扩展编码;
[0203]
标志确定模块,用于确定所述高频带信号的每个频点的频谱保留标志,所述频谱保留标志用于指示所述频点对应的第一频谱在所述频点对应的第二频谱中是否被保留,其中,所述第一频谱包括所述频点对应的所述频带扩展编码前的频谱,所述第二频谱包括所述频点对应的所述频带扩展编码后的频谱;
[0204]
第二编码模块,用于根据所述高频带信号的每个频点的频谱保留标志对所述高频带信号进行第二编码,以获得所述当前帧的第二编码参数,所述第二编码参数用于表示所述高频带信号的目标音调成分的信息,所述目标音调成分的信息包括所述目标音调成分的位置信息、数量信息、以及幅度信息或能量信息;
[0205]
码流复用模块,用于对所述第一编码参数和所述第二编码参数进行码流复用,以获得编码码流。
[0206]
在本技术的一些实施例中,所述标志确定模块,具体用于:根据所述第一频谱、所述第二频谱、以及所述频带扩展编码的频率范围,确定所述高频带信号的每个频点的频谱保留标志。
[0207]
在本技术的一些实施例中,所述高频带信号对应的高频带包括至少一个频率区域,所述至少一个频率区域包括当前频率区域;
[0208]
所述第二编码模块,具体用于:
[0209]
根据所述当前频率区域的高频带信号进行峰值搜索,以获得所述当前频率区域的峰值信息,所述当前频率区域的峰值信息包括:所述当前频率区域的峰值数量信息、峰值位置信息、以及峰值幅度信息或峰值能量信息;
[0210]
根据所述当前频率区域的每个频点的频谱保留标志,对所述当前频率区域的峰值信息进行峰值筛选,以获得所述当前频率区域的候选音调成分的信息;
[0211]
根据所述当前频率区域的候选音调成分的信息,获得所述当前频率区域的目标音调成分的信息;
[0212]
根据所述当前频率区域的目标音调成分的信息,获得所述当前频率区域的第二编码参数。
[0213]
在本技术的一些实施例中,所述第二编码参数包括所述目标音调成分的位置数量参数、以及所述目标音调成分的幅度参数或能量参数,所述位置数量参数用于指示所述高频带信号的目标音调成分的位置信息和数量信息,所述幅度参数用于指示所述高频带信号的目标音调成分的幅度信息,所述能量参数用于指示所述高频带信号的目标音调成分的能量信息。
[0214]
在本技术的一些实施例中,所述高频带信号对应的高频带包括至少一个频率区域,所述至少一个频率区域包括当前频率区域;
[0215]
当所述当前频率区域中的第一频点不属于所述频带扩展编码的频率范围时,所述第一频点的频谱保留标志的值为第一预设值;或者,
[0216]
当所述当前频率区域中的第二频点属于所述频带扩展编码的频率范围时,如果所述第二频点对应的频带扩展编码前的频谱值与频带扩展编码后的频谱值满足预设条件,所述第二频点的频谱保留标志的值为第二预设值;或者,如果所述第二频点对应的频带扩展编码前的频谱值与频带扩展编码后的频谱值不满足所述预设条件,所述第二频点的频谱保
留标志的值为第三预设值。
[0217]
在本技术的一些实施例中,所述当前频率区域包括至少一个子带,所述第二编码模块,具体用于:
[0218]
根据所述当前频率区域的每个频点的频谱保留标志,获得所述当前频率区域中的每个子带的频谱保留标志;
[0219]
根据所述当前频率区域中的每个子带的频谱保留标志,对所述当前频率区域的峰值信息进行峰值筛选,以获得所述当前频率区域的候选音调成分的信息。
[0220]
在本技术的一些实施例中,所述至少一个子带包括当前子带;所述第二编码模块,具体用于:
[0221]
若所述当前子带内的频谱保留标志的值等于第二预设值的频点的数量大于预设阈值,确定所述当前子带的频谱保留标志的值为第一标志值,其中,若一个频点对应的频带扩展编码前的频谱值与频带扩展编码后的频谱值满足预设条件时,所述一个频点的频谱保留标志的值为所述第二预设值;或者,
[0222]
若所述当前子带内的频谱保留标志的值等于第二预设值的频点的数量小于或等于所述预设阈值,确定所述当前子带的频谱保留标志的值为第二标志值。
[0223]
在本技术的一些实施例中,所述第二编码模块,具体用于:
[0224]
根据所述当前频率区域的峰值位置信息,获得所述当前频率区域的峰值位置对应的子带序号;
[0225]
根据所述当前频率区域的峰值位置对应的子带序号和所述当前频率区域中的每个子带的频谱保留标志,对所述当前频率区域的峰值信息进行峰值筛选,以获得所述当前频率区域的候选音调成分的信息。
[0226]
在本技术的一些实施例中,若所述当前子带的频谱保留标志的值为所述第二标志值,则所述当前子带内的峰值为候选音调成分。
[0227]
在本技术的一些实施例中,所述预设条件包括:频点对应的频带扩展编码前的频谱值与频带扩展编码后的频谱值相等。
[0228]
通过前述实施例的举例说明可知,获取音频信号的当前帧,当前帧包括高频带信号和低频带信号,对高频带信号和低频带信号进行第一编码,以获得当前帧的第一编码参数,第一编码包括频带扩展编码,确定高频带信号的每个频点的频谱保留标志,频谱保留标志用于指示频点对应的第一频谱在频点对应的第二频谱中是否被保留,其中,第一频谱为频点对应的频带扩展编码前的高频带信号的频谱,第二频谱为频点对应的频带扩展编码后的高频带信号的频谱,根据高频带信号的每个频点的频谱保留标志对高频带信号进行第二编码,以获得当前帧的第二编码参数,第二编码参数用于表示高频带信号的目标音调成分的信息,目标音调成分的信息包括目标音调成分的位置信息、数量信息、以及幅度信息或能量信息,对第一编码参数和第二编码参数进行码流复用,以获得编码码流。本技术实施例中第一编码过程中包括频带扩展编码,高频带信号的每个频点对应有频谱保留标志,通过该频谱保留标志指示从频带扩展编码之前到频带扩展编码之后高频带信号中的频点的频谱是否被保留,根据高频带信号的每个频点的频谱保留标志对高频带信号进行第二编码,高频带信号的每个频点的频谱保留标志可以用于避免对频带扩展编码中已经保留的音调成分进行重复编码,从而可提升音调成分的编码效率。
[0229]
需要说明的是,上述装置各模块/单元之间的信息交互、执行过程等内容,由于与本技术方法实施例基于同一构思,其带来的技术效果与本技术方法实施例相同,具体内容可参见本技术前述所示的方法实施例中的叙述,此处不再赘述。
[0230]
基于与上述方法相同的发明构思,本技术实施例提供一种音频信号编码器,音频信号编码器用于编码音频信号,包括:如执行如上述一个或者多个实施例中所述的编码器,其中,音频编码装置用于编码生成对应的码流。
[0231]
基于与上述方法相同的发明构思,本技术实施例提供一种用于编码音频信号的设备,例如,音频编码装置,请参阅图9所示,音频编码装置900包括:
[0232]
处理器901、存储器902以及通信接口903(其中音频编码装置900中的处理器901的数量可以一个或多个,图9中以一个处理器为例)。在本技术的一些实施例中,处理器901、存储器902以及通信接口903可通过总线或其它方式连接,其中,图9中以通过总线连接为例。
[0233]
存储器902可以包括只读存储器和随机存取存储器,并向处理器901提供指令和数据。存储器902的一部分还可以包括非易失性随机存取存储器(non-volatile random access memory,nvram)。存储器902存储有操作系统和操作指令、可执行模块或者数据结构,或者它们的子集,或者它们的扩展集,其中,操作指令可包括各种操作指令,用于实现各种操作。操作系统可包括各种系统程序,用于实现各种基础业务以及处理基于硬件的任务。
[0234]
处理器901控制音频编码设备的操作,处理器901还可以称为中央处理单元(central processing unit,cpu)。具体的应用中,音频编码设备的各个组件通过总线系统耦合在一起,其中总线系统除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都称为总线系统。
[0235]
上述本技术实施例揭示的方法可以应用于处理器901中,或者由处理器901实现。处理器901可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器901中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器901可以是通用处理器、数字信号处理器(digital signal processing,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本技术实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本技术实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器902,处理器901读取存储器902中的信息,结合其硬件完成上述方法的步骤。
[0236]
通信接口903可用于接收或发送数字或字符信息,例如可以是输入/输出接口、管脚或电路等。举例而言,通过通信接口903发送上述编码码流。
[0237]
基于与上述方法相同的发明构思,本技术实施例提供一种音频编码设备,包括:相互耦合的非易失性存储器和处理器,所述处理器调用存储在所述存储器中的程序代码以执行如上述一个或者多个实施例中所述的音频信号编码方法的部分或全部步骤。
[0238]
基于与上述方法相同的发明构思,本技术实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储了程序代码,其中,所述程序代码包括用于执行如上述一个
或者多个实施例中所述的音频信号编码方法的部分或全部步骤的指令。
[0239]
基于与上述方法相同的发明构思,本技术实施例提供一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行如上述一个或者多个实施例中所述的音频信号编码方法的部分或全部步骤。
[0240]
以上各实施例中提及的处理器可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。处理器可以是通用处理器、数字信号处理器(digital signal processor,dsp)、特定应用集成电路(application-specific integrated circuit,asic)、现场可编程门阵列(field programmable gate array,fpga)或其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。本技术实施例公开的方法的步骤可以直接体现为硬件编码处理器执行完成,或者用编码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
[0241]
上述各实施例中提及的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,rom)、可编程只读存储器(programmable rom,prom)、可擦除可编程只读存储器(erasable prom,eprom)、电可擦除可编程只读存储器(electrically eprom,eeprom)或闪存。易失性存储器可以是随机存取存储器(random access memory,ram),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用,例如静态随机存取存储器(static ram,sram)、动态随机存取存储器(dynamic ram,dram)、同步动态随机存取存储器(synchronous dram,sdram)、双倍数据速率同步动态随机存取存储器(double data rate sdram,ddr sdram)、增强型同步动态随机存取存储器(enhanced sdram,esdram)、同步连接动态随机存取存储器(synchlink dram,sldram)和直接内存总线随机存取存储器(direct rambus ram,dr ram)。应注意,本文描述的系统和方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
[0242]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
[0243]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0244]
在本技术所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦
合或通信连接,可以是电性,机械或其它的形式。
[0245]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0246]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
[0247]
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
[0248]
以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。