使用单个控件控制多个照片调整的制作方法

文档序号:12287681阅读:245来源:国知局
使用单个控件控制多个照片调整的制作方法与工艺

图像编辑应用程序通常提供具有重叠作用的多个控件。改变暗区设置将影响对比度,改变曝光设置将影响明度,等等。许多控件的重叠作用可导致调整一个控件、接着调整另一个控件并且接着必须重新调整第一个控件以补偿由于第二个控件的调整引起的改变的令人受挫的运用。一些图像编辑应用程序提供了装配到多个图像编辑控件的主控件。当图像编辑控件被装配到主控件时,调整主控件的值会根据将主控件的值与其他图像编辑控件的值相关联的关系(例如,数学公式)调整各个编辑控件的值。在一些应用程序中,每个图像编辑控件与主控件具有独立的关系。然而,此类应用程序的主控件的使用价值有限,因为对于主控件的给定值,应用程序将同一组值应用于这些图像编辑控件,而不管被编辑的图像的性质如何。



技术实现要素:

一些实施方案提供一种应用程序(例如,图像组织和编辑应用程序),其分析待编辑的图像并且基于图像的特征使用一组关系将多个图像编辑控件装配到主控件。在此类实施方案中,图像编辑应用程序针对具有不同特征的不同图像设置主控件与图像编辑控件之间的不同关系。

在一些实施方案中,图像编辑应用程序基于图像中的像素的颜色分量值来计算图像的灰度值的直方图。一些实施方案的图像编辑应用程序计算累积直方图。图像编辑应用程序接着基于灰度值和累积直方图确定统计值。在一些实施方案中,图像编辑应用程序计算统计值,诸如图像的像素的各个百分位(例如,直方图中的像素的第2个、第10个、第25个、第50个、第75个和第98个百分位)的灰度值。图像编辑应用程序接着使用这些统计值来计算由用户设置的主控件的值与装配到主控件的每个图像编辑控件的值之间的关系。在一些实施方案中,图像编辑控件包括用于曝光、对比度、亮区、明度、暗区和黑色设置的控件。

在计算主控件值与图像编辑控件值之间的关系之后,一些实施方案的图像编辑应用程序使用这些关系和由用户设置的主控件值来确定待应用于图像的图像编辑值。图像编辑应用程序接着基于这些图像编辑控件值来调整图像。

除了允许用户设置主控件值之外,一些实施方案的图像编辑应用程序还提供了用于自动设置主控件值的控件。当用户激活该控件时,图像编辑应用程序自动将主控件设置为基于图像特征计算的值。在一些实施方案中,图像编辑应用程序在分析图像以计算统计值时计算此自动主控件值。在其他实施方案中,在不同时间(例如,在激活自动调整控件之后)计算自动主控件值。

一些实施方案的图像编辑应用程序针对多个主控件中的每一个计算不同组的统计值。例如,在一些实施方案中,图像编辑应用程序基于图像的灰度值(例如,平均颜色分量值)来计算统计值。图像编辑应用程序使用这些统计值设置基于光的主控件的值与基于光的图像编辑控件的值之间的关系。图像编辑应用程序还计算基于光的主控件图像的自动主控件值。

除了针对基于光的控件的计算之外,一些实施方案的图像编辑应用程序还会基于图像的颜色特征(例如,图像的像素的饱和度值)单独计算统计值。图像编辑应用程序使用这些统计值设置基于颜色的主控件的值与基于颜色的图像编辑控件的值之间的关系。一些实施方案的图像编辑应用程序还使用这些统计值(和/或其他统计值)来确定基于颜色的主控件的自动主控件值。

一些实施方案的图像编辑应用程序还基于图像的颜色和/或灰度值来计算统计值,以用于设置黑白主控件的值与影响将彩色图像转换为黑白图像的效果的图像编辑控件的值之间的关系。一些实施方案的图像编辑应用程序还计算黑白主控件的自动主控件值。

上述发明内容旨在用作对本发明的一些实施方案的简单介绍。其并非意味着对在本文档中公开的所有发明主题的介绍或概述。随后的具体实施方式以及在具体实施方式中所参照的附图将进一步描述发明内容中所述的实施方案以及其他实施方案。因此,为了理解本文档所描述的所有实施方案,需要充分理解发明内容、具体实施方式和附图。此外,受权利要求书保护的主题不被发明内容、具体实施方式及附图中的示例性细节所限定,而是被所附权利要求所限定,这是因为受权利要求书保护的主题在不脱离本主题的实质的情况下能够以其他特定形式来体现。

附图说明

图1示出了一些实施方案的图像编辑应用程序。

图2示出了处于中性设置的主控件和装配到该主控件的多个图像编辑控件。

图3示出了处于低正设置的主控件和装配到该主控件的多个图像编辑控件。

图4示出了处于高正设置的主控件和装配到该主控件的多个图像编辑控件。

图5示出了处于低正设置的主控件和装配到该主控件的多个图像编辑控件,其中该装配基于另选图像。

图6示出了处于高正设置的主控件和装配到该主控件的多个图像编辑控件,其中该装配基于另选图像。

图7示出了当独立于主控件调整一个控件时装配到主控件的多个控件。

图8概念性地示出了用于通过装配到主控件的一组图像编辑控件调整图像的因素。

图9概念性地示出了用于基于主控件值和待编辑的图像的统计值来调整图像的过程。

图10示出了处于低正设置的基于颜色的主控件和装配到该主控件的多个图像编辑控件。

图11示出了处于低正设置的颜色主控件和装配到该主控件的多个图像编辑控件,其中该装配基于另选图像。

图12是移动计算设备的架构的示例。

图13概念性地示出了实现本发明的一些实施方案所利用的电子系统的另一个示例。

具体实施方式

在本发明的以下具体实施方式中,提出并描述了本发明的许多细节、示例和实施方案。然而,对于本领域的技术人员来说将清楚和显而易见的是,本发明并不限于与所陈述的实施方案相同,并且本发明可在没有使用所描述的一些具体细节和示例的情况下被实践。对于本领域的普通技术人员来说将清楚的是,附图中所描绘的各种控件是出于清楚起见提供的控件的示例。其他实施方案可使用其他控件而仍属于本发明的实施方案的范围内。例如,本文中描绘为硬件控件的控件可在一些实施方案中提供为软件图标控件,反之亦然。类似地,这些实施方案不限于仅使用附图中所描绘的各种指示符和图标。

图1示出了一些实施方案的图像编辑应用程序100。该图像编辑应用程序包括含有图像107的图像显示区域105、用于调整与图像的光(例如,亮度)值相关的图像控件的主控件110、用于编辑图像的各个方面的图像编辑控件112至122、用于调整图像的颜色相关方面的主控件130、与影响将彩色图像转换为黑白图像的效果的控件相关的主控件140、复位控件150、主控件展开器160至164、主自动调整控件170和各个自动调整控件172至176。

一些实施方案的图像编辑应用程序100是由计算机或其他机器(例如,智能电话或平板计算设备)的至少一个处理单元执行的程序。在一些实施方案中,图像编辑应用程序100编辑静态图像(例如,照片)、视频图像和/或幻灯片。在一些实施方案中,图像编辑应用程序100还提供图像组织功能。图像编辑应用程序100在图像显示区域105中显示图像107。图像107是当前正由应用程序100编辑的图像。在图像107为当前正被编辑的图像时,向图像107应用对控件110至150的值的调整。

图像编辑控件112至122能够由应用程序的用户调整。调整这些控件112至122中的一者会改变该控件所控制的设置的值。改变设置的值会致使图像编辑应用程序100调整该设置所控制的图像的相应方面。除了允许用户控制设置的值之外,一些实施方案的控件112至122还指示设置的当前值(例如,对于滑动条控件,该设置可通过在附图中表示为滑动条上的线的控制钮的位置来指示,通过选择性地为滑动条着色来指示,通过在滑动条上或滑动条附近显示设置的数值来指示,等等)。在一些实施方案中,特定选择动作(例如,双击、在使用触摸屏的情况下的双轻敲等等)致使控件复位(即,回到中间未调整设置,或由主控件设置确定的各个控件的值)。另外,在一些实施方案中,将位置指示符(例如,光标)置于一个控件上方使得用户能够直接编辑与该控件相关联的数值,这是等效于将控件移动到与该数值相关联的位置的动作。

主控件110用于控制图像的与亮度相关的方面。当用户调整主控件110时,图像编辑应用程序100自动(即,没有除了调整主控件之外的用户干涉)调整多个图像编辑控件(即,图像编辑控件112至122中的一些或全部)。除了自动调整图像编辑控件之外,应用程序100还会调整这些自动调整的图像编辑控件所表示的值。下文结合图2进一步描述了对设置的更改的示例。在一些实施方案中,还可单独地调整图像编辑控件112至122。一些实施方案使得用户能够执行特定选择动作(例如,双击、在使用触摸屏的情况下的双轻敲等等),该动作致使主控件110复位到未调整(例如,中间)位置,同时保留已经由用户直接调整的任何单个控件的调整。其他实施方案将复位主控件110下方的所有控件,包括已被单独地调整的那些控件。另外其他实施方案将主控件复位到基于图像统计值所计算出的自动调整值,这在下文中进行描述。

在一些实施方案中,应用程序100设置主控件110与图像编辑控件112至122中的每一者之间的不同关系。在一些实施方案中,主控件110与特定图像编辑控件之间的关系由所编辑的图像的特征决定。例如,主控件110的特定值与编辑不同图像时用于控件112的不同值相关。在一些实施方案中,主控件110与特定图像编辑控件(例如,图像编辑控件112)之间的关系取决于在各个图像之间变化的特征(例如,图像的平均亮度值、图像的灰度值分布等等)。

一些实施方案提供多个主控件。所例示的实施方案提供用于调整用于图像的颜色相关方面的图像编辑控件(例如,饱和度控件、颜色对比度控件和色偏控件,这些控件均未示出)的主控件130。所例示的实施方案还提供用于调整会影响将彩色图像转换为黑白图像的效果的图像编辑控件的主控件140。例如,一些实施方案的图像编辑应用程序提供色相角控件。色相角控件的设置基于当前图像中的对应像素的颜色来影响图像的黑白版本中的像素将看起来多亮(例如,彩色图像中的绿色像素将针对色相角的第一设置转换为黑白图像中的亮像素,并且相同像素将针对色相角控件的第二设置转换为黑白图像中的暗像素)。在一些实施方案中,与黑白转换相关的色相角控件和/或其他控件被装配到主控件140。

在一些实施方案中,可任选地隐藏或显示与特定主控件相关的图像编辑控件。在图1中,主控件展开器160至164确定哪些图像编辑控件是可见的。在该图中,主控件展开器160被激活;因此,图像编辑应用程序100显示装配到主控件110的图像编辑控件112至122。主控件展开器162和164未激活;因此,图像编辑应用程序100不显示装配到主控件130和140的图像编辑控件。在一些实施方案中,复位控件150在被激活时致使取消对图像的任何编辑并且图像返回到其原始状态。

除了与图像编辑控件具有基于所编辑的图像的特征来确定的关系的主控件110、130和140中的一者或多者之外或代替该一者或多者,一些实施方案提供自动调整控件170。在一些实施方案中,当用户激活自动调整控件170时,图像编辑应用程序将一个或多个主控件值自动设置为基于图像的特征的预先计算值。图像编辑应用程序接着将装配到主控件的图像编辑控件设置为取决于其相应关系的值。在一些实施方案中,一旦确定图像的统计值,便针对每个主控件确定单独的预先计算值。在一些实施方案中,激活自动调整控件170还会自动设置未装配到主控件的控件(例如,未装配到主控件的白平衡控件)的值。一些实施方案的图像编辑应用程序选择性地应用自动调整。例如,在一些实施方案中,一旦激活自动调整控件170后,图像编辑控件将自动调整基于光的主控件110和基于颜色的主控件130,但不会自动调整黑白主控件,除非该图像被转换为黑白。图像编辑应用程序在这种情况下省略了调整黑白主控件,因为黑白控件仅影响被转换为黑白的图像。另外,在一些实施方案中,针对自动调整控件170计算出的自动值可用于计算装配到主控件的一个或多个控件的设置值(即,各个控件的设置值可为主控件设置和自动调整控件的自动计算值两者的函数)。

除了自动设置光主控件和颜色主控件(以及在一些情况下,黑白主控件)的自动调整控件170之外,一些实施方案还包括各个自动调整控件172至176。这些控件使得用户能够自动设置一个主控件而不影响其他控件。例如,光自动调整控件172的选择将自动设置光主控件(以及继而,各个光控件),但不影响黑白控件或颜色控件。

I.主控件

图2示出了处于中性设置的主控件和装配到该主控件的多个图像编辑控件。该图包括主控件210、曝光控件212、对比度控件214、明度控件216、暗区控件218、亮区控件220、黑色控件222、主控件值指示符230、曝光指示符232、对比度指示符234、明度指示符236、暗区指示符238、亮区指示符240、黑色指示符242和控制钮250至262。

在该图中,主控件210包括多个缩略图,其提供所编辑的图像将在各种设置下看起来的外观的近似。例如,当控制钮250被设置为主控件210的右侧上的值时,图像将看起来亮,所以那侧上的缩略图是亮的。相反,当控制钮250被设置为主控件210的左侧上的值时,图像将看起来暗,所以那侧上的缩略图是暗的。

在该图中,主控件210被设置为中心设置(控制钮250在中间)。在一些实施方案中,主控件的中心是中性设置。在一些实施方案中,主控件210的中性设置导致装配到主控件210的图像编辑控件212至222中的每一者的中性设置。在一些实施方案中,图像编辑控件的中性值导致该控件不对图像做出任何更改。当所有亮度相关图像编辑控件212至222被设置为中性值时,图像编辑应用程序不更改图像的任何亮度相关方面。与每个控件相关联的值由指示符230至242和控制钮250至262指示。

在所例示的实施方案中,主控件210和图像编辑控件212至222的中性设置各自对应于值0.00,如全部读作0.00的指示符230至242和居中于其相应控件上的控制钮250至262所指示。在本文所示的实施方案中,主控件210的中性设置对应于图像编辑控件212至222中的每一者的中性设置。然而,在另选实施方案中,主控件的中性设置对应于一个或多个图像编辑控件的非中性设置。例如,在一些实施方案中,主控件的中性设置对应于曝光控件的正或负设置。

主控件210和图像编辑控件212至222全部表示为滑动条。也就是说,通过用户滑动图形用户界面(GUI)元素诸如控制钮250至262来调整的控件。在一些实施方案中,GUI通过用户点击并使用光标控制设备拖动控制钮来接收用于滑动控制钮的命令。在一些实施方案中,代替从光标控制设备接收命令或者除此之外,GUI从触敏显示屏上的手势命令(例如,手指在控制钮的位置处与显示屏形成接触,沿显示屏滑动,并且与之一起拖动控制钮)接收用于滑动控制钮的命令。类似地,除了此类界面之外或代替此类界面,一些实施方案允许用户通过使用键盘来选择并移动控制钮(例如,向前移动以选择特定控制钮并且使用箭头键来移动所选择的控制钮以便增大或减小该控件的值)。虽然所示出的主控件和图像编辑控件(除了复位和自动调整控件之外)全部为滑动条,但在其他实施方案中,针对一个或多个图像编辑设置提供其他类型的控件。例如,在一些实施方案中,一个或多个控件为转盘、多轴多设置界面(例如,沿一个轴具有曝光值且沿另一个轴具有对比度值的网格,其中网格上的每个点表示用于曝光和对比度设置两者的值)、数值控件(例如,可将值键入到文本输入框中)和/或其他GUI控制机制。

在本文所例示的示例中,所有控件212至222被装配到主控件。然而,在其他实施方案中,在主控件下方显示的一个或多个控件未装配到主控件。在一些此类实施方案中,激活主控件展开器(例如,图1的主控件展开器162)将展现(或隐藏)装配到主控件的一个或多个控件和未装配到主控件的一个或多个控件(参见例如图10和图11的描述)。因此,虽然控件212至222在本文附图中被示出为装配到主控件210,但在另选实施方案中,控件212至222中的一者或多者可不装配到主控件210。在此类实施方案中,对主控件210的值的调整将导致对装配到主控件210的控件的改变,而不导致对未装配到主控件210的控件的改变。

图3示出了处于低正设置的主控件和装配到该主控件的多个图像编辑控件。该图示出了响应于将主控件210的值改变较小正量而对图像编辑控件212至222造成的改变。该图包括条纹312至322。条纹312提供曝光设置的值的视觉指示符。条纹314提供对比度设置的值的视觉指示符。条纹316提供明度设置的值的视觉指示符。条纹318提供暗区设置的值的视觉指示符。条纹320提供亮区设置的值的视觉指示符。条纹322提供黑色设置的值的视觉指示符。在一些实施方案中,每个条纹从图像编辑控件(例如,图像编辑滑动条)的中心延伸到该图像编辑控件的控制钮。例如,条纹312从曝光控件的中心延伸到控制钮252。

在一些实施方案中,每个条纹从对应图像控件滑动条的中心开始的长度以及控制钮和对应图像编辑控件滑动条的中心的距离与设置的值成比例。在本文所示出的附图中,长度和距离可在给定图式中或跨多个图式不按比例绘制。

除了条纹312至322和控制钮252至262之外,指示符232至242显示指示对应设置的值的数字。例如,在该图中,指示符232显示指示曝光控件212的曝光设置具有值0.05的数字(此处,0.05)。类似地,在该图中,指示符230显示指示主控件210的主控件设置具有值0.08的数字(此处,0.08)。

在该图中显示将图像编辑设置的值装配到主控件的若干特征。该图示出了不同图像编辑控件212至222可与主控件210具有不同关系。此处,主控件210与图像编辑控件212之间的关系导致当主控件210的值被设置为0.08时图像编辑控件212的值被自动设置为0.05。相反,主控件210与图像编辑控件214之间的关系导致当主控件210的值被设置为0.08时图像编辑控件214的值被自动设置为0.08。另外,该图表明在一些实施方案中,主控件210与图像编辑控件212至222之间的关系可导致比主控件210的设置大的图像编辑控件设置(例如,明度设置216被设置为0.10)、比主控件210的设置小的图像编辑控件设置(例如,曝光设置212被设置为0.05)或与主控件210的设置相等的图像编辑控件的设置(例如,对比度设置214被设置为0.08)。

除了表明主控件210与图像编辑控件212至222之间的关系可变之外,该图还示出了在一些实施方案中关系可为负关系。也就是说,主控件210的正值可导致图像编辑控件212至222中的一者或多者的负值。此处,主控件210的值是正数(0.08),而亮区控件220的值是负数(-0.14)。如结合图2所提及,在一些实施方案中,分组在主控件下方的一个或多个控件未装配到主控件。在此类实施方案中,此类控件的值将保持处于其在主控件值改变之前已经处于的值(例如,如果控件在主控件值改变之前已经处于0.00,则为0.00)。

图4示出了处于高正设置的主控件和装配到该主控件的多个图像编辑控件。该图示出了响应于将主控件210的值改变较大正量而对图像编辑控件212至222造成的改变。该图包括条纹412至422。条纹412提供曝光设置的值的视觉指示符。条纹414提供对比度设置的值的视觉指示符。条纹416提供明度设置的值的视觉指示符。条纹418提供暗区设置的值的视觉指示符。条纹420提供亮区设置的值的视觉指示符。条纹422提供黑色设置的值的视觉指示符。如在图3中,每个条纹从图像编辑控件(例如,图像编辑滑动条)的中心延伸到该图像编辑控件的控制钮。此外,条纹的长度以及控制钮250至262与其相应控件210至222的中心的距离可在给定图式内或跨多个图式不按比例绘制。

除了条纹412至422和控制钮252至262之外,指示符232至242显示指示对应设置的值的数字。例如,在该图中,指示符232显示指示曝光控件212的曝光设置具有值0.60的数字(此处,0.60)。类似地,在该图中,指示符230显示指示主控件210的主控件设置具有值0.96的数字(此处,0.96)。

在一些实施方案中,图像编辑控件212至222中的一者或多者可与主控件210具有线性关系。也就是说,主控件210的值的改变将造成与主控件210的值的改变量成正比的该图像编辑控件的值的改变。例如,主控件210的值从图2(0.00,如由指示符230指示)到图3(0.08,如由指示符230指示)增大0.08导致曝光值从图2(0.00,如由指示符232指示)到图3(0.05,如由指示符232指示)增大0.05。因此,曝光值从图2到图3的增大为主控件210的值的增大的5/8。主控件210的值从图3(0.08,如由指示符230指示)到图4(0.96,如由指示符230指示)增大0.88导致曝光值从图3(0.05,如由指示符232指示)到图4(0.60,如由指示符232指示)增大0.55。因此,曝光值从图3到图4的增大为主控件210的值的增大的5/8。从图2到图3的增大的比率与从图3到图4相同,因为主控件210与图像编辑控件212之间的关系是线性的。

虽然主控件210与图像编辑控件212之间的关系是线性的,但主控件210与其他图像编辑控件214至240之间的关系不是线性的。例如,当主控件210具有值0.08(在图3中)时,对比度值也为0.08。然而,在图4中,主控件210的值已经增大,而对比度的值已经实际上减小到低于零的值。除了关系不是线性的之外,在中间主控件210值处的对比度值(例如,主控件210值0.08,对比度值0.08)大于在低主控件210值处的对比度值(例如,主控件210值0.00,对比度值0.00)或在高主控件210值处的对比度值(例如,主控件210值0.96,对比度值-0.50)。此类关系表明在一些实施方案中,在一些情况下,图像编辑控件值在中间主控件210值处而非在极端主控件210值处具有峰值(最大化)。类似地,在一些实施方案中,在一些情况下,图像编辑控件值在中间主控件210值处而非在极端主控件210值处具有槽值(最小化)。

图3至图4示出了响应于主控件的值的改变而对各个图像编辑控件设置的值造成的改变。然而,这些图中的主控件值与这些图中的图像编辑控件值之间的特定关系特定于具有图像107的特征的图像。当一些实施方案的图像编辑应用程序编辑不同图像时,对于不同特征,主控件值与图像编辑控件值之间的关系是不同的。因此,当图像编辑应用程序编辑不同图像时,图像编辑应用程序将针对主控件的特定值提供不同的图像编辑控件值。

图5示出了处于低正设置的主控件和装配到该主控件的多个图像编辑控件,其中该装配基于另选图像。图像包括缩略图501至505。该图还包括条纹512至522。

在图2至图4中,主控件210包括来自图1的图像107(汽车的照片)的多个缩略图。缩略图提供图像107在主控件210的各种设置下的外观的近似。此处,图像107的缩略图已经由不同图像的缩略图501至505替代。中央缩略图503表示未编辑图像的外观,而另外的缩略图501、502、504和505各自表示在主控件210被设置为主控件210的该缩略图部分内的值的情况下该图像的大致外观。例如,当控制钮250被设置为主控件210的右侧上的值时,图像将看起来亮,所以那侧上的缩略图505是亮的。相反,当控制钮250被设置为主控件210的左侧上的值时,图像将看起来暗,所以那侧上的缩略图501是暗的。

条纹512至522提供图像控件212至222的值的视觉指示符。条纹512提供曝光设置的值的视觉指示符。条纹514提供对比度设置的值的视觉指示符。条纹516提供明度设置的值的视觉指示符。条纹518提供暗区设置的值的视觉指示符。条纹520提供亮区设置的值的视觉指示符。条纹522提供黑色设置的值的视觉指示符。在一些实施方案中,每个条纹从图像编辑控件(例如,图像编辑滑动条)的中心延伸到该图像编辑控件的控制钮。例如,条纹512从曝光控件的中心延伸到控制钮252。

一些实施方案在编辑不同图像时基于所编辑图像的不同特征来以不同关系装配图像编辑控件212至222。图5中的主控件210值与图3中的主控件210值相同。然而,图5中的所编辑图像具有与图3中的所编辑图像不同的特征。因此,图像编辑控件212至222在图5中具有与图3中不同的值。

除了条纹512至522和控制钮252至262之外,指示符232至242显示指示对应设置的值的数字。例如,在该图中,指示符232显示指示曝光控件212的曝光设置具有值0.10的数字(此处,0.10)。类似地,在该图中,指示符230显示指示主控件210的主控件设置具有值0.08的数字(此处,0.08)。因为由缩略图501至505表示的图像的特征(例如,平均灰度值、在像素的给定百分位处的灰度值等等)不同于图像107的对应特征,所以图5中的图像编辑控件212至222的值不同于图3中的对应值,即使主控件210值在两个图中是相同的(即,在图3和图5中均为0.08)。

图6示出了处于高正设置的主控件和装配到该主控件的多个图像编辑控件,其中该装配基于另选图像。图像包括条纹612至622。条纹612提供曝光设置的值的视觉指示符。条纹614提供对比度设置的值的视觉指示符。条纹616提供明度设置的值的视觉指示符。条纹618提供暗区设置的值的视觉指示符。条纹620提供亮区设置的值的视觉指示符。条纹622提供黑色设置的值的视觉指示符。在一些实施方案中,每个条纹从图像编辑控件(例如,图像编辑滑动条)的中心延伸到该图像编辑控件的控制钮。例如,条纹612从曝光控件的中心延伸到控制钮252。

如先前所述,一些实施方案基于所编辑的不同图像的不同特征来以不同关系装配图像编辑控件212至222。图6中的主控件210值与图4中的主控件210值相同。然而,图6中的所编辑图像与图5中的所编辑图像相同,图5中的所编辑图像不同于图4中的所编辑图像。因此,图像编辑控件212至222在图6中具有与图4中不同的值。

除了条纹612至622和控制钮252至262之外,指示符232至242显示指示对应设置的值的数字。例如,在该图中,指示符232显示指示曝光控件212的曝光设置具有值-0.09的数字(此处,-0.09)。类似地,在该图中,指示符230显示指示主控件210的主控件设置具有值0.96的数字(此处,0.96)。因为缩略图501至505中的图像的特征(例如,平均灰度值、在像素的给定百分位处的灰度值等等)不同于图像107的对应特征,所以图像编辑控件212至222的值不同于图4中的对应值,即使主控件210值在两个图中是相同的(即,在图4和图6中均为0.96)。

不仅图像编辑控件212至222的装配值在图4和图6中是不同的,而且在一些实施方案中,这些值之间的关系的性质对于不同图像是不同的。例如,当编辑图像107时,主控件210与图像编辑控件212之间的关系在图2至图4中为线性的。然而,当编辑缩略图501至505中的图像时,主控件210与图像编辑控件212之间的关系在图5至图6中为非线性的。此外,在这些图中,该关系在主控件210值为0.08时导致图像编辑控件212的正值(此处,0.10)并且在主控件210值为0.096时导致图像编辑控件212的负值(-0.09)。类似地,图6中的图像编辑控件212至222的值与主控件210的关系均不与图4中的图像编辑控件212至222的值相同。

如上所述,一些实施方案的图像编辑应用程序基于由所编辑图像的特征确定的关系来将多个图像编辑控件装配到单个主控件。然而,在一些实施方案中,应用程序允许用户打破一个或多个图像编辑控件与主控件之间的关系。在一些实施方案中,当应用程序接收到对独立于主控件调整一个图像编辑控件的命令时,图像编辑应用程序调整该控件所表示的设置的值而不调整其他控件。图7示出了当独立于主控件调整一个控件时装配到主控件的多个控件。该图与图6相同,不同的是暗区控件218已由用户直接调整(例如,经由单击和拖动命令),图6的条纹618已被条纹718替代,并且指示符238指示暗区控件218的值0.80代替图6中的由主控件210设置的暗区控件218的值0.40。

一些实施方案以与自动调整的控件的条纹不同的颜色或图案显示手动调整的控件的条纹。因此,在图7的实施方案中,条纹718具有与条纹612至616、620和622不同的颜色(在该图中由不同图案指示)。在一些实施方案中,一旦图像编辑控件已被手动调整,该控件将不再装配到主控件210(例如,直到加载新图像,激活复位控件,或激活自动调整控件)。在此类实施方案中,调整主控件210将调整其他装配控件,而不调整已被手动调整的以前装配的控件。在其他实施方案中,手动调整的控件将在下一次调整主控件210时返回装配到主控件210。在此类实施方案中,手动设置将仅保持到主控件210被调整到新设置为止。当主控件被调整到新设置时,此类实施方案的手动调整的图像编辑控件将改变为由主控件值以及图像编辑控件与主控件值之间的关系确定的值。一些实施方案提供用于手动调整的控件的永久去装配或手动调整的控件的临时去装配的选项。在一些此类实施方案中,活动的选项基于用户偏好。

图3至图7所示出的关系仅被提供用于例示性目的,并且在不同实施方案中使用不同的关系。下文在部分II中描述了针对各个图像编辑控件的关系计算的示例。

II.将主控件装配到图像编辑控件

一些实施方案的图像编辑应用程序基于不同关系将多个图像编辑控件装配到主控件。在一些实施方案中,主控件与特定图像编辑控件之间的关系基于所编辑的图像的特征。在一些实施方案中,这些特征是关于图像的统计值。

图8概念性地示出了用于通过装配到主控件的一组图像编辑控件调整图像的因素。该图包括原始图像810、灰度(例如,基于亮度的)直方图820、累积直方图822、一组统计值824、主控件(和其他控件)上的用户输入826、一组图像编辑控件830以及经调整的图像840。

在一些实施方案中,图像编辑应用程序以多种方式分析原始图像810。例如,一些实施方案生成图像的灰度值的直方图820。一些实施方案的图像编辑应用程序确定呈RGB格式的图像中的像素的灰度值。在此类实施方案中,RGB格式是图像的本征格式,或者图像从某种其他格式(例如,YUV格式、HSV格式等等)转换为RGB格式。

在使用RGB值计算灰度直方图的灰度值的一些实施方案中,基于等式(1)计算图像中的每个像素的灰度值。

Gray=(R+G+B)/3 (1)

在以上等式(1)中,R、G和B值分别表示像素的红色、绿色和蓝色颜色分量。灰度值表示R、G和B颜色分量的平均值。

各个像素的灰度值用于生成直方图820(例如,使各个灰度值与具有那些灰度值的像素的数量匹配的一组数据)。在一些实施方案中,图像编辑应用程序使主控件与图像编辑控件之间的一个或多个关系基于灰度直方图820数据。尽管一些实施方案的图像编辑应用程序确定呈RGB格式的灰度值,但其他实施方案的图像编辑应用程序基于呈其他格式的分量值来计算灰度值(例如,在一些实施方案中,灰度值是YUV图像的Y分量,等等)。在一些实施方案中,灰度直方图和累积直方图被计算为直方图数据,而实际上并不以图表形式显示。

一些实施方案使用灰度直方图820数据来计算累积直方图822。累积直方图822将每个灰度值与该灰度值处或下方的像素数量匹配。在一些实施方案中,累积直方图822基于灰度直方图820而生成。然而,在其他实施方案中,累积直方图822是独立于或代替灰度直方图820来计算的。在一些实施方案中,各种统计值824是基于累积直方图822数据来确定的。例如,一些实施方案确定图像的中值灰度级(例如,在50%像素具有较高灰度值且50%像素具有较低灰度值处的灰度级)。一些实施方案从累积直方图数据确定一系列百分位(例如,0.2百分位以及第2个、第10个、第25个、第50个、第75个、第90个和第98个百分位)。一些实施方案从直方图820确定一些统计值(例如,表示图像的灰度值的几何均值的统计值)。在一些实施方案中,仅基于统计值824来直接确定主控件值之间的关系。在一些此类实施方案中,直方图820和/或累积直方图822用于计算统计值824而非直接在确定关系时引用。在其他实施方案中,一些或所有关系部分地或全部地直接基于直方图820和/或累积直方图822数据,而非基于从直方图820和/或累积直方图824得到的统计值。

上述实施方案从累积直方图822得到基于百分位的统计值。然而,在其他实施方案中,独立于或代替累积直方图822来计算这些统计值824。类似地,在一些实施方案中,直接从图像数据计算几何均值,代替从直方图820计算。在一些实施方案中,基于直方图计算一个或多个统计值,基于累积直方图计算一个或多个统计值,并且直接从图像计算一个或多个统计值。

一些实施方案得到图像的“键”值,其在本文中被定义为图像的灰度值的几何均值。一组n个数字的几何均值被定义为这些数字的乘积的n次方根。在一些实施方案中,使用对数计算灰度值的几何均值,本领域的普通技术人员将理解与确定大量值的乘积并且找出这些数字的n次方根相比,其是确定几何均值的计算较不密集的方法。一些实施方案使用等式(2)计算图像的键值

log(geo)=Sum(log(Gray[x,y]+ε))/pixels (2)

在等式(2)中,“Sum”是对图像中的所有像素的求和。“Gray[x,y]”表示图像中的位于坐标x和y处的像素的灰度值。“pixels”表示图像中的像素数量。“ε”是被提供以避免针对灰度值0采用零对数的较小常数。“geo”表示图像的灰度值的几何均值以及因此图像的“键”值。在一些实施方案中,接着通过使对数的底数(例如,10、e、2等)自乘到log(geo)的幂来计算几何均值。在其他实施方案中,图像编辑应用程序使用几何均值的对数确定主控件与图像编辑控件之间的一个或多个关系,而不是使用实际几何均值。

一些实施方案还得到图像的“反键”值,其在本文中被定义为1减去图像的灰度值的几何均值。在一些实施方案中,使用对数计算1减去灰度值的几何均值。一些实施方案使用等式(3)计算图像的键值

log(inverse geo)=Sum(log(1-Gray[x,y]+ε))/pixels (3)

在等式(3)中,“Sum”是对图像中的所有像素的求和。“Gray[x,y]”表示图像中的位于坐标x和y处的像素的灰度值。“pixels”表示图像中的像素数量。“ε”是被提供以避免针对灰度值1采用零对数的较小常数。“inverse geo”表示1减去图像的灰度值的几何均值以及因此图像的“反键”。在一些实施方案中,接着通过使对数的底数(例如,10、e、2等)自乘到log(inverse geo)的幂来计算几何均值。在其他实施方案中,图像编辑应用程序使用几何均值的对数确定主控件与图像编辑控件之间的一个或多个关系,而不是使用实际几何均值。

在一些实施方案中,图像键是图像的全部明度/暗度的良好指示符,并且当键较低并且反键也较低时,其向用户给予对图像本身有可能为背光照明或双模态的良好指示。

一些实施方案还基于统计值生成图像的一个或多个自动增强值,图像编辑应用程序在选择了自动调整特征的情况下使用这些自动增强值来设置主控件。一些实施方案使用多个不同等式来依据针对图像计算出的其他统计值计算此自动调整值。例如,一些实施方案依据图像是特别暗、被曝光过度还是符合所计算出的统计值所界定的若干其他标准而使用不同值。

例如,当图像被曝光过度(例如,被界定为p25+p50大于0.6,其中p25和p50分别是第25个和第50个百分位灰度值)时,一些实施方案使用以下两个等式中的一个计算自动调整值:

autoValue=p25+p50–0.4 (4A)

autoValue=p25+p50–0.7 (4B)

“autoValue”是用于在一些实施方案中设置主光控件的自动调整值。在一些实施方案中,当p98值(即,第98个百分位灰度值)大于或等于1.0时使用第一等式(4A),并且当p98值小于1.0时使用第二等式(4B)。

当图像未被曝光过度时,一些实施方案的图像编辑应用程序使用以下两个等式中的一个计算autoValue:

autoValue=0.6–p50–p25 (4C)

autoValue=(0.6–p50–p25)+min(0.8–InvKey,0.2) (4D)

也就是说,对于较暗图像,即在一些实施方案中被界定为InvKey值大于0.8的那些图像,应用程序将等式(4D)中的额外因子相加到等式(4C)的以其他方式计算出的自动值。在这种情况下,InvKey值是由以上等式(3)界定的反键。

最后,对于某些图像,应用程序将使得autoValue为负。也就是说,应用程序针对实际自动调整值使用利用等式(4A)至(4D)中的一个计算出的autoValue的负值。具体地讲,如果(i)p2>0.015且p98>0.95且p50>0.14(即,图像特别亮)或(ii)p2>0.055(图像具有极少暗像素),则应用程序采用先前计算出的autoValue的负值以用于设置一些实施方案的主光控件。

从所计算出的统计值824,图像编辑应用程序确定主控件值与控制曝光、明度、对比度、暗区和亮区调整的图像编辑控件之间的关系。在一些实施方案中,主控件值被缩放到-2至2的范围。在其他实施方案中,主控件值被缩放到-1至1的范围。在另外其他实施方案中,主控件被缩放到其他范围。

在一些实施方案中,图像编辑应用程序向主控件提供线性值,这些线性值接着由从主控件值得到的非线性值调整。一些实施方案使用等式(5)确定此非线性值。然后,一些实施方案使用主控件值和非线性值中的一者或两者来确定主控件值与各个图像编辑控件之间的关系。

NL(master)=abs(master)^1.3 (5)

在等式(5)中,NL(master)是从主控件值得到的非线性值。“master”是主控件的值(如由用户设置)。函数“abs”是绝对值函数。在使用等式(5)计算非线性值的实施方案中,非线性值随着主控件值的低但增大的量值而缓慢增大,接着随着主控件值的量值变大而较快增大。在一些实施方案中,非线性值是使用除了1.3之外的指数计算的。在其他实施方案中,非线性值是使用其他公式计算的。

一些实施方案接着基于主控件值826和统计值824(在一些实施方案中,从直方图820和累积直方图822得到)确定一组图像调整值830。另外,在一些实施方案中,调整值可受用户偏移(即,对与主控件分开的各个控件的用户输入)影响。接着,图像编辑应用程序应用这些图像调整值以生成经调整的图像840。尽管针对光控件计算图像统计值和调整,但一些实施方案针对颜色控件执行类似统计值计算,包括计算主颜色控件的颜色统计值和自动调整值。

图9概念性地示出了用于基于主控件值和待编辑的图像的统计值来调整图像的过程900。将参考图8中的项目描述图9的各种操作。过程900分析(在910处)待编辑的图像以计算像素的灰度值(例如,使用等式(1))。在一些实施方案中,代替灰度值或除了灰度值之外计算除灰度值之外的明度的量度。例如,在一些实施方案中,改为使用亮度值(例如,图像的YUV变换中的Y值)。该过程接着基于图像中的像素的灰度值(或在其他实施方案中,基于亮度值等等)生成(在920处)直方图(例如,图8的直方图820)。然后,过程900生成(在930处)图像的累积直方图。在一些实施方案中,如图8所指示,从灰度直方图的数据计算累积直方图。在其他实施方案中,独立于灰度直方图计算(例如,直接从图像数据计算)累积直方图。

过程900接着计算(在940处)图像的统计值。一些实施方案的图像编辑应用程序计算统计值,诸如图8的统计值824。例如,统计值可包括图像的各个百分位、灰度值的几何均值等等。过程900接着基于所计算出的统计值来确定(在950处)主控件值与图像编辑控件值之间的关系。在一些实施方案中,直接确定这些关系(例如,识别主控件值的函数并且将实际主控件值插入该函数中)。在其他实施方案中,隐式地确定这些关系,其中基于统计值使用各种不同公式和条件语句来基于当前主控件值计算图像编辑控件的特定值。下文在子部分II.A至II.E和部分III中提供了确定此类关系的示例。在一些实施方案中,过程900计算(在960处)自动主控件值以用于在用户稍后激活自动调整控件(例如,图1的自动调整控件170)的情况下编辑图像。然而,在其他实施方案中,比在过程900中更早或更晚执行自动主控件值的计算。

