ビデオリッピング。 パート2-4。 IVTC

内容



  1. DVDの準備

    1. vStrip
    2. DGMPGDec


  2. ビデオ処理

    1. インターレースとは何で、何を食べますか
    2. プログレッシブ、インターレース、またはテレシネ化されたものを判断する方法は?
    3. 通常のインターレース(デインターレース)を取り除く
    4. IVTC


  3. 絞ってパック





前の記事が公開されてからかなりの時間が経ちましたが、どうにかして座り続けられませんでした。 これは、IVTCのトピックが私にとってあまりにも曖昧であるため、開始するのがさらに怖いという事実によるものですが、今日、今日は怠idleな日でした。



テレシネとは何ですか。なぜ以前のパートの 1つを読んでそれを更新する必要があるのですか。 IVTCはInVerse TeleCine、つまり この機会を取り除く。



実際、私の練習では通常のインターレースを使用したビデオは非常にまれで、プルダウンはほとんど常にそこにありました。 プルダウンタイプの数(および変換中に発生する可能性のあるエラー、または何らかの種類の「ハッキング」)を考えると、それを取り除くことが職業になります。



はい、すべてが定性的に行われている場合、AviSynthのプラグインを取り、設定を少しひねって良い結果を得るのに十分ですが、何かがうまくいかない場合、エンコードは一度に複数のプラグインを使用して、ビデオの異なる部分のために地獄に変わりますそれらの異なるセットがあります。



しかし、私はあなたを再びいじめません。 どんなツールがあるのか​​見てみましょう。



すべてのIVTCプラグインの動作の一般的なアルゴリズムは次のとおりです。最初にプログレッシブフレームが復元され、その後処理がオプションになります。これは、最初の段階で認識できなかったプログレッシブフレームを作成するのに役立ちます。ある標準値に。



分解



このプラグインに関する簡単でわかりやすいチュートリアルを次に示します。 私はすべてを語り直すつもりはありませんが、英語と対立する人々のために重要なポイントを簡潔に述べます。



1.最初に、 インターレースを取り除く場合のように、フィールドの順序を確立する必要があります。



DirectShowSource("00581.mts")

AssumeTFF()








2.次に、 ここで書いたタイププルダウンを確立する必要があります 。 どのような種類のデジタルカードを置くか、ドキュメントを参照してください。 バージョンごとに、それらを変更して補足することができます。



DirectShowSource("00581.mts")

AssumeTFF()

Telecide(guide=2)








「プルダウンの種類を判断する方法」という質問があるようです。 ハ! 私はここでこれについて書きましたが、実際には、これはすべてゴミです。 :(手動でビデオをフレームごとに表示することによってのみタイプを決定できます。また、参照によってプログラムを作成するという事実は、ヒントとしてのみ使用できます。



それでも、Telecideでは、パラメーターshow = trueを渡して、プレーヤーまたはVirtualDubで開くと、ビデオの上に統計が表示されます。 もちろん、元のファイルは変更されません。



DirectShowSource("00581.mts")

AssumeTFF()

Telecide(guide=1,post=0,show=true)








こんな感じです。



すぐに、テレサイドで、後処理が設定されます。



DirectShowSource("00581.mts")

AssumeTFF()

Telecide(guide=1,post=2,vthresh=30)








3.最後に、余分なフレームを取り除く必要があります。 PALビデオがある場合は、間引きは必要ありません。



DirectShowSource("00581.mts")

AssumeTFF()

Telecide(guide=1,post=2,vthresh=30)

Decimate()








私の経験では、Decombはハイブリッドビデオではうまく機能しません。 これは、プルダウンのあるフレームの一部とプログレッシブの一部を含むビデオです。 アニメを頻繁にコーディングします。



しかし、このプラグインにはあらゆる種類の微妙な設定があり、ねじれているので、確実に良い結果を得ることができます。



TIVTC



しかし、私はこの小さなものがより好きです。 設定の数によって、それらの微妙さはDecombと競合できます。 AviSynthとそのプラグインについて言えば、このプラグインをユーザーフレンドリーとも呼びます。 :)



ドキュメントを参照して、特定の状況でこのプラグインを使用する方法については説明しませんが、いくつかの点に注意します。



まず、ハイブリッドビデオの素晴らしいサポートがあります。これにはいくつかのレベルの特別な設定があります。



第二に、外部の後処理フィルターのサポート、独自のフィルターを作成して接続することもできます。



第三に、2つのパスで処理する可能性! これは非常に便利な機能です。 品質の向上と処理時間の増加に加えて、2回目のパスの後、プラグインはネストされた人形(mkv)に収集するためのタイムスタンプ付きのファイルを生成します。 つまり、可変フレームレートを実装できます。



つまり、一部の場所、たとえばクレジットにいくつかの繰り返しフレームがある場合、またはアニメでは珍しいことではないが、アクション自体の中にもいくつかの繰り返しフレームがある場合、プラグインはこれを検出し、対応するメモを作成します。 これにより、出力ファイルのサイズが節約されたり、より高いビットレートで圧縮の範囲が追加されたりする場合があります。



2つのavsファイルの例を示します。



最初のパス:



LoadPlugin("Plugins\DGDecode.dll")

LoadPlugin("Plugins\tivtc.dll")



mpeg2source("D2V\e01.d2v")



AssumeTFF()



mpeg2source("D2V\e01.d2v")

tfm(d2v="D2V\e01.d2v", output="e01_matches.txt")

tdecimate(mode=4, output="e01_metrics.txt")








セカンドパス:



LoadPlugin("Plugins\DGDecode.dll")

LoadPlugin("Plugins\tivtc.dll")



mpeg2source("D2V\e02.d2v")



AssumeTFF()



mpeg2source("D2V\e02.d2v")

tfm(d2v="D2V\e02.d2v", input="e02_matches.txt")

tdecimate(mode=5, hybrid=2, vfrDec=1, input="e02_metrics.txt", tfmIn="e02_matches.txt", mkvOut="e02_tcode.txt")








ご覧のとおり、2番目のケースではmkvOut = "e02_tcode.txt"? これだ。 人形の収集に関する部分で使用方法を説明します。



TIVTCについてはこれ以上何も語りません。ドキュメントよりも良いことは言えないからです。 ドックは素晴らしく、すべてが非常に明確に書かれています。 いつか翻訳に携わるでしょう。 誰が知っている :)



All Articles