画面模糊问题的源头也是来自用户的微距体验不佳,我们对问题深入分析,适当拆解。通过 Apple Development Doc 的查阅及实践,一步步抽丝剥茧,最终完美解决用户的体验痛点,也为我们自身沉淀了展示微距的能力。
前言
在最近两年苹果发布的 iPhone13 Pro Max 和 iPhone14 Pro Max 系列的手机上,如果使用三方主流 app 进行近距离对焦,会产生画面模糊的问题。拍立淘是手机淘宝相机能力的主阵地之一,用户会进行近距离拍照识别商品,或者近距离扫物流单二维码、吊牌条码、药品码等行为,类似手机系统相机的微距能力没有释放出来,会影响用户的使用体验。基于上述背景,为了优化用户体验,拍立淘 iOS 端开发团队进行了摄像头切换(微距)问题的分析和解决。
本文从原理开始分析,通过层层拆解,把「微距实现」这个命题划分成为三个主要的解决目标:变焦系数、光照水平、焦点位置的确定。并围绕链路实现、性能、适配三个层面进行可行性验证,完成微距能力的落地。
下图:图1-4为部分 app 镜头页在 iPhone13 Pro Max 的近距离对焦表现,图5为应用了微距能力的拍立淘。
背景知识
▐ 成像原理
- 焦距
焦距:焦距是从镜头的中心点到传感器平面上所形成的清晰影像之间的距离。镜头的焦距决定了该镜头拍摄的物体在传感器上所形成影像的大小。焦距的本质是“视角”,焦距越短,视角越大;焦距越长,视角越窄。焦距是以“mm”为单位。如下图所示是常见的焦距和可视范围。
为什么在我们对准某个物体的时候,有时候会出现画面的模糊,需要手动或自动对焦解决?这就要说到对焦。
对焦:当焦平面落在成像面(感光sensor)上时,图像是最清晰的。如果成像面在焦深范围之外,图像是模糊的。所以有时候为了获取清晰的成像,需要调焦。手动调焦(MF)或者是自动调焦(AF)。
自动调焦有多种方法:测距离法、反差检测法、PDAF相位检测法等等,苹果的Focus Pixels其实就是相位差对焦技术。
- 变焦
光学变焦:依靠光学镜头结构来实现变焦。通过镜片移动(焦距发生变化),来放大与缩小需要拍摄的景物,光学变焦倍数越大,能拍摄的景物就越远。光学变焦在单反相机比较常见。在手机相机中,主要是通过切换镜头来实现光学变焦的效果。
数码变焦:纯粹对一张数码照片进行放大操作,比如说,把一张10×10像素大小到图片改成15×15像素,看起来画面就大了,但这种操作是纯粹数码层面的,没有任何光学镜片介入。
下图为iPhone 14 Pro Max具有的光学变焦和数码变焦能力。即当我们使用系统相机进行0.5~3倍焦距调节时候,是光学变焦,从3-15倍焦距调节的时候,是数码变焦。
- 多摄像头
为了在手机上实现更为强大的影像效果,手机厂商走出了多摄像头组合的路线,通过在手机上集成多个不同特性的摄像头,来在手机上实现出多样化的拍摄效果,用户在拍摄界面操作变焦时不同的影像焦段交给对应的摄像头处理,焦段过渡时利用数码+光学变焦结合进行补间,通过这种方式在手机上实现了的长焦+短焦,同时再配置一些广角、大光圈、景深与色彩等特种镜头,让丰富的摄像头组合支撑出强大的多样化的手机拍摄能力。
下图为iPhone 14 Pro Max具有的多摄像头:主摄+超广角+长焦。
▐ 苹果相机
- iPhone成像系统概览
iPhone在主摄的基础上,在设备迭代中相继加入了多摄:包括长焦镜头与超广角镜头。
其中,有如下几个重要的技术更新点:
- 2014年,iPhone 6 Plus摄像头首次加入镜头光学防抖;
- 2016年,iPhone 7 Plus首次采用双摄方案(加入长焦镜头);
- 2019年,iPhone 11 Pro首次采用三摄方案(加入超广角镜头);
具体图表如下(图引):
- 无法对焦的的主要原因
从 iPhone 12 Pro 系列开始,后置主摄传感器增大了许多(1.7微米超大底),而大底 Cmos 带来的问题就是,对焦距离无法做到更近。而在 iPhone 13 Pro 系列和 iPhone 14 Pro 系列机型中,苹果加入了广角微距,支持微距控制,因此这些机型理论上是支持近距离拍摄的,并且还能拍摄得非常清晰。
问题分析
基于上述分析,得知苹果在硬件层面中,在带超广角的iPhone机型当中,是能够带给用户更好的微距体验。但是需要app支持。当前拍立淘业务中拍近距离物体会模糊的问题,拆解出主要有三个层面的问题待确认:
- 链路实现层面
- 不支持摄像头自动切换的原因是什么?
- 摄像头自动切换需要具备哪些条件?
- 与业务现有链路如何融合?
- 性能层面:
- 是否会造成内存的增加?
- 是否会造成CPU的增加?
- 适配层面
- 对于不同机型、不同系统版本,需要什么策略适配?
▐ 链路实现层面
- 不支持摄像头自动切换的原因是什么?
拍立淘的相机创建链路如下:
其中,涉及到此问题的关键步骤为生成AVCaptureDevice
。
AVCaptureDevice 在整个视频采集过程中提供实现摄像头和麦克风相关初始化,并可以对摄像头进行一些基本设置,如:闪光灯、手电筒、聚焦、曝光、白平衡等一些基本设置。
原有的生成device逻辑,是调用系统方法devicesWithMediaType:
,而这个方法在iOS10之后已经废弃。对于需要利用新设备上的多摄像头自动切换,使用这个接口是不能达到目的。根据API的提示,需要采用新的AVCaptureDeviceDiscoverySession:
- 支持摄摄像头自动切换需要具备哪些条件?
要实现自动切换,就要调用新的接口。在使用方式上,我们也遇到了一些理解难点,下面是过程记录。
首先从这个新接口入手,他的入参有三个:deviceTypes、mediaType、position。其中:
- mediaType是设备的媒体类型。比如音频、文本等,这里自然就选择AVMediaTypeVideo。
- position是相机的位置是前置还是后置。根据不同的业务需要,拍立淘主要的流量场景是AVCaptureDevicePositionBack。
- deviceTypes是可以获取的相机设备内容。他的可选项比较多,需要根据系统版本区分选择。这次我们要解决的是微距,因此需要增加超广角的获取。我们主要把目光注意到AVCaptureDeviceTypeBuiltInDualWideCamera上,而对于不支持的设备,我们做好适配和兜底即可。
/** AVCaptureDeviceTypeBuiltInWideAngleCamera 广角(默认设备,28mm左右焦段) AVCaptureDeviceTypeBuiltInTelephotoCamera 长焦(默认设备的2x或3x,只能使用AVCaptureDeviceDiscoverySession获取) AVCaptureDeviceTypeBuiltInUltraWideCamera 超广角(默认设备的0.5x,只能使用AVCaptureDeviceDiscoverySession获取) AVCaptureDeviceTypeBuiltInDualCamera (一个广角一个长焦(如iPhone7P,iPhoneX),可以自动切换摄像头,只能使用AVCaptureDeviceDiscoverySession获取) AVCaptureDeviceTypeBuiltInDualWideCamera (一个超广一个广角(如iPhone12 iPhone13),可以自动切换摄像头,只能使用AVCaptureDeviceDiscoverySession获取) AVCaptureDeviceTypeBuiltInTripleCamera (超广,广角,长焦三摄像头(如iPhone11ProMax iPhone12ProMax iPhone13ProMax)可以自动切换摄像头,只能使用AVCaptureDeviceDiscoverySession获取) AVCaptureDeviceTypeBuiltInTrueDepthCamera (红外和摄像头,能够获取景深数据(如iPhone12ProMax iPhone13ProMax)) */
热门文章
最新文章
相关实验场景
更多相关内容推荐
优化网站内容质量排名济南专业网站优化seo公司信息流网站优化教程吴中网站优化有哪些网站代码优化重构是什么意思优化网站建设人员外贸网站优化的软件快速优化网站有哪些方法昆明专业网站seo优化北塔网站优化许昌官网网站优化代办惠州seo优化网站推广南宁网站优化价格网站优化url表格灵宝网站优化推广大同外贸网站优化佛山专业网站优化效果如何安陆网站排名优化开封企业网站排名优化新密网站搜索优化信宜网站搜索优化网站的优化快选它云速捷专业网站链接优化建议石林网站优化策划浙江网站关键字优化宜都网站优化即墨网站排名优化广州网站SEO优化工作室网站怎么一步步优化盘锦优化网站推广吉安网站优化注意事项前端网站常规优化方案介休公司网站优化苏州网站自然优化排名网站优化建议报告涿州市网站seo优化排名武威优化网站优化网站排名克制云速捷拥有沧州东光网站页面优化网站怎么优化短期选云速捷关键词优化排名网站立的火星家装设计户型优化设计网站温州网站怎样优化网站优化原则和依据光学材料网站优化余姚高端网站优化网站 优化妥当易 速达服务类网站优化日照正宗网站优化公司如何在网站中对关键词优化怎么把网站优化到国外去利用seo技术优化网站网站优化最重要的是什么如何做好学校网站优化优化网站软件辶要金手指专业网站收录和优化铜陵网站优化服务盘锦优化网站推广宿州网站建设优化商丘百度网站优化哪个公司好临汾seo网站优化百度网站什么优化排名双辽网站怎么优化长春网站优化哪家好网站如何优化引流贵港网站优化服务商网站优化专业诊断云南网站优化推广联系方式延安网站seo优化江阴百度网站优化广昌网站优化渠道知名的网站优化推广优化网站方法就连火1星惠陶瓷机械网站seo优化哪家好百度快照网站优化密度邢台网站seo优化公司洛阳网站建设网站制作网站优化长春网站优化代理盖州网站优化排名北京平价网站权重优化成功的网站优化网站优化高质量外链网站优化推广引流学网站优化是大学的什么专业网站代码简洁对优化遂宁网站优化有哪些顺德网站推广优化机械类产品网站做优化正规的网站推广优化要多少钱沧州网站优化怎么收费移动网站的搜索引擎优化方案威海网站优化方法如何优化网站的长尾关键词杭州推荐网站设计优化恩平优化网站长春优化推广网站深圳罗湖企业网站优化价格推荐网站优化欢迎咨询网站排名网站设计开发设计优化网站文章优化更新优化网站设置访问速度庐江网站首页优化上街区如何优化网站铁岭婚纱摄影网站优化的优势湖南网站优化怎么收费三河网站托管优化推广网站首页 图片优化网站代码优化细节廊坊网站优化电池充电简阳网站优化多少钱如何结合优化做网站福建省网站优化的内容公司札达县网站seo优化排名网站优化是收录还是外链重要网站优化seo毕业论文新乡市网站seo优化排名网站排名优化询问q火17星汕尾网站优化品牌贵州网站seo优化滁州网站优化排名济源网站优化排名马鞍山网站优化公司有哪几家西藏网站综合优化好的服装行业网站优化价格亳州企业网站优化方法邯郸网站制作优化电商网站优化推广威海网站优化代理商郑州百度网站优化系统威海视频网站优化公司南京优化推广网站罗湖正规网站优化软件网站优化要什么编程海城快速网站优化网站优化没流量搜索优化的培训网站平台福州台江网站优化和推广网站的标签如何优化推荐优化网站竞争优势松岗网站优化品牌怎么做一个网站优化网站优化注意事项有哪些网站关键词优化代理铁岭网站SEO优化顾问服务比较好的网站优化成功案例利用seo技术优化网站山东网站优化哪家公司好怀柔外贸网站优化推广泉山网站优化慈溪营销型网站建设优化建站新乡网站建设优化哪家专业无锡最好优化网站余姚网站seo优化你是如何理解网站优化网站优化师需要什么资料网站优化产品标签网站快速优化排名采用火14星江宁区个人网站优化四川专业网站优化质量保障seo中网站优化的要点青岛正宗网站优化服务网站优化怎么操作教程快速优化企业网站图片怎么优化网站专业的网站优化平台胥口优化网站哪家公司好金华有经验的网站推广与优化优化网站解决方案供应商郑州怎样做网站的优化 排名南漳县网站关键词优化效果如何选择域名有利于网站优化李沧快速优化网站网站权重优化团队衡水网站关键词优化排名林西网站优化怎么优化网站排名好又省钱宝安网站排名优化宝鸡网站优化seo推广服务优化网站建设的公司商丘网站排名优化多少钱网站建设优化莆盟丷云速捷优化网站颂扬云速捷选择平顶山网站自然优化哪里的好浙江电子网站优化耗材兴化网站优化稳定吗老网站优化怎么设置网站做优化立择火3星铁岭市机械行业网站优化聊城营销型网站优化公司网站外部链接优化方法的是新浪网网站优化策略孝义网站优化极简网站优化是什么南通网站优化建议柳州网站优化公如何优化网站能引起访客转化潍坊集团网站优化网站关键字优化建议公司网站seo移动端怎么优化隆化网站优化