CN104995678A - 用于控制平均编码率的系统和方法 - Google Patents

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

Info

Publication number
CN104995678A
CN104995678A CN201380073146.2A CN201380073146A CN104995678A CN 104995678 A CN104995678 A CN 104995678A CN 201380073146 A CN201380073146 A CN 201380073146A CN 104995678 A CN104995678 A CN 104995678A
Authority
CN
China
Prior art keywords
threshold
frame
rate
mean speed
coding rate
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201380073146.2A
Other languages
English (en)
Other versions
CN104995678B (zh
Inventor
苏巴辛格哈·夏敏达·苏巴辛格哈
维韦克·拉金德朗
文卡特什·克里希南
芬卡特拉曼·斯里尼瓦沙·阿提
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN104995678A publication Critical patent/CN104995678A/zh
Application granted granted Critical
Publication of CN104995678B publication Critical patent/CN104995678B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/08Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
    • G10L19/12Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters the excitation function being a code excitation, e.g. in code excited linear prediction [CELP] vocoders
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/16Vocoder architecture
    • G10L19/18Vocoders using multiple modes
    • G10L19/24Variable rate codecs, e.g. for generating different qualities using a scalable representation such as hierarchical encoding or layered encoding

Landscapes

  • Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Quality & Reliability (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本发明描述一种用于由电子装置控制平均编码率的方法。所述方法包含获得语音信号。所述方法也包含确定第一平均速率。所述方法进一步包含基于所述第一平均速率确定第一阈值。所述方法额外包含通过基于所述第一阈值确定至少一个其它阈值而控制所述平均编码率。所述方法也包含发送经编码语音信号。

Description

用于控制平均编码率的系统和方法
相关申请案
本申请案与2013年2月21日申请的美国临时专利申请案第61/767,439号“用于控制平均速率的系统和方法(SYSTEMS AND METHODS FOR CONTROLLING ANAVERAGE RATE)”有关且主张其优先权。
技术领域
本发明大体上涉及电子装置。更具体地说,本发明涉及用于控制平均编码率的系统和方法。
背景技术
最近几十年中,电子装置的使用已变得普遍。明确地说,电子技术的进展已降低了愈加复杂且有用的电子装置的成本。成本降低和消费者需求已使电子装置的使用剧增,使得其在现代社会中几乎随处可见。由于电子装置的使用已推广开来,因此具有对电子装置的新的且改善的特征的需求。更具体地说,人们常常寻求执行新功能和/或更快、更高效且以更高质量执行功能的电子装置。
一些电子装置(例如,移动电话、智能型手机、音频记录器、摄录影机、计算机等)利用音频信号。这些电子装置可编码、存储和/或发射音频信号。例如,智能型手机可获得、编码和发射用于电话呼叫的语音信号,同时另一智能型手机可接收所述语音信号并对其进行解码。
然而,在音频信号的编码、发射和/或解码中存在特定挑战。例如,电子装置可能以非所要速率对音频信号进行编码,此可占用过多的传输频宽。从此论述可了解,改善编码的系统和方法可为有益的。
发明内容
本发明描述一种用于通过电子装置控制平均编码率的方法。所述方法包含获得语音信号。所述方法也包含确定第一平均速率。所述方法进一步包含基于所述第一平均速率确定第一阈值。所述方法额外包含通过基于所述第一阈值确定至少一个其它阈值而控制所述平均编码率。所述方法也包含发送经编码语音信号。所述第一阈值可将帧分类为清洁帧或有噪声帧。所述至少一个其它阈值可为阈值组。
控制所述平均编码率也可包含确定帧型样。第一帧型样可需要低速率帧之间的最小数目个高速率帧,且第二帧型样可仅允许高速率帧之间的最大数目个低速率帧。
确定所述至少一个其它阈值可进一步基于度量。确定所述至少一个其它阈值可包含在所述度量不大于所述第一阈值的情况下选择第一阈值组,且在所述度量大于所述第一阈值的情况下选择第二阈值组。所述第一阈值组可为第一帧调整阈值组,且所述第二阈值组可为第二帧调整阈值组。
控制所述平均编码率可包含基于所述第一平均速率调整所述第一阈值。控制所述平均编码率可包含基于所述第一平均速率调整至少一个发声阈值。调整所述至少一个发声阈值可包含选择一发声阈值组。
还描述一种用于控制平均编码率的电子装置。所述电子装置包含平均速率确定电路,所述平均速率确定电路确定第一平均速率。所述电子装置也包含阈值确定电路,所述阈值确定电路基于所述第一平均速率确定第一阈值。所述电子装置进一步包含编码率控制器电路,所述编码率控制器电路包含所述平均速率确定电路和所述阈值确定电路。所述编码率控制器通过基于所述第一阈值确定至少一个其它阈值而控制所述平均编码率。
还描述一种用于控制平均编码率的计算机程序产品。所述计算机程序产品包含具有指令的非暂时性有形计算机可读媒体。所述指令包含用于使电子装置获得语音信号的代码。所述指令也包含用于使所述电子装置确定第一平均速率的代码。所述指令进一步包含用于使所述电子装置基于所述第一平均速率确定第一阈值的代码。所述指令额外包含用于使所述电子装置通过基于所述第一阈值确定至少一个其它阈值而控制所述平均编码率的代码。所述指令也包含用于使所述电子装置发送经编码语音信号的代码。
也描述一种用于控制平均编码率的设备。所述设备包含用于获得语音信号的装置。所述设备也包含用于确定第一平均速率的装置。所述设备进一步包含用于基于所述第一平均速率确定第一阈值的装置。所述设备额外包含用于通过基于所述第一阈值确定至少一个其它阈值而控制所述平均编码率的装置。所述设备也包含用于发送经编码语音信号的装置。
附图说明
图1为说明编码器和解码器的通用实例的框图;
图2为说明编码器和解码器的基本实施方案的实例的框图;
图3为说明电子装置的一个配置的框图,在所述电子装置中可实施用于控制平均编码率的系统和方法;
图4为说明用于控制平均编码率的方法的一个配置的流程图;
图5为说明用于基于第一阈值和度量确定至少一个其它阈值的方法的一个配置的流程图;
图6为说明用于控制平均编码率的方法的更特定配置的流程图;
图7为说明用于减小平均编码率的方法的一个配置的流程图;
图8为说明用于增大平均编码率的方法的一个配置的流程图;
图9为说明发声阈值组的实例的图;
图10为说明编码率控制器的一个配置的框图;
图11为说明用于控制平均编码率的方法的另一更特定配置的流程图;
图12为说明无线通信装置的一个配置的框图;和
图13说明可用于电子装置中的各种组件。
具体实施方式
现参考诸图描述各种配置,在诸图中,相似参考数字可指示功能上类似的元件。可以多种不同配置来布置和设计如诸图中所大体描述和说明的系统和方法。因此,对如诸图中所表示的若干配置的以下更详细描述并不希望限制如所主张的范围,而仅表示系统和方法。
图1为说明编码器104和解码器108的通用实例的框图。编码器104接收语音信号102。语音信号102可为在任何频率范围中的语音信号。例如,语音信号102可为具有0千赫兹(kHz)到24kHz的大致频率范围的全频带信号、具有0kHz到16kHz的大致频率范围的超宽带信号、具有0kHz到8kHz的大致频率范围的宽带信号或具有0kHz到4kHz的大致频率范围的窄频信号。语音信号102的其它可能频率范围包含300Hz到3400Hz(例如,公众交换电话网络(PSTN)的频率范围)、14kHz到20kHz、16kHz到20kHz和16kHz到32kHz。在一些配置中,语音信号102可按16kHz进行采样,且可具有0kHz到8kHz的大致频率范围。
编码器104对语音信号102进行编码以产生经编码语音信号106。大体来说,经编码语音信号106包含表示语音信号102的一或多个参数。所述参数中的一或多者可经量化。所述一或多个参数的实例包含滤波参数(例如,加权因数、线谱频率(LSF)、线谱对(LSP)、导抗谱频率(ISF)、导抗谱对(ISP)、部分相关性(PARCOR)系数、反射系数和/或对数面积比率值(log-area-ratio value)等),和包含于经编码激发信号中的参数(例如,增益因数、音调滞后、(经量化)振幅信息、(经量化)相位信息、自适应性码本索引、自适应性码本增益、固定码本索引和/或固定码本增益等)。所述参数可对应于一或多个频带。解码器108对经编码语音信号106进行解码以产生经解码语音信号110。例如,解码器108基于包含于经编码语音信号106中的一或多个参数而构建经解码语音信号110。经解码语音信号110可为原始语音信号102的大致重现。
编码器104可以硬件(例如,电路)、软件或两者的组合加以实施。例如,编码器104可实施为专用集成电路(ASIC)或具有指令的处理器。类似地,解码器108可以硬件(例如,电路)、软件或两者的组合加以实施。例如,解码器108可实施为专用集成电路(ASIC)或具有指令的处理器。编码器104与解码器108可实施于单独电子装置上或相同电子装置上。
在一些配置中,编码器104和/或解码器108可包含于语音译码系统中,在所述语音译码系统处,通过使激发信号传递经过合成滤波器以产生经合成语音输出(例如,经解码语音信号110)而进行语音合成。在此类系统中,编码器104接收语音信号102,接着将语音信号102开窗成帧(例如,20毫秒(ms)帧),并产生合成滤波参数和产生对应激发信号所需的参数。这些参数可作为经编码语音信号106而传输到解码器108。解码器108可使用这些参数来产生合成滤波器(例如,1/A(z))和对应激发信号,且可将所述激发信号传递经过合成滤波器以产生经解码语音信号110。图1可为此类语音编码器/解码器系统的简化框图。
图2为说明编码器204和解码器208的基本实施方案的实例的框图。编码器204可为结合图1描述的编码器104的一个实例。编码器204可包含分析模块212、系数变换214、量化器A 216、反量化器A 218、反系数变换A 220、分析滤波器222和量化器B 224。编码器204和/或解码器208的组件中的一或多者可以硬件(例如,电路)、软件或两者的组合加以实施。
编码器204接收语音信号202。应注意,语音信号202可包含如上文结合图1所描述的任何频率范围(例如,语音频率的整个频带或语音频率的子频带)。
在此实例中,分析模块212将语音信号202的频谱包封编码为一组线性预测(LP)系数(例如,分析滤波器系数A(z)、其可应用于产生全极滤波器1/A(z),其中z为复数(complex number))。分析模块212通常将输入信号作为语音信号202的一系列非重叠帧处理,其中针对每一帧或子帧计算一组新系数。在一些配置中,帧周期可为可预期语音信号202在其内在本地静止的周期。帧周期的一个常见实例为20ms(例如,在8kHz的采样率下等效于160个样本)。在一个实例中,分析模块212经配置以计算一组十个线性预测系数来表征每一20ms帧的共振峰结构。也有可能实施分析模块212以将语音信号202作为一系列重叠帧处理。
分析模块212可经配置以直接分析每一帧的样本,或可首先根据开窗函数(例如,汉明窗(Hamming window))来对样本进行加权。也可在大于帧的窗(例如30ms窗)内执行分析。此窗可为对称的(例如,5-20-5,使得其紧接20ms帧之前和之后包含5毫秒)或不对称的(例如,10-20,使得其包含前一帧之后10ms)。分析模块212通常经配置以使用列文逊-杜宾(Levinson-Durbin)递回或勒鲁-盖恩(Leroux-Gueguen)算法来计算线性预测系数。在另一实施方案中,分析模块212可经配置以针对每一帧计算一组倒频谱系数而非一组线性预测系数。
通过量化所述系数,编码器204的输出速率可显著减小,而对重现质量具有相对较小的影响。线性预测系数难以高效地量化,且通常映射到例如LSF的另一表示以用于量化和/或熵编码。在图2的实例中,系数变换214将系数的集合变换成对应LSF向量(例如,一组LSF)。系数的其它一对一表示包含LSP、PARCOR系数、反射系数、对数面积比率值、ISP和ISF。例如,ISF可用于GSM(全球移动通信系统)、AMR-WB(自适应性多速率宽带)编解码器中。为方便起见,术语“线谱频率”、“LSF”、“LSF向量”和相关术语可用以指LSF、LSP、ISF、ISP、PARCOR系数、反射系数和对数面积比率值中的一或多者。通常,一组系数与对应LSF向量之间的变换是可逆的,但一些配置可包含其中变换不可逆而无错误的编码器204的实施方案。
量化器A 216经配置以量化LSF向量(或其它系数表示)。编码器204可输出此量化的结果作为滤波参数228。量化器A 216通常包含向量量化器,所述向量量化器将输入向量(例如,LSF向量)编码为对表或码本中的对应向量条目的索引。
如图2中所见,编码器204也通过使语音信号202传递经过根据系数的集合加以配置的分析滤波器222(也称为白化或预测错误滤波器)而产生残余信号。分析滤波器222可实施为有限脉冲响应(FIR)滤波器或无限脉冲响应(IIR)滤波器。此残余信号将通常含有未表示于滤波参数228中的语音帧的对感知重要的信息,例如与音调相关的长期结构。量化器B 224经配置以计算此残余信号的经量化表示用于作为经编码激发信号226而输出。在一些配置中,量化器B 224包含向量量化器,所述向量量化器将输入向量编码为表或码本中的对应向量条目的索引。另外或替代地,量化器B 224可经配置以发送一或多个参数,向量可在解码器208处从所述一或多个参数动态地加以产生,而非如在稀疏码本方法中从存储装置检索。此类方法用于例如ACELP(代数码激发线性预测)的译码方案和例如3GPP2(第三代合作伙伴2)EVRC(增强型可变速率编解码器)的编解码器中。在一些配置中,经编码激发信号226和滤波参数228可包含于经编码语音信号106中。
编码器204根据对应解码器208将可获得的相同滤波器参数值来产生经编码激发信号226可为有益的。以此方式,所得经编码激发信号226可在一定程度上解决那些参数值中的非理想性,例如量化错误。因此,使用将在解码器208处可用的相同系数值来配置分析滤波器222可为有益的。在如图2中所说明的编码器204的基本实例中,反量化器A 218对滤波参数228进行解量化。反系数变换A 220将所得值映射回到一组对应系数。此组系数用以配置分析滤波器222以产生由量化器B 224量化的残余信号。
编码器204的一些实施方案经配置以通过识别在一组码本向量当中最佳地匹配残余信号的一个码本向量来计算经编码激发信号226。然而,应注意,编码器204也可经实施以计算残余信号的经量化表示而不实际上产生所述残余信号。例如,编码器204可经配置以使用数个码本向量产生对应合成信号(例如,根据一组当前滤波参数)且选择与最佳地匹配感知加权域中的原始语音信号202的所产生信号相关联的码本向量。
在一些配置中,编码器204可实施为噪声激发线性预测性(NELP)编码器。NELP编码器可用以对分类为清音语音的帧进行译码。NELP译码在语音信号202具有极少或不具有音调结构的情况下在信号重现方面有效地操作。更具体地说,NELP可用以对在特性上类似于噪声的语音(例如,清音语音或背景噪声)进行编码。NELP使用经滤波伪随机噪声信号来对清音语音进行模型化。可通过在解码器208处产生随机信号且对其应用适当增益而重构建此类语音区段的噪声样特性。NELP可使用简单模型用于经译码语音,由此达成较低位速率。
在一些配置中,编码器204可实施为原型音调周期(PPP)编码器。PPP编码器可用以对分类为浊音语音的帧进行译码。浊音语音含有由PPP编码器利用的缓慢时变周期性分量。PPP编码器对每一帧内的音调周期的子集进行译码。通过在这些原型周期之间内插而重构建语音信号202的其余周期。通过利用浊音语音的周期性,PPP编码器能够以感知上准确的方式重现语音信号202。
解码器208可包含反量化器B 230、反量化器C 236、反系数变换B 238和合成滤波器234。反量化器C 236对滤波参数228(例如,LSF向量)进行解量化,且反系数变换B238将LSF向量变换成一组系数(例如,如上文参考编码器204的反量化器A 218和反系数变换A 220所描述)。反量化器B 230对经编码激发信号226进行解量化以产生激发信号232。基于所述系数和激发信号232,合成滤波器234合成经解码语音信号210。换句话说,合成滤波器234经配置以根据经解量化的系数在光谱上对激发信号232进行塑形以产生经解码语音信号210。在一些配置中,解码器208也可将激发信号232提供到另一解码器,所述另一解码器可使用激发信号232来导出另一频带(例如,高频带)的激发信号。在一些实施方案中,解码器208可经配置以将关于激发信号232的额外信息(例如频谱倾斜、音调增益和滞后以及语音模式)提供到另一解码器。
编码器204和解码器208的系统为合成式分析语音编解码器的基本实例。码本激发线性预测译码为合成式分析译码的一个流行家族。此类译码器的实施方案可执行残余的波形编码,包含例如从固定和自适应性码本选择输入项、错误最小化操作和/或感知加权操作的操作。合成式分析译码的其它实施方案包含码激发线性预测(CELP)、混合激发线性预测(MELP)、ACELP、宽松CELP(RCELP)、规则脉冲激发(RPE)、多脉冲激发(MPE)、多脉冲CELP(MP-CELP),和向量总和激发线性预测(VSELP)译码。相关译码方法包含多频带激发(MBE)和原型波形内插(PWI)译码。标准化合成式分析语音编解码器的实例包含ETSI(欧洲电信标准协会)-GSM全速率编解码器(GSM 06.10)(其使用残余激发线性预测(RELP))、GSM增强型全速率编解码器(ETSI-GSM 06.60)、ITU(国际电信联盟)标准11.8kbps G.729Annex E译码器、用于IS-136(时分多址方案)的IS(临时标准)-641编解码器、GSM自适应性多速率(GSM-AMR)编解码器和4GVTM(第四代VocoderTM)编解码器(QUALCOMM公司,加利福尼亚州圣地牙哥)。可根据这些技术中的任一者或将语音信号表示为(A)描述滤波器的一组参数和(B)用以驱动所述滤波器以重现所述语音信号202的激发信号的任何其它语音译码技术(不管已知或是待开发)来实施编码器204和对应解码器208。
甚至在分析滤波器222已从语音信号202去除粗糙的频谱包封之后,大量精细谐波结构仍可保留,对于浊音语音尤其如此。周期性结构与音调有关,且由相同说话者说出的不同浊音声音可具有不同共振峰结构但具有类似的音调结构。
可通过使用一或多个参数值对音调结构的特性进行编码来提高译码效率和/或语音质量。音调结构的一个重要特性为第一谐波的频率(也称为基本频率),其通常在60赫兹(Hz)到400Hz的范围内。此特性通常编码为基本频率的倒数,也称为音调滞后。音调滞后指示一个音调周期中的样本的数目,且可编码为一或多个码本索引。来自男性说话者的语音信号倾向于比来自女性说话者的语音信号具有更大音调滞后。
与音调结构相关的另一信号特性为周期性,其指示谐波结构的强度,或换句话说,信号为谐波或非谐波的程度。周期性的两个典型指示项为零交叉和正规化从相关函数(NACF)。也可通过音调增益来指示周期性,音调增益通常编码为码本增益(例如,经量化自适应性码本增益)。
编码器204可包含经配置以对语音信号202的长期谐波结构进行编码的一或多个模块。在CELP编码的一些方法中,编码器204包含开环LPC分析模块,其对短期特性或粗糙的频谱包封进行编码,随后为闭环长期预测分析阶段,其对精细音调或谐波结构进行编码。短期特性被编码为系数(例如,滤波参数228),且长期特性被编码为例如音调滞后和音调增益的参数的值。例如,编码器204可经配置而以包含一或多个码本索引(例如,固定码本索引和自适应性码本索引)和对应增益值的形式输出经编码激发信号226。残余信号的此经量化表示的计算(例如,通过量化器B 224)可包含选择这些索引和计算这些值。音调结构的编码也可包含音调原型波形的内插,其操作可包含计算连续音调脉冲之间的差。对于对应于清音语音的帧(其通常为噪声样且非结构化的)可停用长期结构的模型化。
解码器208的一些实施方案可经配置以在已恢复长期结构(音调或谐波结构)之后将激发信号232输出到另一解码器(例如,高频带解码器)。例如,此类解码器可经配置以输出激发信号232作为经编码激发信号226的经解量化的版本。当然,也有可能实施解码器208使得另一解码器执行经编码激发信号226的反量化以获得激发信号232。
本文中所揭示的系统和方法提供用于控制平均编码率的方法。例如,本文中所揭示的系统和方法的一些配置提供对基于原型音调周期(PPP)的语音编码系统的开环和/或闭环平均编码率控制。为了清楚起见,对出现于已知可变速率编码系统中的一些问题的解释给出如下。
在可变速率语音编码系统中,利用对平均编码率(例如,平均位速率、平均数据速率(ADR)等)的控制来维持所要能力。在基于PPP的语音编码系统中,可通过控制四分之一速率帧(例如,PPP和/或NELP)帧来达成此操作。例如,增强型可变速率编解码器B(EVRC-B)规范强加操作点,所述操作点的操作位速率比所要平均编码率低。四分之一速率PPP帧中的一些可在全速率帧中发送,直到平均编码率基于最后N个语音帧增大到所要速率。例如,在EVRC-B规范中,N=600个帧。
可通过设定例如QFF、QQF(其中Q表示四分之一速率PPP帧,且F表示全速率帧)的PPP和全速率帧型样而选择操作模式。在此设定中,最低速率取决于产生最高PPP帧率的型样。然而,增加相连PPP帧可导致合成波形从原始波形漂移。此情形具有产生语音伪声的可能性。
在EVRC-B规范中,基于PPP的编码系统与称为“提高方案(bump-up scheme)”的拒绝机制相关联。明确地说,即使开环决策作出过程将特定帧分类为PPP帧,提高机制仍可能改变开环决策,其中将使用全速率对所述帧进行量化。例如,编码器进行一组检查以验证给定帧是否适合PPP译码模式。编码器对照一组阈值检查在此过程中计算的一组参数。这些阈值称为“提高”阈值。如果“提高”发生,那么使用较高速率对给定帧进行编码。此增大平均数据速率。因此,增加PPP帧可能并不始终将速率减小到所要较低速率。
甚至当设定某一操作点时,最后N个帧(例如,600个帧)期间的平均速率仍可高度可变。因此,基于过去的N个帧将Q帧改变为F帧可能并不导致所要平均编码率。因此,在速率控制过程中可考虑测量长期平均速率。因此,从一个操作点改变到下一个最积极的操作点以控制平均速率在一些情况下(例如,对于一些语言、在一些嘈杂环境中等)可能并不将速率减小到所要等级。在实验中,发现使用Q和F帧型样QFF产生最佳质量语音,这是因为两个F帧提供足够时间来自归因于四分之一速率编码的相位对准错误复原。
与基于PPP的可变速率语音译码系统中的速率控制相关联的一些潜在问题给出如下。甚至最积极的Q和F型样仍可能归因于语音特性和提高机制而不产生所要平均编码率。强加最积极的速率控制型样可能引起语音伪声。过去N个帧的平均速率可能并不良好地表示接下来的N个帧。相连N个帧期间的速率可高度可变。
图3为说明电子装置340的一个配置的框图,在所述电子装置340中可实施用于控制平均编码率的系统和方法。电子装置340的实例包含智能型手机、移动电话、固定电话、耳机、桌上型计算机、膝上型计算机、电视、游戏系统、音频记录器、摄录影机、静态相机、汽车控制台等。电子装置340可包含编码率控制器342、成帧和预处理模块350、选择器354a到354b和/或一或多个编码器356a到356n。电子装置340的组件中的一或多者可以硬件、软件或两者的组合加以实施。例如,编码率控制器342可以硬件(例如,电路)、软件或两者的组合加以实施。应注意,本文中的框图中的线或箭头可表示组件或元件之间的耦合。例如,编码率控制器342可耦合到成帧和预处理模块350。
电子装置340获得语音信号348。例如,电子装置340可用一或多个麦克风捕获语音信号348和/或可从另一装置(例如,蓝牙耳机)接收语音信号348。语音信号348可提供到成帧和预处理模块350。
成帧和预处理模块350可将语音信号348划分成一系列帧。每一帧可为一特定时段。例如,每一帧可对应于语音信号348的20ms。成帧和预处理模块350可对语音信号348执行其它操作,例如噪声抑制和滤波(例如,低通、高通和带通滤波中的一或多者)。因此,成帧和预处理模块350可产生经预处理的语音信号362。
在一些配置中,成帧和预处理模块350包含度量确定模块360。度量确定模块360可基于语音信号348确定度量352。例如,度量确定模块360可基于语音信号348的帧确定信噪比(SNR)。度量352(例如,SNR)可提供到编码率控制器342。
编码率控制器342可控制平均编码率。平均编码率为基于数个帧上的平均值的经编码语音信号364的位速率(例如,以千位/秒(kbps)计)。编码率控制器342可通过试图使平均编码率匹配目标速率而控制平均编码率。目标速率可指定经编码语音信号364的所要位速率。可从另一装置(例如,基站)接收或可预先确定目标速率。
编码率控制器342可通过选择编码器356a到356n来对经预处理的语音信号362的帧进行编码来控制平均编码率。例如,编码率控制器342可将编码率指示符366提供到选择器354a到354b。编码率指示符366指定特定编码器356、速率和/或帧类型。选择器354a到354b可针对如由编码率指示符366指示的每一帧将经预处理的语音信号362投送到编码器356。
编码器356a到356n中的每一者可基于经预处理的语音信号362产生经编码语音信号364。可根据上文所述的编码器104、204中的一或多者实施编码器356a到356n中的一或多者。编码器356a到356n的实例包含PPP编码器、NELP编码器、CELP编码器(例如,ACELP编码器)等。编码器356a到356n中的一或多者可将编码信息358提供到编码率控制器342。编码信息358的实例包含经编码波形、错误度量(例如,振幅错误度量)、频带增益改变度量(例如,低频带增益改变度量)和用以对帧(例如,第n帧)进行编码的帧编码率。例如,编码率控制器342可利用速率信息来计算一或多个平均速率。
每一编码器356a到356n可以特定编码率产生经编码语音信号364。如本文所使用,术语“高速率编码器”和其变化可表示按比目标速率高的位速率产生经编码语音信号的编码器。此外,术语“低速率编码器”和其变化可表示按比目标速率低的位速率产生经编码语音信号的编码器。
每一编码器356a到356n可用以对一或多个帧类型进行编码。例如,可基于对应于每一帧的语音信号348来根据帧类型对帧进行分类。在一些配置中,编码率控制器342可确定每一帧为“浊音帧”、“清音帧”或是其它帧(例如,静默帧、暂态帧、停机暂态帧(down transient frame)等)。浊音帧可展现发声特性(例如,较多低频带能量、较高SNR等)。清音帧可展现噪声特性(例如,较多高频带能量、较低SNR等)。暂态帧可为在清音或静默帧与浊音帧之间出现的帧。因此,编码率控制器342可基于一或多个阈值和/或一或多个因素(例如,SNR、零交叉率、频带能量比率等)来确定帧类型。可由一或多个编码器356a到356n以一或多个编码率对每一帧类型进行编码。由高速率编码器356编码的帧可称为“高速率帧”,且由低速率编码器356编码的帧可称为“低速率帧”。例如,编码率高于目标速率的帧可为“高速率帧”,且编码率低于目标速率的帧可为“低速率帧”。
在一个实例中,假定编码器356a到356n包含四分之一速率PPP(QPPP)编码器、NELP编码器和两个ACELP编码器。进一步假定目标速率为5.9kbps。QPPP编码器可以2.8kbps的编码率对一些浊音帧(例如,浊音低速率帧)进行编码。NELP编码器可以2.8kbps的编码率对清音帧进行编码。因此,在此实例中,QPPP编码器和NELP编码器为低速率编码器。一个ACELP编码器(例如,“浊音”ACELP编码器)可以7.2kbps的编码率对一些浊音帧(例如,浊音高速率帧)进行编码。另一ACELP编码器(例如,“过渡”ACELP编码器)可以8.0kbps的编码率对过渡帧进行编码。因此,在此实例中,浊音ACELP编码器和过渡ACELP编码器为高速率编码器。
在一些实例中,术语“全速率”和/或“四分之一速率”可用以描述帧类型和/或对应编码器。应注意,“全速率”可或可不表示最大可能位速率和/或可基于帧类型表示不同位速率。例如,浊音全速率帧可由浊音ACELP编码器以7.2kbps的位速率加以编码,但全速率过渡帧可由过渡ACELP编码器以8.0kbps的位速率加以编码。也应注意,“四分之一速率”可或可不表示全速率的实际四分之一。例如,四分之一速率帧可以2.8kbps加以编码,其并不精确地为全速率7.2kbps的四分之一。
平均速率确定模块344可确定第一平均速率。第一平均速率的一个实例包含长期平均速率(例如,RLT)。例如,平均速率确定模块344可确定短期平均速率(例如,RlastNframes)和/或长期平均速率。短期平均速率和长期平均速率为平均编码率的实例。短期平均速率为在最后N个帧(例如,600个帧)上平均化的编码率。平均速率确定模块344可通过对N个帧上的所选帧编码率进行求和并将所述总和除以N而确定短期平均速率。可根据方程式(1)中给出的平滑化方程式在每一N帧帧间隔之后确定(例如,计算)长期平均速率。
RLT(n)=αRLT(n-1)+(1-α)RlastNframes    (1)
在方程式(1)中,n为长期平均索引,且α为平滑化因数。在一些配置中,α可为0.98。编码率控制器342可利用短期平均速率和/或长期平均速率来控制平均编码率。
阈值确定模块346可确定一或多个阈值。例如,阈值确定模块346可基于平均编码率自适应性地改变一或多个阈值。明确地说,阈值确定模块346可基于第一平均速率确定第一阈值(例如,THCN)。例如,如果第一平均速率(例如,RLT)大于目标速率(例如,Rtarget),那么阈值确定模块346可选择第一阈值或调整第一阈值(例如,增大第一阈值)。例如,增大第一阈值可使较多帧被分类为清洁帧,其以低速率进行编码,从而使得平均编码率减小。然而,如果第一平均速率(例如,RLT)小于或等于目标速率,那么阈值确定模块346可选择不同第一阈值或以不同方式调整所述第一阈值(例如,减小所述第一阈值)。例如,减小第一阈值可使较多帧被分类为有噪声帧,其以高速率进行编码,从而引起平均编码率增大。
第一阈值(例如,THCN)可将帧分类为清洁帧或有噪声帧。更具体地说,编码率控制器342可基于第一阈值将帧分类为清洁帧或有噪声帧。例如,每一浊音帧可分类为清洁帧或有噪声帧。清洁帧可通过低速率编码器356(例如,QPPP编码器)以高概率进行编码,而有噪声帧可通过高速率编码器356(例如,浊音ACELP编码器)以高概率进行编码。应注意,并非所有有噪声帧可通过高速率编码器356加以编码,但使用高速率编码器356对有噪声帧进行编码的概率高。因此,确定第一阈值可影响通过高速率编码器356与通过低速率编码器356编码的帧的数目,其影响平均编码率。
在一个实例中,第一阈值为SNR阈值,且度量352为SNR。SNR可基于由成帧和预处理模块350执行的噪声估计。在此实例中,编码率控制器342可在SNR大于SNR阈值的情况下将帧分类为清洁帧,或在SNR小于或等于SNR阈值的情况下将帧分类为有噪声帧。
编码率控制器342可通过基于第一阈值确定至少一个其它阈值而控制平均编码率。例如,编码率控制器342可基于第一阈值选择不同阈值。选择不同阈值可通过增加高速率帧的量(同时减少低速率帧的量)(其增大平均编码率)或通过减少高速率帧的量(同时增加低速率帧的量)(其减小平均编码率)而影响平均编码率。在一些配置中,所述至少一个其它阈值可为阈值组。例如,编码率控制器342可基于第一阈值选择第一阈值组或第二阈值组。如本文所使用,术语“组”可表示两个或两个以上元素。例如,“阈值组”可包含两个或两个以上阈值。
在一些配置中,所述至少一个其它阈值包含至少一个帧调整阈值。帧调整阈值可指示是否调整给定帧的帧类型。帧类型调整可改变(例如,增大或减小)帧的编码率。通过改变一或多个帧调整阈值,可控制帧类型调整量以增大或减小平均编码率。在一些配置中,帧调整阈值可用以确定原始语音信息与经量化语音信息之间是否存在显著量的量化错误(例如,经量化参数是否与未经量化参数差异过大)。如果量化错误过大,那么经编码语音质量可能降级。在这些情况下,可调整待以较高速率(例如,较高质量)编码的帧类型。
在一个实例中,编码率控制器342可一开始将浊音帧分类为低速率编码(例如,QPPP编码)的候选者。低速率编码器356可继续对浊音帧进行编码,且可将编码信息358提供到编码率控制器342。
编码率控制器342基于编码信息358和帧调整阈值确定是否调整帧类型。例如,编码信息358可包含一或多个度量或用于确定一或多个度量的信息。例如,所述一或多个度量可包含指示原始帧与经编码帧之间的差异程度的第一度量(例如,振幅错误度量)和/或指示先前帧与当前帧之间的改变程度的第二度量(例如,低频带增益改变度量)。可通过编码器356或编码率控制器342确定所述一或多个度量。如果所述一或多个度量超出帧调整阈值中的一或多者,那么编码率控制器342可调整帧类型。例如,编码率控制器342可选择不同编码器356来对帧进行编码。例如,编码率控制器342可选择高速率编码器356代替低速率编码器356。
在一个实例中,所述至少一个阈值为“提高”阈值的集合。提高阈值指示是否将低速率QPPP帧调整(例如,提高)到高速率浊音ACELP帧。例如,编码率控制器342可一开始将浊音帧分类为QPPP帧。因此,编码率控制器342选择QPPP编码器356来对所述帧进行编码。QPPP编码器356对所述帧进行编码,且将编码信息358提供到编码率控制器342。
在此实例中,编码信息358包含振幅错误度量和低频带增益改变度量。振幅错误度量(例如,amperror)为原始PPP信号与经量化PPP信号之间的平均差,如方程式(2)中所说明。
a m p e r r o r = Σ i = 1 M | P P P ( i ) - PPP Q ( i ) | M - - - ( 2 )
在方程式(2)中,PPP(i)为索引i的原始PPP信号振幅,PPPQ(i)为经量化PPP信号振幅,M为用以计算PPP振幅(例如,在振幅量化中)的位的数目,且amperror为振幅错误度量。例如,可通过将时域信号转换为频域信号并计算不同频带的振幅来量化PPP信号。
低频带增益改变度量(例如,ΔLgainE)为当前帧低频带能量增益与先前帧低频带能量增益之间的差,如方程式(3)中所说明。
ΔLgainE=currLgainE-prevLgainE        (3)
在方程式(3)中,currLgainE为当前帧低频带能量增益,prevLgainE为先前帧低频带能量增益,且ΔLgainE为低频带增益改变度量。可在低频带上评估能量增益,低频带为在0Hz与上限之间的频率范围。例如,低频带可在0Hz与1104.5Hz之间。
在此实例中,提高阈值的所述集合包含振幅错误阈值(例如,amperrorTH)和低频带增益改变阈值(例如,ΔLgainETH)。在一些配置中,amperrorTH=0.47,且在此实例中,如果amperror>0.47且ΔLgainE>-0.4,那么编码率控制器342可将QPPP帧调整(例如,提高)到浊音ACELP帧。
在一些配置中,确定至少一个其它阈值可进一步基于度量352而进行。例如,编码率控制器342可在度量352不大于第一阈值的情况下选择第一阈值组(例如,第一速率调整阈值组),或可在度量352大于第一阈值的情况下选择第二阈值组(例如,第二速率调整阈值组)。例如,编码率控制器342可通过确定度量352(例如,SNR)是否大于第一阈值(例如,SNR阈值)而确定至少一个其它阈值。
操纵所述第一阈值(例如,SNR阈值)和/或所述至少一个其它阈值(例如,帧调整阈值、提高阈值)可影响对帧分类的方式,这可影响平均编码率,这是因为可以不同速率对不同帧类型进行译码。例如,平均编码率可基于帧被分类为清洁帧或是清洁帧和/或所述帧被分类为浊音帧、清音帧或是通用帧。表(1)中给出对应于各种帧类型的编码率的实例。
帧类型 速率
QPPP 2.8kbps
NELP 2.8kbps
浊音ACELP 7.2kbps
过渡ACELP 8.0kbps
表(1)
在一些配置中,编码率控制器342可进一步通过确定帧型样来控制平均编码率。例如,控制平均编码率可包含确定帧型样。帧型样可指定具有某些帧类型的帧的比率或所需量。例如,第一帧型样(例如,“速率增大帧型样”)可需要低速率帧之间的最小数目个高速率帧,且第二帧型样(例如,“速率减小帧型样”)可仅允许高速率帧之间的最大数目个低速率帧。如果第一平均速率低于目标速率,那么编码率控制器342可选择第一帧型样,其可增大平均编码率。如果第一平均速率高于目标速率,那么编码率控制器342可选择第二帧型样,其可减小平均编码率。
在一些配置中,帧型样包含“QFF”帧型样和“QQF”帧型样,其中“Q”表示低速率帧(例如,四分之一速率帧)且“F”表示高速率帧(例如,全速率帧)。在这些配置中,QFF帧型样可需要Q帧之间的最小数目个F帧。此外,QQF帧型样可仅允许F帧之间的最大数目个Q帧。例如,QFF型样可需要至少两个F帧出现于Q帧之间,但两个以上相连F帧可能出现于Q帧之间。此外,QQF型样可仅允许F帧之间的最多两个相连Q帧,但一个以上F帧可能出现于Q帧之间。
在一些配置中,编码率控制器342(例如,阈值确定模块346)可进一步通过基于第一平均速率调整至少一个其它阈值而控制平均编码率。例如,控制所述平均编码率可进一步包含基于所述第一平均速率调整至少一个其它阈值。
在一个实例中,所述至少一个其它阈值为至少一个帧调整阈值。在此实例中,编码率控制器342可通过选择帧调整阈值组而调整所述至少一个帧调整阈值。例如,编码率控制器342可在第一平均速率大于目标速率的情况下选择第一帧调整阈值组,且可在第一平均速率不大于目标速率的情况下选择第二帧调整阈值组。第一帧调整阈值组可称为“宽松帧调整阈值组”。第一帧调整阈值组可导致较少帧调整(例如,提高),其可降低平均编码率。例如,第一帧调整阈值组中的帧调整阈值中的一或多者可高于第二帧调整阈值组中的一或多个对应帧调整阈值。第二帧调整阈值组可称为“加严帧调整阈值组”。第二帧调整阈值组可导致较多帧调整(例如,提高),其可增大平均编码率。
在一些配置中,编码率控制器342(例如,阈值确定模块346)可进一步通过基于第一平均速率调整至少一个发声阈值而控制平均编码率。例如,控制所述平均编码率进一步包含基于所述第一平均速率调整至少一个发声阈值。
在一些配置中,直接调整至少一个发声阈值可不同于如上文所描述的基于第一阈值确定所述至少一个其它阈值。例如,直接调整所述至少一个发声阈值可直接基于第一平均速率(且可不基于(例如)确定另一阈值而加以指示)。
在一个实例中,编码率控制器342可通过选择发声阈值组而调整至少一个发声阈值。例如,编码率控制器342可在第一平均速率大于目标速率的情况下选择第一发声阈值组,且可在第一平均速率不大于目标速率的情况下选择第二发声阈值组。所述第一发声阈值组可称为“宽松发声阈值组”。第一发声阈值组可导致将较多帧分类为浊音帧和/或清音帧(例如,QPPP帧和/或NELP帧),其可降低平均编码率。此可降低平均编码率,因为一些浊音帧和/或清音帧可为低速率帧。例如,第一发声阈值组中的一个发声阈值可高于第二发声阈值组中的对应发声阈值,且第一发声阈值组中的另一发声阈值可低于第二发声阈值组中的对应发声阈值。所述第二发声阈值组可称为“加严发声阈值组”。第二发声阈值组可导致将较多帧分类为通用帧。此可导致增大平均编码率,因为通用帧(例如,过渡帧)可为高速率帧。
在本文中所揭示的系统和方法的一些配置中,电子装置340可基于长期平均速率和短期平均速率控制平均编码率。明确地说,本文中所揭示的系统和方法的一些配置提供基于短期和长期平均速率的平均编码率控制策略。又,控制平均编码率可取决于长期平均速率、短期平均速率(例如,在最后N个帧期间的平均速率)和目标速率而基于多个步骤。本文中所揭示的系统和方法的更特定配置给出如下。在此配置中,可利用与项目(1)到(4)相关的一或多个程序来达成所要平均编码率。对语音质量的潜在影响随着项目的列表进展而增大。
(1)可改变用于PPP帧的第一阈值(例如,THCN)。明确地说,可存在分类清洁帧和有噪声帧的两个帧调整阈值组。大体来说,这些帧调整阈值对于清洁帧更为严格。增大第一阈值使得能够将较多帧认为是有噪声的,其导致较少帧调整(例如,较少提高)。此可减小平均编码率。(2)可利用产生较多低速率帧的帧型样。例如,可将帧型样设定为第一帧型样,且可将所述帧型样改变为第二帧型样以获得较多低速率帧,其减小平均编码率。(3)可调整(例如,放宽松)帧调整阈值。此可减小帧调整的数目(例如,提高),因此较多低速率帧是可能的。(4)可调整至少一个发声阈值以通过增加低速率帧(例如,QPPP帧和NELP帧)而减小速率。此可潜在地产生语音伪声。
除平均编码率减小机制之外,本文中所揭示的系统和方法也可利用语音质量改善策略(如果全域速率小于目标速率达特定裕量)。可使用用于EVRC-B中的速率控制机制来将某一百分比的低速率帧移到高速率帧,其可增加语音质量。可通过使用某些Q和F型样使操作点固定且接着将某一百分比的Q帧移到F帧来完成此操作。EVRC-B选取低于目标位速率的操作位速率。接着可计算比率(例如,r%),使得按所计算比率(r%)将Q帧的译码模式改变为F帧将平均速率增大到目标速率。因为一些Q帧改为使用全速率帧加以译码,因此总体语音质量改善。
电子装置340可发送经编码语音信号364。经编码语音信号364和/或编码率指示符366可发送到另一装置(例如,电子装置、基站、无线通信装置等),和/或可发送到存储器以供存储。例如,经编码语音信号364和编码率指示符366可提供到包含于电子装置340中的射频(RF)传输器(未图示)。RF传输器可接着使用天线将经编码语音信号364传输到另一装置。
图4为说明用于控制平均编码率的方法400的一个配置的流程图。电子装置340获得语音信号348(402)。例如,电子装置340可通过一或多个麦克风捕获语音信号348和/或可从另一装置(例如,蓝牙耳机)接收语音信号348。
电子装置340可确定第一平均速率(404)。例如,电子装置340可确定长期平均速率(例如,RLT)和/或短期平均速率(例如,RlastNframes),如上文结合图3所描述。
电子装置340可基于所述第一平均速率确定第一阈值(例如,THCN)(406)。例如,电子装置340可基于所述第一平均速率选择或调整第一阈值,如上文结合图3所描述。
电子装置340可通过基于第一阈值确定至少一个其它阈值而控制平均编码率(408)。例如,编码率控制器342可基于第一阈值选择不同阈值(例如,帧调整阈值组),如上文结合图3所描述。
电子装置340可发送经编码语音信号364(410)。例如,经编码语音信号364和/或编码率指示符366可发送到另一装置(例如,电子装置、基站、无线通信装置等)和/或可发送到存储器以供存储,如上文结合图3所描述。
图5为说明用于基于第一阈值和度量352确定至少一个其它阈值的方法500的一个配置的流程图。电子装置340获得语音信号348(502)。可如上文所描述而实现此操作。
电子装置340可基于所述语音信号348确定SNR(504)。例如,电子装置340可基于语音信号348确定信道能量估计和信道噪声能量估计。电子装置340可接着基于信道能量估计与信道噪声能量估计的比率确定SNR(504)。
电子装置340可确定SNR是否大于第一阈值(例如,THCN、SNR阈值)(506)。如果SNR不大于第一阈值,那么电子装置340可选择第一阈值组(例如,第一帧调整阈值组、第一提高阈值组等)(508)。如果SNR大于第一阈值,那么电子装置340可选择第二阈值组(例如,第二帧调整阈值组、第二提高阈值组等)(510)。
方法500包含改变第一阈值(例如,上文结合图3所述的项目(1))的一个实例。可基于第一平均速率自适应性地改变第一阈值(例如,THCN、SNR阈值等),使得选择第一阈值组或第二阈值组。此为基于第一阈值和度量352(例如,SNR)间接选择至少一个其它阈值(例如,帧调整阈值组)的一个实例。
图6为说明用于控制平均编码率的方法600的更特定配置的流程图。电子装置340可开始编码(602)。例如,电子装置340可获得语音信号,且开始对所述语音信号进行编码。
电子装置340可设定默认参数(604)。参数的实例包含第一阈值(例如,THCN)、帧型样模式、帧调整阈值模式和/或发声阈值模式。帧型样模式可指示帧型样(例如,第一帧型样、第二帧型样等)。帧调整阈值模式可指示至少一个帧调整阈值(例如,第一帧调整阈值组和第二帧调整阈值组等)。发声阈值模式可指示至少一个发声阈值(例如,第一发声阈值组、第二发声阈值组等)。电子装置340可在确定编码率时(例如,在对帧进行分类时)利用如由帧型样模式指示的帧型样、如由帧调整阈值模式指示的帧调整阈值和/或如由发声阈值模式指示的发声阈值。在一个实例中,设定默认参数(604)可包含将第一阈值设定到第一阈值最大值(例如,THCNmax)、设定帧型样模式以指示第二帧型样、设定帧调整阈值模式以指示第一帧调整阈值组(例如,宽松帧调整阈值组),和设定发声阈值模式以指示第二发声阈值组(例如,加严的发声阈值组)。
电子装置340可确定是否已达到N帧块(606)。例如,电子装置340可确定是否已处理N个帧(从开始编码或从先前N帧块以来)。例如,如果已确定帧的编码率和/或如果已对所述帧进行编码,那么所述帧可为“经处理的”。
如果尚未达到N帧块,那么电子装置340可处理下一帧(608)。例如,电子装置340可确定下一帧的编码率和/或可对所述下一帧进行编码。
如果已达到N帧块,那么电子装置340可确定第一平均速率(例如,长期平均速率)和第二平均速率(例如,短期平均速率)(610)。可如上文结合图3和/或图4所描述而实现此操作。
电子装置340可确定第一平均速率是否大于目标速率(612)。如果第一平均速率大于目标速率,那么电子装置340可利用速率减小算法(616)。如果第一平均速率不大于目标速率,那么电子装置340可利用速率增大算法(614)。速率增大算法可调整一或多个参数以试图增大平均编码率。例如,速率增大算法可减小第一阈值、设定帧型样模式以指示第一帧型样(例如,速率增大帧型样)、设定帧调整阈值模式以指示第二帧调整阈值组(例如,加严帧调整阈值组)和/或设定发声阈值模式以指示第二发声阈值组(例如,加严发声阈值组)。
如果第一平均速率大于目标速率,那么电子装置340可利用速率减小算法(616)。速率减小算法可调整一或多个参数以试图减小平均编码率。例如,速率减小算法可增大第一阈值、设定帧型样模式以指示第二帧型样(例如,速率减小帧型样)、设定帧调整阈值模式以指示第一帧调整阈值组(例如,宽松帧调整阈值组)和/或设定发声阈值模式以指示第一发声阈值组(例如,宽松发声阈值组)。
电子装置340可处理下一帧(608)。例如,电子装置340可处理下一N帧块,且返回到确定第一平均速率(610),以此类推。
图7为说明用于减小平均编码率的方法700的一个配置的流程图。方法700可为结合图6所描述的速率减小算法的一个实例。例如,当第一平均速率大于目标速率时,可执行方法700。
电子装置340可确定第一阈值(例如,THCN)是否大于或等于第一阈值最大值(例如,THCNmax)(702)。如果第一阈值不大于或等于第一阈值最大值,那么电子装置340可增大第一阈值(712)。例如,电子装置340可将第一阈值增大到第一阈值加第一阈值大小因数。所述第一阈值大小因数可指定增大第一阈值的量(例如,步长)。电子装置340可接着返回以处理下一帧,如结合图6所描述。
如果第一阈值大于或等于第一阈值最大值,那么电子装置340可确定帧型样模式是否指示速率增大帧型样且第二平均速率(例如,短期平均速率)是否大于目标速率(704)。如果帧型样模式指示速率增大帧型样且第二平均速率大于目标速率,那么电子装置340可设定帧型样模式以指示速率减小帧型样(714)。电子装置340可接着返回以处理下一帧,如结合图6所描述。
如果帧型样模式不指示速率增大帧型样或第二平均速率不大于目标速率,那么电子装置340可确定帧型样模式是否指示速率减小帧型样且第二平均速率是否大于目标速率(706)。如果帧型样模式不指示速率减小帧型样或第二平均速率不大于目标速率,那么电子装置340可返回以处理下一帧,如结合图6所描述。如果帧型样模式指示速率减小帧型样且第二平均速率大于目标速率,那么电子装置340可设定帧调整模式以指示第一帧调整阈值组(例如,宽松帧调整阈值组)(708)。
电子装置340可确定第一平均速率是否大于目标速率加第一速率容限(710)。第一速率容限指定高出目标速率的量。如果长期平均速率大于目标速率加第一速率容限,那么电子装置340可设定发声阈值模式以指示第一发声阈值组(例如,宽松发声阈值组)(716)。电子装置340可返回以处理下一帧,如结合图6所描述。如果长期平均速率不大于目标速率加第一速率容限,那么电子装置340可返回以处理下一帧,如结合图6所描述。
如可在图7中观测到,可渐进地实施如结合图3所描述的确定第一阈值(和基于所述第一阈值确定至少一个其它阈值)、确定帧型样、设定帧调整模式(例如,调整帧调整阈值)和/或(直接)调整至少一个发声阈值。例如,如果第一平均速率高于目标速率,那么可执行连续的额外程序直到达到目标速率。例如,如果执行项目(1)未达到目标速率,那么可执行项目(1)和(2)等,直到执行所有项目(1)到(4)以减小平均速率。
图8为说明用于增大平均编码率的方法800的一个配置的流程图。方法800可为结合图6所描述的速率增大算法的一个实例。例如,当第一平均速率不大于目标速率时,可执行方法800。
电子装置340可设定发声阈值模式以指示第二发声阈值组(例如,加严发声阈值组)(802)。此可导致更通用的帧。可通过高速率编码器(例如,过渡ACELP编码器)对通用帧(例如,暂态帧)进行编码。
电子装置340可确定帧调整阈值模式是否指示第一帧调整阈值组(例如,宽松帧调整阈值组)(804)。如果帧调整阈值模式指示第一帧调整阈值组,那么电子装置340可设定帧调整阈值模式以指示第二帧调整阈值组(例如,加严帧调整阈值组)(814)。电子装置340可接着返回到处理下一帧,如结合图6所描述。
如果帧调整阈值模式不指示第一帧调整阈值组,那么电子装置340可确定帧型样模式是否指示速率减小帧型样(806)。如果帧型样模式指示速率减小帧型样,那么电子装置340可设定帧型样模式以指示速率增大帧型样(816)。电子装置340可接着返回到处理下一帧,如结合图6所描述。
如果帧型样模式不指示速率减小帧型样,那么电子装置340可确定第一阈值是否大于或等于第一阈值最小值(808)。如果第一阈值大于或等于第一阈值最小值,那么电子装置340可将第一阈值减小到第一阈值减第二阈值大小因数(818)。所述第二阈值大小因数可指定减小第一阈值的量(例如,步长)。电子装置340可接着返回到处理下一帧,如结合图6所描述。
如果第一阈值不大于或等于第一阈值最小值,那么电子装置340可确定第一平均速率是否小于目标速率减第二速率容限(810)。第二速率容限指定低于目标速率的量。如果第一平均速率不小于目标速率减第一速率容限,那么电子装置340可返回到处理下一帧,如结合图6所描述。
如果第一平均速率小于目标速率减第二速率容限,那么电子装置340可将一或多个低速率帧移到一或多个高速率帧以增大平均编码率(812)。在一些配置中,此可基于EVRC-B速率控制算法(例如,如上文所描述)。电子装置340可返回到处理下一帧,如结合图6所描述。
如可从图8中观测到,可渐进地实施(与结合图7所描述的方法700相比达到相反效果且以相反次序)如结合图3所描述的确定第一阈值(和基于所述第一阈值确定至少一个其它阈值)、确定帧型样、设定帧调整模式(例如,调整帧调整阈值)和/或(直接)调整至少一个发声阈值。例如,方法800可逐渐地反转结合图7所描述的方法700中所采取的测量。例如,如果第一平均速率低于目标速率,那么可执行连续的额外程序直到达到目标速率。
图9为说明发声阈值组976a到976b的实例的图。图9中所说明的水平维度对应于发声测量(例如,发声因数)。此发声测量可不具有测量单位。发声测量可沿图9中所说明的横轴朝向右侧增大。明确地说,图9说明可调整发声阈值978、968的方式的实例。第一发声阈值组976a(例如,宽松发声阈值组)可包含下部发声阈值A 978a和上部发声阈值A 968a。第二发声阈值组976b(例如,加严发声阈值组)可包含下部发声阈值A 978a和上部发声阈值A 968a。
当第一平均速率在速率约束内时(例如,当第一平均速率小于或等于目标速率加第一容限时),可利用第二发声阈值组976b。第一发声阈值组976a可增加浊音和清音帧的数目。换句话说,可将包含于第二发声阈值组976b中的发声阈值978b、968b调整到包含于第一发声阈值组976a中的发声阈值978a、968a,使得导致较少通用帧。应注意,调整发声阈值可为直接阈值调整的一个实例。例如,基于第一平均速率调整发声阈值组可为直接调整阈值组的一个实例。
可利用阈值组976a到976b来将帧分类为浊音帧、清音帧或通用帧。如图9中所说明,第二发声阈值组976b提供清音帧范围B 970b和浊音帧范围B 974b,其大于由第一发声阈值组976a提供的清音帧范围A 970a和浊音帧范围A 974a。此外,第二发声阈值组976b提供通用帧范围B 972b,其大于由第一发声阈值组976a提供的通用帧范围A972a。因此,当与第二发声阈值组976b相比时,帧更可能基于第一发声阈值组976a而被分类为浊音帧或清音帧。
例如,较多浊音帧和清音帧可对于浊音帧导致较多QPPP帧(例如,以2.8kbps)且对于清音帧导致较多NELP帧(例如,以2.8kbps),其可减小平均编码率。替代地,较多通用帧可导致较多过渡ACELP帧(例如,以8.0kbps),其可增大平均编码率。
图10为说明编码率控制器1042的一个配置的框图。结合图10描述的编码率控制器1042可为结合图3描述的编码率控制器342的一个实例。编码率控制器1042可包含平均速率确定模块1044、帧型样确定模块1082、阈值确定模块1046和/或编码率确定模块1090。编码率控制器1042的组件中的一或多者可以硬件、软件或两者的组合加以实施。
编码率控制器1042可基于目标速率1080、度量1052和编码信息1058控制平均编码率。编码率控制器1042可通过试图使平均编码率匹配目标速率1080而控制平均编码率。可从另一装置(例如,基站)接收或可预先确定目标速率1080。
编码率控制器1042可提供编码率指示符1066以选择用于对语音信号的帧进行编码的编码器。编码率指示符1066指定特定编码器、速率和/或帧类型。一或多个编码器可将编码信息1058提供到编码率控制器1042。例如,编码信息1058可包含振幅错误度量(例如,amperror)和低频带增益改变度量(例如,ΔLgainE)。替代地,编码率控制器1042可基于编码信息1058确定振幅错误度量和低频带增益改变度量。在一些配置中,编码信息1058可包含帧编码率。另外或替代地,编码率控制器1042可获得如由编码率指示符1066指示的帧编码率。
平均速率确定模块1044可确定第一平均速率(例如,长期平均速率或RLT)。平均速率确定模块1044也可测定短期平均速率(例如,RlastNframse)。可如上文结合图3和/或方程式(1)所描述而实现此操作。例如,平均速率确定模块1044可基于用于每一帧的帧编码率而确定短期平均速率和/或长期平均速率。编码率控制器1042可利用短期平均速率和/或长期平均速率来控制平均编码率。
阈值确定模块1046可确定一或多个阈值。例如,阈值确定模块1046可包含第一阈值确定模块1084、帧调整阈值确定模块1086和/或发声阈值确定模块1088。
第一阈值确定模块1084可基于第一平均速率确定第一阈值(例如,THCN)。可如上文所描述而实现此操作。例如,如果第一平均速率(例如,RLT)大于目标速率1080(例如,Rtarget)且第一阈值小于第一阈值最大值,那么阈值确定模块1046可将第一阈值增大第一阈值大小因数。然而,如果第一平均速率(例如,RLT)小于或等于目标速率1080,那么阈值确定模块1046可将第一阈值减小第二阈值大小因数。第一阈值可提供到编码率确定模块1090。
帧调整阈值确定模块1086可基于第一阈值和度量1052确定帧调整阈值组。可如上文所描述而实现此操作。例如,第一阈值可为SNR阈值,且度量1052可为SNR。如果SNR大于第一阈值,那么帧调整确定模块1086可选择第一帧调整阈值组。如果SNR不大于第一阈值,那么帧调整确定模块1086可选择第二帧调整阈值组。此为间接调整帧调整阈值组的一个实例,因为帧调整阈值组是基于第一阈值而确定。帧调整阈值组可提供到编码率确定模块1090。
帧型样确定模块1082可确定帧型样。可如上文所描述而实现所述操作。例如,如果第一平均速率大于目标速率1080、如果第一阈值大于或等于第一阈值最大值、如果帧型样模式指示速率增大帧型样且如果第二平均速率(例如,短期平均速率或RlastNframes)大于目标速率1080,那么帧型样确定模块1082可设定帧型样模式以指示速率减小帧型样。帧型样模式可提供到编码率确定模块1090。
帧调整阈值确定模块1086可基于第一平均速率调整帧调整阈值组。可如上文所描述而实现此操作。例如,如果第一平均速率大于目标速率1080、如果第一阈值大于或等于第一阈值最大值、如果帧型样模式指示速率减小帧型样且如果第二平均速率大于目标速率1080,那么帧调整阈值确定模块1086可设定帧调整模式以指示第一帧调整组阈值组。帧调整模式可提供到编码率确定模块1090。应注意,在一些配置中,可不直接控制帧调整阈值。例如,帧调整阈值可取决于第一阈值。
发声阈值确定模块1088可基于第一平均速率调整发声阈值组。可如上文所描述而实现此操作。例如,如果第一平均速率大于目标速率1080、如果第一阈值大于或等于第一阈值最大值、如果帧型样模式指示速率减小帧型样且第二平均速率大于目标速率1080且如果第一平均速率大于目标速率1080加第一容限,那么发声阈值确定模块1088可设定发声阈值模式以指示第一发声阈值组。发声阈值模式可提供到编码率确定模块1090。
编码率确定模块1090可基于度量1052、第一阈值、帧型样模式、帧调整模式、发声阈值模式和/或编码信息1058而确定编码率指示符1066。在一些配置中,编码率确定模块1090可首先将帧分类为清洁或有噪声,接着为浊音或清音。接着,编码率确定模块1090可强加或强施帧型样。最终,编码率确定模块1090可确定是否要“提高”所述帧。然而,可能存在稍后状态中的确定改变较早确定的一些情况。可利用编码率指示符1066选择用于对帧进行编码的编码器,如上文所描述。
图11为说明用于控制平均编码率的方法1100的另一更特定配置的流程图。明确地说,图11展示上文结合图4、图6、图7和图8中的一或多者所述的方法400、600、700、800中的一或多者的更特定实例。表(2)提供用于图11中的术语和符号的概述。
表(2)
电子装置340可开始译码(1102)。例如,电子装置340可获得语音信号且开始对所述语音信号进行编码,如上文所描述。
电子装置340可设定QQFmode=1、THCN=THCNmax、RelaxBMPmode=1且RelaxVmode=0(1104)。此为如上文所描述的设定默认参数的一个实例。
电子装置340可确定是否已达到N帧块(1106)。可如上文所描述而实现此操作。如果尚未达到N帧块,那么电子装置340可处理下一帧(1108)。可如上文所描述而实现此操作。
如果已达到N帧块,那么电子装置340可确定RLT和RlastNframes(1110)。可如上文所描述而确定RLT和RlastNframes(1110)。
电子装置340可确定是否RLT>Rtarget(1112)。如果RLT>Rtarget,那么电子装置340可确定是否THCN≥THCNmax(1114)。如果THCN<THCNmax,那么电子装置340可设定THCN=THCNth1(1124)。电子装置340可返回到处理下一帧(1108)。
如果THCN≥THCNmax,那么电子装置340可确定是否QQFmode==0且是否RlastNframes>Rtarget(1116)。如果QQFmode==0且RlastNframes>Rtarget,那么电子装置340可设定QQFmode=1(1126)。电子装置340可返回到处理下一帧(1108)。
如果QQFmode==1或RlastNframes≤Rtarget,那么电子装置340可确定是否QQFmode==1且是否RlastNframse>Rtarget(1118)。如果QQFmode==0或RlastNframes≤Rtarget,那么电子装置340可返回到处理下一帧(1108)。如果QQFmode==1且RlastNframes>Rtarget,那么电子装置340可设定RelaxBMPmode=1(1120)。
电子装置340可确定是否RLT>Rtargettol1(1122)。如果RLT>Rtargettol1,那么电子装置340可设定RelaxVmode=1(1128)。电子装置340可返回到处理下一帧(1108)。如果RLT≤Rtargettol1,那么电子装置340可返回到处理下一帧(1108)。
如果RLT≤Rtarget,那么电子装置340可设定RelaxVmode=0(1130)。电子装置340可确定是否RelaxBMPmode==1(1132)。如果RelaxBMPmode==1,那么电子装置340可设定RelaxBMPmode=0(1142)。电子装置340可返回到处理下一帧(1108)。
如果RelaxBMPmode==0,那么电子装置340可确定是否QQFmode==1(1134)。如果QQFmode==1,那么电子装置340可设定QQFmode=0(1144)。电子装置340可返回到处理下一帧(1108)。
如果QQFmode==0,那么电子装置340可确定是否THCN≥THCNmin(1136)。如果THCN≥THCNmin,那么电子装置340可设定THCN=THCNth2(1146)。电子装置340可返回到处理下一帧(1108)。
如果THCN<THCNmin,那么电子装置340可确定是否RLT<Rtargettol2(1138)。如果RLT≥Rtargettol1,那么电子装置340可返回到处理下一帧(1108)。
如果RLT<Rtargettol2,那么电子装置340可将一或多个低速率帧移到一或多个高速率帧以增大平均编码率(1140)。在一些配置中,此可基于EVRC-B速率控制算法。电子装置340可返回到处理下一帧(1108)。
图12为说明无线通信装置1240的一个配置的框图,在所述无线通信装置1240中可实施用于控制平均编码率的系统和方法。图12中所说明的无线通信装置1240可为本文中所描述的电子装置中的至少一者的实例。无线通信装置1240可包含应用处理器1211。应用处理器1211通常处理指令(例如,运行程序)以执行无线通信装置1240上的功能。应用处理器1211可耦合到音频译码器/解码器(编解码器)1209。
音频编解码器1209可用于对音频信号进行译码和/或解码。音频编解码器1209可耦合到至少一个扬声器1201、听筒1203、输出插口1205和/或至少一个麦克风1207。扬声器1201可包含将电或电子信号转换成声波信号的一或多个电声转换器。例如,扬声器1201可用以播放音乐或输出扬声器电话交谈等。听筒1203可为可用以将声波信号(例如,语音信号)输出到用户的另一扬声器或电声转换器。例如,可使用听筒1203而使得仅一个用户可可靠地听到声学信号。输出插口1205可用于将例如头戴式耳机的其它装置耦合到无线通信装置1240以用于输出音频。扬声器1201、听筒1203和/或输出插口1205可通常用于从音频编解码器1209输出音频信号。至少一个麦克风1207可为将声学信号(例如用户的话音)转换成提供到音频编解码器1209的电或电子信号的声电转换器。
音频编解码器1209(例如,解码器)可包含编码率控制器1242。编码率控制器1242可为上文所述的编码率控制器342、1042中的一或多者的实例。在一些配置中,音频编解码器1209可包含多个编码器(例如,编码器356a到356n)。
应用处理器1211也可耦合到电力管理电路1221。电力管理电路1221的一个实例为电力管理集成电路(PMIC),其可用以管理无线通信装置1240的电力消耗。电力管理电路1221可耦合到电池组1223。电池组1223可通常将电力提供到无线通信装置1240。例如,电池组1223和/或电力管理电路1221可耦合到包含于无线通信装置1240中的元件中的至少一者。
应用处理器1211可耦合到用于接收输入的至少一个输入装置1225。输入装置1225的实例包含红外线传感器、图像传感器、加速度计、触摸传感器、小键盘等。输入装置1225可允许用户与无线通信装置1240交互。应用处理器1211也可耦合到一或多个输出装置1227。输出装置1227的实例包含打印机、投影仪、屏幕、触觉装置等。输出装置1227可允许无线通信装置1240产生可由用户体验的输出。
应用处理器1211可耦合到应用存储器1229。应用存储器1229可为能够存储电子信息的任何电子装置。应用存储器1229的实例包含双数据速率同步动态随机存取存储器(DDRAM)、同步动态随机存取存储器(SDRAM)、快闪存储器等。应用存储器1229可为应用处理器1211提供存储。例如,应用存储器1229可存储用于使在应用处理器1211上运行的程序行使功能的数据和/或指令。
应用处理器1211可耦合到显示控制器1231,显示控制器1231又可耦合到显示器1233。显示控制器1231可为用以在显示器1233上产生图像的硬件块。例如,显示控制器1231可将来自应用处理器1211的指令和/或数据转译成可呈现在显示器1233上的图像。显示器1233的实例包含液晶显示器(LCD)面板、发光二极管(LED)面板、阴极射线管(CRT)显示器、等离子显示器等。
应用处理器1211可耦合到基带处理器1213。基带处理器1213通常处理通信信号。例如,基带处理器1213可对所接收的信号进行解调制和/或解码。另外或替代地,基带处理器1213可对信号进行编码和/或调制以准备传输。
基带处理器1213可耦合到基带存储器1235。基带存储器1235可为能够存储电子信息的任何电子装置,例如,SDRAM、DDRAM、快闪存储器等。基带处理器1213可从基带存储器1235读取信息(例如,指令和/或数据)和/或将信息写入到基带存储器1235。另外或替代地,基带处理器1213可使用存储于基带存储器1235中的指令和/或数据来执行通信操作。
基带处理器1213可耦合到射频(RF)收发器1215。RF收发器1215可耦合到功率放大器1217和一或多个天线1219。RF收发器1215可发射和/或接收射频信号。例如,RF收发器1215可使用功率放大器1217和至少一个天线1219发射RF信号。RF收发器1215也可使用一或多个天线1219接收RF信号。
图13说明可用于电子装置1340中的各种组件。所说明组件可位于同一物理结构内或位于单独外壳或结构中。可根据本文中所描述的装置中的一或多者实施结合图13描述的电子装置1340。电子装置1340包含处理器1343。处理器1343可为通用单芯片或多芯片微处理器(例如,ARM)、专用微处理器(例如,数字信号处理器(DSP))、微控制器、可编程门阵列等。处理器1343可被称为中央处理单元(CPU)。尽管图13的电子装置1340中仅展示单一处理器1343,但在替代配置中,可使用处理器的组合(例如,ARM与DSP)。
电子装置1340也包含与处理器1343电子通信的存储器1337。即,处理器1343可从存储器1337读取信息和/或将信息写入到存储器1337。存储器1337可为能够存储电子信息的任何电子组件。存储器1337可为随机存取存储器(RAM)、只读存储器(ROM)、磁盘存储媒体、光学存储媒体、RAM中的快闪存储器装置、与处理器包含在一起的机载存储器、可编程只读存储器(PROM)、可抹除可编程只读存储器(EPROM)、电可抹除PROM(EEPROM)、寄存器等,包含其组合。
数据1341a和指令1339a可存储在存储器1337中。所述指令1339a可包含一或多个程序(program)、例程、子例程、函数、程序(procedure)等。所述指令1339a可包含单一计算机可读语句或许多计算机可读语句。所述指令1339a可由处理器1343执行以实施上文所述的方法、功能和程序中的一或多者。执行所述指令1339a可涉及使用存储在存储器1337中的数据1341a。图13展示载入于处理器1343中的一些指令1339b和数据1341b(其可来自指令1339a和数据1341a)。
电子装置1340也可包含用于与其它电子装置通信的一或多个通信接口1347。通信接口1347可基于有线通信技术、无线通信技术或两者。不同类型的通信接口1347的实例包含串列端口、平行端口、通用串列总线(USB)、以太网配接器、IEEE 1394总线接口、小计算机系统接口(SCSI)总线接口、红外线(IR)通信端口、蓝牙无线通信配接器等。
电子装置1340也可包含一或多个输入装置1349和一或多个输出装置1353。不同种类的输入装置1349的实例包含键盘、鼠标、麦克风、遥控装置、按钮、操纵杆、轨迹球、触控板、光笔等。例如,电子装置1340可包含用于捕获声波信号的一或多个麦克风1351。在一个配置中,麦克风1351可为将声波信号(例如,话音、语音)转换成电或电子信号的转换器。不同种类的输出装置1353的实例包含扬声器、打印机等。例如,电子装置1340可包含一或多个扬声器1355。在一个配置中,扬声器1355可为将电或电子信号转换成声波信号的转换器。可通常包含于电子装置1340中的一个特定类型的输出装置为显示装置1357。配合本文中所揭示的配置使用的显示装置1357可利用任何适当的图像投影技术,例如阴极射线管(CRT)、液晶显示器(LCD)、发光二极管(LED)、气体等离子、电致发光或其类似者。显示控制器1359也可经提供而用于将存储于存储器1337中的数据转换成在显示装置1357上展示的文字、图形和/或移动图像(在适当的情况下)。
电子装置1340的各种组件可由一或多个总线耦合在一起,其可包含电力总线、控制信号总线、状态信号总线、数据总线等。为简单起见,各种总线在图13中说明为总线系统1345。应注意,图13仅说明电子装置1340的一个可能配置。可利用各种其它架构和组件。
在以上描述中,参考数字有时与各种术语结合使用。在术语与参考数字结合使用的情况下,此可希望指代展示于诸图中的一或多者中的特定元件。在无参考数字而使用术语的情况下,此可希望泛指所述术语而不限于任何特定图。
术语“确定”涵盖多种动作,且因此“确定”可包括计算(calculating、computing)、处理、推导、研究、查找(例如,在表、数据库或另一数据结构中查找)、确定和其类似者。又,“确定”可包含接收(例如,接收信息)、访问(例如,访问存储器中的数据)和其类似者。又,“确定”可包含解析、选择、挑选、建立和其类似者。
片语“基于”并不意味着“仅基于”,除非另有明确指定。换句话说,片语“基于”描述“仅基于”和“至少基于”两者。
应注意,在兼容的情况下,结合本文中所描述的配置中的任一者描述的特征、功能、程序、组件、元件、结构等中的一或多者可与结合本文中所描述的其它配置中的任一者描述的功能、程序、组件、元件、结构等中的一或多者加以组合。换句话说,可根据本文中所揭示的系统和方法实施本文中所描述的功能、程序、组件、元件等的任何兼容组合。
可将本文中所描述的功能作为一或多个指令存储于处理器可读或计算机可读媒体上。术语“计算机可读媒体”指可由计算机或处理器存取的任何可用媒体。作为实例而非限制,此类媒体可包括RAM、ROM、EEPROM、快闪存储器、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置或可用以存储呈指令或数据结构的形式的所要程序代码且可由计算机存取的任何其它媒体。如本文所使用,磁盘和光盘包含紧密光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软碟和光盘,其中磁盘通常以磁性方式重现数据,而光盘通过激光以光学方式重现数据。应注意,计算机可读媒体可为有形的和非暂时性的。术语“计算机程序产品”指计算装置或处理器,其与可由所述计算装置或处理器执行、处理或计算的代码或指令(例如,“程序”)相组合。如本文所使用,术语“代码”可指可由计算装置或处理器执行的软件、指令、代码或数据。
软件或指令也可经由传输媒体加以传输。例如,如果使用同轴电缆、光缆、双绞线、数字用户线(DSL)或例如红外线、无线电和微波的无线技术从网站、服务器或其它远程源传输软件,那么同轴电缆、光缆、双绞线、DSL或例如红外线、无线电和微波的无线技术包含于传输媒体的定义中。
本文中所揭示的方法包括用于达成所描述方法的一或多个步骤或动作。所述方法步骤和/或动作可彼此互换而不脱离权利要求书的范围。换句话说,除非对于所描述方法的恰当操作需要步骤或动作的特定次序,否则可修改特定步骤和/或动作的次序和/或使用而不脱离权利要求书的范围。
应理解,权利要求书不限于上文所说明的精确配置和组件。可在本文中所描述的系统、方法和设备的布置、操作和细节中进行各种修改、改变和变化而不脱离权利要求书的范围。

Claims (44)

1.一种用于通过电子装置控制平均编码率的方法,其包括:
获得语音信号;
确定第一平均速率;
基于所述第一平均速率确定第一阈值;
通过基于所述第一阈值确定至少一个其它阈值而控制所述平均编码率;以及
发送经编码语音信号。
2.根据权利要求1所述的方法,其中控制所述平均编码率进一步包括确定帧型样。
3.根据权利要求2所述的方法,其中第一帧型样需要低速率帧之间的最小数目个高速率帧,且第二帧型样仅允许高速率帧之间的最大数目个低速率帧。
4.根据权利要求1所述的方法,其中所述第一阈值将帧分类为清洁帧或有噪声帧。
5.根据权利要求1所述的方法,其中所述至少一个其它阈值为阈值组。
6.根据权利要求1所述的方法,其中确定所述至少一个其它阈值进一步基于度量。
7.根据权利要求6所述的方法,其中确定所述至少一个其它阈值包括:
在所述度量不大于所述第一阈值的情况下选择第一阈值组;以及
在所述度量大于所述第一阈值的情况下选择第二阈值组。
8.根据权利要求7所述的方法,其中所述第一阈值组为第一帧调整阈值组,且所述第二阈值组为第二帧调整阈值组。
9.根据权利要求1所述的方法,其中控制所述平均编码率进一步包括基于所述第一平均速率调整所述第一阈值。
10.根据权利要求1所述的方法,其中控制所述平均编码率进一步包括基于所述第一平均速率调整至少一个发声阈值。
11.根据权利要求10所述的方法,其中调整所述至少一个发声阈值包括选择发声阈值组。
12.一种用于控制平均编码率的电子装置,其包括:
平均速率确定电路,其确定第一平均速率;
阈值确定电路,其基于所述第一平均速率确定第一阈值;以及
编码率控制器电路,其包括所述平均速率确定电路和所述阈值确定电路,其中所述编码率控制器通过基于所述第一阈值确定至少一个其它阈值而控制所述平均编码率。
13.根据权利要求12所述的电子装置,其中控制所述平均编码率进一步包括确定帧型样。
14.根据权利要求13所述的电子装置,其中第一帧型样需要低速率帧之间的最小数目个高速率帧,且第二帧型样仅允许高速率帧之间的最大数目个低速率帧。
15.根据权利要求12所述的电子装置,其中所述第一阈值将帧分类为清洁帧或有噪声帧。
16.根据权利要求12所述的电子装置,其中所述至少一个其它阈值为阈值组。
17.根据权利要求12所述的电子装置,其中确定所述至少一个其它阈值进一步基于度量。
18.根据权利要求17所述的电子装置,其中确定所述至少一个其它阈值包括:
在所述度量不大于所述第一阈值的情况下选择第一阈值组;以及
在所述度量大于所述第一阈值的情况下选择第二阈值组。
19.根据权利要求18所述的电子装置,其中所述第一阈值组为第一帧调整阈值组,且所述第二阈值组为第二帧调整阈值组。
20.根据权利要求12所述的电子装置,其中控制所述平均编码率进一步包括基于所述第一平均速率调整所述第一阈值。
21.根据权利要求12所述的电子装置,其中控制所述平均编码率进一步包括基于所述第一平均速率调整至少一个发声阈值。
22.根据权利要求21所述的电子装置,其中调整所述至少一个发声阈值包括选择发声阈值组。
23.一种用于控制平均编码率的计算机程序产品,其包括上面具有指令的非暂时性有形计算机可读媒体,所述指令包括:
用于使电子装置获得语音信号的代码;
用于使所述电子装置确定第一平均速率的代码;
用于使所述电子装置基于所述第一平均速率确定第一阈值的代码;
用于使所述电子装置通过基于第一阈值确定至少一个其它阈值而控制所述平均编码率的代码;以及
用于使所述电子装置发送经编码语音信号的代码。
24.根据权利要求23所述的计算机程序产品,其中控制所述平均编码率进一步包括确定帧型样。
25.根据权利要求24所述的计算机程序产品,其中第一帧型样需要低速率帧之间的最小数目个高速率帧,且第二帧型样仅允许高速率帧之间的最大数目个低速率帧。
26.根据权利要求23所述的计算机程序产品,其中所述第一阈值将帧分类为清洁帧或有噪声帧。
27.根据权利要求23所述的计算机程序产品,其中所述至少一个其它阈值为阈值组。
28.根据权利要求23所述的计算机程序产品,其中确定所述至少一个其它阈值进一步基于度量。
29.根据权利要求28所述的计算机程序产品,其中确定所述至少一个其它阈值包括:
在所述度量不大于所述第一阈值的情况下选择第一阈值组;以及
在所述度量大于所述第一阈值的情况下选择第二阈值组。
30.根据权利要求29所述的计算机程序产品,其中所述第一阈值组为第一帧调整阈值组,且所述第二阈值组为第二帧调整阈值组。
31.根据权利要求23所述的计算机程序产品,其中控制所述平均编码率进一步包括基于所述第一平均速率调整所述第一阈值。
32.根据权利要求23所述的计算机程序产品,其中控制所述平均编码率进一步包括基于所述第一平均速率调整至少一个发声阈值。
33.根据权利要求32所述的计算机程序产品,其中调整所述至少一个发声阈值包括选择发声阈值组。
34.一种用于控制平均编码率的设备,其包括:
用于获得语音信号的装置;
用于确定第一平均速率的装置;
用于基于所述第一平均速率确定第一阈值的装置;
用于通过基于所述第一阈值确定至少一个其它阈值而控制所述平均编码率的装置;以及
用于发送经编码语音信号的装置。
35.根据权利要求34所述的设备,其中控制所述平均编码率进一步包括确定帧型样。
36.根据权利要求35所述的设备,其中第一帧型样需要低速率帧之间的最小数目个高速率帧,且第二帧型样仅允许高速率帧之间的最大数目个低速率帧。
37.根据权利要求34所述的设备,其中所述第一阈值将帧分类为清洁帧或有噪声帧。
38.根据权利要求34所述的设备,其中所述至少一个其它阈值为阈值组。
39.根据权利要求34所述的设备,其中确定所述至少一个其它阈值进一步基于度量。
40.根据权利要求39所述的设备,其中确定所述至少一个其它阈值包括:
在所述度量不大于所述第一阈值的情况下选择第一阈值组;以及
在所述度量大于所述第一阈值的情况下选择第二阈值组。
41.根据权利要求40所述的设备,其中所述第一阈值组为第一帧调整阈值组,且所述第二阈值组为第二帧调整阈值组。
42.根据权利要求34所述的设备,其中控制所述平均编码率进一步包括基于所述第一平均速率调整所述第一阈值。
43.根据权利要求34所述的设备,其中控制所述平均编码率进一步包括基于所述第一平均速率调整至少一个发声阈值。
44.根据权利要求43所述的设备,其中调整所述至少一个发声阈值包括选择发声阈值组。
CN201380073146.2A 2013-02-21 2013-09-03 用于控制平均编码率的系统和方法 Active CN104995678B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201361767439P 2013-02-21 2013-02-21
US61/767,439 2013-02-21
US14/015,984 US9263054B2 (en) 2013-02-21 2013-08-30 Systems and methods for controlling an average encoding rate for speech signal encoding
US14/015,984 2013-08-30
PCT/US2013/057869 WO2014130085A1 (en) 2013-02-21 2013-09-03 Systems and methods for controlling an average encoding rate

Publications (2)

Publication Number Publication Date
CN104995678A true CN104995678A (zh) 2015-10-21
CN104995678B CN104995678B (zh) 2018-10-19

Family

ID=51351896

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380073146.2A Active CN104995678B (zh) 2013-02-21 2013-09-03 用于控制平均编码率的系统和方法

Country Status (10)

Country Link
US (1) US9263054B2 (zh)
EP (1) EP2959484B1 (zh)
JP (2) JP2016507789A (zh)
KR (1) KR101760588B1 (zh)
CN (1) CN104995678B (zh)
BR (1) BR112015020250B1 (zh)
ES (1) ES2758501T3 (zh)
HU (1) HUE045263T2 (zh)
TW (1) TWI527391B (zh)
WO (1) WO2014130085A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9437205B2 (en) * 2013-05-10 2016-09-06 Tencent Technology (Shenzhen) Company Limited Method, application, and device for audio signal transmission
JP2017009663A (ja) * 2015-06-17 2017-01-12 ソニー株式会社 録音装置、録音システム、および、録音方法
CA2998689C (en) * 2015-09-25 2021-10-26 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Encoder and method for encoding an audio signal with reduced background noise using linear predictive coding
KR102214440B1 (ko) 2016-10-07 2021-02-09 삼성전자주식회사 통화 기능을 수행하는 단말 장치 및 방법
EP3940432B1 (en) * 2019-03-15 2023-02-15 Mitsubishi Gas Chemical Company, Inc. Polyester carbonate resin, and molded body which is obtained by molding resin composition containing said resin
EP3751567B1 (en) 2019-06-10 2022-01-26 Axis AB A method, a computer program, an encoder and a monitoring device
US20230326473A1 (en) * 2022-04-08 2023-10-12 Digital Voice Systems, Inc. Tone Frame Detector for Digital Speech

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1131994A (zh) * 1994-08-05 1996-09-25 夸尔柯姆股份有限公司 进行降低速率的可变速率声码合成的方法和装置
CN1402869A (zh) * 1999-10-28 2003-03-12 高通股份有限公司 使用编码方案选择模型以减少对帧差错敏感性的预测语音编码器
CN1703736A (zh) * 2002-10-11 2005-11-30 诺基亚有限公司 用于源控制可变比特率宽带语音编码的方法和装置
US20070171931A1 (en) * 2006-01-20 2007-07-26 Sharath Manjunath Arbitrary average data rates for variable rate coders
US20070244695A1 (en) * 2006-01-20 2007-10-18 Sharath Manjunath Selection of encoding modes and/or encoding rates for speech compression with closed loop re-decision
US20120303362A1 (en) * 2011-05-24 2012-11-29 Qualcomm Incorporated Noise-robust speech coding mode classification

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4379949A (en) 1981-08-10 1983-04-12 Motorola, Inc. Method of and means for variable-rate coding of LPC parameters
US5742734A (en) * 1994-08-10 1998-04-21 Qualcomm Incorporated Encoding rate selection in a variable rate vocoder
BR9804811A (pt) * 1997-04-07 1999-08-17 Koninkl Philips Electronics Nv Sistema de transmissÆo transmissor codificador de voz e processo de codifica-Æo de voz
JP3273599B2 (ja) * 1998-06-19 2002-04-08 沖電気工業株式会社 音声符号化レート選択器と音声符号化装置
US6330532B1 (en) * 1999-07-19 2001-12-11 Qualcomm Incorporated Method and apparatus for maintaining a target bit rate in a speech coder
US7054809B1 (en) * 1999-09-22 2006-05-30 Mindspeed Technologies, Inc. Rate selection method for selectable mode vocoder
US7657427B2 (en) * 2002-10-11 2010-02-02 Nokia Corporation Methods and devices for source controlled variable bit-rate wideband speech coding
JP4769673B2 (ja) * 2006-09-20 2011-09-07 富士通株式会社 オーディオ信号補間方法及びオーディオ信号補間装置
JP2008261999A (ja) 2007-04-11 2008-10-30 Toshiba Corp オーディオ復号装置
US8352252B2 (en) * 2009-06-04 2013-01-08 Qualcomm Incorporated Systems and methods for preventing the loss of information within a speech frame
JP5519230B2 (ja) * 2009-09-30 2014-06-11 パナソニック株式会社 オーディオエンコーダ及び音信号処理システム
US8990094B2 (en) * 2010-09-13 2015-03-24 Qualcomm Incorporated Coding and decoding a transient frame

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1131994A (zh) * 1994-08-05 1996-09-25 夸尔柯姆股份有限公司 进行降低速率的可变速率声码合成的方法和装置
CN1402869A (zh) * 1999-10-28 2003-03-12 高通股份有限公司 使用编码方案选择模型以减少对帧差错敏感性的预测语音编码器
CN1703736A (zh) * 2002-10-11 2005-11-30 诺基亚有限公司 用于源控制可变比特率宽带语音编码的方法和装置
US20070171931A1 (en) * 2006-01-20 2007-07-26 Sharath Manjunath Arbitrary average data rates for variable rate coders
US20070244695A1 (en) * 2006-01-20 2007-10-18 Sharath Manjunath Selection of encoding modes and/or encoding rates for speech compression with closed loop re-decision
US20120303362A1 (en) * 2011-05-24 2012-11-29 Qualcomm Incorporated Noise-robust speech coding mode classification

Also Published As

Publication number Publication date
TWI527391B (zh) 2016-03-21
BR112015020250A2 (pt) 2017-07-18
CN104995678B (zh) 2018-10-19
TW201440444A (zh) 2014-10-16
JP6526096B2 (ja) 2019-06-05
KR101760588B1 (ko) 2017-07-21
US9263054B2 (en) 2016-02-16
EP2959484B1 (en) 2019-08-28
JP2016507789A (ja) 2016-03-10
KR20150120463A (ko) 2015-10-27
EP2959484A1 (en) 2015-12-30
US20140236587A1 (en) 2014-08-21
HUE045263T2 (hu) 2019-12-30
BR112015020250B1 (pt) 2021-12-07
JP2017161917A (ja) 2017-09-14
WO2014130085A1 (en) 2014-08-28
ES2758501T3 (es) 2020-05-05

Similar Documents

Publication Publication Date Title
US10885926B2 (en) Classification between time-domain coding and frequency domain coding for high bit rates
US10249313B2 (en) Adaptive bandwidth extension and apparatus for the same
JP6526096B2 (ja) 平均符号化レートを制御するためのシステムおよび方法
JP6470857B2 (ja) 音声処理のための無声/有声判定
US10141001B2 (en) Systems, methods, apparatus, and computer-readable media for adaptive formant sharpening in linear prediction coding
CN104995674A (zh) 用于减低潜在的帧不稳定性的系统和方法
TWI518677B (zh) 用於判定內插因數組之系統及方法
TW201435859A (zh) 用於量化及解量化相位資訊之系統及方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant