上一篇视频知识扫盲介绍了视频最基础的知识,里面在位深一章节有提到RGB颜色编码,也是最常用的一种颜色编码,不过在视频传输过程中,为了节省体积,往往会使用另一种颜色编码来实现,那就是YUV。
一般来说,我们平时接触到的颜色编码大都是RGB,比如大部分显示器用的是RGB,平时做开发在程序中设置颜色的时候用的一般是RGB,那么YUV又是什么,和RGB有什么联系呢?
YUV,是一种颜色编码方法。常使用在各个影像处理组件中。YUV在对照片或视频编码时,考虑到人类的感知能力,允许降低色度的带宽。比如移动端Camera拍照捕获的图像数据、直播推流的流数据都是用这种编码格式。
与颜色编码YUV息息相关的是颜色空间YCrCb,其中Y”表示明亮度(Luminance、Luma),是RGB各个分量的加权之和:
其中k为系数。
“Cr”和“Cb”则是色度、浓度(Chrominance、Chroma),“Cb”表示蓝色值跟亮度的差距,“Cr”表示红色值跟亮度的差距:
但是现在颜色编码YUV和颜色空间YCrCb经常混为一谈了,所以后面提到的‘U’可以看做和‘Cr’等同,‘V’可以看做和‘Cb’等同。
RGB诉求于人眼对色彩的感应,相比于与RGB三个分量都是色彩相关的特性,YUV最大的特性就是将亮度和色度分离开来。
YUV则着重于视觉对于亮度的敏感程度。 YUV在对照片或影片编码时,考虑到人类的感知能力,允许降低色度的带宽。换句话说,也就是编码的时候允许Y的量比UV要多,允许对图片的UV分量进行下采样,这样数据占用的空间就比RGB更小(关于下采样,简单来说就是以比原来更低的采样率进行采样。
详细可以看下维基百科: