開発事例
インテル® C++ Composer XE
リアルタイム超解像処理プログラム

インテル ® C++ Composer XE により並列処理を用いたプログラム開発を効率化しSD 映像から HD 映像へのリアルタイム変換を実現
課 題• 標準画質（SD 映像）をハイビジョン画質（HD 映像）に変換する「超解像処理」の高速化• 並列処理プログラムの開発効率向上

ソリューション

• インテル ® C++ Composer XE• インテル ® Xeon® プロセッサー E5-2600 製品ファミリー• インテル ® Xeon Phi ™ コプロセッサー（NEC）• x86 サーバー「Express5800/HR120a-1」• リアルタイム超解像処理プログラム（NEC）

導入効果• プログラムの開発効率向上• 従来比約 5 倍の処理性能向上• 映像変換のリアルタイム化• 開発工数の削減（GPGPU の 5 分の 1）

日本電気株式会社
本社：東京都港区芝五丁目 7 番 1 号
設立：1899 年（明治 32 年）7 月 17 日
資本金：3,972 億円（2012 年 3 月末現在）
売上高：単独 1 兆 7,492 億円
連結 3 兆 368 億円（2012 年 3 月期）
事業内容：IT サービス事業、プラットフォーム事業、キャリアネットワーク事業、社会インフラ事業、パーソナルソリューション事業

http://jpn.nec.com/

インテル® Xeon Phi™ コプロセッサーを搭載した x86 サーバー上で稼動する超解像処理プログラムを開発ます。特に放送業界では、過去のコンテンツをPhi ™ コプロセッサーを 2 枚まで搭 載 可 能な
1U ラック型サーバーで、ビッグデータの高効率処理に対応しています。1 つのインテル ® Xeon
Phi ™ コプロセッサーには、4 スレッドを実行可能なコアを 50 個以上搭載できるため、1 サーバーで最大 520 スレッドの同時並列処理が実現します。

あり、対応を迫られている状況です。日本電気「今回の開発では、インテル ® Xeon® プロセッ

IT 技術の進化により、ついに幕が切って落とされたビッグデータ時代。画像処理の分野でも、映像のハイビジョン化によって扱うデータ量が増加し、従来以上に高速な処理が求められてい美しい映像で見たいというニーズが高まりつつ株式会社（以下、NEC）では、こうした声に応えるため、標準画質（SD 映像）をハイビジョン画質（HD 映像）に変換する「超解像処理」の研究を重ねてきました。しかし、超解像処理で扱うデータ量は膨大で、計算には長い時間を要します。

NEC グリーンプラットフォーム研究所 主任の石坂一久氏は「従来のインテル ® Xeon® プロセッサーを搭載したサーバーでは 1 時間の SD 映像を HD 映像に変換するのに数時間を要していました」と振り返ります。
そこで NEC は、先進の並列処理性能を有すサー用のプログラム・ソース・コードを、複数のプロセッサーを利用して並列処理ができるように書き換えることで、映像変換のリアルタイム化を目指しました」（石坂氏）。

インテル® C++ Composer XE でベクトル化を含むコードの最適化を実行
NEC の超解像処理は、入力映像の隣接したフレーム間の差分を取り、両者の違いを「動き」として検出し、その動きを重ね合わせることで超高解像度を生成しています。入力映像のフレーる「インテル ® Xeon Phi ™ コプロセッサー」をムは、サブ・ピクセル・レベルまで分解している

H R 1 2 0 a - 1 」上で稼動する超解像処理プログラムの開発に 2012 年 9 月から着手しました。Express5800/HR120a-1 は、インテル®

がポイントとなりました。こうした中、プログラム

搭 載した x86 サーバー「E x p r e s s 5 8 0 0 /インテル ® プロセッサー用のプラグラムを最適化する
インテル ® C++ Composer XE

Xeon® プロセッサー E5-2600 製品ファミリーを最 大 2 基、PCI スロットにインテル ® Xeon

ため、分散処理を使っていかに高速化するかの開発で大きな貢献を果たしたのがインテルのコンパイラーです。NEC では「インテル ® C++

インテル® Xeon Phi™ コプロセッサーを利用したプログラムコードを最適化する、インテル® C++ Composer XE
Composer XE」を採用し、画像処理のベクトル化を含むコードの最適化を効率的に行いました。インテル® C++ コンパイラーを利用した開発について、石坂氏は次のように述べています。

ドを書き換え、並列化、最適化、チューニングを「自動ベクトル化の機能が効果的でした。通常これにより、1 時間の映像なら、リアルタイムに1 時間で処理することが可能となりました。入ならインテル ® Xeon® プロセッサーとインテル ®

Xeon Phi ™ コプロセッサーごとに手作業で行うベクトル化を、すべてコンパイラーに任せることができます。また、コンパイラーの最適化オプションを使うことで、キャッシュサイズなど細かなパラメーターを指定することなく最高のパフォーマンスを得ることができました」。
インテル® Xeon Phi™ コプロセッサーの「ネイティブモード」を活用したことも特筆すべきポイントです。ネイティブモードを使うと、インテル ® Xeon®
プロセッサー上で開発したプログラムを、再コンパイルするだけでインテル ® Xeon Phi ™ コプロセッサー上で動作させることができます。つまり、1 つのプログラム・ソース・コードを異なるプラットフォームで利用できることを意味しています。

行ったところ、入力映像と同じ 30fps での映像変換が実現。処理性能は従来比で 5 倍向上しています（図 1）。

力映像と並行して HD 映像が確認できるインパ

クトは大きく、放送局なら当日中に作業が終わり、監視カメラならその場で不審者を割り出すこともできます。

2 つ目の成果は、作業工数の短縮です。今回のプロジェクトでは、3 人の技術者が 1 カ月で開発を終えました。これは GPGPU を利用した同様の開発の 5 分の 1 で、大幅な開発工数の削減が実現したことを意味しています（図 2）。

作業効率を高めることができました。これは、プロセッサーごとにソースコードの書き換えが必

要な GPGPU と比較して大きなアドバンテージです」（石坂氏）。

並列処理を利用したプログラムにより入力映像のリアルタイム変換を実現
NEC は並列処理を利用した超解像処理プログラムの開発により、2 つの成果を得ることができました。1 つは高速処理、リアルタイム化のけて性能強化を図っていく方針です。

「Express5800/HR120a-1 の 製 品 版 に 搭載されるインテル ® Xeon Phi ™ コプロセッサー

5110P および 3100 製品ファミリーでの検証を継続しながら、プログラムのチューニング精度を高めていきます。こうした問題をクリアしていくことで、HD 映像よりさらに高精細な 4K2K映像に変換することも視野に入ってくるでしょう」（石坂氏）。

並列化処理は、映像分野以外でも金融系のシミュレーションや研究分野の数値解析などでもら対応分野を拡大していくとしています。最後

1 秒あたりの処理フレーム数［tps ］5倍の処

理性実を
能に石坂氏は、「インテル ® Xeon® プロセッサーとインテル ® Xeon Phi ™ コプロセッサーのプロ

現30［tps ］

106
インテル® Xeon®
E5-2670×2

インテル® Xeon®
E5-2670×2

インテル® Xeon®
E5-2670×2+
インテル® Xeon®
Phi™ SE10P
×2並列化 / ベクトル化 /性能チューニング前

並列化 / ベクトル化 / 性能チューニング後

図 1. 性能向上の成果（出典：日本電気株式会社）

移植・性能チューニング工数実現です。インテル ® Xeon® プロセッサーを単3 人の技術者がわずか 1 カ月で今回のデモを開発

独で搭載したサーバーでは、オリジナルソースコードのままフレームレート 30fps の入力映像並列処理によって超解像処理のリアルタイム化に成功した NEC では、今後も引き続き検証を続利用が可能であることから、ニーズを探りなが「プログラム・ソース・コードの共有化によって、性能チューニングやメンテナンスは 1 回で済み、4K2K 映像への変換を視野にチューニング精度の向上を推進

15※1を変換すると、6fps の性能を得るのが限界でした。今回 2 基のインテル ® Xeon Phi ™ コプロ［人月］

HR120a-1 の評価機に合わせてプログラムコーGPGPU

グラムコードの共通化によって開発効率を高めることができたように、移植性やスケーラビリティーの高いインテル製品に今後も期待しています」と語りました。

インテルは、製品強化を通して、引き続き NECの超解像技術を支援していきます。

インテル ® C++ Composer XE に関する詳しい情報は、下記のサイトをご覧ください。
h t t p : // w w w . i n t e l . co . j p / co n t e n t /w w w / j p / j a / d eve l o p e r / s of t w a re products.html
インテル ® C++ Composer XE を 30 日間無償でお試しいただけます。下記 URLのフォームからお申し込みください。
http://software.intel.com/en-us/intelsoftware-evaluation-center※2

セッサー SE10P を搭 載した Express5800/

3［人月］

インテル® Xeon®
+インテル® Xeon® Phi™

並列化 / ベクトル化 / 性能チューニング後※ 1 NEC 社内評価による推定値※ 2 NEC 社内評価による実績値

図 2. インテル ® Xeon Phi ™ コプロセッサーの高い開発生産性の実証（出典：日本電気株式会社）

日本電気株式会社
グリーンプラットフォーム研究所主任
石坂 一久 氏インテル ® コンパイラーは、互換マイクロプロセッサー向けには、インテル製マイクロプロセッサー向けと同等レベルの最適化が行われない可能性があります。これには、インテル ® ストリーミング SIMD 拡張命令 2（インテル ® SSE2）、インテル ® ストリーミング SIMD 拡張命令 3（インテル® SSE3）、ストリーミング SIMD 拡張命令 3 補足命令（SSSE3）命令セットに関連する最適化およびその他の最適化が含まれます。インテルでは、インテル製ではないマイクロプロセッサーに対して、最適化の提供、機能、効果を保証していません。本製品のマイクロプロセッサー固有の最適化は、インテル製マイクロプロセッサーでの使用を目的としています。インテル ® マイクロアーキテクチャーに非固有の特定の最適化は、インテル製マイクロプロセッサー向けに予約されています。この注意事項の適用対象である特定の命令セットの詳細は、該当する製品のユーザー・リファレンス・ガイドを参照してください。
この文書は情報提供のみを目的としています。この文書は現状のまま提供され、いかなる保証もいたしません。ここにいう保証には、商品適格性、他者の権利の非侵害性、特定目的への適合性、また、あらゆる提案書、仕様書、見本から生じる保証を含みますが、これらに限定されるものではありません。インテルはこの仕様の情報の使用に関する財産権の侵害を含む、いかなる責任も負いません。また、明示されているか否かにかかわらず、また禁反言によるとよらずにかかわらず、いかなる知的財産権のライセンスも許諾するものではありません。

Intel、インテル、Intel ロゴ、Xeon、Intel Xeon Phi は、アメリカ合衆国および / またはその他の国における Intel Corporation の商標です。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

インテル株式会社〒 100-0005 東京都千代田区丸の内 3-1-1
http://www.intel.co.jp/

2013 Intel Corporation. 無断での引用、転載を禁じます。
©2013
年 2月

328604-001JA
JPN/1302/PDF/SE/SSG/TT