深入理解基线JPEG压缩算法
1. 基线JPEG压缩概述
基线JPEG压缩算法在JPEG家族的四种模式中应用广泛,主要用于压缩具有1到4个分量的连续色调图像。灰度图像只有1个分量,而彩色图像最多可有4个颜色分量。基线JPEG要求源图像的每个分量采用8位样本。例如,CMYK(青色、品红色、黄色和黑色)图像是四分量彩色图像,常用于印刷、扫描等领域;而用于显示的彩色图像通常有RGB(红色、绿色和蓝色)三个颜色分量。
在典型的彩色图像中,红、绿、蓝三个颜色分量之间存在显著的空间相关性。为了实现良好的压缩性能,首先需要将RGB图像转换到去相关的颜色空间,以降低颜色分量之间的相关性。在基线JPEG中,通常将三色RGB图像转换为亮度 - 色度(L - C)颜色空间,如YCbCr、YUV、CIELAB等。将图像转换到亮度 - 色度颜色空间的好处是,亮度和色度分量之间的相关性大大降低,而且色度通道包含大量冗余信息,可以在不牺牲重建图像视觉质量的情况下进行子采样。
2. 颜色空间转换
在实际应用中,我们主要考虑RGB到YCbCr的颜色空间转换及其逆转换。采用CCIR(国际无线电咨询委员会)建议601 - 1的方法进行转换,这也是基线JPEG压缩中常用的颜色转换方法。
从RGB到YCbCr的转换基于以下数学表达式:
[
\begin{bmatrix}
Y \
Cb \
Cr
\end{bmatrix}
=
\begin{bmatrix}
0.299000 & 0.587000 & 0.114000 \
-0.168736 & -0.33
超级会员免费看
订阅专栏 解锁全文
4180

被折叠的 条评论
为什么被折叠?



