camera同步信号

news/2024/7/21 3:53:10 标签: 图像处理

基本概念

PCLK:pixel clock是像素点同步时钟信号, 主频。也就是每个PCLK对应一个像素点。

HSYNC:horizonal synchronization是行同步信号,水平同步信号。就是在告诉接收端:“HSYNC”有效时段内接收端接收到的所有的信号输出属同一行。这个概念是来自于显示器,HSYNC是提供给显示器的信号,告诉它停止绘制当前水平线,并开始绘制下一条线。因为显示器显示图像也是一行一行扫描的,比如经常看到的720P, 1080P,这个P就是逐行扫描的意思。还有1080i, i是指隔行扫描。对于sensor,如果是rolling shutter,数据也是一行一行地readout。没读完一行就发送一个HSYNC信号,然后读取下一行。

VSYNC:Vertical synchronization,帧同步信号, 垂直同步信号。以高电平有效为例,VSYNC置高直到被拉低,这个区段所输出的所有影像数据组成一个frame。sensor 通过这个VSYNC来触发读取一帧数据。

FSYNC:frame synchronization,帧同步信号,通常是从sensor外部输入的同步信号,用来控制sensor的曝光时机,即控制sensor在指定的时机曝光。

在这里插入图片描述
FSYNC和VSYNC的一种可能的时序如下:

在这里插入图片描述
这种模式是FSYNC直接控制曝光起始时间,internal signal 是sensor 内部的一个参考同步信号。
另一种时序可能:
在这里插入图片描述

这种模式是FSYNC控制readout时机,间接控制曝光起始时间。

多相机时间同步

多相机同步就是指让多颗摄像头同时曝光。为什么要进行时间同步?在自动驾驶或机器人领域,设备往往要部署多颗摄像头,比如典型双目摄像头方案就包含两个摄像头,车载场景摄像头可能更多,可能高达十数颗摄像头。如果这些摄像头之间不进行时间同步,那么各个摄像头成像的时间就不一致,存在误差,会对后续的流程产生不良影响,比如融合感知的精度会受到很大影响。
下图显示的是两颗摄像头不同步的时序,其中camera2曝光的时间和预期存在一定偏差:
在这里插入图片描述
我们期望的曝光时序如下:
在这里插入图片描述
那如何确保相机同时曝光呢?
一种可行的办法是让相机的每一帧都由外部FSYNC信号触发,即由外部host在同一时间统一给各个sensor发送同步信号来触发曝光。
FSYNC作为输入,由外部host控制多个sensor进行曝光:
在这里插入图片描述
还有一种方案是让其中一个sensor作为master来控制其它sensor曝光,master在曝光时输出FSYNC给其它sensor。
一个sensor作为master输出FSYNC,控制其它sensor进行时间同步:
在这里插入图片描述


http://www.niftyadmin.cn/n/5282381.html

相关文章

Element UI导航菜单之秘:无痕迹浏览与历史记录栈的管理

前言 需求 在使用 Element UI 的 el-menu 导航栏菜单时,发现 history 栈(历史记录栈)会不断缓存之前的记录,而在某些场景下我们可能不希望 history 栈(历史记录栈)中有之前的记录,即实现无痕迹流…

[JS设计模式]Mixin Pattern

Mixin是一个对象,我们可以使用它来为另一个对象或类添加可重用的功能,而无需使用继承。我们不能单独使用mixins:它们的唯一目的是在没有继承的情况下向对象或类添加功能。 假设对于我们的应用程序,我们需要创建多个狗。然而,我们…

叮咚,微信年度聊天报告(圣诞节版)请查收~丨GitHub star 16.8k+

微信年度聊天报告——圣诞节特别版,快发给心仪的ta吧~ 开源地址 GitHub开源地址:https://github.com/LC044/WeChatMsg 我深信有意义的不是微信,而是隐藏在对话框背后的一个个深刻故事。未来,每个人都能拥有AI的陪伴,…

JavaScript中:箭头函数/高阶函数/函数柯里化

1高阶函数: 如果一个函数的参数是函数,或者函数的返回值是函数则这个函数我们就称其为高阶函数 - 将函数作为参数的情况: - 将函数作为参数,主要目的是动态的向函数内部传递代码 - 作为参数的函数,它是由我们定义的&#xff0…

从匿名binder来理解Binder驱动中的红黑树

之前都没有重点关注过Binder驱动,这里从匿名binder的proxy端恢复的角度来理解一下binder驱动中的红黑树, 如下图所示,假设B进程是个含有binder服务的service,A进程通过binderService连接了B,又通过接口调用&#xff0…

深入了解Redis:性能、应用场景与常见问题解决方案

目录 一、简介 二、常用数据类型 三、Redis为什么快? 1、基于内存 2、C语言实现 3、单线程模型 4、IO多路复用 四、持久化机制 1、AOF持久化机制 2、RDB持久化机制 3、选择AOF还是RDB? 五、过期策略及内存回收机制(淘汰策略&#…

【操作系统】学习操作系统知识

文章目录 前言测量系统调用和上下文切换的成本purify 和 valgrindxx3 的执行过程 前言 ref:http://ges.cs.wisc.edu/~remzi/OSTEP/Chinese 零散的记录知识,看《操作系统引论》 测量系统调用和上下文切换的成本 上下文切换需要多长时间?甚…

攻防世界——Hello, CTF

运行可以发现这是输入型的flag (re题目分为两类,一种你直接输入flag,还有一种就是你完成某个操作后,给你flag) 可以发现关键字符串就是wrong 和 input 32位 IDA打开 进入直接进入字符串界面,发现关键字符…