(57)【要約】  対数レンジへの転換において、平方値に線形従属する計算結果のビット幅全体を対象とする必要はない。ｘビット値の計算結果を、該結果をｘビットより少ないビットで表示し、これに基づき十分に対数表示が行えるようにスケールすることができる。得られた対数表示に対するスケーリング係数の影響は、スケーリング係数に対数関数を適用して得られる補正値を、スケールされた対数表示に加算または除算することによって、一切のダイナミクス損失なしに補償することができる。このように、平方値に線形従属する計算結果の表示を生成するための計算を、簡単にし、および／またはハードウエアコスト増ほとんどなしに可能にする方法および装置を提供する。【選択図】図４
2008523450.tif 000002
【特許請求の範囲】
【請求項１】
情報振幅信号の信号エネルギーを計算するための装置であって、前記装置は、
情報振幅信号（１６４）を、対数化されないｘビット表示で表されるスペクトル値に分解するための変換手段（１５２）と、
それぞれのスペクトル平方値を得るために、各スペクトル値（２２1〜２２N；８４1〜８４N）の前記対数化されない前記ｘビット表示を平方（４０；６８）し、前記対数化されないｙビット表示（２６）の計算結果として平方和を得るために、前記スペクトル平方値を合計（３８；７０）する処理手段（２４；８０）であって、ｙは、ｘの２倍に等しいかこれより小さく、前記処理手段（２４；８０）は、前記計算結果を実効スケーリング係数に従ってスケールするように、前記実効スケーリング係数を用いるために構成されている、処理手段と、
前記計算結果の対数化されたスケールされた表示（３０）を得るために、前記計算結果の前記対数化されない前記ｙビット表示（２６）に、対数関数を適用するための、対数化手段（２８；８２）と、
前記信号エネルギーとして前記計算結果の対数化表示（３４）を得るために、前記スケールされた対数表示（３０）に対し、前記実効スケーリング係数に適用された前記対数関数に対応する値の補正値を加算または減算（４４）するための、再スケーリング手段（３２；７６）とを含む装置。
【請求項２】
前記処理手段（２４；８０）は、固定小数点データフォーマットにおいて前記グループの各スペクトル値の前記ｘビット表示（２２1〜２２N；８４1〜８４N）を前処理するよう構成されている、請求項１に記載の装置。
【請求項３】
前記実効スケーリング係数が前記値のグループの前記スペクトル値の数（Ｎ）によって決まるように、前記処理手段（２４；８０）を駆動する制御手段（３６；６４）をさらに含む、請求項１または請求項２に記載の装置。
【請求項４】
前記実効スケーリング係数を使った前記スケーリングによって、前記対数化されない前記ｙビット表示（２６）の中の有効ポジションの数を増やすよう前記処理手段（２４；８０）を駆動する制御手段（３６；６４）をさらに含む、請求項１ないし請求項３のいずれかに記載の装置。
【請求項５】
前記スペクトル値の数（Ｎ）に基づいて共通スケーリング係数を調整する制御手段（６４）をさらに含み、前記処理手段（８０）は、
ｘビット表示においてスケールされたスペクトル値を得るために、前記共通スケーリング係数に基づいて、各スペクトル値の前記対数化されない前記ｘビット表示（８４1〜８４N）をスケーリングするための、スケーリング手段（６６）と、
スケールされた平方スペクトル値を得るために、各スケールされたスペクトル値の前記ｘビット表示を平方するための、平方手段（６８）と、
平方和を得るために、前記スケールされた平方スペクトル値を合計する合計手段（７０）とを含む、請求項１ないし請求項４のいずれかに記載の装置。
【請求項６】
各スペクトル値の前記対数化されない前記ｘビット表示（８４1〜８４N）は、固定小数点データフォーマットで表され、前記制御手段（６４）は、前記スペクトル値の前記ｘビット表示における不使用ビットポジションの最小数に基づいて前記調整をさらに実施するように構成されている、請求項５に記載の装置。
【請求項７】
前記制御手段（６４）は、前記共通スケーリング係数を２のｋ乗に調整するよう構成され、前記スケーリング手段（６６）は、ｘビット値のレジスタにおける前記グループのスペクトル値の前記ｘビット表示をｋビット数シフトするよう構成されている、請求項５または請求項６に記載の装置。
【請求項８】
前記平方手段（６８）は、２ｘの結果レジスタにおいて、２ｘビット表示の前記スケールされた平方スペクトル値のうち所定のスケールされた平方スペクトル値を取り込むために、前記２ｘの結果レジスタは構成され、前記合計手段（７０）は、前記ｙビット部分を、他のスケールされた平方スペクトル値の前記ｙビット部分と一緒に合計し、前記平方値の和をｙビットレジスタに書き込むために、前記２ｘの結果レジスタからの前記２ｘビット表示のｙビット部分を読み取り、前記２ｘの結果レジスタ中の前記残りのビットを放棄するように構成されている、請求項５ないし請求項７のいずれかに記載の装置。
【請求項９】
前記対数化手段（２８；７２）は、前記対数化された前記スケールされた表示（３０）が、ｙより大きいかこれと等しい数で除算された前記対数化されない前記ｙビット表示（２６）を基底２対数のｙビットで表示したものと一致するように、前記対数化されない前記ｙビット表示（２６）を処理するよう構成されており、前記再スケーリング手段（３２）は、前記数で除算された前記実効スケーリング係数の前記基底２対数に相当する量を、前記対数化された前記スケールされた表示（３０）に加算またはこれから減算するよう構成されている、請求項１ないし請求項８のいずれかに記載の装置。
【請求項１０】
固定小数点データフォーマットにおいて演算するために、前記処理手段（２４；８０）、前記対数化手段（２８；８２）、および前記再スケーリング手段（３２）が構成されている、請求項１ないし請求項９のいずれかに記載の装置。
【請求項１１】
固定小数点プロセッサに実装される、請求項１ないし請求項１０のいずれかに記載の装置。
【請求項１２】
ｙは、ｘまたは２ｘに等しい、請求項１ないし請求項１１のいずれかに記載の装置。
【請求項１３】
前記変換手段（１５２）は、スペクトル成分毎に一つのスペクトルラインを得るために、前記情報振幅信号（１６４）をスペクトル成分に分解するよう構成され、各スペクトルラインはスペクトル値のシーケンスを含み、前記スペクトルラインは異なるスペクトルグループ（１７０）に割り当てられており、前記処理手段は、前記グループ（１７０）の各々に対し、計算結果として前記それぞれのグループに対する平方和を得るために、前記それぞれのグループ（１７０）に対してスペクトル値の前記平方計算および前記合計計算を実施するために構成され、前記対数化手段および前記再スケーリング手段は、平方和毎に信号エネルギーを得るよう構成されている、請求項１ないし請求項１２のいずれかに記載の装置。
【請求項１４】
前記グループの前記信号エネルギー値に基づいて、前記情報振幅信号（１６４）の符号化バージョンを表す符号化データストリーム生成するための符号ストリーム生成器（１５６）をさらに含む、請求項１３に記載の装置。
【請求項１５】
前記情報振幅信号は音声信号である、請求項１４に記載の装置。
【請求項１６】
前記符号ストリーム生成器（１５６）は、さらに心理音響モデル（１６２）に基づいて前記符号化データストリームを生成するよう構成されている、請求項１４または請求項１５のいずれかに記載の装置。
【請求項１７】
前記符号ストリーム生成器は、ＭＰＥＧ１／２レイヤ３エンコーダまたはＭＰＥＧ２／４ＡＡＣエンコーダである、請求項１４または請求項１６に記載の装置。
【請求項１８】
情報振幅信号の信号エネルギーを計算する方法であって、前記方法は、
情報振幅信号（１６４）を、対数化されないｘビット表示で表されるスペクトル値に分解する工程と、
それぞれ一つのスペクトル平方値を得るために、各スペクトル値（２２1〜２２N；８４1〜８４N）の前記対数化されない前記ｘビット表示を平方（４０；６８）し、前記対数化されないｙビット表示（２６）の計算結果として平方和を得るために、前記スペクトル平方値を合計（３８；７０）する工程であって、ｙは、ｘの２倍に等しいかこれより小さく、前記工程（２４；８０）は、前記計算結果は、実効スケーリング係数に従ってスケールするために、前記実効スケーリング係数を用いて実行する工程と、
前記計算結果の対数化されたスケールされた表示（３０）を得るために、前記計算結果の前記対数化されない前記ｙビット表示（２６）に、対数関数を適用する工程と、
前記信号エネルギーとして、前記計算結果の対数化表示（３４）を得るために、前記スケールされた対数表示（３０）に対し、前記実効スケーリング係数に適用された前記対数関数に対応する値の補正値を加算または減算（４４）する工程とを含む方法。
【請求項１９】
コンピュータプログラムがコンピュータ上で動作する場合、請求項１８に記載の前記方法を実行するプログラムコードを有するコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば、心理音響モデルに従って、該周波数グループの信号エネルギーを使ってさらなる符号化を行い、周波数グループを形成するために、周波数ラインを組み合わせ、一部の音声エンコーダで必要とされる数値グループの平方和のような、平方値に線形従属する計算結果の表示の生成に関する。
【背景技術】
【０００２】
ＭＰＥＧレイヤ３またはＭＰＥＧ  ＡＡＣのような、フィルタバンクベースの近年の音声符号化方法では、エンコーダ中で心理音響モデルが使われる。この心理音響モデルでは、周波数レンジに変換された音声信号のスペクトルは、周波数グループ毎にさまざまな幅、および／またはさまざまな数の周波数ラインを持つ個別の周波数グループに分割される。心理音響可聴閾値の計算、中央／サイドのステレオ符号化を使うべきかどうかの判断、および、音声エンコーダの量子化モジュール中のスケール係数の評価、および／または計算のため、該心理音響モデルにおいて個々の周波数グループ中の音声信号部分の信号エネルギーが計算される。これは、各個別の周波数ラインを平方し、これよりライン別のエネルギーを得、次いで、個別周波数グループ中のすべてのラインエネルギーの和からその周波数グループのバンドエネルギーが形成される。そのエネルギー数は、ＭＰＥＧ  ＡＡＣの場合、音声チャンネルあたり約４０〜６０とすることができる。
【０００３】
以下に、固定小数点プロセッサにおいて、このような方法を実行する特定のアプリケーションを検討することにする。
【０００４】
固定小数点表示において、周波数ラインは、例えば、２４ビットまたは３２ビットのワード幅で表される。１６ビットのワード幅では不十分である。グローバルスケーリング係数またはシフト係数が使われるが、これは、あるエンコーダ内で処理される、ある音声チャンネルの全周波数ライン、さらにそのエンコーダ内で処理される全音声チャンネルの全周波数ラインに適用され、元のスケーリングを再現するため各周波数ライン値のポジションをいくつ左または右にシフトする必要があるかを定めるもので、これをブロック浮動小数点表示という。これは、少なくとも一つの音声チャンネルのすべての周波数ラインは、等しくゲート出力され、および／または同じスケーリングレベルにされるということである。個別周波数ライン振幅の一般的に大きなダイナミクス幅から考えると、この方式では、例えば、一部の周波数ラインは、２４ビットのワード幅で有効ビットが２２、または３２ビットのワード幅で有効ビット３０といった比較的高い精度で表示され、他方のラインでは、これほどの有効ビットが取れず、従ってかなりの低精度で表示されることになる。
【０００５】
前述のフィルタバンクベースの固定小数点プロセッサによる音声符号化方法の実行では、下記のような問題が生じることになる。
【０００６】
第一に、信号エネルギー自体の表示に関する問題がある。周波数ラインの平方の合計である信号エネルギーは、平方計算を使っているため、全体の精度を維持しようとすれば元の周波数ラインの倍のダイナミクスを得ることになってしまう。
【０００７】
信号エネルギーを表すのに実にさまざまな実現性がある。一つのやり方は、周波数ラインの表示に使われたデータタイプのワード幅の倍のワード幅を持つデータタイプ、すなわち、例えば、４８ビットまたは６４ビットのワード幅を持つデータタイプによる信号エネルギー表示である。例えば、２４ビットのデータタイプで表示される２２の有効ビットを持つある周波数ラインを考えてみよう。周波数ラインを併せた合計信号エネルギーは、少なくとも４４の有効ビットを有し、および、４８ビットのデータタイプによって表示することができよう。しかしながら、このやり方は、少なくとも６４ビットのエネルギー、すなわち、周波数ラインが３２ビットデータタイプで表される場合に対しては使えない、というのは、従来型のほとんどの固定小数点プロセッサは、６４ビットデータタイプを全くサポートしていないか、さもなければ、６４ビットデータタイプを使ったメモリアクセス動作および計算するのが、例えば、３２ビットのアクセス動作および計算と比べて極端に遅いからである。さらに、６４ビットデータの場合メモリ消費が大幅に増えることになる。
【０００８】
信号エネルギー表示の別の実現性は、仮数と指数との手段を使った浮動小数点データによる表示である。再度、２４ビットデータタイプで表された有効ビット２２の周波数ラインの前述の例を考えてみる。この場合、それぞれのグループの信号エネルギーは、符号ビットを含む１６ビットの仮数と８ビットの指数とを備えた、標準的な、または、独自仕様の浮動小数点データタイプによって表されることになろう。ここで、データタイプが、ＩＥＥＥ−Ｐ７５４のような標準的浮動小数点データタイプか、任意に選定された仮数および指数幅を持つ独自の浮動小数点データタイプであるかは問わない。浮動小数点計算ユニットを持たない固定小数点プロセッサにおいては、浮動小数点データタイプの計算は、必ずいくつかの計算ステップが競合し、従って極度に遅くなるので、このやり方は使えない。
【０００９】
固定小数点プロセッサによる、前述のフィルタバンクベースの音声符号化の実行におけるさらなる問題の分野は、符号化法の過程における信号エネルギーの再処理である。信号エネルギー、および、これから導かれた可聴閾値は、例えば、信号エネルギーと可聴閾値との間の比率または指数の計算をするために、アルゴリズムのさまざまな多くの箇所において、音声エンコーダの追加的ルーティン中に使用される。固定小数点プロセッサで、必要な除算を実施するのは容易ではない。
【００１０】
固定小数点プロセッサで除算を行う一つの実現性は、シングルビット除算命令を使うことであり、これは、一部の固定小数点プロセッサに備えられ、コールの都度、商に追加精度ビットを補充する。これによれば、例えば、４８ビット精度の除算を行うため、２つの信号エネルギーの間、または、信号エネルギーと可聴閾値との間の一回の除算に対し、４８回の個別除算命令が必要なことになろう。これには、高い計算時間コストが必要で非常に非効率的で、実用性がない。
【００１１】
固定小数点プロセッサで除算を実施する別の実現性は、除算結果の精度を向上させるための後続の反復ステップと関連させてもよい、表の使用である。しかしながら、このやり方は、必要な除算結果精度を得るため、非常に大きな表を使う必要があり、また、これにより大量の計算時間が要求されるので多くの場合実用性はない。
【００１２】
前述の両方の方法を、固定小数点プロセッサで、固定小数点データタイプ、またはソフトウエア毎にエミュレートされた浮動小数点データタイプに関連させて使用することができるが、同時に存在する結果の精度と共に、計算時間およびメモリ消費に関し十分に効率的な使用法を提供することはできない。
【００１３】
ＧＰＰ（Ｇｅｎｅｒａｌ  Ｐｕｒｐｏｓｅ  Ｐｒｏｃｅｓｓｏｒ、汎用プロセッサ）を使った場合、前述の問題は生じないであろう。しかしながら、多くの用途において、浮動小数点計算ユニットのない固定小数点プロセッサよりも高い性能を備えたプロセッサの使用は、高価格が重荷となり、部品数も多くなることから、自動的に問題外となる。こういった用途の例として携帯電話およびＰＤＡ類がある。
【００１４】
米国特許第６，７５４，６１８Ｂ１号は、信号エネルギーと可聴閾値との間の比率の計算であるＳＭＲ計算の問題に対応しており、固定小数点ＤＳＰチップの状況に取り組んでいる。この中で提案されているやり方によれば、最初に、通常の窓処理と、その後の音声信号をそのスペクトル成分へ分解するためのフーリエ変換とが行われ、次いで、それぞれの周波数ラインの値の実数部と虚数部とから、各入力信号、および／または周波数ライン信号のエネルギー、すなわち、ラインエネルギーが計算される。周波数ラインのグループの信号エネルギーの生成をさらに行わなくても、これらのグループの信号エネルギーに基づけば、この方法を続けて行くことができる。上記文書に書かれているのは、ほとんどの固定小数点ＤＳＰチップが備えるデータ幅は１６〜２４ビットしかないのに、ＭＰＥＧ規格では、１０１ｄＢのダイナミックレンジに対応する３４ビットのデータ幅が要求されることになるため、エネルギーである入力データのほとんどが過大なダイナミックレンジを有するとの問題が生じ、これを除去しようとする試みである。従って、まず、エネルギーをスケーリングすることが必要になる。具体的には、今までのやり方と異なり、２つの異なるスケーリング値を用いるという提案がされている。さらに詳しくは、上記文書によれば、対数レンジに変換され、対数レンジに転換された計算結果を１６ビットで十分表すために、さらに、１６ビットの対数レンジでＳＭＲ比を計算できるようにするために、エネルギーは、閾値と比較され、上下それぞれの向きにスケールされる。上向きまたは下向きどちらへのスケーリングを行うのかによって、異なる閾値テーブルが使われる。対数化について、ｄＢ単位が得られるように、１０倍した常用対数が用いられる。上向きにスケールされたラインエネルギーを対数化した結果がゼロの場合、該上向きにスケールされたラインエネルギーの対数から、閾値エネルギーの対数を１０倍した値をマイナスすることによって、ＳＭＲ比を計算がされることになる。それ以外の場合は、上向きにスケールされたラインエネルギーと下向きにスケールされたラインエネルギーとは、相互に組み合わされる。
【００１５】
米国特許第６，７５４，６１８Ｂ１号で提案されたやり方は、対数レンジでＳＭＲ比の計算を提案することによって、信号エネルギーの再処理に関する前述の問題の一部を回避している。これによって、複雑な除算計算が除去される。しかしながら、このやり方では、１６ビットＤＳＰ固定小数点プロセッサに適した１６ビット固定小数点表示に対する値のレンジは、対数計算の後でしか設定されず、その前に、大きなダイナミクス幅を持つエネルギーに対し、こういった対数化が行われ、このため、エネルギー値毎に事実上２つの対数計算を行う必要が生じ、相対的に見ると対数計算が依然として複雑である、という不利点がある。
【００１６】
従って、ダイナミクスの損失を生じさせないで、対数レンジへの変換を簡明にすることが望まれる。
【００１７】
米国特許第５，６０８，６６３号は、対数固定小数点フォーマットへ変換し、対数レンジで加算し、続いて逆変換するという方法による、浮動小数点数字の並行乗算の高速実行を取り扱っている。
【００１８】
米国特許第５，１９７，０２４号は、指数／対数計算と関連装置とを全体として取り扱っている。
【００１９】
米国特許第６，７３２，０７１号は、音声符号化のレート制御、および、終了条件を伴ったループ反復計算を使った量子化パラメータ値の算定に対する効率的対処法を取り扱っており、該算定法によれば、量子化パラメータは、最大周波数ライン値に基づく項の基底２対数（ｌｏｇａｒｉｔｈｍ  ｄｕａｌｉｓ）から導き出された項と比較される。
【００２０】
米国特許第６，３５１，７３０号は、音声符号化におけるゲイン計算に対する基底２対数の使用について記載している。ゲイン値は、ＭＤＣＴ符号化音声コーデックにおけるビット配分に使われる。
【００２１】
米国特許第６，３５１，７３０号は、音声信号エネルギーの表示への自然対数の使用について記載している。対数レンジへの変換についての詳細説明はされていない。
【００２２】
【特許文献１】米国特許第６，７５４，６１８号
【特許文献２】米国特許第５，６０８，６６３号
【特許文献３】米国特許第５，１９７，０２４号
【特許文献４】米国特許第６，７３２，０７１号
【特許文献５】米国特許第６，３５１，７３０号
【発明の開示】
【発明が解決しようとする課題】
【００２３】
本発明の目的は、平方値に線形従属する計算結果の表示を、より単純化され、より低いハードウエアコストで可能な計算によって生成する方法および装置を提供することである。
【課題を解決するための手段】
【００２４】
この目的は、請求項１による装置、および請求項１８による方法によって達成される。
【００２５】
平方値に線形従属する計算結果の表示を生成するための本発明の装置であって、該計算結果は対数化されてないｘビットで表示されており、前記装置は、
該値に線形従属する計算結果を得るために、対数化されていない値のｘビット表示の処理を行う処理手段であって、該処理手段は、計算結果が該実効スケーリング係数に基づいてスケールされるように、実効スケーリング係数を用いるために、構成されている処理手段と、
計算結果のｙビットによる表示に対し対数関数を適用するための対数化手段であって、該計算結果は対数化されておらず、対数化された計算結果のスケールされた表示、および／またはスケールされた計算結果の対数化表示を得るために、前記処理手段による処理作業から直接的あるいは間接的に、例えば、ビットポジションから選出するなどして得られたものであり、ｙはｘの２倍より小さい、対数化手段と、
スケールされた対数表示に対し補正値を加算、減算をそれぞれ行うための再スケーリング手段であって、前記補正値は、実効スケーリング係数を適用されたスケールされた対数のような対数関数に対応し、スケール化された対数計算結果の表示を得るための再スケーリング手段とを含む。
【００２６】
本発明の発見は、対数レンジへの転換においては、平方値に線形従属する計算結果の全ビット幅を対象にする必要はない、ということである。すなわち、ｘビットより少ない計算結果の表示でも対数表示を得るベースとして十分なように、ｘビット値の計算結果をスケールすることが可能である。得られた対数表示に対するスケーリング係数の影響については、スケーリング係数に適用された対数関数によって得られた補正値を、スケールされた対数表示に加算または減算することによって、一切のダイナミクスの損失なく、キャンセルすることができる。
【００２７】
従って、本発明の一つの利点は、本発明の方法では、複数の計算結果を、引き続き、ダイナミクスを実質的に維持しながら、それらのすべてに対するスケーリングレベルが同一になるように、対数表示に変換することができることである。
【００２８】
本発明のある実施形態によれば、ｘビットの値表示の処理内容は、該値に線形従属する計算結果を得るために、値のグループの平方和を生成する。しかしながら、平方和の計算後に実効スケーリング係数を適用する代わりに、その前にもｘビット表示は、共通スケーリング係数でスケールされる。共通スケーリング係数は、値の数から、および／またはｘビット値の表示グループの中の有効ポジションの最大数を使って算定される。このやり方によって、ｘビットの値表示の始めの状態から、変わらずに、ｘビット表示フォーマットを維持することができる。このことは、個々の値の平方、およびそれら個別平方値の和にも同様に適用される。ここで、共通スケーリング係数は、合計した結果の平方和がオーバーフローを起こさないように設定される。この実施形態によれば、平方和の対数が取られるのでなく、ｘビット表示のある部分に対して対数関数が実行される。また、この実施形態においても、いくつかの値グループに対し、一方で、個々のグループの値が、異なる共通スケーリング係数でスケールされ、他方で、それらのすべての平方和の対数表示に対して、後のスケーリングレベルが同一になるようにするやり方が、いくつかの値のグループに対して使えるという利点は維持されている。
【００２９】
本発明の別の好適な実施形態によれば、１／ｙより小さいかこれと等しい係数と共に、対数関数として基底２対数が使われる。こうすれば、計算結果のｙビット表示と、計算結果のスケールされた対数化表示との間のマッピングを、両方の表示の値範囲を最適に利用しながら実施することが可能になる。
【００３０】
本発明の別の実施形態によれば、音声符号化のため、グループのスペクトルライン値が、グループ毎に、前述のやり方で平方和を生成しやすい。すなわち、平方和を計算する前に、これらスペクトルライン値はスケーリングされ、得られた単一の平方値を合計することによって、周波数ライン値は対数化されていないｘビット固定小数点データフォーマットで表されており、これらもまたｘビット固定小数点データフォーマットで表されなければならないが、基底２対数による対数化と１／ｘより小さいかこれと等しい係数によるスケーリングとを含む対数関数を該平方値の和に適用し、対数関数により共通スケーリング係数から得られた補正値を、対数化された上記計算結果のｘビット固定小数点表示に加算または減算する。このようにして、すべてのスペクトルグループの個別のエネルギーは、ダイナミクスを減ずることなく同一のスケーリングレベルに維持される。さらに、ｘビットの固定小数点数値だけを処理するために構成された計算ユニットの手段によって、各々の演算を実施することができる。従って、この実施形態には、音声符号化を１６または２４ビットの固定小数点ＤＳＰで、計算時間コストの増大を伴う複雑なプログラミングを必要とせず、音声符号化を実行することができるという利点がある。
【００３１】
以下に、添付の図面を関連させながら、本発明の好適な実施形態についてさらに詳しく説明する。
図１は、３２ビット固定小数点データフォーマットの構成を示す概略図である。
図２ａおよび２ｂは、６４ビットの計算結果に対し、過小な値の影響を示すための３２ビット固定小数点データ値の平方計算の概略図である。
図３は、本発明の実施形態による対数関数のグラフである。
図４は、本発明の実施形態による、平方和を生成するための装置の概略ブロック図である。
図５は、図４の装置の可能な構成のブロック図である。
図６は、図５による装置の機能を示すフローチャートである。
図７は、本発明の実施形態による音声エンコーダを示す概略ブロック図である。
【発明を実施するための最良の形態】
【００３２】
以下に、図面を参照し、しばしば、音声信号処理、特に音声信号の符号化を背景として本発明を説明する。図面の説明を追って詳細な説明をすることになるが、本発明は、この用途分野に限定されるものでなく、この背景設定が理解促進の上で大いに役立つからである。
【００３３】
本発明の実施形態をさらに詳細に説明する前に、以下に、図１〜３を参照しながら、一種の概観説明、また以降の実施形態をよりよく理解するための手助けでとして、これら実施形態の導入説明を行う。
【００３４】
図２は、あり得る３２ビット固定小数点データフォーマットの構成を示し、これは、以下に説明する実施形態の典型的ベースとなる。示された３２ビットのデータフォーマットは、他のビット数にも容易に適用することができる。図から分かるように、３２ビット固定小数点データフォーマットに格納された値は、３２ビットを含む。従って、３２ビットレジスタは、３２ビット固定小数点データフォーマットのこの値を格納するのに十分なものである。このようなレジスタを１０として示す。最下位ビット（ＬＳＢ）から最上位ビット（ＭＳＢ）までＸ0…Ｘ31の番号を付された個々の二乗によって、３２のビットのポジションが示唆されている。該３２ビット固定小数点データフォーマットに従って、個々のビットポジションの意味が、個別ビットポジションの下に示唆されている。図からわかるように、最重要ビットは、正負符号、すなわち、＋または−、を表している。残りのビットＸ30−Ｘ0は、値の大きさを表わす。図１の実施形態によれば、これらのビットは、真の小数（ｔｒｕｅ  ｆｒａｃｔｉｏｎ）を表す、すなわち、データフォーマット１０は小数固定小数点データフォーマットであり、慣例的に、点またはカンマは、最左ポジション、すなわちＸ30ビットの左側に置かれている。従って、レジスタ１０中の値は次のように表すことができる。
2008523450.tif 000003
【００３５】
容易に分かるように、小数固定小数点データフォーマットの表示可能な値範囲は、おおむね、もっぱら−１〜１の幅となる。
【００３６】
本発明の導入部分で説明したように、信号エネルギーは、例えば、ある周波数グループ中の周波数ラインを平方しすべての平方化周波数ラインを合計することによって、ラインエネルギーとして得られる。周波数グループに包含されるラインの数は、ＭＰＥＧレイヤ３およびＭＰＥＧ  ＡＡＣの例では、４〜９６個の範囲にわたる。
【００３７】
これも本発明の導入部で説明したように、ある音声チャンネルのすべての周波数ライン、さらには、あるエンコーダの中で処理されるすべての音声チャンネルのすべての周波数ラインに適用されるグローバルなスケーリング係数であって、元のスケーリングを再現するため、復号器側で、各周波数ラインの値をどの位のポジション左右にシフトするのかを設定する係数を使って、固定小数点データフォーマット中の周波数ライン値を表すことが可能である。このような３２ビット固定小数点データフォーマットを、３２ビットワード幅を持つ固定小数点プロセッサ上で音声信号エネルギーの計算のため平方の合計に使うためには、周波数ラインからの音声信号エネルギーの計算を効率的に実施するため、以下の基本的要件が満たされなければならない。
−  周波数ラインが、３２ビットのワード幅で表されていること。１６ビットでは不十分である。
−  音声信号エネルギーも、固定小数点データフォーマットで表されており、浮動小数点データフォーマットではないこと。
−  音声信号エネルギーは、３２ビット以下のワード幅を有するデータタイプで表されていること。これにより、音声信号エネルギーのための３２ビットのワード幅に結果として生じる。
【００３８】
以下に説明する本発明のいくつかの特定の実施形態は、これらすべての基本要件を満たすが、これらすべての要件が満たされているのでなければ、実施効率が低下する可能性がある。後記で説明するが、例えば、音声信号エネルギーのワード幅を３２ビットに制限することが絶対に必要なのではない。音声信号の再処理が３２ビットの固定小数点表示に限定されるだけである。
【００３９】
前記の要件から、音声信号エネルギーの計算で以下のような問題が生じる。３２ビットの周波数ライン値を平方することで、６４ビットのワード幅を持つラインエネルギーが最初に生成されるが、３２ビット、以下の実施形態の場合は低位の３２ビットは、以下の処理においては放棄され、上位３２ビットだけについて小数計算が継続される。
【００４０】
これを例示するために、図２ａおよび図２ｂを参照する。これらの図は、入力被乗数レジスタ１２ａおよび１２ｂに同一の値を書き込むことで、平方器として使われる乗算器の２つの入力レジスタ１２ａおよび１２ｂを示す。レジスタ１２ａおよび１２ｂ双方は、３２ビットレジスタである。さらに、図２ａおよび１２ｂは、上位部分１４ａおよび下位部分１４ｂで構成される６４ビットの出力レジスタ１４を示す。
【００４１】
図２ａおよび２ｂに表されていない乗算器は、３２ビット固定小数点データフォーマットにおけるレジスタ１２ａおよび１２ｂのレジスタ内容を読み取り、２つの値を乗算１６して６４ビットの計算結果を生成するために構成されており、該計算結果は６４ビット固定小数点データフォーマットの出力レジスタ１４の中に出力される。従って、出力レジスタ１４の上位部分１４ａは、カンマの後の始めの３１個のバイナリポジションをカバーし、下位部分１４ｂは残りのバイナリポジションをカバーする。
【００４２】
図２ａと図２ｂとは、入力レジスタ１２ａおよび１２ｂに異なる周波数ラインの値が書き込まれ、出力レジスタ１４にも異なる計算結果が生成されている状況が示されている。
【００４３】
図２ａは、０ｘ１２３４５６７８と周波数ライン値が高い状況を具体的に示している。高いレベルの周波数ライン値が調整出力されれば、すなわち、３２ビットデータワード中を多数の有効ビットが占めているならば、出力レジスタ１４中の、実際上の６４ビット幅の計算結果の上位３２ビットは、計算結果、および／または平方値を表示するために十分な精度を持つ。誤差は、仮に図２ａの場合で言えば、０ｘ０００００００３ｂｅ９ｂ０８０といった値にしか達しないような計算結果に、上位部分１４ａだけが使われた場合に発生する。
【００４４】
図２ｂは、入力レジスタ１２ａおよび１２ｂにそれぞれに小さな周波数ライン値、０ｘ００００４３２１、が入っているケースを示す。このような周波数ライン値は、すなわち、既に記載したように、少なくとも一つの音声チャンネルの、すべての周波数ラインがあるグローバルスケーリング係数を持ち、これにより、典型的には、多数の周波数ラインが３２ビットデータワード中の少数の有効ビットしか占めない状況、すなわち、振幅が小さい状況でも生じる。図２ｂを見ると分かるように、小さな周波数ライン値の場合には、出力レジスタ１４の上位の３２ビットは、十分な精度で平方計算結果を表さない。従って、信号エネルギー値を形成するために、そのようなラインエネルギーをいくつか合計することは、具体的には、不正確な計算結果、例えば、ゼロ、をもたらすことになり、音声符号化の後の進行において音声品質の低下を招くことになる。図２ｂの例においては、実際の結果値は０ｘ００００００００２３３４９４８２であるが、出力レジスタの上位部分はゼロの計算結果を示すことになる。
【００４５】
図２ａおよび２ｂの例を参照すると、信号エネルギーの次の処理において、まず、出力レジスタ１４の６４ビットすべてのビットを対象とする必要があるように見える。しかしながら、これは、複雑な６４ビット演算、すなわち、６４ビットのオペランドの演算が必要となり、前記の効率的実行についての基本的要件に反することになる。
【００４６】
しかしながら、出力レジスタ１４中の、各信号エネルギーの上位３２ビットだけを実際に使うことにする場合、平方計算をする前に周波数グループ中のすべての周波数ライン値を同じビット数左へシフトし、これにより計算結果として６４ビット計算結果の上位３２ビット部分の中により多数の有効ビットが含まれるようにするか、あるいは、結果レジスタ１４中の計算結果をシフトする改善を、始めに実施することができる。
【００４７】
次いで、信号エネルギーのそれぞれの上位部分１４ａに対し、対数関数計算のための計算ユニットを、各信号エネルギー値の上位部分１４ａに適用することによって、対数レンジに変換することができよう。該計算ユニットは、３２ビット固定小数点データ値を得るために、３２ビット固定小数点データ値の対数を取る能力だけを持たせることができよう。値ｘを値ｙに変換する対数関数を、ｙ＝ｌｏｇ2（ｘ）／６４とすることができ、その関数グラフを図３に示す。図３は、該対数関数のｘ∈  ］０，１［の対応範囲だけを示しており、３２ビット固定小数点データフォーマットでの平方信号エネルギー値に対しては唯一適切なものである。ここで、スケーリング係数１／６４は、出力値の対象範囲も、可能な最小値、すなわち、２-63（符号のため最低限１ビットは留保される）のエネルギー信号値単位で処理できることを確実にし、該出力範囲は、固定小数点表示の場合、図３の対数関数に従い対数化された値であるエネルギー信号値が、６４ビット固定小数点値であっても、もっぱら−１〜１の間に分布する。
【００４８】
しかしながら、このやり方は十分満足できるものではない、というのは、エンコーダ内の音声符号化の後の処理ステップにおいてすべての信号エネルギーが必ず同一のスケーリングレベルでなければならず、これにより、左へのシフト、および／または精度向上のスケーリング係数は、まさしくこの同一スケーリングレベルとは相いれないものだからである。
【００４９】
まさしくこの点において、対数化することの肯定的な効果が示される。前記のように、周波数ライン、および／または振幅領域において、ビットポジションを左へ、例えば、ｓ個シフトする所定方法によって、および／または、信号エネルギー領域において、前記の安全距離に達する実効的な２2sのスケーリングを行うことによって、ラインエネルギーの表示を最高の精度にする。一時的に、この周波数グループで行われる左シフトの数、すなわち値ｓを銘記しておくことにする。図３中に示された対数関数、以下これをＬＤ６４（）という、による信号エネルギー値は、前記のように高い精度で計算されたものであり、この値は対数レンジ、−以下ＬＤ６４フォーマットとも呼ぶ−、に変換されても、同様に可能な最高の精度を有する。この周波数ライン値を左へ１ビットシフトするのは、例えば、リニアな非対数レンジにおいて、すなわち、平方後に、信号エネルギーを左に２ビットシフトするのに等しく、またこれは、２／６４＝ｌｏｇ2（２2）６４＝ＬＤ６４（２2）なので対数レンジに２／６４を加算することに等しい。
【００５０】
ＬＤ６４フォーマットにおける信号エネルギーの元のスケーリングを回復するために、２＊ｓ／６４の減算だけを実行すればよく、ｓは、前に銘記したグループの周波数ラインの左シフト数に相当する。しかしながら、この減算は、線形レンジにおける右シフトの場合と同様に、有効ビットの喪失、および／またはシフトアウトは生じないので、精度の低下は起こらない。従って、信号エネルギーは、ＬＤ６４フォーマットで表され、以下で説明するように、これには、高い精度とすべての信号エネルギー値に対し同一のスケーリングとを使って後の音声後の符号化の各種計算を行える利点がある。
【００５１】
上記で、本発明の実施例の原理と利点とを論じてきたので、以下では、本発明のこれらの好適な実施形態について、図４〜７を参照しながらさらに詳細に説明する。
【００５２】
図４は、一方でダイナミックレンジを維持しつつ他方でハードウエアコストを合理的範囲に保つ、Ｎ個のｘビット固定小数点値のグループの平方和を計算するための装置の概略図を示す。該装置は前述の構想に基づく。
【００５３】
以下これを２０で表す図４の装置は、Ｎビットの固定小数点値を格納するためのｘビットのレジスタグループ２２1、２２2…２２Nと、可調整の実効スケーリング係数によってスケールされた非対数レンジ値におけるレジスタ２２1〜２２N中の平方和を算定するための平方和手段２４と、平方和手段２４からの計算結果を取り込むための第一の結果レジスタ２６と、結果レジスタ２６中の計算結果をＬＤ６４フォーマットに変換するための対数化手段２８と、対数化手段２８の計算結果を取り込むための第二の結果レジスタ３０と、結果レジスタ３０中の計算結果の再スケーリング、および／または再スケーリングの逆変換を行うための再スケーリング手段３２と、再スケーリング手段３２の出力を受けて最終計算結果を取り込むための出力レジスタ３４と、平方和手段２４により行われたスケーリングが再スケーリング手段３２の再スケーリングによって逆変換されることを確実にし、共通スケーリング係数をさらに算定するための制御手段３６とを含む。
【００５４】
装置２０の個別構成要素について説明したので、次に、平方和の生成における、これらの協働について説明するものとし、各々の作用はそれぞれ矢印で示される。
【００５５】
前述したように、平方和の対象となる値は、最初に、ｘビットの固定小数点フォーマットで、レジスタ２２1〜２２N中に存在する。これも前述したように、周波数ライン値とするこれらの値は、これらの有効ビットの数に関して相互に明確に分岐することができる。
【００５６】
次いで、平方和手段２４は、それらの平方和を生成するために、レジスタ２２1〜２２N中のこれら値を受信し、これらレジスタ２２1〜２２Nの値の平方和は、制御手段３６が少なくとも間接的に調整できる実効スケーリング係数によってスケールされ、最終的に、固定小数点表示でレジスタ２６に送る。ここで、平方和手段２４の平方和計算結果の書き込み先である結果レジスタ２６は、必ずしも２ｘのビットを有する必要はない。レジスタ２６の一部に点線表示で示したように、平方和手段２４が、計算結果のｙビット固定小数点表示を供給すれば十分であり、望ましくはｙ＝ｘである。
【００５７】
以下に、具体的な２つの実現性を取り上げ、平方和手段２４が、スケールされた計算結果をレジスタ２６中に出力するために、どのようにして制御手段３６からスケーリング係数の情報を取り入れるのか、また、制御手段３６は、有効ビットが失われたりオーバーフローしたりすることなくレジスタ２６中の計算結果がスケールされるような、スケーリング係数情報、および／または実効スケーリング係数をいかにして設定できるのかを示すことにする。
【００５８】
前記の記載に基づけば、第一の実現性は、レジスタ２２1〜２２N中の値の後の平方値の合計によってオーバーフローが生じないよう、前もって実効的なスケール値を算定するために、レジスタ２２1〜２２Nの内容を分析する制御手段３６から成る。前記のようなオーバーフローが存在しないようにするには、図４に３８で示す、平方和手段２４の加算ユニット中にオーバーフロービットがあり得ないようにするか、または、いくら遅くとも、「オーバーフローした」平方、および／またはエネルギー値が、レジスタ２６の場合のように、絶対にオーバーフローが出ないメモリセル中に書き込むしかない。従って、制御手段３６は、Ｎの数の、およびレジスタ２２1〜２２N中の自由ビットの最大数、および／またはｘからレジスタ２２1〜２２N中の個別値の有効ポジションの最大数を差し引いた差に基づいて、レジスタ２６への出力にオーバーフローが発生しないように、および／または計算結果がもっぱら−１〜１の範囲を外れないように、スケーリング係数を調整する。
【００５９】
具体的には、前述のように、制御手段３６は、実効スケーリング係数を調整し、該係数によって、共通スケーリング係数を介してレジスタ２６中の計算結果がスケールされる。共通スケーリング係数は、当初に、すなわち、平方計算４０の前に、平方和手段２４が、レジスタ内容２２1〜２２Nをスケールする際に用いたものである。具体的には、前で説明したように、共通スケーリング係数は、２の指数に対応させ、左シフト演算によって、レジスタ２２1〜２２N中の値のスケーリングを進展させることができる。この場合、前述のように、平方和手段２４は、計算結果をレジスタ２６に出力するため、２ｘ固定小数点データフォーマットで個別のスケールされたレジスタ内容の平方計算４０中間結果を、加算３８する必要はなく、平方和手段２４は、中間平方計算結果４２1…４２Nのｙビット固定小数点表示を必要とするだけである。すべての中間平方計算結果４２1〜４２Nを合計３８した平方和手段２４の最終計算結果が、レジスタ２６中に生成される。
【００６０】
スケーリング係数を算定し取り入れるためのさらに別の実現性では、まず、２ｘ固定小数点データフォーマットによる中間計算結果４２1〜４２Nを得るために、平方和手段２４は、レジスタ内容２２1〜２２Nを順次に平方計算４０する。同結果は、次いで平方和手段２４によって加算３８されることになる。後者が、計算結果を結果レジスタ２６に入力する前に、平方和手段２４による２ｘビットの平方和結果での各ビットの数によって左へシフト演算の対応を実行するために、不使用ビットの数、および／または制御手段３６によって、２ｘと有効ポジションとの差に対して、２ｘ固定小数点平方和計算が検査される。このやり方の最初に述べた方法と比べての不利点は、平方計算手段２４における内部での計算負担が増えることである、というのは、値４２1〜４２Nを２ｘのワード幅で処理しなければならず、具体的には、この形で合計３８をする必要があるからである。このため、より高い処理能力を持つ加算ユニットが必要となるか、あるいは、オーバーフロービット割り当てを持つｙビット固定小数点データフォーマットの加算ユニットをより頻繁に制御しなければならない。この実現性においては、平方和手段２４は、まず、レジスタ２２1〜２２N中の値を個別に平方し、次いで、２ｘビット固定小数点平方値４２1〜４２Nを合計３８し、その後に、制御手段３６からのスケーリング係数情報に従って計算結果をスケールし、それをレジスタ２６に出力する。
【００６１】
望ましくはｘ＝２４ビットで実行される実施形態において、レジスタ２６は、ｙ＝２ｘのポジションの長さを持つ。望ましくはｘ＝３２ビットで実行される別の実施形態において、４２1〜４２Nのレジスタ中での平方計算において、早急に、平方計算中、またはその後直ちに、だが、該レジスタに結果が収納される前に、ｘ個のポジションへのポジション低減が行われる。次いで、ｘビットのワード幅を使って合計が行われる。従って、ここで、レジスタ２６は、ｙ＝ｘだけのポジションを含む。対数化手段も同様に、望ましくはｘ個のポジションを含む。
【００６２】
実効スケーリング係数の手段を使って、結果レジスタ２６中の有効ビット数をほぼ最適に調整することができる。次に、対数化手段２８は、ｙビット固定小数点表示値をレジスタ２６から受信し、必要な場合、残っている高精度部のビットポジションを割除し、その結果をｚビット固定小数点データフォーマットの形でレジスタ３０に入力するために、該表示値を前に図３に関連して説明したＬＤ６４フォーマットに変換する。ここで望ましくはｚ＝ｙであり、望ましくはｙ＝ｘである。
【００６３】
結果レジスタ３０中の計算結果は、レジスタ２２1〜２２Nの値の平方和のスケールされた対数表示を表す。次いで、再スケーリング手段３２が、レジスタ３０中のスケールされた値から、補正値４４を減算することによって、逆スケーリングを行い、該補正値は、制御手段３６から受信したものである。ＬＤ６４フォーマットの場合、前記のように補正値は、ＬＤ６４（ｓ）の値となる、ここで、ｓは結果レジスタ２６中の平方和がスケールされた実行スケーリング係数である。
【００６４】
次いで、計算結果は、再スケーリング手段３２によって、固定小数点データフォーマットの形でレジスタ３４に出力される。
【００６５】
図４を参照しながら、可能なハードウエア実行形態にさらに踏み込むことはなく、本発明の好適な実施形態の機能の大まかな概要を説明した。図５は、図４の装置の可能な実行形態をもう少し詳しく示す。大まかに６０に示す図５の装置は、メモリ６２と、制御手段６４と、シフト手段６６と、平方器６８と、加算器７０と、対数化器７２と、除算器７４と、減算器７６とを含む。すべてのモジュール６２〜７６は、例えば、バス、またはその他のプログラムインタフェース７８と連通接続されている。手段６６〜７６については、ハードウエアに構成できるが、それぞれの作業を実施させるために、それぞれ制御手段６４によって実行するプログラムコードの一部とすることもできる。モジュール６６〜７６には、ｘビット固定小数点データフォーマットのオペランドだけを処理する能力をもたせるものとする。モジュール６６〜７６の中で、モジュール６６〜７０は平方和手段８０を形成し、対数化器７２と除算器７４とは、対数化手段８２を形成するために、組み合わされる。
【００６６】
例えば、制御手段６４は、プログラム制御であり、ｘビットのメモリ域８４1…８４Nのメモリ６２中に、ｘビット固定小数点データフォーマットの形で保存された対象値の平方和を生成させる。制御手段６４の正確な機能について図６を関連させながら説明する。ここで、特に、メモリ域８４1〜８４N中のｘビット固定小数点値は、周波数グループの周波数ライン値であると想定する。
【００６７】
最初に、制御手段１００は、メモリ域８４1〜８４N中のグループの周波数ライン値を検査して共通スケーリング係数を調整する。前に説明したように、ステップ１００におけるこの調整は、Ｎの数と、メモリ域８４1〜８４N中の不使用ビットポジションの最小数とに基づいて行われる。具体的には、同手段は、共通スケーリング係数を２sのように２の累乗で調整する。あるいは、制御手段６４は、シフト値ｓを調整し、該シフト値は共通スケーリング係数２sに相当する。制御手段は、内部または外部の取り込みレジスタ１０１に値、ｓまたは２sを入力する。
【００６８】
次のステップ１０２において、制御手段６４は、シフト手段６６に、グループの周波数ライン値を含むメモリ域８４1〜８４Nの内容を、共通スケーリング係数、および／またはシフト値に従ったｓ個のビットポジションによって左にシフトさせる。
【００６９】
ステップ１０４において、制御手段６４は、次いで、平方器６８に、メモリ域８４1〜８４N中の各値を平方させ、得られた２ｘビットの計算結果の上位半分を、それぞれのメモリ域８４1〜８４N中に逆書き込みさせる。平方器６８は、例えば、乗算器であり、制御手段１０４が、メモリ域８４1〜８４Nからのそれぞれの平方計算対象値を、該乗算器の両方のｘビットの被乗数レジスタに書き込むようにする。平方器の内部には、例えば、２ｘビットの計算結果レジスタを含め、一方、制御手段６４は、上位半分すなわちｘビットの固定小数点平方値だけが、それぞれのメモリ域８４1〜８４N中に逆書き込みされるのを確実にさせるようにすることができる。これに代えて、平方器は、前もってｘビットの表示一つだけを計算し、従ってｘビット出力レジスタ一つだけを持つようにする。
【００７０】
この後、ステップ１０６において、制御手段６４は、加算器７０を使って、メモリポジション８４1〜８４Nのすべての内容の通算和を生成する。これを最初の２つの値の和から開始し、計算結果を、ｘビット固定小数点データフォーマットでｘビットの合計レジスタ８６中に書き込むことができる。その後、制御手段６４は、後続の値を順々にメモリポジション８６に加えるために、加算器７０を使い、得られた合計をメモリ域８６の各々の以前の値に上書きするなどできよう。あるいは、制御手段６４は、合計がメモリポジション８４1〜８４Nの一つの中に書き込まれ、そこに累積されるのを確実にするようにしてもよい。
【００７１】
ステップ１０８において、制御手段６４は、メモリ域８６の中の和の対数計算をするために、次いで、対数化器７２に命令し、その後、除算器７４に計算結果を６４で除算させる。対数化器７２による中間結果は、例えば、メモリ域８６中に逆書き込みされ、例えば、除算器７４の計算結果についても同様である。除数が２の累乗指数の場合、除算器は、単純なシフト手段として構成されることになる。
【００７２】
前記により、ステップ１０８の後、メモリ域８６には、スケールされた平方和の対数化された表示が存在する。これにより、ステップ１１０において、制御手段は、メモリ域８６において除算され対数化された値から、ラッチ１０１に格納されているスケーリング係数ｓ、すなわち、値２＊ｓ／６４に基づく値を減算させるために、減算器７６に命令する。
【００７３】
以上、本発明の好適な実施形態を、図４〜６を関連させて説明したので、次に、音声エンコーダについての実施形態を説明することとし、この中には、これら実施形態による装置が実装される。
【００７４】
大まかに１５０で示す図７の音声エンコーダは、変換手段１５２と、グループエネルギー計算手段１５４と、符号ストリーム生成器１５６とを含み、これらは、エンコーダ１５０の入力部１５８と出力部１６０との間に直列につながれている。符号ストリーム生成器１５６は、心理音響モデル１６２を用い、例えば、入力部１５８からの符号化対象音声信号１６４から重要でない情報を除去し、その程度は、出力部１６０からの符号化データストリームの音響品質には僅かな影響しかないか全く影響のないレベルである。図７には示していないが、符号ストリーム生成器１５６を、フィードバックパスを介して変換手段１５２、またはグループエネルギー計算手段１５４に結合しておくこともできよう。
【００７５】
入力部１５８での音声信号１６４は、例えば、所定のサンプリング周期でサンプルされた音声サンプリング値のシーケンスの形で存在する。例えば、音声信号１６４をＰＣＭフォーマットとすることができよう。１６４において、音声信号は、時間ｔに沿ったプロットで表されており、縦軸は、任意の単位の振幅Ａを表す。
【００７６】
次の変換手段１５２は、音声信号１６４をそのスペクトル成分に分解することにより、音声信号１６４を時間レンジからスペクトルレンジに変換する。変換手段１５２を、具体的に、例えば、３２個のバンドパスフィルタを有する分析フィルタバンクで構成することができる。もっと正確に言えば、変換手段１５２は、セクション毎に音声信号１６４をスペクトル成分に分解する。スペクトル成分分解実施の対象セクション、またはフレーム１６６は、時間的に、例えば、５０％オーバーラップされる。変換手段１５２によって生成されるスペクトル分布１６８中で、図の点線域で示された連続する各々のフレームに対して、各スペクトル成分毎にスペクトル値、および／または周波数ライン値が生成される。このように、周波数ライン値グループのシーケンスから、スペクトル成分毎に周波数ラインが生成され、これら周波数ラインは水平矢印１６８で示されており、１６６に示された３つだけのフレームに対する周波数ライン値グループが縦に分けられている。スペクトル分布１６８において、任意の数の周波数ラインが、スペクトル軸または周波数軸ｆに沿って配列される、但し、実際の周波数ラインの数は図よりは多い。
【００７７】
このように生成されたスペクトル分布１６８に基づいて、符号ストリーム生成器１５６は、符号化されたデータストリームを生成する。しかしながら、これを行うため、符号ストリーム生成器１５６は、スペクトル成分のスペクトル分解のすべては必要とはせず、または、常にすべては必要としない。周波数ライングループは、心理音響的な側面から、丸で囲んで示したようにグループ１７０に分けられる。
【００７８】
各々のグループ１７０に対する符号ストリーム生成のため、符号ストリーム生成器１５６は、次いでフレーム１６６の各々に対する関連する具体的な信号エネルギー値、すなわち、振幅値の平方和、つまり、周波数ライン値の平方和を必要とする。
【００７９】
この計算は、グループエネルギー計算手段１５４によって行われる。該手段は、周波数ラインの各々のグループ１７０の信号エネルギーを、周波数ラインの平方和として計算し、グループエネルギー計算手段１５４は、例えば、図４および５に示されたように、および／または、図４〜６に記載された機能として構成される。グループエネルギー計算手段１５４の計算結果は、信号エネルギー値のシーケンス１７２、すなわちグループ１７０毎に一つのシーケンス１７２となる。従って、信号エネルギーのシーケンス１７２は、フレーム１６６毎に一つの信号エネルギー値を有しており、該フレームは矢印１７２に沿った点線によって示される。
【００８０】
次いで、これら信号エネルギー値のシーケンス１７２に基づき、符号ストリーム生成器１５６は、心理音響モデル１６２をベースとして符号化データストリーム１６０生成する。ここで、手段１５６による信号エネルギー値の再処理による一つの利点は、周波数ライン値が表されていたのと同じビット数を有する固定小数点データフォーマットの形の値が得られるばかりでなく、これらの値が対数レンジ形式で得られることにある、というのは、このレンジによって、乗算、累乗、および除算の演算が、対数レンジでのより簡単な加算／減算、および乗算／除算に転換されて、より容易な計算実行が可能になるからである。
【００８１】
これを説明するために、図７のエンコーダがＭＰＥＧデータストリームを出力するケースを考えてみる。
【００８２】
図７の音声エンコーダは、例えば、ＭＰＥＧ  ＡＡＣエンコーダである。このケースでは、符号ストリーム生成器１５６は、ＴＮＳ（ｔｅｍｐｏｒａｌ  ｎｏｉｓｅ  ｓｈａｐｉｎｇ、時間領域雑音整形）モジュールを含み、これにより符号ストリーム生成器１５６は、エネルギー重み付きスペクトルを効率的に計算する。具体的には、ＴＮＳモジュールは、ｘ＝１／√ＳＥの形式で信号エネルギーの計算を行う。これは、グループエネルギー計算手段１５４により用いられる、対数フォーマットＬＤ６４の形の信号エネルギーにより容易に達成できる。ＴＮＳモジュールは、ＸをＬＤ６４-1（−ＬＤ６４＿ＳＥ＞＞１）の形で簡単に計算する。ここで、ａ＞＞ｂは、左側のａオペランドを、右側のｂのビット数により、右へシフトすることを示し、ＬＤ６４-1（）は対数関数ＬＤ６４（）の逆関数であり、ＬＤ６４＿ＳＥは、グループエネルギー計算手段１５４が出力する対数ＬＤ６４フォーマットでの信号エネルギー値である。従って「＞＞１」は、１ビット右側にシフトすることを表し、これは２で除算することに相当する。対数レンジで行われる２による除算は、線形レンジの平方根計算に相当する。負の符号は、線形レンジにおける逆関数１／ｘに相当する。ＬＤ６４-1関数の計算は、累乗根を計算し計算結果の逆数を取るよりも簡単に実行でき、この計算は、線形レンジにおいて信号エネルギーが符号ストリーム生成器１５６に供給された場合などに必要なものである。
【００８３】
符号ストリーム生成器１５６は、符号化されたＭＰＥＧ４  ＡＡＣデータストリームも生成することができ、ＰＮＳ（ｐｅｒｃｅｐｔｕａｌ  ｎｏｉｓｅ  ｓｕｂｓｔｉｔｕｔｉｏｎ、知覚ノイズ置換）モジュールを含む。ＰＮＳモジュールは、その中で可聴閾値と周波数グループ１７０における信号エネルギーとの間の距離を計算する。ノイズ置換が可能で実施すべきか否かを具体的に判断は、ＰＮＳモジュールは、可聴閾値と信号エネルギーとの間の距離の手段によって判断する。グループエネルギー計算ユニット１５４から出力される信号エネルギーの対数表示のダイナミクスの大きさ、および関連精度と、これも対数表示ＬＤ６４の形で提供される、符号ストリーム生成器１５６の中の可聴閾値とは、正確なＰＮＳ判定のための必須の寄与要素である。具体的には、ＰＮＳモジュール中のコヒーレンス関数において、Ｙ＝ＳＥ１／√（ＳＥ２・ＳＥ３）の形による除算と根計算が行われ、ここで、ＳＥ１、ＳＥ２、およびＳＥ３は、グループエネルギー計算手段１５４によって出力された信号エネルギーである。信号エネルギーの対数表示により、この計算は大幅に容易になり速くなる。具体的には、符号ストリーム生成器１５６中のＲＮＳモジュールは、以下の式を計算することにより、ＬＤ６４＿Ｙ、すなわち、ＬＤ６４フォーマットのＹの計算を行うことができる。
ＬＤ６４＿Ｙ＝ＬＤ６４＿ＳＥ１−（（ＬＤ６４＿ＳＥ２＋ＬＤ６４＿ＳＥ３））＞＞１）
ここで、ＬＤ６４＿＃は、グループエネルギー計算手段１５４から出力されるそれぞれの信号エネルギーＳＥ＃の対数表示である。
【００８４】
また、符号ストリーム生成器１５６は、例えば、中央／サイド符号化の判断を行う中央／サイド（ＣＳ）ステレオモジュールを含む。このＣＳモジュールでは、中央／サイドの符号化を使うべきか否かの判断のため、数多くの除算、すなわち、可聴閾値から信号エネルギーへの計算が行われる。グループエネルギー計算手段１５４から出力されるＬＤ６４フォーマットを用いることによって、これらの判断は簡単な減算に変換される。ＣＳ符号化の使用閾値は定数なので、ソースコードで前もって対数レンジに変換しておくことができ、こうすれば、プログラムのランタイムにその計算時間を加える必要はない。このことは、ＬＤ６４の計算に関連する変形コードに使われる数多くの定数にも適用される。前記は、ＭＰＥＧレイヤ３、またはＡＡＣエンコーダのインテンシティステレオモジュールに特に適用される。
【００８５】
符号ストリーム生成器１５６には、ラウドネスの計算を行うスケール係数推定器をさらに含めることができる。スケール係数推定器は、例えば、符号ストリーム生成器１５６の量子化モジュールの中に配置され、その中では、可聴閾値の４乗根の計算、すなわち、ラウドネスの計算が実行される。対数データフォーマット、すなわち、ＬＤ６４を使って、可聴閾値を表示することによって、この４乗根の計算は、対数表示閾値を単に右へ２ビットシフトすることで極めて効率よく実施することができる。また、逆のステップ、すなわち、４のインボリューションも２ビット左へシフトすることで非常に簡単に実施することができる。
【００８６】
符号ストリーム生成器１５６のスケール係数推定器で、さらに、例えば、変形可聴閾値ＬＴと信号エネルギーＳＥとから、量子化ステップ幅の一部を成すスケール係数ＳＣＦを計算することができる。該計算は、ＳＣＦ＝ｌｏｇ（ｋ＊ＬＴ／ＳＥ）の形の計算ステップを含み、ｌｏｇ（）は常用対数であり、ｋは定数である。この計算を、ＬＤ６４フォーマットと方式に対応する変換とを使って、非常に簡潔かつ効率的に行うことができる。スケール係数推定器は、具体的には、ＳＣＦ＝ｌｏｇ（ｋ）＋ｌｏｇ２＊６４＊（ＬＤ６４＿ＬＴ−ＬＤ６４＿ＳＥ）といった計算を実施することになろう。
【００８７】
符合ストリーム生成器１５６内で使用できるモジュール類の前記の例は、対数データフォーマットＬＤ６４の使用によって固定小数点プロセッサの効率向上が促進されることを示すためのものである。多くのケースにおける対数データフォーマットＬＤ６４は、特定の音声品質が不十分な場合を除き、使われるほとんどのプラットフォーム上で高い音声品質のオーディオコーディックを実現する。
【００８８】
符合ストリーム生成器１５６の中で可能なモジュール類についての前記の例は、信号エネルギー、および可聴閾値の処理において、ほとんどの計算ステップが除算または乗算を使って行われるので、信号エネルギー、可聴閾値、およびその他エネルギー値を対数データフォーマットで表示することは極めて適応性が高いことを具体的に示している。これにより、除算は減算に、乗算は加算に変換され、前述の対数データフォーマットの手段を使って、音声エンコーダにおいて、信号エネルギーおよび可聴閾値の効率的表示と処理とが得られる。線形レンジ、すなわち、非対数レンジにおける信号エネルギーは、−１．０〜＋０．９９９９９…の値範囲の小数固定小数点データフォーマットで表示される。
【００８９】
前記の実施形態では、２を基底とした対数、基底２対数ＬＤが使われた。基底２対数においては、線形レンジにおける０．２５の信号エネルギー値は、−２のＬＤ値に相当する。線形レンジでの０．３の信号エネルギー値は、−１．７３６９６５６のＬＤ値に相当する。固定小数点プロセッサでは、通常、整数値、または小数値のいずれかを表示できるが、その混在は表示できない。そこで、前述の実施形態では、ＬＤ６４フォーマットとの関連で、小数値だけが得られるようにＬＤ値がスケールされた。当然ながら、整数値だけが得られるようにスケーリングを選択する別のやり方もあろう。係数１／６４によるスケーリングについては、特に、この係数が６４ビットまでのワード幅すべてに適用でき、これにより、標準的なワード幅の４８ビット、および３２ビットをカバーできるので選定した。１／６４でスケールされた基底２対数、すなわち、ＬＤ６４フォーマットの計算は、ｙ＝ｌｏｇ2（ｘ）／６４＝ＬＤ６４（ｘ）式に従って行われる。移植性の広さを犠牲にすれば、当然、この係数を増大、すなわち、１／ｙを増大することもできよう、ここで、ｙは対数化する前のスケールされた平方和のビット数である。
【００９０】
図３は、前記対数関数のグラフを示す。ここで対数関数の特徴を認識することができ、対数レンジの固定小数点表示では、入力値ｘが小さくなる（０．０により近くなる）ほど、実際上は低精度になり、より多くの出力値ｙ、すなわち、低分解度のｙを提供し、また、値が大きくなるほど、すなわち、−１．０に近づくほど固定小数点表示の精度が増す。前記の実施形態によれば、平方計算の前に共通スケーリング係数、および／または共通シフト値を適用することによって、対数レンジに転換する前の信号エネルギーの計算での精度の低下が回避された。
【００９１】
従って、図７の実施形態は、信号エネルギーおよび可聴閾値の表示と処理に対して、心理音響モデル、および／または量子化モジュールにおける、スケールされた、場合によっては、スケールなしの対数データフォーマットを用いるエンコーダを表す。なお、基底２対数、および１／６４によるスケーリングについての前記の説明内容は、あくまでも単なる例である。どのようなケースでも、この対数表示は、中央／サイド判断モジュールおよび量子化モジュールのスケール係数推定器におけるような、数多くの計算をより速く達成するために役立つものである、すなわち、前に説明したように、対数フォーマットを使用することによって、実施されている除算が簡単な減算に変換され、固定小数点プロセッサはこれを何倍も速く計算できる。同じことが平方根、４乗根などの計算のような根計算にも適用され、これらは簡単な右シフトに変換される。対数レンジへの変換に使われる計算負担は、アルゴリズムの後のステップにおける速度向上利得ではるかに上回って補償される。従って、前記の実施形態の利点は、具体的には、対数表示使用による処理速度の向上はもとより、対数で表された値の精度の高さである。
【００９２】
なお、前記の記載内容に関し、本発明は、固定小数点データフォーマットに限定されない。値の平方和の生成に関する前記の実施形態は、固定小数点データフォーマットでなく整数データフォーマットで表された値に対しても合理的に適用できる。この場合、２ｘビットの平方和計算結果の高位値のｙビットが対数化に使われることになろう。
【００９３】
前記の実施形態によれば、１／６４のスケーリングが行われる対数関数が用いられた。この係数は、同一の符号化が異なるプラットフォームで、異なる固定小数点データフォーマットを使って実行される場合に合理的である。但し、対数関数中の該係数が単にｘより大きくなる、すなわち、平方の合計に加算される値のビット数より大きくすることも可能である。
【００９４】
なお、前記の実施形態に関し、本発明は、平方和の生成に限定されない。例えば、一つの値しか持たず一つの符号化しか行われないようなグループが存在したとしても、本発明は有用であろう。このケースでは、制御手段３６は、当然、スケーリング係数情報を前処理する必要は全くないことになる。この場合、平方計算の前の値のスケーリングに使われる係数は、有効ビット数、および／または不使用ビット数から自動的にもたらされよう。本発明を、平方の値に線形従属する計算結果の表示を生成するために広く一般的に使用することができる。
【００９５】
さらに、当然ながら、前記の記載内容に関し、本発明は音声符号化に関連する使用に限定されない。前記の音声符号化に関する、すなわち、ダイナミックレンジを維持しながら個別の信号エネルギーに対し同じスケーリングレベルを実現し、同時に音声符号化コストの削減を実現することに関する利点と同じ利点を、他の用途分野、例えば、電子透かしなどを入れた音声ファイル作成でも得ることができる。
【００９６】
さらに、状況に応じて本発明のスキームをソフトウエアに実装することが可能である。この実装を、デジタル記憶媒体、具体的には、電子的に可読の制御信号を備えたフロッピー（登録商標）ディスクまたはＣＤに行い、プログラム可能なコンピュータと協働してそれぞれの方法を実施させることができる。一般に、本発明は、マシン可読のキャリヤに格納され、コンピュータプログラム製品がコンピュータで実行されると本発明の方法を実施するプログラムコードを備えたコンピュータプログラム製品からも成る。すなわち、このように、コンピュータプログラムがコンピュータ上で実行されると本方法を実施するプログラムコードを備えたコンピュータプログラムとして本発明を実現することができる。
【図面の簡単な説明】
【００９７】
【図１】３２ビット固定小数点データフォーマットの構成を示す概略図である。
【図２ａ】６４ビットの計算結果に対し、過小な値の影響を示すための３２ビット固定小数点データ値の平方計算の概略図である。
【図２ｂ】６４ビットの計算結果に対し、過小な値の影響を示すための３２ビット固定小数点データ値の平方計算の概略図である。
【図３】本発明の実施形態による対数関数のグラフである。
【図４】本発明の実施形態による、平方和を生成するための装置の概略ブロック図である。
【図５】図４の装置の可能な構成のブロック図である。
【図６】図５による装置の機能を示すフローチャートである。
【図７】本発明の実施形態による音声エンコーダを示す概略ブロック図である。
【図１】
2008523450.tif 000004
【図２ａ】
2008523450.tif 000005
【図２ｂ】
2008523450.tif 000006
【図３】
2008523450.tif 000007
【図４】
2008523450.tif 000008
【図５】
2008523450.tif 000009
【図６】
2008523450.tif 000010
【図７】
2008523450.tif 000011
【手続補正書】
【提出日】平成18年8月28日(2006.8.28)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
情報振幅信号の信号エネルギーを計算するための装置であって、前記装置は、
情報振幅信号（１６４）を、対数化されないｘビット表示で表されるスペクトル値に分解するための変換手段（１５２）と、
それぞれのスペクトル平方値を得るために、各スペクトル値（２２1〜２２N；８４1〜８４N）の前記対数化されない前記ｘビット表示を平方（４０；６８）し、前記対数化されないｙビット表示（２６）の計算結果として平方和を得るために、前記スペクトル平方値を合計（３８；７０）する処理手段（２４；８０）であって、ｙは、ｘの２倍に等しいかこれより小さく、前記処理手段（２４；８０）は、前記計算結果を実効スケーリング係数と共にスケールするように、前記実効スケーリング係数を用いるために構成されている、処理手段と、
前記計算結果の対数化されたスケールされた表示（３０）を得るために、前記計算結果の前記対数化されない前記ｙビット表示（２６）に、対数関数を適用するための、対数化手段（２８；８２）と、
前記信号エネルギーとして前記計算結果の対数化表示（３４）を得るために、前記スケールされた対数表示（３０）に対し、前記実効スケーリング係数に適用された前記対数関数に対応する値の補正値を加算または減算（４４）するための、再スケーリング手段（３２；７６）とを含む装置。
【請求項２】
前記処理手段（２４；８０）は、固定小数点データフォーマットにおいて前記グループの各スペクトル値の前記ｘビット表示（２２1〜２２N；８４1〜８４N）を前処理するよう構成されている、請求項１に記載の装置。
【請求項３】
前記実効スケーリング係数が前記値のグループの前記スペクトル値の数（Ｎ）によって決まるように、前記処理手段（２４；８０）を駆動する制御手段（３６；６４）をさらに含む、請求項１または請求項２に記載の装置。
【請求項４】
前記実効スケーリング係数を使った前記スケーリングによって、前記対数化されない前記ｙビット表示（２６）の中の有効ポジションの数を増やすよう前記処理手段（２４；８０）を駆動する制御手段（３６；６４）をさらに含む、請求項１ないし請求項３のいずれかに記載の装置。
【請求項５】
前記スペクトル値の数（Ｎ）に基づいて共通スケーリング係数を調整する制御手段（６４）をさらに含み、前記処理手段（８０）は、
ｘビット表示においてスケールされたスペクトル値を得るために、前記共通スケーリング係数に基づいて、各スペクトル値の前記対数化されない前記ｘビット表示（８４1〜８４N）をスケーリングするための、スケーリング手段（６６）と、
スケールされた平方スペクトル値を得るために、各スケールされたスペクトル値の前記ｘビット表示を平方するための、平方手段（６８）と、
平方和を得るために、前記スケールされた平方スペクトル値を合計する合計手段（７０）とを含む、請求項１ないし請求項４のいずれかに記載の装置。
【請求項６】
各スペクトル値の前記対数化されない前記ｘビット表示（８４1〜８４N）は、固定小数点データフォーマットで表され、前記制御手段（６４）は、前記スペクトル値の前記ｘビット表示における不使用ビットポジションの最小数に基づいて前記調整をさらに実施するように構成されている、請求項５に記載の装置。
【請求項７】
前記制御手段（６４）は、前記共通スケーリング係数を２のｋ乗に調整するよう構成され、前記スケーリング手段（６６）は、ｘビット値のレジスタにおける前記グループのスペクトル値の前記ｘビット表示をｋビット数シフトするよう構成されている、請求項５または請求項６に記載の装置。
【請求項８】
前記平方手段（６８）は、２ｘの結果レジスタにおいて、２ｘビット表示の前記スケールされた平方スペクトル値のうち所定のスケールされた平方スペクトル値を取り込むために、前記２ｘの結果レジスタは構成され、前記合計手段（７０）は、前記ｙビット部分を、他のスケールされた平方スペクトル値の前記ｙビット部分と一緒に合計し、前記平方値の和をｙビットレジスタに書き込むために、前記２ｘの結果レジスタからの前記２ｘビット表示のｙビット部分を読み取り、前記２ｘの結果レジスタ中の前記残りのビットを放棄するように構成されている、請求項５ないし請求項７のいずれかに記載の装置。
【請求項９】
前記対数化手段（２８；７２）は、前記対数化された前記スケールされた表示（３０）が、ｙより大きいかこれと等しい数で除算された前記対数化されない前記ｙビット表示（２６）を基底２対数のｙビットで表示したものと一致するように、前記対数化されない前記ｙビット表示（２６）を処理するよう構成されており、前記再スケーリング手段（３２）は、前記数で除算された前記実効スケーリング係数の前記基底２対数に相当する量を、前記対数化された前記スケールされた表示（３０）に加算またはこれから減算するよう構成されている、請求項１ないし請求項８のいずれかに記載の装置。
【請求項１０】
固定小数点データフォーマットにおいて演算するために、前記処理手段（２４；８０）、前記対数化手段（２８；８２）、および前記再スケーリング手段（３２）が構成されている、請求項１ないし請求項９のいずれかに記載の装置。
【請求項１１】
固定小数点プロセッサに実装される、請求項１ないし請求項１０のいずれかに記載の装置。
【請求項１２】
ｙは、ｘまたは２ｘに等しい、請求項１ないし請求項１１のいずれかに記載の装置。
【請求項１３】
前記変換手段（１５２）は、スペクトル成分毎に一つのスペクトルラインを得るために、前記情報振幅信号（１６４）をスペクトル成分に分解するよう構成され、各スペクトルラインはスペクトル値のシーケンスを含み、前記スペクトルラインは異なるスペクトルグループ（１７０）に割り当てられており、前記処理手段は、前記グループ（１７０）の各々に対し、計算結果として前記それぞれのグループに対する平方和を得るために、前記それぞれのグループ（１７０）に対してスペクトル値の前記平方計算および前記合計計算を実施するために構成され、前記対数化手段および前記再スケーリング手段は、平方和毎に信号エネルギーを得るよう構成されている、請求項１ないし請求項１２のいずれかに記載の装置。
【請求項１４】
前記グループの前記信号エネルギー値に基づいて、前記情報振幅信号（１６４）の符号化バージョンを表す符号化データストリーム生成するための符号ストリーム生成器（１５６）をさらに含む、請求項１３に記載の装置。
【請求項１５】
前記情報振幅信号は音声信号である、請求項１４に記載の装置。
【請求項１６】
前記符号ストリーム生成器（１５６）は、さらに心理音響モデル（１６２）に基づいて前記符号化データストリームを生成するよう構成されている、請求項１４または請求項１５のいずれかに記載の装置。
【請求項１７】
前記符号ストリーム生成器は、ＭＰＥＧ１／２レイヤ３エンコーダまたはＭＰＥＧ２／４ＡＡＣエンコーダである、請求項１４または請求項１６に記載の装置。
【請求項１８】
情報振幅信号の信号エネルギーを計算する方法であって、前記方法は、
情報振幅信号（１６４）を、対数化されないｘビット表示で表されるスペクトル値に分解する工程と、
それぞれ一つのスペクトル平方値を得るために、各スペクトル値（２２1〜２２N；８４1〜８４N）の前記対数化されない前記ｘビット表示を平方（４０；６８）し、前記対数化されないｙビット表示（２６）の計算結果として平方和を得るために、前記スペクトル平方値を合計（３８；７０）する工程であって、ｙは、ｘの２倍に等しいかこれより小さく、前記工程（２４；８０）は、前記計算結果は、実効スケーリング係数と共にスケールするために、前記実効スケーリング係数を用いて実行する工程と、
前記計算結果の対数化されたスケールされた表示（３０）を得るために、前記計算結果の前記対数化されない前記ｙビット表示（２６）に、対数関数を適用する工程と、
前記信号エネルギーとして、前記計算結果の対数化表示（３４）を得るために、前記スケールされた対数表示（３０）に対し、前記実効スケーリング係数に適用された前記対数関数に対応する値の補正値を加算または減算（４４）する工程とを含む方法。
【請求項１９】
コンピュータプログラムがコンピュータ上で動作する場合、請求項１８に記載の前記方法を実行するプログラムコードを有するコンピュータプログラム。
【手続補正書】
【提出日】平成19年8月16日(2007.8.16)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
情報振幅信号のスペクトルグループの信号エネルギーを計算するための装置であって、前記装置は、
スペクトル値のシーケンスを含む各スペクトルラインであり、対数化されないｘビット表示で表され、前記スペクトルラインは、異なるスペクトルグループ（１７０）に割り当てられ、情報振幅信号（１６４）を前記スペクトルラインに分解するための変換手段（１５２）と、
それぞれのスペクトル平方値を得るために、各スペクトル値（２２1〜２２N；８４1〜８４N）の前記対数化されない前記ｘビット表示を平方（４０；６８）し、前記対数化されない表示（２６）の計算結果として平方和を得るために、各スペクトルグループに対して、前記スペクトル平方値を合計（３８；７０）する処理手段（２４；８０）であって、前記処理手段（２４；８０）は、前記計算結果の前記対数化されない表示（２６）を前記スペクトル平方値と比較された実効スケーリング係数と共にスケールするように構成されている、処理手段と、
ｙは、ｘの２倍に等しいかこれより小さく、前記計算結果の対数化されたスケールされた表示（３０）を得るために、前記計算結果の前記対数化されないｙビットの表示（２６）に、各計算結果に対して、対数関数を適用するための、対数化手段（２８；８２）と、
前記スペクトルグループの前記信号エネルギーが前記同一スケールレベルを有するように、前記それぞれのスペクトルグループの信号エネルギーとして前記計算結果の対数化表示（３４）を得るために、前記スケールされた対数表示（３０）に対し、前記実効スケーリング係数に適用された前記対数関数に対応する値の補正値を、前記対数化された各スケールする表示に対して、加算または減算（４４）するための、再スケーリング手段（３２；７６）とを含む装置。
【請求項２】
前記処理手段（２４；８０）は、固定小数点データフォーマットにおいて前記それぞれのスペクトルグループの各スペクトル値の前記ｘビット表示（２２1〜２２N；８４1〜８４N）を前処理するよう構成されている、請求項１に記載の装置。
【請求項３】
前記実効スケーリング係数が前記値のスペクトルグループの前記スペクトル値の数（Ｎ）によって決まるように、前記処理手段（２４；８０）を駆動する制御手段（３６；６４）をさらに含む、請求項１または請求項２に記載の装置。
【請求項４】
前記実効スケーリング係数を使った前記スケーリングによって、前記計算結果の前記対数化されない前記表示（２６）の中の有効ポジションの数を前記実行スケーリング係数をなしとするものよりも増やすよう前記処理手段（２４；８０）を駆動する制御手段（３６；６４）をさらに含む、請求項１ないし請求項３のいずれかに記載の装置。
【請求項５】
前記それぞれのスペクトルグループの前記スペクトル値の数（Ｎ）に基づいて共通スケーリング係数を、各スペクトルグループに対して、調整する制御手段（６４）をさらに含み、前記処理手段（８０）は、
ｘビット表示においてスケールされたスペクトル値を得るために、前記共通スケーリング係数に基づいて、前記それぞれのスペクトルグループの各スペクトル値の前記対数化されない前記ｘビット表示（８４1〜８４N）をスケーリングするための、スケーリング手段（６６）と、
スケールされた平方スペクトル値を得るために、各スケールされたスペクトル値の前記ｘビット表示を平方するための、平方手段（６８）と、
平方和を得るために、前記スケールされた平方スペクトル値を合計する合計手段（７０）とを含む、請求項１ないし請求項４のいずれかに記載の装置。
【請求項６】
各スペクトル値の前記対数化されない前記ｘビット表示（８４1〜８４N）は、固定小数点データフォーマットで表され、前記制御手段（６４）は、前記スペクトル値の前記ｘビット表示における不使用ビットポジションの最小数に基づいて前記調整をさらに実施するように構成されている、請求項５に記載の装置。
【請求項７】
前記制御手段（６４）は、前記共通スケーリング係数を２のｋ乗に調整するよう構成され、前記スケーリング手段（６６）は、ｘビット値のレジスタにおける前記グループのスペクトル値の前記ｘビット表示をｋビット数シフトするよう構成されている、請求項５または請求項６に記載の装置。
【請求項８】
前記平方手段（６８）は、２ｘの結果レジスタにおいて、２ｘビット表示の前記スケールされた平方スペクトル値のうち所定のスケールされた平方スペクトル値を取り込むために、前記２ｘの結果レジスタは構成され、前記合計手段（７０）は、前記ｙビット部分を、他のスケールされた平方スペクトル値の前記ｙビット部分と一緒に合計し、前記平方値の和をｙビットレジスタに書き込むために、前記２ｘの結果レジスタからの前記２ｘビット表示のｙビット部分を読み取り、前記２ｘの結果レジスタ中の前記残りのビットを放棄するように構成されている、請求項５ないし請求項７のいずれかに記載の装置。
【請求項９】
前記対数化手段（２８；７２）は、前記対数化された前記スケールされた表示（３０）が、ｙより大きいかこれと等しい数で除算された前記対数化されない前記ｙビット表示（２６）を基底２対数のｙビットで表示したものと一致するように、前記対数化されない前記ｙビット表示（２６）を処理するよう構成されており、前記再スケーリング手段（３２）は、前記数で除算された前記実効スケーリング係数の前記基底２対数に相当する量を、前記対数化された前記スケールされた表示（３０）に加算またはこれから減算するよう構成されている、請求項１ないし請求項８のいずれかに記載の装置。
【請求項１０】
前記数は、６４であり、およびｙ＝ｘ＝３２である、請求項９に記載の装置。
【請求項１１】
固定小数点データフォーマットにおいて演算するために、前記処理手段（２４；８０）、前記対数化手段（２８；８２）、および前記再スケーリング手段（３２）が構成されている、請求項１ないし請求項１０のいずれかに記載の装置。
【請求項１２】
固定小数点プロセッサに実装される、請求項１ないし請求項１１のいずれかに記載の装置。
【請求項１３】
ｙは、ｘに等しい、請求項１ないし請求項１２のいずれかに記載の装置。
【請求項１４】
前記スペクトルグループの前記信号エネルギーに基づいて、前記情報振幅信号（１６４）の符号化バージョンを表す符号化データストリーム生成するための符号ストリーム生成器（１５６）をさらに含む、請求項１ないし請求項１３のいずれかに記載の装置。
【請求項１５】
前記情報振幅信号は音声信号である、請求項１ないし請求項１４のいずれかに記載の装置。
【請求項１６】
前記符号ストリーム生成器（１５６）は、さらに心理音響モデル（１６２）に基づいて前記符号化データストリームを生成するよう構成されている、請求項１４または請求項１５に記載の装置。
【請求項１７】
前記符号ストリーム生成器は、ＭＰＥＧ１／２レイヤ３エンコーダまたはＭＰＥＧ２／４ＡＡＣエンコーダである、請求項１４ないし請求項１６のいずれかに記載の装置。
【請求項１８】
音声エンコーダであって、
情報振幅信号のスペクトルグループの信号エネルギーを計算するための装置であって、
各スペクトルグループの信号エネルギーに対して、（−ＳＥ＞＞１）に適用する対数関数の逆関数の計算を実行するためのエネルギー重み付けスペクトルを計算するためのＴＮＳモジュールであって、ＳＥは、前記それぞれのスペクトルグループの信号エネルギーを示し、および＞＞１は、１ビット右側にシフトすることを示す、請求項１ないし請求項１７のいずれかに記載の装置。
【請求項１９】
音声エンコーダであって、
情報振幅信号のスペクトルグループの信号エネルギーを計算するための装置であって、
ＳＥ１−（（ＳＥ２＋ＳＥ３）＞＞１）の計算を実行するモジュールであって、ＳＥ１、ＳＥ２およびＳＥ３は、スペクトルグループの信号エネルギーを示し、および、＞＞１は、１ビット右側にシフトすることを示す、請求項１ないし請求項１８のいずれかに記載の装置。
【請求項２０】
音声エンコーダであって、
情報振幅信号のスペクトルグループの信号エネルギーを計算するための装置であって、前記対数関数は、ｌｏｇ2（）／６４であり、
前記スペクトルグループの信号エネルギーに対して、ｌｏｇ（ｋ）＋ｌｏｇ２＊＿６４（ＬＴ−ＳＥ）の計算を実行するスケールファクター推定器であって、ＳＥは、前記それぞれのスペクトルグループの信号エネルギーを示し、“ｌｏｇ（）”は、常用対数を表し、およびＬＴは、対数関数の対数化されたフォーマットにおける可聴閾値を示す、請求項１ないし請求項１９のいずれかに記載の装置。
【請求項２１】
情報振幅信号のスペクトルグループの信号エネルギーを計算する方法であって、前記方法は、
スペクトル値のシーケンスを含む各スペクトルラインであり、対数化されないｘビット表示で表され、前記スペクトルラインは、異なるスペクトルグループ（１７０）に割り当てられ、情報振幅信号（１６４）を前記スペクトルラインに分解する工程と、
それぞれ一つのスペクトル平方値を得るために、各スペクトル値（２２1〜２２N；８４1〜８４N）の前記対数化されない前記ｘビット表示を平方（４０；６８）し、前記対数化されない表示（２６）の計算結果として平方和を得るために、各スペクトルグループに対して、前記スペクトル平方値を合計（３８；７０）する工程であって、前記工程（２４；８０）は、前記計算結果の前記対数化されない表示（２６）は、前記スペクトル平方値と比較された実効スケーリング係数と共にスケールされるように実行する工程と、
ｙは、ｘの２倍に等しいかこれより小さく、前記計算結果の対数化されたスケールされた表示（３０）を得るために、前記計算結果の前記対数化されないｙビットの表示（２６）に、対数関数を適用する工程と、
前記スペクトルグループの前記信号エネルギーが前記同一のスケールレベルを有するように、前記それぞれのスペクトルグループの前記信号エネルギーとして、前記計算結果の対数化表示（３４）を得るために、前記スケールされた対数表示（３０）に対し、前記実効スケーリング係数に適用された前記対数関数に対応する値の補正値を、前記対数化された各スケールする表示に対して、加算または減算（４４）する工程とを含む方法。
【請求項２２】
コンピュータプログラムがコンピュータ上で動作する場合、請求項２１に記載の前記方法を実行するプログラムコードを有するコンピュータプログラム。
【国際調査報告】
2008523450.tif 000012
2008523450.tif 000013
2008523450.tif 000014
2008523450.tif 000015
2008523450.tif 000016
2008523450.tif 000017