4:4:4 格式,每像素 32 位 (单位像素占的字节数: (4+4+4)/4 = 3)
色度信号的分辨率和亮度信号的分辨率是相同的
FOURCC 码(Directshow:FOURCC 码是一个 32 位、不带正负号的整数,它是通过串联四个 ASCII 字符创建而成的,MAKEFOURCC('Y','U','Y','2');)为 AYUV。4:4:4 格式是一个打包格式,其中每个像素都被编码为四个连续字节,AYUV 内存布局组织顺序如下所示。(标记了 A 的字节包含 alpha 的值)。
Increasing Memory Addresses
------------------------------------------------------------------------------------->
| U0 | V0 | Y0 | A0 | | U1 | V1 | Y1 | A1 | | U2 | V2 | Y2 | A2 | ......
4:2:2 格式,每像素 16 位(单位像素占的字节数: (4+2+2)/4 = 2)
色度信号的扫描线数量和亮度信号一样多,但是每条扫描线上的色度采样点数却只有亮度信号的一半。
(1):YUY2
在 YUY2 格式中,数据可被视为一个不带正负号的 char 值组成的数组,其中第一个字节包含第一个 Y 样例,第二个字节包含第一个 U (Cb) 样例,第三个字节包含第二个 Y 样例,第四个字节包含第一个 V (Cr) 样例,YUY2 内存布局如下图 所示。如果该图像被看作由两个 little-endian WORD 值组成的数组,则第一个 WORD 在最低有效位 (LSB) 中包含 Y0,在最高有效位 (MSB) 中包含 U。第二个 WORD 在 LSB 中包含 Y1,在 MSB 中包含 V。
Increasing Memory Addresses
------------------------------------------------------------------------------------->
| Y0 | V0 | Y1 | V0 | | Y2 | U1 | Y3 | V1 | | Y4 | U2 | Y5 | V2 | ......
(2):UYVY
此格式与 YUY2 相同,只是字节顺序是与之相反的 — 就是说,色度字节和灯光字节是翻转的。如果该图像被看作由两个 little-endian WORD 值组成的数组,则第一个 WORD 在 LSB 中包含 U,在 MSB 中包含 Y0,第二个 WORD 在 LSB 中包含 V,在 MSB 中包含 Y1。UYVY 内存布局如下图 所示。
Increasing Memory Addresses
------------------------------------------------------------------------------------->
| U0 | Y0 | V0 | Y1 | | U1 | Y2 | V1 | Y3 | | U2 | Y4 | V2 | Y5 | ......
4:2:0 格式,每像素 16 位(单位像素占的字节数: (4+1+1)/4 = 1.5)
无论是横向还是纵向,色度信号的分辨率都只有亮度信号的一半
所有 Y 样例都会作为不带正负号的 char 值组成的数组首先显示在内存中。后面跟着所有 V (Cr) 样例,然后是所有 U (Cb) 样例。它也有两种存储格式。
(1)
Increasing Memory Addresses
------------------------------------------------------------------------------------->
| Y0 | Y1 | Y2 | Y3| ......
| U0 | U1 | ......
| V0 | V1 | ......
(2)
Increasing Memory Addresses
------------------------------------------------------------------------------------->
| Y0 | Y1 | Y2 | Y3| ......
| V0 | V1 | ......
| U0 | U1 | ......