处理原始的和经预处理的数字图像的方法
背景
如今,数码照相机被设计成产生可使用的图像文件。为了产生可使用的图像文件,必须进行许多处理步骤。这些处理步骤或可在照相机上进行,在这种情形中创建的是完成的图像文件(例如,JPEG),或可推迟到直至在计算机上编辑该图像时才发生,这种情形中创建的是原始文件。完成的图像文件不需要额外的处理,因此一旦传离照相机就可以被使用。由于这个原因,大部分照相机产生完成的图像。然而,原始图像越来越受到那些要求更好的图像质量的用户的欢迎。
在两种情况下,文件都能在计算机上被编辑来提高其质量(例如,曝光,颜色,清晰度等)和/或加入创造性的修饰(例如,诸如转换成深褐色调,添加边框,添加文本等创造性的效果)。然而,在完成的图像的情形中,这样的处理对于已经在照相机上执行的处理必然是累积式的,这样会导致较低的图像质量。在原始文件的情形中,没有进行过任何处理,因此可以从最早的点起对处理进行调整。在目前的技术状态下,这会导致对于完成的图像文件相比对于原始的图像文件而言具有不同的用户工作流程。
直到不久以前,照相机内建处理还具有的超越基于计算机的处理的重要优势之一是,原始的传感器数据在线性色空间内,即,在图像中数字化的色值与被感知的色彩之间存在线性关联。线性色空间具有色彩以及曝光校正易于应用并在整个色空间上都是准确的这一优势,这将在下面更充分地描述。这意味着照相机内建的自动调整可利用色空间的线性性,而所有基于计算机的调整不得不试图对在照相机中发生的色调映射进行反向工程。因缺乏控制性和一致性而受挫的用户在相对较新的图像模型——原始图像处理中找到了一种更好的解决方案。虽然它具有超越以上所描述的方案的其它优势,例如,更好的动态范围以及更适合作为档案图像,但是原始图像编辑的最重要的优势之一是,它更易于进行线性图像调整并且更为准确。
目前能够获得的一些较高端的数码照相机允许用户选择输出原始图像数据作为经处理的图像数据(例如,JPEG)的替代或补充。在原始图像处理中,在由照相机执行任何效果显著的处理之前,图像数据连同照相机设置一起被直接从照相机传感器取走。因此,原始的图像数据是未经修改的或经最低限度修改的传感器数据,典型地具有线性特征。该原始数据随后被转发到用于产生高保真度的图像编辑原始图像编辑应用程序。原始图像编辑应用程序使用相当容易且产生优质的结果。采用原始图像处理,有关预处理图像模型使用的步骤中的许多都被跳过,尤其是那些在照相机本身中进行的步骤。原始图像处理与传统的照相机内建的预处理图像处理大相径庭之处在于诸如曝光,白点(色)平衡,以及锐化等的设置和校正随文件被存储并被供处理使用。没有任何处理是对被储存的原始图像本身进行的。原始图像处理的目的是尽可能采用最低限度的处理来保存图像数据;实际上就是尽可能保存数字化的传感器数据。
原始的图像编辑应用程序本质上复制了预处理图像编辑模型的照相机内建处理。这意味着当编辑和微调原始图像时保留了预处理图像的照相机内建处理的所有优势(例如,没有由重复处理导致的退化,并且能够在准确和易于管理的线性模型中工作)。这种封闭式系统既是原始图像处理的长处又是它的弱点。在目前可用的几乎每种原始图像编辑应用程序中,用于进行基本调整的编辑的灵活性和质量都是优越的。然而,这种设计与照相机的配置紧密结合。每种照相机型号设计的改变都会驱使原始图像处理发生改变。供应商犹豫于向他们的编辑应用程序提供全特征支持,因为这不是他们的核心事务,也因为加入像组合图像,创造性输入,以及打印或印刷准备工作这样的特征的复杂性。许多核心特征,如打印,文本,以及图像合成,完全没有被提供。
无论如何,对于这种模型而言,图像合成是绝对有问题的。例如,用户要怎样将来自另一照相机的图像与此模型组合?或者用户要怎样将经后处理的图像与经预处理的图像组合?基本上,原始图像编辑应用程序一般被当成是在上述传统的图像编辑应用程序之前插入到工作流程中的(又一个)准备步骤。亦即,原始图像编辑应用程序的输出仅是传统的图像编辑应用程序的另一个输入,且原始图像处理增加了工作而不是减少了工作。质量上的益处仍然增加,但是复杂性显著增加。这一情况伴随着不兼容和冗余原始图像编辑模型的泛滥对于除了最专注和耐心的专业人员以外的任何人而言是采用原始图像处理模型的最大阻碍。
令原始图像处理模型对用户不再那么麻烦的一种潜在可能的改进是以许多原始图像处理用户如今手动操作两种分离的应用程序的方式将原始图像编辑应用程序与传统的图像编辑应用程序组合(端对端)为一个应用程序。当用户想要调整色彩或曝光度时,他们可以编辑该模型的原始部分,而当他们想要进行传统的预处理图像编辑(例如,合成,矢量及文本编辑,打印等)时,他们可以采用具有其统一的“工作或输出”色彩模型的预处理图像模型。
尽管这看起来像是一种可行的途径,但是由于众多理由它仍非最优选择。首先,用户会因为他们不得不了解什么时候在一种模型或是在另一种模型中工作而困惑。例如,用户如何将来自不同照相机的图像组合,或将来自一个照相机的图像与像JPEG等的传统源组合?或者用户如何在一个应用程序中利用照相机制造商的原始图像处理模型与软件供应商的预处理图像编辑及创造性工具的专业技能?将两种模型粘合在一起并没有解决这些问题。
然而将预处理与原始图像处理模型统一的的最大障碍可能是,尽管工作流程显得相似——例如,它们都具有曝光和色彩校正步骤——但是工具以及根本的技术实际上是完全不同的。它们各自利用不同的处理算法产生不同的结果。实际上,原始图像处理校正常常与经处理图像的编辑应用程序中所作的编辑看起来不一样。
因此,需要一种将用于原始图像的和经预处理图像的图像编辑统一的方法。另外,将原始和经预处理图像的编辑的全异图像处理模型合并成能够利用常用的工具及工作流程来可互换地处理原始的和经预处理的或线性数据的大致统一的设计是有益的。
概述
本发明的实施例涉及原始和/或经预处理数字图像数据的统一的处理。在其各种实施例中,这种统一的处理包括利用“传感器校正图(profile)”——即一种在处理管线末尾将图像数据从原始状态修改为经处理状态(或反之)的模型——连同一个或多个输出校正图来将数据映射到目标输出文件和/或设备。其各种实施例进一步允许利用传感器校正图映射附加的图像数据,例如合成图像映射以匹配原始(线性的)图像色空间。当在处理经预处理的数字图像数据时,其实施例可以另外包括利用传感器校正图来将传入的(经处理的图像)映射到线性原始空间。
本发明提供一种用于处理原始数字图像数据和经预处理的数字图像数据中的至少一个的方法,所述经预处理的数字图像数据具有与其相关联的经处理图像校正图,所述方法包括:接收数字图像数据;确定所接收的数字图像数据是原始数字图像数据还是经预处理的数字图像数据;以及接收传感器校正图,其中如果确定所接收的数字图像数据是经预处理的数字图像数据,则所述方法进一步包括:利用所述经处理图像校正图和所述传感器校正图来对所述经预处理的数字图像数据应用色彩映射以创建所述经预处理的数字图像数据的线性数字图像数据;对所述经预处理的数字图像数据的线性图像数据应用一个或多个修改以产生经预处理的数字图像数据的经修改的线性数字图像数据;以及对所述经预处理的数字图像数据的经修改的线性数字图像数据应用所述传感器校正图和一输出校正图以创建经预处理的数字图像数据的输出就绪的数字图像数据,如果确定所接收的数字图像数据是原始数字图像数据,则所述方法进一步包括:对所述原始数字图像数据应用一个或多个修改以创建所述原始数字图像数据的经修改的线性数字图像数据;以及对所述原始数字图像数据的经修改的线性数字图像数据应用所述传感器校正图和一输出校正图以创建原始数字图像数据的输出就绪的数字图像数据。
附图各示图的简要描述
以下将参考附图详细描述本发明,其中:
图1是适用于实现本发明的示例性计算环境的框图;
图2是示出根据本发明的一个实施例的一种示例性原始和/或经预处理图像处理模型的原理图;
图3是示出根据本发明的一个实施例的一种用于处理原始和/或经预处理图像的方法的流程图;
图4是示出根据本发明的一个实施例的一种用于处理原始和/或经预处理图像的方法的流程图;
图5是示出根据本发明的一个实施例的统一的图像处理模型的数据流向的原理图。
详细描述
这里用具体细节描述本发明的主题以符合法定的要求。然而,本描述本身并不旨在限定本发明的范围。确切而言,发明人构想了要求保护的主题也可以结合其他现有的或将来的技术通过其他方式来实施以包括与本文件中描述的例子相类似的不同的步骤或步骤的组合。此外,尽管在此可能采用了术语“步骤”和/或“块”来隐含所采用的方法的不同要素,但是这些术语不应被解释为隐含了这里公开的各个步骤之中或之间有任何特定次序,除非个体步骤的次序被显式地描述。
本发明的实施例提供了一种用于处理原始和/或经预处理的数字图像的统一方法和系统。下面描述用于本发明实施例的示例性操作环境。
一般地参照附图,且尤其从图1开始,其中在各个图中相同的附图标记表示相似的组件,图中示出了一种用于实现本发明的示例性操作环境,且该环境被总地指定为计算系统环境100。该计算系统环境100仅仅是适合的计算环境的一个例子,且并不旨在对本发明的使用范围或功能性提出任何限定。计算环境100也不应被解释为具有与示例性操作环境100中示出的任何一个组件或其组合有关的任何依存性或要求。
本发明可结合许多其他的通用或专用计算系统环境或配置来运行。适用于本发明的众所周知的计算系统、环境、和/或配置的例子包括,但不限于,个人计算机、服务器计算机、手持式或膝上型设备、多处理器系统、基于微处理器的系统、机顶盒、可编程电子消费品,网络PC,微型计算机,大型机,包括上述系统或设备中的任何系统或设备的分布式计算环境等。
本发明可以在由计算机执行的诸如程序模块等的计算机可执行指令的一般化背景中描述。一般化地,程序模块包括执行特殊的任务或实施特定抽象数据类型的例程,程序,对象,组件,数据结构等。本发明也可以在分布式计算环境中实施,其中由通过通信网络链接的远程处理设备来执行。在分布式计算环境中,程序模块可以位于本地和远程计算机存储介质中,包括存储器存储设备。
参考图1,用于实现本发明的一种示例性系统包括计算机110形式的通用计算设备。计算机110的组件可以包括,但不限于,处理单元120,系统存储器130,以及将包括系统存储器在内的各种系统组件耦合到处理单元120的系统总线121。该系统总线121可以是数种类型的总线结构中的任何一种,包括存储器总线或存储器控制器,外围总线,以及使用各种各样的总线体系结构中的任何一种的局部总线。作为例子,而非限定,这类体系结构包括工业标准体系结构(ISA)总线,微通道体系结构(MCA)总线,扩展工业标准体系结构(EISA)总线,视频电子标准协会(VESA)局部总线,以及外围部件互连(PCI)总线,也就是通常所说的中层总线。
计算机110一般包括各种各样的计算机可读介质。计算机可读介质可以是能被计算机110访问的任何可用介质,并且包括易失性和非易失性介质,可移动和不可移动介质。作为例子,而非限定,计算机可读介质可包括计算机存储介质和通信介质。计算机存储介质包括以任何方式或技术实现的、用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等的信息的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括,但不限于,RAM、ROM、EEPROM、闪存或其他存储器技术,CD-ROM、数字多功能盘(DVD)或其他光盘存储,磁带盒、磁带、磁盘存储、或其他磁存储设备,或可被用于存储合需信息并能被计算机110访问的任何其他介质。通信介质一般体现为诸如载波或其他传输机制的已调制数据型号形式的计算机可读指令、数据结构、程序模块或其他数据,且包括任何信息传送介质。术语“已调质数据信号”指的是这样一种信号,它的一个或多个特征被以在该信号中编码信息的方式设置或改变。作为例子,而非限定,通信介质包括诸如有线网络或直线连接等的有线介质,以及诸如声波、RF、红外线和其他无线介质等的无线介质。上述任何组合也应被包括在计算机可读介质的范围之内。
系统存储器130包括易失性和/或非易失性存储器形式的计算机存储介质,诸如只读存储器(ROM)131和随机存取存储器(RAM)132。包含有助于在诸如启动期间在计算机110内各元件之间传输信息的基本输入/输出系统(BIOS)133一般存储在ROM 131中。RAM 132一般包含即可被处理单元120访问和/或正由其操作的数据和/或程序模块。作为例子,而非限定,图1示出了操作系统134、应用程序135、其他程序模块136、以及程序数据137。
计算机110也可以包括其他可移动的/不可移动的、易失性/非易失性的计算机存储介质。仅作为例子,图1示出了读或写不可移动的、非易失性的磁性介质的硬盘驱动器141,读或写可移动的、非易失性的磁盘152的磁盘驱动器151,以及读或写诸如CD ROM或其他光学介质等的可移动的、非易失性的光盘156的光盘驱动器151。其他可在示例性操作环境中使用的可移动/不可移动、易失性/非易失性计算机存储介质包括,但不限于,磁带盒、闪存卡、数字多功能盘(DVD)、数字录像带、固态RAM、固态ROM等。硬盘驱动器141一般通过诸如接口140等的不可移动存储器接口连接到系统总线121,而磁盘驱动器151和光盘驱动器155一般通过诸如接口150等的可移动存储器接口连接到系统总线121。
以上讨论并在图1中示出的设备及其相关联的计算机存储介质为计算机100提供了计算机可读指令、数据结构、程序模块以及其他数据的存储。图1中,例如,图示硬盘驱动器141存储了操作系统144、应用程序145、其他程序模块146、以及程序数据147。应注意这些组件可以与操作系统134、应用程序135、其他程序模块136、以及程序数据137相同或不同。操作系统144、应用程序145、其他程序模块146、以及程序数据147被赋予不同的附图标记是为了说明,最小限度上,它们是不同的拷贝。用户可以通过诸如键盘162和一般指鼠标、跟踪球或触摸板的定点设备161等的输入设备来输入命令和信息到计算机110中。其他输入设备(未示出)可以包括麦克风、操纵杆、游戏垫、卫星天碟、扫描仪等。这些及其他输入设备常常通过与系统总线耦合的用户数据接口160被连接到处理单元120,但是也可以通过诸如并行端口、游戏端口或通用串行总线(USB)等的其他接口和总线结构来连接。监视器191或其他类型的显示设备也可以通过诸如视频接口190等的接口被连接到系统总线121。除了监视器191之外,计算机还可以包括其他外围输出设备,诸如扬声器197和打印机196,其可以通过输出外围接口195被连接。
计算机110可以利用到例如远程计算机180等的一个或多个远程计算机的逻辑连接在连网环境中操作。该远程计算机180可以是个人计算机,服务器,路由器,网络PC,对等设备或其他公共网络节点,并且一般包括以上描述的关于有关计算机110的元件中的许多或全部,尽管图1仅示出了一个存储器存储设备181。图1中描述的逻辑连接包括局域网(LAN)171和广域网(WAN)173,但是也可以包括其他网络。这种连网环境普遍存在于办公室、企业范围的计算机网络,内联网以及英特网。
当在LAN连网环境中使用时,计算机110通过网络接口或适配器170被连接到LAN 171。当在WAN连网环境中使用时,计算机110一般包括调制解调器172或其他用于在诸如因特网等的WAN 173上建立通信的装置。可以是内置的或外置的调制解调器172可以通过网络接口170或其他合适机构被连接到系统总线121。在网络化环境中,描述的涉及计算机110的程序模块或其部分可被保存在远程存储器存储设备中。作为例子,而非限定,图1示出了远程应用程序185驻留于存储器设备181上。可以认识到,示出的网络连接是示例性的,并且可以采用其他方式在计算机之间建立通信链路。
尽管没有示出计算机110的许多其他内部组件,但是本领域普通技术人员可以认识到,这些组件和互连都是公知的。因此,不需要结合本发明公开有关计算机110内部构造的更多细节。
当开动或复位计算机110时,存储在ROM 131中的BIOS133指示处理单元120将操作系统或其必要的部分从硬盘设备141加载到RAM 132中。一旦标示为操作系统144的操作系统的拷贝部分被加载到RAM 132中,处理单元120就执行操作系统代码并使与操作系统134的用户界面相关联的视觉元素被显示在监视器191上。一般,当用户打开应用程序145时,程序代码及相关数据被从硬盘驱动器141读取,并且需要的部分被拷贝到RAM 132中,这里拷贝的部分用附图标记135表示。
如前面描述的,本发明的实施例涉及一种对原始和经预处理数字图像进行统一处理的系统和方法。转到图2,图中示出了根据本发明的一个实施例的示例性的原始和/或经预处理图像处理模型200的原理图。该图像处理模型200包括照相机内建处理210和编辑应用处理212。本领域普通技术人员可以理解和知道的是,取决于正被处理的数字图像数据是原始的数字图像数据还是经预处理的数字图像数据,该示例性图像处理模型200的各种模块可被跳过,下面将对此进行更详细的描述。(注意,图2中的箭头表示通过模块的数据流向。)
一开始,在捕捉图像之际,照相机传感器214接收光子图像数据。根据本发明,如果接收到的图像数据是来自原始图像数据源,则该光子图像数据(连同照相机设置一起)随后被存储在如在框228处表示的原始编码器中以供输入到统一图像编辑应用程序212中。因此,如果传感器214接收到的图像数据是来自原始图像数据源,则可以跳过框216、218、220、222、224和226中的每一个。“原始图像数据”作为这里采用的术语可以被定义为未经修改的或经最低限度地修改的传感器数据,一般具有线性特征。
然而,如果接收的光子图像数据来自经预处理图像数据源,则由传感器214接收的光子图像数据随后被输入到传感器反马赛克模块216中。现在的传感器一般利用其上覆盖了色彩矩阵(例如,Bayer矩阵)滤光器的强度传感器来捕捉光子图像数据。这种彩色格栅ke1被称为马赛克。因为传感器本身是单色传感器,因此它每一个象素位置上仅测量一个值,从而形成单通道图像。然而,为了输出彩色图像,每个象素位置上需要三个值(例如,红,绿,和蓝)。因此,一旦从经预处理图像数据源接收到光子图像数据,它就被输入到传感器反马赛克模块216中,在那里根据马赛克模式内插数据,从而在每个象素位置上形成三个值,即,三通道图像。
接下来,数据被输入到各种处理模块进行处理图像数据。更具体而言,可以利用曝光模块218调整曝光,利用色平衡模块220调整白平衡,利用其他处理模块222执行其他处理(例如,色调校正,噪声降低等),和/或利用锐化模块224执行锐化。本领域普通技术人员知道并了解这些处理功能中的每一个,因此,这里不进一步描述。本领域普通技术人员可以理解和知道的是,图2所示的各种处理模块(模块218、220、222和224)处理数据的次序只是示例性的,因为这些步骤可能以任何次序发生。此外,如果确定了其所作的调整是不必要的,则可以跳过处理模块218、220、222以及224中的任何一个或多个。再进一步地,如果需要的话,诸如像锐化以及噪声降低等的处理可以发生在光子图像数据被输入到传感器反马赛克模块216之前。构想了所有这些变形都在本发明的范围内。
随后,被如此处理的图像数据可以被输入到色彩管理(CM)模块226中。CM模块将图像数据从原始修改到经处理图像数据,或反之。除了图像数据之外,传感器校正图以及工作或输出校正图也被输入到CM模式226中。一些照相机制造商利用CM模块226来向照相机传感器应用类似胶片的特征以使从其输出的悦目的图像、且在一定程度上是“烙印式的”图像就像是在由该特殊制造商制造的照相机中起源的。因此,传感器校正图是一种特征性的校正图或校正图集合,它将要输出的颜色从一种特殊的颜色映射到另一个颜色,且能用来生成一种有区别的外观。因此,如CM模块的传感器校正图是一种用于将图像数据从原始修改成已处理(或反之)图像数据的模型,且对用户浏览他们像LCD等屏幕上的图像是必不可少的。传感器校正图是照相机和/或制造商专有的。这种映射一般是非线性的,即,传感器校正图中色值之间的距离不同于工作校正图中色值之间的距离。如下面更详细地描述的,一旦传感器校正图已经被应用于图像,要执行高质量曝光调整、色彩校正等操作就是不现实的(如果不是不可能的话),因为非线性映射处理以使得图像数据发生畸变。因此,经预处理图像数据是已经通过某种方法、特别是以使其不再具有线性的色彩校正图的方式被修改了的图像数据。
工作或输出校正图是图像数据实际上被转换为的色彩校正图,即,它是要与图像相关联的色空间(例如,sRGB,AdobeRGB等)。因此工作或输出校正图是三维空间(XYZ)和要与输出图像相关联的像素值之间的映射。因此,CM模块226采用两种校正图(传感器校正图以及工作或输出校正图),并经由已知的连接空间例如CIE-XYZ或CIE-LAB将像素从源色空间(传感器校正图)转换到目标色空间。
胶片的一个关键特征是它的对数响应;光的每个截止——或加倍——导致胶片上颗粒密度相对均一的增量,这导致图像亮度的均匀步幅。胶片的其他特征——例如它在图像的极亮和极暗区域中的响应——也为图像提供了唯一性的特征。数码照相机图像通过特殊的色调-映射步骤来实现类似的效果。因此,在照相机内建处理管线的末尾,CM模块226取经处理的图像数据以及这两个色彩校正图,对该图像应用类似胶片的响应特征(即,应用传感器校正图),压缩并将图像转换成诸如RGB或AdobeRGB等的标准的国际色彩联盟(ICC)颜色校正图(即,将图像数据转换到工作或输出校正图),并保存图像文件,一般保存在JPEG编码器228中以供输入到经预处理图像编辑应用程序212中。本领域技术技术人员可以理解和知道的是,图像文件可被存储为任何经处理文件格式,在此仅作为示例使用JPEG。
因此,图2的照相机内建处理210部分地对数字化图像数据应用了伽马曲线,这对于显示图片是有必要的。如果仅应用伽马曲线,则会相对容易地反转它的效果。然而一旦其他色彩校正图特征被引入,反转就变得困难得多。可能被引入的特征类别包括在使可用色彩的数目最大化的同时使误差最小化的特征(例如,与阴影和高光相比,人眼能辨别更多的中间色调,从而利用更多的位来表示中间色调是合理的,由此导致固有的非线性性),以及创建“观感”的特征(例如,一个照相机制造商可能偏好偏绿的观感,而另一个可能偏好偏暖的观感)。
在缺少额外的信息的情况下,开发者能仅利用相关联的工作或输出色彩校正图在图像像素与诸如CIE XYZ或LAB等的明确定义的“连接空间”之间进行映射。在这些实例中,照相机制造商需要在转换到诸如AdobeRGB或sRGB等的经伽马调整的工作或输出空间之前将像素值映射到该经校准的空间。这使得照相机的非线性的类似胶片的处理失效,并强加于一种固定的校准。取而代之的是,尽管照相机的输出一般遵守由相关联的输出色彩校正图矩阵指定的色移准则时,但是照相机有意识地“违犯”线性色调映射模型来引入类似胶片的特征。这个可以如图2所示地利用色彩校正图色调响应(或复制)曲线(TRC),即,传感器校正图信息在照相机内建的CM模块226中引入,或者可作为一单独的处理步骤。采用任何一种方式,基本上效果是一样的——数据不再是线性的,并且相关联的ICC校正图也不再映射到已知的线性空间。其的重要性将在下面更全面地描述。
无论图像数据源是原始文件还是诸如JPEG等的经处理文件,它随后都被输入到统一图像编辑应用程序212中。最初在统一图像编辑应用程序212中遇到的是解码模块230,其解压缩图像并将之转换成应用程序可使用的格式。
如果统一图像编辑应用程序212的输入来自原始文件,则该数据随后被输入到传感器反马赛克模块232中,在此它通过色彩矩阵或马赛克被过滤,如上面参照框216比较全面地描述的。另一方面,如果统一图像编辑应用程序212的输入来自JPEG文件,则数据随后被输入到色彩管理(CM)模块232中,它本质上对发生在CM模式226中的转换进行反向工程。更特别的是,工作或输出校正图以及传感器校正图——即与先前被输入到CM模块226中的相同的两个校正图——也被输入到CM模块232中。在CM模块232中,数据从工作或输出校正图被转换回到传感器校正图并接着回到原始状态。一旦数据回到原始状态,输入到统一图像编辑应用程序212的经预处理数据、以及由统一图像编辑应用程序212接收的任何原始数据就可被等同地处理。注意,取决于图像数据输入的类型(即,原始的或经预处理的),框232标示的模块可以与统一图像编辑应用程序212互换。
无论输入到统一图像编辑应用程序212中数据为何,一旦数据经过了框232就成为统一格式。因此,根据需要和/或希望,该图像数据可以随后被输入到各种修改模块中。更具体而言,该数据可以被输入到曝光模块234、色平衡模块236、和/或锐化模块242中,这些修改模块中的每一个执行类似于与响应模块218、220和224相似的功能。这些处理功能中的每一个都是本领域技术普通技术人员已知和了解的,因此,这里不再进一步描述。本领域普通技术人员理解和知道的是,图2中示出的各种不同的处理模块处理数据的次序仅是示例性的,因为这些处理步骤可以按任何次序来发生。因此,如果确定了其能够进行的调整是不必要的话,则可以跳过处理模块234、236和242中的任何一个或多个。再进一步地,如果希望的话,诸如锐化和噪声降低等的处理可在光子图像数据被输入到传感器反马赛克模块232之前发生。构想了所有这些变形都在本发明范围之内。
该统一图像编辑应用程序212另外包括用于执行例如像调整尺寸、添加边界、添加文本等的许多其他处理应用程序的编辑模块238。此外,编辑模块238可以从不同的源接收图像(或来自相同消息来源的额外的图像),无论是原始的还是经预处理的。这样的图像可以从CM模块240输出。如果图像数据是经预处理的数据,则除了图像数据之外,该数据工作或输出校正图和传感器校正图以及所需的任何外加的编辑效果被输入到CM模块240中。因此,CM模块240的输出与编辑模块238接收的所有其他数据是相同的格式。
一旦所有想要的编辑都已经完成,图像数据就可在被输出到显示设备246之前被转发到CM模块244进行最终的处理,可在被输出到打印设备250之前被转发到CM模块248进行最终的处理,或可在作为JPEG/TIFF/等文件经由编码设备254输出之前被转发到CM模块252进行最终的处理。传感器校正图也被输入到CM模块,无论是CM模块244、CM模块248、还是CM模块252。显示设备校正图也被输入到CM模块244。因此,被转发到CM模块244进行最终处理的图像数据将被应用传感器校正图,并且接着将被转换到显示设备校正图以供在显示设备246上显示。打印设备校正图也被输入到CM模块248中。由此转发到CM模块248进行最终处理的图像数据将被应用传感器校正图,然后将被转换到打印设备校正图以供由打印机250打印。工作或输出校正图也被输入到CM模块252。因此,被转发到CM模块252进行最终处理的图像数据将被应用传感器校正图,并且接着将被转换到工作或输出校正图以供经由编码器254保存到例如JPEG/TIFF/等文件。注意,如果在CM模块240处输入了额外的图像数据,则可以应用一个以上的传感器校正图,每一个专用于与其相关联的图像数据。
图2的统一图像处理模块包括像常规的原始图像编辑器那样的本质上类似胶片的处理,并且像常规的经预处理图像编辑器那样,仅涉及单个模块。任何合需的传感器校正图都可以被选择(包括由照相机制造商或第三方提供的,作为操作系统的一部分被安装的,自网站访问的,和/或从原始或经处理文件提取的)。实际上,如果有需要,用户可以利用例如个人校正图构建工具来计算他们自己的传感器校正图。
扩展传统的原始图像处理模型最大的挑战之一是位于传感器本原色空间的图像没有被标准化到适合与其他图像组合的共同色空间中。如果来自相同传感器的另一个图像被引入,则结果可能是兼容的,因为两个图像的色彩校正图是一致的。然而当处理其他照相机型号的图像或在sRGB或其他共同的工作空间中编码的图像时,组合这些图像对用户而言是一种挑战,因为用户不得不就使用哪一个“工作校正图”以及如何应用它作出决策。
将所有图像数据强制转换到传统的原型的显示设备工作或输出空间之一会使用户回到她/他以常规的预处理图像编辑模型开始之处。这种方法存在两个问题。第一,强加与诸如AdobeRGB和sRGB等的传统的工作校正图相关联的非线性是不希望的。第二,需要额外的数据才能够在映射到任何工作校正图之前将传感器数据映射到连接空间。
根据本发明实施例解决这些问题的关键之一是在传感器校正图中。除了有问题的类似胶片的TRC数据之外,传感器校正图还包括传感器到XYZ的校准矩阵。采用此数据,来自其他传感器或来自标准工作或输出空间的数据可以被组合。因此,以下三种合成情景是可能的。第一,当组合来自相同传感器的图像时,这些图像将只是被简单地线性组合,并且在管线末尾将使用传感器校正图来映射到目标设备或工作空间(或保留原样以作为原始图像保存)。第二,当组合来自不同传感器的图像时,在直到并包含混合步骤的任何一点上,可以通过矩阵映射将其中一个图像或其两者转换为共同的线性色空间。“基础”图像(即,第一个载入的图像)或后续的图像,或诸如scRGB等的线性工作校正图接着可以被选择。当在管线缓冲器中采用足够的数值精度,后一种方法用来建立共同的工作校正图可能是合乎需要的。对于诸如16位整数等的有限精度,将它保持在各原始图像校正图空间之一内可能是合乎需要的。
第三种可能的合成情景涉及组合具有诸如sRGB或AdobeRGB等的设备特征校正图的图像。这些图像可在混合之前被转换到管线的线性工作空间。
对于所有上述的合成情景,实现图2中示出的统一图像处理模型的独立软件或硬件供应商可以选择总是转换到良好的线性工作空间,诸如基本上Gamma为1.0(即,是线性的)并被粗略地校准到sRGB空间但是具有巨大的动态范围和色移的scRGB。
传统图像编辑应用程序最大的问题是任何非线性性源,例如,色调映射(尽管一些明确定义的校正图比其他的更容易反转)。将图像映射回传感器数据的线性模型所需的组分是具有照相机的类似胶片的色料映射曲线集(即,传感器校正图信息)的照相机校正图。存在许多潜在的曲线集源;有一些现在就可获得,而有一些可能被纳入到将来的照相机、应用程序、平台和/或文件格式中。首先,传感器校正图可以被嵌入到图像文件(例如,JPEG或TIFF)中或与之相关联。这是一种令人满意的方法,因为每个照相机制造商可以确信在根据本发明的实施例的任何平台上能够以确切相同的方式处理图像。这种嵌入不应与已嵌入的工作或输出校正图(例如,sRGB或AdobeRGB)混淆,因为它们两个都是完全转换回原始传感器空间所必须的(参看,图2的CM模块232)。
第二,如果文件中仅嵌入了工作或输出校正图,那么用户(或应用程序)可以从安装在平台上的校正图集中选择适当的校正图。今天许多独立的软件供应商都采用这种策略。照相机制造商也可以采用这种方法作为上述策略的替换。另外,第三方能为一个或多个照相机模式涉及定制的“胶片”曲线作为商务模型。这可能是消耗这些专用的附加值“胶片”校正图的机制。
第三,存在一种可供在没有上述专用设计的情况下使用以允许根据本发明实施例的模型在有无专用于该设备时都能在线性空间中工作的简单的普适校正图。
利用CM模块232来映射图像数据使之脱离其经伽马调整的工作或输出,并通过在传感器校正图中使用TRC曲线来回退类似胶片的响应,该数据可以被恢复为线性的或非常接近线性模式的原始传感器数据。注意,传感器校正图的矩阵部件一般能正确地将传感器谱映射到XYZ,如同从ICC校正图可预计的那样——这与引入非线性的TRC曲线非常不同。可以利用对传感器校正图矩阵元素的一种简单的修改来使根据本发明的实施例的处理模型能映射到不依赖于传感器特征的共同的工作或输出。例如,单位矩阵可以保持XYZ中的数据。sRGB或scRGB矩阵将映射到那些空间。任何共同的空间都可以在照相机校正图矩阵条目中使用以替代定制照相机混合。
一旦图像数据被映射到共同的线性工作空间,就可利用与图3的原始图像处理模型中使用的相同的工作流程和控制来调整所有的设置。除了解码和色彩映射步骤以外,图2的经预处理图像处理模型与图3的原始图像处理模式之间的关键区别是,根据定义,原始数据是未被变更的传感器数据,而经预处理数据能够并且已经被调整。对于一些处理步骤,例如曝光和简单的色平衡,调整的精确性对于提前知道已经对该数据作出了什么样的调整来说并不是至关重要的。然而对于一些调整,诸如色温校正,使处理设置可用是很重要的。当图像在照相机上被处理时,数据可以被编码在图像文件中,例如EXIF和其他标签被随图像包括。该数据可供校正步骤——原始的和经预处理的图像处理模型均是如此——用来确保正确应用了校正。本发明的统一处理模型需要确保数据保持更新。
参照图3,示出了利用图2的统一模型来处理原始的和/或经预处理的数字图像数据的工作流的方法,该方法被总地指定为附图标记300。开始,如框310显示的,系统接收到数字图像数据。随后,如框312显示的,确定所接收的数字图像数据是原始图像数据还是经预处理的图像数据。
如果确定所接收的数字图像数据是原始的图像数据,则如框313显示的随后接收要被应用于该数据的传感器校正图,并且将该数据反马赛克化以在每个像素位置上生成三个值。接下来,系统接收对于经反马赛克化的图像数据的一个或多个修改来创建经修改的图像数据。这在框314显示的。仅作为示例,这一个或多个修改可包括曝光调整、白平衡调整、锐化调整、创造性调整等。
接下来,如框316显示的,传感器校正图和输出校正图(例如,显示设备校正图、工作校正图、和/或打印设备校正图)被应用于经修改的图像数据以创建输出就绪的图像数据。一旦传感器校正图和输出校正图已经被应用,作为结果的图像文件就可以被输出到例如打印设备、显示设备,或者存储为例如JPEG、TIFF等经处理文件格式,如框318显示的。
然而,如果在框312确定所接收的数字图像数据是经预处理图像数据,则系统随后接收在照相机内建处理期间已经被应用于该图像数据的传感器校正图或其包含到所应用的校正图的类似映射的代用品。这在框320显示。随后,如框322显示,利用该传感器校正图和经处理的图像文件,经预处理的图像数据被转换成线性图像数据。
接下来,系统接收对该线性图像数据的一个或多个修改,并创建经修改的图像数据,如框314显示的。仅作为示例,该一个或多个修改可以包括曝光调整、白平衡调整、锐化调整、创造性调整等。
随后,之前已经在框320接收的传感器校正图以及输出校正图(例如,显示设备校正图、工作校正图、和/或打印设备校正图)被应用到该经修改的图像数据来创建输出就绪的图像数据,如框316显示。一旦传感器校正图和输出校正图已经被应用,作为结果的图像文件就可以被输出到例如打印设备、显示设备,或者存储为诸如JPEG、TIFF等经处理文件格式,如框318显示的。
现在转到图4,示出了利用图2的统一模型来处理原始的和/或经预处理的数字化图像数据的工作流的方法的流程图,该方法被总地指定为附图标记400。开始,如框410显示的,系统接收到数字图像数据。随后,如框412显示的,确定所接收的数字图像数据是否为线性图像数据。
如果确定所接收的数字图像数据不是线性数字图像数据,则通过例如对该数字图像数据应用色彩映射,该数字图像数据被转换为线性数字图像数据。这在框414显示。随后,或者如果确定所接收的数字图像数据是线性数字图像数据,则一个或多个处理步骤被应用于该线性数字图像数据来创建经处理的线性图像数据,如框416显示。随后,如框418显示,传感器校正图和设备校正图被应用于该经处理的线性数字图像数据来创建设备就绪的数字图像数据。
当文件被编辑且再次保存时,保留文件的“起源”以使得根据这里所描述的方法的后续编辑会话将具有进行校正的准确基线是很重要的。这确保了后续的编辑会话可以利用相同的高保真度图像处理模型并得到可预测的结果。当然,采用原始的图像编辑,原始图像永远不会被变更,因此后续的编辑会话可以在管线上仅仅利用这些设置作为“预置”。
本发明的统一处理模型将此特征扩展到经预处理图像的编辑。从照相机取得的经预处理的图像可被视为“底片”并且永远不被变更。这通过首先利用来自照相机的设置作为处理前提以及管线中的调整设置来实现(结果得到未变更的输出)。当像曝光或色彩这样的设置被修改时,对这些处理设置的这些调整(参看图2)被随照相机设置一起存储(预处理设置)。以此方式,每一次打开图像来浏览或编辑时,无论是第一次还是第五次,原始设置可以被随意恢复并且先前存储的设置可以很容易地调整,而不会退化。
参照图5,示出了本发明的模型的统一管线是如何以此数据来工作的简化原理图。首先,取决于文件类型,原始图像数据被反马赛克(例如,转换成RGB)或者经预处理图像数据(例如,JPEG)被解码。如果文件具有来自照相机的经预处理的图像数据,则该照相机的处理设置被加载到用于调整以及处理设置的这两个预处理输入中,实际上是保留图像原样。对这些设置的任何调整将会对这些处理设置进行并与照相机EXIF设置分离地保存。后续的加载是将照相机设置加载到经预处理的设置中,并且所存储的经修改的设置被加载入到处理设置中。通过这种方式,原始图像数据以及照相机设置——即,来自照相机的原始文件——被保持原样。当存储时仅调整数据(处理设置)被变更。在任何时候,原始照相机设置都可以被恢复。
图5在一个重要方面区别于图2:它示出了经预处理数据路径在两个方向上通过管线。这是一种在应用线性空间调整之前“反转”发生在照相机中的处理并且将数据返回到“原始”状态的实现。然而实际上,这在很大程度上是对图2所示的过程的一种不必要的添加。一旦数据是线性的,大多数步骤都可以被取代——它们可以保留在原始(上升)次序。然而在CM步骤中对线性空间的再次处理必须首先进行。因此,虽然图5是理想处理模型的精简概念化,但是图2通过对调整提供两种输入——一种用于预处理设置(即,照相机设置)并且一种用于目标处理设置——就能准确地复制处理。实际上,一些像曝光这样的处理在技术上可以仅具有一个输入——即曝光中合需的变化(Δ)。
原始图像处理与经预处理数据遵循几乎相同的方案。照相机设置被加载到管线作为处理设置(这里不存在针对原始图像的预处理设置)并且图像被渲染。对这些设置进行调整并保存——正如上面所描述的使用文件的预处理方法。就像预处理模型一样,再次打开文件将渲染所存储的处理设置,并且在任何时候该原始照相机设置可以被恢复以回到原始状态。
可以理解,本发明的实施例提供了一种用于处理原始和/或经预处理数字图像的统一方法。本发明进一步的实施例提供一种用于处理原始和/或经预处理数字图像的统一系统。
已经结合特定实施例描述了本发明,其在各个方面旨在示例而非限定。对本领域普通技术人员而言,本发明所涉的替换实施例将是显而易见的,并且没有背离本发明的范围。
从前述内容来看,连同系统和方法明显的和固有的其他优势一起,将看到本发明是一种适合达到前述目的和目标的方案。可以理解,某些特征和子组合都是有效用的,并且不需要参照其他特征和子组合就可使用。这是权利要求所构想的且在其范围之内。