用于控制平均编码率的系统和方法_3

文档序号:9278246阅读:来源:国知局
ps的编码率对过渡帧进行编码。因此,在此实例中,浊音ACELP编码器和 过渡ACELP编码器为高速率编码器。
[0066] 在一些实例中,术语"全速率"和/或"四分之一速率"可用以描述帧类型和/或 对应编码器。应注意,"全速率"可或可不表示最大可能位速率和/或可基于帧类型表示不 同位速率。例如,浊音全速率帧可由浊音ACELP编码器以7. 2kbps的位速率加以编码,但全 速率过渡帧可由过渡ACELP编码器以8.0kbps的位速率加以编码。也应注意,"四分之一速 率"可或可不表示全速率的实际四分之一。例如,四分之一速率帧可以2.8kbps加以编码, 其并不精确地为全速率7. 2kbps的四分之一。
[0067] 平均速率确定模块344可确定第一平均速率。第一平均速率的一个实例包含长期 平均速率(例如,RU)。例如,平均速率确定模块344可确定短期平均速率(例如,RlastNfMmJ 和/或长期平均速率。短期平均速率和长期平均速率为平均编码率的实例。短期平均速率 为在最后N个帧(例如,600个帧)上平均化的编码率。平均速率确定模块344可通过对N 个帧上的所选帧编码率进行求和并将所述总和除以N而确定短期平均速率。可根据方程式 (1)中给出的平滑化方程式在每一N帧帧间隔之后确定(例如,计算)长期平均速率。
[0068]RLT (n) -aRLT (n~l) + (1-a)RlastNframes (1)
[0069] 在方程式(1)中,n为长期平均索引,且a为平滑化因数。在一些配置中,a可为 0. 98。编码率控制器342可利用短期平均速率和/或长期平均速率来控制平均编码率。
[0070] 阈值确定模块346可确定一或多个阈值。例如,阈值确定模块346可基于平均编码 率自适应性地改变一或多个阈值。明确地说,阈值确定模块346可基于第一平均速率确定 第一阈值(例如,THeN)。例如,如果第一平均速率(例如,Ru)大于目标速率(例如,Rtargrt), 那么阈值确定模块346可选择第一阈值或调整第一阈值(例如,增大第一阈值)。例如,增 大第一阈值可使较多帧被分类为清洁帧,其以低速率进行编码,从而使得平均编码率减小。 然而,如果第一平均速率(例如,Ru)小于或等于目标速率,那么阈值确定模块346可选择 不同第一阈值或以不同方式调整所述第一阈值(例如,减小所述第一阈值)。例如,减小第 一阈值可使较多帧被分类为有噪声帧,其以高速率进行编码,从而引起平均编码率增大。
[0071] 第一阈值(例如,THeN)可将帧分类为清洁帧或有噪声帧。更具体地说,编码率控 制器342可基于第一阈值将帧分类为清洁帧或有噪声帧。例如,每一浊音帧可分类为清洁 帧或有噪声帧。清洁帧可通过低速率编码器356 (例如,QPPP编码器)以高概率进行编码, 而有噪声帧可通过高速率编码器356 (例如,浊音ACELP编码器)以高概率进行编码。应注 意,并非所有有噪声帧可通过高速率编码器356加以编码,但使用高速率编码器356对有噪 声帧进行编码的概率高。因此,确定第一阈值可影响通过高速率编码器356与通过低速率 编码器356编码的帧的数目,其影响平均编码率。
[0072] 在一个实例中,第一阈值为SNR阈值,且度量352为SNR。SNR可基于由成帧和预 处理模块350执行的噪声估计。在此实例中,编码率控制器342可在SNR大于SNR阈值的 情况下将帧分类为清洁帧,或在SNR小于或等于SNR阈值的情况下将帧分类为有噪声帧。
[0073] 编码率控制器342可通过基于第一阈值确定至少一个其它阈值而控制平均编码 率。例如,编码率控制器342可基于第一阈值选择不同阈值。选择不同阈值可通过增加高速 率帧的量(同时减少低速率帧的量)(其增大平均编码率)或通过减少高速率帧的量(同 时增加低速率帧的量)(其减小平均编码率)而影响平均编码率。在一些配置中,所述至少 一个其它阈值可为阈值组。例如,编码率控制器342可基于第一阈值选择第一阈值组或第 二阈值组。如本文所使用,术语"组"可表示两个或两个以上元素。例如,"阈值组"可包含 两个或两个以上阈值。
[0074] 在一些配置中,所述至少一个其它阈值包含至少一个帧调整阈值。帧调整阈值可 指示是否调整给定帧的帧类型。帧类型调整可改变(例如,增大或减小)帧的编码率。通 过改变一或多个帧调整阈值,可控制帧类型调整量以增大或减小平均编码率。在一些配置 中,帧调整阈值可用以确定原始语音信息与经量化语音信息之间是否存在显著量的量化错 误(例如,经量化参数是否与未经量化参数差异过大)。如果量化错误过大,那么经编码语 音质量可能降级。在这些情况下,可调整待以较高速率(例如,较高质量)编码的帧类型。
[0075] 在一个实例中,编码率控制器342可一开始将浊音帧分类为低速率编码(例如, QPPP编码)的候选者。低速率编码器356可继续对浊音帧进行编码,且可将编码信息358 提供到编码率控制器342。
[0076] 编码率控制器342基于编码信息358和帧调整阈值确定是否调整帧类型。例如, 编码信息358可包含一或多个度量或用于确定一或多个度量的信息。例如,所述一或多个 度量可包含指示原始帧与经编码帧之间的差异程度的第一度量(例如,振幅错误度量)和 /或指示先前帧与当前帧之间的改变程度的第二度量(例如,低频带增益改变度量)。可通 过编码器356或编码率控制器342确定所述一或多个度量。如果所述一或多个度量超出帧 调整阈值中的一或多者,那么编码率控制器342可调整帧类型。例如,编码率控制器342可 选择不同编码器356来对帧进行编码。例如,编码率控制器342可选择高速率编码器356 代替低速率编码器356。
[0077] 在一个实例中,所述至少一个阈值为"提高"阈值的集合。提高阈值指示是否将低 速率QPPP帧调整(例如,提高)到高速率浊音ACELP帧。例如,编码率控制器342可一开 始将浊音帧分类为QPPP帧。因此,编码率控制器342选择QPPP编码器356来对所述帧进 行编码。QPPP编码器356对所述帧进行编码,且将编码信息358提供到编码率控制器342。
[0078] 在此实例中,编码信息358包含振幅错误度量和低频带增益改变度量。振幅错误 度量(例如,amperror)为原始PPP信号与经量化PPP信号之间的平均差,如方程式(2)中 所说明。
[0079]
[0080] 在万程式(2)中,PPP(i)
为累引i的原始PPP信兮振幅,PPPQ(i)为经量化PPP信 号振幅,M为用以计算PPP振幅(例如,在振幅量化中)的位的数目,且amperror为振幅错 误度量。例如,可通过将时域信号转换为频域信号并计算不同频带的振幅来量化PPP信号。
[0081] 低频带增益改变度量(例如,ALgainE)为当前帧低频带能量增益与先前帧低频 带能量增益之间的差,如方程式(3)中所说明。
[0082]ALgainE=currLgainE-prevLgainE (3)
[0083] 在方程式(3)中,currLgainE为当前帧低频带能量增益,prevLgainE为先前帧低 频带能量增益,且△LgainE为低频带增益改变度量。可在低频带上评估能量增益,低频带 为在0Hz与上限之间的频率范围。例如,低频带可在0Hz与1104. 5Hz之间。
[0084] 在此实例中,提高阈值的所述集合包含振幅错误阈值(例如,amperrorTH)和 低频带增益改变阈值(例如,ALgainETH)。在一些配置中,amperrorTH= 0. 47,且ALg?z'/7.£兵M).4。在此实例中,如果amperror>〇. 47且ALgainE> -0? 4,那么编码率控 制器342可将QPPP帧调整(例如,提高)到浊音ACELP帧。
[0085] 在一些配置中,确定至少一个其它阈值可进一步基于度量352而进行。例如,编 码率控制器342可在度量352不大于第一阈值的情况下选择第一阈值组(例如,第一速率 调整阈值组),或可在度量352大于第一阈值的情况下选择第二阈值组(例如,第二速率调 整阈值组)。例如,编码率控制器342可通过确定度量352 (例如,SNR)是否大于第一阈值 (例如,SNR阈值)而确定至少一个其它阈值。
[0086]操纵所述第一阈值(例如,SNR阈值)和/或所述至少一个其它阈值(例如,帧调 整阈值、提高阈值)可影响对帧分类的方式,这可影响平均编码率,这是因为可以不同速率 对不同帧类型进行译码。例如,平均编码率可基于帧被分类为清洁帧或是清洁帧和/或所 述帧被分类为浊音帧、清音帧或是通用帧。表(1)中给出对应于各种帧类型的编码率的实 例。
[0087]
[0088] 表⑴
[0089] 在一些配置中,编码率控制器342可进一步通过确定帧型样来控制平均编码率。 例如,控制平均编码率可包含确定帧型样。帧型样可指定具有某些帧类型的帧的比率或所 需量。例如,第一帧型样(例如,"速率增大帧型样")可需要低速率帧之间的最小数目个高 速率帧,且第二帧型样(例如,"速率减小帧型样")可仅允许高速率帧之间的最大数目个低 速率帧。如果第一平均速率低于目标速率,那么编码率控制器342可选择第一帧型样,其可 增大平均编码率。如果第一平均速率高于目标速率,那么编码率控制器342可选择第二帧 型样,其可减小平均编码率。
[0090] 在一些配置中,帧型样包含"QFF"帧型样和"QQF"帧型样,其中"Q"表示低速率帧 (例如,四分之一速率帧)且"F"表示高速率帧(例如,全速率帧)。在这些配置中,QFF帧 型样可需要Q帧之间的最小数目个F帧。此外,QQF帧型样可仅允许F帧之间的最大数目 个Q帧。例如,QFF型样可需要至少两个F帧出现于Q帧之间,但两个以上相连F帧可能出 现于Q帧之间。此外,QQF型样可仅允许F帧之间的最多两个相连Q帧,但一个以上F帧可 能出现于Q帧之间。
[0091] 在一些配置中,编码率控制器342 (例如,阈值确定模块346)可进一步通过基于第 一平均速率调整至少一个其它阈值而控制平均编码率。例如,控制所述平均编码率可进一 步包含基于所述第一平均速率调整至少一个其它阈值。
[0092] 在一个实例中,所述至少一个其它阈值为至少一个帧调整阈值。在此实例中,编码 率控制器342可通过选择帧调整阈值组而调整所述至少一个帧调整阈值。例如,编码率控 制器342可在第一平均速率大于目标速率的情况下选择第一帧调整阈值组,且可在第一平 均速率不大于目标速率的情况下选择第二帧调整阈值组。第一帧调整阈值组可称为"宽松 帧调整阈值组"。第一帧调整阈值组可导致较少帧调整(例如,提高),其可降低平均编码 率。例如,第一帧调整阈值组中的帧调整阈值中的一或多者可高于第二帧调整阈值组中的 一或多个对应帧调整阈值。第二帧调整阈值组可称为"加严帧调整阈值组"。第二帧调整阈 值组可导致较多帧调整(例如,提高),其可增大平均编码率。
[0093] 在一些配置中,编码率控制器342 (例如,阈值确定模块346)可进一步通过基于第 一平均速率调整至少一个发声阈值而控制平均编码率。例如,控制所述平均编码率进一步 包含基于所述第一平均速率调整至少一个发声阈值。
[0094] 在一些配置中,直接调整至少一个发声阈值可不同于如上文所描述的基于第一阈 值确定所述至少一个其它阈值。例如,直接调整所述至少一个发声阈值可直接基于第一平 均速率(且可不基于(例如)确定另一阈值而加以指示)。
[0095] 在一个实例中,编码率控制器342可通过选择发声阈值组而调整至少一个发声阈 值。例如,编码率控制器342可在第一平均速率大于目标速率的情况下选择第一发声阈值 组,且可在第一平均速率不大于目标速率的情况下选择第二发声阈值组。所述第一发声阈 值组可称为"宽松发声阈值组"。第一发声阈值组可导致将较多帧分类为浊音帧和/或清音 帧(例如,QPPP帧和/或NELP帧),其可降低平均编码率。此可降低平均编码率,因为一些 浊音帧和/或清音帧可为低速率帧。例如,第一发声阈值组中的一个发声阈值可高于第二 发声阈值组中的对应发声阈值,且第一发声阈值组中的另一发声阈值可低于第二发声阈值 组中的对应发声阈值。所述第二发声阈值组可称为"加严发声阈值组"。第二发声阈值组可 导致将较多帧分类为通用帧。此可导致增大平均编码率,因为通用帧(例如,过渡帧)可为 高速率帧。
[0096] 在本文中所揭示的系统和方法的一些配置中,电子装置340可基于长期平均速率 和短期平均速率控制平均编码率。明确地说,本文中所揭示的系统和方法的一些配置提供 基于短期和长期平均速率的平均编码率控制策略。又,控制平均编码率可取决于长期平均 速率、短期平均速率(例如,在最后N个帧期间的平均速率)和目标速率而基于多个步骤。 本文中所揭示的系统和方法的更特定配置给出如下。在此配置中,可利用与项目(1)到(4) 相关的一或多个程序来达成所要平均编码率。对语音质量的潜在影响随着项目的列表进展 而增大。
[0097] (1)可改变用于PPP帧的第一阈值(例如,THCN)。明确地说,可存在分类清洁帧和 有噪声帧的两个帧调整阈值组。大体来说,这些帧调整阈值对于清洁帧更为严格。增大第 一阈值使得能够将较多帧认为是有噪声的,其导致较少帧调整(例如,较少提高)。此可减 小平均编码率。(2)可利用产生较多低速率帧的帧型样。例如,可将帧型样设定为第一帧型 样,且可将所述帧型样改变为第二帧型样以获得较多低速率帧,其减小平均编码率。(3)可 调整(例如,放宽松)帧调整阈值。此可减小帧调整的数目(例如,提高),因此较多低速 率帧是可能的。(4)可调整至少一个发声阈值以通过增加低速率帧(例如,QPPP帧和NELP 帧)而减小速率。此可潜在地产生语音伪声。
[0098] 除平均编码率减小机制之外,本文中所揭示的系统和方法也可利用语音质量改善 策略(如果全域速率小于目标速率达特定裕量)。可使用用于EVRC-B中的速率控制机制来 将某一百分比的低速率帧移到高速率帧,其可增加语音质量。可通过使用某些Q和F型样 使操作点固定且接着将某一百分比的Q帧移到F帧来完成此操作。EVRC-B选取低于目标 位速率的操作位速率。接着可计算比
当前第3页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1