渲染对象以匹配相机噪声的制作方法

文档序号:22075856发布日期:2020-09-01 19:01阅读:145来源:国知局
渲染对象以匹配相机噪声的制作方法

相关申请的交叉引用

本申请要求2019年2月25日提交的美国临时申请序列号62/809,815的权益,该申请全文以引用方式并入本文。

本公开整体涉及在电子设备上提供内容,并且具体地涉及用于提供内容的系统、方法和设备,所述内容包括图像内容和具有类似噪声的虚拟内容。



背景技术:

一些增强现实(ar)系统捕获视频流,并将该视频流的图像与虚拟内容组合。该视频流的图像可能非常嘈杂,尤其是在较低光线条件下,其中某些iso设置用于提高图像亮度。相比之下,由于虚拟内容渲染器不受图像捕获设备的物理限制的影响,因此虚拟内容中有很少或没有噪声。在将真实内容的图像与虚拟内容组合在一起的ar内容中,可在真实对象上看到噪声,但虚拟内容中通常缺少噪声。虚拟内容上的噪声外观(例如,粒度、强度、其在颜色通道之间的属性变化等)的缺少可导致虚拟内容显现为浮动、看起来是分离的、突出的,或换句话讲无法与真实内容一致。例如,图4示出了内容400,其中真实对象402具有嘈杂外观,并且虚拟对象404具有显著较小的嘈杂外观。现有系统和技术当在ar中呈现具有图像内容的虚拟内容以及呈现将虚拟内容与真实图像内容组合在一起的其他内容时未充分考虑图像噪声。



技术实现要素:

如上所述,现有系统和技术在呈现具有所捕获的图像内容的虚拟内容时未充分考虑图像噪声。本文所公开的各种具体实施包括用于渲染具有噪声的虚拟内容的设备、系统和方法,所述噪声类似于或以其他方式更好地匹配在与虚拟内容相组合的图像中发现的噪声。

在一些具体实施中,电子设备使用处理器来执行方法。该方法涉及识别由图像捕获设备捕获的第一图像的噪声数据。该方法基于该噪声数据创建参数化噪声模型。在一些具体实施中,通过识别噪声模型的参数来创建参数化噪声模型,使得噪声模型输出类似于噪声数据或以其他方式与噪声数据匹配。在创建适当的参数化噪声模型(例如,通过识别高斯混合模型、多项式表示、参数化直方图等的适当参数)之后,该方法使用参数化噪声模型生成近似第二图像的噪声的噪声图案,并渲染包括虚拟内容的计算机生成现实(cgr)内容,该虚拟内容具有基于该噪声图案添加的噪声。该内容中的噪声相对一致,例如,对于真实对象和虚拟对象都是相对相似的。cgr内容可包括第二图像或与第二图像复合,或者cgr内容可与第三图像复合。

在一些具体实施中,第二图像是第一图像,例如,相同图像用于创建参数化噪声模型并包括在cgr内容中。在这些具体实施(在本文称为“实时参数生成”具体实施)中,参数化噪声模型是实时创建的,例如在cgr体验期间,并且不需要先前学习阶段。

在其他具体实施中,第二图像不同于第一图像,例如,一个或多个图像用于创建参数化噪声模型,并且不同于包括在cgr内容中的一个或多个图像。例如,在一些具体实施中,在cgr体验之前的学习阶段期间,对于给定相机、相机设置和各种信噪比(snr)水平,该方法基于由图像捕获设备在多种照明条件下捕获的图像来识别模型参数,例如,识别针对相机设置和snr水平s1的第一组模型参数、针对snr水平s2的第二组模型参数等。在此类具体实施中,给出针对给定相机设置的这些存储的snr水平与模型参数关联关系的话,就可在运行时查找给定的实时图像的适当模型参数并将该参数用于生成适当的噪声图案。例如,该方法可接收实时图像和相关联的snr水平(例如,来自图像信号处理器(isp)或机器学习分析),查找对应的模型参数,然后使用具有那些模型参数的参数化模型来针对要与图像组合的虚拟内容生成适当的噪声图案。在这些具体实施(在本文称为“实时参数查找”具体实施)中,在先前学习阶段,例如在cgr体验开始之前,创建该参数化噪声模型以及针对多个噪声水平(例如,snr水平)的模型参数,并且在实时cgr体验期间,使用图像的相机设置和噪声水平(例如,snr水平)来查找适当的模型参数。在实时cgr体验期间查找适当的模型参数(例如,实时参数查找)而不是在该体验期间识别新的模型参数(例如,实时参数生成)可提供优点。例如,这样做可避免计算上昂贵的优化或者否则的话可能用于在cgr体验期间识别实时模型参数的其他过程。这可减少运行时计算和资源使用,从而可改善cgr系统的功能和效率。

所生成的噪声图案可用于将噪声添加至将以各种方式与图像内容组合的虚拟内容。例如,该噪声图案可平铺在虚拟对象的表面区域之上,该虚拟对象被插入在cgr内容中的真实表的描绘上。添加到虚拟内容的噪声通常将类似于图像中的真实噪声,因为添加到虚拟对象的噪声是基于噪声图案而创建的。在一些具体实施中,噪声图案可随机平铺(例如,在随机位置,使用随机尺寸的图块等)在虚拟内容的表面之上。此类随机性可有助于避免添加到在图像或帧序列之上的虚拟内容的噪声的相似性。换句话讲,正如实际噪声从视频序列逐帧地随机变化,添加到虚拟内容的噪声将逐帧地随机变化。

根据一些具体实施中,非暂态计算机可读存储介质中存储有指令,所述指令是计算机可执行的以执行或使得执行本文所述的任何方法。根据一些具体实施,一种设备包括一个或多个处理器、非暂态存储器以及一个或多个程序;该一个或多个程序被存储在非暂态存储器中并且被配置为由一个或多个处理器执行,并且该一个或多个程序包括用于执行或使得执行本文所述方法中的任一种的指令。

附图说明

因此,本公开可被本领域的普通技术人员理解,更详细的描述可参考一些例示性具体实施的方面,其中一些具体实施在附图中示出。

图1是根据一些具体实施的示例性操作环境的框图。

图2是根据一些具体实施的示例性控制器的框图。

图3是根据一些具体实施的示例性头戴式设备(hmd)的框图。

图4示出了其中虚拟内容不具有与现实世界内容的描绘的噪声匹配的噪声的cgr内容。

图5a、图5b和图5c示出了根据一些具体实施的其中虚拟内容不具有噪声的cgr内容与其中虚拟内容具有添加的噪声的cgr内容之间的差异。

图6是根据一些具体实施的示出用于渲染具有噪声的虚拟内容的示例性方法的流程图,所述噪声类似于或以其他方式更好地匹配在与该虚拟内容相组合的图像中发现的噪声。

图7是示出用于测量图像捕获设备噪声的示例性技术的框图。

图8是示出用于构建参数化噪声模型的示例性技术的框图。

根据通常的做法,附图中示出的各种特征部可能未按比例绘制。因此,为了清楚起见,可以任意地扩展或减小各种特征部的尺寸。另外,一些附图可能未描绘给定的系统、方法或设备的所有部件。最后,在整个说明书和附图中,类似的附图标号可用于表示类似的特征部。

具体实施方式

描述了许多细节以便提供对附图中所示的示例具体实施的透彻理解。然而,附图仅示出了本公开的一些示例方面,因此不应被视为限制。本领域的普通技术人员将会知道,其他有效方面或变体不包括本文所述的所有具体细节。此外,没有详尽地描述众所周知的系统、方法、部件、设备和电路,以免模糊本文所述的示例性具体实施的更多相关方面。尽管图1-图3示出了涉及头戴式设备(hmd)的示例性具体实施,但其他具体实施不一定涉及hmd,并且可涉及其他类型的设备,包括但不限于手表和其他可穿戴电子设备、移动设备、膝上型计算机、台式计算机、游戏设备、家庭自动化设备以及包括或使用图像捕获设备的其他设备。

图1是根据一些具体实施的示例性操作环境100的框图。尽管示出了相关特征,但本领域的普通技术人员将从本公开中认识到,为简洁起见并且为了不模糊本文所公开的示例性具体实施的更多相关方面,未示出各种其他特征。为此,作为非限制性示例,操作环境100包括控制器110和头戴式设备(hmd)120,该控制器和头戴式设备中的一者或两者可处于物理环境中。物理环境是指人们在没有电子系统帮助的情况下能够感测和/或交互的物理世界。物理环境诸如物理公园包括物理物品,诸如物理树木、物理建筑物和物理人。人们能够诸如通过视觉、触觉、听觉、味觉和嗅觉来直接感测物理环境和/或与物理环境交互。

在一些具体实施中,控制器110被配置为管理和协调用户的计算机生成现实(cgr)体验。在一些具体实施中,控制器110包括软件、固件或硬件的合适组合。下文相对于图2更详细地描述控制器110。在一些具体实施中,控制器110是相对于物理环境105处于本地或远程位置的计算设备。

在一个示例中,控制器110是位于物理环境105内的本地服务器。在另一个示例中,控制器110是位于物理环境105之外的远程服务器(例如,云服务器、中央服务器等)。在一些具体实施中,控制器110经由一个或多个有线或无线通信信道144(例如,蓝牙、ieee802.11x、ieee802.16x、ieee802.3x等)与hmd120通信耦接。

在一些具体实施中,hmd120被配置为向用户呈现cgr体验。在一些具体实施中,hmd120包括软件、固件或硬件的合适组合。下文参考图3更详细地描述hmd120。在一些具体实施中,控制器110的功能由hmd120提供或与hmd120组合,例如,在用作独立单元的hmd的情况下。

