CN101147122B - 用于创建对线性依赖于值平方的计算结果的表示的方法 - Google Patents
用于创建对线性依赖于值平方的计算结果的表示的方法 Download PDFInfo
- Publication number
- CN101147122B CN101147122B CN2005800480525A CN200580048052A CN101147122B CN 101147122 B CN101147122 B CN 101147122B CN 2005800480525 A CN2005800480525 A CN 2005800480525A CN 200580048052 A CN200580048052 A CN 200580048052A CN 101147122 B CN101147122 B CN 101147122B
- Authority
- CN
- China
- Prior art keywords
- logarithm
- bit
- value
- result
- spectrum
- 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 45
- 238000004364 calculation method Methods 0.000 title claims abstract description 43
- 238000001228 spectrum Methods 0.000 claims description 61
- 230000005236 sound signal Effects 0.000 claims description 21
- 230000001419 dependent effect Effects 0.000 abstract description 10
- 238000012937 correction Methods 0.000 abstract description 2
- 230000000694 effects Effects 0.000 abstract description 2
- 230000007704 transition Effects 0.000 abstract 1
- 230000006870 function Effects 0.000 description 29
- 230000008569 process Effects 0.000 description 16
- 230000008901 benefit Effects 0.000 description 8
- 238000012545 processing Methods 0.000 description 8
- 238000006243 chemical reaction Methods 0.000 description 7
- 238000013139 quantization Methods 0.000 description 7
- 238000007792 addition Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000003595 spectral effect Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000000354 decomposition reaction Methods 0.000 description 2
- 230000002349 favourable effect Effects 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 230000003340 mental effect Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012958 reprocessing Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
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/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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/499—Denomination or exception handling, e.g. rounding or overflow
- G06F7/49942—Significance control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/544—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/499—Denomination or exception handling, e.g. rounding or overflow
- G06F7/49936—Normalisation mentioned as feature only
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/544—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
- G06F7/5443—Sum of products
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Spectroscopy & Molecular Physics (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)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Complex Calculations (AREA)
Abstract
在向对数范围的转换中,不必考虑线性依赖于值平方的结果的整个比特宽度。而是,可以对具有x个比特的值的结果进行缩放,以便基于所述结果的少于x比特的表示,足以获得对数表示。通过分别向缩放后的对数表示加上或从其减去由应用于缩放因子的对数函数获得的校正值,可以消除该缩放因子对得到的对数表示的影响,而不会有任何动态范围损失。因此,提供了一种用于创建线性依赖于值平方的结果表示的方法和设备,以使计算简单以及/或者可以具有较少的硬件开销。
Description
技术领域
本发明涉及对线性依赖于值平方的计算结果的表示的创建,例如在一些音频编码器中需要的一组值的平方和,在这些音频编码器中,根据心理声学模型,将频线(frequency line)组合形成频群(frequencygroup),以使用该频群的信号能量执行进一步编码。
背景技术
在诸如MPEG Layer-3或MPEG AAC等现代基于滤波器组的音频编码方法中,在编码器中使用心理声学模型。在该心理声学模型中,将变换至频率范围的音频信号的整个频谱划分为单独的频群,每个频群具有不同宽度和/或不同数目的频线。为了计算心理声学的听力阈值,决定是否应该使用中心/侧立体声编码,以及评估和/计算音频编码器的量化模块中的缩放因子,在心理声学模型中计算单独频群中的音频信号部分的信号能量。这是按照如下方式实现的:对每个单独频线进行平方,产生线能量,随后将频群中的所有线能量相加,以形成频群的频带能量,在例如MPEG AAC的情况下,每个音频通道可能存在大约40到60个频线。
下面将考虑在定点处理器中实施该方法的特殊应用。
在定点表示中,用例如24比特或32比特的字宽来表示频线。只有16比特的字宽是不够的。使用全局缩放因子或移位因子,这应用于音频通道的所有频线以及解码器中处理的所有音频通道的所有频线,并确定每个频线值必须向左或向右移动多少个位置,以便可以再次获得原始缩放,这称作块浮点表示。即,平等地选送(gate out)至少一个音频通道的所有频线,以及/或者这些频线处于相同的缩放等级。考虑到单独频线的幅度一般具有较大的动态变化,用相对较高的精度表示频线中的一些,例如22个有效比特,24比特的字宽,或者30个有效比特,32比特的字宽,而只用少量有效比特表示其他频线,因此相当不精确。
在定点处理器中实现上述基于滤波器组的音频编码方法时,会出现如下所述的问题。
首先,问题涉及信号能量自身的表示。通过平方,如果要保持整体精度,则作为频线的平方和的信号能量获得了比频线的动态变化大一倍的动态变化。
确实,存在对信号能量进行表示的多种可能方式。一种可能方式是用数据类型表示信号能量,该数据类型的字宽是用于表示频线的数据类型的字宽的两倍,例如,字宽为48比特或64比特的数据类型。例如,设想由24比特的数据类型表示的具有22个有效比特的频线。基于总和,信号能量连同其他频线将具有至少44个有效比特,并可以采用48比特的数据类型表示。然而,该过程至少对于64比特能量是不可行的,即在以32比特数据类型表示频线的情况下。原因在于大多数传统定点处理器根本不支持64比特数据类型,或者相比于例如32比特的存取操作和计算,使用64比特数据类型的存储器存取操作和计算速度太慢。此外,在64比特数据的情况下,存储器消耗显著提高。
信号能量表示的另一可能方式是通过使用尾数和指数的浮点数据类型来表示。同样,假设上述以24比特数据类型表示的具有22个有效比特的频线的示例情况。则各个群的信号能量可以采用具有包括符号位和8位指数的16位尾数的标准化或专用(proprietary)浮点数据类型来表示。这里,如果考虑诸如IEEE-P754等标准化浮点数据类型或具有任意选择的尾数和指数宽度的专用浮点数据类型,则这是不重要。在无浮点计算单元的定点处理器上,对于浮点数据类型的计算总是必须通过多个计算步骤来仿真,从而速度非常缓慢,因此这种过程是不可行的。
在定点处理器中实现上述基于滤波器组的音频编码方法中的另一问题在于编码方法过程中的信号能量再处理(reprocessing)。例如,为了计算信号能量与从其导出的听力阈值(listening threshold)之间的比率或商,在算法中多个不同位置处,将信号能量和听力阈值用于音频编码器的另一例程。所需除法运算不易在定点处理器上执行。
在定点处理器上执行除法运算的一种可能方法是使用单比特(single-bit)除法命令,该命令在一些定点处理器中实现,并在每次调用时在商中提供附加比特的精度。因此,例如,对于具有48比特精度的除法运算,需要用于两个信号能量或信号能量与听力阈值的单次除法运算的48个除法运算命令。因为涉及到较高的计算时间开销,所以这是不可行的,效率非常低。
在定点处理器中实现除法运算的另一可能方法是使用表,并可以结合用于提高除法运算结果精度的后续迭代步骤。然而,该过程通常是不可行的,原因在于对于所需的除法运算结果精度,必须使用非常大的表,或者后续迭代步骤对计算时间的要求很高。
结合定点数据类型或通过软件仿真的浮点数据类型,可以在定点处理器中实现上述两种方法,然而,在这些情况下,在确保结果精度的同时,相对于计算时间和存储器消耗,均无法提供足够有效的应用。
如果使用GPP(通用处理器),则不会出现上述问题。然而,对于许多应用,因为较高的价格压力和数目较多的部件,使用具有更高性能的处理器而不是无浮点计算单元的定点处理器本身就是不可能的。这种应用的示例是移动电话和PDA。
响应于SMR计算问题,即,信号能量与听力阈值之比的计算,US 6,754,618 B1在使用定点DSP芯片的背景下解决该问题。根据该文献中提出的过程,首先执行常规加窗和后续傅立叶变换,以将音频信号分解为它的频谱分量,此后,根据各个频线值的实部和虚部,计算每个输入信号和/或频线信号的能量,即,线能量。在不进一步创建频线群的信号能量的情况下,也可以基于这些群的信号能量来继续执行该方法。该文献的内容尝试消除以下问题:大多数输入数据(即能量)具有过大的动态范围,大多数定点DSP芯片只包括16到24位的数据宽度,而MPEG标志要求34位的数据宽度,即101dB的动态范围,因此,必须首先对能量进行缩放。具体地,该文献提出离开前面的过程,而使用两个不同的缩放值。更精确地,根据该文献,将能量与阈值相比较,并分别对其进行放大或缩小,以便能够在转换到对数范围时足以用16位来表示对数结果,并能够用16位在对数范围中计算SMR比。依据是执行放大还是执行缩小,使用不同的阈值表。为了进行对数计算,使用常用对数乘以10,从而获得单位dB。如果对放大的线能量取对数的结果是0,则通过对放大的线能量取对数,并减去阈值能量的对数乘以10,来计算SMR比。否则,将放大的线能量和缩小的线能量的结果彼此组合。
US 6,754,618 B1中提出的过程通过提出在对数范围中计算SMR比,避免了上述相对于信号能量再处理的问题中的一些。这去除了复杂的除法计算。然而,该过程的不利之处在于,因为适合16位DSP定点处理器的16位定点表示的值范围仅在对数计算后才设置,所以对数计算仍然相对复杂,同时这种取对数仍然是针对存在较大动态变化的能量执行的,这导致对于每个能量值必须进行多达两次的取对数运算。
因此,希望在不发生动态范围损失的情况下,简化向对数范围的转换。
US 5,608,663涉及通过向对数定点格式的转换、对数范围中的加法和随后的逆向(back)转换,来快速执行浮点数的并行乘法。
US 5,197,024总体上涉及指数/对数计算以及相应的装置。
US 6,732,071涉及针对音频编码中的速率控制的有效解决方案,并针对量化参数值的确定,使用具有完成条件的循环迭代,根据该完成条件,将量化参数值与从依据最大频线值的项的底2对数中导出的项相比较。
US 6,351,730描述了针对音频编码内增益计算的底2对数的使用。增益值用于MDCT编码音频编解码器中的比特分配。
US 5,764,698描述了将自然对数用于音频信号能量的表示。未给出向对数范围的转换的更加详细的描述。
发明内容
本发明的目的是提供一种用于创建线性依赖于值平方的结果的表示的方法和设备,以使计算更加简单,或者具有更小的硬件开销。
本目的由根据权利要求1的设备和根据权利要求18的方法来实现。
一种用于创建线性依赖于值平方的计算结果的表示的本发明设备,所述计算结果以未取对数的x比特表示而存在,所述设备包括:
处理装置,用于对所述值的未取对数的x比特表示执行处理,以获得线性依赖于所述值的所述计算结果,其中所述处理装置配置为使用有效缩放因子,以依据所述有效缩放因子对所述计算结果进行缩放;
取对数装置,用于向所述计算结果的y比特表示应用对数函数,以获得所述计算结果的已取对数的缩放后表示和/或缩放后计算结果的已取对数的表示,其中所述y比特表示是未取对数的,并且所述y比特表示是从所述处理装置的例如挑选比特位置等处理中间接或直接获得的,y小于2x;以及
再缩放装置,用于分别向所述缩放后对数表示加上校正值或从中减去校正值,以获得不再有缩放的计算结果的已取对数的表示,所述缩放后对数表示与应用于所述有效缩放因子的、诸如缩放后对数等的对数函数相对应。
本发明发现,在向对数范围的转换中,不必考虑线性依赖于值平方的结果的整个比特宽度。而是,可以对具有x个比特的值的结果进行缩放,以便基于所述结果的少于x比特的表示,足以获得对数表示。通过分别向缩放后的对数表示加上或从其减去由应用于缩放因子的对数函数获得的校正值,可以消除该缩放因子对得到的对数表示的影响,而不会有任何动态范围损失。
因此,本发明的一个优点在于,采用本发明方式,可以将多个结果转换为对数表示,以使缩放等级对于所有结果都是相同的,同时基本上保持动态范围。
根据本发明的实施例,对所述值的x比特表示的处理包括创建一组值的平方和,以获得线性依赖于所述值的计算结果。不是仅在所述计算了平方和之后才执行所述有效缩放因子,而是在之前用公共缩放因子对x比特表示进行缩放。根据值的数目和/或通过所述值的x比特表示中的最大数目的有效位置,确定公共缩放因子。从所述值的x比特表示的初始情况开始,该过程可以一直保持在x比特表示格式。这同样适用于单独值的平方以及单独平方的和。这里,确定公共缩放因子,以使平方和不会遭受由于累加而引起的溢出。根据本实施例,对平方和的未取对数的x比特表示中的一段应用对数函数。在本实施例中,保持的优点在于,该过程可以用于多组值,从而一方面,用不同的公共缩放因子对各个组的值进行缩放,另一方面,对于所有平方和的对数表示,后续缩放等级是相同的。
根据本发明的另一优选实施例,将底2对数连同小于或等于1/y的因子,用作对数函数。这样,可以采用最优地利用两种表示的值范围的方式,执行计算结果的y比特表示与计算结果的已取对数的缩放后表示之间的映射。
根据本发明的另一实施例,对于音频编码,以上述方式,逐群地对群的频谱线值创建平方和,即通过如下步骤:在计算平方和之前对频谱线值进行缩放,其中频线值以未取对数的x比特定点数据格式而存在;将得到的单个平方累加,该单个平方也必须只以x比特定点数据格式而存在;向平方和应用对数函数,包括以底2对数取对数和以小于或等于1/x的因子进行缩放;以及分别向取对数结果的x比特定点表示加上或从其减去由对数函数根据公共缩放因子得到的校正值。这样,将所有频谱群的信号能量保持在相同的缩放等级,并且不减小动态范围。此外,可以通过配置来对只具有x比特的定点数进行处理的计算单元,执行每个计算操作。因此,本实施例的优点在于,可以在16或24比特定点DSP中实现音频编码器,而不需要复杂编程及其涉及的增加的计算时间开销。
附图说明
下面,参照附图,更加详细地论述本发明的优选实施例,附图中:
图1是示出了32比特定点数据格式结构的示意性表示;
图2a和2b是示出了太小的值对64比特定点结果的影响的32比特定点数据值的平方的示意性表示;
图3是根据本发明实施例的对数函数图;
图4是根据本发明实施例的用于创建平方和的设备的示意框图;
图5是图4设备的可能实施方式的框图;
图6是示出了根据图5的设备功能的流程图;以及
图7是示出了根据本发明实施例的音频编码器的示意框图。
具体实施方式
下面,参照附图,并在一般的音频信号处理以及具体的音频信号编码的背景下,描述本发明。正如附图描述之后的更加详细的说明所述,本发明不限于上述应用领域,这种背景设置主要用于方便理解。
在更加详细地说明本发明实施例之前,以下参照图1到3,对这些实施例进行介绍,这类似于总览,并使以下实施例的优点得到更好理解。
图2示出了可能的32比特定点数据格式的结构,这是以下所述的实施例的示例基础。可以容易地将所示的32比特数据格式应用于其他比特计数。从图中可见,以32比特定点数据格式存储的值包括32个比特。因此,32比特寄存器足以用于存储该32比特定点数据格式的值。图1中用10指示该寄存器。从最低有效位(LSB)到最高有效位(MSB),用编号为X0...X31的各个平方数暗示32个比特位置。在各个比特位置下面,暗示根据32比特定点数据格式的各个比特位置的意义。可见,最高有效位表示值的符号,即,+或-。剩余的比特X30-X0表示值的大小。根据图1的实施例,这些比特表示实分数,即,数据格式10是分数定点数据格式,其中,小数点或逗号通常位于最左位置,即,在左侧比特X30之前。因此,寄存器10中的值可以表示为
容易看出,分数定点数据格式可表示的值范围从近似-1(不包括-1)到1(不包括1)。
如本发明的描述介绍中已论述的,例如,通过对频群中的频线平方并将所有平方的频线(即,线能量)累加,获得信号能量。例如,在MPEG Layer-3和MPEG AAC中,频群中包含的线数目的范围是从4到96。
如本发明的描述介绍中已论述的,可以通过使用全局缩放因子来以定点数据格式表示频线值,所述全局缩放因子应用于音频通道的全部频线以及甚至编码器中处理的所有音频通道的所有频线,并确定在解码器侧要将每个频线左移或右移多少个位置,以便可以重新获得原始缩放。为了在具有32比特字宽的定点处理器上对这种32比特定点数据值进行平方和,以计算音频信号能量,必须满足以下基本要求,以有效实现根据频线的音频信号能量计算:
-必须用32比特字宽表示频线。16比特不足。
-还必须以定点数据格式而不是浮点数据格式表示音频信号能量。
-必须以字宽不大于32比特的数据类型表示音频信号能量。对于音频信号,这也得到32比特字宽。
以下所述本发明的具体实施例满足所有上述基本要求,但是必须注意,如果所有上述基本要求并未全部得到满足,则可能获得效率不高的实现。如稍后将述的,例如,不是绝对必须将音频信号能量的字宽限制到32比特。只是要将音频信号能量的再处理限制到32比特定点表示。
根据上述要求,在音频信号能量的计算中出现以下问题。首先,32比特频线值的平方产生具有64比特字宽的线能量,然而,在进一步处理中,舍弃32比特,在以下实施例的情况下是舍弃低32比特,并且只用高32比特继续进行分数算术运算。
为了说明这一点,参照图2a和2b。图中示出了通过将相同的值写入被乘数寄存器12a和12b而用作平方器的乘法器的两个输入寄存器12a和12b。两个寄存器12a和12b均是32比特寄存器。此外,图2a和2b示出了包括高部14a和低部14b的64比特输出寄存器14。
将图2a和2b中没有表示出的乘法器配置为以32比特定点数据格式读取寄存器12a和12b的寄存器内容1b,并将两个值相乘,从而产生64比特结果,该结果以64比特定点数据格式输出到输出寄存器14中。因此,输出寄存器14的高部14a包含逗号之后的前31个二进制位置,而低部14b包含剩余的二进制位置。
图2a和2b示出了向输入寄存器12a和12b写入不同频线值以在输出寄存器14中产生不同结果的情况。
图2a具体示出了频线值较高的情况,即,频线值为0x12345678。只要在较高等级上输出频线值,即,频线值占用32比特数据字中的大量有效比特,则实际在输出寄存器14中的64比特宽结果的高32比特足以精确地表现结果和/或平方。在图2a的情况下,在只使用高部14a而不是完整结果时所造成的误差只相当于0x000000003be9b080。
图2b分别示出了输入寄存器12a和12b中较小频线值的情况,即,频线值为0x00004321。如上已提到的,因为至少一个音频通道的所有频线具有全局缩放因子,从而典型的是大量频线只占用32比特数据字中的少量有效比特,即,具有较小幅度,所以这种较小频线值也会出现。从图2b可见,在较小频线值的情况下,输出寄存器14的高32比特未以足够的精度表现出平方结果。因此,特别是当多个这种线能量累加以形成信号能量值时,会提供不正确的结果,即,例如结果为0,在音频编码的稍后过程中,这会导致音频质量降低。在图2b的示例中,例如,当精确结果值应该是0x0000000023349482时,输出寄存器的高部指示结果为0。
鉴于图2a和2b的示例,显然,有必要在信号能量的后续处理中首先考虑输出寄存器14的所有64比特。然而,这需要大量复杂的64比特数据运算(即,使用64比特操作数的操作),并违反上述有效实现的基本要求。
然而,如果实际中只使用输出寄存器14中每个信号能量值的高32比特部分,则通过在平方之前将频群中的所有频线值向左移动相同数目的比特,以使结果包含64比特结果的高32比特部分中的更多有效比特,或者通过对结果寄存器14中的结果进行移位,则可以首先获得改进。
然后,通过向信号能量的各个高部分14a应用对数函数计算的计算单元, 可以将每个信号能量值的高部14a转换到对数范围中。计算单元只须能够对32比特定点数据值取对数,以获得32比特定点数据值。将值x转换为值y的对数函数可以是y=log2(x)/64,图3示出了该函数过程。图3只示出了x∈]0,1[的对数函数部分,这是与32比特定点数据格式的平方信号能量值唯一相关的部分。这里,缩放因子1/64确保即使根据图3的对数函数对其取对数的能量信号值是64比特定点值,最小的可能值(即,能量信号值2-63(至少保留1比特,用于符号))也覆盖可能的输出值范围,在定点表示的情况下,输出值范围是从-1到1,但不包括-1和1。
然后,该过程不是非常令人满意,原因在于,在音频编码器内的音频编码的进一步处理步骤中,所有信号能量无论如何都必须具有相同的缩放处理,因此,用于提高精度的向左移位和/或缩放因子会干扰该相同的缩放等级。
正是在这一点上,显示了取对数的正(positive)属性的效果。如上所述,通过在频线和/或幅度域中按照规定向左移动例如s比特位置,和/或通过在受到所述安全距离的信号能量域中用有效22s进行缩放,使线能量的表示最大化地精确。此时,必须注意在该频群中执行的向左移位的数目(即,值s)。如果现在将图3所示对数函数(以下称作LD64())的、以较高精度计算的信号能量值转换到对数范围中(以下有时称作LD64格式),则最大的可能精度同样仍然存在。例如,频线向左移动1比特与在线性、非对数范围(即,在平方之后)中将信号能量向左移动2比特相对应,这与在对数范围中加上2/64相对应,因为2/64=log2(22)64=LD64(22)。
为了恢复LD64格式的信号能量中的原始缩放,只须减去2*s/64,其中s与前述群的频线值的左移相对应。然而,因为正如在线性范围内的右移一样,未损失和/或移出任何有效比特,所以这种减法不会导致精度损失。因此,如以下将说明的,以LD64格式表示信号能量,这在较高精度和所有信号能量值的相同缩放方面,对于音频编码器中的进一步计算是有利的。
在以上对本发明实施例的原理和优点进行论述之后,下面,将参照图4-7更加详细的说明本发明的优选实施例。
首先,图4示出了适于计算N个x比特定点值的组的平方和的设备的示例表示,同时该设备一方面保持动态范围,另一方面将硬件开销保持在合理的限度内。该设备是基于以上考虑的。
用20总体指示的图4设备包括:x比特寄存器221,222...22N,用于存储N比特定点值;平方和装置24,用于确定非对数范围中由可调的有效缩放因子缩放后的、寄存器221-22N中的值的平方和;第一结果寄存器26,用于锁存平方和装置24的结果;取对数装置28,用于将结果寄存器26中的结果转换为LD64格式;第二结果寄存器30,用于锁存取对数装置28的结果;再缩放装置32,用于对结果寄存器30中的结果进行再缩放和/或对结果的再缩放逆转;输出寄存器34,用于如再缩放装置32输出的一样锁存最终结果;以及控制装置36,确保再缩放装置32中的再缩放将平方和装置24实现的缩放逆转,并确定公共缩放因子。
在描述了设备20的各个单独组件之后,下面描绘它们在创建平方和时的协同操作,其中用各个箭头指示各个交互操作。
如上所述,要进行平方和处理的值首先以x比特定点格式存在于寄存器221-22N中。同样,如上所述,这些值可以是频线值,并且在其有效比特的数目方面可能彼此显然不同。
平方和装置24接收寄存器221-22N中的这些值,以对它们进行创建平方和的操作,从而寄存器221-22N中的值的平方和经过至少由控制装置36间接可调的有效缩放因子的缩放之后,以定点表示存在于寄存器26中。这里,由平方和装置24将平方和结果写入到的结果寄存器26不是绝对必须具有2x比特。而是,如寄存器26的部分虚线表示所暗示的,如果平方和装置24提供结果的y比特定点表示(优选地,y=x),这就足够了。
下面,特别挑选出两种可能方法,以示出平方和装置24如何考虑来自控制装置36的缩放因子信息,以输出寄存器26中的缩放后结果,以及控制装置36如何确定对结果寄存器26中的结果进行缩放所用的缩放因子信息和/或有效缩放因子,以确保不会由于溢出而损失有效比特。
基于以上描述,第一种可能方法包括:控制装置36分析寄存器221-22N的内容,以预先确定有效缩放值,从而随后对寄存器221-22N中值的平方的求和不会引起溢出。如果图4中由38指示的平方和装置24的加法计算单元中不存在溢出比特,或者如同例如寄存器26的情况一样,最迟在将“溢出”平方和/或能量值写入确切不提供任何溢出比特的存储单元中时,则不会出现溢出。因此,控制装置38依据数目N、寄存器221-22N中的自由比特的最大数目和/或x的最大值减去寄存器221-22N中各个值的有效位置的数目,调整缩放因子信息,以使在至寄存器26的输出中不会出现溢出,以及/或者结果不会超出-1到1(不包括-1和1)的值范围。
具体地,如上所述,控制装置36可以调整对寄存器26中的结果进行缩放所用的有效缩放因子,在刚开始时,即在进行平方40之前,平方和装置24利用公共缩放因子对寄存器内容221-22N进行缩放。具体地,如上所述,公共缩放因子可以对应于2的幂,从而通过左移操作可以实现对寄存器221-22N中的值的预先缩放。在这种情况下,如上所述,可以不需要由平方和装置24以2x定点数据格式将各个缩放后寄存器内容的平方40的中间结果相加38,以输出寄存器26中的结果;而是,平方和装置24只需要中间平方结果421...42N的y比特定点表示。对所有中间平方结果421...42N的求和38产生寄存器26中的平方和装置24的最终结果。
用于确定和考虑缩放因子的另一种可能方法是,首先,平方和装置24对寄存器内容221-22N逐个地进行平方40,以获得2x定点数据格式的中间结果421...42N。然后,由平方和装置24将中间结果421...42N求和38。针对未用比特的数目和/或2x与有效位置数目之差,控制装置36检查得到的2x定点平方和结果,以在平方和装置24将结果输入到结果寄存器26中之前,对平方和装置24的2x比特平方和结果执行对应的、移动相应比特数的左移运算。相比于前述的可能方法,该过程的缺点在于,因为必须以2x字宽对值421...42N进行处理,尤其是要对值421...42N执行求和操作38,所以平方和装置24的内部计算开销增加了。为此,需要执行能量更高的加法计算单元,或者必须更加频繁地控制具有分配的溢出比特的y比特定点数据格式加法计算单元。采用这种可能方法,平方和装置24首先单独地将寄存器221-22N中的值平方,然后将2x比特定点平方值421...42N求和(38),之后,根据控制单元36的缩放因子信息对结果进行缩放,并将结果输出至寄存器26。
在优选地采用x=24比特而实现的实施例中,寄存器26具有y=2x位置的长度。在优选地采用x=32比特而实现的实施例中,只要在平方期间或在平方之后,但是在存储到寄存器之前,在对421...42N的平方中,执行将位置减少到x个位置。然后,以x比特字宽实现求和。因此,寄存器26只包括y=x个位置。则取对数装置也可以优选地包括x个位置。
利用有效缩放因子,几乎可以最优地调整结果寄存器26中的有效比特数。此时,取对数装置28接收来自寄存器26的y比特定点表示,(其中,如果需要,扣除更高精度所需的剩余比特位置),并对其进行以上参照图3而论述的LD64格式转换,以将结果以z比特定点数据格式输入到寄存器30中,其中优选地,z=y,y=x。
结果寄存器30中的结果表示寄存器221-22N中的值的平方和的缩放后对数表示。此时,再缩放装置32通过从寄存器30中的缩放后的值中减去从控制装置36接收的校正值44,将缩放逆转。在LD64格式情况下,如上所述的校正值相当于LD64(s),其中s是对结果寄存器26中的平方和进行缩放所用的有效缩放因子。
然后,再缩放装置32以定点数据格式将结果输出至寄存器34。
参照图4,对本发明优选实施例的功能进行粗略描述,而不进一步涉及可能的硬件实现。图5略微详细地示出了图4设备的可能实现方式。图5的设备由60总体指示,包括存储器62、控制装置64、移位装置66、平方器68、求和器70、取对数器72、除法器74和减法器70。所有模块62-76经由例如总线或程序接口78彼此可通信地相连。装置66-76可以采用硬件实现,但是也可以部分地作为由控制装置64执行的相应程序代码,以实现相应任务。模块66-76中每个必须只能够处理x比特定点数据格式的操作数。在模块66-76中,模块66-70形成平方和装置80,而取对数器72和触发器74组合形成取对数装置82。
例如,控制装置64由程序控制,并使放置在x比特存储位置841...84N中的、存储器62中的x比特定点数据格式的值的平方和创建得以执行。参照图6,描述控制器64的确切功能。这里,具体假定存储位置841...84N中的x比特定点值是频群的频线值。
首先,控制装置100检查存储位置841...84N中的群的频线值,并调整公共缩放因子。如上所述,基于数目N和存储位置841...84N中的未用比特位置的最小数目,执行步骤100中的调整。具体地,控制装置100将公共缩放因子调整为2的幂,例如2s。可选地,控制装置64调整与公共缩放因子2s相对应的移位值s。控制装置将值s或2s输入内部或外部寄存器101中,以进行锁存。
在随后步骤102中,控制装置64使移位装置66根据公共缩放因子和/或移位值,将存储位置841...84N的、具有群的频线值的内容左移s比特位置。
在步骤104中,控制装置64使平方器68将存储位置841...84N中的每个值平方,并将2x比特结果的高半部分写回到相应存储位置841...84N中。例如,平方器68是乘法器,其中控制装置104要平方的各个值从存储位置841...84N之一中写入乘法器的两个x比特被乘数寄存器中。例如,平方器内部可以包括2x比特结果寄存器,然而,控制装置64确保只将高半部分(即,x比特定点平方值)写回到相应的存储位置841...84N中。可选地,平方器只预先计算一个x比特表示,因此只有一个x比特输出寄存器。
此后,在步骤106,控制装置64利用求和器70,创建存储位置841...84N的所有内容的和。可以开始于前两个值之和,并以x比特定点数据格式将结果写入x比特和寄存器86中。然后,控制装置64可以使用求和器70,以逐个地将存取位置86的值与后续值相加,并用得到的和盖写存储位置86中的先前的每个值。可选地,控制装置64可以确保将和写入存储位置841...84N之一,并在其中进行累加。
在步骤108中,控制装置64命令取对数器72对存储位置86中的和取对数,然后,命令除法器74将结果除以64。例如,将取对数器72的中间结果写回到存储位置86中,对于除法器74的结果也是如此。如果除数是2的幂,则可以将除法器实现为简单的移位装置。
因此,在步骤108之后,平方和的取对数的缩放后表示出现在存储位置86中。在步骤110,控制装置命令减法器76从存储位置86中的已经过除法和取对数的值中减去取决于锁存101中存储的缩放因子s的值,即,值2*s/64。
在参照图4-6描述了本发明优选实施例之后,下面,对其中实现根据上述实施例的装置的音频编码器实施例进行论述。
图7中由150总体指示的音频编码器包括变换装置152、群能量计算装置154和码流产生器156,它们串联在编码器150的输入158和输出160之间。码流产生器160使用心理声学模型162,以根据例如要编码并存在于输入158处的音频信号164来产生不相关信息,输出158的距离只略微或者根本不影响在输出160出输出的编码数据流的音频质量。虽然图7中未示出,但是码流产生器156经由反馈路径与变换装置152或群能量计算装置154连接。
例如,存在于输入158的音频信号164作为以预定采样频率进行采样的音频采样值序列而存在。例如,音频信号164可以是PCM格式。在164处,相对于时间t而绘制音频信号,其中纵轴表示单位任意的幅度A。
然后,变换装置152通过将音频信号164分解为其频谱分量,将音频信号164从时域变换到频谱域。例如,变换装置152可以具体包括具有32个带通滤波器的分析滤波器组。更精确地,变换装置152将音频信号164逐段地分解为频谱分量。对其执行频谱分解的段或帧166在时间上彼此交叠例如50%。在每个频谱分量中,针对每个连续帧创建频谱值和/或频线值,这由变换装置152所产生的频谱图168中的点示出。这样,对于每个频谱分量,从频线值序列中创建频线,其中在168处用水平箭头指示频线,在视觉上只针对3个指示出的帧166在频线值中进行分裂。在频谱图168中,沿频谱轴或频率轴f设置任意数目的频线,但是频线的实际数目会更大。
基于由此创建的频谱图168,码流产生器156产生编码数据流。为此,然而码流产生器156并不或并不总是需要所有频谱分量的频谱分解。而是,根据心理声学将频线分裂为由圆圈指示的群170。
为了产生每个群170的码流,码流产生器156具体需要每个帧166的关联信号能量值,即,幅度值的平方和,也就是频线值的平方和。
这种计算由群能量计算装置154执行。群能量计算装置154针对每个群170计算作为频线平方和的信号能量,例如,将群能量计算装置154配置为如图4和5中所示和/或图4-6中所述的功能。群能量计算装置154的结果是信号能量值序列172,即,每个群173一个序列172。因此,信号能量序列172中,每一帧166一个信号能量值,这通过点沿箭头172示出。
基于这些信号能量值序列172,码流产生器156根据心理声学模型162产生编码数据流160。这里,装置156在信号能量值的再处理过程中的一个优点不但是存在作为频线值的、以具有相同数目的比特的定点数据格式而存在的值,而且值存在于对数范围中,这一范围使乘法运算、指数运算和除法运算的执行更简单,因为这些计算操作在对数范围中转换为更加简单的加法/减法以及乘法/除法。
为了说明这一点,考虑图7的编码器输出MPEG数据流的情况。
例如,图7的音频编码器是MPEG AAC编码器。在这种情况下,码流产生器156包括TNS(时间噪声成形)模块,在其中码流产生器156有效地计算能量加权频谱。具体地,TNS模块执行这种信号能量SE的计算,即x=1/???。因为由群能量计算装置154使用信号能量,所以对于采用对数格式LD64的信号能量,上述计算更加容易实现。TNS模块简单地将X计算为LD64-1(-LD64_SE>>1),其中a>>b指示左侧的操作数a以右侧数b右移的移位操作,而LD64-1()是对数函数LD64()的反函数,LD64_SE是由群能量计算装置154输出的对数LD64格式的信号能量值。因此,“>>1”指示右移一位,这与除以2相对应。当在对数范围内执行时,除以2对应于线性范围中的平方根运算。减号对应于线性范围中的反函数1/x。相比于在线性范围中将信号能量输入码流产生器156时所需要的计算结果的平方根和对结果应用反函数,可以以较低的复杂度来实现LD64-1函数的计算。
码流产生器156也可以产生编码MPEG4AAC数据流,并包括PNS(感知噪声替代)模块。PNS模块在内部计算听力阈值与频群170中的信号能量之间的距离。具体地,PNS模块通过听力阈值与信号能量之间的距离,确定是否可以或应该执行噪声替代。由群能量计算单元154输出时信号能量的对数表示的较大动态范围和相关精度、以及在码流产生器156中以对数表示LD64形式提供的听力阈值会对正确的PNS确定作出必要的贡献。具体地,在PNS模块中的相干函数中,进行形式为 的除法和平方根计算,其中SE1、SE2和SE3是由群能量计算装置154输出的信号能量。信号能量的对数表示在较大程度上方便并加速了该计算。具体地,码流产生器156中的PNS模块可以通过如下计算,执行LD64Y的计算,即,以LD64格式来计算Y:
LD64_Y=LD64_SE1-((LD64_SE2+LD64_SE3)>>1),
其中LD64_SE#是由群能量计算装置154输出的各个信号能量值SE#的对数表示。
例如,码流产生器156也可以包括执行中心/侧编码决策的中心/侧立体声模块。在该CS模块中,从听力阈值到信号能量,计算多个除法,以决定是否使用中心/侧(CS)编码。通过使用由群能量计算装置154输出的LD64格式,这些除法转换为简单的减法。决定是否使用CS编码时所用的阈值是常数,从而可以在源代码中将其转换到对数范围,因此除了程序运行时间之外,不需要其他计算时间。这适用于与LD64结合的已修正代码中所使用的更多常数。上述内容也特别适用于MPEG Layer-3或ACC编码器的强度立体声模块。
码流产生器156还可以包括执行响度计算的缩放因子估计器。在例如位于码流产生器156的量化模块中的缩放因子估计器中,执行听力阈值的四次根的计算,即,响度计算。通过用对数数据格式(即,LD64)表示听力阈值,可以通过简单地将对数均值阈值右移2位,来非常高效地执行四次根的计算。求逆步骤,即,与4的相乘(involution)也可以通过左移2位来非常简单地执行。
在码流产生器156的缩放因子估计器中,例如还可以根据修正的听力阈值LT和信号能量SE,计算构成量化步长宽度的一部分的缩放因子SCF。该计算包括形式为SCF=log(k*LT/SE)的计算步骤,其中log()是常用对数,k是常数。通过使用LD64格式和原始公式的对应转换,可以非常高效地实现该计算。缩放因子估计器具体地执行计算:SCF=log(k)+log2*64*(LD64_LT-LD64_SE)。
码流产生器156内的可能模块的上述示例示出了使用对数数据格式LD64会促进定点处理器的效率提高。在许多情况下,如果要达到特定音频质量,对数数据格式LD64几乎可以在这些平台上以较高音频质量实现音频编解码器。
码流产生器156内的可能模块的上述示例具体示出了以对数数据格式表示信号能量、听力阈值和其他能量值是非常合适的,因为在信号能量和听力阈值的处理中,大多数计算步骤是通过除法或乘法执行的。因此,除法转换为减法,乘法转换为加法,通过使用所示的对数数据格式,可以在音频编码器中产生信号能量和听力阈值的高效表示和处理。线性范围中(即,非对数范围中)的信号能量可以表示为分数定点数据格式,其具有值范围-1.0到+0.99999...。
在上述实施例中,使用以2为底的对数,即,底2对数LD。在底2对数中,线性范围中的信号能量值0.25对应于LD值-2。线性范围中的信号能量值0.3对应于LD值-1.7369656。在定点处理器上,典型地,可以表示整数值或分数值,但是无法表示混合的值,在前述实施例中,在仅获得分数值的LD格式的情况下,对LD值进行缩放。当然,另一种可能方法是选择只获得整数值的缩放。具体地选择使用因子1/64的缩放,因为该因子适用于所有高达64比特的字宽,从而也覆盖了48比特和32比特的常规字宽。根据公式y=log2(x)/64=LD64(x)执行用1/64进行缩放的底2对数的计算,即,LD64格式。在放弃扩展的便携性的情况下,当然也可以将该因子增大,即,增大到1/y,其中y是未取对数的缩放后的平方和的比特数。
图3示出了对数函数图。这里,可以看到对数函数的特点,对于具有实际上不太精确的定点表示的较小输入值x(接近0.0),该对数函数提供对数范围中的更大量的输出值y,即,更小的分辨率,输出值y在幅度上更大,即,更接近-1.0,因此在定点表示中更加精确。根据上述实施例,通过平方之前的公共缩放因子和/或公共移位值,避免了在转换到对数范围之前信号能量计算中的精度损失。
因此,图7的实施例示出了用于表示和处理信号能量和听力阈值的心理声学模型和/或量化模块中的使用缩放后或者甚至未缩放的对数数据格式的编码器。然而,要理解,以上底2对数和1/64缩放的描述只是示例。在任何情况下,对数表示用于实现诸如量化模块的中心/侧决策模块和缩放因子估计器中的大量计算的更快执行。如上所述,这是因为通过使用对数格式,原本存在的除法转换为在定点处理器上可以以快许多倍的速度执行的简单减法。这同样适用于根计算,例如平方根、四次根等的计算,根计算转换为简单的右移。该算法稍后步骤中的速度提高大大地补偿了向对数范围转换所需要的计算开销。因此,上述实施例的优点具体在于以对数形式表示的值的更高精度、以及使用对数表示时的更高处理速度。
参照以上描述,要理解,本发明不限于定点数据格式。以上涉及值的平方和的创建的实施例也可以合理地应用于不是以定点数据格式而是以整型数据格式而存在的值。在这种情况下,可以对2x比特平方和结果中的较高值y比特进行取对数。
根据上述实施例,使用取对数的函数,其中,执行1/64的缩放。如果在不同平台上以不同定点数据格式来运行同一编码处理,则该因子是合理的。然而,对数函数中的该因子也可以只大于x,即,比提供用于平方求和的值的比特数大。
此外,要理解,对于上述实施例,本发明不限于平方和的创建。例如,如果存在只有一个值的群,从而只执行一个编码处理,则本发明也是有利的。在这种情况下,当然,控制器根本不必预测缩放因子信息。而是,在这种情况下,用于在平方之前进行缩放的缩放因子是从有效比特数和/或未用比特数中自动产生的。一般而言,本发明可以用于创建线性依赖于值的平方的结果的表示。
参照以上描述,还要理解,本发明不限于在音频编码中的使用。在其他应用领域,例如在向音频文件设置水印等情况下,也可以获得相对于音频编码所述的相同优点,即,对于各个单独信号能量实现相同的缩放等级,同时保持动态范围,并减小音频编码开销。
特别是要理解,依据情况,本发明方案也可以采用软件实现。该实现方式可以在数字存储介质上进行,特别是在具有与可编程计算机系统协作的电可读控制信号的软盘或CD上,从而可以执行相应方法。通常,本发明也包括具有程序代码的计算机程序产品,程序代码存储在机器可读载体上,并在计算机上运行该计算机程序代码时执行本发明方法。换言之,本发明可以实现为具有程序代码的计算机程序,程序代码用于在计算机上运行该计算机程序时执行该方法。
Claims (17)
1.一种音频编码器,包括:
用于计算信息幅度信号的频谱群信号能量的设备,所述设备包括:
变换装置,用于将信息幅度信号分解为频谱分量,以获得每个频谱分量一个频谱线,每个频谱线包括以未取对数的x比特表示而存在的频谱值的序列,所述频谱线被归入到不同的频谱群;
处理装置,用于针对每个频谱群,对每个频谱值的未取对数的x比特表示执行平方运算,以获得相应的平方频谱值,并对所述平方频谱值执行求和,以获得平方和,作为未取对数的y比特表示形式的计算结果,其中所述处理装置被配置,以便使用有效缩放因子对所述计算结果的未取对数表示进行缩放;
取对数装置,用于针对每个计算结果,向所述计算结果的未取对数表示的y比特应用对数函数,以获得所述计算结果的已取对数的缩放后表示,其中y小于2x;以及
再缩放装置,用于针对每个已取对数的缩放后表示,相应地向所述缩放后对数表示加上校正值或从中减去校正值,以获得所述计算结果的已取对数的表示,作为相应频谱群的信号能量,以使所有频谱群的信号能量包括相同的缩放等级,其中所述校正值与应用于所述有效缩放因子的对数函数相对应;
以及
码流产生器,用于根据所述频谱群的信号能量值,产生对信息幅度信号的编码形式进行表示的编码数据流。
2.根据权利要求1所述的音频编码器,其中所述处理装置配置为预计定点数据格式的所述频谱群中每个频谱值的x比特表示。
3.根据权利要求1所述的音频编码器,还包括:
控制装置,用于驱动所述处理装置,以使所述有效缩放因子取决于值的频谱群中频谱值的数目。
4.根据权利要求1所述的音频编码器,还包括:
控制装置,用于依据频谱值的数目,调整公共缩放因子,
所述处理装置包括:
缩放装置,用于依据所述公共缩放因子,对所述未取对数的x比特表示进行缩放,以获得x比特表示的缩放后频谱值;
平方装置,用于对每个缩放后频谱值的x比特表示进行平方,以获得缩放后平方频谱值;以及
求和装置,用于对缩放后平方频谱值进行求和,以获得平方和。
5.根据权利要求4所述的音频编码器,其中以定点数据格式表示每个频谱值的所述未取对数的x比特表示,所述控制装置配置为依据所述频谱值的x比特表示中未用比特位置的最小数目来进一步执行所述调整。
6.根据权利要求4所述的音频编码器,其中所述控制装置配置为将所述公共缩放因子调整为2的k次幂,所述缩放装置配置为在x比特值寄存器中将所述频谱群的频谱值的x比特表示移位k比特。
7.根据权利要求4所述的音频编码器,其中所述平方装置包括2x结果寄存器,并配置为在所述2x结果寄存器中以2x比特表示方式存储缩放后平方频谱值中的预定缩放后平方频谱值,所述求和装置配置为从所述2x结果寄存器中读取2x比特表示的y比特段,同时忽略所述2x结果寄存器中的剩余比特,以将所述y比特段与其他缩放后平方频谱值的y比特段求和,并将平方和写入y比特寄存器。
8.根据权利要求1所述的音频编码器,其中所述取对数装置配置为处理所述未取对数的y比特表示,以使已取对数的缩放后表示与所述未取对数的y比特表示的底2对数的y比特表示除以大于或等于y的数而得到的结果相对应,所述再缩放装置配置为向已取对数的缩放后表示加上或从中减去与所述有效缩放因子的底2对数除以所述数相对应的量。
9.根据权利要求1所述的音频编码器,其中所述处理装置、所述取对数装置和所述再缩放装置配置为以定点数据格式进行操作。
10.根据权利要求1所述的音频编码器,实现为定点处理器。
11.根据权利要求1所述的音频编码器,其中y等于x。
12.根据权利要求1所述的音频编码器,其中所述信息幅度信号是音频信号。
13.根据权利要求12所述的音频编码器,其中所述码流产生器配置为进一步根据心理声学模型,产生编码数据流。
14.根据权利要求12所述的音频编码器,其中所述码流产生器是MPEG 1/2Layer-3编码器或MPEG 2/4AAC编码器。
15.根据权利要求8所述的音频编码器,其中所述未取对数的y比特表示的底2对数的y比特表示所除以的所述数是64,并且y=x=32。
16.根据权利要求1到15之一所述的音频编码器,
其中所述取对数装置配置为对所述计算结果的未取对数的y比特表示进行处理,以使已取对数的缩放后表示与所述计算结果的未取对数的y比特表示的底2对数的y比特表示除以大于或等于y的数而得到的结果相对应,所述再缩放装置配置为向已取对数的缩放后表示加上或从中减去与所述有效缩放因子的底2对数除以所述数相对应的量;以及
码流产生器根据所述频谱群的信号能量值,产生对信息幅度信号的编码形式进行表示的编码数据流。
17.一种音频编码方法,包括:
通过如下来计算信息幅度信号的信号能量:
将信息幅度信号分解为频谱分量,以获得每个频谱分量一个频谱线,每个频谱线包括以未取对数的x比特表示而存在的频谱值的序列,并且所述频谱线被归入不同的频谱群;
针对每个频谱群,对每个频谱值的未取对数的x比特表示执行平方运算,以获得相应的平方频谱值,并对所述平方频谱值执行求和,以获得平方和,作为未取对数的y比特表示形式的计算结果,其中,进行所述执行,以便使用有效缩放因子对所述计算结果的未取对数表示进行缩放;
针对每个计算结果,向所述计算结果的未取对数表示的y比特应用对数函数,以获得所述计算结果的已取对数的缩放后表示,其中y小于2x;以及
针对每个已取对数的缩放后表示,相应地向所述缩放后对数表示加上校正值或从中减去校正值,以获得所述计算结果的已取对数的表示,作为所述信号能量,以使所有频谱群的信号能量包括相同的缩放等级,其中所述校正值与应用于所述有效缩放因子的对数函数相对应;
以及
根据所述频谱群的信号能量值,产生对信息幅度信号的编码形式进行表示的编码数据流。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102004059979.3 | 2004-12-13 | ||
DE102004059979A DE102004059979B4 (de) | 2004-12-13 | 2004-12-13 | Vorrichtung und Verfahren zur Berechnung einer Signalenergie eines Informationssignals |
PCT/EP2005/013383 WO2006063797A2 (de) | 2004-12-13 | 2005-12-13 | Verfahren zum bilden einer darstellung eines von einem quadrat eines wertes linear abhängigen berechnungsergebnisses |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101147122A CN101147122A (zh) | 2008-03-19 |
CN101147122B true CN101147122B (zh) | 2012-07-18 |
Family
ID=36390168
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2005800480525A Active CN101147122B (zh) | 2004-12-13 | 2005-12-13 | 用于创建对线性依赖于值平方的计算结果的表示的方法 |
Country Status (19)
Country | Link |
---|---|
US (1) | US8037114B2 (zh) |
EP (2) | EP1843246A3 (zh) |
JP (2) | JP4954087B2 (zh) |
KR (1) | KR100921795B1 (zh) |
CN (1) | CN101147122B (zh) |
AU (1) | AU2005315826B2 (zh) |
BR (1) | BRPI0517176B1 (zh) |
CA (1) | CA2590509C (zh) |
DE (1) | DE102004059979B4 (zh) |
ES (1) | ES2596275T3 (zh) |
HK (1) | HK1105233A1 (zh) |
IL (1) | IL183835A (zh) |
IN (1) | IN266829B (zh) |
MX (1) | MX2007006805A (zh) |
NO (1) | NO341726B1 (zh) |
PL (1) | PL1825356T3 (zh) |
PT (1) | PT1825356T (zh) |
RU (1) | RU2375743C2 (zh) |
WO (1) | WO2006063797A2 (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102004059979B4 (de) | 2004-12-13 | 2007-11-22 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Vorrichtung und Verfahren zur Berechnung einer Signalenergie eines Informationssignals |
GB0817977D0 (en) * | 2008-10-01 | 2008-11-05 | Craven Peter G | Improved lossy coding of signals |
US8311843B2 (en) * | 2009-08-24 | 2012-11-13 | Sling Media Pvt. Ltd. | Frequency band scale factor determination in audio encoding based upon frequency band signal energy |
CA2777578C (en) * | 2009-10-14 | 2016-06-28 | Nippon Paper Industries Co., Ltd. | Methods for determining the degree of deposition of contaminants |
JP2012235832A (ja) * | 2011-05-10 | 2012-12-06 | Canon Inc | 被検体情報取得装置 |
EP2980801A1 (en) * | 2014-07-28 | 2016-02-03 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Method for estimating noise in an audio signal, noise estimator, audio encoder, audio decoder, and system for transmitting audio signals |
US10020002B2 (en) * | 2015-04-05 | 2018-07-10 | Qualcomm Incorporated | Gain parameter estimation based on energy saturation and signal scaling |
US10559315B2 (en) * | 2018-03-28 | 2020-02-11 | Qualcomm Incorporated | Extended-range coarse-fine quantization for audio coding |
DE102022200283A1 (de) * | 2022-01-13 | 2023-07-13 | Robert Bosch Gesellschaft mit beschränkter Haftung | Radarsystem und Verfahren zum Betreiben eines Radarsystems |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1132877A (zh) * | 1995-04-01 | 1996-10-09 | 现代电子产业株式会社 | 采用语音多路系统的数字音频编码器 |
CN1239368A (zh) * | 1998-06-16 | 1999-12-22 | 松下电器产业株式会社 | 用于音频编码的动态位分配装置和方法 |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0208712B1 (en) * | 1984-12-20 | 1993-04-07 | Gte Laboratories Incorporated | Adaptive method and apparatus for coding speech |
JPS61188624A (ja) * | 1985-02-15 | 1986-08-22 | Fujitsu Ltd | 固定小数点演算装置 |
US5197024A (en) | 1989-06-14 | 1993-03-23 | Pickett Lester C | Method and apparatus for exponential/logarithmic computation |
JP2948378B2 (ja) * | 1991-09-28 | 1999-09-13 | 富士ゼロックス株式会社 | 重力多体系および電気力多体系用相互作用力計算用処理装置 |
JP3217576B2 (ja) * | 1993-02-22 | 2001-10-09 | テキサス インスツルメンツ インコーポレイテツド | 集積オーディオデコーダ装置及び動作方法 |
US5764698A (en) * | 1993-12-30 | 1998-06-09 | International Business Machines Corporation | Method and apparatus for efficient compression of high quality digital audio |
US5570454A (en) * | 1994-06-09 | 1996-10-29 | Hughes Electronics | Method for processing speech signals as block floating point numbers in a CELP-based coder using a fixed point processor |
JPH08237497A (ja) * | 1995-02-23 | 1996-09-13 | Canon Inc | 画像処理装置及び方法 |
US5608663A (en) * | 1995-03-03 | 1997-03-04 | Motorola, Inc. | Computational array circuit for providing parallel multiplication |
US5699485A (en) * | 1995-06-07 | 1997-12-16 | Lucent Technologies Inc. | Pitch delay modification during frame erasures |
US5719998A (en) | 1995-06-12 | 1998-02-17 | S3, Incorporated | Partitioned decompression of audio data using audio decoder engine for computationally intensive processing |
JP3110288B2 (ja) * | 1995-07-21 | 2000-11-20 | 日本電気株式会社 | 指数対数変換回路 |
US5864802A (en) * | 1995-09-22 | 1999-01-26 | Samsung Electronics Co., Ltd. | Digital audio encoding method utilizing look-up table and device thereof |
KR100335609B1 (ko) | 1997-11-20 | 2002-10-04 | 삼성전자 주식회사 | 비트율조절이가능한오디오부호화/복호화방법및장치 |
JPH11242585A (ja) * | 1998-02-24 | 1999-09-07 | Sony Corp | 除算回路およびグラフィック演算装置 |
US6351730B2 (en) * | 1998-03-30 | 2002-02-26 | Lucent Technologies Inc. | Low-complexity, low-delay, scalable and embedded speech and audio coding with adaptive frame loss concealment |
DE19826252C2 (de) * | 1998-06-15 | 2001-04-05 | Systemonic Ag | Verfahren zur digitalen Signalverarbeitung |
JP2000151414A (ja) * | 1998-11-12 | 2000-05-30 | Matsushita Electric Ind Co Ltd | ディジタルオーディオ符号化装置、同符号化方法、及び同符号化プログラムを記録した記録媒体 |
US6341300B1 (en) * | 1999-01-29 | 2002-01-22 | Sun Microsystems, Inc. | Parallel fixed point square root and reciprocal square root computation unit in a processor |
US6516049B1 (en) * | 2000-06-06 | 2003-02-04 | Ikanos Communications, Inc. | Method and apparatus for insertion loss estimation in wireline communications |
US6754618B1 (en) * | 2000-06-07 | 2004-06-22 | Cirrus Logic, Inc. | Fast implementation of MPEG audio coding |
JP2002196792A (ja) * | 2000-12-25 | 2002-07-12 | Matsushita Electric Ind Co Ltd | 音声符号化方式、音声符号化方法およびそれを用いる音声符号化装置、記録媒体、ならびに音楽配信システム |
US6732071B2 (en) | 2001-09-27 | 2004-05-04 | Intel Corporation | Method, apparatus, and system for efficient rate control in audio encoding |
DE10217297A1 (de) | 2002-04-18 | 2003-11-06 | Fraunhofer Ges Forschung | Vorrichtung und Verfahren zum Codieren eines zeitdiskreten Audiosignals und Vorrichtung und Verfahren zum Decodieren von codierten Audiodaten |
DE10234130B3 (de) | 2002-07-26 | 2004-02-19 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Vorrichtung und Verfahren zum Erzeugen einer komplexen Spektraldarstellung eines zeitdiskreten Signals |
SG135920A1 (en) | 2003-03-07 | 2007-10-29 | St Microelectronics Asia | Device and process for use in encoding audio data |
DE102004059979B4 (de) | 2004-12-13 | 2007-11-22 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Vorrichtung und Verfahren zur Berechnung einer Signalenergie eines Informationssignals |
-
2004
- 2004-12-13 DE DE102004059979A patent/DE102004059979B4/de not_active Expired - Fee Related
-
2005
- 2005-12-13 BR BRPI0517176-8A patent/BRPI0517176B1/pt active IP Right Grant
- 2005-12-13 KR KR1020077013249A patent/KR100921795B1/ko active IP Right Grant
- 2005-12-13 ES ES05850069.5T patent/ES2596275T3/es active Active
- 2005-12-13 MX MX2007006805A patent/MX2007006805A/es active IP Right Grant
- 2005-12-13 PL PL05850069T patent/PL1825356T3/pl unknown
- 2005-12-13 CA CA2590509A patent/CA2590509C/en active Active
- 2005-12-13 PT PT58500695T patent/PT1825356T/pt unknown
- 2005-12-13 RU RU2007126655/09A patent/RU2375743C2/ru active
- 2005-12-13 EP EP07013279A patent/EP1843246A3/de not_active Ceased
- 2005-12-13 CN CN2005800480525A patent/CN101147122B/zh active Active
- 2005-12-13 EP EP05850069.5A patent/EP1825356B1/de active Active
- 2005-12-13 IN IN2141KON2007 patent/IN266829B/en unknown
- 2005-12-13 AU AU2005315826A patent/AU2005315826B2/en active Active
- 2005-12-13 JP JP2007545932A patent/JP4954087B2/ja active Active
- 2005-12-13 WO PCT/EP2005/013383 patent/WO2006063797A2/de active Application Filing
-
2007
- 2007-06-07 NO NO20072916A patent/NO341726B1/no unknown
- 2007-06-11 IL IL183835A patent/IL183835A/en active IP Right Grant
- 2007-06-13 US US11/762,690 patent/US8037114B2/en active Active
- 2007-08-16 JP JP2007212119A patent/JP4953978B2/ja active Active
- 2007-12-12 HK HK07113569.7A patent/HK1105233A1/zh unknown
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1132877A (zh) * | 1995-04-01 | 1996-10-09 | 现代电子产业株式会社 | 采用语音多路系统的数字音频编码器 |
CN1239368A (zh) * | 1998-06-16 | 1999-12-22 | 松下电器产业株式会社 | 用于音频编码的动态位分配装置和方法 |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101147122B (zh) | 用于创建对线性依赖于值平方的计算结果的表示的方法 | |
Padgett et al. | Fixed-point signal processing | |
US20040225505A1 (en) | Audio coding systems and methods using spectral component coupling and spectral component regeneration | |
CN101821953A (zh) | 用于信号的低复杂度组合编码的设备和方法 | |
CN101517551A (zh) | 用于信号的低复杂度组合编码的装置和方法 | |
Riedy et al. | Augmented arithmetic operations proposed for IEEE-754 2018 | |
CN103238180A (zh) | 信号处理设备、信号处理方法及信号处理程序 | |
US8214200B2 (en) | Fast MDCT (modified discrete cosine transform) approximation of a windowed sinusoid | |
Ray et al. | CORDIC-based unified VLSI architecture for implementing window functions for real time spectral analysis | |
Papakostas et al. | Numerical stability of fast computation algorithms of Zernike moments | |
US4475167A (en) | Fast coefficient calculator for speech | |
Pappalardo et al. | An application-oriented analysis of power/precision trade-off in fixed and floating-point arithmetic units for VLSI processors. | |
US20090319589A1 (en) | Using fractional exponents to reduce the computational complexity of numerical operations | |
Glauser | The Design of a 24-bit Hardware Gaussian Noise Generator via the Box-Muller Method and its Error Analysis | |
Buehler | A methodology for designing and analyzing fixed-point implementations of computational data paths | |
Srinivas et al. | PRACTICAL ORIENTED ANALYSIS ON THE SIGNAL PROCESSING USING FFT ALGORITHM | |
Pan et al. | Error-free computations via floating-point operations | |
JP2020166661A (ja) | 除算装置、除算方法及びプログラム | |
Richey | The application of irregular data formats for improved performance in 16-bit digital signal processing systems | |
Stankiewicz | Computer modeling of multiple-channel input signals and intermodulation losses caused by nonlinear traveling wave tube amplifiers | |
Hossen et al. | General Sub-Band DCT: Fast Approximate Adaptive Algorithm | |
Rajagopal et al. | TRUNCATED ON-LINE ARITHMETIC WITH | |
Schechter | Computer summation of series: Floats vs reals | |
Pan et al. | TR-2007010: Error-Free Computations via Floating-Point Operations | |
Sagar et al. | Reconfigurable FFT System On Chip (SOC) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |