レビュー IvyBridgeのQSVで動画エンコードを試す | 雑雪帳

レビュー IvyBridgeのQSVで動画エンコードを試す

intel_corei5_3570k_40.jpg
intelのCoreシリーズSandyBridgeとIvyBridgeに搭載されているQuickSyncVideo(QSV)を用いた動画エンコードを試してみました。
比較用にx264も使って、どの程度QSVが使えるか調べたいと思います。

先にQSVの感想


IvyBridgeにアップグレードした目的の一つにQSVエンコードが有ったのですが、少し面倒というか万能ではないんだなぁというのが今の感想です。

ですがintel - Core i5 3570Kを導入 & レビューでも書きましたが、録画して不要な部分をカット、エンコード、YouTubeにアップロードする流れで、CPU使用率を低く抑え(他の作業に支障が無い)、画質もそこそこ、ファイルサイズもちょっと大きいけど許容できる、こうした用途だとQSVは非常に便利な機能です。
画質は設定を少し変更すると殆ど満足できるレベルですし、YouTubeの再エンコードを考えたら十分すぎる仕上がりです。今では便利すぎるのでQSVEnc以外使ってない感じです。

VirtuMVP経由の場合(FrapsやUt Video Codecのファイル)
1920x1080、30fpsの動画、30~40fps程度
1280x720、30fpsの動画、100~110fps程度
といった速度でエンコードが可能になっています。
環境


CPU : intel Core i5 3570K (3.4GHz)
MEM : 8GB (elixir W3U1600HQ-4G , 4GB x2)
VGA : HIS H687QN1G2M (Radeon HD 6870 1GB, Core 920MHz , Memory 1120MHz)
VGA Driver : Catalyst 12.10 (AMD OverDrive有効)
OS : Windows7 SP1 64bit
MB : ASUS P8Z77-V 及びGIGABYTE GA-Z77X-D3Hで確認

QSV (Quick Sync Video)


インテル公式ページによるとインテル® クイック・シンク・ビデオ - ビデオの作成、編集、共有
第2世代Core及び第3世代Coreに搭載されているテクノロジーで動画の変換速度が高速になりますよ、という技術らしいです。
H.264形式への変換には今までもGPU(GeForceのCUDAやRadeon)がアピールしていましたが、画質的にイマイチであることと、フリーソフトで使い勝手が良いソフトが無いという問題がありました。
今回取り上げるrigayaさんが開発したQSVEncは、フリーソフトのAviUtlでQSVが使える出力プラグインです。


Lucidlogix Virtu MVPのインストール


CPU内蔵のグラフィックスを利用し、マザーボードの映像出力端子を使う場合Virtu MVPのインストールは不要です。

マザーボードに搭載されているチップセットがintel Z68またはZ77で、VirtuまたはVirtuMVPに対応しているか確認して下さい。
H67およびH77の場合はVirtu経由のQSVに対応していません。
CPUはSandyBridge以降でQSVに対応しているモデルが必要、CeleronやPentiumブランドはQSVに完全対応では無いらしいです。
Pentium G2120 | インテル | 偉大なるIvyBridgeのフォースを得た、Pentium帝国の逆襲(;=゚ω゚)=333 何とQSVに対応します!(但し・・・) | ジグソー
爆安3500円!! Sandy Bridge世代のCeleron G440を速攻ベンチ!
OSもWindows Vista以降が必要です。

今回用いたドライバー
intel VGA Driver : Win7_64_152612 (Intel Media SDK Encoding Sample Version 3.5.811.41142)
Virtu Version : Lucidlogix VIRTU MVP 2.1.114 (2.1.114.22585)

lucidlogix with GPU Solution

PCI Express側のビデオカードにディスプレイを繋ぎ、Lucid Virtu MVPにAviUtlを登録、i-modeにチェックを入れるとQSVが使えるようになります。
qsv_settings_01.png


AviUtl


エンコードに使う編集ソフトとQSV、比較用のx264は上記のプラグインを用います。
QSVEncの導入方法はreadmeに詳しく丁寧に書かれています。
x264.exe : 0.120.2164.0
AviUtl : 0.99l

拡張 QSV 出力 0.06 by rigaya
qsv_default_setting.png
rigayaの日記兼メモ帳 QSVEnc

拡張 x264 出力(GUI) Ex (x264guiEx) 1.33 by rigaya
x264_gui_setting.png
rigayaの日記兼メモ帳 x264guiEx


720x480 30fps


エンコードに用いるファイル
qsv_file_720x480_30fps.png
画像サイズ : 720x480
フレームレート : 29.970fps (60000/2002)
フレーム数 : 5500
ビデオ圧縮 : Ut Video Codec YUV422 (ULY2) VCM x86

サンプリングレード : 48.000kHz
チャンネル数 : 2ch
オーディオ形式 : PCM

ファイル制御 : AVI/AVI2 File Reader
ビデオ展開形式 YUY2

リサイズフィルタ Ver.110417 (ResizeFilter.auf)で
サイズ : 852x480
輝度 : Spline36
色差 : Spline36
SIMD : SSE2
に変更

720x480_source_0000.jpg
720x480_30fps_source_clip.png
圧縮前のファイルから一部をクリッピングした箇所の画像、等倍サイズはpngだとファイルサイズが大きすぎるのでjpg

拡張QSV出力の設定画面から「品質」のみをqualityに変更
品質 : Quality
fps : 264.99 fps
bitrate : 2287.68 kbps
qsv_720x480_30fps_00.pngqsv_720x480_30fps_q1.png

同一箇所をAviUtlの再起動無しに、出力されるファイル名だけ変更して同一条件で出力
品質 : Quality
fps : 506.86 fps
bitrate : 2287.57 kbps
qsv_720x480_30fps_01.pngqsv_720x480_30fps_q2.png

同一箇所をAviUtlの再起動無しに「品質」のみをbalancedに変更
品質 : balanced
fps : 508.24 fps
bitrate : 2328.25 kbps
qsv_720x480_30fps_02.pngqsv_720x480_30fps_b1.png


同一箇所をAviUtlの再起動無しに「品質」のみをfastに変更
品質 : fast
fps : 502.61 fps
bitrate : 2413.50 kbps
qsv_720x480_30fps_03.pngqsv_720x480_30fps_f1.png


拡張 x264 出力(GUI) Exの設定画面からプリセットのロードで、速度を変更、プロファイルはmain、
シングルパス - 品質基準VBR (可変レート) 品質(Quality)を22に指定

速度 : medium
fps : 110.19 fps
bitrate : 1643.79 kb/s
x264_crf22_01_medium.pngx264_crf22_01_m1.png


速度 : fast
fps : 131.10 fps
bitrate : 1672.89 kb/s
x264_crf22_02_fast.pngx264_crf22_01_f1.png


速度 : faster
fps : 172.87 fps
bitrate : 1624.53 kb/s
x264_crf22_03_faster.pngx264_crf22_01_faster1.png


速度 : veryfast
fps : 239.51 fps
bitrate : 1583.99 kb/s
x264_crf22_04_veryrfast.pngx264_crf22_01_vf1.png


速度 : superfast
fps : 327.45 fps
bitrate : 2326.68 kb/s
x264_crf22_05_superfast.pngx264_crf22_01_sf1.png


720x480 30fpsの感想
720x480,30fpsのファイルを、リサイズで852x480に変更のみだけ、という単純なエンコードではQSVも速いですがx264のveryfastでも十分な速度を確保できるので、エンコード中のCPU使用率を気にしないのであればQSVじゃなくて普通にx264で圧縮した方が良いかも。
とは言え260fpsと高速にエンコード出来るのは素晴らしい。

ビットレートの部分でもQSVはx264のsuperfast程度まで上がってしまうので低ビットレートで綺麗に…というのは現状難しく感じます。
またQSVで一度エンコードした箇所を、品質だけ変更すると何故か速度とCPU使用率が上昇する謎な状況で、テストとして不十分な結果になってしまいました。

こういったファイルでQSVは、
・ビットレートは高めでも気にしない
・CPU使用率は抑えたい
という状況なら有効ではないかなぁと。
次に1280x720のファイルで試します。


1280x720 30fps


エンコードに用いるファイル
1280x720_30fps.png
画像サイズ : 1280x720
フレームレート : 29.970fps (60000/2002)
フレーム数 : 6876
ビデオ圧縮 : Ut Video Codec YUV420 (ULY0) VCM x86

サンプリングレード : 48.000kHz
チャンネル数 : 2ch
オーディオ形式 : PCM

ファイル制御 : AVI/AVI2 File Reader
ビデオ展開形式 YUY2

encode_test_source.jpg
encode_test_source_0000.png
圧縮前のファイルから一部をクリッピングした箇所の画像、等倍サイズはpngだとファイルサイズが大きすぎるのでjpg

拡張QSV出力の設定画面から「品質」のみをqualityに変更
(先にQSVのbalance設定でエンコードしたため、正しいfpsでは無い)
品質 : Quality
fps : 236.20 fps
bitrate : 4752.18 kbps
qsv_1280x720_30fps_q1.pngqsv_1280x720_30fps_q1_0000.png


同一箇所をAviUtlの再起動無しに「品質」のみをbalancedに変更
(この設定がQSV利用最初のエンコードだったので、このfpsが正しい可能性が有ります)
品質 : balanced
fps : 136.27 fps
bitrate : 4787.86 kbps
qsv_1280x720_30fps_b1.pngqsv_1280x720_30fps_b1_0000.png

同一箇所をAviUtlの再起動無しに、もう一度エンコード
品質 : balanced
fps : 234.70 fps
bitrate : 4787.86 kbps
qsv_1280x720_30fps_b2.pngqsv_1280x720_30fps_b2_0000.png

同一箇所をAviUtlの再起動無しに「品質」のみをfastに変更
品質 : fast
fps : 226.19 fps
bitrate : 5124.07 kbps
qsv_1280x720_30fps_f1.pngqsv_1280x720_30fps_f1_0000.png


拡張 x264 出力(GUI) Exの設定画面からプリセットのロードで、速度を変更、プロファイルはmain、
シングルパス - 品質基準VBR (可変レート) 品質(Quality)を21に指定

速度 : medium
fps : 47.06 fps
bitrate : 4509.14 kb/s
x264_crf21_01_m1.png264_1280x720_30fps_m1_0000.png

速度 : fast
fps : 56.92 fps
bitrate : 4540.24 kb/s
x264_crf21_02_f1.png264_1280x720_30fps_f1_0000.png

速度 : faster
fps : 76.35 fps
bitrate : 4380.60 kb/s
x264_crf21_03_faster1.png264_1280x720_30fps_faster1_0000.png

速度 : veryfast
fps : 112.31 fps
bitrate : 4171.31 kb/s
x264_crf21_04_vf1.png264_1280x720_30fps_vf1_0000.png

速度 : superfast
fps : 152.70 fps
bitrate : 6934.33 kb/s
x264_crf21_05_sf1.png264_1280x720_30fps_sf1_0000.png

1280x720 30fpsの感想
1280x720,30fpsのファイルを、そのままエンコードするだけの比較を行いました。
QSVエンコードは720x480と傾向は似ていて、

・エンコード速度はx264のveryfastとsuperfastの中間くらいで136fpsと高速
・ビットレートが大きくなりがち
・ビットレートの割に暗所や細かい部分のディティールが失われがち
・QualityやBalancedに比べFastはエンコード速度が殆ど変わらないのに画質が落ちる
という印象を受けました。

今回はQSVのエンコードもデフォルト設定から何もいじっていませんが、このままの設定で画面上に大量のオブジェクトが飛散するような動画をエンコードした所、かなり画質的に厳しい動画が出来上がりました。
(画面の一部が引っかかるような動画に)
VBRでビットレート高めにすると、見られるレベルの動画になりましたが、x264の様に、ある程度決まったエンコードに対するパターンを考える必要がありそうです。

参考サイト


rigayaの日記兼メモ帳 P67なんて、要るわけない

AnandTech - The Intel Ivy Bridge (Core i7 3770K) Review
nVidiaのKepler世代に搭載されているNVENCと、AMD HD7000世代に搭載されているVCEを用いたトランスコードの比較記事が掲載されています。

関連記事
スポンサーサイト

Comment

承認待ちコメント
このコメントは管理者の承認待ちです
  • 2015/12/06 06:09
Comment Form
公開設定

Trackback


→ この記事にトラックバックする(FC2ブログユーザー)
Copyright © 雑雪帳 All Rights Reserved. 
  • Designed by Fons