SSE2/SSSE3命令で改良された「スムージングフィルタSIMD」は従来より2倍以上高速

 先日、低周波成分保護フィルタとスムージングフィルタを組み合わせた「疑似モスキートNRフィルタ」を紹介しましたが、従来よりあった本家スムージングフィルタにSIMD命令(SSE2やSSSE3)で改良を施した「スムージングフィルタSIMD」が一週間前、BeanのAviUtlプラグイン置き場さんで公開されました。

使用してみたところ、体感できるほど処理は速くなっているのですが、実際にどの程度高速化したのか明確な数値を採るため処理ベンチマークを行ってみました。

SSSE3版で2.5倍、SSE2版も約2.4倍の高速化を達成

 テストは「スムージングフィルタSIMD」のみの処理速度と、低周波成分保護フィルタを組み合わせた「疑似モスキートNR」処理の2種で行い、それぞれ同様のソース条件でSSSE3版、SSE2版、本家版を実行。2種の処理ともに本家フィルタを大幅に凌ぐ処理速度を発揮し、SSSE3版にいたっては約2.5倍ほど高速になっています。

  • テストソースとその環境
  •  1フレームの1440x1080/YUY2映像をAviSynthで読み込み、それを4,000フレームに増やしつつAvisynth Script File ReaderにてAviUtlに渡します。出力はNULL出力プラグインで行い、ファイル入出力ともにストレージへの実アクセスによるオーバーヘッドをほぼ無くしています。映像の複雑さや時間軸(動き等)で処理速度が大きく変動するフィルタではないため、このようにしました。

    なお、この入出力処理における基本スループット(フィルタ全OFF。ストリームコピーではない)は約336fpsです。

  • PC構成とテストフィルタ
  • CPU : Intel Core i5-2500K 3.7GHz(TBによる周波数変動を無効化するため100MHz×37倍に固定)
    Memory : DDR3-1333 4GB×2(8GB)
    OS : Windows7 Professional 64bit
    AviUtl 0.99j
    スムージングフィルタVer0.3(本家)
    スムージングフィルタSIMD v0.3b(SSE2/SSSE3版同梱)

    テスト結果は以下のとおりです。

    【テスト結果】スムージングフィルタのみ

     処理に費やした時間から速度をフレームレートとして算出。本家スムージングフィルタは約34fps程ですが、スムージングフィルタSIMDはSSE2/SSSE3版双方ともに80fpsを超える圧倒的な処理速度を見せつけました。この速度差は、本家フィルタの約2.5倍前後に達します。

    また、CPUのロードアベレージも本家・SIMD版ともに殆ど同じことから、積極的にSIMD化した効果が出ているといえそうです。

    スムージングフィルタ(本家) 34.453fps  
    スムージングフィルタSIMD(SSE2) 83.682fps  
    スムージングフィルタSIMD(SSSE3) 86.207fps  
      高速 →

    若干ですがSSSE3版のほうが速いため、Intel Core2以降またはXeon 5100シリーズ以降のプロセッサをお持ちの方は、SSSE3版を使用したほうがちょっぴり幸せかもしれませんが(ほんの数%程度ですが)、AMD系CPUはSSSE3非対応ですので、自ずとSSE2版を使うことになるでしょう。

    なお、近日リリース予定のコードネームBulldozerコアプロセッサ(FX-8150など)はSSSE3/SSE4.x/AVX命令対応となっています。

    【テスト結果】スムージングフィルタ+低周波成分保護フィルタ

     低周波成分保護フィルタの処理が入るため、フィルタ単体よりも速度は低下しますが、それでも本家フィルタのみで処理をした場合の2倍近くも速く、疑似モスキートNRとしてフィルタリングしてもあまり重く感じないレベルに改善されています。

    スムージングフィルタ(本家) 29.585fps  
    スムージングフィルタSIMD(SSE2) 60.150fps  
    スムージングフィルタSIMD(SSSE3) 61.924fps  
      高速 →

    実際には、他のフィルタや後段のエンコーダがCPUリソースを奪い合うため、本家とSIMD版の速度差は多少縮まると思いますが、データを受けて処理を終えるまでの時間が短い(処理が速い)に越したことはないため、スムージングフィルタ単体や疑似モスキートNRを利用している人には嬉しいSIMD化・改良といえそうです。

  • リンク
  • スムージングフィルタ(がらくたハウスのがらくた置き場:本家)
    スムージングフィルタSIMD(BeanのAviUtlプラグイン置き場)
    低周波成分保護フィルタ (スキマ産業)

    コメントを残す

    メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

    × 5 = 5