次エントリ 動画エンコードについて(MediaCoder設定編)
フレーム間予測方式の半端な理解(不正確かもしれません)
H264はフレーム間予測方式の圧縮を利用している。これは動画のフレームを間引いて歯抜けにして、再生時には歯抜けの部分をプレイヤーが予測して埋めるように再生する圧縮方式らしい。歯抜けの残されたフレームをIフレーム、予測で埋められるフレームにはPフレームとBフレームがある。
Iフレーム(Intra-coded Frame)を元に先のフレームを予測しPフレーム(Predicted Frame)を生成する。
さらにそれを元にBフレーム(Bi-directional Predicted Frame)をIフレームとPフレームの間に生成する。
- 参照フレーム数
- PとBフレームが参照するフレーム数。大きくするとそれだけ予測が正確になるが再生できないプレイヤーが出てくる(PSPは3まで)。大きくすると圧縮率が高まり画質も上昇
- Bフレーム数
- IとPの間にBをいくつ挿入するか(PSPでは2推奨)。大きくすると画質上昇
- GOP長
- 次にIが出るまでの長さ。次にIが出てくるまでPとBの繰り返しで凌ぐ。長くするほど高圧縮
- プロファイル
- Baseline ProfileはIとPのみでBフレームなし。Main ProfileからBフレームが出てくる。詳しくはH.264 - Wikipedia
参考: