AviSynth を利用して古い8ミリビデオの画質を向上させてみた

Ubuntu9にて作業した。

1.ビデオの取り込み

Kinoやdvgrabでキャプチャ。

あるいはWinFFを利用して、DV Rawに変換させつつUbuntuのHDに持ってくる。(MacのFinalCutで取り込んで保存していたUSB HDをUbuntuのパソコンにつなぎ替えて)

2.トリミング

Kinoで必要部分を切り出し。
(色補正用に短いフレームのものと、修正したい全体シーンのものの、2種類)

mencoderで、AviSynthの読める形式にdvファイルを変換する。
$ mencoder キャプチャしたファイル名.dv -nosound -ovc raw  -vf format=yuy2 -o 読ませるファイル名.avi

3.avsファイルの作成

avsファイルの作成。(手ブレ補正、色補正、ノイズ取り)

試行錯誤の結果こうなる。

#8ミリビデオ用色補正
AviSource("/home/myname/avs2yuv/ 読ませるファイル名.avi")

LoadPlugin("/home/myname/.wine/dosdevices/c:/Program Files/AviSynth 2.5/plugins/AGC.dll")
LoadPlugin("/home/myname/.wine/dosdevices/c:/Program Files/AviSynth 2.5/plugins/autolevels.dll")
LoadPlugin("/home/myname/.wine/dosdevices/c:/Program Files/AviSynth 2.5/plugins/DePan.dll")
Loadplugin("/home/myname/
.wine/dosdevices/c:/Program Files/AviSynth 2.5/plugins/MVTools.dll")
LoadPlugin("/home/myname/.wine/dosdevices/c:/Program Files/AviSynth 2.5/plugins/fluxsmooth.dll")
LoadPlugin("/home/myname/.wine/dosdevices/c:/Program Files/AviSynth 2.5/plugins/PeachSmoother.dll")
LoadPlugin("/home/myname/.wine/dosdevices/c:/Program Files/AviSynth 2.5/plugins/GuavaComb.dll")
LoadPlugin("/home/myname/.wine/dosdevices/c:/Program Files/AviSynth 2.5/plugins/GiCoCu.dll")

ConvertToYUY2()
PeachSmoother()

AssumeTFF()
SeparateFields()

source=ConvertToYV12()
#---------------------------------------------
vectors = source.MVAnalyse(isb = false,search = 3)
globalmotion = source.MVDepan(vectors,thSCD1=600,thSCD2=130,zoom = true)
DepanStabilize(source, data=globalmotion, info=false,cutoff=0.1,method=1, mirror=15,blur=30,damping=1)
#---------------------------------------------

HDRAGC(min_gain = 0.0, coef_sat =3.5,avg_window=30,black_clip=1)

ColorYUV(autogain=true, autowhite=true)
#---------------------------------------------
ConvertToRGB24()最初、ここはコメント アウトしておく
GiCoCu("/home/myname/avs2yuv/ カーブ名.cur")最初、ここはコメントアウトしておく
#-------------------------------------------

ConvertToYV12()
FluxSmoothT()

Weave()

ConvertToYUY2()
GuavaComb(mode="NTSC")

4.avsスクリプトの実行

    4.1予備の色補正

UbuntuからwindowsのAvisynthを使うために、wineで avs2yuv.exeを動かす。
作業用ファイルは全部avs2yuvフォルダに入れておく。
まず、色補正試験用の短いDVファイルを読ませる。
~/avs2yuv$ wine avs2yuv.exe avsファイル名.avs - | mencoder - -o 補正されたファイル名.avi  -ovc lavc -lavcopts vcodec=ffvhuff:vstrict=-1:pred=2:context=1 -demuxer y4m


手ブレと予備の色補正された短い動画が出来上がる。
これを動画プレーヤーで開いて静止画をキャプチャする。
その静止画をGimpで開く。


色レベル調整ウインドウを開き、自動レベルやグレー点の指定で色を調整する。


「この設定をトーンカーブで調整」をクリックしトーンカーブウインドウを開き、「設定をエクスポート」

「旧カーブフォーマットを使用」にチェックを入れて、拡張子curで保存。

    4.2本番ファイルの補正

avsファイルの
ConvertToRGB24()
GiCoCu("/home/myname/avs2yuv/カーブ名.cur")
のコメントアウトを外し、読ませるファイル名を本番のものに変える。
AviSource("/home/myname/avs2yuv/読ませるファイル名. avi")

AviSynthを再度実行
~/avs2yuv$ wine avs2yuv.exe avsファイル名.avs - | mencoder - -o 補正されたファイル名.avi  -ovc lavc -lavcopts vcodec=ffvhuff:vstrict=-1:pred=2:context=1 -demuxer y4m

5.できあがり

わかりやすい様に、手ブレ補正の情報を表示して書き出した。
WinFFでmp4に変換した。
補正前
補正後