ニュース
» 2008年09月11日 11時30分 UPDATE

4分が40秒に!──ペガシス、CUDA対応TMPGEncを披露

ペガシスは、NVISION 08で紹介されたCUDA対応版「TMPGEnc 4.0 XPress」のパフォーマンスを国内の関係者に紹介した。

[石川ひさよし,ITmedia]

コンシューマーユーザーに分かりやすい「CUDAのメリット」

kn_pega_01.jpg ペガシス代表取締役CEOの海老根崇氏

 ペガシスの代表取締役CEOを務める海老根崇氏と同社グローバル営業部部長の斎藤要氏によって紹介されたCUDA対応版「TMPGEnc 4.0 XPress」は、NVIDIAがいま力をいれて訴求している「GPUの汎用コンピューティングへの応用」を最も分かりやすく、かつ、コンシューマーユーザーが享受できる利用法として注目されている。

 CUDAは、NVIDIAのGPUを非グラフィックス分野の演算処理に利用するための開発環境で、ペガシスでは同社の動画のエンコーダーソフト「TMPGEnc 4.0 XPress」のCUDA対応版を開発し、これをNVISION 08で公開している。ペガシスでは、NVISION 08で公開した段階を「フェーズ1」としているが、フェーズ1において、ノイズリダクションやシャープネスなどのフィルタリング処理を行う「プリプロセッシング」までがGPUで処理される。現時点で実用化されているすべてのフィルタ、およびデコード処理がCUDAに対応しているという。今後の開発予定としては、フェーズ2と呼ばれる次の段階でエンコーディングのCUDA対応を進めるというプランがペガシスから示された。

 CUDAについて海老根氏は、「(ディスクリートグラフィックスのほか、マザーボードGPUなどでも利用されているNVIDIAのGPUを利用するので)ユーザーにとってより近い位置にCUDAが来るのではないか。状況によって、TMPGEnc 4.0 XPressの基幹部分であるエンコーダそのものもCUDA対応にしていけたらいいと思う」という期待を述べている。エンコーダ部分の対応時期については、「調査段階であって決定事項ではない」との前置きをしたうえで、「2009年」という目標が示された。

kn_pega_02.jpg 現時点のフェーズ1に続いて登場するのは、エンコードもCUDAに対応させたフェーズ2となる
kn_pega_03.jpg TMPGEncのインタフェース。CUDAの有効と無効のオプションはシステムのCUDA対応を自動で判断する。また、各フィルタに対して手動でCUDA、あるいはCPU処理を選択できる

“職人”にありがたい大幅な時間短縮が実現

 NVISION 08で紹介されたデモにおいて、処理を行うフィルタの種類によっては、CUDAよりもCPUが早くなることもあるという説明をされていたが、この点についても、ペガシスは処理の過程からその原因を解説した。それによると、映像ソースをシステムメモリ上に展開した後、CUDAを利用する場合には、展開したデータをGPUに転送する処理が入るが、ここで帯域によるボトルネックが生じてしまう。フィルタリング処理が重い場合、このボトルネックを吸収してなお速度的メリットがあるが、逆に、CPUで処理するのとあまり処理時間が変わらないかあるいはCPU処理のほうが早いほど処理が軽い場合は、ボトルネックが表面化してしまうとのことだ。もちろん、これに加えてCPU性能とGPU性能のバランスなども影響する。しかし「基本的にはほとんどの場合、GPU処理が数値としては勝っている」とのことだ。

 GPUよりCPUの処理が早いフィルタリング、または、GPU処理が早い場合フィルタリングの切り替えに関して、ペガシスでは「ユーザーに提供するバージョンでは、(CPU処理とGPU処理の切り替え)自動で行う」ことを検討している。その手法としては、「エンコードを開始した瞬間に、内部でCUDA側とCPU側に同じ処理を投げてベンチマークをとることでCUDAを使う使わないを自動判断する機能を実装しようと考えている」(海老根氏)と説明した。CUDAを利用する場合には、環境設定のGPUオプションから「CUDAの使用」を設定するが、現段階ではTMPGEnc 4.0 XPressがGPUのCUDAへの対応を判断し、同オプション項目の表示と非表示を切り替えている。

 国内で初めて披露された実際のCUDA対応版TMPGEncを使ったデモでは、CPUのみのエンコードとCUDAを用いたエンコードとの比較がCore 2 Duo Q6700(2.66GHz)にGeForce GTX 280を組み合わせたシステムを用いて行われた。使用した映像ソースは1440×1080ドット、15秒のHD映像で、720×480ドットのDVD SD映像へ変換して出力している。計測値は、CPUのみのエンコードが3分58秒なのに対してCUDAでのエンコードが41秒と、GPUによる処理が圧倒的に速くなることを紹介した。

kn_pega_04.jpg CPUによるエンコードは所要時間3分58秒
kn_pega_05.jpg CUDAによるエンコードは41秒。6分の1に短縮された

 なお、ほかのソフトウェアベンダーでもCUDAに対応したエンコーダが開発されており、ペガシスが開発を進めている製品よりもCUDA利用時におけるパフォーマンスが高いとの報告があるが、それに対して海老根氏は、インテルのマルチコアCPUにも「カリカリにチューン」しているためと説明している。

Copyright© 2018 ITmedia, Inc. All Rights Reserved.

この記事が気に入ったら
ITmedia PC USER に「いいね!」しよう