图像处理的制作方法

文档序号:15274321发布日期:2018-08-28 22:48阅读:223来源:国知局

本发明涉及用于处理图像的方法和计算设备。



背景技术:

高动态范围(hdr)的、高精度的图像和视频内容现在可广泛使用。例如,可以使用提供12或14位hdr图像的数码相机。虽然一些设备(例如,hdr电视机)具有兼容hdr的显示器,但是其他设备(例如,智能手机)通常具有低动态范围(ldr)8位显示器,有时也称为sdr或标准动态范围。因此,hdr内容的额外精度对于没有兼容hdr的显示器的用户来说目前是不可见的,即使他们试图查看hdr内容。

例如,可以以不提供hdr内容的jpeg(联合图像专家组,iso/iec10918)格式在这类设备上显示图像。然而,jpeg委员会正在开发称为jpegxt(iso/iec18477)的新编码标准。jpegxt旨在提供hdr图像编码和向后兼容标准jpeg压缩。

标准jpeg通常使用8位精度。预计jpegxt图像将使用例如9到16位的更高位精度。目前,jpegxt格式没有被广泛使用,因为在当前的ldr8位显示器上不能容易地看到jpeg和jpegxt图像之间的差异。

期望增强用于在ldr显示器以及hdr显示器上显示的图像的图像质量。



技术实现要素:

本公开的实施例提供了一种方法,包括:接收表示图像的图像数据,图像数据包括:表示图像的第一版本的第一图像数据;以及表示图像的第二版本的第二图像数据;基于第一图像数据和第二图像数据来生成增益相关数据;至少基于增益相关数据和增益相关控制参数来生成有效增益相关数据;以及将有效增益相关数据应用于图像数据以生成表示图像的输出版本的输出图像数据。

本公开的实施例还提供了一种计算设备,包括:存储装置,存储装置用于存储表示图像的图像数据,图像数据包括:表示图像的第一版本的第一图像数据;以及表示图像的第二版本的第二图像数据;至少一个处理器,至少一个处理器通信地耦合到存储装置;增益相关数据生成模块,增益相关数据生成模块可操作以:基于第一图像数据和第二图像数据来生成增益相关数据;至少基于增益相关数据和增益相关控制参数来生成有效增益相关数据;以及输出图像数据生成模块,输出图像数据生成模块可操作以:将有效增益相关数据应用于图像数据以生成表示图像的输出版本的输出图像数据。

附图说明

结合附图,本公开的各个特征从以下具体实施方式中将是明显的,这些附图通过仅示例的方式一起示出了本公开的特征,并且其中:

图1是示出根据示例的用于与处理图像的方法一起使用的示例系统的说明性概述的示意图;

图2是示出图1的一个或多个数据库、服务器设备、计算设备、以及显示设备之间的通信的示例的序列图;

图3是示出根据示例的方法的示意图;

图4是示出应用于第一图像数据以获得第二图像数据的图像处理的示例的示意图;以及

图5是示出图1的计算设备的内部组件的示例的示意图。

具体实施方式

参考附图,根据示例的方法的细节从以下描述中将变得明显。在该描述中,为了解释的目的,阐述了一些示例的许多具体细节。在本说明书中,对“示例”或类似语言的引用意味着结合该示例所描述的特定特征、结构、或特性被包括在至少该一个示例中,但不一定被包括在其他示例中。还应注意的是,为了便于解释和理解示例的概念,概要地描述了一些示例,而省略和/或必要地简化了一些特征。

本文描述的示例提供了包括接收表示图像的图像数据的方法。图像可以是全部或整个图像,或较大图像的部分、一些、或子集。例如,图像是:来自计算设备的web浏览器(例如,智能电话的web浏览器)所访问的网页的图像;计算设备的图像获取设备(例如,相机)所获取的图像;或下载到或存储在计算设备的存储装置中的图像。图像可包括任意图形或视觉内容,例如,文本、图形、图片、和/或照片。图像可以是静止图像或运动图像。例如,图像数据可以是视频图像数据。

图像数据包括表示图像的第一版本的第一图像数据和表示图像的第二版本的第二图像数据。图像的第一版本可能已经被处理,例如全局地或局部地改变动态范围,以获得图像的第二版本。

基于第一图像数据和第二图像数据来生成增益相关数据。增益相关数据例如表示基于图像的第二版本的像素强度值与图像的第一版本的相应像素强度值之间的比率的增益图(gainmap)。

至少基于增益相关数据和增益相关控制参数来生成有效增益相关数据,并将有效增益相关数据应用于图像数据以生成表示图像的输出版本的输出图像数据。增益相关控制参数例如允许图像的输出版本的特性基于增益相关数据被控制。这因此可以提供用户交互性,因为用户可以通过控制增益相关控制参数来控制图像的输出版本的外观。因此,为用户提供了灵活性。具体地,用户可以例如基于他们自己的偏好、用于显示图像的显示设备、或观看条件(例如,环境光条件)来控制如何显示图像。因此,例如通过适当地改变或选择增益相关控制参数,用户可以增强用于在hdr显示器上显示的图像质量,同时仍然能够在sdr显示器上观看图像的适当版本。

