★おしらせ★
ここはややマニアックなので、家庭用ビデオ編集向けのもっとベーシックな内容をhttp://dtv.sakura.ne.jp/に展開中です。あわせてご覧ください。

ここは何か

置き場に困ったものを置いています。

DePulse.dll

<あなたも、プラグイン作ってみません?>コーナーという大変すばらしいページに出会い、見よう見まねで作ってみました。命名、DePulse.dll。映像の中で、ピッ、ピッと横に入る白いノイズを軽減します。古い蛍光灯とか、バイクのエンジンのノイズらしい。 左がフィルタ前、右がフィルタ後です。上の画像では右上の人物の腰の辺りに長い黒と白のノイズ。下の画像では左下に2本白い線があります。
使い方と注意点は以下のとおり。
  • 私はC++をほとんど知りません。ソースを見て必要以上に笑わないように。
  • トップファーストのインターレース専用。
  • YUY2専用。
  • 呼び出し方は DePulse(clip, h=[0〜255], l=[0〜255], d=[0〜255], debug=[true/false])
  • h 以下の輝度は、白ノイズの対象にしません。
  • l 以上の輝度は、黒ノイズの対象にしません。
  • d 以上、前後(の上下)フィールドのピクセルと輝度が違うと、ノイズと判定します。(白・黒ノイズ共用)
  • debug を true にすると、白/黒ノイズと判定した部分にピンク/緑の色がつきます。
  • DePulseをダウンロード
    2005/04/11updateしました。ブラウザのキャッシュに残っている場合があるので解答後、中身のファイルの日付を確認してください。使い方も中のテキストファイルに書いてあります。

    dw2DNR.dll

    dw3DNR.dllの派製品。インタレ非対応。場所に応じて大きいマスク1種類と、小さいマスク2種類の計3種類のマスクを使い分けながらノイズ除去し(ぼかし)ます。
    dw2DNR(th=10,debug=false) ←こんな感じで。
    th は、大きいマスクを使うか、小さいマスクを使うかの閾値です。5〜30ぐらいじゃないでしょうか。デフォルトは10。
    debug を true にすると、大きいマスクを適用する範囲(大きくぼかす範囲)がわかります。
    長所は、debug が見やすくエッジを残しやすいので精神的に良いw。また、多少のブロックノイズならこれでごまかせてしまいます。
    短所は、どんな th を設定しようが、エッジ部にも微小なぼかしが入る。が、元ネタがよほどはっきりくっきりしてないと差はわかりづらいでしょう。あと、色差の設定項目について手抜きしています。
    ダウンロード

    dw3DNR.dll(プロトタイプ)

    現在2chのスレで評価依頼中。いまのところインタレ・トップファースト専用。dw3DNR(st=1,y=true,uv=false) ←こんな感じで。stは0〜1で、利きの強さ。今わかっていること「古いVHSには有効」
    ダウンロード

    DePulseC.dll(プロトタイプ)

    DePulse.dllの姉妹品。同じアルゴリズムを色差に適用しているだけ。色のパルスノイズを低減します。そのうちDePulseと統合。
    ダウンロード