Login

重要なお知らせ

このサイトはcookieを利用して、コンピュータに情報を保存しています。続けるには、同意が必要です。 cookie.

ARMのWebサイトでは2種類のcookieを利用しています:(1)サイトの機能を有効にし、要求に対して素早く反応できるようにするもの。(2)分析のためのcookieで、当サイト利用時に限り匿名でWeb訪問者をトラックするもの。cookieの利用に同意されない場合は、弊社のプライバシーポリシーをご確認いただき、cookieを無効にする方法を選択できます。cookieを無効にすると、サイトのいくつかの機能が使用できなくなりますのでご注意ください

NEON

NEON Image
ARM® NEON™汎用 SIMDエンジンは、現在および将来のマルチメディア フォーマットを効率的に処理し、より高度なユーザ エクスペリエンスを提供します。

NEONテクノロジは、ビデオ エンコード/デコード、2D/3Dグラフィックス、ゲーム、オーディオ/スピーチ処理、画像処理、テレフォニ、サウンド合成などのマルチメディア/信号処理アルゴリズムを、ARMv5の性能の3倍以上、ARMv6 SIMDの2倍以上に高速化します。

NEONテクノロジーは整然としたアーキテクチャを持ち、専用の独立したパイプラインとレジスタ ファイルに対してシームレスに作用します。

ARM NEONテクノロジーは、ARM Cortex™-Aシリーズプロセッサに対応する128ビットSIMD(単一命令複数データ処理)アーキテクチャ拡張機能です。コンシューマ向けマルチメディア アプリケーションを柔軟かつ強力に高速化し、ユーザ エクスペリエンスを大幅に改善するように設計されています。64ビット幅、32個のレジスタ(デュアル ビューで128ビット幅、16個のレジスタ)を持ちます。

NEON命令は「パックされたSIMD」処理を実行します。

  • レジスタは、同じデータ型要素ベクタと見なされる
  • 対応データ型: 符号付き/符号なし8ビット/16ビット/32ビット/64ビット単精度浮動小数点
  • 同じ演算がすべてのレーンで実行される

NEONによってパックされたSIMD処理の図

NEONテクノロジ搭載のARM Cortex™-Aシリーズ プロセッサは、ARMの Maliマルチメディア ハードウェア ソリューションとともに、 スマートフォンや モバイル コンピューティング デバイスからHDTVに至るまで、幅広いマルチメディア アプリケーションで使用されています。

 
 


NEONがユーザ エクスペリエンスを向上

NEONは、さまざまなマルチメディア用途において、ユーザ エクスペリエンスを向上:

  • あらゆるフォーマットのビデオ視聴
  • 取り込んだビデオの編集と加工 ― ビデオ安定化
  • アンチエイリアス レンダリングと合成
  • ゲームの処理
  • マルチ メガピクセル写真の高速処理
  • 音声認識
  • 強力な多チャンネルのハイファイ オーディオ処理

NEONの機能と利点

インターネット アプリケーション向けとして、NEONは極めて広範なマルチメディア コーデックをサポート:

  • 多数のソフト コーデック規格: MPEG-4、H.264、On2 VP6/7/8、Real、AVS
  • 各種フォーマットの標準的なサイズの「インターネット ストリーミング」をデコードする用途に最適なソリューション
  • 単にコーデックだけではない ― 2D/3Dグラフィックスや各種ベクタ処理にも適用可能
  • 既製のツール、OSサポート、および エコシステム サポート

必要なサイクル数が少なくて済む:

  • 複雑なビデオ コーデックでのパフォーマンスがNEONによって60~150%向上
  • 個々のシンプルなDSPアルゴリズムによって、より大きなパフォーマンス向上を実現可能(4~8倍)
  • プロセッサが従来より早くスリープ状態に移行できるため、全体的なダイナミック電力を節減できる

NEONテクノロジは、パフォーマンスを向上するさまざまな要素を備える一方で、ソフトウェア開発を単純化する: 

  • アラインド データ アクセスとアンアラインド データ アクセスが、SIMD演算の効率的なベクトル化を実現
  • コンパイラによる自動ベクトル化と手作業でのコーディングを視野に入れて整然と設計された命令セット アーキテクチャ
  • パックされた配列(ARGB、 xyz 座標など)に効率よくアクセス
  • 整数演算と浮動小数点演算の両方をサポートすることによって、コーデックからハイ パフォーマンス コンピューティング、3Dグラフィックスまで広範なアプリケーションに対応可能
  • ARMプロセッサとの密結合によって命令ストリームが一本化され、メモリ ビューも 統一されるため、ツール フローが簡潔になり、開発プラットフォームのターゲットが1つで済む 
  • 128ビット/64ビットのデュアル ビューを備えた大きなNEONレジスタ ファイルによって、効率的なデータ処理が可能となり、メモリへのアクセスが最小限で済むことから、データのスループットが向上する

NEONの使用方法

OpenMAX DLライブラリ:

  • AVコーデックを高速化する際に推奨されるアプローチ
  • ライブラリは、ARMのWebサイトにソース形式で無償公開される
  • サポートされるフォーマット: MPEG-4シンプル プロファイル、H.264ベースライン、JPEG、MP3、AAC
  • サポートされる機能: FIR、IIR、FFT、ドット積、色空間補正、非ブロック化、デリンギング、回転、スケーリング、合成

ベクトル化コンパイラ:

  • 既存のソースコードでNEON SIMDを自動的に活用
  • ARM RealView Development Suite(v3.1 Pro以降)でサポート
  • バージョン2007q3以降のgccでサポート

Cコンパイラ組み込み関数:

  • NEON演算に対するC関数呼び出しインタフェース
  • NEONがサポートする全データ型と演算をサポート
  • ARM RealView Development Suite(バージョン3.1以降)およびgccバージョン2007q3以降でサポート

アセンブラ:

  • 最も低いレベルの最適化
  • ARM's RealView Development Suite(バージョン3.1以降)およびgccバージョン2007q3以降でサポート

 

オープン ソース コミュニティにおけるNEONサポート

現在、NEONは以下のオープン ソース プロジェクトでサポートされています。

  • Android ― NEON最適化
    • SkiaライブラリS32A_D565_Opaqueは、NEONを使用することで5倍高速化
  • Ubuntu 09.04がNEONをサポート:
    • 重要な共有ライブラリのNEON版
  • Bluez ― 公式Linux Bluetoothプロトコル スタック
    • NEON SBCオーディオ エンコーダ
  • Pixman(Cairo 2Dグラフィックス ライブラリの一部)
    • 合成/アルファ ブレンディング
    • X.Org、Mozilla Firefox、Fennec、Webkitブラウザ
    • 例:fbCompositeSolidMask_nx8x0565neonは、NEONを使用することで8倍高速化
  • ffmpeg - libavcodec
    • 多くのLinuxディストリビューションで使用されているLGPLメディア プレーヤ
    • ビデオ: MPEG-2、MPEG-4ASP、H.264(AVC)、VC1
    • オーディオ: Ogg Vorbis
  • x264 ― Google Summer of Code 2009
    • GPL h.264エンコーダ ― ビデオ会議向けなど

 


NEONテクノロジは、業界最大のパートナー ネットワーク、すなわちARM Connected Communityに支えられています。 Connected Communityには、シリコン、システム、設計サポート、ソフトウェアの大手プロバイダが集まり、NEONテクノロジをベースとした製品に最適化した総合的なソリューションを提供しています。

 

会社アプリケーション
IngenientH.264、VC1、MPEG-4
 On2 Technologies VP6/7、MPEG-4、VC1、H.264、ビデオ安定化
 Itiiam SystemsMPEG-4、MPEG-2、H.263、H.264、WMV9、VC1
 Aricent TechnologiesMPEG-4、H.263、H.264、WMV9、オーディオ
 H.264、VC1
 Spirit DSPTEAMSpiritボイス/ビデオ
 VisualOnH.264、MPEG-4、H.263、WMV
 ActimagineMobiClip
 Fraunhofer iisビデオ/オーディオ コーデック
Dolby Labs多チャンネル オーディオ処理
Techno MathematicalMPEG-4
Espicoオーディオおよびコンサルティング


Maximise