remove
powerd by nog twitter


フィールド単位クリッピングの弱点(2004/01/30更新)



  フィールド単位クリッピングが失敗するのは何故なのかを、「連続性」という面から突き詰めます。
  ビデオに録画して、下にノイズ(スイッチングノイズという)が現れたからといって、
  インターレース単位でクリッピングすることが失敗に終わる場合があるということを証明します。



  今回実験で使うアイテム → 謎のビットマップ
  フィールド分離・結合フィルタ、AviUtlの標準のサイズ変更フィルタ、Lanczos 3-lobed 拡大縮小フィルタ
  拡大ツール(表示のみ)
  


  まずは、謎のビットマップをAviUtlで読み込みます。
  
  このビットマップには細工がしてあります。↑表示されてるのはPNG(ポータブルネットワークグラフィックス)なのでAviUtlには使えません。

  1、真ん中の黒いラインは1ピクセルで、上は水色で塗りつぶしてある。
  2、下側にビデオのスイッチングノイズ並みのノイズを描いてある。
  3、なぜだかわかりませんが、トマトという文字がある。(黒縁、中は赤)

  この3点に注目して、実験をします。



  実験手順 AviUtlで読み込んだら、クリッピングします。「上0 下6 左4 右4」または「上0 下12 左8 右8」くらい削ることにします。
  この削り量(クリップの量)はVGA1:1の正方ピクセル(アスペクト比1:1)動画の比率を正しく保つクリップ方法です。
  クリッピングしたら、フィールド分離でトップとボトムフィールドに分けます。それを拡大して640×480に戻します。
  その後、フィールド結合フィルタにより自動的に1枚の絵が完成します。
  今度は、フィールド分離と結合をせず、素直に拡大します。

  実験目的 「普通の拡大・縮小」「分離して拡大・縮小」時における目視による「差」を理解することです。



  面倒なので結果と考察を書きます(笑
       
  左が普通に拡大したもの、右がフィールド分離後拡大して、フィールドを結合したものです。
  24ビットRGBのビットマップにしなくても、目視できるレベルであるのでPNGで比較します。
  普通に拡大した場合は、線が太くなる拡大でデジタル拡大としては「標準である」といえます。
  しかし、フィールド分離した場合は線が2本になり、間に水色が少し薄くなったものがあります。

  「上下左右偶数クリッピング」「フィールド分離フィルタの設定」「フィルタの順序」などすべて本サイト通りに完璧にしましたが、
  映像が壊れるのが理解できたと思います。これは画面全体で起こります。

  なぜ、黒線が2本になったり、間に水色ができたりするのでしょうか?
  その理由は、フィールドに完全分離したものを拡大するという行為に問題があるからです。
  1ピクセルの黒ラインは必ずトップフィールドかボトムフィールドのみに現れます。
  このサンプルの場合は、「0、2、4、、、、478」の「トップフィールド」に黒ラインが完全に分離されます。
  つまり、ボトムフィールドには、「黒ライン」は存在せず、「水色と白」が直接接したような映像になります。
  このような状態で拡大すると、トップフィールドには黒線が存在して太くなりますが、ボトムフィールドは水色と白が
  混じった薄い水色の線ができるのです。それを、また偶数と奇数のラインで結合するわけですから、
  映像の「連続性」が失われ、黒線が2本になったりするのです。

  この現象が画面全体で現れるので、1ラインでなくても色の差が激しい場所では2重線が目立つ映像になります。
  残念ながら、フィールド分離には限界があるのです。



  実験手順 AviUtlで読み込んだら、今度は「クリッピングしない」で、640×480を320×240に縮小します。
  最初は、フィールド分離と結合をせず、素直に拡大します。
  フィールド分離でトップとボトムフィールドに分けます。それを縮小して320×240にします(縦240のインターレース)。
  その後、フィールド結合フィルタにより自動的に1枚の絵が完成します。

  実験目的 このときフィールド分離をしてリサイズするかしないかによって、どのような差が生まれるか調べました。



  このときフィールド分離をしてリサイズするかしないかによって、どのような差が生まれるか調べました。

       
  左がそのまま縮小、右がフィールド分離して縮小しフィールド結合したものです。
  明らかに右側が2重線になってぼやけています。フィールド分離が及ぼす連続性崩壊が問題になっていると思います。
  この状態だと圧縮率も悪くなり、汚い映像になることは間違えありません。
  これを考慮すると、HD→D1のデジタル縮小ダウンコンバートもその影響を受けると思われます。

  今回使用したBitmapは、プログレッシブソースなので実際のインターレースにどのように働くかを
  示したものではありません。ジャンパー本人はBSデジタルキャプした縦解像度1080ピクセル(ライン)ものを所有しています。

  HD→D1のとき、どのような不具合が起こる(または成功する)のかを、次回に紹介します。



  まとめ:インターレース動画をインターレース動画にエンコードする時はクリッピングは使えず、黒縁にするしかありません。
  黒縁が嫌な人も多いと思いますが、インターレース縞をまたいで映像は連続性を持っているのです。
  また、ハイビジョン映像をデジタル的に縮小する場合もフィールド分離により映像の美しさが、失われる可能性もあります。

  拡大時や縮小時に、フィールドごとのライン上下関係も連続性を崩す要因になっていることも、気をつけなければいけません。
  フィールドの絵は元は1ラインずつ離れた場所に存在しているので、分離して隣り合う場合は相互に影響を受けるということです。

  新たな拡大・縮小アルゴリズムが生まれるまで、フィールド単位クリッピングを用いるのは、
  やめたほうが賢明であることが理解できたと思います。



もどる



Internet Explorer5以上、横解像度800以上でのの閲覧を推奨します
jumper