背景

MIPI CSI-2支持YUV、RGB和RAW data三种数据格式,这里是个笼统的叫法,具体又根据不同的像素打包方式细分为具体的格式,打包是什么概念?就是把Sensor采样得到的RGB三个通道的像素(Pixel)打包成字节流(Pixel-to-byte Packing),不同的格式,用来表示一个像素的比特数也不同(6 to 24 bits per pixel)。像Sony的sensor,一般是支持RAW10或RAW12格式输出。下面以RAW10格式为例,做一下详细的包格式解析。

MIPI数据概览

下图展示了MIPI CSI-2的数据传输的包信息:

具体不做详细的解析,大家可以去看一下MIPI CSI-2的规格书了解,这里放出这张图,是想说明Sensor采集的一张张图片数据(Frame)是一个个大的矩阵,一个CSI-2的data packet(实际也称为long packet,与之对应的是图中用于帧同步的short packet)需要包含矩阵中一行的数据(one line of image data),不管哪种打包格式,这一个long packet必须是8bit或者说byte的整数倍。

RAW10剖析

RAW10,顾名思义,其一个像素是用10bit表示,为了凑成byte的整数倍(我想应该是为了便于处理和传输吧),一个packet需要包含40bit,也就是5个byte,如下图所示:

图中是一行的数据,可以看到这里一行数据被分成了5个byte一组,5个byte是4个像素,其中每个像素被拆成了高8位和低2位,四个低2位组成了一个byte,传输字节流时,先传输低字节。下图展示了一帧数据的传输:

上图非常形象的展示了一帧数据如何一行行传输的。

MIPI CSI-2 像素打包格式解析的更多相关文章

  1. 转:YUV RGB 常见视频格式解析

    转: http://www.cnblogs.com/qinjunni/archive/2012/02/23/2364446.html YUV RGB 常见视频格式解析 I420是YUV格式的一种,而Y ...

  2. YUV420格式解析

    一般的的YUV420图像格式实际上是Y'UV,420指的是其在Y U V上面的采样率.在YUV420的格式中,首先存储每一个像素的Y'值,然后跟着存储的是每2*2方阵采样一次的U值,最后存储的是每2* ...

  3. 视音频数据处理入门:FLV封装格式解析

    ===================================================== 视音频数据处理入门系列文章: 视音频数据处理入门:RGB.YUV像素数据处理 视音频数据处理 ...

  4. TS格式解析

    1.TS格式介绍 TS:全称为MPEG2-TS.TS即"Transport Stream"的缩写.它是分包发送的,每一个包长为188字节(还有192和204个字节的包).包的结构为 ...

  5. STM32-cJSON库的打包和解析

    这几天使用了一下JSON在STM32103平台上的使用,还是很好用的,在此记录下. JSON是啥我也不总结了,就是直观的看起来是一个有格式的字符串,看起来非常清楚明白,有点像Python中的dicit ...

  6. XML的打包与解析

    XML的打包与解析 一.XML语言的特点       1.XML独立于任何编程语言,允许人们按接收者容易解析的方式,对复杂数据进行编码.先来看一个简单的XML格式的文件: [XML] 纯文本查看 复制 ...

  7. plist文件、NSUserDefault 对文件进行存储的类、json格式解析

    ========================== 文件操作 ========================== Δ一 .plist文件 .plist文件是一个属性字典数组的一个文件: .plis ...

  8. MySQL binlog的格式解析

    我搜集到了一些资料,对理解代码比较有帮助. 在头文件中binlog_event.h中,有描述 class Log_event_header class Log_event_footer 参见[Myst ...

  9. JSON格式解析和libjson使用简介(关于cjson的使用示例)

    JSON格式解析和libjson使用简介 在阅读本文之前,请先阅读下<Rss Reader实例开发之系统设计>一文. Rss Reader实例开发中,进行网络数据交换时主要使用到了两种数据 ...

随机推荐

  1. elasticsearch查询之大数据集分页查询

    一. 要解决的问题 search命中的记录特别多,使用from+size分页,直接触发了elasticsearch的max_result_window的最大值: { "error" ...

  2. js中全局和局部变量的区别

    2 3 4 5 6 7 8 9 10 <script type="text/javascript"> var a = 1; function hehe() {      ...

  3. position和anchorPoint笔记

    position和anchorPoint是CAlayer的两个属性.     我们以前修改一个控件的位置都是能过Frame的方式进行修改.     现在利用CALayer的position和ancho ...

  4. Java中命名Dao、Bean、conn等包的含义(不定期补充)

    感谢大佬:https://blog.csdn.net/j904538808/article/details/78904732 (1)DAO是Data Access Object数据访问接口.数据访问: ...

  5. UIFont

    UIFont代表字体,常见创建方法有以下几个:+ (UIFont *)systemFontOfSize:(CGFloat)fontSize; 系统默认字体+ (UIFont *)boldSystemF ...

  6. linux增加用户组,并在用户组下添加指定用户

    groupadd mysql #1 useradd -g mysql[用户组] mysql[用户名] #2 useradd mysql[用户名] -g mysql[用户组]

  7. webfunny前端系统:如何解决警报设置触发常见问题

    大家好,经常会有小伙伴在使用webfunny监控系统中,遇到无法触发警报的问题,其实都是一些配置上的疏漏,在这里给大家总结一下: PS:只要消息中心里有警报,则说明触发机制没有问题.其他方式没有触发, ...

  8. 统计学习:逻辑回归与交叉熵损失(Pytorch实现)

    1. Logistic 分布和对率回归 监督学习的模型可以是概率模型或非概率模型,由条件概率分布\(P(Y|\bm{X})\)或决 策函数(decision function)\(Y=f(\bm{X} ...

  9. Word 模板注入

      要实现word模板注入,需要一个被注入的文档,以及一个注入用的模板. 1.创建一个启用宏的模板   打开word,alt+f8创建编辑宏,在Project->Microsoft Word对象 ...

  10. Hadoop分布式集群部署

    环境准备 IP HOSTNAME SYSTEM 192.168.131.129 hadoop-master CentOS 7.6 192.168.131.135 hadoop-slave1 CentO ...