(57)【要約】【課題】量子化処理の収束速度を高め、音質の向上を図る。【解決手段】量子化ビット数算出部１２は、量子化値をハフマン符号化した際のビット数であるハフマン符号語ビット数と、複数のハフマン符号帳Ｂ１の中から選択された最適ハフマン符号帳の番号のビット数である最適ハフマン符号帳番号ビット数と、サブバンド毎のスケールファクタに要するビット数であるスケールファクタ用ビット数とを算出する。１回目の量子化処理時には、量子化ビット数算出部１２は、ｎ個置きのサブバンドから算出された量子化値に関するハフマン符号語ビット数を算出し、ビット数予測部１３は、（ｎ＋１）倍したハフマン符号語ビット数と、最適ハフマン符号帳番号ビット数と、スケールファクタ用ビット数とを合計し、予測ビット数を算出する。パラメータ更新部１５は、予測ビット数が許容ビット数を超えた場合には、量子化処理時のパラメータを更新する。【選択図】図１
2008083295.tif 000002
【特許請求の範囲】
【請求項１】
音声信号の符号化を行うオーディオ符号化装置において、
サブバンド内のスペクトル信号の量子化を行って、量子化値を算出する量子化部と、
量子化処理に要する量子化ビット数として少なくとも、前記量子化値をハフマン符号化した際のビット数であるハフマン符号語ビット数を算出する量子化ビット数算出部と、
前記ハフマン符号語ビット数と、前記ハフマン符号語ビット数以外の前記量子化ビット数とを合計して、量子化処理で発生する予測ビット数を算出するビット数予測部と、
前記予測ビット数が許容ビット数の範囲内にあるか否かを判定する判定部と、
前記予測ビット数が前記許容ビット数を超えた場合には、量子化処理時のパラメータである、コモンスケールファクタ及びスケールファクタを更新するパラメータ更新部と、
を有し、
１回目の量子化処理時には、
前記量子化部は、前記サブバンドをｎ個置きに量子化し、
前記量子化ビット数算出部は、ｎ個置きの前記サブバンドから算出された前記量子化値に関する前記ハフマン符号語ビット数を算出し、
前記ビット数予測部は、（ｎ＋１）倍した前記ハフマン符号語ビット数と、前記ハフマン符号語ビット数以外の前記量子化ビット数とを合計して、前記予測ビット数を算出する、
ことを特徴とするオーディオ符号化装置。
【請求項２】
前記量子化ビット数算出部は、前記ハフマン符号語ビット数以外の前記量子化ビット数として、前記ハフマン符号化を行う際に複数のハフマン符号帳の中から、前記サブバンド毎に選択された最適ハフマン符号帳の番号のビット数である最適ハフマン符号帳番号ビット数と、前記サブバンド毎のスケールファクタに要するビット数であるスケールファクタ用ビット数とを算出し、１回目の量子化処理時には、前記ビット数予測部は、（ｎ＋１）倍した前記ハフマン符号語ビット数と、前記最適ハフマン符号帳番号ビット数と、前記スケールファクタ用ビット数とを合計して、前記予測ビット数を算出することを特徴とする請求項１記載のオーディオ符号化装置。
【請求項３】
２回目の量子化処理時には、１回目の量子化処理で更新された前記パラメータを用いて、前記量子化部は、１サブバンド毎に順に量子化し、前記量子化ビット数算出部は、１サブバンド毎に順に算出された前記量子化値に関する前記ハフマン符号語ビット数を算出し、前記ビット数予測部は、前記ハフマン符号語ビット数と、前記最適ハフマン符号帳番号ビット数と、前記スケールファクタ用ビット数とを合計して、前記予測ビット数を算出することを特徴とする請求項２記載のオーディオ符号化装置。
【請求項４】
サブバンド番号が＃ｓｂの前記サブバンドをサブバンド＃ｓｂとし、前記サブバンド＃ｓｂの最適ハフマン符号帳番号を＃ａとすると、前記サブバンドをｎ個置きに量子化した際に、飛ばされたサブバンド＃（ｓｂ＋１）、＃（ｓｂ＋２）、・・・、＃（ｓｂ＋ｎ）の最適ハフマン符号帳番号は、前記サブバンド＃ｓｂの前記最適ハフマン符号帳番号と同じ＃ａに設定して、飛ばされた前記サブバンド＃（ｓｂ＋１）、＃（ｓｂ＋２）、・・・、＃（ｓｂ＋ｎ）の前記最適ハフマン符号帳番号の補間処理を行うハフマン符号帳番号補間部をさらに有することを特徴とする請求項２記載のオーディオ符号化装置。
【請求項５】
前記パラメータ更新部は、前記サブバンドを低域、中域、高域の周波数帯域に分け、前記スケールファクタを更新する場合は、前記周波数帯域毎に補正量を変えて、前記スケールファクタを更新することを特徴とする請求項１記載のオーディオ符号化装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はオーディオ符号化装置に関し、特にＭＰ３（MPEG Audio Layer-3）やＭＰＥＧ（Moving Picture Expert Group）２−ＡＡＣ（Advanced Audio Codec）等の音声信号の符号化を行うオーディオ符号化装置に関する。
【背景技術】
【０００２】
ディジタル音声信号を効率よく圧縮・伝送するためには、高能率符号化が行われており、音声圧縮のアルゴリズムは、ＭＰＥＧで標準規格化されている。ＭＰＥＧの音声圧縮アルゴリズムの代表的なものには、ＡＡＣがある。
【０００３】
ＡＡＣは、ＩＳＯ（International Organization for Standardization）の１３８１８−７により勧告されており、高音質・高圧縮率を達成した圧縮規格として、携帯電話を使った音楽配信や、ディジタル（衛星・地上波）放送などに広く採用されている。
【０００４】
ＡＡＣの符号化アルゴリズムの量子化処理においては、与えられたビットレートを満足するための処理として、インナーループとアウターループと呼ばれる反復ループ処理が行われる。インナーループでは、設定されたビットレートの条件を満足するように量子化処理を行うものである。
【０００５】
また、アウターループでは、量子化値を逆量子化した際に発生する量子化ノイズが、マスキング特性以下となる条件を満足するように、コモンスケールファクタ（ＣＳＦ：common scale factor）及びサブバンド毎のスケールファクタ（ＳＦ：scale factor）を調整するものである。
【０００６】
従来のオーディオ符号化技術としては、複数のスケールファクタバンドとしきい値情報を初期設定し、そのスケールファクタバンドのうち符号化する周波数帯域を特定する最大スケールファクタバンドを、入力信号の周波数分布を分析した結果と聴覚心理モデルとにもとづいて算出して、符号化する周波数帯域を適応的に求める技術が提案されている（例えば、特許文献１）。
【特許文献１】特開２００２−１９６７９２号公報（段落番号〔００２２〕〜〔００４８〕，第１図）
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ＩＳＯの勧告では、上記のインナーループとアウターループの両方の条件が満足するまで処理を行うことが規定されており、この場合、両者の条件が合わない限り、延々とインナーループの量子化処理とアウターループの量子化処理とを続けることになる。
【０００８】
このように従来では、量子化処理に必要なパラメータ（ＣＳＦ、ＳＦ）が最適値になるまで量子化処理を繰り返すので、量子化処理の収束速度が遅く、また符号化処理における周波数の処理帯域のふらつきが生じて音質が劣化してしまうといった問題があった。
【０００９】
本発明はこのような点に鑑みてなされたものであり、量子化処理に必要なパラメータの最適値を早期に生成して、量子化処理の収束速度を高め、音質の向上を図ったオーディオ符号化装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明では上記課題を解決するために、図１に示すような、音声信号の符号化を行うオーディオ符号化装置１０において、サブバンド内のスペクトル信号の量子化を行って、量子化値を算出する量子化部１１と、量子化処理に要する量子化ビット数として少なくとも、量子化値をハフマン符号化した際のビット数であるハフマン符号語ビット数を算出する量子化ビット数算出部１２と、ハフマン符号語ビット数と、ハフマン符号語ビット数以外の量子化ビット数とを合計して、量子化処理で発生する予測ビット数を算出するビット数予測部１３と、予測ビット数が許容ビット数の範囲内にあるか否かを判定する判定部１４と、予測ビット数が許容ビット数を超えた場合には、量子化処理時のパラメータである、コモンスケールファクタ及びスケールファクタを更新するパラメータ更新部１５と、を有し、１回目の量子化処理時には、量子化部１１は、サブバンドをｎ個置きに量子化し、量子化ビット数算出部１２は、ｎ個置きのサブバンドから算出された量子化値に関するハフマン符号語ビット数を算出し、ビット数予測部１３は、（ｎ＋１）倍したハフマン符号語ビット数と、ハフマン符号語ビット数以外の量子化ビット数とを合計して、予測ビット数を算出する、ことを特徴とするオーディオ符号化装置１０が提供される。
【００１１】
ここで、量子化部１１は、サブバンド内のスペクトル信号の量子化を行って、量子化値を算出する。量子化ビット数算出部１２は、量子化処理に要する量子化ビット数として少なくとも、量子化値をハフマン符号化した際のビット数であるハフマン符号語ビット数を算出する。ビット数予測部１３は、ハフマン符号語ビット数と、ハフマン符号語ビット数以外の量子化ビット数とを合計して、量子化処理で発生する予測ビット数を算出する。判定部１４は、予測ビット数が許容ビット数の範囲内にあるか否かを判定する。パラメータ更新部１５は、予測ビット数が許容ビット数を超えた場合には、量子化処理時のパラメータである、コモンスケールファクタ及びスケールファクタを更新する。１回目の量子化処理時には、量子化部１１は、サブバンドをｎ個置きに量子化し、量子化ビット数算出部１２は、ｎ個置きのサブバンドから算出された量子化値に関するハフマン符号語ビット数を算出し、ビット数予測部１３は、（ｎ＋１）倍したハフマン符号語ビット数と、ハフマン符号語ビット数以外の量子化ビット数とを合計して、予測ビット数を算出する。
【発明の効果】
【００１２】
本発明のオーディオ符号化装置は、１回目の量子化処理時に、サブバンドをｎ個置きに量子化し、ｎ個置きのサブバンドから算出された量子化値に関するハフマン符号語ビット数を算出し、（ｎ＋１）倍したハフマン符号語ビット数と、ハフマン符号語ビット数以外の量子化ビット数とを合計して、予測ビット数を算出する構成とした。これにより、量子化処理に必要なパラメータの最適値を早期に生成することができ、量子化処理の収束速度を高め、音質の向上を図ることが可能になる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の実施の形態を図面を参照して説明する。図１はオーディオ符号化装置の原理図である。オーディオ符号化装置１０は、量子化部１１、量子化ビット数算出部１２、ビット数予測部１３、判定部１４、パラメータ更新部１５、ハフマン符号帳Ｂ１から構成され、音声信号の符号化処理を行う装置である。
【００１４】
また、適用される装置としては、例えば、ＤＶＤレコーダやディジタルムービー等のＡＶ機器、またはシリコンオーディオプレーヤ用の音楽データを生成する装置などがある。
量子化部１１は、サブバンド内のスペクトル信号の量子化を行って、量子化値を算出する。量子化ビット数算出部１２は、量子化処理に要する量子化ビット数として少なくとも、量子化値をハフマン符号化した際のビット数であるハフマン符号語ビット数を算出する。
【００１５】
なお、ハフマン符号語ビット数以外の量子化ビット数として、ハフマン符号化を行う際に、複数のハフマン符号帳Ｂ１（ＩＳＯ１３８１８−７では、１１種類のハフマン符号帳が規定されている）の中から、サブバンド毎に選択された最適ハフマン符号帳の番号のビット数である最適ハフマン符号帳番号ビット数と、サブバンド毎のスケールファクタに要するビット数であるスケールファクタ用ビット数とを算出する。
【００１６】
ビット数予測部１３は、ハフマン符号語ビット数と、最適ハフマン符号帳番号ビット数と、スケールファクタ用ビット数とを合計して、量子化処理で発生する予測ビット数を算出する。
【００１７】
判定部１４は、予測ビット数が許容ビット数の範囲内にあるか否かを判定する。パラメータ更新部１５は、予測ビット数が許容ビット数を超えた場合には、量子化処理時のパラメータである、コモンスケールファクタ及びスケールファクタを更新する。
【００１８】
また、１回目の量子化処理時には、量子化部１１は、サブバンドをｎ個置きに量子化し、量子化ビット数算出部１２は、ｎ個置きのサブバンドから算出された量子化値に関するハフマン符号語ビット数を算出する。そして、ビット数予測部１３は、（ｎ＋１）倍したハフマン符号語ビット数と、最適ハフマン符号帳番号ビット数と、スケールファクタ用ビット数とを合計して、予測ビット数を算出する。オーディオ符号化装置１０の詳細な構成及び動作については後述する。
【００１９】
次にオーディオ符号化装置１０の構成及び動作を説明する前に、本発明に関係する音声情報圧縮の基本的な概念と、従来の量子化手順を示しながら、本発明が解決すべき問題点について詳しく説明する。
【００２０】
従来のＡＡＣエンコーダでは、まずＰＣＭ（Pulse Code Modulation）信号をフレーム単位で切り出して、ＰＣＭ信号に空間変換としてＭＤＣＴ（Modified Discrete Cosine Transform）を施し、ＰＣＭの時間軸上における電力を、空間（周波数）軸上における電力の表現に変換する。
【００２１】
そして、量子化処理として、ＭＤＣＴの演算結果であるＭＤＣＴ変換係数（以下、単に変換係数）に、人間の聴覚特性に合わせた量子化を施し、その後に、ハフマン符号化を行って、ビットストリームを生成して伝送路上から出力する。
【００２２】
ここで、フレームとは符号化処理の単位であり、ＡＡＣでは、２０４８個のＰＣＭのサンプル値にＭＤＣＴを施して得られる１０２４個のスペクトル信号（変換係数）を１フレームとする。
【００２３】
図２はフレームの概念を示す図である。アナログ音声をディジタル化して、２０４８個のＰＣＭサンプル値を得た後に、これらサンプル値にＭＤＣＴを施して、１０２４個の変換係数を１フレームとする。
【００２４】
図３は変換係数とサブバンドのイメージを示す図である。縦軸は変換係数のレベル、横軸は周波数である。１０２４個の変換係数は、周波数軸上、サブバンド＃０〜＃４８の４９個の各帯域にグループ分けされる（以下、サブバンド番号が＃ｓｂのサブバンドをサブバンド＃ｓｂと表記する）。
【００２５】
なお、サブバンドとは、１０２４個の変換係数を、４９個にグループ分けした帯域のことであり（１つのサブバンド内に含まれる変換係数の個数は、ＩＳＯ１３８１８−７の勧告により４の倍数となることが定義されている）、聴覚特性にもとづき、高帯域になるにしたがって、括る変換係数の数を増やしている。また、図では、変換係数の絶対値をとって、すべて正領域で示しているが、変換係数の値そのものは、正、負のいずれかの符号を持つものである。
【００２６】
図からわかるように、帯域の低い側では、１つのサブバンド内の変換係数の個数は少なく（サブバンドの帯域幅が狭く）、帯域の高い側では、１つのサブバンド内の変換係数の個数は多く（サブバンドの帯域幅が広く）なっている。
【００２７】
これは、人間の聴覚特性として、低帯域（低音）側は、周波数の差を敏感に感じることができるが（例えば、図の場合、変換係数ｘ１、ｘ２に対応する音の違いは感知できるということ）、高帯域（高音）側は、周波数の差を敏感に感じることができずに、同じ音のように感じてしまうという理由からである。
【００２８】
このため、周波数の違いを敏感に感じることができる低い帯域側の信号に対しては、細かいサブバンドで分けるようにし、周波数の違いを感じることが鈍感な高い帯域側の信号に対しては、サブバンドを広くとるようにすることで、人間の聴覚特性に合わせたサブバンドのグループ分けを行っている。
【００２９】
図４はフレームに対するコモンスケールファクタ／スケールファクタの対応関係を示す図である。コモンスケールファクタＣＳＦ及びスケールファクタＳＦ０〜ＳＦ４８を、図３に対応させた様子を示しており、１フレームのサブバンド＃０〜＃４８全体で１つのコモンスケールファクタＣＳＦが存在する。また、サブバンド＃０〜＃４８のそれぞれに対応したスケールファクタＳＦ０〜ＳＦ４８（全部で４９個のスケールファクタ）が存在することになる。
【００３０】
ここで、量子化ステップサイズｑと、コモンスケールファクタと、スケールファクタとには以下の関係がある。
ｑ＝scalefactor−common scalefactor    …（１）
ただし、scalefactor（スケールファクタ）は、サブバンド毎のスケールファクタ値であり、common scalefactor（コモンスケールファクタ）は、１つのフレーム全体の量子化ステップサイズのオフセット値である（スケールファクタ及びコモンスケールファクタは共に整数値である）。
【００３１】
したがって、サブバンド＃ｓｂ（ｓｂ＝０、１、・・・、４８）の量子化ステップサイズｑ[ｓｂ]は、ｑ[ｓｂ]＝（スケールファクタＳＦ[ｓｂ]）−（コモンスケールファクタＣＳＦ）で求まる。
【００３２】
図５は量子化の概念を示す図である。ある変換係数Ｘのレベル（大きさ）をＹとする。変換係数Ｘに量子化を施すということは、単純化すれば、Ｙを量子化ステップサイズｑで割って余りを捨てている割り算を行うことを意味している。
【００３３】
図はこの量子化の様子を示すものであり、大きさＹの変換係数Ｘを、量子化ステップサイズとして２q/4で割って、余りを捨てた結果が２＊２q/4となっている。したがって、この割り算の商（２＊２q/4）が変換係数Ｘの量子化値となる。
【００３４】
簡単な例でいえば、量子化ステップサイズが１０として、Ｙを１０で割ったときの商が９．６だったとすると、Ｙを量子化ステップサイズ１０で量子化した際の量子化値は９となる。
【００３５】
図５で示した内容からわかるように、量子化の誤差を小さくして、音声品質の向上を図るためには、量子化ステップサイズ（図で示すステップ幅）が、量子化対象の信号に対して、適切な値であることが重要である。また、この量子化ステップサイズは、上述のようにスケールファクタとコモンスケールファクタから算出されるものである。
【００３６】
すなわち、量子化及び符号化の処理として、最も音質に影響を与える重要な箇所は、各サブバンドのスケールファクタと、フレームのコモンスケールファクタとの最適値を決定することであるといえる。この２つのパラメータの最適値が決定してしまえば、その後は式（１）からサブバンド毎の量子化ステップサイズがわかり、サブバンドｓｂ内の各変換係数の値を、サブバンドｓｂ対応の量子化ステップサイズで割り算することで、変換係数を量子化した値が求まる。そして、ハフマン符号帳にもとづき、ハフマン符号語に符号化して伝送路上へ送信することになる。
【００３７】
ところが、ここで問題となるのが、ＩＳＯで規定されている方法では、スケールファクタ（以下、ＳＦとも表記）とコモンスケールファクタ（以下、ＣＳＦとも表記）の最適値を決定するためには、多大な演算量を必要としているということである。
【００３８】
以降、演算量が多大となる従来の処理について説明する。ＳＦとＣＳＦを決定する際には、人間の聴覚特性の１つであるマスキングパワーしきい値にもとづいて決定される。マスキングパワーしきい値とは、人間が聞こえる最小の音圧値のことである。
【００３９】
図６は可聴限界グラフを示す図である。可聴限界グラフＧの縦軸は音圧（ｄＢ）、横軸は周波数（Ｈｚ）である。人間の可聴範囲（２０〜２０,０００Ｈｚ）における聴覚の感度は、均一ではなく周波数によって違っており、３〜４ｋＨｚをピークに低域と高域の感度が急激に落ち込む。このことは、低い周波数及び高い周波数側の音は、音量を大きくしないとよく聞こえないということである。
【００４０】
図のグラフＧは、斜線部分が可聴範囲である。低域側または高域側では、音圧（音量）が高くないと聞こえにくく、３〜４ｋＨｚでは、音圧が小さくてもよく聞こえることがわかる。マスキングパワーしきい値は、この可聴限界グラフＧにもとづいて、ある周波数ｆではレベルＬ以下は聞こえないといったしきい値を、フーリエ変換（ＦＦＴ：Fast Fourier Transform）の演算によって求めたものである。
【００４１】
図７はマスキングパワーしきい値を示す図である。縦軸はしきい値のパワーであり、横軸は周波数である。１フレームの周波数帯域は、サブバンド＃０〜＃４８でグループ分けされており、サブバンド毎に求められたマスキングパワーしきい値が示されている。
【００４２】
ここで、サブバンド＃０のマスキングパワーしきい値はＭ０となっている。これは、サブバンド＃０の帯域においては、パワーＭ０以下の信号（音）は、聞こえづらいということである。このため、信号処理を行う上では、しきい値Ｍ０以下の信号はノイズとみなしてよい。
【００４３】
したがって、量子化処理を行う場合では、すべてのサブバンドに対し、サブバンド毎の量子化誤差（量子化誤差のパワー）が、それぞれのサブバンドに対応するマスキングパワーしきい値以下になるような量子化を施せばよいことがわかる。
【００４４】
このことは、サブバンド＃０についていえば、マスキングパワーしきい値Ｍ０よりも量子化誤差パワーが小さくなるような、ＳＦ及びＣＳＦを決定すればよいということである。
【００４５】
一方、サブバンド＃０のマスキングパワーしきい値Ｍ０とサブバンド＃１のマスキングパワーしきい値Ｍ１とを比較すると、Ｍ０＞Ｍ１である。このように、許容できるノイズの大きさはサブバンド毎に異なっている。
【００４６】
したがって、サブバンド＃０では、サブバンド＃１よりも許容できるノイズレベルが大きいので、サブバンド＃１よりも量子化誤差は大きくてよい（サブバンド＃０は、サブバンド＃１よりも粗く量子化してよい）。
【００４７】
また、サブバンド＃１は、サブバンド＃０よりも許容できるノイズレベルが小さいので、サブバンド＃０よりも量子化誤差は小さくする必要がある（サブバンド＃１は、サブバンド＃０よりも細かく量子化する）。
【００４８】
なお、図に示す１フレーム中、サブバンド＃４のマスキングパワーしきい値が一番小さく、サブバンド＃４８のマスキングパワーしきい値が一番高い値だとすると、サブバンド＃４は、許容できるノイズレベルが小さく、聴覚に最も敏感な箇所ということになるため、１フレーム中の量子化誤差が最も小さくなるように量子化しないと、音質劣化が感知されてしまう。また、サブバンド＃４８は、許容できるノイズレベルが大きく、１フレーム中、最も粗く量子化してよい。
【００４９】
このように、各サブバンドに対するＳＦ及びフレームのＣＳＦを決める際には、上記のようなマスキングパワーしきい値との兼ね合いを見ていくことになるが、この他にも、符号化に必要なビットレートは決められているので、使用可能な全体のビット数も満たすようにしなければならない（例えば、１２８ｋｂｐｓの符号化レートというように、符号化のビットレートはあらかじめ決められているので、そのビットレートから設定される情報量（ビット量）を守る必要がある）。
【００５０】
なお、ＡＡＣでは、フレーム間のビット数を適応的に可変できるように、ビットリザーバという一時的なビット貯蔵庫をもっている。符号化に使用可能なビット数は、設定されたビットレートと、聴覚モデルの聴覚エントロピーと、ビットリザーバにあるビット量とから算出される（聴覚エントロピーとは、フレームの入力音声信号をＦＦＴした周波数スペクトルから求められるもので、リスナーが雑音を知覚することがないように、そのフレームを量子化するのに必要な総ビット数とみなしてよい。例えば、広い帯域に渡ってスペクトルが延びるインパルス音やホワイトノイズなどでは大きな値を示し、このような場合には、符号化ビットが多く必要であると判断される）。
【００５１】
このように、ＣＳＦ、ＳＦを求めるには、マスキングパワーしきい値及び符号化使用可能ビット数の両方を満たすように決定することになるが、ＩＳＯによる従来の技術では、ＣＳＦ、ＳＦを１つずつ更新しながら量子化と逆量子化を繰り返す反復処理を行って求めている。
【００５２】
従来処理の流れについて概要を記すと、まず最初に、ＣＳＦ及びＳＦに初期値を設定する。そして、初期値を設定したＣＳＦ及びＳＦで、変換係数を量子化してみる。そして、量子化値を逆量子化してから、量子化誤差を求める（量子化誤差は、量子化する前の値（変換係数の値）と、逆量子化値の差分値のことである）。
【００５３】
その後、サブバンド内の最大の量子化誤差とマスキングパワーしきい値とを比較して、量子化誤差パワーがマスキングパワーしきい値よりも大きければ、ＳＦをカウントアップして次のＳＦで再び、量子化→逆量子化→ノイズパワー評価を行う。また、サブバンド内の量子化誤差パワーの最大値がマスキングパワーしきい値よりも小さければ、次のサブバンドへ移る。
【００５４】
このようにして、すべてのサブバンドに対して、量子化誤差がマスキングパワーしきい値よりも小さくなった後に（この時点でＳＦはすべて算出されている）、ハフマン符号化してビット量を換算し、そのビット量が符号化レートで設定される所定のビット量以下であるか否かを判断する。
【００５５】
このとき、換算ビット量が所定ビット量よりも小さければ終了できるが、所定ビット量を超えてしまう場合には、ＣＳＦを１つカウントアップして、最初に戻り、１つカウントアップしたＣＳＦとＳＦの初期値とから、あらためて量子化、逆量子化を行って、再び量子化誤差とマスキングパワーしきい値との評価演算を行っていく。
【００５６】
以上説明したように、従来技術では、処理を完了させるために、１つの変換係数に関して、最適な量子化ステップサイズ値（ＣＳＦ、ＳＦ）を探すために、総当りで何度も量子化と逆量子化処理及び符号化処理を行う必要があった。このため、演算処理量が非常に大きくなり、また処理が収束せずに無限ループに入ってしまう場合もあり、演算効率が非常に悪いものであった。
【００５７】
本発明ではこのような問題点を解決し、量子化処理に必要なパラメータ（ＣＳＦ、ＳＦ）を最適値に早期に補正して、量子化処理の収束速度を高めて、音質の向上を図ったオーディオ符号化装置を提供するものである。
【００５８】
次に最適ハフマン符号帳の選択処理について詳しく説明する。量子化処理によって得られた量子化値は、符号化され、ビットストリームとなって伝送路上から出力されるが、このときの符号化には、一般的にハフマン符号化が行われる。ハフマン符号化は、出現率の高いものには短い符号を、出現率の低いものには長い符号を割り当てる符号化方式であり、ＡＡＣでは、１番から１１番までの番号が付された１１種類のハフマン符号帳（以下、ハフマンコードブック）が規定され、サブバンド毎に１１種類のハフマンコードブックの中から１つの最適ハフマンコードブックが選択される。
【００５９】
なお、量子化処理が行われなかったサブバンドは、ハフマンコードブック番号は０番となり、デコーダ側ではハフマンコードブック番号が０番のサブバンドについては復号化処理を行わない。
【００６０】
ここで、サブバンド＃ｓｂに存在するスペクトル信号である変換係数Ｘに対し、以下の式（２）で非線形量子化処理が行われ、量子化値Ｑを得る。
【００６１】
【数１】
2008083295.tif 000003
【００６２】
ここで、ＳＦ[ｓｂ]は、サブバンド＃ｓｂにおけるスケールファクタであり、ＣＳＦはコモンスケールファクタを表す。ｓｉｇｎ（Ｘ）は、サインビットである（Ｘが正の値ならｓｉｇｎ（Ｘ）＝＋１、負の値ならｓｉｇｎ（Ｘ）＝−１）。また、MAGIC NUMBERは、ＩＳＯ１３８１８−７の勧告により０．４０５４が設定される。
【００６３】
式（２）は、サブバンド内に存在するすべての変換係数それぞれについて計算される。そして、サブバンド＃ｓｂ内に存在する変換係数の個々の量子化値Ｑが求まると、量子化値Ｑにもとづき、サブバンド＃ｓｂに対して、最適なハフマンコードブックを選択し、その選択したハフマンコードブックを用いて、サブバンド＃ｓｂの量子化値のハフマン符号化を行うことになる。
【００６４】
サブバンド＃ｓｂにおける最適なハフマンコードブックの選択は以下の（Ａ）〜（Ｅ）の手順で決定される。
（Ａ）サブバンド＃ｓｂ内にｍ個存在する変換係数から、式（２）を用いてそれぞれの量子化値を算出し、求めた複数の量子化値Ｑ[ｍ]の中から，絶対値が最大のＭＡＸ＿Ｑを算出する。
【００６５】
（Ｂ）ＭＡＸ＿Ｑの値に応じたハフマンコードブックを選択する。このとき、ハフマンコードブックは複数選択される。ハフマンコードブックの番号を＃１〜＃１１とすると、具体的な選択条件は以下となる。
【００６６】
・ハフマンコードブック＃１，２：ＭＡＸ＿Ｑ＜２の時
・ハフマンコードブック＃３，４：ＭＡＸ＿Ｑ＜３の時
・ハフマンコードブック＃５，６：ＭＡＸ＿Ｑ＜５の時
・ハフマンコードブック＃７，８：ＭＡＸ＿Ｑ＜８の時
・ハフマンコードブック＃９，１０：ＭＡＸ＿Ｑ＜１３の時
・ハフマンコードブック＃１１：ＭＡＸ＿Ｑ＞＝１３の時
例えば、ＭＡＸ＿Ｑ＝２ならば、上記の条件によって、選択されるハフマンコードブックは、＃３〜＃１０までの８つのハフマンコードブックが選択され、ＭＡＸ＿Ｑ＝６ならば、選択されるハフマンコードブックは、＃７〜＃１０までの４つのハフマンコードブックが選択されることになる。つまり、ＭＡＸ＿Ｑが小さいほど選択される（候補となる）ハフマンコードブックの数が増え、符号長がより短いハフマン符号語が生成する可能性が高くなる。
【００６７】
（Ｃ）量子化値Ｑ[ｍ]を多重化し、選択した各ハフマンコードブックのインデックス値を得る。インデックス値の多重化方法はハフマンコードブック毎に異なる。以下の式（３）〜（７）にインデックス値（index）の多重化算出式を示す。
【００６８】
ハフマンコードブック＃１、＃２を選択した際のindexの計算式は、
index＝３3×Ｑ[ｉ]＋３2×Ｑ[ｉ＋１]＋３1×Ｑ[ｉ＋２]＋３0×Ｑ[ｉ＋３]＋４０                                                                          …（３）
ハフマンコードブック＃３、＃４を選択した際のindexの計算式は、
index＝３3×｜Ｑ[ｉ]｜＋３2×｜Ｑ[ｉ＋１]｜＋３1×｜Ｑ[ｉ＋２]｜＋３0×｜Ｑ[ｉ＋３]｜    …（４）
ハフマンコードブック＃５、＃６を選択した際のindexの計算式は、
index＝９×Ｑ[ｉ]＋Ｑ[ｉ＋１]＋４０    …（５）
ハフマンコードブック＃７、＃８を選択した際のindexの計算式は、
index＝８×｜Ｑ[ｉ]｜＋｜Ｑ[ｉ＋１]｜    …（６）
ハフマンコードブック＃９、＃１０を選択した際のindexの計算式は、
index＝１３×｜Ｑ[ｉ]｜＋｜Ｑ[ｉ＋１]｜    …（７）
（Ｄ）ハフマンコードブック毎のインデックス値からビット数を求める。
【００６９】
（Ｅ）ハフマン符号語のビット数が最少となるハフマンコードブック（＝最適ハフマンコードブック）の番号を決定する。
次に上記の流れに沿ったハフマンコードブックの選択処理について、具体的な例を用いて説明する。今、サブバンド＃ｓｂ内に８個の変換係数が存在し、式（２）から算出された量子化値が、Ｑ[０]＝−１、Ｑ[１]＝０、Ｑ[２]＝−２、Ｑ[３]＝１、Ｑ[４]＝＋２、Ｑ[５]＝−１、Ｑ[６]＝１、Ｑ[７]＝０であった場合を考える。
【００７０】
この場合、ＭＡＸ＿Ｑ＝２となる。したがって、（Ｂ）で示した選択条件から、量子化処理にて参照されるハフマンコードブックの番号は＃３〜＃１０までとなる。
図８は量子化値Ｑ[０]〜Ｑ[７]におけるインデックス値とハフマン符号ビット数を示すテーブルである。図９〜図１２はハフマンコードブックのテーブル値を示す図であり、ＩＳＯ１３８１８−７に規定されるハフマンコードブックの中から、図８のテーブルに関連する箇所のみ抜粋して示している。
【００７１】
図８において、テーブル欄Ｔ１について説明する。ハフマンコードブック＃３、＃４を選択した際のindexの計算式は、式（４）であるから、Ｑ[０]〜Ｑ[３]と、Ｑ[４]〜Ｑ[７]の２つに分けて式（４）が適用される。
【００７２】
Ｑ[０]〜Ｑ[３]のときのハフマンコードブック＃３、＃４のインデックス値は３４（＝２７×｜−１｜＋９×｜０｜＋３×｜−２｜＋｜１｜）であり、Ｑ[４]〜Ｑ[７]のときのハフマンコードブック＃３、＃４のインデックス値は６６（＝２７×｜２｜＋９×｜−１｜＋３×｜１｜＋｜０｜）である。
【００７３】
したがって、Ｑ[０]〜Ｑ[３]に関して、図９に示すハフマンコードブック＃３のindex＝３４の欄からlength（ビット数）を検索すると、ビット数は１０ビットとなり、Ｑ[４]〜Ｑ[７]に関して、図９に示すハフマンコードブック＃３のindex＝６６の欄からlengthを検索すると、ビット数は９ビットとなり、合計＝１９ビットとなる。
【００７４】
同様に、Ｑ[０]〜Ｑ[３]に関して、図９に示すハフマンコードブック＃４のindex＝３４の欄からlengthを検索すると、ビット数は８ビットとなり、Ｑ[４]〜Ｑ[７]に関して、図９に示すハフマンコードブック＃４のindex＝６６の欄からlengthを検索すると、ビット数は７ビットとなり、合計＝１５ビットとなる。
【００７５】
以降、ハフマンコードブック（＃５、＃６）、（＃７、＃８）、（＃９、＃１０）についても同様な処理を行うが、ハフマンコードブック（＃５、＃６）、（＃７、＃８）、（＃９、＃１０）を選択した際のindexの計算式は、式（５）〜（７）であるから、（Ｑ[０]、Ｑ[１]）、（Ｑ[２]、Ｑ[３]）、（Ｑ[４]、Ｑ[５]）、（Ｑ[６]、Ｑ[７]）と、４つに分けて式（５）〜（７）が適用されることになる（＃３、＃４と同様の選択操作を行うので説明は省略する）。
【００７６】
上記のような処理を行って得られたすべてのビット数の合計値を見てみると、ハフマンコードブック＃４のときの１５ビットが最小ビットとなっている。したがって、サブバンド＃ｓｂのハフマンコードブックには、ハフマンコードブック＃４が選択されることになる（最適ハフマンコードブック＝ハフマンコードブック＃４）。
【００７７】
また、このとき行われるハフマン符号化は、Ｑ[０]〜Ｑ[３]に関しては、図９に示すハフマンコードブック＃４のindex＝３４の欄を検索すると、codeword（ハフマンコード）はｅ８となり、Ｑ[４]〜Ｑ[７]に関しては、ハフマンコードブック＃４のindex＝６６の欄を検索すると、codewordは６ｃとなる。
【００７８】
すなわち、サブバンド＃ｓｂ内の量子化値Ｑ[０]〜Ｑ[３]は、まとめてｅ８とハフマン符号化され、サブバンド＃ｓｂ内の量子化値Ｑ[４]〜Ｑ[７]は、まとめて６ｃとハフマン符号化されることになる。
【００７９】
このような最適ハフマンコードブック選択処理及びハフマン符号化が、サブバンド毎に行われて、得られたハフマンコードを含むビットストリームが生成され、デコーダ側に送信されることになる。
【００８０】
次にオーディオ符号化装置１０のブロック構成及び動作について詳しく説明する。図１３はオーディオ符号化装置１０のブロック構成を示す図である。オーディオ符号化装置１０は、非線形量子化部１１、ハフマン符号ビット数累積処理部１２ａ、ハフマンコードブック番号ビット数算出部１２ｂ、スケールファクタ用ビット数算出部１２ｃ、合計ビット数算出部１３、判定部１４、ＣＳＦ／ＳＦ補正部１５、ハフマンコードブック番号補間部１６、ハフマン符号化部１７、ＣＳＦ／ＳＦ算出部１８、サブバンド番号制御部１９、量子化ループ制御部２０、ストリーム生成部２１、ハフマンコードブックＢ１、スケールファクタ用ハフマンコードブックＢ２から構成される。
【００８１】
なお、図１で示した量子化部１１は、非線形量子化部１１に該当し、量子化ビット数算出部１２は、ハフマン符号ビット数累積処理部１２ａ、ハフマンコードブック番号ビット数算出部１２ｂ、スケールファクタ用ビット数算出部１２ｃに該当し、ビット数予測部１３は、合計ビット数算出部１３に該当し、パラメータ更新部１５は、ＣＳＦ／ＳＦ補正部１５に該当する。以下、各構成要素の動作についてフローチャートを用いて説明する。
【００８２】
図１４、図１５はオーディオ符号化装置１０の動作を示すフローチャートである。
〔Ｓ１〕ＣＳＦ／ＳＦ算出部１８は、変換係数及びマスキング特性から、量子化値を求める際に必要なパラメータである、ＣＳＦと、各サブバンドに対応したスケールファクタＳＦ[ｓｂ]とを算出する。なお、ＳＦ[ｓｂ]は、サブバンド＃ｓｂのスケールファクタを意味する。
【００８３】
〔Ｓ２〕ハフマン符号化部１７は、最適ハフマンコードブック番号の初期化を行う。
〔Ｓ３〕量子化ループ制御部２０は、量子化のループとして、１回目の量子化処理と、２回目の量子化処理のループ制御を行うが、ステップＳ３では、１回目の量子化処理を行う。
【００８４】
１回目の量子化処理では、サブバンド番号制御部１９により、サブバンド番号＃ｓｂは、＃０、＃２、＃４、・・・というように１サブバンド置きに遷移される。すなわち、サブバンド番号制御部１９は、＃ｓｂの値を０から２、４、６、・・・と２ずつインクリメントさせる。
【００８５】
〔Ｓ４〕非線形量子化部１１は、サブバンド＃ｓｂ（＃０、＃２、＃４、・・・）内の変換係数に対する非線形量子化処理を行う。すなわち、ステップＳ１で算出されたＣＳＦ、ＳＦ［ｓｂ］と、変換係数Ｘとから、式（２）を用いて、量子化値Ｑ[ｓｂ][ｉ]を算出する。なお、Ｑ[ｓｂ][ｉ]は、サブバンド＃ｓｂに存在するｉ番目の変換係数の量子化値を意味する。
【００８６】
〔Ｓ５〕ハフマン符号化部１７は、図８で上述したような、各サブバンドにおける最適ハフマンコードブックの選択処理を行い、量子化値Ｑ[ｓｂ][ｉ]に対して、ハフマン符号化を行う。そして、ハフマンコード、ハフマンコードビット数、最適ハフマンコードブック番号を決定して出力する。
【００８７】
〔Ｓ６〕ハフマン符号ビット数累積処理部１２ａは、ｓｂ番号＝＃０から１サブバンド置きに遷移して現ｓｂ番号までに算出されたハフマンコードビット数（ハフマンコードブックに示された該当length値）の累積を行ってspec bitsを得る。すなわち、ここではサブバンド番号は＃０、＃２、＃４、・・・と偶数番目に関するハフマンコードのビット数の累積値になる。
【００８８】
〔Ｓ７〕ハフマンコードブック番号補間部１６は、サブバンド＃（ｓｂ＋１）の最適ハフマンコードブック番号を、サブバンド＃ｓｂで選択された最適ハフマンコードブックの番号と同じ番号に設定する。
【００８９】
例えば、サブバンド＃０の最適ハフマンコードブック番号が＃１であったとすると、サブバンド＃１の最適ハフマンコードブック番号は、サブバンド＃０と同じ最適ハフマンコードブック番号の＃１と設定する。同様に、サブバンド＃２の最適ハフマンコードブック番号が＃３であったとすると、サブバンド＃３の最適ハフマンコードブック番号は、サブバンド＃２と同じ最適ハフマンコードブック番号の＃３と設定する。
【００９０】
このような補間を行った後に、ハフマンコードブック番号補間部１６は、ハフマンコードブック番号情報Ｎ[ｍ]を出力する。なお、この補間処理は２回目の量子化ループ処理ではスキップされる。
【００９１】
〔Ｓ８〕ハフマンコードブック番号ビット数算出部１２ｂは、ハフマンコードブック番号情報をもとに、各サブバンドで選択されたハフマンコードブック番号において消費されるビット数（ハフマンコードブック番号を表す際に必要なビット数のこと）の合計book bitsを算出し、book bitsとハフマンコードブック番号連続数情報（図２０で後述）を出力する。
【００９２】
〔Ｓ９〕スケールファクタ用ビット数算出部１２ｃは、ＣＳＦ、ＳＦ[ｓｂ]及びスケールファクタ用ハフマンコードブックＢ２を用いて、サブバンド＃０、＃１、＃２、・・・、＃ｓｂまでのスケールファクタのビット数の合計sf bitsを算出し、スケールファクタのハフマン符号語及びsf bitsを出力する。
【００９３】
ここで、図１６にスケールファクタ用ビット数算出の概要を示す。サブバンド＃０、＃１、＃２、＃３に対して、各スケールファクタの値をＳＦ０〜ＳＦ３とし、コモンスケールファクタをＣＳＦ０とする。
【００９４】
スケールファクタ用のビット数は、隣り合うサブバンドのスケールファクタの差分をインデックスとし、スケールファクタ用ハフマンコードブックＢ２からそのインデックスに対応したハフマンコードとビット数を得ることができる。
【００９５】
この例では、サブバンド＃０〜＃３のインデックスをindex0〜index3とすると、index0＝ＣＳＦ−ＳＦ０、index1＝｜ＳＦ０−ＳＦ１｜、index2＝｜ＳＦ１−ＳＦ２｜、index3＝｜ＳＦ２−ＳＦ３｜として算出し、スケールファクタ用ハフマンコードブックＢ２からindex0〜3に対応したサブバンド＃０〜＃３それぞれのハフマンコードとビット数を得る。
【００９６】
〔Ｓ１０〕合計ビット数算出部１３は、以下の式（８）により、spec bits（ｓｂ番号＝＃０から１サブバンド置きに遷移して現ｓｂ番号までに算出されたハフマンコードビット数）を２倍し、book bits（ハフマンコードブック番号のビット数）と、sf bits（スケールファクタ用のビット数）とを加算して、現サブバンドまでに消費されると予測されるビット数の合計sum bitsを算出する。
【００９７】
sum bits＝２×spec bits＋book bits＋sf bit    …（８）
なお、ｎサブバンド置きに遷移させて量子化処理を行った場合のビット予測値sum bitsを求める式を一般化すれば以下の式（８ａ）となる。
【００９８】
sum bits＝（ｎ＋１）×spec bits＋book bits＋sf bit    …（８ａ）
ここで、ｎサブバンド置きの量子化処理を行った際の、ビット数予測が行われるサブバンドの範囲について説明する。ｎ＝１の場合、すなわち、１サブバンド置きに量子化処理を行った場合に、現在まで処理されているサブバンド番号が＃６であったとする。
【００９９】
このとき、サブバンド＃０、＃２、＃４、＃６それぞれのハフマンコードビット数を累積した値がspec bitsであり、ビット数予測時には、このハフマンコードビット数spec bitsが２倍される。
【０１００】
すると、現サブバンドは＃６までであるが、ハフマンコードの予測ビット数としては、サブバンド＃７までも含めているようにみえる。すなわち、２倍されるので、サブバンド＃０〜＃６までの７サブバンドに要するハフマンコードビット数が算出されるのではなく、実際にはサブバンド＃０〜＃７までの８サブバンド分のハフマンコードビット数を算出していることになる。
【０１０１】
しかし、ここでは量子化処理に要する大まかなビット数予測処理を行っているものであり、元々、１サブバンド置きの量子化処理をしているのだから、１サブバンド分のハフマンコードビット数が余計に含まれたとしても、予測値に大きな影響はないとみなしている。
【０１０２】
同様にして、ｎ＝２の場合について考えると、２サブバンド置きに量子化処理を行った際に、現サブバンド番号が＃９であったとする。このとき、サブバンド＃０、＃３、＃６、＃９それぞれのハフマンコードビット長の累積値がspec bitsであり、ビット数予測時には、ハフマンコードビット数に関してはspec bitsは３倍される。
【０１０３】
すると、現サブバンドは＃９までであるが、ハフマンコードの予測ビット数としては、サブバンド＃１１までも含めているようにみえる。すなわち、３倍されるので、サブバンド＃０〜＃９までの１０サブバンドに要するハフマンコードビット数が算出されるのではなく、サブバンド＃０〜＃１１までの１２サブバンド分のハフマンコードビット数を算出していることになるが、２サブバンド分のハフマンコードビット数が余計に含まれたとしても、予測値に大きな影響はないとみなしている（ｎを大きくするほど、より概略値の度合いが大きくなるのだから）。
【０１０４】
なお、ｎ＝１の例の場合のサブバンド＃０〜＃６までのビット予測値sum bitsは、２×spec bits（サブバンド＃０、＃２、＃４、＃６それぞれのハフマンコードビット数を累積したspec bitsを２倍したビット数）に対して、サブバンド＃０、＃１、＃２、＃３、＃４、＃５、＃６それぞれのハフマンコードブック番号のビット数を累積したbook bitsと、サブバンド＃０、＃１、＃２、＃３、＃４、＃５、＃６それぞれのスケールファクタ用のビット数を累積したsf bitsとを、加算して求めることになる。
【０１０５】
〔Ｓ１１〕判定部１４は、sum bitsと、あらかじめ設定された許容ビット数との比較を行う。sum bitsが許容ビット数未満のときはｓｂ番号を更新（ここでは、１つ飛びの更新なので現在のサブバンド番号を＋２する）して、次のｓｂに対しても同様の量子化処理を行い、ビット数の予測処理を継続して行う（ステップＳ３へ戻る）。また、許容ビット数以上のときは、ｓｂ番号の更新を停止して、ステップＳ１２へいく。
【０１０６】
〔Ｓ１２〕ＣＳＦ／ＳＦ補正部１５は、ステップＳ３〜Ｓ１１による量子化ループ処理の途中でビット数予測値（sum bits）が許容ビット数以上となった場合は、ＣＳＦ、ＳＦのパラメータの補正の必要ありと判断し、量子化処理のループを中断し、パラメータ補正を行う。
【０１０７】
なお、sum bitsが許容ビット数を超えないようにするための補正としては、ＳＦを小さくし、ＣＳＦを大きくすればよい。すなわち、量子化値Ｑの算出式（２）により、ＳＦ[sb]の値は小さく、ＣＳＦの値を大きくすれば、量子化値Ｑが小さくなり、量子化値Ｑが小さくなれば、ハフマン符号化で使用するハフマンコードブックの種類が増えることになるので、ビット数が小さいハフマンコードが選択される可能性が高くなる。ビット数が小さいハフマンコードが選択されると、圧縮効率が高くなるので、結果的に周波数帯域を広げることが可能になる。
【０１０８】
また、パラメータ補正を行う場合、ＩＳＯ勧告が示す従来補正では、全帯域一律にＳＦを補正しているが、本発明のＣＳＦ／ＳＦ補正部１５では、ＳＦを更新する際、サブバンド毎に更新時の重み付けを行うことにより、低域側でハフマンコードのビット数が小さくなるように調整して、高域側で使用できるビット数を残しておく。
【０１０９】
例えば、サブバンド＃０〜＃４８を低域、中域、高域の３つの周波数帯域グループに分けて、それぞれのグループ毎にＳＦの補正量を変える。具体的な例としては、サブバンド＃０〜＃９の低域サブバンドに対しては、ＳＦに−２の補正量を加算し、サブバンド＃１０〜＃２９の中域サブバンドに対してはＳＦに−１の補正量を加算し、サブバンド＃３０〜＃４８の高域サブバンドに対してはＳＦに−１の補正量を加算する。
【０１１０】
本発明で使用している量子化処理のアルゴリズムでは、サブバンド番号＝＃０（低域）から量子化処理を行っているので、ＳＦ補正の際は低域側での補正量を大きくすることにより、低域側の変換係数の量子化値Ｑを小さくし、低域側で割り当てられるビット数の消費量を抑えることができる。このことにより高域側の処理で必要なビット数が確保でき、結果的に安定した周波数特性を確保できる。
【０１１１】
また、ＣＳＦの補正については、ＳＦは該当するサブバンドの量子化値に影響を与えるのに対し、ＣＳＦはサブバンドによらず、全帯域に渡って量子化値の大きさを変更するので、ＣＳＦを大きく補正すれば、全帯域に渡って量子化値は小さくなる。
【０１１２】
次にステップＳ１３以降の動作について説明する。ステップＳ１３以降は、従来のＩＳＯ勧告にもとづく量子化処理と同様の制御であり、ステップＳ１〜ステップＳ１２の本発明の処理で決定されたＣＳＦ、ＳＦを用いて、低域のサブバンドから１つずつ順番に量子化処理を行い、ビット数の蓄積数が許容範囲内に収まるサブバンドまで量子化を行うものである（２回目の量子化処理に該当）。
【０１１３】
〔Ｓ１３〕ハフマン符号化部１７は、最適ハフマンコードブック番号の初期化を行う。
〔Ｓ１４〕量子化ループ制御部２０は、量子化のループ処理として、２回目の量子化処理を行う。ステップＳ３〜Ｓ１１の１回目の量子化処理では、サブバンド番号＃ｓｂは、＃０、＃２、＃４、・・・というように１サブバンド置きに遷移したが、２回目の量子化処理では、サブバンド番号＃ｓｂは、＃０、＃１、＃２、・・・と１つずつ順に遷移する。
【０１１４】
〔Ｓ１５〕非線形量子化部１１は、サブバンド＃ｓｂ（＃０、＃１、＃２、・・・）内の変換係数に対する非線形量子化処理を行う。すなわち、ＣＳＦ、ＳＦ［ｓｂ］と、変換係数Ｘとから、式（２）を用いて、量子化値Ｑ[ｓｂ][ｉ]を算出する。
【０１１５】
〔Ｓ１６〕ハフマン符号化部１７は、各サブバンドにおける最適ハフマンコードブックを選択し、量子化値Ｑ[ｓｂ][ｉ]に対して、ハフマン符号化を行う。そして、ハフマンコード、ハフマンコードビット数、最適ハフマンコードブック番号を決定して出力する。
【０１１６】
〔Ｓ１７〕ハフマン符号ビット数累積処理部１２ａは、ｓｂ番号＝＃０から１つずつ順に遷移して現ｓｂ番号までに算出されたハフマン符号ビット長（ハフマンコードブックに示された該当length値）の累積を行ってspec bitsを得る。
【０１１７】
〔Ｓ１８〕ハフマンコードブック番号ビット数算出部１２ｂは、ハフマンコードブック番号情報をもとに、サブバンド＃０〜＃ｓｂまでの各サブバンドで選択されたハフマンコードブック番号において消費されるビット数の合計book bitsを算出し、book bitsとハフマンコードブック番号連続数情報を出力する。
【０１１８】
〔Ｓ１９〕スケールファクタ用ビット数算出部１２ｃは、ＣＳＦ、ＳＦ[ｓｂ]及びスケールファクタ用ハフマンコードブックＢ２を用いて、サブバンド＃０〜＃ｓｂまでのスケールファクタのビット数の合計sf bitsを算出し、スケールファクタのハフマンコード及びsf bitsを出力する。
【０１１９】
〔Ｓ２０〕合計ビット数算出部１３は、式（８）を用いてsum bitsを算出する。
〔Ｓ２１〕判定部１４は、sum bitsと、あらかじめ設定された許容ビット数との比較を行う。sum bitsが許容ビット数を超える場合は、ステップＳ２２へいき、sum bitsが許容ビット数を超えない場合は、ステップＳ２３へいく。
【０１２０】
〔Ｓ２２〕ハフマン符号化部１７は、サブバンド＃ｓｂの最適ハフマンコードブック番号をクリアし、ステップＳ２４へいく。
〔Ｓ２３〕判定部１４は、sum bitsと、許容ビット数とが等しいか否かを判断する。等しくなければ（sum bitsが許容ビット数を超えない場合）ステップＳ１４へ戻り、等しければステップＳ２４へいく。
【０１２１】
〔Ｓ２４〕ＣＳＦ、ＳＦを変換する。すなわち、ＳＦ[ｉ]＝ＣＳＦ−ＳＦ[ｉ]＋OFFSET、ＣＳＦ＝ＳＦ[０]とする。そして、ここまでの量子化処理で求めたハフマンコード、ビット数等の量子化処理結果を格納する。
【０１２２】
次にＩＳＯ勧告による従来の量子化処理と、オーディオ符号化装置１０による量子化処理の違いについて図１７、図１８を用いて説明する。図１７はＩＳＯ勧告による量子化処理の概要を示す図である。ＩＳＯ勧告による量子化処理では、サブバンド＃０、＃１、＃２、・・・というように、１サブバンド毎に量子化処理に要するビット数を累積算出する（ステップＳ３１）。そして、累積ビット数と、許容ビット数とを比較し（ステップＳ３２）、累積ビット数が許容ビット数未満であれば、ビット数の累積算出を続け（ステップＳ３３）、累積ビット数が許容ビット数を超えると量子化処理を終了する（ステップＳ３４）。
【０１２３】
図１８はオーディオ符号化装置１０の量子化処理の特徴を示す図である。オーディオ符号化装置１０では、１回目の量子化処理として、サブバンド＃０、＃２、＃４、・・・というように、１サブバンド置きに量子化処理に要するビット数を累積算出する（ステップＳ４１）。そして、累積ビット数と、許容ビット数とを比較し（ステップＳ４２）、累積ビット数が許容ビット数未満であれば、ビット数の累積算出を続け（ステップＳ４３）、累積ビット数が許容ビット数を超えると、ＣＳＦ、ＳＦの補正を行って（ステップＳ４４）、１回目の量子化処理を終了する。そして、補正後のＣＳＦ、ＳＦを用いて、通常のＩＳＯ勧告による量子化処理を行う（ステップＳ４５）。
【０１２４】
以上説明したように、オーディオ符号化装置１０では、隣り合うサブバンドでは周波数成分の大きさにさほど差が無いと仮定し、量子化処理ループを２段構成とする。
１段目処理では、サブバンドを１つ置きに量子化処理を行い、ビット数を算出し、算出したビット数を２倍して、そのサブバンドまでにおけるビット数の予測を行う。そして、その予測値が許容範囲内の値か否かを評価し、予測されたビット数が許容範囲内を超えた場合はＣＳＦ及びＳＦを更新し、許容範囲内に収まる場合はＣＳＦ、ＳＦは更新しない。
【０１２５】
２段目処理では、１段目処理で決定されたＣＳＦ、ＳＦを用いて、低域のサブバンドから１つずつ順番に量子化処理を行い、ビット数の蓄積数が許容範囲内に収まるサブバンドまで量子化処理を行う。
【０１２６】
このような制御を行うことにより、量子化処理に必要なＣＳＦ、ＳＦのパラメータの最適値を早期に生成することができ、量子化処理の収束速度を高めて、音質の向上を図ることが可能になる。
【０１２７】
次に図１５のステップＳ７で上述したハフマンコードブック番号補間処理について説明する。サブバンド＃ｓｂの最適ハフマンコードブック番号を＃ａとすると、ハフマンコードブック番号補間部１６は、サブバンドをｎ個置きに量子化した際に、飛ばされたサブバンド＃（ｓｂ＋１）、＃（ｓｂ＋２）、・・・、＃（ｓｂ＋ｎ）の最適ハフマン符号帳番号は、サブバンド＃ｓｂの最適ハフマン符号帳番号と同じ＃ａに設定して、飛ばされたサブバンド＃（ｓｂ＋１）、＃（ｓｂ＋２）、・・・、＃（ｓｂ＋ｎ）の最適ハフマンコードブック番号の補間処理を行う。
【０１２８】
図１９はハフマンコードブック番号補間処理の概要を示す図である。サブバンドをｎ個置きに量子化した際のｎを、ｎ＝１、２、３の３つの場合の例を示している。
ｎ＝１の場合、すなわち、サブバンド＃０、＃２、＃４、・・・の１サブバンド置きの量子化を行う場合、サブバンド＃０のハフマンコードブック番号（最適ハフマンコードブック番号）は＃１、サブバンド＃２のハフマンコードブック番号は＃２、サブバンド＃４のハフマンコードブック番号は＃３、サブバンド＃６のハフマンコードブック番号は＃４であったとする。
【０１２９】
このとき、サブバンド＃１のハフマンコードブック番号は、直前のサブバンド＃０のハフマンコードブック番号と同じ＃１と設定する。サブバンド＃３のハフマンコードブック番号は、直前のサブバンド＃２のハフマンコードブック番号と同じ＃２と設定する。サブバンド＃５のハフマンコードブック番号は、直前のサブバンド＃４のハフマンコードブック番号と同じ＃３と設定する。サブバンド＃７のハフマンコードブック番号は、直前のサブバンド＃６のハフマンコードブック番号と同じ＃４と設定する。
【０１３０】
ｎ＝２の場合、すなわち、サブバンド＃０、＃３、＃６、＃９・・・の２サブバンド置きの量子化を行う場合、サブバンド＃０のハフマンコードブック番号（最適ハフマンコードブック番号）は＃１、サブバンド＃３のハフマンコードブック番号は＃２、サブバンド＃６のハフマンコードブック番号は＃３、サブバンド＃９のハフマンコードブック番号は＃４であったとする。
【０１３１】
このとき、サブバンド＃１、＃２のハフマンコードブック番号は、サブバンド＃０のハフマンコードブック番号と同じ＃１と設定する。サブバンド＃４、＃５のハフマンコードブック番号は、サブバンド＃３のハフマンコードブック番号と同じ＃２と設定する。サブバンド＃７、＃８のハフマンコードブック番号は、サブバンド＃６のハフマンコードブック番号と同じ＃３と設定する。サブバンド＃１０、＃１１のハフマンコードブック番号は、直前のサブバンド＃９のハフマンコードブック番号と同じ＃４と設定する。
【０１３２】
ｎ＝３も同様の考え方なので説明は省略する。また、ハフマンコードブック番号補間部１６では、ハフマンコードブック番号連続数情報を生成して、各サブバンドの最適ハフマンコードブック番号を表す。
【０１３３】
図２０はハフマンコードブック番号連続数情報のフォーマットを示す図である。ハフマンコードブック番号連続数情報は、４ビットのハフマンコードブック番号領域と、５ビットのハフマンコードブック番号連続数領域を１組みとして計９ビットとし、この組が連続して構成される。
【０１３４】
図２１はハフマンコードブック番号連続数情報の一例を示す図である。例えば、＃ｓｂ＝＃０〜＃３までのハフマンコードブック番号が＃１であり、＃１が４回連続しており、＃ｓｂ＝＃４、＃５のハフマンコードブック番号が＃３であり、＃３が２回連続しているとすると、ハフマンコードブック番号領域には＃１を示す値と、ハフマンコードブック番号連続数領域には４連続を示す値が記され、またハフマンコードブック番号領域には＃３を示す値と、ハフマンコードブック番号連続数領域には２連続を示す値が記される。
【０１３５】
このように、連続する２つのサブバンドのコードブック番号が同じであった場合、この２つのサブバンドのために要するビット消費量は９ビットとなり、連続する２つのサブバンドのコードブック番号が異なる場合は１８ビットとなる。
【０１３６】
次に補間処理を行わなかった場合と行った場合とのハフマンコードブック番号連続数情報のビット数の違いについて説明する。図２２はハフマンコードブック番号補間処理を行わなかった場合のハフマンコードブック番号連続数情報を示す図であり、図２３はハフマンコードブック番号補間処理を行った場合のハフマンコードブック番号連続数情報を示す図である。
【０１３７】
サブバンド＃０〜＃４に対して、各サブバンドで選択された最適ハフマンコードブック番号として、サブバンド＃０のハフマンコードブック番号が＃Ａ、サブバンド＃２のハフマンコードブック番号が＃Ｂ、サブバンド＃４のハフマンコードブック番号が＃Ｃであるとする。
【０１３８】
図２２の例では、全サブバンドのハフマンコードブック番号を０に初期化した後、サブバンド番号が＋２ずつ遷移して、偶数番号のサブバンドのハフマンコード番号を決定し、奇数番号のサブバンドのハフマンコードブック番号は０のままとする。
【０１３９】
このとき、もし、奇数番号のサブバンドのハフマンコードブック番号が０であることも含めてハフマンコードブック番号連続数情報を生成すると、図２２のハフマンコードブック番号連続数情報Ｄ１となる。
【０１４０】
一方、図２３のように、ハフマンコードブック番号補間を行った場合では、サブバンド＃１のハフマンコードブック番号を＃Ａ、サブバンド＃３のハフマンコードブック番号を＃Ｂ、サブバンド＃５のハフマンコードブック番号を＃Ｃと設定するので、これをハフマンコードブック番号連続数情報で表記すれば、図２３のハフマンコードブック番号連続数情報Ｄ２となる。
【０１４１】
両者を比較するとハフマンコードブック番号連続数情報Ｄ２の方がビット数がはるかに削減していることがわかる。すなわち、補間処理を行わないと、飛ばされたサブバンド毎のハフマンコードブック番号の情報に９ビットが消費されてしまうためビット数の無駄が生じるが、補間処理を行って、連続する２サブバンドについて同じハフマンコードブック番号とすることにより、無駄なビット消費が抑えられる。このようなハフマンコードブック番号補間処理によって、ハフマンコードブック番号に消費されるビット数（book bits）全体の発生を抑えることができる。
【０１４２】
次にパラメータの動的補正について説明する。ＣＳＦ／ＳＦ補正部１５は、予測ビット数が許容ビット数を越えた時のサブバンド位置により、ＳＦ、ＣＳＦのパラメータを動的に変更する。
【０１４３】
図２４はパラメータの動的補正を示す図である。サブバンド番号が大きい値の時に予測ビット数が許容ビット数を越えた場合は、ＳＦ、ＣＳＦの補正量は現状値に対して、補正量は小さくする。
【０１４４】
例えば、サブバンド＃４０のときに予測ビット数が許容ビット数を越えた場合には、低域サブバンドのＳＦの補正量を−２、中域サブバンドのＳＦの補正量を−１、高域サブバンドのＳＦの補正量を−１、ＣＳＦの補正量を＋５として、補正量は小さくする。
【０１４５】
逆に、サブバンド番号が小さい値の時に予測ビット数が許容ビット数を越えた場合は、ＳＦ、ＣＳＦの補正量は現状値に対して、補正量は大きくする。例えば、サブバンド＃２０のときに予測ビット数が許容ビット数を越えた場合には、低域サブバンドのＳＦの補正量を−３、中域サブバンドのＳＦの補正量を−２、高域サブバンドのＳＦの補正量を−１、ＣＳＦの補正量を＋７として、補正量は大きくする。
【０１４６】
このように予測ビット数が許容ビット数を超えた時のタイミングによって、ＳＦ、ＣＳＦの補正値の値を動的に変更する。これにより、量子化ノイズの過度な増加を防ぎ、音質の劣化を防止することが可能になる。
【０１４７】
次に従来の量子化処理量と、オーディオ符号化装置１０の量子化処理量との差について説明する。従来のパラメータ補正方法では、量子化処理におけるサブバンド番号の増加分は＋１であった。このため、最終のサブバンド番号でビット数の不足が発覚した場合、ＳＦ、ＣＳＦを補正して再度量子化処理を行うと、実質サブバンド数の２倍の量子化処理のループが発生していた。一方、オーディオ符号化装置１０によれば、１サブバンド置きの量子化処理とした場合、ビット数予測を行う処理ではサブバンド数の半分の回数の量子化処理が行われるため、量子化処理全体の処理量の最大値は、従来と比べて２５％程度の削減が実現できる。
【０１４８】
図２５はＩＳＯ勧告の量子化処理とオーディオ符号化装置１０の量子化処理との処理量を比較した図である。ＩＳＯ勧告の従来の量子化処理において、サブバンド＃０〜＃４８まで、１サブバンド毎に４９回の処理を行い、サブバンド＃４８の処理のときに、合計ビット数が許容ビット数を超えたとする。すると、パラメータを補正した後、再び、サブバンド＃０〜＃４８まで４９回の処理を行う。したがって、全体で９８（＝４９×２）回の処理を行うことになる。
【０１４９】
一方、オーディオ符号化装置１０の量子化処理においては、１回目の量子化処理では偶数番号のサブバンド＃０、＃２、・・・、＃４８の２５回の処理を行い、サブバンド＃４８の処理のときに、合計ビット数が許容ビット数を超えたとする。その後、パラメータを補正した後、サブバンド＃０〜＃４８まで４９回の処理を行う。したがって、全体で７４（＝２５＋４９）回の処理を行うことになる。これにより、従来の９８回の処理に対して、オーディオ符号化装置１０では７４回に処理が減っており、およそ２５％削減できていることがわかる。
【０１５０】
以上説明したように、本発明によれば、蓄積されたビット数が許容範囲内に収まるか否かを、通常の半分のサブバンド数で判断可能とし、コモンスケールファクタやスケールファクタの更新の処理を比較的早い時期に行うので、量子化処理の収束速度を速めると共に、量子化処理における周波数帯域の安定性が向上し、音質向上に寄与することが可能になる。
【０１５１】
また、本発明により処理量のピークを抑える効果があり、全体の処理量が平均化されることになる。これにより、組み込み機器向けシステムで使用されるような、処理速度の小さなプロセッサでもリアルタイム処理の実現が可能となり、装置のコストダウンに寄与できる。
【０１５２】
なお、上記では、量子化ループ制御において、サブバンド番号の増分を＋２としているが、＋２に限定するものではなく、増分を＋３または＋４等、スキップ数を任意に変えることができ、これにより使用ビット数の予測処理の処理時間をより短縮することが可能になる。ただし、この場合、ハフマンコードブック番号補間処理もスキップ数に合わせた変更が必要となる。
【０１５３】
（付記１）  音声信号の符号化を行うオーディオ符号化装置において、
サブバンド内のスペクトル信号の量子化を行って、量子化値を算出する量子化部と、
量子化処理に要する量子化ビット数として少なくとも、前記量子化値をハフマン符号化した際のビット数であるハフマン符号語ビット数を算出する量子化ビット数算出部と、
前記ハフマン符号語ビット数と、前記ハフマン符号語ビット数以外の前記量子化ビット数とを合計して、量子化処理で発生する予測ビット数を算出するビット数予測部と、
前記予測ビット数が許容ビット数の範囲内にあるか否かを判定する判定部と、
前記予測ビット数が前記許容ビット数を超えた場合には、量子化処理時のパラメータである、コモンスケールファクタ及びスケールファクタを更新するパラメータ更新部と、
を有し、
１回目の量子化処理時には、
前記量子化部は、前記サブバンドをｎ個置きに量子化し、
前記量子化ビット数算出部は、ｎ個置きの前記サブバンドから算出された前記量子化値に関する前記ハフマン符号語ビット数を算出し、
前記ビット数予測部は、（ｎ＋１）倍した前記ハフマン符号語ビット数と、前記ハフマン符号語ビット数以外の前記量子化ビット数とを合計して、前記予測ビット数を算出する、
ことを特徴とするオーディオ符号化装置。
【０１５４】
（付記２）  前記量子化ビット数算出部は、前記ハフマン符号語ビット数以外の前記量子化ビット数として、前記ハフマン符号化を行う際に複数のハフマン符号帳の中から、前記サブバンド毎に選択された最適ハフマン符号帳の番号のビット数である最適ハフマン符号帳番号ビット数と、前記サブバンド毎のスケールファクタに要するビット数であるスケールファクタ用ビット数とを算出し、１回目の量子化処理時には、前記ビット数予測部は、（ｎ＋１）倍した前記ハフマン符号語ビット数と、前記最適ハフマン符号帳番号ビット数と、前記スケールファクタ用ビット数とを合計して、前記予測ビット数を算出することを特徴とする付記１記載のオーディオ符号化装置。
【０１５５】
（付記３）  ２回目の量子化処理時には、１回目の量子化処理で更新された前記パラメータを用いて、前記量子化部は、１サブバンド毎に順に量子化し、前記量子化ビット数算出部は、１サブバンド毎に順に算出された前記量子化値に関する前記ハフマン符号語ビット数を算出し、前記ビット数予測部は、前記ハフマン符号語ビット数と、前記最適ハフマン符号帳番号ビット数と、前記スケールファクタ用ビット数とを合計して、前記予測ビット数を算出することを特徴とする付記２記載のオーディオ符号化装置。
【０１５６】
（付記４）  サブバンド番号が＃ｓｂの前記サブバンドをサブバンド＃ｓｂとし、前記サブバンド＃ｓｂの最適ハフマン符号帳番号を＃ａとすると、前記サブバンドをｎ個置きに量子化した際に、飛ばされたサブバンド＃（ｓｂ＋１）、＃（ｓｂ＋２）、・・・、＃（ｓｂ＋ｎ）の最適ハフマン符号帳番号は、前記サブバンド＃ｓｂの前記最適ハフマン符号帳番号と同じ＃ａに設定して、飛ばされた前記サブバンド＃（ｓｂ＋１）、＃（ｓｂ＋２）、・・・、＃（ｓｂ＋ｎ）の前記最適ハフマン符号帳番号の補間処理を行うハフマン符号帳番号補間部をさらに有することを特徴とする付記２記載のオーディオ符号化装置。
【０１５７】
（付記５）  前記パラメータ更新部は、前記サブバンドを低域、中域、高域の周波数帯域に分け、前記スケールファクタを更新する場合は、前記周波数帯域毎に補正量を変えて、前記スケールファクタを更新することを特徴とする付記１記載のオーディオ符号化装置。
【０１５８】
（付記６）  前記パラメータ更新部は、低域側の前記サブバンドで、前記予測ビット数が前記許容ビット数を越えた場合には、前記コモンスケールファクタ及び前記スケールファクタの補正量を大きく変更し、高域側の前記サブバンドで、前記予測ビット数が前記許容ビット数を越えた場合には、前記コモンスケールファクタ及び前記スケールファクタの補正量を小さく変更することを特徴とする付記１記載のオーディオ符号化装置。
【０１５９】
（付記７）  音声信号の符号化を行うオーディオ符号化方法において、
１回目の量子化処理では、
サブバンド内のスペクトル信号の量子化を行う際に、前記サブバンドをｎ個置きに量子化して、量子化値を算出し、
量子化処理に要する量子化ビット数として少なくとも、ｎ個置きの前記サブバンドから算出された前記量子化値に関する前記ハフマン符号語ビット数を算出し、
（ｎ＋１）倍した前記ハフマン符号語ビット数と、前記ハフマン符号語ビット数以外の前記量子化ビット数とを合計して、予測ビット数を算出し、
前記予測ビット数が許容ビット数の範囲内にあるか否かを判定し、
前記予測ビット数が前記許容ビット数を超えた場合には、量子化処理時のパラメータである、コモンスケールファクタ及びスケールファクタを更新し、
２回目の量子化処理では、更新された前記コモンスケールファクタ及び前記スケールファクタを利用して量子化処理を行う、
ことを特徴とするオーディオ符号化方法。
【０１６０】
（付記８）  前記ハフマン符号語ビット数以外の前記量子化ビット数として、前記ハフマン符号化を行う際に複数のハフマン符号帳の中から、前記サブバンド毎に選択された最適ハフマン符号帳の番号のビット数である最適ハフマン符号帳番号ビット数と、前記サブバンド毎のスケールファクタに要するビット数であるスケールファクタ用ビット数とを算出することを特徴とする付記７記載のオーディオ符号化方法。
【０１６１】
（付記９）  ２回目の量子化処理時には、１回目の量子化処理で更新された前記コモンスケールファクタ及び前記スケールファクタを用いて、１サブバンド毎に順に量子化し、１サブバンド毎に順に算出された前記量子化値に関する前記ハフマン符号語ビット数を算出し、前記ハフマン符号語ビット数と、前記最適ハフマン符号帳番号ビット数と、前記スケールファクタ用ビット数とを合計して、前記予測ビット数を算出することを特徴とする付記８記載のオーディオ符号化方法。
【０１６２】
（付記１０）  サブバンド番号が＃ｓｂの前記サブバンドをサブバンド＃ｓｂとし、前記サブバンド＃ｓｂの最適ハフマン符号帳番号を＃ａとすると、前記サブバンドをｎ個置きに量子化した際に、飛ばされたサブバンド＃（ｓｂ＋１）、＃（ｓｂ＋２）、・・・、＃（ｓｂ＋ｎ）の最適ハフマン符号帳番号は、前記サブバンド＃ｓｂの前記最適ハフマン符号帳番号と同じ＃ａに設定して、飛ばされた前記サブバンド＃（ｓｂ＋１）、＃（ｓｂ＋２）、・・・、＃（ｓｂ＋ｎ）の前記最適ハフマン符号帳番号の補間処理を行うことを特徴とする付記７記載のオーディオ符号化方法。
【０１６３】
（付記１１）  前記サブバンドを低域、中域、高域の周波数帯域に分け、前記スケールファクタを更新する場合は、前記周波数帯域毎に補正量を変えて、前記スケールファクタを更新することを特徴とする付記７記載のオーディオ符号化方法。
【０１６４】
（付記１２）  低域側の前記サブバンドで、前記予測ビット数が前記許容ビット数を越えた場合には、前記コモンスケールファクタ及び前記スケールファクタの補正量を大きく変更し、高域側の前記サブバンドで、前記予測ビット数が前記許容ビット数を越えた場合には、前記コモンスケールファクタ及び前記スケールファクタの補正量を小さく変更することを特徴とする付記７記載のオーディオ符号化方法。
【図面の簡単な説明】
【０１６５】
【図１】オーディオ符号化装置の原理図である。
【図２】フレームの概念を示す図である。
【図３】変換係数とサブバンドのイメージを示す図である。
【図４】フレームに対するコモンスケールファクタ／スケールファクタの対応関係を示す図である。
【図５】量子化の概念を示す図である。
【図６】可聴限界グラフを示す図である。
【図７】マスキングパワーしきい値を示す図である。
【図８】量子化値におけるインデックス値とハフマン符号ビット数を示すテーブルである。
【図９】ハフマンコードブックのテーブル値を示す図である。
【図１０】ハフマンコードブックのテーブル値を示す図である。
【図１１】ハフマンコードブックのテーブル値を示す図である。
【図１２】ハフマンコードブックのテーブル値を示す図である。
【図１３】オーディオ符号化装置のブロック構成を示す図である。
【図１４】オーディオ符号化装置の動作を示すフローチャートである。
【図１５】オーディオ符号化装置の動作を示すフローチャートである。
【図１６】スケールファクタ用ビット数算出の概要を示す図である。
【図１７】ＩＳＯ勧告による量子化処理の概要を示す図である。
【図１８】オーディオ符号化装置の量子化処理の特徴を示す図である。
【図１９】ハフマンコードブック番号補間処理の概要を示す図である。
【図２０】ハフマンコードブック番号連続数情報のフォーマットを示す図である。
【図２１】ハフマンコードブック番号連続数情報の一例を示す図である。
【図２２】ハフマンコードブック番号補間処理を行わなかった場合のハフマンコードブック番号連続数情報を示す図である。
【図２３】ハフマンコードブック番号補間処理を行った場合のハフマンコードブック番号連続数情報を示す図である。
【図２４】パラメータの動的補正を示す図である。
【図２５】ＩＳＯ勧告の量子化処理とオーディオ符号化装置の量子化処理との処理量を比較した図である。
【符号の説明】
【０１６６】
１０  オーディオ符号化装置
１１  量子化部
１２  量子化ビット数算出部
１３  ビット数予測部
１４  判定部
１５  パラメータ更新部
Ｂ１  ハフマン符号帳
【図１】
2008083295.tif 000004
【図２】
2008083295.tif 000005
【図３】
2008083295.tif 000006
【図４】
2008083295.tif 000007
【図５】
2008083295.tif 000008
【図６】
2008083295.tif 000009
【図７】
2008083295.tif 000010
【図８】
2008083295.tif 000011
【図９】
2008083295.tif 000012
【図１０】
2008083295.tif 000013
【図１１】
2008083295.tif 000014
【図１２】
2008083295.tif 000015
【図１３】
2008083295.tif 000016
【図１４】
2008083295.tif 000017
【図１５】
2008083295.tif 000018
【図１６】
2008083295.tif 000019
【図１７】
2008083295.tif 000020
【図１８】
2008083295.tif 000021
【図１９】
2008083295.tif 000022
【図２０】
2008083295.tif 000023
【図２１】
2008083295.tif 000024
【図２２】
2008083295.tif 000025
【図２３】
2008083295.tif 000026
【図２４】
2008083295.tif 000027
【図２５】
2008083295.tif 000028