悲报, GIF 之父因新冠去世
今天下午二狗子照常上班摸鱼的时候,突然看到了一则消息,消息说 GIF 的发明人因新冠去世了。作为一个自诩理性的互联网人,二狗子第一反应是看到了一个离谱谣言,可是查看了多方消息后,二狗子难过地发现这是真的。

斯蒂芬·威尔海特就职于 CompuServe(全球第一家网络服务提供商),当时这家公司想要在网上展现彩色天气图等信息,但因受限于网络带宽而束手无策。斯蒂芬·威尔海特了解一些压缩技术,于是他参与了创造 GIF 格式的工作。在之后的1978 年,CompuServe 公司推出 GIF 格式,诞生了世界上第一张动图。
GIF 全称 Graphics Interchange Format,即图形交换格式,以8位色(即256种颜色)重现真彩色的图像。它有效地减少了图像文件在网络上传输的时间,是目前互联网广泛应用的网络传输图像格式之一。
除去 GIF,目前互联网广泛使用的图像格式还有以下种类:
JPEG
png
WebP
GIF
前面我们也提到了一点关于 GIF 的介绍,作为它最大的,与 JPEG 和 PNG两种格式不同的特点,就是 GIF 是“能动”的。我们通常将 GIF 用于从图像文件创建动画,可以通过在压缩中合并无损质量,无损传输和存储这些文件,并且对图像库的存储影响较小。
GIF 是无损的,采用 GIF 格式保存图片不会降低图片质量。得益于数据的压缩,文件体积小,也是 GIF 格式的优点。此外,它还具有支持动画以及透明背景。
GIF 格式适用于对色彩要求不高同时需要文件体积较小的场景,比如企业 Logo、线框类的图等。因其体积小的特点,现在 GIF 也已经被广泛应用在各类网站中。
JPEG
JPEG 全称 Joint Photographic Expert Group,即联合照片专家组。是由国际标准化组织(ISO)制定的面向连续色调静止图像的一种压缩标准。它是我们常说的 JPG 的正式扩展名,那为什么会出现 JPG 这种说法呢?这是因为 DOS、Windows 95 等早期系统采用的 8.3 命名规则只支持最长 3 字符的扩展名,所以为了兼容性使用了 .jpg 的形式。而后来所有的 apple 旗下机体都不限制扩展名长度,让 JPEG 能够完整出现。不过因为大家已经喜欢了 JPG 的喊法,所以现在 JPG 也依然很流行。
JPEG 图片格式的设计目标,是在不影响人类可分辨的图片质量的前提下,尽可能压缩文件大小。这意味着JPEG 去掉了一部分图片的原始信息,也就是进行了有损压缩。JPEG 的图片的优点,是采用了直接色,得益于更丰富的色彩,JPEG 非常适合用来存储照片,用来表达更生动的图像效果,比如颜色渐变。
然而,JPEG 不适合用来存储企业 Logo、线框类的图。因为有损压缩会导致图片模糊,而直接色的选用,又会导致图片文件体积更大。
PNG
PNG 全称 Portable Network Graphics,即可移植网络图形。是 1994 年由万维网联盟(W3C)的一个工作组开发的,当初的开发目的是为 GIF 格式创建一种现代的、免费的替代方案。
PNG 采用无损压缩算法的位图格式,文件后缀名为 .png。使用的是从 LZ77 派生的无损数据压缩算法,一般应用于 JAVA 程序、网页中,它的压缩比高,生成文件体积小。
PNG 格式是我们在数字设计项目中最常使用的格式,通常比其他格式的文件大小要大。但是它保留了硬性边缘效果,且可以处理大量颜色。另外 PNG 有个比较有趣的特性,那就是支持透明背景,因此大多数网站PNG 格式作为 Logo 。
看到这里相信大家都发现了三者的一点共同点,它们都提到了压缩和损坏,有的是有损的,有的是无损的。难道所有的图片都必须压缩吗?其实是可以不压缩的,比如 BMP 就可以不压缩存储。但是一两张图还可以这么做,如果图片多起来那对于存储和传输就造成了极大的压力。
因此如何在保证图片质量不变的情况下,压缩图片进而节省流量带宽,让传输更快,带来更好的观看体验就变得重要起来。
但是作为传统的图片格式 JPEG,PNG,GIF 等其实已经没有很大的优化空间了,那唯一剩下的道路就是发掘一种新的图片格式,或者压缩格式来解决这个问题,WebP 应运而生。
WebP
WebP 是 Google 于 2010 年提出了一种新的图片压缩格式,目的就是为 Web 上的图片资源提供卓越的有损、无损压缩。在与其他格式同等质量指数下提供更小,更丰富的图片资源,以便资源在 Web 上访问传输。
WebP 图片格式来源于 VP8 视频编解码器,也就是 WebM 视频容器,是 WebM 视频格式的单个压缩框架。VP8 编解码器的一个强大功能就是能够进行帧内压缩,或者更确切地说,能将视频的每个帧都被压缩,再压缩帧与帧之间的差异。
作为专为压缩而推出的格式,WebP 具有以下特性:
有损压缩:有损压缩基于 VP8 关键编码。VP8 是 On2 Technologies 创建的视频格式,是 VP6 和 VP7 格式的后续版本。
无损压缩:采用预测变换,颜色变换,减去绿色,LZ77 反响参考等技术进行压缩。
透明度:8位 Alpha 通道对图形图像很有用。Alpha 通道可以与有损 RGB 一起使用。与其它格式图片所不支持的 WebP 特有的功能。
动画:它支持真彩色动画图像,即可以支持动态图( 类Gif 图)
元数据:它可能具有 EXIF 和 XMP 元数据
颜色配置文件:它可能具有嵌入式 ICC 配置文件。
同时它的效果也是明显的,以 JPEG 作为对比,当 WebP 将 JPEG 压缩到相当于原图 90% 质量时,图片体积可以减少 50% 左右。当 WebP 将 JPEG 压缩到相当于原图 80% 质量时,图片体积则减少了 60%~80%。

