CN102422540B - 编码方法、编码装置、解码方法、解码装置、程序以及记录介质 - Google Patents

编码方法、编码装置、解码方法、解码装置、程序以及记录介质 Download PDF

Info

Publication number
CN102422540B
CN102422540B CN201080020616.5A CN201080020616A CN102422540B CN 102422540 B CN102422540 B CN 102422540B CN 201080020616 A CN201080020616 A CN 201080020616A CN 102422540 B CN102422540 B CN 102422540B
Authority
CN
China
Prior art keywords
code
mentioned
integer
coding
extended
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201080020616.5A
Other languages
English (en)
Other versions
CN102422540A (zh
Inventor
原田登
鎌本优
守谷健弘
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Publication of CN102422540A publication Critical patent/CN102422540A/zh
Application granted granted Critical
Publication of CN102422540B publication Critical patent/CN102422540B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

以整数值序列作为输入,预先决定[1]对应于整数(规定整数)的码、以及[2]对应于规定整数以外的多个整数的组码,并进行如下的编码,即当整数值序列中成为编码对象的整数值是规定整数的情况下,将对应于该规定整数的码作为编码结果的码,当整数值序列中成为编码对象的整数值不是规定整数的情况下,将连结了扩展码、和对成为编码对象的整数值应用对应于扩展码的预先决定的编码方法而得到的码后的码作为编码结果的码。

Description

编码方法、编码装置、解码方法、解码装置、程序以及记录介质
技术领域
本发明涉及信号的编码技术,更详细地说,涉及整数值序列的可逆编码技术。
背景技术
作为对于语音频率信号(voice-frequency signals)的编码(encoding)的国际标准,存在ITU-T  (International TelecommunicationUnion-Telecommunication Standardization Sector;国际电信同盟-电信标准化部门)G.711(参照非专利文献1)。ITU-T G.711中,作为编码方式而采用非线性PCM(Non-uniform Pulse Code Modulation),作为非线性量化方式而规定了μ标准(μ-law)和A标准(A-law)的两种。以下,将“语音频率信号”称为语音信号。
此外,作为视频(Visual)和音频(Audio)的编码的国际标准,存在ISO/IECJTC 1/SC 29/WG 11制定的MPEG-4,其第3部分规定了音频无损编码技术等(参照非专利文献2)。
作为对于整数的编码方法,已知阿尔法编码(一元编码)(参照非专利文献3)。阿尔法编码是将0以上的整数k通过k个连续的整数A和紧接其后的一个整数B来表现的编码方法。整数B与整数A不同,整数A为1时整数B设为0,整数A为0时整数B设为1。
例如,k=0的基于阿尔法编码的码是0(或者1),k=1的基于阿尔法编码的码是10(或者01),k=2的基于阿尔法编码的码是110(或者001),k=3的基于阿尔法编码的码是1110(或者0001),k=4的基于阿尔法编码的码是11110(或者00001),k=5的基于阿尔法编码的码是111110(或者000001)。
作为阿尔法编码的特征,可举出(1)无论多大的整数k都能够进行编码,(2)在编码/解码时,不使用将编码对象的整数k和码相关联的表,因此不需要用于保存表的存储器,(3)整数k通过k+1比特来编码,(4)在表现大的整数k时,与用二进制来表现整数k的情况相比需要更多的比特。
作为熵(entropy)编码方法,已知哈弗曼编码(Huffman coding)(参照非专利文献3)。哈弗曼编码是根据作为编码对象的输入值的出现频度而分配可变长度码的编码方法,对于出现频度越高的输入值,提供越短的码。
作为哈弗曼编码的特征,可举出(1)在编码/解码时,使用将编码对象的输入值和码相关联的表,(2)根据表大小而决定能够编码的最大值(因此,若编码对象的输入值的种类多,则需要大的表),(3)在表大小较大时,与用二进制来表现输入值的编码相比,出现频度低的输入值的哈弗曼码有时需要更多的比特。
作为对于整数的编码方法,已知Golomb-Rice编码(参照非专利文献3)。0以上的整数t的Golomb-Rice码是,对使用规定的整数s(Rice参数)并通过算式(1)求得的商q进行阿尔法编码,以s比特的二进制码对通过算式(2)求得的余数r进行编码,进而连结商q的阿尔法码和余数r的二进制码而得到。记号表示下取整函数。
[数1]
r=t-q·2s         (2)
作为Golomb-Rice编码的特征,可举出(1)Golomb-Rice码的码长依赖于整数s,(2)整数t的Golomb-Rice码可通过q+s+1比特来表示,(3)由于对商q进行阿尔法编码,因此若整数t增大则整数t的Golomb-Rice码的码长会变长,(4)当输入值取正负的值时,在将输入值设为0以上的整数t之后进行Golomb-Rice编码。
现有技术文献
非专利文献
非专利文献1:ITU-T Recommendation G.711,“Pulse Code Modulation(PCM)of voice frequencies,”ITU-T,1993.
非专利文献2:ISO/IEC 14496-3AMENDMENT 2:Audio Lossless Coding(ALS),new audio profiles and B SAC extensions,2005.
非专利文献3:David Salomon,“Data Compression:The CompleteReference,”3rdedition,Springer-Verlag,ISBN-10:0-387-40697-2,2004.
发明内容
发明要解决的课题
该说明书中使用的用语只要没有特别事先说明,则依据ITU-T G.701(参考文献1)。但是,这并非是要将本发明的应用范围限定为应用ITU-T的G系列推荐的技术领域。在该技术领域以外的技术领域、例如有关上述非专利文献2的技术领域中应用本发明的情况下,将该说明书中使用的用语(如果有的话)改读为该技术领域的对应的用语即可。
(参考文献1)ITU-T Recommendation G.701,“Vocabulary of DigitalTransmission and Multiplexing,and Pulse Code Modulation(PCM)Terms,”ITU-T,1993.
在以汇集了规定的多个样本的帧为单位进行编码处理时,若帧中包含的样本xi(i=1,2,...,N)的值的出现频度分布按照拉普拉斯(Laplace)分布,则Golomb-Rice码在整数码中是最佳码。这是因为若样本xi(i=1,2,...,N)的值的出现频度分布按照拉普拉斯分布,则商q的概率分布(离散地)成为1/2,1/4,1/8,1/16,...,1/2h,...,阿尔法码成为最佳。
帧中包含的样本xi(i=1,2,...,N)的值的出现频度分布不按照拉普拉斯分布时,或者,统计上样本数目不够充足时,Golomb-Rice码未必会成为最佳码。这是因为商q的概率分布不按照对于阿尔法码成为最佳的概率分布,因此阿尔法码的码长变大。
已知哈弗曼编码根据成为编码对象的样本值的统计性的出现频度,通过使用统计性地学习的哈弗曼码表,从而不限于拉普拉斯分布,能够对任意的出现频度分布的样本值高效地进行编码。但是,当成为编码对象的整数值可取的范围涉及宽范围时,需要具备大的哈弗曼码表,存在哈弗曼码表的记录容量成为实施的制约的问题。
因此,本发明的目的在于提供一种有关编码和其解码的技术,即使帧中包含的样本xi(i=1,2,...,N)的值的出现频度分布不跟随拉普拉斯分布的情况,或者,统计上样本数目不够充足的情况下,也能够抑制帧的码长的增加。
用于解决课题的方案
在本发明中,预先决定[1]对应于整数(以下,称为规定整数)的码、以及[2]对应于规定整数以外的多个整数的组的码(以下,称为扩展码),以整数值序列作为输入,进行如下的编码,即当上述整数值序列中成为编码对象的整数值是规定整数的情况下,将对应于该规定整数的码作为编码结果,当上述整数值序列中成为编码对象的整数值不是规定整数的情况下,将连结了上述扩展码、和对上述整数值序列中成为编码对象的整数值应用对应于上述扩展码的预先决定的编码方法而得到的码后的码作为编码结果的码。
在解码时,如果码是对应于规定整数的码,则将对应于码的规定整数作为解码结果,当码是扩展码的情况下,对紧接在扩展码后的码,以对应于扩展码的解码方法对码进行解码,并将由此得到的整数值作为解码结果。
此外,输入信号的各个样本通过整数来表示,以汇集了规定数目的多个样本的帧为单位,从输入信号的帧的各个样本,求用于决定对于各个样本的除数的值(称为分离参数),关于输入信号的帧的各个样本,在通过分离参数所决定的除数大于1时求商和余数,在所述除数为1时求商。并且,对商应用上述的编码。在该商的编码中,进行如下的编码,即在商是规定整数时,将该商的码设为对应于该规定整数的码,在商不是规定整数时,将连结了扩展码、和对该商应用对应于上述扩展码的预先决定的上述编码方法而得到的码后的码设为该商的码。此外,也可以使用码表,该码表记录了[1]对应于规定整数的码、以及[2]对应于规定整数以外的多个整数的组的至少一个扩展码。
此外,作为汇集了规定数目的样本的帧,可以对每个帧选择性地使用多个码表中最佳的码表。
此外,该码的解码如下。当商的码不包含扩展码时输出与商的码对应的该规定整数,当商的码包含扩展码时,通过与根据扩展码唯一地确定的编码方法对应的解码方法,对从商的码中除去扩展码后的部分进行解码从而输出整数,并且判定除数是否为1,当除数为1时,根据通过商的解码而得到的整数对输入信号的样本进行解码,当除数大于1时,对通过商的解码而得到的整数乘以除数,并且进一步相加根据余数的码所得到的整数,从而对输入信号的样本进行解码。
发明效果
根据本发明,能够以有限大小的码表对宽范围的输入进行处理而高效地进行编码。
此外,根据本发明,以每规定数目的样本作为帧,对每个帧选择性地使用与多个不同的出现频度分布对应的多个码表中最佳的码表,从而能够高效地对输入信号进行编码。
此外,根据本发明,由于帧的各个样本的商不会进行阿尔法编码,因此即使帧中包含的样本xi(i=1,2,...,N)的出现频度分布不按照拉普拉斯分布的情况,或者,统计上样本数目不够充足的情况下,也能够抑制各个样本的码的码长甚至是帧的码长的增加。
附图说明
图1是表示实施方式1的编码装置的功能性结构例的方框图。
图2是表示实施方式1的编码处理的处理流程的图。
图3是表示实施方式1的解码装置的功能性结构例的方框图。
图4是表示实施方式1的解码处理的处理流程的图。
图5是表示实施方式2的编码装置的功能性结构例的方框图。
图6是表示实施方式2的编码处理的处理流程的图。
图7是表示实施方式2的解码装置的功能性结构例的方框图。
图8是表示实施方式2的解码处理的处理流程的图。
图9是表示实施方式4的编码装置的功能性结构例的方框图。
图10是表示商信号的值的分布例的图。
图11是表示码表的例子的图。
图12是表示当分离参数B=0时输出的误差码的例子的图。
图13是表示当分离参数B>0时输出的误差码的例子的图。
图14是表示实施方式4的解码装置的功能性结构例的方框图。
图15是表示与图11所示的n≥80的码表0对应的解码表的例子的图。
图16是表示实施方式4的解码处理的处理流程的图。
图17是表示实施方式3的编码装置的功能性结构例的方框图。
图18是表示实施方式3的编码处理的处理流程的图。
图19是表示实施方式3的解码装置的功能性结构例的方框图。
图20是表示实施方式3的解码处理的处理流程的图。
图21是码表的一例(表1)。
图22是码表的一例(表2)。
图23是码表的一例(表3)。
图24是码表的一例(表4)。
图25是码表的一例(表5)。
图26是码表的一例(表6)。
图27是码表的一例(表7)。
图28是码表的一例(表8)。
具体实施方式
<本发明的实施方式1的编码的概要>
在实施方式1中处理的输入信号设为0以上的整数值序列。该整数值序列例如可以是,如上述非专利文献1的音频无损编码技术中进行的那样,将对音频信号应用线性预测分析而得到的线性预测残差的值唯一地线性映射到0以上的整数值以便振幅的绝对值越小的值分配给越小的值,从而得到的整数值序列。
本发明的实施方式1的编码中,输入信号为0以上的整数值序列,并且,输入信号的整数值具有在特定的范围的值中出现概率相对高的统计性质时,能够高效地进行压缩。
编码装置具有至少记录了[1]整数(以下,称为规定整数)和与其对应的码的组合、以及[2]规定整数以外的多个整数的组和对应于该组的一个码(以下,称为扩展码)的组合的一个码表,对上述输入信号的整数值序列中成为编码对象的整数值依次进行编码而输出码。以下将规定整数以外的整数称为规定外整数。
在该编码处理中,当上述输入信号的整数值序列中成为编码对象的整数值是规定整数时,从上述码表选择对应于该规定整数的码作为编码结果的码,当上述整数值序列中成为编码对象的整数值是规定外整数时,进行如下的编码,即将连结了上述码表中记录的上述扩展码、和对上述规定外整数应用预先决定的对应于上述扩展码的编码方法而得到的码后的码作为编码结果的码。
图1表示实施方式1的编码装置600E的功能性结构例。
编码装置600E包括存储码表622的存储单元620E、以整数值序列为输入且利用码表622从而输出码序列的编码单元610E。
图2表示编码处理步骤。
首先,判定是否存在未处理的整数值(步骤S600)。若不存在则结束处理。若存在,则从整数值序列中将未处理的整数值的开头的整数值设为X(步骤S602)。然后,检索码表622中是否将X注册为规定整数(步骤S604)。判定X是否为规定整数(步骤S606)。若X是规定整数,则输出码表622中注册的对应于规定整数X的码(步骤S608)。若X不是规定整数,则结合扩展码和以对应于扩展码的编码方式对X编码后的码而输出(当扩展码存在多个时,使用码量最少的扩展码)(步骤S610)。
表1~表6表示码表622的一例。
在表1~表6所示的各个码表中,记号:的右侧的码和其左侧的规定整数相关联。对应于规定外整数p的码是连结扩展码、和以通过扩展码所确定的编码方法对规定外整数p进行编码的结果的码而得到。记号||表示码之间的连结。
通过扩展码所确定的、对应于扩展码的编码方式在编码装置和解码装置中分别预先决定。另外,为了进行可逆编码,需要在编码装置和解码装置中使用相同的编码方式,因此对应于扩展码的编码方式在编码装置和解码装置之间唯一地决定。以下,在表1~表6的例子中,为了简便,U作为表示阿尔法编码的记号,R作为表示Golomb-Rice编码的记号,F作为表示规定长度编码的记号来使用,将通过这些编码方法对数值k进行编码所得到的码表示为code(U,k)、code(R,s,k)、code(F,g,k)等。
在表1的例(参照图21)中,规定了一种扩展码1111。与扩展码1111对应的编码方式为阿尔法码code(U,p-4),预先在编码装置和解码装置之间唯一地决定。
当成为编码对象的整数值为规定外整数p时,code(U,p-4)表示对从整数p减去4后的p-4进行阿尔法编码而得到的码。其中,在该例子中p≥4。
若输入信号中成为编码对象的整数值为相当于规定整数的0~3,则选择表1中注册的对应于0~3的码而输出。例如,规定整数的整数值3的码是1110。
此外,规定外整数p=6的码为连结了扩展码1111和对p-4进行阿尔法编码而得到的110的1111110。
在表2的例(参照图22)中,规定了两种扩展码11110以及11111。与扩展码11110对应的编码方式是阿尔法码,与扩展码11111对应的编码方式是规定长度码和Rice码的连结。扩展码和对应的编码方式的组合预先在编码装置和解码装置之间唯一地决定。
该例子的code(U,p-4)是对应于扩展码11110的编码方式输出的码,表示当成为编码对象的整数值为规定外整数p时,对从整数p减去4后的p-4进行阿尔法编码而得到的码。code(F,g,s-1)||code(R,s,p-4)是输出对应于扩展码11110的编码方式的码,表示当成为编码对象的整数值为规定外整数p时,连结了Rice参数s的g比特的固定长度码code(F,g,s-1)、和通过Rice参数s的Golomb-Rice编码所得到的整数p-4的码code(R,s,p-4)后的码。其中,p≥4。可取的s值的个数W为此外,设code(R,s,p-4)是在输出了p-4的二进制表现的下位s比特之后,以阿尔法码的方式来输出(p-4)/(2^s)的商。该顺序采用在编码处理单元和解码处理单元之间预先唯一地决定的顺序。
例如,当Rice参数s被设定为1≤s≤4时,g=2,规定外整数p=12的码为
11110111111110或者
1111100011110(s=1;2比特码00)或者
111110100110(s=2;2比特码01)或者
111111000010(s=3;2比特码10)或者
111111110000(s=4;2比特码11)。
在规定了两种以上的扩展码时,由于能够得到至少两个码,因此规定外整数的码设为可得到的码中码长最小的码(在上述的例子中,s=2,3,4的码长都相同,因此可以是任一个。例如使用最初的记录(entry)的s=2)。
在表3的例(参照图23)中,规定了4种扩展码111100、111101、111110、111111。code(U,p-4)表示通过阿尔法编码而得到的整数p-4的码。code(F,g,s-3)表示Rice参数s的g比特的固定长度码。可取的s值的个数W为code(R,s,p-4)表示通过Golomb-Rice编码所得到的整数p-4的码。其中,p≥4。扩展码为111101时,Rice参数s固定为1,扩展码为111110时,Rice参数s固定为2。
在该例子中,扩展码为111111时,Rice参数s取3≤s≤6的4个值,将s-3用g=2比特的固定长度码code(F,g,s-3)表示,并连结固定长度码code(F,g,s-3)和通过利用了Rice参数s的Golomb-Rice码对p-4进行了编码后的码code(R,s,p-4)。
例如p=12的码是
111100111111110或者
111101011110(s=1)或者
11111000110(s=2)或者
1111110000010(s=3;2比特码00)或者
1111110110000(s=4;2比特码01)或者
11111110001000(s=5;2比特码10)或者
111111110001000(s=6;2比特码11)。
在规定了两种以上的扩展码时,能够得到至少两个码,因此规定外整数的码设为具有可得到的码中码长最小的码。
在表4的例(参照图24)中,规定了两种扩展码11110、11111。code(U,p-4:4≤p≤6)表示通过阿尔法编码而得到的整数p-4(其中,4≤p≤6)的码。code(U,p-12:15≤p)表示通过阿尔法编码而得到的整数p-12(其中,15≤p)的码。code(F,h,p-7:7≤p≤14)表示通过固定长度编码而得到的整数p-7的h比特码。可取的p值的个数Q为当p为满足7≤p≤14的整数时,h=3。表4的例子是当越小的整数其出现频度(出现概率)高的情况下,设法对这些整数分配尽量短的码的表,相当于对表1的例的码表进行改良后的表。例如,p(4≤p≤19)的码是
111100(p=4),
1111010(p=5),
11110110(p=6),
11111000(p=7),
11111001(p=8),
11111010(p=9),
11111011(p=10),
11111100(p=11),
11111101(p=12),
11111110(p=13),
11111111(p=14),
111101110(p=15),
1111011110(p=16),
11110111110(p=17),
111101111110(p=18),
1111011111110(p=19)。
在表5的例(参照图25)中,规定了3种扩展码111101、111110、111111。code(U,p-5)表示通过阿尔法编码而得到的整数p-5的码。code(F,3,p-5)表示通过固定长度编码而得到的整数p-5的3比特码。code(F,4,p-5)表示通过固定长度编码而得到的整数p-5的4比特码。其中,p≥5。
在表6的例(参照图26)中,规定了两种扩展码1110、110。code(U,p-3:p=3)表示通过阿尔法编码而得到的整数p-3的码0。code(U,p-4:5≤p)表示通过阿尔法编码而得到的整数p-4(其中,5≤p)的码。code(F,3,p-4:5≤p)表示通过固定长度编码而得到的整数p-4(其中,5≤p)的3比特码。在表1~表5的例子中,规定外整数p的码的码长比规定整数的码的码长还要长,但也可以如该表6的例子那样,分配规定外整数p的码,使得规定外整数p的码的码长与规定整数的码的码长相同或者更短。当规定外整数的出现频率与规定整数的出现频度相比相对高时,使用对应于规定外整数的扩展码长短的码表。这样,码表是预先测量统计性的出现频度的期待值后进行设计。
<本发明的实施方式1的解码的概要>
在本发明的实施方式1的解码中,以通过实施方式1的编码所生成的码序列作为输入,得到原来的整数值序列。
码序列中的码通过对应于原来的整数值的可变长度编码而进行编码,并从开头起依次进行解码从而得到原来的整数序列。
图3表示实施方式1的解码装置650D的功能性结构例。
解码装置650D包括存储码表622的存储单元670D、以码序列为输入并且使用码表622从而输出整数值序列的解码单元660D。
图4表示解码处理步骤。
首先,判定是否存在未处理的码(步骤S650)。若不存在,则结束处理。若存在,则将码序列中未处理的码的开头的比特作为处理开始点(步骤S652)。并且,从码表622中注册的码中,检索与码序列一致的码(步骤S654)。判定是否为对应于规定整数的码(步骤S656)。是对应于规定整数的码时,将对应于码表622中注册的码的规定整数作为整数值X输出(步骤S658)。不是对应于规定整数的码时,判别扩展码和对应于扩展码的编码方式,输出以所判别的编码方式对紧接在扩展码之后的码进行解码而得到的整数值X(步骤S660)。
即,从码序列的开头的比特起顺序地,依次读取码比特,直到能够确定为对应于码表中注册的规定整数的码或者扩展码为止。
当读取的码和对应于规定整数的码一致时,输出将对应于该码的规定整数解码后的整数值。
该读取的码是扩展码时,从紧接着扩展码的码序列中读取与扩展码对应地预先唯一地决定的编码方式的码后进行解码,并输出结果的整数值。
例如,从利用表2(参照图22)进行了编码的码序列,解码原来的整数值时,以输入码序列为以下序列的情况为例进行说明。
010111101011111010110
其中,设g=2。
根据图4的步骤,从开头的比特起依次查找未处理的码,从而发现表2所记录的码中一致的码。通过表2,上述输入码序列被分析如下。
0,10,11110||10,11111||01||0110
从而,通过解码所得到的整数值序列成为0,1,5,5,9。
<本发明的实施方式2的编码的概要>
图5表示本发明的实施方式2的编码装置700E的功能性结构例。
编码装置700E包括存储多个码表722的存储单元730E、以整数值序列为输入并且输出对每规定个数的样本进行了汇集的帧的样本的帧分割单元710E、以帧的样本为输入并且使用码表722从而输出码序列和码表指定码的编码单元720E。
图6表示编码处理。
首先,判定是否存在未处理的帧(步骤S700)。若不存在则结束处理。若存在,则选择用于该帧的码表并输出码表指定码(步骤S702)。估计在使用各个码表对整数值序列进行了编码时的码量,并选择码量最少的码表。此外,也可以估计使用了各个码表时的码量而选择码表。接着,使用所选择的码表进行整数值序列的编码处理(步骤S704)。判定在帧内是否存在未处理的整数值(步骤S706)。当帧内不存在未处理的整数值时,进行步骤S700的处理。当帧内存在未处理的整数值时,将整数值序列中未处理的整数值的开头设为X(步骤S708)。并且,检索在码表722中X是否被注册为规定整数(步骤S710)。判定X是否为规定整数(步骤S712)。若X是规定整数,则输出对应于码表722中注册的规定整数X的码(步骤S714)。若X不是规定整数,则在结合了扩展码和以对应于扩展码的编码方式对X进行编码后的码之后输出(当扩展码存在多个时,使用码量最少的扩展码)(步骤S716)。在步骤S714和S716之后,进行步骤S706的处理。
与实施方式1的区别在于,对于所输入的整数值序列中的整数值从开头起依次按照预先决定的个数汇集为帧而进行处理、具有多个码表并且以帧为单位切换码表使得帧的码量最小、以及对每个帧输出用于确定所选择的码表的码表指定码。
<本发明的实施方式2的解码的概要>
图7表示本发明的实施方式2的解码装置750D的功能性结构例。
解码装置750D包括存储多个码表722的存储单元780D、以码表指定码为输入进行码表722的选择控制的码表选择控制单元760D、以码序列为输入并且使用码表722从而输出整数值序列的解码单元770D。
图8表示解码处理。
首先,判定是否存在未处理的码(步骤S750)。若不存在则结束处理。若存在,则从码序列读取码表指定码,并选择码表(步骤S752)。并且,判定帧内的整数值的解码是否已完成(步骤S754)。在已完成时,进行步骤S750的处理。在尚未完成时,将码序列中未处理的码的开头比特作为处理开始点(步骤S756)。并且,在码表722所注册的码中,检索与码序列一致的码(步骤S758)。判定是否为对应于规定整数的码(步骤S760)。是对应于规定整数的码时,将对应于码表722所注册的码的规定整数作为整数值X输出(步骤S762)。不是对应于规定整数的码时,判别扩展码和对应于扩展码的编码方式,并输出以所判别的编码方式对紧接在扩展码之后的码进行解码而得到的整数值X(步骤S764)。
实施方式2的解码处理是以帧为单位进行解码处理。
首先,对码表指定码进行解码,并利用所指定的码表(或者对应于码表的解码表)进行解码,这一点与实施方式1的解码方法不同。
从码序列的开头的比特起顺序地,依次读取码比特,直到能够确定为对应于码表中注册的规定整数的码或者扩展码为止。
当读取的码和对应于规定整数的码一致时,将对应于该码的规定整数作为解码后的整数值输出,这一点与实施方式1的解码方法相同。
<本发明的实施方式3的编码的概要>
以下表示将上述的实施方式1以及2和与Golomb-Rice编码相似的编码进行了组合的实施方式。
本实施方式中处理的输入信号设为对音频信号应用某种编码方式进行编码而得到的信号。其中,设为输入信号的各个样本由整数来表示。作为这样的编码方式,例如可举出上述非专利文献1的ITU-T G.711等。此外,输入信号不限于对音频信号应用某种编码方式进行编码而得到的信号(原信号)本身,例如也可以是对原信号应用线性预测分析而得到的线性预测残差。
编码装置以帧为单位对输入信号进行编码。首先,编码装置的分离参数计算单元根据一个帧的输入信号,求对于该帧的各个样本的分离参数B。分离参数B可以通过各种方法来决定。例如在本实施方式3中可以通过与Golomb-Rice编码的Rice参数相似的方法来决定。
说明Rice参数s的计算。决定Rice参数s,使得对一个帧的输入信号的各个样本进行Golomb-Rice编码而得到的该输入信号的码长(即,各个样本的Golomb-Rice码的合计码长)最小。另外,例如通过编码方式ITU-T G.711得到输入信号时,该输入信号的各个样本有时用正负的整数来表示。这样,当各个样本用正负的整数来表示时,决定Rice参数s,使得对变换为0以上的整数的一个帧的输入信号的各个样本进行编码而得到的该输入信号的码长(即,各个样本的Golomb-Rice码的合计码长)最小。在以下的例子中,假设输入信号的各个样本由正负的整数来表示。
关于输入信号中包含的某个样本xi(i=1,2,...,N;N是一个帧所包含的样本数目),由算式(3)、算式(4)提供使用了变换为0以上的整数的该样本xi的Rice参数s的商qi。在通过算式(3)求商qi时,将表示余数的码设为,对表示余数的s-1比特的二进制码附加了用于识别样本xi的正负的1比特的码的、具有s比特的固定长度的码。在通过算式(4)求商qi时,通过表示商qi的码的LSB(Least Significant Bit;最低有效位)来识别样本xi的正负。
[数2]
s≥1时
s=0时
通过算式(5)得到表示某一样本xi的码的码长C。其中,a是0或者1或者2。记号|·|表示绝对值。算式(5)的第1项和第2项的合计表示商qi的阿尔法码的码长,第3项表示用于表示余数的二进制码的码长。
[数3]
从而,通过算式(6)提供变换为0以上的整数的输入信号的码长、即变换为0以上的整数的各个样本的Golomb-Rice码的码长的合计C(s,xi,N)。另外,算式(6)中出现的D通过算式(7)提供。
[数4]
D = &Sigma; i = 1 N | x i | - - - ( 7 )
将算式(8)关于s进行求解从而可得到使C(s,xi,N)最小的s(以下,设为s0)。即,通过算式(9)提供s0。记号ln表示自然对数。所期望的Rice参数s可通过或者得到。记号表示上取整函数。另外,为了避免因执行数值计算而导致的处理速度的下降,也可以预先通过D、N、a的组合求s0,并在存储单元中存储将D、N、a的组合与s相关联的表。若D、N、a已确定,则可通过参照表来决定Rice参数s,因此能够避免处理速度的下降。当表中没有D、N、a的组合时,通过数值计算求s0即可。
[数5]
&PartialD; C ( s , x i , N ) &PartialD; s = - ln 2 2 s ( 2 D - aN ) + N = 0 - - - ( 8 )
s 0 = log 2 ( ln 2 &CenterDot; ( 2 D N - a ) ) - - - ( 9 )
当D/N比a还要大时,算式(9)改写为算式(10)。
[数6]
s 0 = log 2 ( ln 2 &CenterDot; 2 D N ) - - - ( 10 )
帧的Rice码长C(s,xi,N)的最小值C(xi,N)通过算式(11)提供。
[数7]
C ( x i , N ) = N [ 1 ln 2 + 1 + log 2 ( ln 2 &CenterDot; ( 2 D N - a ) ) ] - - - ( 11 )
结果,分离参数计算单元利用算式(9)或者算式(10),从一个帧的输入信号求Rice参数或者从而求分离参数B。
若求得分离参数B,则编码装置的商余数计算单元将一个帧的输入信号的各个样本变换为0以上的整数之后求其商yi和余数zi。商yi的计算根据分离参数B而服从算式(12)或者算式(13)。在B=0时,除数20=1,因此商yi的计算实质上相当于如下的处理:若样本xi为0以上则是置换为偶数,若样本xi为负则是置换为奇数。
[数8]
B≥1时
B=0时
y i = 2 x i ( x i &GreaterEqual; 0 ) - 2 x i - 1 ( x i < 0 ) - - - ( 13 )
余数zi可通过算式(14)获得。当B=0时,无法得到余数zi
[数9]
余数zi通过B比特的二进制码表现。在通过算式(12)获得商yi时,余数zi通过B-1比特的二进制码表现,但附加用于识别样本xi的正负的1比特从而设为B比特的二进制码。例如,将该识别用的1比特设为表示余数zi的二进制码的MSB(Most Significant Bit;最高有效位),在样本xi为0以上时设为1,在样本xi小于0时设为0。
编码装置的商编码单元使用至少一个码表对商yi进行编码。码表是分别记录了(1)整数和与其对应的码的组合、以及(2)所述组合中规定的整数以外的多个整数的组和对应于该组的至少一个码(以下,称为扩展码)的组合的数据库。另外,这里整数具有0以上的值。以下,将上述组合中规定的整数称为规定整数,将规定整数以外的整数称为规定外整数,将对应于扩展码的编码方法称为扩展编码方法。
商编码单元利用码表,当商yi相当于规定整数中的一个时,输出与其对应的码,当商yi相当于规定外整数时,输出连结了扩展码和通过对应于扩展码的预先决定的编码方法所得到的规定外整数p的码之后的码。
在上述的各个表1-6所示的码表的例子中,规定整数以及对应于规定整数的码只不过是例示。这些优选通过利用事先准备的输入信号(学习用输入信号)进行学习而设定。例如,利用从学习用输入信号得到的Rice参数s,求变换为0以上的整数的学习用输入信号的各个样本的商,并生成这些商的哈弗曼码。这些商中出现频度(出现概率)高的商和其哈弗曼码作为规定整数和其码而被采用。扩展码只要是不同于规定整数的码的二进制码即可,任意设定。对应于扩展码的编码方法也任意设定。
此外,学习中使用的Rice参数s不限于从学习用输入信号得到的Rice参数s,也可以使用任意决定的两种以上的参数s(优选设为与从学习用输入信号得到的Rice参数s接近的值),按照每个参数s,生成变换为0以上的整数的学习用输入信号的各个样本的商和这些商的码(例如哈弗曼码),从而根据一种学习用输入信号生成多个码表。
从学习用输入信号得到的Rice参数s和学习用输入信号的各个样本的商的出现频度(出现概率)依赖于学习用输入信号的统计性质,因此也可以准备多个学习用输入信号,并根据各个学习用输入信号生成多个码表。
当编码对象的输入信号的统计性质已知时,使用与该统计性质相同或者非常相似的统计性质的学习用输入信号来生成一个码表就足够。但是,在编码对象的输入信号的统计性质未知或者预想会有变动等情况下,期望根据多个学习用输入信号生成多个码表。
根据输入信号的统计性质,有时可以看出在以s比特进行了二进制编码后的余数z的MSB和商y的LSB之间具有较强的相关关系。这时,将余数z的MSB包含到商y中进行编码较好。因此,在从学习用输入信号求得的Rice参数为s(s≥1)时,将s-1视为Rice参数,从而求变换为0以上的整数的学习用输入信号的各个样本的商y和余数z。由此,余数z的码长缩短为s-1比特。另一方面,虽然商y的码长以二进制码增加1比特,但例如通过对商y应用哈弗曼码,从而商y的码长未必会增加。此外,与Rice参数为s的情况相比,商y的值会成为两倍,因而规定整数的个数也可能成为两倍。即使在这样的情况下,也并非是对应于规定整数的码的码长成为两倍。将通过缩短余数z的码长而节约的1比特(0,1)附加到对应于规定整数的码上,从而能够应对两倍的个数的规定整数。例如在表1的例子中,通过对对应于规定整数的码附加1比特,从而如表7(参照图27)所示,能够应对0到7的8个规定整数(对应于规定整数7的码不是4比特×2=8比特,而是5比特)。进而,根据商y的出现频度(出现概率),与Rice参数为s的情况相比,并非一定会规定两倍的个数的规定整数,而是能够像表8的例子(参照图28)那样规定比两倍的个数少的个数的规定整数,这时,与表1相比,对应于规定整数的码的码长都为4比特,但余数z的码的码长短了1比特。
<编码处理>
下面,参照图17和图18叙述说明编码装置1中的编码处理的流程。
[步骤Sc1]
编码装置1的缓冲单元30对输入信号进行缓冲,从而以帧为单位输出输入忾号。
[步骤Sc2]
编码装置1的分离参数计算单元110使用一个帧的输入信号的各个样本xi(i=1,2,...,N),按照算式(9)或者算式(10)求Rice参数或者并且,分离参数计算单元110将求出的s或者s-1作为分离参数B,从而输出表示分离参数B的码。另外,在通过B=s-1获得分离参数B的情况下,在s=0时设为B=0。
这里,表示分离参数B的码,例如在B的值的可存在范围是0≤B≤7时,作为一例,可以利用3比特的码或者正整数表现来表示0到7的值,也可以根据分离参数B的值的出现频度,出现概率越高的值分配越短的唯一的码。
在后者的情况下,例如2和3的出现概率最高时,在编码装置和解码装置中公共地使用如下的哈弗曼码进行编码和解码,从而能够唯一地解决分离参数B的值。
B=0:100
B=1:101
B=2:00
B=3:01
B=4:110
B=5:1110
B=6:11110
B=7:11111
此外,也可以利用日本专利申请号2009-056017(国际申请号PCT/JP2010/053676)所公开的方法对分离参数B进行编码。
[步骤Sc3]
编码装置1的商余数计算单元120根据在步骤Sc2中决定的分离参数B,求变换为0以上的整数的1帧的输入信号的各个样本xi的商yi和余数zi
商余数计算单元120首先判定在步骤Sc2中决定的分离参数B是否等于0(步骤Sc3-1)。在B=0时,商余数计算单元120关于变换为0以上的整数的1帧的输入信号的各个样本xi,按照算式(13)求商yi(步骤Sc3-2)。这时,不会算出余数zi。在B≥1时,商余数计算单元120关于变换为0以上的整数的1帧的输入信号的各个样本xi,按照算式(12)求商yi,并按照算式(14)计算余数zi(步骤Sc3-3)。余数zi通过对MSB附加用于识别样本xi的正负的1比特从而用B比特的二进制码来表现。
[步骤Sc4]
编码装置1的商编码单元130参照存储单元70中存储的码表,对在步骤Sc3中获得的商yi进行编码,输出对应于该商yi的码。该码通过与实施方式1相同的过程求出。
商编码单元130在存在多个码表时,使用利用与提供分离参数B的Rice参数s的值相同的Rice参数所生成的码表,进行商yi的编码。在使用多个码表进行了商yi的编码时,商编码单元130输出所得到的多个码中码长最小的码。这时,商编码单元130还输出用于表示为了得到要输出的码而使用的码表的码(码表确定码)。当存储单元中存储的码表只有一个时,不需要输出码表确定码。
此外,商编码单元130除了使用了码表的上述编码之外,也可以对在步骤Sc3中获得的商yi应用不使用码表的编码而得到码。例如,作为不使用码表的编码方法,例示Golomb编码、Golomb-Rice编码、阿尔法编码等。这时,商编码单元130输出在通过使用了码表的编码所得到的码和通过不使用码表的编码所得到的码中码长最小的码。这时,商编码单元130输出用于确定编码方法的码(编码方法确定码)、以及在编码方法为使用了码表的编码方法时还输出码表确定码。
合成单元50对所输出的码和码表确定码等进行复用。即,合成单元50输出将所输出的、表示对每个帧求得的一个分离参数B的码、按一个帧的各个样本连结了商的码和表示余数的二进制码的比特串、以及根据需要,对应于一个帧的各个样本的码表确定码、将编码方法确定码等按照每个帧进行汇集进而按照帧的顺序连结了它们的比特流。比特流输入到图19所示的分离单元40。分离单元40对比特流进行解复用,从而得到表示从编码装置1输出的每个帧的分离参数B的码、帧中包含的每个样本的码、帧中包含的每个样本的码表确定码、编码方法确定码等。
<解码处理>
下面,参照图19和图20叙述说明本发明的实施方式3的解码装置2中的解码处理的流程。
[步骤Sd1]
解码装置2的商解码单元210对从分离单元40送来的帧中包含的各个样本的商的码进行解码。该解码处理是使用码表(在可通过分离单元40获得码表确定码时,是由码表确定码所确定的码表,在无法得到码表确定码时,是已知的码表),若商的码中不包含扩展码,则输出对应于该码的规定整数,若商的码中包含扩展码,则输出按照与对应于扩展码的预先决定的编码方法对应的解码方法,对从该码中去除扩展码后的部分进行解码而得到的整数的处理。所输出的整数相当于商yi
例如码表是由表1所示的表时,若商yi的码是110,则由于该商yi的码中不包含扩展码1111,因此输出对应于码110的规定整数2作为商yi。此外,若商yi的码是1111110,则由于该商yi的码中包含扩展码1111,因此按照对应于扩展码1111的阿尔法编码code(U,p-4)的解码方法,对从该码1111110去除扩展码1111后的部分110进行解码而得到整数2,并将对该整数2加上4后的6作为商yi来输出。与Golomb编码、Golomb-Rice编码、阿尔法编码等对应的各个解码处理例如在上述非专利文献3中详细记载,因此省略详细的说明。
在可通过分离单元40获得编码方法确定码时,商解码单元210以对应于由编码方法确定码所确定的编码方法的解码方法对商的码进行解码。当由编码方法确定码所确定的编码方法为使用码表的编码方法时,商解码单元210进行上述那样的解码处理,当由编码方法确定码所确定的编码方法为不使用码表的编码方法时,商解码单元210以对应于由编码方法确定码所确定的例如Golomb编码、Golomb-Rice编码、阿尔法编码等编码方法的解码方法对商的码进行解码。
[步骤Sd2]
解码装置2的判定单元220根据从分离单元40送来的表示分离参数B的码,判定分离参数B是等于0还是1以上。当B=0时,判定单元220进行将从分离单元40送来的帧中包含的各个样本的商的码发送到第1解码单元230的控制。当B≥1时,判定单元220进行将从分离单元40送来的帧中包含的各个样本的商的码发送到第2解码单元240的控制。
[步骤Sd3]
解码装置2的第1解码单元230,(1)在步骤Sd1中得到的整数yi的二进制码的LSB为0时,得到将该整数yi的1/2倍的整数,(2)在步骤Sd1中得到的整数yi的二进制码的LSB为1时,得到从对该整数yi将表示正负的码反转为负之后的负整数减去1的整数的1/2倍的整数。该得到的整数是B=0的情况下的、所解码的样本xi的值。图中的记号>>表示右移位运算。
[步骤Sd4]
解码装置2的第2解码单元240,(1)若从分离单元40送来的帧中包含的表示与商yi对应的余数zi的二进制码的MSB为1,则得到对利用从分离单元40送来的分离参数B将在步骤Sd1中得到的整数yi进行2B-1倍后的值的二进制码,相加了表示余数zi的二进制码的下位B-1比特的整数,(2)若从分离单元40送来的帧中包含的表示与商yi对应的余数zi的二进制码的MSB为0,则对利用从分离单元40送来的分离参数B将在步骤Sd1中得到的整数yi进行2B-1倍后的值的二进制码,相加表示余数zi的二进制码的下位B-1比特(或者表示余数zi的B比特的二进制码),并且从关于由此得到的整数将表示正负的码反转为负之后的负整数减去1而得到整数。该得到的整数是所解码的样本xi的值。图中的记号<<表示左移位运算,记号&表示比特单位的“与”运算,记号|表示比特单位的“或”运算。
在到此的说明中,说明了输入信号的各个样本由正整数或者负整数表示的情况。例如,根据对语音信号应用的编码方式,输入信号的各个样本由具有正号的整数表示的情况下,不需要识别各个样本的正负的符号。这时,利用算式(10)求分离参数B,通过算式(15)或算式(16)求商yi,通过算式(17)求余数zi即可。
[数10]
B≥1时
B=0时
yi=xi    (16)
<本发明的实施方式4的编码的概要>
在实施方式4中,使用图9表示将本发明的编码应用于在G.711中预先编码的音频信号的无损编码的情况下的另一例。
输入是G.711编码后的音频信号,并且是每个样本由8比特的码构成的码串,以下,称为G.711码串。输入的G.711码串通过编码装置800E,以所指定的每个帧处理单位进行编码处理。
假设帧处理单位是40个样本、80个样本、160个样本、240个样本、320个样本的5种处理单位中的一个,在编码时从外部指定。
输入的G.711码串通过缓冲单元802E,被分割为所指定的每个帧处理单位(例如40个样本),并转移到变换单元804E。此外,缓冲单元802E中输出用于识别所指定的帧处理单位的码,作为帧处理单位指定码。
在变换单元804E中,将每个帧处理单位的G.711码串中的各个码变换为对应的PCM值,并输出每个帧处理单位的PCM值串。
在预测分析单元806E中,对变换单元804E输出的PCM值串进行预测分析并决定预测系数。(这时,在预测分析单元806E中能够利用线性预测分析等,但未必限于线性预测分析,只要利用某种预测获得对于PCM值串的预测系数即可。)
在预测系数量化单元808E中,对由预测分析单元806E所决定的预测系数进行量化,从而得到量化预测系数,并且输出对应于量化预测系数的量化预测系数码。
在预测单元810E中,利用量化预测系数和过去的PCM值串,估计每个帧处理单位的当前的样本的PCM值的串。
在反变换/变形单元812E中,对通过预测单元810E估计的PCM值的串的各个PCM值进行G.711编码,变换为保留了表示码的值的大小关系的形式的、例如-128到+127的2的补码表现的8比特的值(估计样本值)。这里,也可以进行例如日本专利申请号2007-319805(国际申请号PCT/JP2008/072513)所记载的变形。
例如,进行如下的变形。确认是否存在包含于特定的范围内并且在G.711码串Λ={λ(1),λ(2),...,λ(N)}内没有产生的号。N是一个帧的样本数目。特定的范围例如是表示正的绝对值最小的值的号和表示负的绝对值最小的号。具体地说,在ITU-T G.711的μ标准的情况下为“+0”和“-0”,A标准的情况下为“+8”和“-8”。在知道存在没有产生的号的情况下,排除该没有产生的号所表示原信号的大小,输出将G.711码串的各个号置换为重新附加了表示原信号的大小的号之后的号的串T(Λ)={T(λ(1)),T(λ(2)),...,T(λ(N))}。例如,考虑ITU-T G.711的μ标准的情况。μ标准时,通过8比特表示“-127”到“+127”的号,但表示“0”的号有“+0”和“-0”的两个。并且,在原信号和线性关系的值之间的关系中,“-127”表示「-8031」,“+127”表示「+8031」,“+0”和“-0”表示「0」。这里,“”表示用于表示原信号的大小(大小关系)的号,「」表示与原信号为线性关系的信号的振幅。这样,由于“+0”和“-0”是重复的号,因此根据编码装置,也有仅输出其中一个的装置。因此,例如将特定的范围设为“+0”和“-0”。并且,若“-0”不产生,则负的号各错开一个,“-0”用作表示「-1」的号,“-126”用作表示「-8031」的号。若“+0”不产生,则正的号各错开一个,“+0”设为表示「+1」的号即可。此外,若“+0”和“-0”都不存在,则负的号和正的号都各自错开一个,“-0”设为表示「-1」的号,“+0”设为表示「+1」的号即可。
在变换单元814E中,将每个帧处理单位的G.711码串中的各个码变换为保留了表示码的值的大小关系的形式的、例如-128到+127的2的补码表现的8比特的值(变形输入样本值)。这里,也同样可以进行例如日本专利号2007-319805(国际申请号PCT/JP2008/072513)所记载的变形,其一例如上所述。
在误差计算单元816E中,求通过反变换/变形单元812E得到的8比特表现的估计样本值与通过变换单元814E得到的8比特表现的变形输入样本值的差分,从而计算变形输入样本值与估计样本值的误差。该误差的序列为本发明的编码方法中所输入的整数值序列xi
分离参数计算单元818E从误差计算单元816E获取相应于帧处理单位的样本数目的误差的序列作为输入,并按照帧处理单位来决定分离参数B。
此外,分离参数计算单元818E将对应于分离参数B的码作为分离参数码输出。如在实施方式3中说明的那样,例如预先决定根据分离参数B的出现频度而进行了可变长度编码的哈弗曼表,并利用该哈弗曼表得到分离参数B的码。
商余数计算单元820E利用由分离参数计算单元818E决定的分离参数B,将误差序列x分离为商序列y和余数序列z。此外,商余数计算单元820E输出将余数序列中包含的各个余数以B比特进行编码而得到的余数码串。
关于误差序列x中包含的样本xi(i=1,2,...,N;N是一帧中包含的样本数目),与实施方式3的情况同样地,通过算式(12)、算式(13)求变换为0以上的整数的该样本xi的使用了分离参数B的商yi以及余数zi。在通过算式(12)求商yi时,将表示余数的码设为,对表示余数的B-1比特的二进制码附加了用于识别样本xi的正负的1比特的码的具有B比特的固定长度的码。在通过算式(13)求商yi时,通过表示商yi的码的LSB(最低有效位)来识别样本yi的正负。这里,使用了分离参数B的商yi以及余数zi的分离方法,只要能够实现唯一的分离、合成,则可以使用其他的分离方法。
在本实施方式4中,根据帧处理单位对码表的个数进行如下的切换:在帧处理单位为40个样本时为1种,在帧处理单位为80个样本以上时从4种选择一种来使用。
这是因为在作为帧处理样本而指定了比较小的40个样本时,即使为了从误差序列的分散不同的4种码表中选择一个而对编码表指定码分配信息量,也由于成为编码对象的误差序列的样本数目少(40个样本),因而对应于误差序列的码串的码量不会减少到可弥补相应于增加的码表指定码的信息量的程度,因而作为结果,不具有使用多个码表的优点。
相对于此,当帧处理单位为80个样本以上时,通过利用码表指定码从4种码表中选择最适合误差序列的统计性质的码表,从而即使考虑了用于码表指定码的码量,也能够减少对应于误差序列的码串的码量,因此作为结果,能够进一步减少总码量。
图10表示通过商余数计算单元820E的计算所得到的商序列中包含的值的分布例。
振幅小的值的出现频度虽然比较高,但也有与由虚线表示的拉普拉斯分布不同的情况,因此从多个码表中选择并使用表示最接近该帧内的商序列中包含的值的出现频度分布的频度分布的码表。此外,若振幅大的值的出现频度与拉普拉斯分布相比较大,则有时通过阿尔法码时需要非常长的码。
图11表示在实施方式4中帧处理单位为40个样本时使用的码表的例子、以及帧处理单位为80以上时的码表的例子。根据帧大小以及分割参数B,切换码表以及对应于扩展码的编码方式。
在码表选择单元822E中,以商序列为输入,选择存储单元824E中存储的码表8241使得输出的码量最小,并输出与所选择的码表对应的码表指定码。当帧处理单位为80个样本以上时,从表0到表3所示的4种码表(参照图11)中,选择会让该帧的商码串的总码量最少的码表并输出对应的码表指定码。当帧处理单位为40个样本时,码表仅限于1种,因此不输出码表指定码。
商编码单元826E利用通过码表选择单元822E选择的码表以及、根据帧处理单位和分离参数B唯一地决定的对应于扩展码的编码方式,对商序列进行编码,并输出商码串。
这时,根据分离参数B的值,当B=0时,如图11的上段的表0到表3所示,与帧处理单位无关地,作为对应于扩展码的编码方式而利用阿尔法码code(U,p1-maxCode)。图12表示帧处理单位为40个样本且B=0时所输出的商码串中包含的商码的例子。
当B>0时,如图11的下段的表0到表3所示,与帧处理单位无关地,作为对应于扩展码的编码方式而利用Rice参数s=1的Golomb-Rice码code(R,1,p2-maxCode)。图13表示帧处理单位为40个样本且B>0时所输出的商码串中包含的商码的例子。
根据分离参数B的计算式,当误差序列的振幅小时分离参数B=0,当误差序列的振幅大时分离参数B>0。
通过实验可观测到,当误差序列的振幅小时、即分离参数B=0时,接近于拉普拉斯分布,当误差序列的振幅大时、即分离参数B>0时,未必按照拉普拉斯分布。
根据观测可知,当分离参数B>0这样的情况下,与拉普拉斯分布相比振幅相对大的商的值的出现概率高。
在本实施方式4中考虑到这一点,当分离参数B>0时,根据分离参数B将误差码分离为商和余数,并对其商中、值为预先对每个码表决定的值maxCode以上的商码,利用Rice参数s=1的Golomb-Rice编码进行编码。
另一方面,当分离参数B=0时,利用阿尔法码code(U,p-maxCode)对商进行编码。这里,根据分离参数B将误差码分离为商和余数的处理,在B=0时由于不存在余数,因此仅输出商序列。
这样,由于在分离参数B的值和商序列的各个值的出现概率之间存在相关关系,因此根据分离参数B的值来切换码表以及对应于扩展码的编码方式中的一方或者双方,从而能够提高编码效率。
同样地,根据帧处理单位来切换码表以及对应于扩展码的编码方式。
在合成单元830E中,按每个帧汇集通过上述各个处理单元输出的帧处理单位指定码、量化预测系数码、分离参数码、码表指定码、商码串、余数码串从而作为码序列输出。
<本发明的实施方式4的解码的概要>
使用图14说明本发明的实施方式4的解码处理。
解码装置850D的输入时通过所述实施方式4的编码而生成的码序列。
在分离单元860D中接受码序列作为输入,并分离为帧处理单位指定码、量化预测系数码、分离参数码、码表指定码、商码串、余数码串后送到各个处理单元。
在商解码单元870D中,通过码表指定码以及帧处理单位指定码来选择在该帧的商码串的解码中使用的码表8721(在存储单元872D中存储)。此外,商解码单元870D利用所述选择的码表,输出与输入的商码串的各个商码对应的整数值的序列作为商序列。
商序列被送到商余数合成单元874D。
在商余数合成单元874D中,对分离参数码进行解码而得到分离参数B,从而利用对余数码串进行解码而得到的各个余数zi和商序列中包含的商yi,通过以下算式的计算而获得误差序列中包含的各个样本xi。这里,y%2表示用2除y后的余数。所得到的误差序列被送到误差加法单元876D。
[数11]
B=0时
x i = { y i / 2 - y i / 2 ( y % 2 = 0 ) ( y % 2 > 0 )
B>=1时
x i = { y i &times; 2 B - 1 + z i - y i &times; 2 B - 1 - ( z i - 2 B - 1 ) ( z < 2 B - 1 ) ( z &GreaterEqual; 2 B - 1 )
在量化预测系数解码单元878D中,对从分离单元860D接受的量化预测系数码进行解码,从而得到量化预测系数。
在预测单元880D中,保持将通过变换单元884D解码的对应于过去的G.711码串的8比特的整数值变换为对应的PCM值后的序列,并利用该过去的PCM值串和量化预测系数,估计每个帧处理单位的该PCM值的串。
在反变换/变形单元882D中,将通过预测单元880D估计的PCM值的串的各个PCM值进行G.711编码,变换为保留了表示码的值的大小关系的形式的、例如-128到+127的2的补码表现的8比特的值(估计样本值)。这里,在编码处理时进行了日本专利申请号2007-319805(国际申请号PCT/JP2008/072513)所记载的变形时,解码处理时也进行对应的处理。
在误差加法单元876D中,对从反变换/变形单元882D得到的估计样本值和误差序列中的该误差值进行加法运算,从而得到相当于编码处理时的“变形输入样本值”的、对应于原来的G.711码并且保留了表示码的值的大小关系的形式的、例如-128到+127的2的补码表现的8比特的值(解码变形输入样本值)。
在误差加法单元876D中,进一步对该帧处理单位内的所有样本进行同样的处理,得到解码变形输入样本值序列。
在反变形单元886D中,根据所述解码的解码变形输入样本值序列,还原原来的G.711码串。
<商解码单元中的解码处理的细节>
在商解码单元870D中,在从商码串得到商序列时,也可以利用解码表。在本实施方式中,说明对于商码串的解码利用解码表的情况下的优选实施方式。
例如,图15表示帧处理单位为80个样本以上时对应于码表0的解码表的例子。图16表示解码处理步骤的例子。
首先,将商码串中未处理的商码的开头比特设为处理开始点(步骤S850)。判定是否存在未处理的商码(步骤S852)。若不存在则结束处理。若存在,则基于码表指定码,选择在该帧处理单位内(帧内)的商码的解码中使用的解码表value[],Len[](步骤S854)。并且,判定帧内的商码串的解码是否已完成(步骤S856)。在已完成时,进行步骤S852的处理。若尚未完成,则将商码串中未处理的商码的开头比特设为处理开始点(步骤S858)。从商码串中读取相当于一个商码所容许的最长码长的比特数(实施例中为6比特)并作为0以上的整数值设定为变量v(步骤S860)。以变量v的值参照解码表value[],并将商的值设为q=value[v](步骤S862)。以商q的值参照解码表Len[],得到该码的比特长度I=Len[q](步骤S864)。将商码串的处理点前进相当于该码长的I比特,移动到未处理的商码的开头(步骤S866)。确认是否为对应于规定整数的商码(q-codeMax<0)(步骤S868)。若是规定整数,则输出q作为商的值(步骤S870)。若不是规定整数,则根据扩展码判断对应于扩展码的编码方式,并输出以所判别的编码方式对紧接着扩展码的码进行解码所得到的整数值作为商的值(步骤S872)。将读取位置移动包含与该码对应的码在内而读取的比特数,并将未处理的商码的开头比特设为处理开始点(步骤S874)。在步骤S870以及S874之后,进行步骤S856的处理。
即,在商解码单元870D中,从码序列读取码表指定码,并选择对应于码表指定码的解码表。
该解码表中注册了对应于码表的值。
商码作为从开头起连续的比特串输入,是可变比特长度的码。
商解码单元从开头起读取相当于最大码长的比特数作为整数值。
在该例子中,在码表中注册的码中最长的码长为6比特,因此读取6比特,从而将其视作0以上的整数而设定为变量v。
这里,若不存在应读取的码,则在达到最长码长之前对LSB侧赋予值0的比特,从而成为最长码长之后参照序列(sequence)即可。
接着,利用对应于由码表指定码选择的码表的解码表即value[]表,对与该6比特的商码对应的值q进行解码。
即,若对序列的下标(subscript)使用所述设定的v从而设为q=value[v],则求解码后的值q。
接着,求实际的该码的码长I。通过设为I=len[v]或者I=Len[q],从而能够容易求出I。
将商码的处理位置移动相当于所得到的I比特的量,从而能够移动到未处理的商码的开头位置。
这样,尽管是可变码长的码的解码,也无条件地读取最长码长的比特,并且只是基于该值而参照序列,从而不用进行复杂的解码处理就能够快速地得到解码结果。
同样地,该码长也只要参照序列就能够得到。
此外,在设计码表时,通过将最长码长的大小设为一定,从而能够限制解码表的数据保持所需的存储器大小。
在本实施例中,在设计图15的码表时,通过进行制约使得各个码表中注册的码中最长的码长收敛于6比特,从而限制解码表的大小。
接着,通过判定所得到的解码值q是否大于codeMax,从而确认该商码是否为对应于规定整数的码。若(q-codeMax)<0,则该商码是对应于规定整数的码,若(q-codeMax)>=0,则该码是扩展码。
该商码是对应于规定整数的码时,输出所得到的q作为商的值,并将处理开始点移动相应于该码长的量。如前所述,该码长I可以作为I=Len[q]而求出。
该商码是对应于扩展码的码时,确定对应于所得到的q的扩展码。(图的例子的情况下为q=7时的扩展码p1)
此外,同样地将读取位置移动相应于扩展码的码长I,从而将处理开始点移动到未处理的商码的开头。如前所述,该码长I可以作为I=Len[q]而求出。
接着,利用对应于扩展码的解码方式,对紧接着扩展码的码进行解码从而得到商q。
将对应于该扩展码的编码码也包含在内,将读取位置移动所读取的比特数,并将未处理的商码的开头比特设为处理开始点。
对商码串进行了相当于该帧的样本数目的次数的上述处理的时刻,结束该帧的处理。
以上的各实施方式之外,本发明的编码装置和方法、解码装置和方法不限于上述的实施方式,能够在不脱离本发明的宗旨的范围内进行适当变更。此外,在相互不会矛盾的范围内能够对上述的说明中呈现的技术特征进行自由组合而实施。
此外,在通过计算机来实现上述编码装置、解码装置中的处理功能的情况下,通过程序来记述编码装置、解码装置应具有的功能的处理内容。并且,通过由计算机来执行该程序,从而在计算机上实现上述编码装置、解码装置中的处理功能。
记述了该处理内容的程序可以预先记录到计算机可读取的记录介质中。作为计算机可读取的记录介质,例如可以是磁记录装置、光盘、光磁记录介质、半导体存储器等。具体地说,例如作为磁记录装置,能够利用硬盘装置、软盘、磁带等,作为光盘,能够利用DVD(数字化视频光盘)、DVD-RAM(随机存储存储器)、CD-ROM(光盘只读存储器)、CD-R(可记录)/RW(改写)等,作为光磁记录介质,能够利用MO(磁光盘)等,作为半导体存储器,能够利用EEP-ROM(电可擦除只读存储器)等。
此外,该程序的流通例如通过对记录了该程序的DVD、CD-ROM等可移动型记录介质进行销售、转让、出借等而进行。进而,也可以设为通过将该程序存储到服务器计算机的存储装置中,并经由网络从服务器计算机将该程序转发给其他计算机,从而使该程序流通的结构。
执行这样的程序的计算机,例如首先将可移动型记录介质中记录的程序或者从服务器计算机转发的程序暂时存储到自身的存储装置中。然后,该计算机在执行处理时读取在自身的记录介质中存储的程序,并按照所读取的程序来执行处理。此外,作为该程序的其他实施方式,可以是计算机从可移动型记录介质直接读取程序并按照该程序执行处理,进而,也可以是每当从服务器计算机对该计算机转发程序时,依次按照所获取的程序而执行处理。此外,也可以设为以下结构,即不从服务器计算机对该计算机转发程序,而是通过仅凭其执行指示和结果取得来实现处理功能的、所谓的ASP(应用服务供应商)型的服务来实现上述的处理。另外,假设在本方式中的程序中,包含供电子计算机的处理所使用的信息且符合程序的内容(虽然不是对计算机的直接指令,但具有用于规定计算机的处理的性质的数据等)。
此外,在该方式中,设为通过在计算机上执行规定的程序而构成编码装置、解码装置,但也可以设为将这些处理内容的至少一部分通过硬件方式来实现。

Claims (32)

1.一种整数值序列的编码方法,其中,
预先决定[1]对应于规定整数的码、以及[2]对应于规定整数以外的多个整数的组的扩展码,
输入信号的各个样本通过整数来表示,
该编码方法包括:
分离参数计算步骤,对按照规定的样本数目而汇集了上述输入信号中的各个样本的每个帧,求用于决定对于上述输入信号的各个样本的除数的值即分离参数;
商余数计算步骤,关于上述输入信号的帧的各个样本,在通过上述分离参数所决定的除数大于1时求商和余数,在所述除数为1时求商;以及
编码步骤,进行如下的编码,即当作为上述商的序列的上述整数值序列中成为编码对象的整数值是规定整数的情况下,将对应于该规定整数的码作为编码结果,当上述整数值序列中成为编码对象的整数值不是规定整数的情况下,将连结了上述扩展码、和对成为上述编码对象的整数值应用对应于上述扩展码的预先决定的编码方法即扩展编码方法而得到的码后的码作为编码结果。
2.如权利要求1所述的编码方法,其中,
预先决定多个码表,该码表中记录了[1]对应于规定整数的码、以及[2]对应于规定整数以外的多个整数的组的扩展码,
在上述编码步骤中,对汇集了规定个数的整数值的每个帧,选择性地使用上述多个码表中的一个。
3.如权利要求1或权利要求2所述的编码方法,其中,
预先决定汇集了多个码表的组即表组,该码表中记录了[1]对应于规定整数的码、以及[2]对应于规定整数以外的多个整数的组的扩展码,
各个上述码表的上述扩展编码方法分别与上述分离参数相关联,
在上述编码步骤中,使用上述表组中的一个码表,在上述商不是规定整数时,进行将连结了上述扩展码、和对上述商应用与上述分离参数相应的上述扩展编码方法而得到的码后的码作为编码结果的编码。
4.如权利要求2所述的编码方法,其中,
在上述编码步骤中,
还通过不使用上述码表的编码方法来进行上述商的编码,
在通过不使用上述码表的编码而得到的上述商的码和通过使用了上述码表的编码而得到的上述商的码中,输出具有更少的码量的码。
5.如权利要求3所述的编码方法,其中,
在上述编码步骤中,
还通过不使用上述码表的编码方法来进行上述商的编码,
在通过不使用上述码表的编码而得到的上述商的码和通过使用了上述码表的编码而得到的上述商的码中,输出具有更少的码量的码。
6.如权利要求1或权利要求2所述的编码方法,其中,
上述输入信号的各个样本通过具有正号或者负号的整数来表示,
在上述商余数计算步骤中,
关于变换为0以上的整数的上述输入信号的帧的各个样本,在通过上述分离参数所决定的除数大于1时求商和余数,在所述除数为1时求商。
7.如权利要求3所述的编码方法,其中,
上述输入信号的各个样本通过具有正号或者负号的整数来表示,
在上述商余数计算步骤中,
关于变换为0以上的整数的上述输入信号的帧的各个样本,在通过上述分离参数所决定的除数大于1时求商和余数,在所述除数为1时求商。
8.如权利要求4所述的编码方法,其中,
上述输入信号的各个样本通过具有正号或者负号的整数来表示,
在上述商余数计算步骤中,
关于变换为0以上的整数的上述输入信号的帧的各个样本,在通过上述分离参数所决定的除数大于1时求商和余数,在所述除数为1时求商。
9.如权利要求5所述的编码方法,其中,
上述输入信号的各个样本通过具有正号或者负号的整数来表示,
在上述商余数计算步骤中,
关于变换为0以上的整数的上述输入信号的帧的各个样本,在通过上述分离参数所决定的除数大于1时求商和余数,在所述除数为1时求商。
10.如权利要求1所述的编码方法,其中,
对应于上述扩展码的上述扩展编码方法的数目为2以上,
多个上述扩展编码方法分别与上述分离参数相关联,
在上述编码步骤中,在上述商不是规定整数时,进行将连结了上述扩展码、和对上述商应用与上述分离参数相应的上述扩展编码方法而得到的码后的码作为编码结果的编码。
11.如权利要求10所述的编码方法,其中,
上述输入信号的各个样本通过具有正号或者负号的整数来表示,
在上述商余数计算步骤中,
关于变换为0以上的整数的上述输入信号的帧的各个样本,在通过上述分离参数所决定的除数大于1时求商和余数,在所述除数为1时求商。
12.一种整数值序列的编码方法,其中
预先决定多个码表,该码表中记录了[1]对应于规定整数的码、以及[2]对应于规定整数以外的多个整数的组的扩展码,
输入信号的各个样本通过整数来表示,
该编码方法包括:
分离参数计算步骤,对按照规定的样本数目而汇集了上述输入信号中的各个样本的每个帧,求用于决定对于上述输入信号的各个样本的除数的值即分离参数;
商余数计算步骤,关于上述输入信号的帧的各个样本,在通过上述分离参数所决定的除数大于1时求商和余数,在所述除数为1时求商;以及
编码步骤,进行如下的编码,即当作为上述商的序列的上述整数值序列中成为编码对象的整数值是规定整数的情况下,将对应于该规定整数的码作为编码结果,当上述整数值序列中成为编码对象的整数值不是规定整数的情况下,将连结了上述扩展码、和对成为上述编码对象的整数值应用对应于上述扩展码的预先决定的编码方法即扩展编码方法而得到的码后的码作为编码结果,
在上述编码步骤中,对汇集了规定个数的整数值的每个帧,选择性地使用上述多个码表中的一个。
13.一种整数值序列的编码装置,其中,
预先决定[1]对应于规定整数的码、以及[2]对应于规定整数以外的多个整数的组的扩展码,
输入信号的各个样本通过整数来表示,
该编码装置包括:
分离参数计算单元,对按照规定的样本数目而汇集了上述输入信号中的各个样本的每个帧,求用于决定对于上述输入信号的各个样本的除数的值即分离参数;
商余数计算单元,关于上述输入信号的帧的各个样本,在通过上述分离参数所决定的除数大于1时求商和余数,在所述除数为1时求商;以及
编码单元,进行如下的编码,即当作为上述商的序列的上述整数值序列中成为编码对象的整数值是规定整数的情况下,将对应于该规定整数的码作为编码结果,当上述整数值序列中成为编码对象的整数值不是规定整数的情况下,将连结了上述扩展码、和对成为上述编码对象的整数值应用对应于上述扩展码的预先决定的编码方法即扩展编码方法而得到的码后的码作为编码结果。
14.如权利要求13所述的编码装置,其中,
预先决定多个码表,该码表中记录了[1]对应于规定整数的码、以及[2]对应于规定整数以外的多个整数的组的扩展码,
上述编码单元对汇集了规定个数的整数值的每个帧,选择性地使用上述多个码表中的一个。
15.如权利要求13或权利要求14所述的编码装置,其中,
预先决定汇集了多个码表的组即表组,该码表中记录了[1]对应于规定整数的码、以及[2]对应于规定整数以外的多个整数的组的扩展码,
各个上述码表的上述扩展编码方法分别与上述分离参数相关联,
上述编码单元使用上述表组中的一个码表,在上述商不是规定整数时,进行将连结了上述扩展码、和对上述商应用与上述分离参数相应的上述扩展编码方法而得到的码后的码作为编码结果的编码。
16.如权利要求13或权利要求14所述的编码装置,其中,
上述输入信号的各个样本通过具有正号或者负号的整数来表示,
上述商余数计算单元,
关于变换为0以上的整数的上述输入信号的帧的各个样本,在通过上述分离参数所决定的除数大于1时求商和余数,在所述除数为1时求商。
17.如权利要求15所述的编码装置,其中,
上述输入信号的各个样本通过具有正号或者负号的整数来表示,
上述商余数计算单元,
关于变换为0以上的整数的上述输入信号的帧的各个样本,在通过上述分离参数所决定的除数大于1时求商和余数,在所述除数为1时求商。
18.如权利要求13所述的编码装置,其中,
对应于上述扩展码的上述扩展编码方法的数目为2以上,
多个上述扩展编码方法分别与上述分离参数相关联,
上述编码单元在上述商不是规定整数时,进行将连结了上述扩展码、和对上述商应用与上述分离参数相应的上述扩展编码方法而得到的码后的码作为编码结果的编码。
19.如权利要求18所述的编码装置,其中,
上述输入信号的各个样本通过具有正号或者负号的整数来表示,
上述商余数计算单元,
关于变换为0以上的整数的上述输入信号的帧的各个样本,在通过上述分离参数所决定的除数大于1时求商和余数,在所述除数为1时求商。
20.一种整数值序列的编码装置,其中,
预先决定多个码表,该码表中记录了[1]对应于规定整数的码、以及[2]对应于规定整数以外的多个整数的组的扩展码,
输入信号的各个样本通过整数来表示,
该编码装置包括:
分离参数计算单元,对按照规定的样本数目而汇集了上述输入信号中的各个样本的每个帧,求用于决定对于上述输入信号的各个样本的除数的值即分离参数;
商余数计算单元,关于上述输入信号的帧的各个样本,在通过上述分离参数所决定的除数大于1时求商和余数,在所述除数为1时求商;以及
编码单元,进行如下的编码,即当上述整数值序列中成为编码对象的整数值是规定整数的情况下,将对应于该规定整数的码作为编码结果,当上述整数值序列中成为编码对象的整数值不是规定整数的情况下,将连结了上述扩展码、和对成为上述编码对象的整数值应用对应于上述扩展码的预先决定的编码方法即扩展编码方法而得到的码后的码作为编码结果,
上述编码单元对汇集了规定个数的整数值的每个帧,选择性地使用上述多个码表中的一个。
21.一种码序列的解码方法,其中,
预先决定[1]对应于规定整数的码、以及[2]对应于规定整数以外的多个整数的组的扩展码,
该解码方法包括:
解码步骤,进行如下的解码,即当上述码序列中的码是对应于规定整数的码的情况下,将对应于该码的规定整数作为解码结果,当上述码序列中的码是不对应规定整数的码的情况下,将对紧接在上述扩展码后的码应用与对应于上述扩展码的预先决定的编码方法即扩展编码方法的解码方法而得到的整数值作为解码结果;以及
合成步骤,根据在从多个样本得到上述码序列时用于决定对于各个样本的除数而使用的值即分离参数,在通过该分离参数所决定的除数为1时,使用在上述解码步骤中得到的上述解码结果对上述样本进行解码,在通过该分离参数所决定的除数大于1时,使用在上述解码步骤中得到的上述解码结果和不同于上述码序列的码序列对上述样本进行解码。
22.如权利要求21所述的解码方法,其中,
预先决定多个码表,该码表中记录了[1]对应于规定整数的码、以及[2]对应于规定整数以外的多个整数的组的扩展码,
在上述解码步骤中,对汇集了上述码序列的每个帧,选择性地使用上述多个码表中的一个。
23.如权利要求21所述的解码方法,其中,
预先决定汇集了多个码表的组即表组,该码表中记录了[1]对应于规定整数的码、以及[2]对应于规定整数以外的多个整数的组的扩展码,
各个上述码表的上述扩展编码方法分别与上述分离参数相关联,
在上述解码步骤中,使用上述表组中的一个码表,当上述码序列中的码是不对应规定整数的码的情况下,进行将对紧接在上述扩展码后的码应用与对应于上述分离参数的扩展编码方法对应的解码方法而得到的整数值作为解码结果的解码。
24.如权利要求22所述的解码方法,其中,
预先决定汇集了多个码表的组即表组,该码表中记录了[1]对应于规定整数的码、以及[2]对应于规定整数以外的多个整数的组的扩展码,
各个上述码表的上述扩展编码方法分别与上述分离参数相关联,
在上述解码步骤中,使用上述表组中的一个码表,当上述码序列中的码是不对应规定整数的码的情况下,进行将对紧接在上述扩展码后的码应用与对应于上述分离参数的扩展编码方法对应的解码方法而得到的整数值作为解码结果的解码。
25.如权利要求21所述的解码方法,其中,
对应于上述扩展码的上述扩展编码方法的数目为2以上,
多个上述扩展编码方法分别与上述分离参数相关联,
在上述解码步骤中,当上述码序列中的码是不对应规定整数的码的情况下,进行将对紧接在上述扩展码后的码应用与对应于上述分离参数的扩展编码方法对应的解码方法而得到的整数值作为解码结果的解码。
26.如权利要求25所述的解码方法,其中,
各个上述样本通过具有正号或者负号的整数来表示,
在上述解码步骤中得到的解码结果是,用上述除数除变换为0以上的整数的上述样本而得到的商。
27.一种码序列的解码装置,其中,
预先决定[1]对应于规定整数的码、以及[2]对应于规定整数以外的多个整数的组的扩展码,
该解码装置包括:
解码单元,当上述码序列中的码是对应于规定整数的码的情况下,将对应于该码的规定整数作为解码结果,当上述码序列中的码是不对应规定整数的码的情况下,将对紧接在上述扩展码后的码应用与对应于上述扩展码的预先决定的编码方法即扩展编码方法的解码方法而得到的整数值作为解码结果;以及
合成单元,根据在从多个样本得到上述码序列时用于决定对于各个样本的除数而使用的值即分离参数,在通过该分离参数所决定的除数为1时,使用通过上述解码单元所得到的上述解码结果对上述样本进行解码,在通过该分离参数所决定的除数大于1时,使用通过上述解码单元所得到的解码结果和不同于上述码序列的码序列对上述样本进行解码。
28.如权利要求27所述的解码装置,其中,
预先决定多个码表,该码表中记录了[1]对应于规定整数的码、以及[2]对应于规定整数以外的多个整数的组的扩展码,
上述解码单元对汇集了上述码序列的每个帧,选择性地使用上述多个码表中的一个。
29.如权利要求27所述的解码装置,其中,
预先决定汇集了多个码表的表组,该码表中记录了[1]对应于规定整数的码、以及[2]对应于规定整数以外的多个整数的组的扩展码,
各个上述码表的上述扩展编码方法分别与上述分离参数相关联,
上述解码单元使用上述表组中的一个码表,当上述码序列中的码是不对应规定整数的码的情况下,进行将对紧接在上述扩展码后的码应用与对应于上述分离参数的扩展编码方法对应的解码方法而得到的整数值作为解码结果的解码。
30.如权利要求28所述的解码装置,其中,
预先决定汇集了多个码表的组即表组,该码表中记录了[1]对应于规定整数的码、以及[2]对应于规定整数以外的多个整数的组的扩展码,
各个上述码表的上述扩展编码方法分别与上述分离参数相关联,
上述解码单元使用上述表组中的一个码表,当上述码序列中的码是不对应规定整数的码的情况下,进行将对紧接在上述扩展码后的码应用与对应于上述分离参数的扩展编码方法对应的解码方法而得到的整数值作为解码结果的解码。
31.如权利要求27所述的解码装置,其中,
对应于上述扩展码的上述扩展编码方法的数目为2以上,
多个上述扩展编码方法分别与上述分离参数相关联,
上述解码单元在上述码序列中的码是不对应规定整数的码的情况下,进行将对紧接在上述扩展码后的码应用与对应于上述分离参数的扩展编码方法对应的解码方法而得到的整数值作为解码结果的解码。
32.如权利要求31所述的解码装置,其中,
各个上述样本通过具有正号或者负号的整数来表示,
在上述解码单元中得到的解码结果是,用上述除数除变换为0以上的整数的上述样本而得到的商。
CN201080020616.5A 2009-05-20 2010-05-19 编码方法、编码装置、解码方法、解码装置、程序以及记录介质 Active CN102422540B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2009-122088 2009-05-20
JP2009122088 2009-05-20
PCT/JP2010/058467 WO2010134553A1 (ja) 2009-05-20 2010-05-19 符号化方法、符号化装置、復号方法、復号装置、プログラム及び記録媒体

Publications (2)

Publication Number Publication Date
CN102422540A CN102422540A (zh) 2012-04-18
CN102422540B true CN102422540B (zh) 2015-08-26

Family

ID=43126230

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201080020616.5A Active CN102422540B (zh) 2009-05-20 2010-05-19 编码方法、编码装置、解码方法、解码装置、程序以及记录介质

Country Status (4)

Country Link
US (1) US8558724B2 (zh)
JP (4) JP5006990B2 (zh)
CN (1) CN102422540B (zh)
WO (1) WO2010134553A1 (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140092987A1 (en) * 2012-09-28 2014-04-03 Apple Inc. Entropy coding techniques and protocol to support parallel processing with low latency
US8866645B2 (en) * 2012-10-02 2014-10-21 The Boeing Company Method and apparatus for compression of generalized sensor data
KR101541869B1 (ko) * 2013-12-20 2015-08-06 주식회사 핀그램 가변길이코딩을 이용한 인코딩 방법, 디코딩 방법, 및 그 시스템
ES2843300T3 (es) * 2014-05-01 2021-07-16 Nippon Telegraph & Telephone Codificación de una señal de sonido
CN104349165B (zh) * 2014-09-16 2017-06-16 上海通途半导体科技有限公司 高性能变长编解码方法及装置
CN105592313B (zh) * 2014-10-21 2018-11-13 广东中星电子有限公司 一种分组自适应熵编码压缩方法
US9252805B1 (en) * 2015-03-28 2016-02-02 International Business Machines Corporation Parallel huffman decoder
US9705526B1 (en) * 2016-03-17 2017-07-11 Intel Corporation Entropy encoding and decoding of media applications
CN109150375A (zh) * 2017-06-16 2019-01-04 华为技术有限公司 一种编码方法、无线设备和芯片
CN110771045B (zh) * 2017-06-22 2024-03-29 日本电信电话株式会社 编码装置、解码装置、编码方法、解码方法、以及记录介质
WO2019021552A1 (ja) * 2017-07-25 2019-01-31 日本電信電話株式会社 符号化装置、復号装置、符号列のデータ構造、符号化方法、復号方法、符号化プログラム、復号プログラム
JP7139897B2 (ja) * 2018-11-07 2022-09-21 日本電信電話株式会社 符号化装置、復号装置、符号化方法、復号方法、符号化プログラム、復号プログラム

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1650636A (zh) * 2002-04-26 2005-08-03 索尼株式会社 编码设备和编码方法、解码设备和解码方法、记录介质以及程序

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05199422A (ja) * 1992-01-20 1993-08-06 Fujitsu General Ltd 画像伝送装置
US6005503A (en) * 1998-02-27 1999-12-21 Digital Equipment Corporation Method for encoding and decoding a list of variable size integers to reduce branch mispredicts
JP3982397B2 (ja) * 2001-11-28 2007-09-26 日本ビクター株式会社 可変長符号化データ復号化用プログラム及び可変長符号化データ受信用プログラム
US7436329B2 (en) 2003-04-17 2008-10-14 Droplet Technology, Inc. Multiple technique entropy coding system and method
US7525463B2 (en) 2003-04-17 2009-04-28 Droplet Technology, Inc. Compression rate control system and method with variable subband processing
US20060072834A1 (en) 2003-04-17 2006-04-06 Lynch William C Permutation procrastination
JP2003069999A (ja) * 2002-06-07 2003-03-07 Mitsubishi Electric Corp 画像符号化方式
JP4138391B2 (ja) 2002-07-03 2008-08-27 株式会社エヌ・ティ・ティ・ドコモ 可変長符号生成装置、可変長復号装置、可変長符号生成方法、及び可変長復号方法
US20060072837A1 (en) 2003-04-17 2006-04-06 Ralston John D Mobile imaging application, device architecture, and service platform architecture
JP4049791B2 (ja) * 2003-04-28 2008-02-20 日本電信電話株式会社 浮動小数点形式ディジタル信号可逆符号化方法、及び復号化方法と、その各装置、その各プログラム
JP4049792B2 (ja) * 2003-06-20 2008-02-20 日本電信電話株式会社 浮動小数点形式ディジタル信号可逆符号化方法、及び復号化方法と、その各装置、その各プログラム
CN101919164B (zh) 2007-12-11 2013-10-30 日本电信电话株式会社 编码方法、解码方法、使用了这些方法的装置、程序、记录介质
EP2112764A1 (en) * 2008-04-25 2009-10-28 Thomson Licensing Method for encoding a sequence of integers, storage device and signal carrying an encoded integer sequence and method for decoding a sequence of integers
JP5337235B2 (ja) 2009-03-10 2013-11-06 日本電信電話株式会社 符号化方法、復号方法、符号化装置、復号装置、プログラム及び記録媒体

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1650636A (zh) * 2002-04-26 2005-08-03 索尼株式会社 编码设备和编码方法、解码设备和解码方法、记录介质以及程序

Also Published As

Publication number Publication date
JPWO2010134553A1 (ja) 2012-11-12
JP2013110763A (ja) 2013-06-06
US20120092197A1 (en) 2012-04-19
US8558724B2 (en) 2013-10-15
WO2010134553A1 (ja) 2010-11-25
JP5173045B2 (ja) 2013-03-27
JP5228125B2 (ja) 2013-07-03
JP2012186820A (ja) 2012-09-27
CN102422540A (zh) 2012-04-18
JP2012157067A (ja) 2012-08-16
JP5498598B2 (ja) 2014-05-21
JP5006990B2 (ja) 2012-08-22

Similar Documents

Publication Publication Date Title
CN102422540B (zh) 编码方法、编码装置、解码方法、解码装置、程序以及记录介质
US7541948B2 (en) Variable length coding method and variable length decoding method
CN105103549B (zh) 一种数据编码方法、数据解码方法及计算机可读介质
CN105379283B (zh) 数据编码和解码
EP0580454B1 (en) Coding and decoding of digital data
CN100423585C (zh) 图像编码装置及图像译码装置
EP1258993A1 (en) Lossless encoding and decoding system
CN101502123A (zh) 编码装置
CN101808246A (zh) 编码方法和编码装置
CN103918186B (zh) 上下文自适应数据编码
Amerijckx et al. Image compression using self-organizing maps
CN100493199C (zh) 编码装置、编码方法和码本
CN101543080A (zh) 解码电路、解码方法及图像再生装置
CN102239640B (zh) 编码方法、解码方法、使用这些方法的装置
JP2693557B2 (ja) 符号化装置
WO1998059495A1 (en) Device and method for iterative conversion encoding of images, device and method for iterative conversion decoding of images, and providing medium
JPH0575876A (ja) 画像データ復元方法および画像データ復元装置
JP2000224423A (ja) 画像圧縮装置および画像圧縮方法ならびに符号木生成方法ならびに情報記録媒体

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