用于改进多姿态3d渲染的速度和视觉保真度的方法_3

文档序号:8207778阅读:来源:国知局
利于 下载单个(虽然更大的)图像。因此,在以上参考图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渲染的文件(S卩,四个文件中的 最大文件)已经完成传输时,将缩略图替换为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渲染作为图像循环进行依序显示(S卩,在显示所有的多个 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描绘了可以由客
当前第3页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1