图片像素(Pixel)
一张图片是由多少个 像素 构成的。
例如一张图片是由60x50组成的。
位深度 bit depth
RGB表示法
红(Red)、绿(Green)、蓝(Blue)
除了24bit,常见的位深度还有:
- 1bit:2种颜色,黑白两色
- 3bit:8种颜色,用于大部分早期的电脑显示器,红绿蓝各占1位
- 8bit:256种颜色,用于最早期的彩色Unix工作站,红色占3位、绿色占3位、蓝色占2位
- 16bit:红色占5位、蓝色占5位、绿色占6位
-
24bit:也被称为是:真彩色(True Color),也就是常说的24位真彩
- 32bit:基于24位,增加8个位的透明通道
- 可以表示带有透明度的颜色
- 比如CSS中的rgba(255, 0, 0, 0.5)表示50%透明度的红色
YUV 表示法:
Y、U、V三个分量组成,现在通常说的YUV指的是YCbCr。
- Y:表示亮度(Luminance、Luma),占8bit(1字节)
-
Cb、Cr:表示色度(Chrominance、Chroma)
- Cb(U):蓝色色度分量,占8bit(1字节)
- Cr(V):红色色度分量,占8bit(1字节)
YUV和RGB 比较:体积更小
YUV的优势是比 RGB拥有更小的体积
- 如果使用RGB
- 比如RGB888(R、G、B每个分量都是8bit)
- 1个像素占用24bit(3字节)
- 如果使用YUV
- 1个像素可以减小至平均只占用12bit(1.5字节)
- 体积为RGB888的一半
YUV 的采样格式
采样格式通常用A:B:C的形式来表示,比如4:4:4、4:2:2、4:2:0等,其中我们最需要关注的是4:2:0。
YUV 的存储格式
YUV的存储格式可以分为3大类:
-
Planar(平面)
- Y、U、V分量分开单独存储
- 名称通常以字母p结尾
-
Semi-Planar(半平面)
- Y分量单独存储,U、V分量交错存储
- 名称通常以字母sp结尾
-
Packed(紧凑)
- 或者叫Interleaved (交错)
- Y、U、V分量交错存储
YUV 的常用类型,结合采样格式和存储格式
4:4:4
- I444
Y Y Y Y
Y Y Y Y
U U U U
U U U U
V V V V
V V V V
- YV24
Y Y Y Y
Y Y Y Y
V V V V
V V V V
U U U U
U U U U
- NV24
Y Y Y Y
Y Y Y Y
U V U V U V U V
U V U V U V U V
- NV42
Y Y Y Y
Y Y Y Y
V U V U V U V U
V U V U V U V U
4:2:2
- I422
Y Y Y Y
Y Y Y Y
U U
U U
V V
V V
- YV16
Y Y Y Y
Y Y Y Y
V V
V V
U U
U U
- NV16
Y Y Y Y
Y Y Y Y
U V U V
U V U V
- NV61
Y Y Y Y
Y Y Y Y
V U V U
V U V U
- UYVY
U Y V Y U Y V Y
U Y V Y U Y V Y
- YUYV
Y U Y V Y U Y V
Y U Y V Y U Y V
- YVYU
Y V Y U Y V Y U
Y V Y U Y V Y U
4:2:0
I420 (YUV420P)
- 大多数视频解码器以I420格式输出原始图片
Y Y Y Y
Y Y Y Y
U U
V V
- YV12
Y Y Y Y
Y Y Y Y
V V
U U
- NV12
Y Y Y Y
Y Y Y Y
U V U V
- NV21
Y Y Y Y
Y Y Y Y
V U V U
总结
图片有2个要素,视频有3个要素。
像素,RGB/YUV类型,fps(每秒播放多少个图片)