音视频入门基础——笔记( 二 )


[ R G B ][ R G B ][ R G B ][ R G B ][ R G B ][ R G B ][ R G B ][ R G B ]
【音视频入门基础——笔记】以上只是示意图,实际 R、G、B 顺序可能与图中不同 。
存储模式
使用 24 位来表示一个像素,每个分量都用 8 位表示 。其示意图跟示意图类似 。
存储模式
使用 32 位来表示一个像素,R、G、B 都用 8 位表示,另外 A(Alpha)表示透明度,也用 8 位表示 。
[ A R G B ][ A R G B ][ A R G B ][ A R G B ][ A R G B ][ A R G B ][ A R G B ][ A R G B ]
以上只是示意图,实际 A、R、G、B 顺序可能与图中不同 。
YUV色彩空间
YUV颜色空间是PAL、NTSC、SCEAM三大视频标准使用的颜色空间,主要应用于视频系统 。YUV色彩空间中,Y表示亮度信息,U和V表示色度(色调和饱和度)信息 。使用YUV色彩空间,后期出现的彩色电视系统和早期的黑白电视系统兼容,黑白电视机可以只处理彩色电信信号中的Y分量,而彩色电视机接收黑白电视信号并显示也没有任何问题 。
YUV颜色空间和RGB颜色空间可以根据公式相互转换 。
◆ RGB 转 YUV:
Y = 0.299R + 0.587G + 0.114B
U= -0.147R - 0.289G + 0.436B
V= 0.615R - 0.515G - 0.100B
◆ YUV 转 RGB:
R = Y + 1.14V
G = Y - 0.39U - 0.58V
B = Y + 2.03U
经常提到的还有YPbPr和YCbCr 。YPbPr指模拟分量信号(或接口),P()表示并行,b下标表示蓝,r下标表示红 。YCbCr指的是数字分量信号(或接口),C()表示色度 。YCbCr还可指色彩空间,YCbCr色彩空间是YUV色彩空间的缩放和偏移版本 。
YUV, YCbCr, YPbPr所指涉的范围,常有混淆或重叠的情况 。从历史的演变来说,其中YUV和Y'UV通常用来编码电视的模拟信号,而YCbCr则是用来描述数字的视频信号,适合影片与图片压缩以及传输,例如MPEG、JPEG 。但在现今,YUV通常已经在计算机系统上广泛使用 。
YUV存储格式分成三大类:
:将Y、U、V分量交织存放在一起,和RGB的存放方式类似 。内存中排列形式类似:... 。在具体的存储模式命名中,格式不带后缀P 。
:将Y、U、V的三个分量分别存放在不同的矩阵(平面)中 。内存中排列形式类似:...,...,... 。在具体的存储模式命名中,格式带后缀P 。
semi-:将Y、U、V三个分量放在两个矩阵(平面)中 。Y占用一个平面,UV共用一个平面 。内存中排列形式类似:...,... 。在具体的存储模式命名中,semi-格式带后缀SP 。
YUV图像存储模式与采样方式密切相关 。主流的采样方式有三种,YUV4:4:4,YUV4:2:2,YUV4:2:0 。这些采样方式,不压缩Y分量,对UV分量的压缩程度不同,这是由人眼的特性决定的,人眼对亮度Y更敏感,对色度UV没有那么敏感,压缩UV分量可以降低数据量,但并不会人眼主观感觉造成太大影响 。
采样方式YUV4:4:4
相邻的4个像素里有4个Y、4个U、4个V 。每1个Y使用1组UV分量 。如下(每个[]为一个像素点):
[ Y U V ] [ Y U V ] [ Y U V ] [ Y U V ]
[ Y U V ] [ Y U V ] [ Y U V ] [ Y U V ]
[ Y U V ] [ Y U V ] [ Y U V ] [ Y U V ]
[ Y U V ] [ Y U V ] [ Y U V ] [ Y U V ]
在这种采样方式下,一个像素点包含的完整的信息 。
采样方式YUV4:2:2
相邻的4个像素里有4个Y、2个U、2个V 。每2个Y共用1组UV分量 。平均算来,一个像素占用的数据宽度为16b,其中Y占8b,U占4b,V占4b 。后面存储模式命名中的数字16指的就是16b 。
[ Y U ] [ Y V ] [ Y U ] [ Y V ]
[ Y V ] [ Y U ] [ Y V ] [ Y U ]
[ Y U ] [ Y V ] [ Y U ] [ Y V ]
[ Y V ] [ Y U ] [ Y V ] [ Y U ]
在这种采样方式下,还原出一个像素点,需要相邻的两个像素点数据,如下: