フィルタとスムージングフィルタを組み合わせた「疑似モスキートNRフィルタ」を紹介しましたが、従来よりあった本家スムージングフィルタにSIMD命令(SSE2やSSSE3)で改良を施した「スムージングフィルタSIMD」が一週間前、BeanのAviUtlプラグイン置き場さんで公開されました。使用してみたところ、体感できるほど処理は速くなっているのですが、実際にどの程度高速化したのか明確な数値を採るため処理ベンチマークを行ってみました。SSSE3版で2.5倍、SSE2版も約2.4倍の高速化を達成テストは「スムージングフィルタSIMD」のみの処理速度と、低周波成分保護フィルタを組み合わせた「疑似モスキートNR」処理の2種で行い、それぞれ同様のソース条件でSSSE3版、SSE2版、本家版を実行。2種の処理ともに本家フィルタを大幅に凌ぐ処理速度を発揮し、SSSE3版にいたっては約2.5倍ほど高速になっています。ReaderにてAviUtlに渡します。出力はNULL出力プラグインで行い、ファイル入出力ともにストレージへの実アクセスによるオーバーヘッドをほぼ無くしています。映像の複雑さや時間軸(動き等)で処理速度が大きく変動するフィルタではないため、このようにしました。この入出力処理における基本スループット(フィルタ全OFF。ストリームコピーではない)は約336fpsです。v0.3b(SSE2/SSSE3版同梱)テスト結果は以下のとおりです。【テスト結果】スムージングフィルタのみ処理に費やした時間から速度をフレームレートとして算出。本家スムージングフィルタは約34fps程ですが、スムージングフィルタSIMDはSSE2/SSSE3版双方ともに80fpsを超える圧倒的な処理速度を見せつけました。この速度差は、本家フィルタの約2.5倍前後に達します。CPUのロードアベレージも本家・SIMD版ともに殆ど同じことから、積極的にSIMD化した効果が出ているといえそうです。5100シリーズ以降のプロセッサをお持ちの方は、SSSE3版を使用したほうがちょっぴり幸せかもしれませんが(ほんの数%程度ですが)、AMD系CPUはSSSE3非対応ですので、自ずとSSE2版を使うことになるでしょう。近日リリース予定のコードネームBulldozerコアプロセッサ(FX-8150など)はSSSE3/SSE4.x/AVX命令対応となっています。【テスト結果】スムージングフィルタ+低周波成分保護フィルタ低周波成分保護フィルタの処理が入るため、フィルタ単体よりも速度は低下しますが、それでも本家フィルタのみで処理をした場合の2倍近くも速く、疑似モスキートNRとしてフィルタリングしてもあまり重く感じないレベルに改善されています。実際には、他のフィルタや後段のエンコーダがCPUリソースを奪い合うため、本家とSIMD版の速度差は多少縮まると思いますが、データを受けて処理を終えるまでの時間が短い(処理が速い)に越したことはないため、スムージングフィルタ単体や疑似モスキートNRを利用している人には嬉しいSIMD化・改良といえそうです。17:23初めまして、動画編集の勉強中にここにたどり着いた者です。今回の記事についてではなく、前サイトの09/06/04について質問があるのですが、ログの方にはコメント出来ないのでここに書きました。場違いでしたら削除をお願いします。「◇C.YUY2ソース(BT.709)→AviUtlのBT.709色域入力→AviUtlのBT.601色域出力→YUY2(BT.601)保存」についてなのですが、これはリサイズして縦719以下にする場合は問題ないのでしょうか?(調べたところSD解像度ではBT.601を使うとあったため)それとも、縦719以下にリサイズするにしてもソースがBT.709の場合は「◇B.YUY2ソース(BT.709)→AviUtlのBT.709色域入力→AviUtlのBT.709色域出力→YUY2(BT.709)保存」が正解なのでしょうか?色域について調べてもいまいち理解できないところがあり、質問させていただきました。よろしければお答えをお願いします。08:19勉強中さんはじめまして。以前の記事にコメント欄がないのはこちらの不備ですので、ここでも結構です。・「AviUtlの出力色域は出力ファイル(映像)の色域を指定」と分けて考えると良いかもしれません。入力ソースがBT.709であれば、AviUtlの入力色域もBT.709にします。このとき、出力解像度を意識する必要はまったくありません。・出力解像度が縦720以上であれば「AviUtlの出力色域をBT.709」にセットしておくのが無難でしょうか。勉強中さんの質問からすると、どうやら縦719以下(SDクラス)の解像度で出力されるようですので、AviUtlの設定は入力BT.709、出力BT.601で良いかと思われます。———-ここからは補足ですので読み飛ばしていただいて結構ですが、色域は解像度で決められているわけでないため、HD映像ソースだからBT.709、SD映像ソースだからBT.601と決めつけられない部分があります(ややこしいのですが)。日本の地デジ放送についても解像度に関係なくBT.709であったり(HDだけでなくSD送信(*1)もBT.709)、ゲーム等の映像をPV3やPV4でキャプチャした映像は解像度に関係なくBT.601になります。この辺りは、放送規格(ARIB)やコーデックの仕様を把握しておくことで対処できますので、勉強中さんがご自身で「どういう機器(またはコーデック)でどの映像を扱っているのか」という点さえ把握されていれば問題ないと思います。不明な点がありましたら、遠慮無くご質問ください~。22:48わかりやすい解答ありがとうございます。補足にある地デジからのエンコで悩んでおりました。動画関連でも特に色調空間(と言うか色の扱い全部)について知識不足でして、現在勉強中です。POPさんの書く記事は全体的にわかりやすくてすごく助かっています。今の私には少しレベルが高いことが多いですが...それでは、重ねてですがありがとうございました。これからの記事も楽しみにしています。コメントは閉じられています。