发明内容
根据本发明的第一示例方面,提供了一种装置,该装置包括:
数字相机模块,其被配置为提供包括图像统计的图像数据;
至少一个处理器和至少一个包括计算机程序代码的存储器,该至少一个存储器和计算机程序代码被配置为利用至少一个处理器而使得该装置至少:
使用图像统计从通用动态相机配置文件中选择数字相机模块特征化参数的集合;
将所选择的数字相机模块特征化参数转换为图像信号处理参数;以及
使用图像信号处理参数对图像数据进行调谐以提供调谐图像。
该图像数据可以为原始图像格式并且图像统计可以包括以下各项中的至少一项:曝光时间、模拟增益、光圈、焦距、白平衡增益、相关色温估计和自动曝光。数字相机模块特征化参数可以包括以下各项中的至少一项:黑电平、图像传感器饱和限制、镜头阴影校正、噪声过滤和锐化。
该装置可以进一步包括自动调谐组块,其被配置为将所选择的数字相机模块特征化参数转换为图像信号处理参数。
该通用动态相机配置文件可以独立于至少一个处理器而进行更新并且该文件可以被划分成具有唯一标识和版本号的至少两个参数集合。该标识可以被配置为将参数集合的内容链接至逻辑图像信号处理。
该通用动态相机配置文件可以被存储在该装置的至少一个存储器中或者数字相机模块中。该通用动态相机配置文件可以被配置为可由至少两种不同处理器类型使用。
该装置可以进一步包括:
第二数字相机模块,其被配置为提供包括第二图像统计的第二图像数据;以及
该至少一个存储器和计算机程序代码被配置为利用至少一个处理器而使得该装置至少:
使用第二图像统计从第二通用动态相机配置文件中选择第二数字相机模块特征化参数的集合;
将所选择的第二数字相机模块特征化参数的集合转换为第二图像信号处理参数;以及
使用第二图像信号处理参数对第二图像数据进行调谐以提供第二调谐图像。
根据本发明的第二示例方面,提供了一种方法,该方法包括:
使用数字相机模块来提供包括图像统计的图像数据;
使用图像统计从通用动态相机配置文件中选择数字相机模块特征化参数的集合;
将所选择的数字相机模块特征化参数转换为图像信号处理参数;以及
使用图像信号处理参数对图像数据进行调谐以提供调谐图像。
根据第三示例方面,提供了一种包括计算机可执行程序代码的计算机程序,该计算机可执行程序代码被配置为使得装置在执行该程序代码时实施根据第二方面的方法。
根据第四示例方面,提供了一种承载第三示例方面的计算机程序的存储器介质。
前述任意存储器介质可以包括诸如数据磁盘或软盘、光学储存器、磁储存器、全息储存器、光磁储存器、相变存储器、阻变随机存取存储器、磁随机存取存储器、固体电解质存储器、铁电随机存取存储器、有机存储器或聚合物存储器之类的数字数据储存器。存储器介质可以被形成为不具有除进行储存的存储器之外的其它实质性功能的设备或者其可以被形成为具有其它功能的设备的一部分,包括但不限于计算机的存储器、芯片组以及电子设备的子装配件。
本发明的不同的非约束性示例方面和实施例已经在上文中进行了说明。以上实施例仅被用来解释可以用于实施本发明的所选择的方面或步骤。可能仅参考本发明的某些示例方面给出一些实施例。应当意识到的是,相对应的实施例也可以应用于其它示例方面。
具体实施方式
在以下描述中,相同的编号表示相同的要素。
相机模块可以根据其电气、光学和机械设计与制造过程而具有个体的特征。特征化数据几乎可以是取决于相机样本、相机类型或制造商的任意信息。典型地,特征是非理想因素,其可能需要在图像信号处理器(ISP)中进行补偿或校正。图像信号处理器(ISP)可以对来自相机模块输出的原始图像数据进行处理。相机模块特征可以通过测量进行采集;例如通过对具有预定义设置的原始图像进行捕捉和分析。
图1示出了与已知解决方案相比较的依据本发明的示例实施例的通用层系统100的一些细节。已知相机系统110被设计为使用相机模块特征化数据和图像信号处理器(ISP)参数112至115的组合进行工作,上述参数也被称之为图像信号处理器(ISP)专用调谐参数。图像信号处理器(ISP)111、116可以在不同阶段使用不同算法来对原始图像数据进行处理。每种算法利用相机特征化数据的某些部分作为参数以便部分主观地和部分客观地实现最佳的可能图像质量(IQ)。图像信号处理器(ISP)参数112至115可以取决于实施方式以及可能的硬件和软件限制。然而,在不同图像信号处理器(ISP)之间存在重叠的参数。
每个图像信号处理器(ISP)111、116可以具有自己的需要针对特定相机模块进行配置的处理参数112至115。针对相机传感器调整图像信号处理器(ISP)参数112至115需要对图像信号处理器(ISP)具有一定的良好洞察力,因为参数112至115中的许多参数可能是冗余的并且可能不需要进行调整。此外,为了能够对图像信号处理器(ISP)进行调谐,还应当了解特定图像信号处理器(ISP)的算法表现,这由于通常该信息是复杂的且受到保护而是有问题的。对一个图像信号处理器(ISP)的参数有所了解在使用其它图像信号处理器(ISP)进行工作时可能根本不会有所帮助。
另一个问题是多个相机模块和图像信号处理器(ISP)。例如,在装置中具有两个相机(主要的和次要的)以及用于两个相机的两个供应商将导致四种不同的相机。此外,三个不同图像信号处理器(ISP)将导致12种不同的组合,意味着12种不同的图像信号处理器(ISP)参数调谐和相机模块特征化。调节该参数也将需要对所有这些图像信号处理器(ISP)和相机模块具有良好洞察力。
缺少相机模块调谐参数的通用层(common layer)可能会增加图像信号处理器(ISP)调谐过程的开发时间。通常,问题已经是在通用相机模块特征化数值和图像信号处理器(ISP)专用调谐参数之间缺少抽象层。此外,图像信号处理器(ISP)参数的变化并没有导致所感知图像质量的类似变化(例如锐化或噪声过滤),这使得图像质量调谐非常棘手。
在已知相机系统110中,调谐参数112至115是图像信号处理器(ISP)专用的并且使用图像信号处理器(ISP)专用工具所创建。由此,所有相机/图像信号处理器(ISP)的组合可能需要单独进行调谐。所有参数112至115都针对专用图像信号处理器(ISP)而在个人计算机(PC)一侧进行构建。这样的构建可能给出从图像信号处理器(ISP)供应商的观点来看可能并非有利解决方案的图像信号处理器(ISP)和算法。已知解决方案还需要图像信号处理器(ISP)和相机模块的组合在调谐开始之前可用并且不允许轻易地进行区分。在抽象层130的右侧完成的调谐和特征化工作几乎是不可在不同平台之间重复使用的。如所能够看到的,工作量在图像信号处理器(ISP)和相机模块的数量增加时快速增长。图像质量(IQ)调谐、验证和相机配置释放针对每种相机/图像信号处理器(ISP)的组合单独完成。即使在具有不同图像信号处理器(ISP)的装置中使用相同的相机模块,其它装置也不可能利用已经释放的已有图像质量(IQ)调谐的已有工作。
图1的底部120图示了依据本发明的示例实施例的通用层系统100的一些细节。通用动态相机配置(CDCC)125、126包括抽象图像质量(IQ)调谐和相机模块特征化参数的超集。通用动态相机配置(CDCC)125、126的格式针对不同图像信号处理器(ISP)和相机模块是相同的。图像信号处理器(ISP)121、123可以不必使用所有参数,但是通用动态相机配置(CDCC)125、126可以包括针对不同图像信号处理器(ISP)121、123的图像质量(IQ)调谐数值所需要的一样大的参数集合。通用动态相机配置(CDCC)125、126是通用形式(generalization),因为是针对相机模块而不是专用图像信号处理器(ISP)121、123来完成图像质量(IQ)调谐。此外,每个图像信号处理器(ISP)121、123可以更快地利用图像质量(IQ)调谐,因为可以针对相机模块而不是图像信号处理器(ISP)121、123和相机的组合来完成释放。因此,相同的相机模块专用调谐文件可以在实施通用动态相机配置(CDCC)125、126的所有图像信号处理器(ISP)121、123中得以使用。
依据本发明的示例实施例,图1中所示的自动调谐组块122、124可以将通用动态相机配置(CDCC)125、126文件中的通用调谐数值转换成设备端中的图像信号处理器(ISP)121、123专用参数。这样的解决方案可以允许将包含模块专用的通用动态相机配置(CDCC)125、126文件的相机模块插入到支持通用动态相机配置(CDCC)的设备之中。这样的组合可能导致完全调谐的且功能性的相机系统而无需任何软件区分或图像信号处理器(ISP)121、123专用的调谐。
图2示出了依据本发明的示例实施例的装置中的不同功能的示意图。图像数据260可以由图像传感器250所提供。图像数据260可以为原始图像的格式。原始图像文件可以包含来自图像传感器250的经最低程度处理的数据。原始文件通常这样命名,因为它们还没有被处理并且因此并未准备好进行打印或利用位图图形编辑器进行编辑。正常情况下,图像在全色域内部色彩空间中由原始转换器进行处理,其中可以在转换为诸如标签图像文件格式(TIFF)或联合图像专家组(JPEG)之类的“确定”文件格式以便进行存储、打印或进一步操控之前进行精确的调节,这经常在依赖于设备的色彩空间中对图像进行编码。在创建原始图像数据260的同时,生成图像统计230。由传感器250所提供的原始图像的图像统计230例如可以包括曝光时间、模拟增益(AG)、光圈、焦距、白平衡增益、相关色温估计和自动曝光。
相机模块可以被提供以通用动态相机配置(CDCC)210文件。通用动态相机配置(CDCC)210文件可以包括在相机模块存储器中并且在相机模块连接至主机设备时被提供至主机设备的存储器。这样的解决方案从集成的观点来看是最优的。另一种选择是在将相机模块安装到主机设备时将通用动态相机配置(CDCC)210文件包括在已经处于生产线上的该设备的存储器中。再另一种选择是在主机设备的软件更新期间或者独立地利用无线电下载通用动态相机配置(CDCC)210文件。通用动态相机配置(CDCC)210文件还可以局部地处于小范围无线电链路(例如蓝牙TM)或线缆连接(例如通用串行总线(USB))上。
通用动态相机配置(CDCC)210文件可以被送至自动调谐组块220。通用动态相机配置(CDCC)210文件的内容首先被解析并且之后自动调谐组块220可以使用图像统计230来选择相对应的通用动态相机配置(CDCC)图像质量(IQ)参数,并且在本发明的示例实施例的图像处理管道280中将通用动态相机配置(CDCC)数值转换为图像信号处理器(ISP)230的参数,该参数包含用于当前图像260的图像信号处理器(ISP)240专用调谐数值。图像信号处理器(ISP)240可以使用由自动调谐组块220所创建的图像信号处理器(ISP)240专用调谐数值对当前图像260进行调谐以生成调谐图像270。通用动态相机配置(CDCC)210文件格式可以是二进制、可扩展标记语言(xml)或任何其它格式。使用动态文件使得能够对软件自身进行独立更新。
从实施方式验证的观点来看,通用动态相机配置(CDCC)参数可以被划分为两个集合:其映射可以通过自动图像分析进行验证的参数(例如黑电平、传感器饱和限制、镜头阴影校正等)以及其映射可能需要针对支持通用动态相机配置(CDCC)的现有平台进行视觉验证的参数(例如噪声过滤和锐化)。
图3示出了依据本发明的示例实施例的用于通用动态相机配置(CDCC)参数的视觉验证方法。这样的方法也可以被用于使用新的自动调谐组块和解析器针对新的平台350生成新的通用动态相机配置(CDCC)文件325。相同的未处理原始图像310可以在支持通用动态相机配置(CDCC)的不同图像信号处理器(ISP)330、340中使用由调谐工具315所提供的原始图像统计用相对应的通用动态相机配置(CDCC)文件320进行仿真。由支持通用动态相机配置(CDCC)的图像信号处理器(ISP)330、340所生成的调谐图像360、370可以与新平台350的图像380进行比较,其中该实施方式正在进行开发。新平台350可以使用新版本的通用动态相机配置(CDCC)文件325。新版本的通用动态相机配置(CDCC)文件325可以使用较早的通用动态相机配置(CDCC)文件320作为起始点而生成。该文件中的参数可以被添加和修改为针对新平台350而言是最优的,以产生新版本的通用动态相机配置(CDCC)文件325。使用具有由调谐工具315所提供的不同曝光参数的大量不同原始图像310可以产生更好的匹配。
通用动态相机配置(CDCC)文件320结构可以被划分为具有唯一标识(ID)和版本号的不同参数集合。标识(ID)将参数集合的内容链接至逻辑图像信号处理器(ISP)分区之中。参数集合例如可以包括噪声滤波器、黑电平校正和镜头阴影校正。新参数可以被添加至参数集合但是不能被去除。以这种方式,可以提供向后兼容性并且可以在较旧的平台330、340中使用较新的通用动态相机配置(CDCC)文件325。新的通用动态相机配置(CDCC)文件325可以被用于新的平台350,并且所产生的图像380可以与较早平台的图像360、370相比较以进行视觉验证来确保兼容性。此外,较早的通用动态相机配置(CDCC)文件320也可以在较新的平台350中使用。由于在较早的通用动态相机配置(CDCC)文件320中可能缺少某些参数,所以所产生的图像可能不是最佳可能的。然而,较早的通用动态相机配置(CDCC)文件320与较新的平台350相兼容。
在本发明的示例实施例中,通用动态相机配置(CDCC)减少了冗余图像质量(IQ)的调谐工作。通用动态相机配置(CDCC)还可以使得图像质量(IQ)的调谐工作在使得图像信号处理器(ISP)的硬件部分可用之前开始。此外,通用动态相机配置(CDCC)可以减少开发时间而且使得能够处理通用动态相机配置(CDCC)的释放并且由一方进行测试。通用抽象图像质量(IQ)调谐层130也可以使得第三方能够在不了解关于图像信号处理器(ISP)配置参数的细节的情况下利用通用动态相机配置(CDCC)图像质量(IQ)调谐。
在本发明的示例实施例中,改变通用动态相机配置(CDCC)参数对于支持通用动态相机配置(CDCC)的所有平台中的图像质量可以具有相对应的效果。这样的效果归因于自动调谐组块122、124、220,其将抽象通用动态相机配置(CDCC)参数映射至图像信号处理器(ISP)121、123、240的参数。因此,可以直接在支持通用动态相机配置(CDCC)的任意平台中使用数字相机。此外,利用通用动态相机配置(CDCC)接口的第三方应用是独立于图像质量观点的平台/相机模块。相同的第三方相机应用可以在不改变与图像信号处理器(ISP)121、123、240或相机模块相关的软件的情况下在不同平台中使用。通用动态相机配置(CDCC)还可以允许使用不同算法并且不会降低图像质量。
相机供应商可以通过根据规范表征其相机模块来支持通用动态相机配置(CDCC)。图像信号处理器(ISP)121、123、240和支持的通用动态相机配置(CDCC)的组合增强了模块性并且允许相机模块和图像信号处理器(ISP)121、123、240的简短且直接的集成。
在本发明的示例实施例中,通用参数可以被用于所有图像信号处理器(ISP)121、123、240并且可以仅使用一个调谐工具来创建调谐文件。来自调谐文件的参数集合在被传输至图像信号处理器(ISP)121、123、240时可以被转换为图像信号处理器(ISP)121、123、240专用格式,上述图像信号处理器(ISP)121、123、240通常位于相机模块所附接的设备之中。相机模块可以在具有相机模块专用的通用动态相机配置(CDCC)调谐文件时被调谐并且直接在支持通用动态相机配置(CDCC)的所有图像信号处理器(ISP)121、123、240中投入使用。在自动调谐组块中使用通用参数并且将该参数转换为图像信号处理器(ISP)121、123、240专用的使得能够将图像信号处理器(ISP)121、123、240的设置隐藏在通用动态相机配置(CDCC)接口之后。使用通用动态相机配置(CDCC),在甚至图像信号处理器(ISP)121、123、240被制造之前对未来的图像信号处理器(ISP)121、123、240进行调谐是可能的。当新的图像信号处理器(ISP)121、123、240支持通用动态相机配置(CDCC)时,相机模块可以在没有任何图像信号处理器(ISP)121、123、240专用区分的情况下直接投入使用。
在本发明的示例实施例中,图像信号处理器(ISP)121、123、240供应商可以交付与通用动态相机配置(CDCC)完全兼容的图像信号处理器(ISP)121、123、240并且将处理器实施方式隐藏在通用接口之后。相机模块供应商可以具有通用动态相机配置(CDCC)调谐工具以及特征化图像捕捉指南。使用该工具和指南,可以针对支持通用动态相机配置(CDCC)的所有图像信号处理器(ISP)121、123、240提供具有完整图像质量调谐的相机模块。结果,可以减少开发和制造时间,减少集成风险并且使得更高的模块性成为可能。
图4给出了可以在其中应用本发明的各个实施例的图像处理管道400的示例框图。通用动态相机配置(CDCC)文件430可以与数字相机模块410一起交付。例如,数字相机模块还可以包括图像传感器420、机械器件(未示出)和光学器件(未示出)。通用动态相机配置(CDCC)文件430是数字相机模块410专用的并且例如可以被存储到诸如移动电话之类的电子设备440的存储器中。例如,通用动态相机配置(CDCC)文件430也可以使用储存设备或者可能从网络下载该文件430而与数字相机模块410分开交付。包括图像传感器420的数字相机模块410可以利用文件430进行调谐并且变为在支持通用动态相机配置(CDCC)的系统(例如移动电话)中是完全可用的。来自数字相机模块410的原始图像可以使用相机驱动器450而被传输至图像信号处理器(ISP)460。自动调谐模块470可以使用图像统计选择相对应的通用动态相机配置(CDCC)图像质量(IQ)参数并且将通用动态相机配置(CDCC)数值转换为图像信号处理器(ISP)460参数,该图像信号处理器(ISP)460参数包含用于由本发明的示例实施例的图像处理管道400的数字相机模块410所提供的原始图像的图像信号处理器(ISP)460专用调谐数值。图像信号处理器(ISP)460可以使用由自动调谐组块470所创建的图像信号处理器(ISP)460专用调谐数值对原始图像进行调谐以生成调谐图像480,例如联合图像专家组(JPEG)图像。自动调谐组块470也可以在图像处理管道400中被定位于图像信号处理器(ISP)460之后。根据本发明的示例实施例,图像信号处理器(ISP)460可以对由图像传感器420所提供的原始图像进行处理并且经处理的图像可以由设备的另一个处理器使用由自动调谐组块470所创建的调谐数值进行调谐以生成调谐图像480。
图5示出了可以在其中应用本发明的各个实施例的装置500的示例框图。这可以是用户设备或装置,诸如电子设备、数字相机设备、个人数字助理(PDA)、膝上计算机、移动终端或其它通信设备。
装置500的一般结构包括通信接口模块550、耦合至通信接口模块550的处理器510以及耦合至处理器510的存储器520。该装置进一步包括存储在存储器520中并且可操作以加载到处理器510中并在其中执行的软件530。软件530可以包括一个或多个软件模块并且可以为计算机程序产品的形式。装置500进一步包括耦合至处理器510的用户接口控制器560以及包括图像传感器541、光学器件和机械器件(未示出)的相机模块540。相机模块540可以进一步包括通用动态相机配置(CDCC)文件542。装置500可以进一步包括自动调谐组块570。
通信接口模块550实施本发明的各个实施例的至少一部分无线电传输。通信接口模块550例如可以是无线电接口模块,诸如WLAN、蓝牙、GSM/GPRS、CDMA、WCDMA或LTE(长期演进)无线电模块。通信接口模块550可以被集成到装置500或者可以被插入装置500的适当插槽或端口中的适配器、卡等之中。通信接口模块550可以支持一种无线电接口技术或多种技术。图5示出了一个通信接口模块550,但是装置500可以包括多个通信接口模块550。
处理器510例如可以是中央处理器(CPU)、微处理器、数字信号处理器(DSP)、图像信号处理器(ISP)、图形处理器等。图5示出了一个处理器510,但是装置500可以包括多个处理器。
存储器520例如可以是非易失性或易失性存储器,诸如只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、随机访问存储器(RAM)、闪存、数据磁盘、光储存器、磁储存器、智能卡等。装置500可以包括多个存储器。存储器520可以被构造为装置500的一部分或者其可以被用户插入装置500的插槽、端口等之中。存储器520可以仅用作存储数据,或者其可以被构造为装置的用作诸如处理数据之类的其它目的的一部分。
相机模块540可以包括具有图像传感器541和通用动态相机配置(CDCC)文件542的数字相机。通用动态相机配置(CDCC)文件542也可以被存储到装置500的存储器520。具有图像传感器541的数字相机也可以仅包括图像传感器。相机模块540也可以作为模块化组件而被集成到装置500,或者相机模块540可以作为附件而被附接到装置500并且是可由用户替换的。
自动调谐组块570可以包括用于接收来自相机模块540的图像统计以及来自通用动态相机配置(CDCC)文件542的相机模块特征化参数的电路。自动调谐组块570可以是位于主机装置存储器530中并且由处理器510进行处理的软件组件。自动调谐组块570还可以被实施为专用于特定任务的单独硬件组块。用户接口控制器560可以包括用于例如经由键盘、装置500的显示器上所示出的图形用户接口、语音识别电路或者诸如耳机之类的配件设备接收来自装置500的用户的输入以及用于例如经由图形用户接口或扬声器向用户提供输出的电路。
本领域技术人员所意识到的是,除了图5中所示出的部件之外,装置500可以包括其它部件,诸如麦克风、显示器以及诸如输入/输出(I/O)电路、存储器芯片、专用集成电路(ASIC)、诸如源编码/解码电路、信道编码/解码电路、加密/解密电路等用于特定目的的处理电路之类的附加电路。此外,装置500可以包括用于在外部电源不可用的情况下对装置500进行供电的一次性或可再充电电池。可以通过在可扩展外壳中封装电解液而实现电池的扩展能力。
图6示出了示出依据本发明的示例实施例的装置中的操作的流程图。在步骤600,操作开始。在步骤610,使用数字相机模块提供包括图像统计的图像数据。在步骤620,使用图像统计从通用动态相机配置文件中选择数字相机模块特征化参数的集合。在步骤630,所选择的数字相机模块特征化参数被转换为图像信号处理参数。在步骤640,使用图像信号处理参数对图像数据进行调谐以提供调谐图像。在步骤650,操作结束。
已经给出了各个实施例。应当意识到的是,在本文中,词语“包括(comprise)”、“包括(include)”和“包含(contain)”均被用作不具有有意的排他性的开放式表达方式。
前述描述已经通过本发明的特定实施方式和实施例的非限制性示例提供了对由发明人当前所预期的用于实施本发明的最佳模式的完整且翔实的描述。然而,对于本领域技术人员而言清楚的是,本发明不限于以上所给出的实施例的细节,而是可以使用等同手段在其它实施例中或者在实施例的不同组合中得以实施而不背离本发明的特征。
此外,以上所公开的本发明的实施例的一些特征可以在没有相对应地使用其它特征的情况下加以利用。如此,前述描述应被认为仅仅是说明本发明的原理而并不对其进行限制。因此,本发明的范围仅由所附的专利权利要求所限定。