车载前视摄像头学习笔记 ———— 摄像头输出数据格式(YUV)
文章目录
- 前言
- 存储格式
- 采样方式
- 4:4:4
- 4:2:2
- 4:2:0
- 4:1:1
- 映射点
- 4:4:4
- 4:2:2
- 4:2:0
- 格式别称
- YUVY 格式
- UYVY 格式
- YUV422P 格式
- YV12/YU12 格式
- NV12/NV21 格式
- 内存大小
前言
这篇文章主要是介绍车载前置摄像头(Front Camera)的输出信号的格式。YUV,是一种颜色编码方法。YUV是编译true-color颜色空间(color space)的种类,Y’UV, YUV, YCbCr,YPbPr等都可以称为YUV。Y 代表明亮度(Luminance或Luma);U 和 V 则代表色度(Chrominance或Chroma),作用是描述影像色彩及饱和度,用于指定像素的颜色。
存储格式
之前,YUV和Y’UV通常用来编码电视的模拟信号,而YCbCr则是用来描述数字的视频信号,适合视频与图片压缩以及传输,例如MPEG、JPEG。从现在的使用情况来看,YUV通常已经在电脑系统上广泛使用。YUVFormats分成两个格式:
1. Packed formats:每个像素点的Y,U,V是连续交叉存储的。
2. Planar formats:先连续存储所有像素点的Y,紧接着存储所有像素点的U,随后是所有像素点的V。
3. Semi-planar fromat:先连续存储所有像素点的Y,紧接着U,V是连续交叉存储的。
这里以完全取样来介绍这三种方式的存储情况:
1. Packed
2. Planar
3. Semi-planar
采样方式
通常来说,YUV的格式会有24位。但是在实际的情况中,大多数YUV格式平均使用的每像素位数都少于24位。主要的抽样(subsample)格式有YCbCr4:2:0、YCbCr4:2:2、YCbCr4:1:1和YCbCr4:4:4。具体的抽样格式如下:
4:4:4
4:2:2
表示2:1的水平取样,垂直完全采样。
4:2:0
表示2:1的水平取样,垂直2:1采样。下方的采样格式微软定义为 MPEG-1 scheme。
在微软的介绍里,还有另外一种采样格式(MPEG-2 scheme)。按照我个人的理解,我认为具体的采样形式如下:
如果哪位大拿可以告诉正确的采样格式,请评论或者私信告诉我,不胜感激。
4:1:1
就这种采样格式来讲,并不是一种主流的采样格式。相比于其他三种采样格式,这种格式的介绍也十分少。目前就我了解的情况来讲,只有百度百科和前面提到的微软介绍中由提及这种采样格式。但是,这两处介绍的采样格式确实完全相反。百度百科说是4:1的水平取样,垂直完全采样,微软介绍里介绍的是 4:1的水平取样,无垂直采样。 我比较倾向于微软介绍的那种采样方式。因为个人技术有限,这里无法给大家展开介绍。
映射点
由于上一章节中提及到的4:1:1 采样格式无法为大家展开,那么在分析映射点的情况我将省略这一采样方式的映射介绍。
4:4:4
4:2:2
4:2:0
格式别称
YUVY 格式
YUVY 格式属于4:2:2采样方式的一种格式。具体为相邻的两个Y共用其相邻的两个U、V。还原方式的请参考映射点章节所介绍的 4:2:2 方式还原。
UYVY 格式
UYVY 格式属于4:2:2采样方式的一种格式。与YUYV格式不一样的地方在于UV的排列顺序不一样,还原方式的请参考映射点章节所介绍的 4:2:2 方式还原。
YUV422P 格式
从这种名称来讲,是属于4:2:2采样方式的一种格式。这与前两种的区别在于,这种格式采用的是Planar 格式的存储。具体的存储格式请看前面的章节。还原方式的请参考映射点章节所介绍的 4:2:2 方式还原。
YV12/YU12 格式
YU12 和 YV12 属于属于4:2:0 采样方式的一种格式。存储方式与 YUV422P 格式一样,也是一种Planar模式,将Y、U、V分量分别打包,依次存储。还原方式的请参考映射点章节所介绍的 4:2:0 方式还原。
NV12/NV21 格式
NV12 和 NV21属于属于4:2:0 采样方式的一种格式。存储方式则是 Semi-planar 格式,这种格式也在前面的存储格式章节介绍了。
内存大小
各种采样方式的内存大小计算 | ||
---|---|---|
采样方式 | 存放码流 | 大小计算 |
4:4:4 |
Y0 U0 V0 Y1 U1 V1 Y2 U2 V2 Y3 U3 V3 Y4 U4 V4 Y5 U5 V5 Y6 U6 V6 Y7 U7 V7 |
6 bytes |
4:2:2 |
Y0 U0 Y1 V1 Y2 U2 Y3 V3 Y4 U4 Y5 V5 Y6 U6 Y7 V7 |
4 bytes |
4:2:0 |
Y0 U0 Y1 Y2 U2 Y3 Y4 V4 Y5 Y6 V6 Y7 |
3 bytes |
车载前视摄像头学习笔记 ———— 摄像头输出数据格式(YUV)相关推荐
- 车载前置摄像头学习笔记 ———— 摄像头输出数据格式(JPEG)
文章目录 介绍 类型 标准JPEG 渐进式JPEG JPEG2000 压缩类型 顺序式编码(SequentialEncoding) 递增式编码(ProgressiveEncoding) 无失真编码(L ...
- 物联网外设学习笔记-摄像头(一)
物联网外设学习笔记-摄像头(一) Camera 简介 摄像头(CAMERA)又称为电脑相机.电脑眼等,它作为一种视频输入设备,在过去被广泛的运用于视频会议.远程医疗及实时监控等方面.近年以来,随着互联 ...
- 【STM32】OV2640摄像头学习笔记 转
[STM32]OV2640摄像头学习笔记 2019年03月03日 13:01:35 淹死的大白鲨 阅读数 4736更多 分类专栏: [STM32] 版权声明:本文为博主原创文章,遵循 CC 4.0 B ...
- mybatis学习笔记(7)-输出映射
2019独角兽企业重金招聘Python工程师标准>>> mybatis学习笔记(7)-输出映射 标签: mybatis [TOC] 本文主要讲解mybatis的输出映射. 输出映射有 ...
- 前后端分离学习笔记(5) ---[表单的增删改操作;以及为管理员上传头像]
上一篇案例中也是查询到了表单的内容–>前后端分离学习笔记(4) -[路由嵌套, 查询表单显示] 文章目录 1.前端组件页面 添加管理员操作 修改管理员信息 删除管理员 为管理员上传头像 修改密码 ...
- 【STM32】OV2640摄像头学习笔记
目录: 一.OV2640 Camera 二.读取OV2640模块图像数据过程: 三.DCMI(Digital camera interface)接口 四.SCCB协议 1.起始信号 2.停止信号 五. ...
- 立创梁山派学习笔记——GPIO输出控制
梁山派 前言 开发板简介 GD32F407ZGT6官方资源 数据手册 1.系统框图 2. 引脚复用表 3.命名规则 4.其他 用户手册 固件库与PACK包 开发环境搭建 立创官方的资料包 资料齐活,开 ...
- C语言如何加缓冲,C语言学习笔记之输出缓冲
在c语言中经常用到输出函数printf,当我们像往常一样在输出函数中输入我们的想要的输出的东西后加\n换行 验证结果如我们输出的一样 如果我们在后面加入死循环会不会出现这些语句呢 结果卡死了,可还是输 ...
- 车载前摄像头学习笔记 ———— 视频编码格式
文章目录 简介 格式 H.26X H.261 H.263 H.264/AVC NALU Header NALU Payload SODB RBSP EBSP MPEG-X MPEG-1 MPEG-2 ...
- STM32 F4 OV2640摄像头学习笔记(一)
//尝试写作,记录学习过程. 一.OV2640摄像头简介 本节将主要讲解OV2640摄像头基础部分和一些引脚配置. OV2640传感器简介 OV2640是Omni Vision公司生产的一颗1/4寸的 ...
最新文章
- 为什么要假设变量为正态分布?
- 51单片机C语言波特率十六进制,理解51单片机串口通信的波特率与USB转串口通信...
- 因 Redis 分布式锁造成的 P0 级重大事故,整个项目组被扣了绩效。。。
- ResNet才是YYDS!新研究:不用蒸馏、无额外数据,性能还能涨一波
- python获取中文字体点阵坐标_点阵汉字显示 - freecamel的个人空间 - OSCHINA - 中文开源技术交流社区...
- android 立体 流量球,Android自定义View——实现水波纹效果类似剩余流量球
- Youtube深度学习推荐系统
- 使用SMART监控Ubuntu
- CF496E-Distributing Parts【平衡树,贪心】
- Computer Vision Review Incompletely
- OSPF的虚链路配置
- geotools绘制椭圆API
- vbs获取程序窗体句柄_VBS调用windows api函数(postmessage)实现后台发送按键脚本...
- 聊一聊2D地图的迷雾效果
- Object-c 内存管理
- html 数据库 留言板,使用html5本地数据库留言本代码分享
- Tomcat下载安装及配置
- python数组冒号使用_python矩阵冒号
- 从头开始训练一个依存分析器
- 字节跳动岗位薪酬体系曝光,看完感叹:不服不行,想高薪还得是学这个。。。。