Sponsored By

A paper from researchers at Microsoft Research and Hebrew University details a new, spline-based algorithm for transforming pixel art, such as that from early sprite-based games, into scalable vector images.

Kyle Orland, Blogger

May 25, 2011

2 Min Read

A paper from researchers at Microsoft Research and Hebrew University details a new, spline-based algorithm for transforming pixel art, such as that from early sprite-based games, into scalable vector images. Johannes Kopf and Dani Lischinski's "Depixelizing Pixel Art" [PDF] describes an upscaling technique that differs from popular methods used by companies like Adobe in ways that are particularly suited for the low-resolution sprites of classic games. For example, the algorithm assumes that pixels in the initial image were placed deliberately by artists, and that lone pixels don't appear simply as artifacts of a digital imaging process. The algorithm also evaluates pixel connections across the entire image, rather than focusing on a series of local areas, to determine whether pixels form a part of a long line that should be smoothed out or a corner that should be given a sharper edge. The researchers have also implemented a series of heuristics to determine whether ambiguous pixel patterns, like a zig-zagging checkerboard, should be grouped together or separated into distinct lines. Results for a variety of sample images presented in the paper improve drastically on existing algorithms, though the researchers admit their method fails for anti-aliased sprites like those found in Doom, and for situations where a more angular look is actually desired. Scaling pixel art images to look natural on high-definition displays has been a problem for many modern updates to classic games, with most companies simply hiring artists to redraw those sprites in much greater detail, often at great cost. The researchers hope future work will optimize their algorithm to the point where it can be used in real time on emulators, and even potentially form the basis for a method that generates additional frames to keep upscaled sprites from appearing jumpy.

About the Author(s)

Kyle Orland

Blogger

Kyle Orland is a games journalist. His work blog is located at http://kyleorland.blogsome.com/

Daily news, dev blogs, and stories from Game Developer straight to your inbox

You May Also Like