

掌握图像压缩算法:DCT 变换、霍夫曼编码、色度子采样、有损与无损技术。包含基准和优化策略的完整技术指南。
图像压缩算法讲解:JPEG、PNG、WebP 技术指南

快速解答
图像压缩算法通过数学变换和感知优化来减小文件大小。 JPEG 等有损方法使用 DCT(离散余弦变换)、量化和霍夫曼编码,通过丢弃难以察觉的细节来实现 10:1 至 100:1 压缩。 PNG 等无损方法将 LZ77 字典压缩与过滤和霍夫曼编码相结合,以实现 2:1 至 10:1 压缩,同时保持完美的质量。 WebP 等现代格式使用这两种技术来实现最佳平衡。
JPEG 压缩的基本工作原理是什么?
JPEG(联合图像专家组)压缩代表了计算历史上最成功的算法之一。 JPEG 创建于 1992 年,通过利用人类视觉系统限制的复杂数学实现了卓越的压缩效率。了解 JPEG 的技术架构揭示了平衡质量、处理速度和文件大小的优雅工程。
JPEG 压缩管道
JPEG 压缩经过八个不同的阶段,每个阶段都会影响最终的压缩效率:
1.色彩空间转换 将 RGB(红、绿、蓝)转换为 YCbCr(亮度、蓝色度、红色度)。这种分离利用了人类视觉对亮度比颜色细节更高的敏感度:
Y = 0.299R + 0.587G + 0.114B(亮度-亮度)
Cb = -0.168736R - 0.331264G + 0.5B(蓝色差值)
Cr = 0.5R - 0.418688G - 0.081312B(红差)
这种转换将人类视觉擅长的亮度信息(Y 通道)与视觉不太敏锐的颜色信息(Cb/Cr 通道)隔离开来。
2.色度子采样 会降低颜色分辨率,但不会造成明显的质量损失。最常见的模式 4:2:0 存储完整的亮度分辨率,但仅存储四分之一的颜色分辨率:
原始RGB:
RGBRGBRGBRGB(4 个像素 12 个值)
RGBRGBRGBRGB
YCbCr 4:4:4(无子采样):
Y Y Y Y Cb Cb Cb Cb Cr Cr Cr Cr(12 个值)
Y Y Y Y Cb Cb Cb Cb Cr Cr Cr Cr
YCbCr 4:2:0(标准子采样):
Y Y Y Y Cb Cr(6 个值 - 减少 50%!)
是 是 是
这可将颜色数据减少 75%,同时将感知质量影响降至最低。高质量 JPEG 使用 4:2:2(半色分辨率)或 4:4:4(无子采样),以文件大小换取颜色精度。
3.块分割 将图像分割为 8x8 像素块。该块大小平衡了压缩效率和计算复杂性。 8x8 尺寸可实现高效的 DCT 实现,并符合 4:2:0 模式的色度子采样要求(8x8 亮度块的 2x2 块共享色度)。
4.离散余弦变换 (DCT) 将空间像素值转换为频域系数。 DCT 代表 JPEG 的数学核心,将像素强度转换为频率:
8x8 DCT 将以下公式应用于每个块:
F(u,v) = (1/4) * C(u) * C(v) * Σ Σ f(x,y) *
cos[(2x+1)uπ/16] * cos[(2y+1)vπ/16]
其中:
f(x,y) = 位置 (x,y) 处的像素值
F(u,v) = (u,v) 处的频率系数
如果 u=0,则 C(u) = 1/√2,否则 1
DCT 之后,系数按频率组织:
- 左上 (0,0):DC 系数(平均亮度)
- 顶行/左列:低频(逐渐变化)
- 右下:高频(清晰的细节,噪音)
典型的 DCT 系数分布显示低频能量最多:
DCT 输出示例:
1260 -20 10 5 2 1 0 0
-15 -8 3 1 0 0 0 0
5 2 1 0 0 0 0 0
2 1 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
5.量化通过将 DCT 系数除以量化表值然后舍入来引入有损压缩。此步骤丢弃难以察觉的高频细节:
量化表(质量 50):
16 11 10 16 24 40 51 61
12 12 14 19 26 58 60 55
14 13 16 24 40 57 69 56
14 17 22 29 51 87 80 62
18 22 37 56 68 109 103 77
24 35 55 64 81 104 113 92
49 64 78 87 103 121 120 101
72 92 95 98 112 100 103 99
量化 = 轮(DCT / 量化)
示例:
1260/16 ≈ 79,-20/11 ≈ -2,10/10 = 1,...
结果:
79 -2 1 0 0 0 0 0
-1 -1 0 0 0 0 0 0
0 0 0 0 0 0 0 0
...(大部分为零)
较高的 JPEG 质量使用较小的量化值,从而保留更多细节。质量 100 使用最小量化;质量 10 使用激进的量化。
6。 DC系数编码专门处理DC系数(代表块平均值的左上角值)。由于相邻块具有相似的平均值,因此 JPEG 对当前和先前 DC 值之间的差异进行编码:
第 1 区 DC:1260
第 2 区 DC:1255
第 3 区 DC:1258
编码差异:
区块 1:1260(第一个区块,没有前一个区块)
区块 2:-5 (1255 - 1260)
区块 3:3 (1258 - 1255)
这种差分编码利用空间相关性,因为相邻块通常具有相似的亮度。
7. AC 系数编码 使用锯齿形扫描将零分组在一起。 Zigzag 模式处理从低频到高频的系数:
之字形图案:
1 → 2 5 → 6
↓ ↗ ↗ ↓
3 4 7 10
↓ ↗ ↗ ↓
...
这种排序将 2D 系数数组转换为 1D 序列,其中高频零聚集在末尾,从而实现高效的游程长度编码。
8.熵编码应用霍夫曼编码来压缩系数数据。霍夫曼根据符号频率分配可变长度代码——常见符号得到短代码:
符号频率:
0: 45% → 代码: 0 (1 位)
1: 20% → 代码: 10 (2 位)
-1: 15% → 代码: 110 (3 位)
2:10%→代码:1110(4位)
-2: 5% → 代码: 11110 (5 位)
...
JPEG 对 DC 系数和 AC 系数使用单独的霍夫曼表,针对它们不同的统计特性进行优化。
JPEG 质量因素影响
JPEG 质量参数 (0-100) 控制量化表缩放:
质量 100(最小压缩):
- 文件大小:原始文件大小的 90%
- 量化值:~1-2(最小量化)
- 使用案例:存档、进一步编辑、最高质量
质量90-95(高质量):
- 文件大小:原始文件大小的 5-10%
量化:中等 - 使用案例:摄影、印刷制作、专业工作
质量75-85(标准质量):
- 文件大小:原始文件大小的 2-5%
量化:平衡 - 使用案例:网络图像、社交媒体、通用
质量 50-60(可接受的质量):
- 文件大小:原始文件大小的 1-2%
量化:激进 - 使用案例:缩略图、预览、电子邮件附件
质量<50(低质量):
- 文件大小:<原始文件大小的1%
量化:非常激进 - 可见伪影:阻塞、色带、细节丢失
JPEG 压缩伪像
了解 JPEG 伪像可以实现质量评估和优化:
阻塞伪像显示为可见的 8x8 方块,尤其是在光滑区域。由于激进的量化在块边界处产生不连续性而引起。在低质量设置下最明显。
蚊式噪音表现为边缘附近的闪烁图案。急剧转变周围的高频系数量化的结果。在文本和线条艺术中尤其引人注目。
渗色显示颜色超出边界。由色度子采样降低颜色分辨率引起。在具有锐利颜色过渡的图像中更为明显。
振铃在边缘附近显示为波形图案。 DCT 无法完美表示尖锐不连续性(吉布斯现象)的结果。在高对比度区域可见。
色调分离显示为渐变中的色带。由激进的量化消除了细微的颜色变化引起。在天空和肤色中最明显。
JPEG 变体和扩展
JPEG Progressive 在多次扫描中存储图像数据,从而实现渐进式渲染。初始扫描显示预览模糊;连续扫描可添加细节。对于连接速度慢但文件大小稍大的情况很有用。
JPEG 2000 使用小波变换代替 DCT,实现:
- 压缩比 JPEG 好 20-30%
- 无阻塞伪影
- 感兴趣区域编码
- 渐进式传输
- 由于复杂性和专利,采用有限
JPEG XL(新格式,2021 年)提供:
- 压缩比 JPEG 好 60%
- 现有 JPEG 的无损重新压缩
- 渐进式渲染
- HDR 支持
- 目前支持有限
在 1converter.com 上在 JPEG 变体之间进行转换,并具有优化的质量设置。
是什么让 PNG 压缩无损且有效?
PNG(便携式网络图形)通过复杂的过滤和压缩算法实现了令人印象深刻的无损压缩。 PNG 于 1996 年创建,作为无专利的 GIF 替代品,结合了多种互补技术来优化压缩,同时保持像素完美的质量。
PNG 压缩架构
PNG 压缩过程分为五个阶段:
1.过滤 准备扫描线以实现最佳压缩。 PNG 将五种过滤器类型之一应用于每个扫描线,选择产生最可压缩输出的过滤器:
过滤器类型 0(无):无过滤,原始像素值
过滤后 (x) = 原始 (x)
过滤器类型 1(子):从左侧像素预测
过滤后 (x) = 原始 (x) - 原始 (x-1)
对于水平渐变有效。
过滤器类型 2(向上):从上方像素预测
过滤后 (x) = 原始 (x) - 原始 (x, y-1)
对于垂直渐变有效。
过滤器类型 3(平均):根据左侧和上方的平均值进行预测
过滤后(x) = 原始(x) - 下限((原始(x-1) + 原始(x, y-1)) / 2)
对于平滑渐变有效。
过滤器类型 4 (Paeth):Paeth 预测器算法
过滤(x)=原始(x) - PaethPredictor(原始(x-1),原始(x,y-1),原始(x-1,y-1))
PaethPredictor(a,b,c):
p = a + b - c
pa = 绝对值(p - a)
pb = 绝对值(p - b)
pc = 绝对值(p - c)
如果 pa <= pb 且 pa <= pc:返回 a
如果 pb <= pc: 返回 b
返回c
对于摄影内容有效。
PNG 编码器分析每条扫描线并选择产生最佳压缩效果的滤波器。最佳的滤波器选择可以将压缩率提高 5-25%。
2. DEFLATE 压缩 将 LZ77 字典压缩与 Huffman 编码相结合:
LZ77 字典压缩 识别重复序列:
原标题:天气真好。天气非常好。
字典匹配:
位置 23 匹配位置 0,长度 15(“天气是”)
压缩:“天气真好。”(后23,长15)“完美。”
LZ77参数影响压缩:
- 窗口大小:向后搜索多远的匹配项(PNG 使用 32 KB)
- 最小匹配:作为参考进行编码的最短序列(3 个字节)
- 最大匹配:最长参考序列(258字节)
霍夫曼编码为符号分配可变长度代码:
过滤数据中的符号频率:
0: 35% → 代码: 00
1: 25% → 代码: 01
-1: 20% → 代码: 10
2:10% → 代码:110
-2:5% → 代码:1110
...
DEFLATE 使用两个霍夫曼树:
- 文字/长度树:编码文字字节和匹配长度
- 距离树:对匹配距离进行编码
3.压缩级别选择 以处理时间换取文件大小:
压缩级别 1(最快):
- 最少的 LZ77 搜索
- 简单的霍夫曼表
- 编码速度提高 2-5 倍
- 文件增大 5-15%
压缩级别 6(默认):
- 适度的LZ77搜索
- 优化的霍夫曼表
- 平衡的速度/尺寸
压缩级别 9(最佳):
- 详尽的LZ77搜索
- 多次霍夫曼表尝试
- 编码速度慢 3-10 倍
- 文件小 2-10%
PNG 格式优化技术
过滤器选择策略:
绝对差异最小和 (MSAD):选择产生最小绝对过滤值之和的过滤器。快速启发式逼近压缩率。
加权总和:按距零的距离对过滤器值进行加权,优先考虑产生许多零的过滤器。
压缩测试:实际压缩每个过滤器选项并选择最小的。缓慢但最佳。
自适应过滤:分析图像区域并应用不同的策略:
- 渐变:子或上过滤器
- 摄影:帕斯滤镜
- 纯色:无滤镜
位深度优化:
PNG 每通道支持 1、2、4、8 或 16 位。可以通过在可能的情况下减少位深度来优化图像:
具有 5 个唯一值的灰度:
- 8 位:每个像素 1 个字节
- 4 位:每像素 0.5 字节(减少 50%!)
- 3 位:不支持,四舍五入为 4 位
RGB 具有 200 种独特颜色:
- 24 位 RGB:每像素 3 字节
- 8 位索引:每像素 1 字节 + 600 字节调色板(减少 67%!)
调色板优化:
对于 ≤256 色的图像,索引颜色模式可显着减小尺寸:
真彩RGB:
每个像素:3字节(R、G、B)
1000x1000 图像:3,000,000 字节
索引颜色:
调色板:256 种颜色 × 3 字节 = 768 字节
每个像素:1 个字节(调色板索引)
1000x1000 图像:1,000,000 + 768 = 1,000,768 字节
节省:减少 67%!
最佳调色板生成使用:
- 中值切割:按中值递归分割颜色空间
- 八叉树量化:构建颜色树,修剪为 256 种颜色
- k-means聚类:迭代优化调色板颜色
PNG优化工具:
OptiPNG:尝试多种压缩策略:
optipng -o7 image.png # 最大优化
pngcrush:广泛的过滤和压缩测试:
pngcrush -brute input.png output.png # 尝试所有方法
pngquant:有损调色板优化:
pngquant --quality=65-80 --output 输出.png 输入.png
这些工具通过详尽的优化,比标准 PNG 编码器实现了 10-50% 的额外压缩。
PNG 与 JPEG:何时使用每种格式
PNG的优点:
- 无损质量(无压缩伪影)
- 完全 Alpha 透明度(256 级)
- 更好地压缩图形、文本、线条艺术
- 重新编辑不会造成世代质量损失
- 支持 16 位颜色深度
PNG 缺点:
- 2-10 倍大的照片内容文件
- 编码速度较慢(尤其是高压缩)
- 无色度子采样优化
- 更高的带宽要求
最佳用例:
使用 PNG 用于:
- 标志和品牌图形
- 屏幕截图和用户界面元素
- 文字较多的图像
- 需要透明度的图像
- 需要重新编辑的图像
- 具有锐利边缘的图形
- 具有大纯色区域的图像
使用 JPEG 用于:
- 照片和自然图像
- 具有渐变颜色过渡的图像
- 大型高分辨率照片
- 不需要透明度的图像
- 最终交付(无需进一步编辑)
- 带宽受限的传输
压缩性能比较:
标志(纯色,锐边):
- PNG:50 KB(无损)
- JPEG Q90:180 KB(含伪像)
- 获胜者:PNG(小 3.6 倍,质量更好)
照片(渐变色调):
- PNG:2,500 KB(无损)
- JPEG Q90:250 KB(难以察觉的损失)
- 获胜者:JPEG(小 10 倍,质量好)
截图(文字+图形):
- PNG:300 KB(无损)
- JPEG Q90:450 KB(文本伪影)
- 获胜者:PNG(小 1.5 倍,质量更好)
1converter.com 根据图像内容分析自动推荐最佳格式。
WebP 如何同时实现有损和无损压缩?
WebP 代表了 Google 开发的一种现代图像格式,它结合了 JPEG 和 PNG 的优点。 WebP 于 2010 年发布,在有损压缩方面比 JPEG 好 25-35%,在无损压缩方面比 PNG 好 25-30%,同时支持透明度和动画等功能。
WebP 有损压缩架构
WebP 有损压缩源自 VP8 视频编解码器,将视频压缩技术应用于静态图像:
1.预测模式 根据相邻解码像素估计像素值,然后仅对差值(残差)进行编码:
帧内预测模式:
- DC 模式:根据上方和左侧像素的平均值进行预测
- TM 模式 (TrueMotion):来自三个邻居的梯度预测
- V 模式:从上方像素进行垂直预测
- H 模式:从左侧像素进行水平预测
- LD模式:左下对角线预测
- RD 模式:右下对角线预测
- VR、VL、HR、HL 模式:各种方向预测
WebP 分析每个 4x4 块并选择产生最小残差的预测模式,然后仅对残差值进行编码。
2.变换编码 将 DCT 或 WHT(沃尔什-哈达玛变换)应用于残差:
DCT(离散余弦变换):与 JPEG 相同,但应用于 4x4 块而不是 8x8:
更小的块 = 更少的块伪影
更大的块=更好的压缩
WebP 4x4 与 JPEG 8x8:
- 更好的边缘保护
- 减少阻塞能见度
- 压缩效率稍低
WHT(沃尔什-哈达玛变换):用于 DC 系数,为平滑区域提供比 DCT 更好的压缩。
3.量化丢弃难以察觉的高频信息:
WebP 量化:
- DC系数:光量化(保持整体亮度)
- 低频交流电:适度量化
- 高频交流电:积极的量化
量化强度由质量参数(0-100)控制
4.自适应块分区 将图像分割为可变大小的片段:
宏块 (16x16) 可分为:
- 1个16x16分区(平滑区域)
- 两个 8x16 分区
- 两个 16x8 分区
- 四个8x8分区(详细区域)
每个分区可以使用不同的预测模式
这种自适应方法将比特集中在复杂区域,同时有效地对平滑区域进行编码。
5.过滤减少阻塞和振铃伪像:
去块过滤器:平滑块边界,同时保留边缘:
过滤强度适应:
- 量化级别(低质量时更强的过滤)
- 边缘存在(对真实边缘进行最小过滤)
- 纹理复杂性(在平滑区域进行更多过滤)
去振铃滤波器:通过边缘感知平滑减少边缘附近的振铃。
6。熵编码 使用算术编码来实现卓越的压缩:
算术编码通过将整个消息编码为 [0,1) 范围内的单个数字,实现了比霍夫曼更好的压缩。 WebP 使用针对二进制决策优化的布尔算术编码,实现近乎最优的压缩。
WebP 无损压缩架构
WebP 无损模式结合了多种新颖技术:
1.预测转换 与 PNG 过滤类似,但更复杂:
WebP 提供 14 种预测模式,而 PNG 提供 5 种:
模式0:从左像素预测
模式 1:从顶部像素预测
模式 2:从右上角像素预测
模式 3:从左上角像素预测
模式 4:根据 TM(梯度)预测器进行预测
模式5-13:各种组合与变换
WebP 在空间上将图像划分为具有独立预测模式的图块,从而优化每个区域。
2.颜色转换 将 RGB 转换为去相关颜色空间:
变换 RGB,其中 R 和 B 与 G 相关:
G' = G
R'=R-G
B' = B - G
改造后:
- G'拥有完整信息
- R'和B'具有较小的值(更好的压缩)
- 逆变换是无损的:R = R' + G', B = B' + G'
这种转换通常可将压缩率提高 5-15%。
3.减去绿色转型:
R'=R-G
B' = B - G
G' = G
利用自然图像中 RGB 通道之间的相关性
4.调色板索引 适用于颜色很少的图像:
构建独特颜色的调色板
存储调色板(最多 256 种颜色)
存储像素索引(每个像素 1 个字节)
额外优化:
- 颜色缓存:跟踪最近使用的颜色
- 编码缓存命中:1-2 位而不是 8 位
5. LZ77 向后参考 识别重复模式:
WebP 实现了增强的 LZ77:
标准LZ77:
- 距离:距离有多远
- 长度:要复制多少字节
WebP 增强功能:
- 颜色缓存参考:最近的颜色
- 短距离代码:针对附近像素进行了优化
- 特殊距离代码:前一个像素、上方像素等。
6。熵编码 使用霍夫曼或算术编码:
WebP构建多个霍夫曼码表:
- 绿色通道
- 红色通道
- 蓝色通道
- 阿尔法通道
- 距离代码
- 长度代码
与单个表相比,这种每通道优化提高了压缩率。
WebP 高级功能
阿尔法透明度:
WebP 支持完整的 8 位 Alpha 通道以及可选的压缩:
无损 Alpha:完美透明度(无伪影)
有损 alpha:压缩透明度(较小的文件)
Alpha 预处理:
- 将颜色通道乘以 alpha
- 改善透明边缘周围的压缩
动画:
WebP 支持动画图像(类似于 GIF,但小得多):
特点:
- 有损或无损帧
- 框架处置方法
- 循环计数控制
- 帧持续时间计时
尺寸比较:
- 动画 GIF:2,500 KB
- 动画 WebP(有损):450 KB(减少 82%!)
- 动画 WebP(无损):1,200 KB(减少 52%)
元数据支持:
WebP 存储 Exif、XMP 和 ICC 配置文件:
Exif:相机设置、GPS 坐标
XMP:Adobe 元数据、关键字、描述
ICC:准确再现的颜色配置文件
WebP 性能特征
压缩效率:
有损模式与 JPEG:
- 同等质量下体积缩小 25-35%
- SSIM 质量指标:WebP 始终较高
- 视觉质量:低比特率下表现出色
无损模式与 PNG:
- 平均缩小 26%
- 范围:10-50%,具体取决于内容类型
- 摄影:减少 20-30%
- 图形:减少 30-50%
处理性能:
编码速度(与 JPEG 基线相比):
- 有损:慢 2-10 倍(取决于质量设置)
- 无损:比 PNG 慢 3-5 倍
解码速度(与 JPEG 相比):
- 有损:慢 1.5 倍(硬件加速改进)
- 无损:类似于PNG
内存使用情况:
- 类似于 JPEG/PNG
- 可用多线程编码
浏览器支持(截至 2024 年):
- Chrome/Edge:完全支持
- 火狐浏览器:完全支持
- Safari:完全支持(iOS 14+、macOS 11+)
- 覆盖率:96%以上的用户
WebP 优化策略
质量设置:
质量 100(接近无损):
- 比无损压缩小 10-20%
- 视觉上无法区分
- 用于有大小限制的归档
质量80-90(高质量):
- 比无损缩小 50-70%
- 出色的视觉质量
- 用于专业摄影
质量70-80(标准):
- 比无损缩小 70-85%
- 适合大多数用例的良好质量
- 用于网页图像、缩略图
质量<70(低质量):
- 比无损缩小 85%+
- 可见的文物
- 用于预览、非关键图像
压缩级别(无损模式):
0级(最快):
- 编码:非常快
压缩:基本
- 用于实时处理
4 级(默认):
- 编码:快速
压缩:良好
- 平衡,适合一般用途
6 级(较慢):
- 编码:慢
压缩:优秀
- 用于交付优化
9级(最慢):
- 编码:非常慢(比 0 级慢 10-100 倍)
压缩:最大
- 比 6 级好 2-5%
- 仅用于最终优化
尝试在 1converter.com 上进行 WebP 转换,并针对您的特定图像进行自动质量优化。
图像压缩方面的最新创新是什么?
图像压缩随着新算法、机器学习方法和感知优化技术的不断发展,其效率超越了传统方法。
AVIF:基于 AV1 的图像格式
AVIF(AV1 图像文件格式)代表了基于 AV1 视频编解码器的最新压缩突破:
压缩性能:
相同视觉质量比较:
- AVIF:100 KB
- WebP:145 KB(大 45%)
- JPEG:185 KB(大 85%)
质量指标:
- SSIM:AVIF 始终最高
- VMAF:AVIF 在低比特率下尤其领先
- Butteraugli:AVIF 卓越的感知质量
技术特点:
更大的超级块尺寸:高达 128x128 像素(相对于 WebP 的 16x16),可实现更好的大区域压缩。
复合预测:结合每个块的多种预测模式以实现卓越的准确性。
高级滤波:约束方向增强滤波器 (CDEF) 和环路恢复滤波器可减少伪影,同时保留细节。
胶片颗粒合成:在编码过程中分析并去除颗粒,在解码过程中添加合成颗粒。保留摄影美感,同时提高压缩率。
HDR 支持:10 位和 12 位色深,具有宽色域:
SDR(标准动态范围):8 位、sRGB
HDR10:10 位、BT.2020 色彩空间
HDR10+:10 位动态元数据
杜比视界:12 位,针对每个场景进行优化
编码性能:
速度对比:
- JPEG:1x(基线)
- WebP:慢 3-5 倍
- AVIF:慢 10-50 倍(取决于设置)
可用速度/效率模式:
- 速度 10:快速编码,减少压缩
- 速度 6:平衡(默认)
- Speed 0:彻底编码,最大压缩
浏览器支持 (2024):
- Chrome 85+:完全支持
- Firefox 93+:完全支持
- Safari 16+:完全支持(macOS 13+、iOS 16+)
- 覆盖范围:75-80%的用户(快速增长)
JPEG XL:下一代 JPEG
JPEG XL(联合图像专家组超长期)提供具有 JPEG 兼容性的现代压缩:
关键创新:
无损 JPEG 重新压缩:无损重新压缩现有 JPEG 文件:
原始 JPEG:250 KB
JPEG XL(重新压缩):175 KB(减少 30%)
解压缩:与原始 JPEG 位相同
工作流程:
1. 将 JPEG 存储为 JPEG XL(节省 30% 存储空间)
2. 向现代浏览器提供 JPEG XL
3. 旧版浏览器回退到原始 JPEG
感知优化:编码器包括心理视觉模型:
自适应量化:
- 更多的面部信息(人类非常敏感)
- 纹理区域的位数更少(噪声掩蔽)
- 边缘保留量化
- 梯度感知处理
渐进解码:以多个质量级别显示图像:
第 1 遍:1/64 分辨率缩略图(数据的 0.1%)
第 2 遍:1/8 分辨率预览(数据的 3%)
第 3 遍:全分辨率(数据的 25%)
第 4 遍:最终质量(100% 数据)
实现近乎即时的预览、渐进式细化
高级功能:
- 无损阿尔法透明度
- 动画支持
- 非常高分辨率(1 GB 以上)
- 32 位浮点 HDR 支持
- 专色和多层
压缩性能:
有损模式:
- 同等质量下比 JPEG 好 60%
- 平滑的质量降级(没有突然的伪影)
- 出色的低比特率性能
无损模式:
- 比 PNG 好 35%
- 比 WebP 无损好 20%
- 比 FLIF 好 15%
当前状态:
- 规格最终确定(2021 年)
- 由于复杂性问题,Chrome 支持被删除(2023 年)
- Firefox 实验支持
- 未来不确定但技术优越
基于神经网络的压缩
机器学习可以实现适应内容的学习压缩:
用于压缩的自动编码器:
架构:
输入图像→编码器网络→压缩表示→解码器网络→输出图像
培训:
- 训练数百万张图像
- 最小化重建误差
- 学习自然图像的最佳变换
性能:
BPG(更好的便携式图形):基于 HEVC 的压缩
- 比 JPEG 好 30-50%
- 与 AVIF 效率类似
- 专利受限制
学习压缩(研究):
- 比 JPEG 好 40-60%
- 计算成本:高 100-1000 倍
- 尚不适合一般用途
生成模型:
通过生成重建进行极端压缩:
将图像编码为:
- 语义描述:“森林场景与湖泊”
- 结构骨架:边缘图、深度
- 风格参数:灯光、调色板
解码方式:
- 生成图像匹配描述
- 应用结构约束
- 调整样式以匹配参数
压缩比:1000:1 至 10,000:1
质量:语义相似但不相同
感知优化技术
Butteraugli Distance:谷歌的感知相似性度量指导压缩决策:
衡量感知差异时考虑:
- 颜色敏感度变化
- 空间频率掩蔽
- 对比掩蔽
- 时间敏感性(对于视频)
编码器使用:
- 将位分配给感知上重要的区域
- 减少难以察觉差异的部分
- 在相同的文件大小下获得更好的主观质量
SSIMULACRA:基于结构相似性的度量:
组合:
- 多尺度结构相似性
- 色彩外观造型
- 边缘检测和保存
- 纹理分析
结果:与 PSNR 相比,与人类感知的相关性更好
上下文自适应量化:
分析图像区域:
- 面孔:最小量化(人类敏感)
- 天空/渐变:适度量化(防止条带)
- 纹理区域:积极量化(噪声掩蔽)
- 失焦区域:高量化(不太重要)
文件大小减小 10-20%,实现相同的感知质量
压缩基准摘要
格式比较(1920x1080照片):
未压缩 (BMP):6,220 KB
PNG(无损):3,800 KB(未压缩的 39%)
WebP(无损):2,850 KB(未压缩的 46%,PNG 的 75%)
JPEG Q90:485 KB(未压缩的 8%)
WebP Q90(有损):340 KB(JPEG 的 70%)
AVIF Q90:235 KB(JPEG 的 48%,WebP 的 69%)
JPEG XL Q90:220 KB(JPEG 的 45%)
编码时间(相对于JPEG = 1.0):
巴布亚新几内亚:1.5倍
WebP 无损:2.5 倍
WebP 有损:4x
AVIF:25x
JPEG XL:8x
解码时间(相对于JPEG = 1.0):
巴布亚新几内亚:0.8倍
WebP 无损:1.2x
WebP 有损:2.5 倍
AVIF:3.5 倍
JPEG XL:2.8 倍
通过并行质量分析比较 1converter.com 上的压缩格式。
常见问题
有损压缩和无损压缩之间的根本区别是什么?
无损压缩保留了原始数据的完美重建——每个像素在解压缩后完全匹配。 PNG、FLIF 和 WebP 无损等算法通过字典压缩和熵编码利用统计冗余,实现 2:1 到 5:1 的压缩比。有损压缩故意丢弃难以察觉的信息以实现 10:1 到 100:1 的比率。 JPEG、WebP 有损和 AVIF 使用感知模型、频率变换和量化来删除人类不会注意到的细节。对于需要重新编辑的档案、图形和图像,选择无损;为最终交付、照片和尺寸受限的场景选择有损。
为什么 JPEG 会产生低质量的块状伪像?
当激进的量化在块边界产生不连续性时,JPEG 的 8x8 DCT 块处理会导致块伪影。每个块都被独立压缩——量化将高频系数舍入为零,从而丢失细节。在具有不同量化结果的块之间的边界处,出现可见边缘。这表现为 8x8 网格图案,尤其是在平滑渐变和纯色中。较高质量的设置使用较小的量化值,保留更多系数并减少边界不连续性。 WebP(4x4 块)和 AVIF(自适应块)等现代格式通过更小的块和重叠处理来减少阻塞。
色度二次采样如何在不造成明显质量损失的情况下节省文件大小?
色度子采样利用了人类视觉对颜色分辨率与亮度分辨率的较低敏感度。眼睛含有比颜色敏感的视锥细胞更多的亮度敏感视杆细胞,使得亮度细节感知更优越。 4:2:0 子采样存储完整的亮度分辨率,但仅存储四分之一的颜色分辨率 - 每个 2x2 像素块共享单一颜色值,同时保持单独的亮度。这将颜色数据减少了 75%,同时对摄影内容的感知质量影响最小。在锐利的颜色过渡(文本、图形、色度键控)中,质量损失变得明显。专业视频使用 4:2:2(半色)或 4:4:4(无子采样)以获得更高的质量。
是什么让 WebP 比 JPEG 和 PNG 更好?
WebP 通过源自 VP8 视频编解码器的高级算法结合了两种格式的优点。对于有损压缩,WebP 通过预测模式、自适应块分区和算术编码实现了比 JPEG 高 25-35% 的压缩率。对于无损压缩,WebP 通过增强预测(14 种模式 vs PNG 5 种)、颜色变换和优化熵编码,实现了比 PNG 好 26% 的压缩。 WebP 还支持 alpha 透明度(如 PNG)和动画(如 GIF),并具有出色的压缩能力。现代浏览器支持超过 96% 的用户。主要缺点:编码速度比 JPEG/PNG 慢,非浏览器软件支持有限。
为什么 AVIF 编码比 JPEG 慢这么多?
AVIF 源自 AV1 视频编解码器,旨在通过详尽的分析和复杂的算法实现最大压缩效率。编码包括:多种预测模式测试(定向、复合、扭曲)、详尽的运动估计、递归块分区(最多 128x128 超级块分割为 4x4 子块)、每个决策的率失真优化、高级环路滤波和复杂的熵编码。每个决策都会尝试多个选项,并根据压缩/质量权衡选择最佳选项。这生成的文件比 JPEG 小 40-50%,但需要 10-50 倍长的编码。解码器复杂度合理(3-4x JPEG),可实现实际播放。使用AVIF进行交付优化;快速编码模式可用于不太关键的用例。
您可以将 JPEG 转换为 PNG 并恢复丢失的质量吗?
否 - JPEG 压缩是有损的,会在量化过程中永久丢弃信息。将 JPEG 转换为 PNG 会更改容器格式,但无法恢复丢失的细节。从那时起,PNG 将是无损的,但包含与源 JPEG 相同的伪影和质量级别。将有损转换为无损会创建不必要的大文件,并且没有质量优势 - 图像质量受到处理链中最薄弱环节的限制。仅当您需要透明度(添加 Alpha 通道后)、需要无损重新编辑以防止进一步的质量损失或需要 PNG 来实现兼容性时,才将 JPEG 转换为 PNG。始终维护原始高质量或 RAW 文件,以实现对质量敏感的工作流程。
如何选择最佳 JPEG 质量设置?
最佳 JPEG 质量可针对特定用例平衡文件大小和视觉质量。质量 90-95 为专业摄影和打印提供高质量(近乎透明的压缩)。质量 75-85 为网络交付提供卓越的质量——质量尺寸曲线上最有效的点。质量 60-75 适用于小尺寸更重要的缩略图和预览。低于 60 的质量会显示明显的伪影,除非极端尺寸限制,否则应避免使用。使用感知指标而不是固定数字:压缩直到伪影变得可见,然后稍微提高质量。现代编码器支持感知优化,可根据内容自动调整量化——面部获得更高的质量,纹理区域接受更多的压缩。
2024 年网站的最佳图像格式是什么?
AVIF 提供最佳的压缩效率(比 JPEG 好 40-50%)并支持现代浏览器(覆盖率 75-80%)。通过 WebP 后备和 JPEG 后备实施 AVIF,以实现最高效率和兼容性。使用图片元素进行格式协商:浏览器自动选择最受支持的格式。对于徽标、图标和图形,请使用 SVG(矢量,无限可扩展性)或 WebP 无损(比 PNG 更好)。对于动画,请使用 WebP 或 AVIF 动画代替 GIF(尺寸缩小 80-90%)。为了最大程度地兼容旧系统,JPEG(照片)和 PNG(图形)仍然是安全的选择。实施自动转换管道,生成多种格式,为每个客户提供最佳格式。
PNG 过滤如何提高压缩率?
PNG 过滤通过删除可预测的模式来准备扫描线,以实现最佳压缩,留下压缩效果更好的残差。过滤器根据邻居(左、上、两者的平均值或 Paeth 预测器)预测每个像素,然后仅对差异进行编码。在梯度中,相邻像素是相似的——减去预测会产生许多压缩得非常好的小残差(通常是零)。 PNG 编码器分析每条扫描线,尝试多种过滤器类型,并选择产生最佳压缩效果的一种。与无过滤相比,最佳过滤可以将压缩率提高 5-25%。过滤器的选择至关重要——错误的过滤器实际上会增加文件大小。 OptiPNG 和 pngcrush 等现代优化器测试所有过滤器组合以实现最大压缩。
感知优化在现代压缩中扮演什么角色?
感知优化将压缩伪影分配到难以察觉的区域,同时保持可见质量。人类视觉存在局限性——颜色分辨率敏感度较低、纹理区域的感知能力降低(噪声掩蔽)、对面部和边缘的敏感度较高。感知优化编码器分析图像内容:面部接受最小量化,平滑区域使用适度压缩(防止条带),纹理区域接受激进压缩(纹理隐藏的伪像)。感知指标(Butteraugli、SSIMULACRA)比数学指标(PSNR)更好地指导编码决策。这可以在相同的感知质量下实现 10-30% 的更好压缩。现代格式(AVIF、JPEG XL)集成了感知优化,而 jpeg-recompress 等工具则将感知分析应用于传统 JPEG 编码。
## 结论
图像压缩算法代表复杂的数学和感知工程,可实现实用的数字摄影、网络内容和视觉媒体。了解压缩基础知识(从 JPEG 的 DCT 和量化到 PNG 的过滤和 DEFLATE、从 WebP 的双模式架构到 AVIF 的尖端效率)使开发人员和内容创建者能够优化图像交付、平衡质量和大小权衡,并根据特定要求选择适当的格式。
压缩领域不断发展。虽然 JPEG 通过通用兼容性占据主导地位,并且 JPEG 仍然是实现最大兼容性的安全选择,但 WebP 和 AVIF 等现代格式为前瞻性实施提供了显着的效率改进。 PNG 的无损压缩继续满足图形和透明度要求,而基于神经网络的压缩有望在未来取得突破。
实际优化需要格式感知的工作流程:维护高质量的母版、生成优化的交付版本、实现多种格式的响应式图像以及持续监控压缩效率。您所获得的知识可以帮助您就压缩参数、格式选择和优化策略做出基于证据的决策。
准备好对您的图像应用高级压缩优化了吗? 尝试 1converter.com 的智能图像压缩,具有自动格式选择、感知质量优化以及使用行业领先的压缩算法进行批处理的功能。
相关文章:
- 了解文件格式:技术深入探讨 - 容器与编解码器基础知识
- 视频编解码器和容器指南 - H.264、H.265、VP9、AV1 技术细节
- WebP 与 AVIF:现代格式比较 - 并排压缩分析
- JPEG 优化:完整指南 - 质量设置、渐进编码
- PNG优化技巧 - 滤镜选择、调色板优化
- 图像格式选择策略 - 最佳格式的决策矩阵
- 感知质量指标解释 - SSIM、VMAF、Butteraugli 分析
- HDR 图像格式和压缩 - 10 位颜色、广色域、HDR 元数据
关于作者

1CONVERTER Technical Team
Official TeamFile Format Specialists
Our technical team specializes in file format technologies and conversion algorithms. With combined expertise spanning document processing, media encoding, and archive formats, we ensure accurate and efficient conversions across 243+ supported formats.
📬 Get More Tips & Guides
Join 10,000+ readers who get our weekly newsletter with file conversion tips, tricks, and exclusive tutorials.
🔒 We respect your privacy. Unsubscribe at any time. No spam, ever.


