先日に続いてx264でエンコードしてると残像が残る現象が発生
具体的にはシーンチェンジで明るい画面から真っ黒な画面になるとき起こりやすい
残像というのはインタレ保持エンコで
直前のフレームの絵の輝度(白成分?)が残っているような感じで
主に人物の輪郭などが残っている
何故気づいたかというとmp4にチャプターを追加しててきちんとチャプターに飛べるか
一時停止してからチャプターを選択→残像を確認といった流れで気づいた
ひどい場合は明らかに本編に入っているのにCMのテロップが残っていることもある
んで原因というか一応解決方法みたいなのもわかった
どうも元々のTSソースに輝度成分が残ることがあるみたいでこれが残像の原因ぽい
見つけ方はaviutlのインターレース解除2で縞検出を利用すること
輝度成分が残っているとその部分が縞判定されテロップや輪郭の一部が浮き出てくる
というかこれで判定しないと目を凝らしてもわからないくらいの薄さで残像が残っている
多分使ってる液晶の性能が悪くて黒つぶれしているせいもあるけど
これに気づかずにx264でエンコするとなぜか縞が完全に残像として白く浮き出てくる
詳しい原理は不明だけどx264の動き予測アルゴリズムが原因か
一応インタレ保持してるのでffdshowやLAVのインタレ解除機能が悪さしてる場合も
現に再生フィルタをffdshowからLAVにすると大分ましになるが完全には解消しない
そもそもMPEG2-TSのデコーダDGIndexに何か問題があるかもしれない
あとはTV局側のMPEG2エンコーダが良くないとか色々
インタレ解除時にも起こるかどうかは分からないが
どうもソースのカット編集部分で防げるみたいなので
CMカット時やチャプター&キーフレームの位置を残像のないフレームにすれば
ほぼ問題なくエンコードできるっぽい
今後気をつけてカット編集しよう
あとはほんと1~2フレームの残像なので再生時の気づくことはほぼ不可能なので
いっそ気にしないとかねw






コメントを残す