ビデオキャプチャカードで録画できるようになった Play Station 4
SONY Play Station 4 (以下PS4)が2014年4月30日のシステムソフトウエア・アップデート(1.70)によりビデオ信号のプロテクト(HDCP)を解除できるようになりました。これによりHDMI対応のビデオキャプチャカードを使ってプレビュー&録画が可能となります。
注意 プロテクトはコンテンツ毎に管理されていると思うのでPS4のすべてのコンテンツが録画可能というわけではありません。
◇アップデート前
アップデート前はビデオ信号のプロテクトによりビデオキャプチャカードなど録画機能を持った映像機器ではPS4の映像を扱えませんでした。
画像はマイコンソフト社のビデオキャプチャカードSC-512N1-L/DVI を使ってキャプチャした様子です。アップデート前はプロテクト(HDCP)によりこのようになってしまいます。
◇アップデート後
PS4を1.70へアップデートすると設定のシステム項目に「HDCPを有効にする」が追加されます。この項目のチェックを外すと録画機能をもつ映像機器へもビデオ信号を出力するようになります。その結果(録画機能を持つ)ビデオキャプチャカードでもプレビュー&録画できます。
注意 アップデートした直後はHDCPが有効になっていますので、PS4をテレビなどに接続してHDCPを無効にしてからビデオキャプチャカードへ接続します。
「HDCPを有効にする」のチェックを外すとビデオキャプチャカードでプレビュー&録画できるようになる。
◇ゲームを起動
ゲームを起動するとばっちりプレビューできます。
◇録画も可能
1080 60pでしっかり録画できますが、ゲームソフトによってはPS4でも30fpsでレンダリングされるガッカリなものもまだまだあるようです。キャンペーンを少し遊んだだけですがBATTLE FIELD 4は60fpsでレンダリングされているようなので造りにぬかりはななさそうです。
ここ数年でゲーム機やビデオキャプチャカードは1080 60pに対応してきましたが、ゲームソフト自体は720pで制作されていたり、1080 60pにするとフレームレートや画質が下がるなど数値上の対応のみといった状態でした。PS4になりゲーム機やゲームソフトの状況も改善され始めましたが、今度はビデオ出力がHDMIのみとなり録画機能のある映像機器が一切使えない惨状です。
今回のアップデートでようやくゲーム機の性能、ビデオキャプチャカードの性能、ビデオ信号の問題が解消されて次世代と呼べる状況がそろったのかな、2006年ころにHDキャプチャが一般ユーザに広まり始めてからだいぶかかりましたね。
AMV4ビデオコーデック ベンチマーク暫定版 もはや反則AVX2編
テスト条件は前回のSSE編と同じですのでパソコンのスペック以外は以前の記事を参照してください。
AMV4ビデオコーデック ベンチマーク暫定版 SSE編
なお、AMV4ビデオコーデックについては開発途中のバージョンによるテストですので、
最終的なバージョンと異なる場合があります。
完成後にもう一度ベンチマークをやり直し結果を掲載しますのでそちらも確認してください。
【ベンチマーク条件】
パソコンのスペック以外はSSE編と同じ
AMV4ビデオコーデック ベンチマーク暫定版 SSE編
OS | Windows8 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で無効化、動作クロックがテスト中に変動しないようにしています。 |
【ベンチマーク結果】
レベル | エンコード | デコード | 圧縮効果 | 備考 | |||
時間 | FPS | 時間 | FPS | ||||
AMV2MT 32bit SSE2 | Y1 | 0.60 ms | 1648 fps | 0.80 ms | 1238 fps | 1.15 | YUY2可逆 |
Y2 | 1.24 ms | 801 fps | 1.90 ms | 523 fps | 2.09 | YUY2可逆 | |
Y3 | 1.81 ms | 551 fps | 2.64 ms | 377 fps | 2.78 | YUY2非可逆 | |
Y4 | 3.73 ms | 267 fps | 4.37 ms | 228 fps | 3.67 | YUY2非可逆 二次圧縮あり |
レベル | エンコード | デコード | 圧縮効果 | 備考 | |||
時間 | FPS | 時間 | FPS | ||||
AMV4 32bit SSE4.1 | DY2 | 1.09 ms | 910 fps | 1.17 ms | 850 fps | 2.52 | YUY2可逆 |
DY3 | 1.84 ms | 541 fps | 1.84 ms | 542 fps | 3.09 | YUY2可逆 二次圧縮あり | |
AMV4 64bit SSE4.1 | DY2 | 1.11 ms | 900 fps | 1.08 ms | 925 fps | 2.52 | YUY2可逆 |
DY3 | 1.78 ms | 558 fps | 1.66 ms | 601 fps | 3.09 | YUY2可逆 二次圧縮あり |
レベル | エンコード | デコード | 圧縮効果 | 備考 | |||
時間 | FPS | 時間 | FPS | ||||
AMV4 32bit AVX2 | DY2 | 0.84 ms | 1189 fps | 0.64 ms | 1557 fps | 2.52 | YUY2可逆 |
DY3 | 1.21 ms | 825 fps | 1.17 ms | 854 fps | 3.09 | YUY2可逆 二次圧縮あり | |
AMV4 64bit AVX2 | DY2 | 0.72 ms | 1386 fps | 0.55 ms | 1790 fps | 2.52 | YUY2可逆 |
DY3 | 1.07 ms | 931 fps | 0.97 ms | 1029 fps | 3.09 | YUY2可逆 二次圧縮あり |
※ 時間、FPS:1フレーム処理するのにかかった時間、FPSは1秒間に何フレーム処理できるかを示しています。この2つは同じ情報です。FPSの数値が大きいほど優れています。
※ 圧縮効果:未圧縮に対しデータ(ファイルサイズ)を何分の1に圧縮できるかを示しています。数値が大きいほど優れています。
例 圧縮効果が2.00の場合、未圧縮で録画した場合と比べファイルサイズを半分(2分の1)に減らす能力があります。
処理速度と圧縮効果について
圧縮効果についてはSSE版とAVX2版とで同じ結果となりますので前回のSSE編を参照してください。
処理速度についてはAMV2MTとAMV4 64bit AVX2版を比較します。
Y2とDY2を比較するとDY2の方がエンコード処理で約73%、デコード処理で約242%(3.4倍)性能が向上しています。
Y3とDY3を比較するとエンコード処理で約68%、デコード処理で172%(2.7倍)の性能向上となっています。
なお、AVX2 32bit SSE版のDY3のエンコードがY3より1%程度遅い結果となっています。前回のIvy BridgeでのテストではDY3の方が約8%速い結果となっているので、Y3とDY3のSSE版はCPUの違いにより優劣が入れ替わるくらいの僅差と言えます。
まとめ
以前公開したAMV2MTデコーダーのAVX2対応デモ版で3倍速いというのを示しましたが、
「3倍高速 AVX2対応 AMVデコーダー デモ版」
「AVX2対応 AMVデコーダー デモ版の追試」
AMV4はさらにその上を行く3.4倍の性能(デコード処理)に達します。これはデモ版の時はAMV2の仕様に合わせてコーディングする必要があった(AMV2の仕様は2008年にSSEを前提に作成したのでAVX2には向かない部分が含まれる)のに対し、AMV4ではAVX2の特性に合わせ仕様の作成段階から取り組んだためです。
その結果、仕様とコーディングの両面でAVX2の性能を 相当高いレベルまで引き出せたと思います。
AMV4のAVX2版を簡単にまとめると
(1) エンコード処理の処理速度が約70%程度向上する
(2) デコード処理の処理速度が200%程度向上する
(3) 可逆圧縮の圧縮効果がDY2で最大約20%、DY3で平均約50%向上する
(4) AVX2が使えるPCでは処理速度と圧縮効果の両面で大幅に性能が向上する
※ 記事の内容は開発中のものです。公開時の仕様と異なる場合があります。
最終的な仕様については、公開時の記事を見てください。
AMV4ビデオコーデック ベンチマーク暫定版 SSE編
Ivy BridgeではAVX2命令が使えないためAMV4のSSE版とAMV2MTを比較します。
なお、AMV4ビデオコーデックについては開発途中のバージョンによるテストですので、最終的なバージョンと異なる場合があります。完成後にもう一度ベンチマークをやり直し結果を掲載しますのでそちらも確認してください。
【ベンチマーク条件】
基本的には以前のベンチマークと同様のテストとなります。
ビデオコーデック・ベンチマーク2012夏(2012.9.4修正版)
タイトル | Mystery of the Nile |
情報 | 1280*720、2082frames、1分26秒、3,837,598,360Byte |
備考 | AviUtlを使ってYUY2未圧縮に変換 |
OS | Windows7 x64 Professional SP1 |
CPU | Intel(R) Core(TM) i5-3470S CPU @ 2.90GHz Ivy Bridge |
MB | ASRock H77 Pro4-M (Intel H77) |
Memory | DDR3 1600 16GB(4GBx4 Dual Cannel)read=23.5GB/s write=11.8GB/s |
Software | Video Codec Test 2.0.0 |
備考 | CPUは4コア、マルチスレッドテクノロジーには対応していません。動作クロックを2.9GHz(定格)で固定し、省電力設定およびTurbo BoostはBIOSで無効化、動作クロックがテスト中に変動しないようにしています。 |
コーデック名 | バージョン | 32bit | 64bit | 設定 |
AMV2MT | 2.20i | ○ | × | 製品版(ロゴなし) |
AMV4 | 開発途中 | ○ | ○ | ロゴなし |
以前のベンチマーク環境とほぼ同じ内容となりますが、次の3点が異なります。
・メモリーが4x2GB(計8GB)から4x4GB(計16GB)に増えた
・ベンチマークソフトのバージョンが上がった
・AMV2MTの試用状態(ロゴ挿入)ではなく製品版(ロゴなし)によるテスト
補足1 圧縮効果の有効桁数について
ベンチマークソフトのバージョンが変わったことで、より細かい数値まで表示されるようになりました。
この部分は今まで小数点第3位を四捨五入して小数点第2位まで表示していたと思いますが、今回から私が数値を読み取る際に小数点第2位未満を切り捨てています(小数点第3位を四捨五入しない)。
補足2 ロゴの有無による圧縮効果の違い
今回はAMV2MTの製品版を使ってテストしています。そのため試用版のロゴが入らないので圧縮効果の数値が微妙に変わってきます。 また、エンコード処理においてもロゴ挿入処理が無いため以前の記事よりわずかに速い結果が出ます。
ロゴの有無 | 圧縮効果 | 圧縮後のサイズ / 未圧縮のサイズ |
ロゴあり | 2.79 | 1377776170 / 3837542400 |
ロゴなし | 2.78 | 1379777362 / 3837542400 |
このような事情によりテストの本質は以前の記事と同じですが、完全に一致するはずの圧縮効果(圧縮比)の数値がわずかに異なる場合があります。
【ベンチマーク結果 】
レベル | エンコード | デコード | 圧縮効果 | 備考 | |||
時間 | FPS | 時間 | FPS | ||||
AMV2MT 32bit SSE2 | Y1 | 0.74 ms | 1340 fps | 1.00 ms | 992 fps | 1.15 | YUY2可逆 |
Y2 | 1.61 ms | 617 fps | 2.47 ms | 404 fps | 2.09 | YUY2可逆 | |
Y3 | 2.48 ms | 401 fps | 3.32 ms | 300 fps | 2.78 | YUY2非可逆 | |
Y4 | 4.89 ms | 204 fps | 5.42 ms | 184 fps | 3.67 | YUY2非可逆 二次圧縮あり | |
AMV4 32bit SSE4.1 | DY2 | 1.29 ms | 772 fps | 1.40 ms | 712 fps | 2.52 | YUY2可逆 |
DY3 | 2.29 ms | 436 fps | 2.23 ms | 447 fps | 3.09 | YUY2可逆 二次圧縮あり | |
AMV4 64bit SSE4.1 | DY2 | 1.26 ms | 793 fps | 1.17 ms | 851 fps | 2.52 | YUY2可逆 |
DY3 | 2.16 ms | 462 fps | 1.81 ms | 549 fps | 3.09 | YUY2可逆 二次圧縮あり |
※ 時間、FPS:1フレーム処理するのにかかった時間、FPSは1秒間に何フレーム処理できるかを示しています。この2つは同じ情報です。FPSの数値が大きいほど優れています。
※ 圧縮効果:未圧縮に対しデータ(ファイルサイズ)を何分の1に圧縮できるかを示しています。数値が大きいほど優れています。
例 圧縮効果が2.00の場合、未圧縮で録画した場合と比べファイルサイズを半分(2分の1)に減らす能力があります。
処理速度について
AMV2MTのY2とAMV4のDY2(32bit版)を比較するとDY2の方がエンコード処理で約25%、デコード処理で約76%性能が向上しています。 また、Y3とDY3を比較するとエンコード処理で約8%、デコード処理で約49%の性能向上となっています。
圧縮効果について
Y2とDY2を比較するとDY2の方が約20%性能が向上しています。 ただし、映像の内容によってはほとんど向上しない場合もあります。最大約20%向上すると捉えてください。
傾向としては、Y2の圧縮効果が低い場面においてDY2の圧縮効果が向上します。 一方、Y2の時点で高い圧縮効果が得られる場面ではY2とDY2はほぼ同じ圧縮効果となります。
続いてDY3についてですが、同じ可逆圧縮のY2と比べると約47%の性能向上という結果になりました。 こちらは映像の内容によってはもっと高い性能向上が期待できます。
まとめ
最近はAVX2の話を中心にしてきましたが、 AMV4のSSE版も圧縮効果の向上とデコード処理の大幅な高速化となりますので、AMV2MTより高性能なコーデックと言えるものとなります。
AMV4のSSE版を簡単にまとめると
(1) エンコード処理は同程度か若干速くなる
(2) デコード処理は大幅に高速化される
(3) 可逆圧縮の圧縮効果がDY2で最大約20%、DY3で平均約47%向上する
(4) AVX2が使えないPCでも確実にAMV2MTより高性能となる
※ 記事の内容は開発中のものです。公開時の仕様と異なる場合があります。
最終的な仕様については、公開時の記事を見てください。
アマレコTV デスクトップキャプチャに関するFAQ
AMV4ビデオコーデック 内部仕様でみるAMV4とAMV2MTの違い
AMV2MT | AMV4 | |||
Y2標準可逆 | Y3標準 | DY2標準可逆 | DY3高圧縮可逆 | |
圧縮パターン | 4 | 6 | 4 | 8 |
参照箇所 | 1 | 1 | 1 | 2 |
参照距離 | 遠い | 遠い | 近い | 近い |
二次圧縮 | 無し | 無し | 無し | 有り |
画質 | 可逆 | 非可逆 | 可逆 | 可逆 |
マルチスレッド | 最大8 | 最大8 | 非対応1 | 非対応1 |
拡張命令 | SSE2 | SSE2 | SSE4.1 AVX2.0 | SSE4.1 AVX2.0 |
AMV2MT | AMV4 | |||
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に関しては一通り動作するところまできました、仕様もほぼ固まりましたので、次回は(まだ開発途中ですが)簡単なベンチマークテストを行いおおよその処理速度、圧縮効果を紹介します。
※ 記事の内容は開発中のものです。公開時の仕様と異なる場合があります。
最終的な仕様については、公開時の記事を見てください。