Log in

View Full Version : compression artifacts removal


feisty2
8th October 2020, 22:36
I'm developing the next version of Oyster (https://github.com/IFeelBloated/Oyster/blob/alpha/Alpha.py), it is capable of handling more extreme cases than the previous version, you're welcome to play with it and suggest a set of reasonable default settings for each filter.

before:
https://i.imgur.com/q0sbtPt.png
https://i.imgur.com/E1UuqQN.png

after:
https://i.imgur.com/ZbMUS9v.png
https://i.imgur.com/S9L5r7F.png

Cary Knoop
8th October 2020, 22:43
I'm developing the [URL="https://github.com/IFeelBloated/Oyster/blob/alpha/Alpha.py"]
Cary, checking the AMD website on the status of the latest 256 core 12.3GHz processor. ;)

But all joking aside, great job, Feisty, I will start checking this soon!

feisty2
8th October 2020, 22:55
Cary, checking the AMD website on the status of the latest 256 core 12.3GHz processor. ;)

But all joking aside, great job, Feisty, I will start checking this soon!

you can checkpoint intermediate results by materializing (https://github.com/IFeelBloated/Oyster/blob/alpha/Alpha.py#L49) them onto the hard drive (note that mv fields will be VERY large) and speed things up.

settings I used to produce the results above:

clip.OysterDecombing(6, 8, 12, 4, 2000, 1200, 100, 4, breakdown='',checkpoints=['prefilter','supersample','motionanalysis','compensate'])

clip.OysterBasic(6, 16, 16, mse=24 * 160.0 + 1200.0, mse2=24 * 120.0 + 800.0, hard_thr=3.2, block_size=8, block_step=1, group_size=32, bm_range=24, bm_step=1, pel=4, sad=2000, me_sad_upperbound=1200, me_sad_lowerbound=100, searchparam=4, breakdown='',checkpoints=['spatialbasic','spatialfinal', 'supersample', 'motionanalysis'])

clip.OysterDeblocking(ref, 6, a=32, s=4, h=2.4, sigma=24, sigma2=24, mse=None, mse2=None, hard_thr=2.7, block_size=8, block_step=1, group_size=32, bm_range=24, bm_step=1, ps_num=2, ps_range=8, ps_step=1, sbsize=9, slocation=[0.0,0.0, 0.12,1024.0, 1.0,1024.0], crop_left=0, crop_top=0, breakdown='',checkpoints=['cleanse','refinebasic','refinefinal'])

clip.OysterDeringing(ref, radius=6, sigma=8, sigma2=8, mse=None, mse2=None, hard_thr=3.2, block_size=8, block_step=1, group_size=32, bm_range=24, bm_step=1, ps_num=2, ps_range=8, ps_step=1, h_upperbound=6.4, h_lowerbound=4.8, refine_sigma=4, refine_sigma2=4, refine_mse=None, refine_mse2=None, refine_hard_thr=2.7, sbsize=9, slocation=[0.0,8.0, 0.12,1024.0, 1.0,1024.0], breakdown='',checkpoints=['cleansebasic','cleansefinal','restore','refinebasic','refinefinal'])


to use Alpha.py, you will need to call "Alpha._init()" after importing it, and you will need to compile my patched version of BM3D (https://github.com/IFeelBloated/VapourSynth-BM3D).

edit:
and all inputs must be GrayS (fp32 grayscale)

ReinerSchweinlin
28th October 2020, 10:35
Thanx for working on this, it looks very good. Hope I will find some time to check it out.