用于通过应用分布量化和编码分裂音频信号包络的音频信号包络编码、处理和解码的装...的制作方法_4

文档序号:9583663阅读:来源:国知局
的第三参数值,其中k为表示一个或多个编码值中的一 个的索引的整数,其中c(k+1)-c(k)为两个聚合值c(k+Ι)和c(k)的第一差值,以及其中 f(k+1)-f(k)为两个参数值f(k+Ι)和f(k)的第二差值。
[0215] 例如,c(k+l)为被分配给第k+1个编码值的第一聚合值。f(k+1)为被分配给第 k+Ι个编码值的第一参数值。c(k)为被分配给第k个编码值的第二聚合值。f(k)为被分配 给第k个编码值的第二参数值。c(k-Ι)为被分配给第k-Ι个编码值的第三聚合值。f(k-1) 为被分配给第k-1个编码值的第三参数值。
[0216] 通过指定将聚合值分配给第k个编码值,这意味着,例如,第k个编码值指示该聚 合值,和/或第k个编码值指示该聚合值所属的聚合点的参数值。
[0217] 通过指定将参数值分配给第k个编码值,这意味着,例如,第k个编码值指示该参 数值,和/或第k个编码值指示该参数值所属的聚合点的聚合值。
[0218] 在特定的实施例中,例如,编码值k_l、k和k+Ι为如上所述的分裂点。
[0219] 例如,在一实施例中,图1的信号包络重建器110可以,例如,用于依据一个或多个 分裂点生成聚合函数,其中聚合函数包括多个聚合点,其中聚合点中的每个包括参数值和 聚合值,其中聚合函数单调递增,并且其中一个或多个分裂点中的每个表示聚合函数的聚 合点中的一个的参数值和聚合值中的至少一个。
[0220] 在此实施例中,信号包络重建器110可以,例如,用于生成音频信号包络,以使得 音频信号包络包括多个包络点,其中包络点中的每个包括参数值和包络值,并且其中音频 信号包络的包络点被分配给聚合函数的聚合点中的每个,以使得该包络点的参数值等于该 聚合点的参数值。
[0221] 此外,在此实施例中,信号包络重建器110可以,例如,用于生成音频信号包络,以 使得音频信号包络的包络点中的每个的包络值取决于聚合函数的至少一个聚合点的聚合 值。
[0222] 在特定的实施例中,信号包络重建器110可以,例如,用于通过确定第一差值和第 二差值的比值以确定音频信号包络,该第一差值为聚合函数的聚合点中的第一聚合点的第 一聚合值(c(k+Ι))和聚合函数的聚合点中的第二聚合点的第二聚合值(c(k-1) ;c(k))之 间的差值,该第二差值为聚合函数的聚合点中的该第一聚合点的第一参数值(f(k+1))和 聚合函数的聚合点中的该第二聚合点的第二参数值(f(k-l) ;f(k))之间的差值。为此,信 号包络重建器110可以用于实现如为包络生成器1620所解释的如上所述的构思中的一个。
[0223] 左和最右的边不能使用用于导数的上述方程式,因为c(k)和f(k)在其定义的范 围之外是不可用的。然后,在k的范围之外的这些c(k)和f(k)可被结束点处的值替换,以 使得
[0224]
[0225]
[0226]
[0227]由于存在四个约束(两个结束点处的累积质量和导数),对应的样条函数可被选 为四阶多项式。
[0228] 图8示出在(a)原始和(b)累积质量域中的插值谱质量包络的示例。
[0229] 在(a)中,原始信号包络由810指示,插值谱质量包络由820指示。分裂点分别由 831、832、833和834指示。838指示信号包络的开始,以及839指示信号包络的结束。
[0230] 在(b)中,840指示累积的原始信号包络,以及850指示累积的谱质量包络。分裂 点分别由861、862、863和864指示。分裂点的位置分别由累积的原始信号包络840上的点 851、852、853和854指示。在X轴上,868指示原始信号包络的开始,以及869指示原始信 号包络的结束。869和859之间的线指示总值。
[0231] 实施例提供用于对分离块的频率进行编码的构思。频率表示标量&的顺序列表, 即,fk〈fk+1。如果存在K+1个块,则存在K个分裂点。 (N、\
[0232] 进一步地,如果存在N个量化等级,则存在 个可能的量化。例如,对于32个量 化等级和5个分裂点,存在可以以18个比特位编码的201376个可能的量化。
[0233] 应当观察到的是,在MPEGUSAC[5]中的瞬态转向解相关器(TSD)工具具有对0到 N-1范围内的K个位置进行编码的相似问题,借此相同或相似的枚举技术可用于对当前问 题的频率进行编码。此编码算法的优点在于,它具有恒定的比特消耗。
[0234] 可选地,为了进一步改善准确性或减少比特率,可以使用传统的向量量化技术,如 用于LSF的量化的技术。利用此方法,可以获得较高的量化等级,且可以对关于平均失真的 量化进行优化。缺点在于,例如,需要存储编码本,反之,TSD方法使用群集的代数枚举。
[0235] 下面,描述根据实施例的算法。
[0236] 首先,考虑一般的应用情形。
[0237] 特别地,以下在类SBR场景中描述了所提出的用于对谱包络进行编码的分布量化 方法的实际应用。
[0238] 根据一些实施例,编码器用于:
[0239] -从原始音频信号计算HF带的谱幅度或能量值;和/或
[0240] -计算将谱包络分裂成K+1个等质量的块的预定义(或任意的、传输的)数量的 K个子带索引;和/或
[0241] -使用和TSD[5]中一样的算法对索引进行编码;和/或
[0242]-对HF带的总质量进行量化和编码(如,通过哈夫曼),并将总质量和索引写入 比特流。
[0243] 根据一些实施例,解码器用于:
[0244]-从比特流中读取总质量和索引,然后解码;和/或
[0245]-通过样条插值近似估计平滑的累积质量曲线;和/或
[0246]-求解累积质量曲线的一阶导数以重建谱包络。
[0247] -些实施例包括其他可选的附加:
[0248]例如,一些实施例提供翘曲能力:减少可能的量化等级的数量导致用于对分裂点 进行编码所需的比特位的减少,并额外地降低计算复杂度。例如,在应用分布量化之前,通 过借助心理声学特征对谱包络进行翘曲或简单地通过对编码器中的相邻的频带进行加总, 可以开发此效果。在解码器侧,在从分裂点索引和总质量对谱包络进行重建之后,必须通过 逆特征对包络进行解翘曲。
[0249] -些另外的实施例提供自适应包络变换:如前所述,无需对谱包络的能量(即,信 号X的abs(x)2)应用分布量化,但是可实现其他的每个表示(正,实数值)(如,abs(x)、 Sqrt(abS(X))等)。为了能够开发各种包络表示的不同形状的拟合特征,使用自适应变换 技术是合理的。因此,在应用分布量化之前,执行对用于当前包络的(固定的、预定义集合 的)最佳匹配变换的检测作为预处理步骤。使用的变换必须通过比特流进行传送和传输, 以能够在解码器侧进行正确的再变换。
[0250] 进一步的实施例用于支持块的自适应数量。为了获得所提出的模型的更高的灵活 性,能够在用于每个谱包络的不同数量的块之间进行转换是有利的。当前选择的块的数量 可以是预定义集合中的任意一个,以最小化需要明确地传送或传输的比特,以支持更高的 灵活性。一方面,这减少了总体比特率,至于稳定的包络形状,无需高自适应性。另一方面, 较少数量的块导致较大的块质量,从而支持具有陡峭的倾斜的强单峰的更精确的拟合。
[0251] -些实施例用于提供包络稳定化。由于所提出的分布量化模型相对于诸如基于比 例因子带的方法具有更高的灵活性,时间相邻的包络之间的波动可以导致不被期望的不稳 定性。为了抵消此影响,应用信号自适应包络稳定化技术作为后处理步骤:对于预期仅有少 量波动的稳定的信号部分,通过时间上相邻的包络值的平滑,对包络进行稳定化。对于自然 地包括强时间变化的信号部分(如,瞬态或发出咝咝声的/由摩擦产生的开始/偏移),不 应用或仅应用弱平滑。
[0252] 以下,描述根据实施例的实现包络分布量化和编码的算法。
[0253] 在类SBR场景下,描述所提出的用于对谱包络进行编码的分布量化方法的实际实 现。算法的以下描述涉及编码器和解码器侧的可被执行以处理一个特定包络的步骤。
[0254] 下面,描述对应的编码器。
[0255] 例如,包络确定和预处理可被执行如下:
[0256]-确定谱能量目标包络曲线(如,由20个子带样本表示)及其对应的总能量;
[0257]-通过成对地平均子带值,应用谱翘曲以减少值的总数(如,平均前8个子带值, 并因此将总数从20减少到16);
[0258]-应用包络幅度变换以在包络模型性能和感性质量标准之间进行更好的匹配 (如,提取每个子带值的四次方根,之=^7 )。
[0259] 例如,分布量化和编码可被执行如下:
[0260]-将包络分裂到预定义数量的等质量块的子带索引的多次确定(如,重复4次确 定,以将包络分裂到3、4、6和8块中);
[0261]-分布量化的包络的完全重建("综合分析"方法,参见下面);
[0262] -确定并决定导致包络的最精确的描述的块的数量(如,通过对比分布量化的包 络和原始包络的互相关性);
[0263]-通过对比原始和分布量化的包络并根据总能量的改变,对音量进行修正;
[0264] -使用与TSD工具(参见[5])中相同的算法,对分裂索引进行编码;
[0265]-传送用于分布量化的块的数量(如,4个预定义数量的块,通过2个比特传送);
[0266]-对总能量进行量化和编码(如,使用哈夫曼编码)。
[0267] 现在,描述对应的解码器。
[0268] 例如,解码和逆量化可被执行如下:
[0269]-对用于分布量化的块的数量进行解码并对总能量进行解码;
[0270] -使用和TSD工具(参见[5])中一样的算法,对分裂索引进行解码;
[0271]-通过样条插值近似估计平滑的累积质量曲线;
[0272] -通过一阶导数从累积域重建谱包络(如,通过采用连续样本的差值)。
[0273] 例如,后处理可被执行如下:
[0274]-应用包络稳定化以抵消由量化误差引起的随后的包络之间的波动(如,通过重 建的子带值的时间平滑,足MI-α ,?: +αj对于包含瞬态信号部分的帧α =〇· 1,否则α= 〇· 25);
[0275]-根据编码器中的应用对包络变换进行恢复;
[0276]-根据编码器中的应用对包络翘曲进行恢复。
[0277] 下面,描述分裂点的有效编码和解码。图4和图5的分裂点编码器225可以,例如, 用于实现如下所述的有效编码。图2的分裂点解码器105可以,例如,用于实现如下所述的 有效解码。
[0278] 在图2所示的实施例中,用于解码的装置还包括分裂点解码器105,该分裂点解码 器105用于根据解码规则对一个或多个编码点进行解码以获得一个或多个分裂点。分裂点 解码器105用于分析指示可能的分裂点位置的总数的总位置数、指示分裂点的数量的分裂 点数以及分裂点状态数。此外,分裂点解码器105用于使用总位置数、分裂点数以及分裂点 状态数生成分裂点的一个或多个位置的指示。在特定的实施例中,分裂点解码器105可以, 例如,用于使用总位置数、分裂点数以及分裂点状态数生成分裂点的两个或更多个位置的 指示。
[0279] 在图4和图5所示的实施例中,该装置还包括分裂点编码器225,该分裂点编码器 225用于对一个或多个分裂点中的每个的位置进行编码以获得一个或多个编码点。分裂点 编码器225用于通过对分裂点状态数进行编码以对一个或多个分裂点中的每个的位置进 行编码。此外,分裂点编码器225用于提供指示可能的分裂点位置的总数的总位置数以及 指示一个或多个分裂点的数量的分裂点数。分裂点状态数、总位置数和分裂点数一起指示 一个或多个分裂点中的每个的位置。
[0280] 图15为根据一实施例的用于重建音频信号的装置。该装置包括:根据上述实施例 中的一个或根据下述实施例的用于解码的装置1510,以获得音频信号的重建的音频信号包 络;以及用于依据音频信号的音频信号包络并依据音频信号的其他信号特征,生成音频信 号的信号生成器1520,其他信号特征与音频信号包络不同。正如上面概述,本领域技术人员 意识到,从音频信号的信号包络和从音频信号的其他信号特征,可以重建音频信号本身。例 如,信号包络可以,例如,指示音频信号的样本的能量。其他信号特征可以,例如,指示对时 域音频信号的每个样本,该样本具有正值还是负值。
[0281] 一些特定的实施例基于:在本发明的解码装置中可以获得指示可能的分裂点位置 的总数的总位置数以及指示分裂点的总数的分裂点数。例如,编码器可以将总位置数和/ 或分裂点数传输至用于解码的装置。
[0282] 基于这些假设,一些实施例实现以下构思:
[0283] 令N为可能的分裂点位置的(总)数量,以及
[0284] 令P为分裂点的(总)数量。
[0285] 假设,用于编码的装置以及用于解码的装置均知晓N和P的值。 (N)
[0286] 已知N和P,可以推出,仅存在n个可能的分裂点位置的不同组合。
[0287] 例如,如果可能的分裂点位置的编号从0到N-1,且如果P= 8,则,分裂点位置与事 件的第一可能的组合将是(〇, 1,2, 3, 4, 5, 6, 7),第二可能的组合将是(0, 1,2, 3, 4, 5, 6, 8), (Ν' 以此类推,直至组合(Ν-8,Ν-7,Ν-6,Ν-5,Ν-4,Ν-3,Ν-2,Ν-1),从而总共有η.个不同的组 ΚΡ) 合。
[0288] 应用进一步的发现:可以由用于编码的装置对分裂点状态数进行编码,并且分裂 点状态数被传输至解码器。如果可能的个组合中的每个由唯一的分裂点状态数表示, 且如果用于解码的装置知晓哪个分裂点状态数表示哪个分裂点位置的组合,则,用于解码 的装置可以使用N、p以及分裂点状态数对分裂点的位置进行解码。对于N和P的大量典型 值,相对于其他构思,此编码技术应用较少的比特位对事件的分裂点位置进行编码。
[0289] 换言之,通过对在[0…N-1]的范围上的位置^的离散数P进行编码,可以解决 对分裂点位置进行编码的问题,以使用尽可能少的比特位,使得对于k辛h,位置不会重叠 pk#Ph。由于位置的顺序没有影响,由此得出结论:位置的唯一组合的数量为二项式系数
6所需的比特位的数量因此为 lpj
[0290] -些实施例应用一个位置接一个位置的解码构思。一个位置接一个位置的解码构 思。该构思基于以下发现:
[0291] 假设N为可能的分裂点位置的(总)数量,P为分裂点的数量(这意味着,N可以 是总位置数FSN,P可以是分裂点数ES0N)。考虑第一可能的分裂点位置。可以区分两种情 形:
[0292] 如果第一可能的分裂点位置为不包括分裂点的位置,则,关于剩余的N-1个可能 的分裂点位置,仅存在关于剩余的N-1个可能的分裂点位置的P个分裂点的个不同 ipJ 的可能组合。
[0293] 然而,如果可能的分裂点位置为包括分裂点的位置,则,关于剩余的N-1个可能 的分裂点位置,仅存在关于剩余的N-1个分裂点的剩余的P-1个可能的分裂点位置的 "Ν'] ?ΛΓ-1) λ γ…一么…Λ Dj= D个不同的可能组合。 MVFJ{PJ
[0294] 基于此发现,实施例进一步基于发现:应通过小于或等于阈值的分裂点状态数,对 不存在分裂点的第一可能分裂点位置的所有组合进行编码。此外,应通过大于阈值的分裂 点状态数,对分裂点不位于此的第一可能分裂点位置的所有组合进行编码。在一实施例中, 所有的分裂点状态数可以是正整数或〇,且关于第一可能分裂点位置的合适的阈值可以是 ",¥-Γ Ρ〇 VrJ
[0295] 在一实施例中,通过测试确定帧的第一可能分裂点位置是否包括分裂点,分裂点 状态数是否大于阈值(可选地,通过测试分裂点状态数是否大于或等于、小于或等于、或小 于阈值,也可以实现实施例的编码/解码过程)。
[0296] 在分析第一可能分裂点位置之后,使用调整的值继续对第二可能分裂点位置进行 解码。除了调整考虑的分裂点位置的数量(减去1)之外,分裂点数也减去1且对分裂点状 态数进行调整。在分裂点状态数大于阈值的情形下,从分裂点状态数中删除与第一可能分 裂点位置相关的部分。可以以类似的方式对其他可能的分裂点位置继续解码过程。
[0297] 在一实施例中,对在[0…N-1]的范围上的位置?1<的离散数P进行编码,以使得对 于k辛h,位置不会重叠pk#ph。此处,给定的范围上的位置的每个唯一组合被称作状态 (state),在此范围内的每个可能的位置被称作可能分裂点位置(pspp)。根据用于解码的装 置的实施例,考虑范围内的第一可能分裂点位置。如果可能的分裂点位置不具有分裂点,则 可将此范围减少至N-1,将可能的状态的数量减少至.p;4]。反之,如果状态大于Ρ";1],则 可以得出,在第一可能分裂点位置,存在分裂点。可以从此得出以下的解码算法:
[0298]
[0299] 每次迭代上的二项式系数的计算的代价高。因此,根据实施例,可以使用以下规则 以使用从前次迭代得到的值更新二项式系数。
[0300]
[0301] 使用这些公式,二项式系数的每次更新的代价为仅一次乘法运算和一次除法运 算,反之,每次迭代上的明确估计的代价为P次乘法运算和除法运算。
[0302] 在此实施例中,为初始化二项式系数,解码器的总复杂度为P次乘法运算和除法 运算,对每次迭代,有一次乘法运算、除法运算和if语句,对每个编码位置,有一次乘法运 算、加法运算和除法运算。注意的是,理论上可以将初始化所需的除法的次数减少至1。然 而,在实际上,此方法将导致非常大的难以处理的整数。最差的情形,解码器的复杂度为 N+2P次除法运算和N+2P次乘法运算、P次加法运算(如果使用MAC-操作,则可忽略)以及 N个if语句。
[0303] 在一实施例中,用于编码的装置采用的编码算法无需对所有可能的分裂点位置进 行迭代,仅对有位置分配给它们的那些进行迭代。因此,
[0304] 对于每个位置ph,h=L· ·P
[0305]
[0306] 在最差的情形下,编码器的复杂度为P·(Ρ-l)次乘法运算和P·(Ρ-l)次除法运 算以及P-ι次加法运算。
[0307]图9示出根据本发明的实施例的解码过程。在此实施例中,在一个位置接一个位 置的基础上执行解码。
[0308] 在步骤110,对值进行初始化。用于解码的装置存储作为输入值接收的分裂点状态 数,以变量S的形式。此外,以变量P的形式存储由分裂点数指示的分裂点的(总)数量。 此外,以变量
当前第4页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1