具体实施方式
以下,参照附图详细地说明本发明的实施方式。并且,作为本发明的编码装置及解码装置,以语音编码装置及语音解码装置为例进行说明。
本发明是对每分层(层)选择作为编码对象的频带的分层编码(可扩展编码)方式中的技术。具体而言,是在分层编码(可扩展编码)方式中,作为编码对象频带的频率参数的量化方法,自适应地切换时间轴方向和层轴(分层)方向上的预测编码或非预测编码的技术。另外,在非专利文献2中公开了下述技术,即,在非分层编码方式中,作为编码对象频带的频率参数的量化方法,自适应地切换预测编码/非预测编码。在以下的各实施方式中公开了下述技术,即,在分层编码(可扩展编码)方式中,作为编码对象频带的频率参数的量化方法,自适应地切换预测编码/非预测编码,实现频率参数的高效率的预测编码。
(实施方式1)
图1是表示具有本发明实施方式1的编码装置及解码装置的通信系统的结构的方框图。在图1中,通信系统具有编码装置101和解码装置103,处于分别可经由传输路径102进行通信的状态。并且,编码装置101和解码装置103通常都被安装在基站装置或通信终端装置等中来使用。
编码装置101以每N样本划分输入信号(N为自然数),将N样本作为1帧,对每帧进行编码。这里,将作为编码对象的输入信号表示为xn(n=0、...、N-1)。n表示以每N样本划分的输入信号中的第n+1信号元素。编码装置101经由传输路径102向解码装置103发送编码后的输入信息(以下称为“编码信息”)。
解码装置103接收经由传输路径102从编码装置101发送的编码信息,对其进行解码,得到输出信号。
图2是表示图1所示的编码装置101的内部主要结构的方框图。编码装置101作为一例而设为由三个编码分层(层)构成的分层编码装置。这里,按照比特率从低到高的顺序,称为第1层、第2层、第3层。
正交变换处理单元201的内部具有缓冲器buff(n)(n=0、...、N-1),并对输入信号xl(n)进行改进离散余弦变换(MDCT:Modified Discrete CosineTransform)。由此,输入信号x1(n)被变换为频域参数(频域信号)。
接着,说明正交变换处理单元201中的正交变换处理的计算步骤和对内部缓冲器的数据输出。
首先,正交变换处理单元201通过下式(1)将缓冲器buf1(n)的初始值初始化为“0”。
buf1(n)=0(n=0,…,N-1) ...(1)
接着,正交变换处理单元201根据下式(2),对输入信号x1(n)进行改进离散余弦变换(MDCT),求输入信号x1(n)的MDCT系数(以下,称为“输入频谱”)X(k)。
其中,k表示1帧中的各样本的索引。正交变换处理单元201通过下式(3)求将输入信号x1(n)和缓冲器buf1(n)结合所得的向量即x1’(n)。
接着,正交变换处理单元201通过式(4)而将缓冲器buf1(n)更新。
buf1(n)=x1(n)(n=0,…N-1) ...(4)
另外,正交变换处理单元201将输入频谱X1(k)输出到第1层编码单元202和加法单元204。
输入频谱X1(k)从正交变换处理单元201被输入到第1层编码单元202。另外,时间上前1处理帧的第2层编码信息所包含的第2层增益编码信息和第2层频带信息从第2层编码单元205被输入到第1层编码单元202。另外,时间上前1处理帧的第3层编码信息所包含的第3层增益编码信息和第3层频带信息从第3层编码单元208被输入到第1层编码单元202。
第1层编码单元202使用这些输入的信息,将输入频谱X1(k)编码,生成第1层编码信息。然后,第1层编码单元202将生成的第1层编码信息输出到第1层解码单元203和编码信息合并单元209。另外,在后面叙述第1层编码单元202的细节。
第1层编码信息从第1层编码单元202被输入到第1层解码单元203。另外,时间上前1处理帧的第2层增益编码信息从第2层编码单元205被输入到第1层解码单元203。另外,时间上前1处理帧的第3层增益编码信息从第3层编码单元208被输入到第1层解码单元203。
第1层解码单元203使用这些频带信息和增益编码信息,将第1层编码信息解码,计算第1层解码频谱。然后,第1层解码单元203将生成的第1层解码频谱输出到加法单元204。另外,在后面叙述第1层解码单元203的细节。
加法单元204通过使第1层解码频谱的极性反转,并将其与输入频谱相加,由此计算输入频谱和第1层解码频谱之间的差分频谱。加法单元204将获得的差分频谱作为第1层差分频谱输出到第2层编码单元205。
第2层编码单元205使用从加法单元204输入的第1层差分频谱,生成第2层编码信息。然后,第2层编码单元205将生成的第2层编码信息输出到第2层解码单元206和编码信息合并单元209。另外,第2层编码单元205将第2层编码信息所包含的第2层增益编码信息和第2层频带信息输出到第1层编码单元202。由此,在第1层编码单元202中,在下一处理帧中,利用第2层增益编码信息和第2层频带信息进行编码。另外,在后面叙述第2层编码单元205的细节。
第2层解码单元206将从第2层编码单元205输入的第2层编码信息解码,计算第2层解码频谱。然后,第2层解码单元206将生成的第2层解码频谱输出到加法单元207。另外,在后面叙述第2层解码单元206的细节。
加法单元207通过使第2层解码频谱的极性反转,并将其与第1层差分频谱相加,由此计算第1层差分频谱和第2层解码频谱之间的差分频谱。加法单元207将获得的差分频谱作为第2层差分频谱输出到第3层编码单元208。
第3层编码单元208使用从加法单元207输入的第2层差分频谱而生成第3层编码信息,并将生成的第3层编码信息输出到编码信息合并单元209。另外,第3层编码单元208将第3层编码信息所包含的第3层增益编码信息和第3层频带信息输出到第1层编码单元202和第1层解码单元203。由此,在第1层编码单元202和第1层解码单元203中,在下一处理帧中,利用第3层增益编码信息和第3层频带信息进行编码。另外,在后面叙述第3层编码单元208的细节。
编码信息合并单元209将从第1层编码单元202输入的第1层编码信息、从第2层编码单元205输入的第2层编码信息以及从第3层编码单元208输入的第3层编码信息进行合并。接着,编码信息合并单元209对合并后的信息源码,如果需要则在附加传输差错码等之后,将其作为编码信息输出到传输路径102。
图3是表示第1层编码单元202的主要结构的方框图。
在该图中,第1层编码单元202包括:频带选择单元301、形状编码单元302、自适应预测判定单元303、增益编码单元304、以及复用单元305。
频带选择单元301将从正交变换处理部201输入的输入频谱分割为多个子带,从多个子带中选择作为量化对象的频带(量化对象频带)。频带选择单元301将表示选择出的量化对象频带的频带信息(第1层频带信息)输出到形状编码单元302、自适应预测判定单元303、以及复用单元305。另外,频带选择单元301将输入频谱输出到形状编码单元302。另外,对形状编码单元302的输入频谱的输入也可以独立于从正交变换处理部201对频带选择单元301的输入,而从正交变换处理部201直接输入。在后面叙述频带选择单元301的处理的细节。
形状编码单元302使用从频带选择单元301输入的输入频谱中的、与第1层频带信息表示的频带对应的频谱(MDCT系数)进行形状信息的编码,生成第1层形状编码信息。接着,形状编码单元302将生成了的第1形状编码信息输出到复用单元305。另外,形状编码单元302将形状编码时算出的理想增益(增益信息)输出到增益编码单元304。在后面叙述形状编码单元302的处理的细节。
第1层频带信息从频带选择单元301被输入到自适应预测判定单元303。另外,第2层频带信息从第2层编码单元205被输入到自适应预测判定单元303。另外,第3层频带信息从第3层编码单元208被输入到自适应预测判定单元303。自适应预测判定单元303具有内部缓冲器,其存储先前从频带选择单元301、第2层编码单元205、以及第3层编码单元208分别输入的第1层频带信息、第2层频带信息、以及第3层频带信息。
自适应预测判定单元303使用输入的各频带信息(第1层频带信息、第2层频带信息、第3层频带信息),求当前帧的量化对象频带和先前帧的量化对象频带之间共用的子带数。在共用的子带数为预先设定的规定值以上的情况下,自适应预测判定单元303判定为对于第1层频带信息表示的量化对象频带的频谱(MDCT系数)进行预测编码。另一方面,在共用的子带数小于规定值的情况下,自适应预测判定单元303判定为对于第1层频带信息表示的量化对象频带的频谱(MDCT系数)不进行预测编码(即,进行不适用预测的编码)。
自适应预测判定单元303将判定结果作为预测信息(Flag_PRE)输出到增益编码单元304和复用单元305。这里,自适应预测判定基准单元303在判定为进行预测的情况下,将Flag_PRE的值设为“1”,在判定为不进行预测的情况下,将Flag_PRE的值设定为“0”。另外,在后面叙述自适应预测判定单元303的处理的细节。
理想增益从形状编码单元302被输入到增益编码单元304。另外,预测信息从自适应预测判定单元303被输入到增益编码单元304。另外,时间上前1处理帧的第2层增益编码信息和第3层增益编码信息从第2层编码单元205和第3层编码单元208被输入到增益编码单元304。
在预测信息表示进行预测编码的判定结果的情况下,增益编码单元304对于从形状编码单元302输入的理想增益进行预测编码,获得第1层增益编码信息。此时,增益编码单元304使用内置的缓冲器中存储的先前帧的量化增益、内置的增益码本、第2层增益编码信息、以及第3层增益编码信息,对于理想增益进行预测编码。
另一方面,在预测信息表示不进行预测编码的判定结果的情况下,增益编码单元304将从形状编码单元302输入的理想增益直接进行量化(即,不适用预测而进行量化)。
增益编码单元304将对理想增益编码所得的第1层增益编码信息输出到复用单元305。在后面叙述增益编码单元304的处理的细节。
复用单元305将第1层频带信息、第1层形状编码信息、第1层增益编码信息、以及预测信息进行复用而生成第1层编码信息。复用单元305将生成的第1层编码信息输出到第1层解码单元203和编码信息合并单元209。
具有上述的结构的第1层编码单元202进行以下的动作。
输入频谱X(k)从正交变换处理单元201被输入到频带选择单元301。
频带选择单元301首先将输入频谱X1(k)分割为多个子带。这里,举例说明均等地分割为J(J为自然数)个子带的情况。然后,频带选择单元301在J个子带中选择连续的L(L为自然数)个子带,获得M(M为自然数)种的子带组。以下,将该M种的子带组称为域(region)。
图4是例示频带选择单元301中所获得的域的结构的图。
在该图中,子带数为17个(J=17),域的种类为8种(M=8),各个域由连续的5个(L=5)子带构成。其中,例如,域4由子带6~10构成。
接着,频带选择单元301根据下式(5),计算M种的各个域的平均能量E1(m)。
在该式中,j表示J个的各个子带的索引,m表示M种的各个域的索引。另外,S(m)表示构成域m的L个子带的索引中的最小值,B(j)表示构成子带j的多个MDCT系数的索引中的最小值。W(j)表示子带j的带宽,在以下的说明中,以J个子带的各个子带的带宽都相等的情况即W(j)为常数的情况为例进行说明。
接着,频带选择单元301选择平均能量E1(m)为最大的域,例如由子带j”~(j”+L-1)构成的频带作为量化对象的频带(量化对象频带)。频带选择单元301将表示选择出的域的索引m_max作为第1层频带信息输出到形状编码单元302、自适应预测判定单元303、以及复用单元305。另外,频带选择单元301将量化对象频带的输入频谱X1(k)输出到形状编码单元302。另外,在以下的说明中,将表示频带选择单元301选择的量化对象频带的子带索引设为j”~(j”+L-1)。
形状编码单元302对于与第1层频带信息所示的频带对应的输入频谱X1(k),对每子带进行形状量化。具体而言,形状编码单元302对L个的各子带,搜索由SQ个的形状码向量构成的内置的形状码本,求下式(6)的评价尺度Shape_q(i)为最大的形状码向量的索引。
在该式中,SCi k表示构成形状码本的形状码向量,i表示形状码向量的索引,k表示形状码向量的元素的索引。
形状编码单元302将上式(6)的评价尺度Shape_q(i)为最大的形状码向量的索引S_max作为第1层形状编码信息输出到复用单元305。而且,形状编码单元302根据下式(7),计算理想增益Gain_i(j),并将计算出的理想增益Gain_i(j)输出到增益编码单元304。
自适应预测判定单元303具有内置缓冲器,其存储先前帧的第1层频带信息。以下,举例说明自适应预测判定单元303内置有用于存储先前的1帧的频带信息的缓冲器的情况。
时间上前1处理帧的第2层频带信息从第2层编码单元205被输入到自适应预测判定单元303。而且,时间上前1处理帧的第3层频带信息从第3层编码单元208被输入到自适应预测判定单元303。
自适应预测判定单元303首先使用先前帧的第1层频带信息、第2层频带信息、第3层频带信息、以及当前帧的第1层频带信息,求先前帧的量化对象频带和当前帧的量化对象频带之间共用的子带数。
然后,自适应预测判定单元303在共用的子带数为规定值以上时,判定为进行预测编码,在共用的子带数小于规定值时,判定为不进行预测编码。具体而言,自适应预测判定单元303将时间上前1处理帧的第1层频带信息表示的子带(设为集合M1t-1)、第2层频带信息表示的子带(设为集合M2t -1)、以及第3层频带信息表示的子带(设为集合M3t-1)的并集的子带群(设为集合M123t-1)与当前帧的第1层频带信息表示的L个的子带(设为集合M1t)进行比较。
这里,上述集合M123t-1使用集合M1t-1、集合M2t-1、以及集合M3t-1,表示为下式(8)。
M123t-1=M1t-1∪M2t-1∪M3t-1...(8)
然后,在共用的子带数为P个以上的情况下,自适应预测判定单元303判定为进行预测编码,并设定为Flag_PRE=1。另一方面,在共用的子带数低于P个的情况下,自适应预测判定单元303判定为不进行预测编码,设定为Flag_PRE=0。
这样,自适应预测判定单元303基于在M1t及M123t-1所包含的子带中的、共用的子带数,如上述那样设定预测信息Flag_PRE的值。由此,量化方法自适应地被切换为预测编码方法或非预测编码方法中的任一方法。
接着,自适应预测判定单元303将预测信息(Flag_PRE)作为表示判定结果的信息输出到增益编码单元304和复用单元305。接着,自适应预测判定单元303使用当前帧的第1层频带信息、第2层频带信息、以及第3层频带信息,将内置的缓冲器更新。
增益编码单元304具有内部缓冲器,存储在先前帧中所获得的量化增益。
理想增益从形状编码单元302被输入到增益编码单元304。另外,预测信息(Flag_PRE)从自适应预测判定单元303被输入到增益编码单元304。另外,第2层增益编码信息和第3层增益编码信息从第2层编码单元205和第3层编码单元208被输入到增益编码单元304。
增益编码单元304根据预测信息(Flag_PRE),将量化方法自适应地切换为预测编码方法或非预测编码方法中的任一方法。
[Flag_PRE=1的情况]
在该情况下,增益编码单元304进行预测编码。也就是说,增益编码单元304使用内置的缓冲器中存储的时间上先前三个帧为止的处理帧中被量化的量化增益、第2层增益编码信息、以及第3层增益编码信息,对当前帧的增益进行预测,生成当前帧的量化增益。具体而言,增益编码单元304对L个的每个子带,搜索由GQ个的增益码向量构成的内置的增益码本来求使下式(9)的方差Gain_q(i)为最小的增益码向量的索引。
在该式中,GC1i j表示第1层编码单元202中的构成增益码本的增益码向量,i表示增益码向量的索引,j表示增益码向量的元素的索引。例如,在构成域的子带数为5时(L=5时),j取0~4的值。另外,子带索引j”是表示由频带选择单元301选择的频带中的开头的子带的索引。这里,C1t j表示时间上t帧之前在第1层编码单元202中被量化的增益。例如,在t=1的情况下、C11 j表示时间上1帧前在第1层编码单元202中被量化的增益。同样,C2t j和C3t j分别表示时间上t帧前在第2层编码单元205和第3层编码单元208中被量化的增益。此外,α0~α3是存储在增益编码单元304中的4阶的线性预测系数。另外,增益编码单元304将1域内的L个子带作为L维向量进行处理,进行向量量化。
另外,在内置的缓冲器中,不存在先前帧的量化对象频带的增益的情况下,增益编码单元304在式(9)中,代用内置的缓冲器所存储的增益中的、与当前帧的量化对象频带在频率上最接近的子带的增益。
[Flag_PRE=0的情况]
在此情况下,增益编码单元304进行非预测编码。具体而言,增益编码单元304根据下式(10),将从形状编码单元302输入的理想增益Gain_i(j)直接量化。这里,增益编码单元304也是将理想增益作为L维向量来处理,进行向量量化。
增益编码单元304将使上式(9)或上式(10)的Gain_q(i)为最小的增益码向量的索引G_min作为第1层增益编码信息输出到复用单元305。
另外,增益编码单元304使用在当前帧获得的第1层增益编码信息G_min、第1层频带信息、以及量化增益C1t j、C2t j、C3t j,根据下式(11),将内置的缓冲器更新。
复用单元305将第1层频带信息、第1层形状编码信息、第1层增益编码信息、以及预测信息进行复用,生成第1层编码信息。然后,复用单元305将生成的第1层编码信息输出到第1层解码单元203和编码信息合并单元209。
图5是表示第1层解码单元203的主要结构的方框图。
在该图中,第1层解码单元203包括:分离单元501、形状解码单元502、以及增益解码单元503。
分离单元501将从第1层编码单元202输出的第1层编码信息分离为第1层频带信息、第1层形状编码信息、第1层增益编码信息、以及预测信息。分离单元501将获得的第1层频带信息和第1层形状编码信息输出到形状解码单元502,并将第1层增益编码信息和预测信息输出到增益解码单元503。
形状解码单元502通过将从分离单元501输入的第1层形状编码信息解码,求与从分离单元501输入的第1层频带信息所表示的量化对象频带对应的MDCT系数的形状的值。形状解码单元502将求得的MDCT系数的形状的值输出到增益解码单元503。在后面叙述形状解码单元502的处理的细节。
时间上前1处理帧的第2层增益编码信息从第2层编码单元205被输入到增益解码单元503。而且,时间上前1处理帧的第3层增益编码信息从第3层编码单元208被输入到增益解码单元503。而且,第1层增益编码信息和预测信息从分离单元501被输入到增益解码单元503。另外,MDCT系数的形状的值从形状解码单元502被输入到增益解码单元503。
增益解码单元503在预测信息表示进行预测解码的情况下(即,Flag_PRE=1的情况下),对从分离单元501输入的第1层增益编码信息进行预测解码而获得增益。这里,增益解码单元503使用第2层增益编码信息、第3层增益编码信息、存储在内置的缓冲器中的先前帧的增益、以及内置的增益码本,对第1层增益编码信息进行预测解码。
另一方面,在预测信息表示不进行预测解码的情况下(即、Flag_PRE=0的情况下),增益解码单元503使用内置的增益码本,将第1层增益编码信息直接反量化(即,不进行预测解码)而获得增益。
增益解码单元503使用获得的增益、以及从形状解码单元502输入的形状的值来求量化对象频带的MDCT系数,并将求得的MDCT系数作为第1层解码频谱输出到加法单元204。在后面叙述增益解码单元503的处理的细节。
具有上述的结构的第1层解码单元203进行以下的动作。
分离单元501将第1层编码信息分离为第1层频带信息、第1层形状编码信息、第1层增益编码信息、以及预测信息。接着,分离单元501将获得的第1层频带信息、以及第1层形状编码信息输出到形状解码单元502,并将第1层增益编码信息以及预测信息输出到增益解码单元503。
形状解码单元502内置有与第1层编码单元202的形状编码单元302具备的形状码本同样的形状码本,搜索以从分离单元501输入的第1层形状编码信息S_max作为索引的形状码向量。形状解码单元502将搜索出的形状码向量作为从分离单元501输入的第1层频带信息表示的量化对象频带的MDCT系数的形状的值而输出到增益解码单元503。这里,将作为形状的值而搜索出的形状码向量记为Shape_q(k)(k=B(j”),...,B(j”+L)-1)。
增益解码单元503具有内置缓冲器,存储在先前帧中获得的增益。
增益解码单元503根据预测信息(Flag_PRE),将反量化方法自适应地切换为预测解码方法或非预测解码方法中的任一方法。
[Flag_PRE=1的情况]
在该情况下,增益解码单元503进行预测解码。也就是说,增益解码单元503通过使用存储在内置的缓冲器中的先前帧的增益,预测当前帧的增益而进行反量化。具体而言,增益解码单元503内置有与第1层编码单元202的增益量化单元304同样的增益码本,根据下式(12),进行增益的反量化而获得增益值Gain_q’。
这里,C1”t j表示时间上t帧前的第1层解码单元203中被反量化的增益值。例如,在t=1的情况下、C1”1 j表示1帧前的第1层解码单元203中被反量化的增益。同样,C2”t j和C3”t j分别表示时间上t帧前的第2层解码单元206和第3层编码单元208中被反量化的增益。另外,子带索引j”是表示第1层频带信息所示的频带中的、开头的子带的索引。而且,α0~α3是存储在增益解码单元503中的4阶的线性预测系数。增益解码单元503将1域内的L个子带作为L维向量来处理,进行向量反量化。
另外,在内置的缓冲器中不存在先前帧的解码对象频带中的增益的情况下,增益解码单元503在上式(12)中,代用内部缓冲器存储的增益中的、与当前帧的解码对象频带在频率上最接近的子带的增益。
[Flag_PRE=0的情况]
在该情况下,增益解码单元503进行非预测解码。也就是说,增益解码单元503使用上述的增益码本,根据下式(13)对增益进行反量化。这里也将增益作为L维向量进行处理,进行向量反量化。也就是说,在不进行预测解码的情况下,增益解码单元503将与第1层增益编码信息G_min对应的增益码向量GC1j G_min作为直接增益。
接着,增益解码单元503使用通过当前帧的反量化获得的增益以及从形状解码单元502输入的形状的值,根据下式(14)计算第1层解码频谱(解码MDCT系数)X1”(k)。而且,在MDCT系数的反量化中,k存在于B(j”)~B(j”+1)-1内时,增益取Gain_q’(j”)的值。
接下来,增益解码单元503根据下式(15)而将内置的缓冲器更新。
增益解码单元503将根据上式(14)计算出的第1层解码频谱X1”(k)输出到加法单元204。
图6是表示第2层编码单元205的主要结构的方框图。
在该图中,第2层编码单元205包括:频带选择单元601、形状编码单元602、增益编码单元603、以及复用单元604。
频带选择单元601将从加法单元204输入的第1层差分频谱分割为多个子带,从多个子带中选择作为量化对象的频带(量化对象频带)。频带选择单元601将表示选择出的量化对象频带的频带信息(第2层频带信息)输出到形状编码单元602和复用单元604。另外,对形状编码单元602的第1层差分频谱的输入也可以独立于从加法单元204对频带选择单元601的输入,而从加法单元204直接输入。频带选择单元601的处理的细节与上述的频带选择单元301是同样的,所以省略说明。
形状编码单元602使用第1层差分频谱中的、与第2层频带信息所示的频带对应的频谱(MDCT系数)进行形状信息的编码而生成第2层形状编码信息。接着,形状编码单元602将生成的第2层形状编码信息输出到复用单元604。另外,形状编码单元602将形状编码时算出的理想增益(增益信息)输出到增益编码单元603。形状编码单元602的处理的细节与上述的形状编码单元302是同样的,所以省略说明。
理想增益从形状编码单元602被输入到增益编码单元603。增益编码单元603将从形状编码单元602输入的理想增益直接进行量化(即,不适用预测而进行量化),获得第2层增益编码信息。增益编码单元603将获得的第2层增益编码信息输出到复用单元604。增益编码单元603的处理的细节,由于与在上述的增益编码单元304中,预测信息表示不进行预测编码的判定结果的情况下(Flag_PRE=0)进行同样的处理,所以在此省略说明。但是,增益编码单元603将在增益编码单元304的处理中使用的GC1i j置换为GC2i j而进行处理。这里,GC2i j是构成增益编码单元603使用的增益码本的增益码向量。
复用单元604将第2层频带信息、第2层形状编码信息、以及第2层增益编码信息进行复用,生成第2层编码信息。复用单元604将第2层编码信息输出到第2层解码单元206和编码信息合并单元209。
以上是第2层编码单元205的处理说明。
图7是表示第2层解码单元206的主要结构的方框图。
在该图中,第2层解码单元206包括:分离单元701、形状解码单元702、以及增益解码单元703。
分离单元701将从第2层编码单元205输出的第2层编码信息分离为第2层频带信息、第2层形状编码信息、以及第2层增益编码信息。分离单元701将获得的第2层频带信息和第2层形状编码信息输出到形状解码单元702,将第2层增益编码信息输出到增益解码单元703。
形状解码单元702通过将从分离单元701输入的第2层形状编码信息解码,求与从分离单元701输入的第2层频带信息表示的量化对象频带对应的解码MDCT系数的形状的值。形状解码单元702将求得的解码MDCT系数的形状的值输出到增益解码单元703。形状解码单元702的处理的细节与上述的形状解码单元502是同样的,所以这里省略说明。
增益解码单元703对从分离单元701输入的第2层增益编码信息直接进行反量化(即,不进行预测解码而进行反量化)而获得增益。增益解码单元703使用获得的增益、以及从形状解码单元702输入的解码MDCT系数的形状的值而求量化对象频带的解码MDCT系数。增益解码单元703将求得的解码MDCT系数作为第2层解码频谱输出到加法单元207。增益解码单元703的处理的细节,与在上述的增益解码单元503中,预测信息表示不进行预测编码的判定结果的情况下(Flag_PRE=0)进行同样的处理,因此在此省略说明。但是,增益解码单元703将在增益解码单元503的处理中使用的GC1i j置换为GC2i j而进行处理。这里,GC2i j是构成增益解码单元703使用的增益码本的增益码向量。
以上是第2层解码单元206的处理说明。
关于第3层编码单元208的内部结构以及处理,除了输入输出的信号的名称不同这方面以外,其他与第2层编码单元205的内部结构以及处理相同,所以在此省略说明。但是,第3层编码单元208将在第2层编码单元205的处理中使用的GC2i j置换为GC3i j而进行处理。这里,GC3i j是构成第3层编码单元208使用的增益码本的增益码向量。
以上是编码装置101的处理说明。
图8是表示图1所示的解码装置103的内部的主要结构的方框图。作为一例,解码装置103设为由三个解码分层(层)构成的分层解码装置。这里,与编码装置101侧同样,从比特率低的一方起顺序地称为第1层、第2层、第3层。
编码信息分离单元801将经由传输路径102从编码装置101发送的编码信息作为输入,将编码信息分离为各层的编码信息,并输出到承担各层的解码处理的解码单元。具体而言,编码信息分离单元801将包含在编码信息中的第1层编码信息输出到第1层解码单元802。另外,编码信息分离单元801将包含在编码信息中的第2层编码信息输出到第2层解码单元803。编码信息分离单元801将包含在编码信息中的第3层编码信息输出到第3层解码单元804。
第1层解码单元802将从编码信息分离单元801输入的第1层编码信息解码而生成第1层解码频谱X1”(k),并将生成的第1层解码频谱X1”(k)输出到加法单元806。第1层解码单元802的处理与上述的第1层解码单元203的处理相同,所以在此省略说明。
第2层解码单元803将从编码信息分离单元801输入的第2层编码信息解码而生成第2层解码频谱X2”(k),并将生成的第2层解码频谱X2”(k)输出到相加单元805。另外,第2层解码单元803将包含在第2层编码信息中的第2层增益编码信息和第2层频带信息输出到第1层解码单元802。第2层解码单元803的处理与上述的第2层解码单元206的处理相同,所以在此省略说明。
第3层解码单元804将从编码信息分离单元801输入的第3层编码信息解码而生成第3层解码频谱X3”(k),并将生成的第3层解码频谱X3”(k)输出到加法单元805。另外,第3层解码单元804将包含在第3层编码信息中的第3层增益编码信息和第3层频带信息输出到第1层解码单元802。第3层解码单元804的处理与上述的第2层解码单元206的处理相同,所以在此省略说明。但是,第3层解码单元804将在第2层解码单元206的处理中使用的GC2i j置换为GC3i j而进行处理。这里,GC3i j是构成第3层解码单元804使用的增益码本的增益码向量。
第2层解码频谱X2”(k)从第2层解码单元803被输入到加法单元805。另外,第3层解码频谱X3”(k)从第3层解码单元804被输入到加法单元805。加法单元805将输入的第2层解码频谱X2”(k)和第3层解码频谱X3”(k)相加,并将相加所得的频谱作为第1相加频谱X4”(k)输出到加法单元806。
第1相加频谱X4”(k)从加法单元805被输入到加法单元806。另外,第1层解码频谱X1”(k)从第1层解码单元802被输入到加法单元806。加法单元806将输入的第1相加频谱X4”(k)和第1层解码频谱X1”(k)相加,并将相加所得的频谱作为第2相加频谱X5”(k)输出到正交变换处理单元807。
正交变换处理单元807首先根据下式(16)将内置的缓冲器buf’(k)的值初始化为“0”。
buf′(k)=0(k=0,…,N-1) ...(16)
正交变换处理单元807将第2相加频谱X5”(k)作为输入,根据下式(17),求输出信号y”(n)。
在该式中,X6(k)是将第2相加频谱X5”(k)和缓冲器buf’(k)结合所得的向量,使用下式(18)来求取。
接着,正交变换处理单元807根据下式(19),将缓冲器buf’(k)更新。
buf′(k)=X″5 (k)(k=0,…N-1) ...(19)
正交变换处理单元807将输出信号y”(n)输出。
以上是解码装置103的处理说明。
以上,说明了本发明的实施方式。
这样,根据本实施方式,第1层编码单元202基于时间上先前的处理帧的各层的编码结果,切换当前帧的编码方法。由此,在编码装置101使用对每分层(层)选择作为编码对象的频带的分层编码方式的情况下,使当前帧的频率参数的编码效率提高,其结果能够改善解码信号的质量。
另外,在本实施方式中说明了仅最低层即第1层编码单元202包含自适应预测判定单元303,对于第1层增益信息的编码/解码切换是否适用预测编码/解码的结构。但是,本发明并不限于此。也就是说,即使高层的第2层编码单元205以及第3层编码单元208包含自适应预测判定单元303的结构也能够同样地适用本发明。在第2层以后,通过自适应地进行预测编码/解码处理,能够更高精度地对频率参数进行编码。但是,为了不大幅度增加运算量而提高编码效率,如本实施方式中的说明,仅在一部分的层(例如最低层)中,进行自适应的预测编码/解码处理的结构是有效的。
另外,在本实施方式中说明了第1层编码单元202计算预测信息,并传输它的结构。另外,在本实施方式中,自适应预测判定单元303使用时间上前1处理帧中量化的频带信息和当前帧中选择的频带信息来设定预测信息。这里,在解码装置103中也能够通过同样的处理,计算频带信息和预测信息。因此,对于采用上述判定方法的结构,也可以不将预测信息从编码装置101传输到解码装置103。另外,在该情况下,对于第1层解码单元802,需要另行输入第2层频带信息以及第3层频带信息。而且,在第1层解码单元802中需要与第1层编码单元202同样设置自适应预测判定单元303,设定预测信息。但是,为了削减解码装置103中的用于设定预测信息的运算量,如本实施方式中说明了的那样,传输预测信息的结构是有效的。
另外,在本实施方式中,自适应预测判定单元303使用时间上前1处理帧中量化的频带信息和当前帧中选择出的频带信息,判定预测信息。本发明并不限于此,对于自适应预测判定单元303利用时间上两个以上之前的处理帧中量化的频带信息的结构也能够同样地适用。
(实施方式2)
在本发明实施方式2说明全分层(层)的编码单元/解码单元适用理想增益(增益信息)的自适应预测编码/解码方式的结构。另外,在本实施方式中说明的自适应预测编码方式与实施方式1中说明的自适应预测编码方式相比,用于预测的先前帧的信息有部分不同。
实施方式2的通信系统(未图示)与图1所示的通信系统基本上是同样的,仅在编码装置/解码装置的结构及动作的一部分与编码装置101和解码装置103不同。以下,对本实施方式的通信系统的编码装置和解码装置分别附加标号“111”、“113”并进行说明。
图9是图1所示的编码装置111的内部的主要结构的方框图。作为一例,编码装置111设为由三个编码分层(层)构成的分层编码装置。这里,从比特率的低的一方起顺序地称为第1层、第2层、第3层。另外,编码装置111中,第1层编码单元212、第1层解码单元213、第2层编码单元215、第2层解码单元216、以及第3层编码单元218以外的结构元素,由于其与实施方式1的编码装置101的结构元素相同,所以附加相同的标号,在此省略说明。
输入频谱X1(k)从正交变换处理单元201被输入第1层编码单元212。第1层编码单元212将输入频谱X1(k)编码,生成第1层编码信息。然后,第1层编码单元212将生成的第1层编码信息输出到第1层解码单元213和编码信息合并单元209。另外,在后面叙述第1层编码单元212的细节。
第1层解码单元213将从第1层编码单元212输入的第1层编码信息解码,并计算第1层解码频谱。然后,第1层解码单元213将生成的第1层解码频谱输出到加法单元204。而且,第1层解码单元213将解码第1层编码信息时获得的理想增益(增益信息)输出到第2层编码单元215和第3层编码单元218。另外,在后面叙述第1层解码单元213的细节。
第2层编码单元215使用从加法单元204输入的第1层差分频谱,生成第2层编码信息,将生成的第2层编码信息输出到第2层解码单元216和编码信息合并单元209。另外,在后面叙述第2层编码单元215的细节。
第2层解码单元216将从第2层编码单元215输入的第2层编码信息解码,计算第2层解码频谱。然后,第2层解码单元216将生成的第2层解码频谱输出到加法单元207。另外,第2层解码单元215将解码第2层编码信息时获得的理想增益(增益信息)输出到第3层编码单元218。另外,在后面叙述第2层解码单元216的细节。
第3层编码单元218使用从加法单元207输入的第2层差分频谱而生成第3层编码信息,并将生成的第3层编码信息输出到编码信息合并单元209。此外,在后面叙述第3层编码单元218的细节。
图10是表示第1层编码单元212的主要结构的方框图。
在该图中,第1层编码单元212包括:频带选择单元301、形状编码单元302、自适应预测判定单元313、增益编码单元314、以及复用单元305。这里,自适应预测判定单元313、增益编码单元314以外的结构元素与实施方式1的第1层编码单元202内的结构元素相同,所以附加相同的标号,并省略说明。
第1层频带信息从频带选择单元301被输入到自适应预测判定单元313。自适应预测判定单元313具有内部缓冲器,存储先前从频带选择单元301输入的第1层频带信息。
自适应预测判定单元313使用输入的第1层频带信息,求当前帧的量化对象频带和先前帧的量化对象频带之间共用的子带数。在共用的子带数为预先设定的规定值以上的情况下,自适应预测判定单元313判定为对于第1层频带信息表示的量化对象频带的频谱(MDCT系数)进行预测编码。另一方面,在共用的子带数小于规定值的情况下,自适应预测判定单元313判定为对于第1层频带信息表示的量化对象频带的频谱(MDCT系数)不进行预测编码(即,进行不适用预测的编码)。
自适应预测判定部313将判定结果作为第1层预测信息(Flag_PRE1)输出到增益编码单元314和复用单元305。这里,自适应预测判定单元313在判定为进行预测的情况下,将第1层预测信息Flag_PRE1的值设为“1”,在判定为不进行预测的情况下,将第1层预测信息Flag_PRE1的值设为“0”。在后面叙述自适应预测判定单元313的处理的细节。
理想增益从形状编码单元302被输入到增益编码单元314。另外,第1层预测信息从自适应预测判定单元313被输入到增益编码单元314。
增益编码单元314在第1层预测信息表示进行预测编码的判定结果的情况下,对于从形状编码单元302输入的理想增益进行预测编码,获得第1层增益编码信息。此时,增益编码单元314使用存储在内置的缓冲器中的先前帧的量化增益、以及内置的增益码本,对于理想增益进行预测编码,获得第1层增益编码信息。
另一方面,增益编码单元314在第1层预测信息表示不进行预测编码的判定结果的情况下,将从形状编码单元302输入的理想增益直接进行量化(即,不进行预测而进行量化),获得第1层增益编码信息。
增益编码单元314将获得的第1层增益编码信息输出到复用单元305。在后面叙述增益编码单元314的处理的细节。
具有上述的结构的第1层编码单元212进行以下的动作。但是,由于自适应预测判定单元313和增益编码单元314以外的处理与实施方式1相同,所以省略说明。
当前帧的第1层频带信息从频带选择单元301被输入到自适应预测判定单元313。
自适应预测判定单元313具有内置缓冲器,其存储先前帧的第1层频带信息。以下,以自适应预测判定单元313内置有存储先前的1帧的第1层频带信息的情况为例进行说明。
自适应预测判定单元313首先使用先前帧的第1层频带信息、以及当前帧的第1层频带信息,求先前帧的量化对象频带和当前帧的量化对象频带之间共用的子带数。
然后,自适应预测判定单元313在共用的子带数为规定值以上的情况下,判定为进行预测编码,在共用的子带数小于规定值时,判定为不进行预测编码。具体而言,自适应预测判定单元313将时间上前1处理帧的第1层频带信息表示的子带(设为集合M1t-1)和当前帧的第1层频带信息表示的L个的子带进行比较(设为集合M1t)。
然后,自适应预测判定单元313在共用的子带数为P个以上的情况下,判定为进行预测编码,设定为Flag_PRE1=1。另一方面,自适应预测判定单元313在共用的子带数低于P个的情况下,判定为不进行预测编码,设定为Flag_PRE1=0。
这样,自适应预测判定单元313基于M1t和M1t-1所包含的子带中的、共用的子带数,如上述那样设定第1层预测信息Flag_PRE1的值。由此,将量化方法自适应地切换为预测编码方法或非预测编码方法中的任一个方法。
接着,自适应预测判定单元313将第1层预测信息(Flag_PRE1)作为表示判定结果的信息输出到增益编码单元314和复用单元305。然后,自适应预测判定单元313使用当前帧的第1层频带信息,将内置的缓冲器更新。
理想增益从形状编码单元302被输入到增益编码单元314。另外,第1层预测信息(Flag_PRE1)从自适应预测判定单元313被输入到增益编码单元314。
增益编码单元314具有内置缓冲器,存储先前帧中所获得的量化增益。
增益编码单元314根据第1层预测信息(Flag_PRE1),将量化方法自适应地切换为预测编码方法或非预测编码方法中的任一方法。
[Flag_PRE1=1的情况]
此时,增益编码单元314进行预测编码。也就是说,增益编码单元314使用存储在内置的缓冲器中的时间上先前三个帧为止的处理帧中量化的量化增益、以及第1层增益编码信息,通过预测当前帧的增益,生成当前帧的量化增益。具体而言,增益编码单元314对L个的每个子带,搜索由GQ个的增益码向量构成的内置的增益码本来求使下式(20)的方差Gain_q(i)为最小的增益码向量的索引。
在该式中,GC1i j表示构成第1层编码单元212中的增益码本的增益码向量,i表示增益码向量的索引,j表示增益码向量的元素的索引。例如,在构成域的子带数为5时(L=5时),j取0~4的值。这里,C1t j表示时间上t帧前在第1层编码单元212中量化的增益。例如,t=1的情况下,C11 j表示时间上前1帧在第1层编码单元212中量化的增益。而且,α0~α3是存储在增益编码单元314中的4阶的线性预测系数。另外,增益编码单元314将1域内的L个的子带作为L维向量来进行处理,进行向量量化。
另外,在内置的缓冲器中,不存在先前帧的量化对象频带的增益的情况下,增益编码单元314在上式(20)中,代用内置的缓冲器所存储的增益中的、与当前帧的量化对象在频率上最接近的子带的增益。
[Flag_PRE1=0的情况]
此时,增益编码单元314进行非预测编码。具体而言,增益编码单元314根据上式(10),将从形状编码单元302输入的理想增益Gain_i(j)直接量化。这里,增益编码单元314也将理想增益作为L维向量来处理,进行向量量化。
增益编码单元314将使上式(20)或式(10)的方差Gain_q(i)为最小的增益码向量的索引G_min作为第1层增益编码信息输出到复用单元305。
而且,增益编码单元314使用当前帧中获得的第1层增益编码信息G_min及量化增益C1t j,根据下式(21),将内置的缓冲器更新。
图11是表示第1层解码单元213的主要结构的方框图。
在该图中,第1层解码单元213包括:分离单元501、形状解码单元502、以及增益解码单元513。这里,增益解码单元513以外的结构元素与实施方式1中说明了的第1层解码单元203的结构元素相同,所以附加相同的标号,省略其说明。但是,本实施方式中的分离单元501仅在将分离出的第1层频带信息、以及第1层增益编码信息输出到第2层编码单元215以及第3层编码单元218这方面与实施方式1中的分离单元501不同。
第1层预测信息(Flag_PRE1)从分离单元501被输入到增益解码单元513。另外,MDCT系数的形状的值从形状解码单元502被输入到增益解码单元513。
增益解码单元513在第1层预测信息表示进行预测解码的情况下(即,Flag_PRE1=1的情况),对从分离单元501输入的增益编码信息进行预测解码而获得增益。这里,增益解码单元513使用第1层增益编码信息、存储在内置的缓冲器中的先前帧的增益、以及内置的增益码本,对第1层增益编码信息进行预测解码。
另一方面,增益解码单元513在第1层预测信息表示不进行预测解码的情况下(即,Flag_PRE1=0的情况),使用内置的增益码本,将第1层增益编码信息直接进行反量化(即不进行预测解码)而获得增益。
增益解码单元513使用获得的增益以及从形状解码单元502输入的形状的值来求量化对象频带的MDCT系数,并将求得的MDCT系数作为第1层解码频谱输出到加法单元204。在后面叙述增益解码单元513的处理的细节。
具有上述的结构的第1层解码单元213进行以下的动作。另外,这里,仅说明增益解码单元513的处理。
增益解码单元513具有内置缓冲器,存储先前帧中获得的量化增益。
增益解码单元513根据第1层预测信息(Flag_PRE1),将反量化方法自适应地切换为预测解码方法或非预测解码方法中的任一方法。
[Flag_PRE1=1的情况]
此时,增益解码单元513进行预测解码。也就是说,增益解码单元513使用内置的缓冲器所存储的先前帧的增益,预测当前帧的增益而进行反量化。具体而言,增益解码单元513内置有与第1层编码单元212的增益编码单元314相同的增益码本,根据下式(22),进行增益的反量化而获得增益Gain_q’。
这里,C1”t j表示时间上t帧前的第1层解码单元213中被反量化的增益的值。例如,在t=1的情况下,C1”1 j表示1帧前的由第1层解码单元213进行了反量化的增益。而且,α0~α3是存储在增益解码单元513中的4阶的线性预测系数。增益解码单元513将1域内的L个子带作为L维向量来处理,进行向量反量化。
另外,在内置的缓冲器中不存在先前帧的解码对象频带的增益的情况下,增益解码单元513在上式(22)中,代用内部缓冲器所存储的增益中的、与当前帧的解码对象频带在频率上最接近子带的增益。
[Flag_PRE1=0的情况]
此时,增益解码单元513进行非预测解码。也就是说,增益解码单元513使用上述的增益码本,根据式(13)对增益值进行反量化。这里,将增益作为L维向量来处理,进行向量反量化。也就是说,在不进行预测解码的情况下,增益解码单元513将与第1层增益编码信息G_min对应的增益码向量GC1j G_min作为直接增益。
接着,增益解码单元513使用通过当前帧的反量化获得的增益、以及从形状解码单元502输入的形状的值,根据式(14),计算第1层解码频谱(解码MDCT系数)X1”(k)。而且,在MDCT系数的反量化中,k存在于B(j”)~B(j”+1)-1内时,增益取Gain_q’(j”)的值。
接着,增益解码单元513根据式(21),将内置的缓冲器更新。
增益解码单元513将根据式(14)计算出的第1层解码频谱X1”(k)输出到加法单元204。
图12是表示第2层编码单元215的主要结构的方框图。
在该图中,第2层编码单元215包括:频带选择单元601、形状编码单元602、自适应预测判定单元613、增益编码单元614、以及复用单元604。这里,自适应预测判定单元613以及增益编码单元614以外的结构元素与实施方式1中的第2层编码单元205内的结构元素相同,所以附加相同的标号,并省略说明。
自适应预测判定单元613具有内部缓冲器,存储先前从频带选择单元601和第1层解码单元213输入的频带信息(第1层频带信息和第2层频带信息)。第1层频带信息从第1层解码单元213被输入到自适应预测判定单元613。另外,第2层频带信息从频带选择单元601被输入到自适应预测判定单元613。
自适应预测判定单元613使用输入的各频带信息(第1层频带信息、第2层频带信息),求当前帧的量化对象频带和先前帧的量化对象频带之间共用的子带数。
在共用的子带数为预先设定的规定值以上的情况下,自适应预测判定单元613判定为对于第2层频带信息表示的量化对象频带的频谱(MDCT系数)进行预测编码。另一方面,在共用的子带数小于规定值的情况下,自适应预测判定单元613判定为对于第2层频带信息表示的量化对象频带的频谱(MDCT系数)不进行预测编码(即,进行不适用预测的编码)。
自适应预测判定单元613将判定结果作为第2层预测信息(Flag_PRE2)输出到增益编码单元614和复用单元604。这里,在判定为进行预测的情况下,自适应预测判定单元613将Flag_PRE2的值设为“1”,在判定为不进行预测的情况下,自适应预测判定单元613将Flag_PRE2的值设为“0”。在后面叙述自适应预测判定单元613的处理的细节。
增益编码单元614具有内部缓冲器,存储在先前帧中所获得的量化增益。
理想增益从形状编码单元602被输入到增益编码单元614。另外,第1层增益编码信息从第1层解码单元213被输入到增益编码单元614。另外,第2层预测信息从自适应预测判定单元613被输入到增益编码单元614。
在第2层预测信息表示进行预测编码的判定结果的情况下,增益编码单元614对于从形状编码单元602输入的理想增益进行预测编码,获得第2层增益编码信息。此时,增益编码单元614使用内置的缓冲器中存储的先前帧的量化增益、内置的增益码本以及第1层增益编码信息,对于理想增益进行预测编码。
另一方面,在第2层预测信息表示不进行预测编码的判定结果的情况下,增益编码单元614将从形状编码单元602输入的理想增益直接进行量化(即,不进行预测而进行量化)。
增益编码单元614将获得的第2层增益编码信息输出到复用单元604。在后面叙述增益编码单元614的处理的细节。
具有上述的结构的第2层编码单元215进行以下的动作。另外,这里仅说明自适应预测判定单元613及增益编码单元614的处理。
自适应预测判定单元613具有内置缓冲器,该内置缓冲器存储先前帧的第2层频带信息以及第1层频带信息。以下,举例说明自适应预测判定单元613内置有存储先前1帧的频带信息的缓冲器的情况。
当前帧的第1层频带信息从第1层解码单元213被输入到自适应预测判定单元613。
自适应预测判定单元613首先使用先前帧的第1层频带信息、第2层频带信息(它们被存储在内置缓冲器中)、以及当前帧的第1层频带信息、第2层频带信息,求先前帧的量化对象频带与当前帧的量化对象频带之间共用的子带数。
然后,在共用的子带数为规定值以上时,自适应预测判定单元613判定为进行预测编码,在共用的子带数小于规定值时,自适应预测判定单元613判定为不进行预测编码。具体而言,自适应预测判定单元613将时间上前1处理帧的第2层频带信息表示的子带(设为集合M2t-1)以及第1层频带信息表示的子带(设为集合M1t-1)的并集的子带群(设为集合M12t-1)与当前帧的第1层频带信息表示的子带(设为集合M1t)以及第2层频带信息表示的L个的子带(设为集合M2t)的并集的子带群(设为集合M12t)进行比较。
这里,使用集合M1t-1以及集合M2t-1,上述集合M12t-1表示为如下的式(23)。另外,使用集合M1t和集合M2t,集合M12t表示为如下的式(24)。
M12t-1=M1t-1∪M2t-1 ...(23)
M12t=M1t∪M2t ...(24)
然后,在共用的子带数为P个以上的情况下,自适应预测判定单元613判定为进行预测编码,并设定为Flag_PRE2=1。另一方面,在共用的子带数低于P个的情况下,自适应预测判定单元613判定为不进行预测编码,并设定为Flag_PRE2=0。
这样,自适应预测判定单元613基于M12t-1和M12t中包含的子带中的、共用的子带数,如上述那样设定第2层预测信息Flag_PRE2的值。由此,将量化方法自适应地切换为预测编码方法或非预测编码方法中的任一方法。
接着,自适应预测判定单元613将第2层预测信息(Flag_PRE2)作为表示判定结果的信息输出到增益编码单元614和复用单元604。接着,自适应预测判定单元613使用当前帧的第1层频带信息和第2层频带信息,将内置的缓冲器更新。
增益编码单元614具有内部缓冲器,该内部缓冲器存储在先前帧中所获得的量化增益。另外,第1层增益编码信息从第1层解码单元213被输入到增益编码单元614。另外,第2层预测信息(Flag_PRE2)从自适应预测判定单元613被输入到增益编码单元614。
增益编码单元614根据第2层预测信息(Flag_PRE2),将量化方法自适应地切换为预测编码方法或非预测编码方法中的任一方法。
[Flag_PRE2=1的情况]
此时,增益编码单元614进行预测编码。也就是说,增益编码单元614通过使用存储在内置的缓冲器中的时间上先前三个帧为止的处理帧中量化的量化增益和时间上先前三个帧为止的处理帧的第1层增益编码信息,预测当前帧的增益,由此生成当前帧的量化增益。具体而言,增益编码单元614对L个的每个子带,搜索由GQ个的增益码向量构成的内置的增益码本,求使下式(25)的方差Gain_q(i)为最小的增益码向量的索引。
在该式中,GC2i j表示构成第2层编码单元215中的增益码本的增益码向量,i表示增益码向量的索引,j表示增益码向量的元素的索引。例如,在构成域的子带数为5时(L=5时),j取0~4的值。
这里,C1t j表示时间上t帧前在第1层编码单元212中量化的增益。例如,在t=1的情况下,C11 j表示时间上1帧前在第1层编码单元212中量化的增益。同样,C2t j表示时间上t帧前的由第2层编码单元215量化的增益。而且,α0~α3是存储在增益编码单元614中的四阶的线性预测系数。另外,增益编码单元614将1域内的L个的子带作为L维向量来处理,进行向量量化。
另外,在内置的缓冲器中不存在先前帧的量化对象频带的增益的情况下,增益编码单元614在上式(25)中,代用内置的缓冲器所存储的增益中的、与当前帧的量化对象频带在频率上最接近的子带的增益。
[Flag_PRE2=0的情况]
此时,增益编码单元614进行非预测编码。具体而言,增益编码单元614根据下式(26),将从形状编码单元602输入的理想增益Gain_i(j)直接量化。这里,增益编码单元614也是将理想增益作为L维向量来处理,进行向量量化。
增益编码单元614将使上式(25)的方差Gain_q(i)为最小的增益码向量的索引G_min作为第2层增益编码信息输出到复用单元604。
另外,增益编码单元614使用在当前帧中获得的第2层增益编码信息G_min和量化增益C1t j、C2t j,根据下式(27),将内置的缓冲器更新。
图13是表示第2层解码单元216的主要结构的方框图。
在该图中,第2层解码单元216包括:分离单元701、形状解码单元702以及增益解码单元713。这里,增益解码单元713以外的结构元素与实施方式1中说明了的第2层解码单元206的结构元素相同,所以附加相同的标号,并省略说明。但是,本实施方式中的分离单元701仅在将分离出的第2层频带信息和第2层增益编码信息输出到第3层编码单元218这方面上与实施方式1中的分离单元701不同。
第2层预测信息(Flag_PRE2)和第2层增益编码信息从分离单元701被输入到增益解码单元713。另外,MDCT系数的形状的值从形状解码单元702被输入到增益解码单元713。
在第2层预测信息表示进行预测解码的情况下(即,Flag_PRE2=1的情况),增益解码单元713对从分离单元701输入的增益编码信息进行预测解码而获得增益。这里,增益解码单元713使用第2层增益编码信息、存储在内置的缓冲器中的先前帧的增益以及内置的增益码本,对第2层增益编码信息进行预测解码。
另一方面,在第2层预测信息表示不进行预测解码的情况下(即,Flag_PRE2=0的情况),增益解码单元713使用内置的增益码本,将第2层增益编码信息直接反量化(即不进行预测解码)而获得增益。增益解码单元713使用获得的增益以及从形状解码单元702输入的形状的值,求量化对象频带的MDCT系数,将求得的MDCT系数作为第2层解码频谱输出到加法单元207。
具有上述的结构的第2层解码单元216进行以下的动作。另外,这里仅说明增益解码单元713的处理。
增益解码单元713具有内置缓冲器,该内置缓冲器存储在先前帧中所获得的增益。
增益解码单元713根据第2层预测信息(Flag_PRE2),将反量化方法自适应地切换为预测解码方法或非预测解码方法中的任一方法。
[Flag_PRE2=1的情况]
此时,增益解码单元713进行预测解码。也就是说,增益解码单元713通过使用存储在内置的缓冲器中的先前帧的增益,预测当前帧的增益,由此进行反量化。具体而言,增益解码单元713内置有与第2层编码单元215的增益编码单元614同样的增益码本,根据下式(28),进行增益的反量化而获得增益Gain_q’。
其中,C1”t j表示时间上t帧前的在第1层解码单元213中被反量化的增益的值。例如,在t=1的情况下、C1”1 j表示1帧前的在第1层解码单元213中被反量化的增益。另外,C2”t j同样表示由第2层解码单元215进行了反量化的增益的值。而且,α0~α3是存储在增益解码单元713中的4阶的线性预测系数。增益解码单元713将1域内的L个子带作为L维向量来处理,进行向量反量化。
另外,在内置的缓冲器中不存在先前帧的解码对象频带的增益的值的情况下,增益解码单元713在上式(28)中,代用内部缓冲器所存储的增益中的、与当前帧的解码对象频带在频率上最接近的子带的增益。
[Flag_PRE2=0的情况]
此时,增益解码单元713进行非预测解码。也就是说,增益解码单元713使用上述的增益码本,根据下式(29),将增益值进行反量化。这里,也是将增益作为L维向量来处理,进行向量反量化。也就是说,在不进行预测解码的情况下,增益解码单元713将与第2层增益编码信息G_min对应的增益码向量GC2j G_min作为直接增益。
接着,增益解码单元713使用在当前帧的反量化中获得的增益、以及从形状解码单元702输入的形状的值,根据下式(30),计算第2层解码频谱(解码MDCT系数)X2”(k)。另外,在MDCT系数的反量化中,k存在于B(j”)~B(j”+1)-1内时,增益取Gain_q’(j”)的值。
接着,增益解码单元713根据式(27),将内置的缓冲器更新。
增益解码单元713将根据式(30)计算出的第2层解码频谱X2”(k)输出到加法单元207。
图14是表示第3层编码单元218的主要结构的方框图。
在该图中,第3层编码单元218包括:频带选择单元1401、形状编码单元1402、自适应预测判定单元1403、增益编码单元1404、以及复用单元1405。这里,对于频带选择单元1401、形状编码单元1402、以及复用单元1405而言,除了输入输出的信息的名称不同这方面以外,其他与实施方式1中的第2层编码单元205内的各结构元素相同,所以省略说明。
第3层频带信息从频带选择单元1401被输入到自适应预测判定单元1403。另外,第1层频带信息从第1层解码单元213被输入到自适应预测判定单元1403。另外,第2层频带信息从第2层解码单元216被输入到自适应预测判定单元1403。
自适应预测判定单元1403具有内部缓冲器,该内部缓冲器存储先前从频带选择单元1401、第1层解码单元213、以及第2层解码单元216输入的频带信息(第3层频带信息、第1层频带信息、以及第2层频带信息)。
自适应预测判定单元1403使用输入的各频带信息(第1层频带信息、第2层频带信息、第3层频带信息),求当前帧的量化对象频带和先前帧的量化对象频带之间共用的子带数。在共用的子带数为预先设定的规定值以上的情况下,自适应预测判定单元1403判定为对于第3层频带信息表示的量化对象频带的频谱(MDCT系数)进行预测编码。另一方面,在共用的子带数小于规定值的情况下,自适应预测判定单元1403判定为对于第3层频带信息表示的量化对象频带的频谱(MDCT系数)不进行预测编码(即,进行不适用预测的编码)。
自适应预测判定单元1403将判定结果作为第3层预测信息(Flag_PRE3)输出到增益编码单元1404和复用单元1405。这里,自适应预测判定单元1403在判定为进行预测的情况下,将Flag_PRE3的值设为“1”,在判定为不进行预测的情况下,将Flag_PRE3的值设为“0”。在后面叙述自适应预测判定单元1403的处理的细节。
理想增益从形状编码单元1402被输入到增益编码单元1404。另外,第3层预测信息从自适应预测判定单元1403被输入到增益编码单元1404。另外,第1层增益编码信息从第1层解码单元213被输入到增益编码单元1404。另外,第2层增益编码信息从第2层解码单元216被输入到增益编码单元1404。
在第3层预测信息表示进行预测编码的判定结果的情况下,增益编码单元1404对于从形状编码单元1402输入的理想增益进行预测编码,获得第3层增益编码信息。此时,增益编码单元1404使用内置的缓冲器中存储的先前帧的量化增益、内置的增益码本、第1层增益编码信息、以及第2层增益编码信息,对于理想增益进行预测编码,获得第3层增益编码信息。
另一方面,在第3层预测信息表示不进行预测编码的判定结果的情况下,增益编码单元1404对从形状编码单元1402输入的理想增益直接进行量化(即,不适用预测而进行量化)。
增益编码单元1404将获得的第3层增益编码信息输出到复用单元1405。在后面叙述增益编码单元1404的处理的细节。
具有上述的结构的第3层编码单元218进行以下的动作。另外,这里,仅说明自适应预测判定单元1403和增益编码单元1404的处理。
第1层频带信息从第1层解码单元213被输入到自适应预测判定单元1403。另外,第2层频带信息从第2层解码单元216被输入到自适应预测判定单元1403。另外,第3层频带信息从频带选择单元1401被输入到自适应预测判定单元1403。
自适应预测判定单元1403具有内置缓冲器,该内置缓冲器存储先前帧的第3层频带信息、第1层频带信息、以及第2层频带信息。这里,举例说明自适应预测判定单元1403内置有存储先前的1帧的频带信息的缓冲器的情况。
自适应预测判定单元1403首先使用先前帧的第3层频带信息、第1层频带信息、第2层频带信息(它们被存储在内置缓冲器中)、以及当前帧的第3层频带信息、第1层频带信息、第2层频带信息,求先前帧的量化对象频带和当前帧的量化对象频带之间共用的子带数。
然后,自适应预测判定单元1403在共用的子带数为规定值以上时,判定为进行预测编码,在共用的子带数小于规定值时,判定为不进行预测编码。具体而言,自适应预测判定单元1403将时间上前1处理帧的第1层频带信息表示的子带(设为集合M1t-1)、第2层频带信息表示的子带(设为集合M2t -1)、以及第3层频带信息表示的子带(设为集合M3t-1)的并集的子带群(设为集合M123t-1)与当前帧的第1层频带信息表示的子带(设为集合M1t)、第2层频带信息表示的子带(设为集合M2t)、以及第3层频带信息表示的L个的子带(设为集合M3t)的并集的子带群(设为集合M123t)进行比较。
这里,使用集合M1t-1、集合M2t-1、以及集合M3t-1,将上述集合M123t -1表示为如下的式(31)。另外,使用集合M1t、集合M2t、以及集合M3t,将集合M123t表示为如下的式(32)。
M123t-1=M1t-1∪M2t-1∪M3t-1 ...(31)
M123t=M1t∪M2t∪M3t ...(32)
另外,自适应预测判定单元1403在共用的通的子带数为P个以上的情况下,判定为进行预测编码,并设定为Flag_PRE3=1。另一方面,自适应预测判定单元1403在共用的子带数低于P个的情况下,判定为不进行预测编码,设定为Flag_PRE3=0。
这样,自适应预测判定单元1403基于包含在M123t-1和M123t中的子带中的、共用的子带数,如上述那样设定第3层预测信息Flag_PRE3的值。由此,将量化方法自适应地切换为预测编码方法或非预测编码方法中的任一方法。
接着,自适应预测判定单元1403将第3层预测信息(Flag_PRE3)作为表示判定结果的信息输出到增益编码单元1404和复用单元1405。接着,自适应预测判定单元1403使用当前帧的第3层频带信息、第1层频带信息、以及第2层频带信息,将内置的缓冲器更新。
另外,第1层增益编码信息从第1层解码单元213被输入到增益编码单元1404。另外,第2层增益编码信息从第2层解码单元216被输入到增益编码单元1404。另外,第3层预测信息(Flag_PRE3)从自适应预测判定单元1403被输入到增益编码单元1404。
增益编码单元1404具有内部缓冲器,该内部缓冲器存储在先前帧中获得的量化增益。
增益编码单元1404根据第3层预测信息(Flag_PRE3),将量化方法自适应地切换为预测编码方法或非预测编码方法中的任一方法。
[Flag_PRE3=1的情况]
此时,增益编码单元1404进行预测编码。也就是说,增益编码单元1404通过使用存储在内置的缓冲器中的先前三个帧为止的处理帧中由第3层编码单元218量化的量化增益、时间上先前三个帧为止的处理帧的第1层增益编码信息、以及时间上先前三个帧为止的处理帧的第2层增益编码信息,预测当前帧的增益,由此生成当前帧的量化增益。具体而言,增益编码单元1404对L个的每个子带,搜索由GQ个的增益码向量构成的内置的增益码本,求使下式(33)的方差Gain_q(i)为最小的增益码向量的索引。
在该式中,GC3i j表示构成第3层编码单元218中的增益码本的增益码向量,i表示增益码向量的索引,j表示增益码向量的元素的索引。例如,在构成域的子带数为5时(L=5时),j取0~4的值。
这里,C1t j表示时间上t帧前的在第1层编码单元212中量化过的增益。例如,在t=1的情况下,C11 j表示时间上1帧前的第1层编码单元212中量化的增益。同样,C2t j表示时间上t帧前的在第2层编码单元215中量化的增益。同样,C3t j表示时间上t帧前的在第3层编码单元218中量化的增益。而且,α0~α3是存储在增益编码单元1404中的4阶的线性预测系数。另外,增益编码单元1404将1域内的L个的子带作为L维向量来处理,进行向量量化。
另外,在内置的缓冲器中不存在先前帧的量化对象频带的增益的情况下,增益编码单元1404在上式(33)中,代用内置的缓冲器所存储的增益中的、与当前帧的量化对象频带在频率上最接近的子带的增益。
[Flag_PRE3=0的情况]
此时,增益编码单元1404进行非预测编码。具体而言,增益编码单元1404根据下式(35),将从形状编码单元1402输入的理想增益Gain_i(j)直接量化。这里,增益编码单元1404也将理想增益作为L维向量来处理,进行向量量化。
增益编码单元1404将使上式(33)或式(34)的方差Gain_q(i)为最小的增益码向量的索引G_min作为第3层增益编码信息输出到复用单元1405。
另外,增益编码单元1404使用在当前帧中获得的第3层增益编码信息和量化增益C1t j、C2t j、C3t j,根据下式(35),将内置的缓冲器更新。
以上是编码装置111的处理的说明。
图15是表示本实施方式的解码装置113的内部的主要结构的方框图。作为一例,解码装置113设为由三个解码分层(层)构成的分层解码装置。这里,与编码装置111侧同样,从比特率的低的一方起顺序地称为第1层、第2层、第3层。另外,编码装置111内的构成元素内,第1层解码单元812、第2层解码单元813以及第3层解码单元814以外的构成元素与实施方式1中的解码装置103内的构成元素相同,所以在此省略说明。
第1层解码单元812将从编码信息分离单元801输入的第1层编码信息解码而生成第1层解码频谱X1”(k),并将生成的第1层解码频谱X1”(k)输出到加法单元806。第1层解码单元812的处理与编码装置111内的第1层解码单元213的处理相同,所以省略说明。
第2层解码单元813将从编码信息分离单元801输入的第2层编码信息解码而生成第2层解码频谱X2”(k),并将生成的第2层解码频谱X2”(k)输出到加法单元805。第1层解码单元812的处理与编码装置111内的第2层解码单元216的处理相同,省略说明。
第3层解码单元814将从编码信息分离单元801输入的第3层编码信息解码而生成第3层解码频谱X3”(k),并将生成的第3层解码频谱X3”(k)输出到加法单元805。在后面叙述第3层解码单元814的处理的细节。
图16是表示第3层解码单元814的内部的主要结构的方框图。第3层解码单元814主要包括:分离单元1601、形状解码单元1602以及增益解码单元1603。
分离单元1601将从编码信息分离单元部801输出的第3层编码信息分离为第3层频带信息、第3层形状编码信息、第3层增益编码信息、以及第3层预测信息。分离单元1601将获得的第3层频带信息和第3层形状编码信息输出到形状解码单元1602,并将第3层增益编码信息和第3层预测信息输出到增益解码单元1603。
形状解码单元1602通过对从分离单元1601输入的第3层形状编码信息进行解码,求与从分离单元1601输入的第3层频带信息表示的量化对象频带对应的MDCT系数的形状的值。形状解码单元1602将求得的DCT系数的形状的值输出到增益解码单元1603。形状解码单元1602的处理与实施方式1中的形状解码单元502相同,所以在此省略说明。
第3层增益编码信息和第3层预测信息从分离单元1601被输入到增益解码单元1603。另外,第1层增益编码信息从第1层解码单元812被输入到增益解码单元1603。另外,第2层增益编码信息从第2层解码单元813被输入到增益解码单元1603。
在第3层预测信息表示进行预测解码的情况下(即,Flag_PRE3=1的情况下),增益解码单元1603对第3层增益编码信息进行预测解码而获得增益。这里,增益解码单元1603使用第1层增益编码信息、第2层增益编码信息、存储在内置的缓冲器中的先前帧的增益、以及内置的增益码本,对第3层增益编码信息进行预测解码。
另一方面,在第3层预测信息表示不进行预测解码的情况下(即,Flag_PRE=0的情况),增益解码单元1603使用内置的增益码本,将第3层增益编码信息直接反量化(即不进行预测解码)而获得增益。
增益解码单元1603使用获得的增益以及从形状解码单元1602输入的形状的值而求量化对象频带的MDCT系数,并将求得的MDCT系数作为第3层解码频谱输出到加法单元805。在后面叙述增益解码单元1603的处理的细节。
具有上述的结构的第3层解码单元814进行以下的动作。
分离单元1601将第3层编码信息分离为第3层频带信息、第3层形状编码信息、第3层增益编码信息、以及第3层预测信息。接着,分离单元1601将获得的第3层频带信息和第3层形状编码信息输出到形状解码单元1602,并将第3层增益编码信息和第3层预测信息输出到增益解码单元1603。
增益解码单元1603具有内置缓冲器,该内置缓冲器存储在先前帧中所获得的增益。另外,第1层增益编码信息从第1层解码单元812被输入到增益解码单元1603。另外,第2层增益编码信息从第2层解码单元813被输入到增益解码单元1603。另外,第3层增益编码信息和第3层预测信息从分离单元1601被输入到增益解码单元1603。另外,MDCT系数的形状的值从形状解码单元1602被输入到增益解码单元1603。
增益解码单元1603根据第3层预测信息(Flag_PRE3),将反量化方法自适应地切换为预测解码方法或非预测解码方法中的任一方法。
[Flag_PRE3=1的情况]
此时,增益解码单元1603进行预测解码。也就是说,增益解码单元1603通过使用存储在内置的缓冲器中的先前帧的增益,预测当前帧的增益,由此进行反量化。具体而言,增益解码单元1603内置有与第3层编码单元218的增益编码单元1404同样的增益码本,根据下式(36),进行增益的反量化而获得增益Gain_q’。
这里,C1”t j表示时间上t帧前的在第1层解码单元812中进行了反量化的增益。例如,在t=1的情况下,C1”1 j表示1帧前的在第1层解码单元812中进行了反量化的增益。同样,C2”t j和C3”t j分别表示时间上t帧前的在第2层解码单元813和第3层解码单元814中进行了反量化的增益。而且,α0~α3是存储在增益解码单元1603中的4阶的线性预测系数。增益解码单元1603将1域内的L个子带作为L维向量来处理,进行向量反量化。
另外,在内置的缓冲器中不存在先前帧的解码对象频带中的增益的情况下,增益解码单元1603在上式(36)中,代用内部缓冲器所存储的增益中的、与当前帧的解码对象频带在频率上最接近的子带的增益。
[Flag_PRE3=0的情况]
此时,增益解码单元1603进行非预测解码。也就是说,增益解码单元1603使用上述的增益码本,根据下式(37),将增益值反量化。这里,也将增益作为L维向量来处理,进行向量反量化。也就是说,在不进行预测解码的情况下,增益解码单元1603将对应于增益编码信息G_min的增益码向量GC3j G_min作为直接增益。
接着,增益解码单元1603使用在当前帧的反量化中获得的增益、以及从形状解码单元1602输入的形状的值,根据下式(38)计算第3层解码频谱(解码MDCT系数)X3”(k)。而且,在MDCT系数的反量化中,k存在于B(j”)~B(j”+1)-1内的情况下,增益取Gain_q’(j”)的值。
接着,增益解码单元1603根据式(35),将内置的缓冲器更新。
增益解码单元1603将根据上式(38)计算出的第3层解码频谱X3”(k)输出到加法单元805。
以上是解码装置113的处理说明。
这样,根据本实施方式,第1层编码单元212、第2层编码单元215、以及第3层编码单元218在对每分层(层)选择作为编码对象的频带的分层编码方式中,基于时间上之前的处理帧的各层的编码结果,切换当前层的频率参数的编码方法。由此,在编码装置111使用对每分层(层)选择作为编码对象的频带的分层编码方式的情况下,当前帧的频率参数的编码效率提高,其结果能够改善解码信号的质量。而且,与实施方式1不同,各层的增益编码单元仅使用各层以下的层的量化增益进行自适应预测量化。由此,即使在时间轴上比特率(层数)被切换的传输环境中,编码装置和解码装置也能够以同一条件进行编码/解码,所以能够保证编码性能。
另外,在本实施方式中说明了下述结构,即,各层的编码单元计算预测信息,并传输该预测信息。另外,在本实施方式中,自适应预测判定单元313、613、1403使用时间上前1处理帧中量化的频带信息和当前帧中选择出的频带信息,设定了预测信息。这里,关于频带信息和预测信息,在解码装置113中也能够通过同样的处理计算预测信息。因此,对于采用上述判定方法的结构,也可以不将预测信息从编码装置111向解码装置113传输。但是,为了削减解码装置113内的自适应预测判定单元中的运算量,如本实施方式中进行了的说明,传输预测信息的结构是有效的。
以上说明了本发明的实施方式。
另外,在上述实施方式中,说明了编码装置由三个编码分层(层)构成的结构,但本发明并不限于此,对于分层数为3以外的结构也同样能够适用。
另外,在上述实施方式中,编码信息等信息在连续的两步骤被进行复用的情况下,也可以后级的步骤中汇总地进行复用(例如,复用单元305和编码信息合并单元209的两步骤等)。另外,复用的编码信息等的信息在连续的两步骤被分离的情况下,也可以在前级的步骤汇总地进行分离(例如,编码信息分离单元801和分离单元1601的两步骤等)。另外,三个以上的信号在连续的两步骤被相加的情况下,也可以一次性地汇总相加(例如,加法单元805和加法单元806的两步骤等)。
另外,上述实施方式中的解码装置使用从上述实施方式中的编码装置传输的编码信息进行处理,但本发明并不限于此。只要是包含必要的参数或数据的编码信息,即使不是来自上述各实施方式中的编码装置的编码信息,也能够进行处理。
另外,在将信号处理的程序记录、写入在存储器、盘、带、CD、DVD等机械式可读取的记录介质中并进行动作的情况下,也能够采用本发明,并且能够取得与本实施方式同样的作用和效果。
另外,在上述实施方式中,举例说明了以硬件构成本发明的情况,但本发明也可以通过软件来实现。
另外,用于上述实施方式的说明中使用的各功能块通常被作为集成电路的LSI来实现。这些功能块既可以被单独地集成为一个芯片,也可以包含一部分或全部地被集成为一个芯片。虽然此处称为LSI,但根据集成程度,可以被称为IC、系统LSI、超大LSI(Super LSI)、或特大LSI(Ultra LSI)。
另外,实现集成电路化的方法不仅限于LSI,也可使用专用电路或通用处理器来实现。也可以利用LSI制造后能够编程的FPGA(Field ProgrammableGate Array,现场可编程门阵列),或可以利用对LSI内部的电路块的连接或设定能进行重新构置的可重构置处理器(Reconfigurable Processor)。
再者,随着半导体的技术进步或随之派生的其它技术的出现,如果出现能够替代LSI的集成电路化的新技术,当然可利用该新技术进行功能块的集成化。还存在着适用生物技术等的可能性。
在2009年11月13日提交的特愿第2009-259949号的日本专利申请所包含的说明书、附图和说明书摘要的公开内容,全部引用于本申请。
工业实用性
本发明的编码装置、解码装置以及其方法在分层地选择量化对象频带并进行编码/解码的结构中,能够提高解码信息的质量,并能够适用于例如分组通信系统、移动通信系统等。