Method ideas: Dmitriy Vatolin
Implementation: Alexey Moiseytsev
One of the most prominent coding artifacts in highly compressed animated video are the ringing artifacts.
Ringing noise preferably manifest itself around edges due to coarse quantization.
The filter is designed for quality improvement of compressed cartoons like video by deleting ringing effect.
Filter implements three strategies of ringing artifacts removing.
The Strength parameter of the filter sets strength of a filtration of video.
E-mail:
video@graphics.cs.msu.su
Simple Adaptive Filter parameters:
Fuzzy Adaptive Filter parameters:
The filtration strength depends on amount of details in each block.
Left sliders correspond to blocks without details, and right sliders correspond to edge blocks.
There are some presets, which allow quickly selecting filter configuration.
Multipass Bilateral Filter parameters:
Also some general presets can be selected.
If this parameter is greater, more texture details replace by flat regions.
Allows to change filter size.
Allows to control amount of ringing artifacts.
Similarity DB Filter (beta version)
We are still working on this algorithm quality improvement. This version can demonstrate suboptimal results!
This filter requires the file artifact.db, in the plugins folder.
Job control and integration with AviSynth
AviSynth is a powerful tool for video post-production. It provides multiple ways of editing and processing videos.
Filter supports VirtualDub Job Control, and it can be used from AviSynth.
Some examples are listed below.
Simple Adaptive Filter:
LoadVirtualDubPlugin("MSU_cartoon_restore.vdf","MSUCartoonRestore", 0)
clip=AVISource("D:\work\video\film.avi", false, "RGB24")
clip.ConvertToRGB32.MSUCartoonRestore("simple", Smoothness, Threshold)
Fuzzy Adaptive Filter:
LoadVirtualDubPlugin("MSU_cartoon_restore.vdf","MSUCartoonRestore", 0)
clip=AVISource("D:\work\video\film.avi", false, "RGB24")
clip.ConvertToRGB32.MSUCartoonRestore("fuzzy", Strength10, Strength20, Strength30, Strength40, Strength50,
Strength60, Strength70, Strength80, Strength90, Strength100, ShowBlockType)
Multipass Bilateral Filter:
LoadVirtualDubPlugin("MSU_cartoon_restore.vdf","MSUCartoonRestore", 0)
clip=AVISource("D:\work\video\film.avi", false, "RGB24")
clip.ConvertToRGB32.MSUCartoonRestore("bilateral", Iterations, GeometricDispersion, PhotometricDispersion)