(57)【特許請求の範囲】
【請求項１】
所定単位毎に１つの符号列表を用いてディジタルオーディオ信号を符号化する符号化方法において、
予め符号列表群毎に分けられた複数のグループから、上記ディジタルオーディオ信号が周囲のスペクトル成分に比較して特定のスペクトルにエネルギが集中するスペクトル成分を持つかどうかを示すトーナリティに応じて１つのグループを選択する選択工程と、
上記選択工程にて選択されたグループの上記符号列表群の中から１つの符号列表を決定する決定工程と、
上記決定工程にて決定された上記符号列表を用いて上記ディジタルオーディオ信号を符号化する符号化工程と
を有することを特徴とする符号化方法。
【請求項２】
上記符号化工程では、上記選択工程にて選択されたグループを示すインデックスがさらに符号化されることを特徴とする請求項１記載の符号化方法。
【請求項３】
所定単位毎に１つの符号列表を用いてディジタルオーディオ信号を符号化する符号化方法において、
符号化のためのリソースの状態に応じて、符号列表群に含まれる選択可能な符号列表の数を設定する設定工程と、
上記符号列表群の中から１つの上記符号列表を選択する選択工程と、
上記選択工程にて選択された符号列表を用いて上記ディジタルオーディオ信号を符号化する符号化工程と
を有することを特徴とする符号化方法。
【請求項４】
上記符号化工程では、上記設定工程にて設定された上記選択可能な符号列表の数がさらに符号化されることを特徴とする請求項３記載の符号化方法。
【請求項５】
上記符号化工程では、上記設定工程にて設定された上記選択可能な符号列表の数を示すインデックスがさらに符号化されることを特徴とする請求項３記載の符号化方法。
【請求項６】
上記設定工程では、所定の設定用信号に基づいて上記選択可能な符号列表の数が設定されることを特徴とする請求項３記載の符号化方法。
【請求項７】
所定単位毎に１つの符号列表を用いてディジタルオーディオ信号を符号化する符号化装置において、
予め符号列表群毎に分けられた複数のグループから、上記ディジタルオーディオ信号が周囲のスペクトル成分に比較して特定のスペクトルにエネルギが集中するスペクトル成分を持つかどうかを示すトーナリティに応じて１つのグループを選択する選択手段と、
上記選択手段によって選択されたグループの上記符号列表群の中から１つの符号列表を決定する決定手段と、
上記決定手段によって決定された上記符号列表を用いて上記ディジタルオーディオ信号を符号化する符号化手段と
を備えることを特徴とする符号化装置。
【請求項８】
所定単位毎に１つの符号列表を用いてディジタルオーディオ信号を符号化する符号化装置において、
符号化のためのリソースの状態に応じて、符号列表群に含まれる選択可能な符号列表の数を設定する設定手段と、
上記符号列表群の中から１つの上記符号列表を選択する選択手段と、
上記選択手段によって選択された符号列表を用いて上記ディジタルオーディオ信号を符号化する符号化手段と
を備えることを特徴とする符号化装置。
【請求項９】
所定単位毎に１つの符号列表を用いてディジタルオーディオ信号を符号化する符号化処理をコンピュータに実行させるプログラムにおいて、
予め符号列表群毎に分けられた複数のグループから、上記ディジタル信号が周囲のスペクトル成分に比較して特定のスペクトルにエネルギが集中するスペクトル成分を持つかどうかを示すトーナリティに応じて１つのグループを選択する選択工程と、
上記選択工程にて選択されたグループの上記符号列表群の中から１つの符号列表を決定する決定工程と、
上記決定工程にて決定された上記符号列表を用いて上記ディジタルオーディオ信号を符号化する符号化工程と
を有することを特徴とするプログラム。
【請求項１０】
所定単位毎に１つの符号列表を用いてディジタルオーディオ信号を符号化する符号化処理をコンピュータに実行させるプログラムにおいて、
符号化のためのリソースの状態に応じて、符号列表群に含まれる選択可能な符号列表の数を設定する設定工程と、
上記符号列表群の中から１つの上記符号列表を選択する選択工程と、
上記選択工程にて選択された符号列表を用いて上記ディジタルオーディオ信号を符号化する符号化工程と
を有することを特徴とするプログラム。
【請求項１１】
所定単位毎に１つの符号列表を用いて符号化されたディジタルオーディオ信号を復号する復号方法において、
予め符号列表群毎に分けられた複数のグループから、上記符号化の際に上記ディジタルオーディオ信号が周囲のスペクトル成分に比較して特定のスペクトルにエネルギが集中するスペクトル成分を持つかどうかを示すトーナリティに応じて選択されたグループと同じグループを選択する選択工程と、
上記選択工程にて選択されたグループの符号列表の中から使用する１つの符号列表を決定する決定工程と、
上記決定工程にて決定された符号列表を用いて上記ディジタルオーディオ信号を復号する復号工程と
を有することを特徴とする復号方法。
【請求項１２】
上記選択工程では、使用したグループを示すインデックスに基づいて上記グループが選択されることを特徴とする請求項１１記載の復号方法。
【請求項１３】
所定単位毎に１つの符号列表を用いて符号化されたディジタルオーディオ信号を復号する復号方法において、
符号列表群に含まれる符号列表の数を、上記符号化の際に符号化のためのリソースの状態に応じて設定された数に設定する設定工程と、
上記符号列表群の中から１つの上記符号列表を選択する選択工程と、
上記選択工程にて選択された上記符号列表に基づいて上記ディジタルオーディオ信号を復号する復号工程と
を有することを特徴とする復号方法。
【請求項１４】
上記設定工程では、上記ディジタル信号と共に符号化された上記符号列表の数に基づいて、上記符号列表の数が設定されることを特徴とする請求項１３記載の復号方法。
【請求項１５】
上記設定工程では、上記ディジタル信号と共に符号化された上記符号列表の数を示すインデックスに基づいて、上記符号列表の数が設定されることを特徴とする請求項１３記載の復号方法。
【請求項１６】
所定単位毎に１つの符号列表を用いて符号化されたディジタルオーディオ信号を復号する復号装置において、
予め符号列表群毎に分けられた複数のグループから、上記符号化の際に上記ディジタルオーディオ信号が周囲のスペクトル成分に比較して特定のスペクトルにエネルギが集中するスペクトル成分を持つかどうかを示すトーナリティに応じて選択されたグループと同じグループを選択する選択手段と、
上記選択手段によって選択されたグループの符号列表の中から使用する１つの符号列表を決定する決定手段と、
上記決定手段によって決定された符号列表を用いて上記ディジタルオーディオ信号を復号する復号手段と
を備えることを特徴とする復号装置。
【請求項１７】
所定単位毎に１つの符号列表を用いて符号化されたディジタルオーディオ信号を復号する復号装置において、
符号列表群に含まれる符号列表の数を、上記符号化の際に符号化のためのリソースの状態に応じて設定された数に設定する設定手段と、
上記符号列表群の中から１つの上記符号列表を選択する選択手段と、
上記選択手段によって選択された上記符号列表に基づいて上記ディジタルオーディオ信号を復号する復号工程と
を備えることを特徴とする復号装置。
【請求項１８】
所定単位毎に１つの符号列表を用いて符号化されたディジタルオーディオ信号を復号する復号処理をコンピュータに実行させるプログラムにおいて、
予め符号列表群毎に分けられた複数のグループから、上記符号化の際に上記ディジタルオーディオ信号が周囲のスペクトル成分に比較して特定のスペクトルにエネルギが集中するスペクトル成分を持つかどうかを示すトーナリティに応じて選択されたグループと同じグループを選択する選択工程と、
上記選択工程にて選択されたグループの符号列表の中から使用する１つの符号列表を決定する決定工程と、
上記決定工程にて決定された符号列表を用いて上記ディジタルオーディオ信号を復号する復号工程と
を有することを特徴とするプログラム。
【請求項１９】
所定単位毎に１つの符号列表を用いて符号化されたディジタルオーディオ信号を復号する復号処理をコンピュータに実行させるプログラムにおいて、
符号列表群に含まれる符号列表の数を、上記符号化の際に符号化のためのリソースの状態に応じて設定された数に設定する設定工程と、
上記符号列表群の中から１つの上記符号列表を選択する選択工程と、
上記選択工程にて選択された上記符号列表に基づいて上記ディジタルオーディオ信号を復号する復号工程と
を有することを特徴とするプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、符号化方法及び装置、復号方法及び装置、並びにプログラムに関し、特に、音響信号や音声信号等のディジタルデータを高能率符号化して伝送し、又は記録媒体に記録する符号化方法及びその装置、符号化データを受信し、又は再生して復号する復号方法及びその装置、並びに符号化処理又は復号処理をコンピュータに実行させるプログラムに関する。
【０００２】
【従来の技術】
従来より、音声等のオーディオ信号を高能率符号化する手法としては、例えば帯域分割符号化（サブバンドコーディング）等に代表される非ブロック化周波数帯域分割方式や、変換符号化等に代表されるブロック化周波数帯域分割方式などが知られている。
【０００３】
非ブロック化周波数帯域分割方式では、時間軸上のオーディオ信号を、ブロック化せずに複数の周波数帯域に分割して符号化を行う。また、ブロック化周波数帯域分割方式では、時間軸上の信号を周波数軸上の信号に変換（スペクトル変換）して複数の周波数帯域に分割して、すなわち、スペクトル変換して得られる係数を所定の周波数帯域毎にまとめて、各帯域毎に符号化を行う。
【０００４】
また、符号化効率をより向上させる手法として、上述の非ブロック化周波数帯域分割方式とブロック化周波数帯域分割方式とを組み合わせた高能率符号化の手法も提案されている。この手法によれば、例えば、帯域分割符号化で帯域分割を行った後、各帯域毎の信号を周波数軸上の信号にスペクトル変換し、このスペクトル変換された各帯域毎に符号化が行われる。
【０００５】
ここで、周波数帯域分割を行う際には、処理が簡単であり、且つ、折り返し歪みが消去されることから、例えば、ＱＭＦ（Quadrature Mirror Filter）が用いられることが多い。なお、ＱＭＦによる周波数帯域分割の詳細については、「1976R.E.Crochiere, Digital coding of speech in subbands, Bell Syst. Tech. J.Vol.55, No.8 1976」等に記載されている。
【０００６】
また、帯域分割を行う手法としてこの他に、例えば、等バンド幅のフィルタ分割手法であるＰＱＦ（Polyphase Quadrature Filter）等がある。このＰＱＦの詳細については、「ICASSP 83 BOSTON, Polyphase Quadrature filters - A new subband coding technique, Joseph H. Rothweiler」等に記載されている。
【０００７】
一方、上述したスペクトル変換としては、例えば、入力オーディオ信号を所定単位時間のフレームでブロック化し、ブロック毎に離散フーリエ変換（Discrete Fourier Transformation:DFT）、離散コサイン変換（Discrete Cosine Transformation:DCT）、改良ＤＣＴ変換（Modified Discrete Cosine Transformation:MDCT）等を行うことで時間軸信号を周波数軸信号に変換するものがある。
【０００８】
なお、ＭＤＣＴについては、「ICASSP 1987, Subband/Transform Coding Using Filter Bank Designs Based on Time Domain Aliasing Cancellation, J.P.Princen, A.B.Bradley, Univ. of Surrey Royal Melbourne Inst. of Tech.」等に、その詳細が記載されている。
【０００９】
このようにフィルタやスペクトル変換によって得られる帯域毎の信号を量子化することにより、量子化雑音が発生する帯域を制御することができ、これによりマスキング効果等の性質を利用して聴覚的により高能率な符号化を行うことができる。また、量子化を行う前に各帯域毎の信号成分を、例えばその帯域における信号成分の絶対値の最大値で正規化するようにすれば、さらに高能率な符号化を行うことができる。
【００１０】
帯域分割を行う際の各周波数帯域の幅は、例えば、人間の聴覚特性を考慮して決定される。すなわち一般的には、例えば、臨界帯域（クリティカルバンド）と呼ばれている、高域ほど幅が広くなるような帯域幅で、オーディオ信号を複数（例えば３２バンドなど）の帯域に分割することがある。
【００１１】
また、各帯域毎のデータを符号化する際には、各帯域毎に所定のビット配分、或いは各帯域毎に適応的なビット割当（ビットアロケーション）が行われる。すなわち、例えば、ＭＤＣＴ処理されて得られた係数データをビットアロケーションによって符号化する際には、ブロック毎の信号をＭＤＣＴ処理して得られる各帯域のＭＤＣＴ係数データに対して、適応的にビット数が割り当てられて符号化が行われる。
【００１２】
ビット割当手法としては、例えば、各帯域毎の信号の大きさに基づいてビット割当を行う手法（以下、適宜第１のビット割当手法という。）や、聴覚マスキングを利用することで各帯域毎に必要な信号対雑音比を得て固定的なビット割当を行う手法（以下、適宜第２のビット割当手法という。）等が知られている。
【００１３】
なお、第１のビット割当手法については、例えば、「Adaptive Transform Coding of Speech Signals, R.Zelinski and P.Noll, IEEE Transactions of Accoustics, Speech and Signal Processing, vol.ASSP-25, No.4, August 1977」等にその詳細が記載されている。
【００１４】
また、第２のビット割当手法については、例えば、「ICASSP 1980, The critical band coder digital encoding of the perceptual requirements of the auditory system, M.A.Kransner MIT」等にその詳細が記載されている。
【００１５】
第１のビット割当手法によれば、量子化雑音スペクトルが平坦となり、雑音エネルギが最小となる。しかしながら、聴感覚的にはマスキング効果が利用されていないために、実際の聴感上の雑音感は最適にはならない。また、第２のビット割当手法では、ある周波数にエネルギが集中する場合、例えば、サイン波等を入力した場合であっても、ビット割当が固定的であるために、特性値がそれほど良い値とはならない。
【００１６】
そこで、ビット割当に使用できる全ビットを、各小ブロック毎に予め定められた固定ビット割当パターン分と、各ブロックの信号の大きさに依存したビット配分を行う分とに分割して使用し、その分割比を入力信号に関係する信号に依存させる、すなわち、例えば、その信号のスペクトルが滑らかなほど固定ビット割当パターン分への分割比率を大きくする高能率符号化装置が提案されている。
【００１７】
この方法によれば、サイン波入力のように特定のスペクトルにエネルギが集中する場合には、そのスペクトルを含むブロックに多くのビットが割り当てられ、これにより全体の信号対雑音特性を飛躍的に改善することができる。一般に、急峻なスペクトル成分を持つ信号に対して人間の聴覚は極めて敏感であるため、上述のようにして信号対雑音特性を改善することは、単に測定上の数値を向上させるばかりでなく、聴感上の音質を改善するのにも有効である。
【００１８】
ビット割当の方法としては、この他にも数多くの方法が提案されており、さらに聴覚に関するモデルが精緻化され、符号化装置の能力が向上すれば、聴覚的な観点からより高能率な符号化が可能となる。
【００１９】
波形信号をスペクトルに変換する方法としてＤＦＴやＤＣＴを使用した場合には、Ｍ個のサンプルからなる時間ブロックで変換を行うと、Ｍ個の独立な実数データが得られる。しかしながら通常は、時間ブロック（フレーム）間の接続歪みを軽減するために、１つのブロックは両隣のブロックとそれぞれ所定の数Ｍ１個のサンプルずつオーバーラップさせて構成されるので、ＤＦＴやＤＣＴを利用した符号化方法では、平均して（Ｍ−Ｍ１）個のサンプルに対してＭ個の実数データを量子化して符号化することになる。
【００２０】
また、時間軸上の信号をスペクトルに変換する方法としてＭＤＣＴを使用した場合には、両隣のブロックとＭ個ずつオーバーラップさせた２Ｍ個のサンプルから、独立なＭ個の実数データが得られる。したがってこの場合には、平均してＭ個のサンプルに対してＭ個の実数データを量子化して符号化することになる。この場合、復号装置においては、上述のようにしてＭＤＣＴを用いて得られる符号から、各ブロックにおいて逆変換を施して得られる波形要素を互いに干渉させながら加え合わせることにより、波形信号が再構成される。
【００２１】
一般に、変換のための時間ブロック（フレーム）を長くすることによって、スペクトルの周波数分解能が高まり、特定のスペクトル成分にエネルギが集中する。したがって、両隣のブロックと半分ずつオーバーラップさせて長いブロック長で変換を行い、しかも得られたスペクトル信号の個数が元の時間サンプルの個数に対して増加しないＭＤＣＴを使用する場合、ＤＦＴやＤＣＴを使用した場合よりも効率のよい符号化を行うことが可能となる。また、隣接するブロック同士に充分長いオーバーラップを持たせることによって、波形信号のブロック間歪みを軽減することもできる。
【００２２】
実際の符号列を構成するに際しては、先ず正規化及び量子化が行われる帯域毎に、量子化を行うときの量子化ステップを表す情報である量子化精度情報と各信号成分を正規化するのに用いた係数を表す情報である正規化係数とを所定のビット数で符号化し、次に正規化及び量子化されたスペクトル信号を符号化する。
【００２３】
ここで、例えば、「IDO/IEC 11172-3:1993(E), 1993」には、帯域によって量子化精度情報を表すビット数が異なるように設定された高能率符号化方式が記述されており、これによれば、高域の帯域ほど量子化精度情報を表すビット数が小さくなるように規格化されている。
【００２４】
また、スペクトル信号を符号化するに際しては、例えばハフマン符号等の可変長符号を用いる方法が知られている。なお、このハフマン符号については、例えは、「DavidA. Huffman,“A Method for the Construction of Minimun - Redundancy Codes”, Proceedings of the I.R.E., pp1098-1101, Sep.1952」等にその詳細が記載されている。
【００２５】
【発明が解決しようとする課題】
ところで、一般にハフマン符号列表は、単一のものを用いるよりも、複数種類用意して適切なものを切り替えて用いることにより、様々な入力信号に対して最適化した符号列表を使うことができ、スペクトル信号の圧縮効率を上げることが可能となる。
【００２６】
しかしながら、どの符号列表を用いたかを示す符号列表インデックスを量子化ユニット毎に符号化する場合、符号列表の数が増えることでインデックスの符号化ビット数も増えてしまうといった問題が生じる。
【００２７】
例えば、量子化ユニット数が１６の場合、量子化ユニット毎にインデックスを符号化すると、符号列表の数が４個（２ビット）の場合はインデックスの符号化ビット数は３２ビット（＝２ビット×１６ユニット）となるが、符号列表の数が８個（３ビット）になるとインデックスの符号化ビット数は４８ビット（＝３ビット×１６ユニット）に増えてしまう。これにより、トータルのビット数が固定の場合には、スペクトル情報を符号化するためのビット数が１６ビット（４８ビット−３２ビット）減ってしまうこととなる。ここで、符号列表の数が増えることにより圧縮率が１６ビット分上がれば問題にはならないが、上がらない場合には、却って全体の圧縮率を落としてしまう結果となる。
【００２８】
すなわち、符号列表の数を増やすことによりスペクトル情報自体の圧縮率は上がるが、符号列表のインデックスの符号化ビット数が増えるため、全体の圧縮率が上がるとは一概には言えない。
【００２９】
本発明は、このような従来の実情に鑑みて提案されたものであり、圧縮率を落とすことなく、様々な入力信号に対して信号の性質に応じた最適な符号列表を選択可能とする符号化方法及びその装置、符号化データを受信し、又は再生して復号する復号方法及びその装置、並びに符号化処理又は復号処理をコンピュータに実行させるプログラムを提供することを目的とする。
【００３０】
【課題を解決するための手段】
本発明に係る符号化方法及び装置は、上述した目的を達成するために、所定単位毎に１つの符号列表を用いてディジタルオーディオ信号を符号化する際に、予め符号列表群毎に分けられた複数のグループから、上記ディジタルオーディオ信号が周囲のスペクトル成分に比較して特定のスペクトルにエネルギが集中するスペクトル成分を持つかどうかを示すトーナリティに応じて１つのグループを選択し、当該選択されたグループの上記符号列表群の中から１つの上記符号列表を決定し、この決定された上記符号列表を用いて上記ディジタルオーディオ信号を符号化する。
【００３２】
また、本発明に係る符号化方法及び装置は、上述した目的を達成するために、所定単位毎に１つの符号列表を用いてディジタルオーディオ信号を符号化する際に、符号化のためのリソースの状態に応じて、符号列表群に含まれる選択可能な符号列表の数を設定し、上記符号列表群の中から１つの上記符号列表を選択し、選択された符号列表を用いて上記ディジタルオーディオ信号を符号化する。
【００３３】
また、本発明に係る復号方法及び装置は、上述した目的を達成するために、所定単位毎に１つの符号列表を用いて符号化されたディジタルオーディオ信号を復号する際に、予め符号列表群毎に分けられた複数のグループから、上記符号化の際に上記ディジタルオーディオ信号が周囲のスペクトル成分に比較して特定のスペクトルにエネルギが集中するスペクトル成分を持つかどうかを示すトーナリティに応じて選択されたグループと同じグループを選択し、選択されたグループの符号列表の中から使用する１つの符号列表を決定し、この決定された符号列表を用いて上記ディジタルオーディオ信号を復号する。
【００３５】
また、本発明に係る復号方法及び装置は、上述した目的を達成するために、所定単位毎に１つの符号列表を用いて符号化されたディジタルオーディオ信号を復号する際に、符号列表群に含まれる符号列表の数を、上記符号化の際に符号化のためのリソースの状態に応じて設定された数に設定し、上記符号列表群の中から１つの上記符号列表を選択し、選択された上記符号列表に基づいて上記ディジタルオーディオ信号を復号する。
【００３６】
また、本発明に係るプログラムは、上述した符号化処理又は復号処理をコンピュータに実行させるものである。
【００３７】
【発明の実施の形態】
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。この実施の形態は、本発明を、オーディオ信号等のディジタルデータを高能率符号化して伝送し、又は記録媒体に記録する符号化方法及びその装置、並びに符号化データを受信し、又は再生して復号する復号方法及びその装置に適用したものである。以下では、先ず本発明の原理を説明し、その後この発明が適用される符号化装置及び復号装置の構成例について説明する。
【００３８】
一般に音響信号（オーディオ信号）は、大きくトーン性／ノイズ性の２パターンの信号に分けることができる。トーン性の信号及びノイズ性の信号のスペクトルを図１（Ａ）、（Ｂ）に示す。この図１（Ａ）、（Ｂ）からも分かるように、トーン性の信号とノイズ性の信号とでは、周波数変換した信号、すなわちスペクトルの形状が大きく異なるため、量子化係数の値の出現確率も大きく異なる。
【００３９】
例えば、トーン性の信号の場合は、量子化係数の値が０になる確率が高いため、０に対応する符号に対して１ビット等の短い符号長のハフマン符号を割り当てることにより、高い圧縮率を実現することができる。一方、ノイズ性の信号の場合は、量子化スペクトルのどの値も同程度の確率で発生するため、どの値に対しても同程度の符号長のハフマン符号を割り当てることが好ましい。
【００４０】
トーン性信号用及びノイズ性信号用のハフマン符号列表の一例をそれぞれ以下の表１及び表２に示す。なお、以下の説明において量子化係数の値の範囲は、−３〜＋３であるとする。
【００４１】
【表１】
0003900000.tif 000002
【００４２】
【表２】
0003900000.tif 000003
【００４３】
この表１、表２に示す符号列表を用いてトーン性信号スペクトルを符号化する場合の具体例を図２に示す。図２に示すように、量子化係数の値が順に０，０，３，−２，０，０，０，０であるため、これを表１に示したトーン性信号用の符号列表を用いて符号化すると、その符号長は、順に１，１，４，４，１，１，１，１となり、その合計は１４ビットとなる。これに対して、表２に示したノイズ性信号用の符号列表を用いて符号化すると、その符号長は、順に２，２，３，３，２，２，２，２となり、その合計は１８ビットとなる。すなわち、トーン性信号スペクトルの場合には、トーン性信号用の符号列表を用いることにより、ノイズ性信号用の符号列表を用いた場合と比較して例えば４ビット少ないビット数で符号化することが可能となる。
【００４４】
同様に、表１、表２に示す符号列表を用いてノイズ性信号スペクトルを符号化する場合の具体例を図３に示す。図３に示すように、量子化係数の値が順に３，３，−１，２，−３，−２，３，２であるため、これを表１に示したトーン性信号用の符号列表を用いて符号化すると、その符号長は順に４，４，３，４，４，４，４，４となり、その合計は３１ビットとなる。これに対して、表２に示したノイズ性信号用の符号列表を用いると、その符号長は順に３，３，３，３，３，３，３，３となり、その合計は２４ビットとなる。すなわち、ノイズ性信号スペクトルの場合には、ノイズ性信号用の符号列表を用いることにより、トーン性信号用の符号列表を用いた場合と比較して例えば７ビット少ないビット数で符号化することが可能となる。
【００４５】
このように、量子化係数を符号化するためのハフマン符号列表も、どのような信号に対しても共通のものを使うのではなく、入力信号の性質、例えばトーン性であるかノイズ性であるかに応じて、それぞれ最適化したものを用意して使用することにより、高い圧縮率を実現することができる。
【００４６】
ここで、一般的な音響信号では、帯域毎にトーン性とノイズ性とが細かく入り混じることは少なく、全帯域の信号が揃ってトーン性又はノイズ性となる場合や、低域と高域とでトーン性とノイズ性とが入れ換わる場合が殆どである。
【００４７】
そこで本実施の形態では、以下に説明するように、トーン性信号用符号列表のグループとノイズ性信号用符号列表のグループとを両方用意しておき、入力信号の性質に応じてそれらを切り替えて用いることにより、符号化効率を向上させる。
【００４８】
例えば量子化ユニット数が１６個の場合を考える。従来法では、符号列表を切り替えないため、符号列表の数が８個であれば符号列表のインデックスを符号化するビット数は４８ビット（３×１６）となる。これに対して、トーン性／ノイズ性の符号列表をそれぞれ８個ずつ用意しておき、それを全帯域で切り替える場合は、切替ビット数が１ビット、符号列表の符号化ビット数が４８ビットの合計４９ビットとなる。これは、符号列表を切り替えない場合と比較して１ビット増えるものの、実質的に符号列表の数が２倍になったのと等しいため、スペクトル情報の圧縮率が向上し、これにより全体の圧縮率が向上することが期待できる。
【００４９】
具体的に、図４及び図５を用いて、従来の符号列表を用いる場合と、本実施の形態のように符号列表をトーン性信号用とノイズ性信号用との２組に分け、その何れか一方のみを選択して用いる場合との符号化ビット数等を比較する。
【００５０】
先ず、従来の符号列表を用いる場合の符号化ビット数等を図４に示す。この例では、各量子化ユニットに対して符号列表のインデックスが０〜７の８個（３ビット）から選択され、その符号列表を用いて符号化されたスペクトルのビット数が示されている。ここで、各符号列表は３ビットで表現され、量子化ユニット数は１６個であるため、符号列表のビット数の合計は４８ビットとなる。また、スペクトルの符号化ビット数は６６３ビットとなる。したがって、これらのビット数の合計は、７１１ビットとなる。
【００５１】
次に、本実施の形態のように、符号列表をトーン性信号用のグループとノイズ性信号用のグループとの２組に分け、その何れか一方のみを選択して用いる場合の符号化ビット数等を図５に示す。なお、符号列表は、トーン性信号用とノイズ性信号用とで８個ずつ用意されるものとする。符号列表のインデックスは０〜７の３ビットで表現されるため、その合計は４８ビットとなるが、トーン性とノイズ性とで符号列表の組を切り替えるビットが１ビット必要であるため、符号列表の符号化ビット数は、それらを合わせて４９ビットとなる。また、トーン性信号用の符号列表を用いて符号化する場合のスペクトルの符号化ビット数は６４０ビットであり、ノイズ性信号用の符号列表を用いて符号化する場合のスペクトルの符号化ビット数は６８２ビットである。したがって、この例の場合には、トーン性信号用符号列表を用いる方が効率よくスペクトルが圧縮できることになる。トーン性信号用符号列表を用いる場合には、これらのビット数の合計は６８９ビットとなり、図４の例と比較して２２ビット少なくなっていることが分かる。この２２ビットをスペクトルに対して再配分することにより、さらなる音質向上を図ることが可能となる。
【００５２】
なお、図４の場合と比較して図５ではスペクトルビット数が小さくなっているが、これは符号列表の数が多いことにより様々な信号に対応することができるようになるため、スペクトルの圧縮効率が向上したことによる。
【００５３】
ところで、各符号列表が実際に選択される確率は、符号列表の学習の仕方にも依存するが、一般的に一様には分布せず、何らかの偏りがある場合が多い。そこで、その偏りに適応した可変長符号化を用いることにより、符号列表のインデックスをも効率的に符号化することが可能となる。
【００５４】
各符号列表の選択確率の一例を図６に示す。この図６からも明らかなように、各符号列表の選択確率には偏りがある。この偏りからインデックスの符号化効率が最適になるように作成した可変長符号を以下の表３に示す。なお、この表３に示す符号列表は、トーン性信号用に最適化されたものである。
【００５５】
【表３】
0003900000.tif 000004
【００５６】
図５の具体例に対して表３の可変長符号を適用した例を図７に示す。図７から分かるように、符号列表のインデックスに対して可変長符号を適用することにより、符号列表インデックスのビット数が４０ビットとなり、図５の場合と比較して８ビット少なくてすむ。この８ビットをスペクトルの符号化に再配分することにより、さらなる音質向上の実現が可能となる。
【００５７】
また、例えばハードウェア機器等の場合、エンコーダにかけるリソースが少ないため、実用的なエンコードスピードを実現するために、多少音質を犠牲にせざるを得ない場合がある。このような場合、以下に説明するように、実際に符号化に用いる符号列表の数を少なくすることによりエンコードスピードの高速化を実現することができる。なお、単純に符号列表の数を少なくするのではなく、選択確率の高い符号列表だけを用いることにより、符号化効率の低下を少なく抑えることが可能となる。このような設定は、エンコーダの使用者が行ってもよく、また、エンコーダ側でエンコード用のリソースや処理スピードなどの状態を判断して行ってもよい。
【００５８】
具体的に、符号列表を４個だけ使う場合を考える。図６のような選択確率の場合、上位４個の符号列表で全体の約８割を占めるため、８割のスペクトルは、その圧縮効率を落とさずに符号化することが可能となる。
【００５９】
また、符号列表の数が４個になるため、符号列表のインデックスを符号化する符号化ビット数も８個の場合と比較して少なくてすむ。符号列表の数が４個の場合における符号列表インデックス用ハフマン符号列表の一例を以下の表４に示す。
【００６０】
【表４】
0003900000.tif 000005
【００６１】
図７の具体例に対して表４の可変長符号を適用した例を図８に示す。符号列表が４個になることにより、量子化ユニット３，５，６，８では、最も少ないビット数でスペクトルを符号化する符号列表を選択できなくなるため、スペクトルの符号化ビット数が若干増加している。しかし、上述したように、選択確率の高い順に４個の符号列表を用いており、その４個は図６のグラフより約８割のパターンをカバーするものであるため、このような事態は約２割の場合でしか発生しない。
【００６２】
また、符号列表の数自体が少なくなっているため、符号列表のインデックスを符号化するビット数も少なくできることが期待できる。図８の例においても、符号列表インデックスの符号化ビット数は３０ビットと、図７の場合と比較して１０ビット少なくなっている。
【００６３】
なお、上述の具体例では、符号化に用いる符号列表の数を例えば８個から４個にする場合、選択確率の高いものから順に４個選択するものとして説明したが、これに限定されるものではなく、どの符号列表を選択するかを符号化側と復号側とで予め設定しておくようにしても構わない。
【００６４】
以下、本発明が適用される符号化装置及び復号装置の構成例について説明する。図９に示すように、本実施の形態における符号化装置１０は、スペクトル変換部１１と、符号列表グループ切替判定部１２と、正規化部１３と、量子化精度決定部１４と、量子化部１５と、符号列表インデックス符号化部１６と、符号列表数切替判定部１７と、マルチプレクサ１８とにより構成されている。
【００６５】
スペクトル変換部１１は、符号化すべきオーディオ信号Ｄ１０を入力し、このオーディオ信号Ｄ１０に対してＭＤＣＴ（Modified Discrete Cosine Transformation）等のスペクトル変換を行い、時間軸上の信号を周波数軸上のスペクトル信号Ｄ１１に変換する。そしてスペクトル変換部１１は、このスペクトル信号Ｄ１１を所定の時間ブロック（フレーム）毎に符号列表グループ切替判定部１２、正規化部１３及び量子化精度決定部１４に供給する。
【００６６】
符号列表グループ切替判定部１２は、スペクトル変換部１１から供給されたスペクトル信号Ｄ１１の性質、例えばトーナリティに応じて、複数ある符号列表グループの中から１つのグループを選択すると共に、そのグループを示すグループインデックスＤ１２を量子化部１５及びマルチプレクサ１８に供給する。
【００６７】
例えば、上述のように符号列表をトーン性信号用とノイズ性信号用との２つのグループに分ける場合、符号列表グループ切替判定部１２は、スペクトル信号Ｄ１１のトーナリティを調べ、そのトーナリティが所定の閾値よりも大きければトーン性信号用符号列表を選択し、閾値よりも小さければノイズ性信号用符号列表を選択する。そして符号列表グループ切替判定部１２は、選択したグループを示すグループインデックスＤ１２を、例えば１チャンネル毎に１ビットの情報として量子化部１５及びマルチプレクサ１８に供給する。なお、幾つかに分割した周波数帯域毎に独立にトーン性／ノイズ性の判定を行い、各帯域毎に１ビットの情報をグループインデックスＤ１２として送るようにしても構わない。
【００６８】
正規化部１３は、スペクトル信号Ｄ１１を構成する各信号成分から絶対値が最大のものを抽出し、この値に対応する係数を正規化係数とする。そして、正規化部１３は、スペクトル信号Ｄ１１を構成する各信号成分を、正規化係数に対応する値でそれぞれ正規化する（除算する）。したがって、この場合、正規化により得られる被正規化データＤ１３は、−１．０〜１．０の範囲の値となる。正規化部１３は、この被正規化データＤ１３を量子化部１５に供給すると共に、正規化係数Ｄ１４をマルチプレクサ１８に供給する。なお、正規化部１３は、必要に応じて正規化係数Ｄ１４に対して所定の符号化を施した後、マルチプレクサ１８に供給するようにしても構わない。
【００６９】
量子化精度決定部１４は、スペクトル変換部１１から供給されたスペクトル信号Ｄ１１に基づいて、被正規化データＤ１３を量子化する際の量子化ステップを決定する。そして量子化精度決定部１４は、その量子化ステップに対応する量子化精度情報Ｄ１５を量子化部１５及びマルチプレクサ１８に供給する。なお、量子化精度決定部１４は、必要に応じて量子化精度情報Ｄ１５に対して所定の符号化を施した後、マルチプレクサ１８に供給するようにしても構わない。
【００７０】
量子化部１５は、量子化精度決定部１４から供給された量子化精度情報Ｄ１５に対応する量子化ステップで被正規化データＤ１３を量子化する。そして量子化部１５は、符号列表グループ切替判定部１２から供給されたグループインデックスＤ１２に基づいて、選択されたグループの符号列表を用いて量子化係数を符号化する。具体的には、選択されたグループに含まれる符号列表で実際に符号化を行い、所要ビット数が最も少ない符号列表を符号化に用いる符号列表として決定する。量子化部１５は、その決定した符号列表インデックスＤ１６を符号列表インデックス符号化部１６に供給すると共に、符号化された係数データＤ１７をマルチプレクサ１８に供給する。
【００７１】
符号列表インデックス符号化部１６は、量子化部１５から供給された符号列表インデックスＤ１６を符号化し、その符号化された符号列表インデックスＤ１８をマルチプレクサ１８に供給する。ここで、前述したように、各符号列表の選択確率に応じて符号列表のインデックスを可変長符号化する場合には、固定長で符号化する場合と比較して符号化ビット数を低減することができる。そこで、このような場合、符号列表インデックス符号化部１６は、符号列表インデックスの符号化ビット数情報Ｄ１９を量子化部１５に供給する。これにより、量子化部１５は、インデックスの符号化で稼いだビット数をスペクトルに対して再配分することができる。
【００７２】
符号列表数切替判定部１７は、符号列表グループに含まれる符号列表のうち、使用する符号列表の数を切り替え、その符号列表数インデックスＤ２１を、フレーム毎又はビットストリーム毎に１ビットの情報として、量子化部１５、符号列表インデックス符号化部１６及びマルチプレクサ１８に供給する。すなわち、上述したように、エンコーダにかけるリソースが少なく、実用的なエンコードスピードを実現するために多少音質を犠牲にせざるを得ない場合等には、実際に符号化に用いる符号列表の数を少なくすることによりエンコードスピードの高速化を実現することができる。なお、使用する符号列表の切り替え動作は、ユーザや機器自身の判断により外部から供給される所定の設定用信号Ｄ２０に基づいて行ってもよく、それ以外の方法を用いてもよい。
【００７３】
例えば、上述のように使用する符号列表の数を８個から４個に切り替える場合、符号列表数切替判定部１７は、１ビットの符号列表数インデックスＤ２１を量子化部１５、符号列表インデックス符号化部１６及びマルチプレクサ１８に供給する。量子化部１５は、８個ある符号列表のうち、予め定められた４個の符号列表を用いて実際に符号化を行い、所要ビット数が最も少ない符号列表を符号化に用いる符号列表として決定する。量子化部１５は、その決定した符号列表インデックスＤ１６を符号列表インデックス符号化部１６に供給する。一方、符号列表インデックス符号化部１６は、予め定められた４個の符号列表の符号列表のインデックスを振り直し、量子化部１５から供給された符号列表インデックスＤ１６に対応する新たなインデックスを符号化する。
【００７４】
マルチプレクサ１８は、量子化部１５から供給された係数データＤ１７を、グループインデックスＤ１２、正規化係数Ｄ１４、量子化精度情報Ｄ１５、符号列表インデックスＤ１８及び符号列表数インデックスＤ２１と共に多重化する。そして、マルチプレクサ１８は、多重化の結果得られる符号化データＤ２２を伝送路を介して伝送し、或いは図示しない記録媒体に記録する。
【００７５】
なお、上述の例では、符号列表グループ切替判定部１２は、スペクトル信号Ｄ１１のトーナリティを調べて、トーン性信号用の符号列表とノイズ性信号用の符号列との何れかを選択するものとして説明したが、これに限定されるものではなく、両方の符号列表で実際に符号化を行って所要ビット数を計算し、ビット数の少ない方のグループを選択するようにしても構わない。
【００７６】
続いて、符号化装置１０から出力される符号化データを復号する復号装置３０の概略構成について、図１０を用いて説明する。図１０に示すように、本実施の形態における復号装置３０は、デマルチプレクサ３１と、符号列表インデックス復号部３２と、逆量子化部３３と、逆正規化部３４と、スペクトル逆変換部３５とにより構成されている。
【００７７】
デマルチプレクサ３１は、入力した符号化データＤ３０を復号し、係数データＤ３１、量子化精度情報Ｄ３２、正規化係数Ｄ３３、グループインデックスＤ３４、符号列表インデックスＤ３５及び符号列表数インデックスＤ３６に分離する。そしてデマルチプレクサ３１は、係数データＤ３１を逆量子化部３３に供給すると共に、量子化精度情報Ｄ３２及び正規化係数Ｄ３３を必要に応じて復号し、それぞれ逆量子化部３３及び逆正規化部３４に供給する。また、デマルチプレクサ３１は、グループインデックスＤ３４及び符号列表インデックスＤ３５を、それぞれ逆量子化部３３及び符号列表インデックス復号部３２に供給する。さらに、デマルチプレクサ３１は、符号列表数インデックスＤ３６を符号列表インデックス復号部３２及び逆量子化部３３に供給する。
【００７８】
符号列表インデックス復号部３２は、符号列表数インデックスＤ３６に基づいて符号列表インデックスＤ３５を復号し、復号したインデックスＤ３７を逆量子化部３３に供給する。
【００７９】
逆量子化部３３は、グループインデックスＤ３４、符号列表数インデックスＤ３６及び符号列表インデックス復号部３２から供給されたインデックスＤ３７に基づいて使用する符号列表を決定し、この符号列表で係数データＤ３１を復号する。そして、逆量子化部３３は、得られた量子化係数をデマルチプレクサ３１から供給された量子化精度情報Ｄ３２に対応した量子化ステップで逆量子化し、被正規化データＤ３８を生成する。逆量子化部３３は、この被正規化データＤ３８を逆正規化部３４に供給する。
【００８０】
逆正規化部３４は、被正規化データＤ３８にデマルチプレクサ３１から供給された正規化係数Ｄ３３に対応する値を乗算することで被正規化データＤ３８を復号し、得られたスペクトル信号Ｄ３９をスペクトル逆変換部３５に供給する。
【００８１】
スペクトル逆変換部３５は、逆正規化部３４から供給されたスペクトル信号Ｄ３９に対してＩＭＤＣＴ（Inverse Modified Discrete Cosine Transformation）等の逆スペクトル変換を施し、これにより元のオーディオ信号Ｄ４０を復元する。
【００８２】
以上説明したように、本実施の形態における符号化装置１０は、スペクトル信号Ｄ１１の性質、例えばトーナリティに応じて、複数ある符号列表グループの中から１つのグループを選択し、そのグループに含まれる符号列表を用いて量子化係数を符号化する。これにより、符号列表のインデックスを符号化する符号化ビット数を増加させることなく、様々な入力信号に対して信号の性質に応じた最適な符号列表が選択可能とされる。また、符号化装置１０は、エンコーダにかけるリソースが少なく、実用的なエンコードスピードを実現するために多少音質を犠牲にせざるを得ない場合等には、実際に符号化に用いる符号列表の数を少なくすることによりエンコードスピードの高速化を実現することができる。
【００８３】
一方、本実施の形態における復号装置３０は、符号化データＤ３０に含まれるグループインデックスＤ３４、符号列表インデックスＤ３５及び符号列表数インデックスＤ３６に基づいて符号化側と対応する符号列表を選択し、係数データＤ３１を復号することができる。
【００８４】
なお、本発明は上述した実施の形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。
【００８５】
例えば、上述の実施の形態では、ハードウェアの構成として説明したが、これに限定されるものではなく、任意の処理を、ＣＰＵ（Central Processing Unit）にコンピュータプログラムを実行させることにより実現することも可能である。この場合、コンピュータプログラムは、記録媒体に記録して提供することも可能であり、また、インターネットその他の伝送媒体を介して伝送することにより提供することも可能である。
【００８６】
【発明の効果】
以上詳細に説明したように本発明に係る符号化方法は、所定単位毎に１つの符号列表を用いてディジタル信号を符号化する際に、予め符号列表群毎に分けられた複数のグループから、上記ディジタル信号の性質に応じて１つのグループを選択し、当該選択されたグループの上記符号列表群の中から１つの符号列表を決定し、この決定された上記符号列表を用いて上記ディジタル信号を符号化する。
【００８７】
ここで、１つの符号列表グループを選択する際には、例えばディジタル信号のトーナリティに応じてグループを選択することができる。
【００８８】
このような符号化方法及び装置によれば、符号列表のインデックスを符号化する符号化ビット数を増加させることなく、様々な入力信号に対して信号の性質、例えばトーナリティに応じた最適な符号列表が選択可能とされる。
【００８９】
また、本発明に係る符号化方法及び装置は、所定単位毎に１つの符号列表を用いてディジタル信号を符号化する際に、符号列表群に含まれる選択可能な符号列表の数を設定し、上記符号列表群の中から１つの上記符号列表を選択し、選択された符号列表を用いて上記ディジタル信号を符号化する。
【００９０】
このような符号化方法及び装置によれば、符号列表群に含まれる選択可能な符号列表の数を設定することができるため、エンコーダにかけるリソースが少なく、実用的なエンコードスピードを実現するために多少音質を犠牲にせざるを得ない場合であっても、実際に符号化に用いる符号列表の数を少なくすることでエンコードスピードの高速化を実現することができる。
【００９１】
また、本発明に係る復号方法及び装置は、所定単位毎に１つの符号列表を用いて符号化されたディジタル信号を復号する際に、予め符号列表群毎に分けられた複数のグループから、使用する１つのグループを選択し、選択されたグループの符号列表の中から使用する１つの符号列表を決定し、この決定された符号列表を用いて上記ディジタル信号を復号する。
【００９２】
ここで、１つの符号列表グループを選択する際には、符号化の際に上記ディジタル信号のトーナリティに応じて選択されたグループと同じグループを選択する。
【００９３】
このような復号方法及び装置によれば、予め符号列表群毎に分けられた複数のグループから符号化の際にディジタル信号のトーナリティに応じて選択されたグループと同じグループを選択し、そのグループの符号列表の中から選択された１つの符号列表を用いてディジタル信号を復号することができる。
【００９４】
また、本発明に係る復号方法及び装置は、所定単位毎に１つの符号列表を用いて符号化されたディジタル信号を復号する際に、符号列表群に含まれる符号列表の数を設定し、上記符号列表群の中から１つの上記符号列表を選択し、選択された上記符号列表に基づいて上記ディジタル信号を復号する。
【００９５】
このような復号方法及び装置によれば、符号列表群に含まれる符号列表の数を設定し、この符号列表群の中から１つの符号列表を選択し、選択された符号列表に基づいてディジタル信号を復号することができる。
【００９６】
また、本発明に係るプログラムは、上述した符号化処理又は復号処理をコンピュータに実行させるものである。
【００９７】
このようなプログラムによれば、上述した符号化処理又は復号処理をソフトウェアにより実現することができる。
【図面の簡単な説明】
【図１】スペクトルの一例を説明する図であり、同図（Ａ）は、トーン性信号を示し、同図（Ｂ）は、ノイズ性信号を示す。
【図２】トーン性スペクトルの符号化例を説明する図である。
【図３】ノイズ性スペクトルの符号化例を説明する図である。
【図４】従来の符号列表のインデックス及びスペクトルの符号化ビット数の具体例を説明する図である。
【図５】本実施の形態における符号列表のインデックス及びスペクトルの符号化ビット数の具体例を説明する図である。
【図６】各符号列表の選択確率の割合の一例を説明する図である。
【図７】符号列表のインデックスの符号化にハフマン符号化を適用した場合における符号列表のインデックス及びスペクトルの符号化ビット数の具体例を説明する図である。
【図８】符号列表の数を４個とし、符号列表のインデックスの符号化にハフマン符号化を適用した場合における、符号列表のインデックス及びスペクトルの符号化ビット数の具体例を説明する図である。
【図９】本実施の形態における符号化装置の概略構成を説明する図である。
【図１０】本実施の形態における復号装置の概略構成を説明する図である。
【符号の説明】
１０  符号化装置、１１  スペクトル変換部、１２  符号列表グループ切替判定部、１３  正規化部、１４  量子化精度決定部、１５  量子化部、１６  符号列表インデックス符号化部、１７  符号列表数切替判定部、１８  マルチプレクサ、３０  復号装置、３１  デマルチプレクサ、３２  符号列表インデックス復号部、３３  逆量子化部、３４  逆正規化部、３５  スペクトル逆変換部
【図１】
0003900000.tif 000006
【図２】
0003900000.tif 000007
【図３】
0003900000.tif 000008
【図４】
0003900000.tif 000009
【図５】
0003900000.tif 000010
【図６】
0003900000.tif 000011
【図７】
0003900000.tif 000012
【図８】
0003900000.tif 000013
【図９】
0003900000.tif 000014
【図１０】
0003900000.tif 000015