2023年6月26日发(作者:)
Camera驱动开发知识讲解第⼀章 Camera基础1,Image Sensor类型a) YUV SensorYUV Sensor输出的Data格式为YUV,图像的效果处理使⽤Sensor内部的ISP,BB端接收YUV格式的data后只进⾏格式的转换,效果⽅⾯不进⾏处理,由于Sensor内部的ISP处理能⼒有限,且YUV Sensor的数据量⽐较⼤(YUV422的格式1个pixel2个byte),⼀般Size都⽐较⼩,常见的YUV sensor都是5M以下b) Raw SensorRaw Sensor输出的Data格式为Raw,图像的效果处理使⽤BB端的ISP,BB端接收Raw data后进⾏⼀系列的图像处理(OB,Shading,AWB,Gamma,EE,ANR等),效果⽅⾯由BB端控制,需要针对不同的模组进⾏效果调试,Raw sensor是⽬前的主流,数据量⽐YUV Sensor⼩(RAW10 格式的sensor 1个pixel 10个bit)使⽤平台ISP处理,能⽀持较⼤的size
2,硬件接⼝简单说来,Camera的接⼝分为并⾏和串⾏两种⽅式,⽽⽬前我们平台主要⽀持的串⾏⽅式为mipi接⼝,Parallel接⼝和mipi接⼝的介绍可以参考下图3,常见基本概念a) 三路电压camera包含的三路电压为模拟电压(VCAMA),数字电压(VCAMD),IO⼝电压(VCAMIO)b) I2C信号BB与Sensor端通过I2C来通信(读写寄存器),包括SCL(I2C Clock) SDA(I2C Data)信号c) mipi⼏条lanemipi data是成对的差分信号,MIPI_RDN和MIPI_RDP,有⼏对这样的pin脚,则说明是⼏条lane,同⼀颗sensor由于register setting不同,输出的信号有可能是2 lane或者4lane等d) parallel⾼低⼋位Parallel接⼝⼀般Data有10根pin,分别叫做Data0~Data9,Parallel sensor输出的data信号是8根pin时,这⼋根pin接到的是Data0~Data7还是Data2~Data9,需要配置正确,叫做接到⾼⼋位或者低⼋位,接错了可能产⽣如下现象e) Data FormatSensor输出的数据格式,对于YUV Sensor来说,Data Fomat⼀般有YUYV,YVYU,UYVY等,配置不对可能会导致颜⾊和亮度错掉,例如下图对于Raw Sensor来说,Data Format就是First Pixel的颜⾊,分为R,Gr,Gb,B,配置不对会导致颜⾊错误f) MCLKBB提供给Sensor的外部clockg) PCLKParallel接⼝的Sensor输出的clock,该clock变化⼀次,data更新⼀次h) mipi 信号mipi信号包括mipi clock和mipi data,该信号是⾼速信号,⽤来传输mipi数据包
第⼆章 Camera软件架构主要包含三个部分的介绍:1)Android Camera 架构:Android系统原⽣架构简要介绍.2)Mediatek Android Camera架构: 简要介绍Mediatek平台在Android系统基础上Camera 的架构.3)Camera data path: 介绍在平台端Camera的数据流.1.下图为Android Camera 架构 Camera根据Android 架构从上⾄下可分为 1)Applications: 最上层的应⽤,编译后⽣成Camera APK; 2)Application Framework: 主要为Applications提供API; 3)JNI: 使Application Framework和Libraries可交互; 4)Libraries: 包括Camera Framework和Camera Service(camera service和camera client); 5)HAL: 硬件抽象层, ⽤来链接driver和 Camera Service; 6)Kernel: image sensor driver的实作.其中2)~4)的部分基本为Android原⽣的架构和code,Mediatek会有⼀些拓展,⽽HAL和Kernel层为Mediatek主要实作的部分,CameraAPK是Mediatek基于Android 原⽣Camera APK修改的应⽤.
2.下图为MT6589/82/72/92/88平台基于Android架构上, ,Camera从application到kernel层详细的架构. 1)蓝⾊部分主要由Java实现(偏向应⽤层)、黄⾊为JNI实现(C++,衔接Java层和Native层), 绿⾊由C++实现(通常称为Native层),⽽枣红⾊为C实现(Kernel 层).2) HAL libraries为Mediatek在HAL层的实现,主要分Camera HAL和Camera Core两⼤部分.Camera HAL衔接Camera Service并响应它的需求,实现各个feature的scenario; ⽽Camera Core提供平台⼀些通⽤的数据流控制接⼝.
3.最后这部分为Camera的数据流简要介绍说明:1) TG(Timing Generate):从sensor获取数据,并送给ISP处理.2) Platform Data Processor: 包括平台在后端对图像数据进⾏resize、rotate、flip、format convert等处理.它可以同时有两个buffer输出. 当normal preview时,port1输出给display,port2输出给face detection或者app preview callback 当normal capture时,port1输出⼤图给jpeg encoder,port2输出⼩图给回显和thumbnail encode.当video record时,port1输出给display,port2输出给video encoder.
发布者:admin,转转请注明出处:http://www.yc00.com/news/1687754647a39718.html
评论列表(0条)