(57)【要約】【課題】音声信号の符号化による音質劣化を低減する。【解決手段】正規化部１２は、音声信号のスペクトルS0からエンベロープENVを抽出し、そのエンベロープENVを用いてスペクトルS0を正規化する。エンベロープ強調部５１は、エンベロープENVを強調する。ノイズシェーピング部５２は、強調されたエンベロープENVである強調エンベロープDを１より大きい値で除算し、その除算結果から情報NSで特定されるノイズシェーピングGを減算する。量子化部１４は、その減算結果を量子化ビット数WLとして、その量子化ビット数WLに基づいて正規化されたスペクトルS0である正規化スペクトルS1を量子化する。多重化部５３は、情報NS、量子化された正規化スペクトルS1である量子化スペクトルQS、およびエンベロープENVを多重化する。本発明は、例えば、音声信号を符号化する符号化装置に適用することができる。【選択図】図５
2011197106.tif 000002
【特許請求の範囲】
【請求項１】
音声信号のスペクトルからエンベロープを抽出し、そのエンベロープを用いて前記スペクトルを正規化する正規化手段と、
前記エンベロープを強調するエンベロープ強調手段と、
前記エンベロープ強調手段により強調された前記エンベロープを１より大きい値で除算し、その除算結果から所定の情報により特定されるノイズシェーピングを減算するノイズシェーピング手段と、
前記ノイズシェーピング手段による減算結果を量子化ビット数として、その量子化ビット数に基づいて前記正規化手段により正規化された前記スペクトルを量子化する量子化手段と、
前記所定の情報、前記量子化手段により量子化された前記スペクトル、および前記エンベロープを多重化する多重化手段と
を備える符号化装置。
【請求項２】
前記所定の情報は、前記ノイズシェーピングの最低値と最高値を表す情報である
請求項１に記載の符号化装置。
【請求項３】
前記エンベロープ強調手段により強調された前記エンベロープに基づいて、前記所定の情報を決定する情報決定手段
をさらに備える
請求項１に記載の符号化装置。
【請求項４】
前記情報決定手段は、前回の前記量子化ビット数に基づいて前記量子化手段により量子化された前記スペクトルのビット数に基づいて、前記所定の情報を更新する
請求項３に記載の符号化装置。
【請求項５】
前記ノイズシェーピング手段は、
前記エンベロープ強調手段により強調された前記エンベロープを１より大きい第１の値で除算し、その除算結果から前記ノイズシェーピングを減算する第１の演算を行う第１の演算手段と、
前記エンベロープ強調手段により強調された前記エンベロープを１より大きい前記第１の値と異なる第２の値で除算し、その除算結果から前記ノイズシェーピングを減算する第２の演算を行う第２の演算手段と、
前記第１の演算手段または前記第２の演算手段を選択し、選択された前記第１の演算手段または前記第２の演算手段に演算を行わせる選択手段と
を備え、
前記多重化手段は、前記所定の情報、前記スペクトル、前記エンベロープ、および前記選択手段により選択された前記第１の演算手段に対応する前記第１の演算または前記第２の演算手段に対応する前記第２の演算を表す演算情報を多重化する
請求項１に記載の符号化装置。
【請求項６】
前記エンベロープ強調手段により強調された前記エンベロープに基づいて、前記所定の情報と前記演算情報を決定する情報決定手段
をさらに備え、
前記選択手段は、前記演算情報に基づいて前記第１の演算または前記第２の演算を選択する
請求項５に記載の符号化装置。
【請求項７】
前記情報決定手段は、前回の前記量子化ビット数に基づいて前記量子化手段により量子化された前記スペクトルのビット数に基づいて、少なくとも前記所定の情報を更新する
請求項６に記載の符号化装置。
【請求項８】
符号化装置が、
音声信号のスペクトルからエンベロープを抽出し、そのエンベロープを用いて前記スペクトルを正規化する正規化ステップと、
前記エンベロープを強調するエンベロープ強調ステップと、
前記エンベロープ強調ステップの処理により強調された前記エンベロープを１より大きい値で除算し、その除算結果から所定の情報により特定されるノイズシェーピングを減算するノイズシェーピングステップと、
前記ノイズシェーピングステップの処理による減算結果を量子化ビット数として、その量子化ビット数に基づいて前記正規化ステップの処理により正規化された前記スペクトルを量子化する量子化ステップと、
前記所定の情報、前記量子化ステップの処理により量子化された前記スペクトル、および前記エンベロープを多重化する多重化ステップと
を含む符号化方法。
【請求項９】
コンピュータに、
音声信号のスペクトルからエンベロープを抽出し、そのエンベロープを用いて前記スペクトルを正規化する正規化ステップと、
前記エンベロープを強調するエンベロープ強調ステップと、
前記エンベロープ強調ステップの処理により強調された前記エンベロープを１より大きい値で除算し、その除算結果から所定の情報により特定されるノイズシェーピングを減算するノイズシェーピングステップと、
前記ノイズシェーピングステップの処理による減算結果を量子化ビット数として、その量子化ビット数に基づいて前記正規化ステップの処理により正規化された前記スペクトルを量子化する量子化ステップと、
前記所定の情報、前記量子化ステップの処理により量子化された前記スペクトル、および前記エンベロープを多重化する多重化ステップと
を含む処理を実行させるためのプログラム。
【請求項１０】
多重化されている所定の情報、量子化された音声信号のスペクトル、および前記スペクトルのエンベロープから、前記所定の情報と前記エンベロープを分解する情報分解化手段と、
前記エンベロープを強調するエンベロープ強調手段と、
前記エンベロープ強調手段により強調された前記エンベロープを１より大きい値で除算し、その除算結果から前記所定の情報により特定されるノイズシェーピングを減算するノイズシェーピング手段と、
前記ノイズシェーピング手段による減算結果を量子化ビット数として用いて、多重化されている前記所定の情報、量子化された前記スペクトル、および前記エンベロープから、量子化された前記スペクトルを分解するスペクトル分解化手段と、
前記量子化ビット数に基づいて、量子化された前記スペクトルを逆量子化する逆量子化手段と、
前記エンベロープを用いて、前記逆量子化手段により逆量子化された前記スペクトルを逆正規化する逆正規化手段と
を備える復号装置。
【請求項１１】
前記所定の情報は、前記ノイズシェーピングの最低値と最高値を表す情報である
請求項１０に記載の復号装置。
【請求項１２】
前記情報分解化手段は、多重化されている前記所定の情報、前記スペクトル、前記エンベロープ、および前記ノイズシェーピング手段で行われる演算を表す演算情報から、前記所定の情報、前記エンベロープ、および前記演算情報を分解し、
前記ノイズシェーピング手段は、
前記エンベロープ強調手段により強調された前記エンベロープを１より大きい第１の値で除算し、その除算結果から前記ノイズシェーピングを減算する第１の演算を行う第１の演算手段と、
前記エンベロープ強調手段により強調された前記エンベロープを１より大きい前記第１の値と異なる第２の値で除算し、その除算結果から前記ノイズシェーピングを減算する第２の演算を行う第２の演算手段と、
前記演算情報に基づいて前記第１の演算手段または前記第２の演算手段を選択し、選択された前記第１の演算手段または前記第２の演算手段に演算を行わせる選択手段と
を備える
請求項１０に記載の符号化装置。
【請求項１３】
復号装置が、
多重化されている所定の情報、量子化された音声信号のスペクトル、および前記スペクトルのエンベロープから、前記所定の情報と前記エンベロープを分解する情報分解化ステップと、
前記エンベロープを強調するエンベロープ強調ステップと、
前記エンベロープ強調ステップの処理により強調された前記エンベロープを１より大きい値で除算し、その除算結果から前記所定の情報により特定されるノイズシェーピングを減算するノイズシェーピングステップと、
前記ノイズシェーピングステップの処理による減算結果を量子化ビット数として用いて、多重化されている前記所定の情報、量子化された前記スペクトル、および前記エンベロープから、量子化された前記スペクトルを分解するスペクトル分解化ステップと、
前記量子化ビット数に基づいて、量子化された前記スペクトルを逆量子化する逆量子化ステップと、
前記エンベロープを用いて、前記逆量子化ステップの処理により逆量子化された前記スペクトルを逆正規化する正規化ステップと
を含む復号方法。
【請求項１４】
コンピュータに、
多重化されている所定の情報、量子化された音声信号のスペクトル、および前記スペクトルのエンベロープから、前記所定の情報と前記エンベロープを分解する情報分解化ステップと、
前記エンベロープを強調するエンベロープ強調ステップと、
前記エンベロープ強調ステップの処理により強調された前記エンベロープを１より大きい値で除算し、その除算結果から前記所定の情報により特定されるノイズシェーピングを減算するノイズシェーピングステップと、
前記ノイズシェーピングステップの処理による減算結果を量子化ビット数として用いて、多重化されている前記所定の情報、量子化された前記スペクトル、および前記エンベロープから、量子化された前記スペクトルを分解するスペクトル分解化ステップと、
前記量子化ビット数に基づいて、量子化された前記スペクトルを逆量子化する逆量子化ステップと、
前記エンベロープを用いて、前記逆量子化ステップの処理により逆量子化された前記スペクトルを逆正規化する正規化ステップと
を含む処理を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、符号化装置および符号化方法、復号装置および復号方法、並びにプログラムに関し、特に、音声信号の符号化による音質劣化を低減することができるようにした符号化装置および符号化方法、復号装置および復号方法、並びにプログラムに関する。
【背景技術】
【０００２】
音声信号の符号化方法としては、一般的に、MP3（Moving Picture Experts Group Audio Layer-3）,AAC（Advanced Audio Coding）,ATRAC（Adaptive Transform Acoustic Coding）といった変換符号化方法がよく知られている。
【０００３】
図１は、音声信号を符号化する符号化装置の構成例を示すブロック図である。
【０００４】
図１の符号化装置１０は、例えばMDCT（Modified Discrete Cosine Transform）部１１、正規化部１２、ビット配分部１３、量子化部１４、および多重化部１５により構成される。
【０００５】
符号化装置１０のMDCT部１１には、音声のPCM（Pulse Code Modulation）信号が音声信号として入力される。MDCT部１１は、時間領域信号である音声信号に対してMDCTを行い、周波数領域信号であるスペクトルS0を得る。MDCT部１１は、スペクトルS0を正規化部１２に供給する。
【０００６】
正規化部１２は、スペクトルS0から、量子化ユニットと呼ばれる複数本のスペクトル単位でエンベロープENVを抽出し、ビット配分部１３と多重化部１５に供給する。また、正規化部１２は、量子化ユニットごとに、エンベロープENVを用いてスペクトルS0を正規化し、その結果得られる正規化スペクトルS1を量子化部１４に供給する。
【０００７】
ビット配分部１３は、正規化部１２からエンベロープENVが供給された場合、そのエンベロープENVに基づいて、予め設定されているビット配分アルゴリズムにしたがって、多重化部１５により生成されるビットストリームBSのビット数が所望の範囲内になるように、正規化スペクトルS1の量子化情報WLを決定する。なお、量子化情報WLとは、量子化精度を表す情報であり、ここでは、量子化ビット数である。ビット配分部１３は、量子化情報WLを量子化部１４に供給する。
【０００８】
また、前回の量子化情報WLに基づいて正規化スペクトルS1が量子化された結果得られる量子化スペクトルQSのビット数Nが量子化部１４からフィードバックされた場合には、ビット配分部１３は、そのビット数Nに基づいて、ビットストリームBSのビット数が所望の範囲内になるかどうかを判定する。ビット配分部１３は、ビットストリームBSのビット数が所望の範囲内にならないと判定された場合、ビットストリームBSのビット数が所望の範囲内になるように、量子化情報WLを新たに決定する。そして、ビット配分部１３は、新たな量子化情報WLを量子化部１４に供給する。
【０００９】
一方、ビットストリームBSのビット数が所望の範囲内になると判定された場合、ビット配分部１３は、量子化部１４に出力を指示するとともに、現在の量子化情報WLを多重化部１５に供給する。
【００１０】
量子化部１４は、ビット配分部１３から供給される量子化情報WLに基づいて、正規化部１２から供給される量子化ユニット単位の正規化スペクトルS1を量子化する。量子化部１４は、その結果得られる量子化スペクトルQSのビット数Nをビット配分部１３に供給する。量子化部１４は、ビット配分部１３から出力が指示された場合、現在の量子化情報WLに基づいて量子化された量子化スペクトルQSを多重化部１５に供給する。
【００１１】
多重化部１５は、正規化部１２から供給されるエンベロープENV、ビット配分部１３から供給される量子化情報WL、および量子化部１４から供給される量子化スペクトルQSを多重化してビットストリームBSを生成する。多重化部１５は、そのビットストリームBSを符号化結果として出力する。
【００１２】
以上のように、符号化装置１０は、エンベロープENVと量子化スペクトルQSだけでなく、量子化情報WLも含まれたビットストリームBSを生成する。これにより、ビットストリームBSの復号時に、量子化スペクトルQSから正規化スペクトルS1を復元することができる。
【００１３】
図２は、図１の多重化部１５により生成されるビットストリームBSの構成例を示す図である。
【００１４】
図２に示すように、ビットストリームBSは、スペクトルの上限値などを含むヘッダHeader、エンベロープENV、量子化情報WL、および量子化スペクトルQSにより構成される。
【００１５】
ところで、図３に示すように、エンベロープENVも量子化情報WLも、量子化ユニットごとの値である。従って、量子化スペクトルQSだけでなく、エンベロープENVと量子化情報WLも、量子化ユニット数分必要となる。よって、量子化ユニット数をUとすると、量子化情報WLを伝送するために必要なビット数NWLは、量子化情報WLのビット数と量子化ユニット数Uの乗算値となる。その結果、量子化ユニット数Uが多いと、ビット数NWLも増大する。なお、図３において、[k]のｋは、量子化ユニットのインデックスを表しており、iは任意の値を表している。ここでは、インデックスは、低域の量子化ユニットから順に、１から付与されるものとする。
【００１６】
また、エンベロープENVは、予め量子化ユニット単位のビット数が決まっている場合が多い。従って、ビット配分部１３は、量子化情報WLを変更して、量子化スペクトルQSのビット数Nを変化させることにより、ビットストリームBSのビット数を所定値に制御する。
【００１７】
図４は、図１の符号化装置１０による符号化結果を復号する復号装置の構成例を示すブロック図である。
【００１８】
図４の復号装置２０は、分解化部２１、逆量子化部２２、逆正規化部２３、および逆MDCT部２４により構成される。
【００１９】
復号装置２０の分解化部２１には、符号化装置１０による符号化結果であるビットストリームBSが入力される。分解化部２１は、ビットストリームBSから、エンベロープENVと量子化情報WLを分解する。また、分解化部２１は、量子化情報WLに基づいて、ビットストリームBSから量子化スペクトルQSを分解する。分解化部２１は、エンベロープENVを逆正規化部２３に供給し、量子化情報WLと量子化スペクトルQSを逆量子化部２２に供給する。
【００２０】
逆量子化部２２は、分解化部２１から供給される量子化情報WLに基づいて量子化スペクトルQSを逆量子化し、その結果得られる正規化スペクトルS1を逆正規化部２３に供給する。
【００２１】
逆正規化部２３は、逆量子化部２２から供給される正規化スペクトルS1を、分解化部２１から供給されるエンベロープENVを用いて逆正規化し、その結果得られるスペクトルS0を逆MDCT部２４に供給する。
【００２２】
逆MDCT部２４は、逆正規化部２３から供給される周波数領域信号であるスペクトルS0に対して逆MDCTを行い、時間領域信号である音声のPCM信号を得る。逆MDCT部２４は、音声のPCM信号を音声信号として出力する。
【００２３】
以上のように、符号化装置１０は、量子化情報WLをビットストリームBSに含めるので、符号化装置１０で量子化情報WLを任意に変化させた場合であっても、符号化対象の音声信号と復号結果の音声信号を一致させることができる。従って、符号化装置１０は、量子化情報WLを用いてビットストリームBSのビット数を制御することができる。また、符号化装置１０のみを改良し、量子化情報WLに最適値を設定することで、音質を向上させることができる。
【００２４】
しかしながら、量子化情報WLを伝送するために多くのビット数が必要になると、量子化スペクトルQSのビット数が相対的に減少し、音質劣化を招いてしまう。
【００２５】
そこで、量子化情報WLを、符号化装置および復号装置において一意に決定される固定値と、その量子化情報WLから固定値を減算した差分値に分割し、その差分値を低いビット数で符号化する方法が考案されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【００２６】
【特許文献１】特許第３１８６２９０号公報
【発明の概要】
【発明が解決しようとする課題】
【００２７】
しかしながら、差分値は量子化ユニット数分必要であるため、量子化情報WLを伝送するために必要なビット数は、充分に小さくならない。その結果、音質劣化を低減することは困難である。このことは、特に高効率符号化の実現、つまり低ビットレート化の際に大きな障害となる。
【００２８】
本発明は、このような状況に鑑みてなされたものであり、音声信号の符号化による音質劣化を低減することができるようにするものである。
【課題を解決するための手段】
【００２９】
本発明の第１の側面の符号化装置は、音声信号のスペクトルからエンベロープを抽出し、そのエンベロープを用いて前記スペクトルを正規化する正規化手段と、前記エンベロープを強調するエンベロープ強調手段と、前記エンベロープ強調手段により強調された前記エンベロープを１より大きい値で除算し、その除算結果から所定の情報により特定されるノイズシェーピングを減算するノイズシェーピング手段と、前記ノイズシェーピング手段による減算結果を量子化ビット数として、その量子化ビット数に基づいて前記正規化手段により正規化された前記スペクトルを量子化する量子化手段と、前記所定の情報、前記量子化手段により量子化された前記スペクトル、および前記エンベロープを多重化する多重化手段とを備える符号化装置である。
【００３０】
本発明の第１の側面の符号化方法およびプログラムは、本発明の第１の側面の符号化装置に対応する。
【００３１】
本発明の第１の側面においては、音声信号のスペクトルからエンベロープが抽出され、そのエンベロープを用いて前記スペクトルが正規化され、前記エンベロープが強調され、強調された前記エンベロープが１より大きい値で除算され、その除算結果から所定の情報により特定されるノイズシェーピングが減算され、その減算結果が量子化ビット数とされて、その量子化ビット数に基づいて正規化された前記スペクトルが量子化され、前記所定の情報、量子化された前記スペクトル、および前記エンベロープが多重化される。
【００３２】
本発明の第２の側面の復号装置は、多重化されている所定の情報、量子化された音声信号のスペクトル、および前記スペクトルのエンベロープから、前記所定の情報と前記エンベロープを分解する情報分解化手段と、前記エンベロープを強調するエンベロープ強調手段と、前記エンベロープ強調手段により強調された前記エンベロープを１より大きい値で除算し、その除算結果から前記所定の情報により特定されるノイズシェーピングを減算するノイズシェーピング手段と、前記ノイズシェーピング手段による減算結果を量子化ビット数として用いて、多重化されている前記所定の情報、量子化された前記スペクトル、および前記エンベロープから、量子化された前記スペクトルを分解するスペクトル分解化手段と、前記量子化ビット数に基づいて、量子化された前記スペクトルを逆量子化する逆量子化手段と、前記エンベロープを用いて、前記逆量子化手段により逆量子化された前記スペクトルを逆正規化する逆正規化手段とを備える復号装置である。
【００３３】
本発明の第２の側面の復号方法およびプログラムは、本発明の第２の側面の復号装置に対応する。
【００３４】
本発明の第２の側面においては、多重化されている所定の情報、量子化された音声信号のスペクトル、および前記スペクトルのエンベロープから、前記所定の情報と前記エンベロープが分解され、前記エンベロープが強調され、強調された前記エンベロープが１より大きい値で除算され、除算結果から前記所定の情報により特定されるノイズシェーピングが減算され、その減算結果が量子化ビット数として用いられて、多重化されている前記所定の情報、量子化された前記スペクトル、および前記エンベロープから、量子化された前記スペクトルが分解され、前記量子化ビット数に基づいて、量子化された前記スペクトルが逆量子化され、前記エンベロープを用いて、逆量子化された前記スペクトルが逆正規化される。
【００３５】
第１の側面の符号化装置および第２の側面の復号装置は、独立した装置であっても良いし、１つの装置を構成している内部ブロックであっても良い。
【発明の効果】
【００３６】
本発明の第１の側面によれば、音声信号の符号化による音質劣化を低減することができる。
【００３７】
また、本発明の第２の側面によれば、符号化による音質劣化を低減するように符号化された音声信号を復号することができる。
【図面の簡単な説明】
【００３８】
【図１】音声信号を符号化する符号化装置の構成例を示すブロック図である。
【図２】図１の多重化部により生成されるビットストリームの構成例を示す図である。
【図３】エンベロープと量子化情報を説明する図である。
【図４】図１の符号化装置による符号化結果を復号する復号装置の構成例を示すブロック図である。
【図５】本発明を適用した表示装置の第１実施の形態の構成例を示すブロック図である。
【図６】図５の多重化部により生成されるビットストリームの構成例を示す図である。
【図７】図５のエンベロープ強調部の詳細構成例を示すブロック図である。
【図８】図７のエンベロープ強調部の処理を説明する図である。
【図９】図５のノイズシェーピング部の詳細構成例を示すブロック図である。
【図１０】図９のノイズシェーピング部によるノイズシェーピングの生成方法を説明する図である。
【図１１】ノイズシェーピング部による量子化情報の生成方法を説明する図である。
【図１２】ノイズシェーピング部によるビットストリームのビット数の調整を説明する図である。
【図１３】エンベロープを強調することによる効果を説明する図である。
【図１４】エンベロープを強調することによる効果を説明する図である。
【図１５】図５の符号化装置による符号化処理を説明するフローチャートである。
【図１６】図１５のステップＳ１４の強調エンベロープ生成処理の詳細を説明するフローチャートである。
【図１７】図１５のステップＳ１５のノイズシェーピング処理の詳細を説明するフローチャートである。
【図１８】図５の符号化装置により符号化されたビットストリームを復号する復号装置の構成例を示すブロック図である。
【図１９】図１８のノイズシェーピング部の詳細構成例を示すブロック図である。
【図２０】図１８の復号装置による復号処理を説明するフローチャートである。
【図２１】図２０のステップＳ１０３のノイズシェーピング処理を説明するフローチャートである。
【図２２】本発明を適用した表示装置の第２実施の形態の構成例を示すブロック図である。
【図２３】図２２の多重化部により生成されるビットストリームの構成例を示す図である。
【図２４】図２２のノイズシェーピング部の詳細構成例を示すブロック図である。
【図２５】量子化情報の演算を複数種類用意することによる効果を説明する図である。
【図２６】エンベロープを強調することによる効果を説明する図である。
【図２７】図２２の符号化装置によるノイズシェーピング処理を説明するフローチャートである。
【図２８】図２２の符号化装置により符号化されたビットストリームを復号する復号装置の構成例を示すブロック図である。
【図２９】図２８のノイズシェーピング部の詳細構成例を示すブロック図である。
【図３０】図２８の復号装置によるノイズシェーピング処理を説明するフローチャートである。
【図３１】コンピュータの一実施の形態の構成例を示す図である。
【発明を実施するための形態】
【００３９】
＜第１実施の形態＞
［符号化装置の第１実施の形態の構成例］
図５は、本発明を適用した表示装置の第１実施の形態の構成例を示すブロック図である。
【００４０】
図５に示す構成のうち、図１の構成と同じ構成には同じ符号を付してある。重複する説明については適宜省略する。
【００４１】
図５の符号化装置５０の構成は、主に、ビット配分部１３の代わりにエンベロープ強調部５１とノイズシェーピング部５２が設けられている点、および、多重化部１５の代わりに多重化部５３が設けられている点が図１の構成と異なる。
【００４２】
エンベロープ強調部５１は、正規化部１２により抽出された量子化ユニット単位のエンベロープENV［k］を強調する。具体的には、エンベロープ強調部５１は、正規化部１２により抽出された量子化ユニット単位のエンベロープENV［k］を用いて、エンベロープENV［k］の値の増減が強調された量子化ユニット単位の強調エンベロープD［k］を生成する。そして、エンベロープ強調部５１は、その強調エンベロープD［k］をノイズシェーピング部５２に供給する。エンベロープ強調部５１の詳細については、後述する図７を参照して説明する。
【００４３】
ノイズシェーピング部５２は、例えばエンベロープ強調部５１から供給される量子化ユニット単位の強調エンベロープD［k］を2で除算した値D［k］/2から、情報NSにより特定される量子化ユニット単位のノイズシェーピングG［k］を減算する。なお、情報NSとは、全量子化ユニットのノイズシェーピングGの最低値Lと最高値Hである。ノイズシェーピング部５２は、その結果得られる値を量子化情報WL［k］として量子化部１４に供給する。
【００４４】
また、ノイズシェーピング部５２は、エンベロープ強調部５１から供給される強調エンベロープD［k］が供給された場合、その強調エンベロープD［k］に基づいて、多重化部５３により生成されるビットストリームBS´のビット数が所望の範囲内になるように、情報NSを決定する。さらに、ノイズシェーピング部５２は、前回の量子化情報WLに基づいて正規化スペクトルS1が量子化された結果得られる量子化スペクトルQS［k］のビット数Nが量子化部１４からフィードバックされた場合、そのビット数Nに基づいて、ビットストリームBS´のビット数が所望の範囲内になるかどうかを判定する。ノイズシェーピング部５２は、ビットストリームBS´のビット数が所望の範囲内にならないと判定された場合、ビットストリームBS´のビット数が所望の範囲内になるように、情報NSを新たに決定する。これにより、新たな量子化情報WLが量子化部１４に供給される。
【００４５】
一方、ビットストリームBS´のビット数が所望の範囲内になると判定された場合、ノイズシェーピング部５２は、量子化部１４に出力を指示するとともに、現在の情報NSを多重化部５３に供給する。なお、ノイズシェーピング部５２の詳細については、後述する図９を参照して説明する。
【００４６】
多重化部５３は、正規化部１２から供給されるエンベロープENV［k］、ノイズシェーピング部５２から供給される情報NS、および量子化部１４から供給される量子化スペクトルQS［k］を多重化してビットストリームBS´を生成する。多重化部５３は、そのビットストリームBS´を符号化結果として出力する。
【００４７】
以上のように、符号化装置５０は、量子化情報WLを直接制御するのではなく、量子化情報WLの生成に用いられるノイズシェーピングGを特定する情報NSを制御することにより、ビットストリームBS´のビット数を調整する。そして、符号化装置５０は、量子化情報WLの代わりに情報NSをビットストリームBS´に含める。
【００４８】
［ビットストリームの構成例］
図６は、図５の多重化部５３により生成されるビットストリームBS´の構成例を示す図である。
【００４９】
図６に示すように、ビットストリームBS´は、スペクトルの上限値などを含むヘッダHeader、エンベロープENV［k］、情報NS、および量子化スペクトルQS［k］により構成される。
【００５０】
このように、ビットストリームBS´では、量子化情報WLの代わりに、ノイズシェーピングGの最低値Lと最高値Hからなる情報NSが含まれるので、量子化情報WLの伝送のために必要なビット数は、最低値Lのビット数NLと最高値Hのビット数NHの加算値NNSとなる。従って、量子化ユニット数Uが十分大きい場合、量子化情報WLのビット数と量子化ユニット数Uの乗算値に比べて加算値NNSは十分小さくなる。即ち、符号化装置５０において量子化情報WLの伝送のために必要なビット数は、量子化情報WLがビットストリームBSに含まれる従来の場合に比べて十分小さくなる。
【００５１】
その結果、ビットストリームBS´では、従来の場合に比べて、相対的に量子化スペクトルQS［k］のビット数が多くなり、符号化による音質劣化を低減することができる。
【００５２】
［エンベロープ強調部の詳細構成例］
図７は、図５のエンベロープ強調部５１の詳細構成例を示すブロック図である。
【００５３】
図７に示すように、例えばエンベロープ強調部５１は、順方向強調部６１および逆方向強調部６２により構成される。
【００５４】
順方向強調部６１は、差分計算部７１、加算部７２、および加算量テーブル部７３により構成される。
【００５５】
順方向強調部６１の差分計算部７１は、図５の正規化部１２から供給されるインデックスk+1の量子化ユニットのエンベロープENV[k+1]から、インデックスkの量子化ユニットのエンベロープENV［k］を減算し、差分diff［k+1］を求める。差分計算部７１は、求められた差分diff［k+1］とエンベロープENV[k+1]を加算部７２に供給する。
【００５６】
加算部７２は、差分計算部７１から供給される差分diff［k+1］が正の値である場合、その差分diff［k+1］に対応する加算量を加算量テーブル部７３から読み出し、その加算量をエンベロープENV[k+1]に加算する。加算部７２は、その結果得られる値を順方向強調エンベロープDo[k+1]として逆方向強調部６２に供給する。
【００５７】
加算量テーブル部７３は、差分diffと加算量を対応付けたテーブルである加算量テーブルを記憶する。加算量テーブルには、例えば、差分diff「1」に対応して加算量「1」が登録され、差分diff「2」に対応して加算量「2」が登録されている。また、差分diff「3」に対応して加算量「3」が登録され、差分diff「4」に対応して加算量「4」が登録され、差分diff「5以上」に対応して、加算量「5」が登録される。なお、加算量テーブルの構成は、勿論、これに限定されない。
【００５８】
逆方向強調部６２は、差分計算部８１、加算部８２、および加算量テーブル部８３により構成される。
【００５９】
逆方向強調部６２の差分計算部８１は、正規化部１２から供給されるエンベロープENV[k]からエンベロープENV［k+1］を減算し、差分diff［k］を求める。差分計算部８１は、求められた差分diff［k］を加算部８２に供給する。
【００６０】
加算部８２は、差分計算部８１から供給される差分diff［k］が正の値である場合、その差分diff［k］に応じた加算量を加算量テーブル部８３から読み出す。加算部８２は、その加算量を、加算部７２から供給される順方向強調エンベロープDo[k]に加算する。加算部８２は、その結果得られる値を強調エンベロープD[k]としてノイズシェーピング部５２（図５）に供給する。
【００６１】
加算量テーブル部８３は、差分diffと加算量を対応付けたテーブルである加算量テーブルを記憶する。ここでは、加算量テーブル部７３により記憶される加算量テーブルと加算量テーブル部８３により記憶される加算テーブルは同一であるものとするが、異なっていてもよい。
【００６２】
［エンベロープ強調部の処理の説明］
図８は、図７のエンベロープ強調部５１の処理を説明する図である。
【００６３】
図８では、図８Ａに示すように、正規化部１２から供給されるエンベロープENV[i]乃至ENV[i+4]が、順に、1,5,10,5,1である場合のエンベロープ強調部５１の処理を説明する。
【００６４】
この場合、順方向強調部６１の差分計算部７１（図７）により求められる差分diff[i+1]乃至diff[i+4]は、順に、4、5、-5、-4となる。なお、差分diff[i]に関しては、iより小さいインデックスがないので、ここでは、差分diff[i]は０とする。従って、図８Ｂに示すように、順方向強調エンベロープDo[i]は1のままとなり、順方向強調エンベロープDo[i+1]は、エンベロープENV[i+1]と、差分diff[i+1]である「4」に対応する加算量「4」の加算値9となる。また、順方向強調エンベロープDo[i+2]は、エンベロープENV[i+2]と、差分diff[i+2]である「5」に対応する加算量「5」の加算値15となり、順方向強調エンベロープDo[i+3]は5のままとなる。また、順方向強調エンベロープDo[i+4]は1のままとなる。
【００６５】
また、逆方向強調部６２の差分計算部８２により求められる差分diff[i]乃至diff[i+3]は、順に、-4、-5、5、4となる。なお、差分diff[i+4]に関しては、i+4より大きいインデックスがないので、ここでは、差分diff[i+4]は０とする。従って、図８Ｃに示すように、強調エンベロープD[i]は1のままとなり、強調エンベロープD[i+1]は、順方向強調エンベロープDo[i+1]である9のままとなる。また、強調エンベロープD[i+2]は、順方向強調エンベロープDo[i+2]と、差分diff[i+2]である「5」に対応する加算量「5」の加算値20となり、強調エンベロープD[i+3]は、順方向強調エンベロープDo[i+3]と、差分diff[i+3]である「4」に対応する加算量「4」の加算値9となる。また、強調エンベロープD[i+4]は1のままとなる。
【００６６】
以上のようにして、エンベロープ強調部５１は、図８Ａに示したエンベロープENVから、そのエンベロープENVの突出部分がより強調された図８Ｃの強調エンベロープDを生成する。
【００６７】
[ノイズシェーピング部の詳細構成例]
図９は、図５のノイズシェーピング部５２の詳細構成例を示すブロック図である。
【００６８】
図９に示すように、ノイズシェーピング部５２は、NS決定部９１、ノイズシェーピング生成部９２、除算部９３、および減算部９４により構成される。
【００６９】
ノイズシェーピング部５２のNS決定部９１は、図５のエンベロープ強調部５１から各量子化ユニットの強調エンベロープD[k]が供給された場合、その強調エンベロープD[k]に基づいて、ビットストリームBS´のビット数が所望の範囲内になるように、情報NSを決定する。
【００７０】
また、NS決定部９１は、前回の情報NSで特定される量子化情報WLに基づいて量子化された量子化スペクトルQS［k］のビット数Nが、図５の量子化部１４からフィードバックされた場合、そのビット数Nに基づいて、ビットストリームBS´のビット数が所望の範囲内になるかどうかを判定する。NS決定部９１は、ビットストリームBS´のビット数が所望の範囲内にならないと判定された場合、ビットストリームBS´のビット数が所望の範囲内になるように、情報NSを新たに決定する。
【００７１】
例えば、ビットストリームBS´のビット数が所望の範囲より小さい場合、NS決定部９１は、情報NSの最高値Hを小さくする。一方、ビットストリームBS´のビット数が所望の範囲より大きい場合、NS決定部９１は、まず、最高値Hを大きくする。そして、最高値Hが大きくなってもビットストリームBS´のビット数が所望の範囲より大きい場合、NS決定部９１は、最低値Lを大きくする。NS決定部９１は、決定されたNSをノイズシェーピング生成部９２に供給する。
【００７２】
一方、ビットストリームBS´のビット数が所望の範囲内になると判定された場合、NS決定部９１は、現在の情報NSを多重化部５３（図５）に供給するとともに、量子化部１４に出力を指示する。
【００７３】
ノイズシェーピング生成部９２は、NS決定部９１から供給される情報NSに基づいて、各量子化ユニットのノイズシェーピングG[k]を生成する。具体的には、例えば、ノイズシェーピング生成部９２は、情報NSに含まれる最低値Lを、最低域、即ち最初の量子化ユニットのノイズシェーピングとし、最高値Hを、最高域、即ち最後の量子化ユニットのノイズシェーピングとする。そして、ノイズシェーピング生成部９２は、最初の量子化ユニットのノイズシェーピングと最後の量子化ユニットのノイズシェーピングを結んだ直線を量子化し、各量子化ユニットのノイズシェーピングG[k]を生成する。そして、ノイズシェーピング生成部９２は、生成されたノイズシェーピングG[k]を減算部９４に供給する。
【００７４】
除算部９３は、図５のエンベロープ強調部５１から供給される各量子化ユニットの強調エンベロープD[k]を2で除算する。除算部９３は、その結果得られる除算値D[k]/2を減算部９４に供給する。
【００７５】
減算部９４は、除算部９３から供給される除算値D[k]/2から、ノイズシェーピング生成部９２から供給されるノイズシェーピングG[k]を減算し、その結果得られる減算値を量子化情報WL[k]として量子化部１４（図５）に供給する。
【００７６】
以上のように、ノイズシェーピング部５２は、強調エンベロープD[k]を1より大きい値で除算することにより、量子化情報WLの配分をなめらかにすることができる。その結果、特定のスペクトルのみにビットが配分され、隣接するスペクトルに充分にビットが配分されない場合に比べて、復号結果の品質が向上する。
【００７７】
[ノイズシェーピング部の処理の説明]
図１０は、図９のノイズシェーピング部５２によるノイズシェーピングGの生成方法を説明する図である。
【００７８】
図１０の例では、最低値Lが1であり、最高値Hが５である。また、量子化ユニット数は5となっている。
【００７９】
図１０Ａに示すように、ノイズシェーピング生成部９２は、まず、最低値Lを最初の量子化ユニット1のノイズシェーピングG[1]とし、最高値Hを最後の量子化ユニット5のノイズシェーピングG[5]とする。そして、ノイズシェーピング生成部９２は、最初の量子化ユニット1のノイズシェーピングG[1]と最後の量子化ユニット5のノイズシェーピングG[5]を結んだ直線を得る。その後、ノイズシェーピング生成部９２は、図１０Ｂに示すように、この直線を量子化し、量子化ユニットごとのノイズシェーピングG[k]を得る。図１０Ｂの例では、ノイズシェーピングG[1]乃至G(5)は、順に、1,2,3,4,5となる。
【００８０】
なお、ノイズシェーピングGの直線の量子化は、例えば、予め決められた数式を用いて行われる。また、ノイズシェーピングGの直線の量子化は、量子化結果と情報NSを対応付けたテーブルを予め記憶しておき、情報NSに対応する量子化結果を読み出すことにより行われるようにしてもよい。
【００８１】
図１０に示すように、後方のインデックスの量子化ユニットほど、即ち高域ほど大きくなるようにノイズシェーピングG[k]が生成される場合、高域ほどS/Nを低下させることができる。これにより、高域ほど雑音が聞こえにくいという人間の聴覚特性に対応するノイズシェーピングを実現することができる。
【００８２】
従って、符号化装置５０は、図１０に示すように高域ほど大きくなるようにノイズシェーピングG[k]を生成することにより、ユーザが知覚する音質を損ねることなく、量子化スペクトルQS［k］の情報量を削減し、高効率な符号化を実現することができる。
【００８３】
図１１は、ノイズシェーピング部５２による量子化情報WLの生成方法を説明する図である。
【００８４】
図８Ｃに示した強調エンベロープD[i]乃至D[i+4]が強調エンベロープD[1]乃至D[5]としてノイズシェーピング部５２に供給された場合、図１１Ａに示すように、除算値D[1]/2乃至D[5]/2は、順に、1,4,10,4,1となる。なお、本実施の形態では、小数点以下の値は切り捨てられるものとする。
【００８５】
そして、図１０に示したノイズシェーピングG[1]乃至G[5]がノイズシェーピング生成部９２により生成される場合、図１１Ｂに示すように、量子化情報WL[1]乃至WL[5]は、順に、1,2,7,1,1となる。なお、本実施の形態では、量子化情報WL[k]が１より小さくなる場合には量子化情報WL[k]は１にされるものとする。
【００８６】
図１２は、ノイズシェーピング部５２によるビットストリームBS´のビット数の調整を説明する図である。
【００８７】
図１２に示すように、最高値Hの値を変更することにより、ビットストリームBS´のビット数を調整することができる。
【００８８】
具体的には、例えば、最低値Lが1であり、最高値Hが5である場合、量子化前のノイズシェーピングGの直線は、直線１０１となる。一方、最低値Lが1であり、最高値Hが6である場合、量子化前のノイズシェーピングGの直線は、直線１０１より傾きが大きい直線１０２となる。従って、ノイズシェーピングG[k]が大きくなり、量子化情報WL[k]が小さくなる。よって、ビットストリームBS´のビット数を小さくすることができる。
【００８９】
また、最低値Lが1であり、最高値Hが4である場合、量子化前のノイズシェーピングGの直線は、直線１０１より傾きが小さい直線１０３となる。従って、ノイズシェーピングG[k]が小さくなり、量子化情報WL[k]が大きくなる。よって、ビットストリームBS´のビット数を大きくすることができる。
【００９０】
[エンベロープを強調することによる効果]
図１３および図１４は、エンベロープENVを強調することによる効果を説明する図である。
【００９１】
図１３では、図１３Ａに示すように、エンベロープENV[1]乃至ENV[5]が、順に、16,13,10,7,2である場合について説明する。この場合、エンベロープENV[1]乃至ENV[5]が強調されずに、そのまま量子化情報WL[1]乃至WL[5]の生成に用いられると、例えばノイズシェーピングG[1]乃至G[5]の値が図１０Ｂに示したような値である場合、量子化情報WL[1]乃至WL[5]は、図１３Ｂに示すように、15,11,7,3,1となる。
【００９２】
以上のように、エンベロープENV[k]がそのまま量子化情報WL[k]の生成に用いられると、エンベロープENV[k]の波形の特性が量子化情報WL[k]の波形にも影響し、隣接する量子化ユニットの量子化情報WL[k]間の差分は、エンベロープENV[k]における差分と同等になる。なお、ノイズシェーピングG[k]の波形によっては、隣接する量子化ユニットの量子化情報WL[k]間の差分は、エンベロープENV[k]における差分より大きくなることもある。
【００９３】
これに対して、図１３Ａに示したエンベロープENV[1]乃至ENV[5]がエンベロープ強調部５１により強調されると、図１４Ａに示すように、強調エンベロープD[1]乃至D[5]は、順に、19,16,13,12,2となる。従って、図１４Ｂに示すように、除算値D[1]/2乃至D[5]/2は、順に、9,8,6,6,1となり、ノイズシェーピングG[1]乃至G[5]の値が図１０Ｂに示したような値である場合、図１４Ｃに示すように、量子化情報WL[1]乃至WL[5]は、順に、8,6,3,2,1となる。
【００９４】
以上のように、エンベロープENV[k]が強調されてから2で除算されたものが量子化情報WL[k]の生成に用いられると、隣接する量子化ユニットの量子化情報WL[k]間の差分は、比較的小さくなる。即ち、各量子化ユニットの量子化情報WL[k]は均一化される。その結果、特定のスペクトルのみにビットが配分され、隣接するスペクトルに充分にビットが配分されない場合に比べて、復号結果の品質が向上する。
【００９５】
[符号化装置の処理の説明]
図１５は、図５の符号化装置５０による符号化処理を説明するフローチャートである。この符号化処理は、例えば、音声信号が符号化装置５０に入力されたとき、開始される。
【００９６】
図１５のステップＳ１１において、符号化装置５０のMDCT部１１は、入力された時間領域信号である音声信号に対してMDCTを行い、周波数領域信号であるスペクトルS0を得る。MDCT部１１は、スペクトルS0を正規化部１２に供給する。
【００９７】
ステップＳ１２において、正規化部１２は、スペクトルS0から、量子化ユニット単位でエンベロープENV[k]を抽出し、エンベロープ強調部５１と多重化部５３に供給する。
【００９８】
ステップＳ１３において、正規化部１２は、量子化ユニットごとに、エンベロープENV[k]を用いてスペクトルS0[k]を正規化し、その結果得られる正規化スペクトルS1[k]を量子化部１４に供給する。
【００９９】
ステップＳ１４において、エンベロープ強調部５１は、エンベロープENV[k]を用いて強調エンベロープD[k]を生成する強調エンベロープ生成処理を行う。この強調エンベロープ生成処理の詳細は、後述する図１６のフローチャートを参照して説明する。
【０１００】
ステップＳ１５において、ノイズシェーピング部５２は、ステップＳ１４の強調エンベロープ生成処理により生成された強調エンベロープD[k]を2で除算した値からノイズシェーピングG[k]を減算するノイズシェーピング処理を行う。このノイズシェーピング処理の詳細は、後述する図１７のフローチャートを参照して説明する。
【０１０１】
ステップＳ１６において、多重化部５３は、正規化部１２から供給されるエンベロープENV[k]、ノイズシェーピング部５２から供給される情報NS、および量子化部１４から供給される量子化スペクトルQS[k]を多重化してビットストリームBS´を生成する。多重化部１５は、そのビットストリームBS´を符号化結果として出力する。そして処理は終了する。
【０１０２】
図１６は、図１５のステップＳ１４の強調エンベロープ生成処理の詳細を説明するフローチャートである。
【０１０３】
図１６のステップＳ２０において、エンベロープ強調部５１の順方向強調部６１の差分計算部７１（図７）は、正規化部１２から供給される量子化ユニットのエンベロープENV[1]を、そのまま順方向強調エンベロープDo[1]として逆方向強調部６２に供給する。
【０１０４】
ステップＳ２１において、順方向強調部６１は、処理対象とするエンベロープENVのインデックスｋを2に設定する。
【０１０５】
ステップＳ２２において、順方向強調部６１の差分計算部７１は、正規化部１２から供給されるエンベロープENV[k+1]からエンベロープENV［k］を減算し、差分diff［k+1］を求める。差分計算部７１は、求められた差分diff［k+1］とエンベロープENV[k+1]を加算部７２に供給する。
【０１０６】
ステップＳ２３において、加算部７２は、差分計算部７１から供給される差分diff［k+1］が０より大きいかどうか、即ち差分diff［k+1］が正の値であるかどうかを判定する。ステップＳ２３で差分diff［k+1］が０より大きいと判定された場合、ステップＳ２４において、加算部７２は、その差分diff［k+1］に対応する加算量を加算量テーブル部７３から読み出す。
【０１０７】
ステップＳ２５において、加算部７２は、エンベロープENV[k+1]とステップＳ２４で読み出された加算量を加算し、その結果得られる値を順方向強調エンベロープDo[k+1]として逆方向強調部６２に供給する。そして、処理はステップＳ２６に進む。
【０１０８】
一方、ステップＳ２３で差分diff［k+1］が 0より大きくはないと判定された場合、加算部７２は、エンベロープENV[k+1]をそのまま順方向強調エンベロープDo[k+1]として逆方向強調部６２に供給する。そして、処理はステップＳ２６に進む。
【０１０９】
ステップＳ２６において、順方向強調部６１は、処理対象とするエンベロープENVのインデックスｋが最後のインデックスEであるかどうか、即ち全ての量子化ユニットの順方向強調エンベロープDo[k]が逆方向強調部６２に供給されたかどうかを判定する。
【０１１０】
ステップＳ２６で処理対象とするエンベロープENVのインデックスｋが最後のインデックスEではないと判定された場合、ステップＳ２７において、順方向強調部６１は、インデックスｋを1だけインクリメントし、処理をステップＳ２２に戻す。これにより、処理対象とするエンベロープENVのインデックスｋが最後のインデックスEとなるまで、ステップＳ２２乃至Ｓ２７の処理が繰り返される。
【０１１１】
一方、ステップＳ２６で処理対象とするエンベロープENVのインデックスｋが最後のインデックスEであると判定された場合、ステップＳ２８において、逆方向強調部６２は、処理対象とするエンベロープENVのインデックスｋを1に設定する。
【０１１２】
ステップＳ２９において、逆方向強調部６２の差分計算部８１は、正規化部１２から供給されるエンベロープENV[k]からエンベロープENV［k+1］を減算し、差分diff［k］を求める。差分計算部８１は、求められた差分diff［k］を加算部８２に供給する。
【０１１３】
ステップＳ３０において、加算部８２は、差分計算部８１から供給される差分diff［k］が0より大きいかどうかを判定する。ステップＳ３０で差分diff［k］が0より大きいと判定された場合、ステップＳ３１において、その差分diff［k］に対応する加算量を加算量テーブル部８３から読み出す。
【０１１４】
ステップＳ３２において、加算部８２は、加算部７２から供給される順方向強調エンベロープDo[k]とステップＳ３０で読み出された加算量を加算する。加算部８２は、その結果得られる値を強調エンベロープD[k]としてノイズシェーピング部５２（図５）に供給する。そして処理はステップＳ３３に進む。
【０１１５】
一方、ステップＳ３０で差分diff［k］が０より大きくはないと判定された場合、加算部８２は、加算部７２から供給される順方向強調エンベロープDo[k]をそのまま強調エンベロープD[k]としてノイズシェーピング部５２に供給する。そして処理はステップＳ３３に進む。
【０１１６】
ステップＳ３３において、逆方向強調部６２は、処理対象とするエンベロープENVのインデックスｋが最後の1つ前のインデックスであるかどうかを判定する。ステップＳ３３で処理対象とするエンベロープENVのインデックスｋが最後の1つ前のインデックスではないと判定された場合、ステップＳ３４において、逆方向強調部６２は、処理対象とするエンベロープENVのインデックスｋを1だけインクリメントし、処理をステップＳ２９に戻す。これにより、処理対象とするエンベロープENVのインデックスｋが最後の1つ前のインデックスになるまで、ステップＳ２９乃至Ｓ３４の処理が繰り返される。
【０１１７】
一方、ステップＳ３３で処理対象とするエンベロープENVのインデックスｋが最後のインデックスEの1つ前のインデックスであると判定された場合、処理はステップＳ３５に進む。
【０１１８】
ステップＳ３５において、加算部８２は、最後のインデックスEの順方向強調エンベロープDo[E]を強調エンベロープD[E]としてノイズシェーピング部５２に供給する。そして、処理は図１５のステップＳ１４に戻り、処理はステップＳ１５に進む。
【０１１９】
図１７は、図１５のステップＳ１５のノイズシェーピング処理の詳細を説明するフローチャートである。
【０１２０】
図１７のステップＳ４１において、ノイズシェーピング部５２のNS決定部９１（図９）は、図５のエンベロープ強調部５１から供給される強調エンベロープD[k]に基づいて、ビットストリームBS´のビット数が所望の範囲内になるように、情報NSを決定する。NS決定部９１は、その情報NSをノイズシェーピング生成部９２に供給する。
【０１２１】
ステップＳ４２において、ノイズシェーピング生成部９２は、NS決定部９１から供給される情報NSに基づいて、ノイズシェーピングG[k]を生成する。そして、ノイズシェーピング生成部９２は、生成されたノイズシェーピングG[k]を減算部９４に供給する。
【０１２２】
ステップＳ４３において、除算部９３は、図５のエンベロープ強調部５１から供給される強調エンベロープD[k]を2で除算し、その結果得られる除算値D[k]/2を減算部９４に供給する。
【０１２３】
ステップＳ４４において、減算部９４は、除算部９３から供給される除算値D[k]/2から、ノイズシェーピング生成部９２から供給されるノイズシェーピングG[k]を減算する。
【０１２４】
ステップＳ４５において、減算部９４は、ステップＳ４４の処理の結果得られる減算値を量子化情報WL[k]として量子化部１４（図５）に出力する。
【０１２５】
ステップＳ４６において、NS決定部９１は、ステップＳ４５の処理により出力された量子化情報WLに基づいて量子化された量子化スペクトルQS［k］のビット数Nが、量子化部１４からフィードバックされたかどうかを判定する。
【０１２６】
ステップＳ４６でビット数Nが量子化部１４からフィードバックされていないと判定され場合、ビット数Nがフィードバックされるまで待機する。
【０１２７】
また、ステップＳ４６でビット数Nが量子化部１４からフィードバックされたと判定された場合、ステップＳ４７において、NS決定部９１は、そのビット数Nに基づいて、ビットストリームBS´のビット数が所望の範囲内になるかどうかを判定する。
【０１２８】
ステップＳ４７でビットストリームBS´のビット数が所望の範囲内にならないと判定された場合、ステップＳ４８において、NS決定部９１は、ビットストリームBS´のビット数が所望の範囲内になるように、新たな情報NSを決定する。そして、NS決定部９１は、決定された情報NSをノイズシェーピング生成部９２に供給し、処理をステップＳ４２に戻す。そして、ビットストリームBS´のビット数が所望の範囲内になるまで、ステップＳ４２乃至Ｓ４８の処理が繰り返される。
【０１２９】
一方、ステップＳ４７でビットストリームBS´のビット数が所望の範囲内になると判定された場合、ステップＳ４９において、NS決定部９１は、現在の情報NSを多重化部５３（図５）に供給するとともに、量子化部１４に出力を指示する。そして処理は図１５のステップＳ１５に戻り、ステップＳ１６に進む。
【０１３０】
［復号装置の構成例］
図１８は、図５の符号化装置５０により符号化されたビットストリームBS´を復号する復号装置の構成例を示すブロック図である。
【０１３１】
図１８に示す構成のうち、図４の構成と同じ構成には同じ符号を付してある。重複する説明については適宜省略する。
【０１３２】
図１８の復号装置１１０の構成は、主に、分解化部２１の代わりに分解化部１１１、エンベロープ強調部１１２、ノイズシェーピング部１１３、および分解化部１１４が設けられている点が図４の構成と異なる。
【０１３３】
復号装置１１０の分解化部１１１には、符号化装置５０により符号化されたビットストリームBS´が入力される。分解化部１１１は、ビットストリームBS´から、量子化ユニット単位のエンベロープENV［k］と情報NSを分解する。分解化部１１１は、エンベロープENV［k］をエンベロープ強調部１１２と逆正規化部２３に供給し、情報NSをノイズシェーピング部１１３に供給する。
【０１３４】
エンベロープ強調部１１２は、図７のエンベロープ強調部５１と同様に構成される。エンベロープ強調部１１２は、分解化部１１１から供給される量子化ユニット単位のエンベロープENV［k］を用いて量子化ユニット単位の強調エンベロープD［k］を生成し、ノイズシェーピング部１１３に供給する。
【０１３５】
ノイズシェーピング部１１３は、エンベロープ強調部１１２から供給される量子化ユニット単位の強調エンベロープD［k］を2で除算する。そして、ノイズシェーピング部１１３は、その除算値から、分解化部１１１から供給される情報NSにより特定されるノイズシェーピングG［k］を量子化ユニットごとに減算する。ノイズシェーピング部５２は、その結果得られる値を量子化情報WL［k］として分解化部１１４と逆量子化部２２に供給する。なお、ノイズシェーピング部１１３の詳細については、後述する図１９を参照して説明する。
【０１３６】
分解化部１１４は、ノイズシェーピング部１１３から供給される量子化情報WL［k］に基づいて、符号化装置５０から入力されるビットストリームBS´から量子化スペクトルQS［k］を分解する。分解化部１１４は、その量子化スペクトルQS［k］を逆量子化部２２に供給する。
【０１３７】
［ノイズシェーピング部の詳細構成例］
図１９は、図１８のノイズシェーピング部１１３の詳細構成例を示すブロック図である。
【０１３８】
図１９に示すように、ノイズシェーピング部１１３は、ノイズシェーピング生成部１２１、除算部１２２、および減算部１２３により構成される。
【０１３９】
ノイズシェーピング生成部１２１は、図１８の分解化部１１１から供給される情報NSに基づいて、図９のノイズシェーピング生成部９２と同様に、各量子化ユニットのノイズシェーピングG[k]を生成する。そして、ノイズシェーピング生成部１２１は、生成されたノイズシェーピングG[k]を減算部１２３に供給する。
【０１４０】
除算部１２２は、図１８のエンベロープ強調部１１２から供給される各量子化ユニットの強調エンベロープD[k]を2で除算し、その結果得られる除算値D[k]/2を減算部１２３に供給する。
【０１４１】
減算部１２３は、除算部１２２から供給される除算値D[k]/2から、ノイズシェーピング生成部１２１から供給されるノイズシェーピングG[k]を量子化ユニットごとに減算する。減算部１２３は、その結果得られる量子化ユニットごとの減算値を量子化情報WL[k]として分解化部１１４（図１８）に供給する。
【０１４２】
［復号装置の処理の説明］
図２０は、図１８の復号装置１１０による復号処理を説明するフローチャートである。この復号処理は、例えば、図５の符号化装置５０からビットストリームBS´が入力されたとき開始される。
【０１４３】
図２０のステップＳ１０１において、復号装置１１０の分解化部１１１（図１８）は、符号化装置５０から入力されたビットストリームBS´から、量子化ユニット単位のエンベロープENV［k］と情報NSを分解する。分解化部１１１は、エンベロープENVをエンベロープ強調部１１２と逆正規化部２３に供給し、情報NSをノイズシェーピング部１１３に供給する。
【０１４４】
ステップＳ１０２において、エンベロープ強調部１１２は、分解化部１１１から供給される量子化ユニット単位のエンベロープENV［k］を用いて、量子化ユニット単位の強調エンベロープD［k］を生成する強調エンベロープ生成処理を行う。この強調エンベロープ生成処理は、図１６の強調エンベロープ生成処理と同様であるので、説明は省略する。強調エンベロープ生成処理によって生成された強調エンベロープD［k］は、ノイズシェーピング部１１３に供給される。
【０１４５】
ステップＳ１０３において、ノイズシェーピング部１１３は、エンベロープ強調部１１２から供給される量子化ユニット単位の強調エンベロープD［k］からノイズシェーピングG［k］を減算するノイズシェーピング処理を行う。このノイズシェーピング処理の詳細は、後述する図２１のフローチャートを参照して説明する。
【０１４６】
ステップＳ１０４において、分解化部１１４は、ステップＳ１０３の処理によってノイズシェーピング部１１３から供給される量子化情報WL［k］に基づいて、符号化装置５０から入力されたビットストリームBS´から量子化スペクトルQS［k］を分解する。分解化部１１４は、その量子化スペクトルQS［k］を逆量子化部２２に供給する。
【０１４７】
ステップＳ１０５において、逆量子化部２２は、分解化部１１４から供給される量子化情報WLに基づいて量子化スペクトルQS［k］を逆量子化し、その結果得られる正規化スペクトルS1［k］を逆正規化部２３に供給する。
【０１４８】
ステップＳ１０６において、逆正規化部２３は、逆量子化部２２から供給される正規化スペクトルS1［k］を、分解化部１１１から供給されるエンベロープENV［k］によって逆正規化し、その結果得られるスペクトルS0を逆MDCT部２４に供給する。
【０１４９】
ステップＳ１０７において、逆MDCT部２４は、逆正規化部２３から供給される周波数領域信号であるスペクトルS0に対して逆MDCTを行い、時間領域信号である音声のPCM信号を得る。逆MDCT部２４は、音声のPCM信号を音声信号として出力し、処理を終了する。
【０１５０】
図２１は、図２０のステップＳ１０３のノイズシェーピング処理を説明するフローチャートである。
【０１５１】
ステップＳ１２１において、ノイズシェーピング部１１３のノイズシェーピング生成部１２１（図１９）は、図１８の分解化部１１１から供給される情報NSに基づいて、ノイズシェーピングG[k]を生成する。そして、ノイズシェーピング生成部１２１は、生成されたノイズシェーピングG[k]を減算部１２３に供給する。
【０１５２】
ステップＳ１２２において、除算部１２２は、図１８のエンベロープ強調部１１２から供給される強調エンベロープD[k]を2で除算し、その結果得られる除算値D[k]/2を減算部１２３に供給する。
【０１５３】
ステップＳ１２３において、減算部１２３は、除算部１２２から供給される除算値D[k]/2から、ノイズシェーピング生成部１２１から供給されるノイズシェーピングG[k]を減算する。
【０１５４】
ステップＳ１２４において、減算部１２３は、ステップＳ１２３の処理により得られる減算値を量子化情報WL[k]として分解化部１１４（図１８）に供給する。そして、処理は、図２０のステップＳ１０３に戻り、ステップＳ１０４に進む。
【０１５５】
＜第２実施の形態＞
［符号化装置の第２実施の形態の構成例］
図２２は、本発明を適用した表示装置の第２実施の形態の構成例を示すブロック図である。
【０１５６】
図２２に示す構成のうち、図５の構成と同じ構成には同じ符号を付してある。重複する説明については適宜省略する。
【０１５７】
図２２の符号化装置１５０の構成は、主に、ノイズシェーピング部５２、多重化部５３の代わりにノイズシェーピング部１５１、多重化部１５２が設けられている点が図５の構成と異なる。符号化装置１５０は、量子化情報WLの演算を複数種類有し、使用された演算を表す演算情報Pを情報NSとともに情報NS´として符号化結果に含める。
【０１５８】
具体的には、符号化装置１５０のノイズシェーピング部１５１は、エンベロープ強調部５１から供給される量子化ユニット単位の強調エンベロープD［k］と、情報NSにより特定される量子化ユニット単位のノイズシェーピングG［k］とを用いて、所定の演算により量子化情報WL［k］を求める。
【０１５９】
また、ノイズシェーピング部１５１は、エンベロープ強調部５１から供給される強調エンベロープD［k］が供給された場合、その強調エンベロープD［k］と多重化部１５２により生成されるビットストリームBS´´のビット数の所望の範囲とに基づいて、量子化情報WLの演算を用意されている複数の中から選択する。また、ノイズシェーピング部１５１は、選択された演算に対応付けて予め設定されている情報NSの初期値を現在の情報NSに設定する。
【０１６０】
さらに、ノイズシェーピング部１５１は、前回の量子化情報WLに基づいて正規化スペクトルS1が量子化された結果得られる量子化スペクトルQS［k］のビット数Nが量子化部１４からフィードバックされた場合、そのビット数Nに基づいて、ビットストリームBS´´のビット数が所望の範囲内になるかどうかを判定する。ノイズシェーピング部１５１は、ビットストリームBS´´のビット数が所望の範囲内にないと判定された場合、ビットストリームBS´´のビット数が所望の範囲内になるように、情報NSを更新する。これにより、新たな量子化情報WLが量子化部１４に供給される。
【０１６１】
一方、ビットストリームBS´´のビット数が所望の範囲内にあると判定された場合、ノイズシェーピング部１５１は、量子化部１４に出力を指示するとともに、現在の情報NSと量子化情報WLの演算を表す演算情報Pを情報NS´として多重化部１５２に供給する。
【０１６２】
多重化部１５２は、正規化部１２から供給されるエンベロープENV［k］、ノイズシェーピング部１５１から供給される情報NS´、および量子化部１４から供給される量子化スペクトルQS［k］を多重化してビットストリームBS´´を生成する。多重化部１５２は、そのビットストリームBS´´を符号化結果として出力する。
【０１６３】
［ビットストリームの構成例］
図２３は、図２２の多重化部１５２により生成されるビットストリームBS´´の構成例を示す図である。
【０１６４】
図２３に示すように、ビットストリームBS´´は、スペクトルの上限値などを含むヘッダHeader、エンベロープENV［k］、情報NS´、および量子化スペクトルQS［k］により構成される。
【０１６５】
[ノイズシェーピング部の詳細構成例]
図２４は、図２２のノイズシェーピング部１５１の詳細構成例を示すブロック図である。
【０１６６】
図２４に示す構成のうち、図９の構成と同じ構成には同じ符号を付してある。重複する説明については適宜省略する。
【０１６７】
図２４のノイズシェーピング部１５１の構成は、主に、NS決定部９１の代わりにNS´決定部１６１が設けられている点、新たにスイッチ部１６２が設けられている点、および、除算部９３と減算部９４の代わりにWL演算部１６３−１乃至１６３−４が設けられている点が図９の構成と異なる。
【０１６８】
ノイズシェーピング部１５１のNS´決定部１６１は、図２２のエンベロープ強調部５１から各量子化ユニットの強調エンベロープD[k]が供給された場合、その強調エンベロープD[k]とビットストリームBS´´のビット数の所望の範囲に基づいて、WL演算部１６３−１乃至１６３−４に対応する量子化情報WLの演算のいずれかを選択する。そして、NS´決定部１６１は、選択された演算を表す演算情報Pをスイッチ部１６２に供給する。また、NS´決定部１６１は、その演算情報Pが表す演算に対応付けて予め設定されている情報NSの初期値を現在の情報NSに決定し、ノイズシェーピング生成部９２に供給する。
【０１６９】
さらに、NS´決定部１６１は、前回の情報NSと演算情報Pで特定される量子化情報WLに基づいて量子化された量子化スペクトルQS［k］のビット数Nが、図２２の量子化部１４からフィードバックされた場合、そのビット数Nに基づいて、ビットストリームBS´´のビット数が所望の範囲内になるかどうかを判定する。NS´決定部１６１は、ビットストリームBS´´のビット数が所望の範囲内にならないと判定された場合、ビットストリームBS´´のビット数が所望の範囲内になるように、情報NSを新たに決定し、ノイズシェーピング生成部９２に供給する。
【０１７０】
一方、ビットストリームBS´´のビット数が所望の範囲内になると判定された場合、NS´決定部１６１は、現在の情報NSと演算情報Pを情報NS´として多重化部１５２（図２２）に供給するとともに、量子化部１４に出力を指示する。
【０１７１】
以上のように、NS´決定部１６１は、量子化情報WLの演算の選択によってビットストリームBS´´の大まかな制御を行った後、情報NSによって細かな制御を行う。なお、量子化部１４からビット数Nがフィードバックされた場合、そのビット数Nに基づいて情報NSだけでなく、演算情報Pも更新されるようにしてもよい。
【０１７２】
スイッチ部１６２（選択手段）は、NS´決定部１６１から供給される演算情報Pに基づいて、WL演算部１６３−１乃至１６３−４の中から、その演算情報Pが表す演算で量子化情報WLを求めるWL演算部を選択する。スイッチ部１６２は、選択されたWL演算部１６３−１乃至１６３−４のいずれかにノイズシェーピング生成部９２により生成されたノイズシェーピングG[k]を供給することにより、演算を行わせる。
【０１７３】
WL演算部１６３−１は、図２２のエンベロープ強調部５１から供給される強調エンベロープD[k]から、スイッチ部１６２から供給されるノイズシェーピングG[k]を減算し、その減算値を量子化情報WL[k]とする。即ち、WL演算部１６３−１は、WL[k]=D[k]-G[k]という演算で量子化情報WL[k]を求める。WL演算部１６３−１は、その量子化情報WL[k]を量子化部１４（図２２）に供給する。
【０１７４】
WL演算部１６３−２は、図９の除算部９３と減算部９４を有する。WL演算部１６３−２は、エンベロープ強調部５１から供給される強調エンベロープD[k]を2で除算する。そして、WL演算部１６３−２は、その結果得られる除算値から、スイッチ部１６２から供給されるノイズシェーピングG[k]を減算し、その減算値を量子化情報WL[k]とする。即ち、WL演算部１６３−２は、WL[k]=D[k]/2-G[k]という演算で量子化情報WL[k]を求める。WL演算部１６３−２は、その量子化情報WL[k]を量子化部１４に供給する。
【０１７５】
WL演算部１６３−３は、エンベロープ強調部５１から供給される強調エンベロープD[k]を3で除算する。そして、WL演算部１６３−３は、その結果得られる除算値から、スイッチ部１６２から供給されるノイズシェーピングG[k]を減算し、その減算値を量子化情報WL[k]とする。即ち、WL演算部１６３−３は、WL[k]=D[k]/3-G[k]という演算で量子化情報WL[k]を求める。WL演算部１６３−３は、その量子化情報WL[k]を量子化部１４に供給する。
【０１７６】
WL演算部１６３−４は、エンベロープ強調部５１から供給される強調エンベロープD[k]を4で除算する。そして、WL演算部１６３−４は、その結果得られる除算値から、スイッチ部１６２から供給されるノイズシェーピングG[k]を減算し、その減算値を量子化情報WL[k]とする。即ち、WL演算部１６３−４は、WL[k]=D[k]/4-G[k]という演算で量子化情報WL[k]を生成する。WL演算部１６３−４は、その量子化情報WL[k]を量子化部１４に供給する。
【０１７７】
[量子化情報の演算を複数種類用意することによる効果]
図２５は、量子化情報WLの演算を複数種類用意することによる効果を説明する図である。
【０１７８】
図２５では、図８Ｃに示した強調エンベロープD[i]乃至D[i+4]がノイズシェーピング部１５１に入力され、図１０Ｂに示したノイズシェーピングG[k]がノイズシェーピング部１５１で生成される場合について説明する。
【０１７９】
この場合、図２５Ａに示すように、WL演算部１６３−１により生成される量子化情報WL[i]乃至WL[i+4]は、順に、1,7（=9-2）,17（=20-3）,5（=9-4）,1になる。従って、量子化情報WL[i]乃至WL[i+4]の最大値は17であり、量子化情報WL[i]乃至WL[i+4]の平均値は、6.2(=(1+7+17+5+1)/5となる。ここで、各量子化ユニットが2本のスペクトルにより構成されるとすると、インデックスi乃至i+4の量子化ユニットのスペクトルの総使用ビット数は62(=6.2×2×5)ビットとなる。
【０１８０】
また、図２５Ｂに示すように、WL演算部１６３−２により生成される量子化情報WL[i]乃至WL[i+4]は、順に、1,2（≒9/2-2）,7（=20/2-3）,1,1になる。従って、図２５Ｂに示すように、WL演算部１６３−２により生成される量子化情報WL[i]乃至WL[i+4]は、図２５Ａの場合に比べて平坦化している。また、量子化情報WL[i]乃至WL[i+4]の最大値は7であり、量子化情報WL[i]乃至WL[i+4]の平均値は、2.4(=(1+2+7+1+1)/5となる。ここで、各量子化ユニットが2本のスペクトルにより構成されるとすると、インデックスi乃至i+4の量子化ユニットのスペクトルの総使用ビット数は24(=2.4×2×5)ビットとなる。
【０１８１】
さらに、図２５Ｃに示すように、WL演算部１６３−３により生成される量子化情報WL[i]乃至WL[i+4]は、順に、1,1（=9/3-2）,3（=20/3-3）,1,1になる。従って、図２５Ｃに示すように、WL演算部１６３−３により生成される量子化情報WL[i]乃至WL[i+4]は、図２５Ｂの場合に比べてさらに平坦化している。また、量子化情報WL[i]乃至WL[i+4]の最大値は3であり、量子化情報WL[i]乃至WL[i+4]の平均値は、1.4(=(1+1+3+1+1)/5となる。ここで、各量子化ユニットが2本のスペクトルにより構成されるとすると、インデックスi乃至i+4の量子化ユニットのスペクトルの総使用ビット数は14(=1.4×2×5)ビットとなる。
【０１８２】
また、図２５Ｄに示すように、WL演算部１６３−４により生成される量子化情報WL[i]乃至WL[i+4]は、順に、1,1,2（=20/4-3）,1,1になる。従って、図２５Ｄに示すように、WL演算部１６３−４により生成される量子化情報WL[i]乃至WL[i+4]は、図２５Ｃの場合に比べてさらに平坦化している。量子化情報WL[i]乃至WL[i+4]の最大値は2であり、量子化情報WL[i]乃至WL[i+4]の平均値は、1.2(=(1+1+2+1+1)/5となる。ここで、各量子化ユニットが2本のスペクトルにより構成されるとすると、インデックスi乃至i+4の量子化ユニットのスペクトルの総使用ビット数は12(=1.2×2×5)ビットとなる。
【０１８３】
以上のように、符号化装置１５０は、量子化情報WLの演算として上述した４種類の演算を用意することで、ノイズシェーピングGを変更せずに、ビット数Nを変化させることができる。その結果、ノイズシェーピングGのみを用いてビット数Nを調整する場合に比べて、ビット数Nの調整の自由度が向上する。
【０１８４】
また、WL演算部１６３−１、WL演算部１６３−２、WL演算部１６３−３、WL演算部１６３−４順で、スペクトルが集中している量子化ユニットにビットがより重点的に配分される。さらに、WL演算部１６３−４、WL演算部１６３−３、WL演算部１６３−２、WL演算部１６３−１の順で、ビット配分をより平坦化することができる。但し、符号化装置１５０では、エンベロープENV[k]が強調されるため、ビット配分がより平坦化される場合であっても、スペクトルが集中している量子化ユニットには、周辺の量子化ユニットに比べてより多くのビットが配分される。よって、符号化装置１５０は、量子化情報WLの演算として上述した４種類の演算を用意することで、スペクトルが集中している量子化ユニットへのビット配分の集中度を制御することができる。
【０１８５】
以上のように、符号化装置１５０では、ビット数Nの調整の自由度が向上するとともに、スペクトルが集中している量子化ユニットへのビット配分の集中度を制御することができるので、量子化情報WL[k]を直接制御する場合と同様なビット調整を行うことが可能となる。即ち、符号化装置１５０では、符号化装置５０と同様に音声信号の符号化による音質劣化を低減するとともに、量子化情報WL[k]を直接制御する場合と同様なビット調整を行うことが可能となる。
【０１８６】
[エンベロープを強調することによる効果の説明]
図２６は、エンベロープENVを強調することによる効果を説明する図である。
【０１８７】
図２６では、図８Ａに示したエンベロープENV[i]乃至ENV[i+4]が抽出される場合について説明する。この場合、図２６Ａに示すように、WL演算部１６３−１により生成される量子化情報WL[i]乃至WL[i+4]は、順に、1,3（=5-2）,7（=10-3）,1（=5-4）,1になる。また、図２６Ｂに示すように、WL演算部１６３−２により生成される量子化情報WL[i]乃至WL[i+4]は、順に、1,1,2（=10/2-3）,1,1になる。図２６Ｃに示すように、WL演算部１６３−３により生成される量子化情報WL[i]乃至WL[i+4]は、順に、1,1,1,1,1になる。図２６Ｄに示すように、WL演算部１６３−４により生成される量子化情報WL[i]乃至WL[i+4]は、順に、1,1,1,1,1になる。
【０１８８】
以上のように、エンベロープENVが強調されずにそのまま用いられると、隣接する量子化ユニットの量子化情報WL間の差が小さくなるため、ビット配分が平坦化する。従って、量子化情報WLの演算の種類を変化させても、ビット調整の自由度は向上しにくい。
【０１８９】
[符号化装置の処理の説明]
図２２の符号化装置１５０による符号化処理は、図１５のステップＳ１５のノイズシェーピング処理を除いて、図１５の符号化処理と同様であるので、ノイズシェーピング処理についてのみ説明する。
【０１９０】
図２７は、図２２の符号化装置１５０によるノイズシェーピング処理を説明するフローチャートである。
【０１９１】
図２７のステップＳ１５１において、ノイズシェーピング部１５１のNS´決定部１６１（図２４）は、図２２のエンベロープ強調部５１から供給される強調エンベロープD[k]に基づいて、情報NSと演算を決定する。
【０１９２】
具体的には、NS´決定部１６１は、強調エンベロープD[k]とビットストリームBS´´のビット数の所望の範囲に基づいて、WL演算部１６３−１乃至１６３−４に対応する量子化情報WLの演算のいずれかを選択する。そして、NS´決定部１６１は、選択された演算を表す演算情報Pをスイッチ部１６２に供給する。また、NS´決定部１６１は、その演算情報Pが表す演算に対応付けて予め設定されている情報NSの初期値を現在の情報NSに決定し、ノイズシェーピング生成部９２に供給する。
【０１９３】
ステップＳ１５２において、ノイズシェーピング生成部９２は、NS´決定部１６１から供給される情報NSに基づいて、ノイズシェーピングG[k]を生成する。そして、ノイズシェーピング生成部９２は、生成されたノイズシェーピングG[k]をスイッチ部１６２に供給する。
【０１９４】
ステップＳ１５３において、スイッチ部１６２は、NS´決定部１６１から供給される演算情報Pが表す演算がWL演算部１６３−１で行われる演算であるかどうかを判定する。
【０１９５】
ステップＳ１５３で演算情報Pが表す演算がWL演算部１６３−１で行われる演算であると判定された場合、スイッチ部１６２は、ノイズシェーピング生成部９２から供給されるノイズシェーピングG[k]をWL演算部１６３−１に供給する。そして、ステップＳ１５４において、WL演算部１６３−１は、エンベロープ強調部５１から供給される強調エンベロープD[k]から、スイッチ部１６２から供給されるノイズシェーピングG[k]を減算する。そして、WL演算部１６３−１は、その減算値を量子化情報WL[k]として量子化部１４（図２２）に供給し、処理をステップＳ１６３に進める。
【０１９６】
一方、ステップＳ１５３で演算情報Pが表す演算がWL演算部１６３−１で行われる演算ではないと判定された場合、ステップＳ１５５において、スイッチ部１６２は、NS´決定部１６１から供給される演算情報Pが表す演算がWL演算部１６３−２で行われる演算であるかどうかを判定する。
【０１９７】
ステップＳ１５５で演算情報Pが表す演算がWL演算部１６３−２で行われる演算であると判定された場合、スイッチ部１６２は、ノイズシェーピング生成部９２から供給されるノイズシェーピングG[k]をWL演算部１６３−２に供給する。そして、ステップＳ１５６において、WL演算部１６３−２は、エンベロープ強調部５１から供給される強調エンベロープD[k]を2で除算する。
【０１９８】
ステップＳ１５７において、WL演算部１６３−２は、ステップＳ１５６の処理の結果得られる除算値から、スイッチ部１６２から供給されるノイズシェーピングG[k]を減算する。そして、WL演算部１６３−２は、その減算値を量子化情報WL[k]として量子化部１４に供給し、処理をステップＳ１６３に進める。
【０１９９】
また、ステップＳ１５５で演算情報Pが表す演算がWL演算部１６３−２で行われる演算ではないと判定された場合、ステップＳ１５８において、スイッチ部１６２は、NS´決定部１６１から供給される演算情報Pが表す演算がWL演算部１６３−３で行われる演算であるかどうかを判定する。
【０２００】
ステップＳ１５８で演算情報Pが表す演算がWL演算部１６３−３で行われる演算であると判定された場合、スイッチ部１６２は、ノイズシェーピング生成部９２から供給されるノイズシェーピングG[k]をWL演算部１６３−３に供給する。そして、ステップＳ１５９において、WL演算部１６３−３は、エンベロープ強調部５１から供給される強調エンベロープD[k]を3で除算する。
【０２０１】
ステップＳ１６０において、WL演算部１６３−３は、ステップＳ１５９の処理の結果得られる除算値から、スイッチ部１６２から供給されるノイズシェーピングG[k]を減算する。そして、WL演算部１６３−３は、その減算値を量子化情報WL[k]として量子化部１４に供給し、処理をステップＳ１６３に進める。
【０２０２】
一方、ステップＳ１５８で演算情報Pが表す演算がWL演算部１６３−３で行われる演算ではないと判定された場合、即ち演算情報Pが表す演算がWL演算部１６３−４で行われる演算である場合、スイッチ部１６２は、ノイズシェーピング生成部９２から供給されるノイズシェーピングG[k]をWL演算部１６３−４に供給する。そして、ステップＳ１６１において、WL演算部１６３−４は、エンベロープ強調部５１から供給される強調エンベロープD[k]を4で除算する。
【０２０３】
ステップＳ１６２において、WL演算部１６３−４は、ステップＳ１６１の処理の結果得られる除算値から、スイッチ部１６２から供給されるノイズシェーピングG[k]を減算する。そして、WL演算部１６３−４は、その減算値を量子化情報WL[k]として量子化部１４に供給し、処理をステップＳ１６３に進める。
【０２０４】
ステップＳ１６３において、NS´決定部１６１は、ステップＳ１５４，Ｓ１５７，Ｓ１６０、またはＳ１６２の処理により量子化部１４に供給された量子化情報WLに基づいて量子化された量子化スペクトルQS［k］のビット数Nが、量子化部１４からフィードバックされたかどうかを判定する。
【０２０５】
ステップＳ１６３でビット数Nが量子化部１４からフィードバックされていないと判定され場合、ビット数Nがフィードバックされるまで待機する。
【０２０６】
また、ステップＳ１６３でビット数Nが量子化部１４からフィードバックされたと判定された場合、ステップＳ１６４において、NS´決定部１６１は、そのビット数Nに基づいて、ビットストリームBS´´のビット数が所望の範囲内になるかどうかを判定する。
【０２０７】
ステップＳ１６４でビットストリームBS´´のビット数が所望の範囲内にならないと判定された場合、ステップＳ１６５において、NS´決定部１６１は、ビットストリームBS´´のビット数が所望の範囲内になるように、新たな情報NSを決定する。そして、NS´決定部１６１は、決定された情報NSをノイズシェーピング生成部９２に供給し、処理をステップＳ１５２に戻す。そして、ビットストリームBS´´のビット数が所望の範囲内になるまで、ステップＳ１５２乃至Ｓ１６５の処理が繰り返される。
【０２０８】
一方、ステップＳ１６４でビットストリームBS´´のビット数が所望の範囲内になると判定された場合、ステップＳ１６６において、NS´決定部１６１は、現在の情報NSと演算情報Pを情報NS´として多重化部１５２（図２２）に供給するとともに、量子化部１４に出力を指示する。そして処理は図１５のステップＳ１５に戻り、ステップＳ１６に進む。
【０２０９】
［復号装置の構成例］
図２８は、図２２の符号化装置１５０により符号化されたビットストリームBS´´を復号する復号装置の構成例を示すブロック図である。
【０２１０】
図２８に示す構成のうち、図１８の構成と同じ構成には同じ符号を付してある。重複する説明については適宜省略する。
【０２１１】
図２８の復号装置２１０の構成は、主に、分解化部１１１、ノイズシェーピング部１１３、分解化部１１４の代わりに分解化部２１１、ノイズシェーピング部２１２、分解化部２１３が設けられている点が図１８の構成と異なる。
【０２１２】
復号装置２１０の分解化部２１１には、符号化装置１５０により符号化されたビットストリームBS´´が入力される。分解化部２１１は、ビットストリームBS´´から、量子化ユニット単位のエンベロープENV［k］と情報NS´を分解する。分解化部２１１は、エンベロープENVをエンベロープ強調部１１２と逆正規化部２３に供給し、情報NS´をノイズシェーピング部２１２に供給する。
【０２１３】
ノイズシェーピング部２１２は、エンベロープ強調部１１２により生成された量子化ユニット単位の強調エンベロープD［k］と、分解化部２１１からの情報NS´のうちのNSにより特定される量子化ユニット単位のノイズシェーピングG［k］を用いて、情報NS´のうちの演算情報Pが表す演算を行うことにより、量子化情報WL［k］を生成する。ノイズシェーピング部２１２は、その量子化情報WL［k］を分解化部２１３と逆量子化部２２に供給する。なお、ノイズシェーピング部２１２の詳細については、後述する図２９を参照して説明する。
【０２１４】
分解化部２１３は、ノイズシェーピング部２１２から供給される量子化情報WL［k］に基づいて、符号化装置１５０から入力されるビットストリームBS´´から量子化スペクトルQS［k］を分解する。分解化部２１３は、その量子化スペクトルQS［k］を逆量子化部２２に供給する。
【０２１５】
［ノイズシェーピング部の詳細構成例］
図２９は、図２８のノイズシェーピング部２１２の詳細構成例を示すブロック図である。
【０２１６】
図２９に示す構成のうち、図１９の構成と同じ構成には同じ符号を付してある。重複する説明については適宜省略する。
【０２１７】
図２９のノイズシェーピング部２１２の構成は、主に、新たにスイッチ部２２１が設けられている点、除算部１２２と減算部１２３の代わりにWL演算部２２２−１乃至２２２−４が設けられている点が図１９の構成と異なる。
【０２１８】
スイッチ部２２１（選択手段）は、図２４のスイッチ部１６２と同様に構成される。スイッチ部２２１には、分解化部２１１から供給される情報NS´のうちの情報NSに基づいてノイズシェーピング生成部１２１により生成されたノイズシェーピングG[k]が入力される。また、スイッチ部２２１には、分解化部２１１から供給される情報NS´のうちの演算情報Pが入力される。スイッチ部２２１は、入力された演算情報Pに基づいて、WL演算部２２２−１乃至２２２−４の中から、その演算情報Pが表す演算で量子化情報WLを求めるWL演算部を選択する。スイッチ部２２１は、選択されたWL演算部２２２−１乃至２２２−４のいずれかにノイズシェーピングG[k]を供給することにより、演算を行わせる。
【０２１９】
WL演算部２２２−１乃至２２２−４は、図２４のWL演算部１６３−１乃至１６３−４と同様に構成されるので、詳細な説明は省略する。
【０２２０】
［復号装置の処理の説明］
図２８の復号装置２１０による復号処理は、図２０のステップＳ１０３のノイズシェーピング処理を除いて、図２０の復号処理と同様であるので、ノイズシェーピング処理についてのみ説明する。
【０２２１】
図３０は、図２８の復号装置２１０によるノイズシェーピング処理を説明するフローチャートである。
【０２２２】
図３０のステップＳ２０１において、ノイズシェーピング部２１２のノイズシェーピング生成部１２１（図２９）は、図２８の分解化部２１１から供給される情報NS´のうちの情報NSに基づいて、ノイズシェーピングG[k]を生成する。そして、ノイズシェーピング生成部１２１は、生成されたノイズシェーピングG[k]をスイッチ部２２１に供給する。
【０２２３】
ステップＳ２０２乃至Ｓ２１１の処理は、図２４のWL演算部１６３−１乃至１６３−４の代わりにWL演算部２２２−１乃至２２２−４により行われる図２７のステップＳ１５３乃至Ｓ１６２の処理であるので、説明は省略する。なお、ステップＳ２０２，Ｓ２０４、およびＳ２０７の判定対象である演算情報Pは、分解化部２１１から供給される情報NS´のうちの演算情報Pである。
【０２２４】
なお、上述した説明では、最低値Lが最初の量子化ユニットのノイズシェーピングGとされ、最高値Hが最後の量子化ユニットのノイズシェーピングGとされたが、最低値Lと最高値Hに対応する量子化ユニットとして任意の量子化ユニットが設定されるようにしてもよい。この場合、情報NS（NS´）には、最低値Lに対応する量子化ユニットのインデックスを表す位置情報Xと、最高値Hに対応する量子化ユニットのインデックスを表す位置情報Yも含められる。これにより、ビット配分の自由度をより向上させることができる。
【０２２５】
また、量子化情報WLの演算の種類は、上述した４種類に限定されない。また、量子化情報WLの演算ではなく、ノイズシェーピングGの演算が複数種類用意され、使用された演算を表す情報がNS（NS´）に含められるようにしてもよい。また、強調エンベロープDの生成方法が複数用意され、使用された生成方法を表す情報が情報NS（NS´）に含められるようにしてもよい。この場合、例えば、量子化情報WLの演算の種類によって強調エンベロープDの生成方法が選択される。
【０２２６】
また、量子化情報WLの演算の種類、ノイズシェーピングGの演算の種類、および強調エンベロープDの生成方法の全てが複数種類用意され、使用された演算および生成方法を表す情報が情報NS（NS´）に含められるようにしてもよい。
【０２２７】
情報NS（NS´）を伝送するために必要なビット数が、量子化情報WLを伝送するために必要なビット数NWLより十分小さくなるようであれば、情報NS（NS´）に含まれる情報は、上述した情報に限定されない。
【０２２８】
＜第３実施の形態＞
[本発明を適用したコンピュータの説明]
次に、上述した一連の符号化装置５０（１５０）の処理および復号装置１１０（２１０）の処理は、ハードウェアにより行うこともできるし、ソフトウェアにより行うこともできる。一連の符号化装置５０（１５０）の処理および復号装置１１０（２１０）の処理をソフトウェアによって行う場合には、そのソフトウェアを構成するプログラムが、汎用のコンピュータ等にインストールされる。
【０２２９】
そこで、図３１は、上述した一連の処理を実行するプログラムがインストールされるコンピュータの一実施の形態の構成例を示している。
【０２３０】
プログラムは、コンピュータに内蔵されている記録媒体としての記憶部３０８やROM（Read Only Memory）３０２に予め記録しておくことができる。
【０２３１】
あるいはまた、プログラムは、リムーバブルメディア３１１に格納（記録）しておくことができる。このようなリムーバブルメディア３１１は、いわゆるパッケージソフトウエアとして提供することができる。ここで、リムーバブルメディア３１１としては、例えば、フレキシブルディスク、CD-ROM(Compact Disc Read Only Memory)，MO(Magneto Optical)ディスク，DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリ等がある。
【０２３２】
なお、プログラムは、上述したようなリムーバブルメディア３１１からドライブ３１０を介してコンピュータにインストールする他、通信網や放送網を介して、コンピュータにダウンロードし、内蔵する記憶部３０８にインストールすることができる。すなわち、プログラムは、例えば、ダウンロードサイトから、ディジタル衛星放送用の人工衛星を介して、コンピュータに無線で転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送することができる。
【０２３３】
コンピュータは、CPU(Central Processing Unit)３０１を内蔵しており、CPU３０１には、バス３０４を介して、入出力インタフェース３０５が接続されている。
【０２３４】
CPU３０１は、入出力インタフェース３０５を介して、ユーザによって、入力部３０６が操作等されることにより指令が入力されると、それに従って、ROM３０２に格納されているプログラムを実行する。あるいは、CPU３０１は、記憶部３０８に格納されたプログラムを、RAM(Random Access Memory)３０３にロードして実行する。
【０２３５】
これにより、CPU３０１は、上述したフローチャートにしたがった処理、あるいは上述したブロック図の構成により行われる処理を行う。そして、CPU３０１は、その処理結果を、必要に応じて、例えば、入出力インタフェース３０５を介して、出力部３０７から出力、あるいは、通信部３０９から送信、さらには、記憶部３０８に記録等させる。
【０２３６】
なお、入力部３０６は、キーボードや、マウス、マイク等で構成される。また、出力部３０７は、LCD(Liquid Crystal Display)やスピーカ等で構成される。
【０２３７】
ここで、本明細書において、コンピュータがプログラムに従って行う処理は、必ずしもフローチャートとして記載された順序に沿って時系列に行われる必要はない。すなわち、コンピュータがプログラムに従って行う処理は、並列的あるいは個別に実行される処理（例えば、並列処理あるいはオブジェクトによる処理）も含む。
【０２３８】
また、プログラムは、１のコンピュータ（プロセッサ）により処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであっても良い。
【０２３９】
さらに、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【符号の説明】
【０２４０】
１２  正規化部,  １４  量子化部，  ２２  逆量子化部，  ２３  逆正規化部，  ５０  符号化装置,  ５１  エンベロープ強調部,  ５２  ノイズシェーピング部,  ５３  多重化部，  ９１  NS決定部，  １１０  復号装置，  １１１  分解化部，  １１２  エンベロープ強調部，  １１３  ノイズシェーピング部，  １１４  分解化部，  １５０  符号化装置，  １５１  ノイズシェーピング部，  １５２  多重化部，  １６１  NS´決定部，  １６２  スイッチ部，  １６３−１乃至１６３−４  WL演算部，  ２１０  復号装置，  ２１１分解化部，  ２１２  ノイズシェーピング部，  ２１３  分解化部，  ２２１  スイッチ部，  ２２２−１乃至２２２−４  WL演算部
【図１】
2011197106.tif 000003
【図２】
2011197106.tif 000004
【図３】
2011197106.tif 000005
【図４】
2011197106.tif 000006
【図５】
2011197106.tif 000007
【図６】
2011197106.tif 000008
【図７】
2011197106.tif 000009
【図８】
2011197106.tif 000010
【図９】
2011197106.tif 000011
【図１０】
2011197106.tif 000012
【図１１】
2011197106.tif 000013
【図１２】
2011197106.tif 000014
【図１３】
2011197106.tif 000015
【図１４】
2011197106.tif 000016
【図１５】
2011197106.tif 000017
【図１６】
2011197106.tif 000018
【図１７】
2011197106.tif 000019
【図１８】
2011197106.tif 000020
【図１９】
2011197106.tif 000021
【図２０】
2011197106.tif 000022
【図２１】
2011197106.tif 000023
【図２２】
2011197106.tif 000024
【図２３】
2011197106.tif 000025
【図２４】
2011197106.tif 000026
【図２５】
2011197106.tif 000027
【図２６】
2011197106.tif 000028
【図２７】
2011197106.tif 000029
【図２８】
2011197106.tif 000030
【図２９】
2011197106.tif 000031
【図３０】
2011197106.tif 000032
【図３１】
2011197106.tif 000033