YUV444与YUV422下采样。

一、YUV介绍

YUV有三个分量:Y(Luminance/Luma:亮度)、U和V表示色差,体现的是图片的色彩信息。相对于RGB彩色空间,将亮度信息和色彩信息分离。这种编码模式也更加适应于人眼,据研究表明,人眼对亮度信息比色彩信息更加敏感。而YUV下采样就是根据人眼的特点,将人眼相对不敏感的色彩信息进行压缩采样,得到相对小的文件进行播放和传输。
与YUV相像YCbCr其实与其有少许不同,体现在参数的大小上,本质上都是将亮度信息与色彩信息相分开。

二、采集方式

YUV有三种采集方式,分别是4:4:4采样、4:2:2采样和4:2:0采样。

4:4:4采样:每一个Y对应一个U和一个V。大小为3*width*height(width和height是一帧的大小)。

4:2:2采样:每两个Y共用一对U和V。大小为2*width*height(其中U分量和V分量各占1/2个帧大小)。

4:2:0采样:每四个Y共用一对U和V。大小为3/2*width*height(其中U分量和V分量各站1/4个帧大小)。

三、存储格式

(一)平面格式与打包格式

YUV有打包格式(packed)和平面格式(planar)两种。
打包格式:将YUV三个分量放在同一个数组中,通常是几个相邻像素组成一个宏像素。例如YUV422中的YUVY(存储顺序为Y1->Cb->Y2->Cr)。
 
平面格式:使用三个数组分开存放YUV三个分量(每一帧)。其中YUV444p、YUV422p、YUV420p和YUV420sp使用的都是这种存储方式,格式末尾的p代表平面模式。下图是YUV422p。
 

(二)各种格式

1、YUV444

(1)YUV444p:YYYYYYYYY VVVVVVVVV UUUUUUUU

2、YUV422

(1)YUV422p:YYYYYYYY VVVV UUUU
(2)YUVY:YCbYCr YCbYCr YCbYCr
(3)UYVY:CbYCrYCbYCrYCbYCrY

3、YUV420

(1)YUV420p:
YV12:YYYYYYYY VV UU
I420:YYYYYYYY UU VV
(2)YUV420sp:
NV12:YYYYYYYY UVUV
NV21:YYYYYYYY VUVU

YUV介绍的更多相关文章

  1. Android 音视频编解码——YUV视频格式详解

    一.YUV 介绍 YUV是一种颜色编码方方式,通常由彩色摄像机进行取像,然后把取得的彩色图像信号经过分色.分别放大校正后得到RGB,再经过矩阵变换得到亮度信号Y和两个色差信号B-Y(即U).R-Y(即 ...

  2. 音视频编解码——YUV视频格式详解

    一.YUV 介绍 YUV是一种颜色编码方方式,通常由彩色摄像机进行取像,然后把取得的彩色图像信号经过分色.分别放大校正后得到RGB,再经过矩阵变换得到亮度信号Y和两个色差信号B-Y(即U).R-Y(即 ...

  3. 图像YUV格式介绍

    图像YUV格式介绍   1 YUV格式简介 YUV格式,与我们熟知的RGB类似,YUV也是一种颜色编码方法,主要用于电视系统以及模拟视频领域,它将亮度信息(Y)与色彩信息(UV)分离,没有UV信息一样 ...

  4. 80.YCrCb - YUV - RGB之间的介绍

    一,引言 YUV(亦称YCrCb)是被欧洲电视系统所采用的一种颜色编码方法(属于PAL).YUV主要用于优化彩色视频信号的传输,使其向后兼容老式黑白电视.与RGB视频信号传输相比,它最大的优点在于只需 ...

  5. 音视频处理基础知识扫盲:数字视频YUV像素表示法以及视频帧和编解码概念介绍

    专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt+moviepy音视频剪辑实战 专栏:PyQt入门学习 老猿Python博文目录 老猿学5G博文目录 一. ...

  6. YUV格式介绍

    原文链接:http://www.cnblogs.com/azraelly/archive/2013/01/01/2841269.html YUV格式有两大类:planar和packed.对于plana ...

  7. 像素数据YUV简介与觉存储格式介绍

    主要学习链接:博客园.51CTO 前言 照例是先废话几句,下面的内容都是在学习时从网上找来的,并非我原创,我之所以要写这篇笔记是因为网的内容都很分散,找的时候要从各个地方看,很不方便,所以就自己总结了 ...

  8. 图像视频编码和FFmpeg(2)-----YUV格式介绍和应用

    本文不讲FFmpeg,而是讲YUV图像格式.因为摄像头拍摄出来的原始图像一般都是YUV格式.在FFmpeg中,视频是通过多张YUV图像而得到. YUV图像格式是什么,这个可以看一下维基百科.这个超链接 ...

  9. RGB、YUV和YCbCr介绍【转】

    RGB: 就是常说的红(Red).绿(Green)和蓝(Blue),每个图像的像素点由RGB三个通道的值组成. YUV和YCbCr: YUV与RGB的转换: Y'= 0.299*R' + 0.587* ...

随机推荐

  1. vue-cli的使用(模板自定义、本地配置,eslint的配置)

    vue-cli(脚手架工具:帮助开发者完成基本的代码编写). 功能: 目录结构 本地调试 代码部署 热加载 单元测试 使用模板: vue init <template-name> < ...

  2. wxPython制作跑monkey工具(python3)-带事件百分比显示界面

    一. wxPython制作跑monkey工具(python3)-带事件百分比显示界面  源代码 Run Monkey.py #!/usr/bin/env python import wx import ...

  3. Django的forms表单组件批量设置字段样式

    from django import forms from . import models class UserInfoModelForms(forms.ModelForm): class Meta: ...

  4. intellij idea解除svn关联

    有时候项目需要解除svn关联,百度谷歌几篇,以下方式是最简单快捷的. 从.idea文件夹下手,找到了cvs.xml,其内容如下: <?xml version="1.0" en ...

  5. Android应用程序启动过程

    有没有想过,当我们点击桌面应用程序图标是怎样打开APP启动应用程序的呢? 当我们点击应用图标会调用Launcher的startActivitySafely()方法,方法实现如下,其实是调用的start ...

  6. 什么是BFC

    对css有了解的朋友肯定都知道盒式模型这个概念,对一个元素设置css,首先需要知道这个元素是block还是inline类型.而BFC就是用来格式化块级盒子,同样管理inline类型的盒子还有IFC,以 ...

  7. npm install详解

    package.json中dependencies和devDependencies的部分都会被安装,区别在于前者用于生产环境,后者用于开发环境-g 表示全局安装,通常用于安装脚手架等工具–save(- ...

  8. conts、var 、let的区别

    1.const定义的变量不可以直接修改,通过 this.a = 'kkk' 进行修改, 而且必须初始化. 2.var定义的变量可以修改,如果不初始化会输出undefined 3.let是块级作用域,函 ...

  9. PyCharm设置仿sublime配色__Py版本2018.3.5

    效果图: 导出settings 模板为: 1.https://files.cnblogs.com/files/xier/PyCharm_settings.zip 2.https://files.cnb ...

  10. 引擎设计跟踪(九.14.3) deferred shading 准备

    目前做的一些准备工作 1.depth prepass for forward shading. 做depth prepass的原因是为了完善渲染流程, 虽然架构上支持多个pass, 但实际上从来没有测 ...