(57)【特許請求の範囲】
【請求項１】
オーディオ信号に基づいて、所定の量子化精度で量子化した量子化スペクトル列を生成する量子化スペクトル列生成部と、
前記量子化スペクトル列に最も類似する循環型量子化スペクトル列が基準スペクトル列をいくつ循環させることにより得られるかを示す循環位置識別情報を含むスペクトル列コードを出力する循環型コードベクトル量子化部とを備え、
前記循環型コードベクトル量子化部は、
前記基準スペクトル列を循環させた複数の循環型量子化スペクトル列を有するコードブックを含み、
前記複数の循環型量子化スペクトル列のうち、前記量子化スペクトル列との内積が最大を示す循環型量子化スペクトル列を、前記量子化スペクトル列に最も類似する循環型量子化スペクトル列とする、
符号化装置。
【請求項２】
オーディオ信号に基づいて、所定の量子化精度で量子化した量子化スペクトル列を生成する量子化スペクトル列生成部と、
前記量子化スペクトル列に最も類似する循環型量子化スペクトル列が基準スペクトル列をいくつ循環させることにより得られるかを示す循環位置識別情報を含むスペクトル列コードを出力する循環型コードベクトル量子化部とを備え、
前記循環型コードベクトル量子化部は、
前記基準スペクトル列を循環させた複数の循環型量子化スペクトル列を有するコードブックを含み、
前記複数の循環型量子化スペクトル列のうち、前記量子化スペクトル列との内積変形関数が最大を示す循環型量子化スペクトル列を、前記量子化スペクトル列に最も類似する循環型量子化スペクトル列とする、
符号化装置。
【請求項３】
前記量子化スペクトル列を変換したハフマン符号列を出力するハフマン符号化部と、
前記量子化スペクトル列を受け取り、前記量子化スペクトル列を前記循環型コードベクトル量子化部または前記ハフマン符号化部のいずれに出力するかを所定の条件に基づいて切り換える符号化切換部と
をさらに備える、請求項１または請求項２に記載の符号化装置。
【請求項４】
前記複数の循環型量子化スペクトル列は、
Ｐ0＝（ｃ0、ｃ1、ｃ2、．．．、ｃn-1、ｃn）
Ｐ1＝（ｃn、ｃ0、ｃ1、．．．、ｃn-2、ｃn-1）
Ｐ2＝（ｃn-1、ｃn、ｃ0、．．．、ｃn-3、ｃn-2）
・・・・・
Ｐn＝（ｃ1、ｃ2、ｃ3、．．．、ｃn、ｃ0）
で表現され、
ここで、前記基準スペクトル列はＰ0であり、前記複数の循環型量子化スペクトル列のそれぞれが有する要素はｃ0、ｃ1、ｃ2、．．．、ｃn-1、ｃnであり、
前記複数の循環型量子化スペクトル列のそれぞれの要素の数はｎ＋１である、請求項１または請求項２に記載の符号化装置。
【請求項５】
前記複数の循環型量子化スペクトル列のそれぞれの要素ｃ0、ｃ1、ｃ2、．．．、ｃn-1、ｃnのうちの幾つかが０である、請求項４に記載の符号化装置。
【請求項６】
前記複数の循環型量子化スペクトル列のそれぞれの要素ｃ0、ｃ1、ｃ2、．．．、ｃn-1、ｃnのうちの一定の間隔の要素が０である、請求項４に記載の符号化装置。
【請求項７】
前記量子化スペクトル列生成部は、前記オーディオ信号を複数の周波数帯域に分割したうちの１つの周波数帯域のスペクトルデータである周波数スペクトル列に基づいて前記量子化スペクトル列を生成し、
前記所定の条件は、前記周波数スペクトル列が、前記複数の周波数帯域のうちのどの周波数帯域のスペクトルデータであるかに基づく、請求項３に記載の符号化装置。
【請求項８】
前記周波数スペクトル列の周波数帯域の情報量の配分が大きい場合、前記符号化切換部は前記量子化スペクトル列を前記ハフマン符号化部に出力する、請求項７に記載の符号化装置。
【請求項９】
前記周波数スペクトル列の周波数帯域の情報量の配分が小さい場合、前記符号化切換部は前記量子化スペクトル列を前記循環型コードベクトル量子化部に出力する、請求項７に記載の符号化装置。
【請求項１０】
前記コードブックは、前記複数の循環型量子化スペクトル列が有する全ての要素の正負の符号を反転させた第２の複数の循環型量子化スペクトル列をさらに含む、請求項１または請求項２に記載の符号化装置。
【請求項１１】
前記複数の循環型量子化スペクトル列は、前記量子化スペクトル列が有する要素の数と等しい要素の数を有する複数の基準スペクトル列のそれぞれを循環させた循環型量子化スペクトル列を含む、請求項１または請求項２に記載の符号化装置。
【請求項１２】
請求項１または請求項２に記載の符号化装置から出力された符号化列を復号化する復号化装置であって、
前記基準スペクトル列を有し、前記基準スペクトル列と、前記符号化列に含まれるスペクトル列コードとに基づいて、前記量子化スペクトル列を生成する循環型コードベクトル逆量子化部と、
前記量子化スペクトル列を受け取り、補正ゲインを用いて前記量子化スペクトル列を逆増幅して増幅スペクトル列を生成するスペクトル逆増幅部と、
前記増幅スペクトル列を受け取り、スケールファクタを用いて前記増幅スペクトル列を変換して周波数スペクトル列を生成するスペクトル逆正規化部と
を備え、
前記スペクトル列コードは、前記基準スペクトル列をいくつ循環させることにより前記量子化スペクトル列が得られるかを示す循環位置識別情報を含む、復号化装置。
【請求項１３】
請求項３に記載の符号化装置から出力された符号化列を復号化する復号化装置であって、
前記基準スペクトル列を有し、前記基準スペクトル列と、前記符号化列に含まれるスペクトル列コードとに基づいて、前記量子化スペクトル列を生成する循環型コードベクトル逆量子化部と、
前記符号化列に含まれるハフマン符号列を受け取り、前記ハフマン符号列を復号化して前記量子化スペクトル列を生成するハフマン逆量子化部と、
前記量子化スペクトル列を受け取り、補正ゲインを用いて前記量子化スペクトル列を逆増幅して増幅スペクトル列を生成するスペクトル逆増幅部と、
前記増幅スペクトル列を受け取り、スケールファクタを用いて前記増幅スペクトル列を変換して周波数スペクトル列を生成するスペクトル逆正規化部と、
前記符号化列に含まれるスペクトル列コードが前記循環型コードベクトル逆量子化部に出力され、前記符号化列に含まれるハフマン符号列が前記ハフマン逆量子化部に出力されるよう、前記スペクトル列コードおよび前記ハフマン符号列を切り換える復号化切換部と
を備えた、復号化装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、符号化装置および復号化装置に関する。さらに詳細には、オーディオ信号の音質を保持しながら符号化時の情報量を少なくする符号化装置および復号化装置に関する。
【０００２】
【従来の技術】
音声信号または音楽信号を含むオーディオ信号の符号化方法および復号化方法は、現在までに非常に多くの方式が開発されている。特に最近では、それらの中でもＩＳＯ／ＩＥＣで国際標準化されたＩＳ１３８１８−７が認知され、高音質および高効率な符号化方法として評価されている。この符号化方法はＡＡＣと呼ばれている。近年、ＡＡＣはＭＰＥＧ４と呼ばれる標準規格にも採用され、ＩＳ１３８１８−７に対していくつかの拡張機能を有するＭＰＥＧ４−ＡＡＣと呼ばれる方式が定められている。符号化過程の一例は、ＩＮＦＯＭＡＴＩＶＥ  ＰＡＲＴにその記述がある。
【０００３】
ここで、従来の符号化方法を使用する符号化装置について説明する。
【０００４】
図１６は、従来の符号化装置１６００を示す構成図である。符号化装置１６００は、スペクトル正規化部１６０１と、スペクトル増幅部１６０２と、スペクトル量子化部１６０３と、ハフマン符号化部１６０４と、符号化列転送部１６０５とを含む。
【０００５】
オーディオ信号をサンプリングすることによって得られたオーディオ離散信号（ＰＣＭデータ）は、時間周波数変換部（図示せず）において、直交変換等の手法を使用して、オーディオ信号の時間軸上のデータからオーディオ信号の周波数スペクトルデータに変換される。オーディオ信号の時間軸上のデータは、時間に対するオーディオ信号の離散データであり、オーディオ信号の周波数スペクトルデータは、周波数に対するオーディオ信号の離散データである。オーディオ信号の周波数スペクトルデータは、スペクトル正規化部１６０１に入力される。
【０００６】
スペクトル正規化部１６０１は、オーディオ信号を複数の周波数帯域に分割したうちの１つの周波数帯域の周波数スペクトルデータである周波数スペクトル列を受け取り、スケールファクタを用いて、周波数スペクトル列の平均値を特定のレンジ内の値に正規し、浮動小数点で表現する正規化スペクトル列を生成する。
スケールファクタは、例えば、２の巾乗における乗算係数である。
【０００７】
スペクトル増幅部１６０２は、正規化スペクトル列を受け取り、正規化スペクトル列のそれぞれの値が特定範囲の値になるように、補正ゲインを用いて補正した増幅スペクトル列を生成する。
【０００８】
スペクトル量子化部１６０３は、増幅スペクトル列を受け取り、増幅スペクトル列を所定の変換式を用いて量子化した量子化スペクトル列を生成する。スペクトル量子化部１６０３は、ＡＡＣ方式の場合、量子化によって、浮動小数点で表現されているスペクトルデータを整数値に丸めこむ。
【０００９】
ハフマン符号化部１６０４は、量子化スペクトル列をハフマン符号列に変換する。
【００１０】
符号化列転送部１６０５は、スペクトル正規化部１６０１から出力されるスケールファクタと、スペクトル増幅部１６０２から出力される補正ゲインと、ハフマン符号化部１６０４から出力されるハフマン符号列とを外部装置１６０８に転送する。外部装置１６０８は、例えば、記録媒体または復号化装置である。
【００１１】
【発明が解決しようとする課題】
近年、符号化時の情報量をより少なくするために、オーディオ信号の圧縮率をより高くすることが望まれている。
【００１２】
符号化装置１６００において、情報の圧縮の性能はハフマン符号化部１６０４に依存する。符号化装置１６００において、オーディオ信号を高い圧縮率、すなわち、少ない情報量で符号化する場合、スペクトル増幅部１６０２の補正ゲインを制御して量子化スペクトル列の値を小さくし、それにより、ハフマン符号化部１６０４によって符号化される情報量を小さくする。
【００１３】
しかしながら、このような動作を行なうと、ハフマン符号列を復号化した周波数スペクトルに、非常に多くの振幅（量子化値）ゼロの値が現れ、十分な音質を確保できないという課題がある。
【００１４】
本発明は、このような従来の課題を鑑みてなされたものであり、音質を確保しながら、少ない情報量でオーディオ信号を符号化列に符号化する符号化装置、および、符号化列から周波数スペクトル列を復号化する復号化装置を実現することを目的とする。
【００１５】
【課題を解決するための手段】
本発明の符号化装置は、オーディオ信号に基づいて、所定の量子化精度で量子化した量子化スペクトル列を生成する量子化スペクトル列生成部と、前記量子化スペクトル列に最も類似する循環型量子化スペクトル列が基準スペクトル列をいくつ循環させることにより得られるかを示す循環位置識別情報を含むスペクトル列コードを出力する循環型コードベクトル量子化部とを備え、前記循環型コードベクトル量子化部は、前記基準スペクトル列を循環させた複数の循環型量子化スペクトル列を有するコードブックを含み、前記複数の循環型量子化スペクトル列のうち、前記量子化スペクトル列との内積が最大を示す循環型量子化スペクトル列を、前記量子化スペクトル列に最も類似する循環型量子化スペクトル列とする。
本発明の符号化装置は、オーディオ信号に基づいて、所定の量子化精度で量子化した量子化スペクトル列を生成する量子化スペクトル列生成部と、前記量子化スペクトル列に最も類似する循環型量子化スペクトル列が基準スペクトル列をいくつ循環させることにより得られるかを示す循環位置識別情報を含むスペクトル列コードを出力する循環型コードベクトル量子化部とを備え、前記循環型コードベクトル量子化部は、前記基準スペクトル列を循環させた複数の循環型量子化スペクトル列を有するコードブックを含み、前記複数の循環型量子化スペクトル列のうち、前記量子化スペクトル列との内積変形関数が最大を示す循環型量子化スペクトル列を、前記量子化スペクトル列に最も類似する循環型量子化スペクトル列とする。
【００１６】
前記量子化スペクトル列を変換したハフマン符号列を出力するハフマン符号化部と、前記量子化スペクトル列を受け取り、前記量子化スペクトル列を前記循環型コードベクトル量子化部または前記ハフマン符号化部のいずれに出力するかを所定の条件に基づいて切り換える符号化切換部とさらに備えてもよい。
【００２０】
前記複数の循環型量子化スペクトル列は、
Ｐ0＝（ｃ0、ｃ1、ｃ2、．．．、ｃn-1、ｃn）
Ｐ1＝（ｃn、ｃ0、ｃ1、．．．、ｃn-2、ｃn-1）
Ｐ2＝（ｃn-1、ｃn、ｃ0、．．．、ｃn-3、ｃn-2）
・・・・・
Ｐn＝（ｃ1、ｃ2、ｃ3、．．．、ｃn、ｃ0）
で表現され、ここで、前記基準スペクトル列はＰ0であり、前記複数の循環型量子化スペクトル列のそれぞれが有する要素はｃ0、ｃ1、ｃ2、．．．、ｃn-1、ｃnであり、前記複数の循環型量子化スペクトル列のそれぞれの要素の数はｎ＋１であってもよい。
【００２１】
前記複数の循環型量子化スペクトル列のそれぞれの要素ｃ0、ｃ1、ｃ2、．．．、ｃn-1、ｃnのうちの幾つかが０であってもよい。
【００２２】
前記複数の循環型量子化スペクトル列のそれぞれの要素ｃ0、ｃ1、ｃ2、．．．、ｃn-1、ｃnのうちの一定の間隔の要素が０であってもよい。
【００２３】
前記量子化スペクトル列生成部は、前記オーディオ信号を複数の周波数帯域に分割したうちの１つの周波数帯域のスペクトルデータである周波数スペクトル列に基づいて前記量子化スペクトル列を生成し、前記所定の条件は、前記周波数スペクトル列が、前記複数の周波数帯域のうちのどの周波数帯域のスペクトルデータであるかに基づていもよい。
【００２４】
前記周波数スペクトル列の周波数帯域の情報量の配分が大きい場合、前記符号化切換部は前記量子化スペクトル列を前記ハフマン符号化部に出力してもよい。
【００２５】
前記周波数スペクトル列の周波数帯域の情報量の配分が小さい場合、前記符号化切換部は前記量子化スペクトル列を前記循環型コードベクトル量子化部に出力してもよい。
【００２６】
前記コードブックは、前記複数の循環型量子化スペクトル列が有する全ての要素の正負の符号を反転させた第２の複数の循環型量子化スペクトル列をさらに含んでもよい。
【００２７】
前記複数の循環型量子化スペクトル列は、前記量子化スペクトル列が有する要素の数と等しい要素の数を有する複数の基準スペクトル列のそれぞれを循環させた循環型量子化スペクトル列を含んでもよい。
【００２８】
本発明の復号化装置は、上述した本発明の符号化装置から出力された符号化列を復号化する復号化装置であって、前記基準スペクトル列を有し、前記基準スペクトル列と、前記符号化列に含まれるスペクトル列コードとに基づいて、前記量子化スペクトル列を生成する循環型コードベクトル逆量子化部と、前記量子化スペクトル列を受け取り、補正ゲインを用いて前記量子化スペクトル列を逆増幅して増幅スペクトル列を生成するスペクトル逆増幅部と、前記増幅スペクトル列を受け取り、スケールファクタを用いて前記増幅スペクトル列を変換して周波数スペクトル列を生成するスペクトル逆正規化部とを備え、前記スペクトル列コードは、前記基準スペクトル列をいくつ循環させることにより前記量子化スペクトル列が得られるかを示す循環位置識別情報を含む。
【００２９】
本発明の復号化装置は、上述した本発明の符号化装置から出力された符号化列を復号化する復号化装置であって、前記基準スペクトル列を有し、前記基準スペクトル列と、前記符号化列に含まれるスペクトル列コードとに基づいて、前記量子化スペクトル列を生成する循環型コードベクトル逆量子化部と、前記符号化列に含まれるハフマン符号列を受け取り、前記ハフマン符号列を変換して前記量子化スペクトル列を生成するハフマン逆量子化部と、前記量子化スペクトル列を受け取り、補正ゲインを用いて前記量子化スペクトル列を逆増幅して増幅スペクトル列を生成するスペクトル逆増幅部と、前記増幅スペクトル列を受け取り、スケールファクタを用いて前記増幅スペクトル列を変換して周波数スペクトル列を生成するスペクトル逆正規化部と、前記符号化列に含まれるスペクトル列コードが前記循環型コードベクトル逆量子化部に出力され、前記符号化列に含まれるハフマン符号列が前記ハフマン逆量子化部に出力されるよう、前記スペクトル列コードおよび前記ハフマン符号列を切り換える復号化切換部とを備えている。
【００３０】
【発明の実施の形態】
以下、本発明の実施の形態における符号化装置および復号化装置について、図面を参照しながら説明する。
【００３１】
（実施の形態１）
図１は、本発明による符号化装置１００を示す構成図である。符号化装置１００は、オーディオ信号に基づいて所定の量子化精度で量子化した量子化スペクトル列を生成する量子化スペクトル列生成部１１０と、量子化スペクトル列に基づいてスペクトル列コードを出力する循環型コードベクトル量子化部１０４と、量子化スペクトル列生成部１１０および／または循環型コードベクトル量子化部１０４からの出力を外部装置１０８に転送する符号化列転送部１０５とを備える。
【００３２】
量子化スペクトル列生成部１１０は、スペクトル正規化部１０１と、スペクトル増幅部１０２と、スペクトル量子化部１０３とを含む。
【００３３】
量子化スペクトル列生成部１１０は、オーディオ信号から以下に示すように量子化スペクトル列を生成する。
【００３４】
オーディオ信号をサンプリングすることによって得られたオーディオ離散信号（ＰＣＭデータ）は、時間周波数変換部（図示せず）において、直交変換等の手法を使用して、オーディオ信号の時間軸上のデータからオーディオ信号の周波数スペクトルデータに変換される。オーディオ信号の時間軸上のデータは、時間に対するオーディオ信号の離散データであり、オーディオ信号の周波数スペクトルデータは、周波数に対するオーディオ信号の離散データである。オーディオ信号の周波数スペクトルデータは、スペクトル正規化部１０１に入力される。
【００３５】
スペクトル正規化部１０１は、周波数スペクトル列ｘを受け取り、受け取った周波数スペクトル列ｘを、スケールファクタを用いて、前記周波数スペクトル列の平均値、または最大値を特定のレンジ内の値に正規化し、浮動小数点で表現する正規化スペクトル列ｙを生成する。周波数スペクトル列ｘは、オーディオ信号を複数の周波数帯域に分割したうちの１つの周波数帯域のスペクトルデータであり、所定数のデータを含む。スケールファクタは、例えば、２の巾乗における乗算係数である。
【００３６】
スペクトル増幅部１０２は正規化スペクトル列ｙのそれぞれの値が特定の範囲の値になるように、補正ゲインαを用いて増幅した増幅スペクトル列ｙ・αを生成する。補正ゲインαは、予め決められた周波数帯域ごとに特定の範囲の値になるように補正するために使用される。
【００３７】
スペクトル量子化部１０３は、増幅スペクトル列ｙ・αを所定の変換式を用いて、所定の量子化精度で量子化した量子化スペクトル列ｚを生成する。ＡＡＣ方式の場合、スペクトル量子化部１０３は、量子化によって、浮動小数点で表現されている増幅スペクトル列ｙ・αを整数値に丸めこみ、整数値のデータを有する量子化スペクトル列ｚを生成する。
【００３８】
なお、当業者には明らかであるように、量子化スペクトル列生成部１１０において、周波数スペクトル列と、正規化スペクトル列と、増幅スペクトル列と、量子化スペクトル列のそれぞれの要素の数は等しい。
【００３９】
本実施の形態において、循環型コードベクトル量子化部１０４は、コードブック１０４ａと、格納部１１５とを含む。コードブック１０４ａは、量子化スペクトル列ｚの要素と同じ数の要素を有する１つの基準スペクトル列を循環させた複数の循環型量子化スペクトル列を有する。格納部１１５は、コードブック１０４ａの循環型量子化スペクトル列の要素を格納する。
【００４０】
循環型コードベクトル量子化部１０４は、複数の循環型量子化スペクトル列のそれぞれと量子化スペクトル列ｚとを比較して、複数の循環型量子化スペクトル列のうちの量子化スペクトル列ｚと最も類似する循環型量子化スペクトル列を判定し、量子化スペクトル列ｚと最も類似する循環型量子化スペクトル列が基準スペクトル列をいくつ循環させることにより得ることができるかを示す循環位置識別情報を含むスペクトル列コードを出力する。このように、循環型コードベクトル量子化部１０４は、量子化スペクトル列ｚ（正確には、量子化スペクトル列ｚに最も類似する循環型量子化スペクトル列）をスペクトル列コードに変換して符号化転送部１０５に出力する。
【００４１】
符号化列転送部１０５は、スペクトル正規化部１０１から出力されるスケールファクタと、スペクトル増幅部１０２から出力される補正ゲインと、循環型コードベクトル量子化部１０４から出力されるスペクトル列コードとを外部装置１０８に転送する。外部装置１０８は、例えば、記録媒体または復号化装置である。
【００４２】
符号化列転送部１０５は、スペクトル正規化部１０１と、スペクトル増幅部１０２と、スペクトル量子化部１０３と、循環型コードベクトル量子化部１０４のうちの任意のいずれかからの信号に基づいて符号化列を生成し、符号化装置１００に入力される周波数スペクトル列ｘに対応するスペクトル列コードを外部装置１０８に出力する。符号化列転送部１０５は、循環型コードベクトル量子化部１０４からのスペクトル列コードをのみを外部装置１０８に出力することもあり得る。
【００４３】
以下に、符号化装置１００の動作についてさらに詳細に説明する。
【００４４】
オーディオ離散データ（ＰＣＭデータ）は、時間周波数変換部（図示せず）においてある時間間隔ごとに周波数スペクトルデータに変換される。この周波数スペクトルデータは、予め設定された複数の周波数帯域ごとに分割され、周波数スペクトル列ｘが生成される。正規化部１０１は、この周波数スペクトル列ｘを受け取る。
【００４５】
スペクトル正規化部１０１は、周波数帯域ごとに入力される周波数スペクトル列ｘのエネルギーを算出し、算出したエネルギーの平均値を特定のレンジ内の値に正規化する。スペクトル正規化部１０１は生成された正規化スペクトル列ｙをスペクトル増幅部１０２に出力し、スケールファクタを符号化転送部１０５に出力する。
【００４６】
スペクトル増幅部１０２は、正規化スペクトル列ｙのそれぞれの値が、予め決定された範囲内になるように補正ゲインαを用いて増幅し、増幅スペクトル列ｙ・αを生成する。スペクトル増幅部１０２は、増幅スペクトル列ｙ・αをスペクトル量子化部１０３に出力し、補正ゲインαを符号化転送部１０５に出力する。
【００４７】
スペクトル量子化部１０３は、増幅スペクトル列ｙ・αに予め決められた変換式を用いて量子化を行なう。変換式は、例えば、以下の式（１）である。
【００４８】
ｚi＝（ｉｎｔ）（ｙi・α）                      （１）
式（１）において、ｚiは量子化スペクトル列ｚのｉ番目の要素であり、ｙiは正規化スペクトル列ｙのｉ番目の要素である。αは補正ゲインであり、補正ゲインは、分割された周波数帯域ごとに設定される。（ｉｎｔ）は、式の値を整数に量子化する関数である。
【００４９】
式（１）によって、増幅スペクトル列ｙ・αは、整数値の量子化スペクトル列ｚに変換される。スペクトル量子化部１０３は、量子化スペクトル列ｚを、循環型コードベクトル量子化部１０４に出力する。
【００５０】
循環型コードベクトル量子化部１０４は、上述したように、基準スペクトル列を循環させた複数の循環型量子化スペクトル列のうちの、量子化スペクトル列ｚと最も類似する循環型量子化スペクトル列を判定する。上記複数の循環型量子化スペクトル列のうちのどれが量子化スペクトル列ｚと最も類似であるかの判定は、上記複数の循環型量子化スペクトル列のそれぞれと量子化スペクトル列ｚとの内積によって求めることができる。この動作について、図２を参照して詳細に説明する。
【００５１】
図２は、循環型コードベクトル量子化部１０４の動作を示すフローチャートである。
【００５２】
量子化スペクトル列ｚが循環型コードベクトル量子化部１０４に入力されると、初期化ステップ２０１において、ｉを０、最大値ｍａｘを０に初期化する。
【００５３】
次いで、ＥＰi計算ステップ２０２において、スペクトル量子化部１０３から入力される量子化スペクトル列ｚと、コードブック１０４ａに含まれる循環型量子化スペクトル列との内積を計算する。ここで、量子化スペクトル列ｚの要素数は、循環型量子化スペクトル列の要素数と同じである。例えば、量子化スペクトル列ｚの要素の数が１６である場合、循環型量子化スペクトル列の要素の数も１６である。これにより、量子化スペクトル列ｚと循環型量子化スペクトル列との類似度を示すＥＰi（ｉは要素数）を計算する。以下、量子化スペクトル列および基準スペクトル列、すなわち、循環型量子化スペクトル列のそれぞれの要素数が１６である場合の具体例を説明する。
【００５４】
図３は、本実施の形態の符号化装置に用いられるコードブック１０４ａの循環型量子化スペクトル列を示す。基準スペクトル列を表すコードをＰ0、基準スペクトル列を循環させた複数の循環型量子化スペクトル列をコードＰnで表す。
【００５５】
なお、本明細書において、基準スペクトル列を循環させた複数の循環型量子化スペクトル列は、基準スペクトル列そのものも含む。基準スペクトル列は、基準スペクトル列を０回循環させた循環型量子化スペクトル列である。
【００５６】
図３に示されるコードＰn（ここで、ｎ＝０、１、２、．．．、１５）のそれぞれの要素数は１６である。
【００５７】
図３に示されるように、０番目のコードＰ0は、｛ｃ0、ｃ1、ｃ2、．．．、ｃ15｝というベクトルからなり、１番目のコードＰ1は、｛ｃ15、ｃ0、ｃ1、．．．、ｃ14｝というベクトルからなる。上述したように、コードＰ0は基準スペクトル列であり、１番目のコードＰ1は、コードＰ0に対して各要素が１つずつ右側にシフトし、さらに、１番目のコードＰ1の要素位置０には、０番目のコードＰ0の要素位置１５の要素ｃ15が循環した構成となる。２番目以降のコードＰ2〜15も、同様に０番目のコードＰ0の各要素が対応した数だけ循環した構成をしている。したがって、コードＰ0の各要素が判明すれば、他のコードＰ1〜15はコードＰ0を循環させて一意に決定する。
【００５８】
なお、図３に示す複数の循環型量子化スペクトル列は、右側に循環しているが、本発明はこれに限定されず、左側に循環していてもよい。
【００５９】
ＥＰi計算ステップ２０２において、量子化スペクトル列ｚと循環型量子化スペクトル列を表すコードＰiとのベクトル内積ＥＰiを計算する。
【００６０】
ＥＰ0＝ｚ・Ｐ0＝ｃ0ｚ0＋ｃ1ｚ1＋・・・＋ｃ15ｚ15
ＥＰ1＝ｚ・Ｐ1＝ｃ15ｚ0＋ｃ0ｚ1＋・・・＋ｃ14ｚ15
ＥＰ2＝ｚ・Ｐ2＝ｃ14ｚ0＋ｃ15ｚ1＋・・・＋ｃ13ｚ15
・・・・・
ＥＰ15＝ｚ・Ｐ15＝ｃ1ｚ0＋ｃ2ｚ1＋・・・＋ｃ0ｚ15      （２）
式（２）は、ＥＰn（ｎ＝０、１、２、．．．、１５）は、各コードＰn（ｎ＝０、１、２、．．．、１５）と、入力される量子化スペクトル列ｚの要素ｚn（ｎ＝０、１、２、．．．、１５）との内積値である。
【００６１】
最大値判定ステップ２０３において、循環型コードベクトル量子化部１０４は、ステップ２０２の計算結果がいままで計算した結果のうちの最大かどうかを判定する。最大値判定ステップ２０３は、例えば、以下の（３）式を用いる。
【００６２】
【数１】
0004508490.tif 000002
ここで、ｎｃｏｄｅは、ＥＰiが最大値ｍａｘとなる場合の循環値ｉである。
【００６３】
最大値判定ステップ２０３の判定の結果、ステップ２０２の計算結果が最大と判定される場合（最大値判定ステップ２０３のＹ）、保存ステップ２０４に進む。保存ステップ２０４において、計算したＥＰiを最大値ｍａｘとして更新する。また循環数ｉを循環型コードベクトル量子化部１０４内の格納部１１５に保存する。ただし、循環数ｉを循環型コードベクトル量子化部１０４内の任意の格納部に格納されてもよい。次いで、終端判定ステップ２０５に進む。
【００６４】
最大値判定ステップ２０３における判定の結果、ステップ２０２の計算結果が最大でない場合（最大値判定ステップ２０３のＮ）、終端判定ステップ２０５に進む。
【００６５】
なお、ｉが０の場合、初期化ステップ２０１において、最大値ｍａｘは０に初期化されているので、最大値判定ステップ２０３において、ＥＰ0は最大と判定され、保存ステップ２０４において、ＥＰ0は循環型コードベクトル量子化部１０４の格納部１１５に保存される。
【００６６】
終端判定ステップ２０５において、基準スペクトル列を循環させた複数の循環型量子化スペクトル列のすべての計算が終了したかどうかを判定する。すなわち、終端判定ステップ２０５において、ｉが最大値かどうかを判定する。
【００６７】
ｉが最大値である場合（ステップ２０５のＹ）、この動作を終了する。
【００６８】
ｉが最大値でない場合（ステップ２０５のＮ）、更新ステップ２０６において、ｉを１つインクリメントし、ステップ２０２に戻る。
【００６９】
次いで、循環型コードベクトル量子化部１０４内は、インクリメントされたｉに対してステップ２０２〜２０６の動作を繰り返す。
【００７０】
終了判定ステップ２０５において、基準スペクトル列を循環させた複数の循環型量子化スペクトル列の全てを計算した場合、すなわち、ｉが最大値まで到達して終了と判定される場合（終了判定ステップ２０５のＹ）、循環型コードベクトル量子化部１０４は、保存ステップ２０４において保存された最大ＥＰi値の循環値ｉをスペクトル列コードとして符号列転送部１０５に出力する。ここで、循環値ｉは、量子化スペクトル列と最も類似する循環型量子化スペクトル列が基準スペクトル列からｉ個循環させることにより得られることを意味し、本明細書において循環位置識別情報とよぶ。上記説明では、量子化スペクトル列ｚの要素は１６であるので、循環値ｉが取り得る値も１６個である。従って、循環位置識別情報は、４ビットの符号で表現することができる。
【００７１】
図４は、符号化列転送部１０５から外部装置１０８に出力される符号化列４００の構造の一例を示す。符号化列４００は、一般に、低い周波数帯域から高い周波数帯域の順番に符号化されたスペクトル列コードを含む。ここで、周波数帯域ｎに対応する符号化列４００、すなわち、スペクトル列コード４０１について説明する。
【００７２】
スペクトル列コード４０１は、周波数帯域ｎに対応する循環位置識別情報４０２を含む。ここで、上述したように、量子化スペクトル列の要素が１６個である場合、循環位置識別情報は４ビットで表現することができる。
【００７３】
また、スペクトル列コード４０１は、周波数帯域ｎの符号として、スペクトル正規化部１０１から出力されるスケールファクタと、スペクトル増幅部１０２から出力される補正ゲインとをさらに含んでもよい。
【００７４】
このように構成された符号化装置を用いることで、少ない固定ビットで符号化を行なうことができる。また、コードブック１０４ａの各コード（循環型量子化スペクトル列）が循環構造で作成されていることから、ｃ0、ｃ1、・・・、ｃ15の１６個の要素のみを符号化装置および復号化装置が有すればよく（例えば、循環型コードベクトル量子化部１０４の格納部１１５）、それにより、要素を記憶するための格納部の容量を小さくすることができる。
【００７５】
なお、上記説明では、量子化スペクトル列および循環型量子化スペクトル列の要素の数が１６個の場合を説明したが、本発明はこれに限定されない。量子化スペクトル列および循環型量子化スペクトル列の要素の数は任意でよい。
【００７６】
なお、上記の説明では、量子化スペクトル列ｚと最も類似の循環型量子化スペクトル列を判定するために内積を使用した。しかし、本発明はこれに限定されない。例えば、内積変形関数を使用してもよい。本明細書において、内積変形関数とは、内積の係数に重み付けがしていある関数を意味する。具体的には、図２に示されるＥＰi計算ステップ２０２において、量子化スペクトル列ｚと循環型量子化スペクトル列を表すコードＰiとのベクトル内積変形関数ＥＰiを計算する。
【００７７】
ＥＰ0’＝３ｃ0ｚ0＋２ｃ1ｚ1＋・・・＋０．３ｃ15ｚ15
ＥＰ1’＝３ｃ15ｚ0＋２ｃ0ｚ1＋・・・＋０．３ｃ14ｚ15
ＥＰ2’＝３ｃ14ｚ0＋２ｃ15ｚ1＋・・・＋０．３ｃ13ｚ15
・・・・・
ＥＰ15’＝３ｃ1ｚ0＋２ｃ2ｚ1＋・・・＋０．３ｃ0ｚ15      （４）
式（４）は、ＥＰn’（ｎ＝０、１、２、．．．、１５）は、各コードＰn（ｎ＝０、１、２、．．．、１５）と、入力される量子化スペクトル列ｚの要素ｚn（ｎ＝０、１、２、．．．、１５）との内積変形関数値である。
【００７８】
内積においては、すべての係数が１であるため、ある周波数帯域内の周波数スペクトルデータの重要度も均一として計算される。しかし、式（４）に示すように、内積変形関数を用いると、ある周波数帯域内の周波数スペクトルデータの重要度を考慮することができる。例えば、より低い周波数の影響をより強く考慮する場合、より低い周波数成分のデータに対応する量子化スペクトル列の係数を大きくすればよい。
【００７９】
（実施の形態２）
次に、本発明の実施の形態２における符号化装置について説明する。実施の形態２における符号化装置は、循環型コードベクトル量子化部１０４の最大値判定ステップ２０３、保存ステップ２０４の動作が異なる点を除いて、実施の形態１で説明した符号化装置と同じである。
【００８０】
本実施の形態において最大値判定ステップ２０３（図２参照）は、例えば、式（５）を用いる。
【００８１】
【数２】
0004508490.tif 000003
ここで、ａｂｓ（  ）は、（  ）内の絶対値を出力する関数であり、変数ｆａｃｅは、コードの値が反転されているかどうか示す。本明細書において、変数ｆａｃｅは、位相識別情報とよぶ。上記式において、変数ｆａｃｅ＝１の場合、図５に示されるコードブック１０４ｂからの１つのコードが、量子化スペクトル列に最も類似していることを意味し、変数ｆａｃｅ＝０の場合、図３に示されるコードブック１０４ａからの１つのコードが、量子化スペクトル列に最も類似していることを意味する。
【００８２】
図２に示される保存ステップ２０４において、ｎｃｏｄｅとｆａｃｅの値が保存される。
【００８３】
上記に示すように実施の形態２では、最大値判定ステップ２０３において、内積値ではなく、ＥＰi計算ステップ２０２において計算した値を用いて内積値の絶対値が最大となる循環値ｉを求める。これは、図３に示すコードブック１０４ａのコードを計算しながら、同時に、図５に示すコードブック１０４ｂのコードを計算しているのと同義である。なぜなら、コードブック１０４ｂのコードの各要素は、図３に示すコードの各要素の値の符号を全て反転させたものに対応するからである。ただし、式（５）に示すように計算することで、コードブック１０４ａ、１０４ｂのコードを順次計算する場合と比べて、大幅に計算時間を短縮することができる。
【００８４】
本実施の形態における循環型コードベクトル量子化部１０４のコードブックは、コードブック１０４ａ、１０４ｂに示されるコードを有する。コードブック１０４ｂの各コードは、コードブック１０４ａの各コードに対して符号をすべて反転させたものである。
【００８５】
図６は、符号化列転送部１０５から外部装置１０８に出力される符号化列６００の構造の一例を示す。符号化列６００は、一般に、低い周波数帯域から高い周波数帯域の順番に符号化されたスペクトル列コードを含む。ここで、周波数帯域ｎに対応する符号化列６００、すなわちスペクトル列コード６０１について説明する。
【００８６】
スペクトル列コード６０１は、周波数帯域ｎに対応する循環位置識別情報６０２と位相識別情報６０３とを含む。ここで、上述したように、量子化スペクトル列の要素が１６個である場合、循環位置識別情報は４ビットで表現することができ、位相識別情報は１ビットで表現することができる。
【００８７】
また、スペクトル列コード６０１は、周波数帯域ｎの符号として、スペクトル正規化部１０１から出力されるスケールファクタと、スペクトル増幅部１０２から出力される補正ゲインとをさらに含んでもよい。
【００８８】
このように構成された符号化装置では、実施の形態１と比較して計算量が最大値判定ステップ２０３の部分のみが大きくなるだけであり、また、スペクトル列コード６０１の観点から位相識別情報６０３に割り当てるビット数が１だけ増加するのみである。要素の数が１６の場合、本実施の形態は５ビットという少ない符号量で符号化を行なうことができる。
【００８９】
このように、本実施の形態によれば、少ない固定ビットで符号化を行なうことができる。また、コードブック１０４ｂに含まれる複数の循環型量子化スペクトル列は、コードブック１０４ａの基準スペクトル列を循環させた循環型量子化スペクトル列の全ての要素の符号を反転して作成されているため、ｃ0、ｃ1、・・・、ｃ15の１６個の要素のみを符号化装置および復号化装置が有すればよく（例えば、循環型コードベクトル量子化部１０４の格納部１１５）、それにより、要素を記憶するための格納部の容量を小さくすることができる。
【００９０】
（実施の形態３）
次に、本発明の実施の形態３における符号化装置について説明する。実施の形態３における符号化装置は、コードブック１０４ｃと、ＥＰi計算ステップ２０２における動作が異なる点を除いて、実施の形態２で説明した符号化装置と同じである。
【００９１】
本実施の形態における循環型コードベクトル量子化部１０４のコードブック１０４ｃを図７に示す。本実施の形態におけるコードブック１０４ｃは、要素ｃ0、ｃ1、・・・、ｃn-1、ｃnのうち、一定の間隔で０の要素が配置されていることを特徴とする。図７に示す例では、ｃ1、ｃ2、ｃ3、ｃ5、ｃ6、ｃ7、ｃ9、ｃ10、ｃ11、ｃ13、ｃ14、ｃ15の値が０である。これに伴い、ＥＰi計算ステップ２０２での計算は、式（６）に示すように単純化される。
【００９２】
ＥＰ0＝ｚ・Ｐ0＝ｃ0ｚ0＋ｃ4ｚ4＋ｃ8ｚ8＋ｃ12ｚ12
ＥＰ1＝ｚ・Ｐ1＝ｃ0ｚ1＋ｃ4ｚ5＋ｃ8ｚ9＋ｃ12ｚ13
ＥＰ2＝ｚ・Ｐ2＝ｃ0ｚ2＋ｃ4ｚ6＋ｃ8ｚ10＋ｃ12ｚ14
・・・・・
ＥＰ15＝ｚ・Ｐ15＝ｃ0ｚ15＋ｃ4ｚ3＋ｃ8ｚ7＋ｃ12ｚ11      （６）
したがって、実施の形態２と比べて、ＥＰi計算ステップ２０２の計算量を４分の１に減らすことができる。
【００９３】
このように構成された符号化装置を用いることにより、少ない固定ビットで符号化を行なうことができる。また、コードブック１０４ｃの各コードが循環構造で作成されており、かつ、４つの要素（ｃ0、ｃ4、ｃ8、ｃ12）のみが値を有するので、符号化装置および復号化装置は４つの要素の値のみを有すればよく（例えば、循環型コードベクトル量子化部１０４の格納部１１５）、要素を記憶するための格納部の容量を小さくすることができる。
【００９４】
また、本実施の形態においても、実施の形態２において説明したのと同様に、循環型コードベクトル量子化部１０４のコードブックは、コードブック１０４ｃに示されるコードだけでなく、図８に示すコードブック１０４ｄに示されるコードを有してもよい。
【００９５】
なお、上記説明では、０の値を有する要素が連続する場合を説明したが、本発明はこれに限定されない。循環型量子化スペクトル列が有する任意の要素のうちの少なくとも１つ０の値を有する要素があればよい。
【００９６】
また、上記説明では、循環型量子化スペクトル列の要素の数が１６の場合を説明したが、本発明はこれに限定されない。循環型量子化スペクトル列の要素の数は任意の数であればよい。
【００９７】
（実施の形態４）
次に本発明の実施の形態４における符号化装置について説明する。本実施の形態における符号化装置は、ハフマン符号化部と符号化切換部とを備える点を除いて、実施の形態１で説明した符号化装置１００と同じ構成を有する。
【００９８】
図９は、実施の形態４における符号化装置９００を示す構成図である。符号化装置９００は、量子化スペクトル列生成部１１０と、循環型コードベクトル量子化部１０４と、符号化列転送部１０５と、ハフマン符号化部１０６と、符号化切換部１０７とを備える。量子化スペクトル列生成部１１０は、スペクトル正規化部１０１と、スペクトル増幅部１０２と、スペクトル量子化部１０３とを含む。
【００９９】
なお、量子化スペクトル列生成部１１０（スペクトル正規化部１０１と、スペクトル増幅部１０２と、スペクトル量子化部１０３）と、循環型コードベクトル量子化部１０４と、符号化列転送部１０５と、外部装置１０８とは、図１に示す符号化装置１００と同一であるので、それらの説明を省略する。
【０１００】
符号化切換部１０７は、スペクトル量子化部１０３で得られた量子化スペクトル列ｚをハフマン符号化するか、循環型量子化スペクトル列に変換するかを所定の条件に基づいて切り換える。このとき、符号化切換部１０７は、符号化方式を符号化転送部１０５に伝える。
【０１０１】
符号化切換部１０７が量子化スペクトル列ｚをハフマン符号部１０６に入力するように切り換えた場合、ハフマン符号化部１０６は、量子化スペクトル列ｚを変換してハフマン符号列を生成する。ハフマン符号化部１０６は、量子化スペクトルｚiの複数個をまとめてハフマン符号化する。ハフマン符号化によって符号化されたハフマン符号列を復号化する場合、復号化装置は、量子化スペクトルｚiを完全に復元することができる（ロスレス復号化）。
【０１０２】
符号化切換部１０７が量子化スペクトル列ｚを循環型コードベクトル量子化部１０４に入力するように切り換えた場合、循環型コードベクトル量子化部１０４は、量子化スペクトル列ｚを、量子化スペクトル列ｚに最も類似する循環型量子化スペクトル列に変換する。なお、量子化スペクトル列ｚに最も類似する循環型量子化スペクトル列は、実施形態１〜３に説明したように生成される。
【０１０３】
このような構成によれば、オーディオ信号が複数の周波数帯域に分割され、周波数帯域ごとに周波数スペクトル列を符号化する場合、符号化切換部１０７は、所定の条件に基づいて、量子化スペクトル列を循環型コードベクトル量子化部１０４か、ハフマン符号化部１０６に出力するかを切り換える。上記所定の条件とは、例えば、その量子化スペクトル列が、オーディオ信号の複数の周波数帯域のどの周波数帯域から派生したかによる。符号化に必要な情報量の配分が小さい場合（すなわち、その周波数帯域が受聴者の聴感に影響の少ない場合）、符号化切換部１０７は、量子化スペクトル列ｚを循環型コードベクトル量子化部１０４に出力するように切り換える。符号化に必要な情報量の配分が大きい場合（すなわち、その周波数帯域が受聴者の聴感に影響する場合）、符号化切換部１０７は、量子化スペクトル列ｚをハフマン符号化部１０６に出力するように切り換える。
【０１０４】
したがって、循環型コードベクトル量子化部１０４において、量子化スペクトル列ｚと、量子化スペクトル列ｚに最も類似する循環型量子化スペクトル列との類似度がそれほどよくなく、復号化の際に多少のロスが生じても、対象の周波数帯域は受聴者の聴感に影響の少ない。また、音質をある程度保ちながら、少ない情報量で符号化を行なうことができる。
【０１０５】
（実施の形態５）
次に、本発明の実施の形態５における符号化装置について説明する。実施の形態５における符号化装置は、コードブック１０４ｅの内容と、計算ステップ２０２における動作が異なる点を除いて、実施の形態３で説明した符号化装置と同じである。
【０１０６】
実施の形態１〜４において、コードブック１０４ａ、１０４ｂ、１０４ｃ、１０４ｄに含まれる複数の循環型量子化スペクトル列は、１つの基準スペクトル列を循環させた循環型量子化スペクトル列であった。しかし、本発明はこれに限定されない。本実施の形態では、コードブック１０４ｅが、複数の基準スペクトル列のそれぞれを循環させた循環型量子化スペクトル列を含む場合を説明する。
【０１０７】
図１０は、４つの基準スペクトル列を有するコードブック１０４ｅを模式的に示す。コードブック１０４ｅは、４つの基準スペクトル列のそれぞれを循環させた複数の循環型量子化スペクトル列を含むが、ここでは、簡略化のため、基準スペクトル列のみを示す。
【０１０８】
ここで、量子化スペクトル列ｚに最も類似する循環型量子化スペクトル列は、第２の基準スペクトル列を３つ循環させ、すべての要素を反転させたスペクトルが量子化スペクトル列ｚに最も類似するスペクトルであると仮定する。図１０に示されるように、第２の基準スペクトル列は｛２、０、０、０、−２、０、０、０、−１、０、０、０、１、０、０、０｝であり、これを３つ循環させて、すべての要素を反転させた循環型量子化スペクトル列は、｛０、２、０、０、０、１、０、０、０、−１、０、０、０、−２、０、０｝である。したがって、量子化スペクトル列ｚに最も類似する循環型量子化スペクトル列スペクトルは、｛０、２、０、０、０、１、０、０、０、−１、０、０、０、−２、０、０｝である。
【０１０９】
図１１は、この場合のスペクトル列コードを示す。ここで、ｃｏｄｅｂｏｏｋｉｄは基準スペクトル列識別情報であり、ｃｏｄｅ  ｉｎｄｅｘは循環位置識別情報であり、ｐｈａｓｅは位相識別情報である。基準スペクトル列識別情報は、スペクトル列コードによって表される循環型量子化スペクトル列がコードブック１０４ｅのどの基準スペクトルから派生するかを示す情報である。循環位置識別情報は、スペクトル列コードによって表される循環型量子化スペクトル列がその基準スペクトル列をいくら循環することによって得られるかを示す情報である。位相識別情報は、スペクトル列コードによって表される循環型量子化スペクトル列が基準スペクトル列の全ての要素の符号を反転したスペクトル列に対応するか否かを示す情報である。
【０１１０】
図１２は、この場合に、符号化列転送部１０５から外部装置１０８に出力される符号化列１２００の構造の一例を示す。符号化列１２００は、一般に、低い周波数帯域から高い周波数帯域の順番に符号化されたスペクトル列コードを含む。ここで、周波数帯域ｎに対応する符号化列１２００、すなわちスペクトル列コード１２０１について説明する。
【０１１１】
スペクトル列コード１２０１は、周波数帯域ｎに対応する、追加情報１２０２と、基準スペクトル列識別情報１２０３と、循環位置識別情報１２０４と、位相識別情報１２０５とを含む。ここで、上述したように、コードブック１０４ｅが４個の基準スペクトル列を有する場合、基準スペクトル列識別情報１２０３は２ビットで表現される。また、周波数スペクトル列の要素が１６個である場合、循環位置識別情報１２０４は４ビットで表現される。また、位相識別情報１２０５は１ビットで表現される。
【０１１２】
上述した例の場合、基準スペクトル列識別情報１２０３と、循環位置識別情報１２０４と、位相識別情報１２０５は、１０進表記でそれぞれ、１、３、１である。したがって、これらは、２進表記で、それぞれ、０１、００１１、１と表現される。
【０１１３】
また、スペクトル列コード１２０１は、追加情報１２０２として、周波数帯域ｎの符号として、スペクトル正規化部１０１から出力されるスケールファクタ、および／または、スペクトル増幅部１０２から出力される補正ゲインとをさらに含んでもよい。
【０１１４】
（実施の形態６）
次に、本発明の実施の形態６として、復号化装置について説明する。本実施の形態の復号化装置は、実施の形態１〜３、５の符号化装置で符号化された符号化列を受け取り、上記符号化列を復号化して、オーディオ信号を得る。
【０１１５】
図１３は、本実施の形態による復号化装置１３００の構成を示すブロック図である。復号化装置１３００は、循環型コードベクトル逆量子化部１３０１と、スペクトル逆増幅部１３０２と、スペクトル逆正規化部１３０３と、符号化列入力部１３０４とを備える。
【０１１６】
符号化列入力部１３０４は、コードブック１３０７と、格納部１３０８とを含む。コードブック１３０７は、符号化列入力部１３０４に入力される符号化列を生成する際に使用されたコードと同じコードを含む。したがって、コードブック１３０７は、基準スペクトル列と、基準スペクトル列を循環させた複数の循環型量子化スペクトル列を含む。格納部１３０８は、コードブック１３０７のコードの各要素を格納する。
【０１１７】
ある場合、符号化列入力部１３０４は、符号化装置１００によって出力された符号化列を受け取る。符号化列入力部１３０４は、受け取った符号化列から循環型量子化スペクトル列を符号化した循環位置識別情報を抽出する。また、符号化列が、スペクトル正規化部１０１で用いられたスケールファクタおよび／またはスペクトル増幅部１０２で用いられた補正ゲインとを含む場合、符号化列入力部１３０４は、スケールファクタおよび／または補正ゲインを抽出する。
【０１１８】
循環型コードベクトル逆量子化部１３０１は、符号化列入力部１３０４から受け取った循環位置識別情報に基づいて、コードブック１３０７の循環型量子化スペクトル列から、該当する循環型量子化スペクトル列を量子化スペクトル列として選択し、スペクトル列コードのデータの復元を行なう。
【０１１９】
ここで、コードブック１３０７は、図３に示されるコードブック１０４ａと同じであると仮定する。例えば、循環位置識別情報の値ｉが１の場合のコードブック１３０７の循環型量子化スペクトル列は（ｃ15、ｃ0、ｃ1、．．．、ｃ13、ｃ14）であるので、量子化スペクトル列（ｃ15、ｃ0、ｃ1、．．．、ｃ13、ｃ14）がスペクトル逆増幅部１３０２に出力する。
【０１２０】
スペクトル逆増幅部１３０２は、スペクトル逆増幅部１３０２から入力されたスペクトル列に、符号化列入力部１３０４から受け取った補正ゲインを用いて逆増幅し、逆増幅スペクトル列を生成する。具体的には、符号化列入力部１３０４から受け取った補正ゲインがαであれば、１／α倍に増幅する。
【０１２１】
スペクトル逆正規化部１３０３は、逆増幅スペクトル列の各要素に対して、符号化列入力部１３０４から受け取ったスケールファクタを乗算し、各スペクトルにおける実際のレベル値に変換する。
【０１２２】
このようにスペクトル逆正規化部１３０３によって得られた実際のレベル値を示す１つの周波数帯域のスペクトルデータは、低域から高域へと並べられ、オーディオ信号の周波数スペクトルデータとして使用される。次いで、周波数時間変換部（図示せず）を用いて、周波数スペクトルデータを時間軸上のデータ、すなわち、ＰＣＭデータに変換する。さらに、このＰＣＭデータをＤＡ変換すると、アナログのオーディオ信号が生成される。
【０１２３】
なお、上記説明では、スペクトル列コードは循環位置識別情報のみを含む場合を説明したが、本発明はこれに限定されない。以下に、循環型コードベクトル逆量子化部１３０１は、循環位置識別情報だけでなく、基準スペクトル列識別情報と、位相識別情報とを含むスペクトル列コードから、スペクトル列コードが表す循環型量子化スペクトル列（すなわち、量子化スペクトル列）を生成する場合を説明する。
【０１２４】
図１４は、復号化装置１３００に用いられる循環型コードベクトル逆量子化部１３０１の動作を示すフローチャートである。循環型コードベクトル逆量子化部１３０１は、スペクトル列コード１２０１（図１２参照）に基づいて量子化スペクトル列を生成する。
【０１２５】
循環型コードベクトル逆量子化部１３０１は、ステップ１４０１において、基準スペクトル列識別情報に基づいて、循環型コードベクトル逆量子化部１３０１のコードブック１３０７に含まれる基準スペクトル列を特定する。この場合、コードブック１３０７は、図１０に示されるコードブック１０４ｄと同じである。
図１２に示されるように基準スペクトル列識別情報の値は１０進法表記で１（２進法表記で０１）であり、これは、基準スペクトル列識別情報が第２の基準スペクトル列であることを示す。
【０１２６】
ステップ１４０２において、循環型コードベクトル逆量子化部１３０１は、循環位置識別情報に基づいて、量子化スペクトル列を得るための基準スペクトル列循環量を取得する。循環位置識別情報は、図１２に示されるように、１０進法表記で３（２進法表記で００１１）である。
【０１２７】
循環型コードベクトル逆量子化部１３０１は、ステップ１４０３において、位相識別情報から位相の反転情報を取得する。位相識別情報は、図１２に示されるように、１０進法表記で１（２進法表記で１）である。
【０１２８】
上記の結果から、復号化装置１３００の循環型コードベクトル逆量子化部１３０１が、スペクトル列コード１２０１に基づいて生成される量子化スペクトル列は、｛０、２、０、０、０、１、０、０、０、−１、０、０、０、−２、０、０｝となる。
【０１２９】
（実施の形態７）
次いで、本発明の実施の形態７による復号化装置を説明する。図１５は、本実施の形態による復号化装置１５００の構成を示すブロック図である。復号化装置１５００は、図９に示される符号化装置９００によって符号化された符号化列から、オーディオ信号を得る。
【０１３０】
復号化装置１５００は、循環型コードベクトル逆量子化部１３０１と、スペクトル逆増幅部１３０２と、スペクトル逆正規化部１３０３と、符号化列入力部１３０４と、復号化切換部１３０５と、ハフマン逆量子化１３０６とを備える。循環型コードベクトル逆量子化部１３０１は、コードブック１３０７と、格納部１３０８とを含む。
【０１３１】
ただし、循環型コードベクトル逆量子化部１３０１と、スペクトル逆増幅部１３０２と、スペクトル逆正規化部１３０３と、符号化列入力部１３０４は、図１３に示される復号化装置１３００のものと同一であるで、説明を省略する。
【０１３２】
符号化列入力部１３０４は符号化列を受け取ると、ハフマン符号列または循環位置識別情報と、符号化方式とを抽出する。さらに、符号化列入力部１３０４は、補正ゲインおよびスケールファクタを取り出す。符号化列入力部１３０４は、符号化方式に関する情報を復号化切換部１３０５に出力する。復号化切換部１３０５は、符号化方式に基づいて、循環型コードベクトル逆量子化部１３０１またはハフマン逆量子化部１３０６を切り換える。循環位置識別情報は循環型コードベクトル逆量子化部１３０１に出力され、ハフマン符号列はハフマン逆量子化部１３０６に出力される。
【０１３３】
ハフマン逆量子化部１３０６は、ハフマンコードブックを格納する格納部１３０９を有する。復号化切換部１３０５がハフマン逆量子化部１３０６に切り換えて、ハフマン符号列を出力する場合、ハフマン逆量子化部１３０６が復号化処理を開始する。ハフマン逆量子化部１３０６は、ハフマンコードブック名とハフマン符号列が入力されると、ハフマン符号列に対応するインデックス値を読み出し、量子化スペクトル列を復元する。この場合、ロスレス復号化が実現される。
【０１３４】
復号化切換部１３０５が循環型コードベクトル逆量子化部１３０１に切り換えて、位置循環識別情報を出力する場合、実施の形態６で説明したのと同様な復号化処理が行なわれ、量子化スペクトル列が復元される。
【０１３５】
ハフマン逆量子化部１３０６または循環型コードベクトル逆量子化部１３０１によって生成された量子化スペクトル列は、実施の形態６において説明したように周波数スペクトルデータに変換される。
【０１３６】
次いで、周波数時間変換部（図示せず）は、上記の周波数スペクトルデータを時間軸上のデータ、すなわち、ＰＣＭデータに変換する。さらに、このＰＣＭデータをＤＡ変換すると、アナログのオーディオ信号が生成される。
【０１３７】
なお、上記説明では、循環型コードベクトル逆量子化部１３０１が、循環位置識別情報のみから量子化スペクトル列を生成する場合を説明したが、本発明はこれに限定されない。実施の形態６で説明したように、循環型コードベクトル逆量子化部１３０１は、循環位置識別情報だけでなく、基準スペクトル列識別情報と、位相識別情報とを含むスペクトル列コードから、スペクトル列コードが表す循環型量子化スペクトル列（すなわち、量子化スペクトル列）を生成してもよい。
【０１３８】
【発明の効果】
本発明による符号化装置は、量子化スペクトル列と最も類似する循環型量子化スペクトル列は基準スペクトル列をいくつ循環させたかを示す循環位置識別情報を含むスペクトル列コードを出力することにより、符号化時の情報量を少なくし、かつ、よりよい音質を得ることができる。
【０１３９】
この符号化装置は、従来の符号化方法と比べて、計算量が少なく、かつ、格納部の容量をを小さくすることができ、その結果、低いビットレートで効率的な符号化列を生成することができる。
【０１４０】
本発明による復号化装置は、基準スペクトル列を有し、基準スペクトル列と、上記基準スペクトル列をいくつ循環させることにより量子化スペクトル列が得られるかを示す循環位置識別情報とから、量子化スペクトル列を生成することにより、復号化装置が受け取る情報量が少なくでき、かつ、よりよい音質を効率的に得ることができる。
【図面の簡単な説明】
【図１】本発明の実施の形態１〜３、５における符号化装置の構成図。
【図２】本発明の実施の形態１〜５における符号化装置に用いられる循環型コードベクトル量子化部の動作を示すフローチャート。
【図３】実施の形態１の符号化装置に用いられるコードブック中の循環型量子化スペクトル列。
【図４】本発明の実施の形態１による符号化列の構造。
【図５】本発明の実施の形態２による符号化装置に用いられるコードブック中の循環型量子化スペクトル列。
【図６】本発明の実施の形態２による符号化列の構造。
【図７】本発明の実施の形態３による符号化装置に用いられるコードブック中の循環型量子化スペクトル列。
【図８】本発明の実施の形態３による符号化装置に用いられるコードブック中の別の循環型量子化スペクトル列。
【図９】本発明の実施の形態４による符号化装置の構成図。
【図１０】本発明の実施の形態５による符号化装置に用いられるコードブック中の複数の基準スペクトル列。
【図１１】本発明の実施の形態５によるスペクトル列コード。
【図１２】本発明の実施の形態５による符号化列の構造。
【図１３】本発明の実施の形態６による復号化装置の構成図。
【図１４】本発明の実施の形態６における復号化装置に用いられる循環型コードベクトル逆量子化部の動作を示すフローチャート。
【図１５】本発明の実施の形態７による復号化装置の構成図。
【図１６】従来の符号化装置の構成図。
【符号の説明】
１００  符号化装置
１０１  スペクトル正規化部
１０２  スペクトル増幅部
１０３  スペクトル量子化部
１０４  循環型コードベクトル量子化部
１０４ａ、１０４ｂ、１０４ｃ、１０４ｄ、１０４ｅ  コードブック
１０５  符号化列転送部
１０８  外部装置
１１０  量子化スペクトル列生成部
１１５  格納部
【図１】
0004508490.tif 000004
【図２】
0004508490.tif 000005
【図３】
0004508490.tif 000006
【図４】
0004508490.tif 000007
【図５】
0004508490.tif 000008
【図６】
0004508490.tif 000009
【図７】
0004508490.tif 000010
【図８】
0004508490.tif 000011
【図９】
0004508490.tif 000012
【図１０】
0004508490.tif 000013
【図１１】
0004508490.tif 000014
【図１２】
0004508490.tif 000015
【図１３】
0004508490.tif 000016
【図１４】
0004508490.tif 000017
【図１５】
0004508490.tif 000018
【図１６】
0004508490.tif 000019