画質比較 2018.11 (実写版)

せっかくHEVCにBフレームの追加されたRTX2070を入手したので、画質比較を行ってみた。

なんか以前はアニメばっかりやっていたのだけど、実写もやってほしいみたいな話があったので、ssimでざっくり確認してみる。

アニメ版はこちら

環境・条件



テスト用の環境はこんな感じ。

x264/x265nvenc(1060)nvenc(2070)qsv(HSW)qsv(KBL)
CPUi9 7980xe i3 4130 i7 7700K
GPU - GTX1060 RTX2070 HDG 4400 HDG 630
ドライバ 416.34 5058 6326
OS Win10 x64


使用ソフト

x264 r2901 x64
x265 2.8+74 x64
NVEncC 4.22 x64
QSVEncC 3.11 x64

入力
sample_movie_1080p.mpg
MPEG2 1920x1080 29.97fps 5203frame

使用コマンド
なお、x264/x265では、今回入れてない--tune ssimを入れてssimに最適化したエンコをすることでさらにssim的には改善の余地があることに注意。

x264 medium
--crf <x>

x264 veryslow
--crf <x> --preset veryslow

x265 medium
--crf <x>

x265 veryslow
--crf <x> --preset veryslow

x265 medium 10bit
--crf <x> --input-depth 10 --output-depth 10

x265 veryslow 10bit
--crf <x> --input-depth 10 --output-depth 10 --preset veryslow

nvenc H.264
--vbrhq 0 --vbr-quality <x> --lookahead 32

nvenc HEVC
--vbrhq 0 --vbr-quality <x> --lookahead 32 -c hevc --level 5.1 --tier high

nvenc HEVC 10bit
--vbrhq 0 --vbr-quality <x> --lookahead 32 -c hevc --level 5.1 --tier high --output-depth 10

nvenc HEVC + Bframes
--vbrhq 0 --vbr-quality <x> --lookahead 32 -c hevc --level 5.1 --tier high -b 3

nvenc HEVC 10bit + Bframes
--vbrhq 0 --vbr-quality <x> --lookahead 32 -c hevc --level 5.1 --tier high --output-depth 10 -b 3

qsv H.264
--icq <x> -u 1

qsv HEVC
--icq <x> -u 1 -c hevc

qsv HEVC 10bit
--icq <x> -u 1 -c hevc --profile main10



画質比較結果 (ssim:Y)



縦軸SSIMが高いほど画質がよく、横軸ビットレートが小さいほど圧縮できているので、左上にいればいるほど良いことになる。

全データ (クリックで拡大)





多すぎてよくわかんないので、少しづつ見ていく。

まず、CPUエンコの比較。なお、--tune ssimを入れてないので、さらにssim的には改善の余地があることに注意。

特に低ビットレートではx265のほうが優位。ただまあ、もちろんその分エンコ時間がかかる。

x264のmediumからveryslowであまり変化がないのも面白い。x265のほうは、veryslowのほうがやや改善しているが、正直すごーく重くなったほどには…という感じがする。まあ、映像がエンコーダーをいじめるような映像も含んでいるので、圧縮の余地もあまりないのかもしれない。

CPUエンコ比較(クリックで拡大)




今度はnvenc同士の比較。Turingで大幅によくなっていることがわかる。同じ設定同士でも改善しているほか、待望のHEVC+Bフレームで特に大きく改善していて、GTX1060ではBフレームのないHEVCよりBフレームありのH.264のほうが優位だったのに、RTX2070ではBフレーム付きのHEVCの登場によってHEVCのほうが優位となっている。

nvenc同士の比較(Pascal vs Turing) (クリックで拡大)




qsv同士の比較。

地味にHaswelからKabylakeでH.264エンコーダーが改良されていることがわかる。

わりと謎な結果なのはHEVCで、H.264より悪化している…。

qsv同士の比較(Haswell vs Kabylake) (クリックで拡大)




最新のHWエンコ同士の比較。

H.264を比べると、低ビットレート側ではqsvのほうがよく、高ビットレートではnvencのほうが良い模様。

HEVCを加えると、nvencのBフレーム付きのHEVCが優位となっている。

nvenc(2070)とqsv(Kabylake)の比較 (クリックで拡大)




大きく改善したnvencだけど、さすがにx264に勝てるほどではなかったかなあ。でも、BフレームありのHEVCならあと少しでx264にも追いつけそう…なところまでは来ている。

まあ、x264/x265は--tune ssimによってssimに最適化みたいなこともできるので、まだまだ…かもしれないけど。

CPUエンコとnvencの比較 (クリックで拡大)




というわけで、Turingになって、全体的な画質の底上げにHEVCでもBフレームが使えるようになったことが加わって相当いい感じになってきた印象。

アニメ版に続く…。


スポンサーサイト



コメントの投稿

非公開コメント

No title

実写版の方だけ、グラフの画像が404になって見れないようです。

Re: No title

コメントありがとうございます。

どうやらうちで見えていたのはブラウザのキャッシュか何かに入っていたもののようです…。ひとまず一度グラフの画像を消して上げなおしました。

他のブラウザでも大丈夫なので、今度は大丈夫かと。

No title

見れました!対応ありがとうございます。

最大Bフレームを1~4まで指定できる場合、少ないのと(1とか2)多い(3とか4)場合とでどのような違いがありますか?
また、ゲームで切り替わりと動きの激しい60FPSゲームを最も高画質で録画する場合1~4のうちどれが一番よいのですか?

Re: タイトルなし

ちょっと最大Bフレームを変えたテストまではしていないので、なんとも申し上げられません…。今回の3は適当です。

No title

日本語が苦手、ごめんなさい。
The test is so cool!
BTW would you like to test the quality with AMD GPU using VCE?

Re: No title

こんにちは。

I have RX460, but it's quality is apparently poor than Haswell QSV and also slow. I would like to test NAVI once the lower SKUs are out.
プロフィール

rigaya

Author:rigaya
アニメとか見たり、エンコードしたり。
連絡先: rigaya34589@live.jp
github twitter

最新記事
最新コメント
カテゴリ
月別アーカイブ
カウンター
検索フォーム
いろいろ
公開中のAviutlプラグインとかのダウンロード

○Aviutl 出力プラグイン
x264guiEx 3.xx
- x264を使用したH264出力
- x264guiExの導入紹介動画>
- x264guiExの導入
- x264guiExのエラーと対処方法>
- x264.exeはこちら>

x265guiEx
- x265を使用したH.265/HEVC出力
- x265guiExの導入>
- x265.exeはこちら>

QSVEnc + QSVEncC
- QuickSyncVideoによるHWエンコード
- QSVEnc 導入/使用方法>
- QSVEncCオプション一覧>

NVEnc + NVEncC
- NVIDIAのNVEncによるHWエンコード
- NVEnc 導入/使用方法>
- NVEncCオプション一覧>

VCEEnc + VCEEncC
- AMDのVCE/VCNによるHWエンコード
- VCEEnc 導入/使用方法>
- VCEEncCオプション一覧>

svtAV1guiEx
- SVT-AV1によるAV1出力
- svtAV1guiExの導入>
- SVT-AV1単体はこちら>

VVenCguiEx
- VVenCによるVVC出力
- VVenCguiExの導入>

ffmpegOut
- ffmpegを使用した出力
- ffmpegOutの導入>


○Aviutl フィルタプラグイン
自動フィールドシフト (ミラー)
- SSE2~AVX512による高速化版
- オリジナル: aji様

clfilters 
- OpenCLベースの複数のGPUフィルタ集
- 対応フィルタの一覧等はこちら

エッジレベル調整MT (ミラー)
- エッジレベル調整の並列化/高速化
- SSE2~AVX512対応
- オリジナル: まじぽか太郎様

バンディング低減MT (ミラー)
- SSE2~AVX512による高速化版
- オリジナル: まじぽか太郎様

PMD_MT
- SSE2~AVX512による高速化版
- オリジナル: スレ48≫989氏

透過性ロゴ (ミラー)
- SSE2~FMA3によるSIMD版
- オリジナル: MakKi氏

AviutlColor (ミラー)
- BT.2020nc向け色変換プラグイン
- BT.709/BT.601向けも同梱

○その他
Amatsukaze改造版
- AmatsukazeのAV1対応版

rkmppenc
- Rockchip系SoCのhwエンコーダ

x264afs (ミラー)
- x264のafs対応版

aui_indexer (ミラー使い方>)
- lsmashinput.aui/m2v.auiの
 インデックス事前・一括生成

auc_export (ミラー使い方>)
- Aviutl Controlの
 エクスポートプラグイン版
 エクスポートをコマンドから

aup_reseter (ミラー)
- aupプロジェクトファイルの
 終了フラグを一括リセット

CheckBitrate (ミラー, 使い方, ソース)
- ビットレート分布の分析(HEVC対応)

チャプター変換 (使い方>)
- nero/appleチャプター形式変換

エッジレベル調整 (avisynth)
- Avisynth用エッジレベル調整

メモリ・キャッシュ速度測定
- スレッド数を変えて測定
- これまでの測定結果はこちら

○ビルドしたものとか
L-SMASH (ミラー)
x264 (ミラー)
x265 (ミラー)
SVT-AV1 (ミラー)

○その他
サンプル動画
その他

○読みもの (ミラー)
Aviutl/x264guiExの色変換
動画関連ダウンロードリンク集
簡易インストーラの概要

○更新停止・公開終了
改造版x264gui
x264guiEx 0.xx
RSSリンクの表示
リンク
QRコード
QR