CN111149160B - 在celp编解码器中在子帧之间分派比特预算的方法和设备 - Google Patents
在celp编解码器中在子帧之间分派比特预算的方法和设备 Download PDFInfo
- Publication number
- CN111149160B CN111149160B CN201880061436.8A CN201880061436A CN111149160B CN 111149160 B CN111149160 B CN 111149160B CN 201880061436 A CN201880061436 A CN 201880061436A CN 111149160 B CN111149160 B CN 111149160B
- Authority
- CN
- China
- Prior art keywords
- bit budget
- core module
- bit
- celp core
- celp
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 74
- 230000005236 sound signal Effects 0.000 claims abstract description 62
- 230000011664 signaling Effects 0.000 claims description 29
- 230000003044 adaptive effect Effects 0.000 claims description 24
- 230000005284 excitation Effects 0.000 description 16
- 238000004891 communication Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 8
- 238000012545 processing Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000012937 correction Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000013139 quantization Methods 0.000 description 3
- 238000003786 synthesis reaction Methods 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 101001121408 Homo sapiens L-amino-acid oxidase Proteins 0.000 description 1
- 102100026388 L-amino-acid oxidase Human genes 0.000 description 1
- 101100012902 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) FIG2 gene Proteins 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 239000000872 buffer Substances 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000007493 shaping process Methods 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/04—Speech 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/16—Vocoder architecture
- G10L19/18—Vocoders using multiple modes
- G10L19/24—Variable rate codecs, e.g. for generating different qualities using a scalable representation such as hierarchical encoding or layered encoding
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/04—Speech 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/08—Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
- G10L19/12—Determination 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
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/002—Dynamic bit allocation
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/02—Speech 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/032—Quantisation or dequantisation of spectral components
- G10L19/038—Vector quantisation, e.g. TwinVQ audio
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Signal Processing (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Computational Linguistics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Quality & Reliability (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Communication Control (AREA)
Abstract
一种将比特预算分派给(a)用于编码声音信号的编码器或(b)用于解码声音信号的解码器的CELP核心模块的多个第一部分和第二部分的方法和设备。在包括子帧的声音信号的帧中,向第一CELP核心模块部分分派相应比特预算,以及向第二CELP核心模块部分分派在向第一CELP核心模块部分分派它们的相应比特预算之后剩余的比特预算。根据可选方案,在帧的子帧之间分配第二CELP核心模块部分比特预算,并且向帧的至少一个子帧分派更大的比特预算。该至少一个子帧可以是帧的第一个子帧、第一个子帧之后的至少一个子帧、或者使用声门脉冲形状码本的子帧。
Description
技术领域
本公开涉及从传输或存储以及合成声音信号(例如语音或音频信号)的角度对该声音信号进行数字编码的技术。编码器使用比特预算将声音信号转换成数字比特流。解码器或合成器然后对传输或存储的比特流进行操作,并将其转换回声音信号。编码器和解码器/合成器通常被称为编解码器。
更具体地,但不排他地,本公开涉及用于在编解码器中高效分配比特预算的方法和设备。
背景技术
以低比特率编码声音的最佳技术之一是码激励线性预测(Code-Excited LinearPrediction,CELP)编码。在CELP编码中,声音信号被采样,并且采样的声音信号在通常称为帧的L个样本的连续块中被处理,其中L是预定数目,典型地对应于20ms。CELP背后的主要原理被称为“合成分析(Analysis-by-Synthesis)”,其中可能的解码器输出在编码过程中被合成,然后与原始声音信号进行比较。这种搜索使输入声音信号和合成声音信号在感知加权域中的均方误差最小化。
在基于CELP的编码中,声音信号典型地通过全极点数字滤波器1/A(z)对激励进行滤波来合成,该滤波器通常被称为合成滤波器。滤波器A(z)通过线性预测(LinearPrediction,LP)来估计,并表示声音信号样本之间的短期相关性。LP滤波器系数通常每帧计算一次。在CELP编解码器中,帧被进一步分成几个(通常是两(2)到五(5)个)子帧来编码激励,该激励典型地由顺序搜索的两个部分组成。然后它们各自的增益可以被联合量化。在下面的描述中,子帧的数量被表示为N,并且特定子帧的索引被表示为n,其中n=0,…,N-1。
激励的第一部分通常从自适应码本中选择。自适应码本激励部分通过在过去的激励中搜索与当前正在被编码的段最相似的段来利用有声语音信号的准周期性(或长期相关性)。自适应码本激励部分由自适应码本索引(即,对应于基音周期的延迟参数)和适当的自适应码本增益来描述,二者都被发送到解码器或被存储以重构与编码器中相同的激励。
激励的第二部分通常是从创新码本(innovation codebook)中选择的创新信号。创新信号对先前语音段和当前编码段之间的演变(差异)进行建模。激励的第二部分由从创新码本中选择的码矢量的索引和创新码本增益(这也被称为固定码本索引和固定码本增益)来描述。
为了提高编码效率,最近的编解码器(诸如,例如参考文献[1]中描述的G.718和参考文献[2]中描述的EVS)基于输入声音信号的分类。基于信号特性,基本CELP编码被扩展成几种不同的编码模式。因此,分类需要被传输到解码器或作为信令信息存储。另一种通常高效传输的信令信息是,例如,音频带宽信息。
因此,在CELP编解码器中,所谓的CELP“核心模块”部分可以包括:
-LP滤波器系数;
-自适应码本;
-创新(固定)码本;和
-自适应和创新码本增益。
大多数最新的CELP编解码器基于恒定比特率(Constant Bit Rate,CBR)原则。在CBR编解码器中,编码给定的帧的比特预算在编码期间是恒定的,而与声音信号内容或网络特性无关。为了在给定的恒定比特率下获得尽可能好的质量,比特预算被小心地分配在不同的编码部分当中。实际上,给定的比特率下每编码部分的比特预算通常是固定的,并存储在编解码器ROM表中。然而,当编解码器支持的比特率的数量增加时,ROM表的长度成比例地增加,并且在这些表中的搜索变得不太高效。
在分派给CELP核心模块的比特预算甚至在编解码器恒定比特率下也可能波动的复杂编解码器中,大的ROM表的问题甚至更加显著。例如,在基于例如输入音频通道的数量、网络反馈、音频带宽、输入信号特性等,来在不同的模块之间分派恒定比特率下的比特预算的复杂的多模块编解码器中,编解码器总比特预算在CELP核心模块和其他不同的模块之间分配。这种其他不同的模块的示例可以包括但不限于带宽扩展(Bandwidth Extension,BWE)、立体声模块、帧错误隐藏(Frame Error Concealment,FEC)模块等,它们在本说明书中统称为“辅助编解码器模块”。基于信号特性或网络反馈,保持每辅助模块分派的比特预算可变通常是有利的。此外,辅助编解码器模块可以自适应地打开和关闭。这种可变性通常不会给编码辅助模块带来问题,因为这些模块中的参数数量通常很少。然而,分派给辅助编解码器模块的波动的比特预算导致分派给相对复杂的CELP核心模块的波动的比特预算。
实际上,以给定的比特率分派给CELP核心模块的比特预算通常是通过将编解码器总比特预算减少分派给所有活动的辅助编解码器模块的比特预算(其可以包括编解码器信令比特预算)来获得的。因此,分派给CELP核心模块的比特预算可以在相对大的最小和最大比特率范围之间波动,其粒度小到1比特(即,在20ms的帧长度下为0.05kbps)。
将ROM表条目专用于所有可能的CELP核心模块比特率显然是低效的。因此,需要基于有限数量的中间比特率,以精细比特率粒度在不同的模块之间更高效和灵活地分配比特预算。
发明内容
根据第一方面,本公开涉及一种将比特预算分派给(a)编码声音信号的编码器或(b)解码声音信号的解码器的CELP核心模块的多个第一部分和第二部分的方法,该方法包括:在包括子帧的声音信号的帧中:向第一CELP核心模块部分分派相应比特预算;以及向第二CELP核心模块部分分派在向第一CELP核心模块部分分派相应比特预算之后剩余的比特预算。分派第二CELP核心模块部分比特预算包括在帧的子帧之间分配第二CELP核心模块部分比特预算,以及向帧的至少一个子帧分派更大的比特预算。
根据第二方面,提供了一种用于将比特预算分派给(a)编码声音信号的编码器或(b)解码声音信号的解码器的CELP核心模块的多个第一部分和第二部分的设备,对于包括子帧的声音信号的帧,该设备包括:第一分派器,将相应比特预算分派给第一CELP核心模块部分;以及第二分派器,向第二CELP核心模块部分分派在向第一CELP核心模块部分分派相应比特预算之后剩余的比特预算。第二分派器在帧的子帧之间分配第二CELP核心模块部分比特预算,以及向帧的至少一个子帧分派更大的比特预算。
根据第三方面,提供了一种将比特预算分派给编码声音信号的编码器的CELP核心模块的多个第一部分和第二部分的方法,该方法包括:存储比特预算分派表,该比特预算分派表为多个中间比特率中的每一个,指派相应比特预算给第一CELP核心模块部分;确定CELP核心模块比特率;基于所确定的CELP核心模块比特率选择中间比特率中的一个;向第一CELP核心模块部分分派由比特预算分派表为选择的中间比特率指派的相应比特预算;以及向第二CELP核心模块部分分派在向第一CELP核心模块部分分派由比特预算分派表为选择的中间比特率指派的相应比特预算之后剩余的比特预算。CELP核心模块在声音信号的帧的一个子帧中使用声门脉冲形状码本,并且分派第二CELP核心模块部分比特预算包括在帧的子帧之间分配第二CELP核心模块部分比特预算,以及将最高比特预算分派给包括声门脉冲形状码本的子帧。
另一方面涉及一种用于将比特预算分派给(a)编码声音信号的编码器或(b)解码声音信号的解码器的CELP核心模块的多个第一部分和第二部分的设备,该设备包括:比特预算分派表,为多个中间比特率中的每一个指派相应比特预算给第一CELP核心模块部分;CELP核心模块比特率的计算器;基于所确定的CELP核心模块比特率选择中间比特率中的一个的选择器;向第一CELP核心模块部分分派由比特预算分派表为选择的中间比特率指派的相应比特预算的第一分派器;以及向第二CELP核心模块部分分派在向第一CELP核心模块部分分派由比特预算分派表为选择的中间比特率指派的相应比特预算之后剩余的比特预算的第二分派器。CELP核心模块在声音信号的帧的一个子帧中使用声门脉冲形状码本,并且第二分派器在帧的子帧之间分配第二CELP核心模块部分比特预算,并且将最高比特预算分派给包括声门脉冲形状码本的子帧。
比特预算分派方法和设备的前述和其他目的、优点和特征将在阅读以下对其的说明性实施例的非限制性描述后变得更加明显,这些描述仅通过参考附图的示例给出。
附图说明
在附图中:
图1是立体声处理和通信系统的示意框图,描述了如以下描述中所公开的比特预算分派方法和设备的可能实施环境;
图2是同时示出本公开的比特预算分派方法和设备的框图;和
图3是形成本公开的比特预算分派方法和设备的硬件组件的示例配置的简化框图。
具体实施方式
图1是立体声处理和通信系统100的示意框图,描述了如以下描述中所公开的比特预算分派方法和设备的可能实施环境。应当注意,所提出的比特预算分派方法和设备不限于立体声,而是也可以用于多通道编码或单声道编码。
图1的立体声处理和通信系统100支持通过通信链路101传输立体声信号。通信链路101可以包括例如电线或光纤链路。可替代地,通信链路101可以至少部分包括射频链路。射频链路通常支持多个需要共享带宽资源的同时通信,诸如可以在蜂窝电话中发现的。虽然未示出,但是通信链路101可以由处理和通信系统100的单个设备实施中的存储设备代替,该存储设备记录并存储编码的立体声信号以供以后回放。
仍然参考图1,例如,一对麦克风102和122产生检测到的原始模拟立体声信号的左声道103和右声道123。如前面的描述中所指出的,声音信号可以特别地但不排他地包括语音和/或音频。
原始模拟声音信号的左声道103和右声道123被提供给模数(Analog-to-Digital,A/D)转换器104,用于将它们转换成原始数字立体声信号的左声道105和右声道125。原始数字立体声信号的左声道105和右声道125也可以被记录并从存储设备(未示出)供应。
立体声编码器106对数字立体声信号的左声道105和右声道125进行编码,从而产生编码参数集,这些编码参数在传送到可选的纠错编码器108的比特流107的形式下被多路复用。可选的纠错编码器108,当存在时,在通过通信链路101传输得到的比特流111之前,向比特流107中的编码参数的二进制表示添加冗余。
在接收机侧,可选的纠错解码器109利用接收的数字比特流111中的上述冗余信息来检测和纠正在通信链路101上传输期间可能发生的错误,产生具有接收的编码参数的比特流112。立体声解码器110转换在比特流112中的接收的编码参数,用于创建数字立体声信号的合成左声道113和右声道133。在立体声解码器110中重建的数字立体声信号的左声道113和右声道133在数模(Digital-to-Analog,D/A)转换器115中被转换成模拟立体声信号的合成左声道114和右声道134。
模拟立体声信号的合成左声道114和右声道134分别在一对扬声器单元116和136中回放(这对扬声器单元116和136显然可以由耳机代替)。可替代地,来自立体声解码器110的数字立体声信号的左声道113和右声道133也可以被供应并记录在存储设备(未示出)中。
作为非限制性示例,根据本公开的比特预算分派方法和设备可以在图1的声音编码器106和解码器110中实施。应当注意,图1可以被扩展以覆盖多通道和/或基于场景的音频和/或独立流编码和解码(例如环绕和高阶环境声)的情况。
图2是同时示出根据本公开的比特预算分派方法200和设备250的框图。
这里,应当注意,除非另有说明,否则比特预算分派方法200和设备250在逐帧的基础上操作,并且以下描述涉及正被编码的声音信号的连续帧中的一帧。
在图2中,考虑了CELP核心模块编码,其比特预算由于用于编码辅助编解码器模块的波动的比特数而在帧与帧之间波动。此外,比特预算在不同的CELP核心模块部分之间的分配在编码器106和解码器110处对称地完成,并且基于分派给CELP核心模块的编码的比特预算。
以下描述呈现了使用通用编码模式在基于EVS的编解码器中实施的非限制性示例。基于EVS的编解码器是基于EVS标准的编解码器,如参考文献[2]中所述,其中经过修改以允许其他CELP核心比特率或编解码器改进。本公开中的基于EVS的编解码器在使用诸如元数据、立体声或多通道编码的辅助编码模块的编码框架(这在下文中被称为扩展EVS编解码器)内使用。类似于本公开中描述的那些原理的原理可以应用于基于EVS的编解码器中的其他编码模式(例如,浊音编码、过渡编码、非活动编码等)。此外,类似的原理可以在不同于EVS并且使用不同于CELP的编码方案的任何其他编解码器中实施。
操作201
参考图2,对于声音信号的每个连续帧,总比特预算btotal被分派给编解码器。在CBR的情况下,该编解码器的总比特预算btotal是恒定的。还可以在可变比特率编解码器中使用比特预算分派方法200和设备250,其中编解码器总比特预算btotal可以在帧与帧之间变化(如在扩展EVS编解码器的情况下)。
操作202
在操作202中,计数器252确定(计数)用于编码辅助编解码器模块的比特数(比特预算)bsupplementar和用于向解码器传输编解码器信令的比特数(比特预算)bcodec_signaling(未示出)。
辅助编解码器模块可以包括立体声模块、帧擦除隐藏(Frame-ErasureConcealment,FEC)模块、带宽扩展(BandWidth Extension,BWE)模块、元数据编码模块等。在以下说明性实施例中,辅助模块包括立体声模块和BWE模块。当然,可以使用不同的或附加的辅助编解码器模块。
立体声模块
编解码器可以被设计成支持多于一个输入音频通道的编码。在两个音频通道的情况下,单声道(单通道)编解码器可以通过立体声模块扩展以形成立体声编解码器。立体声模块然后形成辅助编解码器模块中的一个。立体声编解码器可以使用几种不同的立体声编码技术来实施。作为非限制性示例,可以在低比特率下高效地使用的两种立体声编码技术的使用将在下文中讨论。显然,可以实施其他立体编码技术。
第一种立体声编码技术称为参数立体声。参数立体声使用通用单声道编解码器加上一定量的表示立体声图像的立体声边信息(对应于立体声参数)将两个音频通道编码为单声道信号。两个输入音频通道被下混合成单声道信号,然后立体声参数通常在变换域中计算,例如在离散傅立叶变换(Discrete Fourier Transform,DFT)域中,并且与所谓的双耳(binaural)或声道间提示(cue)相关。双耳提示(见参考文献[5])包括耳间强度差(Interaural Level Difference,ILD)、耳间时间差(Interaural Time Difference,ITD)和耳间相关度(Interaural Correlation,IC)。取决于信号特性、立体声场景配置等,一些或所有双耳提示被编码并传输到解码器。关于什么提示被编码的信息作为信令信息被发送,信令信息通常是立体声边信息的一部分。也可以使用不同的编码技术来量化特定的双耳提示,这引起使用可变数量的比特。然后,除了量化的双耳提示之外,立体声边信息通常可以以中等和更高的比特率包含由下混合产生的量化的残差信号。可以使用熵编码技术,例如算术编码器,对残留信号进行编码。因此,用于编码残差信号的比特数可能在帧与帧之间显著波动。
另一种立体声编码技术是在时域中操作的技术。这种立体声编码技术将两个输入音频通道混合成所谓的主通道和次通道。例如,遵循参考文献[6]中描述的方法,时域混合可以基于混合因子,该混合因子在产生主通道和次通道时确定两个输入音频通道的各自贡献。混合因子从几个度量中推导,例如输入通道相对于单声道信号的归一化相关性或者两个输入通道之间的长期相关性差。主通道可以由通用单声道编解码器编码,而次通道可以由更低比特率编解码器编码。次通道编码可以利用主要通道和次通道之间的一致性,并且可能重用来自主要通道的一些参数。因此,基于通道相似性和各个通道的编码模式,用于编码主通道和次通道的比特数可能在帧与帧之间显著波动。
立体声编码技术对于本领域普通技术人员来说是已知的,因此,在本说明书中将不再进一步描述。尽管立体声被描述为辅助编码模块的示例方式,但是所公开的方法可以用于3D音频编码框架,包括环境声(基于场景的音频)、多通道(基于通道的音频)或对象加元数据(基于对象的音频)。辅助模块也可以包括这些技术中的任何。
BWE模块
在大多数最新的语音编解码器(包括宽带(Wideband,WB)或超宽带(SuperWideband,SWB)编解码器)中,输入信号在采用频带-划分(frequency band-split)处理的同时以块(帧)进行处理。更低频带通常使用CELP模型进行编码,并且覆盖截止频率以下的频率。然后通过BWE技术高效地编码或单独估计更高的频带,以便覆盖编码频谱的其余部分。两个频带之间的截止频率是每个编解码器的设计参数。例如,在参考文献[2]中描述的EVS编解码器中,截止频率取决于编解码器的操作模式和比特率。特别是,更低的频带在7.2至13.2kbps的比特率处扩展至6.4kHz,或在16.4至64kbps的比特率处扩展至8kHz。然后,BWE进一步扩展WB(高达8kHz)、SWB(高达14.4或16kHz)或全频带(Full Band,FB,高达20kHz)编码的音频带宽。
BWE背后的想法是利用较低和较高频带之间的内在相关性,并利用与较低频率相比对较高频率中的编码失真的更高感知容限。因此,与较低频带CELP编码相比,用于较高频带BWE编码的比特数通常非常低,或者甚至为零。例如,在参考文献[2]中描述的EVS编解码器中,没有传输比特预算的BWE(所谓的盲BWE)以7.2-8.0kbps的比特率使用,而具有一些比特预算的BWE(所谓的引导BWE)以9.6-64kbps的比特率使用。引导BWE的准确比特预算取决于实际的编解码器比特率。
在下面的描述中,考虑了引导BWE,其形成了辅助编解码器模块中的一个。用于较高频带BWE编码的比特数会在帧与帧之间波动,并且比用于较低频带CELP编码的比特数低(典型地为1-3kbps)得多。
同样,BWE对于本领域普通技术人员来说是已知的,因此,在本说明书中将不再进一步描述。
编解码器信令
比特流通常在其开始处包含编解码器信令比特。这些比特(编解码器信令比特预算)通常代表非常高级的编解码器参数,例如编解码器配置或关于被编码的辅助编解码器模块的性质的信息。在多通道编解码器的情况下,这些比特可以表示例如编码的(传输)通道的数量和/或编解码器格式(基于场景或基于对象等)。在立体声编码的情况下,这些比特可以表示例如正在使用的立体声编码技术。可以使用编解码器信令比特发送的编解码器参数的另一个示例是音频信号带宽。
同样,编解码器信令对于本领域普通技术人员来说是已知的,因此在本说明书中将不再进一步描述。此外,计数器(未示出)可以用于计数用于编解码器信令的比特数(比特预算)。
操作204
参考回到图2,在操作204中,减法器254使用以下关系从编解码器总比特预算btotal中减去用于辅助编解码器模块的编码的比特预算bsupplementary和用于传输编解码器信令的比特预算bcodec_signaling,以获得CELP核心模块的比特预算bcore:
bcore=btotal-bsupplementary-bcodec_signaling (1)
如上所述,用于编码辅助编解码器模块的比特数bsupplementary和用于向解码器传输编解码器信令的比特预算bcodec_signaling在帧与帧之间波动,因此,CELP核心模块的比特预算bcore也在帧与帧之间波动。
操作205
在操作205中,计数器255计数用于向解码器传输CELP核心模块信令的比特数(比特预算)bsignaling。CELP核心模块信令可以包括例如音频带宽、CELP编码器类型、锐化标志等。
操作206
在操作206中,减法器256使用以下关系从CELP核心模块比特预算bcore中减去用于传输CELP核心模块信令的比特预算bsignaling,以找到用于编码CELP核心模块部分的比特预算b2:
b2=bcore-bsignaling (2)
操作207
在操作207中,中间比特率选择器257包括计算器,该计算器通过将比特数b2除以帧的持续时间来将比特预算b2转换成CELP核心模块比特率。选择器257基于CELP核心模块比特率找到中间比特率。
使用少量候选中间比特率。在基于EVS的编解码器内实施的示例中,以下十五(15)个比特率可以被认为是候选中间比特率:5.00kbps、6.15kbps、7.20kbps、8.00kbps、9.60kbps、11.60kbps、13.20kbps、14.80kbps、16.40kbps、19.40kbps、22.60kbps、24.40kbps、32.00kbps、48.00kbps和64.00kbps。当然,可以使用不同于十五(15)的候选中间比特率的数量,也可以使用具有不同的值的候选中间比特率。
在基于EVS的编解码器内实施的同一示例中,找到的中间比特率是最接近CELP核心模块比特率的更高候选中间比特率。例如,对于9.00kbps的CELP核心模块比特率,当使用上一段中列出的候选中间比特率时,找到的中间比特率将是9.60kbps。
在实施方式的另一个示例中,找到的中间比特率是最接近CELP核心模块比特率的更低候选中间比特率。使用相同的示例,对于9.00kbps的CELP核心模块比特率,当使用上一段中列出的候选中间比特率时,找到的中间比特率将是8.00kbps。
操作208
在操作208中,对于每个候选中间比特率,ROM表258存储用于编码CELP核心模块的第一部分的相应的预定比特预算。作为非限制性示例,其比特预算存储在ROM表258中的CELP核心模块第一部分可以包括LP滤波器系数、自适应码本、自适应码本增益和创新码本增益。在该实施方式中,在ROM表258中没有存储用于编码创新码本的比特预算。
换句话说,当选择器257选择候选中间比特率中的一个时,存储在ROM表258中的相关联的比特预算被分派给上述识别的CELP核心模块第一部分(LP滤波器系数、自适应码本、自适应码本增益和创新码本增益)的编码。然而,在所描述的实施方式中,在ROM表258中没有存储用于编码创新码本的比特预算。
下表1是为每个候选中间比特率存储用于编码LP滤波器系数的相应比特预算(比特数)bLPC的ROM表258的示例。右列标识候选中间比特率,而左列指示相应比特预算(比特数)bLPC。为简单起见,用于对LP滤波器系数进行编码的比特预算是每帧一个值,尽管当在当前帧中进行一个以上的LP分析时(例如中间帧和结束帧LP分析),它可以是几个比特预算值的总和。
表1(用伪代码表示)
下表2是为每个候选中间比特率存储用于编码自适应码本的相应比特预算(比特数)bACBn的ROM表258的示例。右列标识候选中间比特率,而左列指示相应比特预算(比特数)bACBn。当在每个子帧n中搜索自适应码本时,对于每个候选中间比特率,获得N个比特预算bACBn(每子帧一个),N表示一帧中的子帧的数量。应当注意,比特预算bACBn在不同的子帧中可以不同。具体地,表2是存储在使用上述定义的十五(15)个候选中间比特率的基于EVS的编解码器中的比特预算bACBn的ROM表258的示例。
表2(用伪代码表示)
应当注意,在使用基于EVS的编解码器的示例中,每中间比特率的四(4)个比特预算bACBn以较低比特率存储,其中20ms的帧由四(4)个子帧(N=4)组成,并且每中间比特率的五(5)个比特预算bACBn以较高比特率存储,其中20ms的帧由五(5)个子帧(N=5)组成。参考表2,对于对应于9.60kbps的中间比特率的9.00kbps的CELP核心模块比特率,各个子帧中的比特预算bACBn分别是9、6、9和6比特。
下表3是为每个候选中间比特率存储用于编码自适应码本增益和创新码本增益的相应比特预算(比特数)bGn的ROM表258的示例。在下面的示例中,自适应码本增益和创新码本增益使用矢量量化器被量化,并且因此仅被表示为一个量化索引。右列标识候选中间比特率,而左列指示相应比特预算(比特数)bGn。从表3可以看出,一帧的每子帧n有一个比特预算bGn。因此,为每个候选中间比特率存储了N个比特预算bGn,N代表一帧中的子帧的数量。应当注意,取决于增益量化器和所使用的量化表的大小,比特预算bGn在不同的子帧中可以不同。
表3(用伪代码表示)
以相同的方式,对于每个候选中间比特率,用于量化其他CELP核心模块第一部分(如果它们存在的话)的比特预算可以存储在ROM表258中。一个示例可以是自适应码本低通滤波的标志(每子帧一比特)。因此,对于每个候选中间比特率,与除了创新码本之外的所有CELP核心模块部分(第一部分)相关联的比特预算都可以存储在ROM表258中,同时某个比特预算b4仍然可用。
操作209
在操作209中,比特预算分派器259为编码上述CELP核心模块第一部分(LP滤波器系数、自适应码本、自适应和创新码本增益等)分派存储在ROM表258中并与选择器257选择的中间比特率相关联的比特预算。
操作210
在操作210中,减法器260从比特预算b2中减去(a)与选择器257选择的候选中间比特率相关联的用于编码LP滤波器系数的比特预算bLPC、(b)与选择的候选中间比特率相关联的N个子帧的比特预算bACBn的总和、(c)与选择的候选中间比特率相关联的用于量化N个子帧的自适应和创新码本增益的比特预算bGn的总和、和(d)与选择的中间比特率相关联的用于编码其他CELP核心模块第一部分(如果它们存在的话)的比特预算,以找到仍然可用于编码创新码本(第二CELP核心模块部分)的剩余的比特预算(比特数)b4。为此,减法器260可以使用以下关系:
操作211
在操作211中,FCB比特分派器261在当前帧的N个子帧之间分配用于编码创新码本(固定码本(Fixed CodeBook,FCB);第二CELP核心模块部分)的剩余的比特预算b4。具体地,比特预算b4被分成分派给各个子帧n的比特预算bFCBn。例如,这可以通过迭代过程来完成,该迭代过程在N个子帧之间尽可能平均地划分比特预算b4。
在其他非限制性实施方式中,FCB比特分派器261可以通过假设以下要求中的至少一个来设计:
I.在比特预算b4不能在所有子帧之间平均地分配的情况下,最高可能的(即更大的)比特预算被分派给第一个子帧。例如,如果b4=106比特,则每4个子帧的FCB比特预算被分派为28-26-26-26比特。
II.如果有更多的比特可用于潜在地增加其他子帧的FCB码本,则在第一个子帧(或第一个子帧之后的至少一个子帧)之后分派给至少一个下一子帧的FCB比特预算(比特数)增加。例如,如果b4=108比特,则每4个子帧的FCB比特预算被分派为28-28-26-26比特。在另一示例中,如果b4=110比特,则每4个子帧的FCB比特预算被分派为28-28-28-26比特。
III.比特预算b4不一定在所有子帧之间尽可能平均地分配,而是尽可能多地使用比特预算b4。作为示例,如果b4=87比特,则每4个子帧的FCB比特预算被分派为26-20-20-20比特,而不是例如在不考虑要求III时的24-20-20-20比特或20-20-24比特。在另一个示例中,如果b4=91比特,则每4个子帧的FCB比特预算被分派为26-24-20-20比特,而如果不考虑要求III,则例如将分派20-24-24-20比特。因此,在这两个示例中,当考虑要求三时,只有1比特保持未使用,否则3比特保持未使用。
要求III使得FCB比特分派器261能够从FCB配置表(例如本文下面的表4)中选择两个非连续的行。作为非限制性示例,考虑b4=87比特。对于要用于配置FCB搜索的所有子帧,FCB比特分派器261首先从表4中选择行6(这引起20-20-20-20的比特预算分派)。然后要求I改变分派,使得行6和行7(24-20-20-20比特)被使用,并且要求III通过使用来自FCB配置表(表4)中的行6和行8(26-20-20-20)来选择分派。
下面是作为FCB配置表的示例的表4(从EVS(参考文献[2])复制):
表4(用伪代码表示)
其中第一列对应于FCB码本比特数,第四列对应于每子帧的FCB脉冲数。应当注意,在上述b4=87比特的示例中,不存在22比特的码本,因此FCB分派器从FCB配置表中选择两个非连续的行,引起26-20-20-20FCB比特预算分派。
IV.在使用过渡编码(Transition Coding,TC)模式(参见参考[2)编码时,比特预算不能在所有子帧之间平均地分配的情况下,则使用声门脉冲形状码本将最大可能(更大)的比特预算分派给子帧。作为一个示例,如果b4=122比特,并且在第三子帧中使用声门脉冲形状码本,则每4子帧的FCB比特预算被分派为30-30-32-30比特。
V.如果在应用要求IV之后,有更多的比特可用于潜在地增加TC模式帧中的另一个FCB码本,则分派给最后一个子帧的FCB比特预算(比特数)增加。作为一个示例,如果b4=116比特,并且在第二子帧中使用声门脉冲形状码本,则每4个子帧的FCB比特预算被分派为28-30-28-30比特。这一要求背后的思想是更好地建立开始/过渡事件之后的激励部分,其在感知上比在它之前的激励部分更重要。
声门脉冲形状码本可由位于特定位置的截断的声门脉冲的量化归一化形状组成,如参考文献[2]的章节5.2.3.2.1(声门脉冲码本搜索)所述。然后,码本搜索包括选择最佳形状和最佳位置。例如,声门脉冲形状可以由仅包含一个对应于候选脉冲位置的非零元素的码向量来表示。一旦被选择,位置码向量与成形滤波器的脉冲响应进行卷积。
使用上述要求,FCB比特分派器261可以被设计如下(用C代码表示):
其中函数SWAP()交换/互换两个输入值。然后,函数fcb_table()选择FCB(固定或创新码本)配置表的相应行(如上定义),并返回编码选择的FCB(固定或创新码本)所需的比特数。
操作212
计数器262确定分派给用于编码创新码本(固定码本(FCB);第二CELP核心模块部分)的N个不同的子帧的比特预算(比特数)bFCBn的总和。
操作213
在操作213中,减法器263使用以下关系确定在编码创新码本之后剩余的比特数b5:
理想地,在编码创新码本之后,剩余的比特b5的数量等于零。然而,可能无法实施这一结果,因为创新码本索引的粒度大于1(通常为2-3比特)。因此,在编码创新码本之后,少量比特通常保持未使用。
操作214
在操作214中,比特分派器264指派未使用的比特预算(比特数)b5,以增加除了创新码本之外的CELP核心模块部分(CELP核心模块第一部分)中的一个的比特预算。例如,使用以下关系,未使用的比特预算b5可以用于增加从ROM表258获得的比特预算bLPC:
b′LPC=bLPC+b5. (6)
未使用的比特预算b5也可以用于增加其他CELP核心模块第一部分的比特预算,例如比特预算bACBn或bGn.。此外,未使用的比特预算b5,当大于1比特时,可以在两个或甚至更多个CELP核心模块第一部分之间重新分配。可替代地,未使用的比特预算b5可以用于传输FEC信息(如果在辅助编解码器模块中还没有被考虑),例如信号类别(参见参考文献[2])。
高比特率CELP
当以高比特率使用传统CELP时,传统CELP在可伸缩性和复杂性方面存在局限性。为了克服这些局限性,CELP模型可以通过特殊的变换域码本来扩展,如参考文献[3]和[4]中所述。与其中激励仅由自适应激励和创新激励贡献组成的传统CELP相比,扩展模型引入了激励的第三部分,即变换域激励贡献。附加的变换域码本通常包括预加重滤波器、时域到频域的变换、矢量量化器和变换域增益。在扩展模型中,在每个子帧中,大量(至少几十个)比特被指派给矢量量化器。
在高比特率CELP中,使用如上所述的过程将比特预算分派给CELP核心模块部分。在这个过程之后,用于在N个子帧中编码创新码本的比特预算bFCBn的总和应该等于或接近比特预算b4。在高比特率CELP中,比特预算bFCBn通常是适中的,并且未使用的比特数b5相对较高,并且用于编码变换域码本参数。
首先,使用以下关系,从未使用的比特预算b5中减去用于编码N个子帧中的变换域增益的比特预算bTDGn和最终除了用于矢量量化器的比特预算之外的其他变换域码本参数的比特预算之和:
然后,剩余的比特预算(比特数)b7被分派给变换域码本内的矢量量化器,并在所有子帧当中分配。矢量量化器的按子帧的比特预算(比特数)表示为bVQn。取决于所使用的矢量量化器(例如,EVS中使用的AVQ量化器),量化器不会消耗所有分派的比特预算bVQn,从而在每个子帧中留下少量可变数量的可用比特。这些比特是在同一帧内的后续子帧中使用的浮动比特。为了变换域码本的更好的有效性,向第一个子帧中的矢量量化器分派稍高(更大)的比特预算(比特数)。下面的伪代码给出了一个实施方式的示例:
其中表示小于或等于x的最大整数,N是一帧中的子帧的数量。比特预算(比特数)b7在所有子帧之间平均地分配,而第一个子帧的比特预算最终略微增加多达N-1比特。因此,在高比特率CELP中,在该操作之后没有剩余的比特。
与扩展EVS编解码器相关的其他方面
在许多情况下,对给定的CELP核心模块部分进行编码有多于一种选择。在像EVS这样的复杂编解码器中,几种不同的技术可用于编码给定的CELP核心模块部分,并且通常基于CELP核心模块比特率(核心模块比特率对应于CELP核心模块的比特预算bcore乘以每秒帧数)来选择一种技术。一个示例是增益量化,其中在EVS编解码器中有三(3)种不同的技术可用,如参考文献[2]中所述,通用编码(Generic Coding,GC)模式:
-基于子帧预测的矢量量化器(GQ1;以等于或低于8.0kbps的核心比特率使用);
-自适应和创新增益的无记忆矢量量化器(GQ2;以高于8kbps且低于或等于32kbps的核心比特率使用);和
-两个标量量化器(GQ3;以高于32kbps的核心比特率使用)。
此外,在恒定编解码器总比特率btotal下,取决于CELP核心模块比特率,可以逐帧地切换用于编码和量化给定的CELP核心模块部分的不同的技术。一个示例是48kbps的参数立体声编码模式,其中在不同的帧中使用不同的增益量化器(参见参考[2]),如下表5所示:
表5
还值得注意的是,对于给定的CELP核心模块比特率,可能会有不同的比特预算分派,这具体取决于编解码器配置。例如,基于EVS的TD立体声编码模式中的主通道的编码,在第一种场景下,以16.4kbps的总编解码器比特率工作,而在第二种场景下,以24.4kbps的总编解码器比特率工作。在这两种场景下均可能发生即使总编解码器比特率不同,CELP核心模块比特率也相同。但是不同的编解码器配置会引起不同的比特预算分配。
在基于EVS的立体声框架中,16.4kbps和24.4kbps之间的不同的编解码器配置与不同的CELP核心内部采样速率相关,该速率在16.4kbps和24.4kbps时分别为12.8kHz和16kHz。因此,采用了分别具有四(4)、五(5)个子帧的CELP核心模块编码,并使用了相应比特预算分配。下面显示了两个提到的总编解码器比特率之间的这些差异(每表单元一个值对应于每帧一个参数,而更多的值对应于每子帧的参数)。
表6
因此,上表显示,在不同的编解码器总比特率下,对于相同的核心比特率可以有不同的比特预算分配。
编码器流程
当辅助编解码器模块包括立体声模块和BWE模块时,编码器过程的流程可以如下:
-编码立体声边(或次通道)信息,并且分派给它的比特预算被从编解码器总比特预算中减去。编解码器信令比特也被从总比特预算中减去。
-然后基于编解码器总比特预算减去立体声模块和编解码器信令比特预算来设置用于编码BWE辅助模块的比特预算。
-从编解码器总比特预算减“立体声辅助模块”和“编解码器信令”比特预算中减去BWE比特预算。
-执行上述分派核心模块比特预算的过程。
-编码CELP核心模块。
-编码BWE辅助模块。
解码器
CELP核心模块比特率不在比特流中直接用信令通知,而是在解码器处基于辅助编解码器模块的比特预算来计算。在包括立体声和BWE辅助模块的实施方式的示例中,可以遵循以下过程:
-编解码器信令被写入比特流/从比特流读取。
-立体声边(或次通道)信息被写入比特流/从比特流中读取。用于编码立体声边信息的比特预算波动,并且取决于立体声边信令和用于编码的技术。基本上(a)在参数立体声中,算术编码器和立体声边信令确定何时停止立体声边信息的写入/读取,而(b)在时域立体声编码中,混合因子和编码模式确定立体声边信息的比特预算。
-编解码器信令的比特预算和立体声边信息被从编解码器总比特预算中减去。
-然后,还从编解码器总比特预算中减去BWE辅助模块的比特预算。BWE比特预算粒度通常较小:a)每音频带宽(WB/SWB/FB)只有一个比特率,并且带宽信息作为比特流中编解码器信令的一部分来传输,或者b)特定带宽的比特预算可以具有某一粒度,并且BWE比特预算是从编解码器总比特预算减立体声模块比特预算来确定的。在说明性实施例中,例如,取决于编解码器总比特率减立体声模块比特率,SWB时域BWE可以具有0.95kbps、1.6kbps或2.8kbps的比特率。
剩下的是CELP核心比特预算bcore,它是前面描述中描述的比特预算分派过程的输入参数。在CELP编码器(就在预处理之后)和CELP解码器(在CELP帧解码开始时)处调用相同的分派。
下面是从扩展的基于EVS的编解码器中摘录的用于通用编码比特预算分派的C代码,仅作为示例给出。
图3是形成比特预算分派设备并实施比特预算分派方法的硬件组件的示例配置的简化框图。
比特预算分派设备可以实施为移动终端的一部分、便携式媒体播放器的一部分或实施在任何类似的设备中。比特预算分派设备(在图3中标识为300)包括输入302、输出304、处理器306和存储器308。
输入302被配置为接收例如编解码器总比特预算btotal(图2)。输出304被配置为提供各种分派的比特预算。输入302和输出304可以在公共模块中实施,例如串行输入/输出设备。
处理器306可操作地连接到输入302、输出304和存储器308。处理器306被实现为一个或多个处理器,用于运行支持图2的比特预算分派设备的各种模块的功能的代码指令。
存储器308可以包括用于存储可由处理器306运行的代码指令的非瞬态存储器,具体地为,包括非暂时性指令的处理器可读存储器,该指令在被运行时使得处理器实施图2的比特预算分派方法和设备的操作和模块。存储器308还可以包括随机存取存储器或(多个)缓冲器,以存储来自处理器306执行的各种功能的中间处理数据。
本领域普通技术人员将认识到,对比特预算分派方法和设备的描述仅是说明性的,并不旨在以任何方式进行限制。受益于本公开的本领域普通技术人员将容易想到其他实施例。此外,所公开的比特预算分派方法和设备可以被定制,以便为与比特预算的分派或分配相关的现有需求和问题提供有价值的解决方案。
为了清楚起见,没有示出和描述比特预算分派方法和设备的实施方式的所有常规特征。当然,应当理解,在比特预算分派方法和设备的任何这种实际实施方式的开发中,为了实现开发者的特定目标,诸如符合应用、系统、网络和商业相关的约束,可能需要做出许多实施方式特定的决定,并且这些特定的目标将随着实施方式的不同以及开发者的不同而变化。此外,应当理解,开发工作可能是复杂和耗时的,但是对于受益于本公开的声音处理领域的普通技术人员来说,这仍然是一项常规的工程任务。
根据本公开,本文描述的模块、处理操作和/或数据结构可以使用各种类型的操作系统、计算平台、网络设备、计算机程序和/或通用机器来实施。此外,本领域普通技术人员将认识到,也可以使用不太通用的设备,诸如硬连线设备、现场可编程门阵列(FieldProgrammable Gate Array,FPGA)、专用集成电路(Application Specific IntegratedCircuit,ASIC)等。在包括一系列操作和子操作的方法由处理器、计算机或机器实施,并且那些操作和子操作可以被存储为处理器、计算机或机器可读的一系列非暂时性代码指令的情况下,它们可以被存储在有形的和/或非瞬态的介质上。
本文描述的比特预算分派方法和设备的模块可以包括软件、固件、硬件或者适合于本文描述的目的软件、固件或硬件的任何(多个)组合。
在本文描述的比特预算分派方法中,各种操作和子操作可以以各种顺序执行,并且操作和子操作中的一些可以是可选的。
尽管通过非限制性的说明性实施例进行了本发明的前述公开,但是可以在所附权利要求的范围内任意修改这些实施例,而不脱离本公开的精神和本质。
参考文献
以下参考文献在本说明书中引用,并且其全部内容通过引用并入本文。
[1]ITU-T Recommendation G.718:"Frame error robust narrowband andwideband embedded variable bit-rate coding of speech and audio from 8-32kbps,"2008.
[2]3GPP Spec.TS 26.445:"Codec for Enhanced Voice Services(EVS).Detailed Algorithmic Description,"v.12.0.0,2014年9月.
[3]B.Bessette,"Flexible and scalable combined innovation codebook foruse in CELP coder and decoder,"US专利9,053,705,2015年6月.
[4]V.Eksler,"Transform-Domain Codebook in a CELP Coder and Decoder,"US专利公开2012/0290295,2012年11月,以及US专利8,825,475,2014年9月.
[5]F.Baumgarte,C.Faller,"Binaural cue coding-Part I:Psychoacousticfundamentals and design principles,"IEEE Trans.Speech Audio Processing,vol.11,pp.509-519,2003年11月.
[6]Tommy Vaillancourt,“Method and system using a long-termcorrelation difference between left and right channels for time domain downmixing a stereo sound signal into primary and secondary channels,”PCT申请WO2017/049397A1.
Claims (38)
1.一种将比特预算分派给编码声音信号的编码器或解码所述声音信号的解码器的CELP核心模块的多个第一部分和第二部分的方法,包括:在包括子帧的声音信号的帧中,
向所述CELP核心模块的第一部分分派相应比特预算;
向所述CELP核心模块的第二部分分派在向所述CELP核心模块的第一部分分派所述相应比特预算之后剩余的比特预算,其中分派所述CELP核心模块的第二部分的比特预算包括(a)初始地向帧的子帧分配来自所述CELP核心模块的第二部分的比特预算的相同数量的比特,以及(b)向帧的至少一个子帧分派来自所述CELP核心模块的第二部分的比特预算的在初始比特分配之后剩余的比特。
2.根据权利要求1所述的方法,其中,所述至少一个子帧是所述声音信号的帧的第一个子帧。
3.根据权利要求2所述的方法,其中,所述至少一个子帧包括在所述声音信号的帧的第一个子帧之后的至少一个子帧。
4.根据权利要求1所述的方法,其中分派所述CELP核心模块的第二部分的比特预算包括尽可能多地使用所述CELP核心模块的第二部分的比特预算。
5.根据权利要求1所述的方法,其中:
所述CELP核心模块在声音信号的帧的一个子帧中使用声门脉冲形状码本;并且
帧的所述至少一个子帧是使用所述声门脉冲形状码本的子帧。
6.根据权利要求1至5中任一项所述的方法,其中向所述CELP核心模块的第一部分分派相应比特预算包括向所述CELP核心模块的第一部分分派由比特预算分派表向所述CELP核心模块的第一部分指派的相应比特预算。
7.根据权利要求5所述的方法,还包括增加帧的最后一个子帧的比特预算。
8.一种使用CELP核心模块和辅助编解码器模块对声音信号进行编码或解码的方法,包括:
向辅助编解码器模块分派比特预算;
从总编解码器比特预算中减去辅助编解码器模块比特预算,以确定CELP核心模块比特预算;以及
使用根据权利要求1至6中任一项所述的方法,将CELP核心模块比特预算分派给所述CELP核心模块的第一部分和所述CELP核心模块的第二部分。
9.一种使用CELP核心模块和辅助编解码器模块对声音信号进行编码或解码的方法,包括:
将第一比特预算分派给编解码器信令;
将第二比特预算分派给辅助编解码器模块;
从总编解码器比特预算中减去第一和第二比特预算,以确定CELP核心模块比特预算;以及
使用根据权利要求1至6中任一项所述的方法,将CELP核心模块比特预算分派给所述CELP核心模块的第一部分和所述CELP核心模块的第二部分。
10.根据权利要求8或9所述的对声音信号进行编码或解码的方法,包括确定未使用的比特预算,其包括从总编解码器比特预算中减去(a)分派给辅助编解码器模块的比特预算、(b)分派给所述CELP核心模块的第一部分的比特预算、和(c)分派给所述CELP核心模块的第二部分的比特预算。
11.根据权利要求10所述的对声音信号进行编码或解码的方法,包括将所述未使用的比特预算分派给所述CELP核心模块的第一部分中的至少一个的编码。
12.根据权利要求10所述的对声音信号进行编码或解码的方法,包括将所述未使用的比特预算分派给变换域码本的编码。
13.根据权利要求12所述的对声音信号进行编码或解码的方法,其中将所述未使用的比特预算分派给所述变换域码本的编码包括将所述未使用的比特预算的第一部分分派给变换域参数,并将所述未使用的比特预算的第二部分分派给所述变换域码本内的矢量量化器。
14.根据权利要求13所述的对声音信号进行编码或解码的方法,包括在声音信号的帧的所有子帧当中分配所述未使用的比特预算的第二部分。
15.根据权利要求14所述的对声音信号进行编码或解码的方法,其中更大的比特预算被分派给帧的第一个子帧。
16.一种用于将比特预算分派给编码声音信号的编码器或解码声音信号的解码器的CELP核心模块的多个第一部分和第二部分的设备,对于包括子帧的声音信号的帧,包括:
向所述CELP核心模块的第一部分分派相应比特预算的第一分派器;
向所述CELP核心模块的第二部分分派在向所述CELP核心模块的第一部分分派所述相应比特预算之后剩余的比特预算的第二分派器,其中所述第二分派器(a)初始地向帧的子帧分配来自所述CELP核心模块的第二部分的比特预算的相同数量的比特,以及(b)向帧的至少一个子帧分派来自所述CELP核心模块的第二部分的比特预算的在初始比特之后剩余的比特。
17.根据权利要求16所述的设备,其中,所述至少一个子帧是所述声音信号的帧的第一个子帧。
18.根据权利要求17所述的设备,其中,所述至少一个子帧包括在所述声音信号的帧的第一个子帧之后的至少一个子帧。
19.根据权利要求16所述的设备,其中,所述第二分派器尽可能多地使用所述CELP核心模块的第二部分的比特预算。
20.根据权利要求16所述的设备,其中:
CELP核心模块在声音信号的帧的一个子帧中使用声门脉冲形状码本;并且
帧的所述至少一个子帧是使用声门脉冲形状码本的子帧。
21.根据权利要求16至20中任一项所述的设备,其中,所述第一分派器向所述CELP核心模块的第一部分分派由比特预算分派表向所述CELP核心模块的第一部分指派的相应比特预算。
22.根据权利要求20所述的设备,其中所述第二分派器还增加帧的最后一个子帧的比特预算。
23.一种使用CELP核心模块和辅助编解码器模块编码或解码声音信号的设备,包括:
向辅助编解码器模块分派比特预算的分派器;
从总编解码器比特预算中减去辅助编解码器模块比特预算,以确定CELP核心模块比特预算的减法器;和
根据权利要求16至21中任一项所述的设备,用于将CELP核心模块比特预算分派给所述CELP核心模块的第一部分和所述CELP核心模块的第二部分。
24.一种使用CELP核心模块和辅助编解码器模块编码或解码声音信号的设备,包括:
向编解码器信令分派第一比特预算的分派器;
向辅助编解码器模块分派第二比特预算的分派器;
从总编解码器比特预算中减去第一和第二比特预算,以确定CELP核心模块比特预算的减法器;和
根据权利要求16至21中任一项所述的设备,用于将CELP核心模块比特预算分派给所述CELP核心模块的第一部分和所述CELP核心模块的第二部分。
25.根据权利要求23或24所述的设备,包括用于确定未使用的比特预算的减法器,其从总编解码器比特预算中减去(a)分派给辅助编解码器模块的比特预算、(b)分派给所述CELP核心模块的第一部分的比特预算、和(c)分派给所述CELP核心模块的第二部分的比特预算。
26.根据权利要求25所述的设备,包括将所述未使用的比特预算分派给所述CELP核心模块的第一部分中的至少一个的编码的分派器。
27.根据权利要求25所述的设备,包括将未使用的比特预算分派给变换域码本的编码的分派器。
28.根据权利要求27所述的设备,其中,将未使用的比特预算分派给变换域码本的编码的分派器将未使用的比特预算的第一部分分派给变换域参数,并将未使用的比特预算的第二部分分派给变换域码本内的矢量量化器。
29.根据权利要求28所述的设备,其中,未使用的比特预算的分派器在声音信号的帧的所有子帧当中分配未使用的比特预算的第二部分。
30.根据权利要求29所述的设备,其中,未使用的比特预算的分派器将更大的比特预算分派给帧的第一个子帧。
31.一种将比特预算分派给编码声音信号的编码器或解码所述声音信号的解码器的CELP核心模块的多个第一部分和第二部分的方法,包括:
存储比特预算分派表,所述比特预算分派表为多个中间比特率的每一个指派相应比特预算给所述CELP核心模块的第一部分;
确定CELP核心模块比特率;
基于所确定的CELP核心模块比特率选择中间比特率中的一个;以及
向所述CELP核心模块的第一部分分派由比特预算分派表为选择的中间比特率指派的相应比特预算;
向所述CELP核心模块的第二部分分派在向所述CELP核心模块的第一部分分派由比特预算分派表为选择的中间比特率指派的相应比特预算之后剩余的比特预算,
其中:
-CELP核心模块在声音信号的帧的一个子帧中使用声门脉冲形状码本,以及
-分派CELP核心模块的第二部分的比特预算包括(a)初始地向帧的子帧分配来自所述CELP核心模块的第二部分的比特预算的相同数量的比特,以及(b)将来自所述CELP核心模块的第二部分的比特预算的在初始比特分配之后剩余的比特分派给包括声门脉冲形状码本的子帧。
32.根据权利要求31所述的方法,其中:
所述CELP核心模块的第一部分包括LP滤波器系数、CELP自适应码本、CELP自适应码本增益和CELP创新码本增益中的至少一个;以及
所述CELP核心模块的第二部分包括CELP创新码本。
33.根据权利要求31或32所述的方法,其中选择中间比特率中的一个包括选择中间比特率中与CELP核心模块比特率最接近的更高的一个。
34.根据权利要求31或32所述的方法,其中选择中间比特率中的一个包括选择中间比特率中与CELP核心模块比特率最接近的更低的一个。
35.一种用于将比特预算分派给编码声音信号的编码器或解码声音信号的解码器的CELP核心模块的多个第一部分和第二部分的设备,包括:
比特预算分派表,其为多个中间比特率的每一个指派相应比特预算给所述CELP核心模块的第一部分;
CELP核心模块比特率的计算器;
基于所计算的CELP核心模块比特率选择中间比特率中的一个的选择器;
向所述CELP核心模块的第一部分分派由比特预算分派表为选择的中间比特率指派的相应比特预算的第一分派器;和
向所述CELP核心模块的第二部分分派在向所述CELP核心模块的第一部分分派由比特预算分派表为选择的中间比特率指派的相应比特预算之后剩余的比特预算的第二分派器;
其中:
-CELP核心模块在声音信号的帧的一个子帧中使用声门脉冲形状码本,以及
-所述第二分派器(a)初始地向帧的子帧分配来自所述CELP核心模块的第二部分的比特预算的相同数量的比特,以及(b)将来自所述CELP核心模块的第二部分的比特预算的在初始比特分配之后剩余的比特分派给包括声门脉冲形状码本的子帧。
36.根据权利要求35所述的设备,其中:
所述CELP核心模块的第一部分包括LP滤波器系数、CELP自适应码本、CELP自适应码本增益和CELP创新码本增益中的至少一个;以及
所述CELP核心模块的第二部分包括CELP创新码本。
37.根据权利要求35或36所述的设备,其中选择中间比特率中的一个的选择器选择中间比特率中与CELP核心模块比特率最接近的更高的一个。
38.根据权利要求35或36所述的设备,其中选择中间比特率中的一个的选择器选择中间比特率中与CELP核心模块比特率最接近的更低的一个。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762560724P | 2017-09-20 | 2017-09-20 | |
US62/560,724 | 2017-09-20 | ||
PCT/CA2018/051175 WO2019056107A1 (en) | 2017-09-20 | 2018-09-20 | METHOD AND DEVICE FOR ALLOCATING A BINARY BUDGET BETWEEN SUB-FRAMES IN A CELP CODEC |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111149160A CN111149160A (zh) | 2020-05-12 |
CN111149160B true CN111149160B (zh) | 2023-10-13 |
Family
ID=65810135
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880061368.5A Active CN111133510B (zh) | 2017-09-20 | 2018-09-20 | 用于在celp编解码器中高效地分配比特预算的方法和设备 |
CN201880061436.8A Active CN111149160B (zh) | 2017-09-20 | 2018-09-20 | 在celp编解码器中在子帧之间分派比特预算的方法和设备 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880061368.5A Active CN111133510B (zh) | 2017-09-20 | 2018-09-20 | 用于在celp编解码器中高效地分配比特预算的方法和设备 |
Country Status (13)
Country | Link |
---|---|
US (2) | US11276411B2 (zh) |
EP (2) | EP3685375B1 (zh) |
JP (2) | JP7285830B2 (zh) |
KR (3) | KR20250016479A (zh) |
CN (2) | CN111133510B (zh) |
AU (2) | AU2018338424B2 (zh) |
BR (2) | BR112020004883A2 (zh) |
CA (2) | CA3074750A1 (zh) |
ES (1) | ES3019398T3 (zh) |
MX (2) | MX2020002972A (zh) |
RU (2) | RU2744362C1 (zh) |
WO (2) | WO2019056107A1 (zh) |
ZA (2) | ZA202001506B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114097028A (zh) * | 2019-07-08 | 2022-02-25 | 沃伊斯亚吉公司 | 用于编解码音频流中的元数据及用于灵活对象内和对象间比特率适配的方法和系统 |
WO2021086965A1 (en) | 2019-10-30 | 2021-05-06 | Dolby Laboratories Licensing Corporation | Bitrate distribution in immersive voice and audio services |
CA3163373A1 (en) | 2020-02-03 | 2021-08-12 | Vaclav Eksler | Switching between stereo coding modes in a multichannel sound codec |
CN117178322A (zh) * | 2021-01-08 | 2023-12-05 | 沃伊斯亚吉公司 | 用于声音信号的统一时域/频域编码的方法和装置 |
US11985341B2 (en) * | 2022-06-22 | 2024-05-14 | Ati Technologies Ulc | Assigning bit budgets to parallel encoded video data |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07239700A (ja) * | 1994-03-02 | 1995-09-12 | Nec Corp | 音声符号化装置 |
CN1659625A (zh) * | 2002-05-31 | 2005-08-24 | 沃伊斯亚吉公司 | 在基于线性预测的语音编码解码器中有效帧删除隐藏的方法和器件 |
CN1957398A (zh) * | 2004-02-18 | 2007-05-02 | 沃伊斯亚吉公司 | 在基于代数码激励线性预测/变换编码激励的音频压缩期间低频加重的方法和设备 |
CN101124740A (zh) * | 2005-02-23 | 2008-02-13 | 艾利森电话股份有限公司 | 用于多声道音频编码的自适应位分配 |
CN103518122A (zh) * | 2011-05-11 | 2014-01-15 | 沃伊斯亚吉公司 | 码激励线性预测编码器和解码器中的变换域码本 |
WO2017049400A1 (en) * | 2015-09-25 | 2017-03-30 | Voiceage Corporation | Method and system for encoding left and right channels of a stereo sound signal selecting between two and four sub-frames models depending on the bit budget |
CN106605263A (zh) * | 2014-07-29 | 2017-04-26 | 奥兰吉公司 | 确定用于编码lpd/fd过渡帧的预算 |
CN106663441A (zh) * | 2014-07-26 | 2017-05-10 | 华为技术有限公司 | 改进时域编码与频域编码之间的分类 |
Family Cites Families (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH083719B2 (ja) * | 1986-11-17 | 1996-01-17 | 日本電気株式会社 | 音声分析合成装置 |
JP3329216B2 (ja) * | 1997-01-27 | 2002-09-30 | 日本電気株式会社 | 音声符号化装置及び音声復号装置 |
US7072832B1 (en) * | 1998-08-24 | 2006-07-04 | Mindspeed Technologies, Inc. | System for speech encoding having an adaptive encoding arrangement |
US6782360B1 (en) | 1999-09-22 | 2004-08-24 | Mindspeed Technologies, Inc. | Gain quantization for a CELP speech coder |
US6898566B1 (en) * | 2000-08-16 | 2005-05-24 | Mindspeed Technologies, Inc. | Using signal to noise ratio of a speech signal to adjust thresholds for extracting speech parameters for coding the speech signal |
US7171355B1 (en) | 2000-10-25 | 2007-01-30 | Broadcom Corporation | Method and apparatus for one-stage and two-stage noise feedback coding of speech and audio signals |
AU2003278013A1 (en) * | 2002-10-11 | 2004-05-04 | Voiceage Corporation | Methods and devices for source controlled variable bit-rate wideband speech coding |
US7657427B2 (en) | 2002-10-11 | 2010-02-02 | Nokia Corporation | Methods and devices for source controlled variable bit-rate wideband speech coding |
US9626973B2 (en) | 2005-02-23 | 2017-04-18 | Telefonaktiebolaget L M Ericsson (Publ) | Adaptive bit allocation for multi-channel audio encoding |
DE602006018618D1 (de) * | 2005-07-22 | 2011-01-13 | France Telecom | Verfahren zum umschalten der raten- und bandbreitenskalierbaren audiodecodierungsrate |
WO2007083931A1 (en) * | 2006-01-18 | 2007-07-26 | Lg Electronics Inc. | Apparatus and method for encoding and decoding signal |
US8401843B2 (en) * | 2006-10-24 | 2013-03-19 | Voiceage Corporation | Method and device for coding transition frames in speech signals |
US8527265B2 (en) | 2007-10-22 | 2013-09-03 | Qualcomm Incorporated | Low-complexity encoding/decoding of quantized MDCT spectrum in scalable speech and audio codecs |
EP2144230A1 (en) | 2008-07-11 | 2010-01-13 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Low bitrate audio encoding/decoding scheme having cascaded switches |
KR101381513B1 (ko) * | 2008-07-14 | 2014-04-07 | 광운대학교 산학협력단 | 음성/음악 통합 신호의 부호화/복호화 장치 |
GB2466675B (en) | 2009-01-06 | 2013-03-06 | Skype | Speech coding |
FR2947944A1 (fr) * | 2009-07-07 | 2011-01-14 | France Telecom | Codage/decodage perfectionne de signaux audionumeriques |
FR2947945A1 (fr) * | 2009-07-07 | 2011-01-14 | France Telecom | Allocation de bits dans un codage/decodage d'amelioration d'un codage/decodage hierarchique de signaux audionumeriques |
CA2789107C (en) | 2010-04-14 | 2017-08-15 | Voiceage Corporation | Flexible and scalable combined innovation codebook for use in celp coder and decoder |
US9236063B2 (en) * | 2010-07-30 | 2016-01-12 | Qualcomm Incorporated | Systems, methods, apparatus, and computer-readable media for dynamic bit allocation |
CN103282959B (zh) | 2010-10-25 | 2015-06-03 | 沃伊斯亚吉公司 | 低位速率和短延迟地编码普通音频信号 |
HRP20201271T1 (hr) | 2011-02-15 | 2020-11-13 | Voiceage Evs Llc | Uređaj i metoda za kvantiziranje pojačanja prilagodljivih i nepromjenljivih udjela pobude u celp kodeku |
PT2908313T (pt) * | 2011-04-15 | 2019-06-19 | Ericsson Telefon Ab L M | Partilha adaptativa de taxas de ganho/forma |
SI3709298T1 (sl) | 2011-11-03 | 2025-05-30 | Voiceage Evs Llc | Izboljšanje negovorne vsebine za CELP-dekodirnik z majhno hitrostjo |
TWI505262B (zh) * | 2012-05-15 | 2015-10-21 | Dolby Int Ab | 具多重子流之多通道音頻信號的有效編碼與解碼 |
US20140068097A1 (en) * | 2012-08-31 | 2014-03-06 | Samsung Electronics Co., Ltd. | Device of controlling streaming of media, server, receiver and method of controlling thereof |
US10614816B2 (en) * | 2013-10-11 | 2020-04-07 | Qualcomm Incorporated | Systems and methods of communicating redundant frame information |
EP2876889A1 (en) | 2013-11-26 | 2015-05-27 | Thomson Licensing | Method and apparatus for managing operating parameters for a display device |
-
2018
- 2018-09-20 KR KR1020257001648A patent/KR20250016479A/ko active Pending
- 2018-09-20 CN CN201880061368.5A patent/CN111133510B/zh active Active
- 2018-09-20 BR BR112020004883-6A patent/BR112020004883A2/pt unknown
- 2018-09-20 MX MX2020002972A patent/MX2020002972A/es unknown
- 2018-09-20 EP EP18859268.7A patent/EP3685375B1/en active Active
- 2018-09-20 EP EP18859809.8A patent/EP3685376B1/en active Active
- 2018-09-20 US US16/647,801 patent/US11276411B2/en active Active
- 2018-09-20 US US16/648,623 patent/US11276412B2/en active Active
- 2018-09-20 WO PCT/CA2018/051175 patent/WO2019056107A1/en active IP Right Grant
- 2018-09-20 JP JP2020516519A patent/JP7285830B2/ja active Active
- 2018-09-20 CA CA3074750A patent/CA3074750A1/en active Pending
- 2018-09-20 AU AU2018338424A patent/AU2018338424B2/en active Active
- 2018-09-20 KR KR1020207008927A patent/KR102736785B1/ko active Active
- 2018-09-20 CN CN201880061436.8A patent/CN111149160B/zh active Active
- 2018-09-20 RU RU2020113621A patent/RU2744362C1/ru active
- 2018-09-20 MX MX2020002988A patent/MX2020002988A/es unknown
- 2018-09-20 CA CA3074749A patent/CA3074749A1/en active Pending
- 2018-09-20 ES ES18859268T patent/ES3019398T3/es active Active
- 2018-09-20 BR BR112020004909-3A patent/BR112020004909A2/pt unknown
- 2018-09-20 KR KR1020207008928A patent/KR20200055726A/ko not_active Ceased
- 2018-09-20 JP JP2020516513A patent/JP7239565B2/ja active Active
- 2018-09-20 WO PCT/CA2018/051176 patent/WO2019056108A1/en active IP Right Grant
- 2018-09-20 RU RU2020113614A patent/RU2754437C1/ru active
- 2018-09-20 AU AU2018337086A patent/AU2018337086B2/en active Active
-
2020
- 2020-03-10 ZA ZA2020/01506A patent/ZA202001506B/en unknown
- 2020-03-10 ZA ZA2020/01507A patent/ZA202001507B/en unknown
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07239700A (ja) * | 1994-03-02 | 1995-09-12 | Nec Corp | 音声符号化装置 |
CN1659625A (zh) * | 2002-05-31 | 2005-08-24 | 沃伊斯亚吉公司 | 在基于线性预测的语音编码解码器中有效帧删除隐藏的方法和器件 |
CN1957398A (zh) * | 2004-02-18 | 2007-05-02 | 沃伊斯亚吉公司 | 在基于代数码激励线性预测/变换编码激励的音频压缩期间低频加重的方法和设备 |
CN101124740A (zh) * | 2005-02-23 | 2008-02-13 | 艾利森电话股份有限公司 | 用于多声道音频编码的自适应位分配 |
CN103518122A (zh) * | 2011-05-11 | 2014-01-15 | 沃伊斯亚吉公司 | 码激励线性预测编码器和解码器中的变换域码本 |
CN106663441A (zh) * | 2014-07-26 | 2017-05-10 | 华为技术有限公司 | 改进时域编码与频域编码之间的分类 |
CN106605263A (zh) * | 2014-07-29 | 2017-04-26 | 奥兰吉公司 | 确定用于编码lpd/fd过渡帧的预算 |
WO2017049400A1 (en) * | 2015-09-25 | 2017-03-30 | Voiceage Corporation | Method and system for encoding left and right channels of a stereo sound signal selecting between two and four sub-frames models depending on the bit budget |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111149160B (zh) | 在celp编解码器中在子帧之间分派比特预算的方法和设备 | |
US10839813B2 (en) | Method and system for decoding left and right channels of a stereo sound signal | |
JPH10512423A (ja) | 音声信号をコード化、操作及びデコード化する方法及び装置 | |
EP2697795B1 (en) | Adaptive gain-shape rate sharing | |
HK40019853A (zh) | 在celp编解码器中在子帧之间分派比特预算的方法和设备 | |
HK40019852A (zh) | 用於在celp编解码器中高效地分配比特预算的方法和设备 | |
US12125492B2 (en) | Method and system for decoding left and right channels of a stereo sound signal | |
HK40069408A (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40019853 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |