ビデオコーデック・ベンチマーク2014夏
今回はほとんどのコーデックに更新が無いため特筆すべき点がAMV4ビデオコーデック以外ありません。テストは公平に行いますが、記事はAMV4ビデオコーデック中心となることをご了承ください。
おそらく集約命令(Gather命令)が実用化されることで他のコーデックの性能も上がってくると思うので、それまではこんな状態が続くと思います。
1.テスト内容と条件
ベンチマークはHD(1280*720)のビデオキャプチャおよびPC画面のキャプチャを想定しています。
適当なサンプル動画(未圧縮YUY2および未圧縮RGB32)を用意して、Ut Videoの作者である梅澤さんが公開しているVC Testを使って処理速度と、圧縮効果を測定します。
1.1.テスト内容
次のPCを使い、3つのサンプル動画それぞれのテストと、マルチスレッドによる処理速度のテストを行います。
1.2.PCスペック
OS | Windows8.1 x64 Professional |
CPU | Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz Haswell |
MB | ASRock H87 Performance (Intel H87) |
Memory | DDR3 1600 16GB(8GBx2 Dual Cannel)read=25.4GB/s write=14.8GB/s |
Software | Video Codec Test 2.0.0 |
備考 | CPUは4コア、8スレッド、HTT対応、AVX2対応。動作クロックを3.4GHz(定格)で固定し、省電力設定およびTurbo BoostはBIOSで無効化、動作クロックがテスト中に変動しないようにしています。 |
※ メモリーのread,writeはCrystalMark 0.9.114によるものです。
1.3.サンプル動画
タイトル | Mystery of the Nile |
情報 | 1280*720、2082frames、1分26秒、3,837,598,360Byte ![]() |
備考 | AviUtlを使ってYUY2未圧縮に変換。 動きが激しくて、画質も悪いため圧縮しにくい不利な条件のそろった動画によるテスト。 いつものベンチマークで使っている動画と同じものです。 |
タイトル | The LEGOR Movie - Official Main Trailer [HD] |
情報 | 1280*720、4321frames、3分00秒、7,964,559,144Byte ![]() |
備考 | youtubeから720p版をダウンロードしてAviUtlでYUY2未圧縮に変換 動きが少なく、画質もいいため圧縮しやすい有利な条件のテスト。 また、上下に黒帯が付いているので、黒帯部分で高い圧縮効果が得られるコーデックに有利となります。 |
タイトル | Street Fighter IV |
情報 | 1280*720、15820frames、4分23秒、58,319,119,660Byte ![]() |
備考 | ゲームのベンチマークソフトを1280x720、60fpsに設定して実行。 アマレコTVのウインドウキャプチャを使ってAMV2MT:R2の可逆圧縮で録画。 Virtual Dubを使ってRGB32未圧縮に変換。 PC画面を録画することを想定したRGB可逆圧縮のテストです。 参考動画 |
1.4.コーデック
コーデック名 | bit | 内容 | 設定 |
AMV2MT Video Codec Ver 2.20i | 32 | YUY2のテストでは「Y2標準可逆」を使用 RGB32のテストでは「R2標準可逆」を使用 ライセンス登録済(ロゴなし) | ![]() |
NEW AMV4 Video Codec Ver 4.00 | 64 | AVX2版を使用 ライセンス登録済(ロゴなし) YUY2のテストでは「DY2:標準可逆(速度)」 及び「DY3:高圧縮可逆(圧縮)」を使用 RGB32のテストでは「DR2:標準可逆(速度)」 及び「DR3:高圧縮可逆(圧縮)」を使用 | ![]() |
Huffyuv Ver 2.1.1 | 32 | Predict median(best) RGB32のテストではアルファチャネルが含まれます。 | ![]() |
NEW UT Video Codec Suite Ver14.2.0 | 64 | 「圧縮率優先」および 「デコード速度優先」の2パターンをテスト YUY2のテストでは「ULY2」を使用 RGB32のテストでは「ULRG」を使用 | ![]() |
Lagarith Lossless Video Codec Ver 1.3.27 | 64 | YUY2のテストでは「YUY2」を使用 RGB32のテストでは「RGB」を使用 | ![]() |
Alparysoft Lossless Video Ver 2.0 | 32 | lossless compression enable prediction realtime ロゴあり | ![]() |
CorePNG Ver 0.8.2 | 32 | 1-Fastest | ![]() |
NEW MLC Codec Ver 1.2 | 64 | Muximum speed Use Multithreading off | ![]() |
FastCodec Ver 1.0beta | 32 | Absolutely lossless | ![]() |
MSU Lossless Video Capture Ver 0.6.0 | 32 | Absolutely lossless Maximize speed RGB32には対応していない | ![]() |
※ bitはvctest-x86でテストしたものを「32」、vctest-x64でテストしたものを「64」としています。 両方用意されているコーデックでは64bit版を優先してテストします。
※ 規定の手順でWindows8にインストールできないコーデックを除外しました(Huffyuvだけは手動でインストールしてテストしています)。
2.結果
2.1.動きの激しい比較的低画質な実写映像
※ fpsは1秒間に何フレーム処理できるかを示し、数値が高いほど優れています。
※ compression ratio(圧縮効果)は未圧縮のデータに対し何分の1に圧縮できるかを示し。数値が大きいほど優れています。
圧縮効果の面でMLCが4.3と非常に優れています。
AMVビデオコーデックにとってはあからさまに不利な条件でのテストなので、圧縮効果の面で最下位。
処理は速いけど圧縮効果が低いコーデックと言った位置づけになります。
一方、AMV4のDY3は不利な条件でもそこそこの圧縮効果を発揮しています。
また、AMV4のデコード処理は大幅に高速化されていて、AMV2MT:Y2の527fpsに対しAMV4:DY2(AVX版)のデコード速度は1802fps(3.4倍)です。
そのほかでは、UT Video速度優先のエンコード処理がHuffyuvに肉薄しています。この部分は過去のベンチマークをみると徐々に差を詰めてきています。
2.2.動きの少ない高画質なCG映像
処理速度を見ると、大半のコーデックにおいてサンプル動画1のテストよりエンコード処理が早くなっている事が解ります。
多くのコーデックにおいて圧縮し易い映像では処理が早くなる傾向があるようです。
それに対しAMVビデオコーデックはサンプル1とサンプル2を比較してもエンコード処理の差はわずかとなっています。
AMVのエンコードには条件分岐処理が存在しないため映像の内容による処理時間の変動が起きにくい特徴があります。
次に圧縮効果の面をみると、MSUが18.1と突出しています。
そのほかは圧縮効果が5.0前後の集団と、10.0前後の集団(MLC、Lagarith、AMV4DY3)の2つに分かれます。
5.0前後の集団は映像の内容によらず5.0辺りから圧縮効果が伸び悩み、好条件であってもなかなか高い圧縮効果が得られません。
一方、10.0前後の集団は映像の内容によってはもっと高い圧縮効果が狙えます。
AMV4のDY3は二次圧縮を適用したことで、動きが少なかったり、単調な画像(グラデーションやべた塗りなど)、黒帯があるなどの条件において高い圧縮効果が狙えます。
| AMV2MT Y2 | AMV4 DY2 | AMV4 DY3 | 備考 |
Mystery of the Nile | 2.09 | 2.52 | 3.09 | WMV |
The Discoverers (IMAX) 720p | 4.13 | 4.16 | 4.95 | WMV |
The Book Thief Trailer | 4.32 | 4.95 | 7.37 | H264 |
RoboCop TRAILER 1 | 4.17 | 4.92 | 7.54 | H264 |
The LEGOR Movie | 5.35 | 5.93 | 9.44 | H264 黒帯あり |
Transformers 4 | 5.38 | 6.32 | 10.33 | H264 黒帯あり |
Veronica Mars | 7.09 | 7.72 | 13.66 | H264 黒帯あり |
2.3.ノイズが一切ないゲーム画面のキャプチャ
Huffyuvはアルファチャネルも処理しているため不利な結果となっています。
MSUはRGB24でないと使えないようです。
2.4.マルチスレッドによるテスト
最後に各コーデックをマルチスレッドに設定した場合の処理速度を観察します。
AMV4はSSE4.1版とAVX2.0版をテストしています。
カッコ内の数値はスレッド数(フレーム分割数)で、1となっているのはシングルスレッドで処理しています。
mは「マルチスレッドを使う」と言う項目が用意されているだけでスレッド数が不明のコーデックです。
テストにはサンプル動画1を使います。
Lagarithはマルチスレッドオプションを有効にすることで1.5倍程度fpsが向上しています。
MLCはマルチスレッドを有効にすることで約2倍fpsが向上。シングルスレッドでは720p 60fpsの録画は処理が間に合わず無理ですがマルチスレッドに設定することで可能性が出てきます。
UT Videoは分割数を増やす毎にfpsが上がっていくのがわかります。
4コア8スレッドのCPUによるテストなので、4分割あたりで頭打ちされるかと思いましたが、ハイパースレッドテクノロジーも有効に働くようです。
fpsが最も高くなるのはAMV2MTを8スレッドに設定した場合で2000fpsを超えます。
AMV4のAVX2版はSSE4版に対しエンコードで約1.4倍、デコードで約1.8倍の性能。128bitのSSEレジスタから256bitのAVXレジスタへ対応した効果が得られています。
- 関連記事
-
- 64bit版AMVビデオデコーダーを使って再生した場合のDirect Showグラフ
- AVX2対応 AMVデコーダー デモ版の追試
- AVX2って何? そしてAMV4ビデオコーデック
- AMV4ビデオコーデック 概要
- AMV4ビデオコーデック 内部仕様でみるAMV4とAMV2MTの違い
- AMV4ビデオコーデック ベンチマーク暫定版 SSE編
- AMV4ビデオコーデック ベンチマーク暫定版 もはや反則AVX2編
- ビデオコーデック・ベンチマーク2014夏
- AMV4ビデオコーデック オンラインヘルプ
- AMV2MTとAMV4の違い まとめ
- AMV4ビデオコーデックとアマレコTV Ver3.10公開
- AMV4ビデオコーデック Ver4.01 インストール関連修正
- メディアプレイヤークラシック(MPC)でYUY2の動画が再生できない
- AMV4ビデオコーデック Ver4.02 不具合修正
- AMV4のサンプル動画を再生するときのDirect Showグラフ
trackback
コメントの投稿