Camera 基础知识点

news2024/11/21 1:28:35

407bd6f3ad0846af34d7595e251840b9.gif

和你一起终身学习,这里是程序员Android

经典好文推荐,通过阅读本文,您将收获以下知识点:

1.1 Camera 工作原理
1.2 Camera 模组组成
1.3 Camera 常见缩写解释
1.4 Camera 部分名词解释
1.5 参考文献

一、Camera 基础知识

1.1 Camera 工作原理

外部光线穿过镜头Lens 后, 经过 Color Filter 滤波后照射到CMOS Sensor 上, CMOS Sensor 将从 Lens 上传导过来的光线转换为电信号,再通过内部的AD模数转换,转换为数字信号。如果 Sensor 没有集成 DSP(数字信号处理),则通过 DVP(数字视频端口) 的方式传输到 基带Baseband上,此时的数据格式是 RAW DATA。如果集成 了 DSP, RAW DATA 数据经过 AWB、 则 Color Matrix、 Lens Shading、 Gamma、 Sharpness、 AE 和 De-noise 处理,后输出 YUV 或 RGB 格式的数据。
最后会由 CPU 送到 framebuffer 中进行显示,这样我们就看到 camera 拍摄到的影像了
Camera 工作原理举例:

644561091efea246f1191917ad460c26.png

程序员Android 转于网络

1.2 Camera 模组组成

Camera 模组主要包含 镜头Lens、传感器Sensor 、软硬结合板FPC、ISP图像处理器,音圈马达VCM等 。
Camera 模组举例:

d597fec82ea5c3d29fc35229507bc9d7.png

程序员Android 转于网络

1.3 Camera 常见缩写解释
缩写全文备注
CMOSComplementary Metal-Oxide-Semiconductor互补金属氧化物半导体
ISPImage Singal Process图像信号处理
DSPDigital Signal Processing数字信号处理
DVPDigital Video Port数字视频端口
IFEImage front-end Engine图像前端引擎
BPSBayer Processing SegmentBayer 处理阶段
IPEImage-processing engine图像处理引擎
NPSNoise Processing Segment降噪处理阶段
PPSPost Processing Segment滤波处理阶段
AEAuto Exposure自动曝光
TETime Exposure曝光时间
AFAuto Focus自动对焦
AWBAuto White Balance自动白平衡
IQImage Quality效果相关的图像质量
DPCDefect pixel Correction坏点校正
BLCBlack Level Correction黑电平校正
DemosaicDemosaic去马赛克
BokehBokeh人像虚化,焦外成像
ASFAdaptive Spatical Filter边缘锐化
CACChromatic Aberrations Correction去紫边
FBCFrame Buffer Compressed帧缓冲压缩
CPASCamera Peripheral And Support相机外设
CSIDCamera Serial Interface Decoder Module相机串行接口解码器
CCICamera control interface相机控制界面
VPUVideo Processing Unit视频编解码处理单元
DPUDisplayProcessing Unit显示处理单元
HDRHigh-Dynamic Range高动态范围
LSCLens Shading Correction校正Lens 中间亮四周暗
CDAFContrast Detection Auto Focus反差对焦
PDAFPhase Detection Auto Focus相位对焦
LDAFLaser Detection Auto Focus激光对焦
1.4 Camera 部分名词解释
  • AE 自动曝光
    根据可用光源调节自动设置曝光值,避免找错主体拍摄时候过曝或曝光不足,主要有光圈 、曝光时间、感光度ISO三者共同决定。

  • AF 自动对焦
    通过对既得图像对比度移动镜头,使图像对比度达到最大

  • AWB 自动白平衡
    根据光源条件调节调整图片颜色的保真程度,避免物体在不同光线照射下出现不同程度的色差。

  • CDAF Contrast Detection Auto Focus 反差对焦

反差对焦是目前普及率最高、使用最广泛、成本相对较低的自动对焦技术,也称对比度对焦。

对焦的过程就是通过移动镜片来使对焦区域的图像达到最清晰的过程,所以对焦成功以后,直观的感受就是焦点的清晰度最高,而焦点以外的区域表现为相对模糊的状态。

采用反差对焦的相机,当我们对准被摄物体时,镜头模组内的马达便会驱动镜片从底部向顶部移动,在这个过程中,像素传感器将会对整个场景范围进行纵深方向上的全面检测,并持续记录对比度等反差数值。找出反差最大位置后,运动到顶部的镜片则会重新回到该位置,完成最终的对焦。

所以使用反差对焦的手机在拍照过程中,如果取景框中的物体位置、内容发生了变动,我们的肉眼就可以观察到屏幕上的内容由模糊到清晰再到模糊的过程,有一种镜片在前后推拉的直观感受。

因为反差对焦的工作方式是进行对比度检测,因此相机镜片必须要前后移动完整记录所有的图像信息,然后计算对比度最高的位置,才能最终完成对焦。所以反差对焦的一个主要缺点就是耗费的时间较长

  • PDAF Phase Detection Auto Focus 相位对焦

单反相机普遍采用相位对焦系统,相比于数码单反相机上的相位对焦,手机上的相位对焦则是直接将自动对焦传感器和像素传感器直接集成在一起,即从像素传感器上拿出左右相对的成对像素点,分别对场景内的物体进行进光量等信息的检测,通过比对左右两侧的相关值的情况,便会迅速找出准确的对焦点,之后镜片马达便会一次性地将镜片推到相应位置,完成对焦。

由于取消了之前的检测过程,且镜片马达需要移动的距离更短,对焦速度明显变快,在画面上也不会有来回对焦的情况,对于拍视频而言,效果也更加自然。不过,相位对焦并不是那么完美,它对光线的要求就比较高,在弱光拍摄环境下,相位对焦就无能威力了。

  • LDAF Laser Detection Auto Focus 激光对焦

激光对焦是通过后置摄像头旁边的红外激光传感器向被摄物体发射低功率激光,经过反射后被传感器接收,并计算出与被摄物体之间的距离。之后镜间马达便直接将镜片推到相应位置,完成对焦。和相位对焦一样,同样是一次完成。

激光对焦技术对于微距、弱光环境以及反差不够明显的区域,效果显著,能够有效提高手机在这些情况下的对焦成功率,只是在对焦速度上,激光对焦比较一般。而在光线正常的条件下,激光对焦的速度和相位对焦一样非常之快

  • YUV Sensor 低端5M以下

YUV Sensor输出的Data格式为YUV,图像的效果处理使用Sensor内部的ISP,BB端接收YUV格式的data后只进行格式的转换,效果方面不进行处理,由于Sensor内部的ISP处理能力有限,且YUV Sensor的数据量比较大(YUV422的格式1个pixel2个byte),一般Size都比较小,常见的YUV sensor都是5M以下

  • RAW Sensor 主流模组

Raw 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

  • 三路电压

camera包含的三路电压:
模拟电压(VCAMA) AVDD模拟供电,主要给感光区域和ADC部分供电
数字电压(VCAMD)DVDD数字供电,主要给ISP供电
IO口电压(VCAMIO)VDDIO数字IO电鱼主要给I2C 部分供电

ps:
还有一个VCAM_AF 是对Camera 自动对焦马达供电

  • I2C信号
    BB与Sensor端通过I2C来通信(读写寄存器),包括SCL(I2C Clock) SDA(I2C Data)信号

  • mipi几条lane

mipi data是成对的差分信号,MIPI_RDN和MIPI_RDP,有几对这样的pin脚,则说明是几条lane,同一颗sensor由于register setting不同,输出的信号有可能是2 lane或者4lane等

  • Data Format

Sensor输出的数据格式,对于YUV Sensor来说,Data Fomat一般有YUYV,YVYU,UYVY等,配置不对可能会导致颜色和亮度错掉,例如下图

fa3fc5f39b139c90a642b498a43b9f76.png

程序员Android 转于网络

  • MCLK

BB提供给Sensor的外部clock

  • PCLK

Parallel接口的Sensor输出的clock,该clock变化一次,data更新一次

  • mipi 信号

mipi信号包括mipi clock和mipi data,该信号是高速信号,用来传输mipi数据包

参考文献:

【腾讯文档】Camera学习知识库
https://docs.qq.com/doc/DSWZ6dUlNemtUWndv

友情推荐:

Android 开发干货集锦

至此,本篇已结束。转载网络的文章,小编觉得很优秀,欢迎点击阅读原文,支持原创作者,如有侵权,恳请联系小编删除,欢迎您的建议与指正。同时期待您的关注,感谢您的阅读,谢谢!

762fbb46f297ce660b8dd8f5a7825417.jpeg

点击阅读原文,为大佬点赞!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/669189.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[进阶]Java:线程安全问题、取钱模拟

什么是线程安全问题? 多个线程,同时操作同一个共享资源的时候,可能会出现业务安全问题。 线程安全问题出现的原因? 存在多个线程在同时执行同时访问一个共享资源存在修改该共享资源 代码演示如下: 账户类&#xff…

深蓝学院C++基础与深度解析笔记 第 5 章 语句

1. 语句基础 ● 语句的常见类别 – 表达式语句:表达式后加分号,对表达式求值后丢弃,可能产生副作用 – 空语句:仅包含一个分号的语句,可能与循环一起工作 – 复合语句(语句体):由大…

软考A计划-系统集成项目管理工程师-信息系统集成及服务管理体系

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例点击跳转>软考全系列 👉关于作者 专注于Android/Unity和各种游戏开发技巧&#xff…

Flutter Dart 变量和内置类型

