YUV格式详解

上传人:豆浆 文档编号:2057869 上传时间:2017-07-19 格式:DOC 页数:8 大小:44.50KB
返回 下载 相关 举报
YUV格式详解_第1页
第1页 / 共8页
YUV格式详解_第2页
第2页 / 共8页
YUV格式详解_第3页
第3页 / 共8页
YUV格式详解_第4页
第4页 / 共8页
YUV格式详解_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《YUV格式详解》由会员分享,可在线阅读,更多相关《YUV格式详解(8页珍藏版)》请在金锄头文库上搜索。

1、概述YUV(亦称 YCrCb)是被欧洲电视系统所采用的一种颜编码方法(属于PAL),是 PAL 和 SECAM 模拟彩电视制式采用的颜空间。其中的 Y,U,V 几个字母不是英文单词的组合词,Y 代表亮度,uv 代表差,u 和 v 是构成彩的两个分量。在现代彩电视系统中,通常采用三管彩摄影机或彩 CCD 摄影机进行取像,然后把取得的彩像信号经分、分别放大校正后得到 RGB,再经过矩阵变换电路得到亮度信号 Y 和两个差信号 RY(即 U)、BY(即V),最后发送端将亮度和差三个信号分别进行编码,用同一信道发送出去。这种彩的表示方法就是所谓的 YUV 彩空间表示。采用 YUV 彩空间的重要性是它的亮

2、度信号 Y 和度信号 U、V 是分离的。如果只有 Y 信号分量而没有U、V 信号分量,那么这样表示的像就是黑白灰度像。彩电视采用 YUV 空间正是为了用亮度信号 Y 解决彩电视机与黑白电视机的相容问题,使黑白电视机也能接收彩电视信号。优点作用YUV 主要用于优化彩视频信号的传输,使其向后相容老式黑白电视。与RGB 视频信号传输相比,它最大的优点在于只需占用极少的频宽(RGB 要求三个独立的视频信号同时传输)。其中“Y”表示明亮度(Luminance 或 Luma),也就是灰阶值;而“U”和“V” 表示的则是度(Chrominance 或 Chroma),作用是描述影像彩及饱和度,用于指定像素的

3、颜。“亮度”是透过 RGB 输入信号来建立的,方法是将 RGB 信号的特定部分叠加到一起。“度”则定义了颜的两个方面调与饱和度,分别用 Cr 和 CB 来表示。其中,Cr 反映了 GB输入信号红部分与 RGB 信号亮度值之间的差异。而 CB 反映的是 RGB 输入信号蓝部分与 RGB 信号亮度值之同的差异。 采用 YUV 彩空间的重要性是它的亮度信号 Y 和度信号 U、V 是分离的。如果只有 Y 信号分量而没有 U、V 分量,那么这样表示的像就是黑白灰度像。彩电视采用 YUV 空间正是为了用亮度信号 Y 解决彩电视机与黑白电视机的兼容问题,使黑白电视机也能接收彩电视信号。YUV 与 RGB 相

4、互转换的公式如下(RGB 取值范围均为 0-255) Y = 0.299R + 0.587G + 0.114B U = -0.147R - 0.289G + 0.436B V = 0.615R - 0.515G - 0.100B R = Y + 1.14V G = Y - 0.39U - 0.58V B = Y + 2.03U 在 DirectShow 中,常见的 RGB 格式有RGB1、RGB4、RGB8、RGB565、RGB555、RGB24、RGB32、ARGB32 等;常见的 YUV格式有YUY2、YUYV、YVYU、UYVY、AYUV、Y41P、Y411、Y211、IF09、IYUV

5、、YV12、YVU9、YUV411、YUV420 等。YUV 主要的采样格式主要的采样格式有 YCbCr 4:2:0、YCbCr 4:2:2、YCbCr 4:1:1 和 YCbCr 4:4:4。其中 YCbCr 4:1:1 比较常用,其含义为:每个点保存一个 8bit 的亮度值(也就是 Y 值),每 2x2 个点保存一个 Cr 和 Cb 值, 像在肉眼中的感觉不会起太大的变化。所以, 原来用 RGB(R,G,B 都是 8bit unsigned) 模型,4 个点需要 8x3=24 bites(如下第一个)。而现在仅需要 8+(8/4)+(8/4)=12bites, 平均每个点占 12bites

6、(如下第二个)。这样就把像的数据压缩了一半。 上边仅给出了理论上的示例,在实际数据存储中是有可能是不同的,下面给出几种具体的存储形式: (1) YUV 4:4:4 YUV 三个信道的抽样率相同,因此在生成的像里,每个象素的三个分量信息完整(每个分量通常 8 比特),经过 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(2) YUV 4:2:2每个差信道的抽样率是亮度信道的一半,所以水平方向的度抽样率只是 4:

7、4:4 的一半。对非压缩的 8 比特量化的像来说,每个由两个水平方向相邻的像素组成的宏像素需要占用 4 字节内存。下面的四个像素为:Y0 U0 V0 Y1 U1 V1 Y2 U2 V2 Y3 U3 V3 存放的码流为:Y0 U0 Y1 V1 Y2 U2 Y3 V3映射出像素点为:Y0 U0 V1 Y1 U0 V1 Y2 U2 V3 Y3 U2 V3(3) YUV 4:1:1所打哆嗦得到认为4:1:1 的度抽样,是在水平方向上对度进行 4:1 抽样。对于低端用户和消费类产品这仍然是可以接受的。对非压缩的 8 比特量化的视频来说,每个由 4 个水平方向相邻的像素组成的宏像素需要占用 6 字节内存。

8、下面的四个像素为: Y0 U0 V0 Y1 U1 V1 Y2 U2 V2 Y3 U3 V3 存放的码流为: Y0 U0 Y1 Y2 V2 Y3映射出像素点为:Y0 U0 V2 Y1 U0 V2 Y2 U0 V2 Y3 U0 V2(4)YUV4:2:04:2:0 并不意味着只有 Y,Cb 而没有 Cr 分量。它指得是对每行扫描线来说,只有一种度分量以 2:1 的抽样率存储。相邻的扫描行存储不同的度分量,也就是说,如果一行是 4:2:0 的话,下一行就是 4:0:2,再下一行是 4:2:0.以此类推。对每个度分量来说,水平方向和竖直方向的抽样率都是 2:1,所以可以说度的抽样率是 4:1。对非压缩

9、的 8 比特量化的视频来说,每个由 2x2个 2 行 2 列相邻的像素组成的宏像素需要占用 6 字节内存。下面八个像素为:Y0 U0 V0 Y1 U1 V1 Y2 U2 V2 Y3 U3 V3Y5 U5 V5 Y6 U6 V6 Y7U7 V7 Y8 U8 V8存放的码流为:Y0 U0 Y1 Y2 U2 Y3Y5 V5 Y6 Y7 V7 Y8映射出的像素点为:Y0 U0 V5 Y1 U0 V5 Y2 U2 V7 Y3 U2 V7Y5 U0 V5 Y6 U0 V5 Y7U2 V7 Y8 U2 V7各种 YUV 格式()YUV 格式通常有两大类:打包(packed)格式和平面(planar)格式。前

10、者将 YUV 分量存放在同一个数组中,通常是几个相邻的像素组成一个宏像素(macro-pixel);而后者使用三个数组分开存放 YUV 三个分量,就像是一个三维平面一样。表 2.3 中的 YUY2 到 Y211 都是打包格式,而 IF09 到 YVU9 都是平面格式。(注意:在介绍各种具体格式时,YUV 各分量都会带有下标,如Y0、U0、V0 表示第一个像素的 YUV 分量,Y1、U1、V1 表示第二个像素的 YUV 分量,以此类推。) YUY2(和 YUYV)格式为每个像素保留 Y 分量,而 UV 分量在水平方向上每两个像素采样一次。一个宏像素为 4 个字节,实际表示 2 个像素。(4:2:

11、2的意思为一个宏像素中有 4 个 Y 分量、2 个 U 分量和 2 个 V 分量。)像数据中 YUV 分量排列顺序如下:Y0 U0 Y1 V0 Y2 U2 Y3 V2 YVYU 格式跟 YUY2 类似,只是像数据中 YUV 分量的排列顺序有所不同:Y0 V0 Y1 U0 Y2 V2 Y3 U2 UYVY 格式跟 YUY2 类似,只是像数据中 YUV 分量的排列顺序有所不同:U0 Y0 V0 Y1 U2 Y2 V2 Y3 AYUV 格式带有一个 Alpha 通道,并且为每个像素都提取 YUV 分量,像数据格式如下:A0 Y0 U0 V0 A1 Y1 U1 V1 Y41P(和 Y411)格式为每个

12、像素保留 Y 分量,而 UV 分量在水平方向上每 4 个像素采样一次。一个宏像素为 12 个字节,实际表示 8 个像素。像数据中 YUV 分量排列顺序如下:U0 Y0 V0 Y1 U4 Y2 V4 Y3 Y4 Y5 Y6 Y8 Y211 格式在水平方向上 Y 分量每 2 个像素采样一次,而 UV 分量每 4 个像素采样一次。一个宏像素为 4 个字节,实际表示 4 个像素。像数据中 YUV分量排列顺序如下:Y0 U0 Y2 V0 Y4 U4 Y6 V4 YVU9 格式为每个像素都提取 Y 分量,而在 UV 分量的提取时,首先将像分成若干个 4 x 4 的宏块,然后每个宏块提取一个 U 分量和一个

13、 V 分量。像数据存储时,首先是整幅像的 Y 分量数组,然后就跟着 U 分量数组,以及V 分量数组。IF09 格式与 YVU9 类似。 IYUV 格式为每个像素都提取 Y 分量,而在 UV 分量的提取时,首先将像分成若干个 2 x 2 的宏块,然后每个宏块提取一个 U 分量和一个 V 分量。YV12 格式与 IYUV 类似。 YUV411、YUV420 格式多见于 DV 数据中,前者用于 NTSC 制,后者用于PAL 制。YUV411 为每个像素都提取 Y 分量,而 UV 分量在水平方向上每 4 个像素采样一次。YUV420 并非 V 分量采样为 0,而是跟 YUV411 相比,在水平方向上提

14、高一倍差采样频率,在垂直方向上以 U/V 间隔的方式减小一半差采样,如上所示。 Matlab 的 RGB 转换为 YCbCr 之后转换回来和原不符clc,clear;Source=imread(hl.jpg);%读入原始 RGB 像figure(1);subplot(1,2,1);imshow(Source):title(original image);%显示像r c d=size(Source);%计算像大小%-计算红分量并显示分解-%R(:,:,1)=Source(:,:,1);R(:,:,2)=zeros(r,c);R(:,:,3)=zeros(r,c);R=uint8(R);whos;

15、figure(2);subplot(1,3,1);imshow(R)title(Red Component);%-计算绿分量并显示分解-%G(:,:,2)=Source(:,:,2);G(:,:,1)=zeros(r,c);G(:,:,3)=zeros(r,c);G=uint8(G);figure(2);subplot(1,3,2);imshow(G)title(Green Component);%-计算蓝分量并显示分解-%B(:,:,3)=Source(:,:,3);B(:,:,1)=zeros(r,c);B(:,:,2)=zeros(r,c);B=uint8(B);figure(2);subplot(1,3,3)imshow(B)title(Blue Component); %-合成-%Comp(:,:,1)=R(:,:,1);Comp(:,:,2)=G(:,:,2);Comp(:,:,3)=B(:,:,3);figure(1);subplot(1,2,2);imshow(Comp):title(composition image);Y=0.229*R+0.587*G+0.114*B;Cb=0.5*B-0.1687*R-

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 电子/通信 > 综合/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号