TMPGEnc 4.0 XPress にて NVIDIA CUDA 2.0 を使用したエンコード時間比較

池の鳥
池の鳥(高松公園

先日、ノイズの多い映像を TMPGEnc 4.0 XPress にてエンコードすることがありました。ノイズが多いので、ノイズ除去や輪郭強調などのフィルターをかけたのですが、フィルターをたくさんかけると当然のことながらエンコード時間がとんでもなく延びてしまいます。
そこで TMPGEnc 4.0 XPress に先頃実装された NVIDIA CUDA 2.0 の機能を使ってみようと思い立ったわけで、どのくらい効果があるのか調べてみました。

測定条件

以下の条件で、ソース映像1分(MPEG-2)のエンコード時間をCUDAのオプションを変えて比較。


NVIDIA CUDA 2.0 の設定の「フィルタリングにCUDAを使用する」「ハードウェア映像デコーダーを使用する」の組みあわせを変えて測定する。

測定結果

3回くらいの平均を取ればより正確なのでしょうが、1回のみの結果です。

使用フィルタ:インターレース解除、映像クロップ、映像ノイズ除去、輪郭強調×2、映像シャープネス、スマートシャープ

フィルタリングにCUDAを使用する:ON
ハードウェア映像デコーダーを使用する:ON
エンコード時間:2分46秒
フィルタリングにCUDAを使用する:ON
ハードウェア映像デコーダーを使用する:OFF
エンコード時間:2分30秒
フィルタリングにCUDAを使用する:OFF
ハードウェア映像デコーダーを使用する:ON
エンコード時間:4分20秒
フィルタリングにCUDAを使用する:OFF
ハードウェア映像デコーダーを使用する:OFF
エンコード時間:4分03秒(CUDA未使用)

使用フィルタ:インターレース解除

フィルタリングにCUDAを使用する:ON
ハードウェア映像デコーダーを使用する:ON
エンコード時間:1分20秒
フィルタリングにCUDAを使用する:ON
ハードウェア映像デコーダーを使用する:OFF
エンコード時間:1分04秒
フィルタリングにCUDAを使用する:OFF
ハードウェア映像デコーダーを使用する:ON
エンコード時間:1分18秒
フィルタリングにCUDAを使用する:OFF
ハードウェア映像デコーダーを使用する:OFF
エンコード時間:1分04秒(CUDA未使用)
なお、「NVIDIA CUDA 2.0 使用」のチェックボックスをOFFにした場合は、「フィルタリングにCUDAを使用する」「ハードウェア映像デコーダーを使用する」が両方ともチェックが外れるが、「フィルタリングにCUDAを使用する:OFF、ハードウェア映像デコーダーを使用する:OFF」の結果と同一であった。

結論

測定結果から、フィルターの処理には断然CUDAが有利である。また、ハードウェア映像デコーダーを使用した場合は、大幅に処理時間が延びてしまう。ここは、GPUとCPUの性能のバランスで違ってくると思われる。最近の GTX295 などを使用した場合、どの程度改善されるのか気になるところ。
従って、現在の環境で、CUDA 2.0 の設定はフィルターの有無にかかわらず、
フィルタリングにCUDAを使用する:ON
ハードウェア映像デコーダーを使用する:OFF
で行こうと思います。
○参考リンク
株式会社ぺガシス:TMPGEnc 4.0 XPress 注目の新機能
TMPGEnc 4.0 XPress CUDA機能 体験版 チュートリアル
株式会社ぺガシス