低画质的GIF横行网络20年了,更优秀的APNG为什么没能取代它?

apng-vs-gif

先从近日Kickstarter上的一个项目说起。这个项目叫做“apngasm”,现在已经超出了预期的5000美元目标,达到了7512美元。它是做什么的?很简单,制作动态的PNG图像,就像是GIF那种的。

我们对GIF这种动态图像已经非常熟悉了,平时在微博上看到的俗称的“动态图”几乎都是这种格式的图像。可是,这个格式已经有27年历史了,它诞生在Windows 1.0的时代。目前来看,似乎要找到一个GIF的替代者。

Why?你没有发现你看到的GIF图片画质都很差劲吗?因为这种格式的图像只支持8位颜色,即256中颜色,不能呈现真彩色画面。所以这种算法对于图像的边缘处理与整体渲染都还停留在上个世纪。虽然GIF目前是最流行的动态图像算法,但有关于它的替代者的开发从未停止过。

其中一个便是上面提到的动态的PNG图像,即APNG(Animated PNG)。从字面上理解,这种格式的图像就是一个“会动”的PNG图像。这个最早是由Mozilla的两名程序员设计出来的,当时Mozilla放弃了MNG图像格式,转而自己开发了APNG用以存储动态多图文件。

这个MNG文件是PNG开发组设计的用以处理动态图的“官方”算法,但在实际使用时占用了过多的资源,需要用户端加载过多的代码,显得十分笨重,所以被Mozilla抛弃。不过,PNG开发组本身就不怎么赞成“动态图”这种算法设计,因为他们觉得让一种图片格式既有静态又有动态展示是一种“糟糕的设计”。

因此,在MNG上,PNG的开发组并没有下大功夫。不过,Mozilla依然乐此不彼的想要用动态的PNG(APNG)来取代GIF成为下一代动态图的标准。

我们先来对比下GIF跟APNG之间的表现,体积:画质。

Screen Shot 2013-08-27 at 12.48.59 PM

可以看出,在体积相仿的情况下,APNG格式的画质就像是单反,而GIF的画质就好比普通手机,差异十分巨大。同时,在24位的情况,由于PNG容纳的颜色种类远远多出256种(实际上是1680万种颜色),所以色彩还原更加细腻、真实。

感兴趣的读者可以点击此链接查看官方的演示,毕竟这些图是动态的。但需要注意,如果你用是IE或者Chrome浏览器,只能看到GIF在动,右侧的APNG只能看到静态的。因为——浏览器不支持APNG。

既然APNG这么优秀,为什么不直接普及呢?实际上,在2004年开发出来至今,APNG格式在互联网社区中得到的支持非常少,尤其是来自应用端的,比如浏览器。目前,唯一原生支持APNG的就是Gecko内核的火狐浏览器以及其他两款同内核的小众浏览器。

至于IE,根本不支持。而Webkit内核的Safari与遨游,也完全不支持。只有Blink内核的Chrome、Opera在安装APNG解码插件后可以支持显示APNG。所以,在互联网最大的入口浏览器这个通道上,APNG缺乏最根本的支持。最重要的一点是,APNG受到了PNG开发组的坚决反对,后者只支持MNG格式,这使其在标准的普及上失去了格式发明者的支持。

下图是APNG的压缩原理。

Apng_assembling

这里简单一说它的原理。我们看到,这个示例中有三幅图片,其中IDAT为图像的“正文”,即构成图片的那部分数据。这三部分数据被拿出来放到了APNG的长条中。至于IHDR与IEND,指的是一个PNG文件的头部信息与尾部信息,暂且不用管。

关键是要看明白,APNG多了哪几部分?这里有主要有3部分,即acTL(用于控制动画)、fcTL(控制框架)以及fdAT(存储框架信息)。这就是三幅(3个框架)图片组成的APNG文件。

原理大致就是这样的,算法方面的问题我们暂不深究。这里只讨论APNG的“前途”问题。即,它未来有可能被大范围普及吗?要知道,目前的动态图算法可不只有GIF、MNG以及APNG之类的,还有比如SVG等。

首先缺乏浏览器支持,这就让APNG很难普及。文章开头提到的Kickstarter项目试想通过普及APNG的制作工具来达到宣传APNG的效果,但没有来自浏览器的原生支持,这样做的效果十分微小。

其次,没有PNG发开组的支持。目前,支持MNG的PNG开发组与支持APNG的Mozilla在动态图标准上已经形成了对立。这样一来,ANG作为基于PNG标准的格式,就是去了原始开发者的技术支持,更失去了一个联盟来推广新的格式。这就让APNG很难像PNG一样被标准化。

从另一个角度讲,GIF这么低劣的画质之所以能“横行”网络二十多年,就是因为人们对于动态图画质的需求并不高。GIF的应用场所十分有限。你现在除了在微博或其他社交网络上看到GIF,还在哪里经常看到过?(专门搜集GIF的网站除外)

所以,动态图虽然广受欢迎,互联网对其的需求也很大,但画质不是决定性因素。或者说,即便是GIF这样糟糕的画质,人们也是乐此不彼的去欣赏一幅GIF中讲述的事情。

 

订阅更多文章