专利名称:用编码索引实现的空缺子带填充方法及编码索引生成方法
技术领域:
本发明属于可分级编解码,特别涉及利用编码索引实现的空缺子带填充方法 及编码索引生成方法。
技术背景可分级编解码技术将码流划分为一个核心层及多个增强层,其中核心层保 证信号的最低重建质量,增强层则通过提高信噪比或者扩展频带的方式渐次改 善重建质量。接收到的增强层数越多,解码的编码音质越高。可分级编码方法 通过直接丢弃增强层码流的方式适应网络带宽波动。在可分级编解码过程中,如果码率较低,编码比特不足以对全频带信号进 行编码时,会使解码信号在频谱上出现空洞,从而由于频谱上的不连贯导致噪 声的出现,使最终的解码效果大打折扣。现有技术中,为应对频谱空洞现象所设计的空缺子带填充方法机制比较简单,在提升音质方面效果不佳。例如3GPP的AMR-WB+中,通过生成高斯随机噪声 并依据能量进行调整后来填充空缺子带,此方法计算复杂度低,但是效果甚微。 还有ITU-T的G729. l中,采用带宽扩展的数据并依据能量进行调整后来填充空缺 子带,在一定程度上利用了填充子带的原始信息,但是由于调整的手段单一, 填充效果不佳。因此如何解决频谱空洞问题,避免其对解码信号产生的不良影 响,是当前可分级编解码研究的重点。 发明内容本发明提供了利用编码索引实现的空缺子带填充方法及编码索引生成方 法,以便解决可分级编解码过程中的频谱空洞问题,提升解码音质。本发明提供了一种利用编码索引实现的空缺子带填充方法,包括以下步骤: 步骤l,接收编码码流,获取编码码流中的核心层编码索引、第一增强层编码索 引和第二增强层编码索引;步骤2,根据第一增强层编码索引确定第一增强层解码信息,根据第二增强层编 码索引确定第二增强层解码信息;步骤3,根据第一增强层解码信息和第二增强层解码信息对未量化子带进行填充 并作平滑后处理,包括以下2个步骤,步骤3. 1,根据第一增强层解码信息初步填充第二增强层未能解码的高频成分步骤3.2,在完成初步填充之后,对填充子带和其邻接子带做平滑处理。 而且,所述平滑处理的具体方式为,选取邻接子带平滑点,将填充子带以 及两端邻接子带的平滑点纳入平滑范围内;计算填充子带的平均能量Ar^/zoW 作为门限,计算平滑范围内的平均能量A;令变量^^ = &,若t即低于 决"AoW,则将其增大1.5db,若tmp高于Ar^2oW,则将其降低l. 5db;最后将平滑范围内的点按比例因子^ =、,进行统一縮放。而且,根据空缺子带与邻接子带的能量差值和邻接子带的平滑程度选取邻 接子带平滑点。本发明还提供了用于上述空缺子带填充方法的编码索引生成方法,技术方案为将当前输入信号分解为低频信号和高频信号分别进行编码;核心层对低频信号进行编码,生成核心层编码索引;-增强层使用带宽扩展参数编码方法对高频信号进行编码实现频带扩展,带宽扩展参数编码索引作为第一增强层 编码索引;第二增强层将低频残差信号和高频信号转换到频域后并量化,矢量 量化编码索引作为第二增强层编码索引,所述低频残差信号由低频信号转换得到。本发明提供的技术方案符合音频信号的连续性和邻接子带相关性原则,并 且以空缺子带能量为基本依据,结合空缺子带邻接子带信息共同完成对空缺子 带的填充。因而,本发明可以有效减少频谱空洞现象对解码信号产生的不良影 响,提升解码信号的音质效果。
图l为本发明实施例的编码原理示意图;图2为本发明实施例的第一增强层编码原理示意图; 图3为本发明实施例的第二增强层编码原理示意图; 图4为本发明实施例的解码原理示意图; 图5为本发明实施例的第一增强层解码原理示意图; 图6为本发明实施例的第二增强层解码原理示意图; 图7为本发明实施例的空缺子带填充流程图。
具体实施方式
本发明提供了一种利用编码索引实现的空缺子带填充方法,包括以下步骤 步骤l,接收编码码流,获取编码码流中的核心层编码索引、第一增强层编码索 引和第二增强层编码索引;步骤2,根据第一增强层编码索引确定第一增强层解码信息,根据第二增强层编 码索引确定第二增强层解码信息;步骤3,根据第一增强层解码信息和第二增强层解码信息对未量化子带进行填充 并作平滑后处理,包括以下2个步骤,步骤3. 1,根据第一增强层解码信息初步填充第二增强层未能解码的高频成分;步骤3.2,在完成初步填充之后,对填充子带和其邻接子带做平滑处理。第一增强层编码索引是高频空缺子带填充的重建参考信息,可被视为子带 粗略重建参考信息;第二增强层编码索引可被视为子带精确重建参考信息。联 合子带粗略重建参考信息和精确重建参考信息可以确定需要填充的子带以及填 充内容,最后还需要对精确重建信号中由于比特数的限制而未能量化的子带进 行填充,即是所谓空缺子带填充。本发明提出的空缺子带填充方案,在根据第 一增强层解码信息初步填充第二增强层未能解码的高频成分之后,对填充子带 和其邻接子带做平滑处理。这种平滑处理手段巧妙符合音频信号连续性和邻接 子带相关性原则,因此填充效果非常好,并且实施时计算复杂度不高,具有良 好的实用效果。具体实施时,第一增强层编码索引和第二增强层编码索引根据编码时第一 增强层和第二增强层的具体编码处理方式而决定生成内容。本发明提供了编码索引生成优选方案选择第一增强层使用带宽扩展参数编码方法对高频信号进行编码实现频带扩展,带宽扩展参数编码索引作为第一增强层编码索引,提供高频空缺子带填充的重建参考信息;第二增强层将低频残差信号和高频信号转 换到频域后并量化,量化信号用于增强全频带编码信号感知质量,使合成信号编码信噪比逐级提升,矢量量化编码索引作为第二增强层编码索引。带宽扩展 参数编码方法为现有技术,具体实施时若选用其他编码方式,生成的第一增强 层编码索引和第二增强层编码索引也能用于本发明提供的空缺子带填充方法。在实际运用中,本发明提供的空缺子带填充技术方案是可分级编解码过程 的一部分,具体实施时可分级编解码过程的核心层编解码等其他部分可以采用 编解码领域现有技术内容。为了便于对本发明的技术方案进行详细说明,以下 提供实施例的完整可分级编解码过程。参见图l,可分级编码过程具体包括以下5个步骤(11) 对输入的音频信号进行正交镜像滤波;具体将采样率为16kHz,帧长为20ms的输入音频信号 ,(m)通过下采样滤波后,经正交镜像滤波器分解为低频信号和高频信号,正交镜像滤波器由低通滤 波器A(z)和高通滤波器//2(z)构成,将音频信号S,(力通过(z)得到低频信号 &s(m),通过A(力得到高频信号S,(n)。低通滤波器/Z^)为一对称的64阶FIR滤 波器,且i^(z)和/7々)存在以下关系//2(") = (-1)"^(")(12) 将低频信号&,(^)送入核心层进行CELP编码;具体将低频信号S^(w)通过核心层CELP编码器得到输出合成信号S:(w),用 以保证基本编码质量,并将编码索引写入编码码流。(13) 将高频信号&,(力送入第一增强层进行编码;第一增强层提取一系列高频参数(这一系列参数粗略的表征高频信号s^w特征),如图2所示,这一系列高频参数包括一组时域包络参数以及一组频域包络参数。具体包括以下过程(131)计算时域包络参数。以每10样点的对数域能量来表征高频信号&,(") 时域包络,具体计算如下o备iog/ix/("十"0)2 i 一、"=0(132)计算频域包络参数。为高频信号S,(")计算12个频域包络参数 F柳,(7'), _/ = 0v..,ll,首先对S朋(")加窗wO)。窗w,0)形式如下1 — cos.l一cos、i力2;rO-16)) 111 = (), -,71 w = 72,.'-,127可以看到,这是一个128阶长(16ms)的窗,其中上升沿是一个144阶的 Hanning窗,滚降沿是一个112阶的Hanning窗。KvO)对每10ms帧加窗一次,加窗时,将Mv(")的最大样值点至于当前10ms 帧的中心,艮口;(w) = s朋(w). wf (m + 31), = —31,.."96加窗后,对加窗后信号《々)做64阶FFT变换,FFT变换式如下"《(^> =尸尸7;4(^£(>) +《8(> + 64)), & = 0"."63, " = —31,…,32 对计算得到的FFT系数,由下式计算得到对数域的12个频域包络参数'2(川) 、2 、其屮^(Q为一个频域加权窗,窗值如下!^(0)二0.5, )^(1) = 1, &(2) = 0.5 (133)时域包络参数量化。在量化时域包络参数r,(/), z、0,…,15前,首先计算时域包络均值参数Mp再通过分裂矢量量化进行量化。Mr计算如下:然后,从7, 中移除量化值A7 :将均值移除后时域包络参数分裂为以下2个8维矢量分别进行量化<formula>formula see original document page 10</formula>(134)频域包络参数量化。在量化频域包络参数f,(乂) ,7' = 0,...,11前,首先计算频域包络均值参数Mp再通过分裂矢量量化进行量化。M,计算如下:<formula>formula see original document page 10</formula>然后,从&力')中移除量化值4 :<formula>formula see original document page 10</formula>将均值移除后频域包络参数分裂为以下3个4维矢量分别进行量化 <formula>formula see original document page 10</formula>步骤(133)和步骤(134)分别得到的时域包络参数量化索引和频域包络参数量化索引共同构成带宽扩展参数编码索引,作为第一增强层编码索引。(14)计算低频加权残差信号"(");首先计算低频残差信号《B(M),具体为将低频信号&JM)减去合成信号 《"")得到<formula>formula see original document page 10</formula>然后将低频残差信号《B (力通过感知加权滤波器W』(Z)得到低频加权残差信号《W"), W』(Z)表达式如下』o其中n'和^'为常数,/"c为增益补偿,且:,其中i(z)为量化线性预测滤波器。J(z/;V)(15)将全频带信号送入第二增强层进行编码。如图3所示,第二增强层对 全频带信号进行编码,使合成信号编码信噪比逐级提升,具体包括以下过程(151) 谱整合。第二增强层输入由两部分构成低频加权残差信号";(《)和高频信号s,w,这两个信号均为时域信号,需要进行频域转换,得到低频频 域加权残差信号J;(W和卨频频域信号s,(w并进行谱整合,组成全频段频域信 号,记作1W;(152) 子带划分。将全频带频域信号r(A) (320个样点)平均划分为40个 子带,每个子带8个样点,对应一个8维矢量,以便进行格型矢量量化。定义 W —Zw朋J(力为第j个子带的起始点,则有一 Z ow7(i (y) S < A —Z)omW (乂 + 1), 7 = 0,…,39(153) 谱包络计算及编码;为了在量化y(々)时根据各子带的感知重要性指导比特分配,需要计算各子 带频谱包络,频谱包络表达子带的平均能量信息,可以用于在解码端重建频谱数据。各子带频谱包络计算如下log— r薦(力二垂log:* — 2 w、其中,^.、为一微小偏移以防止k)g函数输入为0,这里采用差分哈夫曼方法:化频谱包络,—z>Mfex(y)为频谱包络量化索弓1; (154)子带比特分配;定义^(力为第7个子带的感知重要性:*C0 = |log:腦jC02 j. = 0,..,,39其中,mw 一 = 214 Jmfex(j')为量化的频谱包络,W为偏移量,—^/)2为信号的子带能量,为方便比较感知重要性,设定o,"=且,则:然后按子带感知重要性^(/)从高到低分配各子带编码比特数,存于"&'《乂)中;(155)频谱数据量化。根据己分配好的各子带编码比特数^^(y'),运用格型矢量量化方法量化频谱数据F(W,并将该量化索引写入码流。此格型矢量量化索引和频域包络量化索引,L,^fcW共同构成矢量量化编码索引,作为第二增强层编码索引。参见图4,相应的可分级解码过程具体包括以下4个步骤(20核心层celp解码;根据从收到的码流中解析获得的码本索引,计算出代数码本,然后通过lp合成滤波器以及长时相关合成滤波器,得到输出合成信号s:w ; (22)第一增强层解码;如图5所示,第一增强层解码具体包括以下过程,包括5个步骤(221)时域/频域包络参数解码。时域包络参数量化索引和频域包络参数量化索引共同构成带宽扩展参数编码索引,因此时域/频域包络参数解码的根据即为带宽扩展参数编码索引。需要解码的包络参数包括时域均值参数A,、频域均值参数a^以及下列矢量t;^ 、 t;,2、 d、 f,.2、 &由分裂矢量t;^和r,,,合并得到均值移除矢量r:(/),然后再加上时域均 值参数Ar得到时域包络参数r:(/):
C7f("r" = 0,…,.,15
由分裂矢量f:,p F二2和F二3合并得到均值移除矢量Ffc/),然后再加上
频域均值参数^,.得到频域包络参数F:(乂)
F:(;) = Ff(y"F,7. = o,.....,ii
(222) 高频激励生成。将由核心层参数模拟生成的激励信号exc(w)通过一 个截至频率为4kHz的低通滤波器,得到最终的高频激励信号S^(");
(223) 时域包络整形。通过对激励信号S:(")时域包络整形,得到的信号
^(w)将具有和原始高频信号^(M)相近的时域包络形状,整形通过如下方式实 现
《 = g々)* 4C 0)," = 0,….,159
gj")的计算如下:
首先对激励信号《e(w)进行时域包络参数计算,得到一组激励信号时域包络 嗜女t^), / = 0"..,15。
然后,利用解码时域包络参数7;:(/)和激励信号时域包络参数^,,(0,计算一
组预增益参数:
gV(/) = 2fd"(0, / = 0,.."15
最后,对这组预增益参数进行插值得到^("):
、o)-gV(0 +w,0 + io).g'r(卜i) w = 0,…,4
其中,gV(-l)定义为上一帧最后1.25ms计算得到的gV(15), w,(")为一平 顶Ha皿ing窗,窗表达式如下1 —COS
1 —COS
、
1
("+ 9);
、 6
"=0,..,,4 w = 10, .,14
(224)频域包络整形。解码得到的频域包络参数/^(j'), 乂 = 0,...,11表征的 是每一个20ms帧第二个10ms帧的频域包络,而第一个10ms帧的频域包络参数通
过插值得到
1
Fenv,int (力=5 (F卿,。w (乂) + F卿())))=0"."11
其中F:(y)为当前帧的频域包络参数,F柳厕G')为上一帧的频域包络参数。
然后,将时域包络已调激励信号sL^)分为2个10ms帧进行频域包络参数计 算,得到分别对应帧号/ = 1,2的频域包络参数巧, ,,(力,7' = 0,...,11,再得到频域
预增益-
及GF,2(i) = 2
,)=0,.."11
接着利用此预测增益计算得到两个FIR滤波器冲击响应
11
~, (w) 二 J]j (/)《)0) + 0 1 , " = 0,…,32, / = 1, 2
最后对时域包络己调激励信号《,(《)进行频域包络整形
32
《s(") 二 Z《s("-附)~,i—), w = 0,…,79
32
《s(") = S&(" — — ~ 2—) ," = 80,…,159
(225)自适应幅度压縮后处理。经过时域/频域包络整形后的信号S^W, 可能伴随有一些咔-嗒的噪声,有必要对《,(")进行后处理。后处理的方法为将《》中每1. 25ms块的能量与对应的时域包络参数r,(/)进行比较,然后压縮l
到合成信号S,("),具体处理原则如下
<formula>formula see original document page 15</formula>
(23 )包括本发明实施例声明空缺子带填充方法的第二增强层解码; 第二增强层解码后,频谱信号将被分为高频和低频两个部分,分别进行时
域转换后得到时域信号。高频部分的时域信号即为原信号,低频信号的时域《
号将作为扩展核心层CELP解码的补充,来改进低频合成信号的效果,其中一个 关键的过程即为本发明实施例声明的空缺子带填充方法。如图6所示,解码具体 包括以下过程
(231)包谱络解码。 从码流中得到包谱络量化索引rms —/"&x(./),并得到频谱包络
中;
<formula>formula see original document page 15</formula>
(232)子带比特分配。首先计算第y个子带的感知重要性^(力
然后按子带感知重要性*(/)从高到低分配各子带编码比特数,存于"6"(力
(233)矢量量化解码。根据各子带编码比特数M&Y(力以及格型矢量量化索
引码流,通过查找码本得到量化频谱数据r(";
(234)空缺子带填充平滑。受限于码率,在编码时如果没有足够的比特对
所有子带进行量化,解码得到的量化信号就会出现频谱空洞现象,较大地影响解码音质,因此需要对未量化子带进行填充以保证频谱连续。
如图7所示,本发明实施例提出了一种新的空缺子带填充方案,结合空缺子 带邻接子带信息共同完成对空缺子带的平滑填充,符合音频信号的连续性和邻 接子带相关性原则,可以有效减少频谱空洞现象对解码信号产生的不良影响, 提升解码信号的音质效果。具体实现过程可以包括
(2341)空缺子带初步填充。在比特数不够的情况下,高频部分有可能未 能编码从而导致频谱空洞,这里用第一增强层参数编码频谱信息初步填补第二 增强层未能编码的高频成分,则第y个子带的填充如下
<formula>formula see original document page 16</formula>(2342)平滑填充子带和邻接子带。在完成初步填充之后,需要对填充子
带和邻接子带一起做平滑处理以避免边界噪声的出现。本发明提供了进一步技 术方案,以空缺子带能量为基本依据实现平滑,是提升解码信号音质效果的最 优选平滑方案
首先选取邻接子带所需平滑点的数量N,选取可以参考两个因素决定, 一是
空缺子带与邻接子带的能量差值,另一个是邻接子带的平滑程度。假设邻接子 带为^ =(",,",... ,),其平均能量为^;而填充子带为S^VZv.Ae),其通过编码
端传递的能量值为& ,则选取的点数由下式决定<formula>formula see original document page 16</formula>其中<formula>formula see original document page 16</formula>,"表征临近子带的平滑程度。
<formula>formula see original document page 16</formula>表征填充子带与临近子带的能量差异的大小。然后将填充子带以及两端邻接子带需平滑的点纳入平滑范围内,进行统一 平滑。平滑范围为
乂鹏,+8 + 1后。 平滑思想是将这#_个点的能量水平调整至填充子带的能量水平,计算
填充子带的平均能量Am^oW作为门限,艮卩
8
并计算平滑范围内的平均能量& :
若^低于门限值^^/zo/J,则将其增大1.5db;若高于,则降低1.5db。 由此来进行谱线平滑。具体包括以下操作
首先,设定变量加p以便进行平滑调整,首先对加p进行初始赋值,令 加/ = &
然后,根据判断结果,
若tmp〈threshold,令tmp=tmp*l. 414 (艮卩土曾大1.5db),此时,若 tmp〉threshold, 贝U令tmp二threshold。
若tmp>=threshold,令tmp=tmp/l. 414 (即降低1.5db),此时,若 trnp〈threshold, 贝U令tmp二threshold。
最后,根据变量加p的值计算比例因子P = J^,再将平滑范围内的点按比
五&
例因子^进行统一縮放。本发明实施例选取了1.5db作为调整幅度,具体实施时, 对A的调整可根据具体需要选取其他数值,在O. 5db~2. Odb范围内取值为佳。 经过上述空缺子带填充平滑处理后,频谱空洞现象得以解决,同时由于对重建信号进行能量平滑,消除了重建信号中"毛刺"噪声,有效提升了解码音质。
(235)幅度调整。
根据量化频谱包络信息n/^ j(/)对信号—进行能量调整得到最终解 码信号f("。
(24)生成重构合成音频信号《,(")。将低频合成信号S:(力和高频合成信 号S:(")通过正交镜像滤波器生成重构音频信号S,(力。即为高频 信号&5(")的量化信号,又称高频合成信号。对低频合成信号《』(力的处理还涉 及到低频加权残差信号J:(") , Aw二A(w)即为低频加权残差信号《(w)的量 化信号,又称量化加权残差信号。
可见;通过上述本发明实施例可以在编解码端提供了一种性能良好的空缺 子带填充实现方案。本发明实施例联合带宽扩展参数编码信息以及频谱数据量 化信息对未量化子带进行填充,从而有效地消除了解码合成信号频谱空洞现象, 实现了编码后的感知音质的提高。
以上所述,仅为本发明较佳的具体实施方式
,但本发明的保护范围并不局 限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易 想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护 范围应该以权利要求的保护范围为准。
权利要求
1. 一种用编码索引实现的空缺子带填充方法,其特征在于,包括以下步骤步骤1,接收编码码流,获取编码码流中的核心层编码索引、第一增强层编码索引和第二增强层编码索引;步骤2,根据第一增强层编码索引确定第一增强层解码信息,根据第二增强层编码索引确定第二增强层解码信息;步骤3,根据第一增强层解码信息和第二增强层解码信息对未量化子带进行填充并作平滑后处理,包括以下2个步骤,步骤3.1,根据第一增强层解码信息初步填充第二增强层未能解码的高频成分;步骤3.2,在完成初步填充之后,对填充子带和其邻接子带做平滑处理。
2. 如权利要求1所述的空缺子带填充方法,其特征在于所述平滑处理的具体 方式为,选取邻接子带平滑点,将填充子带以及两端邻接子带的平滑点纳入平 滑范围内;计算填充子带的平均能量A^^oW作为门限,计算平滑范围内的平 均能量&;令变量加^ = &,若tmp低于Am^oW,则将其增大1.5db,若t即高于决re涵oW,则将其降低1.5db;最后将平滑范围内的点按比例因子^ =进行统一縮放。
3. 如权利要求2所述的空缺子带填充方法,其特征在于根据空缺子带与邻接子带的能量差值和邻接子带的平滑程度选取邻接子带平滑点。
4. 用于权利要求1或2或3所述的空缺子带填充方法的编码索引生成方法,其特 征在于将当前输入信号分解为低频信号和高频信号分别进行编码;核心层对低频信号进行编码,生成核心层编码索引;第一增强层使用带宽扩展参数编码 方法对高频信号进行编码实现频带扩展,带宽扩展参数编码索引作为第一增强 层编码索引;第二增强层将低频残差信号和高频信号转换到频域后并量化,矢 量量化编码索引作为第二增强层编码索引,所述低频残差信号由低频信号转换 得到。
全文摘要
本发明提供的空缺子带填充方法包括接收编码码流,获取第一增强层编码索引和第二增强层编码索引;根据第一增强层编码索引确定解码信息,根据第二增强层编码索引确定解码信息;根据解码信息对未量化子带进行填充并作平滑处理,根据第一增强层解码信息初步填充第二增强层未能解码的高频成分,对填充子带和邻接子带做平滑处理。编码索引生成时第一增强层使用带宽扩展参数编码方法,带宽扩展参数编码索引作为第一增强层编码索引;第二增强层将低频残差信号和高频信号转换到频域后并量化,矢量量化编码索引作为第二增强层编码索引。本发明可以有效减少频谱空洞现象对解码信号产生的不良影响,提升解码信号的音质效果。
文档编号G10L19/08GK101281748SQ20081004772
公开日2008年10月8日 申请日期2008年5月14日 优先权日2008年5月14日
发明者成 周, 杨玉红, 胡瑞敏, 昭 谢, 戈 高 申请人:武汉大学