一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种音频编解码方法和音频编解码设备与流程

2021-07-30 17:59:00 来源:中国专利 TAG:音频 编解码 信号 申请 方法
一种音频编解码方法和音频编解码设备与流程

本申请涉及音频信号编解码技术领域,尤其涉及一种音频编解码方法和音频编解码设备。



背景技术:

随着生活质量的提高,人们对高质量音频的需求不断增大。为了利用有限的带宽更好地传输音频信号,通常需要先对音频信号进行编码,然后将编码处理后的码流传输到解码端。解码端对接收到的码流进行解码处理,得到解码后的音频信号,解码后的音频信号用于回放。

其中,如何提高解码音频信号的质量,成为一个亟需解决的技术问题。



技术实现要素:

本申请实施例提供了一种音频编解码方法和音频编解码设备,能够提高解码音频信号的质量。

为解决上述技术问题,本申请实施例提供以下技术方案:

第一方面,提供了一种音频编码方法,所述方法包括:获取音频信号的当前帧,所述当前帧包括高频带信号;根据所述高频带信号获得所述当前帧的高频带参数,所述高频带参数用于表示所述高频带信号包括的音调成分的位置、数量以及幅度或能量;对所述高频带编码参数进行码流复用,以得到编码码流。

结合第一方面,在一种实施方式中,所述高频带参数包括音调成分的位置数量参数、以及所述音调成分的幅度参数或能量参数。

结合第一方面或第一方面的前述实施方式,在一种实施方式中,所述高频带信号对应的高频带包括至少一个频率区域,一个所述频率区域包括至少一个子带,所述根据所述高频带信号获得所述当前帧的高频带参数包括:根据所述至少一个频率区域中的当前频率区域的高频带信号,确定所述当前频率区域的音调成分的位置数量参数和所述当前频率区域的音调成分的幅度参数或能量参数。

结合第一方面或第一方面的前述实施方式,在一种实施方式中,所述根据所述至少一个频率区域中的当前频率区域的高频带信号,确定所述当前频率区域的音调成分的位置数量参数和所述当前频率区域的音调成分的幅度参数或能量参数前,所述方法包括:确定所述当前频率区域内是否包括音调成分;在所述当前频率区域内包括音调成分时,根据所述至少一个频率区域中的当前频率区域的高频带信号,确定所述当前频率区域的音调成分的位置数量参数和所述当前频率区域的音调成分的幅度参数或能量参数。

结合第一方面或第一方面的前述实施方式,在一种实施方式中,所述当前帧的高频带参数还包括音调成分指示信息,所述音调成分指示信息用于指示所述当前频率区域内是否包括音调成分。

结合第一方面或第一方面的前述实施方式,在一种实施方式中,所述根据所述至少一个频率区域中的当前频率区域的高频带信号,确定所述当前频率区域的音调成分的位置数量参数和所述当前频率区域的音调成分的幅度参数或能量参数包括:根据所述至少一个频率区域中的当前频率区域的高频带信号在所述当前频率区域内进行峰值搜索,以获得所述当前区域的峰值数量信息、峰值位置信息以及峰值幅度信息中的至少一种;根据所述当前频率区域的峰值数量信息、峰值位置信息以及峰值幅度信息中的至少一种,确定所述当前频率区域的音调成分的位置数量参数和所述当前频率区域的音调成分的幅度参数或能量参数。

结合第一方面或第一方面的前述实施方式,在一种实施方式中,根据所述至少一个频率区域中的当前频率区域的高频带信号在所述当前频率区域内进行峰值搜索,以获得所述当前区域的峰值数量信息、峰值位置信息以及峰值幅度信息中的至少一种包括:根据所述至少一个频率区域中的当前频率区域的功率谱、能量谱或幅度谱中的至少一种在所述当前频率区域内进行峰值搜索,以获得所述当前区域的峰值数量信息、峰值位置信息以及峰值幅度信息中的至少一种。

结合第一方面或第一方面的前述实施方式,在一种实施方式中,所述根据所述当前频率区域的峰值数量信息、峰值位置信息以及峰值幅度信息中的至少一种,确定所述当前频率区域的音调成分的位置数量参数和所述当前频率区域的音调成分的幅度参数或能量参数包括:根据所述当前频率区域的峰值数量信息、峰值位置信息以及峰值幅度信息中的至少一种,确定所述当前频率区域的音调成分的位置信息,数量信息以及幅度信息;根据所述当前频率区域的音调成分的位置信息,数量信息以及幅度信息确定所述当前频率区域的音调成分的位置数量参数和所述当前频率区域的音调成分的幅度参数或能量参数。

结合第一方面或第一方面的前述实施方式,在一种实施方式中,所述当前频率区域的音调成分的位置数量参数包括n个比特位,n为所述当前频率区域包括的子带数量,所述n个比特位与所述当前频率区域包括的子带一一对应;其中,若所述当前频率区域包括的第一子带存在峰值,则所述n个比特位中与所述第一子带对应的比特位的值为第一值;或若所述当前频率区域包括的第二子带不存在峰值,则所述n个比特位中与所述第二子带对应的比特位的值为第二值,所述第一值与所述第二值不同。

结合第一方面或第一方面的前述实施方式,在一种实施方式中,所述高频带参数还包括所述高频带信号的噪声基底参数。

第二方面,提供了一种音频解码方法,包括:获取编码码流;对所述编码码流进行码流解复用,以得到音频信号的当前帧的高频带参数,所述高频带参数用于表示所述当前帧的高频带信号包括的音调成分的位置、数量以及幅度或能量;根据所述高频带参数获得所述当前帧的重建高频带信号;根据所述当前帧的重建高频带信号获得所述当前帧的音频输出信号。

结合第二方面,在一种实施方式中,所述高频带参数包括所述当前帧的高频信号的音调成分的位置数量参数和所述音调成分的幅度参数或能量参数。

结合第二方面或第二方面的前述实施方式,在一种实施方式中,将所述高频带信号对应的高频带包括至少一个频率区域,一个所述频率区域包括至少一个子带;所述高频带参数包括所述当前帧的高频信号的音调成分的位置数量参数包括所述至少一个频率区域各自的音调成分的位置数量参数,所述当前帧的高频信号的音调成分的幅度参数或能量参数包括所述至少一个频率区域各自的音调成分的幅度参数或能量参数。

结合第二方面或第二方面的前述实施方式,在一种实施方式中,所述对所述编码码流进行码流解复用,以得到音频信号的当前帧的高频带参数包括:获取所述至少一个频率区域的当前频率区域的音调成分的位置数量参数;根据所述当前频率区域的音调成分的位置数量参数从所述编码码流中解析所述当前频率区域的音调成分的幅度参数或能量参数。

结合第二方面或第二方面的前述实施方式,在一种实施方式中,所述根据所述当前频率区域的音调成分的位置数量参数从所述编码码流中解析所述当前频率区域的音调成分的幅度参数或能量参数,包括:根据所述当前频率区域的音调成分的位置数量参数,确定所述当前频率区域的音调成分的数量参数;根据所述当前频率区域的音调成分的数量参数,从所述编码码流中解析所述当前频率区域的音调成分的幅度参数或能量参数。

结合第二方面或第二方面的前述实施方式,在一种实施方式中,所述对所述编码码流进行码流解复用,以得到音频信号的当前帧的高频带参数包括:获取所述至少一个频率区域的当前频率区域的音调成分的位置数量参数;根据所述当前频率区域的音调成分的位置数量参数,确定当前频率区域的音调成分的位置参数和当前频率区域的音调成分的数量参数;根据所述当前频率区域的音调成分的数量参数从所述编码码流中解析所述当前频率区域的音调成分的幅度参数或能量参数。

结合第二方面或第二方面的前述实施方式,在一种实施方式中,所述获取所述至少一个频率区域的当前频率区域的音调成分的位置数量参数前包括:获取所述当前频率区域的音调成分指示信息;所述音调成分指示信息用于指示所述当前频率区域内是否包括音调成分;当所述当前频率区域内包括音调成分时,获取所述至少一个频率区域的当前频率区域的音调成分的位置数量参数。

结合第二方面或第二方面的前述实施方式,在一种实施方式中,所述获取所述至少一个频率区域的当前频率区域的音调成分的位置数量参数包括:根据所述当前频率区域包括的子带数量从所述编码码流中读取n个比特位,所述n个比特位为所述当前频率区域的音调成分的位置数量参数,其中,n为所述当前频率区域包括的子带数量,所述n个比特位与所述当前频率区域包括的子带一一对应。

结合第二方面或第二方面的前述实施方式,在一种实施方式中,所述根据所述高频带参数获得所述当前帧的重建高频带信号包括:根据所述当前频率区域的音调成分的位置数量参数确定所述当前频率区域中音调成分的位置;根据所述当前频率区域的音调成分的幅度参数或能量参数确定所述音调成分的位置对应的幅度或能量;根据所述当前频率区域中音调成分的位置和所述音调成分的位置对应的幅度或能量获得所述重建高频带信号。

结合第二方面或第二方面的前述实施方式,在一种实施方式中,所述根据所述当前频率区域的高频信号的音调成分的位置数量参数确定所述当前频率区域中音调成分的位置包括:根据所述当前频率区域的高频信号的音调成分的位置数量参数,确定所述当前频率区域的音调成分的位置参数;根据所述当前频率区域的音调成分的位置参数,确定所述当前频率区域中音调成分位置。

结合第二方面或第二方面的前述实施方式,在一种实施方式中,所述根据所述高频带参数获得所述当前帧的重建高频带信号包括:根据所述当前频率区域的音调成分的位置参数,确定所述当前频率区域中音调成分位置;根据所述当前频率区域的音调成分的幅度参数或能量参数确定所述音调成分的位置对应的幅度或能量;根据所述当前频率区域中音调成分的位置和所述音调成分的位置对应的幅度或能量获得所述重建高频带信号。

结合第二方面或第二方面的前述实施方式,在一种实施方式中,所述当前频率区域的音调成分的位置参数用于指示所述当前频率区域中包括音调成分的子带的序号。

结合第二方面或第二方面的前述实施方式,在一种实施方式中,所述当前频率区域中音调成分位置位于所述当前频率区域中音调成分所在子带的指定位置。

结合第二方面或第二方面的前述实施方式,在一种实施方式中,所述子带的指定位置为子带的中心位置。

结合第二方面或第二方面的前述实施方式,在一种实施方式中,所述根据所述当前频率区域中音调成分的位置和所述音调成分的位置对应的幅度获得所述重建高频带信号包括:根据如下计算式确定音调成分的位置的频域信号:

pspectraldata[tone_pos]=tone_val

其中,pspectraldata表示所述当前频率区域的重建高频带频域信号,tone_val表示所述当前频率区域内音调成分的位置对应的幅度值,tone_pos表示所述当前频率区域内音调成分的位置。

第三方面,提供了一种音频编码器,包括:信号获取单元,用于获取音频信号的当前帧,所述当前帧包括高频带信号;参数获取单元,用于根据所述高频带信号获得所述当前帧的高频带参数,所述高频带参数用于表示所述高频带信号包括的音调成分的位置、数量以及幅度或能量;编码单元,用于对所述高频带编码参数进行码流复用,以得到编码码流。

结合第三方面,在一种实施方式中,所述高频带参数包括音调成分的位置数量参数、以及所述音调成分的幅度参数或能量参数。

结合第三方面或第三方面的前述实施方式,在一种实施方式中,所述高频带信号对应的高频带包括至少一个频率区域,一个所述频率区域包括至少一个子带;所述参数获取单元,具体用于:根据所述至少一个频率区域中的当前频率区域的高频带信号,确定所述当前频率区域的音调成分的位置数量参数和所述当前频率区域的音调成分的幅度参数或能量参数。

结合第三方面或第三方面的前述实施方式,在一种实施方式中,所述音频编码器还包括:确定单元,用于确定所述当前频率区域内是否包括音调成分;所述参数获取单元,具体用于在所述当前频率区域内包括音调成分时,根据所述至少一个频率区域中的当前频率区域的高频带信号,确定所述当前频率区域的音调成分的位置数量参数和所述当前频率区域的音调成分的幅度参数或能量参数。

结合第三方面或第三方面的前述实施方式,在一种实施方式中,所述当前帧的高频带参数还包括音调成分指示信息,所述音调成分指示信息用于指示所述当前频率区域内是否包括音调成分。

结合第三方面或第三方面的前述实施方式,在一种实施方式中,所述参数获取单元,具体用于:根据所述至少一个频率区域中的当前频率区域的高频带信号在所述当前频率区域内进行峰值搜索,以获得所述当前区域的峰值数量信息、峰值位置信息以及峰值幅度信息中的至少一种;根据所述当前频率区域的峰值数量信息、峰值位置信息以及峰值幅度信息中的至少一种,确定所述当前频率区域的音调成分的位置数量参数和所述当前频率区域的音调成分的幅度参数或能量参数。

结合第三方面或第三方面的前述实施方式,在一种实施方式中,所述参数获取单元,具体用于:根据所述至少一个频率区域中的当前频率区域的功率谱、能量谱或幅度谱中的至少一种在所述当前频率区域内进行峰值搜索,以获得所述当前区域的峰值数量信息、峰值位置信息以及峰值幅度信息中的至少一种。

结合第三方面或第三方面的前述实施方式,在一种实施方式中,所述参数获取单元,具体用于:根据所述当前频率区域的峰值数量信息、峰值位置信息以及峰值幅度信息中的至少一种,确定所述当前频率区域的音调成分的位置信息,数量信息以及幅度信息;根据所述当前频率区域的音调成分的位置信息,数量信息以及幅度信息确定所述当前频率区域的音调成分的位置数量参数和所述当前频率区域的音调成分的幅度参数或能量参数。

结合第三方面或第三方面的前述实施方式,在一种实施方式中,所述当前频率区域的音调成分的位置数量参数包括n个比特位,n为所述当前频率区域包括的子带数量,所述n个比特位与所述当前频率区域包括的子带一一对应;其中,若所述当前频率区域包括的第一子带存在峰值,则所述n个比特位中与所述第一子带对应的比特位的值为第一值;或若所述当前频率区域包括的第二子带不存在峰值,则所述n个比特位中与所述第二子带对应的比特位的值为第二值,所述第一值与所述第二值不同。

结合第三方面或第三方面的前述实施方式,在一种实施方式中,所述高频带参数还包括所述高频带信号的噪声基底参数。

第四方面提供了一种音频解码器,包括:接收单元,用于获取编码码流;解复用单元,用于对所述编码码流进行码流解复用,以得到音频信号的当前帧的高频带参数,所述高频带参数用于表示所述当前帧的高频带信号包括的音调成分的位置、数量以及幅度或能量;重建单元,用于根据所述高频带参数获得所述当前帧的重建高频带信号;根据所述当前帧的重建高频带信号获得所述当前帧的音频输出信号。

结合第四方面,在一种实施方式中,所述高频带参数包括所述当前帧的高频信号的音调成分的位置数量参数和所述音调成分的幅度参数或能量参数。

结合第四方面或第四方面的前述实施方式,在一种实施方式中,将所述高频带信号对应的高频带包括至少一个频率区域,一个所述频率区域包括至少一个子带;所述高频带参数包括所述当前帧的高频信号的音调成分的位置数量参数包括所述至少一个频率区域各自的音调成分的位置数量参数,所述当前帧的高频信号的音调成分的幅度参数或能量参数包括所述至少一个频率区域各自的音调成分的幅度参数或能量参数。

结合第四方面或第四方面的前述实施方式,在一种实施方式中,所述解复用单元,具体用于:获取所述至少一个频率区域的当前频率区域的音调成分的位置数量参数;根据所述当前频率区域的音调成分的位置数量参数从所述编码码流中解析所述当前频率区域的音调成分的幅度参数或能量参数。

结合第四方面或第四方面的前述实施方式,在一种实施方式中,所述解复用单元,具体用于:根据所述当前频率区域的音调成分的位置数量参数,确定所述当前频率区域的音调成分的数量参数;根据所述当前频率区域的音调成分的数量参数,从所述编码码流中解析所述当前频率区域的音调成分的幅度参数或能量参数。

结合第四方面或第四方面的前述实施方式,在一种实施方式中,所述解复用单元,具体用于:获取所述至少一个频率区域的当前频率区域的音调成分的位置数量参数;根据所述当前频率区域的音调成分的位置数量参数,确定当前频率区域的音调成分的位置参数和当前频率区域的音调成分的数量参数;根据所述当前频率区域的音调成分的数量参数从所述编码码流中解析所述当前频率区域的音调成分的幅度参数或能量参数。

结合第四方面或第四方面的前述实施方式,在一种实施方式中,所述解复用单元,具体用于:获取所述当前频率区域的音调成分指示信息;所述音调成分指示信息用于指示所述当前频率区域内是否包括音调成分;当所述当前频率区域内包括音调成分时,获取所述至少一个频率区域的当前频率区域的音调成分的位置数量参数。

结合第四方面或第四方面的前述实施方式,在一种实施方式中,所述解复用单元,具体用于:根据所述当前频率区域包括的子带数量从所述编码码流中读取n个比特位,所述n个比特位为所述当前频率区域的音调成分的位置数量参数,其中,n为所述当前频率区域包括的子带数量,所述n个比特位与所述当前频率区域包括的子带一一对应。

结合第四方面或第四方面的前述实施方式,在一种实施方式中,所述重建单元,具体用于:根据所述当前频率区域的音调成分的位置数量参数确定所述当前频率区域中音调成分的位置;根据所述当前频率区域的音调成分的幅度参数或能量参数确定所述音调成分的位置对应的幅度或能量;根据所述当前频率区域中音调成分的位置和所述音调成分的位置对应的幅度或能量获得所述重建高频带信号。

结合第四方面或第四方面的前述实施方式,在一种实施方式中,所述重建单元,具体用于:根据所述当前频率区域的高频信号的音调成分的位置数量参数,确定所述当前频率区域的音调成分的位置参数;根据所述当前频率区域的音调成分的位置参数,确定所述当前频率区域中音调成分位置。

结合第四方面或第四方面的前述实施方式,在一种实施方式中,所述重建单元,具体用于:根据所述当前频率区域的音调成分的位置参数,确定所述当前频率区域中音调成分位置;根据所述当前频率区域的音调成分的幅度参数或能量参数确定所述音调成分的位置对应的幅度或能量;根据所述当前频率区域中音调成分的位置和所述音调成分的位置对应的幅度或能量获得所述重建高频带信号。

结合第四方面或第四方面的前述实施方式,在一种实施方式中,所述当前频率区域的音调成分的位置参数用于指示所述当前频率区域中包括音调成分的子带的序号。

结合第四方面或第四方面的前述实施方式,在一种实施方式中,所述当前频率区域中音调成分位置位于所述当前频率区域中音调成分所在子带的指定位置。

结合第四方面或第四方面的前述实施方式,在一种实施方式中,所述子带的指定位置为子带的中心位置。

结合第四方面或第四方面的前述实施方式,在一种实施方式中,所述根据所述当前频率区域中音调成分的位置和所述音调成分的位置对应的幅度获得所述重建高频带信号包括:根据如下计算式确定音调成分的位置的频域信号:

pspectraldata[tone_pos]=tone_val

其中,pspectraldata表示所述当前频率区域的重建高频带频域信号,tone_val表示所述当前频率区域内音调成分的位置对应的幅度值,tone_pos表示所述当前频率区域内音调成分的位置。

第五方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面或第二方面所述的方法。

第六方面,本申请实施例提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面或第二方面所述的方法。

第七方面,本申请实施例提供了一种音频编码器,包括处理器和存储器;所述存储器用于存储指令;所述处理器用于执行所述存储器中的所述指令,使得所述音频编码器执行如前述第一方面的任一项方法。

第八方面,本申请实施例提供了一种音频解码器,包括处理器和存储器;所述存储器用于存储指令;所述处理器用于执行所述存储器中的所述指令,使得所述音频解码器执行如前述第二方面的任一项方法。

第九方面,本申请实施例提供一种通信装置,该通信装置可以包括音频编解码设备或者芯片等实体,所述通信装置包括:处理器,可选的,还包括存储器;所述存储器用于存储指令;所述处理器用于执行所述存储器中的所述指令,使得所述通信装置执行如前述第一方面或第二方面中任一项所述的方法。

第十方面,本申请提供了一种芯片系统,该芯片系统包括处理器,用于支持音频编解码设备实现上述方面中所涉及的功能,例如,发送或处理上述方法中所涉及的数据和/或信息。在一种可能的设计中,所述芯片系统还包括存储器,所述存储器,用于保存音频编解码设备必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包括芯片和其他分立器件。

从上可知,本发明实施例中音频编码器会对高频带信号中的音调成分的位置、数量以及幅度或能量进行编码,从而使得音频解码器根据音调成分的位置、数量以及幅度或能量恢复音调成分,使得恢复的音调成分的位置和能量更准确,从而提高了解码信号的质量。

附图说明

图1为本申请实施例提供的一种音频编解码系统的结构示意图;

图2为本申请实施例提供的一种音频编码方法的示意性流程图;

图3为本申请实施例提供的一种音频解码方法的示意性流程图;

图4为本申请实施例的移动终端的示意图;

图5为本申请实施例的网元的示意图;

图6为本申请实施例提供的一种音频编码设备的组成结构示意图;

图7为本申请实施例提供的一种音频解码设备的组成结构示意图;

图8为本申请实施例提供的另一种音频编码设备的组成结构示意图;

图9为本申请实施例提供的另一种音频解码设备的组成结构示意图。

具体实施方式

下面结合附图,对本申请的实施例进行描述。

本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,这仅仅是描述本申请的实施例中对相同属性的对象在描述时所采用的区分方式。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,以便包含一系列单元的过程、方法、系统、产品或设备不必限于那些单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它单元。

本申请实施例中的音频信号是指音频编码设备中的输入信号,该音频信号中可以包括多个帧,例如当前帧可以特指音频信号中的某一个帧,本申请实施例中以当前帧音频信号的编解码进行示例说明,音频信号中当前帧的前一帧或者后一帧都可以根据该当前帧音频信号的编解码方式进行相应的编解码,对于音频信号中当前帧的前一帧或者后一帧的编解码过程不再逐一说明。另外,本申请实施例中的音频信号可以是单声道音频信号,或者,也可以为立体声信号。其中,立体声信号可以是原始的立体声信号,也可以是多声道信号中包括的两路信号(左声道信号和右声道信号)组成的立体声信号,还可以是由多声道信号中包含的至少三路信号产生的两路信号组成的立体声信号,本申请实施例中对此并不限定。

图1为本申请一个示例性实施例的音频编解码系统的结构示意图。该音频编解码系统包括编码组件110和解码组件120。

编码组件110用于对当前帧(音频信号)在频域或时域上进行编码。可选地,编码组件110可以通过软件实现;或者,也可以通过硬件实现;或者,还可以通过软硬件结合的形式实现,本申请实施例中对此不作限定。

编码组件110对当前帧在频域或时域上进行编码时,在一种可能的实现方式中,可以包括如图2所示的步骤。

在本申请实施例中,编码组件110在完成编码之后,可以生成编码码流,编码组件110可以向解码组件120发送编码码流,从而使得解码组件120可以接收到该编码码流,再由解码组件120从编码码流中得到音频输出信号。

需要说明的是,图2中所示的编码方法仅为示例而非限定,本申请实施例对图2中各步骤的执行顺序并不限定,图2中所示的编码方法也可以包括更多或更少的步骤,本申请实施例中对此并不限定。

可选地,编码组件110与解码组件120可以通过有线或无线的方式相连,解码组件120可以通过其与编码组件110之间的连接获取编码组件110生成的编码码流;或者,编码组件110可以将生成的编码码流存储至存储器,解码组件120读取存储器中的编码码流。

可选地,解码组件120可以通过软件实现;或者,也可以通过硬件实现;或者,还可以通过软硬件结合的形式实现,本申请实施例中对此不作限定。

解码组件120对当前帧(音频信号)在频域或时域上进行解码时,在一种可能的实现方式中,可以包括如图3所示的步骤。

可选地,编码组件110和解码组件120可以设置在同一设备中;或者,也可以设置在不同设备中。设备可以为手机、平板电脑、膝上型便携计算机和台式计算机、蓝牙音箱、录音笔、可穿戴式设备等具有音频信号处理功能的终端,也可以是核心网、无线网中具有音频信号处理能力的网元,本实施例对此不作限定。

示意性地,如图4所示,本实施例以编码组件110设置于移动终端130中、解码组件120设置于移动终端140中,移动终端130与移动终端140是相互独立的具有音频信号处理能力的电子设备,例如可以是手机,可穿戴设备,虚拟现实(virtualreality,vr)设备,或增强现实(augmentedreality,ar)设备等等,且移动终端130与移动终端140之间通过无线或有线网络连接为例进行说明。

