(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-29
(45)【発行日】2024-12-09
(54)【発明の名称】音声音響統合復号および符号化の改良のための方法、機器、およびシステム
(51)【国際特許分類】
G10L 19/02 20130101AFI20241202BHJP
G10L 19/06 20130101ALI20241202BHJP
【FI】
G10L19/02 160A
G10L19/02 150
G10L19/06 B
(21)【出願番号】P 2020533634
(86)(22)【出願日】2018-12-19
(86)【国際出願番号】 EP2018085938
(87)【国際公開番号】W WO2019121980
(87)【国際公開日】2019-06-27
【審査請求日】2021-12-16
【審判番号】
【審判請求日】2024-02-09
(32)【優先日】2018-05-02
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】201741045575
(32)【優先日】2017-12-19
(33)【優先権主張国・地域又は機関】IN
(73)【特許権者】
【識別番号】510185767
【氏名又は名称】ドルビー・インターナショナル・アーベー
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】クマール,ラジャト
(72)【発明者】
【氏名】カトゥリ,ラメシュ
(72)【発明者】
【氏名】サトゥヴァッリ,サケト
(72)【発明者】
【氏名】ライ,レシュマ
【合議体】
【審判長】千葉 輝久
【審判官】樫本 剛
【審判官】坂本 聡生
(56)【参考文献】
【文献】米国特許出願公開第2001/0032227(US,A1)
【文献】特開2008-186396(JP,A)
【文献】lnformation technology -MPEG audio technologies- Part3: Unified speech and audio coding, ISO/IEC 23003-3 First edition, 2012.4, p.4,106-110
(58)【調査した分野】(Int.Cl.,DB名)
G10L 19/00 - 19/26
G06F 17/14
IEEE Xplore
(57)【特許請求の範囲】
【請求項1】
符号化された音声音響統合(MPEG-D USAC)ストリームを復号する機器であって、前記機器は、
前記符号化された音声音響統合(MPEG-D USAC)ストリームを復号するコアデコーダを含み、
前記コアデコーダは、Cooley-Tukeyアルゴリズムに基づく高速フーリエ変換(FFT)モジュール実装を含み、
前記FFTモジュールは、離散フーリエ変換(DFT)を決定するよう構成され、
前記DFTを決定することは、
前記Cooley-Tukeyアルゴリズムに基づき、前記DFTを小FFTに再帰的に分解することと、
前記FFTの点の数が4のべき乗である場合に基数4を用い、前記数が4のべき乗ではない場合に混合基数を用いることと、を含み、
前記小FFTを実行することは、回転係数を適用することを含み、
前記回転係数を適用することは、前記回転係数の予め計算された値を参照することを含み、
前記FFTモジュールは、4点FFTの回転行列を使用するよう更に構成され、前記回転行列は、該回転行列のエントリとして複数の回転係数を含み、
前記回転行列は、第1中間行列と第2中間行列とに分けられ、前記第1中間行列および前記第2中間行列の行列積は、前記回転行列を生じ、前記第1および前記第2中間行列の各々は、各行および各列に2個のゼロではないエントリを有し、
前記FFTモジュールは、前記第1および前記第2中間行列を、前記回転係数の適用されるべき入力データに連続的に適用するよう構成され、
前記回転行列は以下のように分けられ、
【数1】
前記入力データに適用され、
前記コアデコーダは、
フィルタ係数を
降順に再構成し
て格納
し、
実行時に昇順の入力と前記格納された降順のフィルタ係数とを使用することにより、実行時にフィルタの再構成を回避する
、
機器。
【請求項2】
前記FFTモジュールは、予め計算された値を参照することにより、前記回転係数を決定するよう構成される、請求項1に記載の機器。
【請求項3】
前記回転係数は、オフラインで予め計算され、1つ以上のルックアップテーブルに格納される、請求項1または2に記載の機器。
【請求項4】
前記回転係数を適用することは、復号中に1つ以上のルックアップテーブルから前記回転係数の前記予め計算された値を呼び出すことを含む、請求項1乃至3のいずれかに記載の機器。
【請求項5】
前記FFTモジュールは、前記回転行列の前記エントリの予め計算された値、または前記第1および第2中間行列の前記エントリの予め計算された値、を参照するよう構成される、請求項1乃至4のいずれかに記載の機器。
【請求項6】
符号化された音声音響統合ストリームを復号する方法であって、前記方法は、
コアデコーダにより、前記符号化された音声音響統合ストリームを復号するステップを含み、
前記復号するステップは、Cooley-Tukeyアルゴリズムに基づく高速フーリエ変換(FFT)モジュール実装を使用するステップを含み、
前記FFTモジュール実装は、離散フーリエ変換(DFT)を決定するステップを含み、
前記DFTを決定するステップは、
前記Cooley-Tukeyアルゴリズムに基づき、前記DFTを小FFTに再帰的に分解するステップと、
前記FFTの点の数が4のべき乗である場合に基数4を用い、前記数が4のべき乗ではない場合に混合基数を用いるステップと、を含み、
前記小FFTを実行するステップは、回転係数を適用するステップを含み、
前記回転係数を適用するステップは、前記回転係数の予め計算された値を参照するステップを含み、
前記FFTモジュール実装は、4点FFTの回転行列を使用するステップを含み、前記回転行列は、該回転行列のエントリとして複数の回転係数を含み、
前記回転行列は、第1中間行列と第2中間行列とに分けられ、前記第1中間行列および前記第2中間行列の行列積は、前記回転行列を生じ、前記第1および前記第2中間行列の各々は、各行および各列に2個のゼロではないエントリを有し、
前記FFTモジュール実装は、前記第1および前記第2中間行列を、前記回転係数の適用されるべき入力データに連続的に適用するステップを含み、
前記回転行列は以下のように分けられ、
【数3】
前記入力データに適用され、
前記コアデコーダは、
フィルタ係数を
降順に再構成し
て格納
し、
実行時に昇順の入力と前記格納された降順のフィルタ係数とを使用することにより、実行時にフィルタの再構成を回避する
、
方法。
【請求項7】
前記FFTモジュール実装は、予め計算された値を参照することにより、前記回転係数を決定するステップを更に含む、請求項6に記載の方法。
【請求項8】
前記回転係数は、オフラインで予め計算され、1つ以上のルックアップテーブルに格納される、請求項6または7に記載の方法。
【請求項9】
前記回転係数を適用するステップは、復号中に1つ以上のルックアップテーブルから前記回転係数の前記予め計算された値を呼び出すステップを含む、請求項6乃至8のいずれかに記載の方法。
【請求項10】
前記FFTモジュール実装は、前記回転行列の前記エントリの予め計算された値、または前記第1および第2中間行列の前記エントリの予め計算された値、を参照するステップを含む、請求項6乃至9のいずれかに記載の方法。
【請求項11】
ソフトウェアプログラムを有する記憶媒体であって、前記ソフトウェアプログラムは、プロセッサ上での実行のために適応され、コンピューティング装置上で実行されると、請求項6乃至10のいずれかの方法のステップを実行する、記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
[関連出願]
本願は、IN仮出願番号第201741045575号(整理番号:D17116CINP1)、2017年12月19日出願、およびUS仮出願番号第62/665, 746号(整理番号:D17116CUSP1)、2018年5月2日出願、の優先権を主張する。これらの仮出願は参照によりここに組み込まれる。
【0002】
[技術分野]
本願明細書は、符号化された音声音響統合(Unified Audio and Speech:USAC)ストリームを復号する機器および方法に関する。本願明細書は、実行時に計算負荷を低減する、このような機器および方法に更に関する。
【背景技術】
【0003】
音声音響統合符号化(unified speech and audio coding:USAC)エンコーダおよびデコーダは、国際標準ISO/IEC23003-3:2012(以後、USAC標準として参照される)に指定されているように、複数の複雑な計算ステップを必要とする幾つかのモジュール(ユニット)を含む。これらの計算ステップの各々は、これらのエンコーダおよびデコーダを実装するハードウェアシステムに負担をかける場合がある。このようなモジュールの例は、MPS212モジュール(またはツール)、QMF高調波トランスポーザー、LPCモジュール、およびIMDCTモジュールを含む。
【0004】
したがって、実行中の計算負荷を低減するUSACエンコーダおよびデコーダのモジュールの実装が必要である。
【発明の概要】
【0005】
上記の問題に鑑み、本願明細書は、それぞれの独立請求項の特徴を有する、符号化された音声音響統合(USAC)ストリームを復号する機器および方法、並びに対応するコンピュータプログラムおよび記憶媒体を提供する。
【0006】
本開示の一態様は、符号化されたUSACストリームを復号する機器に関する。機器は、符号化されたUSACストリームを復号するコアデコーダを含んでよい。コアデコーダは、モノからステレオへのアップミキシングを実行するよう適応されるアップミキシングユニットを含んでよい。アップミキシングユニットは、入力信号に非相関フィルタを適用するよう適応される非相関ユニットDを含んでよい。非相関ユニットは、予め計算された値を参照することにより、非相関フィルタのフィルタ係数を決定するよう適応されてよい。
【0007】
本開示の別の態様は、オーディオ信号をUSACストリームへと符号化する機器に関する。機器は、USACストリームを符号化するコアエンコーダを含んでよい。コアエンコーダは、USACストリームを復号するデコーダのアップミキシングユニットにおいて使用するための非相関フィルタのためのフィルタ係数をオフラインで決定するよう適応されてよい。
【0008】
本開示の別の態様は、符号化されたUSACストリームを復号する方法に関する。方法は、符号化されたUSACストリームを復号するステップを含んでよい。復号するステップは、モノからステレオへアップミキシングするステップを含んでよい。モノからステレオへアップミキシングするステップは、入力信号に非相関フィルタを適用するステップを含んでよい。非相関フィルタを適用するステップは、予め計算された値を参照することにより、非相関フィルタのフィルタ係数を決定するステップを含んでよい。
【0009】
本開示の別の態様は、オーディオ信号をUSACストリームへと符号化する方法に関する。方法は、USACストリームを符号化するステップを含んでよい。符号化するステップは、符号化されたUSACストリームを復号するデコーダのアップミキシングユニットにおいて使用するための非相関フィルタのためのフィルタ係数をオフラインで決定するステップを含んでよい。
【0010】
本開示の別態様は、符号化されたUSACストリームを復号する更なる機器に関する。機器は、符号化されたUSACストリームを復号するコアデコーダを含んでよい。コアデコーダは、入力信号の帯域幅を拡張するeSBRユニットを含んでよい。eSBRユニットは、QMFに基づく高調波トランスポーザーを含んでよい。QMFに基づく高調波トランスポーザーは、複数の合成サブバンドの各々の中で、QMFドメインの入力信号を処理して、入力信号の帯域幅を拡張するよう構成されてよい。QMFに基づく高調波トランスポーザーは、予め計算された情報に少なくとも部分的に基づき動作するよう更に構成されてよい。
【0011】
本開示の別の態様は、符号化されたUSACストリームを復号する更なる方法に関する。方法は、符号化されたUSACストリームを復号するステップを含んでよい。復号するステップは、入力信号の帯域幅を拡張するステップを含んでよい。入力信号の帯域幅を拡張するステップは、複数の合成サブバンドの各々の中で、QMFドメインの入力信号を処理するステップを含んでよい。QMFドメインの入力信号を処理するステップは、予め計算された情報に少なくとも部分的に基づき動作してよい。
【0012】
本開示の別の態様は、符号化されたUSACストリームを復号する更なる機器に関する。機器は、符号化されたUSACストリームを復号するコアデコーダを含んでよい。コアデコーダは、Cooley-Tuckeyアルゴリズムに基づく高速フーリエ変換(FFT)モジュール実装を含んでよい。FFTモジュールは、離散フーリエ変換(DFT)を決定するよう構成されてよい。DFTを決定するステップは、Cooley-Tuckeyアルゴリズムに基づき、DFTを小(small)FFTに再帰的に分解するステップを含んでよい。DFTを決定するステップは、FFTの点の数が4のべき乗である場合に基数4(radix-4)を使用し、該数が4のべき乗でない場合に混合基数(mixed radix)を使用するステップを更に含んでよい。小FFTを実行するステップは、回転係数(twiddle factor)を適用するステップを含んでよい。回転係数を適用するステップは、回転係数の予め計算された値を参照するステップを含んでよい。
【0013】
本開示の別の態様は、符号化されたUSACストリームを復号する更なる機器に関する。機器は、符号化されたUSACストリームを復号するコアデコーダを含んでよい。符号化されたUSACストリームは、線スペクトル周波数(line spectral frequency)表現を用いて量子化された、線形予測符号化(linear predictive coding, LPC)フィルタの表現を含んでよい。コアデコーダは、USACストリームからLPCフィルタを復号するよう構成されてよい。USACストリームからLPCフィルタを復号するステップは、LSFベクトルの第1段階近似を計算するステップを含んでよい。USACストリームからLPCフィルタを復号するステップは、残差(residual)LSFベクトルを再構成するステップを更に含んでよい。USACストリームからLPCフィルタを復号するステップは、絶対量子化(absolute quantization)モードがLPCフィルタを量子化するために使用されている場合、逆LSF重み(inverse LSF weights)またはそれらのそれぞれの対応するLSF重みの予め計算された値を参照することにより、残差LSFベクトルの逆重み付けのための逆LSF重みを決定するステップを更に含んでよい。USACストリームからLPCフィルタを復号するステップは、決定した逆LSF重みにより残差LSFベクトルを逆重み付けするステップを更に含んでよい。USACストリームからLPCフィルタを復号するステップは、逆重み付けした残差LSFベクトルと、LSFベクトルの第1段階近似と、に基づき、LPCフィルタを計算するステップを更に含んでよい。LSF重みは、次式を用いて取得可能であってよい。
【数1】
【0014】
ここで、iはLSFベクトルの成分を示すインデックスであり、w(i)はLSF重みであり、Wはスケーリング係数であり、LSF1stはLSFベクトルの第1段階近似である。
【0015】
本開示の別の態様は、符号化されたUSACストリームを復号する更なる方法に関する。方法は、符号化されたUSACストリームを復号するステップを含んでよい。復号するステップは、Cooley-Tuckeyアルゴリズムに基づく高速フーリエ変換(FFT)モジュール実装を使用するステップを含んでよい。FFTモジュール実装は、離散フーリエ変換(DFT)を決定するステップを含んでよい。DFTを決定するステップは、Cooley-Tuckeyアルゴリズムに基づき、DFTを小FFTに再帰的に分解するステップを含んでよい。DFTを決定するステップは、FFTの点の数が4のべき乗である場合に基数4(radix-4)を使用し、該数が4のべき乗でない場合に混合基数(mixed radix)を使用するステップを更に含んでよい。小FFTを実行するステップは、回転因子(twiddle factor)を適用するステップを含んでよい。回転係数を適用するステップは、回転係数の予め計算された値を参照するステップを含んでよい。
【0016】
本開示の別の態様は、符号化されたUSACストリームを復号する更なる方法に関する。方法は、符号化されたUSACストリームを復号するステップを含んでよい。符号化されたUSACストリームは、線スペクトル周波数(line spectral frequency)表現を用いて量子化された、線形予測符号化(linear predictive coding, LPC)フィルタの表現を含んでよい。復号するステップは、USACストリームからLPCフィルタを復号するステップを含んでよい。USACストリームからLPCフィルタを復号するステップは、LSFベクトルの第1段階近似を計算するステップを含んでよい。USACストリームからLPCフィルタを復号するステップは、残差(residual)LSFベクトルを再構成するステップを更に含んでよい。USACストリームからLPCフィルタを復号するステップは、絶対量子化(absolute quantization)モードがLPCフィルタを量子化するために使用されている場合、逆LSF重み(inverse LSF weights)のまたはそれらのそれぞれの対応するLSF重み予め計算された値を参照することにより、残差LSFベクトルの逆重み付けのための逆LSF重みを決定するステップを更に含んでよい。USACストリームからLPCフィルタを復号するステップは、決定した逆LSF重みにより残差LSFベクトルを逆重み付けするステップを更に含んでよい。USACストリームからLPCフィルタを復号するステップは、逆重み付けした残差LSFベクトルと、LSFベクトルの第1段階近似と、に基づき、LPCフィルタを計算するステップを更に含んでよい。LSF重みは、次式を用いて取得可能であってよい。
【数2】
【0017】
ここで、iはLSFベクトルの成分を示すインデックスであり、w(i)はLSF重みであり、Wはスケーリング係数であり、LSF1stはLSFベクトルの第1段階近似である。
【0018】
本開示の更なる態様は、ソフトウェアプログラムを含む記録媒体に関し、該ソフトウェアプログラムは、プロセッサ上での実行のために、および本開示の上述の態様による方法の方法ステップを実行するために、適応される。
【図面の簡単な説明】
【0019】
【
図1】USACのエンコーダの一例を概略的に示す。
【
図3】
図2のデコーダのOTTボックスを概略的に示す。
【
図4】
図3のOTTボックスの非相関ブロックを概略的に示す。
【
図5】LPCフィルタの逆量子化を概略的に示すブロック図である。
【
図6】
図2のデコーダのIMDCTブロックを概略的に示す。
【
図7】符号化されたUSACストリームを復号する方法の例を概略的に示すフローチャートである。
【
図8】符号化されたUSACストリームを復号する方法の例を概略的に示すフローチャートである。
【発明を実施するための形態】
【0020】
図1および2は、それぞれ、音声音響統合符号化(unified speech and audio coding:USAC)のためのエンコーダ1000の一例およびデコーダ2000の一例を示す。
【0021】
図1は、USACエンコーダ1000の一例を示す。USACエンコーダ1000は、ステレオまたはマルチチャネル処理を扱うMPEGサラウンド(MPEG Surround :MPEGS)機能ユニット1902と、入力信号の中のより高いオーディオ周波数のパラメータ表現を扱う拡張SBR(enhanced SBR:eSBR)ユニット1901と、を含む。次に、2つのブランチ1100、1200がある。第1経路1100は、変更されたAAC(Advanced Audio Coding)ツール経路を含み、第2経路120は、LPC残差の周波数ドメイン表現または時間ドメイン表現を特徴とする線形予測符号化(linear prediction coding:LPまたはLPC)ドメインに基づく経路を含む。AACおよびLPCの両方の全ての送信されたスペクトルは、量子化および算術符号化に続き、MDCTドメインで表現されてよい。時間ドメイン表現は、ACELP励起符号化方式を用いてよい。
【0022】
上述のように、ステレオ又はマルチチャネル処理を扱うMPEGS機能1902ユニットと、入力信号の中のより高いオーディオ周波数のパラメータ表現を扱い、本願明細書に概略の示された高調波転置(transposition)方法を利用してよいeSBRユニット2901と、によりそれぞれ実行される共通の(初期)前/後処理プロセスがあってよい。
【0023】
エンコーダ1000のeSBRユニット1901は、本願明細書に概略の示された高周波数再構成システムを含んでよい。特に、eSBRユニット1901は、複数の分析サブバンド信号を生成するために、分析フィルタバンクを有してよい。この分析サブバンド信号は、次に、非線形処理ユニットにおいて転置されて複数の合成サブバンド信号を生成してよい。この合成サブバンド信号は、次に、高周波数成分を生成するために、合成フィルタバンクに入力されてよい。高周波数成分に関連する符号化データは、ビットストリームマルチプレクサの中で他の符号化情報とマージされ、符号化オーディオストリームとして対応するデコーダ2000へ転送される。
【0024】
図2は、USACデコーダ2000の一例を示す。USACデコーダ2000は、ステレオまたはマルチチャネル処理を扱うMPEGサラウンド機能ユニット2902を含む。MPEGサラウンド機能ユニット2902は、例えばUSAC標準のclause7.11に記載されている。この節(clause)は、参照することによりその全体がここに組み込まれる。MPEGサラウンド機能ユニット2902は、モノからステレオへのアップミキシングを実行可能なアップミキシングユニットの一例として、OTTボックス(OTT復号ブロック)を含んでよい。OTTボックス300の一例は、
図3に示される。OTTボックス300は、モノ入力信号M0を提供される非相関D310(非相関(decorrelator)ブロック)を含んでよい。OTTボックス300は、ミキシング行列(またはミキシング行列を適用するミキシングモジュール)320を更に含んでよい。非相関D310は、入力モノ信号M0の非相関されたバージョンを提供してよい。ミキシング行列320は、入力モノ信号M0とその非相関されたバージョンとをミキシングして、所望のステレオ信号のチャネル(例えば、左、右)を生成してよい。ミキシング行列は、例えば、制御パラメータCLD、ICC、およびIPDに基づいてよい。非相関D310は、全域通過非相関部D
APを含んでよい。
【0025】
非相関部D310の一例は、
図4に示される。非相関部D310は、(例えば、一時的(transient)分離のための)信号分離部410、2つの非相関構造420、430、および信号コンバイナ440を含んでよい(例えばそれらにより構成されてよい)。信号分離部410(分離ユニット)は、入力信号の非過渡信号成分から、入力信号の過渡信号成分を分離してよい。非相関部Dの中の非相関部構造のうちの1つは、全域通過非相関部D
AP420であってよい。非相関部構造のうちの他の1つは、過渡非相関部D
TR430であってよい。過渡非相関部D
TR430は、それに提供される信号を、例えばこの信号に位相を適用することにより、処理してよい。全域通過非相関部D
AP420は、周波数に依存する事前遅延およびその後の全域通過(例えばIIR)セクションを有する非相関フィルタを含んでよい。フィルタ係数は、分数(fractional)遅延が使用されるか否かに依存する種々の方法で格子係数から導出されてよい。言い換えると、フィルタ係数は、分数遅延が使用されるか否かに依存して、異なる方法で格子係数から導出される。分数遅延非相関部では、周波数依存位相オフセットを格子係数に加算することにより、分数遅延が適用される。全域通過フィルタ係数は、格子係数を用いてオフラインで決定されてよい。つまり、全域通過フィルタ係数は、予め計算されてよい。実行時、予め計算された全域通過フィルタ係数が取得され、全域通過非相関部D
AP420のために使用される。例えば、全域通過フィルタ係数は、1つ以上のルックアップテーブルに基づき決定されてよい。
【0026】
通常、格子係数(反射係数としても知られる)は、次式に従い、フィルタ係数a
x
n,kおよびb
x
n,kに変換される。
【数3】
【0027】
上式は、実行前に(例えば予め計算された)フィルタ係数を導出するために、オフラインで実施されてよい。実行時、予め計算された全域通過フィルタ係数は、それらを格子係数から計算することなく、必要に応じて参照されてよい。例えば、全域通過フィルタ係数は、1つ以上のルックアップテーブルから取得され(例えば、読み出され、検索され)てよい。ルックアップテーブル内の全域通過フィルタ係数の実際の構成は、デコーダが適切な全域通過フィルタ係数を実行時に読み出すルーチンを提供される限り、変化してよい。
【0028】
全域通過フィルタ係数を予め計算するとき、周波数軸は、複数の重なり合わない連続領域、例えば第1~第4領域に細分化されてよい。標準的に、各領域は、連続する周波数バンクのセットに対応してよい。次に、別個のルックアップテーブルが、各領域について設けられ、それぞれのルックアップテーブルは、該周波数領域の全域通過フィルタ係数を含む。
【0029】
例えば、周波数軸に沿う第1領域の格子係数のフィルタ係数は、次式に基づき決定されてよい:
static FLOAT32 lattice_coeff_0_filt_den_coeff[DECORR_FILT_0_ORD+1]=
{1.000000f, -0.314818f, -0.256828f, -0.173641f, -0.115077f, 0.000599f, 0.033343f, 0.122672f, -0.356362f, 0.128058f, 0.089800f};
static FLOAT32 lattice_coeff_0_filt_num_coeff[DECORR_FILT_0_ORD+1]=
{0.089800F, 0.128058f, -0.356362f, 0.122672f, 0.033343f, 0.000599f, -0.115077f, -0.173641f, -0.256828f, -0.314818f, 1.000000f};
周波数軸に沿う第2領域の格子係数のフィルタ係数は、次式に基づき決定されてよい:
static FLOAT32 lattice_coeff_1_filt_den_coeff[DECORR_FILT_1_ORD+1]=
{1.000000f, -0.287137f, -0.088940f, 0.123204f, -0.126111f, 0.064218f, 0.045768f, -0.016264f, -0.122100f};
staticFLOAT32 lattice_coeff_1_filt_num_coeff[DECORR_FILT_1_ORD+1]=
{-0.122100f, -0.016264f, 0.045768f, 0.064218f, -0.126111f, 0.123204f, -0.088940f, -0.287137f, 1.000000f};
周波数軸に沿う第3領域の格子係数のフィルタ係数は、次式に基づき決定されてよい:
static FLOAT32 lattice_coeff_2_filt_den_coeff[DECORR_FILT_2_ORD+1]=
{1.000000f, 0.129403f, -0.032633f, 0.035700f};
static FLOAT32 lattice_coeff_2_filt_num_coeff[DECORR_FILT_2_ORD+1]=
{0.035700f, -0.032633f, 0.129403f, 1.000000f};
周波数軸に沿う第4領域の格子係数のフィルタ係数は、次式に基づき決定されてよい:
static FLOAT32 lattice_coeff_3_filt_den_coeff[DECORR_FILT_3_ORD+1]=
{1.000000f, 0.034742f, -0.013000f};
static FLOAT32 lattice_coeff_3_filt_num_coeff[DECORR_FILT_3_ORD +1]=
{-0.013000f, 0.034742f, 1.000000f}.
以下の関数において、ixheaacd_mps_decor_filt_init self->denは、対応するフィルタ係数(lattice_coeff_0_filt_den_coeff/lattice_coeff_1_filt_den_coeff/lattice_coeff_2_filt_den_coeff/lattice_coeff_3_filt_den_coeff)により、反射帯域に基づき、初期化される。このself->den(これは、フィルタ係数へのポインタである)は、以下に示すようにixheaacd_mps_allpass_applyの中で使用される。
【数4】
【0030】
纏めると、以上は、以下のように構成される符号化されたUSACストリームを復号する機器の処理に対応してよい。機器は、符号化されたUSACストリームを復号するコアデコーダを含んでよい。コアデコーダは、モノからステレオへのアップミキシングを実行するよう適応されるアップミキシングユニット(例えば、OTTボックス)を含んでよい。アップミキシングユニットは、入力信号に非相関フィルタを適用するよう適応される非相関ユニットDを含んでよい。非相関ユニットDは、予め計算された値を参照することにより、非相関フィルタのフィルタ係数を決定するよう適応されてよい。非相関フィルタのフィルタ係数は、オフラインで、実行前に(例えば、復号する前に)予め計算されてよく、1つ以上のルックアップテーブルに格納されてよい。周波数帯域の複数の重なり合わない範囲の各々について、別個のルックアップテーブルが設けられてよい。フィルタ係数を決定することは、復号中に1つ以上のルックアップテーブルからフィルタ係数の予め計算された値を呼び出すことを含んでよい。
【0031】
コアデコーダは、アップミキシングユニットを含むMPEGサラウンド機能ユニットを含んでよい。非相関フィルタは、周波数依存事前遅延を含んでよい。周波数依存事前遅延の後に全域通過セクションが続く。フィルタ係数は、全域通過セクションのために決定されてよい。アップミキシングユニットは、モノからステレオへのアップミキシングを実行可能なOTTボックスであってよい。
【0032】
入力信号は、モノ信号であってよい。アップミキシングユニットは、入力信号を非相関ユニットの出力とミキシングするために、ミキシング行列を適用するミキシングモジュールを更に含んでよい。非相関ユニットは、入力信号の非過渡信号成分から入力信号の過渡信号成分を分離する分離ユニットと、入力信号の非過渡信号成分に非相関フィルタを適用するよう適応される全域通過非相関ユニットと、入力信号の過渡信号成分を処理するよう適応される過渡非相関ユニットと、全域通過非相関ユニットの出力と過渡非相関ユニットの出力とを結合する結合ユニットと、を含んでよい。全域通過非相関ユニットは、予め計算された値を参照することにより、非相関フィルタのフィルタ係数を決定するよう適応されてよい。
【0033】
図7に、符号化されたUSACストリームを復号する際に、モノからステレオへのアップミキシングのコンテキストで非相関フィルタを適用する対応する方法700の一例がフローチャートで示される。
【0034】
ステップS710で、入力信号の過渡信号成分は、入力信号の非過渡信号成分から、分離される。ステップS720で、非相関フィルタは、全域通過非相関ユニットにより、入力信号の非過渡信号成分に適用される。非相関フィルタのフィルタ係数は、予め計算された値を参照することにより、決定される。ステップS730で、入力信号の過渡信号成分は、過渡非相関ユニットにより処理される。ステップS740で、全域通過非相関ユニットの出力および過渡非相関ユニットの出力は結合される。
【0035】
図2に示すように、USACデコーダ2000は、拡張スペクトル帯域複製(Spectral Bandwidth Replication:eSBR)ユニット2901を更に含む。eSBRユニット2901は、例えばUSAC標準のclause7.5に記載されている。この節(clause)は、参照することによりその全体がここに組み込まれる。eSBRユニット2901は、符号化されたオーディオストリームまたは符号化された信号をエンコーダから受信する。eSBRユニット2901は、信号の高周波数成分を生成してよい。この高周波数成分は、復号された低周波数成分と融合されて復号信号を生成する。言い換えると、eSBRユニット2901は、オーディオ信号のハイバンド(highband)を再生成してよい。これは、符号化中に切り取られた(truncated)、高調波のシーケンスの複製に基づいてよい。さらに、これは、元の信号のスペクトル特性を再生成するために、生成されたハイバンドのスペクトルエンベロープを調整し、逆フィルタリングを適用し、ノイズおよび正弦波成分を追加してよい。eSBRツールの出力は、例えばMPS212が使用される場合には、時間ドメイン信号またはフィルタバンクドメイン(例えば、QMFドメイン)信号の表現であってよい。
【0036】
eSBRユニット2901は、分析フィルタバンク、非線形処理ユニット、および合成フィルタバンク、のような異なるコンポーネントを有してよい。eSBRユニット2901は、QMFに基づく高調波トランスポーザーを含んでよい。QMFに基づく高調波トランスポーザーは、例えばUSAC標準のclause7.5.4に記載されている。この節(clause)は、参照することによりその全体がここに組み込まれる。QMFに基づく高調波トランスポーザーでは、入力信号(例えば、コアコーダの時間ドメイン信号)の帯域幅拡張は、例えば変更された位相ボコーダ(vocoder)構造を用い、デシメーション(decimation)を実行し、その後にQMFサブバンド毎に時間ストレッチ(time stretch)を行うことにより、QMFドメインで完全に実行されてよい。幾つかの転置係数(例えば、T=2、3、4)を用いる転置(transposition)は、共通QMF分析/合成変換段階において実行されてよい。例えば、sbrRatio="2:1"の場合、トランスポーザーの出力信号は、入力信号の2倍のサンプリングレートを有する(sbrRatio="8:3":8/3サンプリング周波数の場合)。これは、R=2の転置係数では、複素トランスポーザーQMF分析バンクから生じる複素QMFサブバンド信号が、時間ストレッチされるが、デシメーションされず、トランスポーザーQMF分析バンクの2倍の物理サブバンド間隔のQMF合成バンクに供給されることを意味する。結合されたシステムは、それぞれ2、3、4の転置係数を使用する3つの並列トランスポーザーとして解釈され得る。複雑性を低減するために、係数3および4のトランスポーザー(第3および第4次トランスポーザー)は、補間法により、係数2のトランスポーザー(第2次トランスポーザー)に統合されてよい。ここで、QMF分析および合成変換段階のみが、第2次トランスポーザーのために必要な段階である。QMFに基づく高調波トランスポーザーは信号適応周波数ドメインオーバーサンプリングを特徴としないので、ビットストリーム内の対応するフラグは無視される。
【0037】
QMF
トランスポーザーでは、複素出力利得値は、全ての合成サブバンドについて次式に基づき定められてよい:
【数5】
【0038】
ここで、kはサブバンドサンプルを示す。
【0039】
実行中に複素出力利得の複素指数の実数および虚数部を計算する代わりに、これらの値は、オフラインで予め計算され(格納され)、実行時に例えば対応するルックアップテーブルからアクセスされる。
【0040】
つまり、複素指数の実数および虚数部は、(オフラインで)予め計算され格納される。実行時に、予め計算された複素指数の実数および虚数部は、計算することなく、必要に応じて参照されてよい。例えば、複素指数の実数および虚数部は、1つ以上のルックアップテーブルから取得され(例えば、読み出され、検索され)てよい。ルックアップテーブル内の複素指数の実数および虚数部の実際の構成は、デコーダが適切な複素指数の実数および虚数部を実行時に読み出すルーチンを提供される限り、変化してよい。
【0041】
例えば、1つのルックアップテーブルが複素指数の実数部のために提供されてよく(例えば、テーブルphase_vocoder_cos_tab)、別のルックアップテーブルが複素指数の虚数部のために提供されてよい(例えば、テーブルphase_vocoder_sin_tab)。実行時、帯域インデックスk(これは、qmf_band_idxにより示されてよい)は、これらのルックアップテーブルを参照するため、および適切な実数および虚数部を読み出すために使用されてよい。
【0042】
出力利得Ω(k)を適用するための各合成サブバンドにおける出力利得によるQMFサンプルの虚数乗法(complex multiplication)は、以下に与えられるixheaacd_qmf_hbe_apply(ixheaacd_hbe_trans.c)関数に基づき実行されてよい。ここで、qmf_r_out_buf[i]およびqmf_i_out_buf[i]は、それぞれ、それぞれの合成サブバンド(indexqmf_band_idxにより示される)の中のQMFサンプルiの実数および虚数部を示す:
【数6】
【0043】
上述のように、出力利得Ω(k)を適用するための乗算は、(実数部のための)phase_vocoder_cos_tab[k]テーブルおよび(虚数部のための)phase_vocoder_sin_tab[k]テーブルに基づいてよい。これらのテーブルは以下ように与えられる:
const FLOAT32 phase_vocoder_cos_tab[64]=
{
0.012272f, -0.036807f, 0.061321f, -0.085797f,
0.110222f, -0.134581f, 0.158858f, -0.183040f,
0.207111f, -0.231058f, 0.254866f, -0.278520f,
0.302006f, -0.325310f, 0.348419f, -0.371317f,
0.393992f, -0.416430f, 0.438616f, -0.460539f,
0.482184f, -0.503538f, 0.524590f, -0.545325f,
0.565732f, -0.585798f, 0.605511f, -0.624859f,
0.643832f, -0.662416f, 0.680601f, -0.698376f,
0.715731f, -0.732654f, 0.749136f, -0.765167f,
0.780737f, -0.795837f, 0.810457f, -0.824589f,
0.838225f, -0.851355f, 0.863973f, -0.876070f,
0.887640f, -0.898674f, 0.909168f, -0.919114f,
0.928506f, -0.937339f, 0.945607f, -0.953306f,
0.960431f, -0.966976f, 0.972940f, -0.978317f,
0.983105f, -0.987301f, 0.990903f, -0.993907f,
0.996313f, -0.998118f, 0.999322f, -0.999925f,
};
const FLOAT32 phase_vocoder_sin_tab[64]=
{
0.999925f, -0.999322f, 0.998118f, -0.996313f,
0.993907f, -0.990903f, 0.987301f, -0.983105f,
0.978317f, -0.972940f, 0.966976f, -0.960431f,
0.953306f, -0.945607f, 0.937339f, -0.928506f,
0.919114f, -0.909168f, 0.898674f, -0.887640f,
0.876070f, -0.863973f, 0.851355f, -0.838225f,
0.824589f, -0.810457f, 0.795837f, -0.780737f,
0.765167f, -0.749136f, 0.732654f, -0.715731f,
0.698376f, -0.680601f, 0.662416f, -0.643832f,
0.624859f, -0.605511f, 0.585798f, -0.565732f,
0.545325f, -0.524590f, 0.503538f, -0.482184f,
0.460539f, -0.438616f, 0.416430f, -0.393992f,
0.371317f, -0.348419f, 0.325310f, -0.302006f,
0.278520f, -0.254866f, 0.231058f, -0.207111f,
0.183040f, -0.158858f, 0.134581f, -0.110222f,
0.085797f, -0.061321f, 0.036807f, -0.012272f,
};
【0044】
纏めると、以上は、以下のように構成される符号化されたUSACストリームを復号する機器の処理に対応してよい。機器は、符号化されたUSACストリームを復号するコアデコーダを含んでよい。コアデコーダは、入力信号の帯域幅を拡張するeSBRユニットを含んでよく、eSBRはQMFに基づく高調波トランスポーザーを含む。QMFに基づく高調波トランスポーザーは、複数の合成サブバンドの各々の中で、QMFドメインの入力信号を処理して、入力信号の帯域幅を拡張するよう構成されてよい。QMFに基づく高調波トランスポーザーは、予め計算された情報に少なくとも部分的に基づき動作するよう更に構成されてよい。
【0045】
予め計算された乗法は、1つ以上のルックアップテーブルに格納されてよい。次に、QMFに基づく高調波トランスポーザーは、実行時に1つ以上のルックアップテーブルからの予め計算された情報にアクセスするよう適用されてよい。
【0046】
eSBRユニットは、符号化中に切り取られた高調波のシーケンスの複製に基づき、入力信号のハイバンド周波数成分を再生成し、それにより、入力信号の帯域幅を拡張するよう構成されてよい。eSBRユニットは、入力信号の中の、より高いオーディオ周波数のパラメータ表現を扱うよう構成されてよい。
【0047】
QMFに基づく高調波トランスポーザーは、複数の合成サブバンドの各々について、それぞれの複素出力利得を取得し、複素出力利得値をそれらのそれぞれの合成サブバンドに適用するよう更に構成されてよい。予め計算された情報は、複素出力利得値に関連してよい。複素出力利得値は、実行時に1つ以上のルックアップテーブルからアクセスされる実数および虚数部を含んでよい。
【0048】
また、QMFトランスポーザーでは、コアデコーダの時間入力信号は、coreCoderFrameLength入力サンプルのブロックを用いて、QMFドメインに変換されてよい。計算上の複雑さを抑えるために、変換は、SBRツールの中に既に存在する32バンド分析QMFバンクからのサブバンド信号に対するクリティカルサンプリング処理を適用することにより、実施される。クリティカルサンプリング処理は、サブバンドサンプルによる倍の分解能で、行列XLowを新しいQMFサブ行列Γ(μ,ν)に変換してよい。これらのQMFサブ行列は、1に等しいサブバンドサンプルストライドで、12個のサブバンドサンプルの時間範囲で、サブバンドブロック処理により操作されてよい。処理は、これらのサブ行列に対して線形抽出および非線形動作を実行してよく、2に等しいサブバンドサンプルストライドで、変更されたサブ行列を重複加算(overlap-adds)する。結果として、QMF出力は、2の倍数でサブバンドドメインを引き伸ばされ、サブバンドドメインはT/2=1、3/2、2の倍数で転置する。トランスポーザー分析バンクの2倍の物理サブバンド間隔のQMFバンクにより合成すると、T=2、3、4の倍数の所要の転置が生じる。
【0049】
一例では、サンプルの単一のサブ行列の非線形処理は、サブ行列の位置を示す変数u=0、1、2、...に基づき提供されてよい。表記法上の目的で、このインデックスは固定されるので、以下では省略されることがある。代わりに、サブ行列の以下のインデックス付けが使用されてよい。
B(m,n)=Γ(m+6+u,n), m=-6,…,5 n=0,…,2MS-1
【0050】
非線形変更の出力は、Y(m,k)により示され、ここで、m=-6,...,5、およびxOverQMF(0)<k<xOverQmf(numPatches)である。インデックスkを有する各合成サブバンドは、1つの転置順序の結果であってよく、処理はこの順序に依存して僅かに異なってよい。共通の特徴は、約2k/Tのインデックスを有する分析サブバンドが選択されることである。
【0051】
ある例では、xOverQmf(1)≦k<xOverQmf(2)、T=3の場合、非線形処理は、非整数サブバンドサンプルの抽出のために、線形補間を使用してよい。
【0052】
2つの分析サブバンドインデックスn及びn~が定められてよい。例えば、分析サブバンドインデックスn~は、2k/T=2k/3の整数部として定められてよく、分析サブバンドインデックスnは次式のように定められてよい:
【数7】
【0053】
Z+は正整数の集合を示す。
【0054】
所与の時間範囲(例えば、8個のサブバンドサンプル)を有するブロックが抽出されてよい:
for ν=n,n~ as
X(m,ν)=B(3m/2,ν), m=-4,…,3
【0055】
非整数サブバンドサンプルエントリは、次式の形式の2タップ補間により取得されてよい:
B(μ+0.5,ν)=h0(ν)B(μ,ν)+h1(ν)B(μ+1,ν)
【0056】
ここで、フィルタ係数は、次式のように定められる:
【数8】
【0057】
この方法で取得されたQMFサンプルX(m,ν)は、極座標に変換されてよい:
【数9】
【0058】
次にm=-4、...、3について、出力が次式により定められてよい:
【数10】
【0059】
Y(3)(m,k)は、m∈{-6,-5,4,5}について、ゼロにより拡張されてよい。この後者の演算は、長さ8の長方形窓を有する合成窓と等価であってよい。複素出力利得Ω(k)による乗算は、上述の技術を含んでよい。
【0060】
非整数サブバンドサンプルエントリを決定する必要性は、次に説明するクロス乗積(cross product)の加算の状況で生じ得る。
【0061】
xOverQmf(0)≦k≦xOverQmf(numPatches)である各kについて、ユニークな転置係数T=2,3,4が、xOverQmf(T-2)≦k≦xOverQmf(T-1)により定められる。クロス乗積利得ΩC(m,k)は、クロス乗積ピッチパラメータがp<1を満たす場合に、ゼロに設定される。pは、次式のように、ビットストリームパラメータsbrPitchInBins[ch]から決定されてよい:
p=sbrPitchInBins[ch]/12
【0062】
p≧1ならば、Ω
C(m,k)、並びに中間整数パラメータμ
1(k)、μ
2(k)、μt(k)、は、以下の手順により定められてよい。Mを、最大でもT-1個の値のうちの最大値であるとすると、
【数11】
【0063】
M≦|B(0,μ(k))|、μ(k)が2k/Tの整数部として定められる場合、クロス乗積加算はキャンセルされ、Ω
C(m,k)=0である。その他の場合、t(k)は最小のt=1,...,T-1であり、min{|B(0,n
1)|,|B(0,n
2)|}=M、且つ整数ペア(μ
1(k),μ
2(k))は対応する最大化ペア(n
1,n
2)として定められる。2つのダウンサンプリング係数D
1(k)及びD
2(k)は、以下の表で与えられる式(T-t(k))D
1+t(k)D
2=T/2の特定解としてTおよびt(k)の値から決定されてよい。
【表1】
【0064】
p≧1およびM>|B(0,μ(k))|の場合、クロス乗積利得は次式により定められる:
【数12】
【0065】
例えば2個のサブバンドサンプルの時間範囲を有するブロックが抽出されてよい。例えば、この抽出は、次式に従い実行されてよい:
【数13】
【0066】
ここで、ゼロに等しいダウンサンプリング係数の使用は、単一のサブバンドサンプル値の繰り返しに対応してよく、非整数ダウンサンプリング係数の使用は、非整数サブバンドサンプルエントリの計算を必要とする。これらのエントリは、次式の形式の同じ2タップ補間により得られてよい:
B(μ+0.5,ν)=h0(ν)B(μ,ν)+h1(ν)B(μ+1,ν)
【0067】
ここで、フィルタ係数は、次式のように定められる:
【数14】
【0068】
抽出されたQMFサンプルX
1(m)およびX
2(m)は、以下の極座標に変換される:
【数15】
【0069】
クロス乗積の項は、次式のように計算される:
【数16】
【0070】
YC
(T)(m,k)は、m∈{-6, -5, -4, -3, -2,1,2,3,4,5}について、ゼロにより拡張されてよい。
【0071】
結合されたQMF出力は、次に、貢献Y(T)およびYC
(T)を加算することにより得られる。
【0072】
上式から、hε(ν)について、以下が分かる:
Real(h1(ν))=Real(h0(ν))
Imag(h1(ν))=-Imag(h0(ν)) and
Real(h0(ν))=cos(((2*ν+1)*π)/4)
Imag(h0(ν))=sin(((2*ν+1)*π)/4)
【0073】
Real(hε(ν))は複素数hε(ν)の実数部を表し、Imag(hε(ν))はhε(ν)の虚数部を表す。したがって、関連する値はReal(h0(ν))およびImag(h0(ν))(だけ)である。
【0074】
フィルタ係数hε(ν)(または同等にReal(h0(ν))およびImag(h0(ν)))を決定する式は、実行時の前に(例えば予め計算された)フィルタ係数を導出するためにオフラインで実施されてよい。実行時に、予め計算されたフィルタ係数hε(ν)は、計算することなく、必要に応じて参照されてよい。例えば、通過フィルタ係数hε(ν)は、1つ以上のルックアップテーブルから取得され(例えば、読み出され、検索され)てよい。ルックアップテーブル内のフィルタ係数hε(ν)の実際の構成は、デコーダが適切な全域通過フィルタ係数を実行時に読み出すルーチンを提供される限り、変化してよい。
【0075】
例えば、ルックアップテーブルは、νの値に基づきアクセスされてよい。一例として、以下の表は、νの値に基づきアクセスされ、以下のように表の値は与えられたνに対応する。
Real(h0(ν))=hbe_post_anal_proc_interp_coeff[((ν+1)&3)][0];
Imag(h0(ν))=hbe_post_anal_proc_interp_coeff[(ν+1)&3)][1];
constFLOAT32hbe_post_anal_proc_interp_coeff[4][2]=
{
/*realimag*/
{0.3984033437f, 0.3984033437f},
{0.3984033437f, -0.3984033437f},
{-0.3984033437f, -0.3984033437f},
{-0.3984033437f, 0.3984033437f},
};
【0076】
表から、係数の実数部および虚数部の絶対値が同じであることが分かる。したがって、フィルタ係数hε(ν)との乗算は、(例えば、それぞれ整数サブバンドサンプルB(μ,ν)およびB(μ+1,ν)の実数および虚数部の)加算及び減算、それに続いて、結果の0.3984033437(0.3984033437f)との単一の乗算により置き換えられてよい。
【0077】
纏めると、以上は、複数の合成サブバンドが分数サブバンドインデックスを有する非整数合成サブバンドを含み得る(特に、QMF高調波トランスポーザーを含む)上述の符号化されたUSACストリームを復号する機器の処理に対応してよい。QMFに基づく高調波トランスポーザーは、入力信号から抽出されたサンプルを処理するよう構成されてよい。この入力信号は、これらの非整数合成サブバンドの中にある。予め計算された情報は、サンプルのうちの非整数サブバンドの中のサンプルを、整数サブバンドインデックスを有する近隣整数サブバンドに補間するための、補間係数に関連してよい。補間係数は、オフラインで決定され、1つ以上のルックアップテーブルに格納されてよい。QMFに基づく高調波トランスポーザーは、実行時に1つ以上のルックアップテーブルからの補間係数にアクセスするよう適用されてよい。
【0078】
また、クロス乗積利得値の決定は次式により定められ:
【数17】
【0079】
これは、実行前に(例えば予め計算された)クロス乗積利得を導出するために、オフラインで実施されてよい。実行時に、予め計算されたクロス乗積利得は、計算することなく、必要に応じて参照されてよい。例えば、クロス乗積利得は、1つ以上のルックアップテーブルから取得され(例えば、読み出され、検索され)てよい。ルックアップテーブル内のクロス乗積利得の実際の構成は、デコーダが適切なクロス乗積利得を実行時に読み出すルーチンを提供される限り、変化してよい。予め計算されたクロス乗積利得を検索することは、上述と同じ非線形処理ブロックにより実行されてよい。
【0080】
例えば、上述の複素クロス乗積利得値は、以下のルックアップテーブルにより置き換えられてよい。
hbe_x_prod_cos_table_trans_2, hbe_x_prod_cos_table_trans_3, hbe_x_prod_cos_table_trans_4
【0081】
これらの表は、これらの値の直接代入により計算されてよく、t(k),D1(k)およびD2(k)の値に基づきアクセスされてよい。例えば、表は以下により与えられてよい。
const FLOAT32 hbe_x_prod_cos_table_trans_2[(128+128)*2]=
{
{
/*ForUpSamplingFactornotequalto4*/
1.000000, 0.000000, 0.991445, 0.130526, 0.965926, 0.258819,
0.923880, 0.382683, 0.866025, 0.500000, 0.793353, 0.608761,
0.707107, 0.707107, 0.608761, 0.793353, 0.500000, 0.866025,
0.382683, 0.923880, 0.258819, 0.965926, 0.130526, 0.991445,
-0.000000, 1.000000, -0.130526, 0.991445, -0.258819, 0.965926,
-0.382683, 0.923880, -0.500000, 0.866025, -0.608761, 0.793353,
-0.707107, 0.707107, -0.793353, 0.608761, -0.866025, 0.500000,
-0.923880, 0.382683, -0.965926, 0.258819, -0.991445, 0.130526,
-1.000000, -0.000000, -0.991445, -0.130526, -0.965926, -0.258819,
-0.923880, -0.382683, -0.866025, -0.500000, -0.793353, -0.608762,
-0.707107, -0.707107, -0.608761, -0.793353, -0.500000, -0.866025,
-0.382683, -0.923880, -0.258819, -0.965926, -0.130526, -0.991445,
0.000000, -1.000000, 0.130526, -0.991445, 0.258819, -0.965926,
0.382684, -0.923879, 0.500000, -0.866025, 0.608762, -0.793353,
0.707107, -0.707107, 0.793353, -0.608761, 0.866026, -0.500000,
0.923880, -0.382683, 0.965926, -0.258819, 0.991445, -0.130526,
1.000000, 0.000000, 0.991445, 0.130527, 0.965926, 0.258819,
0.923879, 0.382684, 0.866025, 0.500000, 0.793353, 0.608762,
0.707107, 0.707107, 0.608761, 0.793353, 0.500000, 0.866026,
0.382683, 0.923880, 0.258819, 0.965926, 0.130526, 0.991445,
-0.000000, 1.000000, -0.130526, 0.991445, -0.258819, 0.965926,
-0.382684, 0.923879, -0.500000, 0.866025, -0.608762, 0.793353,
-0.707107, 0.707106, -0.793353, 0.608761, -0.866026, 0.500000,
-0.923880, 0.382684, -0.965926, 0.258819, -0.991445, 0.130526,
-1.000000, -0.000000, -0.991445, -0.130527, -0.965926, -0.258819,
-0.923879, -0.382684, -0.866025, -0.500000, -0.793353, -0.608762,
-0.707107, -0.707107, -0.608761, -0.793353, -0.500000, -0.866025,
-0.382683, -0.923880, -0.258819, -0.965926, -0.130526, -0.991445,
0.000000, -1.000000, 0.130526, -0.991445, 0.258819, -0.965926,
0.382684, -0.923880, 0.500000, -0.866025, 0.608762, -0.793353,
0.707107, -0.707107, 0.793354, -0.608761, 0.866026, -0.500000,
0.923880, -0.382683, 0.965926, -0.258819, 0.991445, -0.130526,
1.000000, 0.000000, 0.991445, 0.130526, 0.965926, 0.258820,
0.923879, 0.382684, 0.866025, 0.500000, 0.793353, 0.608761,
0.707107, 0.707107, 0.608761, 0.793354, 0.500000, 0.866025,
0.382683, 0.923880, 0.258819, 0.965926, 0.130526, 0.991445,
-0.000000, 1.000000, -0.130527, 0.991445, -0.258819, 0.965926,
-0.382684, 0.923879, -0.500000, 0.866025, -0.608762, 0.793353,
-0.707107, 0.707107, -0.793354, 0.608761, -0.866026, 0.499999,
-0.923880, 0.382683, -0.965926, 0.258819, -0.991445, 0.130526,
-1.000000, -0.000001, -0.991445, -0.130527, -0.965926, -0.258819,
-0.923879, -0.382683, -0.866025, -0.500000, -0.793353, -0.608762,
-0.707106, -0.707107, -0.608761, -0.793354
/*ForUpSamplingFactorequalto4*/
1.000000, 0.000000, 0.997859, 0.065403, 0.991445, 0.130526,
0.980785, 0.195090, 0.965926, 0.258819, 0.946930, 0.321439,
0.923880, 0.382683, 0.896873, 0.442289, 0.866025, 0.500000,
0.831470, 0.555570, 0.793353, 0.608761, 0.751840, 0.659346,
0.707107, 0.707107, 0.659346, 0.751840, 0.608761, 0.793353,
0.555570, 0.831470, 0.500000, 0.866025, 0.442289, 0.896873,
0.382683, 0.923880, 0.321439, 0.946930, 0.258819, 0.965926,
0.195090, 0.980785, 0.130526, 0.991445, 0.065403, 0.997859,
-0.000000, 1.000000, -0.065403, 0.997859, -0.130526, 0.991445,
-0.195090, 0.980785, -0.258819, 0.965926, -0.321440, 0.946930,
-0.382683, 0.923880, -0.442289, 0.896873, -0.500000, 0.866025,
-0.555570, 0.831470, -0.608761, 0.793353, -0.659346, 0.751840,
-0.707107, 0.707107, -0.751840, 0.659346, -0.793353, 0.608761,
-0.831470, 0.555570, -0.866025, 0.500000, -0.896873, 0.442289,
-0.923880, 0.382683, -0.946930, 0.321439, -0.965926, 0.258819,
-0.980785, 0.195090, -0.991445, 0.130526, -0.997859, 0.065403,
-1.000000, -0.000000, -0.997859, -0.065403, -0.991445, -0.130526,
-0.980785, -0.195090, -0.965926, -0.258819, -0.946930, -0.321440,
-0.923880, -0.382683, -0.896873, -0.442289, -0.866025, -0.500000,
-0.831470, -0.555570, -0.793353, -0.608762, -0.751840, -0.659346,
-0.707107, -0.707107, -0.659346, -0.751840, -0.608761, -0.793353,
-0.555570, -0.831470, -0.500000, -0.866025, -0.442289, -0.896873,
-0.382683, -0.923880, -0.321439, -0.946930, -0.258819, -0.965926,
-0.195090, -0.980785, -0.130526, -0.991445, -0.065403, -0.997859,
0.000000, -1.000000, 0.065403, -0.997859, 0.130526, -0.991445,
0.195090, -0.980785, 0.258819, -0.965926, 0.321440, -0.946930,
0.382684, -0.923879, 0.442289, -0.896873, 0.500000, -0.866025,
0.555570, -0.831469, 0.608762, -0.793353, 0.659346, -0.751840,
0.707107, -0.707107, 0.751840, -0.659346, 0.793353, -0.608761,
0.831470, -0.555570, 0.866026, -0.500000, 0.896873, -0.442289,
0.923880, -0.382683, 0.946930, -0.321439, 0.965926, -0.258819,
0.980785, -0.195090, 0.991445, -0.130526, 0.997859, -0.065403,
1.000000, 0.000000, 0.997859, 0.065403, 0.991445, 0.130527,
0.980785, 0.195091, 0.965926, 0.258819, 0.946930, 0.321439,
0.923879, 0.382684, 0.896873, 0.442289, 0.866025, 0.500000,
0.831470, 0.555571, 0.793353, 0.608762, 0.751840, 0.659346,
0.707107, 0.707107, 0.659346, 0.751840, 0.608761, 0.793353,
0.555570, 0.831470, 0.500000, 0.866026, 0.442289, 0.896873,
0.382683, 0.923880, 0.321439, 0.946930, 0.258819, 0.965926,
0.195090, 0.980785, 0.130526, 0.991445, 0.065403, 0.997859,
-0.000000, 1.000000, -0.065403, 0.997859, -0.130526, 0.991445,
-0.195091, 0.980785, -0.258819, 0.965926, -0.321440, 0.946930,
-0.382684, 0.923879, -0.442289, 0.896873
};
const FLOAT32 hbe_x_prod_cos_table_trans_3[(128+128)*2]=
{
/*ForUpSamplingFactornotequalto4*/
1.000000, 0.000000, 0.965926, 0.258819, 0.866025, 0.500000,
0.707107, 0.707107, 0.500000, 0.866025, 0.258819, 0.965926,
-0.000000, 1.000000, -0.258819, 0.965926, -0.500000, 0.866025,
-0.707107, 0.707107, -0.866025, 0.500000, -0.965926, 0.258819,
-1.000000, -0.000000, -0.965926, -0.258819, -0.866025, -0.500000,
-0.707107, -0.707107, -0.500000, -0.866025, -0.258819, -0.965926,
0.000000, -1.000000, 0.258819, -0.965926, 0.500000, -0.866025,
0.707107, -0.707107, 0.866026, -0.500000, 0.965926, -0.258819,
1.000000, 0.000000, 0.965926, 0.258819, 0.866025, 0.500000,
0.707107, 0.707107, 0.500000, 0.866026, 0.258819, 0.965926,
-0.000000, 1.000000, -0.258819, 0.965926, -0.500000, 0.866025,
-0.707107, 0.707106, -0.866026, 0.500000, -0.965926, 0.258819,
-1.000000, -0.000000, -0.965926, -0.258819, -0.866025, -0.500000,
-0.707107, -0.707107, -0.500000, -0.866025, -0.258819, -0.965926,
0.000000, -1.000000, 0.258819, -0.965926, 0.500000, -0.866025,
0.707107, -0.707107, 0.866026, -0.500000, 0.965926, -0.258819,
1.000000, 0.000000, 0.965926, 0.258820, 0.866025, 0.500000,
0.707107, 0.707107, 0.500000, 0.866025, 0.258819, 0.965926,
-0.000000, 1.000000, -0.258819, 0.965926, -0.500000, 0.866025,
-0.707107, 0.707107, -0.866026, 0.499999, -0.965926, 0.258819,
-1.000000, -0.000001, -0.965926, -0.258819, -0.866025, -0.500000,
-0.707106, -0.707107, -0.500000, -0.866026, -0.258819, -0.965926,
0.000000, -1.000000, 0.258820, -0.965926, 0.500000, -0.866025,
0.707107, -0.707107, 0.866026, -0.499999, 0.965926, -0.258818,
1.000000, 0.000000, 0.965926, 0.258820, 0.866025, 0.500001,
0.707106, 0.707107, 0.500000, 0.866025, 0.258819, 0.965926,
-0.000001, 1.000000, -0.258820, 0.965926, -0.500000, 0.866026,
-0.707107, 0.707106, -0.866026, 0.500000, -0.965926, 0.258819,
-1.000000, -0.000001, -0.965926, -0.258820, -0.866025, -0.500000,
-0.707106, -0.707107, -0.499999, -0.866026, -0.258818, -0.965926,
0.000001, -1.000000, 0.258820, -0.965925, 0.500001, -0.866025,
0.707107, -0.707107, 0.866026, -0.500000, 0.965926, -0.258818,
1.000000, 0.000001, 0.965926, 0.258819, 0.866025, 0.500001,
0.707106, 0.707107, 0.499999, 0.866026, 0.258818, 0.965926,
-0.000001, 1.000000, -0.258820, 0.965926, -0.500001, 0.866025,
-0.707107, 0.707106, -0.866026, 0.499999, -0.965926, 0.258818,
-1.000000, -0.000000, -0.965926, -0.258820, -0.866025, -0.500001,
-0.707106, -0.707107, -0.499999, -0.866026, -0.258818, -0.965926,
0.000001, -1.000000, 0.258820, -0.965926, 0.500001, -0.866025,
0.707107, -0.707106, 0.866026, -0.500000, 0.965926, -0.258819,
1.000000, 0.000001, 0.965926, 0.258820, 0.866025, 0.500000,
0.707106, 0.707107, 0.499999, 0.866025, 0.258818, 0.965926,
-0.000001, 1.000000, -0.258820, 0.965925
/*For Up Sampling Factor equal to 4*/
1.000000, 0.000000, 0.991445, 0.130526, 0.965926, 0.258819,
0.923880, 0.382683, 0.866025, 0.500000, 0.793353, 0.608761,
0.707107, 0.707107, 0.608761, 0.793353, 0.500000, 0.866025,
0.382683, 0.923880, 0.258819, 0.965926, 0.130526, 0.991445,
-0.000000, 1.000000, -0.130526, 0.991445, -0.258819, 0.965926,
-0.382683, 0.923880, -0.500000, 0.866025, -0.608761, 0.793353,
-0.707107, 0.707107, -0.793353, 0.608761, -0.866025, 0.500000,
-0.923880, 0.382683, -0.965926, 0.258819, -0.991445, 0.130526,
-1.000000, -0.000000, -0.991445, -0.130526, -0.965926, -0.258819,
-0.923880, -0.382683, -0.866025, -0.500000, -0.793353, -0.608762,
-0.707107, -0.707107, -0.608761, -0.793353, -0.500000, -0.866025,
-0.382683, -0.923880, -0.258819, -0.965926, -0.130526, -0.991445,
0.000000, -1.000000, 0.130526, -0.991445, 0.258819, -0.965926,
0.382684, -0.923879, 0.500000, -0.866025, 0.608762, -0.793353,
0.707107, -0.707107, 0.793353, -0.608761, 0.866026, -0.500000,
0.923880, -0.382683, 0.965926, -0.258819, 0.991445, -0.130526,
1.000000, 0.000000, 0.991445, 0.130527, 0.965926, 0.258819,
0.923879, 0.382684, 0.866025, 0.500000, 0.793353, 0.608762,
0.707107, 0.707107, 0.608761, 0.793353, 0.500000, 0.866026,
0.382683, 0.923880, 0.258819, 0.965926, 0.130526, 0.991445,
-0.000000, 1.000000, -0.130526, 0.991445, -0.258819, 0.965926,
-0.382684, 0.923879, -0.500000, 0.866025, -0.608762, 0.793353,
-0.707107, 0.707106, -0.793353, 0.608761, -0.866026, 0.500000,
-0.923880, 0.382684, -0.965926, 0.258819, -0.991445, 0.130526,
-1.000000, -0.000000, -0.991445, -0.130527, -0.965926, -0.258819,
-0.923879, -0.382684, -0.866025, -0.500000, -0.793353, -0.608762,
-0.707107, -0.707107, -0.608761, -0.793353, -0.500000, -0.866025,
-0.382683, -0.923880, -0.258819, -0.965926, -0.130526, -0.991445,
0.000000, -1.000000, 0.130526, -0.991445, 0.258819, -0.965926,
0.382684, -0.923880, 0.500000, -0.866025, 0.608762, -0.793353,
0.707107, -0.707107, 0.793354, -0.608761, 0.866026, -0.500000,
0.923880, -0.382683, 0.965926, -0.258819, 0.991445, -0.130526,
1.000000, 0.000000, 0.991445, 0.130526, 0.965926, 0.258820,
0.923879, 0.382684, 0.866025, 0.500000, 0.793353, 0.608761,
0.707107, 0.707107, 0.608761, 0.793354, 0.500000, 0.866025,
0.382683, 0.923880, 0.258819, 0.965926, 0.130526, 0.991445,
-0.000000, 1.000000, -0.130527, 0.991445, -0.258819, 0.965926,
-0.382684, 0.923879, -0.500000, 0.866025, -0.608762, 0.793353,
-0.707107, 0.707107, -0.793354, 0.608761, -0.866026, 0.499999,
-0.923880, 0.382683, -0.965926, 0.258819, -0.991445, 0.130526,
-1.000000, -0.000001, -0.991445, -0.130527, -0.965926, -0.258819,
-0.923879, -0.382683, -0.866025, -0.500000, -0.793353, -0.608762,
-0.707106, -0.707107, -0.608761, -0.793354
};
const FLOAT32 hbe_x_prod_cos_table_trans_4[(128+128)*2]=
{
/*For Up Sampling Factor not equal to 4*/
1.000000, 0.000000, 0.923880, 0.382683, 0.707107, 0.707107,
0.382683, 0.923880, -0.000000, 1.000000, -0.382683, 0.923880,
-0.707107, 0.707107, -0.923880, 0.382683, -1.000000, -0.000000,
-0.923880, -0.382683, -0.707107, -0.707107, -0.382683, -0.923880,
0.000000, -1.000000, 0.382684, -0.923879, 0.707107, -0.707107,
0.923880, -0.382683, 1.000000, 0.000000, 0.923879, 0.382684,
0.707107, 0.707107, 0.382683, 0.923880, -0.000000, 1.000000,
-0.382684, 0.923879, -0.707107, 0.707106, -0.923880, 0.382684,
-1.000000, -0.000000, -0.923879, -0.382684, -0.707107, -0.707107,
-0.382683, -0.923880, 0.000000, -1.000000, 0.382684, -0.923880,
0.707107, -0.707107, 0.923880, -0.382683, 1.000000, 0.000000,
0.923879, 0.382684, 0.707107, 0.707107, 0.382683, 0.923880,
-0.000000, 1.000000, -0.382684, 0.923879, -0.707107, 0.707107,
-0.923880, 0.382683, -1.000000, -0.000001, -0.923879, -0.382683,
-0.707106, -0.707107, -0.382683, -0.923880, 0.000000, -1.000000,
0.382684, -0.923879, 0.707107, -0.707107, 0.923880, -0.382683,
1.000000, 0.000000, 0.923879, 0.382684, 0.707106, 0.707107,
0.382683, 0.923880, -0.000001, 1.000000, -0.382684, 0.923880,
-0.707107, 0.707106, -0.923880, 0.382683, -1.000000, -0.000001,
-0.923879, -0.382684, -0.707106, -0.707107, -0.382683, -0.923880,
0.000001, -1.000000, 0.382684, -0.923879, 0.707107, -0.707107,
0.923880, -0.382682, 1.000000, 0.000001, 0.923879, 0.382683,
0.707106, 0.707107, 0.382683, 0.923880, -0.000001, 1.000000,
-0.382684, 0.923879, -0.707107, 0.707106, -0.923880, 0.382683,
-1.000000, -0.000000, -0.923879, -0.382685, -0.707106, -0.707107,
-0.382683, -0.923880, 0.000001, -1.000000, 0.382684, -0.923880,
0.707107, -0.707106, 0.923880, -0.382683, 1.000000, 0.000001,
0.923879, 0.382684, 0.707106, 0.707107, 0.382683, 0.923880,
-0.000001, 1.000000, -0.382684, 0.923880, -0.707107, 0.707106,
-0.923880, 0.382682, -1.000000, -0.000003, -0.923879, -0.382683,
-0.707106, -0.707108, -0.382683, -0.923880, 0.000001, -1.000000,
0.382684, -0.923879, 0.707107, -0.707106, 0.923880, -0.382681,
1.000000, 0.000000, 0.923879, 0.382685, 0.707106, 0.707108,
0.382682, 0.923879, -0.000001, 1.000000, -0.382684, 0.923879,
-0.707108, 0.707105, -0.923880, 0.382683, -1.000000, -0.000001,
-0.923879, -0.382686, -0.707106, -0.707107, -0.382682, -0.923880,
0.000001, -1.000000, 0.382685, -0.923880, 0.707108, -0.707106,
0.923880, -0.382682, 1.000000, 0.000003, 0.923879, 0.382683,
0.707106, 0.707108, 0.382682, 0.923880, -0.000001, 1.000000,
-0.382685, 0.923879, -0.707108, 0.707106, -0.923880, 0.382681,
-1.000000, -0.000000, -0.923879, -0.382685, -0.707106, -0.707108,
-0.382682, -0.923879, 0.000001, -1.000000, 0.382685, -0.923879,
0.707108, -0.707105, 0.923880, -0.382683
/*For Up Sampling Factor equal to 4*/
1.000000, 0.000000, 0.980785, 0.195090, 0.923880, 0.382683,
0.831470, 0.555570, 0.707107, 0.707107, 0.555570, 0.831470,
0.382683, 0.923880, 0.195090, 0.980785, -0.000000, 1.000000,
-0.195090, 0.980785, -0.382683, 0.923880, -0.555570, 0.831470,
-0.707107, 0.707107, -0.831470, 0.555570, -0.923880, 0.382683,
-0.980785, 0.195090, -1.000000, -0.000000, -0.980785, -0.195090,
-0.923880, -0.382683, -0.831470, -0.555570, -0.707107, -0.707107,
-0.555570, -0.831470, -0.382683, -0.923880, -0.195090, -0.980785,
0.000000, -1.000000, 0.195090, -0.980785, 0.382684, -0.923879,
0.555570, -0.831469, 0.707107, -0.707107, 0.831470, -0.555570,
0.923880, -0.382683, 0.980785, -0.195090, 1.000000, 0.000000,
0.980785, 0.195091, 0.923879, 0.382684, 0.831470, 0.555571,
0.707107, 0.707107, 0.555570, 0.831470, 0.382683, 0.923880,
0.195090, 0.980785, -0.000000, 1.000000, -0.195091, 0.980785,
-0.382684, 0.923879, -0.555570, 0.831470, -0.707107, 0.707106,
-0.831470, 0.555570, -0.923880, 0.382684, -0.980785, 0.195090,
-1.000000, -0.000000, -0.980785, -0.195091, -0.923879, -0.382684,
-0.831469, -0.555571, -0.707107, -0.707107, -0.555570, -0.831470,
-0.382683, -0.923880, -0.195090, -0.980785, 0.000000, -1.000000,
0.195091, -0.980785, 0.382684, -0.923880, 0.555570, -0.831469,
0.707107, -0.707107, 0.831470, -0.555570, 0.923880, -0.382683,
0.980785, -0.195090, 1.000000, 0.000000, 0.980785, 0.195090,
0.923879, 0.382684, 0.831469, 0.555570, 0.707107, 0.707107,
0.555570, 0.831470, 0.382683, 0.923880, 0.195090, 0.980785,
-0.000000, 1.000000, -0.195091, 0.980785, -0.382684, 0.923879,
-0.555571, 0.831469, -0.707107, 0.707107, -0.831470, 0.555570,
-0.923880, 0.382683, -0.980785, 0.195090, -1.000000, -0.000001,
-0.980785, -0.195091, -0.923879, -0.382683, -0.831469, -0.555571,
-0.707106, -0.707107, -0.555570, -0.831469, -0.382683, -0.923880,
-0.195090, -0.980785, 0.000000, -1.000000, 0.195091, -0.980785,
0.382684, -0.923879, 0.555571, -0.831469, 0.707107, -0.707107,
0.831470, -0.555570, 0.923880, -0.382683, 0.980785, -0.195089,
1.000000, 0.000000, 0.980785, 0.195091, 0.923879, 0.382684,
0.831469, 0.555570, 0.707106, 0.707107, 0.555570, 0.831470,
0.382683, 0.923880, 0.195090, 0.980785, -0.000001, 1.000000,
-0.195091, 0.980785, -0.382684, 0.923880, -0.555571, 0.831469,
-0.707107, 0.707106, -0.831470, 0.555571, -0.923880, 0.382683,
-0.980785, 0.195090, -1.000000, -0.000001, -0.980785, -0.195090,
-0.923879, -0.382684, -0.831469, -0.555571, -0.707106, -0.707107,
-0.555570, -0.831470, -0.382683, -0.923880, -0.195090, -0.980786,
0.000001, -1.000000, 0.195091, -0.980785, 0.382684, -0.923879,
0.555571, -0.831470, 0.707107, -0.707107, 0.831470, -0.555569,
0.923880, -0.382682, 0.980785, -0.195090
};
const FLOAT32 hbe_x_prod_cos_table_trans_4_1[2*(128+128)]=
{
/*For Up Sampling Factor not equal to 4*/
1.000000, 0.000000, 0.965926, 0.258819, 0.866025, 0.500000,
0.707107, 0.707107, 0.500000, 0.866025, 0.258819, 0.965926,
-0.000000, 1.000000, -0.258819, 0.965926, -0.500000, 0.866025,
-0.707107, 0.707107, -0.866025, 0.500000, -0.965926, 0.258819,
-1.000000, -0.000000, -0.965926, -0.258819, -0.866025, -0.500000,
-0.707107, -0.707107, -0.500000, -0.866025, -0.258819, -0.965926,
0.000000, -1.000000, 0.258819, -0.965926, 0.500000, -0.866025,
0.707107, -0.707107, 0.866026, -0.500000, 0.965926, -0.258819,
1.000000, 0.000000, 0.965926, 0.258819, 0.866025, 0.500000,
0.707107, 0.707107, 0.500000, 0.866026, 0.258819, 0.965926,
-0.000000, 1.000000, -0.258819, 0.965926, -0.500000, 0.866025,
-0.707107, 0.707106, -0.866026, 0.500000, -0.965926, 0.258819,
-1.000000, -0.000000, -0.965926, -0.258819, -0.866025, -0.500000,
-0.707107, -0.707107, -0.500000, -0.866025, -0.258819, -0.965926,
0.000000, -1.000000, 0.258819, -0.965926, 0.500000, -0.866025,
0.707107, -0.707107, 0.866026, -0.500000, 0.965926, -0.258819,
1.000000, 0.000000, 0.965926, 0.258820, 0.866025, 0.500000,
0.707107, 0.707107, 0.500000, 0.866025, 0.258819, 0.965926,
-0.000000, 1.000000, -0.258819, 0.965926, -0.500000, 0.866025,
-0.707107, 0.707107, -0.866026, 0.499999, -0.965926, 0.258819,
-1.000000, -0.000001, -0.965926, -0.258819, -0.866025, -0.500000,
-0.707106, -0.707107, -0.500000, -0.866026, -0.258819, -0.965926,
0.000000, -1.000000, 0.258820, -0.965926, 0.500000, -0.866025,
0.707107, -0.707107, 0.866026, -0.499999, 0.965926, -0.258818,
1.000000, 0.000000, 0.965926, 0.258820, 0.866025, 0.500001,
0.707106, 0.707107, 0.500000, 0.866025, 0.258819, 0.965926,
-0.000001, 1.000000, -0.258820, 0.965926, -0.500000, 0.866026,
-0.707107, 0.707106, -0.866026, 0.500000, -0.965926, 0.258819,
-1.000000, -0.000001, -0.965926, -0.258820, -0.866025, -0.500000,
-0.707106, -0.707107, -0.499999, -0.866026, -0.258818, -0.965926,
0.000001, -1.000000, 0.258820, -0.965925, 0.500001, -0.866025,
0.707107, -0.707107, 0.866026, -0.500000, 0.965926, -0.258818,
1.000000, 0.000001, 0.965926, 0.258819, 0.866025, 0.500001,
0.707106, 0.707107, 0.499999, 0.866026, 0.258818, 0.965926,
-0.000001, 1.000000, -0.258820, 0.965926, -0.500001, 0.866025,
-0.707107, 0.707106, -0.866026, 0.499999, -0.965926, 0.258818,
-1.000000, -0.000000, -0.965926, -0.258820, -0.866025, -0.500001,
-0.707106, -0.707107, -0.499999, -0.866026, -0.258818, -0.965926,
0.000001, -1.000000, 0.258820, -0.965926, 0.500001, -0.866025,
0.707107, -0.707106, 0.866026, -0.500000, 0.965926, -0.258819,
1.000000, 0.000001, 0.965926, 0.258820, 0.866025, 0.500000,
0.707106, 0.707107, 0.499999, 0.866025, 0.258818, 0.965926,
-0.000001, 1.000000, -0.258820, 0.965925
/*For Up Sampling Factor equal to 4*/
1.000000, 0.000000, 0.991445, 0.130526, 0.965926, 0.258819,
0.923880, 0.382683, 0.866025, 0.500000, 0.793353, 0.608761,
0.707107, 0.707107, 0.608761, 0.793353, 0.500000, 0.866025,
0.382683, 0.923880, 0.258819, 0.965926, 0.130526, 0.991445,
-0.000000, 1.000000, -0.130526, 0.991445, -0.258819, 0.965926,
-0.382683, 0.923880, -0.500000, 0.866025, -0.608761, 0.793353,
-0.707107, 0.707107, -0.793353, 0.608761, -0.866025, 0.500000,
-0.923880, 0.382683, -0.965926, 0.258819, -0.991445, 0.130526,
-1.000000, -0.000000, -0.991445, -0.130526, -0.965926, -0.258819,
-0.923880, -0.382683, -0.866025, -0.500000, -0.793353, -0.608762,
-0.707107, -0.707107, -0.608761, -0.793353, -0.500000, -0.866025,
-0.382683, -0.923880, -0.258819, -0.965926, -0.130526, -0.991445,
0.000000, -1.000000, 0.130526, -0.991445, 0.258819, -0.965926,
0.382684, -0.923879, 0.500000, -0.866025, 0.608762, -0.793353,
0.707107, -0.707107, 0.793353, -0.608761, 0.866026, -0.500000,
0.923880, -0.382683, 0.965926, -0.258819, 0.991445, -0.130526,
1.000000, 0.000000, 0.991445, 0.130527, 0.965926, 0.258819,
0.923879, 0.382684, 0.866025, 0.500000, 0.793353, 0.608762,
0.707107, 0.707107, 0.608761, 0.793353, 0.500000, 0.866026,
0.382683, 0.923880, 0.258819, 0.965926, 0.130526, 0.991445,
-0.000000, 1.000000, -0.130526, 0.991445, -0.258819, 0.965926,
-0.382684, 0.923879, -0.500000, 0.866025, -0.608762, 0.793353,
-0.707107, 0.707106, -0.793353, 0.608761, -0.866026, 0.500000,
-0.923880, 0.382684, -0.965926, 0.258819, -0.991445, 0.130526,
-1.000000, -0.000000, -0.991445, -0.130527, -0.965926, -0.258819,
-0.923879, -0.382684, -0.866025, -0.500000, -0.793353, -0.608762,
-0.707107, -0.707107, -0.608761, -0.793353, -0.500000, -0.866025,
-0.382683, -0.923880, -0.258819, -0.965926, -0.130526, -0.991445,
0.000000, -1.000000, 0.130526, -0.991445, 0.258819, -0.965926,
0.382684, -0.923880, 0.500000, -0.866025, 0.608762, -0.793353,
0.707107, -0.707107, 0.793354, -0.608761, 0.866026, -0.500000,
0.923880, -0.382683, 0.965926, -0.258819, 0.991445, -0.130526,
1.000000, 0.000000, 0.991445, 0.130526, 0.965926, 0.258820,
0.923879, 0.382684, 0.866025, 0.500000, 0.793353, 0.608761,
0.707107, 0.707107, 0.608761, 0.793354, 0.500000, 0.866025,
0.382683, 0.923880, 0.258819, 0.965926, 0.130526, 0.991445,
-0.000000, 1.000000, -0.130527, 0.991445, -0.258819, 0.965926,
-0.382684, 0.923879, -0.500000, 0.866025, -0.608762, 0.793353,
-0.707107, 0.707107, -0.793354, 0.608761, -0.866026, 0.499999,
-0.923880, 0.382683, -0.965926, 0.258819, -0.991445, 0.130526,
-1.000000, -0.000001, -0.991445, -0.130527, -0.965926, -0.258819,
-0.923879, -0.382683, -0.866025, -0.500000, -0.793353, -0.608762,
-0.707106, -0.707107, -0.608761, -0.793354
};
【0082】
纏めると、以上は、QMFに基づく高調波トランスポーザーが入力信号のサブバンドからサンプルを抽出して、抽出したサンプルのペアについてクロス乗積利得値を取得し、クロス乗積利得値を抽出したサンプルのそれぞれのペアに適用するよう構成される、(特に、QMF高調波トランスポーザーを含む)上述のような符号化されたUSACストリームを復号する機器の処理に対応してよい。予め計算された情報は、クロス乗積利得値に関連してよい。クロス乗積利得値は、クロス乗積利得式の係数に基づきオフラインで決定され、1つ以上のルックアップテーブルに格納されてよい。QMFに基づく高調波トランスポーザーは、実行時に1つ以上のルックアップテーブルからのクロス乗積利得値にアクセスするよう構成されてよい。
【0083】
QMFトランスポーザーは、QMFクリティカルサンプリング処理のためのサブサンプリングされたフィルタバンクを含んでよい。QMFクリティカルサンプリング処理のためのこのようなサブサンプリングされたフィルタバンクは、例えば、参照により全体がここに組み込まれるUSAC標準のclause7.5.4.2に記載されている。トランスポーザーのソース範囲をカバーするサブバンドの部分集合は、小さなサブサンプリングされた実数値のQMFバンクにより時間ドメインに合成されてよい。このフィルタバンクからの時間ドメイン出力は、フィルタバンクサイズの2倍の複素数分析QMFバンクに供給される。このアプローチは、関連するソース範囲だけが2倍の周波数解像度を有するQMFサブバンドドメインに変換されるので、計算上の複雑さを実質的に低減できる。小さなQMFバンクは、元の64帯域QMFバンクのサブサンプリングにより取得される。ここで、プロトタイプフィルタ係数は、元のプロトタイプフィルタの線形補間により取得される。
【0084】
QMF
トランスポーザーは、実数値のサブサンプリングされたM
Sチャネル合成フィルタバンクを含んでよい。QMF
トランスポーザーの実数値のサブサンプリングされたM
Sチャネル合成フィルタバンクは、例えばUSAC標準のclause7.5.4.2.2に記載されている。この節(clause)は、参照することによりその全体がここに組み込まれる。フィルタバンクでは、M
S個の実数値のサブサンプル集合が、次式に従い、M
S個の新しい複素数値サブバンドサンプルから計算されてよい。
【数18】
【0085】
上式で、exp()は、複素指数関数を表し、iは虚数単位である。kLは、サブサンプリングされた合成フィルタバンクに入るための、QMFバンク(例えば、32バンドQMFバンク)からの第1チャネルのサブバンドインデックス、つまり開始帯域を表す。coreCoderFrameLength=768個のサンプルがあり、およびkL+MS>24のとき、kLはkL=24-MSのように計算される。
【0086】
複素フィルタ係数(つまり、複素指数)を決定する式は、実行時の前に(例えば予め計算された)複素係数を導出するためにオフラインで実施されてよい。実行時に、予め計算された複素係数は、計算することなく、必要に応じて参照されてよい。例えば、複素係数は、1つ以上のルックアップテーブルから取得され(例えば、読み出され、検索され)てよい。ルックアップテーブル内複素係数の実際の構成は、デコーダが適切な複素係数を実行時に読み出すルーチンを提供される限り、変化してよい。
【0087】
例えば、QMFバンクにおいて実数値のサブサンプリングされたMSチャネル合成を決定する処理において、上述の複素係数(つまり、複素指数)は、ルックアップテーブルに基づき決定されてよい。この表の中の奇数でインデックス付けされた値は、サイン(sine)(複素数値の虚数成分)に対応してよく、偶数でインデックス付けされた値は、コサイン(cosine)(複素数値の実数成分)に対応してよい。異なる表が、異なる開始帯域kLのために設けられてよい。
【0088】
例えば、ルックアップテーブルは、(MS=32について)以下のように与えられてよい。
const FLOAT32 cos_tab_trans_qmf[7][32*2]=
{
/*ifstartbandis0*/
{
-0.698376249409f, 0.715730825284f, 0.732654271672f, 0.680600997795f, 0.662415777590f, -0.749136394523f, -0.765167265622f, -0.643831542890f,
-0.624859488142f, 0.780737228572f, 0.795836904609f, 0.605511041404f, 0.585797857456f, -0.810457198253f, -0.824589302785f, -0.565731810784f,
-0.545324988422f, 0.838224705555f, 0.851355193105f, 0.524589682678f, 0.503538383726f, -0.863972856122f, -0.876070094195f, -0.482183772079f,
-0.460538710958f, 0.887639620403f, 0.898674465694f, 0.438616238539f, 0.416429560098f, -0.909167983091f, -0.919113851690f, -0.393992040061f,
-0.371317193952f, 0.928506080473f, 0.937339011913f, 0.348418680249f, 0.325310292162f, -0.945607325381f, -0.953306040354f, -0.302005949319f,
-0.278519689385f, 0.960430519416f, 0.966976471045f, 0.254865659605f, 0.231058108281f, -0.972939952206f, -0.978317370720f, -0.207111376192f,
-0.183039887955f, 0.983105487431f, 0.987301418158f, 0.158858143334f, 0.134580708507f, -0.990902635428f, -0.993906970002f, -0.110222207294f,
-0.085797312344f, 0.996312612183f, 0.998118112900f, 0.061320736302f, 0.036807222941f, -0.999322384588f, -0.999924701839f, -0.012271538286f,
},
/*if startband is 2*/
{
-0.662415777590f, 0.749136394523f, 0.765167265622f, 0.643831542890f, 0.624859488142f, -0.780737228572f, -0.795836904609f, -0.605511041404f,
-0.585797857456f, 0.810457198253f, 0.824589302785f, 0.565731810784f, 0.545324988422f, -0.838224705555f, -0.851355193105f, -0.524589682678f,
-0.503538383726f, 0.863972856122f, 0.876070094195f, 0.482183772079f, 0.460538710958f, -0.887639620403f, -0.898674465694f, -0.438616238539f,
-0.416429560098f, 0.909167983091f, 0.919113851690f, 0.393992040061f, 0.371317193952f, -0.928506080473f, -0.937339011913f, -0.348418680249f,
-0.325310292162f, 0.945607325381f, 0.953306040354f, 0.302005949319f, 0.278519689385f, -0.960430519416f, -0.966976471045f, -0.254865659605f,
-0.231058108281f, 0.972939952206f, 0.978317370720f, 0.207111376192f, 0.183039887955f, -0.983105487431f, -0.987301418158f, -0.158858143334f,
-0.134580708507f, 0.990902635428f, 0.993906970002f, 0.110222207294f, 0.085797312344f, -0.996312612183f, -0.998118112900f, -0.061320736302f,
-0.036807222941f, 0.999322384588f, 0.999924701839f, 0.012271538286f, -0.012271538286f, -0.999924701839f, -0.999322384588f, 0.036807222941f,
},
/*if startband is 4*/
{
-0.624859488142f, 0.780737228572f, 0.795836904609f, 0.605511041404f, 0.585797857456f, -0.810457198253f, -0.824589302785f, -0.565731810784f,
-0.545324988422f, 0.838224705555f, 0.851355193105f, 0.524589682678f, 0.503538383726f, -0.863972856122f, -0.876070094195f, -0.482183772079f,
-0.460538710958f, 0.887639620403f, 0.898674465694f, 0.438616238539f, 0.416429560098f, -0.909167983091f, -0.919113851690f, -0.393992040061f,
-0.371317193952f, 0.928506080473f, 0.937339011913f, 0.348418680249f, 0.325310292162f, -0.945607325381f, -0.953306040354f, -0.302005949319f,
-0.278519689385f, 0.960430519416f, 0.966976471045f, 0.254865659605f, 0.231058108281f, -0.972939952206f, -0.978317370720f, -0.207111376192f,
-0.183039887955f, 0.983105487431f, 0.987301418158f, 0.158858143334f, 0.134580708507f, -0.990902635428f, -0.993906970002f, -0.110222207294f,
-0.085797312344f, 0.996312612183f, 0.998118112900f, 0.061320736302f, 0.036807222941f, -0.999322384588f, -0.999924701839f, -0.012271538286f,
0.012271538286f, 0.999924701839f, 0.999322384588f, -0.036807222941f, -0.061320736302f, -0.998118112900f, -0.996312612183f, 0.085797312344f,
},
/*if startband is 6*/
{
-0.585797857456f, 0.810457198253f, 0.824589302785f, 0.565731810784f, 0.545324988422f, -0.838224705555f, -0.851355193105f, -0.524589682678f,
-0.503538383726f, 0.863972856122f, 0.876070094195f, 0.482183772079f, 0.460538710958f, -0.887639620403f, -0.898674465694f, -0.438616238539f,
-0.416429560098f, 0.909167983091f, 0.919113851690f, 0.393992040061f, 0.371317193952f, -0.928506080473f, -0.937339011913f, -0.348418680249f,
-0.325310292162f, 0.945607325381f, 0.953306040354f, 0.302005949319f, 0.278519689385f, -0.960430519416f, -0.966976471045f, -0.254865659605f,
-0.231058108281f, 0.972939952206f, 0.978317370720f, 0.207111376192f, 0.183039887955f, -0.983105487431f, -0.987301418158f, -0.158858143334f,
-0.134580708507f, 0.990902635428f, 0.993906970002f, 0.110222207294f, 0.085797312344f, -0.996312612183f, -0.998118112900f, -0.061320736302f,
-0.036807222941f, 0.999322384588f, 0.999924701839f, 0.012271538286f, -0.012271538286f, -0.999924701839f, -0.999322384588f, 0.036807222941f,
0.061320736302f, 0.998118112900f, 0.996312612183f, -0.085797312344f, -0.110222207294f, -0.993906970002f, -0.990902635428f, 0.134580708507f,
},
/*if startband is 8*/
{
-0.545324988422f, 0.838224705555f, 0.851355193105f, 0.524589682678f, 0.503538383726f, -0.863972856122f, -0.876070094195f, -0.482183772079f,
-0.460538710958f, 0.887639620403f, 0.898674465694f, 0.438616238539f, 0.416429560098f, -0.909167983091f, -0.919113851690f, -0.393992040061f,
-0.371317193952f, 0.928506080473f, 0.937339011913f, 0.348418680249f, 0.325310292162f, -0.945607325381f, -0.953306040354f, -0.302005949319f,
-0.278519689385f, 0.960430519416f, 0.966976471045f, 0.254865659605f, 0.231058108281f, -0.972939952206f, -0.978317370720f, -0.207111376192f,
-0.183039887955f, 0.983105487431f, 0.987301418158f, 0.158858143334f, 0.134580708507f, -0.990902635428f, -0.993906970002f, -0.110222207294f,
-0.085797312344f, 0.996312612183f, 0.998118112900f, 0.061320736302f, 0.036807222941f, -0.999322384588f, -0.999924701839f, -0.012271538286f,
0.012271538286f, 0.999924701839f, 0.999322384588f, -0.036807222941f, -0.061320736302f, -0.998118112900f, -0.996312612183f, 0.085797312344f,
0.110222207294f, 0.993906970002f, 0.990902635428f, -0.134580708507f, -0.158858143334f, -0.987301418158f, -0.983105487431f, 0.183039887955f,
},
/*if startband is 10*/
{
-0.503538383726f, 0.863972856122f, 0.876070094195f, 0.482183772079f, 0.460538710958f, -0.887639620403f, -0.898674465694f, -0.438616238539f,
-0.416429560098f, 0.909167983091f, 0.919113851690f, 0.393992040061f, 0.371317193952f, -0.928506080473f, -0.937339011913f, -0.348418680249f,
-0.325310292162f, 0.945607325381f, 0.953306040354f, 0.302005949319f, 0.278519689385f, -0.960430519416f, -0.966976471045f, -0.254865659605f,
-0.231058108281f, 0.972939952206f, 0.978317370720f, 0.207111376192f, 0.183039887955f, -0.983105487431f, -0.987301418158f, -0.158858143334f,
-0.134580708507f, 0.990902635428f, 0.993906970002f, 0.110222207294f, 0.085797312344f, -0.996312612183f, -0.998118112900f, -0.061320736302f,
-0.036807222941f, 0.999322384588f, 0.999924701839f, 0.012271538286f, -0.012271538286f, -0.999924701839f, -0.999322384588f, 0.036807222941f,
0.061320736302f, 0.998118112900f, 0.996312612183f, -0.085797312344f, -0.110222207294f, -0.993906970002f, -0.990902635428f, 0.134580708507f,
0.158858143334f, 0.987301418158f, 0.983105487431f, -0.183039887955f, -0.207111376192f, -0.978317370720f, -0.972939952206f, 0.231058108281f,
},
/*if startband is 12*/
{
-0.460538710958f, 0.887639620403f, 0.898674465694f, 0.438616238539f, 0.416429560098f, -0.909167983091f, -0.919113851690f, -0.393992040061f,
-0.371317193952f, 0.928506080473f, 0.937339011913f, 0.348418680249f, 0.325310292162f, -0.945607325381f, -0.953306040354f, -0.302005949319f,
-0.278519689385f, 0.960430519416f, 0.966976471045f, 0.254865659605f, 0.231058108281f, -0.972939952206f, -0.978317370720f, -0.207111376192f,
-0.183039887955f, 0.983105487431f, 0.987301418158f, 0.158858143334f, 0.134580708507f, -0.990902635428f, -0.993906970002f, -0.110222207294f,
-0.085797312344f, 0.996312612183f, 0.998118112900f, 0.061320736302f, 0.036807222941f, -0.999322384588f, -0.999924701839f, -0.012271538286f,
0.012271538286f, 0.999924701839f, 0.999322384588f, -0.036807222941f, -0.061320736302f, -0.998118112900f, -0.996312612183f, 0.085797312344f,
0.110222207294f, 0.993906970002f, 0.990902635428f, -0.134580708507f, -0.158858143334f, -0.987301418158f, -0.983105487431f, 0.183039887955f,
0.207111376192f, 0.978317370720f, 0.972939952206f, -0.231058108281f, -0.254865659605f, -0.966976471045f, -0.960430519416f, 0.278519689385f,
}
};
【0089】
纏めると、以上は、QMFに基づく高調波トランスポーザーが、MS個の新しい複素数値のサブバンドサンプルの集合から、MS個の実数値のサブバンドサンプルの集合を計算するよう構成された実数値のMSチャネル合成フィルタバンクを有し得る、(特にQMF高調波トランスポーザーを含む)上述のような符号化されたUSACストリームを復号する機器の処理に対応してよい。各々の実数値のサブバンドサンプルおよび各々の新しい複素数値のサブバンドサンプルは、MS個のサブバンドの中のそれぞれのサブバンドに関連付けられてよい。MS個の新しい複素数値のサブバンドサンプルの集合から、MS個の実数値のサブバンドサンプルの集合を計算することは、MS個の新しい複素数値のサブバンドサンプルの各々について、該新しい複素数値のサブバンドサンプルにそれぞれの複素指数を適用し、その実数部を取り入れることを含んでよい。それぞれの複素指数は、新しい複素数値のサブバンドサンプルのサブバンドインデックスに依存してよい。予め計算された情報は、MS個のサブバンドの複素指数に関連してよい。複素指数は、オフラインで決定され、1つ以上のルックアップテーブルに格納されてよい。QMFに基づく高調波トランスポーザーは、実行時に1つ以上のルックアップテーブルからの複素指数にアクセスするよう構成されてよい。
【0090】
さらに、QMF
トランスポーザーの実数値のサブバンドサンプリングされたM
Sチャネル合成フィルタバンクでは、配列νの中のサンプルは、2M
S個の位置だけシフトされてよい。最も古い2M
S個のサンプルは廃棄されてよい。M
S個の実数値のサブバンドサンプルは、行列Nにより乗算されてよい。つまり、行列ベクトル積N・Vが計算され、行列Nのエントリは次式により与えられる:
【数19】
【0091】
行列N(つまり、そのエントリ)は、実行時の前に、MSの全ての可能な値について(オフラインで)予め計算されてよい。実行時に、予め計算された行列N(つまり、それらのエントリ)は、計算することなく、必要に応じて参照されてよい。例えば、行列Nは、1つ以上のルックアップテーブルから取得され(例えば、読み出され、検索され)てよい。行列N(のエントリ)の実際の構成は、デコーダが適切な行列(エントリ)を実行時に読み出すルーチンを提供される限り、変化してよい。
【0092】
例えば、MSの全ての可能な値(例えば、MS=4,8,12,16,20)について行列Nのエントリは、予め計算され、以下の表に格納されてよい。
synth_cos_tab_kl_4, synth_cos_tab_kl_8, synth_cos_tab_kl_12, synth_cos_tab_kl_16, synth_cos_tab_kl_20
ここで、
const FLOAT32 synth_cos_tab_kl_4 [8*4]=
{
0.176777f, -0.176777f, -0.176777f, 0.176777f,
0.230970f, 0.095671f, -0.095671f, -0.230970f,
0.250000f, 0.250000f, 0.250000f, 0.250000f,
0.230970f, 0.095671f, -0.095671f, -0.230970f,
0.176777f, -0.176777f, -0.176777f, 0.176777f,
0.095671f, -0.230970f, 0.230970f, -0.095671f,
0.000000f, -0.000000f, 0.000000f, -0.000000f,
-0.095671f, 0.230970f, -0.230970f, 0.095671f,
};
constFLOAT32synth_cos_tab_kl_8[16*8]={
0.088388f, -0.088388f, -0.088388f, 0.088388f,
0.088388f, -0.088388f, -0.088388f, 0.088388f,
0.103934f, -0.024386f, -0.122598f, -0.069446f,
0.069446f, 0.122598f, 0.024386f, -0.103934f,
0.115485f, 0.047835f, -0.047835f, -0.115485f,
-0.115485f, -0.047835f, 0.047835f, 0.115485f,
0.122598f, 0.103934f, 0.069446f, 0.024386f,
-0.024386f, -0.069446f, -0.103934f, -0.122598f,
0.125000f, 0.125000f, 0.125000f, 0.125000f,
0.125000f, 0.125000f, 0.125000f, 0.125000f,
0.122598f, 0.103934f, 0.069446f, 0.024386f,
-0.024386f, -0.069446f, -0.103934f, -0.122598f,
0.115485f, 0.047835f, -0.047835f, -0.115485f,
-0.115485f, -0.047835f, 0.047835f, 0.115485f,
0.103934f, -0.024386f, -0.122598f, -0.069446f,
0.069446f, 0.122598f, 0.024386f, -0.103934f,
0.088388f, -0.088388f, -0.088388f, 0.088388f,
0.088388f, -0.088388f, -0.088388f, 0.088388f,
0.069446f, -0.122598f, 0.024386f, 0.103934f,
-0.103934f, -0.024386f, 0.122598f, -0.069446f,
0.047835f, -0.115485f, 0.115485f, -0.047835f,
-0.047835f, 0.115485f, -0.115485f, 0.047835f,
0.024386f, -0.069446f, 0.103934f, -0.122598f,
0.122598f, -0.103934f, 0.069446f, -0.024386f,
0.000000f, -0.000000f, 0.000000f, -0.000000f,
0.000000f, -0.000000f, -0.000000f, -0.000000f,
-0.024386f, 0.069446f, -0.103934f, 0.122598f,
-0.122598f, 0.103934f, -0.069446f, 0.024386f,
-0.047835f, 0.115485f, -0.115485f, 0.047835f,
0.047835f, -0.115485f, 0.115485f, -0.047835f,
-0.069446f, 0.122598f, -0.024386f, -0.103934f,
0.103934f, 0.024386f, -0.122598f, 0.069446f,
};
const FLOAT32 synth_cos_tab_kl_12 [24*12]={
0.058926f, -0.058926f, -0.058926f, 0.058926f,
0.058926f, -0.058926f, -0.058926f, 0.058926f,
0.058926f, -0.058926f, -0.058926f, 0.058926f,
0.066113f, -0.031890f, -0.082620f, -0.010877f,
0.076990f, 0.050730f, -0.050730f, -0.076990f,
0.010877f, 0.082620f, 0.031890f, -0.066113f,
0.072169f, -0.000000f, -0.072169f, -0.072169f,
0.000000f, 0.072169f, 0.072169f, -0.000000f,
-0.072169f, -0.072169f, 0.000000f, 0.072169f,
0.076990f, 0.031890f, -0.031890f, -0.076990f,
-0.076990f, -0.031890f, 0.031890f, 0.076990f,
0.076990f, 0.031890f, -0.031890f, -0.076990f,
0.080494f, 0.058926f, 0.021568f, -0.021568f,
-0.058926f, -0.080494f, -0.080494f, -0.058926f,
-0.021568f, 0.021568f, 0.058926f, 0.080494f,
0.082620f, 0.076990f, 0.066113f, 0.050730f,
0.031890f, 0.010877f, -0.010877f, -0.031890f,
-0.050730f, -0.066113f, -0.076990f, -0.082620f,
0.083333f, 0.083333f, 0.083333f, 0.083333f,
0.083333f, 0.083333f, 0.083333f, 0.083333f,
0.083333f, 0.083333f, 0.083333f, 0.083333f,
0.082620f, 0.076990f, 0.066113f, 0.050730f,
0.031890f, 0.010877f, -0.010877f, -0.031890f,
-0.050730f, -0.066113f, -0.076990f, -0.082620f,
0.080494f, 0.058926f, 0.021568f, -0.021568f,
-0.058926f, -0.080494f, -0.080494f, -0.058926f,
-0.021568f, 0.021568f, 0.058926f, 0.080494f,
0.076990f, 0.031890f, -0.031890f, -0.076990f,
-0.076990f, -0.031890f, 0.031890f, 0.076990f,
0.076990f, 0.031890f, -0.031890f, -0.076990f,
0.072169f, -0.000000f, -0.072169f, -0.072169f,
0.000000f, 0.072169f, 0.072169f, -0.000000f,
-0.072169f, -0.072169f, 0.000000f, 0.072169f,
0.066113f, -0.031890f, -0.082620f, -0.010877f,
0.076990f, 0.050730f, -0.050730f, -0.076990f,
0.010877f, 0.082620f, 0.031890f, -0.066113f,
0.058926f, -0.058926f, -0.058926f, 0.058926f,
0.058926f, -0.058926f, -0.058926f, 0.058926f,
0.058926f, -0.058926f, -0.058926f, 0.058926f,
0.050730f, -0.076990f, -0.010877f, 0.082620f,
-0.031890f, -0.066113f, 0.066113f, 0.031890f,
-0.082620f, 0.010877f, 0.076990f, -0.050730f,
0.041667f, -0.083333f, 0.041667f, 0.041667f,
-0.083333f, 0.041667f, 0.041667f, -0.083333f,
0.041667f, 0.041667f, -0.083333f, 0.041667f,
0.031890f, -0.076990f, 0.076990f, -0.031890f,
-0.031890f, 0.076990f, -0.076990f, 0.031890f,
0.031890f, -0.076990f, 0.076990f, -0.031890f,
0.021568f, -0.058926f, 0.080494f, -0.080494f,
0.058926f, -0.021568f, -0.021568f, 0.058926f,
-0.080494f, 0.080494f, -0.058926f, 0.021568f,
0.010877f, -0.031890f, 0.050730f, -0.066113f,
0.076990f, -0.082620f, 0.082620f, -0.076990f,
0.066113f, -0.050730f, 0.031890f, -0.010877f,
-0.000000f, 0.000000f, -0.000000f, 0.000000f,
-0.000000f, 0.000000f, -0.000000f, 0.000000f,
-0.000000f, 0.000000f, -0.000000f, 0.000000f,
-0.010877f, 0.031890f, -0.050730f, 0.066113f,
-0.076990f, 0.082620f, -0.082620f, 0.076990f,
-0.066113f, 0.050730f, -0.031890f, 0.010877f,
-0.021568f, 0.058926f, -0.080494f, 0.080494f,
-0.058926f, 0.021568f, 0.021568f, -0.058926f,
0.080494f, -0.080494f, 0.058926f, -0.021568f,
-0.031890f, 0.076990f, -0.076990f, 0.031890f,
0.031890f, -0.076990f, 0.076990f, -0.031890f,
-0.031890f, 0.076990f, -0.076990f, 0.031890f,
-0.041667f, 0.083333f, -0.041667f, -0.041667f,
0.083333f, -0.041667f, -0.041667f, 0.083333f,
-0.041667f, -0.041667f, 0.083333f, -0.041667f,
-0.050730f, 0.076990f, 0.010877f, -0.082620f,
0.031890f, 0.066113f, -0.066113f, -0.031890f,
0.082620f, -0.010877f, -0.076990f, 0.050730f,
};
const FLOAT32 synth_cos_tab_kl_16 [32*16]={
0.044194f, -0.044194f, -0.044194f, 0.044194f,
0.044194f, -0.044194f, -0.044194f, 0.044194f,
0.044194f, -0.044194f, -0.044194f, 0.044194f,
0.044194f, -0.044194f, -0.044194f, 0.044194f,
0.048313f, -0.029462f, -0.059809f, 0.006126f,
0.062199f, 0.018143f, -0.055120f, -0.039650f,
0.039650f, 0.055120f, -0.018143f, -0.062199f,
-0.006126f, 0.059809f, 0.029462f, -0.048313f,
0.051967f, -0.012193f, -0.061299f, -0.034723f,
0.034723f, 0.061299f, 0.012193f, -0.051967f,
-0.051967f, 0.012193f, 0.061299f, 0.034723f,
-0.034723f, -0.061299f, -0.012193f, 0.051967f,
0.055120f, 0.006126f, -0.048313f, -0.059809f,
-0.018143f, 0.039650f, 0.062199f, 0.029462f,
-0.029462f, -0.062199f, -0.039650f, 0.018143f,
0.059809f, 0.048313f, -0.006126f, -0.055120f,
0.057742f, 0.023918f, -0.023918f, -0.057742f,
-0.057742f, -0.023918f, 0.023918f, 0.057742f,
0.057742f, 0.023918f, -0.023918f, -0.057742f,
-0.057742f, -0.023918f, 0.023918f, 0.057742f,
0.059809f, 0.039650f, 0.006126f, -0.029462f,
-0.055120f, -0.062199f, -0.048313f, -0.018143f,
0.018143f, 0.048313f, 0.062199f, 0.055120f,
0.029462f, -0.006126f, -0.039650f, -0.059809f,
0.061299f, 0.051967f, 0.034723f, 0.012193f,
-0.012193f, -0.034723f, -0.051967f, -0.061299f,
-0.061299f, -0.051967f, -0.034723f, -0.012193f,
0.012193f, 0.034723f, 0.051967f, 0.061299f,
0.062199f, 0.059809f, 0.055120f, 0.048313f,
0.039650f, 0.029462f, 0.018143f, 0.006126f,
-0.006126f, -0.018143f, -0.029462f, -0.039650f,
-0.048313f, -0.055120f, -0.059809f, -0.062199f,
0.062500f, 0.062500f, 0.062500f, 0.062500f,
0.062500f, 0.062500f, 0.062500f, 0.062500f,
0.062500f, 0.062500f, 0.062500f, 0.062500f,
0.062500f, 0.062500f, 0.062500f, 0.062500f,
0.062199f, 0.059809f, 0.055120f, 0.048313f,
0.039650f, 0.029462f, 0.018143f, 0.006126f,
-0.006126f, -0.018143f, -0.029462f, -0.039650f,
-0.048313f, -0.055120f, -0.059809f, -0.062199f,
0.061299f, 0.051967f, 0.034723f, 0.012193f,
-0.012193f, -0.034723f, -0.051967f, -0.061299f,
-0.061299f, -0.051967f, -0.034723f, -0.012193f,
0.012193f, 0.034723f, 0.051967f, 0.061299f,
0.059809f, 0.039650f, 0.006126f, -0.029462f,
-0.055120f, -0.062199f, -0.048313f, -0.018143f,
0.018143f, 0.048313f, 0.062199f, 0.055120f,
0.029462f, -0.006126f, -0.039650f, -0.059809f,
0.057742f, 0.023918f, -0.023918f, -0.057742f,
-0.057742f, -0.023918f, 0.023918f, 0.057742f,
0.057742f, 0.023918f, -0.023918f, -0.057742f,
-0.057742f, -0.023918f, 0.023918f, 0.057742f,
0.055120f, 0.006126f, -0.048313f, -0.059809f,
-0.018143f, 0.039650f, 0.062199f, 0.029462f,
-0.029462f, -0.062199f, -0.039650f, 0.018143f,
0.059809f, 0.048313f, -0.006126f, -0.055120f,
0.051967f, -0.012193f, -0.061299f, -0.034723f,
0.034723f, 0.061299f, 0.012193f, -0.051967f,
-0.051967f, 0.012193f, 0.061299f, 0.034723f,
-0.034723f, -0.061299f, -0.012193f, 0.051967f,
0.048313f, -0.029462f, -0.059809f, 0.006126f,
0.062199f, 0.018143f, -0.055120f, -0.039650f,
0.039650f, 0.055120f, -0.018143f, -0.062199f,
-0.006126f, 0.059809f, 0.029462f, -0.048313f,
0.044194f, -0.044194f, -0.044194f, 0.044194f,
0.044194f, -0.044194f, -0.044194f, 0.044194f,
0.044194f, -0.044194f, -0.044194f, 0.044194f,
0.044194f, -0.044194f, -0.044194f, 0.044194f,
0.039650f, -0.055120f, -0.018143f, 0.062199f,
-0.006126f, -0.059809f, 0.029462f, 0.048313f,
-0.048313f, -0.029462f, 0.059809f, 0.006126f,
-0.062199f, 0.018143f, 0.055120f, -0.039650f,
0.034723f, -0.061299f, 0.012193f, 0.051967f,
-0.051967f, -0.012193f, 0.061299f, -0.034723f,
-0.034723f, 0.061299f, -0.012193f, -0.051967f,
0.051967f, 0.012193f, -0.061299f, 0.034723f,
0.029462f, -0.062199f, 0.039650f, 0.018143f,
-0.059809f, 0.048313f, 0.006126f, -0.055120f,
0.055120f, -0.006126f, -0.048313f, 0.059809f,
-0.018143f, -0.039650f, 0.062199f, -0.029462f,
0.023918f, -0.057742f, 0.057742f, -0.023918f,
-0.023918f, 0.057742f, -0.057742f, 0.023918f,
0.023918f, -0.057742f, 0.057742f, -0.023918f,
-0.023918f, 0.057742f, -0.057742f, 0.023918f,
0.018143f, -0.048313f, 0.062199f, -0.055120f,
0.029462f, 0.006126f, -0.039650f, 0.059809f,
-0.059809f, 0.039650f, -0.006126f, -0.029462f,
0.055120f, -0.062199f, 0.048313f, -0.018143f,
0.012193f, -0.034723f, 0.051967f, -0.061299f,
0.061299f, -0.051967f, 0.034723f, -0.012193f,
-0.012193f, 0.034723f, -0.051967f, 0.061299f,
-0.061299f, 0.051967f, -0.034723f, 0.012193f,
0.006126f, -0.018143f, 0.029462f, -0.039650f,
0.048313f, -0.055120f, 0.059809f, -0.062199f,
0.062199f, -0.059809f, 0.055120f, -0.048313f,
0.039650f, -0.029462f, 0.018143f, -0.006126f,
0.000000f, -0.000000f, 0.000000f, -0.000000f,
0.000000f, -0.000000f, -0.000000f, -0.000000f,
-0.000000f, -0.000000f, -0.000000f, -0.000000f,
-0.000000f, -0.000000f, -0.000000f, -0.000000f,
-0.006126f, 0.018143f, -0.029462f, 0.039650f,
-0.048313f, 0.055120f, -0.059809f, 0.062199f,
-0.062199f, 0.059809f, -0.055120f, 0.048313f,
-0.039650f, 0.029462f, -0.018143f, 0.006126f,
-0.012193f, 0.034723f, -0.051967f, 0.061299f,
-0.061299f, 0.051967f, -0.034723f, 0.012193f,
0.012193f, -0.034723f, 0.051967f, -0.061299f,
0.061299f, -0.051967f, 0.034723f, -0.012193f,
-0.018143f, 0.048313f, -0.062199f, 0.055120f,
-0.029462f, -0.006126f, 0.039650f, -0.059809f,
0.059809f, -0.039650f, 0.006126f, 0.029462f,
-0.055120f, 0.062199f, -0.048313f, 0.018143f,
-0.023918f, 0.057742f, -0.057742f, 0.023918f,
0.023918f, -0.057742f, 0.057742f, -0.023918f,
-0.023918f, 0.057742f, -0.057742f, 0.023918f,
0.023918f, -0.057742f, 0.057742f, -0.023918f,
-0.029462f, 0.062199f, -0.039650f, -0.018143f,
0.059809f, -0.048313f, -0.006126f, 0.055120f,
-0.055120f, 0.006126f, 0.048313f, -0.059809f,
0.018143f, 0.039650f, -0.062199f, 0.029462f,
-0.034723f, 0.061299f, -0.012193f, -0.051967f,
0.051967f, 0.012193f, -0.061299f, 0.034723f,
0.034723f, -0.061299f, 0.012193f, 0.051967f,
-0.051967f, -0.012193f, 0.061299f, -0.034723f,
-0.039650f, 0.055120f, 0.018143f, -0.062199f,
0.006126f, 0.059809f, -0.029462f, -0.048313f,
0.048313f, 0.029462f, -0.059809f, -0.006126f,
0.062199f, -0.018143f, -0.055120f, 0.039650f,
};
const FLOAT32 synth_cos_tab_kl_20 [40*20]={
0.035355f, -0.035355f, -0.035355f, 0.035355f,
0.035355f, -0.035355f, -0.035355f, 0.035355f,
0.035355f, -0.035355f, -0.035355f, 0.035355f,
0.035355f, -0.035355f, -0.035355f, 0.035355f,
0.035355f, -0.035355f, -0.035355f, 0.035355f,
0.038020f, -0.026125f, -0.046194f, 0.011672f,
0.049846f, 0.003923f, -0.048618f, -0.019134f,
0.042632f, 0.032472f, -0.032472f, -0.042632f,
0.019134f, 0.048618f, -0.003923f, -0.049846f,
-0.011672f, 0.046194f, 0.026125f, -0.038020f,
0.040451f, -0.015451f, -0.050000f, -0.015451f,
0.040451f, 0.040451f, -0.015451f, -0.050000f,
-0.015451f, 0.040451f, 0.040451f, -0.015451f,
-0.050000f, -0.015451f, 0.040451f, 0.040451f,
-0.015451f, -0.050000f, -0.015451f, 0.040451f,
0.042632f, -0.003923f, -0.046194f, -0.038020f,
0.011672f, 0.048618f, 0.032472f, -0.019134f,
-0.049846f, -0.026125f, 0.026125f, 0.049846f,
0.019134f, -0.032472f, -0.048618f, -0.011672f,
0.038020f, 0.046194f, 0.003923f, -0.042632f,
0.044550f, 0.007822f, -0.035355f, -0.049384f,
-0.022700f, 0.022700f, 0.049384f, 0.035355f,
-0.007822f, -0.044550f, -0.044550f, -0.007822f,
0.035355f, 0.049384f, 0.022700f, -0.022700f,
-0.049384f, -0.035355f, 0.007822f, 0.044550f,
0.046194f, 0.019134f, -0.019134f, -0.046194f,
-0.046194f, -0.019134f, 0.019134f, 0.046194f,
0.046194f, 0.019134f, -0.019134f, -0.046194f,
-0.046194f, -0.019134f, 0.019134f, 0.046194f,
0.046194f, 0.019134f, -0.019134f, -0.046194f,
0.047553f, 0.029389f, 0.000000f, -0.029389f,
-0.047553f, -0.047553f, -0.029389f, -0.000000f,
0.029389f, 0.047553f, 0.047553f, 0.029389f,
0.000000f, -0.029389f, -0.047553f, -0.047553f,
-0.029389f, -0.000000f, 0.029389f, 0.047553f,
0.048618f, 0.038020f, 0.019134f, -0.003923f,
-0.026125f, -0.042632f, -0.049846f, -0.046194f,
-0.032472f, -0.011672f, 0.011672f, 0.032472f,
0.046194f, 0.049846f, 0.042632f, 0.026125f,
0.003923f, -0.019134f, -0.038020f, -0.048618f,
0.049384f, 0.044550f, 0.035355f, 0.022700f,
0.007822f, -0.007822f, -0.022700f, -0.035355f,
-0.044550f, -0.049384f, -0.049384f, -0.044550f,
-0.035355f, -0.022700f, -0.007822f, 0.007822f,
0.022700f, 0.035355f, 0.044550f, 0.049384f,
0.049846f, 0.048618f, 0.046194f, 0.042632f,
0.038020f, 0.032472f, 0.026125f, 0.019134f,
0.011672f, 0.003923f, -0.003923f, -0.011672f,
-0.019134f, -0.026125f, -0.032472f, -0.038020f,
-0.042632f, -0.046194f, -0.048618f, -0.049846f,
0.050000f, 0.050000f, 0.050000f, 0.050000f,
0.050000f, 0.050000f, 0.050000f, 0.050000f,
0.050000f, 0.050000f, 0.050000f, 0.050000f,
0.050000f, 0.050000f, 0.050000f, 0.050000f,
0.050000f, 0.050000f, 0.050000f, 0.050000f,
0.049846f, 0.048618f, 0.046194f, 0.042632f,
0.038020f, 0.032472f, 0.026125f, 0.019134f,
0.011672f, 0.003923f, -0.003923f, -0.011672f,
-0.019134f, -0.026125f, -0.032472f, -0.038020f,
-0.042632f, -0.046194f, -0.048618f, -0.049846f,
0.049384f, 0.044550f, 0.035355f, 0.022700f,
0.007822f, -0.007822f, -0.022700f, -0.035355f,
-0.044550f, -0.049384f, -0.049384f, -0.044550f,
-0.035355f, -0.022700f, -0.007822f, 0.007822f,
0.022700f, 0.035355f, 0.044550f, 0.049384f,
0.048618f, 0.038020f, 0.019134f, -0.003923f,
-0.026125f, -0.042632f, -0.049846f, -0.046194f,
-0.032472f, -0.011672f, 0.011672f, 0.032472f,
0.046194f, 0.049846f, 0.042632f, 0.026125f,
0.003923f, -0.019134f, -0.038020f, -0.048618f,
0.047553f, 0.029389f, 0.000000f, -0.029389f,
-0.047553f, -0.047553f, -0.029389f, -0.000000f,
0.029389f, 0.047553f, 0.047553f, 0.029389f,
0.000000f, -0.029389f, -0.047553f, -0.047553f,
-0.029389f, -0.000000f, 0.029389f, 0.047553f,
0.046194f, 0.019134f, -0.019134f, -0.046194f,
-0.046194f, -0.019134f, 0.019134f, 0.046194f,
0.046194f, 0.019134f, -0.019134f, -0.046194f,
-0.046194f, -0.019134f, 0.019134f, 0.046194f,
0.046194f, 0.019134f, -0.019134f, -0.046194f,
0.044550f, 0.007822f, -0.035355f, -0.049384f,
-0.022700f, 0.022700f, 0.049384f, 0.035355f,
-0.007822f, -0.044550f, -0.044550f, -0.007822f,
0.035355f, 0.049384f, 0.022700f, -0.022700f,
-0.049384f, -0.035355f, 0.007822f, 0.044550f,
0.042632f, -0.003923f, -0.046194f, -0.038020f,
0.011672f, 0.048618f, 0.032472f, -0.019134f,
-0.049846f, -0.026125f, 0.026125f, 0.049846f,
0.019134f, -0.032472f, -0.048618f, -0.011672f,
0.038020f, 0.046194f, 0.003923f, -0.042632f,
0.040451f, -0.015451f, -0.050000f, -0.015451f,
0.040451f, 0.040451f, -0.015451f, -0.050000f,
-0.015451f, 0.040451f, 0.040451f, -0.015451f,
-0.050000f, -0.015451f, 0.040451f, 0.040451f,
-0.015451f, -0.050000f, -0.015451f, 0.040451f,
0.038020f, -0.026125f, -0.046194f, 0.011672f,
0.049846f, 0.003923f, -0.048618f, -0.019134f,
0.042632f, 0.032472f, -0.032472f, -0.042632f,
0.019134f, 0.048618f, -0.003923f, -0.049846f,
-0.011672f, 0.046194f, 0.026125f, -0.038020f,
0.035355f, -0.035355f, -0.035355f, 0.035355f,
0.035355f, -0.035355f, -0.035355f, 0.035355f,
0.035355f, -0.035355f, -0.035355f, 0.035355f,
0.035355f, -0.035355f, -0.035355f, 0.035355f,
0.035355f, -0.035355f, -0.035355f, 0.035355f,
0.032472f, -0.042632f, -0.019134f, 0.048618f,
0.003923f, -0.049846f, 0.011672f, 0.046194f,
-0.026125f, -0.038020f, 0.038020f, 0.026125f,
-0.046194f, -0.011672f, 0.049846f, -0.003923f,
-0.048618f, 0.019134f, 0.042632f, -0.032472f,
0.029389f, -0.047553f, -0.000000f, 0.047553f,
-0.029389f, -0.029389f, 0.047553f, 0.000000f,
-0.047553f, 0.029389f, 0.029389f, -0.047553f,
-0.000000f, 0.047553f, -0.029389f, -0.029389f,
0.047553f, -0.000000f, -0.047553f, 0.029389f,
0.026125f, -0.049846f, 0.019134f, 0.032472f,
-0.048618f, 0.011672f, 0.038020f, -0.046194f,
0.003923f, 0.042632f, -0.042632f, -0.003923f,
0.046194f, -0.038020f, -0.011672f, 0.048618f,
-0.032472f, -0.019134f, 0.049846f, -0.026125f,
0.022700f, -0.049384f, 0.035355f, 0.007822f,
-0.044550f, 0.044550f, -0.007822f, -0.035355f,
0.049384f, -0.022700f, -0.022700f, 0.049384f,
-0.035355f, -0.007822f, 0.044550f, -0.044550f,
0.007822f, 0.035355f, -0.049384f, 0.022700f,
0.019134f, -0.046194f, 0.046194f, -0.019134f,
-0.019134f, 0.046194f, -0.046194f, 0.019134f,
0.019134f, -0.046194f, 0.046194f, -0.019134f,
-0.019134f, 0.046194f, -0.046194f, 0.019134f,
0.019134f, -0.046194f, 0.046194f, -0.019134f,
0.015451f, -0.040451f, 0.050000f, -0.040451f,
0.015451f, 0.015451f, -0.040451f, 0.050000f,
-0.040451f, 0.015451f, 0.015451f, -0.040451f,
0.050000f, -0.040451f, 0.015451f, 0.015451f,
-0.040451f, 0.050000f, -0.040451f, 0.015451f,
0.011672f, -0.032472f, 0.046194f, -0.049846f,
0.042632f, -0.026125f, 0.003923f, 0.019134f,
-0.038020f, 0.048618f, -0.048618f, 0.038020f,
-0.019134f, -0.003923f, 0.026125f, -0.042632f,
0.049846f, -0.046194f, 0.032472f, -0.011672f,
0.007822f, -0.022700f, 0.035355f, -0.044550f,
0.049384f, -0.049384f, 0.044550f, -0.035355f,
0.022700f, -0.007822f, -0.007822f, 0.022700f,
-0.035355f, 0.044550f, -0.049384f, 0.049384f,
-0.044550f, 0.035355f, -0.022700f, 0.007822f,
0.003923f, -0.011672f, 0.019134f, -0.026125f,
0.032472f, -0.038020f, 0.042632f, -0.046194f,
0.048618f, -0.049846f, 0.049846f, -0.048618f,
0.046194f, -0.042632f, 0.038020f, -0.032472f,
0.026125f, -0.019134f, 0.011672f, -0.003923f,
0.000000f, -0.000000f, 0.000000f, -0.000000f,
0.000000f, -0.000000f, -0.000000f, -0.000000f,
-0.000000f, -0.000000f, -0.000000f, -0.000000f,
-0.000000f, -0.000000f, -0.000000f, -0.000000f,
0.000000f, -0.000000f, 0.000000f, -0.000000f,
-0.003923f, 0.011672f, -0.019134f, 0.026125f,
-0.032472f, 0.038020f, -0.042632f, 0.046194f,
-0.048618f, 0.049846f, -0.049846f, 0.048618f,
-0.046194f, 0.042632f, -0.038020f, 0.032472f,
-0.026125f, 0.019134f, -0.011672f, 0.003923f,
-0.007822f, 0.022700f, -0.035355f, 0.044550f,
-0.049384f, 0.049384f, -0.044550f, 0.035355f,
-0.022700f, 0.007822f, 0.007822f, -0.022700f,
0.035355f, -0.044550f, 0.049384f, -0.049384f,
0.044550f, -0.035355f, 0.022700f, -0.007822f,
-0.011672f, 0.032472f, -0.046194f, 0.049846f,
-0.042632f, 0.026125f, -0.003923f, -0.019134f,
0.038020f, -0.048618f, 0.048618f, -0.038020f,
0.019134f, 0.003923f, -0.026125f, 0.042632f,
-0.049846f, 0.046194f, -0.032472f, 0.011672f,
-0.015451f, 0.040451f, -0.050000f, 0.040451f,
-0.015451f, -0.015451f, 0.040451f, -0.050000f,
0.040451f, -0.015451f, -0.015451f, 0.040451f,
-0.050000f, 0.040451f, -0.015451f, -0.015451f,
0.040451f, -0.050000f, 0.040451f, -0.015451f,
-0.019134f, 0.046194f, -0.046194f, 0.019134f,
0.019134f, -0.046194f, 0.046194f, -0.019134f,
-0.019134f, 0.046194f, -0.046194f, 0.019134f,
0.019134f, -0.046194f, 0.046194f, -0.019134f,
-0.019134f, 0.046194f, -0.046194f, 0.019134f,
-0.022700f, 0.049384f, -0.035355f, -0.007822f,
0.044550f, -0.044550f, 0.007822f, 0.035355f,
-0.049384f, 0.022700f, 0.022700f, -0.049384f,
0.035355f, 0.007822f, -0.044550f, 0.044550f,
-0.007822f, -0.035355f, 0.049384f, -0.022700f,
-0.026125f, 0.049846f, -0.019134f, -0.032472f,
0.048618f, -0.011672f, -0.038020f, 0.046194f,
-0.003923f, -0.042632f, 0.042632f, 0.003923f,
-0.046194f, 0.038020f, 0.011672f, -0.048618f,
0.032472f, 0.019134f, -0.049846f, 0.026125f,
-0.029389f, 0.047553f, -0.000000f, -0.047553f,
0.029389f, 0.029389f, -0.047553f, -0.000000f,
0.047553f, -0.029389f, -0.029389f, 0.047553f,
-0.000000f, -0.047553f, 0.029389f, 0.029389f,
-0.047553f, 0.000000f, 0.047553f, -0.029389f,
-0.032472f, 0.042632f, 0.019134f, -0.048618f,
-0.003923f, 0.049846f, -0.011672f, -0.046194f,
0.026125f, 0.038020f, -0.038020f, -0.026125f,
0.046194f, 0.011672f, -0.049846f, 0.003923f,
0.048618f, -0.019134f, -0.042632f, 0.032472f,
};
【0093】
各表は、MSの所与の値に対応してよく、次元2MS×MSの行列のエントリを含む。、
纏めると、以上は、QMFに基づく高調波トランスポーザーが実数値のMSチャネル合成フィルタバンクを有し得る(特に、QMF高調波トランスポーザーを含む)上述の符号化されたUSACストリームを復号する機器の処理に対応し得る。実数値のMSチャネル合成フィルタバンクは、2MS個の実数値のサブバンドサンプルの配列を取得するためにMS個の実数値のサブバンドサンプルの配列を処理するよう構成されてよい。MS個の実数値のサブバンドサンプルの中の各々の実数値のサブバンドサンプルは、MS個のサブバンドの中のそれぞれのサブバンドに関連付けられてよい。MS個の実数値のサブバンドサンプルの配列を処理することは、実数値行列NとMS個の実数値のサブバンドサンプルの配列との行列ベクトル乗算を実行することを含んでよい。実数値行列Nのエントリは、それらがベクトル行列乗算で乗算される、それぞれのサブバンドサンプルのサブバンドインデックスに依存してよい。次に、予め計算された情報は、行列ベクトル乗算の実数値行列のエントリに関連してよい。実数値行列Nのエントリは、オフラインで決定され、1つ以上のルックアップテーブルに格納されてよい。QMFに基づく高調波トランスポーザーは、実行時に1つ以上のルックアップテーブルからの実数値行列Nのエントリにアクセスするよう構成されてよい。
【0094】
上述のように、配列νの中のサンプルは、2M
S個の位置だけシフトされてよい。最も古い2M
S個のサンプルは廃棄されてよい。M
S個の実数値のサブバンドサンプルは、行列Nにより乗算されてよい。つまり、行列ベクトル積N・Vが計算され、次式の通りである:
【数20】
【0095】
この演算の結果は、配列νの位置0~2MS-1に格納されてよい。νからのサンプルは、10MS要素の配列gを生成するために抽出されてよい。配列gのサンプルは、窓(window)ciにより乗算されて、配列wを生成してよい。窓係数ciは、係数cの線形補間により、つまり次式を通じて取得されてよい:
ci(n)=ρ(n)c(μ(n)+1)+(1-ρ(n))c(μ(n)), 0≦n<10MS
【0096】
係数cは、参照することにより全体がここに組み込まれるISO/IEC14496-3:2009のTable4.A.89に定められている。
【0097】
係数cから窓係数ciを決定する式は、実行時の前に(例えば予め計算された)窓係数ciを導出するためにオフラインで実施されてよい。実行時に、予め計算された窓係数ciは、計算することなく、必要に応じて参照されてよい。例えば、窓係数ciは、1つ以上のルックアップテーブルから取得され(例えば、読み出され、検索され)てよい。窓係数ciの実際の構成は、デコーダが適切な窓係数ciを実行時に読み出すルーチンを提供される限り、変化してよい。
【0098】
ある実装では、MSの全ての可能な値(例えばMS=4,8,12,16,20)についてci(n)が計算され、表に格納されてよい。例えば、MSの全ての可能な値に対応する全ての係数は、予め計算され、以下に示す(ROM)表sub_samp_qmf_window_coeffに格納されてよい。
【0099】
M
Sの値に基づき、対応する窓係数は、以下のように関数map_prot_filter(ixheaacd_hbe_trans.c)を用いてマッピングされる。
【数21】
const FLOAT32 sub_samp_qmf_window_coeff[40+80+120+160+200+240+320+400/*1560*/]=
{
0.000000000000f,-0.000715773669f,-0.000665041502f,0.000402654026f,
0.002620175947f,0.005039302167f,0.005271575879f,0.000027604519f,
0.013271821663f,0.034462094307f,0.058591566980f,0.075313732028f,
0.070353306830f,0.029082400724f,-0.058370534331f,-0.192396670580f,
0.361158996820f,0.541255354881f,0.702238857746f,0.813819110394f,
0.853738546371f,0.813819110394f,0.702238857746f,0.541255354881f,
-0.361158996820f,-0.192396670580f,-0.058370534331f,0.029082400724f,
0.070353306830f,0.075313732028f,0.058591566980f,0.034462094307f,
-0.013271821663f,0.000027604519f,0.005271575879f,0.005039302167f,
0.002620175947f,0.000402654026f,-0.000665041502f,-0.000715773669f,
0.000000000000f,-0.000546656549f,-0.000715773669f,-0.000780366478f,
-0.000665041502f,-0.000289698131f,0.000402654026f,0.001390249468f,
0.002620175947f,0.003920743242f,0.005039302167f,0.005622064229f,
0.005271575879f,0.003540124744f,0.000027604519f,-0.005533721298f,
0.013271821663f,0.023068016395f,0.034462094307f,0.046684302390f,
0.058591566980f,0.068704381585f,0.075313732028f,0.076505072415f,
0.070353306830f,0.055046003312f,0.029082400724f,-0.008571174927f,
-0.058370534331f,-0.120007798076f,-0.192396670580f,-0.273663401604f,
0.361158996820f,0.451599657536f,0.541255354881f,0.626124262810f,
0.702238857746f,0.765867471695f,0.813819110394f,0.843623816967f,
0.853738546371f,0.843623816967f,0.813819110394f,0.765867471695f,
0.702238857746f,0.626124262810f,0.541255354881f,0.451599657536f,
-0.361158996820f,-0.273663401604f,-0.192396670580f,-0.120007798076f,
-0.058370534331f,-0.008571174927f,0.029082400724f,0.055046003312f,
0.070353306830f,0.076505072415f,0.075313732028f,0.068704381585f,
0.058591566980f,0.046684302390f,0.034462094307f,0.023068016395f,
-0.013271821663f,-0.005533721298f,0.000027604519f,0.003540124744f,
0.005271575879f,0.005622064229f,0.005039302167f,0.003920743242f,
0.002620175947f,0.001390249468f,0.000402654026f,-0.000289698131f,
-0.000665041502f,-0.000780366478f,-0.000715773669f,-0.000546656549f,
0.000000000000f,-0.000494276581f,-0.000604547502f,-0.000715773669f,
-0.000776134315f,-0.000767318823f,-0.000665041502f,-0.000443592289f,
-0.000089368223f,0.000402654026f,0.001034071436f,0.001785487286f,
0.002620175947f,0.003494867589f,0.004324191250f,0.005039302167f,
0.005507593509f,0.005630714353f,0.005271575879f,0.004295178223f,
0.002582125831f,0.000027604519f,-0.003442291170f,-0.007873747498f,
0.013271821663f,0.019609235227f,0.026719830930f,0.034462094307f,
0.042579874396f,0.050749942660f,0.058591566980f,0.065628737211f,
0.071387805045f,0.075313732028f,0.076819263399f,0.075348608196f,
0.070353306830f,0.061245717108f,0.047619495541f,0.029082400724f,
0.005301259924f,-0.023842986673f,-0.058370534331f,-0.098213292658f,
-0.143036201596f,-0.192396670580f,-0.245750576258f,-0.302297174931f,
0.361158996820f,0.421350568533f,0.481765538454f,0.541255354881f,
0.598601102829f,0.652643620968f,0.702238857746f,0.746226489544f,
0.783699929714f,0.813819110394f,0.835786461830f,0.849197566509f,
0.853738546371f,0.849197506905f,0.835786342621f,0.813819110394f,
0.783699750900f,0.746226310730f,0.702238857746f,0.652643322945f,
0.598600804806f,0.541255354881f,0.481765210629f,0.421350240707f,
-0.361158996820f,-0.302297025919f,-0.245750263333f,-0.192396670580f,
-0.143036067486f,-0.098213046789f,-0.058370534331f,-0.023842897266f,
0.005301412195f,0.029082400724f,0.047619540244f,0.061245780438f,
0.070353306830f,0.075348615646f,0.076819263399f,0.075313732028f,
0.071387790143f,0.065628699958f,0.058591566980f,0.050749920309f,
0.042579825968f,0.034462094307f,0.026719808578f,0.019609196112f,
-0.013271821663f,-0.007873705588f,-0.003442274174f,0.000027604519f,
0.002582143992f,0.004295184277f,0.005271575879f,0.005630714819f,
0.005507592112f,0.005039302167f,0.004324184265f,0.003494864097f,
0.002620175947f,0.001785481116f,0.001034068293f,0.000402654026f,
-0.000089371701f,-0.000443593453f,-0.000665041502f,-0.000767319347f,
-0.000776134082f,-0.000715773669f,-0.000604546454f,-0.000494276290f,
0.000000000000f,-0.000487522804f,-0.000546656549f,-0.000631249335f,
-0.000715773669f,-0.000768137164f,-0.000780366478f,-0.000753000146f,
-0.000665041502f,-0.000514557236f,-0.000289698131f,0.000013494974f,
0.000402654026f,0.000860844331f,0.001390249468f,0.001984114060f,
0.002620175947f,0.003273961367f,0.003920743242f,0.004520985298f,
0.005039302167f,0.005419677589f,0.005622064229f,0.005591712892f,
0.005271575879f,0.004603953101f,0.003540124744f,0.002027417533f,
0.000027604519f,-0.002482672455f,-0.005533721298f,-0.009132533334f,
0.013271821663f,0.017943337560f,0.023068016395f,0.028607217595f,
0.034462094307f,0.040534917265f,0.046684302390f,0.052763074636f,
0.058591566980f,0.063971586525f,0.068704381585f,0.072568260133f,
0.075313732028f,0.076709352434f,0.076505072415f,0.074466437101f,
0.070353306830f,0.063944481313f,0.055046003312f,0.043476879597f,
0.029082400724f,0.011762383394f,-0.008571174927f,-0.031953126192f,
-0.058370534331f,-0.087754756212f,-0.120007798076f,-0.154960706830f,
-0.192396670580f,-0.232069090009f,-0.273663401604f,-0.316827893257f,
0.361158996820f,0.406231760979f,0.451599657536f,0.496770828962f,
0.541255354881f,0.584540307522f,0.626124262810f,0.665513992310f,
0.702238857746f,0.735821187496f,0.765867471695f,0.791973590851f,
0.813819110394f,0.831103861332f,0.843623816967f,0.851197123528f,
0.853738546371f,0.851197123528f,0.843623816967f,0.831103861332f,
0.813819110394f,0.791973590851f,0.765867471695f,0.735821187496f,
0.702238857746f,0.665513992310f,0.626124262810f,0.584540307522f,
0.541255354881f,0.496770828962f,0.451599657536f,0.406231760979f,
-0.361158996820f,-0.316827893257f,-0.273663401604f,-0.232069090009f,
-0.192396670580f,-0.154960706830f,-0.120007798076f,-0.087754756212f,
-0.058370534331f,-0.031953126192f,-0.008571174927f,0.011762383394f,
0.029082400724f,0.043476879597f,0.055046003312f,0.063944481313f,
0.070353306830f,0.074466437101f,0.076505072415f,0.076709352434f,
0.075313732028f,0.072568260133f,0.068704381585f,0.063971586525f,
0.058591566980f,0.052763074636f,0.046684302390f,0.040534917265f,
0.034462094307f,0.028607217595f,0.023068016395f,0.017943337560f,
-0.013271821663f,-0.009132533334f,-0.005533721298f,-0.002482672455f,
0.000027604519f,0.002027417533f,0.003540124744f,0.004603953101f,
0.005271575879f,0.005591712892f,0.005622064229f,0.005419677589f,
0.005039302167f,0.004520985298f,0.003920743242f,0.003273961367f,
0.002620175947f,0.001984114060f,0.001390249468f,0.000860844331f,
0.000402654026f,0.000013494974f,-0.000289698131f,-0.000514557236f,
-0.000665041502f,-0.000753000146f,-0.000780366478f,-0.000768137164f,
-0.000715773669f,-0.000631249335f,-0.000546656549f,-0.000487522804f,
0.000000000000f,-0.000493306026f,-0.000511505408f,-0.000579367916f,
-0.000649476540f,-0.000715773669f,-0.000752875290f,-0.000781254726f,
-0.000777536596f,-0.000736148562f,-0.000665041502f,-0.000548077514f,
-0.000385754218f,-0.000170716201f,0.000090249574f,0.000402654026f,
0.000768811035f,0.001178124920f,0.001629814156f,0.002113749273f,
0.002620175947f,0.003144826740f,0.003664653283f,0.004168645944f,
0.004632714204f,0.005039302167f,0.005361670163f,0.005566063803f,
0.005641560070f,0.005550691392f,0.005271575879f,0.004769547377f,
0.004013354424f,0.002990481444f,0.001668256707f,0.000027604519f,
-0.001939695445f,-0.004252972547f,-0.006908639334f,-0.009918526746f,
0.013271821663f,0.016974641010f,0.020970622078f,0.025238998234f,
0.029761660844f,0.034462094307f,0.039311274886f,0.044225402176f,
0.049129784107f,0.053948841989f,0.058591566980f,0.062942937016f,
0.066905103624f,0.070362940431f,0.073203273118f,0.075313732028f,
0.076541244984f,0.076781995595f,0.075908273458f,0.073805764318f,
0.070353306830f,0.065404154360f,0.058896079659f,0.050722457469f,
0.040812026709f,0.029082400724f,0.015448591672f,-0.000097587261f,
-0.017581636086f,-0.037012770772f,-0.058370534331f,-0.081660762429f,
-0.106792926788f,-0.133693277836f,-0.162268877029f,-0.192396670580f,
-0.223985999823f,-0.256831049919f,-0.290771633387f,-0.325614720583f,
0.361158996820f,0.397183418274f,0.433449268341f,0.469719588757f,
0.505739748478f,0.541255354881f,0.575990140438f,0.609711349010f,
0.642155468464f,0.673076033592f,0.702238857746f,0.729360222816f,
0.754271447659f,0.776768505573f,0.796672165394f,0.813819110394f,
0.828002870083f,0.839164674282f,0.847211718559f,0.852083206177f,
0.853738546371f,0.852083206177f,0.847211718559f,0.839164674282f,
0.828002750874f,0.813819110394f,0.796671986580f,0.776768505573f,
0.754271447659f,0.729359984398f,0.702238857746f,0.673075735569f,
0.642155468464f,0.609711349010f,0.575989782810f,0.541255354881f,
0.505739450455f,0.469719588757f,0.433449268341f,0.397183090448f,
-0.361158996820f,-0.325614541769f,-0.290771633387f,-0.256830900908f,
-0.223985850811f,-0.192396670580f,-0.162268742919f,-0.133693277836f,
-0.106792800128f,-0.081660643220f,-0.058370534331f,-0.037012673914f,
-0.017581636086f,-0.000097508135f,0.015448661521f,0.029082400724f,
0.040812078863f,0.050722457469f,0.058896116912f,0.065404184163f,
0.070353306830f,0.073805779219f,0.075908273458f,0.076781995595f,
0.076541237533f,0.075313732028f,0.073203265667f,0.070362940431f,
0.066905081272f,0.062942922115f,0.058591566980f,0.053948819637f,
0.049129784107f,0.044225379825f,0.039311248809f,0.034462094307f,
0.029761638492f,0.025238998234f,0.020970601588f,0.016974622384f,
-0.013271821663f,-0.009918511845f,-0.006908619311f,-0.004252942745f,
-0.001939700567f,0.000027604519f,0.001668263576f,0.002990489826f,
0.004013365135f,0.004769545514f,0.005271575879f,0.005550692324f,
0.005641560070f,0.005566061940f,0.005361671094f,0.005039302167f,
0.004632712342f,0.004168642685f,0.003664647229f,0.003144827904f,
0.002620175947f,0.002113747410f,0.001629810315f,0.001178119797f,
0.000768812315f,0.000402654026f,0.000090248475f,-0.000170717947f,
-0.000385756488f,-0.000548077049f,-0.000665041502f,-0.000736148853f,
-0.000777536712f,-0.000781254901f,-0.000752875523f,-0.000715773669f,
-0.000649476249f,-0.000579367450f,-0.000511504768f,-0.000493305910f,
0.000000000000f,-0.000517090957f,-0.000494276581f,-0.000546656549f,
-0.000604547502f,-0.000661945262f,-0.000715773669f,-0.000747404585f,
-0.000776134315f,-0.000780366478f,-0.000767318823f,-0.000728470215f,
-0.000665041502f,-0.000569175696f,-0.000443592289f,-0.000289698131f,
-0.000089368223f,0.000141059689f,0.000402654026f,0.000705181097f,
0.001034071436f,0.001390249468f,0.001785487286f,0.002198014408f,
0.002620175947f,0.003057343885f,0.003494867589f,0.003920743242f,
0.004324191250f,0.004704849795f,0.005039302167f,0.005313484930f,
0.005507593509f,0.005622064229f,0.005630714353f,0.005518750288f,
0.005271575879f,0.004868620075f,0.004295178223f,0.003540124744f,
0.002582125831f,0.001415721956f,0.000027604519f,-0.001588239335f,
-0.003442291170f,-0.005533721298f,-0.007873747498f,-0.010453868657f,
0.013271821663f,0.016335172579f,0.019609235227f,0.023068016395f,
0.026719830930f,0.030534112826f,0.034462094307f,0.038497347385f,
0.042579874396f,0.046684302390f,0.050749942660f,0.054735988379f,
0.058591566980f,0.062239032239f,0.065628737211f,0.068704381585f,
0.071387805045f,0.073608145118f,0.075313732028f,0.076399229467f,
0.076819263399f,0.076505072415f,0.075348608196f,0.073319546878f,
0.070353306830f,0.066330201924f,0.061245717108f,0.055046003312f,
0.047619495541f,0.038977786899f,0.029082400724f,0.017846630886f,
0.005301259924f,-0.008571174927f,-0.023842986673f,-0.040445398539f,
-0.058370534331f,-0.077656343579f,-0.098213292658f,-0.120007798076f,
-0.143036201596f,-0.167190954089f,-0.192396670580f,-0.218634754419f,
-0.245750576258f,-0.273663401604f,-0.302297174931f,-0.331498444080f,
0.361158996820f,0.391159355640f,0.421350568533f,0.451599657536f,
0.481765538454f,0.511695802212f,0.541255354881f,0.570261478424f,
0.598601102829f,0.626124262810f,0.652643620968f,0.678056061268f,
0.702238857746f,0.724978864193f,0.746226489544f,0.765867471695f,
0.783699929714f,0.799714028835f,0.813819110394f,0.825832426548f,
0.835786461830f,0.843623816967f,0.849197566509f,0.852570533752f,
0.853738546371f,0.852570474148f,0.849197506905f,0.843623816967f,
0.835786342621f,0.825832307339f,0.813819110394f,0.799713850021f,
0.783699750900f,0.765867471695f,0.746226310730f,0.724978625774f,
0.702238857746f,0.678055822849f,0.652643322945f,0.626124262810f,
0.598600804806f,0.570261120796f,0.541255354881f,0.511695444584f,
0.481765210629f,0.451599657536f,0.421350240707f,0.391158998013f,
-0.361158996820f,-0.331498116255f,-0.302297025919f,-0.273663401604f,
-0.245750263333f,-0.218634605408f,-0.192396670580f,-0.167190670967f,
-0.143036067486f,-0.120007798076f,-0.098213046789f,-0.077656231821f,
-0.058370534331f,-0.040445201099f,-0.023842897266f,-0.008571174927f,
0.005301412195f,0.017846697941f,0.029082400724f,0.038977894932f,
0.047619540244f,0.055046003312f,0.061245780438f,0.066330231726f,
0.070353306830f,0.073319576681f,0.075348615646f,0.076505072415f,
0.076819263399f,0.076399222016f,0.075313732028f,0.073608122766f,
0.071387790143f,0.068704381585f,0.065628699958f,0.062239013612f,
0.058591566980f,0.054735943675f,0.050749920309f,0.046684302390f,
0.042579825968f,0.038497325033f,0.034462094307f,0.030534068123f,
0.026719808578f,0.023068016395f,0.019609196112f,0.016335153952f,
-0.013271821663f,-0.010453845374f,-0.007873705588f,-0.005533721298f,
-0.003442274174f,-0.001588209649f,0.000027604519f,0.001415733015f,
0.002582143992f,0.003540124744f,0.004295184277f,0.004868627992f,
0.005271575879f,0.005518751685f,0.005630714819f,0.005622064229f,
0.005507592112f,0.005313480273f,0.005039302167f,0.004704846535f,
0.004324184265f,0.003920743242f,0.003494864097f,0.003057336202f,
0.002620175947f,0.002198010916f,0.001785481116f,0.001390249468f,
0.001034068293f,0.000705175975f,0.000402654026f,0.000141057521f,
-0.000089371701f,-0.000289698131f,-0.000443593453f,-0.000569177268f,
-0.000665041502f,-0.000728470448f,-0.000767319347f,-0.000780366478f,
-0.000776134082f,-0.000747404411f,-0.000715773669f,-0.000661944796f,
-0.000604546454f,-0.000546656549f,-0.000494276290f,-0.000517093693f,
0.000000000000f,-0.000561769237f,-0.000487522804f,-0.000504071417f,
-0.000546656549f,-0.000587093062f,-0.000631249335f,-0.000677769072f,
-0.000715773669f,-0.000744094199f,-0.000768137164f,-0.000783433206f,
-0.000780366478f,-0.000775797758f,-0.000753000146f,-0.000721539196f,
-0.000665041502f,-0.000594611920f,-0.000514557236f,-0.000409512140f,
-0.000289698131f,-0.000144638092f,0.000013494974f,0.000204301701f,
0.000402654026f,0.000623937638f,0.000860844331f,0.001125015551f,
0.001390249468f,0.001686808304f,0.001984114060f,0.002301725559f,
0.002620175947f,0.002946944674f,0.003273961367f,0.003600826720f,
0.003920743242f,0.004226427060f,0.004520985298f,0.004793256056f,
0.005039302167f,0.005246116780f,0.005419677589f,0.005547571462f,
0.005622064229f,0.005638919771f,0.005591712892f,0.005475378130f,
0.005271575879f,0.004983968567f,0.004603953101f,0.004125164356f,
0.003540124744f,0.002844675677f,0.002027417533f,0.001090232865f,
0.000027604519f,-0.001156813581f,-0.002482672455f,-0.003940112423f,
-0.005533721298f,-0.007261581719f,-0.009132533334f,-0.011131554842f,
0.013271821663f,0.015540555120f,0.017943337560f,0.020453179255f,
0.023068016395f,0.025787584484f,0.028607217595f,0.031501762569f,
0.034462094307f,0.037481285632f,0.040534917265f,0.043609753251f,
0.046684302390f,0.049738574773f,0.052763074636f,0.055717363954f,
0.058591566980f,0.061345517635f,0.063971586525f,0.066436752677f,
0.068704381585f,0.070762872696f,0.072568260133f,0.074100367725f,
0.075313732028f,0.076199248433f,0.076709352434f,0.076823003590f,
0.076505072415f,0.075730577111f,0.074466437101f,0.072677463293f,
0.070353306830f,0.067452505231f,0.063944481313f,0.059816658497f,
0.055046003312f,0.049597866833f,0.043476879597f,0.036641810089f,
0.029082400724f,0.020799707621f,0.011762383394f,0.001976560103f,
-0.008571174927f,-0.019883412868f,-0.031953126192f,-0.044780682772f,
-0.058370534331f,-0.072694331408f,-0.087754756212f,-0.103532955050f,
-0.120007798076f,-0.137155175209f,-0.154960706830f,-0.173380821943f,
-0.192396670580f,-0.211973592639f,-0.232069090009f,-0.252648025751f,
-0.273663401604f,-0.295071661472f,-0.316827893257f,-0.338872283697f,
0.361158996820f,0.383635014296f,0.406231760979f,0.428911983967f,
0.451599657536f,0.474245309830f,0.496770828962f,0.519123494625f,
0.541255354881f,0.563078939915f,0.584540307522f,0.605578362942f,
0.626124262810f,0.646126985550f,0.665513992310f,0.684235334396f,
0.702238857746f,0.719446241856f,0.735821187496f,0.751313745975f,
0.765867471695f,0.779428780079f,0.791973590851f,0.803448557854f,
0.813819110394f,0.823041975498f,0.831103861332f,0.837971746922f,
0.843623816967f,0.848031580448f,0.851197123528f,0.853102087975f,
0.853738546371f,0.853102087975f,0.851197123528f,0.848031580448f,
0.843623816967f,0.837971746922f,0.831103861332f,0.823041975498f,
0.813819110394f,0.803448557854f,0.791973590851f,0.779428780079f,
0.765867471695f,0.751313745975f,0.735821187496f,0.719446241856f,
0.702238857746f,0.684235334396f,0.665513992310f,0.646126985550f,
0.626124262810f,0.605578362942f,0.584540307522f,0.563078939915f,
0.541255354881f,0.519123494625f,0.496770828962f,0.474245309830f,
0.451599657536f,0.428911983967f,0.406231760979f,0.383635014296f,
-0.361158996820f,-0.338872283697f,-0.316827893257f,-0.295071661472f,
-0.273663401604f,-0.252648025751f,-0.232069090009f,-0.211973592639f,
-0.192396670580f,-0.173380821943f,-0.154960706830f,-0.137155175209f,
-0.120007798076f,-0.103532955050f,-0.087754756212f,-0.072694331408f,
-0.058370534331f,-0.044780682772f,-0.031953126192f,-0.019883412868f,
-0.008571174927f,0.001976560103f,0.011762383394f,0.020799707621f,
0.029082400724f,0.036641810089f,0.043476879597f,0.049597866833f,
0.055046003312f,0.059816658497f,0.063944481313f,0.067452505231f,
0.070353306830f,0.072677463293f,0.074466437101f,0.075730577111f,
0.076505072415f,0.076823003590f,0.076709352434f,0.076199248433f,
0.075313732028f,0.074100367725f,0.072568260133f,0.070762872696f,
0.068704381585f,0.066436752677f,0.063971586525f,0.061345517635f,
0.058591566980f,0.055717363954f,0.052763074636f,0.049738574773f,
0.046684302390f,0.043609753251f,0.040534917265f,0.037481285632f,
0.034462094307f,0.031501762569f,0.028607217595f,0.025787584484f,
0.023068016395f,0.020453179255f,0.017943337560f,0.015540555120f,
-0.013271821663f,-0.011131554842f,-0.009132533334f,-0.007261581719f,
-0.005533721298f,-0.003940112423f,-0.002482672455f,-0.001156813581f,
0.000027604519f,0.001090232865f,0.002027417533f,0.002844675677f,
0.003540124744f,0.004125164356f,0.004603953101f,0.004983968567f,
0.005271575879f,0.005475378130f,0.005591712892f,0.005638919771f,
0.005622064229f,0.005547571462f,0.005419677589f,0.005246116780f,
0.005039302167f,0.004793256056f,0.004520985298f,0.004226427060f,
0.003920743242f,0.003600826720f,0.003273961367f,0.002946944674f,
0.002620175947f,0.002301725559f,0.001984114060f,0.001686808304f,
0.001390249468f,0.001125015551f,0.000860844331f,0.000623937638f,
0.000402654026f,0.000204301701f,0.000013494974f,-0.000144638092f,
-0.000289698131f,-0.000409512140f,-0.000514557236f,-0.000594611920f,
-0.000665041502f,-0.000721539196f,-0.000753000146f,-0.000775797758f,
-0.000780366478f,-0.000783433206f,-0.000768137164f,-0.000744094199f,
-0.000715773669f,-0.000677769072f,-0.000631249335f,-0.000587093062f,
-0.000546656549f,-0.000504071417f,-0.000487522804f,-0.000561769237f,
0.000000000000f,-0.000558072992f,-0.000493306026f,-0.000489007856f,
-0.000511505408f,-0.000546656549f,-0.000579367916f,-0.000616869656f,
-0.000649476540f,-0.000684326049f,-0.000715773669f,-0.000736658229f,
-0.000752875290f,-0.000771615305f,-0.000781254726f,-0.000780366478f,
-0.000777536596f,-0.000761063478f,-0.000736148562f,-0.000709641026f,
-0.000665041502f,-0.000610430841f,-0.000548077514f,-0.000471417530f,
-0.000385754218f,-0.000289698131f,-0.000170716201f,-0.000046687699f,
0.000090249574f,0.000240562411f,0.000402654026f,0.000578658364f,
0.000768811035f,0.000963047845f,0.001178124920f,0.001390249468f,
0.001629814156f,0.001864684164f,0.002113749273f,0.002366060158f,
0.002620175947f,0.002882985165f,0.003144826740f,0.003408302786f,
0.003664653283f,0.003920743242f,0.004168645944f,0.004402655177f,
0.004632714204f,0.004841458052f,0.005039302167f,0.005203964189f,
0.005361670163f,0.005474018864f,0.005566063803f,0.005622064229f,
0.005641560070f,0.005619631615f,0.005550691392f,0.005438786000f,
0.005271575879f,0.005045672413f,0.004769547377f,0.004424938932f,
0.004013354424f,0.003540124744f,0.002990481444f,0.002366164699f,
0.001668256707f,0.000887429516f,0.000027604519f,-0.000912658463f,
-0.001939695445f,-0.003051238833f,-0.004252972547f,-0.005533721298f,
-0.006908639334f,-0.008370369673f,-0.009918526746f,-0.011552934535f,
0.013271821663f,0.015080526471f,0.016974641010f,0.018938465044f,
0.020970622078f,0.023068016395f,0.025238998234f,0.027470193803f,
0.029761660844f,0.032091233879f,0.034462094307f,0.036876682192f,
0.039311274886f,0.041758917272f,0.044225402176f,0.046684302390f,
0.049129784107f,0.051557101309f,0.053948841989f,0.056295089424f,
0.058591566980f,0.060800816864f,0.062942937016f,0.064974091947f,
0.066905103624f,0.068704381585f,0.070362940431f,0.071873866022f,
0.073203273118f,0.074358329177f,0.075313732028f,0.076039887965f,
0.076541244984f,0.076795786619f,0.076781995595f,0.076505072415f,
0.075908273458f,0.075019389391f,0.073805764318f,0.072239525616f,
0.070353306830f,0.068058051169f,0.065404154360f,0.062357112765f,
0.058896079659f,0.055046003312f,0.050722457469f,0.045999649912f,
0.040812026709f,0.035168409348f,0.029082400724f,0.022492101416f,
0.015448591672f,0.007923411205f,-0.000097587261f,-0.008571174927f,
-0.017581636086f,-0.027048788965f,-0.037012770772f,-0.047460637987f,
-0.058370534331f,-0.069793038070f,-0.081660762429f,-0.093993641436f,
-0.106792926788f,-0.120007798076f,-0.133693277836f,-0.147773429751f,
-0.162268877029f,-0.177155479789f,-0.192396670580f,-0.208034217358f,
-0.223985999823f,-0.240255206823f,-0.256831049919f,-0.273663401604f,
-0.290771633387f,-0.308093428612f,-0.325614720583f,-0.343320041895f,
0.361158996820f,0.379132896662f,0.397183418274f,0.415302306414f,
0.433449268341f,0.451599657536f,0.469719588757f,0.487774550915f,
0.505739748478f,0.523563683033f,0.541255354881f,0.558729469776f,
0.575990140438f,0.592998087406f,0.609711349010f,0.626124262810f,
0.642155468464f,0.657824218273f,0.673076033592f,0.687872409821f,
0.702238857746f,0.716044247150f,0.729360222816f,0.742110610008f,
0.754271447659f,0.765867471695f,0.776768505573f,0.787063062191f,
0.796672165394f,0.805576920509f,0.813819110394f,0.821256279945f,
0.828002870083f,0.833975851536f,0.839164674282f,0.843623816967f,
0.847211718559f,0.850063860416f,0.852083206177f,0.853290081024f,
0.853738546371f,0.853290081024f,0.852083206177f,0.850063800812f,
0.847211718559f,0.843623816967f,0.839164674282f,0.833975732327f,
0.828002750874f,0.821256279945f,0.813819110394f,0.805576920509f,
0.796671986580f,0.787062883377f,0.776768505573f,0.765867471695f,
0.754271447659f,0.742110371590f,0.729359984398f,0.716044247150f,
0.702238857746f,0.687872409821f,0.673075735569f,0.657823920250f,
0.642155468464f,0.626124262810f,0.609711349010f,0.592997789383f,
0.575989782810f,0.558729469776f,0.541255354881f,0.523563683033f,
0.505739450455f,0.487774193287f,0.469719588757f,0.451599657536f,
0.433449268341f,0.415301978588f,0.397183090448f,0.379132896662f,
-0.361158996820f,-0.343319863081f,-0.325614541769f,-0.308093249798f,
-0.290771633387f,-0.273663401604f,-0.256830900908f,-0.240255042911f,
-0.223985850811f,-0.208034217358f,-0.192396670580f,-0.177155330777f,
-0.162268742919f,-0.147773295641f,-0.133693277836f,-0.120007798076f,
-0.106792800128f,-0.093993522227f,-0.081660643220f,-0.069793038070f,
-0.058370534331f,-0.047460533679f,-0.037012673914f,-0.027048695832f,
-0.017581636086f,-0.008571174927f,-0.000097508135f,0.007923483849f,
0.015448661521f,0.022492101416f,0.029082400724f,0.035168465227f,
0.040812078863f,0.045999698341f,0.050722457469f,0.055046003312f,
0.058896116912f,0.062357142568f,0.065404184163f,0.068058051169f,
0.070353306830f,0.072239540517f,0.073805779219f,0.075019404292f,
0.075908273458f,0.076505072415f,0.076781995595f,0.076795786619f,
0.076541237533f,0.076039887965f,0.075313732028f,0.074358314276f,
0.073203265667f,0.071873851120f,0.070362940431f,0.068704381585f,
0.066905081272f,0.064974069595f,0.062942922115f,0.060800816864f,
0.058591566980f,0.056295067072f,0.053948819637f,0.051557078958f,
0.049129784107f,0.046684302390f,0.044225379825f,0.041758891195f,
0.039311248809f,0.036876682192f,0.034462094307f,0.032091211528f,
0.029761638492f,0.027470171452f,0.025238998234f,0.023068016395f,
0.020970601588f,0.018938446417f,0.016974622384f,0.015080526471f,
-0.013271821663f,-0.011552894488f,-0.009918511845f,-0.008370377123f,
-0.006908619311f,-0.005533721298f,-0.004252942745f,-0.003051228123f,
-0.001939700567f,-0.000912644493f,0.000027604519f,0.000887448899f,
0.001668263576f,0.002366161672f,0.002990489826f,0.003540124744f,
0.004013365135f,0.004424942192f,0.004769545514f,0.005045676138f,
0.005271575879f,0.005438789260f,0.005550692324f,0.005619631149f,
0.005641560070f,0.005622064229f,0.005566061940f,0.005474017933f,
0.005361671094f,0.005203961395f,0.005039302167f,0.004841453396f,
0.004632712342f,0.004402656574f,0.004168642685f,0.003920743242f,
0.003664647229f,0.003408300225f,0.003144827904f,0.002882981440f,
0.002620175947f,0.002366054105f,0.002113747410f,0.001864685910f,
0.001629810315f,0.001390249468f,0.001178119797f,0.000963046390f,
0.000768812315f,0.000578655337f,0.000402654026f,0.000240558948f,
0.000090248475f,-0.000046686841f,-0.000170717947f,-0.000289698131f,
-0.000385756488f,-0.000471418141f,-0.000548077049f,-0.000610431889f,
-0.000665041502f,-0.000709642132f,-0.000736148853f,-0.000761063420f,
-0.000777536712f,-0.000780366478f,-0.000781254901f,-0.000771615247f,
-0.000752875523f,-0.000736657763f,-0.000715773669f,-0.000684325409f,
-0.000649476249f,-0.000616869889f,-0.000579367450f,-0.000546656549f,
-0.000511504768f,-0.000489007856f,-0.000493305910f,-0.000558072818f,
};
【0100】
表は、インデックス位置0から開始し、MSの最初の可能な値(MS=4)について窓係数ci(n)、n=0,...,10MS-1を含み、次に、次のインデックス位置から開始して、MSの2番目の可能な値(MS=8)について窓係数ci(n)を含み、以下同様である。
【0101】
纏めると、以上は、QMFに基づく高調波トランスポーザーが実数値のMSチャネル合成フィルタバンクおよび複素数値の2Mチャネル分析フィルタバンクを有し得る(特に、QMF高調波トランスポーザーを含む)上述の符号化されたUSACストリームを復号する機器の処理に対応し得る。予め計算された情報は、実数値のMS個のチャネル合成フィルタバンクにおける合成の間、および/または複素数値の2Mチャネル合成フィルタバンクにおける分析の間に、サンプルの配列のウインドウ処理のための窓係数に関連してよい。窓係数は、それぞれMSおよびMの全ての可能な値について表にされた値の間の線形補間に基づきオフラインで決定され、1つ以上のルックアップテーブルに格納されてよい。QMFに基づく高調波トランスポーザーは、実行時に1つ以上のルックアップテーブルからの窓係数にアクセスするよう適用されてよい。
【0102】
QMFトランスポーザーは、複素数値のサブサンプリングされた2Mチャネル分析フィルタバンクを含んでよい。MはMSに等しくてよい。複素数値のサブサンプリングされたMチャネル分析フィルタバンクは、例えばUSAC標準のclause7.5.4.2.3に記載されている。この節(clause)は、参照することによりその全体がここに組み込まれる。
【0103】
分析フィルタバンクでは、配列xのサンプルは、2MS個の位置だけシフトされてよい。最も古い2MS個のサンプルは廃棄され、2MS個の新しいサンプルが位置0~2MS-1に格納される。配列xのサンプルは、窓の係数c2iにより乗算されてよい。窓係数c2iは、係数cの線形補間により、つまり次式を通じて取得される:
c2i(n)=ρ(n)c(μ(n)+1)+(1-ρ(n))c(μ(n)), 0≦n<20MS
【0104】
ここで、μ(n)およびρ(n)は、それぞれ32・n/M
Aの整数部および分数部として定められる。サンプルは、加算されて、4M
S要素の配列uを生成してよい。2M
S個の新しい複素数値のサブバンドサンプルは、行列ベクトル乗算M・uに基づき計算されてよい。ここで、次式の通りである:
【数22】
【0105】
上式で、exp()は、複素指数関数を表し、iは虚数単位である。
【0106】
行列M(k,n)(つまり、そのエントリ)を決定する式は、実行時の前に(例えば予め計算された)行列(またはエントリ)を導出するためにオフラインで実施されてよい。実行時に、予め計算された行列は、計算することなく、必要に応じて参照されてよい。例えば、行列M(k,n)は、1つ以上のルックアップテーブルから取得され(例えば、読み出され、検索され)てよい。ルックアップテーブル内の行列エントリの実際の構成は、デコーダが適切な行列エントリを実行時に読み出すルーチンを提供される限り、変化してよい。
【0107】
ある実装では、始めに(実行時)計算する代わりに、MSの全ての可能な値(例えばMS=8,16,24,32,40)についてM(k,n)が計算され、表に格納されてよい。ルックアップテーブルは、analy_cos_sin_tab_kl_8,analy_cos_sin_tab_kl_16,analy_cos_sin_tab_kl_24,analy_cos_sin_tab_kl_32,analy_cos_sin_tab_kl_40という名称であり、以下に示される。
【0108】
表内の全ての偶数でインデックス付けされた要素は、上述の複素数値の係数(M(k,n)の行列エントリ)の実数部(コサイン値)に対応してよく、奇数でインデックス付けされた要素は、上述の複素数値の係数の虚数部(サイン値)に対応してよい。
【0109】
所与のMSに対応する複素数値の合係数は、8*(Ms)2であり、処理を達成するためには、値の半分4*(Ms)2のみで十分である。
【0110】
関数ixheaacd_complex_anal_filtは、表がどのように使用されるかを説明する。これは、この行列の中の値の周期的特性により達成される。
【数23-1】
【数23-2】
【0111】
表自体は、以下のように与えられ得る。
const FLOAT32 analy_cos_sin_tab_kl_8 [8*8*2]={
0.000000f, -1.000000f, 0.195090f, -0.980785f,
0.382683f, -0.923880f, 0.555570f, -0.831470f,
0.707107f, -0.707107f, 0.831470f, -0.555570f,
0.923880f, -0.382683f, 0.980785f, -0.195090f,
-0.000000f, 1.000000f, -0.555570f, 0.831470f,
-0.923880f, 0.382683f, -0.980785f, -0.195090f,
-0.707107f, -0.707107f, -0.195090f, -0.980785f,
0.382683f, -0.923880f, 0.831470f, -0.555570f,
0.000000f, -1.000000f, 0.831470f, -0.555570f,
0.923880f, 0.382683f, 0.195090f, 0.980785f,
-0.707107f, 0.707107f, -0.980785f, -0.195090f,
-0.382683f, -0.923880f, 0.555570f, -0.831470f,
-0.000000f, 1.000000f, -0.980785f, 0.195090f,
-0.382683f, -0.923880f, 0.831470f, -0.555570f,
0.707107f, 0.707107f, -0.555570f, 0.831470f,
-0.923880f, -0.382683f, 0.195090f, -0.980785f,
0.000000f, -1.000000f, 0.980785f, 0.195090f,
-0.382683f, 0.923880f, -0.831470f, -0.555570f,
0.707107f, -0.707107f, 0.555570f, 0.831470f,
-0.923880f, 0.382683f, -0.195090f, -0.980785f,
-0.000000f, 1.000000f, -0.831470f, -0.555570f,
0.923880f, -0.382683f, -0.195090f, 0.980785f,
-0.707107f, -0.707107f, 0.980785f, -0.195090f,
-0.382683f, 0.923880f, -0.555570f, -0.831470f,
-0.000000f, -1.000000f, 0.555570f, 0.831470f,
-0.923880f, -0.382683f, 0.980785f, -0.195090f,
-0.707107f, 0.707107f, 0.195090f, -0.980785f,
0.382683f, 0.923880f, -0.831470f, -0.555570f,
-0.000000f, 1.000000f, -0.195090f, -0.980785f,
0.382683f, 0.923880f, -0.555570f, -0.831470f,
0.707107f, 0.707107f, -0.831470f, -0.555570f,
0.923880f, 0.382683f, -0.980785f, -0.195090f,
};
const FLOAT32 analy_cos_sin_tab_kl_16 [16*16*2]={
0.000000f, -1.000000f, 0.098017f, -0.995185f,
0.195090f, -0.980785f, 0.290285f, -0.956940f,
0.382683f, -0.923880f, 0.471397f, -0.881921f,
0.555570f, -0.831470f, 0.634393f, -0.773010f,
0.707107f, -0.707107f, 0.773010f, -0.634393f,
0.831470f, -0.555570f, 0.881921f, -0.471397f,
0.923880f, -0.382683f, 0.956940f, -0.290285f,
0.980785f, -0.195090f, 0.995185f, -0.098017f,
-0.000000f, 1.000000f, -0.290285f, 0.956940f,
-0.555570f, 0.831470f, -0.773010f, 0.634393f,
-0.923880f, 0.382683f, -0.995185f, 0.098017f,
-0.980785f, -0.195090f, -0.881921f, -0.471397f,
-0.707107f, -0.707107f, -0.471397f, -0.881921f,
-0.195090f, -0.980785f, 0.098017f, -0.995185f,
0.382683f, -0.923880f, 0.634393f, -0.773010f,
0.831470f, -0.555570f, 0.956940f, -0.290285f,
0.000000f, -1.000000f, 0.471397f, -0.881921f,
0.831470f, -0.555570f, 0.995185f, -0.098017f,
0.923880f, 0.382683f, 0.634393f, 0.773010f,
0.195090f, 0.980785f, -0.290285f, 0.956940f,
-0.707107f, 0.707107f, -0.956940f, 0.290285f,
-0.980785f, -0.195090f, -0.773010f, -0.634393f,
-0.382683f, -0.923880f, 0.098017f, -0.995185f,
0.555570f, -0.831470f, 0.881921f, -0.471397f,
-0.000000f, 1.000000f, -0.634393f, 0.773010f,
-0.980785f, 0.195090f, -0.881921f, -0.471397f,
-0.382683f, -0.923880f, 0.290285f, -0.956940f,
0.831470f, -0.555570f, 0.995185f, 0.098017f,
0.707107f, 0.707107f, 0.098017f, 0.995185f,
-0.555570f, 0.831470f, -0.956940f, 0.290285f,
-0.923880f, -0.382683f, -0.471397f, -0.881921f,
0.195090f, -0.980785f, 0.773010f, -0.634393f,
0.000000f, -1.000000f, 0.773010f, -0.634393f,
0.980785f, 0.195090f, 0.471397f, 0.881921f,
-0.382683f, 0.923880f, -0.956940f, 0.290285f,
-0.831470f, -0.555570f, -0.098017f, -0.995185f,
0.707107f, -0.707107f, 0.995185f, 0.098017f,
0.555570f, 0.831470f, -0.290285f, 0.956940f,
-0.923880f, 0.382683f, -0.881921f, -0.471397f,
-0.195090f, -0.980785f, 0.634393f, -0.773010f,
-0.000000f, 1.000000f, -0.881921f, 0.471397f,
-0.831470f, -0.555570f, 0.098017f, -0.995185f,
0.923880f, -0.382683f, 0.773010f, 0.634393f,
-0.195090f, 0.980785f, -0.956940f, 0.290285f,
-0.707107f, -0.707107f, 0.290285f, -0.956940f,
0.980785f, -0.195090f, 0.634393f, 0.773010f,
-0.382683f, 0.923880f, -0.995185f, 0.098017f,
-0.555570f, -0.831470f, 0.471397f, -0.881921f,
-0.000000f, -1.000000f, 0.956940f, -0.290285f,
0.555570f, 0.831470f, -0.634393f, 0.773010f,
-0.923880f, -0.382683f, 0.098017f, -0.995185f,
0.980785f, -0.195090f, 0.471397f, 0.881921f,
-0.707107f, 0.707107f, -0.881921f, -0.471397f,
0.195090f, -0.980785f, 0.995185f, -0.098017f,
0.382683f, 0.923880f, -0.773010f, 0.634393f,
-0.831470f, -0.555570f, 0.290285f, -0.956940f,
-0.000000f, 1.000000f, -0.995185f, 0.098017f,
-0.195090f, -0.980785f, 0.956940f, -0.290285f,
0.382683f, 0.923880f, -0.881921f, 0.471397f,
-0.555570f, -0.831470f, 0.773010f, -0.634393f,
0.707107f, 0.707107f, -0.634393f, 0.773010f,
-0.831470f, -0.555570f, 0.471397f, -0.881921f,
0.923880f, 0.382683f, -0.290285f, 0.956940f,
-0.980785f, -0.195090f, 0.098017f, -0.995185f,
-0.000000f, -1.000000f, 0.995185f, 0.098017f,
-0.195090f, 0.980785f, -0.956940f, -0.290285f,
0.382683f, -0.923880f, 0.881921f, 0.471397f,
-0.555570f, 0.831470f, -0.773010f, -0.634393f,
0.707107f, -0.707107f, 0.634393f, 0.773010f,
-0.831470f, 0.555570f, -0.471397f, -0.881921f,
0.923880f, -0.382683f, 0.290285f, 0.956940f,
-0.980785f, 0.195090f, -0.098017f, -0.995185f,
-0.000000f, 1.000000f, -0.956940f, -0.290285f,
0.555570f, -0.831470f, 0.634393f, 0.773010f,
-0.923880f, 0.382683f, -0.098017f, -0.995185f,
0.980785f, 0.195090f, -0.471397f, 0.881921f,
-0.707107f, -0.707107f, 0.881921f, -0.471397f,
0.195090f, 0.980785f, -0.995185f, -0.098017f,
0.382683f, -0.923880f, 0.773010f, 0.634393f,
-0.831470f, 0.555570f, -0.290285f, -0.956940f,
-0.000000f, -1.000000f, 0.881921f, 0.471397f,
-0.831470f, 0.555570f, -0.098017f, -0.995185f,
0.923880f, 0.382683f, -0.773010f, 0.634393f,
-0.195090f, -0.980785f, 0.956940f, 0.290285f,
-0.707107f, 0.707107f, -0.290285f, -0.956940f,
0.980785f, 0.195090f, -0.634393f, 0.773010f,
-0.382683f, -0.923880f, 0.995185f, 0.098017f,
-0.555570f, 0.831470f, -0.471397f, -0.881921f,
-0.000000f, 1.000000f, -0.773010f, -0.634393f,
0.980785f, -0.195090f, -0.471397f, 0.881921f,
-0.382683f, -0.923880f, 0.956940f, 0.290285f,
-0.831470f, 0.555570f, 0.098017f, -0.995185f,
0.707107f, 0.707107f, -0.995185f, 0.098017f,
0.555570f, -0.831470f, 0.290285f, 0.956940f,
-0.923880f, -0.382683f, 0.881921f, -0.471397f,
-0.195090f, 0.980785f, -0.634393f, -0.773010f,
-0.000000f, -1.000000f, 0.634393f, 0.773010f,
-0.980785f, -0.195090f, 0.881921f, -0.471397f,
-0.382683f, 0.923880f, -0.290285f, -0.956940f,
0.831470f, 0.555570f, -0.995185f, 0.098017f,
0.707107f, -0.707107f, -0.098017f, 0.995185f,
-0.555570f, -0.831470f, 0.956940f, 0.290285f,
-0.923880f, 0.382683f, 0.471397f, -0.881921f,
0.195090f, 0.980785f, -0.773010f, -0.634393f,
-0.000000f, 1.000000f, -0.471397f, -0.881921f,
0.831470f, 0.555570f, -0.995185f, -0.098017f,
0.923880f, -0.382683f, -0.634393f, 0.773010f,
0.195090f, -0.980785f, 0.290285f, 0.956940f,
-0.707107f, -0.707107f, 0.956940f, 0.290285f,
-0.980785f, 0.195090f, 0.773010f, -0.634393f,
-0.382683f, 0.923880f, -0.098017f, -0.995185f,
0.555570f, 0.831470f, -0.881921f, -0.471397f,
-0.000000f, -1.000000f, 0.290285f, 0.956940f,
-0.555570f, -0.831470f, 0.773010f, 0.634393f,
-0.923880f, -0.382683f, 0.995185f, 0.098017f,
-0.980785f, 0.195090f, 0.881921f, -0.471397f,
-0.707107f, 0.707107f, 0.471397f, -0.881921f,
-0.195090f, 0.980785f, -0.098017f, -0.995185f,
0.382683f, 0.923880f, -0.634393f, -0.773010f,
0.831470f, 0.555570f, -0.956940f, -0.290285f,
-0.000000f, 1.000000f, -0.098017f, -0.995185f,
0.195090f, 0.980785f, -0.290285f, -0.956940f,
0.382683f, 0.923880f, -0.471397f, -0.881921f,
0.555570f, 0.831470f, -0.634393f, -0.773010f,
0.707107f, 0.707107f, -0.773010f, -0.634393f,
0.831470f, 0.555570f, -0.881921f, -0.471397f,
0.923880f, 0.382683f, -0.956940f, -0.290285f,
0.980785f, 0.195090f, -0.995185f, -0.098017f,
};
const FLOAT32 analy_cos_sin_tab_kl_24 [24*24*2]={
-0.000000f, -1.000000f, 0.065403f, -0.997859f,
0.130526f, -0.991445f, 0.195090f, -0.980785f,
0.258819f, -0.965926f, 0.321439f, -0.946930f,
0.382683f, -0.923880f, 0.442289f, -0.896873f,
0.500000f, -0.866025f, 0.555570f, -0.831470f,
0.608761f, -0.793353f, 0.659346f, -0.751840f,
0.707107f, -0.707107f, 0.751840f, -0.659346f,
0.793353f, -0.608761f, 0.831470f, -0.555570f,
0.866025f, -0.500000f, 0.896873f, -0.442289f,
0.923880f, -0.382683f, 0.946930f, -0.321439f,
0.965926f, -0.258819f, 0.980785f, -0.195090f,
0.991445f, -0.130526f, 0.997859f, -0.065403f,
0.000000f, 1.000000f, -0.195090f, 0.980785f,
-0.382683f, 0.923880f, -0.555570f, 0.831470f,
-0.707107f, 0.707107f, -0.831470f, 0.555570f,
-0.923880f, 0.382683f, -0.980785f, 0.195090f,
-1.000000f, 0.000000f, -0.980785f, -0.195090f,
-0.923880f, -0.382683f, -0.831470f, -0.555570f,
-0.707107f, -0.707107f, -0.555570f, -0.831470f,
-0.382683f, -0.923880f, -0.195090f, -0.980785f,
-0.000000f, -1.000000f, 0.195090f, -0.980785f,
0.382683f, -0.923880f, 0.555570f, -0.831470f,
0.707107f, -0.707107f, 0.831470f, -0.555570f,
0.923880f, -0.382683f, 0.980785f, -0.195090f,
-0.000000f, -1.000000f, 0.321439f, -0.946930f,
0.608761f, -0.793353f, 0.831470f, -0.555570f,
0.965926f, -0.258819f, 0.997859f, 0.065403f,
0.923880f, 0.382683f, 0.751840f, 0.659346f,
0.500000f, 0.866025f, 0.195090f, 0.980785f,
-0.130526f, 0.991445f, -0.442289f, 0.896873f,
-0.707107f, 0.707107f, -0.896873f, 0.442289f,
-0.991445f, 0.130526f, -0.980785f, -0.195090f,
-0.866025f, -0.500000f, -0.659346f, -0.751840f,
-0.382683f, -0.923880f, -0.065403f, -0.997859f,
0.258819f, -0.965926f, 0.555570f, -0.831470f,
0.793353f, -0.608761f, 0.946930f, -0.321439f,
0.000000f, 1.000000f, -0.442289f, 0.896873f,
-0.793353f, 0.608761f, -0.980785f, 0.195090f,
-0.965926f, -0.258819f, -0.751840f, -0.659346f,
-0.382683f, -0.923880f, 0.065403f, -0.997859f,
0.500000f, -0.866025f, 0.831470f, -0.555570f,
0.991445f, -0.130526f, 0.946930f, 0.321439f,
0.707107f, 0.707107f, 0.321439f, 0.946930f,
-0.130526f, 0.991445f, -0.555570f, 0.831470f,
-0.866025f, 0.500000f, -0.997859f, 0.065403f,
-0.923880f, -0.382683f, -0.659346f, -0.751840f,
-0.258819f, -0.965926f, 0.195090f, -0.980785f,
0.608761f, -0.793353f, 0.896873f, -0.442289f,
-0.000000f, -1.000000f, 0.555570f, -0.831470f,
0.923880f, -0.382683f, 0.980785f, 0.195090f,
0.707107f, 0.707107f, 0.195090f, 0.980785f,
-0.382683f, 0.923880f, -0.831470f, 0.555570f,
-1.000000f, 0.000000f, -0.831470f, -0.555570f,
-0.382683f, -0.923880f, 0.195090f, -0.980785f,
0.707107f, -0.707107f, 0.980785f, -0.195090f,
0.923880f, 0.382683f, 0.555570f, 0.831470f,
0.000000f, 1.000000f, -0.555570f, 0.831470f,
-0.923880f, 0.382683f, -0.980785f, -0.195090f,
-0.707107f, -0.707107f, -0.195090f, -0.980785f,
0.382683f, -0.923880f, 0.831470f, -0.555570f,
0.000000f, 1.000000f, -0.659346f, 0.751840f,
-0.991445f, 0.130526f, -0.831470f, -0.555570f,
-0.258819f, -0.965926f, 0.442289f, -0.896873f,
0.923880f, -0.382683f, 0.946930f, 0.321439f,
0.500000f, 0.866025f, -0.195090f, 0.980785f,
-0.793353f, 0.608761f, -0.997859f, -0.065403f,
-0.707107f, -0.707107f, -0.065403f, -0.997859f,
0.608761f, -0.793353f, 0.980785f, -0.195090f,
0.866025f, 0.500000f, 0.321439f, 0.946930f,
-0.382683f, 0.923880f, -0.896873f, 0.442289f,
-0.965926f, -0.258819f, -0.555570f, -0.831470f,
0.130526f, -0.991445f, 0.751840f, -0.659346f,
-0.000000f, -1.000000f, 0.751840f, -0.659346f,
0.991445f, 0.130526f, 0.555570f, 0.831470f,
-0.258819f, 0.965926f, -0.896873f, 0.442289f,
-0.923880f, -0.382683f, -0.321439f, -0.946930f,
0.500000f, -0.866025f, 0.980785f, -0.195090f,
0.793353f, 0.608761f, 0.065403f, 0.997859f,
-0.707107f, 0.707107f, -0.997859f, -0.065403f,
-0.608761f, -0.793353f, 0.195090f, -0.980785f,
0.866025f, -0.500000f, 0.946930f, 0.321439f,
0.382683f, 0.923880f, -0.442289f, 0.896873f,
-0.965926f, 0.258819f, -0.831470f, -0.555570f,
-0.130526f, -0.991445f, 0.659346f, -0.751840f,
0.000000f, 1.000000f, -0.831470f, 0.555570f,
-0.923880f, -0.382683f, -0.195090f, -0.980785f,
0.707107f, -0.707107f, 0.980785f, 0.195090f,
0.382683f, 0.923880f, -0.555570f, 0.831470f,
-1.000000f, 0.000000f, -0.555570f, -0.831470f,
0.382683f, -0.923880f, 0.980785f, -0.195090f,
0.707107f, 0.707107f, -0.195090f, 0.980785f,
-0.923880f, 0.382683f, -0.831470f, -0.555570f,
-0.000000f, -1.000000f, 0.831470f, -0.555570f,
0.923880f, 0.382683f, 0.195090f, 0.980785f,
-0.707107f, 0.707107f, -0.980785f, -0.195090f,
-0.382683f, -0.923880f, 0.555570f, -0.831470f,
-0.000000f, -1.000000f, 0.896873f, -0.442289f,
0.793353f, 0.608761f, -0.195090f, 0.980785f,
-0.965926f, 0.258819f, -0.659346f, -0.751840f,
0.382683f, -0.923880f, 0.997859f, -0.065403f,
0.500000f, 0.866025f, -0.555570f, 0.831470f,
-0.991445f, -0.130526f, -0.321439f, -0.946930f,
0.707107f, -0.707107f, 0.946930f, 0.321439f,
0.130526f, 0.991445f, -0.831470f, 0.555570f,
-0.866025f, -0.500000f, 0.065403f, -0.997859f,
0.923880f, -0.382683f, 0.751840f, 0.659346f,
-0.258819f, 0.965926f, -0.980785f, 0.195090f,
-0.608761f, -0.793353f, 0.442289f, -0.896873f,
0.000000f, 1.000000f, -0.946930f, 0.321439f,
-0.608761f, -0.793353f, 0.555570f, -0.831470f,
0.965926f, 0.258819f, 0.065403f, 0.997859f,
-0.923880f, 0.382683f, -0.659346f, -0.751840f,
0.500000f, -0.866025f, 0.980785f, 0.195090f,
0.130526f, 0.991445f, -0.896873f, 0.442289f,
-0.707107f, -0.707107f, 0.442289f, -0.896873f,
0.991445f, 0.130526f, 0.195090f, 0.980785f,
-0.866025f, 0.500000f, -0.751840f, -0.659346f,
0.382683f, -0.923880f, 0.997859f, 0.065403f,
0.258819f, 0.965926f, -0.831470f, 0.555570f,
-0.793353f, -0.608761f, 0.321439f, -0.946930f,
-0.000000f, -1.000000f, 0.980785f, -0.195090f,
0.382683f, 0.923880f, -0.831470f, 0.555570f,
-0.707107f, -0.707107f, 0.555570f, -0.831470f,
0.923880f, 0.382683f, -0.195090f, 0.980785f,
-1.000000f, 0.000000f, -0.195090f, -0.980785f,
0.923880f, -0.382683f, 0.555570f, 0.831470f,
-0.707107f, 0.707107f, -0.831470f, -0.555570f,
0.382683f, -0.923880f, 0.980785f, 0.195090f,
0.000000f, 1.000000f, -0.980785f, 0.195090f,
-0.382683f, -0.923880f, 0.831470f, -0.555570f,
0.707107f, 0.707107f, -0.555570f, 0.831470f,
-0.923880f, -0.382683f, 0.195090f, -0.980785f,
0.000000f, 1.000000f, -0.997859f, 0.065403f,
-0.130526f, -0.991445f, 0.980785f, -0.195090f,
0.258819f, 0.965926f, -0.946930f, 0.321439f,
-0.382683f, -0.923880f, 0.896873f, -0.442289f,
0.500000f, 0.866025f, -0.831470f, 0.555570f,
-0.608761f, -0.793353f, 0.751840f, -0.659346f,
0.707107f, 0.707107f, -0.659346f, 0.751840f,
-0.793353f, -0.608761f, 0.555570f, -0.831470f,
0.866025f, 0.500000f, -0.442289f, 0.896873f,
-0.923880f, -0.382683f, 0.321439f, -0.946930f,
0.965926f, 0.258819f, -0.195090f, 0.980785f,
-0.991445f, -0.130526f, 0.065403f, -0.997859f,
-0.000000f, -1.000000f, 0.997859f, 0.065403f,
-0.130526f, 0.991445f, -0.980785f, -0.195090f,
0.258819f, -0.965926f, 0.946930f, 0.321439f,
-0.382683f, 0.923880f, -0.896873f, -0.442289f,
0.500000f, -0.866025f, 0.831470f, 0.555570f,
-0.608761f, 0.793353f, -0.751840f, -0.659346f,
0.707107f, -0.707107f, 0.659346f, 0.751840f,
-0.793353f, 0.608761f, -0.555570f, -0.831470f,
0.866025f, -0.500000f, 0.442289f, 0.896873f,
-0.923880f, 0.382683f, -0.321439f, -0.946930f,
0.965926f, -0.258819f, 0.195090f, 0.980785f,
-0.991445f, 0.130526f, -0.065403f, -0.997859f,
0.000000f, 1.000000f, -0.980785f, -0.195090f,
0.382683f, -0.923880f, 0.831470f, 0.555570f,
-0.707107f, 0.707107f, -0.555570f, -0.831470f,
0.923880f, -0.382683f, 0.195090f, 0.980785f,
-1.000000f, 0.000000f, 0.195090f, -0.980785f,
0.923880f, 0.382683f, -0.555570f, 0.831470f,
-0.707107f, -0.707107f, 0.831470f, -0.555570f,
0.382683f, 0.923880f, -0.980785f, 0.195090f,
-0.000000f, -1.000000f, 0.980785f, 0.195090f,
-0.382683f, 0.923880f, -0.831470f, -0.555570f,
0.707107f, -0.707107f, 0.555570f, 0.831470f,
-0.923880f, 0.382683f, -0.195090f, -0.980785f,
-0.000000f, -1.000000f, 0.946930f, 0.321439f,
-0.608761f, 0.793353f, -0.555570f, -0.831470f,
0.965926f, -0.258819f, -0.065403f, 0.997859f,
-0.923880f, -0.382683f, 0.659346f, -0.751840f,
0.500000f, 0.866025f, -0.980785f, 0.195090f,
0.130526f, -0.991445f, 0.896873f, 0.442289f,
-0.707107f, 0.707107f, -0.442289f, -0.896873f,
0.991445f, -0.130526f, -0.195090f, 0.980785f,
-0.866025f, -0.500000f, 0.751840f, -0.659346f,
0.382683f, 0.923880f, -0.997859f, 0.065403f,
0.258819f, -0.965926f, 0.831470f, 0.555570f,
-0.793353f, 0.608761f, -0.321439f, -0.946930f,
0.000000f, 1.000000f, -0.896873f, -0.442289f,
0.793353f, -0.608761f, 0.195090f, 0.980785f,
-0.965926f, -0.258819f, 0.659346f, -0.751840f,
0.382683f, 0.923880f, -0.997859f, -0.065403f,
0.500000f, -0.866025f, 0.555570f, 0.831470f,
-0.991445f, 0.130526f, 0.321439f, -0.946930f,
0.707107f, 0.707107f, -0.946930f, 0.321439f,
0.130526f, -0.991445f, 0.831470f, 0.555570f,
-0.866025f, 0.500000f, -0.065403f, -0.997859f,
0.923880f, 0.382683f, -0.751840f, 0.659346f,
-0.258819f, -0.965926f, 0.980785f, 0.195090f,
-0.608761f, 0.793353f, -0.442289f, -0.896873f,
-0.000000f, -1.000000f, 0.831470f, 0.555570f,
-0.923880f, 0.382683f, 0.195090f, -0.980785f,
0.707107f, 0.707107f, -0.980785f, 0.195090f,
0.382683f, -0.923880f, 0.555570f, 0.831470f,
-1.000000f, 0.000000f, 0.555570f, -0.831470f,
0.382683f, 0.923880f, -0.980785f, -0.195090f,
0.707107f, -0.707107f, 0.195090f, 0.980785f,
-0.923880f, -0.382683f, 0.831470f, -0.555570f,
0.000000f, 1.000000f, -0.831470f, -0.555570f,
0.923880f, -0.382683f, -0.195090f, 0.980785f,
-0.707107f, -0.707107f, 0.980785f, -0.195090f,
-0.382683f, 0.923880f, -0.555570f, -0.831470f,
0.000000f, 1.000000f, -0.751840f, -0.659346f,
0.991445f, -0.130526f, -0.555570f, 0.831470f,
-0.258819f, -0.965926f, 0.896873f, 0.442289f,
-0.923880f, 0.382683f, 0.321439f, -0.946930f,
0.500000f, 0.866025f, -0.980785f, -0.195090f,
0.793353f, -0.608761f, -0.065403f, 0.997859f,
-0.707107f, -0.707107f, 0.997859f, -0.065403f,
-0.608761f, 0.793353f, -0.195090f, -0.980785f,
0.866025f, 0.500000f, -0.946930f, 0.321439f,
0.382683f, -0.923880f, 0.442289f, 0.896873f,
-0.965926f, -0.258819f, 0.831470f, -0.555570f,
-0.130526f, 0.991445f, -0.659346f, -0.751840f,
-0.000000f, -1.000000f, 0.659346f, 0.751840f,
-0.991445f, -0.130526f, 0.831470f, -0.555570f,
-0.258819f, 0.965926f, -0.442289f, -0.896873f,
0.923880f, 0.382683f, -0.946930f, 0.321439f,
0.500000f, -0.866025f, 0.195090f, 0.980785f,
-0.793353f, -0.608761f, 0.997859f, -0.065403f,
-0.707107f, 0.707107f, 0.065403f, -0.997859f,
0.608761f, 0.793353f, -0.980785f, -0.195090f,
0.866025f, -0.500000f, -0.321439f, 0.946930f,
-0.382683f, -0.923880f, 0.896873f, 0.442289f,
-0.965926f, 0.258819f, 0.555570f, -0.831470f,
0.130526f, 0.991445f, -0.751840f, -0.659346f,
0.000000f, 1.000000f, -0.555570f, -0.831470f,
0.923880f, 0.382683f, -0.980785f, 0.195090f,
0.707107f, -0.707107f, -0.195090f, 0.980785f,
-0.382683f, -0.923880f, 0.831470f, 0.555570f,
-1.000000f, 0.000000f, 0.831470f, -0.555570f,
-0.382683f, 0.923880f, -0.195090f, -0.980785f,
0.707107f, 0.707107f, -0.980785f, -0.195090f,
0.923880f, -0.382683f, -0.555570f, 0.831470f,
-0.000000f, -1.000000f, 0.555570f, 0.831470f,
-0.923880f, -0.382683f, 0.980785f, -0.195090f,
-0.707107f, 0.707107f, 0.195090f, -0.980785f,
0.382683f, 0.923880f, -0.831470f, -0.555570f,
-0.000000f, -1.000000f, 0.442289f, 0.896873f,
-0.793353f, -0.608761f, 0.980785f, 0.195090f,
-0.965926f, 0.258819f, 0.751840f, -0.659346f,
-0.382683f, 0.923880f, -0.065403f, -0.997859f,
0.500000f, 0.866025f, -0.831470f, -0.555570f,
0.991445f, 0.130526f, -0.946930f, 0.321439f,
0.707107f, -0.707107f, -0.321439f, 0.946930f,
-0.130526f, -0.991445f, 0.555570f, 0.831470f,
-0.866025f, -0.500000f, 0.997859f, 0.065403f,
-0.923880f, 0.382683f, 0.659346f, -0.751840f,
-0.258819f, 0.965926f, -0.195090f, -0.980785f,
0.608761f, 0.793353f, -0.896873f, -0.442289f,
0.000000f, 1.000000f, -0.321439f, -0.946930f,
0.608761f, 0.793353f, -0.831470f, -0.555570f,
0.965926f, 0.258819f, -0.997859f, 0.065403f,
0.923880f, -0.382683f, -0.751840f, 0.659346f,
0.500000f, -0.866025f, -0.195090f, 0.980785f,
-0.130526f, -0.991445f, 0.442289f, 0.896873f,
-0.707107f, -0.707107f, 0.896873f, 0.442289f,
-0.991445f, -0.130526f, 0.980785f, -0.195090f,
-0.866025f, 0.500000f, 0.659346f, -0.751840f,
-0.382683f, 0.923880f, 0.065403f, -0.997859f,
0.258819f, 0.965926f, -0.555570f, -0.831470f,
0.793353f, 0.608761f, -0.946930f, -0.321439f,
0.000000f, -1.000000f, 0.195090f, 0.980785f,
-0.382683f, -0.923880f, 0.555570f, 0.831470f,
-0.707107f, -0.707107f, 0.831470f, 0.555570f,
-0.923880f, -0.382683f, 0.980785f, 0.195090f,
-1.000000f, 0.000000f, 0.980785f, -0.195090f,
-0.923880f, 0.382683f, 0.831470f, -0.555570f,
-0.707107f, 0.707107f, 0.555570f, -0.831470f,
-0.382683f, 0.923880f, 0.195090f, -0.980785f,
0.000000f, 1.000000f, -0.195090f, -0.980785f,
0.382683f, 0.923880f, -0.555570f, -0.831470f,
0.707107f, 0.707107f, -0.831470f, -0.555570f,
0.923880f, 0.382683f, -0.980785f, -0.195090f,
0.000000f, 1.000000f, -0.065403f, -0.997859f,
0.130526f, 0.991445f, -0.195090f, -0.980785f,
0.258819f, 0.965926f, -0.321439f, -0.946930f,
0.382683f, 0.923880f, -0.442289f, -0.896873f,
0.500000f, 0.866025f, -0.555570f, -0.831470f,
0.608761f, 0.793353f, -0.659346f, -0.751840f,
0.707107f, 0.707107f, -0.751840f, -0.659346f,
0.793353f, 0.608761f, -0.831470f, -0.555570f,
0.866025f, 0.500000f, -0.896873f, -0.442289f,
0.923880f, 0.382683f, -0.946930f, -0.321439f,
0.965926f, 0.258819f, -0.980785f, -0.195090f,
0.991445f, 0.130526f, -0.997859f, -0.065403f,
};
const FLOAT32 analy_cos_sin_tab_kl_32 [32*32*2]={
0.000000f, -1.000000f, 0.049068f, -0.998795f,
0.098017f, -0.995185f, 0.146730f, -0.989177f,
0.195090f, -0.980785f, 0.242980f, -0.970031f,
0.290285f, -0.956940f, 0.336890f, -0.941544f,
0.382683f, -0.923880f, 0.427555f, -0.903989f,
0.471397f, -0.881921f, 0.514103f, -0.857729f,
0.555570f, -0.831470f, 0.595699f, -0.803208f,
0.634393f, -0.773010f, 0.671559f, -0.740951f,
0.707107f, -0.707107f, 0.740951f, -0.671559f,
0.773010f, -0.634393f, 0.803208f, -0.595699f,
0.831470f, -0.555570f, 0.857729f, -0.514103f,
0.881921f, -0.471397f, 0.903989f, -0.427555f,
0.923880f, -0.382683f, 0.941544f, -0.336890f,
0.956940f, -0.290285f, 0.970031f, -0.242980f,
0.980785f, -0.195090f, 0.989177f, -0.146730f,
0.995185f, -0.098017f, 0.998795f, -0.049068f,
-0.000000f, 1.000000f, -0.146730f, 0.989177f,
-0.290285f, 0.956940f, -0.427555f, 0.903989f,
-0.555570f, 0.831470f, -0.671559f, 0.740951f,
-0.773010f, 0.634393f, -0.857729f, 0.514103f,
-0.923880f, 0.382683f, -0.970031f, 0.242980f,
-0.995185f, 0.098017f, -0.998795f, -0.049068f,
-0.980785f, -0.195090f, -0.941544f, -0.336890f,
-0.881921f, -0.471397f, -0.803208f, -0.595699f,
-0.707107f, -0.707107f, -0.595699f, -0.803208f,
-0.471397f, -0.881921f, -0.336890f, -0.941544f,
-0.195090f, -0.980785f, -0.049068f, -0.998795f,
0.098017f, -0.995185f, 0.242980f, -0.970031f,
0.382683f, -0.923880f, 0.514103f, -0.857729f,
0.634393f, -0.773010f, 0.740951f, -0.671559f,
0.831470f, -0.555570f, 0.903989f, -0.427555f,
0.956940f, -0.290285f, 0.989177f, -0.146730f,
0.000000f, -1.000000f, 0.242980f, -0.970031f,
0.471397f, -0.881921f, 0.671559f, -0.740951f,
0.831470f, -0.555570f, 0.941544f, -0.336890f,
0.995185f, -0.098017f, 0.989177f, 0.146730f,
0.923880f, 0.382683f, 0.803208f, 0.595699f,
0.634393f, 0.773010f, 0.427555f, 0.903989f,
0.195090f, 0.980785f, -0.049068f, 0.998795f,
-0.290285f, 0.956940f, -0.514103f, 0.857729f,
-0.707107f, 0.707107f, -0.857729f, 0.514103f,
-0.956940f, 0.290285f, -0.998795f, 0.049068f,
-0.980785f, -0.195090f, -0.903989f, -0.427555f,
-0.773010f, -0.634393f, -0.595699f, -0.803208f,
-0.382683f, -0.923880f, -0.146730f, -0.989177f,
0.098017f, -0.995185f, 0.336890f, -0.941544f,
0.555570f, -0.831470f, 0.740951f, -0.671559f,
0.881921f, -0.471397f, 0.970031f, -0.242980f,
-0.000000f, 1.000000f, -0.336890f, 0.941544f,
-0.634393f, 0.773010f, -0.857729f, 0.514103f,
-0.980785f, 0.195090f, -0.989177f, -0.146730f,
-0.881921f, -0.471397f, -0.671559f, -0.740951f,
-0.382683f, -0.923880f, -0.049068f, -0.998795f,
0.290285f, -0.956940f, 0.595699f, -0.803208f,
0.831470f, -0.555570f, 0.970031f, -0.242980f,
0.995185f, 0.098017f, 0.903989f, 0.427555f,
0.707107f, 0.707107f, 0.427555f, 0.903989f,
0.098017f, 0.995185f, -0.242980f, 0.970031f,
-0.555570f, 0.831470f, -0.803208f, 0.595699f,
-0.956940f, 0.290285f, -0.998795f, -0.049068f,
-0.923880f, -0.382683f, -0.740951f, -0.671559f,
-0.471397f, -0.881921f, -0.146730f, -0.989177f,
0.195090f, -0.980785f, 0.514103f, -0.857729f,
0.773010f, -0.634393f, 0.941544f, -0.336890f,
0.000000f, -1.000000f, 0.427555f, -0.903989f,
0.773010f, -0.634393f, 0.970031f, -0.242980f,
0.980785f, 0.195090f, 0.803208f, 0.595699f,
0.471397f, 0.881921f, 0.049068f, 0.998795f,
-0.382683f, 0.923880f, -0.740951f, 0.671559f,
-0.956940f, 0.290285f, -0.989177f, -0.146730f,
-0.831470f, -0.555570f, -0.514103f, -0.857729f,
-0.098017f, -0.995185f, 0.336890f, -0.941544f,
0.707107f, -0.707107f, 0.941544f, -0.336890f,
0.995185f, 0.098017f, 0.857729f, 0.514103f,
0.555570f, 0.831470f, 0.146730f, 0.989177f,
-0.290285f, 0.956940f, -0.671559f, 0.740951f,
-0.923880f, 0.382683f, -0.998795f, -0.049068f,
-0.881921f, -0.471397f, -0.595699f, -0.803208f,
-0.195090f, -0.980785f, 0.242980f, -0.970031f,
0.634393f, -0.773010f, 0.903989f, -0.427555f,
-0.000000f, 1.000000f, -0.514103f, 0.857729f,
-0.881921f, 0.471397f, -0.998795f, -0.049068f,
-0.831470f, -0.555570f, -0.427555f, -0.903989f,
0.098017f, -0.995185f, 0.595699f, -0.803208f,
0.923880f, -0.382683f, 0.989177f, 0.146730f,
0.773010f, 0.634393f, 0.336890f, 0.941544f,
-0.195090f, 0.980785f, -0.671559f, 0.740951f,
-0.956940f, 0.290285f, -0.970031f, -0.242980f,
-0.707107f, -0.707107f, -0.242980f, -0.970031f,
0.290285f, -0.956940f, 0.740951f, -0.671559f,
0.980785f, -0.195090f, 0.941544f, 0.336890f,
0.634393f, 0.773010f, 0.146730f, 0.989177f,
-0.382683f, 0.923880f, -0.803208f, 0.595699f,
-0.995185f, 0.098017f, -0.903989f, -0.427555f,
-0.555570f, -0.831470f, -0.049068f, -0.998795f,
0.471397f, -0.881921f, 0.857729f, -0.514103f,
-0.000000f, -1.000000f, 0.595699f, -0.803208f,
0.956940f, -0.290285f, 0.941544f, 0.336890f,
0.555570f, 0.831470f, -0.049068f, 0.998795f,
-0.634393f, 0.773010f, -0.970031f, 0.242980f,
-0.923880f, -0.382683f, -0.514103f, -0.857729f,
0.098017f, -0.995185f, 0.671559f, -0.740951f,
0.980785f, -0.195090f, 0.903989f, 0.427555f,
0.471397f, 0.881921f, -0.146730f, 0.989177f,
-0.707107f, 0.707107f, -0.989177f, 0.146730f,
-0.881921f, -0.471397f, -0.427555f, -0.903989f,
0.195090f, -0.980785f, 0.740951f, -0.671559f,
0.995185f, -0.098017f, 0.857729f, 0.514103f,
0.382683f, 0.923880f, -0.242980f, 0.970031f,
-0.773010f, 0.634393f, -0.998795f, 0.049068f,
-0.831470f, -0.555570f, -0.336890f, -0.941544f,
0.290285f, -0.956940f, 0.803208f, -0.595699f,
-0.000000f, 1.000000f, -0.671559f, 0.740951f,
-0.995185f, 0.098017f, -0.803208f, -0.595699f,
-0.195090f, -0.980785f, 0.514103f, -0.857729f,
0.956940f, -0.290285f, 0.903989f, 0.427555f,
0.382683f, 0.923880f, -0.336890f, 0.941544f,
-0.881921f, 0.471397f, -0.970031f, -0.242980f,
-0.555570f, -0.831470f, 0.146730f, -0.989177f,
0.773010f, -0.634393f, 0.998795f, 0.049068f,
0.707107f, 0.707107f, 0.049068f, 0.998795f,
-0.634393f, 0.773010f, -0.989177f, 0.146730f,
-0.831470f, -0.555570f, -0.242980f, -0.970031f,
0.471397f, -0.881921f, 0.941544f, -0.336890f,
0.923880f, 0.382683f, 0.427555f, 0.903989f,
-0.290285f, 0.956940f, -0.857729f, 0.514103f,
-0.980785f, -0.195090f, -0.595699f, -0.803208f,
0.098017f, -0.995185f, 0.740951f, -0.671559f,
-0.000000f, -1.000000f, 0.740951f, -0.671559f,
0.995185f, 0.098017f, 0.595699f, 0.803208f,
-0.195090f, 0.980785f, -0.857729f, 0.514103f,
-0.956940f, -0.290285f, -0.427555f, -0.903989f,
0.382683f, -0.923880f, 0.941544f, -0.336890f,
0.881921f, 0.471397f, 0.242980f, 0.970031f,
-0.555570f, 0.831470f, -0.989177f, 0.146730f,
-0.773010f, -0.634393f, -0.049068f, -0.998795f,
0.707107f, -0.707107f, 0.998795f, 0.049068f,
0.634393f, 0.773010f, -0.146730f, 0.989177f,
-0.831470f, 0.555570f, -0.970031f, -0.242980f,
-0.471397f, -0.881921f, 0.336890f, -0.941544f,
0.923880f, -0.382683f, 0.903989f, 0.427555f,
0.290285f, 0.956940f, -0.514103f, 0.857729f,
-0.980785f, 0.195090f, -0.803208f, -0.595699f,
-0.098017f, -0.995185f, 0.671559f, -0.740951f,
-0.000000f, 1.000000f, -0.803208f, 0.595699f,
-0.956940f, -0.290285f, -0.336890f, -0.941544f,
0.555570f, -0.831470f, 0.998795f, -0.049068f,
0.634393f, 0.773010f, -0.242980f, 0.970031f,
-0.923880f, 0.382683f, -0.857729f, -0.514103f,
-0.098017f, -0.995185f, 0.740951f, -0.671559f,
0.980785f, 0.195090f, 0.427555f, 0.903989f,
-0.471397f, 0.881921f, -0.989177f, 0.146730f,
-0.707107f, -0.707107f, 0.146730f, -0.989177f,
0.881921f, -0.471397f, 0.903989f, 0.427555f,
0.195090f, 0.980785f, -0.671559f, 0.740951f,
-0.995185f, -0.098017f, -0.514103f, -0.857729f,
0.382683f, -0.923880f, 0.970031f, -0.242980f,
0.773010f, 0.634393f, -0.049068f, 0.998795f,
-0.831470f, 0.555570f, -0.941544f, -0.336890f,
-0.290285f, -0.956940f, 0.595699f, -0.803208f,
-0.000000f, -1.000000f, 0.857729f, -0.514103f,
0.881921f, 0.471397f, 0.049068f, 0.998795f,
-0.831470f, 0.555570f, -0.903989f, -0.427555f,
-0.098017f, -0.995185f, 0.803208f, -0.595699f,
0.923880f, 0.382683f, 0.146730f, 0.989177f,
-0.773010f, 0.634393f, -0.941544f, -0.336890f,
-0.195090f, -0.980785f, 0.740951f, -0.671559f,
0.956940f, 0.290285f, 0.242980f, 0.970031f,
-0.707107f, 0.707107f, -0.970031f, -0.242980f,
-0.290285f, -0.956940f, 0.671559f, -0.740951f,
0.980785f, 0.195090f, 0.336890f, 0.941544f,
-0.634393f, 0.773010f, -0.989177f, -0.146730f,
-0.382683f, -0.923880f, 0.595699f, -0.803208f,
0.995185f, 0.098017f, 0.427555f, 0.903989f,
-0.555570f, 0.831470f, -0.998795f, -0.049068f,
-0.471397f, -0.881921f, 0.514103f, -0.857729f,
-0.000000f, 1.000000f, -0.903989f, 0.427555f,
-0.773010f, -0.634393f, 0.242980f, -0.970031f,
0.980785f, -0.195090f, 0.595699f, 0.803208f,
-0.471397f, 0.881921f, -0.998795f, -0.049068f,
-0.382683f, -0.923880f, 0.671559f, -0.740951f,
0.956940f, 0.290285f, 0.146730f, 0.989177f,
-0.831470f, 0.555570f, -0.857729f, -0.514103f,
0.098017f, -0.995185f, 0.941544f, -0.336890f,
0.707107f, 0.707107f, -0.336890f, 0.941544f,
-0.995185f, 0.098017f, -0.514103f, -0.857729f,
0.555570f, -0.831470f, 0.989177f, 0.146730f,
0.290285f, 0.956940f, -0.740951f, 0.671559f,
-0.923880f, -0.382683f, -0.049068f, -0.998795f,
0.881921f, -0.471397f, 0.803208f, 0.595699f,
-0.195090f, 0.980785f, -0.970031f, 0.242980f,
-0.634393f, -0.773010f, 0.427555f, -0.903989f,
-0.000000f, -1.000000f, 0.941544f, -0.336890f,
0.634393f, 0.773010f, -0.514103f, 0.857729f,
-0.980785f, -0.195090f, -0.146730f, -0.989177f,
0.881921f, -0.471397f, 0.740951f, 0.671559f,
-0.382683f, 0.923880f, -0.998795f, -0.049068f,
-0.290285f, -0.956940f, 0.803208f, -0.595699f,
0.831470f, 0.555570f, -0.242980f, 0.970031f,
-0.995185f, 0.098017f, -0.427555f, -0.903989f,
0.707107f, -0.707107f, 0.903989f, 0.427555f,
-0.098017f, 0.995185f, -0.970031f, 0.242980f,
-0.555570f, -0.831470f, 0.595699f, -0.803208f,
0.956940f, 0.290285f, 0.049068f, 0.998795f,
-0.923880f, 0.382683f, -0.671559f, -0.740951f,
0.471397f, -0.881921f, 0.989177f, 0.146730f,
0.195090f, 0.980785f, -0.857729f, 0.514103f,
-0.773010f, -0.634393f, 0.336890f, -0.941544f,
-0.000000f, 1.000000f, -0.970031f, 0.242980f,
-0.471397f, -0.881921f, 0.740951f, -0.671559f,
0.831470f, 0.555570f, -0.336890f, 0.941544f,
-0.995185f, -0.098017f, -0.146730f, -0.989177f,
0.923880f, -0.382683f, 0.595699f, 0.803208f,
-0.634393f, 0.773010f, -0.903989f, -0.427555f,
0.195090f, -0.980785f, 0.998795f, -0.049068f,
0.290285f, 0.956940f, -0.857729f, 0.514103f,
-0.707107f, -0.707107f, 0.514103f, -0.857729f,
0.956940f, 0.290285f, -0.049068f, 0.998795f,
-0.980785f, 0.195090f, -0.427555f, -0.903989f,
0.773010f, -0.634393f, 0.803208f, 0.595699f,
-0.382683f, 0.923880f, -0.989177f, -0.146730f,
-0.098017f, -0.995185f, 0.941544f, -0.336890f,
0.555570f, 0.831470f, -0.671559f, 0.740951f,
-0.881921f, -0.471397f, 0.242980f, -0.970031f,
-0.000000f, -1.000000f, 0.989177f, -0.146730f,
0.290285f, 0.956940f, -0.903989f, 0.427555f,
-0.555570f, -0.831470f, 0.740951f, -0.671559f,
0.773010f, 0.634393f, -0.514103f, 0.857729f,
-0.923880f, -0.382683f, 0.242980f, -0.970031f,
0.995185f, 0.098017f, 0.049068f, 0.998795f,
-0.980785f, 0.195090f, -0.336890f, -0.941544f,
0.881921f, -0.471397f, 0.595699f, 0.803208f,
-0.707107f, 0.707107f, -0.803208f, -0.595699f,
0.471397f, -0.881921f, 0.941544f, 0.336890f,
-0.195090f, 0.980785f, -0.998795f, -0.049068f,
-0.098017f, -0.995185f, 0.970031f, -0.242980f,
0.382683f, 0.923880f, -0.857729f, 0.514103f,
-0.634393f, -0.773010f, 0.671559f, -0.740951f,
0.831470f, 0.555570f, -0.427555f, 0.903989f,
-0.956940f, -0.290285f, 0.146730f, -0.989177f,
-0.000000f, 1.000000f, -0.998795f, 0.049068f,
-0.098017f, -0.995185f, 0.989177f, -0.146730f,
0.195090f, 0.980785f, -0.970031f, 0.242980f,
-0.290285f, -0.956940f, 0.941544f, -0.336890f,
0.382683f, 0.923880f, -0.903989f, 0.427555f,
-0.471397f, -0.881921f, 0.857729f, -0.514103f,
0.555570f, 0.831470f, -0.803208f, 0.595699f,
-0.634393f, -0.773010f, 0.740951f, -0.671559f,
0.707107f, 0.707107f, -0.671559f, 0.740951f,
-0.773010f, -0.634393f, 0.595699f, -0.803208f,
0.831470f, 0.555570f, -0.514103f, 0.857729f,
-0.881921f, -0.471397f, 0.427555f, -0.903989f,
0.923880f, 0.382683f, -0.336890f, 0.941544f,
-0.956940f, -0.290285f, 0.242980f, -0.970031f,
0.980785f, 0.195090f, -0.146730f, 0.989177f,
-0.995185f, -0.098017f, 0.049068f, -0.998795f,
0.000000f, -1.000000f, 0.998795f, 0.049068f,
-0.098017f, 0.995185f, -0.989177f, -0.146730f,
0.195090f, -0.980785f, 0.970031f, 0.242980f,
-0.290285f, 0.956940f, -0.941544f, -0.336890f,
0.382683f, -0.923880f, 0.903989f, 0.427555f,
-0.471397f, 0.881921f, -0.857729f, -0.514103f,
0.555570f, -0.831470f, 0.803208f, 0.595699f,
-0.634393f, 0.773010f, -0.740951f, -0.671559f,
0.707107f, -0.707107f, 0.671559f, 0.740951f,
-0.773010f, 0.634393f, -0.595699f, -0.803208f,
0.831470f, -0.555570f, 0.514103f, 0.857729f,
-0.881921f, 0.471397f, -0.427555f, -0.903989f,
0.923880f, -0.382683f, 0.336890f, 0.941544f,
-0.956940f, 0.290285f, -0.242980f, -0.970031f,
0.980785f, -0.195090f, 0.146730f, 0.989177f,
-0.995185f, 0.098017f, -0.049068f, -0.998795f,
-0.000000f, 1.000000f, -0.989177f, -0.146730f,
0.290285f, -0.956940f, 0.903989f, 0.427555f,
-0.555570f, 0.831470f, -0.740951f, -0.671559f,
0.773010f, -0.634393f, 0.514103f, 0.857729f,
-0.923880f, 0.382683f, -0.242980f, -0.970031f,
0.995185f, -0.098017f, -0.049068f, 0.998795f,
-0.980785f, -0.195090f, 0.336890f, -0.941544f,
0.881921f, 0.471397f, -0.595699f, 0.803208f,
-0.707107f, -0.707107f, 0.803208f, -0.595699f,
0.471397f, 0.881921f, -0.941544f, 0.336890f,
-0.195090f, -0.980785f, 0.998795f, -0.049068f,
-0.098017f, 0.995185f, -0.970031f, -0.242980f,
0.382683f, -0.923880f, 0.857729f, 0.514103f,
-0.634393f, 0.773010f, -0.671559f, -0.740951f,
0.831470f, -0.555570f, 0.427555f, 0.903989f,
-0.956940f, 0.290285f, -0.146730f, -0.989177f,
0.000000f, -1.000000f, 0.970031f, 0.242980f,
-0.471397f, 0.881921f, -0.740951f, -0.671559f,
0.831470f, -0.555570f, 0.336890f, 0.941544f,
-0.995185f, 0.098017f, 0.146730f, -0.989177f,
0.923880f, 0.382683f, -0.595699f, 0.803208f,
-0.634393f, -0.773010f, 0.903989f, -0.427555f,
0.195090f, 0.980785f, -0.998795f, -0.049068f,
0.290285f, -0.956940f, 0.857729f, 0.514103f,
-0.707107f, 0.707107f, -0.514103f, -0.857729f,
0.956940f, -0.290285f, 0.049068f, 0.998795f,
-0.980785f, -0.195090f, 0.427555f, -0.903989f,
0.773010f, 0.634393f, -0.803208f, 0.595699f,
-0.382683f, -0.923880f, 0.989177f, -0.146730f,
-0.098017f, 0.995185f, -0.941544f, -0.336890f,
0.555570f, -0.831470f, 0.671559f, 0.740951f,
-0.881921f, 0.471397f, -0.242980f, -0.970031f,
-0.000000f, 1.000000f, -0.941544f, -0.336890f,
0.634393f, -0.773010f, 0.514103f, 0.857729f,
-0.980785f, 0.195090f, 0.146730f, -0.989177f,
0.881921f, 0.471397f, -0.740951f, 0.671559f,
-0.382683f, -0.923880f, 0.998795f, -0.049068f,
-0.290285f, 0.956940f, -0.803208f, -0.595699f,
0.831470f, -0.555570f, 0.242980f, 0.970031f,
-0.995185f, -0.098017f, 0.427555f, -0.903989f,
0.707107f, 0.707107f, -0.903989f, 0.427555f,
-0.098017f, -0.995185f, 0.970031f, 0.242980f,
-0.555570f, 0.831470f, -0.595699f, -0.803208f,
0.956940f, -0.290285f, -0.049068f, 0.998795f,
-0.923880f, -0.382683f, 0.671559f, -0.740951f,
0.471397f, 0.881921f, -0.989177f, 0.146730f,
0.195090f, -0.980785f, 0.857729f, 0.514103f,
-0.773010f, 0.634393f, -0.336890f, -0.941544f,
0.000000f, -1.000000f, 0.903989f, 0.427555f,
-0.773010f, 0.634393f, -0.242980f, -0.970031f,
0.980785f, 0.195090f, -0.595699f, 0.803208f,
-0.471397f, -0.881921f, 0.998795f, -0.049068f,
-0.382683f, 0.923880f, -0.671559f, -0.740951f,
0.956940f, -0.290285f, -0.146730f, 0.989177f,
-0.831470f, -0.555570f, 0.857729f, -0.514103f,
0.098017f, 0.995185f, -0.941544f, -0.336890f,
0.707107f, -0.707107f, 0.336890f, 0.941544f,
-0.995185f, -0.098017f, 0.514103f, -0.857729f,
0.555570f, 0.831470f, -0.989177f, 0.146730f,
0.290285f, -0.956940f, 0.740951f, 0.671559f,
-0.923880f, 0.382683f, 0.049068f, -0.998795f,
0.881921f, 0.471397f, -0.803208f, 0.595699f,
-0.195090f, -0.980785f, 0.970031f, 0.242980f,
-0.634393f, 0.773010f, -0.427555f, -0.903989f,
-0.000000f, 1.000000f, -0.857729f, -0.514103f,
0.881921f, -0.471397f, -0.049068f, 0.998795f,
-0.831470f, -0.555570f, 0.903989f, -0.427555f,
-0.098017f, 0.995185f, -0.803208f, -0.595699f,
0.923880f, -0.382683f, -0.146730f, 0.989177f,
-0.773010f, -0.634393f, 0.941544f, -0.336890f,
-0.195090f, 0.980785f, -0.740951f, -0.671559f,
0.956940f, -0.290285f, -0.242980f, 0.970031f,
-0.707107f, -0.707107f, 0.970031f, -0.242980f,
-0.290285f, 0.956940f, -0.671559f, -0.740951f,
0.980785f, -0.195090f, -0.336890f, 0.941544f,
-0.634393f, -0.773010f, 0.989177f, -0.146730f,
-0.382683f, 0.923880f, -0.595699f, -0.803208f,
0.995185f, -0.098017f, -0.427555f, 0.903989f,
-0.555570f, -0.831470f, 0.998795f, -0.049068f,
-0.471397f, 0.881921f, -0.514103f, -0.857729f,
0.000000f, -1.000000f, 0.803208f, 0.595699f,
-0.956940f, 0.290285f, 0.336890f, -0.941544f,
0.555570f, 0.831470f, -0.998795f, -0.049068f,
0.634393f, -0.773010f, 0.242980f, 0.970031f,
-0.923880f, -0.382683f, 0.857729f, -0.514103f,
-0.098017f, 0.995185f, -0.740951f, -0.671559f,
0.980785f, -0.195090f, -0.427555f, 0.903989f,
-0.471397f, -0.881921f, 0.989177f, 0.146730f,
-0.707107f, 0.707107f, -0.146730f, -0.989177f,
0.881921f, 0.471397f, -0.903989f, 0.427555f,
0.195090f, -0.980785f, 0.671559f, 0.740951f,
-0.995185f, 0.098017f, 0.514103f, -0.857729f,
0.382683f, 0.923880f, -0.970031f, -0.242980f,
0.773010f, -0.634393f, 0.049068f, 0.998795f,
-0.831470f, -0.555570f, 0.941544f, -0.336890f,
-0.290285f, 0.956940f, -0.595699f, -0.803208f,
0.000000f, 1.000000f, -0.740951f, -0.671559f,
0.995185f, -0.098017f, -0.595699f, 0.803208f,
-0.195090f, -0.980785f, 0.857729f, 0.514103f,
-0.956940f, 0.290285f, 0.427555f, -0.903989f,
0.382683f, 0.923880f, -0.941544f, -0.336890f,
0.881921f, -0.471397f, -0.242980f, 0.970031f,
-0.555570f, -0.831470f, 0.989177f, 0.146730f,
-0.773010f, 0.634393f, 0.049068f, -0.998795f,
0.707107f, 0.707107f, -0.998795f, 0.049068f,
0.634393f, -0.773010f, 0.146730f, 0.989177f,
-0.831470f, -0.555570f, 0.970031f, -0.242980f,
-0.471397f, 0.881921f, -0.336890f, -0.941544f,
0.923880f, 0.382683f, -0.903989f, 0.427555f,
0.290285f, -0.956940f, 0.514103f, 0.857729f,
-0.980785f, -0.195090f, 0.803208f, -0.595699f,
-0.098017f, 0.995185f, -0.671559f, -0.740951f,
0.000000f, -1.000000f, 0.671559f, 0.740951f,
-0.995185f, -0.098017f, 0.803208f, -0.595699f,
-0.195090f, 0.980785f, -0.514103f, -0.857729f,
0.956940f, 0.290285f, -0.903989f, 0.427555f,
0.382683f, -0.923880f, 0.336890f, 0.941544f,
-0.881921f, -0.471397f, 0.970031f, -0.242980f,
-0.555570f, 0.831470f, -0.146730f, -0.989177f,
0.773010f, 0.634393f, -0.998795f, 0.049068f,
0.707107f, -0.707107f, -0.049068f, 0.998795f,
-0.634393f, -0.773010f, 0.989177f, 0.146730f,
-0.831470f, 0.555570f, 0.242980f, -0.970031f,
0.471397f, 0.881921f, -0.941544f, -0.336890f,
0.923880f, -0.382683f, -0.427555f, 0.903989f,
-0.290285f, -0.956940f, 0.857729f, 0.514103f,
-0.980785f, 0.195090f, 0.595699f, -0.803208f,
0.098017f, 0.995185f, -0.740951f, -0.671559f,
-0.000000f, 1.000000f, -0.595699f, -0.803208f,
0.956940f, 0.290285f, -0.941544f, 0.336890f,
0.555570f, -0.831470f, 0.049068f, 0.998795f,
-0.634393f, -0.773010f, 0.970031f, 0.242980f,
-0.923880f, 0.382683f, 0.514103f, -0.857729f,
0.098017f, 0.995185f, -0.671559f, -0.740951f,
0.980785f, 0.195090f, -0.903989f, 0.427555f,
0.471397f, -0.881921f, 0.146730f, 0.989177f,
-0.707107f, -0.707107f, 0.989177f, 0.146730f,
-0.881921f, 0.471397f, 0.427555f, -0.903989f,
0.195090f, 0.980785f, -0.740951f, -0.671559f,
0.995185f, 0.098017f, -0.857729f, 0.514103f,
0.382683f, -0.923880f, 0.242980f, 0.970031f,
-0.773010f, -0.634393f, 0.998795f, 0.049068f,
-0.831470f, 0.555570f, 0.336890f, -0.941544f,
0.290285f, 0.956940f, -0.803208f, -0.595699f,
0.000000f, -1.000000f, 0.514103f, 0.857729f,
-0.881921f, -0.471397f, 0.998795f, -0.049068f,
-0.831470f, 0.555570f, 0.427555f, -0.903989f,
0.098017f, 0.995185f, -0.595699f, -0.803208f,
0.923880f, 0.382683f, -0.989177f, 0.146730f,
0.773010f, -0.634393f, -0.336890f, 0.941544f,
-0.195090f, -0.980785f, 0.671559f, 0.740951f,
-0.956940f, -0.290285f, 0.970031f, -0.242980f,
-0.707107f, 0.707107f, 0.242980f, -0.970031f,
0.290285f, 0.956940f, -0.740951f, -0.671559f,
0.980785f, 0.195090f, -0.941544f, 0.336890f,
0.634393f, -0.773010f, -0.146730f, 0.989177f,
-0.382683f, -0.923880f, 0.803208f, 0.595699f,
-0.995185f, -0.098017f, 0.903989f, -0.427555f,
-0.555570f, 0.831470f, 0.049068f, -0.998795f,
0.471397f, 0.881921f, -0.857729f, -0.514103f,
0.000000f, 1.000000f, -0.427555f, -0.903989f,
0.773010f, 0.634393f, -0.970031f, -0.242980f,
0.980785f, -0.195090f, -0.803208f, 0.595699f,
0.471397f, -0.881921f, -0.049068f, 0.998795f,
-0.382683f, -0.923880f, 0.740951f, 0.671559f,
-0.956940f, -0.290285f, 0.989177f, -0.146730f,
-0.831470f, 0.555570f, 0.514103f, -0.857729f,
-0.098017f, 0.995185f, -0.336890f, -0.941544f,
0.707107f, 0.707107f, -0.941544f, -0.336890f,
0.995185f, -0.098017f, -0.857729f, 0.514103f,
0.555570f, -0.831470f, -0.146730f, 0.989177f,
-0.290285f, -0.956940f, 0.671559f, 0.740951f,
-0.923880f, -0.382683f, 0.998795f, -0.049068f,
-0.881921f, 0.471397f, 0.595699f, -0.803208f,
-0.195090f, 0.980785f, -0.242980f, -0.970031f,
0.634393f, 0.773010f, -0.903989f, -0.427555f,
0.000000f, -1.000000f, 0.336890f, 0.941544f,
-0.634393f, -0.773010f, 0.857729f, 0.514103f,
-0.980785f, -0.195090f, 0.989177f, -0.146730f,
-0.881921f, 0.471397f, 0.671559f, -0.740951f,
-0.382683f, 0.923880f, 0.049068f, -0.998795f,
0.290285f, 0.956940f, -0.595699f, -0.803208f,
0.831470f, 0.555570f, -0.970031f, -0.242980f,
0.995185f, -0.098017f, -0.903989f, 0.427555f,
0.707107f, -0.707107f, -0.427555f, 0.903989f,
0.098017f, -0.995185f, 0.242980f, 0.970031f,
-0.555570f, -0.831470f, 0.803208f, 0.595699f,
-0.956940f, -0.290285f, 0.998795f, -0.049068f,
-0.923880f, 0.382683f, 0.740951f, -0.671559f,
-0.471397f, 0.881921f, 0.146730f, -0.989177f,
0.195090f, 0.980785f, -0.514103f, -0.857729f,
0.773010f, 0.634393f, -0.941544f, -0.336890f,
-0.000000f, 1.000000f, -0.242980f, -0.970031f,
0.471397f, 0.881921f, -0.671559f, -0.740951f,
0.831470f, 0.555570f, -0.941544f, -0.336890f,
0.995185f, 0.098017f, -0.989177f, 0.146730f,
0.923880f, -0.382683f, -0.803208f, 0.595699f,
0.634393f, -0.773010f, -0.427555f, 0.903989f,
0.195090f, -0.980785f, 0.049068f, 0.998795f,
-0.290285f, -0.956940f, 0.514103f, 0.857729f,
-0.707107f, -0.707107f, 0.857729f, 0.514103f,
-0.956940f, -0.290285f, 0.998795f, 0.049068f,
-0.980785f, 0.195090f, 0.903989f, -0.427555f,
-0.773010f, 0.634393f, 0.595699f, -0.803208f,
-0.382683f, 0.923880f, 0.146730f, -0.989177f,
0.098017f, 0.995185f, -0.336890f, -0.941544f,
0.555570f, 0.831470f, -0.740951f, -0.671559f,
0.881921f, 0.471397f, -0.970031f, -0.242980f,
0.000000f, -1.000000f, 0.146730f, 0.989177f,
-0.290285f, -0.956940f, 0.427555f, 0.903989f,
-0.555570f, -0.831470f, 0.671559f, 0.740951f,
-0.773010f, -0.634393f, 0.857729f, 0.514103f,
-0.923880f, -0.382683f, 0.970031f, 0.242980f,
-0.995185f, -0.098017f, 0.998795f, -0.049068f,
-0.980785f, 0.195090f, 0.941544f, -0.336890f,
-0.881921f, 0.471397f, 0.803208f, -0.595699f,
-0.707107f, 0.707107f, 0.595699f, -0.803208f,
-0.471397f, 0.881921f, 0.336890f, -0.941544f,
-0.195090f, 0.980785f, 0.049068f, -0.998795f,
0.098017f, 0.995185f, -0.242980f, -0.970031f,
0.382683f, 0.923880f, -0.514103f, -0.857729f,
0.634393f, 0.773010f, -0.740951f, -0.671559f,
0.831470f, 0.555570f, -0.903989f, -0.427555f,
0.956940f, 0.290285f, -0.989177f, -0.146730f,
0.000000f, 1.000000f, -0.049068f, -0.998795f,
0.098017f, 0.995185f, -0.146730f, -0.989177f,
0.195090f, 0.980785f, -0.242980f, -0.970031f,
0.290285f, 0.956940f, -0.336890f, -0.941544f,
0.382683f, 0.923880f, -0.427555f, -0.903989f,
0.471397f, 0.881921f, -0.514103f, -0.857729f,
0.555570f, 0.831470f, -0.595699f, -0.803208f,
0.634393f, 0.773010f, -0.671559f, -0.740951f,
0.707107f, 0.707107f, -0.740951f, -0.671559f,
0.773010f, 0.634393f, -0.803208f, -0.595699f,
0.831470f, 0.555570f, -0.857729f, -0.514103f,
0.881921f, 0.471397f, -0.903989f, -0.427555f,
0.923880f, 0.382683f, -0.941544f, -0.336890f,
0.956940f, 0.290285f, -0.970031f, -0.242980f,
0.980785f, 0.195090f, -0.989177f, -0.146730f,
0.995185f, 0.098017f, -0.998795f, -0.049068f,
};
const FLOAT32 analy_cos_sin_tab_kl_40 [40*40*2]={
0.000000f, -1.000000f, 0.039260f, -0.999229f,
0.078459f, -0.996917f, 0.117537f, -0.993068f,
0.156434f, -0.987688f, 0.195090f, -0.980785f,
0.233445f, -0.972370f, 0.271440f, -0.962455f,
0.309017f, -0.951057f, 0.346117f, -0.938191f,
0.382683f, -0.923880f, 0.418660f, -0.908143f,
0.453990f, -0.891007f, 0.488621f, -0.872496f,
0.522499f, -0.852640f, 0.555570f, -0.831470f,
0.587785f, -0.809017f, 0.619094f, -0.785317f,
0.649448f, -0.760406f, 0.678801f, -0.734322f,
0.707107f, -0.707107f, 0.734322f, -0.678801f,
0.760406f, -0.649448f, 0.785317f, -0.619094f,
0.809017f, -0.587785f, 0.831470f, -0.555570f,
0.852640f, -0.522499f, 0.872496f, -0.488621f,
0.891007f, -0.453990f, 0.908143f, -0.418660f,
0.923880f, -0.382683f, 0.938191f, -0.346117f,
0.951057f, -0.309017f, 0.962455f, -0.271440f,
0.972370f, -0.233445f, 0.980785f, -0.195090f,
0.987688f, -0.156434f, 0.993068f, -0.117537f,
0.996917f, -0.078459f, 0.999229f, -0.039260f,
-0.000000f, 1.000000f, -0.117537f, 0.993068f,
-0.233445f, 0.972370f, -0.346117f, 0.938191f,
-0.453990f, 0.891007f, -0.555570f, 0.831470f,
-0.649448f, 0.760406f, -0.734322f, 0.678801f,
-0.809017f, 0.587785f, -0.872496f, 0.488621f,
-0.923880f, 0.382683f, -0.962455f, 0.271440f,
-0.987688f, 0.156434f, -0.999229f, 0.039260f,
-0.996917f, -0.078459f, -0.980785f, -0.195090f,
-0.951057f, -0.309017f, -0.908143f, -0.418660f,
-0.852640f, -0.522499f, -0.785317f, -0.619094f,
-0.707107f, -0.707107f, -0.619094f, -0.785317f,
-0.522499f, -0.852640f, -0.418660f, -0.908143f,
-0.309017f, -0.951057f, -0.195090f, -0.980785f,
-0.078459f, -0.996917f, 0.039260f, -0.999229f,
0.156434f, -0.987688f, 0.271440f, -0.962455f,
0.382683f, -0.923880f, 0.488621f, -0.872496f,
0.587785f, -0.809017f, 0.678801f, -0.734322f,
0.760406f, -0.649448f, 0.831470f, -0.555570f,
0.891007f, -0.453990f, 0.938191f, -0.346117f,
0.972370f, -0.233445f, 0.993068f, -0.117537f,
0.000000f, -1.000000f, 0.195090f, -0.980785f,
0.382683f, -0.923880f, 0.555570f, -0.831470f,
0.707107f, -0.707107f, 0.831470f, -0.555570f,
0.923880f, -0.382683f, 0.980785f, -0.195090f,
1.000000f, 0.000000f, 0.980785f, 0.195090f,
0.923880f, 0.382683f, 0.831470f, 0.555570f,
0.707107f, 0.707107f, 0.555570f, 0.831470f,
0.382683f, 0.923880f, 0.195090f, 0.980785f,
-0.000000f, 1.000000f, -0.195090f, 0.980785f,
-0.382683f, 0.923880f, -0.555570f, 0.831470f,
-0.707107f, 0.707107f, -0.831470f, 0.555570f,
-0.923880f, 0.382683f, -0.980785f, 0.195090f,
-1.000000f, -0.000000f, -0.980785f, -0.195090f,
-0.923880f, -0.382683f, -0.831470f, -0.555570f,
-0.707107f, -0.707107f, -0.555570f, -0.831470f,
-0.382683f, -0.923880f, -0.195090f, -0.980785f,
0.000000f, -1.000000f, 0.195090f, -0.980785f,
0.382683f, -0.923880f, 0.555570f, -0.831470f,
0.707107f, -0.707107f, 0.831470f, -0.555570f,
0.923880f, -0.382683f, 0.980785f, -0.195090f,
-0.000000f, 1.000000f, -0.271440f, 0.962455f,
-0.522499f, 0.852640f, -0.734322f, 0.678801f,
-0.891007f, 0.453990f, -0.980785f, 0.195090f,
-0.996917f, -0.078459f, -0.938191f, -0.346117f,
-0.809017f, -0.587785f, -0.619094f, -0.785317f,
-0.382683f, -0.923880f, -0.117537f, -0.993068f,
0.156434f, -0.987688f, 0.418660f, -0.908143f,
0.649448f, -0.760406f, 0.831470f, -0.555570f,
0.951057f, -0.309017f, 0.999229f, -0.039260f,
0.972370f, 0.233445f, 0.872496f, 0.488621f,
0.707107f, 0.707107f, 0.488621f, 0.872496f,
0.233445f, 0.972370f, -0.039260f, 0.999229f,
-0.309017f, 0.951057f, -0.555570f, 0.831470f,
-0.760406f, 0.649448f, -0.908143f, 0.418660f,
-0.987688f, 0.156434f, -0.993068f, -0.117537f,
-0.923880f, -0.382683f, -0.785317f, -0.619094f,
-0.587785f, -0.809017f, -0.346117f, -0.938191f,
-0.078459f, -0.996917f, 0.195090f, -0.980785f,
0.453990f, -0.891007f, 0.678801f, -0.734322f,
0.852640f, -0.522499f, 0.962455f, -0.271440f,
0.000000f, -1.000000f, 0.346117f, -0.938191f,
0.649448f, -0.760406f, 0.872496f, -0.488621f,
0.987688f, -0.156434f, 0.980785f, 0.195090f,
0.852640f, 0.522499f, 0.619094f, 0.785317f,
0.309017f, 0.951057f, -0.039260f, 0.999229f,
-0.382683f, 0.923880f, -0.678801f, 0.734322f,
-0.891007f, 0.453990f, -0.993068f, 0.117537f,
-0.972370f, -0.233445f, -0.831470f, -0.555570f,
-0.587785f, -0.809017f, -0.271440f, -0.962455f,
0.078459f, -0.996917f, 0.418660f, -0.908143f,
0.707107f, -0.707107f, 0.908143f, -0.418660f,
0.996917f, -0.078459f, 0.962455f, 0.271440f,
0.809017f, 0.587785f, 0.555570f, 0.831470f,
0.233445f, 0.972370f, -0.117537f, 0.993068f,
-0.453990f, 0.891007f, -0.734322f, 0.678801f,
-0.923880f, 0.382683f, -0.999229f, 0.039260f,
-0.951057f, -0.309017f, -0.785317f, -0.619094f,
-0.522499f, -0.852640f, -0.195090f, -0.980785f,
0.156434f, -0.987688f, 0.488621f, -0.872496f,
0.760406f, -0.649448f, 0.938191f, -0.346117f,
-0.000000f, 1.000000f, -0.418660f, 0.908143f,
-0.760406f, 0.649448f, -0.962455f, 0.271440f,
-0.987688f, -0.156434f, -0.831470f, -0.555570f,
-0.522499f, -0.852640f, -0.117537f, -0.993068f,
0.309017f, -0.951057f, 0.678801f, -0.734322f,
0.923880f, -0.382683f, 0.999229f, 0.039260f,
0.891007f, 0.453990f, 0.619094f, 0.785317f,
0.233445f, 0.972370f, -0.195090f, 0.980785f,
-0.587785f, 0.809017f, -0.872496f, 0.488621f,
-0.996917f, 0.078459f, -0.938191f, -0.346117f,
-0.707107f, -0.707107f, -0.346117f, -0.938191f,
0.078459f, -0.996917f, 0.488621f, -0.872496f,
0.809017f, -0.587785f, 0.980785f, -0.195090f,
0.972370f, 0.233445f, 0.785317f, 0.619094f,
0.453990f, 0.891007f, 0.039260f, 0.999229f,
-0.382683f, 0.923880f, -0.734322f, 0.678801f,
-0.951057f, 0.309017f, -0.993068f, -0.117537f,
-0.852640f, -0.522499f, -0.555570f, -0.831470f,
-0.156434f, -0.987688f, 0.271440f, -0.962455f,
0.649448f, -0.760406f, 0.908143f, -0.418660f,
-0.000000f, -1.000000f, 0.488621f, -0.872496f,
0.852640f, -0.522499f, 0.999229f, -0.039260f,
0.891007f, 0.453990f, 0.555570f, 0.831470f,
0.078459f, 0.996917f, -0.418660f, 0.908143f,
-0.809017f, 0.587785f, -0.993068f, 0.117537f,
-0.923880f, -0.382683f, -0.619094f, -0.785317f,
-0.156434f, -0.987688f, 0.346117f, -0.938191f,
0.760406f, -0.649448f, 0.980785f, -0.195090f,
0.951057f, 0.309017f, 0.678801f, 0.734322f,
0.233445f, 0.972370f, -0.271440f, 0.962455f,
-0.707107f, 0.707107f, -0.962455f, 0.271440f,
-0.972370f, -0.233445f, -0.734322f, -0.678801f,
-0.309017f, -0.951057f, 0.195090f, -0.980785f,
0.649448f, -0.760406f, 0.938191f, -0.346117f,
0.987688f, 0.156434f, 0.785317f, 0.619094f,
0.382683f, 0.923880f, -0.117537f, 0.993068f,
-0.587785f, 0.809017f, -0.908143f, 0.418660f,
-0.996917f, -0.078459f, -0.831470f, -0.555570f,
-0.453990f, -0.891007f, 0.039260f, -0.999229f,
0.522499f, -0.852640f, 0.872496f, -0.488621f,
-0.000000f, 1.000000f, -0.555570f, 0.831470f,
-0.923880f, 0.382683f, -0.980785f, -0.195090f,
-0.707107f, -0.707107f, -0.195090f, -0.980785f,
0.382683f, -0.923880f, 0.831470f, -0.555570f,
1.000000f, 0.000000f, 0.831470f, 0.555570f,
0.382683f, 0.923880f, -0.195090f, 0.980785f,
-0.707107f, 0.707107f, -0.980785f, 0.195090f,
-0.923880f, -0.382683f, -0.555570f, -0.831470f,
0.000000f, -1.000000f, 0.555570f, -0.831470f,
0.923880f, -0.382683f, 0.980785f, 0.195090f,
0.707107f, 0.707107f, 0.195090f, 0.980785f,
-0.382683f, 0.923880f, -0.831470f, 0.555570f,
-1.000000f, -0.000000f, -0.831470f, -0.555570f,
-0.382683f, -0.923880f, 0.195090f, -0.980785f,
0.707107f, -0.707107f, 0.980785f, -0.195090f,
0.923880f, 0.382683f, 0.555570f, 0.831470f,
-0.000000f, 1.000000f, -0.555570f, 0.831470f,
-0.923880f, 0.382683f, -0.980785f, -0.195090f,
-0.707107f, -0.707107f, -0.195090f, -0.980785f,
0.382683f, -0.923880f, 0.831470f, -0.555570f,
-0.000000f, -1.000000f, 0.619094f, -0.785317f,
0.972370f, -0.233445f, 0.908143f, 0.418660f,
0.453990f, 0.891007f, -0.195090f, 0.980785f,
-0.760406f, 0.649448f, -0.999229f, 0.039260f,
-0.809017f, -0.587785f, -0.271440f, -0.962455f,
0.382683f, -0.923880f, 0.872496f, -0.488621f,
0.987688f, 0.156434f, 0.678801f, 0.734322f,
0.078459f, 0.996917f, -0.555570f, 0.831470f,
-0.951057f, 0.309017f, -0.938191f, -0.346117f,
-0.522499f, -0.852640f, 0.117537f, -0.993068f,
0.707107f, -0.707107f, 0.993068f, -0.117537f,
0.852640f, 0.522499f, 0.346117f, 0.938191f,
-0.309017f, 0.951057f, -0.831470f, 0.555570f,
-0.996917f, -0.078459f, -0.734322f, -0.678801f,
-0.156434f, -0.987688f, 0.488621f, -0.872496f,
0.923880f, -0.382683f, 0.962455f, 0.271440f,
0.587785f, 0.809017f, -0.039260f, 0.999229f,
-0.649448f, 0.760406f, -0.980785f, 0.195090f,
-0.891007f, -0.453990f, -0.418660f, -0.908143f,
0.233445f, -0.972370f, 0.785317f, -0.619094f,
-0.000000f, 1.000000f, -0.678801f, 0.734322f,
-0.996917f, 0.078459f, -0.785317f, -0.619094f,
-0.156434f, -0.987688f, 0.555570f, -0.831470f,
0.972370f, -0.233445f, 0.872496f, 0.488621f,
0.309017f, 0.951057f, -0.418660f, 0.908143f,
-0.923880f, 0.382683f, -0.938191f, -0.346117f,
-0.453990f, -0.891007f, 0.271440f, -0.962455f,
0.852640f, -0.522499f, 0.980785f, 0.195090f,
0.587785f, 0.809017f, -0.117537f, 0.993068f,
-0.760406f, 0.649448f, -0.999229f, -0.039260f,
-0.707107f, -0.707107f, -0.039260f, -0.999229f,
0.649448f, -0.760406f, 0.993068f, -0.117537f,
0.809017f, 0.587785f, 0.195090f, 0.980785f,
-0.522499f, 0.852640f, -0.962455f, 0.271440f,
-0.891007f, -0.453990f, -0.346117f, -0.938191f,
0.382683f, -0.923880f, 0.908143f, -0.418660f,
0.951057f, 0.309017f, 0.488621f, 0.872496f,
-0.233445f, 0.972370f, -0.831470f, 0.555570f,
-0.987688f, -0.156434f, -0.619094f, -0.785317f,
0.078459f, -0.996917f, 0.734322f, -0.678801f,
-0.000000f, -1.000000f, 0.734322f, -0.678801f,
0.996917f, 0.078459f, 0.619094f, 0.785317f,
-0.156434f, 0.987688f, -0.831470f, 0.555570f,
-0.972370f, -0.233445f, -0.488621f, -0.872496f,
0.309017f, -0.951057f, 0.908143f, -0.418660f,
0.923880f, 0.382683f, 0.346117f, 0.938191f,
-0.453990f, 0.891007f, -0.962455f, 0.271440f,
-0.852640f, -0.522499f, -0.195090f, -0.980785f,
0.587785f, -0.809017f, 0.993068f, -0.117537f,
0.760406f, 0.649448f, 0.039260f, 0.999229f,
-0.707107f, 0.707107f, -0.999229f, -0.039260f,
-0.649448f, -0.760406f, 0.117537f, -0.993068f,
0.809017f, -0.587785f, 0.980785f, 0.195090f,
0.522499f, 0.852640f, -0.271440f, 0.962455f,
-0.891007f, 0.453990f, -0.938191f, -0.346117f,
-0.382683f, -0.923880f, 0.418660f, -0.908143f,
0.951057f, -0.309017f, 0.872496f, 0.488621f,
0.233445f, 0.972370f, -0.555570f, 0.831470f,
-0.987688f, 0.156434f, -0.785317f, -0.619094f,
-0.078459f, -0.996917f, 0.678801f, -0.734322f,
-0.000000f, 1.000000f, -0.785317f, 0.619094f,
-0.972370f, -0.233445f, -0.418660f, -0.908143f,
0.453990f, -0.891007f, 0.980785f, -0.195090f,
0.760406f, 0.649448f, -0.039260f, 0.999229f,
-0.809017f, 0.587785f, -0.962455f, -0.271440f,
-0.382683f, -0.923880f, 0.488621f, -0.872496f,
0.987688f, -0.156434f, 0.734322f, 0.678801f,
-0.078459f, 0.996917f, -0.831470f, 0.555570f,
-0.951057f, -0.309017f, -0.346117f, -0.938191f,
0.522499f, -0.852640f, 0.993068f, -0.117537f,
0.707107f, 0.707107f, -0.117537f, 0.993068f,
-0.852640f, 0.522499f, -0.938191f, -0.346117f,
-0.309017f, -0.951057f, 0.555570f, -0.831470f,
0.996917f, -0.078459f, 0.678801f, 0.734322f,
-0.156434f, 0.987688f, -0.872496f, 0.488621f,
-0.923880f, -0.382683f, -0.271440f, -0.962455f,
0.587785f, -0.809017f, 0.999229f, -0.039260f,
0.649448f, 0.760406f, -0.195090f, 0.980785f,
-0.891007f, 0.453990f, -0.908143f, -0.418660f,
-0.233445f, -0.972370f, 0.619094f, -0.785317f,
-0.000000f, -1.000000f, 0.831470f, -0.555570f,
0.923880f, 0.382683f, 0.195090f, 0.980785f,
-0.707107f, 0.707107f, -0.980785f, -0.195090f,
-0.382683f, -0.923880f, 0.555570f, -0.831470f,
1.000000f, 0.000000f, 0.555570f, 0.831470f,
-0.382683f, 0.923880f, -0.980785f, 0.195090f,
-0.707107f, -0.707107f, 0.195090f, -0.980785f,
0.923880f, -0.382683f, 0.831470f, 0.555570f,
-0.000000f, 1.000000f, -0.831470f, 0.555570f,
-0.923880f, -0.382683f, -0.195090f, -0.980785f,
0.707107f, -0.707107f, 0.980785f, 0.195090f,
0.382683f, 0.923880f, -0.555570f, 0.831470f,
-1.000000f, -0.000000f, -0.555570f, -0.831470f,
0.382683f, -0.923880f, 0.980785f, -0.195090f,
0.707107f, 0.707107f, -0.195090f, 0.980785f,
-0.923880f, 0.382683f, -0.831470f, -0.555570f,
0.000000f, -1.000000f, 0.831470f, -0.555570f,
0.923880f, 0.382683f, 0.195090f, 0.980785f,
-0.707107f, 0.707107f, -0.980785f, -0.195090f,
-0.382683f, -0.923880f, 0.555570f, -0.831470f,
-0.000000f, 1.000000f, -0.872496f, 0.488621f,
-0.852640f, -0.522499f, 0.039260f, -0.999229f,
0.891007f, -0.453990f, 0.831470f, 0.555570f,
-0.078459f, 0.996917f, -0.908143f, 0.418660f,
-0.809017f, -0.587785f, 0.117537f, -0.993068f,
0.923880f, -0.382683f, 0.785317f, 0.619094f,
-0.156434f, 0.987688f, -0.938191f, 0.346117f,
-0.760406f, -0.649448f, 0.195090f, -0.980785f,
0.951057f, -0.309017f, 0.734322f, 0.678801f,
-0.233445f, 0.972370f, -0.962455f, 0.271440f,
-0.707107f, -0.707107f, 0.271440f, -0.962455f,
0.972370f, -0.233445f, 0.678801f, 0.734322f,
-0.309017f, 0.951057f, -0.980785f, 0.195090f,
-0.649448f, -0.760406f, 0.346117f, -0.938191f,
0.987688f, -0.156434f, 0.619094f, 0.785317f,
-0.382683f, 0.923880f, -0.993068f, 0.117537f,
-0.587785f, -0.809017f, 0.418660f, -0.908143f,
0.996917f, -0.078459f, 0.555570f, 0.831470f,
-0.453990f, 0.891007f, -0.999229f, 0.039260f,
-0.522499f, -0.852640f, 0.488621f, -0.872496f,
-0.000000f, -1.000000f, 0.908143f, -0.418660f,
0.760406f, 0.649448f, -0.271440f, 0.962455f,
-0.987688f, 0.156434f, -0.555570f, -0.831470f,
0.522499f, -0.852640f, 0.993068f, 0.117537f,
0.309017f, 0.951057f, -0.734322f, 0.678801f,
-0.923880f, -0.382683f, -0.039260f, -0.999229f,
0.891007f, -0.453990f, 0.785317f, 0.619094f,
-0.233445f, 0.972370f, -0.980785f, 0.195090f,
-0.587785f, -0.809017f, 0.488621f, -0.872496f,
0.996917f, 0.078459f, 0.346117f, 0.938191f,
-0.707107f, 0.707107f, -0.938191f, -0.346117f,
-0.078459f, -0.996917f, 0.872496f, -0.488621f,
0.809017f, 0.587785f, -0.195090f, 0.980785f,
-0.972370f, 0.233445f, -0.619094f, -0.785317f,
0.453990f, -0.891007f, 0.999229f, 0.039260f,
0.382683f, 0.923880f, -0.678801f, 0.734322f,
-0.951057f, -0.309017f, -0.117537f, -0.993068f,
0.852640f, -0.522499f, 0.831470f, 0.555570f,
-0.156434f, 0.987688f, -0.962455f, 0.271440f,
-0.649448f, -0.760406f, 0.418660f, -0.908143f,
-0.000000f, 1.000000f, -0.938191f, 0.346117f,
-0.649448f, -0.760406f, 0.488621f, -0.872496f,
0.987688f, 0.156434f, 0.195090f, 0.980785f,
-0.852640f, 0.522499f, -0.785317f, -0.619094f,
0.309017f, -0.951057f, 0.999229f, -0.039260f,
0.382683f, 0.923880f, -0.734322f, 0.678801f,
-0.891007f, -0.453990f, 0.117537f, -0.993068f,
0.972370f, -0.233445f, 0.555570f, 0.831470f,
-0.587785f, 0.809017f, -0.962455f, -0.271440f,
-0.078459f, -0.996917f, 0.908143f, -0.418660f,
0.707107f, 0.707107f, -0.418660f, 0.908143f,
-0.996917f, -0.078459f, -0.271440f, -0.962455f,
0.809017f, -0.587785f, 0.831470f, 0.555570f,
-0.233445f, 0.972370f, -0.993068f, 0.117537f,
-0.453990f, -0.891007f, 0.678801f, -0.734322f,
0.923880f, 0.382683f, -0.039260f, 0.999229f,
-0.951057f, 0.309017f, -0.619094f, -0.785317f,
0.522499f, -0.852640f, 0.980785f, 0.195090f,
0.156434f, 0.987688f, -0.872496f, 0.488621f,
-0.760406f, -0.649448f, 0.346117f, -0.938191f,
0.000000f, -1.000000f, 0.962455f, -0.271440f,
0.522499f, 0.852640f, -0.678801f, 0.734322f,
-0.891007f, -0.453990f, 0.195090f, -0.980785f,
0.996917f, -0.078459f, 0.346117f, 0.938191f,
-0.809017f, 0.587785f, -0.785317f, -0.619094f,
0.382683f, -0.923880f, 0.993068f, 0.117537f,
0.156434f, 0.987688f, -0.908143f, 0.418660f,
-0.649448f, -0.760406f, 0.555570f, -0.831470f,
0.951057f, 0.309017f, -0.039260f, 0.999229f,
-0.972370f, 0.233445f, -0.488621f, -0.872496f,
0.707107f, -0.707107f, 0.872496f, 0.488621f,
-0.233445f, 0.972370f, -0.999229f, 0.039260f,
-0.309017f, -0.951057f, 0.831470f, -0.555570f,
0.760406f, 0.649448f, -0.418660f, 0.908143f,
-0.987688f, -0.156434f, -0.117537f, -0.993068f,
0.923880f, -0.382683f, 0.619094f, 0.785317f,
-0.587785f, 0.809017f, -0.938191f, -0.346117f,
0.078459f, -0.996917f, 0.980785f, -0.195090f,
0.453990f, 0.891007f, -0.734322f, 0.678801f,
-0.852640f, -0.522499f, 0.271440f, -0.962455f,
-0.000000f, 1.000000f, -0.980785f, 0.195090f,
-0.382683f, -0.923880f, 0.831470f, -0.555570f,
0.707107f, 0.707107f, -0.555570f, 0.831470f,
-0.923880f, -0.382683f, 0.195090f, -0.980785f,
1.000000f, 0.000000f, 0.195090f, 0.980785f,
-0.923880f, 0.382683f, -0.555570f, -0.831470f,
0.707107f, -0.707107f, 0.831470f, 0.555570f,
-0.382683f, 0.923880f, -0.980785f, -0.195090f,
-0.000000f, -1.000000f, 0.980785f, -0.195090f,
0.382683f, 0.923880f, -0.831470f, 0.555570f,
-0.707107f, -0.707107f, 0.555570f, -0.831470f,
0.923880f, 0.382683f, -0.195090f, 0.980785f,
-1.000000f, -0.000000f, -0.195090f, -0.980785f,
0.923880f, -0.382683f, 0.555570f, 0.831470f,
-0.707107f, 0.707107f, -0.831470f, -0.555570f,
0.382683f, -0.923880f, 0.980785f, 0.195090f,
-0.000000f, 1.000000f, -0.980785f, 0.195090f,
-0.382683f, -0.923880f, 0.831470f, -0.555570f,
0.707107f, 0.707107f, -0.555570f, 0.831470f,
-0.923880f, -0.382683f, 0.195090f, -0.980785f,
0.000000f, -1.000000f, 0.993068f, -0.117537f,
0.233445f, 0.972370f, -0.938191f, 0.346117f,
-0.453990f, -0.891007f, 0.831470f, -0.555570f,
0.649448f, 0.760406f, -0.678801f, 0.734322f,
-0.809017f, -0.587785f, 0.488621f, -0.872496f,
0.923880f, 0.382683f, -0.271440f, 0.962455f,
-0.987688f, -0.156434f, 0.039260f, -0.999229f,
0.996917f, -0.078459f, 0.195090f, 0.980785f,
-0.951057f, 0.309017f, -0.418660f, -0.908143f,
0.852640f, -0.522499f, 0.619094f, 0.785317f,
-0.707107f, 0.707107f, -0.785317f, -0.619094f,
0.522499f, -0.852640f, 0.908143f, 0.418660f,
-0.309017f, 0.951057f, -0.980785f, -0.195090f,
0.078459f, -0.996917f, 0.999229f, -0.039260f,
0.156434f, 0.987688f, -0.962455f, 0.271440f,
-0.382683f, -0.923880f, 0.872496f, -0.488621f,
0.587785f, 0.809017f, -0.734322f, 0.678801f,
-0.760406f, -0.649448f, 0.555570f, -0.831470f,
0.891007f, 0.453990f, -0.346117f, 0.938191f,
-0.972370f, -0.233445f, 0.117537f, -0.993068f,
-0.000000f, 1.000000f, -0.999229f, 0.039260f,
-0.078459f, -0.996917f, 0.993068f, -0.117537f,
0.156434f, 0.987688f, -0.980785f, 0.195090f,
-0.233445f, -0.972370f, 0.962455f, -0.271440f,
0.309017f, 0.951057f, -0.938191f, 0.346117f,
-0.382683f, -0.923880f, 0.908143f, -0.418660f,
0.453990f, 0.891007f, -0.872496f, 0.488621f,
-0.522499f, -0.852640f, 0.831470f, -0.555570f,
0.587785f, 0.809017f, -0.785317f, 0.619094f,
-0.649448f, -0.760406f, 0.734322f, -0.678801f,
0.707107f, 0.707107f, -0.678801f, 0.734322f,
-0.760406f, -0.649448f, 0.619094f, -0.785317f,
0.809017f, 0.587785f, -0.555570f, 0.831470f,
-0.852640f, -0.522499f, 0.488621f, -0.872496f,
0.891007f, 0.453990f, -0.418660f, 0.908143f,
-0.923880f, -0.382683f, 0.346117f, -0.938191f,
0.951057f, 0.309017f, -0.271440f, 0.962455f,
-0.972370f, -0.233445f, 0.195090f, -0.980785f,
0.987688f, 0.156434f, -0.117537f, 0.993068f,
-0.996917f, -0.078459f, 0.039260f, -0.999229f,
0.000000f, -1.000000f, 0.999229f, 0.039260f,
-0.078459f, 0.996917f, -0.993068f, -0.117537f,
0.156434f, -0.987688f, 0.980785f, 0.195090f,
-0.233445f, 0.972370f, -0.962455f, -0.271440f,
0.309017f, -0.951057f, 0.938191f, 0.346117f,
-0.382683f, 0.923880f, -0.908143f, -0.418660f,
0.453990f, -0.891007f, 0.872496f, 0.488621f,
-0.522499f, 0.852640f, -0.831470f, -0.555570f,
0.587785f, -0.809017f, 0.785317f, 0.619094f,
-0.649448f, 0.760406f, -0.734322f, -0.678801f,
0.707107f, -0.707107f, 0.678801f, 0.734322f,
-0.760406f, 0.649448f, -0.619094f, -0.785317f,
0.809017f, -0.587785f, 0.555570f, 0.831470f,
-0.852640f, 0.522499f, -0.488621f, -0.872496f,
0.891007f, -0.453990f, 0.418660f, 0.908143f,
-0.923880f, 0.382683f, -0.346117f, -0.938191f,
0.951057f, -0.309017f, 0.271440f, 0.962455f,
-0.972370f, 0.233445f, -0.195090f, -0.980785f,
0.987688f, -0.156434f, 0.117537f, 0.993068f,
-0.996917f, 0.078459f, -0.039260f, -0.999229f,
-0.000000f, 1.000000f, -0.993068f, -0.117537f,
0.233445f, -0.972370f, 0.938191f, 0.346117f,
-0.453990f, 0.891007f, -0.831470f, -0.555570f,
0.649448f, -0.760406f, 0.678801f, 0.734322f,
-0.809017f, 0.587785f, -0.488621f, -0.872496f,
0.923880f, -0.382683f, 0.271440f, 0.962455f,
-0.987688f, 0.156434f, -0.039260f, -0.999229f,
0.996917f, 0.078459f, -0.195090f, 0.980785f,
-0.951057f, -0.309017f, 0.418660f, -0.908143f,
0.852640f, 0.522499f, -0.619094f, 0.785317f,
-0.707107f, -0.707107f, 0.785317f, -0.619094f,
0.522499f, 0.852640f, -0.908143f, 0.418660f,
-0.309017f, -0.951057f, 0.980785f, -0.195090f,
0.078459f, 0.996917f, -0.999229f, -0.039260f,
0.156434f, -0.987688f, 0.962455f, 0.271440f,
-0.382683f, 0.923880f, -0.872496f, -0.488621f,
0.587785f, -0.809017f, 0.734322f, 0.678801f,
-0.760406f, 0.649448f, -0.555570f, -0.831470f,
0.891007f, -0.453990f, 0.346117f, 0.938191f,
-0.972370f, 0.233445f, -0.117537f, -0.993068f,
0.000000f, -1.000000f, 0.980785f, 0.195090f,
-0.382683f, 0.923880f, -0.831470f, -0.555570f,
0.707107f, -0.707107f, 0.555570f, 0.831470f,
-0.923880f, 0.382683f, -0.195090f, -0.980785f,
1.000000f, 0.000000f, -0.195090f, 0.980785f,
-0.923880f, -0.382683f, 0.555570f, -0.831470f,
0.707107f, 0.707107f, -0.831470f, 0.555570f,
-0.382683f, -0.923880f, 0.980785f, -0.195090f,
-0.000000f, 1.000000f, -0.980785f, -0.195090f,
0.382683f, -0.923880f, 0.831470f, 0.555570f,
-0.707107f, 0.707107f, -0.555570f, -0.831470f,
0.923880f, -0.382683f, 0.195090f, 0.980785f,
-1.000000f, -0.000000f, 0.195090f, -0.980785f,
0.923880f, 0.382683f, -0.555570f, 0.831470f,
-0.707107f, -0.707107f, 0.831470f, -0.555570f,
0.382683f, 0.923880f, -0.980785f, 0.195090f,
0.000000f, -1.000000f, 0.980785f, 0.195090f,
-0.382683f, 0.923880f, -0.831470f, -0.555570f,
0.707107f, -0.707107f, 0.555570f, 0.831470f,
-0.923880f, 0.382683f, -0.195090f, -0.980785f,
0.000000f, 1.000000f, -0.962455f, -0.271440f,
0.522499f, -0.852640f, 0.678801f, 0.734322f,
-0.891007f, 0.453990f, -0.195090f, -0.980785f,
0.996917f, 0.078459f, -0.346117f, 0.938191f,
-0.809017f, -0.587785f, 0.785317f, -0.619094f,
0.382683f, 0.923880f, -0.993068f, 0.117537f,
0.156434f, -0.987688f, 0.908143f, 0.418660f,
-0.649448f, 0.760406f, -0.555570f, -0.831470f,
0.951057f, -0.309017f, 0.039260f, 0.999229f,
-0.972370f, -0.233445f, 0.488621f, -0.872496f,
0.707107f, 0.707107f, -0.872496f, 0.488621f,
-0.233445f, -0.972370f, 0.999229f, 0.039260f,
-0.309017f, 0.951057f, -0.831470f, -0.555570f,
0.760406f, -0.649448f, 0.418660f, 0.908143f,
-0.987688f, 0.156434f, 0.117537f, -0.993068f,
0.923880f, 0.382683f, -0.619094f, 0.785317f,
-0.587785f, -0.809017f, 0.938191f, -0.346117f,
0.078459f, 0.996917f, -0.980785f, -0.195090f,
0.453990f, -0.891007f, 0.734322f, 0.678801f,
-0.852640f, 0.522499f, -0.271440f, -0.962455f,
0.000000f, -1.000000f, 0.938191f, 0.346117f,
-0.649448f, 0.760406f, -0.488621f, -0.872496f,
0.987688f, -0.156434f, -0.195090f, 0.980785f,
-0.852640f, -0.522499f, 0.785317f, -0.619094f,
0.309017f, 0.951057f, -0.999229f, -0.039260f,
0.382683f, -0.923880f, 0.734322f, 0.678801f,
-0.891007f, 0.453990f, -0.117537f, -0.993068f,
0.972370f, 0.233445f, -0.555570f, 0.831470f,
-0.587785f, -0.809017f, 0.962455f, -0.271440f,
-0.078459f, 0.996917f, -0.908143f, -0.418660f,
0.707107f, -0.707107f, 0.418660f, 0.908143f,
-0.996917f, 0.078459f, 0.271440f, -0.962455f,
0.809017f, 0.587785f, -0.831470f, 0.555570f,
-0.233445f, -0.972370f, 0.993068f, 0.117537f,
-0.453990f, 0.891007f, -0.678801f, -0.734322f,
0.923880f, -0.382683f, 0.039260f, 0.999229f,
-0.951057f, -0.309017f, 0.619094f, -0.785317f,
0.522499f, 0.852640f, -0.980785f, 0.195090f,
0.156434f, -0.987688f, 0.872496f, 0.488621f,
-0.760406f, 0.649448f, -0.346117f, -0.938191f,
-0.000000f, 1.000000f, -0.908143f, -0.418660f,
0.760406f, -0.649448f, 0.271440f, 0.962455f,
-0.987688f, -0.156434f, 0.555570f, -0.831470f,
0.522499f, 0.852640f, -0.993068f, 0.117537f,
0.309017f, -0.951057f, 0.734322f, 0.678801f,
-0.923880f, 0.382683f, 0.039260f, -0.999229f,
0.891007f, 0.453990f, -0.785317f, 0.619094f,
-0.233445f, -0.972370f, 0.980785f, 0.195090f,
-0.587785f, 0.809017f, -0.488621f, -0.872496f,
0.996917f, -0.078459f, -0.346117f, 0.938191f,
-0.707107f, -0.707107f, 0.938191f, -0.346117f,
-0.078459f, 0.996917f, -0.872496f, -0.488621f,
0.809017f, -0.587785f, 0.195090f, 0.980785f,
-0.972370f, -0.233445f, 0.619094f, -0.785317f,
0.453990f, 0.891007f, -0.999229f, 0.039260f,
0.382683f, -0.923880f, 0.678801f, 0.734322f,
-0.951057f, 0.309017f, 0.117537f, -0.993068f,
0.852640f, 0.522499f, -0.831470f, 0.555570f,
-0.156434f, -0.987688f, 0.962455f, 0.271440f,
-0.649448f, 0.760406f, -0.418660f, -0.908143f,
0.000000f, -1.000000f, 0.872496f, 0.488621f,
-0.852640f, 0.522499f, -0.039260f, -0.999229f,
0.891007f, 0.453990f, -0.831470f, 0.555570f,
-0.078459f, -0.996917f, 0.908143f, 0.418660f,
-0.809017f, 0.587785f, -0.117537f, -0.993068f,
0.923880f, 0.382683f, -0.785317f, 0.619094f,
-0.156434f, -0.987688f, 0.938191f, 0.346117f,
-0.760406f, 0.649448f, -0.195090f, -0.980785f,
0.951057f, 0.309017f, -0.734322f, 0.678801f,
-0.233445f, -0.972370f, 0.962455f, 0.271440f,
-0.707107f, 0.707107f, -0.271440f, -0.962455f,
0.972370f, 0.233445f, -0.678801f, 0.734322f,
-0.309017f, -0.951057f, 0.980785f, 0.195090f,
-0.649448f, 0.760406f, -0.346117f, -0.938191f,
0.987688f, 0.156434f, -0.619094f, 0.785317f,
-0.382683f, -0.923880f, 0.993068f, 0.117537f,
-0.587785f, 0.809017f, -0.418660f, -0.908143f,
0.996917f, 0.078459f, -0.555570f, 0.831470f,
-0.453990f, -0.891007f, 0.999229f, 0.039260f,
-0.522499f, 0.852640f, -0.488621f, -0.872496f,
-0.000000f, 1.000000f, -0.831470f, -0.555570f,
0.923880f, -0.382683f, -0.195090f, 0.980785f,
-0.707107f, -0.707107f, 0.980785f, -0.195090f,
-0.382683f, 0.923880f, -0.555570f, -0.831470f,
1.000000f, 0.000000f, -0.555570f, 0.831470f,
-0.382683f, -0.923880f, 0.980785f, 0.195090f,
-0.707107f, 0.707107f, -0.195090f, -0.980785f,
0.923880f, 0.382683f, -0.831470f, 0.555570f,
0.000000f, -1.000000f, 0.831470f, 0.555570f,
-0.923880f, 0.382683f, 0.195090f, -0.980785f,
0.707107f, 0.707107f, -0.980785f, 0.195090f,
0.382683f, -0.923880f, 0.555570f, 0.831470f,
-1.000000f, -0.000000f, 0.555570f, -0.831470f,
0.382683f, 0.923880f, -0.980785f, -0.195090f,
0.707107f, -0.707107f, 0.195090f, 0.980785f,
-0.923880f, -0.382683f, 0.831470f, -0.555570f,
-0.000000f, 1.000000f, -0.831470f, -0.555570f,
0.923880f, -0.382683f, -0.195090f, 0.980785f,
-0.707107f, -0.707107f, 0.980785f, -0.195090f,
-0.382683f, 0.923880f, -0.555570f, -0.831470f,
-0.000000f, -1.000000f, 0.785317f, 0.619094f,
-0.972370f, 0.233445f, 0.418660f, -0.908143f,
0.453990f, 0.891007f, -0.980785f, -0.195090f,
0.760406f, -0.649448f, 0.039260f, 0.999229f,
-0.809017f, -0.587785f, 0.962455f, -0.271440f,
-0.382683f, 0.923880f, -0.488621f, -0.872496f,
0.987688f, 0.156434f, -0.734322f, 0.678801f,
-0.078459f, -0.996917f, 0.831470f, 0.555570f,
-0.951057f, 0.309017f, 0.346117f, -0.938191f,
0.522499f, 0.852640f, -0.993068f, -0.117537f,
0.707107f, -0.707107f, 0.117537f, 0.993068f,
-0.852640f, -0.522499f, 0.938191f, -0.346117f,
-0.309017f, 0.951057f, -0.555570f, -0.831470f,
0.996917f, 0.078459f, -0.678801f, 0.734322f,
-0.156434f, -0.987688f, 0.872496f, 0.488621f,
-0.923880f, 0.382683f, 0.271440f, -0.962455f,
0.587785f, 0.809017f, -0.999229f, -0.039260f,
0.649448f, -0.760406f, 0.195090f, 0.980785f,
-0.891007f, -0.453990f, 0.908143f, -0.418660f,
-0.233445f, 0.972370f, -0.619094f, -0.785317f,
-0.000000f, 1.000000f, -0.734322f, -0.678801f,
0.996917f, -0.078459f, -0.619094f, 0.785317f,
-0.156434f, -0.987688f, 0.831470f, 0.555570f,
-0.972370f, 0.233445f, 0.488621f, -0.872496f,
0.309017f, 0.951057f, -0.908143f, -0.418660f,
0.923880f, -0.382683f, -0.346117f, 0.938191f,
-0.453990f, -0.891007f, 0.962455f, 0.271440f,
-0.852640f, 0.522499f, 0.195090f, -0.980785f,
0.587785f, 0.809017f, -0.993068f, -0.117537f,
0.760406f, -0.649448f, -0.039260f, 0.999229f,
-0.707107f, -0.707107f, 0.999229f, -0.039260f,
-0.649448f, 0.760406f, -0.117537f, -0.993068f,
0.809017f, 0.587785f, -0.980785f, 0.195090f,
0.522499f, -0.852640f, 0.271440f, 0.962455f,
-0.891007f, -0.453990f, 0.938191f, -0.346117f,
-0.382683f, 0.923880f, -0.418660f, -0.908143f,
0.951057f, 0.309017f, -0.872496f, 0.488621f,
0.233445f, -0.972370f, 0.555570f, 0.831470f,
-0.987688f, -0.156434f, 0.785317f, -0.619094f,
-0.078459f, 0.996917f, -0.678801f, -0.734322f,
-0.000000f, -1.000000f, 0.678801f, 0.734322f,
-0.996917f, -0.078459f, 0.785317f, -0.619094f,
-0.156434f, 0.987688f, -0.555570f, -0.831470f,
0.972370f, 0.233445f, -0.872496f, 0.488621f,
0.309017f, -0.951057f, 0.418660f, 0.908143f,
-0.923880f, -0.382683f, 0.938191f, -0.346117f,
-0.453990f, 0.891007f, -0.271440f, -0.962455f,
0.852640f, 0.522499f, -0.980785f, 0.195090f,
0.587785f, -0.809017f, 0.117537f, 0.993068f,
-0.760406f, -0.649448f, 0.999229f, -0.039260f,
-0.707107f, 0.707107f, 0.039260f, -0.999229f,
0.649448f, 0.760406f, -0.993068f, -0.117537f,
0.809017f, -0.587785f, -0.195090f, 0.980785f,
-0.522499f, -0.852640f, 0.962455f, 0.271440f,
-0.891007f, 0.453990f, 0.346117f, -0.938191f,
0.382683f, 0.923880f, -0.908143f, -0.418660f,
0.951057f, -0.309017f, -0.488621f, 0.872496f,
-0.233445f, -0.972370f, 0.831470f, 0.555570f,
-0.987688f, 0.156434f, 0.619094f, -0.785317f,
0.078459f, 0.996917f, -0.734322f, -0.678801f,
-0.000000f, 1.000000f, -0.619094f, -0.785317f,
0.972370f, 0.233445f, -0.908143f, 0.418660f,
0.453990f, -0.891007f, 0.195090f, 0.980785f,
-0.760406f, -0.649448f, 0.999229f, 0.039260f,
-0.809017f, 0.587785f, 0.271440f, -0.962455f,
0.382683f, 0.923880f, -0.872496f, -0.488621f,
0.987688f, -0.156434f, -0.678801f, 0.734322f,
0.078459f, -0.996917f, 0.555570f, 0.831470f,
-0.951057f, -0.309017f, 0.938191f, -0.346117f,
-0.522499f, 0.852640f, -0.117537f, -0.993068f,
0.707107f, 0.707107f, -0.993068f, -0.117537f,
0.852640f, -0.522499f, -0.346117f, 0.938191f,
-0.309017f, -0.951057f, 0.831470f, 0.555570f,
-0.996917f, 0.078459f, 0.734322f, -0.678801f,
-0.156434f, 0.987688f, -0.488621f, -0.872496f,
0.923880f, 0.382683f, -0.962455f, 0.271440f,
0.587785f, -0.809017f, 0.039260f, 0.999229f,
-0.649448f, -0.760406f, 0.980785f, 0.195090f,
-0.891007f, 0.453990f, 0.418660f, -0.908143f,
0.233445f, 0.972370f, -0.785317f, -0.619094f,
-0.000000f, -1.000000f, 0.555570f, 0.831470f,
-0.923880f, -0.382683f, 0.980785f, -0.195090f,
-0.707107f, 0.707107f, 0.195090f, -0.980785f,
0.382683f, 0.923880f, -0.831470f, -0.555570f,
1.000000f, -0.000000f, -0.831470f, 0.555570f,
0.382683f, -0.923880f, 0.195090f, 0.980785f,
-0.707107f, -0.707107f, 0.980785f, 0.195090f,
-0.923880f, 0.382683f, 0.555570f, -0.831470f,
0.000000f, 1.000000f, -0.555570f, -0.831470f,
0.923880f, 0.382683f, -0.980785f, 0.195090f,
0.707107f, -0.707107f, -0.195090f, 0.980785f,
-0.382683f, -0.923880f, 0.831470f, 0.555570f,
-1.000000f, 0.000000f, 0.831470f, -0.555570f,
-0.382683f, 0.923880f, -0.195090f, -0.980785f,
0.707107f, 0.707107f, -0.980785f, -0.195090f,
0.923880f, -0.382683f, -0.555570f, 0.831470f,
-0.000000f, -1.000000f, 0.555570f, 0.831470f,
-0.923880f, -0.382683f, 0.980785f, -0.195090f,
-0.707107f, 0.707107f, 0.195090f, -0.980785f,
0.382683f, 0.923880f, -0.831470f, -0.555570f,
-0.000000f, 1.000000f, -0.488621f, -0.872496f,
0.852640f, 0.522499f, -0.999229f, -0.039260f,
0.891007f, -0.453990f, -0.555570f, 0.831470f,
0.078459f, -0.996917f, 0.418660f, 0.908143f,
-0.809017f, -0.587785f, 0.993068f, 0.117537f,
-0.923880f, 0.382683f, 0.619094f, -0.785317f,
-0.156434f, 0.987688f, -0.346117f, -0.938191f,
0.760406f, 0.649448f, -0.980785f, -0.195090f,
0.951057f, -0.309017f, -0.678801f, 0.734322f,
0.233445f, -0.972370f, 0.271440f, 0.962455f,
-0.707107f, -0.707107f, 0.962455f, 0.271440f,
-0.972370f, 0.233445f, 0.734322f, -0.678801f,
-0.309017f, 0.951057f, -0.195090f, -0.980785f,
0.649448f, 0.760406f, -0.938191f, -0.346117f,
0.987688f, -0.156434f, -0.785317f, 0.619094f,
0.382683f, -0.923880f, 0.117537f, 0.993068f,
-0.587785f, -0.809017f, 0.908143f, 0.418660f,
-0.996917f, 0.078459f, 0.831470f, -0.555570f,
-0.453990f, 0.891007f, -0.039260f, -0.999229f,
0.522499f, 0.852640f, -0.872496f, -0.488621f,
0.000000f, -1.000000f, 0.418660f, 0.908143f,
-0.760406f, -0.649448f, 0.962455f, 0.271440f,
-0.987688f, 0.156434f, 0.831470f, -0.555570f,
-0.522499f, 0.852640f, 0.117537f, -0.993068f,
0.309017f, 0.951057f, -0.678801f, -0.734322f,
0.923880f, 0.382683f, -0.999229f, 0.039260f,
0.891007f, -0.453990f, -0.619094f, 0.785317f,
0.233445f, -0.972370f, 0.195090f, 0.980785f,
-0.587785f, -0.809017f, 0.872496f, 0.488621f,
-0.996917f, -0.078459f, 0.938191f, -0.346117f,
-0.707107f, 0.707107f, 0.346117f, -0.938191f,
0.078459f, 0.996917f, -0.488621f, -0.872496f,
0.809017f, 0.587785f, -0.980785f, -0.195090f,
0.972370f, -0.233445f, -0.785317f, 0.619094f,
0.453990f, -0.891007f, -0.039260f, 0.999229f,
-0.382683f, -0.923880f, 0.734322f, 0.678801f,
-0.951057f, -0.309017f, 0.993068f, -0.117537f,
-0.852640f, 0.522499f, 0.555570f, -0.831470f,
-0.156434f, 0.987688f, -0.271440f, -0.962455f,
0.649448f, 0.760406f, -0.908143f, -0.418660f,
-0.000000f, 1.000000f, -0.346117f, -0.938191f,
0.649448f, 0.760406f, -0.872496f, -0.488621f,
0.987688f, 0.156434f, -0.980785f, 0.195090f,
0.852640f, -0.522499f, -0.619094f, 0.785317f,
0.309017f, -0.951057f, 0.039260f, 0.999229f,
-0.382683f, -0.923880f, 0.678801f, 0.734322f,
-0.891007f, -0.453990f, 0.993068f, 0.117537f,
-0.972370f, 0.233445f, 0.831470f, -0.555570f,
-0.587785f, 0.809017f, 0.271440f, -0.962455f,
0.078459f, 0.996917f, -0.418660f, -0.908143f,
0.707107f, 0.707107f, -0.908143f, -0.418660f,
0.996917f, 0.078459f, -0.962455f, 0.271440f,
0.809017f, -0.587785f, -0.555570f, 0.831470f,
0.233445f, -0.972370f, 0.117537f, 0.993068f,
-0.453990f, -0.891007f, 0.734322f, 0.678801f,
-0.923880f, -0.382683f, 0.999229f, 0.039260f,
-0.951057f, 0.309017f, 0.785317f, -0.619094f,
-0.522499f, 0.852640f, 0.195090f, -0.980785f,
0.156434f, 0.987688f, -0.488621f, -0.872496f,
0.760406f, 0.649448f, -0.938191f, -0.346117f,
-0.000000f, -1.000000f, 0.271440f, 0.962455f,
-0.522499f, -0.852640f, 0.734322f, 0.678801f,
-0.891007f, -0.453990f, 0.980785f, 0.195090f,
-0.996917f, 0.078459f, 0.938191f, -0.346117f,
-0.809017f, 0.587785f, 0.619094f, -0.785317f,
-0.382683f, 0.923880f, 0.117537f, -0.993068f,
0.156434f, 0.987688f, -0.418660f, -0.908143f,
0.649448f, 0.760406f, -0.831470f, -0.555570f,
0.951057f, 0.309017f, -0.999229f, -0.039260f,
0.972370f, -0.233445f, -0.872496f, 0.488621f,
0.707107f, -0.707107f, -0.488621f, 0.872496f,
0.233445f, -0.972370f, 0.039260f, 0.999229f,
-0.309017f, -0.951057f, 0.555570f, 0.831470f,
-0.760406f, -0.649448f, 0.908143f, 0.418660f,
-0.987688f, -0.156434f, 0.993068f, -0.117537f,
-0.923880f, 0.382683f, 0.785317f, -0.619094f,
-0.587785f, 0.809017f, 0.346117f, -0.938191f,
-0.078459f, 0.996917f, -0.195090f, -0.980785f,
0.453990f, 0.891007f, -0.678801f, -0.734322f,
0.852640f, 0.522499f, -0.962455f, -0.271440f,
-0.000000f, 1.000000f, -0.195090f, -0.980785f,
0.382683f, 0.923880f, -0.555570f, -0.831470f,
0.707107f, 0.707107f, -0.831470f, -0.555570f,
0.923880f, 0.382683f, -0.980785f, -0.195090f,
1.000000f, 0.000000f, -0.980785f, 0.195090f,
0.923880f, -0.382683f, -0.831470f, 0.555570f,
0.707107f, -0.707107f, -0.555570f, 0.831470f,
0.382683f, -0.923880f, -0.195090f, 0.980785f,
0.000000f, -1.000000f, 0.195090f, 0.980785f,
-0.382683f, -0.923880f, 0.555570f, 0.831470f,
-0.707107f, -0.707107f, 0.831470f, 0.555570f,
-0.923880f, -0.382683f, 0.980785f, 0.195090f,
-1.000000f, -0.000000f, 0.980785f, -0.195090f,
-0.923880f, 0.382683f, 0.831470f, -0.555570f,
-0.707107f, 0.707107f, 0.555570f, -0.831470f,
-0.382683f, 0.923880f, 0.195090f, -0.980785f,
-0.000000f, 1.000000f, -0.195090f, -0.980785f,
0.382683f, 0.923880f, -0.555570f, -0.831470f,
0.707107f, 0.707107f, -0.831470f, -0.555570f,
0.923880f, 0.382683f, -0.980785f, -0.195090f,
-0.000000f, -1.000000f, 0.117537f, 0.993068f,
-0.233445f, -0.972370f, 0.346117f, 0.938191f,
-0.453990f, -0.891007f, 0.555570f, 0.831470f,
-0.649448f, -0.760406f, 0.734322f, 0.678801f,
-0.809017f, -0.587785f, 0.872496f, 0.488621f,
-0.923880f, -0.382683f, 0.962455f, 0.271440f,
-0.987688f, -0.156434f, 0.999229f, 0.039260f,
-0.996917f, 0.078459f, 0.980785f, -0.195090f,
-0.951057f, 0.309017f, 0.908143f, -0.418660f,
-0.852640f, 0.522499f, 0.785317f, -0.619094f,
-0.707107f, 0.707107f, 0.619094f, -0.785317f,
-0.522499f, 0.852640f, 0.418660f, -0.908143f,
-0.309017f, 0.951057f, 0.195090f, -0.980785f,
-0.078459f, 0.996917f, -0.039260f, -0.999229f,
0.156434f, 0.987688f, -0.271440f, -0.962455f,
0.382683f, 0.923880f, -0.488621f, -0.872496f,
0.587785f, 0.809017f, -0.678801f, -0.734322f,
0.760406f, 0.649448f, -0.831470f, -0.555570f,
0.891007f, 0.453990f, -0.938191f, -0.346117f,
0.972370f, 0.233445f, -0.993068f, -0.117537f,
-0.000000f, 1.000000f, -0.039260f, -0.999229f,
0.078459f, 0.996917f, -0.117537f, -0.993068f,
0.156434f, 0.987688f, -0.195090f, -0.980785f,
0.233445f, 0.972370f, -0.271440f, -0.962455f,
0.309017f, 0.951057f, -0.346117f, -0.938191f,
0.382683f, 0.923880f, -0.418660f, -0.908143f,
0.453990f, 0.891007f, -0.488621f, -0.872496f,
0.522499f, 0.852640f, -0.555570f, -0.831470f,
0.587785f, 0.809017f, -0.619094f, -0.785317f,
0.649448f, 0.760406f, -0.678801f, -0.734322f,
0.707107f, 0.707107f, -0.734322f, -0.678801f,
0.760406f, 0.649448f, -0.785317f, -0.619094f,
0.809017f, 0.587785f, -0.831470f, -0.555570f,
0.852640f, 0.522499f, -0.872496f, -0.488621f,
0.891007f, 0.453990f, -0.908143f, -0.418660f,
0.923880f, 0.382683f, -0.938191f, -0.346117f,
0.951057f, 0.309017f, -0.962455f, -0.271440f,
0.972370f, 0.233445f, -0.980785f, -0.195090f,
0.987688f, 0.156434f, -0.993068f, -0.117537f,
0.996917f, 0.078459f, -0.999229f, -0.039260f,
};
【0112】
各表は、MSの所与の値に対応してよく、次元(2MS)×(4MS)の行列の複素数エントリを含んでよい。上述のように、(インデックスがゼロから開始するとして)表の偶数インデックスの要素は、それぞれの行列エントリの実数部に対応してよく、一方で、奇数インデックスの要素は、それぞれの行列エントリの虚数部に対応してよい。
【0113】
纏めると、以上は、QMFに基づく高調波トランスポーザーが複素数値の2MSチャネル分析フィルタバンクを有し得る(特に、QMF高調波トランスポーザーを含む)上述の符号化されたUSACストリームを復号する機器の処理に対応し得る。複素数値の2MSチャネル分析フィルタバンクは、2MS個の複素数値のサブバンドサンプルの配列を取得するために4MS個のサブバンドサンプルの配列を処理するよう構成されてよい。2MS個の複素数値のサブバンドサンプルの中の各々の複素数値のサブバンドサンプルは、2MS個のサブバンドの中のそれぞれのサブバンドに関連付けられてよい。4MS個のサブバンドサンプルの配列を処理することは、複素数値行列Mと4MS個のサブバンドサンプルの配列との行列ベクトル乗算を実行することを含んでよい。複素数値行列Mのエントリは、それらの行列エントリがベクトル行列乗算において貢献する、2MS個の複素数値のサブバンドサンプルの中のそれぞれのサブバンドサンプルのサブバンドインデックスに依存してよい。予め計算された情報は、行列ベクトル乗算の複素数値行列Mのエントリに関連してよい。複素数値行列Mのエントリは、オフラインで決定され、1つ以上のルックアップテーブルに格納されてよい。QMFに基づく高調波トランスポーザーは、実行時に1つ以上のルックアップテーブルからの複素数値行列Mのエントリにアクセスするよう構成されてよい。
【0114】
さらに、QMF
トランスポーザーでは、以下のコードが実行されてよい:
【数24】
【0115】
このvld4q_s32関数は、メモリ位置(このメモリへのポインタは、この関数への入力として渡される)からの16個の32ビットデータ要素のベクトル読み出し(vector loading)のためのものである。同様に、vst4q_s32関数は、メモリ位置(このメモリへのポインタは、この関数への入力として渡される)への16個の32ビットデータ要素のベクトル格納(vector storing)のためのものである。Vld4q_s32は、プラットフォームに最適な命令およびコーディングを提供し、実際のアセンブリコーディングより保守が容易である。これら2つの関数は、アセンブリコーディングと同じ目的を達成するが、固有バージョンのほうが読み易い。
【0116】
デコーダ2000は、LPCフィルタツール2903を更に含んでよい。LPCフィルタツール2903は、再構成された音源信号(excitation signal)を線形予測合成フィルタを通じてフィルタリングすることにより、音源ドメイン信号から時間ドメイン信号を生成する。
【0117】
LPCフィルタは、(ACELPおよびTCXモードの両方で)USACビットストリームの中で伝送されてよい。ここで、ビットストリームの中に符号化されるLPCフィルタの実際の数nb_lpcは、USACフレームのACELP/TCXモード結合に依存する。ACELP/TCXモード結合は、USACフレームのフィールド(例えば、lpd_modeフィールド)から抽出されてよい。これは、USACフレームを構成する4個のサブフレームの各々について符号化モードmod[k]、k=0~3を決定する。モード値は、ACELPでは0、短いTCX(coreCoderFrameLength/4個のサンプル)では1、中程度のサイズのTCX(coreCoderFrameLength/2個のサンプル)では2、長いTCX(coreCoderFrameLength個のサンプル)では3であってよい。
【0118】
ビットストリームは、ACELP/TCXモード結合により要求されるLPCフィルタの各々に対応する量子化インデックスを抽出するためにパースされてよい。LPCフィルタのうちの1つを復号するために必要な動作を次に説明する。
【0119】
LPCフィルタの逆量子化は、
図5に記載のように実行される。
【0120】
LPCフィルタは、線スペクトル周波数(line spectral frequency:LSF)表現を用いて量子化される。第1段階近似は、絶対量子化モードまたは相対量子化モードにより計算される。これは、例えば、参照により全体がここに組み込まれるUSAC標準のclause7.13.6に記載されている。量子化モードを示す情報(mode_lpc)がビットストリームに含まれる。デコーダは、LPCフィルタを復号する第1ステップとして、量子化モードを抽出してよい。
【0121】
任意的な代数ベクトル量子化(algebraic vector quantized:AVQ)された精緻化(refinement)は、次に、8次元RE8格子ベクトル量子化(Gosset Matrix)に基づき計算される。これは、例えば、参照により全体がここに組み込まれるUSAC標準のclause7.13.7に記載されている。量子化されたLSFベクトルは、第1段階近似と逆重み付けされたAVQの寄与を加算することにより、再構成される。(更なる詳細については、ISO/IEC23003-3:2012のclauses7.13.5,7.13.6,7.13.7を参照する)。逆量子化されたLSFベクトルは、続いて、LSP(線スペクトルペア)パラメータのベクトルに変換され、次に、補完され、LPCパラメータへと再び変換されてよい。
【0122】
図5では、USACビットストリームからの符号化されたインデックスは、デマルチプレクサ510により受信され、デマルチプレクサ510は第1段階近似ブロック520および代数VQ(AVQ)デコーダ530へとデータを出力する。LSFベクトルの第1段階近似は、ブロック510で取得される。残差LSFベクトルは、AVQデコーダ530により取得される。残差LSFベクトルの逆重みは、ブロック540でLSFベクトルの第1段階近似に基づき決定されてよい。逆重み付けは、乗算ユニット550で、残差LSFベクトルの成分にそれぞれ逆重みを適用することにより、実行される。逆量子化されたLSFベクトルは、加算ユニット560で、LSFベクトルの第1段階近似および逆重み付けされた残差LSFベクトルを加算することにより、取得される。
【0123】
逆量子化されたLSFベクトルを構築するために、AVQ精緻化に関する情報がビットストリームから抽出される。AVQは、8次元RE8格子ベクトル量子化器に基づく。LPCフィルタを復号することは、重み付けされた残差LSFベクトルの2個の8次元サブベクトルB^k、k=1,2を復号することを含む。
【0124】
これら2個のサブベクトルのAVQ情報は、ビットストリームから抽出されてよい。これは、2個の符号化されたコードブック番号qn1およびqn2、並びに対応するAVQインデックスを含んでよい。重み付けされた残差LSFベクトルは、2個のAVQ精緻化サブベクトルB^
1およびB^
2を連結することにより、取得される。この重み付けされた残差LSFベクトルは、USACエンコーダで実行された重み付けを逆処理するために、逆重み付けされる必要がある。逆重み付けのための以下のアプローチは、絶対量子化モードが使用されるときに使用されてよい。
1)絶対量子化モードでは、LSF値は、表から取り込まれてよい。
2)次に、次式を用いてLSF重みを計算する:
【数25】
3)LSF値が表から取り込まれるとき、既存の表は、以下に示されるLSF重みが次式の中で既に考慮されている予め計算された表で置き換えられてよい。
【数26】
【0125】
したがって、LSF重みによる逆重み付けは、実行前に(例えば予め計算された)重み付けされたLSF値を導出するために、オフラインで実施されてよい。実行時に、予め計算された重み付けされたLSF値は、計算することなく、必要に応じて参照されてよい。例えば、逆重み付けされたLSF値は、1つ以上のルックアップテーブルから取得され(例えば、読み出され、検索され)てよい。ルックアップテーブル内の重み付けされたLSF値の実際の構成は、デコーダが適切な逆重み付けされたLSF値を実行時に読み出すルーチンを提供される限り、変化してよい。
【0126】
ステップ3)で使用するルックアップテーブルの一例は以下に示される。このルックアップテーブルの使用は、LSF距離、隣接する距離の乗算、その後に続くsqrtおよび分割の計算を回避することを可能にする。
double weight_table_avq_flt[17*256]=
{ 0.85595373254321,
0.94437839781058, 0.94897456022618, 0.79910696439234,
0.85239492827213, 0.91887118943841, 0.93248540371499,
0.92672601014431, 0.92333414716754,
0.92716733877468, 0.93868579306505, 0.97240076035934,
0.97140933716786, 0.96353221046842, 0.96131228641078,
1.04832811823676, 1.33394815480725,
1.32261776059138, 0.96096463897978, 0.73009145150866,
0.73913117513624, 0.82285102423154, 0.86877431502080,
0.87327692519144, 0.85734861723261,
0.89420070699041, 0.91658705877904, 0.93080442120705,
0.95710742532838, 0.92362310871747, 0.92295995630919,
0.92908323651360, 0.99576632173507,
1.24042414105480, 1.02995667382484, 0.97537621081057,
0.91390841527490, 0.66539003294520, 0.68472422553904,
0.81002183351766, 0.94178263390358,
0.97800777842415, 0.94112335609774, 0.85559459356390,
0.81263038387255, 0.85417319138795, 0.87852103977392,
0.93427013034853, 1.05146629989408,
1.19021996282685, 1.22731010597413, 0.97914389632577,
1.02185267900266, 1.00612789572312, 0.78248026754809,
0.71750970497005, 0.70878033398294,
0.72479528718746, 0.77677728048488, 0.86129170397441,
0.94195911036027, 1.02319651577098, 1.09088647138116,
1.07372679085581, 1.01458846029912,
0.99008923351943, 1.05357141776010, 0.97769127510350,
0.45840915115910, 0.43357385905951, 1.21477699586534,
1.08599529897040, 0.60613292050958,
0.70853570458038, 0.68575155898038, 0.81168126749434,
0.90220792215764, 0.71725340938257, 0.69674119282821,
1.19028319834431, 1.75210441495995,
1.15678421034636, 0.87517309626990, 0.93590310989781,
1.08351630364644, 0.65535915077882, 0.58100763881179,
0.95880508513109, 0.64426900658018,
0.61790708076220, 1.04534041000414, 0.76739066237464,
0.72128603972492, 0.82961729730329, 0.61761886847732,
0.60171825807312, 0.94345990631831,
1.77874332214276, 1.62615512494916, 0.94634538935676,
0.89881574251680, 1.06784774079492, 0.58035788483398,
0.50693261618010, 0.98212589264723,
0.75642145791289, 0.64978904565555, 0.83717645106587,
0.75626412993782, 0.77059807624723, 0.79177345321432,
0.65221438538494, 0.84225194675269,
1.69694263625979, 1.31412551871200, 0.78197086885406,
0.96747331727553, 1.21931643126254, 0.96077489968068,
0.46578316685737, 0.50071578236033,
0.73738770253759, 1.08469564354601, 1.07163148034979,
0.69357639858372, 0.72434885858900, 0.68538422357448,
0.64519061011961, 1.04628040387400,
1.59965479627336, 1.17806088197046, 0.81951265322256,
0.92082245393550, 1.20361627369228, 1.15138510748432,
1.00514081180758, 0.55650264823516,
0.46242075747358, 0.61438485833339, 0.50994939046334,
0.94780615702001, 1.39207044265030, 0.78181050049663,
0.95541962297908, 0.86252969578229,
0.78664944207833, 1.27480190436058, 1.16903532140574,
0.91180718936860, 0.88345316276254, 0.91907312243723,
1.06866929295103, 1.07836242268417,
0.55428141969520, 0.52001338735139, 0.73340363083745,
0.54915422075763, 0.53830185696326, 1.16813634263480,
1.29237483121154, 0.72689187181961,
1.06737031409789, 1.13785779093191, 0.76863440160708,
0.86801265394350, 0.97392404920072, 0.90815181078587,
1.03597959947556, 1.28248211369837,
0.86484302256307, 0.42018721457960, 0.51785682331407,
1.06975287057255, 1.21814014944603, 0.78366368280128,
0.57615712310786, 0.76814423645064,
1.15658619212177, 0.86762194243816, 0.86273786888669,
1.41200969753890, 1.00333715009531, 0.71149797060698,
0.89415616283524, 1.14978024135630,
1.20740732597291, 1.00604306020314, 0.61592418126590,
0.64182976766077, 0.94420476135673, 0.75355337965824,
0.73891025471873, 0.96191667160455,
0.90992365726464, 1.04057088914008, 1.30554723032667,
1.32107678940250, 1.26481910146337, 1.00867048423668,
0.79515330795239, 0.80626244716684,
0.79534397646590, 0.91444679505750, 0.91887508278302,
0.56673595648534, 0.72679597616509, 0.90232844955326,
0.60495791902651, 0.62405457118219,
0.93227520177938, 1.20194786539111, 1.04759854877602,
1.03344306195794, 1.06712603368072, 1.02780910598958,
1.05906992019756, 1.01466992939059,
0.98737563401637, 0.97601604755481, 1.05301157555975,
1.08548807789322, 0.65842058758335, 0.52839937056214,
1.00448825698835, 0.89853529135696,
0.59481345715665, 0.88362380468229, 0.85772238642527,
0.85389270975842, 1.06361730018292, 0.80235823506965,
0.84564491962357, 1.16339267628101,
0.91617296935587, 0.74258879388914, 0.90112242710089,
1.32709891934003, 1.11219496926190, 0.37677897147873,
0.54552058712445, 1.37457922755600,
0.73970317414546, 0.59386809297247, 0.71264418346149,
0.83208151305165, 0.71996299164252, 0.92218565945723,
1.46294706740199, 0.94726199069948,
0.79373639679877, 0.85770645113434, 0.89520409303379,
1.10913164394451, 1.24200994720635, 0.88008298123305,
0.44743238809029, 0.58846467881264,
1.37391154880164, 0.81712531979052, 0.81072829968578,
0.99375939488206, 0.88073940088267, 1.21525429593045,
0.96802803274390, 0.78389694377403,
0.82147658176371, 0.84552951475592, 0.85072684652659,
0.90063252961193, 0.95771232142232, 1.06606312923605,
1.05782253421303, 0.53621430221199,
0.41189860423475, 0.61914777153489, 0.55627354699943,
0.81838198758638, 1.92750629291728, 1.50546211112531,
0.73894592728670, 0.66811081102554,
0.70909683482309, 0.63664420189592, 0.70826432475475,
0.93315501585264, 0.99160275237076, 1.02800187091681,
1.33329959144894, 1.12704164412313,
0.49765023232431, 0.51235926564359, 0.90460990370159,
0.67671048107267, 0.51159777384827, 0.60301397301650,
1.29807920718213, 1.53414628037613,
0.78024714423007, 0.78900314999230, 0.72350822538708,
0.87759107709805, 1.41764853554107, 1.25384713035801,
0.94724226896221, 0.91462672348933,
0.93686765176057, 0.55744741034260, 0.49019093275163,
0.92155390660884, 0.88585377216730, 0.61366388334174,
1.05060936060345, 1.36985414208499,
0.79082129693058, 0.87403171358932, 1.10675770960479,
0.73420649263795, 0.72916265487958, 1.09565937285831,
1.14008159656528, 0.97469493594059,
1.04344621366785, 0.95062999422127, 0.55512881439577,
0.55140799225572, 0.68145396858709, 1.11165365116117,
1.38686172881086, 1.05649073144331,
1.01934987971749, 0.73337120125455, 0.65421865450957,
0.85595091722288, 1.15325943923953, 1.17364716016862,
0.90319661662985, 0.77366301828774,
0.87980651939285, 1.10730683492742, 0.88032362986672,
0.40512567695389, 0.42102227575113, 0.95425094763489,
1.10319807668815, 1.06311627185893,
1.19939825567189, 0.86431975068818, 0.54968662646969,
0.59762734651798, 1.18482660832784, 1.42332453801872,
1.01311304537849, 0.97314987764014,
1.14680376683255, 1.01654198469879, 0.85442856762327,
0.78053054054267, 0.40624060826176, 0.37441534056606,
0.55048843007391, 1.01081062562976,
1.66768319598333, 0.88729048710967, 0.55970837912161,
0.61874822062329, 1.03521165363873, 1.41587784292951,
1.36177897987351, 1.14279181770457,
0.78240309774156, 0.70517224293904, 0.80767399736855,
1.08691052931137, 0.81625989676305, 0.36852747799472,
0.35118539885952, 0.72812458094984,
1.47510404200042, 0.94457141318198, 0.48394983966064,
0.69849321849508, 1.36833372751703, 1.60780758936566,
0.98357823054983, 0.67045609740723,
0.80193794855714, 1.07570576796635, 1.01522932760724,
0.95000288415302, 1.01704340289487, 0.90099069800649,
0.46275623172391, 0.43606921067604,
0.63226151592752, 0.91893897229151, 1.62624412616516,
0.99983110265439, 0.68545975593732, 0.75591074052647,
0.87014537645483, 1.05019422274819,
0.79299403707653, 0.67562300204935, 0.89171234703907,
1.27411052491883, 1.24963597869160, 1.16045949681639,
0.89635498851745, 0.40999466341448,
0.37054776287374, 0.53042569143003, 1.03796797206988,
1.46534155606511, 0.88697952575083, 0.74752997743189,
0.74440880711593, 0.96699895765323,
1.09328439717796, 1.05342335348184, 1.16654443917445,
1.10729253382154, 1.00573123513886, 1.01282208014727,
1.05832584731234, 0.81439366743576,
0.41856146545526, 0.39298614777407, 0.59698914917070,
1.14989528541627, 1.63964481620572, 1.06052644083981,
0.79232835619669, 0.74338572612363,
0.97227515967182, 1.15836356269618, 1.01209859976081,
0.93995764868636, 0.92158595882111, 0.96447496476597,
0.98970625857194, 1.02952884033472,
0.88939116060146, 0.45493493896244, 0.43057210695307,
0.58976414783657, 0.69302385551796, 1.49783949319000,
1.27521614752200, 0.86493808620798,
0.97664438257486, 0.83590779652096, 1.09052097294032,
1.19336353450494, 0.98830827912773, 0.85450698284833,
0.79326515048049, 0.81838457813830,
0.96269111607466, 0.72619627888715, 0.31634290903855,
0.34692195992777, 0.89271373733265, 1.48013792143378,
1.25637434259698, 1.06182967075770,
1.04555458477319, 1.01331660480335, 0.97768007881782,
0.95799231213776, 0.95447764400028, 0.95591829536825,
0.94451678431030, 0.92520003823911,
0.91116444481404, 0.98635377540094, 0.88706785447921,
0.42203978240671, 0.34467715354391, 0.47266822987007,
0.67227581095806, 1.44482524712446,
1.44197128904492, 1.07435754798772, 0.91771583717722,
0.71439608196155, 0.87222816114460, 1.14287284657956,
1.18204402125727, 1.01950399324880,
0.93488894274766, 0.96766134720563, 1.04285914698135,
0.70184053228046, 0.31121350263077, 0.45333671117853,
1.32205006278583, 1.34606623584335,
1.03421731330806, 1.01627188162550, 0.98117738034424,
0.97124732178184, 0.94933428387956, 0.94612142142623,
0.94412930205677, 0.94208572000855,
0.92590514906399, 0.91684596384328, 0.89475968708908,
0.97900758183881, 0.91669962944081, 0.49244532981568,
0.47683797314349, 0.61964259278336,
0.65950162112119, 1.43787924848871, 1.31883577279073,
0.78368695622022, 0.95394214551889, 0.82546484106895,
0.74645630231433, 0.89523385887138,
1.04857907621325, 1.07997832386215, 1.04383022354605,
0.97081167431038, 1.00110643338394, 0.85592855279647,
0.46869364081258, 0.56678181638293,
1.00663953748410, 1.24376115564065, 1.38284351470530,
1.27390968648453, 1.06272091278940, 0.89063559008125,
0.84321879883632, 0.79295114752489,
0.76609044349139, 0.80908060261353, 0.86118392187713,
0.92377581205749, 0.97574085023076, 1.08164913400353,
1.08374278378807, 0.71557922556599,
0.65725373229257, 0.93253707719935, 1.09802156605608,
1.01643477945894, 0.98302629553042, 0.98528525844891,
0.91427685025707, 0.95958466981520,
0.98091352449590, 0.94456292531364, 0.94662888619437,
0.93803895445395, 0.89813364349382, 0.87572641256295,
0.99414235510985, 1.03599313395488,
0.82566246167335, 1.01347294200881, 1.02163927122269,
0.88607648614620, 1.04624176731025, 1.03851319310612,
0.96319078100192, 0.85451714002678,
0.77095306414550, 0.75757026137846, 0.81443195758043,
0.88988578970875, 0.92578981119052, 0.94876004770045,
0.98479054409625, 1.06826768780519,
1.14615166774442, 1.01206563448728, 1.09845162640267,
1.05888457146714, 0.92401161599867, 1.00532392110442,
1.03658374028281, 0.96860787305925,
0.87534960483029, 0.81501841439740, 0.75265106780314,
0.74947939882359, 0.79734964338835, 0.84287780262091,
0.89355826257876, 0.92594895930929,
1.02451457278536, 1.24339907015239, 1.20105166188085,
1.15655279399527, 0.98473701953374, 0.95412867094767,
1.09529115027035, 1.07827874463258,
1.01533243915615, 0.88745883807580, 0.78105068827714,
0.71109324445840, 0.70699413372640, 0.72945432915557,
0.76338450780763, 0.83129363778666,
0.87814397416708, 0.95774393184330, 1.22766487696990,
1.36299263568387, 1.24295833257188, 1.11388702703608,
1.15911148316924, 1.13492830205689,
0.92183802460816, 0.80211056700307, 0.75633224569103,
0.68976744851626, 0.66625646225253, 0.73017762623822,
0.78361583898698, 0.80849336931526,
0.84157760915356, 0.84201393745309, 0.90405534068615,
1.20676881723048, 1.19765239111939, 1.07827886723016,
0.98993063335909, 0.87536454079091,
0.95427681505408, 1.03790604477082, 1.03591665786926,
1.02100147586263, 0.98660652126718, 0.89171970476543,
0.86090392238940, 0.83094160704980,
0.76369543747906, 0.73443154670753, 0.73150033844161,
0.79218644323786, 0.96833873052854, 1.00074733483058,
0.99726155093894, 0.86946329276338,
0.75689688157317, 0.87742109095216, 0.98633242624384,
0.97260352651874, 0.94250487903545, 0.96098628815257,
0.97074961584656, 0.95940760213366,
0.93790754978522, 0.91278414785560, 0.90018350364602,
0.88434821612976, 0.96077975069377, 0.77624529109220,
0.38231100503386, 0.43236296441663,
1.03044660201836, 1.07662816983542, 0.82222382955671,
0.82612628421835, 0.70183643101925, 1.12130023441753,
1.12700724764165, 0.66916708327477,
0.95812344331321, 1.20254095937887, 1.12580155377474,
0.98127438715376, 0.91824158809235, 1.07972248340219,
0.95881315867810, 0.46782859054495,
0.45260782049745, 0.61262168975441, 0.64372581051724,
1.24862586018593, 1.05552937971909, 0.92323257360462,
1.05127024171400, 0.69795360057817,
0.72627719104170, 0.74760920843579, 1.00305491289615,
1.43589878799492, 1.30798283356968, 1.05558402044596,
0.95937106778460, 0.96548712387308,
0.55764240816208, 0.48527634189816, 0.52010819547216,
0.84867897345163, 1.23848847719675, 0.78390067383294,
0.78434810777174, 0.64424580603122,
0.63449233596329, 0.83829333077567, 0.84790025027972,
0.91418981218255, 1.36079942855389, 1.53618139928187,
1.17468840599786, 1.11607111244203,
1.22254284074569, 0.83481662914970, 0.54639043305100,
0.61440487410159, 0.61969564279808, 0.62732052968274,
0.93633493417554, 0.89195499057133,
0.77697217595481, 0.94482772836748, 0.98937710867228,
0.93993145286938, 0.91469930620984, 1.25131131929247,
1.60761639256945, 1.23307365106106,
0.92768462232315, 0.94625337634957, 0.57446207933253,
0.50238421269583, 0.65137047124232, 0.61188643360911,
0.90524182380332, 0.95520146735085,
0.86682931637976, 0.77459937395054, 0.71265147299358,
1.03467022501334, 1.09752578875075, 1.22208690293485,
1.40403973987677, 1.17749351726709,
1.05296538875047, 1.06094767567723, 0.95588089374254,
0.51032198496405, 0.54295240401417, 0.68020632428927,
0.60727863970921, 0.65246018619899,
0.78376143520279, 1.51508515818014, 1.21184862527740,
0.72197370101913, 0.89939079464296, 1.50463988262872,
1.51604497907961, 0.87278417296150,
0.73156251640515, 0.69618053211287, 0.83206846854554,
0.93943940417650, 0.46172349610141, 0.43514964454707,
0.52047481617786, 0.77042574192407,
1.16330865381269, 0.79468600633843, 0.80170758027220,
0.67559195020729, 1.01484207792086, 1.45616938851121,
0.95593951261896, 0.97338066362312,
0.88322494662599, 0.90081271501145, 1.19495596600923,
1.18694373405597, 1.13201127490814, 0.68080684748697,
0.46640964246698, 0.48448503638232,
0.45368784020561, 0.89535747739855, 1.25537571118985,
0.79179245192638, 0.90703138031741, 0.77263753807005,
0.89985725589095, 1.26021148709808,
0.82472394735492, 0.90425211549724, 1.29264300699366,
1.23415145803586, 1.06964313896111, 1.01926387142898,
0.68043433237368, 0.52894256947334,
0.53422703905776, 0.50254149557749, 1.00509905590401,
1.48831798356698, 0.82372983918836, 0.62418983869626,
0.55084814941734, 0.69769638087818,
1.08930810221581, 1.04720355105351, 1.25393821371581,
1.45082654926858, 1.17636355518817, 1.04070937409167,
0.82689435145173, 0.42185984359647,
0.40570704248027, 0.58719439935551, 0.84635547358474,
1.22421918146524, 1.00710664332185, 1.03262735132474,
1.10441981997349, 1.04830275893516,
1.08447519044851, 1.06242197001556, 1.06128920251134,
1.00593094546454, 1.00107881281834, 1.01797499175950,
1.03195959787030, 0.76431947277785,
0.38150766872468, 0.45405673414438, 0.95242425521781,
1.24912883311495, 1.20212028890846, 0.74378550188173,
0.47764237285287, 0.83010030158813,
1.45049843033882, 1.11536498769165, 1.07217898701507,
1.07129716172891, 0.74645892084980, 0.81060310250462,
1.01560388410552, 1.08830453928204,
0.89482547728177, 0.57178926119342, 0.85975749989695,
1.02335312040537, 0.72414964594507, 0.84320185036169,
0.98095381909661, 1.03609668907543,
1.02210349789132, 1.01936226079764, 1.04660893952712,
1.00677197370637, 0.98476033232067, 0.95973916250101,
0.93848902372250, 0.89976783257572,
0.98168697037534, 0.91638692383955, 0.44416141336789,
0.44309269286120, 1.13013306555790, 0.90910079593416,
0.71705239166468, 0.87163988059863,
0.67925588605870, 0.92091648984187, 0.93725043405233,
0.68265925911360, 1.07199866295546, 1.42940740321387,
0.97701629194843, 0.86363850478634,
0.98450953435416, 1.14684472803005, 1.06543720510691,
0.52528757140859, 0.49405020683131, 1.13597168396925,
0.81477527444299, 0.62620729359775,
1.00713161645259, 0.71935866776494, 0.94381635533672,
1.30361402384038, 0.75718328729041, 0.72219574163241,
1.02892075417404, 1.10291662364834,
0.95968584060525, 0.91226368056568, 1.05789714329211,
1.00448578814879, 0.45770399272074, 0.59383263817525,
0.95803635127755, 0.63245595066486,
0.70476382470115, 0.77375672472953, 0.77394320185938,
0.69989352056095, 0.60723666715267, 0.98111859888735,
1.69764245255927, 1.50658139683199,
1.04155815409235, 1.02479605459725, 1.06633381717956,
0.97925018748104, 0.84253780029215, 0.40039663203292,
0.63201826861868, 1.27119260168486,
0.75040230142165, 0.66934563009748, 0.73471968262811,
0.81066431398888, 0.69396950258250, 0.60438654166695,
0.92856452415034, 1.68810010621627,
1.40522280229293, 0.81528735457245, 0.89255901312870,
0.97643151698794, 0.99430595720060, 1.06327830336813,
0.56433116352037, 0.42453866664786,
1.00524330071387, 1.19015231699103, 0.56940191862853,
0.52406511020245, 0.62150410274176, 0.73450789737846,
1.24182403524911, 1.01271927100693,
0.66899404335648, 0.94892601430984, 0.98036522575224,
0.84206118100807, 1.28346967942010, 1.47606667581562,
0.91252574057554, 0.43720699210580,
0.56793587905348, 0.89537034788442, 0.79694057457510,
0.91635681447197, 0.84408254700036, 0.79894600864325,
0.87447534436947, 1.10275705691715,
1.29615386522200, 1.31309824175094, 1.21815676720022,
0.96244836665661, 0.83525720908534, 0.86306311356665,
1.06944319952214, 1.12372129450760,
0.66741661418707, 0.54719947224962, 0.73392116144541,
0.63404246614580, 0.88330397287101, 1.19594678113584,
0.87793637114263, 1.06028400759320,
1.02201754453601, 0.87357514308204, 1.11669879714831,
1.16887540001093, 0.97193570314199, 0.90292414866140,
0.85083331840960, 0.96708589118012,
0.98760492916257, 0.48994580114557, 0.55902544571939,
0.73464471045248, 0.54669051305527, 0.61251986542790,
0.90498425987677, 1.00084680398705,
1.05182949234154, 1.34918998543389, 1.45807690607355,
1.40136273111997, 1.07760032231029, 0.85198495839502,
0.84254554838094, 0.86050438744000,
0.93201775884417, 1.00695831747958, 0.54053390530486,
0.58651444820339, 0.87476761724202, 0.64795464931331,
0.72393376058166, 0.79577067235058,
0.96488646465077, 0.94328600376520, 0.62787158308735,
0.90614867824237, 1.73562094122502, 1.29792684523831,
0.75460888487502, 0.71183046941829,
0.83342636563137, 1.20184157530792, 0.96052691556266,
0.38584862267904, 0.49482294437367, 1.40487839277766,
0.94954300320366, 0.61560342671263,
0.76281589914105, 0.84968472863839, 0.83764338730629,
0.80501763015260, 1.05708581294565, 1.20027289422706,
1.06495556199619, 0.98157937398948,
1.05918416521074, 1.05492942611578, 1.04408658591881,
0.89469332580636, 0.44006863220049, 0.56473088388758,
1.22308915572063, 0.69896513158919,
0.49236368077011, 0.58578653557487, 0.92565264688365,
1.03870774088169, 0.92561463866256, 1.12853052824049,
1.12888803853505, 1.11190557588521,
1.04191642603787, 1.03690255510976, 1.01976640800847,
1.09015769648254, 0.81133591775424, 0.38944521807692,
0.48418030798572, 1.16796833157582,
0.98136456502209, 0.67473263731193, 0.70180220059396,
1.03340452440961, 1.33858750160901, 0.97004612724545,
0.98491104061089, 1.07523600620522,
0.99277483931433, 0.98737939439434, 1.00519828313125,
0.95746295908510, 0.99408859061294, 0.73472090152102,
0.35657572090761, 0.41991793040612,
1.03519143445866, 1.54014550152936, 0.88375992418576,
0.57221138028051, 0.91115210120952, 1.25877870858124,
1.09233666812983, 0.98793732839422,
0.96725887890574, 0.93433458855802, 0.89161329387706,
0.87770512143777, 0.93000077369360, 1.10016582207185,
0.93503692759978, 0.44153914088250,
0.46777018342247, 1.19742392474690, 0.83448201234133,
0.71011221558038, 0.89143841102163, 0.68678889975432,
1.10960756402048, 0.90574685187691,
0.83689286456420, 1.35488829055257, 1.15466207397688,
0.85417276823793, 0.83648507244230, 0.83023843452328,
0.91127132400715, 0.85942445134669,
0.42086889706713, 0.43786957059181, 1.05299824239384,
1.48909739645804, 0.92340417260536, 0.83660717104800,
0.98678325034741, 0.87429959482426,
1.12874125680436, 1.24806576270197, 0.86985015914746,
0.76260834246258, 0.84644395259428, 0.86477357997711,
0.89060780251112, 1.03101712616770,
0.76327120288435, 0.44371141020621, 0.85595207269191,
1.35720236892895, 1.01369668272828, 0.98387166534982,
0.98596391886642, 0.97338980192220,
0.92786768580292, 0.92515217608795, 0.92820312449912,
0.92517322968601, 0.92099569518989, 0.91175372184456,
0.90545944600266, 0.89299974493283,
0.96744774207537, 0.89517301240352, 0.44999738164687,
0.57216323791670, 0.92127089706584, 0.78429897603725,
0.94437839387394, 0.86313597979026,
1.04523441989020, 0.88355876817608, 1.01295937568710,
1.22911770827895, 0.75682594334064, 0.73240338697369,
0.74885902418941, 0.80743177960138,
1.07116255530849, 1.31007162747548, 1.15603799978674,
0.66137215050478, 0.50807828328895, 0.80012943470262,
0.76610070832112, 0.65744632470298,
1.02255496683735, 0.97523198673909, 0.85060557381731,
1.13067898021510, 0.85678341151380, 0.70093084584937,
0.96381347491362, 0.89196068073490,
0.72609319378622, 1.13681087376677, 1.59914290361700,
1.18773054619563, 0.90160608025120, 1.14099565811009,
1.13149818204483, 0.78155826864516,
0.71629228053971, 0.81053987972056, 0.89945839079739,
0.91490457748449, 0.95300639327348, 0.94289698267617,
0.92046635989901, 0.93453172857186,
0.94327995812822, 0.93199781611127, 0.91569250290556,
1.00555932617955, 1.15373294607052, 1.20248380240459,
1.33649974538976, 1.16949895171450,
1.00606779527753, 0.90101288231619, 0.72444382834715,
0.64284902801612, 0.65182835598398, 0.73876641008382,
0.82082296803186, 0.88757374604848,
0.93585576937648, 0.92869573242063, 0.91772907489686,
0.92348432195632, 1.00185641724861, 1.08853351263908,
1.05736810148110, 1.31124427937822,
1.13271601479231, 0.79107525481653, 0.69375373877047,
0.65788491558836, 0.71455551393638, 0.79395286792243,
0.88645945523714, 0.92050753202359,
0.93380605222992, 0.96239008833283, 0.95379091958881,
0.94588589893548, 0.96343091395849, 1.04455885893598,
1.10960022551980, 0.79436779786638,
0.70098032425141, 0.66255879842894, 0.59809376600402,
0.94319384006315, 1.20822623831239, 0.97563344360632,
1.10476313975741, 1.14079382707337,
0.84503207326103, 0.74724518495907, 0.73618001099981,
0.80180560050475, 0.99801011553142, 1.17050742818367,
1.21216281523504, 1.06234627845408,
0.53065706113309, 0.51671221503323, 1.04744237383058,
0.70882046704667, 0.75079406250635, 1.14551466380849,
0.73543843587980, 0.93036928891435,
1.01071747717852, 0.66121822158369, 0.68290717302121,
0.76931736508710, 0.85230944183316, 1.29183127422690,
1.53266907512072, 1.11270336667682,
0.85141835730149, 0.41463898743814, 0.40800690992888,
1.41642600119634, 1.31329350621998, 0.59081582495033,
0.60416418066144, 0.65683318833165,
0.77896074935211, 0.75791875472424, 0.57615188975281,
0.62461176952550, 0.77234536638463, 0.98878056600974,
1.62678756253257, 1.49103229392910,
1.00494960560706, 0.77929760938266, 0.44180667154124,
0.53729037597736, 1.01628074114168, 1.38082954951213,
1.07754851268538, 0.59588364632416,
0.48677226974150, 0.81711933866755, 1.37296985879328,
0.87831014410770, 0.68292256549720, 0.79526858623403,
0.75604168622391, 0.82627006227048,
1.29231282794412, 1.53779245319238, 1.20029275110064,
0.59405696744224, 0.51677296279890, 0.54510886285192,
0.61028407103199, 1.30547508112474,
0.97307320651235, 0.83599220247925, 0.86079290081802,
0.52424806629561, 0.54223449295606, 1.17419584787614,
1.59730451790078, 0.92955222755881,
0.86896521637976, 0.88470391349817, 1.01593874496077,
1.20157709722215, 0.80819163806607, 0.61353242028263,
0.68159561288511, 1.06248878354904,
0.94791786834101, 0.72443436177483, 0.88767227160575,
0.77175415178467, 0.79868699368262, 1.16937763538359,
1.13692227645968, 0.90038572616817,
0.89990520105017, 0.95101997968961, 0.91073664592159,
1.13616652610536, 0.98812747388514, 0.42739531081399,
0.40757679679536, 0.84785041934537,
1.37501199622214, 0.92528963798376, 0.73188333051770,
1.04010553883531, 0.83810875427993, 0.72387851988753,
1.26667663676551, 1.06029957568853,
0.54592924009302, 0.65260440742778, 1.08090681127881,
1.26529421163067, 1.18654778763514, 0.85950236919383,
0.40087126524438, 0.42730663910188,
1.03645757079249, 1.10343951796392, 0.74949999796112,
0.91831440865417, 0.86422297677691, 0.70201677260498,
1.19714592699524, 1.26506946720995,
0.76314799335963, 0.89638574230500, 1.14646588347305,
1.06813877532164, 1.02397455576805, 1.03908793886136,
1.12648743769525, 0.67149366173161,
0.52152879423995, 0.87539058010406, 0.71449533553218,
0.56753623173335, 1.06760040741118, 1.01187027890480,
0.64160902537879, 1.04375087523156,
1.05749896940983, 0.59753885965293, 0.51382547465002,
0.92101979655729, 1.50177857986302, 1.22065017165419,
1.08412803279180, 0.85073407395358,
0.42370801974144, 0.48589096466594, 1.00535197194229,
0.96679199047854, 1.05878247675231, 0.90085999879095,
0.62632852920932, 0.60638358959418,
0.93472224041262, 1.35479999083393, 0.85355649655183,
0.71812367178941, 1.05653758118632, 1.34477872255456,
1.13836020970198, 1.07198999250179,
0.80525318076071, 0.41813739632848, 0.53292976972320,
1.03837975554723, 1.07962867116141, 0.77709308619372,
0.49052876278419, 0.55664338840552,
1.15614424548111, 1.45192682952613, 1.23492579909540,
1.00879537290462, 1.02817738055583, 1.02187250839011,
1.04489638988611, 0.99286568370811,
0.91599730094118, 1.05349872596867, 0.52965659610085,
0.40871837246418, 1.11526512225714, 1.45644701744161,
0.63351345547983, 0.53559136215650,
0.70173376945696, 0.66672185719030, 0.92743067849647,
1.17281753591702, 0.76691086180872, 0.65086908852799,
0.85022639278386, 1.26224458135535,
1.49114121051844, 1.11819861972231, 0.80718034862640,
0.39751226350554, 0.39003580199311, 1.35058766727676,
1.23983934368865, 0.53467787314443,
0.56095268344038, 0.65448327629912, 0.89862485943454,
0.89859719322159, 0.82084426778120, 1.21916780222357,
1.22971101665519, 0.89722128242877,
0.80836028994985, 0.91836093636351, 1.16118348598803,
1.02840095617023, 0.46423612561479, 0.61860696839636,
0.97459219337668, 0.64823455103476,
0.92792328532543, 0.76948889767797, 0.83902162929510,
1.09133749542880, 0.56502381138109, 0.65908883046091,
1.26169979142038, 1.36148144776668,
0.98791110993064, 0.82133451377665, 0.83422886363249,
1.07761110246890, 1.23854016475457, 0.60729671969427,
0.52946099128474, 0.96911870695675,
0.61835314556513, 0.63288377407686, 0.93320883368368,
0.76603542195455, 1.02908121994142, 0.87264666345367,
0.63350965539286, 1.06845474631328,
1.55798511203336, 1.14764322841806, 0.85885404375737,
0.82003474382902, 1.00739562626012, 1.15545023953024,
0.60465203293573, 0.47699157551277,
0.58532418086812, 0.47089617072879, 0.78602008591641,
1.11932155308374, 0.83570263322236, 1.01245481357292,
0.91674566227142, 1.01805790204638,
1.21703766688798, 1.22247753094414, 1.37165784520495,
1.11506120967069, 0.88035686368946, 0.83734084446128,
0.84356054931533, 0.50552146142686,
0.49731132269781, 0.81638108607561, 0.73464820140820,
0.88379050746952, 1.14315580386510, 0.97456454533637,
1.24360140043460, 1.18841982940260,
0.78211894650214, 0.74235893469791, 0.79217123359612,
0.82579385924660, 1.03078221114193, 1.28013737278740,
1.24547253847772, 1.06681260343760,
0.51145074943578, 0.56259166594152, 0.90824157683694,
0.57313947458412, 0.53370598396711, 0.64583727765699,
1.16359688836160, 1.13009790839275,
0.58664545355931, 0.68519064553278, 0.78059450592583,
0.95758282697242, 1.45277819507646, 1.49507502432585,
1.21467437990747, 1.04877071383816,
0.85206717784156, 0.43138631077100, 0.53334156972307,
1.06113399687343, 0.75522804211824, 0.74416593847198,
0.89263454197607, 0.82234961207180,
0.81074999267053, 0.93283431928102, 0.89140305868325,
1.01216560867724, 1.41222762168824, 1.21003343676592,
1.08450828565580, 1.04458963570372,
1.04968794627633, 1.13850563770024, 0.69520230919365,
0.54175138768006, 0.86717780408562, 0.76930708945722,
0.62587618513226, 0.77577193929213,
0.79749204434293, 0.88197562735516, 0.86821628376380,
0.71601254424188, 0.84184739322049, 0.95596146311694,
1.09279362380343, 1.47381580138293,
1.48693575258117, 1.20956678511027, 0.96934761447933,
0.48097162159214, 0.48373248528480, 1.13089830798174,
0.79006754174172, 0.63431761695912,
0.79310062128105, 0.78795051377769, 0.89010742156885,
0.70169382879125, 0.89819003453470, 0.99159784821241,
0.78690206012605, 1.20177805890029,
1.46633243993372, 1.21015758283454, 1.10621801745323,
1.03202174963849, 0.64523546956517, 0.47075628505140,
0.81266186614018, 1.18174522907781,
0.62914572650852, 0.59876142846476, 1.14812764939315,
0.83556798191350, 0.70652518191354, 1.12313468862953,
0.91801696903729, 0.68173249215866,
0.93626096202897, 1.24645368257151, 1.20627817509475,
1.16799430928220, 1.00142669161963, 0.49065240044738,
0.46076694347872, 1.09396658896219,
0.88125092742229, 0.62759666488083, 0.94902173054077,
0.75231189654521, 0.88950170669326, 1.04491659023464,
0.77069525208684, 0.90967575480005,
1.39150190962467, 1.41532821375704, 0.98565330004006,
0.79323709176324, 0.82627780841450, 0.81446578185260,
0.42188483006709, 0.46874529938695,
0.98442374017116, 0.79756507804789, 0.83526079636464,
0.93570795331666, 0.94489368132320, 1.02488104835112,
0.75595725053913, 0.93560027398480,
1.09044881818861, 1.11950640519034, 1.18160647540786,
1.08493304377219, 1.03702778828146, 1.03496222241652,
0.85976688500146, 0.46443644693147,
0.56109349579575, 0.97576072630765, 0.76730998706263,
1.01624359989679, 1.04041074460981, 0.84109738819897,
0.96989098582395, 0.83067505167947,
0.93492263562489, 0.97833728661894, 0.94595179498677,
1.07426097706074, 1.14472286867601, 1.04728748922920,
1.03591018042422, 0.95719334473321,
0.46634497390369, 0.46870662148366, 1.22743011339475,
0.89405361655096, 0.69299481422855, 0.93530103544859,
0.69727675618174, 0.87381693245989,
0.92929460621124, 0.68315890700739, 0.73004428491189,
0.82225231603150, 1.19142622714945, 1.61371084101847,
1.16629623323745, 0.91511013333111,
0.85906386747582, 0.43339568096494, 0.48967724216610,
1.46709568506568, 0.93555142359501, 0.56897498993517,
0.74151804571940, 0.71580404093829,
1.00801224887672, 1.02875419720785, 0.68246381713784,
0.64246812777619, 0.68862262496173, 0.96151637253538,
1.29719028603326, 1.18612606474177,
1.23139009800916, 1.18309490901865, 0.70068437907444,
0.48899006467106, 0.77958825067144, 1.26504290187036,
0.82110778418488, 0.61896935058269,
0.87292879862266, 0.79924616328333, 0.71240497800224,
0.94747699090643, 0.92142598607578, 0.84619784862754,
1.03747998255426, 0.95006958183398,
0.96239713480801, 1.44677326835087, 1.38851188426286,
0.68216694081634, 0.50201358268062, 0.60315012108148,
0.50870987626632, 0.62092387212705,
1.39934405135769, 1.44461835891317, 0.89133503410918,
0.77477250788084, 0.67526872499684, 0.62032192119565,
0.84689372374561, 1.15184405507169,
1.18087011658215, 1.27707939966977, 1.29179622886775,
1.15145793160655, 0.73073403587645, 0.58904372702825,
0.69224797436697, 0.54804747390251,
0.85011292849812, 1.22245619962352, 0.76923790610092,
0.73198050026689, 0.62978415570274, 0.56452465545272,
0.82728141320189, 0.93807370136254,
1.20674506539697, 1.71512798775172, 1.35468284011268,
1.05108431198717, 0.96057689549032, 0.50539240415152,
0.43442940741869, 0.53899222871364,
0.56750485843914, 1.18940484272784, 1.10031581921113,
0.74826983622027, 0.79025775713301, 0.75073724622761,
1.05558961531108, 1.33914301505921,
1.34410560519886, 1.16091774744632, 0.99269311296726,
0.92849451420448, 0.98550400598755, 1.18052836976620,
0.83131266295142, 0.53371675556827,
0.53261599095445, 0.49943611642455, 0.52858263764180,
1.06492641268726, 1.36653961948959, 0.80279648964020,
0.82660269232275, 0.94735142978640,
0.71979640934610, 0.94462660748531, 1.38467933328163,
1.06173359111704, 0.92502314202415, 1.20086982723371,
1.29237542639537, 0.72152936494582,
0.52926211252633, 0.73826407778425, 0.61758685917758,
0.55538480654311, 0.85874317870799, 0.86391977915911,
0.99428086229451, 1.06821895643293,
0.92161987488684, 1.05826609582779, 1.33635020958862,
1.46443853930365, 1.04462317246005, 0.78267289150368,
0.90015220811357, 0.98491250405378,
0.55092282578583, 0.55875088374836, 0.65747898763221,
0.50422545268680, 0.56367181957635, 1.13837704776288,
1.19179325470270, 0.63024329099913,
0.75013184289288, 0.88787613473301, 1.08365639589811,
1.38713750812611, 1.27975041102022, 1.12115053569780,
1.03847536606905, 1.04269342809816,
0.93781829684740, 0.44467360753869, 0.48919208080358,
0.88022079240516, 0.62278054958700, 0.56052856127167,
0.72508547328874, 1.03325957426029,
0.91945983680715, 1.01002485495498, 1.24375649573886,
1.18412844745371, 1.30283563531043, 1.17120310383527,
1.07254561520514, 0.95076366960764,
0.97127381474155, 0.81684716736624, 0.45374082836953,
0.67090452706171, 1.42241220930611, 1.09478935741437,
1.02913835201868, 1.16758665428352,
1.12655888255441, 1.10747068632291, 0.96661745756688,
0.86882822720548, 0.80199773130191, 0.79021763051537,
0.78541471685518, 0.80903442707346,
0.82658518561761, 0.92968814367384, 0.83371940395645,
0.55668683639270, 0.97067097113861, 1.12032191054829,
0.66690905463531, 0.72445008899104,
0.82556541275717, 0.90231362899280, 0.83034445660399,
0.85755667416981, 0.95972257961956, 1.06569544181221,
1.10528807527179, 0.99010803096894,
0.96516073772430, 0.98539898653414, 1.06714536711600,
0.86056441356792, 0.37432329300872, 0.40162658112207,
1.43662427279205, 1.49974796642342,
0.61158050683596, 0.55183475259602, 0.61484618664880,
0.73511805913115, 0.75368202840212, 0.63257926731989,
0.68905793402688, 1.04581076393596,
1.63435272054457, 1.25228629682356, 0.91007003271694,
1.00172748883175, 0.79129471640574, 0.36291772055226,
0.71619634090588, 1.55608871701815,
0.71935936642483, 0.61794841090422, 0.67406541420074,
0.63446856403749, 0.51922250642467, 0.58901012802671,
1.22326032255027, 1.47939668826810,
1.22401558332174, 0.93545924383698, 0.95630835831125,
1.06959936686113, 0.96101326115005, 0.83089212161618,
0.47259843530361, 0.67200089869193,
1.06082746975358, 0.98007152337494, 0.79799845914556,
0.76725329335888, 1.03932319513443, 0.62205341864422,
0.47276380757879, 0.65373153208161,
0.75696332489494, 1.25367492680759, 2.00155389141767,
1.11933528976675, 0.69437360212321, 0.87102568429415,
0.80046060785353, 0.51142014326886,
0.81655595762633, 1.04244941135863, 0.80239073235185,
0.95419493226571, 0.98816766280031, 1.09239590130318,
0.87768111771295, 0.75193622873570,
0.89928909980658, 0.92439339865361, 0.99074338968315,
0.99495689679120, 0.94976117824559, 1.00278960407631,
1.13636457185725, 1.01524926627315,
0.52737915862797, 0.66580296431800, 0.95285404218422,
0.66315213459486, 0.85490959463334, 1.01160563973544,
0.94665816587536, 0.72475371793603,
0.77565952563367, 1.13842670301063, 1.09708240528651,
0.84158055498238, 0.78554728066668, 0.87802939698220,
1.06695485281038, 1.42339443005276,
1.20636826317049, 0.56120702133326, 0.50511845054900,
0.98389433128520, 0.79204940237024, 0.59652162771913,
0.77370105636144, 0.84739287512790,
0.83048960599230, 0.84033364192935, 1.01109267324350,
0.98441526383752, 1.20227969150667, 1.76403914054896,
1.33293495445037, 0.84085160240941,
0.77338274536521, 1.04283897134874, 0.72614606549698,
0.48607164707924, 0.60045592195164, 0.59660562537619,
0.75649531101639, 0.86807012432208,
0.76421278671519, 0.95534409880750, 0.78845737964544,
0.79706754882392, 1.51169560468314, 1.40901052406028,
0.81644071843425, 0.66923151543021,
0.96308686623638, 1.41395326448688, 1.34361679659699,
0.71177929808347, 0.57226150198671, 0.91002329451335,
0.74716337594879, 0.64073410773251,
0.84748549595570, 0.87034470692744, 0.92980229821804,
0.93412841513489, 0.74257644356668, 0.68343968927728,
0.84506065060966, 0.91655160718461,
0.90240060284592, 1.36341329868793, 1.68620352884534,
1.28176381398664, 0.65562805387692, 0.55259185299654,
1.06563395431692, 1.05212123069180,
0.71188300324610, 0.79570329255312, 0.97418478861596,
0.84504117341246, 0.78588472022740, 0.88589897050114,
0.77210510983110, 0.65320249986910,
0.68933643395304, 0.78383635917642, 1.01901168986463,
1.69519262243571, 1.47283653881301, 0.55472751572744,
0.48913360884928, 0.51544575727923,
0.72664036087890, 1.36091608169977, 0.99145597213356,
0.76414285035668, 0.63390916371810, 0.98574546491793,
1.22013278736170, 0.83109205948953,
0.85730613553375, 0.80025427892702, 0.78901522049090,
1.08252646342300, 1.45138554390223, 1.24427075264342,
0.59457689165675, 0.52722396972058,
0.68210425808387, 0.60101919841238, 0.69383667124543,
0.77297709746850, 1.20411367785608, 1.21836688263024,
0.96965978293560, 1.04037144002447,
0.76565559609985, 0.64519285977572, 0.78776023737545,
1.27477934564200, 1.49259198895914, 1.18002246513351,
1.06475389775187, 0.61175878603387,
0.54017997256383, 0.63992445197620, 0.58546879071298,
1.20425187320250, 1.18735965234638, 0.71575443603721,
0.89455321803417, 0.76316503114146,
0.59332851033930, 0.65585272231826, 0.79078310532636,
0.92406180060363, 0.93006202964843, 1.30465835072226,
1.65937002197424, 1.19346082094017,
0.59595447364296, 0.59062486532488, 1.33511998101267,
1.18498998561030, 0.63498090151166, 0.72561640859006,
0.80658986182448, 0.78569326334708,
0.99295608390988, 0.93417552721324, 0.78148090249421,
0.84420465015080, 0.92432603418300, 0.92120638437347,
0.99923586865034, 1.27789304465433,
1.09934800058369, 0.50816494184170, 0.51823855453084,
0.68674254544361, 0.66179877688895, 1.29067884787531,
1.09205817449586, 0.77112986460449,
1.26986061500325, 0.91343195037187, 0.56370895997608,
0.53546796508678, 0.58864108193171, 0.69045592814413,
0.87662343277938, 1.44061182994056,
1.63156032470872, 1.16570016627968, 0.58895995790465,
0.44930420738627, 0.93337227609914, 1.37869729024812,
0.77129334277353, 0.70266745163242,
1.05523259080584, 0.79419955840485, 0.68757582639102,
1.04188196699809, 0.91837024372862, 0.68478512771784,
0.79603857775757, 0.88838869411297,
0.87368738365173, 1.32204558222145, 1.25754791530105,
0.42798701086029, 0.42342239598858, 1.45318924732855,
1.45519964610127, 0.67753922070298,
0.64880994716859, 0.60198239161387, 0.67934069466621,
0.79882141154367, 0.67051478132982, 0.59252605406695,
0.62950096005308, 0.75040364020130,
1.01303727956708, 1.60453605938844, 1.59922671329396,
0.93544846613729, 0.43257751669633, 0.35960570841126,
0.82190689849466, 1.89454665646193,
1.60233372992013, 0.70091862431887, 0.53304600815889,
0.60281684229891, 0.67088292511354, 0.85069905553961,
0.81244025974544, 0.69958586571415,
0.85117036879723, 1.13087489363542, 1.30576538182196,
1.25265737865883, 0.86195053154479, 0.52148934579247,
0.95708863946081, 1.50896018671966,
0.86767918073807, 0.75070820374852, 0.77403333723667,
0.80731786214131, 0.84045714058897, 0.83311395349565,
0.89242775985096, 0.93117048483962,
0.98656529417721, 0.99898649046249, 0.98042882563550,
0.97235154725776, 1.05183127564826, 0.96321070965340,
0.46758120170105, 0.39388612617479,
1.02080057351489, 1.91978986376493, 1.25447202675672,
0.63286141026504, 0.58560774733220, 0.62846913908942,
0.69602166732295, 0.92011894761510,
0.83480209020138, 0.63201684864645, 0.64519974730302,
0.77740583189338, 0.96803367371309, 1.54548923556375,
1.15824552330103, 0.64936517744718,
1.06199645235303, 1.06619684821607, 0.73986115659773,
0.87867837108160, 0.97626003069165, 0.98663495662042,
0.96908805533343, 0.95024752737565,
0.97182857504391, 0.96420235181472, 0.95194176528032,
0.93549185973295, 0.92809115524428, 0.91835010222975,
0.98455981074209, 1.18196870049239,
1.19282938832819, 0.95662891435284, 0.69333128125895,
0.63966424701926, 0.74406525284081, 0.87922280741270,
0.93569857992702, 0.91088218415832,
0.93166072997806, 0.97125277643217, 1.02558804967304,
1.05475929735193, 0.99696962577500, 0.94270266471743,
0.91467424176685, 0.97576094445067,
1.20974201038657, 1.15178690289235, 1.05195559052808,
0.96007300476489, 0.87312522237948, 0.92114962168937,
0.97254426444029, 0.97766141031132,
0.95452918770516, 0.97852728883374, 0.93729334962692,
0.88965452506770, 0.88062967155346, 0.84047319745612,
0.80459462871626, 0.78781220295839,
0.84355322045837, 1.02555740770975, 0.98888441505360,
0.80655500445558, 0.64009851271548, 0.67586156060598,
0.92405350904601, 1.02289661262336,
0.93141334142267, 0.84436383059343, 0.85683884673780,
0.90450122946196, 1.01784522949724, 1.13302861912803,
1.08519607890428, 0.99614900867000,
0.94047666008122, 1.02338763565789, 0.99524925122760,
0.43789706222718, 0.49891715106008, 1.45253854770076,
0.80729593253657, 0.50684243739348,
0.64508087380776, 0.74149441557364, 1.09798194164516,
0.80518969692653, 0.61097561323388, 0.98265100564598,
1.52471973362003, 1.12920910188632,
0.84966447981404, 0.88760003612433, 1.00548289024159,
0.98480186589364, 0.43893722791012, 0.53171186640046,
1.50523001926219, 0.96959719502598,
0.58611277716860, 0.65919289635203, 0.66388699448642,
0.82487287650592, 0.77178537809681, 0.59428005345830,
0.57472991407500, 0.72645312190967,
1.45350575080430, 1.82279254612489, 1.13371706451776,
0.96812869932808, 0.97967946845238, 0.51629675686740,
0.41866460532263, 1.02384189158141,
0.99616535170353, 0.54496357213907, 0.56052846146090,
0.61838227854958, 0.97091476113228, 1.09314112755723,
0.72499584403265, 0.98350443962904,
1.15007038006372, 0.99359378349333, 1.22299828896501,
1.23726468635517, 1.16438331758827, 1.02118747986078,
0.47969303781512, 0.63306495433803,
1.19368070357129, 0.71345858753597, 0.66181938882938,
0.70758558011345, 0.81293952766018, 0.85264212428341,
0.60228246697953, 0.63717472741628,
0.73860335105126, 0.83606820231618, 1.43649214312336,
1.80818185970372, 1.23616506372150, 1.03198099215255,
0.81869738335176, 0.50189391014150,
0.72807351141835, 0.93521715738110, 0.88682718553362,
1.02633191061754, 0.88859365926374, 0.85796692673724,
0.76700020586723, 0.96239189785824,
1.18132089553828, 1.07911378316458, 1.04919549225731,
0.99223023828688, 0.97760398646099, 0.95796968515102,
1.01242651076646, 0.81884507204514,
0.39969351804148, 0.56882359508726, 1.52941877019607,
0.94031338659149, 0.63347979032561, 0.75429306403422,
0.86060364912610, 1.05202277523689,
0.96852731885279, 0.98661840954442, 0.96973564417679,
0.95925585954451, 0.99417018702533, 0.99913548665534,
0.96200947180123, 1.00090236839541,
0.91607045529389, 0.52823248261759, 0.56923245636611,
0.83840576163766, 0.76307946659486, 1.16175708321196,
1.28784283089344, 1.08645597025351,
1.18132780004778, 0.94011038352328, 0.74732804568970,
0.63209969253666, 0.72099385582697, 1.09150633739410,
1.33478769613455, 1.01777580733491,
0.84557575345873, 1.03756001663423, 0.87467489163165,
0.62914763038366, 0.54745095431861, 0.70410086992917,
1.13387229982693, 1.24399784807998,
1.09346092742194, 0.89434753630757, 0.77015837203513,
0.74479764739961, 0.92519145311030, 1.21778671101523,
1.14268137034715, 0.95964532222328,
0.87305731327550, 0.95477110547846, 1.12083419043684,
0.98377861139108, 0.77692255509276, 0.61893843426559,
0.79409356767318, 1.17538282057636,
1.16761163120461, 1.07293898467584, 0.97165904030606,
0.92137077660528, 0.89025657546870, 0.86979275456216,
0.88371269311559, 0.88948830854533,
0.89445813060916, 0.88729662828524, 0.97988776638930,
1.25735959303898, 1.04894897130603, 0.71678177241736,
0.62720666297408, 0.84496273085425,
1.12493620982263, 0.99229294532123, 0.85814851520094,
0.78513446995622, 0.79823672284859, 0.86869214230263,
0.93871055800414, 0.99091852606332,
0.96971748934801, 0.94523884963498, 0.96101431303754,
1.08351567762846, 1.19615162812577, 1.06539461961738,
1.12223596222163, 1.03593917301985,
0.95829801309556, 0.99309015501396, 0.89102067220564,
0.77192173958206, 0.69003666924030, 0.71255286667889,
0.77651411233028, 0.84875177181820,
0.92190602115551, 0.95517933343832, 0.96540314272583,
0.97925714621585, 1.06620342971680, 1.14535258795435,
0.92838333975234, 1.00726462012949,
1.07948700941761, 0.94641581389073, 0.89600470308008,
0.80604861323284, 0.75641733157129, 0.72245057519090,
0.73667594910742, 0.80228748229165,
0.87919064160817, 0.96230843396829, 1.01379888937446,
1.02978301003722, 1.05404795948498, 1.13195601604924,
1.29696795414276, 0.98404622213217,
0.85555868300871, 0.77158083306429, 0.62182936775815,
0.70649182371345, 0.86217391445127, 0.95433602958162,
0.90973814031631, 0.88329725732749,
0.85843544495263, 0.82148041277704, 0.91457325743079,
1.06786005254618, 1.10823718632863, 1.10520659270840,
1.15295001594397, 1.26833888566124,
1.01632411591161, 0.81427303427265, 0.63237078843473,
0.55231145305713, 0.75526594921313, 1.05436712440145,
1.15343823814007, 1.08580113066000,
1.04199187086614, 0.95267278241398, 0.88539033900537,
0.87176392095297, 0.87580266325122, 0.92661452317741,
0.98429664213131, 1.06529683092972,
1.12456857633873, 0.63611009470004, 0.54390690099359,
0.70520316541785, 0.51713904402756, 0.81695835769399,
1.54577028708492, 0.81748773816082,
0.74553447027244, 1.11815969922143, 0.73831312464374,
0.52850380185289, 0.62184814371113, 1.18385174896065,
1.60458851665920, 1.11679054309495,
0.92529536845920, 1.01278846027484, 0.69018148600176,
0.54384076186291, 0.74837403258155, 0.66196671623109,
0.62118348219108, 1.22814668835193,
1.49072846995975, 0.82966292519732, 0.76407069815731,
0.87796312545094, 0.69664430841480, 0.72343868401762,
0.92083649570807, 0.88341918383790,
0.88586743574262, 1.38625068894568, 1.31903538197045,
0.56506080222609, 0.48860445257593, 1.06342113809946,
1.04320337947292, 0.59222958702562,
0.97753740626908, 1.06084457298221, 0.70827548460083,
1.05297921277418, 1.13681909532395, 0.79792179326551,
0.91588895604666, 0.93411313044638,
0.70749533849282, 0.76240208058226, 1.16036066676230,
1.10989824074902, 0.53891212689063, 0.53944767888625,
1.18791669621244, 0.98063749436426,
0.88158181325789, 0.95095355006893, 0.74595527722930,
1.10828348803274, 0.88845398848681, 0.68374958264096,
0.74576891821779, 0.71207636548999,
0.69459959118725, 0.84858786345691, 1.26980901803184,
1.40296409773446, 1.15270107348271, 0.56523973538207,
0.41245924500923, 0.57473402996340,
0.52912742514624, 0.61296306524024, 1.40804917066674,
1.76447270198891, 0.84748526902710, 0.70434645374489,
0.85381100763885, 0.74667869904448,
0.95655966289376, 1.17288315977149, 1.09098893754322,
1.07841346805072, 1.08452744592443, 0.94109716509843,
0.91350788732519, 1.06995104737992,
1.01690651315208, 0.97227965771551, 0.95686315528389,
0.94677037340346, 0.93647472369498, 0.92117694171977,
0.92732885429700, 0.91616388048418,
0.91809778442906, 0.90930545624047, 0.90708062456395,
0.89685085467076, 0.87877668301818, 0.96725044939223,
0.75888545560603, 0.71859793541011,
1.04879926252624, 1.08335305316266, 1.02603403175789,
0.99575236171555, 0.97256644815295, 0.95803104906629,
0.94411187612993, 0.93698491398080,
0.92923976930888, 0.92357011166348, 0.92036951596256,
0.90597357608778, 0.88689753224791, 0.85198210995677,
0.97844728248090, 1.05364263781350,
0.51190509907150, 0.49941904566098, 1.27677106417484,
1.00222090474587, 0.65497793787719, 0.77999581056692,
0.68346576306711, 0.82841624347795,
0.98912245695252, 0.70524449118702, 0.59025927731104,
0.70161712766607, 0.82790287462378, 0.94366605459929,
1.48107107656869, 1.69339147078908,
1.28799035647737, 0.86070860752731, 0.62469600452131,
0.69503809732878, 0.67812488456440, 0.57854104852482,
0.90862454615725, 1.40869362023191,
0.89661027160534, 0.69809189535995, 0.80103134602778,
0.66003415125936, 0.66639963113197, 1.02530215269700,
1.11842364872408, 1.04153145643477,
1.45541591960589, 1.36127134280855, 0.64215550349466,
0.50077737205705, 0.64667258538741, 0.61098401752370,
1.02912125318931, 1.57391176527729,
0.92544391947562, 0.76598856135836, 0.69706786692525,
0.66535628798901, 1.08543955060383, 1.17542686097054,
0.79668733132173, 0.77332514733090,
0.90414837769290, 1.26883109655080, 1.23623645392817,
0.52770797815693, 0.52734888972529, 0.67124140687713,
0.63049185238380, 0.92787639229413,
1.05254455615231, 0.88472742276864, 0.72706695012751,
0.79969575292600, 1.50017531249347, 1.70893424104888,
0.89945188113547, 0.61788483321191,
0.74087864237785, 1.04437279381682, 1.15840651058303,
0.83326268676005, 0.40310737828675, 0.47427854077762,
1.28624972523178, 1.08952945941177,
0.49738469386011, 0.47450050206616, 0.91646022435118,
1.07873190656740, 0.68625256740474, 0.75808402877622,
1.11298923652282, 1.60690506955067,
1.28685148596761, 0.92414414079362, 0.85371266305400,
0.88482770679931, 0.98098742266145, 0.48453446799971,
0.47357941501258, 0.93565993077364,
0.60889206260961, 0.48793711237717, 0.53627566639938,
0.94973493135368, 1.19317717343663, 0.75402726787082,
1.04887811093692, 0.93474331955614,
0.97960413652671, 1.38747444677987, 1.29260896732981,
1.12883205267665, 0.93394260396369, 0.83630319455618,
0.44898301084771, 0.40809127723630,
0.53851221267464, 1.03541085108776, 1.59041682771435,
0.83824835023997, 0.74692656362376, 0.65724042653146,
0.57962553531529, 0.76510488072038,
1.33490163418832, 1.38551555741619, 0.80679060972420,
0.81209964903071, 1.01549878505224, 1.12022726507103,
1.00791161691245, 0.52672104014511,
0.48209132440983, 0.62975786760571, 0.65273452703047,
0.92987856697142, 1.09120421558534, 1.15508638012632,
0.96746069896703, 0.96375450767305,
0.92003693275305, 0.79836481222789, 1.04010269748060,
1.16037441370753, 1.17798813571429, 1.16062680691870,
1.11054534547709, 0.97612013539304,
0.49331918970187, 0.45804353588595, 0.58571281335453,
0.65298670003711, 1.51035967704841, 1.13177619842322,
0.64624403700940, 0.71606204429635,
0.59515197848924, 0.61130968936112, 0.71729095130875,
0.93526277451972, 1.46887840219035, 1.49716011693537,
1.07163647371308, 1.04200650866605,
1.11556185457470, 0.69803653866033, 0.55817540552375,
0.74976817404667, 0.60290061562703, 0.68614586110009,
0.94510880593874, 0.81229736143305,
1.19285476198310, 1.15405008909287, 0.80941841068309,
1.12304126269340, 1.14382783853030, 0.85194364892796,
0.76042987897262, 0.77493667361792,
1.17174652322504, 1.12279090844289, 0.47502554635331,
0.69417552860429, 1.24899717518365, 0.69302072284108,
0.62211876684743, 0.68312652844461,
0.99615690599572, 1.05132957385756, 0.73538848652484,
0.94846247303346, 0.92762349544481, 0.80816622670260,
0.97941531525594, 1.16357707227196,
1.21586423415427, 1.15316887679529, 0.91624699760997,
0.50116006797948, 0.43487582454588, 0.99177268844609,
1.11183340386971, 0.70483450322253,
0.98093150949103, 1.07027107565711, 0.76186508914951,
1.00134968282066, 1.04506457160777, 0.64862649695421,
0.54750608806826, 0.62130555482073,
0.97315904054290, 1.52481572712063, 1.43791764433082,
0.81479544261130, 0.40774085672444, 0.55780347141356,
1.09443285918469, 1.21246981761791,
0.76081519190193, 0.55417805921484, 1.04466278100844,
1.09060047741977, 0.76641694361574, 0.80604467748320,
0.60641366715418, 0.79498371835245,
1.54048984801061, 1.37464402391170, 0.96985280838410,
0.97914953740470, 0.96491418117302, 0.51801351790466,
0.38635334716883, 0.85289318711252,
1.68612981879666, 1.08504979612499, 0.63341516075678,
0.69343848431374, 0.68609947690521, 0.71235650458870,
0.90199289502129, 0.86347601572066,
0.75412520396914, 0.78961882741375, 0.92070514209706,
1.31116435053522, 1.55996068853928, 1.02446607051687,
0.43701819653538, 0.72184307630392,
1.18547341560437, 0.65559771706136, 0.68340140911736,
0.78735280227658, 0.95190572571776, 0.78642102684409,
0.60159471571880, 0.68782038040816,
1.04089462125466, 1.35736459311809, 1.16488730900192,
1.03134231191066, 1.03297852175292, 1.15853072753216,
0.94062089877565, 0.39299262744741,
0.39807768117658, 1.35922214855225, 1.15781459512713,
0.57563516176640, 0.58989367244857, 0.62804707842538,
0.71945447769187, 0.69193405391365,
0.60360704410227, 0.83707027990533, 1.63452567605995,
1.32672239897575, 0.83281870668256, 1.02406390342523,
1.19285137292876, 1.23482574541868,
0.87706317332051, 0.56733903416535, 0.66431182288185,
0.83868634336103, 0.62473214312264, 0.61806634396394,
0.95512341151710, 0.87235217501255,
0.80198013917935, 1.08617743898635, 0.98715235396652,
0.87979611033546, 1.08951009620759, 1.03899395645047,
1.06464812219643, 1.37301128432920,
1.26923650885598, 0.57660201956743, 0.57491991310947,
0.69911006761474, 0.59865778793731, 0.82220125400302,
0.86722771978286, 0.94287048396165,
0.73280536066474, 0.59203090100141, 0.80602644999879,
0.84370869488809, 1.11271364117325, 1.62365513919828,
1.34572436252661, 1.15341712333190,
1.14169519967369, 0.97721629466595, 0.47288788699717,
0.56492282332512, 0.98853584607809, 0.73454992893107,
0.86664200614034, 0.91303253375504,
0.93303429509694, 0.79027886638565, 0.62002116070850,
0.72594833341539, 0.80384747904966, 1.34239929559163,
1.41152045560390, 0.83812143371984,
0.95171749372467, 1.27760873960996, 0.96032811548934,
0.47025561214017, 0.54207422129055, 1.44442938334218,
1.43484791547804, 0.71949170060280,
0.76927178064811, 0.95793554940149, 0.80161972440956,
0.99304690068697, 1.16957199352185, 0.87217851957244,
0.88434692203445, 0.95088621118425,
0.81360639691986, 0.75987398175396, 0.91887095477462,
0.92406411808912, 0.77032710355908, 1.10941105239978,
1.20940775338166, 0.94857105771643,
0.94061613284456, 0.98189791813475, 1.00090939189604,
0.98135812048885, 0.99593571098209, 0.95768468396190,
0.90471630463015, 0.88477425361114,
0.84418630818554, 0.81660431603070, 0.80579954472016,
0.87285461466903, 0.76887788605885, 0.59593908394668,
1.06358714260534, 1.42682620678897,
1.13312228515197, 1.20760922108272, 1.10970762148624,
0.91034641076991, 0.78092308854582, 0.72358133850191,
0.69470141646568, 0.73907042261196,
0.82006151051684, 0.84648145711244, 0.88324660158347,
0.92691464667386, 1.00199088304326, 0.81494534916721,
0.36628178454981, 0.41005726242175,
1.48894705450813, 1.43528377256195, 0.56437614446396,
0.52204788775864, 0.66563267673232, 0.89508271500869,
0.83134377875220, 0.76444417103366,
1.14310216639009, 1.38126036171889, 1.06158656980994,
0.84440797350687, 0.86171631064290, 0.94636096414507,
0.80876506558203, 0.36125568755918,
0.67249223636717, 1.66048531393748, 0.72611779645264,
0.55292678537722, 0.64518952358086, 0.71460466173534,
0.62005649275178, 0.50043628994004,
0.56306956556973, 0.75630203205164, 1.65355943140754,
1.68934389178751, 0.97025251145371, 0.99077882788987,
0.94522148750966, 0.76063104398394,
0.49160854912175, 0.40923095386930, 0.81913570596368,
1.48474144431013, 1.10913188978362, 0.79106888008892,
0.79689948512285, 0.65549781456334,
0.61603010935074, 1.03859753911694, 1.09788888554159,
0.68839289803639, 0.84980616413725, 1.36829530670224,
1.30392254342104, 1.02499146507652,
0.87967778408895, 0.45628768716283, 0.52760624964630,
1.15717614967132, 0.71623704625711, 0.82501103262863,
1.06991948732144, 0.72303042214175,
0.99869861467332, 0.80113524127146, 0.61664073835922,
0.98703457111917, 1.34556307092869, 1.09283497044667,
0.93498511706074, 0.91710789952841,
0.97796183566992, 1.11026946585761, 0.61310936323718,
0.49949040492536, 0.65785846990859, 0.55013295494820,
0.91046937383057, 1.16703765184988,
0.80539759498980, 0.83845001974064, 0.76894920521527,
0.72393889864826, 1.04789046407162, 1.51777863497612,
1.15481207384412, 0.80857431460810,
0.94952871852253, 1.22174063879320, 1.18677621508192,
0.63558247905351, 0.53733979420492, 0.68368232855572,
0.60510369201613, 0.95201071654064,
1.18508018549427, 0.82723272860361, 0.83679055975192,
0.85719415236515, 0.85962694174085, 0.89282430717395,
0.83303935642243, 0.80660860917886,
1.19389163638496, 1.59114819006712, 1.24989731932252,
1.04983320022409, 0.58626846295802, 0.52423535101565,
1.07563083552142, 0.92821005977630,
0.69771378457324, 0.84812696081309, 0.81000939846381,
0.84627416927977, 0.85187529690389, 0.71947449795101,
0.74122076912492, 0.78878930468025,
0.82238212453964, 1.39650241689592, 1.71784822012817,
1.10881420604909, 0.94329141767733, 0.58196804450764,
0.46992046019437, 0.83026757439353,
0.86842934891199, 0.59829220319608, 0.58977292330475,
0.58731809136008, 1.03255992711976, 1.89494355751878,
1.11624773434189, 0.71364358425441,
0.87735593233457, 0.83802989364102, 0.68755545322067,
1.04240859012134, 1.45962358989133, 1.24190920614259,
0.60199495399804, 0.44230930860905,
0.83789305960653, 0.86546652282643, 0.55033787081644,
0.57631923389150, 0.57155906068954, 0.80927645251111,
1.57271083262018, 0.92275655705284,
0.67420727190368, 1.12911928684000, 1.06091475357910,
1.01479767297595, 1.28598249642919, 1.24634354853408,
1.11045187828894, 0.55555131339321,
0.48485478161707, 1.02788262318732, 0.78966657566927,
0.52755043466860, 0.58690920150889, 0.62161953385874,
1.15948983503146, 1.43879108338981,
0.72009649027932, 0.60244262501826, 0.77078027118841,
0.76368080154968, 1.07993129007777, 1.63697419485036,
1.34669171084596, 0.90470260966980,
0.45237472230389, 0.48005442807306, 0.67548605995591,
0.57602735576147, 0.66872875522500, 1.08872497272001,
1.32189424837107, 1.14177586059306,
1.19611645571755, 1.13683034526202, 1.02422490105539,
1.03097195578784, 1.04099298389785, 1.02121739910731,
0.99796877724176, 1.02022654152312,
1.01281358284092, 0.60904288909748, 0.53848197508822,
0.99960923184822, 0.83286162172771, 0.61433939968321,
0.87660424401508, 0.80996196782268,
0.87390816695468, 1.06609863984517, 0.87900553969922,
0.81406203916398, 0.88189781390566, 1.40569041512622,
1.51977523274249, 0.94525716458086,
0.85752377328192, 0.85988867484819, 0.44648373325104,
0.41884017179693, 1.22480121592023, 1.17614200053176,
0.62292146622894, 0.66030437638250,
0.69339253622461, 0.81245648116289, 0.83573022323330,
0.72912122003526, 0.86994236689440, 0.96779105223168,
1.06136802236957, 1.36585248515017,
1.36783610476029, 1.16725921900568, 1.00360009467584,
0.44252852767049, 0.50594484320137, 1.11656859378075,
0.61935698118281, 0.47504957631284,
0.57626045377182, 0.88490148960202, 0.92253429849401,
0.65360404189673, 0.88036347180969, 1.03238959746830,
1.35735655958193, 1.47083112491613,
1.12989125224385, 1.09240276772960, 1.09572170900711,
0.82210654179703, 0.42737777672462, 0.48243912620580,
1.01507858263262, 1.19282360121318,
0.93666373660504, 0.72825192844684, 0.56703640871518,
0.53853680899829, 0.92273684787859, 1.45220850915123,
1.23296445811352, 1.18715268360311,
1.08839578805036, 0.97699606572515, 1.06379269698223,
1.03705163714868, 0.86965560598612, 0.49044455906602,
0.48641257454922, 1.00869275327316,
1.00897238131142, 0.98849920209666, 1.14121822006224,
0.82451012046236, 0.98346679420717, 0.98396477791374,
0.87117664893807, 0.90444329928883,
0.83894120919132, 0.82027628927509, 0.89833548600991,
1.13222052941024, 1.21067171506956, 1.23007326043924,
0.87836032578710, 0.66658641473740,
0.73235751870346, 0.74846973043739, 0.70368830051462,
0.79891824874782, 0.86356229817446, 0.80258232106876,
1.02425743774422, 1.17523343204265,
0.97118742048003, 1.04834064585882, 1.17406723651915,
1.11719890565319, 0.99982311058918, 0.99164231774905,
1.05765757028829, 0.53116835664364,
0.43866454127373, 0.90796678669027, 0.72038805705681,
0.52427921152757, 0.58474986600091, 0.64611571400486,
1.10319512049898, 1.01903088421751,
0.96291179581092, 1.28709764657010, 1.10352856289461,
1.16259202334511, 1.27277521825746, 1.12544836123555,
1.03148486774967, 0.98840787270294,
0.50742499789781, 0.53863676256666, 0.75962242046070,
0.63574453326201, 0.86473595668510, 0.80430450770799,
0.92134821070512, 0.78834898719662,
0.88006107568269, 1.53366835229253, 0.99291069232224,
0.78092673555594, 0.81278519262545, 0.72841077617670,
0.98398001671008, 1.44038441234078,
1.14212310566801, 0.48471700033874, 0.37621835353874,
0.57227227223620, 0.58346864430584, 0.90110651254740,
1.72837536500026, 1.10721761921332,
0.83151711399340, 1.18366666786431, 0.81896496106210,
0.57153241941846, 0.73044852513348, 1.02866466611531,
1.31342216407698, 1.23271892642125,
1.02908119196268, 0.91619265101808, 0.46231577420494,
0.47836703180051, 0.76026868295301, 0.54960442580707,
0.52147053732997, 0.62113197165718,
1.19640559884200, 1.31922386834900, 0.99125073321992,
1.15897179540854, 1.11366893000232, 1.08264307763987,
1.08359151205617, 1.05405806773063,
1.01630940310330, 1.04676842158669, 0.91574312530140,
0.45953696893091, 0.40656578342268, 0.56293650461252,
0.55230484053152, 1.18540890863972,
1.37962741850133, 0.85503936625190, 0.87349363039231,
0.81698957458026, 0.99669916661439, 1.29280317616005,
1.43506404906408, 1.14594283225845,
0.87021687912042, 0.76314243521678, 0.80360617664371,
0.78610116256395, 0.40106739064072, 0.45129564006363,
1.15249708036114, 0.94739844138484,
0.78765697734565, 0.90600237193607, 0.97171433647545,
1.12632708459323, 0.68605074012134, 0.48893732214222,
0.62758421003977, 1.18496233414319,
1.44515918101280, 1.17105597768363, 1.08378612354022,
1.05042423516406, 1.01565239959501, 0.55624263865743,
0.44538887499432, 0.58649739240900,
0.51734186413215, 1.07329099211362, 1.65717912799227,
0.80989340696718, 0.76634911243106, 0.73917606564744,
0.63777889734533, 0.81022131941067,
0.81221503741479, 0.82151912452912, 1.32286681860239,
1.55393229890799, 1.05279301352738, 0.70980778702057,
0.35985549071910, 0.42488312340409,
1.18361988672971, 1.40706333037420, 0.89074998864993,
0.88237887516158, 1.21483994203995, 1.14410750703102,
0.78294670007226, 0.64666090785519,
0.71224567697169, 0.87862932526314, 1.00695032507520,
1.05140333605110, 1.07036861224976, 1.12133746447515,
0.78146026218440, 0.36497592110416,
0.46387234140893, 1.14473349451800, 1.03053166842775,
0.95540155898153, 1.09984638940600, 0.95361251272199,
1.04007283186735, 1.01669102068245,
0.98564632513839, 0.98344098877470, 0.97537339905533,
0.97437172947733, 0.97399260396366, 0.93350784296120,
0.96927840229236, 0.93325666268192,
0.51601330908785, 0.48114557395410, 0.62601122242675,
0.64529293956424, 1.32191302100405, 1.30316445087910,
0.84362000786704, 1.05285709040525,
1.17280272145499, 1.01578378232012, 0.78565533167194,
0.80519158254726, 0.77019412040763, 0.72262191785760,
0.78496543710240, 1.17327551115710,
0.95435564150201, 0.39633007011421, 0.47071030504221,
0.81127738645632, 1.27194957116216, 1.13114410153412,
0.72440709738592, 0.98602233754174,
1.23964156671444, 0.80143921506010, 0.56570760380254,
0.78203993759346, 1.35883617790312, 1.35886240521747,
1.01632870756442, 0.90397666741928,
0.92445236042416, 0.88625371854219, 0.43808330103734,
0.49854736393874, 0.77198394950936, 0.72930613612315,
1.25396607662025, 0.99325512809759,
0.93106091043098, 0.92732337031270, 0.52620905741102,
0.58223430597684, 1.04775817954843, 1.61733831601639,
1.12140045000609, 0.83297857760505,
0.85209086475254, 0.97504128114258, 0.88389996968946,
0.43115893439567, 0.42785511064743, 0.61483727091825,
1.08456381506333, 1.42413817665239,
0.91114802805747, 0.74276804324520, 0.74277479683498,
1.21372029390922, 1.16929702376796, 0.80646576666582,
0.80517760489253, 0.77728333276947,
0.80403636681601, 1.00675084728096, 1.33954859957177,
1.07168599142347, 0.49409942394901, 0.46536287618151,
0.56610804776810, 0.92083324229578,
1.18372483147770, 0.82602085908234, 0.85819145474597,
0.75310813670649, 0.82379890272791, 0.80361707820197,
0.81176639204676, 1.39396507580988,
1.40644921046521, 0.96199223312859, 1.00890693628785,
1.12150682141872, 0.96240952584506, 0.49253961375807,
0.55827533468676, 0.93861538422312,
0.66840950116519, 0.95559800270772, 1.04051645703539,
0.76163283466280, 0.92380980287856, 0.76973664714467,
0.66159446048861, 0.68086896023320,
0.78076682667138, 1.30110824342622, 1.66298739818621,
1.21187364534029, 1.00732368836012, 0.86173170643826,
0.51487732764405, 0.56588333827760,
1.00579135648585, 1.30908986921459, 1.05201756407123,
0.90716265006726, 0.89903803730359, 0.68857112921050,
0.73020865583832, 0.80373438850758,
0.84579215803464, 1.12575135445493, 1.16771655308686,
0.93428419079190, 1.00304833452844, 1.20247423454685,
1.01667230256400, 0.45675687815431,
0.38692219209908, 0.52230564420081, 0.61486439199637,
1.56719133912311, 1.53649163203514, 0.69217110921212,
0.64719335230667, 0.61180460122571,
0.68772813885388, 0.87637643148250, 0.90716732234555,
1.13995263345367, 1.36753703684892, 1.13413846798793,
1.00036200326255, 0.79549084856801,
0.62389593787473, 1.12565093687460, 1.40066657992033,
1.03466617565423, 1.10375395819628, 1.14894350426992,
1.08981415800114, 0.99166917337200,
0.90883331589031, 0.81033693599672, 0.77087147524693,
0.76196206666168, 0.74212427070118, 0.75540788309159,
0.77751321304538, 0.86924652278787,
1.17307198571196, 1.26880496905881, 1.16511789293786,
1.01466973581026, 0.99455107394206, 1.16322609237142,
1.13344771075619, 0.98754420865821,
0.91310007137681, 0.85702056531583, 0.78022696301794,
0.74541999453771, 0.72572875631203, 0.72340608769598,
0.73846392526132, 0.74340768505260,
0.82931507387106, 1.16986836293898, 1.30980441872891,
1.11967637692873, 0.90142273303989, 0.80699203242323,
0.83752123513474, 0.85431769687664,
0.85849102815186, 0.85191468258005, 0.88351471312194,
0.88869819442844, 0.90005667342456, 0.93020714284337,
0.89878578755264, 0.87701125008658,
0.86606942468694, 0.93442848558028, 0.82259428342052,
0.41249866762488, 0.48530364526283, 1.52689717228147,
1.15801466252499, 0.61773880697020,
0.70252824855708, 0.76502988867364, 1.05262262335666,
1.03135767279811, 0.86562887844166, 0.82933128999612,
0.79401372771820, 0.84700958188438,
0.91904635638544, 0.97320897322385, 1.16807405529479,
0.96864953461780, 0.46949426464418, 0.48866119921038,
0.54527499812338, 0.96389703384750,
1.15456589271574, 0.88970332854759, 0.99464503051318,
0.56203152382536, 0.47535412089120, 0.57634975813544,
0.72511267927643, 1.23116642574303,
1.81928691045029, 1.24937134780309, 0.84899333794232,
0.96956951753312, 0.96845382190404, 0.48579439831319,
0.40040705866111, 0.53688251857205,
0.54161793634269, 1.16401085059290, 1.50949090070910,
0.81228784909834, 0.74910612759430, 0.72918038158524,
0.98867194341228, 1.13434657712390,
0.88465567723545, 1.04666263054262, 1.20371377634571,
1.12463338090133, 1.03778161123244, 0.77278023745431,
0.40369997244069, 0.40514230246928,
0.96394566842215, 1.62759327583382, 0.96784402615213,
0.56801728229913, 0.55560358994405, 0.89581876414938,
1.13363241399890, 0.80295245455874,
0.83028026099689, 1.05368307828905, 1.17927492623312,
1.20286753422282, 1.09826953318562, 0.99271229765115,
0.94234258841416, 0.46162174522629,
0.40724426511710, 0.54259615514866, 0.59368514942807,
1.38929303659119, 1.25055634717386, 0.73481182946335,
0.72116036858609, 0.63527796654259,
0.68902166889171, 1.06056544415778, 1.52047791274605,
1.14776993542912, 0.91257666154268, 0.97948287218709,
1.10350550313578, 1.10253937218842,
0.62258643822193, 0.53323953739138, 0.70643598641027,
0.57047452375118, 0.85802988474102, 1.27865806049845,
0.88838340642684, 0.86494163113708,
0.78566280277597, 0.67475859852359, 0.77312283307564,
1.27738680315883, 1.73220740032253, 1.19764914032380,
0.84029170072640, 0.85901585107513,
0.96752879630414, 0.48094716007340, 0.51470470170768,
0.89498926946528, 0.61831489064310, 0.51667064127240,
0.58037058063207, 1.23407200753528,
1.04623460197989, 0.53376759031597, 0.67724628269190,
1.15374489677545, 1.67564426575429, 1.22525430840183,
0.96127334833778, 0.83177449677189,
0.90241639556919, 0.96800210721866, 0.49358349577786,
0.51457224730879, 0.61783262756095, 0.84602800080354,
1.15492281821018, 0.87592456260520,
0.88559848604313, 0.60229560911544, 0.49563193609475,
0.68697918244908, 1.32075791617822, 1.77618596106616,
0.94626406016354, 0.66446987183473,
1.02294091489349, 1.25319578931640, 0.96655552346968,
0.47174003028180, 0.64819001939661, 1.11235411981789,
0.62440342438089, 0.71324109920147,
0.79567359443420, 0.88567195748380, 0.89999413936271,
0.61944879218858, 0.63236912530368, 0.91695097730151,
1.63960547117609, 1.36925318682160,
1.00788715828995, 0.98466432100283, 0.92538786374844,
0.93562886756729, 0.57081478771418, 0.56776560739405,
0.60759238990681, 0.73946804033874,
1.21968125823797, 0.85363856597178, 0.97074397450207,
0.88403186327715, 0.57265943198146, 1.00420836037368,
1.60830806974246, 1.13534669544247,
0.78741755691758, 0.78654303038988, 0.82236327982940,
1.04380754317058, 1.08644784097971, 0.50327296918020,
0.54944540931260, 0.73427175121259,
0.56954884182463, 0.67437445422845, 0.81963287324433,
0.84226742077275, 0.66835039020722, 0.83580514533032,
1.58907180116120, 1.40406614040766,
1.00690213160993, 0.92015577291819, 0.92270419374302,
1.17610375285187, 1.16121935865974, 1.02375695182859,
0.58580514640115, 0.53849294541831,
0.92881782188570, 0.70089172349263, 0.59928716555688,
0.76156148747435, 0.92035275363768, 1.24420441761586,
0.90234258908428, 0.86815962160153,
1.10595725413238, 0.78765480361848, 0.79805928090779,
1.23856434880605, 1.35700801845896, 1.16826638947475,
1.02513323479221, 0.51038353897724,
0.45411784805504, 0.88923350528050, 0.65213940484947,
0.50436805155157, 0.53086460269020, 0.68316576366168,
1.52946097024656, 1.24544856108171,
0.83674354281233, 1.14064769513368, 1.13291607232198,
1.01272004714379, 1.00706358399727, 1.00315771787533,
1.11574791276054, 0.80754011768827,
0.37890363825444, 0.45658128601719, 0.87459803839680,
0.83207877210525, 1.01253524119824, 1.30557018775715,
1.14909037347952, 1.06332394264330,
1.03236893106302, 1.02498249758229, 0.99348740227369,
0.98488621086545, 0.97750120066776, 0.96148052920667,
0.93448544784738, 1.00711514983098,
0.76686906392404, 0.36255267991756, 0.34631482351543,
0.65391159753185, 1.25841451114114, 1.27008415898586,
1.00262708587344, 1.06274826131592,
1.07021905019473, 1.02612394268860, 0.95750854532572,
0.98751018766689, 0.99609078317088, 0.98926958214555,
0.98123597359503, 0.96609955809049,
1.01365501936641, 0.77177892698676, 0.37028509699682,
0.42176176678885, 0.95329149608363, 1.08178033227272,
1.12720929861043, 0.96287014598618,
0.72290903144885, 1.11611195051097, 1.09852951247415,
0.85938323021979, 1.18275700868894, 1.43048395549312,
1.07709401113147, 0.82186058256246,
0.64123958486702, 0.74907818451583, 0.99645311263284,
0.60123549471113, 0.49871875959806, 0.67779569778055,
0.60256649012454, 0.74916726396610,
1.68548262303300, 1.44940294675892, 0.71967545600896,
0.83601551658538, 1.02057819423526, 0.80523575358330,
0.98133488286129, 1.03646328683305,
0.79190376110957, 0.79438783880333, 1.03335422688061,
1.00618896310965, 0.53528671668010, 0.55684356772503,
0.60480515504954, 0.76659173029954,
1.22240193019066, 0.94101727202038, 1.02367818475955,
0.91024991221330, 0.91555069749267, 1.04883679658086,
0.93074288413107, 1.03010531217235,
0.99350579758691, 0.92985352634591, 0.91938798996055,
1.13197533782821, 0.95239483600184, 0.45346116795618,
0.61680884913705, 0.95307233565653,
0.72546577060841, 1.05662366481221, 0.96471995795916,
0.99774286551134, 1.09814030059824, 0.74922043308635,
0.98629808963179, 1.12728425415771,
0.98945039028297, 0.89566976662799, 0.83237930591866,
0.87004655674219, 1.04716581085219, 0.91934552980437,
0.48375662420868, 0.44391646280545,
0.96503370664057, 1.42277710066245, 0.71232263763449,
0.72733005861458, 1.11366257934444, 0.71534874530574,
0.80451441150701, 1.20986012774891,
0.90598663919919, 0.86258188642634, 1.12324470596416,
1.07495560596183, 0.94663511734362, 0.96806391025877,
0.90895931074245, 0.47634344422739,
0.37913892589034, 0.90130417889248, 1.85528692577623,
1.10055907877573, 0.58968955836495, 0.60850148676278,
0.61466797447459, 0.76653740742958,
1.12626312304511, 0.94935506256729, 0.76717895976109,
0.91915719891580, 1.11459584756612, 1.14688263045535,
1.12405428101274, 0.88147816120270,
0.39117224929875, 0.49121962226692, 1.70950122941440,
1.14029023944242, 0.51119593430952, 0.57308813612396,
0.69059516288178, 0.97064218661208,
0.92773962961295, 0.76801419280787, 0.73544342740536,
0.69458556064259, 0.93341910271080, 1.24281594287042,
1.14474648221760, 1.12788689815061,
0.85187777300095, 0.41479023795855, 0.73038963075381,
1.59377833649745, 0.81708805511858, 0.66033473465221,
0.78867854181658, 0.83003160292283,
0.73065209976637, 0.62151458760696, 0.76554009880134,
0.99319349134293, 1.11824014775478, 1.18286685513208,
1.18160026905474, 1.05155824278427,
1.05650380683148, 1.36648859726840, 1.70376286579412,
1.25766474950995, 0.89626793913972, 0.79178307314986,
0.67366346255099, 0.62940192556159,
0.63786203409561, 0.71168734952287, 0.85499542451563,
0.91658223816981, 0.90981615959699, 0.90174576838669,
0.86666827439119, 0.85247145008306,
0.86129301925274, 0.99234690165436, 0.88796877798954,
0.41403438985674, 0.39014361682980, 1.18978098352724,
1.54629157337518, 0.69958255147497,
0.56568281849519, 0.62357690020537, 0.85644630667826,
0.92313141620908, 0.70491594605118, 0.84097792572780,
1.44713956537167, 1.49866157025880,
0.91861180310614, 0.78908775455360, 0.86145089148663,
0.85706476047515, 0.41517092531657, 0.63137139783444,
1.11352522011231, 0.63412459218319,
0.65821373949067, 0.72019986525138, 0.79201062789903,
0.61484753829475, 0.57293606604757, 1.32794873513039,
1.36609909096060, 0.94201900681281,
0.88787482933431, 0.73351299079424, 1.13295527516071,
1.35963361242576, 0.87379183400868, 0.49390027059983,
0.56716240509193, 0.76641749482172,
0.99874954553817, 1.09237918377496, 0.75089106107051,
0.80225557379238, 0.71394259136358, 0.68300189570329,
0.99532252416698, 1.23578835304815,
1.38102070579753, 1.35519678309012, 1.05241225741641,
0.83544067032775, 0.87512166340909, 0.98570708163918,
0.59600726019572, 0.53518783982898,
0.78034920016927, 0.62262846076508, 0.74914442330876,
1.22714046870200, 0.97787600875511, 1.02280811052425,
0.98137722308807, 0.88265218766684,
0.98222984037935, 1.03142298034758, 1.39960998155537,
1.27113457710662, 0.81858126942993, 0.78343018347310,
0.74243461615014, 0.44969116316829,
0.60921380209357, 1.15317921720796, 1.03641622836038,
1.07155364739398, 1.12571824001694, 1.05533360245943,
1.09040482969903, 1.05977413546333,
1.01961616899090, 0.96654332202665, 0.96672636397273,
0.89846067746577, 0.82208231469255, 0.77649130327915,
0.87942033229259, 0.91970108936651,
0.51667234295336, 0.64867393560846, 1.32260762535184,
0.80986013486607, 0.79548542814760, 0.97776865961639,
0.92115865875088, 0.92881259251435,
0.69639157402102, 0.72752230099335, 0.81034478089563,
0.87277076380937, 1.07064384207956, 1.23776460848189,
1.07567220161490, 1.04121645555839,
1.09407875383376, 0.72397725811063, 0.80580648619230,
1.02449075631278, 0.63731401871642, 0.62100197609698,
0.73280647578278, 0.86216735313079,
1.10792677529279, 0.99819928170638, 1.05261921914002,
1.22540071030836, 1.14054947867979, 0.96658775924043,
0.88966002976604, 0.87559871206552,
0.97512862504693, 0.99217321733009, 0.52413948699035,
0.62581360877453, 0.84937426323239, 0.58510010944888,
0.61059710385407, 0.90628762072896,
1.05890979696911, 0.93816473587991, 1.08325676113263,
0.84255643581034, 1.06625967453135, 1.79805369696441,
1.14940508573879, 0.77837011461010,
0.71330097112937, 0.82480945181459, 0.88658321765762,
0.40650138089408, 0.62723181884847, 1.26052973525032,
0.66491924265002, 0.58377771203840,
0.68352534618110, 0.80648302745928, 0.64650077190638,
0.52392370815027, 0.68974382059284, 1.10297366363284,
1.70543323185742, 1.41527974167092,
1.07661407227863, 1.08754967250234, 1.07455639810854,
0.92267167058573, 0.49142732731060, 0.46303534037451,
1.22870776786566, 1.12251334116702,
0.55439982287862, 0.71172212455771, 0.82271411994816,
0.74632278442069, 1.15500711575087, 1.13398809557865,
0.68904235606041, 0.68601240438345,
1.08925208105994, 1.30810063544474, 1.04524825759451,
1.01566437872913, 0.83745744788357, 0.61909007175689,
1.12447371411976, 1.56564488609123,
1.07217279535399, 0.88086349611249, 0.77316770737124,
0.73391693433741, 0.74152347346462, 0.81471198371897,
0.86715918788465, 0.88892383060305,
0.93554242440839, 0.93696787319442, 0.91833508440408,
0.91950291539796, 1.00356285422491, 1.21911213920259,
1.27058283002614, 1.16537284365061,
1.04954955555719, 1.11223420140270, 1.13393032557219,
0.92778589799922, 0.75697909479321, 0.67701104430551,
0.64538772454157, 0.67411493634016,
0.78206158325749, 0.87995704371624, 0.89769511933497,
0.91159077313288, 0.91659301416901, 0.96580369599323,
1.25890705027063, 1.49758736125802,
1.40374306250819, 1.15373085797292, 0.99533065932040,
0.86468772252843, 0.70650128501461, 0.63029339471079,
0.65120634127355, 0.72075351954225,
0.79060477708832, 0.86958799486307, 0.91369798782629,
0.88020361854637, 0.84792174956322, 0.83534106184875,
0.92797703192035, 1.36008801114308,
1.61131282422306, 1.13027496388862, 0.76959211111878,
0.65676834893455, 0.64107198686013, 0.67558038668463,
0.72536852403188, 0.81541400998789,
0.92332952935052, 0.95851308400102, 0.92932151861094,
0.91116562586550, 0.87266541866380, 0.87914652582160,
0.90581887111362, 1.03931052781019,
1.21961441278013, 1.14968039955442, 1.05061866774983,
0.89663073513324, 0.85213058776295, 0.90027931409462,
0.91486206545441, 0.89904391379329,
0.88769587316443, 0.92440055530665, 0.93291476263113,
0.93836656806989, 0.93404374126117, 0.90291494345339,
0.88635227087679, 0.87229272395439,
0.92150279592429, 0.76172861227412, 0.47917755757272,
0.73929719203532, 1.10482916114774, 1.02770280627891,
1.11637233541548, 1.03557638840796,
0.99563208762931, 0.90556634976261, 0.89828118502772,
0.92698815052928, 0.92533186349373, 0.94107743627930,
0.92440904411712, 0.95523514229218,
0.95980830668236, 1.01669992340873, 0.88939710369018,
0.45425036382719, 0.40919266434930, 1.11345790509790,
2.07941076300535, 1.00525336884598,
0.53808169254526, 0.59328946825662, 0.60071851840980,
0.79396686417395, 1.20478602516240, 0.91322385370616,
0.79574649851195, 0.93086297343716,
0.78285397077496, 0.75626242543093, 1.10439526309145,
0.97151142831272, 0.40567935051674, 0.55666584833892,
1.52451834491998, 1.46502641303945,
1.13508196328337, 1.00091887807154, 0.83465590553743,
0.79750645328493, 0.69835205632583, 0.70887950351321,
0.81188668886436, 0.88673872136047,
0.92781936457309, 0.96740169793989, 0.97413537753922,
1.05276915370416, 0.81491972742679, 0.36919697959756,
0.50720430004501, 1.48291706374777,
1.35501702109777, 0.97479304106791, 0.98073054741379,
0.75376634747300, 0.64447465677278, 0.72648170520338,
0.85434003383423, 0.98965148774214,
1.07513926725123, 1.01493914492665, 0.98671480937965,
1.02648090660716, 1.03926799948262, 0.89817195931335,
0.50366317903876, 0.42602203733690,
0.89621595196921, 1.02644482296698, 0.69055709124052,
1.02843461026713, 1.00886684175931, 0.73360351552953,
1.02273681479373, 0.87422591000660,
0.69430071463757, 1.00412106782266, 1.08296136016874,
1.03316350452123, 1.22334732757421, 1.20476074957153,
0.00000000000000}
【0127】
以下の例示的なコードは、上述のweight_table_avq_fltの使用を説明する。
【数27】
【0128】
纏めると、以上は、以下のように構成される符号化されたUSACストリームを復号する機器の処理に対応してよい。機器は、符号化されたUSACストリームを復号するコアデコーダを含んでよい。符号化されたUSACストリームは、線スペクトル周波数(line spectral frequency:LSF)表現を用いて量子化された、線形予測符号化(linear predictive coding, LPC)フィルタの表現を含んでよい。コアデコーダは、USACストリームからLPCフィルタを復号するよう構成されてよい。USACストリームからLPCフィルタを復号することは、LSFベクトルの第1段階近似を計算するステップと、絶対量子化モードがLPCフィルタの量子化のために使用されている場合に残差LSFベクトルを再構成するステップと、逆LSF重みまたはそれらのそれぞれの対応するLSF重みの予め計算された値を参照することにより、残差LSFベクトルの逆重み付けのための逆LSF重みを決定するステップと、決定した逆LSF重みにより残差LSFベクトルを逆重み付けするステップと、逆重み付けされた残差LSFベクトルとLSFベクトルの第1段階近似とに基づき、LPCフィルタを計算するステップと、を含んでよい。LSF重みは、次式を用いて取得可能であってよい:
【数28】
【0129】
ここで、iはLSFベクトルの成分を示すインデックスであり、w(i)はLSF重みであり、Wはスケーリング係数であり、LSF1stはLSFベクトルの第1段階近似である。
【0130】
LSF重みまたは逆LSF重みは、オフラインで、(実行前に)予め計算され、1つ以上のルックアップテーブルに格納されてよい。USACストリームからLPCフィルタを復号することは、復号中に1つ以上のルックアップテーブルからLSF重みまたは逆LSF重みの予め計算された値を呼び出すステップを含んでよい。
【0131】
USACストリームからLPCフィルタを復号することは、USACストリームから残差LSFベクトルの代数ベクトル量子化AVQ精緻化サブベクトルを再構成するステップと、AVQ精緻化サブベクトルを連結して残差LSFベクトルを取得するステップと、を更に含んでよい。USACストリームからLPCフィルタを復号することは、LSFベクトルの第1段階近似と逆重み付けされた残差LSFベクトルとを加算することにより、LSFベクトルを決定するステップと、LSFベクトルをコサインドメインに変換して、LSFベクトルを取得するステップと、LSPベクトルに基づきLPFフィルタの線形予測係数を決定するステップと、を更に含んでよい。USACストリームからLPCフィルタを復号することは、USACストリームから量子化モードを示す情報を抽出するステップと、絶対量子化モードが、LPCフィルタを量子化するために使用されたか否かを決定するステップと、を更に含んでよい。
【0132】
USACストリームからLPCフィルタを復号することは、ルックアップテーブルから残差LSFベクトルの成分を読み出すステップを含んでよい。ルックアップテーブルは、逆重み付けされたLSF残差ベクトルの成分を含んでよい。
【0133】
図8に、USACストリームを復号する際に、LPCフィルタを復号する対応する方法800の一例がフローチャートで示される。
【0134】
ステップS810で、LSFベクトルの第1段階近似が計算される。ステップS820で、残差LSFベクトルが再構成される。ステップS830で、絶対量子化モードがLPCフィルタを量子化するために使用されている場合、逆LSF重みまたはそれらのそれぞれの対応するLSF重みの予め計算された値を参照することにより、残差LSFベクトルの逆重み付けのための逆LSF重みが決定される。ステップS840で、残差LSFベクトルは、決定された逆LSF重みにより逆重み付けされる。ステップS850で、LPCフィルタは、逆重み付けされた残差LSFベクトルおよびLSFベクトルの第1段階近似に基づき計算される。以上では、LSFは、次式を用いて取得可能である:
【数29】
【0135】
ここで、iはLSFベクトルの成分を示すインデックスであり、w(i)はLSF重みであり、Wはスケーリング係数であり、LSF1stはLSFベクトルの第1段階近似である。
【0136】
図2のデコーダ2000は、音声音響統合コーデック(Unified Speech and Audio Codec)に従う追加コンポーネントを更に含んでよい。例えば以下の通りである。
【0137】
・ビットストリームペイロードデマルチプレクサツール2904。これは、ビットストリームペイロードを各ツールのための部分に分け、ツールの各々に、該ツールに関連するビットストリームペイロード情報を提供する。
・スケール係数無雑音復号ツール2905。これは、ビットストリームペイロードデマルチプレクサからの情報を取り入れ、該情報をパースして、ハフマンおよびDPCM符号化されたスケール係数を復号する。
・スペクトル係数無雑音復号ツール2905。これは、ビットストリームペイロードデマルチプレクサからの情報を取り入れ、該情報をパースして、算術符号化されたデータを復号し、量子化されたスペクトルを再構成する。
・逆量子化ツール2905。これは、スペクトルの量子化された値を取り入れ、整数値をスケーリングされていない再構成されたスペクトルに変換する。この量子化器は、圧伸係数が選択されたコア符号化モードに依存する圧縮伸張量子化器であることが望ましい。
・ノイズフィリングツール2905。これは、スペクトル値がゼロに量子化されたとき、例えばエンコーダにおけるビット要求の関する強力な制限に起因して生じる、復号されたスペクトルの中のスペクトルギャップを埋めるために使用される。
・再スケーリングツール2905。これは、スケール係数の整数表現を実際の値に変換し、スケーリングされていない量子化されたスペクトルを関連するスケール係数により乗算する。
・ISO/IEC14496-3に記載されたようなM/Sツール2906。
・ISO/IEC14496-3に記載されたような一時的ノイズシェーピング(temporal noise shaping:TNS)ツール2907。
・フィルタバンク/ブロック切り替えツール2908。これは、エンコーダにおいて実行された周波数マッピングの逆を適用する。逆変換された離散コサイン変換(inverse modified discrete cosine transform:IMDCT)は、フィルタバンクツールのために使用されることが望ましい。
・時間ワープ(time-warped)フィルタバンク/ブロック切り替えツール2908。これは、時間ワーピングモードが有効にされるとき、通常のフィルタバンク/ブロック切り替えツールを置き換える。フィルタバンクは通常のフィルタバンクと同じ(IMDCT)であることが望ましい。さらに、窓処理された(windowed)時間ドメインサンプルは、時間変化再サンプリングにより、ワーピングされた時間ドメインから線形時間ドメインにマッピングされる。
・MPEGサラウンド(MPEGS)ツール2902。これは、適切な空間パラメータにより制御された入力信号に高機能アップミックス手順を適用することにより、1つ以上の入力信号から複数の信号を生成する。USACのコンテキストでは、MPEGSは、送信されるダウンミックスされた信号と一緒にパラメータ側の情報を送信することにより、マルチチャネル信号を符号化するために使用されることが望ましい。
・信号分類ツール。これは、元の入力信号を分析し、それから、異なる符号化モードの選択をトリガする制御情報を生成する。入力信号の分析は、標準的には実装に依存し、所与の入力信号フレームのために最適なコア符号化モードを選択しようとする。信号分類器の出力は、任意で、他のツール、例えばMPEGサラウンド、拡張SBR、時間ワープフィルタバンク、等の動作に影響を与えるためにも使用されてよい。
・ACELPツール2909。これは、長期予測(適応型コードワード)をパルス様シーケンス(新規コードワード)と組み合わせることにより、時間ドメイン音源信号を効率的に表現する方法を提供する。
【0138】
IMDCTブロック600の一例は、
図6に概略的に示される。IMDCTブロック600では、FFTモジュール620が利用されてよい。ある実装では、FFTモジュール実装は、Cooley-Tuckeyアルゴリズムに基づく。DFTは、小FFTに再帰的に分解される。アルゴリズムは、ポイントの数が4のべき乗である場合に基数4(radix-4)を、4のべき乗ではない場合に混合基数を使用する。
【0139】
4点のFFTにより使用される回転行列 (twiddle matrix)は、以下に示すように分けられ、入力データに対して適用される。
【数30】
【0140】
4点のIFFTにより使用される回転行列 (twiddle matrix)は、以下に示すように分けられ、入力データに対して適用される。
【数31】
【0141】
上述の方法による行列の分割は、追加のスタックのプッシュポップを伴わず、効率的に利用可能なARMレジスタを利用するのに役立つ。その理由は、分割された行列の各列および各行が2つのゼロでないエントリしか含まないので、上述の分割された行列の適用が、インデックス当たり1つの追加の減算しか必要としないからである。
【0142】
全ての回転係数は、予め計算され、実装は、最大1024(210)点の全部で2n点のFFTを計算するのに、(514個)(257個のコサイン値および257個のサイン値)の回転係数しか必要としない。
【0143】
C-実装は、異なるプロセッサ(例えば、ARM、DSP、X86)に従い、ベクトル化できる。
【0144】
MDCTブロックおよびIMDCTブロックは、予め計算された回転ブロック610、その後のFFTブロック(FFTモジュール)620、および処理の複雑性を低減する後置回転ブロック630を用いて実装されてよい。ブロックの複雑性は、直接実装の場合と比べて遙かに少ない。さらに、ブロックは、FFTブロックの有する全ての利点を利用する。前/後処理ブロックにより使用される回転テーブルは、ルックアップテーブルから取り込まれてよい。
【0145】
以下のコードは、本発明のFFTを示す。
【数32】
【0146】
纏めると、以上は、以下のように構成される符号化されたUSACストリームを復号する機器の処理に対応してよい。機器は、符号化されたUSACストリームを復号するコアデコーダを含んでよい。コアデコーダは、Cooley-Tuckeyアルゴリズムに基づく高速フーリエ変換(FFT)モジュール実装を含んでよい。FFTモジュールは、離散フーリエ変換(DFT)を決定するよう構成されてよい。DFTを決定するステップは、Cooley-Tuckeyアルゴリズムに基づき、DFTを小さいFFTに再帰的に分解するステップを含んでよい。DFTを決定するステップは、FFTの点の数が4のべき乗である場合に基数4(radix-4)を使用し、該数が4のべき乗でない場合に混合基数(mixed radix)を使用するステップを更に含んでよい。小FFTを実行するステップは、回転係数(twiddle factor)を適用するステップを含んでよい。回転係数を適用するステップは、回転係数の予め計算された値を参照するステップを含んでよい。
【0147】
FFTモジュールは、予め計算された値を参照することにより、回転係数を決定するよう構成されてよい。回転係数は、オフラインで予め計算され、1つ以上のルックアップテーブルに格納されてよい。回転係数を適用することは、復号中に1つ以上のルックアップテーブルから回転係数の予め計算された値を呼び出すことを含んでよい。
【0148】
FFTモジュールは、4点FFTの回転行列を使用するよう構成されてよく、回転行列はそのエントリとして複数の回転係数を含む。回転行列は、第1中間行列と第2中間行列とに分けられてよい。第1中間行列と第2中間行列との行列積は、回転行列を生成してよい。第1および第2中間行列の各々は、各行および各列に正確に2つのエントリを有してよい。FFTモジュールは、回転係数の適用されるべき入力データに、第1および第2中間行列を連続的に適用するよう構成されてよい。FFTモジュールは、回転行列のエントリの予め計算された値、または第1および第2中間行列のエントリの予め計算された値、を参照するよう構成されてよい。
【0149】
復号中、複素ステレオ予測は、現在チャネルペアのダウンミックスMDCTスペクトルと、complex_coef==1の場合には現在チャネルペアのダウンミックスMDSTスペクトルの推定、つまりMDCTスペクトルの虚数である片方と、を必要とする。ダウンミックスMDST推定は、現在フレームのMDCTダウンミックスと、use_prev_frame==1の場合には前のフレームのMDCTダウンミックスと、から計算される。窓グループgおよびグループ窓bの前のフレームのMDCTダウンミックスdmx_re_prev[g][b]は、該フレームの再構成された左および右スペクトル、並びに現在フレームのpred_dir指示子から取得される。
【0150】
この処理の間、dmx_length値が使用されてよい。ここで、dmx_length値は、偶数の値のMDCT変換長であり、これはwindow_sequenceに依存する。フィルタリング中、ヘルパー機能filterAndAdd()は、実際のフィルタリングおよび加算を実行してよく、次式に基づき定められてよい:
【数33】
【0151】
上記のコードの断片は、フィルタ係数ポインタが降順にアクセスされ、一方で、入力は昇順にアクセスされることを示す。Neonでは、これらの2つのベクトルがロードされ、入力は[v1[0]-v1[3])からロードされ、フィルタは[v2[0]-v2[3]].からロードされる。上述の式により、v1[0]はv2[3]を乗算される。これはNeonでサポートされない。したがって、私たちは、実行時にフィルタまたは入力を予約しなければならないだろう。これは、提案される手順(例えば、下側のコード断片)により解決される。ここでは、私たちは、フィルタ係数を再構成し、それ自体を格納しており、実行時の再構成を回避している。したがって、性能(MCPS数)の向上をもたらす。
【0152】
本願明細書に記載の方法およびシステムは、ソフトウェア、ファームウェア、および/またはハードウェアとして実装されてよい。特定のコンポーネントは、例えば、デジタル信号プロセッサまたはマイクロプロセッサ上で実行するソフトウェアとして実装されてよい。他のコンポーネントは、例えば、ハードウェアとしてまたは特定用途向け集積回路として実装されてよい。記載の方法およびシステム内に現れる信号は、ランダムアクセスメモリまたは光記憶媒体のような媒体に格納されてよい。それらは、ラジオネットワーク、衛星ネットワーク、無線ネットワーク、または有線ネットワーク、例えばインターネットのようなネットワークを介して転送されてよい。本願明細書に記載の方法およびシステムを利用する標準的な装置は、セットトップボックスまたはオーディオ信号を復号する他の消費者設備である。符号化側では、方法およびシステムは、放送局で、例えばビデオ電波中継局で、使用されてよい。