Denoise before upscale: the ordering mistake, and why 2x is the ceiling
Most upscaling tutorials tell you to enlarge first. Do that and the model learns the compression blocks and enlarges them too, which is how you get a 4K file that looks worse than the 540p original. I built a browser upscaler while trying to rescue footage from an old phone, so this order is the one that survived testing rather than the one that reads well. The order that works Denoise → enlarge…
The order of operations for upscaling is crucial. Traditionally, tutorials suggest enlarging first, but this often results in a worse output than the original lower resolution file. Instead, the correct approach is to denoise before enlarging, with a maximum enlargement of 2x per axis. After enlargement, inspect the result at 100% to ensure quality. Finally, apply grading to enhance the image.
The key point is that compression introduces regular blocks, not random noise. When blocks are fed into an upscaler, they produce larger but sharper blocks. Therefore, it's essential to denoise the compressed blocks before enlargement. Cap the enlargement at 2x per axis, as higher resolutions lead to the model inventing details instead of reconstructing them.
After enlargement, inspect the image at 100% resolution, specifically examining the hair edge and any text. If the hair appears as a solid mass, the denoise strength was too high. If text becomes indecipherable, the enlargement was too aggressive. Apply grading last, as contrast on a blocky image makes the blocks more noticeable, and grading should come after cleaning the image.
For videos over 30 seconds, the tool caps clips at 30 seconds. Use ffmpeg to segment the video at keyframes, preserving a lossless cut. For batch processing, copy the bitstream without decoding, then segment the video and join the segments without re-encoding. If segments drift out of sync, re-encode the segments.
Different content types require different upscaling approaches. Night footage, such as night grain and anime line art, need opposite treatment. A single model may not perform well on all types of content. Therefore, using per-content presets can improve the result. Different denoise strengths and edge handling are needed for different content.
To verify the result, perform three tests in order: first, toggle the comparison at the same crop. If both versions look the same at 100%, the denoise process did not improve the image. Next, examine the hair edge, not the face. Faces are more forgiving as we expect them to look smooth, while hair details are more revealing of poor upscaling.
Finally, read small text if present in the frame. Text issues indicate that the model has started inventing details rather than reconstructing the original content. If all tests show worse results than the source, adjust the mode rather than increasing the strength of the denoise process.
Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.