用三维(3d)模型补充数字媒体的系统和方法
技术领域
1.本技术涉及在设备上显示数字媒体,并且在具体实施例中,涉及补充在设备上显示的数字媒体。
背景技术:
2.三维(3d)模型允许用户查看虚拟对象并与之交互。高保真3d模型可能能够提供高度逼真的对象表示,这可以使对象看起来栩栩如生。然而,生成、存储和渲染高保真3d模型的计算需求可能很高。
技术实现要素:
3.本披露内容的一些实施例涉及用一个或多个3d模型补充数字媒体以提高由数字媒体提供的整体细节层次。该数字媒体可以是表示对象的图像、视频或3d模型。为了限制与在用户设备上显示数字媒体相关联的存储要求和/或其他计算要求,数字媒体可以具有有限的保真度和/或分辨率。这可以使数字媒体能够在具有不同计算能力的许多不同类型的用户设备上实施。在一定的缩放范围内,数字媒体可能能够清晰地描绘对象。然而,如果用户为了关注对象的选定区域而进行的放大超出该缩放范围,则数字媒体可能无法清晰地描绘选定区域。例如,数字媒体可能具有有限的分辨率,这可能导致对象的选定区域在放大后的数字媒体中看起来模糊或像素化。因此,当缩放级别超过数字媒体提供的细节层次时,可以使用选定区域的详细3d模型来补充数字媒体。在一些实施方式中,在用户设备的显示器中将数字媒体替换为3d模型。3d模型可以为用户提供区域的详细表示。3d模型可能只表示对象的子集而不是对象整体,以降低与显示3d模型相关联的计算要求。
4.如果用户从详细3d模型缩小以查看对象的可以被数字媒体清晰描绘的更大区域,则可以在用户设备的显示器中将3d模型替换为原始数字媒体。这可以使用户能够再一次从整体查看对象。然后,用户可以放大数字媒体以关注对象的不同区域,这可以导致在用户设备的显示器上呈现另一个详细3d模型以表示对象的该区域。从用户的角度来看,在用户设备上显示数字媒体与显示详细3d模型之间的转换可以是相对无缝的。这样,详细3d模型可以扩展数字媒体的保真度,使得数字媒体本身看起来非常详细,而没有对应的高计算要求。
5.根据本披露内容的一个方面,提供了一种计算机实施的方法,该方法包括:指示用户设备显示描绘对象的数字媒体(例如,与对象相对应的3d模型),接收选择所描绘对象的区域的指示,以及指示该用户设备显示与该所描绘对象的选定区域相对应的3d模型。该3d模型可以不同于该数字媒体。该3d模型可以限于表示该所描绘对象的子集,其中,该子集包括该所描绘对象的选定区域。在一些实施例中,该3d模型包括该选定区域的凹凸贴图。
6.在一些实施例中,该方法进一步包括基于标准和该选定区域确定应该在该用户设备上显示该3d模型。然后,可以指示该用户设备响应于该确定而显示该3d模型。该标准可以包括:以目标品质描绘该选定区域的分辨率;以目标品质描绘该选定区域的缩放级别;和/或以目标品质描绘该选定区域的保真度。
7.在一些实施例中,该数字媒体包括与对象的相应区域相对应的多个标识符。指示该用户设备显示该3d模型可以包括:确定该多个标识符中与该选定区域相对应的特定标识符,以及基于该特定标识符选择该3d模型。该特定标识符可以对应于特定材料,在这种情况下,该3d模型可以包括该特定材料的3d表示。
8.在一些实施例中,该选定区域是第一区域,并且在指示该用户设备显示该3d模型之后,该方法进一步包括:接收选择该所描绘对象的第二区域的进一步指示;基于标准和该第二区域确定应该在该用户设备上显示该数字媒体;以及响应于确定应该在该用户设备上显示该数字媒体而指示该用户设备显示该数字媒体。
9.在一些实施例中,指示该用户设备显示该3d模型包括指示该用户设备显示基于该选定区域的取向和大小生成的该3d模型的渲染。
10.在一些实施例中,指示该用户设备显示该3d模型包括确定该数字媒体中所描绘的该选定区域的光照并将该光照应用于该3d模型。
11.在一些实施例中,指示该用户设备显示该3d模型包括指示该用户设备在该用户设备的显示器上用该3d模型替换该数字媒体。
12.在一些实施例中,指示该用户设备显示该数字媒体包括:将该数字媒体传输到该用户设备,并且指示该用户设备显示该3d模型包括将该3d模型传输到该用户设备。
13.根据本披露内容的另一方面,提供了一种系统,该系统包括存储器和至少一个处理器。该存储器被配置为存储描绘对象的数字媒体和与所描绘对象的区域相对应的3d模型。该3d模型可以不同于该数字媒体。该3d模型可以限于表示该所描绘对象的子集,该子集包括该所描绘对象的该区域。该至少一个处理器可以被配置为指示用户设备显示该数字媒体;接收选择该所描绘对象的该区域的指示;以及指示该用户设备显示该3d模型。
14.在一些实施例中,该至少一个处理器被配置为基于标准和该区域确定应该在该用户设备上显示该3d模型。该至少一个处理器可以被配置为响应于确定应该在该用户设备上显示该3d模型而指示该用户设备显示该3d模型。
15.在一些实施例中,该数字媒体包括与对象的相应区域相对应的多个标识符。该至少一个处理器可以被配置为:确定该多个标识符中与该区域相对应的特定标识符,以及基于该特定标识符选择该3d模型。该特定标识符可以对应于特定材料,并且该3d模型可以包括该特定材料的3d表示。
16.在一些实施例中,该区域是第一区域,并且该至少一个处理器被配置为:接收选择该所描绘对象的第二区域的进一步指示;基于标准和该第二区域确定应该在该用户设备上显示该数字媒体;以及响应于确定应该在该用户设备上显示该数字媒体而指示该用户设备显示该数字媒体。
17.在一些实施例中,该至少一个处理器被配置为指示该用户设备显示基于该区域的取向和大小生成的该3d模型的渲染。
18.在一些实施例中,该至少一个处理器被配置为确定该数字媒体中描绘的该区域的光照并将该光照应用于该3d模型。
19.在一些实施例中,该至少一个处理器被配置为指示该用户设备在该用户设备的显示器上用该3d模型替换该数字媒体。
20.根据本披露内容的又另一方面,提供了一种存储有计算机可执行指令的非暂态计
算机可读介质。在被计算机执行时,这些计算机可执行指令使该计算机:指示用户设备显示描绘对象的数字媒体,接收选择所描绘对象的区域的指示,以及指示该用户设备显示与该所描绘对象的选定区域相对应的3d模型,其中,该3d模型可以不同于该数字媒体。
21.相应地,提供了一种方法、一种系统和一种计算机程序,如所附权利要求中详细描述的。
附图说明
22.将参考附图仅通过示例的方式描述实施例,在附图中:图1展示了3d模型的示例;图2展示了在虚拟坐标系内定义的图1的3d模型的网格;图3展示了图1的3d模型的纹理贴图;图4展示了根据实施例的在虚拟坐标系内定义的另一个3d模型的网格;图5展示了图4的3d模型的纹理贴图;图6是展示根据实施例的用3d模型补充数字媒体的系统的框图;图7是展示根据实施例的用3d模型补充数字媒体的方法的流程图;图8展示了用户设备显示包括提供长沙发描绘的数字媒体的在线商店的屏幕页面;图9展示了图8的用户设备显示在放大描绘长沙发的数字媒体后的在线商店的另一屏幕页面;图10展示了图8的用户设备显示在线商店的又另一屏幕页面,但其中数字媒体被替换为与长沙发的软垫相对应的3d模型的渲染;图11和图12展示了图8的用户设备显示在线商店的另外的屏幕页面,但其中数字媒体被替换为与长沙发的抱枕相对应的3d模型的渲染;图13是根据实施例的电子商务平台的框图;以及图14是根据实施例的管理员主页的示例。
具体实施方式
23.出于说明性目的,现在下文将结合附图更详细地解释具体的示例实施例。
24.三维(3d)模型三维(3d)模型允许用户查看虚拟对象并与之交互。在一些实施例中,3d模型被生成以用于反映现实世界对象的形状、纹理和/或其他特性。各种应用程序中的任何一个都可以实施3d模型,包括视频游戏、电子商务、计算机辅助设计(cad)、医学成像和科学成像等。在一个示例中,可以实施3d模型以虚拟地向客户呈现产品从而实现在线展销。在另一个示例中,可以实施3d模型以允许医生虚拟地查看患者的身体部位从而帮助形成诊断。
25.图1至图3展示了对象301的3d模型300的示例。图1展示了3d模型300,图2展示了在虚拟坐标系302内定义的3d模型300的网格304,并且图3展示了3d模型300的纹理贴图306。对象301被示出为花瓶;然而,这仅为示例。
26.3d模型300提供对象301的用长度、宽度和高度限定的数学表示。网格304可以包括反映对象301的形状的互连的一组顶点、边和表面。在一些实施方式中,可以使用现实世界
中对象301的图像、视频、3d扫描和/或其他测量值来帮助生成网格304。对测量值的分析可以提供对象301上多个特征点的相对位置。在确定特征点的相对位置之后,可以通过将特征点映射到虚拟坐标系302中的顶点并将这些顶点互连以形成模拟对象301的物理表面的虚拟表面来生成网格304。网格304还或替代地可以至少部分地通过用户设备处的用户输入来生成。例如,可以通过手动放置和/或操纵顶点和/或虚拟表面来生成网格304。在一些实施方式中,网格304可以是多边形网格;然而,其他类型的网格也是可能的。
27.纹理贴图306可以是2d图像或表示3d模型300中对象301的纹理和/或阴影的其他数据结构。纹理贴图306可以被映射到网格304以提供由网格304限定的虚拟表面的外观(例如,颜色和/或图案)。例如,纹理贴图306的像素可以对应于网格304的虚拟表面上的相应位置并提供相应位置的细节。如图所示,纹理贴图306包括表示对象301的外部侧壁的区310、表示对象301的内部侧壁的区312、表示对象301的外部底壁的区314和表示对象301的内部底壁的区316。区310、314对应于对象301的外部表面上的材料320(使用斜阴影线示出),并且区312、316对应于对象301的内部表面上的另一种材料322(使用水平阴影线示出)。例如,对象301的外部可以用材料320涂饰或涂覆,并且该材料不会被添加到内部。因此,对象301的外部表面和内部表面可能具有反映在纹理贴图306中的不同的材料特性。在一些实施方式中,纹理贴图306包括或基于模拟材料320、322的一个或多个材料模型。例如,纹理贴图306可以使用材料320的材料模型来限定区310、314,并使用材料322的材料模型来限定区312、316。这些材料模型尤其可以模拟用于对3d模型300进行阴影处理的光交互。光交互的示例包括漫反射光照、环境光照和镜面光照。
28.可选地,纹理贴图306可以包括对象301的表面的3d信息,比如高度贴图。高度贴图可以存储表面高度数据以模拟对象301的表面上的凹凸和褶皱。例如,高度贴图可以用于凹凸贴图以模拟对象301的表面上的阴影,和/或可以用于置换贴图以模拟3d纹理表面。
29.纹理贴图306的至少一部分可以根据对象301的测量值得出。例如,纹理贴图306可以包括或基于对象301的照片和/或3d扫描。纹理贴图306还或替代地可以至少部分地通过用户设备处的用户输入用计算机生成。
30.3d模型300的保真度或准确度可以限定表示对象301的细节层次。高保真3d模型可以提供对象的逼真甚至栩栩如生的表示。例如,高保真3d模型可以包括反映对象形状的详细3d几何形状和/或描绘对象表面的详细纹理。详细3d几何形状可以由具有高多边形计数的密集网格限定,而详细纹理可以由高分辨率纹理贴图限定。例如,纹理贴图还可以包括高度贴图形式的3d信息。可以放大(magnify)(例如,放大(zoom in))高保真3d模型以允许用户仔细检查虚拟对象的某些区或区域,就像可以仔细检查现实生活中的对象以查看更精细程度上的形状和纹理。放大高保真3d模型还可以为对象提供额外的细节层次,这些细节层次超出了使用肉眼检查现实生活中的对象可能实现的程度。这种额外的细节层次可以帮助替代现实世界对象丢失的物理性。例如,附加的额外细节层次可以在视觉上指示材料的感觉,这可以帮助替代对物理地接触该材料的能力的缺失。
31.然而,高保真3d模型的使用可能是计算密集型的。例如,实施高保真模型可能涉及存储大量数据。在基于网络的应用程序中,上述大量数据可能还需要通过网络将传输到用户设备,这可能是带宽密集型的。进一步地,渲染高保真3d模型可能需要大量的处理能力。在某些应用程序中,实施高保真3d模型可能是不可行的。例如,高保真3d模型可能无法在许
多个人电子设备和移动电子设备上流畅地运行。
32.可能会限制3d模型的保真度以节省计算资源并帮助确保在各种用户设备上获得一致且流畅的体验。低保真和中等保真3d模型可能具有许多不同类型的用户设备都能满足的合理的计算要求。然而,低保真或中等保真3d模型可能仅提供对象的粗略或近似表示。例如,低保真3d模型可能仅粗略地表示对象的真实形状和/或纹理。这可能会限制低保真3d模型可以被放大到什么程度以允许用户检查对象的细节。在一定的缩放级别下,低保真模型的渲染可能会看起来像素化或模糊。这样,低保真3d模型可能不允许仔细检查虚拟对象。
33.举例来说,基于网络的软件应用程序可以为3d模型启用1024
ꢀ×ꢀ
1024像素的纹理贴图,并且桌面和移动软件应用程序可以启用2048
ꢀ×ꢀ
2048像素的纹理贴图。这些纹理贴图分辨率可能会对3d模型可以提供的细节层次施加限制。例如,在一定的缩放级别下,3d模型的渲染可能只包括3d模型的纹理贴图的一小部分,并且因此可能会看起来像素化。
34.考虑用户正在与图1至图3的3d模型300交互的情况。纹理贴图306可以限于1024
ꢀ×ꢀ
1024像素,和/或网格304可以限于一定数量的多边形。虽然在查看对象301整体时3d模型300的渲染可能看起来清晰且并不像素化,但放大3d模型300可能无法提供关于对象301的更精细细节的任何信息。例如,放大对象301的外部侧壁可能会返回3d模型300的像素化渲染,该渲染仅包括纹理贴图306的一小部分。该渲染可能不包括对于对象301的材料特性的任何指示,或者不指示对象301的感觉。这样,保真度有限的3d模型可能不适合描绘对象的材料和其他精细细节。
35.使用3d模型来可视化和了解制成对象的材料在各种应用中可能很重要。举例来说,在电子商务背景下,客户可能想要获知产品材料的外观和感觉,以评估产品的整体耐用性和品质。例如,在为服装或家具选择面料时,材料可能是购买决策的核心因素。使用产品的3d模型,客户可能需要放大到一定的细节层次来获知产品的材料特性。在3d模型中提供这种细节层次可能最终会影响销售转化(即,客户是否完成了对产品的购买交易)。然而,如上所述,存储和渲染提供高细节层次的高保真3d模型可能会导致在具有有限计算资源的某些设备(例如,移动设备)上的不良用户体验。
36.需要可以以高细节层次描绘虚拟对象而没有对应高计算需求的系统和方法。在一些实施例中,使用多个数字媒体实例来表示单个对象以便提供这种高细节层次。数字媒体尤其可以包括描绘对象或其部分的一个或多个图像、视频和/或3d模型。举例来说,最初可以在用户设备上显示表示整个对象的第一3d模型。第一3d模型可以具有使得能够在用户设备上进行流畅操作的保真度,但因此可能仅提供有限的细节层次。当用户放大对象的比第一3d模型可以清楚描绘的区域更小的区域时,可以用表示对象的该区域的第二3d模型替换第一3d模型。第二3d模型可能仅表示对象的放大后的区域,并且因此可能能够以高细节层次描绘该区域,而无需过度计算密集地进行实施。例如,对象的该区域可能对应于某种材料,并且第二3d模型可以被提供用于仅表示该材料。这可以允许用户获知对象上的材料的感觉而无需实施整个对象的高保真3d模型。
37.图4和图5示出了与对象301的外部侧壁相对应的3d模型350的示例。图4展示了在虚拟坐标系352内定义的3d模型350的网格354,并且图5展示了3d模型350的纹理贴图356。网格354的大致形状是球体,这是一种相对简单的几何形状,因而可以降低存储和渲染3d模型350的复杂性。纹理贴图356包括与网格354的顶部半球和底部半球相对应的两个圆形区
360、362。区360、362模拟对象301的外部侧壁上的材料320,可选地使用材料模型。例如,纹理贴图356可以包括材料320的高度贴图形式的3d纹理信息。在一些实施方式中,使用凹凸贴图在对3d模型350进行阴影处理期间模拟对象301的外部侧壁上的凹凸或褶皱。有利地,使用高度贴图来添加3d纹理可以比使用密集网格添加3d纹理在计算上更高效。
38.3d模型300、350可以组合使用以提供对象301的详细表示,而无需3d模型300是高保真3d模型。例如,当用户放大对象301的外部侧壁时,可以在用户设备的显示器上用3d模型350替换3d模型300。代替在用户设备上显示3d模型300的粗略和/或像素化渲染,可以使用3d模型350更清晰地描绘对象301的放大后的外部侧壁。在一些实施方式中,纹理贴图306、356每个的大小都是1024
ꢀ×ꢀ
1024像素,但是因为纹理贴图356仅对应于对象301的材料320,所以纹理贴图356可以用比纹理贴图306更高的细节层次来描绘材料320。纹理贴图356还可以包括材料320的3d信息以提供进一步的细节。3d模型350的渲染可以提供对象301的外部侧壁上的材料320的详细描绘,这可以允许用户获知对象301的更精细细节以及甚至是感觉。在一些情况下,渲染可能仅描绘网格354的相对较小的区,使得网格354的整体球形形状在渲染中不明显。
39.用3d模型补充数字媒体的示例系统和方法图6是展示根据实施例的用3d模型补充数字媒体的系统400的框图。系统400包括计算系统402、网络428和用户设备430。系统400可以用于多种不同应用中的任何一种。例如,计算系统402可以是或包括商业平台、医疗平台、社交媒体平台或cad平台。
40.如所展示的,计算系统402包括处理器404、存储器406和网络接口408。处理器404可以由执行存储在存储器406或另一计算机可读介质中的指令的一个或多个处理器来实施。可替代地,处理器404中的一些或全部可以使用专用的电路系统(比如专用集成电路(asic)、图形处理单元(gpu)或经编程的现场可编程门阵列(fpga))来实施。
41.网络接口408被提供用于通过网络428进行通信。网络接口408的结构是特定于实施方式的。例如,网络接口408可以包括网络接口卡(nic)、计算机端口(例如,插头或电缆所连接的实体插座)和/或网络套接字。
42.存储器406存储数字媒体记录410、3d材料模型记录420和标准记录422。数字媒体记录410可以包括表示一个或多个对象的图像、视频和/或3d模型。数字媒体记录410还可以包括相关联的音频内容和/或触觉内容。例如,数字媒体记录410可以存储由对象发出或以其他方式与对象相关联的声音、和/或可以提供对象的感觉的触觉反馈。来自数字媒体记录410的数字媒体可以被传输到设备以在那些设备上进行呈现。
43.存储在数字媒体记录410中的数字媒体的类型可以取决于计算系统402的应用。在一个示例中,计算系统402可以是或包括支持商家在线商店的商业平台,并且数字媒体记录410可能存储描绘经由在线商店销售的产品的产品媒体。商家可以生成描绘在其在线商店中销售的任何、一个、一些或所有产品的数字媒体,并将该数字媒体存储在计算系统402中。然后计算系统402可能将数字媒体提供给商家在线商店的客户。在另一示例中,计算系统402可以是或包括计算机辅助设计(cad)平台。数字媒体记录410可以存储可以提供给cad平台的用户的设计模型。
44.如图所示,数字媒体记录410包括描绘对象的数字媒体412和描绘该对象的一部分或子集的3d模型414。例如,数字媒体412可以是对象的图像、视频和/或3d模型。在一些实施
方式中,数字媒体412描绘对象整体,但是以可能不示出对象的更精细细节的保真度和/或分辨率来进行描绘。数字媒体412的有限保真度和/或分辨率可以减少与在用户设备上显示数字媒体412相关联的计算需求。例如,对象的图像或视频可以被压缩到一定的分辨率。在对象的3d模型的情况下,纹理贴图可以限于某个分辨率和/或可能不包括任何3d信息。进一步地,3d模型的网格可以限于一定数量的多边形。
45.3d模型414可以提供对象的子集的额外细节并且可以用于补充数字媒体412的有限细节。例如,3d模型414可以使用高分辨率纹理贴图、使用高多边形计数和/或使用高度贴图来描绘对象的子集。这样,数字媒体412和3d模型414提供了以各种细节层次描绘对象的一组数字媒体。在一些实施方式中,数字媒体412是图1至图3的3d模型300,并且3d模型414是图4和图5的3d模型350。
46.3d模型414可以特别地对应于数字媒体412和/或由数字媒体412描绘的对象。例如,3d模型可以表示由数字媒体412描绘的对象的独特区域(例如,面料上的独特图案),该区域可能没有被数字媒体记录410中的其他数字媒体描绘。3d模型414可能是出于补充数字媒体412的特定目的而生成的。可替代地,3d模型414可以是更通用的3d模型,其可以对应于并且可以用于补充多个数字媒体实例。例如,多个数字媒体实例可能描绘相同的对象,并且3d模型414可以用于补充这些数字媒体实例中的每一个。
47.在一些实施方式中,数字媒体记录410还包括描绘对象的其他子集并且可以用于补充数字媒体412的附加3d模型。进一步地,数字媒体记录410可以包括描绘其他对象的附加数字媒体。
48.可以将标识符分配给数字媒体412的不同部分以标明由数字媒体412描绘的对象的不同区域。例如,可以基于对象中的不同材料将标识符分配给数字媒体412。对象的任何、一个、一些或所有这些区域可以由不同的3d模型表示。这样,可以使用标识符来确定应使用哪个3d模型来描绘对象的特定区域。举例来说,可以为3d模型300的纹理贴图306的区310、312、314、316中的一个或多个区分配与表示该区的详细3d模型相对应的相应标识符。3d模型350可以对应于区310的标识符。
49.标识符可以被手动和/或自动添加到数字媒体412。例如,用户可以手动选择数字媒体412的由不同3d模型表示的部分,并将标识符分配给每个部分。可替代地或另外,可以基于数字媒体412中预先存在的纹理信息来分配标识符。如果数字媒体412是具有纹理贴图的3d模型,则可以将不同的标识符分配给纹理贴图中限定的不同材料中的每一种。作为示例,图3的纹理贴图306可以包括分配给材料320的区310、314的第一标识符和分配给材料322的区312、316的第二标识符。
50.在一些实施方式中,可以使用机器学习算法和其他预测算法来帮助检测数字媒体412中描绘的不同材料并基于检测到的材料将标识符分配给数字媒体412。例如,可以使用以已知材料描绘对象的数字媒体来形成训练数据集。然后可以使用训练数据集训练机器学习(ml)模型。一旦经过训练,ml模型就可以输入描绘未识别材料的数字媒体并输出对这些材料的预测。ml模型的输出还可以识别数字媒体的描绘每种材料的不同部分。ml模型结构的非限制性示例包括人工神经网络、决策树、支持向量机、贝叶斯网络和遗传算法。用于ml模型的训练方法的非限制性示例包括监督学习、无监督学习、强化学习、自学习、特征学习和稀疏字典学习。
51.存储在存储器406中的3d材料模型记录420包括模拟相应材料的一个或多个3d材料模型。3d材料模型是为表示特定材料的颜色、纹理和/或其他特性而生成的3d模型。3d材料模型记录420可以提供可以被实施用于补充不同数字媒体实例(例如,存储在数字媒体记录410中的任何、一些或所有数字媒体)的3d材料模型的通用库。相同的3d材料模型可以用于表示在可能描绘不同对象的多个数字媒体实例中示出的特定材料。这样,3d材料模型可能不对应于任何单一数字媒体实例或任何单一对象。这可以节省系统400中的存储资源,因为在存储器406中可能只存储了一个3d模型来表示在多个数字媒体实例中描绘的某一材料。
52.在一些实施方式中,可以使用3d材料模型记录420来补充数字媒体412。当用户放大数字媒体412的包括某种材料的区域时,可以从3d材料模型记录420中获得对应的3d材料模型并用于提供该材料的详细表示。3d材料模型记录420和3d模型414都可以用于补充数字媒体412(例如,3d材料模型记录420和3d模型414可以组合使用)。例如,3d材料模型记录420可以用于提供3d模型414没有表示出的对象材料的细节。可替代地,可以使用3d材料模型记录420来代替3d模型414。例如,3d材料模型可以提供对象的由3d模型414表示的同一子集的细节。这样,3d模型414可以被认为是可选的。
53.可以包括在3d材料模型记录420中的3d材料模型的一个示例是3d模型350,该模型模拟材料320。当用户设备在3d模型300中放大对象301的外部侧壁时,可以从3d材料模型记录420中获得3d模型350并渲染以更详细地呈现对象301的外部表面。3d模型350还可以用于补充描绘材料320的其他数字媒体实例。
54.在一些实施方式中,可以使用一组公共标识符来链接数字媒体和3d材料模型。例如,为3d材料模型记录420中的3d材料模型分配的标识符可以对应于用于标记数字媒体记录410中的数字媒体的标识符。当用户放大或以其他方式选择数字媒体中描绘的特定材料时,材料的标识符可以用于确定提供材料的详细表示的对应3d材料模型。考虑数字媒体描绘具有木质鞋底和毛皮饰边的皮靴的情况。可以为靴子的所有皮革部分分配与皮革材料的3d材料模型相对应的标识符。如果用户放大靴子的具有该皮革材料的任何区域,则可以使用相同的3d材料模型以高详细程度描绘皮革材料。这可以节省用户设备处的存储资源和通信资源,因为在用户设备处只需要为靴子的所有皮革部分接收和存储一个3d模型。类似的评论也可以适用于靴子的木质鞋底和毛皮饰边。
55.标准记录422包括用于确定何时应该用3d模型替换或以其他方式补充数字媒体的一个或多个标准。可以定义标准以帮助确保在用户设备上以目标品质描绘对象和/或其任何区域。目标品质也可以称为“期望品质”或“预期品质”。目标品质可以基于对象的清晰度(例如,像素化或模糊程度)和/或细节层次。在一些实施方式中,目标品质是基于一个或多个数字媒体属性(例如,包括锐度、噪声和对比度)来定义的。如果描绘对象的数字媒体可以在一定的缩放级别下实现目标品质,则可以将该数字媒体显示在用户设备上。然而,如果数字媒体未能在更高的缩放级别下实现目标品质,则可以用表示区域的3d模型来补充数字媒体以实现目标品质。
56.用于确定何时应该用详细的3d模型来替换或以其他方式补充数字媒体的不同类型标准的非限制性示例包括:
•
用于描绘对象区域的最小分辨率或阈值分辨率。不能为对象的选定区域提供最
小分辨率的数字媒体可能无法满足此标准。可以根据图像、视频或3d模型的渲染应该为了以目标品质描绘对象区域而提供的最小像素数量和/或最小像素密度来定义最小分辨率。例如,当用户放大数字媒体时,可以监测用户设备上显示的像素数量。如果数字媒体不能在一定的缩放级别下为对象的某个区域提供最小数量的像素,则可以确定应该用3d模型替换数字媒体。
•
用于描绘对象区域的最小保真度或阈值保真度。最小保真度可以包括最小分辨率,并且还或替代地可以包括描绘对象区域的准确程度的其他度量。例如,在3d模型表示对象的情况下,最小保真度可以包括在3d模型的渲染中显示的最小数量的多边形。可替代地或另外,最小保真度可能需要3d模型中包括高度贴图(例如,凹凸贴图)以更好地表示表面纹理。
•
数字媒体的最大缩放级别或最大放大倍数。数字媒体可以以目标品质描绘对象的最后一个缩放级别可以被认为是数字媒体的最大缩放级别。该最大缩放级别可以用百分比或比率来表达。例如,数字媒体的最大缩放级别可以是300%,从用户的角度来看,这使数字媒体的一部分的大小变为原先的三倍。超过300%的任何缩放级别都可能触发用3d模型替换数字媒体。
57.标准记录422可以包括可广泛应用于多个数字媒体实例的通用标准,和/或包括仅可适用于某些数字媒体实例的媒体特定的标准。通用标准可由计算系统402定义并应用于整个数字媒体记录410。当通用标准未被满足时,可以用3d模型补充数字媒体记录410中的任何数字媒体实例。另一方面,媒体特定的标准可以是用户定义的。例如,考虑数字媒体记录410包括用于在商家在线商店上显示的产品媒体的情况。商家可以为其任何、一个、一些或所有产品媒体定义标准。每当商家定义的标准被满足(或未被满足)时,可以用3d模型补充产品媒体。
58.系统400中的网络428可以是实施不同设备之间的有线和/或无线连接的计算机网络,这些不同设备包括计算系统402和用户设备430。例如,计算系统402可以通过网络428从用户设备430接收数字媒体和/或向用户设备430发送数字媒体。网络428可以实施本领域已知的任何通信协议。通信协议的非限制性示例包括局域网(lan)、无线lan、互联网协议(ip)网络和蜂窝网络。
59.用户设备430可以是或包括移动电话、平板计算机、膝上型计算机、投影仪、头戴设备和/或计算机。用户设备430包括处理器432、存储器434、用户接口436、网络接口438和传感器440。用户接口436可以包括例如显示屏(其可以是触摸屏)、手势识别系统、扬声器、头戴式耳机、麦克风、触觉装置、键盘和/或鼠标。用户接口436可以向用户呈现数字内容,包括视觉内容、触觉内容和音频内容。在一些实施方式中,用户设备430包括植入设备或可穿戴设备,比如嵌入衣料中的设备、或者用户穿戴的设备(比如眼镜)。
60.网络接口438被提供用于通过网络428进行通信。网络接口438的结构将取决于用户设备430如何与网络428进行接口连接。例如,如果用户设备430是移动电话、头戴设备或平板计算机,则网络接口438可以包括具有天线的发射器/接收器以便向/从网络428发送和接收无线传输。如果用户设备是利用网络电缆连接到网络428的个人计算机,则网络接口438可以包括例如nic、计算机端口和/或网络套接字。
61.处理器432直接执行或指示由用户设备430执行的所有操作。这些操作的示例包括
处理从用户接口436接收的用户输入、准备要通过网络428进行传输的信息、处理通过网络428接收的数据、以及指示显示屏显示信息。处理器432可以由执行存储在存储器434中的指令的一个或多个处理器来实施。可替代地,处理器432中的一些或全部可以使用专用的电路系统(比如asic、gpu或fpga)来实施。
62.传感器440可以在用户设备430处启用摄影、摄像、距离测量、3d扫描和/或3d地图构建(例如,同时定位与地图构建(slam))。例如,传感器440可以包括一个或多个相机、雷达传感器、激光雷达传感器、声纳传感器、加速度计、陀螺仪、磁力计和/或卫星定位系统接收器(例如,全球定位系统(gps)接收器)。传感器440获得的测量值可以帮助在用户设备430上实现增强现实(ar)、混合现实(mr)和/或扩展现实(xr)体验。尽管传感器440被示出为用户设备430的组件,但传感器440的至少一部分还或替代地可以与用户设备430分开实施,并且可以例如经由有线和/或无线连接与用户设备430通信。
63.图7是展示根据实施例的用3d模型补充数字媒体的方法500的流程图。方法500将被描述为由图4的计算系统402执行以补充在用户设备430处显示的数字媒体412。例如,存储器406可以存储指令,这些指令在由处理器404执行时使处理器404执行方法500。然而,这仅是方法500的一个示例实施方式。方法500可以更普遍地适用于补充在其他设备处显示的其他数字媒体实例。方法500也不一定总是由计算系统402执行,而是可能替代地由比如用户设备430的另一设备执行。
64.步骤502包括处理器404指示用户设备430显示数字媒体412。这可以导致由数字媒体412描绘的对象的至少一部分被示出在用户设备430的显示屏上。如上所述,数字媒体412可以包括对象的可以呈现在用户设备430的显示屏上的图像和/或视频。可替代地或另外,数字媒体412可以包括对象的3d模型,在这种情况下,可以在用户设备430的显示屏上呈现3d模型的一个或多个渲染。3d模型的渲染可以在用户设备430本地生成。
65.在一些实施方式中,步骤502包括将数字媒体412传输到用户设备430。然而,情况不一定总是如此。替代地,数字媒体412可能已经存储在用户设备430上的存储器434中。在用户设备430上显示数字媒体412的指令可以从计算系统402传输到用户设备430。例如,可以以超文本标记语言(html)页面的形式向用户设备430发送指令。
66.在一些实施方式中,用户可以在用户设备430处与数字媒体412交互。例如,用户可以放大对象的不同区域和/或在对象的区域之间平移。如果数字媒体是对象的3d模型,则用户可以在虚拟坐标系内移动和/或旋转对象。可选地,3d模型可以放置在由用户设备430实施的ar、mr或xr体验中。
67.步骤504包括处理器404接收选择数字媒体412中的所描绘对象的区域的指示。该指示可以在用户设备430处生成并传输到计算系统402。在一些实施方式中,该指示基于用户设备430处的用户输入。例如,该指示可以基于用户放大数字媒体412的一部分以在用户设备430的显示屏上放大对象的选定区域。放大数字媒体412可以包括放大图像的一部分、视频的一帧和/或3d模型的渲染。在放大数字媒体412的该部分之后,对象的选定区域可以基本上填满用户设备430的显示屏。在另一示例中,该指示可以基于用户通过点击计算机鼠标或轻击触摸屏来手动选择用户设备430的显示屏中的对象区域。在又另一个示例中,该指示可以基于用户使用计算机鼠标或触摸屏在选定区域周围绘制周边。
68.还设想了选择数字媒体412中的所描绘对象的区域的其他类型的指示。例如,如上
所述,数字媒体412可以是在用户设备430处在ar体验内实施的3d模型。可以将3d模型的渲染叠加在由用户设备430中的相机捕获的真实世界环境的图像上,使得对象看起来存在于该真实世界环境中。还或替代地可以将3d模型的渲染呈现在用户设备430的透明显示器上以将渲染叠加在真实世界环境上。然后,选择对象的区域的指示可以基于用户使用户设备430在物理上更靠近ar体验内的对象的该区域。例如,通过在真实世界环境内移动用户设备430,用户设备430可以放大用户设备430上描绘的对象的选定区域。这样,用户在ar体验中物理地移动用户设备430可以提供选择对象的区域的指示。
69.应当注意,对象的选定区域不限于2d区域。例如,选定区域可以是由3d模型表示的对象的3d表面。
70.如上所述,可以限制数字媒体412的保真度以减少与在用户设备430和其他设备上显示数字媒体412相关联的计算需求。数字媒体412的有限保真度可能导致这样的情况,即数字媒体412缺乏用于准确描绘在步骤504中指示的对象的选定区域的细节。例如,数字媒体412可能仅能够提供选定区域的像素化或模糊表示。
71.步骤506是可选步骤,该步骤包括处理器404基于至少一个标准和在步骤504中指示的选定区域确定或预测应该在用户设备430上显示3d模型。该3d模型可以与所描绘对象的选定区域相对应,并且可以不同于数字媒体412。在步骤506中使用的标准可以例如从标准记录422中获得。该标准可以特定于数字媒体412或者可以是可以适用于多个数字媒体实例的通用标准。在一些实施方式中,该标准包括以目标品质描绘选定区域的最小保真度和/或最小分辨率。如果数字媒体412不能为选定区域提供这个最小保真度和/或最小分辨率,则处理器404可以确定应该在用户设备430上显示3d模型。可替代地或另外,该标准可以包括以目标品质描绘选定区域的最大缩放级别。例如,这可以是数字媒体412在仍提供对象的清晰表示时可实现的最高缩放级别。如果与对象的选定区域相关联的缩放级别超过最大缩放级别(例如,用户请求的缩放级别大于最大缩放级别),则处理器404可以确定应该在用户设备430上显示3d模型。
72.在一些实施方式中,将目标品质与可以在放大(zoom in)、缩放或以其他方式放大(magnify)数字媒体412中对象的选定区域之后产生的可实现品质进行比较。可实现品质可以与数字媒体412的表示对象选定区域的部分的分辨率和/或保真度有关。可实现品质还或替代地可以与数字媒体412表示对象的选定区域的缩放级别有关。如果目标品质高于可实现品质,则可以确定应该在用户设备430上显示3d模型。例如,目标品质可能高于数字媒体412在放大对象的选定区域之后可以产生的品质。可替代地,如果目标品质低于这个可实现品质,则可以确定应该在用户设备430上显示数字媒体412。
73.步骤508包括处理器404指示用户设备430显示与对象的选定区域相对应的3d模型。该指令可以从计算系统402传输到用户设备430。在一些实施方式中,步骤508包括将3d模型传输到用户设备430。可替代地,3d模型可能已经存储在用户设备430上的存储器434中。可选地,3d模型可以放置在由用户设备430实施的ar、mr或xr体验中。
74.3d模型可能限于表示对象的包括选定区域的子集,并且可能以比数字媒体412的保真度和/或分辨率显著更高的保真度和/或分辨率来描绘选定区域。这样,3d模型的渲染可以在仍然节省用户设备430处的计算资源的同时以高详细程度描绘选定区域。例如,3d模型可以包括高分辨率纹理贴图、密集网格和/或高度贴图(例如,凹凸贴图),这些更好地展
示了对象的选定区域的纹理和/或表面缺陷。在一些实施方式中,3d模型可以具有简单的几何形状(例如,球形或立方体形),这可以帮助降低模型的计算和存储要求。然后,可以例如使用高度贴图将详细的3d纹理添加到3d模型。
75.在一些实施方式中,步骤508包括选择与对象的选定区域相对应并且应该在用户设备430上显示的3d模型。该选择可以至少部分地使用分配给数字媒体412的不同部分的标识符来执行。例如,数字媒体412可以包括与对象的相应区域相对应的多个标识符。存储在数字媒体记录410、3d材料模型记录420和/或其他地方的一个或多个3d模型也可能分配有与数字媒体412中的标识符相对应的标识符。步骤508可以包括:确定与对象的选定区域相对应的特定标识符,以及通过将特定标识符与分配给3d模型的标识符进行比较、基于该特定标识符来选择3d模型。举例来说,选定区域的特定标识符可能与分配给数字媒体记录410中的3d模型414的标识符相匹配。于是,在步骤508之后可能在用户设备430上显示3d模型414。如上所述,3d模型414可以特定于数字媒体412和/或特定于由数字媒体412描绘的对象。例如,3d模型414可以用于表示对象的独特特征。
76.在一些实施方式中,选定区域的特定标识符对应于对象中的特定材料。于是,在步骤508之后在用户设备430上显示的3d模型可以包括该特定材料的3d表示。例如,3d模型可以是基于特定标识符从3d材料模型记录420中选择的3d材料模型。
77.在一些实施方式中,响应于在步骤506中确定应该在用户设备430上显示3d模型而执行步骤508。然而,情况可能并非总是如此。例如,步骤508还或替代地可以响应于用户对在用户设备430上显示3d模型的请求而被执行。用户可能请求使用3d模型来表示对象的选定区域,并且步骤508可以被执行以显示该3d模型。在一些实施方式中,可以在用户设备430的显示器上呈现“材料查看器”选项。当材料查看器选项被选择时,用户设备430可以显示与选定区域相对应的3d材料模型。
78.在一些实施方式中,步骤508包括指示用户设备430在用户设备430的显示器上用3d模型替换数字媒体412。在替换之后,数字媒体412可能不再显示在用户设备430上。用3d模型替换数字媒体412可以被执行为使得用户相对不易察觉。例如,在步骤506中确定或预测应该用3d模型替换数字媒体412之后,可以将3d模型加载到用户设备430的存储器434中。当用户放大到对象的选定区域(例如,用户超过数字媒体的最大缩放级别)时,可以渲染3d模型以描绘选定区域,并且可以以相对无缝的方式用渲染替换数字媒体412。
79.然而,可能不会在所有实施方式中都用3d模型替换数字媒体412。可能替代地在用户设备430的显示器中将3d模型的渲染与数字媒体412一起呈现。例如,数字媒体412可以呈现在显示器的一个窗口中,并且3d模型可以呈现在显示器的另一个窗口中(例如,在材料查看器窗口中)。
80.可以基于数字媒体412生成3d模型的初始渲染,以提供与先前由数字媒体412提供的视图相匹配的对象视图。例如,3d模型的渲染可以反映数字媒体412中描绘的对象的选定区域的大小和取向。然后,可以以基本上无缝的方式用3d模型的渲染替换数字媒体412。在替换之后,用户可以开始查看3d模型并与之交互。例如,用户可以放大和/或操纵(例如,移动和旋转)3d模型以获得对象的不同视图。用户可以放大由3d模型提供的3d纹理,以更好地获知对象的选定区域的外观以及甚至感觉。
81.在一些实施方式中,可以修改3d模型以更好地匹配数字媒体412,并且可能提供对
数字媒体412的更无缝的替换。修改可以包括修改3d模型中的计算机图形学光照。例如,步骤508可以包括确定数字媒体412中描绘的对象的选定区域的光照,这可以表征数字媒体412中的选定区域的照明。步骤508然后可以包括将确定的光照应用于3d模型。一旦将光照应用于3d模型,对象的选定区域就可以在数字媒体412和3d模型两者中被相似地照亮。例如,相似的光照可以帮助避免在用户设备430的显示屏上用3d模型的渲染替换数字媒体412时对象外观的任何突然或不和谐的变化。此外,在一些情况下,数字媒体412中描绘的光照可能与用户设备430的用户相关联(例如,由用户选择和/或提供),并且可以应用于3d模型以使得光照仍然与用户相关。例如,数字媒体412中描绘的光照可以对应于用户家的房间中的光照。可替代地或另外,如果数字媒体412在用户设备430上在ar体验中实施,则步骤508可以包括为该ar体验确定现实世界环境中的光照并将现实世界光照应用于3d模型以提供更沉浸的ar体验。
82.数字媒体412中描绘的光照可以以环境贴图的形式确定。该环境贴图可以通过对数字媒体412执行图像分析来生成。例如,可以提取数字媒体412中描绘的背景内容并将其缝合在一起以形成环境贴图,这可以至少部分地重新创建生成数字媒体412的环境或场景。可替代地或另外,可以使用数字媒体412中的对象的表面上显示的光交互和对象的材料特性的知识来帮助确定环境贴图的至少一部分(例如,基于对象上的光交互来定位光的斑点和/或环境中的暗区)。可替代地或另外,数字媒体412的环境贴图可以在映射过程中创建并且可选地作为元数据与数字媒体412一起存储。可以确定对象在数字媒体412的环境贴图内的位置并将其存储为坐标。例如,可以将坐标系映射到环境贴图,并且可以为对象分配坐标系内的位置和取向。通过将数字媒体412的环境贴图放置在3d模型的虚拟坐标系内,可以使用环境贴图来将光照应用于3d模型。例如,可以使用基于图像的光照技术将由环境贴图捕获的光照投射到3d模型的虚拟表面上。环境贴图还可以使得能够描绘3d模型的虚拟表面上的反射(例如,通过反射映射)。
83.可替代地或另外,数字媒体412中描绘的光照可以以一个或多个光源的特性的形式来确定。数字媒体412中描绘的光源的特性可以尤其包括:光源的亮度或强度(例如,以流明为单位)、光源的颜色(例如,根据红-绿-蓝(rgb)颜色模型或以开尔文为单位的色温)、光源的位置(例如,光源的坐标)、光源的方向性、光源的扩散和光源的类型。不同类型光源的示例包括:从单个位置向所有方向发射光的点光源(例如,独立的灯泡)、沿一个方向均匀发射光的定向光源(例如,太阳光)、产生光锥的聚光灯光(例如,手电筒)和产生无方向性的一般照明的环境光(例如,从房间中的多个表面反射的光)。在一些实施方式中,可以分析数字媒体412中的对象的选定区域上描绘的光交互以确定可能产生这些交互的光源。例如,可以使用数字媒体412中的对象上示出的漫射光交互、环境光交互和/或镜面光交互来确定光源的特性。如果对象的选定区域的材料是已知的(例如,基于数字媒体412中的标识符),则可以使用对象的选定区域的材料特性来帮助表征对应的光源。例如,可以通过图像分析从数字媒体412中提取光交互,并将这些光交互与材料特性进行比较,以确定这些光交互可能是由哪些光源产生的。还或替代地可以使用数字媒体412中的背景对象上描绘的光交互来确定光源的特性。一旦确定数字媒体412中描绘的光源的特性,就可以基于这些特性将虚拟光源添加到3d模型。这可以在数字媒体412和3d模型两者中对选定区域提供相似光照。
84.在步骤508之后,用户设备430可以在某一时刻切换回显示数字媒体412。步骤510
是可选步骤,该步骤包括处理器404接收选择所描绘对象的第二区域的进一步指示。类似于在步骤504中接收到的指示,该进一步指示可以从用户设备430接收和/或可以基于用户设备430处的用户输入。例如,该指示可以基于用户从由3d模型表示的对象的第一选定区域缩小到第二选定区域。在另一示例中,该指示可以基于用户关闭用户设备上的材料查看器窗口。步骤512是可选步骤,该步骤包括处理器404基于至少一个标准和第二选定区域确定应该在用户设备430上显示数字媒体412。步骤512中使用的至少一个标准可以与步骤506中使用的标准相同。例如,如果数字媒体412可以提供以目标品质描绘第二选定区域的最小保真度和/或最小分辨率,则处理器404可以确定应该显示数字媒体412。可替代地或另外,可以确定与对象的第二区域相关联的缩放级别小于数字媒体412的最大缩放级别。步骤514是可选步骤,该步骤包括处理器404指示用户设备430显示数字媒体412,这可以响应于步骤512中的确定而被执行。步骤514可能不包括将数字媒体412传输到用户设备430,因为数字媒体412可能已经存储在存储器434中。
85.在数字媒体412包括对象的3d模型的情况下,然后可以在步骤514中基于紧接在执行步骤508之前在用户设备430上显示的对象的视角来渲染该3d模型。例如,当切换回到查看数字媒体412时,可以忽略在步骤508之后使用第一选定区域的3d模型对于对象的取向所做的任何改变。可替代地,可以基于紧接在执行步骤514之前在用户设备430上显示的对象的视角来渲染3d模型。基于紧接在步骤514之前的对象的视图在数字媒体412中渲染3d模型可以保留在查看第一选定区域的3d模型时对对象的用户视图所做的改变。
86.如使用从步骤514到504的箭头所展示的,可以多次执行方法500的至少一部分。这可以允许用户放大和缩小由数字媒体412描绘的对象的相应区域,从而导致多次发生用表示对象的不同子集(例如,不同材料)的一个或多个3d模型来替换数字媒体412。替换可以被执行为使得从用户的角度来看他们似乎正在查看以高细节层次描绘对象的单个高保真数字媒体实例(例如,单个高保真3d模型)。
87.图7所示的步骤502、504、506、508、510、512、514的顺序仅作为示例提供。还设想这些步骤的其他顺序。在一些实施方式中,可以在步骤504之前执行步骤506。在用户实际选择3d模型所对应的区域之前,计算系统402可以在步骤506中确定或预测应该在用户设备430上显示3d模型。例如,用户可能正在快速放大数字媒体412,并且可以预测的是,用户打算查看数字媒体412不能以目标品质描绘的对象的区域。这样,可以预计用户对区域的选择。可以在用户放大数字媒体412时将3d模型加载到用户设备430的存储器434中,这可以被认为是缓冲数字媒体412的下一缩放级别的一种形式。这可以减少与在用户设备430的显示屏中用3d模型替换数字媒体412相关联的延迟,并且潜在地为用户提供更无缝的体验。
88.还设想了方法500的其他实施方式。例如,方法500可以整体或部分地由用户设备430执行。用户设备430可以存储数字媒体412和3d模型并且还可以在步骤508、514中指示显示数字媒体412和3d模型。
89.进一步示例图8至图12示出了在电子商务背景下用3d模型补充数字媒体的示例。图8展示了用户设备600显示在线商店的屏幕页面602。屏幕页面602是提供待售长沙发的在线商店产品页面。屏幕页面602显示提供长沙发的描绘604的数字媒体。例如,数字媒体可以是长沙发的图像、长沙发的视频或长沙发的3d模型。如果数字媒体是图像,则描绘604可以是该图像的
至少一部分。如果数字媒体是视频,则描绘604可以是视频的一帧。如果数字媒体是3d模型,则描绘可以是3d模型的渲染。屏幕页面602还包括对描绘604与数字媒体的100%缩放级别相对应的指示606(即,数字媒体没有被放大)。屏幕页面602进一步包括用于打开针对长沙发的软垫所用面料的材料查看器的选项608、以及用于打开针对长沙发的抱枕所用面料的材料查看器的另一个选项610。
90.屏幕页面602提供了方法500的步骤502的示例实施方式。例如,实施在线商店的计算系统可以指示用户设备600显示描绘长沙发的数字媒体。如图所示,数字媒体最初可以在没有进行任何放大的情况下被提供,使得在用户设备600上可以看到整个长沙发。然后,用户可能能够调整数字媒体的放大倍数以放大长沙发的某些区域或材料。在数字媒体是长沙发的3d模型的情况下,用户还可能能够在用户设备600的显示器内虚拟地移动和/或旋转长沙发以查看长沙发的不同区域。
91.图9展示了用户设备600显示在放大描绘长沙发的数字媒体后的在线商店的另一屏幕页面702。屏幕页面702包括长沙发的选定区域的描绘704和对描绘704与数字媒体中的200%缩放级别相对应的指示706。屏幕页面702可能是响应于用户设备600处的放大描绘长沙发的数字媒体的用户输入而生成的。
92.在此示例中,数字媒体能够在200%的缩放级别下以目标品质描绘长沙发。例如,描绘704的分辨率可以大于最小分辨率,描绘704的保真度可以大于最小保真度,和/或数字媒体的最大缩放级别可以大于200%。然而,如果用户将数字媒体放大到数字媒体无法以目标品质描绘长沙发的级别,则可以用3d模型补充数字媒体。例如,可以限制数字媒体的保真度和/或分辨率以帮助确保用户设备600上的流畅操作。可替代地或另外,如果用户选择选项608、610中的任何一个,则可以用3d模型补充数字媒体。
93.图10展示了用户设备600显示在线商店的另一屏幕页面802,但其中数字媒体被替换为与长沙发的软垫相对应的3d模型。屏幕页面802包括3d模型的渲染804,该渲染以高细节层次显示长沙发的软垫。渲染804可以对应于长沙发的选定区域(例如,经由用户设备600处的用户输入选择的区域)的大小和取向。屏幕页面802进一步包括对渲染804与数字媒体中的300%缩放级别相对应的指示806。
94.长沙发的软垫的3d模型提供了长沙发的软垫所用面料的详细3d表示。例如,3d模型可以包括高分辨率纹理贴图、密集网格和/或高度贴图。3d模型可能已经基于数字媒体中示出的光照进行了修改,以便在数字媒体与3d模型之间提供更无缝的转换。虽然3d模型可以提供长沙发的软垫的高保真表示,但由于3d模型限于表示长沙发的软垫(即长沙发的子集)而不是整个长沙发,因此在用户设备600上实施3d模型可能没有很高的计算需求。
95.屏幕页面802提供了方法500的步骤504、506、508的示例实施方式。例如,渲染804可以对应于在步骤504中指示的长沙发的选定区域。用户设备600处的用户输入可能已经通过将长沙发的软垫放大到300%缩放级别或通过选择用于打开针对长沙发的软垫的材料查看器的选项608来选择长沙发的这个区域。在步骤506中,可以确定应该在用户设备600上显示与长沙发的软垫相对应的3d模型,该确定可以基于一个或多个标准做出。例如,可以确定数字媒体不能以最小保真度和/或最小分辨率描绘长沙发的软垫。还或替代地可以确定300%缩放级别超过数字媒体的最大缩放级别。相应地,在步骤508中,可以指示用户设备用3d模型的渲染804替换数字媒体。
96.在一些实施方式中,可以执行方法500的步骤510、512、514以便用描绘整个长沙发的数字媒体替换长沙发的软垫的3d模型。例如,步骤510可以包括接收用户从3d模型的渲染804进行缩小和/或关闭针对长沙发的软垫的材料查看器的指示。然后,在步骤512中,可以确定应该在用户设备600上显示数字媒体。在步骤514中,可以指示用户设备600显示描绘长沙发的数字媒体。例如,可以指示用户设备600显示图9所示的屏幕页面702,该屏幕页面包括长沙发的描绘704。
97.在用户设备600返回到显示描绘长沙发的数字媒体之后,用户可以选择长沙发的另一个区域以更详细地查看。图11展示了用户设备600显示在线商店的又另一屏幕页面902,该屏幕页面包括与长沙发的抱枕相对应的3d模型的渲染904。长沙发的抱枕的3d模型提供了长沙发的抱枕所用的面料的详细3d表示。例如,这个3d模型可能是长沙发的抱枕的面料的3d材料模型。数字媒体可能是响应于用户放大抱枕和/或响应于用户选择用于打开针对抱枕所用面料的材料查看器的选项610而被渲染904替换的。
98.可以通过用户设备600处的用户输入来操纵长沙发的软垫的3d模型和/或长沙发的抱枕的3d模型。例如,图12展示了用户设备600显示在线商店的再另一屏幕页面1002,该屏幕页面包括长沙发的抱枕的3d模型的渲染1004。与图11的渲染904相比,渲染1004对应于长沙发的抱枕的不同视角。渲染1004可能是响应于用户操纵长沙发的抱枕的3d模型而被生成的。
99.在一些实施方式中,屏幕页面602、702、802、902、1002可以对应于在用户设备600处实施的ar体验。例如,描绘长沙发的数字媒体可以是长沙发的已经虚拟映射到用户设备600周围的真实世界环境的3d模型。屏幕页面602中的长沙发的描绘604可以叠加在该环境的图像上,使得长沙发看起来存在于环境中。当用户设备600被物理地移动至更靠近环境内3d模型的虚拟位置时,可以生成屏幕页面702中的长沙发的描绘704。当用户设备600过于靠近长沙发的虚拟位置,从而使得长沙发的3d模型不能再以目标品质描绘长沙发的软垫时,可以用长沙发的软垫的3d模型替换长沙发的3d模型。这可能引起生成屏幕页面802中的渲染804。类似的评论也适用于用户过于靠近长沙发的抱枕的虚拟位置(这可能导致生成屏幕页面902中的渲染904)的情况。相对于长沙发的抱枕移动用户设备600还可以生成屏幕页面1002中的从不同角度示出抱枕的渲染1004。
100.示例电子商务平台尽管与商务平台集成不是必需的,但在一些实施例中,本文披露的方法可以在比如电子商务平台等商务平台上或与之相关联地执行。因此,将描述商务平台的示例。
101.图13展示了根据一个实施例的示例电子商务平台100。电子商务平台100可以用于向客户提供商家的产品和服务。虽然本披露内容设想使用装置、系统和过程来购买产品和服务,但为了简单起见,本文的描述将涉及产品。在本披露内容中所有对产品的提及也应当理解为对产品和/或服务的提及,包括例如实体产品、数字内容(例如,音乐、视频、游戏)、软件、票证、订阅、要提供的服务等。
102.虽然本披露内容自始至终设想
‘
商家’和
‘
客户’可以不只是个人,但为了简单起见,本文的描述一般地涉及商家和客户本身。在本披露内容中所有对商家和客户的提及也应当理解为对个人团体、公司、企业、计算实体等的提及,并且可以代表营利性或非营利性的产品交换。进一步,虽然本披露内容自始至终提及
‘
商家’和
‘
客户’,并描述他们的角色本
身,但电子商务平台100应当被理解为更一般地支持电子商务环境中的用户,并且在本披露内容中对商家和客户的提及也应当理解为对用户的提及,比如,用户是商家用户(比如,卖方、零售商、批发商或产品提供商)、客户用户(比如,买方、购买代理、消费者或产品用户)、潜在用户(比如,正在浏览但尚未承诺购买的用户、评估电子商务平台100以潜在地用于营销和销售产品的用户等)、服务提供商用户(比如,运输提供商112、金融提供商等)、公司或企业用户(比如,购买、销售或使用产品的公司代表;企业用户;客户关系或客户管理代理等)、信息技术用户、计算实体用户(比如,用于购买、销售或使用产品的计算机器人)等。此外,可以认识到,虽然在一种背景下给定用户可以扮演给定角色(例如,作为商家)并且他们相关联的设备可以被相应地提及(例如,作为商家设备),但是在另一种背景下同一个人可以扮演不同的角色(例如,作为客户)并且同一个或另一个相关联的设备可以被相应地提及(例如,作为客户设备)。例如,一个人可以是一种类型的产品(例如,鞋子)的商家,并且是其他类型的产品(例如,杂货)的客户/消费者。在另一个示例中,一个人可以同时是同一类型产品的消费者和商家。在特定示例中,从事特定类别商品交易的商家在从批发商(批发商充当商家)进行订购时可以充当同一类别商品的客户。
103.电子商务平台100为商家提供在线服务/设施以管理他们的业务。本文描述的设施被示出为平台100的一部分,但也可以整体或部分地被配置为与平台100分开,作为独立服务。此外,在一些实施例中,这样的设施可以另外或可替代地由一个或多个提供商/实体提供。
104.在图13的示例中,设施是通过在一个或多个处理器上执行计算机软件、模块、程序代码和/或指令的机器、服务或引擎来部署的,该一个或多个处理器可以如上所述地是平台100的一部分或在该平台外部。商家可以使用电子商务平台100来实现或管理与客户的商务,比如通过在线商店138、应用程序142a-b、渠道110a-b和/或通过物理位置的销售点(pos)设备152(比如,实体店面或其他位置,比如通过自助终端机、终端、读取器、打印机、3d打印机等)实施与客户的电子商务体验。商家可以将电子商务平台100作为与客户的唯一商务存在使用,或者与其他商家商务设施结合使用,比如通过实体店(比如,
‘
实体(brick-and-mortar)’零售店)、商家平台外网站104(比如,与电子商务平台100分开的由商家支持或代表商家的商业互联网网站或其他互联网或网络财产或资产)、应用程序142b等。然而,即使这些
‘
其他’商家商务设施也可以与电子商务平台100相结合或通信,比如,商家实体店中的pos设备152链接到电子商务平台100,商家平台外网站104比如通过将平台外商家网站104的内容链接到在线商店138的
‘
购买按钮’而绑定到电子商务平台100等。
105.在线商店138可以代表包括多个虚拟店面的多租户设施。在实施例中,商家可以比如通过商家设备102(例如,计算机、膝上型计算机、移动计算设备等)配置和/或管理在线商店138中的一个或多个店面,并且通过多种不同的渠道110a-b(例如,在线商店138;应用程序142a-b;实体店面,通过pos设备152;电子市场,比如通过集成到网站或社交媒体渠道中的电子购买按钮,该按钮比如在社交网络、社交媒体页面、社交媒体消息传送系统上;等等)向客户提供产品。商家可以跨渠道110a-b销售,然后通过电子商务平台100管理他们的销售,其中,渠道110a可以作为电子商务平台100内部或外部的设施或服务提供。另外或可替代地,商家可以在他们的实体零售店、在快闪店、通过批发、通过电话等进行销售,然后通过电子商务平台100管理他们的销售。商家可以采用这些操作模式的全部或任何组合。值得注
意,可能的是,通过采用这些模式的多种和/或特定组合,商家可以提高销售概率和/或销售量。在本披露内容中,术语“在线商店138”和“店面”可以同义地使用以指代商家通过电子商务平台100的在线电子商务服务提供,其中,在线商店138可以指代由(例如,用于一个或多个商家的)电子商务平台100支持的店面集合,或指代单个商家的店面(例如,商家的在线商店)。
106.在一些实施例中,客户可以通过客户设备150(例如,计算机、膝上型计算机、移动计算设备等)、pos设备152(例如,零售设备、自助终端机、自动化(自助式)结账系统等)和/或本领域已知的任何其他商务接口设备与平台100进行交互。电子商务平台100可以使商家能够通过在线商店138、通过应用程序142a-b、通过物理位置(例如,商家的店面或其他位置)的pos设备152与客户联系,经由电子通信设施129与客户通信等,以便提供用于联系客户并促进针对可用于联系客户并与客户交互的真实或虚拟路径的商家服务的系统。
107.在一些实施例中,并且如本文进一步描述的,电子商务平台100可以通过处理设施来实施。这种处理设施可以包括处理器和存储器。处理器可以是硬件处理器。存储器可以是和/或可以包括比如随机存取存储器(ram)等暂态存储器、和/或比如非暂态计算机可读介质(比如持久性存储装置(例如,磁存储装置))等非暂态存储器。处理设施可以(例如在存储器中)存储一组指令,这些指令当被执行时使电子商务平台100执行如本文描述的电子商务功能和支持功能。处理设施可以是服务器、客户端、网络基础设施、移动计算平台、云计算平台、固定计算平台和/或其他计算平台中的一个或多个或可以是其一部分,并且可以在电子商务平台100的组件、商家设备102、支付网关106、应用程序142a-b、渠道110a-b、运输提供商112、客户设备150、销售点设备152等之间提供电子连接和通信。在一些实施方式中,处理设施可以是或可以包括协同工作的一个或多个这样的计算设备。例如,可以是多个协作计算设备充当/提供该处理设施。电子商务平台100可以实施为以下一项或多项或使用其来实施:云计算服务、软件即服务(saas)、基础设施即服务(iaas)、平台即服务(paas)、桌面即服务(daas)、管理软件即服务(msaas)、移动后端即服务(mbaas)、信息技术管理即服务(itmaas)等。例如,实现本文描述的设施的底层软件(例如,在线商店138)可以作为服务提供,并且被集中托管(例如,然后由用户通过网络浏览器或其他应用程序访问,和/或通过客户设备150、pos设备152访问等)。在一些实施例中,电子商务平台100的元件可以被实施为与各种其他平台和操作系统一起操作和/或集成。
108.在一些实施例中,电子商务平台100的设施(例如,在线商店138)可以例如通过连接到电子商务平台100的网络(使用数据134)向客户设备150提供内容。例如,在线商店138可以响应于来自客户设备150的对数据134的请求来提供或发送内容,其中,浏览器(或其他应用程序)通过使用网络通信协议(例如,互联网协议)的网络连接到在线商店138。该内容可以用机器可读语言来编写,并且可以包括超文本标记语言(html)、模板语言、javascript等和/或其任何组合。
109.在一些实施例中,在线商店138可以是或可以包括向客户设备提供内容并允许客户浏览和购买各种可获得的产品(例如,将产品添加到购物车、通过购买按钮购买等)的服务实例。商家还可以通过主题系统来定制他们网站的外观和感觉,比如在这样的主题系统中,商家可以通过在在线商店的产品信息内示出相同的底层产品和业务数据的同时改变他们的主题来选择和改变商家的在线商店138的外观和感觉。可能的是,可以进一步通过主题
编辑器(即,使用户能够灵活地定制他们网站的设计的设计界面)来定制主题。另外或可替代地,可能的是,可以另外或可替代地使用主题特定的设置来定制主题,这些设置比如可以改变给定主题的方面(例如,特定的颜色、字体和预构建的布局方案)。在一些实施方式中,在线商店可以实施用于网站内容的内容管理系统。商家可以在创作博客帖子或静态页面并将它们发布到其在线商店138(比如通过博客、文章、登录页面等)、以及配置导航菜单时采用这种内容管理系统。商家可以将图像(例如,产品)、视频、内容、数据等上传到电子商务平台100,比如以供系统存储(例如,存储为数据134)。在一些实施例中,电子商务平台100可以提供用于操纵这样的图像和内容的功能,比如用于调整图像大小、将图像与产品相关联、添加文本并将文本与图像相关联、为新产品变型添加图像、保护图像等的功能。
110.如本文描述的,电子商务平台100可以通过多种不同渠道110a-b向商家提供产品的销售和营销服务,这些渠道包括例如本文描述的在线商店138、应用程序142a-b、以及通过实体pos设备152。电子商务平台100可以另外或可替代地包括与经营在线业务(比如提供与他们的在线商店相关联的域注册服务118、用于促进与客户的交易的支付服务120、用于为所购买的产品提供客户运输选项的运输服务122、用于管理库存的履行服务、与产品保护和责任相关联的风险和保险服务124、商家账单等中的一个或多个)相关联的业务支持服务116、管理员114、仓库管理系统等。服务116可以经由电子商务平台100提供或与外部设施相关联地提供,比如通过用于支付处理的支付网关106、用于加快产品运输的运输提供商112等提供。
111.在一些实施例中,电子商务平台100可以配置有运输服务122(例如,通过电子商务平台运输设施或通过第三方承运商),以向商家和/或他们的客户提供各种运输相关信息,比如运输标签或运费信息、实时配送更新、跟踪等。
112.图14描绘了管理员114的主页的非限制性实施例。管理员114可以被称为管理控制台和/或管理员控制台。管理员114可以示出关于日常任务、商店最近的活动以及商家为建立其业务可以采取的后续步骤的信息。在一些实施例中,商家可以经由商家设备102(例如,台式计算机或移动设备)登录到管理员114,并管理他们的在线商店138的各方面,比如查看在线商店138的最近访问或订单活动,更新在线商店138目录,管理订单等。在一些实施例中,商家可能能够通过使用侧边栏(比如图14所示的侧边栏)来访问管理员114的不同部分。管理员114的各部分可以包括用于访问和管理商家业务的核心方面(包括订单、产品、客户、可获得的报告和折扣)的各种界面。管理员114可以另外或可替代地包括用于管理商店的销售渠道的界面,这些销售渠道包括在线商店138、客户可用于访问商店的(多个)移动应用程序(移动app)、pos设备和/或购买按钮。管理员114可以另外或可替代地包括用于管理安装在商家账户上的应用程序(app)的界面;以及应用于商家的在线商店138和账户的设置。商家可以使用搜索栏来查找其商店中的产品、页面或其他信息。
113.关于商家在线商店138的商务和访客的更详细信息可以通过报告或指标来查看。报告可以包括例如客流量报告、行为报告、客户报告、财务报告、营销报告、销售报告、产品报告和定制报告。商家可能能够比如通过使用下拉菜单来查看不同时间段(例如,数天、数周、数月等)的不同渠道110a-b的销售数据。还可以为想要更详细地查看商店的销售和参与度数据的商家提供数据概览。可以在主页指标部分中提供活动源以展示商家账户上的活动的概览。例如,通过点击“查看最近的所有活动”数据面板按钮,商家可能能够看到他们的账
户上时间更长的最近活动源。主页可以比如基于账户状态、增长情况、最近客户活动、订单更新等示出关于商家的在线商店138的通知。可以提供通知以帮助商家导航通过被配置用于在线商店138的工作流,比如支付工作流、订单履行工作流、订单归档工作流、退货工作流等。
114.电子商务平台100可以提供通信设施129和相关联的商家接口以提供电子通信和营销,比如使用电子消息传送设施来收集和分析商家、客户、商家设备102、客户设备150、pos设备152等之间的通信交互,以聚合和分析通信,比如从而提高销售转化等。例如,客户可能有与产品相关的问题,这可能在客户与商家(或代表商家的基于自动化处理器的代理/聊天机器人)之间产生对话,在这种情况下,通信设施129被配置为向客户请求提供自动化响应和/或向商家提供关于如何响应例如以提高销售概率的建议。
115.电子商务平台100可以提供用于与客户进行安全金融交易的金融设施120,比如通过安全的卡服务器环境。比如在支付卡行业数据(pci)环境(比如,卡服务器)中,电子商务平台100可以存储信用卡信息,以查核财务、向商家开账单、执行电子商务平台100与商家的银行账户之间的自动清算所(ach)转移等。金融设施120还可以向商家和买方提供金融支持,比如通过借贷资金(例如,借贷款项、现金预付等)和提供保险。在一些实施例中,在线商店138可以支持多个独立管理的店面并且每天为各种产品和服务处理大量交易数据。交易数据可以包括:指示客户、客户账户或客户进行的交易的任何客户信息(比如,联系信息、账单信息、运输信息、退货/退款信息、折扣/优惠信息、支付信息)或在线商店事件或信息(比如页面浏览量、产品搜索信息(搜索关键字、点击事件)、产品评论、弃购)和/或与通过电子商务平台100的业务相关联的其他交易信息。在一些实施例中,电子商务平台100可以将该数据存储在数据设施134中。再次参考图13,在一些实施例中,电子商务平台100可以包括商务管理引擎136,该商务管理引擎比如可以被配置为执行各种工作流以进行与产品、库存、客户、订单、供应商、报告、财务、风险和欺诈等相关的任务自动化或内容管理。在一些实施例中,附加功能可以另外或可替代地通过应用程序142a-b提供,以实现适应不断增长的各种在线商店、pos设备、产品和/或服务所需的更大灵活性和定制。应用程序142a可以是电子商务平台100的组件,而应用程序142b可以作为电子商务平台100外部的第三方服务来提供或托管。商务管理引擎136可以适应商店特定工作流,并且在一些实施例中,可以结合管理员114和/或在线商店138。
116.将功能实施为应用程序142a-b可以使商务管理引擎136能够保持响应性,并减少或避免服务降级或更严重的基础设施故障等。
117.尽管隔离在线商店数据对于维护在线商店138与商家之间的数据隐私可能很重要,但也可能有理由收集和使用跨商店数据,例如,对于订单风险评估系统或平台支付设施而言,这两者都需要来自多个在线商店138的信息才能很好地执行。在一些实施例中,将这些组件移出商务管理引擎136并移入电子商务平台100内的它们自己的基础设施中可能是优选的。
118.平台支付设施120是利用来自商业管理引擎136的数据但被实施为单独的组件或服务的组件的示例。平台支付设施120可以允许与在线商店138交互的客户将其支付信息由商务管理引擎136安全地存储,使得客户只需输入支付信息一次。当客户访问不同的在线商店138时,即使他们以前从未到过那里,平台支付设施120也可以调用他们的信息以实现更
快速和/或潜在地更不容易出错(例如,通过避免客户替代地需要重新输入其信息的情况下他们可能对信息的错误键入)的结账。这可以提供跨平台网络效果,在这种情况下,电子商务平台100随着更多商家和买方加入而变得对其商家和买方更有用,比如因为有更多的客户因为客户购买方面的易用性而更频繁地结账。为了最大化该网络的效果,给定客户的支付信息可以是可取得的并且跨多个在线商店138全局可用。
119.对于未包括在商务管理引擎136内的功能,应用程序142a-b提供了一种向电子商务平台100或各个在线商店138添加特征的方式。例如,应用程序142a-b可能能够访问和修改商家在线商店138上的数据,通过管理员114执行任务,通过用户界面(其例如通过扩展/api呈现)为商家实施新的流等。可以使商家能够通过应用搜索、推荐和支持128来发现和安装应用程序142a-b。在一些实施例中,可以开发商务管理引擎136、应用程序142a-b和管理员114以便一起工作。例如,可以在商业管理引擎136内部构建应用程序扩展点,应用程序142a和142b可以通过接口140b和140a访问这些应用程序扩展点以提供附加功能,并且这些应用程序扩展点可以在管理员114的用户界面中被呈现给商家。
120.在一些实施例中,应用程序142a-b可以通过接口140a-b向商家提供功能,比如应用程序142a-b能够向商家呈现交易数据(例如,app:“引擎,在移动app或管理员114中呈现我的app数据”),和/或商务管理引擎136能够要求应用程序根据需求执行工作(引擎:“app,给我这次结账的本地税费计算”)。
121.应用程序142a-b可以通过接口140a-b(例如,通过rest(代表性状态转移)和/或graphql api)而连接到商务管理引擎136,以便将通过商务管理引擎136和在该商务管理引擎内可用的功能和/或数据暴露于应用程序的功能。例如,电子商务平台100可以提供用于应用程序142a-b api的接口140a-b,这些应用程序可以连接到平台100外部的产品和服务。通过应用程序和api的使用而提供的灵活性(其例如是为应用程序开发而提供的)使电子商务平台100能够更好地适应商家的新的和独特的需求或解决特定的使用情况,而无需不断改变商务管理引擎136。例如,运输服务122可以通过运输或承运商服务api与商务管理引擎136集成,从而使电子商务平台100能够提供运输服务功能而不直接影响在商务管理引擎136中运行的代码。
122.取决于实施方式,应用程序142a-b可以利用api按需求拉取数据(例如,客户创建事件、产品改变事件或订单取消事件等)或在发生更新时推送数据。订阅模型可以用于在发生事件时将事件提供给应用程序142a-b,或用于提供关于商务管理引擎136的改变后的状态的更新。在一些实施例中,当与更新事件订阅相关的改变发生时,商务管理引擎136可以发布请求,比如发布到预定义的回调url。该请求的主体可以包含对象的新状态和动作或事件的描述。更新事件订阅可以在管理员设施114中手动创建,或(例如,经由api 140a-b)自动创建。在一些实施例中,更新事件可以排队并与触发更新事件的状态改变异步地处理,这可以产生并未实时或接近实时分发的更新事件通知。
123.在一些实施例中,电子商务平台100可以提供应用程序搜索、推荐和支持128中的一个或多个。应用程序搜索、推荐和支持128可以包括:用于帮助应用程序的开发的开发者产品和工具、应用程序数据面板(例如,向开发者提供开发界面、向管理员提供应用程序管理、向商家提供应用程序定制等)、用于安装和提供关于提供对应用程序142a-b的访问权限的设施(例如,用于公共访问,比如在安装之前必须满足标准的情况,或供商家私用),为了
使商家易于搜索满足其在线商店138需求的应用程序142a-b的应用程序搜索、用于向商家提供关于他们可以如何通过其在线商店138改善用户体验的建议的应用程序推荐等。在一些实施例中,应用程序142a-b可以被分配应用程序标识符(id),比如用于链接到应用程序(例如,通过api)、搜索应用程序、进行应用程序推荐等。
124.应用程序142a-b可以大致分组为三类:面向客户的应用程序、面向商家的应用程序、集成应用程序等。面向客户的应用程序142a-b可以包括在线商店138或渠道110a-b,其是商家可以列出产品以供购买的地方(例如,在线商店、用于限时抢购的应用程序(例如,商家产品或来自第三方来源的机会性销售机会)、移动商店应用程序、社交媒体渠道、用于提供批发购买的应用程序等)。面向商家的应用程序142a-b可以包括允许商家管理其在线商店138(例如,通过与网络或网站相关或与移动设备相关的应用程序)、经营其业务(例如,通过与pos设备相关的应用程序)、发展其业务(例如,通过与运输(例如,代发货)相关的应用程序、使用自动化代理、使用过程流开发和改进)等的应用程序。集成应用程序可以包括提供参与业务经营的有用集成的应用程序,比如运输提供商112和支付网关106。
125.这样,电子商务平台100可以被配置为通过灵活的系统架构提供在线购物体验,该系统架构使商家能够以灵活且透明的方式与客户连接。通过实施例的示例购买工作流程可以更好地理解典型的客户体验,在示例购买工作流程中,客户在渠道110a-b上浏览商家的产品,将打算购买的产品添加到购物车,进行结账,并且为购物车的内容付款,从而为商家创建订单。然后,商家可以审查和履行(或取消)订单。然后将产品配送给客户。如果客户不满意,他们可能会将产品退回给商家。
126.在示例实施例中,客户可以通过多个不同的渠道110a-b(比如商家的在线商店138;实体店面,通过pos设备152;电子市场,通过集成到网站或社交媒体渠道中的电子购买按钮)浏览商家的产品。在一些情况下,渠道110a-b可以被建模为应用程序142a-b。商业管理引擎136中的展销组件可以被配置用于(例如使用产品数据对象或模型)创建和管理产品列表,以允许商家描述他们想要销售什么以及他们在哪里进行销售。产品列表与渠道之间的关联可以被建模为产品公布,并通过渠道应用程序(比如经由产品列举api)访问。产品可以具有许多属性和/或特性(如尺寸和颜色)以及许多变型,这些变型将可用选项扩充为所有属性的特定组合,例如尺寸为超小号的绿色变型或尺寸为大号的蓝色变型。产品可能具有为没有任何选项的产品创建的至少一个变型(例如,“默认变型”)。为了促进浏览和管理,可以将产品分组为集合、为产品提供产品标识符(例如,货号(sku))等。产品的集合可以通过将产品手动分类为一种(例如,定制集合)、通过构建用于自动分类的规则集(例如,智能集合)等来构建。产品列表可以包括2d图像、3d图像或可以通过虚拟现实或增强现实接口等进行查看的模型。
127.在一些实施例中,购物车对象用于存储或跟踪客户打算购买的产品。购物车对象可以是渠道特定的,并且可以由多个购物车订单项组成,其中每个购物车订单项跟踪特定产品变型的数量。由于将产品添加到购物车并不意味着来自客户或商家的任何承诺,并且购物车的预期有效期可能是几分钟(而不是几天)的数量级上,因此表示购物车的购物车对象/数据可以被持久化到临时数据存储中。
128.然后客户进行结账。由商务管理引擎136生成的结账对象或页面可以被配置为接收客户信息以完成订单,比如客户联系信息、账单信息和/或运输细节。如果客户输入他们
的联系信息但并未进行支付,则电子商务平台100可以(例如,经由弃单组件)向客户设备150发送消息以鼓励客户完成结账。由于这些原因,结账对象的有效期可能比购物车对象长得多(数小时或甚至数天),并且因此可能会持续存在。然后,客户为其购物车中的内容付款,从而为商家创建订单。在一些实施例中,商务管理引擎136可以被配置为经由支付处理组件与各种支付网关和服务106(例如,在线支付系统、移动支付系统、数字钱包、信用卡网关)通信。可以通过卡服务器环境提供与支付网关106的实际交互。在结账过程结束时会创建订单。订单是商家与客户之间的销售合同,其中商家同意提供订单上列出的商品和服务(例如,订单订单项、运输订单项等)并且客户同意提供支付款项(含税)。一旦创建了订单,就可以向客户发送订单确认通知,并且经由通知组件向商家发送订单下达通知。当支付处理作业开始时,可以保留库存以避免过度销售(例如,商家可以使用针对每种变型的库存策略或配置来控制这种行为)。库存保留可能具有很短的时间跨度(几分钟),并且可能需要非常快速且可扩展以支持限时抢购或“限量销售(drop)”,在这些事件期间,会在特定位置和/或在特定(通常很短)时间内向买家提供产品的折扣、促销或有限库存以供销售。如果支付失败,则取消保留。在支付成功并创建订单后,保留将被转换为分配到特定位置的持久(长期)库存承诺。商务管理引擎136的库存组件可以记录变型的贮存位置,并跟踪启用了库存跟踪的变型的数量。该组件可以将产品变型(表示产品列举模板的面向客户的概念)与库存项目(表示数量和位置受到管理的项目的面向商家的概念)分离。库存水平组件可以跟踪可用于销售、对订单承诺或从库存转移组件(例如,供应商)传入的数量。
129.然后,商家可以审查和履行(或取消)订单。商务管理引擎136的审查组件可以实施商家用于在实际履行订单之前确保订单是适合于履行的业务过程。订单可能是欺诈性的,可能需要验证(例如,id检查),可能具有需要商家等待以确保他们将接收到其款项的支付方法等。订单风险模型中可以持续存在风险和推荐。订单风险可以由欺诈检测工具生成、由第三方通过订单风险api提交等。在进行履行之前,商家可能需要在将订单标记为已支付之前捕获支付信息(例如,信用卡信息)或等待接收支付信息(例如,经由银行转账、支票等)。现在,商家可以准备要交付的产品。在一些实施例中,该业务流程可以由商务管理引擎136的履行组件来实施。履行组件可以基于库存位置和履行服务将订单的订单项分组形成逻辑履行工作单元。商家可以审查、调整工作单元并触发相关的履行服务,比如在商家拣选产品并将其打包到箱子中、购买运输标签并输入其跟踪编号时(例如,在商家所管理的位置)使用的手动履行服务,或是仅将项目标记为已履行。可替代地,api履行服务可以触发第三方应用程序或服务以便为第三方履行服务创建履行记录。履行订单存在其他可能性。如果客户不满意,他们可以将(多个)产品退回给商家。商家“取消销售”货品的业务过程可以通过退货组件来实施。退货可以包括各种不同的动作,比如:重新入库,此时曾被售出的产品实际上返回企业并可再次销售;退款,部分或全部退还从客户处收取的钱款;核算调整,记录退款金额(例如,包括是否存在任何重新入库的费用、或商品是否未被退回并留在客户手中);等。退货可以表示对销售合同(例如,订单)的改变,并且在这种情况下,电子商务平台100可以使商家意识到关于法律义务(例如,关于税费)的合规问题。在一些实施例中,电子商务平台100可以使商家能够随时间的推移跟踪销售合同,比如通过销售模型组件(比如,记录发生在货品上的销售相关事件的基于日期的仅追加分类账)来实施。
130.结论
尽管已经参考本发明的特定特征和实施例描述了本发明,但是在不脱离本发明的情况下可以对其进行各种修改和组合。因此,说明书和附图被简单地视为如由所附权利要求限定的本发明的一些实施例的说明,并且设想到该说明书和附图涵盖落入本发明范围内的任何和所有修改、变化、组合或等效物。因此,尽管已经详细描述了本发明及其优点,但是在不脱离如由所附权利要求限定的本发明的情况下,可以在本文中进行各种改变、替换和更改。此外,本技术的范围不旨在限于说明书中描述的过程、机器、制品、物质组成、装置、方法和步骤的特定实施例。如本领域普通技术人员从本发明的披露内容中将容易理解的那样,根据本发明,可以利用目前已有的或以后要开发的、执行与本文所述的相应实施例基本相同的功能或实现与之基本相同的结果的过程、机器、制品、物质组成、装置、方法或步骤。因此,所附权利要求旨在将这样的过程、机器、制品、物质组成、装置、方法或步骤包括在其范围内。
131.此外,本文中所例示的执行指令的任何模块、组件或设备可以包括用于存储信息(比如计算机/处理器可读指令、数据结构、程序模块、和/或其他数据)的一个或多个非暂态计算机/处理器可读存储介质,或以其他方式具有对该存储介质的访问权,。非暂态计算机/处理器可读存储介质的示例的非穷尽列表包括磁带盒、磁带、磁盘存储设备或其他磁存储设备、光盘(比如压缩盘只读存储器(cd-rom)、数字视频光盘或数字通用光盘(dvd)、blu-ray disc
™
、或以任何方法或技术实施的其他光学存储、易失性和非易失性、可移动和不可移动介质)、随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、闪存、或其他存储器技术。任何这种非暂态计算机/处理器存储介质都可以是设备的一部分,或者可由该设备访问或可与该设备连接。本文描述的任何应用程序或模块都可以使用计算机/处理器可读/可执行指令来实施,这些指令可以由这种非暂态计算机/处理器可读存储介质存储或以其他方式保持。
132.注意,如本文所使用的,表达“a或b中的至少一个”可与表达“a和/或b”互换。该表达指的是可以在其中选择a或b或a和b两者的列表。类似地,如本文所使用的,“a、b或c中的至少一个”可与“a和/或b和/或c”或“a、b和/或c”互换。该表达指的是可以在其中选择a或b或c、或a和b两者、或a和c两者、或b和c两者、或a、b和c全部的列表。相同的原则适用于具有相同格式的较长列表。
133.本教导还可以扩展至以下编号条款中的一个或多个的特征:1. 一种计算机实施的方法,该方法包括:指示用户设备显示描绘对象的数字媒体;接收选择所描绘对象的区域的指示;以及指示该用户设备显示与该所描绘对象的选定区域相对应的三维(3d)模型,该3d模型不同于该数字媒体。
134.2. 如条款1所述的方法,进一步包括:基于标准和该选定区域确定应该在该用户设备上显示该3d模型,其中,指示该用户设备响应于该确定而显示该3d模型。
135.3. 如条款2所述的方法,其中,该标准包括以目标品质描绘该选定区域的分辨率。
136.4. 如条款2所述的方法,其中,该标准包括以目标品质描绘该选定区域的缩放级别。
137.5.如条款2所述的方法,其中,该标准包括以目标品质描绘该选定区域的保真度。
138.6.如条款1所述的方法,其中,该数字媒体包括与该对象的相应区域相对应的多个标识符,并且指示该用户设备显示该3d模型包括:确定该多个标识符中与该选定区域相对应的特定标识符;以及基于该特定标识符选择该3d模型。
139.7.如条款6所述的方法,其中:该特定标识符对应于特定材料;并且该3d模型包括该特定材料的3d表示。
140.8.如条款7所述的方法,其中,该3d模型包括凹凸贴图。
141.9.如条款1所述的方法,其中,该3d模型限于表示该所描绘对象的子集,该子集包括该所描绘对象的选定区域。
142.10.如条款1所述的方法,其中,该选定区域是第一区域,该方法进一步包括在指示该用户设备显示该3d模型之后:接收选择该所描绘对象的第二区域的进一步指示;基于标准和该第二区域确定应该在该用户设备上显示该数字媒体;以及响应于确定应该在该用户设备上显示该数字媒体而指示该用户设备显示该数字媒体。
143.11.如条款1所述的方法,其中,指示该用户设备显示该3d模型包括指示该用户设备显示基于该选定区域的取向和大小生成的该3d模型的渲染。
144.12.如条款1所述的方法,其中,指示该用户设备显示该3d模型包括:确定该数字媒体中所描绘的该选定区域的光照;以及将该光照应用于该3d模型。
145.13.如条款1所述的方法,其中,指示该用户设备显示该3d模型包括指示该用户设备在该用户设备的显示器上用该3d模型替换该数字媒体。
146.14.如条款1所述的方法,其中:指示该用户设备显示该数字媒体包括将该数字媒体传输到该用户设备;并且指示该用户设备显示该3d模型包括将该3d模型传输到该用户设备。
147.15.如条款1所述的方法,其中,该数字媒体包括另一个3d模型。
148.16.一种系统,包括:存储器,用于存储描绘对象的数字媒体和与所描绘对象的区域相对应的三维(3d)模型,该3d模型不同于该数字媒体;以及至少一个处理器,用于:指示用户设备显示该数字媒体;接收选择该所描绘对象的该区域的指示;以及指示该用户设备显示该3d模型。
149.17.如条款16所述的系统,其中,该至少一个处理器用于:基于标准和该区域确定应该在该用户设备上显示该3d模型;以及响应于确定应该在该用户设备上显示该3d模型而指示该用户设备显示该3d模型。
150.18.如条款16所述的系统,其中,该数字媒体包括与该对象的相应区域相对应的
多个标识符,并且该至少一个处理器用于:确定该多个标识符中与该区域相对应的特定标识符;以及基于该特定标识符选择该3d模型。
151.19. 如条款18所述的系统,其中:该特定标识符对应于特定材料;并且该3d模型包括该特定材料的3d表示。
152.20. 如条款16所述的系统,其中,该3d模型限于表示该所描绘对象的子集,该子集包括该所描绘对象的该区域。
153.21. 如条款16所述的系统,其中,该区域是第一区域,并且该至少一个处理器用于:接收选择该所描绘对象的第二区域的进一步指示;基于标准和该第二区域确定应该在该用户设备上显示该数字媒体;以及响应于确定应该在该用户设备上显示该数字媒体而指示该用户设备显示该数字媒体。
154.22. 如条款16所述的系统,其中,该至少一个处理器用于指示该用户设备显示基于该区域的取向和大小生成的该3d模型的渲染。
155.23. 如条款16所述的系统,其中,该至少一个处理器用于:确定该数字媒体中所描绘的该区域的光照;以及将该光照应用于该3d模型。
156.24. 如条款16所述的系统,其中,该至少一个处理器用于指示该用户设备在该用户设备的显示器上用该3d模型替换该数字媒体。
157.25. 一种存储有计算机可执行指令的非暂态计算机可读介质,这些可执行指令在被计算机执行时使该计算机:指示用户设备显示描绘对象的数字媒体;接收选择所描绘对象的区域的指示;以及指示该用户设备显示与该所描绘对象的选定区域相对应的三维(3d)模型,该3d模型不同于该数字媒体。