What Is The Future of PNG?
miladus writes "The GIF patent (held by Unisys)
will expire on June 20. C|Net wonders
whether that will also mean that PNG "will lose its original
reason for being". Remember Burn All
GIFs? " My hope would be that at this point PNG can stand on its own technical merits, rather then on ideological merits.
Unfortunately even half my coworkers don't know what a PNG is. I try to send them a UML diagram made from DIA and they demand a readable format :(
--------
Free your mind.
until GIF gives us more than Alpha channel with more than 1 bit :)...
I am dying for full PNG support in all major browsers... the 256 levels of transparency alone make it worth while!
You can't get rid of a graphics file format once it's out there.
Just because PNG is 'better' than GIF, doesn't mean it'll win.
GIF has such a huge head start...
Until IE fully supports the format, it might as well be dead. Nobody who wants the Alpha Channel support can use it in IE6 so it pretty much just sits there, an unused option.
Since IE apparently won't be getting an update until the next version of Windows, I don't see much changing.
It also doesn't help that creating PNGs with Alpha Channels isn't as easy as it can be in some apps.
Only thing GIF has what PNG does not is animation support... PNG wins in everything else. And most of the GIF animations I have seen do nothing else than annoy so i'm not sure if the lack of it in PNG is a good or bad thing after all.
My hope would be that at this point PNG can stand on its own technical merits, rather then on ideological merits.
It certainly does for me. PNG tends to display colors more accurately than GIF, has cleaner dithering, and has much better transparency than GIF. It also generates smaller files for complex/large images. But, Internet Explorer once again holds us back. IE doesn't do transparency AT ALL for PNG images. It doesn't even use the page color, or white, just a flat 50% gray. Once IE supports PNG properly, a lot more web developers will feel comfortable using it. Curse you and your "standards", Microsoft.
Jasin Natael
True science means that when you re-evaluate the evidence, you re-evaluate your faith.
large file size versus GIF or JPEG? Hardly. Take a 24 bit RGB image as your source, and find the format that provides the best reproduction of the original image in the least amount of space. PNG wins hands down. GIF can't reproduce the colour depth, JPEG can't reproduce the original pixels reliably without balloning the file size way beyond the PNG.
PNG is actually about the best lossless image format out there - better compression than TIFF LZW, and just as flexible.
GIF and JPG each do something quite well. GIF is well-suited for the rendering of static elements with a relatively small palette, like webpage design elements. It doesn't support photo-realistic images, but that's OK - a GIF can make a very small, efficient file that can load quickly. And it's been supported since the earliest days of the Internet.
JPG compliments GIF by providing a way to display high-quality photo images, and you can control the size of the rendered file by deciding how much you're willing to discard. Again, it's supported by every editor and browser, and it's been around since the beginnning.
PNG is a superior format to GIF from a technical perspective, and it's not encumbered by the LZW patent. However, from the perspective of most mainstream users, it doesn't solve a problem that actually affects them (they don't know or care about the Unisys patent issue), it isn't perfectly supported by all mainstream browsers and servers in use today, and it's a johnnie-come-lately to the standards wars.
Like it or not (I think it kinda sucks), most web developers seem to do things one of three ways: if they need small static elements they use GIF, for photos they use JPG, and if they need fancy-schmancy stuff they use Flash. And nobody worries whether or not platforms other than Windows with the latest IE can render their site, anyway. So maybe PNG will slowly become more common - it is a better format for the most part than GIF is, and pretty much all current browsers and servers (going forward - not some of the older versions that are still in use) support it pretty well out of the box. Really, what matters most is the bottom line (especially once the LZW patent is dead) - can PNG produce a better browsing experience for a site's users? If it can, it'll get used. If not, then it's dead.
-- Josh Turiel
"2. Do not eat iPod Shuffle."
is that PNG will never see large scale use until all of it's features are supported in IE. I would love to use PNG for everything, except that they look like hell in IE. And as much as I badger people about using Mozilla, they don't.
GIF does have full support in IE, and nobody seems to know that the patent even exists. Even those that do rarely care enough to even tell one person.
This is the truth and it sucks. PNG, better in every way, suffers for it.
Well, then you just use MNG if you need animation. And if you read the linked page, MNG is superior to animated GIFs in a number of ways, one of which is better compression. Another advantage to MNG is it's not necessarily tied to one image format. The individual images can be stored in either PNG or JPEG format.
Personally, I think it's a good thing to have several image formats available with wide support in all browsers. The reason for this is it allows developers to choose which format provides the best results for what they're doing. This means which ones look better and compress better for a certain image. It's definitely a good thing that the patent on GIF is expiring, but it's also a good thing to make sure that PNG doesn't go away, either.
PNG is used as part of MS Office Documents for their binary picture data, so one suspects that making it work in IE will make more things break elsewhere.
There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter
16,777,216 = 256 * 256 * 256.
Your calculation:
GIF : 256 colors
PNG: 256 * 256 * 256 * 256 (r * g * b * a).
PNG/GIF = 256 ** 3 = 16,777,216.
In fact, PNG supports
65536 * 65536 * 65536 * 65536.
So, using your line of thought,
PNG / GIF = 256 ** 7 = 72,057,594,037,927,936.
I wonder if Microsoft's halfhearted support of PNG is deliberate. To be honest, it probably is, in an attempt to undermine open standards.
Ahem. Anyway, PNG is a format which would be superior to GIF in every aspect. Just a few problems...
1) Photoshop's PNG support sucks. It is entirely due to Photoshop that we have this insipid misconception that PNG is larger than GIF; if Photoshop would only compress PNG's decently, people would realize that this is false. Because unfortunately, most people are too lazy to use an optimizer along the lines of pngcrush.
2) IE/Windows' PNG support is awful. As I said, I believe that this is deliberate on Microsoft's part, given that they already have good PNG-handling code (in their AlphaImageLoader filter) and they simply refuse to use it as their default. Now, it is possible to use JavaScript -the scourge of the Net normally, but this is one of those points where it can be genuinely useful- to make IE apply the AlphaImageLoader filter to PNG images, but no one's managed to make a complete drop-in replacement that will apply to all PNG images im a page yet. It can be done, but it hasn't been done yet.
3) MNG support is nonexistent. Even Mozilla, the only browser which ever supported MNG, has removed it. This is a great shame.
Now, in the meantime, there actually is one use for images which PNG is ideally suited for, and where the transparency problems of IE/Win are not an issue: screenshots. The compression is good enough that particularly when dealing with computer-generated images, the file size isn't that much greater than JPEG, but there is no loss in image quality, which is especially important when grabbing screenshots of games or video. Screenshots are not transparent, as a rule, so IE/Windows has no problems. Unfortunately, it seems that this use of PNG has yet to be discovered by the mainstream.
PNG may also be good for certain types of wallpapeers, such as most computer-generated graphics or hand-drawn animation. Colors in these generally aren't as complex as they are in photographs, and the lossless compression of PNG works well under those conditions. Combine this with the fact that JPEG (the current de facto standard for wallpapers) has an inexplicable and yet undeniable hatred for the color red, and you have something which can better preserve these types of images. Worth considering, anyway.
PNG allows up to 16-bits per channel and has full alpha last time I checked. It can store just about anything, and it's non-lossy.
OTOH, you've got the tools that are supposed to allow you to have only 2n image converters, but the interchange formats for that (PPM, PBM, PNM, others?) seem to always have some shortcoming, and they always have to introduce yet another interchange format! PNG does it all in one neat little compressed format.
So forget about scrapping GIF in favor of PNG. Instead, scrap PPM, etc. in favor of PNG. If it doesn't support it already, PNG could be made to support arbitrary bit depth, and arbitrary channels (inverse hyperkinetic bump blending, or whatever you can imagine).
For the web, in most cases, PNG's capabilities don't add much--unless you are doing something really flashy with your website, in which case you probably use Flash, in which case you have nothing meaningful to say so I ignore you anyway. :)
At any rate, PNGs (at least the RGB channels) are properly supported by all the major browsers, so if something happens to compress better in PNG, or if you really need full color depth in a non-lossy image, why not use PNG?
That about sums it up: GIF--color depth not important, crisp lines important, compression important. JPEG--color depth important, crisp lines not important, compression important. PNG--color depth and crisp lines both important, compression not as important (or the image just happens to compress well with PNG).
In some ways, this is a variation on the "better, faster, cheaper" dilemma.
Now, the scenario that favors PNG may be less common, but it's nice to know we can reach for it when we need it.
For all intensive purposes, "whom" is no longer a word. That begs the question, "who cares"?
Even if PNG was a lousy format, it's gotten enough use
that it's here to stay. Fortunately, it's a pretty good
format.
What I wonder is if superior compression techniques, e.g.
LOCO/JPEG-LS will be incorporated into PNG? I was one of
the founders of PNG in 1995, but that was eight years of
technology development ago. Has someone tested PNG
against JPEG-LS in various real world applications?
The mistaken belief that GIF has a limit of 256 colors probably comes from the way GIF was first used when it came out.
Err, I would say this belief comes from someplace else, like... the GIF specification. GIF has been designed for 256 colors, as the Global Color Table and Local Color Table (which are made a of power-of-two number of entries limited to 256) clearly show.
The site you mention is the homepage for a hack. Yes, a clever dude can create GIFs that look like they have more than 256 colors... but the fact is, such a GIF is made of many 256-colors images. Totally inefficient, compared to PNG, as the author of the hack admits, at the bottom of his page.
That said, there's another well-known GIF hack, which also uses several images per GIF: animated GIF. Let's not forget that, as the spec says, The Graphics Interchange Format is not intended as a platform for animation, even though it can be done in a limited way.
So, let's hope the nightmare doesn't come true, and that horrible multi-image true-color true-Bad GIFs begin to be popular.
PNG is better than GIF in every technical aspect.
GIF Spec: here