日記
i/p変換技術
2020年10月12日
先日から私はアップコンバートとi/p変換の事で悩んでおりました。
一つはFinal Cut Pro Xのi/p変換品質の低さであり垂直解像度の低下や斜め線でのジャギーの発生が気になりました。
もう一つは信号処理の手順でありアップコンバートをした後にi/p変換をしている事に対する不満でした。これは事前に高品位なi/p変換を行った後にアップコンバートを行う事で垂直解像度の低下の少ないより優れた品質でアップコンバートを行う事が可能であると考えられる為です。
i/p変換とアップコンバートを行えるハードウェアは数多く存在しておりますけれども、i/p変換の質に対して納得出来る技術的説明のある機種が中々見当たらずブランドや製品のクラスなどから良さそうな物を模索する様に情報を収集する状況が続いておりました。
今日になって既に知っているマルチフォーマットコンバーターの一つに非常に優れたi/p Convertorが搭載されている事に気付きました。
一般的にi/p変換は次の様な方法で行われます…
・even, oddの両方のフィールドを単純に組み合わせる
・片方のフィールドのみを用いる
・動きの有無に応じて両方, 片方から動作を切り替える
・片方のフィールドを用いつつももう片方のフィールドを補完データとして用いる
両方のフィールドを単純に組み合わせた場合、静止画では垂直解像度の低下の無い完全なi/p変換を可能としますが動画画はコーミングが発生してしまうと言う欠点があります。
片方のフィールドを用いる場合、原理的にコーミングの発生がありませんが垂直解像度は半分以下に低下します。
動きに応じて切り替えた場合、静止画での垂直解像度を維持しつつも動画でのコーミング発生を回避出来ます。
片方のフィールドを補完データとして用いる場合、静止画では多少の垂直解像度の向上は見込めますが動画ではあまり効果を期待出来ません。
以上の様に一般的な方法ではコーミングを許容するか垂直解像度の低下を許容するかの何方かを強いられる事となりネイティブインターレースソースに置いては良好な変換を望めません。
ネイティブインターレースソースに置いて完全な垂直解像度を保持したままコーミングの無いi/p変換を実現する方法としてモーションベクトルによる動き補償を活用した方法が存在している様です。
モーションベクトルを用いた動き補償は高性能なフレームレート変換器などで用いられている技術であり、その分野での活用や効果については存じておりましたがi/p Convertorに置いての使用と活用はこの度初めて学ぶ事となりました。
原理としてはモーションベクトルを生成し隣接フィールドのサンプルをシフトさせる事で動き補償フレームを生成、生成した動き補償ウレームと単純に組み合わせる事で常時垂直解像度の低下, コーミングの発生共に無いフレームを得ようと言う物だそうです。
この方法はモーションベクトルの生成とサンプルシフトをブロック単位で行うかサンプル単位で行うかでi/p変換の質に差異が生じ、ブロック単位で行った場合ブロック輪郭にアーティファクトが発生してしまう欠点がありサンプル単位で行う事でアーティファクトの無い完全な効果を得る事が可能となるそうです。
動き補償を活用したi/p Convertorを搭載した製品が実際に存在しており、更にその製品はサンプル単位での処理を行う物であるという事がこの度解りました。