JP4438655B2 - Encoding device, decoding device, encoding method, and decoding method - Google Patents
Encoding device, decoding device, encoding method, and decoding method Download PDFInfo
- Publication number
- JP4438655B2 JP4438655B2 JP2005079450A JP2005079450A JP4438655B2 JP 4438655 B2 JP4438655 B2 JP 4438655B2 JP 2005079450 A JP2005079450 A JP 2005079450A JP 2005079450 A JP2005079450 A JP 2005079450A JP 4438655 B2 JP4438655 B2 JP 4438655B2
- Authority
- JP
- Japan
- Prior art keywords
- vector quantization
- encoding
- block
- frequency
- decoding
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
Description
本発明は、信号を符号化する符号化装置、符号化された信号を復号する復号装置、符号化方法及び復号方法に関する。 The present invention relates to an encoding device that encodes a signal, a decoding device that decodes an encoded signal, an encoding method, and a decoding method.
音声信号、画像信号等の圧縮方式として用いられるベクトル量子化では、一般に、予め複数の代表ベクトルを格納したベクトル量子化テーブルの中から、入力された信号に最も類似した代表ベクトルを選択し、その選択された代表ベクトルが示すインデックスを符号として出力する(例えば、特許文献1参照。)。
従来のベクトル量子化では、効率的な符号化を行うために、予め、入力が予想される大量のサンプルデータ(代表ベクトル)を大量に集めて、ベクトル量子化テーブルを生成しておく必要があったため、ベクトル量子化テーブルを容易に生成することができなかった。 In conventional vector quantization, in order to perform efficient encoding, it is necessary to collect a large amount of sample data (representative vectors) expected to be input and generate a vector quantization table in advance. Therefore, the vector quantization table cannot be easily generated.
本発明の課題は、予め用意されたベクトル量子化テーブルを用いることなく、効率的なベクトル量子化を可能とすることである。 An object of the present invention is to enable efficient vector quantization without using a vector quantization table prepared in advance.
上記課題を解決するため、請求項1に記載の符号化装置は、入力信号をフレームに分割するフレーム化手段と、1フレームを構成するブロック単位毎に、前記入力信号に対して周波数変換を施す周波数変換手段と、1フレーム中の所定の1ブロック分の周波数変換係数を符号化する符号化手段と、前記符号化手段にて符号化の対象とされた1ブロック分の周波数変換係数に基づいてベクトル量子化テーブルを生成する生成手段と、前記生成手段により生成されたベクトル量子化テーブルを用いて、前記符号化手段で符号化されていない、同一フレーム内の他のブロックの周波数変換係数に対してベクトル量子化を施すベクトル量子化手段と、を備えることを特徴としている。
In order to solve the above-described problem, the encoding device according to
請求項2に記載の発明は、請求項1に記載の符号化装置において、1フレームを構成するブロック単位毎に、周波数変換係数の値の度数分布を算出する算出手段と、前記算出手段により算出された度数分布に基づいて、ベクトル量子化テーブルの生成に使用する1ブロック分の周波数変換係数を選択する選択手段と、を備え、前記符号化手段は、前記所定の1ブロック分の周波数変換係数として、前記選択手段により選択された1ブロック分の周波数変換係数を用いることを特徴としている。 According to a second aspect of the present invention, in the encoding device according to the first aspect, a calculation means for calculating a frequency distribution of frequency transform coefficient values for each block unit constituting one frame, and a calculation by the calculation means Selecting means for selecting a frequency transform coefficient for one block to be used for generating a vector quantization table based on the frequency distribution, and the encoding means has a frequency transform coefficient for the predetermined one block. as is characterized by using frequency transform coefficients for one block selected by said selection means.
請求項3に記載の発明は、請求項1に記載の符号化装置において、前記符号化手段は、前記所定の1ブロック分の周波数変換係数として、1フレームの最初のブロックの周波数変換係数を用いることを特徴としている。 According to a third aspect of the present invention, in the encoding device according to the first aspect, the encoding means uses a frequency conversion coefficient of the first block of one frame as the frequency conversion coefficient for the predetermined one block. It is characterized by that.
請求項4に記載の復号装置は、請求項1に記載された符号化装置により符号化された入力信号を復号する復号装置であって、前記符号化装置の符号化手段により符号化された1フレーム中の所定の1ブロック分の周波数変換係数を復号する復号手段と、前記復号手段により復号された1ブロック分の周波数変換係数に基づいてベクトル量子化テーブルを生成する生成手段と、前記符号化装置のベクトル量子化手段により同一フレーム内の他のブロックの周波数変換係数に対してベクトル量子化が施された信号を、前記生成手段により生成されたベクトル量子化テーブルを用いて逆ベクトル量子化を施す逆ベクトル量子化手段と、前記逆ベクトル量子化により得られた周波数変換係数に対し、周波数逆変換を施す周波数逆変換手段と、を備えることを特徴としている。
The decoding device according to claim 4 is a decoding device that decodes an input signal encoded by the encoding device according to
請求項5に記載の符号化方法は、入力信号をフレームに分割するフレーム化ステップと、1フレームを構成するブロック単位毎に、前記入力信号に対して周波数変換を施す周波数変換ステップと、1フレーム中の所定の1ブロック分の周波数変換係数を符号化する符号化ステップと、前記符号化ステップにて符号化の対象とされた1ブロック分の周波数変換係数に基づいてベクトル量子化テーブルを生成する生成ステップと、前記生成ステップにより生成されたベクトル量子化テーブルを用いて、前記符号化ステップで符号化されていない、同一フレーム内の他のブロックの周波数変換係数に対してベクトル量子化を施すベクトル量子化ステップと、からなることを特徴としている。 The encoding method according to claim 5 includes a framing step of dividing an input signal into frames, a frequency conversion step of performing frequency conversion on the input signal for each block unit constituting one frame, and 1 frame. A vector quantization table is generated based on an encoding step for encoding a predetermined one block of frequency transform coefficients and a frequency transform coefficient for one block to be encoded in the encoding step. A vector that performs vector quantization on the frequency transform coefficients of other blocks in the same frame that are not encoded in the encoding step using the generation step and the vector quantization table generated in the generation step And a quantization step .
請求項6に記載の復号方法は、請求項5に記載された符号化方法により符号化された入力信号を復号する復号方法であって、前記符号化方法の符号化ステップにより符号化された1フレーム中の所定の1ブロック分の周波数変換係数を復号する復号ステップと、前記復号ステップにより復号された1ブロック分の周波数変換係数に基づいてベクトル量子化テーブルを生成する生成ステップと、前記符号化方法のベクトル量子化ステップにより同一フレーム内の他のブロックの周波数変換係数に対してベクトル量子化が施された信号を、前記生成ステップにより生成されたベクトル量子化テーブルを用いて逆ベクトル量子化を施す逆ベクトル量子化ステップと、前記逆ベクトル量子化により得られた周波数変換係数に対し、周波数逆変換を施す周波数逆変換ステップと、からなることを特徴としている。
A decoding method according to
本発明によれば、1フレーム中の1単位分の周波数変換係数からベクトル量子化テーブルを生成して、その生成されたベクトル量子化テーブルを用いて、処理対象の周波数変換係数に対してベクトル量子化を施すようにしたことにより、従来のように、大量のサンプルデータ(代表ベクトル)を集めたベクトル量子化テーブルを予め用意することなく、効率的なベクトル量子化が可能となる。 According to the present invention, a vector quantization table is generated from one unit of frequency conversion coefficients in one frame, and a vector quantization table is generated for the frequency conversion coefficients to be processed using the generated vector quantization table. Thus, efficient vector quantization can be performed without preparing a vector quantization table that collects a large amount of sample data (representative vectors) as in the prior art.
以下、図面を参照して、本発明の実施形態について詳細に説明する。
(実施形態1)
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
(Embodiment 1)
図1〜図4を参照して、本発明の実施形態1について説明する。
まず、実施形態1における構成について説明する。
A first embodiment of the present invention will be described with reference to FIGS.
First, the configuration in the first embodiment will be described.
図1(a)に、本発明の実施形態1に係る符号化装置100の構成を示す。符号化装置100は、図1(a)に示すように、フレーム化部1、周波数変換部2、符号化部3、ベクトル量子化部4により構成される。
FIG. 1A shows a configuration of an
フレーム化部1は、入力信号を、符号化(圧縮)の処理単位である一定長のフレームに分割し、周波数変換部2に出力する。1つのフレームは、周波数変換を行う単位である複数のブロックから構成される。
The
周波数変換部2は、フレーム化部1から入力された信号に対し、ブロック単位で周波数変換を施し、符号化部3に出力する。周波数変換としては、例えば、DFT(Discrete Fourier Transform:離散フーリエ変換)を用いることができる。入力信号を{xn|n=0,…,N-1}とすると、DFTでの周波数変換係数{Xk|k=0,…,N-1}は式(1)のように定義される。
符号化部3は、1フレーム中に含まれる周波数変換されたブロックのうち、1ブロック分の周波数変換係数を所定の符号化方式で符号化する。ここで、符号化方式としては、ハフマン(Huffman)符号化、レンジコーダ(Range Coder)符号化等、様々な符号化方式を使用することができる。また、符号化部3での符号化対象は、例えば、1フレームのうち、時間軸上で最初のブロックとするなど、予め設定されたブロックを符号化対象とすればよい。
The
ベクトル量子化部4は、符号化部3で符号化された1ブロック分の周波数変換係数からベクトル量子化テーブルを生成し、生成されたベクトル量子化テーブルを用いて、同一フレーム内の他のブロックの周波数変換係数に対しブロック毎にベクトル量子化を施し、ベクトル量子化が施された信号と、符号化部3で符号化された1ブロック分の信号を、符号化信号として出力する。
The vector quantization unit 4 generates a vector quantization table from the frequency transform coefficients for one block encoded by the
図2に、ベクトル長が3のベクトル量子化テーブル31の一例を示す。符号化部3で符号化された1ブロック分の周波数変換係数を{Xk|k=0,…,N-1}とすると、ベクトル量子化テーブル31は、1つのインデックスにつき、3つの連続した周波数変換係数を対応させたN−2個のインデックスを有する。
FIG. 2 shows an example of a vector quantization table 31 having a vector length of 3. Assuming that the frequency transform coefficient for one block encoded by the
以下、ベクトル量子化の一例として、ベクトル長3のベクトル量子化テーブルを用いたベクトル量子化について説明する。ベクトル量子化対象の周波数変換係数を{si|i=0,1,2}、ベクトル量子化テーブルを{Vj|j=0,…,N-3}とする。ここで、Vj={vji|i=0,1,2}である。このとき、ベクトル量子化対象のベクトル(周波数変換係数)と、ベクトル量子化テーブルのj番目のベクトルの各要素との誤差ejが最小となるようなインデックスjを出力する符号とする。誤差ejは、例えば、式(2)のように算出される。
図1(b)に、本発明の実施形態に係る復号装置200の構成を示す。復号装置200は、符号化装置100で符号化された信号を復号する装置であり、図1(b)に示すように、復号部5、逆ベクトル量子化6、周波数逆変換部7、フレーム合成部8により構成される。
FIG. 1B shows a configuration of a
復号部5は、符号化装置100側で最初に符号化された(符号化部3で符号化された)1ブロック分の符号化信号を復号し、復号結果を逆ベクトル量子化部6に出力する。なお、符号化装置100において、同一フレーム内の他のブロックをベクトル量子化した後に、ハフマン符号化等の符号化が更に行われた場合、復号部5では、当該他のブロックの符号化信号も復号する。
The decoding unit 5 decodes the encoded signal for one block (encoded by the encoding unit 3) that is first encoded on the
逆ベクトル量子化部6は、復号部5で復号された1ブロック分の周波数変換係数からベクトル量子化テーブルを生成し、生成されたベクトル量子化テーブルを用いて、同一フレーム内の他のブロックの信号に対しブロック毎に逆ベクトル量子化を施し、逆ベクトル量子化後の信号を周波数逆変換部7に出力する。ここで、ベクトル量子化テーブルの生成方法は、符号化装置100と同様である。この逆ベクトル量子化では、入力されたインデックスに対応するベクトルがベクトル量子化テーブルから抽出される。
The inverse
周波数逆変換部7は、逆ベクトル量子化部6から入力された信号に対し、周波数逆変換を施し、フレーム合成部8に出力する。
The frequency inverse transform unit 7 performs frequency inverse transform on the signal input from the inverse
フレーム合成部8は、符号化及び復号の処理単位であったフレームを合成し、合成後の信号を再生信号として出力する。
The
次に、実施形態1における動作について説明する。
まず、図3のフローチャートを参照して、実施形態1の符号化装置100において実行される符号化処理について説明する。
Next, the operation in the first embodiment will be described.
First, with reference to the flowchart of FIG. 3, the encoding process performed in the
まず、入力信号がフレームに分割され(ステップS1)、当該入力信号に対し、1フレームを構成するブロック単位で周波数変換が施される(ステップS2)。次いで、1フレーム中の1ブロック分(例えば、時間軸上で最初のブロック)の周波数変換係数が所定の符号化方式(例えば、ハフマン符号化)で符号化され(ステップS3)、その符号化されたブロックの周波数変換係数からベクトル量子化テーブル(図2参照)が生成される(ステップS4)。 First, the input signal is divided into frames (step S1), and the input signal is subjected to frequency conversion in units of blocks constituting one frame (step S2). Next, the frequency transform coefficient for one block in one frame (for example, the first block on the time axis) is encoded by a predetermined encoding method (for example, Huffman encoding) (step S3), and the encoding is performed. A vector quantization table (see FIG. 2) is generated from the frequency transform coefficients of the blocks (step S4).
次いで、1フレーム内の全てのブロックについて符号化が行われたか否かが判定される(ステップS5)。ステップS5において、1フレーム内の全ブロックの符号化が終了していないと判定された場合(ステップS5;NO)、符号化対象の1ブロック分の周波数変換係数に対し、ステップS4で生成されたベクトル量子化テーブルを用いてベクトル量子化が施され、更に、所定の符号化方式(例えば、ハフマン符号化)で符号化が施される(ステップS6)。 Next, it is determined whether or not encoding has been performed for all the blocks in one frame (step S5). When it is determined in step S5 that encoding of all blocks in one frame has not been completed (step S5; NO), the frequency conversion coefficient for one block to be encoded is generated in step S4. Vector quantization is performed using the vector quantization table, and further, encoding is performed using a predetermined encoding method (for example, Huffman encoding) (step S6).
ステップS6における1ブロック分のベクトル量子化及び符号化が終了すると、ステップS5に戻り、未だ符号化が施されていないブロックに対して、ステップS6の処理が繰り返される。ステップS5において、1フレーム内の全ブロックの符号化が終了したと判定された場合(ステップS5;YES)、本符号化処理が終了する。なお、ステップS2〜S6の処理は、各フレーム毎に行われる。 When the vector quantization and encoding for one block in step S6 are completed, the process returns to step S5, and the process of step S6 is repeated for blocks that have not been encoded yet. If it is determined in step S5 that encoding of all blocks in one frame has been completed (step S5; YES), the encoding process ends. Note that the processing in steps S2 to S6 is performed for each frame.
次に、図4のフローチャートを参照して、実施形態1の復号装置200において実行される復号処理について説明する。
Next, a decoding process executed in the
まず、符号化装置100側で最初に符号化された1ブロック分の符号化信号が復号され(ステップT1)、復号により得られた1ブロック分の周波数変換係数からベクトル量子化テーブルが生成される(ステップT2)。
First, the encoded signal for one block first encoded on the
次いで、1フレーム内の全てのブロックの符号化信号が復号されたか否かが判定される(ステップT3)。ステップT3において、1フレーム内の全ブロックの復号が終了していないと判定された場合(ステップT3;NO)、当該フレーム内で未だ復号されていない1ブロックの符号化信号が復号され、更に、ステップT2で生成されたベクトル量子化テーブルを用いて逆ベクトル量子化が行われる(ステップT4)。 Next, it is determined whether or not the encoded signals of all the blocks in one frame have been decoded (step T3). If it is determined in step T3 that decoding of all blocks in one frame has not been completed (step T3; NO), an encoded signal of one block that has not yet been decoded in the frame is decoded. Inverse vector quantization is performed using the vector quantization table generated in step T2 (step T4).
ステップT4における1ブロック分の復号及び逆ベクトル量子化が終了すると、ステップT3に戻り、未だ復号されていないブロックに対して、ステップT4の処理が繰り返される。ステップT3において、1フレーム内の全ブロックの復号が終了したと判定された場合(ステップT3;YES)、ステップT1及びT4において得られた信号に対して周波数逆変換が施され(ステップT5)、本復号処理が終了する。本復号処理は、各フレーム毎に行われ、復号された各フレームは合成され、再生信号として出力される。 When decoding and inverse vector quantization for one block in step T4 are completed, the process returns to step T3, and the process of step T4 is repeated for the blocks that have not been decoded yet. If it is determined in step T3 that decoding of all blocks in one frame has been completed (step T3; YES), frequency inverse transform is performed on the signals obtained in steps T1 and T4 (step T5). The decryption process ends. This decoding process is performed for each frame, and the decoded frames are combined and output as a reproduction signal.
以上のように、本発明の実施形態1によれば、1フレーム中の所定のブロック(例えば、時間軸上で最初のブロック)の周波数変換係数からベクトル量子化テーブルを生成して、その生成されたベクトル量子化テーブルを用いて同一フレーム内の他のブロックの周波数変換係数に対してベクトル量子化を施すようにしたことにより、従来のように、大量のサンプルデータ(代表ベクトル)を集めたベクトル量子化テーブルを予め用意することなく、効率的なベクトル量子化が可能となる。特に、音声信号や画像信号では、時間的に連続した信号は類似していることが多いため、少量のインデックスで効率的なベクトル量子化が可能となる。 As described above, according to the first embodiment of the present invention, the vector quantization table is generated from the frequency conversion coefficient of a predetermined block (for example, the first block on the time axis) in one frame, and the generated vector quantization table is generated. A vector that collects a large amount of sample data (representative vectors) as before, by performing vector quantization on the frequency conversion coefficients of other blocks in the same frame using the vector quantization table. Efficient vector quantization is possible without preparing a quantization table in advance. In particular, in audio signals and image signals, temporally continuous signals are often similar, so that efficient vector quantization is possible with a small amount of indexes.
なお、実施形態1では、周波数変換としてDFTを用いる場合を示したが、周波数変換部2で適用される周波数変換はこれに限定されない。例えば、DCT(Discrete Cosine Transform:離散コサイン変換)、MDCT(Modified Discrete Cosine Transform:変形離散コサイン変換)等も適用可能である。一般に、画像信号ではDCTが使用され、音声信号ではMDCTが使用されることが多い。
In addition, although the case where DFT was used as frequency conversion was shown in
周波数変換としてDCTを用いる場合、入力信号を{xl|l=0,…,N-1}とすると、DCTにより得られる周波数変換係数{Xm|m=0,…,N-1}は式(3)のように定義される。
また、周波数変換としてMDCTを用いる場合、MDCTブロック(1フレームを構成する各ブロック)の長さをM、入力信号を{xn|n=0,…,M-1}とすると、MDCTにより得られる周波数変換係数{Xk|k=0,…,M/2-1}は式(4)のように定義される。
また、上述の実施形態1では、ベクトル量子化テーブルの生成に使用されるブロックは予め決められている場合を示したが、1ブロック中に含まれる周波数変換係数の種類が最も多いブロックを指定するようにしてもよい。これは、各ブロック毎に、周波数変換係数値のヒストグラム(度数分布)を算出し、1回以上現れる周波数変換係数値が最も多いブロックを、ベクトル量子化テーブルの生成に使用するブロックとして選択する。これにより、よりパターンの多いベクトル量子化テーブルが得られ、符号化精度を向上させることができる。
(実施形態2)
In the first embodiment, the block used for generating the vector quantization table has been determined in advance. However, the block having the largest number of types of frequency transform coefficients included in one block is designated. You may do it. For this, a histogram (frequency distribution) of frequency transform coefficient values is calculated for each block, and a block having the largest frequency transform coefficient value that appears one or more times is selected as a block used for generating a vector quantization table. Thereby, a vector quantization table with more patterns can be obtained, and the encoding accuracy can be improved.
(Embodiment 2)
図5及び図6を参照して、本発明の実施形態2について説明する。
実施形態1では、同一のフレーム内のブロックから生成されたベクトル量子化テーブルを用いて、同一フレーム内の他のブロックに対してベクトル量子化を行う場合を示したが、実施形態2では、過去のフレームで生成されたベクトル量子化テーブルを用いたベクトル量子化が可能な場合について説明する。
A second embodiment of the present invention will be described with reference to FIGS.
In the first embodiment, the case where vector quantization is performed on other blocks in the same frame using the vector quantization table generated from the blocks in the same frame has been described. A case where vector quantization using the vector quantization table generated in the frame is possible will be described.
まず、実施形態2における構成について説明する。
実施形態2の符号化装置及び復号装置の構成は、それぞれ、実施形態1において図1に示した符号化装置100、復号装置200と同一ゆえ、同一の符号を付し、図示を省略する。以下、実施形態1の符号化装置100、復号装置200と異なる点のみ説明する。
First, the configuration in the second embodiment will be described.
The configurations of the encoding device and the decoding device according to the second embodiment are the same as those of the
実施形態2の符号化装置100におけるベクトル量子化部4は、実施形態1と同様に、符号化部3で符号化された1ブロック分の周波数変換係数からベクトル量子化テーブルを生成し、生成されたベクトル量子化テーブルを用いて、同一フレーム内の他のブロックの周波数変換係数に対しブロック毎にベクトル量子化を施す。
Similarly to the first embodiment, the vector quantization unit 4 in the
そして、ベクトル量子化部4は、ベクトル量子化結果に基づいてベクトル量子化歪を算出する。このベクトル量子化歪は、例えば、ベクトル量子化で得られた値と、ベクトル量子化前の元の値の誤差エネルギーの平均で表すことができる。ベクトル長kのベクトルの集合を{Sj|j=0,…,N-1}、Sj={sji|i=0,…,k-1}とし、これらをベクトル量子化して得られたベクトルの集合を{S’j|j=0,…,N-1}、S’j={s’ji|i=0,…,k-1}とする。このときのベクトル量子化歪eは、式(6)のように表される。
次に、ベクトル量子化部4は、過去のフレーム(例えば、1つ前のフレーム)で生成されたベクトル量子化テーブルを用いて、現在符号化対象(処理対象)となっているフレームの各ブロックの周波数変換係数に対してベクトル量子化を施し、式(6)に示すように、このベクトル量子化に対応するベクトル量子化歪eを算出する。そして、現在符号化対象のフレーム内のブロックから生成されたベクトル量子化テーブルを用いたときに算出されたベクトル量子化歪と、過去のフレームで生成されたベクトル量子化テーブルを用いたときに算出されたベクトル量子化歪を比較し、ベクトル量子化歪の値が小さい方のベクトル量子化テーブルを選択(採用)し、選択されたベクトル量子化テーブルを用いたベクトル量子化結果を所定の符号化方式(例えば、ハフマン符号化)で符号化して出力する。 Next, the vector quantization unit 4 uses the vector quantization table generated in the past frame (for example, the previous frame) to block each block of the frame that is the current encoding target (processing target). The vector quantization distortion e corresponding to this vector quantization is calculated as shown in Expression (6). Calculated using the vector quantization distortion calculated from the vector quantization table generated from the block in the current encoding target frame and the vector quantization table generated from the past frame. Compare vector quantization distortion, select (adopt) the vector quantization table with the smaller vector quantization distortion, and encode the vector quantization result using the selected vector quantization table It is encoded by a method (for example, Huffman encoding) and output.
実施形態2の復号装置200では、入力された符号化信号が、過去のフレームで生成されたベクトル量子化テーブルを用いてベクトル量子化された信号である場合、逆ベクトル量子化部6は、復号部5で復号された信号に対し、当該過去フレームで生成されたベクトル量子化テーブルを用いて逆ベクトル量子化を施す。
In the
一方、復号装置200に入力された符号化信号が、同一フレーム内のブロックから生成されたベクトル量子化テーブルを用いてベクトル量子化された信号である場合、逆ベクトル量子化部6は、復号部5で復号された1ブロック(例えば、時間軸上で最初のブロック)分の周波数変換係数からベクトル量子化テーブルを生成し、その生成されたベクトル量子化テーブルを用いて、同一フレーム内の他のブロックに対し、ブロック毎に逆ベクトル量子化を施し、逆ベクトル量子化後の信号を周波数逆変換部7に出力する。
On the other hand, when the encoded signal input to the
次に、本実施形態2における動作について説明する。
まず、図5のフローチャートを参照して、実施形態2の符号化装置100において実行される符号化処理について説明する。
Next, the operation in the second embodiment will be described.
First, an encoding process executed in the
まず、入力信号がフレームに分割され(ステップS10)、当該入力信号に対し、1フレームを構成するブロック単位で周波数変換が施される(ステップS11)。次いで、1フレーム中の1ブロック分(例えば、時間軸上で最初のブロック)の周波数変換係数が所定の符号化方式(例えば、ハフマン符号化)で符号化され(ステップS12)、その符号化されたブロックの周波数変換係数からベクトル量子化テーブルが生成される(ステップS13)。 First, the input signal is divided into frames (step S10), and the input signal is subjected to frequency conversion in units of blocks constituting one frame (step S11). Next, the frequency transform coefficient for one block in one frame (for example, the first block on the time axis) is encoded by a predetermined encoding method (for example, Huffman encoding) (step S12), and the encoding is performed. A vector quantization table is generated from the frequency transform coefficients of the blocks (step S13).
次いで、ステップS13で生成されたベクトル量子化テーブルを用いて、同一フレーム内の他のブロック(ステップS12で符号化されたブロック以外のブロック)の周波数変換係数にベクトル量子化が施され(ステップS14)、ステップS14のベクトル量子化の結果から、式(6)に示すように、ベクトル量子化歪が算出される(ステップS15)。 Next, using the vector quantization table generated in step S13, vector quantization is performed on the frequency transform coefficients of other blocks in the same frame (blocks other than the block encoded in step S12) (step S14). ), Vector quantization distortion is calculated from the result of vector quantization in step S14 as shown in equation (6) (step S15).
次いで、過去のフレーム(例えば、1つ前のフレーム)で生成されたベクトル量子化テーブルを用いて、現在符号化対象となっているフレームの各ブロックの周波数変換係数に対してベクトル量子化が施され(ステップS16)、ステップS16のベクトル量子化の結果から、式(6)に示すように、ベクトル量子化歪が算出される(ステップS17)。 Next, using the vector quantization table generated in the past frame (for example, the previous frame), vector quantization is performed on the frequency transform coefficient of each block of the current frame to be encoded. Then, the vector quantization distortion is calculated from the vector quantization result in step S16 as shown in equation (6) (step S17).
次いで、ステップS15で算出されたベクトル量子化歪と、ステップS17で算出されたベクトル量子化歪が比較され、ベクトル量子化歪の値が小さい方のベクトル量子化テーブルが選択され(ステップS18)、その選択されたベクトル量子化テーブルを用いたベクトル量子化結果が所定の符号化方式(例えば、ハフマン符号化)で符号化され(ステップS19)、本符号化処理が終了する。 Next, the vector quantization distortion calculated in step S15 is compared with the vector quantization distortion calculated in step S17, and the vector quantization table having the smaller vector quantization distortion value is selected (step S18). The vector quantization result using the selected vector quantization table is encoded by a predetermined encoding method (for example, Huffman encoding) (step S19), and the encoding process ends.
次に、図6のフローチャートを参照して、実施形態2の復号装置200において実行される復号処理について説明する。
Next, the decoding process executed in the
まず、復号装置200に入力された符号化信号に基づいて、符号化側のベクトル量子化で、過去のフレームで生成されたベクトル量子化テーブルが使用されたか否かが判定される(ステップT10)。ステップT10において、現在復号対象(処理対象)のフレーム内のブロックから生成されたベクトル量子化テーブルが使用されたと判定された場合(ステップT10;NO)、当該フレーム内の1ブロック分の符号化信号が復号され(ステップT11)、復号により得られた1ブロック分の周波数変換係数からベクトル量子化テーブルが生成される(ステップT12)。
First, based on the encoded signal input to the
次いで、現在復号対象のフレーム内の他のブロックの符号化信号が復号され、復号により得られた各ブロックの周波数変換係数に対して、ステップT12で生成されたベクトル量子化テーブルを用いてブロック毎に逆ベクトル量子化が施される(ステップT13)。次いで、ステップT11及びT13において得られた信号に対して周波数逆変換が施され(ステップT14)、本復号処理が終了する。 Next, the coded signal of the other block in the current decoding target frame is decoded, and the frequency transform coefficient of each block obtained by decoding is used for each block using the vector quantization table generated in step T12. Is subjected to inverse vector quantization (step T13). Next, frequency inverse transform is performed on the signals obtained in steps T11 and T13 (step T14), and the decoding process ends.
ステップT10において、過去のフレームで生成されたベクトル量子化テーブルが使用されたと判定された場合(ステップT10;YES)、その過去のフレームで生成されたベクトル量子化テーブルが準備され(ステップT15)、現在復号対象のフレームの各ブロックの符号化信号が復号され、復号により得られた各ブロックの周波数変換係数に対して、ステップT15で準備されたベクトル量子化テーブルを用いてブロック毎に逆ベクトル量子化が施される(ステップT13)。次いで、ステップT13において得られた信号に対して周波数逆変換が施され(ステップT14)、本復号処理が終了する。本復号処理は、各フレーム毎に行われ、復号された各フレームは合成され、再生信号として出力される。 If it is determined in step T10 that the vector quantization table generated in the past frame is used (step T10; YES), the vector quantization table generated in the past frame is prepared (step T15). The encoded signal of each block of the current decoding target frame is decoded, and the inverse vector quanta for each block using the vector quantization table prepared in step T15 is obtained for the frequency transform coefficient of each block obtained by decoding. (Step T13). Next, frequency inverse transformation is performed on the signal obtained in step T13 (step T14), and the decoding process ends. This decoding process is performed for each frame, and the decoded frames are combined and output as a reproduction signal.
以上のように、本発明の実施形態2によれば、過去のフレームで生成されたベクトル量子化テーブルを用いたベクトル量子化を行うことにより、全体の符号量を減少させることが可能となる。 As described above, according to the second embodiment of the present invention, it is possible to reduce the overall code amount by performing vector quantization using the vector quantization table generated in the past frame.
1 フレーム化部
2 周波数変換部
3 符号化部
4 ベクトル量子化部
5 復号部
6 逆ベクトル量子化部
7 周波数逆変換部
8 フレーム合成部
31 ベクトル量子化テーブル
100 符号化装置
200 復号装置
DESCRIPTION OF
Claims (6)
1フレームを構成するブロック単位毎に、前記入力信号に対して周波数変換を施す周波数変換手段と、
1フレーム中の所定の1ブロック分の周波数変換係数を符号化する符号化手段と、
前記符号化手段にて符号化の対象とされた1ブロック分の周波数変換係数に基づいてベクトル量子化テーブルを生成する生成手段と、
前記生成手段により生成されたベクトル量子化テーブルを用いて、前記符号化手段で符号化されていない、同一フレーム内の他のブロックの周波数変換係数に対してベクトル量子化を施すベクトル量子化手段と、
を備えることを特徴とする符号化装置。 Framing means for dividing the input signal into frames;
Frequency conversion means for performing frequency conversion on the input signal for each block unit constituting one frame;
Encoding means for encoding a frequency conversion coefficient for a predetermined block in one frame;
Generating means for generating a vector quantization table based on a frequency conversion coefficient for one block that is the target of encoding by the encoding means;
Vector quantization means for performing vector quantization on frequency transform coefficients of other blocks in the same frame that are not encoded by the encoding means, using the vector quantization table generated by the generating means ,
An encoding device comprising:
前記算出手段により算出された度数分布に基づいて、ベクトル量子化テーブルの生成に使用する1ブロック分の周波数変換係数を選択する選択手段と、を備え、
前記符号化手段は、前記所定の1ブロック分の周波数変換係数として、前記選択手段により選択された1ブロック分の周波数変換係数を用いることを特徴とする請求項1に記載の符号化装置。 Calculating means for calculating a frequency distribution of frequency conversion coefficient values for each block unit constituting one frame;
Selecting means for selecting a frequency transform coefficient for one block used for generating the vector quantization table based on the frequency distribution calculated by the calculating means;
The encoding apparatus according to claim 1, wherein the encoding unit uses the frequency conversion coefficient for one block selected by the selection unit as the frequency conversion coefficient for the predetermined one block .
前記符号化装置の符号化手段により符号化された1フレーム中の所定の1ブロック分の周波数変換係数を復号する復号手段と、
前記復号手段により復号された1ブロック分の周波数変換係数に基づいてベクトル量子化テーブルを生成する生成手段と、
前記符号化装置のベクトル量子化手段により同一フレーム内の他のブロックの周波数変換係数に対してベクトル量子化が施された信号を、前記生成手段により生成されたベクトル量子化テーブルを用いて逆ベクトル量子化を施す逆ベクトル量子化手段と、
前記逆ベクトル量子化により得られた周波数変換係数に対し、周波数逆変換を施す周波数逆変換手段と、
を備えることを特徴とする復号装置。 A decoding device for decoding an input signal encoded by the encoding device according to claim 1,
Decoding means for decoding a predetermined one block of frequency transform coefficients in one frame encoded by the encoding means of the encoding device;
Generating means for generating a vector quantization table based on the frequency transform coefficients for one block decoded by the decoding means ;
A signal obtained by performing vector quantization on the frequency transform coefficient of another block in the same frame by the vector quantization means of the encoding device is inverted using the vector quantization table generated by the generation means. Inverse vector quantization means for performing quantization;
Frequency inverse transform means for performing frequency inverse transform on the frequency transform coefficient obtained by the inverse vector quantization;
A decoding apparatus comprising:
1フレームを構成するブロック単位毎に、前記入力信号に対して周波数変換を施す周波数変換ステップと、 A frequency conversion step of performing frequency conversion on the input signal for each block unit constituting one frame;
1フレーム中の所定の1ブロック分の周波数変換係数を符号化する符号化ステップと、 An encoding step for encoding a frequency transform coefficient for a predetermined block in one frame;
前記符号化ステップにて符号化の対象とされた1ブロック分の周波数変換係数に基づいてベクトル量子化テーブルを生成する生成ステップと、 A generation step of generating a vector quantization table based on a frequency transform coefficient for one block that is an encoding target in the encoding step;
前記生成ステップにより生成されたベクトル量子化テーブルを用いて、前記符号化ステップで符号化されていない、同一フレーム内の他のブロックの周波数変換係数に対してベクトル量子化を施すベクトル量子化ステップと、 A vector quantization step of performing vector quantization on the frequency transform coefficients of other blocks in the same frame that are not encoded in the encoding step, using the vector quantization table generated in the generation step; ,
からなることを特徴とする符号化方法。An encoding method comprising:
前記符号化方法の符号化ステップにより符号化された1フレーム中の所定の1ブロック分の周波数変換係数を復号する復号ステップと、 A decoding step of decoding a predetermined one block of frequency transform coefficients in one frame encoded by the encoding step of the encoding method;
前記復号ステップにより復号された1ブロック分の周波数変換係数に基づいてベクトル量子化テーブルを生成する生成ステップと、 A generating step for generating a vector quantization table based on the frequency transform coefficients for one block decoded by the decoding step;
前記符号化方法のベクトル量子化ステップにより同一フレーム内の他のブロックの周波数変換係数に対してベクトル量子化が施された信号を、前記生成ステップにより生成されたベクトル量子化テーブルを用いて逆ベクトル量子化を施す逆ベクトル量子化ステップと、 A signal obtained by performing vector quantization on the frequency transform coefficient of another block in the same frame by the vector quantization step of the encoding method is inverted using the vector quantization table generated by the generation step. An inverse vector quantization step for performing quantization;
前記逆ベクトル量子化により得られた周波数変換係数に対し、周波数逆変換を施す周波数逆変換ステップと、 A frequency inverse transform step for performing frequency inverse transform on the frequency transform coefficient obtained by the inverse vector quantization;
からなることを特徴とする復号方法。A decoding method characterized by comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005079450A JP4438655B2 (en) | 2005-03-18 | 2005-03-18 | Encoding device, decoding device, encoding method, and decoding method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005079450A JP4438655B2 (en) | 2005-03-18 | 2005-03-18 | Encoding device, decoding device, encoding method, and decoding method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006262295A JP2006262295A (en) | 2006-09-28 |
JP4438655B2 true JP4438655B2 (en) | 2010-03-24 |
Family
ID=37101005
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005079450A Expired - Fee Related JP4438655B2 (en) | 2005-03-18 | 2005-03-18 | Encoding device, decoding device, encoding method, and decoding method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4438655B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6154588B2 (en) * | 2012-08-23 | 2017-06-28 | 日本放送協会 | Image encoding apparatus, image decoding apparatus, and program |
-
2005
- 2005-03-18 JP JP2005079450A patent/JP4438655B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2006262295A (en) | 2006-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5384780B2 (en) | Lossless audio encoding method, lossless audio encoding device, lossless audio decoding method, lossless audio decoding device, and recording medium | |
JP4981174B2 (en) | Symbol plane coding / decoding by dynamic calculation of probability table | |
KR100840439B1 (en) | Audio coding apparatus and audio decoding apparatus | |
US6721700B1 (en) | Audio coding method and apparatus | |
KR100904605B1 (en) | Audio coding apparatus, audio decoding apparatus, audio coding method and audio decoding method | |
KR20080049116A (en) | Audio coding | |
US8515770B2 (en) | Method and apparatus for encoding and decoding excitation patterns from which the masking levels for an audio signal encoding and decoding are determined | |
US6593872B2 (en) | Signal processing apparatus and method, signal coding apparatus and method, and signal decoding apparatus and method | |
JP2002135131A (en) | Method and apparatus for performing variable-size vector entropy coding | |
KR960006301A (en) | Sound signal encoding / decoding method | |
JP4978539B2 (en) | Encoding apparatus, encoding method, and program. | |
JPH10285048A (en) | Digital data encoding/decoding method and its device | |
JP3344944B2 (en) | Audio signal encoding device, audio signal decoding device, audio signal encoding method, and audio signal decoding method | |
KR20060084440A (en) | A fast codebook selection method in audio encoding | |
JP2891193B2 (en) | Wideband speech spectral coefficient quantizer | |
JP2003316394A (en) | System, method, and program for decoding sound | |
JP4438655B2 (en) | Encoding device, decoding device, encoding method, and decoding method | |
JP3898184B2 (en) | Signal encoding apparatus, signal encoding method, and program | |
JP2007017905A (en) | Signal encoder, signal decoder, signal encoding method, and signal decoding method | |
JP2004246038A (en) | Speech or musical sound signal encoding method, decoding method, encoding device, decoding device, encoding program, and decoding program | |
JP2794842B2 (en) | Encoding method and decoding method | |
Wernik et al. | Analysis of inter-channel dependencies in audio lossless block coding. | |
Yang et al. | Multi-stage encoding scheme for multiple audio objects using compressed sensing | |
JP4438654B2 (en) | Encoding device, decoding device, encoding method, and decoding method | |
WO2011087333A2 (en) | Method and apparatus for processing an audio signal |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20071004 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20091013 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20091020 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20091201 |
|
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: 20091215 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20091228 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130115 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4438655 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130115 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |