2024年06月08日

【エンコード日記】bフレームをできる子に戻す着眼がそこだったとは‥orz

↓4)記稿.2024/06/08

> 参照:Frame- type_Bフレーム関連


 ‥適応型B-フレームについて述べてある
 b_adapt(1)と(2)の違いのそこん所のツッコミがとくに参考になった

 そして、ふと思い浮かんで計算してみた

 デフォルトのscenecutは(40)だ
 キュルキュル職人にする為には、シーン変更感度(89)にせざるを得ず

  ‥この時、bフレームの作り込みがscenecut(40)前提なら
  scenecut(89)では、不適合くせぇ
  それでbフレームが劣化するのだとなれば、b_biasの値を増やすしかなさげどえす

 89−40=49=(7^2)‥なんというべき乗
 それじゃ、b_bias(49)でやってみよう‥(これがなんと大当たり‥)


|今までの御飯がかすむ「ホーホケキョ」春が来たと喜びたいけど‥orz


 ‥自分の子供の方が料理上手とか、息子の嫁が料理上手とか、もしくはその逆
 食べるだけにさせときゃ良いのに‥と思う瞬間でもあるのだろうが
 そこをどうしのぐか‥でもあるのだが

 鬼に見えるぐらいの理論家肌だと、妙に納得してしまうのはなぜだろう?

 ‥旦那が本気を見せて、味付けで逆転したりすると、日本の女は
 微笑ましそうな顔とは裏腹に、腹の内では100%ブー垂れてるに違いねぇ(面倒くせぇ)



1-4)1

> bフレームを使うのだから、低ビットレート寄りに調整やらかしたい
> その為には、サブピクセルリファインを、subme(7)に落とすのが良いらしい


  ‥サブピクセルリファインで何やらかしているかってと
  「内部でどれだけ疑似拡大しつつエンコードしますか?」‥とした調整らしい
  値を高くするほど、より細かく動きの精査をする上質モードになる
  但し、その結果を詳細に拾いたければ、ビットレートを用意すべしとした流れなのら

  (その為には、M.E.範囲のサイズ見直しもそれに見合ったサイズにすべしとなる)
  (更には、Psy-Trellis強度に手を加えざるを得ず‥などなどの調整が必要になる)
  (そうすると、必要なビットレート量がどんどん増えてしまうのだ‥)

 (つまり、bフレームの品質に合わせるだけなら、そこまでする必要が無い草)
 (そもそもの動画エンコードは、bフレームの品質に合わせて作り込まれてもいるニャ)


  ‥だが意外にも、M.E アルゴリズムの下位選択にメリットが無かった
  (複雑な光の表現でグデグデやらかすので略式選択の用を得ず)

  ‥結果だけ言うと、bフレームで攻めるなら
  subme(7)×M.E.範囲(8)×Psy-Trellis強度(0)×weightp(2)
  として、事前に間引きできそうな箇所を下げて置かないと、ビットレートの下げに対応できない
  とはいえ、拾いづらい箇所が、ポツポツと気になりだすどえむ(拡大確認)

 ‥その点はどうにも、フィルターレシピを使っても、発生してしまうどえむ
 という具合で‥量子化済み映像の再エンコードは悩ましい限りだz‥



1-4)2

> では次に、GOP構成をどうすべきか?


 ‥そこでまず、23.976フレームレートでの先読みどうしようか?‥考えてみた
 そうだ五倍にして(1998)にしたら、割り切れてるしイケんじゃねぇ?‥

  そしたらなんと、AMDのドライバーがエラー吐いてセーフモードに移行せり‥
  「なぜにそっちなんや??」‥なんだかんだの再起動事案に悶絶どえす‥

  (フィルターレシピを打ち込んで、突然としたそれの仕打ちでは、とてもやってられん)
  (とどのつまり、59.94フレームレート×先読み(999)しかねぇ)
  (とどのつまり、59.94フレームレート×先読み(999)しかねぇ)


 ‥取っ掛かりを得るべくして、まずは、こう考えた
 23.976フレームレート時に、pのみならref(11)の11枚+Iの1枚で計12枚(0.5秒想定)
 それにbフレーム(3)を盛り付けるとGOP(45)が最長になる(二秒以内構成)
 やってみると、bフレーム付きのわりには、キュルキュルしているニャ

 なら、59.94フレームレートでも同じ考えでイケるはず

 I×ref(14)×bフレーム(3)で合計57枚(一秒以内構成)
 やってみると、キュルキュルする所としない所のギャップはあるが、まぁ程々に好い



