用于改进多姿态3D渲染的速度和视觉保真度的方法 |
|||||||
申请号 | CN201380017993.7 | 申请日 | 2013-01-30 | 公开(公告)号 | CN104520903A | 公开(公告)日 | 2015-04-15 |
申请人 | 谷歌公司; | 发明人 | 斯科特·利宁格; | ||||
摘要 | 一种方法和系统通过 覆盖 边缘线条而提供对象的多 姿态 三维 渲染 的增强的视觉保真度。 服务器 通过网络将对象的多个二维渲染发送至客户端设备。每个2D渲染以不同姿态描绘对象。当2D渲染被依序显示时,该对象例如通过在轴线上进行旋转而表现为移动。该服务器还将多个覆盖渲染发送至客户端设备。每个覆盖渲染对应于相应的一个2D渲染并且描绘将在2D渲染上出现的边缘线条。该边缘线条在透明背景上进行渲染而使得当 用户界面 将2D渲染中的一个与相对应的覆盖渲染进行组合时,该边缘线条在2D渲染上高亮显示并且向观看者提供附加的视觉提示。 | ||||||
权利要求 | 1.一种在显示器上描绘对象的多姿态三维(3D)渲染的方法,所述方法包括: |
||||||
说明书全文 | 用于改进多姿态3D渲染的速度和视觉保真度的方法[0001] 相关申请 [0002] 本申请要求均于2012年1月31日提交的题为“Method for Improving Speed anVisual Fidelity of Multi-Pose 3D Renderings By Overlaying Visible Edges”的美 国临时专利申请号61/593,105;题为“Method for Improving Speed an Visual Fidelity of Multi-Pose 3D Renderings By Overlaying Visible Shadows”的61/593,115;题为 “Method for Improving Speed an Visual Fidelity of Multi-Pose 3D Renderings By Combining Images”的61/593,112;以及题为“Method for Improving Speed an Visual Fidelity of Multi-Pose 3D Renderings By Preloading an Optimized Thumbnail View”的61/593,109的优先权,上述申请均通过引用全文且就其各个方面合并于此。 技术领域[0003] 本公开涉及使用多姿态渲染对三维图形的二维显示,具体地涉及一种用于通过显示可见边缘而改进显示这样的多姿态3D渲染的视觉保真度和速度的方法和系统。 背景技术[0004] 背景技术的描述在这里是为了在总体上给出本公开的上下文而提供。就该背景技术部分中所描述的范围而言,当前署名的发明人的工作,以及该描述中并非以其它方式在 提交时构成现有技术的方面,既不明确也非隐含地被承认构成相对于本公开的现有技术。 [0005] 通常期望以软件来显示对象的交互式3D视图。然而,并非每个计算机、操作系统或浏览器都能够显示“真正的”3D,这或者是因为它们没有图形处理单元(GPU),网络带宽过小而不允许快速下载大的3D资产,或者编程环境不允许访问诸如 或 的 3D应用编程接口(API)。 [0006] 一些研发人员通过将3D对象的视图渲染为2D图像来解决该问题。在其最为简单的形式中,可能从单个相机视点渲染PNG或JPG文件并且使得其可在web服务器上获取。如 果用户正在观看购物网站上的产品明细页,则用户能够至少能够看到该产品的渲染,而无 论其浏览器或计算机是否支持实时3D。 [0007] 在此之外的一个步骤是其中对象或模型不仅在单个视图而是在多个视图中进行渲染的方法。用户在浏览器中被提供用户界面,用户能够在其中进行“点击和拖动”而以交互式速度旋转对象。由于多个视图是来自不同视图的对象的预渲染视图,所以用户能够“转动”对象并且从任意预渲染的观看角度看到对象,这给出了交互式3D的错觉,而实际上此时除了当前显示的2D图像之外什么都没有改变。 发明内容[0008] 在一个实施例中,一种计算机实现的在显示器上描绘对象的多姿态三维渲染的方法包括在计算机可读介质上存储该对象的多个二维渲染。该多个2D渲染中的每一个从不 同的显性(外观?)观看角度描绘对象。该方法还包括经由网络将多个2D渲染传送至耦 合至该显示器的客户端设备。该方法进一步包括在计算机可读介质上存储多个覆盖渲染。 每个覆盖渲染对应于多个2D渲染中的相应一个。每个覆盖包括以第一颜色进行渲染并且 对应于如相对应的2D渲染中所渲染的对象边缘的边缘线条、以及透明背景。该方法进一步 包括经由网络将该覆盖渲染传送至客户端设备,并且提供可操作来显示多个复合图像的界 面,每个复合图像包括层叠于其相对应的2D渲染之上的覆盖渲染中的一个。 [0009] 在另一个实施例中,一种用于在显示器上描绘对象的多姿态三维渲染的系统包括数据库,其存储该对象的多个二维渲染。该多个2D渲染中的每一个从不同的显性观看角度 描绘对象。该数据库还存储多个覆盖渲染,其中每个覆盖渲染对应于多个2D渲染中的相应 一个。另外,每个覆盖渲染包括以第一颜色进行渲染并且对应于如相对应的2D渲染中所渲 染的对象边缘的边缘线条、以及透明背景。该系统进一步包括机器可执行指令,其存储在机器可读介质上并且指定界面,该界面可操作来显示多个复合图像,每个复合图像包括层叠 于其相对应的2D渲染之上的覆盖渲染中的一个。再另外地,该系统包括服务器,其经由网 络通信地耦合至该数据库并且可操作来向通信地耦合至该网络的客户端设备发送指定该 界面的机器指令。该服务器还可操作来从该客户端设备接收用于渲染对象的请求,并且响 应于该请求从该数据库获取多个2D渲染以及多个覆盖渲染,并且将该多个2D渲染以及多 个覆盖渲染传送至该客户端设备。 [0010] 在又另一个实施例中,一种机器可读存储介质具有存储于其上的机器可执行指令的集合,当被执行时其使得处理器从通过网络通信地耦合至该处理器的服务器接收多个2D 渲染。该多个2D渲染中的每一个从不同的显性观看角度描绘对象。该指令还使得处理器 从该服务器接收多个覆盖渲染,每个覆盖渲染对应于多个2D渲染中的相应一个。每个覆盖 渲染包括以第一颜色进行渲染并且对应于如相对应的2D渲染中所渲染的对象边缘的边缘 线条、以及透明背景。另外,该指令使得该处理器使得耦合至该处理器的显示器设备显示多个复合图像。每个复合图像包括层叠于其相对应的2D渲染之上的覆盖渲染中的一个。 [0011] 在一个实施例中,一种计算机实现的在显示器上描绘对象的多姿态三维渲染的方法包括在计算机可读介质上存储该对象的多个二维渲染。该多个2D渲染中的每一个从不 同的显性观看角度描绘对象。该方法还包括经由网络将多个2D渲染传送至耦合至该显示 器的客户端设备。该方法进一步包括在计算机可读介质上存储多个覆盖渲染。每个覆盖渲 染对应于多个2D渲染中的相应一个。每个覆盖渲染包括以第一颜色进行渲染并且与如相 对应的2D渲染中所渲染的对象上的阴影相对应的阴影层、以及透明背景。该方法进一步 包括经由网络将该覆盖渲染传送至客户端设备,并且提供可操作来显示多个复合图像的界 面,每个复合图像包括层叠于其相对应的2D渲染之上的覆盖渲染中的一个。 [0012] 在另一个实施例中,一种用于在显示器上描绘对象的多姿态三维渲染的系统包括数据库,其存储该对象的多个二维渲染。该多个2D渲染中的每一个从不同的显性观看角度 描绘对象。该数据库还存储多个覆盖渲染,其中每个覆盖渲染对应于多个2D渲染中的相应 一个。另外,每个覆盖渲染包括以第一颜色进行渲染并且与如相对应的2D渲染中所渲染的 对象上的可见阴影相对应的阴影层、以及透明背景。该系统进一步包括机器可执行指令,其存储在机器可读介质上并且指定界面,该界面可操作来显示多个复合图像的界面,每个复 合图像包括层叠于其相对应的2D渲染之上的覆盖渲染中的一个。再另外地,该系统包括服 务器,其经由网络通信地耦合至该数据库并且可操作来向通信地耦合至该网络的客户端设 备发送指定该界面的机器指令。该服务器还可操作来从该客户端设备接收用于渲染对象的 请求,并且响应于该请求从该数据库获取多个2D渲染以及多个覆盖渲染,并且将该多个2D 渲染以及多个覆盖渲染传送至该客户端设备。 [0013] 在又另一个实施例中,一种机器可读存储介质具有存储于其上的机器可执行指令的集合,当被执行时其使得处理器从通过网络通信地耦合至该处理器的服务器接收多个2D 渲染。该多个2D渲染中的每一个从不同的显性观看角度描绘对象。该指令还使得处理器 从该服务器接收多个覆盖渲染,每个覆盖渲染对应于多个2D渲染中的相应一个。每个覆盖 渲染包括以第一颜色进行渲染并且对应于如相对应的2D渲染中所渲染的3D对象的边缘的 边缘线条、以及透明背景。另外,该指令使得该处理器使得耦合至该处理器的显示器设备显示多个复合图像。每个复合图像包括层叠于其相对应的2D渲染之上的覆盖渲染中的一个。 [0014] 在一个实施例中,一种计算机实现的在显示器上描绘对象的多姿态三维渲染的方法包括在计算机可读介质上存储图像文件。该图像文件存储单个图像的数据。该单个图像 包括多个部分,其中每个部分包括对象的二维渲染。该多个2D渲染中的每一个从不同的显 性观看角度描绘对象。该方法还包括经由网络将该单个图像文件传送至耦合至该显示器的 客户端设备并且提供用户界面,该用户界面可操作来每次一个地显示多个2D渲染。 [0015] 在另一个实施例中,一种用于在显示器上描绘对象的多姿态三维渲染的系统包括存储图像文件的数据库。该图像文件存储单个图像的数据,并且具有多个部分,每个部分包括对象的二维渲染。该多个2D渲染中的每一个从不同的显性观看角度描绘对象。该系统 还包括机器可执行指令,其存储在机器可读介质上并且指定界面,该界面可操作来显示多 个2D渲染。另外,该系统包括通过网络通信地耦合至该数据库的服务器。该服务器可操作 来向通信地耦合至该网络的客户端设备传送该指定界面的机器指令。该服务器还可操作来 从该客户端设备接收用于渲染对象的请求,并且响应于该请求从该数据库获取该图像文件 并且将该图像文件传送至该客户端设备。 [0016] 在又另一个实施例中,一种机器可读存储介质具有存储于其上的机器可执行指令的集合。当被处理器执行时,该指令使得该处理器从通过网络通信耦地合至该处理器的服 务器接收图像文件。该图像文件存储单个图像的数据。该单个图像包括多个部分,每个部 分包括三维对象的二维渲染。每个2D渲染从不同的显性观看角度描绘对象。该指令还可 操作来使得耦合至该处理器的显示器设备每次一个地显示多个2D渲染。 [0017] 在一个实施例中,一种在显示器上描绘对象的多姿态三维渲染的方法包括在计算机可读介质上存储该对象的多个二维渲染。该多个2D渲染中的每一个从不同的显性观看 角度描绘对象。该方法还包括在计算机可读介质上存储多个缩略图,每个缩略图对应于多 个2D渲染中的相应一个。另外,该方法包括经由网络将多个2D渲染传送至耦合至该显示 器的客户端设备,并且经由该网络将多个缩略图传送至客户端设备。再另外地,该方法包括提供界面,该界面可操作来显示多个缩略图中的每一个,并且在客户端设备接收到2D渲染 之后显示该多个2D渲染中的每一个替代相对应的缩略图。 [0018] 在另一个实施例中,一种用于在显示器上描绘对象的多姿态三维渲染的系统包括数据库,其存储该对象的多个二维渲染。该多个2D渲染中的每一个从不同的显性观看角度 描绘对象。该数据库还存储多个缩略图,每个缩略图对应于多个2D渲染中的相应一个。该 系统还包括存储在机器可读介质上的机器可执行指令。当被处理器执行时,该指令实现可 操作来显示多姿态3D渲染的用户界面。另外,该系统包括经由网络通信地耦合至该数据库 的服务器。该服务器可操作来向通信地耦合至该网络的客户端设备传送多个2D渲染并且 向该客户端设备传送多个缩略图。该用户界面可操作来显示多个缩略图中的每一个,并且 在客户端设备接收到2D渲染之后显示该多个2D渲染中的每一个替代相对应的缩略图。 [0019] 在又另一个实施例中,一种机器可读存储介质存储机器可执行指令的集合。当被处理器执行时,该指令使得该处理器从通过第一网络通信地耦合至该处理器的服务器接收 该对象的多个二维渲染。该多个2D渲染中的每一个从不同的显性观看角度描绘对象。该指 令还使得该处理器从该服务器接收多个缩略图。每个缩略图对应于多个2D渲染中的相应 一个。该指令进一个使得通信地耦合至该处理器的显示设备显示多个缩略图中的每一个, 并且在完全接收到2D渲染之后显示该多个2D渲染中的每一个替代相对应的缩略图。 附图说明 [0020] 以下所描述的附图描绘了这里所公开的系统和方法的各个方面。应当理解的是,每个附图描绘了所公开的系统和方法的特定方面的实施例,并且每个附图意在符合其可能 的实施例。另外,在任何可能的情况下,以下描述引用到以下附图中所包括的附图标记,其中多个附图中所描绘的特征被指定有一致的附图标记。 [0021] 图1是图示实现依据当前所描述实施例的方法的系统的示例性实施例的框图; [0022] 图2A-2L分别描绘了依据该描述的示出对象的多姿态3D渲染的12个示例性显示; [0023] 图3图示了对象的示例性2D渲染; [0024] 图4图示了图3的相对应渲染的示例性边缘线条覆盖图像; [0025] 图5图示了通过将图4的覆盖图像层叠在图3的2D渲染上而形成的示例性复合图像; [0026] 图6描绘了诸如图5中的一系列复合图像以及进行层叠以创建复合图像的相应渲染; [0027] 图7图示了对象的示例性2D渲染; [0028] 图8图示了图7的相对应渲染的示例性阴影覆盖图像; [0029] 图9图示了通过将图8的覆盖图像层叠在图7的2D渲染上而形成的示例性复合图像; [0030] 图10图示了依据该描述的具有多个2D渲染部分的示例性图像; [0031] 图11图示了图10的示例性图像的另一种维度形式; [0032] 图12图示了具有多个2D渲染部分的另一个示例性图像; [0033] 图13描绘了依据该描述的观看应用在其中创建用于显示多姿态3D渲染的用户界面的网页; [0034] 图14是描绘通过覆盖第二图像而改进多姿态3D渲染的速度和视觉保真度的方法的框图; [0035] 图15是描绘由服务器执行的用于通过组合图像来改进多姿态3D渲染的速度的方法的框图; [0036] 图16是描绘由客户端设备执行的用于通过组合图像来改进多姿态3D渲染的速度的方法的框图;和 [0037] 图17是描绘用于通过预先加载优化缩略图来改进多姿态3D渲染的速度的方法的框图。 具体实施方式[0038] 在以下所描述的实施例中,联网的系统允许一个或多个用户观看对象或模型的多姿态3D渲染。多姿态3D渲染被存储在一个或多个服务器上,该服务器向在局域网(LAN)或 广域网(WAN)上操作的一个或多个客户端传递该多姿态3D渲染。客户端设备可以是工作 站、台式计算机、膝上计算机、笔记本计算机、平板计算机、智能电话、个人数字助理等。客户端设备执行用于观看应用的指令以显示多姿态渲染。该多姿态3D渲染可以是多个2D渲染 (其可以是模型或对象的捕捉图像,或者可以是模型或对象的纹理渲染),每个2D渲染从不 同显性观看角度(姿态)描绘该模型或对象。2D渲染被依序显示从而呈现该模型或对象的 显性3D视图。通过用户界面控件的操控,用户可以对各个2D渲染的显示进行控制,由此从 用户所期望的角度呈现该对象或模型。例如,用户可以从围绕延伸通过该模型或对象的垂 直轴线(这里被称作“转动”)或者围绕延伸通过该模型或对象的水平轴线(这里称作“倾 斜”)的不同角度观看该对象或模型。可以实现各种技术来改进描绘多姿态3D渲染的速度 和/或效率。 [0039] 在一些实施例中,对于2D渲染系列中的每一个创建边缘线条覆盖图像。每个覆盖图像包括透明背景以及处于其当前姿态的对象或模型的可见边缘的线条绘制。当边缘线条 覆盖图像被叠加于相对应的2D渲染上以形成复合图像时,该复合图像由于良好定义的边 缘线条而对观看者表现为更为清晰的图像。 [0040] 在一些实施例中,对于2D渲染系列中的每一个创建的阴影覆盖图像是可见阴影渲染。每个阴影覆盖包括透明背景和阴影图像,所述阴影图像包括在3D渲染中出现在对象 上的阴影。当阴影覆盖图像被叠加在相对应的2D渲染上以形成复合图像时,该复合图像由 于阴影而对观看者表现为更为清晰的图像。 [0041] 在一些实施例中,多个2D渲染是单个图像文件的子图像(即,部分)。观看应用可以接收单个图像文件的参数或者利用单个图像文件的参数进行编程,该参数包括图像的整 体尺寸和多个2D渲染的数量,并且可以对该多个2D渲染中的个体依序显示。 [0042] 在一些实施例中,服务器向客户端传送多个2D渲染中的每一个的缩略图。该缩略图可以处于单个图像文件中或者可以是单独的图像文件,但是先于该2D渲染进行传送。当 接收到缩略图时,观看应用显示该缩略图,可选地被放大至与2D渲染相同的尺寸。当从服 务器进行下载时或者下载之后,缩略图渲染在显示器上被2D渲染替代。 [0043] 图1描绘了可以在其上实现这里所描述的方法的系统10的实施例的框图。系统10包括客户端设备12、服务器14、数据库16、以及耦合客户端设备12、服务器14和数据库 16的通信网络18。如以上所描述的,客户端设备12可以是工作站、台式计算机、膝上计算 机、笔记本计算机、平板计算机、智能电话、个人数字助理等。 [0044] 在一些实施例中,客户端设备12包括用于执行计算机可读指令的中央处理单元(CPU)20,用于在操作期间存储数据和指令的随机访问存储器(RAM)单元22,以及用于存储 软件应用、诸如动态链接库(DLL)的共享软件组件、CPU 20所执行的其它程序以及数据的 非易失性存储器24。作为示例,非易失性存储器24可以实现在经由总线耦合至CPU 20的 硬盘驱动器(HDD)上。替选地,非易失性存储器24可以被实现为固态驱动器(未示出)。 一般来讲,组件20、22和24可以以任何适当方式来实现。例如,虽然在图1中被描绘为单 个单元,但是CPU 20可以是处于一个或多个物理封装中的一个或多个处理器,其可以是单 核或多核处理器,或者可以是通用处理单元和图形处理器。此外,CPU 20可以划分在客户 端设备12的一个或多个子系统之间,诸如可能在具有通用处理器和包括专用处理器的图 形子系统的工作站中出现的情形。当然,CPU 20可以是或者包括一个或多个现场可编程门 阵列(FPGA)、数字信号处理器(DSP)和/或专用集成电路(ASIC)。 [0045] 在图1的示例实施方式中,客户端设备12是个人计算机(PC)。然而,一般地,客户端设备12可以是任意适当的静态计算设备或者诸如平板PC、智能电话等的便携式计算设备。虽然客户端设备12在图1的示例中包括存储和处理组件,但是在其他实施例中,客户 端设备12可以是所谓的瘦客户端,其在某些计算和/或存储功能上依赖于其它计算设备。 例如,在一个这样的实施例中,非易失性存储器24处于客户端设备12之外并且经由网络链 接而连接至客户端设备12。另外,客户端设备12可以耦合至输入设备26和输出设备28。 输入设备26例如可以包括诸如鼠标的指示设备、键盘、触摸屏、轨迹球设备、数字输入板或麦克风,以及输出设备28可以包括LCD显示监视器、触摸屏或另一种适当的输出设备。使 用输入设备26和输出设备28,用户能够访问客户端设备12的图形用户界面(GUI)。 [0046] 在操作中,对客户端设备12进行操作的用户可以使用浏览器应用30。在一个实施例中,浏览器应用30是存储在非易失性存储器24和/或加载到RAM 22中并且能够由CPU 20执行的独立应用。经由整合到浏览器30中或者由软件插件32(即,向浏览器应用30添 加功能的软件组件)实现的编程,浏览器应用30实现能够由CPU 20执行的观看应用34。 特别地,浏览器应用30可以实现解释引擎,其能够在浏览器应用30内解释并运行小的指令 集(即,小型程序)。指令集可以贯穿本申请被称作小程序。小程序可以由客户端设备12 作为浏览器应用30所请求的网页36的一部分而接收,并且一旦被下载就作为文件36存储 于RAM 22和/或非易失性存储器24中。如以下所描述的,处理器CPU 20执行的小程序可 以使得观看应用34在显示器28上显示用于观看和操控多姿态3D渲染的用户界面。观看 应用34实现的用户界面可以包括用于对在多姿态3D渲染中建模或描绘的三维形状的姿态 进行旋转、倾斜、缩放、依序选择以及以其它方式调整其的控件集合。 [0047] 服务器14实现许多与客户端设备12相同的组件,包括例如用于执行计算机可读指令的中央处理单元(CPU)40,用于在操作期间存储数据和指令的随机访问存储器(RAM) 单元42,以及用于存储软件应用、诸如动态链接库(DLL)的共享软件组件、CPU 40执行的其它程序以及数据的非易失性存储器44。作为示例,非易失性存储器24可以在经由总线耦合 至CPU 20的硬盘驱动器(HDD)上实现。替选地,非易失性存储器44可以被实现为固态驱 动器(未示出)。一般来讲,组件40、42和44可以以任何适当方式来实现。例如,虽然在图 1中被描绘为单个单元,但是CPU 40可以是处于一个或多个物理封装中的一个或多个处理 器,其可以是单核或多核处理器,或者可以是通用处理单元和图形处理器。此外,CPU 40可以划分在服务器14的一个或多个子系统之间,诸如可能在具有通用处理器和包括专用处 理器的图形子系统的工作站中出现的情形。当然,CPU 40可以是或者包括一个或多个现场 可编程门阵列(FPGA)、数字信号处理器(DSP)和/或专用集成电路(ASIC)。 [0048] 另外,服务器14可以耦合至输入设备47和输出设备49。输入设备47例如可以包括诸如鼠标的指示设备、键盘、触摸屏、轨迹球设备、数字输入板或麦克风,以及输出设备 49可以包括LCD显示监视器、触摸屏或另一种适当输出设备。使用输入设备47和输出设备 49,用户能够访问客户端设备14的图形用户界面(GUI)。 [0049] 在操作中,服务器14可以实现服务器软件46,其存储在非易失性存储器44中并且当被中央处理单元40执行时存储在RAM 42中。当被CPU 40执行时,服务器软件46可以 使得网页48从服务器14经由网络18传送至客户端设备12。在一些实施例中,网页48可 以存储在非易失性存储器44和/或数据库16中,而在其它实施例中,服务器软件46可以 使得网页48根据从客户端设备12接收并且存储在RAM 42中的信息得以创建。网页48可 以是实现多姿态3D渲染的显示的任意网页,作为示例而非限制,其包括涉及在线商户的网 页或涉及3D建模软件应用的网页。服务器14特别是非易失性存储器44或RAM 42还可以 存储用于观看应用34的程序(即,机器可执行指令),该观看应用可以响应于对观看应用 34的请求或者作为网页48中的一个网页的一部分而被传送至客户端设备12。服务器14 还可以存储可以由3D建模应用所使用的模块48。 [0050] 除其它之外,数据库16可以存储与多姿态3D渲染相关的记录50。在一个实施例中,记录50中的一个或多个包括可以由3D建模应用使用或者在3D表示中使用的3D模型 52,诸如3D地图。记录50还包括模型52的多个2D渲染54。每个渲染54从不同角度描绘 模型52所表示的对象。与记录50相关联的渲染54的数量可以是大于1的任意数量,但是 其通常处于4至40的范围之内。在一些实施例中,渲染54可以在对象旋转时全部从相似 或相同的高度描绘模型52所表示的对象。也就是说,36个图像可以以从一个图像54到下 一个渲染54的10度旋转差异来描绘对象。在其它实施例中,渲染54可以从处于一个高度 的多个旋转优势位置(rotational vantage)(即,旋转角)、从多个不同高度(即,倾斜角) 和/或从处于若干高度中的每一个的多个旋转位置描绘模型52所表示的对象,以提供该对 象的完整视图。以这种方式,观看渲染的用户(例如,使用在客户端设备12上操作的观看 应用34)可以能够观看对象而无需客户端设备12执行渲染实时3D图像的软件应用。替代 地,用户能够“转动”和/或“倾斜”对象并且从任何可用角度看到对象,这为用户给出了交互式3D的错觉,而实际上此时除了当前显示的2D图像之外什么都没有改变。 [0051] 图2A-2L图示了诸如在执行观看应用34时可能由显示设备28所显示的显示60的示例。显示60描绘了其上具有两个标记64、66的球形3D对象62。处于显示60底部的 控制栏68允许用户例如通过激活(例如,利用作为输入设备26的诸如鼠标的指示设备进 行“点击”)分别用于选择前一个或下一个图像的控件70和72或者通过移动滑动块控件 74而对对象62的视图进行控制。在图2A-2L的示例性显示60中,对象62通过12个相对 应的2D渲染以12个姿态进行描绘。每个相对应的2D渲染都从单个高度描绘对象62,但 是旋转至不同的角度。在每个连续2D渲染中,对象62进行旋转而看上去已经被旋转了30 度(整圈旋转的1/12)的增量。通过依序观看2D渲染,对象62看上去适当进行旋转而使 得用户能够从不同角度看到对象62。在一些实施例中,滑动块74可以包括用于示出当前在 显示哪个2D渲染的数字指示器76。在一些实施例中,用户可以使用输入设备26对对象进 行“点击和拖动”而以交互式的速度旋转对象。在一些实施例中,12个2D渲染处于高度压 缩格式而使得(多个)相关联文件的大小最小化。在各个实施例中,12个2D渲染可以以彩 色或灰度来描绘对象62。 [0052] 当然,将要理解的是,虽然图2A-2L描绘了其中使用12个2D渲染构建了3D对象62的多姿态渲染的示例实施例,但是3D对象的多姿态渲染可以从向三个或四个那么少到 40个或更多的那么多的各个数量的2D渲染进行构建。 [0053] 无论用来创建多姿态3D渲染的2D渲染的数量如何,在所公开的方法和系统的第一方面,添加覆盖图像以改进多姿态3D渲染的视觉保真度,即使在2D渲染采用了明显图像 压缩的情况下。该覆盖图像包含出现在每个其它2D渲染中的边缘线条的渲染。该覆盖图像 是双色图像,其具有透明背景(第一颜色)和边缘线条的单色(第二颜色)渲染。在一个实 施例中,边缘线条的渲染为黑色,虽然例如根据所建模的对象也可以使用其它颜色(例如,如果对象使用非常暗的颜色—例如黑色—进行建模,则可能优选地使用白色来渲染附加图 像中的边缘线条)。 [0054] 该覆盖图像不是仅描绘了对应于2D渲染中的单独一个的边缘线条,而且替代地描绘了对应于每个其它2D渲染的边缘线条。因此,再次参考图2A-2L中所示的其中多姿态 3D渲染经由12个2D渲染实现的示例,在一个实施例中,覆盖图像包括12个边缘线条渲染, 其中每一个对应于12个2D渲染中的一个。12个边缘线条渲染中的每一个在覆盖图像内具 有特定位置。在客户端设备12上执行的观看应用34进行操作以针对12个2D渲染中的每 一个显示覆盖图像的相对应部分以将边缘线条渲染覆盖在该2D渲染上。 [0055] 图3-5图示了使用边缘线条覆盖图像的概念如何针对单个2D图像进行操作。在图3中,单个2D纹理渲染80描绘了矩形3D对象82。该纹理渲染80可以是从各个角度描 绘对象82的这样图像群组中的一个,使得当渲染被依序观看时渲染形成对象82的多姿态 3D渲染。在纹理渲染80中,对象82具有三个可见的面84、86和88。面84、86和88的纹 理在图3中通过不同方向的剖面线进行描绘。图4描绘了边缘线条覆盖图像的相对应部分 90。相对应部分90包括对象82的边缘线条渲染92,其设置在透明背景94(在图4中由剖 面线96表示)上。边缘线条97A-97D对面88的边缘进行高亮显示,其中边缘线条97B和 97C分别高亮显示面88和84的相交以及面86和88的相交。类似地,边缘线条97E-97G, 利用边缘线条97C高亮显示面86的边缘,利用边缘线条97E高亮显示面84和86的相交。 边缘线条97H和97I,利用边缘线条97B和97E高亮显示面84的边缘。 [0056] 当被客户端设备12的CPU 20执行时,观看应用34可操作来选择覆盖图像的相对应部分90,并且将该相对应部分90覆盖在2D纹理渲染80上。图5示出了当观看应用34 显示通过将2D渲染覆盖有边缘线条渲染的相对应部分90而生成的复合图像102时由观看 应用34所生成的显示100。也就是说,3D对象82在纹理渲染80中进行描绘,并且边缘线 条渲染部分90被层叠在渲染80的顶端而使得边缘线条97A-97I与渲染80中所描绘的面 84、86和88的边缘对准。通常,在一些实施例中,这可以通过创建纹理渲染80和边缘线条 渲染部分90以具有相同的像素尺寸(例如,400x400、500x500、400x300等)而使得纹理渲 染80的每个像素在边缘线条渲染部分90中具有相对应的像素来实现,该边缘线条渲染部 分90为透明颜色(即,不改变或遮挡纹理渲染80中的相对应像素)或边缘线条颜色(即, 遮挡纹理渲染80中的相对应像素)。 [0057] 有利地,尽管基本渲染80进行了压缩,但是所产生的显示100以外观更为清晰的复合图像102描绘了3D对象82。此外,由于覆盖图像可以以GIF或PNG文件格式进行保存 而且仅是双色的,所以允许最大的无损压缩。在相同颜色像素的长的水平线条处,在PNG和GIF文件格式中使用LZW压缩方法是特别有效的。因此,可以使得文件大小(和相对应的文 件传输时间)最小化。另外,在一些实施例中,覆盖图像的边缘线条渲染可以—可能有选择地—在没有基本纹理渲染的情况下进行显示以呈现出仅有边缘的视图(也被称作“线框” 视图)。此外,在一个实施例中,覆盖图像在其余2D渲染之前被传输至客户端设备12(例如,由客户端设备12下载),而使得用户可以在其余2D渲染已经被完全下载之前操控(例如, 转动)该对象。在一些实施例中,覆盖图像尤其是边缘线条颜色的透明程度是可变的(例 如,利用显示应用34的滑动块控件)以对边缘看上去有多明显进行控制。 [0058] 在一些实施例中,使用可缩放矢量图形(SVG)代替渲染像素来创建覆盖图像以实现与利用以GIF或PNG文件格式保存的覆盖图像所获得的相同或相似的(多种)效果。还 将要理解的是,虽然以上被描述为单个图像文件的多个部分,但是覆盖图像可以均为从服 务器14传送至客户端12的个体文件。 [0059] 图6图示了在其中每个2D渲染和每个边缘线条渲染为个体文件中的图像的实施例中进行操作的第一方面的原则。图6中的顶部行的图像描绘了一系列的六个纹理渲染 80,它们可以被观看应用34依序显示以创建多姿态3D渲染。图6中的中间行的图像描绘 了一系列的六个边缘线条渲染92A,其中每一个对应于直接处于其上方的纹理渲染80。边 缘线条渲染92A在这里被单独描绘,因为它们可能存储在个体文件中(与被划分为多个部 分90的单个文件相对)。图6中的底部行的图像描绘了一系列的六个复合图像102,它们 分别通过将顶部行中的纹理渲染80与中间行中的边缘线条渲染92A进行层叠而产生。 [0060] 在所公开的方法和系统的第二方面,添加覆盖图像以改进多姿态3D渲染的视觉保真度。该覆盖图像是出现在每个其它2D渲染中的阴影的渲染。与以上所描述的覆盖图 像相同,第二方面中的覆盖图像是双色图像,具有透明背景和单色的阴影渲染。在一个实施例中,阴影渲染为黑色,虽然如以上关于边缘线条所描述的也可以使用其它颜色。 [0061] 在第二方面,覆盖图像不是仅描绘对应于其它2D渲染中的单独一个的阴影,而且还描绘对应于其它2D渲染中的每一个的阴影。就像边缘线条覆盖图像那样,阴影覆盖图像 包括图2A-2L的示例实施例中的12个阴影渲染,其中12个阴影渲染中的每一个对应于一 个2D渲染。12个阴影渲染中的每一个在覆盖图像内具有特定位置。在客户端设备12上执 行的观看应用34进行操作以针对12个2D渲染中的每一个显示覆盖图像的相对应部分而 将阴影渲染覆盖于该2D渲染之上。 [0062] 图7-9图示了使用阴影覆盖图像的概念如何针对单个2D渲染进行操作。在图7中,单个2D纹理渲染80(来自图3)描绘了矩形3D对象82。同样,纹理渲染80可以是从各 个角度描绘对象82的这样图像群组中的一个,使得当渲染被依序观看时渲染形成对象82 的多姿态3D渲染。图8示出了阴影覆盖图像的相对应部分112。该相对应部分112包括对 象82的阴影渲染114,其设置在透明背景116(在图8中由剖面线118所指示)上。阴影 115在相对应部分112中由点刻区域进行描绘。 [0063] 当被客户端设备12的CPU 20执行时,观看应用34可操作来选择覆盖图像的相对应部分112,并且将该相对应部分112覆盖在2D纹理渲染80上。图9示出了当观看应用 34显示通过将2D渲染覆盖有阴影渲染的相对应部分112而生成的复合图像120时由观看 应用34生成的显示120。也就是说,3D对象在纹理渲染80中进行描绘,并且阴影渲染部分 114被层叠在渲染80的顶端而使得阴影115与渲染80对准。一般地,在一些实施例中,这 可以通过创建纹理渲染80和阴影渲染部分114以具有相同的像素尺寸(例如,400x400、 500x500、400x300等)而使得纹理渲染80的每个像素在阴影渲染部分114中具有相对应 的像素来实现,该阴影渲染部分为透明颜色(即,不改变或遮挡纹理渲染80中的相对应像 素)或阴影颜色(即,变暗或遮挡纹理渲染80中的相对应像素)。 [0064] 有利地,尽管基本渲染80进行了压缩,但是所产生的显示120以外观更为清晰的复合图像122描绘了3D对象82。此外,由于覆盖图像以GIF或PNG文件格式进行保存而且 仅是双色的,所以允许最大的无损压缩。因此,可以使得文件大小(和相对应的文件传输时间)最小化。在一些实施例中,覆盖图像尤其是阴影颜色的透明程度是可变的(例如,利用 显示应用34的滑动块控件)以对阴影看上去有多明显进行控制。 [0065] 在一些实施例中,使用可缩放矢量图形(SVG)代替渲染像素来创建覆盖图像以实现与利用以GIF或PNG文件格式所保存的覆盖图像获得的相同或相似的(多种)效果。 [0066] 虽然以上所描述的覆盖图像被描述为其中每一个在其中包括对应于多姿态3D渲染的所有2D渲染的区域的单个图像,但是可能针对多姿态3D渲染的每个相对应2D渲染使 用单独的覆盖图像(虽然如将会理解的,其效率较低)。 [0067] 在所公开的方法和系统的第三方面,通过将多个2D渲染组合为单个图像文件来改进下载多姿态3D渲染所需的时间。现在参考图10,描绘了其中从36个2D渲染130创建 多姿态3D渲染的示例性实施例。当然,虽然图10的实施例从36个2D渲染130创建多姿 态3D渲染,但是如同图2A-2L中所描绘的多姿态3D渲染的情形那样,可以使用其它数量的 2D渲染。在任意情况下,在图10的实施例中,36个2D渲染130在存储在单个文件中的单 个图像132中水平排列。在图10中,虚线A和G分别指示单个图像132的最左侧边缘和最 右侧边缘,而虚线B-F则指示图像132的连续边界。也就是说,虚线B排成一行,虚线C排 成一行,而使得36个2D渲染130将形成单个水平定向的图像132。 [0068] 因此,现在转向图11,单个文件将会存储单个图像132。在图11所描绘的示例性单个图像132中,单个图像132被划分为36个部分134,其中每个部分对应于2D渲染中的 一个。部分134被排列为跨单个水平行;也就是说,部分134被排列为行,并且每个部分134具有等于单个图像132的总宽度的1/36的宽度。例如,如果每个部分136具有500像素的 宽度和375像素的高度,则单个图像132的总宽度为18000像素(500x36)并且单个图像 132的总高度为375像素。 [0069] 因此,代替请求并下载36个独立2D渲染中的每一个,观看应用34仅请求并下载单个图像132。结果,有关文件大小和带宽的开销明显降低。另外,由于许多浏览器具有可操作来每次仅下载1-4个文件的下载队列,所以消除了下载许多个体图像的问题,有利于 下载单个(虽然更大的)图像。因此,在以上参考图10和11所描述的示例的特定情形中, 该方法可以将下载从跨36个HTTP请求的828kB减少至跨单个请求的173kB。这对应于大 约80%的大小减小。 [0070] 在一些实施例中,除了转动对象之外,多姿态3D渲染可以允许观看者倾斜对象。现在参考图12,单个图像136可以包括在跨该图像136水平部署的部分138,例如对应于 图10中所描绘的36个2D渲染130中的每一个。如以上所描述的,依序观看36个2D渲染 130可以允许观看者看上去对多姿态3D渲染中的对象进行转动。单个图像136还可以针对 转动对象的36个2D渲染中的每一个包括该图像的部分140,它们共同允许观看者对多姿 态3D渲染中的对象进行倾斜。在图12所描绘的实施例中,部分140在图像中垂直向下排 列。例如,单个图像136包括针对36个转动部分中的每一个的九个这样的部分140(倾斜 部分)(或者,替选地称作针对九个倾斜部分中的每一个的36个旋转部分),由此允许观看 者从324个不同角度观看多姿态3D渲染中的对象或模型。在图12所描绘的示例中,单个 图像136将具有18000像素(500x36)乘3375像素(375x9)的总体大小。当然,虽然转动 位置和倾斜位置在图12中分别被描绘为在图像中水平和垂直排列,但是转动位置和倾斜 位置可以替代地分别垂直和水平地进行排列。 [0071] 在一些实施例中,单个图像136被存储为渐进格式的文件(例如,JPEG或PNG文件)。当单个图像136被传输至客户端设备12时,用户可以能够在单个图像136的传输完 成之前观看和/或倾斜和/或转动多姿态3D渲染的低质量视图。这优于使用个体渲染(例 如,图2A-2L中所描绘的图像)的方法,因为在这些方法中,一些渲染将先于其它渲染完成 下载。 [0072] 在所公开的方法和系统的第四方面,使用缩略图集合对多姿态3D渲染进行预览直至(多个)高质量图像(例如,以上所描绘的单个图像136或2D渲染集合)进行了传输, 并且采用若干种策略之一对选择要以多姿态3D渲染表示的模型和对象与用户能够开始操 控(例如,通过转动或倾斜)该多姿态3D渲染的时间之间的时间进行优化(例如,减少)。 在一些实施例中,与将组成多姿态3D渲染的2D渲染相比,缩略图可以以更低的颜色位深进 行渲染。也就是说,虽然可能期望“真彩色”视图(例如,24位颜色或更高)来捕捉纹理和 明暗的细微之处而使得多姿态3D渲染令人信服,但是可以使用较低位深来渲染缩略图。在 实施例中,缩略图可以被渲染为4位(16色)图像或5位(32色)图像,虽然也可以使用更 高和更低的位深。虽然质量可能有所降低,但是该质量对于预览而言是可接受的,并且较低位深产生了更小的图像,由此减少了用户能够对多姿态3D渲染进行操控之前的启动时间。 [0073] 在一些实施例中,除了使用更低颜色深度之外或作为其替代,使用另一种策略。代替使用处于其原有大小的缩略图,缩略图可以由浏览器和/或观看应用进行放大。例 如,如果多姿态3D渲染为400x400像素,则缩略图可能以某个更小尺寸渲染但是被放大为 400x400像素。作为示例而非限制,缩略图可以200x200像素、100x100像素、50x50像素等 进行渲染。该策略在缩略图需要以2的幂进行放大(例如,缩放)时特别有利,因为许多浏 览器已经被配置为以2的幂对图像进行放大。为此,以100x100像素(或200x200像素) 渲染的缩略图在预览将为400x400像素的多姿态3D渲染时会是有利的,因为该缩略图能够 容易地通过因数4(或2)进行放大,而250x250像素的缩略图或125x125像素的缩略图— 虽然它们可能可行—将更适合于将为500x500像素的多姿态3D渲染。 [0074] 另外,在一些实施例中,缩略图可以以在一个维度与在另一个维度不同地进行缩放。例如,每个缩略图可以沿水平轴线使用更少的像素进行渲染。当对象跨视场移动时,人眼和大脑适于对“运动模糊”进行补偿,而确定模糊对象的形状。利用该原理,可以沿转动轴线(即,水平轴线)利用更少像素来渲染转动的对象或模型,而并不会明显影响到基本图 像的感知质量。例如,如果多姿态3D渲染为400像素宽x400像素高,则缩略图可以被渲染 为50像素宽x 100像素高。50个从左至右的像素将被双倍拉伸为像100个从上至下的像 素那么多,这给出了运动模糊的错觉,观看者的眼睛将对此进行补偿。此外,与其它实施例一样,这些实施例利用了LZW压缩对重复水平像素进行压缩的能力,这使得文件大小减小。 [0075] 除此之外或替选地,在一些实施例中,类似于以上关于形成多姿态3D渲染的2D渲染所描述的以及在图10和11中所描绘的部署,缩略图可以从左至右联合在单个图像中。如 同2D渲染,缩略图部署在单个图像文件中特别是从左至右进行部署使得HTTP请求的数量 最小化(即,使得必须下载的文件数量和相对应的开销带宽最小化)并且利用了在PNG和 GIF图像中使用的LZW压缩方法的效率,其进而进一步减小了文件大小。 [0076] 当然,以上所描述的各个方面可以单独或组合使用。作为示例而非限制,在一个实施例中,多姿态3D渲染示出了可以跨36个姿态旋转的建模对象。也就是说,多姿态3D渲染看上去示出了绕中心垂直轴线以大约10度增量旋转的对象。多姿态3D渲染中的每个姿态 以400像素x400像素的图像描绘对象。用来创建多姿态3D渲染的36个2D渲染在单个图 像文件中进行渲染,其尺寸为14400像素x 400像素。换句话说,单个图像文件中的36个 2D渲染从左至右进行排列。边缘线条覆盖文件包括36个边缘线条渲染,每一个对应于36 个2D渲染中的一个并且在透明背景上以单色进行渲染。36个边缘线条渲染均为400x400 像素,并且以真彩色进行渲染并从左至右共同排列在存储于单个图像文件中的14400像素 乘400像素的图像中。阴影覆盖文件类似地包括36个阴影渲染,每一个对应于36个2D渲 染中的一个并且在透明背景上以单色进行渲染。36个阴影渲染同样均为400x400像素,并 从左至右共同排列在存储于单个图像文件中的14400像素乘400像素的图像中。缩略图文 件同样包括36个缩略图,每一个对应于36个2D渲染中的一个并且以比2D渲染更低的颜 色深度和分辨率进行渲染。36个缩略图均为50像素宽和100像素高,并且从左至右共同排 列在存储于单个图像文件中的1800像素宽乘100像素高的图像中。作为另外的优势,缩略 图文件还可以被用来提供更小版本的多姿态3D渲染以便例如在搜索结果旁被用作预览。 [0077] 在示例性实施例中,四个图像文件(缩略图、边缘线条渲染、阴影渲染和2D渲染)从服务器14传送至客户端12。边缘线条覆盖文件可以首先传送,接着为缩略图,然后是阴 影覆盖文件,并且最后是2D渲染。观看应用34可以首先显示边缘线条渲染,在其中填充有 缩略图的放大(即,缩放)版本,添加阴影,并且当包含2D渲染的文件(即,四个文件中的 最大文件)已经完成传输时,将缩略图替换为2D渲染。 [0078] 当然,以上所描述的示例性实施例仅是单个实施例,并且这里所描述的特征可能进行许多其它组合。 [0079] 现在转向观看应用34,客户端设备12必须能够使得显示设备28显示多姿态3D渲染。如以上所描述的,观看应用34可以由CPU 20作为浏览器30内运行的小程序来执行。 在一些实施例中,观看应用34使得用户界面被显示为在web浏览器30中显示的网页的一 部分。参考图13,诸如显示设备28在CPU 20执行浏览器应用30时所可以显示的浏览器 窗口150许多浏览器的标准元素,包括包括标题栏152、导航栏154、状态栏156和内容窗 口158。在内容窗口158内,可以显示包括模型属性(未示出)在内的各种内容,并且在一 些实施例中,包括用于允许客户端设备12的用户搜索要在多姿态3D渲染中显示的模型和 /或对象的搜索域157和相关联的搜索按钮159。内容区域258包括通过执行观看应用34 所生成的用户界面160。用户界面160被划分为渲染窗口162和控制区域164。渲染窗口 162依据用户所选择的模型或对象并且进一步依据控制区域164中的各种控件(以下进行 描述)的状态而显示多姿态3D渲染166。例如,多姿态3D渲染166可以包括所渲染的边缘 线条168、所渲染的表面明暗170以及所渲染的阴影172。 [0080] 控制区域164根据观看应用34的实施例和多姿态3D渲染166的特定实施方式而可以包括各种控件。通常,控制区域164可以包括“播放”控件174,其还可以在多姿态3D 渲染166处于“播放”模式时用作“暂停”控件。当处于“播放”模式时,多姿态3D渲染166可以绕一个或多个轴线进行旋转。例如,缺省地,激活“播放”控件174可以使得多姿态3D渲染166表现为绕轴线176进行旋转,该轴线176可以或可以不显示在渲染窗口162中。控 制区域164还可以包括方向控件178和180,它们分别使得多姿态3D渲染表现为以反向或 正向绕轴线176进行旋转。滑动条182可以具有指示和/或控制多姿态3D渲染的所选择 姿态的控件184。也就是说,控件184的移动可以使得多姿态3D模型166发生旋转。 [0081] 根据实施例,控制区域164还可以包括用于对多姿态3D渲染166的显示数量进行操控的一个或多个控件。仍然参考图13,在一个实施例中,控制区域164包括仅边缘线条控件186、边缘和纹理控件188以及仅纹理控件190。仅边缘线条控件186使得观看应用34 在渲染窗口162中仅显示边缘线条覆盖图像中的渲染。类似地,仅纹理控件190使得观看 应用34在渲染窗口162中仅显示2D图像的渲染。边缘和纹理控件188使得边缘线条渲染 层叠在2D图像上。可以为滑动条形式的另外的控件192可以允许另外的分层特别是阴影 渲染以有所变化的不透明度在多姿态3D渲染166中进行显示。 [0082] 在实现预览模式的实施例中,控制区域164可以包括一个或多个附加控件。例如,在图13中所描绘的实施例中,控制区域164包括预览模式选择控件194的集合。预览模式选择控件在图13中被描绘为使用单选按钮来实现,虽然应当意识到的是,所实现的特定控 件类型是编程人员选择的问题。预览模式控件194允许用户选择是否禁用预览模式(195)、 仅包括边缘线条(196)、仅包括缩略图(197)或者包括缩略图和边缘线条(198)。应当清楚 的是,使用控件194对预览模式的选择可能影响到完全下载多姿态3D渲染所需的时间、如 此所需的必要带宽和/或所下载文件的数量。例如,如果控件195被选择,则观看应用34可 以仅使得(多个)2D渲染被传送至客户端设备12,并且多姿态3D渲染将在接收到2D渲染 时进行显示(或者当在渐进格式的单个文件的情况下接收到图像的一部分时进行显示)。 替选地,如果控件196被选择,则观看应用34可以使得边缘线条覆盖图像先于2D渲染被传 送至客户端设备12,并且将在2D渲染进行传输的同时呈现模型或对象的边缘线条渲染。作 为又另一个替选,如果控件197被选择,则观看应用34可以使得缩略图集合(优选地被存 储为单个图像文件)先于2D渲染被传送至客户端设备12,并且将在2D渲染进行传输的同 时呈现缩略图(放大至2D渲染的大小)。作为再另一个替选,如果控件198被选择,则观看 应用34可以使得边缘线条覆盖图像和缩略图集合(优选地被存储为单个图像文件)先于 2D渲染被传送至客户端设备12,并且将在2D渲染进行传输的同时呈现层叠有边缘线条渲 染的缩略图。 [0083] 应当显而易见的是,观看应用34的特定操作将在很大程度上依赖于实施方式。然而,考虑到该描述,编程领域的技术人员应当能够利用最低程度的实验而实现这里所描述 的实施例。根据实施例,观看应用34将能够执行以下中的一个或多个:将一个或多个图像 层叠在一个或多个其它图像上,包括一个或多个至少部分透明的图像;将单个图像的多个 部分显示为分立图像;对图像或图像的一部分进行放大(即,缩放);接收用于选择层叠的 一个或多个图像的要显示层的用户输入;接收用于选择待显示图像或包含多个部分的图像 中的一部分的用户输入;接收用于对一个或多个图像的透明度特性进行调节的用户输入; 依序显示一个或多个图像或图像的层叠组合;显示放大缩略图直至有更高分辨率的图像可 用并且随后利用更高分辨率的图像替换放大缩略图。 [0084] 观看应用34至少能够依序显示描绘姿态变化的对象或模型的多个2D渲染(或照片),而使得通过该多个2D渲染的依序显示,该对象或模型向用户表现为3D渲染。在一些 实施例中,观看应用34将多个2D渲染作为图像循环进行依序显示(即,在显示所有的多个 2D渲染之后,观看应用34“循环”回到多个2D渲染中的第一个并且再次显示所有的多个 2D渲染)。在一些实施例中,观看应用34进一步能够接收用户输入以允许观看者通过暂停 2D渲染的依序显示、反转2D渲染的依序显示的方向和/或步进通过2D渲染的依序显示而 对多个2D渲染进行操控。 [0085] 对于所描述的方法和系统的至少一些方面而言重要的是,观看应用34在一些实施例中将能够将第一图像和一个或多个覆盖图像进行层叠以创建复合图像。第一图像可以 例如是多个2D渲染中的一个(例如,在图3和7中描绘的2D纹理渲染80),而覆盖图像可 以是具有至少一个透明区域的图像。特别地,覆盖图像可以是对应于第一图像的边缘线条 渲染和/或阴影渲染(例如,如图4和8中所描绘的)。将覆盖图像层叠于第一图像上将由 于覆盖图像的边缘线条渲染或阴影渲染对第一图像增加的清晰度而使得复合图像的可见 度有所提升。观看应用34能够使用相对应的多个覆盖图像对于依序显示的多个2D渲染中 的每一个提供复合图像。在一些实施例中,复合图像中的一个或多个层可以由一个或多个 用户输入(例如,按钮、滑动块、切换控件等)进行选择。 [0086] 此外,对于所描述方法和系统的一些方面,观看应用34在一些实施例中将能够作为单个图像文件来接收多个依序显示的2D渲染和/或相对应的多个覆盖图像(例如,层叠 于多个2D渲染上以创建复合图像的图像)。例如,观看应用34可以能够接收图11所描绘 的图像132,并且依序显示36个部分134中的每一个。在一些实施例中,部分134的数量可 以在观看应用34中进行硬编码,而在其它实施例中,观看应用34可以例如从服务器14接 收部分134的数量作为参数。在任意情况下,观看应用34都可操作来确定图像132的整体 宽度,并且将图像132的宽度划分为部分134的数量,将每个部分134作为第一多个图像或 者作为相对应的多个覆盖图像进行显示。也就是说,第一图像和/或覆盖图像中的任一个 或者其二者可以作为包含具有多个部分(例如,部分134)的图像(例如,图像132)的单个 文件进行传送。 [0087] 另外,在一些实施例中,观看应用34能够请求和/或接收第一多个缩略图(作为单个文件或多个文件)以及形成多姿态3D渲染的第二多个2D渲染。特别地,观看应用34 可以接收缩略图并且可以将每个缩略图放大至多姿态3D渲染的完整大小,将缩略图替代 将最终形成多姿态3D渲染的2D渲染作为缩略图多姿态渲染进行显示,并且使得用户能够 在下载2D渲染的同时对缩略图多姿态渲染进行操控。观看应用34可以在每个2D渲染都 完成下载或者在所有2D渲染都完成下载时将缩略图替换为2D渲染。 [0088] 图14描绘了可以由服务器14实现的使得用户能够观看视觉保真度有所改进的多姿态3D渲染的方法200。服务器14和/或数据库16可以存储模型或对象的多个2D渲染 (框202)。服务器14和/或数据库16还可以存储多个相对应的覆盖图像(框204),每个 覆盖图像用于多个2D渲染中的一个并且包括设置在透明背景上的边缘线条渲染、阴影渲 染或者其二者。在一些实施例中,服务器14可以向客户端设备12传送网页,该网页描绘了 对于其存在多姿态3D渲染的多个模型或对象。客户端设备12的用户可以选择模型或对象 中的一个,使得客户端设备12传送对于相对应的多姿态3D渲染的请求。当接收到对于多 姿态3D渲染的请求时(框206),在一些实施例中,服务器14可以传送观看应用34,其可操 作来依序显示具有层叠的覆盖图像的多个2D渲染(框208)。在观看应用34处于客户端设 备12上的实施例中,观看应用34无需被传送。在任意情况下,服务器14都向客户端设备 12传递覆盖图像(框210)和2D渲染(框212)以便由观看设备34进行层叠并显示。当 然,覆盖图像在2D渲染之前还是之后进行传送是无关紧要的,除非观看应用34将在完成2D 渲染的传输之前显示覆盖图像(例如,在边缘线条覆盖图像的情况下)。 [0089] 图15描绘了可以由服务器14实现的用于通过组合图像而改进多姿态3D渲染的速度的方法220。服务器14和/或数据库16可以将模型或对象的多个2D渲染存储在单个 图像文件中(框222)。可选地,服务器14和/或数据库16可以在单个图像文件或多个图 像文件中存储多个覆盖图像(框224),每个覆盖图像用于多个2D渲染中的一个并且包括设 置在透明背景上的边缘线条渲染、阴影渲染或者其二者。在一些实施例中,服务器14可以 向客户端12传送网页,该网页描绘了对于其存在多姿态3D渲染的多个模型或对象。客户 端设备12的用户可以选择模型或对象中的一个,使得客户端设备12传送对于相对应的多 姿态3D渲染的请求。当接收到对于多姿态3D渲染的请求时(框226),在一些实施例中,服 务器14可以传送观看应用34,其可操作来接收包括2D渲染的单个图像文件并依序显示单 个图像文件的部分(框228)。在观看应用34处于客户端设备12上的实施例中,观看应用 34无需被传送。在任意情况下,服务器14都响应于对于多姿态3D渲染的请求而传送图像 文件(框230)。 [0090] 图16描绘了可以由客户端设备12所实现的用于通过组合图像而改进多姿态3D渲染的速度的方法240。客户端设备例如通过接收从可对于其获得多姿态3D渲染的多个所 显示的模型或对象中进行选择的用户输入而请求多姿态3D渲染(框244)。在一些实施例 中,客户端设备12接收观看应用34,其可操作来接收包含2D渲染的单个图像文件并且依序 显示该单个图像文件的多个部分(246)。在观看应用34已经处于客户端设备12上的实施 例中,框246可以被省略。客户端设备12接收具有多个2D渲染部分的图像文件(框246) 并且从该图像以及从随该图像从服务器13接收的其它参数确定该图像的一个或多个参数 (框248)。观看应用34将该图像划分为对应于多个2D渲染的部分(框250)并且依序显 示多个2D图像部分(框252)。当然,如贯穿该说明书所描述的,在各个实施例中,观看应用 34还可以接收一个或多个覆盖图像,可以将该覆盖图像层叠于单个图像文件的各部分上, 可以将单个覆盖图像文件划分为对应于包括2D渲染的部分的部分,可以在接收2D渲染之 前接收缩略图并且在下载2D渲染的同时显示缩略图渲染,等等。 [0091] 图17描绘了可以由服务器14实现以便通过预先加载优化缩略图视图而改进多姿态3D渲染的速度的方法260。服务器14和/或数据库16可以存储模型或对象的多个2D 渲染(框262)。服务器14和/或数据库16还可以存储多个相对应的缩略图(框264),每 个缩略图用于多个2D渲染中的一个。每个缩略图可以为有所减小的颜色位深,可以为比2D 渲染小的分辨率,和/或可以为在水平维度中比垂直维度中低的分辨率。除此之外或替选 地,如以上所描绘的,缩略图可以被组合为单个图像文件。在一些实施例中,服务器14可以向客户端12传送网页,该网页描绘了对于其存在多姿态3D渲染的多个模型或对象。客户端 设备12的用户可以选择模型或对象中的一个,使得客户端设备12传送对于相对应的多姿 态3D渲染的请求。当接收到对于多姿态3D渲染的请求时(框266),在一些实施例中,服务 器14可以传送观看应用34,其可操作来在传送多个2D渲染的同时显示缩略图(框268)。 服务器14可以响应于该请求而传送多个缩略图(作为单个图像文件或多个图像文件)(框 270)并且之后可以传送多个2D渲染(框272)。 [0092] 贯穿该说明书,多个实例可以实现作为单个实例所描述的组件、操作或结构。虽然一种或多种方法的个体操作被图示和描述为分立操作,但是个体操作中的一个或多个可以同时执行,并且除非明确描述或者以其它方式在逻辑上所要求的(例如,一个结构必须在 其能够使用前被创建),否则不要求操作以所图示的顺序来执行。在示例配置中作为分立组件所给出的结构和功能可以被实现为组合结构或组件。类似地,作为单个组件所给出的结 构和功能可以被实现为分立组件。这些和其它的变化、修改、添加和改进落入这里的主题的范围之内。 [0093] 例如,网络16可以包括但并不限于LAN、MAN、WAN、移动、有线或无线网络、私有网络或虚拟私有网络的任意组合。此外,虽然图1中为了使得描述简化并清楚而仅图示了一个客户端设备12,但是要理解的是,任意数量的客户端设备12都被支持并且能够与服务器 14通信。 [0094] 此外,某些实施例在这里被描述为包括逻辑或者多种组件、模块、例程、应用或机制。应用和例程可以构成软件模块(例如,实现于机器可读介质上或传输信号中的代码)或硬件模块。硬件模块是能够执行某些操作并且可以以某种方式进行配置或部署的有形单 元。在示例实施例中,一个或多个计算机系统(例如,独立、客户端或服务器计算机系统) 或者计算机系统的一个或多个硬件模块(例如,处理器或处理器群组)可以通过软件(例 如,应用或应用部分)被配置为进行操作而执行如这里所描述的某些操作的硬件模块。 [0095] 在各个实施例中,硬件模块可以机械或电子地实现。例如,硬件模块可以包括被永久性或半永久性地配置为执行某些操作的专用电路或逻辑(例如,作为专用处理器,诸如现场可编程门阵列(FPGA)或专用集成电路(ASIC))。硬件模块还可以包括通过软件被临 时配置为执行某些操作的可编程逻辑或电路(例如,包含在通用处理器或其它可编程处理 器内)。将要意识到的是,机械地、以专用且永久性配置的电路或者以临时配置的电路(例 如,通过软件进行配置)来实现硬件模块的决定可以由成本和时间方面的考虑所驱使。 [0096] 因此,术语“硬件模块”应当被理解为包含有形实体,其是被物理构建、永久性配置(例如,被硬线连接)或临时配置(例如,被编程)而以某种方式进行操作或者执行这里所描述的某些操作的实体。考虑其中硬件模块被临时配置(例如,被编程)的实施例,每个硬 件模块无需在任何一个时间实例进行配置或例示。例如,在硬件模块包括使用软件配置的 通用处理器的情况下,通用处理器可以在不同时间被配置为相应的不同硬件模块。软件因 此可以对处理器进行配置,以例如在一个时间实例构成特定硬件模块而在不同时间实例构 成不同硬件模块。 [0097] 硬件模块能够往来于其它硬件模块提供和接收信息。因此,所描述的硬件模块可以被示为是通信耦合的。在同时存在多个这样的硬件模块的情况下,可以通过连接硬件模 块的信号传输(例如,通过适当的电路和总线)来实现通信。在其中多个硬件模块在不同 时间进行配置或例示的实施例中,这样的硬件模块之间的通信例如可以通过在该多个硬件 模块可以访问的存储器结构中存储和获取信息来实现。例如,一个硬件模块可以执行操作 并且将该操作的输出存储在其与之通信地耦合的存储器设备中。另外的硬件模块于是在随 后的时间可以访问该存储器设备以获取并处理所存储的输出。硬件模块还可以利用输入或 输出设备来发起通信,并且能够对资源(例如,信息集合)进行操作。 [0098] 这里所描述的示例方法的各种操作可以至少部分地由被临时配置(例如,通过软件)或永久性配置为执行相关操作的一个或多个处理器来执行。无论被临时还是持久性地 进行配置,这样的处理器都可以构成处理器实现的模块,其进行操作以执行一个或多个操 作或功能。这里所提到的模块在一些示例实施例中可以包括处理器实现的模块。 [0099] 类似地,这里所描述的方法或例程可以至少部分是由处理器实现的。例如,方法的至少一些操作可以由一个或多个处理器或处理器实现的硬件模块来执行。某些操作的执行可以分布在一个或多个处理器之间,该处理器不仅处于单个机器内,而且跨多个机器进行 部署。在一些示例实施例中,一个或多个处理器可以位于单个位置(例如,在家庭环境、办公环境内或者作为服务器组),而在其它实施例中,该处理器可以跨多个位置分布。 [0100] 一个或多个处理器也可以进行操作而支持相关操作在“云计算”环境中的执行或者作为“软件即服务”(SaaS)的执行。例如,至少一些操作可以由计算机群组(作为包括处理器的机器的示例)来执行,这些操作可经由网络(例如,互联网)以及经由一个或多个适 当接口(例如,应用编程接口(API))进行访问。 [0101] 某些操作的执行可以分布在一个或多个处理器之间,该处理器不仅处于单个机器内,而且跨多个机器进行部署。在一些示例实施例中,一个或多个处理器或处理器实现的模块可以位于单个地理位置(例如,在家庭环境、办公环境内或者作为服务器组),而在其它 实施例中,一个或多个处理器或处理器实现的模块可以跨多个地理位置进行分布。 [0102] 该说明书的一些部分关于对作为比特或二进制数字信号存储在机器存储器(例如,计算机存储器)内的数据的操作的算法或符号表示而给出。这些算法或符号表示是数 据处理领域的普通技术人员用来向该领域的其它技术人员传递其工作实质的示例技术。如 这里所使用的,“算法”是导致期望结果的操作或类似处理的自洽序列。在该环境中,算法和操作涉及物理量的物理操控。典型地但并非必然地,这样的量可以采用能够被机器存储、访问、传输、合并、比较或以其它方式进行操控的电、磁或光学信号的形式。有时原则上出于一般使用的原因,使用诸如“数据”、“内容”、“比特”、“值”、“要素”、“符号”、“字符”、“项”、“数字”、“数”等的词语来指代这样的信号是方便的。然而,这些词仅是便利的标记并且要与适当物理量相关联。 [0103] 除非以其它方式明确指出,否则使用诸如“处理”、“计算”、“运算”、“确定”、“呈现”、“显示”等的词语所进行的讨论可以指代机器(例如,计算机)的对数据进行操控或变换的动作或处理,该数据在一个或多个存储器(例如,易失性存储器、非易失性存储器或其组合)、寄存器或者获取、存储、传送或显示信息的其它机器组件内被表示为物理(例如,电子、磁性或光学)量。 [0104] 如这里所使用的,对于“一个实施例”或“实施例”的任何引用都意味着结合该实施例所描述的特定要素、特征、结构或特性都包括在至少一个实施例中。短语“在一个实施例中”在该说明书中各处的出现并非必然全部都指代同样的实施例。 [0105] 一些实施例可以连同其派生词一起使用表达“耦合”和“连接”进行描述。例如,一些实施例可以使用术语“耦合”进行描述以指示两个或更多元素处于直接的物理或电气接触。然而,术语“耦合”也可能意味着该两个或更多元素并非互相直接接触,但是仍然互相协同操作或交互。实施例并不被限于该上下文之中。 [0106] 如这里所使用的,术语“包括”、“包括了”、“包含”、“包含了”、“具有”、“拥有”或者其任意的其它变体意在覆盖非排他性的包括。例如,包括一系列元素的处理、方法、物品或装置并非必然仅被限于那些元素,而是可以包括并未明确列出或这样的处理、方法、物品或装置所固有的其它元素。另外,除非明确相反指出,否则“或”是指可兼或而并非互斥或。例如,条件A或B被以下任意一个所满足:A为真(或存在)而B为假(或不存在),A为假 (或不存在)而B为真(或存在),以及A和B均为真(或存在)。 [0107] 此外,“一个”(“a”或“an”)的使用被用来描述这里的实施例中的元素和组件。这样做仅是为了便利并且给出该描述的一般含义。该描述应当被理解为包括一个或者至少 一个,并且除非明显表示其它含义,否则单数也包括复数。 [0108] 再进一步地,附图仅是出于说明的目的对地图编辑器系统的优选实施例进行描述。本领域技术人员将从以下讨论轻易认识到,可以采用这里所图示的结构和方法的替选 实施例而并不背离这里所描述的原则。 [0109] 当阅读本公开时,本领域技术人员将会意识到用于通过这里所公开的原则识别终端道路分段的系统和处理的再另外的替选结构和功能设计。因此,虽然已经图示并描述了 特定实施例和应用,但是所要理解的是,所公开的实施例不限于这里所公开的精确构造和 组件。可以对这里所公开的方法和装置的配置、操作和细节进行对于本领域技术人员将会 显而易见的各种修改、改变和变化而并不背离所附权利要求中所限定的精神和范围。 [0110] 任意特定实施例的特定特征、结构或特性可以以任意适当方式进行组合并且以任意适当的组合与一个或多个其它实施例进行组合,这包括在并不相对应地使用其它特征的 情况下使用所选择的特征。此外,可以进行许多修改以针对本发明的实质性范围和精神来 适配特定应用、情形或材料。所要理解的是,这里所描述和图示的本发明实施例的其它变化和修改借助于这里的教导是可能的并且被认为是本发明的精神和范围的一部分。作为示例 而非限制,本公开至少预期以下方面: [0111] 1.一种在显示器上描绘对象的多姿态三维(3D)渲染的方法,所述方法包括: [0112] 在计算机可读介质上存储所述对象的多个二维(2D)渲染,所述多个2D渲染中的每一个从不同的显性观看角度来描绘所述对象; [0113] 经由网络将所述多个2D渲染传送至耦合到所述显示器的客户端设备; [0114] 在所述计算机可读介质上存储第一多个覆盖渲染,所述第一多个覆盖渲染中的每一个对应于所述多个2D渲染中的相应一个2D渲染,并且每个覆盖渲染包括: [0115] (1)(a)阴影层,所述阴影层以第一颜色进行渲染并且与如在相对应的2D渲染中所渲染的所述对象上的阴影相对应,或(b)边缘线条,所述边缘线条以第一颜色进行渲染 并且与如在相对应的2D渲染中所渲染的所述对象的边缘相对应;和 [0116] (2)透明背景; [0117] 经由所述网络将所述第一多个覆盖渲染传送至所述客户端设备; [0118] 提供可操作来显示多个复合图像的界面,每个复合图像包括层叠于其相对应的2D渲染之上的所述第一多个覆盖渲染中的一个覆盖渲染。 [0119] 2.根据方面1所述的方法,其中在所述计算机可读介质上存储第一多个覆盖渲染包括存储单个图像的文件,所述文件存储单个图像,并且进一步地,其中所述第一多个覆盖渲染中的每一个形成所述单个图像的一部分。 [0120] 3.根据方面1或方面2所述的方法,其中所提供的界面进一步可操作来提供用于改变所述阴影层的透明度的控件。 [0121] 4.根据前述方面中的任何一个所述的方法,进一步包括: [0122] 传送第二多个覆盖渲染,所述第二多个覆盖渲染中的每一个对应于所述第一多个覆盖渲染中的一个覆盖渲染以及所述多个2D渲染中的一个2D渲染,其中所提供的界面进 一步可操作来依序显示所述第一多个覆盖渲染中的每一个和所述第二多个覆盖渲染中的 每一个作为包括相对应的2D渲染的复合图像的层。 [0123] 5.根据前述方面中的任何一个所述的方法,其中传送第二多个覆盖渲染包括传送第二单个图像文件,所述第二单个图像文件包含第二单个图像,并且进一步地,其中所述第二多个覆盖渲染中的每一个形成所述第二单个图像的一部分。 [0124] 6.根据前述方面中的任何一个所述的方法,其中所提供的界面有选择地可操作来依序显示所述多个2D渲染中的每一个而不是相对应的复合图像。 [0125] 7.根据前述方面中的任何一个所述的方法,其中提供界面包括提供可操作来以预定义顺序显示所述多个复合图像中的每一个的界面。 [0126] 8.根据前述方面中的任何一个所述的方法,其中在所述计算机可读介质上存储多个覆盖渲染包括存储单个图像文件,所述文件存储单个图像,并且进一步其中,所述多个覆盖渲染中的每一个形成所述单个图像的一部分。 [0127] 9.根据前述方面中的任何一个所述的方法,其中所述多个覆盖渲染被排列在所述单个图像中以对应于所述预定义顺序。 [0128] 10.根据前述方面中的任何一个所述的方法,其中传送所述覆盖渲染包括在传送所述多个2D渲染之前传送所述覆盖渲染。 [0129] 11.根据前述方面中的任何一个所述的方法,所提供的界面进一步可操作来在所述多个2D渲染被所述客户端设备完全接收之前依序显示所述多个覆盖渲染中的每一个。 [0130] 12.根据前述方面中的任何一个所述的方法,其中所提供的界面有选择地可操作来依序显示所述多个覆盖渲染中的每一个而不是相对应的复合图像。 [0131] 13.一种用于在显示器上描绘对象的多姿态三维(3D)渲染的系统,所述系统包括: [0132] 数据库,所述数据库存储(1)所述对象的多个二维(2D)渲染,所述多个2D渲染中的每一个从不同的显性观看角度描绘所述对象,和(2)多个覆盖渲染,每个覆盖渲染对应 于所述多个2D渲染中的相应一个2D渲染并且每个覆盖渲染包括(i)(a)阴影层,所述阴影 层以第一颜色进行渲染并且与如在相对应的2D渲染中所渲染的所述对象上的可见阴影相 对应;或(b)边缘线条,所述边缘线条以第一颜色进行渲染并且与如在相对应的2D渲染中 所渲染的所述对象的边缘的边缘线条相对应;和(ii)透明背景; [0133] 机器可执行指令,所述机器可执行指令存储在机器可读介质上并且指定界面,所述界面可操作来显示多个复合图像,每个复合图像包括层叠于其相对应的2D渲染之上的 所述覆盖渲染中的一个覆盖渲染; [0134] 服务器,所述服务器经由网络通信地耦合至所述数据库并且可操作来(1)向通信地耦合至所述网络的客户端设备发送指定所述界面的机器指令,以及(2)从所述客户端设 备接收对渲染所述对象的请求,并且响应于所述请求,从所述数据库获取所述多个2D渲染 以及所述多个覆盖渲染,并且将所述多个2D渲染以及所述多个覆盖渲染传送至所述客户 端设备。 [0135] 14.根据方面13所述的系统,其中所述多个覆盖渲染被存储为单个图像文件,所述单个图像文件存储单个图像,并且进一步其中,所述多个覆盖渲染中的每一个形成所述 单个图像的一部分。 [0136] 15.根据方面13或方面14所述的系统,其中所述服务器可操作来在传送所述多个2D渲染之前传送所述覆盖渲染。 [0137] 16.根据方面13-15中的任何一个所述的系统,其中由所述服务器所传送的所述界面进一步可操作来在所述多个2D渲染被所述客户端设备完全接收之前依序显示所述多 个覆盖渲染中的每一个。 [0138] 17.根据方面13-16中的任何一个所述的系统,其中所述服务器所传送的所述界面有选择地可操作来依序显示所述多个覆盖渲染中的每一个而不是相对应的复合图像。 [0139] 18.根据方面13-17中的任何一个所述的系统,其中所述服务器所传送的所述界面有选择地可操作来依序显示所述多个2D渲染中的每一个而不是相对应的复合图像。 [0140] 19.根据方面13-18中的任何一个所述的系统,其中服务器所传送的所述界面进一步可操作来以预定义顺序显示所述多个图像中的每一个。 [0141] 20.根据方面13-19中的任何一个所述的系统,其中所述多个覆盖渲染被存储为单个图像文件,所述单个图像文件存储单个图像,并且进一步其中,所述多个覆盖渲染中的每一个形成所述单个图像的一部分。 [0142] 21.根据方面13-20中的任何一个所述的系统,其中所述多个覆盖渲染被排列在所述单个图像中以对应于所述预定义顺序。 [0143] 22.根据方面13-21中的任何一个所述的系统,其中所提供的界面进一步可操作来提供用于改变所述阴影层的透明度的控件。 [0144] 23.根据方面13-22中的任何一个所述的系统,其中所述服务器进一步可操作来传送第二多个覆盖渲染,所述第二多个覆盖渲染中的每一个对应于所述第一多个覆盖渲染 中的一个覆盖渲染以及所述多个2D渲染中的一个2D渲染,其中所提供的界面进一步可操 作来依序显示所述第一多个覆盖渲染中的每一个和所述第二多个覆盖渲染中的每一个作 为包括相对应的2D渲染的复合图像的层。 [0145] 24.根据方面13-23中的任何一个所述的系统,其中所述第二多个覆盖渲染被存储为第二单个图像文件,所述第二单个图像文件存储第二单个图像,并且进一步其中,所述第二多个覆盖渲染中的每一个形成所述第二单个图像的一部分。 [0146] 25.一种在显示器上描绘对象的多姿态三维(3D)渲染的方法,所述方法包括: [0147] 在计算机可读介质上存储图像文件,所述图像文件存储单个图像的数据,所述单个图像具有多个部分,每个部分包括对象的二维(2D)渲染,每个2D渲染从不同的显性观看 角度描绘所述对象; [0148] 经由网络将所述单个图像传送至耦合到所述显示器的客户端设备;以及 [0149] 提供用户界面,所述用户界面可操作来每次一个地显示所述多个2D渲染。 [0150] 26.根据方面25所述的方法,其中存储图像文件包括存储具有多个部分的单个图像的数据,每个部分在水平维度延伸第一数量(X)的像素并且在垂直维度延伸第二数量 (Y)的像素,所述部分排列在所述单个图像中而使得所述单个图像在所述垂直方向延伸仅 Y个像素。 [0151] 27.根据方面25或方面26所述的方法,其中所述部分被排列为使得所述2D渲染在从所述单个图像的最左侧部分向所述单个图像的最右侧部分依序显示时表现为描绘所 述对象绕3D对象的轴线的旋转。 [0152] 28.根据方面25-27中的任何一个所述的方法,其中存储图像文件包括存储具有多个部分的单个图像的数据,每个部分在水平维度延伸第一数量(X)的像素并且在垂直维 度延伸第二数量(Y)的像素,所述部分排列在所述单个图像中而使得: [0153] 在所述水平维度排列的部分在从所述单个图像的最左侧部分向所述单个图像的最右侧部分依序显示时表现为描绘所述对象绕所述对象的第一轴线的旋转;以及 [0154] 在所述垂直维度排列的部分在从所述单个图像的最顶端部分向所述单个图像的最底端部分依序显示时表现为描绘所述对象绕所述对象的与3D对象的第一轴线垂直的第 二轴线的旋转。 [0155] 29.根据方面25-28中的任何一个所述的方法,进一步包括: [0156] 在所述计算机可读介质上存储覆盖图像,所述覆盖图像包括多个覆盖渲染,所述多个覆盖渲染中的每一个对应于所述多个2D渲染中的一个2D渲染并且包括透明背景上的 边缘线条或阴影; [0157] 经由所述网络将所述覆盖图像传送至所述客户端设备;以及 [0158] 在所述多个2D渲染中的相对应一个2D渲染上显示所述多个覆盖渲染中的每一个。 [0159] 30.根据方面25-29中的任何一个所述的方法,其中存储所述单个图像文件包括以渐进图像格式存储所述单个图像。 [0160] 31.根据方面25-30中的任何一个所述的方法,其中提供可操作来每次一个地显示所述多个2D渲染的用户界面包括提供可操作来在从所述服务器完全接收所述单个图像 之前开始显示所述多个2D渲染的用户界面。 [0161] 32.一种用于在显示器上描绘对象的多姿态三维渲染的系统,所述系统包括: [0162] 数据库,所述数据库存储图像文件,所述图像文件存储单个图像的数据,所述单个图像具有多个部分,每个部分包括所述对象的二维(2D)渲染,每个2D渲染从不同的显性观看角度描绘对象; [0163] 机器可执行指令,所述机器可执行指令存储在机器可读介质上并且指定可操作来显示所述多个2D渲染的界面; [0164] 服务器,所述服务器经由网络通信地耦合至所述数据库,并且可操作来(1)向通信地耦合至所述网络的客户端设备传送指定所述界面的机器指令,以及(2)从所述客户端 设备接收对渲染所述对象的请求,并且响应于所述请求从所述数据库获取所述图像文件并 且将所述图像文件传送至所述客户端设备。 [0165] 33.根据方面32所述的系统,其中所述单个图像文件包括具有多个部分的单个图像,每个部分在水平维度延伸第一数量(X)的像素并且在垂直维度延伸第二数量(Y)的像 素,所述部分排列在所述单个图像中使得所述单个图像在所述垂直方向延伸仅Y个像素。 [0166] 34.根据方面32或33所述的系统,其中所述部分被排列为使得所述2D渲染在从所述单个图像的最左侧部分向所述单个图像的最右侧部分依序显示时表现为描绘所述对 象绕所述对象的轴线的旋转。 [0167] 35.根据方面32-34中的任何一个所述的系统,其中所述单个图像文件包括具有多个部分的单个图像,每个部分在水平维度延伸第一数量(X)的像素并且在垂直维度延伸 第二数量(Y)的像素,所述部分排列在所述单个图像中使得: [0168] 在所述水平维度排列的部分在从所述单个图像的最左侧部分向所述单个图像的最右侧部分依序显示时表现为描绘所述对象绕所述对象的第一轴线的旋转;以及 [0169] 在所述垂直维度排列的部分在从所述单个图像的最顶端部分向所述单个图像的最底端部分依序显示时表现为描绘所述对象绕所述对象的与所述对象的第一轴线垂直的 第二轴线的旋转。 [0170] 36.根据方面32-35中的任何一个所述的系统,其中所述数据库进一步存储(3)覆盖图像,所述覆盖图像包括多个覆盖渲染,所述多个覆盖渲染中的每一个对应于多个2D渲 染中的一个2D渲染并且包括透明背景上的边缘线条或阴影; [0171] 其中所述服务器进一步可操作来(3)经由所述网络将所述覆盖图像传送至所述客户端设备;以及 [0172] 其中所述界面进一步可操作来在所述多个2D渲染中的相对应一个2D渲染上显示所述多个覆盖渲染中的每一个。 [0173] 37.根据方面32-36中的任何一个所述的系统,其中所述图像文件包括以渐进图像格式存储的单个图像。 [0174] 38.根据方面32-37中的任何一个所述的系统,其中所述界面进一步可操作来在从所述服务器完全接收所述单个图像之前开始显示所述多个2D渲染。 [0175] 39.一种机器可读存储介质,具有存储于其上的机器可执行指令的集合,当被处理器执行时,所述机器可执行指令的集合使得所述处理器: [0176] 从通过网络通信地耦合至所述处理器的服务器接收图像文件,所述图像文件存储单个图像的数据,所述单个图像具有多个部分,每个部分包括三维(3D)对象的二维(2D)渲 染,每个2D渲染从不同的显性观看角度描绘所述3D对象;以及 [0177] 使得耦合至所述处理器的显示设备每次一个地显示所述多个2D渲染。 [0178] 40.根据方面39所述的存储介质,其中所述图像文件包括具有多个部分的单个图像的数据,每个部分在水平维度延伸第一数量(X)的像素并且在垂直维度延伸第二数量 (Y)的像素,所述部分排列在所述单个图像中使得所述单个图像在所述垂直方向延伸仅Y 个像素。 [0179] 41.根据方面39或方面40所述的存储介质,其中所述部分被排列为使得所述2D渲染在从所述单个图像的最左侧部分向所述单个图像的最右侧部分依序显示时表现为描 绘所述3D对象绕所述3D对象的轴线的旋转。 [0180] 42.根据方面39-41中的任何一个所述的存储介质,其中所述图像文件包括具有多个部分的单个图像的数据,每个部分在水平维度延伸第一数量(X)的像素并且在垂直维 度延伸第二数量(Y)的像素,所述部分排列在所述单个图像中使得: [0181] 在所述水平维度排列的部分在从所述单个图像的最左侧部分向所述单个图像的最右侧部分依序显示时表现为描绘所述3D对象绕所述3D对象的第一轴线的旋转;以及 [0182] 在所述垂直维度排列的部分在从所述单个图像的最顶端部分向所述单个图像的最底端部分依序显示时表现为描绘所述3D对象绕所述3D对象的与所述3D对象的第一轴 线垂直的第二轴线的旋转。 [0183] 43.根据方面39-42中的任何一个所述的存储介质,其中所述指令进一步可操作来使得所述处理器: [0184] 从所述服务器接收覆盖图像,所述覆盖图像包括多个覆盖渲染,所述多个覆盖渲染中的每一个对应于所述多个2D渲染中的一个2D渲染并且包括透明背景上的边缘线条或 阴影; [0185] 在所述多个2D渲染中的相对应一个2D渲染上显示所述多个覆盖渲染中的每一个。 [0186] 44.根据方面39-43中的任何一个所述的存储介质,其中所述图像文件以渐进图像格式被接收。 [0187] 45.根据方面39-44中的任何一个所述的存储介质,其中所述指令进一步可操作来使得所述处理器在从所述服务器完全接收所述单个图像之前每次一个地显示所述多个 2D渲染。 [0188] 46.一种在显示器上描绘对象的多姿态三维(3D)渲染的方法,所述方法包括: [0189] 在计算机可读介质上存储所述对象的多个二维(2D)渲染,所述多个2D渲染中的每一个从不同的显性观看角度描绘所述对象; [0190] 在所述计算机可读介质上存储多个缩略图,每个缩略图对应于所述多个2D渲染中的相应一个2D渲染; [0191] 经由网络将所述多个2D渲染传送至耦合到所述显示器的客户端设备; [0192] 经由所述网络将所述多个缩略图传送至所述客户端设备;以及 [0193] 提供界面,所述界面可操作来显示所述多个缩略图中的每一个,并且在所述客户端设备接收到所述2D渲染之后显示所述多个2D渲染中的每一个替代相对应的缩略图。 [0194] 47.根据方面46所述的方法,其中传送所述多个缩略图在传送所述多个2D渲染之前进行。 [0195] 48.根据方面45或方面46所述的方法,其中存储多个缩略图包括存储具有比所述2D渲染低的颜色深度的多个缩略图。 [0196] 49.根据方面45-48中的任何一个所述的方法,其中存储多个缩略图包括存储均在至少一个维度比其相对应的2D渲染具有少的像素的多个缩略图。 [0197] 50.根据方面45-49中的任何一个所述的方法,其中存储多个缩略图包括存储均在第一维度比在第二维度具有少的像素的多个缩略图。 [0198] 51.根据方面45-50中的任何一个所述的方法,其中显示所述多个缩略图中的每一个包括以相对应的2D渲染的大小显示每个缩略图。 [0200] 53.一种用于在显示器上描绘对象的多姿态三维(3D)渲染的系统,所述系统包括: [0201] 数据库,所述数据库存储(1)所述对象的多个二维(2D)渲染,所述多个2D渲染中的每一个从不同的显性观看角度描绘所述对象,以及(2)多个缩略图,每个缩略图对应于 所述多个2D渲染中的相应一个2D渲染; [0202] 存储在机器可读介质上的机器可执行指令,当被处理器执行时,所述指令实现可操作来显示多姿态3D渲染的用户界面; [0203] 经由网络通信地耦合至所述数据库的服务器,所述服务器可操作来(1)向通信地耦合至所述网络的客户端设备传送所述多个2D渲染以及(2)向所述客户端设备传送所述 多个缩略图; [0204] 其中所述用户界面可操作来显示所述多个缩略图中的每一个,并且在所述客户端设备接收到所述2D渲染之后显示所述多个2D渲染中的每一个替代相对应的缩略图。 [0205] 54.根据方面53所述的系统,其中所述服务器在其传送所述多个2D渲染之前传送所述多个缩略图。 [0206] 55.根据方面53或方面54所述的系统,其中所述多个缩略图中的每一个比其相对应的2D渲染具有低的颜色深度。 [0207] 56.根据方面53-55中的任何一个所述的系统,其中所述多个缩略图中的每一个在至少一个维度比其相对应的2D渲染具有少的像素。 [0208] 57.根据方面53-56中的任何一个所述的系统,其中所述多个缩略图中的每一个在第一维度比在第二维度具有少的像素。 [0209] 58.根据方面53-57中的任何一个所述的系统,其中所述用户界面可操作来以相对应的2D渲染的大小显示所述多个缩略图中的每一个。 [0210] 59.根据方面53-58中的任何一个所述的系统,其中所述第一维度垂直于显性的旋转轴线,以及所述第二维度平行于所述旋转轴线,其中所述对象在所述多个缩略图中表 现为绕所述旋转轴线旋转。 [0211] 60.一种机器可读存储介质,具有存储于其上的机器可执行指令的集合,当被处理器执行时,所述机器可执行指令的集合使得所述处理器: [0212] 从通过网络通信地耦合至所述处理器的服务器接收对象的多个二维(2D)渲染,所述多个2D渲染中的每一个从不同的显性观看角度描绘所述对象; [0213] 从所述服务器接收多个缩略图,每个缩略图对应于所述多个2D渲染中的相应一个2D渲染; [0214] 使得通信地耦合至所述处理器的显示设备显示所述多个缩略图中的每一个,并且在完全接收到所述2D渲染之后显示所述多个2D渲染中的每一个替代相对应的缩略图。 [0215] 61.根据方面60所述的存储介质,其中所述指令使得所述处理器在接收所述多个2D渲染之前接收所述多个缩略图。 [0216] 62.根据方面60或方面61所述的存储介质,其中所述多个缩略图比所述2D渲染具有低的颜色深度。 [0217] 63.根据方面60-62中的任何一个所述的存储介质,其中所述多个缩略图中的每一个在至少一个维度比其相对应的2D渲染具有少的像素。 [0218] 64.根据方面60-63中的任何一个所述的存储介质,其中所述多个缩略图中的每一个在第一维度比在第二维度具有少的像素。 [0219] 65.根据方面60-64中的任何一个所述的存储介质,其中所述指令可操作来使得所述处理器以相对应的2D渲染的大小显示每个缩略图。 [0220] 66.根据方面60-65中的任何一个所述的存储介质,其中所述第一维度垂直于显性的旋转轴线,以及所述第二维度平行于所述旋转轴线,其中所述对象在所述多个缩略图 中表现为绕所述旋转轴线旋转。 |