根据一些具体实施,当用户出现在物理环境105内时,hmd120向用户呈现计算机生成现实(cgr)体验。计算机生成现实(cgr)环境是指人们经由电子系统感测和/或交互的完全或部分模拟的环境。在cgr中,跟踪人的物理运动的一个子集或其表示,并且作为响应,以符合至少一个物理定律的方式调节在cgr环境中模拟的一个或多个虚拟对象的一个或多个特征。例如,cgr系统可以检测人的头部转动,并且作为响应,以与此类视图和声音在物理环境中变化的方式类似的方式调节呈现给人的图形内容和声场。在一些情况下(例如,出于可达性原因),对cgr环境中虚拟对象的特征的调节可以响应于物理运动的表示(例如,声音命令)来进行。

人可以利用其感官中的任一者来感测cgr对象和/或与cgr对象交互,包括视觉、听觉、触觉、味觉和嗅觉。例如,人可以感测音频对象和/或与音频对象交互,该音频对象创建3d或空间音频环境,该3d或空间音频环境提供3d空间中点音频源的感知。又如,音频对象可以使能音频透明度,该音频透明度在有或者没有计算机生成的音频的情况下选择性地引入来自物理环境的环境声音。在某些cgr环境中,人可以感测和/或只与音频对象交互。

cgr的示例包括虚拟现实和混合现实。虚拟现实(vr)环境是指被设计成对于一个或多个感官完全基于计算机生成的感官输入的模拟环境。vr环境包括人可以感测和/或与之交互的虚拟对象。例如,树木、建筑物和代表人的化身的计算机生成的图像是虚拟对象的示例。人可以通过在计算机生成的环境内人的存在的模拟、和/或通过在计算机生成的环境内人的物理运动的一个子组的模拟来感测和/或与vr环境中的虚拟对象交互。

与被设计成完全基于计算机生成的感官输入的vr环境相比,混合现实(mr)环境是指被设计成除了包括计算机生成的感官输入(例如,虚拟对象)之外还引入来自物理环境的感官输入或其表示的模拟环境。在虚拟连续体上,混合现实环境是完全物理环境作为一端和虚拟现实环境作为另一端之间的任何状况,但不包括这两端。

在一些mr环境中,计算机生成的感官输入可以对来自物理环境的感官输入的变化进行响应。另外,用于呈现mr环境的一些电子系统可以跟踪相对于物理环境的位置和/或取向,以使虚拟对象能够与真实对象(即,来自物理环境的物理物品或其表示)交互。例如,系统可以导致运动使得虚拟树木相对于物理地面看起来是静止的。

混合现实的示例包括增强现实和增强虚拟。增强现实(ar)环境是指其中一个或多个虚拟对象叠加在物理环境或其表示之上的模拟环境。例如,用于呈现ar环境的电子系统可具有透明或半透明显示器,人可以透过该显示器直接查看物理环境。该系统可以被配置成在透明或半透明显示器上呈现虚拟对象,使得人利用该系统感知叠加在物理环境之上的虚拟对象。另选地,系统可以具有不透明显示器和一个或多个成像传感器,成像传感器捕获物理环境的图像或视频,这些图像或视频是物理环境的表示。系统将图像或视频与虚拟对象组合,并在不透明显示器上呈现组合物。人利用系统经由物理环境的图像或视频而间接地查看物理环境,并且感知叠加在物理环境之上的虚拟对象。如本文所用,在不透明显示器上显示的物理环境的视频被称为“透传视频”,意味着系统使用一个或多个图像传感器捕获物理环境的图像,并且在不透明显示器上呈现ar环境时使用那些图像。进一步另选地,系统可以具有投影系统,该投影系统将虚拟对象投射到物理环境中,例如作为全息图或者在物理表面上,使得人利用该系统感知叠加在物理环境之上的虚拟对象。

增强现实环境也是指其中物理环境的表示被计算机生成的感官信息进行转换的模拟环境。例如,在提供透传视频中,系统可以对一个或多个传感器图像进行转换以施加与成像传感器所捕获的视角不同的选择视角(例如,视点)。又如,物理环境的表示可以通过图形地修改(例如,放大)其部分而进行转换,使得经修改部分可以是原始捕获图像的代表性的但不是真实的版本。再如,物理环境的表示可以通过以图形方式消除其部分或将其部分进行模糊处理而进行转换。

增强虚拟(av)环境是指虚拟或计算机生成环境结合了来自实体环境的一项或多项感官输入的模拟环境。感官输入可以是物理环境的一个或多个特征的表示。例如,av公园可以具有虚拟树木和虚拟建筑物,但人的脸部是从对物理人拍摄的图像逼真再现的。又如,虚拟对象可以采用一个或多个成像传感器所成像的物理物品的形状或颜色。再如,虚拟对象可以采用符合太阳在物理环境中的位置的阴影。

有许多不同类型的电子系统使人能够感测和/或与各种cgr环境交互。示例包括头戴式系统、基于投影的系统、平视显示器(hud)、集成有显示能力的车辆挡风玻璃、集成有显示能力的窗户、被形成为被设计用于放置在人眼睛上的透镜的显示器(例如,类似于隐形眼镜)、耳机/听筒、扬声器阵列、输入系统(例如,具有或没有触觉反馈的可穿戴或手持控制器)、智能电话、平板电脑、和台式/膝上型计算机。头戴式系统可以具有一个或多个扬声器和集成的不透明显示器。另选地,头戴式系统可以被配置成接受外部不透明显示器(例如,智能电话)。头戴式系统可以结合用于捕获物理环境的图像或视频的一个或多个成像传感器、和/或用于捕获物理环境的音频的一个或多个麦克风。头戴式系统可以具有透明或半透明显示器,而不是不透明显示器。透明或半透明显示器可以具有媒介,代表图像的光通过该媒介被引导到人的眼睛。显示器可以利用数字光投影、oled、led、uled、硅基液晶、激光扫描光源或这些技术的任意组合。媒介可以是光学波导、全息图媒介、光学组合器、光学反射器、或它们的任意组合。在一个实施方案中,透明或半透明显示器可被配置成选择性地变得不透明。基于投影的系统可以采用将图形图像投影到人的视网膜上的视网膜投影技术。投影系统也可以被配置成将虚拟对象投影到物理环境中,例如作为全息图或在物理表面上。

图2是根据一些具体实施的控制器110的示例的框图。尽管示出了一些具体特征,但本领域的技术人员将从本公开中认识到,为简洁起见并且为了不模糊本文所公开的具体实施的更多相关方面,未示出各种其他特征。为此,作为非限制性示例,在一些具体实施中,控制器110包括一个或多个处理单元202(例如,微处理器、专用集成电路(asic)、现场可编程门阵列(fpga)、图形处理单元(gpu)、中央处理单元(cpu)、处理核心等)、一个或多个输入/输出(i/o)设备206、一个或多个通信接口208(例如,通用串行总线(usb)、firewire、thunderbolt、ieee802.3x、ieee802.11x、ieee802.16x、全球移动通信系统(gsm),码分多址(cdma)、时分多址(tdma)、全球定位系统(gps)、红外(ir)、蓝牙、zigbee或相似类型接口)、一个或多个编程(例如,i/o)接口210、存储器220以及用于互连这些部件和各种其他部件的一条或多条通信总线204。

在一些具体实施中,一条或多条通信总线204包括互连和控制系统部件之间的通信的电路。在一些具体实施中,一个或多个i/o设备206包括键盘、鼠标、触控板、操纵杆、一个或多个麦克风、一个或多个扬声器、一个或多个图像捕获设备或其他传感器、一个或多个显示器等中的至少一者。

存储器220包括高速随机存取存储器,诸如动态随机存取存储器(dram)、静态随机存取存储器(sram)、双倍数据速率随机存取存储器(ddrram)或者其他随机存取固态存储设备。在一些具体实施中,存储器220包括非易失性存储器,诸如一个或多个磁盘存储设备、光盘存储设备、闪存存储器设备或其他非易失性固态存储设备。存储器220任选地包括远离一个或多个处理单元202定位的一个或多个存储设备。存储器220包括非暂态计算机可读存储介质。在一些具体实施中,存储器220或者存储器220的非暂态计算机可读存储介质存储下述程序、模块和数据结构或者它们的子集,其中包括任选的操作系统230和计算机生成现实(cgr)体验模块240。

操作系统230包括用于处理各种基础系统服务和用于执行硬件相关任务的过程。

在一些具体实施中,计算机生成现实(cgr)模块240包括噪声数据单元242、模型单元244、噪声匹配单元246和cgr渲染单元248。噪声数据单元242测量或以其他方式创建图像中的噪声的表示。模型单元244基于噪声数据创建参数化噪声模型。例如,模型单元244可识别针对将空间噪声相关性描述为具有高斯混合内核的卷积的噪声模型的参数,该高斯混合内核产生类似于图像的噪声的输出。

噪声匹配单元246使用参数化噪声模型来生成与特定图像的噪声类似的噪声,例如噪声图案。在一些具体实施中,信噪比(snr)水平或其他相机参数与学习阶段期间的参数化噪声模型的参数相关联,并且噪声匹配单元246识别图像的snr水平,查找对应的参数,并使用该参数生成噪声图案。

cgr渲染单元248将图像内容与虚拟内容组合以提供cgr体验,例如,为用户提供cgr环境的视图。cgr渲染单元248可调整图像内容或虚拟内容的外观。在一些具体实施中,cgr渲染单元向虚拟内容添加与该虚拟内容所组合的图像内容的噪声类似的噪声。所添加的噪声可基于由噪声匹配单元246提供的用于对应图像的噪声图案。

尽管这些模块和单元被示出为驻留在单个设备(例如,控制器110)上,但应当理解,在其他具体实施中,这些模块和单元的任何组合可位于单独的计算设备中。此外,图2更多地用作存在于特定具体实施中的各种特征部的功能描述,与本文所述的具体实施的结构示意图不同。如本领域的普通技术人员将认识到的,单独显示的项目可以组合,并且一些项目可以分开。例如,图2中单独示出的一些功能模块可以在单个模块中实现,并且单个功能块的各种功能可在各种具体实施中通过一个或多个功能块来实现。模块的实际数量和特定功能的划分以及如何在其中分配特征部将根据具体实施而变化,并且在一些具体实施中,部分地取决于为特定具体实施选择的硬件、软件或固件的特定组合。

图3是根据一些具体实施的头戴式设备(hmd)120的示例的框图。尽管示出了一些具体特征,但本领域的技术人员将从本公开中认识到,为简洁起见并且为了不模糊本文所公开的具体实施的更多相关方面,未示出各种其他特征。为此,作为非限制性示例,在一些具体实施中,hmd120包括一个或多个处理单元302(例如,微处理器、asic、fpga、gpu、cpu、处理核心等)、一个或多个输入/输出(i/o)设备及传感器306、一个或多个通信接口308(例如,usb、firewire、thunderbolt、ieee802.3x、ieee802.11x、ieee802.16x、gsm、cdma、tdma、gps、ir、bluetooth、zigbee、spi、i2c或类似类型的接口)、一个或多个编程(例如,i/o)接口310、一个或多个显示器312、一个或多个面向内部或面向外部的图像传感器314、存储器320以及用于互连这些部件和各种其他部件的一条或多条通信总线304。

在一些具体实施中,一条或多条通信总线304包括互连和控制系统部件之间的通信的电路。在一些具体实施中,一个或多个i/o设备及传感器306包括惯性测量单元(imu)、加速度计、磁力计、陀螺仪、温度计、一个或多个生理传感器(例如,血压监测仪、心率监测仪、血液氧传感器、血糖传感器等)、一个或多个传声器、一个或多个扬声器、触觉引擎或者一个或多个深度传感器(例如,结构光、飞行时间等)等。

在一些具体实施中,一个或多个显示器312被配置为向用户呈现cgr体验。在一些具体实施中,一个或多个显示器312对应于全息、数字光处理(dlp)、液晶显示器(lcd)、硅上液晶(lcos)、有机发光场效应晶体管(olet)、有机发光二极管(oled)、表面传导电子发射器显示器(sed)、场发射显示器(fed)、量子点发光二极管(qd-led)、微机电系统(mems)或者类似显示器类型。在一些具体实施中,一个或多个显示器312对应于衍射、反射、偏振、全息等波导显示器。例如,hmd120包括单个显示器。又如,hmd120包括针对用户的每只眼睛的显示器。

存储器320包括高速随机存取存储器,诸如dram、sram、ddrram或其他随机存取固态存储器设备。在一些具体实施中,存储器320包括非易失性存储器,诸如一个或多个磁盘存储设备、光盘存储设备、闪存存储器设备或其他非易失性固态存储设备。存储器320任选地包括远离一个或多个处理单元302定位的一个或多个存储设备。存储器320包括非暂态计算机可读存储介质。在一些具体实施中,存储器320或者存储器320的非暂态计算机可读存储介质存储下述程序、模块和数据结构或者它们的子集,其中包括任选的操作系统330和计算机生成现实(cgr)体验模块340。

操作系统330包括用于处理各种基础系统服务和用于执行硬件相关任务的过程。

在一些具体实施中,计算机生成现实(cgr)模块340包括噪声数据单元342、模型单元344、噪声匹配单元346和cgr渲染单元348。噪声数据单元342测量或以其他方式创建图像中的噪声的表示。模型单元344基于噪声数据创建参数化噪声模型。例如,模型单元344可识别用于高斯混合模型的参数,使得高斯混合模型产生与图像的噪声类似的输出。

噪声匹配单元346使用参数化噪声模型来生成与特定图像的噪声类似的噪声,例如噪声图案。在一些具体实施中,在学习阶段期间信噪比(snr)水平与参数化噪声模型的参数相关联,并且噪声匹配单元346识别图像的snr水平,查找对应的参数,并使用该参数生成噪声图案。

cgr渲染单元348将图像内容与虚拟内容组合以提供cgr体验,例如,为用户提供cgr环境的视图。cgr渲染单元348可调整图像内容或虚拟内容的外观。在一些具体实施中,cgr渲染单元向虚拟内容添加与该虚拟内容所组合的图像内容的噪声类似的噪声。所添加的噪声可基于由噪声匹配单元346提供的用于对应图像的噪声图案。

此外,图3更多地用作存在于特定具体实施中的各种特征部的功能描述,与本文所述的具体实施的结构示意图不同。如本领域的普通技术人员将认识到的,单独显示的项目可以组合,并且一些项目可以分开。例如,图3中单独示出的一些功能模块可以在单个模块中实现,并且单个功能块的各种功能可在各种具体实施中通过一个或多个功能块来实现。模块的实际数量和特定功能的划分以及如何在其中分配特征部将根据具体实施而变化,并且在一些具体实施中,部分地取决于为特定具体实施选择的硬件、软件或固件的特定组合。

图4示出了cgr内容400,其中虚拟内容404(例如,虚拟烹饪器具)不具有与真实世界内容402(例如,真实世界烹饪器具)的描绘的噪声匹配的噪声。例如,真实世界内容402的描绘具有与图像的其余部分中的噪声一致的嘈杂/粒状外观。相比之下,虚拟内容404(其为与真实对象402相同类型的器具的虚拟版本)具有显著更平滑且除此以外较不嘈杂的外观。