目录 一、变量 1.1 var 1.2 Object 1.3 dynamic 1.4 final与const 二、内置类型 2.1 num(数值) 2.2 Strings(字符串) 2.3 bool(布尔值) 2.4 List(列表) 2.5 Map(映射集…

Android apk 反编译后打包(含签名)

想分析某些app源码时,遇到烦人弹框,现在想反编译看看具体实现。 用到的工具: GDA4.06 apk反编译工具 apktool apk 打包工具 jdk 环境 一、反编译分析 将apk反编译打开 找到入口代码 弹框代码如图 二、解包、打包 使用apktool解包 ps: apktool工具…

unity游戏架构设计

1.unity架构的3个等级 EmptyGO 所有功能写一个脚本挂载object上面,没有单列manager。 Simple GameManager 写一个公用的管理器,方便调用 Manager of Managers 不同的类型的东西用不同的管理器【声音管理器,关卡管理器,】 2…

chatgpt赋能python:Python搜索快捷键

Python搜索快捷键 介绍 Python作为一门广泛应用在各个领域的编程语言,其强大的搜索功能也得到了广泛的应用和赞誉。但是,在日常的使用中,有时我们需要进行大量的搜索和筛选操作,这时候掌握一些Python搜索快捷键将能够极大地提高…

java入门2(运算符)

目录 运算符和C语言基本一样 算术运算符 单目运算符:自增自减运算符 比较运算符 逻辑运算符 位运算符(C语言好像没有) 优先级 交换算法 运算符和C语言基本一样 算术运算符 比如拆分一个三位数 public class java练习代码 {public…

Cortext-M3系统:NVIC与中断控制(4)

1、NVIC概述 向量中断控制器,简称NVIC,是Cortex-M3不可分离的一部分,它与CM3内核的逻辑紧密耦合。NVIC的寄存器以存储器映射的方式来访问,除了包含控制寄存器和中断处理的控制逻辑之外,NVIC还包含了MPU、SysTick定时器…

算法分析01--算法的基本概念

1.算法设计与分析的基本概念 1.1算法 算法(Algorithm)是对特定问题求解步骤的一种描述, 它是指令的有限序列, 其中每一条指令表示一个或多个操作。 算法具有以下5个重要特性: 1.有穷性 一个算法必须在有穷步内完成,并且每一步…

Vue2 到 Vue3, 5 个常用API的变化有哪些

Vue3之于Vue2最大的变化,当属composition API了,而除了引入composition API外,一些我们在Vue2上经常使用的东西到了Vue3时也发生了不小的变化,本文将介绍一些有Vue2到Vue3中几个比较重要且常用的知识点,欢迎感兴趣的同…

学习adaboost(一,遍历分类器,c#实现)

我看了很多遍,终于搞懂了,现在编程试一试, 参考文献(十三)通俗易懂理解——Adaboost算法原理 - 知乎 (zhihu.com) 先写一一段代码,把这个数据集里头的所有分类器找出来:一共四种结果&#xff1a…

C++基础(4)——类和对象(2)

前言 本文主要介绍了C中类和对象的基本知识。 4.2.5:深拷贝和浅拷贝 浅拷贝:编译器给我们提供的拷贝函数就是等号复制操作 深拷贝:自己手动重写一个拷贝构造函数,重新new 浅拷贝会出现的问题:如果使用编译器提供的…

CSS3-背景

背景 1 背景颜色 2 背景图片 3 背景平铺 4 背景位置 5 背景相关属性连写 6(拓展)img标签和背景图片的区别 1 背景颜色 属性名:background-color 取值;关键字、rgb表示法、rgba表示法、十六进制 注意: 1 背景颜色默认值…

基于Java中小企业人力资源管理系统设计实现(源码+lw+部署文档+讲解等)

博主介绍: ✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战 ✌ 🍅 文末获取源码联系 🍅 👇🏻 精…

CSS查缺补漏之《常用文本属性、列表属性、表格属性、鼠标属性》

文本属性 letter-spacing&#xff1a; 表示字母或汉字间距&#xff1b; word-spacing&#xff1a;表示单词之间或汉字之间空格的间距 <div>Loremip sumdolors itametconsecteturadipisicingelit.Voluptas.</div> <div>这是一首简单的小情歌 唱着我们心肠的曲…

chatgpt赋能python:Python数据归一化:什么是数据归一化及其作用

Python数据归一化&#xff1a;什么是数据归一化及其作用 数据归一化是一个在数据分析中经常出现的术语。其目的是将数据缩放到相同的比例&#xff0c;从而进行更加准确和可靠的分析。在本文中&#xff0c;我们将介绍什么是数据归一化&#xff0c;为什么我们需要它以及如何在Py…

Element-ui 滚动条美化

目录 1、缘起 2、实际示例 3、美化滚动条 4、Element-plus中的滚动条 5、关于实现方式的思考 1、缘起 之前在做项目时&#xff0c;发现一个项目中&#xff0c;各个子应用项目的UI表现不一致&#xff0c;看了下式Vue项目滚动条和其他的子应用项目表现明显不一致。 有时候…

《网络安全0-100》网络安全前沿

1-人工智能和网络安全 人工智能和网络安全是两个不同的领域&#xff0c;但它 们之间存在着千丝万缕的联系和相互影响。下 面是一些人工智能和网络安全的联系和应用&#xff1a; 威胁检测和预测&#xff1a;人工智能可以利用机器学习 和深度学习等技术&#xff0c;对网络数据…

Golang每日一练(leetDay0103) 区域和检索1~3 Range Sum Query

目录 303. 区域和检索 - 数组不可变 Range Sum Query Immutable &#x1f31f; 304. 二维区域和检索 - 矩阵不可变 Range Sum Query 2d Immutable &#x1f31f;&#x1f31f; 307. 区域和检索 - 数组可修改 Range Sum Query Mutable &#x1f31f;&#x1f31f; &#…