4.9 European Telecommunications Standards Institute(ETSI)の基本操作に対するコンパイラサポート

ARM コンパイラ 4.1 以降では、音声符号化の実装に役立つ ETSI の基本操作をサポートしています。

ETSI は、G.723.1 勧告や G.729 勧告など、音声符号化に関する提言をいくつも行っています。これらの勧告には、コーデックのリファレンス実装のためのソースコードおよびテストシーケンスが含まれます。
ETSI によって提供されたスピーチコーデックのモデル実装は、ETSI の基本操作として知られる C 関数のコレクションに基づいています。ETSI の基本操作には、サチュレート算術の場合は 16 ビット、32 ビット、および 40 ビットの演算、16 ビットおよび 32 ビットの論理演算、データ型変換の場合は 16 ビットおよび 32 ビットの演算が含まれます。

『ITU-T Software Tool Library 2005 User's manual』に記載されているように、ETSI の基本操作コレクションのバージョン 2.0 では、16 ビット、32 ビット、および 40 ビットの新しい演算が加わりました。ARM Compilation Tools では、これらの演算はサポートされていません。
ETSI の基本操作は、C または C++ でコーデックを実装する開発者が使用するライブラリというよりは、コーデックアルゴリズムを公開する開発者のためのプリミティブのセットとして機能します。
ARM コンパイラ 4.1 以降のバージョンは、ヘッダファイル dspfns.h を介して ETSI の基本操作をサポートしています。dspfns.h ヘッダファイルには、C コードおよびコンパイラ組み込み関数の組み合わせとしての ETSI の基本操作の定義が含まれています。
ARM コンパイラ 4.1 以降のバージョンでサポートされる ETSI の基本操作の全リストについては、ヘッダファイル dspfns.h を参照して下さい。
ARM コンパイラ 4.1 以降のバージョンでは、ETSI G.729 勧告『Coding of speech at 8 kbit/s using conjugate-structure algebraic-code-excited linear prediction (CS-ACELP)』で説明されている元の ETSI ファミリの基本操作をサポートしています。それらの基本操作には以下が含まれます。
  • add および sub などの 16 ビットおよび 32 ビットのサチュレート算術演算。たとえば、add(v1, v2) は、オーバーフロー制御およびサチュレーションにより 2 つの 16 ビット数値 v1v2 を加算し、16 ビットの結果を返します。
  • mult および L_mult などの 16 ビットおよび 32 ビットの乗算演算。たとえば、mult(v1, v2) は、2 つの 16 ビット数値 v1v2 を乗算し、スケーリングした 16 ビットの結果を返します。
  • shl および shr などの 16 ビット算術シフト演算。たとえば、サチュレート左シフト演算 shl(v1, v2) は 16 ビットの入力値 v1 を左に v2 の分だけ算術的にシフトします。負のシフト数の場合は v1 を右に v2 の分だけシフトします。
  • extract_lextract_hround などの 16 ビットデータ変換演算。たとえば、round(L_v1) は 32 ビットの入力値 L_v1 の下位の 16 ビットをサチュレーションにより上位の 16 ビットに丸めます。

    dspfns.h ヘッダファイルと ISO C99 ヘッダファイル math.h はどちらも(異なるバージョンの)関数 round() を定義するので注意して下さい。競合を避けるように気を付けて下さい。
関連する概念
4.1 コンパイラ組み込み関数
4.5 IRQ 割り込みと FIQ 割り込みの制御のためのコンパイラ組み込み関数
4.12 コンパイラで提供される NEON 組み込み関数
4.11 C コードの最適化のための Texas Instruments(TI)C55x コンパイラ組み込み関数
4.10 C および C++ コードのオーバーフローおよびキャリーステータスフラグ
関連する参考文書
4.2 コンパイラ組み込み関数のパフォーマンス上の利点
4.3 ARM アセンブラ命令の組み込み
10.154 ETSI の基本操作
非機密扱いPDF file icon PDF 版ARM DUI0472LJ
Copyright © 2010-2015 ARM.All rights reserved.