Thanks to 动漫国字幕组&白月字幕组 for allowing us to mux in their wonderful 中文 subtitles.
slow.pics compare: https://slow.pics/c/e3OUqwU6
This anime is descalable. The original upscale is aligned to the centre of the edge pixel.
We descale via Lanczos(2) to 1920*(1552-1)/(1920-1)×1080*(873-1)/(1080-1), limited by line mask to avoid damaging texture, and protected by credit mask and various other masks.
In addition, the post colouring antialiasing in the original production frequently failed on areas with darker background colour. This is especially common in the lineart on school uniform.
During the descale, we perform an AA on doubled using vsaa.based_aa. This AA only applies on darker areas of the character via a character mask using anime-segmentation model and a luminance mask, and doesn't touch anything else. This fixes a good portion of the remaining aliasing.
Noisewise, the JPBD has heavy noise. We believe it isn't artistic, so we try to remove as much as can be safely removed. However, on the other hand, some texture in this anime is extremely weak, and being weaker than the noise, they are very temporally unstable.
We denoise via mc_degrain + bm3d on luma, adjusted via a character mask via anime-segmentation to apply much weaker denoise on background than chararcter, and we denoise via mc_degrain + wnnm on chroma.
After the base denoise above which is shared with the main encode, in the mini, we first remove some invisible information in very bright area via vsdenoise.decrease_size
And then to achieve better weak lineart retention in mini, we use MVTools temporally stablise the noise in the source and deband as much as possible. This is performed by feeding MVTools.degrain with a very light denoised and debanded clip with placebo_deband as fallback, and a deband only clip as main.
The encode is performed using Apr 28 version of 5fish/SVT-AV1-PSY via vsmuxtools. We use --preset 2 --crf 24.40 --lineart-psy-bias 6 --texture-psy-bias 3 as a base, --hierarchical-levels 4 --balancing-luminance-lambda-bias 0.5 and brand new quantisation optimisation pararmeter --psy-bias-optimize-b 1 for better weak lineart retention in addition to existing features of --lineart-psy-bias 6, and --dlf-bias-min-dlf 0,0 for better retention given the absence of heavy texture or noise in this anime.
We apply a film grain layer with median size grain estimated from a SIMPLEX noise via --fgs-table to this encode.
Thanks to comet and other people for guiding me through descale process, and thanks to people on the SeaDex server for pointing out issues with banding.
Thanks to all the people creating the tools, plugins and vsfunc’s that make this possible.
If you’re interested in AV1 encoding for anime, you are welcome to join AV1 weeb edition at https://discord.gg/83dRFDFDp7.
You are welcome to do anything with this encode, including remuxing and republishing it.