CN101523485A - 音频编码装置、音频解码装置、音频编码方法、音频解码方法和信息记录介质 - Google Patents
音频编码装置、音频解码装置、音频编码方法、音频解码方法和信息记录介质 Download PDFInfo
- Publication number
- CN101523485A CN101523485A CNA2007800366177A CN200780036617A CN101523485A CN 101523485 A CN101523485 A CN 101523485A CN A2007800366177 A CNA2007800366177 A CN A2007800366177A CN 200780036617 A CN200780036617 A CN 200780036617A CN 101523485 A CN101523485 A CN 101523485A
- Authority
- CN
- China
- Prior art keywords
- frequency
- frequency band
- value
- audio
- unit
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 138
- 238000013139 quantization Methods 0.000 claims description 77
- 238000003860 storage Methods 0.000 claims description 66
- 238000004364 calculation method Methods 0.000 claims description 15
- 238000011002 quantification Methods 0.000 claims description 13
- 230000009466 transformation Effects 0.000 claims description 9
- 238000011084 recovery Methods 0.000 claims description 7
- 230000008569 process Effects 0.000 abstract description 72
- 230000005236 sound signal Effects 0.000 abstract description 40
- 238000001228 spectrum Methods 0.000 abstract description 27
- 238000012545 processing Methods 0.000 description 35
- 238000006073 displacement reaction Methods 0.000 description 34
- 238000010586 diagram Methods 0.000 description 17
- 230000006854 communication Effects 0.000 description 16
- 238000004891 communication Methods 0.000 description 16
- 238000007906 compression Methods 0.000 description 15
- 230000006835 compression Effects 0.000 description 14
- 238000006243 chemical reaction Methods 0.000 description 13
- 230000008859 change Effects 0.000 description 10
- 238000012856 packing Methods 0.000 description 9
- 230000035945 sensitivity Effects 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000004069 differentiation Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000008447 perception Effects 0.000 description 3
- 230000000873 masking effect Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000003595 spectral effect Effects 0.000 description 2
- ATJFFYVFTNAWJD-UHFFFAOYSA-N Tin Chemical compound [Sn] ATJFFYVFTNAWJD-UHFFFAOYSA-N 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000003321 amplification Effects 0.000 description 1
- 230000007175 bidirectional communication Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000003467 diminishing effect Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 230000007704 transition 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
- G10L19/035—Scalar quantisation
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (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)
Abstract
在编码过程中,CPU(9121)将音频信号从实时域变换为频域,并将该信号变换为由多个MDCT系数组成的频谱。CPU(9121)将音频信号划分为几个频带,在每一个频带内执行比特移位,以便可以用预先配置的比特数表示MDCT系数。CPU(9121)针对各个频带以不同的精度重新量化MDCT系数,将由此获得的数值和移位比特数作为编码数据发送。同时,在解码过程中,CPU(9121)接收编码数据,逆重新量化和逆比特移位该数据,从而恢复MDCT系数。而且,CPU(9121)通过使用逆MDCT,将数据从频域变换为实时域,恢复并输出音频信号。
Description
技术领域
本发明涉及一种音频编码装置、音频解码装置、音频编码方法、音频解码方法和信息记录介质,其能够以高质量和高速度编码和解码音频信号。
背景技术
在通信量受限制的条件下进行的音频通信中,必须创新性地使用音频信号编码和解码处理,以便在数据最少的情况下以可实现的最大音频质量进行通信。
一个这种创新的方向包括有效的利用人听觉的特性。
作为考虑了听觉的特性的一种音频编码方法,例如在日本未审日本专利申请KOKAI(特开平)公开No.H7-46137和JIS Std.No.JISX4323中所述的,已知了多种方法,在这些方法中,在将音频信号转换为频谱后,将频谱分为多个子带,同时考虑由听觉特性得到的关键区域。
作为结果,考虑了用于每一个上述子带的信号值、掩蔽电平、噪声等,在计算了编码所必需的比特数之后,进行编码。
然而,在这种方法中,用于计算编码所必需的比特数的过程是复杂的,并且需要许多计算步骤。另外,还存在问题是,计算例如掩蔽电平是重要的。
因此,在执行计算处理的编码装置上的负载变大,存在处理速度变慢的风险。例如,在如移动电话的装置中,有可能实时双向通信会变得困难。为了避免这种情况,不可避免地招致了成本提高,因为必须将特别高性能的计算设备包含在编码装置中等。
因此,需要这样的音频编码装置和解码装置:其能够在考虑听觉特性的同时进行实时通信,而不存在任何实际音频质量问题,其使用了通常性能足够的计算设备。
发明内容
考虑到上述情况而设计的本发明的目的是提供一种音频编码装置、音频解码装置、音频编码方法、音频解码方法和信息记录介质,其能够以高质量和高速度编码和解码音频信号。
为了实现上述目的,根据本发明的第一方面的音频编码装置包括以下:
存储单元(9123),其存储表示由多个第一频带组成的音频数据的每一个频带的频率宽度的信息,所述多个第一频带分别与预定比特数相关联;
离散变换单元(9121),其获得所述音频数据,将所述音频数据从实时域离散变换到频域,并且计算表示每一个频率的音频强度的量化值;
最大值计算单元(9121),其将离散变换得到的频域音频数据划分为具有所述频率宽度的所述多个第一频带,并且计算每一个所划分的第一频带的所计算的量化值之中的最大值;
确定单元(9121),其针对每一个所述第一频带,确定用于表示由所述最大值计算单元计算的最大值所必需的比特数是否超过存储在所述存储单元(9123)中的所述预定比特数;
调整单元(9121),其针对每一个所述第一频带,在由所述确定单元确定所述必需的比特数超过了所述预定比特数的情况下,获得一个除数,并且分别将在该第一频带内的量化值除以这个除数,从而调整所述音频强度,其中这个除数(表示为2的幂的值)是这样的值中的最小值:当用所述最大值除以该值时,所述必需的比特数不超过所述预定比特数;
重新量化单元(9121),其针对具有预定带宽的多个第二频带中的每一个,以预先确定的精度重新量化由所述离散变换单元计算的量化值,或者可替换地,重新量化由所述调整单元调整后的量化值;以及
编码单元(9121),其编码、关联并输出由所述调整单元计算的所述除数和由所述重新量化单元计算的所述量化值。
为了实现上述目的,根据本发明的第二方面的音频解码装置包括以下:
接收器(9161),其接收编码数据,该数据由预定编码方法编码,并由量化的音频数据和数值参数组成,该量化的音频数据的信号强度由针对多个第一频带中的每一个而被调整后的量化值表示,该数值参数表示为2的幂,并且与为音频数据配置的多个设定的第二频带中的每一个频带相关联;
解码单元(9121),其通过使用对应于所述预定编码方法的解码方法,将所述编码数据解码为所述量化的音频数据和所述数值参数;
强度恢复单元(9121),其针对所述多个第二频带中的每一个,将该频带内的已解码的所述量化值乘以与该频带相关联的已解码的所述数值参数,从而恢复所述音频数据的音频强度;以及
离散逆变换单元(9121),其针对所述多个第一频带中的每一个,将恢复强度后的所述音频数据从频域变换到时域。
作为本发明的结果,可以快速反应灵敏的编码/解码音频信号,同时保持高音质。
附图说明
在阅读了以下详细说明和附图后,本发明的这些目的及其它目的和优点会变得更显而易见,其中:
图1显示了根据本发明实施例的音频编码/解码装置的结构;
图2A显示了在MDCT系数和频率之间的关系;图2B是图2A一部分的放大视图;图2C是用于解释中间段(medium-segment)频带的图示;图2D是图2C一部分的放大视图;
图3是显示MDCT系数的比特移位计算过程的流程图;
图4A显示了划分到中间段频带中的音频信号;图4B是用于解释分配给每一个中间段频带的比特数的图示;图4C显示了比特移位的MDCT系数;
图5A显示了划分为三大段频带的整个频域;图5B显示了在重新量化前的比特移位的MDCT系数的对数;图5C显示了重新量化后的比特移位的MDCT系数的对数;
图6A显示了第一实施例中的音频信号编码过程;图6B显示了音频信号解码过程;
图7A显示了第二实施例中的实时域音频信号;图7B显示了动态范围调整前的音频信号;图7C显示了动态范围调整后的音频信号;
图8是显示第二实施例中的动态范围调整过程的流程图;
图9A显示了第二实施例中的编码频带和优先级;图9B和9C显示了基于优先级而编码的MDCT系数熵;
图10是显示第二实施例中的优先级决定过程的流程图;
图11是显示第二实施例中熵编码过程的流程图;
图12A显示了第二实施例中的音频信号处理。图12B显示了音频信号解码过程;
图13是显示第二实施例中音频信号解码过程的流程图;及
图14是显示第二实施例中解码过程的流程图(继续的)。
具体实施方式
(实施例1)
图1显示了根据本发明的音频编码/解码装置9111。例如,移动电话可以用于该装置。音频编码/解码装置9111起到音频数据编码装置的作用,并还起到编码音频数据解码装置的作用。
音频编码装置9111包括CPU(中央处理单元)9121、ROM(只读存储器)9123、存储单元9125、音频处理单元9141、无线通信单元9161和输入接收单元9171。由系统总线9181相互连接它们。系统总线9181是用于发送指令和数据的发送通路。
在ROM 9123中存储了用于音频编码/解码的程序,其使用了下文所述的处理。
存储单元9125包括RAM(随机存取存储器)9131和硬盘驱动器9133。存储单元9125存储数字音频信号、MDCT系数、移位比特数、代码,以及下文中将会说明的小段各自的特性、中间段和大段。
音频编码/解码装置9111还包括麦克风9151、扬声器9153、天线9163以及操作键9173。
麦克风9151拾取发送方用户的音频(语声等),并将其输入音频处理单元9141。扬声器9153输出由音频处理单元9141解码的音频。天线9163将从无线通信单元9161输入的无线信号发送到通信中的另一方的装置,并且还接收从另一方终端发送的无线信号,并将其输入到无线通信单元9161。例如使用了操作键9173来从用户接收用于改变音频信号频带的边界频率的初始配置值的指令输入以及用于指定另一方的指令输入。
作为来自CPU 9121的控制的结果,音频处理单元9141、无线通信单元9161和输入接收单元9171执行各种处理。
借助于在音频处理单元9141中的A/D转换器(图中未示出)将输入到麦克风9151中的音频转换为数字音频信号,例如使用了16KHz采样和16-比特量化。
将获取的数字音频信号时分到多个部分(帧)中,以进行压缩处理,随后由音频处理单元9141发送到存储单元9125。
如下所述,在存储单元9125中将一帧的信号存储为段(segment),由CPU 9121从实时域变换到频域,传输到无线通信单元9161,并由天线9163以无线方式发射。
例如,当存储在存储单元9125中的帧信号由CPU 9121进行了如下所述的处理之后传输到无线通信单元9161时,从存储单元9125中删除这个帧信号数据。此外,将来自音频处理单元9141的下一帧信号存储在存储单元9125中,并且CPU 9121重复这个处理序列。
以此方式,通过连续输入音频信号,CPU 9121逐步地处理多个连续的帧部分。
作为这个处理链的结果,可以实时地处理信号。
下文中,为了理解的简单,将假定跨度仅有一帧时间值的音频输入到麦克风9151中来说明本发明。
例如,由M个信号值组成的音频信号的一个帧被输入到麦克风9151,由音频处理单元9141变换为数字信号x0,…,XM-1,并存储在存储单元9125中。依据预先存储在ROM9123中的程序,CPU 9121执行随后的处理。
就是说,CPU 9121将存储在存储单元9125中的信号x0,…,XM-1装入CPU9121的通用寄存器(图中未示出)中。将实时域信号x0,…,XM-1分别变换为频域信号X0,…,XM/2-1,并存储在通用寄存器中。变换方法可以是用于将实时域信号变换为频域信号的任意方法。然而,实施MDCT(改进的离散余弦变换)是理想的,其易于信号的处理,因为没有产生变换后的数值的虚数部。
这些M个实时域信号值对应于上述频域中的M/2个频率系数值。这是因为使用了MDCT来进行频率变换。在其它方法中,在实时域数据值与频域数据值之间的比值不限于2:1。在这些情况下,可以适当地替换以下说明中的添加到频率系数最终值后面的数字。
图2A示意性地示出了在以这个方式产生的MDCT系数与频率之间的关系。图2B是图2A一部分的放大。由于MDCT是一类离散频率变换,因此将一个信号值分配给分割频段的M/2个小段频带的每一个。如图所示,从低频侧开始计数,将数字k指定给k+1小段频带,并将信号值Xk分配于此(其中0≤k≤M/2-1)。这个信号值Xk称为MDCT系数。
为具有有限时间长度的单一时间段进行一次MDCT。单个时间段称为MDCT块。另外,包含在一个MDCT块中的信号值的数量称为MDCT级数。例如数值512作为MDCT级数是理想的。
由于帧是用于进行音频压缩处理的部分,因此MDCT块的时间长度必须不超过一帧的时间长度。一帧可以包含多个MDCT块。例如一帧包含3到4个MDCT块的情况是理想的。
然而,在这一点上,为了易于理解本发明,一帧和一个MDCT块会采用一一对应的方式。换句话说,一帧会仅对应于一个MDCT块。在本实施例中,MDCT级数是M。
根据前面的图2A,全部MDCT系数都示为正值,但应该意识到这仅是为了易于理解本发明。实际的MDCT系数也可以是负值。与MDCT系数有关的附图最终仅是为了解释目的的示意图。
对于存储在通用寄存器中的每一个MDCT系数Xk(0≤k≤M/2-1),CPU9121重新附加参考数字,以便与MDCT系数相区别。具体而言,CPU 9121以以下方式用两个参考数字重新区分每一个MDCT系数。
首先,如图2C所示,将整个频域划分为ωMaxRANGE个中间段频带,借助从低频开始附加区别数字1,2,…ωMaxRANGE来将每一个频带相区分。
CPU 9121这样来划分频域:使得每一个中间段频带中的中心频率的对数与区别数字线性相关。作为这个划分的结果,中间段频带越靠近高频侧,其频带宽度就越宽。在图2C中示意性的示出了它。
以此方式基于对数进行分割的原因在于,人听力相对于频率差的敏感度随着频率变高呈对数方式减弱。这是这种情况:为了发射由人感知的最高音质并且有可能给出有限的通信量,最好是对音频进行处理以便对具有人听力敏感的低频成分的音频信号进行细致划分,并且对音频进行处理以便对于具有高频成分的音频信号进行宽泛的划分。结果,可以减小总体发送/接收信息量。
例如,在音频处理单元9141以采样频率16kHz将输入到麦克风9151中的音频变换为数字信号时,理想的是提供11个中间段频带,这些中间段频带分别具有187.5Hz、437.5Hz、687.5Hz、937.5Hz、1312.5Hz、1687.5Hz、2312.5Hz、3250Hz、4625Hz和6500Hz的边界。
接下来,CPU 9121决定每一个MDCT系数所属的从低频侧开始计数的中间段频带号。在具有附加编号ωRANGE(其中1≤ωRANGE≤ωMaxRANGE)的中间段频带中,包括了q(ωRANGE)个MDCT系数。
如此进行,由以下来区分全部MDCT系数:(1)用于指示它们所属的是哪一个中间段频带的数字ωRANGE,和(2)用于指示从低频侧开始计数的系数的顺序位置的数字q。在下文中,如图2D所示,将各个MDCT系数表示为X(ωRANGE,1),……,X(ωRANGE,q(ωRANGE))。
CPU 9121将获得的MDCT系数X(ωRANGE,1),……,X(ωRANGE,q(ωRANGE))存储在存储单元9125中。
(比特移位计算过程)
如图3的流程图所示,CPU 9121随后获得MDCT系数的最大值,确定要移位的比特数,进行比特移位,并仅用确定的比特数重新计算MDCT系数。而且,为了易于理解,在图4中显示了MDCT系数的一个示意性实例。
更具体的,CPU 9121将用于区分中间段频带的变量ωRANGE存储在内部计数器寄存器(图中未示出)中。
CPU 9121将ωRANGE设定初始值1(步骤S9311)。CPU 9121从存储单元9125将MDCT系数X(ωRANGE,1),……,X(ωRANGE,q(ωRANGE))装入到通用寄存器(步骤S9313)。接下来,CPU 9121搜索装入的MDCT系数之中的最大的系数(步骤S9315)。换句话说,在具有从低频侧计数的编号ωRANGE的中间段频带中获得其中的MDCT系数的最大值。这个最大值应表示为XMAX(ωRANGE)。
例如在图4A的情况下,将整个频域分为7个中间端频带,每一个频带的MDCT系数的最大值XMAX(1)到XMAX(7)是用水平虚线显示的值。
在存储于ROM 9123中的程序中,为每一个中间段频带配置了用于表示MDCT系数的预定比特数。换句话说,在ROM 9123中,预先存储了用于指定每一个中间段频带的比特数的信息。这个信息也可以存储在硬盘驱动器9133中。
由编号ωRANGE区分的中间段频带的预先配置的比特数表示为GivenBit(ωRANGE)。
将GivenBit(ωRANGE)配置为随着各个中间段频带中的中心频率的变小而增大的一个数值。为了对其进行区分,将其数值配置为在ωRANGE较大时较小。这是因为通常人听力的灵敏度在高频变弱。换句话说,为了在不降低音质的情况下尽可能的压缩音频信号信息量,尽管在人对于音量变化敏感的低频域中提高MDCT系数的精度是更好的,但在人不敏感的高频域中降低MDCT系数的相对精度时的质量下降较低。
例如,如由图4B中的粗水平线所示的,对于在高频侧的第5到第7个中间段频带,所分配的比特数比分配给低频侧的第1到第4个中间段频带的比特数小1。
而且,将所分配的比特数减小1意味着可表示的数值范围减半。这对应于以下事实:即在图4B的情况下,长度LA和长度LB相等。如果将比特数增大1,2,…等,则可表示的数值范围就增大2的一次幂、2的2次幂、…等。
CPU 9121在与存储ωRANGE的计数器寄存器不同的计数器寄存器中存储临时变量TmpBit。作为初始值,CPU 9121设定TmpBit=GivenBit(ωRANGE)(步骤S9317)。
变量TmpBit用于确定XMAX(ωRANGE)是否可以用GivenBit(ωRANGE)来表示,其中XMAX(ωRANGE)是在具有编号ωRANGE的中间段频带中的MDCT系数的最大值,GivenBit(ωRANGE)是该中间段频带的预先配置的比特数。在不可表示XMAX(ωRANGE)的情况下,TmpBit就用于确定需要多少比特来使得XMAX(ωRANGE)可表示。
具体的,CPU 9121确定XMAX(ωRANGE)是否大于2TmpBit(步骤S9319)。使用2的幂来进行在二进制数之间的比较。
严格说来,还需要一个比特来表示MDCT系数的符号。然而,这个事实与本发明的基本特征无关。为了易于理解本发明,以下说明中假定MDCT系数不会变为负数。
如果XMAX(ωRANGE)大于2TmpBit(步骤S9319;是),就不能用TmpBit数量个比特表示XMAX(ωRANGE),因此将TmpBit增大1(步骤S9321)。在此情况下,过程返回到步骤S9319。
此外,TmpBit每次迭代都增大1,直到XMAX(ωRANGE)变为可以用TmpBit数量个比特来表示(步骤S9319;否)。
在XMAX(ωRANGE)不大于2TmpBit的情况下(步骤S9319;否),CPU 9121通过用TmpBit减去GivenBit(ωRANGE)来计算ShiftBit(ωRANGE)(步骤S9323)。ShiftBit(ωRANGE)是缩短后仍能表示具有编号ωRANGE的中间段频带的全部MDCT系数的比特数。
例如在图4B的情况下,对于ωRANGE=1到4和ωRANGE=7中的每一个频带,MDCT系数的最大值小于可以由所设定的比特数GivenBit(ωRANGE)表示的最大值。换句话说,在这些频带中,由于MDCT系数可以用GivenBit(ωRANGE)数量个比特来表示,该过程到达步骤S9323,不必经过步骤S9321。由于TmpBit的值仍然是在步骤S9317中设定的初始值GivenBit(ωRANGE),在步骤S9323中实际上ShiftBit(ωRANGE)=0。换句话说,不缩短用于MDCT系数的比特数。
另一方面,对于图4B中具有ωRANGE=5和6的各个频带,MDCT系数的最大值大于可以由所设定比特数GivenBit(ωRANGE)表示的最大值。因此,在步骤S9319的第一次迭代中的判断结果为“是”,过程前进到步骤S9321。在本附图的情况下,如果在步骤S9321中将TmpBit增大1,那么就可以表示在这些频带中的所有MDCT系数。因此,在步骤S9319的第二次迭代中的判断结果变为“否”,过程前进到步骤S9323。由于TmpBit仅在初始值上增加了1,因此实际上ShiftBit(ωRANGE)=1。
CPU 9121将以此方式获得的ShiftBit(ωRANGE)存储在存储单元9125中(步骤S9325)。这些ShiftBit(ωRANGE)值对于解码装置中的解码过程是必要的。
CPU 9121使用在步骤S9313中装入的MDCT系数X(ωRANGE,1),……,X(ωRANGE,q(ωRANGE)),以及在步骤S9323计算的移位比特数ShiftBit(ωRANGE)计算经比特移位的MDCT系数XBS(ωRANGE,1),……,XBS(ωRANGE,q(ωRANGE))(步骤S9327)。换句话说,
XBS(ωRANGE,1)=X(ωRANGE,1)/{2^ShiffBit(ωRANGE)},
…,
XBS(ωRANGE,q(ωRANGE))=X(ωRANGE,q(ωRANGE))/{2^ShiftBit(ωRANGE)}符号^表示指数。
例如,如图4B和4C所示,在中间段频带1到4和7中,MDCT系数在此可用所设定的比特数来表示,比特数ShiftBit(ωRANGE)是0,因此,通过除以2的0次幂来计算比特移位的MDCT系数。然而,由于2的0次幂是1,实际上可以将MDCT系数的值按原样设定为经比特移位的MDCT系数。
另一方面,在中间段频带5和6中,比特数ShiftBit(ωRANGE)是1,因此将在这种中间段频带中的MDCT系数除以2的1次幂(即2),来计算经比特移位的MDCT系数。如图4C所示,将MDCT系数除以2的结果是经比特移位的MDCT系数值减半。
因此,尽管在图4B中存在其MDCT系数不能用所设定的比特数表示的频带,但在图4C中可以用所设定的比特数来表示整个频域的MDCT系数。
附带地,由于在步骤S9327的相除是除以2的幂,因此CPU 9121就仅需进行右移位操作(基数2(二进制)计算)。
为了通过除法减小特定数值以便可以用所设定的比特数表示它,除数的数值可以是任意参数。然而,在本实施例中,将除数限于2的幂。因此,由于CPU 9121仅需进行右移位操作,因此能够加速计算,并能够减轻处理量。结果,提高了音频编码/解码装置9111的总操作性能。
CPU 9121将经比特移位的MDCT系数XBS(ωRANGE,1),……,XBS(ωRANGE,q(ωRANGE))存储在存储单元9125中(步骤S9329)。
CPU9121确定是否已经对所有频带计算了经比特移位的MDCT系数(步骤S9331)。如果已经对所有频带都进行了计算(步骤S9331;是),这个计算过程结束。如果还有未被计算的频带(步骤S9331;否),就将ωRANGE递增1(步骤S9333),并且过程返回到步骤S9313。
(重新量化过程)
在上述过程中,麦克风9151如实地拾取作为通过空气传播的波的声音,并且声波振幅的量值正比于音频的响度。
然而,通常人听力灵敏度的特性倾向于在某种可变程度上,相对于所有音频频率上的声响度以对数方式变化。换句话说,人听力尽管对于柔和声音的音量中轻微的差别是敏感的,但对于响亮声音的音量中的差别不是非常敏感的。
考虑到这种特性,以统一的精度量化柔和声音和响亮声音随后压缩音频信号未必是高效的。
这是这样的情况:在编码音频信号之前,音频编码/解码装置9111可以量化音频信号。例如,可以用相应的高精度来量化低音量音频,可以用相应的低精度来量化高音量音频。在此的量化指的是用设定的离散值近似要量化的量。
然而,在音频处理单元9141的A/D转换期间,音频信号已经被量化了一次。为了区分这些量化,将在此所述的量化成为重新量化。
在下文中,会参考图5A、5B和5C中的示意图来说明重新量化过程。
图5A显示了在步骤S9329存储于存储单元9125中的经比特移位的MDCT系数的对数与频率之间的关系。
依据预先存储在ROM 9123中的程序,CPU 9121在其内部寄存器与存储单元9125之间发送/接收数据,通过对存储在寄存器中的数值执行适当的计算来重新量化该数据。
如上所述,通常的人听力的特性是这样的:尽管对于柔和声音的音量中的轻微差别敏感,但人对于响亮声音的音量中的差别不是非常敏感。这对于全部频域都是一样。然而,根据频带,在上述敏感性/不敏感性的程度中存在差别。换句话说,人听力的敏感性在较高频率减弱,即使在相同的音量上也是如此。基于这个事实,为了减小音频信号中的信息量同时避免人感知的音质降低,优选的对于低频域以高精度进行重新量化,而对于高频域可以以低精度也进行重新量化。如此进行时,为了抑制信息量,优选地将音频信号分为多个具有特定带宽的频带,在每一个单独的频带内使重新量化的精度统一。如果重新量化精度变化得过于精细,则处理就变得复杂,并且要处理的信息量实际上就有可能增大。
而且,已知听力灵敏度随着频率的增加以对数方式减弱。换句话说,如果将灵敏度作为纵轴,频率对数作为横轴来绘制曲线图,则灵敏度就会与较高频率成正比地线性降低。
这是这样的情况:优选地在频率轴上对数性地分布指定频带的边界的频率,这些频率是用于改变重新量化精度的一个参数。
附带地,在上述比特移位计算过程中,配置中间段频带的边界,以便将它们对数性地分布在频率轴上。因此,这些中间段频带可以用作重新量化过程的处理单元。
为了提高要在以下说明的熵编码的压缩比,优选地以与中间段频带相同的方式划分频带,即,使其具有对数性变化的带宽,其充当用于重新量化过程的处理单元,但其中比中间段频带更宽泛地划分频带。如此进行时,充当用于重新量化过程的处理单元的频带在下文中称为大段频带,其是用于改变重新量化精度的一个参数。方便的是将一个中间段频带,或者可替换地多个连续的中间段频带,设定为一个大段频带。
例如,优选地将整个频域划分为约5个大段频带。
然而,与配置了较大数量的大段频带的情况下相比,即使在仅配置了约3个大段频带的情况下,也并不意味着人感知的音质会变得极差。因此,本实施例被配置为包含3个大段频带,称为低范围大段、中范围大段、和高范围大段。
就是说,是上限值频率一半的频率充当中范围大段与高范围大段之间的边界。所述上限值是一个有限值,其是基于在音频处理单元9141中使用的采样频率来确定的;例如,尼奎斯特频率。换句话说,整个频域分为两半:由合并的低范围大段和中范围大段组成的一个部分,以及由高范围大段组成的一个部分。
另外,低范围大段采用了从低范围侧计数的第一中间段频带。可替换地,低范围大段可以采用第一和第二,或者最多第一到第三中间段频带。如此进行时,确定这三个大段频带各自的边界。
出于以下原因,低范围大段由小编号的(1到3)中间段频带组成。就是说,尽管由于音频信号的特性在低频部分是显著的,从而优选地以高精度重新量化低频部分,但过度加宽低范围大段与减小音频信号的信息量的要求相矛盾。
图5A,5B和5C是用于解释用以将全部频带划分为多个大段频带并进行重新量化的处理。在图5A中,将频域划分为总共7个中间段频带,编号1到7。
首先,如上所述,CPU 9121设定在中范围大段与高范围大段之间的边界,以便将整个频域等分为两半。在这一点上,CPU 9121设定一个中间段频带,或者可替换地设定多个连续的中间段频带,等同于设定一个大段频带。换句话说,单一中间段频带不会属于多个大段频带。因此,CPU 9121将在第五中间段频带与第六中间段频带之间的边界设定为在中范围大段与高范围大段之间的边界。如此进行时,高范围大段由第六和第七中间段频带组成。
接下来,CPU 9121将在低范围大段与中范围大段之间的边界设定为在第一中间段频带与第二中间段频带之间的边界。在这一点上,CPU 9121作为替代,可以采用在第二中间段频带与第三中间段频带之间的边界。
另外,还可以采用在第三中间段频带与第四中间段频带之间的边界。然而,在此情况下,低范围大段的宽度和中范围大段的宽度变为近似相等,因此与对于低频部分以更高精度重新量化的目的是不相容的。
因此,低范围大段仅由第一中间段频带组成,中范围大段由第二到第五中间段频带组成。
具体而言,重新量化精度取决于分配给每一个大段频带的比特数。例如,中范围大段的重新量化精度比高范围大段的重新量化精度高相当于1比特的系数,低范围大段的重新量化精度比中范围大段的重新量化精度高相当于另一1比特的系数,将比特数增大1是以双倍精度表示相同的量。图5B中的每一条水平虚线都说明了这个事实,其是显示用于重新量化的标准MDCT系数值的线(刻度线)。因此中范围大段的精度比高范围大段的精度高两倍,低范围大段的精度比中范围大段的精度高两倍。
在重新量化期间,CPU 9121将经比特移位的MDCT系数的对数与其中一条刻度线相匹配,例如通过丢弃其小数部分。图5B是在重新量化之前;图5C是在重新量化之后。在高范围大段中,在刻度线之间的间隔较大;就是说,由于重新量化精度低,数据是相当平坦的。另一方面,在低范围大段和中范围大段中,由于重新量化精度比较高,在重新量化之后仍存在许多数据变化。
在由CPU 9121从ROM 9123读出的程序中,指定了用于划分这些大段频带的过程和用于重新量化的比特数。依据该程序,CPU 9121读取存储在存储单元9125中的经比特移位的MDCT系数,取其对数,使用为每一个大段频带所设定的精度进行重新量化,并将结果(频谱信息)存储在存储单元9125中。
CPU 9121用预定编码方法编码如上所述获得的频谱信息,将其输入到无线通信单元9161。无线通信单元9161将编码数据加载到无线信号上,并经由天线9163发射它。
(编码过程)
图6A是解释音频编码/解码装置9111的编码过程的流程图。
由麦克风9151收集人产生的声音,其被输入到音频处理单元9141作为音频数据。音频处理单元9141A/D转换该音频数据,结果产生数字音频信号(步骤S9611)。CPU9121通过计算MDCT系数,将数字音频信号(实时域信号)变换为频域信号,结果产生频谱数据(步骤S9613)。CPU 9121将频谱数据划分为多个中间段频带(步骤S9615)。CPU 9121获取每一个中间段频带的MDCT系数的最大值(步骤S9617)。
CPU 9121按照人听力的特性将预定比特数分配给每一个中间段频带。对于每一个中间段频带,CPU 9121将所分配的比特数与在步骤S9617获得的MDCT系数的最大值相比较,并用所分配的比特数确定用于表示该最大值所必需的移位比特数(步骤S9619)。
在存储于ROM 9123的程序中指定了所述预定比特数。
然而,还可以配置为使得例如用户能够使用操作键9173来改变这个比特数。在此情况下,CPU 9121从用户接收指令输入以改变该比特数,并用由接收到的指令输入指示的值来更新从存储单元9125读出的值。
而且,中间段频带边界、大段频带边界和重新量化精度也可以由用户指令进行重写。
CPU 9121基于在步骤S9619中确定的移位比特数来计算经比特移位的MDCT系数(步骤S9621)。CPU 9121执行除法运算,但由于除数限于2的幂,因此进行右比特移位操作就足够了。这就实现了更快速的编码过程和CPU 9121上较轻的工作负担的优点。
CPU 9121计算所获得的经比特移位的MDCT系数的对数(步骤S9623),将整个频域划分为预定大段频带(步骤S9625),并以预定精度重新量化MDCT系数(步骤S9627)。
CPU 9121编码经比特移位和重新量化的MDCT系数和移位比特数(步骤S9629)。经编码的信息经由无线通信或其它方式发送到接收装置。
(解码过程)
接下来,将说明例如上述的由接收到编码信息的装置执行的解码过程。在本实施例中,接收装置也是音频编码/解码装置9111。总的说来,当作为接收装置运行时,音频编码/解码装置9111用与上述编码和发送过程相反的一个过程恢复音频信号。
音频编码/解码装置9111收集经由无线通信或其它方式以天线9163发射的信息。无线通信单元9161将收集的信息存储在存储单元9125中。
换句话说,将经编码的数据,例如上述的经比特移位和重新量化的MDCT系数和移位比特数,存储在存储单元9125中。
现在将用图6B所示的流程图来说明由音频编码/解码装置9111执行的操作。CPU 9121依据存储在ROM 9123中的程序执行解码过程。
使用对应于编码过程中所用的编码方法的解码方法。CPU9121解码经比特移位和重新量化的MDCT系数和移位比特数(步骤S9641)。
CPU 9121将整个频域划分为所设定的大段频带(步骤S9643)。CPU9121以预定精度为每一个大段频带恢复经比特移位的MDCT系数的对数(步骤S9645)。依据该对数,CPU 9121恢复经比特移位的MDCT系数(步骤S9647)。
CPU 9121将整个频域划分为多个所设定的中间段频带(步骤S9649)。在步骤S9641获得对应于每一个中间段频带的移位比特数。CPU 9121用这些移位比特数恢复MDCT系数(步骤S9651)。使用乘法运算进行恢复,但由于乘数限于2的幂,CPU 9121仅需执行左移位操作。由于用单一左移位操作实现了单一乘法运算,其优点是更快的解码过程和CPU 9121上较轻的工作负担。
在以此方式恢复了频域的MDCT系数之后,CPU 9121使用反MDCT变换将数字音频信号从频域变换到实时域(步骤S9653)。音频处理单元9141A/D转换所获得的数字音频信号(步骤S9655),并从扬声器9153输出模拟音频信号。如此完成了音频信号恢复。
(第二实施例)
接下来,将说明根据本发明第二实施例的音频编码/解码装置9111。本实施例的存储单元9125额外存储用于实时域中振幅抑制的移位比特数、用于编码的各频带特征量、以及码长度。
首先,将说明音频编码过程。以与第一实施例相同的方式,由麦克风9151收集的模拟音频信号经由音频处理单元9141的A/D转换,变为数字音频信号,如图7A所示。例如,该数字音频信号是具有16kHz采样频率和16-比特量化的信号。数字音频信号存储在存储单元9125中。由于麦克风9151的特性,存储在存储单元9125中的数字音频信号包括直流成分XDC,其对于音频回放而言不是必需的,如图7A所示。通过使用公知的高通滤波器或其它技术,消除这种直流成分XDC。
将已经从中消除了直流成分的数字音频信号划分为帧,作为压缩过程的单元。理想的是在单一帧中包含3到4个MDCT块。在这一点,为了易于理解,将假定在一帧中仅包含一个MDCT块,如同第一实施例的情况。
CPU 9121为存储在存储单元9125中的每一个单个数字输入信号分配信号所属的帧号,以及用于指示信号值在该帧内的顺序位置的编号。
CPU 9121读取存储在ROM 9123中的程序,并基于其进行以下处理。
每一帧都包含M个输入信号样本。如图7B所示,区分各个输入信号样本:属于第0帧的第一个样本是xAC(fm=0,0),属于第0帧的第二个样本是xAC(fm=0,1),…,属于第0帧的最后一个样本是xAC(fm=0,M-1);属于第1帧的第一个样本是xAC(fm=1,0),…,属于第1帧的最后一个样本是xAC(fm=1,M-1),等等。在图7B中,作为实例写出了样本xAC(fm=0,0)。
此外,经过直流成分xDC的垂直方向上位移的图7A所示的输入信号是图7B所示的输入信号。
为了确定是否有必要调整每一帧的动态范围,CPU 9121为每一帧获得包含在相应帧中的每一帧的输入信号的最大振幅。换句话说,求第0帧中的最大振幅|xMAX(fm=0)|,第1帧中的最大振幅|xMAX(fm=1)|,第2帧中的最大振幅|xMAX(fm=2)|,…的值。
如图7B所示,允许的振幅是在由箭头Y1所示的区域内的那些。换句话说,将上述设定的比特数作为GivenBitAC,允许输入信号达到具有在±2GivenBitAC-1内的振幅的那些信号。添加了指数中的(-1)项,因为必须使用一个比特来区分正/负。例如10比特的GivenBitAC值是理想的。
每一帧各自的最大振幅由图7B中的箭头Y2、Y3和Y4指示。在该附图中,由于在第0帧和第2帧中的最大振幅小于可允许的振幅,就不必调整到此的输入信号的动态范围。另一方面,由于第1帧中的最大振幅超过了可允许的振幅,就必须调整在此的输入信号的动态范围。
作为动态范围调整的一个实例,通过将包含在帧中的输入信号除以2的幂,将最大振幅带入可允许的振幅内。CPU 9121能够以高速容易地进行除以2的幂的运算。然而,如果使得输入信号变得不必要的小,就降低了稍后由解码装置恢复的音频的音质。因此,将在上述除法运算中用作除数的、是2的幂的数(数值参数)取允许最大振幅在可允许振幅内的数之中的最小值。
例如在图7B的情况下,在第1帧中的输入信号的振幅被减半,如图7C所示。这意味着除以2的1次幂就足够了。换句话说,用于第1帧的振幅调整的移位比特数是1。
即使对于未经过比特移位的第0帧和第2帧,进行除以20即1也会带来便利,将用于振幅调整的移位比特数视为0。如此进行时,以如下方式区分消除了直流成分并且调整了振幅的输入信号:属于第0帧的第一个样本是xBS,AC(fm=0,0),属于第0帧的第二个样本是xBS,AC(fm=0,1)…,属于第0帧的最后一个样本是xBS,AC(fm=0,M-1);属于第1帧的第一个样本是xBS,AC(fm=1,0),…,属于第1帧的最后一个样本是xBS,AC(fm=1,M-1)。(动态范围调整过程)
接下来,将用图8所示的流程图说明这个动态范围调整的详细过程。通过使原始输入信号通过公知的高通滤波器,相当大地消除了直流成分,将已经相当大地消除了直流成分的输入信号存储在存储单元9125中。
CPU 9121准备好其计数器寄存器,用于存储帧判别变量fm,并设定fm=0作为初始值(步骤S9811)。
CPU 9121将消除了直流成分的输入信号xAC(fm,0),…,xAC(fm,M-1)从存储单元9125装入通用寄存器(步骤9813)。CPU 9121比较这些值的绝对值(换句话说|xAC(fm=0,0)|,…,|xAC(fm=0,M-1)|),并获得该帧中的样本的绝对值的最大值|xMAX(fm)|(步骤S9815)。
在与用于存储该帧判别变量的计数器寄存器不同的计数器寄存器中,CPU 9121存储临时变量TmpBit。CPU 9121设定TmpBit=GivenBitAC-1作为初始值(步骤S9817)。该初始值对应于在以二进制数表示振幅调整目标值时所给出的比特数。
接下来,在步骤S9819,CPU 9121确定|xMAX(fm)|是否大于2TmpBit(步骤S9819)。如果大于(步骤S9819;是),TmpBit就增大1,过程再次返回到步骤S9819。以此方式进行,|xMAX(fm)|最终会变得低于2TmpBit(步骤S9819;否)。CPU 9121通过计算ShiftBit(fm)=TmpBit-GivenBitAC+1,来计算比特移位数ShiftBit(fm)(步骤S9823),并将结果存储在存储单元9125中(步骤S9825)。
例如在图7B的第0帧或第2帧的情况下,如果帧中的输入信号的振幅从开始就在容限内(如果|xMAX(fm)|≤2GivenBitAC-1),步骤S9819变为“否”,ShiftBit(fm)=0。
另一方面,在图7B的第1帧的情况下,对于TmpBit的初始值GivenBitAC-1,步骤S9819变为“是”。由于当在步骤S9821的第一次迭代中TmpBit增大1时|xMAX(fm)|≤2GivenBitAC,步骤S9819的第二次迭代变为“否”,过程前进到步骤S9823。在步骤S9823中,执行以下计算,移位比特数变为1:
ShiftBit(fm)
=TmpBit-GivenBitAC+1
={TmpBit初始值+1}-GivenBitAC+1
={(GivenBitAC-1)+1}-GivenBitAC+1
=1
接下来,CPU9121按照以下等式计算经过比特移位并消除了直流成分的输入信号(步骤S9827):
XBS,AC(fm,0)=xAC(fm,0)/2ShiftBit(fm),
…,
xBS,AC(fm,M-1)=xAC(fm,M-1)/2ShiftBit(fm)
由于除数限于2的幂,因此CPU 9121每一次除法运算就只需进行一个右移位操作。
CPU 9121将以此方式获得的计算结果xBS,AC(fm,0),…,xBS,AC(fm,M-1)存储在存储单元9125中(步骤S9829)。每一个值使用一个比特来区分正/负。
CPU 9121确定是否已经完成了对于所有帧的处理(步骤S9831)。在确定完成了对于所有帧的处理的情况下(步骤S9831;是),动态范围调整过程结束。在确定尚未完成对于所有帧的处理的情况下(步骤S9831;否),帧区分变量fm增大1,用于下一帧的处理(步骤S9833),并且动态范围调整过程返回到步骤S9813。
随后CPU 9121对于每一个帧,用MDCT将信号从实时域变换到频域,确定用于每一个中间段频带的移位比特数,为重新量化每一个大段频带的数据,如同第一实施例中一样。
随后,在第一实施例中,编码并传输整个频域的音频频谱。与此相对照,在本实施例的情况下,新引入了编码频带。而且,CPU 9121将整个频域分为几个编码频带,并且仅编码并传输属于推断其重要性为高的编码频带的MDCT系数。既不编码也不传输属于推断其重要性为低的编码频带的MDCT系数。而且,将在接收侧没有接收到的编码频带的MDCT系数视为0。换句话说,在音频频谱中,仅发送/接收被推断为重要的部分。
图9A显示了在MDCT系数的对数与频率之间的关系。换句话说,图9A是从将特定帧中的输入信号从实时域变换到频域的结果获得的频谱。
以下说明将假定上述重新量化过程已经执行了。
首先,CPU 9121将整个频域划分为多个编码频带。从低频侧将频带编号1,2,3等连续地添加给这些编码频带。尽管每一个编码频带的宽度都需要比小段频带的宽度大,但每一个编码频带的宽度都不需要与中间段频带或大段频带有任何特定关联。
作为一个实例,图9A中将频域划分为7个编码频带。对于这7个编码频带,CPU 9121按照预定标准分别获得重要性级别,并且按照重要性降低的顺序分配优先级。以下说明获得重要性级别的方式的一个具体实例。
在图9A中,借助于带圆圈的数表示优先级。例如,第2号编码频带的优先级是第一。这表示在全部编码频带之中CPU 9121会以最高优先级编码第2号频带。以相同的方式向下继续,具有第2优先级的频带是第1号编码频带,具有第3优先级的频带是第7号编码频带,…具有最低优先级的频带是第3号编码频带。
引入编码频带并以此方式确定优先级的原因在于,因为在本实施例中,采用熵编码方法作为编码方法。熵编码方法的一个特点是,即使信息压缩精度是固定的,压缩比也是不固定的。换句话说,如果对多个相同长度的不同数据进行熵编码,存在这样的情况:其中编码后的码长度全都不同,这是因于原始数据中数据元素出现频率中的偏移差。就是说,当与在信息压缩精度中不呈现偏移的其它编码方法相比时,熵编码方法会具有更高的压缩比,或者相反地具有更低的比率。通常难以预先预测压缩比,不知道是否可以实现高压缩比,直到实际执行了熵编码。
在本实施例中,最大程度上利用了熵编码方法的优点,同时考虑到只要有可能其缺点就不会造成影响。例如,存在这样的情况:其中,由于例如通信速率之类的条件,码长度是有限的。音频编码/解码装置9111对尽可能多的编码频带的MDCT系数进行熵编码。如果码长度处于该限度内,就能够传输大部分信息,且可以以高音质对音频进行解码。在熵编码后的码长度超过了该限度的情况下,以优先级降序选择编码频带,不选择低优先级的频带。结果,总的码长度在该限度内。由于将音频信号中对应于具有高优先级的编码频带的部分发送到接收装置,因此即使是为编码去除了一些频带,音质的降低也能够保持为最小。
例如在图9B中,CPU 9121对具有第1到第3优先级的频带,即第1、第2和第7编码频带,的MDCT系数进行熵编码。在总的码长度小于设定的码长度的情况下,此时所选择的编码频带的全部MDCT系数都能够发送到接收装置。即使在此条件下,接收装置也能够恢复相对高音质的音频。然而,如果还能够包括第5号编码频带(具有第4优先级的频带),且其MDCT系数被发送到接收装置,则接收装置应能够获得更高音质的音频。
因此,如果在码长度中存在空间(通信容量),则CPU 9121就对具有第4优先级的编码频带的MDCT系数进行熵编码,如图9C所示。结果,在码长度超过了设定的码长度(通信量)的情况下,CPU 9121发送包含最大到具有第3优先级的编码频带的MDCT系数的熵编码的数据,而不发送具有第4优先级的频带的数据。另一方面,在码长度并未超过设定的码长度的情况下,CPU 9121发送包含第1到第4编码频带的MDCT系数的熵编码的数据。而且,CPU 9121还可以对具有下一优先级的编码频带的MDCT系数进行熵编码,重复这些步骤。
然而,即使为包含在熵编码的数据中并对应于特定单一帧(或MDCT块)的编码频带确定了优先级,也并不遵循应对于不同的帧(或MDCT块)以相同的优先级对编码频带进行熵编码。如前文所述,熵编码方法取决于要编码的数据的本质(例如频谱形状等),存在获得了高压缩比的情况,和没有获得高压缩比的情况。例如,如果对于特定帧或MDCT块,对一直到具有第2优先级的编码频带的编码未超过设定的码长度,则对于不同的帧或MDCT块,一直到具有第4优先级的编码频带的编码就有可能超过通信量限制。因此,通常熵编码优先级对于每一帧都是不同的。
如果接收装置恢复能够实现高压缩比的帧,则通过接收装置回放的该帧的音频会具有高音质。如果接收装置恢复不能实现高压缩比的帧,则原始信息量就会较低;换句话说,仅会接收一小部分频谱,因此音质会相对降低。然而,因为从整个频谱中优先选择了对于音频回放而言具有较高重要性的部分,因此音质的降低保持在最小限度。
作为代表性的熵编码方法的实例,在此引用了霍夫曼编码和距离编码器(Rangecoder)。
(优先级确定过程)
接下来,将用图10所示的流程图说明用于确定优先级的过程。而且,在以下说明中,采用音频编码/解码装置9111作为发送装置和接收装置。
在存储在ROM 9123的程序中预先指定了关于将频域划分为多少编码频带的决定,以及关于边界频率设定为多高的决定。关于这些决定的信息由发送侧和接收侧共享。因此,基本上不需要从发送装置向接收装置发送与这些决定有关的信息。
然而,还可以配置为允许发送装置的用户通过操作键9173进行与编码频带有关的配置。在此情况下,可以配置为从发送装置发送与编码频带数量及其边界频率有关的信息,来通知接收装置。可替换地,可以配置为用户通过操作键9173改变该配置,以使得接收装置的配置变为与发送装置的配置相同。另外,在发送装置或接收装置允许例如上述的用户配置的情况下,配置为将由用户决定的各种配置值存储在存储单元9125中,并且存储在ROM 9123中的程序从存储单元9125读取所述各种配置值。
依据预先决定的每一频带的编码频带数以及边界频率的缺省值,可以配置为缺省值被按照原样采用,或者其可以根据帧而变化。另一方面,对于与将哪一个优先级号分配给哪一个编码频带有关的信息,必须在对应于每一帧或MDCT块的每一个时间期间,或者换句话说,为每一个单一频谱,通过优先级确定过程来作出决定。
如上所述,CPU 9121已经连续地从低频侧为各个编码频带分配了频带号。在这一点上,CPU 9121将频带号与优先级号相关联。
将区分用于处理的编码频带的变量(频带判别变量)表示为ωCRNG。CPU 9121依据存储在ROM 9123中的程序,准备好用于存储ωCRNG的计数器寄存器,并设定初始值ωCRNG=1(步骤S1011)。换句话说,从低频侧连续地进行这个处理。
接下来,CPU 9121从存储单元9123将属于具有编号ωCRNG的编码频带的全部MDCT系数X(ωCRNG,1)…X(ωCRNG,r(ωCRNG))装入通用寄存器(步骤S1013)。
在此,r(ωCRNG)表示在具有编号ωCRNG的编码频带内的MDCT系数的总数。但如果采用使编码频带与中间段频带相同的实施例,则实际上就是r(ωCRNG)=q(ωCRNG)。
在本实施例中,作为一个实例,将属于特定编码频带的MDCT系数的总和作为该编码频带中的总能量,并且总能量越高,则重要性级别就越高。而且,由于在MDCT系数中有可能包括负数,因此优选地取MDCT系数的平方和。然而,在本实施例中假定MDCT系数都是正数,因此简单地求和。
因为频谱特性定性地出现在大能量部分中,诸如例如频谱峰值部分,因此这个重要性级别确定方法是适当的。
CPU 9121计算具有编号ωCRNG的编码频带的总能量g(ωCRNG)(步骤S1015):
g(ωCRNG)=X(ωCRNG,1)2+…+X(ωCRNG,q(ωCRNG))2
CPU 9121将计算结果存储在存储单元9125中(步骤S1017)。
还可以配置为将通过向计算的g(ωCRNG)添加设定的加权系数而获得的值作为总能量。在此情况下,考虑这样的事实是有益的:人听力对于低频声音是敏感的,添加随低频而增大的加权系数。例如,将小于500Hz的编码频带的总能量乘以加权系数1.3,将等于或大于500Hz但小于3500Hz的编码频带乘以加权系数1.1,将等于或大于3500Hz的编码频带乘以加权系数1.0。即使在低频侧的最低编码频带的能量和在高频侧的最高编码频带的能量恰好具有完全相等的数值,在考虑到人听力感觉的特性时,低频侧的重要性级别是较高的。换句话说,如果码长度具有限度,通过增加低频侧的加权,并随后进行编码,提高了在接收装置回放的音频的质量。
而且,改变加权系数的边界频率与编码频带的边界频率不是必须严格匹配的。在多个加权系数存在于同一编码频带中的情况下,属于中间段频带的各个MDCT系数根据频率来乘以加权系数,随后可以计算总能量。
接下来,CPU 9121确定是否对所有编码频带的处理都已完成,换句话说,是否已完成对于高频侧上最高编码频带的处理(步骤S1019)。如果仍未完成(步骤S1019;否),就将ωCRNG增大1,以处理高频侧上的下一个编码频带(步骤S1021),且过程返回到步骤S1013。
如果已完成对于全部编码频带的处理(步骤S1019;是),就将所有编码频带的总能量g(1)到g(ωMaxCRNG)存储到存储单元9125中。ωMaxCRNG是ωCRNG的最大值。CPU 9121将全部总能量g(1)到g(ωMaxCRNG)都装入通用寄存器,以降序对其它们进行排列,并以总能量降低的顺序配置高优先级(步骤S1023)。优先级P的频带号表示为ωCRNG(P)。
CPU 9121将计算结果ωCRNG(P)分别存储在存储单元9125中(步骤S1025)。
而且,还可以对要发送到接收装置的一个帧中的编码频带的总数设定一个上限值,仅将优先级分配给不超过该上限值的程度。例如,如果在1帧中有10个编码频带,且上限值是5,就可以分配第1到第5优先级,并省略第6和以后的优先级。
(熵编码过程)
接下来,会用图11所示的流程图来详细说明熵编码过程。
首先,CPU 9121依据图10所示的过程分别向编码频带分配优先级(步骤S1111)。
接下来,CPU 9121依据存储在ROM9123中的程序,设定计数器PMAX,其表示可以对高达哪一个优先级的编码频带进行编码,并设定初始值1(PMAX=1)(步骤S1113)。
接下来,CPU 9121从存储单元9125装入对应于第1到第PMAX优先级的编码频带的经过重新量化和比特移位的MDCT系数(步骤S1115)。分别按如下表示MDCT系数X:
XQBS(ωCRNG(1),1),…,XQBS(ωCRNG(1),q(ωCRNG(1))),
…,
XQBS(ωCRNG(PMAX),1),…,XQBS(ωCRNG(PMAX),q(ωCRNG(PMAX)))下标QBS表示MDCT系数已经被重新量化并进行了比特移位。
为了在接收装置上恢复音频,移位比特数也是必需的。与编码频带无关地决定在其中使用比特移位的中间段频带。因此,CPU 9121就必须评估要编码的编码频带与中间段频带重叠的方式,并为每一个中间段频带获得移位比特数。因此,CPU 9121装入全部中间段频带ωRANGE的移位比特数ShiftBit(ωRANGE),其中这些中间段频带与对应于第1到第PMAX优先级的编码频带重叠。另外,CPU 9121装入在动态范围调整过程期间所用的移位比特数(步骤S1117)。
接下来,CPU 9121对以下进行熵编码:(1)经过重新量化和比特移位的MDCT系数XQBS,(2)通过比特移位过程获得的移位比特数,以及(3)通过动态范围调整过程获得的移位比特数,并计算获得的熵编码数据的码长度(步骤S1119)。
接下来,CPU 9121确定在步骤S1119所计算的码长度是否比预定码长度长(步骤S1121)。所设定的码长度是根据通信量的限制等等而确定的一个长度。由于溢出等原因,超过该设定的码长度的代码不能被正确发送到接收装置,因此传输码长度必须是或低于设定的码长度。
在所计算的码长度并未超过设定的码长度的情况下(步骤S1121;否),通信量仍有空间,因此有可能编码按照优先级方式的下一个编码频带。因此,将PMAX增大1(步骤S1123),并且过程返回到步骤S1115。
在所计算的码长度超过了设定的码长度的情况下(步骤S1121;是),此时不能正确发送最大到具有第PMAX优先级的编码频带的信息。然而如果信息是最大到具有PMAX前一个优先级的编码频带的,它就应是或小于设定的码长度。因此,CPU 9121将PMAX减小1(步骤S1125),将以下作为熵编码数据:(1)对应于第1到第PMAX优先级的编码频带的经过重新量化和比特移位的MDCT系数,(2)通过比特移位处理获得的比特数,以及(3)通过动态范围调整过程获得的移位比特数,并将其存储在存储单元9125中(步骤S1127)。
以此方式产生的熵编码数据变为可以发送到接收装置。
(编码过程)
图12A是在根据本实施例的音频编码/解码装置9111作为发送装置的情况下,概括了用于音频信号编码处理的过程的概要的图示。
音频处理单元9141A/D转换由麦克风9151收集的音频信号(步骤S1211),并去除其直流成分(步骤S1213)。
接下来,CPU 9121为每一帧(音频压缩的部分)调整动态范围(步骤S1215)。在原始动态范围大于一个预定限度值的情况下,用信号值除以2的幂,即执行右比特移位操作,以减小数据量。一直到这一点的处理都是在实时域中进行的。
对于每一帧或MDCT块,CPU 9121都进行到频域的变换(步骤S1217)。存在离散频率变换的许多技术,但在本实施例的情况下,采用了MDCT。以与第一实施例相同的方式,CPU 9121计算经过重新量化和比特移位的MDCT系数和移位比特数。
COU 9121确定要进行熵编码的编码频带(步骤S1219)。CPU 9121进行熵编码(步骤S1221)。
(解码过程)
当起到接收装置的作用时,音频编码/解码装置9111遵循图12B所示的过程。这基本上是图12A中用于编码处理的过程的反向。
实际音频信号是一系列的多个帧。通过在连续链中执行上述的各种步骤,可以实时地回放音频。这个技术自身是已知的,且不是本发明的要点;因此,在此将说明对1个帧的处理。
稍后将用图13和14说明更详细的过程;首先,在此将说明解码过程的概要。
无线通信单元9161在天线9163接收从发送装置发送的无线电磁波,CPU 9121获得熵编码数据。
CPU 9121将获得的熵编码数据存储在存储单元9125中。依据存储在ROM 9123中的程序,CPU 9121解码所述熵编码数据(步骤S1241)。对于熵编码方法有几种是已知的,例如霍夫曼码和距离编码器等,但会认识到每一种方法都与解码方法构成一对。因此,会使用与用于在发送侧的编码中及装置9111中的熵编码公式构成一对的解码方法。CPU 9121获得用于音频恢复的必要数据,例如MDCT系数和移位比特数(步骤S1243)。
如上所述,在音频频谱的编码期间,优先对被推断为具有高度重要性级别的频带进行编码。因此,并不总是将频谱的所有部分都发送到接收装置的情况。CPU 9121将音频频谱中没有被发送的频带(换句话说,没有由发送装置编码的频带的MDCT系数)视为0。
CPU 9121将音频频谱从频域变换到实时域(步骤S1245)。将单一频谱变换为单一MDCT块的实时信号。
如上所述,对于实时域中的帧(音频压缩的部分),优选地包括大约3-4个块。然而,为了易于理解本发明,假定单一帧仅包括单一MDCT块。
作为由发送装置在步骤S1215中执行的动态范围调整的结果,有可能在步骤S1245中获得的实时域音频信号与原始音频信号不同。因此,CPU9121基于来自在步骤S1243中获得的动态范围调整过程的移位比特数,恢复动态范围(步骤S1247)。此时,由于是通过限于2的幂的除法来进行该动态范围调整过程(右比特移位操作)的,因此CPU 9121仅需执行右比特移位操作。因此,加速了CPU 9121的处理,并减轻了处理负担。
音频处理单元9141 A/D转换获得的数字音频信号,将其转换为模拟音频信号(步骤S1251)。这个模拟音频信号由扬声器9153输出,接收装置的用户能够收听到音频。
接下来,用图13和14所示的流程图更详细的说明步骤S1243到S1247的处理。
在步骤S1241,CPU 9121熵解码对应于帧fm的以下数据,并将其存储在存储单元9125中:
(1)对应于第1到第PMAX优先级的频带号ωCRNG(P)(1≤P≤PMAX),
(2)经过重新量化和比特移位的MDCT系数XQBS(ωCRNG(P),1),…,XQBS(ωCRNG(P),q(ωCRNG(P)))(1≤P≤PMAX),
(3)所有中间段频带ωRANGE的移位比特数ShiftBit(ωRANGE),其中这些中间段频带与对应于第1到第PMAX优先级的编码频带重叠,
(4)来自动态范围调整的移位比特数ShiftBit(fm)。
CPU 9121依据存储在ROM 9123中的程序,将用于区分编码频带的计数器ωCRNG存储在计数器寄存器中,并设定初始值1(步骤S1311)。换句话说,从低频侧连续地恢复频谱。
接下来,CPU 9121确定具有编号ωCRNG的编码频带是否是发送装置中编码的目标(步骤S1313)。具体而言,给是编码目标的编码频带分配优先级P(1≤P≤PMAX)。因此,CPU 9121根据是否为单个编码频带分配了优先级来作出所述确定。
而且,发送装置还可以将表示决定不对其编码的频带号的信息,或者大意是可以将一些MDCT系数视为0的信息发送到接收装置。
在确定具有编号ωCRNG的编码频带不是编码目标的情况下(步骤S1313;否),CPU 9121将其MDCT系数设定为0(步骤S1321):
X(ωCRNG,1)=0,…,X(ωCRNG,q(ωCRNG))=0
换句话说,将这个频带的频谱成分视为0。
发送装置优先编码整个频谱中被推断为重要的部分,并发送它们。不是编码目标的特定频带意味着该频带的频谱的重要性级别相对较低。而且,如果将这一频带的频谱成分设定为除0以外的适合的设定值对于频谱中具有高优先级的频带不会有较大影响的话,则就可以如此进行。
另一方面,在步骤S1313,在确定具有编号ωCRNG的编码频带是编码的目标的情况下(步骤S1313;是),CPU 9121将以下装入通用寄存器中:(1)经过重新量化和比特移位的MDCT系数XQBS(ωCRNG,1),…,XQBS(ωCRNG,q(ωCRNG)),以及(2)与具有编号ωCRNG的编码频带重叠的全部中间段频带的移位比特数ShiftBit(ωRANGE)(步骤S1315)。
CPU 9121去量化所述经过重新量化和比特移位的MDCT系数,解出经过比特移位的MDCT系数XBS(ωCRNG,1),…,XBS(ωCRNG,q(ωCRNG))(步骤S1317)。
CPU 9121基于在步骤S1315装入的移位比特数,对经过比特移位的MDCT系数执行逆比特移位转换,解出MDCT系数X(ωCRNG,1),…,X(ωCRNG,q(ωCRNG))(步骤S1319)。由于发送装置为编码过程执行右移位操作,相反的,接收装置在该步骤执行左移位操作。以此方式,由于除数和乘数都限于2的幂,因此可以分别仅仅用单一右移位和左移位来执行单一除法和乘法,因此可以加速编码过程和解码过程。
步骤S1317和步骤S1319的处理总体上与第一实施例的步骤S9643到步骤S9651的处理相等。
CPU 9121确定是否已经计算了整个频域的MDCT系数(步骤S1323)。在确定仍有具有未计算的MDCT系数的频带的情况下(步骤S1323;否),将ωCRNG的值增大1,以获得用于下一个(相邻于高频侧)编码频带的MDCT系数(步骤S1325),过程返回到步骤S1313。在确定已经计算了所有频带的MDCT系数的情况下(步骤S1323;是),过程前进到图14的S1411。
在下文中,为了简洁,用以下下标代替编号:
X(1,1):X0,
…,
X(1,q(1)):…,
…,
X(ωCRNGMAX,q(ωCRNGMAX)):XM/2-1
ωCRNGMAX是编码频带频带编号的最大值;换句话说,添加到高频侧的最高编码频带的编号。
CPU 9121用逆MDCT从MDCT系数X0,…,XM/2-1中恢复经过动态范围调整并去除直流成分的音频信号xBS,AC(fm,0),…,xBS,AC(fm,M-1)(步骤S1411)。换句话说,将频谱从频谱变换到实时域。fm是用于区分帧的变量。
结果,恢复了如图7C所示的信号。
CPU 9121从存储单元9125装入移位比特数ShiftBit(fm),用于动态范围调整(步骤S1413)。
接下来,CPU 9121通过执行数量为ShiftBit(fm)的左移位操作,恢复经过去除直流成分的输入信号xAC(fm,0),…,xAC(fm,M-1)(步骤S1415)。换句话说,将由于动态范围调整过程而改变的振幅恢复到原始振幅。
结果,将信号恢复为类似于图7B所示的信号。音频处理单元9141 D/A转换获得的数字信号(步骤S1251),并从扬声器9153输出音频。
应意识到,本发明并不限于上述实施例,各种变化例和应用都是可能的。会理解,前文中作为说明性实例的硬件结构、块结构和流程图并不限制本实施例。
例如,尽管将音频编码/解码装置9111假定地描述为移动电话,但本发明能够容易地用于PHS(个人手持电话系统)、PDA(个人数字助理)或者通常的个人计算机。为了解释目的的上述实施例不是意图限制本发明的范围。
在不脱离本发明的广泛精神与范围的情况下,可以在此得到各种实施例和改变。上述实施例意图说明本发明,而不是限制本发明的范围。本发明的范围由附属的权利要求而不是实施例来显示。
将在本发明权利要求的等价意义内及权利要求内作出的各种修改认为是在本发明的范围内。
Claims (17)
1、一种音频编码装置,包括:
存储单元(9123),其存储表示由多个第一频带组成的音频数据的每一个频带的频率宽度的信息,所述多个第一频带分别与预定比特数相关联;
离散变换单元(9121),其通过获得所述音频数据并计算表示每一个频率的音频强度的量化值,将所述音频数据从实时域离散变换到频域;
最大值计算单元(9121),其将离散变换得到的频域音频数据划分为具有所述频率宽度的所述多个第一频带,并且计算每一个所划分的第一频带的所计算的量化值之中的最大值;
确定单元(9121),其针对每一个所述第一频带,确定用于表示由所述最大值计算单元(1921)计算的最大值所必需的比特数是否超过存储在所述存储单元(9123)中的所述预定比特数;
调整单元(9121),其针对每一个所述第一频带,在由所述确定单元(9121)确定所述必需的比特数超过了所述预定比特数的情况下,获得一个除数,并且分别将在该第一频带内的量化值除以这个除数,从而调整所述音频强度,其中这个除数(表示为2的幂的值)是这样的值中的最小值:当用所述最大值除以该值时,所述必需的比特数不超过所述预定比特数;
重新量化单元(9121),其针对具有预定带宽的多个第二频带中的每一个,以预先确定的精度重新量化由所述离散变换单元(9121)计算的量化值,或者可替换地,重新量化由所述调整单元(9121)调整后的量化值;以及
编码单元(9121),其编码、关联并输出由所述调整单元(9121)计算的所述除数和由所述重新量化单元(9121)计算的所述量化值。
2、如权利要求1所述的音频编码装置,其中:
所述存储单元(9123)所关联的比特数随着所述频率宽度的中心频率变小而变大。
3、如权利要求1所述的音频编码装置,其中:
所述最大值计算单元(9121)将所述音频数据划分为所述多个第一频带,以使得每一个带宽的对数从低频侧连续地线性增大。
4、如权利要求1所述的音频编码装置,其中:
所述重新量化单元(9121)进行重新量化,以使得重新量化精度随着所述多个第二频带之一靠近低频侧而增大。
5、如权利要求1所述的音频编码装置,其中:
所述重新量化单元(9121)分别计算由所述调整单元(9121)调整后的量化值的对数,并重新量化所述对数。
6、如权利要求1所述的音频编码装置,其中:
所述重新量化单元(9121)划分并重新量化所述音频数据,所述划分是划分为具有所述预定带宽的所述多个第二频带,并且其中,每一个频带的对数从低频侧连续地线性增大。
7、如权利要求1所述的音频编码装置,其中:
所述重新量化单元(9121)将所述音频数据划分为至少三个所述第二频带,即低频频带、中频频带和高频频带,并且所述划分使得在所述中频频带与所述高频频带之间的边界频率是所述音频数据的上限频率的一半。
8、如权利要求1所述的音频编码装置,其中:
所述编码单元(9121)针对多个由一个或多个所述第一频带组成的第三频带中的每一个,计算包含在该频带中的量化值的平方值的总和值,从计算得到的最大总和开始以降序确定优先级,并且以优先级的降序方式对在所述多个第三频带内的量化值进行熵编码。
9、如权利要求8所述的音频编码装置,其中:
所述编码单元(9121)计算每一个总和值乘以一个预定值的数值,该预定值随着所述总和值靠近低频侧而增大,并且从计算得到的最大总和开始以降序方式确定优先级。
10、如权利要求1所述的音频编码装置,其中:
所述离散变换单元(9121)通过使用MDCT(改进的离散余弦变换)来计算所述量化值。
11、一种音频解码装置,包括:
接收单元(9161),其接收编码数据,该数据由预定编码方法编码,并包括以下内容:
量化的音频数据,该量化的音频数据的信号强度由针对多个第一频带中的每一个而被调整后的量化值表示;以及
数值参数,其表示为2的幂,并且与为所述音频数据配置的多个设定的第二频带中的每一个频带相关联;
解码单元(9121),其通过使用对应于所述预定编码方法的解码方法,将所述编码数据解码为所述量化的音频数据和所述数值参数;
强度恢复单元(9121),其针对所述多个第二频带中的每一个,将该频带内的已解码的所述量化值乘以与该频带相关联的已解码的所述数值参数,从而恢复所述音频数据的音频强度;以及
离散逆变换单元(9121),其针对所述多个第一频带中的每一个,将恢复强度后的所述音频数据从频域变换到时域。
12、一种在音频编码装置中执行的音频编码方法,该音频编码装置具有存储单元(9123),所述存储单元(9123)存储表示由多个第一频带组成的音频数据中的每一个频带的频率宽度的信息,所述多个第一频带分别与预定比特数相关联,所述音频编码方法包括以下步骤:
获得所述音频数据,并通过计算表示每一个频率的音频强度的量化值,将所述音频数据从时域离散变换到频域;
将离散变换得到的频域音频数据划分为具有所述频率宽度的所述多个第一频带,并且计算每一个所划分的第一频带的所计算的量化值之中的最大值;
针对每一个所述第一频带,确定用于表示在最大值计算步骤中计算的最大值所必需的比特数是否超过存储在所述存储单元(9123)中的所述预定比特数;
针对每一个所述第一频带,在确定步骤中确定所述必需的比特数超过所述预定比特数的情况下,通过求得一个除数并将在该第一频带内的量化值除以这个除数来调整所述音频强度,这个除数(表示为2的幂的值)是这样的值中的最小值:当用所述最大值除以该值时,所述必需的比特数不超过所述预定比特数;
针对具有预定带宽的多个第二频带中的每一个,以预先确定的精度重新量化在离散变换步骤中计算的所述量化值,或者可替换地,重新量化在调整步骤中调整后的所述量化值;以及
编码、关联并输出在调整步骤中计算的所述除数以及在重新量化步骤中)计算的所述量化值。
13、一种音频解码方法,包括步骤:
接收编码数据,该数据由预定编码方法编码,并包括以下内容:
量化的音频数据,该量化的音频数据的信号强度由针对多个第一频带中的每一个而被调整后的量化值表示;以及
数值参数,其表示为2的幂,并且与为所述音频数据配置的多个设定的第二频带中的每一个频带相关联;
通过使用对应于所述预定编码方法的解码方法,将所述编码数据解码为所述量化的音频数据和所述数值参数;
针对所述多个第二频带中的每一个,通过将该频带内的已解码的所述量化值乘以与该频带相关联的已解码的所述数值参数,恢复所述音频数据的音频强度;以及
针对所述多个第一频带中的每一个,将恢复强度后的所述音频数据从频域离散逆变换到时域。
14、一种计算机可读信息记录介质,包含记录在其上的程序,该程序使得计算机充当:
存储单元(9123),其存储表示由多个第一频带组成的音频数据的每一个频带的频率宽度的信息,所述多个第一频带分别与预定比特数相关联;
离散变换单元(9121),其获得所述音频数据,并通过计算表示每一个频率的音频强度的量化值,将所述音频数据从时域离散变换到频域;
最大值计算单元(9121),其将离散变换得到的频域音频数据划分为具有所述频率宽度的所述多个第一频带,并且计算每一个所划分的第一频带的所计算的量化值之中的最大值;
确定单元(9121),其针对每一个所述第一频带,确定用于表示由所述最大值计算单元计算的最大值所必需的比特数是否超过存储在所述存储单元(9123)中的所述预定比特数;
调整单元(9121),其针对每一个所述第一频带,在由所述确定单元(9121)确定所述必需的比特数超过所述预定比特数的情况下,获得一个除数,并且分别将在该第一频带内的量化值除以这个除数,从而调整所述音频强度,其中,这个除数(表示为2的幂的值)是这样的值中的最小值:当用所述最大值除以该值时,所述必需的比特数不超过所述预定比特数;
重新量化单元(9121),其针对具有预定带宽的多个第二频带中的每一个,以预先确定的精度重新量化由所述离散变换单元(9121)计算的所述量化值,或者可替换地,重新量化由所述调整单元(9121)调整后的所述量化值;以及
编码单元(9121),其编码、关联并输出由所述调整单元(9121)计算的所述除数和由所述重新量化单元(9121)计算的所述量化值。
15、一种计算机可读信息记录介质,包含记录在其上的程序,该程序使得计算机充当:
接收单元(9161),其接收编码数据,该数据由预定编码方法编码,并包括以下内容:
量化的音频数据,该量化的音频数据的信号强度由针对多个第一频带中的每一个而被调整后的量化值表示;以及
数值参数,其表示为2的幂,并且与为所述音频数据配置的多个设定的第二频带中的每一个频带相关联;
解码单元(9121),其通过使用对应于所述预定编码方法的解码方法,将所述编码数据解码为所述量化的音频数据和所述数值参数;
强度恢复单元(9121),其针对所述多个第二频带中的每一个,将该频带内的已解码的量化值乘以与该频带相关联的已解码的数值参数,从而恢复所述音频数据的音频强度;以及
离散逆变换单元(9121),其针对所述多个第一频带中的每一个,将恢复强度后的所述音频数据从频域变换到时域。
16、一种程序,用于控制计算机充当:
存储单元(9123),其存储表示由多个第一频带组成的音频数据的每一个频带的频率宽度的信息,所述多个第一频带分别与预定比特数相关联;
离散变换单元(9121),其获得所述音频数据,并通过计算表示每一个频率的音频强度的量化值,将所述音频数据从时域离散变换到频域;
最大值计算单元(9121),其将离散变换得到的频域音频数据划分为具有所述频率宽度的所述多个第一频带,并且计算每一个所划分的第一频带的所计算的量化值之中的最大值;
确定单元(9121),其针对每一个所述第一频带,确定用于表示由所述最大值计算单元计算的最大值所必需的比特数是否超过存储在所述存储单元(9123)中的所述预定比特数;
调整单元(9121),其针对每一个所述第一频带,在由所述确定单元(9121)确定所述必需的比特数超过所述预定比特数的情况下,获得一个除数,并且分别将在该第一频带内的量化值除以这个除数,从而调整所述音频强度,其中,这个除数(表示为2的幂的值)是这样的值中的最小值:当用所述最大值除以该值时,所述必需的比特数不超过所述预定比特数;
重新量化单元(9121),其针对具有预定带宽的多个第二频带中的每一个频带,以预先确定的精度重新量化由所述离散变换单元(9121)计算的所述量化值,或者可替换地,重新量化由所述调整单元(9121)调整后的所述量化值;以及
编码单元(9121),其编码、关联并输出由所述调整单元(9121)计算的所述除数和由所述重新量化单元(9121)计算的所述量化值。
17、一种程序,用于控制计算机充当:
接收单元(9161),其接收编码数据,该数据由预定的编码方法编码,并包括以下内容:
量化的音频数据,该量化的音频数据的信号强度由针对多个第一频带中的每一个而被调整后的量化值表示;以及
数值参数,其表示为2的幂,并且与为所述音频数据配置的多个设定的第二频带中的每一个频带相关联;
解码单元(9121),其通过使用对应于所述预定的编码方法的解码方法,将所述编码数据解码为所述量化的音频数据和所述数值参数;
强度恢复单元(9121),其针对所述多个第二频带中的每一个,将该频带内的已解码的量化值乘以与该频带相关联的已解码的数值参数,从而恢复所述音频数据的音频强度;以及
离散逆变换单元(9121),其针对所述多个第一频带中的每一个,将恢复强度后的所述音频数据从频域变换到时域。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP270993/2006 | 2006-10-02 | ||
JP2006270993A JP4396683B2 (ja) | 2006-10-02 | 2006-10-02 | 音声符号化装置、音声符号化方法、及び、プログラム |
PCT/JP2007/068733 WO2008041596A1 (en) | 2006-10-02 | 2007-09-19 | Audio encoding device5 audio decoding device, audio encoding method, audio decoding method, and information recording |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101523485A true CN101523485A (zh) | 2009-09-02 |
CN101523485B CN101523485B (zh) | 2012-10-10 |
Family
ID=38669899
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007800366177A Active CN101523485B (zh) | 2006-10-02 | 2007-09-19 | 音频编码装置、音频解码装置、音频编码方法和音频解码方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8447597B2 (zh) |
JP (1) | JP4396683B2 (zh) |
KR (1) | KR101026597B1 (zh) |
CN (1) | CN101523485B (zh) |
WO (1) | WO2008041596A1 (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103038821A (zh) * | 2010-07-30 | 2013-04-10 | 高通股份有限公司 | 用于谐波信号的译码的系统、方法、设备和计算机可读媒体 |
WO2013143221A1 (zh) * | 2012-03-29 | 2013-10-03 | 华为技术有限公司 | 信号编码和解码的方法和设备 |
WO2015000373A1 (zh) * | 2013-07-01 | 2015-01-08 | 华为技术有限公司 | 信号编码和解码方法以及设备 |
US9208792B2 (en) | 2010-08-17 | 2015-12-08 | Qualcomm Incorporated | Systems, methods, apparatus, and computer-readable media for noise injection |
CN107004421A (zh) * | 2014-10-31 | 2017-08-01 | 杜比国际公司 | 多通道音频信号的参数编码和解码 |
CN109328382A (zh) * | 2016-06-22 | 2019-02-12 | 杜比国际公司 | 用于将数字音频信号从第一频域变换到第二频域的音频解码器及方法 |
CN111971902A (zh) * | 2018-04-13 | 2020-11-20 | 日本电信电话株式会社 | 编码装置、解码装置、编码方法、解码方法、程序及记录介质 |
CN112289343A (zh) * | 2020-10-28 | 2021-01-29 | 腾讯音乐娱乐科技(深圳)有限公司 | 音频修复方法、装置及电子设备和计算机可读存储介质 |
CN112534723A (zh) * | 2018-08-08 | 2021-03-19 | 索尼公司 | 解码装置、解码方法和程序 |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
ES2474915T3 (es) * | 2006-12-13 | 2014-07-09 | Panasonic Intellectual Property Corporation Of America | Dispositivo de codificación, dispositivo de decodificación y métodos correspondientes |
JPWO2009125588A1 (ja) * | 2008-04-09 | 2011-07-28 | パナソニック株式会社 | 符号化装置および符号化方法 |
US8638699B2 (en) | 2008-11-10 | 2014-01-28 | Qualcomm Incorporated | Method and apparatus for supporting the large service data unit (SDU) |
US8711881B2 (en) | 2009-01-07 | 2014-04-29 | Qualcomm Incorporated | Packet bundling at the PDCP layer |
US8644338B2 (en) | 2009-01-07 | 2014-02-04 | Qualcomm Incorporated | Unbundling packets received in wireless communications |
KR101441474B1 (ko) * | 2009-02-16 | 2014-09-17 | 한국전자통신연구원 | 적응적 정현파 펄스 코딩을 이용한 오디오 신호의 인코딩 및 디코딩 방법 및 장치 |
US8515768B2 (en) * | 2009-08-31 | 2013-08-20 | Apple Inc. | Enhanced audio decoder |
US8386266B2 (en) * | 2010-07-01 | 2013-02-26 | Polycom, Inc. | Full-band scalable audio codec |
KR101468458B1 (ko) | 2010-11-12 | 2014-12-03 | 폴리콤 인코포레이티드 | 멀티 포인트 환경에서의 스케일러블 오디오 |
CN102800317B (zh) * | 2011-05-25 | 2014-09-17 | 华为技术有限公司 | 信号分类方法及设备、编解码方法及设备 |
KR101920029B1 (ko) | 2012-08-03 | 2018-11-19 | 삼성전자주식회사 | 모바일 장치 및 제어방법 |
JP6439296B2 (ja) * | 2014-03-24 | 2018-12-19 | ソニー株式会社 | 復号装置および方法、並びにプログラム |
CN112313603B (zh) | 2018-06-28 | 2024-05-17 | 索尼公司 | 编码装置、编码方法、解码装置、解码方法和程序 |
DE112019003391T5 (de) | 2018-07-03 | 2021-04-15 | Sony Corporation | Codiervorrichtung, codierverfahren, decodiervorrichtung, decodierverfahren, übertragungssystem, empfangsvorrichtung und programm |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU584976B2 (en) * | 1984-12-29 | 1989-06-08 | Sony Corporation | Digital signal transmission device |
JPS6386907A (ja) * | 1986-09-30 | 1988-04-18 | Yamaha Corp | 利得調整回路 |
US5222189A (en) * | 1989-01-27 | 1993-06-22 | Dolby Laboratories Licensing Corporation | Low time-delay transform coder, decoder, and encoder/decoder for high-quality audio |
JPH04150522A (ja) * | 1990-10-15 | 1992-05-25 | Sony Corp | ディジタル信号処理装置 |
US5317672A (en) * | 1991-03-05 | 1994-05-31 | Picturetel Corporation | Variable bit rate speech encoder |
JP2993324B2 (ja) | 1993-07-28 | 1999-12-20 | 日本ビクター株式会社 | 音声高能率符号化装置 |
US6151442A (en) * | 1996-07-08 | 2000-11-21 | Victor Company Of Japan, Ltd. | Signal compressing apparatus |
US6353808B1 (en) * | 1998-10-22 | 2002-03-05 | Sony Corporation | Apparatus and method for encoding a signal as well as apparatus and method for decoding a signal |
US6871180B1 (en) * | 1999-05-25 | 2005-03-22 | Arbitron Inc. | Decoding of information in audio signals |
AU2018201A (en) * | 1999-10-12 | 2001-04-23 | Perception Digital Technology (Bvi) Limited | Digital multimedia jukebox |
JP2001285073A (ja) * | 2000-03-29 | 2001-10-12 | Sony Corp | 信号処理装置及び方法 |
AU2001276588A1 (en) * | 2001-01-11 | 2002-07-24 | K. P. P. Kalyan Chakravarthy | Adaptive-block-length audio coder |
FI119955B (fi) * | 2001-06-21 | 2009-05-15 | Nokia Corp | Menetelmä, kooderi ja laite puheenkoodaukseen synteesi-analyysi puhekoodereissa |
US6732071B2 (en) * | 2001-09-27 | 2004-05-04 | Intel Corporation | Method, apparatus, and system for efficient rate control in audio encoding |
DE60208426T2 (de) * | 2001-11-02 | 2006-08-24 | Matsushita Electric Industrial Co., Ltd., Kadoma | Vorrichtung zur signalkodierung, signaldekodierung und system zum verteilen von audiodaten |
US20040002859A1 (en) * | 2002-06-26 | 2004-01-01 | Chi-Min Liu | Method and architecture of digital conding for transmitting and packing audio signals |
JP3861770B2 (ja) * | 2002-08-21 | 2006-12-20 | ソニー株式会社 | 信号符号化装置及び方法、信号復号装置及び方法、並びにプログラム及び記録媒体 |
TWI220753B (en) * | 2003-01-20 | 2004-09-01 | Mediatek Inc | Method for determining quantization parameters |
JP2004309921A (ja) * | 2003-04-09 | 2004-11-04 | Sony Corp | 符号化装置、符号化方法及びプログラム |
US7349842B2 (en) * | 2003-09-29 | 2008-03-25 | Sony Corporation | Rate-distortion control scheme in audio encoding |
JP4734859B2 (ja) * | 2004-06-28 | 2011-07-27 | ソニー株式会社 | 信号符号化装置及び方法、並びに信号復号装置及び方法 |
JP4800645B2 (ja) * | 2005-03-18 | 2011-10-26 | カシオ計算機株式会社 | 音声符号化装置、及び音声符号化方法 |
-
2006
- 2006-10-02 JP JP2006270993A patent/JP4396683B2/ja active Active
-
2007
- 2007-09-19 CN CN2007800366177A patent/CN101523485B/zh active Active
- 2007-09-19 KR KR1020097009136A patent/KR101026597B1/ko active IP Right Grant
- 2007-09-19 WO PCT/JP2007/068733 patent/WO2008041596A1/en active Application Filing
- 2007-10-01 US US11/906,312 patent/US8447597B2/en active Active
Cited By (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103038821A (zh) * | 2010-07-30 | 2013-04-10 | 高通股份有限公司 | 用于谐波信号的译码的系统、方法、设备和计算机可读媒体 |
US8831933B2 (en) | 2010-07-30 | 2014-09-09 | Qualcomm Incorporated | Systems, methods, apparatus, and computer-readable media for multi-stage shape vector quantization |
CN103038821B (zh) * | 2010-07-30 | 2014-12-24 | 高通股份有限公司 | 用于谐波信号的译码的系统、方法、设备 |
US8924222B2 (en) | 2010-07-30 | 2014-12-30 | Qualcomm Incorporated | Systems, methods, apparatus, and computer-readable media for coding of harmonic signals |
US9236063B2 (en) | 2010-07-30 | 2016-01-12 | Qualcomm Incorporated | Systems, methods, apparatus, and computer-readable media for dynamic bit allocation |
US9208792B2 (en) | 2010-08-17 | 2015-12-08 | Qualcomm Incorporated | Systems, methods, apparatus, and computer-readable media for noise injection |
US9899033B2 (en) | 2012-03-29 | 2018-02-20 | Huawei Technologies Co., Ltd. | Signal coding and decoding methods and devices |
WO2013143221A1 (zh) * | 2012-03-29 | 2013-10-03 | 华为技术有限公司 | 信号编码和解码的方法和设备 |
US9537694B2 (en) | 2012-03-29 | 2017-01-03 | Huawei Technologies Co., Ltd. | Signal coding and decoding methods and devices |
US10600430B2 (en) | 2012-03-29 | 2020-03-24 | Huawei Technologies Co., Ltd. | Signal decoding method, audio signal decoder and non-transitory computer-readable medium |
US9786293B2 (en) | 2012-03-29 | 2017-10-10 | Huawei Technologies Co., Ltd. | Signal coding and decoding methods and devices |
RU2633097C2 (ru) * | 2013-07-01 | 2017-10-11 | Хуавэй Текнолоджиз Ко., Лтд. | Способы и устройства кодирования и декодирования сигнала |
WO2015000373A1 (zh) * | 2013-07-01 | 2015-01-08 | 华为技术有限公司 | 信号编码和解码方法以及设备 |
US10152981B2 (en) | 2013-07-01 | 2018-12-11 | Huawei Technologies Co., Ltd. | Dynamic bit allocation methods and devices for audio signal |
US10789964B2 (en) | 2013-07-01 | 2020-09-29 | Huawei Technologies Co., Ltd. | Dynamic bit allocation methods and devices for audio signal |
CN107004421A (zh) * | 2014-10-31 | 2017-08-01 | 杜比国际公司 | 多通道音频信号的参数编码和解码 |
CN107004421B (zh) * | 2014-10-31 | 2020-07-07 | 杜比国际公司 | 多通道音频信号的参数编码和解码 |
CN109328382A (zh) * | 2016-06-22 | 2019-02-12 | 杜比国际公司 | 用于将数字音频信号从第一频域变换到第二频域的音频解码器及方法 |
CN109328382B (zh) * | 2016-06-22 | 2023-06-16 | 杜比国际公司 | 用于将数字音频信号从第一频域变换到第二频域的音频解码器及方法 |
CN111971902A (zh) * | 2018-04-13 | 2020-11-20 | 日本电信电话株式会社 | 编码装置、解码装置、编码方法、解码方法、程序及记录介质 |
CN111971902B (zh) * | 2018-04-13 | 2024-03-29 | 日本电信电话株式会社 | 编码装置、解码装置、编码方法、解码方法、程序及记录介质 |
CN112534723A (zh) * | 2018-08-08 | 2021-03-19 | 索尼公司 | 解码装置、解码方法和程序 |
CN112289343A (zh) * | 2020-10-28 | 2021-01-29 | 腾讯音乐娱乐科技(深圳)有限公司 | 音频修复方法、装置及电子设备和计算机可读存储介质 |
CN112289343B (zh) * | 2020-10-28 | 2024-03-19 | 腾讯音乐娱乐科技(深圳)有限公司 | 音频修复方法、装置及电子设备和计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
JP4396683B2 (ja) | 2010-01-13 |
US8447597B2 (en) | 2013-05-21 |
WO2008041596A1 (en) | 2008-04-10 |
KR101026597B1 (ko) | 2011-04-04 |
KR20090076956A (ko) | 2009-07-13 |
JP2008089999A (ja) | 2008-04-17 |
US20080082321A1 (en) | 2008-04-03 |
CN101523485B (zh) | 2012-10-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101523485B (zh) | 音频编码装置、音频解码装置、音频编码方法和音频解码方法 | |
CN103733257B (zh) | 音频编码方法和设备、音频解码方法和设备和采用音频编码方法和设备、音频解码方法和设备的多媒体装置 | |
CN102280109B (zh) | 编码装置、解码装置及它们的方法 | |
CN101223576B (zh) | 从音频信号提取重要频谱分量的方法和设备以及使用其的低比特率音频信号编码和/或解码方法和设备 | |
US6871106B1 (en) | Audio signal coding apparatus, audio signal decoding apparatus, and audio signal coding and decoding apparatus | |
CN102411933B (zh) | 解码装置和解码方法 | |
US6826526B1 (en) | Audio signal coding method, decoding method, audio signal coding apparatus, and decoding apparatus where first vector quantization is performed on a signal and second vector quantization is performed on an error component resulting from the first vector quantization | |
CN1702974B (zh) | 用于对数字信号编码/解码的方法和设备 | |
CN101521014B (zh) | 音频带宽扩展编解码装置 | |
RU2670797C2 (ru) | Способ и устройство для формирования из представления hoa-сигналов в области коэффициентов смешанного представления упомянутых hoa-сигналов в пространственной области/области коэффициентов | |
US20020049586A1 (en) | Audio encoder, audio decoder, and broadcasting system | |
CN102947881A (zh) | 解码装置、编码装置和解码方法、编码方法 | |
CN101193090A (zh) | 信号处理方法及其装置 | |
CN105659321A (zh) | 解码装置、编码装置、解码方法、编码方法、终端装置以及基站装置 | |
US20160189722A1 (en) | Acoustic signal coding apparatus, acoustic signal decoding apparatus, terminal apparatus, base station apparatus, acoustic signal coding method, and acoustic signal decoding method | |
CN102243876A (zh) | 预测残差信号的量化编码方法及装置 | |
CN101740033B (zh) | 一种音频编码方法和音频编码器 | |
CN105957533B (zh) | 语音压缩方法、语音解压方法及音频编码器、音频解码器 | |
JP2003233397A (ja) | オーディオ符号化装置、オーディオ符号化プログラム及びオーディオ符号化データ伝送装置 | |
CN101377926B (zh) | 加速量化循环程序功能的音频编码方法 | |
CN111788628A (zh) | 编码装置、编码方法、程序以及记录介质 | |
CN117221016B (zh) | 一种远程连接过程中数据安全传输方法 | |
JP5098453B2 (ja) | 音声符号化装置、音声復号装置、音声符号化方法、音声復号方法、及び、プログラム | |
KR20230135665A (ko) | 공간 오디오 파라미터 인코딩 및 관련 디코딩 결정 | |
CN103035249A (zh) | 一种基于时频平面上下文的音频算术编码 方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |