编码方法和编码装置的制作方法

文档序号:7512441阅读:176来源:国知局
专利名称:编码方法和编码装置的制作方法
技术领域
本发明涉及编码方法和编码装置,用于压缩诸如音频信号的数 字信息信号的代码量(code amount )。
背景技术
作为用于压缩音频信号的一种编码方式,已知通过ISO标准化 的ISO/IEC 13818-78 (下文称为AAC音频编码的MPEG2-AAC (高
级音频编码))。
在AAC音频编码中,音乐信号等被划分为多个时块(time block)。对每块都执行例如改进的离散余弦变换(下文称为MDCT (改进的DCT))的正交变换,从而获得变换系数(下文称为MDCT 系数)。通过比例因子来定标MDCT系数。对经过定标的变换系数 进行量化并根据Huffman编码系统对量化值进行编码。
在AAC音频编码中,当变换系数被划分为多个频率区域(称 为子带)时,考虑到心理听觉^t型对量化噪声分配自适应地改变对
子,使得进行了可变长度编码的代码量变得接近在产品的标准或说 明书中指定的目标代码量(传输率)。计算可以为每个编码帧分配 的代码量。更新比例因子,使得在假设计算的代码量是每个编码帧 的目标〗戈码量的情况下,4戈码量不超过目标代码量。编码帧是具有通过如1024音频才羊本的预定量的音频冲羊本划分具有预定传iir率的 音频流的长度的音频帧。在以下的描述中,编码帧简称为帧。
图5是示出传统的量化循环控制处理的流程的流程图。当开始 处理时,首先在步-骤Sl中,计算/>共比例因子的初始值。在步-骤 S2中,利用已经设置的初始值执行量化、定标(scaling )。
在步骤S3中,确定每个子带的量化噪声是否超过可允许的噪 声。可以通过获得反向量化的MDCT系凄史和预先量化的MDCT系 凄t之间的差来计算量化噪声。如果量化噪声超过可允许的噪声,则 流程前进到步骤S4。在步骤S4中,改变子带比例因子,使得量化 步长变小且量化噪声不超过可允许的噪声。
在步骤S3中,如果确定量化噪声没有超过可允许的噪声,则 流程前进到步骤S5。在步骤S5中,执行可变长度编码。此后,在 步艰《S6中,确定代码量是否超过目标代j码量。目标代码量是为每 帧设置的代码量。如果确定代码量超过目标代码量,则流程前进到 步艰《S7。在步骤S7中,改变/>共比例因子,使得量化步长变大。 此后,流程返回至步骤S2 (量化)。此后,在步骤S6中,重复上述 处理直到确定^f义码量没有超过目标代码量。
AAC音频编码中的量化表示成下列/>式(1 )。
在/>式(1 )中,mdct—line表示预先量化的MDCT系凄史,xquant 表示量化的MDCT系数,scalefactor表示每个子带的子带比例因子, common—scalefac表示整个频带的7>共比例因子,int ()表示获4寻 整数的处理,abs表示用于获得绝对值的函数,A表示幂,以及*表
x—《画化=int(("fo(m必—//"e) * (2A(—1/4 * (sca/咖c組示乘。整数获得处理获取从abs ~ 0.4054 的整数。 (scalefactor-common一scalefac )称为量化步长。
公式(1)清楚地表明,子带比例因子scalefactor越大,量化 MDCT系数xquant就越大。换句话说,子带比例因子越大,量化步 长就越小,导致量化p喿声的降4氐。然而,由于量化系凄史变大,所以 代码量增大。相反,公共比例因子越大,量化步长就越小,导致代 码量的减小。因此,公共比例因子和子带比例因子与量化步长相关, 即,与量化噪声和生成的代码量相关。以这种方式,4丸行用于更新 这些比例因子以及重复预量化和预编码的循环控制。
在量化循环处理中用于计算初始值的步艰《Sl中,子带比例因 子的初始值^皮i殳置为0,并通过下列7>式(2)表示开始/>共比例因
<formula>formula see original document page 7</formula> …(2)
在公式(2)中,MAX—QUANT表示AAC音频编码标准中量 化系数的最大值(固定值),max—mdct—line表示绝对值在整个频带 中为最大值的MDCT系数,以及ceiling (x)表示用于获得为x以 上的最小整凄ti直的函凄史。4奐句话i兌,/>共比例因子的初始<直是 Huffman编码表可用于编码的最小公共比例因子。
公式(2)清楚地表明,公共比例因子被设置为使得与MDCT 系数的最大值相对应的量化系数与标准中的最大值MAX_QUANT 相匹配。另外,子带比例因子^皮i殳置为0。因此,考虑到7>共比例 因子,量化步长被设置为非常小的值。相反,考虑到子带比例因子, 量化步长被设置为平坦频率特性。换句话说,不管输入信号的特性 如何,循环控制通常以代码量非常大的状态开始。逐渐增大/>共比例因子(即,逐渐增大量化步长),以减小生成的代码量。另外, 虽然对应于输入信号特性增大子带比例因子(即,增大量化步长), 但调节每个子带的量化失真。
用于在更新子带比例因子和7>共比例因子的同时重复量化直 到量化的代码量不超过目标代码量的循环处理是用于4臾索量化代 码量不超过目标代码量的公共比例因子的处理。由于除最终循环处 理的计算结果之外都是不需要的,所以循环处理是非常无效的处 理。因此,由于处理成本随着循环次凄t的增加而增加,所以期望降 4氐循环次凄史。
公共比例因子的初始值是利用其可以执行公式(2)表示的编 码的最小值并且是才艮据输入信号而不管目标代码量的值。另一方 面,公共比例因子的最终值随着目标代码量的降低(压缩比的增加) 而趋于变大。因此,目标代码量越小,公共比例因子的初始值和公 共比例因子的最终值之间的差越大,导致量化循环次凄t的增加。
作为减小循环次凄t的方法,可以考虑两种方法。在第一种方法 中,改善寻找公共比例因子的最终值的方法。在第二种方法中,将 接近公共比例因子的最终值的值被预测作为初始值。作为用于减小 循环次数的第 一种方法,使用对分查找来代替递增公共比例因子, 直到其不超过目标代码量为止。作为第二种方法,如果相邻帧的信 号特性类似,则使用公共比例因子的最终值为类似值的特性,通过 先前帧的7>共比例因子的最终^直开始量化循环处理。
曰本专利申请公开第2004-172770号描述了降低用于减小AAC 音频编码中的代码量以高速"^M亍编码的循环控制的处理量的4支术。通过下列/>式(3 )表示日本专利申请7>开第2004-172770号中 的用于第 一 次量化循环的量化7>式。在7>式(3 )中, end—common_scalefac (i-l )表示先前帧的^>共比例因子的最终^直。
x _ gfwcmf (! ) = int( a6s (mc rt _ /Zwe (0) * (2A (—1 / 4 *— cowwo" — sca/e/ac (Z — 1》》) A(3/4)+ 0.4054 ) …(3)
如果相邻帧的信号特性类似,则在日本专利申请公开第
2004-172770号中通过先前帧的公共比例因子的最终值开始量化循
环处理的方法是有效的。然而,如果信号特性变化,则由于先前帧 的公共比例因子的最终值和当前帧的公共比例因子的最终值之间 的差專交大,所以反而增加了量化循环次凄史。
图6示出了7>共比例因子的初始<直的变4匕(实线)和在包4舌听 觉特性的变化的交响曲作为声源的情况下的/>共比例因子的最终 值的变化(虚线)的实例。当比较相邻帧的公共比例因子的最终值 时,尽管如箭头所示最终值没有较大变化,但它们可能大大不同。 如果公共比例因子的最终值和初始值之间的差的绝对值较大,则引 起循环次数的增加。在图6所示的实例中,考虑到公共比例因子的 最终值和初始值之间的差的绝对值,其是相对较大的值。另外,明 显地,不管信号特性的变化,相邻帧的差的绝对值几乎相同。
因此,本发明的目的在于提供与现有技术相比使得量化循环次 凄t降4氐的编码方法和编码装置。

发明内容
为了解决上述问题,根据本发明,通过作为将先前帧的公共比 例因子的初始^直和最终4直之间的差与先前帧的7>共比例因子的初 始值相加的值的公共比例因子的较正初始值开始量化循环。另夕卜,才艮据本发明,通过先前帧的公共比例因子的增加率来较正当前帧的 公共比例因子的初始值。
本发明是用于对具有预定大小的数字信息信号的每块都进行 正交变换、获得频率变换系数、将频率变换系数划分为多个子带、 基于每个子带的子带比例因子和对整个频带都一样的公共比例因
子来定标并量化频率变换系数、以及才艮据可变长度编码对量化的频
率变4灸系凄t进4亍编石马的编石马方法,该编」玛方法包4舌 计算步艰《,计算/>共比例因子的初始^_;
初始值较正步骤,校正初始值;
子带比例因子控制步骤,改变子带比例因子,z使得量化噪声不 超过可允许值;
公共比例因子控制步骤,改变公共比例因子,直到达到利用可 变长度代码编码了的代码量不超过每帧的目标代码量时的公共比 例因子的最终值为止;以及
存储步骤,存储当前帧的公共比例因子的初始值和公共比例因 子的最终值,
其中,通过将先前帧的7>共比例因子的初始值和先前帧的/>共 比例因子的最终^直与当前帧的初始值相加来扭^亍初始^直才交正步艰《。
代替先前帧的公共比例因子的初始值和先前帧的公共比例因 子的最终值之间的差,本发明是利用先前帧的公共比例因子的增加 率来4交正当前帧的比例因子的初始^f直的编石马方法。本发明是用于对具有预定大小的数字信息信号的每块都进行 正交变换、获得频率变换系数、将频率变换系数划分为多个子带、 基于每个子带的子带比例因子和对整个频带都一样的公共比例因
子来定标并量化频率变换系It、以及4艮据可变长度编码对量化的频
率变换系lt进4亍编码的编码装置,该编码装置包4舌 计算装置,用于计算公共比例因子的初始值; 初始值校正装置,用于4交正初始值;
子带比例因子控制装置,用于改变子带比例因子,使得量化噪 声不超过可允许值;
公共比例因子控制装置,用于改变公共比例因子,直到达到利 用可变长度代码编码了的代码量不超过每帧的目标代码量时的7> 共比例因子的最终^直为止;
存储装置,用于存储当前帧的公共比例因子的初始值和公共比 例因子的最终4直;以及
其中,初始值專交正装置将先前帧的/>共比例因子的初始值和先 前帧的公共比例因子的最终值与当前帧的初始值相加。
代替先前帧的公共比例因子的初始值和先前帧的公共比例因 子的最终值之间的差,本发明是利用先前帧的公共比例因子的增加 率来校正当前帧的比例因子的初始值的编码装置。


图1是示出本发明的实施例的框图;图2是示出根据本发明实施例的处理流程的流程图3是说明根据本发明实施例的公共比例因子的初始值和最终 值的示意图4是说明根据本发明实施例的公共比例因子的初始值和最终 值的差的绝对值的示意图5是示出传统代码量控制的流程的流程图;以及
图6是说明传统代码量控制中的公共比例因子的初始值和最终 值的示意图。
具体实施例方式
接下来,参照附图描述本发明的实施例。参照图1,将描述本 发明实施例的结构。将作为具有预定大小的块所提取的^t字音频信 号输入至输入端1。将输入音频信号提供给滤波器組合部2。滤波 器组合部2根据例如MDCT的正交变换将时域信号变换为频域信 号。正交变换信号被划分为多个子带。计算每个子带的子带比例因 子,并批i行用于配置它们的动态范围的标准化处理。
心理听觉分析部3使用人们的心理听觉特性为每个子带适当地 分配比特。滤波器组合部2的输出信号被提供给量化部4。量化部 4基于心理听觉分析部3的分析结果对由滤波器组合部2提供的 MDCT系数进行量化。
循环控制部5基于预定的编码率和,人心理听觉分析部3纟是供的 信息来计算可以分配给每个编码帧的代码量,处理作为编码帧的目 标代码量的计算代码量,以及更新用于量化部4的比例因子,使得 代码量不超过目标代码量。编码部6一艮据预定的编码方式对通过量化部4量化的量化MDCT系凄t进4亍压缩编码。当批J亍AAC音频编 码时,例如,Huffman编码方式被用作编码方式。从输出端7获得 编码MDCT系凄t。
图2是示出才艮据本发明实施例的循环控制处理流程的流程图。 在图2中,除了步骤Sll "利用先前的公共比例因子的初始值和最 终值校正当前公共比例因子的初始值,,和步骤S12 "存储当前公共 比例因子的初始值和最终值"之外,由相同的参照数字表示与图5 所示传统循环控制相对应的步骤。
当开始处理时,流程前进到步骤S1。在步骤S1中,计算7>共 比例因子的初始值。用于计算帧凄ti的7>共比例因子的7>式表示成 下列7>式(4)。
血rt—c謹歸w _ sca/咖c(/) = ce6 / 3 * (log2 ((max_ m必_ /)A (3 / 4)
,司)) …(4)
下文,在步骤Sll中,校正公共比例因子的初始值。换句话说, 将先前帧的共比例因子的初始值和最终值之间的差与当前帧的 公共比例因子的初始值相加的值是公共比例因子的校正初始值。校 正计算公式表示成下列公式(5)。
+ (ewc/ — cowmcw—sca/咖c(/ 一 1) 一 一 co附附o" — sca/咖c(/ — 1》 …(5)
其中,revisedcd—start_common_scalefac (i)是公共比例因子的 才交iE^7士台^l:,
start—common_scalefac (i)是7>共比例因子的4刀始j直( 式(4 ) 的计算结果),end—common—scalefac( i-1 )是先前帧的/>共比例因子的最终值, start—common—scalefac (i-1 )是先前帧的公共比例因子的4刀士台值。
在步骤S2中,利用已经设置的初始值执行量化和定标。用于 计算第一量化循环的量化的/>式表示成下列/>式(6)。<formula>formula see original document page 14</formula> … (6)
当比较用在传统处理中的公式(3)与公式(6)时,明显地, 3夸/>共比例因子的^7始^直乂人end—common_scalefac ( i-1 )变为 revised—start—common—scalefac (i )。
在步骤S3中,确定每个子带的量化噪声是否超过可允许的噪 声。如果量化噪声超过可允许的噪声,则流程前进到步骤S4。在步 骤S4中,改变子带比例因子, -使得量化步长减小且量化噪声不超 过可允许的噪声。
当在步骤S3确定量化噪声不超过可允许的噪声时,流程前移 至步骤S5。在步骤S5中,执行可变长度编码。在步骤S6中,确 定编码的代码量是否超过目标代码量。当在步骤S6中确定代码量 超过目标4戈石马量时,流禾呈前进到步-骤S7。在步艰《S7中,改变公共 比例因子,使得量化步长增加。此后,流程返回到步骤S2 (量化)。 此后,重复上述处理直到在步驶《S6中确定代码量不超过目标4、码 量。从步骤S2到步骤S7的控制与传统处理相同。然而,可能公共 比例因子的校正初始值超过最终值。因此,在步骤S7中,更新公 共比例因子,使得不仅增大公共比例因子,而且降低公共比例因子 (搜索)。在(校正初始值>最终值)的情况下,在步骤S7中,改变公共比例因子,使得其单调降低并且紧接满足(校正初始值<最 终值)之前的量化步骤变成最终值。
如果在步骤S6中确定代码量不超过目标代码量,则流程前进
到步骤S12。在步骤S12中,为了执行用于接下来代码量的公共比 例因子的初始值的校正处理,存储当前帧的公共比例因子的初始值 (start—common一scalefac (i))和最终值(end—common一scalefac (i))。 结果,完成帧数i的循环控制。
图3示出了在将本发明应用于与图6所示相同的声源的情况下 的公共比例因子的校正初始值(由实线表示)和最终值(由虚线表 示)之间的关系。图3示出了由于本发明的公共比例因子的初始值 和最纟冬<直4妾近,所以可以降^f氐循环的次凄史。
图4示出了在将传统方法应用于与如图6所示相同的声源的情 况下的公共比例因子的初始值和最终值之间的差的绝对值(由虚线 表示)和在将根据本发明实施例的方法应用于与图6所示相同的声 源的情况下的差的绝对值(由实线表示)。在传统方法中,如通过 箭头所示,在声音特性变化位置的公共比例因子的初始值和最终值 之间的差与例如值32 —样大。相反,在本发明的实施例中,差可 以与值3 —样小。
由于/>共比例因子的初始^f直和最终^直之间的差影响量化循环 的次凄t,所以当差减小时,可以减少lM匕循环的次凄t, 乂人而可以以 高速执行量化处理。具体地,即使信号特性在相邻帧之间变化较大, 也可以与信号特性没有变化的情况一样快速地执4亍量化处理。另 外,由于通过获得先前帧的公共比例因子的初始值和先前帧的公共 比例因子的最终^直之间的差的减法以及将该差与/>共比例因子的 初始值相加的加法执行初始值校正处理,所以硬件规模或软件规模 可以与传统的装置或方法相同。接下来,将描述用于校正公共比例因子的初始值的校正处理的 另一个实施例。在该实例中,利用增加率而不是先前帧的公共比例 因子的初始值和最终值之间的差来校正公共比例因子的初始值。校 正处理表示成下列/>式(7)。
(e"c/—cowwora — ca/e7^c(/ — 1) + _ coot附o"—sca/e7^c(/ —1))…(7) 其中,revised_start_common—scalefac (i)是公共比例因子的才交
start—common—scalefac (i)是乂>共比<列因子的一刀始^直(乂>式(4 ) 的计算结果),
end—common_scalefac( i-l )是先前帧的/>共比例因子的最纟冬^直, start—common—scalefac (i-1 )是先前帧的乂>共比例因子的#刀士台值。
在公式(7 )中,术语end—common—scalefac (i-l ) /start—common —scalefac (i-l )表示增加率。当代替差使用增加率时,可以获得与 上述相同的岁丈果。
尽管具体描述了本发明的实施例,但本发明不限于这些实施 例。换句话说,可以基于本发明的精神进行各种修改。例如,根据 本发明,为了控制目标代码量的代码量,可以通过小代码量控制大 4戈码量。另外,除AAC音频编石马之外,本发明还可以应用于例如 ISO/IEC 111718-4 ( MPEG-l Layer 3, MP3 )的其他音频编码的代码 量控制。另外,本发W 代码量控制。才艮据本发明,在^>共比例因子的初始值和最终^直之间的差可以
專交小,可以减少JM匕循环的次凄t,以及可以以高速执4亍量^b处理。
另外,根据本发明,为了通过差校正公共比例因子的初始值,每帧 ^又需要增加一个加法/减法处理和一个比專交处理。因此,本发明装置 的电路规模和程序规模可以与传统装置基本相同。
权利要求
1. 一种编码方法,用于对具有预定大小的数字信息信号的每块进行正交变换,获得频率变换系数,将所述频率变换系数划分为多个子带,基于每个子带的子带比例因子和对整个频带都一样的公共比例因子来定标和量化所述频率变换系数,以及根据可变长度编码对经过量化的频率变换系数进行编码,所述编码方法包括计算步骤,计算所述公共比例因子的初始值;初始值校正步骤,校正所述初始值;子带比例因子控制步骤,改变所述子带比例因子,使得量化噪声不超过可允许值;公共比例因子控制步骤,改变所述公共比例因子,直到达到利用可变长度代码编码了的代码量不超过每帧的目标代码量时的所述公共比例因子的最终值为止;以及存储步骤,存储当前帧的所述公共比例因子的初始值和所述公共比例因子的最终值,其中,通过将先前帧的所述公共比例因子的初始值和所述先前帧的所述公共比例因子的最终值与当前帧的初始值相加来执行所述初始值校正步骤。
2. —种编码方法,用于对具有预定大小的数字信息信号的每块进 行正交变换,获得频率变换系数,将所述频率变换系数划分为 多个子带,基于每个子带的子带比例因子和对整个频带都一样 的公共比例因子来定标并量化所述频率变换系数,以及根据可 变长度编码对经过量化的频率变换系lt进行编码,所述编码方 法包括计算步骤,计算所述公共比例因子的初始值;初始值校正步骤,校正所述初始值;子带比例因子控制步骤,改变所述子带比例因子,使得 量化噪声不超过可允许4直;/>共比例因子控制步骤,改变所述^>共比例因子,直到 达到利用可变长度代码编码了的代码量不超过每帧的目标代 码量时的所述公共比例因子的最终值为止;以及存储步骤,存々者当前帧的所述/>共比例因子的初始值和 所述7>共比例因子的最终值,其中,通过将所述初始值乘以先前帧的所述7>共比例因 子的增加率来才丸行所述初始值4交正步-骤。
3. 才艮据冲又利要求1或2所述的编码方法, 其中,利用其绝对值是整个频带中的最大值的频率变换 系数来计算所述公共比例因子的初始值。
4. 根据权利要求1或2所述的编码方法,其中,所述子带比例因子的初始值为0。
5. —种编码装置,用于对具有预定大小的数字信息信号的每块进 行正交变换,获得频率变换系数,将所述频率变换系数划分为 多个子带,基于每个子带的子带比例因子和对整个频带都一样 的公共比例因子来定标并量化所述频率变换系数,以及根据可 变长度编码对经过量化的频率变换系数进行编码,所述编码装 置包括计算装置,用于计算所述^>共比例因子的初始值; 初始^直4交正装置,用于才交正所述初始^f直;子带比例因子控制装置,用于改变所述子带比例因子,使得量化噪声不超过可允许值;/>共比例因子控制装置,用于改变所述/>共比例因子, 直到达到利用可变长度代码编码了的代码量不超过每帧的目标代码量时的所述公共比例因子的最终值为止;以及存储装置,用于存储当前帧的所述公共比例因子的初始 值和所述/>共比例因子的最终值,其中,所述初始值校正装置将先前帧的所述公共比例因 子的初始 <直和所述先前帧的所述/>共比例因子的最纟冬^f直与所 述当前巾贞的#刀始<直才目力口 。
6. —种编码装置,用于对具有预定大小的数字信息信号的每块进 行正交变换,获得频率变换系数,将所述频率变换系数划分为 多个子带,基于每个子带的子带比例因子和对整个频带都一样 的公共比例因子来定标并量化所述频率变换系数,以及根据可 变长度编码对经过量化的频率变换系ft进4亍编码,所述编码装 置包括计算装置,用于计算所述公共比例因子的初始值;初始值才交正装置,用于4交正所述初始值;子带比例因子控制装置,用于改变所述子带比例因子, 使得量化噪声不超过可允许值;公共比例因子控制装置,用于改变所述/>共比例因子, 直到达到利用可变长度代码编码了的代码量不超过每帧的目 标代码量时的所述7>共比例因子的最终值为止;以及存储装置,用于存储当前帧的所述公共比例因子的初始 值和所述/>共比例因子的最终值,其中,初始值校正装置将所述初始值乘以先前帧的所述 公共比例因子的增加率。
全文摘要
在S1中,计算公共比例因子的初始值。此后,在S11中,校正初始值。先前帧的初始值和最终值之间的差与当前帧的初始值相加的值是公共比例因子的校正初始值。通过校正初始值执行定标。在S3中,如果确定每个子带的量化噪声不超过可允许噪声,则流程前进到S5。在S5中,执行可变长度编码。在S6中,确定编码的代码量是否超过目标代码量。如果确定代码量超过目标代码量,则流程前进到S7。在S7中,改变公共比例因子,使得量化步长变大且存储量化处理。此后,重复处理直到确定代码量不超过目标代码量。校正初始值使得处理时间变短。
文档编号H03M7/30GK101432803SQ20078001506
公开日2009年5月13日 申请日期2007年4月24日 优先权日2006年4月26日
发明者诹访部薰 申请人:索尼株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1