リサイズはじつに奥が深い。

動画の高画質なDVD化を目的とし、これまで様々な検証を行ってきた。
これまでのブログ内容と重複する部分もあるが、総括としては以下のとおり。

・ 動画編集ソフトよりAviSynthの方が高精度かつ高画質なリサイズ(縮小)が可能。

・ mpeg2用エンコーダはTMPGEnc、FFmpeg、HCenc、CCE等様々なものがあるが、AviSynthとの親和性を考慮すると、HCencが最良であると思われる。

・ HCencで扱えるのは動画のみのため、音声と分離~結合が必要(DVDオーサリング時)。



リサイズによる色情報消失を最小限に留めるため、16bitでリサイズ可能なDither resizeを使用するのだが、リサイズエンジンはAviSynthに依存する。
代表的な高画質アルゴリズムとして、Blackman、Lanczos、Splineが挙げられるが、Blackmanは設計が古いことから、今回の検証では除外した。

まず、比較画像を見ていただきたい。

【 左 】
丸で囲ったところにリンギングが見られる。
「Lanczos」は非常にエッジの立った画質で、大型液晶テレビでの視聴を考えると、このくらいメリハリがある方が良いかもしれないが、リンギングはいただけない。

【 中央 】
次に「Spline」だが、「Lanczos」と比較すると何となく眠たい画質である。
ただ、リンギングは見られない。

【 右 】
そこで、隠し味程度(0.02)にシャープを加えてみたのが一番右。
サングラスの輪郭(頬の上)がくっきりし、じつにいい感じである。

縮小時のリサイズエンジンとしては、「Lanczos」より「Spline」が適していると判明したが、シャープの適用度合に関し、更に検証を続ける。

比較画像を見て頂ければ一目瞭然であるが、0.04がリンギングが発生しない限界ラインであると思われる。

今回は4K動画をSDにリサイズした。

SDが小さすぎて見えない。。。

 

ついでに恒例の新妻聖子さんでのTVMW比較。

300%まで拡大して比較すると、明らかにdither spの方が解像しているのがわかる。

 

最後にスクリプトを。
※DVDにすることを前提としたスクリプトです。プラグインが適切に導入されていないと機能しません。

※使い方がよくわからないという方向けに、AviSynthやプラグイン、HCencをパッケージ化したファイルを用意しました。必要な方はダウンロードしてください。

https://drive.google.com/open?id=0B7IurkZy-QE6UENJSmcwT3F6MUk


LSMASHSource_LWLibavVideoSource("動画ファイル名")
ChangeFPS(30000,1001)
ColorMatrix(mode="Rec.709->Rec.601",Clamp=0)
Dither_convert_8_to_16()#色深度を8ビットから16ビットに展開
Dither_resize16nr(704,480,kernel="Spline",taps=6,noring=true)#色深度16ビットリサイズ&リンギング抑制/横サイズ,縦サイズ,左クロップ,上クロップ,右クロップ,下クロップ
f3kdb(range=15,Y=56,Cb=40,Cr=40,grainY=0,grainC=0,keep_tv_range=true,input_mode=1,input_depth=16,output_mode=1,output_depth=16,random_algo_ref=2,random_algo_grain=2)#色深度16ビット バンディング処理
DitherPost(mode=6)#色深度を16ビットから8ビットに戻す&バンディング処理2
Sharpen(0.02)
#ColorYUV(gain_y=6,cont_y=10,cont_u=4,cont_v=6) # 輝度=Y,輝度と青の差=U,輝度と赤の差=V
AddBorders(8,0,8,0) # 左,上,右,下