1.本发明属于数字音频信号处理技术领域,具体涉及一种应用于沉浸式音频系统中的自适应音频对象编解码方法及装置。
背景技术:
2.随着增强现实和虚拟现实技术的不断发展,用户对空间音频的需求越来越高,即希望空间音频可以响应视觉中显示的不同环境。如何对音频信号进行有效编码,是增加空间音频沉浸感中一个亟待解决的问题。
3.通常,传统的立体声或多声道编码是把不同的信号分别编码为各个独立信号,其码率与声道的数量成正比,并因此受限于当前网络带宽的限制条件而难以实现。基于声道的编码系统由于对扬声器数量和扬声器位置有严格的限制,导致其难以满足用户个性化的交互需求。空间音频对象编码(spatial audio object coding,saoc)中多个对象共用空间参数利用音频对象之间的冗余,降低码率,能在带宽出现波动情况下对音频信号进行有效编码。同时适应单通道、立体声、双耳或多通道等不同的配置环境,提升空间音频的沉浸感。
4.saoc将每帧信号固定划分为28个子带,并提取多个对象的空间参数和单通道下混信号,利用对象子带之间的冗余,实现了以较低的码率同时传输多个对象信号。但由于多个音频对象共用空间参数,导致解码的音频对象存在其他对象信号,即频谱混叠失真。
技术实现要素:
5.针对现有技术的不足,本发明提供一种应用于沉浸式音频系统中的自适应音频对象编解码方法及装置,用以解决现有对象编码方法中恢复的对象信号混叠失真严重的问题。
6.为了达到上述目的,本发明提供的技术方案是一种应用于沉浸式音频系统中的自适应音频对象编码方法,包括以下步骤:
7.步骤a1,输入独立的多音频对象,将多通道时域音频信号转换为频域信号;
8.步骤a2,对音频信号频谱进行活跃性检测,计算合并因子;
9.步骤a3,基于合并因子,对音频信号进行自适应子带分组;
10.步骤a4,基于子带分组,抽取音频对象的边信息;
11.步骤a5,对边信息进行压缩,得到边信息的低维特征表达;
12.步骤a6,对边信息的低维特征表达进行量化,得到边信息码流;
13.步骤a7,将音频频域信号下混得到下混信号,并利用单声道编码,得到下混信号码流;
14.步骤a8,对边信息码流和下混信号码流进行合成,得到编码码流.
15.而且,所述步骤a1中基于预设采样频率采集多个音频对象信号,形成多通道音频信号,对音频信号进行分帧处理,并基于预设重叠率的窗函数对分帧后的信号加窗处理,通过改进离散余弦变换mdct对多通道音频信号进行时域到频域变换,得到音频信号频谱。
16.而且,所述步骤a2中对输入的音频频域信号采用预设能量阈值算法获取音频对象每帧信号的单个频点的活跃状态,计算方式如下:
[0017][0018]
式中,i为帧序号,m为频点序号,j为音频对象序号,tfj(i,m)为频点活跃状态标志,ethhj()为设定的阈值,pj(,m)为频点能量。
[0019]
根据活跃状态,得到二元值的合并因子,计算方式如下:
[0020][0021]
式中,mf(i,m)为二元值的合并因子,j为对象数量。
[0022]
而且,所述步骤a3中当频点的合并因子为0时,将该频点和下一频点合并为一个子带,当频点的合并因子为1时,将该频点单独作为一个子带。
[0023]
而且,所述步骤a6中采用预设的量化表量化边信息的低维特征表达,获得边信息码流。
[0024]
本发明还提供一种应用于沉浸式音频系统中的自适应音频对象解码方法,用于对上述技术方案生成的编码进行解码,具体实现包括以下子步骤:
[0025]
步骤b1,对编码码流分解,得到边信息码流和下混信号码流;
[0026]
步骤b2,对边信息码流进行解量化,得到边信息解码信号;
[0027]
步骤b3,对边信息解码信号进行解压缩,得到重构的边信息;
[0028]
步骤b4,对下混信号码流进行解码,得到重构的下混信号;
[0029]
步骤b5,对重构的边信息和下混信号进行合成,得到多音频对象;
[0030]
步骤b6,将多音频对象转换为时域音频信号;
[0031]
步骤b7,基于渲染矩阵或者增益矩阵或者hrtf参数,对多音频对象进行渲染,输出个性化的多音频对象信号。
[0032]
而且,所述步骤b2中采用预设的量化表查找边信息量化值对应的数据,得到边信息解码信号。
[0033]
而且,所述步骤b3中采用反卷积解码器从低维的边信息表达中恢复出高维边信息,得到重构的边信息。
[0034]
而且,所述步骤b7中若采用多音箱多频对象进行回放,则采用渲染矩阵或者增益矩阵对解码后的单个对象时域信号进行渲染,得到个性化的多音频对象信号;若采用耳机对多音频对象进行回放,则采用hrtf函数对解码后的单个对象时域信号进行渲染,得到个性化的多音频对象信号。
[0035]
本发明还提供一种应用于沉浸式音频系统中的自适应音频对象编解码装置,包括转换模块、检测模块、分组模块、提取模块、编码模块、解码模块、合成模块和渲染模块。
[0036]
转换模块用于采集多通道音频信号,将多通道音频信号转换为音频频域信号。
[0037]
检测模块用于检测每个对象的活跃性,计算合并因子。
[0038]
分组模块用于根据合并因子对每帧信号进行自适应子带分组。
[0039]
提取模块用于根据子带分组提取边信息。
[0040]
编码模块用于编码边信息和下混信号,得到边信息和下混信号码流。
[0041]
解码模块用于解码边信息和下混信号,得到解码的边信息和下混信号。
[0042]
合成模块用于将解码的边信息和下混信号重构出音频对象信号。
[0043]
渲染模块用于基于渲染矩阵或者增益矩阵或者hrtf函数,对多音频对象进行渲染,输出个性化的多音频对象信号。
[0044]
与现有技术相比,本发明具有如下优点:
[0045]
本发明通过同时传输多个音频信号,根据对象混叠程度进行自适应子带划分,并利用边信息之间的非线性关系进行压缩,具有码率低、音频质量好的特点,能提升空间音频的沉浸感,满足用户的沉浸感听音需求。
附图说明
[0046]
图1是本发明实施例编码方法的流程示意图。
[0047]
图2是本发明实施例解码方法的流程示意图。
[0048]
图3是本发明实施例编解码装置的结构示意图。
具体实施方式
[0049]
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述。显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0050]
目前,在很多成熟的空间音频应用中,虽然采用了对象编码技术,但通常是将每帧信号固定划分为28个子带,由于多个音频对象共用空间参数,导致解码的音频对象存在其他对象信号,即频谱混叠失真。针对上述技术问题,本发明提供一种应用于沉浸式音频系统中的自适应音频对象编解码方法及装置,根据音频对象的活跃性对音频信号进行自适应子带分组。图1是本发明提供的用于沉浸式音频系统中的自适应音频对象编码方法的流程图,如图1所示,包括以下步骤:
[0051]
步骤a1,输入独立的多音频对象,将多通道时域音频信号转换为频域信号。
[0052]
基于预设采样频率采集多个音频对象信号,形成多通道音频信号。音频信号的采用频率可以为11025、22050、24000、44100、48000赫兹等,本实施例选用48000赫兹。对音频信号进行分帧处理,并基于预设重叠率的窗函数对分帧后的信号加窗处理,通过改进离散余弦变换(modified discrete cosine transform,mdct)对多通道音频信号进行时域到频域变换,得到音频信号频谱。常用的窗函数有海明窗、汉宁窗、凯塞-贝塞尔窗等,可以取50%、2/3重叠等常见重叠方式,mdct变换的点数可以取1024、2048常见数值。本实施例选择使用50%重叠,窗长为1024个采样点的凯塞-贝塞尔窗。
[0053]
步骤a2,对音频信号频谱进行活跃性检测,计算合并因子。
[0054]
对输入的音频频域信号采用预设能量阈值算法获取音频对象每帧信号的单个频点的活跃状态,计算方式如下:
[0055][0056]
式中,i为帧序号,m为频点序号,j为音频对象序号,tfj(i,m)为频点活跃状态标志,ethhj()为设定的阈值,pj(,m)为频点能量。
[0057]
根据活跃状态,得到二元值的合并因子,计算方式如下:
[0058][0059]
式中,mf(i,m)为二元值的合并因子,j为对象数量。
[0060]
步骤a3,基于合并因子,对音频信号进行自适应子带分组。
[0061]
当频点的合并因子为0时,将该频点和下一频点合并为一个子带,当频点的合并因子为1时,将该频点单独作为一个子带。
[0062]
步骤a4,基于子带分组,抽取音频对象的边信息。
[0063]
根据对象频点活跃性确定的子带分组,抽取音频对象的边信息。
[0064]
步骤a5,对边信息进行压缩,得到边信息的低维特征表达。
[0065]
采用卷积神经网络和残差块编码器压缩高维边信息,得到边信息的低维表达。
[0066]
步骤a6,对边信息的低维特征表达进行量化,得到边信息码流。
[0067]
采用预设的量化表量化边信息的低维特征表达,获得边信息码流。
[0068]
步骤a7,将音频频域信号下混得到下混信号,并利用单声道编码,得到下混信号码流。
[0069]
可以采用aac、opus、speex等编码器对单通道的下混信号进行编码,本实施例选择的是aac编码器。
[0070]
步骤a8,对边信息码流和下混信号码流进行合成,得到编码码流。
[0071]
将经过量化编码的边信息码流、单声道编码的下混信号和边信息码流进行复合得到编码码流输出。
[0072]
图2是本发明提供的应用于沉浸式音频系统中的自适应音频对象解码方法的流程图,如图2所示,包括以下步骤:
[0073]
步骤b1,对编码码流分解,得到边信息码流和下混信号码流。
[0074]
步骤b2,对边信息码流进行解量化,得到边信息解码信号。
[0075]
采用预设的量化表查找边信息量化值对应的数据,得到边信息解码信号。
[0076]
步骤b3,对边信息解码信号进行解压缩,得到重构的边信息。
[0077]
采用反卷积解码器从低维的边信息表达中恢复出高维边信息,得到重构的边信息。
[0078]
步骤b4,对下混信号码流进行解码,得到重构的下混信号。
[0079]
采用aac、opus、speex等解码器对单通道的下混信号进行解码,得到重构的下混信号。本实施例选择的是aac解码器。
[0080]
步骤b5,对重构的边信息和下混信号进行合成,得到多音频对象。
[0081]
对重构的边信息与下混信号相乘,以恢复对象信号能量。
[0082]
步骤b6,将多音频对象转换为时域音频信号。
[0083]
对多个音频对象信号进行频域到时域变换,得到多个对象时域信号。
[0084]
步骤b7,基于渲染矩阵或者增益矩阵或者hrtf函数,对多音频对象进行渲染,输出个性化的多音频对象信号。
[0085]
若采用多音箱多频对象进行回放,则采用渲染矩阵或者增益矩阵对解码后的单个对象时域信号进行渲染,得到个性化的多音频对象信号。若采用耳机对多音频对象进行回放,则采用头相关传输函数(head related transfer function,hrtf)对解码后的单个对象时域信号进行渲染,得到个性化的多音频对象信号。本实施例在恢复原始音频对象信号后,对音频的空间方位应用渲染器,对不同的回放设备采用不同的渲染技术,实现个性化的多音频对象。
[0086]
如图3所示,本发明还提供一种应用于沉浸式音频系统中的自适应音频对象编解码装置,包括转换模块41、检测模块42、分组模块43、提取模块44、编码模块45、解码模块46、合成模块47和渲染模块48。其中:转换模块41用于采集多通道音频信号,将多通道音频信号转换为音频频域信号;检测模块42用于检测每个对象的活跃性,计算合并因子;分组模块43用于根据合并因子对每帧信号进行自适应子带分组;提取模块44用于根据子带分组提取边信息;编码模块45用于编码边信息和下混信号,得到边信息和下混信号码流;解码模块46用于解码边信息和下混信号,得到解码的边信息和下混信号;合成模块47用于将解码的边信息和下混信号重构出音频对象信号;渲染模块48用于基于渲染矩阵或者增益矩阵或者hrtf函数,对多音频对象进行渲染,输出个性化的多音频对象信号。
[0087]
本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施案例,做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。