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

一种基于两级滤波的多步音频对象编解码方法与流程

2021-08-27 13:36:00 来源:中国专利 TAG:传输 对象 滤波 适用于 条件下
一种基于两级滤波的多步音频对象编解码方法与流程

本发明属于数字音频信号处理技术领域,具体涉及一种基于两级滤波的多步音频对象编解码方法,适用于码率有限条件下的多音频对象信号传输,允许在不同的码率要求下传输残差信息。



背景技术:

下一代音频系统与以前的系统有两个不同的特点:沉浸感和个性化。对于沉浸感,空间音频技术如mpegsurround[文献1]和nhk22.2[文献2]可以提供三维音频再现。对于性化,音频系统应根据用户需要兼容不同的播放环境和设备。此外,个性化音频系统应支持交互式音频服务。但传统的空间音频内容是传递给所有用户,而不考虑环境、偏好和设备等因素。基于声道的框架使得下一代音频系统的个性化特性难以实现[文献3]。

为了克服上述缺陷,实现个性化,音频系统的框架由基于声道向基于对象转变。在基于对象的编码框架中,声音场景中的音频对象可以由单独的音频流表示。这种方法可以兼容不同的扬声器布局,并且可以根据用户交互进行调整。其中最具代表性的是德国知名研究机构fraunhofer提出的空间音频对象联合编码技术(spatialaudioobjectcoding,saoc)[文献4]。该方法将频率划分为28个子带,提取每个子带的空间参数。通过这种方式,多个对象可以压缩成带有少量边信息的下混信号。然而,在同一个子带中使用相同的参数将导致频率混叠失真,一个音频目标信号将与其他目标信号成分混合。

有研究尝试利用残差信号来减少这些混叠的频率分量[文献5]。如果频率系数为1024,则每帧将有1024个残差数据需要记录。这使得未压缩的边信息数据量比传统的saoc高38倍。为了减小残差的大小,有方法提出[文献6]仅提取0~5.5khz频率区域的残差。但以上方法仅能良好恢复单个对象信号,其他对象信号仍然音质较差。[文献7]提出一种多步音频对象编码方法,将多个对象按照一定顺序循环下混,提取每个对象的残差信息,多个对象残差带来的数据激增采用奇异值分解(svd)方法进行减低。然而,残差信息中仍然含有大量冗余成分,导致比特率较高。

文献1:elfitri,i.,muharam,m.,andshobirin,m.:distortionanalysisofhierarchicalmixingtechniqueonmpegsurroundstandard.in:internationalconferenceonadvancedcomputerscienceandinformationsystem.ieee(2014).

文献2:ando,a.:conversionofmultichannelsoundsignalmaintainingphysicalpropertiesofsoundinreproducedsoundfield.ieeetransactionsonaudiospeechandlanguageprocessing19(6),1467-1475(2016).

文献3:walton,t.,evans,m.,kirk,d.,andmelchior,f.:exploringobject-basedcontentadaptationformobileaudio.personalandubiquitouscomputing22(4),707-720(2018).

文献4:breebaart,j.,engdeg°ard,j.,falch,c.,etal.:spatialaudioobjectcoding(saoc)-theupcomingmpegstandardonparametricobjectbasedaudiocoding.in:audioengineeringsocietyconvention124.audioengineeringsociety(2008).

文献5:kim,k.,seo,j.,beack,s.,kang,k.,hahn,m.:spatialaudioobjectcodingwithtwo-stepcodingstructureforinteractiveaudioservice.ieeetransactionsonmultimedia13(6),1208-1216(2011).

文献6:lee,b.,kim,k.,hahn,m.:efficientresidualcodingmethodofspatialaudioobjectcodingwithtwo-stepcodingstructureforinteractiveaudioservices.ieicetransactionsoninformationandsystems99(7),1949-1952(2016).

文献7:hu,c.,wang,x.,hu,r.,etal.:audioobjectcodingbasedonn-stepresidualcompensating.multimediatoolsandapplications,10.1007/s11042-020-10339-0,1-17(2021).



技术实现要素:

为解决多步音频对象编码码率较高的问题,本发明提供了一种基于两级滤波的多步音频对象编解码方法,能够在中低码率下进行高质量的音频编解码,保证所有音频对象都具有良好解码音质。

本发明所采用的技术方案是:一种基于两级滤波的多步音频对象编码方法,包括以下步骤:

步骤a1,将音频对象信号进行分帧加窗,将每帧数据其从时域变换到频域,得到每个音频对象的时频矩阵;

步骤a2,按照多步音频对象编码方法计算每个对象频域能量并进行排序,逐步下混并计算对应的边信息,所述边信息包含残差信息和增益参数;

步骤a3,根据人耳听觉阈值,计算第一级滤波器掩膜;利用第一级滤波器,去除每个音频对象残差矩阵中人耳难以感知的成分;

步骤a4,将残差信息进行子带划分,得到残差子带,根据残差子带内的平均频点能量,计算第二级滤波器掩膜,该掩膜用于滤除残差矩阵中的冗余数据;利用第二级滤波器,去除残差矩阵中的次要信息;

步骤a5,利用奇异值分解将滤波后的残差信息分解为左、右奇异矩阵与奇异值,所述左、右奇异矩阵与奇异值为残差分解矩阵;

步骤a6,量化奇异矩阵、奇异值及增益参数,获得边信息码流;

步骤a7,将步骤a3中最后一步得到的下混信号进行编码,获得下混信号码流;

步骤a8,步骤a6和步骤a7得到的码流合成为输出码流,传输到解码端。

进一步的,步骤a2中残差信息与增益参数的计算公式如下所示:

其中,i表示第i个对象,j表示第j帧,k表示第k个频点,b表示第b个子带;r(i,:,:)为第i 1个对象的残差信息,gt(i,:,:)为第i 1个对象的增益参数,为第i个下混信号的增益参数,公式中di表示第i步得到的下混信号,pt(i,:,:)为对象i的能量,pd(i,:,:)为第i步下混信号的能量;公式(1)中gd(i,j,b)和go(i,j,b)在进行乘法运算前会进行扩充,按照同子带内频点采用相同参数,将矩阵第三维从长度b扩展为长度k,n表示需要编码的对象个数。

进一步的,步骤a3中人耳听觉阈值的计算如下式所示;

其中,ts(f)反映了stft域下不同频率的人耳听觉阈值,f为频率值;然后将ts(f)转换为mdct域,将频率值f抽样与mdct域频点对应后,mdct域听力的绝对阈值可以表示为向量:

tm(k)=[tm(1),tm(2),...,tm(k)]#(4)

其中,tm是mdct域听力的绝对阈值,k为频点数,k表示第k个频点;

根据该向量,第一级滤波器的掩膜计算如下:

其中r(i,:,:)为mdct域中第i个对象的残差信息,m1的值可以确定人耳可以听到的残差信号,r(i,:,:)为第i 1个对象的残差信号。

进一步的,步骤a4中第二级滤波器的掩膜计算如下;

其中,abe(i,j,b)是第i个对象在第j帧第b个子带内的平均频点能量,m2是第二级滤波器的掩膜用于保留第一级滤波后残差信息中较为重要的部分,ab为子带划分的界限,根据人耳bark带确定;t是前n个abe元素构成的集合,n用来控制保留的残差子带数量。

进一步的,步骤a5中奇异值分解过程如下所示;

其中,r(i)p×q为第i 1个对象的残差信号,p等于mdct变换长度的一半,q等于帧数;u为左奇异矩阵,λ为奇异值矩阵,v为右奇异矩阵;λ矩阵中对角线上的奇异值按从大到小排序;为了进行降维,选择前r个奇异值和对应的奇异矩阵近似表示r(i),近似表示如下:

其中,为奇异值矩阵的一部分,为原始左右奇异矩阵的前50行或列,为残差分解矩阵。

进一步的,步骤a6中通过查表法来实现量化,在量化操作中,残差分解矩阵与增益参数中的元素取值范围不同,因此量化前通过归一化处理来统一量化表;然后根据每个元素值的大小在量化表中查找最接近的量化值,并将对应的量化索引作为边信息量化码流输出;另外,残差分解矩阵中的全0行或列可通过标志位进行标记,不必进行量化传输。

进一步的,步骤a7中最终下混信号为解码端进行对象信号重建的基础,采用mp3128k进行编码;步骤a8中合成输出码流指将最终下混信号码流与边信息码流进行码流合并,并添加标志位用于标识解析;最终下混信号码流指经mp3128k编码后的输出码流,边信息码流指残差分解矩阵与增益参数量化后输出的量化索引码流。

