使用透明度来在场景中呈现标记的制作方法

文档序号:9932497阅读:690来源:国知局
使用透明度来在场景中呈现标记的制作方法
【专利说明】
【背景技术】
[0001]用于在诸如地图的图像中提供更为丰富的用户体验的能力对于制造商来说可能是个竞争优势。这种能力可以包括在场景中对文本和其它形状(共同地被称为标记)的渲染。通常地,这是通过绘制该标记并且以某种方式让其使场景模糊,或者试着将该标记完全绘制到场景中来处理的,在该情况下,该标记可能被场景的部分所模糊。在诸如三维(3D)的多维渲染中,存在关于如何以标记既是可见的又是还不使场景或者其任何部分模糊的这样的方式将该标记绘制到3D场景中的问题。

【发明内容】

[0002]为了提供对本文描述的一些新颖的实施例的基本理解,下文提出了简化的概要。该概要不是广泛的综述,并且其不旨在标识关键的/决定性的要素,或者描绘其范围。其唯一目的是以简化的形式提出一些概念作为对稍后提出的更详细的描述的序言。
[0003]所公开的架构实现在场景(例如,三维(3D))中对标记(还被称为标记对象)的绘制(或者渲染),所述标记既不使场景模糊(被理解为场景对象或者包括场景对象,其可以是自然的和/或人造的,并且包括作为没有被应用的标记的原始场景的一部分而包括的文本、线条和/或图形),也不令人不快地被场景(场景对象)模糊。通常,该架构操作以在看到给定块的标记和/或场景时确定对于用户的效用。这是通过以下方式来确定的:计算场景中的标记对象和相关联的场景对象的当前贡献量,并且基于这些贡献来确定哪个贡献量对于用户体验提供更大的效用(或者重要性),以及然后将所期望的景深衰减应用于对象和/或标记以实现对于用户的最佳效用。
[0004]应当理解的是,可以在至少两种不同的技术中应用衰减的水平:仅仅对于标记、仅仅对于产生遮挡的场景对象、或者对于标记和产生遮挡的场景对象二者。虽然本文的描述可以集中于一种技术,但是应当意识到的是,描述不被如此限制。在操作中,完全不透明地将所有场景对象绘制到标准的缓冲器中。然后,当按需减弱像素时,将标记绘制在场景之上到同一缓冲器之内。在完全不透明的场景对象之上绘制完全不透明的标记像素在结果上等效于在具有零不透明度的该像素处绘制场景对象。类似地,在不透明的对象之上绘制的部分减弱的标记像素看起来与是否已经代替地减弱了对象是相类似的。
[0005]当场景被缩小使得场景对象更难于识别时,用户将很可能想要看到更突显的和明显样式的标记,而不是潜在地不可识别的场景对象(诸如建筑物),因为场景对象在整个场景中更小并且更大量。因此,对于用户的效用是要绘制可识别的并且可读的标记,并且向用户/观看者呈现识别用户正在哪儿观看什么(例如,对于地理地图)的更信息量大的方式。以该方式,将绘制具有接近于完全不透明的标记像素。这被称为所计算的标记贡献在对于用户的效用(或者重要性)方面比场景贡献要大。
[0006]与此相反,当场景被放大时,用户将很可能想要清楚地并且明显地看到场景对象,以及场景对象的产生遮挡的像素后面的很少或者没有的标记,因为用户更多地被定向到该位置,并且因此,将绘制具有较大景深衰减(较小的不透明度)的标记对象。换句话说,对于用户的效用是要看到具有接近于完全不透明的场景对象像素。这被称为场景对象贡献在对于用户的效用方面比标记贡献要大(更重要),并且因此,该架构通过在场景的呈现中绘制具有降低的或者零不透明度的被遮挡的标记像素来补偿。
[0007]以导致模糊的对象(在标记前面的场景对象)的像素和被模糊的对象(例如,标记)的像素中的每像素为基础来计算贡献。
[0008]如果真要使用任何衰减,通过绘制具有适合于给定对象(场景和/或标记)的景深衰减的水平的标记和/或场景对象,将这些贡献显现给用户。这在不使场景内容和/或被放置在场景中的标记模糊的情况下实现(例如,利用文本、线条、图形等等作为标记对象)对3D场景的注释,其中的任何一个是期望被感知的。
[0009]标记可以被描述为最初未在给定场景中的任何对象(还被称为“标记对象”),但是被放置在场景(例如,地图)中,并且这辅助用户理解场景的方面。例如,标记可以包括但不限于:被放置(放在)在公路上的用于标识公路名称的文本、受限的运动方向、以及公路的状态(例如,在建造、事故、交通阻塞或者减速等等之下)。标记可以是叠加在公路和道路上的出于特定目的用户将旅行或者被建议旅行的路线(例如,被插入到公路、街道、道路等等之上的宽的线条)。标记还可以是非文本的和非线条的对象,诸如建筑物和其它图形(自然的和/或人造的)。
[0010]该架构不仅应用于具有标记(被应用于诸如地图之类的陆地场景的标记)和陆地场景对象的陆地场景,而且还应用于相对于空中对象(诸如云、飞机、飞行实体(例如,鸟)、行星、星群和其它空中标记等等)使用标记(例如,诸如云标签、飞行对象标签等等之类的空中标记)的空中场景。不管标记的类型是什么,该架构以每像素为基础来执行对标记和场景对象的绘制。
[0011]当将诸如文本、线条和其它图形之类的标记对象绘制到场景中时,做出关于首先在场景的3D空间中的哪里建立标记位置的确定。所公开的架构可以接收具有已经应用了标记的场景,但是然后操作以基于针对用户和照相机视野的效用度量(例如,缩放比例的变化)来绘制具有景深衰减的标记。基于标记在场景中并且相对于场景对象的位置,该架构计算关于标记和产生遮挡的场景对象对于用户的效用的贡献。例如,该贡献效用度量可以是对距离比或者百分比的计算。
[0012]如果场景对象和标记关于在标记前面的对象显得远离照相机,则离照相机的整个距离可以是使得标记贡献被计算为比场景贡献更重要或者具有更大的对于用户的效用,并且通过将景深衰减(较小的不透明度或者近似完全透明)应用于产生遮挡的场景对象像素以使得标记能够显得突显来突显地并且在视觉上可读地绘制标记。与此相反,如果相同的对象(场景和标记)显得更靠近照相机(例如,被放大)并且场景对象还在标记的前面,则近似地或者完全不透明(不透明)地渲染场景对象像素,由此遮挡标记的全部或者部分。
[0013]依据每像素的基础,做出第一遍(pass),以确定用于遮挡对象(例如,建筑物、地形等等)的像素的距离,所述对象与和照相机的位置/地点有关的标记相关联。第二遍将潜在地被遮挡的对象——标记,绘制到场景中。如果标记像素未被对象像素遮挡,则(例如,不透明的)绘制标记像素。如果标记像素被场景对象的像素遮挡,则基于至照相机的像素距离(标记像素和/或产生遮挡的对象像素)或者根据诸如产生遮挡的像素至被遮挡的像素的距离之类的其它方式来计算贡献。
[0014]可能存在任意数量的不同的方式,以其计算标记对象和场景对象的贡献(诸如比率),其通常考虑至照相机的距离或者由从产生遮挡的对象到照相机的距离划分的、产生遮挡的对象和标记之间的距离定义的值。例如,对于在标记对象像素中的一些或者全部像素前面的场景对象像素,可以计算从产生遮挡的像素到标记像素(被遮挡的像素)的距离,并且然后,将该距离值与产生遮挡的像素(或者标记像素)至照相机(来自观测者的视野)的距离进行比较,作为比率。因此,所计算的贡献本质上确立了要向用户渲染的效用。
[0015]考虑从场景对象的产生遮挡的像素至标记像素的距离的示例,沿来自照相机的直接视线是五米(或者某个数量)一一被遮挡的标记在产生遮挡的场景对象像素后面的五米。进一步假定从产生遮挡的像素至照相机的距离是五百米(或者相应的测量系统的某个值)。然后,该比率是5:500(大的比率差动),或者可以被计算为如与某个门限值或者增量设置(以编程方式受控的)相比的5/500 = 0.01的值(比较值),并且其指示阻碍用户的标记视野的场景物体的数量。因此,因为该比率较大,所以对于观看者来说,离照相机的距离是重要的,并且清楚地绘制标记(绘制具有接近于完全不透明的标记对象的被遮挡的像素),以提供当用户将很可能想要从该距离看到例如地图上的标记而不是对象时对于观看者的效用。
[0016]如果该比率基于较大的照相机距离而“较大”(比率差动较大,或者比较值较小),则标记贡献具有对于用户的较大的效用。因此,用户将很可能想要看到标记而不是场景对象,所以绘制具有接近于或者完全不透明的标记对象的被遮挡的像素(场景对象的产生遮挡的像素,当以完全不透明度保留的是利用标记的完全不透明的像素过度绘制的时)。
[0017]继续使用离产生遮挡的像素和标记(被遮挡的)像素的距离保持在五米的上文的示例,现在考虑将至照相机的距离降至一百米(或者相应的测量系统的某个值)。然后,该比率为5:50(较小的比率差动)或者可以被计算为5/50 = 0.1的比较值,比之前的大十倍的值。因此,现在场景显得被更放大了(场景对象和标
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1