YUV摘要格式
始终保持视频数据YUV联系,因为基于其产品的组织不同的公司格不同的类型定义,派生出多种不同YUV格公式。
大体,YUV从在点的形式的像素组织中,有两个:1.planer状态。2.packet状态。
planar模式示例: Y0Y1....Yn U0U1...Um V0V1..Vm,YUV三个通道分别连续存储;
packet模式举例: Y0U0V0 + Y1U1V1 + ... + YnUnVn,YUV三个通道混合存储。
planar模式有利于编解码的输入输出;packet模式有利于视频数据採集输入与显示输出。
因为人眼对于色度不敏感,因此能够减少色度採样。这样能够减少处理数据量。也减少存储空间。
依据UV採样的不同,YUV格式又能够分为400。420,422,444等格式。
400 灰度数据,没有色度数据;
420 色度在水平和垂直两个方向上,採样率都减半。这样每相邻的4个Y公用一个U,V数据。U,V的数据量都为Y的1/4. (420这个名字起的很不好,令人产生误解,可是约定俗成就这个延续下来了。
)
422 色度在水平方向上採样率减半。这样每行相邻的2个Y公用一个U,V数据,U,V的数据量都为Y的1/2.
444 色度採样率和亮度一样。每一个Y都有各自的U,V数据,U,V的数据量都和Y同样。
还有种411格式。不经常使用,就不关注了。
一般称400用8bit来表征一个像素点。420是12比特,422是16比特,444是24比特。
用总的数据量/像素个数 就是这个比特数。比如420格式 总数据量是(w*h + w*h/4 + w*h/4)*8比特 = 12*w*h比特。
YUV经常使用格式
| 格式 | Mode | 通道 | 比特 | 演示样例 | |
| GRAY | Planar | 1 | 8 | 400. Y0Y1...Y15 | |
| I420 | Planar | 3 | 12 | 420. Y0Y1..Y15 U0U1U2U3 V0V1V2V3 * 经常使用 理解为YU12 | |
| IYUV | Planar | 3 | 12 | 同I420 | |
| YUV420P | Planar | 3 | 12 | 同I420 | |
| YUVJ420P | Planar | 3 | 12 | 同I420,不同的是色彩转换公式,YUVJ使用 JPEG 公式, 输出数据范围[0..255], I420的范围是 [16-240] | |
| YV12 | Planar | 3 | 12 | 420. Y0Y1..Y15 V0V1V2V3 U0U1U2U3 * 经常使用 非常多编解码器都用这个格式输入输出 | |
| YVU420P | Planar | 3 | 12 | 同YV12 | |
| NV12 | Planar | 2 | 12 | 420. Y0Y1..Y15 U0V0U1V1.....U3V3 *经常使用 | |
| NV21 | Planar | 2 | 12 | 420. Y0Y1..Y15 V0U0V1U1.....V3U3 | |
| YV16 | Planar | 3 | 16 | 422. Y0Y1..Y15 V0V1..V7 U0U1..U7 | |
| YUV422P | Planar | 3 | 16 | 同YV16 | |
| I422 | Planar | 3 | 16 | 同YV16 | |
| UYVY | Packed | 1 | 16 | 422. U0Y0V0Y1|U1Y2V1Y3|... | |
| Y422 | Packed | 1 | 16 | 同UYVY | |
| YUY2 | Packed | 1 | 16 | 422. Y0U0Y1V0|Y2U1Y3V1|... *非常多摄像机的输出格式 | |
| YUV422 | Packed | 1 | 16 | 同YUY2 | |
| YUYV | Packed | 1 | 16 | 同YUY2 | |
| YVYU | Packed | 1 | 16 | 422. Y0V0Y1U0|Y2V1Y3U1|... | |
| YU16 | Planar | 3 | 16 | 422. Y0Y1..Y15 U0U1..U7 V0V1..V7 | |
| NV16 | Planar | 2 | 16 | 422. Y0Y1..Y15 U0V0U1V1..U7V7 | |
| YV24 | Planar | 3 | 24 | 444. Y0Y1..Y15 V0V1..V15 U0U1..U15 | |
| I444 | Planar | 3 | 24 | 同YV24 | |
| IYU2 | Packed | 1 | 24 | 444. U0Y0V0|U1Y1V1|... |
參考:
http://www.fourcc.org/yuv.php
http://www.cnblogs.com/azraelly/archive/2013/01/01/2841269.html
版权声明:本文博主原创文章,博客,未经同意不得转载。
YUV摘要格式的更多相关文章
- YUV视频格式详解(翻译自微软文档)
原文: https://docs.microsoft.com/en-us/previous-versions/aa904813(v=vs.80) YUV视频格式详解(翻译自微软文档)https://b ...
- YUV / RGB 格式及快速转换算法
1 前言 自然界的颜色千变万化,为了给颜色一个量化的衡量标准,就需要建立色彩空间模型来描述各种各样的颜色,由于人对色彩的感知是一个复杂的生理和心理联合作用 的过程,所以在不同的应用领域中为了更好更准确 ...
- Android 音视频编解码——YUV视频格式详解
一.YUV 介绍 YUV是一种颜色编码方方式,通常由彩色摄像机进行取像,然后把取得的彩色图像信号经过分色.分别放大校正后得到RGB,再经过矩阵变换得到亮度信号Y和两个色差信号B-Y(即U).R-Y(即 ...
- 音视频编解码——YUV视频格式详解
一.YUV 介绍 YUV是一种颜色编码方方式,通常由彩色摄像机进行取像,然后把取得的彩色图像信号经过分色.分别放大校正后得到RGB,再经过矩阵变换得到亮度信号Y和两个色差信号B-Y(即U).R-Y(即 ...
- 音视频编解码: YUV采样格式中的YUV444,YUV422,YUV420理解
YUV各种采样格式的说明 通常我们用RGB表示一种彩色.计算机系统里的LCD显示的数据就是RGB来表示每个像素的颜色.而在我们生活里,有黑白电视机与彩色电视机两种,拍摄节目源时不可以用两种不同的摄像机 ...
- YUV RGB 格式转换
第一个公式是RGB转YUV(范围0-255)时用的,第二个公式是用在YUV转换RGB(范围0-255)时用的.1. Y = ; U = -; V = ; 黑色:Y=16 ,U= V =128 红色:Y ...
- YUV格式介绍
原文链接:http://www.cnblogs.com/azraelly/archive/2013/01/01/2841269.html YUV格式有两大类:planar和packed.对于plana ...
- 【Android】直播必备之YUV使用总结 —— Android常用的几种格式:NV21/NV12/YV12/YUV420P的区别
说明 因工作方面接触到图像处理这一块,需要对手机摄像头采集的原始帧做Rotate或者Scale,但无奈对此的了解少之又少,于是网上搜了一顿,完事后将最近所学总结一下,以方便之后的人别踩太多坑. 首先想 ...
- 关于yuv格式
首先,内存分布 1:YUV420 (1):I420: YYYYYYYY UU VV =>YUV420P (2): ...
随机推荐
- Coreseek:indexer crashed不解之谜
前两天浩哥让我再把Coreseek的索引再做一次,由于需求那边有点变化,要把索引的公司名字显示出来,就在配置文件中面加入了sql_field_string:字符串字段.. 这个属性特别好用,由于它不仅 ...
- 重构ConditionHelper
在上一篇日志写了ConditionHelper的具体实现方法和它的用法,但那时只是把心里所想的一个思路用代码记录下来,而没有经过实践检 验的,难免存在一些问题,但在最近的一个新项目中用到Conditi ...
- Knockout应用开发指南 第八章:简单应用举例(2)
原文:Knockout应用开发指南 第八章:简单应用举例(2) 5 Control types 这个例子,对view model没有什么特殊的展示,只是展示如何绑定到各种元素上(例如,select ...
- sha1加密java代码
sha1 加密 java代码 public static String getSha1(String str){ if(str==null||str.length()==0){ return null ...
- 采用Bash脚本性能监控过程
为一个Linux过程监控,采用Bash脚本. 采用ps命令的过程监控,使用周期加上连续监测的睡眠时间. 使用方法: psmonitor.sh -p [pid] -d [interval] -n [st ...
- Mesos和kubernetes
Mesos和kubernetes http://dockone.io/article/956我坚定地认为,下一年里,它们的使用增长会更快,因此是时候回顾总结,为2016年做好准备了.本文我想讨论Mes ...
- 【Android】应用启动画面
几乎所有的Android应用程序都会有一个启动画面,展示自己的LOGO,本版信息,或者更人性化一点的,在很长的加载信息中,变换一些显示的文字等,让无聊的等待时间添加点调味剂. 具体实现来说,应该创建一 ...
- 编写高效的JavaScript
Web前端性能优化——编写高效的JavaScript 前言 随着计算机的发展,Web富应用时代的到来,Web 2.0早已不再是用div+css高质量还原设计的时代.自Gmail网页版邮件服务的问世 ...
- MySQL的create table as 与 like区别(转)
对于mysql的复制相同表结构方法,有create table as 和create table like 两种,区别是什么呢? create table t2 as select * from t1 ...
- 【原创】leetCodeOj --- Repeated DNA Sequences 解题报告
原题地址: https://oj.leetcode.com/problems/repeated-dna-sequences/ 题目内容: All DNA is composed of a series ...