在讨论图像压缩时,我们经常会同时听到:
- JPEG
- JPEG Baseline
- JPEG Extended
- JPEG-LS
- JPEG2000
很多资料容易把它们混在一起,仿佛它们只是“同一种 JPEG 的不同版本”。
实际上,它们属于 JPEG 组织发布的不同压缩体系,底层算法思想差异很大。
下面用一张结构图说明它们之间的关系。
一、传统 JPEG(ISO/IEC 10918)
传统 JPEG 是最早也是最广泛使用的 JPEG 标准。
它基于 DCT(离散余弦变换) 的频域压缩思想。
基本流程:- 图像
- ↓
- 8×8 block 划分
- ↓
- DCT 变换
- ↓
- 量化
- ↓
- 熵编码
复制代码 该标准内部包含多种编码模式,其中最常见的有:
1. Baseline JPEG
最常见的 JPEG 格式,几乎所有浏览器和图像库都支持。
特点:
- 8 bit 图像
- Huffman 编码
- 有损压缩
- 兼容性最好
我们日常说的“JPEG图片”,基本指的就是它。
2. Extended JPEG
Extended Sequential 是 Baseline 的扩展版本。
主要区别:
- 支持 12 bit 图像
- 支持 Arithmetic coding
算法仍然是 DCT,只是能力有所增强。不过在实际软件生态中实现较少。
3. Lossless JPEG(旧版无损)
传统 JPEG 标准里其实还定义了一种 无损模式。
但它使用的是早期预测算法:
因此后来被新的标准取代。
二、JPEG-LS(ISO/IEC 14495)
JPEG-LS 是 JPEG 组织后来推出的一个全新标准。
它不再使用 DCT,而是采用 预测编码 思想:- 图像
- ↓
- 邻域预测
- ↓
- 计算残差
- ↓
- Golomb 编码
复制代码 特点:
- 支持 无损压缩
- 也支持 Near-lossless
- 速度非常快
- 无 block artifact
- 对医学图像和科学图像很友好
JPEG-LS 在医学影像、工业图像领域使用较多。
三、JPEG2000(ISO/IEC 15444)
JPEG2000 是 JPEG 体系中一次较大的技术升级。
它采用 小波变换(Wavelet):- 图像
- ↓
- Wavelet 变换
- ↓
- 分辨率分层
- ↓
- 熵编码
复制代码 特点:
- 支持 有损与无损
- 支持 多分辨率
- 支持 渐进传输
- 支持 ROI 编码
JPEG2000 在以下领域较常见:
- 数字病理
- 医学影像(DICOM)
- 卫星遥感
- 档案图像存储
四、小结
在日常讨论 JPEG 时,人们经常会问两个问题:JPEG 是否支持无损压缩?是否支持 12 位图像?
从标准角度看,传统 JPEG(ISO/IEC 10918)确实定义了无损模式和 12 位编码方式,但这些模式在实际软件生态中的实现和使用都非常少见。因此在工程实践中,一旦涉及 无损压缩或 12 位图像,通常会直接考虑 JPEG-LS 或 JPEG2000 等后续标准。
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |
|
|
|
|
|
相关推荐
|
|
|