比較とまとめ。
- framemixer.py - 連番 BMP を合成。 - つちのこ、のこのこ。(はてな番外地)
- 120fps 動画のフレームを合成して 12fps にしエコ回避までしてみるテスト。 - つちのこ、のこのこ。(はてな番外地)
ニコニコ動画が今までの微妙にマイナーなサイズのそれでなく世界標準 640×360 な新プレーヤーに転換、ということで記念としてもう一発、素の 15fps 動画との比較を上げてみました。
さすがにこの、15fps という低フレームレートだとエンコードでの画質の劣化は目立たないですが、画面の面積は確かに大きくなっている*1わけですから(ビットレートを一般会員の 600kbps に抑え) 30fps, 60fps の動画にした場合どんな具合になるのか……というのはまた別のテーマ、ですね。
今回テストということで極端に 15fps という低フレームレートを試してみましたが。
実際に使ってみるなら MikuMikuDance での動作指定するタイミングの 30fps に合わせる方がいいでしょうね。そうしないと秒間15発の拳を叩き込む動画作る時に困るさすがに 30fps 表示できない環境で投稿動画サイト見る人も居ないでしょうから負荷としてはこれで充分でしょう。*2
また、元のその 30fps というフレームレートとの兼ね合いから考えると「12fps」みたいな割り切れない値を選ぶとモーション指定の中間が表示フレームとして選ばれてしまう場合が多発するので同様の理由でうまくない。そして割り切れるとしても「10fps」まで落とすとさすがに無理が出る。なので選択可能なフレームレートは 60, 30, 15 あたりに限られることに。
といったところかな。
減衰率(ATTENUATION)は、1(全フレーム等価に合成)は論外として、2 くらいでもかなりうっとうしいことになるし、またあまり大きい値を指定するとかける意味が無くなるしで、3〜4 くらいが妥当。というか他を選びようがない感じ。*3
やってみての考察としては以上ですが。
上の比較動画を見ると、エフェクトかけた右側のは全体にグレー寄りに見える感じに。多分、細かい明暗が合成で均されてしまうせいだと思いますが。
いずれにしろ、単純に「複数フレームの畳込み」とはいかず、かなり画が変わってしまう手法なのが分かりました。動画サイト側のエンコードで画面解像度は弄ってもフレームレートに手を付けないのはここらへんが理由でしょうか。*4