しかしながら、符号化の際、音響信号は量子化されるため、量子化による丸めまたは切り捨てにより音響信号のエネルギが失われてしまうという問題があった。そのため復号時においてもエネルギ損失に伴う音響信号の物足りなさが生じていた。特許文献1乃至3にはかかる課題を解決する手段は提示されていない。また、特許文献4に記載の技術はパワーを補うものであるが、符号化時に符号化装置において入力オーディオ信号を分析し、パワー調整情報を生成して符号化する必要がある。しかも復号装置側においても、パワー調整情報復号部を設けて符号化されたパワー調整情報を復号する必要があり、このようなパワー調整情報が記憶されていない音響信号については全くエネルギの補間を行うことができないという問題があった。特に、近年では多様な規格に伴う符号化方式が乱立しており、特許文献4に記載の技術では、様々な方式の符号化音響信号を適切に補間できないという問題があった。また、特許文献5に記載の復号化装置は、符号化列に表されていない周波数帯域にスペクトル情報を新たに生成するものであるが、単に低周波数域のスペクトル情報を高周波数域に拡張するにすぎず、依然として量子化誤差に伴う音響信号の物足りなさや違和感を十分に補うものではなかった。
また、本件出願人は特許文献1及び2において、符号化時に純音性の高低を判定し、純音性の高低に応じてマスキング特性を変更し、該変更されたマスキング特性に基づき、各周波数帯域の量子化ビット数の割り当てを行う方法を提案している。該方法によれば、純音性の高い信号及び低い信号はマスキング特性を平坦にすることにより、信号対雑音比(SNR)が最も良くなるような符号化処理を行い、波形再現性を高めることができる。一方、純音性が低くなるに従い、多くの帯域に符号化ビットを割り当てる必要があるところ、従来は所定ビットレート内におさめるべく波形再現性を犠牲にし、マスキング効果により聴感上の音質を確保させている。しかしながら、ビットレートが低下した場合、例えば96kbs以下のようなビットレートでは、マスキング効果にも限界が生じ、結果として聴者が音質劣化及びパワー不足を感じるという問題があった。
本発明は斯かる事情に鑑みてなされたものであり、その目的は、復号時に、純音性の度合いを示す純音性指標値の大小に応じた係数を乗じた白色雑音信号に関する値を音響信号に加算することにより、低ビットレートの符号化データであっても、純音性指標値の大小に応じて最適な値を補間することが可能な信号処理方法、信号処理装置及びコンピュータを信号処理装置として機能させるためのプログラムを提供することにある。
本発明の他の目的は、復号時に、ビットレートを取得し、取得したビットレートの高低に応じた係数を乗じた値を加算して補正後の係数を算出することにより、純音性が低い符号化データであっても、ビットレートの高低に応じて最適な値を補間することが可能な信号処理方法、信号処理装置及びコンピュータを信号処理装置として機能させるためのプログラムを提供することにある。
本発明の他の目的は、復号時に、逆量子化した音響信号の係数のレベル及び白色雑音信号格納部から出力される白色雑音信号に基づき補正係数を算出し、この補正係数を白色雑音信号に乗じて補正値を算出し、さらに純音性指標値の大小またはビットレートの高低に応じた係数を補正値に乗じ、これを音響信号へ加算することにより、符号化時に失われたエネルギを補間して、エネルギ不足に伴う物足りなさを解消することが可能な信号処理装置を提供することにある。
本発明の他の目的は、復号時に、選択した複数の係数を用いた補間法により係数の補間係数を算出し、純音性の度合いを示す純音性指標値の大小に応じた係数を乗じて補間係数を補正することにより、純音性指標値の大小に応じて最適な値を補間することが可能な信号処理方法、信号処理装置及びコンピュータを信号処理装置として機能させるためのプログラムを提供することにある。
本発明の他の目的は、復号時に、量子化時における量子化ビット数を検出し、検出した量子化ビット数が所定値以下の係数について補間法により補間係数を算出することにより、より量子化誤差の大きい係数についてのみ補間処理を実行することが可能な信号処理装置を提供することにある。
本発明の他の目的は、復号時に、選択した複数の係数を用いた補間法により係数の補間係数を算出し、取得したビットレートの高低に応じた係数を乗じて補間係数を補正することにより、ビットレートの高低に応じて最適な値を補間することが可能な信号処理方法、信号処理装置及びコンピュータを信号処理装置として機能させるためのプログラムを提供することにある。
本発明に係る信号処理方法は、符号化音響信号を逆量子化した音響信号を処理する信号処理方法において、逆量子化した音響信号の純音性の度合いを示す純音性指標値を算出する指標値算出ステップと、白色雑音信号を格納した白色雑音信号格納部から白色雑音信号を出力する出力ステップと、前記音響信号の各係数に、前記出力ステップにより出力した白色雑音信号に前記指標値算出ステップにより算出した純音性指標値に基づく係数を乗じた白色雑音信号に関する値を加算して補正後の係数を算出する補正周波数係数算出ステップとを備え、前記指標値算出ステップは、各周波数帯域のスケールファクタの最大値から平均値を減じた値を純音性指標値とすることを特徴とする。本発明に係る信号処理方法は、符号化音響信号を逆量子化した音響信号を処理する信号処理方法において、逆量子化した音響信号の純音性の度合いを示す純音性指標値を算出する指標値算出ステップと、白色雑音信号を格納した白色雑音信号格納部から白色雑音信号を出力する出力ステップと、前記音響信号の各係数に、前記出力ステップにより出力した白色雑音信号に前記指標値算出ステップにより算出した純音性指標値に基づく係数を乗じた白色雑音信号に関する値を加算して補正後の係数を算出する補正周波数係数算出ステップとを備え、前記指標値算出ステップは、各周波数帯域のパワーまたはエネルギの最大値からパワーまたはエネルギの平均値を減じた値を純音性指標値とすることを特徴とする。
本発明に係る信号処理装置は、符号化音響信号を逆量子化した音響信号を処理する信号処理装置において、逆量子化した音響信号の純音性の度合いを示す純音性指標値を算出する指標値算出部と、白色雑音信号を格納した白色雑音信号格納部から白色雑音信号を出力する出力部と、前記音響信号の各係数に、前記出力部から出力した白色雑音信号に前記指標値算出部により算出した純音性指標値に基づく係数を乗じた白色雑音信号に関する値を加算して補正後の係数を算出する補正周波数係数算出部とを備え、前記指標値算出部は、各周波数帯域のスケールファクタの最大値から平均値を減じた値を純音性指標値とすることを特徴とする。本発明に係る信号処理装置は、符号化音響信号を逆量子化した音響信号を処理する信号処理装置において、逆量子化した音響信号の純音性の度合いを示す純音性指標値を算出する指標値算出部と、白色雑音信号を格納した白色雑音信号格納部から白色雑音信号を出力する出力部と、前記音響信号の各係数に、前記出力部から出力した白色雑音信号に前記指標値算出部により算出した純音性指標値に基づく係数を乗じた白色雑音信号に関する値を加算して補正後の係数を算出する補正周波数係数算出部とを備え、前記指標値算出部は、各周波数帯域のパワーまたはエネルギの最大値からパワーまたはエネルギの平均値を減じた値を純音性指標値とすることを特徴とする。
本発明に係る信号処理装置は、純音性指標値が大きくなるにつれて小さくなる係数を記憶した係数記憶部を備え、前記補正周波数係数算出部は、前記音響信号の各係数に、前記出力部から出力した白色雑音信号に前記指標値算出部により算出した純音性指標値に基づき、前記係数記憶部から読み出された係数を乗じた白色雑音信号に関する値を加算して補正後の係数を算出するよう構成してあることを特徴とする。
本発明に係る信号処理装置は、逆量子化した音響信号の係数のレベルを検出するレベル検出部と、前記白色雑音信号格納部から出力される白色雑音信号及び前記レベルに基づき補正係数を算出する補正係数算出部と、前記補正係数を前記白色雑音信号格納部に格納された白色雑音信号に乗じて補正値を算出する補正値算出部とをさらに備え、前記補正周波数係数算出部は、前記音響信号の各係数に、前記補正値算出部により算出した補正値に前記指標値算出部により算出した純音性指標値に基づき前記係数記憶部から読み出された係数を乗じた値を加算して補正後の係数を算出するよう構成してあることを特徴とする。
本発明に係るプログラムは、符号化音響信号を逆量子化した音響信号をコンピュータにより処理するためのプログラムにおいて、コンピュータに、逆量子化した音響信号の純音性の度合いを示す純音性指標値を算出する指標値算出ステップと、白色雑音信号を格納した白色雑音信号格納部から白色雑音信号を出力する出力ステップと、前記音響信号の各係数に、前記出力ステップにより出力した白色雑音信号に前記指標値算出ステップにより算出した純音性指標値に基づく係数を乗じた白色雑音信号に関する値を加算して補正後の係数を算出する補正周波数係数算出ステップとを実行させ、前記指標値算出ステップは、各周波数帯域のスケールファクタの最大値から平均値を減じた値を純音性指標値とする。本発明に係るプログラムは、符号化音響信号を逆量子化した音響信号をコンピュータにより処理するためのプログラムにおいて、コンピュータに、逆量子化した音響信号の純音性の度合いを示す純音性指標値を算出する指標値算出ステップと、白色雑音信号を格納した白色雑音信号格納部から白色雑音信号を出力する出力ステップと、前記音響信号の各係数に、前記出力ステップにより出力した白色雑音信号に前記指標値算出ステップにより算出した純音性指標値に基づく係数を乗じた白色雑音信号に関する値を加算して補正後の係数を算出する補正周波数係数算出ステップとを実行させ、前記指標値算出ステップは、各周波数帯域のパワーまたはエネルギの最大値からパワーまたはエネルギの平均値を減じた値を純音性指標値とする。
本発明に係る信号処理方法は、符号化音響信号を逆量子化した音響信号を処理する信号処理方法において、音響信号のビットレートを取得するビットレート取得ステップと、白色雑音信号を格納した白色雑音信号格納部から白色雑音信号を出力する出力ステップと、前記音響信号の各係数に、前記出力ステップにより出力した白色雑音信号に前記ビットレート取得ステップにより取得したビットレートに基づく係数を乗じた白色雑音信号に関する値を加算して補正後の係数を算出する補正周波数係数算出ステップとを備えることを特徴とする。
本発明に係る信号処理装置は、符号化音響信号を逆量子化した音響信号を処理する信号処理装置において、音響信号のビットレートを取得するビットレート取得部と、白色雑音信号を格納した白色雑音信号格納部から白色雑音信号を出力する出力部と、前記音響信号の各係数に、前記出力部から出力した白色雑音信号に前記ビットレート取得部により取得したビットレートに基づく係数を乗じた白色雑音信号に関する値を加算して補正後の係数を算出する補正周波数係数算出部とを備えることを特徴とする。
本発明に係る信号処理装置は、前記ビットレート取得部により取得したビットレートが高くなるにつれて小さくなる係数を記憶した係数記憶部を備え、前記補正周波数係数算出部は、前記音響信号の各係数に、前記出力部から出力した白色雑音信号に前記ビットレート取得部により取得したビットレートに基づき、前記係数記憶部から読み出された係数を乗じた白色雑音信号に関する値を加算して補正後の係数を算出するよう構成してあることを特徴とする。
本発明に係る信号処理装置は、逆量子化した音響信号の係数のレベルを検出するレベル検出部と、前記白色雑音信号格納部から出力される白色雑音信号及び前記レベルに基づき補正係数を算出する補正係数算出部と、前記補正係数を前記白色雑音信号格納部に格納された白色雑音信号に乗じて補正値を算出する補正値算出部とをさらに備え、前記補正周波数係数算出部は、前記音響信号の各係数に、前記補正値算出部により算出した補正値に前記ビットレート取得部により取得したビットレートに基づき前記係数記憶部から読み出された係数を乗じた値を加算して補正後の係数を算出するよう構成してあることを特徴とする。
本発明に係るプログラムは、符号化音響信号を逆量子化した音響信号をコンピュータにより処理するためのプログラムにおいて、コンピュータに、音響信号のビットレートを取得するビットレート取得ステップと、白色雑音信号を格納した白色雑音信号格納部から白色雑音信号を出力する出力ステップと、前記音響信号の各係数に、前記出力ステップにより出力した白色雑音信号に前記ビットレート取得ステップにより取得したビットレートに基づく係数を乗じた白色雑音信号に関する値を加算して補正後の係数を算出する補正周波数係数算出ステップとを実行させることを特徴とする。
本発明に係る信号処理方法は、符号化音響信号を逆量子化した音響信号を処理する信号処理方法において、逆量子化した音響信号の純音性の度合いを示す純音性指標値を算出する指標値算出ステップと、逆量子化した音響信号の周波数帯域の係数の中から複数の係数を選択する選択ステップと、該選択ステップにより選択した複数の係数を用いた補間法により前記選択ステップにより選択されない係数の補間係数を算出する算出ステップと、前記指標値算出ステップにより算出した純音性指標値に基づき、前記算出ステップにより算出した補間係数を補正する補正ステップとを備えることを特徴とする。
本発明に係る信号処理装置は、符号化音響信号を逆量子化した音響信号を処理する信号処理装置において、逆量子化した音響信号の純音性の度合いを示す純音性指標値を算出する指標値算出部と、逆量子化した音響信号の周波数帯域の係数の中から複数の係数を選択する選択部と、該選択部により選択した複数の係数を用いた補間法により前記選択部により選択されない係数の補間係数を算出する算出部と、前記指標値算出部により算出した純音性指標値に基づき、前記算出部により算出した補間係数を補正する補正部とを備えることを特徴とする。
本発明に係る信号処理装置は、純音性指標値が大きくなるにつれて小さくなる係数を記憶した係数記憶部を備え、前記補正部は、前記算出部により算出した補間係数と補間前の係数との差分に、前記指標値算出部により算出した純音性指標値に基づき前記係数記憶部から読み出した係数を乗じて補間係数を補正するよう構成してあることを特徴とする。
本発明に係る信号処理装置は、逆量子化した音響信号の周波数帯域の係数の量子化時における量子化ビット数を検出する検出部をさらに備え、前記算出部は、前記選択部により選択した複数の係数を用いた補間法により、前記検出部にて検出した量子化ビット数が所定値以下の係数の補間係数を算出するよう構成してあることを特徴とする。
本発明に係るプログラムは、符号化音響信号を逆量子化した音響信号をコンピュータにより処理するためのプログラムにおいて、コンピュータに、逆量子化した音響信号の純音性の度合いを示す純音性指標値を算出する指標値算出ステップと、逆量子化した音響信号の周波数帯域の係数の中から複数の係数を選択する選択ステップと、該選択ステップにより選択した複数の係数を用いた補間法により前記選択ステップにより選択されない係数の補間係数を算出する算出ステップと、前記指標値算出ステップにより算出した純音性指標値に基づき、前記算出ステップにより算出した補間係数を補正する補正ステップとを実行させることを特徴とする。
本発明に係る信号処理方法は、符号化音響信号を逆量子化した音響信号を処理する信号処理方法において、音響信号のビットレートを取得するビットレート取得ステップと、逆量子化した音響信号の周波数帯域の係数の中から複数の係数を選択する選択ステップと、該選択ステップにより選択した複数の係数を用いた補間法により前記選択ステップにより選択されない係数の補間係数を算出する算出ステップと、前記ビットレート取得ステップにより取得したビットレートに基づき、前記算出ステップにより算出した補間係数を補正する補正ステップとを備えることを特徴とする。
本発明に係る信号処理装置は、符号化音響信号を逆量子化した音響信号を処理する信号処理装置において、音響信号のビットレートを取得するビットレート取得部と、逆量子化した音響信号の周波数帯域の係数の中から複数の係数を選択する選択部と、該選択部により選択した複数の係数を用いた補間法により前記選択部により選択されない係数の補間係数を算出する算出部と、前記ビットレート取得部により取得したビットレートに基づき、前記算出部により算出した補間係数を補正する補正部とを備えることを特徴とする。
本発明に係る信号処理装置は、ビットレートが高くなるにつれて小さくなる係数を記憶した係数記憶部を備え、前記補正部は、前記算出部により算出した補間係数と補間前の係数との差分に、前記ビットレート取得部により取得したビットレートに基づき前記係数記憶部から読み出した係数を乗じて補間係数を補正するよう構成してあることを特徴とする。
本発明に係る信号処理装置は、逆量子化した音響信号の周波数帯域の係数の量子化時における量子化ビット数を検出する検出部をさらに備え、前記算出部は、前記選択部により選択した複数の係数を用いた補間法により、前記検出部にて検出した量子化ビット数が所定値以下の係数の補間係数を算出するよう構成してあることを特徴とする。
本発明に係るプログラムは、符号化音響信号を逆量子化した音響信号をコンピュータにより処理するためのプログラムにおいて、コンピュータに、音響信号のビットレートを取得するビットレート取得ステップと、逆量子化した音響信号の周波数帯域の係数の中から複数の係数を選択する選択ステップと、該選択ステップにより選択した複数の係数を用いた補間法により前記選択ステップにより選択されない係数の補間係数を算出する算出ステップと、前記ビットレート取得ステップにより取得したビットレートに基づき、前記算出ステップにより算出した補間係数を補正する補正ステップとを実行させることを特徴とする。
本発明にあっては、指標値算出部は、逆量子化した音響信号の純音性の度合いを示す純音性指標値を算出する。この純音性指標値は例えば、各周波数帯域のスケールファクタに関する値の最大値から平均値を減じることにより求める。その他純音性指標値は例えば、各周波数帯域のパワーまたはエネルギの最大値からパワーまたはエネルギの平均値を減じることにより求める。出力部は、白色雑音信号を格納した白色雑音信号格納部から白色雑音信号を出力する。補正周波数係数算出部は、音響信号の各係数に、出力部から出力した白色雑音信号に指標値算出部により算出した純音性指標値に基づく係数を乗じた白色雑音信号に関する値を加算して補正後の係数を算出する。
これは例えば、純音性指標値が大きくなるにつれて小さくなる係数を記憶した係数記憶部を設けておき、音響信号の各係数に、出力した白色雑音信号に算出した純音性指標値に基づき、係数記憶部から読み出された係数を乗じた白色雑音信号に関する値を加算して補正後の係数を算出する。このように構成したので、純音性指標値が大きい場合は、符号化された音響信号を重視してより小さい値の白色雑音信号に関する値を加算する。一方、純音性指標値が小さい場合は、多くのエネルギを補間すべく、より大きい値の白色雑音信号に関する値を加算する。
本発明にあっては、レベル検出部は符号化音響信号を逆量子化した音響信号の係数のレベルを検出する。補正係数算出部は、白色雑音信号を格納した白色雑音信号格納部から出力される白色雑音信号及びレベルに基づき補正係数を算出する。補正値算出部は、補正係数算出部で算出された補正係数に白色雑音信号格納部に格納された白色雑音信号を乗じて補正値を算出する。さらに、この補正値に、指標値算出部により算出した純音性指標値に基づき係数記憶部から読み出された係数を乗じる。最後に、乗算後の補正値を逆量子化した音響信号の係数に加算して補正後の係数を算出するよう構成したので、帯域内に存在する係数のレベルに応じて帯域毎に最適な量の白色雑音信号に係る補正値を加算することができる。その結果、量子化時に失われたエネルギが、最適な量で補間される。
本発明にあっては、ビットレート取得部は音響信号のビットレートを取得する。出力部は、白色雑音信号を格納した白色雑音信号格納部から白色雑音信号を出力する。そして、補正周波数係数算出部は、音響信号の各係数に、出力部から出力した白色雑音信号にビットレート取得部により取得したビットレートに基づく係数を乗じた白色雑音信号に関する値を加算して補正後の係数を算出する。これは例えば、ビットレート取得部により取得したビットレートが高くなるにつれて小さくなる係数を記憶した係数記憶部を用意しておく。そして、音響信号の各係数に、出力部から出力した白色雑音信号にビットレート取得部により取得したビットレートに基づき、係数記憶部から読み出された係数を乗じた白色雑音信号に関する値を加算して補正後の係数を算出する。このように構成したので、ビットレートが高い場合は、符号化された音響信号を重視してより小さい値の白色雑音信号に関する値を加算する。一方、ビットレートが低い場合は、多くのエネルギを補間すべく、より大きい値の白色雑音信号に関する値を加算する。
本発明にあっては、レベル検出部は符号化音響信号を逆量子化した音響信号の係数のレベルを検出する。補正係数算出部は、白色雑音信号を格納した白色雑音信号格納部から出力される白色雑音信号及びレベルに基づき補正係数を算出する。補正値算出部は、補正係数算出部で算出された補正係数に白色雑音信号格納部に格納された白色雑音信号を乗じて補正値を算出する。さらに、この補正値に、ビットレート取得部により取得したビットレートに基づき係数記憶部から読み出された係数を乗じる。最後に、乗算後の補正値を逆量子化した音響信号の係数に加算して補正後の係数を算出するよう構成したので、帯域内に存在する係数のレベルに応じて帯域毎に最適な量の白色雑音信号に係る補正値を加算することができる。その結果、量子化時に失われたエネルギが、最適な量で補間される。
本発明にあっては、指標値算出部は逆量子化した音響信号の純音性の度合いを示す純音性指標値を算出する。選択部は、逆量子化した音響信号の周波数帯域の係数の中から複数の係数を選択し、算出部は選択部により選択した複数の係数を用いた補間法により選択部により選択されない係数の補間係数を算出する。そして、指標値算出部により算出した純音性指標値に基づき、算出部により算出した補間係数を補正部により補正する。これは例えば、純音性指標値が大きくなるにつれて小さくなる係数を記憶した係数記憶部を用意しておく。
そして補正部は、算出部により算出した補間係数と補間前の係数との差分に、指標値算出部により算出した純音性指標値に基づき係数記憶部から読み出した係数を乗じて補間係数を補正する。このように構成したので、補間法に基づく係数の補間に加えて、純音性に応じた最適な補間量への補正を行うことが可能となる。
本発明にあっては、逆量子化した音響信号の周波数帯域の係数の量子化時における量子化ビット数を検出部により検出する。そして、選択部により選択した複数の係数を用いた補間法により、検出部にて検出した量子化ビット数が所定値以下の係数の補間係数を算出するよう構成したので、量子化ビット数が小さく量子化誤差の大きい係数について集中的に補間処理を行うことができより精度の良い信号を再生することが可能となる。
本発明にあっては、ビットレート取得部は音響信号のビットレートを取得する。選択部は、逆量子化した音響信号の周波数帯域の係数の中から複数の係数を選択し、算出部は選択部により選択した複数の係数を用いた補間法により選択部により選択されない係数の補間係数を算出する。そして、ビットレート取得部により取得したビットレートに基づき、算出部により算出した補間係数を補正部により補正する。これは例えば、ビットレートが高くなるにつれて小さくなる係数を記憶した係数記憶部を用意しておき、補正部は、算出部により算出した補間係数と補間前の係数との差分に、ビットレート取得部により取得したビットレートに基づき係数記憶部から読み出した係数を乗じて補間係数を補正する。このように構成したので、補間法に基づく係数の補間に加えて、ビットレートの高低に応じた最適な補間量への補正を行うことが可能となる。
本発明にあっては、純音性指標値を算出し、出力部から白色雑音信号を出力する。補正周波数係数算出部は、音響信号の各係数に、出力した白色雑音信号に算出した純音性指標値に基づく係数を乗じた白色雑音信号に関する値を加算して補正後の係数を算出する。このように構成したので、純音性指標値が大きい場合は、符号化された音響信号を重視してより小さい値の白色雑音信号に関する値を加算する。一方、純音性指標値が小さい場合は、多くのエネルギを補間すべく、より大きい値の白色雑音信号に関する値を加算する。その結果、純音性に応じて最適なエネルギが補間され、より原音に近い音を再現することが可能となる。また符号化時においてエネルギを補間するか否かの情報を付与する必要がなくなる。さらに、純音性が大きい場合、より小さい白色雑音信号を加算するので、ダイナミックレンジ、歪率、周波数特性等を悪化させないと共に、正弦波に近いピアノまたはフルート等の楽器の音質を損なうことなく再生が可能である。
本発明にあっては、音響信号の係数のレベルを検出し、白色雑音信号及び検出したレベルに基づき補正係数を算出する。補正値算出部は、補正係数算出部で算出された補正係数に白色雑音信号格納部に格納された白色雑音信号を乗じて補正値を算出する。さらに、この補正値に、指標値算出部により算出した純音性指標値に基づき係数記憶部から読み出された係数を乗じる。最後に、乗算後の補正値を逆量子化した音響信号の係数に加算して補正後の係数を算出するよう構成したので、帯域内に存在する係数のレベルに応じて帯域毎に最適な量の白色雑音信号に係る補正値を加算することができる。その結果、量子化時に失われたエネルギが、最適な量で補間される。
本発明にあっては、音響信号の各係数に、出力部から出力した白色雑音信号にビットレート取得部により取得したビットレートに基づく係数を乗じた白色雑音信号に関する値を加算して補正後の係数を算出する。そして、音響信号の各係数に、出力部から出力した白色雑音信号にビットレート取得部により取得したビットレートに基づき、係数記憶部から読み出された係数を乗じた白色雑音信号に関する値を加算して補正後の係数を算出する。このように構成したので、ビットレートが高い場合は、符号化された音響信号を重視してより小さい値の白色雑音信号に関する値を加算する。一方、ビットレートが低い場合は、多くのエネルギを補間すべく、より大きい値の白色雑音信号に関する値を加算する。その結果、ビットレートが高い場合少ない量の白色雑音信号が加算されるので、過度のエネルギが高ビットレートの音響信号に加算されることがなくなる。
本発明にあっては、音響信号の係数のレベルを検出し、白色雑音信号及び検出したレベルに基づき補正係数を算出する。補正値算出部は、補正係数算出部で算出された補正係数に白色雑音信号格納部に格納された白色雑音信号を乗じて補正値を算出する。さらに、この補正値に、ビットレート取得部により取得したビットレートに基づき係数記憶部から読み出された係数を乗じる。最後に、乗算後の補正値を逆量子化した音響信号の係数に加算して補正後の係数を算出するよう構成したので、帯域内に存在する係数のレベルに応じて帯域毎に最適な量の白色雑音信号に係る補正値を加算することができる。その結果、量子化時に失われたエネルギが、最適な量で補間される。
本発明にあっては、指標値算出部は逆量子化した音響信号の純音性の度合いを示す純音性指標値を算出する。選択部は、逆量子化した音響信号の周波数帯域の係数の中から複数の係数を選択し、算出部は選択部により選択した複数の係数を用いた補間法により選択部により選択されない係数の補間係数を算出する。そして、指標値算出部により算出した純音性指標値に基づき、算出部により算出した補間係数を補正部により補正する。このように構成したので、補間法に基づく係数の補間に加えて、純音性に応じた最適な補間量への補正を行うことができ、物足りなさや違和感を受けることなく再生が可能となる。
本発明にあっては、逆量子化した音響信号の周波数帯域の係数の量子化時における量子化ビット数を検出部により検出する。そして、選択部により選択した複数の係数を用いた補間法により、検出部にて検出した量子化ビット数が所定値以下の係数の補間係数を算出するよう構成したので、量子化ビット数が小さく量子化誤差の大きい係数について集中的に補間処理を行うことができより精度の良い信号を再生することが可能となる。
本発明にあっては、ビットレート取得部は音響信号のビットレートを取得する。選択部は、逆量子化した音響信号の周波数帯域の係数の中から複数の係数を選択し、算出部は選択部により選択した複数の係数を用いた補間法により選択部により選択されない係数の補間係数を算出する。そして、ビットレート取得部により取得したビットレートに基づき、算出部により算出した補間係数を補正部により補正する。このように構成したので、補間法に基づく係数の補間に加えて、ビットレートの高低に応じた最適な補間量への補正を行うことができ、物足りなさや違和感を受けることなく再生が可能となる等、本発明は優れた効果を奏する。
実施の形態1
以下本発明の実施の形態を、図面を参照して説明する。図1は信号処理装置たる復号装置のハードウェア構成を示すブロック図である。図において20は、符号化された音響信号を復号する復号装置であり、音響信号入力部21、アンパッキング部22、逆量子化部23、補間処理部1、周波数時間変換部24、周波数帯域合成部25、指標値算出部27及び音響信号出力部26を含んで構成される。なお、本実施の形態においては圧縮符号化方式としてMP3を適用した例について説明するが、他の方式についても同様に適用しても良い。
記録媒体から読み出された符号化音響信号またはデジタルチューナにより受信した符号化音響信号等は、音響信号入力部21へ入力され、入力された符号化音響信号はアンパッキング部(デマルチプレクサ)22へ出力される。アンパッキング部22は、音響信号のフレーム情報から量子化係数、量子化ビット数、スケールファクタ、スケールファクタマルチプレクサ、グローバルゲイン、及びサブブロックゲインをそれぞれアンパッキングする。アンパッキングされた量子化係数、量子化ビット数、スケールファクタ、スケールファクタマルチプレクサ、グローバルゲイン、及びサブブロックゲインを用いて逆量子化部23においてIMDCT係数に逆量子化される。逆量子化部23からはブロック長(ロングブロックまたはショートブロック)に応じて次の式(1)で示されるIMDCT係数が周波数帯域毎に出力される。
式(1)中の変数mはIMDCT係数のインデックス、MK(m)は量子化係数(ハフマン復号化値)、sgn(MK(m))は量子化係数の符号、scalefac_multiplierは1または0.5、grはグラニュールのインデックス、wndはウィンドウの形状のインデックス、sfbはスケールファクタバンドのインデックス、preflag[gr]はプリエンファシスの有無フラグで0または1、pretab[sfb] は所定のプリエンファシステーブルによって得られる値を表している。なお、ATRACにおけるスケールファクタ(例えば各6ビットで表され、約2dB単位で指定することができる)は、MP3におけるスケールファクタに関する値と同様であり、MP3におけるスケールファクタに関する値は、式(1)で示す如く、スケールファクタ、スケールファクタマルチプレクサ、グローバルゲイン及びサブブロックゲイン(式(1)の2の乗数以降の箇所)、プリエンファシスの有無フラグ、プリエンファシステーブルによって得られる値を用いて算出される。以下ではATRACにおけるスケールファクタ及びMP3におけるスケールファクタに関する値をまとめてスケールファクタとして説明する。ここで、スケールファクタとは、所定の分割された各周波数帯域のスペクトルを表現するために、仮数部と指数部で表した指数部分をいう。例えば、MP3においては、所定の分割された各周波数帯域のスペクトルを最大値が1.0となるように正規化され、その指数部分をスケールファクタとグローバルゲイン、及びサブブロックゲインとして符号化されている。上記スケールファクタとグローバルゲイン、及びサブブロックゲインの指数部を総称してスケールファクタに関する値と呼ぶ。
本実施の形態においては図1に示すように32の周波数帯域毎block(0)〜block(31)にIMDCT係数I(0)、I(1)、…、I(m)、…、I(575)が出力される。サンプリング周波数が44.1kHzの場合、block(0)の周波数は0Hz〜689.0625Hz、block(1)は689.0625Hz〜1378.125Hz、またblock(31)は21360.9375Hz〜22050Hzである。なお、以下では任意の周波数帯域のブロックをblock(k)とする。ここでkは整数であり、0≦k≦31を満たすものとする。各周波数帯域のIMDCT係数I(0)〜I(575)は補間処理部1へ入力される。
各周波数帯域のIMDCT係数はブロック長に応じて複数の係数(スペクトル)から構成される。ロングブロックでは18の係数からなり、ショートブロックでは6の係数からなる。なお、本実施の形態においては、ブロック長はロングブロックであるものとして説明する。
図2は周波数に対するIMDCT係数の変化を示すグラフである。横軸は周波数であり、縦軸は係数を示す。IMDCT係数(以下、係数I(m)で代表する)はロングブロックの場合、一周波数帯域内に18の係数I(18×k)乃至I(18×k+17)を有する。図2のグラフにおいては周波数18×k、18×k+1、…、18×k+17に対応させて、係数I(18×k)、I(18×k+1)、…、I(18×k+17)の変化が示されている。この係数は正、負または零の値を取る。
図1において係数I(m)は補間処理部1へ入力され、白色雑音信号に関する補正値が付加された補正後の係数I’(m)が補間処理部1から周波数時間変換部24へ出力される。周波数時間変換部24ではIMDCT処理が施され、時間軸の音響信号に変換される。更に、逆変換された音響信号は周波数帯域合成部25において、帯域合成フィルタであるIPFB(Inverse Polyphase Filter Bank)によって帯域合成された後、音響信号出力部26へ出力される。
またアンパッキング部22はビットストリームのフレームサイド情報から各周波数帯域のスケールファクタを抽出する。抽出されたスケールファクタは指標値算出部27へ出力される。指標値算出部27は、各周波数帯域のスケールファクタの最大値から平均値を減じて純音性の度合いを示す純音性指標値(以下、指標値という)を算出する。指標値算出部27は算出した指標値及びスケールファクタの最大値を補間処理部1へ出力する。
図3は補間処理部1のハードウェア構成を示すブロック図である。補間処理部1はレベル検出部としての最小値検出部12、補正係数算出部18、補正値算出部13、白色雑音信号格納部16、出力部14、最大スペクトル検出部15、純音係数記憶部191、純音係数乗算部19及び補正周波数係数算出部17を含んで構成される。逆量子化部23から出力される各周波数帯域の係数I(m)は最小値検出部12へ入力される。最小値検出部12は1グラニュールの係数I(0)〜係数I(575)から、零を除く係数(スペクトル)の絶対値の最小値を検出する。図2の例においては、零であるI(18×k+2)ではなく、I(18×k+1)が検出される。検出された絶対値が最小の係数I(m)が最小値として補正係数算出部18へ出力される。なお、本実施の形態においてはレベル検出部として最小値検出部12を用いて、係数I(m)の零を除く係数の絶対値の最小値をレベルとして検出することとしたが、これに限るものではない。例えば、係数I(m)のレベルとしてはこの他に、係数I(m)の2番目に絶対値の小さい値、絶対値の小さいもの3つの平均値または分散値等であっても良い。
白色雑音信号格納部16は、複数の白色雑音信号(白色雑音信号の周波数成分源)をブロック単位で格納している。図4は白色雑音信号格納部16のレコードレイアウトを示す説明図である。白色雑音信号格納部16は、1グラニュールに対応する時間の白色雑音信号を複数の帯域(ブロック)に分割し、帯域毎に直交変換した直交変換係数(スペクトル)により構成されている。白色雑音信号格納部16はブロックフィールド、番号mフィールド及びスペクトルIwn(m)フィールドを含んで構成される。ブロックフィールドにはロングブロックに対応する白色雑音信号を構成するブロック数が記憶されており、ブロック0〜ブロック31までの全32ブロックが用意されている。番号mフィールドにはブロック毎に白色雑音信号のスペクトルを識別するための番号(1〜576)が記憶されている。
また、スペクトルIwn(m)フィールドには、番号mに対応させて白色雑音信号のスペクトルがそれぞれ記憶されている。本実施の形態においては1ブロックあたり18個のスペクトルが、全32ブロック、計576のスペクトルが記憶される。例えばブロック「0」の番号「1」には白色雑音信号のスペクトル「0.003125」が格納されている。この白色雑音信号のスペクトルは全スペクトルを平均した場合に所定値となるよう、例えば約−20dBとなるよう、設定すれば良い。なお、このIwn(m)は、I(m)の最小値の約1/2のレベルの白色雑音信号を作成するためのテーブルであって、約−20dBという数値には限定する必要はない。
白色雑音信号格納部16には、予め時間信号の白色雑音信号源を圧縮時に時間周波数変換した変換係数(スペクトル)データが、ブロック長に応じてメモリ等に記憶されて用意されている。つまり1グラニュールあたりの白色雑音信号を複数の帯域に分割し、帯域毎に直交変換した直交変換係数により構成されている。ロングブロックの場合は、圧縮時に周波数分割により18個の時間データに分割され、18個の周波数成分データに変換された変換係数がメモリ等に記憶され、ショートブロックの場合は、圧縮時に周波数分割により6個の時間データに分割され、6個の周波数成分データに変換された変換係数がメモリ等に記憶されている。なお、本実施の形態においては、説明を容易にするために予め用意しておいた白色雑音信号を用いる形態について説明するが、装置内で図示しない乱数発生器等により、全体の平均スペクトルが所定値以下となる白色雑音信号を逐次発生させて、白色雑音信号格納部16に一時的に記憶してから出力するようにしても良い。
白色雑音信号格納部16には出力部14が接続される。出力部14は、白色雑音信号格納部16に記憶されたブロックの白色雑音信号を最大スペクトル検出部15及び補正値算出部13へ出力する。最大スペクトル検出部15は出力部14から出力された白色雑音信号のスペクトルの絶対値に係る最大値を検出する。なお、本実施の形態においては、最大スペクトル検出部15はスペクトルの最大値を検出するが、最大スペクトル検出部15に代えて平均スペクトル検出部(図示せず)を設け、白色雑音信号のスペクトルの平均値を検出するようにしても良い。最大スペクトル検出部15で検出された絶対値が最大値に係る白色雑音信号のスペクトル(またはスペクトル平均値)は補正係数算出部18へ出力される。なお、本実施の形態においては最大スペクトル検出部15または平均スペクトル検出部を設け白色雑音信号の最大値または平均値を出力するようにしているが、白色雑音信号のレベルを検出するものであれば、この形態に限るものではない。例えば、白色雑音信号の値の大きい複数のスペクトルの平均値、または分散値等を検出するものであっても良い。
補正係数算出部18は最小値検出部12から出力された係数I(m)の最小値を、白色雑音信号のスペクトルの最大値(または平均値)の2倍で除すことにより、補正係数を算出する。補正係数算出部18は算出した補正係数を補正値算出部13へ出力する。なお、本実施の形態においては、係数I(m)の最小値を、白色雑音信号のスペクトルの最大値(または平均値)の2倍で除すようにしているが、あくまで一例であり、3倍等で除しても良い。補正値算出部13は、出力部14から出力される一ブロックの白色雑音信号に係るスペクトルと補正係数算出部18から出力される補正係数とを乗じ、係数I(m)へ補正すべき補正値を算出する。例えば、ブロック「0」の白色雑音信号のスペクトルIwm(1)〜Iwm(18)が出力された場合、各スペクトルに補正係数が乗じられ、「18」の白色雑音信号に関する値としての補正値が算出される。
一方、純音係数記憶部191は指標値算出部27に接続されている。純音係数記憶部191は、指標値算出部27から出力された指標値及びスケールファクタの最大値に対応する純音係数を読み出し、読み出した純音係数を純音係数乗算部19へ出力する。図5は純音係数記憶部191のレコードレイアウトを示す説明図である。純音係数記憶部191は、スケールファクタの最大値毎に区分けされており、スケールファクタの最大値毎に、指標値に対応する純音係数が記憶されている。
図5において、SFmaxは1グラニュールのスケールファクタSF(i)の最大値であり、SFavは1グラニュールのスケールファクタSF(i)の平均値を示し、SFmax−SFavは指標値を示している。なおスケールファクタの2-5を0dBとしている。純音係数は例えば0.0から、0.1刻みで1.0までの値が設定され、純音性を示す指標値が大きくなるにつれて小さくなるようその値が純音係数記憶部191に記憶されている。
第1フィールドにはスケールファクタの最大値SFmaxが50dBより大きく70dB以下の場合の指標値が記憶されており、指標値の大きさに対応付けて純音係数が記憶されている。例えば、スケールファクタの最大値SFmaxが60dBの場合、第1フィールドが選択される。そして指標値が31dBの場合、純音係数0.9が読み出される。さらに、指標値が47dBの場合、純音性が大きいので純音係数0.1が読み出される。
第2フィールドにはスケールファクタの最大値SFmaxが70dBより大きく90dB以下の場合の指標値が記憶されており、指標値の大きさに対応付けて純音係数が記憶されている。例えば、スケールファクタの最大値SFmaxが80dBの場合、第2フィールドが選択される。同様に、第3フィールドにはスケールファクタの最大値SFmaxが90dBより大きい場合の指標値が記憶されており、指標値の大きさに対応付けて純音係数が記憶されている。さらに、第4フィールドには、スケールファクタの最大値SFmaxが50dB以下の場合の純音係数1.0が記憶されている。第4フィールドは純音性が十分に小さいものとして、単一の純音係数のみを記憶している。なお、純音係数記憶部191の指標値またはスケールファクタの最大値に対する純音係数の値はあくまで一例であり、これ以外の値であっても良い。
純音係数記憶部191は指標値算出部27から出力されたスケールファクタの最大値及び指標値に基づき対応する純音係数を読み出し、純音係数乗算部19へ出力する。純音係数乗算部19は、補正値算出部13から出力された補正値に純音係数を乗じる。純音係数乗算部19は乗算後の補正値を白色雑音信号に関する値として補正周波数係数算出部17へ出力する。
補正周波数係数算出部17は、純音係数乗算部19から出力される補正値と係数I(m)とを加算し、補正後の係数I’(m)を算出する。補正後の係数I’(m)は周波数時間変換部24へ出力される。なお、補正係数算出部18で算出した補正係数及び純音係数記憶部191から出力される純音係数は周波数帯域間0≦k≦31で、同じ値が使用される。以上述べた処理を全ての周波数帯域k(0)〜k(31)について行い、その後次に入力されるグラニュール内の全周波数帯域に係る係数を同様に補正する処理を繰り返す。
なお、本実施の形態においては純音係数記憶部191に接続される純音係数乗算部19を補正値算出部13の後段に設ける構成としたが、純音係数乗算部19を補正値算出部13の上段に設ける構成としても良い。例えば、純音係数乗算部19を補正値算出部13と出力部14との間に設けた場合、出力部14から出力される白色雑音信号に純音係数が乗じられ、乗算後の値が補正値算出部13へ入力される。その他、純音係数乗算部19を補正係数算出部18と補正値算出部13との間に設けた場合、補正係数算出部18から出力される補正係数に、純音係数記憶部191から出力される純音係数が乗じられ、乗算後の値が補正値算出部13へ出力される。さらに、本実施の形態においては補正係数算出部18から補正係数を出力しているが、これを出力せず、純音係数のみを乗ずるようにしても良い。
以上の各ハードウェアの処理を、フローチャートを用いて説明する。図6は補正後の係数の算出手順を示すフローチャートである。まず最小値検出部12は係数I(m)の零を除く係数の絶対値の最小値を1グラニュール内の係数の中から検出する(ステップS51)。白色雑音信号格納部16に接続される出力部14は白色雑音信号格納部16の白色雑音信号を最大スペクトル検出部15及び補正値算出部13へ出力する(ステップS52)。最大スペクトル検出部15は出力部14から出力された白色雑音信号の絶対値に係る最大値を検出する(ステップS53)。最大スペクトル検出部15で検出された、絶対値が最大値に係る白色雑音信号のスペクトル(またはスペクトル平均値)は補正係数算出部18へ出力される。
補正係数算出部18は最小値検出部12から出力された係数I(m)の最小値を、白色雑音信号のスペクトルの最大値(または平均値)の2倍で除すことにより、補正係数を算出する(ステップS54)。補正係数算出部18は算出した補正係数を補正値算出部13へ出力する。補正値算出部13は補正係数算出部18から出力される補正係数を、出力部14から出力されるブロックの白色雑音信号に係る各スペクトルに乗じ、補正値を算出する(ステップS55)。
純音係数記憶部191は、指標値算出部27から出力されるスケールファクタの最大値に基づき対応するフィールドを選択する(ステップS56)。純音係数記憶部191はフィールド内で指標値算出部27から出力される指標値に対応する純音係数を読み出す(ステップS57)。純音係数記憶部191は読み出した純音係数を純音係数乗算部19へ出力する(ステップS58)。純音係数乗算部19はステップS55で算出した補正値に純音係数を乗じる(ステップS59)。
純音係数乗算部19は乗算後の補正値を白色雑音信号に関する値として補正周波数係数算出部17へ出力する(ステップS510)。補正周波数係数算出部17は、純音係数乗算部19から出力される各補正値を係数I(m)に加算して、補正後の係数I’(m)を算出する(ステップS511)。例えば、ステップS54で算出した補正係数をJ、ステップS57で読み出した純音係数をαとした場合、図4に示すブロック0内のスペクトルIwn(1)〜Iwn(18)にJ及びαを乗算して補正値Iwn’(1)〜Iwn’(18)を算出する。そして、block(0)内の係数I(0)〜係数I(17)に補正値Iwn’(1)〜Iwn’(18)を加算して、補正後の係数I’(0)〜係数I’(17)を得ることができる。これは次のblock(1)の係数I(18)〜係数I(35)についても同様である。すなわち、規則的に選択された図4に示すブロック1内のスペクトルIwn(19)〜Iwn(36)にJ及びαを乗算して補正値Iwn’(19)〜Iwn’(36)を算出する。そして、block(1)内の係数I(18)〜係数I(35)に補正値Iwn’(19)〜Iwn’(36)を加算して、補正後の係数I’(18)〜係数I’(35)を得ることができる。そして係る処理を異なるブロックに繰り返し適用する。
実施の形態2
図7は実施の形態2に係る信号処理装置20の構成を示すブロック図である。実施の形態2に係る信号処理装置20の各処理はパーソナルコンピュータで実行されるソフトウェアにより実現しても良い。以下では信号処理装置20をパーソナルコンピュータ20であるものとして説明する。パーソナルコンピュータ20は公知のものであり、CPU(Central Processing Unit)61にバス67を介してRAM(Random Access Memory)62、ハードディスク等の記憶部65、入力部63、スピーカ等の出力部64、インターネット等の通信網に接続可能な通信部66を備える。
パーソナルコンピュータ20を動作させるためのコンピュータプログラムは、本実施の形態2のように、CD−ROM、MO、またはDVD−ROM等の可搬型記録媒体1Aで提供することも可能である。さらに、コンピュータプログラムを、通信部66を介して図示しないサーバコンピュータからダウンロードすることも可能である。以下に、その内容を説明する。
図7に示すパーソナルコンピュータ20の図示しないリーダ/ライタに、指標値を算出させ、白色雑音信号を出力させ、補正後の係数を算出させるコンピュータプログラムが記録された可搬型記録媒体1A(CD−ROM、MO又はDVD−ROM等)を、挿入して記憶部65の制御プログラム内にこのプログラムをインストールする。または、かかるプログラムを、通信部66を介して外部の図示しないサーバコンピュータからダウンロードし、記憶部65にインストールするようにしても良い。かかるプログラムはRAM62にロードして実行される。これにより、上述のような本発明の信号処理装置20として機能する。
本実施の形態2は以上の如き構成としてあり、その他の構成及び作用は実施の形態1と同様であるので、対応する部分には同一の参照番号を付してその詳細な説明を省略する。
実施の形態3
実施の形態3はビットレートの高低に応じた処理に関する。図8は実施の形態3に係る復号装置20のハードウェア構成を示すブロック図である。図8に示すようにビットレート取得部210及びサンプリング周波数取得部211が新たに設けられている。音響信号入力部21に接続されるビットレート取得部210は音響信号に付随するヘッダに記述されたビットレートインデックスから、音響信号のビットレートを取得する。取得したビットレートはサンプリング周波数取得部211を経て補間処理部1へ出力される。
サンプリング周波数取得部211は音響信号に付随するヘッダに記述されたサンプリング周波数を取得する。サンプリング周波数はMP3方式においては、32kHz、44.1kHz及び48kHzのいずれかが取得される。サンプリング周波数取得部211は取得したサンプリング周波数を補間処理部1へ出力する。
図9は実施の形態3に係る補間処理部1のハードウェア構成を示すブロック図である。実施の形態1の純音係数記憶部191及び純音係数乗算部19に代えて、ビットレート係数記憶部213及びビットレート係数乗算部214が設けられている。ビットレート取得部210はサンプリング周波数取得部211を介して取得したビットレートをビットレート係数記憶部213へ出力する。またサンプリング周波数取得部211は取得したサンプリング周波数をビットレート係数記憶部213へ出力する。
ビットレート係数記憶部213は、ビットレート取得部210から出力されるビットレート及びサンプリング周波数取得部211から出力されるサンプリング周波数に対応するビットレート係数を読み出し、読み出したビットレート係数をビットレート係数乗算部214へ出力する。図10はビットレート係数記憶部213のレコードレイアウトを示す説明図である。ビットレート係数記憶部213は、サンプリング周波数毎に区分けされており、サンプリング周波数毎に、ビットレートに対応するビットレート係数が記憶されている。
ビットレート係数は例えば0.0から、0.1刻みで1.0までの値が設定され、ビットレートが高くなるにつれて小さくなるようその値がビットレート係数記憶部213に記憶されている。第1フィールドにはサンプリング周波数が32kHzの場合のビットレートが記憶されており、各ビットレートに対応してビットレート係数が記憶されている。例えば、ビットレートが32kbpsにすぎない場合は、大きな値であるビットレート係数1.0が読み出される。一方、ビットレートが、192kbpsまたは224kbpsの場合は、十分にビットレートが高いので、ビットレート係数は0.0となる。
同様に第2フィールドにはサンプリング周波数が44.1kHzの場合のビットレートが記憶されており、各ビットレートに対応してビットレート係数が記憶されている。さらに、第3フィールドにはサンプリング周波数が48kHzの場合のビットレートが記憶されており、各ビットレートに対応してビットレート係数が記憶されている。なお、ビットレート係数の値はあくまで一例であり適宜の値を選択すればよい。
ビットレート係数記憶部213は入力されたサンプリング周波数及びビットレートに基づき対応するビットレート係数を読み出し、ビットレート係数乗算部214へ出力する。ビットレート係数乗算部214は、補正値算出部13から出力された補正値にビットレート係数を乗じる。ビットレート係数乗算部214は乗算後の補正値を白色雑音信号に関する値として補正周波数係数算出部17へ出力する。
補正周波数係数算出部17は、ビットレート係数乗算部214から出力される補正値と係数I(m)とを加算し、補正後の係数I’(m)を算出する。補正後の係数I’(m)は周波数時間変換部24へ出力される。なお、実施の形態1でも述べたとおり、本実施の形態においてはビットレート係数記憶部213に接続されるビットレート係数乗算部214を補正値算出部13の後段に設ける構成としたが、ビットレート係数乗算部214を補正値算出部13の上段に設ける構成としても良い。また補正係数算出部18から出力される補正係数を利用しなくても良い。
以上の各ハードウェアの処理を、フローチャートを用いて説明する。図11は実施の形態3に係る補正後の係数の算出手順を示すフローチャートである。まず最小値検出部12は係数I(m)の零を除く係数の絶対値の最小値を1グラニュール内の係数の中から検出する(ステップS111)。白色雑音信号格納部16に接続される出力部14は白色雑音信号格納部16の白色雑音信号を最大スペクトル検出部15及び補正値算出部13へ出力する(ステップS112)。最大スペクトル検出部15は出力部14から出力された白色雑音信号の絶対値に係る最大値を検出する(ステップS113)。最大スペクトル検出部15で検出された、絶対値が最大値に係る白色雑音信号のスペクトル(またはスペクトル平均値)は補正係数算出部18へ出力される。
補正係数算出部18は最小値検出部12から出力された係数I(m)の最小値を、白色雑音信号のスペクトルの最大値(または平均値)の2倍で除すことにより、補正係数を算出する(ステップS114)。補正係数算出部18は算出した補正係数を補正値算出部13へ出力する。補正値算出部13は補正係数算出部18から出力される補正係数を、出力部14から出力されるブロックの白色雑音信号に係る各スペクトルに乗じ、補正値を算出する(ステップS115)。
ビットレート係数記憶部213は、サンプリング周波数取得部211から出力されるサンプリング周波数に基づき対応するフィールドを選択する(ステップS116)。ビットレート係数記憶部213はフィールド内でビットレート取得部210から出力されるビットレートに対応するビットレート係数を読み出す(ステップS117)。ビットレート係数記憶部213は読み出したビットレート係数をビットレート係数乗算部214へ出力する(ステップS118)。ビットレート係数乗算部214はステップS115で算出した補正値にビットレート係数を乗じる(ステップS119)。
ビットレート係数乗算部214は乗算後の補正値を白色雑音信号に関する値として補正周波数係数算出部17へ出力する(ステップS1110)。補正周波数係数算出部17は、ビットレート係数乗算部214から出力される各補正値を係数I(m)に加算して、補正後の係数I’(m)を算出する(ステップS1111)。なお、実施の形態1で述べた純音係数に基づく補正と実施の形態3で述べたビットレート係数に基づく補正とを組み合わせても良い。この場合、両係数の内小さい方の係数または大きい方の係数を乗ずる他、両係数を共に乗算するようにしても良い。
本実施の形態3は以上の如き構成としてあり、その他の構成及び作用は実施の形態1及び2と同様であるので、対応する部分には同一の参照番号を付してその詳細な説明を省略する。
実施の形態4
実施の形態3に係る処理を図7で示したパーソナルコンピュータを用いてソフトウェア処理として実現するようにしても良い。図12は実施の形態4に係る信号処理装置20の構成を示すブロック図である。信号処理装置たるパーソナルコンピュータ20を動作させるためのコンピュータプログラムは、本実施の形態4のように、CD−ROM、MO、またはDVD−ROM等の可搬型記録媒体1Aで提供することも可能である。さらに、コンピュータプログラムを、通信部66を介して図示しないサーバコンピュータからダウンロードすることも可能である。以下に、その内容を説明する。
図12に示すパーソナルコンピュータ20の図示しないリーダ/ライタに、ビットレートを取得させ、白色雑音信号を出力させ、補正後の係数を算出させるコンピュータプログラムが記録された可搬型記録媒体1A(CD−ROM、MO又はDVD−ROM等)を、挿入して記憶部65の制御プログラム内にこのプログラムをインストールする。または、かかるプログラムを、通信部66を介して外部の図示しないサーバコンピュータからダウンロードし、記憶部65にインストールするようにしても良い。かかるプログラムはRAM62にロードして実行される。これにより、上述のような本発明の信号処理装置20として機能する。
本実施の形態4は以上の如き構成としてあり、その他の構成及び作用は実施の形態1乃至3と同様であるので、対応する部分には同一の参照番号を付してその詳細な説明を省略する。
実施の形態5
実施の形態5は補間法により係数の補間係数を求めると共に、純音性の大小に応じて補間係数を補正する形態に関する。全体的な構成は実施の形態1の図1と同様であるので詳細な説明は省略する。図13は実施の形態5に係る補間処理部1のハードウェア構成を示すブロック図である。補間処理部1は量子化ビット数検出部111、補間判定部112、選択部113、算出部114、補正部116内の差分算出部115、加算部192及び純音係数乗算部19、並びに、純音係数記憶部191を含んで構成される。量子化ビット数検出部111は周波数帯域の係数の量子化時における量子化ビット数を、入力されるフレームサイド情報に基づき検出する。具体的には、係数I(m)の量子化ビット数はアンパッキング部22にてアンパックされたビットストリーム中のフレームサイド情報のtable_select[ch][gr][region]を参照することにより検出することができる。
このtable_select[ch][gr][region]は、ハフマン符号化されたハフマンテーブルを指し示すセレクト信号であり、指し示されたハフマンテーブルを復号化する事により、ハフマン復号化値、即ち係数I(m)を得る。上記regionにおける一の領域のハフマン復号化値の最大の数字を取得することにより、量子化ビット数を検出することもできるが、table_select[ch][gr][region]が指し示すハフマンテーブルに存在する最大の数字は予め決まっているので、その語長を量子化ビット数とすることで検出する。
量子化ビット数検出部111は検出した量子化ビット数を補間判定部112及び算出部114へ出力する。補間判定部112は、周波数帯域内の係数I(m)の量子化ビット数に所定量子化ビット数以下の係数I(m)が存在するか否かを判断する。例えば、補間判定部112は周波数帯域内の係数I(m)の量子化ビット数が、4以下の係数I(m)が存在するか否かを判断すればよい。そして、補間判定部112は、入力された周波数帯域内の係数I(m)に所定量子化ビット数以下の係数I(m)が存在すると判断した場合、当該周波数帯域の係数I(m)を補間処理すべく選択部113へ出力する。一方、補間判定部112は、入力された周波数帯域内の係数I(m)に所定量子化ビット数以下の係数I(m)が存在しないと判断した場合、当該周波数帯域の係数I(m)を補間処理することなく、補正後の係数I’(m)を周波数時間変換部24へ出力する(図1参照)。
選択部113は周波数帯域内の係数の中から複数の係数を選択する。これは、例えば、周波数帯域内の係数の両端の係数、すなわち最も低域にあたる係数及び最も高域にあたる係数を少なくとも選択する。図2の例においては、I(18×k)及びI(18×k+17)が選択される。さらに選択部113はこれらに加え、周波数帯域内の係数の中からスペクトルが最大及び最小の係数を選択するようにしても良い。図2の例においては、最小スペクトルであるI(18×k+3)、及び、最大スペクトルであり、また、最も高域にある係数I(18×k+17)が選択される。選択部113は入力された係数I(m)及び選択した複数の係数に係る情報を算出部114、並びに、補正部116内の差分算出部115及び加算部192へ出力する。
算出部114は選択部113において選択した係数を用い、選択されなかった係数の補間係数を、補間法を用いて算出する。この場合、算出部114は、量子化ビット数検出部111から出力される係数の量子化ビット数に基づき、所定量子化ビット数以下の係数についてのみ補間係数を算出するようにしても良い。この補間法は例えばラグランジュ補間法またはスプライン補間法が用いられる。以下では、スプライン補間法を用いた例について説明する。
N+1個の点(x0,y0 ), (x1 ,y1 ),・・・,(xN ,yN)が与えられている。ただし、x0 <x1 <・・xN とする。これらの点を滑らかに接続するスプライン補間について述べる。3次スプライン補間で求まる曲線をy=S(x)とする。S(x)は各区間[xj,yj ]で区分的に定義されているとする。各区間xj ≦x≦xj+1 の区間でS(x)=Sj(x)とする。さらに、Sj (x)は式(2)で示す3次多項式で与えられる。
係数aj ,bj ,cj ,dj は以下に述べる条件から決まる。すなわち、曲線y=S(x)は連続であり、点(xj,yj )(j=0,1,・・・,N)の全てをとおる(条件1)。また区間の境目x=xj (j=1,2,・・・,N-1 )で、y=S(x)の1階微分係数および2階微分係数が連続である(条件2)を満たす場合に決定される。条件1から、式(3)が導出される。
また条件2から式(4)が導出される。
これら式(3)及び式(4)を用いることにより係数aj ,bj ,cj ,djが決定される。まず、x=xj (j=1,2,・・・,N-1 )でのS(x)の2階微分係数を式(5)のようにおく。
3次スプラインの定義は式(2)であるから、その2階微分係数は式(6)で表される。
これによりbj =uj /2となる。さらに、2階微分係数は式(7)で表すことができる。
式(7)から、式(8)が導出される。
また以上の式から式(9)の条件を自動的に満たす。
またdj =yj も明らかであることから、条件1を用いて式(10)が導出される。
さらに式(10)から最終的に式(11)が得られる。
ここで、式(12)で示す最後の条件を用いる。
式(12)は3次多項式から式(13)の如く表現できる。
式(13)にaj ,bj ,cj を代入することにより式(14)が導出される。
これを順に並べた場合、式(15)で示す連立方程式をなす。
ただし、hj ,vj は以下の式(16)で示す条件を満たすものとする。なお、hj ,vjは最初に与えられているxj ,yj だけから計算できるので既知の定数である。
未知変数uj は、全部でN+1個あるが、上で述べた連立1次方程式の数はN-1個である。したがって、この連立1次方程式からuj を一意に決定できない。そこで、曲線の両端の点(x0,y0 ),(xN ,yN )で、それぞれ境界条件を1つずつ付け加える。この境界条件にはいくつか考えられるが、ここでは曲線の傾きの変化率が両端で0であるという条件を採用する。2階微分が0であることから式(17)が導出される。
式(17)から式(18)が導かれる。
またu0 =uN =0であることから、式(19)で示すu1 〜uN-1 に関する連立1次方程式が求まる。
次に、スプライン補間のアルゴリズムを説明する。まず、N+1個の点(xj ,yj )(j=0,1,・・・,N)を与え、3次スプラインは区分的に式(20)及び式(21)を満たすとする。
曲線の両端での境界条件を式(22)とした場合、u0 =uN =0となる。
hj (j=0,1,・・・,N)及びuj (j=0,1,・・・,N)を計算し、連立一次方程式を解くことにより、u1〜uN-1 が求まる。最後に係数aj ,bj ,cj ,djを求め、曲線S(x)が決定される。算出部114は選択部113で選択された係数に基づき、曲線Sj (x)の係数aj,bj ,cj ,dj を求める。そして、選択されていない係数であって、量子化ビット数が所定値以下の係数について、補間係数Sj(x)を算出し、補間後の補間係数Sj (x)及び補間されていない係数を係数I’(m)として、差分算出部115へ出力する。
補正部116は差分算出部115、加算部192及び純音係数乗算部19を含んで構成される。差分算出部115には算出部114で算出した補間係数Sj (x)及びこの補間係数Sj (x)に対応して選択部113から出力される係数I(m)が入力される。差分算出部115は、算出部114での算出前の選択部113から出力される係数I(m)と算出部114で算出された係数I(m)に対応する補間係数Sj(x)との差分を算出する。すなわち、係数I(m)からスプライン補間により補間係数Sj (x)が算出された場合に、係数I(m)と補間係数Sj(x)との差分を算出する。差分算出部115で算出された差分は純音係数乗算部19へ出力される。
純音係数記憶部191は図1で示した指標値算出部27に接続されている。純音係数記憶部191は、指標値算出部27から出力された指標値及びスケールファクタの最大値に対応する純音係数を読み出し、読み出した純音係数を純音係数乗算部19へ出力する。なお、純音係数記憶部191の内容は図5で説明したとおりであり、スケールファクタの最大値毎に区分けされており、スケールファクタの最大値毎に、指標値が大きくなるにつれて小さくなる純音係数が記憶されている。
純音係数乗算部19は、差分算出部115から出力された差分に、純音係数記憶部191から出力された係数を乗じる。乗算後の差分は加算部192へ出力される。加算部192は補間係数Sj (x)に対応して選択部113から出力されたI(m)に純音係数乗算部19から出力される乗算後の差分を加算する。すなわち、補正部116での処理を一般化した場合、補正後の補間係数Sj’(x)=I(m)+{(I(m)−Sj (x))×純音係数}となる。補正後の補間係数Sj ’(x)は、選択部113で選択されなかった係数と共に加算部192から係数I’(m)として、周波数時間変換部24へ出力される。
図14及び図15は実施の形態5に係る補間処理の手順を示すフローチャートである。なお、以下では説明を容易にするために周波数帯域内の係数のブロック長をロングブロックであるとして説明する。まず量子化ビット数検出部111は量子化ビット数を検出する(ステップS41)。この検出した量子化ビット数は補間判定部112及び算出部114へそれぞれ出力される。補間判定部112は、周波数帯域内の係数の中に量子化ビット数が所定値以下のものが存在するか否かを判断する(ステップS42)。補間判定部112は係数の量子化ビット数に所定値以下のものが存在しないと判断した場合(ステップS42でNO)、一連の処理を終了する。この場合、補間判定部112は当該周波数帯域の係数を周波数時間変換部24へ出力する。
一方、補間判定部112は係数の量子化ビット数が所定値以下のものが存在すると判断した場合(ステップS42でYES)、補間判定部112は、当該周波数帯域内の係数を選択部113へ出力する。選択部113は、周波数帯域内の両端の係数、すなわち低域側の係数及び高域側の係数を、スプライン補間の節点とすべく選択する(ステップS43)。選択部113は入力された係数I(m)及び選択した複数の係数に係る情報を算出部114、並びに、補正部116内の差分算出部115及び加算部192へ出力する。さらに、選択部113は周波数帯域内の係数の最大スペクトルの係数及び最小スペクトルの係数をスプライン補間の節点とすべく、選択する(ステップS44)。なお、最大スペクトルの係数及び最小スペクトルの係数はそれぞれ、周波数帯域内の両端の係数となることもあることから、節点数は2〜4となる。
算出部114は、式(2)で示すステップS43及びS44で選択した係数に基づき、3次スプライン関数の係数aj ,bj ,cj ,djを算出する(ステップS45)。算出部114はステップS43及びS44において選択されない係数の量子化ビット数が所定値以下であるか否かを判断する(ステップS46)。算出部114は選択されない係数の量子化ビット数が所定値以下であると判断した場合(ステップS46でYES)、求めた係数aj,bj ,cj ,dj 及び式(2)から補間係数を算出する(ステップS47)。
補間係数は算出部114から差分算出部115へ出力され、また当該補間係数に対応する補間前の係数も差分算出部115へ出力される。差分算出部115は係数とこれに対応する補間係数との差分を算出する(ステップS151)。純音係数記憶部191は、指標値算出部27から出力されるスケールファクタの最大値に基づき対応するフィールドを選択する(ステップS152)。純音係数記憶部191はフィールド内で指標値算出部27から出力される指標値に対応する純音係数を読み出す(ステップS153)。純音係数記憶部191は読み出した純音係数を純音係数乗算部19へ出力する(ステップS154)。純音係数乗算部19はステップS151で算出した差分に純音係数を乗じる(ステップS155)。
純音係数乗算部19は純音係数が乗じられた差分を加算部192へ出力する。また選択部113から加算部192へは補正中の対応する係数が入力される。加算部192は入力された係数に純音係数が乗じられた差分を加算して補間係数を補正する(ステップS156)。ステップS46において選択されない係数の量子化ビット数が所定値以下でないと判断した場合(ステップS46でNO)、補間処理を行わず、ステップS47、並びに、ステップS151乃至ステップS156の処理をスキップする。
算出部114は全てのステップS43及びS44において選択されない係数に対するステップS46の処理が終了したか否かを判断する(ステップS48)。算出部114は、処理が終了していないと判断した場合(ステップS48でNO)、他の選択されていない係数の補関係数を求めるべく、ステップS46へ移行する。一方、全ての選択されない係数に対する処理を終了したと算出部114が判断した場合(ステップS48でYES)、一連の処理を終了する。これにより、一の周波数帯域について、選択されなかった係数に対する補正後の補間係数及び選択された係数が周波数時間変換部24へ出力される。以上の処理を全ての周波数帯域に対して実行し、量子化ビット数が低い係数に対するスプライン補間により、最適なスペクトルが補間係数として得られる結果、量子化された係数の分解能を高めることができ、物足りなさや違和感を受けることなく再生が可能となる。また純音性に応じて補間係数を補正するようにしたので、より最適な量を補間することが可能となる。なお、以上述べた節点となる係数の選択方法及び量子化ビット数の値はあくまで一例でありこれに限るものでない。
本実施の形態5は以上の如き構成としてあり、その他の構成及び作用は実施の形態1乃至4と同様であるので、対応する部分には同一の参照番号を付してその詳細な説明を省略する。
実施の形態6
実施の形態5に係る処理を図7で示したパーソナルコンピュータを用いてソフトウェア処理として実現するようにしても良い。図16は実施の形態6に係る信号処理装置20の構成を示すブロック図である。信号処理装置たるパーソナルコンピュータ20を動作させるためのコンピュータプログラムは、本実施の形態6のように、CD−ROM、MO、またはDVD−ROM等の可搬型記録媒体1Aで提供することも可能である。さらに、コンピュータプログラムを、通信部66を介して図示しないサーバコンピュータからダウンロードすることも可能である。以下に、その内容を説明する。
図16に示すパーソナルコンピュータ20の図示しないリーダ/ライタに、指標値を算出させ、係数を選択させ、補間係数を算出させ、補間係数を補正させるコンピュータプログラムが記録された可搬型記録媒体1A(CD−ROM、MO又はDVD−ROM等)を、挿入して記憶部65の制御プログラム内にこのプログラムをインストールする。または、かかるプログラムを、通信部66を介して外部の図示しないサーバコンピュータからダウンロードし、記憶部65にインストールするようにしても良い。かかるプログラムはRAM62にロードして実行される。これにより、上述のような本発明の信号処理装置20として機能する。
本実施の形態6は以上の如き構成としてあり、その他の構成及び作用は実施の形態1乃至5と同様であるので、対応する部分には同一の参照番号を付してその詳細な説明を省略する。
実施の形態7
実施の形態7は補間法により係数の補間係数を求めると共に、ビットレートの高低に応じて補間係数を補正する形態に関する。全体的な構成は実施の形態3の図8と同様であるので詳細な説明は省略する。図17は実施の形態7に係る補間処理部1のハードウェア構成を示すブロック図である。補間処理部1は量子化ビット数検出部111、補間判定部112、選択部113、算出部114、補正部116内の差分算出部115、加算部192及びビットレート係数乗算部214、並びに、ビットレート係数記憶部213を含んで構成される。なお、量子化ビット数検出部111、選択部113及び算出部114等は実施の形態5と同一の構成であるので詳細な説明は省略する。
算出部114は、選択部113にて選択されていない係数であって、量子化ビット数が所定値以下の係数について、補間係数Sj (x)を算出する。算出部114は、この補間後の補間係数Sj(x)及び補間されていない係数を差分算出部115へ出力する。
補正部116は差分算出部115、加算部192及びビットレート係数乗算部214を含んで構成される。差分算出部115には算出部114で算出した補間係数Sj (x)及びこの補間係数Sj (x)に対応して選択部113から出力される係数I(m)が入力される。差分算出部115は、算出部114での算出前の選択部113から出力される係数I(m)と算出部114で算出された係数I(m)に対応する補間係数Sj(x)との差分を算出する。すなわち、係数I(m)からスプライン補間により補間係数Sj (x)が算出された場合に、係数I(m)と補間係数Sj(x)との差分を算出する。差分算出部115で算出された差分はビットレート係数乗算部214へ出力される。
ビットレート係数記憶部213は図8で示したサンプリング周波数取得部211及びビットレート取得部210に接続されている。ビットレート係数記憶部213は、サンプリング周波数取得部211から出力されるサンプリング周波数に基づき対応するフィールドを選択する。また、ビットレート係数記憶部213はフィールド内でビットレート取得部210から出力されるビットレートに対応するビットレート係数を読み出す。ビットレート係数記憶部213は読み出したビットレート係数をビットレート係数乗算部214へ出力する。なお、ビットレート係数記憶部213は実施の形態3の図10で説明したとおりであるので詳細な説明は省略する。
ビットレート係数乗算部214は、差分算出部115から出力された差分に、ビットレート係数記憶部213から出力されたビットレート係数を乗じる。乗算後の差分は加算部192へ出力される。加算部192は補間係数Sj (x)に対応して選択部113から出力された係数I(m)にビットレート係数乗算部214から出力される乗算後の差分を加算する。補正後の補間係数Sj’(x)は、選択部113で選択されなかった係数と共に加算部192から係数I’(m)として、周波数時間変換部24へ出力される。
図18及び図19は実施の形態7に係る補間処理の手順を示すフローチャートである。まず量子化ビット数検出部111は量子化ビット数を検出する(ステップS181)。この検出した量子化ビット数は補間判定部112及び算出部114へそれぞれ出力される。補間判定部112は、周波数帯域内の係数の中に量子化ビット数が所定値以下のものが存在するか否かを判断する(ステップS182)。補間判定部112は係数の量子化ビット数に所定値以下のものが存在しないと判断した場合(ステップS182でNO)、一連の処理を終了する。この場合、補間判定部112は当該周波数帯域の係数を周波数時間変換部24へ出力する。
一方、補間判定部112は係数の量子化ビット数が所定値以下のものが存在すると判断した場合(ステップS182でYES)、補間判定部112は、当該周波数帯域内の係数を選択部113へ出力する。選択部113は、周波数帯域内の両端の係数、すなわち低域側の係数及び高域側の係数を、スプライン補間の節点とすべく選択する(ステップS183)。選択部113は入力された係数I(m)及び選択した複数の係数に係る情報を算出部114、並びに、補正部116内の差分算出部115及び加算部192へ出力する。さらに、選択部113は周波数帯域内の係数の最大スペクトルの係数及び最小スペクトルの係数をスプライン補間の節点とすべく、選択する(ステップS184)。
算出部114は、式(2)で示すステップS183及びS184で選択した係数に基づき、3次スプライン関数の係数aj ,bj ,cj ,djを算出する(ステップS185)。算出部114はステップS183及びS184において選択されない係数の量子化ビット数が所定値以下であるか否かを判断する(ステップS186)。算出部114は選択されない係数の量子化ビット数が所定値以下であると判断した場合(ステップS186でYES)、求めた係数aj,bj ,cj ,dj 及び式(2)から補間係数を算出する(ステップS187)。
補間係数は算出部114から差分算出部115へ出力され、また当該補間係数に対応する補間前の係数も差分算出部115へ出力される。差分算出部115は係数とこれに対応する補間係数との差分を算出する(ステップS191)。ビットレート係数記憶部213は、サンプリング周波数取得部211から出力されるサンプリング周波数に基づき対応するフィールドを選択する(ステップS192)。ビットレート係数記憶部213はフィールド内でビットレート取得部210から出力されるビットレートに対応するビットレート係数を読み出す(ステップS193)。ビットレート係数記憶部213は読み出したビットレート係数をビットレート係数乗算部214へ出力する(ステップS194)。
ビットレート係数乗算部214は差分算出部115から出力される差分に、ビットレート係数記憶部213から出力されたビットレート係数を乗ずる(ステップS195)。ビットレート係数乗算部214は、ビットレート係数が乗じられた差分を加算部192へ出力する。また選択部113から加算部192へは補正中の対応する係数が入力される。加算部192は入力された係数にビットレート係数が乗じられた差分を加算して補間係数を補正する(ステップS196)。ステップS186において選択されない係数の量子化ビット数が所定値以下でないと判断した場合(ステップS186でNO)、補間処理を行わず、ステップS187、並びに、ステップS191乃至ステップS196の処理をスキップする。
算出部114は全てのステップS183及びS184において選択されない係数に対するステップS186の処理が終了したか否かを判断する(ステップS188)。算出部114は、処理が終了していないと判断した場合(ステップS188でNO)、他の選択されていない係数の補関係数を求めるべく、ステップS186へ移行する。一方、全ての選択されない係数に対する処理を終了したと算出部114が判断した場合(ステップS188でYES)、一連の処理を終了する。これにより、一の周波数帯域について、選択されなかった係数に対する補正後の補間係数及び選択された係数が周波数時間変換部24へ出力される。以上の処理を全ての周波数帯域に対して実行し、量子化ビット数が低い係数に対するスプライン補間により、最適なスペクトルが補間係数として得られる結果、量子化された係数の分解能を高めることができ、物足りなさや違和感を受けることなく再生が可能となる。またビットレートの高低に応じて補間係数を補正するようにしたので、より最適な量を補間することが可能となる。さらに、実施の形態5及び7では純音係数及びビットレート係数をそれぞれ求めて差分に乗算する構成としたが、実施の形態5と実施の形態7とを組み合わせ、純音係数またはビットレート係数のいずれか低い方の係数を差分に乗ずる、いずれか高い方の係数を差分に乗ずる、または純音係数及びビットレート係数双方を差分に乗ずるようにしても良い。
本実施の形態7は以上の如き構成としてあり、その他の構成及び作用は実施の形態1乃至6と同様であるので、対応する部分には同一の参照番号を付してその詳細な説明を省略する。
実施の形態8
実施の形態7に係る処理を図7で示したパーソナルコンピュータを用いてソフトウェア処理として実現するようにしても良い。図20は実施の形態8に係る信号処理装置20の構成を示すブロック図である。信号処理装置たるパーソナルコンピュータ20を動作させるためのコンピュータプログラムは、本実施の形態8のように、CD−ROM、MO、またはDVD−ROM等の可搬型記録媒体1Aで提供することも可能である。さらに、コンピュータプログラムを、通信部66を介して図示しないサーバコンピュータからダウンロードすることも可能である。以下に、その内容を説明する。
図20に示すパーソナルコンピュータ20の図示しないリーダ/ライタに、ビットレートを取得させ、係数を選択させ、補間係数を算出させ、補間係数を補正させるコンピュータプログラムが記録された可搬型記録媒体1A(CD−ROM、MO又はDVD−ROM等)を、挿入して記憶部65の制御プログラム内にこのプログラムをインストールする。または、かかるプログラムを、通信部66を介して外部の図示しないサーバコンピュータからダウンロードし、記憶部65にインストールするようにしても良い。かかるプログラムはRAM62にロードして実行される。これにより、上述のような本発明の信号処理装置20として機能する。
本実施の形態8は以上の如き構成としてあり、その他の構成及び作用は実施の形態1乃至7と同様であるので、対応する部分には同一の参照番号を付してその詳細な説明を省略する。
実施の形態9
実施の形態1においては、指標値の算出を各周波数帯域のスケールファクタに関する値の最大値から平均値を減じることにより行っていたが、本実施の形態の如く、各周波数帯域のパワーまたはエネルギの最大値からパワーまたはエネルギの平均値を減じることにより行っても良い。
図21は実施の形態9に係る復号装置20のハードウェア構成を示すブロック図である。指標値算出部27は逆量子化部23に接続されている。逆量子化部23から出力される各周波数帯域のIMDCT係数は指標値算出部27へ出力される。指標値算出部27は各周波数帯域のパワーまたはエネルギの最大値からパワーまたはエネルギの平均値を減じることにより、指標値を算出し、算出した指標値を図13及び図3に示す如く、補間処理部1の純音係数記憶部191へ出力する。以下に、指標値算出部27における指標値算出処理の手順を説明する。
まず、パワーを用いた指標値算出処理について説明する。指標値算出部27は逆量子化部23から出力される各周波数帯域の係数を2乗してパワー(パワースペクトル)を算出する。そして、1グラニュール分の算出したパワーの中から最大値のパワーを抽出する。また、1グラニュールのパワーの総和を総数(上述の例では576)で除算することにより平均パワーを算出する。最後に指標値算出部27は、抽出した最大値のパワーから平均パワーを減じることにより指標値を算出する。
次に、エネルギを用いた指標値算出処理について説明する。指標値算出部27は各周波数帯域の係数を2乗してパワーを求め、エネルギを周波数帯域毎に算出する。このエネルギは周波数帯域内のパワーの総和であり、上述の例ではblock(0)〜block(31)それぞれについて、32のエネルギが算出される。次いで、指標値算出部27は算出したエネルギの中から最大値のエネルギを抽出する。さらに、指標値算出部27は各周波数帯域のエネルギの総和を総数(上述の例では32)で除すことによりエネルギの平均値を算出する。最後に指標値算出部27は、抽出した最大値のエネルギから平均値のエネルギを除して指標値を算出する。なお、直交変換方式としてDFT(Discrete Fourier Transform)またはFFT(Fast Fourier Transform)を用いた場合、パワーを用いた指標値算出処理を実行し、直交変換方式として、近隣のスペクトル間で相互に影響を及ぼすMDCTを用いた場合、エネルギを用いた指標値算出処理を実行することが好ましい。
また算出処理及び消費電力を低減することを目的とする場合は、実施の形態1で述べたスケールファクタに関する値に基づく指標値の算出を行い、より厳密な判断が要求される音源の場合は、本実施の形態の如くパワーまたはエネルギを用いた指標値の算出を行うようにすればよい。すなわち、スケールファクタは、MDCT係数の絶対値の最大値に基づいて算出していることから、一の周波数帯域内に極端に値の大きい最大値が存在する場合と、一の周波数帯域内の全ての信号の値が極端に大きい場合とでは、同様の値のスケールファクタが算出される虞がある。パワーまたはエネルギを用いた指標値算出処理の場合、上述したケースでも影響を受けにくい。
本実施の形態9は以上の如き構成としてあり、その他の構成及び作用は実施の形態1乃至8と同様であるので、対応する部分には同一の参照番号を付してその詳細な説明を省略する。