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

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

Info

Publication number
CN111971902B
CN111971902B CN201980024567.3A CN201980024567A CN111971902B CN 111971902 B CN111971902 B CN 111971902B CN 201980024567 A CN201980024567 A CN 201980024567A CN 111971902 B CN111971902 B CN 111971902B
Authority
CN
China
Prior art keywords
integer
value
values
integer value
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201980024567.3A
Other languages
English (en)
Other versions
CN111971902A (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 CN111971902A publication Critical patent/CN111971902A/zh
Application granted granted Critical
Publication of CN111971902B publication Critical patent/CN111971902B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • 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/3068Precoding preceding compression, e.g. Burrows-Wheeler transformation
    • 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/3059Digital compression and data reduction techniques where the original information is represented by a subset or similar information, e.g. lossy compression
    • 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/3082Vector coding
    • 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/55Compression Theory, e.g. compression of random number, repeated compression
    • 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/70Type of the data to be coded, other than image and sound
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/0017Lossless audio signal coding; Perfect reconstruction of coded audio signal by transmission of coding error
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/032Quantisation or dequantisation of spectral components

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

对整数值的序列实质上对每1个样本分配小数值的比特数,进行编码以及解码。整数变换部(11)针对基于L个输入整数值的组,从L个输入整数值选择M个选择整数值,并得到用于确定M个选择整数值是L个输入整数值中的哪些个的J值的选择信息。而且,整数变换部(11)针对M个选择整数值以及与J值的选择信息对应的整数值,通过可逆的变换,得到1个变换后整数值。整数编码部(12)对变换后整数值进行编码得到代码。

Description

编码装置、解码装置、编码方法、解码方法、程序及记录介质
技术领域
本发明涉及对由语音或声音响的时序数字信号的样本序列等的整数值构成的样本序列进行编码、解码的技术。
背景技术
作为以压缩为目的对样本序列进行编码的技术,有通过对由进行样本值的量化而得到的有限精度的值(以下将其称为整数值)进行可逆编码,削减用于描述样本序列的比特长度的技术。在该技术中,对哪个整数值分配哪个长度的代码(code)直接关系到压缩的性能。该事实在对图像信号的样本串进行编码/解码的图像编码、对声音信号的样本串进行编码/解码的声音编码等样本序列的编码解码的工学应用目的中也不例外。而且,可逆编码通过与样本序列的量化组合,还能够应用于可进一步削减比特长度的非可逆编码中。
一般而言,在可变长度的可逆编码中,因可解码性的限制,在分配给整数值的代码的结构上存在限制。具体而言,是如下这样的限制,即若假设对某一整数值分配短的代码,则为了编成可解码的代码,必须对其他整数值分配长的代码。因此,为了提高压缩性能,代码的结构(对各整数值的代码的分配)需要设为适应整数值的序列中的值的分布的结构。具体而言,能够通过对出现概率高的整数值分配短的代码,对出现概率低的整数值分配长的代码,减小整数值的序列的压缩后的比特长度的期待值。
作为对样本序列进行编码的技术,有在非专利文献1中记载的技术。在非专利文献1中记载的技术是如下的技术,即,得到基于对语音声音信号的频谱序列即样本序列中所包含的各样本分配的比特数的序列,对量化后的样本序列的各样本进行可逆编码,以得到在基于比特数的序列中所包含的各比特数的代码。在非专利文献1中记载的技术是如下的技术,即,假定语音声音信号的频谱序列中包含更多振幅值小的样本这样的统计分布,以语音声音信号的频谱序列中的包络等作为参考,得到越是包络值等小的样本则其比特数越少这样的基于比特数的序列,以得到的比特数对语音声音信号的频谱序列的各样本进行编码。
现有技术文献
非专利文献
非专利文献1:R.Zelinski and P.Noll,"Adaptive transform coding ofspeech signals,"in IEEE Transactions on Acoustics,Speech,and SignalProcessing,vol.25,no.4,pp.299-309,Aug 1977.
发明内容
发明要解决的课题
在非专利文献1所记载的技术中,在比特率高的条件下,能够将失真抑制得较小而进行压缩,但由于对每1个样本的频谱仅分配1以上的整数值的比特数,所以在比特率低的条件下,压缩的效率降低,存在解码样本序列相对于分配给样本序列的平均比特数的失真变大的课题。
本发明的目的在于,实现对每1个样本实质上分配小数值的比特数的编码以及解码。
用于解决课题的手段
为了解决课题,本发明的第一方式的编码装置,包括:包括:整数选择部,针对基于被输入的L个整数值即“输入整数值”的组,从L个输入整数值选择M个整数值即“选择整数值”,并得到用于确定所选择出的M个选择整数值是L个输入整数值中的哪些个的J值的选择信息,其中L为3以上的整数,M为小于L的2以上的整数,J为2以上的整数;整数整合部,针对M个选择整数值以及与J值的选择信息对应的整数值,通过可逆的变换,得到1个整数值,即“变换后整数值”;以及整数编码部,对变换后整数值进行编码,得到代码。
为了解决的课题,本发明的第二方式的解码装置包括:整数解码部,对代码进行解码,得到1个整数值,即“变换后整数值”;整数分离部,通过可逆的变换从1个变换后整数值得到M个整数值即“选择整数值”以及J值的选择信息,其中M为2以上的整数,J为2以上的整数;以及整数组复原部,通过将M个选择整数值设为L个整数值即“输出整数值”中的、由选择信息确定的M个输出整数值,将0设为L-M个剩余的输出整数值,得到基于L个输出整数值的组,其中L为大于M的整数。
发明的效果
根据本发明,能够实现对于每1个样本实质上分配小数值的比特数的编码以及解码。
附图说明
图1是例示编码装置的功能结构的图。
图2是编码方法的处理过程的图。
图3是例示整数变换部的功能结构的图。
图4是例示整数值(序列)的变换方法的处理过程的图。
图5是例示解码装置的功能结构的图。
图6是例示解码方法的处理过程的图。
图7是例示整数逆变换部的功能结构的图。
图8是例示变换后整数值(序列)的逆变换方法的处理过程的图。
具体实施方式
以下,详细地说明本发明的实施方式。而且,对于附图中具有相同的功能的构成部分附加相同的标号,省略重复说明。
在文中使用的记号[~]本来应该记载在紧接着的字符的正上方,但由于文本标记法的限制,记载在该字符的紧前面。在数学式中,这些记号标记在本来的位置、即字符的正上方。
<第一实施方式>
《编码装置》
参照图1以及图2,说明第一实施方式的编码装置执行的编码方法的处理过程。如图1所示,第一实施方式的编码装置100例如具有整数变换部11以及整数编码部12。通过编码装置100执行图2所示的步骤S11以及步骤S12的处理,实现第一实施方式的编码方法。
在第一实施方式的编码装置100中被输入基于整数值的序列。作为该基于整数值的序列,例如,也可以输入通过现有技术对由麦克风拾音的语音或音乐等变换为时域或频域的数字信号而得到的信号、由摄像头拍摄的图像或影像变换为时域或频域的数字信号而得到的信号等的一部分或全部进行量化并使其成为有限精度的值而得到的信号。更具体而言,例如,是基于将时域的音信号以规定的时间长度的帧为单位变换为频域的3N点(N为正整数)的MDCT系数列、将MDCT系数列的各系数设为非负的整数值而得到的基于整数值的序列、或是将时域的音信号以规定的时间长度的帧为单位采样的各样本值设为非负的整数值而得到的基于整数值的序列。
第一实施方式的编码装置100通过针对被输入的基于非负的整数值的序列中的基于3个整数值的组(以下也称为整数组)中的各个组,从3个整数值选择2个整数值,得到用于确定选择出的整数值的选择信息,通过针对基于2个整数值和选择信息的组进行可逆的变换(可逆变换的变换)得到1个整数值,将在基于得到的整数值的序列中所包含的各整数值以1个比特以上的整数比特数进行编码,从而实现对于被输入到编码装置100的非负的整数值分别按每1个样本实质上分配小数值的比特数的编码处理。
[整数变换部11]
被输入到编码装置100的基于整数值的序列中的、基于各3N个样本(N为自然数)的整数值的序列被输入到整数变换部11。将被输入的基于整数值的序列设为整数序列x_1,x_2,…,x_3N。整数变换部11根据被输入的整数序列x_1,x_2,…,x_3N得到基于N个整数值的序列y_1,y_2,…,y_N,并输出到整数编码部12(步骤S11)。如图3所示,整数变换部11例如具有整数组生成部111和整数选择部112以及整数整合部113,执行图4所示的步骤S111、步骤S112以及步骤S113的处理。
[[整数组生成部111]]
整数组生成部111按照规定的规则,从被输入的整数序列x_1,x_2,…,x_3N得到N组基于3个整数值的整数组,输出到整数选择部112(步骤S111)。就得到N组的整数组的规定的规则而言,只要是预先决定并预先存储在编码装置100和如后所述的解码装置200中的规则,任何规则都可以,如将所输入的整数序列x_1,x_2,…,x_3N内的顺序连续的3个整数值设为整数组的规则,即将x_1和x_2和x_3,x_4和x_5和x_6、...、x_3N-2和x_3N-1和x_3N分别设为整数组的规则等。
[[整数选择部112]]
整数选择部112针对所输入的各个整数组,选择3个整数值中的2个整数值,将选择出的2个整数值即第1整数值和第2整数值、以及用于确定选择出的整数值的信息即选择信息输出到整数整合部113(步骤S112)。
具体而言,整数选择部112针对输入的各个整数组,选择3个整数值中的样本号码最小的整数值作为第1整数值。而且,整数选择部112选择3个整数值中的样本号码较大的2个整数值中的值较大的一方作为第2整数值。进而,在第2整数值为3个整数值中的、样本号码较大的2个整数值中的样本号码较大的一方的情况下,整数选择部112得到0作为选择信息,在第2整数值为3个整数值中的、样本号码较大的2个整数值中的样本号码较小的一方的情况下,得到1作为选择信息。而且,在3个整数值中的样本号码较大的2个整数值相等的情况下,整数选择部112将该相等的整数值作为第2整数值,得到0作为选择信息。在该情况下,也可以得到1作为选择信息。而且,选择信息只要是表示选择了3个整数值中的样本号码较大的2个整数值中的哪个整数值的信息,则哪种信息都可以,但是,这里假设得到0或者1作为选择信息,使得符合在以后说明的整数整合部113进行计算的式(1)。
例如,如果是x_1和x_2和x_3的整数组,则整数选择部112选择样本号码最小的x_1作为第1整数值。而且,整数选择部112选择x_2和x_3中的值较大的一方作为第2整数值。进而,在第2整数值为x_3的情况下,整数选择部112得到0作为选择信息,在第2整数值为x_2的情况下,得到1作为选择信息。而且,在x_2和x_3相等的情况下,整数选择部112将该相等的整数值x_2=x_3作为第2整数值,得到0作为选择信息。
若从基于3个整数值的整数组自由选择2个整数值,则选择项有3种。但是,在上述的方法中,通过采用根据预先决定的规则从3个整数值选择1个整数值,从剩余的2个整数值选择1个整数值的结构,将选择项限定为2种,减少了选择信息的信息量。即,整数选择部112进行如下动作,该动作包含从2个整数值选择1个整数值,并得到用于所表示选择的1个整数值是2个整数值中的哪个的2值的选择信息。
另外,根据该结构,例如,在被输入到整数变换部11的整数序列是将频域的MDCT系数列的各系数设为非负的整数值得到的基于整数值且按低频到高频排序的序列的情况下,一定会选择整数组中值大的可能性最高的且频率最低的整数值,并选择频率较高的2个整数值中的值较大的一方。由此,能够期待将不被编码装置100选择而不被编码且结果上不能由后述的解码装置200得到解码值的MDCT系数引起的解码信号的失真抑制得较小。
[[整数整合部113]]
整数整合部113针对各个整数组,通过可逆的变换(可进行逆变换的变换)从被输入的第1整数值、第2整数值和选择信息得到1个整数值,并输出到整数编码部12(步骤S113)。
例如,整数整合部113将被输入的第1整数值设为x1,将被输入的第2整数值设为x2,将输入的选择信息设为s,根据式(1)得到1个整数值y。以下,将整数值y称为变换后整数值。
[数学式1]
在式(1)中减去选择信息s,但是也可以加上选择信息s。式(1)是通过可通过代数方式表达的可逆的变换,根据第1整数值、第2整数值、与选择信息s对应的整数值(0或者1)得到1个变换后整数值的方法,但是整数整合部113进行的变换未必需要是可通过代数方式表达的变换,只要是通过可逆的变换即可进行逆变换的变换,根据第1整数值、第2整数值、与选择信息s对应的2值的整数值得到1个变换后整数值的方法,任何变换都可以。其中,若考虑如后所述的整数编码部12的编码处理,则优选整数整合部113进行的变换是如下的变换,即,如式(1)那样,第1整数值越小则越得到小的变换后整数值、且第2整数值越小则越得到小的变换后整数值、且得到尽可能小的变换后整数值的变换。
如果是将顺序连续的3个整数值设为整数组的规则,则整数整合部113根据被输入到整数变换部11的整数序列x_1,x_2,…,x_3N中的x_1和x_2和x_3的整数组得到变换后整数值y_1,根据x_4和x_5和x_6的整数组得到变换后整数值y_2,...,根据x_3N-2和x_3N-1和x_3N的整数组得到变换后整数值y_N,输出基于得到的变换后整数值的序列即变换后整数序列y_1,y_2,…,y_N。
而且,在N=1的情况下,整数变换部11针对被输入的基于3个整数值的组得到1个整数值,将得到的1个整数值作为变换后整数值输出。
[整数编码部12]
整数变换部11输出的变换后整数序列y_1,y_2,…,y_N被输入到整数编码部12。整数编码部12对在变换后整数序列y_1,y_2,…,y_N中包含的各变换后整数值进行编码,分别得到对于各变换后整数值的代码C_1,C_2,…,C_N,将基于得到的代码的代码群作为整数代码输出(步骤S12)。
就对各变换后整数值进行编码的方法而言,只要是针对变换后整数序列y_1,y_2,…,y_N中包含的变换后整数值分别得到代码的方法,任何方法都可以,但是,例如,整数编码部12决定对在变换后整数序列y_1,y_2,…,y_N中包含的各变换后整数值分配的比特数,将基于以决定的比特数对各变换后整数值进行编码得到的代码C_1,C_2,…,C_N的代码群作为整数代码输出。更具体而言,整数编码部12得到将在变换后整数序列y_1,y_2,…,y_N包含的各变换后整数值以二进制数表示的代码,将得到的各代码收敛于所决定的比特数并设为代码C_1,C_2,…,C_N,将基于代码C_1,C_2,…,C_N的代码群作为整数代码输出。
□解码装置□
参照图5以及图6,说明第一实施方式的解码装置执行的解码方法的处理过程。如图5所示,第一实施方式的解码装置200例如具有整数解码部21以及整数逆变换部22。通过该解码装置200执行图6所示的步骤S21以及步骤S22的处理,实现第一实施方式的解码方法。
第一实施方式的编码装置100输出的整数代码被输入第一实施方式的解码装置200中。第一实施方式的解码装置200通过以与第一实施方式的编码装置100对应的解码处理将被输入的整数代码解码,得到基于整数值的序列,针对所得到的基于整数值的序列中的整数值中的各个整数值,通过与第一实施方式的编码装置100所进行的变换对应的逆变换,得到被输入到编码装置100的3个整数值中的2个整数值,从而正确地复原被输入到第一实施方式的编码装置100的基于整数值的序列中的3分之2个整数值。
[整数解码部21]
被输入到解码装置200的整数代码被N个(N为自然数)N个地输入整数解码部21中。这里,将所输入的整数代码设为C_1,C_2,…,C_N。整数解码部21将被输入的各整数代码C_1,C_2,…,C_N进行解码,分别得到整数值y_1,y_2,…,y_N,将基于得到的整数值的序列作为变换后整数序列y_1,y_2,…,y_N并输出到整数逆变换部22(步骤S21)。对各整数代码进行解码的方法是与对应的编码装置100的整数编码部12进行的编码方法对应的解码方法。即,对各整数代码进行解码的方法是针对在整数代码中包含的各代码C_1,C_2,…,C_N分别得到整数值的方法,是对1个代码得到1个整数值的方法。例如,整数解码部21得到在整数代码中包含的各代码C_1,C_2,…,C_N表示的二进制数作为各整数值y_1,y_2,…,y_N,将基于得到的整数值的序列作为变换后整数序列y_1,y_2,…,y_N并输出到整数逆变换部22。也将各个整数值y_1,y_2,…,y_N称为变换后整数值。
[整数逆变换部22]
整数解码部21输出的变换后整数序列y_1,y_2,…,y_N被输入到整数逆变换部22中。整数逆变换部22根据被输入的变换后整数序列y_1,y_2,…,y_N得到整数序列x_1,x_2,…,x_3N并输出(步骤S22)。如图7所示,整数逆变换部22例如具有整数分离部221以及整数组复原部222以及整数序列复原部223,执行图8所示的步骤S221、步骤S222以及步骤S223的处理。
[[整数分离部221]]
整数分离部221针对在变换后整数序列中包含的各个变换后整数值y_1,y_2,…,y_N,通过与第一实施方式的编码装置100的整数整合部113进行的变换对应的逆变换,得到2个整数值即第1整数值x1、第2整数值x2和选择信息s,并输出到整数组复原部222(步骤S221)。
例如,在第一实施方式的编码装置100的整数整合部113进行式(1)的变换的情况下,作为式(1)的变换的逆变换,整数分离部221通过式(2)和式(3),根据1个整数值y得到第1整数值x1、第2整数值x2和选择信息s。
[数学式2]
如果y为偶数
s=0
…(2)
否则
s=1
[数学式3]
如果为偶数
否则
这里,式(3)的
[数学式4]
是y'的平方根的下取整(floor)函数,即,是不超过y'的平方根的最大的整数。
整数分离部221也可以取代式(3)的运算,例如进行下述的Step A-1~A-3-1或者Step A-1~A-2、A-3-2的步骤。
Step A-1:得到不超过y'的平方根的最大的整数b。
Step A-2:求b的平方(b2)。
Step A-3-1:在y'和b的平方之差为偶数的情况下,即,y'-b2为偶数的情况下,将b设为整数值x1,得到将从y'减去b的平方得到的值除以2后得到的值(y'-b2)/2,作为整数值x2
Step A-3-2:在y'和b的平方之差为奇数的情况下,即y'-b2为奇数的情况下,将b设为整数值x2,得到将从y'减去b的平方及1得到的值除以2后得到的值(y'-b2-1)/2,作为整数值x1
基于式(2)和式(3)的变换是式(1)的变换的逆变换,是通过可通过代数方式表达的可逆的变换而根据1个变换后整数值得到第1整数值、第2整数值和与选择信息对应的整数值(0或者1)的方法,但是整数分离部221进行的变换不需要必需是可通过代数方式表达的变换,只要是利用可逆的变换且利用编码装置100的整数整合部113进行的变换的逆变换,根据1个变换后整数值得到第1整数值、第2整数值和与选择信息对应的2值的整数值的方法,任何变换都可以。而且,在编码装置100的整数整合部113取代式(1)的选择信息s的减法运算而进行了加法运算的情况下,整数分离部221取代式(2)而进行以下的式(2’)即可。
[数学式5]
如果y为偶数
s=0
…(2′)
否则
s=1
[[整数组复原部222]]
整数组复原部222针对在被输入到整数逆变换部22的变换后整数序列中所包含的各个变换后整数值y_1,y_2,…,y_N,根据整数分离部221所输入的第1整数值x1、第2整数值x2和选择信息s(2值的选择信息),通过与编码装置100的整数选择部112进行的处理对应的处理,得到基于3个整数值的整数组,输出到整数序列复原部223(步骤S222)。
具体而言,整数组复原部222针对在被输入到整数逆变换部22的变换后整数序列中包含的各个变换后整数值y_1,y_2,…,y_N,将被输入的第1整数值x1设为基于3个整数值的整数组中的样本号码最小的整数值。而且,在选择信息为0的情况下,整数组复原部222将被输入的第2整数值x2设为基于3个整数值的整数组中的样本号码最大的整数值,将0设为基于3个整数值的整数组中的样本号码第2大的整数值,在选择信息为1的情况下,整数组复原部222将被输入的第2整数值x2设为基于3个整数值的整数组中的样本号码第2大的整数值,将0设为基于3个整数值的整数组中的样本号码最大的整数值。
例如,如果是根据y_1得到x_1和x_2和x_3的整数组,则整数组复原部222将第1整数值x1设为样本号码最小的x_1。而且,在选择信息为0的情况下,整数组复原部222将被输入的第2整数值x2设为x_3,将0设为x_2,在选择信息为1的情况下,整数组复原部222将被输入的第2整数值x2设为x_2,将0设为x_3。
就该整数组复原部222的动作而言,由于是对应于进行如下动作的动作,即对应于包含为了将选择项限定为2种来减少选择信息的信息量,编码装置100的整数选择部112从2个整数值选择1个整数值,得到用于表示选择出的1个整数值是2个整数值中的哪个的2值的选择信息的处理的动作,因此,包含根据1个整数值、和表示该1个整数值是2个整数值中的哪个的2值的选择信息,得到2个整数值的动作。
[[整数序列复原部223]]
整数序列复原部223按照与第一实施方式的编码装置100的整数组生成部111进行的规则对应的规则,根据关于在被输入到整数逆变换部22的变换后整数序列中包含的变换后整数值y_1,y_2,…,y_N的、从整数组复原部222被输入的N组基于3个整数值的整数组,得到整数序列x_1,x_2,…,x_3N并输出(步骤S223)。
如果第一实施方式的编码装置100的整数组生成部111进行的规则是将顺序连续的3个整数值设为整数组的规则,则整数组复原部222根据被输入的变换后整数序列y_1,y_2,…,y_N中的变换后整数y_1得到基于整数值x_1和整数值x_2和整数值x_3的整数组,根据变换后整数y_2得到基于整数值x_4和整数值x_5和整数值x_6的整数组,...,根据变换后整数y_N得到基于整数值x_3N-2和整数值x_3N-1和整数值x_3N的整数组,整数序列复原部223得到基于整数组复原部222得到的整数组的序列即整数序列x_1,x_2,…,x_3N并输出。
<第二实施方式>
第一实施方式的编码装置100进行如下动作,该动作包含整数选择部112从2个整数值选择1个整数值,并得到表示选择出的1个整数值是2个整数值中的哪个的2值的选择信息的处理,但是也可以进行如下动作,该动作包含编码装置的整数选择部从3个以上的整数值选择1个整数值,得到用于表示选择出的1个整数值是3个以上的整数值中的哪个的3值以上的选择信息的处理。同样,也可以进行如下的动作,该动作包含解码装置的整数组复原部根据1个整数值和用于表示该1个整数值为3个以上的整数值中的哪个的3值以上的选择信息,得到3个以上的整数值的处理。
在第二实施方式中,作为其一方式,说明如下的编码装置以及与其对应的解码装置,该编码装置包含如下动作,即,针对被输入的基于非负的整数值的序列中的基于S+1个(S为2以上的整数)整数值的组中的各个组,整数选择部从S个整数值选择1个整数值,得到用于表示所选择出的1个整数值是S个整数值中的哪个的S值的选择信息,该解码装置包含如下动作,即,整数组复原部根据1个整数值和表示该1个整数值是S个整数值中的哪个的S值的选择信息得到S个整数值。而且,第一实施方式与第二实施方式中的S为2的情况相当。
《编码装置》
参照图1以及图2,说明第二实施方式的编码装置执行的编码方法的处理过程。第二实施方式的编码装置101与第一实施方式的编码装置同样,例如具有整数变换部13以及整数编码部14。通过该编码装置101执行图2所示的步骤S13以及步骤S14的处理,实现第二实施方式的编码方法。就第二实施方式的编码装置101的整数编码部14的动作以及整数编码部14执行的步骤S14的处理而言,由于与第一实施方式的编码装置100的整数编码部12的动作以及整数编码部12执行的步骤S12的处理相同,因此这里仅针对动作与第一实施方式不同的整数变换部13进行说明。
第二实施方式的编码装置101中被输入与第一实施方式的编码装置100同样的基于整数值的序列。更具体而言,例如是将时域的音信号以规定的时间长度的帧为单位将频域的(S+1)N点((S+1)×N点)的MDCT系数列的各系数设为非负的整数值而得到的基于整数值的序列、或者是将时域的音信号以规定的时间长度的帧为单位将各样本值设为非负的整数值而得到的基于整数值的序列。
[整数变换部13]
被输入到编码装置101的基于整数值的序列中的、基于各(S+1)N个样本的整数值的序列被输入到整数变换部13中。将被输入的基于整数值的序列设为整数序列x_1,x_2,…,x_((S+1)N)。整数变换部13根据被输入的整数序列x_1,x_2,…,x_((S+1)N)得到基于N个整数值的序列y_1,y_2,…,y_N,输出到整数编码部14(步骤S13)。如图3所示,整数变换部13例如具有整数组生成部131、整数选择部132以及整数整合部133,执行图4所示的步骤S131、步骤S132以及步骤S133的处理。
[[整数组生成部131]]
整数组生成部131按照规定的规则,根据被输入的整数序列x_1,x_2,…,x_((S+1)N)得到N组的基于S+1个整数值的整数组,并输出到整数选择部132(步骤S131)。就用于得到N组的整数组的规定的规则而言,只要是预先决定并预先存储在编码装置101和如后所述的解码装置201中的规则,任何规则都可以,如将被输入的整数序列x_1,x_2,…,x_((S+1)N)内的顺序连续的S+1个整数值设为整数组的规则,即分别将x_1至x_(S+1)、x_(S+2)至x_((S+1)2)、...、x_((S+1)(N-1)+1)至x_((S+1)N)设为整数组的规则等。
[[整数选择部132]]
整数选择部132针对被输入的各个整数组,选择S+1个整数值中的2个整数值,将选择出的2个整数值即第1整数值和第2整数值、以及用于确定选择出的整数值的信息即选择信息输出到整数整合部133(步骤S132)。
具体而言,整数选择部132针对被输入的各个整数组,选择S+1个整数值中的样本号码最小的整数值作为第1整数值。而且,整数选择部132选择S+1个整数值中的样本号码较大的S个整数值中值最大的整数值作为第2整数值。进而,在第2整数值为S+1个整数值中的样本号码较大的S个整数值中的样本号码最大的整数值的情况下,整数选择部132得到0作为选择信息,在第2整数值为S+1个整数值中的样本号码较大的S个整数值中的样本号码第2大的整数值的情况下,整数选择部132得到1作为选择信息,...,在第2整数值为S+1个整数值中的样本号码较大的S个整数值中的样本号码最小的整数值的情况下,整数选择部132得到S-1作为选择信息。
而且,在S+1个整数值中的样本号码较大的S个中包含多个的值最大的整数值的情况下,整数选择部132将该存在多个的最大的整数值设为第2整数值,得到用于表示存在多个的最大的整数值中的最大的样本号码的值作为选择信息。例如,在S+1个整数值中的样本号码较大的S个整数值中的值最大的整数值,为样本号码第2大的整数值和样本号码第3大整数值这2个的情况下,得到用于表示第2大的样本号码的1作为选择信息。但是,在该情况下,也可以得到用于表示存在多个的最大的整数值中的任意一个的样本号码的值作为选择信息。
例如,如果是将顺序连续的4个整数值设为整数组,则针对x_1和x_2和x_3和x_4的整数组,整数选择部132选择样本号码最小的x_1作为第1整数值。而且,整数选择部132选择x_2和x_3和x_4中值最大的整数值作为第2整数值。进而,在第2整数值为x_4的情况下,整数选择部132得到0作为选择信息,在第2整数值为x_3的情况下,整数选择部132得到1作为选择信息,在第2整数值为x_2的情况下,整数选择部132得到2作为选择信息。而且,在x_2和x_3和x_4中的值最大的整数值为x_3和x_4这2个的情况下,整数选择部132将该相等的整数值x_3=x_4设为第2整数值,得到0作为选择信息。
若从基于S+1个整数值的整数组自由选择2个整数值,则选择项成为S+1C2种。但是,在上述的方法中,通过采用根据预先决定的规则从S+1个整数值选择1个整数值,从剩余的S个整数值选择1个整数值的结构,将选择项限定为SC1=S种,减少选择信息的信息量。即,整数选择部132进行如下动作,该动作包含从S个整数值选择1个整数值,得到用于表示选择出的1个整数值是S个整数值中的哪个的S值的选择信息的处理。
[[整数整合部133]]
整数整合部133针对各个整数组,通过可逆的变换(可逆变换的变换)根据被输入的第1整数值、第2整数值和选择信息得到1个整数值,输出到整数编码部14(步骤S133)。
例如,整数整合部133将被输入的第1整数值设为x1,将被输入的第2整数值设为x2,将被输入的选择信息设为s,通过式(4),得到1个整数值y。
[数学式6]
在式(4)中减去了选择信息s,但是也可以加上选择信息s。式(4)是通过可通过代数方式表达的可逆的变换,根据第1整数值、第2整数值、以及与选择信息s对应的整数值(从0至S-1中的任意一个)得到1个变换后整数值的方法,但是整数整合部133进行的变换不需要必需是可通过代数方式表达的变换,只要是通过可逆的变换即可逆变换的变换,根据第1整数值、第2整数值、以及与选择信息s对应的S值的整数值得到1个变换后整数值的方法,任何变换都可以。其中,若考虑整数编码部14的编码处理,则优选整数整合部133进行的变换是如下的变换,即,如式(4)那样,第1整数值越小越得到小的变换后整数值、且第2整数值越小越得到小的变换后整数值、且得到尽可能小的变换后整数值的变换。
例如,如果是将顺序连续的4个整数值设为整数组的规则,则整数整合部133根据被输入到整数变换部13的整数序列x_1,x_2,…,x_4N中的x_1和x_2和x_3和x_4的整数组得到变换后整数值y_1,根据x_5和x_6和x_7和x_8的整数组得到变换后整数值y_2,...,根据x_4N-3和x_4N-2和x_4N-1和x_4N的整数组得到变换后整数值y_N,并输出基于得到的变换后整数值的序列即变换后整数序列y_1,y_2,…,y_N。
而且,在N=1的情况下,整数变换部13针对基于被输入的(S+1)个整数值的组,得到1个整数值,将得到的1个整数值作为变换后整数值输出。
《解码装置》
参照图5以及图6,说明第二实施方式的解码装置执行的解码方法的处理过程。第二实施方式的解码装置201与第一实施方式的解码装置同样,例如具有整数解码部23以及整数逆变换部24。通过该解码装置201执行图6所示的步骤S23以及步骤S24的处理,实现第二实施方式的解码方法。
第二实施方式的编码装置101输出的整数代码被输入第二实施方式的解码装置201中。第二实施方式的解码装置201是通过将被输入的整数代码以与第二实施方式的编码装置101对应的解码处理进行解码,得到基于整数值的序列,针对得到的基于整数值的序列中的整数值,分别通过与第二实施方式的编码装置101进行的变换对应的逆变换,得到被输入到编码装置101的S+1个整数值中的2个整数值,从而正确地复原被输入到第二实施方式的编码装置101的基于整数值的序列中的(S+1)分之2个整数值。
就第二实施方式的解码装置201的整数解码部23的动作以及整数解码部23执行的步骤S23的处理而言,由于与第一实施方式的解码装置200的整数解码部21的动作以及整数解码部21执行的步骤S21的处理相同,因此,这里仅说明动作与第一实施方式不同的整数逆变换部24。
[整数逆变换部24]
整数解码部23输出的变换后整数序列y_1,y_2,…,y_N被输入到整数逆变换部24中。整数逆变换部24根据被输入的变换后整数序列y_1,y_2,…,y_N得到整数序列x_1,x_2,…,x_((S+1)N)并输出(步骤S24)。如图7所示,整数逆变换部24例如具有整数分离部241、整数组复原部242以及整数序列复原部243,执行图8所示的步骤S241、步骤S242以及步骤S243的处理。
[[整数分离部241]]
整数分离部241针对在变换后整数序列中包含的各个变换后整数值y_1,y_2,...,y_N,通过与第二实施方式的编码装置101的整数整合部133进行的变换对应的逆变换,得到2个整数值即第1整数值x1、第2整数值x2、以及选择信息s,并输出到整数组复原部242(步骤S241)。
例如,在第二实施方式的编码装置101的整数整合部133进行了式(4)的变换的情况下,整数分离部241作为式(4)的变换的逆变换,通过式(5)、式(6)和式(3),从1个整数值y,得到第1整数值x1、第2整数值x2以及与选择信息对应的J值的整数值s。
[数学式7]
[数学式8]
s=Sy′-y…(6)
整数分离部241也可以取代式(3)的运算,例如进行上述的Step A-1~A-3-1或者Step A-1~A-2、A-3-2的步骤。
基于式(5)、式(6)和式(3)的变换是式(4)的变换的逆变换,是通过可通过代数方式表达的可逆的变换,根据1个变换后整数值得到第1整数值、第2整数值、以及与选择信息对应的S值的整数值s(从0至S-1中的任一个)的方法,但是,整数分离部241进行的变换不需要必需是可通过代数方式表达的变换,只要是利用可逆的变换并且是利用编码装置101的整数整合部133进行的变换的逆变换,根据1个变换后整数值得到第1整数值、第2整数值、以及与选择信息对应的S值的整数值的方法,任何变换都可以。而且,在编码装置101的整数整合部133取代式(4)的选择信息s的减法运算而进行加法运算的情况下,整数分离部241取代式(5)和式(6),进行以下的式(5’)和式(6’)即可。
[数学式9]
[数学式10]
s=y′-Sy…(6′)
[[整数组复原部242]]
整数组复原部242针对在被输入到整数逆变换部24的变换后整数序列中包含的各个变换后整数值y_1,y_2,...,y_N,通过与编码装置101的整数选择部132进行的处理对应的处理,根据从整数分离部241输入的第1整数值x1、第2整数值x2和选择信息s(与选择信息对应的S值的整数值s),得到基于S+1个整数值的整数组,输出到整数序列复原部243(步骤S242)。
具体而言,整数组复原部242针对在被输入到整数逆变换部24的变换后整数序列中包含的各个变换后整数值y_1,y_2,…,y_N,将被输入的第1整数值x1设为基于S+1个整数值的整数组中的样本号码最小的整数值。而且,在选择信息为0的情况下,整数组复原部242将被输入的第2整数值x2设为基于S+1个整数值的整数组中的样本号码最大的整数值,将0设为基于S+1个整数值的整数组中的剩余的S-1个整数值,在选择信息为1的情况下,整数组复原部242将被输入的第2整数值x2设为基于S+1个整数值的整数组中的样本号码第2大的整数值,将0设为基于S+1个整数值的整数组中的剩余的S-1个整数值,...,在选择信息为S-1的情况下,整数组复原部242将被输入的第2整数值x2设为基于S+1个整数值的整数组中的样本号码第2小的整数值,将0设为基于S+1个整数值的整数组中的剩余的S-1个整数值。
例如,如果是从y_1得到x_1和x_2和x_3和x_4的整数组,则整数组复原部242将第1整数值x1设为样本号码最小的x_1。而且,在选择信息为0的情况下,整数组复原部242将被输入的第2整数值x2设为x_4,将0设为x_2和x_3,在选择信息为1的情况下,整数组复原部242将被输入的第2整数值x2设为x_3,将0设为x_2和x_4,在选择信息为2的情况下,整数组复原部242将被输入的第2整数值x2设为x_2,将0设为x_3和x_4。
[[整数序列复原部243]]
整数序列复原部243按照与第二实施方式的编码装置101的整数组生成部131进行的规则对应的规则,根据关于在被输入到整数逆变换部24的变换后整数序列中包含的变换后整数值y_1,y_2,…,y_N的、从整数组复原部242输入的N组基于S+1个整数值的整数组,得到整数序列x_1,x_2,…,x_((S+1)N)并输出(步骤S243)。
如果第二实施方式的编码装置101的整数组生成部131进行的规则是将顺序连续的S+1个整数值设为整数组的规则,则整数组复原部242根据被输入的变换后整数序列y_1,y_2,…,y_N中的变换后整数y_1,得到基于整数值x_1至整数值x_(S+1)的整数组,根据变换后整数y_2得到基于整数值x_(S+2)至整数值x_((S+1)2)的整数组,...,根据变换后整数y_N得到基于整数值x_((S+1)(N-1)+1)至整数值x_((S+1)N)的整数组,整数序列复原部243得到基于整数组复原部242得到的整数组的序列即整数序列x_1,x_2,…,x_((S+1)N)并输出。
<第三实施方式>
在第二实施方式中,说明了如下的方式:使得编码装置101的整数选择部132包含从S个(S为2以上的整数)的整数值选择1个整数值,得到用于表示选择出的1个整数值是S个整数值的哪个的S值的选择信息的动作,与此对应地,使得解码装置201的整数组复原部242包含根据用于表示1个整数值是S个整数值中的哪个的S值的选择信息,得到S个整数值的动作。相对于此,也可以设为,编码装置的整数选择部进行从L个(L为3以上的整数)的整数值选择M个(M为2以上的整数)的整数值,得到用于确定选择出的M个整数值是L个整数值中的哪些个的J值(J为2以上的整数)的选择信息的动作,与此对应地,解码装置的整数组复原部进行根据用于确定M个整数值是L个整数值中的哪些个的J值的选择信息,得到L个整数值的动作。在第三实施方式中说明该一个方式。
《编码装置》
参照图1以及图2,说明第三实施方式的编码装置执行的编码方法的处理过程。第三实施方式的编码装置102与第二实施方式的编码装置同样,例如具有整数变换部15以及整数编码部16。通过该编码装置102执行图2所示的步骤S15以及步骤S16的处理,实现第三实施方式的编码方法。
第三实施方式的编码装置102的整数编码部16的动作以及整数编码部16执行的步骤S16的处理,由于与第二实施方式的编码装置101的整数编码部14的动作以及整数编码部14的执行的步骤S14的处理相同,因此,这里仅说明动作与第二实施方式不同的整数变换部15。
第三实施方式的编码装置102中被输入与第二实施方式的编码装置101同样的基于整数值的序列。更具体而言,例如,是将时域的音信号以规定的时间长度的帧为单位将频域的LN点(L×N点)的MDCT系数列的各系数设为非负的整数值得到的基于整数值的序列、将时域的声音信号以规定的时间长度的帧为单位将各样本值设为非负的整数值得到的基于整数值的序列。
[整数变换部15]
被输入到编码装置102的基于整数值的序列中的、基于各LN个样本的整数值的序列被输入到整数变换部15中。将被输入的基于整数值的序列设为整数序列x_1,x_2,…,x_LN。整数变换部15根据被输入的整数序列x_1,x_2,…,x_LN,得到基于N个整数值的序列y_1,y_2,…,y_N并输出到整数编码部16(步骤S15)。如图3所示,整数变换部15例如具有整数组生成部151、整数选择部152以及整数整合部153,执行图4所示的步骤S151、步骤S152以及步骤S153的处理。
[[整数组生成部151]]
整数组生成部151按照规定的规则,根据被输入的整数序列x_1,x_2,…,x_LN,得到N组基于M个整数值的整数组并输出到整数选择部152(步骤S151)。就得到N组的整数组的规定的规则而言,只要是预先决定并被预先存储在编码装置102和如后所述的解码装置202的规则,任何规则都可以,如将被输入的整数序列x_1,x_2,…,x_LN内的顺序连续的L个整数值设为整数组的规则,即将x_1至x_L、x_(L+1)至x_2L、...、x_(L(N-1)+1)至x_LN分别设为整数组的规则等。
[[整数选择部152]]
整数选择部152针对被输入的各个整数组,选择L个整数值中的M个整数值,将选择出的M个整数值即第1整数值至第M整数值、以及用于确定M个整数值是L个整数值中的哪些个的J值的选择信息输出到整数整合部153(步骤S152)。
[[[整数选择部152的动作的第1例]]]
整数选择部152也可以进行与第二实施方式的整数选择部132相同的动作。在该情况下,整数选择部152中,设为L=S+1,M=2,J=S,整数选择部152进行与第二实施方式的整数选择部132相同的动作。在该情况下,选择信息实际上是用于表示从L个整数值中的除去了样本号码最小的整数值后的L-1=S个整数值中选择出的1个整数值的样本号码的值。但是,如果从选择信息的目的在于在解码侧能够确定M个整数值是L个整数值中的哪些个来看,则也能够解释为预先决定的规则也包含在选择信息中。因此,选择信息可以说是用于确定M=2个整数值是L=S+1个整数值中的哪些个的J=S值的选择信息。
整数选择部152若进行与第二实施方式的整数选择部132相同的动作,则选择信息成为0以上且J-1以下的整数值中的任意一个,但是不是必需将选择信息的值设为0以上且J-1以下的整数值,也可以使得整数选择部152得到作为预先决定的J个连续的整数值中的哪些个的选择信息。例如,选择信息可以设为1以上且J以下的整数值,也可以设为2以上且J+1以下的整数值。而且,将整数选择部152得到的选择信息设为预先决定的J个连续的整数值中的任意一个,这是因为将如后所述的整数整合部153进行的例如式(7)的变换设为可逆的变换。因此,在进行与式(7)不同的可逆的变换的情况下,不是必需将整数选择部152得到的选择信息设为预先决定的J个连续的整数值中的任意一个,选择信息只要是如上述那样用于确定M个整数值是L个整数值中的哪些个的J值的信息即可。
[[[整数选择部152的动作的第2例]]]
整数选择部152也可以包含多个与第二实施方式的整数选择部132相同的动作。在该情况下,例如,在整数选择部152中,设L=S1+S2+2(S1和S2为2以上的正整数),设M=4,J=4,针对L个整数值中的S1+1个整数值,整数选择部152进行与第二实施方式的整数选择部132相同的动作,从S1+1个整数值中选择2个整数值,得到2值的选择信息,针对L个整数值中的剩余的S2+1个整数值,整数选择部152进行与第二实施方式的整数选择部132相同的动作,从S2+1个整数值中选择2个整数值,得到2值的选择信息,得到选择出的M=4个(2个×2)整数值、和J=4值(2值×2值)的选择信息即可。
[[[整数选择部152的动作的第3例]]]
整数选择部152也可以不包含如第二实施方式的整数选择部132那样的预先决定的规则,而自由地选择L个整数值中的M个整数值。即,整数选择部152也可以从L个整数值中选择M个整数值,将选择出的M个整数值、和用于确定M个整数值是L个整数值中的哪些个的J=LCM值的选择信息输出到整数整合部153。
[[[整数选择部152的动作的其它例子等]]]
由于组合有很多,因此省略说明,但是整数选择部152也可以进行将上述的第1例和第3例组合的动作、或将上述的第2例和第3例组合的动作。总之,整数选择部152如果针对被输入的各个整数组,进行选择L个整数值中的M个整数值,将选择出的M个整数值即第1整数值至第M整数值、以及用于确定M个整数值是L个整数值中的哪些个的J值的选择信息输出到整数整合部153的动作,进行任何动作都可以。
[[整数整合部153]]
整数整合部153针对各个整数组,通过可逆的变换(可逆变换的变换),根据被输入的第1整数值至第M整数值的M个整数值、以及J值的选择信息得到1个整数值,并输出到整数编码部16(步骤S153)。
例如,整数整合部153将被输入的第1整数值至第M整数值分别设为x1、x2、...、xM,将被输入的J值的选择信息设为0至J-1的整数值s,通过式(7),得到1个整数值y。
[数学式11]
y=J fM(x1,x2,...,xM)-s…(7)
其中,当将基于M’个变量的序列(变量序列)x1,x2,...,xM’作为输入,将1个变量作为输出的递归函数,将M’个变量x1,x2,...,xM’的最大值设为xmax,将取最大值的变量的个数设为K,将取最大值的K个变量各自的在变量序列内的号码分别设为m1,m2,...,mK,将基于从变量序列x1,x2,...,xM’中去除了取最大值的变量后的M’-K个变量的序列设为~x1,~x2,...,~xM’-K,将f0设为0,将M’CK设为从M’个中选择K个的组合的数目时,fM’(x1,x2,...,xM’)是以式(8)表示的函数。
[数学式12]
在式(7)中减去了选择信息s,但是也可以加上选择信息s。而且,在式(7)中,也可以不是将0至J-1的整数值中的任意一个设为选择信息s,而是与被输入的J值的选择信息的各个对应地,将预先决定的J个连续的整数值J0至J0+J-1中的任意一个设为选择信息s。式(7)是通过可通过代数方式表达的可逆的变换,根据第1整数值至第M整数值的M个整数值、以及与J值的选择信息对应的整数值得到1个变换后整数值的方法,但是整数整合部153进行的变换不需要必需是可通过代数方式表达的变换,只要是通过可逆的变换即可进行逆变换的变换,根据第1整数值至第M整数值的M个整数值、以及与J值的选择信息对应的整数值得到1个变换后整数值的方法,任何变换都可以。但是,若考虑整数编码部16的编码处理,则优选整数整合部153进行的变换是如下的变换,即,如式(7)那样,第1整数值至第M整数值的各整数值越小则越得到小的变换后整数值、且得到尽可能小的变换后整数值的变换。
《解码装置》
参照图5以及图6,说明第三实施方式的解码装置执行的解码方法的处理过程。第三实施方式的解码装置202与第二实施方式的解码装置同样,例如具有整数解码部25以及整数逆变换部26。通过该解码装置202执行图6所示的步骤S25以及步骤S26的处理,实现第三实施方式的解码方法。
第三实施方式的编码装置102输出的整数代码被输入到第三实施方式的解码装置202中。第三实施方式的解码装置202是通过将被输入的整数代码以与第三实施方式的编码装置102对应的解码处理进行解码,得到基于整数值的序列,针对得到的基于整数值的序列中的整数值,分别通过与第三实施方式的编码装置102进行的变换对应的逆变换,得到被输入到编码装置102的L个整数值中的M个整数值,从而正确地复原被输入到第三实施方式的编码装置102的基于整数值的序列中的L分之M个整数值。
由于第三实施方式的解码装置202的整数解码部25的动作以及整数解码部25执行的步骤S25的处理与第二实施方式的解码装置201的整数解码部23的动作以及整数解码部23执行的步骤S23的处理相同,因此,这里仅说明动作与第二实施方式不同的整数逆变换部26。
[整数逆变换部26]
整数解码部25输出的变换后整数序列y_1,y_2,…,y_N被输入到整数逆变换部26中。整数逆变换部26根据被输入的变换后整数序列y_1,y_2,…,y_N得到整数序列x_1,x_2,…,x_LN并输出(步骤S26)。如图7所示,整数逆变换部26例如具有整数分离部261、整数组复原部262以及整数序列复原部263,执行图8所示的步骤S261、步骤S262以及步骤S263的处理。
[[整数分离部261]]
整数分离部261针对在变换后整数序列中包含的各个变换后整数值y_1,y_2,…,y_N,通过与第三实施方式的编码装置102的整数整合部153进行的变换对应的逆变换,得到第1整数值x1至第M整数值xM的M个整数值、和选择信息s,并输出到整数组复原部262(步骤S261)。
例如,在第三实施方式的编码装置102的整数整合部153进行了式(7)的变换的情况下,作为式(7)的变换的逆变换,整数分离部261通过式(9)、式(10)和式(11),根据1个整数值y,得到第1整数值x1至第M整数值xM的M个整数值、以及与选择信息对应的J值的整数值s。
[数学式13]
[数学式14]
s=Jy′-y…(10)
[数学式15]
其中,fM’ -1(y′)是将1个变量作为输入,将M’个变量作为输出的递归函数,通过利用不超过y的最大的M’次方根
[数学式16]
、以及
[数学式17]
/>
不低于0的最大的K、以及
通过
[数学式18]
得到的由M’-K个变量构成的变量序列~x1,~x2,...,~xM’-K、以及将
[数学式19]
除以了M’CK后的余数即λM’,对于m=0至m=M’-1,分别将i1=0,i2=0设为初始值,计算式(12),得到M’个整数值x1,x2,...,xM’并输出。
[数学式20]
如果
i1=i1+1…(12)
否则
i2=i2+1
而且,f0 -1(y′)表示什么也不输出的函数。
基于式(9)、式(10)和式(11)的变换是式(7)的变换的逆变换,是通过可通过代数方式表达的可逆的变换,根据1个变换后整数值得到第1整数值至第M整数值的M个整数值、以及与选择信息对应的J值的整数值(0至J-1的任意一个)的方法,但是整数分离部261进行的变换不需要必需是可通过代数方式表达的变换,只要是利用可逆的变换且是编码装置102的整数整合部153进行的变换的逆变换,得到第1整数值至第M整数值的M个整数值、以及与选择信息对应的J值的整数值的方法,任何变换都可以。而且,在编码装置102的整数整合部153取代式(7)的选择信息s的减法运算而进行了加法运算的情况下,整数分离部261取代式(9)和式(10)而进行以下的式(9’)和式(10’)即可。
[数学式21]
[数学式22]
s=y-Jy′…(10′)
而且,在编码装置102的整数整合部153在式(7)中不是将0至J-1的整数值的任意一个设为选择信息s,而是将与被输入的J值的选择信息的各个对应地,将预先决定的J个连续的整数值J0至J0+J-1中的任意一个设为选择信息s的情况下,整数分离部261取代式(9)而进行以下的式(9”)即可。
[数学式23]
即,在整数分离部261中,设编码装置102的整数整合部153得到的1个整数值y是将通过针对第1整数值至第M整数值的M个整数值的可逆的变换而得到的1个整数值的J倍的值,减去或者加上预先决定的J个连续的整数值中的与选择信息对应的整数值后的值,根据1个整数值y得到第1整数值至第M整数值的M个整数值、以及与选择信息对应的整数值即可。
[[整数组复原部262]]
整数组复原部262针对在被输入到整数逆变换部26的变换后整数序列中包含的各个变换后整数值y_1,y_2,...,y_N,通过与编码装置102的整数选择部152进行的处理对应的处理,根据从整数分离部261输入的第1整数值至第M整数值的M个整数值、和选择信息s(与选择信息对应的J值的整数值s)得到基于L个整数值的整数组,并输出到整数序列复原部263(步骤S262)。
[[[整数组复原部262的动作的第1例]]]
在编码装置102的整数选择部152进行了第1例的动作的情况下,在整数组复原部262中,设L=S+1,M=2,J=S,整数组复原部262进行与第二实施方式的整数组复原部242相同的动作。在该情况下,选择信息实际上是用于从L个整数值中的去除了样本号码最小的整数值的L-1=S个整数值中,确定1个整数值的样本号码的值。但是,如在编码装置102的整数选择部152的第1例中也说明的那样,还能够解释为预先决定的规则也包含在选择信息中。因此,可以说选择信息是用于确定M=2个整数值为L=S+1个整数值中的哪些个的J=S值的选择信息。
而且,在整数选择部152不进行与第二实施方式的整数选择部132相同的动作,而进行了得到预先决定的J个连续的整数值中的任意一个即选择信息的情况下,整数组复原部262进行与该整数选择部152的动作对应的动作即可。
[[[整数组复原部262的动作的第2例]]]
在编码装置102的整数选择部152进行了第2例的动作的情况下,在整数组复原部262中,设L=S1+S2+2(S1和S2为2以上的正整数),M=4,J=4,整数组复原部262根据J=4值(2值×2值)的选择信息得到2值的第1选择信息和2值的第2选择信息,进行与第二实施方式的整数组复原部242相同的动作,根据被输入的4个整数值中的2个整数值和2值的第1选择信息得到S1+1个整数值,进行与第二实施方式的整数组复原部242相同的动作,根据被输入的4个整数值中的剩余的2个整数值和2值的第2选择信息得到S2+1个整数值,对于得到的S1+1个整数值和S2+1个整数值,得到基于L=S1+S2+2个整数值的整数组即可。
[[[整数组复原部262的动作的第3例]]]
在编码装置102的整数选择部152进行了第3例的动作的情况下,整数组复原部262根据被输入的M个整数值、和用于确定M个整数值是L个整数值中的哪些个的J=LCM值的选择信息,得到基于L个整数值的整数组即可。例如,整数组复原部262通过将被输入的M个整数值设为整数组的L个整数值中的、由选择信息确定的M个整数值,例如将0等的通过预先决定的规则决定的值设为整数组的L个整数值中剩余的L-M个整数值,从而得到基于L个整数值的整数组即可。
[[[整数组复原部262的动作的其它例子等]]]
由于组合有很多,所以省略说明,但是整数组复原部262也可以进行将上述的第1例和第3例组合的动作或将上述的第2例和第3例组合的动作。总之,整数组复原部262如果进行如下动作,即通过与编码装置102的整数选择部152进行的处理对应的处理,根据被输入的第1整数值至第M整数值的M个整数值、以及选择信息s(与选择信息对应的J值的整数值s)得到基于L个整数值的整数组,输出到整数序列复原部263的动作,则进行任何动作都可以。
[[整数序列复原部263]]
整数序列复原部263按照与第三实施方式的编码装置102的整数组生成部151进行的规则对应的规则,根据针对被输入到整数逆变换部26的变换后整数序列中包含的变换后整数值y_1,y_2,…,y_N的、从整数组复原部262被输入的N组基于L个整数值的整数组,得到整数序列x_1,x_2,…,x_LN并输出(步骤S263)。
如果第三实施方式的编码装置102的整数组生成部151进行的规则是将顺序连续的L个整数值设为整数组的规则,则整数组复原部262根据被输入的变换后整数序列y_1,y_2,…,y_N中的变换后整数y_1得到基于整数值x_1至x_L的整数组,根据变换后整数y_2得到基于整数值x_(L+1)至整数值x_2L的整数组,...,根据变换后整数y_N得到基于整数值x_(L(N-1)+1)至整数值x_LN的整数组,整数序列复原部263得到基于整数组复原部262得到的整数组的序列即整数序列x_1,x_2,…,x_LN并输出。
以上,说明了本发明的实施方式,但具体的结构并不限于这些实施方式,在不脱离本发明的宗旨的范围内,即使有适当设计的变更等,当然也包含在本发明中。在实施方式中说明的各种处理不仅按照记载的顺序按时序执行,也可以根据执行处理的装置的处理能力或者根据需要并行或者单独地执行。
<程序、记录介质>
在通过计算机实现上述实施方式中说明的各装置中的各种处理功能的情况下,各装置应该具有的功能的处理内容通过程序来描述。并且,通过由计算机执行该程序,在计算机上实现上述各装置中的各种处理功能。
描述该处理内容的程序能够记录在计算机可读取的记录介质中。作为计算机可读取的记录介质,例如可以是磁记录装置、光盘、光磁记录介质、半导体存储器等任意的介质。
另外,该程序的流通例如通过销售、转让、出借记录有该程序的DVD、CD-ROM等便携式记录介质等来进行。另外,也可以将该程序存储在服务器计算机的存储装置中,通过网络从服务器计算机向其他计算机转发该程序,从而使该程序流通。
执行这样的程序的计算机,例如首先将便携式记录介质中记录的程序或者从服务器计算机转发的程序暂时存储在自己的存储装置中。然后,在执行处理时,该计算机读取自己的存储单元中存储的程序,执行按照读取的程序的处理。而且,作为该程序其它实施方式,计算机也可以从便携式记录介质直接读取程序,执行按照该程序的处理,进而,也可以在每次程序从服务器计算机被转发给该计算机时,逐次执行按照接受的程序的处理。而且,也可以设为通过不进行从服务器计算机向该计算机的程序的转发,而仅通过该执行指示和结果取得来实现处理功能的、所谓ASP(Application Service Provider,应用服务提供商)型的服务,执行上述的处理的结构。再者,在本方式的程序中,假设包含供电子计算机进行处理用的信息即基于程序的信息(虽然不是对于计算机的直接的指令,但是具有规定计算机的处理的性质的数据等)。
另外,在该方式中,设为通过使规定的程序在计算机上执行来构成本装置,但也可以通过硬件来实现这些处理内容的至少一部分。

Claims (10)

1.一种编码装置,用于为了压缩的目的,对整数值序列即输入序列进行编码,该整数值序列是通过将时域中的音信号变换为频域中的MDCT系数列并通过将MDCT系数列的各系数设为为非负整数值而得到的,包括:
整数选择部,对于输入序列中的S+1个整数值即输入整数值所构成的每个组,选择第一整数值和第二整数值2个整数值,选择S+1个所述输入整数值中的具有最小样本号码的整数值作为所述第一整数值,选择S+1个所述输入整数值中具有较大样本号码的S个输入整值中具有最大值的整数值作为所述第二整数值,得到用于指定所述第二整数值是S+1个输入整数值中具有较大样本号码的S个输入整值中的哪一个的选择信息,其中样本号码是系数在沿频率轴的S+1个MDCT系数子序列中的基本位置,S是2以上的整数;
整数整合部,通过可逆地变换所述第一整数值、所述第二整数值和与所述选择信息对应的整数值的每一组来得到1个整数值,即变换后整数值,并得到变换后整数序列,所述变换后整数序列是所获得的变换后整数值的序列;以及
整数编码部,决定对在变换后整数序列中包含的各变换后整数值分配的比特数,得到将变换后整数序列中包含的变换后整数值以二进制数表示的代码,将得到的代码收敛于所决定的比特数中,并且输出所得到的代码的代码群。
2.如权利要求1所述的编码装置,其中,
上述整数整合部将所述第一整数值设为x1,将所述第二整数值设为x2,将与选择信息对应的整数值设为s,通过式4或通过式4中以加s代替减s的公式来获得变换后整数值y,
3.一种用于将代码解码的解码装置,用于解压缩的目的,
所述解码装置包括:
整数解码部,用于得到由代码表示的二进制数,即“变换后整数值”;
整数分离部,通过可逆变换从一个变换后整数值得到第一整数值和第二整数值这2个整数值、以及选择信息;以及
整数组复原部,通过将所述第一整数值设为所述S+1个输出整数值中具有最小样本数的一个输出整数值,将所述第二整数值设为由所述S+1个输出整整数值中的具有较大样本号码的S个输出整数值之一的一个输出整数值,所述第二整数值由所述选择信息指定,并且将0设为S-1个剩余的输出整数值,获得一组S+1输出整数值,样本号码是系数在沿频率轴的S+1个MDCT系数子序列中的基本位置,S是2以上的整数。
4.如权利要求3所述的解码装置,其中,
上述整数分离部通过式5、6和3或通过式5'、6'和3得到与选择信息、第一整数值x1和第二整数值x2对应的整数值s,其中y表示变换后整数值,
s=Sy'-y…(6)
如果为偶数
否则
这里,式(3)的
是y'的平方根的下取整函数,
s=y'-Sy…(6')。
5.一种编码方法,用于为了压缩的目的,对整数值序列即输入序列进行编码,该整数值序列是通过将时域中的音信号变换为频域中的MDCT系数列并通过将MDCT系数列的各系数设为非负整数值而得到的,包括:
整数选择步骤,对于输入序列中的S+1个整数值即输入整数值所构成的每个组,选择第一整数值和第二整数值2个整数值,选择S+1个所述输入整数值中的具有最小样本号码的整数值作为所述第一整数值,选择S+1个所述输入整数值中具有较大样本号码的S个输入整值中具有最大值的整数值作为所述第二整数值,得到用于指定所述第二整数值是S+1个输入整数值中具有较大样本号码的S个输入整值中的哪一个的选择信息,其中样本号码是系数在沿频率轴的S+1个MDCT系数子序列中的基本位置,S是2以上的整数;
整数整合步骤,由整数整合部通过可逆地变换所述第一整数值、所述第二整数值和与所述选择信息对应的整数值的每一组来得到1个整数值,即变换后整数值,并得到变换后整数序列,所述变换后整数序列是所得到的变换后整数值的序列;以及
整数编码步骤,由整数编码部决定对在变换后整数序列中包含的各变换后整数值分配的比特数,得到将变换后整数序列中包含的变换后整数值以二进制数表示的代码,将得到的代码收敛于所决定的比特数中,并且输出所得到的代码的代码群。
6.如权利要求5所述的编码方法,其中,
在上述整数整合步骤中,将所述第一整数值设为x1,将所述第二整数值设为x2,将与选择信息对应的整数值设为s,通过式4或通过式4中以加s代替减s的公式来获得变换后整数值y,
7.一种用于将代码解码的解码方法,用于解压缩的目的,
所述解码方法包括:
整数解码步骤,由整数解码部用于得到由代码表示的二进制数即“变换后整数值”;
整数分离步骤,由整数分离部通过可逆变换从一个变换后整数值得到第一整数值和第二整数值这2个整数值、以及选择信息;以及
整数组复原步骤,由整数组复原部通过将所述第一整数值设为所述S+1个输出整数值中具有最小样本数的一个输出整数值,将所述第二整数值设为由所述S+1个输出整整数值中的具有较大样本号码的S个输出整数值之一的一个输出整数值,所述第二整数值由所述选择信息指定,并且将0设为S-1个剩余的输出整数值,获得一组S+1输出整数值,样本号码是系数在沿频率轴的S+1个MDCT系数子序列中的基本位置,S是2以上的整数。
8.如权利要求7所述的解码方法,其中,
在上述整数分离步骤中,通过式5、6和3或通过式5′、6v和3得到与选择信息、第一整数值x1和第二整数值x2对应的整数值s,其中y表示变换后整数值,
s=Sy′-y…(6)
如果为偶数
否则
这里,式(3)的
是y′的平方根的下取整函数,
s=y′-Sy…(6′)。
9.一种计算机可读取的记录介质,记录了用于使计算机执行权利要求5或6所述的编码方法的各步骤的程序。
10.一种计算机可读取的记录介质,记录了用于使计算机执行权利要求7或8所述的解码方法的各步骤的程序。
CN201980024567.3A 2018-04-13 2019-03-04 编码装置、解码装置、编码方法、解码方法、程序及记录介质 Active CN111971902B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2018077457 2018-04-13
JP2018-077457 2018-04-13
PCT/JP2019/008388 WO2019198383A1 (ja) 2018-04-13 2019-03-04 符号化装置、復号装置、符号化方法、復号方法、プログラム、および記録媒体

Publications (2)

Publication Number Publication Date
CN111971902A CN111971902A (zh) 2020-11-20
CN111971902B true CN111971902B (zh) 2024-03-29

Family

ID=68162864

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980024567.3A Active CN111971902B (zh) 2018-04-13 2019-03-04 编码装置、解码装置、编码方法、解码方法、程序及记录介质

Country Status (5)

Country Link
US (1) US11501782B2 (zh)
EP (1) EP3780396B1 (zh)
JP (1) JP7173134B2 (zh)
CN (1) CN111971902B (zh)
WO (1) WO2019198383A1 (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101523485A (zh) * 2006-10-02 2009-09-02 卡西欧计算机株式会社 音频编码装置、音频解码装置、音频编码方法、音频解码方法和信息记录介质
WO2010067800A1 (ja) * 2008-12-09 2010-06-17 日本電信電話株式会社 符号化方法、復号方法、それらの装置、プログラム及び記録媒体
CN103460287A (zh) * 2011-04-05 2013-12-18 日本电信电话株式会社 编码方法、解码方法、编码装置、解码装置、程序、记录介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003333339A (ja) 2002-05-13 2003-11-21 Sony Corp 画像符号化装置及び画像符号化方法
US6987468B1 (en) * 2004-10-29 2006-01-17 Microsoft Corporation Lossless adaptive encoding and decoding of integer data
ES2450265T3 (es) * 2006-11-14 2014-03-24 Nippon Telegraph & Telephone Corporation Método de codificación y método de decodificación de señal de imagen, método de codificación y método de decodificación de fuente de información, dispositivos para ellos, sus programas, y medio de memoria con programa registrado
WO2014054556A1 (ja) * 2012-10-01 2014-04-10 日本電信電話株式会社 符号化方法、符号化装置、プログラム、および記録媒体
EP3109611A4 (en) 2014-02-17 2017-08-30 Samsung Electronics Co., Ltd. Signal encoding method and apparatus, and signal decoding method and apparatus
ES2689120T3 (es) 2014-03-24 2018-11-08 Nippon Telegraph And Telephone Corporation Método de codificación, codificador, programa y soporte de registro

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101523485A (zh) * 2006-10-02 2009-09-02 卡西欧计算机株式会社 音频编码装置、音频解码装置、音频编码方法、音频解码方法和信息记录介质
WO2010067800A1 (ja) * 2008-12-09 2010-06-17 日本電信電話株式会社 符号化方法、復号方法、それらの装置、プログラム及び記録媒体
CN103460287A (zh) * 2011-04-05 2013-12-18 日本电信电话株式会社 编码方法、解码方法、编码装置、解码装置、程序、记录介质

Also Published As

Publication number Publication date
US20210166700A1 (en) 2021-06-03
EP3780396B1 (en) 2023-05-31
EP3780396A1 (en) 2021-02-17
CN111971902A (zh) 2020-11-20
US11501782B2 (en) 2022-11-15
WO2019198383A1 (ja) 2019-10-17
JP7173134B2 (ja) 2022-11-16
JPWO2019198383A1 (ja) 2021-04-08
EP3780396A4 (en) 2022-01-19

Similar Documents

Publication Publication Date Title
Gersho et al. Vector quantization and signal compression
JP2019028746A (ja) ネットワーク係数圧縮装置、ネットワーク係数圧縮方法およびプログラム
JP4601690B2 (ja) ベクトル符号化/復号化方法、装置、及びストリーム・メディア・プレイヤー
WO2011097963A1 (zh) 编码方法、解码方法、编码器和解码器
CN111971902B (zh) 编码装置、解码装置、编码方法、解码方法、程序及记录介质
KR20100025710A (ko) 무손실 부호화/복호화 장치 및 방법
WO2020095706A1 (ja) 符号化装置、復号装置、符号列のデータ構造、符号化方法、復号方法、符号化プログラム、復号プログラム
US8018359B2 (en) Conversion of bit lengths into codes
Belodedov et al. Development of an algorithm for optimal encoding of WAV files using genetic algorithms
JP2000165252A (ja) データ圧縮方法および装置
JP6885466B2 (ja) 符号化装置、復号装置、符号化方法、復号方法、符号化プログラム、復号プログラム
JP2004120623A (ja) 符号化装置、符号化方法、復号装置及び復号方法
CN110771045B (zh) 编码装置、解码装置、编码方法、解码方法、以及记录介质
JP3264626B2 (ja) ベクトル量子化装置
JP4462087B2 (ja) 符号化装置及び符号化方法
JP4960791B2 (ja) ベクトル量子化符号化装置、ベクトル量子化復号化装置、それらの方法、それらのプログラム、及びそれらの記録媒体
US6847317B2 (en) System and method for a dyadic-monotonic (DM) codec
Bhattacharjee et al. A Lossless compression technique to increase robustness in big data transmission system
JP2020102763A (ja) 変換装置、符号化装置、復号装置、これらの方法及びプログラム
CN114913863A (zh) 数字音信数据编码方法
JP2010537552A (ja) デジタル信号ソーティングに対するシステム、方法、および/または装置
JP2010016684A (ja) 符号化装置、符号化方法および符号化プログラム
Makwana et al. Speech compression using tree structured Vector Quantization
JPH07170192A (ja) ベクトル量子化装置
JP2007508580A (ja) 高圧縮利得を持つビットストリームの生成

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant