用于数字图像检索的拼接过程的制作方法

文档序号:7991810阅读:120来源:国知局
用于数字图像检索的拼接过程的制作方法
【专利摘要】本发明描述了用于数字图像检索的技术。在一个实施例中,系统存储特定图像的多个版本的多个图像片。多个版本的每个图像具有不同的分辨率。多个图像片的每个图像片包括特定图像的每个版本的有界区域。基于特定图像的一部分为可见时的显示分辨率,系统确定特定图像的最终图像分辨率。系统撷取具有最终分辨率的特定图像的每个版本的一个或多个图像片。一个或多个图像片包括特定图像的将被显示的一部分。系统将一个或多个图像片应用到模型并渲染所述模型。
【专利说明】用于数字图像检索的拼接过程
【技术领域】
[0001]本发明涉及数字图像检索领域,具体地,涉及一种用于数字图像检索的拼接(tiling)过程。
【背景技术】
[0002]在此披露的某些部分中描述并且标识为“背景”或“先前方法”的某些方法是可实行的方法,但不必是先前已经构想或实行的方法。因此,除非另有说明,否则不应假设如此描述的任何这些方法仅凭标识为“背景”或“先前方法”而作为现有技术。
[0003]在基于计算机的系统中,该系统支持识别、订购和显示定制加框产品的预览图像,显示示出将要制造的产品转角的模拟特写景象、示出框架的斜角、一个或多个衬边的细节以及将通过一个或多个衬边在框架中加框的图像的细节,可能是有用的。事实上,在允许用户订购预制加框印刷品或其他视觉作品的方法中,传统上是为用户显示产品的一个或多个转角,这样用户就可以看到框架、衬边和图像的细节。
[0004]然而,特定系统可以允许用户上传一个或多个数字图像,根据位置重新排列图像,并且准备其中例如使用重叠方法结合了多个源图像的复合图像。用户可以包括终端用户消费者或诸如图库房的数字资产的创造者、艺术家、艺术家代表等。数字图像可以具有任何大小和任何内容。在这种系统中,显示具有图像转角的正确表现的景象(scene)变得具有挑战。显示这种转角景象需要实时访问图像提供方、以正确大小或比例获得与特定转角等效的数据集以及在应用重叠、修剪、平移或其他效果的同时渲染数据以示出图像转角。
【专利附图】