可选地,移动终端130可以包括采集组件131、编码组件110和信道编码组件132,其中,采集组件131与编码组件110相连,编码组件110与编码组件132相连。

可选地,移动终端140可以包括音频播放组件141、解码组件120和信道解码组件142,其中,音频播放组件141与解码组件120相连,解码组件120与信道解码组件142相连。

移动终端130通过采集组件131采集到音频信号后,通过编码组件110对该音频信号进行编码,得到编码码流;然后,通过信道编码组件132对编码码流进行编码,得到传输信号。

移动终端130通过无线或有线网络将该传输信号发送至移动终端140。

移动终端140接收到该传输信号后,通过信道解码组件142对传输信号进行解码得到码码流;通过解码组件110对编码码流进行解码得到音频信号;通过音频播放组件播放该音频信号。可以理解的是,移动终端130也可以包括移动终端140所包括的组件,移动终端140也可以包括移动终端130所包括的组件。

示意性地,如图5所示,以编码组件110和解码组件120设置于同一核心网或无线网中具有音频信号处理能力的网元150中为例进行说明。

可选地,网元150包括信道解码组件151、解码组件120、编码组件110和信道编码组件152。其中,信道解码组件151与解码组件120相连,解码组件120与编码组件110相连,编码组件110与信道编码组件152相连。

信道解码组件151接收到其它设备发送的传输信号后,对该传输信号进行解码得到第一编码码流;通过解码组件120对编码码流进行解码得到音频信号;通过编码组件110对该音频信号进行编码,得到第二编码码流;通过信道编码组件152对该第二编码码流进行编码得到传输信号。

其中,其它设备可以是具有音频信号处理能力的移动终端;或者,也可以是具有音频信号处理能力的其它网元,本实施例对此不作限定。

可选地,网元中的编码组件110和解码组件120可以对移动终端发送的编码码流进行转码。

可选地,本申请实施例中可以将安装有编码组件110的设备称为音频编码设备,在实际实现时,该音频编码设备也可以具有音频解码功能,本申请实施对此不作限定。

可选地,本申请实施例中可以将安装有解码组件120的设备称为音频解码设备,在实际实现时,该音频解码设备也可以具有音频编码功能,本申请实施对此不作限定。

图2描述了本发明一个实施例提供的音频编码方法的流程,包括:

201、获取音频信号的当前帧,所述当前帧包括高频带信号。

其中,当前帧可以是音频信号中的任意一个帧,在当前帧中可以包括高频带信号和低频带信号,其中,高频带信号和低频带信号的划分可以通过频带阈值确定,高于该频带阈值的信号为高频带信号,低于该频带阈值的信号为低频带信号,对于频带阈值的确定可以根据传输带宽、编码组件110和解码组件120的数据处理能力来确定,此处不做限定。

其中高频带信号和低频带信号是相对的,例如低于某个频率的信号为低频带信号,但是高于该频率的信号为高频带信号(该频率对应的信号既可以划到低频带信号,也可以划到高频带信号)。该频率根据当前帧的带宽不同会有不同。例如,在当前帧为0-8khz的宽带信号时,该频率可以为4khz;在当前帧为0-16khz的超宽带信号时,该频率可以为8khz。

202、根据所述高频带信号获得所述当前帧的高频带参数,所述高频带参数用于表示所述高频带信号包括的音调成分的位置、数量以及幅度或能量。

具体地,所述高频带参数包括音调成分的位置数量参数、以及所述音调成分的幅度参数或能量参数。其中,位置数量参数表示由同一个参数表示音调成分的位置和音调成分的数量。在另一种实施方式中,高频带参数包括音调成分的位置参数、音调成分的数量参数以及所述音调成分的幅度参数或能量参数;在这种情况下,音调成分的位置和数量采用不同的参数表示。

在一种具体实施方式中,所述高频带信号对应的高频带包括至少一个频率区域(tile),一个所述频率区域包括至少一个子带,所述根据所述高频带信号获得所述当前帧的高频带参数包括:根据所述至少一个频率区域中的当前频率区域的高频带信号,确定所述当前频率区域的音调成分的位置数量参数和所述当前频率区域的音调成分的幅度参数或能量参数。

在另一种实施方式中,所述根据所述至少一个频率区域中的当前频率区域的高频带信号,确定所述当前频率区域的音调成分的位置数量参数和所述当前频率区域的音调成分的幅度参数或能量参数前,所述方法包括:确定所述当前频率区域内是否包括音调成分;在所述当前频率区域内包括音调成分时,根据所述至少一个频率区域中的当前频率区域的高频带信号,确定所述当前频率区域的音调成分的位置数量参数和所述当前频率区域的音调成分的幅度参数或能量参数。从而仅获取具有音调成分的频率区域的参数,从而提高编码效率。

相应地,所述当前帧的高频带参数还包括音调成分指示信息,所述音调成分指示信息用于指示所述当前频率区域内是否包括音调成分。使得音频解码器可以根据该指示信息进行解码,提高解码效率。

其中,在一个实施方式中,所述根据所述至少一个频率区域中的当前频率区域的高频带信号,确定所述当前频率区域的音调成分的位置数量参数和所述当前频率区域的音调成分的幅度参数或能量参数包括:根据所述至少一个频率区域中的当前频率区域的高频带信号在所述当前频率区域内进行峰值搜索,以获得所述当前区域的峰值数量信息、峰值位置信息以及峰值幅度信息中的至少一种;根据所述当前频率区域的峰值数量信息、峰值位置信息以及峰值幅度信息中的至少一种,确定所述当前频率区域的音调成分的位置数量参数和所述当前频率区域的音调成分的幅度参数或能量参数。

其中,进行峰值搜索的高频带信号可以是频域信号,也可以是时域信号。

具体地,在一个实施方式中,所述峰值搜索具体可以根据当前频率区域的功率谱、能量谱或幅度谱中的至少一种进行。

其中,在一个实施方式中,所述根据所述当前频率区域的峰值数量信息、峰值位置信息以及峰值幅度信息中的至少一种,确定所述当前频率区域的音调成分的位置数量参数和所述当前频率区域的音调成分的幅度参数或能量参数包括:根据所述当前频率区域的峰值数量信息、峰值位置信息以及峰值幅度信息中的至少一种,确定所述当前频率区域的音调成分的位置信息,数量信息以及幅度信息;根据所述当前频率区域的音调成分的位置信息,数量信息以及幅度信息确定所述当前频率区域的音调成分的位置数量参数和所述当前频率区域的音调成分的幅度参数或能量参数。

203、对所述高频带编码参数进行码流复用,以得到编码码流。

其中,在一个实施方式中,所述当前频率区域的音调成分的位置数量参数包括n个比特位,n为所述当前频率区域包括的子带数量,所述n个比特位与所述当前频率区域包括的子带一一对应;其中,若所述当前频率区域包括的第一子带存在峰值,则所述n个比特位中与所述第一子带对应的比特位的值为第一值;或若所述当前频率区域包括的第二子带不存在峰值,则所述n个比特位中与所述第二子带对应的比特位的值为第二值,所述第一值与所述第二值不同。

在一个实施方式中,所述高频带参数还可以包括所述高频带信号的噪声基底参数。

在本发明的另一个实施例中,音频编码方法可以包括如下流程:

1、获取音频信号的高频带信号。

2、根据高频带信号,确定高频带参数。其中,具体可以包括如下4种情况。

情况1:高频带参数包括音调成分的位置参数、数量参数、幅度参数。

根据高频带信号,确定高频带参数,具体地可以是:

先根据高频带信号,获取高频带信号的功率谱。

再根据高频带信号的功率谱进行峰值搜索,得到峰值数量信息、峰值位置信息以及峰值幅度信息。其中,峰值搜索的方式有很多种,本发明实施例对峰值搜索的具体方式不做限定。例如,如果当前频点对应的功率谱的值与左、右相邻频点对应的功率谱的值相差较大,则该频点为峰值。

然后再根据峰值位置、峰值幅度以及峰值个数中的至少一种进行筛选,确定音调成分的位置参数、数量参数、幅度参数。

例如,根据峰值幅度进行筛选,可以是:将峰值幅度大于预先设定的阈值作为预设条件。

具体地,可以将符合预设条件的峰值数量作为音调成分的数量参数。

将对应的峰值位置作为音调成分的位置参数,或者根据对应的峰值位置确定音调成分的位置参数。例如根据对应的峰值位置得到峰值位置对应的子带序号,将峰值位置对应的子带序号作为音调成分的位置参数。

将对应的峰值幅度作为音调成分的幅度参数或者根据对应的峰值幅度确定音调成分的幅度参数。峰值幅度可以由频域信号的能量表征,也可以由频域信号的功率表征。可以用音调成分的能量参数替换音调成分的幅度参数,作为高频带参数。

如果在编码的过程中,将高频带划分成k个频率区域(tile),每一个频率区域内又划分为n个子带。根据高频带信号确定高频带参数,也可以在各个频率区域内进行。其中,k和n均为大于或等于1的整数。

情况2:高频带参数包括音调成分的位置数量参数、幅度参数。

在编码的过程中,可以将高频带划分成k个频率区域(tile),每一个频率区域内又划分为n个子带。高频带参数的确定,可以以频率区域为单位进行。这里以一个频率区域为例。根据高频带信号确定高频带参数的方法,具体地可以是:

先根据高频带信号,获取高频带信号的功率谱。

再根据高频带信号的功率谱进行峰值搜索,得到峰值数量信息、峰值位置信息以及峰值幅度信息。

峰值搜索是以频率区域为单位进行的。对一个频率区域内的高频带信号的功率谱进行峰值搜索,得到频率区域内的峰值数量信息、峰值位置信息以及峰值幅度信息。

根据峰值位置、峰值幅度以及峰值个数中的至少一种进行筛选,确定音调成分的位置数量参数、幅度参数。

根据峰值位置、峰值幅度以及峰值个数中的至少一种进行筛选,确定音调成分的位置参数、数量参数、幅度参数。

音调成分的位置参数可以是频率区域内存在峰值的子带的序号。音调成分的数量参数是频率区域内存在峰值的子带的数量。音调成分的幅度参数可以等于频率区域内存在峰值的子带的峰值幅度或者根据频率区域内存在峰值的子带的峰值幅度计算得到的。峰值幅度可以由频域信号的能量表征,也可以由频域信号的功率表征。可以用音调成分的能量参数替换音调成分的幅度参数,作为高频带参数。

根据音调成分的位置参数,确定音调成分的位置数量参数。

音调成分的位置数量参数可以由n位比特序列表示,n为一个频率区域内的子带个数。一种可能的情况是:比特序列由低位到高位分别表示子带的序号从小到大。另一种可能的情况是:比特序列由低位到高位分别表示子带的序号从大到小。除此之外,还可以预先规定比特序列的每一位所对应的子带的序号。

根据频率区域内存在峰值的子带的序号,判断n位比特序列中各个比特位对应的子带中是否存在峰值,得到n位比特序列,即音调成分的位置数量参数。如果比特位对应的子带序号等于频率区域内存在峰值的子带的序号,则比特位的值为1,否则该比特位的值为0。

例如,一个频率区域内的子带个数为5,音调成分的位置数量参数由5位比特序列表示,5位比特序列值的二进制表示为10011。假设5位比特序列由低位到高位分别表示子带的序号从小到大,则该比特序列的值表示频率区域内的第0、1、4子带存在峰值,即存在峰值的子带的序号为0、1、4。

情况3:高频带参数还可以包括噪声基底参数。情况3可以结合情况1或情况2实现。

根据所述高频带信号根据高频带信号,确定高频带参数,还包括:

根据所述高频带信号的功率谱,得到噪声基底的功率谱估计值;

根据噪声基底的功率谱估计值,得到待编码的噪声基底参数;

对所述待编码的噪声基底参数进行量化编码,以得到所述噪声基底参数。

情况4:高频带参数还可以包括信号类型信息。情况3可以结合情况1-3实现。

根据所述高频带信号根据高频带信号,确定高频带参数,还包括:根据音调成分的数量参数或者音调成分的位置数量参数,确定信号类型信息。具体地:

根据音调成分的数量参数,确定信号类型信息。例如,如果音调成分的数量参数的值大于0,则信号类型信息指示为音调信号类型。

根据音调成分的位置数量参数,确定信号类型信息。可以是,根据音调成分的位置数量参数得到音调成分的数量参数;根据音调成分的数量参数,确定信号类型信息。值得注意的是,如果在确定音调成分的位置数量参数已经获得了音调成分的数量参数,则不需要根据音调成分的位置数量参数得到音调成分的数量参数,直接根据音调成分的数量参数,确定信号类型信息即可。

信号类型信息可以用是否存在音调成分的标志来表示。是否存在音调成分的标志也可以称为音调成分指示信息。

例如,是否存在音调成分的标志值为1,表示存在音调成分。

如果是按照频率区域进行编码,信号类型信息的确定也要按照频率区域进行。信号类型信息可以用频率区域内是否存在音调成分的标志来表示。例如,频率区域内是否存在音调成分的标志值为1,表示该频率区域内存在音调成分。

3、对高频带参数进行码流复用,以得到编码码流。

针对情况4的特殊处理:如果信号类型信息指示为音调信号类型,则需要将信号类型信息和除信号类型信息外的高频带参数写入码流。否则,将信号类型信息写入码流。如果是按照频率区域进行编码,则对频率区域依次进行处理:如果频率区域对应的信号类型信息指示为音调信号类型,则需要将信号类型信息和除信号类型信息外的高频带参数写入码流;否则,将信号类型信息写入码流。

从上可知,本发明实施例中音频编码器会对高频带信号中的音调成分的位置、数量以及幅度或能量进行编码,从而使得音频解码器根据音调成分的位置、数量以及幅度或能量恢复音调成分,使得恢复的音调成分的位置和能量更准确,从而提高了解码信号的质量。

图3描述了本发明一个实施例提供的音频解码方法的流程,包括:

301、获取编码码流。

302、对所述编码码流进行码流解复用,以得到音频信号的当前帧的高频带参数,所述高频带参数用于表示所述当前帧的高频带信号包括的音调成分的位置、数量以及幅度或能量。

具体地,所述高频带参数包括音调成分的位置数量参数、以及所述音调成分的幅度参数或能量参数。其中,位置数量参数表示由同一个参数表示音调成分的位置和音调成分的数量。在另一种实施方式中,高频带参数包括音调成分的位置参数、音调成分的数量参数以及所述音调成分的幅度参数或能量参数;在这种情况下,音调成分的位置和数量采用不同的参数表示。

在一个实施方式中,所述高频带信号对应的高频带包括至少一个频率区域,一个所述频率区域包括至少一个子带;相应地,所述高频带参数包括所述当前帧的高频信号的音调成分的位置数量参数包括所述至少一个频率区域各自的音调成分的位置数量参数,所述当前帧的高频信号的音调成分的幅度参数或能量参数包括所述至少一个频率区域各自的音调成分的幅度参数或能量参数。

在一个实施方式中,所述对所述编码码流进行码流解复用,以得到音频信号的当前帧的高频带参数包括:获取所述至少一个频率区域的当前频率区域的音调成分的位置数量参数;根据所述当前频率区域的音调成分的位置数量参数从所述编码码流中解析所述当前频率区域的音调成分的幅度参数或能量参数。

在一个实施方式中,所述根据所述当前频率区域的音调成分的位置数量参数从所述编码码流中解析所述当前频率区域的音调成分的幅度参数或能量参数,包括:根据所述当前频率区域的音调成分的位置数量参数,确定所述当前频率区域的音调成分的数量参数;根据所述当前频率区域的音调成分的数量参数,从所述编码码流中解析所述当前频率区域的音调成分的幅度参数或能量参数。

在一个实施方式中,所述对所述编码码流进行码流解复用,以得到音频信号的当前帧的高频带参数包括:获取所述至少一个频率区域的当前频率区域的音调成分的位置数量参数;根据所述当前频率区域的音调成分的位置数量参数,确定当前频率区域的音调成分的位置参数和当前频率区域的音调成分的数量参数;根据所述当前频率区域的音调成分的数量参数从所述编码码流中解析所述当前频率区域的音调成分的幅度参数或能量参数。

在一个实施方式中,所述获取所述至少一个频率区域的当前频率区域的音调成分的位置数量参数前包括:获取所述当前频率区域的音调成分指示信息;所述音调成分指示信息用于指示所述当前频率区域内是否包括音调成分;当所述当前频率区域内包括音调成分时,获取所述至少一个频率区域的当前频率区域的音调成分的位置数量参数。从而可以仅对包括了音调成分的频率区域进行音调成分的参数的解码,提高解码效率。

在一个实施方式中,所述根据所述高频带参数获得所述当前帧的重建高频带信号包括:根据所述当前频率区域的音调成分的位置数量参数确定所述当前频率区域中音调成分的位置;根据所述当前频率区域的音调成分的幅度参数或能量参数确定所述音调成分的位置对应的幅度或能量;根据所述当前频率区域中音调成分的位置和所述音调成分的位置对应的幅度或能量获得所述重建高频带信号。

具体地,所述根据所述当前频率区域的高频信号的音调成分的位置数量参数确定所述当前频率区域中音调成分的位置可以包括:根据所述当前频率区域的高频信号的音调成分的位置数量参数,确定所述当前频率区域的音调成分的位置参数;根据所述当前频率区域的音调成分的位置参数,确定所述当前频率区域中音调成分位置。

303、根据所述高频带参数获得所述当前帧的重建高频带信号。

在一个实施方式中,所述根据所述高频带参数获得所述当前帧的重建高频带信号具体可以包括:根据所述当前频率区域的音调成分的位置参数,确定所述当前频率区域中音调成分位置;根据所述当前频率区域的音调成分的幅度参数或能量参数确定所述音调成分的位置对应的幅度或能量;根据所述当前频率区域中音调成分的位置和所述音调成分的位置对应的幅度或能量获得所述重建高频带信号。

具体地,所述根据所述当前频率区域中音调成分的位置和所述音调成分的位置对应的幅度获得所述重建高频带信号可以采用如下方式进行:

根据如下计算式确定音调成分的位置的频域信号:

pspectraldata[tone_pos]=tone_val

其中,pspectraldata表示所述当前频率区域的重建高频带频域信号,tone_val表示所述当前频率区域内音调成分的位置对应的幅度值,tone_pos表示所述当前频率区域内音调成分的位置。

304、根据所述当前帧的重建高频带信号获得所述当前帧的音频输出信号。

在一个实施例中,所述当前频率区域的音调成分的位置数量参数包括n个比特位,相应地,所述获取所述至少一个频率区域的当前频率区域的音调成分的位置数量参数包括:根据所述当前频率区域包括的子带数量从所述编码码流中读取n个比特位,所述n个比特位为所述当前频率区域的音调成分的位置数量参数,其中,n为所述当前频率区域包括的子带数量,所述n个比特位与所述当前频率区域包括的子带一一对应。

在一个实施方式中,所述当前频率区域的音调成分的位置参数用于指示所述当前频率区域中包括音调成分的子带的序号。

在一个实施方式中,所述当前频率区域中音调成分位置位于所述当前频率区域中音调成分所在子带的指定位置。例如,所述子带的指定位置可以为子带的中心位置,或子带的起始位置,或子带的结束位置。

本发明另一个实施例提供了一个音频解码方法,包括如下流程:

1、获取编码码流。

2、根据编码码流,得到高频带参数。

其中,高频带可以划分成k个频率区域(tile),每一个频率区域内又划分为n个子带。高频带参数的确定,可以以频率区域为单位进行。下面均以一个频率区域内根据编码码流得到高频带参数的方法为例。不同频率区域根据编码码流得到高频带参数的方法可以相同也可以不同。

情况1,可以通过如下流程获得高频带参数:

解析码流,确定音调成分的位置参数、数量参数、幅度参数。

解析码流,确定音调成分的数量参数。

根据音调成分的数量参数,解析码流,确定音调成分的位置参数。

根据音调成分的数量参数,解析码流,确定音调成分的幅度参数。

情况2,可以通过如下流程获得高频带参数:

解析码流,确定音调成分的位置数量参数。

音调成分的位置数量参数表征了音调成分的位置信息和音调成分的数量信息。解码侧解析码流,先获得音调成分的位置数量参数。音调成分的位置数量参数可以由n位比特序列表示,n为一个频率区域内的子带个数。

具体地,先根据频域分辨率确定频率区域内的子带个数num_subband;然后,根据频率区域内的子带个数num_subband,从码流中读取num_subband个比特位,即为音调成分的位置数量参数。

其中,频域分辨率tone_res[p]可以是预先设定的,也可以是从获得的编码码流中解析得到的。假设第p个频率区域的频带宽度为tile_width[p],则频率区域内的子带个数,可以是

num_subband=tile_width[p]/tone_res[p]

例如,频率区域内的子带个数为5,从码流中读取5个比特位,得到的音调成分的位置数量参数的二进制表示为10011。

频率区域内的子带个数num_subband还可以是预设的,可以直接根据频率区域内的子带个数num_subband,从码流中读取num_subband个比特位,即为音调成分的位置数量参数。

解析码流,确定音调成分的幅度参数。

首先,根据音调成分的位置数量参数得到音调成分的数量参数。

具体地,可以是:根据音调成分的位置数量参数,确定频率区域内存在音调成分的子带的数量,即音调成分的数量参数tone_cnt[p]。频率区域内存在音调成分的子带的数量等于音调成分的位置数量参数的二进制表示中取值为1的比特位的个数。

例如,音调成分的位置数量参数的二进制表示为10011。那么,频率区域内存在音调成分的子带的数量等于3,即音调成分的位置参数tone_cnt[p]=3。

当然,也可以用0表示子带存在音调成分,那么音调成分的位置数量参数的二进制表示为10011时频率区域内存在音调成分的子带的数量等于2,即音调成分的位置参数tone_cnt[p]=2。

然后,根据音调成分的数量参数解析码流,确定音调成分的幅度参数。

具体地,可以是:根据预先设定的比特数从码流中依次解析音调成分的幅度参数,音调成分的幅度参数的个数等于音调成分的数量参数。音调成分的幅度参数tone_val_q[p][i],i=0,…,tone_cnt[p]-1。

情况3:高频带参数还可以包括音调成分的位置数量参数、幅度参数。根据编码码流,得到高频带参数,还包括:解析码流,确定噪声基底参数。具体地,可以是:根据预先设定的比特数从码流中解析噪声基底参数noise_floor[p]。

情况4:高频带参数还包括信号类型信息。根据编码码流,得到高频带参数,还包括:解析码流,确定信号类型信息。

根据编码码流,得到高频带参数,具体地可以是:

解析码流,确定信号类型信息。

信号类型信息可以是指示该频率区域内是否存在音调成分的标志,也可以称为音调成分指示信息。

根据信号类型信息,判断是否需要解码除信号类型信息外的其他高频带参数。

如果频率区域内是否存在音调成分的标志值为1,即信号类型信息指示为音调信号类型,则继续进行码流解析。

解析码流,确定除信号类型信息外的其他高频带参数。

解析码流,确定除信号类型信息外的其他高频带参数的方法可以是解码侧的情况1、情况2、情况3的任意一种。

3、根据高频带参数,得到重建的高频带信号。

高频带可以划分成k个频率区域(tile),每一个频率区域内又划分为n个子带。高频带信号的重建,可以以频率区域为单位进行。下面均以一个频率区域内根据高频带参数得到重建的高频带信号的方法为例。不同频率区内域根据高频带参数得到重建的高频带信号的方法可以相同也可以不相同。根据各个频率区域内重建的高频带信号,获得重建的高频带信号。高频带信号可以是频域信号,也可以是时域信号

针对情况1:根据音调成分的数量参数、位置参数和音调成分的幅度参数,重建高频带信号。

例如,音调成分的位置参数表征了音调成分的位置对应的子带序号。音调成分的数量参数表征了音调成分的数量。根据音调成分的数量参数、位置参数和音调成分的幅度参数,重建当前帧的高频带信号。

具体地,可以是:

tone_pos=tile[p] (sfb 0.5)*tone_res[p]

tone_val=pow(2.0,0.25*tone_val_q[p][tone_idx]–4.0)

pspectraldata[tone_pos]=tone_val

其中,tile[p]为第p个频率区域的起始频点,sfb为音调成分的位置参数(即音调成分的位置对应的子带序号),tone_res[p]为子带的频域分辨率,tone_pos表示第p个频率区域内第tone_idx个音调成分对应的音调成分的位置。tone_val_q[p][tone_idx]表示第p个频率区域内的第tone_idx个音调成分对应的音调成分的幅度参数,tone_val表示第p个频率区域内第tone_idx个音调成分对应的幅度值。pspectraldata[tone_pos]表示音调成分的位置tone_pos对应的频域信号。tone_idx的取值范围属于[0,tone_cnt[p]-1],tone_cnt[p]为音调成分的数量参数。

在高频带范围内,如果频点号不等于音调成分位置tone_pos,则该频点上的频域信号可以直接设置为0。本发明对不存在音调成分的其他频点的重建方法不做限定。

针对情况2:音调成分的位置数量参数、幅度参数,重建当前帧的高频带信号。

(1)根据音调成分的位置数量参数,确定音调成分的位置参数。

音调成分的位置数量参数可以由n位比特序列表示,n为一个频率区域内的子带个数。具体地,可以是对音调成分的位置数量参数进行移位操作,以确定频率区域内存在音调成分的子带序号以及存在音调成分的子带数量。频率区域内存在音调成分的子带序号即为音调成分的位置参数。频率区域内存在音调成分的子带数量即为音调成分的数量参数。

一种可能的情况是:比特序列由低位到高位分别表示子带的序号从小到大。例如,频率区域内的子带个数为5,5位比特序列的最低比特位对应子带的序号为0,5位比特序列的最高比特位对应子带的序号为4。这种情况下,如果音调成分的位置数量参数的二进制表示为10011,频率区域内存在音调成分的子带序号分别为0、1、4。

另一种可能的情况是:比特序列由低位到高位分别表示子带的序号从大到小。例如,频率区域内的子带个数为5,5位比特序列的最低比特位对应子带的序号为4,5位比特序列的最高比特位对应子带的序号为0。这种情况下,如果音调成分的位置数量参数的二进制表示为10011,频率区域内存在音调成分的子带序号分别为0、3、4。

除此之外,比特序列的每一位所对应的子带的序号还可以是预先规定的,本发明不做限定。

根据音调成分的位置数量参数确定音调成分的位置参数的同时,可以获得音调成分的数量参数。频率区域内存在音调成分的子带序号的个数即音调成分的数量参数。

(2)根据音调成分的位置参数和音调成分的幅度参数,重建高频带信号。

计算音调成分的位置。

具体地可以是:根据音调成分的位置参数计算音调成分位置。

tone_pos=tile[p] (sfb 0.5)*tone_res[p]

其中,tile[p]为第p个频率区域的起始频点,sfb为频率区域内存在音调成分的子带序号,tone_res[p]为第p个频率区域的频域分辨率。频率区域内存在音调成分的子带序号即为音调成分的位置参数。0.5表示存在音调成份的子带中音调成分的位置位于子带的中心。当然重建的音调成分也可以位于子带的其他位置。

计算音调成分的幅度。

具体地可以是:根据音调成分的幅度参数计算音调成分的幅度。

具体地,可以是:

tone_val=pow(2.0,0.25*tone_val_q[p][tone_idx]–4.0)

其中,tone_val_q[p][tone_idx]表示第p个频率区域内的第tone_idx个位置参数对应的幅度参数,tone_val表示第p个频率区域内第tone_idx个位置参数对应的频点的幅度值。

tone_idx的取值范围属于[0,tone_cnt[p]-1],tone_cnt[p]为音调成分的数量参数。

根据音调成分的位置和音调成分的幅度,重建高频带信号

音调成分的位置tone_pos对应的频域信号,满足:

pspectraldata[tone_pos]=tone_val

其中,pspectraldata[tone_pos]表示音调成分的位置tone_pos对应的频域信号,tone_val表示第p个频率区域内第tone_idx个位置参数对应的频点的幅度值。tone_pos表示第p个频率区域内第tone_idx个位置参数对应的音调成分的位置。

在高频带范围内,如果频点号不等于音调成分的位置tone_pos,则该频点的频域信号可以直接设置为0。本发明对不存在音调成分的其他频点的重建方法不做限定。

4、根据重建的高频带信号,得到当前帧的音频信号。

本发明第三个实施例提供了一个音频解码方法,包括如下流程:

1、获取编码码流。

2、根据编码码流,得到高频带参数。

其中,高频带可以划分成k个频率区域(tile),每一个频率区域内又划分为n个子带。高频带参数的确定,可以以频率区域为单位进行。下面均以一个频率区域内根据编码码流得到高频带参数的方法为例。

(1)解析码流,确定音调成分的位置数量参数。

音调成分的位置数量参数表征了音调成分的位置信息和音调成分的数量信息。解码侧解析码流,先获得音调成分的位置数量参数。音调成分的位置数量参数可以由n位比特序列表示,n为一个频率区域内的子带个数。

具体地,先根据频域分辨率确定频率区域内的子带个数num_subband;然后,根据频率区域内的子带个数num_subband,从码流中读取num_subband个比特位,即为音调成分的位置数量参数。

其中,频域分辨率tone_res[p]可以是预先设定的,也可以是从获得的编码码流中解析得到的。假设第p个频率区域的频带宽度为tile_width[p],则频率区域内的子带个数,可以是

num_subband=tile_width[p]/tone_res[p]

例如,频率区域内的子带个数为5,从码流中读取5个比特位,得到的音调成分的位置数量参数的二进制表示为10011。

频率区域内的子带个数num_subband还可以是预设的,可以直接根据频率区域内的子带个数num_subband,从码流中读取num_subband个比特位,即为音调成分的位置数量参数。

(2)根据音调成分的位置数量参数,确定音调成分的位置参数和音调成分的数量参数。

音调成分的位置数量参数可以由n位比特序列表示,n为一个频率区域内的子带个数。具体地,可以是对音调成分的位置数量参数进行移位操作,以确定频率区域内存在音调成分的子带序号以及存在音调成分的子带数量。频率区域内存在音调成分的子带序号即为音调成分的位置参数。频率区域内存在音调成分的子带数量即为音调成分的数量参数。

一种可能的情况是:比特序列由低位到高位分别表示子带的序号从小到大。例如,频率区域内的子带个数为5,5位比特序列的最低比特位对应子带的序号为0,5位比特序列的最高比特位对应子带的序号为4。这种情况下,如果音调成分的位置数量参数的二进制表示为10011,频率区域内存在音调成分的子带序号分别为0、1、4。

另一种可能的情况是:比特序列由低位到高位分别表示子带的序号从大到小。例如,频率区域内的子带个数为5,5位比特序列的最低比特位对应子带的序号为4,5位比特序列的最高比特位对应子带的序号为0。这种情况下,如果音调成分的位置数量参数的二进制表示为10011,频率区域内存在音调成分的子带序号分别为0、3、4。

除此之外,比特序列的每一位所对应的子带的序号还可以是预先规定的,本发明不做限定。

根据音调成分的位置数量参数确定音调成分的位置参数的同时,可以获得音调成分的数量参数。频率区域内存在音调成分的子带序号的个数即音调成分的数量参数。

具体地,可以是:根据音调成分的位置数量参数,确定频率区域内存在音调成分的子带的数量,即音调成分的数量参数tone_cnt[p]。频率区域内存在音调成分的子带的数量等于音调成分的位置数量参数的二进制表示中取值为1的比特位的个数。

例如,音调成分的位置数量参数的二进制表示为10011。那么,频率区域内存在音调成分的子带的数量等于3,即音调成分的位置参数tone_cnt[p]=3。

当然,也可以用0表示子带存在音调成分,那么音调成分的位置数量参数的二进制表示为10011时频率区域内存在音调成分的子带的数量等于2,即音调成分的位置参数tone_cnt[p]=2。

(3)根据音调成分的数量参数,解析码流,确定音调成分的幅度参数。

具体地,可以是:根据预先设定的比特数从码流中依次解析音调成分的幅度参数,音调成分的幅度参数的个数等于音调成分的数量参数。音调成分的幅度参数tone_val_q[p][i],i=0,…,tone_cnt[p]-1。

3、根据高频带参数,得到重建的高频带信号。

高频带可以划分成k个频率区域(tile),每一个频率区域内又划分为n个子带。高频带信号的重建,可以以频率区域为单位进行。下面均以一个频率区域内根据高频带参数得到重建的高频带信号的方法为例。根据各个频率区域内重建的高频带信号,获得重建的高频带信号。高频带信号可以是频域信号,也可以是时域信号。

具体地,可以是根据音调成分的位置参数、数量参数、幅度参数,重建当前帧的高频带信号。音调成分的数量参数表证了音调成分的数量。一个位置上的音调成分的重建方法,具体的可以是:

(1)计算音调成分的位置。

具体地可以是:根据音调成分的位置参数计算音调成分位置。

tone_pos=tile[p] (sfb 0.5)*tone_res[p]

其中,tile[p]为第p个频率区域的起始频点,sfb为频率区域内存在音调成分的子带序号,tone_res[p]为第p个频率区域的频域分辨率。频率区域内存在音调成分的子带序号即为音调成分的位置参数。0.5表示存在音调成份的子带中音调成分的位置位于子带的中心。当然重建的音调成分也可以位于子带的其他位置。

(2)计算音调成分的幅度。

具体地可以是:根据音调成分的幅度参数计算音调成分的幅度。

具体地,可以是:

tone_val=pow(2.0,0.25*tone_val_q[p][tone_idx]–4.0)

其中,tone_val_q[p][tone_idx]表示第p个频率区域内的第tone_idx个位置参数对应的幅度参数,tone_val表示第p个频率区域内第tone_idx个位置参数对应的频点的幅度值。

tone_idx的取值范围属于[0,tone_cnt[p]-1],tone_cnt[p]为音调成分的数量。

(3)根据音调成分的位置和音调成分的幅度,重建高频带信号。

音调成分的位置tone_pos对应的频域信号,满足:

pspectraldata[tone_pos]=tone_val

其中,pspectraldata[tone_pos]表示音调成分的位置tone_pos对应的频域信号,tone_val表示第p个频率区域内第tone_idx个位置参数对应的频点的幅度值。tone_pos表示第p个频率区域内第tone_idx个位置参数对应的音调成分的位置。

在高频带范围内,如果频点号不等于音调成分的位置tone_pos,则该频点的频域信号可以直接设置为0。本发明对不存在音调成分的其他频点的重建方法不做限定。

4、根据重建的高频带信号,得到当前帧的音频信号。

从上可知,本发明实施例中音频编码器会对高频带信号中的音调成分的位置、数量以及幅度或能量进行编码,从而使得音频解码器根据音调成分的位置、数量以及幅度或能量恢复音调成分,使得恢复的音调成分的位置和能量更准确,从而提高了解码信号的质量。

图6描述了本发明一个实施例提供的音频编码器的结构,包括:

信号获取单元601,用于获取音频信号的当前帧,所述当前帧包括高频带信号;

参数获取单元602,用于根据所述高频带信号获得所述当前帧的高频带参数,所述高频带参数用于表示所述高频带信号包括的音调成分的位置、数量以及幅度或能量;

编码单元603,用于对所述高频带编码参数进行码流复用,以得到编码码流。

在一个实施方式中,所述音频编码器还可以包括:确定单元,用于确定所述当前频率区域内是否包括音调成分;所述参数获取单元,具体用于在所述当前频率区域内包括音调成分时,根据所述至少一个频率区域中的当前频率区域的高频带信号,确定所述当前频率区域的音调成分的位置数量参数和所述当前频率区域的音调成分的幅度参数或能量参数。

其中,音频编码器的具体实现可以参考前述的音频编码方法,此处不再赘述。

从上可知,本发明实施例中音频编码器会对高频带信号中的音调成分的位置、数量以及幅度或能量进行编码,从而使得音频解码器根据音调成分的位置、数量以及幅度或能量恢复音调成分,使得恢复的音调成分的位置和能量更准确,从而提高了解码信号的质量。

图7描述了本发明一个实施例提供的音频解码器的结构,包括:

接收单元701,用于获取编码码流;

解复用单元702,用于对所述编码码流进行码流解复用,以得到音频信号的当前帧的高频带参数,所述高频带参数用于表示所述当前帧的高频带信号包括的音调成分的位置、数量以及幅度或能量;

重建单元703,用于根据所述高频带参数获得所述当前帧的重建高频带信号;根据所述当前帧的重建高频带信号获得所述当前帧的音频输出信号。

其中,音频解码器的具体实现可以参考前述的音频编码方法,此处不再赘述。

从上可知,本发明实施例中音频编码器会对高频带信号中的音调成分的位置、数量以及幅度或能量进行编码,从而使得音频解码器根据音调成分的位置、数量以及幅度或能量恢复音调成分,使得恢复的音调成分的位置和能量更准确,从而提高了解码信号的质量。

需要说明的是,上述装置各模块/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其带来的技术效果与本申请方法实施例相同,具体内容可参见本申请前述所示的方法实施例中的叙述,此处不再赘述。

本申请实施例还提供一种计算机存储介质,其中,该计算机存储介质存储有程序,该程序执行包括上述方法实施例中记载的部分或全部步骤。

接下来介绍本申请实施例提供的另一种音频编码设备,请参阅图8所示,音频编码设备800包括:

接收器801、发射器802、处理器803和存储器804(其中音频编码设备800中的处理器803的数量可以一个或多个,图8中以一个处理器为例)。在本申请的一些实施例中,接收器801、发射器802、处理器803和存储器804可通过总线或其它方式连接,其中,图8中以通过总线连接为例。

存储器804可以包括只读存储器和随机存取存储器,并向处理器803提供指令和数据。存储器804的一部分还可以包括非易失性随机存取存储器(non-volatilerandomaccessmemory,nvram)。存储器804存储有操作系统和操作指令、可执行模块或者数据结构,或者它们的子集,或者它们的扩展集,其中,操作指令可包括各种操作指令,用于实现各种操作。操作系统可包括各种系统程序,用于实现各种基础业务以及处理基于硬件的任务。

处理器803控制音频编码设备的操作,处理器803还可以称为中央处理单元(centralprocessingunit,cpu)。具体的应用中,音频编码设备的各个组件通过总线系统耦合在一起,其中总线系统除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都称为总线系统。

上述本申请实施例揭示的方法可以应用于处理器803中,或者由处理器803实现。处理器803可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器803中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器803可以是通用处理器、数字信号处理器(digitalsignalprocessing,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器804,处理器803读取存储器804中的信息,结合其硬件完成上述方法的步骤。

接收器801可用于接收输入的数字或字符信息,以及产生与音频编码设备的相关设置以及功能控制有关的信号输入,发射器802可包括显示屏等显示设备,发射器802可用于通过外接接口输出数字或字符信息。

本申请实施例中,处理器803,用于执行前述图2所示的音频编码方法。

接下来介绍本申请实施例提供的另一种音频解码设备,请参阅图9所示,音频解码设备900包括:

接收器901、发射器902、处理器903和存储器904(其中音频解码设备900中的处理器903的数量可以一个或多个,图9中以一个处理器为例)。在本申请的一些实施例中,接收器901、发射器902、处理器903和存储器904可通过总线或其它方式连接,其中,图9中以通过总线连接为例。

存储器904可以包括只读存储器和随机存取存储器,并向处理器903提供指令和数据。存储器904的一部分还可以包括nvram。存储器904存储有操作系统和操作指令、可执行模块或者数据结构,或者它们的子集,或者它们的扩展集,其中,操作指令可包括各种操作指令,用于实现各种操作。操作系统可包括各种系统程序,用于实现各种基础业务以及处理基于硬件的任务。

处理器903控制音频解码设备的操作,处理器903还可以称为cpu。具体的应用中,音频解码设备的各个组件通过总线系统耦合在一起,其中总线系统除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都称为总线系统。

上述本申请实施例揭示的方法可以应用于处理器903中,或者由处理器903实现。处理器903可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器903中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器903可以是通用处理器、dsp、asic、fpga或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器904,处理器903读取存储器904中的信息,结合其硬件完成上述方法的步骤。

本申请实施例中,处理器903,用于执行前述图3所示的音频解码方法。

在另一种可能的设计中,当音频编码设备或音频解码设备为终端内的芯片时,芯片包括:处理单元和通信单元,所述处理单元例如可以是处理器,所述通信单元例如可以是输入/输出接口、管脚或电路等。该处理单元可执行存储单元存储的计算机执行指令,以使该终端内的芯片执行上述第一方面任意一项的方法。可选地,所述存储单元为所述芯片内的存储单元,如寄存器、缓存等,所述存储单元还可以是所述终端内的位于所述芯片外部的存储单元,如只读存储器(read-onlymemory,rom)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(randomaccessmemory,ram)等。

其中,上述任一处提到的处理器,可以是一个通用中央处理器,微处理器,asic,或一个或多个用于控制上述第一方面方法的程序执行的集成电路。

另外需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本申请提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。

通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用cpu、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都可以很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是多种多样的,例如模拟电路、数字电路或专用电路等。但是,对本申请而言更多情况下软件程序实现是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘、u盘、移动硬盘、rom、ram、磁碟或者光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。

所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘(solidstatedisk,ssd))等。

再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文章

  • 日榜
  • 周榜
  • 月榜