了解过计算机图形图像学的该知道,可用RGB和YUV两种方式表示图像像素,视频由一帧一帧的图像组成,每一张图片是一个一个的像素点组成,既然有两种表示像素的方法,那就一起解一下两种表示方式的异同及优缺点。
RGB像素
这里只简单回顾RGB像素表示法,R、G、B即是Red 红、Green 绿、Blue 蓝的首字母,是颜色的三原色,强度不同的组合可表示大部分人眼可看的颜色。计算机里,可用三个字节分别表示RGB值。一字节8bit(取值范围是0~255),三字节就是24位,所以此表示法也叫做 RGB24 。为方便表示,还常用16进制表示。RGB表示法简单直观,却很消耗存储资源,一个1024x1024的图像,需要1024x1024x3=3MB存储空间。
YUV像素
RGB像素表示法简单,没做过数字图像和视频的开发,可能很少听说YUV。但在数字图像和视频编码里领域,YUV像素表示法非常流行,主要有如下原因**:第一,人眼对亮度更敏感,对颜色的敏感度稍弱,所以使用YUV来表示图像可节省存储资源。**第二:由于数字摄像机传感器不能直接采样三原色,RGB不适合硬件处理,使得YUV得到广泛应用。
什么是YUV呢?「Y」为明亮度(Luminance、Luma),「U」和「V」为色度(Chrominance、Chroma)。YUV是模拟信号称呼,YCbCr为数字信号应该表示,其中Cb是蓝色色度,Cr是红色色度。
下面图片例子来源https://zh.wikipedia.org/wiki/YCbCr,很能说明YUV的特性,第一张是原图,第二张Y分量的表示图,第三张是U分量的表示图,第四张是V分量的表示图。
YUV相对RGB优势是压缩比高,那么YUV采样是值得研究的事情。
为什么说YUV比较节省存储空间?前面提到,人眼对亮度更敏感,对色度敏感度稍差,所以我们可以用完整亮度和更少色度表示一张图像,即采样。用RGB表示每个像素必须用3个字节,但YUV表示一个像素,可以是3=字节,也可是2字节(丢掉U或者丢掉V),还可只有1个字节(丢掉U和V)。占用字节大小的不同因为采用不同的采样方式,下一篇具体讲述YUV的采样格式。