【附图说明】
[0005]图1图示了与使用本文技术的用户计算机图像显示的一部分有关的加框定制产品的表现形式。
[0006]图2图示了可以用来实施本文描述的过程的计算机系统。
[0007]图3图示了根据一个实施例的预计算过程。
[0008]图4图示了根据一个实施例的渲染过程。
[0009]图5是图示了可以实施本文技术的计算机系统的框图。
【具体实施方式】
[0010]在以下描述中,为了说明的目的,阐述许多具体细节以提供对本发明的全面理解。然而,将显而易见的是,本发明可以在没有这些具体细节的情况下实践。在其他情况下,以框图形式示出熟知结构和设备以避免不必要地使本发明模糊不清。
[0011]本文根据以下提纲描述实施例:
[0012]1.0总体概述
[0013]2.0结构和功能概述
[0014]3.0图像片(tile)的预计算[0015]4.0渲染过程
[0016]5.0实施机构——硬件概述
[0017]6.0扩展和替代
[0018]1.0总体概述
[0019]描述了用于优化数字图像检索和渲染的技术。在一个实施例中,存储特定图像的多个版本的多个图像片。多个版本的每个图像具有不同的分辨率。多个图像片的每个图像片包括特定图像的每个版本的有界区域。基于特定图像的一部分为可见时的显示分辨率,确定特定图像的最终图像分辨率。为具有最终分辨率的特定图像的每个版本撷取一个或多个图像片。该一个或多个图像片包括将被显示的一部分特定图像。该一个或多个图像片被应用到模型,随后该模型被渲染。
[0020]在一个实施例中,接收具有第一分辨率的特定图像的第一版本。从第一版本产生该特定图像的多个衍生版本。每个衍生图像具有比第一分辨率低的分辨率。图像的多个版本包括特定图像的衍生版本。
[0021]有界区域的形状可以根据实施方式而变化。在一个实施例中,有界区域是矩形的。另外或替代地,可以使用其他形状或复合区域来实施图像片。
[0022]在一个实施例中,在特定图像的坐标空间中识别可见矩形。可见矩形是完全包含图像将可见的部分的矩形。一旦可见矩形被识别出,则扩大可见矩形以包括与可见矩形重叠并且用于具有最终图像分辨率的特定图像的每个版本的所有图像片。所撷取的一个或多个图像片是与可见矩形重叠的图像片。
[0023]在一个实施例中,确定最终图像分辨率包括:确定与显示部分特定图像相关联的多个像素;对多个像素应用比例因数以识别最小分辨率;将最小分辨率舍入到可从特定图像的多个版本获得的下一个较高分辨率。最终分辨率是可从特定图像的多个版本获得的下一个较高分辨率。所使用的比例因数可以根据实施方式而变化。在一个实施例中,比例因数接近尼奎斯特极限。
[0024]在一个实施例中,模型是具有特定几何形状的三维(3D )模型。3D模型的几何形状可以根据实施方式而变化。在一个实施例中,3D模型是定制产品的模型。在另一个实施例中,对模型应用一个或多个图像片包括基于一个或多个图像片来计算用于特定几何形状的3D变换以产生变换的几何形状以及将一个或多个图像片映射到变换的几何形状。
[0025]在一个实施例中,变换的几何形状不包括如下部分特定几何形状:该部分特定几何形状映射到未被对于具有最终图像分辨率的特定图像的每个版本撷取的图像片。渲染模型包括根据变换的几何形状渲染模型。
[0026]2.0结构和功能概述
[0027]在一个实施例中,用户上传原始图像,该原始图像通常具有约3000像素X 3000像素大小的高分辨率。响应于初始上传,系统可以创建并存储用于诸如预览、产生微缩图等的辅助功能的主衍生图像,该主衍生图像的大小较小,如1000X 1000像素。然而,当使用主衍生图像示出框架、衬边和图像的转角时,通常会产生由于转角被选取和缩放时发生的损失而引起的转角模糊。另外,由于源图像是从用户获得的并且可具有不统一或不可预测的大小、分辨率和其他属性,所以应用刚性图像处理方法是有问题的。系统基本上可预期提供寻找图像的任意区域并将正确地渲染转角段,该转角段作为显示的虚拟框架和衬边的一部分。
[0028]在一个实施例中,计算机系统接收高分辨率原始图像并将原始图像存储在大图像数据存储器中。在一个实施例中,图像数据存储器能够存储数百万张图像。在一个实施例中,在用户计算机显示器上,来自数据存储器的图像被用作用于渲染的三维(3D)模型中的纹理,从而用于渲染模型。模型的特定渲染可以使用从数据存储器选出的一个或多个任意图像。
[0029]在一个实施例中,系统使用每个图像的最佳图像分辨率来渲染模型。在上下文中,最佳具有两个重要意义。第一,系统试图在模型的屏幕上渲染(on-screen rendering)中使用最好的可能图像逼真度。第二,系统试图通过特定处理器、服务器计算机或客户端计算机来使用可能最少的时间渲染模型。
[0030]在处理这些折中时,如果可以忽略渲染时间,则系统可以始终使用原始图像的最高分辨率,因为原始图像的高分辨率必然提供最好的图像逼真度。然而,与使用原始图像的较低分辨率版本相比,使用最高分辨率也需要最多的时间来渲染每个图像纹理。在一个实施例中,最大渲染时间的目标是100ms。在本文的方法中,当通过对将显示的每个图像的适当图像分辨率进行智能选择来使用最小时间从而产生显示时,有可能会产生与使用原始图像的显示基本上无区别的屏幕上显示(on-screen display)。
[0031]最小渲染时间的目标包括从数据存储器检索每个图像的时间、将图像解压缩到内存中的时间以及产生包含图像的模型的屏幕上渲染的时间。通常,图像分辨率越高,在每个先前单个渲染步骤中消耗的时间就越多。从数据存储器检索高分辨率图像需要转移大量数据。另外,与低分辨率图像相比,高分辨率图像会消耗更多的计算机内存并且需要更多的处理器时间来解压缩和渲染到景象中。
[0032]在许多类型的景象中,一些图像是完全不可见的。如果图像仅一小部分可见,则转移和解压缩整个图像会耗费时间和处理资源。在一个实施例中,提供了仅检索和解压缩图像的可见部分的方式。因此,在一个实施例中,可以使用可见部分的较高分辨率版本,而不会产生使用整个图像的较高分辨率版本的时间和存储空间的成本。因此,在一个实施例中,与使用整个较低分辨率图像相比,过程可以仅使用较高分辨率图像的部分来在给定时间内显示高逼真度的模型渲染。
[0033]图1图示了与使用本文技术的用户计算机图像显示的一部分有关的加框定制产品的表现形式。在个实施例中,加框定制广品可以包括框架102、衬边104和图像106。显示加框定制产品的转角特写可以包括旋转和缩放框架102、衬边104和图像106的复合图像,使得截去的转角显示在如由图像区域110表示的用户屏幕显示器内。显示特写部分地涉及检索图像区域110内的一部分图像106的一个或多个图像片108。
[0034]从图1可以看出,如果图像106是大数字文件,则当仅在图像片108A、108B内的部分图像在落入用户显示器图像区域110内的转角部分中可见时,从存储器检索整个图像将会浪费时间和处理资源。图像片108AU08B包括图像106的矩形子区域,但是在其他实施例中可以形成为多边形或除矩形之外的形状。在一个实施例中,框架102、衬边104和图像106的组合包括3D模型。为了图示清楚示例的目的,图1示出了两个图像片108A、108B,但是实际上每个图像106通常被分成四(4)个或更多个图像片并且可以存储任意数量的图像片。[0035]可以看出,图像区域110中的正确显示涉及3D模型内的图像106的旋转和变换。使用点坐标从图像区域110的坐标空间到图像106的第二坐标空间的逆变换来确定要求三角形区域112中的哪些像素坐标适合用户图像区域。如一个示例,假设图像106的坐标系统的相对转角在原点处具有实数坐标(0,0)并且在对角相对的转角处具有实数坐标(1,1)。三角形区域112可能具有(I, O)、(0.7,I)、(I, 0.7)的转角坐标。第一矩形图像片108A完全封闭将被检索的三角形区域112。
[0036]在一个实施例中,解决以上问题的数据处理过程通常包括预计算某些图像数据的离线过程和可以视作现场或在线过程的渲染过程。
[0037]图2图示了可以用来实施本文描述的过程的计算机系统。用户代理202直接或者通过一个或多个网络204间接连接到一个或多个渲染客户端206,该客户端连接到可以访问图像存储器210的服务器计算机208。用户代理202可以包括位于个人计算机、平板电脑、工作站、智能电话、移动设备或其他计算设备上的浏览器。网络204可以包括LAN、WAN、公共因特网或任何以上各项的一项或多项的组合。通常,渲染客户端206、服务器计算机208和图像存储器210共同位于本地网络内以进行高速通信。
[0038]在一个实施例中,用户代理202被配置或编程来请求图像渲染,服务器计算机208被配置来从图像存储器210检索图像106或图像片108A、108B并且将图像或图像片传输到渲染客户端206,渲染客户端206用于实施本文过程的其他方面。渲染客户端206随后将完成的渲染传输到用户代理202以向用户显示。然而,如本文具体描述的,渲染客户端206与服务器计算机208之间的处理责任的划分并非是强制的,并且本文所描述的渲染客户端的一个或全部功能可以在服务器计算机处实施。
[0039]在一些实施例中,如图1中所示的图像106可以包括作为复合图像的有关或相关联的多个单独图像,该复合图像通过对其组件图像参考的元数据进行描述。例如,可以将多个单独图像分层或者以其他方式组合以产生复合图像。在这些实施例中,检索图像106、图像片108AU08B或对应于扩大的可见矩形或三角形区域112的图像的其他部分可包括首先确定需要复合图像的哪个部分以及确定哪些图像片与该部分相关。允许用户创建复合图像并使用的结果是不可能为每个用户图像预计算和存储转角部分,以用于渲染框架、衬边和用户图像的3D模型。
[0040]在一个实施例中,基于特定图像在其为一个或多个模型的特定集被渲染时的特征来选择一个或多个图像片的大小、纵横比和/或分辨率。通过以此方式选择图像片属性,可以为应用特定图像的模型集优化图像片的传输和渲染。
[0041]3.0图像片的预计算
[0042]图3是图示根据一个实施例的用于预计算图像片的过程的流程图。该预计算过程可以以离线过程来实施。在步骤302中,该过程使用高品质图像缩放过程来以不同分辨率产生每个原始图像的多个较低分辨率版本,以便最大化每个分辨率的图像品质。在一个实施例中,使用1024X1024像素、2048X2048像素、3072X3072像素、4096X4096像素、6144X6144像素、8192X8192像素、约12288X12288像素以及16384X 16384像素直到小于或等于由内容创建者上传的原始图像大小的最大大小来创建和存储衍生图像。另外或替代地,内容创建者或原始图像所有者可以创建和上传衍生图像。
[0043]保存最高分辨率原始图像以用于定制加框产品的实际制造或产生。在一个实施例中,响应于用户或内容创建者上传高分辨率原始图像,过程立即或迅速创建例如每侧1024像素的一个衍生图像,以用于将图像的确认副本显示给用户。随后,可以在离线过程中准备其他衍生图像。
[0044]在步骤304中,过程通过从每个较低分辨率衍生图像的部分复制来创建和存储多个图像片,其中每个图像片包括相关联衍生图像的像素的连续、单个的范围。在一个实施例中,每个图像片是矩形的并且包括矩形内的所有像素。另外或者替代地,可以使用其他图像片形状。例如,图像片可以是三角形的或包括其边界内的所有像素的任意有界形状。
[0045]在一个实施例中,为上述大小的每个衍生图像创建和存储多个图像片。在一个实施例中,每个图像片被配置为每侧512像素;在其他实施例中,可以使用其他图像片大小和纵横比。例如,如果衍生图像是2048X2048像素,则基于该衍生图像可以复制和存储每侧512像素的十六(16)个图像片。在另一个实施例中,图像片的宽度可以是1024像素并且图像片的高度可以是512像素,以便优化图像片到特定模型集的应用。
[0046]在一个实施例中,基于特定图像在其为特定模型集被渲染时的一个或多个特征来选择在步骤304中创建和存储的图像片的大小、纵横比和分辨率。例如,图像片大小和纵横比的选择可以涉及寻找与作为与图像压缩相关的处理时间或资源使用的特定目标兼容的最小图像片大小。图像片大小和纵横比的选择还可以或者替代地考虑如下可能性,需要传输多个图像片来获知感兴趣的区域或图像内容或使用场景。例如,所选择的图像片属性可以取决于原始图像的纵横比和应用来进行渲染的模型集的几何形状。在一个实施例中,图像片大小是固定的并且大图像大小涉及创建更多的图像片。可替代地,可以使用可变图像片大小。可以使用具有不同属性的图像片对模型集执行处理测试以确定哪个大小、纵横比和分辨率最紧密匹配作为与将特定图像渲染到模型集相关联的处理时间和资源使用的特定目标。
[0047]在步骤306中,过程单独地压缩每个图像片。图像压缩算法可以根据实施方式而变化。示例性压缩算法包括(而非限制)行程长度编码、色度抽样、预测编码、压缩、颜色空间减少、熵编码和变换编码。
[0048]在步骤308中,过程将每个压缩的图像片以使得图像片能够被单独检索的方式存储在图像数据存储器中。例如,衍生图像可以与描述图像片数量和每个图像片在图像数据存储器中的位置的元数据相关联地存储。
[0049]4.0渲染过程
[0050]图4是图示根据一个实施例的渲染过程的流程图。在一个实施例中,在线渲染过程包括对景象中的图像的每个外观执行的以下子步骤。
[0051]在步骤402中,过程在图像的坐标空间中确定完全包含将在该外观中可见的部分图像的矩形;此矩形称为可见矩形。例如,在图1中,可见图像部分是三角形区域112并且可见矩形114完全包含该部分。在其他实施例中,在此步骤中可以确定其他有界区域。例如,如下文更详细描述的,在此步骤中可以识别出更复杂的区域。
[0052]在步骤404,过程考虑到将由图像的可见部分覆盖的屏幕像素数量来确定最佳图像分辨率以产生图像的高逼真度渲染。在一个实施例中,步骤404包括确定在终端消费者的显示器中将有多少数量的像素被覆盖或使用于显示最终渲染景象中或诸如图1的三角形区域112的一部分中。实践中已经发现,为了检索衍生图像而使用准确的确定数量会导致由于在渲染之后存在缩放现象(artifact)而产生较低品质的结果。因此,在一个实施例中,将所确定的数量乘以比例因数(例如,1.5)。或者,可以使用2.0的尼奎斯特极限(Nyquist limit)作为缩放因数,但是实证结果表明这个值可能由于在步骤406中执行的额外上舍入而不必要地高。该结果被转换成整个图形的像素的大小。例如,如果三角形区域112包括400X400像素,则应用1.5的比例因数会产生600X600像素。随后,如果三角形区域112代表约整个原始图像的1/3,则缩放的整个原始图像将为约1800X1800像素。
[0053]在步骤406中,过程将最佳图像分辨率舍入到图像数据存储器中的下一个更高可用分辨率,该分辨率称为最终分辨率。例如,如果缩放的整个图像大小为1800X1800像素,则最终分辨率可能是2048X2048像素,因为这是可用衍生图像的下一个较大的大小。来自该衍生图像的图像片将在后续步骤中使用。
[0054]步骤404和406是基于不必要使用的非常大的、高分辨率图像的识别的,因为感兴趣区域的最终渲染的尺寸和分辨率将较低。例如,再次参照图1,三角形区域112的边(不包括斜边)的长度可能是400X400像素。三角形区域112在屏幕空间中的尺寸可以通过将原始图像变换到屏幕空间中来获得。以此分辨率,在应用所有缩放、其他变换和渲染之后,相比于使用具有4096X4096像素的衍生图像,具有16384X 16384像素分辨率的衍生图像的图像片将几乎不增加图像信息或分辨率。因此,本步骤和下一个步骤实现始终使用高分辨率原始图像与确保即使在检索到较低分辨率图像片时最终渲染的景象仍具有高逼真度之间的折中。目标是在检索和处理较小、较低分辨率图像时,提供与原始高分辨率图像难以区分的最终渲染景象。在上述示例中,使用具有大于2048X2048像素分辨率的图像将产生外观上的无区别改进。相反地说,过程提供选择产生与最高分辨率衍生图像或原始图像等效的屏幕上外观的最小分辨率衍生图像的方式。
[0055]在步骤408中,过程使可见矩形或其他区域扩大以包括与可见矩形重叠的以四舍五入的分辨率的所有全部图像片;该结果称为最终矩形。在图1的情况下,可见矩形114将被扩大到图像片108A的边界。在其他情况下,可见矩形114可能被扩大成包括多个图像片108AU08B或其他。例如,如果可见矩形114即使比单个图像片稍大,则还是检索四(4)个图像片,因为只有全部图像片才能够从图像存储器进行检索。已经发现以此方式检索四(4)个图像片在实践中是比较常见的,并且其是确定用于上述离线过程中的各个图像片大小的因数。
[0056]在步骤410中,过程撷取包含在最终矩形中的以最终分辨率的图像片并将其解压缩为精确代表最终矩形的内存中图像。在各个实施例中,步骤5还可以包括仅检索和渲染感兴趣的特定期望区域,例如,仅仅是图1的可见矩形114或图1的三角形区域112。
[0057]在步骤412中,过程计算包含图像的几何形状的新3D变换,以补偿模型的纹理坐标参考整个图像而非最终矩形的情况。再次参照图1,用户显示器的图像区域110通常具有以像素位置表达的一个坐标系统,而原始图像106具有可以或不可以参考像素大小的不同坐标系统。例如,图像106的坐标系统可以是(0,O)至(1,I)。虽然可以将图像106的坐标系统平移成图像区域110的坐标系统,但是通常的平移方法是假设整个图像106可用而本方法仅使用特定图像片108A。因此,在一个实施例中,将图像片108A的几何形状缩放和平移以匹配在该图像片中表示的整个图像的部分。此步骤防止位于图像区域110中表示的景象外的图像106的渲染部分的错误尝试。结果是图像片108A出现在图像区域110的景象中的正确位置中。
[0058]在步骤414中,模型被渲染以产生景象的最终图像。在一个实施例中,由于步骤412中计算的变换而不渲染位于图像区域110外的图像片。将最终图像显示给用户。
[0059]5.0实施机构——硬件概述
[0060]根据一个实施例,本文描述的技术由一个或多个专用计算设备实施。专用计算设备可以被硬连接以执行技术,或者可以包括可持续编程来执行技术的数字电子设备,诸如一个或多个特定应用集成电路(ASIC)或现场可编程门阵列(FPGA),或者可以包括可编程来根据固件、内存、其他存储器或组合中的程序指令来执行技术的一个或多个通用硬件处理器。这些专用计算设备还可以将定制硬连接逻辑、ASIC或FPGA与定制编程组合来实现技术。专用计算设备可以是台式计算机系统、便携式计算机系统、手持设备、联网设备或者并入硬连接和/或程序逻辑来实施技术的任何其他设备。
[0061]例如,图5是图示计算机系统500的框图。计算机系统500包括总线502或用于传输信息的其他通信机构,以及与总线502连接的、用于处理信息的硬件处理器504。硬件处理器504可以是例如通用微处理器。
[0062]计算机系统500还包括连接到总线502的、用于存储将由处理器504执行的信息和指令的主内存506,诸如随机存取内存(RAM)或其他动态存储设备。主内存506还可以用于在执行由处理器504执行的指令期间存储临时变量或其他中间信息。这些指令在被存储在处理器504可访问的非暂时性存储媒体中时,将计算机系统500渲染成被定制以执行指令中指定的操作的专用机器。
[0063]计算机系统500进一步包括连接到总线502、用于为处理器504存储静态信息和指令的只读存储器(ROM)508或其他静态存储设备。提供了诸如磁碟或光碟的存储设备510,并且将其连接到总线502以用于存储信息和指令。
[0064]计算机系统500可以通过总线502连接到显示器512 (诸如阴极射线管(CRT)),显示器512用于将信息显示给计算机用户。包括字母数字和其他键的输入设备514连接到总线502,用于将信息和命令选择传输到处理器504。另一种类型的用户输入设备是诸如鼠标、跟踪球或光标方向键的光标控制516,其用于将方向信息和命令选择传输到处理器504并且用于控制光标在显示器512上的移动。输入设备通常具有两个轴(第一轴(例如,X)和第二轴(例如,y))上的两级自由度,这允许设备指定在平面中的位置。
[0065]计算机系统500可以使用定制硬连接逻辑、一个或多个ASIC或FPGA、固件和/或程序逻辑来实施本文描述的技术,其中,程序逻辑与计算机系统组合会导致或编程计算机系统500使计算机系统500成为专用机器。根据一个实施例,本文的技术由计算机系统500响应于执行主内存506中包含的一个或多个指令的一个或多个序列的处理器504来执行。这些指令可以从诸如存储设备510的另一个存储媒体读入主内存506。主内存506中包含的指令序列的执行使处理器504执行本文描述的过程步骤。在替代实施例中,可以使用硬连接电路来替代软件指令或与软件指令组合使用。
[0066]如本文使用的术语“存储媒体”是指存储导致机器以特定方式工作的数据和/或指令的任何非暂时性媒体。这种存储媒体可以包括非易失性媒体和/或易失性媒体。非易失性媒体包括(例如)光碟或磁碟,诸如存储设备510。易失性媒体包括动态内存,诸如主内存506。普通形式的存储媒体包括(例如)软盘、柔性碟、硬碟、固态驱动器、磁带或任何其他磁性数据存储媒体、CD-ROM、任何其他光学数据存储媒体、具有孔图案的物理媒体、RAM、PROM和EPROM、FLASH-EPROM、NVRAM、任何其他内存芯片或磁片盒。
[0067]存储媒体与传输媒体不同但是可以与其结合使用。传输媒体参与在存储媒体之间传送信息。例如,传输媒体包括同轴电缆、铜线和光纤,包括含有总线502的电线。传输媒体还可以采用声波或光波的形式,诸如在无线电波和红外线数据传输过程中产生的那些声波或光波。
[0068]在将一个或多个指令的一个或多个序列传递到处理器504以供执行时涉及各种形式的媒体。例如,可以首先将指令传递到远程计算机的磁碟或固态驱动器上。远程计算机可以将指令载入其动态内存并且使用调制解调器通过电话线发送指令。计算机系统500本地的调制解调器可以接收电话线上的数据并且使用红外线发射器来将数据转换成红外线信号。红外线检测器可以接收携带在红外线信号中的数据并且适当的电路可以将数据置于总线502上。总线502将数据传输到主内存506,处理器504从主内存检索并执行指令。主内存506所接收到的指令可以在由处理器504执行之前或之后可选地存储在存储设备510 上。
[0069]计算机系统500还包括连接到总线502的通信接口 518。通信接口 518提供与连接到本地网络522的网络链路520连接的双向数据通信。例如,通信接口 518可以是综合服务数字网(ISDN)卡、电缆调制解调器、卫星调制解调器或者提供与相应类型的电话线的数据通信连接的调制解调器。如另一个示例,通信接口 518可以是提供与相容LAN的数据通信连接的局域网(LAN)卡。还可以实施无线链路。在任何这种实施方式中,通信接口 518发送和接收携带表示各种类型信息的数字数据流的电、电磁或光学信号。
[0070]网络链路520通常提供通过一个或多个网络与其他数据设备的数据通信。例如,网络链路520可以提供通过本地网络522到主机计算机524或到由因特网服务提供商(ISP)526操作的数据设备的连接。ISP526进而提供通过全球分组数据通信网络(现在通常称为“因特网”)528的数据通信服务。本地网络522和因特网528都使用携带数字数据流的电、电磁或光学信号。穿过各个网络的信号和网络链路520上并且穿过通信接口 518的信号是传输媒体的示例形式,通信接口将数字信号携带到计算机系统500并且从其携带数字信号。
[0071]计算机系统500可以通过网络、网络链路520和通信接口 518发送消息和接收包括程序代码的数据。在因特网示例中,服务器530可能通过因特网528、ISP526、本地网络522和通信接口 518发送用于应用程序的请求代码。
[0072]接收到的代码可由处理器504执行,可被接收和/或存储在存储设备510中,,或者存储在其他非易失性存储器中以供后续执行。
[0073]6.0扩展和替代
[0074]在以上说明书中,已参照可能根据实施方式而变化的多个特定细节描述了本发明的实施例。因此,判断什么是发明、或拟由 申请人:造成的发明的唯一排他性指标就是此申请书中所发布的一系列特定格式的权利要求,包括所有随后的修正。本文对于这些权利要求中包含的术语明确阐述的任何定义应制约这些术语在用于权利要求中时的意义。因此,并非限制,权利要求中未明确详述的元素、性质、特征、优点或属性不该以任何方式限制此权利要求书的范围。因此,说明书和附图将被认为是说明性而非限制性的。[0075]在一个实施例中,过程支持较复杂图像区域而非可见矩形,并且可以允许仅撷取覆盖这些区域的图像片。例如,本文的方法可以用于确定应用于诸如杯子、滑板甲板或其他定制产品的固体的图像的可见区域。如一个特定示例,用户可能希望使包覆在杯子上并且从后面或另一个角度(在这个角度,图像的一部分不可见并且图像的非连续部分可见)观看的图像可视化。包覆图像的可见部分可以使用本文提供的相同总体技术来确定并且过程可以被配置来为图像的将在最终渲染中可见的那些部分检索图像片。
[0076]在一个实施例中,过程支持产生较低分辨率图像,这些图像在渲染时覆盖附接到图像存储器的服务器上的特定可见区域并且随后仅将那些特定区域转移到渲染客户端系统。例如,本文的许多过程可以在一个或多个计算机程序、其他软件元素或服务器计算机208而非渲染客户端206中的其他逻辑中实施。另外,当在服务器计算机208中实施技术时,在从图像存储器210检索原始图像时,可以应用其他优化,诸如联机执行缩放并产生所需要的多个分辨率的衍生图像。例如,如在上述示例中的,如果过程确定需要1800X1800像素的图像,则服务器计算机208可以被配置以联机产生正好所需的1800X 1800像素分辨率的衍生图像,而非预存储的多个衍生图像并随后将分辨率四舍五入到下一个可用衍生图像。
[0077]另外或替代地,渲染客户端206可以被配置为请求最小矩形而非整个图像片,并且服务器计算机208可以被配置为响应于此请求而联机创建所请求的最小矩形。例如,在图像存储器210存储或未存储图像片的情况下,渲染客户端206可以请求服务器计算机208传递可见矩形114而非包含该可见矩形的图像片108A,并且服务器计算机可以确定并创建包含仅用于该可见矩形的数据的响应或文件,从而进一步减少传递到渲染客户端206的数据量。
[0078]在一个实施例中,过程支持用于特定集模型和景象的预计算图像区域,并且预产生用于特别的那些景象的图像。
[0079]在一个实施例中,过程支持更复杂的图像压缩方案,这些方案允许寻找或检索图像的任意区域而无需将图像复制成多个存储的图像片。这些图像压缩方案的示例包括渐进图形文件(PGF)格式,该格式提供“感兴趣区域”功能。或者,可以构建用于联合图像编码专家组(JPEG)格式的图像的功能,该格式基于8X8块来压缩以检索特定的一个或多个感兴趣的8X8块。
【权利要求】
1.一种方法,其包括: 存储特定图像的多个版本的每个版本的多个图像片; 其中所述多个版本的每个版本具有不同的分辨率; 其中所述多个图像片的每个图像片包括所述特定图像的每个版本的有界区域; 其中基于与为一组一个或多个模型渲染所述特定图像相关联的一个或多个特征来选择所述多个图像片的每个图像片的纵横比; 基于所述特定图像的一部分为可见时的显示分辨率,确定所述特定图像的最终图像分辨率; 撷取具有所述最终图像分辨率的所述特定图像的每个版本的一个或多个图像片; 其中所述一个或多个图像片包括将被显示的所述一部分特定图像; 将所述一个或多个图像片应用到所述一组一个或多个模型中的一个模型; 渲染所述模型; 其中所述方法由一个或多个计算设备执行。
2.如权利要求1所述的方法,其进一步包括:接收具有第一分辨率的所述特定图像的第一版本;从所述特定图像的第一版本产生所述特定图像的多个衍生版本;其中每个衍生图像具有比所述第一分辨率低的分辨率;其中所述图像的多个版本包括所述特定图像的衍生版本。
3.如权利要求1所述的方法,其中所述有界区域是矩形。
4.如权利要求3所述的方法,其进一步包括:在所述特定图像的坐标空间中识别可见矩形;其中所述可见矩形完全包含所述图像将可见的部分;扩大所述可见矩形以包括与所述可见矩形重叠并且用于具有所述最终图像分辨率的所述特定图像的每个版本的所有图像片;其中所述撷取的一个或多个图像片是与所述可见矩形重叠的图像片。
5.如权利要求1所述的方法,其中所述多个图像片以压缩格式存储;所述方法进一步包括解压缩所述一个或多个图像片。
6.如权利要求1所述的方法,其中确定所述特定图像的最终图像分辨率包括:确定与显示所述部分特定图像相关联的多个像素;对所述多个像素应用比例因数以识别最小分辨率;将所述最小分辨率舍入到可从所述特定图像的多个版本获得的下一个较高分辨率;其中所述最终分辨率是可从所述特定图像的多个版本获得的所述下一个较高分辨率。
7.如权利要求6所述的方法,其中所述比例因数接近尼奎斯特极限。
8.如权利要求1所述的方法,其中所述模型是具有特定几何形状的三维(3D)模型;其中对所述模型应用所述一个或多个图像片包括基于所述一个或多个图像片来计算所述特定几何形状的3D变换以产生变换的几何形状;将所述一个或多个图像片映射到所述变换的几何形状。
9.如权利要求8所述的方法,其中所述变换的几何形状不包括如下部分所述特定几何形状:所述部分特定几何形状映射到未被对于具有所述最终图像分辨率的所述特定图像的每个版本撷取的图像片;其中渲染所述模型包括根据所述变换的几何形状渲染所述模型。
10.如权利要求8所述的方法,其中所述模型是可定制产品的3D模型。
11.用于存储指令的一个或多个非暂时性计算机可读媒体,所述指令在由一个或多个处理器执行时使一个或多个计算设备执行包括以下各项的操作:存储特定图像的多个版本的每个版本的多个图像片; 其中所述多个版本的每个版本具有不同的分辨率; 其中所述多个图像片的每个图像片包括所述特定图像的每个版本的有界区域; 其中基于与为一组一个或多个模型渲染所述特定图像相关联的一个或多个特征来选择所述多个图像片的每个图像片的纵横比; 基于所述特定图像的一部分为可见时的显示分辨率,确定所述特定图像的最终图像分辨率; 撷取具有所述最终图像分辨率的所述特定图像的每个版本的一个或多个图像片; 其中所述一个或多个图像片包括将被显示的所述一部分特定图像; 将所述一个或多个图像片应用到所述一组一个或多个模型中的一个模型; 渲染所述模型。
12.如权利要求11所述的非暂时性计算机可读媒体,其进一步存储使所述一个或多个计算设备执行包括以下各项的操作的指令:接收具有第一分辨率的所述特定图像的第一版本;从所述特定图像的第一版本产生所述特定图像的多个衍生版本;其中每个衍生图像具有比所述第一分辨率低的分辨率;其中所述图像的多个版本包括所述特定图像的衍生版本。
13.如权利要求11所述的非暂时性计算机可读媒体,其中所述有界区域是矩形。
14.如权利要求13所述的非暂时性计算机可读媒体,其进一步存储使所述一个或多个计算设备执行包括以下各项的操作的指令:在所述特定图像的坐标空间中识别可见矩形;其中所述可见矩形完全包含所述图像将可见的部分;扩大所述可见矩形以包括与所述可见矩形重叠并且用于具有所述最终图像分辨率的所述特定图像的每个版本的所有图像片;其中所述撷取的一个或多个图像片是与所述可见矩形重叠的图像片。
15.如权利要求11所述的非暂时性计算机可读媒体,其中所述多个图像片以压缩格式存储;所述指令进一步包括用于解压缩所述一个或多个图像片的指令。
16.如权利要求11所述的非暂时性计算机可读媒体,其中用于确定所述特定图像的最终图像分辨率的指令包括用于以下各项的指令:确定与显示所述部分特定图像相关联的多个像素;对所述多个像素应用比例因数以识别最小分辨率;将所述最小分辨率舍入到可从所述特定图像的多个版本获得的下一个较高分辨率;其中所述最终分辨率是可从所述特定图像的多个版本获得的所述下一个较高分辨率。
17.如权利要求16所述的非暂时性计算机可读媒体,其中所述比例因数接近尼奎斯特极限。
18.如权利要求11所述的非暂时性计算机可读媒体,其中所述模型是具有特定几何形状的三维(3D)模型;其中用于对所述模型应用所述一个或多个图像片的指令包括用于以下各项的指令:基于所述一个或多个图像片来计算所述特定几何形状的3D变换以产生变换的几何形状;将所述一个或多个图像片映射到所述变换的几何形状。
19.如权利要求18所述的非暂时性计算机可读媒体,其中所述变换的几何形状不包括如下部分所述特定几何形状:所述部分特定几何形状映射到未被对于具有所述最终图像分辨率的所述特定图像的每个版本撷取的图像片;其中用于渲染所述模型的指令包括用于根据所述变换的几何形状渲染所述模型的指令。
20.如权利要求18所述的非暂时性计算机可读媒体,其中所述模型是可定制产品的3D 模型。
【文档编号】H04N1/00GK103828339SQ201280042642
【公开日】2014年5月28日 申请日期:2012年8月31日 优先权日:2011年8月31日
【发明者】罗伯特·埃文·比弗三世, 莱斯利·杨·哈维尔, 理查德·哈罗德·比恩 申请人:彩滋公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1