显示原理和Color Spaces

1,基本概念

1.1显示基本原理 

显示器以一点一点方式从左至右, 从上至下输出像素(pixel).  每一个像素是由红色, 绿色, 蓝色混合而成. 这三个颜色就是RGB三原色.下面这例子是以720 x 480说明显示原理.我们常提到每一秒几张画面(Frame), 意思就是下面这样的画面组合每秒出现几次.每秒出现30张画面就表示为30Hz.


1.2 interlaced vs progressive 

显示方式分为逐行扫描(Progreesive scan)和隔行扫描或者交错扫描(Interlaced scan).  Interlaced 扫描技术是从早期CRT电视时代所遗留下来的显示方式,因为CRT反应速度无法使用逐行扫描, 那时候的技术就是将整张画面分为奇数场(Odd field)和偶数场(Even field), 如下图所示

显示顺序是由左至右, 由上至下. 奇数行显示完之后, 换偶数行显示. 奇数场和偶数场轮流显示.Interlaced的显示方式对移动的物体会呈现模糊的画面, 因为奇数行和偶数行间隔时间长,移动物体的画面看起来不连续. 这时需要靠去交错(De-interlace )技术让画面更清晰.De-interlace 技术又分为2D de-interlace 和 3D de-interlace.  2D de-interlace就是储存一张奇数场和一张偶数场的数据然后运算出应该显示的数据, 最后输出到显示器. 3D de-interlace 技术除了要储存一张奇数场和一张偶数场的资料,还要存上一张的奇数场和偶数场资料. 因为运算的数据包含前后两张画面, 资料分布就像几何学的XYZ三度空间, 所以被称为3D. 3D de-interlace 运算可以显示较好的画质,但是付出的代价是电路比较复杂,而且储存video的RAM size比较大.逐行扫描(Progressive scan)没有这问题, 因为奇数行和偶数行在同一张画面出现, 没有奇数行和偶数行画面不连续的现象.既然如此, 为何Interlace技术还要存在呢? 以现在的实际应用而言,目前还摆脱不了Interlaced 的环境. 因为下列原因: (A) 大部分的安防摄影机都是CCD sensor,  因为CCDsensor 在夜间的感光灵敏度优于CMOS sensor.这些CCD sensor 的绝对多数都是interlaced 扫描方式. 以目前的技术演进速度, 几年之interlaced的安防摄影机还是主宰这市场; (B) CRT 电视在很多落后国家都还是主流显示设备.

1.3 RGB 和 YUV

        RGB三原色可以忠实呈现原来的色彩, 缺点就是储存时需要的容量大, 传输时也需要比较大的带宽. 为了解决这了个问题, 视讯学家发展出Y/UV 4:2:2(或简写为YUV 422)或Y/UV 4:2:0(YUV 420) 算法.数据量的大小顺序是RGB>YUV422 > YUV 420. 就视觉效果比较. 一般人无法察觉这些差异, 因为有很多细节是眼睛比较难察觉的, 除非每一个画面都仔细比较.

1.4总像素和有效像素(Total Pixels and Active Pixels)

 

            每张Frame 的数据都包含有效像素和空白像素. 空白像素是不显示的数据, 有效像素为可以显示的数据. 每个 video 输出端在每张Frame的开始都会送出一个VSYNC(垂直同步)信号,代表一张Frame 的开始. 并不是每张Frame内 的像素都是有效, 实际的有效像素是靠HSYNC(水平同步) 决定.简单地说VSYNC和 HSYNC 的信号决定有效像素和空白像素的属性. 有效像素和空白像素的总和就是总像素. 一般人所说的分辨率是指有效像素.空白像素不能显示, 还有存在必要吗? 有必要, 这是从CRT电视时代留下来的技术. 为了配合CRT的特性,这个显示方式沿用至今.现在的设计,空白像素的区间可以用来传输语音和文字

1.5 NTSC 和 PAL 

            NTSC 和PAL 是两种不同视讯标准, 两种都是CRT时代遗留下的产物, 也都使用Interlace技术. 使用NTSC标准的国家包含美国, 韩国,日本,东南亚国家和台湾. 使用PAL标准的国家包含欧洲和中国大陆.NTSC规格的扫描频率每秒59.94场(简写为60场), 总扫描水平线525条, 有效水平扫描线480条. 简写为480i 60.PAL规格的扫描频率每秒50场, 总扫描水平线625条, 有效水平扫描线576条. 简写为576i50.


1.6标清(standard Definition)
和高清(High Definition)

           视频信号画质以解析度和每秒张数(或每秒场数)表示,例如720x480i60代表720 x480 interlaced 扫描,每秒60场, 720x480p30 代表  Progressive扫描, 每秒30张.

            Standard Definition: 简称SD. SD所指的是720x480i60, 720x576i50, 720x480p30和720x576p25 的解析度.  

            High Defination: 简称 HD. HD所指的是 1280x720p30, 1280x720p50,1280x720p60, 1280x1080i50, 1920x1080i60, 1920x1080p25, 1920x1080p30, 1920x1080p50, 1920x1080p60.

           Full HD 所指的是1080p 或更高的解析度.

1.7常见的Video 影像


  • SDTV的Resolution与Pixel-Clock相对于HDTV小很多,在后面的硬件分析,会有很大的影响。
  • SDTV的interlace format最快是18MHz,resolution是960x576/2。
  • HDTV的interlace format速度是25MHz,resolution是1920x1080/2。
  • BT.656, BT.601 (旧名称CCIR656 和CCIR601) 是SD分辨率的数字接口标准. BT.656 没有实际的VSYNC 和 HSYNC信号, 因为这两个信号隐含在Video Data 内.BT.601 有实际的VSYNC和HSYNC 信号, 至于实际的Video Data 内容, 两者格式都一样. 
  • BT.1120是 1290x1080p 或1920x1080i 分辨率的规格. 和BT.656规格类似, VSYNC 和 HSYNC 隐含在视频数据内部.

2  Color Space
           2.1 R G B
           color space是一组颜色的数学表示,红、绿、蓝(RGB)颜色空间广泛用于计算机图形和显示器。红色、绿色和蓝色是三种主要的附加色(将各个组件添加在一起以形成所需的颜色),并由三维笛卡尔坐标系表示(图Figure3).立方体的指示对角线(每个主成分的数量相等)表示各种灰度。表Table3.1包含100%振幅、100%饱和色条(一种常见视频测试信号)的RGB值。



  
             RGB颜色空间是计算机图形最常用的选择,彩色显示器使用红色、绿色和蓝色来创建所需的颜色。然而,RGB在处理真实世界的图像时不是很有效。所有三个RGB组件都需要具有相同的带宽,才能在RGB颜色立方体中生成任何颜色,例如,要修改给定像素的强度或颜色,必须从帧缓冲区读取三个RGB值,计算强度或颜色,再执行修改所需,

              2.2  YUV 
              YCbCr颜色空间是在制定全球数字分量视频标准(期间作为ITU-R BT.601的一部分开发的。YCbCr是YUV颜色的缩放和偏移版本 空间Y被定义为具有16–235的标称8位范围;Cb和Cr的标称范围为16-240 YCbCr采样格式,如4:4:4、4:2:2、4:1:1和4:2:0,

 

 
            在 YUV 空间中,每一个颜色有一个亮度信号 Y,和两个色度信号 U 和 V。亮度信号是强度的感觉,它和色度信号断开,这样的话强度就可以在不影响颜色的情况下改变。
            YUV 使用RGB的信息,但它从全彩色图像中产生一个黑白图像,然后提取出三个主要的颜色变成两个额外的信号来描述颜色。把这三个信号组合回来就可以产生一个全彩色图像。
            Y 通道描述 Luma 信号,它与亮度信号有一点点不同,值的范围介于亮和暗之间。 Luma 是黑白电视可以看到的信号。U (Cb) 和 V (Cr) 通道从红 (U) 和蓝 (V) 中提取亮度值来减少颜色信息量。这些值可以从新组合来决定红,绿和蓝的混合信号。

              YUV和RGB的转换:
              Y = 0.299 R + 0.587 G + 0.114 B

              U = -0.1687 R - 0.3313 G + 0.5 B + 128

              V = 0.5 R - 0.4187 G - 0.0813 B + 128

              R = Y + 1.402 (V-128)

              G= Y - 0.34414 (U-128) - 0.71414 (V-128)

               B= Y + 1.772 (U-128)

         
    2.3 YCbCr 

              YCbCr 作为ITU - R BT1601 建议的一部分, 其实是YUV经过缩放和偏移的翻版。其中Y与YUV 中的Y含义一致, Cb , Cr 同样都指色彩, 只是在表示方法上不同而已。在YUV 家族中, YCbCr 是在计算机系统中应用最多的成员, 其应 用领域很广泛,JPEG、MPEG均采用此格式。一般人们所讲的YUV大多是指YCbCr。

                 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

                YUV(YCbCr)采样格式:

                主要的采样格式有YCbCr 4:2:0、YCbCr 4:2:2、YCbCr 4:1:1和 YCbCr 4:4:4。其中YCbCr 4:1:1 比较常用,其含义为:每个点保存一个 8bit 的亮度值(也就是Y值), 每 2 x 2 个点保存一个 Cr和Cb值, 图像在肉眼中的感觉不会起太大的变化。所以, 原来用 RGB(R,G,B 都是 8bit unsigned) 模型, 每个点需要 8x3=24 bits, 而现在仅需要 8+(8/4)+(8/4)=12bits, 平均每个点占12bits。这样就把图像的数据压缩了一半。

             上边仅给出了理论上的示例,在实际数据存储中是有可能是不同的,下面给出几种具体的存储形式:

          (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、Y1、U0、V1四个字节)。

  下面的四个像素为: [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)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]

 


★博文內容均由個人提供,與平台無關,如有違法或侵權,請與網站管理員聯繫。

★博文作者未開放評論功能