一种适应于流媒体的音频对象编解码方法与流程

文档序号:15183709发布日期:2018-08-17 09:19阅读:299来源:国知局

本发明涉及数字音频信号处理领域,涉及音频对象编码,具体涉及适用于流媒体的多音频对象高质量压缩编码。



背景技术:

音频编码技术已经从传统的单声道、立体声编码技术发展到更具沉浸感的多声道音频编码技术,并且基于多声道音频编码技术,已经实现了三维音频场景的编码与重建。但是音频场景是由音频对象组成的,而传统的基于声道的音频编码技术不能直接编码音频对象信号,灵活性低,从而不能满足用户对单个音频对象轨迹以及对音频场景个性化重建的需求。基于音频对象的音频编码技术可以将多个相互独立的音频对象进行编码传输,从而保证音频对象重建的灵活性、准确性以及用户个性化的需求,所以基于对象的音频编码技术被视为新一代音频编码技术。

国际上许多学者和科研机构都已开展音频对象编码的研究工作,并提出多种音频对象编码方法,如下表所示。其中具代表性的两种方法是由德国知名研究机构fraunhofer提出的空间音频对象编码技术(spatialaudioobjectcoding,saoc)以及由武汉大学提出的基于非负矩阵分解的对象编码方法(audioobjectcodingbasedonnon-negativematrixfactorization,nmf-basedaoc)。

(1)saoc方法在编码端基于子带为每一帧信号提取音频对象之间的能量比(objectsleveldifference,old)作为对象参数,并将所有音频对象信号进行降混合得到单声道或立体声混合信号;在解码端,利用对象参数old及混合信号可重建音频对象信号。saoc方法可以以单声道或者立体声的码率编码传输多个音频对象信号,大大提高了音频对象编码的效率。但是saoc方法基于少量子带提取参数可以实现低码率,所以重建得到的对象信号间会发生混淆,造成音质和主观听音感受较差。这是因为同一个子带共用一个参数,使得音频对象信号的频率成分不能得到准确地重建,所以在某些频率成分处有可能保留多个音频对象的能量,从而发生混淆。

(2)nmf-basedaoc方法针对saoc所存在的问题进行了进一步研究。该方法通过增加子带的数量有效缓解了对象信号间的混淆,提高重建音频对象信号的音质;同时,该方法在参数编码中引入非负矩阵分解方法,可以降低因为增加子带所增长的码率。但是,该方法只能对完整的音频对象信号进行编码,所以该方法不能应用于流媒体;并且非负矩阵分解方法对于待分解矩阵的所有元素的分解精度都是一样的,不能将重要频率成分对应的参数更准确地重建。

表1.多种音频对象编码方法简介



技术实现要素:

为解决现有音频对象编码方法存在的技术问题,本发明提供了一种可以以低码率实现高质量编码多个音频对象并且适用于流媒体的音频对象编码编码方法。

本发明提供的一种适用于流媒体的音频对象编码方法,用于同时处理多个音频对象,包括以下步骤:

步骤a1,对输入的多音频对象信号经过预处理操作,得到多帧音频对象信号构成的数据块以及对应的包含所有对象的单声道混合信号;

步骤a2,根据步骤a1得到的对象信号计算权值矩阵;

步骤a3,根据步骤a1得到的对象信号以及单声道混合信号,按照子带计算对象信号与混合信号能量比参数odlr,得到各对象的数据块相应的odlr参数矩阵;

步骤a4,根据步骤a2得到的权值矩阵,将步骤a3得到的odlr参数矩阵分解为系数矩阵和基矩阵;

步骤a5,对步骤a4得到的低维度的系数矩阵与基矩阵进行量化,得到矩阵量化码流;

步骤a6,对步骤a1输出的单声道混合信号进行单声道编码,得到混合信号的码流;

步骤a7,将步骤a5中获得的矩阵量化码流与步骤a6中获得的单声道混合信号的码流合成编码输出码流,传输到解码端。

而且,步骤a1中,所述预处理操作包括根据预设帧数将对象信号进行修正离散余弦变换,输出频域内矩阵形式的数据块,其中矩阵的行数或列数等于预设帧数,矩阵的列数或行数等于频点数。

而且,所述预设帧数是指对象信号数据块内所包含的帧数。

