用于呈现内容的系统和方法与流程

文档序号:16996159发布日期:2019-03-02 01:23阅读:171来源:国知局
用于呈现内容的系统和方法与流程

本技术涉及内容呈现的领域。更具体地,本技术涉及通过计算装置呈现内容项的技术。



背景技术:

现今,为了各种各样的目的,人们经常应用计算装置(或者系统)。用户可以操作他们的计算装置例如进行彼此交互,创建内容,共享信息,并且访问信息。在常规方法下,可以通过内容共享平台可获取内容项(例如,图像、视频、音频文件等)。用户可以操作他们的计算装置以通过平台访问内容项。一般地,可以通过包括例如内容发布者的各种实体以及内容共享平台的用户提供或者上传内容项。在一些情况下,可以分类和/或管理内容项。



技术实现要素:

本公开内容的各种实施方式可以包括被配置为确定访问内容项的至少一个请求的系统、方法和非易失性计算机可读介质,其中,所请求的内容项是使用从一组不同位置捕获一个或多个场景的一组相机馈送编写的。获取描述用于导航所请求的内容项中的场景中的至少一些的自动观看模式的信息。将视口界面设置在计算装置的显示屏幕上,所请求的内容项的播放通过该显示屏幕呈现。视口界面在所请求的内容项的播放期间至少部分基于自动观看模式自动导航通过场景中的至少一些。

在一些实施方式中,系统、方法和非易失性计算机可读介质被配置为获取描述在所请求的内容项的播放期间导航视口界面通过场景中的至少一些的至少一个轨迹的信息。

在一些实施方式中,系统、方法和非易失性计算机可读介质被配置为至少部分基于用户的一个或多个属性确定对应于操作计算装置的用户的类别并且获取与该类别相关联的至少一个轨迹,已经确定包括在该类别中的至少一些用户对该轨迹感兴趣。

在一些实施方式中,系统、方法和非易失性计算机可读介质被配置为获取描述在所请求的内容项的播放期间出现的至少一个兴趣点的信息并且获取描述在所请求的内容项的播放期间导航视口界面通过场景中的至少一些的至少一个轨迹的信息,其中,该轨迹包括至少一个兴趣点。

在一些实施方式中,至少一个兴趣点由所请求的内容项的发布者定义。

在一些实施方式中,系统、方法和非易失性计算机可读介质被配置为至少部分基于用户的一个或多个属性确定对应于操作计算装置的用户的类别并且获取与该类别相关联的至少一个兴趣点,已经确定包括在该类别中的至少一些用户对该兴趣点感兴趣。

在一些实施方式中,系统、方法和非易失性计算机可读介质被配置为确定操作计算装置的用户执行了一个或多个行动以在所请求的内容项的播放期间将视口界面手动导航至具体的兴趣点,确定执行了共享具体的兴趣点的操作,并且使描述具体的兴趣点的信息通过社交网络系统共享。

在一些实施方式中,系统、方法和非易失性计算机可读介质被配置为确定操作计算装置的用户执行了一个或多个行动以在所请求的内容项的播放期间手动导航视口界面以创建自定义轨迹,确定执行了共享自定义轨迹的操作,并且使描述自定义轨迹的信息通过社交网络系统共享。

在一些实施方式中,系统、方法和非易失性计算机可读介质被配置为确定所请求的内容项包括第一兴趣点和第二兴趣点,其中,在所请求的内容项的播放期间第二兴趣点出现在第一兴趣点之后,并且使方向指示器在将视口界面从第一兴趣点自动导航至第二兴趣点之前显示在视口界面中,该方向指示器沿对应于第二兴趣点的方向指向。

在一些实施方式中,系统、方法和非易失性计算机可读介质被配置为确定所请求的内容项包括第一兴趣点和第二兴趣点,其中,在所请求的内容项的播放期间第二兴趣点出现在第一兴趣点之后并且使视口界面被使用至少一个电影转换技术从第一兴趣点自动导航至第二兴趣点。

应当理解,从附图和以下详细说明中所公开的技术的许多其他特征、应用、实施方式和/或变化将是清晰可见的。在不偏离所公开的技术的原理的情况下,可以采用本文中描述的结构、系统、非易失性计算机可读介质和方法的其他和/或可替换的实现方式。

附图说明

图1示出了根据本公开内容的实施方式的包括示例性内容呈现模块的示例性系统。

图2示出了根据本公开内容的实施方式的界面模块的实例。

图3示出了根据本公开内容的实施方式的内容导演模块的实例。

图4a-图4c示出了根据本公开内容的实施方式的其中在访问内容项的同时提供导航指示器的视口界面的实例。

图5示出了根据本公开内容的实施方式的用于自定义虚拟内容项的用户体验的发布者界面的实例。

图6a-图6f示出了根据本公开内容的实施方式的当访问内容项时可以在视口界面中呈现的导航指示器的实例。

图7示出了根据本公开内容的实施方式的用于导航视口界面的示例性方法。

图8示出了根据本公开内容的实施方式的包括可以在各种情形下利用的示例性社交网络系统的示例性系统的网络图。

图9示出了根据本公开内容的实施方式的可以在各种情形下利用的计算机系统或者计算装置的实例。

为了说明目的,附图仅描述了所公开的技术的各种实施方式,其中,附图使用相同参考标号来识别相同元件。本领域的技术人员从以下讨论中将容易认识到,在不偏离本文描述的所公开的技术的原理的情况下,可以采用附图中示出的结构和方法的替换实施方式。

具体实施方式

用于呈现内容的方法

为了各种各样的目的,人们使用计算装置(或者系统)。如所提到的,在常规方法下,用户可以利用计算装置与其他用户共享内容项(例如,文档、图像、视频、音频等)。在常规方法下,可以通过内容共享平台可获取内容项(例如,图像、视频、音频文件等)。用户可以操作他们的计算装置以通过平台访问内容项。一般地,可以通过包括例如内容发布者的各种实体以及内容共享平台的用户提供或者上传内容项。

在一些情况下,用户可以例如通过他们的计算装置的显示屏幕、虚拟现实系统和/或头戴式显示器访问虚拟内容。例如,虚拟内容可以使用捕获场景(诸如,正在执行的地理位置和/或活动)的一个或多个视频和/或图像编写。这种场景可以从真实世界捕获和/或计算机生成。在一些情况下,虚拟内容被编写为使用户能够在通过虚拟内容捕获的场景内导航。因此,通过访问虚拟内容,用户实际上能够体验和导航捕获场景,例如,好像用户身体上存在于给定位置和/或身体上执行场景中表示的活动。

例如,虚拟内容可以是捕获场景的360度视图的球形视频。球形视频可以通过将通过放置在不同地点和/或位置捕获场景的360度视图的相机捕获的各种视频流或推送拼接在一起创建。一旦拼接在一起,用户可以访问或者播放球形视频以在某个角度观看球形视频的一部分。通常,在访问球形视频时,用户可以缩放和改变视口的方向(例如,俯仰、偏航、翻滚)以访问通过球形视频捕获的场景的另一部分。鉴于虚拟内容的性质,用户可能对保持视口的缩放水平和/或方向的变化保持跟踪具有难度。这种变化可偏离由虚拟内容的发布者可指定的预期的缩放水平和/或视口方向。在有些情况下,在操纵视口方向时,用户可能错过包括一个或多个兴趣点的球形视频的一部分。例如,用户可改变视口的方向以在用户将看得见兴趣点时注视一个方向,用户使视口方向面对相反方向。错过这种兴趣点可降低总体用户体验并且还可以消极影响虚拟内容的用户参与度。因此,这种常规方法在解决计算机技术中出现的这些和其他问题中可能没有效果。

基于计算机技术的改进方法克服了与在计算机技术领域具体出现的常规方法相关的前述和其他缺点。在各种实施方式中,导航元件或指示器可以设置在界面或视口中,虚拟内容通过该界面或视口呈现。随着用户与虚拟内容交互,导航指示器可以自动更新为视觉表示i)通过虚拟内容捕获的场景内的视口的方向或航向和/或ii)视口的缩放水平。在各种实施方式中,导航指示器还可以被配置为表示存在于被访问的虚拟内容中的兴趣点的相应方向或航向。例如,可以在导航指示器内识别相对于视口方向的兴趣点的方向。因此,用户可以容易确定兴趣点可用于观看以及兴趣点的相对方向的时间。在一些实施方式中,用户可以连接将用户的视口自动引导至兴趣点的自动模式。

图1示出了根据本公开内容的实施方式的包括被配置为向用户提供内容项的示例性内容呈现模块102的示例性系统100。如图1的实例所示,内容呈现模块102可以包括界面模块104、内容模块106和内容导演模块108。在一些情况下,示例性系统100可以包括至少一个数据存储器110。这个附图和本文中的所有附图中示出的部件(例如,模块、元件等)仅是示例性的,并且其他实现可包括额外的、更少的、集成的或者不同的部件。可以不示出一些部件,以免混淆相关细节。

在一些实施方式中,内容呈现模块102可以部分地或完全实现为软件、硬件或它们的任何组合。通常,如本文中讨论的,模块可以与软件、硬件、或者它们的任何组合相关联。在一些实现中,可以通过软件程序、软件过程、硬件和/或它们的任何组合实施或执行模块的一个或多个功能、任务和/或操作。在一些情况下,内容呈现模块102可以部分地或完全实现为在一个或多个计算装置或系统上运行的软件,诸如在用户计算装置或客户端计算系统上。例如,内容呈现模块102或其至少一部分可以实现为在用户计算装置或客户端计算系统(诸如图8的用户装置810)上运行的应用程序(例如,app)、程序或小程序等或者可以在应用程序(例如,app)、程序或小程序等内实现。进一步地,内容呈现模块102或者它的至少一部分可以使用包括诸如网络服务器或者云服务器的一个或多个服务器的一个或多个计算装置或者系统实现。在一些情况下,内容呈现模块102可以部分地或完全在诸如图8的社交网络系统830的社交网络系统(或服务)内实现或者被配置为结合该社交网络系统进行操作。应当理解,可以存在许多变化或者其他可能性。在各种实施方式中,内容呈现模块102可以利用界面模块104和内容模块106向用户提供内容项。界面模块104可以被配置为提供可以通过其呈现(例如,流出)内容项的视口(例如,图形用户界面)。例如,视口可以通过由用户操作的计算装置上运行的软件应用提供并且视口可以通过计算装置的显示屏幕呈现。用户可以例如通过输入装置或者通过显示屏幕执行例如手势(例如,触屏手势、手势姿态等)的行动与视口进行交互。以下参考图2将提供关于界面模块104的更多细节。

内容模块106可以被配置为提供可以通过由界面模块104提供的界面呈现的各种类型的内容项。例如,可以从社交网络系统(例如,图8的社交网络系统830)或者一些其他内容提供器系统获取内容项。在各种实施方式中,内容模块106可以提供可使用捕获场景(例如,执行的地理位置和/或活动)的一个或多个视频和/或图像编写的虚拟内容。这种场景可以从真实世界捕获和/或计算机生成。虚拟内容可以是捕获360度视图和/或任何三维(3d)内容的任何内容。进一步地,虚拟内容可包括大于能够在给定时刻呈现的视口的任何尺寸的内容。在此情况下,随着视口位置改变,视口可以呈现内容的不同部分。在一个实例中,可以使用通常已知的图像拼接技术创建虚拟内容,举几个实例,该图像拼接技术例如包括直线拼接、球形拼接、立方拼接。在另一实例中,虚拟内容可以是捕获场景(诸如,兴趣点)的360度视图的球形视频。虚拟内容的一些其他实例可以包括使用单视场的360度视图编写的视频、使用立体视的180度视图编写的视频等。球形视频可以通过将通过放置在不同地点和/或位置捕获场景的360度视图的相机捕获的各种视频流或推送拼接在一起创建。这种视频流可以预定球形视频的各种角度(例如,0度、30度、60度等)。一旦拼接在一起,用户可以访问或者播放球形视频以在某个角度观看球形视频的一部分。向用户示出的球形视频的部分可以基于三维空间中的用户的视口的位置和方向来确定。

内容导演模块108可以为内容发布者当观看虚拟内容时提供访问允许自定义的用户体验的各种特征。以下参考图3将提供关于内容导演模块108的更多细节。

在一些实施方式中,内容呈现模块102可以被配置为与示例性系统100中的至少一个数据存储器110通信和/或操作。至少一个数据存储器110可以被配置为存储并保持各种类型的数据。在各种实施方式中,至少一个数据存储器110可以存储与内容呈现模块102的功能和操作有关的数据。这种数据的一个实例是可用于通过由界面模块104提供的界面访问的虚拟内容项。在一些实现中,至少一个数据存储器110可以存储与社交网络系统(例如,图8的社交网络系统830)相关联的信息。与社交网络系统相关联的信息可以包括关于用户、社交连接、社交交互、位置、领域范围面积、地图、地点、事件、页面、组、帖子、通信、内容、推送、账号设置、隐私设置、社交图谱的数据、以及各种其他类型的数据。在一些实现中,至少一个数据存储器110可以存储与用户相关联的信息,诸如用户标识符、用户信息、个人资料信息、用户指定设置、由用户产生或发布的内容以及各种其他类型的用户数据。应当理解,可以存在许多变化或者其他可能性。

图2示出了根据本公开内容的实施方式的界面模块202的实例。在一些实施方式中,图1的界面模块104可以利用界面模块202实现。如图2的实例所示,界面模块202可以包括视图方向模块204、视图缩放水平模块206、指示器模块208、兴趣点模块210、自动模式模块212和运动转换模块214。

如所提到的,界面模块202可以被配置为提供视口,内容项(例如,虚拟内容项)可以通过视口呈现和访问(例如,图形用户界面)。在各种实施方式中,用户可以访问使用由用户操作的计算装置通过图1的内容模块106提供的虚拟内容项。计算装置可以是能够处理和呈现内容的任何装置,例如,包括移动电话、平板电脑、虚拟现实系统和/或头戴式显示器。一旦访问,界面模块202可以通过计算装置的显示屏幕呈现虚拟内容项。

当最初访问虚拟内容项时,与计算装置相关联的视口可以显示虚拟内容项的场景的某个部分。示出的部分可以基于视口相对于场景的位置和/或方向(例如,俯仰、偏航、翻滚)。在一些实施方式中,示出的部分对应于由虚拟内容项的发布者指定的位置和/或方向(例如,俯仰、偏航、翻滚)。在一些实施方式中,用户可以通过实际上导航通过由虚拟内容项捕获的场景来观看场景的不同部分。例如,如果用户使用移动装置访问虚拟内容项,则用户可以例如基于触屏手势和/或基于在所希望的位置和/或方向上物理移动的移动装置通过改变视口的位置和/或方向来导航虚拟内容项中的场景。

随着用户与虚拟内容项交互,可以通过视图方向模块204实时确定视口位置和/或方向的变化。在另一实例中,用户在访问特定场景的同时还可以改变视口的缩放水平。例如,用户可能想要增加或减小视口的缩放水平以观看场景的一些部分。可以通过视野缩放水平模块206实时确定视口缩放水平的这种变化。用户可以例如通过执行触摸手势(例如,轻扫手势、拖动手势、滑动手势、敲击手势、双敲击手势、捏手势、伸展手势、旋转手势、轻敲手势等)、手势姿态和/或计算装置姿态改变视口(例如,位置、方向、缩放等)。例如,可以使用计算装置中的一个或多个传感器(例如,陀螺仪、加速计和/或惯性测量单元)确定计算装置姿态(例如,倾斜)。进一步地,如果通过虚拟现实头戴式显示器访问虚拟内容项,则用户可通过改变用户头部的方向来改变视口的方向。自然地,其他方法可以用于在球形视频内导航和缩放。通常,可以通过视图方向模块204和视图缩放水平模块206实时(例如,不变的或者以指定的时间间隔)监控视口的变化或调整。如基于视口的变化确定的,这种变化然后可以用于更新视口以便可以向用户呈现来自虚拟内容项的合适的图像和/或流。

如所提到的,在一些情况下,不能够跟踪视口的变化可使用户相对于正在访问的虚拟内容变得迷惑并且这种迷惑可降低用户体验。因此,在各种实施方式中,指示器模块208可以被配置为在虚拟内容通过其呈现的视口中提供导航指示器。在一些实施方式中,导航指示器被设置为视口内的透明图。导航指示器可以视觉表示i)通过虚拟内容捕获的场景中的视口的方向或航向和/或ii)场景内的视口的缩放水平。在一些实施方式中,通过导航指示器指示的方向可以基于偏航来确定(即,视口沿着垂直轴的移动)。然而,根据该实现,导航指示器还可以表示俯仰(即,视口沿着横轴的移动)和/或翻滚(即,视口沿着纵轴的移动)。随着用户与虚拟内容项交互,导航指示器可以在访问虚拟内容项的同时自动更新为在任何特定点处反应视口的方向和/或缩放水平。

在一些实施方式中,兴趣点模块210可用于识别访问的虚拟内容项的场景内的各个兴趣点。在一些实施方式中,兴趣点可以在对应于通过视口呈现的视频流的一瞬间、或时间段定义为场景中的空间区域在一些实施方式中,例如可通过虚拟内容项的发布者指定这种兴趣点。通常,每个兴趣点可以与通过虚拟内容项捕获的场景内的特定位置(例如,坐标)相关联。在一些实施方式中,导航指示器可以识别通过视口呈现的场景中的视口位置的阈值距离内的兴趣点。在各种实施方式中,导航指示器可以视觉指示兴趣点的相应位置或方向。然而,根据该实现,可以单独或者除了导航指示器之外使用视觉指示兴趣点的其他方法。例如,在一些实施方式中,可以使用指向兴趣点的位置或方向的方向指示器(例如,箭头)视觉指示兴趣点。在这个实例中,如果兴趣点位于视口的右边,则指向右边的箭头可在视口的一些区域中显示。类似地,如果兴趣点位于视口面向的方向的后面的方向上,则可以显示指示用户转向的箭头。在一些实施方式中,可以用文本标注兴趣点。例如,兴趣点(诸如,地标)可以用包括兴趣点的名称、其地址和/或有关兴趣点的真实情况的描述性文本标注。

在一些实施方式中,可以由用户在观看场景时限定或标注通过虚拟内容项捕获的场景中的兴趣点。在一个实例中,观看场景的用户可以在场景中标记一些特征作为兴趣点。用户还可以提供与兴趣点相关联的文本标签或评论。在一些实施方式中,可以保存用户定义的兴趣点,以便随后访问虚拟内容项的其他用户将能够看到由用户标记的兴趣点以及由用户提供的任何文本标签或评论。因此,在这种实施方式中,在用户使用例如包括导航指示器的以上描述的任何方法访问虚拟内容项的同时可以视觉识别用户定义的兴趣点。在一些实施方式中,用户定义的兴趣点没有结合在虚拟内容项中。相反地,可以保存结合用户定义的兴趣点的虚拟内容项的副本。然后用户可以例如通过社交网络系统与其他用户共享虚拟内容项的修改的副本。在一些实施方式中,用户定义的兴趣点可以共享为描述可以在虚拟内容项中找到相应的兴趣点的屏幕截图和/或信息(例如,帧、时间戳、时间范围、诸如坐标的位置数据等)。

在一些实施方式中,用户可以在观看通过虚拟内容项捕获的场景的同时记录视口轨迹。因此,在这种实施方式中,在观看虚拟内容项中的场景的同时由用户做出的视口的位置和/或方向的变化可以保存为用于虚拟内容项的用户视口轨迹。然后用户可以例如通过社交网络系统与其他用户共享视口轨迹。可以基于由共享视口轨迹的用户对视口的位置和/或方向做出的变化通过虚拟内容项捕获的场景引导访问共享的视口轨迹的不同用户的视口。

在一些实施方式中,可以基于用户视口数据自动确定虚拟内容项中的兴趣点。例如,可以分析观看虚拟内容项时的用户视口的相应轨迹以确定用户已经查看过哪个场景或场景中的哪个区域。在一些实施方式中,通过合计在观看虚拟内容项中的场景时的用户视口的相应位置和/或方向为虚拟内容项生成一个或多个热图。在这种实施方式中,热图可用于总体确定哪个场景、或场景中的区域比其他更受欢迎、或者更有趣。这种热图信息可用于自动识别某个场景、或场景中的区域作为兴趣点。在一些实施方式中,可以通过合计用于不同组用户的视口轨迹为虚拟内容项生成多个热图。在这种实施方式中,举几个实例,用户可以基于诸如人口统计(例如,性别、年龄范围等)、兴趣(例如,赏鸟、单板滑雪等)和/或关系(例如,社交网络系统中的社交连接、或者“好友”)等属性分为不同组。通过为不同组用户生成分开的热图,兴趣点模块210可以根据他们的共享属性确定虚拟内容项中的哪个兴趣点与用户的类别、或组最相关。在一些实施方式中,为虚拟内容项自动生成的兴趣点可以作为建议提供至虚拟内容项的发布者。发布者可以选择结合或识别虚拟内容项中生成的兴趣点。一旦识别出,在用户使用例如包括导航指示器的以上描述的任何方法访问虚拟内容项的同时可以视觉指示所生成的兴趣点。

在一些情况下,发布者可以为观看虚拟内容项的用户预定义视口轨迹作为自动模式的一部分。在这种情况下,自动模式模块212允许用户在访问虚拟内容项时的任何时间连接或断开自动模式。在一些实施方式中,当访问虚拟内容项时,可以默认激活自动模式。在这种实施方式中,在处于自动模式时,可以基于预定的视口轨迹自动导航视口通过虚拟内容项中的场景。在一些实施方式中,在虚拟内容项的一个或多个部分或者全部虚拟内容项的播放期间,视口轨迹定义视口的相应位置和/或方向。

在一些实施方式中,发布者可指定场景中的一个或多个兴趣点,并且当连接自动模式时,可以将视口自动引导至兴趣点。在这种实施方式中,随着视口在兴趣点之间移动,可以自动生成相应轨迹。在一些实施方式中,兴趣点可以与指示视口应该集中于兴趣点的时间量(例如,第一兴趣点3秒、第二兴趣点5秒等)的时间信息相关联。在这种实施方式中,自动模式模块212可以相对于这种时间信息适当导航视口。在一些实施方式中,当连接自动模式时第一配色方案用于导航指示器并且当自动模式断开时,即当人工模式激活时,第二配色方案(例如,第一配色方案相反的配色方案)用于导航指示器。

运动转换模块214可以被配置为在连接自动模式时控制视口的移动。例如,在一些实施方式中,随着它们出现在自动模式下,视口自动转换为显示场景和/或兴趣点。当在场景和/或兴趣点之间转换时,运动转换模块214可应用一个或多个不同的电影转换技术。在一个实例中,可以使用其中场景和/或兴趣点之间的转换是逐渐的溶解效果执行转换。在另一实例中,可以使用切割效果执行转换。其他实例包括擦转换效果、线性转换、简化和提示(例如,在执行转换之前使用方向指示器)。在一些实施方式中,当处于自动模式时,视口不自动转换。反而,可以在视口中使用指向兴趣点的位置或方向的方向指示器(例如,箭头)视觉指示兴趣点。在这种实施方式中,用户具有手动调动视口以与兴趣点对应的选择。在一些实施方式中,运动转换模块214可根据使用的装置的类型(例如,移动计算装置、虚拟现实系统、头戴式显示器等)应用不同的电影转换技术。例如,视口转换在移动计算装置而不是虚拟现实系统和/或头戴式显示器中可以是自动的。装置类型还可以影响视口在场景和/或兴趣点之间如何转换以及使用哪个转换效果。例如,当该装置是虚拟现实的头戴式显示器时,方向指示器和/或溶解效果可以用于执行视口转换。在另一实例中,当该装置是移动计算装置时执行视口转换时,可停用转换效果。

图3示出了根据本公开内容的实施方式的内容导演模块302的实例。在一些实施方式中,图1的内容导演模块108可以利用内容导演模块302实现。如图3的实例所示,内容导演模块302可以包括界面模块304、兴趣点模块306和自动模式模块308。

界面模块304可以提供包括各种选择的界面,这些选择可由发布者用以自定义虚拟内容项的用户体验。以下将参考图5提供关于这个界面的更多细节。在一些实施方式中,可以利用兴趣点模块306指定虚拟内容项中的一个或多个兴趣点。可以使用包括例如导航指示器的以上描述的任何方法通知观看虚拟内容项的用户这种兴趣点。在一个实例中,兴趣点可以由在虚拟内容项的播放期间出现的兴趣点的位置(例如,坐标)和/或时间段定义。自动模式模块308可以用以生成一个或多个视口轨迹。在一些实施方式中,在虚拟内容项的一个或多个部分或者全部虚拟内容项的播放期间,视口轨迹定义视口的相应位置和/或方向。例如,自动模式模块308可以基于使用兴趣点模块306指定的兴趣点生成用于导航虚拟内容项中的场景的视口轨迹。在一些实施方式中,自动模式模块308可用于基于在虚拟内容项的一个或多个部分或者全部虚拟内容项的播放期间的视口的指定的位置和/或方向创建用于导航虚拟内容项中的场景的视口轨迹。例如,发布者可在虚拟内容项的播放期间在任何时间指定视口位置和/或方向。

图4a示出了根据本公开内容的实施方式的其中在访问内容项(例如,虚拟内容项)时提供导航指示器406的视口界面404的实例400。在这个实例中,视口404呈现在计算装置402的显示屏幕上。进一步地,视口404可以通过在计算装置402上运行的软件应用(例如,网络浏览器、社交网络应用程序等)提供。如显示屏幕所示的导航指示器406的位置和/或大小可根据该实现而改变。在图4a的实例中,视口404正在呈现来自虚拟内容项的场景。在这个实例中,在其他兴趣点之中,该场景包括一对鸟414和悬挂式滑翔机416。视口404包括导航指示器406,该导航指示器包括用于识别视口的方向和缩放水平的航向指示器408。导航指示器406还指示兴趣点410已被识别并且位于相对于由航向指示器408识别的视口方向的向东方向。操作计算装置402的用户可以例如通过改变视口的方向和/或缩放水平导航至场景。例如,用户可以将视口的方向改变为面向对应于兴趣点的方向410。因此,如图4b的实例所示,视口可以更新为呈现对应于方向410的内容(例如,图像和/或视频流)。在一些实施方式中,导航指示器406还可以识别除了兴趣点之外的发生在被访问的场景中的其他类型的事件。例如,导航指示器406可以指示在场景中产生的声音的方向。

在一些实施方式中,导航指示器406最初示出为半透明的或者渐淡的。在这种实施方式中,一旦检测到与例如视口404和/或计算装置402的用户交互,则导航指示器406变成不透明的。当用户在对应于导航指示器406的显示屏幕的区域中执行触摸手势时,导航指示器406还可以变成不透明的。例如,导航指示器406可基于计算装置中的传感器检测用户交互。在一些实施方式中,如果在阈值时间段没有检测到用户交互,则导航指示器406可返回到半透明的或渐淡状态。

如所提到的,在一些情况下,发布者可为观看虚拟内容项的用户定义自动模式。在这种情况下,用户可以在访问虚拟内容项的同时在任何时间连接或断开自动模式。在图4a的实例中,自动模式是激活的,并且因此,视口404基于预定的视口轨迹自动导航通过虚拟内容项中的场景。在一些实施方式中,当访问虚拟内容项时,可以默认激活自动模式。操作计算装置402的用户可例如通过手动导航视口404或者通过选择(例如,执行敲击手势)对应于导航指示器406的显示屏幕中的区域停用自动模式。在一些实施方式中,当用户在阈值时间量内没有手动导航视口时,重新激活自动模式。在一些实施方式中,发布者可指定场景中的一个或多个兴趣点,并且当连接自动模式时,可以将视口404自动引导至兴趣点。在图4a的实例中,如图4b的实例所示,视口404朝向兴趣点410自动导航。

图4b示出了根据本公开内容的实施方式的其中在访问内容项(例如,虚拟内容项)时提供导航指示器406的视口界面404的实例440。如所提到的,当连接自动模式时,视口404可以自动引导至兴趣点。在这个实例中,在计算装置402的显示屏幕上呈现视口404的方向已经改变为面向对应于图4a中的导航指示器406中指示为兴趣点410的兴趣点418的方向。因此,在这个实例中,在自动模式中沿着预定轨迹的预期航向407以及航向指示器408对应于其中兴趣点418是可见的方向。因此,视口404中呈现的场景已经更新为呈现对应于视口调整的内容(例如,图像和/或视频流)。在这个实例中,在其他兴趣点中,该场景示出了通过导航指示器406识别为兴趣点410的悬挂式滑翔机416和热气球418。在图4b中,航向指示器408已经旋转至围绕点412的右边以对应于视口的方向的变化。在一些实施方式中,操作计算装置402的用户可以在对应于导航指示器406的显示屏幕的区域中执行触摸手势以使视口返回至为虚拟内容项定义的最初的或预期的航向,例如,自动模式。在这种实施方式中,一旦检测到触摸手势,视口的缩放水平还重置为定义用于虚拟内容项的默认或预期的缩放水平。航向指示器408可根据例如其中用户导航视口的方向以顺时针或反时针方向围绕点412旋转。例如,视口方向从0至180度的变化可使航向指示器408以顺时针方向围绕点412旋转,同时视口方向从180至360度的变化可使航向指示器408以反时针方向围绕点412旋转。在图4b的实例中,自动模式仍然是激活的,并且因此,视口404基于预定的视口轨迹自动导航通过虚拟内容项中的场景。在这个实例中,视口404将自动朝向导航指示器406中示出的兴趣点420导航。

图4c示出了根据本公开内容的实施方式的其中在访问内容项(例如,虚拟内容项)时提供导航指示器406的视口界面404的实例480。如所提到的,当连接自动模式时,视口404可以自动引导至兴趣点。在这个实例中,在计算装置402的显示屏幕上呈现的视口404的方向已经改变为面向图4a中的场景中示出的一对鸟414。因此,在这个实例中,在自动模式中沿着预定轨迹的预期航向407以及航向指示器408对应于其中兴趣点414是可见的方向。在图4c的实例中,操作计算装置402的用户具有手动导航视口404的选择。当手动导航时,自动模式停用并且视口404不再基于预定轨迹自动引导。用户具有例如通过选择对应于导航指示器406的显示屏幕中的区域重新激活自动模式的选择。

图5示出了根据本公开内容的实施方式的用于自定义虚拟内容项的用户体验的发布者界面502的实例500。示例性界面502包括可以通过其播放虚拟内容项的区域504。在区域504中的虚拟内容项的播放期间,可以反映虚拟内容项的任何自定义或修改。导航指示器506可以包括在区域504中,以便发布者可以直观视口的位置和/或方向。在一些实施方式中,当虚拟内容项开始播放时,发布者可以定义用于该视口的最初的相机定向508。例如,最初的相机定向508可以通过指定用于俯仰、偏航和/或视野的对应度数值来定义。

在一些实施方式中,发布者可以启用自动模式510或者“导演剪辑”,这允许观看虚拟内容项的用户进入将他们的视口自动导航通过虚拟内容项中的场景的自动模式。在一些实施方式中,当启用自动模式时,用户的视口可以自动转换至虚拟内容项中的兴趣点。可以自动生成兴趣点之间的视口的相应轨迹。当观看区域504中的虚拟内容项时,发布者可以使用选项512添加兴趣点。例如,当正在区域504中播放虚拟内容项时,发布者可以选择选项512以选择和标记兴趣点。举几个实例,标记的兴趣点可对应于场景中的特征、场景中的区域、一组帧。兴趣点指示器514可以知道到目前为止由发布者标记的兴趣点的数量。发布者可以选择选项516以将虚拟内容项发布到例如社交网络系统。发布的虚拟内容项可以包括描述被指定的各个兴趣点以及任何指定的视口轨迹的信息。当用户访问虚拟内容项时可以利用这个信息以便可以根据情况显示兴趣点。在一些实施方式中,发布者可以创建自动导航用户的视口通过由发布者指定的虚拟内容项中的场景和/或兴趣点的“导演剪辑”视频(例如,自动生成的撤回用户界面)的完全自动的版本。根据该实现,随着正在播放自动生成的“导演剪辑”视频,不允许访问该视频的用户改变视口的方向,或者改变视口的缩放水平,或者改变这两者。在一些实施方式中,可以生成不同格式的自动生成的“导演剪辑”视频。例如,举几个实例,自动版本的“导演剪辑”视频可以格式化为球形视频、常规的直线视频、二维(2d)视频或者三维(3d)视频。在这种实施方式中,各种属性可以用于确定哪个格式应该提供至用户用于播放的计算装置。例如,提供的格式可以部分基于计算装置的特性(例如,哪个格式可以在计算装置上播放)、用户偏好或者这两者来确定。在一些实施方式中,在用户的计算装置不能播放该视频的默认的或优选的格式的情况下,一些格式的自动生成的“导演剪辑”视频可以用作撤回选项。例如,发布者可指定默认提供给用户的球形视频版本的“导演剪辑”视频。在用户的计算装置不能播放球形视频版本的视频的情况下,代替指定的视频版本可提供不同的版本(例如,二维版本的视频)。

图6a示出了在访问内容项(例如,虚拟内容项)时可以呈现在视口界面中的导航指示器602的实例600。在图6a中,导航指示器602在访问虚拟内容项时指示视口的最初或者预期的方向604。例如,方向604可以由虚拟内容项的发布者指定,并且可在虚拟内容项的播放期间在不同时间点处变化。导航指示器602还包括在访问通过虚拟内容捕获的场景时指示视口的方向或航向的航向指示器606。在这个实例中,视口的方向由航向指示器606的方向指示。随着视口方向改变,航向指示器606可以围绕点608旋转以面向对应于更新的视口方向的方向。在一些实施方式中,通过航向指示器606指示的方向对应于视口沿着垂直轴(即,偏航)的移动。航向指示器606还可以指示被访问的场景中的视口的缩放水平。在一些实施方式中,航向指示器606的长度或大小围绕点608增加或拉长以指示视口的更高的缩放水平。在这种实施方式中,航向指示器606的长度或大小围绕点608减小或紧缩以指示视口的降低的缩放水平。在一些实施方式中,虚拟内容项可以与默认的缩放水平(例如,60度或者一些其他指定的缩放水平)相关联。在一些实施方式中,虚拟内容项的发布者可指定可通过视口应用的最小和/或最大的缩放水平。

图6b示出了在访问内容项(例如,虚拟内容项)时可以呈现在视口界面中的导航指示器622的实例620。在图6b中,访问虚拟内容项的视口放大为场景。因此,航向指示器626示出为围绕点628在大小上拉长或增加以指示视口的增加的缩放水平。

图6c示出了在访问内容项(例如,虚拟内容项)时可以呈现在视口界面中的导航指示器632的实例630。在图6c中,访问虚拟内容项的视口的方向相对于视口的最初的或者预期的方向634面向西方或者左侧。进一步地,视口从观看的场景中缩小。因此,航向指示器636示出为围绕点638旋转至左侧以指示视口的方向。进一步地,航向指示器636示出为围绕点638在大小上紧缩或减小以指示视口的减小的缩放水平。

图6d示出了可以在访问内容项(例如,虚拟内容项)时呈现在视口界面中的导航指示器642的实例640。在图6d中,访问虚拟内容项的视口被放大为虚拟内容项的场景。此外,访问虚拟内容项的视口的方向相对于视口的最初的或者预期的方向644面向西方或者左侧。因此,航向指示器646示出为围绕点648在大小上拉长或增加以指示视口的增加的缩放水平。进一步地,航向指示器646还示出为围绕点648旋转至左侧以指示视口的方向。

图6e示出了在访问内容项(例如,虚拟内容项)时可以呈现在视口界面中的导航指示器652的实例650。在图6e中,已经更新了视口的最初的或者预期的方向654。例如,当访问视口通过其引导的场景(例如,来自移动车辆的视图)时,可在虚拟内容项的播放期间的不同时间点导致预期方向654的改变。在这个实例中,访问虚拟内容项的视口面向相对于视口的预期方向654的反方向。因此,航向指示器656示出为在相对于预期方向的反方向上围绕点658旋转。

图6f示出了可以在访问内容项(例如,虚拟内容项)时呈现在视口界面中的导航指示器662的实例660。在图6f中,访问虚拟内容项的视口被放大为虚拟内容项的场景。进一步地,访问虚拟内容项的视口的方向相对于视口的最初的或者预期的方向664面向西方或者左侧。因此,航向指示器666示出为围绕点668在大小上拉长或增加以指示视口的增加的缩放水平。进一步地,航向指示器666还示出为围绕点668旋转至左侧以指示视口的方向。在一些实施方式中,导航指示器662可以识别被访问的虚拟内容项的场景内的各个兴趣点。在这种实施方式中,导航指示器662可以视觉指示例如相对于方向664和/或航向指示器666的兴趣点的相应方向670。这种兴趣点可以由例如虚拟内容项的发布者指定。通常,每个兴趣点可与通过虚拟内容项捕获的场景内的相对于与被访问的场景(例如,流或推送)的时间点的特定位置相关联。在一些实施方式中,导航指示器662可以识别通过视口呈现的场景中的视口位置的阈值距离内的兴趣点。

图7示出了根据本公开内容的实施方式的用于导航视口界面的示例性方法700。应当理解,除非另有说明,否则在本文中讨论的各种实施方式的范围内,可以存在以类似或者可替换的顺序、或者同时执行的额外的、较少的、或者可替换的步骤。

在框702中,确定访问内容项的至少一个请求。所请求的内容项是使用从一组不同位置捕获一个或多个场景的一组相机馈送编写的。在框704中,获取描述用于导航所请求的内容项中的场景中的至少一些的自动观看模式的信息。在框706中,将视口界面设置在计算装置的显示屏幕上,所请求的内容项的播放通过该显示屏幕呈现。在框708中,视口界面在所请求的内容项的播放期间至少部分基于自动观看模式自动导航通过场景中的至少一些。

预期了可以存在与本公开内容的各种实施方式相关联的许多其他用途、应用和/或变化。例如,在一些情况下,用户可以选择是否选择加入利用所公开的技术。所公开的技术还可以保证维护各种隐私设置和偏好并且可以防止泄露保密信息。在另一实例中,本公开内容的各种实施方式随着时间的推移可以获悉、改善和/或精炼。

社交网络系统-示例性实现方式

图8示出了根据本公开内容的实施方式的可以在各种情形下利用的示例性系统800的网络图。系统800包括一个或多个用户装置810、一个或多个外部系统820、社交网络系统(或服务)830和网络850。在实施方式中,结合上述实施方式讨论的社交网络服务、提供者和/或系统可实现为社交网络系统830。为了说明的目的,由图8示出的系统800的实施方式包括单个外部系统820和单个用户装置810。然而,在其他实施方式中,系统800可包括更多的用户装置810和/或更多的外部系统820。在某些实施方式中,社交网络系统830由社交网络提供商操作,而外部系统820与社交网络系统830分开,这是因为这些系统可以由不同的实体操作。然而,在各种实施方式中,社交网络系统830和外部系统820共同操作,以便将社交网络服务提供给社交网络系统830的用户(或成员)。在这个意义上,社交网络系统830提供平台或骨干,其他系统(诸如,外部系统820)可使用该平台或骨干来通过互联网将社交网络服务和功能提供给用户。

用户装置810包括一个或多个计算装置(或系统),其可以从用户接收输入并且经由网络850传输和接收数据。在一个实施方式中,用户装置810是执行例如微软windows兼容操作系统(os)、苹果osx和/或linux分布的常规计算机系统。在另一实施方式中,用户装置810可以是计算装置或者具有计算机功能的装置,诸如,智能手机、平板电脑、个人数字助理(pda)、移动电话、便携式计算机、可佩戴装置(例如,一副眼镜、手表、手链等)、相机、电器等。用户装置810被配置为经由网络850通信。用户装置810可以执行应用程序,例如,允许用户装置810的用户与社交网络系统830交互的浏览器应用程序。在另一实施方式中,用户装置810通过由用户装置810的本地操作系统(例如,ios和android)提供的应用程序编程接口(api)与社交网络系统830交互。用户装置810被配置为使用有线和/或无线通信系统经由可包括局域网和/或广域网的任何组合的网络850与外部系统820和社交网络系统830通信。

在一个实施方式中,网络850使用标准通信技术和协议。因此,网络850可以包括使用诸如以太网、802.11、微波存取全球互通(wimax)、3g、4g、cdma、gsm、lte、数字用户线路(dsl)等技术的链路。同样,网络850中使用的网络协议可以包括多协议标签交换(mpls)、传输控制协议/互联网协议(tcp/ip)、用户数据报协议(udp)、超文本传输协议(http)、简单邮件传输协议(smtp)、以及文件传输协议(ftp)等。可以使用包括超文本标记语言(html)和可扩展标记语言(xml)的技术和/或格式表示通过网络850交换的数据。此外,可以使用诸如安全套接层(ssl)、传输层安全(tls)以及互联网协议安全(ipsec)等常规加密技术来将所有或一些链路加密。

在一个实施方式中,用户装置810可以通过使用浏览器应用程序812处理从外部系统820和社交网络系统830接收的标记语言文档814显示来自外部系统820和/或社交网络系统830的内容。标记语言文档814识别内容以及描述该内容的格式或展示的一个或多个指令。通过执行包括在标记语言文档814中的指令,浏览器应用程序812使用由标记语言文档814描述的格式或展示来显示识别的内容。例如,标记语言文档814包括用于生成和显示具有多个帧的网页的指令,这些帧包括从外部系统820和社交网络系统830检索到的文本和/或图像数据。在各种实施方式中,标记语言文档814包括数据文件,该数据文件包括可扩展标记语言(xml)数据、可扩展超文本标记语言(xhtml)数据或者其他标记语言数据。此外,标记语言文档814可包括javascript对象表示法(json)数据、具有填充的json(jsonp)以及javascript数据,以便促进外部系统820和用户装置810之间的数据交换。在用户装置810上的浏览器应用程序812可使用javascript编译器来解码标记语言文档814。

标记语言文档814还可以包括或者链接至应用程序或应用程序框架,诸如,flashtm或unitytm应用程序、silverlighttm应用程序框架等。

在一个实施方式中,用户装置810还包括一个或多个插件(cookie)816,其包括表示用户装置810的用户是否登录到社交网络系统830上的数据,该插件能够修改从社交网络系统830传送到用户装置810的数据。

外部系统820包括一个或多个网络服务器,其包括使用网络850传送到用户装置810的一个或多个网页822a、822b。外部系统820与社交网络系统830分离。例如,外部系统820与第一域相关联,而社交网络系统830与单独的社交网络域相关联。包含在外部系统820中的网页822a、822b包括识别内容并包括指定所识别的内容的格式或展示的指令的标记语言文档814。如上所述,应当理解,可以存在许多变化或者其他可能性。

社交网络系统830包括用于社交网络的一个或多个计算装置,该社交网络包括多个用户,并且向社交网络的用户提供与社交网络的其他用户通信和交互的能力。在一些情况下,社交网络可以由图谱表示,即,包括边线和节点的数据结构。其他数据结构也可用于表示社交网络,包括但不限于数据库、对象、类、元元素、文件或者任何其他数据结构。社交网络系统830可以由运营商监管、管理或控制。社交网络系统830的运营商可以是人类、自动化应用程序或用于管理内容、调节政策以及在社交网络系统830内收集使用度量的一系列应用程序。可以使用任何类型的运营商。

用户可加入社交网络系统830,然后添加与社交网络系统830中的他们希望连接的任意数量的其他用户的连接。如本文中使用的,术语“好友”指的是社交网络系统830中的用户经由社交网络系统830与其形成连接、关联或关系的任何其他用户。例如,在实施方式中,如果社交网络系统830中的用户表示为社交图谱中的节点,则术语“好友”可以指的是在两个用户节点之间形成的并直接连接两个用户节点的边线。

基于用户的共同特征(例如,作为相同教育机构的校友的用户),连接可由用户明确添加或者可由社交网络系统830自动创建。例如,第一用户特别选择具体的其他用户作为好友。在社交网络系统830中的连接通常在两个方向上但不需要在两个方向上,因此,术语“用户”和“好友”取决于参考体系。在社交网络系统830的用户之间的连接通常是双边的(“双向的”)或者“相互的”,但是连接也可以是单向的或“单边的”。例如,如果bob和joe都是社交网络系统830的用户并彼此连接,那么bob和joe均为彼此的连接。另一方面,如果bob希望连接至joe以查看joe传送至社交网络系统830的数据,但是joe不希望形成相互连接,则可创建单边连接。用户之间的连接可以是直接连接;然而,社交网络系统830的一些实施方式允许经由一个或多个连接等级或分离程度的间接连接。

除了在用户之间建立和保持连接并允许在用户之间交互以外,社交网络系统830还向用户提供对由社交网络系统830支持的各类别型的项目采取动作的能力。这些项目可包括社交网络系统830的用户可能属于的组或网络(即,个人、实体和概念的社交网络)、用户可能感兴趣的事件或日历条目、用户可经由社交网络系统830使用的基于计算机的应用程序、允许用户经由社交网络系统830提供的服务或通过社交网络系统830购买或出售项目的业务、以及与用户可在社交网络系统830线上或线下执行的广告的交互。这些仅是用户可影响社交网络系统830的项目的几个实例,并且可以具有很多其他实例。用户可以与能够在社交网络系统830中或者在外部系统820中表示的、与社交网络系统830分开的或者经由网络850与社交网络系统830耦接的任何事物交互。

社交网络系统830也能够链接各种实体。例如,社交网络系统830使用户能够通过api、网络服务或其他通信信道彼此交互以及与外部系统820或其他实体交互。社交网络系统830生成和保持包括由多个边线互连的多个节点的“社交图谱”。社交图谱中的每个节点可表示可以作用于另一节点和/或可以由另一节点作用的实体。社交图谱可包括各类别型的节点。节点类型的实例包括用户、非人实体、内容项目、网页、组、活动、消息、概念以及可以由社交网络系统830中的对象表示的任何其他事情。社交图谱中的两个节点之间的边线可以表示在这两个节点之间的特定类型的连接或关联,这可以因节点关系或者因由一个节点在另一个节点上进行的活动而产生。在一些情况下,可以对节点之间的边线加权。边线的权重可以表示与边线相关联的属性,诸如,节点之间的连接或关联的强度。不同类型的边线可以设置有不同权重。例如,可以给在一个用户“喜欢”另一用户时创建的边线提供一个权重,同时可以给在用户与另一用户成为好友时创建的边线提供不同的权重。

例如,当第一用户将第二用户识别为好友时,在社交图谱中生成将表示第一用户的节点和表示第二用户的第二节点连接的边线。因为各种节点彼此相关或交互,因此社交网络系统830修改连接各种节点的边线以反映关系和交互。

社交网络系统830还包括用户生成的内容,该内容增强用户与社交网络系统830的交互。用户生成的内容可包括用户可以添加、上传、发送或“发帖”到社交网络系统830的任何事物。例如,用户将帖子从用户装置810传送至社交网络系统830。帖子可包括数据(诸如,状态更新或其他文本数据)、位置信息、图像(诸如,照片)、视频、链路、音乐或其他相似数据和/或媒体。第三方还可以将内容添加至社交网络系统830。内容“项目”表示为社交网络系统830中的对象。以此方式,鼓励社交网络系统830的用户通过各种通信信道发布文本和各种媒体类型的内容项来彼此通信。这种通信增加用户彼此的交互并且增加用户与社交网络系统830交互的频率。

社交网络系统830包括网络服务器832、api请求服务器834、用户个人资料存储器836、连接存储器838、动作记录器840、活动日志842和授权服务器844。在本发明的实施方式中,社交网络系统830可包括用于各种应用程序的额外的、更少的或不同的部件。未示出其他部件,诸如,网络接口、安全机构、负载平衡器、故障转移服务器、管理和网络操作控制台等,以便不使系统的细节晦涩。

用户个人资料存储器836保持有关用户账户的信息,包括传记、人口统计和其他类型的描述信息,诸如,由用户声明的或由社交网络系统830推断的工作经历、教育背景、爱好或偏好、位置等。将该信息存储在用户个人资料存储器836中,以便独特地识别每个用户。社交网络系统830还在连接存储器838中存储描述不同用户之间的一个或多个连接的数据。连接信息可表示具有相似或共同工作经历、组成员、爱好或教育背景的用户。此外,社交网络系统830包括在不同用户之间的用户定义的连接,允许用户指定他们与其他用户的关系。例如,用户定义的连接允许用户生成与和用户的现实关系平行的其他用户的关系,诸如,朋友、同事、合作伙伴等。用户可从预定的连接类型中选择,或根据需要定义他们自己的连接类型。还在连接存储器838中存储与社交网络系统830中的其他节点(例如,非人实体、储存区、集群中心、图像、兴趣、页面、外部系统、概念等)的连接。

社交网络系统830保持关于用户可以与之交互的对象的数据。为了保持该数据,用户个人资料存储器836和连接存储器838存储由社交网络系统830保持的相应类型的对象的实例。每个对象类型具有适于存储适合对象类型的信息的信息字段。例如,用户个人资料存储器836包括具有适于描述用户账号以及与用户账号相关的信息的字段的数据结构。当创建特定类型的新对象时,社交网络系统830初始化对应类型的新数据结构,将唯一对象标识符分配给该数据结构,并且根据需要开始将数据添加至对象。例如,当用户变成社交网络系统830的用户时,可能发生这种情况,社交网络系统830在用户个人资料存储器836中生成用户个人资料的新实例,将唯一标识符分配给用户账号,并且开始使用由用户提供的信息填充用户账号的字段。

连接存储器838包括适用于描述用户与其他用户的连接、与外部系统820的连接或者与其他实体的连接的数据结构。连接存储器838还可使连接类型与用户连接相关联,用户的连接可与用户的隐私设置一起用于调节对关于用户的信息的访问。在本发明的实施方式中,用户个人资料存储器836和连接存储器838可实现为联合数据库。

存储在连接存储器838、用户个人资料存储器836和活动日志842中的数据使社交网络系统830能够生成使用节点来识别各种对象并且使用连接节点的边线来识别不同对象之间的关系的社交图谱。例如,如果第一用户在社交网络系统830中建立与第二用户的连接,则来自用户个人资料存储器836的第一用户和第二用户的用户账号可用作社交图谱中的节点。在由连接存储器838存储的第一用户与第二用户之间的连接是与第一用户和第二用户相关联的节点之间的边线。继续这个实例,第二用户然后可以在社交网络系统830内向第一用户发送消息。发送可被存储的消息的动作是社交图谱中表示第一用户和第二用户的两个节点之间的另一边线。此外,可在社交图谱中识别和包含消息本身,作为连接至表示第一用户和第二用户的节点的另一节点。

在另一实例中,第一用户可在由社交网络系统830保持的图像(或者替换地,在由社交网络系统830外部的另一系统保持的图像)中标记第二用户。图像本身可表示作为社交网络系统830中的节点。该标记动作可在第一用户和第二用户之间创建边线并且在各个用户与图像之间创建边线,该图像也是社交图谱中的节点。在又一实例中,如果用户确认参加一个事件,则用户和事件是从用户个人资料存储器836获取的节点,其中,事件的参加是可从活动日志842中检索的节点之间的边线。通过生成并保持社交图谱,社交网络系统830包括描述多种不同类型的对象以及这些对象之间的交互和连接的数据,从而提供社交相关信息的丰富来源。

网络服务器832经由网络850将社交网络系统830链接至一个或多个用户装置810和/或一个或多个外部系统820。网络服务器832为网页以及其他网页相关的内容(诸如,java、javascript、flash、xml等)服务。网络服务器832可包括邮件服务器或其他消息功能,用于在社交网络系统830与一个或多个用户装置810之间接收和路由消息。这些消息可以是即时消息、队列消息(例如,电子邮件)、文本和sms消息或者任何其他合适的消息格式。

api请求服务器834允许一个或多个外部系统820和用户装置810通过调用一个或多个api功能来从社交网络系统830中调用访问信息。api请求服务器834还可允许外部系统820通过调用api来将信息发送至社交网络系统830。在一个实施方式中,外部系统820经由网络850将api请求发送至社交网络系统830,并且api请求服务器834接收api请求。通过调用与api请求相关联的api,api请求服务器834处理该请求,以生成合适的响应,api请求服务器834经由网络850将该响应传送至外部系统820。例如,响应于api请求,api请求服务器834收集与用户相关联的数据(诸如,登录到外部系统820内的用户连接),并且将收集的数据传送给外部系统820。在另一实施方式中,用户装置810以与外部系统820相同的方式经由api与社交网络系统830通信。

动作记录器840能够从网络服务器832接收有关用户在社交网络系统830上或社交网络系统830外的动作的通信。动作记录器840使用有关用户动作的信息填充活动日志842,能够使社交网络系统830发现由其用户在社交网络系统830内并且在社交网络系统830外部采取的各种动作。特定用户相对于社交网络系统830上的另一节点采取的任何动作可通过在活动日志842中或相似数据库中或其他数据存储库中保持的信息而与每个用户账号相关联。所识别并存储的用户在社交网络系统830内采取的动作的实例可包括例如,添加与另一用户的连接,将消息发送至另一用户,读取来自另一用户的消息,查看与另一用户相关联的内容,参加另一用户发布的事件,发布图像,尝试发布图像,或者与另一用户或另一对象交互的其他动作。当用户在社交网络系统830内采取动作时,在活动日志842中记录该动作。在一个实施方式中,社交网络系统830保持活动日志842作为条目的数据库。当在社交网络系统830内采取动作时,动作的条目被添加至活动日志842。活动日志842可被称为动作日志。

此外,用户动作可以与在社交网络系统830外部的实体内发生的概念和动作相关联,诸如,与社交网络系统830分开的外部系统820。例如,动作记录器840可以从网络服务器832接收描述用户与外部系统820交互的数据。在这个实例中,外部系统820根据社交图谱中的结构化动作和对象报告用户的交互。

用户与外部系统820交互的动作的其他实例包括表示对外部系统820或另一实体感兴趣的用户、将评论发布至讨论外部系统820或外部系统820内的网页822a的社交网络系统830的用户、将统一资源定位符(url)或与外部系统820相关联的其他标识符发布至社交网络系统830的用户、参加与外部系统820相关联的事件的用户、或者与外部系统820相关的用户的任何其他动作。因此,活动日志842可包括描述在社交网络系统830的用户与和社交网络系统830分开的外部系统820之间的交互的动作。

授权服务器844执行社交网络系统830的用户的一个或多个隐私设置。用户的隐私设置确定如何可以分享与用户相关联的特定信息。隐私设置包括与用户相关联的特定信息的规范以及可以与其分享信息的一个或多个实体的规范。可与其分享信息的实体的实例可包括其他用户、应用程序、外部系统820或者可潜在访问该信息的任何实体。用户可以分享的信息包括用户账号信息,诸如,个人资料照片、与用户相关联的电话号码、用户的连接、用户采取的动作(诸如,添加连接、改变用户个人资料信息)等。

隐私设置规范可以以不同的粒度级别来提供。例如,隐私设置可识别与其他用户共享的特定信息;隐私设置识别工作电话号码或相关信息的特定集合,诸如,包括个人资料照片、住宅电话号码以及状态的个人信息。可替换地,隐私设置可应用于与用户相关联的所有信息。还可以以各种粒度等级来指定可访问特定信息的实体集合的规范。可以分享信息的各种实体集合可以包括例如用户的所有好友、好友的所有好友、所有应用程序或者所有外部系统820。一个实施方式允许该组实体的规范包括实体的列举。例如,用户可以提供允许访问某些信息的一系列外部系统820。另一实施方式允许规范包括一组实体以及不允许访问信息的异常。例如,用户可以允许所有外部系统820访问用户的工作信息,但是规定不允许访问个人信息的一系列外部系统820。某些实施方式调用不允许访问某些信息的异常列表,即,“阻止列表”。阻止属于由用户规定的阻止列表的外部系统820访问在隐私设置中规定的信息。信息的规范的粒度以及与其分享信息的实体的规范的粒度的各种组合是可行的。例如,所有个人信息可与好友分享,而所有工作信息可与好友的好友分享。

授权服务器844包含用以确定与用户相关联的某些信息是否可以由用户的好友、外部系统820和/或其他应用程序和实体访问的逻辑。外部系统820可需要授权服务器844的授权以访问用户的更隐私和敏感的信息,诸如,用户的工作电话号码。根据用户的隐私设置,授权服务器844确定是否允许另一用户、外部系统820、应用程序或者另一实体访问与用户相关联的信息,包括有关用户采取的动作的信息。

在一些实施方式中,社交网络系统830可以包括内容呈现模块846。内容呈现模块846可以例如被实现为图1的内容呈现模块102。在一些实施方式中,用户装置810可以包括被配置为执行可以通过图1的内容呈现模块102执行的一些或所有特征的内容呈现模块818。如上所述,应当理解,可以存在许多变化或者其他可能性。

硬件实现

通过各种机器和计算机系统架构以及各种网络和计算环境可以实现上述处理和特征。图9示出了根据本发明的实施方式的可用于实现在本文中描述的一个或多个实施方式的计算机系统900的实例。计算机系统900包括用于使计算机系统900执行本文中讨论的处理和特征的指令组。计算机系统900可连接(例如,联网)至其他机器。在网络部署中,计算机系统900可在客户端-服务器网络环境中的服务器机器或客户端机器的能力中运行,或者作为对等(或分布式)网络环境中的对等机器运行。在本发明的实施方式中,计算机系统900可以是社交网络系统830、用户装置810、以及外部系统920、或者其部件。在本发明的实施方式中,计算机系统900可以是在构成所有或一部分社交网络系统830的多个服务器中的一个服务器。

计算机系统900包括处理器902、高速缓冲存储器904以及存储在计算机可读介质上的针对本文中描述的处理和特征的一个或多个可执行模块和驱动器。此外,计算机系统900包括高性能输入/输出(i/o)总线906和标准i/o总线908。主桥910使处理器902耦接至高性能i/o总线906,然而i/o总线桥912使这两个总线906和908彼此耦接。系统存储器914和一个或多个网络接口916耦接至高性能i/o总线906。计算机系统900可进一步包括视频存储器以及耦接至视频存储器的显示装置(未示出)。大容量存储器918和i/o端口920耦接至标准i/o总线908。计算机系统900可以可选地包括键盘和定位装置、显示装置、或者耦接至标准i/o总线908的其他输入/输出装置(未示出)。共同地,这些元件旨在表示广泛类别的计算机硬件系统,包括但不限于基于由位于加利福尼亚的圣克拉拉的英特尔公司制造的x86兼容处理器以及由位于加利福尼亚的森尼韦尔的超微半导体(advancedmicrodevices)(amd)公司制造的x86兼容处理器以及任意其他合适处理器的计算机系统。

操作系统管理并控制计算机系统900的操作,包括向软件应用程序(未示出)输入数据以及从软件应用程序输出数据。操作系统提供在系统上执行的软件应用程序与系统的硬件部件之间的接口。可以使用任何合适的操作系统,诸如,linux操作系统、从加利福尼亚库比蒂诺(cupertino)苹果电脑公司可商购的applemacintosh操作系统、unix操作系统、操作系统、bsd操作系统等。其他实现方式是可行的。

下面将更详细地描述计算机系统900的元件。具体地,网络接口916在计算机系统900与任何广泛的网络之间提供通信,诸如,以太网(例如,ieee802.3)网络、背板等。大容量存储器918为数据和编程指令提供永久存储,以便执行由以上识别的相应计算系统实现的上述处理和特征,而当由处理器902执行时,系统存储器914(例如,dram)为数据和编程指令提供暂时存储。i/o端口920可以是提供额外的外围装置之间的通信的一个或多个串联和/或并联的通信端口,这些外围装置可耦接至计算机系统900。

计算机系统900可包括各种系统架构,并且计算机系统900的各种部件可被重新布置。例如,高速缓冲存储器904可与处理器902在芯片上。可替换地,高速缓冲存储器904和处理器902可共同封装为“处理器模块”,其中,处理器902被称为“处理器核心”。此外,本发明的某些实施方式可能既不需要也不包括所有以上部件。例如,耦接至标准i/o总线908的外围装置可耦接至高性能i/o总线906。此外,在一些实施方式中,只可存在单个总线,其中,计算机系统900的部件耦接至该单个总线。此外,计算机系统900可包括额外的部件,诸如,额外的处理器、存储装置或存储器。

通常,本文中描述的处理和特征可实现为操作系统或特定应用程序的部分、部件、程序、对象、模块、或者被称为“程序”的一系列指令。例如,一个或多个程序可用于执行本文中描述的特定处理。通常该程序在计算机系统900中包括各种存储器以及存储装置中的一个或多个指令,当由一个或多个处理器读取和执行时,这些指令使计算机系统900执行操作,以执行在本文中描述的处理和特征。本文中描述的处理和特征可以在软件、固件、硬件(例如,专用集成电路)或者它们的任何组合中实现。

在一个实现方式中,本文中描述的处理和特征实现为由计算机系统900单独或共同地在分布式计算环境中运行的一系列可执行模块。上述模块可以由硬件、存储在计算机可读介质(或机器可读介质)上的可执行模块或这两者的组合来实现。例如,模块可包括由硬件系统中的处理器(诸如,处理器902)执行的多个或一系列指令。最初,一系列指令可存储在存储装置上,诸如,大容量存储器918。然而,该一系列指令可存储在任何合适的计算机可读存储介质上。此外,该一系列指令不需要本地存储,并且可经由网络接口916从远程存储装置(诸如,网络上的服务器)接收。将指令从存储装置(诸如,大容量存储器918)中复制到系统存储器914内,然后由处理器902访问和执行。在各种实现方式中,一个或多个模块可以由一个或多个位置中的一个或多个处理器执行,诸如,并行处理环境中的多个服务器。

计算机可读介质的实例包括但不限于,可记录类型的介质,诸如,易失性和非易失性存储器装置;固态存储器;软盘和其他可移动磁盘;硬盘驱动器;磁性介质;光盘(例如,光盘只读存储器(cdroms)、数字多用光盘(dvd));其他相似的非易失性(或暂时性)的、有形的(或非有形的)存储介质;或者适用于存储、编码或承载由计算机系统900执行的以执行本文中描述的处理和特征中一个或多个中的任一个的一系列指令的任何类型的介质。

为了说明性目的,阐述了很多具体细节以便提供说明书的详尽理解。然而,对于本领域技术人员显而易见的是,可在没有这些具体细节的情况下,实践本公开内容的实施方式。在某些情况下,以框图的形式示出了模块、结构、处理、特征以及装置,以免描述晦涩难懂。在其他情况下,示出了功能框图和流程图以表示数据和逻辑流程。可以通过除了本文中明确描述和描绘的方式以外的方式不同地组合、分开、去除、重新排列以及替换框图和流程图的部件(例如,模块、方框、结构、装置、特征等)。

在该说明书中参考“一个实施方式”、“实施方式”、“其他实施方式”、“一系列实施方式”、“一些实施方式”、“各种实施方式”等意味着结合实施方式描述的特定特征、设计、结构或特性包括在本公开内容的至少一个实施方式中。例如,在说明书的不同地方出现短语“在一个实施方式中”、“在实施方式中”,不必均表示相同的实施方式,也不必是与其他实施方式互相排斥的单独的或可替换的实施方式。此外,无论是否明确引用“实施方式”等,都描述了各种特征,这些特征可以不同地组合并且包含在一些实施方式中,但是还可以在其他实施方式中不同地省略。类似地,描述的各个特征可以是一些实施方式而不是其他实施方式的偏好或要求。

本文中使用的语言主要出于可读性和指导性目的而选择,并且选择其不是为了划定或限制发明主题。因此,其目的在于,本发明的范围不受到这个详细描述的限制,而是受到根据其在应用程序上发行的任何权利要求的限制。因此,本发明的实施方式的公开内容旨在说明而非限制在所附权利要求中陈述的本发明的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1