CN116781853A - 在视频通话中提供共享增强现实环境 - Google Patents

在视频通话中提供共享增强现实环境 Download PDF

Info

Publication number
CN116781853A
CN116781853A CN202310261755.6A CN202310261755A CN116781853A CN 116781853 A CN116781853 A CN 116781853A CN 202310261755 A CN202310261755 A CN 202310261755A CN 116781853 A CN116781853 A CN 116781853A
Authority
CN
China
Prior art keywords
video
shared
client device
space
user
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
Application number
CN202310261755.6A
Other languages
English (en)
Inventor
埃米特·齐扎
达莉亚·安托瓦内特·德尔·里奥·拉佐
马库斯·维尼修斯·巴博萨达席尔瓦
大卫·马克·科恩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Meta Platforms Inc
Original Assignee
Meta Platforms Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority claimed from US17/818,596 external-priority patent/US20230300292A1/en
Application filed by Meta Platforms Inc filed Critical Meta Platforms Inc
Publication of CN116781853A publication Critical patent/CN116781853A/zh
Pending legal-status Critical Current

Links

Abstract

公开了用于实现促进共享增强现实(AR)背景环境的视频通话的系统、方法、客户端设备和非暂态计算机可读介质。特别地,所公开的系统可以在多个客户端设备之间建立视频通话。另外,所公开的系统可以使客户端设备能够将经由客户端设备上的视频采集的一个或多个参与者从所采集的背景中分割出来。此外,所公开的系统可以使客户端设备能够渲染AR背景环境来代替分割的背景,以将一个或多个参与者的采集的视频放置在共享AR背景空间内,以创建视频通话的多个参与者出现在同一位置(或设置)的感知。此外,所公开的系统可以使客户端设备能够将AR环境渲染为共享360AR环境,该共享360AR环境在参与视频通话的多个客户端设备上呈现同步的360AR空间和/或AR效果。

Description

在视频通话中提供共享增强现实环境
相关申请的交叉引用
本申请要求要求于2022年8月9日提交的、名称为“在视频通话中提供共享增强现实环境”的第17/818,596号美国非临时申请的权益和优先权、以及于2022年3月15日提交的、名称为“为视频通话提供360度增强现实环境”的第63/269,400号美国临时申请的权益和优先权,这两个申请的内容通过引用全部结合于此。
技术领域
本公开总体上涉及视频通话系统。
背景技术
视频通话系统允许用户经由计算设备(例如,智能手机、笔记本电脑、平板电脑、台式计算机)通过使用音频和视频输入(例如,内置数字摄像头、数字网络摄像头)进行电子通信。实际上,近年来通过视频通话和视频会议的电子通信有所增加,视频通话和视频会议使多个用户能够经由计算设备进行通信,以彼此共享用户的视频和音频这两者。然而,传统视频通话系统通常局限于非交互式视频通话,所述非交互式视频通话简单且严格地使用户设备能在用户设备之间呈现和观看所采集的视频。
发明内容
本公开的实施例使用如下的系统、非暂态计算机可读介质和方法,来提供多种优点和/或解决本领域中的前述或其他问题中一个或多个问题:所述系统、非暂态计算机可读介质和方法实现了有利于共享360增强现实(augmented reality,AR)背景环境的视频通话。特别地,在一个或多个实施例中,所公开的系统可以在多个客户端设备之间建立视频通话。另外,所公开的系统可以使客户端设备能够将经由客户端设备上的视频所采集的一个或多个参与者从所采集的背景中分割出来。此外,所公开的系统可以使客户端设备能够渲染AR背景环境(例如,球状360度AR背景环境)来替换所分割出的背景,以将该一个或多个参与者的所采集视频置于共享背景环境(或空间)内,从而创建如下的感知:视频通话的参与者出现在同一位置(或具有同一设置)。此外,所公开的系统可以使客户端设备能够将AR环境渲染为共享AR环境,该共享AR环境在参与视频通话的多个客户端设备上渲染(例如,利用AR数据信道渲染)同步的AR空间和/或AR效果。
另外,所公开的系统可以使客户端设备能够跟踪参与者的移动和/或客户端设备的移动,并且基于所跟踪的移动来更新对AR背景环境的渲染。例如,所公开的系统可以使客户端设备能够渲染多视点AR背景环境,以在客户端设备检测到客户端设备和/或参与者的移动时,显示AR背景环境的不同视点(或不同部分),从而模拟从360度视角可视的AR背景环境。
此外,所公开的系统可以利用专用的增强现实数据信道来实现共享增强现实视频通话,这有利于在视频通话期间共享增强现实元素并与增强现实元素交互。例如,所公开的系统可以在多个客户端设备之间建立视频通话,该视频通话包括视频(和音频)数据信道和AR数据信道。此外,在一个或多个实施例中,所公开的系统使该多个客户端设备中的一个客户端设备能够经由AR数据信道发送AR数据(例如,AR元素标识符、AR元素信息、逻辑数据对象、对象向量、参与者标识符),以使另一客户端设备在该另一客户端设备所采集的视频上渲染AR元素。例如,所公开的系统还可以使用AR数据信道在参与视频通话的多个客户端设备之间实现共享AR背景环境。
在随后的描述中概述了本公开一个或多个实施例的附加特征和优势,这些附加特征和优势将部分地从该描述中显而易见,或者可以通过对这些示例实施例进行实践而获知。
附图说明
参考附图对具体实施方式进行描述,在附图中:
图1示出了根据一个或多个实施方式的示例环境,共享AR视频通话系统可在该示例环境中运行。
图2示出了根据一个或多个实施方式的共享AR视频通话系统在多个参与者设备之间建立并促进具有共享AR背景环境的共享AR视频通话的示例。
图3示出了根据一个或多个实施方式的共享AR视频通话系统促进具有共享AR背景环境的共享AR视频通话的流程图。
图4示出了根据一个或多个实施方式的共享AR视频通话系统利用分割模型从用于共享AR背景环境的视频生成分割出的用户部分。
图5A和图5B示出了根据一个或多个实施方式的共享AR视频通话系统在客户端设备中实现对共享AR背景环境的初始化。
图6示出了根据一个或多个实施方式的共享AR视频通话系统使客户端设备能够显示所发起的共享AR背景环境的通知。
图7示出了根据一个或多个实施方式的共享AR视频通话系统实现对共享AR背景环境的基于移动的改变。
图8示出了根据一个或多个实施方式的共享AR视频通话系统实现发起具有持久共享AR背景环境的视频通话。
图9示出了根据一个或多个实施方式的共享AR视频通话系统使客户端设备能够修改用于实现视频流的视频界面布局。
图10示出了根据一个或多个实施方式的共享AR视频通话系统使客户端设备能够修改用于实现菜单界面的视频界面布局。
图11示出了根据一个或多个实施方式的共享AR视频通话系统使客户端设备能够在共享AR背景环境视频通话中对AR化身进行分层。
图12示出了根据一个或多个实施方式的共享AR视频通话系统将视频通话参与者的所采集视频定位在共享AR空间内。
图13示出了根据一个或多个实施方式的共享AR视频通话系统使客户端设备能够利用用户交互而在共享AR空间内导航用户。
图14示出了根据一个或多个实施方式的共享AR视频通话系统使客户端设备能够在共享AR空间内渲染视频通话参与者。
图15A和图15B示出了根据一个或多个实施方式的共享AR视频通话系统使客户端设备能够显示用于访问扩展现实环境的可选选项。
图16A至图16C示出了根据一个或多个实施方式的共享AR视频通话系统使客户端设备能够渲染扩展现实环境,作为AR空间。
图17示出了根据一个或多个实施方式的共享AR视频通话系统接收用户交互以修改共享AR背景环境。
图18是根据一个或多个实施方式的用于实现视频通话的一系列动作的流程图,所述视频通话促进了共享增强现实(AR)背景环境。
图19示出了根据一个或多个实施方式的示例计算设备的框图。
图20示出了根据一个或多个实施方式的网络系统的示例环境。
图21示出了根据一个或多个实施方式的示例社交图谱。
具体实施方式
本公开描述了共享增强现实(AR)视频通话系统的一个或多个实施例,该共享AR视频通话系统建立了促进共享增强现实(AR)背景环境(例如,360度视角共享AR背景环境)的视频通话,以创建如下感知:视频通话的参与者出现在同一位置(或具有同一设置)。例如,共享AR视频通话系统可以使客户端设备能够将经由客户端设备上的视频采集的一个或多个参与者从视频内所描绘的背景中分割出来。此外,共享AR视频通话系统可以使客户端设备能够渲染AR背景环境,以替换分割出的背景。AR背景环境包括共享AR背景环境内的该一个或多个参与者的所采集视频,该共享AR背景环境利用参与者的移动和/或客户端设备的移动而可从多个视角(例如,360度、270度)查看。此外,共享AR视频通话系统可以使客户端设备能够渲染如下的共享AR背景环境(例如,利用AR数据信道和/或在每个客户端设备上单独渲染相同的AR背景环境):所述共享AR背景环境在参与视频通话的多个客户端设备上同步。
在一些实例中,共享AR视频通话系统建立视频通话,所述视频通话在视频通话期间促进共享AR背景环境。在一些情况下,共享AR视频通话系统使客户端设备能够将所采集的视频内的背景与参与者分割开,并渲染共享AR背景环境来替换所分割的背景(例如,将视频的分割出的用户部分置于共享AR背景环境内)。在一个或多个实施例中,共享AR视频通话系统使客户端设备能够利用客户端设备的移动和/或参与者的移动,来从各种视角渲染共享AR背景环境(例如,作为360度背景空间)。此外,共享AR视频通话系统可以使客户端设备能够在视频通话期间,向其他参与者客户端设备(也称为参与者设备)提供具有共享AR背景环境的参与者的视频流。
在某些实例中,共享AR视频通话系统使视频通话的各客户端设备能够各自渲染共享AR背景环境,以在多个参与者客户端设备上同步背景空间。实际上,共享AR视频通话系统使客户端设备能够经由AR数据信道,向视频通话中的其他参与者设备发送与AR背景环境相对应的数据,使得AR背景环境在多个参与者设备上同步。例如,第一参与者设备可以在共享360AR背景环境(或三维共享AR背景环境)的第一部分内渲染第一参与者的所采集视频,而第二参与者设备可以在共享360AR背景环境的第二部分内渲染第二参与者的所采集视频。
举例而言,共享AR视频通话系统可以建立增强现实数据信道,以实现共享增强现实视频通话,所述共享增强现实视频通话促进在视频通话期间在多个客户端设备之间共享增强现实元素和/或360AR背景环境,且促进与增强现实元素和/或360AR背景环境的交互。特别地,在一个或多个实施例中,共享AR视频通话系统为多个客户端设备之间的视频通话建立视频数据信道和AR数据信道。实际上,在一个或多个实施例中,共享AR视频通话系统使正在进行视频通话的客户端设备能够经由AR数据信道发送(或共享)AR数据,使得该视频通话促进共享AR元素和/或交互式AR对象,以在视频通话期间在多个客户端设备之间实现共享AR环境场景(例如,AR背景环境)、AR效果、和/或基于AR的游戏。
在一个或多个实施例中,共享AR视频通话系统建立(或利用)用于共享AR视频通话的多对等(multi-peer)应用程序编程接口(application programming interface,API),该多对等应用程序编程接口使客户端设备能够在视频通话期间发送(和接收)除视频数据和音频数据之外的AR数据。例如,共享AR视频通话系统使参与者客户端设备能够经由AR数据信道发送(和接收)AR标识符(也称为AR元素标识符),所述AR标识符提供如下指令(或其他信息):所述指令(或其他信息)用于使得在客户端设备的所采集视频内渲染一个或多个AR元素。实际上,共享AR视频通话系统可以使客户端设备能够利用AR数据信道,在多个参与者客户端设备上同步共享AR背景环境(如以上所描述的)。
在一个或多个实施例中,共享AR视频通话系统使客户端设备能够在视频通话期间提供各种可选AR背景环境,以经由菜单选项界面显示。一经接收到对可选AR背景环境的选择,共享AR视频通话系统就使视频通话中的各参与者客户端设备能够渲染共享AR背景环境,以替换多个参与者客户端设备中的每个参与者客户端设备上的所采集视频中的所分割的背景。此外,共享AR视频通话系统还可以使客户端设备能够经由吐司提示(toast)和/或通知显示来通知:视频通话中的参与者设备已经改变或修改了所选择的AR背景环境(除了渲染新的所选择的AR背景环境之外)。
在一些实例中,共享AR视频通话系统在多次视频通话之间维持参与者(或参与者的客户端设备)之间的持久共享AR背景环境。特别地,共享AR视频通话系统可以保存(或记住)共享AR背景环境选择和/或对参与者设备之间的共享AR背景环境的修改。然后,一经通过参与者设备接收到或发起与同一些参与者设备的视频通话,共享AR视频通话系统就可以发起具有所保存的共享AR背景环境的视频通话。此外,共享AR视频通话系统还可以使参与者设备之间的视频通话能够包括共享AR背景环境(来自历史视频通话)中的各种AR效果(或AR对象)和/或各种其他修改。
另外,共享AR视频通话系统还可以使客户端设备能够在视频通话期间在显示具有AR背景环境的参与者的同时,修改视频通话界面布局。例如,共享AR视频通话系统可以在视频通话期间在显示具有AR背景环境的参与者的同时,将视频通话界面布局修改为呈现(或显示)各种附加功能或风格偏好。举例而言,共享AR视频通话系统可以将视频通话界面布局修改为,显示媒体流(例如,电影流、具有信息的音乐流)、视频游戏(例如,在视频通话期间可玩的视频游戏)、菜单选项、和/或视频布局呈现风格(例如,参与者视频处于移动气泡内部,参与者视频跳动)。
此外,共享AR视频通话系统可以使客户端设备能够利用分层来渲染AR背景环境和在视频通话中采集的参与者的化身。例如,共享AR视频通话系统可以使客户端设备能够采集参与者的视频并且将参与者渲染为视频通话内的化身。另外,共享AR视频通话系统还可以使客户端设备能够将AR背景环境(使用基于移动的变化的视点)渲染为视频通话内的经渲染的化身的背景。
在一个或多个实施例中,共享AR视频通话系统可以使客户端设备在AR场景内施加视频通话的参与者的视频(例如,视频通话的参与者被描绘为处于360AR场景内)。作为示例,在一些情况下,共享AR视频通话系统还可以使客户端设备能够利用来自另一客户端设备的视频处理,来与AR背景环境并存地施加视频纹理(在视频通话期间),所述视频纹理将视频通话的参与者描绘为AR效果。例如,共享AR视频通话系统可以使正在进行视频通话的客户端设备能够发送(或共享)视频处理数据,以促进一客户端设备在视频通话中的AR效果内渲染(本地渲染)视频通话的参与者的视频纹理,同时还渲染AR背景环境。在某些实现方式中,共享AR视频通话系统可以使客户端设备将视频通话呈现为AR场景,其中视频通话的参与者被描绘为处于AR场景内(作为视频纹理),而不是简单地在客户端设备之间呈现所采集的视频。
此外,在一个或多个实例中,共享AR视频通话系统可以使客户端设备能够接收来自视频通话的参与者的用户交互,以与AR背景环境交互和/或修改AR背景环境。例如,共享AR视频通话系统可以使客户端设备能够通过在AR背景环境内插入视觉效果(或对象)来修改AR背景环境(经由用户交互),这些视觉效果例如但不限于,绘画、绘图、文字、文本、AR对象(例如,AR家具、AR车辆、AR动物)。此外,根据本文中的一个或多个实施方式,共享AR视频通话系统还可以使客户端设备能够经由AR数据信道而利用各种其他共享AR效果(例如,共享AR对象、AR对象移动、AR环境、AR游戏)。
在一个或多个实施例中,共享AR视频通话系统还使客户端设备能够将AR空间(以及视频通话参与者的视频纹理)作为AR背景环境渲染在该客户端设备上的自身视图缓冲器内。例如,客户端设备可以渲染AR空间(例如,作为环境空间)并将视频通话中的参与者的所采集视频定位为该AR空间内的元素(例如,作为视频单元)。举例而言,共享AR视频通话系统可以使客户端设备能够:渲染描绘了三维房间的AR空间,并将所采集视频(视频通话中的所采集视频)的视频单元定位在该AR空间内(例如,以仿真或描绘视频通话的参与者正出现在同一房间或空间中)。
如以上所提及的,共享AR视频通话系统提供了优于传统系统的许多技术优势和益处。例如,共享AR视频通话系统可以在多个参与者设备之间建立和实现动态且灵活的视频通话,所述视频通话包括共享和交互式AR内容。实际上,与如下的许多传统视频通话系统不同:这些传统视频局限于渲染由参与者设备针对所采集的视频而选择的AR效果,且向其他客户端设备流式传输描绘了非交互式的(重叠的)AR效果的所采集的视频,共享AR视频通话系统使得参与者设备能够发起多种AR效果(和/或其他AR元素),这些AR效果使得视频通话中的其他参与者设备也渲染共享的AR效果。
作为一示例,通过在视频通话期间利用多个参与者设备之间的AR数据信道,共享AR视频通话系统使该多个参与者设备能够在该多个参与者设备之间共享AR数据(例如,AR元素、以及与所述AR元素相对应的空间属性)。通过在视频通话期间实现对AR数据的共享,共享AR视频通话系统促进了视频通话内的各种AR效果和AR元素。例如,共享AR视频通话系统使AR元素能够:在对来自多个参与者设备的所采集视频的渲染之间自由流动,同时也对该多个参与者设备所检测到的交互作出响应。实际上,在一个或多个实施例中,共享AR视频通话系统实现对共享360AR背景环境的渲染,该共享360AR背景环境对交互作出响应,并且模拟视频通话的参与者的真实世界空间。
除了在视频通话期间增加了AR元素在多个参与者设备上的灵活性和功能性之外,共享AR视频通话系统还在视频通话期间准确地实现了对AR元素的共享和交互。例如,通过利用具有客户端设备层(其在视频通话期间,对经由AR数据信道发送的AR数据进行过滤或获取)的AR数据信道,即使在AR效果由另一客户端设备发起时,各个参与者设备也可以在视频通话期间使用具有其他信息的完整采集的视频(例如,包括脸部追踪信息和摄像头深度信息的非压缩视频)来渲染AR数据。另外,由于对来自AR数据信道的AR数据的利用和过滤,参与者设备可以在视频通话内有效地接收AR数据,而该参与者设备不会被来自视频通话信道的数据淹没,同时发送方参与者设备实时发送AR数据,而无需确定或识别接收方参与者设备。
此外,各个参与者设备可以使用完整采集的视频准确地渲染360AR背景环境,以逼真地将参与者置于360AR空间中,同时经由AR数据信道而与其他参与者设备有效地同步该360AR空间。特别地,共享AR视频通话系统可以准确地分割视频中所采集的参与者,并且将分割出的视频插入到所渲染的AR空间内。实际上,通过分割,共享AR视频通话系统可以在视频通话期间将该视频通话的参与者逼真地插入AR空间内,该AR空间根据参与者客户端设备的移动而改变。另外,共享AR视频通话系统可以通过使客户端设备能够经由AR数据信道来共享对360AR空间的更新,来促进360AR空间在多个客户端设备上的高效同步。
如由前面的论述所示出的,本公开利用各种术语来描述共享AR视频通话系统的特征和优点。现提供关于这些术语的含义的附加细节。例如,如本文中所使用的,术语“视频通话”是指在多个计算设备之间传输视频数据的电子通信。特别地,在一个或多个实施例中,视频通话包括多个计算设备之间的电子通信,这些计算设备传输和呈现在这些计算设备上采集的视频(和音频)。
如本文所使用的,术语“信道”是指用来在多个客户端设备和/或网络之间传递数据(例如,数据包)的介质或流。在一些情况下,术语“视频数据信道”可以指用来在多个客户端设备和/或网络之间传递视频数据的介质或流。实际上,视频数据信道可以在多个客户端设备之间实现对视频数据的连续流的传递,以显示视频(例如,动态图像帧的集合)。在一些情况下,视频数据信道还可以包括用于所采集的视频的音频数据。此外,术语“音频数据信道”可以指用来在多个客户端设备和/或网络之间传递音频数据的介质或流,该介质或流在多个客户端设备之间实现对音频的连续流的传递,以播放音频内容(例如,来自客户端设备的传声器的所采集的录音)。
另外,如本文所使用的,术语“增强现实数据信道”是指用来在多个客户端设备和/或网络(用于视频通话)之间传递AR数据的介质或流。例如,术语“增强现实数据信道”可以在多个客户端设备之间实现对AR数据(例如,AR元素、AR环境场景、与AR的交互、AR对象向量)的连续流(和/或情境传输和/或请求)的传递,以在该多个客户端设备之间传送AR内容、以及与AR内容的交互。在一些情况下,共享AR视频通话系统利用诸如JavaScript对象表示法(JavaScript Object Notation,JSON)、实时协议(real time protocol,RTP)和/或可扩展标记语言(extensible markup language,XML)等数据交换格式写入AR数据、发送AR数据、从AR数据信道接收AR数据和/或从AR数据信道读取AR数据。
如本文所使用的,术语“增强现实元素”(有时称为“增强现实对象”)是指由计算设备(例如,智能手机或头戴式显示器)在真实世界的视频(例如,实时视频馈送)(例如,采集了视频通话中的真实世界环境和/或用户的视频)上显示(或施加)的视觉内容(二维和/或三维)。特别地,术语“增强现实元素”可以包括在计算设备上(或内)显示的图形对象、数字图像、数字视频、文本、和/或图形用户界面,该计算设备也渲染视频或其他数字媒体。例如,增强现实元素可以包括图形对象(例如,三维和/或二维对象),该图形对象是交互式的、可操纵的、和/或被配置为与计算设备的视频中所采集的环境(或人)逼真地交互(例如,基于用户交互、移动、点亮、阴影)。实际上,在一个或多个实施例中,AR元素可以修改视频的前景和/或背景,和/或修改视频的滤镜。
如本文所使用的,术语“增强现实标识符”是指对特定AR元素进行指代或寻址的信息。特别地,术语“增强现实标识符”可以包括指代特定AR元素的值(例如,数字、字母数字、地址、API调用)。例如,一经接收到AR标识符,参与者设备就可以利用该AR标识符从AR元素的存储器和/或库(例如,在视频通话期间,在参与者设备上下载的、和/或在云服务上可访问的)中检索和/或识别特定AR元素。
另外,如本文所使用的,术语“增强现实环境场景”(有时称为共享增强现实场景)是指一个或多个增强现实元素,该一个或多个增强现实元素是交互式的、可操纵的、和/或被配置为彼此逼真地交互和/或与在计算设备上检测到的用户交互逼真地交互。在一些实施例中,增强现实环境场景包括修改和/或描绘图形环境的一个或多个增强现实元素,该图像环境代替计算设备的视频中所采集的真实世界环境。作为一示例,共享AR视频通话系统可以渲染增强现实环境场景,以将视频通话中的一个或多个参与者描绘为在计算设备的所采集的视频内的图形环境内(例如,在空间中、在水下、在篝火处、在森林中、在海滩处)。在一些情况下,共享AR视频通话系统还使增强现实环境场景内的多个增强现实元素能够是交互式的、可操纵的、和/或被配置为与在多个参与者设备上检测到的用户交互逼真地交互。
另外,增强现实环境场景可以包括增强现实背景环境。如本文所使用的,术语“增强现实环境场景”(有时称为具有不同视点角度的三维共享增强现实空间、或者称为360增强现实背景环境)是指一个或多个增强现实元素,该一个或多个增强现实元素描绘了作为360°空间(或各种其他多视图空间)的图形环境,该图形环境代替计算设备的视频中所采集的真实世界环境中的背景。例如,共享AR视频通话系统可以使客户端设备在视频内渲染表示360度空间(例如,具有屏幕上渲染的背景和背景的屏幕外部分)的360增强现实背景环境,作为参与者的背景。另外,当检测到参与者客户端设备(或参与者客户端设备上的视频中所采集的参与者)的移动时,共享AR视频通话系统可以使客户端设备渲染360增强现实背景环境的360度空间的不同部分。作为一示例,360AR背景环境可以包括描绘了多个空间的360AR空间,这些空间例如为虚拟办公室空间、虚拟海滩房屋、虚拟城市、虚拟空间站、虚拟博物馆、和/或虚拟水族馆。在一个或多个实施例中,360AR背景环境(或共享增强现实背景空间)可以包括二维环境和/或三维环境这两者。
此外,术语“分割”是指如下的基于计算机的过程:识别图像(或视频)内的多个特定区域(或部分),并使这些特定区域(或部分)分离。例如,在一个或多个实施例中,共享AR视频通话系统可以使客户端设备能够将视频的背景与视频的前景(例如,描绘了显著主题的前景,该显著主题例如为人以生成分割出的用户部分)分割开。在一些情况下,共享AR视频通话系统可以使客户端设备能够将视频内描绘的参与者用户与视频的背景分割开,以生成如下视频层:该视频层描绘了具有透明背景的参与者用户(即,分割出的用户部分)。在一个或多个实例中,共享AR视频通话系统可以使客户端设备能够利用各种图像(或视频)处理工具来执行分割,这些图像(或视频)处理工具例如但不限于,基于机器学习的分割模型或分类器(例如,卷积神经网络、生成对抗神经网络)。
此外,如本文所使用的,术语“增强现实效果”是指一个或多个增强现实元素,该一个或多个增强现实元素呈现(或显示)交互式图形动画、可操纵图像动画和/或空间感知图形动画。特别地,术语“增强现实效果”可以包括如下图形动画:该图形动画与视频内所采集的人(或用户)或所采集的场景(或环境)逼真地交互,使得该图形动画看起来逼真地存在于所采集的视频内的人的环境(例如,基于图形的环境或在视频中采集的环境)内。作为一示例,增强现实效果可以包括图形化五彩碎屑、由视频通话参与者佩戴的图形化帽子、对在视频通话内所采集的人的修改(例如,佩戴面罩、改变参与者用户在视频通话中的外观、改变服装、添加图形化配饰、面部交换)、和/或图形化角色、对象(例如,车辆、植物、建筑物)。
在一些情况下,AR元素可以包括视觉内容(二维的和/或三维的),该视觉内容由计算设备(例如,智能手机或头戴式显示器)在真实世界的视频(例如,采集真实世界环境和/或视频通话中的用户的视频)(例如,实时视频馈送)上显示(或施加)。特别地,AR元素可以包括在如下计算设备上(或计算设备内)显示的图形对象、数字图像、数字视频、文本、和/或图形用户界面:该计算设备也正在渲染视频或其他数字媒体。例如,AR元素可以包括图形对象(例如,三维对象和/或二维对象),该图像对象是交互式的、可操纵的、和/或被配置为与基于图形的环境或在计算设备的视频中所采集的环境(或人)逼真地交互(例如,基于用户交互、移动、点亮、阴影)。实际上,在一个或多个实施例中,AR元素可以修改视频的前景和/或背景,和/或修改视频的滤镜。
如本文中所进一步使用的,术语“增强现实对象向量”是指如下数据的集合:所述数据表示AR元素(例如,图形化AR对象)的空间信息。特别地,术语“增强现实对象向量”可以包括方向值(例如,二维和/或三维坐标、角度)和/或幅度值(例如,表示速度和/或加速度)。实际上,在一个或多个实施例中,共享AR视频通话系统利用AR对象向量来确定AR元素的移动方向。
如本文中所进一步使用的,术语“参与者标识符”是指如下值:该值指向或唯一地识别电子通信(例如,视频通话)内的参与者设备(或参与者)。例如,共享AR视频通话系统利用参与者标识符,来确定所发送的AR标识符或AR元素的接收方参与者设备。在一些实例中,参与者设备包括具有AR元素或AR标识符的参与者标识符,该参与者标识符用于在发送AR元素或AR标识符时指定主参与者设备。随后,主参与者设备可以检测参与者标识符,并因此利用AR元素或AR标识符在所采集的视频内渲染AR环境(例如,在确定参与者标识符与分配给主参与者设备的标识符匹配时)。
如本文中所进一步使用的,术语“用户交互”是指由参与者设备经由摄像头、触摸屏和/或计算机外围设备(例如,鼠标、键盘、控制器)检测到的动作或输入。在一些情况下,术语“用户交互”包括与所显示的AR元素交互的用户输入。此外,术语“用户交互”可以包括由客户端设备的摄像头检测到的移动交互。例如,移动交互可以包括由摄像头检测到的、用户的物理移动(例如,面部移动、手臂移动、腿部移动),该物理移动与AR元素的位置相交(或相关)。作为一示例,移动交互可以包括但不限于,使用客户端设备摄像头来检测用户轻拍AR元素、击打AR元素、和/或踢AR元素。另外,移动交互可以包括但不限于,使用客户端设备摄像头来检测用户的眼睛睁开、用户在基于AR的对象处进行吹气的动作(例如,吹灭基于AR的蜡烛、吹走基于AR的树叶)、和/或用户进行的咬基于AR的对象的动作(例如,吃基于AR的食物、使用头部移动来移动基于AR的对象)。
如本文所使用的,术语“扩展现实环境”是指如下模拟环境:用户可以将其自身完全或部分地沉浸于该模拟环境中。例如,扩展现实环境可以包括虚拟现实、增强现实等。扩展现实环境可以包括用户可与之交互的对象和元素。通常,用户使用客户端设备(例如,专用的扩展现实设备)来参与虚拟环境。
如本文所使用的,术语“扩展现实设备”是指具有扩展现实能力和/或特征的计算设备。特别地,扩展现实设备可以指可显示扩展现实图形用户界面的计算设备。扩展现实设备还可以在扩展现实图形用户界面内显示一个或多个视觉元素,并且接收面向这些视觉元素的用户输入。例如,扩展现实设备可以包括但不限于,虚拟现实设备、增强现实设备、或混合现实设备。特别地,扩展现实设备可以包括头戴式显示器、智能手机、或另一计算设备。
如本文中所进一步使用的,术语“化身”(有时称为“数字化身”)是指用户在AR环境内的视觉上的类人的(例如,拟人化)三维表示(或三维人物)。作为一示例,化身可以包括用户的如下三维表示:该三维表示提供了用户在AR环境内的逼真(例如,准确的、栩栩如生的和/或真实感的)描绘。另外,化身也可以包括用户的如下三维表示:该三维表示提供了用户在AR环境内的简化(例如,动画、漫画状、卡通状)描绘。
此外,如本文所使用的,术语“视频处理数据信道”是指用于在多个客户端设备和/或网络(用于视频通话)之间传递视频处理数据的介质或流。例如,术语“视频处理数据信道”可以实现在多个客户端设备之间传送视频处理数据的连续流(和/或情境传输和/或对视频处理数据的请求),以传送来自对在单独客户端设备级处采集的(原始)视频的分析的数据。在一些实施方式中,共享AR视频通话系统利用诸如JavaScript对象表示法(JSON)、实时协议(RTP)和/或可扩展标记语言(XML)等数据交换格式,来写入视频处理数据、发送视频处理数据、从视频处理数据信道接收和/或读取视频处理数据。
同样如本文所使用的,术语“视频处理数据”是指表示视频的属性的数据。特别地,术语“视频处理数据”可以指表示视频内所描绘的一个或多个对象的属性或特性的数据。例如,视频处理数据可以包括面部跟踪(或面部识别)数据,该面部跟踪(或面部识别)数据指示视频内所描绘的一个或多个面部的特征和/或属性(例如,表示所描绘面部的结构的向量和/或点、用于定位所描绘面部的边界框数据、所描绘面部的像素坐标)。另外,视频处理数据可以包括分割数据和/或掩模数据,该分割数据指示背景像素和/或前景像素(例如,显著性(saliency)),该掩模数据利用每像素的二进制(或强度值)来表示视频帧的各个层(例如,以区分或聚焦于帧中所描绘的对象,例如头发、人、面部、和/或眼睛)。
在一些情况下,共享AR视频通话系统可以根据视频数据和视频处理数据,生成(或使客户端设备生成)组合视频数据。例如,在一些情况下,组合视频数据可以包括分割帧(split frame),该分割帧包括该帧的第一部分中的视频帧(例如,来自原始视频帧的较低分辨率帧)和该帧的第二部分上的视频处理数据(例如,分割掩模、面部跟踪像素)。在一个或多个实施方式中,组合视频数据可以包括多个交替的帧,其中第一帧包括视频帧,而第二后续视频帧包括视频流中的视频处理数据。
另外,视频处理数据可以包括阿尔法通道数据,该阿尔法通道数据指示视频帧内所表示的各种颜色通道的透明度。此外,视频处理数据可以包括参与者元数据,该参与者元数据可以对各个参与者进行分类、标记各个参与者(例如,使用参与者标识符)、标记参与者名称、标记参与者的状态和/或标记参与者的数量。视频处理数据也可以包括视频流的元数据(例如,视频分辨率、视频格式、摄像头焦距、摄像头孔径尺寸、摄像头传感器尺寸)。实际上,共享AR视频通话系统可以使客户端设备能够发送如下的视频处理数据:该视频处理数据指示视频的各个方面和/或特性、或视频内所描绘的对象的各个方面和/或特性。
如本文所使用的,术语“视频纹理”是指图形表面,该图形表面应用于计算机图形对象以将计算机图形对象与视频叠加。在一个或多个实施例中,术语“视频纹理”是指从视频生成的计算机图形表面,该计算机图形表面将视频覆盖或叠加(即,映射)到基于图形的对象(三维对象或场景、静态图像、或二维动画或场景)上。在一些实施例中,共享AR视频通话系统使客户端设备能够将视频渲染为AR效果内的视频纹理,使得该视频纹理描绘了被叠加到AR场景(或环境)内的AR效果上的、参与者的所采集视频。
现将参考附图提供关于共享AR视频通话系统的附加细节。例如,图1示出了示例性系统环境(“环境”)100的示意图,共享增强现实视频通话系统104(也称为“共享AR视频通话系统104”)可以在该环境100中实现。如图1所示,环境100包括一个或多个服务器设备102、网络106、以及客户端设备108a和108b-108n。
尽管图1中的环境100被描绘为具有特定数量的部件,但环境100可以具有任何数量的附加部件或任何数量的替代部件(例如,任何数量的服务器设备和/或任何数量的客户端设备,其与共享AR视频通话系统104直接通信、或经由网络106与共享AR视频通话系统104通信)。类似地,尽管图1示出了该一个或多个服务器设备102、网络106、该客户端设备108a和108b-108n的特定布置,但也可以是各种另外的布置。该一个或多个服务器设备102、网络106以及该客户端设备108a和108b-108n可以彼此直接地通信耦接,也可以彼此间接地通信耦接(例如,通过以下关于图20和图21更详细论述的网络106来通信耦接)。此外,该一个或多个服务器设备102和该客户端设备108a和108b-108n可以包括各种计算设备(这些计算设备包括如关于图19和图20所更详细论述的一个或多个计算设备)。
如以上所提及的,环境100包括一个或多个服务器设备102。在一个或多个实施例中,该一个或多个服务器设备102生成、存储、接收和/或发送数字数据,该数字数据包括与视频数据和AR数据有关的数字数据,该视频数据和AR数据用于多个客户端设备(例如,客户端设备108a和108b-108n)之间的视频通话。在一些实施例中,该一个或多个服务器设备102包括数据服务器。在一个或多个实施例中,该一个或多个服务器设备102包括通信服务器或网站托管(web-hosting)服务器。
如图1所示,一个或多个服务器设备102包括网络系统112。特别地,网络系统112可以提供数字平台(例如,扩展现实平台、信使平台、视频通话平台),该数字平台包括网络系统112的用户可通过其连接到彼此和/或彼此交互的功能。例如,网络系统112可以登记用户(例如,客户端设备108a和108b-108n中的一个客户端设备的用户)。网络系统112还可以提供用户可通过其连接到共同用户和/或与共同用户交互的特征。例如,网络系统112可以提供消息传递特征、视频通话特征和/或聊天特征,通过这些特征用户可以与一个或多个共同用户通信。网络系统112还可以生成并提供多个群组和社区,通过这些群组和社区用户可以与共同用户相关联。
在一个或多个实施例中,网络系统112包括社交网络系统,但在其他实施例中,网络系统112可以包括另一类型的系统,该另一类型的系统包括但不限于电子邮件系统、视频通话系统、搜索引擎系统、电子商务系统、银行系统、虚拟实境系统、或使用用户账户的任何数量的其他系统类型。例如,在一些实施方式中,网络系统112经由一个或多个服务器设备102生成和/或获取用于客户端设备(例如,客户端设备108a和108b-108n)的数据。
在网络系统112包括社交网络系统的一个或多个实施例中,网络系统112可以包括用于表示和分析多个用户和概念的社交图谱系统。社交图谱系统的节点存储器可以存储节点信息,该节点信息包括用户的节点、概念的节点和项目的节点。社交图谱系统的边存储器可以存储边信息,该边信息包括多个节点和/或发生在社交网络系统内的多个动作之间的关系。以下关于图20和图21描述了关于社交网络系统、社交图谱、边和节点的进一步细节。
如图1进一步所示,一个或多个服务器设备102包括共享AR视频通话系统104。在一个或多个实施例中,共享AR视频通话系统104在多个客户端设备之间建立视频数据信道和AR数据信道,以在这些客户端设备之间实现具有共享AR元素的视频通话。实际上,在一个或多个实施例中,共享AR视频通话系统104在该多个客户端设备108a、108b-108n中的各种数量的客户端设备之间建立具有交互式共享AR元素的视频通话。在一些情况下,共享AR视频通话系统104可以实现有利于共享360AR背景环境的视频通话。此外,在一个或多个实施方式中,共享AR视频通话系统104被实现为社交网络系统的一部分,该社交网络系统有利于诸如即时消息传递、视频通话和/或社交网络帖子等电子通信(例如,如关于图20和图21所更详细论述的)。
此外,在一个或多个实施例中,环境100包括客户端设备108a和108b-108n。例如,客户端设备108a和108b-108n可以包括如下的计算设备:所述计算设备能够与共享AR视频通话系统交互,以与一个或多个其他客户端设备进行视频通话(和/或其他电子通信)。实际上,客户端设备108a和108b-108n可以从该客户端设备108a和108b-108n的数字摄像头采集视频,并且还可以利用来自视频通话的AR数据信道的AR数据在所采集的视频内渲染AR元素。此外,在一个或多个实施例中,客户端设备108a和108b-108n可以渲染共享增强现实(AR)背景环境。在一些实施方式中,客户端设备108a和108b-108n包括以下中的至少一种:智能手机、平板电脑、台式计算机、膝上型计算机、头戴式显示设备、或其他电子设备。
另外,在一些实施例中,客户端设备108a和108b-108n中的每个客户端设备与社交网络系统的一个或多个用户账户相关联(例如,如关于图20和图21所描述的)。在一个或多个实施例中,客户端设备108a和108b-108n包括一个或多个应用程序(例如,视频通话应用程序110a和110b-110n),该一个或多个应用程序能够与共享AR视频通话系统104交互(例如,通过发起视频通话、发送视频数据和/或AR数据、和/或接收视频数据和/或AR数据而与共享AR视频通话系统104交互)。此外,视频通话应用程序110a和110b-110n还能够利用视频通话数据和/或AR数据,来在正操作客户端设备的用户的所采集视频内渲染AR元素。在一些实例中,视频通话应用程序110a和110b-110n包括安装在客户端设备108a和108b-108n上的软件应用程序。然而,在其他情况下,视频通话应用程序110a和110b-110n包括网页(web)浏览器或对托管在该一个或多个服务器设备102上的软件应用程序进行访问的其他应用程序。在一些情况下,视频通话应用程序110a和110b-110n可以包括相同的视频通话应用程序和/或多个视频通话应用程序(例如,支持视频通话的两个不同应用程序),上述视频通话应用程序经由跨平台支持来实现多个客户端设备(例如,客户端设备108a和108b-108n)之间的视频通话。在一些情况下,客户端设备108a和108b-108n中的一个或多个客户端设备可以将多个参与者的视频流(使用所采集的视频、共享AR效果和/或360AR背景环境的组合)流式传输到观看方客户端设备,所述观看方客户端设备观看该视频流而不作为该视频流的参与者参与。
共享AR视频通话系统104可以全部地或部分地由环境100中的各个元件实现。实际上,尽管图1示出了共享AR视频通话系统104的实现与该一个或多个服务器设备102有关,但共享AR视频通话系统104的不同组件可以由环境100内的各种设备来实现。例如,共享AR视频通话系统104中的一个或多个(或全部)组件可以由一不同的计算设备(例如,客户端设备108a和108b-108n中的一个)、或与该一个或多个服务器设备102分开的服务器来实现。
如以上所提及的,共享AR视频通话系统104实现促进了共享360AR背景环境的视频通话。实际上,在一个或多个实施例中,共享AR视频通话系统104使得视频通话的一个或多个参与者客户端设备渲染共享360AR背景环境。在一些情况下,共享AR视频通话系统104还使参与者客户端设备在检测到客户端设备的移动时(和/或在检测到通过客户端设备在视频上采集的参与者的移动),显示AR背景空间的不同视点(或不同部分)。
例如,图2示出了共享AR视频通话系统104在多个参与者客户端设备之间建立具有共享360AR背景环境(在视频通话界面内)的视频通话。如图2所示,共享AR视频通话系统104可以使客户端设备214渲染360AR背景环境(或3D共享AR空间),该360AR背景环境(或3D共享AR空间)替换客户端设备214上所采集的视频的背景。例如,如图2所示,共享AR视频通话系统104通过建立视频通话流202而在客户端设备214、客户端设备220(以及客户端设备210)之间建立视频通话,该视频通话流202包括视频数据信道204、音频数据信道206和AR数据信道208。如图2所示,所渲染的360AR背景环境包括360度空间的屏幕上部分216和该360度空间的屏幕外部分218。在一个或多个实施例中,共享AR视频通话系统104在检测到客户端设备214的移动时,可以渲染360度空间的屏幕上部分216和屏幕外部分218中的各个部分。此外,如图2所示,客户端设备220上的所渲染的360AR背景环境还包括3D共享AR空间的屏幕外部分222。
另外,如图2所示,共享AR视频通话系统104使客户端设备(例如,客户端设备214和客户端设备220)能够在视频通话期间渲染共享360AR背景环境。实际上,如图2所示,共享AR视频通话系统104使客户端设备214和220渲染共享360AR背景环境,从而使视频通话的参与者被感知为处于同一空间(或位置)中。
如图2进一步所示,客户端设备214、220(以及210)渲染360AR背景环境,并生成视频流以通过视频通话流202发送。如图2所示,客户端设备214、220(以及210)可以在视频通话期间各自利用视频数据信道204来发送(向其他客户端设备发送)如下参与者的视频流:所述参与者具有在背景中渲染的360AR背景环境。此外,在一些情况下,客户端设备214、220(以及210)可以在视频通话期间各自利用音频数据信道206发送(向其他客户端设备发送)参与者的音频流。
在一些实例中,参与视频通话的每个客户端设备渲染单独的360AR背景环境,并采集视频流以通过视频数据信道发送。特别地,在一些情况下,客户端设备渲染单独的360AR背景环境,这些单独的360AR背景环境描绘了相同的(或类似的)AR背景空间。实际上,共享AR视频通话系统104可以使客户端设备能够渲染单独的360AR背景环境,这些单独的360AR背景环境在多个参与者设备视频上创建类似的AR背景空间,以创建如下感知:视频通话的参与者处于同一空间中。
在一个或多个实施例中,共享AR视频通话系统104使得客户端设备(例如,客户端设备214、220、210)能够将经同步的360AR背景环境渲染为共享360AR背景环境。例如,参考图2,共享AR视频通话系统104可以使客户端设备214、220(以及210)能够利用AR数据信道208来共享与经同步的360AR背景环境相对应的数据。例如,共享AR视频通话系统104可以使参与视频通话的多个客户端设备能够发送(或共享)如下增强现实数据:该增强现实数据用于渲染经同步的360AR背景环境,该增强现实数据例如但不限于,AR元素标识符、AR元素信息、逻辑数据对象、对象向量、和/或参与者标识符(根据本文中的一个或多个实施方式)。
在一些实例中,如图2所示,共享AR视频通话系统104还可以在具有360AR背景环境的视频通话期间,在多个客户端设备之间实现共享AR效果。实际上,如图2所示,共享AR视频通话系统104经由AR数据信道208实现客户端设备214和220之间的共享AR效果(例如,生日五彩碎屑)。在一些情况下,客户端设备可以经由AR数据信道向视频通话中的其他客户端设备发送AR数据(例如,AR标识符),以在视频通话上发起AR效果。另外,在视频通话期间,一经接收到AR数据,一个或多个客户端设备就渲染AR效果(如以上所描述的),同时还渲染360AR背景环境。
例如,共享AR视频通话系统104使参与者客户端设备能够发送(和接收)AR对象向量数据,以提供如下指令(或其他信息):所述指令(或其他信息)用于当正结合接收客户端设备的所采集的视频来渲染AR对象时,确定该AR对象的定位和/或其他空间信息。此外,共享AR视频通话系统104还使参与者客户端设备能够发送(和接收)AR数据,该AR数据例如但不限于:标识符,所述标识符用于指定哪个视频通话参与者设备渲染特定AR元素;和/或选择器,所述选择器为特定AR效果(例如,针对主参与者客户端设备的生日效果)指定主参与者客户端设备。
此外,在一些实施例中,共享AR视频通话系统104建立共享AR视频通话,该共享AR视频通话使客户端设备能够在视频通话期间发送(和接收)AR数据,以在该视频通话中创建或渲染共享AR背景环境(或共享AR环境场景)。例如,共享AR视频通话系统104可以使参与者客户端设备能够在进行视频通话时发送(和接收)AR标识符数据,使得参与者客户端设备各自渲染共享AR背景环境。例如,当参与者客户端设备在视频通话期间发起共享的基于AR的背景环境时(如本文所描述的),参与者客户端设备向视频通话中的一个或多个其他客户端设备发送AR数据。然后,一个或多个其他接收客户端设备利用AR数据在其相应的所采集的视频内渲染该共享的基于AR的背景环境。这样,视频通话中的参与客户端设备渲染AR背景环境,该AR背景环境在视频通话的各单独的参与客户端设备的视频内衔接。
在一些情况下,共享AR视频通话系统104还使参与者客户端设备能够与共享AR背景环境进行交互和/或与AR背景环境中的对象进行交互,使得所述交互反映在各个参与客户端设备中的一个或多个参与客户端设备的共享AR背景环境内。例如,一经与第一参与者客户端设备的所采集的视频中的AR元素交互,第一参与者客户端设备就可以渲染修改后的AR元素(由于交互),并且还向视频通话中的第二参与客户端设备发送用于与AR元素交互的AR数据。当第二参与客户端设备通过视频通话的AR数据信道接收到该AR数据时,该第二参与客户端设备可以渲染修改后的AR元素,以考虑发生在第一参与客户端设备上的交互。
另外,在一些实施例中,共享AR视频通话系统104使AR对象能够在视频通话中、在多个参与者客户端设备之间的共享AR背景环境之中移动或过渡。例如,第一参与者客户端设备可以使用第一采集视频中的AR对象来渲染第一采集视频。然后,第一参与者客户端设备可以检测到第一采集视频中的AR对象正向第一采集视频的观看画面之外的位置移动。第一参与者客户端设备可以经由AR数据信道发送AR数据,该AR数据包括AR对象的信息、AR对象的对象向量、以及AR对象的参与者标识符(例如,用于指示哪个参与者客户端设备将渲染AR对象)。然后,视频通话中的第二参与者客户端设备可以通过AR数据信道接收该AR数据,以利用AR对象的信息、AR对象的对象向量和AR对象的参与者标识符,在第二参与者客户端设备的第二采集视频内渲染AR对象(在多视图共享AR背景环境的一不同位置或部分处)。
此外,在一些实施例中,共享AR视频通话系统104使参与者客户端设备能够在视频通话期间与AR活动交互。例如,参与者客户端设备在视频通话期间通过利用AR数据信道(由共享AR视频通话系统建立),在一个或多个AR活动(例如,基于AR的游戏)的多个客户端设备之间渲染AR对象,并与AR对象交互。作为一示例,第一参与者客户端设备可以在第一参与者客户端设备的第一视频内渲染作为AR游戏的一部分的AR对象(例如,冰球、乒乓球)。然后,在一个或多个实施例中,第一参与者客户端设备可以检测到如下用户交互:该用户交互对AR对象进行修改(例如,移动冰球、移动乒乓球),并且向第二参与者客户端设备发送用于修改后的AR对象的AR数据。随后,第二参与者客户端设备可以检测到AR对象正向由第二参与者客户端设备采集的第二视频过渡,并且可以在第二参与者客户端设备内渲染该AR对象(例如,接收朝向第二参与者设备的用户击打的冰球、接收朝向第二参与者设备的用户击打的乒乓球)。实际上,第一参与者设备和第二参与者设备可以在视频通话期间、在这些设备之间移动AR对象,以与基于AR的游戏交互,同时还渲染共享AR背景环境。
另外,共享AR视频通话系统104可以使参与者客户端设备能够向视频通话中的其他参与者客户端设备发送(和渲染)AR效果。例如,第一参与者客户端设备可以接收对AR效果的选择,并经由AR数据信道向第二参与者客户端设备发送用于该AR效果的AR标识符数据。然后,第二参与者设备可以接收用于该AR效果的AR标识符数据,并且在第二参与者设备的第二采集视频上渲染该AR效果。特别地,在一个或多个实施例中,第二参与者设备可以渲染用于与第二采集视频中所描绘的用户交互的AR效果(例如,描绘了正由所描绘的用户穿戴的生日帽的AR对象、描绘了坐在所描绘的用户的肩膀上的动画角色的AR对象)。
在一些实施例中,共享AR视频通话系统104在视频通话期间利用AR数据信道来促进AR数据的实时传送。例如,在视频通话期间,共享AR视频通话系统104可以建立AR数据信道,该AR数据信道促进了在视频通话期间发送(和接收)附加数据(例如,除视频数据和音频数据之外),以在视频通话期间共享交互式的AR环境、AR效果、基于AR的活动、和/或单独的AR元素。例如,共享AR视频通话系统104可以使客户端设备能够在视频通话期间发送AR数据,该AR数据例如为AR标识符(例如,指向AR元素的AR标识符)、AR元素、AR对象向量(用于AR元素的位置和方向)、与AR元素的用户交互、对AR元素的修改、和/或与AR环境、AR效果、基于AR的活动、和/或单独的AR元素相对应的其他更新。
另外,在一些实例中,视频通话的客户端设备在通过AR数据信道对共享AR背景环境进行共享时,在渲染该共享AR背景环境之前,对该共享AR背景环境(或其他AR元件)进行初始化。特别地,多个客户端设备均可以在渲染共享AR背景环境之前初始化共享AR背景环境。在一个或多个实施例中,一个或多个客户端设备接收AR标识符并且等待直到每个客户端设备初始化了共享AR背景环境,以在视频通话中的多个客户端设备上同步共享的AR体验。实际上,一经初始化,这些客户端设备就可以向其他客户端设备发送(经由AR数据信道发送)如下消息:该消息指示客户端设备已经准备好渲染共享AR背景环境(或者已初始化了共享AR背景环境)。
在一些情况下,客户端设备可以通过检索共享AR背景环境、加载共享AR背景环境和/或下载用于渲染共享AR背景环境的特定AR数据包,来初始化共享AR背景环境。一经接收到来自视频通话中的每个客户端设备的初始化消息,各个客户端设备就可以继续渲染共享AR背景环境。
此外,在一个或多个实施例中,客户端设备(或共享AR视频通话系统104)暂停视频通话的一个或多个视频流,直到在每个参与者客户端设备上完成了共享AR背景环境的初始化。在一些情况下,共享AR视频通话系统104流式传输(或显示)加载屏幕(或加载动画),直到在每个参与者客户端设备上初始化了共享AR背景环境。另外,在一个或多个实施例中,当共享AR背景环境在多个客户端设备上初始化时,共享AR视频通话系统104使这些客户端设备能够经由音频数据信道继续发送和/或接收音频数据,并且在视频通话中播放一个或多个客户端设备的音频。
在一个或多个实施例中,客户端设备可以在视频通话期间,连续在客户端设备之间发送各种数据组合(例如,经由视频数据信道、音频数据信道和/或AR数据信道)。实际上,客户端设备可以在视频通话期间发送以下数据的各种组合:视频数据、音频数据和/或AR数据,以呈现各种AR体验,例如共享AR背景环境。此外,尽管一个或多个实施方式说明了在视频通话内交互的两个客户端设备之间进行数据传输,但共享AR视频通话系统104可以建立如下的视频通话:该视频通话用于在视频通话期间在各种数量的客户端设备之间传输视频数据、音频数据和/或AR数据的各种组合,以呈现各种AR体验。另外,多个客户端设备(参与视频通话的多个客户端设备)中的一个或多个客户端设备可以在视频通话期间通过选择一不同的AR环境、一不同的AR活动和/或一不同的AR效果,来改变共享的AR背景环境、AR活动和/或AR效果。
例如,共享AR视频通话系统104可以如以下文件所描述的那样在视频通话期间建立AR数据信道并实现AR效果(例如,共享AR背景环境):乔纳森·迈克尔·谢尔曼(JonathanMichael Sherman)等人(于2022年2月9日提交)的“利用增强现实数据信道来实现共享增强现实视频通话”的第17/650,484号美国专利申请(下文称为“谢尔曼”),该申请的内容通过引用全部结合于此。
另外,尽管图2示出了参与视频通话的特定数量的客户端设备,但共享AR视频通话系统104可以在各种数量的客户端设备之间建立视频通话。另外,共享AR视频通话系统104也可以使各种数量的客户端设备能够在视频通话期间渲染共享360AR背景环境。
另外,图3示出了共享AR视频通话系统104在多个参与者客户端设备上建立具有共享AR背景环境的视频通话的流程图。例如,如图3所示,在动作302中,共享AR视频通话系统104接收来自客户端设备1的与客户端设备2进行视频通话的请求(例如,发起视频通话的请求)。随后,如图3的动作304所示,共享AR视频通话系统104在客户端设备1和客户端设备2之间建立视频通话(例如,其包括视频数据信道、音频数据信道,以及在一些情况下的AR数据信道)。在一些实例中,共享AR视频通话系统104可以使这些客户端设备能够经由如以上所描述的AR数据信道渲染(或共享)AR背景环境(或AR效果)。
如图3的动作306进一步所示,客户端设备1经由视频数据信道和音频数据信道向客户端设备2发送第一视频流(例如,在客户端设备1上采集的视频流)。此外,如图3的动作308所示,客户端设备2经由视频数据信道和音频数据信道向客户端设备1发送第二视频流(例如,在客户端设备2上采集的视频流)。此外,如图3的动作310所示,客户端设备1渲染第一视频流和第二视频流。类似地,如图3的动作312所示,客户端设备2也渲染第一视频流和第二视频流。
另外,如图3的动作314所示,客户端设备1接收发起AR背景环境的请求。如动作316所示,客户端设备1在AR背景环境的第一部分内渲染分割出的视频(来自第一视频流的分割出的视频)。实际上,如动作316所示,客户端设备1利用分割和AR背景环境选择,在共享AR背景环境的第一部分内渲染第一视频的分割出的用户部分。
如图3的动作318进一步所示,一经接收到客户端设备1发起AR背景环境的指示(例如,如动作314所示),客户端设备2就在AR背景环境的第二部分内渲染分割出的视频(来自第二视频流的分割出的视频)。实际上,如动作318所示,客户端设备2利用分割和AR背景环境选择(来自客户端设备1),在共享的AR背景环境的第二部分内渲染第二视频的分割出的用户部分。
此外,如动作320所示,客户端设备1在视频通话期间向客户端设备2发送具有经渲染的AR背景环境的第一视频流。类似地,如动作322所示,客户端设备2在视频通话期间向客户端设备1发送具有经渲染的AR背景环境的第二视频流。实际上,如图3的动作326所示,一经接收到具有经渲染的AR背景环境的第一视频流,客户端设备2就渲染如下第一视频流:该第一视频流在AR背景环境的第一部分内描绘了第一参与者用户。此外,如动作324所示,客户端设备1渲染如下第二视频流:该第二视频流在AR背景环境的第二部分内描绘了第二参与者用户。
如以上所提及的,共享AR视频通话系统104可以使客户端设备能够在AR背景环境(其替换视频的背景)内渲染视频。例如,图4示出了共享AR视频通话系统104使客户端设备能够从视频中分割出背景和描绘参与者的前景,以在AR背景环境内渲染前景分割部分(例如,分割出的用户部分)。实际上,图4示出了客户端设备在3D AR空间内渲染视频。
如图4所示,客户端设备402建立与一个或多个其他参与者设备的视频通话。实际上,如图4所示,客户端设备402利用与该客户端设备402相对应的摄像头来采集参与者用户的视频404并渲染该参与者用户的视频404。此外,如图4所示,共享AR视频通话系统104(例如,经由客户端设备402)使用视频帧406(来自视频404)利用分割模型408来生成分割出的用户部分410。实际上,如图4所示,共享AR视频通话系统104从视频帧406生成分割出的用户部分410,以将视频的描绘了参与者用户的前景与背景分割开。
此外,如图4所示,共享AR视频通话系统104可以在共享AR背景环境内渲染视频的分割出的用户部分410。例如,如图4所示,共享AR视频通话系统104识别增强现实背景环境412(例如,作为AR背景纹理,该AR背景纹理利用立方体映射纹理或球体映射纹理)。实际上,增强现实背景环境412可以包括本文所描述的各种AR背景环境(例如,360AR背景环境或其他多视图AR背景环境)。然后,如图4所示,共享AR视频通话系统104将来自视频帧406的分割出的用户部分410置于增强现实背景环境412内,以渲染具有AR背景环境的视频414。
此外,共享AR视频通话系统104可以使客户端设备能够利用AR背景纹理来渲染3D共享AR空间(即,AR背景环境)。在一些实施例中,共享AR视频通话系统104可以使一个或多个客户端设备能够将AR背景环境渲染为作为AR背景纹理的如下球体:该球体具有纹理或一个或多个图像对象(例如,360度全景图像或图形对象)。例如,客户端设备可以将AR背景环境渲染为球形图形对象(例如,半球,该半球包括纹理或图形对象或使用球体映射)。例如,在一个或多个实施例中,共享AR视频通话系统104可以使客户端设备能够利用半球纹理映射或半半球纹理映射来渲染3D AR(背景)空间。实际上,客户端设备可以在针对不同参与者用户的视频通话期间、以及在参与者用户设备的移动期间,渲染半球纹理映射的各个部分,作为AR背景环境(例如,3D AR空间)。
在一些情况下,客户端设备可以利用立方体映射(例如,如下的环境:该环境将立方体的六个侧面映射为地图形状,以投射360°视频投影或360°图形投影)作为AR背景纹理,来渲染AR背景环境。特别地,客户端设备可以利用立方体的六个侧面作为AR背景环境(例如,3D AR空间)的各个区域的纹理图。此外,客户端设备可以利用与客户端设备相对应的视点,来相对于该视点从立方体地图的每一侧渲染3D AR空间的场景。
在一些实施例中,为了渲染AR背景环境,客户端设备利用视频处理数据。例如,客户端设备可以利用视频(或图像)分割,来将视频(或视频帧)中的背景特征与前景(例如,描绘了所采集的参与者)分割开。然后,客户端设备可以渲染AR背景环境,并且使用AR背景环境的视觉元素来替换分割出的背景特征。
在一个或多个实施例中,客户端设备(或共享AR视频通话系统104)利用分割模型来将视频的背景特征与前景分割开。实际上,共享AR视频通话系统104可以使客户端设备能够利用各种方法和/或工具来渲染AR背景环境(其替换视频的背景),这些方法和/或工具例如但不限于,面部跟踪、图像掩模、和/或基于机器学习的分割模型或分类器(例如,卷积神经网络、生成对抗神经网络)。
例如,客户端设备可以利用分割模型,该分割模型识别视频帧内所描绘的面部(或人)(例如,面部跟踪)。然后,客户端设备可以利用该分割模型来选择与所识别的面部(或人)相对应的像素(或为这些像素创建掩模)。实际上,客户端设备可以将与所识别的面部(或人)相对应的像素分割出来,并且从与所识别的面部(或人)相对应的像素生成层(例如,分割出的部分)。
作为一示例,共享AR视频通话系统104可以使客户端设备能够利用基于机器学习的分割模型,来识别所采集的视频内的显著前景(表示参与者用户)。实际上,在一些情况下,客户端设备利用如下的基于机器学习的分割模型:该基于机器学习的分割模型对数字图像或视频帧内所描绘的主题(例如,显著对象)进行分类。例如,该基于机器学习的分割模型可以将与视频内所描绘的人相对应的像素分类为显著对象(例如,人)的一部分,并对这些像素进行标记(例如,使用掩模层、使用像素位置)。此外,客户端设备还可以利用该基于机器学习的分割模型来将背景的像素分类为属于背景。然后,共享AR视频通话系统104可以从所采集的视频的背景中划分出表示显著前景的区域。
此外,共享AR视频通话系统104可以通过在所渲染的AR空间(例如,360AR空间)内插入所采集的视频的分割出的前景,来替换所采集的视频的背景。在一些实例中,共享AR视频通话系统104可以使客户端设备能够从分割出的前景(其描绘了参与者用户)(例如,分割出的用户部分)生成视频层。然后,客户端设备可以插入描绘了参与者用户的视频层,作为3D AR空间(例如,背景AR空间)的前景。
在一个或多个实施例中,共享AR视频通话系统104可以在视频通话期间向客户端设备提供可选选项的图形用户界面,以使客户端设备能够发起AR背景环境(或三维(3D)共享AR空间)。例如,图5A和图5B示出了客户端设备通过一个或多个可选选项来初始化AR背景环境。如图5A所示,客户端设备502建立与另一参与者(对应于另一客户端设备)的视频通话,以显示视频流504和视频流506。此外,如图5A所示,一经在视频通话界面内接收到用户交互,客户端设备502就可以提供用于在视频通话界面内显示的菜单界面510,该菜单界面510具有用于视频通话的可选选项(例如,共享链接、人、环境)。另外,如图5A所示,一经接收到与可选选项“环境”(例如,可选选项512)的用户交互,客户端设备502就可以提供用于在视频通话界面内显示的菜单界面514,该菜单界面514具有可选的AR背景环境(例如,360AR背景环境)。如图5A所示,所选择的环境516指示未选择共享AR空间。因此,如图5A所示,客户端设备502在视频通话期间显示具有原始采集背景的视频通话流508。
此外,如从图5A过渡到图5B所示,客户端设备502接收从可选的AR背景环境518中对特定AR背景环境(或3D共享AR空间)的选择,并渲染所选择的3D共享AR空间。例如,一经接收到对特定360AR背景环境522的选择,客户端设备502就渲染该特定360AR背景环境,作为客户端设备502上的视频流520中的背景空间(例如,代替视频流508的原始背景)。此外,如图5B所示,共享AR视频通话系统104还使其他视频通话参与者的其他客户端设备也能够渲染该特定AR背景环境渲染,作为其他客户端设备上的视频采集中的背景空间(例如,作为共享AR背景环境)。例如,如图5B所示,客户端设备502在3D共享AR空间的一部分(该部分与所选择的AR背景环境522相对应)内渲染视频523,并且在3D共享AR空间(例如,共享AR背景环境)的另一(或附加)部分内渲染来自另一参与者设备的视频524。
在一个或多个实施例中,可选的AR背景环境可以包括用户创建的AR背景环境(例如,360AR背景环境或其他多视图AR背景环境)。例如,AR背景环境可以包括由应用开发者、企业或个人用户创建的AR背景环境(例如,利用具有API的图形资产,该API与共享AR视频通话系统104相对应)。另外,尽管图5A和图5B示出了客户端设备显示了用于AR背景环境的特定菜单界面,但客户端设备可以显示各种类型和/或布局的菜单界面,例如侧滚动可选选项、直接在所采集的视频上滑动AR背景环境、具有描述了AR背景环境的文本的按钮。
在一些情况下,共享AR视频通话系统104使单个参与者客户端设备能够在参与视频通话的每个客户端设备上发起AR背景环境。在一些实施例中,当客户端设备发起AR背景环境时,共享AR视频通话系统104向其他参与者客户端设备发送与AR背景环境相对应的AR数据(作为通知和指令),以能够将所发起的AR背景环境通知给其他参与者客户端设备,并使该其他客户端设备也能够渲染该AR背景环境。
例如,参考图6,客户端设备602在显示视频通话流604时接收到如下信息(例如,作为吐司通知):该信息指示另一客户端设备已发起了AR背景环境。然后,如图6所示,客户端设备602显示通知608,该通知608指示发起AR背景环境。除了显示通知608之外,如图6所示,客户端设备602还利用在客户端设备602上采集的视频来渲染AR背景环境(例如,作为视频流606)。此外,另一参与者设备也在AR背景环境的一不同部分内渲染视频(例如,显示为视频通话内的该另一参与者设备的视频流)。
另外,如图6所示,客户端设备602还在通知608内提供用于改变AR背景环境的可选选项610。如图6所示,一经接收到对用于改变AR背景环境的可选选项610的选择,客户端设备602就在菜单界面612内显示可选的360AR背景环境(如以上所描述的),以在视频通话中的每个参与者客户端设备上改变AR背景环境(例如,在视频单元614中改变AR背景环境)。
尽管图6示出了客户端设备602显示吐司通知(如通知608),但客户端设备可以显示用于指示所发起的AR背景环境的各种类型的通知,这些类型的通知例如但不限于,托盘通知、视觉动画效果、和/或基于声音的通知。
如以上所提及的,共享AR视频通话系统104可以使客户端设备能够跟踪客户端设备的移动(和/或参与者的移动),并且基于所跟踪的移动来更新对AR背景环境的渲染。例如,图7示出了客户端设备702在视频通话期间利用所跟踪的移动来更新对AR背景环境的渲染。例如,如图7所示,客户端设备702检测客户端设备702的移动(例如,通过持有客户端设备702的参与者用户),并更新对AR背景环境的渲染,以模拟多角度(例如,360度)空间(例如,海滩房屋空间的不同部分)。实际上,如图7所示,客户端设备702的移动使客户端设备702渲染AR背景环境的一不同部分,以看上去像:客户端设备的摄像头正面向(并采集)多角度空间的一不同部分(例如,从共享AR空间的部分704a移动到共享AR空间的部分704b、704c和704d)。
尽管图7示出了单个客户端设备的移动,共享AR视频通话系统104可以使视频通话中的超过一个的参与者客户端设备能够检测移动,并且基于所检测到的移动在相应的参与者客户端设备中更新对AR背景环境的对应渲染。
另外,尽管本文中的一个或多个实施方式描述了利用包括360度视角的360AR背景环境,但共享AR视频通话系统104可以使客户端设备能够渲染具有各种视角的AR背景环境。例如,共享AR视频通话系统104可以使客户端设备能够渲染具有180度视角或270度视角的AR背景环境。
在一些实例中,共享AR视频通话系统104可以使客户端设备能够利用客户端设备内的传感器来检测移动。例如,客户端设备可以利用运动传感器(例如,陀螺仪和/或加速度计)来检测客户端设备的移动和方位。随后,客户端设备可以利用移动和方位数据来改变所渲染的AR背景环境,以对电话在360度空间内的位置、以及采集摄像头在360度空间内的视角进行模拟。在一个或多个实例中,客户端设备还可以经由AR数据信道向其他参与者客户端设备发送移动和方位数据,以使其他客户端设备能够利用该移动和方位数据来准确地渲染各种AR效果(例如,阴影,在正确位置处渲染AR效果)和/或准确地同步共享360AR背景环境。例如,客户端设备可以利用各种运动传感器或用于检测客户端设备的移动和/或方位的其他传感器,上述传感器例如但不限于,陀螺仪传感器、加速计传感器、红外传感器、摄像头、和/或惯性测量单元(inertial measurement unit,IMU)传感器。
同样如先前所提及的,共享AR视频通话系统104可以在后续视频通话中在多个参与者(或多个参与者的客户端设备)之间保持持久的共享360AR背景环境。例如,共享AR视频通话系统104可以保存(或记住)多个参与者设备之间的共享AR背景环境选择和/或对共享AR背景环境的修改。此外,一经经由参与者设备接收到或发起与相同的一个或多个参与者设备的视频通话,共享AR视频通话系统104就可以发起具有所保存的共享AR背景环境的视频通话。
例如,图8示出了客户端设备802发起具有持久的共享AR背景环境的视频通话。如图8所示,客户端设备802接收与可选选项804的用户交互,该可选选项804指示建立与另一参与者的视频通话的请求。一经发起视频通话,客户端设备802就提供用于在视频通话界面806(例如,视频通话发起界面)内显示的如下的指示808:特定AR背景环境(例如,海滩房屋)被渲染(或者将在视频通话期间被渲染)。实际上,特定AR背景环境可以包括持久的共享AR背景环境,该持久的共享AR背景环境已在该视频通话的多个参与者(例如,如图8所示的参与者用户)之间的先前视频通话中使用过、或者先前已由该客户端设备使用过。
如图8进一步所示,客户端设备802还提供用于在视频通话界面806内显示的、改变持久的AR背景环境的可选选项810。实际上,一经接收到对用于改变AR背景环境的可选选项810的选择,客户端设备802就可以在菜单界面内显示可选的AR背景环境(如以上所描述的),以在视频通话中的每个参与者客户端设备上改变AR背景环境。在一些情况下,客户端设备802可以提供用于显示的、改变当前视频通话或每次视频通话的AR背景环境的可选选项(例如,改变持久的AR背景环境)。在一些情况下,客户端设备802可以提供用于显示的、在视频通话等待界面期间和/或在视频通话期间改变持久的AR背景环境的菜单选项。
在一些实施例中,共享AR视频通话系统104(或客户端设备)可以利用来自其他通信媒体(例如,信使应用程序、电子邮件应用程序、虚拟现实空间)的主题,来选择持久的AR背景环境。例如,客户端设备可以确定:多个参与者(或一组参与者)之间的信使通信线程利用特定主题(例如,海滩房屋、外太空、森林)。客户端设备一经接收到建立视频通话的请求,就可以利用该特定主题来发起如下的视频通话:该视频通话具有与该特定主题相对应(或匹配该特定主题)的共享AR背景环境。
此外,在一些情况下,共享AR视频通话系统104还可以在其他通信媒体内保持AR背景环境的持久性。例如,当与AR背景环境相对应的参与者用户加入虚拟现实空间时,共享AR视频通话系统104可以从该AR背景环境(以及来自参与者设备的各种修改)生成虚拟现实空间。例如,共享AR视频通话系统104可以提供用于显示的、AR空间的虚拟现实版本,一个或多个参与者用户可经由扩展现实设备在该AR空间的虚拟现实版本中进行通信。
另外,共享AR视频通话系统104还可以在AR背景环境内保持持久的AR效果、AR对象、和/或其他修改。例如,共享AR视频通话系统104可以保存特定组的参与者客户端设备之间的AR背景环境内的AR对象放置、或对该AR背景环境的其他修改。然后,一经在特定组的参与者客户端设备之间发起视频通话,共享AR视频通话系统104就可以使这些参与者客户端设备能够利用如下项来渲染AR背景环境:所保存的(或持久的)AR背景环境内的AR对象放置或对该AR背景环境的其他修改。例如,共享AR视频通话系统104可以保存AR效果和/或如以下所描述的在AR背景环境中引入的对AR背景环境的修改(例如,关于图17)。
如图8进一步所示,一经发起视频通话,客户端设备802在视频通话期间在3D共享AR空间(例如,来自指示808的AR背景环境)的第一部分812内渲染参与者用户的视频(例如,分割出的用户)。另外,客户端设备802还在3D共享AR空间的第二部分814内显示另一参与者用户的视频。在一个或多个实施例中,共享AR视频通话系统104使另一参与者设备在第二部分814内渲染该另一参与者的视频,并向客户端设备802发送视频流。
同样如以上所提及的,共享AR视频通话系统104可以使客户端设备能够在视频通话期间在显示具有共享AR背景环境的参与者的同时,修改视频通话界面布局。例如,客户端设备可以在使多个参与者被描绘在所渲染的共享AR背景环境中的视频通话期间,修改视频界面布局以促进各种功能和/或呈现样式。图9和图10示出了客户端设备在视频通话期间修改视频界面布局以促进各种功能。
例如,如图9所示,客户端设备902修改视频界面布局以促进和显示共享视频流,同时也具有在所采集的视频中渲染的共享AR背景环境,视频通话的参与者可一起观看该共享视频流。特别地,如图9所示,共享AR视频通话系统104使客户端设备902能够采集并显示具有所渲染的共享AR背景环境的参与者的视频906,同时还显示在多个视频通话参与者设备之间的共享视频流904。例如,参与者设备可以单独地播放经同步的视频流(例如,该视频流在相同时间开始或跟踪相同时间戳)和/或参与者设备可以接收来自第三方服务器(例如,视频流式传输服务和/或一个或多个服务器设备102)的相同视频流。
在一个或多个实施例中,共享AR视频通话系统104通过在所渲染的AR背景环境期间修改视频通话界面来促进各种功能。例如,共享AR视频通话系统104可以促进多种功能,这些功能例如但不限于,视频流、音频流、web浏览、可播放的视频游戏、电子书、屏幕镜像、桌面备忘录(digital note)、数字画板、和/或用于视频通话的菜单选项。
作为一示例,图10示出了共享AR视频通话系统104使客户端设备1002能够修改视频通话界面布局以促进对菜单选项界面1006的显示,同时还渲染具有AR背景环境的视频1004。如图10所示,客户端设备1002修改视频通话界面布局以显示具有可选的AR背景环境的菜单选项界面1006,同时还显示具有AR背景环境的参与者视频1004。特别地,参考图10,客户端设备可以在视频通话期间接收对可选的AR背景环境的选择,并且渲染(或改变)AR背景环境(例如,以发起AR背景环境或改变所渲染的AR背景环境)。
此外,尽管图10示出了客户端设备显示具有可选的AR背景环境的菜单界面,但共享AR视频通话系统104可以修改视频通话界面布局以显示关于如下动作的菜单界面:选择可共享的AR效果和/或在采集的视频上应用(或渲染)AR效果。在一些情况下,共享AR视频通话系统104修改视频通话界面布局以显示选项的菜单界面,这些选项例如为,向视频通话添加参与者的选项、从视频通话移除参与者的选项、改变音频设置的选项、改变视频设置的选项、和/或用于视频通话的其他配置。
另外,在一些情况下,共享AR视频通话系统104还可以使客户端设备能够修改视频通话界面布局以改变对视频通话的视觉呈现。例如,客户端设备可以修改视频通话界面布局以将参与者的视频置于各种风格设置中,同时还在这些视频内渲染AR背景环境。例如,客户端设备可以修改视频通话界面布局以将视频通话的视频定位在各种风格化设置(例如弹跳气泡)内、或者定位在不同纹理材料(例如,粘泥材料、金属材料、水材料)内或上,同时还在这些视频内渲染AR背景环境(根据本文中的一个或多个实施方式)。例如,共享AR视频通话系统104可以使客户端设备能够如在以下文件所描述的方式修改视频通话界面布局:布莱克本(Blackburne)等人(于2022年5月13日提交)的、“在视频通话期间渲染定制的视频通话界面”的第17/663,360号美国专利申请(下文称“布莱克本”),该申请的内容通过引用全部结合于此。
在一些实施方式中,共享AR视频通话系统104还使客户端设备能够在具有AR背景环境的视频通话期间,对各种AR效果或视觉元素进行分层放置。例如,共享AR视频通话系统104可以使客户端设备能够在视频通话期间渲染AR背景环境,并且还在AR背景环境内渲染另一AR元素。例如,除了在背景中渲染AR背景环境之外,客户端设备还可以在所采集的视频内所描绘的参与者上渲染(或施加)AR元素。实际上,客户端设备可以在视频通话期间修改对视频内所采集的参与者的描绘、或者在AR背景环境内使用视觉元素来替换参与者。
作为一示例,图11示出了共享AR视频通话系统104使客户端设备1102能够通过将参与者的化身1108(作为AR元素)施加在所渲染的AR背景环境1106内,来将AR效果分层放置在AR背景环境视频通话上。如图11所示,客户端设备1102在视频通话期间在AR背景环境1106内渲染参与者的化身1108,该参与者的化身1108还模仿如在视频上所采集的参与者的特殊习惯和动作。实际上,共享AR视频通话系统104可以使客户端设备能够渲染AR背景环境(如本文所描述的),同时还实时地渲染跟随所采集的参与者的移动和动作的化身。此外,如图11所示,客户端设备1102还显示在共享AR 3D空间1104的另一部分内渲染的、另一参与者设备的视频。
另外,尽管图11示出了单个参与者(经由参与者设备)在视频通话内利用化身,但共享AR视频通话系统104可以使多个参与者客户端设备能够渲染对应参与者的化身。例如,共享AR视频通话系统104可以使各个客户端设备能够在共享AR背景环境中渲染化身。在一些情况下,多个客户端设备可以在共享AR背景环境内渲染在这些客户端设备上采集的参与者的化身,并且流式传输所采集的化身的视频。在一个或多个实施例中,共享AR视频通话系统104使多个客户端设备能够渲染化身并且经由AR数据信道发送用于化身的数据,以使参与者客户端设备(本身地)包括(或施加)化身,作为本地所渲染的AR背景环境内的纹理。
此外,尽管图11示出了客户端设备在视频通话内在AR背景环境上利用化身,但共享AR视频通话系统104可以使客户端设备能够在参与者上引入各种AR效果。例如,共享AR视频通话系统104可以使客户端设备能够在参与者的所采集视频上渲染多种AR效果,这些AR效果例如但不限于,AR妆容、AR脸部清洁、AR太阳镜、AR胡须。实际上,共享AR视频通话系统104可以使客户端设备能够在AR背景环境之上渲染这些AR效果。
实际上,在一个或多个实施例中,共享AR视频通话系统104可以使客户端设备能够如以下文件中所描述的方式、在AR效果(或化身)内利用或渲染来自视频的各种视频纹理:布莱克本等人(于2022年5月5日提交)的“利用来自视频通话参与者的视频流的视频纹理来生成共享增强现实场景”的、第17/662,197号美国专利申请(下文称为“布莱克本'197”),该申请的内容通过引用全部结合于此。
如先前所提及的,共享AR视频通话系统104可以使客户端设备能够在AR场景或空间内施加视频通话的参与者的视频(例如,视频通话的参与者被描绘为处于360AR场景内)。例如,图12示出了客户端设备渲染AR场景(例如,360AR背景环境)并且还将视频通话参与者的所采集视频定位在该AR场景内。在一个或多个实施方式中,共享AR视频通话系统104可以使客户端设备能够在视频通话期间在AR场景内渲染该视频通话的参与者,以模拟参与者处于同一位置或房间的感知。
在一些情况下,客户端设备可以在视频通话期间渲染AR场景,并且在该AR场景内施加参与者的视频帧。特别地,如图12所示,客户端设备1202将视频帧1206和1208(例如,作为视频单元)定位在AR场景1204的预配置位置(例如,产生点(spawn point)),该视频帧1206和1208播放描绘了参与者的视频流。在一个或多个实施例中,客户端设备将视频帧(其播放描述了参与者的视频流)定位在AR场景中的随机位置。在一些情况下,客户端设备可以在视频通话期间接收在AR场景内移动视频帧的用户交互,以在AR场景内重新定位对参与者的视频描绘。
在一些实施例中,共享AR视频通话系统104建立这种视频通话:在该视频通话中,在多个客户端设备之间传输视频通话数据和视频处理数据,以使多个客户端设备能够在视频通话的共享AR场景中渲染所采集的视频,作为AR效果内的视频纹理。特别地,在一个或多个实施例中,共享AR视频通话系统104使客户端设备能够利用从参与者客户端设备接收的视频通话数据和视频处理数据,在本地渲染各个参与者的视频,作为AR效果内的视频纹理。实际上,在一些实施例中,共享AR视频通话系统104使客户端设备能够渲染AR场景,在该AR场景中,描绘了视频通话参与者的传入视频被呈现为视频纹理,所述视频纹理作为AR效果被施加到AR场景中。
例如,客户端设备可以根据从参与者客户端设备接收的视频通话数据和视频处理数据来渲染视频纹理,以将参与者的面部作为AR效果(例如,作为动画和/或角色)置于AR场景内。在一些情况下,客户端设备可以将所渲染的参与者的视频纹理应用在AR场景的特定视觉元素内(例如,在窗口、车辆、绘画内)。另外,在一些情况下,共享AR视频通话系统104使客户端设备能够在视频通话期间利用客户端设备的移动,来从各种视角渲染共享3D AR空间,以显示或隐藏施加在共享3D AR空间中的、一个或多个参与者的视觉视频纹理。
在一些实施例中,共享AR视频通话系统104使客户端设备能够将AR空间(以及视频通话参与者的视频纹理)渲染在客户端设备上的自身视图缓冲器内。例如,客户端设备可以显示具有AR空间的单个视图(例如,在客户端设备上采集和显示视频的自身视图)和/或从在该单个视图内所渲染的其他参与者设备的视频生成的视频纹理,而不是接收视频流并在视频网格视图中显示视频流。另外,在一些情况下,共享AR视频通话系统104使客户端设备能够经由AR数据信道、视频处理数据信道接收来自其他参与者客户端设备的视频处理数据、和/或作为组合视频数据(例如,使用分割帧或交替包括视频处理数据的视频而组合的视频数据和视频处理数据),以生成视频纹理(如在布莱克本'197中所描述的)。
此外,在一个或多个实施例中,共享AR视频通话系统104使客户端设备能够在360AR空间内显示其他表示,以表示没有视频(或具有静音的视频)的参与者。例如,在一些情况下,客户端设备可以在所渲染的AR空间内显示文本窗口(或气泡),以显示来自具有静音的视频(或静音的声音)的视频通话参与者的消息。在一些实例中,在视频通话期间,当一个或多个视频参与者视频不可用时,客户端设备可以在AR空间内显示AR对象(例如,AR扬声器对象、AR电话对象)来表示该一个或多个视频参与者,并且还通过该AR对象播放来自该一个或多个视频参与者的音频。在一些实施例中,共享AR视频通话系统104在视频通话期间,基于从活动视角来看参与者被显示还是隐藏在360AR空间中,而利用空间音频来修改参与者(具有或不具有视频)的音频。
在一个或多个实施方式中,共享AR视频通话系统104可以使客户端设备能够接收如下用户交互:该用户交互用于在所渲染的AR背景环境(或场景)内的用户导航。例如,图13示出了共享AR视频通话系统104使客户端设备1302能够利用用户交互在所渲染的AR背景环境内导航用户(或参与者)。如图13所示,客户端设备1302接收用户交互,以通过将AR场景(或空间)的第一部分1304内的参与者的视频1306(在客户端设备上采集的)移动到该AR场景(或空间)内的另一位置1310,来导航参与者的视频1306。实际上,在视频1306的用户交互和导航期间,客户端设备继续在AR场景的第一部分内渲染视频通话1308。
作为一示例,在一些情况下,客户端设备在AR空间内渲染具有多个位置的AR空间。一经接收到来自参与者的用户交互,客户端设备就可以将该参与者的视频在AR空间内的多个位置中的一个或多个之间进行导航。在一些情况下,AR空间内的各种位置包括视频通话中的其他参与者(对应于其他参与者设备)的其他视频。
在一个或多个实施方式中,客户端设备检测客户端设备的移动,以在AR空间内的一个或多个位置之间导航参与者的视频。例如,一经检测到客户端设备向左或向右移动,客户端设备就可以将参与者的视频移动(或导航)到AR空间内的另一位置。在一些情况下,客户端设备可以检测与客户端设备的屏幕的用户交互,以在AR空间内的一个或多个位置之间导航参与者的视频。例如,客户端设备可以检测用户交互,例如滑动交互、触摸和拖动交互、敲击交互、和/或与AR空间内的参与者的视频的交互。
在一些实例中,共享AR视频通话系统104可以使客户端设备能够在视频通话期间渲染AR空间,该AR空间具有施加在该AR空间中的一个或多个媒体内容项和用户参与者的一个或多个表示。例如,图14示出了共享AR视频通话系统104使客户端设备1402能够渲染共享AR空间1410,该共享AR空间1410具有视频通话的多个所施加的参与者用户。另外,如图14所示,客户端设备1402还在共享AR空间1410内渲染媒体内容。
实际上,如图14所示,共享AR视频通话系统104可以使客户端设备1402在共享AR空间1410内渲染各种参与者用户表示。例如,客户端设备1402在共享AR空间1410内渲染用于描绘视频通话的参与者用户的视频帧1414和1418。此外,客户端设备1402还将视频通话的另一参与者渲染为共享AR空间1410内的化身1408(如以上所描述的)。
此外,如图14所示,共享AR视频通话系统104使客户端设备1402在视频通话期间渲染媒体内容。例如,如图14所示,客户端设备1402将图像1404和1406渲染为共享AR空间1410内的元素(例如,数字图像,作为共享AR空间1410内的肖像或海报)。在一个或多个实施例中,共享AR视频通话系统104可以使客户端设备能够在共享AR空间内渲染用户上传或选择的图像,作为媒体内容(例如,用于使视频通话共享AR空间个性化的图像)。在一些情况下,客户端设备(或共享AR视频通话系统104)可以识别并渲染来自网络系统112的一幅或多幅图像,该一幅或多幅图像与视频通话的一个或多个参与者用户相对应。例如,客户端设备(或共享AR视频通话系统104)可以在视频通话期间渲染如下的图像:该图像描绘了一个或多个参与者用户或与一个或多个参与者用户相关(例如,来自社交网络馈送的图像、与一个或多个参与者用户的兴趣相关的图像)。
同样如图14所示,共享AR视频通话系统104可以使客户端设备1402能够在共享AR空间1410内渲染共享视频流1412。实际上,如图14所示,客户端设备1402在视频通话期间在共享AR空间1410内模仿电视,以渲染共享视频流1412。例如,共享视频流1412可以显示多种视频,这些视频例如但不限于,电影、表演(show)、实时体育事件、实时新闻、用户生成的内容(例如,家庭视频、度假视频)、和/或与视频通话的一个或多个参与者用户相关的视频。
此外,如图14所示,共享AR视频通话系统104可以使客户端设备1402能够在共享AR空间1410内渲染可选活动1416。例如,客户端设备1402在视频通话期间显示可选活动(例如,可选活动1416)以指示可发起的可用活动。如图14中的示例,客户端设备1402在视频通话期间显示可选棋盘作为可选活动1416,并且一经检测到对可选活动1416的用户选择,客户端设备1402就可以发起国际象棋活动(例如,如以上所描述的共享视频游戏)。
在一个或多个实施例中,共享AR视频通话系统104可以使客户端设备能够显示各种可选活动(例如,作为窗口小部件(widget)),这些可选活动例如但不限于,视频流、音频流(例如,音乐流、无线电流)、web浏览、可玩的视频游戏、电子书、屏幕镜像、桌面备忘录(例如,电子文档)、数字画板(例如,共享电子画布、壁画、或AR空间内的用于绘图、绘画或素描(sketching)的其他介质)、购物小工具(shopping widget)(例如,访问对来自商家应用程序的产品的AR渲染)、和/或用于视频通话的菜单选项。此外,在一个或多个实施例中,各种活动(例如,作为窗口小部件)可以包括用户(或第三方)创建的用于视频通话AR空间的应用程序。
此外,共享AR视频通话系统104可以使客户端设备能够在共享AR空间内生成空间音频。特别地,取决于参与者用户在共享AR空间(例如,共享AR空间和/或3D AR背景空间)内的位置,客户端设备可以在视频通话期间播放聚焦(或强调)不同音频源的空间音频。例如,客户端设备可以在视频通话期间利用与共享AR空间中的参与者用户相关的定位,来模仿共享AR空间中的多个参与者用户(和/或其他媒体内容)的环境中的定向音频。
此外,共享AR视频通话系统104可以使添加到AR空间(和/或AR背景环境)的修改、媒体内容、活动、或视觉效果能够是持久的。特别地,共享AR视频通话系统104可以保存修改、媒体内容、活动、或视觉效果,使得它们被维持(和显示)在相同参与者之间的后续视频通话中的AR空间(和/或AR背景环境)中。在一些情况下,共享AR视频通话系统104可以针对主参与者指示或访问一AR空间(和/或AR背景环境),使得每当同一主参与者发起与各种其他参与者的视频通话时,AR空间(和/或AR背景环境)是持久的(例如,家庭AR空间和/或背景环境)。
在一些情况下,共享AR视频通话系统104可以使客户端设备能够在虚拟现实环境(例如,扩展现实环境)中主持视频通话。例如,共享AR视频通话系统104可以使客户端设备能够在视频通话期间显示用于访问扩展现实环境的可选选项。例如,如本文所使用的,术语“虚拟环境”或“扩展现实环境”是指用户可以完全或部分地沉浸于其中的模拟环境。例如,扩展现实环境可以包括虚拟现实、增强现实等。扩展现实环境可以包括用户可与之交互的对象和元素(例如,作为娱乐场所、作为社交聚集空间、作为游戏空间)。通常,用户使用客户端设备(专用的扩展现实设备)参与虚拟环境。
如本文所进一步使用的,术语“扩展现实设备”是指具有扩展现实能力和/或特征的计算设备。特别地,扩展现实设备可以指可显示扩展现实图形用户界面的计算设备。扩展现实设备还可以在扩展现实图形用户界面内显示一个或多个视觉元素,并且接收针对这些视觉元素的用户输入。例如,扩展现实设备可以包括但不限于,虚拟现实设备、增强现实设备、或混合现实设备。特别地,扩展现实设备可以包括头戴式显示器、智能手机、或另一计算设备。
例如,图15A和图15B示出了共享AR视频通话系统104使客户端设备能够显示用于访问扩展现实环境的可选选项。如图15A所示,客户端设备1502渲染共享AR空间1504,该共享AR空间1504具有第一视频通话参与者的视频帧1506和第二视频通话参与者的化身1510。如图15A进一步所示,客户端设备1502还显示可选元素1508,该可选元素1508在用户交互时使客户端设备1502将视频通话的参与者用户导航到扩展现实环境。
此外,如图15B所示,客户端设备1512建立视频通话1514。此外,如图15B所示,客户端设备1512在视频通话期间显示菜单界面1516。实际上,如图15B所示,客户端设备1512包括用于导航到菜单界面1516内的扩展现实环境的可选选项。一经在菜单界面1516内选择该可选选项,客户端设备1512就可以渲染扩展现实环境,并将参与者用户(例如,参与者用户的视频)定位在扩展现实环境内。另外,客户端设备还可以在视频通话期间在菜单界面内提供用于发起(或渲染)共享AR空间的可选选项。
此外,图16A至图16C示出了共享AR视频通话系统104使客户端设备能够在视频通话期间渲染扩展现实环境(例如,作为3D AR空间)。例如,如图16A所示,客户端设备1602在扩展现实环境1604内渲染第一参与者用户的视频帧1606和第二参与者用户的化身1608。如图16A所示,客户端设备1602在表示体育赛事的扩展现实环境1604内渲染视频帧1606和化身1608。如图16B进一步所示,客户端设备1612在表示3D开放世界空间的扩展现实环境1610内渲染第一参与者用户的视频帧1616和第二参与者用户的视频帧1614。
另外,如图16C所示,共享AR视频通话系统104使一个或多个客户端设备能够在扩展现实环境内渲染视频流(例如,作为视频单元、化身、和/或其他AR效果),使得其他扩展现实设备(对应于其他用户)可以与视频通话的视频流通信。如图16C所示,扩展现实设备1618在视频通话期间渲染扩展现实环境1620,在该扩展现实环境1620中,其他参与者用户被渲染为化身1622a和1622b、以及视频帧1622C。此外,共享AR视频通话系统104可以使其他参与者客户端设备能够将与扩展现实设备相对应的参与者用户渲染为化身和/或本文中所描述的其他表示。
在一个或多个实施例中,共享AR视频通话系统104还使一个或多个客户端设备能够检测如下的用户交互:该用户交互请求在扩展现实环境内导航。例如,一经接收到在扩展现实环境内导航参与者用户的用户交互,参与视频通话的客户端设备就可以在扩展现实环境内的更新位置处渲染参与者用户的视频帧或其他表示。另外,与参与者用户相对应的客户端设备可以基于该导航,从参与者用户的更新位置处的视点来渲染扩展现实环境和其他参与者设备。
另外,如先前所提及的,共享AR视频通话系统104可以使客户端设备能够在视频通话期间接收来自参与者的用户交互,以与AR背景环境交互和/或修改AR背景环境。例如,客户端设备可以接收用户交互,以通过在360AR背景环境内插入视觉效果(或对象)来修改360AR背景环境(经由用户交互),视觉效果例如但不限于,绘画、绘图、书写、文本、AR对象(例如,AR家具、AR车辆、AR动物)。例如,图17示出了客户端设备接收用户交互以修改AR背景环境。
如图17所示,在视频通话期间,客户端设备1702可以在与正在渲染AR背景空间1706的第二部分的另一参与者用户设备的视频通话期间,接收AR背景空间1704的第一部分内的用户交互(例如,对添加AR对象、绘画、绘图的选项的选择)。实际上,用户交互可以包括在客户端设备1702的屏幕上的触摸交互或敲击交互(例如,在选择视觉效果或直接在AR背景环境上绘制视觉效果之后)。一经接收到用户交互,如图17所示,客户端设备1702就可以将AR背景空间1704(例如,AR背景环境)的所渲染的第一部分修改为包括由用户交互引入的视觉效果1708(例如,描绘星星的绘画被置于所渲染的360AR背景环境中所描绘的墙壁上)。
在一个或多个实施方式中,客户端设备将添加的修改(或视觉效果)共享(例如,经由AR数据信道共享)给视频通话中的其他参与者设备,以使得其他参与者设备也在其他参与者设备上在所渲染的AR背景环境上渲染该修改(或视觉效果)。此外,其他参与者设备可以在AR背景环境内的同一位置处渲染对AR背景环境的修改(或视觉效果),使得当其他参与者设备被移动为将摄像头置于面向AR背景环境内的特定位置的方位和方向时,该修改是可见的。另外,共享AR视频通话系统104可以使每个参与者设备能够接收用户交互并修改共享AR背景环境。
此外,共享AR视频通话系统104可以使添加到AR背景环境的修改或视觉效果能够是持久的。特别地,共享AR视频通话系统104可以保存这些修改或视觉效果,使得它们被保持(并且被显示)在相同参与者之间的后续视频通话中的AR背景环境中。在一些情况下,共享AR视频通话系统104可以针对主参与者指示或访问一AR背景环境,使得每当同一主参与者发起与各其他参与者的视频通话时(例如,家庭360AR空间),该AR背景环境是持久的。
实际上,共享AR视频通话系统104可以使客户端设备能够接收用户交互以在AR背景环境中修改或添加各种视觉效果。例如,共享AR视频通话系统104可以使360AR背景环境能够经由对视觉效果的修改和/或选择而包括用户添加的(或创建的)视觉效果,例如绘画、贴纸、艺术品、白板笔记、AR对象(例如,AR家具、AR地毯、AR植物、AR动物)。
另外,在一个或多个实施例中,共享AR视频通话系统104使客户端设备能够渲染各种共享AR效果(如本文所描述的),同时还渲染共享AR背景环境。例如,共享AR视频通话系统104可以使客户端设备能够渲染经由AR数据信道在视频通话的多个参与者设备上移动的AR对象(如本文所描述的)。另外,共享AR视频通话系统104可以使多个客户端设备能够接收与共享AR对象的交互,以在这些客户端设备上类似地渲染共享AR对象(如以上所描述的),同时还渲染共享AR背景环境。此外,共享AR视频通话系统104可以使多个客户端设备能够渲染这些客户端设备之间的共享的基于AR的游戏,同时还在背景中渲染共享AR背景环境。
此外,在一个或多个实施例中,共享AR视频通话系统104可以在视频通话期间针对共享的AR环境(或360AR背景环境)、AR效果、基于AR的活动、和/或单独的AR元素实现音频组件。例如,客户端设备还可以经由AR数据信道发送音频信息(或音频标识符),使得视频通话中的客户端设备针对AR环境、AR效果、基于AR的活动、和/或单独的AR元素播放音频(例如,与AR元素相关的音频)。在一些情况下,共享AR视频通话系统104可以在多个客户端设备之间的视频通话期间,为一个或多个AR环境、一个或多个AR效果、一个或多个基于AR的活动、和/或一个或多个AR元素提供可利用的音频数据的库。
另外,在一个或多个实施例中,共享AR视频通话系统104生成图形用户界面以提供用于共享AR视频通话的调试工具。特别地,在一些实施例中,共享AR视频通话系统104利用一个或多个模拟视频通话参与者,来提供用于预览视频通话期间的共享AR效果的可选选项。实际上,共享AR视频通话系统104可以提供用于选择预览视频通话的一个或多个模拟视频通话参与者(例如,预先录制的视频通话参与者或基于AI的视频通话参与者,其被描绘为视频通话参与者)的可选选项。另外,共享AR视频通话系统104可以提供用于选择特定AR效果的可选选项。一经接收到对AR效果的选择,共享AR视频通话系统104就可以提供用于显示的、在一个或多个模拟视频通话参与者上的AR效果的模拟预览。在一些情况下,共享AR视频通话系统104还可以在具有AR效果预览的模拟视频通话期间,提供用于显示AR数据消息、用于发送AR数据消息、用于显示AR数据传输历史的一个或多个可选选项。
在一个或多个实施例中,共享AR视频通话系统104在具有各种部件和能力的计算设备上实现。共享AR视频通话系统104的一个或多个部件可以包括软件、硬件、或它们两者。例如,共享AR视频通话系统104的一个或多个部件可以包括存储在计算机可读存储介质上的、可被一个或多个计算设备(例如,客户端设备或服务器设备)的处理器执行的一个或多个指令。共享AR视频通话系统104的计算机可执行指令在被一个或多个处理器执行时,可以使一个或多个计算设备执行本文所描述的方法。替代地,共享AR视频通话系统104的一个或多个部件可以包括硬件,例如执行某种功能或某一组功能的专用处理设备。替代地,共享AR视频通话系统104的一个或多个部件可以包括计算机可执行指令和硬件的组合。
此外,共享AR视频通话系统104的一个或多个部件例如可以被实现为一个或多个操作系统,被实现为一个或多个独立应用程序,被实现为应用程序的一个或多个模块,被实现为一个或多个插件,被实现为可由其他应用程序调用的一个或多个库函数或函数,和/或被实现为云计算模型。因此,共享AR视频通话系统104的一个或多个部件可以被实现为独立应用程序,例如桌面或移动应用程序。此外,共享AR视频通话系统104的一个或多个部件可以被实现为托管在远程服务器上的一个或多个基于web的应用程序。替代地或附加地,共享AR视频通话系统104的一个或多个部件可以在一套移动设备应用程序(application)或“应用程序(app)”中实现。
图1至图17、对应的文本和示例提供了共享AR视频通话系统104的许多不同的方法、系统、设备和非暂态计算机可读介质。除了前述内容之外,如图18所示,还可以根据包括用于实现特定结果的多个动作的流程图来描述一个或多个实施例。图18可以用更多或更少的动作来执行。此外,图18所示的多个动作可以以不同的顺序来执行。另外,图18所描述的多个动作可以重复或彼此并行地执行,或者与相同或类似动作的不同实例并行地执行。
例如,图18示出了根据一个或多个实施方式的用于实现促进共享增强现实(AR)背景环境(例如,三维共享增强现实空间)的视频通话的一系列动作1800的流程图。尽管图18示出了根据一个或多个实施例的多个动作,但替代实施例可以省略、添加、重新排序和/或修改图18所示的多个动作中的任何动作。在一些实施方式中,图18中的多个动作作为方法的一部分来执行。替代地,非暂态计算机可读介质可在其上存储多个指令,这些指令在被至少一个处理器执行时,使得计算设备执行图18中的多个动作。在一些实施例中,系统执行图18中的多个动作。例如,在一个或多个实施例中,系统包括至少一个处理器。该系统还可以包括非暂态计算机可读介质,该非暂态计算机可读介质包括多个指令,这些指令在被至少一个处理器执行时,使得系统执行图18中的多个动作。
如图18所示,一系列动作1800包括与接收方参与者设备进行视频通话的动作1810。例如,动作1810可以包括由客户端设备通过经由针对视频通话而建立的视频数据信道接收来自参与者设备的视频数据,来与该参与者设备进行视频通话。此外,如图18所示,一系列系列1800包括在数字视频通话界面内显示视频的动作1820。例如,动作1820可以包括在视频通话期间显示由客户端设备采集的第一视频,以及显示从参与者设备接收的第二视频。
此外,如图18所示,一系列动作1800包括在视频通话期间渲染三维共享增强现实空间的动作1830。例如,动作1830可以包括在数字视频通话界面内,在三维(3D)共享增强现实(AR)空间的第一部分内渲染由客户端设备采集的第一视频。另外,动作1830可以包括经由AR数据信道接收来自参与者设备的与3D共享AR空间相对应的AR数据,以在3D共享AR空间的第一部分内渲染第一视频。
另外,动作1830可以包括通过生成3D共享AR空间的AR背景纹理、并使用与3D共享AR空间的第一部分相对应的AR背景纹理的一部分替换第一视频的背景,在3D共享AR空间的第一部分内渲染第一视频。此外,动作1830可以包括从第一视频的背景中分割出在第一视频内所描绘的用户,以生成分割出的用户部分,并且将第一视频的分割出的用户部分插入到3D共享AR空间的第一部分中。
此外,动作1830可以包括由客户端设备在视频通话期间检测用户移动,以及在数字视频通话界面内,基于所检测到的用户移动,在3D共享AR空间的第三部分内渲染由客户端设备采集的第一视频。例如,用户移动可以包括检测到的第一视频内所描绘的参与者的移动、或客户端设备的客户端设备移动。
此外,动作1830可以包括由客户端设备接收与3D共享AR空间的用户交互,以及基于该用户交互、通过将AR元素添加到3D共享AR空间或者修改3D共享AR空间内的现有AR元素,来修改与第一视频相对应的3D共享AR空间。另外,动作1830可以包括经由AR数据信道向参与者设备发送与用户交互相对应的AR数据,以使得参与者设备修改与第二视频相对应的3D共享AR空间。例如,对与第一视频相对应的3D共享AR空间、以及与第二视频相对应的3D共享AR空间的修改可以被定位在3D共享AR空间的匹配部分处。此外,动作1830可以包括保存对3D共享AR空间的修改,以用于客户端设备和参与者设备之间的后续视频通话。
另外,动作1830可以包括通过渲染经由视频数据信道接收的视频数据,在数字视频通话界面内显示来自参与者设备的第二视频,该第二视频描绘了3D共享AR空间的第二部分。此外,动作1830可以包括经由AR数据信道向参与者设备发送与3D共享AR空间相对应的AR数据,以使得该参与者设备在3D共享AR空间的第二部分内渲染第二视频。例如,3D共享AR空间的第一部分和第二部分可以包括经同步的AR环境的不同视图。
此外,动作1830可以包括由客户端设备接收对附加3D共享AR空间的选择,并且在数字视频通话界面内,在附加3D共享AR空间的第一部分内渲染由客户端设备采集的第一视频。在一些实施方式中,动作1830包括经由AR数据信道向参与者设备发送与附加3D共享AR空间相对应的AR数据,以使得该参与者设备在附加3D共享AR空间的第二部分内渲染第二视频。
本公开的实施例可以包括或利用包括计算机硬件(例如,一个或多个处理器和系统存储器)的专用或通用计算机,如以下更详细论述的。本公开范围内的实施例还包括用于携载或存储计算机可执行指令和/或数据结构的物理和其他计算机可读介质。特别地,本文所描述的多个过程中的一个或多个过程可以至少部分地被实现为体现在非暂态计算机可读介质中且可被一个或多个计算设备(例如,本文所描述的媒体内容访问设备中的任何一个)执行的多个指令。一般来说,处理器(例如,微处理器)接收来自非暂态计算机可读介质(例如,存储器)的多个指令,并执行那些指令,从而执行一个或多个过程,该一个或多个过程包括本文所描述的多个过程中的一个或多个过程。
计算机可读介质可以是可被通用或专用计算机系统访问的任何可用介质。存储计算机可执行指令的计算机可读介质是非暂态计算机可读存储介质(设备)。携载计算机可执行指令的计算机可读介质是传输介质。因此,作为示例而非限制,本公开的实施例可以包括至少两种明显不同种类的计算机可读介质:非暂态计算机可读存储介质(设备)和传输介质。
非暂态计算机可读存储介质(设备)包括随机存取存储器(Random-AccessMemory,RAM)、只读存储器(Read-Only Memory,ROM)、电子可擦除可编程只读存储器(EEPROM)、光盘只读存储器(CD-ROM)、固态驱动器(solid state drive,“SSD”)(例如,基于RAM)、闪存、相变存储器(phase-change memory,“PCM”)、其他类型的存储器、其他光盘存储器、磁盘存储器或其他磁存储设备、或可用于存储计算机可执行指令或数据结构的形式的期望的程序代码工具且可被通用或专用计算机访问的任何其他介质。
“网络”被定义为使能够在多个计算机系统和/或多个模块和/或其他电子设备之间传输电子数据的一个或多个数据链路。当通过网络或另一通信连接(要么硬连线、无线,要么硬连线或无线的组合)向计算机传送或提供信息时,该计算机将该连接适当地视为传输介质。传输介质可以包括网络和/或数据链路,该网络和/或数据链路可以用于传输计算机可执行指令或数据结构的形式的期望的程序代码工具,并且可以被通用或专用计算机访问。以上的各种组合也应被包括在计算机可读介质的范围内。
此外,计算机可执行指令或数据结构形式的程序代码工具可以在到达各种计算机系统组件时,从传输介质自动传送到非暂态计算机可读存储介质(装置)(或从非暂态计算机可读存储介质自动传送到传送介质)。例如,通过网络或数据链路接收的计算机可执行指令或数据结构可以被缓存在网络接口模块(例如,“网络接口控制器(network interfacecontroller,NIC)”)内的RAM中,并且然后被最终传送到计算机系统RAM和/或被最终传送到计算机系统处的较不易失性的计算机存储介质(设备)。因此,应当理解的是,非暂态计算机可读存储介质(设备)可以被包括在也(或甚至主要)利用传输介质的计算机系统部件中。
计算机可执行指令例如包括多个指令和数据,这些指令和数据在被处理器执行时使得通用计算机、专用计算机或专用处理设备执行某种功能或某一组功能。在一些实施例中,计算机可执行指令被通用计算机执行,以将该通用计算机变成实现本公开的元件的专用计算机。计算机可执行指令例如可以是二进制代码、诸如汇编语言的中间格式指令、或甚至源代码。尽管已经用针对结构特征和/或方法动作的语言描述了本主题,但将理解的是,所附权利要求中所限定的主题不必限于以上所描述的特征或动作。而是,所描述的特征和动作是作为实现权利要求的示例形式而公开的。
本领域技术人员将认识到,本公开可以在具有许多类型的计算机系统配置的多种网络计算环境中实践,这些网络计算环境包括个人计算机、台式计算机、膝上型计算机、消息处理器、手持式设备、多处理器系统、基于微处理器的或可编程的消费电子产品、网络个人计算机(PC)、小型计算机、大型计算机、移动电话、个人数字助理(personal digitalassistant,PDA)、平板电脑、寻呼机、路由器和交换机等。本公开还可以在分布式系统环境中实践,在这些分布式系统环境中,通过网络而连接(要么通过硬连线数据链路、无线数据链路来连接,要么通过硬连线数据链路和无线数据链路的组合来连接)的本地和远程计算机系统均执行任务。在分布式系统环境中,程序模块可以位于本地存储器存储设备和远程存储器存储设备两者中。
本公开的实施例还可以在云计算环境中实现。如本文所使用的,术语“云计算”是指用于实现对可配置计算资源的共享池进行按需网络访问的模型。例如,可以在市场环境中采用云计算来提供对可配置计算资源的共享池的普遍存在且方便的按需访问。可配置计算资源的共享池可以经由虚拟化而快速供应,并且以低的管理精力或服务提供交互而发布,并且然后被相应地改变规模。
云计算模型可以由各种特性组成,这些特性例如为按需自助服务、宽带接入、资源池、快速弹性、测量服务等。云计算模型还可以体验各种服务模型,例如,软件即服务(Software as a Service,“SaaS”)、平台即服务(Platform as a Service,“PaaS”)和基础设施即服务(Infrastructure as a Service,“IaaS”)。云计算模型也可以使用不同的部署模型来部署,这些部署模型例如为私有云、社区云、公共云、混合云等。另外,如本文所使用的,术语“云计算环境”是指在其中采用云计算的环境。
图19示出了可被配置为执行以上所描述的多个过程中的一个或多个过程的、示例计算设备1900的框图。将认识到,一个或多个计算设备(例如,计算设备1900)可以表示以上所描述的计算设备(例如,一个或多个服务器设备102、和/或客户端设备108a和108b-108n)。在一个或多个实施例中,计算设备1900可以是移动设备(例如,移动电话、智能手机、PDA、平板电脑、笔记本电脑、摄像头、追踪器、手表、可穿戴设备、头戴式显示器等)。在一些实施例中,计算设备1900可以是非移动设备(例如,台式计算机、或另一类型的客户端设备)。此外,计算设备1900可以是包括基于云的处理能力和存储能力的服务器设备。
如图19所示,计算设备1900可以包括可通过通信基础设施(例如,总线1912)通信耦接的一个或多个处理器1902、存储器1904、存储设备1906、输入/输出接口1908(或“I/O接口1908”)和通信接口1910。尽管在图19中示出了计算设备1900,但图19所示的多个部件不旨在进行限制。在其他实施例中,可以使用附加的部件或替代的部件。此外,在某些实施例中,计算设备1900包括比图19所示的那些部件更少的部件。现将更详细地描述图19所示的计算设备1900的多个部件。
在特定实施例中,该一个或多个处理器1902包括用于执行多个指令(例如,构成计算机程序的那些指令)的硬件。作为示例而非通过限制,为了执行多个指令,该一个或多个处理器1902可以从内部寄存器、内部高速缓冲存储器、存储器1904、或存储设备1906中检索(或提取)多个指令并对这些指令进行解码和执行。
计算设备1900包括存储器1904,该存储器1904耦接到该一个或多个处理器1902。存储器1904可以用于存储数据、元数据、和供一个或多个处理器执行的程序。存储器1904可以包括易失性存储器和非易失性存储器中的一者或多者,例如随机存取存储器(“RAM”)、只读存储器(“ROM”)、固态驱动器(“SSD”)、闪存、相变存储器(“PCM”)或其他类型的数据存储器。存储器1904可以是内部存储器或分布式存储器。
计算设备1900包括存储设备1906,该存储设备1906包括用于存储数据或指令的存储器。作为示例而非通过限制,存储设备1906可以包括以上所描述的非暂态存储介质。存储设备1906可以包括硬盘驱动器(hard disk drive,HDD)、闪存、通用串行总线(UniversalSerial Bus,USB)驱动器、或这些存储设备或其他存储设备的组合。
如图所示,计算设备1900包括一个或多个I/O接口1908,该一个或多个I/O接口1908被提供以允许用户向计算设备1900提供输入(例如,用户轻触),接收来自计算设备1900的输出,以及以其他方式向计算设备1900传送数据和传送来自计算设备1900的数据。这些I/O接口1908可以包括鼠标、小键盘或键盘、触摸屏、摄像头、光学扫描仪、网络接口、调制解调器、其他已知的I/O设备、或这些I/O接口1908的组合。触摸屏可用触笔或手指激活。
I/O接口1908可以包括用于向用户呈现输出的一个或多个设备,包括但不限于,图形引擎、显示器(例如,显示屏)、一个或多个输出驱动器(例如,显示驱动器)、一个或多个音频扬声器、和一个或多个音频驱动器。在某些实施例中,I/O接口1908被配置为向显示器提供图形数据以用于呈现给用户。图形数据可以表示一个或多个图形用户界面和/或可服务于特定实施方式的任何其他图形内容。
计算设备1900还可以包括通信接口1910。通信接口1910可以包括硬件、软件或它们两者。通信接口1910为计算设备与一个或多个其他计算设备或一个或多个网络之间的通信(例如,基于数据包的通信)提供一个或多个接口。作为示例而非通过限制,通信接口1910可以包括用于与以太网或其他基于有线的网络进行通信的网络接口控制器(NIC)或网络适配器,或者用于与无线网络(例如,WI-FI)进行通信的无线网络接口控制器(wireless NIC,WNIC)或无线适配器。计算设备1900还可以包括总线1912。总线1912可以包括将计算设备1900的多个部件彼此连接的硬件、软件或它们两者。作为一示例,总线1912可以包括一种或多种类型的总线。
本发明的实施例可以包括人工现实系统或者结合人工现实系统来实现。人工现实是在呈现给用户之前已经以某种方式进行了调整的现实形式,该现实形式例如可以包括虚拟现实(virtual reality,VR)、增强现实(AR)、混合现实(mixed reality,MR)、混合现实(hybrid reality)、或它们的某种组合和/或衍生物。人工现实内容可以包括完全生成内容、或与采集的内容(例如,真实世界照片)相结合的生成内容。人工现实内容可以包括视频、音频、触觉反馈、或它们的某种组合,并且以上中的任何一种可以在单个通道中或在多个通道(例如,向观看者产生三维效果的立体视频)中呈现。另外,在一些实施例中,人工现实可以与应用、产品、附件、服务、或它们的某种组合相关联,这些应用、产品、附件、服务、或它们的某种组合例如用于在人工现实中创建内容和/或在人工现实中使用(例如,在人工现实中执行活动)。提供人工现实内容的人工现实系统可以在各种平台上实现,这些平台包括连接到主计算机系统的头戴式显示器(head-mounted display,HMD)、独立HMD、移动设备或计算系统、或能够向一个或多个观看者提供人工现实内容的任何其它硬件平台。
如以上所提及的,通信系统可以被包括在社交网络系统中。社交网络系统可以使它的多个用户(例如,个人或组织)能够与该系统交互并且彼此交互。社交网络系统可以利用来自用户的输入,在社交网络系统中创建并存储与用户相关联的用户资料。如以上所描述的,用户资料可以包括人口统计信息、通信信道信息和关于用户的个人兴趣的信息。
更详细地,用户资料信息例如可以包括生物信息、人口统计信息、行为信息、社交信息、或其他类型的描述性信息,这些类型的描述性信息例如为工作经历、教育历史、爱好或偏好、兴趣、亲密度、或位置。兴趣信息可以包括与一个或多个类别相关的兴趣,该一个或多个类别可以是通用的或特定的。作为一示例,如果用户“喜欢”关于鞋的品牌的物品,则该类别可以是品牌。
社交网络系统还可以利用来自用户的输入,创建和存储该用户与社交网络系统的其他用户的关系的记录,以及提供用于促进用户之间或用户之中的社交交互的服务(例如,涂鸦墙、照片共享、在线日历和事件组织、消息收发、游戏、或广告)。而且,社交网络系统可以允许用户将照片和其他多媒体内容项目公布到用户的资料页面(通常被称为“涂鸦墙(wall post)”或“时间轴帖子(timeline post)”)或相册中,依据用户的配置隐私设置,以上的两者对社交网络系统的其他用户而言是可访问的。本文中,术语“朋友”可以指用户经由社交网络系统已与之形成连接、关联或关系的社交网络系统中的任何其他用户。
图20示出了社交网络系统的示例网络环境2000。网络环境2000包括客户端设备2006、网络系统2002(例如,社交网络系统和/或电子消息收发系统)以及通过网络2004而连接到彼此的第三方系统2008。尽管图20示出了客户端设备2006、网络系统2002、第三方系统2008和网络2004的特定布置,但本公开考虑了客户端设备2006、网络系统2002、第三方系统2008和网络2004的任何合适的布置。作为示例而非通过限制,客户端设备2006、网络系统2002和第三方系统2008中的两者或更多者可以绕过网络2004而直接连接到彼此。作为另一示例,客户端设备2006、网络系统2002和第三方系统2008中的两者或更多者可以彼此在物理上或逻辑上整体或部分地位于同一位置。此外,尽管图20示出了特定数量的客户端设备2006、网络系统2002、第三方系统2008和网络2004,但本公开考虑任何合适数量的客户端设备2006、网络系统2002、第三方系统2008和网络2004。作为示例而非通过限制,网络环境2000可以包括多个客户端设备2006、多个网络系统2002、多个第三方系统2008和多个网络2004。
本公开考虑了任何合适的网络2004。作为示例而非通过限制,网络2004的一个或多个部分可以包括自组网、内联网、外联网、虚拟专用网络(virtual private network,VPN)、局域网(local area network,LAN)、无线局域网(wireless LAN,WLAN)、广域网(widearea network,WAN)、无线广域网(wireless WAN,WWAN)、城域网(metropolitan areanetwork,MAN)、因特网的一部分、公共交换电话网络(Public Switched TelephoneNetwork,PSTN)的一部分、蜂窝电话网络、或这些网络中的两个或更多个网络的组合。网络2004可以包括一个或多个网络2004。
链路可以将客户端设备2006、网络系统2002和第三方系统2008连接到通信网络2004或连接到彼此。本公开考虑任何合适的链路。在特定实施例中,一个或多个链路包括一个或多个有线链路(例如数字用户线路(Digital Subscriber Line,DSL)或电缆数据服务接口规范(Data Over Cable Service Interface Specification,DOCSIS))、无线链路(例如Wi-Fi或全球微波接入互操作性(Worldwide Interoperability for MicrowaveAccess,WiMAX))或光学链路(例如同步光纤网络(Synchronous Optical Network,SONET)或同步数字系列(Synchronous Digital Hierarchy,SDH))。在特定实施例中,一条或多条链路各自包括自组网、内联网、外联网、VPN、LAN、WLAN、WAN、WWAN、MAN、因特网的一部分、PSTN的一部分、基于蜂窝技术的网络、基于卫星通信技术的网络、另一链路、或两条或更多条这些链路的组合。在整个网络环境2000中,多条链路不一定是相同的。在一个或多个方面,一条或多条第一链路可以不同于一条或多条第二链路。
在特定实施例中,客户端设备2006可以是包括硬件、软件、或嵌入式逻辑部件或两个或更多个这种部件的组合的电子设备,并且该电子设备能够执行由客户端设备2006实现或支持的适当功能。作为示例而非通过限制,客户端设备2006可以包括计算机系统,该计算机系统例如为增强现实显示设备、台式计算机、笔记本或膝上型计算机、上网本、平板计算机、电子书阅读器、GPS设备、摄像头、个人数字助理(PDA)、手持电子设备、蜂窝电话、智能手机、其他合适的电子设备、或它们的任何合适的组合。本公开考虑了任何合适的客户端设备2006。客户端设备2006可以使客户端设备2006处的网络用户能够接入网络2004。客户端设备2006可以使其用户能够与其他客户端设备2006处的其他用户通信。
在特定实施例中,客户端设备2006可以包括网页浏览器,并且可以具有一个或多个附属件、插件或其他扩展件。客户端设备2006处的用户可以进入全球资源定位器(Uniform Resource Locator,URL)或进入将网页浏览器引导到特定服务器(例如,服务器或与第三方系统2008相关联的服务器)的其它地址,并且该网页浏览器可以生成超文本传输协议(Hyper Text Transfer Protocol,HTTP)请求并将该HTTP请求传送到服务器。服务器可以接收HTTP请求,并且响应于该HTTP请求向客户端设备2006传送一个或多个超文本标记语言(Hyper Text Markup Language,HTML)文件。客户端设备2006可以基于来自服务器的HTML文件呈现网页以用于呈现给用户。本公开考虑了任何合适的网页文件。作为示例而非通过限制,网页可以根据特定需要而根据HTML文件、可扩展超文本标记语言(ExtensibleHyper Text Markup Language,XHTML)文件或可扩展标记语言(Extensible MarkupLanguage,XML)文件来呈现。这些页面还可以执行脚本,例如但不限于,用JAVASCRIPT、JAVA、MICROSOFTSILVERLIGHT、以及标记语言和诸如AJAX(异步JAVASCRIPT和XML)等脚本的组合等编写的那些脚本。在本文中,在适当的情况下,对网页的引用包含一个或多个对应的网页文件(浏览器可以使用该一个或多个对应的网页文件来呈现网页),反之亦然。
在特定实施例中,网络系统2002可以是可托管在线社交网络的网络可寻址计算系统。网络系统2002可以生成、存储、接收和发送社交网络数据,该社交网络数据例如为用户资料数据、概念资料(concept-profile)数据、社交图谱信息、或与在线社交网络相关的其他合适的数据。网络系统2002可以要么被网络环境2000中的其他组件直接访问,要么经由网络2004被网络环境2000中的其他组件访问。在特定实施例中,网络系统2002可以包括一个或多个服务器。每个服务器可以是单一服务器、或跨越多个计算机或多个数据中心的分布式服务器。服务器可以具有各种类型,例如但不限于,网页服务器、新闻服务器、邮件服务器、消息服务器、广告服务器、文件服务器、应用服务器、交换服务器、数据库服务器、代理服务器、适于执行本文所描述的功能或过程的另一服务器、或它们的任何组合。在特定实施例中,每个服务器可以包括用于执行由服务器实现或支持的适当功能的硬件、软件、或嵌入式逻辑部件或两个或更多个这种部件的组合。在特定实施例中,网络系统2002可以包括一个或多个数据存储库。数据存储库可以用于存储各种类型的信息。在特定实施例中,可以根据特定数据结构来组织存储在数据存储库中的信息。在特定实施例中,每个数据存储器可以是关系型(relational)数据库、列式(columnar)数据库、关联(correlation)数据库、或其他合适的数据库。尽管本公开描述了或示出了特定类型的数据库,但本公开考虑了任何合适类型的数据库。特定实施例可以提供使客户端设备2006、网络系统2002或第三方系统2008能够管理、检索、修改、添加或删除存储在数据存储中的信息的接口。
在特定实施例中,网络系统2002可以将一个或多个社交图谱存储在一个或多个数据存储库中。在特定实施例中,社交图谱可以包括多个节点—其可以包括多个用户节点(每个用户节点对应于特定用户)或多个概念节点(每个概念节点对应于特定概念)—以及连接这些节点的多条边。网络系统2002可以向在线社交网络的用户提供与其他用户通信和交互的能力。在特定实施例中,用户可以经由网络系统2002加入在线社交网络,并且然后将连接(例如,关系)添加到网络系统2002中他们想要连接到的多个其他用户。在本文中,术语“朋友”可以指网络系统2002中的、一用户已经经由网络系统2002与之形成连接、关联或关系的任何其他用户。
在特定实施例中,网络系统2002可以向用户提供对由网络系统2002支持的各种类型的项目或对象采取行动的能力。作为示例而非通过限制,项目和对象可以包括网络系统2002的用户可以属于的组或社交网络、用户可能感兴趣的事件或日程表条目、用户可以使用的基于计算机的应用、允许用户经由服务购买或售卖项目的交易、用户可执行的与广告的交互、或其他合适的项目或对象。用户可以与能够在网络系统2002中展示的或由第三方系统2008的外部系统展示的任何事物交互,该第三方系统2008的外部系统与网络系统2002分开并且经由网络2004耦接到网络系统2002。
在特定实施例中,网络系统2002可能能够链接各种实体。作为示例而非通过限制,网络系统2002可以使多个用户能够彼此交互,以及接收来自第三方系统2008或其他实体的内容,或者允许用户通过应用程序编程接口(API)或其他通信信道与这些实体交互。
在特定实施例中,第三方系统2008可以包括一种或多种类型的服务器、一个或多个数据存储库、一个或多个接口,该一个或多个接口包括但不限于,API、一个或多个网页服务、一个或多个内容源、一个或多个网络、或任何其他合适的部件(例如,服务器可以与其通信)。第三方系统2008可以由与操作网络系统2002实体不同的实体操作。然而,在特定实施例中,网络系统2002和第三方系统2008可以彼此结合操作,以向网络系统2002或第三方系统2008的用户提供社交网络服务。在这种意义中,网络系统2002可以提供平台或中枢(backbone),其他系统(例如,第三方系统2008)可以使用该平台或中枢在因特网上向用户提供社交网络服务和功能。
在特定实施例中,第三方系统2008可以包括第三方内容对象提供器。第三方内容对象提供器可以包括内容对象的一个或多个源,该内容对象的一个或多个源可以被传送到客户端设备2006。作为示例而非通过限制,内容对象可以包括关于用户感兴趣的事物或活动的信息,例如电影放映时间、电影评论、餐厅评论、餐厅菜单、产品信息和评论、或其他合适的信息。作为另一示例而非通过限制,内容对象可以包括激励内容对象,例如优惠券、折扣券、礼品券、或其它合适的激励内容对象。
在特定实施例中,网络系统2002还包括多个用户生成的内容对象,这些用户生成的内容对象可以加强用户与网络系统2002的交互。用户生成的内容对象可以包括用户可向网络系统2002添加、上传、发送、或“发布”的任何内容。作为一示例而非通过限制,用户将帖子从客户端设备2006传送到网络系统2002。帖子可以包括诸如状态更新或其他文本数据、位置信息、照片、视频、链接、音乐、或其他类似数据或媒体等数据。还可由第三方系统2008通过“通信信道”(例如,新闻馈送或流)将内容添加到网络系统2002。
在特定实施例中,网络系统2002可以包括各种服务器、子系统、程序、模块、日志和数据存储库。在特定实施例中,网络系统2002可以包括以下中的一个或多个:网页服务器、操作日志记录器(action logger)、API请求服务器、相关性和排名引擎(relevance-and-rank engine)、内容对象分类器、通知控制器、操作日志、第三方内容对象公布日志(third-party-content-object-exposure log)、推理模块、授权/隐私服务器、搜索模块、广告定向模块(advertisement-targeting module)、用户界面模块、用户资料存储库、连接存储库、第三方内容存储库、或位置存储库。网络系统2002还可以包括诸如网络接口、安全机构、负载平衡器(load balancer)、故障切换(failover)服务器、管理和网络操作控制台(management-and-network-operation console)、其他合适的部件、或它们的任何合适组合等合适的部件。在特定实施例中,网络系统2002可以包括用于存储用户资料的一个或多个用户资料存储库。用户资料例如可以包括生物信息、人口统计信息、行为信息、社交信息、或其他类型的描述性信息,这些类型的描述性信息例如为工作经历、教育历史、爱好或偏好、兴趣、亲密度、或位置。兴趣信息可以包括与一个或多个类别相关的兴趣。这些类别可以是通用的或特定的。作为一示例而非通过限制,如果用户“喜欢”关于鞋的品牌的物品,则该类别可以是品牌、或“鞋”或“衣服”的一般类别。连接存储库可以用于存储关于用户的连接信息。连接信息可以指示具有相似或共同工作经历、组成员资格、爱好、教育历史的用户,或者指示以任何方式与共同属性相关或共享共同属性的用户。连接信息还可以包括不同用户和内容(内部和外部两者)之间的用户定义连接。网页服务器可以用于经由网络2004将网络系统2002链接到一个或多个客户端设备2006或一个或多个第三方系统2008。网页服务器可以包括邮件服务器、或用于在网络系统2002与一个或多个客户端设备2006之间接收和路由消息的其他消息收发功能。API请求服务器可以允许第三方系统2008通过调用一个或多个API从网络系统2002访问信息。操作日志记录器可以用于接收来自网页服务器的关于用户打开或关闭网络系统2002的动作的信息。结合操作日志,可以维护对第三方内容对象的用户公布的第三方内容对象日志。通知控制器可以向客户端设备2006提供关于内容对象的信息。可以将信息作为通知推送到客户端设备2006,或者可以响应于接收到来自客户端设备2006的请求而从客户端设备2006提取信息。
授权服务器可以用于对网络系统2002执行一个或多个用户的隐私设置。用户的隐私设置确定可以如何共享与用户相关联的特定信息。授权服务器例如可以通过设置合适的隐私设置,来允许用户选择允许或选择不允许网络系统2002记录它们的动作或与其他系统(例如,第三方系统2008)共享它们的动作。第三方内容对象存储库可以用于存储接收到的来自第三方(例如,第三方系统2008)的内容对象。位置存储库可以用于存储接收到的来自与用户相关联的客户端设备2006的位置信息。广告定价模块(Advertisement-pricingmodule)可以结合社交信息、当前时间、位置信息或其他合适的信息,来以通知的形式向用户提供相关广告。
图21示出了示例社交图谱2100。在特定实施例中,网络系统2002可以将一个或多个社交图谱2100存储在一个或多个数据存储库中。在特定实施例中,社交图谱2100可以包括多个节点—其可以包括多个用户节点2102或多个概念节点2104—以及连接这些节点的多条边2106。出于教导的目的,图21所示的示例社交图谱2100以二维可视化图谱表示形式显示。在特定实施例中,网络系统2002、客户端设备2006或第三方系统2008可以访问社交图谱2100和相关的社交图谱信息,以用于合适的应用。社交图谱2100的多个节点和多条边例如可以作为数据对象而存储在数据存储库(例如社交图谱数据库)中。这种数据存储库可以包括社交图谱2100的多个节点或多条边的一个或多个可搜索或可查询的索引。
在特定实施例中,用户节点2102可以对应于网络系统2002的用户。作为一示例而非通过限制,用户可以是个体(人类用户)、实体(例如,企业、公司或第三方应用)、或与网络系统2002交互或通信或通过网络系统2002交互或通信的组(例如,个体组或实体组)。在特定实施例中,当用户在网络系统2002上注册账户时,网络系统2002可以创建与该用户相对应的用户节点2102,并将该用户节点2102存储在一个或多个数据存储库中。在适当的情况下,本文所描述的用户和用户节点2102可以指注册用户和与注册用户相关联的用户节点2102。附加地或作为替代,在适当的情况下,本文所描述的用户和用户节点2102可以指未在网络系统2002上注册的用户。在特定实施例中,用户节点2102可以与由用户提供的信息或由各种系统(其包括网络系统2002)收集的信息相关联。作为一示例而非通过限制,用户可以提供他或她的姓名、资料图片、联系信息、出生日期、性别、婚姻状况、家庭状况、职业、教育背景、偏好、兴趣、或其他人口统计信息。在特定实施例中,用户节点2102可以与一个或多个数据对象相关联,该一个或多个数据对象对应于与用户相关联的信息。在特定实施例中,用户节点2102可以对应于一个或多个网页。
在特定实施例中,概念节点2104可以对应于概念。作为一示例而非通过限制,概念可以对应于地点(例如,电影院、餐馆、地标、或城市)、网站(例如,与网络系统2002相关联的网站、或与web应用服务器相关联的第三方网站)、实体(例如,人、公司、组、运动队、或名人)、可位于网络系统2002内或外部服务器(例如,web应用服务器)上的资源(例如,音频文件、视频文件、数字照片、文本文件、结构化文档、或应用程序)、不动产或知识产权(例如,雕塑、绘画、电影、游戏、歌曲、想法、照片、或书面作品)、游戏、活动、想法或理论、另一合适的概念、或两个或更多个这种概念。概念节点2104可以与由用户提供的概念的信息或由各种系统(其包括网络系统2002)收集的信息相关联。作为示例而非通过限制,概念的信息可以包括名称或标题、一个或多个图像(例如,书的封面页的图像)、位置(例如,地址或地理位置)、网站(其可以与URL相关联)、联系信息(例如,电话号码或电子邮件地址)、其他合适的概念信息、或这种信息的任何合适的组合。在特定实施例中,概念节点2104可以与一个或多个数据对象相关联,该一个或多个数据对象对应于与概念节点2104相关联的信息。在特定实施例中,概念节点2104可以对应于一个或多个网页。
在特定实施例中,社交图谱2100中的节点可以表示网页(其可以被称为“资料页面”)或者由网页表示。资料页面可以由网络系统2002托管或访问。资料页面还可以被托管在与第三方系统2008相关联的第三方网站上。作为一示例而非通过限制,对应于特定外部网页的资料页面可以是特定外部网页,并且该资料页面可以对应于特定概念节点2104。资料页面可以由所有其他用户或所选择的其他用户的子集查看。作为一示例而非通过限制,用户节点2102可以具有对应的用户资料页面,在对应的用户资料页面中,对应的用户可以添加内容、做出声明、或以其他方式表达他自己或她自己。作为另一示例而非通过限制,概念节点2104可以具有对应的概念资料页面,在对应的概念资料页面中,一个或多个用户可以添加内容、做出声明、或表达他们自己,特别是在对应于概念节点2104的概念方面。
在特定实施例中,概念节点2104可以表示由第三方系统2008托管的第三方网页或资源。第三方网页或资源可以包括其他元素之中的内容、可选图标或其他图标、或表示动作或活动的其他可交互对象(其例如可以用JavaScript、AJAX或PHP代码实现)。作为一示例而非通过限制,第三方网页可以包括诸如“喜欢”、“签到”、“吃”、“推荐”或其他合适的动作或活动等可选图标。查看第三方网页的用户可以通过选择多个图标中的一个图标(例如,“吃”)来执行动作,从而使得客户端设备2006向网络系统2002发送指示用户动作的消息。响应于该消息,网络系统2002可以在对应于用户的用户节点2102与对应于第三方网页或资源的概念节点2104之间创建边(例如,“吃”边),并且将边2106存储在一个或多个数据存储库中。
在特定实施例中,社交图谱2100中的一对节点可以通过一个或多个边2106而连接到彼此。连接一对节点的边2106可以表示这对节点之间的关系。在特定实施例中,边2106可以包括或表示与一对节点之间的关系相对应的一个或多个数据对象或属性。作为一示例而非通过限制,第一用户可以指示第二用户是第一用户的“朋友”。响应于该指示,网络系统2002可以向第二用户发送“朋友请求”。如果第二用户确认该“朋友请求”,则网络系统2002可以在社交图谱2100中创建将第一用户的用户节点2102连接到第二用户的用户节点2102的边2106,并将该边2106作为社交图谱信息存储在多个数据存储库中的一个或多个数据存储库中。在图21的示例中,社交图谱2100包括指示用户“A”与用户“B”的用户节点2102之间的朋友关系的边2106、以及指示用户“C”与用户“B”的用户节点2102之间的朋友关系的边。尽管本公开描述或示出了具有连接特定用户节点2102的特定属性的特定边2106,但本公开考虑具有连接用户节点2102的任何合适属性的任何合适的边2106。作为一示例而非通过限制,边2106可以表示朋友关系、家庭关系、商业或雇佣关系、粉丝关系、随从关系、访客关系、订户关系、上级/下级关系、互惠关系、非互惠关系、另一合适类型的关系、或两种或更多种这种关系。此外,尽管本公开总体上将节点描述为正被连接,但本公开也将用户或概念描述为正被连接。在本文中,在适当的情况下,对正被连接的用户或概念的引用可以指对应于那些用户或概念的节点正在社交图谱2100中被一条或多条边2106连接。
在特定实施例中,用户节点2102和概念节点2104之间的边2106可以表示由与用户节点2102相关联的用户向与概念节点2104相关联的概念执行的特定动作或活动。作为一示例而非通过限制,如图21所示,用户可以“喜欢”、“定期去”、“播放”、“收听”、“烹饪”、“工作在”或“观看”概念,以上中的每个可以对应于边类型或子类型。对应于概念节点2104的概念资料页面例如可以包括可选的“签到”图标(例如,可点击的“签到”图标)或可选的“添加到收藏夹”图标。类似地,在用户点击这些图标之后,网络系统2002可以响应于与相应动作相对应的用户动作而创建“喜欢”边或“签到”边。作为另一示例而非通过限制,用户(用户“C”)可以使用特定应用程序(音乐(MUSIC),其是在线音乐应用程序)来收听特定歌曲(“继续漫步(Ramble On)”)。在这种情况下,网络系统2002可以在对应于用户的用户节点2102与对应于歌曲和应用程序的概念节点2104之间创建“收听”边2106和“使用”边(如图21所示),以指示用户收听歌曲并使用该应用程序。此外,网络系统2002可以在对应于歌曲的多个概念节点2104与应用程序之间创建“播放”边2106(如图21所示),以指示特定应用程序播放了特定歌曲。在这种情况下,“播放”边2106对应于由外部应用程序(MUSIC)在外部音频文件(歌曲“想象(Imagine)”)上执行的动作。尽管本公开描述了具有连接用户节点2102和概念节点2104的特定属性的特定边2106,但本公开考虑了具有连接用户节点2102和概念节点2104的任何合适的属性的任何合适的边2106。此外,尽管本公开描述了用户节点2102和概念节点2104之间的表示单个关系的边,但本公开考虑了用户节点2102和概念节点2104之间的表示一个或多个关系的边。作为一示例而非通过限制,边2106可以表示用户喜欢特定概念和用户已使用特定概念这两者。替代地,另一边2106可以表示用户节点2102和概念节点2104之间(如图21所示的、用户“E”的用户节点2102与“MUSIC”的概念节点2104之间)的每种类型的关系(或单个关系的倍数)。
在特定实施例中,网络系统2002可以在社交图谱2100中的用户节点2102与概念节点2104之间创建边2106。作为一示例而非通过限制,查看概念资料页面(例如,通过使用由用户的客户端设备2006托管的web浏览器或专用应用程序)的用户可以通过点击或选择“喜欢”图标,来指示他或她喜欢由概念节点2104表示的概念,这可以使得用户的客户端设备2006向网络系统2002发送指示用户喜欢与概念资料页面相关联的概念的消息。响应于该消息,网络系统2002可以在与用户相关联的用户节点2102与概念节点2104之间创建边2106,如用户节点与概念节点2104之间的“喜欢”边2106所示。在特定实施例中,网络系统2002可以将边2106存储在一个或多个数据存储库中。在特定实施例中,边2106可以由网络系统2002响应于特定用户动作而自动形成。作为一示例而非通过限制,如果第一用户上传图片、看电影或听歌,则可以在对应于第一用户的用户节点2102与对应于这些概念的概念节点2104之间形成边2106。尽管本公开描述了以特定方式形成特定边2106,但本公开考虑了以任何合适的方式形成任何合适的边2106。
在特定实施例中,广告可以是文本(其可以是HTML链接的)、一个或多个图像(其可以是HTML链接的)、一个或多个视频、音频、一个或多个动画制作(ADOBE FLASH)文件、这些的合适组合,或以任何合适的数字格式在一个或多个网页上、在一个或多个电子邮件中、或结合用户请求的搜索结果而呈现的任何其他合适的广告。附加地或作为替代,广告可以是一个或多个赞助商内容(sponsored story)(例如,网络系统2002上的新闻馈送或报价项目)。赞助商内容可以是广告商推广(例如,通过使社交动作呈现在用户或其他页面的资料页面的预定区域内、呈现有与广告商相关联的附加信息、在其他用户的新闻馈送或报价内凸出或以其他方式突出显示、或以其他方式推广)的用户的社交动作(例如,“喜欢”页面、“喜欢”或评论页面上的帖子、对与页面相关联的事件进行回应、对在页面上发布的问题进行投票、到一地方签到、使用应用程序或玩游戏、或“喜欢”或共享网站)。广告商可以付费以使社交动作被推广。作为一示例而非通过限制,广告可以被包括在搜索结果页面的搜索结果之中,其中赞助商内容在非赞助商内容上被推广。
在特定实施例中,可以请求广告以用于在社交网络系统网页、第三方网页或其他页面内显示。广告可以显示在页面的专用部分中,例如在页面顶部的横幅广告区域中,在页面的侧面处的列中,在页面的图形用户界面(GUI)中,在弹出窗口中,在下拉菜单中,在页面的输入信息栏中,在页面内容的顶部上,或者在相对于页面的其他地方。附加地或作为替代,广告可以显示在应用程序内。广告可以显示在专用页面内,从而在用户可以访问页面或利用应用程序之前,要求用户与广告交互或者看广告。用户例如可以通过web浏览器查看广告。
用户可以以任何合适的方式与广告交互。用户可以点击或以其他方式选择广告。通过选择广告,用户可被引导到与该广告相关联的页面(或正被用户使用的浏览器或其它应用程序)。在与广告相关联的页面处,用户可以进行附加动作,例如购买与广告相关联的产品或服务、接收与广告相关联的信息、或订阅与广告相关联的简报(newsletter)。可以通过选择广告的组件(如“播放按钮”)来播放具有音频或视频的广告。替代地,网络系统2002可以通过选择广告,来执行或修改用户的特定动作。
广告还可以包括用户可与之交互的社交网络系统功能。作为一示例而非通过限制,广告可以使用户能够通过选择与签发(endorsement)相关联的图标或链接来“喜欢”或以其他方式签发该广告。作为另一示例而非通过限制,广告可以使用户能够搜索(例如,通过执行查询来搜索)与广告商相关的内容。类似地,用户可以与另一用户共享广告(例如,通过网络系统2002)或对与广告相关联的事件进行回应(RSVP)(例如,通过网络系统2002)。另外或作为替代,广告可以包括针对用户的社交网络系统环境。作为一示例而非通过限制,广告可以在网络系统2002内显示关于已经采取与广告的主题相关联的动作的用户的朋友的信息。
在特定实施例中,网络系统2002可以确定各种社交图谱实体对于彼此的社交图谱亲密度(在本文中可以称为“亲密度”)。亲密度可以表示与在线社交网络相关联的特定对象(例如,用户、概念、内容、动作、广告、与在线社交网络相关联的其他对象、或它们的任何合适的组合)之间的关系或感兴趣程度的强度。还可以确定关于与第三方系统2008或其他合适的系统相关联的对象的亲密度。可以建立每个用户、每个主题或每种类型的内容的社交图谱实体的总亲密度。总亲密度可以基于对与社交图谱实体相关联的动作或关系的继续监测而改变。尽管本公开描述了以特定方式确定特定亲密度,但本公开考虑了以任何合适的方式确定任何合适的亲密度。
在特定实施例中,网络系统2002可以使用亲密度系数(在本文中可以被称为“系数”)来测量或量化社交图谱亲密度。系数可以表示或量化与在线社交网络相关联的特定对象之间的关系的强度。系数还可以表示基于用户对动作的兴趣来测量用户将执行特定动作的预测概率的概率或函数。以这种方式,可以基于用户的先前动作来预测用户的未来动作,其中可以至少部分地基于用户动作的历史来计算系数。系数可用于预测任何数目的动作,该任何数量的动作可在在线社交网络内或外部。作为一示例而非通过限制,这些动作可以包括各种类型的通信(例如,发送消息、发布内容或评论内容)、各种类型的观察动作(例如,访问或查看资料页面、媒体或其他合适的内容)、关于两个或更多个社交图谱实体的各种类型的一致性信息(例如,在同一组中的信息、在同一照片中标记的信息、在同一位置签到的信息、或定期去同一事件的信息)、或其他合适的动作。尽管本公开描述了以特定方式测量亲密度,但本公开考虑了以任何合适的方式测量亲密度。
在特定实施例中,网络系统2002可以使用各种因素来计算系数。这些因素例如可以包括用户动作、对象之间的关系类型、位置信息、其他合适的因素、或它们的任意组合。在特定实施例中,当计算系数时,可以对不同的因素进行不同地加权。每个因素的权重可以是静态的,或者这些权重可以例如根据用户、关系类型、动作类型、用户的位置等改变。可以根据这些因素的权重对这些因素的等级进行组合,以确定用户的总系数。作为一示例而非通过限制,可以为特定用户动作分配等级和权重两者,同时为与该特定用户动作相关联的关系分配等级和相关权重(例如,使得权重总和为100%)。为了计算用户对于特定对象的系数,分配给用户动作的等级例如可以包括总系数的60%,而分配给用户和对象之间的关系的等级可以包括总系数的40%。在特定实施例中,网络系统2002在确定用于计算系数的各种因素的权重时,可以考虑各种变量,这些变量例如为,自访问信息以来的时间、衰减因子、访问频率、与信息的关系或与被访问信息的对象的关系、与连接到对象的社交图谱实体的关系、用户动作的短期平均值或长期平均值、用户反馈、其他合适的变量、或它们的任意组合。作为一示例而非通过限制,当计算系数时,系数可以包括衰减因子,该衰减因子使由特定动作提供的信号的强度随时间衰减,使得更近的动作更相关。可以基于对系数所基于的动作的持续追踪来持续地更新等级和权重。可以采用任何类型的过程或算法,来对每个因素的等级以及分配给这些因素的权重进行分配、组合、平均等。在特定实施例中,网络系统2002可以使用基于历史动作和过去的用户响应而训练的机器学习算法、或者通过向用户暴露各种选项并测量响应而获取的来自用户的数据来确定系数。尽管本公开描述了以特定方式计算系数,但本公开考虑了以任何合适方式计算系数。
在特定实施例中,网络系统2002可以基于用户的动作来计算系数。网络系统2002可以在在线社交网络上、在第三方系统2008上、在其他合适的系统上、或它们的任何组合上监视这种动作。可以追踪或监视任何合适类型的用户动作。典型的用户动作包括查看资料页面、创建或发布内容、与内容交互、加入组、列出和确认出席事件、在位置处签到、喜欢特定页面、创建页面、以及执行有利于社交动作的其他任务。在特定实施例中,网络系统2002可以基于用户对特定类型的内容的动作来计算系数。内容可以与在线社交网络、第三方系统2008或其他合适的系统相关联。内容可以包括用户、资料页面、帖子、新闻故事、标题、即时消息、聊天室对话、电子邮件、广告、图片、视频、音乐、其他合适的对象、或它们的任意组合。网络系统2002可以分析用户的动作以确定多个动作中的一个或多个动作是否指示对主题、内容、其他用户等的亲密度。作为一示例而非通过限制,如果用户可能频繁地发布与“咖啡”或其变型相关的内容,则网络系统2002可以确定用户相对于概念“咖啡”具有高系数。可以为特定动作或特定类型的动作分配比其它动作更高的权重和/或等级,跟高的权重和/或等级可以影响所计算的总系数。作为一示例而非通过限制,在第一用户向第二用户发送电子邮件的情况下,该动作的权重或等级可以比在第一用户仅查看第二用户的用户资料页面的情况下的权重或等级高。
在特定实施例中,网络系统2002可以基于特定对象之间的关系的类型来计算系数。参考社交图谱2100,当计算系数时,网络系统2002可以分析连接特定用户节点2102和概念节点2104的边2106的数量和/或类型。作为一示例而非通过限制,与通过朋友型边而连接的多个用户节点2102相比,通过配偶型边(表示两个用户已结婚)而连接的用户节点2102可以被分配更高的系数。也就是说,取决于分配给特定用户的动作和关系的权重,可以确定关于用户的配偶的内容的总亲密度比关于用户的朋友的内容的总亲密度更高。在特定实施例中,用户与另一对象的关系可以影响用户关于计算该对象的系数的动作的权重和/或等级。作为一示例而非通过限制,如果用户在第一照片中被标记,但该用户仅仅喜欢第二照片,则网络系统2002可以确定用户相对于第一照片的系数高于用户相对于第二照片的系数,因为相比于与内容具有喜欢类型的关系,与内容具有标记类型的关系可以被分配更高的权重和/或等级。在特定实施例中,网络系统2002可以基于一个或多个第二用户与特定对象的关系来计算第一用户的系数。也就是说,其他用户与对象的连接和系数可以影响第一用户与对象的系数。作为一示例而非通过限制,如果第一用户被连接到一个或多个第二用户或对一个或多个第二用户具有高系数,并且那些第二用户被连接到特定对象或对特定对象具有高系数,则网络系统2002可以确定第一用户也应对特定对象具有相对较高的系数。在特定实施例中,系数可以基于特定对象之间的分开度。较低系数可以表示降低第一用户共享与社交图谱2100中第一用户间接连接的用户的内容对象的兴趣的可能性。作为一示例而非通过限制,与在社交图谱2100中更分开的社交图谱实体相比,在社交图谱2100中更接近的社交图谱实体(即,更少的分开度)可以具有更高的系数。
在特定实施例中,网络系统2002可以基于位置信息来计算系数。在地理上更靠近彼此的对象可以被认为彼此比更远的对象更相关或更感兴趣。在特定实施例中,用户对于特定对象的系数可以基于对象的位置同与用户相关联的当前位置(或用户的客户端设备2006的位置)的接近度。第一用户可能对更靠近第一用户的其他用户或概念更感兴趣。作为一示例而非通过限制,如果用户距机场一英里且距加油站两英里,则网络系统2002可以基于机场与用户的接近度,来确定用户对于机场比对于加油站具有更高的系数。
在特定实施例中,网络系统2002可以基于系数信息来执行关于用户的特定动作。系数可以用于基于用户对动作的兴趣来预测用户是否将执行特定动作。当生成或向用户呈现任何类型的对象时,可以使用系数,这些类型的对象例如为广告、搜索结果、新闻故事、媒体、消息、通知、或其他合适的对象。在适当的情况下,系数还可以用于对这些对象进行排名(rank)和排序(order)。以这种方式,网络系统2002可以提供与用户的兴趣和当前环境相关的信息,从而增加他们将找到这种感兴趣的信息的可能性。在特定实施例中,网络系统2002可以基于系数信息生成内容。可以基于特定于一用户的系数来提供或选择内容对象。作为一示例而非通过限制,系数可以用于生成针对用户的媒体,其中可以向用户呈现用户相对于媒体对象具有高总系数的媒体。作为另一示例而非通过限制,系数可以用于生成针对用户的广告,其中可以向用户呈现用户相对于所广告的对象具有高总系数的广告。在特定实施例中,网络系统2002可以基于系数信息生成搜索结果。可以基于与关于查询用户的搜索结果相关联的系数,来对针对特定用户的搜索结果进行评分或排名。作为一示例而非通过限制,在搜索结果页面上,与具有较高系数的对象相对应的搜索结果可以比与具有较低系数的对象相对应的结果排名更高。
在特定实施例中,网络系统2002可以响应于对来自特定系统或进程的系数的请求来计算系数。为了预测用户在给定情况下可能采取的可能动作(或者可能是动作的主题),任何过程都可以请求所计算的针对用户的系数。该请求还可以包括用于各种因素的一组权重,这些因素用于计算系数。该请求可以来自在在线社交网络上运行的过程、来自第三方系统2008(例如,经由API或其他通信信道)、或来自另一合适的系统。响应于该请求,网络系统2002可以计算系数(或者,在系数信息先前已经被计算和存储的情况下,访问该系数信息)。在特定实施例中,网络系统2002可以测量关于特定过程的亲密度。不同的过程(在线社交网络的内部的过程和外部的过程这两者)可以请求特定对象的系数或一组对象的系数。网络系统2002可以提供与请求亲密度测量的特定过程相关的亲密度的测量结果。以这种方式,每个过程接收针对不同背景定制的亲密度测量结果,在该背景下,过程将使用该亲密度测量结果。
结合社交图谱亲密度和亲密度系数,特定实施方式可以利用于2006年8月11日提交的第11/503093号美国专利申请、于2010年12月22日提交的第12/977027号美国专利申请、于2010年12月23日提交的第12/978265号美国专利申请、以及于2012年10月1日提交的第13/632869号美国专利申请中所公开的一个或多个系统、部件、元件、功能、方法、动作或步骤,这些申请中的每个通过引用被结合。
在特定实施例中,在线社交网络的多个内容对象中的一个或多个内容对象可以与隐私设置相关联。可以以任何合适的方式存储对象的隐私设置(或“访问设置”),这些合适的方式例如为与对象相关联、以授权服务器中的索引的方式、以另一合适的方式、或它们的任意组合。对象的隐私设置可以指定可以如何使用在线社交网络访问(例如,查看或共享)对象(或与对象相关联的特定信息)。在对象的隐私设置允许特定用户访问该对象的情况下,该对象可以被描述为相对于该用户是“可见的”。作为一示例而非通过限制,在线社交网络的用户可以为用户资料页面指定隐私设置,该隐私设置标识可以访问用户资料页面上的工作经历信息的一组用户,从而排除其他用户来访问该信息。在特定实施例中,隐私设置可以指定不应被允许访问与对象相关联的某些信息的用户的“被阻挡列表”。也就是说,被阻挡列表可以指定对象对其不可见的一个或多个用户或实体。作为一示例而非通过限制,用户可以指定可不访问与用户相关联的相册的一组用户,从而排除那些用户来访问相册(同时还可允许不在该组用户内的某些用户访问相册)。在特定实施例中,隐私设置可以与特定社交图谱元素相关联。社交图谱元素(例如,节点或边)的隐私设置可以指定可以如何使用在线社交网络来访问社交图谱元素、与社交图谱元素相关联的信息、或与社交图谱元素相关联的内容对象。作为一示例而非通过限制,与特定照片相对应的特定概念节点2104可以具有指定照片可以仅由照片中所标记的用户及其朋友访问的隐私设置。在特定实施例中,隐私设置可以允许用户选择允许或选择不允许使他们的动作被网络系统2002记录或与其他系统(例如,第三方系统2008)共享。在特定实施例中,与对象相关联的隐私设置可以指定允许访问或拒绝访问的任何合适的粒度。作为一示例而非通过限制,可以针对特定用户(例如,仅我、我的室友和我的老板)、特定分开度内的用户(例如,朋友、或朋友的朋友)、用户组(例如,游戏俱乐部、我的家庭)、用户网络(例如,特定雇主的雇员、特定大学的学生或校友)、所有用户(“公共”)、没有用户(“私人”)、第三方系统2008的用户、特定应用程序(例如,第三方应用程序、外部网站)、其他合适的用户或实体、或它们的任意组合来指定访问或拒绝访问。尽管本公开描述了以特定方式使用特定隐私设置,但本公开考虑了以任何合适的方式使用任何合适的隐私设置。
在特定实施例中,一个或多个服务器可以是用于执行隐私设置的授权/隐私服务器。响应于来自用户(或其他实体)的对存储在数据存储库中的特定对象的请求,网络系统2002可以向数据存储库发送对对象的请求。如果授权服务器基于与对象相关联的隐私设置确定用户被授予了访问对象的权限,则该请求可以识别与该请求相关联的用户并且可以仅被发送到该用户(或该用户的客户端设备2006)。如果请求用户未被授予访问对象的权限,则授权服务器可以防止从数据存储库检索所请求的对象,或者可以防止向用户发送所请求的对象。在搜索查询情况中,如果查询用户被授予了访问对象的权限,则仅可以将该对象生成为搜索结果。也就是说,对象必须具有对查询用户可见的可见性。如果对象具有对用户不可见的可见性,则可以从搜索结果中排除该对象。尽管本公开描述了以特定方式执行隐私设置,但本公开考虑了以任何合适的方式执行隐私设置。
参考前述说明书中的特定示例性实施例对前述说明书进行了描述。参考本文所论述的细节描述了本公开的各种实施例和方面,并且附图示出了各种实施例。以上描述和附图是说明性的,且不应被解释为限制性的。描述了许多具体细节以提供对各种实施例的透彻理解。
在不脱离其精神或本质特征的情况下,可以以其他特定形式来体现附加或替代实施例。所描述的实施例在所有方面都应被认为仅是说明性的而非限制性的。因此,本发明的范围由所附权利要求书而非前述描述指定。在权利要求书的等同方案的含义和范围的范围内的所有变化都将包含在权利要求书的范围内。

Claims (20)

1.一种计算机实现的方法,包括:
由客户端设备通过经由视频数据信道接收来自参与者设备的视频数据,来与所述参与者设备进行视频通话,所述视频数据信道是针对所述视频通话而建立的;
在数字视频通话界面内,在三维3D共享增强现实AR空间的第一部分内渲染由所述客户端设备采集的第一视频;以及
通过渲染经由所述视频数据信道接收到的视频数据,在所述数字视频通话界面内显示来自所述参与者设备的第二视频,所述第二视频描绘了所述3D共享AR空间的第二部分。
2.根据权利要求1所述的计算机实现的方法,还包括:经由AR数据信道接收来自所述参与者设备的与所述3D共享AR空间相对应的AR数据,以在所述3D共享AR空间的所述第一部分内渲染所述第一视频。
3.根据权利要求1所述的计算机实现的方法,其中,在所述3D共享AR空间的所述第一部分内渲染所述第一视频包括:
生成所述3D共享AR空间的AR背景纹理;以及
使用所述AR背景纹理的与所述3D共享AR空间的所述第一部分相对应的部分,来替换所述第一视频的背景。
4.根据权利要求1所述的计算机实现的方法,还包括:
从所述第一视频的背景中分割出所述第一视频内所描绘的用户,以生成分割出的用户部分;以及
将所述第一视频的所述分割出的用户部分插入到所述3D共享AR空间的所述第一部分中。
5.根据权利要求1所述的计算机实现的方法,还包括:经由AR数据信道向所述参与者设备发送与所述3D共享AR空间相对应的AR数据,以使得所述参与者设备在所述3D共享AR空间的所述第二部分内渲染第二视频。
6.根据权利要求1所述的计算机实现的方法,还包括:
由所述客户端设备在视频通话期间,检测用户移动;以及
在所述数字视频通话界面内,基于所检测到的用户移动,在所述3D共享AR空间的第三部分内渲染由所述客户端设备采集的所述第一视频。
7.根据权利要求6所述的计算机实现的方法,其中,所述用户移动包括:检测到的在所述第一视频内描绘的参与者的移动、或所述客户端设备的客户端设备移动。
8.根据权利要求1所述的计算机实现的方法,还包括:
由所述客户端设备接收与所述3D共享AR空间的用户交互;
基于所述用户交互,通过将AR元素添加到所述3D共享AR空间或修改所述3D共享AR空间内的现有AR元素,来修改与所述第一视频相对应的所述3D共享AR空间;以及
经由AR数据信道向所述参与者设备发送与所述用户交互相对应的AR数据,以使得所述参与者设备修改与所述第二视频相对应的所述3D共享AR空间。
9.根据权利要求8所述的计算机实现的方法,其中,对与所述第一视频相对应所述3D共享AR空间、以及与所述第二视频相对应的所述3D共享AR空间的修改被定位在,所述3D共享AR空间的匹配部分处。
10.根据权利要求8所述的计算机实现的方法,还包括:保存对所述3D共享AR空间的修改,以用于所述客户端设备和所述参与者设备之间的后续视频通话。
11.一种非暂态计算机可读介质,所述非暂态计算机可读介质存储有多个指令,所述多个指令在被至少一个处理器执行时,使所述至少一个处理器:
通过客户端设备通过经由视频数据信道接收来自参与者设备的视频数据,来与所述参与者设备进行视频通话,所述视频数据信道是针对所述视频通话而建立的;
在数字视频通话界面内,在三维3D共享增强现实AR空间的第一部分内渲染由所述客户端设备采集的第一视频;以及
通过渲染经由所述视频数据信道接收到的视频数据,在所述数字视频通话界面内显示来自所述参与者设备的第二视频,所述第二视频描绘了所述3D共享AR空间的第二部分。
12.根据权利要求11所述的非暂态计算机可读介质,其中,在所述3D共享AR空间的所述第一部分内渲染所述第一视频包括:
生成所述3D共享AR空间的AR背景纹理;以及
使用所述AR背景纹理的与所述3D共享AR空间的所述第一部分相对应的部分,来替换所述第一视频的背景。
13.根据权利要求11所述的非暂态计算机可读介质,还包括在被所述至少一个处理器执行时使所述至少一个处理器执行以下操作的多个指令:
从所述第一视频的背景中分割出所述第一视频内所描绘的用户,以生成分割出的用户部分;以及
将所述第一视频的所述分割出的用户部分插入到所述3D共享AR空间的所述第一部分中。
14.根据权利要求11所述的非暂态计算机可读介质,其中,所述3D共享AR空间的所述第一部分和所述第二部分包括经同步的AR环境的不同视图。
15.根据权利要求11所述的非暂态计算机可读介质,还包括在被所述至少一个处理器执行时使所述至少一个处理器执行以下操作的多个指令:
通过所述客户端设备接收对附加3D共享AR空间的选择;
在所述数字视频通话界面内,在所述附加3D共享AR空间的第一部分内渲染由所述客户端设备采集的所述第一视频;以及
经由所述AR数据信道向所述参与者设备发送与所述附加3D共享AR空间相对应的AR数据,以使得所述参与者设备在所述附加3D共享AR空间的第二部分内渲染所述第二视频。
16.一种系统,包括:
至少一个处理器;以及
至少一个非暂态计算机可读介质,所述至少一个非暂态计算机可读介质包括多个指令,所述多个指令在被所述至少一个处理器执行时,使所述系统:
通过客户端设备通过经由视频数据信道接收来自参与方设备的视频数据,来与所述参与者设备进行视频通话,所述视频数据信道是针对所述视频通话而建立的;
在数字视频通话界面内,在三维3D共享增强现实AR空间的第一部分内渲染由所述客户端设备采集的第一视频;以及
通过渲染经由所述视频数据信道接收到的视频数据,在所述数字视频通话界面内显示来自所述参与者设备的第二视频,所述第二视频描绘了所述3D共享AR空间的第二部分。
17.根据权利要求16所述的系统,还包括在被所述至少一个处理器执行时使所述系统执行以下操作的多个指令:经由AR数据信道接收来自所述参与者设备的与所述3D共享AR空间相对应的AR数据,以在所述3D共享AR空间的所述第一部分内渲染所述第一视频。
18.根据权利要求16所述的系统,其中,在所述3D共享AR空间的所述第一部分内渲染所述第一视频包括:
生成所述3D共享AR空间的AR背景纹理;以及
使用所述AR背景纹理的与所述3D共享AR空间的所述第一部分相对应的部分,来替换所述第一视频的背景。
19.根据权利要求16所述的系统,还包括在被所述至少一个处理器执行时使所述系统执行以下操作的多个指令:
通过所述客户端设备在所述视频通话期间,检测用户移动,所述用户移动包括:检测到的在所述第一视频内描绘的参与者的移动、或所述客户端设备的客户端设备移动;以及
在所述数字视频通话界面内,基于所检测到的用户移动,在所述3D共享AR空间的第三部分内渲染由所述客户端设备采集的所述第一视频。
20.根据权利要求16所述的系统,还包括在被所述至少一个处理器执行时使所述系统执行以下操作的多个指令:经由AR数据信道向所述参与者设备发送与所述3D共享AR空间相对应的AR数据,以使得所述参与者设备在所述3D共享AR空间的所述第二部分内渲染第二视频。
CN202310261755.6A 2022-03-15 2023-03-15 在视频通话中提供共享增强现实环境 Pending CN116781853A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US63/269,400 2022-03-15
US17/818,596 2022-08-09
US17/818,596 US20230300292A1 (en) 2022-03-15 2022-08-09 Providing shared augmented reality environments within video calls

Publications (1)

Publication Number Publication Date
CN116781853A true CN116781853A (zh) 2023-09-19

Family

ID=87984901

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310261755.6A Pending CN116781853A (zh) 2022-03-15 2023-03-15 在视频通话中提供共享增强现实环境

Country Status (1)

Country Link
CN (1) CN116781853A (zh)

Similar Documents

Publication Publication Date Title
EP3841454B1 (en) Multi-device mapping and collaboration in augmented-reality environments
US10719989B2 (en) Suggestion of content within augmented-reality environments
US20200066046A1 (en) Sharing and Presentation of Content Within Augmented-Reality Environments
US10032303B2 (en) Scrolling 3D presentation of images
EP4246963A1 (en) Providing shared augmented reality environments within video calls
US20180182141A1 (en) Dynamic mask application
US10755463B1 (en) Audio-based face tracking and lip syncing for natural facial animation and lip movement
CN111712848A (zh) 在相机馈送中提供相应产品的数字模型
CN110710232A (zh) 在相机取景器显示内容中用增强现实元素来促使网络系统通信的创建
US20190228580A1 (en) Dynamic Creation of Augmented Reality Effects
CN113366489A (zh) 检测增强现实目标
US20230281940A1 (en) Providing context-aware avatar editing within an extended-reality environment
US20230109386A1 (en) Using social connections to define graphical representations of users in an artificial reality setting
EP4240012A1 (en) Utilizing augmented reality data channel to enable shared augmented reality video calls
CN112330477A (zh) 为社交媒体内容生成定制的个性化反应
CN111164653A (zh) 在社交网络系统上生成动画
CN115066667A (zh) 使用深度学习来确定注视
CN117425870A (zh) 虚拟现实中的动态混合现实内容
CN111226262A (zh) 合成动画
JP2022549986A (ja) サードパーティシステムからの拡張現実データの効果的なストリーミング
US20230164298A1 (en) Generating and modifying video calling and extended-reality environment applications
CN116781853A (zh) 在视频通话中提供共享增强现实环境
US20230368444A1 (en) Rendering customized video call interfaces during a video call
US20230360282A1 (en) Generating shared augmented reality scenes utilizing video textures from video streams of video call participants
US11302079B2 (en) Systems and methods for displaying and interacting with a dynamic real-world environment

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