I modified my simple block-copying upscaler to enlarge pixels instead of blocks. Like the Dimension upscaler, it does matching by using a 3 x 3 block centered around the target pixel to act as a context, and then looks for 6 x 6 blocks. The center 2 x 2 block is then used from the best matching 6 x 6 block. The earlier problem of edges having “knicks” is gone, but the image tends to be more posterized (or the “oil painting” effect is stronger). Some small details such as lower eyelashes are washed out. Still, it is noticeably sharper than a bicubic upsampling.
I have included upscalings (from 512 x 512 to 1024 x 1024) of both my test image and the classic Lenna.