↓1)記稿.2023/10/06
> 基本的にAVCは、HEVCに比べるとパン処理が弱い
> 構造物表現が細かくなるほどにビットレートを持って行かれて
> カクカクしがちに成りやすいそれをどうにかするには、どうしたってGOPを伸ばすほかない
一般にGOPの最大値を、キーフレーム間隔(rc_lookahead)と呼ぶが
それは、シーン変更感度(scenecut)の値を(40)の固定とする
{ rc_lookahead=23,scenecut=40 }‥デフォルト
この場合、場面変更を検知せずとも問答無用で1秒に区切られる
デフォルト値の40には、場面検知よりも秒刻みの方を優先した意味も込められている
‥構成できるマクロブロックには制限がある
Iフレームには、よりブロックを詳細に集中させないと品質は上がらない
ビットレートばかり上げても、その辺で、Iフレーム品質は頭打ちするのだ
さらに、この手の場面切換想定は、20世紀映像の想定だ
(21世紀映像に見られる様なデジタル時代ゆえの場面切り替えの早い想定をしていない)
なので、本質的な意味において「シーン変更感度」とした呼称にはやや語弊を含む
(シーン変更感度とした本来の意味でなら(89)がオススメだ)
‥その動画エンコードの通常概念として
1秒ごとのマクロブロックの最大数が、レベル概念を通して決められている
つまり、圧縮率を高めるには、その壁を超えてやるルール採用が必要になる
それがつまり、参照フレームMix(mixed_ref)だ
但し、この参照フレームMixの挙動には注意が必要だ
一般には、エンコードの都度の都合があるので、IDRとした特別なIフレームが用意される
(IDRフレームより前にあるブロックを参照しないとした区切りルールだ)
(オープンGOPでは定期枚数に発生するが、参照フレームMixでは必ずしもそうとは限らない‥謎)
> とにもかくにも、それの壁超え最大可能延長フレーム数についての余幅言及を聞いた例しがない
‥それの予想としては、いくつか考えられる
一つは、理論上のpフレームの最大参照枚数×bフレーム数の最大数だろうと思うにせよ
実質的には、BD品質とした参照フレーム(4)と、美麗とされるbフレーム(3)の都合がある
すると‥13枚を基本的な長さに見立て、それの3倍程度とした所だろう
あまりに遠くから拾っても、マクロブロックの型が噛み合うものではない(アニメなら尚更だ)
(まぁ要するに2秒以内がBD品質でのスタンダードな想定に思われる)
> なので、GOPを伸ばすにしても2秒としたキーフレーム間隔の延長が手頃になる
> rc_lookahead=47,mixed_ref=1
※ だが当然として、エンコードの際に「先読み」の枚数を増やしておかないのでは話にならない
簡潔にデフォルトの2倍ぐらいに思ってるんだろうが‥実質的には
作品タイトル毎のパンの最大長を満たしていないのではお話にならない
アクション実写映画なんかだと、諸々2秒に収まらないパン・シーンなんざいくらでもあるだろう
そういう想定ともなると実に悩ましくなるものだ
(だがしかし、先読みをべらぼうに伸ばすだけでカク付き解消してしまうケースも有るはずだ)
(もっとも、十分なビットレート量こそ第一条件である)
> ところが、これで良いと思っていると足元を掬われる要素に悩まされる事になる
↓/続きを読む/↓