Hacker News new | past | comments | ask | show | jobs | submit login
MMPX Style-Preserving Pixel Art Magnification [pdf] (casual-effects.com)
64 points by ingve 20 days ago | hide | past | favorite | 13 comments



Nice. I can recommend trying the demo which compares with a few other algorithms.[1] (Just drag in a PNG with some pixel art.)

This algorithm doesn't seem to do a good job of handling anti-aliasing or dithering, which I would have expected to be listed among their style-preserving properties. Their R vs Я example is a very good illustration of why that's difficult, as it could also be interpreted as a small dithered gradient.

1: https://morgan3d.github.io/quadplay/tools/scalepix.html


Really interesting. The examples in the PDF help sell the difference. I could see this technology being used for 2D game remasters. For example, several PS1 and Saturn eta titles suffer from being low resolution. This could provide a first pass at making the assets for a remaster. I could also see this being used in the missing community.


It is interesting that they don't seem to compare this algorithm to hqx (hq2x), which in my opinion is the best looking of the pixel art scaling algorithms.


If you actually read (or even just search), they do compare it in the supplemental material, they explain in detail why it’s not the most appropriate algorithm to compare with, and it’s generally mentioned repeatedly across the entire paper.


The paper was published in January, does anybody know if any emulator implements the algorithm? I would love to try it.

Another thing I have been wondering for a while is that, as far as I know, these algorithms work on the final picture, after all the backgrounds and sprites have been drawn. I wonder if scaling every layer independently and then compositing them would give better results.


I wonder if there's some applicability in other spaces. Maybe, for example, in scaling up some part of a quilt, cross-stitch or needlepoint pattern.


It's certainly an improvement over nearest-neighbor, but one thing it doesn't take into account is that pre-millennium pixel art was designed on and for CRT displays. If your goal in up scaling is letting modern audiences enjoy the art, you can't ignore that.

https://i.imgur.com/jd0M8jI.jpg


That's not their goal, and they do take it into account, even cautioning against using the algorithm that way for that exact reason:

> MMPX is sufficiently fast and high enough quality for run-time application in retro game/hardware emulators. Yet, we offer two cautions about using any filter in this manner. [...] true retro hardware and content was designed for cathode ray tube displays. [...] Artists created content with these characteristics in mind and often exploited them. [...] Display-independent magnification algorithms will not properly take frequency content and display filtering into account. They produce net results that may be attractive and useful, but one must acknowledge that the perceived image is not faithful to the original artistic intent.


CRTs could display pretty sharp pictures, those blurring effects where actually an artifact of RF/composite modulation.

Growing up as a PC gamer using VGA, I never experienced that kind of blurriness, and in fact I though that consoles over composite video looked awful.


Portable systems with LCD displays existed, and they used the same pixel art techniques as on CRTs. VGA PC games used line-doubled modes on high resolution monitors, where the individual pixels were clearly visible. Some artists did intend their art to be blurred, but this is not universally true, and even if an artist intended it, it doesn't mean blurring is the best way to view their art. There are games where checkerboard patterns of individual pixels are used to represent fine detail, e.g. rings on chainmail armor, or keys on a typewriter. The wide variety of art styles and personal preferences makes it impossible to definitely state any scaling technique is best.


This problem is generally addressed by shaders, scaling is usually a separate process.


Are there approaches to this problem based on neural networks?


i wonder about this too. in my mind, i feel like some sort of nn magic will eventually be able to miraculously transform A into B - e.g. http://telnet.asia/yoshi_n.png




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: