2024年08月18日

【残暑見舞レシピ】爆速!バグ厭!!AMD幽霊フラッシュ!!!

↓2)記稿.2024/08/18


第一印象
|トラウマを解消したき晩夏かな「爆速!爆誕!!AMDフラッシュ!!!」
|あの日々が今や空蝉まっさらけ???‥AMDエンコードで涼新た???‥
|夕焼けに爆Qぼっちの青春叫「まだまだ負げぢゃいねぇッ」
|走り出すキュルキュル追いし「シンQ郎」折れるも青春,伸ばすも青春

第二印象
|試すほどフリーズキーのお化け居り「欠損フレームをキーにするべからず」
|幽霊を退治するにもまずGOP「構成に主導権握りしはトライアンドエラーなり」
|西日苦や成仏ソースを手にまほし「地雷フレームなぜにあるん?」
|清浄を保つ道のり雲の峰「バグが売りなの?欠陥憑きが自慢なの?」

第三印象
|可変にも量子化にもお化け居り「短いGOPには不向きどえむ」
|お化け駆除、日の目を見るのもソース次第「どうしてこげなホラーを許すん?」
|我慢して絵コンテ風なキー送り「それもありかな‥やっぱ嫌だ‥‥」
|駆除るまで封印だからこの館「爆速!バグ厭!!AMD幽霊フラッシュ!!!」



 ‥ダウンコンHDに糞時間が掛かるので
 トラウマになりそうなので、気分を変えてAMDエンコードを弄りだすとその度に「あら爆速!」

  うれしくもあり、くやしくもあり。(ところが、こちらでも別のトラウマ要素と対峙せり)

  ‥まず、2passエンコードが不能なのだから、どうにもビットレート不足に落ちる草。
  同じフレームのはずなのに、その手の判断が見られず、しっかり枚数分増量する。
  (そんなこんなで、基本マクロブロック数×6倍からして通用しないのだ)


 ‥スライスのお勉強で鬼門に落ち、半分興が冷めてるのに
  普通にエンコードしても、幽霊キーフレームが居るんだよ。居ったとです。
  (まさに、スライスのそれは前座だった‥‥orz)
  (お勉強の手順としては、勘違いをやらかさずに理解が早く済んだにせよ、悩ましい)

  ‥推定できる要因に、まずビットレート量の割り当てが弱い点を指摘できる。
  同じGOP構成のままでも、可変でビットレート量を上げると幽霊駆除に成功する場合がある。
  そうかと思えば、低いQPを当てても改善しない場合もある。

  問題フレームにキーフレームが宛がわれると、其のGOPだけがフリーズしたようにぶっ飛ぶ。
  スライスの場合は、スライス位置だけで済む所だが、ここでは画面一枚に及んでぶっ飛ぶ。
  キーフレームがぶっ飛ぶのだから、そこのGOPが丸ごと失敗に落ちる。

  VLC再生の場合に反応を見せずとも、テレビUSB挿しの際には、見苦しいノイズに放たれます。

  avidemuxに放り込んで、↑ボタンを押しっぱにしてサーチを掛けると
  そのキーだけ灰表示になります。(事前に探せるっちゃ探せるのですが、見落とす場合も‥)


> ‥どうにも犯人くせぇのは‥VAVバファが少ないからに思えるのですが‥どうなんでしょうね?
> (対応した有料アプリを使えば、細かくやれるらしい)
> (対応した有料アプリを使えば、細かくやれるらしい)


 ‥追い打ちで、「AMD AMF」にて抽出した塩HDは、テレビUSB挿しでは上手に回らん。
  画質がFHDよりに見えて好い感じなのに、構成次第で回らんのでは扱いづらいだけだ。
  (シンQ郎とは、明らかに内部構造を違えており、最大ビットレートの盛りすぎは使えない)


> では、参考までに「AMD AMF」の項目について述べておこう(要AMDのグラボ)
> 言わずとも、五段階サーチ対応を目指して、テレビUSB挿し構成を狙う所ですが‥‥無理。


 ‥ちなみに、AMD AMFのHEVC版もAVC版も項目が丸々同じどえす。
  どうにもHEVCの内部サーチ機能を共有で利用しているみたいに思える。
 ‥最終的には、HEVCはHEVC、AVCはAVCとした形式に仕上がりゃいいわけだし
  指定したGOP長で固定した方が、配信する際の利便性は上がるだろうからな。 

  (繰り返すが、対応した有料アプリを使えば、細かくやれるらしい)
  (まぁそちらでも同じように幽霊屋敷だったら買い甲斐ねぇけどな)



1-2)1

◇◆◇ 一般 ◇◆◇
モード:変換
コーデック:MPEG-4 AVC/H.264(AMD AMF)‥要AMDのグラボ
言語:なし
FourCC:avc1
Delay(ms):0

フレームレート:59.94 or オリジナルを保持
カラーモード:YUV 4:2:0 Planar 12bpp
レート調整モード:
固定ビットレート‥(配信向け。フィーラーデータの有効化と組むと微々に画質が上がる。)


可変ビットレート‥(可変なんだけど‥配信向けに調整した固定に毛が生えた程度の可変どえす)
‥最大ビットレート(kbps)‥(なんだかんだと許容帯域内ではガッツリした反応を見せる)
            ‥(なのでビットレート謎比は無理。2〜4倍程度ぐらい?)
            ‥(先に量子化出ししてから、其を参考に決めざるを得ず)

‥量子化と比較すると、低周波を削って高周波を残すとした傾向差が顕わになる。
 とはいえ、ソース細部が細かすぎると、共に、手を抜いてのっぺりと仕上げたりしまくるz。
 (2passエンコードとは趣が全くに違うどえむ)


量子化‥(どちらかというと、まともに可変するのはこちら)

‥QP I(8) ←QP p(18)と組むと、アナログとデジタルが合致せり。
       ※フィルム感とした色映え感度に見惚れるz(SD,HDでのテレビUSB挿し)
        但し、GOP構成次第で発色の差は僅かずつに変化してしまうのら。
       ※更に、平均ビットレートが低い事から、インターの割り当てが小さいのか‥
        局部的にキー負荷がデカくなり、結果的に幽霊フレーム化するっぽい。
        (バッファ想定が小ぶりに思われる‥)
       ※なのでその際は、ちょっと平均に足して可変ビットレートを試すしかない。
        だがしかし、共に幽霊駆除できない場合がある。
       ※幽霊さえでなければ、是にて一件落着なのに!!!(どうなってんだよ!!!)

‥QP I(10) ←FHD出しなら、Psy-Trellis強度(1.00)想定で、最低はここにしたくなるどえす。
‥QP I(18) ←デフォルト値(量子化前の水準値にしか思えず)

‥QP p(18) ←この辺でどうにかせんと、美麗に4GB以内に収めようなんて無理。
‥QP p(20) ←デフォルト値(何か工夫せんと、量子化前の水準値にしか思えず)
‥QP p(22) ←QP I(10)に対して、実写×FHDサイズなら、この辺までが許容っぽい。

‥QP b(22) ←デフォルト値(わさb抜きなので永久欠番)

‥(QPp=18に固定して、QP I値だけを動かす‥‥短いGOP長だからこそに思われる技あり)
‥(傾向として、ぼよぼよマクロブロック×輝度低下とした違和感の発生を避けた調整が楽に)
‥(但し、ソフト側は小数点QP値を受け付けるも、残念ながら‥ハード側は無反応を見せてくる)


‥(だが、ソースによっては、幽霊フレームが存在する。その頻度はまばらである)
‥(短いGOPなので、問題フレームがキーになると、ノイズって飛んだように見える)
‥(瞬間的に其処のGOPだけが、フリーズ状態と化して丸ごと駄目になる)
‥(編集画面上では、キー単位の早送りにて異常が発覚する)
‥(正確には、一つ前のGOPのキーから駒送りするとIDRの如く像を受け取るように、異常に見えね)

‥(できる対策は、問題フレームがキーに成らないようにGOPを再構成せざるを得ず)
‥(成仏ソースも勿論あるので、兎にも角にもまずは一度、得たいGOPタイプで出してみるべし)
‥(それでも駄目なら可変ビットレートで、それでもダメならシンQ郎でしょう)


プロファイル:High‥(Hi10選択肢なし)
レベル:5.2‥‥(打ちミス事前防止で上限に統一)
preset:品質
キーフレーム間隔:概ね(15)
表示モード:プログレッシブ
参照フレーム数:概ね(9)
コーディング:Auto.‥(CABACを選択しても、Auto.にしないと無視される‥バグっぽぃ‥


※ ↓「AMD AMF」用に、キュルキュルぽく見えるように寄せて得たのが
 「キーフレーム間隔×0.6=参照フレーム」‥どえす

※ ↓まぁ参考に
[24駒-10枚間隔-参照6枚]_プログレッシブ特撮向き(絵コンテ風)
[30駒-10枚間隔-参照6枚]_通常撮影向き(圧縮重視)&アナログ向き?
[60駒-15枚間隔-参照9枚]_特撮向き_通常撮影向き(画質重視)&デジタル向き?

[24駒-15枚間隔-参照9枚]_プログレッシブアニメ向き(絵コンテ風)
[30駒-15枚間隔-参照9枚]_のんびりなアナログアニメ向き
[60駒-10枚間隔-参照6枚]_回転早いデジタル方向なアニメ向き


※ 但し、10枚間隔では、どうにも画質が上がらない。(2passは必須だ)

※ ソースには24駒向きと60駒向きとがあり、割れるどえす。
  (映画版90分をどうにか4GBに押し込めたい所だが)
  (オープンGOPだと綺麗に分割しかねるので、丸ごと4GBに押し込めたい所だが)
  (それはそれで、画像の質がのっぺらつるんくせぇのが、悩ましい)

※ 地雷フレームが付き纏う理由がエンコード側のバグなら、その内に改善もあるでしょうけど
  根本的に制作側のソースに課題が付いていたなら無理どえす。
  (BDやらDVDの版に伴う内部エラーとした話ぐらい聞いたことがあると思いますが‥)
  (爆速にて内部サーチするぐらいの合間では、その手のエラー補正までをやらんのでしょう)



◇◆◇ B-フレーム ◇◆◇
B-フレーム数:0
B-ピクチャデルタQP:―‥(値の幅は±10?)
参照B-ピクチャデルタQP:―(値の幅は±10?)
B-フレームの参照を有効:―


※ Δ(デルタ)記号(ギリシャ文字)は
  しばしば「何かがちょっとだけ増えた量」を表すのに使われるそうだ。
  ‥どちらもGOP内でのIPB間変化量としての許容幅っぽい。デフォルトは(4)‥
  ‥なら、二つ用意してある意味とは?(意味わかんねぇ)
   あと、マイナス値の用意って何?(意味わかんねぇ)

※ 数値を打ち込んでも‥こちらの構成に対して、bフレームが1枚も入らない。謎。(バグ?)
  (どうやらグラボに、対応バージョンと未対応バージョンとがあるらしい‥未対応くさ‥)
  (じゃ、有料アプリを購入したって、FHDサイズでのお試しできないネ)



◇◆◇ 量子化設定 ◇◆◇
フレームあたりの切り出し数:1‥初期値
最大アクセス単位(ビット):0‥初期値

※‥「最大アクセス単位って何?」と目をまるく輝かせて問いてぇz


HRDを適用:□‥(所謂ハイダイナミックレンジどえす)
     ‥(オンにすると、なぜにファイル容量が増減するの?‥それって何?‥)
     ‥(ソースの状態により、適応と不適応があるかも知れないの?)
     ‥(どう考えても、AVCなのだから、□で十分に思われる。)

フィーラーデータの有効化:□‥(主にCBRの動作補助。CBR時以外の応答については不明。)

VBAQ:オン‥(心理視覚チューニング‥つまりアレ‥綺麗派には必須のアレ。)

レート制御ベースのフレームスキップ:□‥(フレームを間引く機能?配信系対応??)
‥(似たようなのがTrellis項目にあるけど、常時にするか最終にするかのそれらしい。)

M.E.ハーフピクセルを有効:オン
M.E.クオータピクセルを有効:オン‥(ハードウェアエンコードなので気にせずオン)
AUデリミタにNAL単位を注入:□‥初期値
‥(スライスやらフィーラーデータやらフレームスキップを管理するっぽい。使い込むならオン)
ブロッキング軽減:オン


◇◆◇ ビデオユーザビリティ ◇◆◇
カラー優先度:指定なし
行列係数  :指定なし
伝送特性  :指定なし


※「SMPTE 170M」もしくは「BT.709」指定のソースは、剥がしても復活するどえす。

 (解像度を576に下げても復活してBT.709を貼り付ける‥なんてまめなエンコードどえむ‥orz)
 (BT.601の方なんか、張り替えてもBT.601に復活する‥‥早い話がバグ含みじゃねぇかy‥)
 (そうかと思えば、指定なしのソースでも同じで、ソース側の色選択から変更不可‥とても謎)
 (DVDをHDサイズにアプコン決めようと、BT.601のままなんやで‥)


※ まぁノンテロップなOP&EDサイズぐらいだと、幽霊駆除できてる傾向が高いので
  お気に入りを持ち歩こうと思ったら、一分程度で完了するどえす。(HDサイズ)
  勢い余って、構成次第では90分映画も25分で完了とか、爆速すぎて生活感が壊れる程だy。
  お化けさえ出なければ、ルーティーンな壊れた生活を即やれるのに!(チッ)

 (そこはやはり‥正しい生活をしましょう‥もとい、正しい映像をみましょう‥加護らしいz)



1-2)2

