周末逛知乎,被邀请回答一个问题,这个对于有编解码或者信号处理经验的童鞋来说,不算什么问题,毕竟他们大学学习的课程中多多少少会包含一部分内容。但是对于其他专业,没有经验的童鞋来说,确实这个过程需要科普一下,正好最近在整理公司音视频相关基础课程,也算自己一个很好的知识总结。
![图片](https://www.nxrte.com/wp-content/themes/justnews/themer/assets/images/lazy.png)
那我们就按照这个问题,回顾一下图像编码框架吧,以期能够有更多的小伙伴了解这些,废话不多,开干。
信号压缩
冗余(redundancy)是信号本身的属性,它使编码器(source coder)能在不造成信息损失,或者略有损失主观可以接受的条件下,最大限度地降低码率。
信号压缩可以是有损数据压缩也可以是无损数据压缩。
至于信号压缩的通用框架,可以参考《多媒体信号编码和传输》中总结的,如下:
![图片](https://www.nxrte.com/wp-content/themes/justnews/themer/assets/images/lazy.png)
图像编码
图像压缩是数据压缩技术在数字图像上的应用,是一种数字信息表示方式。图像编码格式的主要目的是减少图像数据中冗余信息,保留图像的质量和细节,尽可能使图像变得更小,从而用更加高效的进行数字图像的存储和传输。
![图片](https://www.nxrte.com/wp-content/themes/justnews/themer/assets/images/lazy.png)
图像编码的格式有以下几种:
1.JPEG 和 JPG
JPEG和JPG是相同的文件格式,只是首字母缩写词和文件扩展名不同。由联合图像专家组 (JPEG)是经过有损压缩的一种光栅图像。有损压缩意味着 JPEG 消除了一些数据以减小其文件大小,这反过来又降低了图像质量。JPEG的文件大小相对较小,在磁盘或存储卡上节省更多空间。
JPEG通常用于在数码相机和打印中保存图像,只要不需要进一步编辑。JPEG 是一种平面图像格式,这意味着所有编辑都保存在一个图层中,并且无法撤销修改。与 PNG 和 GIF 不同,它不支持透明度。
JPEG 是 Web 使用的理想选择。网站站点访问者可以快速加载图像,而质量损失几乎看不出来。JPEG也适用于图像共享,因为它的有损质量表明 JPEG 具有相当小的文件大小,所以共享起来快速便捷。
JPEG 是最常见的文件格式之一。此外,甚至可以将图像转换为渐进式 JPEG格式,以便更快地在互联网上加载图像。这样的目的非常好理解,因为 JPEG 文件支持所有浏览器和操作系统并提供绝佳的压缩效率。
目前几乎所有主流浏览器,如Microsoft EDGE、Google Chrome、Safari和Mozilla Firefox,从它们的最早版本开始就支持这种图像文件类型。
在caniuse上只有JPEG2000 JPEG XL和JPEG XR的信息:
![图片](https://www.nxrte.com/wp-content/themes/justnews/themer/assets/images/lazy.png)
![图片](https://www.nxrte.com/wp-content/themes/justnews/themer/assets/images/lazy.png)
![图片](https://www.nxrte.com/wp-content/themes/justnews/themer/assets/images/lazy.png)
但是,JPEG 不是其中包含文本行的图像的最佳选择,例如视频屏幕截图和信息图表。这是由于有损图像压缩,这可能会使图像中的文本难以阅读。
2.PNG
便携式网络图形 (PNG)是一种具有无损压缩的栅格图像格式。由于 PNG 是无损的,它会保留其原始数据,并且其质量保持不变。这导致 PNG 具有比 JPEG 更高的图像质量,同时保持其细节和颜色对比度,更适用于保存更多细节的特殊功能场景,当然相对来说PNG图像体积也较大。
PNG 中的文本信息比 JPEG 中的看起来更清晰,针对展示高质量图片(例如作品集网站的设计作品和照片)的场景,或强调文本的图形(如屏幕截图、信息图或横幅)的场景,PNG都是更好的选择。PNG 文件格式针对数字用途进行了优化,使其成为最常用的图像格式之一。它还支持比 GIF 格式更多的颜色——PNG 可以处理多达 1600 万种颜色,而 GIF 只支持 256 种颜色,这使可以拥有更加生动的图像。而 PNG 文件也可以保留透明度,使其成为徽标的理想选择。
尽管可以在不损失质量的情况下编辑 PNG 文件,但如果想要打印图片,则 PNG 效果并不理想,因为与 TIFF 等打印优化格式相比,它的分辨率相对较低。
目前所有主要浏览器和操作系统标准图像查看器都支持 PNG格式。
![图片](https://www.nxrte.com/wp-content/themes/justnews/themer/assets/images/lazy.png)
3.BMP
位图 (BMP)图像文件是一种映射单个像素的光图像格式,对给定图像几乎没有压缩。BMP 文件较大且不适合存储或处理,并且它们的质量并不明显优于 PNG 或 WebP 等光栅图像格式。这使得 BMP 文件不是网络使用的最佳选择。
所有主要浏览器和操作系统都支持 BMP 和大多数默认图像查看器和编辑器。
不过caniuse上搜不到相关信息,值得思考。
![图片](https://www.nxrte.com/wp-content/themes/justnews/themer/assets/images/lazy.png)
BMP 曾经是最常见的图像文件格式之一,但如今,由于其未经优化的特性,使用场景相对较少了。
4.GIF
图形交换格式 (GIF)是一种使用无损压缩的光栅图像格式。但是,GIF 文件是 8 位的,只能显示 256 种颜色。这意味着 GIF 的清晰度不如其他光栅格式。相比之下,JPEG 可以提供高达每像素 24 位的服务,从而提供 16,777,216 种颜色变化。
GIF的 8 位限制使文件大小很小,使 GIF 成为创建吸引人的短动画内容的首选格式。尽管图像质量有限,许多人还是使用 GIF,因为它提供了一种传递比静态图像更精细的视觉内容的方法,所以很多动图都是GIF格式的。
所有主要浏览器和操作系统及其标准图像查看器都支持 GIF。
![图片](https://www.nxrte.com/wp-content/themes/justnews/themer/assets/images/lazy.png)
5.TIFF
标记图像文件格式 (TIFF)是一种支持有损压缩的光栅图像格式,但人们通常将 TIFF 用作无损图像格式。TIFF 和 TIF 是相同的格式,只是首字母缩写词和图像文件扩展名不同。
TIFF 文件由于其高图像质量通常用于打印目的。许多扫描仪还使用 TIFF 格式来保持扫描图片或文档的质量。将文件保存为 TIFF 格式可以让您保留它们的图层,这意味着可以进一步编辑它们。但是,它会使 TIFF 文件变大。
尽管质量很高,但主要浏览器都不会自动支持 TIFF。您必须安装附加组件或扩展程序才能在 Web 浏览器上呈现 TIFF 文件。
![图片](https://www.nxrte.com/wp-content/themes/justnews/themer/assets/images/lazy.png)
要在本地计算机上打开 TIFF 文件,请使用专业的图形编辑或发布工具,例如Adobe Photoshop。如果您使用 Windows,则可以使用Windows 照片查看器打开 TIFF 文件。
6. HEIF
高效图像文件格式 (HEIF)是一种基于像素映射的光栅类型,这意味着当您放大图像时,图像质量会降低。
HEIF 将成为 JPEG 的直接竞争对手。但是,HEIF 的压缩效率是 JPEG 格式的两倍。在相同的文件大小下,HEIF 可以提供比其竞争对手更好的图像质量。
浏览器支持程度:
![图片](https://www.nxrte.com/wp-content/themes/justnews/themer/assets/images/lazy.png)
7. AVIF
AVIF 是从开放媒体联盟 (AOM)开发的现在流行的视频格式AV1的关键帧中提取的。AOM 开发 AVIF 的目标是提供与现有图像格式相比具有更好压缩效率和更多功能支持的免版税图像。AVIF 现在有来自谷歌、Netflix 和苹果等大公司的支持者。
![图片](https://www.nxrte.com/wp-content/themes/justnews/themer/assets/images/lazy.png)
之前也有分析过,可以参考如下链接:
8. WebP
WebP 由 Google 推出,是一种基于无损和有损压缩的现代光栅网络图像文件格式。它提供相同的图像质量,减小图像尺寸。由于大多数网页使用图像作为数据的有效表示,因此在网页中使用 WebP 图像可以加快网页加载速度。据谷歌称,WebP 无损图像比PNG小 26% ,而 WebP 有损图像比同类JPEG图像小 25-34%。基于 WebP 和其他图像文件格式之间的结构相似性 (SSIM) 索引来比较图像。WebP 是WebM多媒体容器格式的姊妹项目。
![图片](https://www.nxrte.com/wp-content/themes/justnews/themer/assets/images/lazy.png)
至于其他的格式,今年也会陆续进行格式拆解和代码走读,主要是针对FFMPEG中的代码,当然也会提到工作中碰到的一些例子和踩坑,欢迎持续关注!
参考文献:
https://wpmudev.com/blog/wp-content/uploads/2019/02/Smush-Guide-to-Image-formates.pdf
作者:Fenngtun
来源:公众号——MediaStack
版权声明:本文内容转自互联网,本文观点仅代表作者本人。本站仅提供信息存储空间服务,所有权归原作者所有。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至1393616908@qq.com 举报,一经查实,本站将立刻删除。