本发明还提供一种基于两级滤波的多步音频对象解码方法,用于对上述技术方案生成的编码进行解码;

具体实现包括以下子步骤:

步骤b1,解析接收到的码流,得到边信息码流与最终下混信号码流;

步骤b2,下混信号码流经过解码得到下混信号;

步骤b3,边信息码流经过去量化后得到左、右奇异矩阵、奇异值及对象增益参数;

步骤b4,左、右奇异矩阵与奇异值进行矩阵合成恢复出对象残差;

步骤b5,根据编码顺序反向解码,利用边信息从传输下混信号中循环重构音频对象频域信号;

步骤b6,利用时频反变换,将频域的音频对象信号转换到时域。

进一步的,步骤b3中,残差信息的分解阵中存在被标志位标记的全0行或列,当遇到此标志位时,直接插入全0行或列。

与现有多步音频对象编码技术相比,本发明的优势在于:通过第一级滤波器,去除残差信息中人耳无法感知的冗余成分;通过第二级滤波器,根据每个子带中残差信息的能量大小,保留主要残差成分;经过二级滤波后的残差信息进行奇异值分解,数据量要小于未经过滤波后的奇异值分解矩阵。因此,本发明可以通过压缩残差信息,降低多步音频编码方法码率,以满足中低码率下的传输需求。

附图说明

图1是本发明实施例的编码原理图;

图2是本发明实施例的下混示例图;

图3是本发明实施例的解码原理图。

具体实施方式

为了便于本领域的技术人员理解和实施本发明,下面结合附图以及具体实施示例对本发明的技术方案作进一步说明,应当理解,此处所描述的实施示例仅用于说明和解释本发明,并不用于限定本发明:

本发明在现有多步音频对象编码方法的基础上开展进一步研究,提出了基于二级滤波的残差信息压缩方法。首先,根据心理声学滤除频域上残差矩阵中人耳无法感知的成分,作为第一级滤波;其次,利用残差子带内的平均频点能量对每个对象的残差信息进行重要度排序,保留前n个残差子带,为权衡音质与码率一般情况下n=10,但也可根据码率要求自适应调整;最后,利用奇异值分解方法将残差信息分为三个低维矩阵,经过二级滤波后再进行奇异值分解会比直接进行奇异值分解得到的数据量低,因此可以达到压缩残差信息,降低多步音频对象编码码率的目的。

参见图1,本发明提出一种降低多步音频对象编码码率的残差信息压缩方法,本实施示例以四个输入对象(s1、s2、s3、s4)举例说明,输入的原始对象信号采样率为44.1khz,位深16位,wav音频格式。

具体实施示例包含以下步骤:

步骤a1:输入音频对象s1、s2、s3、s4(可包含语音、环境声、乐器声等多种不同类型的音频片段)。每个输入对象进行分帧、加窗后,利用时频变换从时域转换到频域,得到多个音频对象的时频矩阵;

本实施例中,通过分帧(2048个采样点为一帧)、加窗(汉宁窗,重叠度为50%)与改进离散余弦变换(mdct,变换长度为2048点)将时域上的多个音频帧,变为频域的二维频谱图。输出的是矩阵形式的音频对象数据,数据值表示在某帧某频率下的信号幅度。其中,矩阵的行向量表示帧、矩阵的列向量表示频点。

应注意的是,此处规定的音频参数和对象种类仅为举例说明本发明的实施过程,并不用于限定本发明。

应注意的是,此处规定的帧长,窗函数类型以及时频变换方式等仅举例说明本发明的具体实施步骤,并不用作限定本发明。

步骤a2:按照多步音频对象编码方法计算每个对象频域能量并进行排序,逐步下混并计算对应的增益参数与残差;

本实施例中,多步音频对象编码框架中的逐步下混是指,将当前处理流程中输入的两个矩阵进行矩阵相加,得到一个下混矩阵。中间步骤产生的下混信号并不作为传输码流进行传输,仅将最后一步下混得到的矩阵作为下混信号传输;边信息包含残差信息与增益参数矩阵;其中,对象增益参数通过对象对中两个输入信号的能量比计算得到;

残差信息与增益参数的计算公式如下所示:

其中,i表示第i个对象,j表示第j帧,k表示第k个频点,b表示第b个子带。r(i,:,:)为第i 1个对象的残差信息,gt(i,:,:)为第i 1个对象的增益参数,勾第i个下混信号的增益参数。公式中di表示第i步得到的下混信号,pt(i,:,:)为对象i的能量,pd(i,:,:)为第i步下混信号的能量。公式(1)中gd(i,j,b)和go(i,j,b)在进行乘法运算前会进行扩充,按照同子带内频点采用相同参数,将矩阵第三维从长度b扩展为长度k。在本实施实例中n=4,表示需要编码的对象个数。以上计算中子带的划分方式见表1。am表示每个子带边界的频点。

表1子带划分方式

应注意的是,此处规定的对象数量n=4仅为举例说明本发明的具体实施步骤,并不用作限定本发明。

结合本实例,多步音频对象编码下混与边信息计算过程如下(参见图2):第一步,将对象s1、s2作为对象对进行下混及参数提取(在第一步中,s1被视为下混信号d(0)进行计算),得到第一步的下混信号d(1),并计算得到对象s2的增益参数gt(1)及其残差r(1);第二步,将下混信号d(1)、s3作为新的输入进行下混及参数提取,得到第二步的下混信号d(2),并计算第三个对象s3的增益参数gt(2)及其残差p(2);第三步,将下混信号d(2)、s4作为新的输入对进行下混及参数提取,得到第三步的下混信号d(3)(即需要传输到解码端的最终下混信号),并计算第四个对象s4的增益参数gt(3)及其残差r(3)。经过以上过程,四个音频对象通过三步完成下混与边信息提取。

应注意的是,此处规定的编码顺序与步数仅为举例说明本发明的具体实施步骤,并不用作限定本发明。

步骤a3:根据人耳听觉阈值,计算第一级滤波器掩膜。利用第一级滤波器,去除每个音频对象时频矩阵中人耳难以感知的成分;

本实施例中,根据人耳听觉阈值,计算第一级滤波器掩膜,掩膜为二值化的0-1矩阵,矩阵大小与残差矩阵相同。

人耳听觉阈值的计算如下式所示:

其中,ts(f)反映了stft域下不同频率的人耳听觉阈值,f为频率值。在实施例中,采用的是改进的离散余弦变换(mdct)域。因此,需要经过四步将ts(f)转换到mdct域(四步分别是:反对数、逆stft、mdct和转换为db)。将频率值f抽样与mdct域频点对应后,mdct域听力的绝对阈值可以表示为向量:

tm(k)=[tm(1),tm(2),...,tm(k)]#(4)

其中,tm是mdct域听力的绝对阈值。k为频点数,在本是实施例中为1024,k表示第k个频点。

根据该向量,第一级滤波器的掩膜计算如下:

其中r(i,:,:)为mdct域中第i个对象的残差信息,m1的值可以确定人耳可以听到的残差信号。为进一步降低码率,可以仅考虑0-5.5khz的残差信息。因此,k的取值范围可以为[0,255]。

应注意的是,此处规定的频点数与k的取值范围仅为举例说明本发明的具体实施步骤,并不用作限定本发明。

步骤a4:残差信息同样依据表1进行子带划分,得到残差子带。根据残差子带内的平均频点能量,计算第二级滤波器掩膜,该掩膜用于滤除残差矩阵中的冗余数据;利用第二级滤波器,去除残差矩阵中的次要信息;

本实施例中,根据子带内的平均频点能量对剩余的残差信息进行排序。由于高频子带比低频子带包含更多的频点,只看总体能量无法有效判断该子带残差信息的重要程度,因此选用残差子带内的平均频点能量作为判断条件。

第二级滤波器的掩膜计算如下:

其中,abe(i,j,b)是第i个对象在第j帧第b个子带内的平均频点能量,m2是第二级滤波器的掩膜用于保留第一级滤波后残差信息中较为重要的部分。ab为子带划分的界限,根据人耳bark带确定。t是前n个abe元素构成的集合,n可以用来控制保留的残差子带数量。根据实验测试,在n<10的时候,随着保留能量较大的子带数量增加,解码误差急剧降低;n>10的时候,随着保留能量较大的子带数量增加,解码误差变化平缓。在权衡码率与音质的情况下n取10最佳。

步骤a5:利用奇异值分解将滤波后的残差信息分解为左、右奇异矩阵与奇异值。左、右奇异矩阵与奇异值为残差分解矩阵。由于两次滤波,该步得到的残差分解矩阵数据量得到降低;

