色度抽样

来源:互联网 发布:递归算法java1到100 编辑:程序博客网 时间:2024/06/09 13:36

简介编辑

在数字图像处理领域中,色度抽样是指在表示图像时使用较亮度信息低的分辨率来表示色彩(色度)信息。当对模拟分量视频或者YUV信号进行数字抽样时,一般会用到色度抽样。
由于人眼对色度的敏感度不及对亮度的敏感度,图像的色度分量不需要有和亮度分量相同的清晰度,所以许多视频系统在色差通道上进行较低(相对亮度通道)清晰度(例如,抽样频率)的抽样。这样在不明显降低画面质量的同时降低了视频信号的总带宽。因抽样而丢失的色度值用内插值,或者前一色度值来替代。
视频系统的抽样率通常用一个三分比值表示。第一个值是亮度(Y)分量样本的数量,后两个值是两个色彩(“色度”)分量样本的数量:U/Cb分量在前,V/Cr分量在后。在比较图像质量时,这三个值之间的比值才是重要的,所以4:4:4可以简化为1:1:1;但是习惯上亮度样本的数量值总为4,其他两个值依此类推。

分类编辑

4

三个通道的抽样率相同,因此在生成的图像里,每个象素的三个分量信息完整(每个分量通常8比特或10比特),经过8比特量化之后,未经压缩的每个象素3个字节。
映射:
码流
Y0 U0 V0 Y1 U1 V1 Y2 U2 V2 Y3 U3 V3
将被映射为下面的四个像素:
[Y0 U0 V0] [Y1 U1 V1] [Y2 U2 V2] [Y3 U3 V3]
这是最好的色度抽样比率(实际上它完整的表示了原先的色度信息),作为一种中间格式,它被用在高端的底片扫描仪和影片后期处理上。需要注意的是,有时候4:4:4(就像在HDCAM SR的某些模式中那样)也表示在RGB色度空间中,每个分量都采用相同的抽样频率。

2

每个色差通道的抽样率是亮度通道的一半,所以水平方向的色度抽样率只是4:4:4的一半。对非压缩的8比特量化的视频来说,每个由两个水平方向相邻的像素组成的宏像素需要占用4字节内存。
映射:
码流
Y0 U0 Y1 V1 Y2 U2 Y3 V3
将被映射为下面的四个像素:
[Y0 U0 V1] [Y1 U0 V1] [Y2 U2 V3] [Y3 U2 V3]
4:2:2仍旧是质量相当高的色度抽样方法,大多数高端数字视频格式采用这一比率,如:
数码 Betacam
DVCPRO50
D-9
CCIR 601 / 串行数字接口(Serial Digital Interface) / D1

1

4:1:1的色度抽样,是在水平方向上对色度进行4:1抽样。对于低端用户和消费类产品这仍然是可以接受的。对非压缩的8比特量化的视频来说,每个由4个水平方向相邻的像素组成的宏像素需要占用6字节内存。
映射:
码流
Y0 U0 Y1 Y2 V2 Y3
将被映射为下面的四个像素:
[Y0 U0 V2] [Y1 U0 V2] [Y2 U0 V2] [Y3 U0 V2]
使用4:1:1色度抽样的包括:
DVCPRO
NTSC DV and DVCAM
D-7

0

4:2:0并不意味着只有Y,Cb而没有Cr分量。它指得是对每行扫描线来说,只有一种色度分量以2:1的抽样率存储。相邻的扫描行存储不同的色度分量,也就是说,如果一行是4:2:0的话,下一行就是4:0:2,再下一行是4:2:0...以此类推。对每个色度分量来说,水平方向和竖直方向的抽样率都是2:1,所以可以说色度的抽样率是4:1。PAL制式和SECAM制式的色彩系统特别适合于用这种方式来存储。绝大多数视频编解码器都采用这种格式作为标准的输入格式。对非压缩的8比特量化的视频来说,每个由2x2个2行2列相邻的像素组成的宏像素需要占用6字节内存。
映射:
码流
Yo0 Uo0 Yo1 Yo2 Uo2 Yo3
Ye0 Ve0 Ye1 Ye2 Ve2 Ye3
将被映射为下面的两行各四个像素:
[Yo0 Uo0 Ve0] [Yo1 Uo0 Ve0] [Yo2 Uo2 Ve2] [Yo3 Uo2 Ve2]
[Ye0 Uo0 Ve0] [Ye1 Uo0 Ve0] [Ye2 Uo2 Ve2] [Ye3 Uo2 Ve2]
使用这种方法的质量很接近于 4:1:1, 通常应用于下面的格式:
DVD 和其他 MPEG-2 的 Main Profile 的实现
PAL DV 和 DVCAM
常见的 JPEG格式和 MJPEG 格式

0

这种格式虽然是存在的( 也确实有些编解码器支持这种格式),但是并没有得到广泛的应用,因为它在色度方面的清晰度比传统的VHS录像带还要差。这种方法对水平方向进行4:1的色度抽样,对竖直方向进行2:1的色度抽样。比起4:4:4,它的色度数据量仅仅是1/8大小。对非压缩的8比特量化的视频来说,每个由4x2个2行4列相邻的像素组成的宏像素需要占用10字节内存。
映射:
码流
Yo0 Uo0 Yo1 Yo2 Yo3
Ye0 Ve0 Ye1 Ye2 Ye3
将被映射为下面的两行各四个像素:
[Yo0 Uo0 Ve0] [Yo1 Uo0 Ve0] [Yo2 Uo0 Ve0] [Yo3 Uo0 Ve0]
[Ye0 Uo0 Ve0] [Ye1 Uo0 Ve0] [Ye2 Uo0 Ve0] [Ye3 Uo0 Ve0]
0 0