スポンサーサイト

 --, -- --:--
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

一部のエンコオタクの間で流行っているブレンドエンコードとは?

 07, 2015 00:01
この記事は DTV Advent Calendar 2015 に登録させて頂きました。

えがき

録画環境に関しての知識は全然ないので今まで見る専でしたが、エンコネタも OK ということでしたので、無い頭を絞って一筆書きます。
6日目の記事 でブレンドエンコードについて軽く採り上げられていて面白そうだったので、今回はその点にスポットを当てようと思います。





私の知る限り、これまでの DTV エンコードの常識として、ソースファイルを超える画質を出すのは不可能というのが大前提でした。
シャープネスやノイズリダクション等の画質補正で、いくらかマシに“見せる”方法はありますが、どんな処理にも大なり小なり副作用が付き物です。
しかしその前提が揺らぐ技術がとある方のブログで提示され、これまで不可能だったソースの壁を突破(厳密には違いますが)したことで、DTV エンコードの可能性に新しい光が差し込みました。
それは フレーム補完 や waifu2x のように画像を予測生成するようなものではなく、全うな方法で正しい映像を作り出すことが可能なものでした。
この技術を利用するにあたり、必要なものは AviSynth を使える知識と時間です。(メインメモリも多いほうがハッカドール)



リットとデメリット

メリット ─ トンでもなく画質が良い。ファイルサイズを大幅に削減出来る。画質調整をする必要性が減る。
デメリット ─ エンコードに時間がかかる。ソースそのものが綺麗になるので、画質調整の余地(楽しみ?)が減る。



くみ

この技術を利用するにあたり、条件が 1 つあります。
それは、映像の内容が同一であり、且つエンコードプロセスが同一ではないソースファイルを 2 つ以上用意する 事です。
つまり 同じアニメを 2 週以上に亘って録画したものの OP 映像であるとか、同じアニメの同じ話数を複数の放送局から録画したものがこれに該当します。

現在の日本の一般的な放送規格では、たとえ全く同じ映像が流れていたとしても、その時々によってノイズの乗り方が変化します。ブレンド技術はその隙を突いたもので、2 つ以上のソースからノイズ部分を補い合う形で、単一ソースでは実現不可能な画質を実現することが可能になりました。
これは単純な Merge や Overlay とは一線を画する技術です。

blend_process_map.png






手近にあった 2 本の録画データを使って、比較検証します。
今回の検証対象は、コーミング量/SSIM/PSNR/ファイルサイズ とし、ブレンド前・後の数値を出します。

ファイル①: 学○都市アスタリスク #8 (CBC) OP
ファイル②: 学○都市アスタリスク #9 (CBC) OP

コーミング量採取方法
LoadPlugin("MaskTools.dll")

AVISource("asterisk_cbc_09.raw.avi").ConvertToYV12()
WriteCombLog("asterisk_cbc_09.raw.avi.log")

return last

function WriteCombLog(clip clip, string file) {
global file=file
ScriptClip(clip, """
frame=LPad(String(Current_Frame),"0",StrLen(String(FrameCount)))
comb=LPad(String(CombCheck().AverageChromaV()),"0",10)
line=string("-")
value=frame+line+comb
WriteFile(last, file, "value",append=true)
"""
)
}

function LPad(string a, string b, int cnt){
a=strlen(a)<cnt?b+a:a
return strlen(a)<cnt?lpad(a,b,cnt):a
}

function Combcheck (clip clip, int "thr") {
thr=default(thr,10)
clip=mt_merge(Grayscale(clip),ColorYUV(Grayscale(clip),gain_u=100,gain_v=100),CombMask(clip,thY1=thr,thY2=thr),luma=true)
return clip
}


ファイルサイズ採取方法(品質固定)
x264 --preset Medium --ssim --psnr --output %out% %src% 2>%out%.log


SSIM/PSNR採取方法(ビットレート固定)
x264 --preset Medium --bitrate 6000 --qcomp 1.0 --no-mbtree --ssim --psnr --output %out% %src% 2>%out%.log


検証結果


















ファイル コーミング量 ファイルサイズ SSIM(Y) PSNR(Avg)
ファイル①
130.4182803
69,234,880
0.9732863
44.076
ファイル②
130.4626961
69,458,405
0.9734497
44.037
①+②
129.1796893
62,503,931
0.9795467
45.100


コーミング量は、コーミング 0 の状態で 128.0 という数値が出るので、差し引いて計算すると 約 52% の削減
ファイルサイズは 約 10% の削減
SSIM と PSNR も良くなっていますが、条件次第で幅は変わりそうです。ただ余程のことが無い限り成績が逆転することは無いと思います。

以上の結果になりました。とても驚異的です。



わりに

今回は 2 本のソースでのブレンドをご紹介しましたが、同じ要領で 4 本、8 本と掛け合わせていくと、更にノイズが減り、不純物の少ない良質な映像が生まれます。
一度ブレンドした映像を見てみると、あまりの綺麗さに、癖になってやめられません(汗)

今回ご紹介した記事によって、ノイズの有無が如何に画質やファイルサイズに影響しているかが分かって頂けたかと思います。
ブレンドエンコードに関して、エンコerの皆様に少しでも興味を持っていただけたら幸いです。

私は、ブレンドエンコードをする人が増えてくれると嬉しいと思っているので、もしこの記事が宣伝に良いと思っていただけたら Tweet などで知人に紹介して貰えると嬉しいです。



それでは、良いエンコライフを!






関連記事
ブレンドによる効果の程は?画像を使ってNRとの違いを検証
多少映像に違いがあっても問題なくブレンドするには?



※使用している画像は著作権フリーです

スポンサーサイト

Tag:DTV AviSynth FlexibleMerge ブレンド エンコード

COMMENT - 0



WHAT'S NEW?

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。