JP4508490B2 - Encoding device and decoding device - Google Patents

Encoding device and decoding device Download PDF

Info

Publication number
JP4508490B2
JP4508490B2 JP2001271001A JP2001271001A JP4508490B2 JP 4508490 B2 JP4508490 B2 JP 4508490B2 JP 2001271001 A JP2001271001 A JP 2001271001A JP 2001271001 A JP2001271001 A JP 2001271001A JP 4508490 B2 JP4508490 B2 JP 4508490B2
Authority
JP
Japan
Prior art keywords
sequence
spectrum
quantized
cyclic
spectral
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
Application number
JP2001271001A
Other languages
Japanese (ja)
Other versions
JP2002158589A (en
Inventor
峰生 津島
武志 則松
修二 宮阪
智一 石川
慶昭 澤田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2001271001A priority Critical patent/JP4508490B2/en
Publication of JP2002158589A publication Critical patent/JP2002158589A/en
Application granted granted Critical
Publication of JP4508490B2 publication Critical patent/JP4508490B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Abstract

PROBLEM TO BE SOLVED: To encode an audio signal with a small information quantity, while securing the sound quality. SOLUTION: The encoder is provided with a quantized spectrum string generating part for generating a quantized spectrum string, quantized by prescribed quantization precision, based on the audio signal and a circulation-type code vector quantization part for outputting a spectrum string code, including circulating position identification information showing how many reference spectrum strings have to be circulated in order to obtain the circulation-type quantization spectrum string, which is most similar to the quantization spectrum string.

Description

【0001】
【発明の属する技術分野】
本発明は、符号化装置および復号化装置に関する。さらに詳細には、オーディオ信号の音質を保持しながら符号化時の情報量を少なくする符号化装置および復号化装置に関する。
【0002】
【従来の技術】
音声信号または音楽信号を含むオーディオ信号の符号化方法および復号化方法は、現在までに非常に多くの方式が開発されている。特に最近では、それらの中でもISO/IECで国際標準化されたIS13818−7が認知され、高音質および高効率な符号化方法として評価されている。この符号化方法はAACと呼ばれている。近年、AACはMPEG4と呼ばれる標準規格にも採用され、IS13818−7に対していくつかの拡張機能を有するMPEG4−AACと呼ばれる方式が定められている。符号化過程の一例は、INFOMATIVE PARTにその記述がある。
【0003】
ここで、従来の符号化方法を使用する符号化装置について説明する。
【0004】
図16は、従来の符号化装置1600を示す構成図である。符号化装置1600は、スペクトル正規化部1601と、スペクトル増幅部1602と、スペクトル量子化部1603と、ハフマン符号化部1604と、符号化列転送部1605とを含む。
【0005】
オーディオ信号をサンプリングすることによって得られたオーディオ離散信号(PCMデータ)は、時間周波数変換部(図示せず)において、直交変換等の手法を使用して、オーディオ信号の時間軸上のデータからオーディオ信号の周波数スペクトルデータに変換される。オーディオ信号の時間軸上のデータは、時間に対するオーディオ信号の離散データであり、オーディオ信号の周波数スペクトルデータは、周波数に対するオーディオ信号の離散データである。オーディオ信号の周波数スペクトルデータは、スペクトル正規化部1601に入力される。
【0006】
スペクトル正規化部1601は、オーディオ信号を複数の周波数帯域に分割したうちの1つの周波数帯域の周波数スペクトルデータである周波数スペクトル列を受け取り、スケールファクタを用いて、周波数スペクトル列の平均値を特定のレンジ内の値に正規し、浮動小数点で表現する正規化スペクトル列を生成する。
スケールファクタは、例えば、2の巾乗における乗算係数である。
【0007】
スペクトル増幅部1602は、正規化スペクトル列を受け取り、正規化スペクトル列のそれぞれの値が特定範囲の値になるように、補正ゲインを用いて補正した増幅スペクトル列を生成する。
【0008】
スペクトル量子化部1603は、増幅スペクトル列を受け取り、増幅スペクトル列を所定の変換式を用いて量子化した量子化スペクトル列を生成する。スペクトル量子化部1603は、AAC方式の場合、量子化によって、浮動小数点で表現されているスペクトルデータを整数値に丸めこむ。
【0009】
ハフマン符号化部1604は、量子化スペクトル列をハフマン符号列に変換する。
【0010】
符号化列転送部1605は、スペクトル正規化部1601から出力されるスケールファクタと、スペクトル増幅部1602から出力される補正ゲインと、ハフマン符号化部1604から出力されるハフマン符号列とを外部装置1608に転送する。外部装置1608は、例えば、記録媒体または復号化装置である。
【0011】
【発明が解決しようとする課題】
近年、符号化時の情報量をより少なくするために、オーディオ信号の圧縮率をより高くすることが望まれている。
【0012】
符号化装置1600において、情報の圧縮の性能はハフマン符号化部1604に依存する。符号化装置1600において、オーディオ信号を高い圧縮率、すなわち、少ない情報量で符号化する場合、スペクトル増幅部1602の補正ゲインを制御して量子化スペクトル列の値を小さくし、それにより、ハフマン符号化部1604によって符号化される情報量を小さくする。
【0013】
しかしながら、このような動作を行なうと、ハフマン符号列を復号化した周波数スペクトルに、非常に多くの振幅(量子化値)ゼロの値が現れ、十分な音質を確保できないという課題がある。
【0014】
本発明は、このような従来の課題を鑑みてなされたものであり、音質を確保しながら、少ない情報量でオーディオ信号を符号化列に符号化する符号化装置、および、符号化列から周波数スペクトル列を復号化する復号化装置を実現することを目的とする。
【0015】
【課題を解決するための手段】
本発明の符号化装置は、オーディオ信号に基づいて、所定の量子化精度で量子化した量子化スペクトル列を生成する量子化スペクトル列生成部と、前記量子化スペクトル列に最も類似する循環型量子化スペクトル列が基準スペクトル列をいくつ循環させることにより得られるかを示す循環位置識別情報を含むスペクトル列コードを出力する循環型コードベクトル量子化部とを備え、前記循環型コードベクトル量子化部は、前記基準スペクトル列を循環させた複数の循環型量子化スペクトル列を有するコードブックを含み、前記複数の循環型量子化スペクトル列のうち、前記量子化スペクトル列との内積が最大を示す循環型量子化スペクトル列を、前記量子化スペクトル列に最も類似する循環型量子化スペクトル列とする。
本発明の符号化装置は、オーディオ信号に基づいて、所定の量子化精度で量子化した量子化スペクトル列を生成する量子化スペクトル列生成部と、前記量子化スペクトル列に最も類似する循環型量子化スペクトル列が基準スペクトル列をいくつ循環させることにより得られるかを示す循環位置識別情報を含むスペクトル列コードを出力する循環型コードベクトル量子化部とを備え、前記循環型コードベクトル量子化部は、前記基準スペクトル列を循環させた複数の循環型量子化スペクトル列を有するコードブックを含み、前記複数の循環型量子化スペクトル列のうち、前記量子化スペクトル列との内積変形関数が最大を示す循環型量子化スペクトル列を、前記量子化スペクトル列に最も類似する循環型量子化スペクトル列とする。
【0016】
前記量子化スペクトル列を変換したハフマン符号列を出力するハフマン符号化部と、前記量子化スペクトル列を受け取り、前記量子化スペクトル列を前記循環型コードベクトル量子化部または前記ハフマン符号化部のいずれに出力するかを所定の条件に基づいて切り換える符号化切換部とさらに備えてもよい。
【0020】
前記複数の循環型量子化スペクトル列は、
0=(c0、c1、c2、...、cn-1、cn
1=(cn、c0、c1、...、cn-2、cn-1
2=(cn-1、cn、c0、...、cn-3、cn-2
・・・・・
n=(c1、c2、c3、...、cn、c0
で表現され、ここで、前記基準スペクトル列はP0であり、前記複数の循環型量子化スペクトル列のそれぞれが有する要素はc0、c1、c2、...、cn-1、cnであり、前記複数の循環型量子化スペクトル列のそれぞれの要素の数はn+1であってもよい。
【0021】
前記複数の循環型量子化スペクトル列のそれぞれの要素c0、c1、c2、...、cn-1、cnのうちの幾つかが0であってもよい。
【0022】
前記複数の循環型量子化スペクトル列のそれぞれの要素c0、c1、c2、...、cn-1、cnのうちの一定の間隔の要素が0であってもよい。
【0023】
前記量子化スペクトル列生成部は、前記オーディオ信号を複数の周波数帯域に分割したうちの1つの周波数帯域のスペクトルデータである周波数スペクトル列に基づいて前記量子化スペクトル列を生成し、前記所定の条件は、前記周波数スペクトル列が、前記複数の周波数帯域のうちのどの周波数帯域のスペクトルデータであるかに基づていもよい。
【0024】
前記周波数スペクトル列の周波数帯域の情報量の配分が大きい場合、前記符号化切換部は前記量子化スペクトル列を前記ハフマン符号化部に出力してもよい。
【0025】
前記周波数スペクトル列の周波数帯域の情報量の配分が小さい場合、前記符号化切換部は前記量子化スペクトル列を前記循環型コードベクトル量子化部に出力してもよい。
【0026】
前記コードブックは、前記複数の循環型量子化スペクトル列が有する全ての要素の正負の符号を反転させた第2の複数の循環型量子化スペクトル列をさらに含んでもよい。
【0027】
前記複数の循環型量子化スペクトル列は、前記量子化スペクトル列が有する要素の数と等しい要素の数を有する複数の基準スペクトル列のそれぞれを循環させた循環型量子化スペクトル列を含んでもよい。
【0028】
本発明の復号化装置は、上述した本発明の符号化装置から出力された符号化列を復号化する復号化装置であって、前記基準スペクトル列を有し、前記基準スペクトル列と、前記符号化列に含まれるスペクトル列コードとに基づいて、前記量子化スペクトル列を生成する循環型コードベクトル逆量子化部と、前記量子化スペクトル列を受け取り、補正ゲインを用いて前記量子化スペクトル列を逆増幅して増幅スペクトル列を生成するスペクトル逆増幅部と、前記増幅スペクトル列を受け取り、スケールファクタを用いて前記増幅スペクトル列を変換して周波数スペクトル列を生成するスペクトル逆正規化部とを備え、前記スペクトル列コードは、前記基準スペクトル列をいくつ循環させることにより前記量子化スペクトル列が得られるかを示す循環位置識別情報を含む。
【0029】
本発明の復号化装置は、上述した本発明の符号化装置から出力された符号化列を復号化する復号化装置であって、前記基準スペクトル列を有し、前記基準スペクトル列と、前記符号化列に含まれるスペクトル列コードとに基づいて、前記量子化スペクトル列を生成する循環型コードベクトル逆量子化部と、前記符号化列に含まれるハフマン符号列を受け取り、前記ハフマン符号列を変換して前記量子化スペクトル列を生成するハフマン逆量子化部と、前記量子化スペクトル列を受け取り、補正ゲインを用いて前記量子化スペクトル列を逆増幅して増幅スペクトル列を生成するスペクトル逆増幅部と、前記増幅スペクトル列を受け取り、スケールファクタを用いて前記増幅スペクトル列を変換して周波数スペクトル列を生成するスペクトル逆正規化部と、前記符号化列に含まれるスペクトル列コードが前記循環型コードベクトル逆量子化部に出力され、前記符号化列に含まれるハフマン符号列が前記ハフマン逆量子化部に出力されるよう、前記スペクトル列コードおよび前記ハフマン符号列を切り換える復号化切換部とを備えている
【0030】
【発明の実施の形態】
以下、本発明の実施の形態における符号化装置および復号化装置について、図面を参照しながら説明する。
【0031】
(実施の形態1)
図1は、本発明による符号化装置100を示す構成図である。符号化装置100は、オーディオ信号に基づいて所定の量子化精度で量子化した量子化スペクトル列を生成する量子化スペクトル列生成部110と、量子化スペクトル列に基づいてスペクトル列コードを出力する循環型コードベクトル量子化部104と、量子化スペクトル列生成部110および/または循環型コードベクトル量子化部104からの出力を外部装置108に転送する符号化列転送部105とを備える。
【0032】
量子化スペクトル列生成部110は、スペクトル正規化部101と、スペクトル増幅部102と、スペクトル量子化部103とを含む。
【0033】
量子化スペクトル列生成部110は、オーディオ信号から以下に示すように量子化スペクトル列を生成する。
【0034】
オーディオ信号をサンプリングすることによって得られたオーディオ離散信号(PCMデータ)は、時間周波数変換部(図示せず)において、直交変換等の手法を使用して、オーディオ信号の時間軸上のデータからオーディオ信号の周波数スペクトルデータに変換される。オーディオ信号の時間軸上のデータは、時間に対するオーディオ信号の離散データであり、オーディオ信号の周波数スペクトルデータは、周波数に対するオーディオ信号の離散データである。オーディオ信号の周波数スペクトルデータは、スペクトル正規化部101に入力される。
【0035】
スペクトル正規化部101は、周波数スペクトル列xを受け取り、受け取った周波数スペクトル列xを、スケールファクタを用いて、前記周波数スペクトル列の平均値、または最大値を特定のレンジ内の値に正規化し、浮動小数点で表現する正規化スペクトル列yを生成する。周波数スペクトル列xは、オーディオ信号を複数の周波数帯域に分割したうちの1つの周波数帯域のスペクトルデータであり、所定数のデータを含む。スケールファクタは、例えば、2の巾乗における乗算係数である。
【0036】
スペクトル増幅部102は正規化スペクトル列yのそれぞれの値が特定の範囲の値になるように、補正ゲインαを用いて増幅した増幅スペクトル列y・αを生成する。補正ゲインαは、予め決められた周波数帯域ごとに特定の範囲の値になるように補正するために使用される。
【0037】
スペクトル量子化部103は、増幅スペクトル列y・αを所定の変換式を用いて、所定の量子化精度で量子化した量子化スペクトル列zを生成する。AAC方式の場合、スペクトル量子化部103は、量子化によって、浮動小数点で表現されている増幅スペクトル列y・αを整数値に丸めこみ、整数値のデータを有する量子化スペクトル列zを生成する。
【0038】
なお、当業者には明らかであるように、量子化スペクトル列生成部110において、周波数スペクトル列と、正規化スペクトル列と、増幅スペクトル列と、量子化スペクトル列のそれぞれの要素の数は等しい。
【0039】
本実施の形態において、循環型コードベクトル量子化部104は、コードブック104aと、格納部115とを含む。コードブック104aは、量子化スペクトル列zの要素と同じ数の要素を有する1つの基準スペクトル列を循環させた複数の循環型量子化スペクトル列を有する。格納部115は、コードブック104aの循環型量子化スペクトル列の要素を格納する。
【0040】
循環型コードベクトル量子化部104は、複数の循環型量子化スペクトル列のそれぞれと量子化スペクトル列zとを比較して、複数の循環型量子化スペクトル列のうちの量子化スペクトル列zと最も類似する循環型量子化スペクトル列を判定し、量子化スペクトル列zと最も類似する循環型量子化スペクトル列が基準スペクトル列をいくつ循環させることにより得ることができるかを示す循環位置識別情報を含むスペクトル列コードを出力する。このように、循環型コードベクトル量子化部104は、量子化スペクトル列z(正確には、量子化スペクトル列zに最も類似する循環型量子化スペクトル列)をスペクトル列コードに変換して符号化転送部105に出力する。
【0041】
符号化列転送部105は、スペクトル正規化部101から出力されるスケールファクタと、スペクトル増幅部102から出力される補正ゲインと、循環型コードベクトル量子化部104から出力されるスペクトル列コードとを外部装置108に転送する。外部装置108は、例えば、記録媒体または復号化装置である。
【0042】
符号化列転送部105は、スペクトル正規化部101と、スペクトル増幅部102と、スペクトル量子化部103と、循環型コードベクトル量子化部104のうちの任意のいずれかからの信号に基づいて符号化列を生成し、符号化装置100に入力される周波数スペクトル列xに対応するスペクトル列コードを外部装置108に出力する。符号化列転送部105は、循環型コードベクトル量子化部104からのスペクトル列コードをのみを外部装置108に出力することもあり得る。
【0043】
以下に、符号化装置100の動作についてさらに詳細に説明する。
【0044】
オーディオ離散データ(PCMデータ)は、時間周波数変換部(図示せず)においてある時間間隔ごとに周波数スペクトルデータに変換される。この周波数スペクトルデータは、予め設定された複数の周波数帯域ごとに分割され、周波数スペクトル列xが生成される。正規化部101は、この周波数スペクトル列xを受け取る。
【0045】
スペクトル正規化部101は、周波数帯域ごとに入力される周波数スペクトル列xのエネルギーを算出し、算出したエネルギーの平均値を特定のレンジ内の値に正規化する。スペクトル正規化部101は生成された正規化スペクトル列yをスペクトル増幅部102に出力し、スケールファクタを符号化転送部105に出力する。
【0046】
スペクトル増幅部102は、正規化スペクトル列yのそれぞれの値が、予め決定された範囲内になるように補正ゲインαを用いて増幅し、増幅スペクトル列y・αを生成する。スペクトル増幅部102は、増幅スペクトル列y・αをスペクトル量子化部103に出力し、補正ゲインαを符号化転送部105に出力する。
【0047】
スペクトル量子化部103は、増幅スペクトル列y・αに予め決められた変換式を用いて量子化を行なう。変換式は、例えば、以下の式(1)である。
【0048】
i=(int)(yi・α) (1)
式(1)において、ziは量子化スペクトル列zのi番目の要素であり、yiは正規化スペクトル列yのi番目の要素である。αは補正ゲインであり、補正ゲインは、分割された周波数帯域ごとに設定される。(int)は、式の値を整数に量子化する関数である。
【0049】
式(1)によって、増幅スペクトル列y・αは、整数値の量子化スペクトル列zに変換される。スペクトル量子化部103は、量子化スペクトル列zを、循環型コードベクトル量子化部104に出力する。
【0050】
循環型コードベクトル量子化部104は、上述したように、基準スペクトル列を循環させた複数の循環型量子化スペクトル列のうちの、量子化スペクトル列zと最も類似する循環型量子化スペクトル列を判定する。上記複数の循環型量子化スペクトル列のうちのどれが量子化スペクトル列zと最も類似であるかの判定は、上記複数の循環型量子化スペクトル列のそれぞれと量子化スペクトル列zとの内積によって求めることができる。この動作について、図2を参照して詳細に説明する。
【0051】
図2は、循環型コードベクトル量子化部104の動作を示すフローチャートである。
【0052】
量子化スペクトル列zが循環型コードベクトル量子化部104に入力されると、初期化ステップ201において、iを0、最大値maxを0に初期化する。
【0053】
次いで、EPi計算ステップ202において、スペクトル量子化部103から入力される量子化スペクトル列zと、コードブック104aに含まれる循環型量子化スペクトル列との内積を計算する。ここで、量子化スペクトル列zの要素数は、循環型量子化スペクトル列の要素数と同じである。例えば、量子化スペクトル列zの要素の数が16である場合、循環型量子化スペクトル列の要素の数も16である。これにより、量子化スペクトル列zと循環型量子化スペクトル列との類似度を示すEPi(iは要素数)を計算する。以下、量子化スペクトル列および基準スペクトル列、すなわち、循環型量子化スペクトル列のそれぞれの要素数が16である場合の具体例を説明する。
【0054】
図3は、本実施の形態の符号化装置に用いられるコードブック104aの循環型量子化スペクトル列を示す。基準スペクトル列を表すコードをP0、基準スペクトル列を循環させた複数の循環型量子化スペクトル列をコードPnで表す。
【0055】
なお、本明細書において、基準スペクトル列を循環させた複数の循環型量子化スペクトル列は、基準スペクトル列そのものも含む。基準スペクトル列は、基準スペクトル列を0回循環させた循環型量子化スペクトル列である。
【0056】
図3に示されるコードPn(ここで、n=0、1、2、...、15)のそれぞれの要素数は16である。
【0057】
図3に示されるように、0番目のコードP0は、{c0、c1、c2、...、c15}というベクトルからなり、1番目のコードP1は、{c15、c0、c1、...、c14}というベクトルからなる。上述したように、コードP0は基準スペクトル列であり、1番目のコードP1は、コードP0に対して各要素が1つずつ右側にシフトし、さらに、1番目のコードP1の要素位置0には、0番目のコードP0の要素位置15の要素c15が循環した構成となる。2番目以降のコードP215も、同様に0番目のコードP0の各要素が対応した数だけ循環した構成をしている。したがって、コードP0の各要素が判明すれば、他のコードP115はコードP0を循環させて一意に決定する。
【0058】
なお、図3に示す複数の循環型量子化スペクトル列は、右側に循環しているが、本発明はこれに限定されず、左側に循環していてもよい。
【0059】
EPi計算ステップ202において、量子化スペクトル列zと循環型量子化スペクトル列を表すコードPiとのベクトル内積EPiを計算する。
【0060】
EP0=z・P0=c00+c11+・・・+c1515
EP1=z・P1=c150+c01+・・・+c1415
EP2=z・P2=c140+c151+・・・+c1315
・・・・・
EP15=z・P15=c10+c21+・・・+c015 (2)
式(2)は、EPn(n=0、1、2、...、15)は、各コードPn(n=0、1、2、...、15)と、入力される量子化スペクトル列zの要素zn(n=0、1、2、...、15)との内積値である。
【0061】
最大値判定ステップ203において、循環型コードベクトル量子化部104は、ステップ202の計算結果がいままで計算した結果のうちの最大かどうかを判定する。最大値判定ステップ203は、例えば、以下の(3)式を用いる。
【0062】
【数1】

Figure 0004508490
ここで、ncodeは、EPiが最大値maxとなる場合の循環値iである。
【0063】
最大値判定ステップ203の判定の結果、ステップ202の計算結果が最大と判定される場合(最大値判定ステップ203のY)、保存ステップ204に進む。保存ステップ204において、計算したEPiを最大値maxとして更新する。また循環数iを循環型コードベクトル量子化部104内の格納部115に保存する。ただし、循環数iを循環型コードベクトル量子化部104内の任意の格納部に格納されてもよい。次いで、終端判定ステップ205に進む。
【0064】
最大値判定ステップ203における判定の結果、ステップ202の計算結果が最大でない場合(最大値判定ステップ203のN)、終端判定ステップ205に進む。
【0065】
なお、iが0の場合、初期化ステップ201において、最大値maxは0に初期化されているので、最大値判定ステップ203において、EP0は最大と判定され、保存ステップ204において、EP0は循環型コードベクトル量子化部104の格納部115に保存される。
【0066】
終端判定ステップ205において、基準スペクトル列を循環させた複数の循環型量子化スペクトル列のすべての計算が終了したかどうかを判定する。すなわち、終端判定ステップ205において、iが最大値かどうかを判定する。
【0067】
iが最大値である場合(ステップ205のY)、この動作を終了する。
【0068】
iが最大値でない場合(ステップ205のN)、更新ステップ206において、iを1つインクリメントし、ステップ202に戻る。
【0069】
次いで、循環型コードベクトル量子化部104内は、インクリメントされたiに対してステップ202〜206の動作を繰り返す。
【0070】
終了判定ステップ205において、基準スペクトル列を循環させた複数の循環型量子化スペクトル列の全てを計算した場合、すなわち、iが最大値まで到達して終了と判定される場合(終了判定ステップ205のY)、循環型コードベクトル量子化部104は、保存ステップ204において保存された最大EPi値の循環値iをスペクトル列コードとして符号列転送部105に出力する。ここで、循環値iは、量子化スペクトル列と最も類似する循環型量子化スペクトル列が基準スペクトル列からi個循環させることにより得られることを意味し、本明細書において循環位置識別情報とよぶ。上記説明では、量子化スペクトル列zの要素は16であるので、循環値iが取り得る値も16個である。従って、循環位置識別情報は、4ビットの符号で表現することができる。
【0071】
図4は、符号化列転送部105から外部装置108に出力される符号化列400の構造の一例を示す。符号化列400は、一般に、低い周波数帯域から高い周波数帯域の順番に符号化されたスペクトル列コードを含む。ここで、周波数帯域nに対応する符号化列400、すなわち、スペクトル列コード401について説明する。
【0072】
スペクトル列コード401は、周波数帯域nに対応する循環位置識別情報402を含む。ここで、上述したように、量子化スペクトル列の要素が16個である場合、循環位置識別情報は4ビットで表現することができる。
【0073】
また、スペクトル列コード401は、周波数帯域nの符号として、スペクトル正規化部101から出力されるスケールファクタと、スペクトル増幅部102から出力される補正ゲインとをさらに含んでもよい。
【0074】
このように構成された符号化装置を用いることで、少ない固定ビットで符号化を行なうことができる。また、コードブック104aの各コード(循環型量子化スペクトル列)が循環構造で作成されていることから、c0、c1、・・・、c15の16個の要素のみを符号化装置および復号化装置が有すればよく(例えば、循環型コードベクトル量子化部104の格納部115)、それにより、要素を記憶するための格納部の容量を小さくすることができる。
【0075】
なお、上記説明では、量子化スペクトル列および循環型量子化スペクトル列の要素の数が16個の場合を説明したが、本発明はこれに限定されない。量子化スペクトル列および循環型量子化スペクトル列の要素の数は任意でよい。
【0076】
なお、上記の説明では、量子化スペクトル列zと最も類似の循環型量子化スペクトル列を判定するために内積を使用した。しかし、本発明はこれに限定されない。例えば、内積変形関数を使用してもよい。本明細書において、内積変形関数とは、内積の係数に重み付けがしていある関数を意味する。具体的には、図2に示されるEPi計算ステップ202において、量子化スペクトル列zと循環型量子化スペクトル列を表すコードPiとのベクトル内積変形関数EPiを計算する。
【0077】
EP0’=3c00+2c11+・・・+0.3c1515
EP1’=3c150+2c01+・・・+0.3c1415
EP2’=3c140+2c151+・・・+0.3c1315
・・・・・
EP15’=3c10+2c21+・・・+0.3c015 (4)
式(4)は、EPn’(n=0、1、2、...、15)は、各コードPn(n=0、1、2、...、15)と、入力される量子化スペクトル列zの要素zn(n=0、1、2、...、15)との内積変形関数値である。
【0078】
内積においては、すべての係数が1であるため、ある周波数帯域内の周波数スペクトルデータの重要度も均一として計算される。しかし、式(4)に示すように、内積変形関数を用いると、ある周波数帯域内の周波数スペクトルデータの重要度を考慮することができる。例えば、より低い周波数の影響をより強く考慮する場合、より低い周波数成分のデータに対応する量子化スペクトル列の係数を大きくすればよい。
【0079】
(実施の形態2)
次に、本発明の実施の形態2における符号化装置について説明する。実施の形態2における符号化装置は、循環型コードベクトル量子化部104の最大値判定ステップ203、保存ステップ204の動作が異なる点を除いて、実施の形態1で説明した符号化装置と同じである。
【0080】
本実施の形態において最大値判定ステップ203(図2参照)は、例えば、式(5)を用いる。
【0081】
【数2】
Figure 0004508490
ここで、abs( )は、( )内の絶対値を出力する関数であり、変数faceは、コードの値が反転されているかどうか示す。本明細書において、変数faceは、位相識別情報とよぶ。上記式において、変数face=1の場合、図5に示されるコードブック104bからの1つのコードが、量子化スペクトル列に最も類似していることを意味し、変数face=0の場合、図3に示されるコードブック104aからの1つのコードが、量子化スペクトル列に最も類似していることを意味する。
【0082】
図2に示される保存ステップ204において、ncodeとfaceの値が保存される。
【0083】
上記に示すように実施の形態2では、最大値判定ステップ203において、内積値ではなく、EPi計算ステップ202において計算した値を用いて内積値の絶対値が最大となる循環値iを求める。これは、図3に示すコードブック104aのコードを計算しながら、同時に、図5に示すコードブック104bのコードを計算しているのと同義である。なぜなら、コードブック104bのコードの各要素は、図3に示すコードの各要素の値の符号を全て反転させたものに対応するからである。ただし、式(5)に示すように計算することで、コードブック104a、104bのコードを順次計算する場合と比べて、大幅に計算時間を短縮することができる。
【0084】
本実施の形態における循環型コードベクトル量子化部104のコードブックは、コードブック104a、104bに示されるコードを有する。コードブック104bの各コードは、コードブック104aの各コードに対して符号をすべて反転させたものである。
【0085】
図6は、符号化列転送部105から外部装置108に出力される符号化列600の構造の一例を示す。符号化列600は、一般に、低い周波数帯域から高い周波数帯域の順番に符号化されたスペクトル列コードを含む。ここで、周波数帯域nに対応する符号化列600、すなわちスペクトル列コード601について説明する。
【0086】
スペクトル列コード601は、周波数帯域nに対応する循環位置識別情報602と位相識別情報603とを含む。ここで、上述したように、量子化スペクトル列の要素が16個である場合、循環位置識別情報は4ビットで表現することができ、位相識別情報は1ビットで表現することができる。
【0087】
また、スペクトル列コード601は、周波数帯域nの符号として、スペクトル正規化部101から出力されるスケールファクタと、スペクトル増幅部102から出力される補正ゲインとをさらに含んでもよい。
【0088】
このように構成された符号化装置では、実施の形態1と比較して計算量が最大値判定ステップ203の部分のみが大きくなるだけであり、また、スペクトル列コード601の観点から位相識別情報603に割り当てるビット数が1だけ増加するのみである。要素の数が16の場合、本実施の形態は5ビットという少ない符号量で符号化を行なうことができる。
【0089】
このように、本実施の形態によれば、少ない固定ビットで符号化を行なうことができる。また、コードブック104bに含まれる複数の循環型量子化スペクトル列は、コードブック104aの基準スペクトル列を循環させた循環型量子化スペクトル列の全ての要素の符号を反転して作成されているため、c0、c1、・・・、c15の16個の要素のみを符号化装置および復号化装置が有すればよく(例えば、循環型コードベクトル量子化部104の格納部115)、それにより、要素を記憶するための格納部の容量を小さくすることができる。
【0090】
(実施の形態3)
次に、本発明の実施の形態3における符号化装置について説明する。実施の形態3における符号化装置は、コードブック104cと、EPi計算ステップ202における動作が異なる点を除いて、実施の形態2で説明した符号化装置と同じである。
【0091】
本実施の形態における循環型コードベクトル量子化部104のコードブック104cを図7に示す。本実施の形態におけるコードブック104cは、要素c0、c1、・・・、cn-1、cnのうち、一定の間隔で0の要素が配置されていることを特徴とする。図7に示す例では、c1、c2、c3、c5、c6、c7、c9、c10、c11、c13、c14、c15の値が0である。これに伴い、EPi計算ステップ202での計算は、式(6)に示すように単純化される。
【0092】
EP0=z・P0=c00+c44+c88+c1212
EP1=z・P1=c01+c45+c89+c1213
EP2=z・P2=c02+c46+c810+c1214
・・・・・
EP15=z・P15=c015+c43+c87+c1211 (6)
したがって、実施の形態2と比べて、EPi計算ステップ202の計算量を4分の1に減らすことができる。
【0093】
このように構成された符号化装置を用いることにより、少ない固定ビットで符号化を行なうことができる。また、コードブック104cの各コードが循環構造で作成されており、かつ、4つの要素(c0、c4、c8、c12)のみが値を有するので、符号化装置および復号化装置は4つの要素の値のみを有すればよく(例えば、循環型コードベクトル量子化部104の格納部115)、要素を記憶するための格納部の容量を小さくすることができる。
【0094】
また、本実施の形態においても、実施の形態2において説明したのと同様に、循環型コードベクトル量子化部104のコードブックは、コードブック104cに示されるコードだけでなく、図8に示すコードブック104dに示されるコードを有してもよい。
【0095】
なお、上記説明では、0の値を有する要素が連続する場合を説明したが、本発明はこれに限定されない。循環型量子化スペクトル列が有する任意の要素のうちの少なくとも1つ0の値を有する要素があればよい。
【0096】
また、上記説明では、循環型量子化スペクトル列の要素の数が16の場合を説明したが、本発明はこれに限定されない。循環型量子化スペクトル列の要素の数は任意の数であればよい。
【0097】
(実施の形態4)
次に本発明の実施の形態4における符号化装置について説明する。本実施の形態における符号化装置は、ハフマン符号化部と符号化切換部とを備える点を除いて、実施の形態1で説明した符号化装置100と同じ構成を有する。
【0098】
図9は、実施の形態4における符号化装置900を示す構成図である。符号化装置900は、量子化スペクトル列生成部110と、循環型コードベクトル量子化部104と、符号化列転送部105と、ハフマン符号化部106と、符号化切換部107とを備える。量子化スペクトル列生成部110は、スペクトル正規化部101と、スペクトル増幅部102と、スペクトル量子化部103とを含む。
【0099】
なお、量子化スペクトル列生成部110(スペクトル正規化部101と、スペクトル増幅部102と、スペクトル量子化部103)と、循環型コードベクトル量子化部104と、符号化列転送部105と、外部装置108とは、図1に示す符号化装置100と同一であるので、それらの説明を省略する。
【0100】
符号化切換部107は、スペクトル量子化部103で得られた量子化スペクトル列zをハフマン符号化するか、循環型量子化スペクトル列に変換するかを所定の条件に基づいて切り換える。このとき、符号化切換部107は、符号化方式を符号化転送部105に伝える。
【0101】
符号化切換部107が量子化スペクトル列zをハフマン符号部106に入力するように切り換えた場合、ハフマン符号化部106は、量子化スペクトル列zを変換してハフマン符号列を生成する。ハフマン符号化部106は、量子化スペクトルziの複数個をまとめてハフマン符号化する。ハフマン符号化によって符号化されたハフマン符号列を復号化する場合、復号化装置は、量子化スペクトルziを完全に復元することができる(ロスレス復号化)。
【0102】
符号化切換部107が量子化スペクトル列zを循環型コードベクトル量子化部104に入力するように切り換えた場合、循環型コードベクトル量子化部104は、量子化スペクトル列zを、量子化スペクトル列zに最も類似する循環型量子化スペクトル列に変換する。なお、量子化スペクトル列zに最も類似する循環型量子化スペクトル列は、実施形態1〜3に説明したように生成される。
【0103】
このような構成によれば、オーディオ信号が複数の周波数帯域に分割され、周波数帯域ごとに周波数スペクトル列を符号化する場合、符号化切換部107は、所定の条件に基づいて、量子化スペクトル列を循環型コードベクトル量子化部104か、ハフマン符号化部106に出力するかを切り換える。上記所定の条件とは、例えば、その量子化スペクトル列が、オーディオ信号の複数の周波数帯域のどの周波数帯域から派生したかによる。符号化に必要な情報量の配分が小さい場合(すなわち、その周波数帯域が受聴者の聴感に影響の少ない場合)、符号化切換部107は、量子化スペクトル列zを循環型コードベクトル量子化部104に出力するように切り換える。符号化に必要な情報量の配分が大きい場合(すなわち、その周波数帯域が受聴者の聴感に影響する場合)、符号化切換部107は、量子化スペクトル列zをハフマン符号化部106に出力するように切り換える。
【0104】
したがって、循環型コードベクトル量子化部104において、量子化スペクトル列zと、量子化スペクトル列zに最も類似する循環型量子化スペクトル列との類似度がそれほどよくなく、復号化の際に多少のロスが生じても、対象の周波数帯域は受聴者の聴感に影響の少ない。また、音質をある程度保ちながら、少ない情報量で符号化を行なうことができる。
【0105】
(実施の形態5)
次に、本発明の実施の形態5における符号化装置について説明する。実施の形態5における符号化装置は、コードブック104eの内容と、計算ステップ202における動作が異なる点を除いて、実施の形態3で説明した符号化装置と同じである。
【0106】
実施の形態1〜4において、コードブック104a、104b、104c、104dに含まれる複数の循環型量子化スペクトル列は、1つの基準スペクトル列を循環させた循環型量子化スペクトル列であった。しかし、本発明はこれに限定されない。本実施の形態では、コードブック104eが、複数の基準スペクトル列のそれぞれを循環させた循環型量子化スペクトル列を含む場合を説明する。
【0107】
図10は、4つの基準スペクトル列を有するコードブック104eを模式的に示す。コードブック104eは、4つの基準スペクトル列のそれぞれを循環させた複数の循環型量子化スペクトル列を含むが、ここでは、簡略化のため、基準スペクトル列のみを示す。
【0108】
ここで、量子化スペクトル列zに最も類似する循環型量子化スペクトル列は、第2の基準スペクトル列を3つ循環させ、すべての要素を反転させたスペクトルが量子化スペクトル列zに最も類似するスペクトルであると仮定する。図10に示されるように、第2の基準スペクトル列は{2、0、0、0、−2、0、0、0、−1、0、0、0、1、0、0、0}であり、これを3つ循環させて、すべての要素を反転させた循環型量子化スペクトル列は、{0、2、0、0、0、1、0、0、0、−1、0、0、0、−2、0、0}である。したがって、量子化スペクトル列zに最も類似する循環型量子化スペクトル列スペクトルは、{0、2、0、0、0、1、0、0、0、−1、0、0、0、−2、0、0}である。
【0109】
図11は、この場合のスペクトル列コードを示す。ここで、codebookidは基準スペクトル列識別情報であり、code indexは循環位置識別情報であり、phaseは位相識別情報である。基準スペクトル列識別情報は、スペクトル列コードによって表される循環型量子化スペクトル列がコードブック104eのどの基準スペクトルから派生するかを示す情報である。循環位置識別情報は、スペクトル列コードによって表される循環型量子化スペクトル列がその基準スペクトル列をいくら循環することによって得られるかを示す情報である。位相識別情報は、スペクトル列コードによって表される循環型量子化スペクトル列が基準スペクトル列の全ての要素の符号を反転したスペクトル列に対応するか否かを示す情報である。
【0110】
図12は、この場合に、符号化列転送部105から外部装置108に出力される符号化列1200の構造の一例を示す。符号化列1200は、一般に、低い周波数帯域から高い周波数帯域の順番に符号化されたスペクトル列コードを含む。ここで、周波数帯域nに対応する符号化列1200、すなわちスペクトル列コード1201について説明する。
【0111】
スペクトル列コード1201は、周波数帯域nに対応する、追加情報1202と、基準スペクトル列識別情報1203と、循環位置識別情報1204と、位相識別情報1205とを含む。ここで、上述したように、コードブック104eが4個の基準スペクトル列を有する場合、基準スペクトル列識別情報1203は2ビットで表現される。また、周波数スペクトル列の要素が16個である場合、循環位置識別情報1204は4ビットで表現される。また、位相識別情報1205は1ビットで表現される。
【0112】
上述した例の場合、基準スペクトル列識別情報1203と、循環位置識別情報1204と、位相識別情報1205は、10進表記でそれぞれ、1、3、1である。したがって、これらは、2進表記で、それぞれ、01、0011、1と表現される。
【0113】
また、スペクトル列コード1201は、追加情報1202として、周波数帯域nの符号として、スペクトル正規化部101から出力されるスケールファクタ、および/または、スペクトル増幅部102から出力される補正ゲインとをさらに含んでもよい。
【0114】
(実施の形態6)
次に、本発明の実施の形態6として、復号化装置について説明する。本実施の形態の復号化装置は、実施の形態1〜3、5の符号化装置で符号化された符号化列を受け取り、上記符号化列を復号化して、オーディオ信号を得る。
【0115】
図13は、本実施の形態による復号化装置1300の構成を示すブロック図である。復号化装置1300は、循環型コードベクトル逆量子化部1301と、スペクトル逆増幅部1302と、スペクトル逆正規化部1303と、符号化列入力部1304とを備える。
【0116】
符号化列入力部1304は、コードブック1307と、格納部1308とを含む。コードブック1307は、符号化列入力部1304に入力される符号化列を生成する際に使用されたコードと同じコードを含む。したがって、コードブック1307は、基準スペクトル列と、基準スペクトル列を循環させた複数の循環型量子化スペクトル列を含む。格納部1308は、コードブック1307のコードの各要素を格納する。
【0117】
ある場合、符号化列入力部1304は、符号化装置100によって出力された符号化列を受け取る。符号化列入力部1304は、受け取った符号化列から循環型量子化スペクトル列を符号化した循環位置識別情報を抽出する。また、符号化列が、スペクトル正規化部101で用いられたスケールファクタおよび/またはスペクトル増幅部102で用いられた補正ゲインとを含む場合、符号化列入力部1304は、スケールファクタおよび/または補正ゲインを抽出する。
【0118】
循環型コードベクトル逆量子化部1301は、符号化列入力部1304から受け取った循環位置識別情報に基づいて、コードブック1307の循環型量子化スペクトル列から、該当する循環型量子化スペクトル列を量子化スペクトル列として選択し、スペクトル列コードのデータの復元を行なう。
【0119】
ここで、コードブック1307は、図3に示されるコードブック104aと同じであると仮定する。例えば、循環位置識別情報の値iが1の場合のコードブック1307の循環型量子化スペクトル列は(c15、c0、c1、...、c13、c14)であるので、量子化スペクトル列(c15、c0、c1、...、c13、c14)がスペクトル逆増幅部1302に出力する。
【0120】
スペクトル逆増幅部1302は、スペクトル逆増幅部1302から入力されたスペクトル列に、符号化列入力部1304から受け取った補正ゲインを用いて逆増幅し、逆増幅スペクトル列を生成する。具体的には、符号化列入力部1304から受け取った補正ゲインがαであれば、1/α倍に増幅する。
【0121】
スペクトル逆正規化部1303は、逆増幅スペクトル列の各要素に対して、符号化列入力部1304から受け取ったスケールファクタを乗算し、各スペクトルにおける実際のレベル値に変換する。
【0122】
このようにスペクトル逆正規化部1303によって得られた実際のレベル値を示す1つの周波数帯域のスペクトルデータは、低域から高域へと並べられ、オーディオ信号の周波数スペクトルデータとして使用される。次いで、周波数時間変換部(図示せず)を用いて、周波数スペクトルデータを時間軸上のデータ、すなわち、PCMデータに変換する。さらに、このPCMデータをDA変換すると、アナログのオーディオ信号が生成される。
【0123】
なお、上記説明では、スペクトル列コードは循環位置識別情報のみを含む場合を説明したが、本発明はこれに限定されない。以下に、循環型コードベクトル逆量子化部1301は、循環位置識別情報だけでなく、基準スペクトル列識別情報と、位相識別情報とを含むスペクトル列コードから、スペクトル列コードが表す循環型量子化スペクトル列(すなわち、量子化スペクトル列)を生成する場合を説明する。
【0124】
図14は、復号化装置1300に用いられる循環型コードベクトル逆量子化部1301の動作を示すフローチャートである。循環型コードベクトル逆量子化部1301は、スペクトル列コード1201(図12参照)に基づいて量子化スペクトル列を生成する。
【0125】
循環型コードベクトル逆量子化部1301は、ステップ1401において、基準スペクトル列識別情報に基づいて、循環型コードベクトル逆量子化部1301のコードブック1307に含まれる基準スペクトル列を特定する。この場合、コードブック1307は、図10に示されるコードブック104dと同じである。
図12に示されるように基準スペクトル列識別情報の値は10進法表記で1(2進法表記で01)であり、これは、基準スペクトル列識別情報が第2の基準スペクトル列であることを示す。
【0126】
ステップ1402において、循環型コードベクトル逆量子化部1301は、循環位置識別情報に基づいて、量子化スペクトル列を得るための基準スペクトル列循環量を取得する。循環位置識別情報は、図12に示されるように、10進法表記で3(2進法表記で0011)である。
【0127】
循環型コードベクトル逆量子化部1301は、ステップ1403において、位相識別情報から位相の反転情報を取得する。位相識別情報は、図12に示されるように、10進法表記で1(2進法表記で1)である。
【0128】
上記の結果から、復号化装置1300の循環型コードベクトル逆量子化部1301が、スペクトル列コード1201に基づいて生成される量子化スペクトル列は、{0、2、0、0、0、1、0、0、0、−1、0、0、0、−2、0、0}となる。
【0129】
(実施の形態7)
次いで、本発明の実施の形態7による復号化装置を説明する。図15は、本実施の形態による復号化装置1500の構成を示すブロック図である。復号化装置1500は、図9に示される符号化装置900によって符号化された符号化列から、オーディオ信号を得る。
【0130】
復号化装置1500は、循環型コードベクトル逆量子化部1301と、スペクトル逆増幅部1302と、スペクトル逆正規化部1303と、符号化列入力部1304と、復号化切換部1305と、ハフマン逆量子化1306とを備える。循環型コードベクトル逆量子化部1301は、コードブック1307と、格納部1308とを含む。
【0131】
ただし、循環型コードベクトル逆量子化部1301と、スペクトル逆増幅部1302と、スペクトル逆正規化部1303と、符号化列入力部1304は、図13に示される復号化装置1300のものと同一であるで、説明を省略する。
【0132】
符号化列入力部1304は符号化列を受け取ると、ハフマン符号列または循環位置識別情報と、符号化方式とを抽出する。さらに、符号化列入力部1304は、補正ゲインおよびスケールファクタを取り出す。符号化列入力部1304は、符号化方式に関する情報を復号化切換部1305に出力する。復号化切換部1305は、符号化方式に基づいて、循環型コードベクトル逆量子化部1301またはハフマン逆量子化部1306を切り換える。循環位置識別情報は循環型コードベクトル逆量子化部1301に出力され、ハフマン符号列はハフマン逆量子化部1306に出力される。
【0133】
ハフマン逆量子化部1306は、ハフマンコードブックを格納する格納部1309を有する。復号化切換部1305がハフマン逆量子化部1306に切り換えて、ハフマン符号列を出力する場合、ハフマン逆量子化部1306が復号化処理を開始する。ハフマン逆量子化部1306は、ハフマンコードブック名とハフマン符号列が入力されると、ハフマン符号列に対応するインデックス値を読み出し、量子化スペクトル列を復元する。この場合、ロスレス復号化が実現される。
【0134】
復号化切換部1305が循環型コードベクトル逆量子化部1301に切り換えて、位置循環識別情報を出力する場合、実施の形態6で説明したのと同様な復号化処理が行なわれ、量子化スペクトル列が復元される。
【0135】
ハフマン逆量子化部1306または循環型コードベクトル逆量子化部1301によって生成された量子化スペクトル列は、実施の形態6において説明したように周波数スペクトルデータに変換される。
【0136】
次いで、周波数時間変換部(図示せず)は、上記の周波数スペクトルデータを時間軸上のデータ、すなわち、PCMデータに変換する。さらに、このPCMデータをDA変換すると、アナログのオーディオ信号が生成される。
【0137】
なお、上記説明では、循環型コードベクトル逆量子化部1301が、循環位置識別情報のみから量子化スペクトル列を生成する場合を説明したが、本発明はこれに限定されない。実施の形態6で説明したように、循環型コードベクトル逆量子化部1301は、循環位置識別情報だけでなく、基準スペクトル列識別情報と、位相識別情報とを含むスペクトル列コードから、スペクトル列コードが表す循環型量子化スペクトル列(すなわち、量子化スペクトル列)を生成してもよい。
【0138】
【発明の効果】
本発明による符号化装置は、量子化スペクトル列と最も類似する循環型量子化スペクトル列は基準スペクトル列をいくつ循環させたかを示す循環位置識別情報を含むスペクトル列コードを出力することにより、符号化時の情報量を少なくし、かつ、よりよい音質を得ることができる。
【0139】
この符号化装置は、従来の符号化方法と比べて、計算量が少なく、かつ、格納部の容量をを小さくすることができ、その結果、低いビットレートで効率的な符号化列を生成することができる。
【0140】
本発明による復号化装置は、基準スペクトル列を有し、基準スペクトル列と、上記基準スペクトル列をいくつ循環させることにより量子化スペクトル列が得られるかを示す循環位置識別情報とから、量子化スペクトル列を生成することにより、復号化装置が受け取る情報量が少なくでき、かつ、よりよい音質を効率的に得ることができる。
【図面の簡単な説明】
【図1】本発明の実施の形態1〜3、5における符号化装置の構成図。
【図2】本発明の実施の形態1〜5における符号化装置に用いられる循環型コードベクトル量子化部の動作を示すフローチャート。
【図3】実施の形態1の符号化装置に用いられるコードブック中の循環型量子化スペクトル列。
【図4】本発明の実施の形態1による符号化列の構造。
【図5】本発明の実施の形態2による符号化装置に用いられるコードブック中の循環型量子化スペクトル列。
【図6】本発明の実施の形態2による符号化列の構造。
【図7】本発明の実施の形態3による符号化装置に用いられるコードブック中の循環型量子化スペクトル列。
【図8】本発明の実施の形態3による符号化装置に用いられるコードブック中の別の循環型量子化スペクトル列。
【図9】本発明の実施の形態4による符号化装置の構成図。
【図10】本発明の実施の形態5による符号化装置に用いられるコードブック中の複数の基準スペクトル列。
【図11】本発明の実施の形態5によるスペクトル列コード。
【図12】本発明の実施の形態5による符号化列の構造。
【図13】本発明の実施の形態6による復号化装置の構成図。
【図14】本発明の実施の形態6における復号化装置に用いられる循環型コードベクトル逆量子化部の動作を示すフローチャート。
【図15】本発明の実施の形態7による復号化装置の構成図。
【図16】従来の符号化装置の構成図。
【符号の説明】
100 符号化装置
101 スペクトル正規化部
102 スペクトル増幅部
103 スペクトル量子化部
104 循環型コードベクトル量子化部
104a、104b、104c、104d、104e コードブック
105 符号化列転送部
108 外部装置
110 量子化スペクトル列生成部
115 格納部[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an encoding device and a decoding device. More specifically, the present invention relates to an encoding device and a decoding device that reduce the amount of information during encoding while maintaining the sound quality of an audio signal.
[0002]
[Prior art]
To date, a great number of methods for encoding and decoding audio signals including audio signals or music signals have been developed. In particular, recently, among them, IS13818-7 internationally standardized by ISO / IEC has been recognized and evaluated as a high sound quality and high efficiency encoding method. This encoding method is called AAC. In recent years, AAC is also adopted in a standard called MPEG4, and a system called MPEG4-AAC having several extended functions is defined with respect to IS13818-7. An example of the encoding process is described in INFOMATATE PART.
[0003]
Here, an encoding apparatus using a conventional encoding method will be described.
[0004]
FIG. 16 is a configuration diagram showing a conventional encoding device 1600. The encoding apparatus 1600 includes a spectrum normalization unit 1601, a spectrum amplification unit 1602, a spectrum quantization unit 1603, a Huffman encoding unit 1604, and an encoded sequence transfer unit 1605.
[0005]
The audio discrete signal (PCM data) obtained by sampling the audio signal is converted from the data on the time axis of the audio signal by using a method such as orthogonal transformation in a time frequency conversion unit (not shown). It is converted into frequency spectrum data of the signal. The data on the time axis of the audio signal is discrete data of the audio signal with respect to time, and the frequency spectrum data of the audio signal is discrete data of the audio signal with respect to frequency. The frequency spectrum data of the audio signal is input to the spectrum normalization unit 1601.
[0006]
The spectrum normalization unit 1601 receives a frequency spectrum sequence that is frequency spectrum data of one frequency band obtained by dividing the audio signal into a plurality of frequency bands, and specifies an average value of the frequency spectrum sequence using a scale factor. Generate a normalized spectral sequence that is normalized to the values in the range and expressed in floating point.
The scale factor is, for example, a multiplication coefficient in the power of 2.
[0007]
The spectrum amplifying unit 1602 receives the normalized spectrum sequence, and generates an amplified spectrum sequence corrected using the correction gain so that each value of the normalized spectrum sequence becomes a value in a specific range.
[0008]
The spectrum quantization unit 1603 receives the amplified spectrum sequence and generates a quantized spectrum sequence obtained by quantizing the amplified spectrum sequence using a predetermined conversion formula. In the case of the AAC method, the spectrum quantization unit 1603 rounds the spectrum data expressed in floating point to an integer value by quantization.
[0009]
The Huffman encoding unit 1604 converts the quantized spectrum sequence into a Huffman code sequence.
[0010]
The encoded sequence transfer unit 1605 outputs the scale factor output from the spectrum normalization unit 1601, the correction gain output from the spectrum amplification unit 1602, and the Huffman code sequence output from the Huffman encoding unit 1604 to the external device 1608. Forward to. The external device 1608 is, for example, a recording medium or a decoding device.
[0011]
[Problems to be solved by the invention]
In recent years, in order to reduce the amount of information at the time of encoding, it is desired to increase the compression rate of the audio signal.
[0012]
In the encoding apparatus 1600, the information compression performance depends on the Huffman encoding unit 1604. When encoding an audio signal with a high compression rate, that is, with a small amount of information in the encoding device 1600, the correction gain of the spectrum amplifying unit 1602 is controlled to reduce the value of the quantized spectrum sequence. The amount of information encoded by the encoding unit 1604 is reduced.
[0013]
However, when such an operation is performed, a very large value of amplitude (quantization value) zero appears in the frequency spectrum obtained by decoding the Huffman code string, and there is a problem that sufficient sound quality cannot be ensured.
[0014]
The present invention has been made in view of such conventional problems, and an encoding device that encodes an audio signal into an encoded sequence with a small amount of information while ensuring sound quality, and a frequency from the encoded sequence An object of the present invention is to realize a decoding device that decodes a spectrum sequence.
[0015]
[Means for Solving the Problems]
  The encoding device of the present invention includes a quantized spectrum sequence generating unit that generates a quantized spectrum sequence quantized with a predetermined quantization accuracy based on an audio signal, and a cyclic quantum sequence most similar to the quantized spectrum sequence. A cyclic code vector quantization unit that outputs a spectral sequence code including cyclic position identification information indicating how many times the standardized spectral sequence is obtained by circulating the reference spectral sequenceThe cyclic code vector quantization unit includes a codebook having a plurality of cyclic quantization spectrum sequences obtained by circulating the reference spectrum sequence, and the quantization spectrum among the plurality of cyclic quantization spectrum sequences. A cyclic quantization spectrum sequence having the maximum inner product with the sequence is set as a cyclic quantization spectrum sequence most similar to the quantization spectrum sequence.
  The encoding device of the present invention includes a quantized spectrum sequence generating unit that generates a quantized spectrum sequence quantized with a predetermined quantization accuracy based on an audio signal, and a cyclic quantum sequence most similar to the quantized spectrum sequence. A cyclic code vector quantization unit that outputs a spectral sequence code including cyclic position identification information indicating how many times the standardized spectral sequence is obtained by circulating the reference spectral sequence, and the cyclic code vector quantization unit includes: A codebook having a plurality of cyclic quantization spectrum sequences obtained by circulating the reference spectrum sequence, and the inner product deformation function with the quantization spectrum sequence of the plurality of circulation quantization spectrum sequences is maximum. The cyclic quantization spectrum sequence is a cyclic quantization spectrum sequence most similar to the quantization spectrum sequence.
[0016]
A Huffman encoding unit that outputs a Huffman code sequence obtained by converting the quantized spectrum sequence, and receives the quantized spectrum sequence, and the quantized spectrum sequence is either the cyclic code vector quantization unit or the Huffman encoding unit. And an encoding switching unit that switches based on a predetermined condition.
[0020]
The plurality of cyclic quantization spectrum sequences are:
P0= (C0, C1, C2,. . . , Cn-1, Cn)
P1= (Cn, C0, C1,. . . , Cn-2, Cn-1)
P2= (Cn-1, Cn, C0,. . . , Cn-3, Cn-2)
...
Pn= (C1, C2, CThree,. . . , Cn, C0)
Where the reference spectral sequence is P0And each of the plurality of cyclic quantization spectrum sequences has c0, C1, C2,. . . , Cn-1, CnAnd the number of elements in each of the plurality of cyclic quantization spectrum sequences may be n + 1.
[0021]
Each element c of the plurality of cyclic quantization spectrum sequences0, C1, C2,. . . , Cn-1, CnSome of them may be zero.
[0022]
Each element c of the plurality of cyclic quantization spectrum sequences0, C1, C2,. . . , Cn-1, CnThe elements at regular intervals may be zero.
[0023]
The quantized spectrum sequence generation unit generates the quantized spectrum sequence based on a frequency spectrum sequence that is spectrum data of one frequency band of the audio signal divided into a plurality of frequency bands, and the predetermined condition May be based on which frequency band of the plurality of frequency bands is the spectrum data.
[0024]
When the distribution of the information amount of the frequency band of the frequency spectrum sequence is large, the encoding switching unit may output the quantized spectrum sequence to the Huffman encoding unit.
[0025]
When the distribution of the information amount of the frequency band of the frequency spectrum sequence is small, the coding switching unit may output the quantized spectrum sequence to the cyclic code vector quantization unit.
[0026]
The code book may further include a second plurality of cyclic quantization spectrum sequences obtained by inverting the signs of all elements of the plurality of circulation quantization spectrum sequences.
[0027]
The plurality of cyclic quantized spectral sequences may include a cyclic quantized spectral sequence obtained by circulating each of a plurality of reference spectral sequences having the same number of elements as the number of elements of the quantized spectral sequence.
[0028]
  The decoding device of the present inventionA decoding device for decoding the encoded sequence output from the encoding device of the present invention described above,A reference spectrum sequence, and the reference spectrum sequence;Included in the coded sequenceBased on the spectral column codeSaidA cyclic code vector inverse quantization unit that generates a quantized spectrum sequence, and a spectrum inverse amplifying unit that receives the quantized spectrum sequence and deamplifies the quantized spectrum sequence using a correction gain to generate an amplified spectrum sequence And a spectrum denormalization unit that receives the amplified spectrum sequence and converts the amplified spectrum sequence using a scale factor to generate a frequency spectrum sequence, and the spectrum sequence code circulates the reference spectrum sequence in a number of ways. It includes cyclic position identification information indicating whether the quantized spectrum sequence can be obtained.
[0029]
  The decoding device of the present inventionA decoding apparatus for decoding the encoded sequence output from the encoding apparatus of the present invention described above, comprising the reference spectrum sequence, and the reference spectrum sequence and a spectrum sequence code included in the encoded sequence A cyclic code vector inverse quantization unit for generating the quantized spectrum sequence based on the code sequence, and included in the encoded sequenceA Huffman inverse quantization unit that receives a Huffman code sequence, converts the Huffman code sequence, and generates the quantized spectrum sequence;A spectrum inverse amplification unit that receives the quantized spectrum sequence, reverse-amplifies the quantized spectrum sequence using a correction gain to generate an amplified spectrum sequence, receives the amplified spectrum sequence, and uses the scale factor to generate the amplified spectrum A spectral denormalization unit that converts the sequence to generate a frequency spectrum sequence;AboveThe spectral sequence code included in the encoded sequence isThe cyclic code vector inverse quantization unitOutput toAboveThe Huffman code sequence included in the encoded sequence isHuffman inverse quantization sectionTo output the spectrum sequence code and the Huffman code sequence.Decoding switching section for switchingHave.
[0030]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, an encoding device and a decoding device according to embodiments of the present invention will be described with reference to the drawings.
[0031]
(Embodiment 1)
FIG. 1 is a block diagram showing an encoding apparatus 100 according to the present invention. The encoding apparatus 100 includes a quantized spectrum sequence generation unit 110 that generates a quantized spectrum sequence quantized with a predetermined quantization accuracy based on an audio signal, and a circulation that outputs a spectrum sequence code based on the quantized spectrum sequence. Type code vector quantization section 104, and coded sequence transfer section 105 that transfers the output from quantized spectrum sequence generation section 110 and / or cyclic code vector quantization section 104 to external device 108.
[0032]
The quantized spectrum sequence generation unit 110 includes a spectrum normalization unit 101, a spectrum amplification unit 102, and a spectrum quantization unit 103.
[0033]
The quantized spectrum sequence generation unit 110 generates a quantized spectrum sequence from the audio signal as shown below.
[0034]
The audio discrete signal (PCM data) obtained by sampling the audio signal is converted from the data on the time axis of the audio signal by using a method such as orthogonal transform in a time-frequency conversion unit (not shown). It is converted into frequency spectrum data of the signal. Data on the time axis of the audio signal is discrete data of the audio signal with respect to time, and frequency spectrum data of the audio signal is discrete data of the audio signal with respect to frequency. The frequency spectrum data of the audio signal is input to the spectrum normalization unit 101.
[0035]
The spectrum normalization unit 101 receives the frequency spectrum sequence x, normalizes the received frequency spectrum sequence x using a scale factor, the average value or the maximum value of the frequency spectrum sequence to a value within a specific range, A normalized spectrum sequence y expressed in floating point is generated. The frequency spectrum sequence x is spectrum data of one frequency band among the audio signals divided into a plurality of frequency bands, and includes a predetermined number of data. The scale factor is, for example, a multiplication coefficient in the power of 2.
[0036]
The spectrum amplifying unit 102 generates an amplified spectrum sequence y · α amplified using the correction gain α so that each value of the normalized spectrum sequence y falls within a specific range. The correction gain α is used to correct a value in a specific range for each predetermined frequency band.
[0037]
The spectrum quantization unit 103 generates a quantized spectrum sequence z obtained by quantizing the amplified spectrum sequence y · α with a predetermined quantization accuracy using a predetermined conversion formula. In the case of the AAC scheme, the spectrum quantization unit 103 rounds the amplified spectrum sequence y · α expressed in floating point to an integer value by quantization, and generates a quantized spectrum sequence z having integer value data. .
[0038]
As will be apparent to those skilled in the art, in the quantized spectrum sequence generation unit 110, the frequency spectrum sequence, the normalized spectrum sequence, the amplified spectrum sequence, and the number of elements of the quantized spectrum sequence are equal.
[0039]
In the present embodiment, cyclic code vector quantization section 104 includes code book 104a and storage section 115. The code book 104a has a plurality of cyclic quantized spectral sequences obtained by circulating one reference spectral sequence having the same number of elements as the elements of the quantized spectral sequence z. The storage unit 115 stores the elements of the cyclic quantization spectrum sequence of the code book 104a.
[0040]
The cyclic code vector quantization unit 104 compares each of the plurality of cyclic quantization spectrum sequences with the quantized spectrum sequence z, and most of the quantization spectrum sequence z of the plurality of cyclic quantization spectrum sequences. Include a cyclic position identification information that determines a similar cyclic quantized spectral sequence and indicates how many cyclic quantized spectral sequences that are most similar to the quantized spectral sequence z can be obtained by cycling the reference spectral sequence Outputs the spectrum sequence code. As described above, the cyclic code vector quantization unit 104 converts the quantized spectral sequence z (more precisely, the cyclic quantized spectral sequence most similar to the quantized spectral sequence z) into a spectral sequence code and encodes it. The data is output to the transfer unit 105.
[0041]
The encoded sequence transfer unit 105 receives the scale factor output from the spectrum normalization unit 101, the correction gain output from the spectrum amplification unit 102, and the spectrum sequence code output from the cyclic code vector quantization unit 104. Transfer to external device 108. The external device 108 is, for example, a recording medium or a decoding device.
[0042]
The encoded sequence transfer unit 105 performs encoding based on a signal from any one of the spectrum normalization unit 101, the spectrum amplification unit 102, the spectrum quantization unit 103, and the cyclic code vector quantization unit 104. A sequence is generated, and a spectrum sequence code corresponding to the frequency spectrum sequence x input to the encoding device 100 is output to the external device 108. The encoded sequence transfer unit 105 may output only the spectral sequence code from the cyclic code vector quantization unit 104 to the external device 108.
[0043]
Hereinafter, the operation of the encoding apparatus 100 will be described in more detail.
[0044]
Audio discrete data (PCM data) is converted into frequency spectrum data at certain time intervals in a time-frequency converter (not shown). This frequency spectrum data is divided into a plurality of preset frequency bands, and a frequency spectrum sequence x is generated. The normalization unit 101 receives this frequency spectrum sequence x.
[0045]
The spectrum normalization unit 101 calculates the energy of the frequency spectrum sequence x input for each frequency band, and normalizes the calculated average value of the energy to a value within a specific range. The spectrum normalization unit 101 outputs the generated normalized spectrum sequence y to the spectrum amplification unit 102 and outputs the scale factor to the encoding / transfer unit 105.
[0046]
The spectrum amplifying unit 102 amplifies the normalized spectrum sequence y using the correction gain α so that each value is within a predetermined range, and generates an amplified spectrum sequence y · α. The spectrum amplification unit 102 outputs the amplified spectrum sequence y · α to the spectrum quantization unit 103, and outputs the correction gain α to the encoding transfer unit 105.
[0047]
The spectrum quantization unit 103 performs quantization using a predetermined conversion formula for the amplified spectrum sequence y · α. The conversion formula is, for example, the following formula (1).
[0048]
zi= (Int) (yi・ Α) (1)
In formula (1), ziIs the i-th element of the quantized spectral sequence z and yiIs the i-th element of the normalized spectral sequence y. α is a correction gain, and the correction gain is set for each divided frequency band. (Int) is a function that quantizes the value of the expression into an integer.
[0049]
By the equation (1), the amplified spectrum sequence y · α is converted into an integer-valued quantized spectrum sequence z. The spectrum quantization unit 103 outputs the quantized spectrum sequence z to the cyclic code vector quantization unit 104.
[0050]
As described above, the cyclic code vector quantization unit 104 selects a cyclic quantized spectral sequence that is most similar to the quantized spectral sequence z among a plurality of cyclic quantized spectral sequences obtained by circulating the reference spectral sequence. judge. The determination of which of the plurality of cyclic quantization spectrum sequences is most similar to the quantization spectrum sequence z is based on the inner product of each of the plurality of circulation quantization spectrum sequences and the quantization spectrum sequence z. Can be sought. This operation will be described in detail with reference to FIG.
[0051]
FIG. 2 is a flowchart showing the operation of the cyclic code vector quantization unit 104.
[0052]
When the quantized spectrum sequence z is input to the cyclic code vector quantization unit 104, i is initialized to 0 and the maximum value max to 0 in an initialization step 201.
[0053]
Then EPiIn a calculation step 202, an inner product of the quantized spectrum sequence z input from the spectrum quantization unit 103 and the cyclic quantized spectrum sequence included in the code book 104a is calculated. Here, the number of elements of the quantized spectrum sequence z is the same as the number of elements of the cyclic quantized spectrum sequence. For example, when the number of elements in the quantized spectrum sequence z is 16, the number of elements in the cyclic quantized spectrum sequence is also 16. Thus, EP indicating the similarity between the quantized spectrum sequence z and the cyclic quantized spectrum sequencei(I is the number of elements) is calculated. Hereinafter, a specific example in which the number of elements of each of the quantized spectrum sequence and the reference spectrum sequence, that is, the cyclic quantized spectrum sequence is 16, will be described.
[0054]
FIG. 3 shows a cyclic quantized spectrum sequence of the code book 104a used in the encoding apparatus of the present embodiment. The code representing the reference spectrum sequence is P0, Code a plurality of cyclic quantized spectral sequences obtained by circulating the reference spectral sequence as a code PnRepresented by
[0055]
In the present specification, the plurality of cyclic quantization spectrum sequences obtained by circulating the reference spectrum sequence includes the reference spectrum sequence itself. The reference spectrum sequence is a cyclic quantization spectrum sequence obtained by circulating the reference spectrum sequence 0 times.
[0056]
Code P shown in FIG.n(Here, n = 0, 1, 2,..., 15) has 16 elements.
[0057]
As shown in FIG. 3, the 0th code P0Is {c0, C1, C2,. . . , C15}, The first code P1Is {c15, C0, C1,. . . , C14}. As mentioned above, the code P0Is the reference spectrum sequence and the first code P1Is code P0Each element is shifted to the right by one, and the first code P1In element position 0, the 0th code P0Element c at element position 1515It becomes the structure which circulated. Second and subsequent code P2~15Similarly, the 0th code P0Each of the elements is configured to circulate by the corresponding number. Therefore, the code P0If each element of is found, another code P1~15Is code P0It is determined uniquely by cycling.
[0058]
Note that the plurality of cyclic quantization spectrum sequences shown in FIG. 3 circulate on the right side, but the present invention is not limited to this, and may circulate on the left side.
[0059]
EPiIn the calculation step 202, the code P representing the quantized spectrum sequence z and the cyclic quantized spectrum sequenceiVector inner product EP withiCalculate
[0060]
EP0= Z · P0= C0z0+ C1z1+ ... + c15z15
EP1= Z · P1= C15z0+ C0z1+ ... + c14z15
EP2= Z · P2= C14z0+ C15z1+ ... + c13z15
...
EP15= Z · P15= C1z0+ C2z1+ ... + c0z15(2)
Equation (2) is expressed as EPn(N = 0, 1, 2,..., 15)n(N = 0, 1, 2,..., 15) and an input element z of the quantized spectrum sequence znThe inner product value (n = 0, 1, 2,..., 15).
[0061]
In the maximum value determination step 203, the cyclic code vector quantization unit 104 determines whether the calculation result of step 202 is the maximum of the results calculated so far. The maximum value determination step 203 uses, for example, the following expression (3).
[0062]
[Expression 1]
Figure 0004508490
Where ncode is EPiIs the circulation value i when becomes the maximum value max.
[0063]
As a result of the determination in the maximum value determination step 203, when the calculation result in step 202 is determined to be the maximum (Y in the maximum value determination step 203), the process proceeds to the storage step 204. In the saving step 204, the calculated EPiIs updated as the maximum value max. Further, the circulation number i is stored in the storage unit 115 in the cyclic code vector quantization unit 104. However, the circulation number i may be stored in an arbitrary storage unit in the cyclic code vector quantization unit 104. Next, the process proceeds to the termination determination step 205.
[0064]
As a result of the determination in the maximum value determination step 203, when the calculation result in step 202 is not maximum (N in the maximum value determination step 203), the process proceeds to the termination determination step 205.
[0065]
If i is 0, the maximum value max is initialized to 0 in the initialization step 201. Therefore, in the maximum value determination step 203, EP0Is determined to be the maximum, and in the save step 204, the EP0Is stored in the storage unit 115 of the cyclic code vector quantization unit 104.
[0066]
In the end determination step 205, it is determined whether or not all the calculations of the plurality of cyclic quantization spectrum sequences obtained by circulating the reference spectrum sequence are completed. That is, in the termination determination step 205, it is determined whether i is the maximum value.
[0067]
If i is the maximum value (Y in step 205), this operation is terminated.
[0068]
If i is not the maximum value (N in Step 205), i is incremented by 1 in the update step 206, and the process returns to Step 202.
[0069]
Next, in the cyclic code vector quantization unit 104, the operations in steps 202 to 206 are repeated for the incremented i.
[0070]
In the end determination step 205, when all of the plurality of cyclic quantized spectrum sequences obtained by circulating the reference spectrum sequence are calculated, that is, when i reaches the maximum value and is determined to end (in the end determination step 205) Y) The cyclic code vector quantization unit 104 determines that the maximum EP stored in the storing step 204 isiThe cyclic value i of the value is output to the code string transfer unit 105 as a spectrum string code. Here, the cyclic value i means that a cyclic quantized spectral sequence that is most similar to the quantized spectral sequence is obtained by circulating i pieces of cyclic quantized spectral sequences from the reference spectral sequence, and is referred to as cyclic position identification information in this specification. . In the above description, the number of elements of the quantized spectrum sequence z is 16, so that the circulation value i can take 16 values. Therefore, the cyclic position identification information can be expressed by a 4-bit code.
[0071]
FIG. 4 shows an example of the structure of the encoded sequence 400 output from the encoded sequence transfer unit 105 to the external device 108. The encoded sequence 400 generally includes a spectral sequence code encoded in order from a low frequency band to a high frequency band. Here, the encoded sequence 400 corresponding to the frequency band n, that is, the spectrum sequence code 401 will be described.
[0072]
The spectrum sequence code 401 includes circulation position identification information 402 corresponding to the frequency band n. Here, as described above, when there are 16 elements in the quantized spectrum sequence, the cyclic position identification information can be expressed by 4 bits.
[0073]
The spectrum sequence code 401 may further include a scale factor output from the spectrum normalization unit 101 and a correction gain output from the spectrum amplification unit 102 as codes of the frequency band n.
[0074]
By using the encoding apparatus configured as described above, encoding can be performed with a small number of fixed bits. In addition, since each code (cyclic quantization spectrum sequence) of the code book 104a is created in a cyclic structure, c0, C1, ..., c15The encoding device and the decoding device only need to have 16 elements (for example, the storage unit 115 of the cyclic code vector quantization unit 104), thereby reducing the capacity of the storage unit for storing the elements. Can be small.
[0075]
In the above description, the case where the number of elements of the quantization spectrum sequence and the cyclic quantization spectrum sequence is 16 has been described, but the present invention is not limited to this. The number of elements of the quantization spectrum sequence and the cyclic quantization spectrum sequence may be arbitrary.
[0076]
In the above description, the inner product is used to determine the cyclic quantization spectrum sequence most similar to the quantization spectrum sequence z. However, the present invention is not limited to this. For example, an inner product deformation function may be used. In the present specification, the inner product deformation function means a function in which a coefficient of the inner product is weighted. Specifically, the EP shown in FIG.iIn the calculation step 202, the code P representing the quantized spectrum sequence z and the cyclic quantized spectrum sequenceiVector inner product deformation function EPiCalculate
[0077]
EP0'= 3c0z0+ 2c1z1+ ... + 0.3c15z15
EP1'= 3c15z0+ 2c0z1+ ... + 0.3c14z15
EP2'= 3c14z0+ 2c15z1+ ... + 0.3c13z15
...
EP15'= 3c1z0+ 2c2z1+ ... + 0.3c0z15(4)
Equation (4) is expressed as EPn′ (N = 0, 1, 2,..., 15) represents each code Pn(N = 0, 1, 2,..., 15) and an input element z of the quantized spectrum sequence znThe inner product deformation function value (n = 0, 1, 2,..., 15).
[0078]
In the inner product, since all the coefficients are 1, the importance of the frequency spectrum data within a certain frequency band is also calculated as uniform. However, as shown in Equation (4), the importance of the frequency spectrum data within a certain frequency band can be taken into account when the inner product deformation function is used. For example, when considering the influence of the lower frequency more strongly, the coefficient of the quantized spectrum sequence corresponding to the data of the lower frequency component may be increased.
[0079]
(Embodiment 2)
Next, an encoding apparatus according to Embodiment 2 of the present invention will be described. The encoding apparatus in the second embodiment is the same as the encoding apparatus described in the first embodiment except that the operations of the maximum value determination step 203 and the storage step 204 of the cyclic code vector quantization unit 104 are different. is there.
[0080]
In the present embodiment, the maximum value determination step 203 (see FIG. 2) uses, for example, Equation (5).
[0081]
[Expression 2]
Figure 0004508490
Here, abs () is a function that outputs the absolute value in (), and the variable face indicates whether the value of the code is inverted. In this specification, the variable face is referred to as phase identification information. In the above equation, when the variable face = 1, it means that one code from the code book 104b shown in FIG. 5 is most similar to the quantized spectrum sequence, and when the variable face = 0, FIG. This means that one code from the code book 104a shown in Fig. 1 is most similar to the quantized spectrum sequence.
[0082]
In the storing step 204 shown in FIG. 2, the values of ncode and face are stored.
[0083]
As described above, in the second embodiment, in the maximum value determination step 203, not the inner product value but the EP.iUsing the value calculated in the calculation step 202, a circulation value i that maximizes the absolute value of the inner product value is obtained. This is equivalent to calculating the code of the code book 104b shown in FIG. 5 while calculating the code of the code book 104a shown in FIG. This is because each element of the code of the code book 104b corresponds to a code obtained by inverting all the signs of the values of the elements of the code shown in FIG. However, the calculation time can be significantly reduced by calculating as shown in Expression (5), compared to the case of sequentially calculating the codes of the codebooks 104a and 104b.
[0084]
The code book of cyclic code vector quantization section 104 in the present embodiment has codes shown in code books 104a and 104b. Each code of the code book 104b is obtained by inverting all the signs with respect to each code of the code book 104a.
[0085]
FIG. 6 shows an example of the structure of the encoded sequence 600 output from the encoded sequence transfer unit 105 to the external device 108. The encoded sequence 600 generally includes a spectral sequence code encoded in order from a low frequency band to a high frequency band. Here, the coded sequence 600 corresponding to the frequency band n, that is, the spectrum sequence code 601 will be described.
[0086]
The spectrum sequence code 601 includes circulation position identification information 602 and phase identification information 603 corresponding to the frequency band n. Here, as described above, when the number of elements of the quantized spectrum sequence is 16, the cyclic position identification information can be expressed by 4 bits, and the phase identification information can be expressed by 1 bit.
[0087]
The spectrum sequence code 601 may further include a scale factor output from the spectrum normalization unit 101 and a correction gain output from the spectrum amplification unit 102 as a code of the frequency band n.
[0088]
In the coding apparatus configured as described above, only the portion of the maximum value determination step 203 in the calculation amount is larger than that in the first embodiment, and the phase identification information 603 from the viewpoint of the spectrum sequence code 601. The number of bits allocated to is only increased by 1. When the number of elements is 16, the present embodiment can perform encoding with a small code amount of 5 bits.
[0089]
Thus, according to the present embodiment, encoding can be performed with a small number of fixed bits. In addition, the plurality of cyclic quantization spectrum sequences included in the code book 104b are created by inverting the signs of all elements of the cyclic quantization spectrum sequence obtained by circulating the reference spectrum sequence of the code book 104a. , C0, C1, ..., c15The encoding device and the decoding device only need to have 16 elements (for example, the storage unit 115 of the cyclic code vector quantization unit 104), thereby reducing the capacity of the storage unit for storing the elements. Can be small.
[0090]
(Embodiment 3)
Next, an encoding apparatus according to Embodiment 3 of the present invention will be described. The encoding apparatus according to Embodiment 3 includes a code book 104c, an EPiThe encoding apparatus is the same as that described in the second embodiment except that the operation in the calculation step 202 is different.
[0091]
FIG. 7 shows a code book 104c of the cyclic code vector quantization unit 104 in the present embodiment. The code book 104c in the present embodiment includes an element c0, C1, ..., cn-1, CnAmong them, 0 elements are arranged at regular intervals. In the example shown in FIG.1, C2, CThree, CFive, C6, C7, C9, CTen, C11, C13, C14, C15The value of is 0. Along with this, EPiThe calculation in calculation step 202 is simplified as shown in equation (6).
[0092]
EP0= Z · P0= C0z0+ CFourzFour+ C8z8+ C12z12
EP1= Z · P1= C0z1+ CFourzFive+ C8z9+ C12z13
EP2= Z · P2= C0z2+ CFourz6+ C8zTen+ C12z14
...
EP15= Z · P15= C0z15+ CFourzThree+ C8z7+ C12z11(6)
Therefore, compared to the second embodiment, EPiThe calculation amount of the calculation step 202 can be reduced to a quarter.
[0093]
By using the encoding apparatus configured as described above, encoding can be performed with a small number of fixed bits. In addition, each code of the code book 104c is created in a circular structure and includes four elements (c0, CFour, C8, C12) Only have values, the encoding device and the decoding device need only have the values of four elements (for example, the storage unit 115 of the cyclic code vector quantization unit 104) for storing the elements. The capacity of the storage unit can be reduced.
[0094]
Also in the present embodiment, as described in the second embodiment, the codebook of the cyclic code vector quantization unit 104 is not only the code shown in the codebook 104c but also the code shown in FIG. The code shown in the book 104d may be included.
[0095]
In the above description, the case where elements having a value of 0 are continuous has been described, but the present invention is not limited to this. There may be an element having a value of 0 of at least one of arbitrary elements included in the cyclic quantization spectrum sequence.
[0096]
In the above description, the case where the number of elements in the cyclic quantization spectrum sequence is 16 has been described, but the present invention is not limited to this. The number of elements in the cyclic quantization spectrum sequence may be an arbitrary number.
[0097]
(Embodiment 4)
Next, an encoding apparatus according to Embodiment 4 of the present invention will be described. The encoding apparatus in the present embodiment has the same configuration as that of encoding apparatus 100 described in Embodiment 1, except that it includes a Huffman encoding unit and an encoding switching unit.
[0098]
FIG. 9 is a configuration diagram showing an encoding apparatus 900 according to the fourth embodiment. The encoding apparatus 900 includes a quantized spectrum sequence generation unit 110, a cyclic code vector quantization unit 104, an encoded sequence transfer unit 105, a Huffman encoding unit 106, and an encoding switching unit 107. The quantized spectrum sequence generation unit 110 includes a spectrum normalization unit 101, a spectrum amplification unit 102, and a spectrum quantization unit 103.
[0099]
Note that the quantized spectrum sequence generation unit 110 (spectrum normalization unit 101, spectrum amplification unit 102, spectrum quantization unit 103), cyclic code vector quantization unit 104, encoded sequence transfer unit 105, external Since the apparatus 108 is the same as the encoding apparatus 100 shown in FIG. 1, description thereof is omitted.
[0100]
The encoding switching unit 107 switches whether the quantized spectrum sequence z obtained by the spectrum quantizing unit 103 is Huffman encoded or converted into a cyclic quantized spectrum sequence based on a predetermined condition. At this time, the encoding switching unit 107 informs the encoding transfer unit 105 of the encoding method.
[0101]
When the coding switching unit 107 switches to input the quantized spectrum sequence z to the Huffman code unit 106, the Huffman coding unit 106 converts the quantized spectrum sequence z to generate a Huffman code sequence. The Huffman encoding unit 106 performs quantization spectrum ziHuffman coding is performed on a plurality of these. When decoding a Huffman code sequence encoded by Huffman coding, the decoding apparatus performs quantization spectrum ziCan be completely restored (lossless decoding).
[0102]
When the encoding switching unit 107 switches to input the quantized spectrum sequence z to the cyclic code vector quantization unit 104, the cyclic code vector quantization unit 104 converts the quantized spectrum sequence z into the quantized spectrum sequence z. Convert to a circular quantized spectral sequence most similar to z. Note that the cyclic quantization spectrum sequence most similar to the quantization spectrum sequence z is generated as described in the first to third embodiments.
[0103]
According to such a configuration, when the audio signal is divided into a plurality of frequency bands and the frequency spectrum sequence is encoded for each frequency band, the encoding switching unit 107 performs the quantization spectrum sequence based on a predetermined condition. To be output to the cyclic code vector quantization unit 104 or the Huffman coding unit 106. The predetermined condition depends on, for example, which frequency band of the plurality of frequency bands of the audio signal the quantized spectrum sequence is derived from. When the distribution of the amount of information necessary for encoding is small (that is, when the frequency band has little influence on the listener's audibility), the encoding switching unit 107 converts the quantized spectrum sequence z into a cyclic code vector quantization unit. Switch to output to 104. When the distribution of the amount of information necessary for encoding is large (that is, when the frequency band affects the listener's audibility), encoding switching section 107 outputs quantized spectrum sequence z to Huffman encoding section 106. Switch as follows.
[0104]
Therefore, in the cyclic code vector quantization unit 104, the degree of similarity between the quantized spectral sequence z and the cyclic quantized spectral sequence that is most similar to the quantized spectral sequence z is not very good, and there is a slight difference in decoding. Even if a loss occurs, the target frequency band has little influence on the listener's audibility. In addition, encoding can be performed with a small amount of information while maintaining sound quality to some extent.
[0105]
(Embodiment 5)
Next, an encoding apparatus according to Embodiment 5 of the present invention will be described. The encoding apparatus in the fifth embodiment is the same as the encoding apparatus described in the third embodiment, except that the contents of the code book 104e and the operation in the calculation step 202 are different.
[0106]
In Embodiments 1 to 4, the plurality of cyclic quantization spectrum sequences included in the codebooks 104a, 104b, 104c, and 104d are cyclic quantization spectrum sequences obtained by circulating one reference spectrum sequence. However, the present invention is not limited to this. In the present embodiment, a case will be described in which codebook 104e includes a cyclic quantization spectrum sequence obtained by circulating each of a plurality of reference spectrum sequences.
[0107]
FIG. 10 schematically shows a code book 104e having four reference spectrum sequences. The code book 104e includes a plurality of cyclic quantization spectrum sequences obtained by circulating each of the four reference spectrum sequences, but only the reference spectrum sequence is shown here for the sake of simplicity.
[0108]
Here, the cyclic quantized spectral sequence most similar to the quantized spectral sequence z has three second reference spectral sequences circulated, and the spectrum with all elements inverted is most similar to the quantized spectral sequence z. Assume that it is a spectrum. As shown in FIG. 10, the second reference spectrum sequence is {2, 0, 0, 0, -2, 0, 0, 0, -1, 0, 0, 0, 1, 0, 0, 0}. The cyclic quantized spectral sequence obtained by circulating three of them and inverting all the elements is {0, 2, 0, 0, 0, 1, 0, 0, 0, -1, 0, 0, 0, -2, 0, 0}. Therefore, the circular quantization spectrum sequence most similar to the quantization spectrum sequence z is {0, 2, 0, 0, 0, 1, 0, 0, 0, −1, 0, 0, 0, −2 , 0, 0}.
[0109]
FIG. 11 shows a spectrum sequence code in this case. Here, codebook is reference spectrum sequence identification information, code index is circulation position identification information, and phase is phase identification information. The reference spectrum sequence identification information is information indicating which reference spectrum of the code book 104e the cyclic quantized spectrum sequence represented by the spectrum sequence code is derived from. The cyclic position identification information is information indicating how much the cyclic quantized spectral sequence represented by the spectral sequence code is obtained by circulating the reference spectral sequence. The phase identification information is information indicating whether or not the cyclic quantization spectrum sequence represented by the spectrum sequence code corresponds to a spectrum sequence obtained by inverting the signs of all the elements of the reference spectrum sequence.
[0110]
FIG. 12 shows an example of the structure of the encoded sequence 1200 output from the encoded sequence transfer unit 105 to the external device 108 in this case. The encoded sequence 1200 generally includes a spectral sequence code encoded in order from a low frequency band to a high frequency band. Here, the encoded sequence 1200 corresponding to the frequency band n, that is, the spectrum sequence code 1201 will be described.
[0111]
The spectrum sequence code 1201 includes additional information 1202, reference spectrum sequence identification information 1203, circulation position identification information 1204, and phase identification information 1205 corresponding to the frequency band n. Here, as described above, when the code book 104e has four reference spectrum sequences, the reference spectrum sequence identification information 1203 is expressed by 2 bits. In addition, when there are 16 elements in the frequency spectrum sequence, the circulating position identification information 1204 is expressed by 4 bits. Further, the phase identification information 1205 is expressed by 1 bit.
[0112]
In the case of the above-described example, the reference spectrum sequence identification information 1203, the circulation position identification information 1204, and the phase identification information 1205 are 1, 3, and 1, respectively, in decimal notation. Therefore, these are expressed as 01, 0011, 1 in binary notation, respectively.
[0113]
The spectrum sequence code 1201 further includes, as additional information 1202, a scale factor output from the spectrum normalization unit 101 and / or a correction gain output from the spectrum amplification unit 102 as a code of the frequency band n. But you can.
[0114]
(Embodiment 6)
Next, a decoding device will be described as a sixth embodiment of the present invention. The decoding apparatus according to the present embodiment receives the encoded sequence encoded by the encoding apparatuses according to the first to third and fifth embodiments, decodes the encoded sequence, and obtains an audio signal.
[0115]
FIG. 13 is a block diagram showing a configuration of decoding apparatus 1300 according to the present embodiment. Decoding apparatus 1300 includes cyclic code vector inverse quantization section 1301, spectrum inverse amplification section 1302, spectrum inverse normalization section 1303, and encoded sequence input section 1304.
[0116]
The encoded string input unit 1304 includes a code book 1307 and a storage unit 1308. The code book 1307 includes the same code as the code used when generating the encoded sequence input to the encoded sequence input unit 1304. Therefore, the code book 1307 includes a reference spectrum sequence and a plurality of cyclic quantization spectrum sequences obtained by circulating the reference spectrum sequence. The storage unit 1308 stores each element of the code of the code book 1307.
[0117]
In some cases, the encoded sequence input unit 1304 receives the encoded sequence output by the encoding apparatus 100. The encoded sequence input unit 1304 extracts the cyclic position identification information obtained by encoding the cyclic quantized spectral sequence from the received encoded sequence. Further, when the encoded sequence includes the scale factor used in the spectrum normalization unit 101 and / or the correction gain used in the spectrum amplification unit 102, the encoded sequence input unit 1304 displays the scale factor and / or correction. Extract the gain.
[0118]
Based on the cyclic position identification information received from the coded sequence input unit 1304, the cyclic code vector inverse quantization unit 1301 quantizes the corresponding cyclic quantized spectral sequence from the cyclic quantized spectral sequence of the codebook 1307. The selected spectral sequence is selected and the spectral sequence code data is restored.
[0119]
  Here, the code book 1307 is the code shown in FIG.bookAssume that it is the same as 104a. For example, when the cyclic position identification information value i is 1, the cyclic quantized spectral sequence of the codebook 1307 is (c15, c0, c1,..., C13, c14), so that the quantized spectral sequence (c15 , C 0, c 1,..., C 13, c 14) are output to the spectrum inverse amplification unit 1302.
[0120]
The spectrum inverse amplification unit 1302 inversely amplifies the spectrum sequence input from the spectrum inverse amplification unit 1302 using the correction gain received from the encoded sequence input unit 1304 to generate an inverse amplification spectrum sequence. Specifically, if the correction gain received from the coded sequence input unit 1304 is α, it is amplified by 1 / α.
[0121]
The spectrum inverse normalization unit 1303 multiplies each element of the deamplified spectrum sequence by the scale factor received from the encoded sequence input unit 1304, and converts it into an actual level value in each spectrum.
[0122]
Thus, the spectrum data of one frequency band indicating the actual level value obtained by the spectrum inverse normalization unit 1303 is arranged from the low band to the high band, and is used as the frequency spectrum data of the audio signal. Next, a frequency time conversion unit (not shown) is used to convert the frequency spectrum data into data on the time axis, that is, PCM data. Further, when this PCM data is D / A converted, an analog audio signal is generated.
[0123]
In the above description, the case where the spectrum sequence code includes only the cyclic position identification information has been described, but the present invention is not limited to this. Hereinafter, the cyclic code vector inverse quantization unit 1301 uses the cyclic quantization spectrum represented by the spectrum sequence code from the spectrum sequence code including not only the cyclic position identification information but also the reference spectrum sequence identification information and the phase identification information. A case where a sequence (that is, a quantized spectrum sequence) is generated will be described.
[0124]
FIG. 14 is a flowchart showing the operation of the cyclic code vector inverse quantization unit 1301 used in the decoding apparatus 1300. The cyclic code vector inverse quantization unit 1301 generates a quantized spectrum sequence based on the spectrum sequence code 1201 (see FIG. 12).
[0125]
In step 1401, the cyclic code vector inverse quantization unit 1301 specifies a reference spectrum sequence included in the code book 1307 of the cyclic code vector inverse quantization unit 1301 based on the reference spectrum sequence identification information. In this case, the code book 1307 is the same as the code book 104d shown in FIG.
As shown in FIG. 12, the value of the reference spectrum sequence identification information is 1 in decimal notation (01 in binary notation). This is because the reference spectrum sequence identification information is the second reference spectrum sequence. Indicates.
[0126]
In step 1402, the cyclic code vector inverse quantization unit 1301 acquires a reference spectral sequence circulation amount for obtaining a quantized spectral sequence based on the cyclic position identification information. As shown in FIG. 12, the circulating position identification information is 3 in decimal notation (0011 in binary notation).
[0127]
In step 1403, cyclic code vector inverse quantization section 1301 obtains phase inversion information from phase identification information. As shown in FIG. 12, the phase identification information is 1 in decimal notation (1 in binary notation).
[0128]
From the above result, the quantized spectrum sequence generated by the cyclic code vector inverse quantization unit 1301 of the decoding apparatus 1300 based on the spectrum sequence code 1201 is {0, 2, 0, 0, 0, 1, 0, 0, 0, -1, 0, 0, 0, -2, 0, 0}.
[0129]
(Embodiment 7)
Next, a decoding apparatus according to Embodiment 7 of the present invention will be described. FIG. 15 is a block diagram showing a configuration of decoding apparatus 1500 according to the present embodiment. The decoding apparatus 1500 obtains an audio signal from the encoded sequence encoded by the encoding apparatus 900 shown in FIG.
[0130]
Decoding apparatus 1500 includes cyclic code vector inverse quantization section 1301, spectrum inverse amplification section 1302, spectrum inverse normalization section 1303, coded sequence input section 1304, decoding switching section 1305, Huffman inverse quantum. 1306. The cyclic code vector inverse quantization unit 1301 includes a code book 1307 and a storage unit 1308.
[0131]
However, cyclic code vector inverse quantization section 1301, spectrum inverse amplification section 1302, spectrum inverse normalization section 1303, and encoded sequence input section 1304 are the same as those of decoding apparatus 1300 shown in FIG. Therefore, the description is omitted.
[0132]
When the encoded sequence input unit 1304 receives the encoded sequence, the encoded sequence input unit 1304 extracts a Huffman code sequence or cyclic position identification information and an encoding method. Further, the encoded sequence input unit 1304 extracts the correction gain and the scale factor. The coded sequence input unit 1304 outputs information related to the coding scheme to the decoding switching unit 1305. Decoding switching section 1305 switches cyclic code vector inverse quantization section 1301 or Huffman inverse quantization section 1306 based on the coding scheme. The cyclic position identification information is output to the cyclic code vector inverse quantization unit 1301, and the Huffman code string is output to the Huffman inverse quantization unit 1306.
[0133]
The Huffman inverse quantization unit 1306 includes a storage unit 1309 that stores a Huffman codebook. When the decoding switching unit 1305 switches to the Huffman inverse quantization unit 1306 and outputs a Huffman code string, the Huffman inverse quantization unit 1306 starts decoding processing. When the Huffman codebook name and the Huffman code string are input, the Huffman inverse quantization unit 1306 reads an index value corresponding to the Huffman code string and restores the quantized spectrum string. In this case, lossless decoding is realized.
[0134]
When decoding switching section 1305 switches to cyclic code vector inverse quantization section 1301 and outputs position circulation identification information, decoding processing similar to that described in Embodiment 6 is performed, and a quantized spectrum sequence is performed. Is restored.
[0135]
The quantized spectrum sequence generated by the Huffman inverse quantization unit 1306 or the cyclic code vector inverse quantization unit 1301 is converted into frequency spectrum data as described in the sixth embodiment.
[0136]
Next, a frequency time conversion unit (not shown) converts the frequency spectrum data into data on the time axis, that is, PCM data. Further, when this PCM data is D / A converted, an analog audio signal is generated.
[0137]
In the above description, the case where the cyclic code vector inverse quantization unit 1301 generates the quantized spectrum sequence only from the cyclic position identification information has been described, but the present invention is not limited to this. As described in the sixth embodiment, the cyclic code vector inverse quantization unit 1301 obtains the spectrum sequence code from the spectrum sequence code including not only the cyclic position identification information but also the reference spectrum sequence identification information and the phase identification information. A cyclic quantization spectrum sequence represented by (ie, a quantization spectrum sequence) may be generated.
[0138]
【The invention's effect】
The encoding apparatus according to the present invention outputs a spectral sequence code including cyclic position identification information indicating how many reference spectral sequences have been circulated from a cyclic quantized spectral sequence that is most similar to the quantized spectral sequence. The amount of information at the time can be reduced, and better sound quality can be obtained.
[0139]
This encoding apparatus has a smaller amount of calculation and a smaller storage capacity than the conventional encoding method, and as a result, generates an efficient encoded sequence at a low bit rate. be able to.
[0140]
The decoding apparatus according to the present invention has a reference spectrum sequence, and a quantized spectrum from the reference spectrum sequence and cyclic position identification information indicating how many times the reference spectrum sequence is circulated to obtain a quantized spectrum sequence. By generating a sequence, the amount of information received by the decoding device can be reduced, and better sound quality can be obtained efficiently.
[Brief description of the drawings]
FIG. 1 is a configuration diagram of an encoding device according to Embodiments 1 to 3 of the present invention.
FIG. 2 is a flowchart showing an operation of a cyclic code vector quantization unit used in the encoding apparatus according to Embodiments 1 to 5 of the present invention.
FIG. 3 shows a cyclic quantized spectrum sequence in a code book used in the coding apparatus according to the first embodiment.
FIG. 4 shows a structure of a coded sequence according to Embodiment 1 of the present invention.
FIG. 5 shows a cyclic quantized spectrum sequence in a codebook used in an encoding apparatus according to Embodiment 2 of the present invention.
FIG. 6 shows a structure of a coded sequence according to Embodiment 2 of the present invention.
FIG. 7 shows a cyclic quantized spectrum sequence in a codebook used in an encoding apparatus according to Embodiment 3 of the present invention.
FIG. 8 shows another cyclic quantized spectrum sequence in the codebook used in the encoding apparatus according to Embodiment 3 of the present invention.
FIG. 9 is a configuration diagram of an encoding apparatus according to Embodiment 4 of the present invention.
FIG. 10 shows a plurality of reference spectrum sequences in a code book used in an encoding apparatus according to Embodiment 5 of the present invention.
FIG. 11 shows a spectrum sequence code according to the fifth embodiment of the present invention.
FIG. 12 shows a structure of a coded sequence according to the fifth embodiment of the present invention.
FIG. 13 is a configuration diagram of a decoding apparatus according to Embodiment 6 of the present invention.
FIG. 14 is a flowchart showing an operation of a cyclic code vector inverse quantization unit used in the decoding apparatus according to Embodiment 6 of the present invention.
FIG. 15 is a configuration diagram of a decoding apparatus according to a seventh embodiment of the present invention.
FIG. 16 is a configuration diagram of a conventional encoding device.
[Explanation of symbols]
100 Encoder
101 Spectral normalization part
102 Spectral amplifier
103 Spectral quantization unit
104 Cyclic code vector quantization section
104a, 104b, 104c, 104d, 104e Codebook
105 Encoded sequence transfer unit
108 External device
110 Quantized spectrum sequence generator
115 Storage unit

Claims (13)

オーディオ信号に基づいて、所定の量子化精度で量子化した量子化スペクトル列を生成する量子化スペクトル列生成部と、
前記量子化スペクトル列に最も類似する循環型量子化スペクトル列が基準スペクトル列をいくつ循環させることにより得られるかを示す循環位置識別情報を含むスペクトル列コードを出力する循環型コードベクトル量子化部とを備え
前記循環型コードベクトル量子化部は、
前記基準スペクトル列を循環させた複数の循環型量子化スペクトル列を有するコードブックを含み、
前記複数の循環型量子化スペクトル列のうち、前記量子化スペクトル列との内積が最大を示す循環型量子化スペクトル列を、前記量子化スペクトル列に最も類似する循環型量子化スペクトル列とする、
号化装置。
A quantized spectrum sequence generating unit that generates a quantized spectrum sequence quantized with a predetermined quantization accuracy based on the audio signal;
A cyclic code vector quantization unit that outputs a spectral sequence code including cyclic position identification information indicating how many cyclic spectral sequences that are most similar to the quantized spectral sequence are obtained by circulating a reference spectral sequence; equipped with a,
The cyclic code vector quantization unit includes:
A codebook having a plurality of cyclic quantized spectral sequences obtained by circulating the reference spectral sequence;
Among the plurality of cyclic quantization spectral sequences, a cyclic quantization spectral sequence having a maximum inner product with the quantized spectral sequence is set as a cyclic quantized spectral sequence most similar to the quantized spectral sequence,
It marks Goka apparatus.
オーディオ信号に基づいて、所定の量子化精度で量子化した量子化スペクトル列を生成する量子化スペクトル列生成部と、
前記量子化スペクトル列に最も類似する循環型量子化スペクトル列が基準スペクトル列をいくつ循環させることにより得られるかを示す循環位置識別情報を含むスペクトル列コードを出力する循環型コードベクトル量子化部とを備え、
前記循環型コードベクトル量子化部は、
前記基準スペクトル列を循環させた複数の循環型量子化スペクトル列を有するコードブックを含み、
前記複数の循環型量子化スペクトル列のうち、前記量子化スペクトル列との内積変形関数が最大を示す循環型量子化スペクトル列を、前記量子化スペクトル列に最も類似する循環型量子化スペクトル列とする、
号化装置。
A quantized spectrum sequence generating unit that generates a quantized spectrum sequence quantized with a predetermined quantization accuracy based on the audio signal;
A cyclic code vector quantization unit that outputs a spectral sequence code including cyclic position identification information indicating how many cyclic spectral sequences that are most similar to the quantized spectral sequence are obtained by circulating a reference spectral sequence; With
The cyclic code vector quantization unit includes:
A codebook having a plurality of cyclic quantized spectral sequences obtained by circulating the reference spectral sequence;
Among the plurality of cyclic quantized spectral sequences, a cyclic quantized spectral sequence showing the maximum inner product deformation function with the quantized spectral sequence is a cyclic quantized spectral sequence most similar to the quantized spectral sequence, To
It marks Goka apparatus.
前記量子化スペクトル列を変換したハフマン符号列を出力するハフマン符号化部と、
前記量子化スペクトル列を受け取り、前記量子化スペクトル列を前記循環型コードベクトル量子化部または前記ハフマン符号化部のいずれに出力するかを所定の条件に基づいて切り換える符号化切換部と
をさらに備える、請求項1または請求項2に記載の符号化装置。
A Huffman encoder that outputs a Huffman code sequence obtained by converting the quantized spectrum sequence;
An encoding switching unit that receives the quantized spectrum sequence and switches whether to output the quantized spectrum sequence to the cyclic code vector quantization unit or the Huffman encoding unit based on a predetermined condition; The encoding apparatus according to claim 1 or 2 .
前記複数の循環型量子化スペクトル列は、
P0=(c0、c1、c2、...、cn-1、cn
P1=(cn、c0、c1、...、cn-2、cn-1
P2=(cn-1、cn、c0、...、cn-3、cn-2
・・・・・
Pn=(c1、c2、c3、...、cn、c0
で表現され、
ここで、前記基準スペクトル列はP0であり、前記複数の循環型量子化スペクトル列のそれぞれが有する要素はc0、c1、c2、...、cn-1、cnであり、
前記複数の循環型量子化スペクトル列のそれぞれの要素の数はn+1である、請求項1または請求項2に記載の符号化装置。
The plurality of cyclic quantization spectrum sequences are:
P 0 = (c 0 , c 1 , c 2 ,..., C n−1 , c n )
P1 = (c n , c 0 , c 1 ,..., C n−2 , c n−1 )
P2 = (c n-1 , c n , c 0 , ..., c n-3 , c n-2 )
...
Pn = (c 1 , c 2 , c 3 ,..., C n , c 0 )
Expressed in
Here, the reference spectrum sequence is P 0, and the elements of each of the plurality of cyclic quantization spectrum sequences are c 0 , c 1 , c 2 ,. . . , C n-1 , c n ,
The encoding apparatus according to claim 1 or 2 , wherein the number of elements of each of the plurality of cyclic quantization spectrum sequences is n + 1.
前記複数の循環型量子化スペクトル列のそれぞれの要素c0、c1、c2、...、cn-1、cnのうちの幾つかが0である、請求項に記載の符号化装置。Each element c 0 , c 1 , c 2 ,. . . , Some of the c n-1, c n is 0, the coding apparatus according to claim 4. 前記複数の循環型量子化スペクトル列のそれぞれの要素c0、c1、c2、...、cn-1、cnのうちの一定の間隔の要素が0である、請求項に記載の符号化装置。Each element c 0 , c 1 , c 2 ,. . . , The elements of constant spacing of the c n-1, c n is 0, the coding apparatus according to claim 4. 前記量子化スペクトル列生成部は、前記オーディオ信号を複数の周波数帯域に分割したうちの1つの周波数帯域のスペクトルデータである周波数スペクトル列に基づいて前記量子化スペクトル列を生成し、
前記所定の条件は、前記周波数スペクトル列が、前記複数の周波数帯域のうちのどの周波数帯域のスペクトルデータであるかに基づく、請求項に記載の符号化装置。
The quantized spectrum sequence generating unit generates the quantized spectrum sequence based on a frequency spectrum sequence that is spectrum data of one frequency band of the audio signal divided into a plurality of frequency bands,
The encoding apparatus according to claim 3 , wherein the predetermined condition is based on which frequency band of the plurality of frequency bands the frequency spectrum sequence is.
前記周波数スペクトル列の周波数帯域の情報量の配分が大きい場合、前記符号化切換部は前記量子化スペクトル列を前記ハフマン符号化部に出力する、請求項に記載の符号化装置。The encoding device according to claim 7 , wherein when the information amount distribution of the frequency band of the frequency spectrum sequence is large, the encoding switching unit outputs the quantized spectrum sequence to the Huffman encoding unit. 前記周波数スペクトル列の周波数帯域の情報量の配分が小さい場合、前記符号化切換部は前記量子化スペクトル列を前記循環型コードベクトル量子化部に出力する、請求項に記載の符号化装置。The encoding apparatus according to claim 7 , wherein when the distribution of the information amount of the frequency band of the frequency spectrum sequence is small, the encoding switching unit outputs the quantization spectrum sequence to the cyclic code vector quantization unit. 前記コードブックは、前記複数の循環型量子化スペクトル列が有する全ての要素の正負の符号を反転させた第2の複数の循環型量子化スペクトル列をさらに含む、請求項1または請求項2に記載の符号化装置。The codebook further comprising a plurality of the second plurality of circulating quantized spectral sequence obtained by reversing the sign of the positive and negative all elements included in the circulating quantized spectral sequence, to claim 1 or claim 2 The encoding device described. 前記複数の循環型量子化スペクトル列は、前記量子化スペクトル列が有する要素の数と等しい要素の数を有する複数の基準スペクトル列のそれぞれを循環させた循環型量子化スペクトル列を含む、請求項1または請求項2に記載の符号化装置。The plurality of cyclic quantized spectral sequences includes a cyclic quantized spectral sequence obtained by circulating each of a plurality of reference spectral sequences having the same number of elements as the number of elements of the quantized spectral sequence. The encoding device according to claim 1 or 2 . 請求項1または請求項2に記載の符号化装置から出力された符号化列を復号化する復号化装置であって、
前記基準スペクトル列を有し、前記基準スペクトル列と、前記符号化列に含まれるスペクトル列コードとに基づいて、前記量子化スペクトル列を生成する循環型コードベクトル逆量子化部と、
前記量子化スペクトル列を受け取り、補正ゲインを用いて前記量子化スペクトル列を逆増幅して増幅スペクトル列を生成するスペクトル逆増幅部と、
前記増幅スペクトル列を受け取り、スケールファクタを用いて前記増幅スペクトル列を変換して周波数スペクトル列を生成するスペクトル逆正規化部と
を備え、
前記スペクトル列コードは、前記基準スペクトル列をいくつ循環させることにより前記量子化スペクトル列が得られるかを示す循環位置識別情報を含む、復号化装置。
A decoding device that decodes an encoded sequence output from the encoding device according to claim 1 or 2,
Has the reference spectral sequence, and the reference spectral sequence, and the based on the spectral sequence code contained in the encoded data stream, circulating code vector inverse quantization unit which generates the quantized spectral sequence,
A spectrum inverse amplification unit that receives the quantized spectrum sequence and deamplifies the quantized spectrum sequence using a correction gain to generate an amplified spectrum sequence;
A spectrum denormalization unit that receives the amplified spectrum sequence and converts the amplified spectrum sequence using a scale factor to generate a frequency spectrum sequence;
The decoding apparatus, wherein the spectrum sequence code includes cyclic position identification information indicating how many times the reference spectrum sequence is circulated to obtain the quantized spectrum sequence.
請求項3に記載の符号化装置から出力された符号化列を復号化する復号化装置であって、
前記基準スペクトル列を有し、前記基準スペクトル列と、前記符号化列に含まれるスペクトル列コードとに基づいて、前記量子化スペクトル列を生成する循環型コードベクトル逆量子化部と、
前記符号化列に含まれるハフマン符号列を受け取り、前記ハフマン符号列を復号化して前記量子化スペクトル列を生成するハフマン逆量子化部と、
前記量子化スペクトル列を受け取り、補正ゲインを用いて前記量子化スペクトル列を逆増幅して増幅スペクトル列を生成するスペクトル逆増幅部と、
前記増幅スペクトル列を受け取り、スケールファクタを用いて前記増幅スペクトル列を変換して周波数スペクトル列を生成するスペクトル逆正規化部と、
前記符号化列に含まれるスペクトル列コードが前記循環型コードベクトル逆量子化部に出力され、前記符号化列に含まれるハフマン符号列が前記ハフマン逆量子化部に出力されるよう、前記スペクトル列コードおよび前記ハフマン符号列を切り換える復号化切換部と
備えた、復号化装置。
A decoding device for decoding an encoded sequence output from the encoding device according to claim 3,
A cyclic code vector inverse quantization unit that has the reference spectrum sequence and generates the quantized spectrum sequence based on the reference spectrum sequence and a spectrum sequence code included in the encoded sequence;
A Huffman dequantization unit that receives a Huffman code sequence included in the encoded sequence and decodes the Huffman code sequence to generate the quantized spectrum sequence;
A spectrum inverse amplification unit that receives the quantized spectrum sequence and deamplifies the quantized spectrum sequence using a correction gain to generate an amplified spectrum sequence;
A spectral denormalization unit that receives the amplified spectral sequence and converts the amplified spectral sequence using a scale factor to generate a frequency spectral sequence;
As the spectral sequence code included in the encoded data stream is output to the circulating code vector inverse quantization section, a Huffman code string contained in the encoded data stream is output to the Huffman inverse quantization section, the spectral sequence and a code and decoding switching section for switching the Huffman code sequence, decoding device.
JP2001271001A 2000-09-11 2001-09-06 Encoding device and decoding device Expired - Fee Related JP4508490B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001271001A JP4508490B2 (en) 2000-09-11 2001-09-06 Encoding device and decoding device

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2000-275296 2000-09-11
JP2000275296 2000-09-11
JP2001271001A JP4508490B2 (en) 2000-09-11 2001-09-06 Encoding device and decoding device

Publications (2)

Publication Number Publication Date
JP2002158589A JP2002158589A (en) 2002-05-31
JP4508490B2 true JP4508490B2 (en) 2010-07-21

Family

ID=26599674

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001271001A Expired - Fee Related JP4508490B2 (en) 2000-09-11 2001-09-06 Encoding device and decoding device

Country Status (1)

Country Link
JP (1) JP4508490B2 (en)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7240001B2 (en) 2001-12-14 2007-07-03 Microsoft Corporation Quality improvement techniques in an audio encoder
JP4728568B2 (en) * 2002-09-04 2011-07-20 マイクロソフト コーポレーション Entropy coding to adapt coding between level mode and run length / level mode
ES2334934T3 (en) 2002-09-04 2010-03-17 Microsoft Corporation ENTROPY CODIFICATION BY ADAPTATION OF CODIFICATION BETWEEN LEVEL MODES AND SUCCESSION AND LEVEL LENGTH.
JP4734859B2 (en) * 2004-06-28 2011-07-27 ソニー株式会社 Signal encoding apparatus and method, and signal decoding apparatus and method
WO2006030288A2 (en) * 2004-09-13 2006-03-23 Expway Method for compressing and decompressing a sequence of floating point numbers
US7599840B2 (en) * 2005-07-15 2009-10-06 Microsoft Corporation Selectively using multiple entropy models in adaptive coding and decoding
US7562021B2 (en) 2005-07-15 2009-07-14 Microsoft Corporation Modification of codewords in dictionary used for efficient coding of digital media spectral data
US7885819B2 (en) 2007-06-29 2011-02-08 Microsoft Corporation Bitstream syntax for multi-process audio decoding
US8179974B2 (en) 2008-05-02 2012-05-15 Microsoft Corporation Multi-level representation of reordered transform coefficients
US8406307B2 (en) 2008-08-22 2013-03-26 Microsoft Corporation Entropy coding/decoding of hierarchically organized data

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07261800A (en) * 1994-03-17 1995-10-13 Nippon Telegr & Teleph Corp <Ntt> Transformation encoding method, decoding method
JPH07273658A (en) * 1994-04-01 1995-10-20 Sony Corp Signal coding method and device, signal recording medium and signal decoding method and device
JPH09130260A (en) * 1995-10-26 1997-05-16 Victor Co Of Japan Ltd Encoding device and decoding device for acoustic signal
JPH09179593A (en) * 1995-12-26 1997-07-11 Nec Corp Speech encoding device
JPH09200741A (en) * 1995-12-27 1997-07-31 Thomson Consumer Electron Inc System and method for compressing image data
JPH1166742A (en) * 1997-08-08 1999-03-09 Matsushita Electric Ind Co Ltd Signal encoding device
JP2000114975A (en) * 1998-10-07 2000-04-21 Sony Corp Sound signal encoding method and device, sound signal decoding method and device and recording medium
JP2009501166A (en) * 2005-07-14 2009-01-15 メルク パテント ゲゼルシャフト ミット ベシュレンクテル ハフトング Method for producing onium alkylsulfonate

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07261800A (en) * 1994-03-17 1995-10-13 Nippon Telegr & Teleph Corp <Ntt> Transformation encoding method, decoding method
JPH07273658A (en) * 1994-04-01 1995-10-20 Sony Corp Signal coding method and device, signal recording medium and signal decoding method and device
JPH09130260A (en) * 1995-10-26 1997-05-16 Victor Co Of Japan Ltd Encoding device and decoding device for acoustic signal
JPH09179593A (en) * 1995-12-26 1997-07-11 Nec Corp Speech encoding device
JPH09200741A (en) * 1995-12-27 1997-07-31 Thomson Consumer Electron Inc System and method for compressing image data
JPH1166742A (en) * 1997-08-08 1999-03-09 Matsushita Electric Ind Co Ltd Signal encoding device
JP2000114975A (en) * 1998-10-07 2000-04-21 Sony Corp Sound signal encoding method and device, sound signal decoding method and device and recording medium
JP2009501166A (en) * 2005-07-14 2009-01-15 メルク パテント ゲゼルシャフト ミット ベシュレンクテル ハフトング Method for producing onium alkylsulfonate

Also Published As

Publication number Publication date
JP2002158589A (en) 2002-05-31

Similar Documents

Publication Publication Date Title
US20200296375A1 (en) Method and apparatus for pyramid vector quantization de-indexing of audio/video sample vectors
KR101226566B1 (en) Method for encoding a symbol, method for decoding a symbol, method for transmitting a symbol from a transmitter to a receiver, encoder, decoder and system for transmitting a symbol from a transmitter to a receiver
JP5603484B2 (en) Encoding method, decoding method, encoding device, decoding device, program, recording medium
US8558724B2 (en) Coding method, coding appartaus, decoding method, decoding apparatus, program, and recording medium
JP4779098B2 (en) Method and apparatus for performing variable size vector entropy coding
US20100217753A1 (en) Multi-stage quantization method and device
JP4508490B2 (en) Encoding device and decoding device
EP0488803B1 (en) Signal encoding device
US20100017196A1 (en) Method, system, and apparatus for compression or decompression of digital signals
JP3357829B2 (en) Audio encoding / decoding method
US6917712B2 (en) Encoding apparatus and decoding apparatus
WO2015146224A1 (en) Coding method, coding device, program and recording medium
Chaddha et al. Constrained and recursive hierarchical table-lookup vector quantization
WO2020095706A1 (en) Coding device, decoding device, code string data structure, coding method, decoding method, coding program, and decoding program
JP2000165252A (en) Data compression method and device
US11621010B2 (en) Coding apparatus, coding method, program, and recording medium
JP2004246038A (en) Speech or musical sound signal encoding method, decoding method, encoding device, decoding device, encoding program, and decoding program
EP4099573B1 (en) Encoder, decoder, encoding method, decoding method and program
WO2020129718A1 (en) Conversion device, encoding device, decoding device, methods of conversion device, encoding device, and decoding device, and program
Mehrotra et al. Predictive hierarchical table-lookup vector quantization with quadtree encoding
JPH0527798A (en) Linear predictive parameter encoding method for voice
JPS63175899A (en) Voice analyzer/synthesizer
Leis et al. Adaptive vector quantization for speech spectrum coding
JPH0634200B2 (en) Encoding / decoding method and apparatus

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080627

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100113

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100119

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100318

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: 20100405

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: 20100427

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130514

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4508490

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130514

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees