このページの本文へ

GeForceでTMPGEncが4倍速くなる!?

2008年09月10日 21時55分更新

文● 小西利明/トレンド編集部

  • この記事をはてなブックマークに追加
  • 本文印刷
NVIDIAの最強GPU「GeForce GTX 280」

NVIDIAの最強GPU「GeForce GTX 280」は、強力なグラフィックスだけでなく汎用並列演算プロセッサーとしてもずば抜けた性能を発揮する

 グラフィックスチップ(GPU)を、汎用の高速並列演算プロセッサーとして使う「GPUコンピューティング」。特にNVIDIAはこの分野に注力し、同社のGPU「GeForce」シリーズを利用する技術「CUDA」の開発と、普及促進に尽力している(関連記事1)。

 従来ならスーパーコンピューターを使っていたようなヘビー級科学技術演算を、比較的安価なGPUベースのシステムで実現しようという方向性で語られることの多いGPUコンピューティングだが、実はコンシューマーにも無縁の技術ではないのをご存じだろうか?

「TMPGEnc 4.0 Xpress」のCUDA対応版

GeForce 8/9シリーズを使って高速にエンコード処理が行なえるようになる「TMPGEnc 4.0 Xpress」のCUDA対応版

 10日にNVIDIAが開催した記者説明会では、日本で最も名高いビデオエンコードソフトである「TMPGEnc」シリーズの、CUDA対応版についての説明とデモが披露された。なんとGeForce側で演算処理を行なうことで、CPUでのエンコード処理の400%も速く処理を行なえるというのだ!


TMPGEncのフィルタリング処理をGPUで

 ペガシス代表取締役の海老根 崇氏による説明では、TMPGEncのCUDA対応についての概要とスケジュールなどが明かされた。

TMPEncのCUDA対応スケジュール

TMPEncのCUDA対応スケジュール(予定)。現在のフェーズ1では、フィルタリング処理などがCUDAにより高速化されている。エンコード本体は2009年予定のフェーズ2

 現在CUDA対応版が開発されているのは、ビデオエンコードソフト「TMPGEnc 4.0 Xpress」。海老根氏は現在の開発段階をフェーズ1と呼び、TMPGEncのCUDA対応の第一段階にあるとした。

 フェーズ1でCUDA対応を進めているのは、TMPGEncのエンコードプロセスの中の「フィルタリング」と「デコーディング」の部分。フィルタリングでは、「デインターレース」や「ノイズリダクション」「リサイズ」など、元画像に加える処理を担当する。これらは現在CPUで処理をしているが、非常に負荷の高い処理であり、GPUで処理することで大幅な高速化が見込めるという。

フィルタリング部分がGPUを使用することで劇的に高速化される

ビデオ映像にリサイズやシャープネスを加える「フィルタリング」部分が、GPUを使用することで劇的に高速化される

 海老根氏はCUDA対応の利点として、C言語ベースでの開発が可能なので、開発者の学習にかかるコストが低いことを挙げた。CUDA対応TMPGEncの場合、CUDAの学習を含めて3ヵ月程度でできたといい、習得の容易さを称えていた。

 続くフェーズ2では、エンコード処理本体のCUDA対応を検討している。素人考えでは「エンコード部分を真っ先にCUDA対応した方がいいんじゃないか?」と思うが、CUDA対応版TMPGEncでのデモを担当した、同社グローバル営業部の齋藤 要氏は、GPUによる処理はフィルタリングのような重い演算処理ほど適していると述べる。TMPGEncが備えるフィルタリング処理は、すべてCUDA対応が完了しているという。一方で、エンコード本体はCPUとGPUのどちらで処理した方が速いか不明な点もあるとのことで、比較検討を進めているとのことだ。

CUDA対応TMPGEncの設定画面のイメージ(右はその拡大)。現在はチェックボックスでGPUの使用をオン/オフするが、正式版では自動で判断するようになる予定

 CUDA対応TMPGEncの開発版には、環境設定に「CPU/GPU設定」という項目があり、NVIDIAのCUDA対応GPUの存在を検出すると、「nVIDIA CUDA 2.0 使用」というチェックボックスが有効になる。さらに現在は、フィルタリングとデコーダーにGPUを使うチェックボックスがある。

 負荷が軽い処理の場合は、GPUで行なうよりもCPUでそのまま処理した方が速い場合もあるため、ユーザー自身がGPUの使用をオン/オフできるようにしているとのことだ。正式版がリリースされるときには、GPUを使うかCPUを使うかを、TMPGEnc側で簡単なベンチマークテストを行ない、速い側で処理を行なうように自動化するという。


GeForce GTX 280はCore 2 Quadの5.8倍速い!?

 デモでは1440×1080ドット・15分のHDV映像を、DVD解像度へリサイズしながら再エンコードする処理をCPUとGPUでそれぞれ行ない、何分で処理を終えられるかが比較された。デモ機はCPUにCore 2 Quad Q6700(2.66GHz)、GPUにはGeForce GTX 280を使用している。

 CPUによる変換処理は3分58秒かかったのに対して、GTX 280による処理は41秒で終わってしまった。つまり、GPUはCPUより5.8倍も速く変換処理を終えられたわけだ。CPUのクロックを上げたりコア数を増やすだけでは、これだけの高速化は難しい。この速さは驚きだ。

Core 2 Quad Q6700(左)とGeForce GTX 280による変換処理時間対決。CPUが4分弱かかったのに対して、GPUはわずか41秒で終えた

 齋藤氏らの話によると、TMPGEncはインテルCPUに対して高度に最適化されているため、前述のように処理によってはCPUで行なった方が速い場合もあるという。メインメモリー上に展開されたビデオデータをGPU側に転送する処理は、バスインターフェースの転送レートに左右されるので、軽い演算処理ならCPUで行なう方が速いケースも出てくるとのことだ。フィルタリングの演算処理そのものは、どの処理もGPUで行なった方が速いという。

 いずれにしても、CUDA対応GeForceとTMPGEncの組み合わせがあれば、変換処理に数時間を要するような作業が劇的に速くなると期待できそうだ。正式版の提供時期については明言されなかったが、既存のTMPGEnc 4.0 Xpressに対する無償アップデータの形で提供されるとのこと。TMPGEncユーザーは期待して待とう!

カテゴリートップへ

注目ニュース

ASCII倶楽部

プレミアムPC試用レポート

ピックアップ

ASCII.jp RSS2.0 配信中

ASCII.jpメール デジタルMac/iPodマガジン