//EDIT: As mentioned in the comments, my version isn't flawless: it leaves a transparent gap in the top row and right column of the result. Of course you can always scale a little larger than the exact factor, but this might result in losing image information. Scroll to the end to find a solution for this.
Simple solution (with gaps): Because the link to the manual already explains what you have to do, so this will be my first option of explanation:
- You can place a Pixelate node between two Scale nodes. If you set them to Relative, you can use the first one to scale the image down by a factor x, for example 0.1, then pixelate the image and scale it back up by 1/x i.e. in this example 10. If you want to automate this a bit you can put a Value node in there to hold the factor x and a Divide node to get the upscaling factor.
Now the reason I give an answer instead of just leaving it at that link to the manual is the following: if you want to scale the image down to absolute pixel values instead of scaling relative, you can set the Scale node to absolute and enter perhaps 192 x 108 pixels.
The problem is, if you want to scale it back to normal Scene Size or Render Size, these options will not work. It seems as if scaling down the image means Blender scaled the render/scene size down as well.
So the only way would be to use Absolute for upscaling and set it manually to the render size, let's say that's 1920 x 1080. But that doesn't work either. To get back the original image size, the absolute pixels have to be scaled by the reciprocal of the downscaling factor as well. So if you scaled it down to original/10 = 192 x 108, you have to set the upscaling to original*10 = 19200 x 10800.
- If you don't want to do all manually, you could use Value nodes for the X and Y size you want to scale down to absolutely, then place Divide nodes afterwards where you divide the original dimensions by the new small dimensions and plug the results in the upscaling node, set to Relative.
You can try different combinations of relative and absolute scaling to get the desired result, just know that using Scene Size or Render Size in the Scale node doesn't seem to work to get back to the original size. For the Absolute workflow it's a bit annoying that there are no nodes to read the render dimensions from the settings and put them in the nodetree somehow, but maybe I'm just missing something and someone else could help.
Updated solution (without gaps): The gaps are not a result of the image not being scaled up large enough, but rather a misplacement of the image's origin point. If you for example scale down to 1/4 of the original size and afterwards scale up by 4 to bring back the original size, there is a gap of 2 pixels at the top and 2 pixels to the right. If you use 1/10 down and 10 up, the gap is 5 pixels top and right.
So the upscaled image seems shifted to the left and down by 1/2 of the upscaling factor. To compensate for this, you can simply divide the upscaling factor by 2 and plug this value into the X and Y inputs of a Transform node, placed after the upscaling node.
This is a simplified version if you want to scale uniformly with a relative factor on X and Y:
But it also doesn't matter if you want to scale X and Y different from each other, in this case you have to shift individually on X and Y in the Transform node as well:
Of course this all works with downscaling the image to absolute pixel values as well (although this method still has the disadvantage that the render size isn't set automatically). Like in the simple solution before, by dividing the original render dimensions with the new values, you get the upscaling factors. And from those you again need the half for the Transform node: