自动相机调试的制作方法

文档序号:32254872发布日期:2022-11-19 06:30阅读:101来源:国知局
自动相机调试的制作方法
自动相机调试
1.相关申请的交叉引用
2.本技术要求于2020年3月30日在印度临时提交的题为“automated camera tuning”的印度申请no.202041013885的优先权,其全部内容和所有目的通过引用合并于此。
技术领域
3.本公开通常涉及相机调试,并且更具体地涉及用于基于用户反馈执行自动相机调试的技术和系统。


背景技术:

4.诸如相机的图像捕获设备可以使用图像传感器接收光并捕获诸如静止图像或视频帧的图像帧。图像捕获设备可以包括可以对一个或多个图像帧进行接收和处理的处理器(例如,一个或多个图像信号处理器(isp))。例如,由图像传感器捕获的原始图像帧可以由isp进行处理以生成最终图像。
5.isp可以通过将多个模块应用于所捕获的图像帧来对所捕获的图像帧进行处理。每个模块可以包括大量的可调试参数(诸如每个模块的数百或数千个参数)。此外,在不同的模块可能影响图像的相似方面的情况下模块可以是相互依赖的。例如,去噪和纹理校正或增强两者都会影响图像的高频方面。因此,为isp确定或调整大量参数以从所捕获的原始图像生成最终图像。


技术实现要素:

6.本文描述了用于执行自动相机调试用于基于用户反馈确定一个或多个相机设置的系统和技术。根据一个示出示例,提供了一种确定一个或多个相机设置的方法。该方法包括:接收选择用于调整的图像质量度量的指示;确定针对所选择的图像质量度量的目标图像质量度量值;以及从多个数据点中确定与具有最接近目标图像质量度量值的图像质量度量值的相机设置相对应的数据点。
7.在另一示例中,提供了一种用于确定一个或多个相机设置的装置。该装置包括被配置为存储至少一个图像的存储器和在电路中实现并耦合到该存储器的一个或多个处理器。一个或多个处理器被配置为并且可以:接收选择用于调整的图像质量度量的指示;确定针对所选择的图像质量度量的目标图像质量度量值;以及从多个数据点中确定与具有最接近目标图像质量度量值的图像质量度量值的相机设置相对应的数据点。
8.在另一示例中,提供了一种在其上存储有指令的非暂时性计算机可读介质,当指令由一个或多个处理器执行时,使得一个或多个处理器:接收选择用于调整的图像质量度量的指示;确定针对所选择的图像质量度量的目标图像质量度量值;以及从多个数据点中确定与具有最接近目标图像质量度量值的图像质量度量值的相机设置相对应的数据点。
9.在另一示例中,提供了一种用于确定一个或多个相机设置的装置。该装置包括:用
于接收选择用于调整的图像质量度量的指示的部件;用于确定针对所选择的图像质量度量的目标图像质量度量值的部件;以及用于从多个数据点中确定与具有最接近目标图像质量度量值的图像质量度量值的相机设置相对应的数据点的部件。
10.在一些方面,选择图像质量度量的指示包括调整的方向。在一些方面,调整的方向包括图像质量度量的降低或图像质量度量的增加。
11.在一些方面,上述方法、装置和计算机可读介质还包括:从多个数据点中去除针对所选择的图像质量度量具有相同的度量值的一个或多个数据点。
12.在一些方面,上述方法、装置和计算机可读介质还包括:接收选择用于调整的特定相机设置的指示,其中所选择的图像质量度量与所选择的特定相机设置相关联。
13.在一些方面,上述方法、装置和计算机可读介质还包括:从多个数据点中去除与具有比所选择的特定相机设置低的得分的一个或多个相机设置相对应的一个或多个数据点。
14.在一些方面,上述方法、装置和计算机可读介质还包括:从多个数据点中去除与针对所选择的图像质量度量具有相同的度量值并且具有比所选择的特定相机设置低的得分的一个或多个相机设置相对应的一个或多个数据点。
15.在一些方面,上述方法、装置和计算机可读介质还包括:基于选择图像质量度量的指示确定针对图像质量度量的调整的方向包括图像质量度量的降低;以及从多个数据点中去除对应于比所选择的特定相机设置针对所选择的图像质量度量具有更大的度量值的一个或多个相机设置的一个或多个数据点。
16.在一些方面,从多个数据点中去除一个或多个数据点产生一组数据点。在一些方面,上述方法、装置和计算机可读介质还包括:按降序对该组数据点进行排序。
17.在一些方面,上述方法、装置和计算机可读介质还包括:基于选择图像质量度量的指示确定针对图像质量度量的调整的方向包括图像质量度量的增加;以及从多个数据点中去除对应于比所选择的特定相机设置针对所选择的图像质量度量具有更小的度量值的一个或多个相机设置的一个或多个数据点。
18.在一些方面,从多个数据点中去除一个或多个数据点产生一组数据点。在一些方面,上述方法、装置和计算机可读介质还包括:按升序对该组数据点进行排序。
19.在一些方面,上述方法、装置和计算机可读介质还包括:基于所选择的图像质量度量的度量值、多个数据点中具有所选择的图像质量度量的极端值的数据点、和多个数据点的数量来确定度量因子;以及基于度量因子和所选择的图像质量度量的度量值确定针对所选择的图像质量度量的目标图像质量度量值。
20.在一些方面,上述方法、装置和计算机可读介质还包括:接收选择对图像质量度量的调整力度的指示;以及基于度量因子、所选择的图像质量度量的度量值、和对图像质量度量的调整力度来确定针对所选择的图像质量度量的目标图像质量度量值。
21.在一些方面,上述方法、装置和计算机可读介质还包括:接收选择期望的输出相机设置的数量的指示;以及基于度量因子、所选择的图像质量度量的度量值、和期望的输出相机设置的数量来确定针对所选择的图像质量度量的目标图像质量度量值。
22.在一些方面,上述方法、装置和计算机可读介质还包括:接收选择对图像质量度量的调整力度的指示;接收选择期望的输出相机设置的数量的指示;以及基于度量因子、所选择的图像质量度量的度量值、对图像质量度量的调整力度、和期望的输出相机设置的数量
来确定针对所选择的图像质量度量的目标图像质量度量值。
23.在一些方面,上述方法、装置和计算机可读介质还包括:输出与所确定的数据点相关联的信息用于显示。
24.在一些方面,上述方法、装置和计算机可读介质还包括:使用与所确定的数据点相对应的相机设置对图像信号过程进行调试。
25.在一些方面,选择用于调整的图像质量度量基于对图形用户界面的图形元素的选择。在一些方面,图形元素包括增加图像质量度量或降低图像质量度量的选项。在一些方面,图形元素与具有针对图像质量度量的调整值的显示图像相关联。
26.在一些方面,选择用于调整的图像质量度量基于对具有针对图像质量度量的调整值的显示图像帧的选择。
27.在一些方面,装置包括相机、移动设备(例如,移动电话或所谓的“智能手机”或其他移动设备)、可穿戴设备、扩展现实设备(例如,虚拟现实(virtual reality,vr)设备、增强现实(augmented reality,ar)设备或混合现实(mixed reality,mr)设备)、个人计算机、膝上型计算机、服务器计算机或其他设备。在一些方面,装置包括用于捕获一个或多个图像帧的一个或多个相机。在一些方面,装置还包括用于显示一个或多个图像帧、通知和/或其他可显示数据的显示器。
28.本发明内容不旨在识别所要求保护的主题的关键或基本特征,也不旨在被单独用来确定所要求保护的主题的范围。应当通过参考本专利的整个说明书的适当部分、任何或全部附图以及每个权利要求来理解该主题。
29.参考以下说明书、权利要求和附图,上述内容连同其他特征和实施例将变得更加明显。
附图说明
30.下面结合附图对本技术的说明性实施例进行详细描述。
31.图1是示出根据一些示例的相机系统的架构的图;
32.图2是示出根据一些示例的用于调试图像信号处理器(isp)参数的手动调试过程的示例的图;
33.图3a和图3b是根据一些示例的示出从微调得到的预期图像质量(image quality,iq)变化的图像帧的示例;
34.图4a和图4b是根据一些示例的示出从微调得到的预期iq变化的图像帧的示例;
35.图5a和图5b是根据一些示例的示出从微调得到的期望iq变化的图像帧的示例;
36.图6是示出根据一些示例的自动相机调试工具的图形用户界面的示例的图;
37.图7是示出根据一些示例的用于执行自动相机调试的过程的示例的流程图;
38.图8是示出根据一些示例的参数设置搜索过程的示例的流程图;
39.图9a和图9b是示出根据一些示例的使用经粗调的设置获得的捕获结果与使用本文描述的技术确定的经微调的设置获得的捕获结果之间的比较的图像帧;
40.图10a和图10b是示出根据一些示例的使用经粗调的设置获得的捕获结果与使用本文描述的技术确定的经微调的设置获得的捕获结果之间的比较的图像帧;
41.图11a和图11b是示出根据一些示例的使用经粗调的设置获得的捕获结果与使用
本文描述的技术确定的经微调的设置获得的捕获结果之间的比较的图像帧;
42.图12是示出根据一些示例的用于使用本文描述的技术进行自动相机调试的过程的示例的流程图;
43.图13是示出根据一些示例的自动相机调试工具的图形用户界面的示例的图;
44.图14a和图14b是示出根据一些示例的使用设备的经过原始调试的设置获得的捕获结果与使用本文描述的技术确定的该设备的经微调的设置获得的捕获结果之间的比较的图像帧;
45.图15是示出根据一些示例的使用本文描述的技术来确定一个或多个相机设置的过程的示例的流程图;以及
46.图16是根据一些示例的可以被用于实现本文描述的技术的一些方面的示例计算设备的框图。
具体实施方式
47.下文中提供了本公开的特定方面和实施例。本领域技术人员明白的是,这些方面和实施例中的一些可以被独立应用而其中的一些可以被组合应用。在以下描述中,出于说明的目的,阐述了具体细节以实现对本技术的实施例的全面理解。然而,很明显的是,可以在没有这些具体细节的情况下实践各种实施例。附图和描述不旨在是限制性的。
48.随后的描述仅提供示例性实施例,并不旨在限制本公开的范围、适用性或配置。相反,示例性实施例的随后描述将为本领域技术人员提供用于实现示例性实施例的使能描述。应当理解的是,在不脱离如所附权利要求所阐述的本技术的精神和范围的情况下,可以对元件的功能和布置进行各种改变。
49.相机(也称为图像捕获设备)是使用图像传感器(也称为相机传感器)接收光并捕获图像帧(诸如静止图像或视频帧)的设备。相机可以包括处理器,诸如图像信号处理器(image signal processor,isp),其可以接收一个或多个图像帧并对这一个或多个图像帧进行处理。例如,图像传感器捕获的原始图像帧可以由isp进行处理以生成最终图像。isp可以通过将多个模块或处理块(例如,滤波器)应用于所捕获的图像帧来对捕获图像帧进行处理。这些模块可以包括用于下述操作的处理块,所述操作包括:去噪或噪声滤波、边缘增强(例如,使用锐化滤波器)、色彩平衡、对比度、强度调整(诸如调暗或调亮)、色调调整、镜头/传感器噪声校正、bayer滤波(使用bayer滤波器)、去马赛克、颜色转换、图像属性的校正或增强/抑制等。每个模块可以包括大量的可调参数(诸如每个模块的数百或数千个参数)。此外,模块可以是相互依赖的,因为不同的模块可以影响图像的相似方面。例如,去噪和纹理校正或增强两者都会影响图像的高频方面。因而,大量的参数被确定或调整用于isp基于所捕获的原始图像生成最终图像。
50.用于isp的参数通常由在如何处理输入图像用于期望输出图像方面有经验的专家手动地调试。相机调试可能是耗时且资源密集的过程。例如,由于isp模块(例如,滤波器)和可调参数的绝对数量之间的相关性,专家可能需要若干周(例如,3-8周)以基于特定图像/相机传感器与isp的组合来确定、测试和/或调整用于参数的设备设置。因为相机传感器或其他相机特征(例如,镜头特性或缺陷、光圈大小、快门速度和移动、闪光灯亮度和颜色,和/或其他特征)会对捕获的图像以及用于isp的可调参数中的至少一些造成影响。每个图像/
相机传感器与isp组合会需要由专家进行调试。
51.本文描述了提供自动相机调试的系统、装置、方法(也称为过程)和计算机可读介质(在本文中统称为“系统和技术”)。如本文所详细描述的,自动相机调试系统和技术可以被用于对isp、图像/相机传感器、和/或相机系统的其他组件进行自动调试。在一些示例中,自动相机调试工具可以被用于实现或执行本文所述的自动相机调试技术。通过与自动相机调试工具的图形用户交互(graphical user interactive,gui)进行交互,自动相机调试工具可以被用于执行isp的微调。本文中参考各种附图提供了关于系统和技术的进一步细节。
52.图1是示出包括设备101的相机系统100的架构的图。图1的设备101包括各种组件,包括:带有图像信号处理器(image signal processor,isp)120的相机控制器125、带有数字信号处理器(digital signal processor,dsp)130的处理器135、对指令145进行存储的存储器140、显示器150、以及输入/输出(input/output,i/o)组件155。设备101可以连接到电源160。
53.相机系统100还包括相机105。相机控制器125可以从相机105接收图像数据。在一些情况下,相机105的图像传感器115(也称为相机传感器)可以向相机控制器125发送图像数据。如图1所示,相机105包括镜头110。镜头110可以从包括对象的场景接收光。镜头110将光引导至图像传感器115,图像传感器115包括用于生成图像帧(也称为图像或帧)的像素阵列。响应于图像传感器115接收到每个图像帧的光,图像传感器115将图像帧输出到设备101(例如,到设备101的一个或多个处理器)。设备101从图像传感器115接收图像帧并经由一个或多个处理器对这些图像帧进行处理。相机105可以是设备101的一部分,也可以与设备101分离。在一些实现方式中,相机105可以包括相机控制器125。
54.图1的设备101可以包括一个或多个处理器。设备101的一个或多个处理器可以包括相机控制器125、图像信号处理器(isp)120、处理器135、数字信号处理器(dsp)130、或以上各项的组合。isp 120和/或dsp 130可以对来自图像传感器115的图像帧进行处理。在一些示例中,dsp 130可以是主机处理器(host processor,hp)(在一些情况下也称为应用处理器(application processor,ap))。dsp 130(作为hp)可以被用于以新的参数设置对图像传感器115进行动态地配置。dsp 130(作为hp)还可以用于对isp 120的参数设置进行动态地配置(例如,以匹配来自图像传感器115的图像帧的设置,使得图像数据被正确地处理)。
55.isp 120和/或dsp 130可以生成视觉媒体,可以使用图像和/或视频编码器来对该视觉媒体进行编码。视觉媒体可以包括一个或多个经处理的静止图像和/或一个或多个包括基于来自图像传感器115的图像帧的视频帧的视频。设备101可以在存储器140上将视觉媒体存储为一个或多个文件。存储器140可以包括一个或多个非暂时性计算机可读存储介质组件,这些组件中的每一个可以是参考图16的存储器1615所讨论的存储器或非暂时性计算机可读存储介质中的任一类型。在一些情况下,可选地,存储器140的一个或多个非暂时性计算机可读存储介质组件中的一个或多个可以是可移除的。存储器140的说明性示例可以包括安全数字(secure digital,sd)卡、微型sd卡、闪存组件、硬盘驱动器、随机存取存储器(ram)(诸如动态ram(dram)或静态ram(sram))、另一种存储介质,或以上各项的某种组合。
56.显示器150可以是允许用户交互和/或用于呈现项目(诸如捕获的图像帧、视频或预览图像)以供用户查看的任何合适的显示器或屏幕。在一些方面,显示器150可以是触敏
reality,mr)设备)、服务器(例如,在软件即服务(software as a service,saas)系统或其他基于服务器的系统中)、和/或任何其他具有执行本文所述的技术的资源能力的计算设备。
62.在一些情况下,设备101可以包括一个或多个软件应用,诸如合并本文所述的技术的相机调试应用。软件应用可以是移动应用、桌面应用或安装在设备101上的其他软件应用。
63.如上所述,可以对相机系统或相机系统的组件(例如,isp 120、图像传感器115和/或其他组件)进行调试,使得相机系统提供期望的图像质量。例如,可以调整isp 120的参数,以便在处理由图像传感器115捕获的图像帧时优化isp 120的性能。在一些情况下,图像质量系统和/或软件可以对由相机系统(例如,相机系统100)输出的图像帧(例如,数字图像和/或图像帧)进行分析。例如,图像质量系统和/或软件可以使用一个或多个测试图表(诸如te42图表等)来分析图像帧。图像质量系统和/或软件可以输出关于相机系统的特性的多种图像质量(image quality,iq)度量。iq度量可以包括诸如光电转换函数(opto-electric conversion function,oecf)、动态范围、白平衡、噪声和iso速度、视觉噪声、调制传递函数(modulation transfer function,mtf)、极限分辨率、失真、横向和/或纵向色差、暗角、阴影、眩光、色彩再现、以上各项的组合、和/或其他特征。
64.相机系统的特性可以被用于执行用于调试相机系统的各种功能。例如,可以基于特定用户iq要求来调试图像质量问题并且对isp参数进行微调。在一些情况下,用户可以包括原始设备制造商(original equipment manufacturer,oem)。不同的oem可以对不同的设备提出不同的质量要求。例如,基于特定oem的质量要求以及图像质量系统和/或软件提供的特性,可以调整isp参数,使得在使用某一任务对通信帧进行处理时优化isp的性能。如上所述,isp的任务可以包括去马赛克(例如,插值)、自动对焦(和其他自动化功能)、降噪、镜头校正、以及其他任务。
65.如上所述,相机调试可能是耗时且资源密集的过程。例如,调试相机系统的isp的参数可能需要严密的手动过程,这在一些情况下需要数周才能完成。相机调试过程的初始部分可以包括对isp的参数的粗调。对isp的参数进行粗调可以包括以基准iq为目标对参数进行调试。在一个说明性示例中,如果特定oem的设备(例如,移动电话)的相机系统具有市场上最好的iq,则该iq可以用作基准iq。当对上市的其他设备进行调试时,调试工程师可以在其他设备的第一轮调试中尽可能地接近基准iq。iq评估的基准的一个示例是dxomark(https://www.dxomark.com),例如,基于dxomark analyzer。
66.随着用于isp的可调参数的数量可能达到数百或数千,减少数量的iq度量可以被映射至isp的可调参数。将减少数量的iq度量映射到可调参数可以使得调试isp的人专注于这些减少数量的iq度量,而不是更多数量的可调参数。iq度量是对图像的可感知属性的测量(每个可感知属性称为“ness”)。示例属性或ness包括图像帧的亮度、图像帧的清晰度、图像帧的颗粒度、图像帧的色调、图像帧的色彩饱和度等。这些属性或ness一旦针对特定图像帧被更改,就会被人感知。例如,如果图像帧的亮度降低,则人会感知到该图像帧变暗。
67.在一些示例中,iq度量的数量可以是10-20(或其他数量),其中每个iq度量对应于多个可调参数。在一些情况下,两个或更多个不同的iq度量可以影响用于isp的相同可调参数中的一些。在一些示例中,参数数据库可以将iq度量的不同值与参数的不同值相关联。例
如,iq度量的输入矢量可以与可调参数的输出矢量相关联,使得可以针对对应的iq度量来调整isp。因为参数的数量可以很大,所以参数数据库可以不存储iq度量的全部组合,而是可以包括一部分数量的组合。在图1的设备101被描述为存储器140中的参数数据库的情况下,该数据库可以被存储在设备101的外部(诸如在网络附接存储、云存储、耦合到设备101的测试设备等中)。在一些情况下,这些参数可以影响isp外部的组件(诸如图1中所示的相机105)。本公开不应受限于特定描述的参数或仅对isp特定的参数。例如,这些参数可以用于特定的isp与相机(或图像/相机传感器)组合,或者用于不同的isp与相机(或图像/相机传感器)组合。
68.在一些示例中,iq模型可以被用于将iq度量映射到可调参数。可以使用任何类型的iq模型,并且本公开不限于将iq度量与isp参数相关联的特定iq模型。在一些示例中,iq模型可以包括一个或多个调制传递函数(mtf)以确定与iq度量的变化相关联的isp参数的变化。例如,改变亮度iq度量可以对应于与调整图像/相机传感器灵敏度、快门速度、闪光灯,确定输入图像的各像素的强度的isp,调整用于补偿的各像素的色调或色彩平衡的isp相关联的参数,和/或其他参数。亮度mtf可以被用于指示亮度iq度量的变化对应于相关参数的特定变化。
69.iq模型和/或mtf可以在不同isp之间变化,或者可以在isp和相机(或相机/图像传感器)的不同组合之间变化。对isp进行调试可以包括确定mtf之间或iq模型中的差异,使得iq度量值与用于isp的优选可调参数值相关联(在参数数据库中)。经“最优”处理的图像帧可以是基于用户偏好的,或者对于一位或多位专家而言可以是主观的,从而使得iq模型的优化是开放式的并受制于用户之间或协助调试的人之间的差异。然而,iq可以被量化,诸如通过使用iq范围(诸如从0到100,其中100是最好的)来指示用于isp和/或相机的iq性能。例如,用于经处理的图像帧的iq可以被量化,而专家可以使用量化来调试isp(诸如调整或确定isp的参数或isp与相机传感器的组合)。
70.一些iq度量可以彼此相对,诸如噪度(对应于噪声量)和纹理,其中降低或增加噪声可以相应地减少或增加图像中的高频纹理信息。当对isp进行调试时,会在iq度量之间确定折衷,以试图对图像的处理进行优化(例如,通过从iq范围生成最高量化的iq得分)。
71.对iq度量进行优化或以其他方式对isp进行调试对于不同的场景类型可以不同。例如,由白炽灯照明的室内场景可以对应于与具有明亮的自然光照的室外场景不同的“最优”iq度量(和对应参数)。在另一示例中,与区域内具有大量色彩和色彩变化的场景相比,具有大的色彩和亮度的平坦区域的场景可以对应于不同的“最优”iq度量。结果,可以针对多种不同的场景类型对isp进行调试。
72.相机调试的目标是实现比市场上先前存在的产品更好的iq。随着图像/相机传感器和isp的不断演进,这种iq方面的提高会变得更加突出。如上所述,isp参数的粗调可以以基准iq为目标。在一些情况下,很难达到与基准iq相同的iq。例如,不同的设备(例如,不同的移动设备相机系统)可以具有不同的图像/相机传感器与isp组合和/或配置。这种差异会导致设备难以实现并且在一些情况下不可能实现与设置基准iq的设备相同类型的折衷。在初始粗调之后,微调(例如,用户偏好调试)可以被执行。例如,用户(例如,oem)可以提供特定的反馈(例如,要求),该反馈可以由正在对特定设备的图像/相机传感器和/或isp进行微调的调试工程师实施。反馈的示例可以包括要求在一种或多种低照度条件(例如,低光照、
正常光照、强光、和/或其他照度条件)下更多的噪声清除(例如,去噪),在强光下更好的饱和度水平,和/或其他反馈。
73.图2是示出用于调试isp参数的手动调试过程200的示例的图。手动调试过程200被执行以确定isp参数变化如何反映图像质量。在操作202处,过程200包括修改isp参数(例如,基于从先前迭代的操作202接收的反馈)。在操作204处,过程200包括使用当前已调试的isp参数(例如,如在操作202所修改的)执行相机模拟。操作204的结果可以是一个或多个输出图像和/或一个或多个输出视频帧。
74.在操作206处,过程200包括执行一个或多个输出图像和/或视频帧的主观视觉评估,以便确定输出中是否发生期望的变化。通过基于在操作206处执行的主观视觉评估提供反馈来重复过程200。在一些情况下,相机系统的设计者和/或制造商可以基于用户(例如,oem)提供的要求来执行操作202、204和206。在一些情况下,相机系统的设计者和/或制造商可以执行操作202和204,而用户(例如,oem)可以执行操作206。
75.图3a和图3b是由具有imx363传感器和骁龙(snapdragon)845isp的传感器-isp组合的移动设备的相机捕获的图像帧302和图像帧304的示例。图3a和图3b中的图像帧302和图像帧304示出了从微调得出的预期iq变化(从调试器的角度)。特别地,图3a和图3b中的图像帧302和图像帧304提供了针对纹理和噪声的经粗调的设置和经微调的设置之间的比较。图3a中的图像帧302是由具有经粗调的设置的isp生成的。图3b中的图像帧304是由具有经微调的设置的isp生成的。从图3a和图3b可以看出,与使用经粗调的设置生成的图像帧(图3a中的图像帧302)相比,经微调的设置为同一图像帧(图3b中的图像帧304)提供了改进的纹理细节和更清晰的噪声分布。
76.图4a和图4b是由具有imx363传感器和骁龙(snapdragon)845isp的传感器-isp组合的移动设备捕获的图像帧402和图像帧404的另一示例。图4a和图4b中的图像帧402和图像帧404示出了从微调得出的预期iq变化(从调试器的角度)。特别地,图4a和图4b中的图像帧402和图像帧404提供了针对分辨率的经粗调的设置和经微调的设置之间的比较。图4a中的图像帧402是由具有经粗调的设置的isp生成的,而图4b中的图像帧404是由具有经微调的设置的isp生成的。从图4a和图4b可以看出,与使用经粗调的设置生成的图像帧(图4a中的图像帧402)相比,经微调的设置为同一图像帧(图4b中的图像帧404)提供了更高的频率分辨率。
77.图5a和图5b是由相机捕获的图像帧502和图像帧504的示例。图像帧502和图像帧504示出了从微调得出的期望的iq变化(从终端用户的角度)。图5a中的图像帧502是基于由一位或多位调试工程师选择的默认isp参数设置生成的。然而,相机终端用户可以具有对肤色的6度的色调偏移和9%的饱和度增加的固定偏好,如图5b中的图像帧504所示,保持图像帧504的其余质量方面与图5a的图像帧502相同。目前,相机终端用户无法更改isp参数设置以进行其所需的更改。
78.用于评估小的isp参数变化如何反映在图像帧的图像质量(iq)中的手动迭代过程(例如,图2中所示的过程)对于多个isp-传感器组合来说是冗长且低效的。当在不同的操作条件下被执行时,该过程会变得更加冗长且低效(例如,对相同的参数进行调试以用于不同的照度条件)。在一些情况下,即使在调试工程师最终确定了最优iq的isp参数(例如,参考oem的偏好),图像质量也可能与基于相机终端用户的角度的理想或期望的iq不一致。
79.如上所述,现有的相机调试系统和技术需要调试工程师具有许多isp参数(例如,数千个isp参数)的专业知识。需要这种专业知识来基于用户(例如,oem)的反馈对isp参数进行手动调试,用于获得合适的iq折衷(例如,纹理噪声折衷)。上述的迭代手动过程(例如,参考图2)是时间和资源密集的过程,包括参数设置中的每个小的变化之后的模拟和视觉评估。例如,针对八种不同的照度条件的手动调试可能需要7-10天,在一些情况下甚至更长。这样的过程效率低下并且具有可重复性问题。从头到尾跟踪参数设置中的每一个细微变化也很繁琐。此外,每次添加或修改新的isp模块时,调试工程师都需要深入了解该新的isp模块的全部参数对输出图像帧的iq的影响。
80.如上所述,本文描述了提供自动相机调试的自动相机调试系统和技术。例如,自动相机调试系统和技术可以被用于对isp、相机传感器(或图像传感器)、或相机系统的其他组件进行自动地调试。在一些示例中,可以使用自动相机调试工具来实现自动相机调试。例如,任何类型的用户(例如,oem调试工程师、相机终端用户和/或其他用户)都可以通过与自动相机调试工具的图形用户交互(gui)进行交互来执行isp的微调。
81.相机调试工具的gui可以包括可选择的图形元素。用户可以与可选择的图形元素进行交互,以指示用户期望的图像质量(iq)变化。例如,基于用户对一个或多个可选择的图形元素的选择,相机调试工具可以参考用户期望的iq变化来执行实时(或接近实时)的isp参数设置的选择。在一些情况下,使用相机调试工具的gui,用户可以选择特定的经粗调的设置并且可以指导相对于经粗调的设置而期望的或需要的iq改进类型(例如,纹理的增加、噪音的降低,等等)。自动相机调试工具可以生成整体iq与所选择的设置相似的新的设置选项,其中iq的期望方面被增强。在一些情况下,相机调试工具和/或相机调试工具的gui对于不同类型的用户可以是不同的。例如,第一gui可以被提供给oem用户,而第二gui(不同于第一gui)可以被提供给相机终端用户。
82.在一些情况下,自动相机调试工具的gui(例如,图6中所示的gui)可以被用于获得关于iq的特定方面(例如,纹理、噪声、边缘清晰度、振铃效应等)的用户反馈。反馈可以被转变或转换成对应的iq度量目标(例如,通过使用以下的等式(2)确定目标度量值)。在一些情况下,可以执行参数设置搜索以从预先生成的折衷isp设置中进行搜索,以获得提供最接近iq度量目标的iq度量的设置。折衷isp设置是指一组具有不同iq度量的数据点(例如,具有高纹理-高噪声和低纹理-低噪声的点)。例如,在调试时,用户(例如,oem)可以修改参数以获得噪声度量和纹理度量之间的最优“折衷”。在一些情况下,相机调试器可以预先生成多个isp设置,每个isp设置具有不同的折衷(例如,纹理-噪声折衷),用户(例如,oem)可以从中选择。每个isp设置对应一个iq度量折衷。
83.例如,如上文所述和下文所详细描述的,可以执行参数设置搜索以识别满足iq度量目标的特定设置集。使用自动相机调试工具,用户可以选择用户期望针对给定设置(例如,isp设置)进行调整的特定iq度量(也称为iq特征),并且参数设置搜索可以被执行以确定对应于用户的选择的特定设置。在一个说明性示例中,对于给定的isp设置,用户可以指示期望降低导致使用给定isp设置产生的图像帧的噪声。参数设置搜索可以被执行以确定将提供所期望的噪声质量的最优isp设置,但不会降低其他iq度量(例如,纹理、分辨率等)的质量。在一些情况下,用户可以指示iq度量调整的力度(例如,以因子-1,-2,-3等降低,或以因子1,2,3等增加)。
84.图6是示出自动相机调试工具的图形用户界面(gui)600的示例的图。gui 600的用户的示例是可以对oem正在制造的设备的isp进行调试的oem用户(例如,调试工程师、设备工程师、软件工程师、或其他用户)。gui 600的用户的另一示例是终端用户(例如,购买可以使用自动相机调试工具进行调试的相机的消费者)。如图6所示,在图像质量(iq)度量表601中示出了多种设置。每个设置都以给定的设置编号被包括在iq度量表601中,包括设置编号0,1,2,3,0,n-0,0,n-1和0,n-3。每个设置对应于isp已经以其被调试的经调试的isp参数。例如,iq度量表601中的设置可以包括经粗调的isp度量,其可以基于经由gui 600接收的输入使用自动相机调试工具被微调。
85.针对每个isp设置,多种iq度量的值显示在iq度量表601中,包括噪声度量、纹理度量和分辨率度量。例如,对于设置编号为0的isp设置,噪声度量的值为83.95,纹理度量的值为84.91,以及分辨率度量的值为85.19。为iq度量提供的值可以包括指示给定度量的质量的任何值(例如,任何基于得分的值)。在一些示例中,图6中所示的iq度量的示例值可以使用将多个iq度量进行组合以提供给定特征的得分的评分机制来生成。例如,多个iq度量可以对应于清晰度的不同方面,包括用于高对比度区域中纹理的iq度量、用于低对比度区域中纹理的iq度量以及用于分辨率的iq度量。iq度量可以被组合在一起以生成表示清晰度的清晰度得分。在另一示例中,亮度域中的噪声和颜色域中的噪声可以被组合成噪声得分。这种使用多个iq度量生成的得分可以被称为iq得分。图6中还示出了iq度量图表603。iq度量图表603针对iq度量表601的不同设置绘制了不同的iq度量值。
86.gui 600包括用户可以与之交互以操作自动相机调试工具的多种可选择的图形元素。例如,设置编号图形元素602允许用户选择特定的设置编号以进行微调。调试选项图形元素604允许用户选择用户喜欢的调试选项以对使用设置编号图形元素602选择的设置进行调整。如图6所示,用户已经选择了“降低噪声”作为对设置编号0的优选调整。力度条606被设置为可选择的图形元素以允许用户指示将要被应用于所选择的设置(例如,设置编号0)的调试选项(例如,噪声)的调整的力度或强度。力度条606是可选的,并且在一些实现方式中可以从调整工具gui 600中忽略。用户可以选择启动微调图形元素608以使得自动相机调试工具开始微调过程。
87.图7是示出用于基于从自动相机调试工具的gui(例如,图6的gui 600)接收的输入来执行自动相机调试的过程700的示例的流程图。过程700可以被用于基于用户偏好对相机设置(例如,isp设置)进行微调,如通过使用自动相机调试工具的gui(例如,gui 600)所指示的。
88.在操作702处,过程700包括接收选择用于isp或其他相机组件的经粗调的设置的指示。例如,响应于用户从图6所示的gui 600的iq度量表601中选择具有特定设置编号的设置,过程700可以接收选择经粗调的设置的指示。经粗调的设置可以是基于isp(或其他相机组件)的调试以达到基准iq。用户可以基于显示的iq得分(例如,如图6的iq度量表601所示)来选择设置。如本文所述,iq得分可以针对特定的iq特征(例如,清晰度、噪声、伪影等)被确定,并与主观iq相关联。iq可以针对每个isp设置被计算并被显示给用户以帮助选择用于微调的设置。
89.用户可能希望基于一个或多个iq度量来对经粗调的设置进行微调。用户可以选择gui的一个或多个图形元素,以使得自动相机调试工具对经粗调的设置的一个或多个iq度
量进行调整。在操作704处,过程700包括接收选择用于调整的iq度量的指示。例如,过程700可以响应于用户选择(例如,使用图6的gui 600中的调试选项图形元素604)要调整以用于特定设置的iq度量来接收选择用于调整的iq度量的指示。一个特定的设置。如上所述,用户可以使用设置编号图形元素602来选择特定设置。可以选择多种iq度量用于调整,包括噪声、清晰度、纹理、边缘、过冲、分辨率等。
90.在操作706处,过程700包括接收选择调整的力度的指示。例如,过程700可以响应于用户选择(例如,使用图6的gui 600中的力度条606)iq度量的调整的力度或强度来接收选择调整力度的指示。在一个说明性示例中,用户可以指示噪声要被以因子-2降低。
91.在操作708处,过程700包括基于操作702、操作704和操作706的选择生成具有更新的iq得分的新设置。在一个说明性示例中,具有更新的iq得分的新设置可以被显示在图6中所示的gui 600的iq度量表601中。在一些实现方式中,参数设置搜索过程(以下参考图8所述)可以被用于基于用户对设置、用于调整的iq度量、以及可选的调整力度的选择来生成新设置。
92.在操作710处,过程700包括确定是否选择附加设置的指示被接收到。如上所述,用户可以基于显示的iq得分(例如,如图6的iq度量表601所示)来选择设置。附加设置可以包括另一经粗调的设置或在经粗调的设置由于用户选择该设置用于调整而被更新之后的经微调的设置。如果选择附加设置被确定,则过程700返回至操作704以接收选择iq特征以对附加设置进行调整的指示。在一些情况下,过程700可以重复直到没有设置再被选择。
93.在一些情况下,一旦没有附加设置再被选择,过程700就执行操作712。在操作712处,过程700包括提供用于模拟最终设置的选项。最终设置的模拟可以被执行用于用户进行验证和/或比较。例如,用于自动相机调试工具的gui可以提供模拟选项(例如,图6的gui 600的比较图形元素610)。该模拟选项允许用户模拟用于直接视觉评估的任何设置(例如,通过显示由具有图6的iq度量表601中显示的设置列表中的经微调的设置的isp生成的图像帧)。在一些示例中,自动相机工具可以提供使用多个设置生成的图像帧用于用户进行比较(例如,通过显示使用具有设置编号0的设置生成的第一图像帧和使用具有设置编号1的设置生成的第二图像帧)。
94.如上所述,关于iq的特定方面(例如,纹理、噪声、边缘清晰度、振铃效应、分辨率等)的用户反馈可以被获得并被转变为对应的iq度量目标。可以执行参数设置搜索过程在预生成的折衷设置中进行搜索,以获得产生期望的度量目标的设置。参数设置搜索过程可以基于通过自动相机调试工具的gui(例如,图6的gui 600)提供的用户反馈对数据库(或其他存储机制)的点进行操作。例如,在对isp或相机系统的其他组件进行粗调时(例如,使用smartu2粗调工具),密集的点数据库可以被创建。数据库中的每个数据点都可以对应于特定的经粗调的isp参数设置。在一些情况下,可以使用iq度量和isp参数设置来存储每个数据点(例如,作为元组或其他数据结构)。根据用户的反馈,可以对数据库中的点进行搜索以获得最优点(例如,对应于最优经调试的isp参数设置)。
95.每个数据点可以由一组iq度量和得分在数据库中来标记。iq度量可以包括用于全局iq评估的标准化度量。在一些示例中,iq度量可以包括基于视觉噪声度量和调制传递函数(mtf)的、用于诸如纹理、分辨率、边缘清晰度和/或其他特征的特征的计算。在一些示例中,可以使用te42图表来计算iq度量,该图表是用于相机测试和调试的多用途图表。te42图
表有多个部分,可以用于测量相机系统的光电转换函数(oecf)、动态范围、色彩还原质量、白平衡、噪声、分辨率、阴影、失真和峰度。除了te42图表之外或作为te42图表的替换,也可以使用一个或多个其他图表,例如qa-62图表、te106图表和/或其他图表。在一些情况下,如上所述,可以通过将多个iq度量进行组合来获得得分。在一个说明性示例中,可以通过将用于高频分辨率、低频分辨率、高对比度纹理和低对比度纹理的mtf进行组合(例如,使用加法公式)来确定清晰度得分。在另一说明性示例中,可以通过对视觉噪声的亮度方面和色度方面进行组合来确定噪声得分。数据点的其他得分也可以被确定。
96.在一些示例中,为数据库中的点提供的iq得分可以针对清晰度和噪声,和/或针对其他特性。这些得分是基于iq度量的,并且用户(例如,oem)工程师和调试器可以依据这些得分来提供与isp产生的图像帧的主观图像质量的准确相关性。因此,得分可以提供有用的筛选标准。
97.图8是示出用于执行isp参数的微调的参数设置搜索过程800的示例的流程图。过程800可以被用于将用户反馈转变或转换为对应的iq度量目标(也称为目标度量值)。过程800还可以用于搜索设置的数据库以获得提供期望的度量目标的设置。
98.在操作802处,过程800包括接收选择设置和要调整的iq度量的指示。确定选择设置和要调整的iq度量可以基于图7的过程700的操作702、操作704和操作706。例如,用户可以使用图6的gui 600的设置编号图形元素602来选择设置。用户可以使用gui 600的调试选项图形元素604来选择要调整的设置的iq度量。在一些示例中,如上所述,用户可以选择调整的力度或强度(例如,gui 600的力度条606)。
99.在操作804处,过程800包括去除对于所选择的iq度量具有冗余度量值的点和/或具有比所选择的设置更差的iq得分的点。例如,由于用户可以使相机调试工具以不同的设置为起点进行微调,因此有可能经由多条路径到达同一数据点。例如,降低setting_0上的噪声的请求和降低setting_0上的纹理的请求可能导致相机调试工具输出同一设置。可以执行操作804以去除冗余点,使得如果用于用户的当前微调步骤的输出已经存在于iq度量表中(例如,作为先前微调步骤的结果),则该输出的另一拷贝不会被添加到该表中。在这种示例中,如果数据点的设置具有与iq度量表上已经显示的另一设置相同的度量,则该设置不会作为新设置显示在iq度量表中。在一些情况下,可以执行操作804以去除具有比所选择的设置更差的iq得分的点,因为低的iq得分可以表示坏数据点。操作804是可选的,并且在一些实现中可以不被执行。
100.在操作806处,过程800包括确定iq度量的选择是指示iq度量的增加还是降低。例如,如上所述,调试选项图形元素604允许用户指示要调整哪个iq度量以及如何对其进行调整(例如,要增加iq度量或降低iq度量)。过程800可以基于iq度量是要被增加还是被降低来执行不同的操作。例如,如果iq度量要被降低,则过程800可以执行操作808,而如果iq度量要被增加,则可以执行操作812。
101.在操作808处(当iq度量要被降低时),过程800包括从当前搜索中去除与所选择的设置的iq度量的度量值相比具有所选择的iq度量的更大度量值的全部点。在一个说明性示例中,所选择的iq度量可以包括噪声,并且所选择的设置的噪声值可以是82。在该示例中,噪声值大于82的任何点(对应于参数设置)可以被从当前搜索中去除。可以执行操作808对数据点进行修剪以使得更少的数据点被搜索。从而由操作808执行的修剪可以得到更有效
的搜索过程。在操作810处,过程800包括以降序对点进行设置或排列,以使得各值从最大到最小列出。例如,这些点可以相对于用户请求增强的特定iq度量按降序排列。例如,用户可以请求自动相机调试工具增加分辨率或增加纹理,在这种情况下,可以基于分辨率或纹理(对应的iq度量)按降序对这些点进行排序。
102.在操作812处(当iq度量要被增加时),过程800包括从当前搜索中去除与所选择的设置的iq度量的度量值相比具有所选择的iq度量的更小度量值的全部点。在一个说明性示例中,所选择的iq度量可以包括分辨率,并且所选择的设置的分辨率值可以是85。分辨率值小于85的任何点(对应于参数设置)可以被从当前搜索中去除。类似于操作808,可以执行操作812对数据点进行修剪以使得更少的数据点被搜索。在操作814处,过程800包括以升序对点进行设置或排列,以使得各值从最小到最大列出。
103.在操作816处,过程800包括确定度量因子。如下所述,度量因子可以被用于操作818以确定目标度量值。可以基于所选择的iq度量和在操作808或操作812的修剪操作之后剩余的数据点中具有iq度量的极端值(极值)的数据点来确定度量因子。极端值可以是剩余的数据点中iq度量值最小或最大的数据点。在一些情况下,在确定度量因子时也可以考虑数据库的总大小(例如,数据点的数量)。在一些示例中,数据库的总大小可以包括整个数据库的大小(在操作804以及操作808或操作812被执行之前)。在一些示例中,数据库的总大小可以包括在操作804以及操作808或操作812被执行之后的数据库的大小。在一个说明性示例中,度量因子可以被确定或计算如下(基于数据库的总大小):
[0104][0105]
其中,multfact是度量因子,metric
current
是所选择的度量的值,metric
extrema
是极端数据点的值,total size of database是数据库的大小(在操作804以及操作808或操作812被执行之前或之后)。等式(1)提供了数据库中各点(或者在一些情况下少于数据库中的各点)之间的距离,假设数据库中存在均匀分布(例如,当前点与极值之间的距离除以总点数)。multfact项指示从当前度量到极值度量的步长,假设数据库中的数据点是均匀分布的。如以下参考操作818所指示的,由用户指示的调整的力度(例如,使用强度条606所选择的)可以被用于确定基于由multfact指示的步长需要多少步。
[0106]
在操作818处,过程800包括确定目标度量值。可以基于所选择的iq度量、用户指示的力度或强度(例如,使用力度条606所选择的)、输出的期望数量(例如,要提供多少输出)和度量因子(例如,multfact)来确定目标度量值。在一个说明性示例中,目标度量值可以被确定或计算如下:
[0107]
metric
target
=metric
current
+(strength)*(idx of output)*(multfact)
[0108]
等式(2)
[0109]
其中,metric
target
是目标度量,metric
current
是所选择的度量的值,strength是调整iq度量的力度或强度(例如,由用户使用力度条606所选择的),idx of output是根据要提供多少输出(或输出数量)的输出的索引,multfact是使用等式(1)确定的度量因子。如等式(2)所示,目标度量(metric
target
)是通过基于度量因子(multfact)所定义的步长对所选择的iq度量(metric
current
)进行修改来确定的。步数由调整的力度(strength)和输出数量
(idx of output)来控制。例如,如果用户指示期望将噪声以因子-2降低(其中strength=-2),则用当前度量(metric
current
)减去由multfact定义的步长的两倍,从而得到与力度-1或0相比更大的噪声降幅。
[0110]
如果期望多个输出,则会根据多个输出的数量使用增量值来生成每个输出。例如,如果用户指示期望两个输出,则两个目标度量可以被确定。对于第一个目标度量,输出的索引可以等于1,其对应于由力度值和度量因子值定义的第一步。对于第二个目标度量,输出的索引可以等于2,其对应于由力度值和度量因子值定义的第二步。在一个说明性示例中,如果用户指示期望将噪
[0111]
声以因子1降低(strength=-1)并请求相机调试工具生成两个输出,则第一个目标度量(idx of output=1)会被确定为目标度量减去multfact的值(由于力度为1,因此为单个步长)。第二个目标度量(idx of output=2)会被确定为目标度量减去multfact的值的两倍(两个步长)。在另一个说明性示例中,如果用户指示期望将噪声以因子-2降低((strength=-2)并请求两个输出,则第一个目标度量(其中,idx of output=1)会被确定为目标度量减去multfact的值的两倍(由于力度为2,因此为两个步长)。第二个目标度量(其中,idx of output=2)会被确定为目标度量减去multfact的值的四倍(四个步长)。
[0112]
在操作820处,过程800包括输出具有最接近在操作818处确定的目标度量值的iq度量的数据点。在一些情况下,与数据点相关联的iq得分也可以被输出。例如,与输出数据点相关联的iq得分可以被显示在图6的iq度量表601中。(例如,如下面的表1和表2中所示)。如上所述,每个数据点都有相关联的经调试参数设置(例如,经调试的isp参数设置)。因此,识别具有与目标度量值最接近的iq度量值的数据点实质上是识别达到由用户反馈指示的增强或调整目标的经调试参数设置。针对与输出数量相对应的输出的每个索引,数据点可以被输出。例如,在上述其中用户请求两个输出的示例中,针对索引值1(其中,idx of output=1),第一数据点可以被输出,针对索引值2(其中,idx of output=2),第二数据点可以被输出。
[0113]
上述的自动相机调试过程的应用的示例参考以下表1和表2以及图9a-图11b被提供。表1示出了相机中的主观iq改进的结果。在表1的示例中,可以被指示(例如,来自oem)的要求是:在清晰度和细节(或分辨率)的微小改进的情况下噪声要被降低。用户可以选择(例如,使用图6的gui 600)具有最期望的清晰度和分辨率的粗调设置,并且可以指示(例如,使用图6的gui 600)相机调试工具可以以力度-2来降低噪声,以得到第一组输出,然后对输出设置out_1_c进一步以力度-1进行降噪,如表1所示。相机调试工具可以执行过程700和过程800以生成表1中所示的输出。如表1中从清晰度得分68.46到清晰度得分72.12的箭头所示,清晰度得分和噪声得分都有所增加,这指示更好的iq。对于最终输出(以力度-1进一步降噪),只有两张经筛选的图像out_2_a和out_2_b被模拟,并且选择主观清晰度较好的一张(out_2_a)作为最终输出。
[0114][0115]
表1:相机调试工具显示的供用户选择的经微调的设置的得分
[0116]
与最终筛选的经微调的设置out_2_a相比,从经粗调的设置获得的噪声和清晰度方面的增强由图9a、图9b、图10a和图10b中所示的图像示出。
[0117]
图9a和图9b中的图像帧902和图像帧904针对20lux条件下的特定移动设备的相机提供经粗调的设置的噪声分布(由图9a中的图像帧902示出)与表1中所选择的经微调的设置out_2_a的噪声分布(由图9b中的图像帧904示出)之间的比较,如由自动相机调试工具所确定的。可以观察到,经微调的设置产生的图9b的图像帧904比经粗调的设置产生的图9a的图像帧902产生的噪声少。
[0118]
图10a和图10b中的图像帧1002和图像帧1004针对20lux条件下的特定移动设备的相机提供经粗调的设置的纹理细节(由图10a中的图像帧1002示出)与表1中所选择的经微调的设置out_2_a的纹理细节(由图10b中的图像帧1004示出)之间的比较,如由自动相机调试工具所确定的。可以观察到,为获得更清晰的噪声分布而执行的微调并没有损害纹理细节。例如,图10b的图像帧1004的噪声虽然被降低,但其纹理细节却与图10a的图像帧1002的相似。
[0119]
在一些情况下,相机或设备制造商(例如,oem)可以要求更高的分辨率捕获以实现更好的图像质量。在这种情况下,通过手动迭代模拟(例如,使用图2中所示的过程200)进行微调会非常耗时。例如,对于具有imx586传感器和骁龙(snapdragon)855isp的传感器-isp组合的设备,在高性能计算设备上进行5-帧的多帧降噪(multi-frame noise reduction,mfnr)的单次模拟大约需要15分钟。本文所述的自动相机调试工具可以大大减少获得所期望的经微调的增强的时间。对于设备的中等光照照度条件,经粗调的输出具有过多的噪声清除,导致细节的丢失。通过使用自动相机调试工具,微调可以被执行以恢复必要的纹理细节。可以通过选择经粗调的设置(例如,从图6的iq度量表601中)并以力度+2对纹理进行增加来实现这种微调,如表2所示。如表2中从清晰度得分72.9到清晰度得分74.50的箭头所示,清晰度有明显的提升,而噪声得分只有轻微的下降。
[0120][0121]
表2:由相机调试工具显示的供用户选择的经微调的设置的得分
[0122]
图11a和图11b示出与经粗调的设置相比如何使用通过微调工具获得的out_1_c设置来增强纹理细节,而不会对噪声分布造成太多损害。特别地,图11a和图11b中的图像针对特定移动设备的相机提供使用经粗调的设置生成的图像(图11a)与使用经微调的设置out_1_c生成的图像(图11b)之间的比较,如由自动相机调试工具所确定的。可以观察到,经微调的设置产生的图像具有更高级别的纹理细节(如图11b的区域1104b对比图11a的区域1104a所示),而在噪声分布上差别不大(如图11b的区域1102b对比图11a的区域1102a所示)。
[0123]
在一些情况下,如上所述,自动相机调试工具的用户可以是相机或包括相机的设备(例如,移动设备)的终端用户。例如,即使考虑到oem在各种产品中提供了经过良好调试的isp设置,终端用户在输出图像帧的期望(主观)图像质量(iq)方面也会有自己的偏好。现有的终端用户设备允许对曝光、快门速度、自动白平衡(automatic white balance,awb)等设置进行手动控制。然而,手动控制选项(例如,通过gui图形元素)仅涵盖iq的一些部分,并且一些用户可能不知道可控的iq度量会如何影响图像帧。用户通常对主观图像质量有更好的理解,如清晰度、饱和度、色调等。
[0124]
现有的终端用户设备还可以使用内置滤波器和/或应用执行后处理功能,以实现对捕获帧的各种效果。然而,这样的后处理功能需要额外的重复工作量,特别是如果用户对大多数捕获的图像帧有固定类型的偏好。
[0125]
在一些实现方式中,过程700和搜索过程800可以适用于终端用户,以便提供适合特定终端用户的个性化的定制相机设置。例如,isp参数可以基于来自终端用户的反馈而被预设置,该反馈指示期望的饱和度水平、色调、锐化和/或其他iq度量。在一些示例中,过程700和过程800可以在初始相机设置建立过程期间(例如,当用户启动新的移动设备时)被执行,提示用户提供关于各种iq度量的反馈。在一些情况下,图8的搜索过程800的操作802可以被修改以用于基于终端用户的系统。例如,如下面参考图12和图13所描述的,用户可以不选择特定设置和iq度量,而可以选择显示用户期望的特性的图像帧。
[0126]
图12是示出用于基于终端用户的反馈执行自动相机调试的过程1200的示例的流程图。将参考图13所示的示例图形用户界面(gui)1300来描述过程1200。在操作1202处,过程1200包括向用户呈现对应于不同iq度量折衷的预先存在的捕获(图像帧)。例如,参考图13的gui 1300,第一图像帧1302、第二图像帧1304和第三图像帧1306显示在gui 1300中。图像帧1302、图像帧1304和图像帧1306是基于其iq度量可以被计算的自然场景的捕获。在一些示例中,显示的捕获可以是用于对相机进行调试的标准图表(例如,te42图表、qa-62图表、te106图表和/或其他图表)。图像帧1302、图像帧1304和图像帧1306可以对应于同一场景的不同饱和力度。例如,第一图像帧1302可以对应于饱和力度-1(饱和度降低),第二图像帧1304可以对应于饱和力度0(饱和度没有变化),而第三图像帧1306可以对应于饱和力度+
1(饱和度增加)。
[0127]
在操作1204处,过程1200包括接收用于对设置进行调整的一个或多个图形元素的一个或多个选择。例如,如图13所示,gui 1300可以包括滚动条1308。滚动条1308是允许用户选择与用户的期望的饱和度水平相对应的图像帧的可选择图形元素。虽然在图13中滚动条1308作为可选择图形元素的示例被示出,其他可选择图形元素也可以被使用,诸如下拉菜单、文本输入框、可选择图像帧(例如,第一图像帧1302、第二图像帧1304和第三图像帧1306可以被用户选择)、以上各项的任何组合、和/或其他可选择图形元素。其他可选择图形元素可以与其他iq度量相关联地被显示,诸如可选图形元素(例如,滚动条),用于在捕获中选择不同的色调、清晰度、饱和度以及其他iq度量。例如,可以提供图形元素用于增加和/或降低饱和度、清晰度、色调以及其他iq度量,以允许用户从描绘不同级别的iq度量的不同捕获中进行选择。
[0128]
在操作1206处,过程1200包括将一个或多个选择转变成对应的目标度量并且执行对最优输出的搜索。以上参照图8描述的过程800可以被用于执行将选择转变为目标度量以及搜索数据点的数据库(对应于不同的isp设置)。例如,通过使用图8的过程800,用户选择可以被转换为对应的目标度量(例如,metric
current
),并且搜索可以被执行以确定最优输出数据点。如上所述,可以在对应于预先生成的(例如,离线生成的)isp设置的数据点中执行搜索。例如,数据点可以包括经粗调的isp设置或预先经微调的isp设置。
[0129]
在操作1208处,过程1200包括将对应于最优数据点的isp设置加载到isp上用于将来的图像捕获。例如,可以用与在图8的操作820处输出的数据点相关联的isp设置来对设备的isp进行调试。与加载到isp上的新搜索到的设置相对应的参数可以被用于后续的捕获。如上所述,已经以iq度量和isp参数设置对每个数据点进行了存储(例如,作为元组或其他数据结构),因此这些数据点可以很容易地被获得并加载到isp上。搜索是在度量空间中进行的,当基于度量来选择数据点时,对应的参数设置是现成的,可以快速地被加载到isp上。在一些情况下,如果用户想要具有不同特征的不同类型的捕获,用户可以返回到gui以对isp设置进行重新调试。
[0130]
图14a和图14b是图像帧1402和图像帧1404,示出了使用设备的经原始调试的设置获得的捕获结果与使用根据图12的过程1200确定的经微调的设置获得的捕获结果之间的比较。例如,用户可以选择色彩饱和度的偏好(例如,使用图13的gui 1300)。图14a的图像帧1402对应于经原始调试的isp,而图14b的图像帧1404对应于基于用户反馈所选择的增加色彩饱和度的isp参数设置。
[0131]
本文所述的自动相机调试系统和技术提供了优于现有相机调试技术(例如图2的过程200)的各种益处。例如,与图2中示出的手动调试过程200需要7-10天相比,针对不同的照度条件(例如,8lux条件)使用自动相机调试工具进行调试时使用本文所述的自动相机调试系统和技术可以只需要一天时间。此外,每次iq更改都可以在不跟踪底层参数更改的情况下还原,从而确保容易的可重复性。另一个益处是只需要主观iq的知识,而与isp的演变无关。例如,用户不需要学习数以千计的isp参数的专业知识。
[0132]
本文所述的自动相机调试系统和技术可以将来自用户的主观反馈内部转变为目标度量,并且相应地,表示折衷度量空间的数据点被搜索。与由基于度量目标的搜索所选择的数据点对应的isp参数可以被输出。这种解决方案防止用户需要手动调整数千个参数来
获得期望的iq变化。在一些情况下,从终端用户的角度来看,本文所述的技术为终端用户提供对个性化相机设置的控制,以便通过预选的isp设置自动获得对图像帧捕获的期望处理。因此可以在不需要使用图像后处理的情况下获得期望的图像特征。
[0133]
使用本文所述的技术得出的目标度量与期望的主观iq很好地关联。自动相机调试工具以最小的模拟开销和手动工作量生成具有根据用户要求的增强主观图像质量的经调试设置。该工具可以将对8种光照条件下的微调时间从1周缩短到2天。该工具还可以被集成到现有的相机调试工具(例如,chromatix调试工具)中。
[0134]
图15是示出使用本文所述的技术确定一个或多个相机设置的过程1500的示例的流程图。在框1502处,过程1500包括接收选择用于调整的图像质量度量的指示。在一些示例中,选择图像质量度量的指示包括调整的方向。在一些示例中,调整的方向包括图像质量度量的降低。在一些示例中,调整的方向包括图像质量度量的增加。在一些实现方式中,用于调整的图像质量度量的选择是基于图形用户界面的图形元素(例如图6中所示那样)的选择的。在一些方面,图形元素包括增加或降低图像质量度量的选项。在一些实现方式中,图形元素与显示的具有图像质量度量的调整值的图像帧相关联,诸如图13中所示的那样。在一些实现方式中,用于调整的图像质量度量的选择是基于已显示的具有图像质量度量的调整值的图像帧的选择的。例如,参考图13,用户可以选择图像帧1302、图像帧1304或图像帧1306中之一来选择用于调整的图像质量度量,而不是操作滚动条1308。
[0135]
在框1504处,过程1500包括确定针对所选择的图像质量度量的目标图像质量度量值。在一些示例中,过程1500包括确定度量因子。在一个示例中,过程800的操作816可以被执行以确定度量因子。例如,过程1500可以基于所选择的图像质量度量的度量值,基于多个数据点中具有所选择的图像质量度量的极端值的数据点,和/或基于多个数据点的数量(例如,如上文参考图8的操作816所描述的)。过程1500可以包括基于度量因子和所选择的图像质量度量的度量值确定针对所选择的图像质量度量的目标图像质量度量值(例如,如上文参考图8的操作818所述)。
[0136]
在一些示例中,过程1500包括接收选择对图像质量度量的调整力度的指示。例如,用户可以使用图6的gui 600的力度条606来选择调整的力度。过程1500可以包括基于度量因子、所选择的图像质量度量的度量值、以及对图像质量度量的调整的力度,来确定针对所选择的图像质量度量的目标图像质量度量(例如,如上文参考图8的操作818所述)。
[0137]
在一些示例中,过程1500包括接收选择期望的输出相机设置的数量的指示。例如,用户可以使用图6的gui 600的设置数量图形元素602来选择期望的输出相机设置的数量。过程1500可以包括基于度量因子、所选择的图像质量度量的度量值、以及期望的输出相机设置的数量,来确定针对所选择的图像质量度量的目标图像质量度量值(例如,如上文参考图8的操作818所述)。
[0138]
在一些示例中,过程1500包括接收选择对图像质量度量的调整的力度的指示以及接收选择期望的输出相机设置的数量的指示。过程1500可以包括基于度量因子、所选择的图像质量度量的度量值、对图像质量度量的调整的力度、以及期望的输出相机设置的数量,来确定针对所选择的图像质量度量的目标图像质量度量值(例如,如上文参考图8的操作818所述)。
[0139]
在框1506处,过程1500包括从多个数据点中确定与具有最接近目标图像质量度量
值的图像质量度量值的相机设置相对应的数据点。在一些示例中,过程1500包括从多个数据点中去除针对所选择的图像质量度量具有相同的度量值的一个或多个数据点(例如,如上文参考图8的操作804所述)。
[0140]
在一些示例中,过程1500包括接收选择用于调整的特定相机设置的指示(例如,从图6的gui 600中的iq度量表601中)。在该示例中,所选择的图像质量度量与特定的相机设置相关联。在一些情况下,过程1500包括从多个数据点中去除与得分比该特定相机设置低的一个或多个相机设置相对应的一个或多个数据点(例如,如上文参考图8的操作804所述)。在一些示例中,过程1500包括从多个数据点中去除与下述一个或多个相机设置相对应的一个或多个数据点。这一个或多个相机设置针对所选择的图像质量度量具有相同的度量值并且具有比该特定相机设置低的得分(例如,如上文参考图8的操作804所述)。
[0141]
在一些示例中,过程1500包括基于选择图像质量度量的指示确定用于图像质量度量的调整的方向,包括图像质量度量的降低。过程1500可以包括从多个数据点中去除与下述一个或多个相机设置相对应的一个或多个数据点,这一个或多个相机设置针对所选择的图像质量度量具有比特定相机设置更大的度量值(例如,如上文参考图8的操作808所述)。在一些示例中,从多个数据点中去除一个或多个数据点得到一组数据点。在一些方面,过程1500包括按降序对该组数据点进行排序(例如,如上文参考图8的操作810所述)。
[0142]
在一些示例中,过程1500包括基于选择图像质量度量的指示确定用于图像质量度量的调整的方向,包括图像质量度量的增加。过程1500可以包括从多个数据点中去除与下述一个或多个相机设置相对应的一个或多个数据点,这一个或多个相机设置针对所选择的图像质量度量具有比特定相机设置更小的度量值(例如,如上文参考图8的操作812所述)。如上所述,从多个数据点中去除一个或多个数据点得到一组数据点。在一些示例中,过程1500包括按升序对该组数据点进行排序(例如,如上文参考图8的操作814所述)。
[0143]
在一些示例中,过程1500包括输出与确定的数据点相关联的信息以供显示。在一些示例中,过程1500包括使用对应于确定的数据点的相机设置对图像信号处理器(isp)进行调试。
[0144]
在一些示例中,本文所述的过程(例如,过程700、过程800、过程1200、过程1500和/或本文所述的其他过程)可以由计算设备或装置执行。在一个示例中,过程700、过程800、过程1200和/或过程1500可以由设备101或图16的计算设备1600执行。在一些情况下,设备101除了图1中所示的组件之外还可以包括图16的计算设备1600的组件。计算设备可以包括任何合适的设备,诸如移动设备(例如,移动电话)、桌面计算设备、平板计算设备、可穿戴设备(例如,vr耳机、ar耳机、ar眼镜、连网手表或智能手表、或其他可穿戴设备)、服务器计算机、自动驾驶的车辆、机器人设备、和/或具有资源能力以执行本文所述的过程的任何其他计算设备,包括过程700,过程800、过程1200、和/或过程1500。在一些情况下,计算设备或装置可以包括各种组件,例如,一个或多个输入设备、一个或多个输出设备、一个或多个处理器、一个或多个微处理器、一个或多个微型计算机、一个或多个相机、一个或多个传感器、和/或被配置为执行本文所述的过程的步骤的其他组件。在一些示例中,计算设备可以包括显示器、被配置为传递和/或接收数据的网络接口、以上各项的任何组合、和/或其他组件。网络接口可以被配置为传递和/或接收基于互联网协议(internet protocol,ip)的数据或其他类型的数据。
[0145]
计算设备的组件可以在电路中实现。例如,组件可以包括电子电路或其他电子硬件和/或可以使用电子电路或其他电子硬件来实现,其可以包括一个或多个可编程电子电路(例如,微处理器、图形处理单元(graphics processing unit,gpu)、数字信号处理器(dsp)、中央处理单元(cpu)、和/或其他合适的电子电路),和/或可以包括计算机软件、固件或以上各项的任何组合和/或使用计算机软件、固件或以上各项的任何组合来实现,以执行本文所述的各种操作。
[0146]
过程700、过程800、过程1200和过程1500被示出为逻辑流程图,其的操作表示可以用硬件、计算机指令或以上各项的组合实现的一系列操作。在计算机指令的情况中,操作表示存储在一个或多个计算机可读存储介质上的计算机可执行指令,当这些指令被一个或多个处理器执行时,执行所述操作。通常,计算机可执行指令包括执行特定功能或实现特定数据类型的例程、程序、对象、组件、数据结构等。描述操作的顺序不旨在被解释为限制,任何数量的所述的操作可以以任何顺序和/或并行地被组合以实现各过程。
[0147]
另外,本文所述的过程可以由硬件:在配置有可执行指令的一个或多个计算机系统的控制下执行,实现为在一个或多个处理器上共同执行的代码(例如,可执行指令、一个或多个计算机程序或一个或多个应用),或者以上各项的组合方式执行。如上所述,代码可以例如,以包括可由一个或多个处理器执行的多个指令的计算机程序的形式存储在计算机可读或机器可读存储介质上。计算机可读或机器可读存储介质可以是非暂时性的。
[0148]
图16示出了可以实现本文所述的各种技术的示例计算设备的示例计算设备架构1600。例如,计算设备架构1600可以是设备101(包括相机105)的一部分,并且可以被用于实现本文所述的任何过程(包括过程700、过程800、过程1200和/或过程1500)。计算设备架构1600的组件被示出为使用诸如总线的连接1605彼此电通信。示例计算设备架构1600包括处理单元(cpu或处理器)1610和计算设备连接1605。计算设备连接1605将包括计算设备存储器1615的多种计算设备组件,例如只读存储器(rom)1620和随机存取存储器(ram)1625,耦合到处理器1610。
[0149]
计算设备架构1600可以包括与处理器1610直接连接、紧密接近处理器1610或集成为处理器1610的一部分的高速存储器的高速缓存。计算设备架构1600可以将数据从存储器1615和/或存储设备1630复制到数据高速缓存1612以供处理器1610快速访问。以这种方式,高速缓存可以实现性能提升,避免处理器1610等待数据时延迟。这些和其他模块可以控制或被配置为控制处理器1610执行各种动作。其他计算设备存储器1615也可供使用。存储器1615可以包括具有不同性能特征的多种不同类型的存储器。处理器1610可以包括任何通用处理器和硬件或软件服务,例如在存储设备1630中中存储的服务1(1632)、服务2(1634)和服务3(1636),被配置为控制处理器1610和其中软件指令被整合到处理器设计中的专用处理器。处理器1610可以是自包含系统,包含多个核或处理器、总线、存储器控制器、高速缓存等。多核处理器可以是对称的或不对称的。
[0150]
为了实现与计算设备架构1600的用户交互,输入设备1645可以表示任何数量的输入机制,例如用于语音的麦克风、用于姿势或图形输入的触敏屏幕、键盘、鼠标、运动输入、语音等等。输出设备1635也可以是本领域技术人员已知的多种输出机制中的一种或多种,例如显示器、投影仪、电视、扬声器设备等。在一些情况下,多模式计算设备可以使用户能够提供多种类型的输入以与计算设备架构1600进行通信。通信接口1640通常可以支配并管理
用户输入和计算设备输出。对任何特定硬件布置的操作没有限制,因此这里的基本特征可以很容易地替代改进的硬件或固件布置,就如同其被提高了一样。
[0151]
存储设备1630是非易失性存储器并且可以是硬盘或可以存储计算机可访问的数据的其他类型的计算机可读介质,例如磁带盒、闪存卡、固态存储设备、数字通用光盘、盒式磁带、随机存取存储器(ram)1625、只读存储器(rom)1620,以及以上各项的混合。存储设备1630可以包括用于控制处理器1610的服务1632、服务1634和服务1636。考虑其他硬件或软件模块。存储设备1630可以连接到计算设备连接1605。在一个方面,执行特定功能的硬件模块可以包括存储在计算机可读介质中的软件组件,该计算机可读介质与必要的硬件组件,例如处理器1610、连接1605、输出设备1635等相连接以执行功能。
[0152]
术语“计算机可读取介质”包括但不限于便携式或非便携式存储设备、光存储设备以及能够存储、包含或携带指令的各种其他介质和/或数据。计算机可读取介质可以包括其中可以存储数据并且不包括无线或通过有线连接传播的载波和/或瞬态电子信号的非暂时性介质。非暂时性介质的示例可以包括但不限于磁盘或磁带、诸如压缩光盘(compact disk,cd)或数字通用光盘(digital versatile disk,dvd)的光存储介质、闪存、存储器或存储设备。计算机可读取介质可以在其上存储代码和/或机器可执行指令,这些代码和/或指令可以表示过程、函数、子程序、程序、例程、子例程、模块、软件包、类或指令、数据结构或程序语句的任何组合。代码段可以通过传递和/或接收信息、数据、自变量、参数或存储器内容而耦合到另一个代码段或硬件电路。信息、自变量、参数、数据等可以经由包括存储器共享、消息传递、令牌传递、网络传输等任何合适的手段被传递、转发、或传输。
[0153]
在一些实施例中,计算机可读取存储设备、介质和存储器可以包括包含比特流等的电缆或无线信号。然而,当被提及时,非暂时性计算机可读取存储介质明确排除诸如能量、载波信号、电磁波和信号本身的介质。
[0154]
在以上描述中提供了具体细节以提供对本文提供的实施例和示例的全面理解。然而,本领域普通技术人员应当理解的是,可以在没有这些具体细节的情况下实践这些实施例。为了解释的清楚,在一些实例中,本技术可以被呈现为包括独立的功能块,这些功能块包括包含设备、设备组件、以软件或者硬件和软件的组合体现的方法中的步骤或例程的功能块。可以使用除了图中所示和/或本文所述的组件之外的附加组件。例如,电路、系统、网络、过程和其他组件可以以框图形式示出为组件,以免在不必要的细节方面混淆实施例。在其他实例中,为了避免使实施例晦涩难懂,可以示出已知的电路、过程、算法、结构、和技术,而不带有不必要的细节。
[0155]
以上可以将各个实施例描述为过程或方法,其被描绘为流程图、流程图、数据流图、结构图或框图。尽管流程图可以将操作描述为顺序过程,但许多操作可以并行或者同时被执行。另外,可以重新安排操作的顺序。过程在其操作完成时被终止,但可以具有图中未包括的其他步骤。过程可以对应于方法、函数、进程、子例程、子程序等。当过程对应于函数时,其的终止可以对应函数返回到调用函数或主函数。
[0156]
可以使用存储的或者来自计算机可读取介质的可用的计算机可执行指令来实现根据上述示例的过程和方法。这种指令可以包括例如导致或配置通用计算机、专用计算机或处理设备以执行特定功能或功能组的指令和数据。所使用的计算机资源的部分可以通过网络易访问。计算机可执行指令可以是例如二进制、诸如汇编语言的中间格式指令、固件、
源代码等。计算机可读取介质的示例可以被用于存储指令、使用的信息和/或在根据上述示例的方法期间创建的信息。计算机可读取介质包括磁盘或光盘、闪存、配备有非易失性存储器的usb设备、网络存储设备等。
[0157]
实现根据这些公开的过程和方法的设备可以包括硬件、软件、固件、中间件、微代码、硬件描述语言或其任何组合,并且可以采用多种形式因素中的任何一种。当以软件、固件、中间件或微代码的形式被实现时,执行必要任务(例如,计算机程序产品)的程序代码或代码段可以被存储于计算机可读取或机器可读取介质中。处理器可以执行必要的任务。形式因素的典型示例包括膝上型计算机、智能手机、移动电话、平板设备或其他小外形因素个人计算机、个人数字助理、机架式设备、独立设备等。本文所描述的功能还可以体现在外围设备或插卡中。作为另一示例,这样的功能还可以在不同芯片之间或在单个设备中执行的不同过程之间的电路板上被实现。
[0158]
指令、用于传送这种指令的介质、用于执行其的计算资源以及用于支持这些计算资源的其他结构是用于提供本公开中描述的功能的示例手段。
[0159]
在前面的描述中,参考本技术的具体实施例描述了本技术的各方面。但是本领域技术人员应该了解的是,本技术并不限于此。因此,虽然本文中详细描述了本技术的说明性实施例,但应当理解的是,本发明构思可以多方面地被体现和采用,并且所附权利要求旨在被解释为包括这些变体,除非受限于现有技术。上述申请的各种特征和方面可以单独地或联合地被使用。而且,在不脱离本说明书的更广泛的精神和范围的情况下,实施例可以在超出本文描述的环境和应用的任何数量的环境和应用中被使用。因此,说明书和附图被认为是说明性的而非限制性的。为了说明的目的,按特定顺序描述了方法。应当理解的是,在替换实施例中,这些方法可以按照与所描述的顺序不同的顺序被执行。
[0160]
普通技术人员应当理解的是,本文使用的小于(“《”)和大于(“》”)符号或术语可以在不脱离本说明书的范围的情况下分别被替换为小于或等于(“≤”)和大于或等于(“≥”)符号。
[0161]
在组件被描述为“被配置为”执行一些操作的情况下,这种配置可以通过以下方式来完成,例如,通过设计电子电路或其他硬件来执行操作,通过对可编程电子电路(例如,微处理器,或其他合适的电子电路)进行编程来执行操作,或其任何组合。
[0162]
短语“耦合到”是指直接地或间接地被物理连接到另一个组件的任何组件,和/或直接地和/或间接地与另一个组件进行通信(例如,通过有线或无线连接,和/或其他合适的通信接口,被连接到另一个组件)的任何组件。
[0163]
陈述集合“中的至少一个”和/或集合“中的一个或多个”的权利要求语言或其他语言指示该组的一个成员或该组的多个成员(以任何组合)都满足权利要求。例如,陈述“a和b中的至少一个”或“a或b中的至少一个”的权利要求语言的意思是a、b或a和b。在另一示例中,陈述“a、b和c中的至少一个”或“a、b或c中的至少一个”的权利要求语言的意思是a、b、c,或a和b,或a和c,或b和c,或a和b和c。语言集合“中的至少一个”和/或集合“中的一个或多个”并不将集合限制为集合中所列的项目。例如,陈述“a和b中的至少一个”或“a或b中的至少一个”的权利要求语言可以表示a、b或a和b,并且可以另外包括未在a和b的集合中列出的项目。
[0164]
结合本文公开的实施例描述的各种说明性逻辑块、模块、电路和算法步骤可以被
实现为电子硬件、计算机软件、固件或其组合。为了清楚地说明硬件和软件的这种可互换性,以上已经在其的功能方面对各种说明性组件、块、模块、电路和步骤进行了大体描述。这种功能被实现为硬件还是软件取决于特定的应用和对整个系统施加的设计约束。技术人员可以针对每种特定应用以不同方式来实现所描述的功能,但是这种实现决定不应被解释为导致偏离本技术的范围。
[0165]
本文所描述的技术还可以在电子硬件、计算机软件、固件或其任何组合中被实现。这些技术可以在各种设备中的任一种中被实现。各种设备包括例如通用计算机、无线通信设备手机或具有多种用途(包括在无线通信设备手机和其他设备中的应用)的集成电路设备。被描述为模块或组件的任何特征可以在集成逻辑设备中一起被实现或者在分立可互操作的逻辑设备被分开实现。如果以软件实现,则这些技术可以至少部分地通过包括程序代码的计算机可读取数据存储介质来实现。程序代码包括在被执行时执行上述方法中的一个或多个的指令。计算机可读取数据存储介质可以形成计算机程序产品的一部分,其可以包括分组材料。计算机可读取介质可以包括存储器或数据存储介质,例如,诸如同步动态随机存取存储器(synchronous dynamic random access memory,sdram)的随机存取存储器(random access memory,ram)、只读存储器(read-only memory,rom)、非易失性随机存取存储器(non-volatile random access memory,nvram)、电可擦除可编程只读存储器(electrically erasable programmable read-only memory,eeprom)、flash存储器、磁或光数据存储介质等。另外地或替代地,这些技术可以至少部分地由计算机可读取通信介质来实现。该计算机可读取通信介质携带或传送指令或数据结构形式的、可以由计算机访问、读取和/或执行的程序代码,例如传播的信号或波。
[0166]
程序代码可以由处理器执行,处理器可以包括一个或多个处理器,诸如一个或多个数字信号处理器(digital signal processor,dsp)、通用微处理器、专用集成电路(application specific integrated circuit,asic)、现场可编程逻辑阵列(field programmable logic array,fpga),或者其他等效的集成或分立逻辑电路。这种处理器可以被配置为执行本公开中所描述的任何技术。通用处理器可以是微处理器;但在替代方案中,处理器可以是任何传统的处理器、控制器、微控制器或状态机。处理器还可以被实现为计算设备的组合,例如,dsp和微处理器的组合、多个微处理器的组合、一个或多个微处理器与dsp核结合的组合,或任何其他这样的配置。因此,如本文所使用的术语“处理器”可以指前述结构的任一种、前述结构的任何组合、或者适用于实施本文所述技术的任何其他结构或装置。
[0167]
本公开的说明性示例包括:
[0168]
方面1:一种确定一个或多个相机设置的方法,该方法包括:接收选择用于调整的图像质量度量的指示;确定针对所选择的图像质量度量的目标图像质量度量值;以及从多个数据点中确定与具有最接近目标图像质量度量值的图像质量度量值的相机设置相对应的数据点。
[0169]
方面2:根据方面1所述的方法,其中选择图像质量度量的指示包括调整的方向。
[0170]
方面3:根据方面2所述的方法,其中调整的方向包括图像质量度量的降低或图像质量度量的增加。
[0171]
方面4:根据方面1至3中任一项所述的方法,还包括:从多个数据点中去除针对所
选择的图像质量度量具有相同的度量值的一个或多个数据点。
[0172]
方面5:根据方面1至4中任一项所述的方法,还包括:接收选择用于调整的特定相机设置的指示,其中所选择的图像质量度量与所选择的特定相机设置相关联。
[0173]
方面6:根据方面5所述的方法,还包括:从多个数据点中去除与具有比所选择的特定相机设置低的得分的一个或多个相机设置相对应的一个或多个数据点。
[0174]
方面7:根据方面5所述的方法,还包括:从多个数据点中去除与针对所选择的图像质量度量具有相同的度量值并且具有比所选择的特定相机设置低的得分的一个或多个相机设置相对应的一个或多个数据点。
[0175]
方面8:根据方面1至7中任一项所述的方法,还包括:基于选择图像质量度量的指示确定针对图像质量度量的调整的方向包括图像质量度量的降低;以及从多个数据点中去除对应于比所选择的特定相机设置针对所选择的图像质量度量具有更大的度量值的一个或多个相机设置的一个或多个数据点。
[0176]
方面9:根据方面8所述的方法,其中从多个数据点中去除一个或多个数据点产生一组数据点。该方法还包括:按降序对该组数据点进行排序。
[0177]
方面10:根据方面1至9中任一项所述的方法,还包括:基于选择图像质量度量的指示确定针对图像质量度量的调整的方向包括图像质量度量的增加;以及从多个数据点中去除对应于比所选择的特定相机设置针对所选择的图像质量度量具有更小的度量值的一个或多个相机设置的一个或多个数据点。
[0178]
方面11:根据方面10所述的方法,其中从多个数据点中去除一个或多个数据点产生一组数据点。该方法还包括:按升序对该组数据点进行排序。
[0179]
方面12:根据方面1至11中任一项所述的方法,还包括:基于所选择的图像质量度量的度量值、多个数据点中具有所选择的图像质量度量的极端值的数据点、和多个数据点的数量来确定度量因子;以及基于度量因子和所选择的图像质量度量的度量值确定针对所选择的图像质量度量的目标图像质量度量值。
[0180]
方面13:根据方面12所述的方法,还包括:接收选择对图像质量度量的调整力度的指示;以及基于度量因子、所选择的图像质量度量的度量值、和对图像质量度量的调整力度来确定针对所选择的图像质量度量的目标图像质量度量值。
[0181]
方面14:根据方面12所述的方法,还包括:接收选择期望的输出相机设置的数量的指示;以及基于度量因子、所选择的图像质量度量的度量值、和期望的输出相机设置的数量来确定针对所选择的图像质量度量的目标图像质量度量值。
[0182]
方面15:根据方面12所述的方法,还包括:接收选择对图像质量度量的调整力度的指示;接收选择期望的输出相机设置的数量的指示;以及基于度量因子、所选择的图像质量度量的度量值、对图像质量度量的调整力度、和期望的输出相机设置的数量来确定针对所选择的图像质量度量的目标图像质量度量值。
[0183]
方面16:根据方面1至15中任一项所述的方法,还包括:输出与所确定的数据点相关联的信息用于显示。
[0184]
方面17:根据方面1至16中任一项所述的方法,还包括:使用与所确定的数据点相对应的相机设置对图像信号过程进行调试。
[0185]
方面18:根据方面1至17中任一项所述的方法,其中选择用于调整的图像质量度量
基于对图形用户界面的图形元素的选择。
[0186]
方面19:根据方面18所述的方法,其中图形元素包括增加图像质量度量或降低图像质量度量的选项。
[0187]
方面20:根据方面18所述的方法,其中图形元素与具有针对图像质量度量的调整值的显示图像相关联。
[0188]
方面21:根据方面1至20中任一项所述的方法,其中选择用于调整的图像质量度量基于对具有针对图像质量度量的调整值的显示图像帧的选择。
[0189]
方面22:根据方面1至21中任一项所述的方法,其中相机设置与一个或多个图像信号处理器设置相关联。
[0190]
方面23:一种用于确定一个或多个相机设置的装置,该装置包括:存储器(例如,在电路中实现)和耦合到该存储器的处理器。该处理器被配置为:接收选择用于调整的图像质量度量的指示;确定针对所选择的图像质量度量的目标图像质量度量值;从多个数据点中确定与具有最接近目标图像质量度量值的图像质量度量值的相机设置相对应的数据点。
[0191]
方面24:根据方面23所述的装置,其中选择图像质量度量的指示包括调整的方向。
[0192]
方面25:根据方面24所述的装置,其中调整的方向包括图像质量度量的降低或图像质量度量的增加。
[0193]
方面26:根据方面23至25中任一项所述的装置,其中处理器被配置为:从多个数据点中去除针对所选择的图像质量度量具有相同的度量值的一个或多个数据点。
[0194]
方面27:根据方面23至26中任一项所述的装置,其中处理器被配置为:接收选择用于调整的特定相机设置的指示,其中所选择的图像质量度量与所选择的特定相机设置相关联。
[0195]
方面28:根据方面27所述的装置,其中处理器被配置为:从多个数据点中去除与具有比所选择的特定相机设置低的得分的一个或多个相机设置相对应的一个或多个数据点。
[0196]
方面29:根据方面27所述的装置,其中处理器被配置为:从多个数据点中去除与针对所选择的图像质量度量具有相同的度量值并且具有比所选择的特定相机设置低的得分的一个或多个相机设置相对应的一个或多个数据点。
[0197]
方面30:根据方面23至29中任一项所述的装置,其中处理器被配置为:基于选择图像质量度量的指示,确定针对图像质量度量的调整的方向包括图像质量度量的降低;从多个数据点中去除对应于比所选择的特定相机设置针对所选择的图像质量度量具有更大的度量值的一个或多个相机设置的一个或多个数据点。
[0198]
方面31:根据方面30所述的装置,其中处理器被配置为:按降序对该组数据点进行排序。
[0199]
方面32:根据方面23至31中任一项所述的装置,其中处理器被配置为:基于选择图像质量度量的指示,确定针对图像质量度量的调整的方向包括图像质量度量的增加;从多个数据点中去除对应于比所选择的特定相机设置针对所选择的图像质量度量具有更小的度量值的一个或多个相机设置的一个或多个数据点。
[0200]
方面33:根据方面32所述的装置,其中处理器被配置为:按升序对该组数据点进行排序。
[0201]
方面34:根据方面23至33中任一项所述的装置,其中处理器被配置为:基于所选择
的图像质量度量的度量值、多个数据点中具有所选择的图像质量度量的极端值的数据点、和多个数据点的数量来确定度量因子;基于度量因子和所选择的图像质量度量的度量值确定针对所选择的图像质量度量的目标图像质量度量值。
[0202]
方面35:根据方面34所述的装置,其中处理器被配置为:接收选择对图像质量度量的调整力度的指示;基于度量因子、所选择的图像质量度量的度量值、和对图像质量度量的调整力度来确定针对所选择的图像质量度量的目标图像质量度量值。
[0203]
方面36:根据方面34所述的装置,其中处理器被配置为:接收选择期望的输出相机设置的数量的指示;基于度量因子、所选择的图像质量度量的度量值、和期望的输出相机设置的数量来确定针对所选择的图像质量度量的目标图像质量度量值。
[0204]
方面37:根据方面34所述的装置,其中处理器被配置为:接收选择对图像质量度量的调整力度的指示;接收选择期望的输出相机设置的数量的指示;基于度量因子、所选择的图像质量度量的度量值、对图像质量度量的调整力度、和期望的输出相机设置的数量来确定针对所选择的图像质量度量的目标图像质量度量值。
[0205]
方面38:根据方面23至37中任一项所述的装置,其中处理器被配置为:输出与所确定的数据点相关联的信息用于显示。
[0206]
方面39:根据方面23至38中任一项所述的装置,其中处理器被配置为:使用与所确定的数据点相对应的相机设置对图像信号过程进行调试。
[0207]
方面40:根据方面23至39中任一项所述的装置,其中选择用于调整的图像质量度量基于对图形用户界面的图形元素的选择。
[0208]
方面41:根据方面40的装置,其中图形元素包括增加图像质量度量或降低图像质量度量的选项。
[0209]
方面42:根据方面40的装置,其中图形元素与具有针对图像质量度量的调整值的显示图像相关联
[0210]
方面43:根据方面23至42中任一项所述的装置,其中选择用于调整的图像质量度量基于对具有针对图像质量度量的调整值的显示图像帧的选择。
[0211]
方面44:根据方面23至43中任一项所述的装置,其中相机设置与一个或多个图像信号处理器设置相关联。
[0212]
方面45:根据方面23至44中任一项所述的装置,还包括被配置为显示一个或多个图像帧的显示器。
[0213]
方面46:根据方面23至45中任一项所述的装置,还包括被配置为捕获一个或多个图像帧的相机。
[0214]
方面47:根据方面23至46中任一项所述的装置,其中装置是移动设备。
[0215]
方面48:一种存储有指令的计算机可读存储介质,当指令被执行时使得一个或多个处理器执行方面1至22的操作中的任一项。
[0216]
方面49:一种设备,包括用于执行方面1至22的操作中的任一项的部件。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1