YUV 422,YUV 420,YUV 444

时间:2011-12-19 12:14:03

标签: c image-processing opencv yuv

我有例如4 * 4图像。我想分别提取Y,U和V组件。 如果图像是YUV 422,YUV 420和YUV444,该怎么做。 我有兴趣知道数组的结构如何在422,420和444中存储Y,U和V, 这样就可以访问了。

2 个答案:

答案 0 :(得分:15)

This网站为您提供了对不同YUV格式的非常好的概述。还有一个像素结构。

澄清:这些数字用于确定color component subsampling。例如YUV 444 = 4:4:4子采样,意味着三个分量(Y,U和V)中的每一个具有相同的采样率。而4:2:2表示U和V仅以Y的一半采样。或者,换句话说,如果深度为1字节,则分别为Y和U和V 1字节的2字节。这意味着Y可以具有更高的动态范围。

值得注意的是,JPEG标准定义了每种颜色分量的水平和垂直采样因子。人类视觉系统有20:1 ratio of the luma sensors (rods) to chroma sensors (cones)。出于这个原因,通常不会对发光度组件进行二次采样,但JPEG standard确实允许对这些内容进行编码。

答案 1 :(得分:1)

这是一个非常古老的问题,但是我刚刚完成了解码YUV的一些工作,我想分享一些信息。 YUV模式有三个主要方面:

  1. 如果源YUV缓冲区是打包缓冲区或平面缓冲区。打包的意思 YUV位被分组为平面,平面意味着Y,U和V. 缓冲区分为3个不同的内存区域。

  2. YUV频道大小;单个Y,U,V通道可以是8位,10位,12位等。

  3. 采样率; A:B:C。 4:2:2表示您为每个像素水平地具有1个Y值,并且在两个neightboard像素之间共享一个仅U和V值。

  4. 我刚刚参与YUV 4:2:2 v210解码,在此link之后,有一个要解码的GLSL源代码和我引用的资源。欢迎提出任何建议,这是我的第一个解码器。