而且,步骤a1中,所述预处理操作包括将所有对象的数据块进行下混,得到对应的单声道混合信号。

而且,步骤a2中,所述权值矩阵是根据对象信号的频率成分特性计算得到,权值越大代表该频率成分越重要;每个对象信号的每个数据块都对应一个权值矩阵。

而且,步骤a3中,odlr参数是按照子带提取的,odlr参数矩阵维度为n×m,其中n代表帧数,m代表子带数。

而且,步骤a4中,所述将参数矩阵分解为系数矩阵与基矩阵是基于加权矩阵分解方法实现的,具有较大权值的频率成分所对应的参数会得到更准确地分解。

本发明还相应提供一种适用于流媒体的音频对象解码方法,用于同时处理多个音频对象,包括以下步骤:

步骤b1,分解码流,得到单声道混合信号的码流以及矩阵量化码流;

步骤b2,步骤b1得到的混合信号的码流经过单声道解码处理得到矩阵形式的单声道混合信号;

步骤b3,步骤b1得到的矩阵量化码流经过去量化操作得到系数矩阵与基矩阵;

步骤b4,根据步骤b3得到系数矩阵和基矩阵,经过矩阵合成操作得到odlr矩阵;

步骤b5,根据步骤b2得到的单声道混合信号与步骤b4得到的odlr矩阵重建音频对象信号;

步骤b6,将步骤b5得到的音频对象信号经过后处理操作得到时域内连续的音频对象信号。

而且,步骤b1中,所述的码流是对应于一个数据块的,每一个数据块对应的码流都需要经过所有的解码操作。

而且,步骤b3中,所述的去量化是指根据量化索引码流以及量化表得到系数矩阵和基矩阵的量化值,并经过去归一化操作得到重建的系数矩阵与基矩阵。

而且,步骤b4中,所述的odlr矩阵是系数矩阵与基矩阵经过矩阵相乘得到的,与音频对象信号一一对应。

而且,步骤b6中,所述后处理包括修正离散余弦逆变换和数据块拼接操作。

本方法支持以数据块的形式传输音频数据,可以适用于流媒体应用场景;并且本方法提高了参数频域分辨率,并利用基于加权的矩阵分解的方法降低参数编码所需码率,可以同时保证低码率和高质量地重建音频对象信号。与现有音频对象编码技术相比,本发明的性能优势在于:

1.将一个音频对象信号分为若干个数据块进行编码和传输,可以适用于流媒体应用场景;

2.为每一帧信号划分更多子带并提取参数,提高了对象参数的频域分辨率,可以有效缓解不同对象间的混淆效应,从而提升音质;

3.在参数编码过程中引入加权矩阵分解方法,不仅可以降低参数编码所需码率,还可以更准确地重建权值较大的频率成分所对应的参数,进而可以较高质量地重建音频对象信号。

附图说明

图1是本发明实施例的编码方法流程图。

图2是本发明实施例编码方法中预处理模块的流程图。

图3是本发明实施例的解码方法流程图。

具体实施方式

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

本发明在已有的音频对象编码基础上开展研究,提出了适用于流媒体的音频对象编解码方法。首先,本发明基于音频对象数据块进行编解码操作,保证该方法可适用于流媒体应用;然后,研究具备高频域分辨率的对象参数提取策略,可以有效减轻重建对象信号间的混淆;并利用基于加权的矩阵分解方法将对象参数odlr矩阵分解为两个低维矩阵,不仅可以达到降低码率的目的,还可以进一步保证矩阵分解的准确性。

参照图1,为本发明实施例提出的一种适用于流媒体的音频对象编码方法,可采用软件方式实现自动运行,也可以相应采用模块化方式实现各步骤:

预处理模块,用于对输入的多音频对象信号经过预处理操作,得到多帧音频对象信号构成的数据块以及对应的包含所有对象的单声道混合信号;

增益计算模块,用于根据预处理模块得到的对象信号计算权值矩阵;

参数提取模块,用于根据预处理模块得到的对象信号以及单声道混合信号,计算对象信号与混合信号能量比参数odlr,得到各对象的数据块相应的odlr参数矩阵;

