图片像素(Pixel)
一张图片是由多少个 像素 构成的。
例如一张图片是由60x50组成的。
位深度 bit depth
RGB表示法
红 (R ed)、绿 (G reen)、蓝 (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(每秒播放多少个图片)