JP5336943B2 - Encoding method, decoding method, encoder, decoder, program - Google Patents
Encoding method, decoding method, encoder, decoder, program Download PDFInfo
- Publication number
- JP5336943B2 JP5336943B2 JP2009148956A JP2009148956A JP5336943B2 JP 5336943 B2 JP5336943 B2 JP 5336943B2 JP 2009148956 A JP2009148956 A JP 2009148956A JP 2009148956 A JP2009148956 A JP 2009148956A JP 5336943 B2 JP5336943 B2 JP 5336943B2
- Authority
- JP
- Japan
- Prior art keywords
- signal
- value
- decoded
- normalized
- quantized
- 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
Links
Images
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Description
本発明は音響信号の符号化方法と復号方法に関し、特に多段にベクトル量子化する符号化方法と復号方法に関する。 The present invention relates to an encoding method and a decoding method for an acoustic signal, and particularly to an encoding method and a decoding method for vector quantization in multiple stages.
信号系列をサンプルあたり1ビット以下で量子化する際は、ベクトル量子化が有効な手段である。この手法は入力のベクトルと、歪が最も小さいベクトルとを符号帳から選んで、その番号(以下、「インデックス」という。)を伝送するもので、量子化対象に即した符号帳を作成しておけば量子化歪の小さい量子化が可能である。しかしながら、符号帳のメモリ量や歪を計算する演算量は量子化ビット数の指数関数で増大するため、量子化ビット数の多いときの量子化は実現が困難である。これを解決する1つの手法が多段ベクトル量子化(特許文献1)である。また、近年、量子化ノイズの少ない高能率なベクトル量子化手法として、例えばSpherical Vector Quantization(SVQ)法(非特許文献1)など、予め設定された量子化ビット数の範囲内で、周波数成分をパルスとして立てていくベクトル量子化手法が広く利用されている。 Vector quantization is an effective means for quantizing a signal sequence with 1 bit or less per sample. This method selects an input vector and a vector with the least distortion from the codebook and transmits the number (hereinafter referred to as “index”). A codebook suitable for the quantization target is created. If this is done, quantization with small quantization distortion is possible. However, since the amount of codebook memory and the amount of computation for calculating distortion increase with an exponential function of the number of quantization bits, it is difficult to realize quantization when the number of quantization bits is large. One technique for solving this is multistage vector quantization (Patent Document 1). Further, in recent years, as an efficient vector quantization method with little quantization noise, for example, the frequency component is within a predetermined number of quantization bits such as the Spherical Vector Quantization (SVQ) method (Non-patent Document 1). A vector quantization method that stands as a pulse is widely used.
図1は、多段ベクトル量子化手法を用いた符号化器と復号器の機能構成例を示す図である。図2は符号化器と復号器の処理フローを示す図である。図2(A)は符号化器の処理フローを示しており、図2(B)は復号器の処理フローを示している。多段ベクトル量子化では、量子化部が多段に接続され、初段の第1量子化部は入力信号について動作し,次段以降は入力信号と前段までの量子化出力の誤差について動作する。このようにすると、メモリ量や演算量を現実的な範囲に抑えたままで、ベクトル量子化が可能となる。図中の多段ベクトル量子化の段数は、分かり易くするため2としてあるが、段数は2以上を用いた構成でも良い。量子化手法には、周波数領域に変換した成分を量子化する手法(非特許文献1)を例として用いた。 FIG. 1 is a diagram illustrating a functional configuration example of an encoder and a decoder using a multistage vector quantization method. FIG. 2 is a diagram showing a processing flow of the encoder and the decoder. FIG. 2A shows a processing flow of the encoder, and FIG. 2B shows a processing flow of the decoder. In multi-stage vector quantization, quantizers are connected in multiple stages, the first stage first quantizer operates on the input signal, and the subsequent stages operate on errors between the input signal and the quantized output up to the previous stage. In this way, it is possible to perform vector quantization while keeping the memory amount and calculation amount within a practical range. The number of stages of multistage vector quantization in the figure is 2 for the sake of clarity, but a configuration using two or more stages may be used. As a quantization method, a method (Non-Patent Document 1) for quantizing a component converted into a frequency domain is used as an example.
符号化器100は、周波数領域変換部101、正規化値計算部102、正規化値量子化部103、第1ベクトル量子化部104、誤差計算部105、第2ベクトル量子化部106を備える。復号器100’は、正規化値復号部107、第1ベクトル復号部108、第2ベクトル復号部109、誤差修正部110、時間領域変換部111を備える。
The encoder 100 includes a frequency
周波数領域変換部101は、入力信号x(n)を入力とし、L個の入力信号x(n)ごと(フレームごと)にL点の周波数成分を示す信号である周波数領域信号X(k)に変換する(S101)。ただし、nは時間領域での信号の番号(離散時間番号)を、kは周波数領域での信号の番号(離散周波数番号)を示している。所定の数Lとは、例えば64や80である。また、周波数領域変換方法としては、例えばMDCT(Modified Discrete Cosine Transform)がある。
The frequency
正規化値計算部102は、周波数領域信号X(k)を入力として、L点または各サブバンド(L点をさらに分割した周波数帯域で、例えば8点で1つのサブバンドを形成する)に応じた点数の周波数領域信号X(k)のパワーの平均値の平方根を、周波数領域信号X(k)の正規化値X− 0として出力する。L点の正規化値をX− 0として、例えばX− 0を次式のように計算する(S102)。
The normalized
以下の説明では、サブバンドでの正規化ではなく、L点の正規化値X− 0を用いた場合について説明する。
正規化値量子化部103は、正規化値計算部102で求めた正規化値X− 0を入力とし、正規化値X− 0を量子化して、正規化値量子化インデックスCSと、正規化値量子化インデックスCSに対応する量子化正規化値X−を出力する(S103)。
In the following description, the case of using the normalization value X - 0 of the L point instead of the subband normalization will be described.
第1ベクトル量子化部104は、周波数領域信号X(k)と量子化正規化値X−を入力として、周波数領域信号X(k)を、量子化正規化値X−で割り算する、もしくは逆数を乗ずることで正規化し、正規化周波数領域信号を求める。そして、正規化周波数領域信号を複数サンプル纏めてベクトル量子化して、量子化代表ベクトルのインデックスである第1ベクトル量子化インデックスC1と、第1ベクトル量子化インデックスC1に対応する信号に量子化正規化値X−を乗算して第1量子化信号X^(k)を求め、第1ベクトル量子化インデックスC1と第1量子化信号X^(k)出力する(S104)。
The first
誤差計算部105は、周波数領域信号X(k)と第1量子化信号X^(k)を入力として、周波数領域信号X(k)と第1量子化信号X^(k)の間の誤差を、例えば、
E(k)=X(k)−X^(k) (2)
のように計算し、誤差信号E(k)を出力する(S105)。
The
E (k) = X (k) -X ^ (k) (2)
And an error signal E (k) is output (S105).
第2ベクトル量子化部106は、誤差信号E(k)と量子化正規化値X−を入力とし、誤差信号E(k)を、量子化正規化値X−で割り算する、もしくは逆数を乗ずることで正規化し、正規化誤差信号を求める。そして、正規化誤差信号を複数サンプル纏めてベクトル量子化して、量子化代表ベクトルのインデックスを第2ベクトル量子化インデックスC2として出力する(S106)。
Second
符号化器100は、第1ベクトル量子化インデックスC1と第2ベクトル量子化インデックスC2と正規化値量子化インデックスCSが含まれる符号を、復号器100’に送る。そして、復号器100’では、以下のような処理が行われる。
正規化値復号部107は、正規化値量子化インデックスCSを入力とし、正規化値量子化インデックスCSに対応する復号正規化値を求め、復号量子化正規化値X−として出力する(S107)。
Encoder 100, a code included first vector quantization index C 1 and the second vector quantization index C 2 and the normalized value quantization index C S, and sends to the decoder 100 '. The decoder 100 ′ performs the following processing.
The normalized
第1ベクトル復号部108、第1ベクトル量子化インデックスC1と復号量子化正規化値X−を入力とし、第1ベクトル量子化インデックスC1を復号し、フレーム単位の正規化された信号を正規化第1復号量子化信号として求め、正規化第1復号量子化信号に復号量子化正規化値X−を乗算することで逆正規化し、第1復号量子化信号X^(k)として出力する(S108)。
The first
第2ベクトル復号部109は、第2ベクトル量子化インデックスC2と復号量子化正規化値X−を入力とし、第2ベクトル量子化インデックスC2を復号し、正規化された信号を正規化誤差信号として求め、正規化誤差信号に復号量子化正規化値X−を乗算することで逆正規化し、復号量子化誤差信号E^(k)として出力する(S109)。
Second
誤差修正部110は、第1復号量子化信号X^(k)と復号量子化誤差信号E^(k)を入力とし、復号信号Z(k)を、例えば、
Z(k)=X^(k)+E^(k) (3)
のように求め、復号信号Z(k)を出力する(S110)。
時間領域変換部111は、復号信号Z(k)を入力とし、例えばフレーム点数L分の逆MDCTを用いて時間領域変換を行い、フレーム点数L分の出力信号z(n)を出力する(S111)。
The
Z (k) = X ^ (k) + E ^ (k) (3)
Thus, the decoded signal Z (k) is output (S110).
The time
上述の符号化器100と復号器100’では、周波数領域信号を量子化するために必要なビット数が足りないと、入力信号に存在するはずの周波数成分が出力信号には存在しないこと(周波数成分の欠損)が生じてしまうことがある。 In the above-described encoder 100 and decoder 100 ′, if the number of bits necessary to quantize the frequency domain signal is insufficient, the frequency component that should exist in the input signal does not exist in the output signal (frequency Component deficiency) may occur.
しかし、符号化器100と復号器100’は、第1量子化信号の値(前段のベクトル量子化で得られた量子化された信号の値)が0か0以外かに関係なく、第1量子化信号と符号化対象の信号との誤差を示す信号を後段のベクトル量子化の対象としている。つまり、従来技術には、ミュージカルノイズ(ある周波数成分の有無が時間的に変化したときに生じることが多い人間が敏感に感じるノイズ)のような人間が敏感に感じるノイズを無くすための特別な工夫はない。したがって、元の信号と復号された信号との誤差のパワーが数値の上では小さくなったとしても、人間の感覚が敏感な誤差に着目した符号化ではないので、ミュージカルノイズが残りやすいという課題がある。 However, the encoder 100 and the decoder 100 ′ have the first quantized signal regardless of whether the value of the first quantized signal (the value of the quantized signal obtained by the preceding vector quantization) is 0 or other than 0. A signal indicating an error between the quantized signal and the signal to be encoded is a target of vector quantization in the subsequent stage. In other words, the conventional technology has a special device for eliminating noise that humans feel sensitive, such as musical noise (noise that humans often feel when the presence or absence of a certain frequency component changes over time). There is no. Therefore, even if the power of error between the original signal and the decoded signal is small in numerical value, it is not an encoding that focuses on errors that are sensitive to human senses, so there is a problem that musical noise tends to remain. is there.
本発明は、このような課題に鑑みてなされたものであり、符号化対象信号を多段量子化するために必要なビット数が足りず、復号後に信号の欠損が生じてしまう場合であっても、2段目以降のベクトル量子化でミュージカルノイズを軽減できる多段ベクトル量子化方法を提供することを目的とする。 The present invention has been made in view of such a problem, and even when the number of bits necessary for multistage quantization of a signal to be encoded is insufficient and a signal loss occurs after decoding. An object of the present invention is to provide a multistage vector quantization method capable of reducing musical noise by second-stage and subsequent vector quantization.
本発明の符号化方法は、少なくとも正規化値計算ステップ、正規化値量子化ステップ、第1ベクトル量子化ステップ、誤差計算ステップ、第2ベクトル量子化ステップを有する。正規化値計算ステップは、所定サンプル数ごとの符号化対象の信号サンプル(以下、「第1符号化対象信号」という)の正規化値を求める。「第1符号化対象信号」としては、周波数領域に変換された音響信号、周波数領域の音響信号の中の特定の周波数帯(例えば、8kHz〜14kHzなど)の音響信号、フレーム単位に分割された時間領域の音響信号などがありえるが、これらに限定する必要はない。所定サンプル数とは、1フレームを構成する信号のサンプル数の場合には80、64などの数がある。また、1フレームを構成する信号をさらに分割した、サブフレーム、サブバンド、サブベクトルと呼ばれる単位の場合には、8などの数がある。正規化値量子化ステップは、正規化値を量子化し、正規化値量子化インデックスと量子化正規化値を求める。第1ベクトル量子化ステップは、量子化正規化値を用いて第1符号化対象信号を正規化して正規化第1符号化対象信号を求め、正規化第1符号化対象信号を複数サンプル纏めてベクトル量子化して、第1ベクトル量子化インデックスと第1量子化信号を求める。誤差計算ステップは、第1量子化信号の値が0の場合は、第1符号化対象信号の絶対値と量子化正規化値から誤差信号を求め、第1量子化信号の値が0以外の場合は、第1符号化対象信号の絶対値と第1量子化信号の絶対値から誤差信号を求める。第2ベクトル量子化ステップは、誤差信号または誤差信号に対応した信号を複数サンプル纏めてベクトル量子化し、第2ベクトル量子化インデックスを求める。 The encoding method of the present invention includes at least a normalized value calculation step, a normalized value quantization step, a first vector quantization step, an error calculation step, and a second vector quantization step. In the normalization value calculation step, a normalization value of a signal sample to be encoded for each predetermined number of samples (hereinafter referred to as “first encoding target signal”) is obtained. As the “first encoding target signal”, an acoustic signal converted into the frequency domain, an acoustic signal in a specific frequency band (for example, 8 kHz to 14 kHz, etc.) in the frequency domain acoustic signal, or divided into frame units There may be time-domain acoustic signals, but it is not necessary to limit them. The predetermined number of samples includes numbers such as 80 and 64 in the case of the number of samples of a signal constituting one frame. In the case of units called subframes, subbands, and subvectors obtained by further dividing a signal constituting one frame, there are numbers such as eight. In the normalized value quantization step, the normalized value is quantized to obtain a normalized value quantization index and a quantized normalized value. The first vector quantization step normalizes the first encoding target signal using the quantized normalized value to obtain a normalized first encoding target signal, and collects the normalized first encoding target signal by a plurality of samples. Vector quantization is performed to obtain a first vector quantization index and a first quantized signal. In the error calculation step, when the value of the first quantized signal is 0, an error signal is obtained from the absolute value of the first encoding target signal and the quantized normalized value, and the value of the first quantized signal is other than 0. In this case, an error signal is obtained from the absolute value of the first encoding target signal and the absolute value of the first quantized signal. In the second vector quantization step, a plurality of samples of the error signal or a signal corresponding to the error signal are vector-quantized to obtain a second vector quantization index.
本発明の復号方法は、正規化値復号ステップ、第1ベクトル復号ステップ、第2ベクトル復号ステップ、誤差修正ステップを有する。復号方法では、第1ベクトル量子化インデックスと第2ベクトル量子化インデックスと正規化値量子化インデックスを含む符号から、復号信号を求める。正規化値復号ステップは、正規化値量子化インデックスに対応する復号正規化値を求め、復号量子化正規化値として出力する。第1ベクトル復号ステップは、第1ベクトル量子化インデックスに対応した正規化第1復号量子化信号を求め、正規化第1復号量子化信号と復号量子化正規化値を用いて第1復号量子化信号を求める。第2ベクトル復号ステップは、第2ベクトル量子化インデックスに対応した正規化第2復号量子化信号を求め、正規化第2復号量子化信号と前記復号量子化正規化値を用いて第2復号量子化信号を求める。 The decoding method of the present invention includes a normalized value decoding step, a first vector decoding step, a second vector decoding step, and an error correction step. In the decoding method, a decoded signal is obtained from a code including a first vector quantization index, a second vector quantization index, and a normalized value quantization index. The normalized value decoding step obtains a decoded normalized value corresponding to the normalized value quantization index and outputs it as a decoded quantized normalized value. The first vector decoding step obtains a normalized first decoded quantized signal corresponding to the first vector quantization index, and uses the normalized first decoded quantized signal and the decoded quantized normalized value to perform the first decoding quantization Find the signal. The second vector decoding step obtains a normalized second decoded quantized signal corresponding to the second vector quantization index, and uses the normalized second decoded quantized signal and the decoded quantized normalized value to determine the second decoded quantum Obtain the quantified signal.
誤差修正ステップは、第1復号量子化信号の値が0の場合は、復号量子化正規化値と第2復号量子化信号の加重加算を用いた計算結果にランダムに生成した1または−1を乗算し、乗算結果を復号信号とする。あるいは、第1復号量子化信号の値が0かつ1フレーム過去の復号量子化正規化値が0の場合は、現在のフレームの復号量子化正規化値と前記第2復号量子化信号の加重加算の結果にランダムに生成した1または−1を乗算し、乗算結果を復号信号とし、第1復号量子化信号の値が0かつ1フレーム過去の復号量子化正規化値が0以外の場合は、現在のフレームの復号量子化正規化値と第2復号量子化信号と1フレーム過去の復号量子化正規化値との加重加算の結果にランダムに生成した1または−1を乗算し、乗算結果を復号信号としてもよい。また、第1復号量子化信号の値が0以外の場合は、第1復号量子化信号の絶対値と第2復号量子化信号の和を用いた計算結果を復号信号とする。例えば、第1復号量子化信号の値が負の場合は、第1復号量子化信号の絶対値と第2復号量子化信号の和に−1を乗算し、乗算結果を復号信号とする。第1復号量子化信号の値が正の場合は、第1復号量子化信号の絶対値と第2復号量子化信号の和を復号信号とする。 In the error correction step, when the value of the first decoded quantized signal is 0, randomly generated 1 or −1 is calculated as a calculation result using weighted addition of the decoded quantized normalized value and the second decoded quantized signal. Multiplication is performed, and the multiplication result is used as a decoded signal. Alternatively, when the value of the first decoded quantized signal is 0 and the decoded quantized normalized value of one frame past is 0, the weighted addition of the decoded quantized normalized value of the current frame and the second decoded quantized signal When the result of the above is multiplied by 1 or −1 randomly generated, the multiplication result is a decoded signal, and the value of the first decoded quantized signal is 0 and the decoded quantized normalized value in the past of one frame is other than 0, The result of weighted addition of the decoded quantization normalized value of the current frame, the second decoded quantized signal, and the decoded quantized normalized value of one frame past is multiplied by 1 or −1 generated at random, and the multiplication result is It may be a decoded signal. In addition, when the value of the first decoded quantized signal is other than 0, a calculation result using the sum of the absolute value of the first decoded quantized signal and the second decoded quantized signal is set as a decoded signal. For example, when the value of the first decoded quantized signal is negative, the sum of the absolute value of the first decoded quantized signal and the second decoded quantized signal is multiplied by −1, and the multiplication result is used as a decoded signal. When the value of the first decoded quantized signal is positive, the sum of the absolute value of the first decoded quantized signal and the second decoded quantized signal is used as the decoded signal.
本発明の符号化方法と復号方法によれば、二段以降のベクトル量子化部において、第1符号化対象信号と第1量子化信号との間の誤差でなく、第1符号化対象信号を絶対値領域に置き換え、第1符号化対象信号の絶対値と第1量子化信号の絶対値の間の差分を量子化する。したがって、第1符号化対象信号と第1量子化信号の間の誤差と比べ、二段以降で量子化すべき誤差のダイナミックレンジを2分の1以下にできる。 According to the encoding method and the decoding method of the present invention, in the vector quantization unit after the second stage, the first encoding target signal is not the error between the first encoding target signal and the first quantization signal. The absolute value region is replaced, and the difference between the absolute value of the first encoding target signal and the absolute value of the first quantized signal is quantized. Therefore, compared to the error between the first encoding target signal and the first quantized signal, the dynamic range of the error to be quantized in the second and subsequent stages can be reduced to half or less.
また、前段までのベクトル量子化部においてパルスが立たなかった第1量子化信号の値は0であるため、第1符号化対象信号の絶対値との間の誤差が大きい。本発明では、前段までの量子化出力の値が0である第1符号化対象信号については、第1符号化対象信号の絶対値と量子化正規化値の間の差分を量子化するので、ベクトル量子化する誤差を小さくできる。 Further, since the value of the first quantized signal for which no pulse is generated in the vector quantizing unit up to the previous stage is 0, an error between the absolute value of the first encoding target signal is large. In the present invention, for the first encoding target signal whose quantization output value up to the previous stage is 0, the difference between the absolute value of the first encoding target signal and the quantization normalized value is quantized. The error of vector quantization can be reduced.
このように、本発明の符号化方法と復号方法は、量子化する誤差の大きさを大幅に減らすことができるため、ベクトル量子化の効率を上げることができる。 As described above, the encoding method and the decoding method of the present invention can greatly reduce the magnitude of the error to be quantized, and can increase the efficiency of vector quantization.
以下、本発明の実施の形態について、詳細に説明する。なお、同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。 Hereinafter, embodiments of the present invention will be described in detail. In addition, the same number is attached | subjected to the structure part which has the same function, and duplication description is abbreviate | omitted.
原理
図3は、従来の多段ベクトル量子化のイメージを示す図である。横軸は周波数成分の番号、縦軸は各周波数成分の値を示している。この図では、初段のベクトル量子化の対象となる信号(第1符号化対象信号)は、周波数領域信号(MDCT係数)であり、細い線で示されている。初段のベクトル量子化後の信号(第1量子化信号)は、太い線で示されている。少ないビット(例えば37ビット)でベクトル量子化した場合、値が0の第1量子化信号(周波数成分において値が0の箇所)が多数発生する。また、従来の後段のベクトル量子化では、図の第1符号化対象信号と第1量子化信号との差分を複数サンプル纏めてベクトル量子化している。
Principle FIG. 3 is a diagram showing an image of conventional multistage vector quantization. The horizontal axis indicates the frequency component number, and the vertical axis indicates the value of each frequency component. In this figure, the signal (first encoding target signal) to be subjected to vector quantization in the first stage is a frequency domain signal (MDCT coefficient) and is indicated by a thin line. The signal after the first stage vector quantization (first quantized signal) is indicated by a thick line. When vector quantization is performed with a small number of bits (for example, 37 bits), a large number of first quantized signals having a value of 0 (locations having a value of 0 in the frequency component) are generated. Further, in the conventional vector quantization in the latter stage, a plurality of samples of the difference between the first encoding target signal and the first quantized signal in the figure are vector-quantized.
図4は、本発明の多段ベクトル量子化のイメージを示す図である。この図も横軸は周波数成分の番号、縦軸は各周波数成分の値を示している。また、細い線は第1符号化対象信号の絶対値を、太い線は第1量子化信号の絶対値を示している。本発明では、第1量子化信号の値が0のときには、第1符号化対象信号の絶対値と量子化正規化値との差分を後段でベクトル量子化とする。なお、図4の量子化正規化値は、8サンプルごとに求めた例である。 FIG. 4 is a diagram showing an image of multistage vector quantization according to the present invention. In this figure, the horizontal axis indicates the frequency component number, and the vertical axis indicates the value of each frequency component. The thin line indicates the absolute value of the first encoding target signal, and the thick line indicates the absolute value of the first quantized signal. In the present invention, when the value of the first quantized signal is 0, the difference between the absolute value of the first encoding target signal and the quantized normalized value is set to vector quantization in the subsequent stage. In addition, the quantization normalization value of FIG. 4 is an example calculated | required for every 8 samples.
次に、図5〜7を用いて手順について説明する。図5のように、初段のベクトル量子化後に、第1符号化対象信号と第1量子化信号とを絶対値で表す。そして、図6に示すように、サブベクトルごとに量子化正規化値を求める。この図からも、値が0の第1量子化信号と第1符号化対象信号との誤差よりも、量子化正規化値と第1符号化対象信号との差分の方が小さいことが分かる。したがって、第1量子化信号の値が0のときには、第1符号化対象信号の絶対値と量子化正規化値との差分を後段でベクトル量子化する方が効率的である。また、量子化正規化値は、従来の復号器でも知る情報なので、量子化正規化値を符号化に利用しても復号器に新たな情報を伝える必要はない。図6では8サンプルごとに量子化正規化値を求めているが、64サンプルで1つの量子化正規化値を求めてもよいし、他の数ごとに量子化正規化値を求めてもよい。ただし、適当なサンプル数ごとに量子化正規化値を求めれば、量子化正規化値と第1符号化対象信号との差分を小さくできる。図7は、第1符号化対象信号の例と本発明の誤差信号を生成するための基準となる信号とを比較するための図である。細い線は第1符号化対象信号の絶対値の例である。太い線は、第1量子化信号の値が0以外のときには第1量子化信号の絶対値とし、第1量子化信号の値が0のときには量子化正規化値としたときの線である。この図から、差分を求めるときに正規化値を基準とすれば、差分を小さくできることがわかる。 Next, the procedure will be described with reference to FIGS. As shown in FIG. 5, after the first-stage vector quantization, the first encoding target signal and the first quantized signal are represented by absolute values. Then, as shown in FIG. 6, a quantized normalized value is obtained for each subvector. This figure also shows that the difference between the quantized normalized value and the first encoding target signal is smaller than the error between the first quantized signal having a value of 0 and the first encoding target signal. Therefore, when the value of the first quantized signal is 0, it is more efficient to vector quantize the difference between the absolute value of the first encoding target signal and the quantized normalized value in the subsequent stage. Further, since the quantized normalized value is information that can be known by a conventional decoder, it is not necessary to transmit new information to the decoder even if the quantized normalized value is used for encoding. In FIG. 6, the quantized normalized value is obtained every 8 samples, but one quantized normalized value may be obtained from 64 samples, or the quantized normalized value may be obtained every other number. . However, if the quantization normalization value is obtained for each appropriate number of samples, the difference between the quantization normalization value and the first encoding target signal can be reduced. FIG. 7 is a diagram for comparing an example of the first encoding target signal with a signal serving as a reference for generating the error signal of the present invention. The thin line is an example of the absolute value of the first encoding target signal. A thick line is a line when the first quantized signal is an absolute value of the first quantized signal when the value of the first quantized signal is other than 0, and a quantized normalized value when the value of the first quantized signal is 0. From this figure, it can be seen that the difference can be reduced if the normalized value is used as a reference when obtaining the difference.
具体例
図8に実施例1の符号化器と復号器の構成例を示す。図9に実施例1の符号化器と復号器の処理フロー例を示す。図9(A)は符号化器の処理フローを示しており、図9(B)は復号器の処理フローを示している。符号化器200は、周波数領域変換部101、正規化値計算部102、正規化値量子化部103、第1ベクトル量子化部104、誤差計算部205、第2ベクトル量子化部106を備える。復号器200’は、正規化値復号部107、第1ベクトル復号部108、第2ベクトル復号部109、誤差修正部210、時間領域変換部111を備える。符号化器200は、符号化器100と誤差計算部205が異なる。また、復号器200’は、復号器100’と誤差修正部210が異なる。その他の構成部は、符号化器100、復号器100’と同じである。なお、この実施例での第1符号化対象信号は周波数領域信号である。
Specific Example FIG. 8 shows a configuration example of the encoder and decoder of the first embodiment. FIG. 9 shows an example of the processing flow of the encoder and decoder of the first embodiment. FIG. 9A shows the processing flow of the encoder, and FIG. 9B shows the processing flow of the decoder. The
誤差計算部205は、第1量子化信号X^(k)の値が0の場合は、周波数領域信号X(k)の絶対値と量子化正規化値X−から誤差信号を求め、第1量子化信号X^(k)の値が0以外の場合は、周波数領域信号X(k)の絶対値と第1量子化信号X^(k)の絶対値から誤差信号E(k)を求める(S205)。図10に誤差計算部205の具体的な処理フロー例を示す。k=0として処理を始める。kがL(周波数領域信号X(k)の数)よりも小さいかを確認する(S2051)。ステップS2051がYesの場合、X^(k)が0かを確認する(S2052)。ステップS2052がYesの場合(第1量子化信号X^(k)の値が0の場合)、周波数領域信号X(k)の絶対値と量子化正規化値X−の差分
|X(k)|−A・X−
を誤差信号E(k)とする(S2053)。ここで、Aは正規化値の調整用の正の数(例えば1.0)である。ステップS2052がNoの場合(第1量子化信号X^(k)の値が0以外の場合)、周波数領域信号X(k)の絶対値と第1量子化信号X^(k)の絶対値の差分である
|X(k)|−|X^(k)|
を誤差信号E(k)とする(S2054)。kを1増加させ(S2055)、ステップS2051に戻る。ステップS2051がNoの場合、処理を終了する。
Is an error signal E (k) (S2053). Here, A is a positive number (for example, 1.0) for adjusting the normalized value. When Step S2052 is No (when the value of the first quantized signal X ^ (k) is other than 0), the absolute value of the frequency domain signal X (k) and the absolute value of the first quantized signal X ^ (k) | X (k) |-| X ^ (k) |
Is an error signal E (k) (S2054). k is increased by 1 (S2055), and the process returns to step S2051. If step S2051 is No, the process ends.
復号器200’の誤差修正部210は、第1復号量子化信号X^(k)の値が0の場合は、復号量子化正規化値X−と第2復号量子化信号E^(k)の加重加算を用いた計算結果にランダムに生成した1または−1を乗算し、乗算結果を復号信号Z(k)とし、第1復号量子化信号X^(k)の値が0以外の場合は、第1復号量子化信号X^(k)と第2復号量子化信号E^(k)の和を用いた計算結果を復号信号Z(k)とする(S210)。図11に誤差修正部210の具体的な処理フロー例を示す。k=0として処理を始める。kがL(周波数領域信号X(k)の数)よりも小さいかを確認する(S2101)。ステップS2101がYesの場合、X^(k)が0かを確認する(S2102)。ステップS2102がYesの場合(第1復号量子化信号X^(k)の値が0の場合)、復号量子化正規化値X−と第2復号量子化信号E^(k)の加重加算A・X−+E^(k)にランダムに生成した1または−1を乗算し、乗算結果を復号信号Z(k)とする(S2103)。ここで、Aは正規化値の調整用の正の数(例えば1.0)である。また、図中のrand(k)は、ランダムに1または−1を生成する関数を示しており、乱数などを用いて計算してもよい。このように、ランダムに1または−1を乗算するのは、すべての周波数で復号信号が正の値となったのでは、歪んだ音になってしまうからであり、ランダムに1または−1を乗算することによって自然な音を作り出すことができる。ステップS2102がNoの場合は、X^(k)が負かを確認する(S2104)。ステップS2104がYesの場合(第1復号量子化信号の値が負の場合)は、第1復号量子化信号X^(k)の絶対値と第2復号量子化信号E^(k)の和に−1を乗算し、乗算結果を復号信号Z(k)とする(S2105)。ステップS2104がNoの場合(第1復号量子化信号の値が正の場合)は、第1復号量子化信号X^(k)の絶対値と第2復号量子化信号E^(k)の和を復号信号Z(k)とする(S2106)。kを1増加させ(S2107)、ステップS2101に戻る。ステップS2101がNoの場合、処理を終了する。
実施例1の符号化方法と復号方法では、絶対値を利用するので符号の情報(±の情報)が失われる場合がある。しかし、二段以降のベクトル量子化部において、第1符号化対象信号(本実施例では周波数領域信号)と第1量子化信号との間の誤差でなく、第1符号化対象信号を絶対値領域に置き換え、第1符号化対象信号の絶対値と第1量子化信号の絶対値の間の差分を量子化する。したがって、第1符号化対象信号と第1量子化信号の間の誤差と比べ、二段以降で量子化すべき誤差のダイナミックレンジを2分の1以下にできる。また、前段までのベクトル量子化部においてパルスが立たなかった第1量子化信号の値は0であるため、第1符号化対象信号の絶対値との間の誤差が大きい。本発明では、前段までの量子化出力の値が0である第1符号化対象信号については、第1符号化対象信号の絶対値と量子化正規化値の間の差分を量子化するので、ベクトル量子化する誤差を小さくできる。 In the encoding method and the decoding method according to the first embodiment, since the absolute value is used, code information (± information) may be lost. However, in the second stage and subsequent vector quantization units, the first encoding target signal is not an absolute value but an error between the first encoding target signal (frequency domain signal in this embodiment) and the first quantization signal. The difference between the absolute value of the first encoding target signal and the absolute value of the first quantized signal is quantized by replacing with the region. Therefore, compared to the error between the first encoding target signal and the first quantized signal, the dynamic range of the error to be quantized in the second and subsequent stages can be reduced to half or less. Further, since the value of the first quantized signal for which no pulse is generated in the vector quantizing unit up to the previous stage is 0, an error between the absolute value of the first encoding target signal is large. In the present invention, for the first encoding target signal whose quantization output value up to the previous stage is 0, the difference between the absolute value of the first encoding target signal and the quantization normalized value is quantized. The error of vector quantization can be reduced.
このように、本実施例の符号化方法と復号方法は、量子化する誤差の大きさを大幅に減らすことができるため、符号の情報が失われたとしても、総合的にはベクトル量子化の効率を上げることができる。 As described above, since the encoding method and the decoding method of the present embodiment can greatly reduce the magnitude of the error to be quantized, even if the code information is lost, the vector quantization is comprehensively performed. Efficiency can be increased.
なお、本実施例では、第1ベクトル量子化部104の符号化の対象となる信号(第1符号化対象信号)は周波数領域に変換された音響信号を前提としていた。しかし、この信号に限定する必要はなく、周波数領域の音響信号の中の特定の周波数帯(例えば、8kHz〜14kHzなど)の音響信号を第1符号化対象信号としてもよいし、フレーム単位に分割された時間領域の音響信号を第1符号化対象信号としてもよい。
In the present embodiment, the signal (first encoding target signal) to be encoded by the first
実施例2では、復号器側の量子化正規化値を決めるときに、1つ過去のフレームの量子化正規化値も考慮する点が実施例1と異なる。構成と処理フローを示す図は実施例1と同じであり、図8が実施例2の符号化器と復号器の構成例を、図9が実施例2の符号化器と復号器の処理フロー例を示す。図9(A)は符号化器の処理フローを示しており、図9(B)は復号器の処理フローを示している。実施例2の符号化器200は実施例1と同じである。実施例2の復号器250’は、正規化値復号部157、第1ベクトル復号部108、第2ベクトル復号部109、誤差修正部210、時間領域変換部111を備える。復号器250’は、復号器200’と正規化値復号部157が異なる。その他の構成部は実施例1と同じである。
The second embodiment is different from the first embodiment in that the quantization normalization value of the previous frame is also considered when determining the quantization normalization value on the decoder side. The diagram showing the configuration and the processing flow is the same as that of the first embodiment, FIG. 8 shows a configuration example of the encoder and decoder of the second embodiment, and FIG. 9 shows the processing flow of the encoder and decoder of the second embodiment. An example is shown. FIG. 9A shows the processing flow of the encoder, and FIG. 9B shows the processing flow of the decoder. The
正規化値復号部157は、正規化値量子化インデックスに対応する復号正規化値X− Cを求める。復号正規化値X− Cは処理対象となっている現在のフレームの復号正規化値である。そして、1フレーム前(1フレーム過去)の復号正規化値X− Pが0の場合は、現在のフレームの復号正規化値X− Cを、復号量子化正規化値X−として出力する。1フレーム前の復号正規化値X− Pが0でない場合は、現在のフレームの復号正規化値X− Cと1フレーム前の復号正規化値X− Pとの加重加算
X−=αX− C+βX− P
を、復号量子化正規化値X−として出力する(S157)。αとβは調整係数を表し、例えばそれぞれ0.5とすればよい。
The normalized
And decoding quantized normalization value X - is output as (S157). α and β represent adjustment coefficients, for example, each may be set to 0.5.
実施例2の符号化方法と復号方法はこのような処理なので、実施例1の符号化方法、復号方法と同様の効果が得られる。さらに、復号器側の復号量子化正規化値X−の時間軸方向の不連続性によって量子化出力に生じるミュージカルノイズを軽減することができる。本実施例では、周波数成分全ての復号正規化値に基づき復号量子化正規化値を計算する方法を示したが、例えば、8点ずつのサブベクトルごとに纏めてベクトル量子化する量子化方法を用いる場合、8点ずつの復号正規化値から求められた復号量子化正規化値に基づき、各サブベクトルの復号量子化正規化値を計算してもよい。 Since the encoding method and decoding method of the second embodiment are such processes, the same effects as the encoding method and decoding method of the first embodiment can be obtained. Furthermore, he decoded quantized normalization value X decoder side - it is possible to reduce the musical noise generated in quantizing the output by the time-axis direction of the discontinuity. In the present embodiment, a method of calculating a decoded quantization normalized value based on a decoded normalized value of all frequency components has been shown. However, for example, a quantization method for performing vector quantization for each sub-vector of 8 points is used. When used, the decoded quantized normalized value of each subvector may be calculated based on the decoded quantized normalized value obtained from the decoded normalized value of 8 points.
なお、本実施例では、第1ベクトル量子化部104の符号化の対象となる信号(第1符号化対象信号)は周波数領域に変換された音響信号を前提としていた。しかし、この信号に限定する必要はなく、周波数領域の音響信号の中の特定の周波数帯(例えば、8kHz〜14kHzなど)の音響信号を第1符号化対象信号としてもよいし、フレーム単位に分割された時間領域の音響信号を第1符号化対象信号としてもよい。
In the present embodiment, the signal (first encoding target signal) to be encoded by the first
実施例3では、誤差修正部での復号信号の生成方法が実施例1と異なる。構成と処理フローを示す図は実施例1と同じであり、図8が実施例3の符号化器と復号器の構成例を、図9が実施例3の符号化器と復号器の処理フロー例を示す。図9(A)は符号化器の処理フローを示しており、図9(B)は復号器の処理フローを示している。実施例3の符号化器200は実施例1と同じである。実施例3の復号器270’は、正規化値復号部107、第1ベクトル復号部108、第2ベクトル復号部109、誤差修正部275、時間領域変換部111を備える。復号器270’は、復号器200’と誤差修正部275が異なる。その他の構成部は実施例1と同じである。
In the third embodiment, the method of generating a decoded signal in the error correction unit is different from the first embodiment. The diagram showing the configuration and the processing flow is the same as that of the first embodiment, FIG. 8 is a configuration example of the encoder and decoder of the third embodiment, and FIG. 9 is the processing flow of the encoder and decoder of the third embodiment. An example is shown. FIG. 9A shows the processing flow of the encoder, and FIG. 9B shows the processing flow of the decoder. The
誤差修正部275は、第1復号量子化信号X^(k)の値が0かつ1フレーム過去の復号量子化正規化値X−’が0の場合は、現在のフレームの復号量子化正規化値X−と第2復号量子化信号E^(k)の加重加算の結果にランダムに生成した1または−1を乗算し、乗算結果を復号信号Z(k)とする。第1復号量子化信号X^(k)の値が0かつ1フレーム過去の復号量子化正規化値X−’が0以外の場合は、現在のフレームの復号量子化正規化値X−と第2復号量子化信号E^(k)と1フレーム過去の復号量子化正規化値X−’との加重加算の結果にランダムに生成した1または−1を乗算し、乗算結果を復号信号とする。また、第1復号量子化信号の値が0以外の場合は、第1復号量子化信号X^(k)の絶対値と第2復号量子化信号E^(k)の和を用いた計算結果を復号信号とする(S275)。
If the value of the first decoded quantized signal X ^ (k) is 0 and the decoded quantized normalization value X − ′ of one frame in the past is 0, the
図12に誤差修正部275の具体的な処理フローの例を示す。k=0として処理を始める。kがL(周波数領域信号X(k)の数)よりも小さいかを確認する(S2801)。ステップS2801がYesの場合、X^(k)が0かを確認する(S2802)。ステップS2802がYesの場合(第1復号量子化信号X^(k)の値が0の場合)、1フレーム過去の復号量子化正規化値X−’が0かを確認する(S2803)。ステップS2803がYesの場合、復号量子化正規化値X−と第2復号量子化信号E^(k)の加重加算A・X−+E^(k)にランダムに生成した1または−1を乗算し、乗算結果を復号信号Z(k)とする(S2804)。ステップS2803がNoの場合、現在のフレームの復号量子化正規化値X−と第2復号量子化信号E^(k)と1フレーム過去の復号量子化正規化値X−’との加重加算
[α(A・X−+E^(k))+β・A・X−’]
にランダムに生成した1または−1を乗算し、乗算結果を復号信号Z(k)とする(S2805)。図中のrand(k)は、ランダムに1または−1を生成する関数を示しており、乱数などを用いて計算してもよい。このように、ランダムに1または−1を乗算するのは、すべての周波数で復号信号が正の値となったのでは、歪んだ音になってしまうからであり、ランダムに1または−1を乗算することによって自然な音を作り出すことができる。ステップS2802がNoの場合は、X^(k)が負かを確認する(S2806)。ステップS2806がYesの場合(第1復号量子化信号の値が負の場合)は、第1復号量子化信号X^(k)の絶対値と第2復号量子化信号E^(k)の和に−1を乗算し、乗算結果を復号信号Z(k)とする(S2807)。ステップS2806がNoの場合(第1復号量子化信号の値が正の場合)は、第1復号量子化信号X^(k)の絶対値と第2復号量子化信号E^(k)の和を復号信号Z(k)とする(S2808)。kを1増加させ(S2809)、ステップS2801に戻る。ステップS2801がNoの場合、処理を終了する。
FIG. 12 shows an example of a specific processing flow of the
Is multiplied by randomly generated 1 or −1, and the multiplication result is set as a decoded signal Z (k) (S2805). Rand (k) in the figure indicates a function that randomly generates 1 or −1, and may be calculated using a random number or the like. Thus, the reason why 1 or −1 is randomly multiplied is that if the decoded signal becomes a positive value at all frequencies, it becomes a distorted sound. By multiplying, a natural sound can be created. When step S2802 is No, it is confirmed whether X ^ (k) is negative (S2806). When step S2806 is Yes (when the value of the first decoded quantized signal is negative), the sum of the absolute value of the first decoded quantized signal X ^ (k) and the second decoded quantized signal E ^ (k). Is multiplied by −1, and the multiplication result is set as a decoded signal Z (k) (S2807). When step S2806 is No (when the value of the first decoded quantized signal is positive), the sum of the absolute value of the first decoded quantized signal X ^ (k) and the second decoded quantized signal E ^ (k). Is the decoded signal Z (k) (S2808). k is incremented by 1 (S2809), and the process returns to step S2801. If step S2801 is No, the process ends.
実施例3の符号化方法と復号方法はこのような処理なので、実施例1の符号化方法、復号方法と同様の効果が得られる。さらに、復号器側の復号量子化正規化値X−の時間軸方向の不連続性によって量子化出力に生じるミュージカルノイズを軽減することができる。本実施例では、周波数成分全ての復号正規化値に基づき復号量子化正規化値を計算する方法を示したが、例えば、8点ずつのサブベクトルごとに纏めてベクトル量子化する量子化方法を用いる場合、8点ずつの復号正規化値から求められた復号量子化正規化値に基づき、各サブベクトルの復号量子化正規化値を計算してもよい。 Since the encoding method and decoding method of the third embodiment are such processes, the same effects as the encoding method and decoding method of the first embodiment can be obtained. Furthermore, decoded quantized normalization value X decoder side - it is possible to reduce the musical noise generated in quantizing the output by the time-axis direction of the discontinuity. In the present embodiment, a method of calculating a decoded quantization normalized value based on a decoded normalized value of all frequency components has been shown. However, for example, a quantization method for performing vector quantization for each sub-vector of 8 points is used. When used, the decoded quantized normalized value of each subvector may be calculated based on the decoded quantized normalized value obtained from the decoded normalized value of 8 points.
なお、本実施例では、第1ベクトル量子化部104の符号化の対象となる信号(第1符号化対象信号)は周波数領域に変換された音響信号を前提としていた。しかし、この信号に限定する必要はなく、周波数領域の音響信号の中の特定の周波数帯(例えば、8kHz〜14kHzなど)の音響信号を第1符号化対象信号としてもよいし、フレーム単位に分割された時間領域の音響信号を第1符号化対象信号としてもよい。
In the present embodiment, the signal (first encoding target signal) to be encoded by the first
原理
図13は、実施例4〜6で追加される原理を説明するための図である。横軸は周波数を示す64点のサンプル、縦軸は各周波数での信号の値を示している。細い線は、1つのフレーム(64個の時間領域の信号)を周波数領域に変換して得られた64点の周波数成分を示す信号(周波数領域信号)を示している。また、太い線は、細い線で示された周波数領域信号を第1ベクトル量子化部104でベクトル量子化したときに得られる第1量子化信号の例を示している。
Principle FIG. 13 is a diagram for explaining the principle added in the fourth to sixth embodiments. The horizontal axis represents 64 samples indicating the frequency, and the vertical axis represents the value of the signal at each frequency. A thin line indicates a signal (frequency domain signal) indicating 64 frequency components obtained by converting one frame (64 time domain signals) into the frequency domain. A thick line indicates an example of the first quantized signal obtained when the first
従来の符号化器100、および実施例1から実施例3の符号化器200では、周波数領域信号と第1量子化信号との誤差信号を求めていた。つまり、値が0以外の第1量子化信号と周波数領域信号との誤差が大きい場合は、この誤差を修正するために第2ベクトル量子化インデックスのビットを使用することになる。したがって、値が0の第1量子化信号の誤差を修正するため使われる第2ベクトル量子化インデックスのビットが少なくなり、X−(k)と|X(k)|の間の誤差が修正されない場合がある。よって、周波数領域信号を量子化するために必要なビット数が足りないと、入力信号に存在するはずの周波数成分が復号信号には存在しないこと(周波数成分の欠損)が生じてしまい、ミュージカルノイズの原因の1つとなっていた。また、入力信号に存在しないはずの周波数成分が復号信号に存在することが生じてしまい、量子化ノイズ発生の原因となっていた。
In the conventional encoder 100 and the
そこで、実施例4〜6では、値が0の第1量子化信号に対応する周波数領域信号だけで次のベクトル量子化の対象となる信号(誤差信号)を生成する。そして、後段のベクトル量子化では、その誤差信号を複数サンプル纏めてベクトル量子化する。つまり、値が0の第1量子化信号に対応する周波数領域信号だけをベクトル量子化するので、復号信号では、X−(k)と|X(k)|の間の誤差が修正されやすくなる。したがって、周波数成分の欠損や量子化ノイズが生じにくくなり、ミュージカルノイズを低減できる。
Therefore, in
具体例
図14に実施例4の符号化器と復号器の構成例を示す。図15に実施例4の符号化器と復号器の処理フロー例を示す。図15(A)は符号化器の処理フローを示しており、図15(B)は復号器の処理フローを示している。符号化器300は、周波数領域変換部101、正規化値計算部102、正規化値量子化部103、第1ベクトル量子化部104、誤差計算部312、第2ベクトル量子化部306を備える。復号器300’は、正規化値復号部107、第1ベクトル復号部108、M値計算部313、第2ベクトル復号部309、誤差修正部310、時間領域変換部111を備える。符号化器300は、符号化器200と誤差計算部312、第2ベクトル量子化部306が異なる。また、復号器300’は、復号器200’とM値計算部313、第2ベクトル復号部309、誤差修正部310が異なる。その他の構成部は実施例1と同じである。なお、本実施例での第1符号化対象信号は周波数領域信号である。
Specific Example FIG. 14 shows a configuration example of an encoder and a decoder according to the fourth embodiment. FIG. 15 shows an example of the processing flow of the encoder and decoder of the fourth embodiment. FIG. 15A shows the processing flow of the encoder, and FIG. 15B shows the processing flow of the decoder. The
誤差計算部312は、周波数領域信号X(k)と第1量子化信号X^(k)を入力とし、第1ベクトル量子化部104においてパルスが立てられなかった周波数領域信号X(k)(値が0の第1量子化信号に対応する周波数領域信号)だけを抜き出した誤差信号E(m)と、第1ベクトル量子化部においてパルスが立てられなかった周波数領域信号の数M(値が0の第1量子化信号の数)を求め、誤差信号E(m)と数Mを出力する(S312)。ここで、mは配列番号を表す整数値である。
The
図16に、誤差信号E(m)と数Mを求めるための処理フローの例を示す。まず、k=0、m=0として処理を始める。kがL(周波数領域信号X(k)の数)よりも小さいかを確認する(S3121)。ステップS3121がYesの場合、X^(k)が0かを確認する(S3122)。ステップS3122がYesの場合、周波数領域信号X(k)の絶対値と量子化正規化値X−の誤差信号である
|X(k)|−A・X−
をE(m)とし、mの値を1つ増加させる(S3123)。ステップS3122がNoの場合、ステップS3124に進む。ステップS3124では、kの値を1つ増加させ、ステップS3121に戻る。S3121がNoの場合、mの値をMとし(S3125)、処理を終了する。
FIG. 16 shows an example of a processing flow for obtaining the error signal E (m) and the number M. First, the process is started with k = 0 and m = 0. It is confirmed whether k is smaller than L (number of frequency domain signals X (k)) (S3121). When step S3121 is Yes, it is confirmed whether X ^ (k) is 0 (S3122). When Step S3122 is Yes, it is an error signal between the absolute value of the frequency domain signal X (k) and the quantized normalized value X − | X (k) | −A · X −
Is set to E (m), and the value of m is increased by 1 (S3123). If step S3122 is No, the process proceeds to step S3124. In step S3124, the value of k is incremented by 1, and the process returns to step S3121. When S3121 is No, the value of m is set to M (S3125), and the process ends.
第2ベクトル量子化部306は、誤差信号E(m)と量子化正規化値X−と値が0の第1量子化信号の数Mを入力とする。第2ベクトル量子化部306は、誤差信号E(m)を量子化正規化値X−で割り算する、もしくは逆数を乗ずることで正規化し、正規化誤差信号を求める。そして、正規化誤差信号を、M点または量子化ベクトルの次数の倍数Thの範囲でベクトル量子化し、量子化代表ベクトルのインデックスを第2ベクトル量子化インデックスC2として出力する(S306)。量子化ベクトルの次数とは、例えば8がある。この場合、倍数Thは、8,16,…,64などがあり、Mに最も近い数、M以下で最も近い数、あるいはM以上で最も近い数をThとして選べばよい。例えば、M以下で最も近い数をThとして選んだ場合、M個の正規化誤差信号の中からTh個分だけベクトル量子化してもよい。
The second
次に復号器300’について説明する。M値計算部313は、第1ベクトル復号部108において求められた第1復号量子化信号X^(k)を入力とし、第1復号量子化信号X^(k)の値が0である第1復号量子化信号X^(k)の数Mを求める。図17は、値が0である第1復号量子化信号X^(k)の数Mを求める処理フローの例である。k=0、m=0として処理を始める。kがL(周波数領域信号X(k)の数)よりも小さいかを確認する(S3131)。ステップS3131がYesの場合、X^(k)が0かを確認する(S3132)。ステップS3132がYesの場合、mの値を1つ増加させる(S3133)。ステップS3132がNoの場合、ステップS3134に進む。ステップS3134では、kの値を1つ増加させ、ステップS3131に戻る。S3131がNoの場合、mの値をMとし(S3135)、処理を終了する。符号化器側の正規化で復号量子化正規化値X−を用いていることと、復号器側がM値計算部313を備えていることで、数Mを示す情報を符号化器から復号器に送る必要がない(数Mを伝えるためにビットを使う必要がない)。
Next, the
第2ベクトル復号部309は、第2ベクトル量子化インデックスC2と復号量子化正規化値X−と値が0である第1復号量子化信号X^(k)の数Mとを入力とする。第2ベクトル復号部209は、M点または量子化ベクトルの次数の倍数Thで第2ベクトル量子化インデックスC2を復号し、正規化された信号を正規化第2復号量子化信号として求め、正規化第2復号量子化信号に復号量子化正規化値X−を乗算することで逆正規化し、第2復号量子化信号E^(m)として出力する(S309)。
The second
誤差修正部310は、第1復号量子化信号X^(k)、第2復号量子化信号E^(m)、第2ベクトル復号部309が復号するときに用いた量子化ベクトルの次数の倍数Th、値が0である第1復号量子化信号X^(k)の数Mを入力とする。誤差修正部310は、第1復号量子化信号X^(k)の値が0以外の場合は第1復号量子化信号X^(k)を復号信号Z(k)とし、第1復号量子化信号X^(k)の値が0の場合は第2復号量子化信号E^(m)を順次復号信号Z(k)とすることで、復号信号Z(k)を求め、出力する(S314)。言い換えると、本実施例の場合、第1復号量子化信号の値が0以外のときには第2復号量子化信号はないので、単に第1復号量子化信号を復号信号とする。これは、図11のステップS2105、S2106、図12のステップS2807、S2808のE^(m)に0を代入した場合の同じである。
The
図18は誤差修正部310の具体的な処理フローの例を示す図である。k=0、m=0として処理を始める。kがL(周波数領域信号X(k)の数)よりも小さいかを確認する(S3101)。ステップS3101がYesの場合、mがMより小さいことを確認する(S3102)。ステップS3102がYesの場合、mがThより小さいことを確認する(S3103)。ステップS3103がYesの場合、X^(k)が0かを確認する(S3104)。ステップS3104がYesの場合、復号量子化正規化値X−と第2復号量子化信号E^(k)の加重加算A・X−+E^(k)にランダムに生成した1または−1を乗算し、乗算結果を復号信号Z(k)とし、mの値を1つ増加させる(S3105)。ここで、Aは正規化値の調整用の正の数(例えば1.0)である。また、図中のrand(k)は、ランダムに1または−1を生成する関数を示しており、乱数などを用いて計算してもよい。このように、ランダムに1または−1を乗算するのは、すべての周波数で復号信号が正の値となったのでは、歪んだ音になってしまうからであり、ランダムに1または−1を乗算することによって自然な音を作り出すことができる。ステップS3102、S3103、S3104がNoの場合、X^(k)をZ(k)とする(S3106)。そして、kの値を1つ増加させ(S3107)、ステップS3101に戻る。S3101がNoの場合、処理を終了する。
FIG. 18 is a diagram illustrating an example of a specific processing flow of the
このような処理なので、実施例1の符号化方法、復号方法と同様の効果が得られる。さらに、実施例4の符号化方法と復号方法では、誤差信号には、値が0以外の第1量子化信号に対応する第1符号化対象信号は含まれておらず、値が0の第1量子化信号に対応する第1符号化対象信号だけが含まれている。つまり、第2ベクトル量子化ステップは、第1ベクトル量子化では値が0になってしまった第1符号化対象信号に0以外の値を付ける処理である。したがって、ミュージカルノイズの原因のひとつであるフレームごとに周波数成分の有無が変化することを避けながら、第1符号化対象信号と第1量子化信号との誤差を小さくするための符号である第2ベクトル量子化インデックスを求めることができる。したがって、限られたビット数での効率的なベクトル量子化を実現できる。 Because of such processing, the same effects as the encoding method and decoding method of the first embodiment can be obtained. Further, in the encoding method and the decoding method of the fourth embodiment, the error signal does not include the first encoding target signal corresponding to the first quantized signal having a value other than 0, and the 0th value is 0. Only the first encoding target signal corresponding to one quantized signal is included. That is, the second vector quantization step is a process of adding a value other than 0 to the first encoding target signal whose value has become 0 in the first vector quantization. Therefore, the second code is a code for reducing the error between the first encoding target signal and the first quantized signal while avoiding the presence or absence of the frequency component for each frame that is one of the causes of musical noise. A vector quantization index can be determined. Therefore, efficient vector quantization with a limited number of bits can be realized.
また、実施例1の符号化方法と復号方法によれば、例えば、1フレーム中の周波数成分の数を80点(80個の周波数領域信号)とし、第1ベクトル量子化部においてパルスが立てられた周波数成分の数が40点(値が0以外の第1量子化信号が40個)とすると、第1ベクトル量子化部104でベクトル量子化する点数が80点であることに対し、第2ベクトル量子化部206でベクトル量子化する点数は40点と半減できるので、ベクトル量子化の効率を向上させることも期待できる。
Further, according to the encoding method and the decoding method of the first embodiment, for example, the number of frequency components in one frame is set to 80 points (80 frequency domain signals), and pulses are generated in the first vector quantization unit. If the number of frequency components obtained is 40 points (40 first quantized signals having a value other than 0), the number of points to be vector quantized by the first
なお、本実施例では、第1ベクトル量子化部104の符号化の対象となる信号(第1符号化対象信号)は周波数領域に変換された音響信号を前提としていた。しかし、この信号に限定する必要はなく、周波数領域の音響信号の中の特定の周波数帯(例えば、8kHz〜14kHzなど)の音響信号を第1符号化対象信号としてもよいし、フレーム単位に分割された時間領域の音響信号を第1符号化対象信号としてもよい。
In the present embodiment, the signal (first encoding target signal) to be encoded by the first
[変形例1]
実施例4変形例1は、復号器側の復号量子化正規化値を決めるときに、1つ過去のフレームの復号量子化正規化値も考慮する点が実施例4と異なる。構成と処理フローを示す図は実施例4と同じであり、図14が実施例4変形例1の符号化器と復号器の構成例を、図15が実施例4変形例1の符号化器と復号器の処理フロー例を示す。図15(A)は符号化器の処理フローを示しており、図15(B)は復号器の処理フローを示している。実施例4変形例1の符号化器300は実施例4と同じである。実施例4変形例1の復号器350’は、正規化値復号部157、第1ベクトル復号部108、M値計算部313、第2ベクトル復号部309、誤差修正部310、時間領域変換部111を備える。復号器350’は、復号器300’と正規化値復号部157が異なる。その他の構成部は実施例4と同じである。また、正規化値復号部157は実施例2で説明した内容と同じ処理を行う。
[Modification 1]
実施例4変形例1の符号化方法と復号方法はこのような処理なので、実施例4の符号化方法、復号方法と同様の効果が得られる。さらに、復号器側の復号量子化正規化値X−の時間軸方向の不連続性によって量子化出力に生じるミュージカルノイズを軽減することができる。 Since the encoding method and decoding method of the fourth modification example are such processes, the same effects as the encoding method and decoding method of the fourth example can be obtained. Furthermore, he decoded quantized normalization value X decoder side - it is possible to reduce the musical noise generated in quantizing the output by the time-axis direction of the discontinuity.
[変形例2]
実施例4変形例2は、誤差修正部での復号信号の生成方法が実施例4と異なる。構成と処理フローを示す図は実施例4と同じであり、図14が実施例4変形例2の符号化器と復号器の構成例を、図15が実施例4変形例2の符号化器と復号器の処理フロー例を示す。図15(A)は符号化器の処理フローを示しており、図15(B)は復号器の処理フローを示している。実施例4変形例2の符号化器300は実施例4と同じである。実施例4変形例2の復号器370’は、正規化値復号部107、第1ベクトル復号部108、M値計算部313、第2ベクトル復号部309、誤差修正部375、時間領域変換部111を備える。復号器370’は、復号器300’と誤差修正部375が異なる。その他の構成部は実施例4と同じである。
[Modification 2]
Fourth Embodiment A second modification is different from the fourth embodiment in the method of generating a decoded signal in the error correction unit. The diagram showing the configuration and the processing flow is the same as that of the fourth embodiment. FIG. 14 shows a configuration example of the encoder and decoder of the second modification of the fourth embodiment, and FIG. 15 shows the encoder of the fourth modification of the fourth embodiment. An example of the processing flow of the decoder is shown. FIG. 15A shows the processing flow of the encoder, and FIG. 15B shows the processing flow of the decoder. Fourth Embodiment An
誤差修正部375は、第1復号量子化信号X^(k)の値が0かつ1フレーム過去の復号量子化正規化値X−’が0の場合は、現在のフレームの復号量子化正規化値X−と第2復号量子化信号E^(k)の加重加算の結果にランダムに生成した1または−1を乗算し、乗算結果を復号信号Z(k)とする。第1復号量子化信号X^(k)の値が0かつ1フレーム過去の復号量子化正規化値X−’が0以外の場合は、現在のフレームの復号量子化正規化値X−と第2復号量子化信号E^(k)と1フレーム過去の復号量子化正規化値X−’との加重加算の結果にランダムに生成した1または−1を乗算し、乗算結果を復号信号とする。また、第1復号量子化信号の値が0以外の場合は、第1復号量子化信号X^(k)を復号信号とする(S375)。
図18に誤差修正部375の具体的な処理フローの例を示す。また、図19にステップS3751の処理フローの例を示す。k=0、m=0として処理を始める。kがL(周波数領域信号X(k)の数)よりも小さいかを確認する(S3101)。ステップS3101がYesの場合、mがMより小さいことを確認する(S3102)。ステップS3102がYesの場合、mがThより小さいことを確認する(S3103)。ステップS3103がYesの場合、X^(k)が0かを確認する(S3104)。ステップS3104がYesの場合、復号信号Z(k)を計算し、mの値を1つ増加させる(S3751)。ステップS3751では、次のような処理が行われる(図19参照)。1フレーム過去の復号量子化正規化値X−’が0かを確認する(S3752)。ステップS3752がYesの場合、復号量子化正規化値X−と第2復号量子化信号E^(k)の加重加算A・X−+E^(k)にランダムに生成した1または−1を乗算し、乗算結果を復号信号Z(k)とする(S3753)。ステップS3752がNoの場合、現在のフレームの復号量子化正規化値X−と第2復号量子化信号E^(k)と1フレーム過去の復号量子化正規化値X−’との加重加算
[α(A・X−+E^(k))+β・A・X−’]
にランダムに生成した1または−1を乗算し、乗算結果を復号信号Z(k)とする(S3754)。ここで、Aは正規化値の調整用の正の数(例えば1.0)である。また、図中のrand(k)は、ランダムに1または−1を生成する関数を示しており、乱数などを用いて計算してもよい。このように、ランダムに1または−1を乗算するのは、すべての周波数で復号信号が正の値となったのでは、歪んだ音になってしまうからであり、ランダムに1または−1を乗算することによって自然な音を作り出すことができる。ステップS3102、S3103、S3104がNoの場合、X^(k)をZ(k)とする(S3106)。そして、kの値を1つ増加させ(S3107)、ステップS3101に戻る。S3101がNoの場合、処理を終了する。
FIG. 18 shows an example of a specific processing flow of the
Is multiplied by randomly generated 1 or −1, and the multiplication result is set as a decoded signal Z (k) (S3754). Here, A is a positive number (for example, 1.0) for adjusting the normalized value. Further, rand (k) in the figure indicates a function that randomly generates 1 or −1, and may be calculated using a random number or the like. Thus, the reason why 1 or −1 is randomly multiplied is that if the decoded signal becomes a positive value at all frequencies, it becomes a distorted sound. By multiplying, a natural sound can be created. When Steps S3102, S3103, and S3104 are No, X ^ (k) is set to Z (k) (S3106). Then, the value of k is incremented by 1 (S3107), and the process returns to step S3101. If S3101 is No, the process ends.
実施例4変形例2の符号化方法と復号方法はこのような処理なので、実施例4の符号化方法、復号方法と同様の効果が得られる。さらに、復号器側の復号量子化正規化値X−の時間軸方向の不連続性によって量子化出力に生じるミュージカルノイズを軽減することができる。 Since the encoding method and decoding method of the fourth modification example are such processes, the same effects as the encoding method and decoding method of the fourth example can be obtained. Furthermore, he decoded quantized normalization value X decoder side - it is possible to reduce the musical noise generated in quantizing the output by the time-axis direction of the discontinuity.
実施例4では、第2ベクトル量子化部306において、量子化正規化値X−を用いて正規化する。また、第2ベクトル復号部309においても、復号量子化正規化値X−を用いて逆正規化する。しかしながら、第2ベクトル量子化部では、値が0であった第1量子化信号X^(k)に対応する周波数領域信号のみで構成された誤差信号E(m)をベクトル量子化する。したがって、誤差信号E(m)用の正規化値を用いた方が、正規化の精度が向上し、効率的にベクトル量子化できる。そこで、本実施例では、誤差信号E(m)から求められた正規化値(以下、「再計算正規化値E−」という。)で正規化する。
In the fourth embodiment, the second
図20に実施例5の符号化器と復号器の構成例を示す。図21に実施例5の符号化器と復号器の処理フロー例を示す。図21(A)は符号化器の処理フローを示しており、図21(B)は復号器の処理フローを示している。符号化器400は、周波数領域変換部101、正規化値計算部102、正規化値量子化部103、第1ベクトル量子化部104、誤差計算部312、正規化値再計算部415、第2ベクトル量子化部406を備える。復号器400’は、正規化値復号部107、第1ベクトル復号部108、M値計算部313、正規化値再計算部416、第2ベクトル復号部409、誤差修正部310、時間領域変換部111を備える。符号化器400は、符号化器300と正規化値再計算部415、第2ベクトル量子化部406が異なる。また、復号器400’は、復号器300’と正規化値再計算部416、第2ベクトル復号部409が異なる。その他の構成部は実施例4と同じである。
FIG. 20 shows a configuration example of the encoder and decoder of the fifth embodiment. FIG. 21 shows an example of the processing flow of the encoder and decoder of the fifth embodiment. FIG. 21A shows the processing flow of the encoder, and FIG. 21B shows the processing flow of the decoder. The
正規化値再計算部415は、第1量子化信号X^(k)と、量子化正規化値X−と、値が0の第1量子化信号の数Mと、第2ベクトル量子化部406で用いられる数Mに近い量子化ベクトルの次数の倍数Thが入力される。正規化値再計算部415は、誤差信号E(m)に対する正規化値を再計算し、再計算正規化値E−として出力する(S415)。図22は再計算正規化値E−を求める処理フローの例である。k=0、tmp=0として処理を始める。kがL(周波数領域信号X(k)の数)よりも小さいかを確認する(S4151)。ステップS4151がYesの場合、tmpに|X^(k)|2を加算する(S4156)。kの値を1つ増加させ(S4157)、ステップS4151に戻る。S4151がNoの場合、再計算正規化値E−を
Normalization
のように求め(S4158)、処理を終了する。
また、図23は再計算正規化値E−を求める別の処理フローの例である。このフローでは値が0の第1量子化信号の数を再度計算している。k=0、m=0、tmp=0として処理を始める。kがL(周波数領域信号X(k)の数)よりも小さいかを確認する(S4151)。ステップS4151がYesの場合、mがMより小さいことを確認する(S4152)。ステップS4152がYesの場合、mがThより小さいことを確認する(S4153)。ステップS4153がYesの場合、X^(k)が0かを確認する(S4154)。ステップS4154がYesの場合、mの値を1つ増加させる(S4155)。ステップS4152、S4153、S4154がNoの場合、tmpに|X^(k)|2を加算する(S4156)。そして、kの値を1つ増加させ(S4157)、ステップS4151に戻る。S4151がNoの場合、再計算正規化値E−を
(S4158), and the process ends.
Further, FIG. 23 is recalculated normalized value E - is an example of another processing flow for determining the. In this flow, the number of first quantized signals having a value of 0 is calculated again. The process starts with k = 0, m = 0, and tmp = 0. It is confirmed whether k is smaller than L (number of frequency domain signals X (k)) (S4151). If step S4151 is Yes, it is confirmed that m is smaller than M (S4152). If step S4152 is Yes, it is confirmed that m is smaller than Th (S4153). When step S4153 is Yes, it is confirmed whether X ^ (k) is 0 (S4154). When step S4154 is Yes, the value of m is increased by 1 (S4155). When Steps S4152, S4153, and S4154 are No, | X ^ (k) | 2 is added to tmp (S4156). Then, the value of k is increased by 1 (S4157), and the process returns to step S4151. If S4151 is No, the recalculation normalized value E - the
のように求め(S4158’)、処理を終了する。図22の処理フローでも、図23の処理フローでも、再計算正規化値E−は、量子化正規化値X−の二乗に周波数領域信号X(k)の数Lを乗算し、乗算結果から第1量子化信号X^(k)のパワー|X^(k)|2の合計を減算し、減算結果を値が0の第1量子化信号の数Mで除算し、除算結果の平方根を再計算正規化値E−としている。 (S4158 ′) and the process ends. In both the processing flow of FIG. 22 and the processing flow of FIG. 23, the recalculated normalized value E − multiplies the square of the quantized normalized value X − by the number L of the frequency domain signals X (k), The power of the first quantized signal X ^ (k) | X ^ (k) | 2 is subtracted, the subtraction result is divided by the number M of the first quantized signals having a value of 0, and the square root of the division result is obtained. The recalculated normalization value E − is used.
第2ベクトル量子化部406は、正規化に再計算正規化値E−を用いることが実施例4の第2ベクトル量子化部306と異なるが、その他は同じである。すなわち、第2ベクトル量子化部406は、誤差信号E(m)と再計算正規化値E−と値が0の第1量子化信号の数Mを入力とする。第2ベクトル量子化部406は、誤差信号E(m)を再計算正規化値E−で割り算する、もしくは逆数を乗ずることで正規化し、正規化誤差信号を求める。そして、正規化誤差信号を、M点または量子化ベクトルの次数の倍数Thでベクトル量子化し、量子化代表ベクトルのインデックスを第2ベクトル量子化インデックスC2として出力する(S406)。
The second
次に復号器400’の相違点について説明する。正規化値再計算部416は、正規化値再計算部415と同じ処理によって復号器400’用の再計算正規化値E−を求める。再計算正規化値E−を図22や図23の処理フローにしたがって求めるのであれば、再計算正規化値E−の情報を符号化器から復号器に伝える必要はなく、ビットの使用を避けることができる。
Next, differences between the
第2ベクトル復号部409は、正規化に再計算正規化値E−を用いることが実施例4の第2ベクトル復号部309と異なるが、その他は同じである。すなわち、第2ベクトル復号部409は、第2ベクトル量子化インデックスC2と再計算正規化値E−と値が0である第1復号量子化信号X^(k)の数Mを入力とする。第2ベクトル復号部409は、M点または量子化ベクトルの次数の倍数Thで第2ベクトル量子化インデックスC2を復号し、正規化された信号である正規化第2復号量子化信号を求め、正規化第2復号量子化信号に再計算正規化値E−を乗算することで逆正規化し、第2復号量子化信号E^(m)として出力する(S409)。
The second
このような処理なので、実施例5の符号化方法と復号方法によれば、実施例4の符号化方法と復号方法と同じ効果が得られる。そして、誤差信号E(m)用の正規化値を用いているので、正規化の精度が向上し、さらに効率的にベクトル量子化できる。 Since it is such a process, according to the encoding method and decoding method of Example 5, the same effect as the encoding method and decoding method of Example 4 is acquired. Since the normalized value for the error signal E (m) is used, the accuracy of normalization is improved and vector quantization can be performed more efficiently.
なお、本実施例では、第1ベクトル量子化部104の符号化の対象となる信号(第1符号化対象信号)は周波数領域に変換された音響信号を前提としていた。しかし、この信号に限定する必要はなく、周波数領域の音響信号の中の特定の周波数帯(例えば、8kHz〜14kHzなど)の音響信号を第1符号化対象信号としてもよいし、フレーム単位に分割された時間領域の音響信号を第1符号化対象信号としてもよい。
In the present embodiment, the signal (first encoding target signal) to be encoded by the first
[変形例1]
実施例5変形例1は、復号器側の復号量子化正規化値を決めるときに、1つ過去のフレームの復号量子化正規化値も考慮する点が実施例5と異なる。構成と処理フローを示す図は実施例5と同じであり、図20が実施例5変形例1の符号化器と復号器の構成例を、図21が実施例5変形例1の符号化器と復号器の処理フロー例を示す。図21(A)は符号化器の処理フローを示しており、図21(B)は復号器の処理フローを示している。実施例5変形例1の符号化器400は実施例5と同じである。実施例5変形例1の復号器450’は、正規化値復号部157、第1ベクトル復号部108、M値計算部313、正規化値再計算部416、第2ベクトル復号部409、誤差修正部310、時間領域変換部111を備える。復号器450’は、復号器400’と正規化値復号部157が異なる。その他の構成部は実施例5と同じである。また、正規化値復号部157は実施例2で説明した内容と同じ処理を行う。
[Modification 1]
実施例5変形例1の符号化方法と復号方法はこのような処理なので、実施例5の符号化方法、復号方法と同様の効果が得られる。さらに、復号器側の復号量子化正規化値X−の時間軸方向の不連続性によって量子化出力に生じるミュージカルノイズを軽減することができる。 Since the encoding method and decoding method of the fifth modification example are such processes, the same effects as the encoding method and decoding method of the fifth embodiment can be obtained. Furthermore, he decoded quantized normalization value X decoder side - it is possible to reduce the musical noise generated in quantizing the output by the time-axis direction of the discontinuity.
[変形例2]
実施例5変形例2は、誤差修正部での復号信号の生成方法が実施例5と異なる。構成と処理フローを示す図は実施例5と同じであり、図20が実施例5変形例2の符号化器と復号器の構成例を、図21が実施例5変形例2の符号化器と復号器の処理フロー例を示す。図21(A)は符号化器の処理フローを示しており、図21(B)は復号器の処理フローを示している。実施例5変形例2の符号化器400は実施例5と同じである。実施例5変形例2の復号器470’は、正規化値復号部107、第1ベクトル復号部108、M値計算部313、正規化値再計算部416、第2ベクトル復号部409、誤差修正部375、時間領域変換部111を備える。復号器470’は、復号器400’と誤差修正部375が異なる。その他の構成部は実施例5と同じである。誤差修正部375は、実施例4変形例2で説明した内容と同じ処理を行う(図18、図19参照)。
[Modification 2]
Fifth Embodiment A second modification is different from the fifth embodiment in the method of generating a decoded signal in the error correction unit. The diagram showing the configuration and the processing flow is the same as that of the fifth embodiment, FIG. 20 shows an example of the configuration of the encoder and decoder of the second modification of the fifth embodiment, and FIG. 21 shows the encoder of the fifth modification of the fifth embodiment. An example of the processing flow of the decoder is shown. FIG. 21A shows the processing flow of the encoder, and FIG. 21B shows the processing flow of the decoder. Fifth Embodiment An
実施例5変形例2の符号化方法と復号方法はこのような処理なので、実施例5の符号化方法、復号方法と同様の効果が得られる。さらに、復号器側の復号量子化正規化値X−の時間軸方向の不連続性によって量子化出力に生じるミュージカルノイズを軽減することができる。 Since the encoding method and decoding method of the fifth modification example are such processes, the same effects as the encoding method and decoding method of the fifth example can be obtained. Furthermore, he decoded quantized normalization value X decoder side - it is possible to reduce the musical noise generated in quantizing the output by the time-axis direction of the discontinuity.
量子化正規化値X−及び第1量子化信号X^(k)と目標値(周波数領域信号の正規化値X− 0及び周波数領域信号X(k))との誤差が大きい場合、実施例5の再計算正規化値E−の計算方法では、再計算正規化値E−を精度良く計算できないときがある。この場合、例えば再計算正規化値E−を小さく見積もりすぎれば周波数成分の欠損の原因となり、再計算正規化値E−を大きく見積もりすぎれば量子化ノイズ発生の原因となる。そこで、本実施例では、正規化値再計算部515、516において、以下の方法で再計算正規化値E−を計算する。
Quantized normalized values X - and the first quantized signal X ^ (k) and the target value - if the error between (normalized value of the frequency domain signals X 0 and the frequency domain signal X (k)) is large, Example the calculation method, recalculated normalized
図24に実施例6の符号化器と復号器の構成例を示す。図25に実施例6の符号化器と復号器の処理フロー例を示す。図26(A)は符号化器の処理フローを示しており、図26(B)は復号器の処理フローを示している。符号化器500は、周波数領域変換部101、正規化値計算部102、正規化値量子化部103、第1ベクトル量子化部104、誤差計算部312、正規化値再計算部515、第2ベクトル量子化部406を備える。復号器500’は、正規化値復号部107、第1ベクトル復号部108、M値計算部313、正規化値再計算部516、第2ベクトル復号部409、誤差修正部310、時間領域変換部111を備える。符号化器500は、符号化器400と正規化値再計算部515が異なる。また、復号器500’は、復号器400’と正規化値再計算部516が異なる。その他の構成部は実施例5と同じである。
FIG. 24 shows a configuration example of the encoder and decoder of the sixth embodiment. FIG. 25 shows an example of the processing flow of the encoder and decoder of the sixth embodiment. FIG. 26A shows the processing flow of the encoder, and FIG. 26B shows the processing flow of the decoder. The
正規化値再計算部515、516では、以下のように再計算正規化値E−を求める。図26は再計算正規化値E−を求める処理フローの例である。k=0、tmp=0、tmp2=0として処理を始める。kがL(周波数領域信号X(k)の数)よりも小さいかを確認する(S5151)。ステップS5151がYesの場合、tmpに|X^(k)|2を加算し、tmp2に|X^(k)|を加算する(S5156)。kの値を1つ増加させ(S5157)、ステップS5151に戻る。S5151がNoの場合、第1再計算値E− 1と第2再計算値E− 2を
The normalized
のように求める(S5158)。E− 1がE− 2のA1倍より大きいかを確認する(S5159)。A1は、どちらの候補を選ぶかの基準となる調整用の定数であり、例えばA1=0.5である。ステップS5159がYesの場合、第1再計算値E− 1を再計算正規化値E−とし(S5160)、ステップS5159がNoの場合、第2再計算値E− 2を再計算正規化値E−とする(S5161)。E−がX−のA2倍より小さいかを確認する(S5162)。A2は、E−が矛盾する値となっていないかを確認するための定数であり、例えばA2=1である。ステップS5162がYesの場合処理を終了し、ステップS5162がNoの場合、再計算正規化値E−を量子化正規化値X−に置き換え(S5163)、処理を終了する。 (S5158). E - 1 is E - large or confirms than 1 times 2 A (S5159). A 1 is an adjustment constant serving as a reference for selecting which candidate, and for example, A 1 = 0.5. If step S5159 is Yes, the first recalculated E - 1 recalculates normalized value E - and then (S5160), if the step S5159 is No, the second recalculated E - 2 recalculation normalized value E - (S5161). It is confirmed whether E − is smaller than A 2 times X − (S5162). A 2 is a constant for confirming whether E − has a contradictory value, and for example, A 2 = 1. Step S5162 is finished processing cases Yes, the case step S5162 is No, the recalculation normalized value E - quantized normalized value X - replaced (S5163), the process ends.
図27は再計算正規化値E−を求める別の処理フローの例である。このフローでは値が0の第1量子化信号の数を再度計算している。k=0、m=0、tmp=0、tmp2=0として処理を始める。kがL(周波数領域信号X(k)の数)よりも小さいかを確認する(S5151)。ステップS5151がYesの場合、mがMより小さいことを確認する(S5152)。ステップS5152がYesの場合、mがThより小さいことを確認する(S5153)。ステップS5153がYesの場合、X^(k)が0かを確認する(S5154)。ステップS5154がYesの場合、mの値を1つ増加させる(S5155)。ステップS5152、S5153、S5154がNoの場合、tmpに|X^(k)|2を加算し、tmp2に|X^(k)|を加算する(S5156)。kの値を1つ増加させ(S5157)、ステップS5151に戻る。S5151がNoの場合、第1再計算値E− 1と第2再計算値E− 2を FIG. 27 is an example of another processing flow for obtaining the recalculated normalization value E − . In this flow, the number of first quantized signals having a value of 0 is calculated again. The process is started with k = 0, m = 0, tmp = 0, and tmp2 = 0. It is confirmed whether k is smaller than L (number of frequency domain signals X (k)) (S5151). If step S5151 is Yes, it is confirmed that m is smaller than M (S5152). If step S5152 is Yes, it is confirmed that m is smaller than Th (S5153). When step S5153 is Yes, it is confirmed whether X ^ (k) is 0 (S5154). When step S5154 is Yes, the value of m is increased by 1 (S5155). When Steps S5152, S5153, and S5154 are No, | X ^ (k) | 2 is added to tmp, and | X ^ (k) | is added to tmp2 (S5156). The value of k is incremented by 1 (S5157), and the process returns to step S5151. When S5151 is No, the first recalculated value E - 1 and the second recalculated value E - 2 are
のように求める(S5158’)。ステップS5159からS5163までの処理は図26と同じである。図26の処理フローでも、図27の処理フローでも、第1再計算値E− 1は、量子化正規化値X−の二乗に周波数領域信号X(k)の数Lを乗算し、乗算結果から第1量子化信号X^(k)のパワー|X^(k)|2の合計を減算し、減算結果を値が0の第1量子化信号の数Mで除算し、除算結果の平方根を第1再計算値E− 1としている。また、第2再計算値E− 2は、量子化正規化値X−に周波数領域信号X(k)の数Lを乗算し、乗算結果から第1量子化信号X^(k)の絶対値|X^(k)|の合計を減算し、減算結果を値が0の第1量子化信号の数Mで除算し、除算結果を第2再計算値E− 2としている。 (S5158 ′). The processing from step S5159 to S5163 is the same as that in FIG. In the processing flow of FIG. 26, in the processing flow of FIG. 27, the first recalculated E - 1 is quantized normalized values X - multiplied by the number L of the frequency domain signal X (k) to the square of the multiplication result Is subtracted from the sum of the powers | X ^ (k) | 2 of the first quantized signal X ^ (k), and the subtraction result is divided by the number M of first quantized signals having a value of 0, and the square root of the division result Is the first recalculated value E - 1 . The second recalculated E - 2 is quantized normalized values X - multiplied by the number L of the frequency domain signal X (k), the absolute value of the first quantized signal X ^ (k) from the multiplication result The total of | X ^ (k) | is subtracted, the subtraction result is divided by the number M of first quantized signals having a value of 0, and the division result is taken as a second recalculated value E - 2 .
このような処理なので、実施例6の符号化方法と復号方法によれば、実施例5の符号化方法と復号方法と同じ効果が得られる。そして、再計算正規化値E−をより精度良く計算できるので、正規化の精度が向上し、さらに効率的にベクトル量子化できる。 Since it is such a process, according to the encoding method and decoding method of Example 6, the same effect as the encoding method and decoding method of Example 5 is acquired. The recalculation normalized value E - since the can more accurately calculated, and improves the accuracy of the normalization, can more efficiently vector quantization.
[変形例1]
実施例6変形例1は、復号器側の復号量子化正規化値を決めるときに、1つ過去のフレームの復号量子化正規化値も考慮する点が実施例6と異なる。構成と処理フローを示す図は実施例6と同じであり、図24が実施例6変形例1の符号化器と復号器の構成例を、図25が実施例6変形例1の符号化器と復号器の処理フロー例を示す。図25(A)は符号化器の処理フローを示しており、図25(B)は復号器の処理フローを示している。実施例6変形例1の符号化器400は実施例6と同じである。実施例6変形例1の復号器550’は、正規化値復号部157、第1ベクトル復号部108、M値計算部313、正規化値再計算部516、第2ベクトル復号部409、誤差修正部310、時間領域変換部111を備える。復号器550’は、復号器500’と正規化値復号部157が異なる。その他の構成部は実施例6と同じである。また、正規化値復号部157は実施例2で説明した内容と同じ処理を行う。
[Modification 1]
実施例6変形例1の符号化方法と復号方法はこのような処理なので、実施例6の符号化方法、復号方法と同様の効果が得られる。さらに、復号器側の復号量子化正規化値X−の時間軸方向の不連続性によって量子化出力に生じるミュージカルノイズを軽減することができる。
[変形例2]
実施例6変形例2は、誤差修正部での復号信号の生成方法が実施例6と異なる。構成と処理フローを示す図は実施例6と同じであり、図24が実施例6変形例2の符号化器と復号器の構成例を、図25が実施例6変形例2の符号化器と復号器の処理フロー例を示す。図26(A)は符号化器の処理フローを示しており、図25(B)は復号器の処理フローを示している。実施例6変形例2の符号化器500は実施例6と同じである。実施例6変形例2の復号器570’は、正規化値復号部107、第1ベクトル復号部108、M値計算部313、正規化値再計算部516、第2ベクトル復号部409、誤差修正部375、時間領域変換部111を備える。復号器570’は、復号器500’と誤差修正部375が異なる。その他の構成部は実施例6と同じである。誤差修正部375は、実施例4変形例2で説明した内容と同じ処理を行う(図18、図19参照)。
[Modification 2]
実施例6変形例2の符号化方法と復号方法はこのような処理なので、実施例6の符号化方法、復号方法と同様の効果が得られる。さらに、復号器側の復号量子化正規化値X−の時間軸方向の不連続性によって量子化出力に生じるミュージカルノイズを軽減することができる。 Since the encoding method and decoding method of the sixth modification example are such processing, the same effects as the encoding method and decoding method of the sixth example can be obtained. Furthermore, he decoded quantized normalization value X decoder side - it is possible to reduce the musical noise generated in quantizing the output by the time-axis direction of the discontinuity.
実験結果
実施例6変形例2の方法での効果を確認するため、実験を行った。図28は楽器のみのオーケストラを対象としたときの実験結果を示す図、図29は歌を含んでいるオーケストラを対象としたときの実験結果を示す図、図30は楽器のみのストリングを対象としたときの実験結果を示す図、図31は歌を含んでいるポップスを対象としたときの実験結果を示す図、図32は管楽器(歌なし)を対象としたときの実験結果を示す図、図33は歌のみを対象としたときの実験結果を示す図である。各図とも、横軸は時間、縦軸は次式に示すSN比を示しており、大きい値ほど品質がよい。
Experimental Results An experiment was conducted to confirm the effect of the method of the sixth modification. FIG. 28 is a diagram showing experimental results when targeting an orchestra containing only a musical instrument, FIG. 29 is a diagram showing experimental results when targeting an orchestra containing a song, and FIG. 30 is intended for a string containing only an instrument. The figure which shows the experimental result when doing, FIG. 31 is the figure which shows the experimental result when targeting pops containing a song, FIG. 32 is the figure which shows the experimental result when targeting wind instrument (no song), FIG. 33 is a diagram showing experimental results when only a song is targeted. In each figure, the horizontal axis indicates time, and the vertical axis indicates the S / N ratio shown in the following equation. The larger the value, the better the quality.
また、点線は従来の方法で符号化、復号した場合、実線は実施例6変形例2の方法で符号化、復号した場合を示している。なお、第1符号化対象信号は、MDCT(Modified Discrete Cosine Transform)で周波数領域に変換された周波数領域信号である。どの実験結果でも、本発明の品質の方がよいことが分かる。このことからも、本発明が限られたビット数での効率的なベクトル量子化を実現できることが分かる。 A dotted line indicates a case where encoding and decoding are performed by a conventional method, and a solid line indicates a case where encoding and decoding are performed by a method according to a second modification of the sixth embodiment. The first encoding target signal is a frequency domain signal converted into the frequency domain by MDCT (Modified Discrete Cosine Transform). Any experimental result shows that the quality of the present invention is better. This also shows that the present invention can realize efficient vector quantization with a limited number of bits.
プログラムなど
また、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
また、上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。
The various processes described above, such as a program, are not only executed in time series according to the description, but may also be executed in parallel or individually as required by the processing capability of the apparatus that executes the process. Needless to say, other modifications are possible without departing from the spirit of the present invention.
Further, when the above-described configuration is realized by a computer, processing contents of functions that each device should have are described by a program. The processing functions are realized on the computer by executing the program on the computer.
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
The program describing the processing contents can be recorded on a computer-readable recording medium. As the computer-readable recording medium, for example, any recording medium such as a magnetic recording device, an optical disk, a magneto-optical recording medium, and a semiconductor memory may be used.
The program is distributed by selling, transferring, or lending a portable recording medium such as a DVD or CD-ROM in which the program is recorded. Furthermore, the program may be distributed by storing the program in a storage device of the server computer and transferring the program from the server computer to another computer via a network.
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。 A computer that executes such a program first stores, for example, a program recorded on a portable recording medium or a program transferred from a server computer in its own storage device. When executing the process, the computer reads a program stored in its own recording medium and executes a process according to the read program. As another execution form of the program, the computer may directly read the program from a portable recording medium and execute processing according to the program, and the program is transferred from the server computer to the computer. Each time, the processing according to the received program may be executed sequentially. Also, the program is not transferred from the server computer to the computer, and the above-described processing is executed by a so-called ASP (Application Service Provider) type service that realizes the processing function only by the execution instruction and result acquisition. It is good. Note that the program in this embodiment includes information that is used for processing by an electronic computer and that conforms to the program (data that is not a direct command to the computer but has a property that defines the processing of the computer).
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。 In this embodiment, the present apparatus is configured by executing a predetermined program on a computer. However, at least a part of these processing contents may be realized by hardware.
100、200、300、400、500 符号化器
100’、200’、250’、270’、300’、350’、370’ 復号器
400’、450’、470’、500’、550’、570’ 復号器
101 周波数領域変換部
102 正規化値計算部
103 正規化値量子化部
104 第1ベクトル量子化部
105、205、312 誤差計算部
106、206、306、406 第2ベクトル量子化部
107、157 正規化値復号部
108 第1ベクトル復号部
109、209、309、409 第2ベクトル復号部
110、210、275、310、375 誤差修正部
111 時間領域変換部
313 M値計算部
415、416、515、516 正規化値再計算部
100, 200, 300, 400, 500 Encoder 100 ', 200', 250 ', 270', 300 ', 350', 370 'Decoder 400', 450 ', 470', 500 ', 550', 570 '
Claims (14)
前記正規化値を量子化した量子化正規化値と該量子化正規化値に対応する正規化値量子化インデックスを求める正規化値量子化ステップと、
前記量子化正規化値を用いて前記第1符号化対象信号を正規化して正規化第1符号化対象信号を求め、前記正規化第1符号化対象信号を複数サンプル纏めてベクトル量子化した第1量子化信号の列と該第1量子化信号の列に対応する第1ベクトル量子化インデックスを求める第1ベクトル量子化ステップと、
前記第1量子化信号の値が0の場合は、前記第1符号化対象信号の絶対値と前記量子化正規化値との重み付き誤差信号を求め、第1量子化信号の値が0以外の場合は、前記第1符号化対象信号の絶対値と前記第1量子化信号の絶対値の誤差信号を求める誤差計算ステップと、
前記誤差信号または前記誤差信号に対応した信号を複数サンプル纏めてベクトル量子化して第2ベクトル量子化インデックスを求める第2ベクトル量子化ステップと、
を有する符号化方法。 A normalization value calculation step for obtaining a normalization value for a signal sample to be encoded for each predetermined number of samples (hereinafter referred to as “first encoding target signal”);
A normalized value quantization step of obtaining a normalized quantization value obtained by quantizing the normalized value and a normalized value quantization index corresponding to the quantized normalized value;
First normalized signal is obtained by normalizing the first coding target signal using the quantized normalized value, and a plurality of samples of the normalized first coding target signal are vector quantized. A first vector quantization step for obtaining a sequence of one quantized signal and a first vector quantization index corresponding to the sequence of the first quantized signal;
When the value of the first quantized signal is 0, a weighted error signal between the absolute value of the first encoding target signal and the quantized normalized value is obtained, and the value of the first quantized signal is other than 0. In this case, an error calculation step for obtaining an error signal between the absolute value of the first encoding target signal and the absolute value of the first quantized signal;
A second vector quantization step of obtaining a second vector quantization index by vector-quantizing a plurality of samples of the error signal or a signal corresponding to the error signal;
An encoding method comprising:
前記正規化値を量子化した量子化正規化値と該量子化正規化値に対応する正規化値量子化インデックスを求める正規化値量子化ステップと、 A normalized value quantization step of obtaining a normalized quantization value obtained by quantizing the normalized value and a normalized value quantization index corresponding to the quantized normalized value;
前記量子化正規化値を用いて前記第1符号化対象信号を正規化して正規化第1符号化対象信号を求め、前記正規化第1符号化対象信号を複数サンプル纏めてベクトル量子化した第1量子化信号の列と該第1量子化信号の列に対応する第1ベクトル量子化インデックスを求める第1ベクトル量子化ステップと、 First normalized signal is obtained by normalizing the first coding target signal using the quantized normalized value, and a plurality of samples of the normalized first coding target signal are vector quantized. A first vector quantization step for obtaining a sequence of one quantized signal and a first vector quantization index corresponding to the sequence of the first quantized signal;
前記第1量子化信号の値が0の場合の、前記第1符号化対象信号の絶対値と前記量子化正規化値との重み付き誤差信号だけを求める誤差計算ステップと、 An error calculating step for obtaining only a weighted error signal between the absolute value of the first encoding target signal and the quantized normalized value when the value of the first quantized signal is 0;
前記誤差信号または前記誤差信号に対応した信号を複数サンプル纏めてベクトル量子化して第2ベクトル量子化インデックスを求める第2ベクトル量子化ステップと、 A second vector quantization step of obtaining a second vector quantization index by vector-quantizing a plurality of samples of the error signal or a signal corresponding to the error signal;
を有する符号化方法。 An encoding method comprising:
前記量子化正規化値をX−、前記所定サンプル数をL、前記第1量子化信号のパワーの合計をtmp、値が0の前記第1量子化信号の数をM、再計算正規化値E−とするときに、
の関係となる再計算正規化値E−を求める正規化値再計算ステップ
も有し、
第2ベクトル量子化ステップは、前記再計算正規化値を用いて前記誤差信号を正規化して正規化誤差信号を求め、前記正規化誤差信号を複数サンプル纏めてベクトル量子化して前記第2ベクトル量子化インデックスを求める
ことを特徴とする符号化方法。 An encoding method according to claim 2, wherein
The quantization normalized value is X − , the predetermined number of samples is L, the total power of the first quantized signal is tmp, the number of the first quantized signals having a value of 0 is M, and a recalculated normalized value E - when the,
A normalized value recalculation step for obtaining a recalculated normalized value E − which is
In the second vector quantization step, the error signal is normalized using the recalculated normalization value to obtain a normalized error signal, and the normalized error signal is vector-quantized by collecting a plurality of samples, and the second vector quantum is obtained. A coding method characterized by obtaining a coding index.
前記量子化正規化値をX−、前記所定サンプル数をL、前記第1量子化信号のパワーの合計をtmp、前記第1量子化信号の絶対値の合計をtmp2、値が0の前記第1量子化信号の数をM、第1再計算値をE− 1、第2再計算値をE− 2とするときに、
の関係となる第1再計算値をE− 1と第2再計算値をE− 2を求め、
前記第1再計算値と前記第2再計算値と前記量子化正規化値のいずれかを再計算正規化値とする正規化値再計算ステップ
も有し、
前記第2ベクトル量子化ステップは、前記再計算正規化値を用いて前記誤差信号を正規化して正規化誤差信号を求め、前記正規化誤差信号を複数サンプル纏めてベクトル量子化して、前記第2ベクトル量子化インデックスを求める
ことを特徴とする符号化方法。 An encoding method according to claim 2, wherein
The quantized normalization value X -, the predetermined number of samples L, and total power of the first quantized signal tmp, the first tmp2 the sum of the absolute values of the quantized signal, the value of 0 first When the number of 1 quantized signals is M, the first recalculation value is E - 1 and the second recalculation value is E - 2 ,
E the first recalculated as a relation - 1 and the second recalculated E - 2 a determined,
A normalized value recalculation step in which any one of the first recalculated value, the second recalculated value, and the quantized normalized value is a recalculated normalized value;
The second vector quantization step obtains a normalized error signal by normalizing the error signal using the recalculated normalized value, and vector-quantizes the normalized error signal by collecting a plurality of samples, and An encoding method characterized by obtaining a vector quantization index.
前記正規化値量子化インデックスに対応する復号正規化値を求め、復号量子化正規化値として出力する正規化値復号ステップと、
前記第1ベクトル量子化インデックスに対応した正規化第1復号量子化信号を求め、前記正規化第1復号量子化信号と前記復号量子化正規化値を用いて第1復号量子化信号を求める第1ベクトル復号ステップと、
前記第2ベクトル量子化インデックスに対応した正規化第2復号量子化信号を求め、前記正規化第2復号量子化信号と前記復号量子化正規化値を用いて第2復号量子化信号を求める第2ベクトル復号ステップと、
第1復号量子化信号の値が0の場合は、前記復号量子化正規化値と前記第2復号量子化信号の加重加算を用いた計算結果にランダムに生成した1または−1を乗算し、乗算結果を復号信号とし、第1復号量子化信号の値が0以外の場合は、前記第1復号量子化信号と前記第2復号量子化信号の和を用いた計算結果を復号信号とする誤差修正ステップと
を有する復号方法。 A decoding method for obtaining a decoded signal from a code including a first vector quantization index, a second vector quantization index, and a normalized value quantization index,
A normalized value decoding step of obtaining a decoded normalized value corresponding to the normalized value quantization index and outputting as a decoded quantized normalized value;
First, a normalized first decoded quantized signal corresponding to the first vector quantization index is obtained, and a first decoded quantized signal is obtained using the normalized first decoded quantized signal and the decoded quantized normalized value. One vector decoding step;
First, a normalized second decoded quantized signal corresponding to the second vector quantization index is obtained, and a second decoded quantized signal is obtained using the normalized second decoded quantized signal and the decoded quantized normalized value. A two-vector decoding step;
When the value of the first decoded quantized signal is 0, the calculation result using the weighted addition of the decoded quantized normalized value and the second decoded quantized signal is multiplied by 1 or −1 randomly generated, When the multiplication result is a decoded signal and the value of the first decoded quantized signal is other than 0, an error using the calculation result using the sum of the first decoded quantized signal and the second decoded quantized signal as the decoded signal A decoding method comprising: a correction step.
前記誤差修正ステップが、
第1復号量子化信号の値が0の場合は、前記復号量子化正規化値と前記第2復号量子化信号の加重加算にランダムに生成した1または−1を乗算した結果を復号信号とし、第1復号量子化信号の値が負の場合は、前記第1復号量子化信号の絶対値と前記第2復号量子化信号の和に−1を乗算した結果を復号信号とし、第1復号量子化信号の値が正の場合は、前記第1復号量子化信号の絶対値と前記第2復号量子化信号の和を復号信号とする
ことを特徴とする復号方法。 The decoding method according to claim 5, wherein
The error correction step comprises:
When the value of the first decoded quantized signal is 0, a result obtained by multiplying the weighted addition of the decoded quantized normalized value and the second decoded quantized signal by randomly generated 1 or −1 is used as a decoded signal, When the value of the first decoded quantized signal is negative, the sum of the absolute value of the first decoded quantized signal and the second decoded quantized signal is multiplied by −1 as a decoded signal, and the first decoded quantum When the value of the quantized signal is positive, the decoded signal is a sum of the absolute value of the first decoded quantized signal and the second decoded quantized signal.
前記正規化値復号ステップが、
1フレーム前の復号正規化値が0の場合は、現在のフレームの復号正規化値を、復号量子化正規化値として出力し、
1フレーム前の復号正規化値が0でない場合は、現在のフレームの復号正規化値と1フレーム前の復号正規化値との加重加算の結果を、復号量子化正規化値として出力する
ことを特徴とする復号方法。 The decoding method according to claim 6, wherein
The normalized value decoding step comprises:
If the decoding normalization value of the previous frame is 0, the decoding normalization value of the current frame is output as the decoding quantization normalization value,
If the decoding normalization value of the previous frame is not 0, the result of the weighted addition of the decoding normalization value of the current frame and the decoding normalization value of the previous frame is output as the decoding quantization normalization value. A characteristic decoding method.
誤差修正ステップが、
第1復号量子化信号の値が0かつ1フレーム過去の復号量子化正規化値が0の場合は、現在のフレームの復号量子化正規化値と前記第2復号量子化信号の加重加算の結果にランダムに生成した1または−1を乗算した結果を復号信号とし、
第1復号量子化信号の値が0かつ1フレーム過去の復号量子化正規化値が0以外の場合は、現在のフレームの復号量子化正規化値と前記第2復号量子化信号と1フレーム過去の復号量子化正規化値との加重加算の結果にランダムに生成した1または−1を乗算した結果を復号信号とし、
第1復号量子化信号の値が負の場合は、前記第1復号量子化信号の絶対値と前記第2復号量子化信号の和に−1を乗算した結果を復号信号とし、第1復号量子化信号の値が正の場合は、前記第1復号量子化信号の絶対値と前記第2復号量子化信号の和を復号信号とする
を有する復号方法。 The decoding method according to claim 5, wherein
The error correction step
When the value of the first decoded quantized signal is 0 and the decoded quantized normalized value of one frame past is 0, the result of weighted addition of the decoded quantized normalized value of the current frame and the second decoded quantized signal The result of multiplying randomly generated 1 or -1 is the decoded signal,
When the value of the first decoded quantized signal is 0 and the decoded quantized normalized value of one frame past is other than 0, the decoded quantized normalized value of the current frame, the second decoded quantized signal, and the past of one frame A result obtained by multiplying a result of weighted addition with the decoded quantization normalized value of 1 or −1 randomly generated as a decoded signal,
When the value of the first decoded quantized signal is negative, the sum of the absolute value of the first decoded quantized signal and the second decoded quantized signal is multiplied by −1 as a decoded signal, and the first decoded quantum When the value of the quantized signal is positive, the decoding method includes: using the sum of the absolute value of the first decoded quantized signal and the second decoded quantized signal as a decoded signal.
前記正規化値量子化インデックスに対応する復号正規化値を求め、復号量子化正規化値として出力する正規化値復号ステップと、 A normalized value decoding step of obtaining a decoded normalized value corresponding to the normalized value quantization index and outputting as a decoded quantized normalized value;
前記第1ベクトル量子化インデックスに対応した正規化第1復号量子化信号を求め、前記正規化第1復号量子化信号と前記復号量子化正規化値を用いて第1復号量子化信号を求める第1ベクトル復号ステップと、 First, a normalized first decoded quantized signal corresponding to the first vector quantization index is obtained, and a first decoded quantized signal is obtained using the normalized first decoded quantized signal and the decoded quantized normalized value. One vector decoding step;
前記第2ベクトル量子化インデックスに対応した正規化第2復号量子化信号を求め、前記正規化第2復号量子化信号と前記復号量子化正規化値を用いて第2復号量子化信号を求める第2ベクトル復号ステップと、 First, a normalized second decoded quantized signal corresponding to the second vector quantization index is obtained, and a second decoded quantized signal is obtained using the normalized second decoded quantized signal and the decoded quantized normalized value. A two-vector decoding step;
第1復号量子化信号の値が0の場合は、前記復号量子化正規化値と前記第2復号量子化信号の加重加算を用いた計算結果にランダムに生成した1または−1を乗算し、乗算結果を復号信号とし、第1復号量子化信号の値が0以外の場合は、前記第1復号量子化信号を復号信号とする誤差修正ステップと When the value of the first decoded quantized signal is 0, the calculation result using the weighted addition of the decoded quantized normalized value and the second decoded quantized signal is multiplied by 1 or −1 randomly generated, An error correction step in which the multiplication result is a decoded signal, and when the value of the first decoded quantized signal is other than 0, the first decoded quantized signal is the decoded signal;
を有する復号方法。 A decryption method.
値が0の前記第1復号量子化信号の数Mを求めるM値計算ステップと、
前記復号量子化正規化値をX−、前記第1復号量子化信号の数をL、前記第1復号量子化信号のパワーの合計をtmp、値が0の前記第1復号量子化信号の数をM、再計算正規化値E−とするときに、
の関係となる再計算正規化値E−を求める正規化値再計算ステップ
も有し、
前記第2ベクトル復号ステップは、前記第2ベクトル量子化インデックスに対応した正規化第2復号量子化信号を求め、前記正規化第2復号量子化信号と前記再計算正規化値を用いて前記第2復号量子化信号を求める
ことを特徴とする復号方法。 The decoding method according to claim 9, wherein
An M value calculation step for obtaining the number M of the first decoded quantized signals having a value of 0;
The decoded quantized normalized value is X − , the number of the first decoded quantized signals is L, the total power of the first decoded quantized signals is tmp, and the number of the first decoded quantized signals is 0. Is M and the recalculated normalization value E −
A normalized value recalculation step for obtaining a recalculated normalized value E − which is
The second vector decoding step obtains a normalized second decoded quantized signal corresponding to the second vector quantization index, and uses the normalized second decoded quantized signal and the recalculated normalized value. 2. A decoding method characterized by obtaining a decoded quantized signal.
値が0の前記第1復号量子化信号の数Mを求めるM値計算ステップと、
前記復号量子化正規化値をX−、前記第1復号量子化信号の数をL、前記第1復号量子化信号のパワーの合計をtmp、前記第1量子化信号の絶対値の合計をtmp2、値が0の前記第1復号量子化信号の数をM、第1再計算値をE− 1、第2再計算値をE− 2とするときに、
の関係となる第1再計算値をE− 1と第2再計算値をE− 2を求め、
前記第1再計算値と前記第2再計算値と前記復号量子化正規化値のいずれかを再計算正規化値とする正規化値再計算ステップ
も有し、
前記第2ベクトル復号ステップは、前記第2ベクトル量子化インデックスに対応した正規化第2復号量子化信号を求め、前記正規化第2復号量子化信号と前記再計算正規化値を用いて前記第2復号量子化信号を求める
ことを特徴とする復号方法。 The decoding method according to claim 9, wherein
An M value calculation step for obtaining the number M of the first decoded quantized signals having a value of 0;
The decoded quantization normalized value is X − , the number of the first decoded quantized signals is L, the total power of the first decoded quantized signals is tmp, and the total absolute value of the first quantized signals is tmp 2 , the number of the first decoded quantized signal values are 0 M, the first recalculated E - 1, the second recalculated E - when a 2,
E the first recalculated as a relation - 1 and the second recalculated E - 2 a determined,
A normalized value recalculation step in which any one of the first recalculated value, the second recalculated value, and the decoded quantized normalized value is a recalculated normalized value;
The second vector decoding step obtains a normalized second decoded quantized signal corresponding to the second vector quantization index, and uses the normalized second decoded quantized signal and the recalculated normalized value. 2. A decoding method characterized by obtaining a decoded quantized signal.
前記正規化値を量子化した量子化正規化値と該量子化正規化値に対応する正規化値量子化インデックスを求める正規化値量子化部と、
前記量子化正規化値を用いて前記第1符号化対象信号を正規化して正規化第1符号化対象信号を求め、前記正規化第1符号化対象信号を複数サンプル纏めてベクトル量子化した第1量子化信号の列と該第1量子化信号の列に対応する第1ベクトル量子化インデックスを求める第1ベクトル量子化部と、
第1量子化信号の値が0の場合は、前記第1符号化対象信号の絶対値と前記量子化正規化値との重み付き誤差信号を求め、第1量子化信号の値が0以外の場合は、前記第1符号化対象信号の絶対値と前記第1量子化信号の絶対値の誤差信号を求める誤差計算部と、
前記誤差信号または前記誤差信号に対応した信号を複数サンプル纏めてベクトル量子化して第2ベクトル量子化インデックスを求める第2ベクトル量子化部と、
を備える符号化器。 A normalized value calculation unit for obtaining a normalized value for a signal sample to be encoded for each predetermined number of samples (hereinafter referred to as “first encoding target signal”);
A normalized value quantizing unit that obtains a normalized quantization value that is obtained by quantizing the normalized value and a normalized value quantization index that corresponds to the quantized normalized value;
First normalized signal is obtained by normalizing the first coding target signal using the quantized normalized value, and a plurality of samples of the normalized first coding target signal are vector quantized. A first vector quantization unit for obtaining a sequence of 1 quantized signal and a first vector quantization index corresponding to the sequence of the first quantized signal;
When the value of the first quantized signal is 0, a weighted error signal between the absolute value of the first encoding target signal and the quantized normalized value is obtained, and the value of the first quantized signal is other than 0 An error calculation unit for obtaining an error signal between the absolute value of the first encoding target signal and the absolute value of the first quantized signal;
A second vector quantization unit for obtaining a second vector quantization index by vector-quantizing a plurality of samples of the error signal or a signal corresponding to the error signal;
An encoder comprising:
前記正規化値量子化インデックスに対応する復号正規化値を求め、復号量子化正規化値として出力する正規化値復号部と、
前記第1ベクトル量子化インデックスに対応した正規化第1復号量子化信号を求め、前記正規化第1復号量子化信号と前記復号量子化正規化値を用いて第1復号量子化信号を求める第1ベクトル復号部と、
前記第2ベクトル量子化インデックスに対応した正規化第2復号量子化信号を求め、前記正規化第2復号量子化信号と前記復号量子化正規化値を用いて第2復号量子化信号を求める第2ベクトル復号部と、
第1復号量子化信号の値が0の場合は、前記復号量子化正規化値と前記第2復号量子化信号の加重加算を用いた計算結果にランダムに生成した1または−1を乗算し、乗算結果を復号信号とし、第1復号量子化信号の値が0以外の場合は、前記第1復号量子化信号と前記第2復号量子化信号の和を用いた計算結果を復号信号とする誤差修正部と
を備える復号器。 A decoder for obtaining a decoded signal from a code including a first vector quantization index, a second vector quantization index, and a normalized value quantization index,
A normalized value decoding unit that obtains a decoded normalized value corresponding to the normalized value quantization index and outputs the decoded normalized value;
First, a normalized first decoded quantized signal corresponding to the first vector quantization index is obtained, and a first decoded quantized signal is obtained using the normalized first decoded quantized signal and the decoded quantized normalized value. A one-vector decoding unit;
First, a normalized second decoded quantized signal corresponding to the second vector quantization index is obtained, and a second decoded quantized signal is obtained using the normalized second decoded quantized signal and the decoded quantized normalized value. A two-vector decoding unit;
When the value of the first decoded quantized signal is 0, the calculation result using the weighted addition of the decoded quantized normalized value and the second decoded quantized signal is multiplied by 1 or −1 randomly generated, When the multiplication result is a decoded signal and the value of the first decoded quantized signal is other than 0, an error using the calculation result using the sum of the first decoded quantized signal and the second decoded quantized signal as the decoded signal A decoder comprising: a correction unit.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009148956A JP5336943B2 (en) | 2009-06-23 | 2009-06-23 | Encoding method, decoding method, encoder, decoder, program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009148956A JP5336943B2 (en) | 2009-06-23 | 2009-06-23 | Encoding method, decoding method, encoder, decoder, program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011009861A JP2011009861A (en) | 2011-01-13 |
JP5336943B2 true JP5336943B2 (en) | 2013-11-06 |
Family
ID=43566047
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009148956A Active JP5336943B2 (en) | 2009-06-23 | 2009-06-23 | Encoding method, decoding method, encoder, decoder, program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5336943B2 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011111453A1 (en) * | 2010-03-09 | 2011-09-15 | 日本電信電話株式会社 | Encoding method, decoding method, device, program, and recording medium |
CN102959873A (en) * | 2010-07-05 | 2013-03-06 | 日本电信电话株式会社 | Encoding method, decoding method, device, program, and recording medium |
CN102959872A (en) * | 2010-07-05 | 2013-03-06 | 日本电信电话株式会社 | Encoding method, decoding method, device, program, and recording medium |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3045197B2 (en) * | 1991-07-29 | 2000-05-29 | 日本電信電話株式会社 | Codebook design method for vector quantizer |
JP3405788B2 (en) * | 1993-03-04 | 2003-05-12 | 株式会社東芝 | Video encoding device and video decoding device |
JP3186007B2 (en) * | 1994-03-17 | 2001-07-11 | 日本電信電話株式会社 | Transform coding method, decoding method |
JPH09261065A (en) * | 1996-03-25 | 1997-10-03 | Mitsubishi Electric Corp | Quantization device, inverse quantization device and quantization and inverse quantization system |
JP3698418B2 (en) * | 2001-05-25 | 2005-09-21 | 松下電器産業株式会社 | Audio signal compression method and audio signal compression apparatus |
JP2006157881A (en) * | 2004-11-08 | 2006-06-15 | Toshiba Corp | Variable-length coding device and method of same |
JPWO2008047795A1 (en) * | 2006-10-17 | 2010-02-25 | パナソニック株式会社 | Vector quantization apparatus, vector inverse quantization apparatus, and methods thereof |
CA2701757C (en) * | 2007-10-12 | 2016-11-22 | Panasonic Corporation | Vector quantization apparatus, vector dequantization apparatus and the methods |
-
2009
- 2009-06-23 JP JP2009148956A patent/JP5336943B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2011009861A (en) | 2011-01-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5603484B2 (en) | Encoding method, decoding method, encoding device, decoding device, program, recording medium | |
TWI380602B (en) | Apparatus and method for encoding an information signal | |
EP2650878B1 (en) | Encoding method, encoder, periodic feature amount determination method, periodic feature amount determination apparatus, program and recording medium | |
KR100848324B1 (en) | An apparatus and method for speech condig | |
JP5331249B2 (en) | Encoding method, decoding method, apparatus, program, and recording medium | |
CN104321813B (en) | Coded method, code device | |
EP3226243B1 (en) | Encoding apparatus, decoding apparatus, and method and program for the same | |
CN110491398B (en) | Encoding method, encoding device, and recording medium | |
JP5256375B2 (en) | Encoding method, decoding method, apparatus, program, and recording medium | |
JP5331248B2 (en) | Encoding method, decoding method, apparatus, program, and recording medium | |
JP5336943B2 (en) | Encoding method, decoding method, encoder, decoder, program | |
JP3357829B2 (en) | Audio encoding / decoding method | |
JP5336942B2 (en) | Encoding method, decoding method, encoder, decoder, program | |
EP3252758B1 (en) | Encoding apparatus, decoding apparatus, and methods, programs and recording media for encoding apparatus and decoding apparatus | |
JP5325340B2 (en) | Encoding method, decoding method, encoding device, decoding device, program, and recording medium | |
CN107430869B (en) | Parameter determining device, method and recording medium | |
JP5361565B2 (en) | Encoding method, decoding method, encoder, decoder and program | |
JP5355244B2 (en) | Encoding method, decoding method, encoder, decoder and program | |
JP6780108B2 (en) | Encoding device, decoding device, smoothing device, de-smoothing device, their methods, and programs | |
JP5579932B2 (en) | Encoding method, apparatus, program, and recording medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20110720 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120521 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130522 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130528 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130701 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20130723 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130802 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5336943 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |