• MIPI CSI-2笔记(16) -- 数据格式(YUV图像数据)


             上面的表格定义了YUV数据格式所使用的数据类型编码。YUV420数据类型的数据行数量需要是偶数。YUV420数据格式分为legacy和非legacy数据格式。Legacy YUV420数据格式主要是为了和已经存在的系统做兼容。非Legacy YUV420数据格式能够减少实现开销。

    Legacy YUV420 8-bit

            Legacy YUV420 8-bit数据传输是通过在奇数/偶数行发送UYY.../VYY...序列实现的。U分量在奇数行中被传输(1,3,5,...),V分量在偶数行中被传输(2,4,6,...),其传输序列如下图所示:

    Legacy YUV420 8-bit数据传输 

             下面的表格对Legacy YUV420 8-bit包的包大小进行了规定。每个包的长度必须是表中的值的整数倍。

     Legacy YUV420 8-bit包数据大小限制

            传输中的位序按照一般的CSI-2规则进行,LSB优先。如下图所示:

     Legacy YUV420 8-bit Pixel to Byte Pcking Bitwise示意图

           有一种空间采样选项:

            H.261,H.263以及MPEG1 空间采样(Spatial Sampling),如下图:

    Legacy YUV420的H.261,H.263以及MPEG1空间采样 

     Legacy YUV420 8-bit帧格式

    YUV420 8-bit

            YUV420 8-bit数据传输通过在奇数/偶数行发送YYYY.../UYVYUYVY...序列实现。在奇数行(1,3,5,...)中只有明度分量(Y)被传输,在偶数行中传输明度分量(Y)和色度分量(U,V)。偶数行的格式(UYVY)和YUV422 8-bit数据格式相同。下图展示了数据传输序列:

    YUV420 8-bit数据传输序列 

            载荷数据大小(按字节为单位)在偶数行(UYVY)上是奇数行(Y)的载荷数据大小的两倍。通常CSI-2规则规定每行要有相同的长度,这是一个例外。

            下面的表格对YUV420 8-bit包的包大小进行了规定。每个包的长度必须是表中的值的整数倍。

    YUV420 8-bit包数据大小限制表 

            传输中的位序按照一般的CSI-2规则进行,LSB优先。如下图所示:

     YUV420 8-bit Pixel to Byte Packing Bitwise示意图

            有两种空间采样选项:

            H.261,H.263以及MPEG1 空间采样(Spatial Sampling)

            MPEG2,MPEG4的CSPS(Chroma Shifted Pixel Sampling)

            分别如下两图所示:

      H.261,H.263以及MPEG1 YUV420空间采样

     MPEG2,MPEG4 YUV420空间采样

     YUV420 8-bit帧格式

     YUV420 10-bit

            YUV420 10-bit数据传输通过在奇数/偶数行发送YYYY.../UYVYUYVY...序列实现。在奇数行(1,3,5,...)中只有明度分量(Y)被传输,在偶数行中传输明度分量(Y)和色度分量(U,V)。偶数行的格式(UYVY)和YUV422 10-bit数据格式相同。下图展示了数据传输序列:

     YUV420 10-bit数据传输

            载荷数据大小(按字节为单位)在偶数行(UYVY)上是奇数行(Y)的载荷数据大小的两倍。通常CSI-2规则规定每行要有相同的长度,这是一个例外。

             下面的表格对YUV420 10-bit包的包大小进行了规定。每个包的长度必须是表中的值的整数倍。

    YUV420 10-bit包数据大小限制表

             传输中的位序按照一般的CSI-2规则进行,LSB优先。如下图所示:

     YUV420 10-bit Pixel to Byte Packing Bitwise示意图

             像素空间采样选项和YUV420 8-bit数据格式中的一样。

     YUV420 10-bit帧格式

     YUV422 8-bit

             YUV422 8-bit数据传输通过发送UYVY序列实现。如下图所示:

    YUV422 8-bit数据传输 

            下面的表格对YUV422 8-bit包的包大小进行了规定。每个包的长度必须是表中的值的整数倍。

    YUV422 8-bit包数据大小限制表 

            传输中的位序按照一般的CSI-2规则进行,LSB优先。如下图所示:

     YUV422 8-bit Pixel to Byte Packing Bitwise示意图

            像素空间采样对齐和CCIR-656标准中相同,如下图:

    YUV422 Co-sited空间采样 

     YUV422 8-bit帧格式

    YUV422 10-bit

            YUV422 10-bit数据传输通过发送UYVY序列实现。如下图:

     YUV422 10-bit数据传输

            下面的表格对YUV422 10-bit包的包大小进行了规定。每个包的长度必须是表中的值的整数倍。

     YUV422 10-bit包数据大小限制表

             传输中的位序按照一般的CSI-2规则进行,LSB优先。如下图所示:

     YUV422 10-bit Pixel to Byte Packing Bitwise示意图

            像素空间采样对齐和YUV422 8-bit数据的情况一样。

    YUV422 10-bit帧格式

  • 相关阅读:
    “灯塔工厂”的中国路径:智造从点到面铺开
    IntelliJ IDEA使用——Debug操作
    Array_JavaScript
    Spring Boot 实现接口幂等性的 4 种方案
    sstream及按格式字符分割字符串
    京都大学利用 CNN 预测粮食产量,丰收不问天,问 AI 就够了
    window mysql 8.0忘记密码
    Spring Boot 8 实现对战记录(次要)&&用户分数排行榜(次要)&&实现分页(重点)
    【概念认知】关于“体系”概念的个人认识
    Docker Desktop -WSL kernel version too low
  • 原文地址:https://blog.csdn.net/vivo01/article/details/126768586