然后,过程900接收(在970处)主控件值(例如,从用户或从某种其他自动化过程)。过程900接着基于关系和主控件值来调整(在980处)图像编辑控件(例如,图8的图像编辑控件830)(如下文在子部分II.A至II.E和部分III中进一步详细描述)。这些值还可额外通过用户单独地调整这些控件中的一者来设置。过程900接着使用新近调整的图像编辑控件的值调整(在990处)图像。然后过程900结束。尽管操作970至990被描述为与操作910至960相同的概念过程的一部分,但本领域的普通技术人员将认识到,在一些实施方案中,这两组操作是两个独立过程。也就是说,可在图像编辑应用程序中打开图像时执行第一组操作910至960,而在接收到用于主控件值的设置后的稍后时间执行操作970至990(例如,基于用于移动主控件值的用户输入,或用于选择自动设置主控件值的自动调整特征的输入)。

虽然结合基于光的主控件描述了过程900,但在一些实施方案中,图像编辑应用程序针对其他图像编辑控件诸如基于颜色的图像编辑控件和黑白转换设置控件执行类似过程。在一些实施方案中,图像编辑应用程序独立于彼此确定多个主控件的自动调整设置。然而,在一些此类实施方案中,单个自动调整控件的激活将每个主控件设置为预先计算的值。另外,在一些实施方案中,还使用各个统计值来计算对未装配到任何主控件的图像编辑特征的自动调整(例如,由独立控件控制的图像编辑算法或者甚至除了自动调整控件之外的控件不能访问的算法)。

如先前所述,一些实施方案的图像编辑应用程序使用所计算出的统计值确定主控件值与图像编辑控件值之间的关系。以下子部分II.A至II.E和部分III在下文中描述了如何在一些实施方案中从上文所述的各个统计值计算主控件值与曝光、对比度、暗区、亮区和明度值之间的每个关系。所例示的实施方案中的每个控件的可用设置在-1至1的范围内。然而,本领域的普通技术人员将理解,在其他实施方案中,图像编辑控件可被缩放到任何所需的设置范围。

A.曝光

在一些实施方案中,对图像的曝光调整将每个亮度值(或在一些实施方案中,每个红色、绿色和蓝色颜色值)乘以固定量。因为值的改变与原始值成比例,所以曝光调整对较亮像素(具有高原始值)的影响大于对较暗像素(具有低原始值)的影响。曝光值越大,用于乘以图像的亮度值的量也越大。在一些实施方案中,曝光设置的正值致使图像编辑应用程序将像素的值(例如,亮度值或红色、蓝色和绿色值等)乘以大于1的量(例如,1.5、2等),并且负曝光设置致使图像编辑应用程序将像素的值乘以小于1的量(例如,0.5、0.75等)。各种实施方案使用各种不同方法来将曝光值转换为乘数(例如,一些实施方案使特定数字自乘到曝光设置的幂以生成乘数)。

当确定主控件值与曝光值之间的关系时,一些实施方案基于在图像中能够得到多少“余量”来确定该关系。在一些实施方案中,由第98个百分位(灰度值)统计值确定余量。也就是说,98%像素具有低于或等于第98个百分位的灰度值的灰度值。当与最大可能灰度值相比该值较低时(例如,当最大可能灰度值为1时,该值为0.2),则图像非常暗并且曝光有空间增大,而不会丢失过多亮区细节(有时称为“熄灭亮区”)。也就是说,没有使太多图像进入最大可用明度以使得丢失细节。当与最大可能灰度值相比该值较高时(例如,当最大可能灰度值为1时,该值为0.9),则图像非常亮并且曝光有很少空间增大,而不会丢失太多亮区细节。

一些实施方案使用等式(6A)至(6C)来基于主控件的值确定曝光控件的值。

exHeadroom=1-p98 (6A)

exScale=max((exHeadroom-NL(master)),-0.25) (6B)

exposure=exScale*master (6C)

在等式(6A)至(6C)中,“exHeadroom”表示图像的余量(例如,可在没有丢失太多亮区细节的情况下将曝光增大多少)。“p98”表示图像中的灰度值中的第98个百分位的灰度值。“exScale”表示曝光控件的标度。“NL(master)”是从主控件的值得到的非线性项(例如,使用等式(5))。“master”表示用户所设置的主控件的值。等式(6B)中的函数“max”表示选择两个以逗号分隔的值中的最大值。在余量值与非线性值之间的差值大于-0.25时,将由余量值与非线性值之间的差值确定exScale。当余量值与非线性值之间的差值小于-0.25时,exScale将被设置为-0.25。

曝光值过高往往会导致丢失亮区细节。因此,当存在很少余量时,exScale值较低。这导致亮图像的曝光值相对于主控件值缓慢增大。然而,还存在往往会导致即使针对较暗图像也在较高设置处丢失亮区细节的其他设置。例如,对比度设置(如下文所述)扩展图像的中部范围灰度值。因此,高对比度值往往会导致丢失亮区细节。在一些实施方案中,对比度值取决于从主控件的值得到的非线性值。为了避免使对比度和曝光值两者增大最亮像素的明度,一些实施方案降低了产生高对比度值的主控件值范围部分的曝光值。

在一些实施方案中,等式(6B)降低了产生高对比度值的主控件值的曝光值。例如,在一些实施方案中,当原始图像是暗图像(例如,余量较大)时,非线性值(NL(master))将针对主控件的低值而较低。因此,exScale将相对较大并且曝光值将为正值并且在主控件的值为低但增大时快速增大(作为主控件值的函数)。然而,当主控件的值变大时,非线性值(NL(master))变大并且exScale将减小,最终在一些情况下变为负。因此,在高主控件值处,曝光值将为低或甚至为负。负曝光值的作用是使全部图像变暗。使用负曝光值使图像变暗允许图像编辑应用程序在不熄灭亮区的情况下增大对比度(其扩展图像的亮度值)。

在一些实施方案中,有可能使所编辑的图像的像素具有超过该类型的图像的最大允许值的灰度值(例如,平均颜色分量值)。这在(i)增大图像的灰度值的第一图像调整(例如,明度增大)使像素的平均颜色分量值增大超过图像的允许范围,但(ii)图像编辑应用程序跟踪该值而非立即将其限于允许值时发生。执行这种对不允许值的跟踪以使得如果稍后调整(例如,曝光减小)将像素值降低到允许范围中,则保留已跨越最大允许阈值的多个像素之间的差值。

在一些实施方案中,当图像包括超过允许范围的像素时,图像编辑应用程序使用等式(7)代替等式(6B)来计算曝光标度。

exScale=-log2(whitepoint) (7)

在等式(7)中,“exScale”表示曝光控件的标度。等式(7)中的函数“log2”表示输入值的对数(以2为底数)。白点表示图像中的像素的最大灰度值。由于白点大于1(其是用于使用等式(7)的条件),所以由等式(7)产生的exScale始终为负。因此,每当阈值百分比的像素超过允许阈值时,增大主控件值造成曝光设置减小。

B.对比度

对比度设置扩展图像的中间亮度像素的亮度值并且压缩图像的亮像素和暗像素的亮度值。对比度设置越高,中间亮度值扩展得越多并且暗亮度值和亮亮度值压缩得越多。作为图像特征的“对比度”是指图像中的大部分像素的亮度(或灰度)值的范围。“对比度设置”(或“对比度值”)是指用于增大图像的对比度特征的控件的值。例如,在一些实施方案中,图像的对比度特征被计算为第98个百分位像素的灰度值与第2个百分位像素的灰度值之间的差值。图像的原始对比度特征越小,扩展亮度值以在经编辑的图像中提供所需量的对比度所需要的对比度设置就越大。因此,一些实施方案使用等式(8A)至(8B)来基于图像的初始对比度特征确定对比度设置。

imageContrast=p98-p2 (8A)

contrast=min(1.75*NL(master)/imageContrast,2*NL(master))/3 (8B)

在等式(8A)至(8B)中,“p98”表示图像中的第98个百分位像素的灰度值。“p2”表示图像中的第2个百分位像素的灰度值。“imageContrast”是图像中的像素的第98个百分位灰度值的灰度值与第2个百分位灰度值的灰度值之间的差值。因此,imageContrast表示用于原始图像中的大多数像素的灰度值范围。“NL(master)”是从主控件的值得到的非线性项(例如,使用等式(5))。“contrast”表示用于编辑图像的对比度值。“min”函数选择两个以逗号分隔的值中的较低者。

对比度与NL(master)成比例并且因此在主控件值增大时增大。一般来讲,初始imageContrast值越高,对比度设置的值应当越低。因此,主控件值范围的一部分的对比度值与原始图像的imageContrast值成反比。也就是说,当图像的灰度值在窄范围内时,对比度控件将相对于主控件值更快地增大。换句话说,具有较高图像对比度的图像将导致比具有较低图像对比度设置的图像更低的用于特定主控件值的对比度设置。

“min”函数防止对比度值在imageContrast过低时变得过高。也就是说,对于具有非常窄的灰度值范围的图像,对比度值被限制在2*NL(master)。在一些实施方案中,对比度值被调和以将其保持在所需范围内。此处,将对比度值除以3以将其保持在所需范围内。然而,本领域的普通技术人员将理解,以上等式中所使用的常数(例如,1.75、2、3)在一些实施方案中出于主观审美原因或因为这些实施方案使用不同范围的主控件值、基于主控件值的非线性值和/或对比度值而不同。

如上文相对于曝光设置所提及,高对比度设置往往会导致亮区细节丢失。因此,随着主控件值将对比度驱动到较高值,曝光值降低并且在一些情况下变成负。

C.暗区

暗区设置决定将图像的较暗像素的亮度值扩展多少。暗区设置越高,图像中的原始暗像素的所得亮度范围就越大。当图像具有大量亮像素时,则图像可被相当地曝光过度。对于曝光过度的图像,不需要将较暗像素的范围增大较大量。因此,对于曝光过度的图像,主控件与暗区控件之间的关系在一些实施方案中导致暗区值随着主控件值增大而缓慢增大。相反,对于曝光不足的图像(例如,p98灰度值和/或inverseKey统计值较低的图像),需要将图像中的较暗像素的亮度范围增大较大量。因此,对于曝光不足的图像,主控件与暗区控件之间的关系在一些实施方案中导致暗区值随着主控件值增大而快速增大。

曝光水平(曝光不足或曝光过度)可由与较亮像素相关的统计值(例如,p98灰度值和/或反键值)确定。因此,在一些实施方案中,主控件值与暗区值之间的关系基于与较亮像素相关的统计值。正如在曝光设置下所看到,暗区设置的作用也受对比度设置大大影响。当对比度设置为高时,较暗像素的亮度值将被压缩。压缩较暗值的亮度将降低给定暗区值对图像的作用。因此,在一些实施方案中,为了补偿高对比度设置,图像编辑应用程序提高暗区设置。然而,如果对比度值为低,则暗区设置对于给定暗区值更有效。因此,一些实施方案基于中值(p50)灰度值来生成主控件值与暗区值之间的关系。中值灰度值的高值一般指示较亮(例如,曝光过度)图像。因此,当中值为高时,该关系将致使暗区值根据

主控件值较缓慢地增大。也就是说,暗区值响应于高对比度值而增大,并且响应于低对比度值而减小。

一些实施方案使用等式(9A)至(9C)来基于主控件值计算暗区值。

shadowNorm=max(min(p98,inverseKey),0.5) (9A)

shadowScale=min((1-p50)*(0.35/contrast)/shadowNorm),0.85)(9B)

shadows=master*shadowScale (9C)

在等式(9A)至(9C)中,“p98”表示图像中的像素的第98个百分位灰度值的灰度值。“inverseKey”表示图像的反键(例如,如通过等式(3)所计算)。“min”函数返回以逗号分隔的值中的较小者。“max”函数返回以逗号分隔的值中的较大者。

如上文相对于等式(3)所指示,在一些实施方案中,inverseKey是1减去灰度值的几何均值的对数;在其他实施方案中,inverseKey是1减去灰度值的几何均值。InverseKey在图像中存在较大数量的暗像素时较大,并且在图像中存在较大数量的亮像素时较小。p98值在图像的几乎全部像素为暗时较小,并且在图像的2%以上像素为亮时较大。“ShadowNorm”是根据第98个百分位灰度值(p98)和反键(inverseKey)对图像有多暗或多亮的量度。当p98或inverseKey低于0.5时,将shadowNorm设置为0.5。当p98和inverseKey两者均高于0.5时,将shadowNorm设置为等于p98或inverseKey中的较小者。为了使p98和inverseKey两者高于0.5,图像将必须使大量像素比0.5暗,但仍使其2%以上像素高于0.5。具有最高shadowNorm值的图像将为一般非常暗但具有至少阈值百分比(例如,2%以上)的很亮像素的图像。

“master”表示主控件的值(例如,如由用户设置)。“p50”表示图像中的像素的中值灰度值。“contrast”表示对比度值(例如,如通过等式(8A)至(8B)所计算)。“shadowScale”确定主控件值与暗区值之间的关系。ShadowScale针对中值灰度值的较大值而减小,针对较大对比度值而减小,并且针对较大shadowNorm值(例如,针对具有阈值百分比的亮像素的暗图像)而减小。在一些实施方案中,shadowScale在等式(9B)中被限制在例如0.85,使得没有图像将致使暗区值相对于主控件值增大过快。一旦计算出shadowScale,便基于主控件值和shadowScale来确定暗区值(由“shadows”表示)与主控件值之间的关系。

然而,在计算暗区值之前,一些实施方案执行对大暗双模态区的检查并且相应地修改主控件值与暗区值(由“shadowScale”值表示)之间的关系。具体地讲,在等式(9B)中计算shadowScale之后,一些实施方案确定(i)第25个百分位灰度值是否小于0.08以及(ii)shadowScale值是否小于0.5,其指示具有大暗双模态区的图像。使第25个百分位灰度值低于0.08需要图像的大部分非常暗。如果是这种情况并且该图像具有此类大暗双模态区,则一些实施方案使用等式(9D)来计算shadowScale值的新值:

shadowScale=min(shadowScale*2.0,1.0); (9D)

该等式(9D)指示如果图像具有大暗双模态区,则一些实施方案将shadowScale的值加倍。由于等式(9D)仅在shadowScale值小于0.5的情况下使用,因此该等式应当始终将shadowScale加倍。在此之后接着计算等式(9C),所得作用是针对符合表示大暗双模态区的标准的图像将暗区设置值加倍。

D.亮区

一些实施方案的亮区设置展开图像的较亮像素的灰度值(或亮度值)。在一些实施方案中,使用等式(10A)或(10B)计算亮区设置。在一些实施方案中,等式(10A)用于比阈值水平亮的图像(例如,具有大于0.85的p98灰度值的图像),并且等式(10B)用于比阈值水平暗的图像(例如,具有小于或等于0.85的p98灰度值的图像)。

highlights=-min(0.8*NL(master),0.75); (10A)

highlights=-min(0.8*master*p98,.75) (10B)

在等式(10A)至(10B)中,“highlights”表示亮区值。“NL(master)”是从主控件的值得到的非线性项(例如,使用等式(5))。“master”表示主控件的值(例如,如由用户设置)。“p98”表示图像中的像素的第98个百分位灰度值。因此,对于亮图像,亮区值与主控件值之间的关系由等式(10A)决定。对于较不亮的图像,亮区值与主控件值之间的关系由等式(10B)决定。使用等式(10A)和(10B)的实施方案的亮区值对于正主控件值始终为负。在一些实施方案中,减小亮区补偿对使图像变亮的控件的亮区的作用。对于低于阈值明度的图像,图像越亮,亮区值根据主控件值下降得越快。

一些实施方案在图像的白点(即,单个最亮像素)具有大于1的值的情况下进一步修改亮区值。也就是说,如果图像中的最亮像素比最大允许范围亮,则将使用以下等式进一步修改亮区设置:

rawhighlights=-1.0/(1.25*whitepoint) (10C)

highlights=-min(0.65*NL(master)*p98,0.75) (10D)

如所提及,这些等式仅在白点具有大于1的值的情况下使用。“rawhighlights”值表示RAW亮区,并且等式(10C)强制要求该值具有线性行为。在一些实施方案中,如此处所示,归因于保留在图像压缩期间丢失的RAW图像中的某些数据,与压缩图像相比,针对RAW图像以不同方式计算亮区。等式(10D)针对具有大于1的白点的图像修改亮区值,使得使用从该等式得到的值而非等式(10A)或等式(10B)中的任一者。对于这些图像,亮区值基于从主控件的值得到的非线性项和图像中的第98个百分位灰度值两者。如同等式(10A至10B),亮区值对于正主控件值始终为负。

E.黑色

一些实施方案的黑色设置将图像中的像素的颜色分量值降低一定量,该量与同最大允许亮值(例如,1)的距离和黑色设置成比例。例如,在具有标度为从0到1的RGB色彩空间的一些实施方案中,黑色调整将不降低原始颜色分量值1。将与黑色设置成比例降低原始颜色分量值0。原始颜色分量值0.5将被降低多达颜色分量值0的一半(针对同一黑色设置)。

在一些实施方案中,使用等式(11)计算黑色设置。

black=20*min(master*p10/abs(autoValue),p10) (11)

在等式(11)中,“黑色”表示针对黑色控件所计算的黑色值。“master”表示主控件的值(例如,如由用户设置)。“p10”表示图像中的像素的第10个百分位灰度值,也称为黑点。“autoValue”表示针对主控件计算出的自动设置(例如,在用户激活自动调整控件的情况下主控件将被设置为的值)。“min”函数选择两个以逗号分隔的值中的较低者。因此,对于低于autoValue的绝对值的主控件值,黑色控件设置将与第10个百分位的灰度值和主控件值成比例。对于高于autoValue的绝对值的主控件值,黑色值将等于图像的第10个百分位的灰度值。对于低于阈值百分位(例如,第10个百分位)的较暗的图像,黑色值将根据主控件值而更缓慢地增大。对于低于阈值百分位(例如,第10个百分位)的较亮的图像,黑色值将根据主控件值而更快速地增大。

F.明度

1.初始明度标度

在一些实施方案中,亮度调整将特定量(正或负)相加到每个像素的值(例如,红色、绿色和蓝色值的亮度值等等)。明度设置的值确定该量将是什么。在一些实施方案中,该量等于明度值,在其他实施方案中,该量由明度值确定,但不与明度值相同(例如,在一些实施方案中,所相加的值是明度值的倍数)。

在一些实施方案中,大量统计值确定主控件值与明度值之间的关系。在一些实施方案中,为了计算明度值,图像编辑应用程序首先确定明度标度(brightScale),并且接着基于明度标度和主控件值来确定明度值(例如,使用等式(12A)或等式(12B))。

brightness=brightScale*master (12A)

在等式(12A)中,“brightness”表示针对明度控件所计算的值。“master”表示主控件的值。“brightScale”表示用于将主控件值变换为明度值的乘数。

在下文所述的等式(13)至(16)中,所计算出的brightScale值将为正。对于正brightScale值,当主控件值为正时,使用等式(12A)计算出的明度值将为正。在等式(17)中,所计算出的brightScale值将为负。对于负brightScale值,当主控件值为正时,使用等式(12A)计算出的明度值将为负。在一些实施方案中,正明度控件值增大图像的明度,并且负明度控件值减小图像的明度。

在一些实施方案中,对应于等式(13)至(17)的等式在符号上与等式(13)至(17)相反。在一些此类实施方案中,使用等式(12B)来代替等式(12A)。由于brightScale值和等式(12A)的符号均被反转,所以在此类实施方案中,当(i)主控件值为正并且(ii)使用符号反转的等式(13)至(16)计算brightScale时,明度值将仍为正,该brightScale将具有负值。类似地,当(i)主控件值为正并且(ii)使用符号反转的等式(17)计算brightScale时,使用等式(17)的符号反转的等效形式计算出的明度值主控件值将仍为负,该brightScale将具有正值。

brightness=-brightScale*master (12B)

在等式(12B)中,“brightness”表示针对明度控件所计算的值。“master”表示主控件的值。“-brightScale”表示用于将主控件值变换为明度值的乘数。由于与等式(12A)相比的等式(12B)中的符号反转,在使用等式(12B)的实施方案中,当主控件值为正并且brightScale值为负时,明度值将为正。类似地,在此类实施方案中,当主控件值为正并且brightScale值为正时,明度值将为负。

为了计算明度标度(brightScale),一些实施方案的图像编辑应用程序首先使用低百分位灰度值(例如,图像中的像素的第25个百分位(p25)灰度值)来确定针对主控件的正值将明度增大多少(使得图像更亮)。

当图像的最暗25%的像素低于特定阈值时,一些实施方案创建主控件值与明度值之间的特定关系。例如,在一些实施方案中,当图像的第25个百分位灰度值低于最大可能灰度值的9%(例如,对于允许红色、蓝色和绿色值在0与1之间的图像,低于0.09)时,图像编辑应用程序使用等式(13)来确定用于计算明度控件值的明度标度。

brightScale=3.5*(0.14-p25) (13)

在等式(13)中,“brightScale”表示主控件值与针对明度控件所计算出的明度值之间的初始关系(初始关系稍后基于其他计算而受到调整)。“p25”表示图像中的第25个百分位灰度值的灰度值。由于p25的值小于0.09(在该实施方案中,这是使用此等式的必需条件),因此当在该实施方案中使用此等式时,brightScale值将为正。随着主控件值从零增大,明度值将以由原始图像的第25个百分位灰度值的灰度值的线性函数确定的比率从零增大到正值(使图像变亮)。

当图像的最暗25%的像素介于两个特定阈值之间时,一些实施方案创建主控件值与明度值之间的不同关系。例如,在一些实施方案中,当图像的第25个百分位灰度值介于最大可能灰度值的9%与14%之间(例如,对于允许红色、蓝色和绿色值在0与1之间的图像,介于0.09与0.14之间)时,图像编辑应用程序使用等式(14)来确定明度控件的明度值。

brightScale=3*(0.14-p25)^0.5 (14)

在等式(14)中,“brightScale”表示主控件值与针对明度控件所计算出的明度值之间的初始关系(初始关系稍后基于其他计算而受到调整)。“p25”表示图像中的第25个百分位灰度值的灰度值。由于p25的值小于0.14(在该实施方案中,这是使用此等式的必需条件),因此主控件值与明度值之间的关系将为正。关系的量值将为p25值的非线性函数。随着主控件值从零增大,明度值将以由原始图像的第25个百分位灰度值的灰度值的线性函数确定的比率从零增大到正值(使图像变亮)。

当图像的最暗25%的像素介于第二阈值与第三阈值之间时,一些实施方案创建主控件值与明度值之间的又一个不同关系。例如,在一些实施方案中,当图像的第25个百分位灰度值介于最大可能灰度值的14%与20%之间(例如,对于允许红色、蓝色和绿色值在0与1之间的图像,介于0.14与0.20之间)时,图像编辑应用程序使用等式(15)来确定明度控件的明度值。

brightScale=2*(p25-0.14)^0.5 (15)

在等式(15)中,“brightScale”表示主控件值与针对明度控件所计算出的明度值之间的初始关系(初始关系稍后基于其他计算而受到调整)。“p25”表示图像中的第25个百分位灰度值的灰度值。由于p25的值大于0.14(在该实施方案中,这是使用此等式的必需条件),因此主控件值与明度值之间的关系将为正。关系的量值将为p25值的非线性函数。随着主控件值从零增大,明度值将以由原始图像的第25个百分位灰度值的灰度值的非线性函数确定的比率从零增大到正值。

当图像的最暗25%的像素高于第三阈值时,一些实施方案创建主控件值与明度值之间的又一个不同关系。例如,在一些实施方案中,当图像的第25个百分位灰度值高于最大可能灰度值的20%(例如,对于允许红色、蓝色和绿色值在0与1之间的图像,高于0.2)时,图像编辑应用程序使用等式(16)来确定明度控件的明度值。

brightScale=2*(p25-0.14) (16)

在等式(16)中,“brightScale”表示主控件值与针对明度控件所计算出的明度值之间的初始关系(稍后基于其他计算而受到调整)。“p25”表示图像中的第25个百分位灰度值的灰度值。由于p25的值大于0.2(在该实施方案中,这是使用此等式的必需条件),因此主控件值与明度值之间的关系将为正。关系的量值将为p25值的线性函数。随着主控件值从零增大,明度值将以由原始图像的第25个百分位灰度值的灰度值的线性函数确定的比率从零增大到正值。

在上述实施方案中,确定是否使用等式(15)或(16)中的一个取决于图像的较暗像素是介于第二阈值与第三阈值之间(例如,当p25大于0.14且小于0.2时使用等式(15))还是大于第三阈值(例如,当p25大于0.2时使用等式(15))。然而,在一些实施方案中,额外条件确定是使用以上等式(15)和(16)中的一个还是使用以下等式(17)。例如,在一些实施方案中,当图像中的最亮像素的灰度值低于阈值灰度值时,使用等式(15)和(16)。在一些实施方案中,当图像的第98个百分位灰度值低于最大可能灰度值的82%(例如,p98小于0.82)时满足这一条件。也就是说,当(i)p98小于0.82并且(ii)p25介于0.14与0.2之间时,一些实施方案使用等式(15)来确定初始明度标度。类似地,当(i)p98小于0.82并且(ii)p25大于0.2时,一些实施方案使用等式(16)来确定初始明度标度。相反,当(i)p98大于0.82并且(ii)p25大于0.14时,一些实施方案使用(17)来确定初始明度标度。

brightScale=0.14–p25 (17)

在等式(17)中,“brightScale”表示主控件值与针对明度控件所计算出的明度值之间的初始关系(稍后基于其他计算而受到调整)。“p25”表示图像中的第25个百分位灰度值的灰度值。由于p25的值大于0.14(在该实施方案中,这是使用此等式的必需条件),因此主控件值与明度值之间的关系将为负。关系的量值将为p25值的线性函数。随着主控件值从零增大,明度值将以由原始图像的第25个百分位灰度值的线性函数确定的比率从零减小到负值。换句话说,当图像高于特定阈值明度时,一些实施方案的图像编辑应用程序将针对正主控件值降低图像的明度值。

2.明度标度的调整

一旦一些实施方案的图像编辑应用程序计算出初始明度标度(brightScale),图像编辑应用程序便基于图像的统计值来计算对明度标度的一个或多个调整。下文所述的实施方案中所使用的一些等式仅在满足特定一组条件时使用。在一些实施方案中,当满足一个以上调整的条件时做出多个调整。在以下等式(等式(18)至(21))中,“inbrightScale”将用于在该特定调整之前的明度标度,并且“outbrightScale”将用于在该特定调整之后的明度标度。在一些情况下,基于图像的统计值和各种图像编辑控件的设置,用于等式(18)至(21)中的任一个的inbrightScale可以是另一个调整等式的outbrightScale或(如果尚未使用等式(18)至(21)中的任一个)通过等式(13)至(17)中的任一个计算出的brightScale值。虽然以特定次序示出等式(18)至(20),但本领域的普通技术人员将理解,在其他实施方案中,可以其他次序应用这些等式。

当图像的初始对比度为低时,则一些实施方案通过使用等式(18)提高明度标度来增大图像的明度值。在一些实施方案中,当(i)imageContrast(例如,如通过等式(8A)所计算出的imageContrast)低于第一阈值(例如,当图像的可能的红色、蓝色和绿色值在0至1的范围内时imageContrast低于0.68,当可能的红色、蓝色和绿色值在0至255的范围内时imageContrast低于138),并且(ii)图像的中值灰度值低于第二阈值(例如,p50小于0.35)且图像的极暗像素比第三阈值亮(例如,p2大于0.04)时,将图像的初始对比度确定为低。当满足这些条件时,一些实施方案的图像编辑应用程序使用等式(18)来提高明度标度。

outbrightScale=inbrightScale/(imageContrast*(key-inverseKey)) (18)

在等式(18)中,“outbrightScale”表示在应用等式(18)之后的经调整的明度标度。“inbrightScale”表示在应用等式(18)之前的明度标度(例如,通过等式(13)至(17)中的一个所计算出的初始brightScale值)。“imageContrast”表示图像的初始对比度的量度(例如,如通过等式(8A)所计算)。“key”表示图像的灰度值的几何均值或在一些实施方案中几何均值的对数(例如,如通过等式(2)所计算)。“inverseKey”表示1减去图像的灰度值的几何均值或在一些实施方案中几何均值的对数(例如,如通过等式(3)所计算)。

在一些实施方案中,当图像在较低百分位(例如,第25个百分位)与中部范围百分位(例如,中值百分位)之间包括灰度值的大幅暴涨(例如,最大灰度值的35%)时将明度标度提高(或进一步提高)固定倍数。一些实施方案的图像编辑应用程序使用等式(19)来提高明度标度。

outbrightScale=inbrightScale*2.5 (19)

在等式(19)中,“outbrightScale”表示在应用等式(19)之后的经调整的明度标度。“inbrightScale”表示在应用等式(19)之前的明度标度(例如,通过等式(13)至(17)中的一个计算出的初始brightScale值或通过等式(18)计算出的outbrightScale)。

在一些实施方案中,当图像的一些较暗像素高于特定阈值时反转明度标度的符号。例如,在一些实施方案中,当(i)第10个百分位像素高于0.45或(ii)第25个百分位像素高于0.7时,根据等式(20)调整明度标度。

outbrightScale=-inbrightScale (20)

在等式(20)中,“outbrightScale”表示在应用等式(20)之后的经调整的明度标度。“inbrightScale”表示在应用等式(20)之前的明度标度(例如,通过等式(13)至(17)中的一个计算出的初始brightScale值或通过等式(18)或(19)计算出的outbrightScale)。

最后,在一些实施方案中,防止明度标度低于或高于特定阈值。各种实施方案使用不同等式来防止明度标度超出这些参数。例如,一些实施方案的图像编辑应用程序使用等式(21)来将brightScale值限制为介于-0.8与0.8之间。

outbrightScale=max(min(inbrightScale,0.8),-0.8) (21)

在等式(21)中,“outbrightScale”表示在应用等式(21)之后的经调整的明度标度。“inbrightScale”表示在应用等式(21)之前的明度标度(例如,通过等式(13)至(17)中的一个计算出的初始brightScale值或通过等式(18)、(19)或(20)计算出的outbrightScale)。“min”函数选择两个以逗号分隔的值中的较低者。“max”函数选择两个以逗号分隔的值中的较高者。当向低于-0.8的inbrightScale应用等式(21)时,等式(21)将outbrightScale设置为-0.8。当向高于0.8的inbrightScale应用等式(21)时,等式(21)将outbrightScale设置为0.8。当向介于-0.8与0.8之间的inbrightScale应用等式(21)时,等式(21)将outbrightScale设置为等于inbrightScale。虽然等式(21)设置限值-0.8和0.8,但在其他实施方案中,图像编辑应用程序对允许的brightScale值设置不同限值。例如,在一些实施方案中,将低于零的任何所计算出的brightScale值更改为零。

在另外其他实施方案中,并不是仅仅将负brightScale值设置为零,图像编辑应用程序使用等式(22)来反转通过先前等式所计算出的任何负brightScale值的符号。

outbrightScale=abs(inbrightScale) (22)

在等式(22)中,“outbrightScale”表示在应用等式(20)之后的经调整的明度标度。“inbrightScale”表示在应用等式(22)之前的明度标度(例如,通过等式(13)至(17)中的一个计算出的初始brightScale值或通过等式(18)至(21)中的任一个计算出的outbrightScale)。“abs”函数返回输入的绝对值。当inbrightScale为正时,将outbrightScale设置为等于inbrightScale。当inbrightScale为负时,将outbrightScale设置为等于inbrightScale的量值(例如,-0.25的inbrightScale将被更改为0.25的outbrightScale)。

III.负主控件值

在一些实施方案中,当主控件值高于中性水平(例如,用于使图像变亮)时基于以上值计算图像编辑控件值,但当主控件值低于中性水平(例如,用于使图像变暗)时以不同方式计算图像编辑控件值。

一些实施方案使用等式(23A)至(23C)来计算暗区设置。

shadowNorm=max(min(p98,inverseKey),0.5) (23A)

shadowLow=min(.75*shadowNorm,0.5) (23B)

shadows=-master*shadowLow (23C)

在等式(23A)至(23C)中,“p98”表示图像中的像素的第98个百分位灰度值的灰度值。“inverseKey”表示图像的反键(例如,如通过等式(3)所计算)。如上文相对于等式(3)所指示,在一些实施方案中,inverseKey是1减去灰度值的几何均值的对数,在其他实施方案中,inverseKey是1减去灰度值的几何均值。“ShadowNorm”是根据第98个百分位灰度值(p98)和反键(inverseKey)对图像有多暗或多亮的量度。当p98和inverseKey中的至少一者低于0.5(例如,对于较暗图像)时,shadowNorm由p98或inverseKey中的较小者表示。当p98和inverseKey两者均高于0.5(例如,对于较亮图像)时,shadowNorm被限制在0.5。“min”函数返回以逗号分隔的值中的最小者。

“master”表示主控件的值(例如,如由用户设置)。“shadowLow”确定主控件值与暗区值之间的关系。ShadowLow针对较大shadowNorm值(例如,针对较亮图像)而增大。在一些实施方案中,shadowLow被限制(例如,在等式(23B)中不超过0.5),所以甚至具有极低对比度值的极亮图像将不会相对于主控件值过快地增大暗区值。一旦计算出shadowLow值,便基于主控件值和shadowLow值来确定暗区值(由“shadows”表示)与主控件值之间的关系。

对于低对比度图像,一些实施方案的图像编辑应用程序随着主控件值下降(并且图像变暗)而增大对比度。一些实施方案使用等式(24A)至(24C)以随着图像变暗来增大对比度。

imageContrast=p98-p2 (24A)

contrastScale=min(1/imageContrast,1.25) (24B)

contrast=master*(-contrastScale/3) (24C)

在等式(24A)至(24C)中,“p98”表示图像中的第98个百分位像素的灰度值。“p2”表示图像中的第2个百分位像素的灰度值。“imageContrast”是图像中的像素的第98个百分位灰度值的灰度值与第2个百分位灰度值的灰度值之间的差值。因此,imageContrast表示用于原始图像中的大多数像素的灰度值范围。“master”是主控件的值(例如,如由用户设置)。“contrast”表示用于编辑图像的对比度值。“min”函数选择两个以逗号分隔的值中的较低者。

对比度值与主值成比例,并且因此当主控件值变得更负时增大。一般来讲,初始imageContrast值越高,对比度设置的值应当越低。因此,主控件值范围的一部分的对比度值与原始图像的imageContrast值成反比。也就是说,当图像的灰度值在窄范围内时,对比度控件将相对于主控件值更快地增大。“min”函数防止对比度值在imageConstrast过低时变得过高。也就是说,对于具有非常窄的灰度值范围的图像,对比度值被限制在(master*1.25/3)。在一些实施方案中,对比度值被调和以将其保持在所需范围内。此处,将对比度值除以3以将其保持在所需范围内。然而,本领域的普通技术人员将理解,等式中所使用的常数(例如,1、1.25、3)在一些实施方案中出于主观审美原因或因为这些实施方案使用不同范围的主控件值、基于主控件值的非线性值和/或对比度值而不同。

在一些实施方案中,对于低于中性的主控件值,明度值与主控件值成比例。在一些实施方案中,比例为1比1,如等式(25A)至(25B)所指示:

brightScale=1 (25A)

brightness=master*brightScale (25B)

在等式(25A)至(25B)中,“brightScale”表示主控件值与明度值之间的关系。“master”是主控件的值(例如,如由用户设置)。“brightness”表示明度控件的值。

最后,在一些实施方案中,亮区值与主值成比例并且被限制在特定量(例如,0.75),如等式(26)中所示。

highlights=min(0.8*master*p98,0.75) (26)

在等式(26)中,“highlights”表示亮区值。“master”是主控件的值(例如,如由用户设置)。“p98”表示图像中的第98个百分位像素的灰度值。“min”函数选择两个以逗号分隔的值中的较小者。

一些实施方案在白点(即,单个最亮像素)具有大于1的值时做出额外调整。也就是说,如果图像中的最亮像素比最大允许范围亮,则将如下修改曝光和亮区设置:

exposure=-1.25*exScale*master (27A)

rawhighlights=1.0/(1.25*whitepoint) (27B)

highlights=min(-0.75*NL(master)*whitepoint,0.75) (27C)

具体地讲,使用通过等式(6B)设置的“exScale”值计算曝光设置,其中负号指示针对负主值增大曝光。如果白点不大于1并且主控件值为负,则一些实施方案使用通过等式(6B)计算出的exScale值作为曝光值。“rawhighlights”值再次表示RAW亮区,并且以相同方式进行计算而不管主控件值是正还是负。等式(27C)针对具有大于1的白点的图像修改亮区值,使得使用从该等式得到的值而非等式(26)。对于这些图像,亮区值基于从主控件的值得到的非线性项和白点值两者。

IV.基于颜色的主控件

图10示出了处于低正设置的基于颜色的主控件和装配到该主控件的多个图像编辑控件。该图包括主控件1010、饱和度控件1012、颜色对比度控件1014、色偏控件1016、条纹1022和1024、主控件值指示符1030、饱和度指示符1032、颜色对比度指示符1034、色偏指示符1036以及控制钮1050至1056。

在该图中,主控件1010包括多个缩略图,其提供所编辑的图像将在各种设置下看起来的外观的近似。例如,当控制钮1050被设置为主控件1010的右侧上的值时,图像的颜色将看起来较亮,所以那侧上的缩略图具有较亮颜色。相反,当控制钮1050被设置为主控件1010的左侧上的值时,图像的颜色将看起来较暗,所以那侧上的缩略图较暗。

在该图中,主控件1010被设置为正设置(控制钮1050在中间的右侧)。在一些实施方案中,主控件的中央是中性设置,右侧是正,并且左侧是负。在一些实施方案中,主控件1010的中性设置将导致装配到主控件1010的图像编辑控件1012至1014中的每一者的中性设置。在一些实施方案中,图像编辑控件的中性值导致该控件不对图像做出任何更改。由于只有色偏控件1016被设置为中性值,因此图像编辑应用程序基于饱和度控件1012和颜色对比度控件1014的值来改变图像,而不基于色偏控件1016的值来改变图像。与每个控件1010至1016相关联的值由指示符1030至1036和控制钮1050至1056指示。另外,与控件1012和1014相关联的非零值由条纹1022和1024指示,这些条纹从其相应控件的中央延伸与控件的值成比例的距离。在本文所示出的附图中,长度和距离可在给定图式中或跨多个图式不按比例绘制。

主控件1010和图像编辑控件1012至1022被全部表示为滑动条。也就是说,通过用户滑动图形用户界面(GUI)元素诸如控制钮1050至1062来调整的控件。在一些实施方案中,GUI通过用户点击并使用光标控制设备拖动控制钮来接收用于滑动控制钮的命令。在一些实施方案中,代替从光标控制设备接收命令或除此之外,GUI从触敏显示屏上的触摸(例如,手指做出接触并且拖动控制钮)接收对滑动控制钮的命令。类似地,除了此类界面之外或代替此类界面,一些实施方案允许用户通过使用键盘来选择并移动控制钮(例如,向前移动以选择特定控制钮并且使用箭头键来移动所选择的控制钮以便增大或减小该控件的值)。虽然所示出的控件全部为滑动条,但在其他实施方案中,针对一个或多个图像编辑设置提供其他类型的控件。例如,在一些实施方案中,一个或多个控件为转盘、多轴多设置界面(例如,沿一个轴具有曝光值且沿另一个轴具有对比度值的网格,其中网格上的每个点表示用于曝光和对比度设置两者的值)、数值控件(例如,可将值键入到文本输入框中)和/或其他GUI控制机制。

在本文所例示的实施方案中,控件1012和1014被装配到主控件,但控件1016未装配到主控件。在这些实施方案中,对主控件1010的值的调整将导致改变控件1012和1014的值,而不改变控件1016的值。在一些实施方案中,激活主控件展开器162将展现(或隐藏)被装配到主控件1010的控件1012和1014以及未装配到主控件1010的控件1016。

除了条纹1022至1024和控制钮1052至1056之外,指示符1032至1036显示指示对应设置的值的数字。例如,在该图中,指示符1032显示指示饱和度控件1012的饱和度设置具有值0.25的数字(此处,0.25)。类似地,在该图中,指示符1030显示指示主控件1010的主控件设置具有值0.08的数字(此处,0.08)。

在该图中显示将图像编辑设置的值装配到主控件的若干特征。该图示出了不同图像编辑控件1012至1016可与主控件1010具有不同关系。此处,主控件1010与图像编辑控件1012之间的关系导致当主控件1010的值被设置为0.08时图像编辑控件1012的值被自动设置为0.25。相反,主控件1010与图像编辑控件1014之间的关系导致当主控件1010的值被设置为0.16时图像编辑控件1014的值被自动设置为0.08。在一些实施方案中,向颜色主控件应用相对于基于光的主控件描述的相同类型的关系(例如,正、负、非线性、在主控件范围的中间具有图像编辑控件的峰值或槽值等等)。

一些实施方案的饱和度控件1012对图像做出饱和度调整。在一些实施方案中,用于图像中的每个像素的饱和度调整(i)确定该像素的平均颜色分量值,(ii)确定每个颜色分量值与该平均值之间的差值,(iii)在将差值乘以用户所确定的饱和度因子时调整像素颜色分量值以维持该平均值。在此类实施方案中,当饱和度因子为0时,调整像素以使得每个颜色分量被设置为该平均值。当饱和度因子介于0与1之间时,像素的经调整的颜色分量值比原始像素的颜色分量值更靠近平均像素值。饱和度因子越靠近0,经调整的像素将被去饱和得越多。当饱和度因子大于1时,像素的经调整的颜色分量值比原始像素的颜色分量值更远离平均像素值。饱和度因子越大,经调整的像素的颜色饱和度将越高。

在一些实施方案中,饱和度控件1012是改进的饱和度调整控件。在此类实施方案中,当用户将饱和度因子设置为大于1(即,以增大像素的饱和度)时,图像编辑实施方案将基于像素的原始颜色分量值抑制像素的饱和度调整。在一些实施方案中,基于像素在色彩空间(例如,RGB色彩空间)中与RGB色彩空间中的特定点的距离来计算抑制因子。在一些实施方案中,该特定点表示青色类型颜色(例如,R=0、G=0.35、B=0.25)。在一些实施方案中,原始像素越远离青色类型颜色,饱和度调整将越被抑制。在一些实施方案中,改进的饱和度调整通过计算(i)基于原始像素的未抑制饱和度调整的一组经调整的像素颜色分量值与(ii)原始像素颜色分量值的加权平均值来抑制像素的饱和度调整,其中平均值的权数是基于抑制因子。对于(在颜色值上)处于特定青色类型颜色的像素,改进的饱和度值将与未抑制的经调整的像素颜色分量值相同。对于(在颜色值上)较远离特定青色类型颜色的像素,改进饱和度值将更靠近原始像素颜色分量值。

一些实施方案的颜色对比度控件1014是被设计为特定影响某些颜色的控件。具体地讲,颜色对比度控件在正方向上修改时用于使得蓝天更丰富并且使得绿草更亮且/或更暗,而不同样修改红色值(即,以免改变肤色)。在一些实施方案中,用于图像中的每个像素的颜色对比度调整首先确定像素(例如,像素的RGB值)与特定颜色值(例如,偏蓝青色像素值,诸如R=0、G=0.3、B=0.5)之间的差值。颜色对比度调整接着计算并平滑化这个差值的量值,其表示像素的一种形式的饱和度。颜色对比度调整接着将平滑化差值量值乘以颜色对比度控件的设置(例如,如由直接用户输入或由主控件确定),使得只有较饱和的像素(如由与参考偏蓝青色像素的距离所界定)被该输入改进。此计算的输出提供像素的输出值中所使用的强度值。颜色对比度控件还会钳制像素值,使得其介于0与1之间。

颜色对比度控件基于像素的蓝色值与绿色值之间的差值来修改所计算出的强度值,其中在像素偏蓝的情况下使用正乘数并且在像素偏绿的情况下使用负乘数。接着使用强度值来使用假反正切等式计算所得像素值,该假反正切等式在强度值大于1时表现得像正幂函数并且在强度值小于1时表现得像增益/幂函数。此函数的结果是使得蓝色像素更深,而使得绿色像素更丰富。

当输入值为负时,一些实施方案针对颜色对比度控件使用不同算法。在这种情况下,目标是使绿色和蓝色变暗,同时再次避免改变红色像素。首先,一些实施方案的负颜色对比度调整应用“振动”去饱和,其使绿色和蓝色去饱和而不使红色(即,肤色)去饱和。在一些实施方案中,此去饱和是基于颜色对比度滑动条的(总是小于0.0)设置值。在振动去饱和作用之后,颜色对比度调整执行与用于滑动条的正值的算法类似的算法,其使绿色和蓝色变暗。也就是说,该算法基于被计算为与偏蓝青色像素值的平滑化距离的“饱和度”来以相同方式计算强度值。然而,所得的像素值是以略有不同的方式来计算的,其中在图像偏绿的情况下使用标准幂函数并且在图像偏蓝的情况下使用假反正切函数。

如上文所提及,在一些实施方案中,改进的饱和度控件1012和颜色对比度控件1014装配到主颜色控件1010。另一方面,一些实施方案的色偏控件1016不受主颜色控件1010影响。而是,一些实施方案的色偏控件仅由对控件的直接用户输入来修改。

在一些实施方案中,色偏控件1016是用于添加微小色偏或从图像去除微小色偏的简化白平衡算法。具体地讲,这是从中性朝暖色接着是红色移动以及从中性朝冷色接着是绿色移动的单个控件。上文所述的饱和度和颜色对比度控件在RGB空间中作用于图像的像素值,而一些实施方案的色偏控件在亮度-色度(例如,YIQ)空间中作用于像素值。具体地讲,一些实施方案最初计算分段内插色度修改值,其指示如何在YIQ空间中移动图像。如果色偏控件值为负,则将朝暖色值移动图像的像素值,而如果色偏控件值为正,则将朝冷色值移动图像的像素值。

接着将此输入传递到改进的白平衡算法,其保持Y值(即,亮度值)恒定并且移动色度值。在一些实施方案中,该算法使用0.25的幂函数将图像的RGB像素值转换为YIQ空间,如基于色偏控件值所确定那样修改IQ值(受像素的亮度抑制以使得较暗像素不如较亮像素移动那么多,使得暗区不移动得过快),接着将经修改的值转换回到RGB空间以供输出。

图11示出了处于低正设置的颜色主控件和装配到该主控件的多个图像编辑控件,其中该装配基于另选图像。该图包括条纹1122和1124。如先前结合图2至图7的基于光的主控件所描述,主控件1010与控件1012和1014之间的关系取决于图像的特征。在图11中,所编辑的图像由缩略图501至505表示。图11中的所编辑图像不同于图10中的所编辑图像。因此,主控件1010与图像编辑控件1012和1014之间的关系是不同的。因此,图像编辑控件1012和1014的值在该图中不同于图10中的值,即使在图10和图11中将主控件1010设置为相同值(0.08)。条纹1122和1124的长度不同于图10中的对应条纹1022和1024,指示这些控件在不同图中具有不同值。

如上文所提及,一些实施方案包括对主颜色控件以及主光控件的自动调整。如图8中针对光控件所示,一些实施方案计算一个颜色直方图(或包括饱和度直方图在内的一组颜色直方图),接着计算统计值和主颜色控件的自动增强。例如,一些实施方案使用以下一组等式来计算自动颜色调整值:

distFromEnd=1–p98 (28A)

distFromEnd=abs(0.5–p75) (28B)

autoCValue=min(0.15*greenboost,1.5*distFromEnd*greenboost)) (28C)

依据图像使用等式(28A)或等式(28B)计算值distFromEnd。一些实施方案在图像中的最大颜色较高但图像整体较不饱和时使用第二等式。例如,一些实施方案的图像编辑应用程序在第98个百分位饱和度值“p98”大于或等于0.99且第75个百分位饱和度值小于0.9时使用第二等式(其中“abs”是绝对值)。在一些此类实施方案中,第一等式(28A)用于不符合此类标准的其他图像。在这些等式中,变量greenboost用于使绿色更饱和,并且根据绿色直方图(即,用于图像中的像素的绿色值的直方图)进行计算。

V.各个光控件

除了上文所述的控件链接到其相应主控件(例如,主颜色控件和主光控件)之外,在一些实施方案中,用户还可单独地影响这些控件。下文描述了在一些实施方案中管理这些各个控件的若干算法。也就是说,以下子部分描述了各种单独控件如何在一些实施方案中影响图像的像素值。

A.对比度

先前的许多对比度算法具有当在RGB色彩空间中应用时使颜色过饱和或当仅应用于亮度值时使颜色去饱和的趋势。另外,一些对比度算法具有依据算法过度降低黑色或白色的趋势。例如,一些实施方案使用对比度算法s形曲线,其使用以下等式影响输入像素值(x)以生成输出像素值(y):

d=sqrt(x)*(1-sqrt(x)) (29A)

c=0.5*m+(1+m)*sqrt(x) (29B)

y=((1-d)*sqrt(x)+d–c)^2 (29C)

在这组等式中,“m”是基于对比度控件的移动的对比度设置值。此算法使用对比度设置值来在0.5与sqrt(x)之间线性内插(等式(29B))。然而,假如此算法被独立应用于所有RGB通道(即,应用相同公式,其中红色、绿色和蓝色像素值中的每一个作为等式(29A至29C)的输入值和输出值),则对比度算法将使图像过度饱和。类似地,假如该等式仅应用于亮度通道,则该算法将使图像去饱和。因此,一些实施方案将该组等式(29A至29C)应用于每个RGB通道以及亮度通道,接着基于预定义值在RGB版本与亮度版本之间线性内插。在不同实施方案中,此预定义值可以是用于所有图像的设置值,基于图像的特定细节(例如,针对图像所计算出的统计值),或基于一个或多个控件的设置。

B.明度

标准图像编辑应用程序使用简单的幂函数或伽玛函数来控制明度。此类函数具有不改变黑点或白点并且同时容易使图像变亮或变暗的益处。然而,此类标准算法将通常在使图像变暗以例如去除曝光过度时导致橙色肤色。

因此,一些图像编辑应用程序通过向亮度通道本身应用伽马函数并且接着将图像乘以那个伽马标度值来使用基于亮度的方法使图像变暗。具体地讲,此类应用程序计算像素的亮度(例如,作为RGB向量与常数数组的点积),将伽马函数应用于亮度通道本身以生成标度值,接着将RGB值乘以标度值以得到新的RGB值。

然而,对于最佳暗化,一些实施方案使用这两种方法(标准RGB伽马函数和基于亮度的方法)的组合。例如,一些实施方案针对80%的新像素值使用亮度方法并且针对20%的新像素值使用RGB方法。也就是说,输入明度值用于生成基于亮度的输出像素值和基于RGB的输出像素值,其分别被加权0.8和0.2以生成明度算法的输出像素值。

因为明度控件生成介于-1与1之间的值并且负值应当使图像变暗,所以一些实施方案通过将输入明度值设置为(1-slider)来缩放明度滑动条,其中“slider”是介于-1与1之间的值。

上文描述了当用户通过直接输入或通过主光控件在负方向上(即,向左)移动控件时的明度控件的影响。对于控件的向右移动(以增大图像的明度),典型算法应用介于0与1之间的幂函数。尽管这样做会增大图像的明度,但此类函数在0处具有无限边坡并且往往会比亮颜色显著更多地增大暗颜色,从而得到平淡图像。这需要用户接着在应用明度控件之后减小曝光或增大对比度(或同时实现这两者)。尽管一些实施方案经由主控件解决这个影响,但是一些实施方案简单地使用不使图像平淡的不同明度算法。

具体地讲,对于输入明度值p,一些实施方案使用以下等式:

y=1–((m^(p+1))+a*((p*m*(1-m*m))/(p+1)*(p+1) (30)

在该等式(30)中,m被定义为1–像素值(例如,R、G或B值),并且“a”是定义在较亮像素值处与标准伽马函数的方差度的常数。一些实施方案针对“a”使用介于0.75与1之间的值,诸如0.85。这个等式在较暗值处得到较浅的函数并且在较亮值处得到较“球根状”(即,在伽马函数上方开始但较快变平)的函数。

C.亮区-对比度

一些实施方案针对压缩(例如,JPEG)图像与未压缩(例如,RAW)图像以不同方式处理亮区。具体地讲,因为许多压缩图像格式不包括高于0至1范围的信息,所以简单地降低图像的较亮部分导致灰暗亮区。因此,一些实施方案针对压缩图像使用亮区算法,其降低较亮像素但接着还向这些较亮像素应用对比度。

在一些实施方案中,亮区-对比度算法首先使用以下一组等式基于亮区控件值“h”(其在-1至1的范围内)计算值:

highAmt=1.45–0.45*exp(-h*h/0.75),如果h>0 (31A)

highAmt=0.55–0.45*exp(-h*h/0.75),如果h<=0 (31B)

这些等式(31A至31B)在不移动亮区控件时得到值1,其致使亮区-对比度算法根本不影响图像。使用此“highAmt”输入值,一些实施方案的图像编辑应用程序如下应用标准伽马(幂)函数:

rgbOutput=x^(3.0–highAmt*2.0) (32)

在该等式(32)中,x是像素的输入像素值(例如,R、G或B值),并且“rgbOutput”是所得值。因此,使用等式(32),随着highAmt变为负,RGB值(小于1的数字)被自乘到较高幂,并且因此像素值变较暗。然而,为了防止肤色(其可在亮区中)变橙色,一些实施方案还在亮度通道中操作。

因此,一些实施方案针对亮度通道执行与以上等式(32)类似的对比度操作(例如,基于RGB值进行计算),接着基于枢纽值(例如,0.8)线性内插。这具有围绕枢纽值执行对比度扩展的作用,该枢纽值在像素值的上部(亮区)范围内。对比度扩展推动值远离枢纽,使得高于枢纽的值向上移动并且低于枢纽的值向下移动。

本质上,一些实施方案使用较多亮度对比度,直到用户将亮区控件移动到某个阈值以便防止肤色看起来是橙色。然而,一旦用户传递此阈值(即,将亮区控件移动大距离),图像编辑应用程序便允许较多RGB对比度以便在亮区处提供鲜艳颜色(例如,对于落日和类似景象)。

VI.移动设备

一些实施方案的图像组织、编辑和查看应用程序在移动设备诸如智能电话(例如,)和平板电脑(例如,)上操作。图12是此类移动计算设备的架构1200的示例。移动计算设备的示例包括智能电话、平板电脑、膝上型电脑等。如图所示,移动计算设备1200包括一个或多个处理单元1205、存储器接口1210和外围设备接口1215。

外围设备接口1215耦接到各种传感器和子系统,所述子系统包括相机子系统1220、一个或多个无线通信子系统1225、音频子系统1230、I/O子系统1235等。外围设备接口1215能够实现处理单元1205与各种外围设备之间的通信。例如,取向传感器1245(例如,陀螺仪)和加速度传感器1250(例如,加速度计)耦接到外围设备接口1215以促进取向和加速功能。

相机子系统1220耦接到一个或多个光学传感器1240(例如,电荷耦合设备(CCD)光学传感器、互补金属氧化物半导体(CMOS)光学传感器等)。与光学传感器1240耦接的相机子系统1220促进相机功能,诸如图像和/或视频数据捕获。无线通信子系统1225用于促进通信功能。在一些实施方案中,无线通信子系统1225包括射频接收器和发射器,以及光学接收器和发射器(图12中未示出)。一些实施方案的这些接收器和发射器被实现为在一个或多个通信网络上操作,这些通信网络诸如为GSM网络、Wi-Fi网络、蓝牙网络等。音频子系统1230耦接到扬声器以输出音频(例如,以输出语音导航指令)。另外,音频子系统1230耦接到麦克风以促进支持语音的功能,诸如语音识别(例如,用于搜索)、数字记录等。

I/O子系统1235涉及输入/输出外围设备(诸如显示器、触摸屏等)与处理单元1205的数据总线之间通过外围设备接口1215的传输。I/O子系统1235包括触摸屏控制器1255和其他输入控制器1260以促进输入/输出外围设备与处理单元1205的数据总线之间的传输。如图所示,触摸屏控制器1255耦接到触摸屏1265。触摸屏控制器1255使用多种触敏技术中的任一种来检测触摸屏1265上的接触和移动。其他输入控制器1260耦接到其他输入/控制设备,诸如一个或多个按钮。一些实施方案包括旁近触感屏和对应控制器,该对应控制器可检测代替触摸交互或除触摸交互之外的接近触摸交互。

存储器接口1210耦接到存储器1270。在一些实施方案中,存储器1270包括易失性存储器(例如,高速随机存取存储器)、非易失性存储器(例如,闪存存储器)、易失性存储器与非易失性存储器的组合,和/或任何其他类型的存储器。如图12所示,存储器1270存储操作系统(OS)1272。OS 1272包括用于处理基础系统服务和用于执行硬件相关任务的指令。

存储器1270还包括:用于促进与一个或多个额外设备通信的通信指令1274;用于促进图形用户界面处理的图形用户界面指令1276;用于促进图像相关处理和功能的图像处理指令1278;用于促进输入相关(例如,触摸输入)过程和功能的输入处理指令1280;用于促进音频相关过程和功能的音频处理指令1282;以及用于促进相机相关过程和功能的相机指令1284。上述指令仅仅是示例性的,并且在一些实施方案中,存储器1270包括额外和/或其他指令。例如,用于智能电话的存储器可包括用于促进电话相关过程和功能的电话指令。另外,存储器可包括用于图像组织、编辑和查看应用程序的指令。以上所识别的指令不需要作为独立的软件程序或模块来实现。可在硬件和/或软件中,包括在一个或多个信号处理和/或专用集成电路中,实现移动计算设备的各种功能。

虽然图12所例示的部件被示出为独立部件,但是本领域的普通技术人员将认识到,可将两个或更多个部件集成到一个或多个集成电路中。另外,两个或更多个部件可由一条或多条通信总线或信号线来耦接在一起。另外,虽然已经将许多功能描述为由一个部件执行,但是本领域的普通技术人员将认识到,可将结合图12所述的功能拆分到两个或更多个集成电路中。

VI.计算机系统

图13概念性地示出了实现本发明的一些实施方案所利用的电子系统1300的另一个示例。电子系统1300可为计算机(例如,台式计算机、个人计算机、平板电脑等)、电话、PDA或任何其他种类的电子或计算设备。此类电子系统包括各种类型的计算机可读介质以及用于各种其他类型的计算机可读介质的接口。电子系统1300包括总线1305、处理单元1310、图形处理单元(GPU)1315、系统存储器1320、网络1325、只读存储器1330、永久性存储设备1335、输入设备1340和输出设备1345。

总线1305总体表示可通信地连接电子系统1300的许多内部设备的所有系统、外围设备和芯片组总线。例如,总线1305可通信地将一个或多个处理单元1310与只读存储器1330、GPU 1315、系统存储器1320和永久性存储设备1335连接。

处理单元1310从这些各种存储器单元检索待执行的指令和待处理的数据,以便执行本发明的过程。在不同实施方案中,一个或多个处理单元可为单个处理器或者多核处理器。一些指令被传送至GPU 1315并且由该GPU执行。GPU 1315可卸载各种计算或补充由处理单元1310提供的图像处理。

只读存储器(ROM)1330存储一个或多个处理单元1310以及电子系统的其他模块所需的静态数据和指令。另一方面,永久性存储设备1335是读写存储器设备。该设备是即使在电子系统1300关闭时也存储指令和数据的非易失性存储器单元。本发明的一些实施方案将海量存储设备(诸如磁盘或光盘及其对应的硬盘驱动器)用作永久性存储设备1335。

其他实施方案将可移动的存储设备(诸如软盘、闪存存储器设备等,及其对应的驱动器)用作永久性存储设备。与永久性存储设备1335一样,系统存储器1320也是读写存储器设备。但是,与存储设备1335不同的是,系统存储器1320是易失性读写存储器,诸如随机存取存储器。系统存储器1320存储处理器运行时所需的指令和数据中的一些。在一些实施方案中,本发明的过程存储在系统存储器1320、永久性存储设备1335和/或只读存储器1330中。例如,各种存储器单元包括用于根据一些实施方案处理多媒体片段的指令。一个或多个处理单元1310从这些各种存储器单元检索将要执行的指令以及将要处理的数据,以便执行一些实施方案的过程。

总线1305还连接至输入设备1340和输出设备1345。输入设备1340使得用户能够将信息传达至电子系统并且选择至电子系统的命令。输入设备1340包括字母数字键盘和指向设备(也称为“光标控制设备”)、相机(例如,网络摄像头)、麦克风或用于接收语音命令的类似设备等。输出设备1345显示由电子系统生成的图像或者以其他方式输出的数据。输出设备1345包括打印机和显示设备诸如阴极射线管(CRT)或液晶显示器(LCD),以及扬声器或类似的音频输出设备。一些实施方案包括充当输入设备和输出设备两者的设备诸如触摸屏。

最后,如图13中所示,总线1305还通过网络适配器(未示出)将电子系统1300耦接到网络1325。这样,计算机可以是计算机的网络(诸如局域网(“LAN”)、广域网(“WAN”)或内联网)的一部分,或者可以是网络的网络(诸如互联网)的一部分。电子系统1300的任何或所有组件均可与本发明结合使用。

一些实施方案包括将计算机程序指令存储在机器可读或计算机可读介质(或者称为计算机可读存储介质、机器可读介质或机器可读存储介质)中的电子组件,例如微处理器、存储装置以及存储器。此类计算机可读介质的一些示例包括RAM、ROM、只读光盘(CD-ROM)、可刻录光盘(CD-R)、可重写光盘(CD-RW)、只读数字通用光盘(例如,DVD-ROM、双层DVD-ROM)、各种可刻录/可重写DVD(例如,DVD-RAM、DVD-RW、DVD+RW等)、闪存存储器(例如,SD卡,mini-SD卡、micro-SD卡等)、磁性和/或固态硬盘驱动器、只读和可刻录Blu-盘、超密度光盘、任何其他光学或磁性介质以及软盘。计算机可读介质可存储计算机程序,该计算机程序可由至少一个处理单元来执行并且包括用于执行各种操作的指令集。计算机程序或者计算机代码的实例包括机器代码,例如由编译器所产生的机器代码,以及包括可由计算机、电子部件或微处理器使用解译器来执行的更高级别代码的文件。

虽然上述讨论主要涉及执行软件的微处理器或多核处理器,但一些实施方案由一个或多个集成电路来执行,该一个或多个集成电路例如专用集成电路(ASIC)或现场可编程门阵列(FPGA)。在一些实施方案中,此类集成电路执行存储在电路自身上的指令。此外,一些实施方案执行存储在可编程逻辑设备(PLD)、ROM或RAM设备中的软件。

如本说明书以及本专利申请的任何权利要求所用,术语“计算机”、“服务器”、“处理器”及“存储器”均是指电子或其他技术设备。这些术语排除人或者人的群组。出于本说明书的目的,术语显示或正在显示意指在电子设备上显示。如在本专利申请的本说明书以及任何权利要求中所使用的,术语“计算机可读介质”以及“机器可读介质”完全限于以可由计算机读取的形式存储信息的可触摸的物理对象。这些术语不包括任何无线信号、有线下载信号以及任何其他短暂信号。

尽管本文所述的各种过程被示出为具有呈特定次序的操作,但本领域的普通技术人员将理解,在一些实施方案中操作次序将为不同的。例如,在图9的过程900中,统计值的计算被示出为在从用户接收主控件值之前发生,但在其他实施方案中,该次序可为不同的,或者这些操作可甚至并行地运行。

尽管各种操作在本文中被描述为在特定色彩空间(例如,RGB色彩空间、YUV色彩空间等)中发生,但本领域的普通技术人员将理解,在一些实施方案中,类似的操作可在其他色彩空间中执行。例如,一些实施方案的应用程序在YUV色彩空间或YCbCr色彩空间而非YIQ色彩空间中执行颜色调整。

如本文使用,包括与数字耦合的小写字母“p”的符号表示特定类型的值(例如,灰度值、绿色值、饱和度值等)的该数字的百分位。所有特定百分位值是在一些实施方案中所使用的示例,然而,其他实施方案使用其他百分位。此外,对于本文所描述的许多特征,示出了特定等式(例如,描述主控件与各个控件之间的关系,描述各个控件对图像的像素的作用,等等)。本领域的普通技术人员将认识到,不同实施方案可针对这些关系使用不同等式。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1