一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

编码装置、解码装置、编码方法及解码方法与流程

2023-02-18 15:44:25 来源:中国专利 TAG:


1.本公开涉及编码装置、解码装置、编码方法及解码方法。


背景技术:

2.作为音频或声音的编码(例如,激励信号的编码)中的量化方法之一,已有多速率点阵向量量化(multi-rate lattice vector quantization)(例如,参照非专利文献1)。多速率点阵向量量化例如可以应用于分割向量量化(例如,被称为“分裂(split)多速率点阵向量量化”或“分割(division)多速率点阵向量量化”)。另外,分裂多速率点阵向量量化例如可以应用于代数向量量化(也被称为“avq:algebraic vector quantization)”)。
3.现有技术文献
4.专利文献
5.专利文献1:国际公开第2013/061531号
6.非专利文献
7.非专利文献1:3gpp ts 26.445v16.0.0,"codec for enhanced voice services(evs);detailed algorithmic description(release 16)",2019-06.


技术实现要素:

8.但是,针对在多速率点阵向量量化中减少编码比特数的方法,尚有研究的余地。
9.本公开的非限定性的实施例有助于提供在向量量化中减少编码比特数的编码装置、解码装置、编码方法及解码方法。
10.本公开的一个实施例的编码装置包括:量化电路,产生量化参数,该量化参数包含与向量量化的码本相关的第一信息、和与所述码本所含的码向量相关的第二信息;以及控制电路,使用第二比特数,控制对于子向量的所述第一信息的编码,该第二比特数是基于所述向量量化中的所述子向量的编码可使用的第一比特数与所述子向量的所述量化参数的比特数之差的比特数。
11.应予说明,这些总括性的或具体的方式可由系统、装置、方法、集成电路、电脑程序或记录介质实现,也可由系统、装置、方法、集成电路、电脑程序及记录介质的任意的组合实现。
12.根据本公开的一个实施例,能够在多速率点阵向量量化中减少编码比特数。
13.本公开的一个实施例的更多优点和效果将通过说明书和附图予以阐明。这些优点和/或效果分别由若干个实施方式、以及说明书及附图所记载的特征提供,但未必需要为了获得一个或一个以上的相同的特征而全部提供。
附图说明
14.图1是表示分裂多速率点阵向量量化中的码本列表的一例的图。
15.图2是表示编码装置的结构例的方框图。
16.图3是表示码本指示值转换部的结构例的方框图。
17.图4是表示未使用比特数与未使用比特数编码代码之间的对应关系的一例的图。
18.图5是表示解码装置的结构例的方框图。
19.图6是表示码本指示值逆转换部的结构例的方框图。
20.图7是表示输入信号的频谱的一例的图。
21.图8是表示应用于子向量的码本的一例的图。
22.图9是表示编码装置的其他结构例的方框图。
23.图10是表示解码装置的其他结构例的方框图。
24.图11是表示编码装置的其他结构例的方框图。
25.图12是表示解码装置的其他结构例的方框图。
26.图13是表示未使用比特数与未使用比特数编码代码之间的对应关系的其他例子的图。
27.图14是表示未使用比特数与未使用比特数编码代码之间的对应关系的其他例子的图。
28.图15是表示码本与码本指示值之间的关联的一例的图。
具体实施方式
29.以下,参照附图来详细地说明本公开的实施方式。
30.例如,在分裂多速率点阵向量量化中,可以将频域(或者,谱域)的信号分割成多个子向量(sv:sub-vector。或者,也被称为“子带”),并对分割而成的多个子向量分别进行多速率点阵向量量化。
31.图1是表示对于子向量的多速率点阵向量量化中的码本(或者,称为“codebook”)的列表的一例的图(例如,参照专利文献1或非专利文献1)。
32.例如,如图1所示,在分裂多速率点阵向量量化中的量化参数中,可以包含对量化所使用的码本进行识别的信息(例如,称为“码本指示值(codebook indicator)”或“码本索引(codebook index)”)、以及对该码本所含的多个码向量中的已被选择的码向量进行识别的信息(例如,称为“码向量索引(code vector index)”)。
33.例如,在图1所示的码本q0、q2、q3、q4、q5、

、qn中,可分别将1、10、15、20、25、

、5n比特(n为2以上的整数)用于一个子向量(sv)的编码(或者,量化)。使用了各码本的编码所使用的比特数(例如,总计使用比特数)中的1、2、3、4、5、

、n比特(n为2以上的整数)可以用于码本指示值。换句话说,在图1中,被分配到用来对码本指示值进行编码的比特数在使用了各码本的编码所使用的全部比特数(例如,5n)中所占的比例可以是1/5。
34.此外,在码本q0中,可以包含一个向量(例如,零向量)。零向量例如是指向量的量化值为0。由此,对于码本q0,可以未规定码向量索引,码向量索引所使用的比特数可以是0。
35.例如,编码装置(encoder)可以使用图1所示的码本,对多个子向量(例如,非专利文献1中的8个sv)一起进行编码。此外,在编码装置与解码装置(decoder)之间,多个子向量的编码可使用的比特数(例如,称为“比特总数”)可以已知。
36.例如,在专利文献1中,作为一例,提出了对于8个sv的分裂多速率点阵向量量化中的比特的削减方法。例如,可以基于8个sv中的7个sv所使用的比特数,根据下式(1)估计剩
余的一个sv所使用的码本指示值(码本索引)(例如,参照专利文献1)。
37.[式1]
[0038][0039]
在式(1)中,cb'fix表示对于一个sv(例如,子向量编号i=pfix)的码本指示值的使用比特数的估计值,bits
available
表示8个sv的编码可使用的比特总数,σbits
cbvi
表示对与子向量编号i=pfix不同的其他7个子向量vi(i≠pfix)的编码所使用的比特数(例如,图1的总计使用比特数)的总计。
[0040]
在专利文献1中,编码装置例如针对一个sv(例如,i=pfix),对式(1)所示的码本指示值的使用比特数的估计值与实际的码本指示值的比特数之间的差分进行量化(或者,编码),并向解码装置传输差分信息。例如,一个sv所使用的码本编号n越大,则与码本指示值相比,上述差分信息的信息量(例如,比特数)越少,从而能够削减编码比特数。
[0041]
但是,在专利文献1中,例如,有差分信息(换句话说,编码对象)变为负数(例如,-1)的情形,因为使用对应于负数的量化级或码,所以编码(或者,量化)的复杂度会增加。
[0042]
另外,在基于码本q0(例如,码本指示值“0”)或特殊条件下的码本q2(例如,码本指示值“1”)对所确定的一个sv进行编码的情况下,有可能无法削减编码比特数。
[0043]
此处,特殊情形例如可以是如下情形,即,编码可使用的比特总数中,无未被用于编码的比特,所有的比特被用于编码。在此情形下,例如可以省略图1中的表示各码本的码本指示值的多个比特的末尾的“0”(例如,也被称为“停止比特(stop bit)”)。例如,在特殊情形下,码本q2的码本指示值可以是从“10”省略“0”而成的“1”(1比特)。
[0044]
另外,例如,若着眼于削减多个sv中的编码所使用的比特数更多的sv的比特,则在产生编码所使用的比特数为0的sv的情况下,有可能无法削减编码比特数。应予说明,编码所使用的比特数为0的sv为例如多个sv中的高区的sv(例如,8个sv中的第6个、第7个或第8个sv)的情形较多。
[0045]
因此,在本公开的一个实施例中,说明如下方法,该方法是削减应用于分裂向量量化(例如,svq:split vq)的多速率点阵向量量化(lvq:lattice vq)中的码本指示值的编码(换句话说,可变长码)所使用的编码比特数的方法。
[0046]
此外,以下,作为一例,说明应用转换编码作为编码方式的情况。
[0047]
[编码装置的结构例]
[0048]
图2是表示本公开的一个实施例的编码装置100的结构例的方框图。图1所示的编码装置100例如可以包括时间-频率转换部101、心理声学模型分析部102、分裂多速率点阵向量量化(vq)部103(例如,相当于量化电路)、码本指示值转换部104(例如,相当于控制电路)及复用部105。
[0049]
时间-频率转换部101例如可以利用离散傅里叶变换(dft:discrete fourier transform)或修正离散余弦变换(mdct:modified discrete cosine transform)之类的时间-频率转换方式,将时域的输入信号s(n)转换成频域的输入信号(或者,也称为“谱系数”)s(f)。时间-频率转换部101例如可以向心理声学模型分析部102及分裂多速率点阵vq部103输出频域的输入信号s(f)。
[0050]
心理声学模型分析部102例如可以对从时间-频率转换部101输入的频域的输入信号s(f)进行心理声学模型分析,并获得掩蔽曲线。心理声学模型分析部102例如可以向分裂多速率点阵vq部103输出与所获得的掩蔽曲线相关的信息。
[0051]
分裂多速率点阵vq部103例如可以对从时间-频率转换部101输入的频域的输入信号s(f)进行分裂多速率点阵量化。例如,分裂多速率点阵vq部103可以将输入信号s(f)分割成多个子向量(sv),并对多个子向量分别进行量化,从而产生如下量化参数,该量化参数包含表示码本的码本指示值、以及表示该码本所含的多个码向量中的某一个码向量的码向量索引。
[0052]
另外,例如分裂多速率点阵vq部103也可以根据从心理声学模型分析部102输入的与掩蔽曲线相关的信息,对频域的输入信号s(f)应用分裂多速率点阵vq。由此,例如会消除分裂多速率点阵vq中的量化噪声。
[0053]
分裂多速率点阵vq部103例如可以将通过量化获得的量化参数中的全局增益(global gain)及码向量索引输出至复用部105。另外,分裂多速率点阵vq部103例如可以向码本指示值转换部104输出量化参数中的与码本指示值及码向量索引相关的信息。另外,分裂多速率点阵vq部103例如可以将与输入信号s(f)的编码可使用的比特数(例如,bits
available
)相关的信息输出至码本指示值转换部104。
[0054]
码本指示值转换部104例如可以基于从分裂多速率点阵vq部103输入的信息,对码本指示值的编码信息(或者,称为“编码代码”)进行转换。
[0055]
例如,码本指示值转换部104可以基于从分裂多速率点阵vq部103输入的多个子向量的各码本指示值,进行以下的步骤1~步骤3的处理。
[0056]
(步骤1)
[0057]
码本指示值转换部104例如将多个(例如,n个)码本指示值中的与预定位置的子向量不同的其他子向量(例如,n-1个子向量)的码本指示值设定为码(或者,编码代码)。接着,码本指示值转换部104例如可以对于n-1个子向量,计算码本指示值的使用比特数及码向量索引的使用比特数的总和。
[0058]
(步骤2)
[0059]
码本指示值转换部104例如可以计算预定位置的子向量的码本指示值可使用的比特数。例如,码本指示值转换部104也可以通过将输入信号s(f)的编码可使用的比特总数(bits
available
),减去在(步骤1)中计算出的n-1个子向量的编码所使用的比特数的总和,计算预定位置的子向量的码本指示值的编码可使用的比特数。
[0060]
(步骤3)
[0061]
码本指示值转换部104例如可以计算在(步骤2)中计算出的预定位置的子向量的编码可使用的比特数中的未被用于编码的比特数(例如,称为“未使用比特数”),并对未使用比特数进行编码。例如,码本指示值转换部104可以将在(步骤2)中计算出的可使用比特数,减去预定位置的子向量的码本指示值所使用的比特数及码向量索引所使用的比特数之和,来计算未使用比特数。
[0062]
码本指示值转换部104例如可以将通过(步骤1)~(步骤3)获得的码本指示值(编码代码)以及未使用比特数编码代码,输出至复用部105。
[0063]
此外,码本指示值转换部104的动作例将在后文中叙述。
[0064]
复用部105可以复用从分裂多速率点阵vq部103输入的全局增益及码向量索引、和从码本指示值转换部104输入的码本指示值(编码代码)及未使用比特数编码代码,并向解码装置200发送复用而成的比特流信息。
[0065]
接着,说明码本指示值转换部104的动作例。
[0066]
图3是表示码本指示值转换部104的结构例的方框图。图3所示的码本指示值转换部104例如可以包括码本指示值分离部121、可使用比特数计算部122、未使用比特数计算部123及未使用比特数编码部124。
[0067]
例如,可以将从分裂多速率点阵vq部103输出的n个子向量的码本指示值cbvi(i=1~n中的某一者)输入至码本指示值分离部121。
[0068]
码本指示值分离部121例如基于被输入的n个码本指示值cbvi,将预先确定的位置(例如,i=pfix)的子向量的码本指示值cbfixx(或者,cbvi(i=pfix))输出至未使用比特数计算部123。另外,码本指示值分离部121可以将与预先确定的位置不同的n-1个子向量的码本指示值cbvi(i≠pfix)输出至可使用比特数计算部122,并且将其作为码本指示值(编码代码)而输出至复用部105(相当于上述步骤1)。
[0069]
可使用比特数计算部122例如可以计算预先确定的位置的子向量的编码可使用的比特数(相当于上述步骤2)。例如,可使用比特数计算部122可以通过将被输入的比特数bits
available
,减去使用n-1个码本指示值(cbvi(i≠pfix))而计算的n-1个子向量的编码所使用的比特数,计算预先确定的位置的子向量的编码可使用的比特数。可使用比特数计算部122可以将计算出的可使用比特数输出至未使用比特数计算部123及未使用比特数编码部124。
[0070]
例如,可使用比特数计算部122也可以根据下式(2),计算可使用比特数cb'fix。
[0071]
[式2]
[0072][0073]
在式(2)中,cb'fix表示对于一个sv(例如,子向量编号i=pfix)的码本指示值的编码可使用的比特数,bits
available
表示输入信号s(f)的发送单元中的可用于编码的比特总数,bits
cbvi
表示子向量编号i的子向量vi的编码所使用的比特数(例如,码本指示值的使用比特数与码向量的使用比特数之和)。
[0074]
这样,例如,如式(2)所示,可使用比特数计算部122通过从比特总数bits
available
减去n-1个子向量的编码所使用的比特数(例如,σbits
cbvi
(i≠pfix)),计算预先确定的位置的子向量的编码可使用的比特数cb'fix。
[0075]
未使用比特数计算部123可以计算输入信号s(f)的编码中未使用的未使用比特数(相当于上述步骤3)。
[0076]
例如,未使用比特数计算部123可以基于从码本指示值分离部121输入的预先确定的位置的子向量的码本指示值的使用比特数(实际值cbfix),计算预先确定的位置的子向量的编码所使用的比特数(例如,码本指示值及码向量索引的编码所使用的比特数)。接着,未使用比特数计算部123例如可以通过从可使用比特数计算出122输入的可使用比特数减去预先确定的位置的子向量的编码所使用的比特数,来计算未使用比特数。未使用比特数
计算部123例如可以将与计算出的未使用比特数相关的信息输出至未使用比特数编码部124。
[0077]
未使用比特数编码部124例如可以对从未使用比特数计算部123输入的未使用比特数进行编码,从而产生未使用比特数编码代码(或者,称为“编码信息”)。例如,未使用比特数编码部124可以基于图4所示的未使用比特数与未使用比特数编码代码(或者,码)之间的关联(例如,也可以由表格表示),根据未使用比特数产生未使用比特数信息编码代码。未使用比特数编码部124例如可以向复用部105输出未使用比特数编码代码。
[0078]
此处,如图4所示,未使用比特数为0以上的整数。另外,在图4中,分配给一个码的未使用比特数的候选数(换句话说,量化的分辨率)为5个。换句话说,在图4中,对未使用比特数中的5个整数分配相同的码。其理由在于:例如,如图1所示,在码本指示值的使用比特数为2以上的情况下,码本指示值的使用比特数与码向量索引的使用比特数处于1:4的关系,合并了码本指示值和码向量索引这两者的编码所使用的总计使用比特数以5为单位而发生变化。
[0079]
另外,未使用比特数编码部124例如可以使用从可使用比特数计算部122输入的可使用比特数,对最大未使用比特数的码字(code word)进行修正。例如,在可使用比特数为23比特的情况下,可取的最大的未使用比特数为22比特(例如,使用码本q0的情况),在图4的例子中,其码字为11110(5比特)。未使用比特数编码部124例如可以将该码字11110变更(或者,修正)为1111(4比特)。其理由在于:在可使用比特数为23比特的情况下,由于不会存在与未使用比特数25比特以上对应的码字,因此,当码字的高位4比特为“1111”时(换句话说,与码字的最低位比特无关地),就确定未使用比特数为20比特~24比特。由此,可将未使用比特数达到最大的情况下的编码比特数减少1比特。
[0080]
[解码装置的结构例]
[0081]
图5是表示本公开的一个实施例的解码装置200的结构例的方框图。图5所示的解码装置200例如可以包括解复用部201、码本指示值逆转换部202(例如,相当于控制电路)、分裂多速率点阵逆量化(逆vq)部203(例如,相当于逆量化电路)及频率-时间转换部204。
[0082]
在解码装置200中,从编码装置100发送的比特流输入至解复用部201。
[0083]
解复用部201例如可以从所输入的比特流解复用全局增益、码向量索引、码本指示值(编码代码)及未使用比特数信息编码代码。解复用部201例如可以将全局增益及码向量索引输出至分裂多速率点阵逆vq部203,并将码本指示值(编码代码)及未使用比特数信息编码代码输出至码本指示值逆转换部202。
[0084]
码本指示值逆转换部202例如可以基于从解复用部201输入的信息,计算预先确定的位置(例如,i=pfix)的子向量的码本指示值。
[0085]
例如,码本指示值逆转换部202可以基于从解复用部201输入的码本指示值(编码代码)及未使用比特数信息编码代码,进行以下的步骤4~步骤7的处理。
[0086]
(步骤4)
[0087]
码本指示值逆转换部202例如基于码本指示值(编码代码),对与预先确定的位置(例如,i=pfix)不同的其他子向量的码本指示值进行解码。另外,码本指示值逆转换部202例如可以基于解码后的码本指示值,计算多个子向量(例如,i≠pfix)的编码所使用的比特数(例如,码本指示值的使用比特数与码向量的使用比特数之和)。
[0088]
(步骤5)
[0089]
码本指示值逆转换部202例如可以基于未使用比特数信息编码代码,对未使用比特数进行解码。
[0090]
(步骤6)
[0091]
码本指示值逆转换部202例如可以基于在(步骤4)中计算出的多个子向量的编码比特数、和在(步骤5)中解码出的未使用比特数,计算预先确定的位置的子向量的编码比特数。
[0092]
(步骤7)
[0093]
码本指示值逆转换部202例如可以基于在(步骤6)中计算出的预先确定的位置的子向量的编码比特数,计算(或者,解码)预先确定的位置的子向量的码本指示值。
[0094]
码本指示值逆转换部202例如可以将通过(步骤4)~(步骤7)获得的码本指示值输出至分裂多速率点阵逆vq部203。
[0095]
此外,码本指示值逆转换部202的动作例将在后文中叙述。
[0096]
分裂多速率点阵逆vq部203例如基于从解复用部201输入的全局增益及码向量索引、和从码本指示值逆转换部202输出并输入来的码本指示值,进行分裂多速率点阵逆vq,并获得频域的解码信号s~(f)。分裂多速率点阵逆vq部203可以将频域的解码信号s~(f)输出至频率-时间转换部204。
[0097]
频率-时间转换部204例如可以利用离散傅里叶逆变换(idft:inverse discrete fourier transform)或修正离散余弦逆变换(imdct:inverse modified discrete cosine transform)之类的频率-时间转换方式,将从分裂多速率点阵逆vq部203输出的频域的信号s~(f)转换成时域的信号s~(n)。
[0098]
接着,说明码本指示值逆转换部202的动作例。
[0099]
图6是表示码本指示值逆转换部202的结构例的方框图。图6所示的码本指示值逆转换部202例如可以包括可使用比特数计算部221、未使用比特数解码部222、恢复部223及码本指示值产生部224。
[0100]
例如,从解复用部201输出的码本指示值(编码代码)可以输入至可使用比特数计算部221及码本指示值产生部224。另外,例如从解复用部201输出的未使用比特数编码代码可以输入至未使用比特数解码部222。
[0101]
此外,所输入的码本指示值(编码代码)例如可以表示与特定位置(例如,i=pfix)的子向量不同的n-1个子向量的码本指示值cbvi(i≠pfix)。
[0102]
可使用比特数计算部221例如可以计算预先确定的位置的子向量的编码可使用的比特数。例如,可使用比特数计算部221可以使用n-1个码本指示值(cbvi(i≠pfix))计算n-1个子向量的编码所使用的比特数(相当于上述步骤4),并通过从被输入的比特数bits
available
,减去n-1个子向量的编码所使用的比特数,计算预先确定的位置的子向量的编码可使用的比特数cb'fix。可使用比特数计算部221可以将计算出的可使用比特数输出至恢复部223。
[0103]
未使用比特数解码部222例如可以对从解复用部201输入的未使用比特数编码代码进行解码。例如,未使用比特数解码部222可以基于图4所示的未使用比特数与未使用比特数编码代码(例如,符号)之间的关联,根据未使用比特数编码代码来决定未使用比特数
(相当于上述步骤5)。未使用比特数解码部222例如可以向恢复部223输出与所决定的未使用比特数相关的信息。
[0104]
恢复部223例如可以基于从可使用比特数计算部221输入的可使用比特数、以及从未使用比特数解码部222输入的未使用比特数,决定(或者,恢复)预先确定的位置的子向量的码本指示值。例如,恢复部223可以通过从可使用比特数减去未使用比特数,来计算预先确定的位置的子向量的编码所使用的比特数(例如,图1所示的总计使用比特数)。接着,恢复部223可以基于计算出的比特数(例如,总计使用比特数)计算码本指示值的比特数,并将表示码本指示值的编码代码输出至码本指示值产生部224(相当于上述步骤6及步骤7)。
[0105]
码本指示值产生部224例如可以基于从解复用部201输入的n-1个子向量的码本指示值cbvi(i≠pfix)、以及从恢复部223输入的预先确定的位置的子向量的码本指示值cbvi(i=pfix),以使i=pfix的码本指示值cbvi配置于预先确定的位置的方式,产生n个码本指示值cbvi(i=1~n)。码本指示值产生部224可以将所产生的码本指示值输出至分裂多速率点阵逆vq部203。
[0106]
[码本指示值的转换例]
[0107]
接着,说明编码装置100的码本指示值转换部104的动作例。
[0108]
图7是表示频域的输入信号s(f)的一例的图。在图7中,例如,输入信号s(f)可以被分割成子向量v1~子向量v8的8个子向量。
[0109]
另外,在图7中,作为一例,将输入信号s(f)中的预先确定的子向量的位置(i=pfix)设为v8。
[0110]
图8是表示分别对于通过分裂多速率点阵量化获得的子向量v1~子向量v8的码本指示值(或者,码本)的一例的图。
[0111]
在图7及图8所示的例子中,码本指示值转换部104中的码本指示值分离部121例如向未使用比特数算出部123输出子向量v8的码本指示值(例如,“11110”的5比特)。另外,码本指示值分离部121例如可以将与子向量v8不同的子向量v1~子向量v7的码本指示值(例如,“10”、“10”、“110”、“110”、“1110”、“1110”、“11110”)作为编码代码向复用部105输出。
[0112]
可使用比特数计算部122例如可以计算子向量v8的编码可使用的比特数。例如,将输入信号的发送单元中的可使用的比特总数(式(2)中的bits
available
)设为144比特。在此情况下,可使用比特数计算部122例如求出与子向量v8不同的子向量v1~子向量v7中的每个子向量的使用比特数(总计使用比特数。例如,式(2)中的bits
cbvi
)的总和。接着,可使用比特数计算部122例如可以根据式(2),计算可使用比特数cb'fix=(144-10-10-15-15-20-20-25)=29。
[0113]
未使用比特数计算部123例如可以从可使用比特数cb'fix=29比特,减去子向量v8的编码所使用的比特数25比特,来计算未使用比特数(此处,29-25=4比特)。
[0114]
例如,因为未使用比特数为4比特,所以未使用比特数编码部124可以基于图4所示的关联,产生未使用比特数编码代码“0”(1比特)。
[0115]
在编码装置100中,以上述方式产生的子向量v1~子向量v7各自的码本指示值(编码代码)“10”、“10”、“110”、“110”、“1110”、“1110”、“11110”、以及未使用比特数编码代码“0”在复用部105中受到复用,并被发送至解码装置200。
[0116]
如上所述,在图7所示的例子中,对子向量v8应用的码本编号为5(q5),对码本q5的
码本指示值本身进行编码时所使用的比特数为5比特。另一方面,在本公开的一个实施例中,如上所述,代替对于子向量v8的码本指示值而发送的未使用比特数编码代码的比特数为1比特。由此,在图7所示的例子中,通过通知未使用比特数编码代码,与对子向量v8的码本指示值本身进行编码并进行通知的情况相比,能够将编码比特削减4比特。另外,在本实施方式中,即使削减了编码比特,也不会丢失与码本相关的信息,因此,能够在解码装置200中恢复码本指示值。
[0117]
这样,编码装置100及解码装置200例如使用未使用比特数,控制对于子向量的码本指示值的编码或解码,该未使用比特数是基于向量量化(例如,分裂多速率点阵vq)中的子向量的编码可使用的比特数与该子向量的量化参数(例如,码本指示值及码向量)的比特数之差的未使用比特数。
[0118]
例如,编码装置100将分割成多个子向量的输入信号的频谱中的特定子向量的编码所使用的码本指示值,转换成与未使用比特数相关的信息。同样地,解码装置200使用从编码装置100发送的未使用比特数的编码代码,将与未使用比特数相关的信息转换成与码本指示值相关的信息。
[0119]
通过该转换,例如在分裂向量量化(svq)所使用的点阵向量量化(lvq)中,能够提高所确定的一个sv的码本指示值(或者,码本索引)的编码效率。根据本实施方式,能够削减用于特定子向量的编码所使用的码本指示值的比特数,从而能够减小比特率。
[0120]
另外,例如对于如上所述,像专利文献1那样对码本指示值的估计值与实际值之间的差分信息进行编码的方法而言,存在作为编码对象的差分信息会为-1的情形。例如,会有如下情形,即,在特定子向量的编码可使用的比特数为9比特的情况下,在专利文献1中估计出的码本指示值为0(q0),而实际的码本指示值却为1(q1)的情形。因此,包含对应于-1(负数)的量化级或码的关联的设定这类的编码处理的复杂度会增加。另一方面,在本公开的一个实施例中,例如因为对包含码本指示值及码向量索引这两者的比特数中的未使用比特数进行编码,所以作为编码对象的未使用比特数的最小值为0,可以不考虑负数的编码,因此,能够简化编码处理。
[0121]
此外,在上述实施方式中,虽然作为一例,说明了应用转换编码作为编码方式的情况,但是编码方式并不限于转换编码。例如,本公开的一个实施例也可以应用于对分割频域的信号(频谱)而成的多个子向量分别进行量化的编码。
[0122]
此外,在本实施方式中,编码可使用的比特总数被输入至可使用比特数计算部122及可使用比特数计算部221。该可使用比特总数也可以是编码器(例如,编码装置100)或解码器(例如,解码装置200)的内部所保留的信息,而非从编码器或解码器的外部输入的信息。可使用比特总数例如也可以是预定的固定值。或者,也可以以预定的固定值为初始值,并在后续的分裂多速率点阵vq时,输入未使用比特数与初始值相加所得的值作为可使用比特总数。
[0123]
[对于celp(code excited linear prediction,码激励线性预测)及转换编码的分层编码的应用]
[0124]
例如,也可以将本实施方式的分裂多速率点阵vq应用于celp及转换编码的分层编码。图9是表示将分裂多速率点阵vq应用于celp及转换编码的分层编码的情况下的编码装置100a的结构例的方框图。另外,图10是表示将分裂多速率点阵vq应用于celp及转换编码
的分层编码的情况下的解码装置200a的结构例的方框图。
[0125]
此外,在图9及图10中,对进行与编码装置100及解码装置200相同的处理的结构部附上相同的附图标记。
[0126]
在图9所示的编码装置100a中,celp编码部51例如可以对时域的信号s(n)进行celp编码,并将celp参数输出至celp本地解码部52及复用部105。此外,celp编码方式例如是利用时域的信号的可预测性质的编码方式。
[0127]
celp本地解码部52例如对从celp编码部51输入的celp参数进行解码,并产生合成信号s
syn
(n)。
[0128]
加法器53例如通过从输入信号s(n)减去合成信号s
syn
(n)而产生预测误差信号se(n)。
[0129]
时间-频率转换部54利用dft或mdct之类的时间-频率转换方式,将时域的编码误差信号se(n)转换成频域的编码误差信号se(f)。
[0130]
如上所述,可以由分裂多速率点阵vq部103及码本指示值转换部104对频域的编码误差信号se(f)进行量化。例如,编码装置100a也可以代替分割编码误差信号se(f)而成的多个子向量中的特定子向量的码本指示值(编码代码),将未使用比特数编码代码发送至解码装置200a。
[0131]
在图10所示的解码装置200a中,解复用部201将从编码装置100a发送的比特流解复用成celp参数和量化参数,将celp参数输出至celp解码部64,将量化参数中的全局增益及码向量索引输出至分裂多速率点阵逆vq部203,并将量化参数中的码本指示值(编码代码)及未使用比特数编码代码输出至码本指示值逆转换部202。
[0132]
例如,如上所述,码本指示值逆转换部202基于码本指示值(编码代码)及未使用比特数编码代码,决定对于编码误差信号se(f)的特定位置的子向量的码本指示值,并向分裂多速率点阵逆vq部203输出与n个子向量的码本指示值相关的信息。
[0133]
分裂多速率点阵逆vq部203例如基于全局增益、码本指示值及码向量索引,对频域的编码误差信号se~(f)进行解码(或者,逆量化)。
[0134]
频率-时间转换部63例如利用idft或imdct之类的频率-时间转换方式,将解码出的频域的编码误差信号se~(f)转换成时域的编码误差信号se~(n)。
[0135]
celp解码部64例如对celp参数进行解码而获得合成信号s
syn
(n)。
[0136]
加法器65例如将编码误差信号se~(n)与合成信号s
syn
(n)相加而获得时域的信号s~(n)。
[0137]
[对于tcx(transform coded excitation,变换编码激励)编码的应用]
[0138]
例如,也可以将本实施方式的分裂多速率点阵vq应用于tcx编码(或者,称为“tcx编解码”)。图11是表示此情况下的编码装置100b的结构例的方框图,图12是表示解码装置200b的结构例的方框图。
[0139]
此外,在图11及图12中,对进行与编码装置100及解码装置200相同的处理的结构部附上相同的附图标记。
[0140]
在图11所示的编码装置100b中,lpc(linear predictive coding,线性预测编码)分析部71对时域的信号s(n)进行lpc分析,并将lpc参数输出至量化部72。此外,lpc分析例如是利用时域的信号的可预测性质的方法。
[0141]
量化部72例如对从lpc分析部71输入的lpc参数进行量化,并将量化参数(例如,量化索引)输出至逆量化部73及复用部105。
[0142]
逆量化部73例如对从量化部72输入的量化索引进行逆量化而恢复lpc参数。
[0143]
lpc逆滤波部74例如通过对输入信号s(n)应用lpc逆滤波,获得时域的残差信号sr(n),上述lpc逆滤波中使用从逆量化部73输入的已恢复的lpc参数。
[0144]
时间-频率转换部75例如利用dft或mdct之类的时间-频率转换方式,将时域的残差信号sr(n)转换成频域的残差信号sr(f)。
[0145]
如上所述,可以由分裂多速率点阵vq部103及码本指示值转换部104对频域的残差信号sr(f)进行量化。例如,编码装置100b也可以代替分割残差信号sr(f)而成的多个子向量中的特定子向量的码本指示值(编码代码),将未使用比特数编码代码发送至向解码装置200b。
[0146]
在图12所示的解码装置200b中,解复用部201将从编码装置100b发送的比特流解复用成量化索引和量化参数,将量化索引输出至逆量化部84,将量化参数中的全局增益及码向量索引输出至分裂多速率点阵逆vq部203,并将量化参数中的码本指示值(编码代码)及未使用比特数编码代码输出至码本指示值逆转换部202。
[0147]
例如,如上所述,码本指示值逆转换部202基于码本指示值(编码代码)及未使用比特数编码代码,决定对于残差信号sr(f)的特定位置的子向量的码本指示值,并向分裂多速率点阵逆vq部203输出与n个子向量的码本指示值相关的信息。
[0148]
分裂多速率点阵逆vq部203例如基于全局增益、码本指示值及码向量索引,对频域的残差信号sr~(f)进行解码(或者,逆量化)。
[0149]
频率-时间转换部83例如利用idft或imdct之类的频率-时间转换方式,将解码出的频域的残差信号sr~(f)转换成时域的残差信号sr~(n)。
[0150]
逆量化部84例如对量化索引进行逆量化而恢复lpc参数。
[0151]
lpc合成滤波部85例如对时域的残差信号sr~(n)应用lpc合成滤波而获得时域的信号s~(n),上述lpc合成滤波中使用已恢复的lpc参数。
[0152]
以上,说明了将分裂多速率点阵vq应用于tcx编码的情况。
[0153]
此外,在本实施方式中,虽然在时域中实施了lpc合成滤波处理,但是也可以在频域中实施lpc合成滤波处理。作为此种tcx编码的一例,可列举evs(enhanced voice services,增强语音服务)编解码的基于修正离散余弦变换的变换编码激励(mdct based tcx)。
[0154]
[特定位置的子向量的一例]
[0155]
说明上述特定位置的子向量的一例。
[0156]
分裂多速率点阵vq例如也可以应用于非专利文献1所记载的evs(enhanced voice services,增强语音服务)编解码那样的语音声学的编码处理及解码处理。
[0157]
例如,分裂多速率点阵vq也可以应用于非专利文献1的代数向量量化器(avq:algebraic vector quantizer)。
[0158]
例如,在evs编解码中,avq被应用于各种编码模式。例如,在32kbit/s的gc(generic coding,通用编码)模式中,编码帧被分类为谐波(harmonic)信号的情况下,子向量的频率越高(例如,图7中的子向量v8),则分裂多速率点阵vq中的码本指示值的编码比特
数越多的可能性高。
[0159]
可列举如下原因:对于谐波(harmonic)信号的gc模式的编码在元音的上升部分进行的可能性高;频带越高,则利用自适应码本(或者,“adaptive codebook”)的谐波的表现性越差的可能性高;或者频带越高,则有如下倾向,即,越易于产生谐波偏移,自适应码本的编码误差越大的倾向。因此,在频域的信号(例如,预测误差或残差信号的频谱)的编码中,越是高区的子向量,则信号的能量越大,易于选择量化所使用的比特数更多的码本。
[0160]
由此,例如,如上所述,在频域的信号被分割成子向量v1~子向量v8的8个子向量情况下,易于分配更多的如下的比特数,该比特数用于对于子向量v1~子向量v8的多个子向量中的在频域最高频带的子向量v8的编码。因此,如上所述,在编码装置100及解码装置200中可以设定子向量v8作为特定位置的子向量。
[0161]
这样,在evs编解码的gc模式中,作为向量量化的对象的输入信号(或者,编码帧)为谐波(harmonic)信号的情况下,构成输入信号的多个子向量中的频率最高的子向量可以被设定为进行未使用比特数的编码的一个子向量。由此,能够提高在gc编码的avq中应用分裂多速率点阵vq的情况下削减编码比特数的效果。
[0162]
此外,在gc模式中,输入信号并非为谐波(harmonic)的情况下,根据evs的编码比特率,有时也会对时域的信号应用分裂多速率点阵vq。即使在此情况下,将最后的子向量(换句话说,在时间上最靠后的子向量)设定为预先确定的子向量位置也是有效的。其理由在于:已通过实验确认了在此种情形下有如下倾向,即,未使用比特数的编码所使用的比特数会比码本指示值的编码所使用的比特数少的倾向。也就是说,对于被分类至gc模式的帧,在多数情况下,当进行最后的子向量的量化时未使用而剩余下的比特数会少,因此,若对未使用比特数进行编码,则编码效率易于变高。
[0163]
[编码比特数的削减方法]
[0164]
接着,说明削减对于特定位置的子向量的编码比特数的方法的例子。
[0165]
<方法1>
[0166]
例如,在特定位置的子向量(例如,子向量v8)的编码所使用的比特数少(例如,码本q0或码本q2),未使用比特数多的情况下(例如,在15比特之类的阈值以上的情况下),未使用比特数的编码所使用的比特数有可能比对码本指示值本身进行编码的情况多。
[0167]
例如,在特定位置的子向量的编码可使用的比特数(cb'fix)为9比特以下的情况下,特定位置的子向量(例如,子向量v8)可使用的码本为码本q0(码本指示值为“0”这1比特)、或特殊情形的码本q2(码本指示值为“1”这1比特)。
[0168]
例如,在码本q0或特殊情形的码本q2的任何情况下,码本指示值均由1比特(换句话说,最小值)表现,因此,即使是本公开的一个实施例的方法也无法削减编码比特数。
[0169]
因此,例如在特定位置的子向量可使用的比特数为阈值以下(例如,9比特以下)的情况下,编码装置100可以将特定位置的子向量的码本指示值直接决定为编码代码(或者,编码信息),而不应用本公开的一个实施例的方法(例如,对未使用比特数进行编码的方法)。
[0170]
另一方面,例如在特定位置的子向量可使用的比特数大于阈值的情况下(例如,在大于9比特的情况下),编码装置100可以将对未使用比特数进行编码所得的编码代码决定为编码信息。
[0171]
根据方法1,在特定位置的子向量可使用的比特数为任何比特数的情况下,均能够抑制编码比特数的增加,并提高编码效率。
[0172]
另外,如上所述,特定位置的子向量可使用的比特数是也可由解码装置200根据其他参数(例如,比特总数及其他的子向量的码本指示值)计算的信息,因此,可以不设置用于切换方法1的编码方法的信令(例如,用于通知切换的新增信息)。
[0173]
<方法2>
[0174]
例如,在可使用比特数(cb'fix)为11比特~13比特中的任一比特的情况下,特定位置的子向量(例如,子向量v8)可使用的码本为码本q0(例如,总计使用比特数:1比特)和码本q2(例如,总计使用比特数:10比特)中的任一者。此处,例如在使用码本q0的情况下(例如,总计使用比特数:1比特),未使用比特数为10比特~12比特,因此,在图4所示的例子中,未使用比特数的编码比特数为3比特。因此,与对码本指示值直接进行编码的情况(例如,1比特)相比,比特数增加2比特。
[0175]
另外,如图1所示,码本q2的情况下的总计使用比特数为10比特,因此,在可使用比特数为11比特~13比特中的任一比特的情况下,显然至少有1比特~3比特未被使用。
[0176]
对于此种可使用比特数中的显然未被使用的比特数,例如可作为对可使用比特数除以5的余数而被计算。例如,在可使用比特数为11、12或13的情况下,5的余数为1(=11%5)、2(=12%5)或3(=13%5)。此外,函数“a%b”是返回b相对于a的余数的函数(例如,也称为“取模运算”)。此外,除数b(此处,b=5)可以是基于子向量的编码中的码本指示值所使用的比特数相对于总计使用比特数的比例(或者,总计使用比特数的变化单位)而决定的值。
[0177]
与此种显然未被使用的比特数相关的信息也可以不被作为编码信息而由编码装置100发送给解码装置200。因此,编码装置100也可以从可使用比特数(cb'fix)减去相对于可使用比特数的5的余数(换句话说,显然未被使用的比特数),并使用减法运算结果来计算未使用比特数。
[0178]
例如,在可使用比特数为11比特~13比特中的某一比特的情况下,相对于可使用比特数的5的余数为1比特~3比特,因此,减法运算结果为10比特。编码装置100例如可以将作为减法运算结果的10比特设定为可使用比特。例如,在编码装置100中,对于10比特的可使用比特使用码本q0(1比特)的情况下,未使用比特数为9比特,因此,在图4所示的例子中,编码成2比特的未使用比特数编码代码。
[0179]
由此,与不从可使用比特数减去5的余数的情况下的未使用比特数的编码所使用的比特数(例如,3比特)相比,从可使用比特数减去5的余数的情况下的未使用比特数的编码所使用的比特数(例如,2比特)被削减。换句话说,例如与对码本指示值直接进行编码的情况(例如,1比特)相比,在从可使用比特数减去5的余数的情况下,能够将比特数的增加抑制在1比特。
[0180]
<方法3>
[0181]
例如,在可使用比特数(cb'fix)为10比特的情况下,未使用比特数不会是10比特以上(换句话说,为9比特以下),因此,在图4所示的例子中,无对应于未使用比特数5~9的码“10”的“0”亦可。换句话说,在此情况下,只要可区分0~4(码“0”)的未使用比特数与5~9(码“1”)的未使用比特数即可。通过此种编码,能够将未使用比特数的码所使用的比特数进一步削减1比特,从而能够抑制比特数的增加。
[0182]
此外,在使用此种编码的情况下,即使在可使用比特数为9比特以下时,仍能够抑制比特数的增加。因此,例如即使在可使用比特数为9比特以下的情况下,编码装置100也可以不切换为<方法1>中说明那样的将码本指示值直接设定为编码代码的方法。
[0183]
<方法4>
[0184]
例如,在可使用比特数(cb'fix)为8比特以下的情况下,在图1所示的例子中,码本指示值不可能是“0”(q0)以外的值。在此情况下,即使未发送与码本指示值相关的信息,解码装置200也可确定码本指示值q0。
[0185]
因此,例如对于对码本指示值直接进行编码的方法、以及对未使用比特数进行编码的方法中的任一者,在可使用比特数为8比特以下的情况下,均可以进行不收发与码本q0的码本指示值相关的信息的编码处理及解码处理。由此,可将编码信息削减1比特。
[0186]
<方法5>
[0187]
例如,在可使用比特数(cb'fix)为14比特的情况下,在图1所示的例子中,特定位置的子向量可使用的码本为码本q0、码本q2及特殊情形的码本q3。在特殊情形的码本q3中,例如,无未使用比特,能够利用“11”(2比特)代替“110”来表示码本指示值,并可与码向量的使用比特数(12比特)一起,以14比特进行编码。
[0188]
这样,即使在可使用比特数为14比特的情况下,也可使用码本q3,因此,在可使用比特数为14比特的情况下,<方法2>中的作为5的余数的4比特有时不会达到显然剩余的比特数。
[0189]
由此,例如在可使用比特数为13比特以下的情况下,可基于上述<方法1>~<方法4>中的至少一个方法,抑制2比特以上的编码比特数的增加,而另一方面,在可使用比特数为14比特以上的情况下,编码比特数会根据未使用比特数而增加或减少。
[0190]
另外,例如设想在evs编解码之类的多模式编码中,以特定的编码模式使用分裂多速率点阵vq的情况下可使用的比特中的未使用比特占据大半的情况(例如,未使用比特数为阈值以上的情况)罕见。因此,例如对小于阈值的未使用比特数进行编码的可能性高,平均而言,可实现比特数的削减。另一方面,也会产生如下情形,即,在极少数的情况下,未使用比特数会增多,编码比特数增加2比特以上。因此,例如可以基于以下的方法来切换编码方法。
[0191]
例如,在evs编解码的gc模式的avq中应用分裂多速率点阵vq的情况下,有如下倾向,即,输入信号越接近于零,则未使用比特数会变得越多。另外,例如可基于自适应码本向量的能量或与通过avq而被编码的激励信号相乘的增益信息(或者,gain information),判定输入信号是否接近于零。
[0192]
因此,例如在自适应码本向量(或者,码向量)的能量小于阈值(例如,10)的情况下,或者在与通过avq而被编码的激励信号相乘的增益小于阈值(例如,1.0)的情况下,编码装置100可以将特定位置的子向量的码本指示值直接决定为编码代码,而不应用本公开的一个实施例的方法(例如,对未使用比特数进行编码的方法)。
[0193]
另一方面,例如在自适应码本向量的能量为阈值(例如,10)以上的情况下,或者在与通过avq而被编码的激励信号相乘的增益为阈值(例如,1.0)以上的情况下,编码装置100可以将对未使用比特数进行编码所得的编码代码决定为编码信息。
[0194]
应予说明,编码装置100例如也可以基于自适应码本向量的能量、以及与通过avq
而被编码的激励信号相乘的增益的组合来切换编码方法。此时,编码装置100例如也可以在对编码方法的切换进行判定时,对自适应码本向量的能量、以及与激励信号相乘的增益分别进行加权。
[0195]
另外,例如因为在编码对象帧的avq编码结束之前,不确定与通过avq而被编码的激励信号相乘的增益,所以也可以参照时间上过去的帧中的增益信息。
[0196]
另外,在方法5中,虽然作为一例,说明了基于自适应码本向量的能量或增益信息来切换编码方法的方法,但是并不限定于此,也可以基于与未使用比特数的增减关联的其他参数来切换编码方法。或者,还可以基于未使用比特数与阈值之间的比较来切换编码方法。
[0197]
<方法6>
[0198]
未使用比特数与码之间的关联并不限定于图4所示的例子。
[0199]
例如,因为未使用比特数的上限值为可使用比特数,所以无可使用比特数以上的编码代码(或者,码)亦可。在此情况下,未使用比特数的上限值的码无码末尾的0(例如,停止比特)亦可。
[0200]
例如,在可使用比特数为20比特,且未使用比特为19比特的情况下(例如,在码本指示值为“0”(码本q0)的情况下),在图4所示的例子中,分配给未使用比特数的码为“1110”。另一方面,在可使用比特数为20比特的情况下,未使用比特数不会是20比特以上(例如,码“11110”这样的连续有4个以上的1的码)。因此,即使无分配给未使用比特数=19比特的码“1110”末尾的0(例如,即使是“111”),解码装置200也可确定未使用比特数。
[0201]
由此,例如也可以应用图13所示的例子代替图4所示的例子作为未使用比特数与码之间的关联。图13所示的码例如相当于霍夫曼(huffman)码。在图13中,与图4相比,未使用比特数为15~19的比特数的情况下的码“111”的比特数少了1比特。
[0202]
这样,例如对未使用比特数进行编码所得的编码代码(或者,编码信息)也可以由将可使用比特数设为未使用比特数的上限值的霍夫曼码表示。例如,编码装置100也可以使用与未使用比特的上限对应的霍夫曼码进行未使用比特的编码。由此,可将码本指示值的编码所使用的比特数削减1比特。
[0203]
此外,例如,如图4所示,分配给未使用比特数的码可以由一元码(unary码)来表示。例如,在方法6中,如上所述,在基于可使用比特数来设定未使用比特数的上限值的情况下,也可以截断(或者,也可以删除)分配给未使用比特数的多个一元码中的、与基于可使用比特数而设定的未使用比特数的上限值对应的一元码的最低位比特(lsb:least significant bit,最低有效比特)。例如,与上述例子同样地,在可使用比特数为20比特的情况下,未使用比特数的上限值为19比特,因此,在图4所示的例子中,与未使用比特数的上限值对应的一元码为“1110”这4比特。在方法6中,可以截断该一元码“1110”的最低位比特“0”而设为“111”,未使用比特数与码之间的关联和图13所示的例子相同。由此,可将码本指示值的编码所使用的比特数削减1比特。
[0204]
此处,只要对子向量进行了适当的比特分配,则对于特定位置的子向量(例如,子向量v8),易于选择与可使用比特数对应的码长(或者,比特数)更长的码本指示值。另外,若选择码长更长的码本指示值,则未使用比特数会更接近于0,从而易于选择码长更短的未使用比特数的编码代码。在方法6中利用该倾向,编码装置100可以基于对于特定位置的子向
量的可使用比特数,计算该子向量的编码可使用的最大的码本指示值,并利用霍夫曼码或一元码(例如,截断分配给上限的未使用比特数的一元码的lsb所得的码)表示分配给未使用比特数的码。由此,能够削减未使用比特数的编码比特。
[0205]
另外,如<方法2>所说明,在可使用比特数为10比特以上的情况下,5的余数的比特未被使用的可能性高,因此,在方法6中,可使用比特数也可以是减去5的余数所得的值。
[0206]
另外,例如有evs编解码中的与未使用比特数的编码结果相关的发生概率分布有时(例如,选择了gc模式的情况下)成为如下分布,该分布中,未使用比特数为5比特-9比特的概率最高,未使用比特数为0比特-4比特的概率第二高,继而第三个及其次是10比特-14比特及以后的比特。作为此情况下的对于未使用比特数的码的分配方法,例如也可以调换图4所示的未使用比特数0比特-4比特的码“0”、与未使用比特数5比特-9比特的码“10”(例如,图14)。换句话说,对候选的未使用比特数分别进行编码而获得的码中,与发生概率更高的候选对应的码的比特数可以更少。在图14所示的例子中,对发生概率高的未使用比特数分配比特数少的码,因此,可削减平均的编码比特数。此外,图14是一例,可以根据未使用比特数的发生概率,分别分配比特数不同的码。关于此种分配,只要按编码模式预先决定最佳的分配方法即可,因此,也可以不对与分配方法相关的信息进行编码或传输。
[0207]
另外,例如图4、图13及图14所示的分配给未使用比特数的码虽然是将“0”设为停止比特的一元码,但是并不限定于此。例如,也可以设为调换图4、图13及图14所示的分配给未使用比特数的码中的“1”与“0”所得的码。
[0208]
另外,例如在切换<方法1>或<方法5>之类的编码方法的情况下,霍夫曼编码可应用于对码本指示值直接进行编码的方法。例如,在图1所示的例子中,可使用比特数为23比特的情况下,对于特定位置的子向量的码本中的最大码本为q4(总计使用比特数:20比特)。此时,在图1所示的例子中,q4的码本指示值为“1110”这4比特。此处,在可使用比特数为23比特的情况下,不会使用q5以上(总计使用比特数为25比特以上)的码本。因此,例如,如图15所示,q4的码本指示值也可以是从“1110”省略“0”而成的“111”。由此,能够削减码本指示值的编码比特数。
[0209]
以上,分别说明了方法1~方法6。
[0210]
此外,在本公开的一个实施例中,码本列表并不限定于图1所示的例子,码本中的码本指示值及码向量索引的码的值以及使用比特数(或者,总计使用比特数)也可以是其他的值。另外,也可以根据编码及解码所应用的码本列表,设定上述<方法1>~<方法6>中说明的阈值。
[0211]
另外,例如,虽然在图1中说明了各码本中的码本指示值的使用比特数相对于总计使用比特数的比例为1/5的情况(换句话说,使用余数时的除数为5的情况),但是并不限定于此。
[0212]
另外,在上述实施方式中,虽然说明了分割输入信号s(f)的子向量数为8个的情况,但是分割输入信号s(f)的子向量数并不限定于8个。
[0213]
以上,说明了本公开的实施方式。
[0214]
此外,本公开能够通过软件、硬件或在与硬件协作下的软件实现。在上述实施方式的说明中使用的各功能块部分地或整体地被实现为作为集成电路的lsi(large scale integration,大规模集成电路),在上述实施方式中说明的各过程也可以部分地或整体地
由一个lsi或由lsi的组合控制。lsi可由各个芯片构成,也可以是以包含功能块的一部分或全部的方式由一个芯片构成。lsi也可包括数据的输入和输出。lsi根据集成度的不同,也可以称为“ic(integrated circuit,集成电路)”、“系统lsi(system lsi)”、“超大lsi(super lsi)”、“特大lsi(ultra lsi)”。集成电路化的方法不限于lsi,也可由专用电路、通用处理器或专用处理器实现。另外,也可利用lsi制造后能够编程的fpga(field programmable gate array,现场可编程门阵列)、或可以对lsi内部的电路块的连接或设定进行重新构置的可重构处理器(reconfigurable processor)。本公开也可被实现为数字处理或模拟处理。再有,如果随着半导体技术的进步或者其他技术的派生,出现了代替lsi的集成电路化的技术,当然也可以利用该技术来实现功能块的集成化。还存在应用生物技术等的可能性。
[0215]
本公开可在具有通信功能的所有种类的装置、设备、系统(总称为“通信装置”)中实施。通信装置也可以包含无线收发机(transceiver)和处理/控制电路。无线收发机也可以包含接收部和发送部,或者发挥这些部分的功能。无线收发机(发送部、接收部)也可以包含rf(radio frequency,射频)模块和一个或多个天线。rf模块也可以包含放大器、rf调制器/解调器、或类似于这些的装置。通信装置的非限定性的例子包括:电话(手机、智能手机等)、平板电脑、个人电脑(pc)(膝上型电脑、台式机、笔记本电脑等)、相机(数码照相机、数码摄像机等)、数码播放器(数码音频/视频播放器等)、可穿戴设备(可穿戴相机、智能手表、跟踪设备等)、游戏机、电子书阅读器、远程健康/远程医疗(远程保健/医学处方)设备、带有通信功能的交通工具或交通运输工具(汽车、飞机、轮船等)、以及上述各种装置的组合。
[0216]
通信装置并不限定于可携带或可移动的装置,也包含无法携带或被固定的所有种类的装置、设备、系统。例如包括:智能家居设备(家电设备、照明设备、智能电表或计量器、控制面板等)、自动售货机、以及其他可存在于iot(internet of things,物联网)网络上的所有“物体(things)”。
[0217]
通信除了包含通过蜂窝系统、无线lan(local area network,局域网)系统、通信卫星系统等进行的数据通信之外,还包含通过这些系统的组合进行的数据通信。
[0218]
另外,通信装置也包含与执行本公开中记载的通信功能的通信设备连接或连结的、控制器或传感器等设备。例如,包含产生执行通信装置的通信功能的通信设备所使用的控制信号或数据信号的控制器或传感器。
[0219]
另外,通信装置包含与上述非限定性的各种装置进行通信或对上述各种装置进行控制的基础设施设备,例如,基站、接入点、以及其他所有的装置、设备、系统。
[0220]
本公开的一个实施例的编码装置包括:量化电路,产生量化参数,该量化参数包含与向量量化的码本相关的第一信息、和与所述码本所含的码向量相关的第二信息;以及控制电路,使用第二比特数,控制对于子向量的所述第一信息的编码,该第二比特数是基于所述向量量化中的所述子向量的编码可使用的第一比特数与所述子向量的所述量化参数的比特数之差的比特数。
[0221]
在本公开的一个实施例中,所述控制电路将对所述第二比特数进行编码所得的信息决定为编码信息。
[0222]
在本公开的一个实施例中,所述对第二比特数进行编码所得的信息由将所述第一比特数设为所述第二比特数的上限值的霍夫曼码来表示。
[0223]
在本公开的一个实施例中,所述对第二比特数进行编码所得的信息由一元码来表
示,并且,与基于所述第一比特数而设定的所述第二比特数的上限值对应的一元码的最低位比特被删除。
[0224]
在本公开的一个实施例中,对所述第二比特数的候选分别进行编码所得的信息中,与发生概率更高的所述候选对应的信息的比特数更少。
[0225]
在本公开的一个实施例中,在所述第一比特数大于阈值的情况下,所述控制电路将对所述第二比特数进行编码所得的信息决定为编码信息,而在所述第一比特数为所述阈值以下的情况下,所述控制电路将所述第一信息决定为编码信息。
[0226]
在本公开的一个实施例中,在增强语音服务(evs:enhanced voice services)编解码的通用编码(generic coding)模式中,所述子向量是分割所述信号而成的多个子向量中的、频率最高的(或者,时间上最后的)子向量。
[0227]
在本公开的一个实施例中,在对于所述子向量的所述码向量的能量为阈值以上的情况下,所述控制电路将对所述第二比特数进行编码所得的信息决定为编码信息,而在所述码向量的能量小于所述阈值的情况下,所述控制电路将所述第一信息决定为编码信息。
[0228]
在本公开的一个实施例中,在对于所述子向量的增益为阈值以上的情况下,所述控制电路将对所述第二比特数进行编码所得的信息决定为编码信息,而在所述增益小于所述阈值的情况下,所述控制电路将所述第一信息决定为编码信息。
[0229]
在本公开的一个实施例中,所述第二比特数是从所述第一比特数除以5的余数减去所述子向量的所述量化参数的比特数所得的数。
[0230]
本公开的一个实施例的解码装置包括:控制电路,使用基于第一比特数与包含第一信息和第二信息的量化参数的比特数之差的第二比特数,控制对于子向量的所述第一信息的解码,该第一比特数是向量量化中的所述子向量的编码可使用的比特数,该第一信息是与所述子向量的码本相关的信息,该第二信息是与所述码本所含的码向量相关的信息;以及逆量化电路,基于所述第一信息进行向量逆量化。
[0231]
在本公开的一个实施例的编码方法中,编码装置产生量化参数,该量化参数包含与向量量化的码本相关的第一信息、和与所述码本所含的码向量相关的第二信息,并且,使用第二比特数,控制对于子向量的所述第一信息的编码,该第二比特数是基于所述向量量化中的所述子向量的编码可使用的第一比特数与所述子向量的所述量化参数的比特数之差的比特数。
[0232]
在本公开的一个实施例的解码方法中,解码装置使用基于第一比特数与包含第一信息和第二信息的量化参数的比特数之差的第二比特数,控制对于子向量的所述第一信息的解码,该第一比特数是所述向量量化中的所述子向量的编码可使用的比特数,该第一信息是与所述子向量的码本相关的信息,该第二信息是与所述码本所含的码向量相关的信息,并且,基于所述第一信息进行向量逆量化。
[0233]
在2020年6月18日申请的特愿2020-105470的日本专利申请所包含的说明书、附图及说明书摘要的公开内容,全部引用于本技术。
[0234]
工业实用性
[0235]
本公开的一个实施例对于编码系统等是有用的。
[0236]
附图标记说明
[0237]
51 celp编码部
[0238]
52 celp本地解码部
[0239]
53、65 加法器
[0240]
64 celp解码部
[0241]
71 lpc分析部
[0242]
72 量化部
[0243]
73、84 逆量化部
[0244]
74 lpc逆滤波部
[0245]
85 lpc合成滤波部
[0246]
100、100a、100b 编码装置
[0247]
54、75、101 时间-频率转换部
[0248]
102 心理声学模型分析部
[0249]
103 分裂多速率点阵量化部
[0250]
104 码本指示值转换部
[0251]
105 复用部
[0252]
121 码本指示值分离部
[0253]
122、221 可使用比特数计算部
[0254]
123 未使用比特数计算部
[0255]
124 未使用比特数编码部
[0256]
200、200a、200b 解码装置
[0257]
201 解复用部
[0258]
202 码本指示值逆转换部
[0259]
203 分裂多速率点阵逆量化部
[0260]
63、83、204 频率-时间转换部
[0261]
222 未使用比特数解码部
[0262]
223 恢复部
[0263]
224 码本指示值产生部
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献