在 WebP 出现后,它凭借自己优异的图片压缩性能,以及兼备无损和有损两种压缩算法,以及唯一可以对 GIF 进行压缩的特点,迅速在各大网站、App 普及。那要如何才能让图片变成 WebP 格式呢?
最简单的方法就是直接接入云服务的图片处理功能,比如又拍云 WebP 自适应:

在后台一键开启 WebP 自适应功能,即可通过 CDN 平台智能判断客户端浏览器是否支持 WebP 解码,如果支持则返回 WebP 格式图片,如果不支持则会返回原图,在客户端以及源站无需任何改动。
推荐阅读
悲报, GIF 之父因新冠去世的更多相关文章
- LabVIEW+OpenVINO在CPU上部署新冠肺炎检测模型实战
前言 之前博客:[YOLOv5]LabVIEW+OpenVINO让你的YOLOv5在CPU上飞起来给大家介绍了在LabVIEW上使用openvino加速推理,在CPU上也能感受丝滑的实时物体识别.那我 ...
- python新冠疫情分析-世界疫情数据爬取
事情发展:1.毕业设计是关于疫情数据的可视化展示(基于java,需要做数据可视化,需要做管理员端对数据进行增删改查处理)2.飞起来速度学爬虫,参考了非常多资料,比如b站的黑马爬取(报错,就是在切片那里 ...
- SIR模型预测新冠病毒肺炎发病数据
大家还好吗? 背景就不用多说了吧?本来我是初四上班的,现在延长到2月10日了.这是我工作以来时间最长的一个假期了.可惜哪也去不了.待在家里,没啥事,就用python模拟预测一下新冠病毒肺炎的数据吧.要 ...
- iMX287A基于嵌入式Qt的新冠肺炎疫情监控平台
目录 1.前言 2.数据接口的获取 3.Qt界面的实现 4.在开发板上运行Qt程序 5.最终效果 6.代码下载 @ 1.前言 之前我使用在桌面版本Qt实现了肺炎疫情监控平台:基于Qt的新冠肺炎疫情数据 ...
- 参加Folding@Home(FAH)项目,为战胜新冠肺炎贡献出自己的一份力量
鉴于新冠病毒(COVID-19)在全球范围内的大规模传播,PCMR和NVIDIA呼吁全球PC用户加入Folding@home项目贡献自己闲置的GPU计算力,协助抗击新冠状病毒疫情. 目前全球有超过40 ...
- 面试刷题26:新冠攻击人类?什么攻击java平台?
可恶的新冠病毒攻击人类,搞得IT就业形势相当不好?好在有钟南山院士带领我们提前开展好了防护工作! java作为基础平台安装在各种移动设备,PC,小型机,分布式服务器集群,各种不同的操作系统上.所以,对 ...
- Python模块---制作新冠疫情世界地图()
目录 pyecharts模块 简介 安装pyecharts 测试pyecharts模块 pyecharts实战:绘制新冠肺炎疫情地图 需求分析 请求数据 提取数据 处理数据 制作可视化地图 设置可视化 ...
- python画新冠肺炎国内和世界各国累计确诊数量热图
新冠肺炎国内疫情基本控制住,很多地方都开始摘下口罩了.但是国外的疫情依然处于爆发期,特别是美国,截止目前其累计确诊数量已突破110w.五一节北京柳絮杨絮满天飞,不适合外出.在家心血来潮,献丑画一下各地 ...
- Python小白的数学建模课-A3.12 个新冠疫情数模竞赛赛题与点评
新冠疫情深刻和全面地影响着社会和生活,已经成为数学建模竞赛的背景帝. 本文收集了与新冠疫情相关的的数学建模竞赛赛题,供大家参考,欢迎收藏关注. 『Python小白的数学建模课 @ Youcans』带你 ...
- 数据、人工智能和传感器按COVID-19新冠流感排列
数据.人工智能和传感器按COVID-19新冠流感排列 Data, AI and sensors arrayed against COVID-19 各国政府.卫生保健专业人士和工业界争先恐后地应对Cov ...
随机推荐
- 《最新出炉》系列初窥篇-Python+Playwright自动化测试-29-处理日历时间控件-中篇
1.简介 上一篇的日历时间控件宏哥介绍的比较传统也是很常见的.宏哥不能说它很low,但是相比较一些高端.大气.上档次的日历时间控件,结果就一目了然了:确实很low. 2.被测网站 2.1高大上日历时间 ...
- 《流畅的Python》 读书笔记 第8章_对象引用、可变性和垃圾回收
第8章_对象引用.可变性和垃圾回收 本章的主题是对象与对象名称之间的区别.名称不是对象,而是单独的东西 name = 'wuxianfeng' # name是对象名称 'wuxianfeng'是个st ...
- Excel表格数据可视化的六大常见方式,看看你都会吗?
当涉及到Excel表格数据的可视化,有许多不同的方式可以展示和呈现数据.以下是六种常见的Excel表格数据可视化方式的详细介绍. 1. 条形图(Bar Chart) 条形图是一种常见的数据可视化图表类 ...
- SpringCore完整学习教程5,入门级别
本章从第6章开始 6. JSON Spring Boot提供了三个JSON映射库的集成: Gson Jackson JSON-B Jackson是首选的和默认的库. 6.1. Jackson 为Jac ...
- jdk9模块化
JDK 9是Java开发语言的一个重大版本.其中最令人兴奋的新特性之一是模块化系统.模块化系统提出了一种新的代码组织方式,它可以帮助开发人员更好地组织和管理代码,从而使Java应用程序更加可维护.可扩 ...
- Socket编程和实现聊天室
一.HTTP协议的socket通信 1.server.py # 服务端 import sys import socket ip_point = ('127.0.0.1',9999) sk = sock ...
- Bert-vits2-v2.2新版本本地训练推理整合包(原神八重神子英文模型miko)
近日,Bert-vits2-v2.2如约更新,该新版本v2.2主要把Emotion 模型换用CLAP多模态模型,推理支持输入text prompt提示词和audio prompt提示语音来进行引导风格 ...
- ASR项目实战-语音识别
本文深入探讨语音识别处理环节. 本阶段的重点特性为语音识别.VAD.热词.文本的时间偏移.讲话人的识别等. 语音识别 业界流派众多,比如Kaldi.端到端等,具体选择哪一种,需要综合考虑人员能力.训练 ...
- Ubuntu 下建立 eclipse 启动图标,解决ADT没有菜单栏问题(转载)
原文地址 怎么在这应用程序里边建立图标$sudo gedit /usr/share/applications/Eclipse.desktop输入以下代码 [Desktop Entry]Name=Ecl ...
- 文心一言 VS 讯飞星火 VS chatgpt (174)-- 算法导论13.3 3题
三.用go语言,假设图13-5 和图13-6 中子α.β.γ.δ和ε的黑高都是k.给每张图中的每个结点标上黑高,以验证图中所示的转换能保持性质 5. 文心一言: 在Go语言中,你可以通过以下步骤来为图 ...