像素(Pixel)
-
定义:图像的最小单元,是一个颜色点。
-
图像分辨率 = 水平像素数 × 垂直像素数,例如:
1920×1080
表示宽 1920、高 1080,总共约 207 万像素。
-
每个像素可以包含:
- 灰度图:一个亮度值(Y)
- 彩色图:R、G、B(或 Y、Cb、Cr)
- 有透明度时:还包括 Alpha 通道(A)
位深(Bit Depth)
-
定义:每个通道用于存储颜色值的位数。
-
常见位深:
位深 每通道色彩等级 用途 8-bit 256 等级(2⁸) 最常见,视频压缩标准默认 10-bit 1024 等级(2¹⁰) HDR 视频、专业视频处理 12-bit 4096 等级(2¹²) 高动态范围、电影制作 16-bit 65536 等级(2¹⁶) 医学图像、科学计算等
示例:
- 8-bit RGB:每个像素使用 8 × 3 = 24 bits(即 3 字节);
- 10-bit YUV420:Y 用 10 位,U/V 通道也用 10 位,但是按 4:2:0 采样,整体压缩更高。
像素格式(Pixel Format)
在 FFmpeg / 视频编码中,"像素格式" 表示图像的颜色空间 + 位深 + 采样方式。
像素格式 | 位深 | 色彩空间 | 采样方式 | 总体说明 |
---|---|---|---|---|
yuv420p |
8-bit | YUV | 4:2:0 | 最常见,8-bit 标清/高清视频 |
yuv420p10le |
10-bit | YUV | 4:2:0 | H.265/ProRes 支持,HDR 视频 |
rgb24 |
8-bit | RGB | 无 | 每像素 3 字节,常用于图像处理 |
gray |
8-bit | 灰度 | 无 | 单通道,适用于黑白摄像头 |
yuv422p |
8-bit | YUV | 4:2:2 | 高清广播、部分相机使用 |
yuv444p10le |
10-bit | YUV | 4:4:4 | 无色度压缩,颜色最保真 |
"le" 表示 little endian(小端序),多见于 x86 平台。
像素与位深的存储空间关系
举例说明:
1920×1080 yuv420p 8bit
:
- Y 分量:1920×1080 × 8bit = ~2.07 Mb
- U 分量:960×540 × 8bit = ~0.26 Mb
- V 分量:960×540 × 8bit = ~0.26 Mb
- 总体大小 ≈ 2.6 MB/帧
1920×1080 yuv420p10le
:
- 每通道 10bit,用 16bit 对齐存储(占用 2 字节)
- 总大小 ≈ 2 倍 8-bit,约 5.2 MB/帧
影响
项目 | 影响 |
---|---|
编码压缩效率 | 位深越高越难压缩,码率也更高 |
色彩精度 | 位深越高,颜色过渡越平滑,避免色带(banding) |
HDR 支持 | 需要至少 10-bit 才能支持 HDR10、Dolby Vision 等 |
GPU 加速解码 | GPU 对特定位深格式支持有限,如 10-bit 需要特定显卡 |
文件大小 | 位深越高,文件体积越大 |
YUV与RGB
对比
格式 | 颜色空间 | 采样结构 | 每像素通道数 | 每像素颜色值来源 |
---|---|---|---|---|
RGB | R, G, B | 每像素独立 R、G、B | 3 | 每像素完整色彩值 |
YUV420 | Y, U, V | 4:2:0 色度子采样 | 1(Y)+ 0.25(U)+ 0.25(V) | 平均每像素有 1.5 通道值 |
计算方法
RGB24(8-bit RGB,每通道8bit)
每像素:
python
8bit(R) + 8bit(G) + 8bit(B) = 24 bits = 3 bytes
YUV420P(4:2:0 采样)
每 2×2 像素共用 1 个 U + 1 个 V,Y 每像素都有:
分量 | 分辨率 | 占比 |
---|---|---|
Y | W × H | 100% |
U | W/2 × H/2 | 25% |
V | W/2 × H/2 | 25% |
合计:
vbnet
Y: 1 byte × W × H
U: 0.25 byte × W × H
V: 0.25 byte × W × H
总计 ≈ 1.5 byte × W × H
不同位深时存储量对比(以 1920×1080 为例)
格式 | 位深 | 每像素大小 | 总帧大小 ≈ |
---|---|---|---|
RGB24 | 8 | 3 bytes | 1920×1080×3 = ~5.93 MB |
RGB30 | 10 | 4 bytes(对齐) | 1920×1080×4 = ~7.91 MB |
YUV420P | 8 | 1.5 bytes | 1920×1080×1.5 = ~2.96 MB |
YUV420P10 | 10 | 2 bytes(对齐) × 1.5 = 3 bytes | 1920×1080×3 = ~5.93 MB |
🔸 注意:10-bit 视频通常使用 16-bit 对齐(即每通道 2 字节)存储。
转换影响
从 RGB ➜ YUV420:
- 颜色有损失,特别是高频色彩细节;
- 视频压缩比更高,适合编码;
- 通常用于图像转码、摄像头采集。
从 YUV420 ➜ RGB:
- 还原近似颜色;
- 解码时自动完成重建,但不能完全恢复原始 RGB 细节。
总结
属性 | 像素(Pixel) | 位深(Bit Depth) |
---|---|---|
含义 | 图像的最小单元 | 每个颜色通道的位数 |
单位 | 个 | bit(比特) |
控制什么 | 图像/视频尺寸 | 每像素能表示的颜色精度 |
示例 | 1920×1080 | 8-bit、10-bit、12-bit |
相关术语 | 分辨率、采样率、像素格式 | 色彩深度、HDR、采样位宽 |