Slashdot Mirror


Upscaling Retro 8-Bit Pixel Art To Vector Graphics

An anonymous reader writes "Two researchers — Johannes Kopf from Microsoft, and Dani Lischinski from The Hebrew University — have successfully created an algorithm that depixelizes and upscales low-resolution 8-bit 'pixel art' into lush vector graphics. The algorithm identifies pixel-level details (original paper — PDF) to accurately shade the new image — but more importantly, the algorithm can create smooth, curved contour lines from only-connected-on-the-diagonal single pixels. At long last, we might be able to play Super Mario Bros. on a big screen without stretching our beloved plumber's pixels to breaking point. You really must look at the sample images." Scroll down in the paper to see how their technique stacks up against some others, including Adobe's Live Trace.

233 of 325 comments (clear)

  1. Wonderful! by ModernGeek · · Score: 3, Interesting

    I've always thought that this would be possible. Now we just need to create a translator that will let us play our retro games with vector graphics.

    --
    Sig: I stole this sig.
    1. Re:Wonderful! by gl4ss · · Score: 1

      like an emulator? many of them have advanced smoothing effects already, with options.

      there's just this ONE LITTLE PROBLEM, you can't recreate information the artist left in his head because there wasn't enough pixels - so the stuff will look "good", sometimes. a lot of the times it will make straight line symbols and such look like shit. and also the sprites in the game will still move one pixel at a time at least, so it's not going to look great on hd anyways, unless you start smoothing between the frames too - which will again make it look something it wasn't supposed to look like.

      so if you want really good mario1 recreation using this thing, well, you would need to hand hint it to turn some sprites into shapes and others to not. might just as well recode the entire game and just use the levels from the original.

      the algorithm isn't magic. it's not some CSI shit that would let you zoom infinitely and recreate lost data accurately.

      --
      world was created 5 seconds before this post as it is.
    2. Re:Wonderful! by Anonymous Coward · · Score: 1

      PROTIP: SCUMMVM has done this for years, with a whole set of different filtering techniques: http://wiki.scummvm.org/index.php/User_Manual/Appendix:_Graphic_filters

      Granted, they are not vectorizing. But they were big enough.

      Iâ(TM)ve played Zak McKracken, Indiana Jones, DOTT, Monkey Island, and lots of others that way, and most of the time, the results were really nice.

    3. Re:Wonderful! by Swiper · · Score: 2

      Methods for retrieving information from pixelised images already exist, by no means black magic, they involve the use of wavelet analysis in combination with neural processing and recombination to refine an image. Examples of this kind of work are found in practical applications such as number plate recognition, where often a bad photograph is the starting point. This allows elements to be reconstructed even when information is partially missing. It's not an infinite super zoom as you see on CSI, that's just populist and totally unrealistic Ooh Aah effects, but it does work, given certain basic rules and parameters are respected.These methods are generally aiming at extracting information from the image, filling in the missing parts is from the image point of view just a little bonus, but the approach of vectorisation taken here is actually very closely related. Kudos to the guys for actually implementing it.

      --
      ~We demand rigidly defined areas of uncertainty~
    4. Re:Wonderful! by kerobaros · · Score: 2

      If an emulator were using this as a post-emulation filter, collision detection would still work just as well. The emulated system has no idea anything is being vectorised.

    5. Re:Wonderful! by Anonymous Coward · · Score: 1

      So instead of a blocky or blurry mess, it'll be a curvy, rounded mess. Reconstructing image details accurately is still impossible and always will be.

      Besides, the hq4x results in their own comparison still looks better. This new method loses too many of the small details.

    6. Re:Wonderful! by Chatterton · · Score: 1

      What stop the emulator to have 2 display: the hidden one with original graphics where collision detection is done, and the HD one with the nice display?

    7. Re:Wonderful! by AmiMoJo · · Score: 1

      An interesting concept, remastering old games. Sega started doing that a few years back with graphical updates of their classic games for the PS2, but I think they were only on sale in Japan. Monkey Island had this treatment recently too, and you can switch between original and updated graphics at any time in the game.

      I think some games lend themselves to being updated because their graphics were hand painted and digitised. A lot of point-and-click adventure games were made that way. Other games' graphics were created entirely on computer and are supposed to look pixelated. It is a bit like re-mastering music, some of it was just badly recorded or held back by limitations of the technology but other songs were actually supposed to sound the way they do.

      Personally I prefer pixelated graphics in emulators.

      --
      const int one = 65536; (Silvermoon, Texture.cs)
      SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
    8. Re:Wonderful! by peppepz · · Score: 1

      This allows elements to be reconstructed even when information is partially missing.

      I disagree with this wording: either the information is there, and then it can be extracted by using whatever processing technique, or it isn't there, and then nothing can't be done about that. We can't recover "partially missing" information just like we can't build "partial perpetual motion" machines.

      This methods aims at recreating an "artist's depiction" of the pixelated image, which in many cases might be more pleasant to look at by humans, and in some cases won't. But in all cases, the resulting image has nothing to do with the "real" image before pixelation, because that information is unrecoverably lost.

    9. Re:Wonderful! by mikael_j · · Score: 1

      You could vectorize the original graphics, edit the vector graphics and then finally export to a higher-res raster format.

      --
      Greylisting is to SMTP as NAT is to IPv4
    10. Re:Wonderful! by EdZ · · Score: 1

      There are already emulators for the few consoles and arcade games that used actual vector monitors (e.g. Vectrex).
      This filter looks quite similar to the existing HQnX series of filters, but with even more aggressive smoothing (from the paper, they appear to use a similar quantisation matrix approach then vector-smooth the result). As the paper shows, the results are fine for a few cases of a single isolated sprite, but for a whole display it looks really nasty, even worse than HQ4X.

      My personal preference is CRT-emulated scaling. Yes, an LCD can display pixel-perfect data, but most consoles prior to the latest generation were designed with CRT displays in mind. 8-bit and 16-bit especially used some of the quirks of the way a beam scanned over discrete phosphors (bleeding, blooming, variable beam width, etc) as a way of blending edges and colours together to create additional effects.

    11. Re:Wonderful! by ultranova · · Score: 4, Informative

      You know how often that discussion comes up on /. about how portrayal of computing is soooo unrealistic in the movies. Besides the point that most things are unrealistic in movies, this is very close to that "repeatedly zooming in pixelized images" effect often used, which people say it is impossible because the information isn't there.

      It is. This has nothing to do with that, but is about giving a nicer representation to information that is there. All this does is removes jagged corners that result from up-scaling.

      Just create a version of this specialized in different subjects, e.g. faces.

      Sorry, but that's just plain not going to work.

      --

      Forget magic. Any technology distinguishable from divine power is insufficiently advanced.

    12. Re:Wonderful! by kikito · · Score: 2

      "Just create a version of this specialized in different subjects, e.g. faces."

      Ok, you have done a pill that mitigates headhache.

      Just create a version of this specialized in different subjects, e.g. cancer.

    13. Re:Wonderful! by Merls+the+Sneaky · · Score: 1

      To be fair blade runner was set in the future. It could be the capture had much higher resolution than the display.

    14. Re:Wonderful! by slartibartfastatp · · Score: 1

      I'd like to see what the game "Adventure" for Atari 2600 would look like with this technique.

      --
      -- --
    15. Re:Wonderful! by Digital+Vomit · · Score: 1

      The paper specifically addresses this sort of thing:

      • "Our algorithm is designed specifically for hand-crafted pixel art images. (emphasis mine) Starting in the mid-nineties, video game consoles and computers were able to display more than just a handful of colors. On these systems, designers would start from high resolution multicolor images, or even photos, and then downsample them to the actual in-game resolution. This results in very anti-aliased sprites, which are in some sense closer to natural images than to the type of input our algorithm was designed for. The hard edges that we produce do not always seem suitable for representing such figures."

      So, no "enhance...enhance...enhance..."

      --
      Modern copyright is theft of culture from everyone and it retards the progress of the useful arts and sciences.
    16. Re:Wonderful! by grumbel · · Score: 2

      Reconstructing image details accurately is still impossible and always will be.

      Why should that be always impossible? There is nothing all that hard in it, humans can do it pretty easily. The problem with these algorithms is that they are all pretty primitive and only really take local pixels into account, not the whole image, thus in the example in the article you have edges in the back and belly of dolphin, which are trivial to tell that they should be smooth, for a human at least. The highlights on th gradients are also wrong, as the algorithm apparently doesn't take them into proper account. While that might not be easy to fix, it isn't exactly impossible.

    17. Re:Wonderful! by dzfoo · · Score: 2

      like an emulator? many of them have advanced smoothing effects already, with options.

      Except that this algorithm vectorizes, instead of just upscaling the image with bigger pixels and smooth edges.

      there's just this ONE LITTLE PROBLEM, you can't recreate information the artist left in his head because there wasn't enough pixels

      Except that this algorithm is intended to accentuate the information that is there. Their thesis is that, on such low-resolution images, each individual pixel may convey important information that the artist added precisely because of the constraints of the platform.

      Thus, a single pixel could represent an eye, and a checkered pattern a squiggly line. These are trivially perceptible details which are non-obvious to mechanical detection. This new algorithm attempts to discern these peculiarities and uses heuristics to try to best match the intention of the artist.

      It is not perfect, and the authors even explain some cases where it fails, and even some suggestions for future improvements. However, it is darn good enough, and the fact that it generates a resolution-independent vector image makes it suitable for modern high-definition displays.

                  -dZ.

      --
      Carol vs. Ghost
      ...Can you save Christmas?
    18. Re:Wonderful! by ProfMobius · · Score: 3, Informative
      Because the information is simply not there ? You can add as much information you want to your pixels like curves and such, but you have no way to prove it is the original information.

      From TFA : "The other problem is that the Depixelizing Pixel Art approach always smooths images, even when an object shouldn't necessarily be smooth. For example, are Space Invaders really meant to be cute and round? Maybe, in the creator's eye, they had long, angular, razor-sharp mandibles and straight-out antennae! "

      They are adding information, but they have no way to know if it is what the original artist had in mind.

      --
      EULA : By reading the above message, you agree that I now own your soul.
    19. Re:Wonderful! by grumbel · · Score: 1

      Wait, your example of "infinite super zoom" is CSI, not Blade Runner?

      The Blade Runner infinite zoom is actually a lot more realistic then the CSI one, as the CSI one works with current day cameras and essentially creates information out of nothing, with the BladeRunner zoom you don't really know what kind of source data is has access to. It is not unthinkable for example that in the future a paper photograph will come with an embedded SD card or RFID that contains either a much higher resolution version of the photo or an access key to the photo stored in the cloud. Furthermore some of the 3D panning seen in BladeRunner, which go beyond what a 2D photo would be able to do, can be accomplished via modern microlense array cameras and lightfield capture, not unthinkable that they will be common place one day. And as far as the insane resolution goes: That's essentially a software problem, human eye is something equivalent to a 1 megapixel camera if I remember correctly and yet it gives your brain a 600 megapixel field of view, all done by moving across the screen and stitching the results together, modern cameras should be able to replicate that sooner or later on the fly, they after all already can do that, it just requires a bit of setup.

    20. Re:Wonderful! by ProfMobius · · Score: 1

      Examples of this kind of work are found in practical applications such as number plate recognition, where often a bad photograph is the starting point. This allows elements to be reconstructed even when information is partially missing.

      This kind of enhancement is only possible because some assumptions are made on the original content. This is equivalent to this enhancement tool which can recreate the text bellow a blurred image. The assumption is that you only have around 36 chars under the blur (or pixelization). In this case, the kind of information you are trying to retrieve is clearly defined and quite reduced.

      This is obviously not true for other kind of applications, like faces, sprites and such. There is no way to reduce the information space to a practical size in order to constraint any algorithm. In those case, what you are doing is CREATING information, not RECOVERING information.

      --
      EULA : By reading the above message, you agree that I now own your soul.
    21. Re:Wonderful! by machine321 · · Score: 1

      That would be awesome for all my Vectrex games!

    22. Re:Wonderful! by ProfMobius · · Score: 1

      Most of those filters have been around for quite some time. I remember using ZSnes with the SuperEagle filter in the begining of 2000s.

      --
      EULA : By reading the above message, you agree that I now own your soul.
    23. Re:Wonderful! by jellomizer · · Score: 1

      After actually going threw the demos. And beyond just the dolphin picture. Many of them are fairly bad, and wouldn't enhance the gaming experience with the game. You will probably be better off emulating a lower DPI TV with those graphics to show them as they were seen originally. I remember a while back after have SVGA displays and playing those old EGA games on them remembering how crappy it looked I played the games on the old XP with the low DPI display and the game actually looked a lot better and more realistic.

      --
      If something is so important that you feel the need to post it on the internet... It probably isn't that important.
    24. Re:Wonderful! by TheRaven64 · · Score: 1

      To be fair to Blade Runner, it involved zooming into a photograph and seeing around a corner. That's not just high resolution, that's magic.

      --
      I am TheRaven on Soylent News
    25. Re:Wonderful! by grumbel · · Score: 1

      Because the information is simply not there?

      Yes, but we are not talking about CSI style super zoom that is used to read number plates, but about making pixel art look pretty at hi-res. And as far as pixel art goes, there often is no original information, because the pixel aren't the result of scaling down a larger image, but they themselves are the original. Now of course one can't get the one true real hi-res representation of a low-res image, but on the other side current algorithms do make a ton of very obvious mistakes. With the space invader you might not be able to tell how exactly its antennae where supposed to look like in the artists mind, but you can easily infer that they should be in the same style in both frames of animation. Yet with this algorithm and with most others, they aren't, as the interpolation happens frame by frame, without taking the animation as a whole into account and thus the results you can are even worse then the original pixel art. You might also be able to tell that it actually are antennae in the first place, not just things that stick out of its body. Same with things like eyes, its easy to tell for a human that those pixels are supposed to be eyes and should be handled special, yet current scaling algorithm handle them just like any other pixel and blur them into pixels that serve a completely different purpose.

      There is nothing that prevents a scaled up result from being much better then a blurry mess. Its not easy to get that, but all the information is there in the original pixel art, one just needs to identify it properly.

    26. Re:Wonderful! by afxgrin · · Score: 1

      In shows like CSI, Bones, etc where they end up zooming into a low resolution image, just to magically have it enhance into a complete image is fantasy. The image simply lacks spatial information to recreate that level of detail - at least from a single frame. But this is what they show every single time. Either way, having 10 images of a guy who's head is a pixel block will not help you recreate his face.

    27. Re:Wonderful! by elastic_collision · · Score: 1
      I think he was addressing this comment:

      This has more uses than just games, I think.

      And I agree that we don't have enough information in the original image to really make much use of this outside of artistic endeavors, games being one of those.

    28. Re:Wonderful! by ciderbrew · · Score: 1

      Well as this stage the computer doesn't know about these things, so tons of these little bit of code will come together over many years to make this work. You could compare frames of animation and then make a bone system from the moment. Make assumption about how two bits are linked and try to fill in the gaps.
      Reduce all the spline to the lowest possible number to make the lines more natural.
      This is interesting work.

    29. Re:Wonderful! by Things_falling_apart · · Score: 1

      Here is what Adventure for the 2600 looks like using this technique: http://therumpus.net/wordpress/wp-content/uploads/2009/06/conan-1.jpg

    30. Re:Wonderful! by ProfMobius · · Score: 1

      This was my point exactly :) Thanks for clarifying, should have made a better quote from the start.

      --
      EULA : By reading the above message, you agree that I now own your soul.
    31. Re:Wonderful! by ProfMobius · · Score: 1

      That's an interresting suggestion. I didn't think about it. By using a video instead of a fixed picture, you can extract more information out of it. I suspect you will never reach a 'super zoom' feature using this, but by linking pixels between frames and comparing the shadow between them, etc, it should be possible to reconstruct a low resolution volumetric representation of the original object.
      Interresting work indeed.

      --
      EULA : By reading the above message, you agree that I now own your soul.
    32. Re:Wonderful! by angel'o'sphere · · Score: 1

      To be fair to Blade Runner, it involved zooming into a photograph and seeing around a corner. That's not just high resolution, that's magic.

      I always thought he would look into a mirror and zoom on the image displayed in the mirror, not around a corner.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    33. Re:Wonderful! by hattig · · Score: 1

      I like their space invaders, I think they look more evil and alien. Kinda like the things from Pitch Black maybe.

    34. Re:Wonderful! by hattig · · Score: 1

      The fact that this method is vectorising is one of the major benefits. The filters in ScummVM improve the image, but the results are still quite blocky or incorrect, and it's only scaling up 2x, 3x, etc, with simple heuristics. This also has a good guess at smooth shading, which could really improve some situations.

      Dunno how well it would work on tile graphics though, as the individual tiles would all need to be vectorised, and then might not work well together. So I guess it's really only useful for vectorisation of sprites, not the backgrounds (unless you want a vector still of a screenshot).

    35. Re:Wonderful! by MtHuurne · · Score: 1

      Unless you're playing the game with a light gun, the game cannot read pixels from the screen, only from the emulated machine's video RAM. And the frame in video RAM is usually in some kind of color indexed format, maybe even in a tiled video mode, so there is already a step in the emulator to convert the video RAM contents to a simple frame buffer in RGB or YUV format. This frame represents what the video output plug of the emulated machine would output. Then you can apply an upscale algorithm to it if you want to display it on a higher resolution. For the best performance, upload the unscaled RGB/YUV frame to a texture and do the upscaling with a pixel shader.

    36. Re:Wonderful! by beanyk · · Score: 1

      There was a wonderful send-up of this in an episode of Red Dwarf. Search for "csi zoom red dwarf" on YouTube ...

    37. Re:Wonderful! by EdZ · · Score: 1

      Blargg's NTSC filter (used in Nestopia) can be placed in front of the CRT filter in the chain.

    38. Re:Wonderful! by zakeria · · Score: 1

      Yes indeed but I want to know how the algorithm knew that the dolphin eyes made of 1 pixel where to be round and not square? me thinks something a little odd is afoot !

    39. Re:Wonderful! by miro2 · · Score: 2

      I actually did RTFP and you are not quite as right as you blithely assert. The parent poster was correct.

      This has nothing to do with that, but is about giving a nicer representation to information that is there.

      Actually, the algorithm makes heuristic decisions which add information based on an understanding of the human visual system and assumptions about the problem space (it works well on hand-drawn cartoons, but not on down-sampled photos). For instance, they have heuristics for deciding which neighboring pixel fields should be attached to a pixel "island" by one of its four corners. In the original image, its completely ambiguous. In their enhanced version, its explicit. They are adding information based on background semantic knowledge.

      Sorry, but that's just plain not going to work.

      Actually, its not as impossible as you state. A low-res image of a face has two sets of information: the pixels themselves, and all of the constraints imposed by the fact that the image is of a face. There might be an infinite set of objects which could have generated a given pixel field, but there is a smaller infinity of faces that could generate said pixel field. So an image enhancer which understood it was looking at a face might be able to fill in some of the details. If it can deduce information about the lighting in the room, it might do even better. Such an image enhancer would be using semantic knowledge to add detail to the initial visual information....(drum beat)...just like your brain does! Computers might theoretically be able to do it better. So its just not as bone-head simple as you make it out to be.

    40. Re:Wonderful! by Guspaz · · Score: 1

      True, but often a human can add additional information that can enable you to do more with what imagery you do have.

      For example: you have a blurry picture, and you want to enhance it. Why is it blurry? If it's because the image was low resolution, we can't do much about that in the generic case, but if it's because the camera was out of focus, then you can add some extra information. If you can find out the properties of the camera (lens, incorrect focal length, desired focal length, etc), you can do a certain amount of correction, more than you could by simply sharpening the image. The information just isn't there in the image itself, but you're *adding* information, which in turn allows you to do more with what is there. I remember seeing some research papers on the subject. Similarly, motion blur is pretty easy to correct, although in this case it's pretty obvious that the information is there, and can be recovered. There are some pretty impressive examples at http://www.cse.cuhk.edu.hk/~leojia/projects/motion_deblurring/index.html

      OK, so there's that, but what about information on what the image contains? Imagine you've got a blurry license plate, and you want to figure out what the plate number is. Well, a general-purpose enhancement of the image (beyond techniques dealing with motion or focus) might not help, but we do have some important extra information that the image does not. We know that it's a license plate, and that there are numbers and letters on it, and more than that, we know the exact shape of those numbers and letters; the nice thing about license plates is that the shapes are uniform. So even if there's not enough information in the image to reconstruct the general image, the fact that we can tell exactly what a given letter of the plate should look like at that distance, angle, resolution, etc, we can add that information to the problem space and get an answer that we couldn't get with the image data alone.

    41. Re:Wonderful! by arjan_t · · Score: 1

      Either way, having 10 images of a guy who's head is a pixel block will not help you recreate his face.

      Actually it could help improve the image. If those 10 images are part of a movement, then it's theoretically possible to reconstruct more detail. The original image moved along the scan-lines of a camera, and every successive shot might have captured a slightly different part of this original image. Understand the scan-lines and the movement, and there's more possible than you might think.

    42. Re:Wonderful! by Hognoxious · · Score: 1

      There is nothing all that hard in it, humans can do it pretty easily.

      No they can't, or we'd all be able to read the size of the underpants that a fly in the background of your passport photo was wearing, and it's be so commonplace they wouldn't need to pretend computers can do it on CSI.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    43. Re:Wonderful! by RobertM1968 · · Score: 1

      It always HAS been possible. CorelTrace did this so many ages ago it's not funny. The difference nowadays is that we've got fast enough computers with enough system resources (memory, video, etc) to do it on the fly, frame by frame, in real time.

      Then again, we've had that for ages too. Similar technology has been used in real time for up-res'ing DVD images, for instance. It's nice to see someone putting that type of technology to use in this fashion though... not that I love playing video games or anything.

    44. Re:Wonderful! by Swiper · · Score: 1

      It's actually particularly applicable to face reconstruction, but always on the premise of known parameters - In the area of facial reconstruction, the known parameters are the basic bone and muscle layouts and their effects on our physionomy. Once you couple the underlying skeleton with other surface parameters which can be extracted from the visible parts, it actually IS possible to reconstruct missing features. What I was mainly talking about however, is the zooming in effect. There is a lot more information available in an image than that which we see with the naked eye, which is why I mentioned the use of wavelets as extremely effective analysis "tools". These allow a much deeper analysis capable of either concentrating on or removing certain features. I have actually worked (and written my doctorate) in that field , so I do know what I'm talking about. If you're really curious, just look up"Wavelets" in your favourite search engine and be prepared to learn some interesting new facts.

      --
      ~We demand rigidly defined areas of uncertainty~
    45. Re:Wonderful! by Hognoxious · · Score: 1

      By using a video instead of a fixed picture, you can extract more information out of it.

      How so? A video is just a series of fixed pictures, one after the other.

      Unless you're talking old-fashioned video, i.e. film, with which it's possible to average out frames to eliminate the grain provided there's no relative movement between camera and subject.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    46. Re:Wonderful! by Dutch+Gun · · Score: 1

      I know not reading the article (or maybe even the summary) is expected, but jeez... The ENTIRE POINT is that this is a specifically tuned algorithm to convert low res sprites like those used by games (everyone is already acknowledging this). CorelTRACE and their ilk are designed for converted high-res simple images (line art, logos, etc) into vector graphics. They are tuned to ignore a single pixel, which they would consider noise. This algorithm assumes every single pixel is important.

      Why in the world are people in such a hurry to dismiss stuff like this as "nothing new"? No one is claiming that vectorization of bitmaps is a new concept. In fact, that rarely happens in research papers - that's the whole point of the huge list of references at the bottom of the paper!

       

      --
      Irony: Agile development has too much intertia to be abandoned now.
    47. Re:Wonderful! by peppepz · · Score: 1
      Then in your case, you have "out of band" information which is not contained in the image (anatomic knowledge). You're not adding globally missing information, you're combining the visual information with other information coming from an external source.

      In our case we do not have that: the algorithm does not know what the 8-bit sprite was meant to represent, so we want to reconstruct an unknown arbitrary function of which we know a (very) limited number of samples. Which is mathematically impossible because there are infinite functions that satisfy those requirements.

    48. Re:Wonderful! by RobertM1968 · · Score: 1

      Umm, no. When CorelTrace came out, it was often (and largely) low res sprites it was designed and used for. As a matter of fact, it had major issues with high res stuff when it first came out, as the vector art it would create would be insanely unwieldy. That has been fixed in the interim 15-20 years.

    49. Re:Wonderful! by grumbel · · Score: 2

      How so? A video is just a series of fixed pictures, one after the other.

      Yes, but it are pictures of the same object in motion. Super simplified example: Imagine you have a one-pixel camera. A single frame of video of that will tell you nothing by itself, as its just a pixel, but if you take the camera, move it around in the right pattern and add the images together with the correct offset you can get a full 2D picture of whatever you are photographing. Same can be done with a 2D camera, you have to reconstruct how the images are shifted relative to each other and then add them together, that way you get a higher resolution then you have in a single frame, its called Super resolution. That is of course more useful for real photos then it is for video games.

      But for video games you would get plenty of benefit as well, as multiple frames tell you much more about the structure of the object, in a simple Space Invaders you might not be able to tell which pixel is part of the body and which is part of an arm or leg, in motion that however becomes pretty clear and thus you can avoid blurring pixels together that really represents different parts of an objects.

    50. Re:Wonderful! by Grishnakh · · Score: 1

      Are you kidding? Most of them looked fantastic. However, not all did:

      On anything that was a character, the results looked fantastic: the dolphin picture, the little ghost, Mario, Bowser, etc.

      On anything where a character had something like a sword, the sword looked like a giant dildo, but otherwise the character looked good.

      For anything that was supposed to be boxy or have straight lines, it kinda sucked. It was especially bad for old OS icons of things like floppy disks, the 386 chip, the keyboard, etc. The "hq2x" (IIRC) filter was much, much better for things like this.

      However, if you had to pick one filter for everything, I think the hq2x one would be the one to pick, as it was pretty decent at characters, and still looked good with any straight lines, swords, etc. This one makes cute characters look amazing, but at the expense of not having a straight line anywhere.

  2. PDF slashdotted by TamCaP · · Score: 1

    PDF got slashdotted immediately, but the dolphin image shown in the first article is quite stunning.

    1. Re:PDF slashdotted by Fluffeh · · Score: 1

      Yeah, the PDF is dead, as is their site where I was hoping to view some more examples. Maybe in a while...

      --
      Moved to http://soylentnews.org/. You are invited to join us too!
    2. Re:PDF slashdotted by Sarten-X · · Score: 1, Funny

      Since I can't read the PDF, I'm forced to infer from the dolphin picture that the "research" consisted of digging through Nintendo's archives and finding original sketches. I'm not very impressed by that.

      --
      You do not have a moral or legal right to do absolutely anything you want.
    3. Re:PDF slashdotted by Anonymous Coward · · Score: 4, Informative

      http://johanneskopf.de.nyud.net/publications/pixelart/paper/pixel.pdf

      Don't tell me people have never heard of the coral cache

    4. Re:PDF slashdotted by Anonymous Coward · · Score: 2, Insightful

      Since I can't read the PDF either, I'm forced to infer from the dolphin picture that it's raining cheese and the dalai lama is coming over for lunch.

      WTF original sketches? whose ass did you pull that from?

    5. Re:PDF slashdotted by wvmarle · · Score: 1

      nyud.net gives a 504 gateway timeout for me... and besides that service is very slow at the best of times.

    6. Re:PDF slashdotted by Swimport · · Score: 4, Informative
    7. Re:PDF slashdotted by Sarten-X · · Score: 1

      Very simply, now: I'm implying that the dolphin picture looks like it's an original. That's because the program works. I'm really very impressed by it.

      --
      You do not have a moral or legal right to do absolutely anything you want.
    8. Re:PDF slashdotted by eldepeche · · Score: 1

      which doesn't have the images

    9. Re:PDF slashdotted by eldepeche · · Score: 1

      Hooray! Thanks.

    10. Re:PDF slashdotted by La+Camiseta · · Score: 1

      Hosted via Google Docs:

      here

    11. Re:PDF slashdotted by arth1 · · Score: 1

      Mirror: http://easy-iphone-unlocking.com/download/pixel.pdf

      When mirroring something, try to do so on a site that won't get slashdotted even faster than the original.
      I know the intent was good, but you only create more frustrated people, who now have had two links time out instead of just one.

    12. Re:PDF slashdotted by ProfMobius · · Score: 1

      And all those links have been slashdotted. Good job :D

      --
      EULA : By reading the above message, you agree that I now own your soul.
    13. Re:PDF slashdotted by datapharmer · · Score: 1
      --
      Get a web developer
    14. Re:PDF slashdotted by yomammamia · · Score: 1

      I'll definitely use that URL too. It's Apple, couldn't possibly have malware.

    15. Re:PDF slashdotted by v1 · · Score: 1

      grouse all you like, but that's the only one that's working for me ATM. ty original poster.

      --
      I work for the Department of Redundancy Department.
    16. Re:PDF slashdotted by Luyseyal · · Score: 1

      What, you don't always switch to private browsing mode when viewing full-page PDFs on the internet?

      -l

      --
      Help cure AIDS, cancer, and more. Donate your unused computer time to worldcommunitygrid.org. Join Team Slashdot!
  3. Why not by Osgeld · · Score: 1

    Its a pretty common practice to take drawings and scale them down, and repaint for sprites

  4. Great. by hal2814 · · Score: 2

    Because we haven't strip-mined the past enough. I'm impressed by the results but weary of its implications.

    1. Re:Great. by gman003 · · Score: 2

      I was originally going to correct you for misspelling "wary" (characterized by caution; guarded; careful), but then I realized "weary" (expressive of fatigue) arguably made more sense in context (as in, you are tired of the things this implies will happen, ie. more remakes). So now I'm just asking which one you meant.

    2. Re:Great. by colinu · · Score: 1

      Because we haven't strip-mined the past enough. I'm impressed by the results but weary of its implications.

      Absolutely. Nobody tell Zynga about this.

    3. Re:Great. by wierd_w · · Score: 1

      One of the things holding me back from forking out the 100$ for the XBOX360 XNA license was my inability to make nice graphic images larger than your traditional ancient sprite types. (I am pretty good at making sprites, or at least I used to be. Been awhile since I have dabbled with it.)

      I feel I could do some fantastic things with an algorithm like this.

    4. Re:Great. by hal2814 · · Score: 1

      I definitely meant "wary" though I do agree that the misspelling also makes sense.

    5. Re:Great. by iamhassi · · Score: 4, Interesting

      You're kidding, right? This is allowing us to play all those games from our youth without them looking like blocks at 1080 HD. If anything this is helping the past, no longer will they need to release a "remake", they can re-release the original with this algorithm attached and they're done.

      Besides, do you think 1080 HD will be the resolution of choice 20-40 years from now? I imagine we'll be looking at wall-sized TVs at some point and 1080 pixels will look awfully blocky on a 10 foot wall. Sharp has already released a 7x680 x 4,320 pixel 85-inch screen, how long before 4320 is the new 1080?

      --
      my karma will be here long after I'm gone
    6. Re:Great. by MightyMartian · · Score: 1

      I was originally going to correct you for misspelling "wary" (characterized by caution; guarded; careful), but then I realized "weary" (expressive of fatigue) arguably made more sense in context (as in, you are tired of the things this implies will happen, ie. more remakes). So now I'm just asking which one you meant.

      What difference does it make? The poster is a soulless monster from the lowest depths of hell.

      --
      The world's burning. Moped Jesus spotted on I50. Details at 11.
    7. Re:Great. by Tumbleweed · · Score: 1

      how long before 4320 is the new 1080?

      Not too damned long. At a recent show, multiple panel manufacturers were showing off both 7" and 10" panels at 2560x1600. Nine of those 10" panels glued together gets you a very sweet 30" display at 7680x4800. Next year. I don't want to think about the price, though.

    8. Re:Great. by gman003 · · Score: 3, Funny

      What the hell is Steve Jobs doing on /.?

    9. Re:Great. by osu-neko · · Score: 1

      Because we haven't strip-mined the past enough.

      Apparently not. Ever since William Shakespeare made a career out of it, people have thought it a wonderful thing to follow suit.

      (Not that Shakespeare was the first to regurgitate older material by any means... I believe the Greeks were busy copying earlier Greek tragedies and comedies long before Shakespeare started doing it.)

      --
      "Convictions are more dangerous enemies of truth than lies."
    10. Re:Great. by malkuth23 · · Score: 1

      Line up as many pixels as you like. For video playback at least, we are still unfortunately limited by video cards, hard drive access time and bus speed. We cannot yet playback a video at that resolution. Most video cards cap out at 2560x1600 per output, hard drives can be put in a RAID and solid state drives are damn fast, but the file sizes for videos at that resolution are absurd. Bus speed is always an issue - all the information has to be passed from HD to processor and it has to wait its turn.

      I work for one of the top media server companies in the world. We max out at a single file at 4k resolution. Even that is a compromise of quality and speed. Anything bigger and it is actually multiple video files broken up and synced across several systems to several displays (blended projectors, multiple LCDs, whatever)

      No doubt. One day we will be there. But the bottle neck is not the displays.

      With higher quality scaling algorithms it is a good work around till the technology catches up. I know the article said this trick works because of it's 8bit nature, but I still hope for advancements in real time scaling algorithms. At least for my industry it would be a great help.

      I am curious about the displays you refer to though. Those are some damn small pixels at 7-10".

    11. Re:Great. by Rei · · Score: 1

      I can easily picture taking this one step further. With a couple additional steps, your sprite drawer should be able to recognize matching parts in other frames of the same sprite. You could then allow a customizeable time period -- say, 1/4 to 1/2 second -- where there's a linear interpolation between the two SVG graphics. Aka, when Mario jumps, his legs don't just instantly appear apart; they move there. A smart drawing algorithm could even intelligently determine the appropriate time period to have for the animation. Aka, if it oft tries to switch frames again before the animation is completed, the animation for the transition between those particular frames gets sped up.

      --
      You're not made of Tuesday!
    12. Re:Great. by Rei · · Score: 3, Informative

      The maximum theoretical human eye resolution (limited by aperture and focal length) is about 0.35mm per line pair at 1m. For most people with "normal" eyesight, the limit is closer to 0.7 mm at 1m. So for a TV that's 6 feet away and 2 feet tall, there's no point to a vertical resolution higher than ~1800 pixels, and 1080 is more than what most people can perceive. 4320 pixels at 6 feet makes no sense unless your TV is a minimum of 5 feet tall, and for most people, 15 feet ;) So yes, it really does take wall-sized TVs for that sort of resolution to even be useful. A 7" panel (~4" tall) with 1600 pixels vertical resolution? That's 0.06mm per pixel. The maximum theoretical distance in which that could be useful is under 7 inches, and more practically, closer to 3 inches away from the viewer. If you want that kind of resolution, you might as well make it into a planetarium ;)

      --
      You're not made of Tuesday!
    13. Re:Great. by Mprx · · Score: 1

      Not going to work, because of latency. Some animations eg. Mario's legs are only decorative, but others, eg. an enemy preparing to attack, are important game information and shouldn't be delayed at all. There's no way to algorithmically distinguish between them so even the important information will be delayed 1/4 to 1/2 second.

    14. Re:Great. by gl4ss · · Score: 1

      what you actually mean with "smart drawing algorithm" would be specificially tuned and hinted to work with super mario, for it to work properly(and make an input delay).

      --
      world was created 5 seconds before this post as it is.
    15. Re:Great. by AmiMoJo · · Score: 1

      You are assuming that the person stays perfectly still. When watching TV your head moves slightly all the time (breathing etc.) and this motion allows you to see a difference between resolutions above and below the thresholds you set out. It only works with high contrast edges though.

      You can think of it a bit like a camera that takes two photos. For the second photo the camera is moved 0.5 pixels to the left, so it is now sampling between the pixels in the first image and doubling its horizontal resolution if the photos are combined. Pixels are not a very good analogy of how the eye works but the principal is pretty much the same. You don't get a 2x increase and it won't help much trying to read very small fonts, but it is also one of the factors that makes your brain see the image on a TV screen as artificial.

      This is one of the reasons why high end printers go way beyond 0.35mm per two pixels.

      --
      const int one = 65536; (Silvermoon, Texture.cs)
      SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
    16. Re:Great. by iamhassi · · Score: 1

      "Most video cards cap out at 2560x1600 per output, hard drives can be put in a RAID and solid state drives are damn fast, but the file sizes for videos at that resolution are absurd."

      And 15 years ago a video card capable of 1920x1080 didn't even exist to consumers. In fact in 1996 the first consumer 3D gaming solution was released with an amazing 4 megabytes of RAM!

      A good rule to follow is to never compare the hardware you're using now to what you'll be using 10 years from now. I have no doubt we'll have CPUs with hundreds of cores and SSDs (or whatever they're called by then) that are several terabytes and transfer data at gigabytes per second. Remember, largest hard drive in 2001 was 100gb for $300 which could be read at an amazing 26 megabyte/second!

      Like reminiscing about old video cards? Check out the history of 3D Graphics

      --
      my karma will be here long after I'm gone
    17. Re:Great. by mikael_j · · Score: 1

      There were plenty of graphics cards capable of 1280x1024 and 1600x1200 back in those days. Heck, with 4 MiB of video RAM (4,194,304 bytes) you could use 12 bits per pixel and still have enough memory for 1920x1080 (2,073,600 pixels). Not exactly truecolor but it does allow you to use a palette of 4096 colors.

      Then there are of course issues such as sync frequencies but I suspect such things could be worked around pretty easily (back then you pretty much wanted 72+ Hz vertical sync unless you enjoyed pain).

      --
      Greylisting is to SMTP as NAT is to IPv4
    18. Re:Great. by Anonymous Coward · · Score: 1

      You made the same mistake as most people I've seen discussing this lately (mainly w/r/t the iPhone4): you slipped from line pairs to pixels. Since you need two pixels (one black, one white) for a line pair, you need a factor of two in there.

      Note that while 0.06mm dot pitch (430 ppi) is AFAICT unheard-of in production devices, the 0.084mm dot pitch (300ppi) of a 2560x1600/10" is in a well-established range for handheld devices:
      Nokia N900 800x480/3.5" = 266 ppi
      Fujitsu U820 1280x800/5.6" = 270 ppi
      Apple iPhone 4 640x960/3.5" = 326 ppi
      (various keitai) 800x480/2.8" = 333 ppi

      In addition to handhelds, a resolution-limited working distance of 12-18" makes 300ppi somewhat practical for wall-mounted (or similar configurations) industrial applications, and at least not ridiculously overkill for desktop use. TV use is probably kinda silly, but if someone can afford it who am I to argue. Freeze-frame, walk up and put your nose on the screen.

      Where I want a 30" 430ppi display (as per GP) is not for a TV, but a drafting-table-like angled computer display -- with the whole surface Wacom and (optionally) touch-sensitive. Wish I could begin to think of affording it...

    19. Re:Great. by arth1 · · Score: 1

      You're kidding, right? This is allowing us to play all those games from our youth without them looking like blocks at 1080 HD.

      No, and no.

      The first statement is false because most of "all those games" have sprites and other graphics with hard angles, which this algorithm can't handle; everything becomes a spline. I'm sure there are people who would appreciate it if games got transformed so it looks like the fighters hit each other with soft nerf bats instead of swords, or teeth stopped looking sharp and scary. I'm not one of them.

      The latter statement is false because whether a bitmap image looks like blocks doesn't depend on the resolution, but the DPI. A low DPI means blockiness, regardless of the resolution.

    20. Re:Great. by RadioElectric · · Score: 1

      In the interest of blowing your mind: How do you think the images from the two eyes are combined when the disparity between them can vary depending on the distance that the stimulus is from you?

    21. Re:Great. by RadioElectric · · Score: 2, Insightful

      I know "TFA" is rarely "R"ed around here but they use template-matching to preserve intentional hard angles. They use a guy with a sword as one of the EXAMPLE images!

    22. Re:Great. by realityimpaired · · Score: 1

      Not entirely sure where you're getting your numbers... are you talking about 3D-accelerated output? For 2D output, the maximum is nowhere near as low as 2560x1600 (4,096,000 pixels)... my *laptop* is currently outputting a 3840x1080 desktop over the DisplayPort output (dual screens at 1920x1080, but capable of running higher resolution screens), while driving the 1920x1080 LCD display at the same time. (6,220,800 pixels) I haven't bothered to test it, but I am relatively certain it can handle 1080p HDMI output and output to the VGA port at the same time, as well. 2D graphics are limited by the number of outputs you have (and the bandwidth available in those outputs), not by the power of your graphics card.

      For 3D output, the graphics card isn't powerful enough for me to run super-high resolution 3D-accelerated graphics, and I usually run in a 1600x900 window on the main display, but that is more because I don't like to run games full screen, not because the card isn't capable of driving a larger resolution.

    23. Re:Great. by Kjella · · Score: 1

      Besides, do you think 1080 HD will be the resolution of choice 20-40 years from now? I imagine we'll be looking at wall-sized TVs at some point and 1080 pixels will look awfully blocky on a 10 foot wall.

      It's called a projector and no, a 120" (= 10') picture still looks pretty damn good, even though a person with 20/20 vision starts losing detail around 16-17 feet out. Go 2160p and it's 8-9 feet out - very close for a 120" screen. 4320p is only if you have 20/10 vision and is 8-9 feet out.

      Yeah I suppose it will keep growing but I sort of doubt the average person will have 100"+ TVs even 20-40 years from now. Just look at how slowly people are moving to HDTV, how many that don't realize if they're watching HD or not or 720p vs 1080p. I suspect BluRay will have a much longer life than DVD, and the DVD is far, far from gone.

      --
      Live today, because you never know what tomorrow brings
    24. Re:Great. by arth1 · · Score: 1

      And if you look at that fighter, you'll see that the sword has become softly bent near the tip, because the algorithm doesn't understand that the tip is supposed to be angled while the edge must remain straight, so it bends the entire end of the sword slightly to fit its algorithm.

      Yes, that's a prime example of what I mentioned: Sharp objects being nerfed.

    25. Re:Great. by Legion303 · · Score: 1

      "no longer will they need to release a 'remake', they can re-release the original with this algorithm attached and they're done."

      I look forward to paying $65 for SMB3 again.

    26. Re:Great. by Kashgarinn · · Score: 1

      I'm suspicious, looks like a normal TV with a very small asian woman beside it.

    27. Re:Great. by tepples · · Score: 1

      You could just make your sprites in the classic size that targets 240p displays, as seen on the ColecoVision through the PS1, and use the existing pixel art resizers such as Scale3x or hq3x to upscale them to 720p. And if you want really big sprites, you can Scale2x, then retouch, then repeat. This algorithm appears to be an alternative approach that does much the same thing.

    28. Re:Great. by tepples · · Score: 1

      You can think of it a bit like a camera that takes two photos. For the second photo the camera is moved 0.5 pixels to the left, so it is now sampling between the pixels in the first image and doubling its horizontal resolution if the photos are combined.

      You're referring to super-resolution. But if the glass in front of the sensor acts as a low-pass filter to blur out details smaller than half the sensor's spatial frequency, super-resolution doesn't work. Can you demonstrate that the cornea and lens in front of a retina aren't such a filter?

    29. Re:Great. by Hatta · · Score: 1

      This is allowing us to play all those games from our youth without them looking like blocks at 1080 HD.

      This is bad for the same reason that colorizing black and white movies is bad.

      --
      Give me Classic Slashdot or give me death!
    30. Re:Great. by AmiMoJo · · Score: 1

      Can you demonstrate that the cornea and lens in front of a retina aren't such a filter?

      Yes, I can. ABX test two identical images at each resolution.

      --
      const int one = 65536; (Silvermoon, Texture.cs)
      SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
    31. Re:Great. by swb · · Score: 1

      I think a lot of average people went from 25" or 27" tube TVs to the discount priced 32 & 37" LCD TVs where the primary image difference with a clean signal is the distortion caused by stretching aspect ratio to fill the 16x9 panel and a zoomed SD letterbox image is, to these people, probably indistinguishable from the same image in HD on their sets.

      My guess is that these are also the same people who grew up perfectly happy with 12" & 19" tube TVs.

      I don't think mass adoption wall-sized images via projectors will happen due to the installation complexity and ambient light problems, but if they come up with new display technologies involving printable displays or printable films that can be applied to panels, then maybe.

    32. Re:Great. by hattig · · Score: 1

      I don't think this algorithm is primarily meant for run-time upscaling, but to provide automated vector extraction from existing sprites for re-implementations.

      This means that post extraction, the images can be manually tweaked, but you have most of the required information there already rather than having to build the vector sprite from scratch. I guess this can then be animated by hand.

    33. Re:Great. by mrchaotica · · Score: 1

      If you're good at making low-res graphics, why not just skip XNA and make games for smartphones instead?

      --

      "[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz

    34. Re:Great. by sgt+scrub · · Score: 1

      You took into count the distance but missed video headware by 2.5 inches. What is the optimum video resolution for video glasses?

      --
      Having to work for a living is the root of all evil.
    35. Re:Great. by chispito · · Score: 1

      I imagine we'll be looking at wall-sized TVs at some point and 1080 pixels will look awfully blocky on a 10 foot wall.

      Front projection already does this. Most people don't have the space or the desire to devote a 10-foot wall to entertainment.

      --
      The Daddy casts sleep on the Baby. The Baby resists!
    36. Re:Great. by KiloByte · · Score: 1

      Well, 1200 and 1960 were the resolutions of 10 years ago, so we're actually going down here.

      --
      The creatures outside looked from Alt-Right to Antifa; but already it was impossible to say which was which.
    37. Re:Great. by Rei · · Score: 1

      Said dead pixel lowers the average lightness of all pixels around it. And anyway, it's not *that* much more than what the average person can perceive. 1080 is actually a very good standard for practical usage.

      --
      You're not made of Tuesday!
    38. Re:Great. by Rei · · Score: 1

      The animation would start instantly; it would only take the, say, 1/4 second (which is not very long at all -- about as fast your average person can sweep their fingers up and down) to complete. And if that time is too long for you, well, that's what the word "customizeable" was there for -- aka, the user can change the default. Lastly, if the "smart" algorithm is implemented, this problem, if it ever existed, would generally go away. Creature goes into its "I'm about to attack you" mode, then quickly goes into "attacking you" mode. The algorithm would learn that "I'm about to attack you" needs a fast animation.

      --
      You're not made of Tuesday!
    39. Re:Great. by RadioElectric · · Score: 1

      Because the tip is located using template-matching you would only need to substitute a different output mapping to the "pointy pixels looking like a sword tip" input. Or you could add an additional "pointiness" parameter to the algorithm which reshapes their sharp angle vectors. You could even work on the assumption that metal (greys) will have pointy edges and increase the pointiness for grey objects but keep it where it is for other colours.

    40. Re:Great. by Rei · · Score: 1

      Humans don't stay perfectly still in static tests of the ability to resolve lines, so that's clearly already factored in.

      --
      You're not made of Tuesday!
    41. Re:Great. by Rei · · Score: 1

      Well, if you really want to get technical, there are several other things you need to factor again, both of which work against your ability to resolve:

      Things aren't either "resolved" or "unresolved"; there's a loss of contrast until the brain can no longer fiddle out what the data is supposed to be. This is modeled by a modulation transfer function. The limit for a person to process between two stark black and white lines is when it gets down to the ~10% of original (varies significantly from person to person). The full human response is presented by the csf equation:

      CSF( f ) = 2.6 * (0.0192 + 0.114 * f ) * exp(-0.114 * f )^1.1

      f is the frequency in cycles per degree (line pairs), and CSF is a 0-1 contrast measurement. For real-world images which don't have such stark contrast lines, the limiting contrast is notably higher, and thus, the practical resolving resolution is higher. Also, the lower the mtf contrast, the longer it takes the brain to figure out what it's seeing; hence, motion dramatically increases the practical resolving resolution. On top of that, human mtf response yields lower contrast in dimmer light conditions; given two alternating colors of brightness A and A*100, and B and B*100, where B is 10x A, you may get double the apparent contrast with the second pair.

      You also have to factor in depth-of-focus limits. When you're talking about having to bring screens inches from your eyes for the pixel density to be relevant, you're actually making the problem worse because the closer an object gets to the eye, the more trouble the eye has focusing on it. The resolution numbers above are only approached as an object's distance increases toward infinity (although are closely approximated at reasonable TV viewing distances).

      All of this means that while yes, you're correct concerning the pixels / line pairs mixup, which means a higher resolution is practical, there's also a lot of factors making a *lower* resolution the practical limit.

      1080 is just fine vertical resolution unless you're wanting your device to extend well into the peripheral.

      --
      You're not made of Tuesday!
    42. Re:Great. by Rei · · Score: 1

      Oh, and I just thought of another way the animation algorithm could get smarter: recognizing cyclic changes. In a lot of old games, there were cyclic changes in sprites. Every 1/2 to 1 second, the sprite cycles between one of two frames to represent shimmering water, people walking, fire flickering, etc. That could be easily detected and be used to set the animation speed.

      --
      You're not made of Tuesday!
    43. Re:Great. by Rei · · Score: 1

      No, that's the higher the *bandwidth*, regardless of whether said bandwidth is associated with higher resolution or not. You think increasing the resolution without increasing the bandwidth will help you any?

      --
      You're not made of Tuesday!
    44. Re:Great. by Grishnakh · · Score: 1

      You're missing the OP's point. Yes, these past games are great; I don't think you'll get much argument on that from those of us here over the age of 35. What the OP was bemoaning is the fact that we don't have a lot of great games like this being made any more. So, instead of making new, great games like Super Mario Bros., we're constantly "strip-mining the past" as he puts it, to keep the old stuff relevant and usable, because we're for some reason incapable of making new stuff that measures up.

  5. Kick ass! *I* do pixel art! by wierd_w · · Score: 1

    Being able to convert low resolution pixel art into nice vectors like that is kick ass. I wish they had released a utility to try it out on other materials. (like my own..)

    I do some of my best work in a work envelope around 100x100 pixels.

    1. Re:Kick ass! *I* do pixel art! by SomePgmr · · Score: 2

      IIRC, Inkscape had a nice raster to vector function that I had good luck with. I seem to remember it allowed for a bit of tweaking too, to achieve best results.

    2. Re:Kick ass! *I* do pixel art! by Briareos · · Score: 1

      ...which is exactly what Inkscape uses for tracing, except it's got a nice UI and editing capabilities for the result...

      --

      "I'm not anti-anything, I'm anti-everything, it fits better." - Sole

  6. Paper mirror by SheeEttin · · Score: 5, Informative

    EvilHom3r over on Reddit seems to have mirrored the paper (as images) here.

    My verdict: Yeah, it looks all nice and smooth, but with all upscaling, it's basically interpolating data. The original just didn't have that much detail, so you can only get so much out of it. Sometimes it works, sometimes it doesn't.
    (Oh, and it makes all text look pretty bad. Kinda Comic Sans-y, if I can say that without invoking instant hate.)

    1. Re:Paper mirror by Twinbee · · Score: 1

      With the doom face example, their algorithm falls down slightly. Basically, it's almost as if they have to decide between a sharp edge/curve, or a gradiated colour section, like as if the decision is a dichotomy. I'm sure the math is complex, but they should always strive towards the most general all-encompassing technique, rather than try to build more arbitrary 'stages'. A sharp edge could be said to be a gradient, but a very sharp changing one, and vice versa...

      --
      Why OpalCalc is the best Windows calc
    2. Re:Paper mirror by Dracos · · Score: 1

      You denigrated comic sans by the transitive property of bad. No hate from me.

    3. Re:Paper mirror by qubezz · · Score: 4, Informative

      If you read the article instead of looking at the pictures, the authors point out that this is one situation where the algorithm fails - the method is optimized for edge-finding in hand-drawn 8-bit pixel graphics. In more photo-realistic images like the doom face, especially later games where the graphics were rendered in 3d/hi-res and imported into the game (Donkey Kong Country would be a good example of this), vectorization doesn't work well due to the smoothed anti-aliased graphics.

    4. Re:Paper mirror by wvmarle · · Score: 1

      They point that out in the article indeed, the face is added as an example of where it goes wrong. Their algorithm simply doesn't work well on anti-aliased images (scaled-down photos), it's primarily designed to handle typical hand-made sprites with much sharper edges and colour differences.

    5. Re:Paper mirror by Twinbee · · Score: 1

      Yes, but I can imagine many would try to solve the issue by adding a kludge creating more special cases, rather than approach the problem with the better goal of unifying the alleged difference between a sharp, or blurred edge. A matter of degree rather than type/quality.

      --
      Why OpalCalc is the best Windows calc
    6. Re:Paper mirror by Rei · · Score: 1

      Looking at the images, I don't think it'd be that hard to detect the level of antialiasing in the image. In fact, they're already kind of doing it when they decide whether to blend areas or to leave them distinct. To me, that leaves the obvious solution: rather than a binary between "sharp" and "blurred" being determined by the level of color difference, you use the level of color difference (with a particular focus on matching hue) to decide the maximum transition distance. So, for example, a stark color change will still essentially be a clean line, and a gradual color change will still be smooth, but a moderate color change will have a small blending distance.

      --
      You're not made of Tuesday!
    7. Re:Paper mirror by sznupi · · Score: 1

      Wait, the Doom guy is an altered photo? Where can I meet him?

      ;)

      --
      One that hath name thou can not otter
    8. Re:Paper mirror by Twinbee · · Score: 1

      Yeah, something more along those lines.

      --
      Why OpalCalc is the best Windows calc
    9. Re:Paper mirror by StikyPad · · Score: 1

      I think it's more correct to call them aliased images than anti-aliased. There's no way of knowing whether an anti-aliasing filter was applied during downsampling since the original information is inherently lost (aliased). Though to be fair, they call them "anti-aliased" in the paper as well.

    10. Re:Paper mirror by qubezz · · Score: 1

      Aliasing is distortion due to digital encoding, such as the pixel blockiness when pixels are stair-stepped and jagged from nearest-neighbor sampling, or are just low resolution low color depth, like those the article's technique is designed to work on.

      Anti-aliasing is to use techniques to minimize those effects, such as blending adjacent pixels and super-sampling. It is possible to even anti-alias in 4 color...

  7. My first thought when i read this: by Anonymous Coward · · Score: 1

    Minecraft's about to get a whole lot better.

    1. Re:My first thought when i read this: by osu-neko · · Score: 1

      I've often wondered what a 21st century version of Minecraft would look like...

      --
      "Convictions are more dangerous enemies of truth than lies."
  8. Alright... by djpretzel · · Score: 1

    Now we need realtime implementation in ZSNES....

    1. Re:Alright... by Lehk228 · · Score: 3, Informative

      SUPER SAI is similar IIRC

      --
      Snowden and Manning are heroes.
    2. Re:Alright... by DaVince21 · · Score: 1

      We need a realtime implementation in a SNES emulator that's actually properly cross-platform. But quality will definitely vary in something like SNES, it's better reserved for NES, C64, Master System etc. stuff at the moment.

      --
      I am not devoid of humor.
  9. Re:So they . . . by Anonymous Coward · · Score: 1

    Are you implying that VectorMagic does the same thing just as well or better (making this research irrelevant), or that VectorMagic is the first bitmap vectorisation algorithm?

    (hint: both are wrong)

  10. Re:Emulators already do something like this by belthize · · Score: 1

    They mention that form of approach in the introduction and reference Hqx specifically in Section 2: Previous work.

    As mentioned two posts up there's an image of the paper (so text search blows) here: http://imgur.com/a/gRXPJ

  11. ...such as 2001's HQ3X by xxxJonBoyxxx · · Score: 1

    ...such as 2001's HQ3X (http://www.hiend3d.com/hq3x.html) which both awesome and as common as dirt ten years later.

    Article author Sebastian Anthony looks like a tech nitwit with the "at long last, we might be able to play Super Mario Bros. on a big screen without stretching our beloved plumber's pixels to breaking point" comment.

  12. Re:So they . . . by shutdown+-p+now · · Score: 2

    No, not really. From the paper:

    Various commercial tools, such as Adobe Live Trace [Adobe, Inc.2010] and Vector Magic [Vector Magic, Inc. 2010], perform automatic vectorization of raster images. The exact nature of the underlying algorithms is not disclosed, however, they generally do not perform well on pixel art images, as is evidenced by the comparisons in this paper and in our supplementary material.

  13. Impressive, interesting flaw with the keyboard pic by syousef · · Score: 4, Insightful

    EvilHom3r over on Reddit seems to have mirrored the paper (as images) here.

    My verdict: Yeah, it looks all nice and smooth, but with all upscaling, it's basically interpolating data. The original just didn't have that much detail, so you can only get so much out of it. Sometimes it works, sometimes it doesn't.

    (Oh, and it makes all text look pretty bad. Kinda Comic Sans-y, if I can say that without invoking instant hate.)

    I know what you mean but it's pretty impressive nonetheless. The flaw I found interesting was in the keyboard image. I'm sure the intention here is square keys, but their algorithm made all the keys round. Some things in a pixelated image should not be smoothed but without human context that's a very hard call to make.

    --
    These posts express my own personal views, not those of my employer
  14. Re:This is news? Anyone else run a NES emulator? by shutdown+-p+now · · Score: 4, Informative

    RTFP - they list the various existing upscaling algorithms, and why they're not perfect:

    Several later algorithms are based on the same idea, but use more sophisticated logic to determine the colors of the 2x2 block. The best known ones are Eagle [Unknown 1997], 2xSaI [Ohannessian 1999], and Scale2x [Mazzoleni 2001], which use larger causal neighborhoods and blend colors. Several slightly different implementations exist under different names, such as SuperEagle and Super2xSaI. An inherent limitation of all these algorithms is that they only allow upscaling by a factor of two. Larger magnication canbe achieved by applying the algorithm multiple times, each time doubling the resolution. This strategy, however, signicantly reduces quality at larger upscaling factors, because the methods assume non-antialiased input, while producing antialiased output.

    The latest and most sophisticated evolution of this type of algorithms is the hqx family [Stepin 2003]. This algorithm examines 3x3 pixel blocks at a time and compares the center pixel to its 8 neighbors. Each neighbor is classied as being either similar or dissimilar in color, which leads to 256 possible combinations. The algorithm uses a lookup table to apply a custom interpolation scheme for each combination. This enables it to produce various shapes, such as sharp corners, etc. The quality of the results is high. However, due to its strictly local nature, the algorithm cannot resolve certain ambiguous patterns and is still prone to produce staircasing artifacts. Lookup tables exist only for 2, 3, and 4 magnication factors.

    whereas what they did here is:

    Our goal in this work is to convert pixel art images to a resolution-independent vector representation, where regions with smoothly
    varying shading are crisply separated by piecewise-smooth contour curves.

    Seriously, just look at the whale image linked from TFS.

  15. Yes, a regular expression joke by gman003 · · Score: 5, Funny

    I'm going to steal it. Next time I see something I'm both apprehensive, and tired of, I shall be /we?ary/ of it.

    1. Re:Yes, a regular expression joke by johanatan · · Score: 1

      Shouldn't it be: /we[a|]ry ?

    2. Re:Yes, a regular expression joke by gknoy · · Score: 1

      Nope. /we[a|]ry/ matches wery, weary. /we?ary/ matches weary, wary.

      Gman, thanks for the joke. :D

    3. Re:Yes, a regular expression joke by johanatan · · Score: 1

      Oh yea. I confused the DOS and regex notions of '?'.

    4. Re:Yes, a regular expression joke by Crag · · Score: 1

      This is either the best or worst idea I've seen all day.

      I'm not sure which/[?|]{3,}/

  16. PDF mirror by interiot · · Score: 1
  17. Re:This is news? Anyone else run a NES emulator? by artor3 · · Score: 1

    If you read the paper (which is presently slashdotted) you'll see that they compare their results to existing pixel-smoothers, and theirs definitely look better in pretty much every case.

    So it's not "Hey, we invented this new thing no one ever thought of!" so much as it's "Hey, we invented this better way of doing something that already exists."

    I, for one, look forward to having better graphics in emulators.

  18. Really?? No one came with... by phobos512 · · Score: 1
  19. Re:This is news? Anyone else run a NES emulator? by kevinmenzel · · Score: 1

    The authors of the article are aware of other scaling algorhythms, and discuss and compare their work to them. RTFA.

  20. Re:Yawn by nethneta · · Score: 4, Informative

    Last time I checked, these filters you speak of in Zsnes and other emulators simply extrapolate the pixels without paying any special attention to shapes and colors. TFA picture looks quite a bit more advanced.

  21. Re:Minecraft? by TapeCutter · · Score: 1

    let me patch you up until you can get back too the first grade.

    Please return your grammar Nazi card on the way out.

    --
    And did you exchange a walk on part in the war for a lead role in a cage? - Pink Floyd.
  22. Re:This is news? Anyone else run a NES emulator? by smellotron · · Score: 2

    This is news? Anyone else run a NES on those dozen or so emulators that already has pixel-smoothing options?

    Yes, this is news. Most scientific and technological advancement is iterative improvement. This paper describes an improvement in the state-of-the-art for vectorizing pixel art (which is not the same as pixel-smoothing, though a vectorized image is usually re-rasterized for display).

    Seriously, read the paper. The algorithm described will require some basic understanding of splines and graph algorithms, but it's surprisingly accessible for a graphics/vision paper. Also, shiny pictures.

  23. Re:Yawn by DigiShaman · · Score: 5, Informative

    Those are all post-processing up-scaling effects. But they do have limitations in that even the pixels themselves can still be made out. Obfuscating them only goes so far. But with this new technique, they're pure vectors. They will scale infinitely with splines to match your screen resolution, much like fonts.

    --
    Life is not for the lazy.
  24. Re:This is news? Anyone else run a NES emulator? by smellotron · · Score: 1

    Seriously, just look at the whale image linked from TFS.

    I'm pretty sure that's a dolphin, actually... OK, so maybe their algorithm isn't perfect yet ^_^

  25. Re:Using cubic spline by aiht · · Score: 1

    Yes, but what lines are you smoothing? That's what this algorithm's about - generating the lines.

  26. Re:Meh by nedlohs · · Score: 1

    And yet you didn't.

  27. Re:Yawn by creat3d · · Score: 3, Insightful

    I play in Znes with the Hq3x filter. It might be good, but it's nowhere near the quality of what these people have accomplished. Znes having this technique implemented would be amazing,

    --
    Grammar nazis are to this community what excrements are to gold.
  28. CORAL link to the PDF by Announcer · · Score: 4, Informative

    It looked like it was on the verge of a Slashdotting, so I CORALized it.

    http://johanneskopf.de.nyud.net/publications/pixelart/paper/pixel.pdf

    Very interesting, and quite effective.

    --
    Willie...
    1. Re:CORAL link to the PDF by cbope · · Score: 1

      And so the Coral link is now also slashdotted... :P

    2. Re:CORAL link to the PDF by Prosthetic_Lips · · Score: 1

      Is there a term for "slashdotted-the-cacher"? I tried your link, and it timed out twice. Someone else (above) had posted another mirror link, and that one worked. Cache-dotted?

  29. Re:This is news? Anyone else run a NES emulator? by Announcer · · Score: 1

    I've posted the CORAL link to the PDF under the original article.

    --
    Willie...
  30. Re:Yawn by PsychicX · · Score: 2

    You can't understand the difference between SCALING and VECTORIZING? Really? Scaling algorithms increase the number of pixels, but you're fundamentally still dealing with a raster image. A vectorized drawing is a whole different beast.

    That said, I would like to compare the final results against a best of breed scalar like hq4x for the same final output resolution.

  31. Flash image tracing by flimflammer · · Score: 1

    This looks a lot like what you might end up with if you use the image tracing function in Flash to convert bitmaps into...vectors.

  32. Re:Yawn by PsychicX · · Score: 1

    Spoke too soon, the paper has an hq4x comparison. The results are really, really good -- it actually manages to do a better job than hq4x on Super Mario World.

  33. Re:Mostly good for Mario by sammyF70 · · Score: 3, Funny

    Which is exactly what TFPDF says. Your rating : 10/10 on reading skills, 1/10 on creativity ...

    --
    "DRM is like the Ford Pinto: it's a smooth ride, right up the point at which it explodes and ruins your day."-C.Doctorow
  34. The best I've come across by Vectify · · Score: 2

    I redraw bitmaps as vector art as a little side business, and I have to say this is the best "livetrace" automated program I've come across. Shameless plug: Vectify.com. Still no substitute for hand drawn (rounded corners that should be sharp; variable, wobbly line widths; but very good for an automated process). I've scanned through the PDF paper, and it looks like it's too CPU intensive to be used in retro games in realtime: from page 6, "There are many avenues for future work. Obviously, it would be nice to optimize the performance of the algorithm so that it can be applied in real-time in an emulator." As someone who used to play old games via dosbox and SNES9x, having something like this as a selectable filter option one day would be welcome. Now that I think about it, this kind of thing would be useful for app developers who want to scale up low-res artwork to work on higher res displays (like going from the original iPhone to the iPad). At least, it could be used as a starting point to further manual refinement.

    1. Re:The best I've come across by gehrehmee · · Score: 1

      I wonder if it would be feasible to cache these results.... by definition these sprites don't change appearance very often. If you could detect that sprite A is being drawn at point X,Y, and just draw the cached and pre-generated high-res vector art in the right location, would that be any more practical for real-time rendering?

      --
      "You know, Hobbes, some days even my lucky rocketship underpants don't help" -- Calvin
    2. Re:The best I've come across by Vectify · · Score: 1

      Many of these old games use a "sprite sheet" or "sprite page," basically just a big bitmap with a bunch of little sprites in various stages of animation. Do a Google Image Search for "sprite page" to see what i mean. If this new technique were added to an emulator, could it "prescan" the ROM and run the vector trace while the game is loading up? If performace of all of these vector lines animating at once is an issue (think flash animation), the emulator could just temporarily rasterize the vector trace at a much higher resolution, so you're moving around high-res sprites on the screen.

    3. Re:The best I've come across by PhrostyMcByte · · Score: 1

      The disadvantage of 2D is that animating sprites requires a new texture for each frame... upscale all of those, and you might run out of video memory. Something like Mario might work, but I'm not sure about Street Fighter. (Conceptually, of course. In reality you'd probably bundle an entire animation into one larger texture)

  35. Re:Minecraft? by drsquare · · Score: 1

    No it would make it worse, as pixels look better than cartoonish vectors.

  36. enhance by laurent420 · · Score: 1

    *clickityclackity* "enhance." *clickityclackity* "enhance!"

    1. Re:enhance by Legion303 · · Score: 1

      Ah, I see I'm not the only one who thought of playing old DOS strip poker games with this algorithm.

    2. Re:enhance by nbehary · · Score: 1

      Didn't that use (poorly) digitized photos though? This doesn't do well with that sort of thing. It's a fun thought though.

  37. Re:So they . . . by Sarten-X · · Score: 2

    Corel PhotoTRACE was out in 1993, and produced results comparable to the Live Trace examples in the PDF. Such results are far inferior to this algorithm in most of the provided examples.

    --
    You do not have a moral or legal right to do absolutely anything you want.
  38. The Real Test by bughunter · · Score: 2

    The real test for the Kopf-Lischinski algorithm will be how it can handle Nethack.

    --
    I can see the fnords!
  39. Re:Yawn by headLITE · · Score: 1

    The paper actually mentions them, compares how they work and describes what was improved.

  40. Re:This is news? Anyone else run a NES emulator? by osu-neko · · Score: 2

    This is news? Anyone else run a NES on those dozen or so emulators that already has pixel-smoothing options?

    One suspects that if /. posted an article about a new engineering method that will allow us to finally build a cheap, working space elevator, you'd post, "This is news? Haven't we had ways of making cables for centuries?"

    --
    "Convictions are more dangerous enemies of truth than lies."
  41. Re:Mostly good for Mario by osu-neko · · Score: 1

    I bet most of Doom is a disaster too.

    Wasn't the picture in the original article where they show how it fails on those kinds of graphics, in fact, from Doom?

    --
    "Convictions are more dangerous enemies of truth than lies."
  42. Re:Yawn by Carewolf · · Score: 1

    The hq2x and hq4x filter are all specially made to handle pixel art shapes. Even the generic filters are selected for their ability to upscale pixel art well.

  43. Re:This is news? Anyone else run a NES emulator? by renrutal · · Score: 1

    Yeah, they are dolphins wearing swimming masks, from Super Mario World: http://www.youtube.com/watch?v=W94OrZU4-aw&t=428

  44. Re:Yawn by polymeris · · Score: 2

    Have a look at the paper, if you haven't yet. Their algorithm is impressive, but even in the samples they chose, some things get better results (IMO) with hq4x (Fig. 10, Mario Bros. scene, perhaps?) or Photo Zoom 4 (Fig.9, That warrior with the sword).

  45. It's easier with 8-bit by Animats · · Score: 1

    This looks good because it is specialized for 8-bit manually created graphics. 8-bit graphics with a broad palette has little shading, so it's usually unambiguous which pixel attaches to which adjacent pixel. Vectorizing 24-bit color images, or 8-bit images from photographs, requires more guesses about how wide things are and where the edges are supposed to be.

    Nice if you really want to play 80's games in higher resolution.

    1. Re:It's easier with 8-bit by gl4ss · · Score: 1

      the game itself will no longer look like pixel perfect though, especially when scrolling and animating sprites it's quite obvious. also as the algorithm can't know without hinting which pixels should be sharp edges, it's going to make a mush of such edges. okay for some games I suppose, and it doesn't bother as much in stills.

      http://en.wikipedia.org/wiki/Pixel_art_scaling_algorithms

      --
      world was created 5 seconds before this post as it is.
  46. Re:Captcha by Beardydog · · Score: 1

    I just lost the game.

  47. But the whole point is... by anti-pop-frustration · · Score: 2, Interesting

    That we like the way pixel art looks in the first place!

    This project is technically interesting but as art it completely misses the point. Not every piece of human creation needs to be updated, upscaled, "improved" and redone.

    I know the originals make more sense to me.

    1. Re:But the whole point is... by pinkushun · · Score: 1

      I agree, the art in some games were created around the pixelated look, some angles are meant to be there.

      A great way to upscale old 16x16 icons to 256x256!

    2. Re:But the whole point is... by grumbel · · Score: 1

      Not every piece of human creation needs to be updated, upscaled, "improved" and redone.

      Things change and what once looked good on your 14" CRT TV in your bedroom doesn't look so good when scaled up to a 44" LCD TV in your living room. Results of course vary from game to game and this algorithm in particular seems to smooth out some things more then needed, but hqx and the other scalers available in emulators often give quite solid results, that smooth out the pixels, without destroying the original look behind them. Especially fonts often get much more readable when smoothed by a proper scaler instead of just blown up without any kind of interpolation. And of course when you don't like it you can still just switch them off. Its good to have options.

  48. Re:Yawn by dbIII · · Score: 1

    It's not about pretending that Avant Vector on the Atari ST and a pile of things before and after didn't exist, it's about a better technique to get vectors out of bitmaps than the existing ones.

  49. Re:ZSNES by Barryke · · Score: 1

    I am stumped as to why everybody seems to think it can be applied in emulators with the same ease as pixel resamplers where.

    If this would be used properly, it should evaluate each bitmap *on its own* before it is part of the screen, and then instead draw the resulting vector image to the screen, ofcourse matching the pixel coordinates. You cannot simply apply this to a any screenshot or video as it would give undesired results most of the time.

    I would very much like to see a HD youtube video that shows how this algorithm holds up when processing a Mario World gameplay video, one that shows a .GIF video, and one that shows a normal (but downsampled) outdoor video.

    --
    Hivemind harvest in progress..
  50. On the next CSI: 8-bit by Keyboarder · · Score: 3, Insightful

    Zoom in on Mario a bit... Enhance...

  51. Re:Yawn by NoEvidenZ · · Score: 1

    Looks like somebody just watched Zeitgeist~

  52. Would be great for LCD upscaling in GPUs! by bertok · · Score: 2

    NVIDIA and AMD should implement this and related algorithms for their LCD upscaling!

    The algorithm looks like it could be parallelized onto the GPU easily enough, and doing it transparently at the video card driver level would enable PC gamers to play classic games on large LCDs without the thumbnail sized pixels.

    Just imagine what this scaling algorithm could do for classic low-res games like Diablo.

    This is why closed-source sucks... I'd have done it myself by now if I had access to the AMD GPU Windows driver source code!

    1. Re:Would be great for LCD upscaling in GPUs! by MtHuurne · · Score: 1

      You don't need direct access to the GPU, you can use pixel shaders instead. To capture the frame buffer, you can run the game in DOSBox, QEMU or VirtualBox, which are open source. So, get to work! ;)

    2. Re:Would be great for LCD upscaling in GPUs! by lucian1900 · · Score: 1

      Feel free do to it for linux. On the other hand, you could use shaders or GPGPU to achieve similar results.

    3. Re:Would be great for LCD upscaling in GPUs! by tepples · · Score: 1

      Just imagine what this scaling algorithm could do for classic low-res games like Diablo.

      Look at Doom's face* in the article. It acknowledges that it produces suboptimal results on heavily antialiased sprites like this or like those seen in Donkey Kong Country, Uniracers, or Super Mario RPG.

      * It's not a case of Pretty Cool Guy as much as that Quake III Arena called the character Doom.

    4. Re:Would be great for LCD upscaling in GPUs! by MobyDisk · · Score: 1

      These algorithms would not work well on the GPU for a variety of reasons:

      1) They don't work on a final image, only on individual sprites.
      The article states that if you try to run the algorithm on an image as a whole, it has trouble where one sprite ends and another sprite begins. For example, the heuristic doesn't work where Mario's head meets the background. Worse yet, as the image moves the heuristic would pick a different vector at each frame.

      2) The video card probably doesn't even get the right info.
      Existing applications are forced to do some sort of scaling because video modes like 256x200 are not really supported any longer. So the video card does not get the raw data, it gets scaled data. The article points out that pre-scaled or anti-aliased images don't work with this algorithm.

      3) The article explains that the algorithms used don't work in real time. Although it probably could be parallelized, brute force would not be enough to make this real-time. Plus, GPUs aren't great at walking through graph structures. The algorithm itself would need to be changed.

    5. Re:Would be great for LCD upscaling in GPUs! by creat3d · · Score: 1

      Thanks for the clarification. That's disappointing for the near future, but the fact that they've accomplished such impressive results is encouraging at least.

      --
      Grammar nazis are to this community what excrements are to gold.
  53. MAME support by Mhtsos · · Score: 1

    Can someone link to the MAME build that supports this? ....
    What do you mean they're not coding this directly into MAME source?!?!?!

  54. Finally! by drolli · · Score: 2

    Commodore 64 Porn arrives in high-res

  55. Sample image is not 8bit source by damn_registrars · · Score: 1

    The image of the dolphin comes from Super Mario World, which was for the Super Nintendo. That was a 16bit game on a 16bit system. Anyone who played the 8bit Super Mario Bros games can tell you there were no dolphins in those games.

    --
    Damn_registrars has no butt-hole. Damn_registrars has no use for a butt-hole.
    1. Re:Sample image is not 8bit source by Briareos · · Score: 3, Informative

      Yeah, it's from Super Mario World, i.e. the SNES - and on the SNES "Sprites can be 8 × 8, 16 × 16, 32 × 32, or 64 × 64 pixels, each using one of eight 16-color palettes", which would make the dolphin a 4-bit sprite.

      --

      "I'm not anti-anything, I'm anti-everything, it fits better." - Sole

  56. Re:Mostly good for Mario by jawtheshark · · Score: 1

    but it falls down on many other art styles. Something like an old Sierra game (mid-series Kings Quest, Space Quest, etc...) are likely to be a hot mess.

    I'm not so sure, especially not on the (remastered) VGA Sierra editions. Go look at page 7 of the PDF and you'll notice the "Axe Battler" which is reminiscent of the VGA Sierras. Worked just fine.

    Now the original EGA sprites (or equivalent, back in the day, the PC wasn't the "Ruler" in the home computing world) probably would be a lot trickier.

    --
    Ahhh...the great dumpster continuum. Many a free computer will be found there. -- sowth (748135)
  57. Re:Impressive, interesting flaw with the keyboard by arth1 · · Score: 2

    Also, the pins of the chip was a failure, becoming sawtooths instead of parallel pins.

    The problem with this algorithm, like many others, is that it's subject to an extension of the Pareto principle. In 80% of cases, it may be an improvement, but that doesn't help if it makes the result worse in 20%. Cause it's the failures we notice, and judge quality by.

    Algorithms like this also don't work well for animated sprites. Our imagination can fill in the gap between Mario holding the hammer above his head and the hammer hitting a barrel, precisely because of the technical limitations. But the same abrupt transition with high res splines would be jarring. (And a morph would be even worse)

    Speaking of failures, I must say the greatest result was Adobe's version of the fish. They were the only one that managed to make the fish more scary!

  58. Missing a color? by nuggz · · Score: 1

    It looks like their vectorized version has 1 less colour than the original.
    Sure the vector version is nicer, but if every pixel is important, why would the algorithm decide to drop the light blue?

    1. Re:Missing a color? by Veggiesama · · Score: 1

      No, the light blue is there, but the gradient is nearly seamless. Look closely at the middle of the fin and behind the white line by the snout.

  59. Re:Yawn by dzfoo · · Score: 3, Funny

    Too late, you already did.

              -dZ.

    --
    Carol vs. Ghost
    ...Can you save Christmas?
  60. Re:Minecraft? by Merls+the+Sneaky · · Score: 1

    Why not? He got that pissed over a missing capitalization.

  61. Re:Yawn by petermgreen · · Score: 1

    Unfortunately it seems the output is a collection of splines which are then recombined with the original image data to produce a shaded image at arbitary resoloution. Which is a nice result don't get me wrong but it looks like it would still be some further effort to turn the result into a standard vector format.

    Also they don't seem to have released the code so to actually use this one would have to try and reimplement the technique from the info in the paper.

    --
    note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
  62. Re:Impressive, interesting flaw with the keyboard by sznupi · · Score: 1

    Some algorithms find better balance than others. Hq4x, used as one of the examples in the paper, does that for me - maybe not as "smooth", but generally nice enough. Plus it rarely gives something weird, IMHO maintains decent consistency in the look of the games.

    Or maybe I'm just used to it... (with it and similar around for a decade+, in various emulators)

    --
    One that hath name thou can not otter
  63. Re:ZSNES by ProfMobius · · Score: 1

    1. Apply it to each individual sprite while loading the ROM.
    2. Create an alternate sprite table with vector graphics.
    3. Create two rendering loops, one internal for the original sprites and one going to the screen with the new sprites.
    4. ???
    5. Profit

    --
    EULA : By reading the above message, you agree that I now own your soul.
  64. Re:Yawn by TheRaven64 · · Score: 1

    The real drawback with hqx is that they are fixed-multiplier upscalers. I can take an old game with a 320x200 resolution and scale it up to 960x600, and it looks great, but if I want to play it full screen then I need to do more traditional interpolation to get it up to my screen resolution. It still looks nice, but not as good. Being able to scale up to an arbitrary resolution in one step is much better.

    That said, when I was at the University of Utah around 2006, I saw some very similar results to the pretty pictures in the paper (I've not read the words yet), using a similar approach. I don't know where their results were published, so I can't compare the results in detail, but the idea of creating topology maps from image data and then using this to generate rasters at arbitrary resolutions is not new - they were mainly looking at it as a compression scheme, since the topology maps can be tiny; smaller than a low-resolution bitmap, but able to be scaled up to high resolutions without artefacts.

    --
    I am TheRaven on Soylent News
  65. Blunt force trauma FTW by tepples · · Score: 1

    so it looks like the fighters hit each other with soft nerf bats instead of swords

    A baseball bat has a smooth contour, but as Ness shows in Super Smash Bros. series, it's still a formidable weapon.

  66. Re:This is news? Anyone else run a NES emulator? by Hatta · · Score: 1

    Anyone know the difference between a pixel scaler and a vectorizer?

    --
    Give me Classic Slashdot or give me death!
  67. Re:Yawn by rjstanford · · Score: 1

    You can't understand the difference between SCALING and VECTORIZING? Really? Scaling algorithms increase the number of pixels, but you're fundamentally still dealing with a raster image. A vectorized drawing is a whole different beast.

    Your words are all true, but the reality of the situation is that the images are going to be displayed on a pixel-based device. The input is just pixels, and the eventual output is also just pixels. This approach, that internally uses vector graphics, appears to work incredibly well - but they're final results aren't better simply because they use vectors.

    --
    You're special forces then? That's great! I just love your olympics!
  68. How processor intensive is this? by ArcCoyote · · Score: 1

    I mean, if you can program a GPU to do it, great. Otherwise, you're probably better sticking with hq2/4x and using a texture map onto a flat surface to get arbitrary scaling.

  69. Re:Yawn by Golddess · · Score: 1

    I'd have to see a comparison between TFA's picture and zsnes to be certain, but I agree with the AC. At least going by memory, it doesn't look any different from what I recall zsnes looking like.

    If someone has a comparison image handy, it'd certainly be welcome. Otherwise I'll just check it out myself when I get home.

    --
    "I'm not sure I like the fugnutish tone you used in your post!" -RogL (608926)-
  70. Re:This is news? Anyone else run a NES emulator? by MtHuurne · · Score: 1

    A pixel scaler is an algorithm that makes a different resolution output image, for example upscaling 320x240 to 640x480. Most existing pixel scalers look at neighboring pixels (2x2 or 3x3 area) to decide how to replace one input pixel with NxN output pixels.

    A vectorizer is an algorithm that creates a vector representation of an image input as pixels. You can then use that vector representation to render at a higher resolution (any zoom factor, not just integer values), but you could do other things such as rendering at the same resolution but with anti-aliasing or even scaling down.

  71. Re:ZSNES by MtHuurne · · Score: 1

    Pixel resamplers have the same problem: if you have a sprite moving over a background which has some colors in common with the sprite, the scale algorithm will detect the wrong edges and you'll see artifacts. However, even though it is not perfect the result is still acceptable to most people.

  72. Fools the brain by HalAtWork · · Score: 1

    Yes, but these low-detail originals were enough to fool the brain, in our minds we "knew" what these would look like if they were well drawn. I'm sure an algorithm could be developed to guess at these details the way our brains do.

  73. Re:dolphin SVG by molo · · Score: 1

    The svg contains a PNG.  This is not helpful.

    <image x="1310" y="10177" width="19590" height="7968" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAACiQAAAQgCAIAAADjEzFOAAAACXBIWXMAADPEAAAz

    -molo

    --
    Using your sig line to advertise for friends is lame.
  74. Wouldn't work so well by HalAtWork · · Score: 1

    The Super NES drew things in layers, so emulators are able to up-res each layer separately. The TV would try and up-res the entire screen all in one shot, so some of the details of the characters and backgrounds might get mixed up together. If part of the outline of the character is black and part of the background is black, then the TV upscaler might think the two are joined together. If a previous-frame(s) algorithm were implemented it might help to mitigate some of these issues, but that wouldn't stop problems with static screens.

  75. God Forbid. by Kwpolska · · Score: 1

    Can I get the *reverse* of that, i.e. downscaling big-ass vector graphics to 8-bit?

  76. Re:Impressive, interesting flaw with the keyboard by xtracto · · Score: 1

    I agree on the importance of the development of this new method. However I cannot help but think that there is no perceptible difference between the hq4x result and their algorithm in Figure 9 (SNES mario picture). Myabe the difference (of these two methods) will be more evident with big screens.

    --
    Ubuntu is an African word meaning 'I can't configure Debian'
  77. Re:Impressive, interesting flaw with the keyboard by Quirkz · · Score: 1

    Actually, the keyboard ends up looking a bit like a typewriter. It's a little weird to modern sensibilities, but there were whole decades when most typewriter keys were round, or at least all the old-style non-electric ones I've seen had round keys.

  78. Re:ZSNES by ShooterNeo · · Score: 1

    The actual SNES/NES/gameboy consoles had data structures in memory for storing individual sprites. You'd want to have your algorithm somehow correlate individual data structures with onscreen elements so that it would know what each discrete sprite was.

  79. Re:Impressive, interesting flaw with the keyboard by Burning1 · · Score: 1

    [blockquote]Speaking of failures, I must say the greatest result was Adobe's version of the fish. They were the only one that managed to make the fish more scary![/blockquote]

    In Super Mario World, the dolphins appear in the level 'Vanilla Secret 3' and help Mario complete the level and avoid the otherwise unkillable puffer fish by serving as flying platforms. They are not intended to look scary. :)

  80. Frame rate in anime by tepples · · Score: 1

    Algorithms like this also don't work well for animated sprites. Our imagination can fill in the gap between Mario holding the hammer above his head and the hammer hitting a barrel, precisely because of the technical limitations. But the same abrupt transition with high res splines would be jarring. (And a morph would be even worse)

    Anime fans are just fine with characters that are detailed yet jerkily animated.

  81. ENHANCE! by drb226 · · Score: 1

    'nuff said.

  82. Re:Yawn by Carewolf · · Score: 1

    Yes, it is very impressive. If I remember correctly hq2x and hq4x are not even real algorithms, they are hand-written tables designed to work well. Even if the new algorithm was not a visual improvement (it is), it would still be impressive.

  83. Re:Yawn by rjstanford · · Score: 1

    So what? At the time of scaling, which for video games has to be the time of playing in realtime, the output resolution is known. Sure, we can all come up with fairy-tale scenarios of 8-bit video games that will be recorded and re-displayed on big screens and watches, but in real life that just doesn't happen enough to be statistically significant.

    --
    You're special forces then? That's great! I just love your olympics!
  84. Re:PhotoShop been there done that by Tablizer · · Score: 1

    I meant the "smoothing" of lines, not necessarily vectorization.