メディアとビデオ処理のアクセラレーション: どのツールを使用すべきか?

インテル® メディア SDKメディア特集

この記事は、インテル® デベロッパー・ゾーンに公開されている「Accelerating Media & Video Processing: Which Tool Do I Use?」(https://software.intel.com/en-us/articles/accelerating-media-processing-which-tool-do-i-use-when) の日本語参考訳です。


インテルには、エッジからクラウドに至るまで、メディアやビデオのソリューションやアプリケーションを最適化するための多くの優れたソフトウェア開発ツールがあります。開発者が必要とする一般的な用途は以下のとおりです。

  • ビデオ・トランスコードのパフォーマンスを高速化し、インテルのハードウェア機能とアクセラレーターをフル活用
  • より高いフレームレートと HEVC のような効率良いフォーマットへの移行
  • 物体検出と認識、メディア分析などのインテリジェント・ビジョンとディープラーニング推論の統合
  • 360° ビデオ、リアルタイム・クラウド・ゲーム、AR/VR などの没入型体験の革新

しかし、特定のニーズや用途に適した開発ツールを探すのが困難なこともあります。ここでは、開発者がスマートメディアやビデオ・アプリケーションの開発に使用できるインテル® ソフトウェア開発ツールを紹介します。


高速なビデオ/イメージ処理

以下の開発向け:

  • インテル® Core™ プロセッサーまたはインテル® Core™ M プロセッサー
  • インテル® クイック・シンク・ビデオをサポートするインテル® HD グラフィックスを搭載するインテル® Celeron® プロセッサー、インテル® Pentium® プロセッサー、そして Intel Atom® プロセッサーの SKU を選択
  • クライアント、モバイル、または組込みデバイス – デスクトップやモバイル向けのメディア・アプリケーション
  • OS – Windows* および組込み Linux*
  • オープンソース・バージョンは、Github* (英語) において MIT ライセンスで利用可能

用途とニーズ

  • 高速ビデオ再生、エンコードおよびメディア処理、メディア・フォーマット変換、またはテレビ会議
  • RAW ビデオやイメージの高速処理
  • スクリーン・キャプチャー
  • ドローン、携帯電話、エディター/プレイヤー、ネットワーク・ビデオ・レコーダー、ネットワーク接続された自動車などのスマートカメラ
  • HEVC、AVC、MPEG-2 およびオーディオコーデックのサポート
  • ソリューションと使用方法に応じて、インテル® コンピューター・ビジョン SDK、インテル® SDK for OpenCL* Application、インテル® System Studio と組み合わせて使用

スマートビデオ、コンピューター・ビジョン、およびディープラーニング推論:
インテル® ディストリビューションの OpenVINO™ ツールキット

コンピューター・ビジョン・ソリューションの開発を加速し、ディープラーニング推論を統合するには、インテル® ディストリビューションの OpenVINO™ ツールキットを使用します。

  • さまざまなインテル® プロセッサーとアクセラレーターでコンピューター・ビジョンとディープラーニングのパフォーマンスを加速
  • ワークロード・パイプラインに独自のカスタムカーネルを追加可能
  • 付属のインテル® ディープラーニング・デプロイメント・ツールキットを使用して、ディープラーニング対応のコンピューター・ビジョン・アルゴリズムを迅速に展開
  • OpenCV*、OpenVX*、メディアのエンコード/デコード向けに最適化された関数を利用可能 (インテル® メディア SDK オープンソース版を同梱)
  • スマートビデオ、物体認識、コンピューター・ビジョン、デジタル監視、小売、製造、スマートホーム/スマートシティー、ヘルスケア、自動運転などの垂直ソリューションにおけるディープラーニング推論などに使用

ウェブ・アプリケーションを介したリアルタイム通信: インテル® Collaboration Suite for WebRTC


  • W3C 標準の WebRTC API をベースに構築されており、ブロードキャスト、ピアツーピア、会議モード通信、オンラインゲーム/VR ストリーミングなどのリアルタイム通信 (RTC) の開発を高速化
  • Andrioid*、ウェブ (JavaScript* ビルド)、iOS*、Windows* アプリケーションで使用可能

ソリューションのカスタマイズ、CPU/GPU 負荷バランス、インテル プロセッサー・グラフィックスの活用: インテル® SDK for OpenCL* Applications


以下の開発向け:

一部のインテル® プロセッサー上での汎用 GPU アクセラレーション (技術仕様を参照)。OpenCL* は主に実行ユニットをターゲットとします。OpenCL* アプリケーションが、インテル固有のハードウェア・ブロックにアクセスできるよう、インテル® プロセッサー向けの拡張機能が追加されています。

  • ヘテロジニアス計算アプリケーションをカスタマイズしてパフォーマンスを高速化
  • アプリケーションのニーズに合わせてインテル® グラフィックス・テクノロジーへ計算をオフロードして、CPU と GPU の間でメディア・ワークロードのバランスを取る

ビデオのパフォーマンスと品質の解析: インテル® VTune™ プロファイラー


CPU、GPU、スレッド、OpenCL*、帯域幅のメトリックを収集して、メディア処理のボトルネックを見つけるパフォーマンス・プロファイラーです。データを素早く分析して、タイムライン、コードソース、および BPU アーキテクチャー・ダイアグラムで結果をフィルターして、VDBox、VEBox、EU 利用率、バス帯域幅を示します。


システム/IoT デバイス・アプリケーションのシステム・ブリングアップ、ブート・パフォーマンス、電力使用量、信頼性: インテル® System Studio


このクロスプラットフォームのツール・スイートには、最適化コンパイラー、高度にチューニングされたライブラリー、アナライザー、デバッグツール、クラウドコネクターや 400 以上のセンサーへのアクセスが含まれています。

  • システムおよび IoT デバイス・アプリケーションのシステム・ブリングアップ、パフォーマンス、電力使用量、信頼性を向上
  • インテル® VTune™ プロファイラーとデバッガーツールを含む

FPGA: インテル® FPGA 開発ツール (旧アルテラ FPGA)
(旧アルテラ) ビデオ & イメージ処理スイート MegaCore® ファンクション (インテル® Quartus® Prime 開発ソフトウェアの IP Catalog に含まれる)


以下の開発向け:

  • すべてのインテル® FPGA (旧アルテラ FPGA) ファミリー
  • ビデオ監視、放送、テレビ会議、医療および軍事映像、車載ディスプレイなどのビデオとイメージ処理アプリケーション

用途とニーズ

  • FPGA デバイス向けのハードウェア・ビット・ストリームの設計、シミュレーション、検証
  • デインターレース、カラー空間変換、アルファ・ブレンディング、スケーリングなどに最適化されたビルディング・ブロック

インテル® C for Metal と関連ツール


CM ランタイムは、インテルのメディアドライバーと CM コンパイラーとともにオープンソース化されました。CM パッケージは 01.org にあります。

ソースコードは以下の場所から利用できます。

  • インテル® Media Driver for VAAPI とインテル® C for Metal Runtime: GitHub* (英語)
  • インテル® Metal Compilerとサンプルコード: GitHub* (英語)
  • インテル® グラフィックス・コンパイラー: GitHub* (英語)

OpenCL および OpenCL ロゴは、Apple Inc. の商標であり、Khronos の使用許諾を受けて使用しています。

コンパイラーの最適化に関する詳細は、最適化に関する注意事項を参照してください。

タイトルとURLをコピーしました