博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
YUV与RGB图像格式之间的关系
阅读量:2382 次
发布时间:2019-05-10

本文共 1559 字,大约阅读时间需要 5 分钟。

注:本文讲述的格式全部使用每个像素位置8位的方式来编码Y频道,并使用每样例8位的方式来编码每个UV色度样例。但是,大多数YUV格式平均使用的每像素位数都少于24位,这是因为它们包含的UV样例比Y样例要少。

更多资料:

1简介

RGB是按三基色加光系统的原理来描述颜色,而YUV则是按照亮度,色差的原理来描述颜色。

其中YCbCr 则是在世界数字组织视频标准研制过程中作为ITU - R BT1601 建议的一部分, 其实是YUV经过缩放和偏移的翻版。其中YYUV 中的Y含义一致, Cb , Cr 同样都指色彩, 只是在表示方法上不同而已。在YUV 家族中, YCbCr 是在计算机系统中应用最多的成员, 其应用领域很广泛,均采用此格式。一般人们所讲的YUV大多是指YCbCrYCbCr 有许多取样格式, 444 , 422 , 411 420

2 YUV采样

YUV的优点之一是,色度频道的采样率可比Y通道低,同时不会明显降低视觉质量。有一种表示法可用来描述YUV的采样频率比例,为A:B:C

l        4:4:4表示色度频道没有下采样。每像素32位。

l        4:2:2表示2:1的水平下采样,没有垂直下采样。对于每两个U样例或V样例,每个扫描行都包含四个Y样例。每像素16位。

l        4:2:0表示2:1的水平下采样和2:1的垂直下采样。每像素16位or每像素12位。

l        4:1:1表示4:1的水平下采样。此格式不常用。

YUV格式分为打包格式和平面格式。在打包格式中,YUV足见存储在一个数组中。像素被组织到了一些巨像素组中,巨像素组的布局取决于格式。在平面格式中,三者则是作为三个单独的平面进行存储。

2.1 4:4:4格式,每像素32位

这是一个打包格式。其中每个像素都被编码为四个连续字节,如fourcc码的AYUV,其组织顺序如下所示。其中A的字节包含了alpha的值。

示例:

下面的四个像素为: [Y0 U0 V0] [Y1 U1 V1] [Y2 U2 V2] [Y3 U3 V3]

存放的码流为: Y0 U0 V0 Y1 U1 V1 Y2 U2 V2 Y3 U3 V3

2.2 4:2:2格式,每像素16位

支持两个4:2:2格式,fourcc码如下:

l         YUY2

l         UYVY

两个都是打包格式,其中每个巨像素都是编码为四个连续字节的两个像素。这样会使得色度水平采样乘以系数2。

YUY2

 

UYVY

 

示例:

下面的四个像素为: [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]

 

2.3 4:2:0格式,每像素16位

IMC1

 

 

IMC3

示例:

下面八个像素为:[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] [Y7U2 V7] [Y8 U2 V7]

3 YUV444 to RGB24

这里只讨论YUV4:4:4与RGB24之间的转换。要将4:2:0或4:2:2YUV转换为RGB,建议先将YUV数据转换为4:4:YUV,然后再转换为RGB。

转换公式:

Clip()表示剪辑到(0,255)中。

转载地址:http://onuab.baihongyu.com/

你可能感兴趣的文章
SQLite通用数据库类
查看>>
查询.db(SQLite数据库文件)中所有表
查看>>
使用Inno Setup 打包.NET程序,并自动安装.Net Framework
查看>>
inno setup 5 添加快捷方式默认选中
查看>>
WPF以管理员运行程序
查看>>
WPF设置全局字体和字体嵌入
查看>>
C#根据控件名获取控件对象
查看>>
C#WinForm 藏到系统托盘
查看>>
Aspose.Cells区域格式设置
查看>>
遍历子控件清空数据
查看>>
C#WinForm中TreeView默认展开设置
查看>>
jQuery选择器总结[强大的jQuery]
查看>>
用javascript实现本地图片预览(HTML5)
查看>>
C#实现Zip压缩解压实例
查看>>
Android导航图
查看>>
Android学习笔记•从零开始•第一天•基本知识
查看>>
Android学习笔记•从零开始•第二天•Intent-穿梭在Activity之间
查看>>
Android学习笔记•从零开始•第三天•Activity
查看>>
Android学习导航图
查看>>
jQuery EasyUI combotree 只允许选叶子节点
查看>>