一,介绍

YUV是一种颜色空间

  其中“Y”表示明亮度(Luminance或Luma),也就是灰阶值;

  而“U”和“V” 表示的则是色度(Chrominance或Chroma),作用是描述影像色彩及饱和度,用于指定像素的颜色

YCbCr 其实是YUV经过缩放和偏移的翻版

  Y'为颜色的亮度(luma)成分、而CB和CR则为蓝色和红色的浓度偏移量成份

  在YUV 家族中,YCbCr 是在计算机系统中应用最多的成员,其应用领域很广泛,JPEGMPEG均采用此格式。一般人们所讲的YUV大多是指YCbCr。

 
二,转换
 
YUV与RGB的相互转换
Y = 0.299*R+0.587*G+0.114*B
U = -0.169*R-0.331*G+0.5*B+128
V = 0.5*R-0.419*G-0.081*B+128 R = Y + 1.402 * (V - 128)
G = Y - 0.34413 * (U - 128) - 0.71414 * (V - 128)
B = Y + 1,772 * (U - 128)
 
YCbCr与RGB的相互转换
Y = 0.257*R+0.564*G+0.098*B+
Cb = -0.148*R-0.291*G+0.439*B+
Cr = 0.439*R-0.368*G-0.071*B+ R = 1.164*(Y-)+1.596*(Cr-)
G = 1.164*(Y-)-0.392*(Cb-)-0.813*(Cr-)
B = 1.164*(Y-)+2.017*(Cb-) D1:NTSC制式 720 × 486
D1:PAL/SECAM制式 720 × 576
4CIF:NTSC制式 640 × 480
4CIF:PAL/SECAM制式704 × 576
CIF:NTSC制式 320 × 240
CIF:PAL/SECAM制式352 × 288
CIF:NTSC制式160 × 120
QCIF:PAL/SECAM制式176 × 144 yuv_raw_video_420下载
http://www.cipr.rpi.edu/resource/sequences/index.html

 

三,主要采样格式

YUV 4:4:4(3字节)

YUV三个信道的抽样率相同,因此在生成的图像里,每个象素的三个分量信息完整(每个分量通常8比特),经过8比特量化之后,未经压缩的每个像素占用3个字节。
下面的四个像素为: [Y0 U0 V0] [Y1 U1 V1] [Y2 U2 V2] [Y3 U3 V3]
存放的码流为: Y0 U0 V0 Y1 U1 V1 Y2 U2 V2 Y3 U3 V3
 

YUV 4:2:2(2字节)

每个色差信道的抽样率是亮度信道的一半,所以水平方向的色度抽样率只是4:4:4的一半。对非压缩的8比特量化的图像来说,每个由两个水平方向相邻的像素组成的宏像素需要占用4字节内存。
下面的四个像素为: [Y0 U0 V0] [Y1 U1 V1] [Y2 U2 V2] [Y3 U3 V3]
存放的码流为: Y0 U0 Y1 V1 Y2 U2 Y3 V3
映射出像素点为:[Y0 U0 V1] [Y1 U0 V1] [Y2 U2 V3] [Y3 U2 V3]

YUV 4:1:1(1.5)

4:1:1的色度抽样,是在水平方向上对色度进行4:1抽样。对于低端用户和消费类产品这仍然是可以接受的。对非压缩的8比特量化的视频来说,每个由4个水平方向相邻的像素组成的宏像素需要占用6字节内存
下面的四个像素为: [Y0 U0 V0] [Y1 U1 V1] [Y2 U2 V2] [Y3 U3 V3]
存放的码流为: Y0 U0 Y1 Y2 V2 Y3
映射出像素点为:[Y0 U0 V2] [Y1 U0 V2] [Y2 U0 V2] [Y3 U0 V2]

YUV4:2:0(1.5)

4:2:0并不意味着只有Y,Cb而没有Cr分量。它指得是对每行扫描线来说,只有一种色度分量以2:1的抽样率存储。相邻的扫描行存储不同的色度分量,也就是说,如果一行是4:2:0的话,下一行就是4:0:2,再下一行是4:2:0...以此类推。对每个色度分量来说,水平方向和竖直方向的抽样率都是2:1,所以可以说色度的抽样率是4:1。对非压缩的8比特量化的视频来说,每个由2x2个2行2列相邻的像素组成的宏像素需要占用6字节内存。
下面八个像素为:[Y0 U0 V0] [Y1 U1 V1] [Y2 U2 V2] [Y3 U3 V3] 
        [Y5 U5 V5] [Y6 U6 V6] [Y7U7 V7] [Y8 U8 V8]
存放的码流为:Y0 U0 Y1 Y2 U2 Y3 
       Y5 V5 Y6 Y7 V7 Y8
映射出的像素点为:[Y0 U0 V5] [Y1 U0 V5] [Y2 U2 V7] [Y3 U2 V7] 
         [Y5 U0 V5] [Y6 U0 V5] [Y7 U2 V7] [Y8 U2 V7]
 
 
 
另 : 
I420是yuv420格式,是3个plane,排列方式为(Y)(U)(V)
YV16是yuv422格式,是3个plane,(Y)(U)(V)
YV12是yuv420格式,排列方式为所有Y,然后所有V,然后所有U
YYYY
VV
UU
 
YUY2是YUV422格式,排列是(Y0 U0 Y1 V0)
UYVY是YUV422格式,排列是(U0 Y0 V0 Y1)
NV21是YUV420格式,排列是(Y), (VU)
YYYY
VUVU
 
NV12是YUV420格式,排列是(Y), (UV)
YYYY
UVUV
 
NV16是YUV422格式,排列是(Y), (UV),
NV61是YUV422格式,排列是(Y), (VU),是2 plane
YVYU是YUV422格式,排列是(YVYU),是1 plane
VYUY是YUV422格式,排列是(VYUY),是1 plane
 
四、非交织yuv
yuv444:
[yyyy]
[uuuu]
[vvvv]
 
yuv420:
[yyyy]
[yyyy]
[uu]
[vv]
yuv422h:
[yyyy]
[yyyy]
[uu]
[uu]
[vv]
[vv]
yuv422v:
[yyyy]
[yyyy]
[uuuu]
[vvvv]
 

五、特殊的YUV

 
YUV6442 : 含透明度的YUV
 

yuv各种形式 http://www.fourcc.org/yuv.php

YUV YCbCr的更多相关文章

  1. 彩色图像--色彩空间 YIQ 、YUV 、YCbCr 、YC1C2 和I1I2I3

    学习DIP文章64天 转载请注明文章出处:http://blog.csdn.net/tonyshengtan .出于尊重文章作者的劳动,转载请标明出处.文章代码已托管,欢迎共同开发:https://g ...

  2. YUV格式详解

    What is YUV YUV,是一种颜色编码方法. YUV是编译true-color颜色空间(color space)的种类,Y'UV, YUV, YCbCr,YPbPr等专有名词都可以称为YUV, ...

  3. 图像色彩空间YUV和RGB的差别

    http://blog.csdn.net/scg881008/article/details/7168637 假如是200万像素的sensor,是不是RGB一个pixel是2M,YUV是1M? 首先, ...

  4. YPbPr 和 YCbCr的区别 .

    这几天在做分量视频输入,涉及分量视频表示,接触到YPbPr和YCbCr的概念,发现不光自己的项目上,对这两个概念错乱,就是网上也充斥着大量错误的说法. 分量接口有两种名称YPbPr和YCbCr,这是两 ...

  5. YUV格式学习汇总

    本文为个人学习使用,部分内容摘自他人. 参考: https://www.cnblogs.com/ALittleDust/p/5935983.html http://www.cnblogs.com/az ...

  6. 详解YUV数据格式

    我们在讲 FFmpeg 系列的时候,有提到 YUV 的.其中包括YUV播放器.简单的YUV格式介绍. 一.YUV简介 YUV,是一种颜色编码方法.常使用在各个影像处理元件中. YUV在对照片或影片编码 ...

  7. 图像基础知识之YUV

     一.YUV常用格式 YUV是编译true-color颜色空间(color space)的种类,Y'UV, YUV, YCbCr,YPbPr等专有名词都可以称为YUV,彼此有重叠.“Y”表示明亮度(L ...

  8. 音视频入门-07-认识YUV

    * 音视频入门文章目录 * YUV & YCbCr 简介 YUV,是一种颜色编码方法.常使用在各个视频处理组件中. YUV 在对照片或视频编码时,考虑到人类的感知能力,允许降低色度的带宽. Y ...

  9. 谈谈“色彩空间表示方法”——RGB、YUY2、YUYV、YVYU、UYVY、AYUV

    转自:http://bbs.chinavideo.org/viewthread.php?tid=4143 还可参考http://www.fourcc.org/yuv.php 小知识:RGB与YUV-- ...

随机推荐

  1. java面试总结-(hibernate ibatis struts2 spring)

    说说Hibernate对象的三种状态 Hibernate对象有三种状态,分别是:临时态(Transient). 持久态(Persistent).游离态(Detached). 临时状态:是指从对象通过n ...

  2. [SVN(ubuntu)] ubuntu使用svn

    转载自:http://lee2013.iteye.com/blog/1058047 SVN作为日常开发中不可缺少的工具,Ubuntu下的SVN安装十分简单,sudo apt-get install s ...

  3. 天使之城(codevs 2821)

    2821 天使之城  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold 题解  查看运行结果     题目描述 Description 天使城有一个火车站,每辆火车 ...

  4. 【Python爬虫】入门知识

    爬虫基本知识 这阵子需要用爬虫做点事情,于是系统的学习了一下python爬虫,觉得还挺有意思的,比我想象中的能干更多的事情,这里记录下学习的经历. 网上有关爬虫的资料特别多,写的都挺复杂的,我这里不打 ...

  5. Mysql 5.6.17-win64.zip配置

    第一大步:下载. a.俗话说:“巧妇难为无米之炊”嘛!我这里用的是 ZIP Archive 版的,win7 64位的机器支持这个,所以我建议都用这个.因为这个简单嘛,而且还干净. 地址见图 拉倒最下面 ...

  6. zabbix_agent端 key

    root@(none):/etc/zabbix/zabbix_agentd.conf.d# grep -v "^$" /etc/zabbix/zabbix_agentd.conf| ...

  7. JS输入框邮箱自动提示(带有demo和源码)(转载)

    今天在javascriptQQ群里面 有童鞋问到 有没有 "JS输入框邮箱自动提示"插件,即说都找遍了github上源码 都没有看到这样类似的插件,然后我想了下 "JS输 ...

  8. poj 1273 最大流入门

    明天再拍一遍 #include <iostream> #include <queue> using namespace std; ; const int INF = 0x7FF ...

  9. open(/dev/ietctl, O_RDWR) 参数含义(转载)

    这是文件I/O的常用函数,open函数,open函数用来打开一个设备,他返回的是一个整型变量,如果这个值等于-1,说明打开文件出现错误,如果为大于0的值,那么这个值代表的就是文件描述符.一般的写法是i ...

  10. Windows计数器做性能监控(window server 2008服务器)

    使用Windows计数器 一.创建数据收集器集 二.创建数据收集器 三.使用数据收集器 1.修改数据收集器的属性 2.手动启用.手动停止数据收集器集 3.计划任务 4.在性能监视器中查看 一.性能监视 ...