矩阵分解模块,用于根据增益计算模块得到的权值矩阵,将参数提取模块得到的odlr参数矩阵分解为系数矩阵和基矩阵;

量化模块,用于对矩阵分解模块得到的低维度的系数矩阵与基矩阵进行量化,得到矩阵量化码流;

单声道编码模块,用于对预处理模块输出的单声道混合信号进行单声道编码,得到混合信号的码流;

码流合成模块,用于将矩阵分解模块中获得的矩阵量化码流与单声道编码模块中获得的单声道混合信号的码流合成编码输出码流,传输到解码端。

矩阵分解模块和量化模块都属于参数编码模块。

实施例提供的一种适用于流媒体的音频对象编码方法,具体包括以下步骤:

输入为多个音频对象信号,例如吉他、风铃等不同种类的音频对象信号,其采样频率为44.1khz,位深度为16位。

应该注意的是,此处规定的采样格式只是为了举例说明本发明的具体实施流程,并不用作限定本发明。

步骤a1:对输入的多音频对象信号经过预处理操作,得到多帧音频对象信号构成的数据块以及对应的包含所有对象的单声道混合信号;

进一步地,所述预处理操作包括根据预设帧数将对象信号进行修正离散余弦变换,输出频域内矩阵形式的数据块。其中矩阵的行数(或列数)等于预设帧数、矩阵的列数(或行数)等于频点数。

所述预设帧数是指对象信号数据块内所包含的帧数,同时它也反映了对象信号数据块的时长。当预处理模块接收到的对象信号达到预设帧数时,就会将这些数据进行修正离散余弦变换,输出对象信号数据块,每个对象都对应一个数据块;由于修正离散余弦变换的窗特性,相邻两个数据块之间会存在固定长度的重叠区域。

进一步地,所述预处理操作包括将所有对象的数据块进行下混,得到对应的单声道混合信号。

实施例中,

设有j个对象,预处理模块(如图2)首先将接收到的音频对象信号数据存入缓冲区,对象1、对象2…对象j的数据分别存入缓冲区1、2、…j。当缓冲区存储的对象信号长度等于预设帧数对应的长度时,将音频对象信号进行时域-频域变换,需经过分帧、加窗以及修正离散余弦变换操作。

其中,每一帧信号包含2048个点,加50%重叠的汉宁窗,修正离散余弦变换为2048点。时域-频域变换操作后输出为矩阵形式的频域音频对象信号,矩阵的行数(或列数)等于帧数,列数(或行数)等于频点数。

应该注意的是,此处规定的帧容量、窗函数类型以及变换形式只是为了举例说明本发明的具体实施流程,并不用作限定本发明。

另一方面,时频变换模块输出的音频对象信号数据块在频域内相加下混得到对应的混合信号数据块。例如对象1~j各自的第k个数据块进行下混得到混合信号的第k个数据块。

步骤a2:根据步骤a1得到的对象信号计算权值矩阵;

不同频率成分的权值不同,它反映了该成分对重建信号音质影响的大小。本发明进一步提出,权值矩阵根据对象信号频率特性计算得到,如下所示:

其中vj(n,m)为第j音频对象信号第n帧第m个子带对应的权值,oj(n,m)为第j音频对象信号第n帧第m个子带对应的频率成分;n、m分别为帧序号和子带序号,n、m分别代表帧数量和子带数量;exp()表示以自然数e为底数的指数函数,括号中的量为幂。权值越大代表该频率成分越重要;每个对象信号的每个数据块都对应一个权值矩阵。

步骤a3:根据步骤a1得到的对象信号及单声道混合信号计算对象信号与混合信号能量比参数(objectdown-mixlevelratio,odlr),得到各对象的数据块相应的odlr参数矩阵;

所述odlr参数是按照子带提取的,且odlr参数矩阵维度为n×m,其中n代表帧数,m代表子带数。

本发明基于子带提取参数,所以预处理模块输出的多个音频对象信号以及混合信号首先经过子带划分操作,然后提取两者之间的能量比,如下式所示:

其中oj(n,m)为第j音频对象信号第n帧第m个子带对应的频率成分;od(n,m)为混合信号第n帧第m个子带对应的频率成分;ratio()函数的功能是计算第j个音频对象信号oj与混合信号od之间的能量比,j、n、m分别代表音频对象数量、帧的数量以及子带数量。由上式也可以看出,odlr矩阵与音频对象一一对应,即每个音频对象有一个odlr参数矩阵。

步骤a4:根据步骤a2得到的权值矩阵,将步骤a3得到的odlr参数矩阵分解为系数矩阵和基矩阵。

所述将参数矩阵分解为系数矩阵与基矩阵是基于加权矩阵分解方法实现的,具有较大权值的频率成分所对应的参数会得到更准确地分解。

所述的系数矩阵与基矩阵的维度分别为n×k和k×m;具体实施时,其中k的值可由实验验证得到,且k值远小于n和m的值。

本发明实施例中,矩阵分解模块将维度为n×m的odlr参数矩阵分解为低维度的系数矩阵h以及基矩阵w,分解目标函数以及迭代更新过程如下所示:

公式(3)为目标函数,公式(4)为迭代更新公式,即经过多次迭代优化后得到的分解结果应满足目标函数,该分解结果即为所求系数矩阵与基矩阵。

其中odlrj表示第j个音频对象信号的参数矩阵,odlrj(n,m)表示该参数矩阵中的元素;hj,wj分别为第j个对象对应的系数矩阵与基矩阵,表达式x。y表示矩阵x与矩阵y的对应元素相乘。k值代表基成分的数量,k值远小于n和m,所以能够实现压缩码率的目的。表示维度为n×m的正实数矩阵,表示维度为k×m的正实数矩阵,表示维度为n×k的正实数矩阵。

应该注意的是,此处规定的加权矩阵分解方法的目标函数与迭代更新公式只是为了举例说明本发明的具体实施流程,并不用作限定本发明。

步骤a5:对步骤a4得到的低维度的系数矩阵与基矩阵进行量化,得到矩阵量化码流;

所述量化通过查表法实现,具体实施时可以预先定义实验所得量化表。在量化前对系数矩阵与基矩阵元素值进行归一化处理,根据归一化后的元素值在量化值中找到最接近的,并将量化值对应的量化索引作为矩阵量化码流输出。

本发明实施例的量化模块首先将矩阵分解模块输出的系数矩阵与基矩阵内的所有元素进行归一化,然后根据量化表将归一化后的元素值进行量化,并把对应的二进制表示的量化索引输出为矩阵量化码流。

步骤a6:对步骤a1输出的单声道混合信号进行单声道编码,得到混合信号的码流;

本发明沿用已有的单声道编码技术,如aac,将步骤a1输出的混合信号进行编码,输出混合信号的码流。

步骤a7:将步骤a5中获得的矩阵量化码流与步骤a6中获得的单声道混合信号的码流合成编码输出码流,传输到解码端。

编码输出码流是指将混合信号的码流与矩阵量化码流进行整合。混合信号的码流是指混合信号经aac编码器编码后输出的码流;所述矩阵量化码流是指系数矩阵与基矩阵量化后所输出的量化索引码流。

终上所述,在编码端:输入的多个音频对象信号首先经过预处理模块,从时域变换到频域,多帧信号组成一个数据块输出,并经过降混合得到一个单声道混合信号;音频对象信号数据块一方面用于计算增益矩阵,另一方面与混合信号一起用于提取参数;增益矩阵与参数矩阵一起输入矩阵分解模块得到低维度的系数矩阵和基矩阵;最后将混合信号、系数矩阵、基矩阵合成码流。相应地,则在解码端:首先分解码流,根据系数矩阵与基矩阵重建得到参数矩阵;然后根据参数矩阵和混合信号对音频对象信号进行重建。

参照图3,为本发明实施例提出的一种适用于流媒体的音频对象解码方法,可采用软件方式实现自动运行,也可以相应采用模块化方式实现各步骤:

码流解析模块,用于分解码流,得到单声道混合信号的码流以及矩阵量化码流;

单声道解码模块,用于将码流解析模块得到的混合信号的码流经过单声道解码处理得到矩阵形式的单声道混合信号;

去量化模块,用于将码流解析模块得到的矩阵量化码流经过去量化操作得到系数矩阵与基矩阵;

矩阵合成模块,用于根据去量化模块得到系数矩阵和基矩阵,经过矩阵合成操作得到odlr矩阵;

对象合成模块,用于根据单声道解码模块得到的单声道混合信号与矩阵合成模块得到的odlr矩阵重建音频对象信号;

后处理模块,用于将对象合成模块得到的音频对象信号经过后处理操作得到时域内连续的音频对象信号。

实施例提出的一种适用于流媒体的音频对象解码方法,具体包含以下步骤:

步骤b1:分解码流,得到单声道混合信号的码流以及矩阵量化码流;

所述的码流是对应于一个数据块的,每一个数据块对应的码流都需要经过所有的解码操作。

分解码流是根据合成编码输出码流的方法进行反演,得到混合信号的码流以及矩阵量化码流。

步骤b2:步骤b1得到的混合信号的码流经过单声道解码处理得到矩阵形式的单声道混合信号,此时得到的是时域信号;

与单声道编码对应,混合信号的码流经过与编码器对应的解码器(如aac解码器解码得到混合信号。

步骤b3:步骤b1得到的矩阵量化码流经过去量化操作得到系数矩阵与基矩阵;

所述的去量化是指根据量化索引码流以及量化表得到系数矩阵和基矩阵的量化值,并经过去归一化操作得到重建的系数矩阵与基矩阵。

依次读取矩阵量化码流中包含的量化索引,每一个量化索引对应系数矩阵或基矩阵中的一个元素值,然后根据量化索引和量化表读取量化值作为该元素值并去归一化,进而可以得到对应于每个音频对象的量化后的系数矩阵与基矩阵

步骤b4:根据步骤b3得到系数矩阵和基矩阵,经过矩阵合成操作得到odlr重建矩阵;

所述的odlr矩阵是系数矩阵与基矩阵经过矩阵相乘得到的,与音频对象信号一一对应。

实施例中,

与矩阵分解相对应,根据系数矩阵与基矩阵可以通过矩阵运算重建参数矩阵重建过程如下式所示:

步骤b5:根据步骤b2得到的单声道混合信号与步骤b4得到的odlr矩阵重建音频对象信号;

设步骤b2得到的单声道混合信号相应频域信号为od(n,m),根据混合信号od(n,m)以及重建参数矩阵与参数提取相对应,可以对音频对象信号进行重建,得到重建信号如下式所示:

其中,为参数矩阵中的元素。

步骤b6:将步骤b5得到的音频对象信号经过后处理操作得到时域内连续的音频对象信号。

所述后处理包括修正离散余弦逆变换和数据块拼接操作。

所述的修正离散余弦逆变换将矩阵形式的音频对象信号变换为时域信号,不同数据块之间仍存在重叠区域;

所述数据块拼接操作是指根据不同数据块之间的重叠区域长度,将两个数据块的音频内容平滑地拼接在一起,生成时域内连续的音频对象信号。

实施例中,后处理操作包括两部分,首先,步骤b5得到的重建信号为一个音频对象数据块的频域数据,所以需要经过修正离散余弦逆变换由频域信号转换为时域信号;然后是将一个对象的不同数据块根据重叠区域的长度进行拼接,最终输出时域内连续的解码音频对象信号。

与现有音频对象编码方法相比,本发明具有的积极效果是:

本发明将音频对象信号分为若干个数据块进行编码和传输,适用于流媒体应用场景;编码过程中为每一帧信号划分更多子带并提取参数,提高了对象参数的频域分辨率,可以有效缓解不同对象间的混淆效应,提升音质;在参数编码过程中引入加权矩阵分解方法,不仅可以降低参数编码所需码率,还可以更准确地重建权值较大的频率成分所对应的参数,进而可以较高质量地重建音频对象信号。

因此,本发明在保证高质量编码音频对象的同时保证较低的码率,并适用于流媒体应用场景,为同时高质量编码多个音频对象提供了更好的解决方案。

应当理解的是,本说明书未详细阐述的部分均属于现有技术。

应当理解的是,上述针对较佳实施例的描述较为详细,并不能因此而认为是对本发明专利保护范围的限制,本领域的普通技术人员在本发明的启示下,在不脱离本发明权利要求所保护的范围情况下,还可以做出替换或变形,均落入本发明的保护范围之内,本发明的请求保护范围应以所附权利要求为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1