1-4)3

> 簡単に並べてみると(AVC-9801 Trellisからの変更箇所)


 Level 5.2

 ビットレート謎比
 14641(121^2):131769(363^2):234256(484^2)


 B-フレーム数:3
 B-フレームモード:なし
 適応型B-フレーム:最適
 B-Pyramid:厳密
 B-予測ウェイト:オン
 B-フレームバイアス:49


 適応型DCT:オン
 I8x8:オン
 I4x4:□
 P8x8:オン
 P4x4:□
 B8x8:オン


 subme(7)×M.E.範囲(8)×Psy-Trellis強度(0)×Pフレーム予測の重み(スマート解析)


> ↓は、フィルターレシピになります


 シャープネス(シャープ):3、3、[-0.6]、3、3、[-2.0]
 スマートぼかし:[0.49_0.81]、5、[0.36_0.64]、4
 スマートぼかし:[0.25_0.49]、3、[0.16_0.36]、2
 スマートぼかし:[0.10_0.00]、0、[0.00_0.10]、0
 シャープネス(シャープ):11、11、[1.5]、11、11、[0.1]
 スマートぼかし:[1.00_0.00]、0、[0.00_1.00]、0
 スマートぼかし:[0.64_0.36]、8、[0.49_0.25]、7
 スマートぼかし:[1.00_0.64]、10、[0.81_0.49]、9

  ‥フィルター群の改善が行われたらしき結果
  シャープネスのシャープとアンシャープの挙動に余り差が無いというかシャープの方が無難くさ
  ど忘れするし、切替も面倒くせぇし、シャープで十分な気もする
  (すってんてんに忘れていて、違いに気が付いてないほどだったし‥)


 色相/彩度{彩度:明るさ:色相}
 {8,-15,0}‥一回目は薄く
 {16,15,0}‥二回目は濃く

  ‥こちらはまだまだ調査中でーす
  (今のところは、BDtsのプログレッシブソース対象どえす)
  (こちらもフィルターの改善が行われたようで、数値の調整が細かく効いてしまうのだ‥)



1-4)4

> VLCの再生に、貧弱すぎる何かが隠れているのだろうか?


 ‥部分的に気になった‥そこ場面でのマクロブロックがざらつくので
 avidemuxでそこのフレームを再生したのだが、何でも無いんだよな

 ついでなので、テレビUSB挿ししてみた

 ‥やはり、負荷がデカいらしい‥
 否、Hi10なのに、それとなく回っているではないか!?
 「ゑ☆」それって負荷がデカいって言うの?
 それなりに回りきるんだから、そんなでも無いよね??
 今までなら、うんともすんとも動かないのがHi10だったz

  ‥同じテレビのままだし‥(どういうこと?)
  ちなみに今回の音声はAAC(384)なんだけど、それのせいかな??

  ‥そうそう、アナログテレビ風というのはマジにそれっぽい草っ
  普通にパソコンからの再生では、さほどに変わらないのだが‥(何が違うんだぁ???)


 ‥う〜ん、編集ツールの場合、特定時間分をメモリーに展開してるだろうから
 乱れずに再生ができている‥VLCはそうでも無し
 そう考えると、再生負荷が大きいことに変わり無し

  (参照枚数で、ドツボにハマってる箇所とかなんとか‥なんだろうか??)
  (フレームを確認してみるとそうには思えない‥つまり‥)


> 犯人は、参照フレームMix‥あなたでしょう‥


 ‥さすがに59.94フレームレートなのだから、一秒を超えた所から
 マクロブロックの参照をやらかして持ち込んでいたりすると、ちょっと怪しい
 (キュルキュルと区切りが多ければ、Iの連続数で抑制かかって長距離参照が止まるくさい)


 ‥ならば、戻してGOP(30)とするのが無難と言えそうだな
 且つ、bフレーム(6)なら、pフレームと合わせて七枚×2+1で15枚を得やすい
 (やってみたら、ほとんど0.5秒刻みで、ほとんどbフレームだらけになっちまやんの)
 (色の艶感が、大幅に減ったみたいな模様だし‥)

 こうなると、bフレームバイアスに変更の余地ありだな(やれやれ)



posted by 木田舎滝ゆる里 at 02:32 | Comment(0) | AVC-シンQ郎 | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

※ブログオーナーが承認したコメントのみ表示されます。