为什么 GIF 格式迟迟没有被取代?

GIF 是20多年前的东西,无论是清晰度还是色彩还原都不适应现在的互联网环境,但是为什么一直没有消亡? 推出一种新的图片格式需要克服哪些阻碍?
关注者
1,422
被浏览
1,107,142
登录后你可以
不限量看优质回答私信答主深度交流精彩内容一键收藏

GIF 格式自 1987 年由 CompuServe 公司引入后,已经度过了 30 多个年头了,恐怕比有些知友的年纪还大。1989 年 CompuServe 发布了一个名为 89a 的增强版本,正式支持了透明(Alpha 通道)和多帧动画。随着大名鼎鼎的浏览器鼻祖——网景浏览器,在 1995 年为 GIF 添加了无限循环功能后,GIF 开始了它辉煌的「一生」。

但对于图像存储来说,颜色就是生命,GIF 由于采用 8 位压缩,最多只能处理 256(2 的八次方) 种颜色。放眼如今互联网的「花花世界」,这显然已经捉襟见肘。我们在 Photoshop 里做小表情包时,最常用的优化手段就是用「仿色」来减缓图像透明边缘的杂边问题。

而后,Mozilla 社区推崇带有动画的 APNGAnimated Portable Network Graphics),所以Firefox 3 开始支持该格式,开发者也一直推荐该格式作为 PNG 标准的一部分,但最终 PNG 组织投票以 10:8 否决了 APNG 进入官方标准,这事儿也就不了了之啦。

Chrome 则推崇自己的 WebP 格式,Animated WebP(WebM) 则是可以支持动画的 WebP,它包括了真正的(8bit)alpha通道,每一帧还可以按照需要设置成有损或无损,而 GIF 只有1bit,相比 GIF文件体积可以压缩的更小。在最新的 Chrome 32 for Android 中进一步优化了性能,默认禁用了双击缩放等。Chrome 9 开始支持该格式。

Opera 是个老好人,从 9.5-12.1 开始支持 APNG,从 11.1+ 开始支持 WebP,转投 Blink 内核后,自然是和 Chrome 保持一致了。

所以 GIF 迟迟没有被新的格式取代也是各个社区对各自利益相持的结果,最终还是会被逐步取代。

这里有一个在线转换 GIF 为 WebP 动画格式的网站:Convert images to WebP

对比两者,WebP 减少了约26.28%的大小。

GIF
http://ww2.sinaimg.cn/mw1024/c1608aa0gw1ea377vdngvg20bo0byhdt.gif

WebP 
http://gtms01.alicdn.com/tps/i1/T1EXtgXy4eXXX_WqbX.webp


2015-06-15 更新:

iOS 8.1 开始已经支持 APNG 格式了,简直鹅妹子硬!


微软在全新的 Edge 浏览器上开放了很多,但对 APNG 这事,仍然是保守态度。从 Edge 的推特回复来看,目前并不打算支持该格式。难道还是要搞一个自己的动画格式?twitter.com/MSEdgeDev/s


此外,还有 Multiple-image Network GraphicsMNG)——多帧PNG动画图形格式,功能类似GIF。但是目前多数主流浏览器均不直接支持 MNG。

测试页面:GIF vs APNG vs WebP

2015年08月04日 更新:

Chrome 准备开始支持 APNG 啦 code.google.com/p/chrom

2020-04-25 更新:

世事难料,谁曾想微软的 Edge 如今转投 Chromium 怀抱了,如此一来所有主流浏览器都支持了 APNG,只等相关的图片制作工具跟进了。

2021-07-23 更新:

转眼来到了 2021 年,主流的设计软件都支持了导出 PNG 序列的功能,通过 FFmpeg,我们可以很容易的将多张 PNG(PNG 序列) 快速转换为 APNG 格式,且保持相对较小的文件体积。

ffmpeg -i name%02d.png -plays 0 -vf setpts=PTS-STARTPTS -f apng coverart.png

转换后的 APNG 示例:

随着互联网的飞速发展,静态图片已经不足以承载人们对于内容的表达。在一些视频剪辑软件中,我们也经常可以看到动画贴纸的身影。

此时,眼看隔壁 WebP、AVIF,甚至 JEPG(JXL) 都有了全新的动画支持,W3C 终于坐不住了,成立了 PNG 标准工作组。PNG 是 W3C 最早的规范之一,最初于 1996 年发布,之后于 2003 年(与 ISO JTC 1/SC 24 联合)更新发布第二版。新的工作组旨在开发并维护第三版 PNG 规范:w3c.github.io/PNG-spec/,主要功能包括:

  • 处理目前收集的勘误表
  • 计划向 PNG 格式添加对 HDR 图像的支持
  • 动画扩展(APNG)已被广泛部署,但其当前并不是正式标准的一部分,而是作为 libpng 的补丁或扩展来实现的(例如 APNGKit),因此新版规范预计添加这一已得到广泛部署的动画 PNG 扩展。

PNG 从 1995 年 Unisys 公司发明至今,已经走过了 25 个年头了,伴随着社区中 WebP、AVIF 等一批新的动画图片格式逐渐崭露头角,动画图片终于迎来了新的春天。

展望未来,纵使 APNG 「后浪鲸波,志在千里」,但 GIF 仍然是「老骥伏枥,未有竟时」。在动画这片绚丽江河上,究竟是老兵们延续梦想,还是 AVIF、JXL 逐鹿中原?我们拭目以待……