Chinaunix首页 | 论坛 | 博客
  • 博客访问: 95641
  • 博文数量: 38
  • 博客积分: 1640
  • 博客等级: 上尉
  • 技术积分: 415
  • 用 户 组: 普通用户
  • 注册时间: 2009-09-25 08:02
文章分类

全部博文(38)

文章存档

2011年(5)

2010年(19)

2009年(14)

我的朋友

分类: C/C++

2010-04-27 16:36:36

YCbCr
  在DVD、摄像机、数字电视等消费类视频产品中,常用的色彩编码方案是YCbCr,其中Y是指亮度分量,Cb指蓝色色度分量,而Cr指红色色度分量。人的肉眼对视频的Y分量更敏感,因此在通过对色度分量进行子采样来减少色度分量后,肉眼将察觉不到的图像质量的变化。主要的子采样格式有 YCbCr 4:2:0、YCbCr 4:2:2 和 YCbCr 4:4:4。
  4:2:0表示每4个像素有4个亮度分量,2个色度分量 (YYYYCbCr),仅采样奇数扫描线,是便携式视频设备(MPEG-4)以及电视会议(H.263)最常用格式;4:2:2表示每4个像素有4个亮度分量,4个色度分量(YYYYCbCrCbCr),是DVD、数字电视、HDTV 以及其它消费类视频设备的最常用格式;4:4:4表示全像素点阵(YYYYCbCrCbCrCbCrCbCr),用于高质量视频应用、演播室以及专业视频产品。
  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(如下图第二个图)。这样就把图像的数据压缩了一半。
  上边仅给出了理论上的示例,在实际数据存储中是有可能是不同的,下面给出几种具体的存储形式:
  (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: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字节内存
  下面的四个像素为: [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:0
  4:2:0并不意味着只有Y,Cb而没有Cr分量。它指得是对每行扫描线来说,只有一种色度分量以2:1的抽样率存储。相邻的扫描行存储不同的色度分量,也就是说,如果一行是4:2:0的话,下一行就是4:0:2,再下一行是4:2:0...以此类推。对每个色度分量来说,水平方向和竖直方向的抽样率都是2:1,所以可以说色度的抽样率是4:1。对非压缩的8比特量化的视频来说,每个由2x2个2行2列相邻的像素组成的宏像素需要占用6字节内存。
  下面八个像素为:[Y0 U0 V0] [Y1 U1 V1] [Y2 U2 V2] [Y3 U3 V3]
  [Y5 U5 V5] [Y6 U6 V6] [Y7U7 V7] [Y8 U8 V8]
  存放的码流为:Y0 U0 Y1 Y2 U2 Y3
  Y5 V5 Y6 Y7 V7 Y8
  映射出的像素点为:[Y0 U0 V5] [Y1 U0 V5] [Y2 U2 V7] [Y3 U2 V7]
  [Y5 U0 V5] [Y6 U0 V5] [Y7U2 V7] [Y8 U2 V7]
  YCbCr与RGB的相互转换
  Y=0.299R+0.587G+0.114B
  Cb=0.564(B-Y)
  Cr=0.713(R-Y)
  R=Y+1.402Cr
  G=Y-0.344Cb-0.714Cr
  B=Y+1.772Cb
 
BT.656并行接口除了传输4:2:2的YCbCr视频数据流外,还有行、列同步所用的控制信号。如图3所示,一帧图像数据由一个625行、每行1 728字节的数据块组成。其中,23~311行是偶数场视频数据,336~624行是奇数场视频数据,其余为垂直控制信号。
 
 
BT.656每行的数据结构如图4所示。
 
 
图4中,每行数据包含水平控制信号和YCbCr。视频数据信号。视频数据信号排列顺序为Cb-Y-Cr-Y。每行开始的288字节为行控制信号,开始的4字节为EAV信号(有效视频结束),紧接着280个固定填充数据,最后是4字节的SAV信号(有效视频起始)。
 
SAV和EAV信号有3字节的前导:FF、FF、00;最后1字节XY表示该行位于整个数据帧的位置及如何区分SAV、EAV。XY字节各比特位含义见图5。
 
SAV和EAV信号有3字节的前导:FF、FF、00;最后1字节XY表示该行位于整个数据帧的位置及如何区分SAV、EAV。XY字节各比特位含义见图5。
 
图5中,最高位bit7为固定数据1;F=0表示偶数场,F=1表示奇数场;V=0表示该行为有效视频数据,V=1表示该行没有有效视频数据;H=0表示为SAV信号,H=1表示为EAV信号;P3~P0为保护信号,由F、V、H信号计算生成;P3=V异或H;P2=F异或H;P1=F异或V;P0=F异或V异或H。
*****************************************************************************************************
ITU-R601/656 原名CCIR601/656,是国际电信协会提出的一个视频标准。
名词解释:BT.656 : This ITU recommendation defines a parallel interface (8-bit or 10-bit, 27 MHz) and a serial interface (270 Mbps) for the transmission of 4:3 BT.601 4:2:2 YCbCr digital video between pro-video equipment.
国际电信联盟无线电通信部门656-3号建议书: 
工作在ITU-RBT.601建议(部分A)的4:2:2级别上的525行和625行 
电视系统中的数字分量视频信号的接口
国际电联无线电通信全会考虑到:
a)对于电视广播机构和节目制作者,在525行和625行系统的数字演播室标准方面有最多个数的相同重要参数有明显好处;
b)一种世界范围兼容的数字方法将会使设备的开发具有许多共同特点,运行会更经济,并便于国际间节目’的交换;
c)为实现上述目标,已以ITU-RBT.601建议的形式对数字电视演播室的基本编码参数达成了协议;d)ITU-RBT.601建议的实际实施要求规定接口和通过接口的数据流的细节;e)这些接口在525行和625行两型问应该具有最大的共同性;f)在ITU-RBT.601建议的实际实施中,希望对接口的串行和并行两种形式都作出规定;
g)这些接口所产生的数字电视信号有可能是对其它业务的潜在干扰源,必须对无线电规则No.964给予应有的注意。建议凡在电视演播室里需要分量编码数字视频信号接口的地方,这些接口和通过它们的数据流应符合规定比特并行和比特串行实施的如下说明:
1引言
本建议描述了运行在525行或625行制式并符合ITU-RBT.601建议(部分A)中所规定的4:2:2编码参数的数字电视设备的互连方法。
第一部分:接口的通用信号格式
1, 接口的一般描述
接口为在单一信号源与单一终点之间提供单向互连。并行和串行接口通用的单一信号格式在第2 节中描述。数据信号采取编码成8 比特字(也可任选10 比特字’)的二进制信息的形式。这些信号是:
1:视频信号,
2:定时基准信号,
3:辅助信号。
2,视频数据
表1 场间隔定义
 

 
注1:信号F和V在数字行的开始时与有效视频定时基准码同步改变状态。
注2:行数的定义见ITU-RBT.470 建议。注意数字行的行号如在ITU-R BT。601 建议(部分A)中描述的,在011 之前改变状态。
2.1 编码特性
视频数据符合ITU-R BT.601 建议(部分A)和示于表l 的场消隐定义。
2.2 视频数据格式
8 个最高有效比特都是l 或都为0 的数据字用于标识目的,所以256 个8 比特字中只有254 个(1024 个10 比特字中的1016 个)可以用于表示信号值。视频数据字是以27 兆字/秒的速率复用传送的,其顺序是:Cb,Y,Cr,Y,Cb,Y,Cr,…… 其中,Cb,Y,Cr 这三个字指的是同址的亮度和色差信号取样,后面的Y 字对应于下一个亮度取样。
2.3 接口信号结构
图l 示出了视频取样数据如何加入到接口数据流中。图l 中的取样标识符号符合ITU-RBT.601 建议(部分A)的标识符号。
2.4 视频定时基准码(SAV,EAV)
有两个定时基准信号,一个在每个视频数据块的开始(Start of ActiveVideo,SAV),另一个在每个视频数据块的结束(End of Active Video,EAV),如图l 所示。
每个定时基准信号由4 个字的序列组成,格式如下:
FF 00 00 XY (数值以16 进制表示,FF 00 留供定时基准信号用。)头三个是固定前缀,第4 个字包含定义第二场标识、场消隐状态和行消隐状态的信息。
定时基准信号内的比特分配列于表2。
数据比特号 第一字(FF) 第二字(00)  第三字(00)  第四字(XY)
 

 
注1:示出的数值是为10 比特接口的建议值。
注2:为了与已有的8 比特接口兼容,D1和DO 比特的值末作规定。F=0/1 第l/2 场时,V=0/1 其它处/场消隐时。H=0/1 有效视频开始处(SAV)/有效视频结束处(EAV)P0,P1,P2,P3:保护比特(见表3)MSB:最高有效比特表l 规定了V 和F 比特的状态。P0,P1,P2,P3 比特的状态决定于F,V 比特的状态,见表3。在接收机中,这种安排容许纠正l 比特误码和检出2 比特误码。
 
 
2.5 辅助数据
对在消隐期间以27 MWord/s 的速率同步插入到复用组中的辅助数据做了规定。辅助数据信号可以以10 比特形式只在行消隐期间传送,还可以以8 比特形式只在场消隐中的行的有效期间传送(应当指出:符合ITU-RBT.657 建议的数字录像机既不记录行消隐期间的数据,也不记录场消隐期间的某些行)。数据值00.Xh 和FF.Xb(见第2.2节)保留用于标识目的。所以不能在辅助数据中出现。
在场消隐期间的行有效部分载送的所有辅助数据信号必需加前缀:FF.x FF.x 除非作为一件特殊设备想要有的功能,辅助信号不应被设备改变。
2.6 消隐期间的数据字
在数字消隐期间出现不用作定时基准码或辅助数据的数据字时,应在复用起来的数据中的适当位置上填入相当于Cb,Y,Cr,Y 信号消隐电平的80.0h,10.0h,80.0h, 10.0h 等序列。Horizontal Format
The overall format of one complete line of the digital video data stream includes the following sections. The horizontal scan is considered to start with the beginning of the EAV section.
· EAV - End of Active Video (timing reference signal) 2 samples (4 words)
· Horizontal blanking     134 samples (268 words)
· SAV - Start of Active Video (timing reference signal) 2 samples (4 words)
· Active video      720 samples (1440 words)
EAV Timing Reference Signal:
The EAV Timing Reference consists of four words in the following format:
 
 
where:
 F    =  Field select (defines which vertical scan during interlace scanning)
 V    =  Vertical blanking
 H    =  1 indicating EAV
 E3  =  V xor H
 E2  =  F xor H
 E1  =  F xor V
 E0  =  F xor V xor H
Horizontal Blanking:
The horizontal blanking section consists of a repeating pattern: 1000 0000  0001 0000 ........
SAV Timing Reference Signal:
The SAV Timing Reference consists of four words in the following format: 

 
where:
 F    =  Field select (defines which vertical scan during interlace scanning)
 V    =  Vertical blanking
 H    =  0 indicating SAV
 E3  =  V xor H
 E2  =  F xor H
 E1  =  F xor V
 E0  =  F xor V xor H
Active Video:
The active video section consists of the Y, Cb, Cr data in the following sequence. The Y, Cb and Cr values are the scaled, offset, digitized versions of Y, U and V.
· Cr
· Y
· Cb
· Y
 
Vertical Format
The details of the vertical format are shown in the complete screen diagrammed below. The scan is of the interlace type which means that the odd lines are scanned first, followed by the even lines. The symbols "F" and "V" refer to the values contained in bits P8 and P7 of the EAV and SAV timing reference words.
 
 
阅读(3043) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~