Android Camera
文章平均质量分 91
嵌入式Max
手机 Camera 软件研发。
技能:V4L2、音视频处理软件框架-openMAX、Android Camera、ISP 处理
展开
-
Camera ISP - ColorCorrectionMatrix
本文主要是针对 CCM 的来源,我们为什么需要 CCM,以及 CCM 大概的计算方法做了一个大概的描述,算法内部原理并没有深入了解,现阶段这个程度已经可以满足学习需求了,等到后面系统成型之后可能会需要深入每一个算法的实现原理里面去研究下。本文的参考放在下面这里了,可能不太全面,但是我挑了比较好的几篇文章放这里了。原创 2022-10-15 17:01:49 · 4244 阅读 · 0 评论 -
Tone Mapping Correction
上一篇说了 Gamma 矫正的概念,而色调映射的本质理解和 Gamma 有相似之处,所以就顺着思路说到色调映射的概念。色调映射(Tone mapping)用一句话来总结就是用于在显示设备上面更好的呈现出 HDR 的图像效果,包括亮度以及色彩的主观感觉上的增强,最直观的影响就是会造成色调和对比度的变化,从目的上来讲,Tone mapping 和 Gamma 的之所以诞生最开始的作用都是用来在 LDR 设备上面显示 HDR 图像的。原创 2022-09-18 16:44:44 · 1582 阅读 · 0 评论 -
Camera ISP - Gamma 矫正
这是第一篇 Camera ISP 的文章,主要从自己收集到的资料来试着描述下关于 Gamma 的理解,需要注意的是目前为止我了解到的有关于 Gamma 的说法还是众说纷纭,各处都不甚一致,在尽可能收集资料之后进行了自己的理解归纳,可能与别人的又是不一样的一套东西,不过不求达到最精确的理解,能够达到百分之七八十的正确性就可以了,这样已经能够保证百分百可以实际应用到工作中。Gamma 之所以是一个比较复杂的概念,原因是它涉及到了好几个不同的知识领域概念,每一块里面 Gamma 的具体解释与应用不甚相同,我想这个原创 2022-04-04 12:39:27 · 2584 阅读 · 0 评论 -
Camera ISP-知识大纲
Camera原创 2022-02-27 18:19:13 · 2329 阅读 · 6 评论 -
Camera 工程师的披荆斩棘之路
本文以个人的工作学习经历来描述一 Camera 软件工程师的披荆斩棘之路,时间从大学开始,以至任职于高通 Camera 软件工程师结束,杂以本人学习过程当中的一系列学习笔记和博客文章,绝对是干货满满,甚至于稍有溢出,堪称手把手教你如何成为一名稍显合格的 Camera 软件工程师。另外由于是以个人经历为参考点出发的,所以有些看起来中间会有很多是无关紧要的,但是依然作为自己的经历一部分写进去了。倘若是按照我这个学习路径来的话可能会稍显吃力,因为要接触的东西实在是太多了,并且有些可能会跟不上时代的发展,但是其中原创 2021-01-23 18:39:36 · 10406 阅读 · 13 评论 -
Android Camera HAL3 -SessionParameter
本文参考:https://source.android.google.cn/devices/camera/session-parametershttps://source.android.google.cn/devices/camera/bokehSession Parameter 是用于在 configure_streams 阶段就进行初始化配置的选项,类似于之前的 setParameters 的作用,自 camera 的架构改成全部参数使用 metadata 来传递之后,在 configure原创 2020-09-19 09:54:06 · 1579 阅读 · 0 评论 -
AndroidCameraHAL3-MultiCamera-CameraX
CameraX 是一个 Jetpack 支持包之一,据官网介绍主要目的就是为了编写 camera APP 更加简单高效,该模块提供了一个一致的、高效的编程 API,可以在左右的 Android 设备上面使用,并且向后兼容到 Android 5.0(API 21)。虽然 CameraX 使用的还是 camera2 的接口,但是它通过封装提供了一个更加简单的、基于用例的生命周期追踪的封装接口。并且这层封装还把设备相关的代码隐藏了起来,这部分全部交给 CameraX 来完成,用户就不用再去添加设备兼容性相关的代码原创 2020-07-05 09:46:39 · 1272 阅读 · 1 评论 -
Android Camera HAL3 - MultiCamera-HALBufferManager
从 Android10 开始,camera 系统加入了一个可选地 buffer 管理方式,可以在 Vendor HAL 这边灵活使用这个选项进行 buffer 管理,以此达到减少 buffer 使用峰值,改变 request 执行速度等优点。具体的来说就是对于 HAL request queue 中的每一个 request 来讲,并不是每一个 request 的每一个 buffer 都是被使用到的,有些 request 可能就没有用到 buffer。说到这里想起关于 buffer 使用量的几个问题,一个是原创 2020-06-21 11:48:37 · 2330 阅读 · 0 评论 -
Android Camera HAL3 - Multi Camera(1)
本文介绍下 Google Android 在其文档中对于 Multi-Camera 的描述,以及 Android R 中对 Camera HAL3 的一些新增内容,Multi-Camera 从 Android 9 也就是 P 开始就已经有相关的支持描述了,只不过还是比较简单的要求,并不是十分的完备。Android HAL 特指 Google 自己实现的 framework HAL 层级代码,也就是承接 APP/Framework 和 Vendor HAL 的这部分代码。下面是 Android 中国区的网址原创 2020-06-14 13:58:27 · 3965 阅读 · 2 评论 -
Android Camera HAL3 -架构设计
其实从 APP 到 Google HAL 再到 Vendor HAL 的通用 interface,这些地方的架构都是包含在 Android 包里面的,基本上是有迹可循的,在开发的时候即使是什么都不没有提前去了解过,那也没关系,循着代码包里面的代码总是能够找到相关的通路的。但是有一个地方不同,那就是 Vendor HAL 的实现部分,因为这部分是 Camera 平台相关的内容,包含了大量的硬件设备,...原创 2020-04-19 10:57:17 · 2241 阅读 · 0 评论 -
Android Camera HAL3-metadata
Metadata 是整个 Android camera 中类似于高楼大厦中的管道系统一样,贯穿了整个 Camera 的 Framework 和 vendor HAL,Metadata 里面几乎包含了所有的控制、参数、返回值等等,总线型的设计使得这个玩意儿承担的任务不可谓不重。本文从几个角度来学习一下 Metadata 的设计、使用、可优化的点,并不准备特别特别细节去介绍代码的每一行,主要是注重其想...原创 2020-03-28 11:31:47 · 4055 阅读 · 1 评论 -
AndroidCameraHAL3-相机都是怎么玩的
现在的手机里面摄像头数目已经到 5 个 6 个的级别了,相机的功能也不再是当初那简单直白的拍照功能了,而是在里面混入了超级多的特性,本篇文章就对目前为止手机 Camera 里面各种模式下的特性和需求规格做一个简单的介绍,应该会涵盖了当前市面上大部分的上市手机。下面会大体上按照相机的大的场景来进行分类,每一个大的应用场景下面会有一些细节子功能的补充描述,不过也会有一些其他分类方式。原来,小小的相机...原创 2020-03-07 14:13:12 · 4174 阅读 · 5 评论 -
Android Camera HAL3 - 框架流程预览
前面说了 HAL3 是一个总线型的设计结构,本文就先对 HAL3 的控制流进行一个提纲挈领式的概述,主要理解整个 HAL3 的主干框架,以便对后续深入各个细节。主干流程以下全部都是摘抄 Google 官方网站上面介绍的 Camera 使用流程。枚举、打开相机设备并创建有效的会话(session)在初始化完成之后(这个初始化我觉得是 framework 层的服务初始化完成),framew...原创 2019-09-22 12:19:36 · 5064 阅读 · 5 评论 -
Android Camera HAL3 - 开篇词
好久没有写技术文章了,写这类东西需要耗费的精力太多,但是最近工作中频繁会接触到 Camera 的知识,不总结下看来也是对不起我新买的笔记本,这篇就算是稀里糊涂的开篇文章吧。技术类的文章产出总归是要非常慢的,之前写的 OpenMax 和 V4L2 每一篇都耗费了极长的时间,写的过程中会很苦恼,怎么组织自己的语言都感觉没法很好的表达自己的想法,让人忍不住时不时想口吐芬芳。Camera 基础模块Ca...原创 2019-09-01 16:29:12 · 2584 阅读 · 4 评论