インテル コーポレーション
シニア・テクニカル・コンサルティング・エンジニア
Jeff McAllister
Web セミナー – 2016 年 10 月 27 日

本日の内容インテルのハードウェア
優れた

ビデオ処理
ソリューション

インテル®
ソフトウェア・
ツール/SDK最適化に関する注意事項© 2017 Intel Corporation. 無断での引用、転載を禁じます。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

2

チップの別の部分

動作環境は技術仕様を参照 - インテル® Xeon® プロセッサーまたはインテル Core™ プロセッサー・ベースのプラットフォームの SKU を選択

第 6 世代インテル® Xeon® プロセッサー/
インテル® Core™ プロセッサー向けの開発を行う理由

インテル® プロセッサー、統合グラフィックス (GPU)、ハードウェア・
アクセラレーション MPEG-2、AVC、新しい HEVC コーデックを活用
して高速で高密度のリアルタイム・ビデオ・トランスコードを実現
競争力の維持 - 4K への移行 - クラウドビデオ、
OTT ストリーミング、臨場感のある体験など最適化に関する注意事項© 2017 Intel Corporation. 無断での引用、転載を禁じます。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

4

インテルのハードウェアはヘテロジニアス
CPU 優れた汎用パフォーマンス
 大規模なソフトウェア・エコシステム

プログラマブルなインテルのハードウェア
 GPU (ここで説明)
 IPU
 インテル® FPGA (旧 Altera® FPGA)

動作環境は技術仕様を参照 - インテル® Xeon® プロセッサーまたはインテル Core™ プロセッサー・ベースのプラットフォームの SKU を選択

最適化に関する注意事項© 2017 Intel Corporation. 無断での引用、転載を禁じます。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

5

メディア機能
第 9 世代インテル® プロセッサー・グラフィックス GPU 14nm プロセス・テクノロジー
 プロセッサーに統合
 より高いパフォーマンス

- GT2 (24 実行ユニット)- GT4e (72 実行ユニット/128MB eDRAM)- CPU + GPU で 1TFLOPS を超える処理能力を提供

 最新の API 機能をサポート- DirectX® 3D 2015、OGL 4.4、OpenGL* ES 3.0、OpenCL* 2.1- 共有仮想メモリー + OpenCL* を使用した密結合の CPU/GPU
プログラミング メディア機能向けに拡張されたハードウェア・アクセラレーション- 省電力/フル固定機能 AVC エンコード- HEVC エンコード/デコード- MJPEG エンコード

動作環境は技術仕様を参照 - インテル® Xeon® プロセッサーまたはインテル Core™ プロセッサー・ベースのプラットフォームの SKU を選択

最適化に関する注意事項© 2017 Intel Corporation. 無断での引用、転載を禁じます。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

6

ビデオ・トランスコード・パフォーマンス: HEVC
マルチストリームのリアルタイム (30fps)
パフォーマンス (1xRT = 30fps) ストリーム数

1080p1080p

AVC-HEVC

4K-4K

AVC-HEVC

HEVC-HEVC

HEVC-HEVC

リアルタイム (60fps)
ストリーム数

15
8
4
2

7
4
2
1

インテル® Xeon® プロセッサー E3-1500 v5
HEVC はターゲットの 4K60 を完全にアクセラレーション

NEW! インテル® Xeon® プロセッサーあたり最大 2 つのリアルタイム HEVC ストリームを処理1
ハードウェア要件を満たす場合。詳細は、パフォーマンス・ベンチマーク (英語) とインテル® Media Server Studio のサイトを参照してください。
115 リアルタイム HD AVC-HEVC または 4 リアルタイム UHD AVC-HEVC トランスコード、8 リアルタイム HD HEVC-HEVC または 2 リアルタイム UHD HEVC-HEVC トランスコード、インテル® Media SDK (ターゲット使用率 7) を使用、すべてのコンテンツは 8 ビット

4:2:0。ベンチマークのプラットフォーム構成: プロセッサー: インテル® Xeon® プロセッサー E3-1585L v5 (3GHz)、リング (3GHz) および GT (1.15GHz)。BIOS バージョン: SKLSE2R1.R00.B104.B01.1511110114。ドライバー: 20.19.15.4444。プラットフォーム: RVP11
halo fab 2。OS: Windows® 8.1 x64 Enterprise、16GB メモリー、2 DIMM 2133MHz、1 ソケット、4 コア、インテル® Iris™ Pro グラフィックス P580、インテル® ハイパースレッディング・テクノロジー有効、インテル® バーチャライゼーション・テクノロジー有効。
性能に関するテストに使用されるソフトウェアとワークロードは、性能がインテル® マイクロプロセッサー用に最適化されていることがあります。SYSmark* や MobileMark* などの性能テストは、特定のコンピューター・システム、コンポーネント、ソフトウェア、操作、機能に基づいて行ったものです。結果はこれらの要因によって異なります。製品の購入を検討される場合は、他の製品と組み合わせた場合の本製品の性能など、ほかの情報や性能テストも参考にして、パフォーマンスを総合的に評価することをお勧めします。詳細は、www.intel.com/performance (英語)を参照してください。

最適化に関する注意事項© 2017 Intel Corporation. 無断での引用、転載を禁じます。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

7

主なグラフィックス・テクノロジー
用語集
 実行ユニット (EU) = 汎用コア
 “スライス” には EU、サンプラー、キャッシュなどが含まれる

固定機能(VDBox、VEBox)

 固定機能は “アンスライス” に含まれる
 eDRAM はキャッシュを追加し、帯域幅を増加

各プロセッサー・グラフィックス
拡張インテル® HD
グラフィックス

別名

要約

GT2
“4+2”

良い

インテル® Iris™
グラフィックス+ スライス+ eDRAMGT3“2+3e”

さらに良い

インテル® Iris™ Pro
グラフィックス+ スライス+ eDRAMGT3e、GT4e“4+4e”

最良

intel.co.jp で “インテル® クイック・シンク・ビデオ” を検索してみてください
最適化に関する注意事項© 2017 Intel Corporation. 無断での引用、転載を禁じます。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

8

インテル® プロセッサー・グラフィックス/GPU の概要

GT2
インテル® HD グラフィックス
24 EU、1 MFX
最適化に関する注意事項© 2017 Intel Corporation. 無断での引用、転載を禁じます。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

GT3
インテル® Iris™ グラフィックス
48 EU、2 MFX

GT4インテル® Iris™ Pro グラフィックス
72 EU、2 MFX

9コーデックとフレーム処理は固定機能と実行ユニットを使用
ビデオ・エンコーディング
ENC = EU + VDBox VME (MB タイプ、動きベクトル、ビット配分/BRC)
PAK = VDBox (残差パッキングとエントロピー・コーディング)
VDENC = 省電力エンコード (第 6 世代インテル® Core™ プロセッサー・ファミリー以降)

VPP
VPHal

VDBOX

ビデオ・デコーディング
BSD = VDBox デコード

3D FF

メディア固定機能

VEBOX

EU

EU

EU

EU

EU

EU

EU

EU

EU

EU

EU

EU

EU

EU

EU

EU

EU

EU

EU

EU

EU

EU

EU

EU

サンプラー

サンプラー

サンプラー

ビデオ処理ハードウェア・
アクセラレーション・レイヤー
VEBox• デインターレース• ノイズ除去 (Luma/Chroma)• フレームレート変換• 色空間変換• 合成/アルファ・ブレンディング• スケーリングキャッシュ

最適化に関する注意事項© 2017 Intel Corporation. 無断での引用、転載を禁じます。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

10インテル® Media SDK およびインテル® SDK for OpenCL* Applications で
メディア・ソリューション/アプリケーションを最適化ヘテロジニアス・ツール
でチップの別の部分にアクセス

インテル® Media Server Studio インテル® Media SDK** インテル® SDK for OpenCL*
Applications**

ヘテロジニアス・ハードウェア

優れた組み合わせ**スタンドアロン・ツールとしても利用できます。

最適化に関する注意事項© 2017 Intel Corporation. 無断での引用、転載を禁じます。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

12

インテル® Media Server Studio により高速、高密度、高品質のメディア処理を実現
COMMUNITY EDITION – 無料!
•••

インテル® Media SDK
ビデオエンコード/デコード
H.264 (AVC)、H.265(HEVC)
MPEG-2、MJPEG
FFmpeg* アクセラレーション

•
•
•
•

インテル® Media SDK
ビデオ処理
サイズ変更、合成、トリミング
高度なデインターレース
カラー変換
ノイズ除去、シャープネス

•
•
•
•

インテル® SDK
for OpenCL* Applications
ビデオ処理フィルター
エンコーダー開発
コンピューター・ビジョン操作
OpenCV* アクセラレーション

メトリックモニター (Linux* のみ): リソースの使用状況を監視

ESSENGIALS EDITION – Online Service Center を利用可能
PROFESSIONAL EDITION: HEVC への迅速な移行
HEVC
実績あるソフトウェアおよび GPU
アクセラレーション・プラグイン

インテル® VTune™
Amplifier

高品質の逆テレシネとデインターレース

Video Quality
Caliperisus.jp/intel-media-server-studio
最適化に関する注意事項© 2017 Intel Corporation. 無断での引用、転載を禁じます。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

13

インテル® Media Server Studio 製品ファミリーインテル® MEDIASERVER STUDIO

インテル® VIDEO PROANALYZER

インテル® STRESSBITSTREAMS & ENCODER

利点
 高速で高品質なビデオ・トランスコード
 高密度のソリューションを構築
 HEVC および UHD への迅速な移行• デコードプロセス全体を検証 デコーダーの規格準拠と安定性を検証• エンコーダーのデバッグと最適化

 デコーダーのパフォーマンスを向上• HEVC VP9、AVC、MPEG-2 ストリームの解析 開発およびテスト用のカスタム・ビット
ストリームを作成• HDR サポートを含む UHD の革新

ユーザー
ISV/ODM
サーバー・アプリケーション開発者
通信インフラストラクチャー (ビデオ処理、
テレビ会議、デジタル監視)、
クラウド、データセンター
isus.jp/intel-media-server-studio
最適化に関する注意事項© 2017 Intel Corporation. 無断での引用、転載を禁じます。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

ビデオコーデック開発者と設計者
ビデオ・ソフトウェアのエキスパート
検証エンジニア

isus.jp/intel-video-pro-analyzer

ビデオコーデック開発者
検証エンジニア

isus.jp/intel-stress-bitstreams-and-encoder14

メインループ

初期化

インテル® Media SDK/インテル® Media Server Studio

ストリーム

パラメーター(ヘッダーから)

パラメーター(入力/出力)パラメーター

init

init

init

デコード

フレーム

VPP

フレーム

エンコード

メディア・アクセラレター・フレームワーク
コーデックベース
高水準/パラメーター・インターフェイス
3 つの操作

ストリーム

適したオプション: アクセラレーション・ビデオ・エンコード、デコード (および短いリストのフレーム処理)
詳細情報 インテル® Media Server Studio インテル® Media SDK
 インテル® Media Server Studio コードサンプル

最適化に関する注意事項© 2017 Intel Corporation. 無断での引用、転載を禁じます。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

15

インテル® Media SDK 2017 がサポートするコーデック
標準

エンコード

デコード

HEVC

ハードウェアハードウェア

AVC

ソフトウェア/ハードウェア/
省電力

ソフトウェア/ハードウェア

MPEG-2

ソフトウェア/ハードウェア

ソフトウェア/ハードウェア

MJPEG

ソフトウェア/ハードウェア

ソフトウェア/ハードウェア

MVC

ソフトウェア/ハードウェア

ソフトウェア/ハードウェア(メイン・プロファイル)

VC-1

-

ソフトウェア/ハードウェア

緑 = 第 9 世代対応インテル® Media Server Studio でサポート
最適化に関する注意事項© 2017 Intel Corporation. 無断での引用、転載を禁じます。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

16

インテル® Media SDK 2017 がサポートするビデオ処理機能
N:1 フレーム合成
サイズ変更
カラー変換
デインターレース
ノイズ除去
フレームレート変換
明るさ/コントラスト/彩度
鮮明化

最適化に関する注意事項© 2017 Intel Corporation. 無断での引用、転載を禁じます。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

17

メディア・ソフトウェアの範囲
トランスコード・パイプライン
インテル® Media SDK (ビデオ)コンテナーファイル入力

デコード

プロセス

エンコード

ES

ES

デマルチプレクサー/
スプリッター

マルチプレクサーES

インテル® Media SDK オーディオ(AAC エンコード/デコード、MPEG デコード)
デコード

プロセス

ES

エンコード

コンテナーファイル出力

インテル® Media SDK/インテル® Media Server Studio
制限付きサポート
範囲外/外部コンポーネント
最適化に関する注意事項© 2017 Intel Corporation. 無断での引用、転載を禁じます。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

ES = エレメンタリー・ストリーム

18

コンテナーとタイムスタンプ
 表示タイムスタンプ (PTS): ユニットを表示する (再生する) 時間
 復号タイムスタンプ (DTS): セカンダリー – 複雑な参照構造 (つまり、現代のビデオ・フォーマット) のため表示前にデコードとバッファー処理を行う場合に必要

コンテナー
オーディオ

ビデオ

• パケット• パケット• タイムスタンプ• DTS、PTS

コンテナー・
フォーマット・
ビットストリーム

エレメンタリー・
ビデオ・
ビットストリーム

デコード
デマルチ
プレクサー

ビデオ

サーフェス

エレメンタリー・
ビデオ・
ビットストリーム

サーフェス

フレームプロセス

エンコード
マルチ
プレクサー

オーディオ
mfxBitstream• 復号タイムスタンプ (DTS)• 表示タイムスタンプ (PTS)
mfxFrameSurface1->mfxFrameData:• 表示タイムスタンプ (PTS)
最適化に関する注意事項© 2017 Intel Corporation. 無断での引用、転載を禁じます。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

注意点
 インテル® Media SDK はパイプラインで表示タイムスタンプ (PTS) をフォワードする
 FRC とデインターレース VPP を除き、インテル® Media SDK はタイムスタンプを操作しない
 エンコーダー GOP 設定に基づいてビットストリームを出力する新しい DTS を追加

19

メモリー使用量 – メモリーサーフェス
CPU
アプリ
ケーション

GPU

ソフトウェアハードウェア 2 つのサーフェスタイプ
––システムサーフェス
ビデオサーフェス

 ビデオはタイル形式で、CPU が効率的にアクセスできない

システム

ビデオ

メモリー

最適化に関する注意事項© 2017 Intel Corporation. 無断での引用、転載を禁じます。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

 すべてのインテル® Media SDK コンポー
ネントは両方のメモリータイプをサポートし、必要な場合は内部コピーを使用する

 内部コピーを使用するとパフォーマンスが大幅に低下することがある

20

不透明メモリー
問題: ソフトウェア実装とハードウェア実装で割り当て方法が異なると複雑さやコード保守の手間が増える
ソリューション: インテル® Media SDK でサーフェスの割り当てを行い内部的に制御する
変更前

変更後

ハードウェア
ソフトウェア/ハードウェア

ソフトウェアシステム・メモリー・
バッファーを割り当て

デコード/VPP/エンコード
初期化

最適化に関する注意事項© 2017 Intel Corporation. 無断での引用、転載を禁じます。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

NULL バッファーポインターでフレームを割り当て
DirectX® サーフェスを割り当て

アロケーター・
コールバック

デコード/VPP/エンコード
初期化

21インテル® Media SDK 最適化アプリケーションの基本構造
セッションの初期化、パラメーターの設定

利用可能な
サーフェスを見つける

アプリケーション

照会 + 割り当て
Q ステージ: デコード、
VPP エンコード

ループ

メインループ同期

出力を取得

ループを解放同上

クリーンアップ、終了
最適化に関する注意事項© 2017 Intel Corporation. 無断での引用、転載を禁じます。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

22

インテル® Media SDK “Hello world”

最適化に関する注意事項© 2017 Intel Corporation. 無断での引用、転載を禁じます。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

23

すべてのステージは mfxVideoParam で初期化される(mfxstructures.h)
typedef struct {mfxU32 AllocId;
mfxU32 reserved[2];mfxU16 reserved3;
mfxU16 AsyncDepth;

union {
mfxInfoMFX mfx;
mfxInfoVPP vpp;};
mfxU16 Protected;
mfxU16 IOPattern;
mfxExtBuffer** ExtParam;
mfxU16 NumExtParam;
mfxU16 reserved2;} mfxVideoParam;

最適化に関する注意事項© 2017 Intel Corporation. 無断での引用、転載を禁じます。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

mfxInfoMFX (デコード/エンコード)
 コーデック、プロファイル/レベル
 デコード: ほとんどはストリームヘッダーから読み取る
 エンコード: パラメーターはエンコードセクションで説明

mfxInfoVPP
 入出力フレーム・パラメーター (VPP セクションで説明)
拡張パラメーター・セット (次のスライド)24

拡張パラメーター・セット
問題: 将来にも対応して SDK を拡張する
ソリューション: mfxVideoParam のオリジナルサイズを保ちながら拡張できるように設計する(現在はほとんどのアプリケーションで EPS が必要)
mfxExtCodingOption2 extendedCodingOptions2;
memset(&extendedCodingOptions2, 0, sizeof(extendedCodingOptions2));extendedCodingOptions2.Header.BufferId = MFX_EXTBUFF_CODING_OPTION2;
extendedCodingOptions2.Header.BufferSz = sizeof(extendedCodingOptions2);
extendedCodingOptions2.BRefType=MFX_B_REF_PYRAMID;

mfxExtCodingOption3 extendedCodingOptions3;
memset(&extendedCodingOptions3, 0, sizeof(extendedCodingOptions3));extendedCodingOptions3.Header.BufferId = MFX_EXTBUFF_CODING_OPTION3;
extendedCodingOptions3.Header.BufferSz = sizeof(extendedCodingOptions3);
extendedCodingOptions3.EnableMBQP=MFX_CODINGOPTION_ON;

共通のパターン ヘッダーで ID とサイズを設定
 0 = デフォルト/未使用 使用するパラメーターの値を提供

パラメーター・バッファーの配列をアタッチ
配列の大きさをインテル® Media SDK に知らせる

mfxExtBuffer* extendedBuffers[2];extendedBuffers[0] = (mfxExtBuffer*) & extendedCodingOptions2;
extendedBuffers[1] = (mfxExtBuffer*) & extendedCodingOptions3;
mfxEncParams.ExtParam = extendedBuffers;
mfxEncParams.NumExtParam = 2;

最適化に関する注意事項© 2017 Intel Corporation. 無断での引用、転載を禁じます。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

25

省電力 H264 エンコードを有効にする

mfxEncParams.mfx.LowPower=MFX_CODINGOPTION_ON;

最適化に関する注意事項© 2017 Intel Corporation. 無断での引用、転載を禁じます。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

26

ハードウェア

ソフトウェア

ソフトウェア + GPU
アクセラレーション

ハードウェアに最も近い
AVC パフォーマンス

高品質、多くのオプション

ソフトウェア品質に近い

低速

ソフトウェアのパフォーマンスを向上

高速

インテル® Media Server Studio 2017 およびインテル® Media SDK (Windows®) で利用可能

プラグイン

ドライバー

3 種類の HEVC

インテル® Media Server Studio Professiona Edition で利用可能。
ほかのハードウェア・オプションあり。

(第 9 世代/Skylake✝ グラフィックス対応のハードウェアで実行する場合)✝ 開発コード名

最適化に関する注意事項© 2017 Intel Corporation. 無断での引用、転載を禁じます。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

27

エンコード設定// HEVC プラグインをここでロード
sts = Initialize(impl, ver, &session, NULL);
MFXVideoENCODE mfxENC(session);// インテル® Media SDK エンコーダーを作成// エンコードに必要なビデオ・パラメーターを設定...
// エンコーダーに必要なサーフェスのクエリー番号
sts = mfxENC.QueryIOSurf(&mfxEncParams, &EncRequest);
sts = mfxENC.Init(&mfxEncParams); // インテル® Media SDK エンコーダーを初期化// メインループ

最適化に関する注意事項© 2017 Intel Corporation. 無断での引用、転載を禁じます。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

28

基本的なエンコードフロー
EncodeFrameAsyc の戻り値

初期化
メインループループを解放EncodeFrameAsyc

EncodeFrameAsyc(null)(サーフェス)

MFX_ERR_MORE_DATA•より多くの入力サーフェスデータが必要。エンコードは、最初の出力を生成する前に、いくつかの入力サーフェスを要求することがある。

MFX_WRN_DEVICE_BUSY•ハードウェア・デバイスの応答なし。通常の動作において想定される出力で、しばらくしてクリアされる。この状態が数ミリ秒以上続く場合は、問題が発生している可能性がある。

MFX_ERR_NOT_ENOUGH_BUFFER

入力完了

さらに入力

MFX_ERR_MORE_DATA
完了(MFX_ERR_MORE_DATA はすべてのサーフェスが解放されたことを示す)•ビットストリーム出力バッファーが小さすぎて出力フレームを格納できない。出力バッファーのサイズを増やす必要がある。

その他•その他のエラーコードは不具合を示す。詳細は、インテルのサポート担当者までお問い合わせください。

最適化に関する注意事項© 2017 Intel Corporation. 無断での引用、転載を禁じます。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

29

エンコードdo {if (still_reading_file) { // メインループ
sts = mfxENC.EncodeFrameAsync(NULL, pEncSurfaces[nEncSurfIdx], &mfxBS, &syncp);} else { // ループを解放
sts = mfxENC.EncodeFrameAsync(NULL, NULL, &mfxBS, &syncp);
if (sts==MFX_ERR_MORE_DATA) break;}switch(sts) {case MFX_WRN_DEVICE_BUSY: MSDK_SLEEP(1); break;case MFX_ERR_MORE_DATA:
nEncSurfIdx = GetFreeSurfaceIndex(pEncSurfaces, nEncSurfNum); // 利用可能なサーフェスを見つける
readsts=LoadRawFrame(pEncSurfaces[nEncSurfIdx], fSource);
if (readsts!=MFX_ERR_NONE) still_reading_file=0;
break;}
if (sts!=MFX_ERR_NONE) continue;
sts = session.SyncOperation(syncp, 60000);// ビットストリーム・データをここで使用// 同期} while (true);
最適化に関する注意事項© 2017 Intel Corporation. 無断での引用、転載を禁じます。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

30

アプリケーション設計の基本事項
非同期: 各ステージで複数のフレームを実行可能。セッションの動作中、フレームはロックされる。
セッション/パイプライン・ベース: 個々の操作は高速化しない
ビデオメモリー・ベース (NV12 カラー・フォーマット、GPU 割り当て):
変換ステップが最小限になるようにパイプラインを調整
コピーを最小限に抑えるように設計: NV12 変換のように、CPU と
GPU 間でコピーする代わりに同じ場所のサーフェスを再利用するようにパイプライン・ステップを調整
待機時間を最小化: CPU をブロックすることなくできるだけ多くの操作をキューに追加最適化に関する注意事項© 2017 Intel Corporation. 無断での引用、転載を禁じます。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

ヒューリスティック
ビデオメモリー/NV12 カラー・フォーマットを使用するCPU - GPU 間でのローフレームのコピーは避ける

非同期に実行する

GPU 以外のタスクの待機時間を最小にする

インテル® Media SDK (ビデオ)
デコード

プロセス

エンコード

31

OpenCL* とインテル® Media SDK を組み合わせる理由
インテル® Media SDK の範囲
(高水準)
デコード

プロセス

エンコード

OpenCL* の範囲
広範囲/低水準

固定機能のパフォーマンス

最適化に関する注意事項© 2017 Intel Corporation. 無断での引用、転載を禁じます。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

インテル® Media SDK は以下の最適な実装を提供する
 コーデック フレーム処理
インテル® Media SDK の範囲に含まれないビデオ処理タスクはOpenCL* で処理する
 拡張された GPU 機能を利用 GPU のパイプラインを保持
使用例: カラー変換、カスタム・ビットレートの制御

GPGPU でイノ
ベーションを追加

素晴らしい
ものを作成

32

高度な解析が可能
インテル® VTune™ Amplifier** を使用してインテル® Media SDK と OpenCL* で最適化したメディア・アプリケーションを解析

GEN GPU
エンジンの使用状況

CPU ソフトウェア・
スレッド

GPU ハードウェア・
メトリック

メモリー帯域幅**インテル® Media Server Studio 内またはスタンドアロン・ツールとして利用可能。

最適化に関する注意事項© 2017 Intel Corporation. 無断での引用、転載を禁じます。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

33

インテル® Media SDK の入手方法
インテル® Media Server Studio – 3 つのエディション (無料の Community Edition を含む)

インテル® Media SDK - 無料

プラットフォーム/デバイス

インテル® Core™ プロセッサー・ファミリーまたはインテル® Core™ M プロセッサー・ファミリーインテル® クイック・シンク・ビデオをサポートする
インテル® HD グラフィックス内蔵のインテル® Celeron®
プロセッサー、インテル® Pentium® プロセッサー、インテル® Atom™ プロセッサーの SKU から選択



クライアント・デバイス – デスクトップ/
モバイル・アプリケーション

インテル® Xeon® プロセッサーまたはインテル Core™ プロセッサー・
ベースのプラットフォーム
メディア、通信インフラストラクチャー、ビデオ処理/テレビ会議、
デジタル監視、ビデオクラウド、データセンター向けアプリケーション
HEVC、AVC、MPEG-2、MPEG-Audio をサポート

プラットフォーム/デバイス

動作環境は技術仕様を参照

動作環境は技術仕様を参照

ダウンロードisus.jp/intel-media-server-studio

ダウンロードisus.jp/intel-media-sdk

最適化に関する注意事項© 2017 Intel Corporation. 無断での引用、転載を禁じます。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

34

関連情報
インテル® Media SDK
インテル® Media Server Studio
サンプルとチュートリアル
フォーラム• isus.jp/intel-media-sdk• isus.jp/intel-media-server-studio• github.com/Intel-Media-SDK/samples (英語)• software.intel.com/forums/intel-media-sdk (英語)Web セミナーのビデオ (英語)

最適化に関する注意事項© 2017 Intel Corporation. 無断での引用、転載を禁じます。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

35

法務上の注意書きと最適化に関する注意事項
インテル® テクノロジーの機能と利点はシステム構成によって異なり、対応するハードウェアやソフトウェア、またはサービスの有効化が必要となる場合があります。実際の性能はシステム構成によって異なります。絶対的なセキュリティーを提供できるコンピューター・システムはありません。詳細については、各システムメーカーまたは販売店にお問い合わせいただくか、http://www.intel.co.jp/ を参照してください。
テストでは、特定のシステムでの個々のテストにおけるコンポーネントの性能を文書化しています。ハードウェア、ソフトウェア、システム構成などの違いにより、実際の性能は掲載された性能テストや評価とは異なる場合があります。購入を検討される場合は、ほかの情報も参考にして、パフォーマンスを総合的に評価することをお勧めします。性能やベンチマーク結果について、さらに詳しい情報をお知りになりたい場合は http://www.intel.com/performance (英語) を参照してください。
ここに記載されているすべての情報は、予告なく変更されることがあります。インテルの最新の製品仕様およびロードマップをご希望の方は、インテルの担当者、営業所、または代理店までお問い合わせください。
性能に関するテストに使用されるソフトウェアとワークロードは、性能がインテル® マイクロプロセッサー用に最適化されていることがあります。SYSmark* や MobileMark* などの性能テストは、特定のコンピューター・システム、コンポーネント、ソフトウェア、操作、機能に基づいて行ったものです。結果はこれらの要因によって異なります。製品の購入を検討される場合は、他の製品と組み合わせた場合の本製品の性能など、ほかの情報や性能テストも参考にして、パフォーマンスを総合的に評価することをお勧めします。
本資料に記載されているコスト削減シナリオは、状況固有の多数の変動要因が加わることで、特定のインテル製品の購入が今後のコストとコスト削減にどのように影響するかについて理解を深めることができるようにするためのものです。本資料の内容は、一定レベルのコストを保証または確約するものではありません。
本資料に掲載されている情報は、インテル製品の概要説明を目的としたものです。本資料は、明示されているか否かにかかわらず、また禁反言によるとよらずにかかわらず、いかなる知的財産権のライセンスも許諾するものではありません。製品に付属の売買契約書『Intel's Terms and Conditions of Sale』に規定されている場合を除き、インテルはいかなる責任を負うものではなく、またインテル製品の販売や使用に関する明示または黙示の保証 (特定目的への適合性、商品適格性、あらゆる特許権、著作権、その他知的財産権の非侵害性への保証を含む) に関してもいかなる責任も負いません。
Intel、インテル、Intel ロゴ、Intel Inside、Intel Inside ロゴ、Intel Atom、Celeron、 Intel Core、 Iris、 Pentium、Xeon、VTune、Altera の名称およびロゴは、アメリカ合衆国および / またはその他の国におけるIntel Corporation の商標です。
Microsoft、DirectX、および Windows は、米国 Microsoft Corporation の、米国およびその他の国における登録商標または商標です。
OpenCL および OpenCL ロゴは、Apple Inc. の商標であり、Khronos の使用許諾を受けて使用しています。
最適化に関する注意事項
インテル® コンパイラーでは、インテル® マイクロプロセッサーに限定されない最適化に関して、他社製マイクロプロセッサー用に同等の最適化を行えないことがあります。これには、インテル® ストリー
ミング SIMD 拡張命令 2、インテル® ストリーミング SIMD 拡張命令 3、インテル® ストリーミング SIMD 拡張命令 3 補足命令などの最適化が該当します。インテルは、他社製マイクロプロセッサーに関して、いかなる最適化の利用、機能、または効果も保証いたしません。本製品のマイクロプロセッサー依存の最適化は、インテル® マイクロプロセッサーでの使用を前提としています。インテル® マイク
ロアーキテクチャーに限定されない最適化のなかにも、インテル® マイクロプロセッサー用のものがあります。この注意事項で言及した命令セットの詳細については、該当する製品のユーザー・リファレ
ンス・ガイドを参照してください。
注意事項の改訂 #20110804
最適化に関する注意事項© 2017 Intel Corporation. 無断での引用、転載を禁じます。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

37

インテル® Media Server Studio のエディション – 概要
機能/コンポーネント
プレミアム・コンポーネント

Community Edition

Essentials Edition

Professional Edition

インテル® Media SDK
グラフィックス・ドライバー
コードサンプル
OpenCL* Code Builder およびランタイム
メトリックモニター (Linux* のみ)
Online Service Center
HEVC デコーダー/エンコーダー、GPU アシスト API
オーディオデコーダー/エンコーダー
Video Quality Caliper
インテル® VTune™ Amplifier
高品質の逆テレシネとデインターレース

最適化に関する注意事項© 2017 Intel Corporation. 無断での引用、転載を禁じます。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

38