• NTSC和PAL视频格式的区别


    1,历史演变

            NTSC早期描述的是525I@59.94格式视频,1953年确立标准,美国主导。后来为了方便和PAL制式格式的视频转换,于是将60hz的倍数关系的帧率纳入该系统。

            PAL描述的是625I@50格式视频,1967年确立标准,欧洲主导。由于成立时间晚,因此借鉴了不少NTSC的优点,两者在BT601之后规范统一化。

    2,NTSC色域系统

           早期NTSC的色域系统定义如下:

            rx=0.6700; ry=0.3300;
            gx=0.2100; gy=0.7100;
            bx=0.1400; by=0.0800;
            wx=0.3101; wy=0.3162;%CIE照明C

           转换矩阵如下:        

            rgb2xyz =     0.6069    0.1735    0.2003
                                0.2989    0.5866    0.1144
                                -0.0000    0.0661    1.1157
            xyz2rgb =    1.9099   -0.5324   -0.2882
                             -0.9846    1.9991   -0.0283
                              0.0583   -0.1184    0.8979

            因此亮度方程为Y=0.2989R+0.5866G+0.1144B

            后来NTSC把色域系统改成了:

            rx=0.6300; ry=0.3400;
            gx=0.3100; gy=0.5950;
            bx=0.1550; by=0.0700;
            wx=0.3127; wy=0.3290;%CIE照明D65

            转换矩阵如下: 

            rgb2xyz =        0.3935    0.3653    0.1917
                                  0.2124    0.7011    0.0866
                                  0.0187    0.1119    0.9584


            xyz2rgb =        3.5060   -1.7398   -0.5441
                                  -1.0690    1.9778    0.0352
                                   0.0563   -0.1970    1.0500

           于是亮度方程为:Y=0.2124R+0.7211G+0.0866B,由于历史原因,亮度方程通常采用的还是Y=0.2989R+0.5866G+0.1144B。因此在显示端需要进行色彩纠正。

    3,PAL色域系统

            定义如下:

            rx=0.6400; ry=0.3300;
            gx=0.2900; gy=0.6000;
            bx=0.1500; by=0.0600;
            wx=0.3127; wy=0.3290;%CIE照明D65 --PAL

            转换矩阵如下:        

            rgb2xyz =      0.4306    0.3415    0.1784
                                0.2220    0.7067    0.0713
                                0.0202    0.1296    0.9393

            xyz2rgb =     3.0634   -1.3934   -0.4758
                               -0.9692    1.8760    0.0416
                                0.0679   -0.2288    1.0691

            于是亮度方程为:Y=0.2220R+0.7067G+0.0713B,由于历史原因,亮度方程通常采用的还是Y=0.2989R+0.5866G+0.1144B。因此在显示端需要进行色彩纠正。

    4,色彩空间

            通常来说NTSC采用YIQ色彩空间,PAL采用YUV色彩空间。但是后来NTSC也采用YUV色彩空间。他们的亮度方程式均采用Y=0.2989R+0.5866G+0.1144B,因此两者在显示端都需要做色彩纠正,这个工作是由电视机完成的。

    YUV定义如下:

    Y=0.2989R+0.5866G+0.1144B

    U=0.492(B-Y)

    V=0.877(R-Y)

    YIQ定义如下:

    Y=0.2989R+0.5866G+0.1144B

    I=0.736(R-Y)-0.268(B-Y)=Vcos33-Usin33

    Q=0.478(R-Y)-0.413(B-Y)=Vsin33+Ucos33

    附录代码:        

    1. rx=0.6400; ry=0.3300;
    2. gx=0.2900; gy=0.6000;
    3. bx=0.1500; by=0.0600;
    4. wx=0.3127; wy=0.3290;%CIE照明D65 --PAL
    5. rz=1-rx-ry;
    6. gz=1-gx-gy;
    7. bz=1-bx-by;
    8. wz=1-wx-wy;
    9. Swx=wx/wy;
    10. Swy=wy/wy;
    11. Swz=wz/wy;
    12. S=inv([rx gx bx;
    13. ry gy by;
    14. rz gz bz])*[Swx Swy Swz]'
    15. rgb2xyz=[rx*S(1) gx*S(2) bx*S(3);
    16. ry*S(1) gy*S(2) by*S(3);
    17. rz*S(1) gz*S(2) bz*S(3)]
    18. xyz2rgb=inv(rgb2xyz)

           

  • 相关阅读:
    Java中过滤器与拦截器的使用
    跟我学c++中级篇——Pimpl
    三、组件与数据交互
    arduino框架开发esp32,arduino框架的优势是什么?为什么要用这个框架
    算法 数据结构 双向环形链表 手撸环形链表 环形链表实现容器 环形链表添加修改删除获取大小 环形链表实现自定义容器 手撸容器 双向环形哨兵链表 数据结构(六)
    Ubuntu扩容lvm空间
    JavaSE:String类
    羽夏 MakeFile 简明教程
    STM32个人笔记-程序跑飞
    web安全最亲密的战友Burp Suite2--target模块体验
  • 原文地址:https://blog.csdn.net/YDY5659150/article/details/131087150