FC2ブログ
 

AMV4ビデオコーデック 内部仕様でみるAMV4とAMV2MTの違い

AMV4とAMV2MTの違いを内部仕様で比較しながら、AMV4ビデオコーデックがどんなコーデックになるか紹介します。

表1.AMVビデオコーデックの内部仕様
 AMV2MTAMV4
 Y2標準可逆Y3標準DY2標準可逆DY3高圧縮可逆
圧縮パターン4648
参照箇所1112
参照距離遠い遠い近い近い
二次圧縮無し無し無し有り
画質可逆非可逆可逆可逆
マルチスレッド最大8最大8非対応1非対応1
拡張命令SSE2SSE2SSE4.1
AVX2.0
SSE4.1
AVX2.0
黄色は変更箇所

表2.性能
 AMV2MTAMV4
 Y2標準可逆Y3標準DY2標準可逆DY3高圧縮可逆
圧縮効果低い高い Y2より高いY3より高い
処理速度SSE速い普通Y2より速いY3とほぼ同じ
処理速度AVX2--もっとも速いY2より速い



【圧縮パターン】
「どのように圧縮するか」といった圧縮パターンの数。
パターン数が多いほど好条件で圧縮できる可能性があがるため高い圧縮効果が得られます。

【参照箇所】
基本的には左に位置する画素、または1フレーム前の同じ位置の画素のどちらか一方を参照して処理します。
DY3ではキーフレームの場合、左と上の二箇所、差分フレームの場合は左と1フレーム前の同じ位置の二箇所を参照して処理します。
参照箇所が多いほど好条件を選択できるため高い圧縮効果が得られます。

【参照距離】
フレーム内の画素を参照する際の距離(何画素離れたデータを参照するか)です。
近いデータを参照するほどデータの相関関係が強まるため圧縮効果が高くなります。
Y2,Y3では最大で8画素離れたデータを参照します。遠いデータを参照してしまうため圧縮効果は低めになります。
DY2,DY3は常に隣の画素を参照するため、参照距離は常に1となり、高い圧縮効果が得られます。

【二次圧縮】
一度圧縮したデータを再度圧縮します。主に動きの少ない部分や単調なデータの圧縮効果が非常に高くなります。
処理がとても遅くなるためAMV2MTでは処理速度より圧縮効果を優先するY4高圧縮にのみ適用していましたが、AMV4では大幅に処理速度が向上するためDY3に適用しました。

【画質】
AMV4ではDY3も可逆になります。

【マルチスレッド】
CPUリソースを複数使うことで処理時間を短くします。その代りCPUへの負荷は増えます。
AMV2MTはマルチスレッドで処理することができましたが、マルチスレッドで処理するメリットはありませんでした。
AMV4はさらに処理速度が向上するためシングルスレッドでも十分リアルタイム処理が可能となります。そのためマルチスレッドでの処理を廃止します。

【拡張命令】
AMV2MTはSSE2までの拡張命令を使って処理します。
AMV4はSSE版とAVX2版があり、SSE版はSSE4.1までの拡張命令を使って処理します。
AVX2版はAVX2までの拡張命令を使って処理します。


内部仕様で比較するとDY2とY2は参照距離が違うだけですが、参照距離が短くなるだけでも10%から20%ほど圧縮効果が向上します。

一方、DY3はY3と比べ大幅に処理が増えます。
(1) 圧縮パターンの増加
(2) 参照箇所の増加
(3) より近いデータを参照する (これも同じレジスタ内のデータを参照するため処理が増えます)
(4) 二次圧縮の適用

これらの効果によりDY3は非可逆圧縮のY3より高い圧縮効果が得られます。
これだけ処理が増えると、処理に時間がかかりパフォーマンスが低下するところですが、SSE版のDY3でもY3とほぼ同じかほんの少し早く処理することができます。
そして、AVX2版のDY3はY2よりも早く処理でき、非常に高いパフォーマンスを発揮します。


YUY2に関しては一通り動作するところまできました、仕様もほぼ固まりましたので、次回は(まだ開発途中ですが)簡単なベンチマークテストを行いおおよその処理速度、圧縮効果を紹介します。

※ 記事の内容は開発中のものです。公開時の仕様と異なる場合があります。
最終的な仕様については、公開時の記事を見てください。
関連記事


コメントの投稿

No title

ちょうどHaswellに買い替えたとこなので
楽しみに待ってます。
 
 
あまラボへようこそ
このブログでは自作ソフトの最新情報やtips、PC動画に関する話題を掲載していきます。各記事へは下にあるカテゴリからアクセスして下さい。

ファイルのダウンロードはホームページの方でお願い致します。

質問・要望・不具合報告はこちら
アマレコTV
アマミキ!
アマレココ
アマレコ・ライト
ファンタジーリモート
AMVコーデック



ホームページ
カテゴリ
最新コメント
カレンダー
10 | 2019/11 | 12
- - - - - 1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
最新記事
最新トラックバック
ブログ内タグ

アマレコTV ビデオキャプチャ AMVコーデック アマレココ アマミキ! コーデック SC500 動画配信 ファンタジーリモート アマレコVR アマレコライト プラグイン AMV4 Oculus Unity ライブ機能 SC512 AVX2 デスクトップキャプチャ gQuest Quest 質問コーナー リモートソフト 4K FAQ GO DirectShow HDキャプチャ ニコニコ動画 解説動画 LEGO 遅延 可変再生速度 組み換え レゴ GV-USB2 XL2420T アマステ 液晶モニター PS4 120Hz AMV2MT Pro 倍速液晶 Intensity ベンチマーク MonsterX3A デインターレース SD-USB2CAP4 designs 31006 ffmpeg 32ZP2 Alternate RDT233WX-Z XCAPTURE-1 VideoKeeper2 Pico GV-USB RYZEN AVX Shadow UtVideo T2 G2 Rift WindowsMR RGBキャプチャ Play 31024 シンクライアント プレビュー 擬似NTSCキャプチャ IntensityPro SD-USB2CUP4 キャプチャーツール イベント DirectShowFilter Livetube DC-HD1 リプレイ機能 倍速駆動 モノステ AtomでHDキャプチャ MonsterXU3.0R SSE SKnet GV-USB3 キャプチャカード Kabelake XCapture-1 音ズレ 録画 オーバーレイ 可逆圧縮 GPU使用率 VR動画 フレーム間圧縮 VRコントローラー MR SteamVR Tweaker LAVFilters Preferred Filter フィギュア 31021 ゲームスムーズモード 音遅延 LameACM MP3 倍速補完処理 ZP3 32ZP32 額縁遅延 REGZA Haswell 電源オプション インストール MPC ハイパースレッディングテクノロジー HT OBS NVEnc HDCP HDMI QSV 液晶テレビ 

ブログ内検索
月別アーカイブ
アマレココに関するリンク
お世話になっているソフトのリンク
RSSリンクの表示
管理画面
  • 管理画面