1. 背景
不知不觉已经大半年没有写博客了。换了工作之后突然变忙了许多,紧张的项目节点一个接一个,高优先级的事一件接一件,让人兴奋的同时也变得很多时候没有时间去复盘去反思去沉淀。
最近在整理产品的feature list,各种各样的格式和名词让自己意识到,自己对音视频领域还是有太多的盲区,于是决定从一些基础补充起来。
先从图像格式整理学习起来,毕竟图像是视频的基础,二者很多算法也是相通的。格式上近几年也出了一些自己没怎么关注的格式,比如heic,比如avif等等,后面会挨个细细学习下。
计划是:
- 先做所有格式的对比,了解背景原理和主要特点。
- 细看bmp,png,jpg,heif 这几类图片的协议原理和文件组成。
2. 对比
图片格式从大类上划分的话,主要分为2类:
- 按像素点进行记录的位图
- 可以无损放大的矢量图
针对主要格式整理了一张对比表格
图片格式 | 简写 | 特点 | 起源 | 主推公司 | 算法 | 后缀名 | 参考网址 | |
---|---|---|---|---|---|---|---|---|
BMP | Bitmap | 无压缩 | 1990 | 微软 windows3.0 | 不压缩 | .bmp | ||
JPEG/JFIF | Joint Photographic Experts Group | 兼容性好, 不支持10bit | 1992 | ISO | 没有预测 | .jpg .jpeg | http://www.w3.org/Graphics/JPEG/itu-t81.pdf | |
PNG | Portable Network Graphics(PNG is Not GIF) | 无损,支持真彩色,支持动图 | 1996 | LZ77(W要专利费) | .png | http://www.w3.org/TR/PNG/ | ||
SVG | Scalable Vector Graphics | 矢量图 | .svg | |||||
GIF | Graphics Interchange Format | 动图,无损,索引色 | 1987 | 发明者Steve Wilhite | LZW (专利) | .gif | ||
TIFF | Tag Image File Format | 印刷业,支持多页 | LZW(专利) | |||||
BPG | Better Portable Graphics | Fabrice Bellard(ffmpeg的作者) | H.265(专利) | https://bellard.org/bpg/ | ||||
WebP | 支持有损无损,多图片,透明 | 2010 | 谷歌 | VP8 | .webp | |||
HEIF/HEIC | high efficiency image container | 2014 | 苹果/小米 nokia | H.265(专利) | .heic .heics | HEIF 技术信息 - 高效图像文件格式 (nokiatech.github.io) | ||
HEIF/AVCI | 用的不多 | H.264(专利) | .avci .avcs | |||||
HEIF/AVIF | AV1 Image File Format | 2020 | Netflix | AV1 |
从wiki上引了一张图
4. 参考链接
- Can I use… 查看图片格式被浏览器的支持
- 图形文件格式比较 - 维基百科,自由的百科全书 (wikipedia.org)
- 深入探讨15种主流图片格式及其优缺点 - 闪电博 (wbolt.com)
- 常见的图片格式介绍_图像文件格式有哪些_软件开发技术爱好者的博客-CSDN博客
- 我们是如何记录图片的?_徐小夕@趣谈前端的博客-CSDN博客
5. 系列文章
- 常见图像格式对比
- 图像格式:YUV数据