前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >OVM6946接口分析-AntLinx的由来

OVM6946接口分析-AntLinx的由来

作者头像
云深无际
发布2024-08-21 11:36:55
710
发布2024-08-21 11:36:55
举报
文章被收录于专栏:云深之无迹

现在这个内窥镜都做成下面这样的接口,很奇怪,为什么?以及RAW格式到底是什么?一个镜头上面2根线是如何通讯的?在这篇文章里面都可以找到答案。

如图所示

我找了找,原来是OV起的名字:

小于 2MP 的图像传感器仅使用 4 个引脚,对于高达 10MP 的图像传感器仅使用 8 个引脚,该接口的实现减少了内窥镜远端及其连接电缆的尺寸和复杂性。

前者是模拟输出,控制相机的方式是I2C(这里不用SCCB了?)数字的话就是普通MIPI要12根线,现在是8根。

其实这里输出脚上面是用的SPI,但是内部控制了IIC,没有说明SPI的模式,强行说的话,可能是模式 9:

看一帧的时序

MSB为先,这里是

这个输出图呢,就是图像的输出数据,我们可以在不使用OV428的情况下自己接ADC来采集,但是需要注意时序控制。1~2.45V就是图像数据的量化。寄存器少得令人发指,只有两个。

这里构成了一个闭环控制系统,也可以手动控制

只有AEC和AGC:AEC 和 AGC 通常会协同工作来优化图像的亮度和对比度。AEC 系统会首先调整曝光时间来控制图像的整体亮度,然后 AGC 系统会调整放大器的增益来控制图像的对比度。

如果使用了OV426,也可以手动控制,因为大夫有手动曝光的需求

OV6949只有一个OUT,那就是控制信息是在时序里面,我纠结地方在于,clk肯定是时钟,不会轻易改变,信息交换肯定是主机发出的,那这个VOUT 引脚充当了一部分发送的功能吗?现在看是双向的引脚,在一个时钟周期内,有发送有接收.

数据手册上面这句话写的在 output 的数字功能,那就是 SPI输入.

时钟只有一个输入的口,而且是给传感器内部锁相环使用的.

就这样,但是这样控制的话,emmmm,搞糊涂了给我,控制信息从哪里走的。

看这个应该是从VOUT送入的,就是 SPI 单工的,clk 有了,miso 那就是.

也就是说,时序就是输入的时钟,但是在VOUT上面其实有和主机的数据交换,方式为图像RAW+SPI写+读。

这设计,绝了

我总结一下,就是说,SPI输入控制,模拟引脚数据输出?就是在clk 的节拍下,视频输出完,然后接收外部的控制信息.

数字的输入输出,OV426上面

VOUT这里可以输出也可以输入,我回去上示波器吧,气死我了,没明白。 这里明白了,vout 就是双向接口,数字部分就是用不同的电压来模拟SPI 时序,看控制框图也可以佐证,看下面数据手册这个symbol:

这里写了输入的时候是方波

这个就是RAW的输出样子

以前一直迷惑,RAW格式是什么样的?现在让我来写写:

  • 原色BG/GR阵列以线交替方式排列:这表示在传感器上,绿色(G)像素排列成两个相邻的行,蓝色(B)和红色(R)像素则以交替的方式排列在其周围,形成了BGGR的阵列模式。这种排列方式是常见的彩色图像传感器布局,用于捕获RGB颜色信息。
  • 166,464个像素中的活动像素:这部分指的是总共的像素数量,其中160,000个像素是活动的,它们可以输出图像数据。这些活动像素实际上是捕获图像的关键部分,它们负责记录场景的亮度和颜色信息。
  • 其他像素用于黑电平校准:除了活动像素之外的像素则用于黑电平校准。这些像素在图像中通常代表了暗区域或者传感器上的噪声信号,它们的值用于校准图像的黑色水平,以确保整个图像的亮度和对比度均衡。
  • 这个也是后面要输出给 ov426 做控制的部分
  • BLC 就是黑色电平矫正,因为黑电平的存在,会损失画面中部分高亮处的细节,但考虑到人眼对于画面暗处更敏感,故可认为这里画面亮处的损失忽略不计。
  • 还有一个白平衡

拜尔有俩种:STD Bayer pattern 与 Pair pattern:

  • STD Bayer pattern的结构是BG/GR的,其中又分为四种BGGR,GBRG,GRBG,RGGB
  • Pair Pattern的结构是BGBG/GRGR,即以四行为一个单位,前两行是BG的结构,后两行是GR的结构,这种结构是美光专门为此申请了专利的,主要是在输出TV模式(NTSC/PAL制)时用到。

RAW有俩种输出,Bayer Raw与RGB Raw的主要区别在于两者输出前经过的处理不同:

  1. Bayer RAW:
    • Bayer RAW是一种单色平面格式,它在一个像素中仅包含一种颜色通道的数据,通常是红色(R)、绿色(G)或蓝色(B)。
    • 它基于Bayer阵列,其中相邻的像素以交错排列的方式包含不同颜色通道的数据。常见的Bayer排列模式包括RGGB、BGGR、GRBG等。
    • Bayer RAW需要进行后期处理,通过插值算法将单色像素组合成完整的RGB图像,这个过程称为去马赛克(Demosaicing)。
  2. RGB RAW:
    • RGB RAW是一种完整的RGB颜色数据格式,每个像素都包含红、绿、蓝三个颜色通道的数据。
    • 它不需要进行插值或去马赛克处理,因为每个像素都提供了完整的RGB信息。
    • RGB RAW格式通常会占用更大的空间,因为它直接保存了每个像素的RGB值,而不是像Bayer RAW那样只保存一种颜色通道。

总体而言,Bayer RAW格式在相同分辨率下占用的空间通常比RGB RAW小,但需要额外的后期处理来生成完整的RGB图像。RGB RAW则提供了直接可用的RGB数据,但占用的存储空间更大。

计算一下数据量

区分图

计算一下这个电压的增加量是多少

OK,其实可以算的出来应该是8位:

  • 8 位位深度:每个像素对应通道的数据量为 8 位,即一个字节,范围为 0 到 255。这种位深度通常用于普通的图像传输和显示,可以表示 256 种不同的颜色。
  • 10 位位深度:每个像素对应通道的数据量为 10 位,范围为 0 到 1023。这种位深度在摄影和视频领域中比较常见,可以提供更丰富的色彩细节。
  • 12 位位深度:每个像素对应通道的数据量为 12 位,范围为 0 到 4095。这种位深度通常用于专业图像处理和高动态范围(HDR)图像。

我来分析一下它的的输出时序在电压上面的对应:

  1. Tc(数据类型):它的电压级别是0.3V,对应的时钟周期范围是6到92个时钟周期。表示某种数据传输或处理的类型,它在一定的时钟周期内进行操作。
  2. Tb(黑电平):它的电压级别是1.0V,对应的时钟周期范围是76到Tc。黑电平通常用于校准图像中的暗部分,保证整个图像的对比度和亮度正确。
  3. Td(数据流):它的电压级别在1.0V到1.8V之间,对应的时钟周期是212个时钟周期。这表示一种数据流或者数据处理的过程,电压范围可能对应着不同的数据状态或信号强度。
  4. Tline(总行数):它的电压级别没有明确给出,但它表示总共有288行数据。是指整个图像的行数,用于确定图像的分辨率和数据量。

也就是数据传输的过程是,使用不同的电压来区分不一样的数据。

注意到颜色通道里面有两个绿色的,来探索一下!

4x4 像素阵列看起来是:

B,Gb-Gr,R

2x2 阵列的两个绿色像素位于不同的光点,因此实际强度实际上并不相等。为了进行这种区分,红色行中的绿色感光点是 Gr,蓝色行中的绿色感光点是 Gb。

下面是我找到了一个解释:

每个RGB都是linera RGB,也就是没有经过gamma corrected过的,通常是8bit~14bit之间。

Gr Gb的color filter基本上是一样的,但因为在制程上是两个步骤分别完成的,所以两者对颜色的特性(CMF, color matching function)难免会有点不同,但这可以很容易用black level compensation或是color collection来修正。

接下来第一步是black level compensation,也就是将暗电流造成的影响除去,通常是减去一个值,R Gr Gb B各自不同。

接下来是bad pixel compensation,将一些坏点的值用周边的同色的值来取代,bad pixel的位置可以至动判断,或是用查表的。

接下来就要作color interpolation,对于每个Bayer pixel所缺少的另外两个颜色,用周边的点来补回。

R

B

G

举个很简单的方法,R点的G值由上下左右四个G(两个Gr, 两个Gb)加起来除以四,B值则由斜角的四个B加起来除以四。

B点所缺的RG也是相同的做法。Gr的R值由左右两个R来平均,B值由上下两个B来平均。

Gb的做法也是和Gr一样。这样每个pixel就有完整的RGB值了,这是很简单的3*3的做法,这样出来的结果在平坦的地方没什么可挑剔的,

上面是算法,其实我更加想知道是为什么这样设计?

R、G、B 分别表示透红色、透绿色和透蓝色的滤镜阵列单元。由于人的视觉对绿色最为敏感,所以在 Bayer CFA 中G分量是 R和B 的二倍,在每个像素点上只能获取一种色彩分量的信息,然后根据该色彩分量的信息通过插值算法得到全色彩图像。

绿色对于人类视觉系统非常敏感,因此在图像中使用两个独立的绿色通道可以提供更多的色彩信息和细节,特别是在绿色部分的表现上更为精细。

三种视锥细胞(蓝,绿,红),对应光谱的敏感度分布如下:

就是这个

在可见光光谱上,任意选一点,画一条垂直的线。一定会和这三条曲线有交点。

如图,在黄色处画条线,相交的是98%的红色细胞曲线和83%的绿色细胞曲线。视觉系统就是靠这不同的比率来分析颜色的。

我好像没有说明白,无所谓了~

这里总结一下:

RGB格式:采用这种编码方法,每种颜色都可用三个变量来表示红、绿、蓝的强度。每一个像素有三原色R红色、G绿色、B蓝色组成。

YUV格式:其中“Y”表示明亮度(Luminance或luma),即灰阶值;“U”和“V”表示色度(Chrominance或Chroma),描述影像色彩及饱和度,用于指定像素的颜色。

RAW格式:是sensor将光信号转换为电信号时的电平高低的原始记录,单纯地将没有进行任何处理的图像数据,即摄像元件直接得到的电信号进行数字化处理而得到的。

合起来就是输出了bayer 信息,这就是OVM说的RAW RGB的意思。还是需要后面的处理,得到 RGB的颜色信息.

我应该是没有理解错。也是都这样的专用了,压力都给到了后级。ISP加油!

这个是数字输出,就是改良过的

这个是传统的

你看这个接口就有了

极细同轴线,这个是上面说的,不过图文无关,可以看看

可以走4米长的线,可以捅到哪里?我不知道

这个数据的增长趋势,也和咱们文章没有关系

这个是不同类型的接口,当然咱们是一个也用不上

这个市面上的接口其实都来自于官方的设计

就这样

线序,模拟地

电阻是应该是阻抗控制

这也就回答了,其实市面上的接口都是官方的设计:

就是这样

其实内部没有灯,还是要有LED的输出,大哥的板子出镜了

他的产品现在有这些功能,至于这个数字ISP开发,我不知道能不能写文章,待我问问。

另外 ISP 输入的是 byer图像,进行简单处理过后再进行到 RGB 图像的插值,降噪等.

还有就是现在这套系统的延迟为24ms

美图一张

这套系统我也可以分析,但是要征求本人同意。

代码语言:javascript
复制
https://www.ovt.com/next-generation-cmos-chip-on-tip-endoscopy-interface-antlinx-white-paper/
代码语言:javascript
复制
https://blog.csdn.net/wwws1994/article/details/126910855
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-04-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 云深之无迹 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档