YUV 422,YUV 420,YUV 444

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

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

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

值得注意的是,JPEG标准定义了每种颜色分量的水平和垂直采样因子。 人类视觉系统具有20:1的亮度传感器(杆)与色度传感器(锥体)的比率 。 出于这个原因,通常不对发光度分量进行二次采样,但JPEG标准确实允许对这样的内容进行编码。

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

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

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

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

我刚刚开始使用YUV 4:2:2 v210解码,在这个链接之后有一个要解码的GLSL源代码和我提到的资源。 欢迎任何建议,这是我的第一个解码器。