CN116669823A - 具有离线同步的多用户ar体验 - Google Patents
具有离线同步的多用户ar体验 Download PDFInfo
- Publication number
- CN116669823A CN116669823A CN202180088203.9A CN202180088203A CN116669823A CN 116669823 A CN116669823 A CN 116669823A CN 202180088203 A CN202180088203 A CN 202180088203A CN 116669823 A CN116669823 A CN 116669823A
- Authority
- CN
- China
- Prior art keywords
- electronic device
- visual experience
- rotational
- display
- image
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/20—Input arrangements for video game devices
- A63F13/21—Input arrangements for video game devices characterised by their sensors, purposes or types
- A63F13/213—Input arrangements for video game devices characterised by their sensors, purposes or types comprising photodetecting means, e.g. cameras, photodiodes or infrared cells
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/20—Input arrangements for video game devices
- A63F13/21—Input arrangements for video game devices characterised by their sensors, purposes or types
- A63F13/214—Input arrangements for video game devices characterised by their sensors, purposes or types for locating contacts on a surface, e.g. floor mats or touch pads
- A63F13/2145—Input arrangements for video game devices characterised by their sensors, purposes or types for locating contacts on a surface, e.g. floor mats or touch pads the surface being also a display device, e.g. touch screens
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/50—Controlling the output signals based on the game progress
- A63F13/52—Controlling the output signals based on the game progress involving aspects of the displayed game scene
- A63F13/525—Changing parameters of virtual cameras
- A63F13/5255—Changing parameters of virtual cameras according to dedicated instructions from a player, e.g. using a secondary joystick to rotate the camera around a player's character
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/16—Constructional details or arrangements
- G06F1/1613—Constructional details or arrangements for portable computers
- G06F1/1626—Constructional details or arrangements for portable computers with a single-body enclosure integrating a flat display, e.g. Personal Digital Assistants [PDAs]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/16—Constructional details or arrangements
- G06F1/1613—Constructional details or arrangements for portable computers
- G06F1/1633—Constructional details or arrangements of portable computers not specific to the type of enclosures covered by groups G06F1/1615 - G06F1/1626
- G06F1/1684—Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675
- G06F1/1694—Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675 the I/O peripheral being a single or a set of motion sensors for pointer control or gesture input obtained by sensing movements of the portable computer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/0304—Detection arrangements using opto-electronic means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/0346—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0488—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
- G06F3/04883—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/20—Scenes; Scene-specific elements in augmented reality scenes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Human Computer Interaction (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Oral & Maxillofacial Surgery (AREA)
- User Interface Of Digital Computer (AREA)
- Information Transfer Between Computers (AREA)
- Pinball Game Machines (AREA)
Abstract
本发明公开了涉及多用户视觉体验诸如交互式游戏体验和艺术媒体体验的系统、方法和计算机可读介质。查看电子设备包括被配置为捕获图像的相机、显示器,以及耦接到该相机和该显示器的处理器。该处理器被配置为:用该相机捕获旋转标记的图像,其中该旋转标记呈现在远程设备的监视器上;并且在该显示器上呈现视觉体验,其中该视觉体验具有可调节特征。该处理器从所捕获的图像检测该旋转标记的与该可调节特征对应的参数,并且响应于所检测到的参数来更新该视觉体验。该参数可以是该旋转标记的角度、旋转速度、旋转方向、颜色或图案中的一者或多者。
Description
相关申请的交叉引用
本申请要求于2020年12月29日提交的美国专利申请序列号17/136,843的优先权,该专利申请的内容全文以引用方式并入本文。
背景技术
移动设备诸如蜂窝电话和平板计算机包括用户界面,用户可通过这些用户界面共享和访问程序、游戏、照片或视频。在许多情况下,移动设备的用户会寻找游戏应用程序、增强现实(AR)应用程序、AR游戏和用于娱乐的其他形式的媒体内容。
社交网络系统每天具有数百万用户。社交网络系统中的每个用户可与其个人社交网络简档内的成员或社交网络简档外的个人相互接收、访问和传输AR游戏和应用程序。
附图说明
在不一定按比例绘制的附图中,相似的标号可在不同的视图中描述类似的部件。当存在多个类似的元件时,可将单个附图标记分配给多个类似的元件,其中小写字母标记指代特定元件。当共同地提及元件或者提及元件中的非特定的一个或多个元件时,可省略小写字母标记。为了方便确定任何特定元件或操作的讨论,参考标号中最前面的一个或多个数字是指首次引入该元件的图号。在附图的图中示出了一些非限制性示例,其中:
图1是根据一些示例的其中可部署本公开的联网环境的图形表示。
图2是根据一些示例的消息传递系统的图形表示,该消息传递系统具有客户端侧和服务器侧功能两者。
图3是根据一些示例的如在数据库中维护的数据结构的图形表示。
图4是根据一些示例的消息的图形表示。
图5是根据一些示例的访问限制过程的流程图。
图6是根据一些示例的旋转标记的图示。
图7是根据一些示例的呈现在远程电子设备的监视器上以供一个或多个查看电子设备的相应相机系统捕获的旋转标记的图示。
图8是示出根据一些示例的在远程电子设备上以及在第一查看电子设备和第二查看电子设备上显示的旋转标记的透视图。
图9A是示出根据一些示例的被体现为在第一查看电子设备和第二查看电子设备上显示的游戏的视觉体验的用户界面的图。
图9B、图9C、图9D和图9E是示出根据一些示例的被体现为查看电子设备上的游戏的视觉体验的用户界面的图。
图9F是示出根据一些示例的被体现为查看电子设备上的艺术媒体的视觉体验的用户界面的图。
图10A、图10B、图10C和图10D是示出根据一些示例的捕获和解读与在一个或多个查看电子设备上呈现的视觉体验相关联的旋转标记的方法的流程图。
图10E是示出根据一些示例的用于在远程电子设备上生成与要在一个或多个查看电子设备上呈现的视觉体验相关联的旋转标记的方法的流程图。
图11是根据一些示例的计算机系统形式的机器的图形表示,在该机器内可执行一组指令以使该机器执行本文所讨论的方法中的任一者或多者。
图12是示出了其中可实现示例的软件架构的框图。
图13是根据一些示例的处理环境的图形表示。
具体实施方式
描述了涉及多用户视觉体验诸如交互式游戏和艺术媒体的系统、方法和计算机可读介质的示例。每个用户可通过用他们相应的查看电子设备捕获相同的旋转标记的图像来同时参与视觉体验,而不需要网络连接。这使得用户即使在离线时也能够一起参与视觉体验,从而带来了面对面交互和协同定位的体验。
用于与视觉体验一起使用的查看电子设备包括被配置为捕获图像的相机、显示器,以及耦接到该相机和该显示器的处理器。该处理器被配置为:用该相机捕获旋转标记的图像,其中该旋转标记呈现在远程设备的监视器上;并且在该查看电子设备的该显示器上呈现视觉体验,其中该视觉体验具有可调节特征。该处理器从所捕获的图像检测该旋转标记的与该可调节特征对应的参数,并且响应于所检测到的参数来更新该视觉体验。该参数可以是旋转标记的旋转角度、旋转速度、旋转方向、区域的颜色、区域的图案,或者它们的组合。
在至少一个示例中,提供了一种生成在远程设备(诸如,膝上型计算机、个人计算机或电视监视器)上呈现的旋转标记的系统,其中多个查看电子设备使用其集成设备相机来主动地且同时地检测和捕获旋转标记。在一个示例中,旋转标记可以是不具有对称性的图像,这将使处理部件混淆,不知道当前图像被旋转的角度。根据该示例,有效标记将是面部的图像,无效标记将是等边三角形的图像。在另一示例中,旋转标记包括旋转区域和静止区域,其中旋转区域围绕旋转标记的旋转轴线旋转,与静止区域的周边相邻(在其上或附近)。
联网计算环境
图1是示出用于通过网络交换数据(例如,消息和相关联的内容)的示例性消息传递系统100的框图。消息传递系统100包括电子设备102的多个实例,每个实例托管多个应用程序,包括消息传递客户端104和其他应用程序106。每个消息传递客户端104经由网络112(例如,互联网)通信地耦接到消息传递客户端104的其他实例(例如,托管在相应的其他客户端设备102上)、消息传递服务器系统108和第三方服务器110。消息传递客户端104还可使用应用程序接口(API)与本地托管的应用程序106通信。
消息传递客户端104能够经由网络112与其他消息传递客户端104和消息传递服务器系统108通信和交换数据。在消息传递客户端104之间以及在消息传递客户端104和消息传递服务器系统108之间交换的数据包括功能(例如,调用功能的命令)以及有效载荷数据(例如,文本、音频、视频或其他多媒体数据)。
消息传递服务器系统108经由网络112向特定消息传递客户端104提供服务器端功能。尽管消息传递系统100的某些功能在本文中被描述为由消息传递客户端104或由消息传递服务器系统108执行,但是某些功能在消息传递客户端104或消息传递服务器系统108内的位置可以是设计时选择的。例如,在技术上可能优选的是,最初在消息传递服务器系统108内部署特定技术和功能,但是稍后将该技术和功能转移到电子设备102具有足够处理能力的消息传递客户端104。
消息传递服务器系统108支持提供给消息传递客户端104的各种服务和操作。此类操作包括向消息传递客户端104传输数据、从该消息传递客户端接收数据,以及处理由该消息传递客户端生成的数据。作为示例,该数据可包括消息内容、客户端设备信息、地理位置信息、媒体增强和覆盖、消息内容持续条件、社交网络信息和实况事件信息。通过经由消息传递客户端104的用户界面(UI)可用的功能来调用和控制消息传递系统100内的数据交换。
现在具体转到消息传递服务器系统108,应用程序接口(API)服务器116耦接到应用程序服务器114并向其提供编程接口。应用程序服务器114通信地耦接到数据库服务器120,这有利于对存储与应用程序服务器114所处理的消息相关联的数据的数据库126的访问。类似地,web服务器128耦接到应用程序服务器114,并向应用程序服务器114提供基于web的接口。为此,web服务器128通过超文本传输协议(HTTP)和若干其他相关协议处理传入的网络请求。
应用程序接口(API)服务器116在电子设备102和应用程序服务器114之间接收和传输消息数据(例如,命令和消息有效载荷)。具体地,应用程序接口(API)服务器116提供了一组接口(例如,例程和协议),消息传递客户端104可调用或查询该组接口,以便调用应用程序服务器114的功能。应用程序接口(API)服务器116展示了由应用程序服务器114支持的各种功能,包括账户注册、登录功能、经由应用程序服务器114从特定消息传递客户端104向另一消息传递客户端104发送消息、从消息传递客户端104向消息传递服务器118发送媒体文件(例如,图像或视频),以及为了使另一消息传递客户端104的访问成为可能,设置媒体数据(例如,故事)的集合、检索电子设备102的用户的朋友列表、检索此类集合、检索消息和内容、向实体图(例如,社交图)添加实体(例如,朋友)和从其删除实体、定位社交图内的朋友,以及打开应用程序事件(例如,与消息传递客户端104相关)。
应用程序服务器114托管多个服务器应用程序和子系统,包括例如消息传递服务器118、图像处理服务器122和社交网络服务器124。消息传递服务器118实现了多个消息处理技术和功能,这些技术和功能尤其涉及对包括在从消息传递客户端104的多个实例接收到的消息中的内容(例如,文本和多媒体内容)的聚合和其他处理。如将进一步详细描述的,来自多个源的文本和媒体内容可被聚合成内容集合(例如,所谓的故事或图库)。然后,这些集合可被提供给消息传递客户端104。考虑到这种处理的硬件要求,数据的其他处理器和存储器密集型处理也可由消息传递服务器118在服务器侧执行。
应用程序服务器114还包括图像处理服务器122,该图像处理服务器专用于执行各种图像处理操作,通常针对从消息传递服务器118发送或在该消息传递服务器处接收到的消息的有效载荷内的图像或视频执行各种处理操作。
社交网络服务器124支持各种社交网络功能和服务,并且这些功能和服务可被提供给消息传递服务器118。为此,社交网络服务器124维护并访问数据库126内的实体图308(如图3所示)。由社交网络服务器124支持的功能和服务的示例包括与特定用户具有关系或特定用户“关注”的消息传递系统100的其他用户的标识,还有特定用户的其他实体和兴趣的标识。
返回到消息传递客户端104,经由消息传递客户端104的界面向用户提供外部资源(例如,应用程序106或小应用程序)的特征和功能。在该上下文中,“外部”是指应用程序106或小应用程序在消息传递客户端104外部的事实。外部资源通常由第三方提供,但也可由消息传递客户端104的创建者或提供者提供。消息传递客户端104接收对启动或访问这种外部资源的特征的选项的用户选择。外部资源可以是安装在电子设备102上的应用程序106(例如,“原生应用”),或者是托管在电子设备102上或电子设备102的远程装置上(例如,第三方服务器110上)的应用程序的小型版本(例如,“小应用程序”)。应用程序的小型版本包括应用程序(例如,应用程序的完整原生版本)的特征和功能的子集,并且使用标记语言文档来实现。在一个示例中,应用程序的小型版本(例如,“小应用程序”)是应用程序的基于web的标记语言版本,并且被嵌入在消息传递客户端104中。除了使用标记语言文档(例如,.*ml文件)之外,小应用程序还可结合脚本语言(例如,.*js文件或.json文件)和样式表(例如,*ss文件)。
响应于接收到对启动或访问外部资源的特征的选项的用户选择,消息传递客户端104确定所选择的外部资源是基于web的外部资源还是本地安装的应用程序106。在一些情况下,本地安装在电子设备102上的应用程序106可独立于消息传递客户端104并与其分开地启动,诸如通过选择电子设备102的主屏幕上与应用程序106对应的图标。此类应用程序的小型版本可经由消息传递客户端104启动或访问,并且在一些示例中,小型应用程序的所有部分都不可或其有限部分可在消息传递客户端104外部进行访问。小型应用程序可通过消息传递客户端104从例如第三方服务器110接收与小型应用程序相关联的标记语言文档并且处理这种文档来启动。
响应于确定外部资源是本地安装的应用程序106,消息传递客户端104通过执行与外部资源对应的本地存储的代码来指示电子设备102启动外部资源。响应于确定外部资源是基于web的资源,消息传递客户端104与第三方服务器110(例如)通信以获得与所选择的外部资源对应的标记语言文档。然后,消息传递客户端104处理所获得的标记语言文档,以在消息传递客户端104的用户界面内呈现基于web的外部资源。
消息传递客户端104可通知电子设备102的用户或与这个用户相关的其他用户(例如,“朋友”)在一个或多个外部资源中发生的活动。例如,消息传递客户端104可向消息传递客户端104中的对话(例如,聊天会话)的参与者提供与用户群组中的一个或多个成员对当前或最近使用外部资源相关的通知。一个或多个用户可被邀请加入活动的外部资源或启动(朋友群组中)最近使用但当前不活动的外部资源。外部资源可向对话中各自使用相应消息传递客户端104的参与者提供与用户群组中的一个或多个成员共享外部资源中的项目、状态、状况或位置以进入聊天会话的能力。共享项目可以是交互式聊天卡,聊天的成员可与该交互式聊天卡交互,例如,以启动对应的外部资源、查看外部资源内的特定信息,或将聊天的成员带到外部资源内的特定位置或状态。在给定的外部资源内,可将响应消息发送到消息传递客户端104上的用户。外部资源可基于外部资源的当前上下文来选择性地在响应中包括不同的媒体项。
消息传递客户端104可向用户呈现可用外部资源(例如,应用程序106或小应用程序)的列表,以启动或访问给定外部资源。该列表可在上下文敏感的菜单中呈现。例如,表示与应用程序106(或小应用程序)不同的应用程序的图标可基于用户启动菜单的方式(例如,从对话界面或从非对话界面)来变化。
系统架构
图2是示出根据一些示例的关于消息传递系统100的更多细节的框图。具体地,消息传递系统100被示出为包括消息传递客户端104和应用程序服务器114。消息传递系统100包含多个子系统,这些子系统在客户端侧由消息传递客户端104支持,在服务器侧由应用程序服务器114支持。这些子系统包括例如临时定时器系统202、集合管理系统204、增强系统208、地图系统210、游戏系统212、外部资源系统214和旋转标记系统216。
临时定时器系统202负责强制由消息传递客户端104和消息传递服务器118对内容进行临时或有时间限制的访问。临时定时器系统202包括多个定时器,这些定时器基于与消息或消息集合(例如,故事)相关联的持续时间和显示参数,选择性地使得能够经由消息传递客户端104访问消息和相关联的内容(例如,以用于呈现和显示)。下面提供关于临时定时器系统202的操作的更多细节。
集合管理系统204负责管理媒体组或媒体集合(例如,文本、图像视频和音频数据的集合)。内容(例如,消息,包括图像、视频、文本和音频)集合可被组织为“事件图库”或“事件故事”。可在指定的时间段诸如内容所涉及的事件的持续时间内提供这种集合。例如,可在音乐会的持续时间内将与该音乐会相关的内容作为“故事”提供。集合管理系统204还可负责向消息传递客户端104的用户界面发布提供存在特定集合的通知的图标。
集合管理系统204还包括策展界面206,该策展界面允许集合管理器管理和策展特定内容集合。例如,策展界面206使得事件组织者能够策展与特定事件相关的内容集合(例如,删除不适当的内容或冗余消息)。另外,集合管理系统204采用机器视觉(或图像识别技术)和内容规则来自动策展内容集合。在某些示例中,可因将用户生成的内容包括到集合中而向用户支付报酬。在这种情况下,集合管理系统204操作以自动因使用用户的内容而向这些用户付款。
增强系统208提供各种功能,这些功能使得用户能够增强(例如,注释或以其他方式修改或编辑)与消息相关联的媒体内容。例如,增强系统208提供与生成和发布消息传递系统100所处理的消息的媒体覆盖相关的功能。增强系统208基于电子设备102的地理位置来可操作地向消息传递客户端104提供媒体覆盖或增强(例如,图像滤镜)。在另一示例中,增强系统208可基于其他信息,诸如电子设备102的用户的社交网络信息,来操作地向消息传递客户端104提供媒体覆盖。媒体覆盖可包括音频和视觉内容以及视觉效果。音频和视觉内容的示例包括图片、文本、徽标、动画和音效。视觉效果的示例包括色彩覆盖。音频和视觉内容或视觉效果可应用于电子设备102处的媒体内容项(例如,照片)。例如,媒体覆盖可包括可覆盖在由电子设备102拍摄的相片的顶部上的文本或图像。在另一示例中,媒体覆盖包括位置标识覆盖(例如,威尼斯海滩)、实况事件名称或商家名称覆盖(例如,海滩咖啡馆)。在另一示例中,增强系统208使用电子设备102的地理位置来识别包括在电子设备102的地理位置处的商家的名称的媒体覆盖。媒体覆盖可包括与商家相关联的其他标记。媒体覆盖可存储在数据库126中并且通过数据库服务器120来访问。
在一些示例中,增强系统208提供基于用户的发布平台,该发布平台使得用户能够在地图上选择地理位置并且上传与所选择的地理位置相关联的内容。用户还可指定特定媒体覆盖应当被提供给其他用户的情形。增强系统208生成包括上传的内容的媒体覆盖,并且将该上传的内容与所选择的地理位置相关联。
在其他示例中,增强系统208提供基于商家的发布平台,该发布平台使得商家能够经由招标过程来选择与地理位置相关联的特定媒体覆盖。例如,增强系统208将出价最高的商家的媒体覆盖与对应的地理位置相关联预定义的时间量。
地图系统210提供各种地理位置功能,并且支持消息传递客户端104呈现基于地图的媒体内容和消息。例如,地图系统210使得能够在地图上显示用户图标或头像(例如,其存储在简档数据(profiledata)316中)以指示用户的“朋友”的当前或过去位置,以及由这些朋友在地图的上下文中生成的媒体内容(例如,包括相片和视频的消息的集合)。例如,用户从特定地理位置向消息传递系统100发布的消息可在地图的上下文中在该特定位置处、在消息传递客户端104的地图界面上显示给特定用户的“朋友”。用户还可经由消息传递客户端104与消息传递系统100的其他用户共享他或她的位置和状态信息(例如,使用适当的状态头像),其中该位置和状态信息类似地在消息传递客户端104的地图界面的上下文中显示给所选择的用户。
游戏系统212在消息传递客户端104的上下文中提供各种游戏功能。消息传递客户端104提供游戏界面,该游戏界面提供可用游戏的列表,这些游戏可由用户在消息传递客户端104的上下文中启动,或者由应用程序响应于电子设备102检测到标识符或参数而启动,并且与消息传递系统100的其他用户一起玩。消息传递系统100还通过从消息传递客户端104向其他用户发出邀请,使得特定用户能够邀请这些其他用户参与玩特定游戏。消息传递客户端104还支持游戏玩法的上下文中的语音和文本消息传递(例如,聊天),提供游戏的排行榜,并且还支持提供游戏奖励(例如,金币和装备)。
外部资源系统214提供消息传递客户端104用于与远程服务器(例如,第三方服务器110)通信以启动或访问外部资源(即,应用程序或小应用程序)的接口。每个第三方服务器110例如托管基于标记语言(例如,HTML5)的应用程序或应用程序的小型版本(例如,游戏、实用程序、支付或共乘应用程序)。消息传递客户端104可通过从第三方服务器110访问与基于web的资源相关联的HTML5文件来启动基于web的资源(例如,应用程序)。在某些示例中,用利用由消息传递服务器118提供的软件开发工具包(SDK)的JavaScript来编程由第三方服务器110托管的应用程序。SDK包括具有可由基于web的应用程序调用的功能的应用程序编程接口(API)。在某些示例中,消息传递服务器118包括JavaScript库,该JavaScript库提供对消息传递客户端104的某些用户数据的给定外部资源访问。HTML5被用作用于对游戏进行编程的示例性技术,但是可使用基于其他技术编程的应用程序和资源。
为了将SDK的功能集成到基于web的资源中,第三方服务器110从消息传递服务器118下载SDK,或者第三方服务器110以其他方式接收SDK。一旦被下载或接收,SDK就被包括作为基于web的外部资源的应用程序代码的一部分。然后,基于web的资源的代码可调用SDK的某些功能来将消息传递客户端104的特征集成到基于web的资源中。
存储在消息传递服务器118上的SDK有效地提供了外部资源(例如,应用程序106或小应用程序和消息传递客户端104)之间的桥梁。这为用户提供了无缝地与消息传递客户端104上的其他用户通信的体验,同时还保持了消息传递客户端104的外观和感觉。为了连通外部资源和消息传递客户端104之间的通信,在某些示例中,SDK有利于第三方服务器110和消息传递客户端104之间的通信。在某些示例中,在电子设备102上运行的WebViewJavaScriptBridge在外部资源和消息传递客户端104之间建立了两个单向通信信道。消息经由这些通信信道在外部资源和消息传递客户端104之间异步地发送。每个SDK功能调用作为消息和回调进行发送。通过构造唯一的回调标识符并发送具有该回调标识符的消息来实现每个SDK功能。
通过使用SDK,不是来自消息传递客户端104的所有信息都与第三方服务器110共享。SDK基于外部资源的需要来限制共享哪些信息。在某些示例中,每个第三方服务器110向消息传递服务器118提供与基于web的外部资源对应的HTML5文件。消息传递服务器118可在消息传递客户端104中添加基于web的外部资源的视觉表示(诸如,盒状艺术品或其他图形)。一旦用户选择视觉表示或通过消息传递客户端104的GUI指示消息传递客户端104访问基于web的外部资源的特征,消息传递客户端104就获得HTML5文件,并实例化访问基于web的外部资源的特征所需的资源。
消息传递客户端104呈现用于外部资源的图形用户界面(例如,登陆页面或标题画面)。在呈现登陆页面或标题画面期间、之前或之后,消息传递客户端104确定所启动的外部资源是否先前已被授权访问消息传递客户端104的用户数据。响应于确定所启动的外部资源先前已被授权访问消息传递客户端104的用户数据,消息传递客户端104呈现外部资源的包括外部资源的功能和特征的另一图形用户界面。响应于确定所启动的外部资源先前未被授权访问消息传递客户端104的用户数据,在显示外部资源的登陆页面或标题画面的阈值时间段(例如,3秒)之后,消息传递客户端104向上滑动用于授权外部资源访问用户数据的菜单(例如,将菜单制成以下动画:从屏幕的底部浮现到屏幕的中部或其他部分)。菜单标识外部资源将被授权使用的用户数据的类型。响应于接收到对接受选项的用户选择,消息传递客户端104将外部资源添加到经授权外部资源列表中,并允许外部资源从消息传递客户端104访问用户数据。在一些示例中,外部资源被消息传递客户端104根据OAuth2框架授权访问用户数据。
消息传递客户端104基于被授权的外部资源类型来控制与外部资源共享的用户数据的类型。例如,包括完整应用程序(例如,应用程序106)的外部资源被提供有对第一类型的用户数据(例如,仅用户的具有或不具有不同头像特征的二维头像)的访问权限。作为另一示例,包括应用程序的小型版本(例如,应用程序的基于web的版本)的外部资源被提供有对第二类型的用户数据(例如,支付信息、用户的二维头像、用户的三维头像,以及具有各种头像特征的头像)的访问权限。头像特征包括定制头像的外观和感觉的不同方式,诸如不同的姿势、面部特征、服装等。
旋转标记器系统216提供用于提供视觉体验(例如,游戏体验或艺术媒体体验)的功能和例程。在一个示例中,旋转标记系统216包括用于生成用于在远程电子设备102的监视器上显示的旋转标记的功能和例程,以及用于捕获旋转标记的图像、解读其参数(例如,旋转角度、旋转速度、旋转方向、颜色、图案或它们的任何组合)以及在查看电子设备102中的一个或多个查看电子设备上呈现查看体验的功能和例程。
多个查看电子设备102能够同时捕获和解读远程电子设备102上的旋转标记的图像。这使得当前正在捕获图像的所有查看电子设备102能够呈现相同的查看体验,而不需要在线同步。旋转标记器系统216的一个或多个操作在消息传递客户端104、应用程序106、消息传递服务器系统108、应用程序服务器114、消息传递服务器118、第三方服务器110中的一者或多者处执行。
数据架构
图3是示出根据某些示例的数据结构300的示意图,该数据结构可存储在消息传递服务器系统108的数据库126中。虽然数据库126的内容被示出为包括多个表,但是应当理解,数据可存储在其他类型的数据结构中(例如,作为面向对象的数据库)。
数据库126包括存储在消息表302内的消息数据。对于任何特定的一个消息,该消息数据至少包括消息发送者数据、消息接受者(或接收者)数据和有效载荷。下面参考图4描述关于可包括在消息中和包括在存储在消息表302中的消息数据内的信息的更多细节。
实体表306存储实体数据,并且(例如,参考地)链接到实体图308和简档数据316。在实体表306内维护其记录的实体可包括个人、公司实体、组织、对象、地点、事件等。无论实体类型如何,消息传递服务器系统108存储关于其的数据的任何实体都可以是被识别的实体。每个实体被提供有唯一的标识符,以及实体类型标识符(未示出)。
实体图308存储关于实体之间的关系和关联的信息。仅作为示例,这种关系可以是社会的、职业的(例如,在共同的公司或组织工作)、基于兴趣的或基于活动的。
简档数据316存储关于特定实体的多种类型的简档数据。基于特定实体指定的隐私设置,简档数据316可被选择性地使用并呈现给消息传递系统100的其他用户。在实体是个人的情况下,简档数据316包括例如用户名、电话号码、地址、设置(例如,通知和隐私设置),以及用户选择的头像表示(或此类头像表示的集合)。然后,特定用户可选择性地将这些头像表示中的一个或多个头像表示包括在经由消息传递系统100传送的消息的内容内,并且包括在由消息传递客户端104向其他用户显示的地图界面上。头像表示集合可包括“状态头像”,其呈现用户可选择以在特定时间通信的状态或活动的图形表示。
在实体是群组的情况下,除了群组名称、成员和用于相关群组的各种设置(例如,通知)之外,群组的简档数据316可类似地包括与群组相关联的一个或多个头像表示。
数据库126还在增强表310中存储增强数据,诸如覆盖或滤镜。增强数据与视频(其数据被存储在视频表304中)和图像(其数据被存储在图像表312中)相关联并且被应用于这些视频和图像。
在一个示例中,滤镜是在呈现给接受者用户期间作为图像或视频上的覆盖显示的覆盖。滤镜可以是各种类型的,包括当发送用户正在编写消息时由消息传递客户端104向发送用户呈现的一组滤镜中的用户选择的滤镜。其他类型的滤镜包括地理位置滤镜(也称为地理滤镜),其可基于地理位置向发送用户呈现。例如,基于由电子设备102的全球定位系统(GPS)单元确定的地理位置信息,消息传递客户端104可在用户界面内呈现特定于邻域或特殊位置的地理位置滤镜。
另一种类型的滤镜是数据滤镜,基于在消息创建过程期间由电子设备102收集的其他输入或信息,消息传递客户端104可向发送用户选择性地呈现该数据滤镜。数据滤镜的示例包括特定位置处的当前温度、发送用户行进的当前速度、电子设备102的电池寿命、或当前时间。
可存储在图像表312内的其他增强数据包括增强现实内容项(例如,对应于应用镜头或增强现实体验)。增强现实内容项可以是可被添加到图像或视频的实时特殊效果和声音。
如上文所描述的,增强数据包括增强现实内容项、覆盖、图像变换、AR图像以及指代可应用于图像数据(例如,视频或图像)的修改的类似术语。这包括实时修改,即,在使用电子设备102的设备传感器(例如,一个或多个相机)捕获图像时修改图像,然后在电子设备102的屏幕上显示修改后的图像。这还包括对存储的内容诸如图库中可被修改的视频剪辑的修改。例如,在具有对多个增强现实内容项的访问权限的电子设备102中,用户可使用具有多个增强现实内容项的单个视频剪辑来查看不同的增强现实内容项将如何修改存储的剪辑。例如,通过为内容选择不同的增强现实内容项,应用不同伪随机移动模型的多个增强现实内容项可被应用于相同的内容。类似地,实时视频捕获可与所示出的修改一起使用,以示出当前正由电子设备102的传感器捕获的视频图像将如何修改所捕获的数据。这种数据可简单地显示在屏幕上而不存储在存储器中,或者由设备传感器捕获的内容可在修改或不修改的情况下(或两者)被记录和存储在存储器中。在一些系统中,预览特征可示出不同的增强现实内容项将同时在显示器中的不同窗口内看起来如何。这可例如使得能够同时在显示器上查看具有不同伪随机动画的多个窗口。
数据和使用增强现实内容项的各种系统或使用该数据来修改内容的其他此类变换系统因此可涉及检测对象(例如,面部、手、身体、猫、狗、表面、物体等)、在对象离开、进入视频帧中的视场并在该视场周围移动时跟踪此类对象,以及在对象被跟踪时对此类对象进行修改或变换。在各种示例中,可使用用于实现此类变换的不同方法。一些示例可涉及生成一个或多个对象的三维网格模型,以及使用视频内的模型的变换和动画纹理来实现变换。在其他示例中,对对象上的点的跟踪可用于将图像或纹理(其可以是二维或三维的)放置在所跟踪的位置处。在又一示例中,对视频帧的神经网络分析可用于在内容(例如,图像或视频帧)中放置图像、模型或纹理。增强现实内容项因此既指用于创建内容中的变换的图像、模型和纹理,也指利用对象检测、跟踪和放置来实现此类变换所需的附加建模和分析信息。
实时视频处理可利用保存在任何种类的计算机化系统的存储器中的任何种类的视频数据(例如,视频流、视频文件等)来执行。例如,用户可加载视频文件并将它们保存在设备的存储器中,或者可使用设备的传感器来生成视频流。另外,可使用计算机动画模型来处理任何对象,诸如人的面部和人体的部位、动物、或无生命体,诸如椅子、汽车或其他对象。
在一些示例中,当特定修改连同要变换的内容一起被选择时,计算设备识别要变换的元素,然后检测,并且如果它们存在于视频的帧中则进行跟踪。根据修改请求修改对象的元素,从而变换视频流的帧。视频流的帧的变换可通过用于不同种类的变换的不同方法来执行。例如,对于主要涉及改变对象元素的形式的帧变换,计算对象的每个元素的特征点(例如,使用主动形状模型(ASM)或其他已知方法)。然后,针对对象的至少一个元素中的每个元素生成基于特征点的网格。这个网格在跟踪视频流中的对象的元素的后续阶段中使用。在跟踪过程中,针对每个元素的所提及网格与每个元素的位置对准。然后,在网格上生成附加点。基于修改请求针对每个元素生成第一组第一点,并且基于第一组第一点和修改请求针对每个元素生成一组第二点。然后,可通过基于该组第一点和该组第二点以及网格修改对象的元素来变换视频流的帧。在这种方法中,也可通过跟踪和修改背景来改变经修改对象的背景或使其变样。
在一些示例中,使用对象的元素来改变该对象的一些区域的变换可通过计算对象的每个元素的特征点并基于所计算的特征点生成网格来执行。在网格上生成点,然后生成基于这些点的各种区域。然后,通过将每个元素的区域与至少一个元素中的每个元素的位置对准来跟踪对象的元素,并且可基于修改请求来修改区域的属性,从而变换视频流的帧。根据特定修改请求,可以不同方式变换所提及区域的属性。此类修改可涉及:改变区域的颜色;从视频流的帧中移除区域的至少某个部分;将一个或多个新对象包括到基于修改请求的区域中;以及修改区域或对象的元素或使其变样。在各种示例中,可使用此类修改或其他类似修改的任何组合。对于某些要被制成动画的模型,一些特征点可被选择作为控制点,以用于确定用于模型动画的选项的整个状态空间。
在使用面部检测来变换图像数据的计算机动画模型的一些示例中,使用特定面部检测算法(例如,Viola-Jones)来在图像上检测面部。然后,对图像的面部区域应用主动形状模型(ASM)算法,以检测面部特征参考点。
可使用适合于面部检测的其他方法和算法。例如,在一些示例中,使用界标来定位特征,该界标表示在所考虑的大多数图像中存在的可区分的点。例如,对于面部界标,可使用左眼瞳孔的位置。如果初始界标不可识别(例如,如果人带有眼罩),则可使用次级界标。这种界标标识过程可以用于任何此类对象。在一些示例中,一组界标形成形状。使用形状中的点的坐标,形状可被表示为向量。利用最小化形状点之间的平均欧几里得距离的相似变换(允许平移、缩放和旋转)将一个形状与另一个形状对准。平均形状是对准的训练形状的平均形状。
在一些示例中,开始从与由全局面部检测器确定的面部的位置和大小对准的平均形状搜索界标。然后,这种搜索重复以下步骤:通过对每个点周围的图像纹理进行模板匹配来调整形状点的位置,来建议初步形状,然后使该初步形状符合全局形状模型,直到发生收敛。在一些系统中,单独的模板匹配是不可靠的,并且形状模型汇集弱模板匹配的结果来形成更强的总分类器。在图像金字塔中的每个级别上从粗分辨率到精细分辨率重复整个搜索。
变换系统可在客户端设备(例如,电子设备102)上捕获图像或视频流,并且在电子设备102上本地地执行复杂的图像操纵,同时维持适合的用户体验、计算时间和功耗。复杂的图像操纵可包括大小和形状改变、情绪转换(例如,将面部从皱眉改变为微笑)、状态转换(例如,使对象变老、降低表观年龄、改变性别)、风格转换、图形元素应用,以及由已经被配置为在电子设备102上高效地执行的卷积神经网络实现的任何其他适合的图像或视频操纵。
在一些示例中,用于变换图像数据的计算机动画模型可由系统使用,在该系统中,用户可使用具有神经网络的电子设备102来捕获用户的图像或视频流(例如,自拍),该神经网络作为在电子设备102上操作的消息传递客户端104的一部分进行操作。在消息传递客户端104内操作的变换系统确定图像或视频流内的面部的存在,并提供与用于变换图像数据的计算机动画模型相关联的修改图标,或者计算机动画模型可与本文所述的界面相关联地存在。修改图标包括可为用于作为修改操作的一部分而修改图像或视频流内的用户面部的基础的变化。一旦选择了修改图标,变换系统就发起转变用户的图像以反映所选择的修改图标的过程(例如,为用户生成笑脸)。一旦捕获了图像或视频流,并且选择了指定修改,就可在电子设备102上显示的图形用户界面中呈现经修改的图像或视频流。变换系统可对图像或视频流的一部分实施复杂卷积神经网络以生成并应用所选择的修改。即,用户可捕获图像或视频流,并且一旦已经选择了修改图标,就实时或接近实时地向用户呈现经修改的结果。此外,当正在捕获视频流时,修改可以是持续的,并且所选择的修改图标保持已切换状态。机器教导的神经网络可用于实现此类修改。
呈现由变换系统执行的修改的图形用户界面可向用户提供附加的交互选项。此类选项可基于用于发起内容捕获和对特定计算机动画模型的选择(例如,从内容创建者用户界面发起)的界面。在各种示例中,在初始选择修改图标之后,修改可以是持续的。用户可通过轻击或以其他方式选择由变换系统修改的面部来开启或关闭修改,并且存储该面部以供稍后查看,或者浏览成像应用程序的其他区域。在变换系统修改多个面部的情况下,用户可通过轻击或选择图形用户界面内经修改和显示的单个面部来全局地开启或关闭修改。在一些示例中,可单独地修改一组多个面部中的单独的面部,或者可通过轻击或选择图形用户界面内显示的单独的面部或一系列单独的面部来单独地切换此类修改。
故事表314存储关于消息和相关联的图像、视频或音频数据的集合的数据,这些数据被编译成集合(例如,故事或图库)。对特定集合的创建可由特定用户(例如,在实体表306中维护其记录的每个用户)发起。用户可创建“个人故事”,其形式为已经由该用户创建并发送/广播的内容的集合。为此,消息传递客户端104的用户界面可包括用户可选择以使得发送用户能够将特定内容添加到他或她的个人故事中的图标。
集合还可构成“实况故事”,该实况故事是来自多个用户的内容的集合,该集合是手动、自动或者使用手动和自动技术的组合创建的。例如,“实况故事”可构成来自不同位置和事件的用户提交的内容的策展流。例如,可经由消息传递客户端104的用户界面向其客户端设备启用了位置服务并且在特定时间处于共同位置事件的用户呈现选项,以向特定实况故事贡献内容。可由消息传递客户端104基于用户的位置为用户识别实况故事。最终结果是从社区角度来讲述的“实况故事”。
另一类型的内容集合被称为“位置故事”,该位置故事使得其电子设备102位于特定地理位置内(例如,在学院或大学校园)的用户能够对特定集合作出贡献。在一些示例中,对位置故事的贡献可能需要二级认证来验证终端用户属于特定组织或其他实体(例如,是大学校园中的学生)。
如上所提及的,视频表304存储视频数据,在一个示例中,该视频数据与在消息表302中维护其记录的消息相关联。类似地,图像表312存储与其消息数据被存储在实体表306中的消息相关联的图像数据。实体表306可将来自增强表310的各种增强与存储在图像表312和视频表304中的各种图像和视频相关联。
数据通信架构
图4是示出根据一些示例的由消息传递客户端104生成的用于传送给另一消息传递客户端104或消息传递服务器118的消息400的结构的示意图。特定消息400的内容用于填充存储在数据库126内的消息表302,该消息表可由消息传递服务器118访问。类似地,消息400的内容作为电子设备102或应用程序服务器114的“传输中”或“飞行中”数据存储在存储器中。消息400被示出为包括以下示例性组成部分:
·消息标识符402:标识消息400的唯一标识符。
·消息文本有效载荷404:由用户经由电子设备102的用户界面生成的且被包括在消息400中的文本。
·消息图像有效载荷406:由电子设备102的相机部件捕获或从电子设备102的存储器部件中检索的且被包括在消息400中的图像数据。发送或接收的消息400的图像数据可存储在图像表312中。
·消息视频有效载荷408:由照相机部件捕获或从电子设备102的存储器部件中检索的且被包括在消息400中的视频数据。发送或接收的消息400的视频数据可存储在视频表304中。
·消息音频有效载荷410:由麦克风捕获或从电子设备102的存储器部件中检索的且被包括在消息400中的音频数据。
·消息增强数据412:表示要应用于消息400的消息图像有效载荷406、消息视频有效载荷408或消息音频有效载荷410的增强的增强数据(例如,滤镜、贴纸或其他注释或强化物)。发送或接收的消息400的增强数据可存储在增强表310中。
·消息持续时间参数414:指示经由消息传递客户端104向用户呈现或提供消息的内容(例如,消息图像有效载荷406、消息视频有效载荷408、消息音频有效载荷410)的时间量的参数值,该时间量以秒为单位。
·消息地理位置参数416:与消息的内容有效载荷相关联的地理位置数据(例如,纬度和经度坐标)。多个消息地理位置参数416值可被包括在有效载荷中,这些参数值中的每个参数值与包括在内容中的内容项(例如,消息图像有效载荷406内的特定图像,或消息视频有效载荷408中的特定视频)相关联。
·消息故事标识符418:标识与消息400的消息图像有效载荷406中的特定内容项相关联的一个或多个内容集合(例如,在故事表314中标识的“故事”)的标识符值。例如,消息图像有效载荷406内的多个图像可各自使用标识符值来与多个内容集合相关联。
·消息标签420:每个消息400可用多个标签来加标签,每个标签指示包括在消息有效载荷中的内容的主题。例如,在包括在消息图像有效载荷406中的特定图像描绘动物(例如,狮子)的情况下,可在消息标签420内包括指示相关动物的标签值。标签值可基于用户输入手动地生成,或者可使用例如图像识别来自动地生成。
·消息发送者标识符422:指示在其上生成消息400并从其发送消息400的客户端设备102的用户的标识符(例如,消息传递系统标识符、电子邮件地址或设备标识符)。
·消息接收者标识符424:指示消息400所寻址的电子设备102的用户的标识符(例如,消息传递系统标识符、电子邮件地址或设备标识符)。
消息400的各种组成部分的内容(例如,值)可以是指向存储内容数据值的表中的位置的指针。例如,消息图像有效载荷406中的图像值可以是指向图像表312内的位置的指针(或地址)。类似地,消息视频有效载荷408内的值可指向存储在视频表304内的数据,存储在消息增强412内的值可指向存储在增强表310中的数据,存储在消息故事标识符418内的值可指向存储在故事表314中的数据,并且存储在消息发送者标识符422和消息接收者标识符424内的值可指向存储在实体表306内的用户记录。
基于时间的访问限制架构
图5是示出访问限制过程500的示意图,就该访问限制过程而言,对内容(例如,临时消息502和相关联的数据的多媒体有效载荷)或内容集合(例如,临时消息组504)的访问可以是有时间限制的(例如,是临时的)。
临时消息502被示出为与消息持续时间参数506相关联,该参数的值确定了临时消息502将由消息传递客户端104显示给临时消息502的接收用户的时间量。在一个示例中,根据发送用户使用消息持续时间参数506指定的时间量,临时消息502可由接收用户查看最多10秒。
消息持续时间参数506和消息接收者标识符424被示出为是消息定时器510的输入,该消息定时器负责确定临时消息502被示出给由消息接收者标识符424标识的特定接收用户的时间量。具体地,临时消息502将仅在由消息持续时间参数506的值确定的时间段内被示出给相关接收用户。消息定时器510被示出为向更一般化的临时定时器系统202提供输出,该临时定时器系统负责向接收用户显示内容(例如,临时消息502)的总定时。
在图5中示出了临时消息502被包括在临时消息组504(例如,个人故事或事件故事中的消息的集合)内。临时消息组504具有相关联的组持续时间参数508,该参数的值确定临时消息组504被呈现给消息传递系统100的用户并且可由这些用户访问的持续时间。组持续时间参数508例如可以是音乐会的持续时间,其中临时消息组504是与该音乐会有关的内容的集合。另选地,当执行临时消息组504的建立和创建时,用户(所有者用户或策展者用户)可指定组持续时间参数508的值。
另外,临时消息组504内的每个临时消息502具有相关联的组参与参数512,该参数的值确定在临时消息组504的上下文内临时消息502将可访问的持续时间。因此,在临时消息组504自身就组持续时间参数508而言到期之前,特定临时消息组504可在临时消息组504的上下文内“到期”并且变得不可访问。组持续时间参数508、组参与参数512和消息接收者标识符424各自向组定时器514提供输入,该组定时器首先操作地确定临时消息组504中的特定临时消息502是否将被显示给特定接收用户,并且如果是,则显示多长时间。注意,由于消息接收者标识符424,临时消息组504还知道特定接收用户的身份。
因此,组定时器514操作地控制相关联的临时消息组504以及包括在临时消息组504中的单独的临时消息502的总寿命。在一个示例中,临时消息组504内的每个临时消息502在由组持续时间参数508指定的时间段内保持可查看和可访问。在另外的示例中,基于组参与参数512,特定临时消息502可在临时消息组504的上下文内到期。注意,即使在临时消息组504的上下文内,消息持续时间参数506仍然可确定特定临时消息502被显示给接收用户的持续时间。因此,消息持续时间参数506确定特定临时消息502被显示给接收用户的持续时间,而不管接收用户是否正在临时消息组504的上下文之内或之外查看该临时消息502。
临时定时器系统202还可基于确定特定临时消息502已经超过相关联的组参与参数512来操作地从临时消息组504中移除该特定临时消息。例如,当发送用户已经建立了自发布起24小时的组参与参数512时,临时定时器系统202将在指定的24小时之后从临时消息组504中移除相关的临时消息502。临时定时器系统202还操作来:当用于临时消息组504内的每个临时消息502的组参与参数512已经到期时,或者当临时消息组504自身就组持续时间参数508而言已经到期时,移除临时消息组504。
在某些使用情况下,特定临时消息组504的创建者可指定无限期组持续时间参数508。在这种情况下,用于临时消息组504内的最后一个剩余的临时消息502的组参与参数512的到期将确定临时消息组504自身何时到期。在这种情况下,具有新的组参与参数512的、被添加到临时消息组504的新临时消息502有效地将临时消息组504的寿命延长至等于组参与参数512的值。
响应于临时定时器系统202确定临时消息组504已经到期(例如,不再可访问),临时定时器系统202与消息传递系统100(以及,例如,具体地,消息传递客户端104)通信,以使得与相关的临时消息组504相关联的标记(例如,图标)不再显示在消息传递客户端104的用户界面内。类似地,当临时定时器系统202确定用于特定临时消息502的消息持续时间参数506已经到期时,临时定时器系统202使得消息传递客户端104不再显示与临时消息502相关联的标记(例如,图标或文本标识)。
图6是示出根据一些示例的旋转标记602的一个示例的图600。在一个示例中,旋转标记602是可被呈现为二维图像、三维图像、增强现实(AR)图像、混合现实(MR)图像或虚拟现实(VR)图像的数字对象或图像。所示出的旋转标记602包括静止区域604和定位静止区域604上的旋转区域606。旋转区域606被定位成与静止区域604的周边相邻(在其上或附近)并且围绕旋转轴线608旋转。
在旋转标记(未示出)的另一示例中,旋转标记可以是具有使得能够检测旋转的独特特征的单个图像。根据该示例,图像可以是具有与圆的周边相邻的小正方形的圆、在周边上具有切口的圆,或面部。
返回参考图6,旋转标记602包括一个或多个可调节参数。可调节参数的示例包括旋转区域606围绕旋转轴线608相对于固定位置的角度610、旋转速度和旋转方向中的一者或多者。可调参数的其他示例包括静止区域604的颜色、静止区域604的图案、旋转区域606的颜色、旋转区域606的图案或它们的组合。旋转标记602的可调节参数对应于在一个或多个查看电子设备102上呈现的查看体验的特征。静止区域604和旋转区域606可各自是任何媒体,其包括视觉内容、视觉效果或其他AR、VR和MR内容项、覆盖、图像变换、AR图像和类似的图形、图标、数字图片或数字对象中的一者或多者。
如下面进一步详细描述的,远程电子设备102呈现旋转标记602(例如,在膝上型计算机、PC或电视机的监视器上),并且一个或多个查看电子设备102捕获和解读旋转标记的图像以检测旋转标记602的参数。然后,查看电子设备102响应于旋转标记602的所检测到的参数来呈现和更新查看体验。例如,当旋转区域606正在顺时针旋转时,查看电子设备102可更新游戏查看体验以包括“友好”目标,并且当旋转区域606正在逆时针旋转时,查看电子设备102可更新游戏查看体验以包括“友好”目标。当查看电子设备102正在捕获和解读相同旋转标记602的图像时,那些设备102的用户可共享具有共同特征的查看体验,而不需要在线同步连接。
在一些示例中,动画功能被应用于静止区域604、旋转区域606或两者,例如,二维、三维、AR、MR或VR环境中的旋转功能、平移功能或变形功能。尽管静止区域604或旋转区域606可被使得能够制成动画,但旋转标记602作为整体被完全动画化。旋转标记602的动画被呈现为旋转区域604或静止区域606围绕旋转标记602的旋转轴线旋转、平移或变形。
仍然参考图6,旋转标记602可采用任何形状或形式,并且被呈现为图标、对象、包括视觉内容和视觉效果的媒体覆盖、或其他AR、VR和MR内容项、覆盖、图像变换、AR图像和类似的图形、图标、数字图片或数字对象。旋转标记602还可被呈现为二维空间、三维空间、AR环境、MR环境或虚拟环境中的动画。动画包括旋转动画功能、变形动画功能、平移动画功能或其他动画视觉效果。在其他示例中,通过以下方式来修改旋转标记602:将动画,诸如旋转动画功能,应用于旋转标记602的各方面,或者使旋转区域606围绕静止区域604或围绕静止区域604的旋转轴线移动。动画可以不同的速度配置,诸如慢、中或快。
图7是示出根据一些示例的在监视器704上呈现旋转标记602的远程电子设备700(被体现为具有显示设备702的膝上型计算机)的图。在一些示例中,多个查看电子设备102(未在图7中示出)当旋转标记602呈现在显示设备702的监视器704上时,捕获该旋转标记的图像。显示设备702可以是被启用来呈现或显示旋转标记602或其他图像的任何设备显示器,诸如计算设备、膝上型计算机、台式计算机、智能电话、可穿戴显示设备、电视机等的设备显示器。为了说明的目的,显示设备702对应于包括显示设备监视器704的膝上型计算机。旋转标记602呈现在投影在显示设备监视器704上的坐标平面的中心。在其他示例中,旋转标记602可呈现在显示设备监视器704上的任何点或位置处。
如图7所示,动画功能被应用于旋转标记602。旋转区域606围绕静止区域604的旋转轴线608旋转。应用于旋转标记602的动画功能是改变旋转标记602的一个或多个参数的功能,例如,静止区域604的或在其内的旋转动画、移动动画或变形动画。
图8是示出根据一些示例的在远程电子设备702以及在第一查看电子设备102和第二查看电子设备102上显示的旋转标记602的透视图800。如图8所示,当每个查看电子设备102捕获正在膝上型计算机702的远程电子设备显示监视器704上显示的旋转标记602时,在每个查看电子设备的每个监视器上呈现旋转标记602。旋转标记602显示在查看电子设备显示器802的中心和查看电子设备显示器804的中心。
当旋转标记602正由远程电子设备显示监视器704呈现时,每个查看电子设备102监视并捕获旋转标记602的动画。在一个示例中,客户端设备102使用集成到其相应设备中的相机来检测或捕获显示设备702上显示的旋转标记602。在其他示例中,能够使用图像分析技术和视觉标记例程的图像识别以及处理来捕获图像的任何设备可用于检测和捕获旋转标记602。如图9A所示,查看客户端设备102从两个不同的视点和视角捕获和检测在电子设备显示监视器704上显示的旋转标记602。在一些示例中,旋转标记602可从相对于电子设备显示监视器704和客户端设备102原点的多个视点和视角来捕获。
图9A是示出根据一些示例的在第一查看电子设备102和第二查看电子设备102上显示的视觉体验(被体现为游戏体验)的透视图。当每个设备同时捕获旋转标记602时,在查看电子设备显示器802和查看电子设备显示器804上呈现和显示视觉体验应用诸如视觉体验902。
图9B和图9C是用于描述一个游戏视觉体验的图示。在图9B和图9C中,呈现了旋转标记602的表示。围绕旋转标记静止区域604的周边的是可选择项目912。在游戏视觉体验的一个示例中,用户仅在旋转区域606正在逆时针旋转(图9B)并且旋转区域606在项目912的预定义距离内时才能够选择项目912。当用户成功地选择了项目912时,该项目的特征改变,例如项目的图案。旋转区域606由生成旋转标记602的应用程序控制,使得该旋转区域随机地改变方向和速度。
在图9B中,已经被选择的项目912a和912b用第一显示图案914a特征来描绘。项目912c、d、e、f尚未被选择,并且具有第二显示图案914b特征。在该图示中,旋转区域606正接近项目912c,这将使得用户能够选择项目912c。
当旋转区域606正在顺时针旋转时(图9C),用户不能选择任何剩余项目912c、d、e、f中的任一者。尚未被选择且当前不可选择的项目912c、d、e、f具有第三显示图案914c特征。
图9D和图9E是用于描述另一游戏视觉体验的图示。在图9B和图9C中,在查看电子设备显示器802上呈现旋转标记602的另选图形表示(具有张开的嘴926的角色922)。图形表示922旋转成使得角色922的眼睛在角度位置上对应于来自旋转标记602的旋转区域606。旋转区域606由生成旋转标记602的应用程序控制,使得该旋转区域随机地改变方向和速度(这使得角色922在由查看电子设备102捕获和解读时改变方向和速度)。
另外,另一角色924定位查看电子设备显示器802上。查看电子设备102的用户能够通过以下方式来控制另一角色924的位置:旋转电话(例如,如基于来自IMU的输入或通过SLAM处理确定的),这使得角色924进行对应移动;或触摸屏显示器上的输入,在该触摸屏显示器中,用户能够在查看电子设备显示器802周围拖动角色。
在该游戏视觉体验的一个示例中,当角色922的可调节特征处于第一状态时,用户通过将另一角色924定位在角色922的嘴926中来得分,而当角色922的可调节特征处于第二状态时将另一角色924定位在角色922的嘴926中时,用户丢分。可调节特征的状态与旋转区域606的旋转方向相关联,并且通过角色922的颜色传达给用户。例如,如果旋转区域606正在逆时针旋转(图9D),这与第一状态相关联,则角色922可用第一颜色或图案928a来呈现。另一方面,如果旋转区域606正在顺时针旋转(图9E),这与第二状态相关联,则角色922可用第二颜色或图案928b来呈现。
图9F是用于描述艺术媒体视觉体验的图示。在图9F中,在查看电子设备显示器802上呈现视觉图像诸如具有喇叭940的场景。响应于解读了在远程电子设备显示监视器704上呈现的旋转标记602,当旋转区域正在顺时针旋转时,呈现可调节特征诸如空气图标942,并且在旋转区域正在逆时针旋转的情况下,呈现另一图标(未示出)。可基于旋转速率呈现附加可调节特征,诸如,碰撞图标944a、b。例如,在低于预定义的旋转速率时,可呈现第一碰撞图标944a,并且在等于或高于预定义的旋转速率时,可呈现第二碰撞图标944b。图标中的每个图标可具有对应的音量级别。
图9F另外示出了在远程电子设备显示监视器704上呈现以用于向客户端电子设备102通知要呈现哪种视觉体验的视觉体验标识符(诸如条形码950)。视觉体验标识符可定位在旋转标记602上或与其相邻。静止区域604的内部区域952和旋转区域606的内部区域954可具有可调节特征诸如颜色或图案以传达附加信息。例如,可基于静止区域604的内部区域952的颜色选择要呈现的喇叭的类型。
图10A至图10E是示出用于使用与视觉体验相关联的旋转标记来实现相应的查看电子设备102的多个用户的视觉体验的离线同步的方法1000、1020、1040、1060和1080的流程图。这些方法可被实现为存在于相应设备上并由相应设备执行的应用程序。虽然方法1000、1020、1040、1060和1080的某些操作被描述为由某些设备执行,但是在不同的示例中,不同的设备或设备的组合可执行这些操作。在一个示例中,下面被描述为由查看电子设备102执行的一个或多个操作也可与服务器侧计算设备(例如,消息传递服务器系统108)或第三方服务器计算设备组合地执行。同样,下面被描述为由远程电子设备102执行的一个或多个操作也可与服务器侧计算设备(例如,消息传递服务器系统108)或第三方服务器计算设备组合地执行。
尽管方法的以下描述涉及在客户端设备102上运行的旋转标记系统216,但是根据本文的描述将理解用于基于旋转标记系统216来查看视觉体验或与视觉体验交互的其他系统和设备。虽然这些流程图可能将操作描述为按顺序进行的过程,但其中许多操作可并行或同时执行。另外,也可重新安排这些操作的顺序。过程在其操作完成时终止。过程可对应于方法、流程等。方法的步骤可全部或部分执行,可结合其他方法中的步骤中的一些或全部步骤来执行,或者可由任何数量的不同系统执行,诸如图1至图9和图11至图13所描述的系统。
流程图1000描绘了用于在查看电子设备102处体验查看体验的示例性步骤。在框1002处,查看电子设备102捕获旋转标记602的图像。在一个示例中,查看电子设备102利用集成相机来捕获在远程设备显示监视器702的显示器上呈现的图像。多个查看电子设备102可同时捕获旋转标记的当前状态的图像,以便共享视觉体验。示例性视觉体验包括游戏体验和艺术媒体体验。艺术媒体包括具有可选覆盖的静态图像或视频图像。
在框1004处,查看电子设备102识别视觉体验。在一个示例中,查看电子设备102识别所捕获的图像中的单独的视觉标识符(例如,条形码),该视觉标识符对应于在耦接到远程客户端设备的监视器上呈现的视觉体验。在另一示例中,查看电子设备102识别与视觉体验对应的旋转标记的参数。根据该示例,可识别与视觉体验对应的参数,诸如静止区域604的颜色。查看电子设备102可从查看电子设备102上或该查看电子设备可获得的多个视觉体验中选择视觉体验。查看电子设备102可使用机器视觉来将所捕获的图像与和相应查看体验对应的先前捕获的图像进行比较。当机器视觉算法超过置信阈值(例如,99.8%)时,识别出视觉体验。
在框1006处,查看电子设备102呈现视觉体验。查看电子设备102在查看电子设备的显示器上呈现视觉体验。查看电子设备可响应于识别并检索到视觉体验而呈现视觉体验。
在框1008处,查看电子设备102检测旋转标记602的参数。在一个示例中,查看电子设备102检测参数,诸如旋转速度、旋转方向、旋转角度、区域的颜色、区域的图案。查看电子设备102可使用机器视觉来分析所捕获的图像以确定旋转标记602的参数。
在框1010处,查看电子设备102响应于所检测到的参数来更新视觉体验。查看电子设备102在查看电子设备的显示器上呈现更新后的视觉体验。在一个示例中,查看电子设备102将所检测到的参数与视觉体验的先前存储的可调节特征进行匹配,并且在视觉体验中实现匹配的可调节特征。
在框1012处,查看电子设备102识别查看电子设备的移动。查看电子设备102的移动可从惯性测量单元(IMU)、使用即时定位与地图构建(SLAM)处理从所捕获的图像或从它们的组合确定。
在框1014处,查看电子设备102识别该设备处的用户输入。在一个示例中,查看电子设备102包括触敏显示器。根据该示例,可经由触敏显示器接收用户输入。
在框1014处,查看电子设备102还响应于所识别的移动/用户输入来更新视觉体验。在一个示例中,查看电子设备102的感测到的移动使得角色在查看电子设备的屏幕上进行对应移动。在另一示例中,在触敏显示器上可选择项目的区域中感测到的使用输入使得选择该项目。
在框1016处,查看电子设备102响应于所检测到的参数、所识别的移动和用户输入来维护和更新分数。例如,查看电子设备102可在存储器中维护得分(并且可选地在查看电子设备102的显示器上显示),并且通过以下方式来更新分数:响应于所检测到的参数、所识别的移动和用户输入的一些组合来增加得分,并且响应于所检测到的参数、所识别的移动和用户输入的其他组合来减少得分。
流程图1020描绘了用于在另一查看电子设备102处体验查看体验的示例性步骤。在框1022处,另一查看电子设备102捕获旋转标记的图像,例如,如上文相对于框1002所描述的。在框1024处,查看电子设备102识别视觉体验,例如,如上文相对框1004所描述的。在框1026处,查看电子设备102在另一设备上呈现视觉体验,例如,如上文相对于框1006所描述的。在框1028处,查看电子设备102检测旋转标记的参数,例如,如上文相对于框1008所描述的。在框1030处,查看电子设备102响应于所检测到的参数来更新另一设备上的视觉体验,例如,如上文相对于框1010所描述的。
流程图1040描绘了用于选择视觉体验以在查看电子设备102上查看的方法的示例性步骤。在框1042处,查看电子设备102检测旋转标记的参数,例如,如上文相对于框1008所描述的。在框1044处,查看电子设备102响应于所检测到的参数从查看电子设备102存储或可检索的一组视觉体验中选择要呈现的视觉体验。
流程图1060描绘了用于选择视觉体验以在查看电子设备102上查看的另一方法的示例性步骤。在框1062处,查看电子设备102检测视觉体验标识符。查看电子设备102可使用机器视觉来将所捕获的图像与相应查看体验对应的先前捕获的图像进行比较。当机器视觉算法超过置信阈值(例如,99.8%)时,识别出视觉体验。在框1064处,查看电子设备102响应于所检测到的视觉体验标识符从一组视觉体验中选择视觉体验。
流程图1080描绘了用于在远程电子设备处生成旋转标记的方法的示例性步骤。在框1082处,远程客户端设备102确定视觉体验。在一个示例中,远程客户端设备102通过从存储在远程客户端设备的存储器中的多个视觉体验中的一个视觉体验中随机地选择视觉体验(例如,响应于软件或硬件随机数生成器)来随机地识别视觉体验。在另一示例中,远程客户端设备102通过以下方式来确定视觉体验:从正在查看远程客户端设备102的查看电子设备102接收选择(例如,经由无线通信),以及从存储在远程客户端设备102的存储器中的多个视觉体验中的一个视觉体验中选择与所接收的选择对应的视觉体验。
在框1084处,远程客户端设备102呈现与所选择的视觉体验对应的视觉体验标识符。在一个示例中,远程客户端设备102在耦接到远程客户端设备的监视器上呈现与所选择的视觉体验对应的单独的视觉标识符(例如,条形码)。在另一示例中,远程客户端设备102呈现具有与所选择的视觉体验对应的参数的旋转标记。根据该示例,可识别与视觉体验对应的参数以用于呈现,诸如静止区域604的颜色。
在框1086处,远程客户端设备102生成用于视觉体验的呈现参数。在一个示例中,远程客户端设备102通过随机地选择用于旋转标记602的一个或多个呈现参数(例如,响应于软件或硬件随机数生成器)来随机地识别呈现参数。根据该示例,远程客户端设备102可随机地选择用于旋转标记602的角度方向、旋转方向、旋转速度、区域的颜色或区域的图案中的一者或多者。
在框1088处,远程客户端设备102呈现具有所生成的呈现参数的旋转标记,以供查看电子设备进行图像捕获。在一个示例中,远程客户端设备102呈现具有与所生成的呈现参数对应的参数的旋转标记602(框1086)。在视觉体验的持续时间内,框1086和1088可被连续地重复,以改变由查看电子设备102查看的旋转标记602,并因此影响查看电子设备102的显示器上的视觉体验
机器架构
图11是机器1100的图形表示,可在该机器中执行用于使机器1100执行本文所讨论的方法中的任何一者或多者的指令1110(例如,软件、程序、应用程序、小程序、应用或其他可执行代码)。例如,指令1110可使机器1100执行本文所述的方法中的任何一者或多者。指令1110将一般的未编程机器1100转换成被编程为以所述方式执行所述和所示功能的特定机器1100。机器1100可作为独立设备工作,或者可耦接(例如,联网)到其他机器。在联网部署中,机器1100可在服务器-客户端网络环境中以服务器机器或客户端机器的身份操作,或者在对等(或分布式)网络环境中作为对等机器操作。机器1100可包括但不限于服务器计算机、客户端计算机、个人计算机(PC)、平板计算机、膝上型计算机、上网本、机顶盒(STB)、(个人数字助手)PDA、娱乐媒体系统、蜂窝电话、智能电话、移动设备、可穿戴设备(例如,智能手表)、智能家居设备(例如,智能电器)、其他智能设备、web电器、网络路由器、网络交换机、网桥,或能够顺序地或以其他方式执行指定要由机器1100采取的动作的指令1110的任何机器。此外,虽然仅示出单个机器1100,但是术语“机器”还应被理解为包括单独地或联合地执行指令1110以执行本文所讨论的方法中的任何一者或多者的机器的集合。例如,机器1100可包括电子设备102或形成消息传递服务器系统108的一部分的多个服务器设备中的任一个服务器设备。在一些示例中,机器1100还可包括客户端和服务器系统两者,其中特定方法或算法的某些操作在服务器侧执行,并且其中特定方法或算法的某些操作在客户端侧执行。
机器1100可包括处理器1104、存储器1106和输入/输出I/O部件1102,它们可被配置为经由总线1140彼此通信。在示例中,处理器1104(例如,中央处理单元(CPU)、精简指令集计算(RISC)处理器、复杂指令集计算(CISC)处理器、图形处理单元(GPU)、数字信号处理器(DSP)、专用集成电路(ASIC)、射频集成电路(RFIC)、另一处理器,或它们的任何合适的组合)可包括例如执行指令1110的处理器1108和处理器1112。术语“处理器”旨在包括多核处理器,多核处理器可包括两个或更多个可同时执行指令的独立处理器(有时称为“核”)。虽然图11示出了多个处理器1104,但是机器1100可包括具有单个核的单个处理器、具有多个核的单个处理器(例如,多核处理器)、具有单个核的多个处理器、具有多个核的多个处理器,或它们的任何组合。
存储器1106包括主存储器1114、静态存储器1116和存储单元1118,它们都可由处理器1104经由总线1140访问。主存储器1106、静态存储器1116和存储单元1118存储体现本文所述的方法或功能中的任何一者或多者的指令1110。指令1110还可在其由机器1100执行期间完全或部分地驻留在主存储器1114内、静态存储器1116内、存储单元1118内的机器可读介质1120内、处理器1104中的至少一者内(例如,处理器的高速缓存存储器内),或它们的任何合适的组合。
I/O部件1102可包括各种各样的部件以接收输入、提供输出、产生输出、传输信息、交换信息、捕获测量结果等等。被包括在特定机器中的特定I/O部件1102将取决于机器的类型。例如,便携式机器诸如移动电话可包括触摸输入设备或其他此类输入机构,而无头服务器机器将可能不包括这样的触摸输入设备。应当理解,I/O部件1102可包括图11中未示出的许多其他部件。在各种示例中,I/O部件1102可包括用户输出部件1126和用户输入部件1128。用户输出部件1126可包括视觉部件(例如,显示器,诸如等离子体显示面板(PDP)、发光二极管(LED)显示器、液晶显示器(LCD)、投影仪或阴极射线管(CRT))、声学部件(例如,扬声器)、触觉部件(例如,振动马达、电阻机构)、其他信号发生器等等。用户输入部件1128可包括字母数字输入部件(例如,键盘、被配置为接收字母数字输入的触摸屏、摄影光学键盘或其他字母数字输入部件)、基于点的输入部件(例如,鼠标、触摸板、轨迹球、操纵杆、运动传感器或另一指点仪器)、触觉输入部件(例如,物理按钮、提供触摸位置和触摸力或触摸手势的触摸屏,或其他触觉输入部件)、音频输入部件(例如,麦克风)等。
在另外的示例中,I/O部件1102可包括生物计量部件1130、运动部件1132、环境部件1134或定位部件1136,以及各种各样的其他部件。例如,生物计量部件1130包括用于检测表情(例如,手势、面部表情、声音表达、身体姿态或眼睛跟踪)、测量生物信号(例如,血压、心率、体温、出汗或脑电波)、识别人(例如,语音识别、视网膜识别、面部识别、指纹识别或基于脑电图的识别)等的部件。运动部件1132包括加速度传感器部件(例如,加速度计)、重力传感器部件、旋转传感器部件(例如,陀螺仪)。
环境部件1134包括例如一个或多个相机(具有静态图像/相片和视频功能)、照度传感器部件(例如,光度计)、温度传感器部件(例如,检测环境温度的一个或多个温度计)、湿度传感器部件、压力传感器部件(例如气压计)、声音传感器部件(例如,检测背景噪声的一个或多个麦克风)、接近传感器部件(例如,检测附近对象的红外传感器)、气体传感器(例如,为了安全而检测危险气体的浓度或测量大气中的污染物的气体检测传感器),或可提供对应于周围物理环境的指示、测量或信号的其他部件。
关于相机,电子设备102可具有相机系统,该相机系统包括例如在电子设备102的前表面上的前置相机和在电子设备102的后表面上的后置相机。前置相机可例如用于捕获电子设备102的用户的静态图像和视频(例如,“自拍”),然后可用上述增强数据(例如,滤镜)来增强这些静态图像和视频。后置相机可例如用于在更传统的相机模式下捕获静态图像和视频,这些图像类似地用增强数据来增强。除了前置相机和后置相机之外,电子设备102还可包括用于捕获360°相片和视频的360°相机。
此外,电子设备102的相机系统可包括双后置相机(例如,主相机以及深度感测相机),或者甚至在电子设备102的前侧和后侧上包括三、四或五后置相机配置。例如,这些多个相机系统可包括广角相机、超广角相机、远摄相机、宏相机和深度传感器。
定位部件1136包括位置传感器部件(例如,GPS接收器部件)、高度传感器部件(例如,高度计,或气压计,其检测气压,从该气压可导出高度)、定向传感器部件(例如,磁力计)等。
通信可使用各种各样的技术来实现。I/O部件1102还包括通信部件1138,该通信部件可操作来经由相应的耦接或连接将机器1100耦接到网络1122或设备1124。例如,通信部件1138可包括网络接口部件或与网络1122介接的另一合适的设备。在另外的示例中,通信部件1138可包括有线通信部件、无线通信部件、蜂窝通信部件、近场通信(NFC)部件、部件(例如,/>低功耗)、/>部件,和用于经由其他方式提供通信的其他通信部件。设备1124可以是另一机器或各种各样的外围设备(例如,经由USB耦接的外围设备)中的任一种。
此外,通信部件1138可检测标识符或者包括可操作来检测标识符的部件。例如,通信部件1138可包括射频识别(RFID)标签读取器部件、NFC智能标签检测部件、光学读取器部件(例如,用于检测一维条形码诸如通用产品代码(UPC)条形码、多维条形码诸如快速响应(QR)码、Aztec码、DataMatrix码、Dataglyph、MaxiCode、PDF417、Ultra码、UCCRSS-2D条形码和其他光学码的光学传感器,或声音检测部件(例如,用于识别加标签的音频信号的麦克风)。另外,可经由通信部件1138导出各种信息,诸如经由互联网协议(IP)地理定位的位置、经由信号三角测量的位置、经由检测可指示特定位置的NFC信标信号的位置等。
各种存储器(例如,主存储器1114、静态存储器1116和处理器1104的存储器)和存储单元1118可存储体现本文所述的方法或功能中的任何一者或多者或由本文所述的方法或功能中的任何一者或多者使用的一组或多组指令和数据结构(例如,软件)。这些指令(例如,指令1110)在由处理器1104执行时引起各种操作以实施所公开的示例。
指令1110可使用传输介质经由网络接口设备(例如,包括在通信部件1138中的网络接口部件)和使用若干种公知传输协议(例如,超文本传输协议(HTTP))中的任何一种来通过网络1122传输或接收。类似地,指令1110可使用传输介质经由耦接(例如,对等耦接)传输到设备1124或从该设备接收。
软件架构
图12是示出软件架构1204的框图1200,该软件架构可被安装在本文所述的设备中的任何一者或多者上。软件架构1204由硬件诸如包括处理器1220、存储器1226和I/O部件1238的机器1202来支持。在该示例中,软件架构1204可被概念化为层的堆叠,其中每个层提供特定功能。软件架构1204包括多个层,诸如操作系统1212、库1210、框架1208和应用程序1206。在操作上,应用程序1206通过软件栈调用API调用1250,并且响应于API调用1250而接收消息1252。
操作系统1212管理硬件资源并提供公共服务。操作系统1212包括例如内核1214、服务1216和驱动器1222。内核1214充当硬件与其他软件层之间的抽象层。例如,内核1214提供存储器管理、处理器管理(例如,调度)、部件管理、联网和安全设置以及其他功能。服务1216可为其他软件层提供其他公共服务。驱动器1222负责控制底层硬件或与底层硬件交互。例如,驱动器1222可包括显示器驱动器、相机驱动器、或/>低功耗驱动器、闪存存储器驱动器、串行通信驱动器(例如,USB驱动器)、/>驱动器、音频驱动器、功率管理驱动器等。
库1210提供由应用程序1206使用的公共低级基础结构。库1210可包括系统库1218(例如,C标准库),其提供函数诸如存储器分配函数、串操纵函数、数学函数等。另外,库1210可包括API库1224,诸如媒体库(例如,支持各种媒体格式的呈现和操纵的库,所述各种媒体格式诸如运动图像专家组-4(MPEG4)、高级视频编码(H.264或AVC)、运动图像专家组层-3(MP3)、高级音频编码(AAC)、自适应多速率(AMR)音频编解码器、联合图像专家组(JPEG或JPG)或便携式网络图形(PNG))、图形库(例如,用于在显示器上的图形内容中以二维(2D)和三维(3D)渲染的OpenGL框架)、数据库(例如,用于提供各种关系数据库功能的SQLite)、web库(例如,用于提供web浏览功能的WebKit)等。库1210还可包括各种各样的其他库1228,以向应用程序1206提供许多其他API。
框架1208提供由应用程序1206使用的公共高级基础结构。例如,框架1208提供各种图形用户界面(GUI)功能、高级资源管理和高级位置服务。框架1208可提供可由应用程序1206使用的广泛的其他API,其中的一些可专用于特定操作系统或平台。
在示例中,应用程序1206可包括家庭应用程序1236、联系人应用程序1230、浏览器应用程序1232、书籍阅读器应用程序1234、位置应用程序1242、媒体应用程序1244、消息传递应用程序1246、视觉体验1248和广泛分类的其他应用程序诸如第三方应用程序1240。应用程序1206是一类程序,它们执行在程序中定义的功能。可采用各种程序设计语言来创建以各种方式结构化的应用程序1206中的一个或多个应用程序,诸如面向对象的程序设计语言(例如,Objective-C、Java或C++)或过程程序设计语言(例如,C或汇编语言)。在特定示例中,第三方应用程序1240(例如,由除特定平台的供应商之外的实体使用ANDROIDTM或IOSTM软件开发工具包(SDK)开发的应用程序)可包括在移动操作系统诸如IOSTM、ANDROIDTM、电话或另一移动操作系统上运行的移动软件。在该示例中,第三方应用程序1240可调用由操作系统1212提供的API调用1250以促进本文所述的功能。
处理部件
现在转到图13,其示出了处理环境1300的图形表示,该处理环境包括处理器1302、处理器1306和处理器1308(例如,GPU、CPU或它们的组合)。
处理器1302被示出为耦接到电源1304,并且包括(永久地配置或临时实例化的)模块,即,旋转标记部件1310。远程客户端设备上的旋转标记部件1310操作地生成旋转标记。查看客户端设备上的旋转标记部件1310使得响应于旋转标记的查看体验被显示在第一查看电子设备和第二查看电子设备的显示界面上。在查看客户端设备上的旋转标记部件1310识别查看体验,在相应的查看客户端设备的显示器上呈现查看体验,从由相应的查看客户端设备捕获的图像检测旋转标记的参数,并且响应于所检测到的参数来更新查看体验。如图所示,处理器1302通信地耦接到处理器1306和处理器1308两者。
术语解释
“载波信号”是指能够存储、编码或承载供机器执行的指令的任何无形介质,并且包括数字或模拟通信信号或其他无形介质以便于此类指令的通信。指令可经由网络接口设备使用传输介质通过网络进行传输或接收。
“客户端设备”是指与通信网络介接以从一个或多个服务器系统或其他客户端设备获得资源的任何机器。客户端设备可以是但不限于移动电话、台式计算机、膝上型计算机、便携式数字助理(PDA)、智能电话、平板电脑、超级本、上网本、膝上型计算机、多处理器系统、基于微处理器的或可编程的消费电子产品、游戏控制台、机顶盒或用户可用来访问网络的任何其他通信设备。
“通信网络”是指网络的一个或多个部分,该网络可以是自组织网络、内联网、外联网、虚拟专用网(VPN)、局域网(LAN)、无线LAN(WLAN)、广域网(WAN)、无线WAN(WWAN)、城域网(MAN)、互联网、互联网的一部分、公共交换电话网(PSTN)的一部分、普通老式电话服务(POTS)网络、蜂窝电话网络、无线网络、网络、另一类型的网络、或两个或更多个此类网络的组合。例如,网络或网络的一部分可包括无线或蜂窝网络,并且耦接可以是码分多址(CDMA)连接、全球移动通信系统(GSM)连接或其他类型的蜂窝或无线耦接。在该示例中,耦接可实现各种类型的数据传输技术中的任一种,诸如单载波无线传输技术(1xRTT)、演进数据优化(EVDO)技术、通用分组无线电服务(GPRS)技术、增强型数据速率GSM演进(EDGE)技术、包括3G的第三代合作伙伴计划(3GPP)、第四代无线(4G)网络、通用移动通信系统(UMTS)、高速分组接入(HSPA)、全球微波接入互操作性(WiMAX)、长期演进(LTE)标准、由各种标准设置组织定义的其他标准、其他远程协议或其他数据传输技术。
“部件”是指具有由功能或子例程调用、分支点、API或提供特定处理或控制功能的分区或模块化的其他技术定义的边界的设备、物理实体或逻辑。部件可经由其接口与其他部件组合以执行机器过程。部件可以是被设计用于与其他部件以及通常执行相关功能中的特定功能的程序的一部分一起使用的经封装的功能性硬件单元。部件可构成软件部件(例如,体现在机器可读介质上的代码)或硬件部件。“硬件部件”是能够执行某些操作的有形单元,并且可以某种物理方式来配置或布置。在各种示例中,一个或多个计算机系统(例如,独立式计算机系统、客户端计算机系统或服务器计算机系统)或计算机系统的一个或多个硬件部件(例如,一个处理器或一组处理器)可被软件(例如,应用程序或应用程序部分)配置为操作来执行如本文所描述的某些操作的硬件部件。硬件部件也可机械地、电子地或以它们的任何合适的组合实现。例如,硬件部件可包括被永久地配置为执行某些操作的专用电路或逻辑。硬件部件可以是专用处理器,诸如现场可编程门阵列(FPGA)或专用集成电路(ASIC)。硬件部件还可包括可编程逻辑或电路,其被软件临时配置为执行某些操作。例如,硬件部件可包括由通用处理器或其他可编程处理器执行的软件。一旦被这种软件配置,硬件部件就变成被独特地定制为执行所配置的功能的特定机器(或机器的特定部件),并且不再是通用处理器。应当理解,机械地、在专用且永久地配置的电路中或在临时配置的电路(例如,被软件配置)中实现硬件部件的决定可能受成本和时间考虑的驱使。因此,短语“硬件部件”(或“硬件实现的部件”)应当被理解为涵盖有形实体,即被物理地构造成、永久地配置(例如,硬连线)为或临时配置(例如,编程)为以特定方式操作或执行本文所描述的特定操作的实体。考虑硬件部件被临时配置(例如,编程)的示例,这些硬件部件中的每个硬件部件不需要在任何一个时刻都被配置或实例化。例如,在硬件部件包括被软件配置为变成专用处理器的通用处理器的情况下,通用处理器可在不同时间被配置为分别不同的专用处理器(例如,包括不同的硬件部件)。软件相应地将一个或多个特定处理器配置为,例如,在一个时刻构成特定硬件部件,并在不同的时刻构成不同的硬件部件。硬件部件可向其他硬件部件提供信息,并从其他硬件部件接收信息。因此,所描述的硬件部件可被认为是通信地耦接的。在多个硬件部件同时存在的情况下,可通过硬件部件中的两个或更多个硬件部件之间的信号传输(例如,通过适当的电路和总线)来实现通信。在多个硬件部件在不同时间被配置或实例化的示例中,此类硬件部件之间的通信可例如通过在多个硬件部件具有访问权限的存储器结构中存储和检索信息来实现。例如,一个硬件部件可执行操作并将该操作的输出存储在与其通信地耦接的存储器设备中。然后,在稍后的时间,另一硬件部件可访问存储器设备以检索和处理所存储的输出。硬件部件还可发起与输入或输出设备的通信,并且可对资源(例如,信息集合)进行操作。本文所描述的示例性方法的各种操作可至少部分地由被临时配置(例如,被软件)或永久地配置为执行相关操作的一个或多个处理器执行。无论是临时还是永久地配置,此类处理器都可构成处理器实现的部件,这些部件操作来执行本文所描述的一个或多个操作或功能。如本文所使用的,“处理器实现的部件”是指使用一个或多个处理器实现的硬件部件。类似地,本文所描述的方法可至少部分地由处理器实现,其中一个或多个特定处理器是硬件的示例。例如,方法的操作中的至少一些可由一个或多个处理器1004或处理器实现的部件执行。此外,该一个或多个处理器还可操作来支持在“云计算”环境中或作为“软件即服务”(SaaS)的相关操作的执行。例如,这些操作中的至少一些可由一组计算机(作为包括处理器的机器的示例)执行,其中这些操作可经由网络(例如,互联网)和经由一个或多个适当的接口(例如,API)来访问。某些操作的执行可分布在处理器之间,这些处理器不仅驻留在单个机器内,而且跨多个机器部署。在一些示例中,处理器或处理器实现的部件可位于单个地理位置(例如,在家庭环境、办公室环境或服务器农场内)。在其他示例中,处理器或处理器实现的部件可跨多个地理位置分布。
“计算机可读存储介质”是指机器存储介质和传输介质两者。因此,该术语包括存储设备/介质和载波/调制数据信号。术语“机器可读介质”、“计算机可读介质”和“设备可读介质”表示相同的事物,并且在本公开中可互换地使用。
“临时消息”是指在有时间限制的持续时间内可访问的消息。临时消息可以是文本、图像、视频等。临时消息的访问时间可由消息发送者设置。另选地,访问时间可以是默认设置或由接受者指定的设置。不管设置技术如何,消息都是暂时的。
“机器存储介质”是指存储可执行指令、例程和数据的单个或多个存储设备和介质(例如,集中式或分布式数据库,以及相关联的高速缓存和服务器)。因此,该术语应被理解为包括但不限于固态存储器以及光学和磁性介质,包括处理器内部或外部的存储器。机器存储介质、计算机存储介质和设备存储介质的具体示例包括:非易失性存储器,包括例如半导体存储器设备,例如可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、FPGA和闪存存储器设备;磁盘,诸如内部硬盘和可移动盘;磁光盘;以及CD-ROM和DVD-ROM盘。术语“机器存储介质”、“设备存储介质”、“计算机存储介质”表示相同的事物,并且在本公开中可互换地使用。术语“机器存储介质”、“计算机存储介质”和“设备存储介质”具体地不包括载波、调制数据信号和其他这种介质,其中至少一些被术语“信号介质”所覆盖。
“非暂时性计算机可读存储介质”是指能够存储、编码或承载用于供机器执行的指令的有形介质。
“信号介质”是指能够存储、编码或承载供机器执行的指令的任何无形介质,并且包括数字或模拟通信信号或其他无形介质以便于软件或数据的通信。术语“信号介质”应被理解为包括任何形式的调制数据信号、载波等。术语“调制数据信号”表示以在信号中编码信息的方式设置或改变其一个或多个特征的信号。术语“传输介质”和“信号介质”表示相同的事物,并且在本公开中可互换地使用。
Claims (20)
1.一种方法,包括:
用查看电子设备的相机捕获旋转标记的图像,所述旋转标记呈现在远程设备的视频屏幕上;
在所述查看电子设备的显示器上呈现视觉体验,所述视觉体验具有可调节特征;
在所述查看电子设备处检测所述旋转标记的参数,所述参数对应于所述可调节特征;以及
响应于所检测到的参数来更新在所述显示器上呈现的所述视觉体验。
2.根据权利要求1所述的方法,还包括:
在用所述查看电子设备的所述相机捕获所述旋转标记的所述图像期间,用另一查看电子设备的另一相机捕获所述旋转标记的图像;
在所述另一查看电子设备的另一显示器上呈现所述视觉体验;
与在所述查看电子设备处同时,在所述另一查看电子设备处检测所述旋转标记的所述参数;以及
响应于所检测到的参数来更新在所述另一显示器上呈现的所述视觉体验。
3.根据权利要求1所述的方法,其中所述旋转标记包括围绕所述旋转标记的旋转轴线旋转的区域,并且其中所述参数是所述区域相对于从所述旋转轴线延伸的固定方向的旋转角度、所述区域围绕所述旋转轴线旋转的速度或所述区域围绕所述旋转轴线旋转的方向。
4.根据权利要求3所述的方法,其中所述视觉体验是包括响应于所述旋转标记的第一游戏物件和第二游戏物件的交互式游戏,所述可调节特征包括与一个旋转方向对应的所述第一游戏物件的目标状态,以及与另一旋转方向对应的所述第一游戏物件的回避状态,并且所述方法还包括:
识别所述查看电子设备的移动;
通过响应于所识别的移动而定位所述第二游戏物件来进一步更新所述视觉体验;以及
响应于所述可调节特征是处于所述第一状态还是处于所述第二状态,对所述第一游戏物件和所述第二游戏物件之间的交互进行评分。
5.根据权利要求3所述的方法,其中所述视觉体验是交互式游戏,所述交互式游戏包括第一游戏物件和响应于所述旋转标记的多个可选择目标,所述可调节特征包括所述多个可选择目标中的一个或多个可选择目标的选择状态,所述选择状态对应于所述旋转方向和所述旋转角度,并且所述方法还包括:
检测所述查看电子设备的所述显示器上在所述多个可选择目标中的一个可选择目标上或与所述一个可选择目标相邻的输入;以及
响应于所述多个可选择目标中的所述一个可选择目标的所述选择状态而对所检测到的输入进行评分。
6.根据权利要求3所述的方法,其中所述视觉体验是艺术视觉媒体,所述可调节特征包括与所述旋转速度对应的辐射图像,并且所述方法包括:
确定所述旋转速度;以及
通过响应于所确定的旋转速度而改变所述辐射图像来进一步更新所述视觉体验。
7.根据权利要求1所述的方法,还包括:
在所述查看电子设备处检测所述旋转标记的另一参数,所述另一参数对应于所述视觉体验;以及
响应于所检测到的另一参数,从多个视觉体验中的一个视觉体验中选择要呈现的所述视觉体验。
8.根据权利要求1所述的方法,其中所捕获的图像还包括视觉体验标识符,并且所述方法还包括:
检测所捕获的图像中的所述视觉体验标识符;
响应于所检测到的视觉体验,从多个视觉体验中的一个视觉体验中选择要呈现的所述视觉体验。
9.根据权利要求1所述的方法,其中所述标记包括具有第一半径的第一圆和具有第二半径的第二圆,所述第二圆小于所述第一圆,其中所述第二圆与所述第一圆的周边相邻。
10.一种系统,包括:
查看电子设备,所述查看电子设备包括:
相机,所述相机被配置为捕获图像;
显示器;和
处理器,所述处理器耦接到所述相机和所述显示器,所述处理器被配置为:
用所述相机捕获旋转标记的图像,所述旋转标记呈现在远程设备的视频屏幕上;
在所述显示器上在所述查看电子设备的显示器上呈现视觉体验,所述视觉体验具有可调节特征;
在所述查看电子设备处从用所述相机捕获的所述图像检测所述旋转标记的参数,所述参数对应于所述可调节特征;以及
响应于所检测到的参数,在所述显示器上更新所述视觉体验。
11.根据权利要求10所述的系统,还包括:
另一查看电子设备,所述另一查看电子设备包括:
另一相机,所述另一相机被配置为捕获图像;
另一显示器;和
另一处理器,所述另一处理器耦接到所述另一相机和所述另一显示器,所述另一处理器被配置为:
在用所述查看电子设备的所述相机捕获所述旋转标记的所述图像期间,用所述另一相机捕获所述旋转标记的图像;
在所述另一显示器上呈现所述视觉体验;
与在所述查看电子设备处同时,在所述另一查看电子设备处从用所述另一相机捕获的所述图像检测所述旋转标记的所述参数;以及
响应于所检测到的参数来更新在所述另一显示器上呈现的视觉体验。
12.根据权利要求10所述的系统,其中所述旋转标记包括围绕所述旋转标记的旋转轴线旋转的区域,并且其中所述参数是所述区域相对于从所述旋转轴线延伸的固定方向的旋转角度、所述区域围绕所述旋转轴线旋转的速度或所述区域围绕所述旋转轴线旋转的方向。
13.根据权利要求12所述的系统,其中所述视觉体验是包括响应于所述旋转标记的第一游戏物件和第二游戏物件的交互式游戏,所述可调节特征包括与一个旋转方向对应的所述第一游戏物件的目标状态,以及与另一旋转方向对应的所述第一游戏物件的回避状态,并且所述处理器被进一步配置为:
识别所述查看电子设备的移动;
通过响应于所识别的移动而定位所述第二游戏物件来进一步更新所述视觉体验;以及
响应于所述可调节特征是处于所述第一状态还是处于所述第二状态,对所述第一游戏物件和所述第二游戏物件之间的交互进行评分。
14.根据权利要求12所述的系统,其中所述视觉体验是交互式游戏,所述交互式游戏包括第一游戏物件和响应于所述旋转标记的多个可选择目标,所述可调节特征包括所述多个可选择目标中的一个或多个可选择目标的选择状态,所述选择状态对应于所述旋转方向和所述旋转角度,所述显示器是触摸屏显示器,并且所述处理器被进一步配置为:
检测所述查看电子设备的所述触摸屏显示器上在所述多个可选择目标中的一个可选择目标上或与所述一个可选择目标相邻的输入;以及
响应于所述多个可选择目标中的所述一个可选择目标的所述选择状态而对所检测到的输入进行评分。
15.根据权利要求12所述的系统,其中所述视觉体验是艺术视觉媒体,所述可调节特征包括与所述旋转速度对应的辐射图像,并且所述处理器被进一步配置为:
确定所述旋转速度;以及
通过响应于所确定的旋转速度而改变所述辐射图像来进一步更新所述视觉体验。
16.根据权利要求10所述的系统,其中所述处理器被进一步配置为:
在所述查看电子设备处检测所述旋转标记的另一参数,所述另一参数对应于所述视觉体验;以及
响应于所检测到的另一参数,从多个视觉体验中的一个视觉体验中选择要呈现的所述视觉体验。
17.根据权利要求10所述的系统,其中所捕获的图像还包括视觉体验标识符,并且所述处理器被进一步配置为:
检测所捕获的图像中的所述视觉体验标识符;
响应于所检测到的视觉体验,从多个视觉体验中的一个视觉体验中选择要呈现的所述视觉体验。
18.根据权利要求10所述的系统,其中所述标记包括具有第一半径的第一圆和具有第二半径的第二圆,所述第二圆小于所述第一圆,其中所述第二圆与所述第一圆的周边相邻。
19.一种非暂态计算机可读介质,所述非暂态计算机可读介质包括指令,所述指令在由系统的处理器执行时将所述系统配置为:
用查看电子设备的相机捕获旋转标记的图像,所述旋转标记呈现在远程设备的视频屏幕上;
在所述查看电子设备的显示器上呈现视觉体验,所述视觉体验具有可调节特征;
在所述查看电子设备处检测所述旋转标记的参数,所述参数对应于所述可调节特征;以及
响应于所检测到的参数来更新在所述显示器上呈现的所述视觉体验。
20.根据权利要求19所述的非暂态计算机可读介质,其中所述视觉体验是包括响应于所述旋转标记的第一游戏物件和第二游戏物件的交互式游戏,所述可调节特征包括与一个旋转方向对应的所述第一游戏物件的目标状态,以及与另一旋转方向对应的所述第一游戏物件的回避状态,并且所述指令在由所述系统的所述处理器执行时将所述系统进一步配置为:
识别所述查看电子设备的移动;
通过响应于所识别的移动而定位所述第二游戏物件来进一步更新所述视觉体验;以及
响应于所述可调节特征是处于所述第一状态还是处于所述第二状态,对所述第一游戏物件和所述第二游戏物件之间的交互进行评分。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/136,843 US11383156B1 (en) | 2020-12-29 | 2020-12-29 | Multi-user AR experience with offline synchronization |
US17/136,843 | 2020-12-29 | ||
PCT/US2021/060339 WO2022146579A1 (en) | 2020-12-29 | 2021-11-22 | Multi-user ar experience with offline synchronization |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116669823A true CN116669823A (zh) | 2023-08-29 |
Family
ID=78957712
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180088203.9A Pending CN116669823A (zh) | 2020-12-29 | 2021-11-22 | 具有离线同步的多用户ar体验 |
Country Status (5)
Country | Link |
---|---|
US (2) | US11383156B1 (zh) |
EP (1) | EP4272178A1 (zh) |
KR (1) | KR20230127295A (zh) |
CN (1) | CN116669823A (zh) |
WO (1) | WO2022146579A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11383156B1 (en) | 2020-12-29 | 2022-07-12 | Snap Inc. | Multi-user AR experience with offline synchronization |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8547401B2 (en) * | 2004-08-19 | 2013-10-01 | Sony Computer Entertainment Inc. | Portable augmented reality device and method |
US9421460B2 (en) * | 2010-08-31 | 2016-08-23 | Sony Interactive Entertainment Inc. | Offline Progress of console game via portable device |
US9480913B2 (en) * | 2011-01-26 | 2016-11-01 | WhitewaterWest Industries Ltd. | Interactive entertainment using a mobile device with object tagging and/or hyperlinking |
US20130137509A1 (en) * | 2011-11-30 | 2013-05-30 | Igt | Communications to gaming machines using optically formatted data |
US20150011309A1 (en) * | 2013-07-03 | 2015-01-08 | Raw Thrills, Inc. | QR Code Scoring System |
DK180058B1 (en) * | 2018-07-06 | 2020-02-27 | Lego A/S | toy system |
CN106981000B (zh) * | 2016-10-13 | 2020-06-09 | 阿里巴巴集团控股有限公司 | 基于增强现实的多人线下交互、点餐方法及系统 |
JP6535801B1 (ja) | 2018-10-16 | 2019-06-26 | 株式会社九州コーユー | 拡張現実表示システム、拡張現実表示方法及びプログラム |
US11127247B2 (en) * | 2018-10-23 | 2021-09-21 | Igt | System and method for utilizing mobile device to provide inputs in a gaming environment |
US11756291B2 (en) * | 2018-12-18 | 2023-09-12 | Slyce Acquisition Inc. | Scene and user-input context aided visual search |
KR20190103083A (ko) | 2019-08-15 | 2019-09-04 | 엘지전자 주식회사 | 딥러닝 기반의 세탁기의 진동 분석 방법과 그 장치 |
EP3798986A1 (en) * | 2019-09-27 | 2021-03-31 | Apple Inc. | Location aware visual markers |
US11383156B1 (en) | 2020-12-29 | 2022-07-12 | Snap Inc. | Multi-user AR experience with offline synchronization |
-
2020
- 2020-12-29 US US17/136,843 patent/US11383156B1/en active Active
-
2021
- 2021-11-22 EP EP21827729.1A patent/EP4272178A1/en active Pending
- 2021-11-22 CN CN202180088203.9A patent/CN116669823A/zh active Pending
- 2021-11-22 KR KR1020237025827A patent/KR20230127295A/ko unknown
- 2021-11-22 WO PCT/US2021/060339 patent/WO2022146579A1/en active Application Filing
-
2022
- 2022-05-31 US US17/828,973 patent/US11918888B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
KR20230127295A (ko) | 2023-08-31 |
US11383156B1 (en) | 2022-07-12 |
WO2022146579A1 (en) | 2022-07-07 |
US20220203223A1 (en) | 2022-06-30 |
US20220288487A1 (en) | 2022-09-15 |
US11918888B2 (en) | 2024-03-05 |
EP4272178A1 (en) | 2023-11-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115552403B (zh) | 用于媒体内容项的私人集合的邀请媒体覆盖物 | |
CN116457829A (zh) | 个性化化身实时运动捕获 | |
CN117957582A (zh) | 将身体网格混合到外部网格中 | |
CN115668119A (zh) | 用于消息收发系统的具有标贴的回复界面 | |
US11833427B2 (en) | Graphical marker generation system for synchronizing users | |
CN116261850A (zh) | 用于实时虚拟效果的骨骼跟踪 | |
CN116438788A (zh) | 媒体内容回放和评论管理 | |
CN116076063A (zh) | 增强现实信使系统 | |
KR20230019927A (ko) | 컨텍스트 전송 메뉴 | |
CN116113991A (zh) | 用于关节动画的运动表示 | |
CN116114258A (zh) | 用于位姿驱动的虚拟效果的用户界面 | |
CN117501675A (zh) | 呈现由消息应用从第三方资源接收的内容 | |
CN116235194A (zh) | 媒体内容传输和管理 | |
CN116724314A (zh) | 生成式对抗网络操纵的图像效果 | |
KR20230022234A (ko) | 컨텍스트 액션 바 | |
CN116034577A (zh) | 上下文应用菜单 | |
US11918888B2 (en) | Multi-user AR experience with offline synchronization | |
US11768587B2 (en) | Electronic transaction activated augmented reality experiences | |
CN116322914A (zh) | 用于增强现实连续性的qr生成系统 | |
CN116235500A (zh) | 生成用于分享到外部应用的媒体内容项 | |
US11973729B2 (en) | System for new platform awareness | |
US20230352054A1 (en) | Editing video captured by electronic devices | |
WO2023211616A1 (en) | Editing video captured by electronic devices using associated flight path information | |
CN118176498A (zh) | 访问基于web的片段以进行显示 | |
CN117136533A (zh) | 用户存在指示数据管理 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |