一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

检测伪造的虚拟对象的制作方法

2022-09-02 22:35:59 来源:中国专利 TAG:


1.实施例总体上涉及基于计算机的游戏,并且更具体地,涉及用于检测伪造的虚拟对象的方法、系统、和计算机可读介质。


背景技术:

2.一些线上平台(例如,游戏平台、媒体交换平台等)允许用户彼此连接、彼此交互(例如,在游戏内)、创建游戏、以及通过互联网彼此共享信息。线上游戏平台的用户可以参与到多玩家游戏环境或虚拟环境(例如,三维环境)中、设计自定义的游戏环境、设计角色和化身、装饰化身、与其他用户交换虚拟项/虚拟对象、使用音频消息或文字消息与其他用户通信等。诸如元宇宙或多元宇宙环境等环境也可以使得参与的用户与其他用户共享、出售、或交易他们创建的对象。
3.为了防止伪造的对象出现在游戏平台上,可能需要一种通过与真实的(genuine)虚拟对象进行比较,以检测伪造的虚拟对象的方法。
4.鉴于以上内容,提出了一些实施方式。


技术实现要素:

5.根据一方面,提供了一种计算机实现方法,以检测伪造的虚拟三维(three-dimensional,3d)对象。该方法包括:接收未认证的虚拟3d对象;确定未认证的虚拟3d对象的多个二维(two-dimensional,2d)视图;为多个2d视图中的每个2d视图计算哈希值;确定该多个2d视图中的至少两个2d视图的相应哈希值是否与真的(authentic)虚拟3d对象的对应2d视图的哈希值匹配;如果确定相应哈希值匹配,则将未认证的虚拟3d对象归类为伪造的3d对象。
6.在一些实施方式中,多个2d视图包括至少两个2d视图,并且多个2d视图中的每个视图是从相应视点捕捉的。
7.在一些实施方式中,确定未认证的虚拟3d对象的多个2d视图包括:在预定照明条件下确定多个2d视图。在一些实施方式中,使用感知哈希函数计算哈希值。
8.在一些实施方式中,确定相应哈希值是否匹配包括:计算多个2d视图中的至少两个2d视图的相应哈希值与真的虚拟3d对象的对应2d视图的哈希值之间的距离值;基于确定至少有阈值数量的距离值满足阈值距离值,确定相应哈希值匹配。
9.在一些实施方式中,接收未认证的虚拟3d对象包括:接收未认证的虚拟3d对象的3d网格。在一些实施方式中,3d网格包括纹理信息。
10.在一些实施方式中,基于未认证的虚拟3d对象的类别选择至少两个2d视图。在一些实施方式中,基于虚拟3d对象的用户可见部分确定视点。在一些实施方式中,由虚拟化身穿戴虚拟3d对象,并且用户可见部分取决于虚拟化身的姿势。
11.在一些实施方式中,该方法还包括:在将未认证的虚拟3d对象归类为伪造的3d对象之后,从虚拟平台中的列表中排除伪造的3d对象。在一些实施方式中,该方法还包括:多
次执行确定。在一些实施方式中,对不同的真的虚拟3d对象执行多次确定中的每次确定。
12.在一些实施方式中,该方法还包括:如果确定相应哈希值不匹配,则将未认证的虚拟3d对象归类为真实的3d对象。在一些实施方式中,该方法还包括:在将未认证的虚拟3d对象归类为真实的3d对象之后,存储未认证的虚拟3d对象的多个2d视图。
13.根据另一方面,提供了一种计算机实现方法,以检测伪造的虚拟3d对象。该方法包括:接收未认证的虚拟3d对象;确定未认证的虚拟3d对象的多个2d视图;为多个2d视图中的每个2d视图计算哈希值;确定多个距离值;基于多个距离值确定聚合距离值;如果聚合距离值满足预定阈值距离值,则将未认证的虚拟3d对象归类为伪造的3d对象。
14.在一些实施方式中,每个距离值指示多个2d视图中的2d视图的相应哈希值与真的虚拟3d对象的对应2d视图的哈希值之间的距离。
15.在一些实施方式中,多个2d视图中的每个视图是从相应视点捕捉的。
16.在一些实施方式中,未认证的虚拟3d对象的对象类型和真的虚拟3d对象的对象类型相同。
17.在一些实施方式中,至少部分地基于未认证的虚拟3d对象的对象类型选择多个2d视图。
18.在一些实施方式中,确定未认证的虚拟3d对象的多个2d视图包括:在预定照明条件下确定多个2d视图。
19.在一些实施方式中,该方法还包括:多次执行确定,并且对不同的真的虚拟3d对象执行多次确定中的每次确定。
20.在一些实施方式中,该方法还包括:如果聚合距离值不满足预定阈值距离值,则将未认证的虚拟3d对象归类为真实的3d对象。
21.根据另一方面,一种非暂时性计算机可读介质,具有指令,该指令响应于由处理设备执行使得处理设备执行以下操作,上述操作包括:接收未认证的虚拟3d对象;确定未认证的虚拟3d对象的多个2d视图;为多个2d视图中的每个2d视图计算哈希值;确定多个距离值,其中;基于多个距离值确定聚合距离值;如果聚合距离值满足预定阈值距离值,则将未认证的虚拟3d对象归类为伪造的3d对象。
22.在一些实施方式中,每个距离值指示多个2d视图中的2d视图的相应哈希值与真的虚拟3d对象的对应2d视图的哈希值之间的距离。在一些实施方式中,多个2d视图中的每个2d视图是从相应视点捕捉的。
23.在一些实施方式中,确定未认证的虚拟3d对象的多个2d视图包括:在预定照明条件下确定多个2d视图。在一些实施方式中,使用感知哈希函数计算哈希值。
24.在一些实施方式中,至少部分地基于未认证的虚拟3d对象的对象类型选择多个视图。
25.在一些实施方式中,上述操作还包括:如果聚合距离值不满足预定阈值距离值,则将未认证的虚拟3d对象归类为真实的3d对象。
26.根据又一方面,一种系统包括:存储器,在存储器上存储有指令;处理设备,耦合到存储器,该处理设备用于访问存储器并执行指令。在一些实施方式中,指令使得处理设备执行操作,上述操作包括:接收未认证的虚拟3d对象;确定未认证的虚拟3d对象的多个2d视图;为多个2d视图中的每个2d视图计算哈希值;确定未认证的虚拟3d对象的多个2d视图中
的至少两个2d视图的相应哈希值是否与真的虚拟3d对象的对应2d视图的哈希值匹配;如果确定相应哈希值匹配,则将未认证的虚拟3d对象归类为伪造的3d对象。
27.在一些实施方式中,多个2d视图中的每个2d视图是从相应视点捕捉的。
28.在一些实施方式中,使用感知哈希函数计算哈希值。在一些实施方式中,至少部分地基于未认证的虚拟3d对象的对象类型选择多个视图。
29.在一些实施方式中,上述操作还包括:多次执行确定。在一些实施方式中,对不同的真的虚拟3d对象执行多次确定中的每次确定。
30.在一些实施方式中,上述操作还包括:如果确定相应哈希值不匹配,则将未认证的虚拟3d对象归类为真实的3d对象。
附图说明
31.图1是根据一些实施方式的用于检测伪造的虚拟对象的示例系统架构的图。
32.图2示出了根据一些实施方式的从不同视点对虚拟三维(three-dimensional,3d)对象的二维(two-dimensional,2d)视图的示例捕捉。
33.图3是示出根据一些实施方式的与匹配的虚拟3d对象和非匹配的3d对象相比的接收到的虚拟3d对象的示例2d视图的图。
34.图4是示出根据一些实施方式的检测伪造的虚拟对象的示例方法的流程图。
35.图5是示出根据一些实施方式的示例计算设备的框图。
具体实施方式
36.在以下具体实施方式中,参考了构成其一部分的附图。在附图中,除非上下文另有说明,否则相似的符号通常标识相似的组件。在具体实施方式、附图、和权利要求中描述的说明性实施例无意进行限制。在不背离本文中呈现的主题的精神或范围的情况下,可以利用其他实施例,并且可以做出其他改变。可以对如本文中总体描述并在附图中示出的本公开的各方面进行排列、替换、组合、分离、和设计成各种不同的配置,所有这些都在本文的考虑中。
37.说明书中对“一些实施例”、“一个实施例”、“示例实施例”等的引用表明所描述的实施例可以包括特定的特征、结构、或特性,但不是每个实施例都一定包括该特定的特征、结构、或特性。此外,这些短语不一定是指相同的实施例。此外,当结合实施例描述特定的特征、结构、或特性时,无论是否明确描述,都可以结合其他实施例实现这样的特征、结构、或特性。
38.线上游戏平台(也称为“用户生成内容平台”或“用户生成内容系统”)提供了用户之间交互的多种方式。例如,线上游戏平台的用户可以朝着共同目标一起努力、共享各种虚拟游戏项、彼此发送电子消息等。线上游戏平台的用户可以作为虚拟角色加入游戏,扮演游戏特定的人物。例如,虚拟角色可以是团队或多玩家环境的一部分,在该团队或多玩家环境中,每个角色被分配了特定人物并具有对应于该人物的关联参数(例如,服装、盔甲、武器、技能等)。在另一示例中,例如,当单个玩家是游戏的一部分时,可以通过一个或多个非玩家角色(non-player character,npc)加入虚拟角色,该npc可以是计算机生成的角色。
39.线上游戏平台还可以允许平台的用户(开发者)创建新的游戏和角色。例如,可以
使线上游戏平台的用户能够创建、设计、和/或自定义新角色(化身)、新动画包,并使该新游戏和新动画包可供其他用户使用。
40.新的角色和动画包(虚拟对象)可以在线上市场中交易、以物易物、或购买和销售以换取虚拟和/或真实货币。可能会在经销商或买家没有意识到虚拟对象的伪造性质的情况下对该虚拟对象进行复制和重新分配。
41.市场中的伪造的虚拟对象的泛滥可能难以检测,并且虚拟对象的体积和性质可能会使难以人为干预伪造的虚拟对象的检测。
42.游戏平台的所有者或管理者的目标是减少伪造的对象,并且为原创内容的创建者提供激励。游戏平台的运营者面临的技术问题是在整个游戏平台上检测伪造的虚拟对象。
43.伪造的虚拟对象的早期检测使得创建和传播伪造的虚拟对象对于伪造的虚拟对象的创建者变得困难和/或昂贵。防止上传伪造的虚拟对象的游戏平台可以有效遏制伪造的对象的创建者。
44.为了规避检测,创建者有时可以操纵原始虚拟对象以创建操纵对象。虽然可能无法感知操纵对象与真实对象之间的差异,一些伪造检测技术可能会将操纵对象归类为原始对象。
45.本公开通过检测与游戏平台已知的真实对象相似的伪造对象来解决上述缺陷。利用伪造的虚拟对象与原始虚拟对象的相似性(感知哈希匹配)检测伪造对象。
46.感知哈希匹配利用感知哈希函数,该感知哈希函数是多媒体文件(图像文件、音频文件、视频文件等)的指纹,该指纹是从上述多媒体文件的内容中的各种特征提取的。如果两个文件的基本特征相似,则这两个文件的感知哈希值彼此接近。将感知哈希函数设计为具有鲁棒性,以考虑文件的转换(旋转、倾斜、对比度调整、不同的文件压缩率/文件格式的使用等),并且检测经转换的文件与原始文件相似。
47.图1示出了根据本公开一些实施方式的示例系统架构100。图1和其他附图使用相似的附图标记标识相似的元件。附图标记(例如,“110”)后面有字母表明该文字特指具有该具体附图标记的元件。文字中的附图标记(例如,“110”)后面没有字母是指附图中具有该附图标记的任何或全部元件(例如,文字中的“110”是指附图中的附图标记“110a”、“110b”、和/或“110n”)。
48.系统架构100(在本文中也称为“系统”)包括线上游戏服务器102、数据存储器120、客户端设备110a、110b、和110n(在本文中总体上称为“客户端设备110”)、以及开发者设备130a和130n(在本文中总体上称为“开发者设备130”)。游戏服务器102、数据存储器120、客户端设备110、以及开发者设备130经由网络122耦合。在一些实施方式中,客户端设备110和开发者设备130可以指相同的设备或相同类型的设备。
49.线上游戏服务器102可以包括游戏引擎104、一个或多个游戏106、图形引擎108等。客户端设备110可以包括游戏应用112和输入/输出(input/output,i/o)接口114(例如,输入/输出设备)。输入/输出设备可以包括以下一种或多种:麦克风、扬声器、耳机、显示设备、鼠标、键盘、游戏控制器、触摸屏、虚拟现实控制台等。
50.开发者设备130可以包括游戏应用132和i/o接口134(例如,输入/输出设备)。输入输出设备可以包括以下一种或多种:麦克风、扬声器、耳机、显示设备、鼠标、键盘、游戏控制器、触摸屏、虚拟现实控制台等。
51.提供系统架构100用于说明。在不同实施方式中,系统架构100可以包括以与图1所示的相同或不同的方式配置的相同、更少、更多、或不同的元件。
52.在一些实施方式中,网络122可以包括公共网络(例如,互联网)、私有网络(例如,局域网(local area network,lan)或广域网(wide area network,wan))、有线网络(例如,以太网)、无线网络(例如,802.11网络、网络、或无线lan(wireless lan,wlan))、蜂窝网络(例如,5g网络、长期演进(long term evolution,lte)网络等)、路由器、集线器、交换机、服务器计算机、或以上的组合。
53.在一些实施方式中,数据存储器120可以是非暂时性计算机可读存储器(例如,随机存取存储器)、高速缓冲存储器、驱动器(例如,硬盘驱动器)、闪存驱动器、数据库系统、或能够存储数据的其他类型的组件或设备。数据存储器120还可以包括也能跨多个计算设备(例如,多个服务器计算机)的多个存储组件(例如,多个驱动器或多个数据库)。
54.在一些实施方式中,线上游戏服务器102可以包括具有一个或多个计算设备的服务器(例如,云计算系统、机架式服务器、服务器计算机、物理服务器集群等)。在一些实施方式中,线上游戏服务器102可以是独立系统,可以包括多个服务器,或者是另一个系统或服务器的一部分。
55.在一些实施方式中,线上游戏服务器102可以包括一个或多个计算设备(例如,机架式服务器、路由器计算机、服务器计算机、个人计算机、大型计算机、笔记本电脑、平板电脑、台式计算机等)、数据存储器(例如,硬盘、存储器、数据库)、网络、软件组件、和/或硬件组件,这些可用于在线上游戏服务器102上执行操作并向用户提供对线上游戏服务器102的访问。线上游戏服务器102还可以包括网站(例如,网页)或应用后端软件,这些可用于向用户提供对由线上游戏服务器102所提供的内容的访问。例如,用户可以使用客户端设备110上的游戏应用112访问线上游戏服务器102。
56.在一些实施方式中,线上游戏服务器102可以是在用户之间提供连接的一种社交网络,或者是允许用户(例如,终端用户或消费者)在线上游戏服务器102上与其他用户通信的一种用户生成内容系统,其中,通信可以包括语音聊天(例如,同步和/或异步语音通信)、视频聊天(例如,同步和/或异步视频通信)、或文字聊天(例如,基于文字的同步和/或异步通信)。在本公开的一些实施方式中,“用户”可以表示为单个个体。然而,本公开的其他实施方式将“用户”(例如,创建用户)涵盖为由一组用户或自动源控制的实体。例如,可以将在用户生成内容系统中联合成为社区或组的一组个体用户视为“用户”。
57.在一些实施方式中,线上游戏服务器102可以是虚拟游戏服务器。例如,游戏服务器可以向用户社区提供单玩家游戏或多玩家游戏,这些用户可以使用客户端设备110经由网络122访问游戏或与游戏交互。在一些实施方式中,游戏(在本文中也称为“视频游戏”、“线上游戏”、或“虚拟游戏”)可以是例如2d游戏、3d游戏(例如,3d的用户生成游戏)、虚拟现实(virtual reality,vr)游戏、或增强现实(augmented reality,ar)游戏。在一些实施方式中,用户可以与其他用户一起参与游戏玩法(gameplay)。在一些实施方式中,可以与游戏的其他用户实时进行游戏。
58.在一些实施方式中,游戏玩法可以指一个或多个玩家使用客户端设备(例如,110)在游戏(例如,106)内的交互,或者是在显示器或其他输出设备(例如,114)上呈现的交互。
59.在一些实施方式中,游戏106可以包括电子文件,可以使用用于向实体呈现游戏内
容(例如,数字媒体项)的软件、固件、或硬件来执行或加载该电子文件。在一些实施方式中,可以执行游戏应用112,并结合游戏引擎104渲染游戏106。在一些实施方式中,游戏106可以具有一组共同规则或共同目标,并且游戏106的环境共享该组共同规则或共同目标。在一些实施方式中,不同的游戏可能具有彼此不同的规则或目标。
60.在一些实施方式中,游戏可以具有一个或多个环境(在本文中也称为“游戏环境”或“虚拟环境”),其中,多个环境可以是链接的。环境的示例可以是3d环境。在本文中,游戏应用112或132的一个或多个环境可以统称为“世界”或“游戏世界”或“虚拟世界”或“宇宙”。世界的示例可以是游戏106的3d世界。例如,用户可以构建链接到由另一用户创建的另一虚拟环境的虚拟环境。虚拟游戏的角色可以跨越虚拟边界进入相邻的虚拟环境。
61.值得注意的是,3d环境或3d世界所使用的图形使用代表游戏内容的几何数据的三维表示(或无论是否使用几何数据的3d表示,至少将游戏内容呈现为3d内容)。2d环境或2d世界所使用的图形使用代表游戏内容的几何数据的二维表示。
62.在一些实施方式中,线上游戏服务器102可以托管一个或多个游戏106,并且可以允许用户使用客户端设备110的游戏应用112与游戏106交互。线上游戏服务器102的用户可以玩游戏106、创建游戏106、与游戏106交互、或构建游戏106,可以与其他用户通信,和/或可以创建和构建游戏106的对象(例如,在本文中也称为“项”或“游戏对象”或“虚拟游戏项”)。例如,在生成用户生成虚拟项时,用户可以创建角色、角色的装饰、交互式游戏的一个或多个虚拟环境,或者构建在游戏106中使用的结构等。在一些实施方式中,用户可以购买、销售、或与线上游戏服务器102的其他用户例如以平台内货币(例如,虚拟货币)交易游戏虚拟游戏对象。在一些实施方式中,线上游戏服务器102可以将游戏内容发送到游戏应用(例如,112)。在一些实施方式中,游戏内容(在本文中也称为“内容”)可以指与线上游戏服务器102或游戏应用关联的任何数据或软件指令(例如,游戏对象、游戏、用户信息、视频、图像、命令、媒体项等)。在一些实施方式中,游戏对象(例如,在本文中也称为“项”或“对象”或“虚拟对象”或“虚拟游戏项”)可以指在线上游戏服务器102的游戏引擎104或图形引擎108中或在客户端设备110的游戏应用112中使用、创建、共享、或描绘的对象。例如,游戏对象可能包括上述对象的零件、模型、角色、配件、工具、武器、服装、建筑物、车辆、货币、植物群、动物群、部件(例如,建筑物的窗户)等。
63.值得注意的是,出于说明性而非限制性的目的提供了托管游戏106的线上游戏服务器102。在一些实施方式中,线上游戏服务器102可以托管一个或多个媒体项,该媒体项可以包括从一个用户到一个或多个其他用户的通信消息。媒体项可以包括但不限于数字视频、数字电影、数字照片、数字音乐、音频内容、旋律、网站内容、社交媒体更新、电子书、电子杂志、数字报纸、数字有声读物、电子期刊、网络博客、简易信息聚合(realsimplesyndication,rss)订阅更新、电子漫画、软件应用等。在一些实施方式中,媒体项可以是电子文件,可以使用用于向实体呈现数字媒体项的软件、固件、或硬件执行或加载该电子文件。
64.在一些实施方式中,游戏106可以与特定用户或特定用户组关联(例如,私有游戏),或者可供能够访问线上游戏服务器102的用户广泛使用(例如,公共游戏)。在一些实施方式中,对于线上游戏服务器102将一个或多个游戏106与具体用户或用户组关联的情况,线上游戏服务器102可以使用用户账户信息(例如,如用户名和密码的用户账户标识)将特
定用户与游戏102关联。
65.在一些实施方式中,线上游戏服务器102或客户端设备110可以包括游戏引擎104或游戏应用112。在一些实施方式中,游戏引擎104可用于游戏106的开发或执行。例如,游戏引擎104可以包括用于2d、3d、vr、或ar图形的渲染引擎(“渲染器”)、物理引擎、碰撞检测引擎(及碰撞响应)、声音引擎、脚本功能、动画引擎、人工智能引擎、网络功能、流功能、内存管理功能、线程功能、场景图功能、或对影片的视频支持等其他功能。游戏引擎104的组件可以生成帮助计算和渲染游戏的命令(例如,渲染命令、碰撞命令、物理命令等)。在一些实施方式中,客户端设备110/116的游戏应用112可以分别独立工作、与线上游戏服务器102的游戏引擎104协同工作、或以上两者组合。
66.在一些实施方式中,线上游戏服务器102和客户端设备110都可以执行游戏引擎(相应地,104和112)。线上游戏服务器102可以使用游戏引擎104执行一些或全部游戏引擎功能(例如,生成物理命令、渲染命令等),或者将一些或全部游戏引擎功能卸载到客户端设备110的游戏引擎104上。在一些实施方式中,每个游戏106可以具有不同的在线上游戏服务器102上执行的游戏引擎功能与在客户端设备110上执行的游戏引擎功能之间的比率。例如,在至少两个游戏对象之间存在碰撞的情况下,线上游戏服务器102的游戏引擎104可以用于生成物理命令,而将额外的游戏引擎功能(例如,生成渲染命令)卸载到客户端设备110上。在一些实施方式中,可以基于游戏性条件(例如,动态地)改变线上游戏服务器102和客户端设备110上执行的游戏引擎功能的比率。例如,如果参与到特定游戏106的游戏性中的用户数量超过阈值数量,则线上游戏服务器102可以执行先前由客户端设备110执行的一个或多个游戏引擎功能。
67.例如,用户可能正在客户端设备110上玩游戏106,并且可以向线上游戏服务器102发送控制指令(例如,如右、左、上、下的用户输入、用户选择、或角色位置和速度信息等)。在从客户端设备110接收控制指令之后,线上游戏服务器102可以基于控制指令向客户端设备110发送游戏性指令(例如,参与团队游戏的角色的位置和速度信息,或者例如渲染命令和碰撞命令等的命令)。例如,线上游戏服务器102可以(例如,使用游戏引擎104)对控制指令执行一个或多个逻辑操作,以生成对客户端设备110的游戏性指令。再例如,线上游戏服务器102可以将一个或多个控制指令从一个客户端设备110传递到参与游戏106的其他客户端设备(例如,从客户端设备110a传递到客户端设备110b)。客户端设备110可以使用游戏性指令,并渲染游戏性以呈现在客户端设备110的显示器上。
68.在一些实施方式中,控制指令可以指用于指示用户角色的游戏内动作的指令。例如,控制指令可以包括:用于控制游戏内动作的用户输入(例如,右、左、上、下)、用户选择、陀螺仪位置和方向数据、力传感器数据等。控制指令可以包括角色位置和速度信息。在一些实施方式中,将控制指令直接发送到线上游戏服务器102。在另一些实施方式中,可以将控制指令从客户端设备110发送到另一客户端设备(例如,从客户端设备110b发送到客户端设备110n),其中,其他客户端设备使用游戏引擎104生成游戏性指令。控制指令可以包括在音频设备(例如,扬声器、耳机等)上播放来自另一用户的语音通信消息或其他声音的指令,例如使用如本文中描述的音频空间化技术生成的语音通信或其他声音。
69.在一些实施方式中,游戏性指令可以指允许客户端设备110渲染游戏的游戏性(例如,多玩家游戏)的指令。游戏性指令可以包括以下一个或多个:用户输入(例如,控制指
令)、角色位置和速度信息、或命令(例如,物理命令、渲染命令、碰撞命令等)。
70.在一些实施方式中,线上游戏服务器102可以将由用户创建的角色存储在数据存储器120中。在一些实施方式中,线上游戏服务器102维持可以呈现给用户的角色目录和游戏目录。在一些实施方式中,游戏目录包括存储在线上游戏服务器102中的游戏的图像。此外,用户可以从角色目录中选择角色(例如,由该用户或其他用户创建的角色)以参与所选择的游戏。角色目录包括存储在线上游戏服务器102中的角色的图像。在一些实施方式中,角色目录中的一个或多个角色可能是已经由用户创建或自定义的。在一些实施方式中,所选择的角色可以具有定义该角色的一个或多个组件的角色设置。
71.在一些实施方式中,用户的角色可以包括组件配置,其中可以由角色设置定义组件的配置和外观以及更总体地角色的外观。在一些实施方式中,可以至少部分地由用户选择用户角色的角色设置。在其他实施方式中,用户可以选择具有默认角色设置或由其他用户选择的角色设置的角色。例如,用户可以从具有预定义角色设置的角色目录中选择默认角色,并且用户可以通过改变一些角色设置进一步自定义该默认角色(例如,添加带有自定义徽标的衬衣)。可以通过线上游戏服务器102使角色设置与特定角色关联。
72.在一些实施方式中,每个客户端设备110可以包括计算设备(例如,个人计算机(personal computer,pc))、移动设备(例如,笔记本、移动电话、智能电话、平板电脑、或上网本)、联网电视、游戏控制台等。在一些实施方式中,客户端设备110也可以称为“用户设备”。在一些实施方式中,一个或多个客户端设备110可以在任何给定时刻连接到线上游戏服务器102。值得注意的是,仅作为说明性提供客户端设备110的数量。在一些实施方式中,可以使用任何数量的客户端设备110。
73.在一些实施方式中,每个客户端设备110可以相应地包括游戏应用112的实例。在一种实施方式中,游戏应用112可以允许用户使用线上游戏服务器102并与该线上游戏服务器102交互,例如,控制由线上游戏服务器102托管的虚拟游戏中的虚拟角色,或者查看或上传内容(例如,游戏106、图像、视频项、网页、文档等)。在一个示例中,游戏应用可以是由网络服务器服务的网络应用(例如,与网络浏览器结合操作的应用),该网络应用可以访问、检索、呈现、或导航内容(例如,虚拟环境中的虚拟角色等)。在另一示例中,游戏应用可以是本地应用(例如,移动应用、应用(app)、或游戏程序),该本地应用安装在客户端设备110中并在本地执行,并且该本地应用允许用户与线上游戏服务器102交互。游戏应用可以将内容(例如,网页、媒体查看器)渲染、显示、或呈现给用户。在一种实施方式中,游戏应用还可以包括嵌入在网页中的嵌入式媒体播放器(例如,播放器)。
74.根据本公开各方面,游戏应用可以是线上游戏服务器应用,可供用户构建、创建、编辑、上传内容到线上游戏服务器102以及与线上游戏服务器102交互(例如,玩由线上游戏服务器102托管的游戏106)。按此方式,可以由线上游戏服务器102将游戏应用提供给客户端设备110。在另一示例中,游戏应用可以是从服务器下载的应用。
75.在一些实施方式中,每个开发者设备130可以相应地包括游戏应用132的实例。在一种实施方式中,游戏应用132可以允许开发者用户使用线上游戏服务器102并与该线上游戏服务器102交互,例如,控制由线上游戏服务器102托管的虚拟游戏中的虚拟角色,或者查看或上传内容(例如,游戏106、图像、视频项、网页、文档等)。在一个示例中,游戏应用可以是由网络服务器服务的网络应用(例如,与网络浏览器结合操作的应用),该网络应用可以
访问、检索、呈现、或导航内容(例如,虚拟环境中的虚拟角色等)。在另一示例中,游戏应用可以是本地应用(例如,移动应用、应用、或游戏程序),该本地应用安装在开发者设备130中并在本地执行,并且该本地应用允许用户与线上游戏服务器102交互。游戏应用可以将内容(例如,网页、媒体查看器)渲染、显示、或呈现给用户。在一种实施方式中,游戏应用还可以包括嵌入在网页中的嵌入式媒体播放器(例如,播放器)。
76.根据本公开各方面,游戏应用132可以是线上游戏服务器应用,可供用户构建、创建、编辑、上传内容到线上游戏服务器102以及与线上游戏服务器102交互(例如,提供和/或玩由线上游戏服务器102托管的游戏106)。按此方式,可以由线上游戏服务器102将游戏应用提供给客户端设备110。在另一示例中,游戏应用132可以是从服务器下载的应用。游戏应用132可以用于与线上游戏服务器102交互并获取对由游戏开发者开发、托管、或提供的一个或多个游戏106的用户凭证、用户货币等的访问。
77.在一些实施方式中,用户可以经由游戏应用登录线上游戏服务器102。用户可以通过提供用户账户信息(例如,用户名和密码)来访问用户账户,其中该用户账户与可用于参与线上游戏服务器102的一个或多个游戏106的一个或多个角色关联。在一些实施方式中,游戏开发者可以用适当凭证获取对游戏虚拟游戏对象的访问,该游戏虚拟游戏对象例如是其他用户拥有或与其他用户关联的平台内货币(例如,虚拟货币)、化身、特殊能力、配件。
78.总体上,如果适当的话,在一种实施方式中描述为由线上游戏服务器102执行的功能也可以在其他实施方式中由客户端设备110或服务器执行。此外,归属于特定组件的功能可以由不同组件或一起操作的多个组件执行。线上游戏服务器102也可以作为通过适当的应用程序编程接口(applicationprogramminginterface,api)提供给其他系统或设备的服务被访问,因此不限于在网站中使用。
79.在一些实施方式中,线上游戏服务器102可以包括图形引擎108。在一些实施方式中,图形引擎108可以是允许线上游戏服务器102提供图形和动画能力的系统、应用、或模块。在一些实施方式中,图形引擎108可以执行在下文中结合图4所示流程图描述的操作中的一个或多个。
80.图2示出了根据一些实施方式的从不同视点对虚拟3d对象的2d视图的捕捉。
81.图2描绘了示例虚拟3d对象210。该虚拟3d对象210可以作为模型文件被接收,该模型文件是对象的表面在三个维度上的数学表示。
82.由游戏服务器102(例如,通过图形引擎108)内部渲染该虚拟3d对象。在一些实施方式中,渲染使得基于接收到的3d模型生成一个或多个图像。在一些实施方式中,可以在不同于模型文件中指定的分辨率的分辨率下执行内部渲染。
83.在一些实施方式中,利用一个或多个相机视图220捕捉经渲染的虚拟3d对象210的2d图像。
84.本文中所示和描述的相机视图可以由“虚拟相机”提供,该“虚拟相机”可以放置在3d世界中的不同视点处以生成相机视图以及生成不同的视图。也可以对虚拟相机的位置和捕捉分辨率进行更新/改变。例如,在一些实施方式中,相机视图可以包括进行放大和缩小的功能,和/或在更高或更低的分辨率下捕捉图像。
85.例如,相机视图220a、220b、220c、和220n是相机视图的说明性示例,该相机视图可以放置在3d世界中以捕捉虚拟3d对象210的图像。
86.在一些实施方式中,虚拟照明230可以用于在对象上创建视觉效果。在本说明性示例中,可以利用虚拟照明230a从上方照亮虚拟3d对象,并且可以利用虚拟照明230b从下方照亮虚拟3d对象。
87.虚拟照明230可以包括方向光(directional light)、聚光灯(spot light)、区域光(area light)、体积光(volume light)、环境光(ambient light)等。可以基于对象的观察方向配置虚拟照明230的位置和类型。例如,可以将虚拟照明230放置为使得源于虚拟照明的光矢量与观察方向不平行,以使得相机能够捕捉对象的阴影。如果场景中的照明跟随视见平截头体(viewing frustum)的法向量,则相机可能无法捕捉在光向量和法线平截头体不平行时会呈现的阴影。
88.在一些实施方式中,虚拟照明230可以用于在特征和区域之间创建强边缘,以使得能够更好地进行特征提取。当强边缘呈现在图像中时,特征提取可能更有效。
89.在一些实施方式中,包括通常暴露在虚拟游戏中的凹面特征的对象可以利用更复杂的照明布置,以提取可能位于凹面内的相关特征。
90.图3是示出与非匹配的虚拟3d对象(320a-d)和匹配的3d对象(330a-d)相比的接收到的虚拟3d对象(310a-d)的示例视图的图。在本说明性示例中,310a是接收到的虚拟对象的3d视图,310b是接收到的虚拟对象的顶部,310c是接收到的虚拟对象的仰视图,310d是接收到的虚拟对象的侧视图。非匹配的虚拟对象的对应视图是320a-d,匹配的虚拟对象的对应视图是330a-d。
91.通过渲染对象的3d模型并使用虚拟相机从不同视点获取2d视图,可以生成接收到的虚拟3d对象和其他对象的2d视图。根据用户为对象提供的标签或基于(基于3d模型识别的)虚拟3d对象的特征,可以确定对象的类别类型(对象类型)。可以选择不同的视点,以使得在将对象作为虚拟环境的一部分进行渲染时,获取对象的用户感知视图以进行比较。例如,对于具有内部部分和外部部分的对象,在使用期间该内部部分可能是不可见的。例如,虚拟化身穿戴的衬衣或帽子的内侧在使用时可能看不到,因此可以将对应的视图从与其他对象比较以识别伪造中排除。在另一示例中,当对象是夹克时,内侧视图和外侧视图都可以用来进行比较,而可以排除俯视图和/或仰视图。在一些实施方式中,可以利用对象(例如鞋类、头饰、衬衣、配件等)的类别类型确定用于比较的不同视图。例如,每个类别类型可以具有关联视图的预定义列表,以用于比较以识别伪造的对象。
92.在一些实施方式中,可以先捕捉不同的视点,并且可以基于3d对象的类别类型选择所捕捉的2d视图的子集以进行比较。在一些实施方式中,可以先确定类别类型,并且可以捕捉针对该类别类型所选择的2d图像以进行比较。
93.在一些实施方式中,将接收到的虚拟3d对象的捕捉的2d视图与真的虚拟3d对象的对应2d视图进行比较。在一些实施方式中,真的虚拟3d对象的对应2d视图可以存储在例如数据存储器120中。
94.在一些实施方式中,在例如由游戏服务器102进行比较时,对真的虚拟3d对象的对应2d视图进行渲染。
95.在一些实施方式中,利用2d图像的哈希匹配对接收到的虚拟3d对象的2d视图与真的虚拟3d对象的2d视图进行比较。在一些实施方式中,近似哈希匹配(模糊匹配)用于将接收到的虚拟3d对象的2d视图与真的虚拟3d对象的2d视图进行比较,以检测相似的2d视图。
96.为每个2d图像计算哈希值,并将该哈希值用作该图像的指纹或水印。哈希值可以是长度和结构固定的字母数字值,并且可以由哈希函数生成,该哈希函数获得输入记录(例如,2d图像文件)并生成对应的哈希值。
97.在一些实施方式中,可以利用近似哈希匹配技术确定进行比较的图像是不同但相似的,相似之处在于上述图像位于彼此的阈值距离内,其中,图像哈希值之间的距离是图像相似度的度量。在一些实施方式中,可以利用感知哈希技术,该技术利用了确定进行比较的2d图像是否可能相似的哈希函数和阈值。例如,可以利用感知哈希技术确定进行比较的2d图像是否具有相似特征。此外,上述技术能抵抗对抗性操纵(例如,试图将伪造的对象冒充为真品)。
98.可以利用感知哈希函数从图像中提取感兴趣的特征,以基于该特征计算哈希值。可以将感知哈希函数设计为使得,在原始对象和待认证对象在感知上相似(例如,视觉上相似)时,该原始对象和待认证对象的(使用感知哈希函数计算的)哈希值在数学上接近,在该原始对象和待认证对象在感知上不相似时,该原始对象和待认证对象的哈希值在数学上不接近。
99.在本说明性示例中,基于比较确定虚拟3d对象310不是真的虚拟3d对象320的仿制品(即,是真实对象),并且虚拟3d对象是真的虚拟3d对象330的伪造品。如从图中可以看出,对象320虽然是帽子,但是与帽子310具有不同的外部形状和尺寸。此外,虽然在仰视图310c中帽子310具有真的帽子330中没有呈现出的额外内容(心形符号350),但帽子310与帽子330类似。在本实例中,由于在虚拟环境中使用虚拟对象期间(例如,当帽子由虚拟化身穿戴时)看不到该帽子的仰视图,在确定对象是否为伪造品时这样的非匹配的视图的权重可能较少。然而,可以理解的是,在一些实例中,单个的非匹配仍可以指示对象是真实对象。例如,对于诸如登山杖之类的配件,这些对象可能大部分是相似的,只有小部分(例如,把手)是不同的。在这样的情况下,可以对具体视图赋予更高的权重。
100.在一些实施方式中,可以利用不同视图的参数化权重,其中一些视图的权重不同于其他视图。例如,在图3所描述的示例中,当被化身佩戴时由于该特定视图(即,帽子的内部)可能不会被人类用户看到,因此仰视图310b、320b、和330b与其他视图相比可能权重较小(甚至完全没有)。这实现了对以下伪造对象的检测:伪造者修改了3d对象使其具有规避了基于哈希的匹配的视图,但对3d模型的上述修改是在从用户角度来看不太重要的视图中。
101.在一些实施方式中,可以为每一种虚拟3d对象指定预定权重。在一些实施方式中,可以预先计算并存储原始对象的哈希值。在一些实施方式中,可以存储原始对象的视图。
102.图4是示出根据一些实施方式的检测伪造的虚拟对象的示例方法的流程图。在一些实施方式中,可以例如在参考图1描述的游戏服务器102上实施方法400。
103.处理起始于框405,其中接收未认证的虚拟3d对象。可以在诸如游戏106的虚拟3d环境中提供虚拟3d对象,以供一个或多个用户在虚拟3d环境中利用。例如,可以通过由开发者使用开发者设备130上传到游戏服务器102来接收未认证的虚拟3d对象。
104.在一些实施方式中,虚拟3d对象可以包括3d网格。3d网格可以定义未认证的虚拟3d对象的三维结构。在一些实施方式中,3d网格还可以定义未认证的虚拟3d对象的一个或多个表面。在一些实施方式中,未认证的虚拟3d对象可以是虚拟化身,例如虚拟角色(诸如
人形角色、动物角色、机器人角色等)。
105.在一些实施方式中,可以在fbx文件格式下接收(导入)网格。网格文件包括提供了与构成虚拟3d对象的多边形有关的维度数据的数据,还包括描述了如何将纹理的部分附到构成虚拟3d对象的各种多边形的uv贴图数据。
106.在一些实施方式中,未认证的虚拟3d对象可以包括定义了一个或多个对象动作(例如,人形角色的手臂动作、猫角色的尾巴动作等)的动画。在一些实施方式中,未认证的虚拟3d对象可以对应于由虚拟化身穿戴或参考虚拟化身描绘的配件(例如,帽子、武器、一件衣服等)。
107.在未认证的虚拟3d对象是配件的实施方式中,还可以接收指示在虚拟游戏中使用对象的数据。例如,“鞋子”对象可以包括指示可以将该对象描绘为穿戴在虚拟人形角色的脚上的注解,而“衬衣”对象可以包括可以将该对象描绘为穿戴在虚拟人形角色的躯干上的注解。
108.在一些实施方式中,3d模型还可以包括与未认证的虚拟3d对象关联的纹理信息。例如,纹理信息可以指示未认证的虚拟3d对象的外表面的颜色和/或图案。纹理信息可以实现与虚拟3d对象关联的纹理和网格的各种程度的透明度、反射性、扩散程度、材料特性、和耐火行为。纹理的示例包括草、浅蓝玻璃板、冰、水、混凝土、砖、地毯、木头等。
109.在一些实施方式中,未认证的虚拟3d对象可以包括用户所提供的标签,该标签可以用作虚拟3d对象的描述符。例如,标签可以指示对象的名称,例如“有趣的机器人”、“动作机器人”、“大礼帽”、“酷夹克”等。框410可以跟随在框405之后。
110.在框410中,生成虚拟3d对象的多个2d视图。在一些实施方式中,生成从相应视点捕捉的至少两个2d视图。在一些实施方式中,可以在适合于虚拟3d对象的特定预定照明条件下获取2d视图。在一些实施方式中,可以在相同的视点但不同的照明条件下捕捉两个或两个以上的2d视图。例如,当虚拟对象的纹理使得该虚拟对象与光相互作用(例如,基于入射角以不同方式反射光)时,可以利用不同的照明条件。
111.在一些实施方式中,基于未认证的虚拟3d对象的类别类型选择2d视图的视点。例如,当在虚拟游戏中描绘夹克(例如由虚拟化身穿戴),或者在虚拟游戏的空间中描绘该夹克时,可以为诸如敞开的夹克之类的配件选择内部视图,其中夹克的内侧是可见的。在另一示例中,可以为帽子选择俯视图和/或侧视图。在另一示例中,可以为鞋子而非帽子等选择仰视图和侧视图。
112.在一些实施方式中,为了确保提取到所有特征,对于包括一个或多个部分透明的多边形的对象,可以包括覆盖复合透明度的所有排列方式的视点和照明矢量。
113.在一些实施方式中,对于包括折射转变的对象,可以选择具有转变和不具有转变的视点。例如,如果接收到的3d虚拟对象是水中的鱼,则视点可以包括从水面上方看向水中的鱼的视图以及在水下看鱼的视图。
114.在一些实施方式中,可以根据用户所提供的标签确定类别。在一些实施方式中,可以由游戏平台(例如,使用游戏服务器102)基于虚拟3d对象的特征确定类别类型。例如,可以基于虚拟3d对象的形状和/或大小确定类别类型。在一些实施方式中,可以基于在虚拟3d对象中识别的特征确定一组类别类型。
115.在一些实施方式中,基于当在虚拟3d环境中渲染对象时该虚拟3d对象的用户可见
部分确定视点。例如,可以基于用户观察虚拟环境或游戏中的虚拟3d对象时可能可见的虚拟3d对象的部分确定视点。在一些实施方式中,用户可见部分可以取决于虚拟化身的姿势。例如,在一些实施方式中,基于确定在游戏中虚拟帽子由角色(例如,化身)穿戴,可以不将虚拟帽子的内侧选择为视点。在一些实施方式中,如果确定虚拟帽子在虚拟环境中到处飘动并且虚拟帽子的内侧对于在游戏中观察该虚拟帽子的用户可见,则可以选择虚拟帽子的内侧作为视点。框415可以跟随在框410之后。
116.在框415中,为两个或两个以上的2d视图计算哈希值。在一些实施方式中,使用感知哈希函数计算哈希值。可以利用感知哈希函数以使得能够确定数字媒体内容(例如,图像文件、动画等)的感知相似性。可以利用感知哈希函数从媒体内容中提取感兴趣的特征,并基于该特征计算哈希值。
117.可以将感知哈希函数设计为使得,在原始对象和待认证对象在感知上相似(例如,视觉上相似)时,该原始对象和待认证对象的(使用感知哈希函数计算的)哈希值接近,在该原始对象和待认证对象在感知上不相似时,该原始对象和待认证对象的哈希值不接近。框420可以跟随在框415之后。
118.在框420中,为了确定接收到的虚拟3d对象的2d视图是否与真的虚拟3d对象对应的2d视图匹配,将接收到的虚拟3d对象的2d视图的哈希值与真的虚拟3d对象的对应的2d视图(例如,来自相同视点的视图)进行比较。例如,将接收到的虚拟3d对象的俯视图的哈希值与真的虚拟3d对象的俯视图的哈希值进行比较等。
119.在一些实施方式中,将接收到的虚拟3d对象的多个计算2d视图与真的虚拟3d对象的对应2d视图进行比较。多个计算2d视图可以包括接收到的虚拟3d对象的所有获取的2d视图,或者可以包括基于接收到的虚拟3d对象的类别类型(对象类型)获取的2d视图的子集。如果阈值数量的比较匹配(即接收到的对象的视图在感知上与真的对象的对应视图相似),则确定接收到的虚拟3d对象是伪造的对象。
120.在一些实施方式中,将接收到的虚拟3d对象的2d视图与类似对象(即,与接收到的虚拟3d对象具有相同类别类型的对象)的对应2d视图进行比较。例如,如果接收到的虚拟3d对象是帽子,则将接收到的3d虚拟对象的2d视图与存储在游戏平台中的其他帽子(或其他头饰)的对应2d视图进行比较。
121.在一些实施方式中,可以计算多个2d视图的相应哈希值与真的虚拟3d对象的2d视图的对应哈希值之间的距离值。如果至少有阈值数量的距离值满足阈值距离值,则可以确定接收到的虚拟3d对象的2d视图与真的虚拟3d对象的对应2d视图匹配。例如,可以将阈值距离值选择为使得在阈值距离值内的2d视图在视觉上相似。可以基于所使用的哈希函数的类型选择阈值距离值。
122.在一些实施方式中,确定为2d视图计算的哈希值与真的虚拟3d对象的对应2d视图的哈希值之间的距离值。基于在所有被选择用于比较的2d视图之间计算的距离值确定聚合距离值。
123.如前所述,在一些实施方式中,可以利用不同视图的参数化权重,其中一些视图的权重不同于其他视图。例如,3d环境中的用户(观看者)可能更常见的视图的权重可能高于可能不太常见的视图。例如,帽子内侧视图权重可能比帽子顶部视图的权重小。
124.在包括复合透明度的3d虚拟对象中,仅包括可用转变子集的视图与包括更多(或
所有可用)转变的视图的权重不同。
125.在部分透明的3d虚拟对象中,另一玩家可能会看到的视图可能比其他视图的权重高。例如,如果虚拟3d对象是一双鞋,每只鞋顶部上方有个鱼缸,那么其他玩家所看到的这双鞋的视图的权重可能比从鱼缸中的鱼的角度捕捉的视图的权重大。
126.在一些实施方式中,将聚合距离值与预定距离阈值进行比较,以确定接收到的虚拟3d对象是否与真的虚拟3d对象相似。在一些实施方式中,可以将距离阈值设置为基于接收到的虚拟3d对象的类别类型的值。在一些实施方式中,可以(例如,由游戏服务器102)基于先前利用的距离阈值和先前基于那些距离阈值归类为伪造对象或真实对象的对象调整距离阈值。
127.在一些实施方式中,阈值距离值、预定距离阈值、和距离值的阈值数量可以是可配置的值。在一些实施方式中,可以将阈值距离值、预定距离阈值、和距离值的阈值数量设置为基于接收到的虚拟3d对象的类别类型的值。
128.例如,在游戏平台内更频繁被伪造的特定对象类别可以利用阈值,这些阈值使得当与属于较少被伪造的类别的接收到的虚拟3d对象相比,较小程度的相似性就可能导致那些更频繁被伪造的特定对象类别的接收到的虚拟3d对象被标记为伪造。例如,衬衣和裤子是容易经常快速伪造的虚拟3d对象的示例。创建和上传内容所需的工作较少的虚拟3d对象更容易被复制。
129.在一些实施方式中,可以基于先前分类的伪造的对象和使用其他技术(例如,通过人工认证)对伪造的对象的伪造性质的确认,利用机器学习技术对阈值进行细化。在一些实施方式中,可以利用经渲染的动画的视频的感知哈希检测伪造的动画作品。
130.在一些实施方式中,当虚拟3d对象是包括纹理的3d模型时,在将纹理应用于与3d模型关联的网格多边形之后,捕捉包括纹理的虚拟3d对象的2d视图。
131.在一些实施方式中,在感知哈希过程中利用纹理与uv贴图的组合,该uv贴图指定用于将纹理贴图到虚拟3d对象上。例如,计算接收到的虚拟3d对象的纹理/uv贴图的感知哈希,并将该感知哈希与其他真实的纹理/uv贴图的感知哈希进行比较。
132.如果在框420中确定接收到的虚拟3d对象的2d视图的哈希值与真的虚拟3d对象的对应2d视图匹配,则框425跟随在框420之后。
133.在框425中,将接收到的虚拟3d对象归类为伪造对象。在一些实施方式中,可以将被归类的伪造对象从虚拟平台(游戏平台)的列表中排除。在一些实施方式中,可以向上传者和/或虚拟环境的管理员提供指示对象被标记为伪造的消息。在一些实施方式中,可以对伪造的对象进行标记以进一步审核(例如,由与游戏平台关联的管理者进行人工审核)。
134.如果在框420中确定接收到的虚拟3d对象的2d视图的哈希值与真的虚拟3d对象的对应2d视图不匹配,则框430跟随在框420之后。
135.在框430中,将接收到的虚拟3d对象归类为真实对象。在一些实施方式中,为了对虚拟3d进行归类,将归类为真实对象用作信号,并与其他信号(例如,3d对象的人工审核、与上传3d对象的开发者关联的开发者评级等)组合。
136.在一些实施方式中,在将未认证的虚拟3d对象归类为真实对象之后,可以存储未认证的虚拟3d对象的多个2d视图(例如存储在数据存储器120上),并且利用该多个2d视图认证之后可能接收到的其他虚拟3d对象。可以使存储的真实对象可用,以供在虚拟环境中
使用。此外,如果虚拟环境使用户能(例如,通过支付虚拟货币)购买真实对象,或经由订阅获取对真实对象的访问,则真实对象(在框430处经归类之后的未认证的虚拟对象)对用户是可用的。
137.可以以与上述不同的顺序执行(或重复)框405至框430,和/或可以省略一个或多个步骤。例如,可以多次执行框420,例如,以将多个已知的真的对象(例如,与未认证的虚拟对象的类别类型相同)与未认证的虚拟对象进行比较。如果多次比较中的任何一次检测到哈希值匹配,则可以将对象归类为伪造。以此方式,可以重复方法400中的部分,直到接收到的虚拟3d对象与存储在平台中的该类别类型(对象类型)的所有真实对象都进行了比较。在一些实施方式中,可以计算真的虚拟3d对象的2d视图,以在框420中的比较中使用。
138.在一些实施方式中,以预定的频率(例如,每天、每隔一天、每小时等)对游戏平台上的接收到的虚拟3d对象进行扫描,以检测任何伪造的对象,从而减少用户对这些对象的访问。在一些实施方式中,与不太可能被复制的虚拟3d对象相比,可以对更可能被复制的接收到的虚拟3d对象以更高的频率进行扫描。在一些实施方式中,可以在每次经由上传接收到新对象时执行方法400。在一些实施方式中,可以在对存储的对象进行修改时执行方法400。
139.在一些实施方式中,可以利用与用户在平台上遇到的伪造的对象有关的用户反馈更新阈值距离,并且可以对一个或多个先前认证的对象执行方法400。
140.在一些实施方式中,为了对虚拟3d进行归类,将归类为真实对象用作信号,并与其他信号(例如,3d对象的人工审核、与上传3d对象的开发者关联的开发者评级等)组合。
141.在一些实施方式中,在将未认证的虚拟3d对象归类为真实对象之后,可以存储未认证的虚拟3d对象的多个2d视图(例如存储在数据存储器120上),并且利用该多个2d视图认证之后可能接收到的其他虚拟3d对象。
142.图5是可用于实现本文中描述的一个或多个特征的示例计算设备500的框图。在一个示例中,设备500可用于实现计算机设备(例如,图1的102和/或110),并执行本文中描述的适当的方法实施方式。计算设备500可以是任何合适的计算机系统、服务器、或其他电子或硬件设备。例如,计算设备500可以是大型计算机、台式计算机、工作站、便携式计算机、或电子设备(便携式设备、移动设备、手机、智能手机、平板电脑、电视、电视机顶盒、个人数字助理(personaldigitalassistant,pda)、媒体播放器、游戏设备、可穿戴设备等)。在一些实施方式中,设备500包括处理器502、存储器504、i/o接口506、和音频/视频输入/输出设备514。
143.处理器502可以是一个或多个处理器和/或处理电路,以执行程序代码并控制设备500的基本操作。“处理器”包括处理数据、信号或其他信息的任何合适的硬件和/或软件系统、机制、或组件。处理器可以包括具有通用中央处理单元(central processing unit,cpu)、多个处理单元、用于实现功能的专用电路的系统或其他系统。处理不必限于特定地理位置或具有时间限制。例如,处理器可以“实时”、“离线”、在“批处理模式”下等执行其功能。可以在不同时间和不同位置由不同(或相同)处理系统执行处理的部分。计算机可以是与存储器通信的任何处理器。
144.存储器504通常提供在设备500中以供处理器502访问,并且可以是任何合适的处理器可读存储介质,例如,随机存取存储器(random access memory,ram)、只读存储器
(read-only memory,rom)、电可擦除只读存储器(electrical erasable read-only memory,eeprom)、闪存等,适合存储由处理器执行的指令,并且与处理器502位置分离和/或与处理器502集成在一起。存储器504可以存储由处理器502在服务器设备500上运行的软件,包括操作系统508、一个或多个应用510(例如,音频空间化应用)、和应用数据512。在一些实施方式中,应用510可以包括使处理器502能执行(或控制)本文中描述的功能(例如,关于图4描述的方法中的一些或全部)的指令。
145.例如,应用510可以包括音频空间化模块512,如本文中所描述的,该音频空间化模块512可以在线上游戏服务器(例如,102)中提供音频空间化。存储器504中的任何软件可以可替代地存储在任何其他合适的存储位置或计算机可读介质上。此外,存储器504(和/或其他连接的存储设备)可以存储在本文中描述的特征中使用的指令和数据。可以将存储器504和任何其他类型的存储器(磁盘、光盘、磁带、或其他有形介质)视作是“存储器”或“存储设备”。
146.i/o接口506可以提供使服务器设备500能与其他系统和设备连接的功能。例如,网络通信设备、存储设备(例如,存储器和/或数据存储器120)、和输入/输出设备可以经由接口506进行通信。在一些实施方式中,i/o接口可以连接到接口设备,该接口设备包括输入设备(键盘、定位设备、触摸屏、麦克风、相机、扫描仪等)和/或输出设备(显示设备、扬声器设备、打印机、电机等)。
147.音频/视频输入/输出设备514可以包括可用于接收用户输入的用户输入设备(例如,鼠标等),以及可用于提供图形和/或视觉输出的显示设备(例如,屏幕、监视器等)和/或组合的输入与显示设备。
148.为了便于说明,图5为处理器502、存储器504、i/o接口506、和软件框508和510中的每个示出了一个块。这些块可以表示一个或多个处理器或处理电路、操作系统、存储器、i/o接口、应用、和/或软件引擎。在其他实施方式中,设备500可以不具有示出的所有组件,和/或可以具有代替于本文中示出的那些元件或除本文中示出的那些元件之外的其他元件(包括其他类型的元件)。尽管将线上游戏服务器102描述为执行如在本文中的一些实施方式中所描述的操作,但是线上游戏服务器102或相似系统的任何合适的组件或组件的组合,或者与这种系统关联的任何合适的处理器或多个处理器,都可以执行描述的操作。
149.用户设备还可以实现本文中描述的特征和/或与本文中描述的特征一起使用。示例用户设备可以是计算机设备,包括与设备500相似的一些组件,例如,处理器502、存储器504、和i/o接口506。适用于客户端设备的操作系统、软件、和应用可以提供在存储器中并由处理器使用。可以将客户端设备的i/o接口连接到网络通信设备,也可以连接到输入和输出设备,例如,用于捕捉声音的麦克风、用于捕捉图像或视频的相机、用于捕捉用户输入的鼠标、用于识别用户手势的手势设备、用于检测用户输入的触摸屏、用于输出声音的音频扬声器设备、用于输出图像或视频的显示设备、或其他输出设备。例如,音频/视频输入/输出设备514中的显示设备可以连接到设备500(或包括在设备500中),以显示如本文中描述的处理前的图像和处理后的图像,其中,这种显示设备可以包括任何合适的显示设备,例如,lcd、led、等离子显示屏、crt、电视机、监视器、触摸屏、3d显示屏、投影仪、或其他视觉显示设备。一些实施方式可以提供音频输出设备,例如,能朗读文本的语音输出或合成。
150.本文中描述的一种或多种方法(例如,方法400)可以由计算机程序指令或代码来
实现,该计算机程序指令或代码可以在计算机上执行。例如,代码可以由一个或多个数字处理器(例如,微处理器或其他处理电路)实现,并且可以存储在包括非暂时性计算机可读介质(例如,存储介质)的计算机程序产品上,例如,磁性、光学、电磁、或半导体的存储介质,包括半导体或固态存储器、磁带、可移动计算机软盘、ram、rom、闪存、硬磁盘、光盘、固态存储驱动器等。程序指令还可以包含在电子信号中并作为电子信号提供,例如,以从服务器(例如,分布式系统和/或云计算系统)递送的软件即服务(software as a service,saas)的形式。可替代地,可以用硬件(逻辑门等)或硬件和软件的组合实现一种或多种方法。示例硬件可以是可编程处理器(例如,现场可编程门阵列(field-programmable gate array,fpga)、复杂可编程逻辑器件)、通用处理器、图形处理器、专用集成电路(application specific integrated circuit,asic)等。可以将一种或多种方法作为在系统上运行的应用的一部分或组件来执行,或者作为与其他应用和操作系统结合运行的应用或软件的一部分或组件来执行。
151.本文中描述的一种或多种方法可以在可在任何类型的计算设备上运行的独立程序中运行、在网络浏览器上运行的程序中运行、在移动计算设备(例如,手机、智能手机、平板电脑、可穿戴设备(手表、臂章、珠宝、头饰、护目镜、眼镜等)、笔记本电脑等)上运行的移动应用(app)中运行。在一个示例中,可以使用客户端/服务器架构,例如,移动计算设备(作为客户端设备)将用户输入数据发送到服务器设备并从服务器接收最终输出数据以用于输出(例如,用于显示)。在另一示例中,可以在移动计算设备上的移动应用(和/或其他应用)内执行所有计算。在另一示例中,可以在移动计算设备和一个或多个服务器设备之间拆分计算。
152.尽管已经关于特定实施方式描述了说明书,但是这些特定实施方式仅是说明性的,而不是限制性的。示例中说明的概念可以应用于其他示例和实施方式。
153.值得注意的是,本公开中描述的功能框、操作、特征、方法、设备、和系统可以集成为或划分为本领域技术人员所知的系统、设备、和功能框的不同组合。可以使用任何合适的编程语言和编程技术实现特定实施方式的例程。可以采用不同的编程技术,例如,面向过程的或面向对象的编程技术。例程可以在单个处理设备或多个处理器上执行。尽管步骤、操作、或计算可以以特定顺序呈现,但是在不同的特定实施方式中该顺序可以改变。在一些实施方式中,可以同时执行在本说明书中示为依次执行的多个步骤或操作。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献