图像原始格式 YUV444 YUV422 YUV420 详细解析
前段时间搞x264编码测试,传参的时候需要告诉编码器我的原始数据格式是什么,其中在x264.h头文件中定义了如下一堆类型。
但是这个定义只是对于这个应用而言,对于其他的应用或者场景中,相同的数据格式却有着不同的名字,于是为了弄懂他们的差别关系,检索了一大堆信息,整理了一个图文出来如下。
首先要介绍的是YUV444,这种格式占用空间最大,每个像素点有一个Y分量+一个U分量+一个V分量所以和rgb一样每个像素点占用3个字节!
但是根据UV存储顺序不一样,又有两种不同的格式。
接下来是YUV422 每两个Y分量公用一个UV分量,所以一个像素占用两个字节,根据存储顺序不同又分为四种不同的格式。
还有一种变态的V210格式,好像是苹果搞出来的。
接下来是YUV420 每四个y分量公用一个UV分量,所以每个像素点占用1.5个字节空间,根据存储顺序不一样又分为四个不同的类型。
YUV是一种颜色编码方法,Y表示亮度(Luma),也就是灰度值。U分量和V分量重存储了是色度(Chroma)信息,主要作用是描述了视频的色彩及饱和度,用于指定每个像素的颜色。主要用于电视系统以及模拟视频领域,它将亮度信息Y与色彩信息UV分离,没有UV信息一样可以显示完整的图像,显示出来将是黑白效果,解决了彩色电视机和黑白电视机之间的兼容问题。早期的黑白电视机只有亮度值Y,后面彩色电视的出现引入了UV分量,形成了现有的YUV格式,又称为YCbCr格式。
YUV格式的优点。由于人眼对亮度敏感而对色度不敏感的特点,因此在YUV格式中减少了UV的数据量,在不影响用户观看的情况下有效的压缩了总体的数据量。所以YUV与RGB格式相比,占用更少的存储空间,相对应的在传输过程中也会减少带宽的消耗量。
常见的YUV格式有YUV444、YUV422、YUV420。
对于YUV444格式,一个Y分量对应一组UV分量,及完全采样。如下图所示:
对于YUV422格式,每两个Y公用一组UV分量。如下图所示:
对于YUV420格式,并不是说只有Y分量和U分量,没有V分量。U分量和V分量是交替出现的,例如第一行为4:2:0,则第二行为4:0:2,如此反复依次交替。
YUV444、YUV422、YUV420几种格式中最常用的就是YUV420格式了。YUV420格式又可以细分为YUV420P和YUV420SP两种类型。
YUV420P是三平面存储,Y、U、V三个分量分别占用一个平面。数据的排列方式有I420,YV12。
I420,YYYYYYYY UUVV
YV12,YYYYYYYY VVUU
YUV420SP是两平面存储,Y分量占用一个平面,UV分量公用一个平面。有两种排列方式NV12、NV21。
NV12,YYYYYYYY UVUV
NV21,YYYYYYYY VUVU
RGB是一种对颜色进行编码的方式。由RGB(红、绿、蓝)经过叠加组合可以展现出所有的色彩,每种颜色都可以由这三个变量的不同值组合而成。记录一张图像时,最常用的编码方式就是RGB。
YUV的主要优势在于可以兼容之前的黑白电视,单独只有Y数据就可以显示完整的黑白图像,UV是后期加入的色彩参数。并且经过多年的发展,YUV的压缩算法得到了改进,使得图像的压缩率大大增加。使得YUV比RGB占用更少的存储空间。虽然YUV很有优势,但是在最终显示的时候其本质上也都是显示的RGB数据,一些支持YUV输入的设备,内部也是做了相应的转换。
图像原始格式 YUV444 YUV422 YUV420 详细解析相关推荐
- 图像原始格式(YUV444 YUV422 YUV420)一探究竟
前段时间搞x264编码测试,传参的时候需要告诉编码器我的原始数据格式是什么,其中在x264.h头文件中定义了如下一堆类型. /* Colorspace type */ #define X264_CSP ...
- 音视频编解码: YUV采样格式中的YUV444,YUV422,YUV420理解
YUV各种采样格式的说明 通常我们用RGB表示一种彩色.计算机系统里的LCD显示的数据就是RGB来表示每个像素的颜色. 而在我们生活里,有黑白电视机与彩色电视机两种,拍摄节目源时不可以用两种不同的摄像 ...
- YUV图解 (YUV444, YUV422, YUV420, YV12, NV12, NV21)
如果你认为本系列文章对你有所帮助,请大家有钱的捧个钱场,点击此处赞助,赞助额1元起步,多少随意 锋影 email:174176320@qq.com YUV图解 (YUV444, YUV422, YUV ...
- YUV图解 (YUV444, YUV422, YUV420, YV12, NV12, NV21)-- 转
YUV图解 (YUV444, YUV422, YUV420, YV12, NV12, NV21)
- YUV图解 (YUV444, YUV422, YUV420, YV12, NV12, NV21)
YUV格式有两大类:planar和packed. 对于planar的YUV格式,先连续存储所有像素点的Y,紧接着存储所有像素点的U,随后是所有像素点的V. 对于packed的YUV格式,每个像素点的Y ...
- yuv图解(YUV444,YUV422,YUV420,YV12,NV12,NV21)
参考文章 图解YUV YUV是什么 YUV(444,422,420) And YUV(Packed,Planar,Semi-Planar) 知识点 YUV是用一个称为Y(相当于灰度)的亮度分量和两个色 ...
- 图像视频信息库改直播服务器,短视频直播系统,开发流程详细解析
原标题:短视频直播系统,开发流程详细解析 短视频直播系统的开发也分Android端和iOS端,不同端口对应不同的开发方式,使用不同的开发协议,与直播系统的开发流程相同,也是分五个步骤,今天就给大家详细 ...
- YUV422 YUV420 Planar \ Semi-Planar \ Interleaved格式详解
很多人对YUV数据格式不清楚,以至于在做视频的时候出现了一些不可预知的错误(比如说图像带有点.颜色不对等).今晚是周末放假,我就抽点时间来给大家介绍一下. 提示: 读下面的文字时,希望大家结合图片看, ...
- mysql grant 语法格式_MySQL grant 语法的详细解析
我们今天主要向大家介绍的是MySQL grant 语法的详细解析,同时本文还介绍了其实际应用代码的介绍,希望在你今后的学习中会有所帮助. 以下的文章是MySQL grant 语法的详细解析,如果你对M ...
- RGBYUV图像视频格式
一.参考资料 对于YUV420sp格式图像的copy and paste RGB 与YUV颜色模型及存储格式 二.相关介绍 2.1 问题引入 OpenCV中如果是单通道或者三通道一样的大的图像,直接使 ...
最新文章
- 15 年腾讯老兵谈技术人成长之路
- 阿里面试官:接口的幂等性怎么设计?
- Hibernate智能化分页
- 模式识别新研究:微软OCR两层优化提升自然场景下的文字识别精度
- 数据分析pandas属性实现统计分析
- c++读取文件–结束条件的判断
- 悲痛!高校一研究生在校内被撞身亡,肇事者为该校博导,警方已介入
- linux一级常用目录,小蚂蚁学习Linux(3)——Linux一级目录说明和常用命令解释...
- mysql关联表id_mysql join联表 + id自增
- pandas dataframe多重索引常用操作
- 在Windows上搭建Go开发环境
- 26.逻辑卷管理器(Logical Volume Manager)
- Intel 平台编程总结----SIMD技术
- 如何让vs2005的网站编译成一个DLL
- 微信取消分享后还是执行成功函数
- Atitit node.js问题解决总结t99 目录 1.1. 找不到node程序	1 1.2. GBK编码问题	1 2. 按行读取gbk编码问题	2 2.1. 先写入txt utf8 encode
- Pytorch使用tensorboardX可视化
- android实现半透明属性,Activity透明/半透明效果的设置transparent(两种实现方法)
- TX2(linux系统、Ubuntu系统)输入法不显示拼音候选框、下拉框
- 数据结构简单模拟银行排队系统
热门文章
- java时间格式化工具类_java日期格式化工具类
- 开元酒店在中国的签约及在营酒店规模正式超过600家
- Android -- WiFi的NUD检测机制浅析
- Office Tool Plus v8.2.4.0 安装Office组件小工具
- Feem(局域网文件传输工具)v4.3.0官方版
- 百度前员工因内网发布“女优一览表”被辞退,自诉:想转鉴黄师
- 使用BCDboot工具,修复windows 系统启动,双启动菜单丢失故障
- linux snmp 命令oid,snmpwalk命令_Linux snmpwalk命令使用详解:通过SNMP GET-NEXT类型PDU
- 射频电路学习之滤波电路
- 为什么世界是由数学构成的