最简单解释 YUV444,YUV422,YUV420中的4,2,0
来源:互联网 发布:php调用父类构造函数 编辑:程序博客网 时间:2024/06/10 17:30
通常我们用RGB表示一种彩色。计算机系统里的LCD显示的数据就是RGB来表示每个像素的颜色。
而在我们生活里,有黑白电视机与彩色电视机两种,拍摄节目源时不可以用两种不同的摄像机来存放两种图像数据。
所以为了兼容两种电视机,专家就引入YUV格式代替RGB,其中Y表示亮度, U和V表示色差。 黑白电视机只用Y信号, 而彩色电视机可由YUV转换成RGB再显示颜色。
通常我们所用的YUV格式是 ITU-R 的标准 , 也叫YCbCr.
YUV是由RGB格式的数据转换得来。
Y Y = 0.299 x R + 0.587 x G + 0.114 x B + 0 U Cb = -0.169 x R - 0.331 x G + 0.499 x B + 128 V Cr = 0.499 x R - 0.418 x G - 0.0813 x B + 128 Y Y = 0.299 x R + 0.587 x G + 0.114 x B + 0 U Cb = -0.169 x R - 0.331 x G + 0.499 x B + 128 V Cr = 0.499 x R - 0.418 x G - 0.0813 x B + 128
///////
YUV4:4:4
其实就是YUV的数据各占用8位, 每个像素都由YUV组成
同一行的相邻4个像素数据: Y0U0V0 Y1U1V1 Y2U2V2 Y3U3V3 存储时: Y0 U0 V0 Y1 U1 V1 Y2 U2 V2 Y3 U3 V3 //即每个像素YUV的数据都会存放起来为什么叫4:4:4 , 意思就是4个像素里的数据有4个Y, 4个U, 4个V
//////
YUV4:2:2
其实绝大部分相邻的两个像素,数据差异应不大。所以为了节点空间便于存储,丢失每个像素的部分数据。
专家研究表明我们人对亮度比较敏感,而对色彩不怎么敏感。所以每个像素的亮度Y数据是绝对不动的,而色差数据可以进行丢弃。
同一行的相邻4个像素数据: Y0U0V0 Y1U1V1 Y2U2V2 Y3U3V3 存储时: Y0 U0 Y1 V1 Y2 U2 Y3 V3 // 每两个相邻的像素, 一个丢弃V数据,一个丢弃U数据为什么叫4:2:2, 意思就是相邻的4个像素里有4个Y, 2个U, 2个V。 按上面存储的顺序也叫YUYV.但还原成RGB数据必须需要YUV, 像第一个像素只有Y0U0是没法还原的,这时只能用下一像素的V1数据。 还原时的YUV: [Y0U0V1] [Y1U0V1] [Y2U2V3] [Y3U2V3] //这样还原理论上会对图像的质量有影响的,但我们看不出来的.
/////
YUV4:2:0
专家们进一步研究表示,每一行的相邻两个像素与下一行同位置的两个像素数据差异不大,可以进一步的丢数据。
如两行的像素数据: Y00U00V00 Y01U01V01 Y02U02V02 Y03U03V03 .... Y88U88V88 Y89U89V89 Y90U90V90 Y91U91V91 ....存储时: Y00U00 Y01 Y02U02 Y03 //每个像素的Y数据保留, 两个像素数据只保留一个U数据。这一行不保留V数据(YUV: 420) Y88V88 Y89 Y90V90 Y91 // .... 两个像素数据只保留一个V数据, 这行不保留U数据(YUV: 402)还原时只能相同位置的上下两行4个像素结合还原: Y00U00V88 Y01U00V88 Y02U02V90 Y03U02V90 Y88U00V88 Y89U00V88 Y90U02V90 Y91U02V90
yuv数据还分成打包的,平面的。
打包的意思是: yuv数据是顺序存放Y,接着U,再接着V数据存放。
平面的意思是: yuv数据是分成三个地方存放, 一个地方只存Y数据, 一个只存U数据, 一个只存V数据
阅读全文
0 0
- 最简单解释 YUV444,YUV422,YUV420中的4,2,0
- YUV420 YUV422 YUV444
- YUV图解 (YUV444, YUV422, YUV420, YV12, NV12, NV21)
- YUV422/YUV420
- YUV420转YUV444
- YUV444转YUV420
- YUV420转YUV444
- YUV444与YUV422下采样
- YUV420转YUV444 , YUV420转RGB
- YUV420转YUV444 , YUV420转RGB
- YUV420转YUV444 , YUV420转RGB
- YUV420转YUV444 , YUV420转RGB
- YUV420转YUV444 , YUV420转RGB .
- YUV420、YUV422、RGB24转换
- YUV420、YUV422、RGB24转换
- YUV420、YUV422、RGB24转换
- YUV420、YUV422、RGB24转换
- YUV420、YUV422、RGB24转换
- 可扩展多线程异步Socket服务器框架EMTASS 2.0
- redis sentinel 主从切换方案
- PANDAS 数据合并与重塑(join/merge篇)
- lintcode--最小子串覆盖
- Python: NumPy中的多维数组ndarray
- 最简单解释 YUV444,YUV422,YUV420中的4,2,0
- Spark的累加变量
- 关于数据结构链表项目框架总结
- 【Scikit-Learn 中文文档】支持向量机
- 2017年囧事大全,全部真人真事
- arm汇编指令之数据块传输(LDM,STM)详见
- MySql WorkBench数据库备份与恢复
- Android 网络图片加载5种模式
- 分段函数