如果色度子采样使用的是4:2:0,那么Cb和Cr被下采样一半,但Y通道没有变化。那么这一步之后,图像的总尺寸是如何变成一半的呢?
例如:如果一幅图像的尺寸是480x378像素,如何将其变为240x189像素?在libjpeg.c中是如何实现的?
尺寸并没有改变--图像的宽度和高度都保持不变。字节数减少了一半,因为最初你有3个通道,分别是R、G和B,之后,在它们的位置上,你有。
R,G,B,然后,在它们的位置上,你有: Y
通道的字节数与红色通道相同,因为它是全分辨率的。
的 Cb
信道,它在每个方向上的子采样系数为2,所以它是14个绿色信道的大小。
的 Cr
通道,在每个方向上的子采样系数为2,所以它是14个蓝色通道的大小。
所以现在你有1个Y通道,14个Cb通道,14个Cr通道,所以总共有1.5个通道,而以前你有3个通道(R,G和B)。所以,你有1.5个而不是3个,也就是一半的数据。