> 用語:→参照先


"フィラーデータ"
"フィラーデータを有効にするとエンコーダは空の情報で残りのスペースを埋めることによって少なくとも Bitrate.Target を維持することができます。"


"フレームスキップ"
"フレームスキッピングはエンコーダが Bitrate.Target 要件を満たすためにフレームをドロップすることを可能にします。エンコーダがフレームを落とすときに代わりにリピートラストフレームNALをストリームに挿入します。Bitrate.Target 要件が非常に低い場合に役立ちます。"

"スキップフレーム周期"
"スキップされたフレーム間の間隔。(フレーム内) OBSが有効なストリームを持っている間に設定されているフレームレートよりも低いフレームレートをシミュレートするために使用できます。"
"スキップフレームの動作"
"フレームスキップの動作方法を定義します。"
"N番目のフレームごとにスキップする"
"すべてのN番目のフレームのみを保持する"


"ピクセルの分散に基づいてビットレートをより良く分配する '分散に基づく適応型量子化' (VBAQ) の使用を有効にします。人間の視覚系が高度なテクスチャ領域のアーチファクトに対して敏感でないという考え方に基づきビットレート配分をより滑らかな表面に向けることができます。これを有効にすると特定のコンテンツの主観的品質が向上する可能性があります。"


"HRD を強制"
"出力ビットストリームが正確であることを確認するために使用される仮説的参照デコーダの使用を強制します。"
"ハイモーションクオリティブースト"
"ハイモーションクオリティブーストを有効にします。"


"VBV バッファ"
"VBV バッファサイズの決定方法:Utlity.Automatic は厳密性制約を使用してサイズを計算します。Utlity.Manual は利用者がサイズを制御できるようにします。VBV バッファ (ビデオバッファリングベリファイア) は特定のレート制御方法により指定された制約内で全体のビットレートを保持するために使用されます。"
"VBV バッファ厳密性"
"VBV バッファの厳密さを決定し、100%は可能な限り厳密で0%は制限されません。"
"VBV バッファサイズ"
"シーケンスにおけるビットレート制御のために使用されている VBV バッファのサイズ。"
"VBV バッファ初期充満"
"VBV バッファの初期充足率 (%) がどの程度か、エンコードの初期シーケンスにのみ影響します。"


"B-フレームパターン"
"エンコード時に使用するBフレームの数。第2世代および第3世代のVCEカードでサポートされています。 エンコード時のパフォーマンスに悪影響を与えます。"
"B-フレームデルタ QP"
参照不可能なB-フレームに対する最後のI-フレームまたはP-フレームまでのデルタ QP の値。"
"B-フレーム参照"
"B-フレームはP-フレームとI-フレームだけでなく、B-フレームも参照として使用できます。"
"B-フレーム参照デルタ QP"
"参照可能なB-フレームに対する最後のI-フレームまたはP-フレームまでのデルタ QP の値。"


"IDR 周期 (フレーム数)"
"フレーム内の瞬時デコードリフレッシュ (IDR) 間の距離を定義します。"
"IDR 周期 (GOP数)"
"GOP内の瞬時デコードリフレッシュ (IDR) 間の距離を定義します。"

※GOP長を23枚にして、IDR周期を2秒間隔にしたとすると
 二つ目のGOPのIフレームが、オープンGOPみたいな様相を得るアレだろうか?


> 用語:→参照先


・EnforceHRD=True

HRD適応の定義。

エンコードされた映像の規格について正当性を示すHRDと呼ばれる
証明を付与する機能で「True」が設定されています。



・FillerDataEnable=False

フィラーデータ適応の定義。

「CBR」制御時の目標ビットレートを下回った際に維持を行うための
「フィラーデータ」と呼ばれるダミーデータを適応させるための機能で
「False」が設定されています。



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

メールアドレス:

ホームページアドレス:

コメント:

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