CN109313908A - 用于对音频信号进行编码的音频编码器、用于对音频信号进行编码的方法以及考虑上频带中的检测到的尖峰频谱区域的计算机程序 - Google Patents

用于对音频信号进行编码的音频编码器、用于对音频信号进行编码的方法以及考虑上频带中的检测到的尖峰频谱区域的计算机程序 Download PDF

Info

Publication number
CN109313908A
CN109313908A CN201780035964.1A CN201780035964A CN109313908A CN 109313908 A CN109313908 A CN 109313908A CN 201780035964 A CN201780035964 A CN 201780035964A CN 109313908 A CN109313908 A CN 109313908A
Authority
CN
China
Prior art keywords
frequency band
lower frequency
frequency
spectrum
shaping
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
CN201780035964.1A
Other languages
English (en)
Other versions
CN109313908B (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.)
Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV
Original Assignee
Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV
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 Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV filed Critical Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV
Priority to CN202311134080.5A priority Critical patent/CN117316168A/zh
Priority to CN202311132113.2A priority patent/CN117253496A/zh
Publication of CN109313908A publication Critical patent/CN109313908A/zh
Application granted granted Critical
Publication of CN109313908B publication Critical patent/CN109313908B/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/02Speech 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 spectral analysis, e.g. transform vocoders or subband 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/02Speech 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 spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/0204Speech 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 spectral analysis, e.g. transform vocoders or subband vocoders using subband decomposition
    • 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/02Speech 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 spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/03Spectral prediction for preventing pre-echo; Temporary noise shaping [TNS], e.g. in MPEG2 or MPEG4
    • 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/02Speech 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 spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/032Quantisation or dequantisation of spectral components
    • 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/06Determination or coding of the spectral characteristics, e.g. of the short-term prediction coefficients
    • 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
    • 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/26Pre-filtering or post-filtering
    • 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/26Pre-filtering or post-filtering
    • G10L19/265Pre-filtering, e.g. high frequency emphasis prior to encoding
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/003Changing voice quality, e.g. pitch or formants
    • G10L21/007Changing voice quality, e.g. pitch or formants characterised by the process used
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/02Speech enhancement, e.g. noise reduction or echo cancellation
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/02Speech enhancement, e.g. noise reduction or echo cancellation
    • G10L21/0208Noise filtering
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/02Speech enhancement, e.g. noise reduction or echo cancellation
    • G10L21/0316Speech enhancement, e.g. noise reduction or echo cancellation by changing the amplitude
    • G10L21/0324Details of processing therefor
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/03Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters
    • G10L25/15Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters the extracted parameters being formant information
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/03Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters
    • G10L25/18Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters the extracted parameters being spectral information of each sub-band
    • 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/02Speech 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 spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/028Noise substitution, i.e. substituting non-tonal spectral components by noisy source
    • 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
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/02Speech enhancement, e.g. noise reduction or echo cancellation
    • G10L21/038Speech enhancement, e.g. noise reduction or echo cancellation using band spreading techniques

Landscapes

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

Abstract

一种用于对具有下频带和上频带的音频信号进行编码的音频编码器,包括:检测器(802),用于检测该音频信号的上频带中的尖峰频谱区域;整形器(804),用于使用下频带的整形信息来对该下频带进行整形,并且用于使用该下频带的整形信息的至少一部分来对上频带进行整形,其中,该整形器(804)被配置为额外地衰减上频带中的检测到的尖峰频谱区域中的频谱值;以及量化器和编码器级(806),用于对经整形的下频带和经整形的上频带进行量化,并且用于对来自该经整形的下频带和该经整形的上频带的经量化的频谱值进行熵编码。

Description

用于对音频信号进行编码的音频编码器、用于对音频信号进 行编码的方法以及考虑上频带中的检测到的尖峰频谱区域的 计算机程序
技术领域
本发明涉及音频编码,并且优选地涉及用于控制EVS编译码器中的基于MDCT的TCX的频谱系数的量化的方法、装置或计算机程序。
背景技术
EVS编译码器的参考文档为:3GPP TS 24.445 V13.1.0(2016-03),第三代合作伙伴计划;技术规范小组服务及系统方面;用于增强型语音服务(EVS)的编译码器;详细算法描述(第13版)。
然而,本发明额外地适用于例如由除第13版之外的其他版本限定的其他EVS版本,并且附加地,本发明额外地适用于不同于EVS然而依赖于例如在权利要求中所限定的检测器、整形器以及量化器和编码器级的所有其他音频编码器。
额外地,应注意,不仅由独立权利要求限定而且由从属权利要求限定的所有实施例可以彼此分离地使用,或者如由权利要求的相互从属性所概述的或如随后在优选示例下所论述的那样一起使用。
如3GPP中所指定的,EVS编译码器[1]是用于窄带(NB)、宽带(WB)、超宽带(SWB)或全频带(FB)语音及音频内容的现代混合型编译码器,其可以基于信号分类而在若干编码方法之间切换。
图1示出了EVS中的公共处理和不同编码方案。具体地,图1中的编码器的公共处理部分包括信号重新采样块101和信号分析块102。音频输入信号在音频信号输入103处被输入到公共处理部分中,并且具体地,被输入到信号重新采样块101中。信号重新采样块101额外地具有用于接收命令行参数的命令行输入。如图1中可见,公共处理级的输出被输入到不同的元件中。具体地,图1包括基于线性预测的编码块(基于LP的编码)110、频域编码块120,以及非活动信号编码/CNG块130。块110、120、130连接至比特流多路复用器140。此外,提供切换器150用于根据分类器决策来将公共处理级的输出切换到基于LP的编码块110、频域编码块120或非活动信号编码/CNG(舒适噪声生成)块130。此外,比特流多路复用器140接收分类器信息,即,是否使用块110、120、130中的任一者来对在块103处输入并且由公共处理部分处理的输入信号的某一当前部分进行编码。
-诸如CELP编码之类的基于LP(基于线性预测)的编码主要用于语音内容或语音主导内容以及具有高时间波动的一般音频内容。
-频域编码用于所有其他一般音频内容,诸如音乐或背景噪声。
为了为低比特率和中等比特率提供最大质量,基于公共处理模块中的信号分析来执行基于LP的编码与频域编码之间的频繁切换。为了节省复杂度,编译码器被优化以在后续模块中还重新使用信号分析级的元件。例如:信号分析模块以LP分析级为特征。所产生的LP滤波器系数(LPC)及残差信号首先被用于若干信号分析步骤,诸如话音活动检测器(VAD)或语音/音乐分类器。其次,LPC也是基于LP的编码方案和频域编码方案的基本部分。为了节省复杂度,以CELP编码器的内部采样率(SRCELP)来执行LP分析。
CELP编码器在12.8kHz或16kHz内部采样率(SRCELP)下操作,并且因此可以直接表示高达6.4kHz或8kHz音频带宽的信号。对于在WB、SWB或FB下超出该带宽的音频内容,用带宽扩展机制对高于CELP的频率表示的音频内容进行编码。
基于MDCT的TCX是频域编码的子模式。如对于基于LP的编码方法,基于LP滤波器来执行TCX中的噪声整形。通过将从经加权经量化的LP滤波器系数中计算的增益因子应用于MDCT频谱(译码器侧)来在MDCT域中执行该LPC整形。在编码器侧,在速率循环(rateloop)之前应用逆增益因子。这因此被称作LPC整形增益的应用。TCX在输入采样率(SRinp)上进行操作。这被用来直接在MDCT域中对完整的频谱进行编码,而无需额外的带宽扩展。输入采样率SRinp(按其执行MDCT变换)可以高于CELP采样率SRCELP(针对其计算LP系数)。因此,可以仅针对MDCT频谱中与CELP频率范围(fCELP)相对应的部分来计算LPC整形增益。针对频谱的剩余部分(若存在),使用最高频带的整形增益。
图2在高层次上并且针对基于MDCT的TCX示出了LPC整形增益的应用。具体地,图2示出了在编码器侧上的图1的TCX或频域编码块120中的噪声整形和编码的原理。
具体地,图2示出了编码器的示意性框图。输入信号103被输入到重新采样块201中,以便执行信号的重新采样,以重新采样为CELP采样率SRCELP,即,由图1的基于LP的编码块110所要求的采样率。此外,提供计算LPC参数的LPC计算器203,并且在块205中,执行基于LPC的加权以便具有由图1中的基于LP的编码块110进一步处理的信号,即,使用ACELP处理器编码的LPC残差信号。
此外,在不进行任何重新采样的情况下,输入信号103被输入到示例性地示为MDCT变换的时间频谱转换器207。此外,在块209中,在一些计算之后应用由块203计算的LPC参数。具体地,块209经由线213接收从块203中计算的LPC参数,或者备选地或额外地从块205接收LPC参数,并且随后导出MDCT(或一般地,导出频谱域加权因子),以便应用对应的逆LPC整形增益。然后,在块211中,执行一般的量化器/编码器操作,该操作例如可以是速率循环,其调整全局增益并且额外地优选使用如熟知的EVS编码器规范中所示的算术编码来执行频谱系数的量化/编码以最终获得比特流。
与CELP编码方法(其组合SRCELP下的核心编码器与运行在较高采样率下的带宽扩展机制)形成对比,基于MDCT的编码方法直接在输入采样率SRinp上进行操作,并且在MDCT域中对全频谱的内容进行编码。
基于MDCT的TCX在低比特率(诸如9.6或13.2kbit/s)SWB下对高至16kHz的音频内容进行编码。因为在这种低比特率下仅可以借助于算术编码器直接对频谱系数的小的子集进行编码,所以所产生的频谱中的间隙(零值区域)用两种机制来掩盖:
-噪声填充,其将随机噪声插入在经译码的频谱中。噪声的能量由增益因子控制,该增益因子在比特流中被传送。
-智能间隙填充(IGF),其插入来自频谱的下频率部分的信号部分。这种被插入的频率部分的特性由参数控制,该参数在比特流中被传送。
噪声填充用于高至最高频率的下频率部分,该最高频率可以由所传送的LPC(fCELP)控制。高于该频率则使用IGF工具,该IGF工具提供用于控制所插入的频率部分的等级的其他机制。
存在用于确定哪些频谱系数在编码过程中存留或哪些频谱系数将由噪声填充或IGF替换的两种机制:
1)速率循环
在应用逆LPC整形增益之后,应用速率循环。对此,估计全局增益。随后,对频谱系数进行量化,并且利用算术编码器对经量化的频谱系数进行编码。基于算术编码器的真实的或估计的比特需求并且基于量化误差,增大或减小全局增益。这影响量化器的精确度。精确度越低,越多的频谱系数被量化成零。通过在速率循环之前使用经加权的LPC来应用逆LPC整形增益,确保了感知上相关的行以比感知上不相关的内容显著更高的机率存留。
2)IGF音调屏蔽
在高于fCELP处,即没有LPC可用的情况下,使用用以识别感知上相关的频谱分量的不同机制:将行能量与IGF区域中的平均能量进行比较。保留与感知上相关的信号部分对应的主要频谱行,所有其他行被设置为零。利用IGF音调屏蔽进行了预处理的MDCT频谱随后被馈送到速率循环中。
经加权的LPC遵循信号的频谱包络。通过使用经加权的LPC来应用逆LPC整形增益,频谱的感知白化被执行。这在编码循环之前显著地减小MDCT频谱的动态,并且因此也控制编码循环中的MDCT频谱系数之间的比特分布。
如上文所解释,经加权的LPC不可用于高于fCELP的频率。对于这些MDCT系数,应用低于fCELP的最高频带的整形增益。这在低于fCELP的最高频带的整形增益与高于fCELP的系数的能量粗略地对应的情况下(由于频谱倾斜通常为这种情况,并且可以在大部分音频信号中观测到这种情况)很好地起作用。因此,该过程是有利的,因为不必计算或传送上频带的整形信息。
然而,假如存在高于fCELP的强频谱分量并且低于fCELP的最高频带的整形增益非常低,则这会引起失配。该失配严重地影响速率循环的效果,该速率循环专注于具有最高振幅的频谱系数。这将在低比特率下零化剩余的信号分量(在低频带中尤其如此),并且产生感知上不良的质量。
图3至图6示出了该问题。图3示出了应用逆LPC整形增益之前的绝对MDCT频谱,图4示出了对应的LPC整形增益。存在可见的高于fCELP的强尖峰,这些强尖峰位于与低于fCELP的最高尖峰相同的数量级。高于fCELP的频谱分量是使用IGF音调屏蔽进行预处理的结果。图5示出了应用逆LPC增益之后仍在量化之前的绝对MDCT频谱。现在高于fCELP的尖峰显著地超过低于fCELP的尖峰,其效果是速率循环将主要专注于这些尖峰。图6示出了速率循环在低比特率下的结果:除了高于fCELP的尖峰之外的所有频谱分量都被量化为0。这在完整的译码过程之后产生感知上非常不良的结果,这是因为心理声学上非常相关的低频率下的信号部分完全缺失。
图3示出了应用逆LPC整形增益之前的关键帧的MDCT频谱。
图4示出了所应用的LPC整形增益。在编码器侧上,频谱利用逆增益倍增。最后的增益值被用于高于fCELP的所有MDCT系数。图4在右边界处指示fCELP
图5示出了应用逆LPC整形增益之后的关键帧的MDCT频谱。高于fCELP的高尖峰清楚地可见。
图6示出了量化之后的关键帧的MDCT频谱。所显示的频谱包括全局增益的应用,但不具有LPC整形增益的应用。可以看出,除了高于fCELP的尖峰之外,所有频谱系数都被量化为0。
发明内容
本发明的目标是提供一种改进的音频编码概念。
通过权利要求1所述的音频编码器、权利要求25所述的用于对音频信号进行编码的方法或权利要求26所述的计算机程序来实现该目标。
本发明基于以下发现:可以通过根据音频编码器中所包括的量化器和编码器级的具体特性对要编码的音频信号进行预处理,来解决这种现有技术问题。为此目的,检测音频信号的上频带中的尖峰频谱区域。接着,使用整形器,该整形器用于使用下频带的整形信息来对该下频带进行整形,并且用于使用下频带的整形信息的至少一部分来对上频带进行整形。具体地,该整形器被额外地配置为对检测到的尖峰频谱区域(即,由检测器在音频信号的上频带中检测到的尖峰频谱区域)中的频谱值进行衰减。接着,对经整形的下频带和经衰减的上频带进行量化和熵编码。
由于已经选择性地(即,在检测到的尖峰频谱区域内)衰减上频带这一事实,该检测到的尖峰频谱区域不再能够完全地主控量化器和编码器级的行为。
替代地,由于已经在音频信号的上频带中形成衰减这一事实,编码操作的结果的整体感知质量得到提高。具体地,在其中极低比特率是量化器和编码器级的主目标的低比特率下,上频带中的高频谱尖峰将消耗该量化器和编码器级所需的所有比特,因为编码器将由该高的上频率部分引导,并且因此在这些部分中使用大部分可用比特。这自动地产生在感知上更重要的下频率范围中不再有任何可用比特的情形。因此,这种过程将产生仅具有经编码的高频部分而较低频率部分完全未被编码或仅被非常粗略地编码的信号。然而,已经发现,这种过程与以下情形相比在感知上不太令人满意:检测这种具有主要高频谱区域的有问题的情况并且在执行包括量化器和熵编码器级在内的编码器过程之前衰减较高频率范围中的尖峰。
优选地,在MDCT频谱的上频带中检测该尖峰频谱区域。然而,也可以使用其他时间频谱转换器,例如滤波器组、QMF滤波器组、DFT、FFT或任何其他时间频率转换。
此外,本发明是有用的,因为对于上频带,不需要计算整形信息。替代地,最初针对下频带计算的整形信息被用于对上频带进行整形。因此,本发明因为低频带整形信息也可用于对高频带进行整形而提供一种在计算上非常有效的编码器,因为可能起因于这种情形(即,上频带中的高频谱值)的问题除了通常基于该低频带信号的频谱包络进行直接整形以外还通过由整形器额外地应用的额外衰减来解决,该低频带信号的频谱包络可以例如通过该低频带信号的LPC参数来表征。但是该频谱包络也可以由可用于在频谱域中执行整形的任何其他对应的度量来表示。
该量化器和编码器级对经整形的信号(即,对经整形的低频带信号并且对经整形的高频带信号)执行量化和编码操作,但是该经整形的高频带信号已经额外地接受了额外衰减。
尽管检测到的尖峰频谱区域中的高频带的衰减是不再能够由译码器恢复的预处理操作,然而相比于未应用额外衰减的情形,该译码器的结果仍然是更令人满意的,因为该衰减产生了以下事实:对于在感知上更重要的下频带,仍剩余有比特。因此,在具有尖峰的高频谱区将主控整个编码结果的有问题的情形下,本发明提供对这种尖峰的额外衰减,从而使得最后编码器“看到”具有经衰减的高频部分的信号,并且因此,经编码的信号仍然具有有用的并且在感知上令人满意的低频信息。关于高频谱带的“牺牲”不会或几乎不会被收听者注意到,因为收听者通常并不清楚了解信号的高频内容,而是更有可能具有关于低频内容的期望。换句话说,具有极低等级的低频率内容但是具有显著高等级频率内容的信号通常是被察觉为不自然的信号。
本发明的优选实施例包括线性预测分析器,其用于导出时间帧的线性预测系数,并且这些线性预测系数表示整形信息,或者从这些线性预测系数中导出整形信息。
在另外的实施例中,为下频带的若干子频带计算若干整形因子,并且对于上频带中的加权,使用针对低频带的最高子频带计算的整形因子。
在另外的实施例中,当一组条件中的至少一个为真时,检测器确定上频带中的尖峰频谱区域,其中该组条件至少包括低频带振幅条件、尖峰距离条件以及尖峰振幅条件。甚至更优选地,仅当两个条件同时为真时检测到尖峰频谱区域,并且甚至更优选地,仅当三个条件都为真时检测到尖峰频谱区域。
在另外的实施例中,检测器在带有或不带有额外衰减的整形操作之前或之后确定用于检查这些条件的若干值。
在实施例中,整形器使用衰减因子来额外地衰减这些频谱值,其中该衰减因子根据下频带中的最大频谱振幅乘以大于或等于1的预定数字并且除以上频带中的最大频谱振幅来导出。
此外,可以以若干种不同的方式来完成关于如何应用额外衰减的具体方式。一种方式是整形器首先使用下频带的整形信息的至少一部分来执行加权信息,以便对检测到的尖峰频谱区域中的频谱值进行整形。接着,使用衰减信息来执行后续的加权操作。
一种备选过程是:首先使用衰减信息来应用加权操作,并且接着使用与下频带的整形信息的至少一部分对应的加权信息来执行后续的加权。另外的备选方案是:使用组合加权信息来应用单个加权操作,该组合加权信息一方面从衰减中导出,另一方面从下频带的整形信息的一部分中导出。
在使用乘法来执行加权的情形中,衰减信息是衰减因子并且整形信息是整形因子,并且实际组合加权信息是加权因子,即,用于单个加权信息的单个加权因子,其中通过使衰减信息与该下频带的整形信息相乘来导出该单个加权因子。因此,清楚的是,可以以许多不同的方式来实现该整形器,但尽管如此,该结果仍是使用下频带的整形信息和额外衰减进行高频带的整形。
在实施例中,量化器和编码器级包括速率循环处理器,该速率循环处理器用于估计量化器特性以使得获得经熵编码的音频信号的预定比特率。在实施例中,该量化器特性是全局增益,即,应用于整个频率范围(即,应用于要量化和编码的所有频谱值)的增益值。当出现所需比特率低于使用某一全局增益获得的比特率时,则增大该全局增益并且确定实际比特率现在是否与要求一致(即,现在小于或等于所需比特率)。当在量化之前以使得频谱值除以全局增益的方式来在编码器中使用该全局增益时,执行该过程。然而,当以不同方式(即,在执行该量化之前使频谱值乘以全局增益)来使用该全局增益时,则在实际比特率过高时减小该全局增益,或者可以在该实际比特率低于可容许比特率时增大该全局增益。
然而,其他编码器级特性也可以在某一速率循环条件中使用。例如,一种方式将是频率选择性增益。另一过程将是根据所需比特率来调整音频信号的带宽。总体上,不同量化器特性可能受到影响,以使得最后获得与所需比特率(通常为低比特率)一致的比特率。
优选地,该过程尤其良好地适用于与智能间隙填充处理(IGF处理)组合。在该过程中,应用音调屏蔽处理器,其用于在上频带中确定待量化和熵编码的第一组频谱值和要由间隙填充过程参数化编码的第二组频谱值。音调屏蔽处理器将第二组频谱值设置为0值,以使得这些值不消耗量化器/编码器级中的许多比特。另一方面,显现的是通常属于要量化和熵编码的第一组频谱值中的值是尖峰频谱区域的值,这些值在某些情形下可以被检测并且在量化器/编码器级的有问题情形的情况下被额外地衰减。因此,智能间隙填充框架内的音调屏蔽处理器与所检测的尖峰频谱区域的额外衰减的组合产生非常有效的编码器过程,该过程额外地后向兼容并且甚至在极低的比特率下仍然产生良好的感知质量。
实施例优于用以处理该问题的可能的解决方案,这些解决方案包括用于扩展LPC的频率范围的方法,或包括用于使应用于高于fCELP的频率的增益更好地适合实际MDCT频谱系数的其他装置。然而,当写译码器已经被部署于市场中时,该过程破坏后向兼容性,并且上述方法将阻碍与现有实现方式的互操作性。
附图说明
接下来,关于附图来说明本发明的优选实施例,在附图中:
图1示出了EVS中的公共处理和不同的编码方案;
图2示出了编码器侧上的TCX中的噪声整形和编码的原理;
图3示出了应用逆LPC整形增益之前的关键帧的MDCT频谱;
图4示出了图3中的情形,但是其中应用了LPC整形增益;
图5示出了应用逆LPC整形增益之后的关键帧的MDCT频谱,其中高于fCELP的高尖峰清楚地可见;
图6示出了在量化之后仅具有高通信息并且不具有任何低通信息的关键帧的MDCT频谱;
图7示出了应用逆LPC整形增益和本发明的编码器侧预处理之后的关键帧的MDCT频谱;
图8示出了用于对音频信号进行编码的音频编码器的优选实施例;
图9示出了针对不同的频带计算不同的整形信息以及将下频带整形信息用于较高频带的情形;
图10示出了音频编码器的优选实施例;
图11示出了用于示出检测器的功能的流程图,该检测器用于检测尖峰频谱区域;
图12示出了实现低频带振幅条件的优选实现方式;
图13示出了实现尖峰距离条件的优选实施例;
图14示出了实现尖峰振幅条件的优选实现方式;
图15a示出了量化器和编码器级的优选实现方式;
图15b示出了用于示出量化器和编码器级作为速率循环处理器的操作的流程图;
图16示出了优选实施例中的用于确定衰减因子的确定过程;以及
图17示出了用于在两个后续步骤中将低频带整形信息应用于上频带并且应用经整形的频谱值的额外衰减的优选实现方式。
具体实施方式
图8示出了用于对具有下频带和上频带的音频信号403进行编码的音频编码器的优选实施例。音频编码器包括检测器802,该检测器用于检测音频信号103的上频带中的尖峰频谱区域。此外,音频编码器包括整形器804,该整形器用于使用下频带的整形信息来对该下频带进行整形,并且用于使用下频带的整形信息的至少一部分来对上频带进行整形。此外,整形器被配置为额外地衰减上频带中的检测到的尖峰频谱区域中的频谱值。
因此,整形器804使用低频带的整形信息来在低频带中执行一种“单整形”。此外,整形器额外地使用低频带并且通常使用最高频率低频带的整形信息来在高频带中执行一种“单”整形。在一些实施例中,在检测器802没有检测到尖峰频谱区域的高频带中执行该“单”整形。此外,对于高频带内的尖峰频谱区域,执行一种“双”整形,即,将来自低频带的整形信息应用于尖峰频谱区域,并且额外地,将额外衰减应用于尖峰频谱区域。
整形器804的结果是经整形的信号805。经整形的信号是经整形的下频带和经整形的上频带,其中经整形的上频带包含尖峰频谱区域。该经整形的信号805被转发给量化器和编码器级806,该量化器和编码器级806用于量化经整形的下频带和包括尖峰频谱区域的经整形的上频带,并且用于再次对来自经整形的下频带以及来自包含尖峰频谱区域的经整形的上频带的经量化的频谱值进行熵编码,以获得经编码的音频信号814。
优选地,音频编码器包含线性预测编码分析器808,该线性预测编码分析器808用于通过分析音频信号的时间帧中的音频样本的块来导出该时间帧的线性预测系数。优选地,这些音频样本被频带限制到下频带。
另外,整形器804被配置为使用线性预测系数作为整形信息来对下频带进行整形,如在图8中的812处所示。另外,整形器804被配置为使用从被频带限制到下频带的音频样本的块导出的线性预测系数的至少一部分来对音频信号的时间帧中的上频带进行整形。
如图9中所示,下频带优选地被细分成多个子频带,诸如示例性地细分成四个子频带SB1、SB2、SB3和SB4。另外,如示意性地示出的,子频带宽度从较低子频带到较高子频带增大,即,子频带SB4在频率上比子频带SB1更宽。然而,在其他实施例中,也可以使用具有相等带宽的频带。
子频带SB1至SB4延伸直至边界频率,该边界频率例如是fCELP。因此,低于边界频率fCELP的所有子频带构成下频带,并且高于边界频率的频率内容构成较高频带。
具体地,图8的LPC分析器808通常针对每个子频带单独地计算整形信息。因此,LPC分析器808优选地针对四个子频带SB1至SB4来计算四个不同种类的子频带信息,以使得每个子频带具有其相关联的整形信息。
此外,整形器804使用正是为每个子频带SB1至SB4所计算的整形信息来为该子频带应用整形,重要的是,还进行较高频带的整形,但是因为计算整形信息的线性预测分析器接收被频带限制到下频带的频带受限信号这一事实,不计算较高频带的整形信息。尽管如此,为了也对较高频带执行整形,子频带SB4的整形信息被用于对较高频带进行整形。因此,整形器804被配置为使用针对下频带的最高子频带所计算的整形因子来对上频带的频谱系数进行加权。与图9中的SB4对应的最高子频带具有下频带的子频带的所有中心频率中的最高中心频率。
图11示出了用于说明检测器802的功能的优选流程图。具体地,检测器802被配置为当一组条件中的至少一个为真时确定上频带中的尖峰频谱区域,其中该组条件包括低频带振幅条件1102、尖峰距离条件1104和尖峰振幅条件1106。
优选地,准确地按照图11中所示的次序来应用不同条件。换句话说,在尖峰距离条件1104之前计算低频带振幅条件1102,并且在尖峰振幅条件1106之前计算尖峰距离条件。在三个条件必须全部为真以便检测尖峰频谱区域的情形下,通过应用图11中的顺序处理来获得计算上有效的检测器,其中,只要某一条件不为真(即,为假),就停止某一时间帧的检测过程,并且确定不需要进行该时间帧中的尖峰频谱区域的衰减。因此,当针对某一时间帧已经确定低频带振幅条件1102未满足(即,为假)时,则将控制继续进行到判定为不需要对该时间帧中的尖峰频谱区域的衰减,并且过程继续进行而无需任何额外衰减。然而,当针对条件1102控制器确定该条件1102为真时,判定第二条件1104。在尖峰振幅1106之前再次判定该尖峰距离条件,以使得当条件1104产生结果“假”时,该控制确定不执行对尖峰频谱区域的衰减。只有当尖峰距离条件1104具有结果“真”时,才判定第三尖峰振幅条件1106。
在其他实施例中,可以判定更多或更少的条件,并且可以执行顺序判定或并行判定,然而如图11中所示例性地示出的顺序判定是优选的,以便节省由电池供电的移动应用中的特别珍贵的计算资源。
图12、图13、图14提供条件1102、1104和1106的优选实施例。
在低频带振幅条件下,如在块1202处所示,确定下频带中的最大频谱振幅。该值是max_low。此外,在块1204中,确定上频带中的最大频谱振幅,其被指示为max_high。
在块1206中,优选地将来自块1232和1234的所确定的值与预定数字c1一起进行处理,以便获得条件1102的结果“假”或“真”。优选地,在用下频带整形信息进行整形之前,即,在由频谱整形器804或关于图10的804a执行的过程之前,执行块1202和1204中的条件。
关于在块1206中所使用的图12的预定数字c1,值16是优选的,但是已经证实4与30之间的值也是有用的。
图13示出了尖峰距离条件的优选实施例。在块1302中,确定下频带中的第一最大频谱振幅,其被指示为max_low。
此外,如在块1304处所示,确定第一频谱距离。该第一频谱距离被指示为dist_low。具体地,第一频谱距离是由块1302所确定的第一最大频谱振幅距边界频率的距离,该边界频率在下频带的中心频率与上频带的中心频率之间。优选地,边界频率是f_celp,但是该频率可以具有如先前所概述的任何其他值。
此外,块1306确定上频带中的第二最大频谱振幅,其被称作max_high。此外,确定第二频谱距离1308,并且将其指示为dist_high。同样优选地,在将频谱f_celp作为边界频率的情况下确定第二最大频谱振幅距边界频率的第二频谱距离。
此外,在块1310中,当用第一频谱距离加权并且用大于1的预定数字加权的第一最大频谱振幅大于用第二频谱距离加权的第二最大频谱振幅时,确定尖峰距离条件是否为真。
优选地,在最优选的实施例中,预定数字c2等于4。已经证实1.5与8之间的值是有用的。
优选地,在用下频带整形信息进行整形之后,即,在图10中的块804a之后但当然在块804b之前,执行块1302和1306中的确定。
图14示出了尖峰振幅条件的优选实施方式。具体地,块1402确定下频带中的第一最大频谱振幅,并且块1404确定上频带中的第二最大频谱振幅,其中块1402的结果被指示为max_low2,并且块1404的结果被指示为max_high。
接着,如在块1406中所示,当第二最大频谱振幅大于用大于或等于1的预定数字c3加权的第一最大频谱振幅时,尖峰振幅条件为真。根据不同的速率,将c3优选地设置为值1.5或值3,其中,已经证实大致在1.0与5.0之间的值是有用的。
此外,如图14中所指示,在用低频带整形信息进行整形之后,即,在块804a中所示的处理之后并且在块804b所示的处理之前,或关于图17在块1702之后并且在块1704之前,发生块1402和1404中的确定。
在其他实施例中,尖峰振幅条件1106,具体而言,图14的块1402中的过程,不是根据下频带中的最小值(即,频谱的最低频率值)确定的,而是基于下频带的一部分来确定下频带中的第一最大频谱振幅,其中该一部分从下频带的预定起始频率延伸直到下频带的最大频率,其中该预定起始频率大于下频带的最小频率。在实施例中,预定起始频率比下频带的最小频率高至少下频带的10%,或者在其他实施例中,该预定起始频率位于等于下频带的最大频率的一半的频率处,该预定起始频率的容差范围为该最大频率的一半的正/负百分之10。
此外,优选的是,第三预定数字c3取决于要由量化器/编码器级提供的比特率,以使得对于较高的比特率,该预定数字较高。换句话说,当必须由量化器和编码器级806提供的比特率为高时,则c3为高,而当该比特率被确定为低时,则预定数字c3为低。当考虑块1406中的优选等式时,清楚的是,预定数字c3越高,则越少地确定尖峰频谱区域。然而,当c3为小时,则更频繁地确定存在有要最终衰减的频谱值的尖峰频谱区域。
块1202、1204、1402、1404或1302及1306始终确定频谱振幅。可以按照不同方式执行对频谱振幅的确定。确定频谱包络的一种方式是确定实频谱的频谱值的绝对值。备选地,频谱振幅可以是复频谱值的模。在其他实施例中,频谱振幅可以是实频谱的频谱值的任何幂或复频谱的模的任何幂,其中幂大于1。优选地,幂是整数,但是已经额外地证实幂1.5或2.5是有用的。然而优选地,幂2或3是优选的。
总体上,整形器804被配置为基于上频带中的最大频谱振幅和/或基于下频带中的最大频谱振幅来衰减检测到的尖峰频谱区域中的至少一个频谱值。在其他实施例中,整形器被配置为确定下频带的一部分中的最大频谱振幅,该部分从下频带的预定起始频率延伸直到下频带的最大频率。预定起始频率大于下频带的最小频率,并且优选地比下频带的最小频率高至少下频带的10%,或者该预定起始频率优选地位于等于所述下频带的最大频率的一半的频率处,所述预定起始频率的容差为所述最大频率的一半的正/负百分之10。
整形器还被配置为确定衰减因子,该衰减因子确定额外衰减,其中该衰减因子由下频带中的最大频谱振幅乘以大于或等于1的预定数字并且除以上频带中的最大频谱振幅来导出。为此目的,参考块1602,该块示出了下频带中的最大频谱振幅的确定(优选地,在整形之后,即在图10中的块804a之后或在图17中的块1702之后)。
此外,整形器被配置为同样优选地在例如由图10中的块804a或图17中的块1702进行的整形之后确定较高频带中的最大频谱振幅。接着,在块1606中,如所示地计算衰减因子fac,其中预定数字c3被设置为大于或等于1。在实施例中,图16中的c3与图14中的预定数字c3相同。然而,在其他实施例中,图16中的c3可以被设置为不同于图14中的c3。另外,图16中的直接影响衰减因子的c3还取决于比特率,以使得针对要由图8中所示的量化器/编码器级806提供的较高比特率设置较高的预定数字c3
图17示出了与图10在块804a和804b处所示的类似的优选实施方式,即,执行将低频带增益信息应用于高于边界频率(诸如fcelp)的频谱值的整形,以便获得高于边界频率的经整形的频谱值,并且额外地在接下来的步骤1704中,在图17的块1704中应用如由图16中的块1606所计算的衰减因子fac。因此,图17和图10示出了整形器被配置为基于以下各项来对检测到的尖峰频谱区域中的频谱值进行整形的情形:使用下频带的整形信息的一部分的第一加权操作,以及使用衰减信息(即示例性衰减因子fac)的第二后续加权操作。
然而,在其他实施例中,反转图17中的步骤的次序以使得使用衰减信息进行第一加权操作,并且使用下频带的整形信息的至少一部分进行第二后续加权操作。或者备选地,使用单个加权操作来执行整形,该单个加权操作使用组合加权信息,该组合加权信息一方面取决于衰减信息并且从该衰减信息中导出,并且另一方面取决于下频带的整形信息的至少一部分并且从该至少一部分中导出。
如图17中所示,将额外衰减信息应用于检测到的尖峰频谱区域中的所有频谱值。备选地,例如,仅将衰减因子应用于最高频谱值或一组最高频谱值,其中该组中的成员可以在例如2至10的范围内。此外,实施例还将衰减因子应用于上频带中的所有频谱值,该上频带的尖峰频谱区域已由检测器针对音频信号的时间帧而检测到。因此,在该实施例中,当仅单个频谱值被确定为尖峰频谱区域时,可以将相同的衰减因子应用于整个上频带。
对于某一帧,当尚未检测到尖峰频谱区域时,则由整形器对下频带和上频带进行整形而不进行任何额外衰减。因此,执行时间帧到时间帧的切换,其中,根据实现方式,衰减信息的某种平滑化是优选的。
优选地,量化器和编码器级包含如图15a和图15b中所示的速率循环处理器。在实施例中,量化器和编码器级806包含全局增益加权器1502、量化器1504和诸如算术或霍夫曼编码器之类的熵编码器1506。此外,对于时间帧的经量化值的某一集合,熵编码器1506向控制器1508提供所估计或所测量的比特率。
控制器1508被配置为一方面接收循环终止准则和/或另一方面接收预定比特率信息。只要控制器1508确定没有获得预定比特率和/或没有满足终止准则,则控制器就向全局增益加权器1502提供经调整的全局增益。然后,全局增益加权器将经调整的全局增益应用于时间帧的经整形且经衰减的频谱行。将块1502的经全局增益加权的输出提供给量化器1504,并且将经量化的结果提供给熵编码器1506,该熵编码器1506再次确定用经调整的全局增益加权的数据的估计或测量的比特率。假如满足了终止准则和/或满足了预定比特率,则在输出行814处输出经编码的音频信号。然而,当未获得预定比特率或未满足终止准则时,则循环重新开始。这在图15b中更详细地示出。
如块1510中所示,当控制器1508确定比特率过高时,则如块1512中所示,增大全局增益。因此,所有经整形且经衰减的频谱行变得更小,因为它们除以增大的全局增益,并且量化器随后量化该更小的频谱值,以使得熵编码器针对该时间帧产生更小数量的所需比特。因此,如图15b中的块1514中所示,用经调整的全局增益执行加权、量化和编码的过程,并且接下来再次确定比特率是否过高。若比特率仍然过高,则再次执行块1512和1514。然而,当确定比特率没有过高时,控制继续进行到概述是否满足终止准则的步骤1516。当满足终止准则时,停止速率循环并且额外地经由输出接口(例如图10的输出接口1014)将最终全局增益并入到经编码的信号中。
然而,当确定不满足终止准则时,则如块1518中所示减小全局增益,以使得最后使用所允许的最大比特率。这确保以较高精确度(即较少损失)对易于编码的时间帧进行编码。因此,对于这种实例,如块1518中所示减小全局增益,并且用减小的全局增益执行步骤1514,并且执行步骤1510以便查看所产生的比特率是否过高。
自然,可以视需要来设置关于全局增益增大或减小增量的特定实现方式。另外,控制器1508可以被实现为具有块1510、1512和1514或具有块1510、1516、1518和1514。因此,取决于实现方式,并且还取决于全局增益的起始值,过程可以使得该过程从极高的全局增益开始直到找到仍然满足比特率要求的最低全局增益。另一方面,过程可以按照某一方式进行,该方式使得过程从非常低的全局增益开始,并且增大全局增益直到获得可允许的比特率。另外,如图15b中所示,甚至也可以应用两种过程之间的混合。
图10示出了由块802、804a、804b和806构成的本发明的音频编码器在切换时域/频域编码器设置内的嵌入。
具体地,音频编码器包含公共处理器。该公共处理器由ACELP/TCX控制器1004和频带限制器(例如重新采样器1006)及LPC分析器808构成。这通过由1002指示的阴影框来说明。
此外,频带限制器馈入已经关于图8论述的LPC分析器。接着,由LPC分析器808产生的LPC整形信息被转发给CELP编码器1008,并且CELP编码器1008的输出被输入给输出接口1014,该输出接口1014产生最终经编码的信号1020。此外,由编码器1008构成的时域编码分支额外地包括时域带宽扩展编码器1010,该时域带宽扩展编码器1010提供信息并且通常提供参数信息,例如在输入1001处输入的全频带音频信号的至少高频带的频谱包络信息。优选地,由时域带宽扩展编码器1010处理的高频带是以边界频率开始的频带,该边界频率还由频带限制器1006使用。因此,频带限制器执行低通滤波以便获得下频带,并且由低通频带限制器1006滤除的高频带由时域带宽扩展编码器1010处理。
另一方面,频谱域或TCX编码分支包括时间频谱转换器1012,并且示例性地包括如先前所讨论的音调屏蔽以便获得间隙填充编码器处理。
接着,时间频谱转换器1012和额外的可选音调屏蔽处理的结果被输入给频谱整形器804a,并且频谱整形器804a的结果被输入给衰减器804b。衰减器804b由检测器802控制,该检测器802使用时域数据或使用如1022处所示的时间频谱转换器块1012的输出来执行检测。如先前所描述的,块804a和804b一起实现图8的整形器804。块804的结果被输入给量化器和编码器级806,在某一实施例中,该量化器和编码器级806由预定比特率控制。另外,当由检测器应用的预定数字还取决于预定比特率时,则预定比特率也被输入给检测器802(图10中未示出)。
因此,经编码的信号1020接收来自量化器和编码器级的数据、来自控制器1004的控制信息、来自CELP编码器1008的信息,以及来自时域带宽扩展编码器1010的信息。
接下来,更详细地论述本发明的优选实施例。
保持与现有实施方式的互操作性和后向兼容性的一种选项是进行编码器侧预处理。如接下来所说明的,算法对MDCT频谱进行分析。假如存在低于fCELP的显著信号分量并且发现高于fCELP的高尖峰(其可能破坏速率循环中的完整频谱的编码),对高于fCELP的这些尖峰进行衰减。尽管该衰减不能在译码器侧上恢复,但所产生的经译码的信号与频谱的大部分被完全置零的之前的信号相比,在感知上显明显地更令人满意。
该衰减降低了速率循环对高于fCELP的尖峰的聚焦,并且允许显著的低频MDCT系数在速率循环中存留。
下面的算法描述编码器侧预处理:
1)对低频带内容的检测(例如,1102):
对低频带内容的检测分析是否存在显著的低频带信号部分。为此,在应用逆LPC整形增益之前,在MDCT频谱上搜索低于和高于fCELP的MDCT频谱的最大振幅。搜索过程返回下面的值:
a)max_low_pre:在应用逆LPC整形增益之前在绝对值的频谱上评估的低于fCELP的最大MDCT系数
b)max_high_pre:在应用逆LPC整形增益之前在绝对值的频谱上评估的高于fCELP的最大MDCT系数
为了判定,对下面的条件进行评估:
条件1:c1*max_low_pre>max_high_pre
如果条件1为真,则假定有大量低频带内容,并且继续进行预处理;如果条件1为假,则中止预处理。这确保不会对仅有高频带的信号(例如,高于fCELP时的正弦扫描)造成损害。
伪代码:
其中
XM是应用逆LPC增益整形之前的MDCT频谱,
LTCX (CELP)是高至fCELP的MDCT系数的数量
LTCX (BW)是完整的MDCT频谱的MDCT系数的数量
在实例实施方式中,将c1设置为16,并且fabs返回绝对值。
2)对尖峰距离度量的评估(例如,1104):
尖峰距离量度分析高于fCELP的频谱尖峰对算术编码器的影响。因此,在应用逆LPC整形增益之后,即,在也应用算术编码器的域中,在MDCT频谱上搜索低于和高于fCELP的MDCT频谱的最大振幅。除了最大振幅以外,还评估与fCELP的距离。搜索过程返回下面的值:
a)max_low:在应用逆LPC整形增益之后在绝对值的频谱上评估的低于fCELP的最大MDCT系数
b)dist_low:max_low与fCELP的距离
c)max_high:在应用逆LPC整形增益之后在绝对值的频谱上评估的高于fCELP的最大MDCT系数
d)dist_high:max_high与fCELP的距离
为了判定,对下面的条件进行评估:
条件2:c2*dist_high*max_high>dist_low*max_low
如果条件2为真,则假定由于极高的频谱尖峰或由于该尖峰的高频率,算术编码器有显著压力。高尖峰将主控速率循环中的编码过程,高频率将对算术编码器不利,因为算术编码器总是从低频率到高频率运行,即,较高频率对编码是低效的。如果条件2为真,则继续进行预处理。如果条件2为假,则中止预处理。
其中
是应用逆LPC增益整形之后的MDCT频谱,
LTCX (CELP)是高至fCELP的MDCT系数的数量
LTCX (BW)是完整的MDCT频谱的MDCT系数的数量
在示例实现方式中,将c2设置为4。
3)尖峰振幅的比较(例如,1106):
最终,对在心理声学上类似的频谱区域中的尖峰振幅进行比较。因此,在应用逆LPC整形增益之后,在MDCT频谱上搜索低于和高于fCELP的MDCT频谱的最大振幅。不是针对完整频谱来搜索低于fCELP的MDCT频谱的最大振幅,而是仅在flow>0Hz处开始。这将丢弃最低频率(其在心理声学上最重要,并且通常在应用逆LPC整形增益之后具有最高振幅),并且将仅比较具有类似的心理声学重要性的分量。搜索过程返回下面的值:
a)max_low2:在应用逆LPC整形增益之后从flow开始在绝对值的频谱上评估的低于fCELP的最大MDCT系数
b)max_high:在应用逆LPC整形增益之后在绝对值的频谱上评估的高于fCELP的最大MDCT系数
为了该决策,对下面的条件进行评估:
条件3:max_high>c3*max_low2
如果条件3为真,则假定有高于fCELP的频谱系数,相比于略低于fCELP,这些频谱系数具有显著较高的振幅,并且被假定为编码成本高。常数c3限定最大增益,该最大增益是调谐参数。如果条件2为真,则继续进行预处理。如果条件2为假,则中止预处理。
伪代码:
其中
Llow是对应于flow的偏移
XM是应用逆LPC增益整形之后的MDCT频谱,
LTCX (CELP)是高至fCELP的MDCT系数的数量
LTCX (BW)是完整的MDCT频谱的MDCT系数的数量
在示例实现方式中,将flow设置为LTCX (CELP)/2。在示例实现方式中,对于低比特率将c3设置为1.5,并且对于高比特率将c3设置为3.0。
4)衰减高于fCELP的高尖峰(例如,图16及图17):
如果发现条件1至3为真,则应用高于fCELP的尖峰的衰减。相比于心理声学上类似的频谱区域,衰减允许最大增益c3。衰减因子计算如下:
attenuation_factor=c3*max_low2/max_high
接下来将衰减因子应用于高于fCELP的所有MDCT系数。
5)
伪代码:
其中
XM是应用逆LPC增益整形之后的MDCT频谱,
LTCX (CELP)是高至fCELP的MDCT系数的数量
LTCX (BW)是完整的MDCT频谱的MDCT系数的数量
编码器侧预处理显著地减小编码循环的压力,同时仍然维持高于fCELP的相关频谱系数。
图7示出了在应用逆LPC整形增益和上述编码器侧预处理之后的关键帧的MDCT频谱。取决于为c1、c2和c3所选的数值,接下来被馈送给速率循环的所产生的频谱可能如上所示。这些频谱显著地减小,但仍然可能在速率循环中存留而不消耗所有可用比特。
虽然已经在装置的上下文中描述了一些方面,但是将清楚的是,这些方面还表示对应方法的描述,其中,块或设备对应于方法步骤或方法步骤的特征。类似地,在方法步骤的上下文中描述的方面也表示对相应装置的相应块或项或者特征的描述。可以由(或使用)硬件装置(诸如,微处理器、可编程计算机或电子电路)来执行一些或全部方法步骤。在一些实施例中,可以由这种装置来执行最重要方法步骤中的一个或多个方法步骤。
本发明的编码音频信号可以存储在数字存储介质上,或者可以在诸如无线传输介质或有线传输介质(例如,互联网)等的传输介质上传输。
取决于某些实现要求,可以在硬件中或在软件中实现本发明的实施例。可以通过使用其上存储有电子可读控制信号的非暂时性存储介质或数字存储介质(例如,软盘、DVD、Blu-Ray、CD、ROM、PROM和EPROM、EEPROM或闪存)来执行实现,该电子可读控制信号与可编程计算机系统合作(或能够与之合作),使得执行各个方法。因此,数字存储介质可以是计算机可读的。
根据本发明的一些实施例包括具有电子可读控制信号的数据载体,该电子可读控制信号能够与可编程计算机系统协作从而执行本文所述的方法之一。
通常,本发明的实施例可以实现为具有程序代码的计算机程序产品,程序代码可操作以在计算机程序产品在计算机上运行时执行方法之一。程序代码可以例如存储在机器可读载体上。
其他实施例包括存储在机器可读载体上的计算机程序,该计算机程序用于执行本文所述的方法之一。
换言之,本发明方法的实施例因此是具有程序代码的计算机程序,该程序代码用于在计算机程序在计算机上运行时执行本文所述的方法之一。
因此,本发明方法的另一实施例是其上记录有计算机程序的数据载体(或者数字存储介质或计算机可读介质),该计算机程序用于执行本文所述的方法之一。数据载体、数字存储介质或记录介质通常是有形的和/或非瞬时性的。
因此,本发明方法的另一实施例是表示计算机程序的数据流或信号序列,所述计算机程序用于执行本文所述的方法之一。数据流或信号序列可以例如被配置为经由数据通信连接(例如,经由互联网)传送。
另一实施例包括处理装置,例如,计算机或可编程逻辑器件,所述处理装置被配置为或适于执行本文所述的方法之一。
另一实施例包括其上安装有计算机程序的计算机,该计算机程序用于执行本文所述的方法之一。
根据本发明的另一实施例包括被配置为向接收机(例如,以电子方式或以光学方式)传输计算机程序的装置或系统,该计算机程序用于执行本文所述的方法之一。接收机可以是例如计算机、移动设备、存储设备等。装置或系统可以例如包括用于向接收机传送计算机程序的文件服务器。
在一些实施例中,可编程逻辑器件(例如,现场可编程门阵列)可以用于执行本文所述的方法的功能中的一些或全部。在一些实施例中,现场可编程门阵列可以与微处理器协作以执行本文所述的方法之一。通常,方法优选地由任意硬件装置来执行。
本文描述的装置可以使用硬件装置、或者使用计算机、或者使用硬件装置和计算机的组合来实现。
本文描述的装置或本文描述的装置的任何组件可以至少部分地在硬件和/或软件中实现。
本文描述的方法可以使用硬件装置、或者使用计算机、或者使用硬件装置和计算机的组合来执行。
本文描述的方法或本文描述的装置的任何组件可以至少部分地由硬件和/或由软件执行。
上述实施例对于本发明的原理仅是说明性的。应当理解的是:本文所述的布置和细节的修改和变形对于本领域其他技术人员将是显而易见的。因此,旨在仅由所附专利权利要求的范围来限制而不是由借助对本文实施例的描述和解释所给出的具体细节来限制。
在上述描述中,可以看出,出于简化本公开的目的,在实施例中将各种特征组合在一起。这种公开方式不应被解释为反映了要求保护的实施例需要比每一个权利要求中明确记载的特征更多特征的意图。相反地,如所附权利要求所反映的那样,发明主题可以在于比所公开的单一实施例的所有特征更少的特征。因此,所附权利要求被并入具体实施方式中,其中每个权利要求可以作为单独的实施例独立存在。虽然每个权利要求可以作为单独的实施例独立存在,但应注意,尽管从属权利要求可以在权利要求中提及与一个或多个其他权利要求的特定组合,但是其他实施例也可以包括从属权利要求与每个其他从属权利要求的主题的组合,或包括每个特征与其他从属或独立权利要求的组合。除非声明特定组合不是所意图的,否则本文提出了这样的组合。此外,即使某一权利要求没有直接从属于独立权利要求,也意图将该权利要求的特征包括到任何其他独立权利要求。
还应注意,说明书或权利要求中公开的方法可以通过具有装置的设备来实现,该装置用于执行这些方法的每个相应步骤。
此外,在一些实施例中,单个步骤可以包括或可以分成多个子步骤。除非明确排除,否则可以包括这些子步骤和该单个步骤的公开内容的一部分。
参考文献
[1]3GPP TS 26.445-用于增强型语音服务的编译码器;详细算法描述
附录
接下来,示出上述标准版本13(3GPP TS 26.445-Codec for Enhanced VoiceService(EVS);Detailed algorithmic description(用于增强型语音服务的编译码器;详细算法描述))的部分内容。第5.3..3.2.3节描述了整形器的优选实施例,第5.3.3.2.7节描述了量化器和编码器级中的量化器的优选实施例,而第5.3.3.2.8节描述了量化器和编码器级中的编码器的优选实施例中的算术编码器,其中在第5.3.2.8.1.2节中描述了用于恒定比特率和全局增益的优选速率循环。在第5.3.3.2.11节中描述了优选实施例的IGF特征,其中具体参考了第5.3.3.2.11.5.1节的IGF音调遮蔽计算。该标准的其他部分内容通过引用合并于此。
5.3.3.2.3 MDCT域中的LPC整形
5.3.3.2.3.1一般原理
通过将根据经加权且经量化的LP滤波器系数计算的增益因子应用于MDCT频谱来在MDCT域中执行LPC整形。MDCT变换所基于的输入采样率srinp可以比其LP系数被计算的CELP采样率srcelp更高。因此,只可以针对MDCT频谱中的与CELP频率范围对应的部分来计算LPC整形增益。对于频谱的剩余部分(如果有的话),使用最高频带的整形增益。
5.3.3.2.3.2 LPC整形增益的计算
为了计算64个LPC整形增益,首先使用长度为128的奇数堆叠的DFT将经加权的LP滤波器系数变换到频域:
然后将LPC整形增益gLPC计算为XLPC的绝对值的倒数:
5.3.3.2.3.3对MDCT频谱应用LPC整形增益
将与CELP频率范围对应的MDCT系数XM分组为64个子频带。将每个子频带的系数乘以对应的LPC整形增益的倒数,以获得经整形的频谱如果与CELP频率范围对应的MDCT频点的数量不是64的倍数,则将子频带的宽度变化一个频点,如由下面的伪代码所定义的:
将高于CELP频率范围的剩余MDCT系数(如果有的话)乘以最后的LPC整形增益的倒数:
5.3.3.2.4自适应低频加重
5.3.3.2.4.1一般原理
自适应低频加重和去加重(ALFE)处理的目的是改善频域TCX写译码器在低频下的主观性能。为此,在编码器中的量化之前放大低频MDCT频谱行,从而增大它们的量化SNR,并且在内部和外部译码器中的逆MDCT处理之前撤消这种增强以防止放大伪像。
基于算术编码算法和比特率的选择,在编码器和译码器中一致地选择两种不同的ALFE算法。ALFE算法1被用于9.6kbps(基于包络的算术编码器),并且被用于48kbps及以上(基于上下文的算术编码器)。ALFE算法2被用于从13.2直至32kbps(含)。在编码器中,在每次MDCT量化之前(算法1)或之后(算法2),ALFE直接在向量x[]中的频谱行上操作,在基于上下文的算术编码器的情况下,其在速率循环内多次运行(见5.3.3.2.8.1)。
5.3.3.2.4.2自适应加重算法1
ALFE算法1基于LPC频带增益lpcGains[]进行操作。首先,使用在循环内执行的比较操作来在增益索引0到8上找到前九个增益(即低频(LF)增益)中的最小值和最大值。
然后,如果最小值与最大值之间的比率超过阈值1/32,则执行x中的最低的多行的逐渐增强,使得将第一行(DC)放大(32min/max)0.25而不放大第33行:
tmp=32*min
if((max<tmp)&&(max>0))
{
fac=tmp=pow(tmp/max,1/128)
for(i=31;i&gt;=0;i--)
{/*最低的32行的逐渐增强*/
x[i]*=fac
fac*=tmp
}
}
5.3.3.2.4.3自适应加重算法2
不同于算法1,ALFE算法2不基于所发送的LPC增益进行操作,而是借助于对经量化的低频(LF)MDCT行的修改被发信号通知。该过程被划分为五个连续的步骤:
·步骤1:首先利用invGain=2/gTCX在较低的四分之一频谱 中找到位于索引i_max处的第一量值最大值并修改该最大值xq[i_max]+=(xq[i_max]&lt;0)?-2:2
·步骤2:然后通过按照描述量化的子条款但是利用invGain而不是gTCX作为全局增益因子重新量化k=0...i_max-1处的所有行来压缩所有x[i]直至i_max的值范围。
·步骤3:使用invGain=4/gTCX找到低于的第一量值最大值,并且修改该最大值xq[i_max]+=(xq[i_max]&lt;0)?-2:2,如果i_max&gt;–1则该最大值是 的一半
·步骤4:重新压缩和量化所有x[i]直至在先前的步骤(如步骤2)中找到的一半高度的i_max
·步骤5:如果在步骤1中找到的初始i_max大于-1,则再次利用invGain=2/gTCX来完成并一直压缩位于所找到的最新的i_max处(即,位于k=i_max+1、i_max+2处)的两行,否则使用invGain=4/gTCX来完成并一直压缩位于所找到的最新的i_max处的两行。所有i_max被初始化为-1。关于详细信息,请参阅tcx_utils_enc.c中的AdaptLowFreqEmph()。
5.3.3.2.5功率谱中的频谱噪声量度
为了指导TXC编码过程中的量化,基于当前变换的功率谱,针对高于指定频率的每个MDCT频谱行来确定位于0(音调)与1(类噪声)之间的噪声量度。根据同一时域信号区段上的MDCT系数XM(k)和MDST系数XS(k)并且用同一窗口操作来计算功率谱XP(k):
对于
然后如下计算每个噪声量度noiseFlags(k)。首先,如果变换长度改变(例如,在ACELP帧之后的TCX转变变换之后)或者如果前一帧未使用TCX 20编码(例如,假如在最后的帧中使用更短的变换长度),则直至的noiseFlags(k)全都被重置为零。根据下面的表1来初始化噪声测量起始行kstart
表1:噪声量度中的kstart的初始化表
比特率(kbps) 9.6 13.2 16.4 24.4 32 48 96 128
bw=NB,WB 66 128 200 320 320 320 320 320
bw=SWB,FB 44 96 160 320 320 256 640 640
对于ACELP到TCX转变,用1.25来缩放kstart。然后,如果噪声量度起始行kstart小于则从功率谱行的运行总和中递归地导出kstart以及其以上处的noiseFlags(k):
此外,在上述循环中每次都将值零赋给noiseFlags(k),并且将变量lastTone设置为k。上面的7行被分开处理,因为不能再更新s(k)(但是,如上所述地计算c(k)):
将位于处的最上部的行定义为类噪声,因此最后,如果上述变量lastTone(其被初始化为零)大于零,则noiseFlags(lastTone+1)=0。要注意,该过程仅在TCX20中执行,而不在其他TCX模式(noiseFlags(k)=0对于)中执行。
5.3.3.2.6低通因子检测器
基于低于32.0kbps的所有比特流的功率谱来确定低通因子clpf。因此,将功率谱XP(k)与所有的阈值tlpf迭代地进行比较,其中对于常规的MDCT窗口,tlpf=32.0,并且对于ACELP到MDCT转变窗口,tlpf=64.0。只要XP(k)&gt;tlpf就停止迭代。
低通因子clpf确定为其中clpf,prev是最后确定的低通因子。在编码器启动时,将clpf,prev设置为1.0。低通因子clpf被用于确定噪声填充停止频点(见子条款5.3.3.2.10.2)。
5.3.3.2.7具有自适应死区的均匀量化器
对于ALFE之后或之前(取决于所应用的加重算法,见子条款5.3.3.2.4.1)的MDCT频谱的均匀量化,首先将系数除以全局增益gTCX(见子条款5.3.3.2.8.1.1),该全局增益控制量化的步长。然后利用取整偏移将结果朝向零进行取整,该取整偏移基于系数的量值(相对于gTCX)和音调(如在子条款5.3.3.2.5中由noiseFlags(k)定义)针对每个系数进行适应。对于具有低音调和量值的高频频谱行,使用为零的取整偏移,而对于所有其他频谱行,采用偏移0.375。更具体地,执行下面的算法。
从索引处的最高经编码的MDCT系数开始,只要条件noiseFlags(k)&gt;0和评估为真,我们就设置并且将k减1。然后从不满足该条件(由于noiseFlags(0)=0而被确保)的索引k'≥0处的第一行向下,执行以下操作:用取整偏移0.375朝向零进行取整,并将所产生的整数值限制在-32768到32767的范围内:
其中k=0..k'。最后,将位于和高于处的所有经量化的系数设置为零。
5.3.3.2.8算术编码器
通过熵编码并且更具体地通过算术编码来对经量化的频谱系数进行无噪声编码。
算术编码使用14比特精度概率来计算其代码。可以以不同的方式导出字母概率分布。在低速率下,它从LPC包络中导出,而在高速率下,它从过去的上下文中导出。在这两种情况下,可以添加谐波模型来细化概率模型。
下面的伪代码描述了算术编码例程,其用于对与概率模型相关联的任何符号进行编码。概率模型由累积频率表cum_freq[]表示。在下面的子条款中描述了概率模型的导出。
辅助函数ari_first_symbol()和ari_last_symbol()分别检测所生成的码字的第一个符号和最后一个符号。
5.3.3.2.8.1基于上下文的算术写译码器
5.3.3.2.8.1.1全局增益估计器
在两个迭代步骤中执行TCX帧的全局增益gTCX的估计。第一估计考虑来自SQ的每比特每样本6dB的SNR增益。第二估计通过考虑熵编码来细化该估计。
首先计算4个系数的每个块的能量:
用0.125dB的最终分辨率来执行二分搜索:
初始化:设置fac=offset=12.8并且target=0.15(target_bits–L/16)
迭代:将下面的操作块进行10次
1-fac=fac/2
2-offset=offset–fac
2-其中
3-如果(ener&gt;target)则offset=offset+fac
随后,由下式给出增益的第一估计:
gTCX=100.45+offset/2 (10)
5.3.3.2.8.1.2恒定比特率和全局增益的速率循环
为了在used_bits≤target_bits的约束内设置最佳增益gTCX,通过使用下面的变量和常数来进行gTCX和used_bits的收敛处理:
WLb和WUb表示与下边界和上边界对应的权重,
gLb和gUb表示与下边界和上边界对应的增益,并且
Lb_found和Ub_found分别表示指示找到gLb和gUb的标志。
μ和η是变量,其中μ=max(1,2.3-0.0025*target_bits)并且η=1/μ。
λ和v是常量,被设置为10和0.96。
在通过算术编码对比特消耗进行初始估计之后,当target_bits大于used_bits时将stop设置为0,而当used_bits大于target_bits时将stop设置为used_bits。
如果stop大于0,则意味着used_bits大于target_bits,需要将gTCX修改为大于前一个gTCX,并且将Lb_found设置为TRUE,将gLb设置为前一个gTCX。将WLb设置为
WLb=stop-target_bits+λ, (11)
当Ub_found被设置时(这意味着used_bits小于target_bits),将gTCX更新为上边界与下边界之间的插值。
gTCX=(gLb·WUb+gUb·WLb)/(WUb+WLb), (12)
否则,意味着Ub_found为FALSE,当used_bits(=stop)与target_bits的比率较大时,用较大的放大率将增益放大为
gTCX=gTCX·(1+μ·((stop/ν)/target_bits-1)), (13)
从而加速达到gUb
如果stop等于0(这意味着used_bits小于target_bits),则gTCX应该小于前一个gTCX,并且将Ub_found设置为1,将Ub设置为前一个gTCX,并且将WUb设置为
WUb=target_bits-used_bits+λ, (14)
如果已经设置了Lb_found,则将增益计算为
gTCX=(gLb·WUb+gUb·WLb)/(WUb+WLb), (15)
否则,当used_bits和target_bits的比率小时,为了加速到下频带增益gLb,用较大的增益减小速率将增益减小为
gTCX=gTCX·(1-η·(1-(used_bits·ν)/target_bits))。 (16)
在上述增益校正之后,执行量化并通过算术编码获得used_bits的估计。结果,当target_bits大于used_bits时将stop设置为0,而当used_bits大于target_bits时将stop设置为used_bits。如果循环计数小于4,则根据值stop在下一循环时执行下边界设置处理或上边界设置处理。如果循环计数为4,则获得最终增益gTCX和经量化的MDCT序列XQMDCT(k)。
5.3.3.2.8.1.3概率模型推导和编码
经量化的频谱系数X从最低频率系数开始被无噪声地编码并且前进到最高频率系数。利用两个系数a和b的群组来对它们进行编码,这两个系数a和b聚集在所谓的2元组{a,b}中。
每个2元组{a,b}被分成三个部分,即MSB、LSB和符号。使用均匀概率分布独立于量值来对符号进行编码。将量值本身进一步划分为两部分,即两个最高有效位(MSB)和剩余的最低有效位(LSB,如果适用)。利用MSB编码对两个频谱系数的量值小于或等于3的2元组直接进行编码。否则,首先传送转义符号以用信号通知任何附加的比特平面。
在图1的示例中示出了2元组、2元组的各个频谱值a和b、最高有效位平面m和剩余的最低有效位平面r之间的关系。在该示例中,在实际值m之前首先发送三个转义符号,从而指示三个所传送的最低有效位平面。
图1:频谱值a和b的编码对(2元组)及其作为m和r的表示的示例
概率模型源自于过去的上下文。过去的上下文在12比特的索引上平移,并使用查找表ari_context_lookup[]映射到存储在ari_cf_m[]中的64个可用概率模型之一。
过去的上下文从已经在同一帧内被编码的两个2元组中导出。上下文可以从直接邻近者中导出或者更远地位于过去的频率中。根据谐波模型,针对尖峰区域(属于谐波尖峰的系数)和其他(非尖峰)区域保持单独的上下文。如果不使用谐波模型,则仅使用其他(非尖峰)区域上下文。
不传送位于频谱末端的归零频谱值。这通过传送最后的非归零的2元组的索引来实现。如果使用谐波模型,则频谱的末端被定义为由尖峰区域系数组成的频谱的末端,其他(非尖峰)区域系数在该尖峰区域系数之后,因为该定义倾向于增加尾随的零的数量,并且因此提高编码效率。要被编码的样本数量计算如下:
按以下顺序将以下数据写入比特流中:
1-将lastnz/2-1编码在个比特上。
2-熵编码的MSB以及转义符号。
3-带有1比特的码字的符号
4-在未完全使用比特预算时的部分中描述的残差量化比特。
5-将LSB从比特流缓冲器的末尾向后写入。
以下伪代码描述了如何导出上下文以及如何计算MSB、符号和LSB的比特流数据。输入自变量是经量化的频谱系数X[]、所考虑的频谱的尺寸L、比特预算target_bits、谐波模型参数(pi,hi),以及最后的非归零符号的索引lastnz。
辅助函数ari_save_states()和ari_restore_states()分别用于保存和恢复算术编码器状态。如果它违背了比特预算,则允许取消最后的符号的编码。此外,在比特预算溢出的情况下,它能够用零来填充剩余的比特直到达到比特预算的末尾或者直到处理频谱中lastnz个样本。
在以下子条款中描述了其他辅助函数。
5.3.3.2.8.1.4得到下一个系数
(a,p,idx)=get_next_coeff(pi,hi,lastnz)
If((ii[0]≥lastnz–min(#pi,lastnz))or
(ii[1]&lt;min(#pi,lastnz)and pi[ii[1]]&lt;hi[ii[0]]))then
{
p=1
idx=ii[1]
a=pi[ii[1]]
}
else
{
p=0
idx=ii[0]+#pi
a=hi[ii[0]]
}
ii[p]=ii[p]+1
在ari_context_encode()(以及译码器中的ari_context_decode())开始时将ii[0]和ii[1]计数器初始化为0。
5.3.3.2.8.1.5上下文更新
按照由以下伪代码所描述的来更新上下文。这包括级联两个4比特上下文元素。
5.3.3.2.8.1.6得到上下文
以两种方式来修改最后的上下文:
t=c[p1∨p2]
if min(idx1,idx2)&gt;L/2 then
t=t+256
if target_bits&gt;400 then
t=t+512
上下文t是从0到1023的索引。
5.3.3.2.8.1.7比特消耗估计
对于量化的速率循环优化,需要基于上下文的算术编码器的比特消耗估计。通过在不调用算术编码器的情况下计算比特需求来完成该估计。可以通过以下代码来精确地估计所生成的比特:
cum_freq=arith_cf_m[pki]+m
proba*=cum_freq[0]-cum_freq[1]
nlz=norm_l(proba)/*得到前导零的数量*/
nbits=nlz
proba&gt;&gt;=14
其中proba是被初始化为16384的整数,并且m是MSB符号。
5.3.3.2.8.1.8谐波模型
对于基于上下文的算术编码和基于包络的算术编码两者,谐波模型被用于对具有谐波含量的帧进行更有效的编码。如果应用以下条件中的任何条件,则禁用该模型:
-比特率不是9.6、13.2、16.4、24.4、32、48kbps之一。
-前一帧由ACELP编码。
-使用基于包络的算术编码,并且编码器类型既不是语音的也不是通用的。
-比特流中的单比特谐波模型标志被设置为零。
当模型被启用时,谐波的频域间隔是关键参数,并且针对两种风格的算术编码器被共同分析和编码。
5.3.3.2.8.1.8.1谐波间隔的编码
当将基音滞后(pitch lag)和增益用于后处理时,滞后参数被用于表示频域中的谐波间隔。否则,应用间隔的正常表示。
5.3.3.2.8.1.8.1.1取决于时域基音滞后的编码间隔
如果时域中的基音滞后的整数部分dint小于MDCT的帧尺寸LTCX,则由下式给出具有7比特小数精确度的频域间隔单元(与基音滞后对应的谐波尖峰之间)TUNIT
其中dfr表示时域中的基音滞后的小数部分,res_max表示根据条件值为4或6的、可允许小数值的最大数量。
由于TUNIT具有有限的范围,因此频域中的谐波尖峰之间的实际间隔相对于TUNIT使用表2中指定的比特来编码。在表3或表4中给出的乘法因子Ratio()的候选项中,选择给出MDCT域变换系数的最合适的谐波间隔的乘法数。
IndexT=(TUNIT+26)/27-2 (19)
表2:取决于IndexT的用于指定乘数的比特数量
Index<sub>T</sub> 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
NB: 5 4 4 4 4 4 4 3 3 3 3 2 2 2 2 2
WB: 5 5 5 5 5 5 4 4 4 4 4 4 4 2 2 2
表3:取决于IndexT的按照IndexMUL的次序的乘数的候选项(NB)
表4:按照取决于IndexT的次序的乘数的候选项(WB)
5.3.3.2.8.1.8.1.2不依赖于时域基音滞后而对间隔进行编码
当不使用时域中的基音滞后和增益或者基音增益小于或等于0.46时,使用间隔的具有不相等分辨率的正常编码。
频谱尖峰的单位间隔TUNIT被编码为
TUNIT=index+base·2Res-bias, (21)
并且用小数分辨率Res将实际间隔TMDCT表示为
TMDCT=TUNIT/2Res。 (22)
每个参数如表5所示,其中“小尺寸”意味着当帧尺寸小于256或者目标比特率小于或等于150时。
表5:用于对(0&lt;=index&lt;256)进行编码的不相等分辨率
5.3.3.2.8.1.8.2空
5.3.3.2.8.1.8.3搜索谐波间隔
在搜索最佳谐波间隔时,编码器试图找到能够最大化绝对MDCT系数的尖峰部分的加权和EPERIOD的索引。EABSM(k)表示MDCT域变换系数的绝对值的3个样本的和,如下所示:
其中num_peak是达到频域中样本限制的最大数量。
在间隔不依赖于时域中的基音滞后的情况下,使用层次搜索来节省计算成本。如果间隔的索引小于80,则通过粗略步长4来检查周期性。在得到最佳间隔之后,在从-2到+2的最佳间隔中搜索更精细的周期。如果索引等于或大于80,则针对每个索引来搜索周期性。
5.3.3.2.8.1.8.4谐波模型的判定
在初始估计时,获得在没有谐波模型的情况下所使用的比特的数量used_bits和在谐波模型的情况下所使用的比特的数量used_bitshm,并且将所消耗的比特的指示符IdicatorB定义为
idicatorB=Bno_hm-Bhm, (25)
Bno_hm=max(stop,used_bits), (26)
Bhm=max(stophm,used_bitshm)+Index_bitshm, (27)
其中Index_bitshm表示用于对谐波结构进行建模的额外比特,并且当stop和stophm大于目标比特时它们指示消耗比特。因此,IdicatorB越大就越优选使用谐波模型。将相对周期性indicatorhm定义为经整形的MDCT系数的尖峰区域的绝对值的归一化总和,如下所示
其中TMDCT_max是达到EPERIOD的最大值的谐波间隔。当如下所示该帧的
周期性得分大于阈值时
if((indicatorB>2)||((abs(indicatorB)≤2)&&(indicatorhm>2.6)), (29)
该帧被认为是由谐波模型编码的。用增益gTCX除以的经整形的MDCT系数被量化以产生MDCT系数的整数值序列并且用带有谐波模型的算术编码压缩。该处理需要迭代收敛过程(速率循环)以利用所消耗比特Bhm来得到gTCX在收敛结束时,为了验证谐波模型,额外地计算用于的带有正常(非谐波)模型的算术编码的消耗比特Bno_hm,并且将其与Bhm进行比较。如果Bhm大于Bno_hm,则的算术编码恢复成使用正常模型。Bhm-Bno_hm可以被用于残差量化以得到进一步增强。否则,将谐波模型用于算术编码。
相反,如果该帧的周期性的指示符小于或等于阈值,则假设正常模型执行量化和算术编码以利用消耗比特Bno_hm产生经整形的MDCT系数的整数值序列在速率循环收敛之后,计算用于的具有谐波模型的算术编码的消耗比特Bhm。如果Bno_hm大于Bhm,则的算术编码被切换为使用谐波模型。否则,在算术编码中使用正常模型。
5.3.3.2.8.1.9在基于上下文的算术编码中使用谐波信息
对于基于上下文的算术编码,所有区域被分为两类。一类是尖峰部分并且包括以谐波尖峰τU的第U(U是直至极限的正整数)个尖峰为中心的3个连续样本,
其他样本属于正常部分或谷部分。谐波尖峰部分可以由谐波间隔和间隔的整数倍来指定。算术编码针对尖峰区域和谷区域使用不同的上下文。
为了便于描述和实现,谐波模型使用以下索引序列:
ip=(pi,hi),pi和hi的级联 (33)
在禁用的谐波模型的情况下,这些序列是pi=(),并且hi=ip=(0,...,LM-1)。
5.3.3.2.8.2基于包络的算术编码器
在MDCT域中,利用感知模型W(z)对谱行进行加权,使得可以用相同的精确度来量化每行。各频谱行的方差遵循用感知模型加权的线性预测器A-1(z)的形状,由此经加权的形状是S(z)=W(z)A-1(z)。如在子条款5.3.3.2.4.1和5.3.3.2.4.2中所详述的,通过将变换成频域LPC增益来计算W(z)。在转换为直接形式系数之后从中导出A-1(z),并应用倾斜补偿1-γz-1,并且最后变换成频域LPC增益。所有其他频率整形工具以及来自谐波模型的贡献也应被包含在该包络形状S(z)中。观察到这只给出了频谱行的相对方差,而整个包络具有任意缩放,因此我们必须通过缩放包络来开始。
5.3.3.2.8.2.1包络缩放
我们将假设频谱行xk是零均值的并且根据拉普拉斯分布来分布,由此概率分布函数是
这种频谱行的熵以及因此比特消耗为bitsk=1+log22ebk。然而,该公式假设也针对被量化为零的那些频谱行来对符号进行编码。为了补偿这种差异,我们替代地使用近似
这对于bk≥0.08是精确的。我们将假设bk≤0.08的行的比特消耗是bitsk=log2(1.0224),这与bk=0.08下的比特消耗匹配。对于大的bk&gt;255,为了简单起见,我们使用真实熵bitsk=log2(2ebk)。
于是,频谱行的方差是如果是包络形状的幂|S(z)|2的第k个元素,则描述频谱行的相对能量,使得其中γ是缩放系数。换言之,仅描述没有任何有意义的量值的频谱形状,并且γ用于缩放该形状以获得实际方差
我们的目标是当我们用算术编码器对频谱的所有行进行编码时,比特消耗匹配预定义的等级B,即然后,我们可以使用双区段算法来确定合适的缩放因子γ,使得达到目标比特率B。
一旦包络形状bk被缩放使得信号的匹配该形状的预期比特消耗产生目标比特率,我们就可以继续对频谱行进行量化。
5.3.3.2.8.2.2量化速率循环
假设xk被量化成整数使得量化间隔为则对于频谱行在该间隔中出现的概率是:
并且对于
因此,在理想情况下,这两种情况的比特消耗是
通过预先计算项我们可以有效地计算整个频谱的比特消耗。
然后可以通过双区段(bi-section)搜索来应用速率循环,其中我们用因子ρ调整频谱行的缩放,并计算频谱的比特消耗ρxk,直到我们足够接近期望的比特率。注意,比特消耗的上述理想情况值不一定与最终的比特消耗完全一致,因为算术写译码器在有限精度近似的情况下工作。因此,该速率循环依赖于比特消耗的近似,但具有在计算上有效的实现的益处。
当确定了最佳缩放σ时,可以用标准算术编码器对频谱进行编码。将被量化为值的频谱行编码到下列间隔:
并且将编码到下列间隔上:
xk≠0的符号将用一个另外的比特来编码。
观察到算术编码器必须以定点实现来操作,使得上述间隔在所有平台上都是比特确切的。因此,到算术编码器的所有输入,包括线性预测模型和加权滤波器,在整个系统中都必须以定点实现。
5.3.3.2.8.2.3概率模型导出和编码
当确定了最佳缩放σ时,可以用标准算术编码器对频谱进行编码。将被量化为值的频谱行编码到下列间隔:
并且将编码到下列间隔上:
xk≠0的符号将用一个另外的比特来编码。
5.3.3.2.8.2.4基于包络的算术编码中的谐波模型
在基于包络的算术编码的情况下,可以使用谐波模型来增强算术编码。使用与基于上下文的算术编码中类似的搜索过程来估计MDCT域中的谐波之间的间隔。然而,如图2所示,谐波模型与LPC包络相结合地使用。根据谐波分析的信息对包络的形状进行渲染。
将频率数据样本中的k处的谐波形状定义为
当τ-4≤k≤τ+4时, (43)
否则Q(k)=1.0,其中τ表示第U个谐波的中心位置。
h和σ是每个谐波的取决于单元间隔的高度和宽度,如下所示,
h=2.8(1.125-exp(-0.07·TMDCT/2Res)) (45)
σ=0.5(2.6-exp(-0.05·TMDCT/2Res)) (46)
当间隔变得更大时,高度和宽度变得更大。
用k处的谐波形状Q(k)将频谱包络S(k)修改为
S(k)=S(k)·(1+gharm·Q(k)), (47)
其中对于通用模式总是将谐波分量的增益gharm设置为0.75,而对于使用2比特的语音模式,从{0.6,1.4,4.5,10.0}中选择使Enorm最小化的gharm
图2:在基于包络的算术编码中使用的与LPC包络组合的谐波包络的示例。
5.3.3.2.9全局增益编码
5.3.3.2.9.1优化全局增益
根据经量化和未经量化的MDCT系数计算最佳全局增益gopt。对于高达32kbps的比特率,在该步骤之前将自适应低频去加重(见子条款6.2.2.3.2)应用于经量化的MDCT系数。假如该计算产生小于或等于零的最佳增益,则使用之前(通过估计和速率循环)确定的全局增益gTCX
5.3.3.2.9.2全局增益的量化
为了传输到译码器,最佳全局增益gopt被量化为7比特索引ITCX,gain
根据子条款6.2.2.3.3中的定义获得经去量化的全局增益
5.3.3.2.9.3残差编码
残差量化是细化第一SQ级的细化量化层。它利用最终未使用的比特target_bits-nbbits,其中nbbits是由熵编码器消耗的比特的数量。残差量化采用贪婪策略而不进行熵编码,以便在比特流达到期望大小时停止编码。
残差量化可以通过两种手段来细化第一量化。第一手段是全局增益量化的细化。仅针对处于或高于13.2kbps的速率进行全局增益细化。最多为其分配三个附加比特。从n=0开始顺序地细化经量化的增益并在每次后续迭代之后将n增加1:
第二细化手段包括针对每行重新量化经量化的频谱行。首先,用1比特残差量化器来处理非零的经量化行:
最后,如果比特剩余,则考虑并且在3个等级上量化归零行。在残差量化器设计中考虑具有死区的SQ的取整偏移:
5.3.3.2.10噪声填充
在译码器侧上,应用噪声填充来填充MDCT频谱中系数已经被量化为零的间隙。噪声填充将伪随机噪声插入到该间隙中,从频点kNFstart开始直至频点kNFstop-1。为了控制在译码器中插入的噪声的量,在编码器侧计算噪声因子并将其传送给译码器。
5.3.3.2.10.1噪声填充倾斜
为了补偿LPC倾斜,计算倾斜补偿因子。对于低于13.2kbps的比特率,倾斜补偿从直接形式的经量化的LP系数中计算,而对于更高的比特率,使用常数值:
5.3.3.2.10.2噪声填充起始频点和停止频点
噪声填充起始频点和停止频点被计算如下:
5.3.3.2.10.3噪声转变宽度
在噪声填充区段的每一侧,将转变淡出应用于所插入的噪声。转变的宽度(频点的数量)被定义为:
其中HM表示谐波模型被用于算数写译码器,并且previous表示前一个写译码器模式。
5.3.3.2.10.4噪声区段的计算
确定噪声填充区段,其是MDCT频谱的kNFstart and kNFstop,LP之间的连续频点的区段,该区段的所有系数都被量化为零。这些区段由以下伪代码来定义:
其中kNF0(j)和kNF1(j)是噪声填充区段j的起始频点和结束频点,并且nNF是区段的数量。
5.3.3.2.10.5噪声因子的计算
根据应用了噪声填充的频点的未经量化的MDCT系数来计算噪声因子。
如果噪声转变宽度wNF为3个或更少的频点,则基于偶数和奇数个MDCT频点的能量来计算衰减因子:
对于每个区段,根据未经量化的MDCT系数计算误差值,从而应用全局增益、倾斜补偿和转变:
基于每个区段的宽度来计算该区段的权重:
然后将噪声因子计算如下:
5.3.3.2.10.6噪声因子的量化
为了传输,量化噪声因子以获得3比特索引:
5.3.3.2.11智能间隙填充
智能间隙填充(IGF)工具是用于填充频谱中的间隙(零值区域)的增强型噪声填充技术。这些间隙可能由于编码处理中的粗略量化而发生,在该编码处理中给定频谱的大部分可能被设置为零以满足比特约束。然而,利用IGF工具,在接收器侧(RX)上利用在发送侧(TX)上所计算的参数化信息来重建这些丢失的信号部分。仅在TCX模式有效的情况下才使用IGF。
所有IGF操作点见下表6:
表6:IGF应用模式
在发送侧上,IGF使用复值或实值TCX频谱来计算比例因子频带上的等级。另外,使用频谱平坦度测量和波峰因子来计算频谱白化指数。算术编码器用于无噪声编码和到接收器(RX)侧的有效传输。
5.3.3.2.11.1 IGF辅助函数
5.3.3.2.11.1.1用转变因子来映射值
如果存在从CELP到TCX编码(isCelpToTCX=true)的转变或者如果TCX 10帧被发信号通知(isTCX10=true),则TCX帧长度可能改变。在帧长度改变的情况下,与帧长度相关的所有值都使用用函数tF来映射:
其中n是自然数,例如比例因子频带偏移,并且f是转变因子,见表11。
5.3.3.2.11.1.2 TCX功率谱
用下式来计算当前TCX帧的功率谱P∈Pn
R(sb)∶=R(sb)2+I(sb)2,sb=0,1,2,…,n-1 (66)
其中n是实际TCX窗口长度,R∈Pn是包含当前TCX频谱的实值部分(cos变换)的向量,并且I∈Pn是包含当前TCX频谱的虚(sin变换)部分的向量。
5.3.3.2.11.1.3频谱平坦度测量函数SFM
设P∈Pn是根据子条款5.3.3.2.11.1.2所计算的TCX功率谱,以及设b是SFM测量范围的起始行并且设e是SFM测量范围的停止行。
用下式来定义通过IGF施加的SFM函数:
SFM:Pn×N×N→P,
其中n是实际TCX窗口长度,并且p用下式来定义:
5.3.3.2.11.1.4波峰因子函数CREST
设P∈Pn是根据子条款5.3.3.2.11.1.2所计算的TCX功率谱,以及设b是波峰因子测量范围的起始行并且设e是波峰因子测量范围的停止行。
用下式来定义通过IGF施加的CREST函数:
CREST:Pn×N×N→P,
其中n是实际TCX窗口长度,并且Emax用下式来定义:
5.3.3.2.11.1.5映射函数hT
用下式来定义hT映射函数:
hT:P×N→(0,1,2),
其中s是所计算的频谱平坦度值,并且k是范围中的噪声频带。关于阈值ThMk、ThSk,参考下面的表7。
表7:nT、ThM和ThS的白化的阈值
比特率 模式 nT ThM ThS
9.6kbps WB 2 0.36,0.36 1.41,1.41
9.6kbps SWB 3 0.84,0.89,0.89 1.30,1.25,1.25
13.2kbps SWB 2 0.84,0.89 1.30,1.25
16.4kbps SWB 3 0.83,0.89,0.89 1.31,1.19,1.19
24.4kbps SWB 3 0.81,0.85,0.85 1.35,1.23,1.23
32.2kbps SWB 3 0.91,0.85,0.85 1.34,1.35,1.35
48.0kbps SWB 1 1.15 1.19
16.4kbps FB 3 0.63,0.27,0.36 1.53,1.32,0.67
24.4kbps FB 4 0.78,0.31,0.34,0.34 1.49,1.38,0.65,0.65
32.0kbps FB 4 0.78,0.31,0.34,0.34 1.49,1.38,0.65,0.65
48.0kbps FB 1 0.80 1.0
96.0kbps FB 1 0 2.82
128.0kbps FB 1 0 2.82
5.3.3.2.11.1.6空
5.3.3.2.11.1.7 IGF比例因子表
IGF比例因子表可用于其中应用IGF的所有模式。
表8:比例因子频带偏移表
上述表8参考TCX 20窗口长度和转变因子1.00。
对于所有窗口长度,应用下面的重新映射:
t(k)∶=tF(t(k),f),k=0,1,2,…,nB (72)
其中tF是在子条款5.3.3.2.11.1.1中所描述的转变因子映射函数。
5.3.3.2.11.1.8映射函数m
表9:IGF最小源子频带minSb
针对每种模式来定义映射函数,以便从IGF范围中的给定目标行访问源行。
表10:每种模式的映射函数
用下式来定义映射函数m1:
m1(x)∶=minSb+2t(0)-t(nB)+(x-t(0)),对于t(0)≤x&lt;t(nB) (73)
用下式来定义映射函数m2a:
用下式来定义映射函数m2b:
用下式来定义映射函数m3a:
用下式来定义映射函数m3b:
用下式来定义映射函数m3c:
用下式来定义映射函数m3d:
用下式来定义映射函数m4:
值f是适当的转变因子(见表11),并且在子条款5.3.3.2.11.1.1中描述了tF。
要注意,如在子条款5.3.3.2.11.1.1中描述的,应该已经用函数tF对所有值t(0),t(1),…,t(nB)进行了映射。在表8中定义了nB的值。
这里所描述的映射函数将在文本中被称为“映射函数m”,从而假定针对当前模式选择了合适的函数。
5.3.3.2.11.2 IGF输入元素(TX)
IGF编码器模块预期将下面的向量和标志作为输入:
R:带有当前TCX频谱的实部XM的向量
I:带有当前TCX频谱的虚部XS的向量
P:带有TCX功率谱的值XP的向量
isTransien t:标志,发信号通知当前帧是否包含瞬变,见子条款5.3.2.4.1.1
isTCX10:标志,发信号通知TCX 10帧
isTCX20:标志,发信号通知TCX 20帧
isCelpToTCX:标志,发信号通知CELP到TCX转变;通过测试最后的帧是否是CELP来生成标志
isIndepFlag:标志,发信号通知当前帧独立于前一帧
IGF允许通过标志isTCX10、isTCX20和isCelpToTCX发信号通知的、表11中所列举的下列组合。
表11:TCX转变、转变因子f、窗口长度n
5.3.3.2.11.3在发送(TX)侧上的IGF函数
所有函数声明都假定输入元素是逐帧提供的。唯一的例外是两个连续的TCX 10帧,其中第二帧依赖于第一帧被进行编码。
5.3.3.2.11.4 IGF比例因子计算
该条款描述如何在发送(TX)侧上计算IGF比例因子g(k),k=0,1,…nB-1。
5.3.3.2.11.4.1复值计算
假如TCX功率谱P可用,则使用P来计算IGF比例因子值g:
并且设是在子条款5.3.3.2.11.1.8中所描述的、将IGF目标范围映射成IGF源范围的映射函数,计算:
其中应该已经用函数tF对t(0),t(1),…,t(nB)进行了映射(见子条款5.3.3.2.11.1.1)并且nB是IGF比例因子频带的数量(见表8)。
用下式来计算g(k):
并且用下式将g(k)限制到范围
g(k)=max(0,g(k)), (85)
在使用子条款5.3.3.2.11.8中描述的算术编码器进行进一步的无损压缩之后,这些值g(k),k=0,1,…,nB-1将被传送给接收器(RX)侧。
5.3.3.2.11.4.2实值计算
如果TCX功率谱不可用,则计算:
其中应该已经用函数tF对t(0),t(1),…,t(nB)进行了映射(见子条款5.3.3.2.11.1.1),并且nB是频带的数量(见表8)。
用下式来计算g(k):
并且用下式将g(k)限制到范围
g(k)=max(0,g(k)),
g(k)=min(91,g(k)). (88)
在使用子条款5.3.3.2.11.8中描述的算术编码器进行进一步的无损压缩之后,这些值g(k),k=0,1,…,nB-1将被传送给接收器(RX)侧。
5.3.3.2.11.5 IGF音调屏蔽
为了确定应该用内核编码器传送哪些频谱分量,计算音调屏蔽。因此,识别所有显著的频谱内容,而非常适合通过IGF进行参数编码的内容被量化为零。
5.3.3.2.11.5.1 IGF音调屏蔽计算
假如TCX功率谱P不可用,则检测高于t(0)的所有频谱内容:
R(tb)∶=0,t(0)≤tb&lt;t(nB) (89)
其中R是应用NTS之后的实值TCX频谱,并且n是当前TCX窗口长度。
假如TCX功率谱P可用,则计算:
其中t(0)是IGF范围中的第一个频谱行。
给定EHP,应用下列算法:
初始化last和next:
last:=R(t(0)-1)
5.3.3.2.11.6 IGF频谱平坦度计算
表12:拼块的数量nT和拼块宽度wT
对于IGF频谱平坦度计算,需要尺寸均为nT的两个静态阵列prevFIR和prevIIR来随着帧的变化保持过滤器状态。另外,需要静态标志wasTransient来保存来自前一帧的输入标志isTransien t的信息。
5.3.3.2.11.6.1重置滤波器状态
向量prevFIR和prevIIR是IGF模块中的尺寸均为nT的静态阵列,并且用零来初始化这两个阵列:
应该在以下情况下进行这种初始化:
-写译码器启动
-任何比特流切换
-任何写译码器类型切换
-从CELP转变到TCX,例如isCelpToTCX=true
-如果当前帧具有瞬时属性,例如isTransient=true
5.3.3.2.11.6.2重置当前的白化等级
在以下情况下,应该针对所有拼块用零来初始化向量currWLevel,
currWlevel(k)=0,k-0,1,…,nT-1 (92)
-写译码器启动
-任何比特流切换
-任何写译码器类型切换
-从CELP转变到TCX,例如isCelpToTCX=true
5.3.3.2.11.6.3频谱平坦度指数的计算
应该连续地执行下面的步骤1)到步骤4):
1)更新先前的等级缓冲器并且初始化当前等级:
假如prevIsTran sient或isTransien t为真,则应用
currWleve(k)=1,k=0,1,…,nT-1 (94)
否则,如果功率谱P可用,则计算
其中
其中SFM是在子条款5.3.3.2.11.1.3中描述的频谱平坦度测量函数,并且CREST是在子条款5.3.3.2.11.1.4中描述的波峰因子函数。
计算:
在计算向量s(k)之后,用下式来更新滤波器状态:
prevFIR(k)=tmp(k),k=0,1,…,nT-1
2)将映射函数hT:N×P→N应用于所计算的值,以获得白化等级指标向量currWLevel。在子条款5.3.3.2.11.1.5中对映射函数hT:N×P→N进行了描述。
currWLevel(k)=hT(s(k),k),k=0,1,…,nT-1 (99)
3)根据所选择的模式(见表13),应用下面的最终映射:
currWLevel(nT-1):=currWLevel(nT-2) (100)
表13:用于步骤4)映射的模式
比特率 模式 映射
9.6kbps WB 应用
9.6kbps SWB 应用
13.2kbps SWB 不应用
16.4kbps SWB 应用
24.4kbps SWB 应用
32.2kbps SWB 应用
48.0kbps SWB 不应用
16.4kbps FB 应用
24.4kbps FB 应用
32.0kbps FB 应用
48.0kbps FB 不应用
96.0kbps FB 不应用
128.0kbps FB 不应用
在执行步骤4)之后,白化等级指标向量currWLevel已经准备好传输。
5.3.3.2.11.6.4IGF白化等级的编码
每拼块使用1或2个比特来传送在向量currWLevel中定义的IGF白化等级。所需的总比特的确切数量取决于包含在currWLevel中的实际值和isIndep标志的值。在以下伪代码中描述了详细处理:
其中,向量prevWLevel包含来自前一帧的白化等级,并且函数encode_whitening_level照管白化等级currWLevel(k)到二进制代码的实际映射。根据以下伪代码来实现该函数:
5.3.3.2.11.7 IGF时间平坦度指示符
IGF的重建信号的时间包络根据所传送的关于时间包络平坦度的信息在接收器(RX)侧被平坦化,该信息是IGF平坦度指示符。
将时间平坦度作为频域中的线性预测增益来测量。首先,执行当前TCX频谱的实部的线性预测,然后计算预测增益ηigf
其中ki=通过线性预测所获得的第i个PARCOR系数。
根据预测增益ηigf和子条款5.3.3.2.2.3中描述的预测增益ηtns,将IGF时间平坦度指示符标志isIgfTemFlat定义为
5.3.3.2.11.8 IGF无噪声编码
用算术编码器对IGF比例因子向量g进行无噪声编码,以便将向量的有效表示写入比特流。
该模块使用来自基础设施的通用原始算术编码器函数,这些函数由内核编码器提供。所使用的函数是:ari_encode_14bits_sign(bit),其对值bit进行编码;ari_encode_14bits_ext(value,cumulativeFrequencyTable),其使用累积频率表cumulativeFrequencyTable对来自27个符号(SYMBOLS_IN_TABLE)的字母的值value进行编码;ari_start_encoding_14bits(),其对算术编码器进行初始化;以及ari_finish_encoding_14bits(),其对算术编码器进行最终化。
5.3.3.2.11.8.1 IGF独立标志
假如标志isIndepFlag具有值true,则重置算术编码器的内部状态。可以仅在TCX10窗口(见表11)被用于两个连续的TCX 10帧中的第二帧的模式中将该标志设置为false。
5.3.3.2.11.8.2 IGF全零标志
IGF全零标志用信号通知所有的IGF比例因子都为零:
首先将allZero标志写入比特流。如果该标志为true,则编码器状态被重置并且没有另外的数据被写入比特流,否则将经算术编码的比例因子向量g跟随在该比特流中。
5.3.3.2.11.8.3 IGF算术编码辅助函数
5.3.3.2.11.8.3.1重置函数
算术编码器状态由t∈{0,1}和prev向量组成,该prev向量表示从前一帧中保留的向量g的值。当对向量g进行编码时,t的值0意味着没有可用的前一帧,因此未定义且不使用prev。t的值1意味着存在可用的前一帧,因此prev具有有效数据并且它被使用,仅在TCX10窗口(参见表11)被用于两个连续的TCX 10帧中的第二帧的模式中是这种情况。为了重置算术编码器状态,设置t=0就足够了。
如果帧具有isIndepFla g设置,则在对比例因子向量g进行编码之前重置编码器状态。注意,t=0且isIndepFlag=false的组合是有效的,并且可以在第一帧具有allZero=1时针对两个连续的TCX 10帧中的第二帧发生。在这种特定情况下,帧不使用来自前一帧的上下文信息(prev向量),因为t=0,并且实际上将它作为独立帧被进行编码。
5.3.3.2.11.8.3.2 arith_encode_bits函数
arith_encode_bits函数通过一次写入一个比特来对长度为nBits个比特的无符号整数x进行编码。
5.3.3.2.11.8.3.2保存和恢复编码器状态函数
使用函数iisIGFSCFEncoderSaveContextState来实现编码器状态的保存,该函数将t和prev向量分别复制到tSave和prevSave向量中。使用互补函数iisIGFSCFEncoderRestoreContextState来恢复编码器状态,该函数将tSave和prevSave向量分别复制回t和prev向量中。
5.3.3.2.11.8.4 IGF算术编码
请注意,算术编码器应该能够仅对比特进行计数,例如,执行算术编码而不将比特写入比特流。如果通过使用被设置为false的参数doRealEncoding用计数请求来调用算术编码器,则算术编码器的内部状态应该在调用顶层函数iisIGFSCFEncoderEncode之前被保存,并且在调用之后由调用者进行恢复。在这种特定情况下,由算术编码器内部生成的比特不被写入比特流。
arith_encode_residual函数使用累积频率表cumulativeFrequencyTable和表偏移tableOffset对整数值预测残差x进行编码。表偏移tableOffset用于在编码之前调整值x,以便最小化使用转义编码来编码极小或极大的值(这是效率稍微更低的)的总概率。使用累积频率表cumulativeFrequencyTable和字母大小SYMBOLS_IN_TABLE=27直接对位于MIN_ENC_SEPARATE=-12与MAX_ENC_SEPARATE=12之间(包括该值)的值进行编码。
对于上述SYMBOLS_IN_TABLE符号的字母,值0和SYMBOLS_IN_TABLE-1被保留作为转义码,以指示值太小或太大而不适合默认间隔。在这些情况下,值extra指示该值的位置在分布的末端之一中。如果值extra在范围{0,…,14}内,则使用4个比特对其进行编码,或者如果值extra在范围{15,…,15+62}内,则使用值为15的4个比特后跟额外的6个比特来对其进行编码,或者如果值extra大于或等于15+63,则使用值为15的4个比特后跟值为63的额外的6个比特后跟额外的7个比特来对其进行编码。这三种情况中的最后一种主要用于避免特意构造的人工信号可能在编码器中产生意外大的残差值条件的少见情况。
arith_encode_residual(x,cumulativeFrequencyTable,tableOffset)
函数encode_sef_vector对比例因子向量g进行编码,该比例因子向量g包含nB个整数值。构成编码器状态的值t和prev向量被用作该函数的附加参数。注意,顶层函数iisIGFSCFEncoderEncode在调用函数encode_sef_vector之前必须调用公共算术编码器初始化函数ari_start_encoding_14bits,并且之后还调用算术编码器最终化函数ari_done_encoding_14bits。
函数quant_ctx被用来通过将上下文值ctx限制到{-3,…,3}来量化该上下文值ctx,并且该函数被定义为:
在下面的表14中列出了在来自伪代码的注释中所指示的用于计算上下文值的符号名称的定义:
表14:符号名称的定义
前一帧(当可用时) 当前帧
a=prev[f] x=g[f](待编码的值)
c=prev[f-1] b=g[f-1](当可用时)
e=g[f-2](当可用时)
根据t的值并且还根据值在向量g中的位置f,在上述函数中存在五种情况:
-当t=0并且f=0时,通过将独立帧的第一比例因子划分成使用累积频率表cf_se00来编码的最高有效位和直接进行编码的两个最低有效位来对该第一比例因子进行编码。
-当t=0并且f=1时,使用累积频率表cf_se01来对独立帧的第二比例因子进行编码(作为预测残差)。
-当t=0并且f≥2时,使用由经量化的上下文值ctx确定的累积频率表cf_se02[CTX_OFFSET+ctx]对独立帧的第三比例因子及后续的比例因子进行编码(作为预测残差)。
-当t=1并且f=0时,使用累积频率表cf_se10对从属帧的第一比例因子进行编码(作为预测残差)。
-当t=1并且f≥1时,使用由量化的上下文值ctx_t和ctx_f确定的累积频率表cf_se11[CTX_OFFSET+ctx_t][CTX_OFFSET+ctx_fl对从属帧的第二比例因子及后续的比例因子进行编码(作为预测残差)。
请注意,预定义的累积频率表cf_se01、cf_se02以及表偏移cf_off_se01、cf_off_se02取决于当前操作点并隐式地取决于比特率,并且在编码器初始化期间针对每个给定的操作点从可用选项的集合中选择。在从属的TCX 10帧的情况下(当t=1时),累积频率表cf_se00对于所有操作点是公用的,并且累积频率表cf_se10和cf_se11以及对应的表偏移cf_off_se10和cf_off_se11也是公用的,但它们仅用于与大于或等于48kbps的比特率对应的操作点。
5.3.3.2.11.9 IGF比特流写入器
经算术编码的IGF比例因子、IGF白化等级和IGF时间平坦度指示符经由比特流被连续地传输给译码器侧。IGF比例因子的编码在子条款5.3.3.2.11.8.4中进行了描述。IGF白化等级按照子条款5.3.3.2.11.6.4中所呈现的被进行编码。最后,将表示为一个比特的IGF时间平坦度指示符标志写入比特流。
在TCX20帧(即(isTCX20=true))以及没有向比特流写入器发信号通知计数请求的情况下,比特流写入器的输出被直接馈送给比特流。在两个子帧在一个20ms的帧内被依赖性地编码的TCX10帧(isTCX10=true)的情况下,比特流写入器的针对每个子帧的输出被写入临时缓冲器,从而产生包含比特流写入器的针对各个子帧的输出的比特流。最后将该临时缓冲器的内容写入比特流。

Claims (26)

1.一种用于对具有下频带和上频带的音频信号进行编码的音频编码器,包括:
检测器(802),用于检测所述音频信号的所述上频带中的尖峰频谱区域;
整形器(804),用于使用所述下频带的整形信息来对所述下频带进行整形,并且用于使用所述下频带的整形信息的至少一部分来对所述上频带进行整形,其中,所述整形器(804)被配置为额外地衰减所述上频带中的检测到的尖峰频谱区域中的频谱值;以及
量化器和编码器级(806),用于对经整形的下频带和经整形的上频带进行量化,并且用于对来自经整形的下频带和经整形的上频带的经量化的频谱值进行熵编码。
2.根据权利要求1所述的音频编码器,还包括:
线性预测分析器(808),用于通过分析所述音频信号的时间帧中的音频样本的块来导出所述时间帧的线性预测系数,所述音频样本被频带限制到所述下频带,
其中,所述整形器(804)被配置为使用所述线性预测系数作为所述整形信息来对所述下频带进行整形,以及
其中,所述整形器(804)被配置为使用从被频带限制到所述下频带的音频样本的块中导出的所述线性预测系数的至少一部分来对所述音频信号的所述时间帧中的所述上频带进行整形。
3.根据权利要求1或2所述的音频编码器,其中,所述整形器(804)被配置为使用从所述音频信号的所述下频带中导出的线性预测系数来计算所述下频带的多个子频带的多个整形因子,
其中,所述整形器(804)被配置为使用针对所述下频带的子频带所计算的整形因子来在所述下频带中对对应子频带中的频谱系数进行加权,并且
所述整形器(804)被配置为使用针对所述下频带的子频带中的一个所计算的整形因子来对所述上频带中的频谱系数进行加权。
4.根据权利要求3所述的音频编码器,其中,所述整形器(804)被配置为使用针对所述下频带的最高子频带所计算的整形因子来对所述上频带的频谱系数进行加权,所述最高子频带具有所述下频带的子频带的所有中心频率中的最高中心频率。
5.根据前述权利要求中任一项所述的音频编码器,
其中,所述检测器(802)被配置为当一组条件中的至少一个为真时确定所述上频带中的尖峰频谱区域,所述一组条件至少包括以下项:
低频带振幅条件(1102)、尖峰距离条件(1104)以及尖峰振幅条件(1106)。
6.根据权利要求5所述的音频编码器,其中,所述检测器(802)被配置为针对所述低频带振幅条件确定:
所述下频带中的最大频谱振幅(1202);
所述上频带中的最大频谱振幅(1204),
其中,当用大于零的预定数字加权的、所述下频带中的最大频谱振幅大于所述上频带中的最大频谱振幅(1204)时,所述低频带振幅条件(1102)为真。
7.根据权利要求6所述的音频编码器,
其中,所述检测器(802)被配置为在应用由所述整形器(804)应用的整形操作之前检测所述下频带中的最大频谱振幅或所述上频带中的最大频谱振幅,或者其中,所述预定数字在4与30之间。
8.根据权利要求5至7中任一项所述的音频编码器,
其中,所述检测器(802)被配置为针对所述尖峰距离条件确定:
所述下频带中的第一最大频谱振幅(1206);
所述第一最大频谱振幅距边界频率的第一频谱距离,所述边界频率在所述下频带的中心频率(1302)与所述上频带的中心频率(1304)之间;
所述上频带中的第二最大频谱振幅(1306);
从所述边界频率到所述第二最大频谱振幅的、所述第二最大频谱振幅的第二频谱距离(1308),
其中,当用所述第一频谱距离加权并且用大于1的预定数字加权的所述第一最大频谱振幅大于用所述第二频谱距离加权的所述第二最大频谱振幅时,所述尖峰距离条件(1104)为真(1310)。
9.根据权利要求8所述的音频编码器,
其中,所述检测器(802)被配置为在所述整形器(804)的整形操作之后在不进行额外衰减的情况下确定所述第一最大频谱振幅或所述第二最大频谱振幅,或者
其中,所述边界频率是所述下频带中的最高频率或者是所述上频带中的最低频率,或者
其中,所述预定数字在1.5与8之间。
10.根据权利要求5至9中任一项所述的音频编码器,
其中,所述检测器(802)被配置为确定所述下频带的一部分中的第一最大频谱振幅(1402),所述一部分从所述下频带的预定起始频率延伸直到所述下频带的最大频率,所述预定起始频率大于所述下频带的最小频率,并且
所述检测器(802)被配置为确定所述上频带中的第二最大频谱振幅(1404),
其中,当所述第二最大频谱振幅大于用大于或等于1的预定数字加权的所述第一最大频谱振幅时,所述尖峰振幅条件(1106)为真。
11.根据权利要求10所述的音频编码器,
其中,所述检测器(802)被配置为在由所述整形器(804)应用的整形操作之后在不进行所述额外衰减的情况下确定所述第一最大频谱振幅或所述第二最大频谱振幅,或者其中,所述预定起始频率比所述下频带的所述最小频率高至少所述下频带的10%,或者其中,所述预定起始频率位于等于所述下频带的最大频率的一半的频率处,所述预定起始频率的容差为所述最大频率的一半的正/负百分之10,或者
其中,所述预定数字取决于要由所述量化器/编码器级提供的比特率,以使得对于较高的比特率,所述预定数字较高,或者
其中,所述预定数字在1.0与5.0之间。
12.根据权利要求6至11中任一项所述的音频编码器,
其中,所述检测器(802)被配置为仅在所述三个条件中的至少两个条件为真或所述三个条件为真时确定所述尖峰频谱区域。
13.根据权利要求6至12中任一项所述的音频编码器,
其中,所述检测器(802)被配置为将实频谱的频谱值的绝对值、复频谱的模、实频谱的频谱值的任何幂或复频谱的模的任何幂确定为所述频谱振幅,所述幂大于1。
14.根据前述权利要求中任一项所述的音频编码器,
其中,所述整形器(804)被配置为基于所述上频带中的最大频谱振幅或基于所述下频带中的最大频谱振幅来衰减检测到的尖峰频谱区域中的至少一个频谱值。
15.根据权利要求14所述的音频编码器,
其中,所述整形器(804)被配置为确定所述下频带的一部分中的最大频谱振幅,所述一部分从所述下频带的预定起始频率延伸直到所述下频带的最大频率,所述预定起始频率大于所述下频带的最小频率,其中,所述预定起始频率优选地比所述下频带的最小频率高至少所述下频带的10%,或者其中,所述预定起始频率优选地位于等于所述下频带的最大频率的一半的频率处,所述预定起始频率的容差为所述最大频率的一半的正/负百分之10。
16.根据权利要求14或15所述的音频编码器,
其中,所述整形器(804)被配置为使用衰减因子来额外地衰减所述频谱值,所述衰减因子根据所述下频带中的最大频谱振幅(1602)乘以(1606)大于或等于1的预定数字并且除以所述上频带中的最大频谱振幅(1604)来导出。
17.根据前述权利要求中任一项所述的音频编码器,
其中,所述整形器(804)被配置为基于以下项来对检测到的尖峰频谱区域中的频谱值进行整形:
使用所述下频带的整形信息的所述至少一部分的第一加权操作(1702、804a),以及使用衰减信息的第二后续加权操作(1704、804b);或者
使用所述衰减信息的第一加权操作,以及使用所述下频带的整形信息的所述至少一部分的第二后续加权信息,或者
使用从所述衰减信息以及从所述下频带的整形信息的所述至少一部分导出的组合加权信息的单个加权操作。
18.根据权利要求17所述的音频编码器,
其中,所述下频带的加权信息是整形因子的集合,每个整形因子与所述下频带的一个子频带相关联,
其中,在所述较高频带的整形操作中所使用的所述下频带的加权信息的所述至少一部分是与所述下频带的特定子频带相关联的整形因子,所述特定子频带具有所述下频带中的所有子频带的最高中心频率,或者,
其中,所述衰减信息是应用于以下项的衰减因子:检测到的频谱区域中的至少一个频谱值,或检测到的频谱区域中的所有频谱值,或已由所述检测器(802)针对所述音频信号的时间帧检测到所述尖峰频谱区域的所述上频带中的所有频谱值,或者
其中,所述整形器(804)被配置为:当所述检测器(802)并未检测到所述音频信号的时间帧的所述上频带中的任何尖峰频谱区域时,执行对所述下频带和所述上频带的整形而不进行任何额外衰减。
19.根据前述权利要求中任一项所述的音频编码器,
其中,所述量化器和编码器级(806)包括速率循环处理器,所述速率循环处理器用于估计量化器特性以便获得经熵编码的音频信号的预定比特率。
20.根据权利要求19所述的音频编码器,其中,所述量化器特性是全局增益,
其中,所述量化器和编码器级(806)包括:
加权器(1502),用于用同一全局增益对所述下频带中的经整形的频谱值和所述上频带中的经整形的频谱值进行加权,
量化器(1504),用于量化用所述全局增益加权的值;以及
熵编码器(1506),用于对经量化的值进行熵编码,其中,所述熵编码器包括算术编码器或霍夫曼编码器。
21.根据前述权利要求中任一项所述的音频编码器,还包括:
音调屏蔽处理器(1012),用于在所述上频带中确定要量化和熵编码的第一组频谱值,以及要由间隙填充过程参数化地编码的第二组频谱值,其中,所述音调屏蔽处理器被配置为将所述第二组频谱值设置为零值。
22.根据前述权利要求中任一项所述的音频编码器,还包括:
公共处理器(1002);
频域编码器(1012、802、804、806);以及
线性预测编码器(1008),
其中,所述频域编码器包括所述检测器(802)、所述整形器(804)以及所述量化器和编码器级(806),以及
其中,所述公共处理器被配置为计算要由所述频域编码器和所述线性预测编码器使用的数据。
23.根据权利要求22所述的音频编码器,
其中,所述公共处理器被配置为针对所述音频信号的时间帧,对所述音频信号进行重新采样(1006),以获得经重新采样的音频信号,所述经重新采样的音频信号被频带限制到所述下频带,以及
其中,所述公共处理器(1002)包括线性预测分析器(808),所述线性预测分析器用于通过分析所述音频信号的时间帧中的音频样本的块来导出所述时间帧的线性预测系数,所述音频样本被频带限制到所述下频带,或者
其中,所述公共处理器(1002)被配置为控制所述音频信号的时间帧由所述线性预测编码器的输出或由所述频域编码器的输出来表示。
24.根据权利要求22或23所述的音频编码器,
其中,所述频域编码器包括时间频率转换器(1012),所述时间频率转换器用于将所述音频信号的时间帧转换成包括所述下频带和所述上频带在内的频率表示。
25.一种用于对具有下频带和上频带的音频信号进行编码的方法,包括:
检测(802)所述音频信号的所述上频带中的尖峰频谱区域;
使用所述下频带的整形信息来对所述音频信号的所述下频带进行整形(804),并且使用所述下频带的整形信息的至少一部分来对所述音频信号的所述上频带进行整形(1702),其中,对所述上频带的整形包括对所述上频带中的检测到的尖峰频谱区域中的频谱值进行额外衰减(1704)。
26.一种计算机程序,用于当在计算机或处理器上运行时执行根据权利要求25所述的方法。
CN201780035964.1A 2016-04-12 2017-04-06 用于对音频信号进行编码的音频编码器以及方法 Active CN109313908B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202311134080.5A CN117316168A (zh) 2016-04-12 2017-04-06 用于对音频信号进行编码的音频编码器以及方法
CN202311132113.2A CN117253496A (zh) 2016-04-12 2017-04-06 用于对音频信号进行编码的音频编码器以及方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP16164951.2 2016-04-12
EP16164951 2016-04-12
PCT/EP2017/058238 WO2017178329A1 (en) 2016-04-12 2017-04-06 Audio encoder for encoding an audio signal, method for encoding an audio signal and computer program under consideration of a detected peak spectral region in an upper frequency band

Related Child Applications (2)

Application Number Title Priority Date Filing Date
CN202311134080.5A Division CN117316168A (zh) 2016-04-12 2017-04-06 用于对音频信号进行编码的音频编码器以及方法
CN202311132113.2A Division CN117253496A (zh) 2016-04-12 2017-04-06 用于对音频信号进行编码的音频编码器以及方法

Publications (2)

Publication Number Publication Date
CN109313908A true CN109313908A (zh) 2019-02-05
CN109313908B CN109313908B (zh) 2023-09-22

Family

ID=55745677

Family Applications (3)

Application Number Title Priority Date Filing Date
CN202311132113.2A Pending CN117253496A (zh) 2016-04-12 2017-04-06 用于对音频信号进行编码的音频编码器以及方法
CN201780035964.1A Active CN109313908B (zh) 2016-04-12 2017-04-06 用于对音频信号进行编码的音频编码器以及方法
CN202311134080.5A Pending CN117316168A (zh) 2016-04-12 2017-04-06 用于对音频信号进行编码的音频编码器以及方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202311132113.2A Pending CN117253496A (zh) 2016-04-12 2017-04-06 用于对音频信号进行编码的音频编码器以及方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202311134080.5A Pending CN117316168A (zh) 2016-04-12 2017-04-06 用于对音频信号进行编码的音频编码器以及方法

Country Status (20)

Country Link
US (3) US10825461B2 (zh)
EP (3) EP4134953A1 (zh)
JP (3) JP6734394B2 (zh)
KR (1) KR102299193B1 (zh)
CN (3) CN117253496A (zh)
AR (1) AR108124A1 (zh)
AU (1) AU2017249291B2 (zh)
BR (1) BR112018070839A2 (zh)
CA (1) CA3019506C (zh)
ES (2) ES2933287T3 (zh)
FI (1) FI3696813T3 (zh)
MX (1) MX2018012490A (zh)
MY (1) MY190424A (zh)
PL (2) PL3696813T3 (zh)
PT (2) PT3696813T (zh)
RU (1) RU2719008C1 (zh)
SG (1) SG11201808684TA (zh)
TW (1) TWI642053B (zh)
WO (1) WO2017178329A1 (zh)
ZA (1) ZA201806672B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111613241A (zh) * 2020-05-22 2020-09-01 厦门理工学院 一种高精度高稳定度的弦乐器基波频率检测方法
CN112397043A (zh) * 2020-11-03 2021-02-23 北京中科深智科技有限公司 一种语音转化成歌曲的方法和系统
CN113539281A (zh) * 2020-04-21 2021-10-22 华为技术有限公司 音频信号编码方法和装置

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3671741A1 (en) * 2018-12-21 2020-06-24 FRAUNHOFER-GESELLSCHAFT zur Förderung der angewandten Forschung e.V. Audio processor and method for generating a frequency-enhanced audio signal using pulse processing
JP7088403B2 (ja) * 2019-02-20 2022-06-21 ヤマハ株式会社 音信号生成方法、生成モデルの訓練方法、音信号生成システムおよびプログラム
CN110047519B (zh) * 2019-04-16 2021-08-24 广州大学 一种语音端点检测方法、装置及设备
WO2020253941A1 (en) * 2019-06-17 2020-12-24 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio encoder with a signal-dependent number and precision control, audio decoder, and related methods and computer programs
CN113192523A (zh) * 2020-01-13 2021-07-30 华为技术有限公司 一种音频编解码方法和音频编解码设备
CN112951251B (zh) * 2021-05-13 2021-08-06 北京百瑞互联技术有限公司 一种lc3音频混合方法、装置及存储介质

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4672670A (en) * 1983-07-26 1987-06-09 Advanced Micro Devices, Inc. Apparatus and methods for coding, decoding, analyzing and synthesizing a signal
JP2001143384A (ja) * 1999-11-17 2001-05-25 Sharp Corp ディジタル信号処理装置およびディジタル信号処理方法
CN1408109A (zh) * 1999-01-27 2003-04-02 编码技术瑞典股份公司 利用自适应噪声本底相加和噪声替换限制,增强sbr和有关hfr编码方法的感知性能
CN101185120A (zh) * 2005-04-01 2008-05-21 高通股份有限公司 用于高频带突发抑制的系统、方法和设备
WO2010040522A2 (en) * 2008-10-08 2010-04-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e. V. Multi-resolution switched audio encoding/decoding scheme
WO2012017621A1 (en) * 2010-08-03 2012-02-09 Sony Corporation Signal processing apparatus and method, and program
WO2013147668A1 (en) * 2012-03-29 2013-10-03 Telefonaktiebolaget Lm Ericsson (Publ) Bandwidth extension of harmonic audio signal
WO2016001067A1 (en) * 2014-07-01 2016-01-07 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Calculator and method for determining phase correction data for an audio signal
EP2980794A1 (en) * 2014-07-28 2016-02-03 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio encoder and decoder using a frequency domain processor and a time domain processor

Family Cites Families (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3125543B2 (ja) * 1993-11-29 2001-01-22 ソニー株式会社 信号符号化方法及び装置、信号復号化方法及び装置、並びに記録媒体
DE19804581C2 (de) * 1998-02-05 2000-08-17 Siemens Ag Verfahren und Funk-Kommunikationssystem zur Übertragung von Sprachinformation
US6415253B1 (en) * 1998-02-20 2002-07-02 Meta-C Corporation Method and apparatus for enhancing noise-corrupted speech
US6975254B1 (en) * 1998-12-28 2005-12-13 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Methods and devices for coding or decoding an audio signal or bit stream
GB9917985D0 (en) * 1999-07-30 1999-09-29 Scient Generics Ltd Acoustic communication system
US7330814B2 (en) * 2000-05-22 2008-02-12 Texas Instruments Incorporated Wideband speech coding with modulated noise highband excitation system and method
US6587816B1 (en) * 2000-07-14 2003-07-01 International Business Machines Corporation Fast frequency-domain pitch estimation
AU2211102A (en) * 2000-11-30 2002-06-11 Scient Generics Ltd Acoustic communication system
US20020128839A1 (en) * 2001-01-12 2002-09-12 Ulf Lindgren Speech bandwidth extension
CA2388352A1 (en) 2002-05-31 2003-11-30 Voiceage Corporation A method and device for frequency-selective pitch enhancement of synthesized speed
US7555434B2 (en) 2002-07-19 2009-06-30 Nec Corporation Audio decoding device, decoding method, and program
US7650277B2 (en) * 2003-01-23 2010-01-19 Ittiam Systems (P) Ltd. System, method, and apparatus for fast quantization in perceptual audio coders
US7272551B2 (en) * 2003-02-24 2007-09-18 International Business Machines Corporation Computational effectiveness enhancement of frequency domain pitch estimators
WO2004090870A1 (ja) * 2003-04-04 2004-10-21 Kabushiki Kaisha Toshiba 広帯域音声を符号化または復号化するための方法及び装置
US20050004793A1 (en) * 2003-07-03 2005-01-06 Pasi Ojala Signal adaptation for higher band coding in a codec utilizing band split coding
US7949057B2 (en) 2003-10-23 2011-05-24 Panasonic Corporation Spectrum coding apparatus, spectrum decoding apparatus, acoustic signal transmission apparatus, acoustic signal reception apparatus and methods thereof
US8150683B2 (en) * 2003-11-04 2012-04-03 Stmicroelectronics Asia Pacific Pte., Ltd. Apparatus, method, and computer program for comparing audio signals
US20080260048A1 (en) * 2004-02-16 2008-10-23 Koninklijke Philips Electronics, N.V. Transcoder and Method of Transcoding Therefore
KR100721537B1 (ko) * 2004-12-08 2007-05-23 한국전자통신연구원 광대역 음성 부호화기의 고대역 음성 부호화 장치 및 그방법
KR100956877B1 (ko) * 2005-04-01 2010-05-11 콸콤 인코포레이티드 스펙트럼 엔벨로프 표현의 벡터 양자화를 위한 방법 및장치
JP4671303B2 (ja) * 2005-09-02 2011-04-13 国立大学法人北陸先端科学技術大学院大学 マイクロホンアレイ用ポストフィルタ
US7991611B2 (en) * 2005-10-14 2011-08-02 Panasonic Corporation Speech encoding apparatus and speech encoding method that encode speech signals in a scalable manner, and speech decoding apparatus and speech decoding method that decode scalable encoded signals
US8032371B2 (en) * 2006-07-28 2011-10-04 Apple Inc. Determining scale factor values in encoding audio data with AAC
US8135047B2 (en) * 2006-07-31 2012-03-13 Qualcomm Incorporated Systems and methods for including an identifier with a packet associated with a speech signal
US9496850B2 (en) * 2006-08-04 2016-11-15 Creative Technology Ltd Alias-free subband processing
WO2008022181A2 (en) * 2006-08-15 2008-02-21 Broadcom Corporation Updating of decoder states after packet loss concealment
KR101565919B1 (ko) * 2006-11-17 2015-11-05 삼성전자주식회사 고주파수 신호 부호화 및 복호화 방법 및 장치
KR100848324B1 (ko) * 2006-12-08 2008-07-24 한국전자통신연구원 음성 부호화 장치 및 그 방법
JP5339919B2 (ja) * 2006-12-15 2013-11-13 パナソニック株式会社 符号化装置、復号装置およびこれらの方法
ES2403410T3 (es) * 2007-08-27 2013-05-17 Telefonaktiebolaget L M Ericsson (Publ) Frecuencia de transición adaptativa entre el rellenado con ruido y la extensión del ancho de banda
WO2009057488A1 (ja) * 2007-10-30 2009-05-07 Clarion Co., Ltd. 聴覚感度補正装置
KR101661374B1 (ko) * 2009-02-26 2016-09-29 파나소닉 인텔렉츄얼 프로퍼티 코포레이션 오브 아메리카 부호화 장치, 복호 장치 및 이들 방법
JP4932917B2 (ja) * 2009-04-03 2012-05-16 株式会社エヌ・ティ・ティ・ドコモ 音声復号装置、音声復号方法、及び音声復号プログラム
US8751225B2 (en) * 2010-05-12 2014-06-10 Electronics And Telecommunications Research Institute Apparatus and method for coding signal in a communication system
JP2012163919A (ja) * 2011-02-09 2012-08-30 Sony Corp 音声信号処理装置、および音声信号処理方法、並びにプログラム
US9293151B2 (en) * 2011-10-17 2016-03-22 Nuance Communications, Inc. Speech signal enhancement using visual information
KR20130047630A (ko) * 2011-10-28 2013-05-08 한국전자통신연구원 통신 시스템에서 신호 부호화 장치 및 방법
JP5915240B2 (ja) * 2012-02-20 2016-05-11 株式会社Jvcケンウッド 特殊信号検出装置、雑音信号抑制装置、特殊信号検出方法、雑音信号抑制方法
US9711156B2 (en) * 2013-02-08 2017-07-18 Qualcomm Incorporated Systems and methods of performing filtering for gain determination
US9741350B2 (en) * 2013-02-08 2017-08-22 Qualcomm Incorporated Systems and methods of performing gain control
JP6155766B2 (ja) * 2013-03-29 2017-07-05 凸版印刷株式会社 印刷再現色予測方法
US9830921B2 (en) * 2015-08-17 2017-11-28 Qualcomm Incorporated High-band target signal control

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4672670A (en) * 1983-07-26 1987-06-09 Advanced Micro Devices, Inc. Apparatus and methods for coding, decoding, analyzing and synthesizing a signal
CN1408109A (zh) * 1999-01-27 2003-04-02 编码技术瑞典股份公司 利用自适应噪声本底相加和噪声替换限制,增强sbr和有关hfr编码方法的感知性能
JP2001143384A (ja) * 1999-11-17 2001-05-25 Sharp Corp ディジタル信号処理装置およびディジタル信号処理方法
CN101185120A (zh) * 2005-04-01 2008-05-21 高通股份有限公司 用于高频带突发抑制的系统、方法和设备
WO2010040522A2 (en) * 2008-10-08 2010-04-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e. V. Multi-resolution switched audio encoding/decoding scheme
WO2012017621A1 (en) * 2010-08-03 2012-02-09 Sony Corporation Signal processing apparatus and method, and program
WO2013147668A1 (en) * 2012-03-29 2013-10-03 Telefonaktiebolaget Lm Ericsson (Publ) Bandwidth extension of harmonic audio signal
WO2016001067A1 (en) * 2014-07-01 2016-01-07 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Calculator and method for determining phase correction data for an audio signal
EP2980794A1 (en) * 2014-07-28 2016-02-03 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio encoder and decoder using a frequency domain processor and a time domain processor
CN107077858A (zh) * 2014-07-28 2017-08-18 弗劳恩霍夫应用研究促进协会 使用具有全带隙填充的频域处理器以及时域处理器的音频编码器和解码器

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
杨杰: "基于感知的语音编解码系统研究", 《中国博士学位论文全文数据库(信息科技辑)》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113539281A (zh) * 2020-04-21 2021-10-22 华为技术有限公司 音频信号编码方法和装置
CN111613241A (zh) * 2020-05-22 2020-09-01 厦门理工学院 一种高精度高稳定度的弦乐器基波频率检测方法
CN111613241B (zh) * 2020-05-22 2023-03-24 厦门理工学院 一种高精度高稳定度的弦乐器基波频率检测方法
CN112397043A (zh) * 2020-11-03 2021-02-23 北京中科深智科技有限公司 一种语音转化成歌曲的方法和系统

Also Published As

Publication number Publication date
JP2022009710A (ja) 2022-01-14
JP2020181203A (ja) 2020-11-05
SG11201808684TA (en) 2018-11-29
JP6970789B2 (ja) 2021-11-24
CN117316168A (zh) 2023-12-29
EP3696813B1 (en) 2022-10-26
US20190156843A1 (en) 2019-05-23
CN117253496A (zh) 2023-12-19
JP6734394B2 (ja) 2020-08-05
PT3696813T (pt) 2022-12-23
PL3443557T3 (pl) 2020-11-16
BR112018070839A2 (pt) 2019-02-05
EP3443557B1 (en) 2020-05-20
JP2019514065A (ja) 2019-05-30
ES2808997T3 (es) 2021-03-02
CA3019506C (en) 2021-01-19
KR20180134379A (ko) 2018-12-18
US10825461B2 (en) 2020-11-03
ZA201806672B (en) 2019-07-31
PT3443557T (pt) 2020-08-27
EP4134953A1 (en) 2023-02-15
AU2017249291A1 (en) 2018-10-25
US11682409B2 (en) 2023-06-20
MX2018012490A (es) 2019-02-21
AR108124A1 (es) 2018-07-18
US12014747B2 (en) 2024-06-18
US20210005210A1 (en) 2021-01-07
PL3696813T3 (pl) 2023-03-06
EP3696813A1 (en) 2020-08-19
FI3696813T3 (fi) 2023-01-31
CA3019506A1 (en) 2017-10-19
JP7203179B2 (ja) 2023-01-12
ES2933287T3 (es) 2023-02-03
TWI642053B (zh) 2018-11-21
MY190424A (en) 2022-04-21
KR102299193B1 (ko) 2021-09-06
AU2017249291B2 (en) 2020-02-27
EP3443557A1 (en) 2019-02-20
WO2017178329A1 (en) 2017-10-19
TW201802797A (zh) 2018-01-16
CN109313908B (zh) 2023-09-22
US20230290365A1 (en) 2023-09-14
RU2719008C1 (ru) 2020-04-16

Similar Documents

Publication Publication Date Title
CN109313908A (zh) 用于对音频信号进行编码的音频编码器、用于对音频信号进行编码的方法以及考虑上频带中的检测到的尖峰频谱区域的计算机程序
US7562021B2 (en) Modification of codewords in dictionary used for efficient coding of digital media spectral data
US7630882B2 (en) Frequency segmentation to obtain bands for efficient coding of digital media
JP6779966B2 (ja) 先進量子化器
CN107077855B (zh) 信号编码方法和装置以及信号解码方法和装置

Legal Events

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