画質比較 2015.01

NVEncでHEVCに対応したので、
・NVEnc (H.264/AVC)
・NVEnc (H.265/HEVC)
・x264
・x265 8bit
・x265 10bit
で容量をそろえて画質比較してみる。

検証環境



環境1 (NVEnc)
Win8.1 x64
Intel Core i7 5960X @ (Core:4.4GHz, Uncore:3.8GHz)
ASUS X99 Deluxe
GeForce GTX 970
DDR4-2666, 16GB RAM, 15-15-15-36-1
NVIDIA グラフィックドライバ 347.25

環境2 (x264, x265, QSVEnc)
Win8.1 x64
Intel Core i7 4770K @ 3.9GHz
ASUS Z87 Gryphon
Intel HD Graphics 4600
DDR3-2400, 16GB RAM, 10-12-12-31-2
Intel ドライバ 10.18.10.3960

Aviutl 1_00
NVEnc 1_00 (347.25ドライバ)
QSVEnc 1.20 (3960ドライバ)
x264guiEx 2.24v3
x265guiEx 3.51
x264 8bit, x64 rev2525
x265 8bit/10bit, x64 1_4+409

ソース
この大空に、翼をひろげて FLIGHT DIARY オープニングムービー(Downloadできるやつ)
utvideo YUY2, 1280x720p, 30.00fps, 3140frmaes, 約1分45秒, 70.5MB

エンコード設定
NVEnc (H.264/AVC)
CQP 26:30:33, ref 3, bframes 3, gop-len 300, cabac, deblock, q-pel

NVEnc (H.265/HEVC)
CQP 24:31, ref 3, gop-len 300, q-pel

QSVEnc
LA-ICQ 34, TU 2:higher, LA-depth 30, LA-quality slow, ref 3, bframes 3, b-pyramid, gop-len 300

x264
--preset slower --crf 27_3 --qcomp 0.7 --aq-strength 0.2 --psy-rd 1:0.2 --keyint 300 --ref 4

x265 (8bit/10bit)
(8bit) --crf 22_9
(10bit) --crf 22_7
(共通)--preset slower --qcomp 0.7 --psy-rd 1.2 --keyint 300 --rd 3 --pmode



結果



ビットレート比較
compare_bitrate.jpg

だいたい1400kbps~1450kbpsぐらいにそろえた。


エンコード速度
compare_enc_speed.jpg


NVEncはたしかに速い。(※NVEncだけi7 5960X環境だというのもあります)

速いのだが…画質が…(後述)

ソフトエンコは、重めな設定にふったこともあり、やはり遅い。i7 5960Xを使えば、倍速にはできるが…。



画質比較 (1722frame目)



わかりにくい場合は別のタブで複数の画像を開いて、タブ切り替えで比べてみてください。

オリジナル
1722_original_20150125.png

NVEnc H.264/AVC 1396kbps
かなりぼけぼけの微妙な画質。輪郭の乱れもひどいし、背景のテクスチャも潰れまくってる。
1722_NVEnc_1_00_CQP_26_30_33_1396_20150125.png

NVEnc H.265/HEVC 1418kbps
正直驚いたのはこれ。HEVCだけど、BフレームなしなのにNVEncのH.264よりは良い画質だといえそう。ただ、あくまでNVEncのH.264との比較だし、髪の部分の妙なざわつきはかなり違和感がある。
1722_NVEnc_1_00_HEVC_CQP_24_31_1418_20150125.png

QSVEnc 1449kbps
背景のテクスチャはか少し潰れてしまっているが、違和感を感じる部分は少なく、すこしボケた程度におさまっている。
1722_QSVEnc1_27_LA-ICQ_34_1449_20150125.png

x264 1421kbps
さすがというべきか、かなり画質が保たれている。ただ、髪の色にまだ若干あやしい部分がある。
1722_x264_2525_crf_27_3_1421_20150125.png

x265 8bit 1431kbps
素晴らしい画質。劣化部分を探すほうが難しい。まあ、だいぶ遅いのでこのぐらいの画質じゃないと困る(笑)
1722_x265_1_4+409_crf_22_9_1431_20150125.png

x265 10bit 1436kbps
10bitもやってみたけど、若干の違いがあるほかは、8bitと比べてもよくわからない。
1722_x265_10bit_1_4+409_crf_22_7_1436_20150125.png



画質比較 (2160frame目)



オリジナル
2160_original_20150125.png

NVEnc H.264/AVC 1396kbps
結構残念。
2160_NVEnc_1_00_CQP_26_30_33_1396_20150125.png

NVEnc H.265/HEVC 1418kbps
Bフレームないのによく頑張っている。
2160_NVEnc_1_00_HEVC_CQP_24_31_1418_20150125.png

QSVEnc 1449kbps
すこしボケ気味だが、自然なかんじになっている。
2160_QSVEnc1_27_LA-ICQ_34_1449_20150125.png

x264 1421kbps
だいぶ健闘しているが、まだ破綻気味。
2160_x264_2525_crf_27_3_1421_20150125.png

x265 8bit 1431kbps
だいぶスッキリしてきれい。
2160_x265_1_4+409_crf_22_9_1431_20150125.png

x265 10bit 1436kbps
こういうところでは8bitより10bitのほうがきれいな気がする。
2160_x265_10bit_1_4+409_crf_22_7_1436_20150125.png



まとめ



NVEncのHEVCはBフレームなしでもある程度の画質があり、非常に速いようだ。ただ、QSVのICQ,LA-ICQのようなよいレート制御モードが無いため、CQPで戦わざるを得ず、QSVと比べると低い画質となってしまっている。

NVEncの利点としては、QSVと異なりGPUパワーをほぼ消費しないことだと思う。エンコードの一部をGPUで処理するQSVと異なり、NVEncはほぼ完全なハードウェア実装だと思われる。これはやっぱりNVIDIAらしくゲームのリアルタイム配信を想定していて、ゲームのパフォーマンスを下げないためなのだろう。Bフレームがないのも、Bフレームを入れると圧縮率は向上するけど、レイテンシーが増えてしまうため、とりあえずはなくてもいいかなという感じかもしれない。

QSVはGPUパワーを消費するけど、そのぶん実装の柔軟性が高く、ICQのような高度なレート制御が可能になってるんじゃないかと思う。Skylakeに載るかもしれないQSVのHEVCにも期待したい。…まあIntelの14nmとBroadwellが微妙な今、Skylakeほんとに今年出るのって話はあるけど。

ソフトウェアエンコのx264,x265は時間が掛かる分、圧倒的にきれいだ。この動画で1400kbps台はかなり厳しいと思うけど、特にx265はかなり画質がよく、さすがだと思う。あとは速度かなあ…重い設定とはいえ、いまは文字通り「桁が違う」遅さになっている。(x265のpreset mediumとかなら30fpsぐらいは行けると思うので、設定次第ではあるけど)

個人的にはグラデーションに強いx265の10bitを特に高速化してほしいなあ…。


スポンサーサイト



コメントの投稿

非公開コメント

No title

ゲームを可逆コーデックでキャプチャした後に、編集してエンコードしてる用途がメインだから、NVEncでも画質重視のモードなんかがあれば嬉しいんだけどなー
でもCPUより大幅に高速なのはやっぱり魅力的

No title

265の10bitはサポート外。
8bitで画質が安定するように作られてる。
プロフィール

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様

clcufilters 
- OpenCL/CUDAの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対応版

tsreplace
- tsの映像のみを置き換えて圧縮

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

fawutil
- FAW(FakeAACWave)⇔aac変換
- 二重音声の取り扱いにも対応

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