为了将该方法置于上下文中,在其中方法可以使用的示例系统将参考图1被描述。然而,根据本文所描述的示例,如技术人员将理解的,其他系统或装置可以与该方法一起使用,或可以使用其他系统或装置来实现该方法。图2示出了示出图1的一个或多个数据库、服务器设备、计算设备、以及显示设备之间的通信的示例的序列图。随后,特别是参考图3和4,给出了根据示例的方法的进一步的细节。

图1示出了通过网络102通信地耦合到服务器设备104的计算设备100。图像106被存储在服务器设备104上。计算设备100通信地耦合到显示设备108。网络102可包括一系列网络,例如,互联网。

计算设备100可以是或可以包括:蜂窝电话(即移动电话,例如,智能电话)、平板电脑、膝上型计算机或个人计算机、个人数字助理、以及各种其他电子设备(例如,游戏机)等等。下面参考图5详细描述了示例计算设备100的组件。计算设备100可具有集成的或外部耦合的有线和/或无线局域网(lan)能力,例如,其可经由附加的通用串行总线(usb)或专用设备来耦合。例如,计算设备100可以耦合到有线和/或无线路由器,该有线和/或无线路由器进而连接到接有本地交换机的数字用户线(dsl)、线缆或光纤连接。本地交换机可以使用诸如公共交换电话网(pstn)或有线提供商的网络系统之类的一个或多个中间网络来耦合到所谓的互联网。替代地,诸如使用通用移动通信系统(umts)或任何长期演进(lte)标准的那些之类的无线电信系统可以为固定或移动计算设备提供通信介质。这些较后的网络系统进而可以连接到包括服务器、路由器、以及使用诸如传输控制协议(tcp)和互联网协议(ip)之类的协议进行通信的其他网络设备的一系列一个或多个网络。若计算设备100是诸如智能电话之类的移动设备,则计算设备100可具有集成电信模块,其用于与耦合到一个或多个tcp/ip网络的核心网络进行无线通信;同样地,若计算设备100是膝上型计算机或平板计算机,则它可具有外部耦合电信调制解调器(所谓的“加密狗”,通常经由usb来耦合),其用于与核心网络和较宽互联网的无线通信。服务器设备104可同样地具有适当的网络通信组件。服务器设备104可以包括被布置为通过网络102来接收请求的超文本传输协议(http)服务器。在一些情况下,计算设备100和服务器设备104中的一项或多项可包括在底层物理计算硬件上实现的虚拟设备。示例中的计算设备100可被认为是被配置为访问服务器设备104的客户端设备。

在可能使用根据示例的方法的说明性示例中,用户使用计算设备100的web浏览器来访问web页面。web页面被托管在服务器设备104上,并且包括具有图像106的各种内容。浏览器经由网络102从服务器设备104获取表示图像106的图像数据。例如,服务器设备104可被布置为接收和处理http或其他网络请求。图像数据可以是已经通过标准jpeg或jpegxt解码处理被解码的解码图像数据。除了表示图像之外,图像数据还可以包括附加数据,例如元数据,例如,涉及或编码与图像相关联的日期和时间、图像的描述、或与图像相关的版权信息。例如,在图像数据是jpeg形式的情况下,元数据可以以可交换图像文件格式(exif)被存储。exif数据可以被嵌入在图像文件本身内,例如在jpeg文件内。通常,exif数据存储在jpeg的标头中。例如,exif数据可以存储在jpeg的实用应用程序段之一中,通常是app1(段标记0xffe1),尽管也可以使用其它段。图像数据包括表示图像的第一版本和第二版本的第一图像数据和第二图像数据。

在图1的示例中,计算设备100包括增益相关数据生成模块和输出图像数据生成模块,它们一起可以实现根据示例的方法。该示例中的计算设备100还包括可以对编码图像数据进行解码的解码器模块。这些模块将参考图3至图5进行详细描述。使用这些模块,通过将有效增益相关数据应用于图像数据(该图像数据可以在增益相关数据被应用之前被解码)可以生成表示图像的输出版本的输出图像数据。如上所述,有效增益相关数据至少基于根据第一图像数据和第二图像数据的增益相关数据。

图像的输出版本可以由耦合到计算设备100的显示设备108来显示。显示设备108可以在内部耦合到计算设备,其中显示设备108形成计算设备100本身的一部分。例如,显示设备108可以是计算设备100(例如,智能电话;平板电脑、笔记本电脑或台式电脑;或个人数字助理)的显示屏。或者,显示设备108可以是耦合到计算设备100的外部设备,例如,通过高清多媒体接口(hdmi)电缆耦合到笔记本电脑、台式电脑或游戏控制台的电视屏幕或计算机监视器。

图2是示出图1的存储图像106的服务器设备的存储装置、服务器设备104、计算设备100和显示设备108之间的一组示例通信的序列图。

在操作110中,计算设备100的浏览器通过计算设备100的网络接口112请求包括来自服务器设备104的图像的网页。该请求由服务器设备104的网络接口114接收。在图2的示例通信的操作116中,服务器设备104的存储接口118从服务器设备104的存储装置或耦合到服务器设备104的存储装置访问表示网页的图像的图像数据,在该示例中,该图像数据是编码图像数据。在操作120中,包括编码图像数据的网页从存储装置被发送到服务器设备104的存储接口118。在框122中,服务器设备104然后将编码图像数据从服务器设备104的网络接口114发送到计算设备100的网络接口112。参考图3至图5进一步描述的计算设备的模块处理编码图像数据以生成表示图像的输出版本的输出图像数据。在框124中,由计算设备100的显示设备接口126将输出图像数据传送给显示设备108,以向用户显示图像的输出版本以及网页的其他内容。

图3示意性示出了用于执行根据示例的方法的系统的示例。在图3中,表示图像的图像数据由解码器130接收。在该示例中,图像数据是编码图像数据。编码图像数据可以是用于表示图像的任意适当的编码或压缩格式。常见格式包括通常为8位格式的jpeg(联合图像专家组,iso/iec10918)格式,或通常为8位以上格式的jpegxt(iso/iec18477)格式。

在该示例中,编码图像数据是jpegxt格式。编码图像数据包括基本图像层数据132,其可以是传统实现方式可访问的ldr或sdr数据,使得可以使用标准jpeg解码器来解码jpegxt文件。在该示例中,基本图像层数据132表示图像的第二版本,其是sdr版本。编码图像数据还包括扩展图像层数据134,其包括用于重建hdr图像(例如,具有与由基本图像层数据132表示的图像相比更高动态范围的图像)的残差图像数据和变换信息。可以使用解码器130来解码基本图像层数据132和扩展图像层数据134。扩展图像层数据134然后可以与基本图像层数据132一起根据jpegxt标准被处理以生成图像的第一版本,在该示例中是图像的hdr版本。生成图像的第一版本还可以由解码器130或由计算系统的另外的一个或多个组件来执行。

在该示例中,以这种方式,解码器130被布置为对编码图像数据进行解码以生成解码图像数据,该解码图像数据包括与图像的第一版本(其是hdr版本)相对应的第一解码图像数据136和与图像的第二版本(其是sdr版本)相对应的第二解码图像数据138。通过接收作为编码图像数据的图像数据,可以减少用于例如在托管包括图像的网页的服务器上存储编码图像数据的存储要求。此外,编码图像数据可以更快地从服务器传送到图3的系统。

在图3的示例中,第一解码图像数据136和第二解码图像数据138然后由系统的其他组件进行处理。然而,在其他示例中,方法可以包括接收表示图像的第一版本的第一图像数据和表示图像的第二版本的第二图像数据,该图像先前已经被解码或者未被编码。在这种情况下,解码器可能不存在。为了简洁起见并且澄清图3的系统的其余部分可以用于已经被解码或尚未被解码的第一图像数据和第二图像数据,图3的第一解码图像数据136和第二解码图像数据138在下面将被称为第一图像数据136和第二图像数据138。

如上所述,在图3中,第一版本是图像的高动态范围(hdr)版本,第二版本是图像的标准动态范围(sdr)版本。换句话说,第一版本可以比第二版本具有更高的动态范围。第一图像数据136可以具有大于8位的精度,或每个颜色通道大于8位的精度。例如,第一图像数据136可以是浮点数据,例如以具有与8位或第二图像数据138相比更高的可用位精度的浮点表示来存储。在其它示例中,第一图像数据136可以具有固定或恒定的位精度,例如,9至16中的任一固定值。第二图像数据138可以具有8位精度,或每个颜色通道8位的精度。

第一图像数据136和第二图像数据138可以包括针对图像的相应版本的图像的每个像素的强度值,其可以以灰度水平或亮度水平被存储,例如针对诸如jpeg数据之类的8位数据,每个颜色频带或颜色通道从0到255的灰度水平或亮度水平。灰度水平为0例如对应于最暗的强度(例如,黑色),并且灰度水平为255例如对应于最亮的强度(例如,白色),其中灰度水平在0和255之间对应于黑色和白色之间的中间强度。第一图像数据136和第二图像数据138还可以包括颜色数据,该颜色数据与由相应图像数据表示的图像的颜色有关。例如,当图像是彩色图像时,可以针对图像的每个不同版本的每个颜色通道分别存储强度或亮度或每个像素的像素值。如果像素由例如rgb(红色、绿色、蓝色)颜色空间或yuv(其中y表示颜色的亮度,u表示颜色的蓝色分量与亮度之间的差异,并且v表示颜色的红色分量与亮度之间的差异)颜色空间中的三原色表示,则每个像素的视觉外观可以由三个强度值表示,每个原色一个强度值。如本领域技术人员将理解的,第一图像数据136和第二图像数据138可以使用任意适当的表示来表示图像,该表示可以不同于上述示例,并且上述示例仅仅是说明性的。

在图3的示例中,第一图像数据136和第二图像数据138被输入到决定模块140。决定模块140还接收表示图像的一个或多个特征的图像特征数据142。图像特征数据142可以对应于至少一个标志,其中每个标志的值指示图像的各种属性或特性。作为示例,每个标志可以被认为对应于图像质量标志,尽管其他标志也是可能的。

一个或多个特征可以包括指示已经被应用于第一图像数据以获得第二图像数据的图像处理的特性的特征。例如,在进行编码和解码之前,表示图像的第一版本的第一图像数据可能已经被处理以获得或生成第二图像数据,该第二图像数据随后可能已经被编码并且然后被解码。如将在下面关于图4进一步描述的,图像处理可以是已经被应用于第一图像数据以获得第二图像数据的空间变化色调映射操作。在这样的示例中,图像特征数据142可以表示指示图像处理(例如,空间变化色调映射操作)具有预定质量的特征。例如,被应用于第一图像数据的图像处理可以具有相对较低的质量。在这种情况下,第二图像数据可能不可靠或遭受误差或噪声。如果是这种情况,则可能不希望如图3所示继续处理第一图像数据和第二图像数据。然而,如果图像处理具有相对较高的质量,则图3的其余步骤可以被执行。以这种方式,可以根据图像特征数据142执行如下所述的生成增益相关数据、生成有效增益相关数据、以及应用有效增益相关数据。

在其他示例中,由图像特征数据142表示的一个或多个特征可以包括指示图像的第二版本包括高于预定噪声阈值的噪声水平的特征。例如,如果表示图像的第二版本的第二图像数据遭受噪声(例如,由于编码过程(如果第二图像数据已经被编码并且随后被解码)的压缩噪声、或来自图像的初始捕获的传感器噪声),则决定模块140可以返回不继续进行方法的剩余步骤的决定。相反,如果第二图像数据是相对高质量的,并且例如具有足够高的质量使得即使是sdr图像也将适合于显示,则决定模块140可以返回执行方法的其余步骤的决定。

图像特征数据142可以是图像数据的元数据。例如,图像特征数据142可以被存储在图像数据的标头部分中,例如,jpeg或jpegxt格式数据的exif部分。以这种方式,图像特征数据142可以在例如从服务器传送图像数据期间伴随图像数据。因此,图像特征数据142可以例如由创建图像的内容创建者进行硬编码或预定。例如,可以存在标志,该标志指示内容创建者已经将感知量化(perceptualquantizer,pq)应用于图像数据。由于pq通常提供看起来相对虚拟和平坦的图像(如观察者所感知的),如果该标志指示pq已经被应用,则决定模块140可以返回不执行方法的剩余步骤的决定。

在其他示例中,图像特征数据142可以从图像数据本身导出。例如,可以分析图像数据以适当地设置由图像特征数据142表示的标志的值。例如,可以执行第一图像数据和第二图像数据的比较以评估应用于第一图像数据以获得第二图像数据的处理的性质(如果有的话)。例如,可以获得并且比较第一图像数据和第二图像数据的各种特性(例如,亮度或光亮度)的直方图。如果基于该比较确定第一图像数据和第二图像数据相对相似(例如,具有高于相似性阈值的相似度),则决定模块140可以返回不继续进行方法的决定,因为即使通过改变增益相关控制参数,也不能显著地改变所显示的图像。相反,如果相似度低于相似性阈值(例如,第一图像数据和第二图像数据的这些直方图之间的绝对差的预定值),则决定模块140可以返回继续进行方法的决定。该决定还可以或额外基于第一图像数据和第二图像数据的其他特征。例如,可以执行对第二图像数据的特征或特性的分析以确定第二图像数据的图像质量,例如,第二图像数据是否遭受噪声或误差。在这种情况下,决定模块140可以返回不继续进行方法的决定。

如果决定模块140返回继续处理图像数据的决定,则由伽玛校正模块144处理第一图像数据136(在本示例中为hdr图像数据)。在图3的示例中,由伽玛校正模块144应用的校正的程度是预设的或预定的。然而,在其他示例中,伽玛校正模块144可以接收诸如元数据之类的数据以及第一图像数据136,这掌控着由伽玛校正模块144应用的伽玛校正的程度。

伽玛校正模块144可以被用来将伽玛校正操作应用于图像以获得图像的伽玛校正第一版本146。伽玛校正通常是可使用以下幂律表达式定义的非线性操作:

其中vout是输出值,a是常数,vin是输入值,并且γ是伽玛值。输入值和输出值例如是图像的像素的亮度值或三色值。伽玛校正可以被用于例如以下列方式来表示图像:将足够数量的位分配给可由人眼区分的图像特征,而不分配太多的位来表示人眼无法察觉的图像特征。例如,伽玛校正可以被用来在图像的亮度范围内以均匀误差提供图像的表示。这可以被用来减少图像中压缩伪影的出现。

在图3的示例中,在解码之后并且在决定模块140之后,伽玛校正被应用于图像的第一版本。然而,在其他示例中,伽玛校正过程可以在用于实现根据示例的方法的系统接收到图像的第一版本之前被应用于图像的第一版本。例如,图像的第一版本本身可以是图像的伽玛校正版本。因此,第一图像数据可以在与第二图像数据表示图像的第二版本相同的颜色空间中表示图像的第一版本。例如,伽玛校正过程可以被用来将第一图像数据转换到与第二图像数据相同的颜色空间,例如,其中第一图像数据是hdr数据并且第二图像数据是sdr数据。例如,第一图像数据和第二图像数据可以处于非线性或伽玛校正颜色空间,例如,srgb(标准红绿蓝)颜色空间,其使用itu-r(国际电信联盟无线电通信部门)建议书bt.709原色和标准化传递函数或伽玛曲线。

在另一些示例中,除了或代替伽玛校正模块,可以存在颜色校正模块,或者既不执行颜色校正也不执行伽玛校正。这样的颜色校正模块可以被用来修改或改变图像的第二版本的颜色,例如用于扩大第一版本图像的色域,例如,从而匹配或对应于用于显示图像的显示设备(例如,hdr显示设备)的宽色域。在其他示例中,与图像的第一版本类似,图像的第二版本也可以被伽玛校正和/或颜色校正。

在图3的示例中,表示伽玛校正后的图像的第一版本的第一图像数据146与表示图像的第二版本的第二图像数据138一起由增益相关数据生成模块148进行处理。增益相关数据生成模块148被布置为计算增益相关数据a,在图3中其是增益本身,尽管在其他示例中其可能仅仅基于增益、与增益有关、或从增益导出。该上下文中的增益可以被理解为指的是图像的第二版本的像素强度值或亮度值与图像的第一版本的相应像素强度值或亮度值之间的比率。可以根据图像的第二版本和第一版本在多个像素上的平均像素强度值来计算增益,或者可以逐像素地计算增益。因此,增益可以是空间变化的或空间均匀的,例如,在增益被视为图像的第二版本的所有像素的平均强度除以图像的第一版本的所有像素的平均强度时。通常,增益是空间变化的,因为这允许捕捉对图像的第一版本进行空间变化处理以生成图像的第二版本(例如,应用空间变化色调映射操作)。增益可以被认为是增益图,其中图像的像素具有增益图的相应增益值。增益图可以是空间变化的增益图。

增益相关数据150由有效增益相关数据生成模块152接收。在图3中,增益相关数据生成模块148和有效增益相关数据生成模块152被示出为单独的模块。然而,在其他示例中,这些模块可以集成在一个模块中,例如可以执行这两个功能的增益相关数据生成模块。

有效增益相关数据生成模块152可操作以根据增益相关数据150和增益相关控制参数156来计算有效增益相关数据154。增益相关控制参数156例如可以被用来修改或改变增益相关数据150以获得有效增益相关数据154。这可以提供用户交互性。例如,用户可以通过改变增益相关控制参数156来改变有效增益相关数据154。这个改变可能是可能的,其中增益相关控制参数156是通过用户界面(图3中未示出)被接收的。例如,用户能够与托管或耦合到用户界面的计算系统进行交互,以用于显示由图像数据表示的图像。用户能够以各种不同的方式控制增益相关控制参数156的值。例如,用户能够通过任意适当的软件或硬件(例如,触摸屏、鼠标、键盘、图像捕捉设备、或操纵杆)向计算系统提供输入。如果计算系统包括具有触摸屏或触敏显示器的智能电话,则用户例如能够在触敏显示器上输入手势以控制增益相关控制参数156的值。例如,用户界面可以包括滑块,其位置可以由用户控制以控制增益相关控制参数156的值。

被用来接收增益相关控制参数156的用户界面可以根据图像特征数据142被显示。例如如果图像特征数据142指示图像不适于进一步处理,例如如果图像质量低或遭受显著的噪音或误差的影响,则用于控制增益相关控制参数156的用户界面可以不被显示。相反,如果图像特征数据142指示图像适合于进一步处理,则可以显示用户界面以向用户提供与图像的交互性。

在图3的示例中,有效增益相关数据a*根据增益相关数据a由以下等式获得:

a*=aα+(1-α)

其中α是增益相关控制参数。利用这个公式,有效增益相关数据a*可以通过α在0和1之间改变而在1和a之间改变。在其他示例中,增益相关控制参数可以采用其他值,例如高于1的值。此外,在示例中,有效增益相关数据和增益相关数据可以通过与上面给出的公式相比不同的公式进行关联。

图3的有效增益相关数据154由输出图像数据生成模块158接收。输出图像数据生成模块158被布置为将有效增益相关数据154应用于图像数据,在该示例中,将有效增益相关数据154应用于表示图像的第一版本的第一图像数据(其是hdr图像数据)以生成表示图像的输出版本的输出图像数据160。利用增益相关数据a(在该示例中,对应于图像的sdr版本和hdr版本(分别为图像的第二版本和第一版本)之间的比率),当α是0并且a*是1时,图像的hdr版本将被显示(基于a*与图像的hdr版本的乘积)。类似地,当α为1并且a*等于a时,图像的sdr版本将被显示。以这种方式,在图3的根据示例的方法中,有效增益相关数据154可用于根据增益相关控制参数156在图像的第一版本和图像的第二版本之间改变图像的输出版本。例如,图像的第一(hdr)版本可以在黑暗观看条件下被显示。然而,在光亮观看条件下,可能存在来自显示屏的环境光的反射(有时称为“屏幕眩光”),这可能会降低图像的hdr版本的显示质量。在这些条件下,用户可能希望包括来自图像的sdr版本的更大相对贡献,以补偿这些反射。

图4是示出应用于第一图像数据以获得第二图像数据的图像处理的示例的示意图。在图4中,表示图像的第一版本的第一图像数据162由色调映射模块(tm)164接收。色调映射模块164被布置为将空间变化色调映射操作应用于图像的第一版本以获得由第二图像数据166表示的图像的第二版本。

示例中的色调映射操作旨在增强图像中的细节或对比度,同时仍然确保图像对观察者而言显得相对“自然”。为此,色调映射可以在亮度域中是不对称的,使得与相对较亮区域相比更大量的色调映射被应用于图像的暗区域,例如通过将图像的相对较暗部分的亮度值与相对较亮部分相比改变更大的程度。这模仿人眼的行为,人眼具有相对较高动态范围,并且能够在图像的甚至相对较暗区域中看到细节。该示例中的色调映射操作因此是空间变化的(例如,空间不均匀),其中与其他空间区域相比,更大量的色调映射被应用于图像的特定空间区域。色调映射可以在空间维度和亮度维度上连续且平滑地变化。因此,暗区域和/或亮区域中的对应于图像中保留的细节的像素的强度范围可以被增加,并且图像的其他区域的强度范围可以被减小。色调映射因此可以包括调整图像的动态范围,其在示例中是图像的最亮部分和最暗部分的强度之间的比率。以这种方式调整动态范围通常会增强图像的暗区域和/或亮区域中的细节,并且减少中间色调区域中的细节,从而呈现否则在图像的明亮区域和/或阴影区域中可能丢失的可见细节,而仍然对观察者显得自然。各种不同的色调映射算法可以被用于色调映射操作。例如,适当的算法是正交视网膜形态学图像变换(ormit)算法。

动态范围可以通过色调映射操作来压缩或扩展。例如,色调映射操作可以应用动态范围压缩来增强图像的暗区域中的细节。例如,动态范围压缩还可以或可选地用于减小图像的动态范围以匹配或接近耦合到计算设备的显示设备可显示的动态范围。使用相机捕获的图像可以具有例如高达约4000:1的高动态范围。相比之下,典型显示设备的动态范围可能远低于此,例如约50:1。因此,可以应用动态范围压缩来减小表示高动态范围图像的输入图像数据(例如,第二解码图像数据)的动态范围以匹配用于显示图像的显示设备的较低动态范围。

在该示例中,图像的第一版本(其是hdr图像)的动态范围被减小以生成图像的第二版本(其是例如可在sdr显示设备上显示的sdr图像)。

可以考虑有两种类型的色调映射,每一种都可以用于根据hdr图像来生成sdr图像。第一种类型的色调映射(即所谓的“低质量”色调映射操作)仅仅旨在压缩或减小用于在sdr显示器上显示的图像的动态范围。使用这种低质量色调映射操作获得的图像质量可能相对较低。例如,图像可能对观看者显得平坦和不自然。相反,第二种类型的色调映射(即所谓的“高质量”色调映射操作)旨在减小动态范围以及改善图像的显示质量。以这种方式,由第二种类型的色调映射产生的sdr图像对于观察者而言可能看起来相对自然,并且与第一种类型的色调映射相比具有更高的感知质量。

通常,对于适用于根据示例的方法的将被应用于第一图像数据和生成的第二图像数据的色调映射操作,期望色调映射操作是第二种类型,即“高质量”。否则,由色调映射操作生成的图像的第二版本以及因此基于表示图像的第二版本的第二图像数据生成的图像的输出版本可能是相对低质量的并且不适于显示。如本领域技术人员将意识到的,用特定色调映射算法可获得的图像质量将取决于算法本身的性质。

由色调映射操作应用的色调映射的量可以取决于强度参数。色调映射的量可以对应于经过色调映射操作(例如,应用如上所述调整动态范围或增强图像细节)的图像中的像素的强度值的改变的程度或大小。在该示例中,由色调映射模块164应用的色调映射操作的强度参数是默认值。然而,在其他示例中,强度参数可取决于各种参数,例如,用户偏好、被配置为基于第二色调映射图像数据来显示输出图像的显示设备的显示属性、环境光水平、或用于显示输出图像的应用(例如,浏览器)的应用属性。在色调映射操作包括使用ormit算法的情况下,强度参数可以对应于ormit阿尔法参数α。

在图4的示例中,第一图像数据162和第二图像数据166被输入到编码器模块168。编码器模块168对第一图像数据162和第二图像数据166进行编码以生成编码图像数据(未示出),以用于更高效的存储和传输。然后可以例如通过解码器(例如,图3的解码器130)对编码图像数据进行解码。如果编码器模块168是例如jpegxt编码器,则编码过程可以包括对图像的第二版本以及由第一图像数据162表示的图像的第一版本与由第二图像数据166表示的图像的第二版本之间的残差或差异(而不是图像的第一版本本身)进行编码。例如,这样的jpegxt编码器的输出可以是与表示图像的sdr(第二)版本的第二图像数据166相对应的基本层,以及与图像的sdr版本与hdr版本(第一版本与第二版本)之间的差异相对应的残差或扩展层。

参考图5提供了用于与本文所描述的根据示例的处理图像的方法一起使用的图1的示例计算设备100的内部组件的示例的概述。图5的计算设备100包括网络接口112,用于从服务器设备104获取图像数据。计算设备100的网络接口112可以包括软件和/或硬件组件,例如,与网络硬件进行交互的虚拟网络接口、以太网端口、软件驱动程序、和/或通信堆栈。

在图5的示例中,计算设备100的存储装置172存储在网络接口112处接收到的图像数据174。该示例中的图像数据174包括表示图像的第一版本的第一图像数据176和表示图像的第二版本的第二图像数据178。

存储装置172可以包括诸如随机存取存储器(ram)的易失性存储器和诸如只读存储器(rom)的非易失性存储器或诸如闪存的固态驱动器(ssd)中的至少一个。示例中的存储装置172可以包括其他存储设备,例如磁介质、光学介质或磁带介质、光盘(cd)、数字多功能光盘(dvd)或其他数据存储介质。存储装置172可以是可从计算装置100移除的或不可从计算装置100移除的。

至少一个处理器180通信地耦合到图5的计算设备100中的存储装置172。在图5的示例中,至少一个处理器180可以包括微处理器、通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或其他可编程逻辑器件、分立门或晶体管逻辑、离散硬件组件、或者被设计为执行本文描述的功能的这些组件的任何适当的组合。处理器还可以实现为计算设备的组合,例如,dsp和微处理器的组合、多个微处理器的组合、一个或多个微处理器与dsp核心的组合,或者任何其它这样的配置。至少一个处理器180还可以是或包括至少一个图形处理单元(gpu),诸如可从美国加利福尼亚州95050圣克拉拉市2701santomasexpressway获得的gtx980,尽管其他处理器是可能的。例如,在一种情况下,计算设备可以包括具有图形处理能力的瘦终端;在其他情况下,计算设备可以包括计算设备,该计算设备包括至少一个中央处理单元(cpu)和至少一个图形处理单元。

在图5的示例中,存储装置172包括计算机程序指令,该计算机程序指令被配置为在由至少一个处理器180处理时实现增益相关数据生成模块182和输出图像数据生成模块184。图5的增益相关数据生成模块182可以被布置为执行图3的增益相关数据生成模块148和有效增益相关数据生成模块152的功能。图5的输出图像数据生成模块184也可以类似于图3的输出图像数据生成模块。计算机程序指令可以被存储在可访问的非暂态计算机可读介质中并且被加载到存储器(例如,存储装置172)中以实现这些模块。

在图5的示例中,存储装置172还包括解码器模块186,解码器模块186包括增益相关数据生成模块182和输出图像数据生成模块184,但是在其他示例中,这样的解码器模块186可以不包括这些其他模块中的一者或两者。解码器模块186可以以其他方式与图3的解码器130类似,并且可以操作用于接收编码图像数据并且对编码图像数据进行解码,从而生成包括作为第一解码图像数据的第一图像数据和作为第二解码图像数据的第二图像数据的解码图像数据。

在图5的示例中,计算设备100的组件5使用系统总线188互连。这允许数据在各种组件之间被传送。例如,由根据示例的方法生成的输出图像数据可以被存储在存储装置172中,并且随后通过系统总线188从存储装置172被发送到显示设备接口190,以用于传送到显示设备108以供显示。显示设备接口190可以包括显示端口和/或内部电子接口,例如,其中显示设备108是计算设备100的一部分,例如智能电话的显示屏。因此,当显示设备108通过显示设备接口190由至少一个处理器180指示时,显示设备108将基于输出图像数据来显示图像的输出版本。

以上示例将被理解为说明性示例。设想另外的示例。例如,上面给出的示例涉及使用jpeg或jpegxt格式的图像。然而,将理解的是,上述方法、系统、以及设备可被应用于以各种其他文件格式存储的图像或与以各种其他格式存储的图像一起使用。

上述示例使用软件来实现根据示例的方法。然而,在其他示例中,可以仅使用硬件或使用硬件和软件的组合来实现该方法。

例如,在图3中,生成增益相关数据和生成有效增益相关数据由系统中不同于解码器130的组件执行。然而,在其它示例中,生成增益相关数据和生成有效增益相关数据可以由解码器执行以用于对编码图像数据进行解码。

以下提供一些示例。

示例1提供一种方法,包括:接收表示图像的图像数据,图像数据包括:表示图像的第一版本的第一图像数据;以及表示图像的第二版本的第二图像数据;基于第一图像数据和第二图像数据来生成增益相关数据;至少基于增益相关数据和增益相关控制参数来生成有效增益相关数据;以及将有效增益相关数据应用于图像数据以生成表示图像的输出版本的输出图像数据。

示例2包括根据示例1的方法,包括接收表示图像的一个或多个特征的图像特征数据,并且基于图像特征数据来执行生成增益相关数据、生成有效增益相关数据、以及应用有效增益相关数据。

示例3包括根据示例2的方法,其中,一个或多个特征包括指示已经被应用于第一图像数据以获得第二图像数据的图像处理的特性的特征。

示例4包括根据示例3的方法,其中,指示图像处理的特性的特征指示,预定质量的空间变化色调映射操作已经被应用于第一图像数据以获得第二图像数据。

示例5包括根据示例2至示例4中任一项的方法,其中,一个或多个特征包括指示图像的第二版本包括高于预定噪声阈值的噪声水平的特征。

示例6包括根据示例2至示例5中任一项的方法,其中,图像特征数据是图像数据的元数据。

示例7包括根据示例2至示例5中任一项的方法,包括从图像数据导出图像特征数据。

示例8包括根据示例1至示例7中任一项的方法,其中,增益相关控制参数通过用户界面被接收。

示例9包括根据示例8的方法,当从属于权利要求2至7中任一项时,包括根据图像特征数据显示用户界面。

示例10包括根据示例1至示例9中任一项的方法,其中,有效增益相关数据可用于根据增益相关控制参数在图像的第一版本和图像的第二版本之间来改变图像的输出版本。

示例11包括根据示例1至示例10中任一项的方法,其中,有效增益相关数据a*根据增益相关数据a由以下等式获得:

a*=aα+(1-α)

其中α是增益相关控制参数。

示例12包括根据示例1至示例11中任一项的方法,其中,图像的第二版本对应于将空间变化色调映射操作应用于图像的第一版本之后的图像的第一版本。

示例13包括根据示例1至示例12中任一项的方法,其中,图像的第一版本是图像的高动态范围版本,并且图像的第二版本是图像的标准动态范围版本。

示例14包括根据示例1至示例13中任一项的方法,其中,增益相关数据表示基于图像的第二版本的像素强度值与图像的第一版本的相应像素强度值之间的比率的增益图。

示例15包括根据示例14的方法,其中,增益图是空间变化增益图。

示例16包括根据示例1至示例15中任一项的方法,其中,图像数据是解码图像数据,第一图像数据是第一解码图像数据,第二图像数据是第二解码图像数据,方法还包括:

接收编码图像数据;以及

解码编码图像数据以生成包括第一解码图像数据和第二解码图像数据的解码图像数据。

示例17包括根据示例16的方法,其中,解码编码图像数据和生成增益相关数据由能够解码编码图像数据的解码器执行。

示例18包括根据示例17的方法,其中,生成有效增益相关数据由解码器执行。

示例19包括根据示例1至示例18中任一项的方法,其中,图像数据是大于8位的jpeg(联合图像专家组)xt格式。

示例20包括根据示例1至示例19中任一项的方法,其中,图像的第一版本是图像的伽玛校正版本。

示例21包括根据示例1至示例20中任一项的方法,其中,第一图像数据在与第二图像数据表示图像的第二版本相同的颜色空间中表示图像的第一版本。

示例22是一种计算设备,包括:存储装置,存储装置用于存储表示图像的图像数据,图像数据包括:表示图像的第一版本的第一图像数据;以及表示图像的第二版本的第二图像数据;至少一个处理器,至少一个处理器通信地耦合到存储装置;增益相关数据生成模块,增益相关数据生成模块可操作以:基于第一图像数据和第二图像数据来生成增益相关数据;至少基于增益相关数据和增益相关控制参数来生成有效增益相关数据;以及输出图像数据生成模块,输出图像数据生成模块可操作以:将有效增益相关数据应用于图像数据以生成表示图像的输出版本的输出图像数据。

示例23包括根据示例22的计算设备,包括解码器模块,解码器模块包括增益相关数据生成模块。

示例24包括根据示例23的计算设备,解码器模块还包括输出图像数据生成模块。

示例25包括根据示例23或示例24的计算设备,其中,图像数据是解码图像数据,第一图像数据是第一解码图像数据,并且第二图像数据是第二解码图像数据,以及解码器模块可操作以:接收编码图像数据;以及解码编码图像数据以生成包括第一解码图像数据和第二解码图像数据的解码图像数据。

将理解的是,关于任意一个示例所描述的任意特征可被单独使用、或组合所描述的其他特征来使用,并且还可以组合任意其他示例的一个或多个特征、或任意其他示例的任意组合来使用。此外,还可以在不脱离所附权利要求的范围的情况下采用上面未描述的等同物和修改。

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