图像格式总结

本文主要讲一下常见的3种图像格式,RAW, RGB, YUV

目录

1、RAW

2、 RGB

3、YUV

3.1、yuv 定义:

3.2、采样格式:

3.3、存储格式:


1、RAW

      raw数据是sensor输出的原始数据,一般有raw8, raw10, raw12等,分别表示一个像素点有8bit、10bit、12bit数据。是sensor将光信号转化为电信号时的电平高低的原始记录,单纯地没有进行任何处理的图像数据,即摄像元件直接得到的电信号进行数字化处理而得到的。raw数据在输出的时候是有一定顺序的,主要有四种: GRBG、RGGB、BGGR、GBRG,如下图为BGGR格式:

2、 RGB

RGB格式:即每一个像素由三原色R红色、G绿色、B蓝色组成。通过三种颜色的混合,基本就能够混合出人类视力所能感受到的所有颜色。

RGB常见的的几种格式和描述:

  • RGB565 每个像素用16位表示,RGB分量各使用5位、6位、5位;

  • RGB555 每个像素用16位表示,RGB分量都使用5位(剩下1位不用);

  • RGB24 每个像素用24位表示,RGB分量各使用8位;

  • RGB32 每个像素用32位表示,RGB分量各使用8位(剩下8位不用);

  • ARGB32 每个像素用32位表示,RGB分量各使用8位(剩下的8位用于表示Alpha(透明度)通道值);

3、YUV

3.1、yuv 定义:

是被欧洲电视系统所采用的一种颜色编码方法。其中“Y”表示明亮度(Luma),就是灰阶值,而“U”和“V”表示色度(Chroma)。

与我们熟知的RGB类似,YUV也是一种颜色编码方法;主要用于电视系统以及模拟视频领域,它将亮度信息(Y)与色彩信息(UV)分离,没有UV信息一样可以显示完整的图像,只不过是黑白的,

这样的设计很好地解决了彩色电视机与黑白电视的兼容问题。并且,YUV不像RGB那样要求三个独立的视频信号同时传输,所以用YUV方式传送占用极少的频宽。

常用格式有:YUV444,YUV422,YUV420(为什么是4呢?因为这个4,实际上表达了共享的最大单位!也就是最多4个像素进行共享,因此4实际上是隐含的采样全集);

摄像头中最常用的是YUV 422格式,及Y-U-Y-V格式。以YUV422 8bit为例,每个像素点都包含亮度分量(8bit)以及UV两个颜色分量中的某一个(8bit)。

因此每个像素点需要16bit数据。如果使用YUV422 10bit,那每个像素点需要20bit来描述;

3.2、采样格式:

从前述定义中,可以了解YUV空间描述RGB空间的像素颜色按“亮度”分量和两个“色度”分量进行了表示。这种编码表示也更加适应于人眼,据研究表明,人眼对亮度信息比色彩信息更加敏感。而YUV下采样就是根据人眼的特点,将人眼相对不敏感的色彩信息进行压缩采样,得到相对小的文件进行播放和传输。

1)YUV 444

一个家庭成员是[yuv],每个Y对应一组UV,一个YUV占24bits 3个字节;

2)YUV 422

一个家庭成员是[yu][yv],也就是2个Y公用一个UV,一个YUV占8+4+4=16bits 2个节;

3)YUV 420

yuv420的意思似乎是在yuv422的基础上,再拿掉两个v,这样不就没有v了吗?其实yuv420的取名方式不是很高明,更确切的命名为yuv420yuv402也就是第一行只有两个u,而第二行只有两个v,如下图;

对于yuv420而言,这个家庭的成员如下图所示,显然4个Y公用一组UV,每个YUV占用8+2+2=12bits,1.5个字节;

4)yuv不同采样格式对图像画质的影响

根据前述的YUV采样格式分析,这里我们分析一下对图像画质的影响。我们将一个原始图像为8*8像素的红蓝相间的图案,分别按YUV444、YUV422、YUV420不同的采用格式采样,然后再还原输出。

图5(a):我们可以看到YUV444的色度信号的分辨率和亮度信号的分辨率无损失,我们获得了与原始图案一致的还原画面图案。

图5(b):YUV422获得还原图案在水平方向上,已经出现了丢失,从绿色所框选的像素来看,YUV422在水平方向上丢失了另一个像素点的色彩值,故在画面还原时仅是对前一个像素值简单的复制重构

图5(c):YUV420获得还原图案在水平方向以及垂直方向上,均出现了丢失,获得的还原图像与原始图像出现很大的失真。

由图5所示的直观观测,对图像高频细节的图像表达上,YUV444优于YUV422,YUV422优于YUV420。

在信号传输带宽的节省上,YUV420效率优于YUV444,YUV422优于YUV444。因此在普通的视频编解码算法上,为节省传输带宽开销,普遍采用YUV420或者YUV422的采样格式。

3.3、存储格式:

planar 平面格式:指连续存储所有像素点的Y分量,然后存储U分量,最后是V分量。packed 打包模式:指每个像素点的Y、U、V分量是连续交替存储的。

下面用图的形式给出常见的YUV码流的存储方式,并在存储方式后面附有取样每个像素点的YUV数据的方法,其中,Cb、Cr的含义等同于U、V。

1)基于YUV4:2:2采样的格式

YUV 4:2:2 采样规定了 Y 和 UV 分量按照 2: 1 的比例采样,两个 Y 分量公用一组 UV 分量;

  • YUYV 格式

YUYV是采用打包格式存储的,相邻的两个Y共用其相邻的两个Cb、Cr,分析,对于像素点Y'00、Y'01 而言,其Cb、Cr的值均为 Cb00、Cr00,其他的像素点的YUV取值依次类推。

  • UYVY格式

UYVY也是采用打包格式存储的,它的顺序与YUYV相反,还原其每个像素点的YUV值的方法与上面一样。

  • YUV422P格式

YUV422P也属于YUV422的一种,它是一种Plane模式,即平面模式,并不是将YUV数据交错存储,而是先存放所有的Y分量,然后存储所有的U(Cb)分量,最后存储所有的V(Cr)分量,如上图所示。其每一个像素点的YUV值提取方法也是遵循YUV422格式的最基本提取方法,即两个Y共用一个UV。比如,对于像素点Y'00、Y'01 而言,其Cb、Cr的值均为 Cb00、Cr00。

2)基于YUV4:2:0采样的格式

基于 YUV 4:2:0 采样的格式主要有 YUV 420P 和 YUV 420SP 两种类型,YUV420P 和 YUV420SP 都是基于 Planar 平面格式 进行存储的,先存储所有的 Y 分量后,YUV420P 类型就会先存储所有的 U 分量或者 V 分量,而 YUV420SP 则是按照 UV 或者 VU 的交替顺序进行存储了,具体查看看下图:

  • YUV420P ___ YU12

在android平台下也叫作I420格式,首先是所有Y值,然后是所有U值,最后是所有V值;

  • YUV420P ___ YV12

YV12格式与YU12基本相同,首先是所有Y值,然后是所有V值,最后是所有U值;

  • YUV420SP ___ NV21

android手机从摄像头采集的预览数据一般都是NV21,存储顺序是先存Y,再VU交替存储,NV21存储顺序是先存Y值,再VU交替存储;

  • YUV420SP ___ NV12

NV12与NV21类似,也属于YUV420SP格式,NV12存储顺序是先存Y值,再UV交替存储;

  • 7
    点赞
  • 89
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值