| 【発明の名称】 |
オーディオ信号符号化装置 |
| 【発明者】 |
【氏名】西谷 勝義
|
| 【要約】 |
【課題】MDCT係数の量子化前にMDCT係数のセクション判定を行う。
【解決手段】オーディオ信号から聴覚心理パラメータを算出する聴覚心理分析器1と、オーディオ信号をMDCT係数に変換するMDCT器2と、MDCT係数に基づく量子化雑音が聴覚心理パラメータの許容量子化雑音電力よりも大きくならないようにMDCT係数のスケールファクタバンドのスケールファクタを算出するスケールファクタ算出器3と、各スケールファクタバンドをそれぞれ複数のセクションに分割するセクション判定器9と、スケールファクタと全体の量子化ステップ数にてMDCT係数の量子化を行う量子化器4と、量子化値を可変長符号化する可変長符号化器6と、符号されたビット数が使用可能なビット数に収まっているかを判定するビット数判定器7と、符号化データをまとめてビットストリームを生成するビットストリーム生成器8とからオーディオ信号符号化装置を構成した。 |
【特許請求の範囲】
【請求項1】 オーディオ信号が入力されて符号化が行なわれるオーディオ信号符号化装置において、入力した前記オーディオ信号から人間の聴覚特性に基づいた聴覚心理パラメータを算出する聴覚心理分析手段と、入力した前記オーディオ信号をMDCT係数(スペクトルデータ)に変換するMDCT変換手段と、前記MDCT変換手段で得られた前記MDCT係数を複数のスケールファクタバンドに分けて、各スケールファクタバンドの前記MDCT係数に基づいて計算される量子化雑音が、前記聴覚心理分析手段で算出された前記聴覚心理パラメータの許容量子化雑音電力よりも大きくならないように各スケールファクタバンドのスケールファクタを算出するスケールファクタ算出手段と、前記スケールファクタバンド毎に前記MDCT係数の最大値を求め、この値を前記スケールファクタ算出手段で算出された前記スケールファクタに基づいて正規化すると共に、前記スケールファクタバンドの集合体を複数のセクションに分割するセクション判定手段と、前記スケールファクタ算出手段で算出された各スケールファクタバンドのスケールファクタと全体の量子化ステップ数にて前記MDCT係数の量子化をスケールファクタバンド単位で行う量子化手段と、前記量子化手段からの量子化値を、前記セクション判定手段で定められた各セクションごとにセクションと対応するハフマンコードブックを用いて可変長符号化する可変長符号化手段と、前記可変長符号化手段で符号されたビット数が使用可能なビット数に収まっているかどうかを判定するビット数判定手段と、前記スケールファクタ算出手段の出力と前記ビット数判定手段の出力とが供給されて符号化データをまとめてビットストリームを生成するビットストリーム生成手段とを備えたことを特徴とするオーディオ信号符号化装置。 【請求項2】 請求項1記載のオーディオ信号符号化装置において、前記セクション判定手段は、前記スケールファクタバンド毎に前記MDCT係数の最大値を求め、正規化し、符号化レートに応じてセクション分割判定を行い、更に、セクション毎に前記スケールファクタバンドの正規化値からセクションの正規化値の最大値を求めて使用するハフマンコードブックを決定することを特徴とするオーディオ信号符号化装置。 【請求項3】 請求項1記載のオーディオ信号符号化装置において、前記セクション判定手段は、前記スケールファクタバンド毎に前記MDCT係数の最大値を求め、正規化し、前記スケールファクタバンドの正規化値の上位を符号化レートに応じた個数分選択し、選択された正規化値に基づいて各セクションに含まれるスケールファクタバンドの数を決定し、セクション分割判定を行い、更に、セクション毎に前記スケールファクタバンドの正規化値からセクションの正規化値の最大値を求めて使用するハフマンコードブックを決定することを特徴とするオーディオ信号符号化装置。
|
【発明の詳細な説明】【0001】 【発明の属する技術分野】本発明は、MPEG2 AAC方式を適用したオーディオ信号符号化装置において、MDCT係数の量子化前にMDCT係数のセクション判定を行うように構成したオーディオ信号符号化装置に関するものである。 【0002】 【従来の技術】オーディオ信号符号化方法は種々あるが、時間軸上で入力したオーディオ信号を、周波数軸上のオーディオ信号に変換して高能率符号化を行う方法の一例としてMPEG2 AAC(Moving Picture Image Coding Experts Group Phase 2Advanced Audio Coding )方式が適用されている。 【0003】図4は従来のオーディオ信号符号化装置を説明するためのブロック図、図5はMDTC係数のセクショニングの一例を説明するための図である。 【0004】図4に示した従来のオーディオ信号符号化装置は、上記したMPEG2 AAC方式を適用したものである。 【0005】図4に示した如く、従来のオーディオ信号符号化装置では、時間軸上のオーディオ信号が聴覚心理分析器1とMDCT(Modified Discrete Cosine Transform)器2とに入力されている。 【0006】まず、聴覚心理分析器1では、入力した時間軸上のオーディオ信号にFFT処理を施して、周波数スペクトルを求め、それを基にマスキングを計算し、人間の聴覚特性に基づいて予め設定した周波数帯域毎の許容量子化雑音電力を聴覚心理パラメータとして算出し、この周波数帯域毎の許容量子化雑音電力をスケールファクタ算出器3側に出力している。 【0007】一方、MDCT器2では、入力した時間軸上のオーディオ信号を周波数軸上のMDCT係数(スペクトルデータ)に変換して、このMDCT係数をスケールファクタ算出器3及び量子化器4側に出力している。この際、変換は演算ブロック長を50%ずつオーバーラップして実行し、例えば、2048サンプルを1024本のMDCT係数に変換している。 【0008】次に、スケールファクタ算出器3では、人間の聴覚特性を基にした周波数帯域毎に1024本のMDCT係数を複数のスケールファクタバンドに分けて、各スケールファクタバンド毎に計算された量子化雑音が聴覚心理分析器1で算出されたそれぞれ対応する周波数帯域の許容量子化雑音電力よりも大きくならないよう各スケールファクタバンドのスケールファクタ(量子化ステップ数)を算出して、これを量子化器4及び可変長符号器6側に出力している。 【0009】次に、量子化器4では、MDCT器2からのMDCT係数を各スケールファクタバンド単位に量子化を行っており、スケールファクタ算出器3で算出された各スケールファクタバンドのスケールファクタと全体の量子化ステップ数から各スケールファクタバンド内のMDCT係数を量子化し、量子化済みのMDCT係数をセクション生成器5側に出力している。この際、量子化に必要なビット数が使用可能なビット数以内に収まるように全体の量子化ステップ数を制御して量子化を実行している。 【0010】次に、セクション生成器5では、量子化器4から出力されたMDCT係数の量子化値を図5に示したように複数のブロック単位(以下、セクションと記す)に分割してセクショニングを行う。符号化を行う際には複数のハフマンコードブックを使用し、各ハフマンコードブックは各スケールファクタバンド内の量子化値の最大値に応じて、使用するハフマンコードブックを変えている。セクション内部では、更に、包含されるスケールファクタバンドの最大値により、使用するコードブックが決定される。セクショニングは符号化効率を向上させる一手法であり、連続するスケールファクタバンドを1つのセクションとし、そのセクションに対して1つのハフマンコードブックで符号化を行うことで、ハフマンコードブックの符号量を軽減させ、とくに低符号化レートの場合に符号化率を向上させる。 【0011】即ち、図5に示したMDTC係数のセクショニングの一例では、sfbNがN番目のスケールファクタバンドを表しており、sfb0〜sfb2からなるsection0はcodebook0を用い、sfb3〜sfb6からなるsection1はcodebook1を用い、sfb7〜sfb8からなるsection2はcodebook2を用い、以下、同様に、sfbM−1〜sfbM+1からなるsectionMはcodebookMを用いている。 【0012】例えば、サンプリング周波数48KHzのステレオ信号を符号化レート64Kbpsで符号化する場合、1チャンネルの1フレーム当たりの平均割り当てビット数は682ビットとなり、各スケールファクタバンドで異なるハフマンコードブックを使用して符号化を行うと、そのハフマンコードブックを表すのに必要なビット数は441ビットとなってしまうため、量子化値の符号量の割り当てが少なくなり音質劣化につながる。そこで、セクショニングにより、ハフマンコードブックの符号量を削減し、量子化値に対して符号量の割り当てを多くして音質を改善する。更に、セクションのパターンを複数個用意し、可変長符号化器6に送る。 【0013】次に、可変長符号化器6では、量子化器4から出力されるMDCT係数の量子化値をセクション生成器5で決められた各セクション毎に、セクション内をこのセクションと対応する同一のハフマンコードブックを使用して可変長符号化を施している。更に、スケールファクタも可変長符号化を施し、冗長度を削減する。そして、複数のセクションのパターン中で発生符号量が最も少ないセクションのパターンを選定して、これをビット数判定器7側に出力する。 【0014】次に、ビット数判定器7では、可変長符号化器6で可変長符号化されたビット数が使用可能なビット数以内に収まっているか否かを判定し、ここでの判定結果が使用可能なビット数を越えている場合には量子化器4に戻って再度量子化を行い、生成されるビット数が使用可能なビット数を下回るまで繰り返される。そして、使用可能なビット数を満足して出力された可変長符号化データは、ビットストリーム生成器8において、サンプリング周波数、符号化レートなどの符号化パラメータと共に多重化されてビットストリームとして伝送されている。 【0015】 【発明が解決しようとする課題】ところで、上記した従来のオーディオ信号符号化装置では、MPEG2 AAC方式を適用しているものの、MDCT係数のセクショニングの最良の方法が確立しておらず、また、MDCT係数を量子化した後にその都度MDCT係数の量子化値へのセクショニングを行い、数種類のセクション分割の中から最小のビット数になるように選定を行わなければならないため、オーディオ信号符号化の処理時間がかかり問題が生じている。 【0016】 【課題を解決するための手段】本発明は上記課題に鑑みてなされたものであり、第1の発明は、オーディオ信号が入力されて符号化が行なわれるオーディオ信号符号化装置において、入力した前記オーディオ信号から人間の聴覚特性に基づいた聴覚心理パラメータを算出する聴覚心理分析手段と、入力した前記オーディオ信号をMDCT係数(スペクトルデータ)に変換するMDCT変換手段と、前記MDCT変換手段で得られた前記MDCT係数を複数のスケールファクタバンドに分けて、各スケールファクタバンドの前記MDCT係数に基づいて計算される量子化雑音が、前記聴覚心理分析手段で算出された前記聴覚心理パラメータの許容量子化雑音電力よりも大きくならないように各スケールファクタバンドのスケールファクタを算出するスケールファクタ算出手段と、前記スケールファクタバンド毎に前記MDCT係数の最大値を求め、この値を前記スケールファクタ算出手段で算出された前記スケールファクタに基づいて正規化すると共に、前記スケールファクタバンドの集合体を複数のセクションに分割するセクション判定手段と、前記スケールファクタ算出手段で算出された各スケールファクタバンドのスケールファクタと全体の量子化ステップ数にて前記MDCT係数の量子化をスケールファクタバンド単位で行う量子化手段と、前記量子化手段からの量子化値を、前記セクション判定手段で定められた各セクションごとにセクションと対応するハフマンコードブックを用いて可変長符号化する可変長符号化手段と、前記可変長符号化手段で符号されたビット数が使用可能なビット数に収まっているかどうかを判定するビット数判定手段と、前記スケールファクタ算出手段の出力と前記ビット数判定手段の出力とが供給されて符号化データをまとめてビットストリームを生成するビットストリーム生成手段とを備えたことを特徴とするオーディオ信号符号化装置である。 【0017】また、第2の発明は、上記した第1の発明のオーディオ信号符号化装置において、前記セクション判定手段は、前記スケールファクタバンド毎に前記MDCT係数の最大値を求め、正規化し、符号化レートに応じてセクション分割判定を行い、更に、セクション毎に前記スケールファクタバンドの正規化値からセクションの正規化値の最大値を求めて使用するハフマンコードブックを決定することを特徴とするオーディオ信号符号化装置である。 【0018】また、第3の発明は、上記した第1の発明のオーディオ信号符号化装置において、前記セクション判定手段は、前記スケールファクタバンド毎に前記MDCT係数の最大値を求め、正規化し、前記スケールファクタバンドの正規化値の上位を符号化レートに応じた個数分選択し、選択された正規化値に基づいて各セクションに含まれるスケールファクタバンドの数を決定し、セクション分割判定を行い、更に、セクション毎に前記スケールファクタバンドの正規化値からセクションの正規化値の最大値を求めて使用するハフマンコードブックを決定することを特徴とするオーディオ信号符号化装置である。 【0019】 【発明の実施の形態】以下に本発明に係るオーディオ信号符号化装置の一実施例を図1乃至図3を参照して詳細に説明する。 【0020】図1は本発明に係るオーディオ信号符号化装置を説明するためのブロック図、図2は本発明に係るオーディオ信号符号化装置において、セクション判定器によるMDCT係数のセクション判定の一例を説明するための図、図3は本発明に係るオーディオ信号符号化装置において、セクション判定器によるMDCT係数のセクション判定の変形例を説明するための図である。 【0021】尚、説明の便宜上、先に従来例で示した構成部材と同一構成部材に対しては同一の符号を付して適宜説明し、且つ、従来例と異なる構成部材に新たな符号を付して説明する。 【0022】図1に示した本発明に係るオーディオ信号符号化装置は、従来例と同様に、MPEG2 AAC方式を適用している。 【0023】先に図4を用いて説明した従来例では、MDCT係数(スペクトルデータ)のセクショニングを量子化後に行っているの対して、本発明に係るオーディオ信号符号化装置では、MDCT係数の量子化前にMDCT係数のセクション判定を行うことで、オーディオ信号符号化の処理時間の短縮が可能になることを特徴とするものである。即ち、従来例では図4に示したように量子化器4の後にセクション生成器5を設けているが、本発明では図1に示したように上記したセクション生成器5に代えて、量子化器4の前にセクション判定器9を新たに設けている。 【0024】図1に示した如く、本発明に係るオーディオ信号符号化装置では、時間軸上のオーディオ信号が聴覚心理分析器1とMDCT器2とに入力され、聴覚心理分析器1により入力した時間軸上のオーディオ信号から人間の聴覚特性に基づいて予め設定した周波数帯域毎の許容量子化雑音電力を聴覚心理パラメータとして算出してスケールファクタ算出器3側に出力する一方、MDCT器2により入力した時間軸上のオーディオ信号を周波数軸上のMDCT係数(スペクトルデータ)に変換して、このMDCT係数をスケールファクタ算出器3及びセクション判定器9側に出力している。 【0025】次に、スケールファクタ算出器3では、人間の聴覚特性を基にした周波数帯域毎に1024本のMDCT係数を複数のスケールファクタバンドに分けて、各スケールファクタバンド毎に計算された量子化雑音が聴覚心理分析器1で算出されたそれぞれ対応する周波数帯域の許容量子化雑音電力よりも大きくならないよう各スケールファクタバンドのスケールファクタ(量子化ステップ数)を算出して、これをセクション判定器9及び量子化器4並びビットストリーム生成器8側に出力している。 【0026】次に、MDCT器2及びスケールファクタ算出器3と、量子化器4との間に設けたセックション判定器9は、本発明の要部となるものである。 【0027】このセックション判定器9では、各スケールファクタバンドごとにMDCT係数の最大値を求め、この値をスケールファクタ算出器3から送られるスケールファクタにて式(1)のように正規化をしている。 【0028】 y(sfb)=|x|3/4×23/16×sf(sfb) ……式(1) ここで、sfbはスケールファクタバンドの番号を表し、sf(sfb)はsfb番目のスケールファクタバンドのスケールファクタを表し、xはsfb番目のスケールファクタバンド内部での最大絶対値となるMDCT係数を表すものである。 【0029】更に、セックション判定器9では、符号化レートに応じてセックション分割のパターンを決めたテーブルに基づいて、スケールファクタバンドの集合体を複数のセックションに分割している。ここでは最も簡単なセックションパターンとして、図2に示したように各セクションのスケールファクタバンドの数が等分されているものを一例として挙げておく。 【0030】そして、符号化レートに応じて、セックション内部のスケールファクタバンドの数を増減させており、符号化レートが低いほど、1セックション内のスケールファクタバンドの数を多くし、セックションの数を減らすようにして、ハフマンコードブックを表すのに使用する符号量を減らすようにする。上記式(1)から算出されたスケールファクタバンドの正規化値から各セックションの正規化値の最大値を求め、セックションのパターンと共に量子化器4側に出力している。 【0031】上記では、セックション内部のスケールファクタバンドの数が等分になるようにしたが、これに限ることなく、例えば低周波数領域のセクションほどスケールファクタバンドの数を少なくし、高周波数領域のセクションになるほどスケールファクタバンドの数を増すような重み付けをしたパターンテーブルも考えられる。 【0032】次に、量子化器4では、スケールファクタバンド単位に量子化を行う。スケールファクタ算出器3で算出された各スケールファクタバンドのスケールファクタと全体の量子化ステップ数から各スケールファクタバンド内のMDCT係数を量子化する。更に、セックション判定器9から出力された各セックションの正規化値の最大値も下記の式(2)のようにして量子化を行い、可変長符号化器6側に出力している。 【0033】 z’(sec)=z(sec)×2−3/16×common scale ……式(2) ここで、secはセクション番号、common scaleは全体の量子化ステップ数、z(sec)はsec番目のセクションの正規化値の最大値、z’(sec)はsec番目のセクションの量子化値である。 【0034】可変長符号化器6では、量子化器4から出力されたMDCT係数の量子化値をセクション判定器9で定められた各セクション毎に、上記式(2)で算出されるセクション内の最大量子化値からハフマンコードブックを決定し、セクション内をこのセクションと対応する同一のハフマンコードブックを使用して可変長符号化を施している。更に、スケールファクタも可変長符号化を施し、冗長度を削減する。そして、複数のセクションのパターン中で発生符号量が最も少ないセクションのパターンを選定して、これをビット数判定器7側に出力する。 【0035】次に、ビット数判定器7では、可変長符号化器6で可変長符号化されたビット数が使用可能なビット数以内に収まっているか否かを判定し、ここでの判定結果が使用可能なビット数を越えている場合には量子化器4に戻って再度量子化を行い、生成されるビット数が使用可能なビット数を下回るまで繰り返される。そして、使用可能なビット数を満足して出力された可変長符号化データは、ビットストリーム生成器8において、スケールファクタ算出器3からの出力とビット数判定7からの出力とが供給されて、サンプリング周波数、符号化レートなどの符号化パラメータと共に多重化されてビットストリームとして伝送されている。 【0036】尚、上記した実施例では、セックション判定器9によりMDCT係数のセックション判定を行う際に、符号化レートに応じてセックション分割のパターンを決めたテーブルに基づいて、スケールファクタバンドの集合体を複数のセックションに分割しているが、このように予め固定的なセクションのテーブルでセクショニングを行うのではなく、図3に示した変形例のようにMDCT係数へのセクショニングが流動的に変化するようにしても良い。この場合まず、セクション判定器9にて各スケールファクタバンドにおいて算出された正規化値の中から、符号化レートに応じて上位数個を選択する。符号化レートが低いほど選択する正規化値の数を減らし、セクションの数を減らすようにして、ハフマンコードブックを表すのに使用する符号量を減らすようにする。 【0037】即ち、図3に示したように、セクション判定器9(図1)によるMDCT係数のセクション判定の変形例を説明すると、縦軸は正規化値を表し、横軸はスケールファクタバンドの列を表したものとする(横軸は最大でN個のスケールファクタバンドがある)。図3では、例えば正規化値の上位6個を選択したものとする。 【0038】図3において、各正規化値(図3中のy0,y1,……y5)を中心にして傾き|a|の直線を各点からそれぞれ左右に描き(図3中の細点線)、各正規化値の傾き|a|の直線と交差する箇所(図3中のP0,P1,P2,P3)があれば、その交差点から垂線を下ろし、横軸と交差するスケールファクタバンドがセクションの境界となる。図3の領域Bのように各正規化値の傾き|a|の直線と交差しない箇所は、各正規化値の傾き|a|の直線と横軸との交点の中間値をセクションの境界とする(図3中のQ0)。また、図3の端の領域A或いは領域Cは、それらに最も近いセクションに含まれるようにする。こうして求められたセクションのパターン及び正規化値の上位の値を量子化器4に出力し、同様に量子化し、且つ、可変長符号器6で可変長符号化を行う。 【0039】ここでは、各正規化値を中心にした傾き|a|の直線によりセクション判定を行ったが、傾き|a|は任意の数値であり、入力したオーディオ信号の特性に応じて可変してもかまわない。また、直線以外に対数関数や指数関数を用いてもかまわない。 【0040】 【発明の効果】以上詳述した本発明に係るオーディオ信号符号化装置によると、とくに、MDCT係数(スペクトルデータ)の量子化を行う前にMDCT係数の量子化のセクショニングの判定を行うことで処理時間の短縮が可能となる。更に、符号化レートが低い場合にはハフマンコードブックの符号量を削減することでオーディオ信号に符号量を多く割り当てることができ、音質改善が期待できる。
|
| 【出願人】 |
【識別番号】000004329 【氏名又は名称】日本ビクター株式会社
|
| 【出願日】 |
平成12年9月19日(2000.9.19) |
| 【代理人】 |
【識別番号】100083806 【弁理士】 【氏名又は名称】三好 秀和 (外9名)
|
| 【公開番号】 |
特開2002−91498(P2002−91498A) |
| 【公開日】 |
平成14年3月27日(2002.3.27) |
| 【出願番号】 |
特願2000−283171(P2000−283171) |
|