生成高动态范围图像的全局对准的制作方法

文档序号:6365377阅读:461来源:国知局

专利名称::生成高动态范围图像的全局对准的制作方法
技术领域
:本技术涉及生成和渲染数字图像,并且更尤其涉及生成和渲染高动态范围(“HDR”)数字图像。
背景技术
:在数字成像系统中,通常由在具有三个或更多个通道的多維“色彩空间”中的坐标表示色彩。常见示例包括众所周知的RGB和YUV色彩空间。在RGB色彩空间中,使用坐标(也被称为像素样本值或者样本值)来指定像素,这些坐标分别表示红光、绿光和蓝光的强度。在YUV色彩空间中,使用坐标(像素样本值或者样本值)来指定像素,所述坐标表示ー个亮度值和两个色度值。当前,许多图像捕获、处理和显示装置只能处理具有每个通道256(28)个离散值的小的动态范围的像素样本值,其被表示为8位。这样的图像可以被称作具有8位的“比特深度”。在红色、绿色和蓝色色彩通道中具有每通道8位(8bpc)的典型的RGB数字图像中,对于红色、緑色和蓝色像素样本值的每ー个来说,仅可能存在256个不同的值。其他值(例如,α或者暗度值,亮度值及其他这样的值)同样也受限于低动态范围限制。ー些装置可以处理高达每通道10位或者12位的动态范围。然而,人类视觉系统可以检测14数量级宽的亮度范围,体现为大约46位。实际上,亮度值在明亮的日光下可以高达IO8candela/m2,并且在没有月亮的黑夜的岩石的下侧上可以低到10_6candela/m2。高动态范围(“HDR”)成像呈现了符合人类视觉系统的更加通用和自然的图像表不。HDR图像可以呈现比传统的8位,10位和12位表不更闻的动态范围,以实现极闻的图像质量。可以将HDR图像用于处理传统图像的相同类型的装置和软件工具中,如果HDR图像格式符合所述装置或工具的话。已经开发出几种HDR图像格式,并且照相机、计算机图形学和显示装置已经开始产生、处理和显示具有増加的动态范围的图像。
发明内容本文描述了用于高动态范围(“HDR”)图像生成和渲染(rendering)的技术和エ具。在某些实施例中,从较低的动态范围图像的集合中建造HDR图像。例如,可以通过合并相同照相机针对相同场景在不同曝光获得的图像来生成HDR图像。然而,由于手的摇动或者环境条件,在每个图片之间应该预料到一些照相机运动(典型地转动和/或平移的运动)。当从较低的动态范围图像中建造HDR图像时,对准(align)图像是HDR图像生成过程的一个方面。然而,这个对准过程可能是有挑战的,起因于由照相机运动造成的图像和由获得各种图像的不同曝光造成的图像之间的差別。因此,在几个所描述的实施例之间是用于对准具有不同曝光的图像的技术和工具。在特定实施例中,图像的对准至少部分地基于使用图像之间的协方差计算而确定的运动矢量。此外,在某些实施例中,在图像对准过程期间忽略或者实质上地忽略饱和区域、曝光不足区域和/或具有局部运动的活动对象。例如,在某些实现方式中,将随机抽样一致(“RANSACRandomSampleConsensus”)方法用来检测和消除由于活动对象、饱和和/或曝光不足而异常的运动矢量。在所公开的技术的ー些实施例中,在图像生成之前不需要对图像捕获装置的响应曲线的了解。此外,在对准之前,所公开的技术的实施例不规格化所述图像,并且因此保存更多信息以更加精确地对准图像。所公开的技术的实施例可以用于校正平移的,转动的两者,或者平移并且转动的运动两者。此外,所公开的技术的实施例比先前的HDR生成技术在计算上更加有效。在本文所公开的ー个示范性实施例中,在基准图像和一个或多个非基准图像的集合之间执行运动分析。所述运动分析可以包含计算基准图像中像素样本值的集合和来自所述集合的非基准图像之一中的像素样本值的集合之间的ー个或多个协方差值。此外,至少部分地基于所述运动分析,可以将来自所述集合的所述非基准图像至少之一与所述基准图像进行合井,以形成较高动态范围数字图像。在本文公开的另一个实施例中,接收基准图像,所述基准图像包含处于第一曝光等级和第一时间的数字图像。还接收非基准图像,所述基准图像包含处于第二曝光等级和第二时间的数字图像,所述第二曝光等级不同于所述第一曝光等级,并且所述第二时间不同于所述第一时间。相对于所述基准图像为非基准图像估算两个或更多个局部运动矢量。在特定实现方式中,所述两个或更多个局部运动矢量的估算包含一次或多次地下采样所述非基准图像和所述基准图像,以形成多种分辨率的多个版本的非基准图像和基准图像,其中,最低分辨率版本的非基准图像具有以金字塔形结构关联到每个较高分辨率版本的非基准图像的相应位置上的连续的较大量块的多个块,并且其中最低分辨率版本的基准图像具有以金字塔形结构关联到每个较高分辨率版本的基准图像的相应位置上的连续的较大量块的多个块。此外,对于最低分辨率版本的非基准图像,可以通过对关联的最低分辨率版本的基准图像中的运动矢量执行完整捜索来估算非基准图像的块的运动矢量;并且对于每个连续的较高分辨率版本的非基准图像,可以使用依照所述金字塔形结构从在前的较低分辨率版本的非基准图像的关联块估算的运动矢量开始的精确搜索(refinementsearch)来估算连续的较高分辨率版本的非基准图像的块的运动矢量。本文公开的另一个实施例包含存储图像对准程序的存储器、至少ー个数字信号处理部件、和可操作以执行所述图像对准程序的处理单元。在某些实施例中,所述图像对准程序使得所述处理単元输入基准图像,所述基准图像包含处于第一曝光等级和第一时间的数字图像;输入非基准图像,所述非基准图像包含处于第二曝光等级和第二时间的数字图像;并且计算所述非基准图像中的像素样本值的块的局部运动矢量,所述局部运动矢量指示所述块与所述基准图像中的像素样本值的相应块的相对运动。在特定实现方式中,至少部分地使用估量所述非基准图像的块中的像素样本值如何与所述基准图像的块中的像素样本值一起改变的度量标准来确定所述局部运动矢量。提供本
发明内容而以简化形式对精选的概念进行介绍,在以下具体实施方式中将进ー步描述这些概念。本
发明内容没有打算标识所要求保护的主题的关键特征或必要特征,也没有打算用来帮助确定所要求保护的主题的范围。根据以下參照附图继续进行的实施例的详细描述,将可以明了所公开的技术的附加持征和优点。图I是计算环境的结构图,其中,可以实施高动态范围(“HDR”)图像生成、渲染和对准技术的实施例。图2和3是云计算网络环境的结构图,其中,可以实施所公开的HDR图像生成、渲染和对准技术的实施例。图4是示例依照一个或多个描述的实施例的概括的HDR图像处理系统的结构图。图5是示出包括依照一个或多个描述的实施例的HDR图像生成和HDR图像渲染的示范性的HDR成像工作流程的流程图。图6是示出依照ー个或多个描述的实施例从SDR图像的集合生成HDR图像的示例性技术的流程图。图7是示出依照一个或多个描述的实施例渲染HDR图像的示例性技术的流程图。图8是示出可以与图6的实施例一起使用的示例性图像对准技术的流程图。图9-13是图示可以与图8的图像对准技术一起使用的基于金字塔块的局部运动估算技术的图。图14是图示全局运动转换模型的图,所述全局运动转换模型包括可以与图8的图像对准技术一起使用的全局运动转换的类似性模型。图15是图示可以与图8的图像对准技术一起使用的用于估算全局运动转换的过程的流程图。具体实施例方式I.总则以下公开的是用于执行HDR图像处理的方法、设备和系统的代表性实施例,包括具有不同曝光的数字图像的对准。所公开的方法、设备和系统不能看作是以任何方式进行限定。相反,単独地和以不同组合以及彼此之间的子组合,本公开的目的在于各种公开实施例的所有新颖的和非显而易见的特征和方面。此外,可以单独地或者以不同组合和彼此之间的子组合使用所公开的实施例的任何特征或方面。所公开的方法、设备和系统不局限于它们的任何具体方面或特征或组合,所公开的实施例也要求任意ー个或多个具体的优点或者解决问题必须存在。尽管为了便于表示而以特定、连续的次序描述了ー些所公开的方法的操作,但是应当理解的是,这种描述方式包含重新排序,除非通过以下阐述的具体语言而要求特定排序。例如,在某些情形下可以重新排列或者同时执行按顺序描述的操作。此外,为了简化起见,附图不用示出结合其他方法、设备和系统使用所公开的方法、设备和系统的各种方式。此外,本文中所使用的术语“和/或”意指所述短语中的任意一项或多项的组合。可以使用存储在一个或多个计算机可读介质(例如,非临时性计算机可读介质,例如ー个或多个光学介质盘、易失性存储部件(例如,DRAM或SRAM)、或非易失性存储或储存部件(例如,硬盘驱动器))并且运行在计算机(例如,任何市场上可买到的计算机或嵌入在装置中的计算机或图像处理器,例如,膝上型计算机、娱乐控制台、网本(netbook)、上网本(webbook)、平板计算装置、智能电话、或其他移动计算装置)上的计算机可执行指令来实现所公开的方法。还可以将所公开的方法或系统实施期间创建和使用的任意中间或最終数据存储在一个或多个计算机可读介质(例如,非临时性计算机可读介质)上,并且将其认为是处于所公开的技术的范围内。为了清楚起见,仅描述了基于软件的实施例的某些精选的方面。省略了本领域公知的其他细节。例如,应当理解的是,基于软件的实施例不局限于任何具体的计算机语言或程序。同样,所公开的技术的实施例不局限于任何特定的计算机或任何特定类型的硬件。以下将介绍适于执行所公开的基于软件的方法的任意ー个的示范性计算环境。还可以使用被配置为执行任意ー个所公开的方法的专用计算硬件来实现所公开的方法。例如,可以通过被具体设计或配置成实施任一所公开的方法的集成电路(例如,专用集成电路(“ASIC”)(例如,ASIC数字信号处理单元(“DSP”),图形处理单元(“GPU”),或可编程逻辑装置(“PLD”),例如现场可编程门阵列(“FPGA”))来实现所公开的方法(例如,被配置用于执行任一所公开的图像处理技术的专用硬件)。还可以在多种用法和计算方案中使用所公开的HDR图像生成、HDR图像渲染或数字图像对准技木,包括在专用图像捕获装置(例如,数字照相机或带有数字照相机的移动装置)上的图像处理、在独立计算机上的图像处理、在网络客户端计算机上的图像处理、或在服务器计算机上的图像处理。此外,可以在多个计算装置上并行或协作地执行所公开的HDR图像生成、HDR图像渲染或数字图像对准技术的各部分技术,所述计算装置例如客户端-服务器、网络“云”业务或对等计算设置及其他。因此,应当认识到,可以在各种不同电子和计算装置上实现所述技术,包括終端用户消费操作装置以及可以提供作为提供给顾客的业务的一部分的技术的服务器计算机两者。II.示例件计算环境图I图示了适当的计算装置环境或计算硬件环境100的概括示例,其中,可以实现所公开的技术的实施例。计算硬件环境100并没有暗示对所公开技术的使用或功能范围的任何限定,因为可以以各种通用或专用计算环境实现本技术。例如,可以用其他计算机系统配置来实现所公开技术,包括手持装置、多处理器系统、基于微处理器或可编程的消费电子设备、网络PC、小型计算机、大型计算机等。还可以在分布式计算环境中实施所公开的技术,其中由通过通信网络(例如,云计算网络)链接的远程处理装置执行任务。在分布式计算环境中,程序模块可以位于本地和远程内存存储装置两者中。參照图I,计算硬件环境100包括至少ー个处理单元110和存储器120。在图I中,在虚线内包括最基本的配置130。处理单元110执行计算机可执行指令。在多处理器系统中,多个处理单元执行计算机可执行指令以提高处理能力。存储器120可以是易失性存储器(例如,寄存器,高速缓冲存储器,RAM,DRAM,SRAM)、非易失性存储器(例如,ROM,EEPR0M,闪速存储器)、或者上述两者的某种组合。存储器120可以存储用于实现ー个或多个所公开的HDR图像处理或图像对准技术的软件180。例如,存储器120可以存储用于实现任意ー个所公开的方法的软件180。除了中央处理单元110之外,所述计算环境可以包括其他处理资源,例如,数字信号处理DSP或多媒体部件115。DSP部件115可以是可有利地用于本文所公开的数字图像对准技术的任意资源。例如,所述DSP部件可以包括多媒体DSPASIC单元,GPU着色器(shader)单元,多核CPU,用于CPU的先进多媒体指令集合等。所述计算硬件环境可以具有另外的功能部件。例如,计算硬件环境100包括存储装置140,一个或多个输入装置150,一个或多个输出装置160和ー个或多个通信连接170。诸如总线、控制器或网络的互连机构(未示出)使计算硬件环境100的部件互相连接。典型地,操作系统软件(未示出)提供了在计算硬件环境100中执行的其他软件的操作环境,并且协调计算硬件环境100的各部件的动作。存储装置140是ー种非易失性存储器,并且可以是可拆卸的或者不可拆卸的。例如,存储装置140包括非临时性计算机可读介质,例如磁盘(例如,硬盘驱动器),磁带或磁盒,光学存储介质(例如,CD-ROM或DVD),或任何其他有形的非临时性存储媒介,其可用于存储信息,并且可以在计算硬件环境100内或通过计算硬件环境100访问。存储装置140还可以存储用于实现任意一个所述技术的软件180。输入装置150可以是触摸式输入装置,例如键盘、鼠标、触摸屏、笔、跟踪球、声音输入装置、扫描装置、或将输入提供到计算环境100的另ー个装置(例如,图像感测装置)。输出装置160可以是显示装置、触摸屏、打印机、扬声器、或从计算环境100提供输出的另ー个装置。通信连接170通过通信媒介实现与另ー个计算实体的通信。通信媒介传送信息,例如计算机可执行指令,任意一个实现所公开的技术的实施例所使用的中间或最終消息或数据。作为示例而非限制,通信媒介包括用电、光、RF、红外线、声、或其他载体实现的有线或无线技木。可以在存储在ー个或多个计算机可读存储介质(例如,有形的非临时性计算机可读存储介质,例如存储器120和存储器140)上的计算机可执行指令的常见环境中描述这里公开的各种方法(例如,所公开的HDR图像处理或图像对准技术中的任意ー个)。同样应当容易理解到,术语计算机可读存储介质或非临时性计算机可读介质包括用于存储数据和程序指令(例如存储器120和存储器140)而非单独的调制数据信号的介质。还可以在计算机可执行指令的常见环境中描述本文所公开的各种方法,例如包括在程序模块中、由计算环境中的处理器执行的那些计算机可执行指令。通常,程序模块包括例行程序、程序、程序库、对象、类、部件、数据结构及执行特定任务或实现特定抽象数据类型的其他这样的软件元件。在不同实施例中,可以按照需要在程序模块之间组合或划分所述程序模块的功能。还可以使用分布式计算环境(例如,客户端-服务器网络,云计算环境,广域网或局域网)执行任意ー种所公开的方法。图2和3图示了用于云计算的适当的联网环境200的概括示例,其中,可以实施本文所描述的HDR图像处理和/或图像对准技木。在示例性的云计算网络环境200中,通过网络可访问的计算和存储资源的集合提供用于HDR图像共享、生成、存储或分配(例如,图像共享,生成或社交联网站点)的各种类型的计算业务,其被称为云210。例如,云210可以包含可以位于中心或者分布式位置的服务器计算装置的集合,所述服务器计算装置可以将基于云的业务提供给经由网络(例如因特网)连接的各种类型的用户和装置。在示例性环境200中,云210提供用于用户计算装置的业务220(例如,HDR图像存储,HDR图像生成,HDR图像渲染,图像对准,HDR图像共享,或社交联网业务,及其他示例)。可以通过云计算业务供应者,或通过其他在线业务的供应者在云210中提供业务。例如,基于云的业务220可以包括HDR图像生成业务,HDR图像渲染业务,图像对准业务,图像存储业务,图像共享站点,社交联网站点,或经由其为别人可以在连接装置220A-N上观看而分配源自用户的图像的其他业务。所述用户可以使用各种图像捕获装置来捕获ー个或多个图像(例如,不同曝光的图像或HDR图像),例如数字照相机,移动电话和手持计算装置。所述用户可以将所述ー个或多个数字图像上传到云210上的业务220,或者直接(例如,使用远程通信网络的数据传输业务)或通过首先将所述一个或多个图像传送到本地计算机230,例如膝上型计算机、个人计算机或者其他网络连接的计算装置。如图3中所示,可以稍后下载或访问基于云的图像存储器或者共享站点的ー个或多个数字图像(例如,具有不同曝光的图像或HDR图像)到其他连接的计算装置,所述计算装置可以具有多种屏幕显示尺寸因数(factor)220A-N。连接装置220A表示具有中尺寸显示屏的装置,例如可用于个人计算机、膝上型计算机、平板或其他类似的网络连接装置。连接装置220B表示具有设计成非常便携(例如,小尺寸屏幕)的形状因数的显示屏的装置。例如,连接装置220B可以是移动电话,智能电话,个人数字助理等。连接装置220N表示具有大的观看屏的连接装置。例如,连接装置220N可以是电视屏(例如,智能电视)或将图像输出提供给电视或图像投影仪(例如,机顶盒或游戏控制台)或具有类似图像显示输出的其他装置的另ー个装置。在所图示的云计算网络环境200中,可以根据期望的使用方案在图像共享、存储和分配的各个阶段以及通过所描述的装置的各个装置实现和执行本文所公开的任意ー个HDR处理和/或图像对准技木。在一个示例性的方案中,以本地计算机230上的软件实现任意ー个HDR处理和/或图像对准技木,并且当开始将图像传送到所述本地计算机或者当将图像上传到基于云的业务220时应用上述技术。在另ー个方案中,在云中实现任意ー个HDR处理和/或图像对准技术,并且当图像被上传到并且存储在所述云中时对图像应用所述技木。在另ー个方案中,通过云计算业务实现任意ー个HDR处理和/或图像对准技术,并且当所述图像被访问、传送或分配给另ー个连接装置或业务时应用该技术。在又一其他方案中,在从云210下载或者访问所述图像之后,在所述连接装置上执行任意ー个HDR处理和/或图像对准技木。III.高动杰范围成像-概沭尽管人类视觉系统能够检测到非常宽的动态范围中的细节,尤其在亮度方面,但是人类通常不能同时获得跨越这个动态范围整个宽度的细节。例如,对于人来说困难的是同时在非常明亮的区域和非常黑暗的区域获得细节。然而,通过聚焦到场景中的各种局部区域上,所述人类视觉系统可以非常迅速地适应局部区域中的亮度,以便看到明亮区域(例如天空)以及较黑暗区域(例如,阴影)中的细节。许多现有的数字照相机(包括大多数DSLR(数字单镜反光)照相机)缺乏直接的HDR图像捕获能力,并且仅能够在标准动态范围传送来自単一景色的每个照片。因此,在人可以感知的细节等级和可以在SDR图像中表示的细节等级之间存在巨大的缺ロ。所述问题可行的解决方案是高动态范围(HDR)成像。HDR图像可以捕获场景中丰富的信息,并且当正确渲染时可以提供非常真实的视觉体验。由于所述人类视觉系统的非线性和局部适应性质,可以用正常的打印输出或现有的显示器实现大部分HDR图像体验,使得针对HDR图像的市场可能是非常大的。因此近来,HDR成像技术已经引起了用户更多的注意,包括专业摄影师和业余爱好者。A.示范件的HDR图像格式本文所描述的数字图像可以是彩色的、灰阶的或其他类型的图像,并且可以以各种文件格式表示(例如,GIF、PNG、BMP、TIFF、TIFFFloat32、JP2、HDR、OpenEXR、JPEGXR、辉光RGBE(RadianceRGBE)和/或其他格式)。本部分提供了关于ー些可以与所描述的用于生成HDR图像、渲染HDR和/或对准数字图像的技术和工具一起使用的图像格式的细节。例如,所描述的技术和工具可以处理JPEGXR格式的HDR图像。JPEGXR是用于编码HDR图像、支持多大32位浮点数的灵活且強大的格式。JPEGXR支持HDR图像编码,同时仅需要针对压缩和解压缩两者的整数运算(不需要除法)。JPEGXR与文件容件(container)兼容以通过IFD标签存储图像数据和元数据,其可以包括HD照片元数据,XMP元数据和Exif元数据。相比于现有的HDR格式,例如TIFFFloat,OpenEXR和辉光RGBE,所述JPEGXR格式提供更高的压缩能力,同时保持合理的图像质量。所述JPEGXR文件格式是可扩展的,因此可以将另外的元数据(或者私有的,或者标准的)插入JPEGXR文件,而不需要改变图像位流。辉光RGBE是用于传送HDR图像数据的另ー种格式。在RGBE图像中,由32位表示每个像素ー组位(例如,一个字节)用于红色尾数(R),ー组位(例如,一个字节)用于绿色尾数(G),ー组位(例如,一个字节)用于蓝色尾数(B),以及剩余的位(例如,一个字节)用于公共指数(E),将所述公共指数(E)用于由每个R、G和B通道的尾数(mantissa)表示的值。在RGBE中,有效的像素值(fR,fG,fB)是浮点数,其中,fR=R*2(E_128);fG=G*2(E_128);以及fB=B*2(E_128)。RGBE规则将最大的8位尾数限制到范围[128,255]内,同时其余两个8位尾数是无限制的(所述范围是)。因此,从RGB到RGBE的映射是唯一的。RGBE可以呈现的动态范围是[2_127,2+127],其大约是76个数量级。从RGBE像素重构的RGB值是无符号的-所有的非零值都是正的。然而,因为这三个颜色分量共享相同的指数,所以牺牲了两个较小分量的精度。E=O是ー种特例,其指示相应的像素值是零。辉光RGBE的一种变体(9:9:9:5)分别指定9位给红色、绿色和蓝色尾数通道,并且指定5位给所述指数,从而与以上所述的8:8:8:8格式一祥以32位表示每个像素。RGBE的其他表示也是可能的,不同数量的位被分配给尾数和指数。32位浮点(“32位浮点数”)通常用于表示浮点图像数据。定义32位浮点图像的容件格式包括可移植的浮点映射(“PFM”PortableFloatMap)和标签图像文件格式(“TIFF”)。IEEE75432位单精度浮点数包括用于符号(s)的I位,用于指数(e)的8位和用于尾数(m)的23位。16位浮点(也被认为是“一半”)具有ー个符号位,五个指数位和十个尾数位。因为除了字段长度上的具体差别之外,16位和32位浮点表示在结构上是相同的,所以一般可将它们都认为是“浮点”。通过国际标准指定一些图像格式。例如,JPEG和JPEG2000标准阐述了对解码器的要求,以分别解码以JPEG和JPEG2000格式编码的图像。适应JPEG2000的编码器和解码器(“编解码器”)提供了具有优良压缩效率的高质量图像。由WindowsMediaPhoto(视窗媒体照片)和HDPhotoCHD照片)产生JPEGXR标准,由微软公司开发的作为WindowsMedia(视窗媒体)技术族的一部分而开发的私有图像压缩格式。在国际标准IS0/IEC29199-2:2009中描述了JPEGXR0所公开的技术可以适用于和用来以任意ー种所公开的格式生成HDR图像。IV.高动杰范闱图像牛成和涫染A-概括的HDR成像系统在本文所描述的示例中,SDR图像是每色彩通道8位(bpc)的图像,并且HDR图像是16bpc图像,32bpc或更多。一般来说,“标准动态范围”或SDR指的是具有比HDR图像更窄或更低的动态范围的显示器,图像或格式。(SDR图像还可以被称为较低的动态范围,或LDR图像。)同样,“高动态范围”或HDR指的是具有比SDR图像更宽或更高的动态范围的显示器,图像或格式。例如,所描述的实施例可用于从8bpcSDR图像生成32bpcHDR图像,或者用于渲染32bpcHDR图像以在16bpc或8bpc监视器上显示。通常,可以由能够捕获数字图像的任何装置(例如,数字静止图像照相机,数字视频照相机,扫描仪或带有图像捕获能力的多用途装置,例如照相电话)或能够存储数字图像的任何媒介(例如,易失性存储器或非易失性存储器)来捕获或存储本文所描述的数字图像。图4是图示概括的HDR图像处理系统410的框图400。可以使用以上公开的任意ー个计算环境来实现HDR图像处理系统。图4示出了具有较低动态范围以及变化的曝光的非HDR(例如,SDR或LDR)图像432,434和436的集合430被输入到HDR图像处理系统410中。此外,在图4中,图像432具有比图像434低的曝光,并且图像434具有比436低的曝光。因此,图像432,434,436有时被称为低曝光图像432,中曝光图像434,和高曝光图像436。通常,输入到系统410的图像可以是两个或更多个图像的集合(例如,两个或更多个具有改变的曝光但成像于相同场景的LDR图像的集合),可选地连同其他信息一起,例如关于所述图像的元数据或者用户偏好数据(未示出)。例如,元数据可以包括表示照相机设置的信息。例如,用户偏好数据可以包括用于观看或修改图像的用户控制的參数设置。元数据和用户偏好数据可以包含于图像文件中或者分别提供。图4进ー步示出了可操作用于生成HDR图像的HDR图像生成器440和可操作用于渲染HDR图像以进行显示的HDR图像渲染器450。尽管系统410示出了HDR图像生成器440和HDR图像渲染器450,但是系统410可以执行HDR图像生成而无需渲染,例如当生成HDR图像用于存储或用于进ー步地处理而不对其进行显示时。在图4所示的示例中,HDR图像生成器440合成来自图像集合430(例如,稍微不同时间间隔获得的相同场景的图像,其每ー个都具有不同的曝光设置)的信息。在某些实施例中,HDR图像生成器440使用以下參照图6公开的方法,以生成HDR图像。然后,HDR图像渲染器450可以将生成的HDR图像映射到SDR图像,并且准备将所述SDR图像输出到显示器460。在某些实施例中,HDR图像渲染器450使用以下參照图7公开的方法,以渲染HDR图像。还可能的是,渲染HDR图像而无需重新映射到标准动态范围,例如当显示器能够以其完整的动态范围显示HDR图像而无需重新映射时。在系统410内的模块之间所示的关系表示所述系统中一般的信息流;为了简化起见而没有示出其他关系。典型地,特定实施例使用变化或补充版本的概括的系统410。取决于所期望的实现方式和处理类型,可以增加、省略、分成多个模块、与其他模块组合、和/或以类似模块替换所述系统的模块。在备选的实施例中,带有另外或不同的模块和/或模块的其他配置的系统执行所描述的技术的ー个或多个。例如,系统410可以包括预处理器,其使用低通滤波器或其他滤波器平滑输入的数字图像,以便选择性地移除高频分量。或者,所述预处理器执行其他预处理任务。系统410还可以包括一个或多个编码器,其压缩图像数据,输出压缩的数字图像信息的位流。由编码器执行的确切操作可以根据压缩格式而不同。例如,编码器可以依照HDR图像格式压缩HDR图像信息,所述HDR图像格式例如JPEGXR,或者编码器可以依照一个格式(例如JPEG)压缩SDR图像信息。系统410还可以包括一个或多个解码器,其解压缩被压缩的图像数据,输出解压缩的数字图像信息的位流。由解码器执行的精确操作可以根据压缩格式而变化。例如,适应JPEGXR的解码器可以解压缩JPEGXR文件中的HDR图像信息,或者适应JPEG的解码器可以解压缩JPEG文件中的SDR图像信息。B.概括的HDR牛成和涫染图5是包括HDR图像生成510和HDR图像渲染520的示范性的概括的数字HDR成像方法的流程图500。例如,可以通过图4中所示的HDR图像处理系统410或者其他系统执行所述方法。在HDR图像生成510中,生成HDR图像。例如,可以通过合成来自多个SDR图像的信息(例如,稍微不同时间间隔获得的相同场景的图像,每ー个都具有不同的曝光设置)来生成HDR图像。在某些实施例中,使用以下參照图6所公开的方法执行HDR图像生成510。还可能直接生成HDR图像而无需组合多个图像,例如通过使用图像捕获装置捕获图像,所述图像捕获装置能够捕获具有HDR位深度的原始图像。HDR图像生成510可以包括预处理(例如,手动或者自动的操作)以移除不期望的图像伪痕(例如,当压缩将用于形成HDR图像的源图像时引入的伪痕)。在HDR图像渲染520中,将HDR图像信息转换成另ー种格式。例如,可以将HDR图像渲染为SDR图像(例如,JPEG图像),并且显示在SDR显示器上。在某些实施例中,使用以下參照图7所公开的方法执行HDR图像渲染520。图像渲染可以包括色调映射过程(例如,自动的或者半自动的色调映射过程)。可以公布或者存档渲染后的图像。然而,典型地,当将HDR图像转换成SDR图像时,会丢失图像数据。因此,有益的是存档原始版本的HDR图像(例如,在以后的阶段中对所述原始图像执行进ー步的修改)。还可能的是渲染HDR图像而无需重新映射到标准的动态范围,例如当显示器能够渲染HDR图像的整个动态范围而无需重新映射时。尽管示范性的流程图500示出HDR图像生成510后面是HDR图像渲染520,但是HDR图像处理系统可以生成HDR图像而无需渲染它们,例如当生成HDR图像用于存储或者用于进ー步处理而不对其进行显示吋。HDR图像处理系统还可以渲染HDR图像渲染而无需生成它们,例如当所述HDR图像处理系统从ー些其他源获得HDR图像信息(例如,经由通信媒介)而无需首先生成所述HDR图像吋。C.高动杰范围图像牛成的示范件方法图6是图示执行HDR图像生成的示范性方法600的流程图。诸如图4所示的HDR图像处理系统410的系统或者其他系统执行方法600。然而,所图示的方法不应被看作是限定,因为可以単独地或者以彼此或与其他HDR图像生成过程一起的不同组合和子组合来执行所图示的动作的ー个或多个。在610,输入LDR图像信息。在所图示的实施例中,LDR图像的集合包含低曝光图像612,中曝光图像614,高曝光图像616,它们都是带有ー个或多个不同曝光设置的ー个场景的图像,当处理和集成这些图像时,可以产生较高动态范围的图像690。例如,LDR图像612,614,616是利用不同曝光设置在不同时间间隔(timeinstance)获得的场景的图像。在620,执行图像对准。例如,当SDR图像612,614,616表示不同时间间隔的场景的视觉状态时,在620,分析存在于图像序列中的运动,并且对准所述图像,以便允许合并图像以形成HDR图像。当以不同时间间隔获得对象或场景的图像时,在所述对象或场景的不同照片之间很可能存在图像运动(典型地,转动,平移,或者缩放)。执行在620执行的图像对准,以便量化所述运动,以致于当执行进一歩的处理时可以考虑这种运动。以下參照图8-15详细地讨论用于执行图像对准的示范性方法。作为以下參照图8-15更加全面解释的,在所公开的技术的某些实施例中,将中曝光图像用作基准图像。在这样的实施例中,低曝光图像与所述基准中曝光图像对准(在622示出),并且高曝光图像独立地与所述基准中曝光图像对准(在624示出)。典型地,所述基准图像是具有中曝光范围(在输入图像的集合中不是最亮的或最暗的曝光设置或范围)的图像,但是也可以将其他曝光等级的图像用作基准图像。在一个实现方式中,基于输入图像集合中的哪个图像在某一范围内(被称为“中间”或者“正常”范围)具有最多的像素样本值来选择所述基准图像。正常曝光范围的限度和确定正常范围的方式可以改变。例如,可以为所有图像预先确定正常曝光范围,或者为每个图像或输入图像集合(例如,基于图像信息和/或用户偏好)适应性地确定正常曝光范围。可以自动地(例如,基于图像信息和/或用户偏好信息)执行基准图像的选择,或者可以将一幅图像指定(例如,经由用户)为基准图像。在特定实施例中,将全局运动分析作为图像对准处理的一部分来执行。例如,对低曝光图像和中曝光图像执行一次以下參照图8-15所讨论的全局运动分析方法,获得将低曝光图像对准到中曝光图像的全局运动转换,并且对高曝光图像和中曝光图像执行一次以下參照图8-15所讨论的全局运动分析方法,获得将高曝光图像对准到中曝光图像的全局运动转换。通常,全局运动分析(globalmotionanalysis)指的是旨在对运动(例如遥摄、闪烁、转动、缩放或其他影响整个图像的其他运动)进行建模的分析。全局运动分析可以包括在像素位置中或像素位置的组(例如,块)中寻找匹配的像素样本值,其符合特定类型的全局运动。例如,在非基准图像中寻找遥摄运动可以包括在基准图像中的主要水平的方向上捜索匹配的像素样本值(或者像素样本值的组,例如块)。局部运动分析指的是g在对所述图像的个别部分中的运动(例如对象或者受试人的运动)进行建模的分析。在检测从特定像素位置(或者像素位置的组,例如块)到另ー个的运动后,所述图像对准处理包括量化所述运动。在特定实现方式中,相对于基准图像,为图像中的像素样本或像素组(例如,块)计算运动矢量。例如,相对于基准图像,运动矢量可以指示水平维度中的位移以及垂直维度中的位移。零的运动矢量可用于指示没有为特定像素或像素组(例如,块)检测到运动。在示例性实现方式中,在运动分析中不考虑异常低的像素样本值或者异常高的像素样本值,因为它们常常是不可靠的;例如,所述像素样本值的高或低值可能是由于图像噪声,或者所述值可能由于所述图像捕获装置中的图像传感器的动态范围限制而不是精确的測量值。在运动分析所使用的可接受的像素样本值的范围和确定该范围的方式可以改变。例如,可以为所有图像预先确定运动分析所使用的可接受的像素样本值的范围,或者为每个图像或输入图像集合适应性地确定该范围(例如,基于图像信息和/或用户偏好)。在630,将图像转换到线性空间。典型地,图像612,614,616处于非线性空间(例如,RGB),并且没有可靠的方式来合并它们。在一些实施例中,使用每个图像的ICC简档(ICCprofile)将所述图像转换到线性空间(例如,转换到线性发光空间)。例如,可以将伽马线性转换器用于将不在线性域的输入图像信号转换到线性域。典型地,静止图像文件(例如,JPEG文件)中的数据包括伽马编码的值。因此,在一个实现方式中,依照每个图像中传送的色彩简档(例如,ICC简档)将RGB样本转换到线性域。在640,規格化所述图像。例如,在某些实施例中,基于所述图像的相对曝光等级規格化(或者缩放)所述图像。通常,規格化包括増加低曝光图像的像素样本值以及減少高曝光图像的像素样本值,以免高曝光图像主导包含在HDR图像生成中的最終计算。在某些实施例中,非基准图像的像素样本值(例如,低曝光图像612和高曝光图像616的像素样本值)乘以或除以对应于各个图像的相对曝光等级的缩放因数。在这样的实施例中,缩放因数将像素样本值转换到用基准图像(例如,中曝光图像614)規格化的等级。在一些实施例中,将缩放操作用于从方法动作630输出的线性数据,同一缩放因数被应用于图像的R,G和B像素样本值。备选地,在图像对准前执行缩放,并且在缩放后的图片上执行与图像对准相关联的运动分析。在某些实现方式中,计算两个规格化比率(或者缩放因数),第一个规格化比率用于将低曝光图像612規格化到中曝光图像614,并且第二个规格化比率用于将高曝光图像616規格化到中曝光图像614。在ー个特定实现方式中,通过用平均中曝光图像像素样本值(例如,所述中曝光图像的所有R,G和B值的平均值)除以平均低曝光图像像素样本值(例如,所述低曝光图像的所有R,G和B值的平均值)来计算第一个比率(ratioLow)。因此,ratioLow=平均值(中曝光)/平均值(低曝光)。同样,通过用平均中曝光图像像素样本值(例如,所述中曝光图像的所有R,G和B值的平均值)除以平均高曝光图像像素样本值(例如,所述高曝光图像的所有R,G和B值的平均值)来计算第二个比率(ratioHigh)。因此,ratioHigh=平均值(中曝光)/平均值(高曝光)。为了完成图像规格化过程,所述线性空间低曝光图像的RGB像素样本值乘以所述ratioLow值,并且所述线性空间高曝光图像的RGB像素样本值乘以所述ratioHigh值(其典型地小于1,并且因此在计算上可以作为除法执行)。尽管示范性的实施例在一起对R,G和B值进行平均,但是备选的实施例可以计算R,G和B值的每ー个的不同的平均值,从而产生多个缩放因数。在650,合并所述图像。尤其是当输入图像612,614,616时,对于图像中的每个像素位置具有多个样本值。因此,在650,根据在图像612,614,616相应位置的多个像素样本值中为HDR图像中的像素位置计算单像素样本值(例如,单个R像素样本值,单个G像素样本值和单个G像素样本值)。在650的合并过程期间使用的像素样本值可以是对准之后(例如,在应用620处计算的所述全局运动转换之后)并且在将所述像素值转换到线性空间并且規格化(例如,在630和640)之后的图像612,614,616的像素样本值。在一个实现方式中,为每个像素位置计算所述像素样本值的加权平均值(例如,カロ权算术平均)。应用到加权平均值中的像素样本值的加权因数(例如,在所考虑的像素位置应用到低曝光图像的像素样本值的加权因数,在所考虑的像素位置应用到中曝光图像的像素样本值的加权因数,和在所考虑的像素位置应用到高曝光图像的像素样本值的加权因数)是基于线性转换和规格化之前的原始像素值是否可靠。通常,加权因数与所述像素值可靠的可信度(confidencelevel)成正比越高的可信度,越高的加权因数。例如,典型地,在高曝光图像中具有比较高的值(例如,超过240)的像素样本值是不可靠的,就像在低曝光图像中具有比较低的值(例如,低于15)的像素样本值。这样的值对应于黑暗或者饱和的图像区域。可以使用各种技术确定应用到特定像素样本值的加权,但是在某些实施例中可以使用帽(hat)函数计算上述加权。表I中示出了适当的hat函数的示例。表I中示例性的帽函数产生取决于输入像素值(i)的加权因数レし7"び)。表I中所示的帽函数产生加权因数,所述加权因数有助于确保将具有非常低和非常高的值的像素认为是不可靠的,并且因此更少地贡献于最終的图像像素样本值。应当理解的是,不应当将示范性的帽函数的变量和性能看作是限定,而是可以在实现方式之间进行改变。权利要求1.ー种生成高动态范围数字图像的方法,所述方法包括使用计算装置,在基准图像和一个或更多个非基准图像的集合之间执行运动分析(620,820),所述运动分析包括计算所述基准图像中的像素样本值的集合和来自所述集合的所述非基准图像之一中的像素样本值的集合之间的ー个或多个协方差值;以及至少部分地基于所述运动分析,将来自所述集合的所述非基准图像的至少之一与所述基准图像进行合并(650),以形成较高动态范围的数字图像。2.如权利要求I所述的方法,其中,所述ー个或多个非基准图像的集合包括具有比所述基准图像低的曝光等级的非基准图像以及具有比所述基准图像高的曝光等级的非基准图像。3.如权利要求I所述的方法,其中,所述执行运动分析包括为所述集合的非基准图像之一中的相应块,估算相对于所述基准图像的两个或更多个局部运动矢量;以及至少部分地基于所述两个或更多个局部运动矢量,估算全局运动转换。4.如权利要求3所述的方法,其中,所述估算所述两个或更多个局部运动矢量包括一次或多次地下采样所述非基准图像之一和所述基准图像,以形成所述非基准图像之一和所述基准图像在多个分辨率的多个版本,其中,非基准图像之一的最低分辨率版本具有以金字塔形结构关联到所述非基准图像之一的每个较高分辨率版本的相应位置上的连续的较大量块的多个块,并且其中,基准图像的最低分辨率版本具有以金字塔形结构关联到基准图像的每个较高分辨率版本的相应位置上的连续的较大量块的多个块。5.如权利要求4所述的方法,其中,所述估算所述两个或多个局部运动矢量还包括对于所述非基准图像之一的最低分辨率版本,通过对基准图像的相关联的最低分辨率版本中的运动矢量执行完整捜索来估算所述非基准图像之一的块的运动矢量;以及对于所述非基准图像之一的每个连续的较高分辨率版本,依照所述金字塔形结构使用从在前的所述非基准图像之一的最低分辨率版本的关联块估算的运动矢量开始的精确搜索,来估算所述非基准图像之一的连续的较高分辨率版本的块的运动矢量。6.如权利要求I所述的方法,其中,所述合并包括加权来自所述非基准图像之一的像素样本值,以便所述像素样本值对较高动态范围数字图像中相应的最終像素样本值的影响小于所述基准图像中的相应像素样本值。7.如权利要求6所述的方法,其中,所述加权包括相对于所述像素样本值的范围中间的像素样本值,将较低的加权分配给处于所述像素样本值范围的上限或下限附近的像素样本值。8.一个或多个存储计算机可执行指令的非临时性计算机可读介质,当由计算机执行所述计算机可执行指令吋,使得计算机执行ー种方法,所述方法包括接收(810)基准图像,所述基准图像包括处于第一曝光等级和第一时间的数字图像;接收(810)非基准图像,所述基准图像包括处于第二曝光等级和第二时间的数字图像,所述第二曝光等级不同于所述第一曝光等级,并且所述第二时间不同于所述第一时间;为所述非基准图像估算(820)相对于所述基准图像的两个或更多个局部运动矢量,所述两个或更多个局部运动矢量的估算包括一次或多次地下采样所述非基准图像和所述基准图像,以形成所述非基准图像之一和所述基准图像在多个分辨率的多个版本,其中,非基准图像的最低分辨率版本具有以金字塔形结构关联到所述非基准图像的每个较高分辨率版本的相应位置上的连续的较大量块的多个块,并且其中,基准图像的最低分辨率版本具有以金字塔形结构关联到基准图像的每个较高分辨率版本的相应位置上连续的较大量块的多个块;对于非基准图像的所述最低分辨率版本,通过对基准图像的相关联的最低分辨率版本中的运动矢量执行完整捜索来估算(1000)所述非基准图像的块的运动矢量;以及对于所述非基准图像的每个连续的较高分辨率版本,依照所述金字塔形结构使用从所述非基准图像的在前的较低分辨率版本的关联块估算的运动矢量开始的精确搜索,来估算(1100,1200,1300)所述非基准图像的连续的较高分辨率版本的块的运动矢量。9.如权利要求8所述的ー个或多个计算机可读介质,其中,所述方法还包括至少部分地基于所述两个或更多个局部运动矢量估算全局运动转换,其中,所述估算全局运动转换包括选择在估算所述全局运动转换中使用的所述两个或更多个运动矢量的子集,所述选择所述运动矢量的子集包括以下ー个或多个Ca)排除图像边界上的运动矢量;(b)排除具有未能超过协方差阈值的相关联的协方差值的块的运动矢量;或者(C)排除具有未能超过内容变化阈值的图像内容变化值的块的运动矢量。10.一种用于生成HDR图像的数字图像处理装置,所述数字图像处理装置包括存储图像对准程序的存储器;至少ー个数字信号处理部件;可操作地执行所述图像对准程序的处理单元,其中,执行所述图像对准程序使得所述处理单元输入(810)基准图像,所述基准图像包括处于第一曝光等级和第一时间的数字图像;输入(810)非基准图像(810),所述基准图像包括处于第二曝光等级和第二时间的数字图像,所述第二曝光等级不同于所述第一曝光等级,并且所述第二时间不同于所述第一时间;以及计算(820)所述非基准图像中的像素样本值的块的局部运动矢量,其指示所述块到所述基准图像中的像素样本值的相应块的相对运动,至少部分地使用估量所述非基准图像的块中的像素样本值与所述基准图像的块中的像素样本值总的改变程度的度量标准来确定所述局部运动矢量。全文摘要本文描述了用于高动态范围(“HDR”)图像生成和渲染的技术和工具。在几个描述的实施例中,对准具有不同曝光等级的图像。在特定实施例中,基准图像到非基准图像的对准至少部分地基于使用协方差计算而确定的运动矢量。此外,在某些实施例中,在图像对准过程期间忽略或者实质上地忽略饱和区域、曝光不足区域和/或活动对象。此外,在某些实施例中,将基于分层的金字塔块的方案用于在基准图像和非基准图像之间执行局部运动估算。文档编号G06T7/00GK102693538SQ20121004536公开日2012年9月26日申请日期2012年2月27日优先权日2011年2月25日发明者R.詹亚拉,吴勇军,孙式军申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1