Answers:
YCbCr有几种格式。一般来说,眼睛对亮度(Y,亮度)的变化比色度(Cb,Cr,颜色)的变化更敏感。因此,可以在保持图像质量的同时擦除一些色度信息。
因此,最“昂贵”的格式是4:4:4,其中每个亮度(Y)分量有1个红色差(Cr)和一个蓝色差(Cb)分量。
然后,按照我提到的原理,存在4:2:2,其中每2个Y组分都有1 Cb和1 Cr。它走得更远,以4:1:1和4:2:0,等更多信息这里。
JPEG可能以每个R,G和B通道8位开始,但是当存储在JPEG中时,它的存储方式非常不同,这里没有真正的“位深度”,而是将值存储为给定精度的频率系数。
在JPEG中,更重要的是量化率,它影响在压缩的量化阶段丢弃多少信息,从而影响每个系数的精确度。在Photoshop中保存JPEG时,可以通过“质量”设置来设置此量化率。尽管它与光栅图像中的位深无关,但您甚至可以说JPEG图像中的JPEG图像没有位深,尽管JPEG编码器/解码器以24位开头/结尾光栅图像。
与保存JPEG相关的另一个主要因素是色度子采样类型。在JPEG中,可以选择将颜色(Pr和Pb)通道的水平分辨率(或水平和垂直分辨率)相对于亮度(亮度)通道减半。进行解压缩时,将对色彩通道进行插值,并且在大多数摄影主题中,差异不会很大。
以下是有关如何将图像转换为JPEG的粗略总结。
RGB值转换为Y,Pb,Pr值。YPbPr色彩空间更适合有效压缩,因为它仅在一个通道中保留亮度信息,该信息携带最详细的信息。这种转换是简单的算术运算,除了有舍入误差外,它是完全可逆的。
如果使用任何色度二次采样(换句话说,使用4:4:4模式以外的任何其他值),则Pb和Pr通道的垂直和/或水平分辨率将减半。因此,这些通道将具有与亮度通道不同的像素尺寸。这导致色彩通道中的分辨率永久丧失。
对于每个通道,将图像分为8个像素乘以8个像素的块,从而为每个通道中的每个此类块提供64个线性值。如果通道不是两个维度的8像素的倍数,则边缘像素将重复(并且在解压缩时将被丢弃-因此JPEG压缩始终是8像素的倍数或1600的倍数时效率更高)在色度二次采样中)。
每个块中的64个值经历从空间域到频域的转换,在这种情况下称为离散余弦转换。您最终得到64个系数,每个系数代表该块占用的区域上特定频率图的幅度。第一个值是最低频率,实际上是所有像素的平均值,直到最后一个值描述了该块的最高频率成分。较早的值都相差很多,并且比块中的较晚值对最终图像的外观更重要。只要使用足够的精度,此操作就可以完全逆转。
然后是量化步骤,您在上一步中获得的64个系数中的每一个都除以某个数字(称为量化系数),其余的被排除在外。这是样本精度受到最大影响的地方,但是与无损压缩相比,您可以从JPEG中节省大量空间。由于自上次变换以来所有内容都在频域中,因此,与仅在此变换之前简单地降低像素的位深/准确性相比,这种准确性上的损失在保持感知图像质量方面表现得最好。此过程的相反步骤就是简单地将系数除以相同的数字,但是当然,由于将余数扔掉,结果系数的精度降低了。这会导致质量永久下降,
经过这种量化处理后,许多较后的较低有效系数通常为零,因此这些系数被排除在外了。然后,(无损)可变长度编码例程以有效的方式对所有其余系数进行编码,即使每个系数可能使用不同数量的位。
不能说某个量化因子等于某个比特深度,因为量化不会像减小比特深度时那样产生条带,而是会从您注意到的部分开始详细给出总体感知损失更少,因为它的频率幅值如此之低。
每个通道大约8位,但是有几种稍微不同的方法。有关详细信息,请参见Wikipedia上有关YCbCr的文章。