图5a、图5b和图5c示出了根据一些具体实施的包括不具有噪声的虚拟内容的cgr内容与包括具有添加的噪声的虚拟内容的cgr内容之间的差异。图5a示出了来自物理环境的真实世界内容的图像。图5b示出了cgr内容的示例,其中虚拟对象502已与图5a的真实世界内容的图像组合。图5c示出了cgr的示例,其中虚拟对象504已利用添加的噪声进行调整,然后与图5a的真实世界内容的图像组合。通过对附图进行比较可以看出,图5c的虚拟对象504具有与真实世界内容中的噪声类似的噪声(如特写视图506中所示),而图5b的虚拟对象502没有此类噪声。虚拟对象502可能看来浮动,看起来是分离的、突出的,或换句话讲不像虚拟对象504那样与真实内容一致。

图6是示出用于渲染具有噪声的虚拟内容的示例性方法600的流程图,所述噪声类似于或以其他方式更好地匹配在与该虚拟内容相组合的图像中发现的噪声。在一些具体实施中,方法600由设备(例如,图1-图3的控制器100或hmd120)执行。可在移动设备、头戴式设备(hmd)、台式计算机、膝上型计算机、服务器设备处或由彼此通信的多个设备执行方法600。在一些具体实施中,方法600由处理逻辑部件包括硬件、固件、软件或其组合执行。在一些具体实施中,方法600由执行存储在非暂态计算机可读介质(例如,存储器)中的代码的处理器执行。

在框602处,方法600识别由图像捕获设备捕获的第一图像的噪声数据(例如,测量图像中的相机噪声)。图7是示出用于测量图像捕获设备噪声的示例性技术的框图。在该示例中,识别噪声数据涉及使用由图像捕获设备在相同光线水平下捕获的两个嘈杂图像702、704来创建差异图像706,例如,通过从一个图像的像素值减去另一个图像的像素值。在一个具体实施中,用于构建差异图像的图像是红色-绿色-蓝色(rgb)图像,并且个差异图像被构建并转换为ycbcr色彩空间。噪声数据可分成不同的通道/分量,例如,亮度y、蓝色差异色度分量cb、红色差异色度分量cr等。在一些具体实施中,将彩色图像分解成多个通道以确定每个通道的噪声能够提供多种有益效果。添加一种类型的噪声(例如,亮度噪声)可在感知上比添加另一种类型的噪声(例如,色彩噪声)更令人愉悦。此外,该噪声中的一些噪声可能已经是后处理(例如,平滑效应等)的结果,该后处理影响一个通道(例如,颜色通道)多于另一个通道(例如,亮度通道),从而使亮度通道具有更细粒状的更多噪声并使颜色通道具有被感知为粗糙粒状彩色斑点的细微噪声。在一些情况下,一种类型的细粒状噪声(例如,亮度噪声)隐藏另一类型的噪声(例如,颜色噪声)。简而言之,将噪声分离成多个通道能够最终帮助确保为模拟该噪声而最终创建的噪声将类似于实际噪声。

在另一个具体实施中,通过获取针对给定光线水平的多个图像的序列,对个多个图像中的噪声求平均值,然后将图像中的一个图像与平均值进行比较来识别噪声数据。

作为学习阶段的一部分,可获得针对多个不同snr水平的噪声数据,该学习阶段构建snr-参数(snr-to-parameter)关联关系的数据集以供稍后用于基于snr的快速查找。在一些具体实施中,识别噪声数据包括使用由图像捕获设备在不同照明或成像条件下捕获的图像来测量针对多个不同snr水平的相机噪声。

在框604处,该方法600基于该噪声数据创建参数化噪声模型。可通过识别噪声模型的参数以使该噪声模型拟合噪声数据来创建参数化噪声数据。

图8是示出用于基于噪声数据创建参数化噪声模型的示例性技术的框图。在该示例中,噪声模型参数是通过使用噪声数据802确定每个像素强度偏差804来确定的。每个像素强度偏差的图案可相对彼此偏移并用于计算相关性,例如空间相关性806,该相关性提供关于噪声的信息,例如,测量图像中噪声的斑点与粒度的关系。空间相关性函数提供关于噪声的统计信息,例如,基于噪声在空间上相对于其自身偏移时该噪声中的相关性程度。该方法可执行计算(例如,优化)以识别参数化噪声模型(例如高斯混合模型、多项式表示、参数化直方图等)的参数(例如,每个像素噪声808和平滑内核810),以产生具有类似于空间相关性806或强度偏差分布的特性的噪声输出。

该图像可能先前已被平滑,例如使用平滑内核,该平滑内核使用高斯混合模型,这可提供或增加图像中的噪声中的空间相关性。将相同类型的模型(例如高斯混合模型)用于参数化噪声模型以产生噪声图案可有利于更好地匹配图像中的噪声。

返回图6,可在cgr体验期间或在cgr体验之前执行参数化噪声模型的创建。例如,在实时参数生成具体实施中,可在cgr体验期间执行参数化噪声模型的创建。又如,在实时参数查找具体实施中,可在cgr体验期间执行参数化噪声模型的创建。在一些实时参数查找具体实施中,对于给定相机和各种snr水平,在训练阶段期间,方法600基于由相机在多种照明条件下捕获的图像来识别噪声模型参数,以提供snr-参数关联关系,该snr-参数关联关系稍后可用于查找用于给定图像snr水平的适当参数。在其他具体实施中,在训练阶段期间,方法600预计算并存储针对多个不同光强度、图像捕获设备以及它们的组合的噪声图案,然后在实时cgr体验期间,可基于光强度检测和图像捕获设备识别来查找这些图案。存储snr-参数关联关系或其他基于参数的关联关系的具体实施可能需要比存储可基于参数化模型生成的图案纹理的具体实施少的存储。换句话讲,对于存储参数而不是存储图案纹理来将,可存在存储、效率和其他优点。

在框606处,方法600使用参数化噪声模型来生成近似第二图像中的噪声的噪声图案。

在实时参数生成具体实施中,第二图像可以是第一图像,例如,使用将包括在cgr体验中的实际图像来确定噪声模型参数。在此类具体实施中,不需要先前学习阶段来确定snr-参数关联关系,因为可在实时cgr体验期间确定参数。

与实时参数生成具体实施相比,在实时参数查找具体实施中,第二图像(例如,包括在cgr中的图像)不同于第一图像(例如,用于创建参数化模型的图像)。在此类具体实施中,可在cgr体验之前的学习阶段期间确定snr-参数关联关系。由于不同图像捕获设备产生不同的噪声,因此可对单独设备执行学习过程以确定每个单独设备的snr-参数关联关系。可存储snr-参数关联关系,然后用于确定后续/实时图像诸如第二图像的噪声图案。例如,第二图像可在cgr体验期间由图像捕获设备捕获以包括在cgr体验中。方法600可例如通过从图像信号处理器(isp)接收snr水平或使用评估第二图像的机器学习模型来确定第二图像的snr。方法600可使用snr来查找相关联的参数,该参数然后可用于使用参数化噪声模型来确定噪声图案。对于没有可用的相关联参数的snr水平,该参数可使用snr-参数关联关系中的可用参数来内插。实时参数查找具体实施可以更有效或更快,并且因此在运行时比一些实时参数生成具体实施更可行。

在一些具体实施中,针对多个snr水平预先计算和存储噪声团,例如,作为snr与噪声图案关联关系,并且在运行时查找针对给定snr水平的噪声图案。这可涉及在运行时之前估计参数,使用运行时之前的参数为snr水平或范围(例如,其中视频流显示出可能的噪声的snr范围)预先生成一组噪声图案,然后在运行时查找或内插噪声图案。对于没有可用的相关联噪声图案的snr水平,该噪声图案可使用所存储的snr与噪声图案关联关系中所存储的噪声图案来内插。

在框608处,方法600以具有添加的噪声的虚拟内容渲染计算机生成的现实(cgr)内容。该虚拟内容可包括基于噪声图案添加的噪声。在一些具体实施中,通过将噪声图案平铺在虚拟内容之上来将噪声添加至虚拟内容。在一些具体实施中,噪声图案被随机地平铺在虚拟内容之上。在一些具体实施中,首先根据亮度响应函数(例如,利用所渲染虚拟内容的每个像素亮度的亮度响应函数)对噪声图案进行加权,然后与虚拟内容组合。在一些具体实施中,噪声仅被添加到一个或几个虚拟对象,并且不被添加到一个或多个其他虚拟对象。例如,可能不将噪声添加至用户界面元素,该用户界面元素不应看起来好像元素是通过相机成像的。

cgr内容可包括第二图像或与第二图像复合,或者cgr内容可与第三图像复合。在各种具体实施中,虚拟内容(具有添加的噪声)以各种不同的方式与来自相机的图像组合。在一个具体实施中,处理器(例如,图形处理单元(gpu))将第二图像渲染到帧缓冲区中,然后将虚拟内容渲染到相同缓冲器中,然后将该缓冲区读出至显示器。在另一个具体实施中,处理器(例如,gpu)将虚拟内容渲染到帧缓冲区中。复合器用于将虚拟内容帧缓冲区与第二图像(例如,利用从相机isp接收的图像)进行复合。在该示例中,第二图像从不被处理器例如gpu渲染。在类似的具体实施中,虚拟内容帧缓冲区与第三图像复合,而是与第二图像。例如,在其中过程开始渲染和复合时第二图像(用于确定噪声参数)太旧的情况下,这样做可能是适当的。相反,该过程使用更加近期的(第三)图像进行组合和显示,以使延迟最小化。

在视频内容中,可调节每个帧的内容以渲染具有虚拟内容的cgr内容,该虚拟内容被适当地调节以匹配相应帧图像的噪声。在一些具体实施中,在cgr体验期间分析第一帧,并且基于在短时间段的过程中以及在希望节约处理资源或以其他方式平衡处理效率和速度与噪声模拟精度的情况下该噪声将变化很小的假设,噪声模型参数被确定用于该第一帧和多个后续帧,例如接下来的59个帧。在一些具体实施中,在cgr体验期间分析第一帧,并生成噪声纹理图案(例如,经由基于实时参数生成的技术或基于实时参数查找的技术),并且该噪声纹理用于该第一帧和多个后续帧(例如,接下来的89个帧)。这样做可类似地节约处理资源并提高速度。噪声纹理图案可随机地平铺在一个或多个虚拟对象之上,使得噪声在视频的长度上逐帧地随机出现(如真实噪声)。

基于选择标准,一些具体实施选择性地向一些图像的虚拟对象添加噪声但不向其他图像的虚拟对象添加噪声。例如,在低光线条件下噪声的影响/存在可能更明显。因此,一些具体实施基于确定该光线条件小于特定阈值(例如,自适应地开启和关闭虚拟噪声生成特征)来选择性地确定向虚拟对象添加噪声。这可避免在明亮环境中浪费资源,在这种环境中,向虚拟对象添加噪声是不太明显的。

本文阐述了许多具体细节以提供对要求保护的主题的全面理解。然而,本领域的技术人员将理解,可以在没有这些具体细节的情况下实践要求保护的主题。在其他实例中,没有详细地介绍普通技术人员已知的方法、设备或系统,以便不使要求保护的主题晦涩难懂。

除非另外特别说明,否则应当理解,在整个说明书中,利用诸如“处理”、“计算”、“计算出”、“确定”和“识别”等术语的论述是指计算设备的动作或过程,诸如一个或多个计算机或类似的电子计算设备,其操纵或转换表示为计算平台的存储器、寄存器或其他信息存储设备、传输设备或显示设备内的物理电子量或磁量的数据。

本文论述的一个或多个系统不限于任何特定的硬件架构或配置。计算设备可以包括部件的提供以一个或多个输入为条件的结果的任何合适的布置。合适的计算设备包括基于多用途微处理器的计算机系统,其访问存储的软件,该软件将计算系统从通用计算设备编程或配置为实现本发明主题的一种或多种具体实施的专用计算设备。可以使用任何合适的编程、脚本或其他类型的语言或语言的组合来在用于编程或配置计算设备的软件中实现本文包含的教导内容。

本文所公开的方法的具体实施可以在这样的计算设备的操作中执行。上述示例中呈现的框的顺序可以变化,例如,可以将框重新排序、组合或者分成子框。某些框或过程可以并行执行。

本文中“适用于”或“被配置为”的使用意味着开放和包容性的语言,其不排除适用于或被配置为执行额外任务或步骤的设备。另外,“基于”的使用意味着开放和包容性,因为“基于”一个或多个所述条件或值的过程、步骤、计算或其他动作在实践中可以基于额外条件或超出所述的值。本文包括的标题、列表和编号仅是为了便于解释而并非旨在为限制性的。

还将理解的是,虽然术语“第一”、“第二”等可能在本文中用于描述各种对象,但是这些对象不应当被这些术语限定。这些术语只是用于将一个对象与另一对象区分开。例如,第一节点可以被称为第二节点,并且类似地,第二节点可以被称为第一节点,其改变描述的含义,只要所有出现的“第一节点”被一致地重命名并且所有出现的“第二节点”被一致地重命名。第一节点和第二节点都是节点,但它们不是同一个节点。

本文中所使用的术语仅仅是为了描述特定具体实施并非旨在对权利要求进行限制。如在本具体实施的描述和所附权利要求中所使用的那样,单数形式的“一个”和“该”旨在也涵盖复数形式,除非上下文清楚地另有指示。还将理解的是,本文中所使用的术语“或”是指并且涵盖相关联的所列出的项目中的一个或多个项目的任何和全部可能的组合。还将理解的是,术语“包括”或“包含”在本说明书中使用时指定存在所陈述的特征、整数、步骤、操作、对象或部件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、对象、部件或其分组。

如本文所使用的,术语“如果”可以被解释为表示“当所述先决条件为真时”或“在所述先决条件为真时”或“响应于确定”或“根据确定”或“响应于检测到”所述先决条件为真,具体取决于上下文。类似地,短语“如果确定[所述先决条件为真]”或“如果[所述先决条件为真]”或“当[所述先决条件为真]时”被解释为表示“在确定所述先决条件为真时”或“响应于确定”或“根据确定”所述先决条件为真或“当检测到所述先决条件为真时”或“响应于检测到”所述先决条件为真,具体取决于上下文。

本发明的前述描述和概述应被理解为在每个方面都是例示性和示例性的,而非限制性的,并且本文所公开的本发明的范围不仅由例示性具体实施的详细描述来确定,而是根据专利法允许的全部广度。应当理解,本文所示和所述的具体实施仅是对本发明原理的说明,并且本领域的技术人员可以在不脱离本发明的范围和实质的情况下实现各种修改。

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