JP3515903B2 - オーディオ符号化のための動的ビット割り当て方法及び装置 - Google Patents

オーディオ符号化のための動的ビット割り当て方法及び装置

Info

Publication number
JP3515903B2
JP3515903B2 JP16826598A JP16826598A JP3515903B2 JP 3515903 B2 JP3515903 B2 JP 3515903B2 JP 16826598 A JP16826598 A JP 16826598A JP 16826598 A JP16826598 A JP 16826598A JP 3515903 B2 JP3515903 B2 JP 3515903B2
Authority
JP
Japan
Prior art keywords
signal
unit
masking
masking ratio
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP16826598A
Other languages
English (en)
Other versions
JP2000004163A (ja
Inventor
ホン・ネオ スア
メイ・シェン シェン
ペン・タン アー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP16826598A priority Critical patent/JP3515903B2/ja
Priority to US09/321,742 priority patent/US6308150B1/en
Priority to DE69924431T priority patent/DE69924431T2/de
Priority to EP99110742A priority patent/EP0966108B1/en
Priority to CNB991090594A priority patent/CN1146203C/zh
Publication of JP2000004163A publication Critical patent/JP2000004163A/ja
Application granted granted Critical
Publication of JP3515903B2 publication Critical patent/JP3515903B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/002Dynamic bit allocation
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/032Quantisation or dequantisation of spectral components

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ディジタル音声信
号をディジタル伝送路を介して送信を行うためにもしく
はディジタル記憶媒体又は記録媒体に記憶するために、
ディジタル音声信号を効率的な情報データに符号化を行
うためのオーディオ符号化のための動的ビット割り当て
方法及び装置に関する。
【0002】
【従来の技術】近年のディジタルオーディオ圧縮アルゴ
リズムの出現に続いて、それらの幾つかは消費者のアプ
リケーションにおいて利用されている。その典型的な例
は、ミニディスク(MD)製品において使用されるAT
RACアルゴリズムである。そのアルゴリズムは、19
92年9月にソニーによって発行されたミニディスクシ
ステムの説明書であるレインボーブック(Rainbow Boo
k)の10章において記述されている。ATRACアル
ゴリズムは、サブバンド符号化及び変換符号化の両方を
利用するハイブリッド符号化方法の分類に属する。
【0003】図21は、従来技術の動的ビット割り当て
処理を行う動的ビット割り当てモジュール109aを備
えたATRAC符号化器100aの構成を示すブロック
図である。図21において、入力されるアナログ音声信
号はまず最初に、A/D変換器112によって所定のサ
ンプリング周波数でA/D変換されて1フレーム当たり
512個の音声サンプルデータを有する各フレームにセ
グメント分割される。次いで、音声サンプルデータの各
フレームは2つのレベルのQMF分解フィルタリングを
行うQMF分解フィルタモジュール111に入力され
る。QMF分解フィルタモジュール111は、QMFフ
ィルタ101と、QMFフィルタ102と、QMFフィ
ルタ103とから構成される。ここで、QMFフィルタ
101は、512個の音声サンプルデータを有する信号
を等しい個数(256個)の音声サンプルデータを有す
る2つのサブバンド(高域と中低域)信号に分割し、中
低域のサブバンド信号はさらにQMFフィルタ103に
よってまた別の同一個数(128個)の音声サンプルデ
ータを有する2つのサブバンド(中域と低域)信号に分
割される。高域のサブバンド信号は、QMFフィルタ1
03における処理に要する時間だけ遅延器102によっ
て遅延され、これによって、QMF分解フィルタモジュ
ール111から出力される各帯域のサブバンド信号にお
いて、高域のサブバンド信号は中域のサブバンド信号及
び低域のサブバンド信号と同期化される。
【0004】次いで、ブロックサイズ決定モジュール1
04は、3つのサブバンド信号のためにそれぞれ用いら
れるMDCT(変形離散コサイン変換)モジュール10
5、106及び107の個々のブロックサイズモードを
決定する。ブロックサイズモードは、所定のより長い時
間間隔を有するロングブロック、又は所定のより短い時
間間隔を有するショートブロックのいずれかで固定され
る。スペクトルの振幅値が突発的に高いレベルを有する
アタック(attack)信号が検出されると、ショートブロ
ックモードが選択される。すべてのMDCTのスペクト
ルラインは52個の周波数分割バンドにグループ化され
る。以下、周波数分割バンドをユニット(unit)という。
グループ化は、より低い周波数のユニットがより高い周
波数のユニットのスペクトルラインの本数よりも少数の
スペクトルラインを有するように行われる。
【0005】このユニットのグループ化は臨界帯域に基
づいて行われる。臨界帯域又は臨界帯域幅とは、人間の
聴覚が雑音を処理するときに使用する周波数軸上で不均
一な帯域をいい、150Hzでは周波数幅は100H
z、1kHzでは周波数幅は160Hz、4kHzでは
周波数幅は700Hz、10.5kHzでは2.5kH
zというように、周波数が高くなるほど臨界帯域の帯域
幅は広くなる。
【0006】各ユニットのレベルを示すスケールファク
タSF[n]は、スケールファクタモジュール108に
おいて、所定のテーブルにおいてそのユニット内の最も
大きい振幅のスペクトルラインに比較して大きい値の中
で最小値である値を選択することによって計算される。
動的ビット割り当てモジュール109aにおいては、1
つのユニットのスペクトルサンプルデータを量子化する
ために割り当てられるビット数であるワード長WL
[n]が決定される。最終的に、複数のユニットのスペ
クトルサンプルデータは、量子化モジュール110にお
いてスケールファクタSF[n]とビット割り当てデー
タのワード長WL[n]とのサイド情報を用いて量子化
され、音声スペクトルデータASD[n]が出力され
る。
【0007】動的ビット割り当てモジュール109a
は、実施の複雑性と復号化された音声信号の音質とを決
定する重要な役割を果たす。幾つかの従来技術の方法
は、ビット割り当てを実行するためにユニットのスペク
トルレベルの変化量を使用する。ビット割り当て処理に
おいて、最も高い変化量を有するユニットが最初に検出
され、1ビットが当該ユニットに割り当てられる。次い
で、このユニットのスペクトルレベルの変化量は、ある
1つのファクタによって減少される。この処理は、すべ
てのビット割り当てに使用することができる利用可能な
ビット数が使い尽くされるまで繰り返される。この方法
は多くの反復処理を行い、多大な計算力を消費する。さ
らにその上、音響心理学的なマスキング現象の使用の欠
落によって、この方法は優れた音質を達成することが困
難である。例えば、ISO/IEC11172−3に基
づくMPEGの音声規格において使用される方法のよう
な他の方法は、非常に複雑化された音響心理学モデルを
使用し、反復ビット割り当て処理もまた使用する。
【0008】
【発明が解決しようとする課題】MPEG1の音声規格
のような確立されたディジタルオーディオ圧縮システム
は、人間の聴覚システムの音響心理学的なモデルを用い
てマスキング効果の絶対しきい値を検出し、それによっ
て量子化雑音が当該絶対しきい値以下で保持されれば、
人間には雑音は聞こえなくなることは公知である。MP
EG1の音声規格によって提案される2つの音響心理学
的モデルは優れた音質を達成するが、それらは非常に複
雑で、消費者のアプリケーションのために低コストのL
SIにおいて実施することができない。そこで、簡単化
されたマスキング効果の絶対しきい値計算が必要とされ
る。
【0009】本発明の目的は、ほとんどのディジタル音
声圧縮システムに対して広く使用可能であり、容易にか
つ低コストで実施可能なオーディオ符号化のための動的
ビット割り当て方法及び装置を提供することにある。
【0010】
【課題を解決するための手段】本発明は、優れた音質と
低い実装複雑性のバランスを取ることにおいて、ほとん
どのビット割り当て方法が直面する問題を解決すること
を試みる。これに加え、本発明はまた、少量の計算力だ
けを消費するようにビット割り当て手順を改善すること
を試みる。このことは、従来技術のほとんどのビット割
り当て方法又は装置で通常に用いられる反復アプローチ
に依存する方法とは異なり、新しいオフセット値に基づ
くサンプルビット計算によって達成される。
【0011】本発明に係るオーディオ符号化のための動
的ビット割り当て方法は、ディジタル音声信号の分割さ
れた複数のサンプルデータを量子化するために使用され
るビット数を決定するオーディオ符号化のための動的ビ
ット割り当て方法であって、上記複数のサンプルデータ
は、異なる周波数間隔と異なる時間間隔との少なくとも
一方を有する複数のユニットにグループ化されてなり、
上記異なる周波数間隔は人間の聴覚特性の臨界帯域に基
づいて決定され、上記異なる時間間隔は第1の時間間隔
と、上記第1の時間間隔より長い第2の時間間隔とを含
み、(a)静寂時に人間が音を可聴可能か否かを表す所
定の静寂時のしきい値特性に基づいて、すべてのユニッ
トの絶対しきい値を設定する絶対しきい値設定ステップ
と、(b)上記第1の時間間隔を有するユニットの絶対
しきい値を、同一の周波数間隔を有する複数のユニット
のうちの最小の絶対しきい値によって置き換えることに
より、上記第1の時間間隔を有するユニットの絶対しき
い値を調整する絶対しきい値調整ステップと、(c)上
記複数のユニットにグループ化された複数のサンプルデ
ータに基づいて、上記各ユニットのピークエネルギーを
計算するピークエネルギー計算ステップと、(d)すべ
てのユニットが第2の時間間隔を有しているとき、所定
の簡単化された同時マスキング効果モデルと、マスクす
るユニットのピークエネルギーとに基づいて、上記簡単
化された同時マスキング効果モデルを用いたときの最小
可聴限界であるマスキング効果値を計算して各ユニット
の絶対しきい値として更新して設定するマスキング効果
値計算ステップと、(e)上記計算された各ユニットの
ピークエネルギーと、上記計算された各ユニットの絶対
しきい値とに基づいて、各ユニットの信号対マスキング
比を計算する信号対マスキング比計算ステップと、
(f)量子化すべき全帯域幅がすべてのユニットを含む
と仮定して、上記ディジタル音声信号のフレームのサイ
ズに基づいて、ビット割り当てに利用可能なビット数を
計算する利用可能ビット数計算ステップと、(g)所定
の正数値をすべてのユニットの上記信号対マスキング比
に加算することにより、上記すべてのユニットの信号対
マスキング比を正の値にする信号対マスキング比正数化
ステップと、(h)上記すべてのユニットの正数化され
た信号対マスキング比と、所定の線形量子化器の1ビッ
ト当たりの信号対雑音比の改善値に基づく信号対マスキ
ング比の1ステップ当たりの減少量と、上記利用可能な
ビット数とに基づいて、上記すべてのユニットの正数化
された信号対マスキング比を減少させるためのオフセッ
ト値として定義される信号対マスキング比のオフセット
値を計算する信号対マスキング比オフセット値計算ステ
ップと、(i)上記計算された信号対マスキング比のオ
フセット値と、上記計算された各ユニットの信号対マス
キング比とに基づいて、ビット割り当てを行う必要のあ
るユニットをカバーする帯域幅を計算し、上記計算され
た帯域幅に基づいて上記信号対マスキング比のオフセッ
ト値を更新するように計算する帯域幅計算ステップと、
(j)上記各ユニットにおいて上記計算された信号対マ
スキング比から上記計算された信号対マスキング比のオ
フセット値を減算して、各ユニットの減算された信号対
マスキング比を計算して、上記各ユニットの減算された
信号対マスキング比と、上記信号対マスキング比の1ス
テップ当たりの減少量とに基づいて、量子化するときに
各ユニットに割り当てられるビット数を表すサンプルビ
ット数を計算するサンプルビット数計算ステップと、
(k)上記計算された利用可能なビット数から上記計算
されたすべてのユニットに割り当てられるべきサンプル
ビット数の合計値を減算した残りのビット数を、少なく
とも、上記信号対マスキング比のオフセット値より大き
い信号対マスキング比を有するユニットに割り当てる残
りのビット割り当てステップとを含むことを特徴とす
る。
【0012】また、上記オーディオ符号化のための動的
ビット割り当て方法においては、好ましくは、上記ピー
クエネルギー計算ステップにおいて、上記各ユニット内
で上記最大のスペクトル係数の振幅値を、所定のスケー
ルファクタテーブルを用いて、上記振幅値に対応するス
ケールファクタに置き換えて所定の近似計算を行うこと
により、各ユニットのピークエネルギーを計算すること
を特徴とする。
【0013】さらに、上記オーディオ符号化のための動
的ビット割り当て方法においては、好ましくは、上記マ
スキング効果値計算ステップにおいて、上記所定の簡単
化された同時マスキング効果モデルは、上記マスクする
ユニットより高域側のユニットの音声信号をマスクする
ときに使用される高域側のマスキング効果モデルと、上
記マスクするユニットより低域側のユニットの音声信号
をマスクするときに使用される低域側のマスキング効果
モデルとを含み、上記マスクされるユニットの最終的に
決定される絶対しきい値には、上記設定されたマスクさ
れるユニットの絶対しきい値と、上記同時マスキング効
果値とのうちの最大値が設定されることを特徴とする。
【0014】またさらに、上記オーディオ符号化のため
の動的ビット割り当て方法においては、好ましくは、上
記信号対マスキング比計算ステップにおいて、各ユニッ
トの信号対マスキング比は、上記ユニットのピークエネ
ルギーから上記設定された絶対しきい値を、デシベル
(dB)単位で減算することによって計算されることを
特徴とする。
【0015】またさらに、上記オーディオ符号化のため
の動的ビット割り当て方法においては、好ましくは、上
記信号対マスキング比オフセット値計算ステップにおい
て、上記信号対マスキング比のオフセット値は、すべて
のユニットの上記正数化された信号対マスキング比と、
上記信号対マスキング比の1ステップ当たりの減少量
と、上記ビット割り当てに利用できる利用可能なビット
数に基づいて、初期の信号対マスキング比のオフセット
値を計算することと、上記計算された初期の信号対マス
キング比のオフセット値に基づいて所定の反復処理を行
うことによって計算されることを特徴とする。
【0016】ここで、上記反復処理は、好ましくは、上
記初期信号対マスキング比のオフセット値より低い信号
対マスキング比を有するユニットを上記信号対マスキン
グ比のオフセット値の計算から除去し、残りのユニット
の上記正数化された信号対マスキング比と、上記信号対
マスキング比の1ステップ当たりの減少量と、上記ビッ
ト割り当てに利用できる利用可能なビット数に基づい
て、上記信号対マスキング比のオフセット値の計算に関
係するすべてのユニットの信号対マスキング比が最終的
な信号対マスキング比のオフセット値より高くなるま
で、上記信号対マスキング比のオフセット値を反復的に
再計算し、このことによって、負のビット数の割り当て
を生じさせないことを保証することを特徴とする。
【0017】また、上記オーディオ符号化のための動的
ビット割り当て方法においては、好ましくは、上記帯域
幅計算ステップにおいて、上記帯域幅は、所定のユニッ
トから、上記信号対マスキング比のオフセット値より小
さい上記信号対マスキング比を有するユニットが連続し
て存在する時に、上記連続したユニットを除去すること
によって計算され、上記除去されたユニットに対応する
ビット数は上記利用可能なビット数に加算されて上記利
用可能なビット数が更新され、上記信号対マスキング比
のオフセット値を更新することは、上記更新された利用
可能なビット数に基づいて実行されることを特徴とす
る。
【0018】さらに、上記オーディオ符号化のための動
的ビット割り当て方法においては、好ましくは、上記サ
ンプルビット数計算ステップにおいて、上記各ユニット
のサンプルビット数は、上記各ユニットの信号対マスキ
ング比から上記信号対マスキング比のオフセット値を減
算した値を、上記信号対マスキング比の1ステップ当た
りの減少量で除算した後、その除算結果値を整数化した
値であり、上記信号対マスキング比のオフセット値より
低い信号対マスキング比を有するユニットに対して、ビ
ットを割り当てないことを特徴とする。
【0019】またさらに、上記オーディオ符号化のため
の動的ビット割り当て方法においては、好ましくは、上
記残りのビット割り当てステップにおいて、上記残りの
ビット数を割り当てるための所定の第1と第2のパスの
処理を実行し、上記第1のパスの処理は、上記信号対マ
スキング比のオフセット値より大きい信号対マスキング
比を有するが上記サンプルビット数計算ステップにおけ
る整数化の結果としてビットを割り当てられなかったユ
ニットに1ビットを割り当て、上記第2のパスの処理
は、最大ビット数ではないが複数のビット数が既に割り
当てられているユニットに対して1ビットを割り当てる
ことを特徴とする。
【0020】ここで、上記残りのビット割り当てステッ
プにおいて、上記第1と第2のパスの処理は、好ましく
は、最高の周波数のユニットから最低の周波数のユニッ
トに向かってユニットを移動しながら実行されることを
特徴とする。
【0021】本発明に係るオーディオ符号化のための動
的ビット割り当て装置は、ディジタル音声信号の分割さ
れた複数のサンプルデータを量子化するために使用され
るビット数を決定するオーディオ符号化のための動的ビ
ット割り当て装置であって、上記複数のサンプルデータ
は、異なる周波数間隔と異なる時間間隔との少なくとも
一方を有する複数のユニットにグループ化されてなり、
上記異なる周波数間隔は人間の聴覚特性の臨界帯域に基
づいて決定され、上記異なる時間間隔は第1の時間間隔
と、上記第1の時間間隔より長い第2の時間間隔とを含
み、(a)静寂時に人間が音を可聴可能か否かを表す所
定の静寂時のしきい値特性に基づいて、すべてのユニッ
トの絶対しきい値を設定する絶対しきい値設定手段と、
(b)上記第1の時間間隔を有するユニットの絶対しき
い値を、同一の周波数間隔を有する複数のユニットのう
ちの最小の絶対しきい値によって置き換えることによ
り、上記第1の時間間隔を有するユニットの絶対しきい
値を調整する絶対しきい値調整手段と、(c)上記複数
のユニットにグループ化された複数のサンプルデータに
基づいて、上記各ユニットのピークエネルギーを計算す
るピークエネルギー計算手段と、(d)すべてのユニッ
トが第2の時間間隔を有しているとき、所定の簡単化さ
れた同時マスキング効果モデルと、マスクするユニット
のピークエネルギーとに基づいて、上記簡単化された同
時マスキング効果モデルを用いたときの最小可聴限界で
あるマスキング効果値を計算して各ユニットの絶対しき
い値として更新して設定するマスキング効果値計算手段
と、(e)上記計算された各ユニットのピークエネルギ
ーと、上記計算された各ユニットの絶対しきい値とに基
づいて、各ユニットの信号対マスキング比を計算する信
号対マスキング比計算手段と、(f)量子化すべき全帯
域幅がすべてのユニットを含むと仮定して、上記ディジ
タル音声信号のフレームのサイズに基づいて、ビット割
り当てに利用可能なビット数を計算する利用可能ビット
数計算手段と、(g)所定の正数値をすべてのユニット
の上記信号対マスキング比に加算することにより、上記
すべてのユニットの信号対マスキング比を正の値にする
信号対マスキング比正数化手段と、(h)上記すべての
ユニットの正数化された信号対マスキング比と、所定の
線形量子化器の1ビット当たりの信号対雑音比の改善値
に基づく信号対マスキング比の1ステップ当たりの減少
量と、上記利用可能なビット数とに基づいて、上記すべ
てのユニットの正数化された信号対マスキング比を減少
させるためのオフセット値として定義される信号対マス
キング比のオフセット値を計算する信号対マスキング比
オフセット値計算手段と、(i)上記計算された信号対
マスキング比のオフセット値と、上記計算された各ユニ
ットの信号対マスキング比とに基づいて、ビット割り当
てを行う必要のあるユニットをカバーする帯域幅を計算
し、上記計算された帯域幅に基づいて上記信号対マスキ
ング比のオフセット値を更新するように計算する帯域幅
計算手段と、(j)上記各ユニットにおいて上記計算さ
れた信号対マスキング比から上記計算された信号対マス
キング比のオフセット値を減算して、各ユニットの減算
された信号対マスキング比を計算して、上記各ユニット
の減算された信号対マスキング比と、上記信号対マスキ
ング比の1ステップ当たりの減少量とに基づいて、量子
化するときに各ユニットに割り当てられるビット数を表
すサンプルビット数を計算するサンプルビット数計算手
段と、(k)上記計算された利用可能なビット数から上
記計算されたすべてのユニットに割り当てられるべきサ
ンプルビット数の合計値を減算した残りのビット数を、
少なくとも、上記信号対マスキング比のオフセット値よ
り大きい信号対マスキング比を有するユニットに割り当
てる残りのビット割り当て手段とを備えたことを特徴と
する。
【0022】また、上記オーディオ符号化のための動的
ビット割り当て装置においては、好ましくは、上記ピー
クエネルギー計算手段は、上記各ユニット内で上記最大
のスペクトル係数の振幅値を、所定のスケールファクタ
テーブルを用いて、上記振幅値に対応するスケールファ
クタに置き換えて所定の近似計算を行うことにより、各
ユニットのピークエネルギーを計算することを特徴とす
る。
【0023】さらに、上記オーディオ符号化のための動
的ビット割り当て装置においては、好ましくは、上記マ
スキング効果値計算手段の処理において、上記所定の簡
単化された同時マスキング効果モデルは、上記マスクす
るユニットより高域側のユニットの音声信号をマスクす
るときに使用される高域側のマスキング効果モデルと、
上記マスクするユニットより低域側のユニットの音声信
号をマスクするときに使用される低域側のマスキング効
果モデルとを含み、上記マスキング効果値計算手段は、
上記マスクされるユニットの最終的に決定される絶対し
きい値に、上記絶対しきい値設定手段によって設定され
た上記マスクされるユニットの絶対しきい値と、上記同
時マスキング効果モデルによって決められた同時マスキ
ング効果値とのうちの最大値を設定することを特徴とす
る。
【0024】またさらに、上記オーディオ符号化のため
の動的ビット割り当て装置においては、好ましくは、上
記信号対マスキング比計算手段は、各ユニットの信号対
マスキング比を、上記ユニットのピークエネルギーから
上記設定された絶対しきい値をデシベル(dB)単位で
減算することによって計算することを特徴とする。
【0025】またさらに、上記オーディオ符号化のため
の動的ビット割り当て装置においては、好ましくは、上
記信号対マスキング比オフセット値計算手段は、上記信
号対マスキング比のオフセット値を計算するときに、す
べてのユニットの上記正数化された信号対マスキング比
と、上記信号対マスキング比の1ステップ当たりの減少
量と、上記ビット割り当てに利用できる利用可能なビッ
ト数に基づいて、初期の信号対マスキング比のオフセッ
ト値を計算し、上記計算された初期の信号対マスキング
比のオフセット値に基づいて所定の反復処理を行うこと
を特徴とする。
【0026】ここで、上記反復処理は、好ましくは、上
記初期信号対マスキング比のオフセット値より低い信号
対マスキング比を有するユニットを上記信号対マスキン
グ比のオフセット値の計算から除去し、残りのユニット
の上記正数化された信号対マスキング比と、上記信号対
マスキング比の1ステップ当たりの減少量と、上記ビッ
ト割り当てに利用できる利用可能なビット数に基づい
て、上記信号対マスキング比のオフセット値の計算に関
係するすべてのユニットの信号対マスキング比が最終的
な信号対マスキング比のオフセット値より高くなるま
で、上記信号対マスキング比のオフセット値を反復的に
再計算し、このことによって、負のビット数の割り当て
を生じさせないことを保証することを特徴とする。
【0027】また、上記オーディオ符号化のための動的
ビット割り当て装置においては、好ましくは、上記帯域
幅計算手段は、上記帯域幅を、所定のユニットから、上
記信号対マスキング比のオフセット値より小さい上記信
号対マスキング比を有するユニットが連続して存在する
時に、上記連続したユニットを除去することによって計
算し、上記除去されたユニットに対応するビット数を上
記利用可能なビット数に加算することにより上記利用可
能なビット数を更新し、上記信号対マスキング比のオフ
セット値を更新するときに、上記更新された利用可能な
ビット数に基づいて実行されることを特徴とする。
【0028】さらに、上記オーディオ符号化のための動
的ビット割り当て装置においては、好ましくは、上記サ
ンプルビット数計算手段の処理において、上記各ユニッ
トのサンプルビット数は、上記各ユニットの信号対マス
キング比から上記信号対マスキング比のオフセット値を
減算した値を、上記信号対マスキング比の1ステップ当
たりの減少量で除算した後、その除算結果値を整数化し
た値であり、上記サンプルビット数計算手段は、上記信
号対マスキング比のオフセット値より低い信号対マスキ
ング比を有するユニットに対して、ビットを割り当てな
いことを特徴とする。
【0029】またさらに、上記オーディオ符号化のため
の動的ビット割り当て装置においては、好ましくは、上
記残りのビット割り当て手段は、上記残りのビット数を
割り当てるための所定の第1と第2のパスの処理を実行
し、上記第1のパスの処理において、上記信号対マスキ
ング比のオフセット値より大きい信号対マスキング比を
有するが上記サンプルビット数計算手段の処理における
整数化の結果としてビットを割り当てられなかったユニ
ットに1ビットを割り当て、上記第2のパスの処理にお
いて、最大ビット数ではないが複数のビット数が既に割
り当てられているユニットに対して1ビットを割り当て
ることを特徴とする。
【0030】ここで、上記残りのビット割り当て手段
は、上記第1と第2のパスの処理において、好ましく
は、最高の周波数のユニットから最低の周波数のユニッ
トに向かってユニットを移動しながら実行することを特
徴とする。
【0031】
【発明の実施の形態】本発明に係る一実施形態を図面を
参照しながら、説明する。
【0032】図1は、本発明に係る一実施形態の動的ビ
ット割り当て処理を行う動的ビット割り当てモジュール
109を備えたATRAC符号化器100のブロック図
である。本実施形態は、図21に図示された従来技術の
ATRAC符号化器100aの動的ビット割り当てモジ
ュール109aの代わりに、その動的ビット割り当て処
理が異なる動的ビット割り当てモジュール109を設け
たことを特徴としている。本実施形態の動的ビット割り
当て処理は、実施形態の一例してATRACアルゴリズ
ムにおいて使用することによって以下において説明され
るが、本実施形態はまた他のオーディオ符号化アルゴリ
ズムに適用されることが可能である。
【0033】本発明に係る実施形態は、スケールファク
タのインデックスを用いてすべてのユニットのピークエ
ネルギーを計算する処理と、ショートブロックのMDC
Tが使用されるときに絶対しきい値を調整する処理と、
ユニットのピークエネルギーを用いて高域側スロープの
マスキング効果値及び低域側スロープのマスキング効果
値を計算する処理と、すべてのユニットの信号対マスキ
ング比(signal-to-mask ratio、以下、SMR値とい
う。)を計算する処理と、SMR値を正にするようにダ
ミーのオフセット値をすべてのSMR値に加算する処理
と、SMRオフセット値を計算する処理と、帯域幅を計
算する処理と、各ユニットのSMR値とSMRオフセッ
ト値に基づいて当該ユニットに割り当てられるサンプル
ビット数を計算する処理と、利用可能なビット数のうち
の残りのビットを幾つかの選択されたユニットに割り当
てる処理とを備える。
【0034】すべてのユニットのピークエネルギーはそ
れらの最大のスペクトルのサンプルデータから決定され
る。これはそれらの対応するスケールファクタのインデ
ックスを使用することによって近似され、従って、対数
演算の使用を回避することができる。ピークエネルギー
は、信号対マスキング比を計算することと、簡単化され
た同時マスキングの絶対しきい値を検出するために使用
される。同時マスキングモデルの関数は、高域側スロー
プ及び低域側スロープによって近似される。ここで、あ
る周波数のスペクトル信号に対するモデル化されたマス
キング曲線において、当該スペクトル信号の周波数より
高い周波数領域のマスキング曲線を高域側スロープと呼
び、当該スペクトル信号の周波数より低い周波数領域の
マスキング曲線を低域側スロープと呼ぶ。高域側スロー
プのマスキング効果の勾配は−10dB/Barkに仮
定され、低域側スロープのマスキング効果の勾配は27
dB/Barkに仮定される。また、すべてのユニット
は、音声圧縮レベルがその聴覚特性を考慮せずに当該ユ
ニットのピークエネルギーによって表される1つのマス
クする音声信号(以下、マスカーともいう。)を有する
と仮定される。それぞれマスクする音声信号を有するユ
ニット(以下、マスクするユニットという。)と、それ
によってマスクされるその他の音声信号を有するユニッ
ト(以下、マスクされるユニットという。)とによって
生じるマスキング効果は、当該マスクされるユニットが
マスクする音声信号の各々よりも低い周波数領域又は高
い周波数領域のいずれかに設けられるかに依存する低域
側スロープの勾配又は高域側スロープの勾配と共に、当
該マスクするユニット内の最も大きい絶対しきい値と当
該マスクされるユニットの最も大きい絶対しきい値との
間の臨界帯域幅(バルク、Bark)の単位で表現され
た最悪の場合の距離とから計算される。
【0035】同時マスキング効果は、特定フレームの3
つのサブバンドのすべてがロングブロックモードのMD
CTによって変換されるときにだけ適用される。1つの
与えられたユニットのマスキング絶対しきい値は、当該
ユニットに対して演算される絶対しきい値、低域側マス
キング絶対しきい値及び高域側マスキング絶対しきい値
の中の最大値から選択される。そのような場合では、幾
つか又はすべてのサブバンドがショートブロックのMD
CTによって複数のスペクトルラインに変換されるとき
に、調整された絶対しきい値だけが使用される。その絶
対しきい値の調整は、時間及び周波数の分解能の変更の
ために必要とされる。例えば、1つのロングブロックの
MDCTが4つの等しい時間長のショートブロックのM
DCTによって置き換えられると、4つのロングブロッ
クのユニットにわたる周波数間隔はここで、4つのショ
ートブロックのユニットによってカバーされる。従っ
て、4つのロングブロックのユニットから選択される最
小の絶対しきい値は、4つのショートブロックのユニッ
トの調整された絶対しきい値を表すために使用される。
【0036】ビット割り当て手順はサンプルビットの割
り当てを高速にするために、SMRオフセット値を使用
する。全ユニットの元のSMR値がSMRオフセット値
計算において使用される前に、当該全ユニットの元のS
MR値は、それらにダミーの正数値を加算することによ
って0より大きい値に増加される。これらの加算された
SMR値と、1つの与えられたユニット内のスペクトル
ラインの本数や利用可能ビット数のような他のパラメー
タとを用いて、SMRオフセット値は計算されることが
できる。次いで、帯域幅はSMR値とSMRオフセット
値から決定される。SMRオフセット値より高いSMR
値を有する当該帯域幅内のユニットだけがビットを割り
当てられる。ユニットに割り当てられるビット数を表す
サンプルビットの値は、SMR値とSMRオフセット値
との差を、SMR減少ファクタ(又はSMR減少ステッ
プ量)で除算することによって計算される。当該SMR
減少ファクタは、1つの量子化ビットの各インクリメン
ト値を有する線形量子化のdB単位の信号対雑音比(si
gnal-to-noise ratio、以下、SNRという。)の改善
値に密接に関連し、6.02dBになるように設定され
る、小数点切り捨て整数化演算(integer truncation、
以下、整数化演算という。)は計算されたサンプルビッ
ト値に用いられ、また、上記サンプルビット値は16ビ
ットの最大限界値に設定される。そのように、幾つかの
ビットが幾つかのユニットに割り当てられても、幾つか
のビットは残される。それらの残りのビットは2つのパ
スでSMRオフセット値より高いSMR値を有するユニ
ットに再び割り当てられる。第1のパスは、0ビットの
割り当てが行われたユニットに対して2ビットを割り当
てる。第2のパスは、2ビット乃至15ビットを割り当
てられたユニットに対して1ビットを割り当てる。この
ように、複数のユニットに対してビット割り当てが行わ
れる。
【0037】すなわち、本実施形態の特徴は、従来技術
の動的ビット割り当て処理において複雑な計算を必要と
するマスキング効果の計算を、簡単化された同時マスキ
ング効果モデルを用いることによって簡潔に行うことで
ある。結果として、高音質でかつ計算量の少ない効率的
な動的ビット割り当て処理を行うことができる。
【0038】図1において、動的ビット割り当てモジュ
ール109を除く他の処理ブロックは図21の従来技術
の処理ブロックと同様に動作する。
【0039】図2及び図3は、図1の動的ビット割り当
てモジュール109によって実行される動的ビット割り
当て処理を示すフローチャートである。まず最初に、図
2におけるステップS201の初期化処理では、すべて
のユニットu(u=0,1,2,…,umax−1)に割
り当てられるビット数を示すための索引であるワード長
インデックスWLindex[u]と、ビット割り当て処理等にお
いて使用される負のフラグnegflag[u]とを、それぞれ0
に初期化する。ここで、好ましくは、umax=52であ
る。
【0040】次いで、ステップS202の絶対しきい値
ダウンロード処理では、静寂時のしきい値(threshold
in quiet)として知られる各ユニットの絶対しきい値
(absolute threshold)を、設定値qthreshold[u]にダ
ウンロードする。ここで、静寂時の絶対しきい値は、イ
ー・ツャイカー(E.Zwicker)ほかによる従来技術文献
「“音響心理学:事実とモデル(Psycoacoustics:Fact
s and Models)”,Springer-Verlag,1990年」に
よると、ちょうど可聴可能な純音の音圧レベルを周波数
の関数として示されている。MPEG1の音声標準規格
においては、静寂時のしきい値は、絶対しきい値とも呼
ばれる。静寂時のしきい値、静寂時の可聴しきい値及び
静寂時のマスキングしきい値は、すべての同一のものを
意味する。
【0041】次に、ステップS203のショートブロッ
クのための絶対しきい値調整処理では、ショートブロッ
クモードが活性化されるか否かに依存して、当該特定の
周波数帯域の絶対しきい値をその結果に応じて調整す
る。次いで、ステップS204のピークエネルギー計算
処理では、すべてのユニットu(u=0,1,2,…,
max−1)におけるピークエネルギーpeak_energy[u]
を次式を用いて計算する。
【0042】
【数1】 peak_energy[u] =10×log10(max_spectral_amplitude[u])2 [d
B] ≒10×log10(scale_factor[u])2 =(sfindex[u]−15)×2.006866638,
【0043】ここで、u=0,1,2,…,umax−1 数1から明らかなように、各ユニットuに対するピーク
エネルギーpeak_energy[u]の計算は、当該ユニットu内
で最も大きいスペクトル係数の振幅値max_spectral_amp
litude[u]を、それに対応するスケールファクタscale_f
actor[u]と置換することによって近似される。スケール
ファクタscale_factor[u]は、当該ユニットu内で最も
大きいスペクトルの振幅値max_spectral_amplitude[u]
より大きい値の中で最も小さい値となるように、次表の
スケールファクタテーブルから選択される。ATRAC
アルゴリズムにおいては、スケールファクタテーブルは
64個のスケールファクタからなり、64個のスケール
ファクタは6ビットのスケールファクタインデックスsf
index[u]によってアドレス指定される。スケールファク
タテーブルは以下の表のように示される。
【0044】
【表1】 ――――――――――――――――――――――――――――――――――― 6ビットの スケールファクタのインデックス スケールファクタ sfindex[u] scale_factor[u] ―――――――――――――――――――――――――――――――――― 0 0.99999999×2-5 1 0.62996052×2-4 2 0.79370052×2-4 3 0.99999999×2-4 4 0.62996052×2-3 5 0.79370052×2-3 6 0.99999999×2-3 7 0.62996052×2−2 8 0.79370052×2−2 9 0.99999999×2-2 10 0.62996052×2-1 11 0.79370052×2-1 12 0.99999999×2-1 13 0.62996052×20 14 0.79370052×20 15 0.99999999×20 16 0.62996052×21 17 0.79370052×21 18 0.99999999×21 19 0.62996052×22 20 0.79370052×22 ―――――――――――――――――――――――――――――――――――
【0045】
【表2】 ――――――――――――――――――――――――――――――――――― 6ビットの スケールファクタのインデックス スケールファクタ sfindex[u] scale_factor[u] ――――――――――――――――――――――――――――――――――― 21 0.99999999×22 22 0.62996052×23 23 0.79370052×23 24 0.99999999×23 25 0.62996052×24 26 0.79370052×24 27 0.99999999×24 28 0.62996052×2 29 0.79370052×2 30 0.99999999×25 31 0.62996052×26 32 0.79370052×26 33 0.99999999×26 34 0.62996052×27 35 0.79370052×27 36 0.99999999×27 37 0.62996052×28 38 0.79370052×28 39 0.99999999×28 40 0.62996052×29 ―――――――――――――――――――――――――――――――――――
【0046】
【表3】 ――――――――――――――――――――――――――――――――――― 6ビットの スケールファクタのインデックス スケールファクタ sfindex[u] scale_factor[u] ――――――――――――――――――――――――――――――――――― 41 0.79370052×29 42 0.99999999×29 43 0.62996052×210 44 0.79370052×210 45 0.99999999×210 46 0.62996052×211 47 0.79370052×211 48 0.99999999×211 49 0.62996052×212 50 0.79370052×212 51 0.99999999×212 52 0.62996052×213 53 0.79370052×213 54 0.99999999×213 55 0.62996052×214 56 0.79370052×214 57 0.99999999×214 58 0.62996052×215 59 0.79370052×215 60 0.99999999×215 61 0.62996052×216 62 0.79370052×216 63 0.99999999×216 ――――――――――――――――――――――――――――――――
【0047】効率的な本実施形態の実施のために対数演
算を行わないように、スケールファクタインデックスsf
index[u]は、ピークエネルギーpeak_energy[u]の計算を
簡単化するために使用される。0dBのピークエネルギ
ーを生じさせるスケールファクタインデックスの値15
は基準値として使用される。当該ピークエネルギーpeak
_energy[u]は、スケールファクタインデックスsfindex
[u]を基準値15で減算し、当該減算結果値を定数2.
006866638で乗算することによって計算され
る。当該定数は、スケールファクタインデックスsfinde
x[u]の1ステップ当たりのデシベル(dB)単位の平均
ピークエネルギーのインクリメント量を表す。
【0048】図3のステップS205において、3つの
すべてのサブバンド(低域、中域及び高域)はロングブ
ロックであるか否かが判断され、YESのときはステッ
プS206において、高域側スロープのマスキング効果
値計算処理が実行され、ステップS207において、低
域側スロープのマスキング効果値計算処理が実行された
後、ステップS208に進む。一方、ステップS205
においてNOであるときは、すぐにステップS208に
進む。すなわち、3つの周波数帯域のサブバンドのすべ
てがMDCTからのロングブロックデータを用いて符号
化されるとき、簡単化された同時マスキング(simplifi
ed simultaneous masking)時の絶対しきい値はステッ
プS206及びS207において演算することができ
る。マスクするユニットの拡散関数は、当該マスクする
ユニット自身の周波数とは異なる周波数におけるマスキ
ング効果の度合い(以下、マスキング効果値という。)
を定義する。当該マスキング効果値は、高域側スロープ
及び低域側スロープによって近似される。本実施形態に
おいて、高域側スロープは−10dB/Barkになる
ように選択され、低域側スロープは27dB/Bark
になるように選択される。
【0049】図18は、図6及び図7の高域側スロープ
のマスキング効果値計算処理における高域側スロープの
マスキング効果値の計算をモデル化したグラフであっ
て、ピークエネルギー(dB)と臨界帯域幅(Bar
k)との関係を示したグラフである。また、図19は、
図8及び図9の低域側スロープのマスキング効果値計算
処理における低域側スロープのマスキング効果値の計算
をモデル化したグラフであって、ピークエネルギー(d
B)と臨界帯域幅(Bark)との関係を示したグラフ
である。最悪の場合の近似を考慮して、マスクするユニ
ットにおけるマスクする音声信号は、高域側スロープの
マスキング効果の計算において使用されるとき、マスク
するユニット内の低域側のエッジで生じるように仮定さ
れる。これはまた、低域側スロープのマスキング効果の
計算に適用され、この場合は、マスクするユニットにお
けるマスクする音声信号はマスクするユニットの高域側
のエッジで生じるように仮定される。
【0050】図3におけるステップS208のSMR値
計算処理では、すべてのユニットuのSMR値smr[u]
は、次式を用いて計算される。
【0051】
【数2】smr[u]=peak_energy[u]−qthreshold[u],
【0052】ここで、u=0,1,2,…,umax−1 次いで、ステップS209のビット数計算処理では、最
初に量子化すべき全帯域幅が52個のユニットを有する
と仮定して、ビット割り当てのために利用可能ビット数
available_bitを、次式を用いて計算される。
【0053】
【数3】 available_bit=(sound_frame−4)×8−(52×10)
【0054】ここで、sound_frameは音声フレームのサ
イズをバイトで表したものであり好ましくは212バイ
トである。数3において音声フレームsound_frameから
減算される4バイトは、3つのサブバンドのブロックモ
ードと、帯域インデックスamount[0]とを符号化するた
めに使用される。52個のユニットのワード長インデッ
クス(4ビット)と、スケールファクタのインデックス
を含むサイド情報(6ビット)(1つのユニット当たり
計10ビット)は、52×10個のビットによって符号
化される。
【0055】次いで、ステップS210のSMR値正数
化処理では、ダミーの正数値をすべてのSMR値に加算
し、ステップS211のSMRオフセット値計算処理に
おいては、SMR値がSMRオフセット値を計算するた
めに使用される前に、当該SMR値を正の値にする。そ
して、ステップS212の帯域幅計算処理は量子化され
るべき帯域幅を計算する。次いで、ステップS213で
は、SMRオフセット値がサンプルビット計算処理にお
いて使用され、各ユニットに割り当てられるビット数を
表すサンプルビット数が計算される。次いで、ステップ
S214の残りのビット割り当て処理は、各ユニットの
ためのサンプルビット数を用いた余りのビットを、残り
の利用可能ビット数として幾つかの選択されたユニット
に割り当てる。
【0056】以下に、上述されたメインルーチンの動的
ビット割り当て処理のサブルーチンであるステップS2
03のショートブロックのための絶対しきい値調整処理
と、ステップS206の高域側スロープのマスキング効
果値計算処理と、ステップS207の低域側スロープの
マスキング効果値計算処理と、ステップS211のSM
Rオフセット値計算処理と、ステップS212の帯域幅
計算処理と、ステップS213のサンプルビット計算処
理と、ステップS214の残りのビット割り当て処理と
をより詳細に説明する。
【0057】図4及び図5は、図2のサブルーチンであ
るショートブロックのための絶対しきい値調整処理(S
203)を示すフローチャートである。実施形態のシス
テムでは、ショートブロックとロングブロックで1つの
ユニットがカバーする周波数領域が異なる。すなわち、
低域及び中域では、ロングブロックの4ユニットがショ
ートブロックの1ユニットに、また高域では、8ユニット
が1ユニットに対応する。このため、ロングブロックと
ショートブロックではユニットに対する絶対しきい値が
異なる。本実施形態では、ステップS202でロングブ
ロックに対する絶対しきい値を設定し、ステップS20
3でショートブロックに対する絶対しきい値の調整を行
う。
【0058】図4のステップS301では、まず最初
に、低域のMDCTデータが、ショートブロックか否か
をチェックされ、ショートブロックであればステップS
302に進み、ショートブロックでなければステップS
305に進む。ステップS302では、最小の絶対しき
い値を、同一の周波数間隔を有するが異なる時間フレー
ムに属する複数のユニットからなる1つのグループ内か
ら見つける。実施形態のシステムでは、ショートブロッ
クの場合、フレームを複数のタイムフレームに分割す
る。すなわち、低域及び中域では4つのタイムフレーム
に、また高域では8つのタイムフレームに分割する。従
って、ここでいうタイムフレームとは、同一の符号化フ
レームにおける異なったショートブロックをいう。次い
で、ステップS303では、これらのユニットの元のロ
ングブロックの絶対しきい値をそれぞれ、当該最小の絶
対しきい値によって置換し、ステップS304では、低
域内の全グループに対してステップS302及びS30
3の各処理を実行したか否かを判断し、実行していれば
ステップS305に進み、実行していなければステップ
S302に戻る。ステップS302、S303及びS3
04の各処理は、低域のサブバンドのすべてのグループ
が処理されるまで繰り返される。低域の絶対しきい値調
整処理と同様に、ステップS305乃至S308は中域
のサブバンドの全グループに対して絶対しきい値調整処
理を実行し、図5におけるステップS309乃至S31
2は高域の全グループに対して絶対しきい値調整処理を
実行する。これらの処理の後、元のメインルーチンに戻
る。
【0059】図6及び図7は、図2のサブルーチンであ
る高域側スロープのマスキング効果値計算処理(ステッ
プS206)を示すフローチャートである。図6におけ
るステップS401では、マスクするユニットumrを最
初のユニットで開始するように設定する。ここで、最初
のユニットとは、最も周波数の低いユニット(u=0)
をいい、また、最後のユニットとは、最も高い周波数の
ユニット(u=umax- 1)をいう。次いで、ステップS
402では、マスクされるユニットumdを当該マスクす
るユニットumrの次に周波数がより高いユニット(umr
+1)で開始するように設定する。ステップS403で
は、当該マスクするユニットumrの臨界帯域幅値(以
下、バルク値という。)bark[umr]に依存するマスキン
グインデックスmask_indexを、次式の数4を用いて計算
する。
【0060】
【数4】mask_index=a+(b×bark[umr])
【0061】ここで、a及びbは任意の定数であり、ba
rk[umr]はマスクするユニットumrの低域側の臨界帯域レ
ートの境界値である。また、バルクbarkは臨界帯域レー
トzの単位を表す。周波数スケールから臨界帯域レート
への写像は、次式によって実行することができる。
【0062】
【数5】 z[bark]=13・tan-1 (0.76f)+3.5・tan-1 (f/7.5)2
【0063】ここで、fはkHz単位の周波数である。
次に、ステップS404では、現在のマスクされるユニ
ットumdに対して適用される高域側スロープのマスキン
グ効果値mask_effect(upper-slope)を、次式を用いて計
算する。
【0064】
【数6】mask_effect(upper-slope)=peak_energy[umr]
−mask_index−{(bark[umd]−bark[umr])×10.0}
【0065】ここで、bark[umd]はマスクされるユニッ
トumdの高域側の臨界帯域レートの境界値であり、bark
[umr]はマスクするユニットumrの低域側の臨界帯域レー
トの境界値である。
【0066】ステップS405では、高域側スロープの
マスキング効果値mask_effect(uppe r-slope)がすべての
ユニット内の最も低い絶対しきい値より大きく、かつ、
マスクされるユニットumdが最後のユニットよりも低い
周波数のユニット又は最後のユニットであるという分岐
条件を満たせば、図7のステップS406に進み、当該
分岐条件を満たさなければステップS410に進む。
【0067】図7のステップS406では、高域側スロ
ープのマスキング効果値mask_effect(upper-slope)がマ
スクされるユニットumdの絶対しきい値qthreshold[umd]
より大きければステップS407に進み、ステップS4
07においてマスクされるユニットumdの絶対しきい値q
threshold[umd]を高域側スロープのマスキング効果値ma
sk_effect(upper-slope)に設定した後ステップS408
に進む。一方、ステップS406において、高域側スロ
ープのマスキング効果値mask_effect(upper-sl ope)がマ
スクされるユニットumdの絶対しきい値qthreshold[umd]
より大きくなければ直接にステップS408に進む。次
いで、ステップS408では、マスクされるユニットu
mrを次に周波数がより高いユニット(umd+1)にイン
クリメントして設定する。さらに、ステップS409で
は、現在のマスクされるユニットumdに対する高域側ス
ロープのマスキング効果値mask_effect(upper-slope)
上述の数6を用いて再度計算する。
【0068】ステップS406乃至S409の処理は、
ステップS405において、高域側スロープのマスキン
グ効果値mask_effect(upper-slope)が全ユニットの中で
最も低い絶対しきい値より小さくなり、又はマスクされ
るユニットumdが最後のユニットより大きく設定される
(分岐状況)まで、反復処理される。この分岐状況にな
ると(ステップS405でNO)、図6のステップS4
10において、マスクするユニットumrは次に周波数が
高いユニット(umr+1)に設定される。ステップS4
02乃至S410の各処理は、ステップS411におい
てマスクするユニットumrが最後のユニットになるまで
反復処理される。マスクするユニットum rが最後のユニ
ットになれば(ステップS411でYES)、高域側ス
ロープのマスキング効果値計算処理を終了して、次い
で、メインルーチンのステップS207である低域側ス
ロープのマスキング効果値計算処理を実行する。
【0069】図8及び図9は、図2のサブルーチンであ
る低域側スロープのマスキング効果値計算処理(ステッ
プS207)を示すフローチャートである。図8のステ
ップS501では、マスクするユニットumrを最後のユ
ニットで開始するように設定する。次いで、ステップS
502では、マスクされるユニットumdをマスクするユ
ニットumrのその次に周波数がより低いユニット(umr
−1)で開始するように設定する。ステップS503で
は、高域側スロープのマスキング効果値計算処理と同様
に、マスキングインデックスmask_indexを上述の数4を
用いて計算する。次いで、ステップS504では、低域
側スロープのマスキング効果値mask_effect
(lower-slope)を次式の数7を用いて計算する。
【0070】
【数7】mask_effect(lower-slope)=peak_energy[umr]
−mask_index−{(bark[umr]−bark[umd])×27.0}
【0071】ここで、bark[umd]はマスクされるユニッ
トumdの臨界帯域レートの低域側の境界値であり、bark
[umr]はマスクするユニットumrの臨界帯域レートの高域
側の境界値である。
【0072】ステップS505では、低域側スロープの
マスキング効果値mask_effect(lowe r-slope)がマスクさ
れるすべてのユニットの最も低い絶対しきい値より大き
い、かつ、マスクされるユニットumdが最初のユニット
までのユニットであるという分岐条件を満たせば、図9
のステップS506に進み、当該分岐条件を満たさなけ
ればステップS510に進む。
【0073】図9のステップS506では、低域側スロ
ープのマスキング効果値mask_effect(lower-slope)を当
該マスクされるユニットumdの絶対しきい値qthreshold
[umd]と比較し、低域側スロープのマスキング効果値mas
k_effect(lower-slope)が絶対しきい値qthreshold[umd]
より大きければ、ステップS507に進み、一方、大き
くなければステップS508に進む。ステップS507
では、マスクされるユニットumdの絶対しきい値qthresh
old[umd]を低域側スロープのマスキング効果値mask_eff
ect(lower-slope)に設定した後、ステップS508に進
む。
【0074】ここで、絶対しきい値qthreshold[umd]が
ステップS506及びS507の処理の前に、高域側ス
ロープのマスキング効果値mask_effect(upper-slope)
よって変更されているかもしれないことに注意すべきで
ある。それゆえ、最終的な処理結果は、マスクされるユ
ニットumdの絶対しきい値qthreshold[umd]と、高域側ス
ロープのマスキング効果値mask_effect
(upper-slope)と、低域側スロープのマスキング効果値m
ask_effect(lower-slope)とから最も高い値を選択し
て、マスクされるユニットumdのマスキング絶対しきい
値qthreshold[umd]のレベルを表す。
【0075】一旦、現在のマスクされるユニットumd
処理されると、ステップS508では、マスクするユニ
ットumrを次に周波数がより低いユニット(umr−1)
にデクリメントする。次いで、ステップS509では、
新しい低域側スロープのマスキング効果値mask_effect
(lower-slope)を上述の数7を用いて再度計算する。こ
こで、ステップS505乃至S509の各処理は、ステ
ップS505において、低域側スロープのマスキング効
果値mask_effect(lower-slope)が最も低い絶対しきい値
より低くテストされるか、又はマスクされるユニットu
mdが最初のユニットより小さく設定されるまで、反復さ
れる。そのような場合であってステップS505でNO
であれば、図8のステップS510において、マスクす
るユニットumrが次に周波数がより低いユニット(umr
−1)に設定される。ステップS511では、マスクす
るユニットumrが最初のユニットでなければ、ステップ
S502に戻る。ステップS502乃至S510の各処
理は、マスクするユニットum rが最初のユニットとなる
まで反復される。ステップS511でYESのときは、
元のメインルーチンに戻る。
【0076】図10及び図11は、図3のステップS2
11におけるSMRオフセット値計算処理のフローチャ
ートを示す。ステップS601乃至S604の各処理に
おいて、以下の数8乃至数15を用いて初期SMRオフ
セット値が計算される。
【0077】
【数8】abit={(smr[0]−smr_offset)/smrstep}×L
[0]+{(smr[1]−smr_offset)/smrstep}×L[1]+…+
{(smr[umax−1]−smr_offset)/smrstep}×L[umax−1]
【0078】ここで、abitはビット割り当てのために利
用できるビット数を表す利用可能ビット数を示し、tbit
は全ユニットのSMR値を満足するために必要とされる
全ビット数を表し、L[u]はユニットuにおけるスペクト
ルラインの本数を表し、umaxは全ユニット数を表し、sm
r[u]はユニットuのSMR値を表し、smr_offsetはSM
Rオフセット値を表し、smrstepはdB単位の1つのサ
ンプルビットを割り当てるためのSMR減少ステップ量
を示す。
【0079】ここで、次の数9のようにユニットuに対
するパラメータn[u]を定義すると、数8は数10に
置き換えられ、全ユニットのSMR値を満足するために
必要とされる全ビット数tbitは数11で表される。
【0080】
【数9】n[u]=L[u]/smrstep
【数10】abit=(smr[0]−smr_offset)×n[0]+(smr
[1]−smr_offset)×n[1]+…+(smr[umax−1]−smr_off
set)×n[umax−1]
【数11】tbit=smr[0]×n[0]+smr[1]×n[1]+…+sm
r[umax−1]×n[umax−1]
【0081】よって、次式が成立し、SMRオフセット
値smr_offsetは数13で計算される。
【0082】
【数12】tbit−abit=smr_offset×n[0]+smr_offset
×n[1]+…+smr_offset×n[umax−1]
【数13】smr_offset=(tbit−abit)/(n[0]+n[1]+
…+n[umax−1])
【0083】ここで、次式を用いて変数nsumを定義
し、また、数15を用いて変数dbitを定義する。
【0084】
【数14】nsum=n[0]+n[1]+…+n[umax−1]
【数15】dbit[u]=smr[u]×n[u]
【0085】このアプリケーションにおいては、SMR
減少ステップ量smrstepは6.02dBになるように選
択される。この値は、線形量子化器に割り当てられる各
ビットのための近似された信号対雑音比(SNR)の改
善値を表す。いくつかのユニットのSMR値がSMRオ
フセット値smr_offsetより低い場合があり、このような
ことが生じると、それらのユニットは負のビット割り当
てを受ける場合がある。図10及び図11のステップS
605乃至ステップS614における一連の処理は、S
MRオフセット値smr_offsetの計算に関連するそれらの
ユニットがSMRオフセット値smr_offetより高いSM
R値smr[u]を有することを保証する。このことは反復的
除去ループ処理によって達成される。
【0086】図10及び図11は、図3のサブルーチン
であるSMRオフセット値計算処理(S211)を示す
フローチャートである。図10において、ステップS6
01では、変数nsum及び変数tbitを0に初期化する。次
いで、ステップS602及びS603では、数9及び数
11を用いて全ユニットに対するパラメータn[u]及びdb
it[u]を計算するとともに、数14及び数15を用いて
変数nsum及びtbitの各パラメータを予め計算する。次い
で、ステップS604では、SMRオフセット値smr_of
fsetの初期値を上述の数13を用いて計算する。また、
ステップS605では、このSMRオフセット値計算処
理が終了するか否かの判断基準となる負のカウンタneg_
counterを1に設定する。
【0087】次いで,図11のステップS606では、
負のカウンタneg_counterが0であるという終了条件を
満たすか否かを判断し、終了条件を満たせばSMRオフ
セット値計算処理を終了して元のメインルーチンにおけ
る図3のステップS211に進み、終了条件を満たさな
ければステップS607に進む。ステップS607で
は、負のカウンタneg_counterを0に設定する。次い
で、ステップS608では、ステップS608乃至S6
15の各処理をすべてのユニットに対して実行するため
にu≧umaxという条件を満たすか否かを判断し、満たせ
ばステップS609に進み、満たさなければステップS
610に進む。ステップS610では、負のフラグnegf
lag[u]が0であるという条件を満たすか否かを判断し、
条件を満たさなければステップS615に進み、条件を
満たせば、ステップS611に進む。ステップ611で
は、ユニットuのSMR値smr[u]をSMRオフセット値
smr_offsetと比較し、SMR値smr[u]がSMRオフセッ
ト値smr_offsetに等しいか又は大きければステップS6
15に進み、SMR値smr[u]がSMRオフセット値smr_
offsetより小さければステップS612に進む。次い
で、ステップS612では、SMRオフセット値smr_of
fsetより小さいSMR値smr[u]を有するユニットuを識
別するために、ユニットuの負のフラグnegflag[u]を1
に設定し、当該ユニットuが新しいSMRオフセット値
smr_offsetの計算に関係することを防止する。ステップ
S613では、負のカウンタneg_counterを1だけイン
クリメントして設定する。次いで、ステップS614で
は、数11の変数tbitから、現在の変数tbitの値から所
望されない数dbit[u]=smr[u]×n[u]を減算(又は除
去)することによって更新し、また、数14の変数n[u]
の和を表す変数nsumから、現在の変数nsumの値から所望
されない変数n[u]を減算(又は除去)することよって更
新する。この減算処理又は除去処理はユニットuをSM
Rオフセット値計算処理から除去することを意味する。
ここで、変数uはSMRオフセット値計算に関係するこ
とを防止されるユニット番号、すなわち、SMRオフセ
ット値smr_offsetより小さいSMR値を有する除去され
るべきユニット番号を示す。次いで、ステップS615
において、ユニット番号uを1だけインクリメントして
設定して、ステップS608に戻る。
【0088】ステップS608において、ステップS6
10乃至S615の各処理をすべてのユニットについて
実行したと判断されれば、ステップS609に進む。ス
テップS609では、新しいSMRオフセット値smr_of
fsetを上述の数13を用いて計算し、ステップS606
に戻る。
【0089】これらのステップにおいて、新しいSMR
オフセット値smr_offsetは、それが当該計算処理に関わ
る全ユニットのSMR値より小さくなるまで、上述され
た除去処理において繰り返し使用されて計算される。
【0090】図12及び図13は、図3のサブルーチン
である帯域幅計算処理(S212)を示すフローチャー
トである。帯域幅インデックスamount[0]によって表さ
れるユニット数は、次の表において示される。
【0091】
【表4】 ――――――――――――――――――――――――――――――――――― 帯域幅インデックス ユニット名 ユニット数 amount[0] ――――――――――――――――――――――――――――――――――― 0 ユニット0,ユニット1,…,ユニット19 20 1 ユニット0,ユニット1,…,ユニット27 28 2 ユニット0,ユニット1,…,ユニット31 32 3 ユニット0,ユニット1,…,ユニット35 36 4 ユニット0,ユニット1,…,ユニット39 40 5 ユニット0,ユニット1,…,ユニット43 44 6 ユニット0,ユニット1,…,ユニット47 48 7 ユニット0,ユニット1,…,ユニット51 52 ―――――――――――――――――――――――――――――――――――
【0092】図12において、まず、ステップS701
では、変数iを最後のユニット番号である51に設定す
る。次いで、ステップS702では、負のフラグnegfla
g[i]が1であるという条件を満たせば、ステップS70
3に進み、条件を満たさなければステップS704に進
む。ステップS703では、変数iを1だけデクリメン
トして設定し、再びステップ702の処理を行う。すな
わち、ステップS701乃至S703において、負のフ
ラグnegflag[u]が1であるユニットがどれだけ連続して
いるかの個数が、最後のユニットumax−1から開始し
て、負のフラグnegflag[u]が0のユニットuに遭遇する
まで計数される。ステップS704では、計数値(51
−i)を、次式を用いて演算される整数値としてインデ
ックスkに変換し、ステップS705に進む。
【0093】
【数16】k=(integer){(51−i)/4}
【0094】ここで、(integer){・}は、整数化演算
を表す。帯域幅インデックスamount[0]はインデックス
kに依存して決定され、インデックスkはステップS7
05乃至S709において必要に応じて調整される。図
13において、まず、ステップS705では、インデッ
クスkは5以下であるという条件を満たせば、ステップ
S709に進み、満たさなければステップS706に進
む。ステップS706においては、さらにインデックス
kが7以下であるという条件により分岐され、当該分岐
条件を満たせば、ステップS707に進み、満たさなけ
ればステップS708に進む。ステップS707では、
帯域幅インデックスamount[0]を1に設定し、インデッ
クスkを6に設定した後,ステップS710に進む。ス
テップS708では、帯域幅インデックスamount[0]を
0に設定し、インデックスkを8に設定した後、ステッ
プS710に進む。ステップS709では、帯域幅イン
デックスamount[0]を7−kに設定した後、ステップS
710に進む。ステップS710では、利用可能ビット
数abitが、次式を用いて更新される。
【0095】
【数17】abit←abit+(k×40)
【0096】ここで、インデックスkは、いくつのユニ
ットが帯域幅の決定において除去されるかの指標であ
り、除去されるユニットの実際の個数は(k×4)個で
ある。除去されるすべてのユニットのためのワード長イ
ンデックスWLindex[u](4ビット)及びスケールファク
タのインデックスsfindex[u](6ビット)のサイド情報
からそれぞれ10ビットが取り戻され、その分だけ他の
ユニットのために割り当てられることができることに注
意されたい。当該取り戻されたビットは、ステップS7
10の上述の数17において利用可能ビット数abitに加
えられる。
【0097】次いで、ステップS711では、SMRオ
フセット値smr_offsetを上述の数13を用いて再計算
し、ステップS712では、計算された帯域幅内の最も
大きいユニット番号をu'maxとする。ステップS712
の処理を終了すると、当該帯域幅計算処理を終了し、元
のメインルーチンに戻り、図3のステップS213のサ
ンプルビット計算処理を行う。
【0098】図14及び図15は、図3のサブルーチン
であるサンプルビット計算処理のフローチャートであ
る。図14において、この処理では、ユニットに対する
ビット割り当ての処理を行う。まず、ステップS801
では、ユニット番号uに対して0を設定する。次いで、
ステップS802では、u≧u'maxという終了条件を満
たせばステップS812に進み、終了条件を満たさなけ
ればステップS803に進む。ここで、帯域幅計算処理
において計算された帯域幅内の最も大きいユニット番号
をu'maxとしている。ステップS803において、負の
フラグnegflag[u]=0であるか否かが判断され、YES
ならばステップS804に進む一方、NOであれば、図
14のステップS811に進む。ステップS804で
は、各選択されたユニットに対するサンプルビットsamp
le_bitを計算するために次式を使用する。ここで、計算
された帯域幅内におけるユニットの個数をu’maxとし
ている。
【0099】
【数18】sample_bit←(integer){(smr[u]−smr_offs
et)/smrstep}
【0100】ここで、(integer){・}は、整数化演算
を示す。ユニットのスペクトルラインの1本当たりに割
り当てられるべきビット数を表すサンプルビットsample
_bitは、ステップS802乃至S804において示され
るように、帯域幅計算処理において計算された帯域幅内
に存在しかつ負のフラグnegflag[u]が0であるユニット
uに対して計算されるだけである。他のユニットには、
0個のサンプルビットsample_bitを返す。
【0101】SMR値及びSMRオフセット値を使用す
るビット割り当ての概念は、図20において図示され
る。図20は、図14及び図15のサンプルビット計算
処理におけるSMR値及びSMRオフセット値を用いた
ビット割り当てをモデル化して示し、SMR(dB)と
スペクトルライン数/SMR減少ステップ量(dB−
1)との関係を表したグラフである。上述されたよう
に、SMR減少ステップ量smrstepは6.02dBに設
定される。
【0102】ステップS804において、一旦、ユニッ
トに対してサンプルビットsample_bitが計算されると、
次いで、図15のステップS805乃至809におい
て、サンプルビットsample_bitが許容範囲の外にあれば
幾つかの調整にかけられる。すなわち、ステップS80
5では、サンプルビットsample_bitは2より小さいとい
う条件を満たすか否かを判断し、条件を満たせばステッ
プS806に進み、条件を満たさなければステップS8
07に進む。ステップS806では、サンプルビットsa
mple_bitを0に設定し、ワード長インデックスWLindex
[u]を0に設定し、負のフラグnegflag[u]を2に設定し
た後、ステップS810に進む。一方、ステップS80
7では、サンプルビットsample_bit[u]は16以上であ
るという条件について判断され、条件を満たせば、ステ
ップS808に進み、条件を満たさなければ、ステップ
S809に進む。ステップS808では、サンプルビッ
トsample_bit[u]を16に設定し、ワード長インデック
スWLindex[u]を15に設定し、負のフラグnegflag[u]を
1に設定した後、ステップS810に進む。ステップS
809では、ワード長インデックスWLindex[u]をsample
_bit[u]−1の値に設定し、ステップS810に進む。
【0103】すなわち、ユニットuのワード長インデッ
クスWLindex[u]及び負のフラグnegflag[u]が上記各処理
に沿って設定され、ユニットuのサンプルビットsample
_bitが2より小さければ、負のフラグnegflag[u]は2に
設定される。ユニットuのサンプルビットsample_bitが
16より大きい又は等しければ、負のフラグnegflag[u]
は1に設定される。負のフラグnegflag[u]の設定は、図
3のステップS214の残りのビット割り当て処理にお
いて使用される。サンプルビットsample_bit[u]のワー
ド長インデックスWLindex[u]への写像は以下の表のよう
に示される。
【0104】
【表5】
【0105】次に、ステップS810では、利用可能ビ
ット数abitは、次式のように、ユニットuのサンプルビ
ットsample_bitをスペクトルラインの本数L[u]で乗算し
た乗算値によって減少される。
【0106】
【数19】abit←abit−(sample_bit×L[u])
【0107】次いで、ステップS811では、ユニット
uを1だけインクリメントして設定した後、ステップS
802の処理に戻る。全ユニットに対してステップS8
03乃至S811の各処理が実行されると、ステップS
802からステップS812に進む。ステップS812
では、残りの利用可能ビット数abit’に対して、利用可
能な全ビット数から全ユニットに割り当てられるビット
数を減算した最終結果値であるabitの値が代入され、サ
ンプルビット計算処理を終了し、元のメインルーチンで
ある図3のステップS214に進む。
【0108】図16及び図17は、図3のサブルーチン
である残りのビット割り当て処理(S214)のフロー
チャートである。この処理は、利用可能な全ビット数か
ら、サンプルビット計算処理において計算された全ユニ
ットに割り当てられるべきビット数を減算した残りの利
用可能ビット数abit’を、さらに幾つかの選択されたユ
ニットに割り当てる処理であり、ここで、第1のパスで
は、SMRの値がSMRオフセットより大きく、かつス
テップS213でビットが割り当てられなかったユニッ
トに対して2ビットの割り当て処理を行い、第2のパス
では追加の1ビットの割り当て処理を行う。いずれの残
りの利用可能ビット数abit’も、負のフラグnegflag[u]
の設定に基づいて選択されたユニットuに割り当てられ
る。残りの利用可能ビット数abit’の存在は、整数化演
算と、サンプルビット計算処理において生じるサンプル
ビットの最大制限である16ビットの飽和状態とに起因
する。残りのビットを割り当てるための2つのパスを使
用し、各パスにおいては、残りの利用可能ビット数abi
t’のビット割り当てはそれぞれ、ステップS901及
びステップS907において、計算された帯域幅内で最
も高い周波数のユニットから開始する。ステップS90
1乃至S907の処理において、第1のパスのビット割
り当て処理が実行され、ステップS908乃至S914
の処理において、第2のパスのビット割り当て処理が実
行される。
【0109】まず、図16の第1のパスにおいて、ステ
ップS901では、ユニットuの初期値を、計算された
帯域幅内で最も高い周波数のユニットに設定する。次い
で、ステップS902では、u<0という終了条件を満
たすか否かが判断され、当該終了条件を満たせばステッ
プS908に進行して第2のパスの処理を開始し、当該
終了条件が満たされなければ、ステップS903の処理
を実行する。ステップS903では、負のフラグnegfla
g[u]が2であるという条件を満たせばステップS904
に進み、満たさなければステップS907に進む。次い
で、ステップS904では、残りの利用可能ビット数ab
it’はユニットuにおけるスペクトルラインの本数L[u]
の2倍以上であるという条件を満たせば、ステップS9
05に進み、満たさなければステップS907に進む。
さらに、ステップS905では、ユニットuのワード長
インデックスWLindex[u]を1に設定し、次いで、ステッ
プS906では、残りの利用可能ビット数abit’を次式
を用いて計算して、ステップS907に進む。ステップ
S907では、ユニットuを1だけデクリメントして設
定した後、ステップS902に戻る。
【0110】
【数20】abit’←abit’−(2×L[u])
【0111】すなわち、負のフラグnegflag[u]が2であ
り(ユニットuに割り当てられるビット数が0ビットの
場合)、かつ残りの利用可能ビット数abit’が、ユニッ
トuにおけるスペクトルラインの本数L[u]の2倍より大
きい又は等しいという条件を満たせば、当該ユニットu
に対してそのスペクトルラインの本数L[u]の2倍と同数
のビット数が割り当てられ、残りの利用可能ビット数ab
it’は、ユニットuにおけるスペクトルラインの本数L
[u]の2倍だけ減少される。
【0112】ステップS907では、ユニットuを1だ
けデクリメントして設定し、再びステップS902の処
理を行い、処理すべきユニットが処理されれば、第2の
パスの開始ステップである図17のステップS908に
進む。
【0113】次に、第1のパスと同様に、第2のパスの
ステップS908では、帯域幅内の最も高い周波数のユ
ニットから開始されるように、ユニットuを設定する。
次いで、ステップS909では、u<0という終了条件
を満たすか否かが判断され、当該終了条件が満たされれ
ば、残りのビット割り当て処理を終了し、その結果、動
的ビット割り当て処理を終了する。当該終了条件が満た
されていなければ、ステップS910に進む。次いで、
ステップS910では、ユニットuの負のフラグnegfla
g[u]が0であるという条件を満たせばステップS911
に進み、満たさなければステップS914に進む。ステ
ップS911では、利用可能ビット数abitがユニットu
のスペクトルラインの本数L[u]以上であるという条件を
満たせば、ステップS912に進み、条件を満たさなけ
ればステップS914に進む。さらに、ステップS91
2では、ユニットuのワード長インデックスWLindex[u]
を、現在のワード長インデックスWLindex[u]に1を加算
した値に更新し、次いで、ステップS913では、残り
の利用可能ビット数abit’を次式を用いて更新した後、
ステップS914に進む。
【0114】
【数21】abit’←abit’−L[u]
【0115】ステップS914では、uを1だけデクリ
メントして設定し、次いで、ステップS909に戻る。
すなわち、負のフラグnegflag[u]が0であり(ユニット
uに割り当てられるビット数が2〜15ビットの場
合)、かつ残りの利用可能ビット数abit’が、ユニット
uにおけるスペクトルラインの本数L[u]より大きい又は
等しいという条件を満たせば、当該ユニットuに対して
そのスペクトルラインの本数と同数のビットがさらに割
り当てられ、残りの利用可能ビット数abit’は、ユニッ
トuにおけるスペクトルラインの本数L[u]だけ減少され
る。以上のようにして、残りのビットが選択されたユニ
ットに割り当てられる。
【0116】以上説明したように、本発明に係る実施形
態によれば、ほとんどのディジタル音声圧縮システムに
使用可能であり、特にATARCアルゴリズムにおいて
使用されると、非常に高品質な音質である音声を生成す
ることができ、非常に効果的でかつ効率的に動的にビッ
ト割り当てを行うことができる。また、当該ビット割り
当て処理は、従来技術に比較して簡単であって、本実施
形態のATRAC符号化器100をLSIを用いて容易
に低コストのオーディオ符号器を実現することができ
る。
【0117】
【発明の効果】以上詳述したように、本発明に係るオー
ディオ符号化のための動的ビット割り当て方法によれ
ば、ディジタル音声信号の分割された複数のサンプルデ
ータを量子化するために使用されるビット数を決定する
オーディオ符号化のための動的ビット割り当て方法であ
って、上記複数のサンプルデータは、異なる周波数間隔
と異なる時間間隔との少なくとも一方を有する複数のユ
ニットにグループ化されてなり、上記異なる周波数間隔
は人間の聴覚特性の臨界帯域に基づいて決定され、上記
異なる時間間隔は第1の時間間隔と、上記第1の時間間
隔より長い第2の時間間隔とを含み、(a)静寂時に人
間が音を可聴可能か否かを表す所定の静寂時のしきい値
特性に基づいて、すべてのユニットの絶対しきい値を設
定する絶対しきい値設定ステップと、(b)上記第1の
時間間隔を有するユニットの絶対しきい値を、同一の周
波数間隔を有する複数のユニットのうちの最小の絶対し
きい値によって置き換えることにより、上記第1の時間
間隔を有するユニットの絶対しきい値を調整する絶対し
きい値調整ステップと、(c)上記複数のユニットにグ
ループ化された複数のサンプルデータに基づいて、上記
各ユニットのピークエネルギーを計算するピークエネル
ギー計算ステップと、(d)すべてのユニットが第2の
時間間隔を有しているとき、所定の簡単化された同時マ
スキング効果モデルと、マスクするユニットのピークエ
ネルギーとに基づいて、上記簡単化された同時マスキン
グ効果モデルを用いたときの最小可聴限界であるマスキ
ング効果値を計算して各ユニットの絶対しきい値として
更新して設定するマスキング効果値計算ステップと、
(e)上記計算された各ユニットのピークエネルギー
と、上記計算された各ユニットの絶対しきい値とに基づ
いて、各ユニットの信号対マスキング比を計算する信号
対マスキング比計算ステップと、(f)量子化すべき全
帯域幅がすべてのユニットを含むと仮定して、上記ディ
ジタル音声信号のフレームのサイズに基づいて、ビット
割り当てに利用可能なビット数を計算する利用可能ビッ
ト数計算ステップと、(g)所定の正数値をすべてのユ
ニットの上記信号対マスキング比に加算することによ
り、上記すべてのユニットの信号対マスキング比を正の
値にする信号対マスキング比正数化ステップと、(h)
上記すべてのユニットの正数化された信号対マスキング
比と、所定の線形量子化器の1ビット当たりの信号対雑
音比の改善値に基づく信号対マスキング比の1ステップ
当たりの減少量と、上記利用可能なビット数とに基づい
て、上記すべてのユニットの正数化された信号対マスキ
ング比を減少させるためのオフセット値として定義され
る信号対マスキング比のオフセット値を計算する信号対
マスキング比オフセット値計算ステップと、(i)上記
計算された信号対マスキング比のオフセット値と、上記
計算された各ユニットの信号対マスキング比とに基づい
て、ビット割り当てを行う必要のあるユニットをカバー
する帯域幅を計算し、上記計算された帯域幅に基づいて
上記信号対マスキング比のオフセット値を更新するよう
に計算する帯域幅計算ステップと、(j)上記各ユニッ
トにおいて上記計算された信号対マスキング比から上記
計算された信号対マスキング比のオフセット値を減算し
て、各ユニットの減算された信号対マスキング比を計算
して、上記各ユニットの減算された信号対マスキング比
と、上記信号対マスキング比の1ステップ当たりの減少
量とに基づいて、量子化するときに各ユニットに割り当
てられるビット数を表すサンプルビット数を計算するサ
ンプルビット数計算ステップと、(k)上記計算された
利用可能なビット数から上記計算されたすべてのユニッ
トに割り当てられるべきサンプルビット数の合計値を減
算した残りのビット数を、少なくとも、上記信号対マス
キング比のオフセット値より大きい信号対マスキング比
を有するユニットに割り当てる残りのビット割り当てス
テップとを含む。従って、本発明の方法は、ほとんどの
ディジタル音声圧縮システムに使用可能であり、特にA
TARCアルゴリズムにおいて使用されると、非常に高
品質な音質である音声を生成することができ、非常に効
果的でかつ効率的に動的にビット割り当てを行うことが
できる。また、当該ビット割り当て処理は、従来技術に
比較して簡単であって、本発明の符号化器をLSIを用
いて容易に低コストのオーディオ符号器を実現すること
ができる。
【0118】また、本発明に係るオーディオ符号化のた
めの動的ビット割り当て装置によれば、ディジタル音声
信号の分割された複数のサンプルデータを量子化するた
めに使用されるビット数を決定するオーディオ符号化の
ための動的ビット割り当て装置であって、上記複数のサ
ンプルデータは、異なる周波数間隔と異なる時間間隔と
の少なくとも一方を有する複数のユニットにグループ化
されてなり、上記異なる周波数間隔は人間の聴覚特性の
臨界帯域に基づいて決定され、上記異なる時間間隔は第
1の時間間隔と、上記第1の時間間隔より長い第2の時
間間隔とを含み、(a)静寂時に人間が音を可聴可能か
否かを表す所定の静寂時のしきい値特性に基づいて、す
べてのユニットの絶対しきい値を設定する絶対しきい値
設定手段と、(b)上記第1の時間間隔を有するユニッ
トの絶対しきい値を、同一の周波数間隔を有する複数の
ユニットのうちの最小の絶対しきい値によって置き換え
ることにより、上記第1の時間間隔を有するユニットの
絶対しきい値を調整する絶対しきい値調整手段と、
(c)上記複数のユニットにグループ化された複数のサ
ンプルデータに基づいて、上記各ユニットのピークエネ
ルギーを計算するピークエネルギー計算手段と、(d)
すべてのユニットが第2の時間間隔を有しているとき、
所定の簡単化された同時マスキング効果モデルと、マス
クするユニットのピークエネルギーとに基づいて、上記
簡単化された同時マスキング効果モデルを用いたときの
最小可聴限界であるマスキング効果値を計算して各ユニ
ットの絶対しきい値として更新して設定するマスキング
効果値計算手段と、(e)上記計算された各ユニットの
ピークエネルギーと、上記計算された各ユニットの絶対
しきい値とに基づいて、各ユニットの信号対マスキング
比を計算する信号対マスキング比計算手段と、(f)量
子化すべき全帯域幅がすべてのユニットを含むと仮定し
て、上記ディジタル音声信号のフレームのサイズに基づ
いて、ビット割り当てに利用可能なビット数を計算する
利用可能ビット数計算手段と、(g)所定の正数値をす
べてのユニットの上記信号対マスキング比に加算するこ
とにより、上記すべてのユニットの信号対マスキング比
を正の値にする信号対マスキング比正数化手段と、
(h)上記すべてのユニットの正数化された信号対マス
キング比と、所定の線形量子化器の1ビット当たりの信
号対雑音比の改善値に基づく信号対マスキング比の1ス
テップ当たりの減少量と、上記利用可能なビット数とに
基づいて、上記すべてのユニットの正数化された信号対
マスキング比を減少させるためのオフセット値として定
義される信号対マスキング比のオフセット値を計算する
信号対マスキング比オフセット値計算手段と、(i)上
記計算された信号対マスキング比のオフセット値と、上
記計算された各ユニットの信号対マスキング比とに基づ
いて、ビット割り当てを行う必要のあるユニットをカバ
ーする帯域幅を計算し、上記計算された帯域幅に基づい
て上記信号対マスキング比のオフセット値を更新するよ
うに計算する帯域幅計算手段と、(j)上記各ユニット
において上記計算された信号対マスキング比から上記計
算された信号対マスキング比のオフセット値を減算し
て、各ユニットの減算された信号対マスキング比を計算
して、上記各ユニットの減算された信号対マスキング比
と、上記信号対マスキング比の1ステップ当たりの減少
量とに基づいて、量子化するときに各ユニットに割り当
てられるビット数を表すサンプルビット数を計算するサ
ンプルビット数計算手段と、(k)上記計算された利用
可能なビット数から上記計算されたすべてのユニットに
割り当てられるべきサンプルビット数の合計値を減算し
た残りのビット数を、少なくとも、上記信号対マスキン
グ比のオフセット値より大きい信号対マスキング比を有
するユニットに割り当てる残りのビット割り当て手段と
を備える。従って、本発明の装置は、ほとんどのディジ
タル音声圧縮システムに使用可能であり、特にATAR
Cアルゴリズムにおいて使用されると、非常に高品質な
音質である音声を生成することができ、非常に効果的で
かつ効率的に動的にビット割り当てを行うことができ
る。また、当該ビット割り当て処理は、従来技術に比較
して簡単であって、本発明の符号化器をLSIを用いて
容易に低コストのオーディオ符号器を実現することがで
きる。
【図面の簡単な説明】
【図1】 本発明に係る実施形態の動的ビット割り当て
処理を行う動的ビット割り当てモジュール109を備え
たATRAC符号化器100の構成を示すブロック図で
ある。
【図2】 図1の動的ビット割り当てモジュール109
によって実行される動的ビット割り当て処理の第1の部
分を示すフローチャートである。
【図3】 図1の動的ビット割り当てモジュール109
によって実行される動的ビット割り当て処理の第2の部
分を示すフローチャートである。
【図4】 図2のサブルーチンであるショートブロック
のための絶対しきい値調整処理(S203)の第1の部
分を示すフローチャートである。
【図5】 図2のサブルーチンであるショートブロック
のための絶対しきい値調整処理(S203)の第2の部
分を示すフローチャートである。
【図6】 図2のサブルーチンである高域側スロープの
マスキング効果値計算処理(S206)の第1の部分を
示すフローチャートである。
【図7】 図2のサブルーチンである高域側スロープの
マスキング効果値計算処理(S206)の第2の部分を
示すフローチャートである。
【図8】 図2のサブルーチンである低域側スロープの
マスキング効果値計算処理(S207)の第1の部分を
示すフローチャートである。
【図9】 図2のサブルーチンである低域側スロープの
マスキング効果値計算処理(S207)の第2の部分を
示すフローチャートである。
【図10】 図3のサブルーチンであるSMRオフセッ
ト値計算処理(S211)の第1の部分を示すフローチ
ャートである。
【図11】 図3のサブルーチンであるSMRオフセッ
ト値計算処理(S211)の第2の部分を示すフローチ
ャートである。
【図12】 図3のサブルーチンである帯域幅計算処理
(S212)の第1の部分を示すフローチャートであ
る。
【図13】 図3のサブルーチンである帯域幅計算処理
(S212)の第2の部分を示すフローチャートであ
る。
【図14】 図3のサブルーチンであるサンプルビット
計算処理(S213)の第1の部分を示すフローチャー
トである。
【図15】 図3のサブルーチンであるサンプルビット
計算処理(S213)の第2の部分を示すフローチャー
トである。
【図16】 図3のサブルーチンである残りのビット割
り当て処理(S214)の第1の部分を示すフローチャ
ートである。
【図17】 図3のサブルーチンである残りのビット割
り当て処理(S214)の第2の部分を示すフローチャ
ートである。
【図18】 図6及び図7の高域側スロープのマスキン
グ効果値計算処理における高域側スロープのマスキング
効果値の計算をモデル化したグラフであって、ピークエ
ネルギー(dB)と臨界帯域幅(Bark)との関係を
示したグラフである。
【図19】 図8及び図9の低域側スロープのマスキン
グ効果値計算処理における低域側スロープのマスキング
効果値の計算をモデル化したグラフであって、ピークエ
ネルギー(dB)と臨界帯域幅(Bark)との関係を
示したグラフである。
【図20】 図14及び図15のサンプルビット計算処
理におけるSMR値及びSMRオフセット値を用いたビ
ット割り当てをモデル化して示したグラフであって、S
MR(dB)とスペクトルラインの本数/SMR減少ス
テップ量(dB−1)との関係を示したグラフである。
【図21】 従来技術の動的ビット割り当て処理を行う
動的ビット割り当てモジュール109aを備えたATR
AC符号化器100aの構成を示すブロック図である。
【符号の説明】
100…ATRAC符号化器、 101…QMFフィルタ、 102…遅延器、 103…QMFフィルタ、 104…ブロックサイズ決定モジュール、 105,106,107…MDCTモジュール、 108…スケール係数モジュール、 109…動的ビット割り当てモジュール、 110…量子化モジュール、 111…QMF分解フィルタモジュール、 S200…動的ビット割り当て処理、 S203…ショートブロックのための絶対しきい値調整
処理、 S204…ピークエネルギー計算処理、 S206…高域側スロープのマスキング効果値計算処
理、 S207…低域側スロープのマスキング効果値計算処
理、 S208…SMR計算処理、 S209…ビット数計算処理、 S211…SMRオフセット値計算処理、 S212…帯域幅計算処理、 S213…サンプルビット計算処理、 S214…残りのビット割り当て処理。
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平6−244735(JP,A) 特開 平8−88567(JP,A) 特開 平6−242797(JP,A) 特開 平8−223050(JP,A) 特開 平6−242798(JP,A) 特開 平8−95598(JP,A) 特開 平8−167878(JP,A) (58)調査した分野(Int.Cl.7,DB名) H03M 3/00 - 11/00

Claims (20)

    (57)【特許請求の範囲】
  1. 【請求項1】 ディジタル音声信号の分割された複数の
    サンプルデータを量子化するために使用されるビット数
    を決定するオーディオ符号化のための動的ビット割り当
    て方法であって、 上記複数のサンプルデータは、異なる周波数間隔と異な
    る時間間隔との少なくとも一方を有する複数のユニット
    にグループ化されてなり、上記異なる周波数間隔は人間
    の聴覚特性の臨界帯域に基づいて決定され、上記異なる
    時間間隔は第1の時間間隔と、上記第1の時間間隔より
    長い第2の時間間隔とを含み、(a)静寂時に人間が音
    を可聴可能か否かを表す所定の静寂時のしきい値特性に
    基づいて、すべてのユニットの絶対しきい値を設定する
    絶対しきい値設定ステップと、(b)上記第1の時間間
    隔を有するユニットの絶対しきい値を、同一の周波数間
    隔を有する複数のユニットのうちの最小の絶対しきい値
    によって置き換えることにより、上記第1の時間間隔を
    有するユニットの絶対しきい値を調整する絶対しきい値
    調整ステップと、(c)上記複数のユニットにグループ
    化された複数のサンプルデータに基づいて、上記各ユニ
    ットのピークエネルギーを計算するピークエネルギー計
    算ステップと、(d)すべてのユニットが第2の時間間
    隔を有しているとき、所定の簡単化された同時マスキン
    グ効果モデルと、マスクするユニットのピークエネルギ
    ーとに基づいて、上記簡単化された同時マスキング効果
    モデルを用いたときの最小可聴限界であるマスキング効
    果値を計算して各ユニットの絶対しきい値として更新し
    て設定するマスキング効果値計算ステップと、(e)上
    記計算された各ユニットのピークエネルギーと、上記計
    算された各ユニットの絶対しきい値とに基づいて、各ユ
    ニットの信号対マスキング比を計算する信号対マスキン
    グ比計算ステップと、(f)量子化すべき全帯域幅がす
    べてのユニットを含むと仮定して、上記ディジタル音声
    信号のフレームのサイズに基づいて、ビット割り当てに
    利用可能なビット数を計算する利用可能ビット数計算ス
    テップと、(g)所定の正数値をすべてのユニットの上
    記信号対マスキング比に加算することにより、上記すべ
    てのユニットの信号対マスキング比を正の値にする信号
    対マスキング比正数化ステップと、(h)上記すべての
    ユニットの正数化された信号対マスキング比と、所定の
    線形量子化器の1ビット当たりの信号対雑音比の改善値
    に基づく信号対マスキング比の1ステップ当たりの減少
    量と、上記利用可能なビット数とに基づいて、上記すべ
    てのユニットの正数化された信号対マスキング比を減少
    させるためのオフセット値として定義される信号対マス
    キング比のオフセット値を計算する信号対マスキング比
    オフセット値計算ステップと、(i)上記計算された信
    号対マスキング比のオフセット値と、上記計算された各
    ユニットの信号対マスキング比とに基づいて、ビット割
    り当てを行う必要のあるユニットをカバーする帯域幅を
    計算し、上記計算された帯域幅に基づいて上記信号対マ
    スキング比のオフセット値を更新するように計算する帯
    域幅計算ステップと、(j)上記各ユニットにおいて上
    記計算された信号対マスキング比から上記計算された信
    号対マスキング比のオフセット値を減算して、各ユニッ
    トの減算された信号対マスキング比を計算して、上記各
    ユニットの減算された信号対マスキング比と、上記信号
    対マスキング比の1ステップ当たりの減少量とに基づい
    て、量子化するときに各ユニットに割り当てられるビッ
    ト数を表すサンプルビット数を計算するサンプルビット
    数計算ステップと、(k)上記計算された利用可能なビ
    ット数から上記計算されたすべてのユニットに割り当て
    られるべきサンプルビット数の合計値を減算した残りの
    ビット数を、少なくとも、上記信号対マスキング比のオ
    フセット値より大きい信号対マスキング比を有するユニ
    ットに割り当てる残りのビット割り当てステップとを含
    むことを特徴とするオーディオ符号化のための動的ビッ
    ト割り当て方法。
  2. 【請求項2】 上記ピークエネルギー計算ステップにお
    いて、上記各ユニット内で上記最大のスペクトル係数の
    振幅値を、所定のスケールファクタテーブルを用いて、
    上記振幅値に対応するスケールファクタに置き換えて所
    定の近似計算を行うことにより、各ユニットのピークエ
    ネルギーを計算することを特徴とする請求項1記載のオ
    ーディオ符号化のための動的ビット割り当て方法。
  3. 【請求項3】 上記マスキング効果値計算ステップにお
    いて、上記所定の簡単化された同時マスキング効果モデ
    ルは、上記マスクするユニットより高域側のユニットの
    音声信号をマスクするときに使用される高域側のマスキ
    ング効果モデルと、上記マスクするユニットより低域側
    のユニットの音声信号をマスクするときに使用される低
    域側のマスキング効果モデルとを含み、 上記マスクされるユニットの最終的に決定される絶対し
    きい値には、上記設定されたマスクされるユニットの絶
    対しきい値と、上記同時マスキング効果値とのうちの最
    大値が設定されることを特徴とする請求項1記載のオー
    ディオ符号化のための動的ビット割り当て方法。
  4. 【請求項4】 上記信号対マスキング比計算ステップに
    おいて、各ユニットの信号対マスキング比は、上記ユニ
    ットのピークエネルギーから上記設定された絶対しきい
    値を、デシベル(dB)単位で減算することによって計
    算されることを特徴とする請求項1記載のオーディオ符
    号化のための動的ビット割り当て方法。
  5. 【請求項5】 上記信号対マスキング比オフセット値計
    算ステップにおいて、 上記信号対マスキング比のオフ
    セット値は、 すべてのユニットの上記正数化された信号対マスキング
    比と、上記信号対マスキング比の1ステップ当たりの減
    少量と、上記ビット割り当てに利用できる利用可能なビ
    ット数に基づいて、初期の信号対マスキング比のオフセ
    ット値を計算することと、 上記計算された初期の信号対マスキング比のオフセット
    値に基づいて所定の反復処理を行うことによって計算さ
    れることを特徴とする請求項1記載のオーディオ符号化
    のための動的ビット割り当て方法。
  6. 【請求項6】 上記反復処理は、 上記初期信号対マスキング比のオフセット値より低い信
    号対マスキング比を有するユニットを上記信号対マスキ
    ング比のオフセット値の計算から除去し、 残りのユニットの上記正数化された信号対マスキング比
    と、上記信号対マスキング比の1ステップ当たりの減少
    量と、上記ビット割り当てに利用できる利用可能なビッ
    ト数に基づいて、上記信号対マスキング比のオフセット
    値の計算に関係するすべてのユニットの信号対マスキン
    グ比が最終的な信号対マスキング比のオフセット値より
    高くなるまで、上記信号対マスキング比のオフセット値
    を反復的に再計算し、このことによって、負のビット数
    の割り当てを生じさせないことを保証することを特徴と
    する請求項5記載のオーディオ符号化のための動的ビッ
    ト割り当て方法。
  7. 【請求項7】 上記帯域幅計算ステップにおいて、上記
    帯域幅は、所定のユニットから、上記信号対マスキング
    比のオフセット値より小さい上記信号対マスキング比を
    有するユニットが連続して存在する時に、上記連続した
    ユニットを除去することによって計算され、 上記除去されたユニットに対応するビット数は上記利用
    可能なビット数に加算されて上記利用可能なビット数が
    更新され、上記信号対マスキング比のオフセット値を更
    新することは、上記更新された利用可能なビット数に基
    づいて実行されることを特徴とする請求項1記載のオー
    ディオ符号化のための動的ビット割り当て方法。
  8. 【請求項8】 上記サンプルビット数計算ステップにお
    いて、上記各ユニットのサンプルビット数は、上記各ユ
    ニットの信号対マスキング比から上記信号対マスキング
    比のオフセット値を減算した値を、上記信号対マスキン
    グ比の1ステップ当たりの減少量で除算した後、その除
    算結果値を整数化した値であり、 上記信号対マスキング比のオフセット値より低い信号対
    マスキング比を有するユニットに対して、ビットを割り
    当てないことを特徴とする請求項1記載のオーディオ符
    号化のための動的ビット割り当て方法。
  9. 【請求項9】 上記残りのビット割り当てステップにお
    いて、上記残りのビット数を割り当てるための所定の第
    1と第2のパスの処理を実行し、 上記第1のパスの処理は、上記信号対マスキング比のオ
    フセット値より大きい信号対マスキング比を有するが上
    記サンプルビット数計算ステップにおける整数化の結果
    としてビットを割り当てられなかったユニットに1ビッ
    トを割り当て、 上記第2のパスの処理は、最大ビット数ではないが複数
    のビット数が既に割り当てられているユニットに対して
    1ビットを割り当てることを特徴とする請求項1記載の
    オーディオ符号化のための動的ビット割り当て方法。
  10. 【請求項10】 上記残りのビット割り当てステップに
    おいて、上記第1と第2のパスの処理は、最高の周波数
    のユニットから最低の周波数のユニットに向かってユニ
    ットを移動しながら実行されることを特徴とする請求項
    9記載のオーディオ符号化のための動的ビット割り当て
    方法。
  11. 【請求項11】 ディジタル音声信号の分割された複数
    のサンプルデータを量子化するために使用されるビット
    数を決定するオーディオ符号化のための動的ビット割り
    当て装置であって、 上記複数のサンプルデータは、異なる周波数間隔と異な
    る時間間隔との少なくとも一方を有する複数のユニット
    にグループ化されてなり、上記異なる周波数間隔は人間
    の聴覚特性の臨界帯域に基づいて決定され、上記異なる
    時間間隔は第1の時間間隔と、上記第1の時間間隔より
    長い第2の時間間隔とを含み、(a)静寂時に人間が音
    を可聴可能か否かを表す所定の静寂時のしきい値特性に
    基づいて、すべてのユニットの絶対しきい値を設定する
    絶対しきい値設定手段と、(b)上記第1の時間間隔を
    有するユニットの絶対しきい値を、同一の周波数間隔を
    有する複数のユニットのうちの最小の絶対しきい値によ
    って置き換えることにより、上記第1の時間間隔を有す
    るユニットの絶対しきい値を調整する絶対しきい値調整
    手段と、(c)上記複数のユニットにグループ化された
    複数のサンプルデータに基づいて、上記各ユニットのピ
    ークエネルギーを計算するピークエネルギー計算手段
    と、(d)すべてのユニットが第2の時間間隔を有して
    いるとき、所定の簡単化された同時マスキング効果モデ
    ルと、マスクするユニットのピークエネルギーとに基づ
    いて、上記簡単化された同時マスキング効果モデルを用
    いたときの最小可聴限界であるマスキング効果値を計算
    して各ユニットの絶対しきい値として更新して設定する
    マスキング効果値計算手段と、(e)上記計算された各
    ユニットのピークエネルギーと、上記計算された各ユニ
    ットの絶対しきい値とに基づいて、各ユニットの信号対
    マスキング比を計算する信号対マスキング比計算手段
    と、(f)量子化すべき全帯域幅がすべてのユニットを
    含むと仮定して、上記ディジタル音声信号のフレームの
    サイズに基づいて、ビット割り当てに利用可能なビット
    数を計算する利用可能ビット数計算手段と、(g)所定
    の正数値をすべてのユニットの上記信号対マスキング比
    に加算することにより、上記すべてのユニットの信号対
    マスキング比を正の値にする信号対マスキング比正数化
    手段と、(h)上記すべてのユニットの正数化された信
    号対マスキング比と、所定の線形量子化器の1ビット当
    たりの信号対雑音比の改善値に基づく信号対マスキング
    比の1ステップ当たりの減少量と、上記利用可能なビッ
    ト数とに基づいて、上記すべてのユニットの正数化され
    た信号対マスキング比を減少させるためのオフセット値
    として定義される信号対マスキング比のオフセット値を
    計算する信号対マスキング比オフセット値計算手段と、
    (i)上記計算された信号対マスキング比のオフセット
    値と、上記計算された各ユニットの信号対マスキング比
    とに基づいて、ビット割り当てを行う必要のあるユニッ
    トをカバーする帯域幅を計算し、上記計算された帯域幅
    に基づいて上記信号対マスキング比のオフセット値を更
    新するように計算する帯域幅計算手段と、(j)上記各
    ユニットにおいて上記計算された信号対マスキング比か
    ら上記計算された信号対マスキング比のオフセット値を
    減算して、各ユニットの減算された信号対マスキング比
    を計算して、上記各ユニットの減算された信号対マスキ
    ング比と、上記信号対マスキング比の1ステップ当たり
    の減少量とに基づいて、量子化するときに各ユニットに
    割り当てられるビット数を表すサンプルビット数を計算
    するサンプルビット数計算手段と、(k)上記計算され
    た利用可能なビット数から上記計算されたすべてのユニ
    ットに割り当てられるべきサンプルビット数の合計値を
    減算した残りのビット数を、少なくとも、上記信号対マ
    スキング比のオフセット値より大きい信号対マスキング
    比を有するユニットに割り当てる残りのビット割り当て
    手段とを備えたことを特徴とするオーディオ符号化のた
    めの動的ビット割り当て装置。
  12. 【請求項12】 上記ピークエネルギー計算手段は、上
    記各ユニット内で上記最大のスペクトル係数の振幅値
    を、所定のスケールファクタテーブルを用いて、上記振
    幅値に対応するスケールファクタに置き換えて所定の近
    似計算を行うことにより、各ユニットのピークエネルギ
    ーを計算することを特徴とする請求項11記載のオーデ
    ィオ符号化のための動的ビット割り当て装置。
  13. 【請求項13】 上記マスキング効果値計算手段の処理
    において、上記所定の簡単化された同時マスキング効果
    モデルは、上記マスクするユニットより高域側のユニッ
    トの音声信号をマスクするときに使用される高域側のマ
    スキング効果モデルと、上記マスクするユニットより低
    域側のユニットの音声信号をマスクするときに使用され
    る低域側のマスキング効果モデルとを含み、 上記マスキング効果値計算手段は、上記マスクされるユ
    ニットの最終的に決定される絶対しきい値に、上記絶対
    しきい値設定手段によって設定された上記マスクされる
    ユニットの絶対しきい値と、上記同時マスキング効果モ
    デルによって決められた同時マスキング効果値とのうち
    の最大値を設定することを特徴とする請求項11記載の
    オーディオ符号化のための動的ビット割り当て装置。
  14. 【請求項14】 上記信号対マスキング比計算手段は、
    各ユニットの信号対マスキング比を、上記ユニットのピ
    ークエネルギーから上記設定された絶対しきい値をデシ
    ベル(dB)単位で減算することによって計算すること
    を特徴とする請求項11記載のオーディオ符号化のため
    の動的ビット割り当て装置。
  15. 【請求項15】 上記信号対マスキング比オフセット値
    計算手段は、上記信号対マスキング比のオフセット値を
    計算するときに、 すべてのユニットの上記正数化された信号対マスキング
    比と、上記信号対マスキング比の1ステップ当たりの減
    少量と、上記ビット割り当てに利用できる利用可能なビ
    ット数に基づいて、初期の信号対マスキング比のオフセ
    ット値を計算し、 上記計算された初期の信号対マスキング比のオフセット
    値に基づいて所定の反復処理を行うことを特徴とする請
    求項11記載のオーディオ符号化のための動的ビット割
    り当て装置。
  16. 【請求項16】 上記反復処理は、 上記初期信号対マスキング比のオフセット値より低い信
    号対マスキング比を有するユニットを上記信号対マスキ
    ング比のオフセット値の計算から除去し、 残りのユニットの上記正数化された信号対マスキング比
    と、上記信号対マスキング比の1ステップ当たりの減少
    量と、上記ビット割り当てに利用できる利用可能なビッ
    ト数に基づいて、上記信号対マスキング比のオフセット
    値の計算に関係するすべてのユニットの信号対マスキン
    グ比が最終的な信号対マスキング比のオフセット値より
    高くなるまで、上記信号対マスキング比のオフセット値
    を反復的に再計算し、このことによって、負のビット数
    の割り当てを生じさせないことを保証することを特徴と
    する請求項15記載のオーディオ符号化のための動的ビ
    ット割り当て装置。
  17. 【請求項17】 上記帯域幅計算手段は、上記帯域幅
    を、所定のユニットから、上記信号対マスキング比のオ
    フセット値より小さい上記信号対マスキング比を有する
    ユニットが連続して存在する時に、上記連続したユニッ
    トを除去することによって計算し、 上記除去されたユニットに対応するビット数を上記利用
    可能なビット数に加算することにより上記利用可能なビ
    ット数を更新し、上記信号対マスキング比のオフセット
    値を更新するときに、上記更新された利用可能なビット
    数に基づいて実行されることを特徴とする請求項11記
    載のオーディオ符号化のための動的ビット割り当て装
    置。
  18. 【請求項18】 上記サンプルビット数計算手段の処理
    において、上記各ユニットのサンプルビット数は、上記
    各ユニットの信号対マスキング比から上記信号対マスキ
    ング比のオフセット値を減算した値を、上記信号対マス
    キング比の1ステップ当たりの減少量で除算した後、そ
    の除算結果値を整数化した値であり、 上記サンプルビット数計算手段は、上記信号対マスキン
    グ比のオフセット値より低い信号対マスキング比を有す
    るユニットに対して、ビットを割り当てないことを特徴
    とする請求項11記載のオーディオ符号化のための動的
    ビット割り当て装置。
  19. 【請求項19】 上記残りのビット割り当て手段は、上
    記残りのビット数を割り当てるための所定の第1と第2
    のパスの処理を実行し、 上記第1のパスの処理において、上記信号対マスキング
    比のオフセット値より大きい信号対マスキング比を有す
    るが上記サンプルビット数計算手段の処理における整数
    化の結果としてビットを割り当てられなかったユニット
    に1ビットを割り当て、 上記第2のパスの処理において、最大ビット数ではない
    が複数のビット数が既に割り当てられているユニットに
    対して1ビットを割り当てることを特徴とする請求項1
    1記載のオーディオ符号化のための動的ビット割り当て
    装置。
  20. 【請求項20】 上記残りのビット割り当て手段は、上
    記第1と第2のパスの処理において、最高の周波数のユ
    ニットから最低の周波数のユニットに向かってユニット
    を移動しながら実行することを特徴とする請求項19記
    載のオーディオ符号化のための動的ビット割り当て装
    置。
JP16826598A 1998-06-16 1998-06-16 オーディオ符号化のための動的ビット割り当て方法及び装置 Expired - Lifetime JP3515903B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP16826598A JP3515903B2 (ja) 1998-06-16 1998-06-16 オーディオ符号化のための動的ビット割り当て方法及び装置
US09/321,742 US6308150B1 (en) 1998-06-16 1999-05-28 Dynamic bit allocation apparatus and method for audio coding
DE69924431T DE69924431T2 (de) 1998-06-16 1999-06-04 Vorrichtung und Verfahren zur dynamischen Bitverteilung für Audiokodierung
EP99110742A EP0966108B1 (en) 1998-06-16 1999-06-04 Dynamic bit allocation apparatus and method for audio coding
CNB991090594A CN1146203C (zh) 1998-06-16 1999-06-16 用于音频编码的动态位分配装置和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP16826598A JP3515903B2 (ja) 1998-06-16 1998-06-16 オーディオ符号化のための動的ビット割り当て方法及び装置

Publications (2)

Publication Number Publication Date
JP2000004163A JP2000004163A (ja) 2000-01-07
JP3515903B2 true JP3515903B2 (ja) 2004-04-05

Family

ID=15864817

Family Applications (1)

Application Number Title Priority Date Filing Date
JP16826598A Expired - Lifetime JP3515903B2 (ja) 1998-06-16 1998-06-16 オーディオ符号化のための動的ビット割り当て方法及び装置

Country Status (5)

Country Link
US (1) US6308150B1 (ja)
EP (1) EP0966108B1 (ja)
JP (1) JP3515903B2 (ja)
CN (1) CN1146203C (ja)
DE (1) DE69924431T2 (ja)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7006555B1 (en) 1998-07-16 2006-02-28 Nielsen Media Research, Inc. Spectral audio encoding
DE19947877C2 (de) * 1999-10-05 2001-09-13 Fraunhofer Ges Forschung Verfahren und Vorrichtung zum Einbringen von Informationen in einen Datenstrom sowie Verfahren und Vorrichtung zum Codieren eines Audiosignals
US6735561B1 (en) * 2000-03-29 2004-05-11 At&T Corp. Effective deployment of temporal noise shaping (TNS) filters
US6968564B1 (en) 2000-04-06 2005-11-22 Nielsen Media Research, Inc. Multi-band spectral audio encoding
US6754618B1 (en) * 2000-06-07 2004-06-22 Cirrus Logic, Inc. Fast implementation of MPEG audio coding
US6910035B2 (en) * 2000-07-06 2005-06-21 Microsoft Corporation System and methods for providing automatic classification of media entities according to consonance properties
US6879652B1 (en) 2000-07-14 2005-04-12 Nielsen Media Research, Inc. Method for encoding an input signal
US7035873B2 (en) 2001-08-20 2006-04-25 Microsoft Corporation System and methods for providing adaptive media property classification
JP2002196792A (ja) * 2000-12-25 2002-07-12 Matsushita Electric Ind Co Ltd 音声符号化方式、音声符号化方法およびそれを用いる音声符号化装置、記録媒体、ならびに音楽配信システム
EP1241663A1 (en) * 2001-03-13 2002-09-18 Koninklijke KPN N.V. Method and device for determining the quality of speech signal
DE10113322C2 (de) * 2001-03-20 2003-08-21 Bosch Gmbh Robert Verfahren zur Codierung von Audiodaten
JP4380174B2 (ja) * 2003-02-27 2009-12-09 沖電気工業株式会社 帯域補正装置
US6965859B2 (en) * 2003-02-28 2005-11-15 Xvd Corporation Method and apparatus for audio compression
US7739105B2 (en) * 2003-06-13 2010-06-15 Vixs Systems, Inc. System and method for processing audio frames
US7349842B2 (en) * 2003-09-29 2008-03-25 Sony Corporation Rate-distortion control scheme in audio encoding
US7325023B2 (en) * 2003-09-29 2008-01-29 Sony Corporation Method of making a window type decision based on MDCT data in audio encoding
US7283968B2 (en) 2003-09-29 2007-10-16 Sony Corporation Method for grouping short windows in audio encoding
US7426462B2 (en) * 2003-09-29 2008-09-16 Sony Corporation Fast codebook selection method in audio encoding
CN1898724A (zh) * 2003-12-26 2007-01-17 松下电器产业株式会社 语音/乐音编码设备及语音/乐音编码方法
US7392195B2 (en) * 2004-03-25 2008-06-24 Dts, Inc. Lossless multi-channel audio codec
US7406412B2 (en) * 2004-04-20 2008-07-29 Dolby Laboratories Licensing Corporation Reduced computational complexity of bit allocation for perceptual coding
DE102004059979B4 (de) * 2004-12-13 2007-11-22 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung und Verfahren zur Berechnung einer Signalenergie eines Informationssignals
US7536301B2 (en) * 2005-01-03 2009-05-19 Aai Corporation System and method for implementing real-time adaptive threshold triggering in acoustic detection systems
US7627481B1 (en) * 2005-04-19 2009-12-01 Apple Inc. Adapting masking thresholds for encoding a low frequency transient signal in audio data
KR100851970B1 (ko) * 2005-07-15 2008-08-12 삼성전자주식회사 오디오 신호의 중요주파수 성분 추출방법 및 장치와 이를이용한 저비트율 오디오 신호 부호화/복호화 방법 및 장치
CN100459436C (zh) * 2005-09-16 2009-02-04 北京中星微电子有限公司 一种音频编码中比特分配的方法
US7676360B2 (en) * 2005-12-01 2010-03-09 Sasken Communication Technologies Ltd. Method for scale-factor estimation in an audio encoder
JP2008129250A (ja) * 2006-11-20 2008-06-05 National Chiao Tung Univ Aacのためのウィンドウ切り替え方法およびm/s符号化の帯域決定方法
FR2912249A1 (fr) * 2007-02-02 2008-08-08 France Telecom Codage/decodage perfectionnes de signaux audionumeriques.
KR101435411B1 (ko) 2007-09-28 2014-08-28 삼성전자주식회사 심리 음향 모델의 마스킹 효과에 따라 적응적으로 양자화간격을 결정하는 방법과 이를 이용한 오디오 신호의부호화/복호화 방법 및 그 장치
JP5262171B2 (ja) * 2008-02-19 2013-08-14 富士通株式会社 符号化装置、符号化方法および符号化プログラム
US9236063B2 (en) 2010-07-30 2016-01-12 Qualcomm Incorporated Systems, methods, apparatus, and computer-readable media for dynamic bit allocation
US9208792B2 (en) 2010-08-17 2015-12-08 Qualcomm Incorporated Systems, methods, apparatus, and computer-readable media for noise injection
EP2707874A4 (en) 2011-05-13 2014-12-03 Samsung Electronics Co Ltd BIT ASSIGNMENT AND AUDIO CODING AND DECODING
JP6319753B2 (ja) 2013-12-02 2018-05-09 華為技術有限公司Huawei Technologies Co.,Ltd. 符号化方法および装置
CN106409300B (zh) 2014-03-19 2019-12-24 华为技术有限公司 用于信号处理的方法和装置
US10043527B1 (en) * 2015-07-17 2018-08-07 Digimarc Corporation Human auditory system modeling with masking energy adaptation

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0805564A3 (en) * 1991-08-02 1999-10-13 Sony Corporation Digital encoder with dynamic quantization bit allocation
KR100269213B1 (ko) * 1993-10-30 2000-10-16 윤종용 오디오신호의부호화방법
JP3131542B2 (ja) * 1993-11-25 2001-02-05 シャープ株式会社 符号化復号化装置
US5761636A (en) * 1994-03-09 1998-06-02 Motorola, Inc. Bit allocation method for improved audio quality perception using psychoacoustic parameters
US5758315A (en) * 1994-05-25 1998-05-26 Sony Corporation Encoding/decoding method and apparatus using bit allocation as a function of scale factor
KR100289733B1 (ko) * 1994-06-30 2001-05-15 윤종용 디지탈 오디오 부호화 방법 및 장치
KR0144011B1 (ko) * 1994-12-31 1998-07-15 김주용 엠펙 오디오 데이타 고속 비트 할당 및 최적 비트 할당 방법
US6041295A (en) * 1995-04-10 2000-03-21 Corporate Computer Systems Comparing CODEC input/output to adjust psycho-acoustic parameters
DE19613643A1 (de) * 1996-04-04 1997-10-09 Fraunhofer Ges Forschung Verfahren zum Codieren eines mit einer niedrigen Abtastrate digitalisierten Audiosignals
CN1106085C (zh) * 1996-04-26 2003-04-16 德国汤姆逊-布朗特公司 对数字音频信号编码的方法和装置
GB2318029B (en) * 1996-10-01 2000-11-08 Nokia Mobile Phones Ltd Audio coding method and apparatus
KR100261254B1 (ko) * 1997-04-02 2000-07-01 윤종용 비트율 조절이 가능한 오디오 데이터 부호화/복호화방법 및 장치
US6161088A (en) * 1998-06-26 2000-12-12 Texas Instruments Incorporated Method and system for encoding a digital audio signal

Also Published As

Publication number Publication date
EP0966108B1 (en) 2005-03-30
CN1146203C (zh) 2004-04-14
DE69924431D1 (de) 2005-05-04
EP0966108A3 (en) 2002-06-19
US6308150B1 (en) 2001-10-23
CN1239368A (zh) 1999-12-22
EP0966108A2 (en) 1999-12-22
DE69924431T2 (de) 2006-02-09
JP2000004163A (ja) 2000-01-07

Similar Documents

Publication Publication Date Title
JP3515903B2 (ja) オーディオ符号化のための動的ビット割り当て方法及び装置
JP3131542B2 (ja) 符号化復号化装置
JP2906646B2 (ja) 音声帯域分割符号化装置
JP3508146B2 (ja) ディジタル信号符号化復号化装置、ディジタル信号符号化装置及びディジタル信号復号化装置
US5535300A (en) Perceptual coding of audio signals using entropy coding and/or multiple power spectra
KR100295217B1 (ko) 신호스펙트럼-의존양자화비트할당및노이즈스펙트럼-의존양자화비트할당으로서디지탈입력신호를압축하는장치
JPH0555925A (ja) デイジタル信号符号化装置及び復号化装置
JPH08204574A (ja) 適応的符号化システム
EP1228506A1 (en) Method of encoding an audio signal using a quality value for bit allocation
KR0137472B1 (ko) 오디오 신호 코딩 방법
JPH0816195A (ja) ディジタルオーディオ符号化方法及び装置
KR100477701B1 (ko) Mpeg 오디오 인코딩 방법 및 mpeg 오디오 인코딩장치
US6195633B1 (en) System and method for efficiently implementing a masking function in a psycho-acoustic modeler
JP3395001B2 (ja) ディジタルオーディオ信号の適応的符号化方法
US6128593A (en) System and method for implementing a refined psycho-acoustic modeler
JP2000151413A (ja) オーディオ符号化における適応ダイナミック可変ビット割り当て方法
JPH08307281A (ja) 非線形量子化方法及び非線形逆量子化方法
JPH10149197A (ja) 符号化装置および方法
JP2001148632A (ja) 符号化装置、符号化方法、及びその記録媒体
JP2993324B2 (ja) 音声高能率符号化装置
JPH08204575A (ja) 適応的符号化システム及びビット割当方法
KR100590340B1 (ko) 디지털 오디오 부호화 방법 및 장치
KR0144841B1 (ko) 음향신호의 적응적 부호화 및 복호화장치
JP2729013B2 (ja) オーディオ信号のためのしきい値制御量子化決定法
JPH0918348A (ja) 音響信号符号化装置及び音響信号復号装置

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040113

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040119

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080123

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090123

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090123

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100123

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110123

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110123

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120123

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130123

Year of fee payment: 9

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130123

Year of fee payment: 9

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140123

Year of fee payment: 10

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140123

Year of fee payment: 10

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term