本实施例中,通过矩阵分解对残差矩阵进行分解压缩,减少残差信息带来的数据量上升;原始残差矩阵会被分解为三个维度较小的残差分解矩阵,分别为左奇异矩阵、奇异值矩阵、右奇异矩阵;其中,奇异值矩阵仅传输矩阵对角线上的数值。

奇异值分解svd是一种矩阵特征值分解,用于将矩阵归约成其组成部分的矩阵分解方法,以使高维矩阵分解为几个低维矩阵进行表示,以达到数据压缩的目的。分解过程如下所示:

其中,r(i)p×q为第i 1个对象的残差信号,p等于mdct变换长度的一半(本实施例中为1024),q等于帧数。u为左奇异矩阵,λ为奇异值矩阵,v为右奇异矩阵。λ矩阵中对角线上的奇异值按从大到小排序。为了进行降维,可以选择前r个奇异值(取r=50)和对应的奇异矩阵近似表示r(i),近似表示如下:

其中,为奇异值矩阵的一部分,为原始左右奇异矩阵的前50行(或列)。为残差分解矩阵。经过两级滤波处理后的残差矩阵会存在大量区域的值为0,并且部分帧(即r(i)p×q的某列)整体为0。这使得残差分解矩阵也会存在大量的0元素,甚至某行列全部为0,减少了需要传输的数据量。

应注意的是,此处规定的r=50仅为举例说明本发明的具体实施步骤,并不用作限定本发明。

步骤a6:量化残差分解矩阵及增益参数,获得边信息码流(包含量化后的增益参数及残差分解矩阵);

本实施例中,可通过查表法来实现量化。在量化操作中,残差分解矩阵与增益参数中的元素取值范围不同,因此量化前通过归一化处理来统一量化表。然后根据每个元素值的大小在量化表中查找最接近的量化值,并将对应的量化索引作为边信息量化码流输出。需要注意的是,残差分解矩阵中的全0行或列可通过标志位进行标记,不必进行量化传输。

步骤a7:将步骤a3中的最终下混信号进行编码,获得下混信号码流;

本实施例中,最终下混信号为解码端进行对象信号重建的基础,可采用mp3128k进行编码。

应注意的是,对最终下混信号采用mp3128k编码仅为举例说明本发明的具体实施步骤,并不用作限定本发明。

步骤a8:步骤a6和步骤a7得到的码流合成为输出码流,传输到解码端。

合成输出码流指将最终下混信号码流与边信息码流进行码流合并,并添加标志位用于标识解析。最终下混信号码流指经mp3128k编码后的输出码流,边信息码流指残差分解矩阵与增益参数量化后输出的量化索引码流。

具体的解码恢复方法参见图2,该解码方法与多步音频编码方法一致,具体实施示例包含以下步骤(除步骤b3与多步音频编码方法有所区别,其他解码步骤不属于本发明创新内容,具体细节不再展开):

步骤b1:解析接收到的码流,得到边信息码流与最终下混信号码流;

步骤b2:下混信号码流经过mp3解码得到下混信号;

步骤b3:边信息码流经过去量化后得到左、右奇异矩阵、奇异值及对象增益参数;需要注意的是,残差信息的分解阵中存在被标志位标记的全0行或列,当遇到此标志位时,直接插入全0行或列。

步骤b4:左、右奇异矩阵与奇异值进行矩阵合成恢复出残差信息;

步骤b5:根据编码顺序反向解码,利用边信息从传输下混信号中循环重构音频对象频域信号;

步骤b6:利用时频反变换,将频域的音频对象信号转换到时域。

与现有音频对象编码方法相比,本发明具有的优势及特点是:

计算二值掩膜设计了两级滤波。其中,第一级滤波器去除残差信息中人耳无法感知的冗余成分;第二级滤波器根据每个子带中残差信息的能量大小,保留主要残差成分。经过两级滤波处理后的残差矩阵会存在大量区域的值为0,并且部分帧(即r(i)p×q的某列)整体为0。这使得残差分解矩阵中也会存在大量的0元素,甚至某行列全部为0,减少了需要传输的数据量。因此,本发明可以通过两级滤波压缩残差信息,降低多步音频编码方法码率,以满足中低码率下的传输需求。

再多了解一些

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

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

相关文章

  • 日榜
  • 周榜
  • 月榜