用于媒体内容项目之间的转换的系统和方法与流程

文档序号:18667555发布日期:2019-09-13 20:23阅读:186来源:国知局
用于媒体内容项目之间的转换的系统和方法与流程

本技术涉及媒体内容项目的处理。更具体地,本技术涉及用于通过媒体内容平台来管理在媒体内容项目当中的转换的技术。

背景

用户常常为了各种各样的目的而利用计算设备。用户可以使用他们的计算设备来例如,与彼此交互、访问媒体内容、共享媒体内容和创建媒体内容。在一些情况下,媒体内容可以由社交网络系统的用户提供。媒体内容可以包括例如文本、图像、视频和音频的中一个或其组合。媒体内容可以被发布到社交网络系统用于由其他人消费。

在传统方法下,通过社交网络系统提供的媒体内容可以由社交网络系统的用户以各种方式进行访问。在一些情况下,可以基于如由社交网络系统确定的用户的兴趣来向成员提供各种媒体内容。例如,各种媒体内容可以被呈现为媒体内容项目的列表,用户可以从该列表中选择一个或更多个媒体内容项目。在其他情况下,可以基于用户到社交网络系统上的页面和其他用户的简档(profile)的导航来由用户访问各种媒体内容。页面和简档可以呈现可用于由用户选择并访问的媒体内容项目。

概述

本技术的各种实施例可以包括被配置为确定与第一媒体内容项目相关联的方位数据(orientationdata)的系统、方法和非暂时性计算机可读介质。基于方位数据来选择第一媒体内容可以转换到的第二媒体内容项目。从第一媒体内容项目到第二媒体内容项目的转换被呈现。

在实施例中,第一媒体内容项目的类型是图像、视频、虚拟内容和音频内容中的至少一种。

在实施例中,第二媒体内容项目的类型是图像、视频、虚拟内容和音频内容中的至少一种。

在实施例中,与第一媒体内容项目相关联的方位数据包括用于捕获内容的照相机的角度、照相机的平移速度、照相机的旋转速度和关于在第一媒体内容项目中描绘的概念(concept)的用户视角(viewangle)中的至少一个。

在实施例中,与第二媒体内容项目相关联的方位数据和与第一媒体内容项目相关联的方位数据相同。

在实施例中,与第二媒体内容项目相关联的方位数据在相对于与第一媒体内容项目相关联的方位数据的阈值差值内。

在实施例中,基于与每个媒体内容项目相关联的方位数据和与第一媒体内容项目相关联的方位数据相匹配的程度来给多个媒体内容项目评分。

在实施例中,多个媒体内容项目中的具有最高分数的媒体内容项目被选择为第二媒体内容项目。

在实施例中,呈现从第一媒体内容项目到第二媒体内容项目的转换包括基于与第一媒体内容项目相关联的方位数据来将用户视场指向在第二媒体内容项目中描绘的概念。

在实施例中,呈现从第一媒体内容项目到第二媒体内容项目的转换包括将与第二媒体内容项目相关联的方位数据调整为在相对于与第一媒体内容项目相关联的方位数据的阈值差值内。

本技术的各种实施例可以包括被配置为检测在用户被准许访问的第一媒体内容项目中反映的概念的系统、方法和非暂时性计算机可读介质。确定该概念具有阈值水平的与用户的相关性。该概念与一个元素相关联,该元素在选择时引起到用户被准许访问的第二媒体内容项目的转换,第二媒体内容项目反映该概念。在第一媒体内容项目中为用户呈现该元素。

在实施例中,第一媒体内容项目的类型是图像、视频、虚拟内容和音频内容中的至少一种。

在实施例中,第二媒体内容项目的类型是图像、视频、虚拟内容和音频内容中的至少一种。

在实施例中,元素可以由用户通过姿势(gesture)来选择。

在实施例中,元素位于距第一媒体内容项目中反映的概念的位置的阈值距离内。

在实施例中,检测到在第一媒体内容项目中的概念的运动轨迹。在第一媒体内容项目中的元素被定位成遵循该运动轨迹。

在实施例中,由第一媒体内容项目的提供者允许呈现第一媒体内容项目中的元素。

在实施例中,由第二媒体内容项目的提供者允许到第二媒体内容项目的转换。

在实施例中,元素是转换标记(transitionmarker)。

在实施例中,指示概念的主题的标签(tag)被呈现在距第一媒体内容项目中反映的概念的位置的阈值距离内。

本技术的各种实施例可以包括被配置为从用户接收与第一媒体内容项目相关联的选择以引起从第一媒体内容项目的转换的系统、方法和非暂时性计算机可读介质。在第一媒体内容项目和第二媒体内容项目之间的转换被配置。响应于该选择,为用户呈现转换。

在实施例中,从用户接收选择包括接收对与在第一媒体内容项目中反映的概念相关联的转换标记的选择。基于与概念相关联的标签来确定多个媒体内容项目。从多个媒体内容项目中选择媒体内容项目作为第二媒体内容项目。

在实施例中,第一媒体内容项目的类型是图像、视频、虚拟内容和音频内容中的至少一种。

在实施例中,第二媒体内容项目的类型是图像、视频、虚拟内容和音频内容中的至少一种。

在实施例中,确定多个媒体内容项目还基于由多个媒体内容项目中的每一个对与概念相关联的标签的包括。

在实施例中,从多个媒体内容项目中选择媒体内容项目包括:基于在与媒体内容项目相关联的标签和与概念相关联的标签之间的相似程度、与媒体内容项目相关联的标签与用户的兴趣的相关性水平、媒体内容项目是否由用户在社交网络系统上的关连(connection)提供、以及媒体内容项目在社交网络系统中的流行性中的至少一个来给多个媒体内容项目中的每一个评分;以及基于该评分来从多个媒体内容项目中选择媒体内容项目作为第二媒体内容项目。

在实施例中,给多个媒体内容项目中的每一个评分。将多个媒体内容项目中的阈值数量的最高得分的媒体内容项目作为第二媒体内容项目的候选项呈现给用户。从用户接收对来自最高得分的媒体内容项目中的第二媒体内容项目的选择。

在实施例中,由第二媒体内容项目的提供者允许该转换。

在实施例中,第二媒体内容项目与第一媒体内容项目相比为用户提供更沉浸式的体验。

在实施例中,第一媒体内容项目与用户的关连相关联,并且呈现在与用户相关联的简档或门户(portal)处。该转换包括与用户相关联的简档或门户的呈现转换到与关连相关联的简档或门户的呈现。

应当理解,从附图中和从下面的详细描述中,所公开的技术的许多其他特征、应用、实施例和/或变形将是明显的。本文描述的结构、系统、非暂时性计算机可读介质和方法的附加和/或替代实现可以被使用而不偏离所公开的技术的原理。

在根据本发明的实施例中,一个或更多个计算机可读非暂时性存储介质体现软件,该软件在被执行时可操作来执行根据本发明或任何上面提到的实施例的方法。

在根据本发明的实施例中,系统包括:一个或更多个处理器;以及耦合到处理器并包括由处理器可执行的指令的至少一个存储器,处理器当执行指令时可操作来执行根据本发明或任何上面提到的实施例的方法。

在根据本发明的实施例中,优选地包括计算机可读非暂时性存储介质的计算机程序产品当在数据处理系统上被执行时可操作来执行根据本发明或任何上面提到的实施例的方法。

特别地,在涉及方法、系统和存储介质的所附权利要求中公开了根据本发明的实施例,其中,在一个权利要求类别(例如方法)中提到的任何特征也可以在另一个权利要求类别(例如系统)中被要求保护。在所附权利要求中的从属性或往回引用仅为了形式原因而被选择。然而,也可以要求保护由对任何前面的权利要求(特别是多项权利要求)的有意往回引用产生的任何主题,使得权利要求及其特征的任何组合被公开并可被要求保护,而不考虑在所附权利要求中选择的从属性。可以被要求保护的主题不仅包括如在所附权利要求中阐述的特征的组合,而且还包括在权利要求中的特征的任何其他组合,其中,在权利要求中提到的每个特征可以与在权利要求中的任何其他特征或其他特征的组合相结合。此外,本文描述或描绘的实施例和特征中的任一个可以在单独的权利要求中和/或以与本文描述或描绘的任何实施例或特征的任何组合或以与所附权利要求的任何特征的任何组合被要求保护。

附图简述

图1示出了根据本技术的实施例的包括示例媒体内容转换模块的系统。

图2a示出了根据本技术的实施例的示例标记(tagging)和元数据(metadata)模块。

图2b示出了根据本技术的实施例的示例内容转换模块。

图2c示出了根据本技术的实施例的示例转换匹配模块。

图3a-图3g示出了根据本技术的实施例的示例场景。

图4a示出了根据本技术的实施例的与标记和元数据相关的示例方法。

图4b示出了根据本技术的实施例的与内容转换相关的示例方法。

图5示出了根据本技术的实施例的与转换匹配相关的示例方法。

图6示出了根据本技术的实施例的可以在各种场景中利用的示例系统的网络图。

图7示出了根据本技术的实施例的可以在各种场景中利用的计算机系统的示例。

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

详细描述

媒体内容项目的转换

如所提到的,用户常常为了各种各样的目的而利用计算设备。用户可以使用他们的计算设备来例如,与彼此交互、访问媒体内容、共享媒体内容和创建媒体内容。在一些情况下,媒体内容可以由社交网络系统的用户提供。媒体内容可以包括例如文本、图像、视频和音频中的一个或其组合。媒体内容可以被发布到社交网络系统用于由其他人消费。

在传统方法下,通过社交网络系统提供的媒体内容可以由社交网络系统的用户以各种方式进行访问。例如,可以基于如由社交网络系统确定的用户的兴趣来向成员提供各种媒体内容。各种媒体内容可以被呈现为媒体内容项目的列表,用户可以从该列表中选择一个或更多个媒体内容项目。作为另一示例,各种媒体内容可以由用户基于由用户对在社交网络系统上的其他用户的页面和简档的所需的导航来进行访问。页面和简档可以呈现可用于由用户选择并访问的媒体内容项目。

在传统方法下对媒体内容项目的访问的管理对于希望访问媒体内容项目的用户和通过社交网络系统提供媒体内容项目用于由用户访问的内容提供者都提出挑战。对于希望访问媒体内容项目的用户,传统方法可能无法提供对用户可能感兴趣的媒体内容项目的完全或完整选择的访问。在一些情况下,已经被确定为与用户相关的媒体内容项目的列表可以被提供给用户用于选择。然而,如果用户在访问媒体内容项目的同时查看用户感兴趣的概念,则用户常常不能够迅速且无缝地探索可能与该概念相关的其他媒体内容项目。因此,在这种情况下,寻找其他感兴趣的媒体内容项目的用户的体验可能受损。对于媒体内容项目的内容提供者,传统方法常常剥夺内容提供者优化与他们的媒体内容项目的消费相关的用户体验的能力。在许多实例中,内容提供者没有能力来配置它的媒体内容项目以向消费媒体内容项目的用户指示其某些部分链接到其他媒体内容。此外,在许多实例中,内容提供者没有允许用户在访问原始媒体内容项目的同时无缝地转换到其他所链接的媒体内容的能力。

植根于计算机技术的改进的方法克服了与在计算机技术的领域中特别出现的传统方法相关联的前述和其他缺点。本技术的系统、方法和计算机可读介质可以允许在媒体内容项目中的概念(例如人、对象、地点和主题)的自动识别。可以通过各种识别技术(例如图像识别或视频识别)来执行概念的识别。所识别的概念可以被分配在媒体内容项目中呈现的元素(或参考)。元素可以包括描述由概念反映的主题并与和媒体内容项目有关的方位数据相关联的标签,以及允许转换到其他媒体内容项目的转换标记。在一些实例中,标签和转换标记可以相邻于它们的相应概念出现在媒体内容项目中。当诸如对象的概念在诸如视频的媒体内容项目的呈现中经历移动时,相关联的标签和转换标记可以遵循该概念的运动轨迹。在一些实例中,并非与在媒体内容项目中反映的概念相关联的所有标签和转换标记都被呈现给用户。更确切地,在媒体内容项目中只向用户呈现已被确定为与用户相关的,与选定概念相关联的标签和转换标记。在媒体内容项目中的转换标记可以与从媒体内容项目到其他媒体内容项目的转换相关联。其他媒体内容项目可以反映与在原始媒体内容项目中反映的概念相同或相似的概念。当转换标记由访问媒体内容项目的用户选择时,用户可以从该媒体内容项目转换(或“远距离传送(teleport)”、“隧道传递(tunnel)”、“跳转(jump)”等)到另一个媒体内容项目。为了选择其他媒体内容项目,维护与原始媒体内容项目相关联的上下文数据(例如方位数据)以优化用户体验。在一些情况下,与媒体内容项目相关联的方位数据可以包括照相机方位数据和用户视场数据。与用户可以转换到的媒体内容项目相关联的方位数据可以被适配(adapt)以与原始媒体内容相关联的方位数据相匹配。本文描述了关于本技术的更多细节。

图1示出了根据本技术的实施例的示例系统100,其包括被配置为选择性地管理并控制涉及媒体内容的转换的示例媒体内容转换模块102。媒体内容转换模块102可以允许社交网络系统的用户从第一媒体内容项目的一部分转换(或“远距离传送”、“隧道传递”、“跳转”等)到第二媒体内容项目的相关部分。例如,转换可以链接描绘公共对象的两个媒体内容项目。当用户访问(或消费)第一媒体内容项目时,从第一媒体内容项目到第二媒体内容项目的转换可以出现。例如,转换可以在第一媒体内容项目的呈现(例如,回放、现场直播等)到达媒体内容项目的终点之前出现。在两个媒体内容项目之间的转换可以由元素(或参考)(例如标签和转换标记)支持。标签可以是在社交网络系统中的与概念(例如人、对象、地点或主题)相对应的公认术语。可以在第一媒体内容项目中自动检测一个或更多个概念。当检测到时,可以在媒体内容项目中呈现描述或以其他方式对应于该概念的标签以指示该概念的存在。可以在第一媒体内容项目中呈现与概念和相应标签相关联的转换标记。转换标记可以基于标签向用户指示从第一媒体内容项目转换到另一媒体内容项目的选项。用户可以选择从第一媒体内容项目转换以访问和与标签相关联的概念相关的更多媒体内容项目。例如,对应于标签的概念可以呈现在第一媒体内容项目和第二媒体内容项目中。在该示例中,对与如在第一媒体内容项目中呈现的标签相关联的转换标记的选择可以允许用户自动继续访问在标签出现在第二媒体内容项目中的位置处的第二媒体内容项目。以这种方式,可以根据用户的兴趣来向用户提供附加的媒体内容项目。可以选择或适配第二媒体内容项目,使得用户的用户体验在从第一媒体内容项目继续进行时被优化。在一些情况下,上下文数据(例如与第一媒体内容项目相关联的方位数据)可以用于选择或适配第二媒体内容项目以确保平滑转换。

根据本技术的媒体内容项目可以是任何类型的媒体内容项目。媒体内容项目的类型可以包括图像(例如,二维(2d)图像)、视频(例如,2d视频)、虚拟内容(例如,全景照片、360照片、全景拍照、360视频、虚拟现实(vr)环境)、音频、或其组合。虚拟内容可以是捕获360度视场和/或呈现任何三维(3d)内容或环境的任何内容。在一个示例中,虚拟内容可以包括捕获场景的360度视场的球形视频(或360视频)。一些示例可以包括使用单视场360度视场组成的视频、使用立体180度视场组成的视频等。可以通过将由放置在不同位置和/或地点处的照相机捕获的各种视频流或信息流拼接在一起来创建球形视频以捕获场景的360度视场。可以针对球形视频的各种角度(例如,0度、30度、60度等)预先确定这种视频流。一旦拼接在一起,用户就可以通过视口(viewport)来访问球形视频以在某个角度下观看球形视频的一部分。可以基于在三维空间中的视口的位置和方向来确定向用户示出的球形视频的部分。在另一示例中,虚拟内容可以包括虚拟现实(vr)内容和环境。vr构成了通过安装在头戴受话器(headgear)内或由用户佩戴的其他设备内的视口呈现的模拟环境。模拟环境可以是经由设备呈现的实际地点或虚构世界的复制。用户具有在模拟环境中自由地移动并根据需要与它交互的能力。用户可以通过被提供到设备的命令或由设备检测到的用户姿势来与模拟环境交互。

为了说明的目的,本文讨论了各种实施例。在本文可以关于由用户对转到不同的第二媒体内容项目的第一媒体内容项目的访问来描述转换。本技术还包括从媒体内容项目的第一部分(例如,场景、空间)到同一媒体内容项目的第二部分(例如,场景、空间)的转换。作为另一示例,可以关于后面是特定的第二类型的媒体内容项目的特定的第一类型的媒体内容项目来描述一些转换。本技术包括从任何类型的媒体内容项目到任何类型的媒体内容项目的转换。举一些例子,转换可以包括但不限于以下类型的媒体内容项目:转到360视频的360视频;转到vr环境的360视频;转到360视频的vr环境;转到vr环境的vr环境;转到图像的360视频;转到图像的vr环境;转到音频内容的360视频;转到音频内容的vr环境;转到360视频的音频内容;转到vr环境的音频内容;等等。许多变形是可能的。

媒体内容转换模块102可以包括标记和元数据模块104、内容转换模块106和转换匹配模块108。在该附图和本文的所有附图中示出的部件(例如,模块、元件、步骤、块等)仅仅是示例性的,且其他实现可以包括附加的、更少的、集成的、或不同的部件。一些部件可能未示出,以便不使相关细节模糊。在各种实施例中,关于媒体内容转换模块102描述的一个或更多个功能可以以任何合适的组合来被实现。

标记和元数据模块104可以允许在媒体内容项目中的概念(例如人、对象、地点和主题)的自动识别。可以通过各种识别技术(例如图像识别、视频识别、音频识别等)来执行概念的识别。被识别的概念可以被分配描述或识别由概念所反映的主题的标签。在一些实施例中,标签也可以与方位数据相关联。允许转换到相关媒体内容项目的标签和转换标记可以相邻于它们的相应概念出现在媒体内容项目中。本文更详细地描述了标记和元数据模块104的功能。

内容转换模块106可以基于标签来执行从第一媒体内容项目到第二媒体内容项目的转换。在一些实施例中,转换可以与如由社交网络系统或负责将媒体内容项目上传到社交网络系统的内容提供者确定的媒体内容项目相关联。可以通过相邻于相关联的概念出现在第一媒体内容项目中的转换标记来向用户指示转换。一旦转换标记由用户选择,用户就可以从第一媒体内容项目转换到第二媒体内容项目。一个或更多个媒体内容项目可以反映与在第一媒体内容项目中的标签相关联的概念或方位数据相同或相似的概念或方位数据。可以基于各种考虑因素从一个或更多个媒体内容项目中选择用户转换到的第二媒体内容项目。本文更详细地描述了内容转换模块106的功能。

转换匹配模块108可以选择或配置从第一媒体内容项目到第二媒体内容项目的转换,以基于与第一媒体内容项目相关联的方位数据来优化用户体验。方位数据可以包括例如照相机方位和用户视场。可以基于在与第一媒体内容项目相关联的方位数据和与第二媒体内容项目相关联的方位数据之间的匹配来选择第二媒体内容项目。在一些实例中,与第二媒体内容项目相关联的方位数据可以被适配以与第一媒体内容项目相关联的方位数据相匹配。本文更详细地描述了转换匹配模块108的功能。

在一些实施例中,媒体内容转换模块102可以部分地或全部被实现为软件、硬件或其任何组合。通常,如本文讨论的模块可以与软件、硬件或其任何组合相关联。在一些实现中,模块的一个或更多个功能、任务和/或操作可以由软件例程、软件过程、硬件和/或其任何组合来实施或执行。在一些情况下,媒体内容转换模块102可以部分地或全部被实现为在一个或更多个计算设备或系统上(例如在服务器或客户端计算设备上)运行的软件。例如,媒体内容转换模块102可以部分地或全部在社交网络系统(或服务)(例如图6的社交网络系统630)内实现或被配置为与社交网络系统(或服务)结合或集成在一起。作为另一示例,媒体内容转换模块102可以被实现为在用户计算设备或客户端计算系统上运行的专用应用(例如,app)、程序或小应用程序(applet),或者在专用应用(例如,app)、程序或小应用程序内实现。在一些实例中,媒体内容转换模块102可以部分地或全部在客户端计算设备(例如图6的用户设备610)内实现,或者被配置为与客户端计算设备结合或集成在一起。应当理解,许多变形是可能的。

系统100可以包括数据储存器110,数据储存器110被配置为存储并维护各种类型的数据,例如与媒体内容转换模块102的支持和操作相关的数据。数据储存器110还可以维护与社交网络系统相关联的其他信息。与社交网络系统相关联的信息可以包括关于用户、社交关连、社交互动、位置、地理围栏区域、地图、地点、事件、群组、帖子、通信、内容、账户设置、隐私设置和社交图的数据。社交图可以反映社交网络系统的所有实体及其交互。如在示例系统100所示,媒体内容转换模块102可以被配置成与数据储存器110通信和/或操作。

图2a示出了根据本技术的实施例的示例标记和元数据模块202。在一些实施例中,可以用标记和元数据模块202来实现图1的标记和元数据模块104。标记和元数据模块202可以包括概念识别模块204、标签确定模块206和标签呈现模块208。

概念识别模块204可以确定在用户可以被准许访问的媒体内容项目中反映的概念。概念可以是能够在媒体内容项目中直接或间接地反映的、从媒体内容项目中识别出的、或由媒体内容项目暗指的任何人或任何事物。概念的类型可以包括例如,在媒体内容项目中反映的人、对象、地点、主题和时间段。媒体内容项目可以反映由媒体内容项目捕获或在媒体内容项目中描绘的一种或更多种类型的概念。例如,人或对象可以在呈现与人或对象相关的内容的媒体内容项目中被描绘或者由该媒体内容项目捕获。作为另一示例,地点或主题同样可以在呈现与地点或主题相关的内容的媒体内容项目中被描绘或由该媒体内容项目捕获。可以通过传统的识别技术来识别在媒体内容项目中反映的概念。例如,可以通过传统的图像或视频识别技术来识别在视觉内容(例如图像、2d视频或虚拟内容)中反映的概念。作为另一示例,可以通过传统的音频识别技术来识别在音频内容中反映的概念。

在一些实施例中,概念识别模块204可以至少部分地基于与媒体内容项目相关联的上下文数据(或元数据)或由该上下文数据(或元数据)促进来识别在媒体内容项目中的概念。上下文数据可以包括例如,与媒体内容项目相关联的时间数据和地理位置数据。时间数据可以包括媒体内容项目的捕获或创建的时间。地理位置数据可以包括由用于捕获或创建媒体内容项目的传感器或计算设备获得的地理位置数据。这种地理位置数据可以包括例如gps坐标数据和罗盘(方向)数据。通过考虑与媒体内容项目相关联的上下文数据,在一些实例中,概念识别模块204可以提供在媒体内容项目中反映的概念的更准确的识别。例如,概念识别模块204可以确定媒体内容项目反映第一对象或第二对象。在该示例中,通过还解释对应于与媒体内容项目相关联的地理位置数据的特定位置,概念识别模块204可以在已知第二对象在特定位置处比第一对象更频繁地出现时确定第二对象被反映在媒体内容项目中。同样,概念识别模块204可以以类似的方式应用时间数据以更准确地识别在媒体内容项目中反映的概念。上下文数据还可以包括例如和与媒体内容项目相关联的社交信号相关的信息。社交信号可以包括各种信息,例如媒体内容项目的提供者的身份(或简档)、与媒体内容项目交互(例如,狂热喜欢(fan)、评论、共享等)或查看媒体内容项目的用户的身份、关于媒体内容项目发布的评论等。在一些实施例中,概念识别模块204可以由一个或更多个机器学习模型(或分类器)实现,该机器学习模型(或分类器)可以在与媒体内容项目的内容以及相关联的上下文数据相关的特征上被训练以识别在媒体内容项目中反映的概念。

标签确定模块206可以将标签分配给在媒体内容项目中反映的概念。标签可以识别或以其他方式指示在媒体内容项目中反映的概念的主题。例如,在媒体内容项目中检测到的与某个主题相关的概念可以被分配表示或指示该主题的标签。标签可以是文本、图形、标识或概念的任何其他指示。在一些实施例中,与概念相关联的标签可以对应于在表示社交网络系统中的实体的图中的节点。在一些情况下,对应于标签的节点可以是社交网络系统上的页面(或简档),其提供和与标签相关联的概念的主题相关的内容。标签确定模块206可以基于对媒体内容项目的相同标签的分配来识别反映相同或相似概念的媒体内容项目。在一些实施例中,可以以多种方式来组织在社交网络系统的图中的标签或它们的相应节点。例如,标签可以基于它们的相关联概念的含义来分级地被组织或分组到聚类(cluster)中。通过标签的组织,可以确定在含义上相似的或者与在差异的阈值水平内含义相似的主题相关的标签。

在一些实施例中,与媒体内容项目或其中反映的概念相关的标签也可以与方位数据相关联。方位数据可以包括照相机方位数据和用户视场数据。在一些实施例中,方位数据可以包括例如,用于捕获内容的照相机的角度、照相机的平移速度(速率、方向)、照相机的旋转速度(速率、方向)、以及访问内容的用户的视角(或视角)。除了含义相似性之外,还可以确定具有相似方位数据的标签。如在本文更详细讨论的,可以基于在媒体内容项目之间的方位数据的相似性来选择转换。

标签呈现模块208可以在媒体内容项目中呈现标签和相关联的转换标记。本文更详细地讨论了转换标记。标签和相关联的转换标记可以位于在媒体内容项目中相邻于与标签相关联的概念的位置或者在概念的位置的阈值距离内的位置。例如,关于视觉内容,可以在视觉内容中覆盖标签和相关联的转换标记,使得标签和相关联的转换标记的显示相邻于与标签相关联的概念的位置。关于媒体内容项目(其中概念表现出相对运动或具有在媒体内容项目中的运动轨迹),标签呈现模块208可以在概念移动时确定媒体内容项目中的概念的位置。例如,标签呈现模块208可以将光流或其他运动跟踪技术应用于媒体内容项目以确定在其中描绘的概念的位置和运动轨迹。基于在媒体内容项目中的所描绘的概念的所确定的位置和运动轨迹,与每个概念相关联的标签和转换标记可以以遵循概念的运动轨迹的方式被定位在媒体内容项目中。

标签呈现模块208可以选择性地在媒体内容项目中呈现标签和相关联的转换标记。在一些实施例中,在媒体内容项目中识别的所有概念可以被分配标签和转换标记,用于在媒体内容项目中的潜在显示。在媒体内容项目中呈现的标签可以向访问媒体内容项目的用户指示或强调与该标签相关联的概念。转换标记可以向用户指示直接转换到反映相同或相似概念的其他媒体内容项目的能力或选项。在一些实施例中,可以向用户呈现与概念相关联的标签和转换标记。在一些实施例中,标签或转换标记可以作为元素或参考呈现给用户。在一些实施例中,与概念相关联并呈现给用户的元素或参考可以用作指示概念的主题的标签和指示转换到另一媒体内容项目的能力的转换标记。

可以选择性地使用并呈现标签及其相关联的转换标记。在一些实施例中,在媒体内容项目中的标签或转换标记的呈现可以基于由媒体内容项目的提供者允许这种呈现的许可。在一些实施例中,与媒体内容项目或提供对媒体内容项目的访问的社交网络系统或两者相关联的内容提供者可以确定所有可能的标签和转换标记中的哪些标签和转换标记可以显示在媒体内容项目中。要显示哪些标签和转换标记的确定可以基于多种考虑因素。在一些实施例中,可以基于在媒体内容项目中反映的相关联的概念的重要性来选择标签和转换标记用于在媒体内容项目中的潜在显示。在这点上,可以显示对应于具有阈值水平的重要性的概念的标签和转换标记。例如,可以基于与在与概念相关联的社交网络系统上的页面的用户交互的量、与标签或转换标记的用户交互(例如,选择)的量等来确定概念的重要性的水平。在一些实施例中,可以基于标签和转换标记与访问媒体内容项目的用户的相关性来对标签和转换标记进行选择以用于显示在媒体内容项目中。例如,可以向用户显示与被认为具有阈值水平的与用户的兴趣的相关性的概念相关的标签和转换标记。不向用户显示与不被认为具有阈值水平的与用户的兴趣的相关性的概念相关的标签和转换标记。可以基于各种考虑因素来确定与用户的兴趣的相关性的水平。这些考虑因素可以包括例如,与用户相关的人口统计信息、由用户在社交网络系统上采取的动作、由用户的关连在社交网络系统上采取的动作等。在一些实施例中,可以基于与用户体验相关的因素来选择标签和转换标记以用于显示在媒体内容项目中。例如,可以确定标签和转换标记的阈值数量,以避免显示过于大量的标签和转换标记以及在视觉内容中可能出现混淆(clutter)。在这点上,如果在场景(或空间、媒体内容项目等)中可能呈现的标签和转换标记的数量小于标签和转换标记的阈值数量,则该数量的标签和转换标记可以被显示。如果标签和转换标记的数量超过标签和转换标记的阈值数量,则超过阈值的该数量的标签和转换标记不被显示。许多变形是可能的。

图2b示出了根据本技术的实施例的示例内容转换模块242。在一些实施例中,可以用内容转换模块242来实现图1的内容转换模块106。内容转换模块242可以包括转换标记模块244、内容选择模块246和转换执行模块248。

转换标记模块244可以在媒体内容项目中呈现转换标记,其允许访问媒体内容项目的用户转换到另一个媒体内容项目。转换标记可以是能够向用户指示存在从媒体内容项目到另一媒体内容项目的潜在转换的任何参考或元素。转换标记的示例可以包括灯、门、点、窗帘、窗户、通道、隧道、入口等。转换标记可以与被选择用于在媒体内容项目中呈现的标签相关联。在一些实施例中,如所讨论的,转换标记可以位于在媒体内容项目中相邻于媒体内容项目中的相关联的标签或概念的位置或在距媒体内容项目中的相关联的标签或概念的位置的阈值距离内的位置处。

可以向访问媒体内容项目的用户呈现媒体内容项目中的转换标记以指示基于与转换标记相关联的概念来转换到另一个媒体内容项目的选项。用户可以通过以多种方式与转换标记交互来选择转换标记。仅作为一个示例,关于虚拟内容,可以通过由用户提供的适当命令或姿势来选择转换标记。在一些实例中,命令或姿势可以包括如由用户所佩戴的支持vr环境的头戴受话器检测到的用户在转换标记处的凝视、用户在vr环境中在转换标记的方向上的步伐、如由可穿戴设备(其允许在vr环境中的交互)中的传感器检测到的构成转换标记的选择的手势、对触摸屏的触摸姿势等。

内容选择模块246可以识别与对应于第一媒体内容项目的选定转换标记相关联的标签。因为媒体内容项目中的每个标签都指示相应概念的主题,所以媒体内容项目中的标签可以用于识别反映相同或相似概念和主题的媒体内容项目。因此,第一媒体内容项目的所识别的标签可以用于识别反映和与标签相关联的概念相同或相似的一个或更多个概念的一组(或多个)媒体内容项目。该组媒体内容项目构成当选择转换标记时用户可以潜在地继续访问的候选媒体内容项目。在一些实施例中,可以基于该组媒体内容项目包括和与所选转换标记相关联的标记相同的标签来选择该组媒体内容项目。在一些实施例中,可以基于该组媒体内容项目包括和与选定转换标记相关联的标签相似至阈值量的标签来选择该组媒体内容项目。可以通过例如标签所属的分级组织或分类或标签的聚类关系来反映在标签之间的相似性的程度。因为该组媒体内容项目反映和与选定转换标记相关联的概念相同或相似的概念,所以与用户从该组媒体内容项目到媒体内容项目的转换相关的用户体验可以被优化。在一些实施例中,与和第一媒体内容项目有关的选定转换标记相关联的标签和与一组媒体内容项目相关联的标签也可以包含方位数据或与方位数据相关联。关于第一媒体内容项目的该组媒体内容项目的选择也可以基于在第一媒体内容项目和该组媒体内容项目之间的方位数据的相似性。在一些实例中,如在本文更详细描述的,除了概念上的相似性之外,方位数据还可以用于从第一媒体内容项目可以转换到的该组媒体内容项目中确定第二媒体内容项目。

内容选择模块246可以从该组媒体内容项目中选择第二媒体内容项目,用于在从第一媒体内容项目的转换中显示给用户。如所提到的,转换可以涉及任何类型的第一媒体内容项目和任何类型的第二媒体内容项目。在一些实施例中,可以基于各种考虑因素来给该组媒体内容项目评分。考虑因素可以包括例如,在第一媒体内容项目的标签和在该组中的每个媒体内容项目之间的相似性的程度、由每个媒体内容项目的标签反映的概念与用户的兴趣的相关性的水平、在该组中的媒体内容项目是否由用户的关连在社交网络系统上提供、如由社交网络系统中的其他用户的交互所确定的在该组中的每个媒体内容项目的流行性等。该组媒体内容项目可以基于它们的分数来被排序。在一些实施例中,当由用户选择在第一媒体内容项目中反映的转换标记时,来自该组的阈值数量的最高得分的媒体内容项目可以在菜单或列表中被呈现给用户。用户可以从菜单或列表中选择用户可以转换到的第二媒体内容项目。在一些实施例中,来自该组的最高得分的媒体内容项目可以作为第二媒体内容项目被呈现给用户。在一个示例中,用户可以在第二媒体内容项目的呈现之前批准涉及第二媒体内容项目的转换。在一些实施例中,媒体内容项目作为第二媒体内容项目的选择可以基于由媒体内容项目的内容提供者提供的许可。

转换执行模块248可以执行在第一媒体内容项目和第二媒体内容项目之间的转换以优化用户体验。转换执行模块248可以创建或配置在第一媒体内容项目和第二媒体内容项目之间的转换以避免内容的生硬或不协调的合并或次优用户体验。这种配置可以包括传统图像、视频、音频或触觉编辑或修改技术的应用。例如,转换执行模块248可以选择性地将滤波器应用于由第一媒体内容项目和第二媒体内容项目呈现的视觉、音频和触觉信号,使得信号在阈值差值内在值上匹配以产生平滑转换。例如,转换执行模块248可以在转换中视情况选择性地使用媒体内容项目的淡入淡出(fading)(或白化(whiteout)或黑化(blackout))和放大(例如,拉近或拉远)。在一些实施例中,转换执行模块248可以确定在两个媒体内容项目之间的最佳转换点以在这些点处应用转换。在一些实施例中,转换执行模块248可以在第一媒体内容项目和第二媒体内容项目之间应用选定的切割或转换。仅作为一个示例,图形匹配(或形式)切割(其中转换基于在第一媒体内容项目中描绘的对象和在第二媒体内容项目中描绘的对象的形状和大小的相似性)可以用于创建在媒体内容项目之间的转换。如在本文更详细讨论的,在媒体内容项目之间的转换的配置或选择中可以考虑其他因素。

转换执行模块248可以将转换配置为具有动态属性。在一些实施例中,到第二媒体内容项目的转换被配置成允许用户返回到第一媒体内容项目。例如,当访问第一媒体内容项目(例如,虚拟内容)时,用户可以选择引起一个或更多个第二媒体内容项目(例如,图像)的呈现的转换标记。一个或更多个第二媒体内容项目可以由用户以允许用户快速并直接返回到访问第一媒体内容项目的方式来进行访问。例如,可以通过经由从属于主用户界面元素(第一媒体内容项目通过主用户界面元素被呈现)的辅助用户界面元素(例如,模态窗口)呈现一个或更多个第二媒体内容项目来执行转换。为了在访问一个或更多个第二媒体内容项目之后返回到第一媒体内容项目,用户可以不理会(dismiss)第二用户界面元素以重新开始对第一媒体内容项目的访问。

内容转换模块242可以以可选地使用转换标记模块244、内容选择模块246和转换执行模块248中的一个或更多个的其他方式,来生成在包括vr环境的媒体内容项目之间的转换(或远距离传送、隧道传递、跳转等)。在一些实施例中,内容转换模块242可以在vr环境中为用户支持在媒体内容项目之间的转换。经历vr环境的用户可以查看各种媒体内容项目。当用户选择媒体内容项目时,内容转换模块242可以执行到在vr环境中呈现给用户的第二媒体内容项目的转换。例如,用户可以通过适当的用户命令或姿势(例如凝视媒体内容项目一段预定的持续时间)来选择媒体内容项目。在一些实施例中,第二媒体内容项目可以是第一媒体内容项目的适配(adaptation),其当被呈现给用户时提供比第一媒体内容项目更沉浸式的体验。例如,基于选择第一媒体内容项目的用户命令或姿势,从第一媒体内容项目适配的第二媒体内容项目可以作为360度体验(例如全景照片或围绕用户的其他虚拟内容)呈现给用户。

在一些实施例中,用户可以选择在vr环境中描绘的概念。如所指示的,可以通过适当的用户命令或姿势来执行选择。响应于概念的选择,识别或描述概念的标签可以相邻于概念而被呈现。例如,如果人在呈现给用户的vr环境中被描绘并且用户选择该人,则识别该人的标签可以在vr环境中呈现给用户。在一些实施例中,当在vr环境中呈现的人由用户选择时,用户可以以一种方式被转换,使得用户可以被呈现vr环境中的与该人相关联的目的地,例如vr环境中专用于该人的位置、资源或其他简档或门户。用户(例如人)的简档或门户可以包括与vr环境中的用户相关联的媒体内容项目的集合。此外,简档或门户可以包括与vr环境中的用户的存在以及其中的用户的交互相关的信息。例如,简档或门户可以包括vr环境中的用户的关连(例如,朋友)的列表和与用户相关联的媒体内容项目的集合。在一些情况下,用户的关连的列表可以包括表示关连的化身(avatar)的集合。媒体内容项目的集合可以包括由用户提供的、由用户与之交互(例如,点赞(like)、评论、共享等)的、由用户的关连提供的等媒体内容项目。在一些实施例中,当用户访问或查看用户的简档或门户时,用户可以选择在用户的简档或门户中列出的第一关连或与第一关连相关联的化身。如所指示的,可以通过适当的用户命令或姿势来执行选择。响应于第一关连的选择,用户可以被转换,使得用户正在访问或查看第一关连的简档或门户。当访问或查看第一关连的简档或门户时,第一关连的关连列表同样可以被呈现给用户。如果用户从列表中选择第二关连,则用户同样可以被转换,使得用户正在访问或查看所选择的第二关连的简档或门户。可以以这种方式执行一系列转换以允许用户如所需要的从在一个简档或门户中的一个关连转换到在其他简档或门户中的尽可能多的其他关连。

图2c示出了根据本技术的实施例的示例转换匹配模块282。在一些实施例中,可以用转换匹配模块282来实现图1的转换匹配模块108。转换匹配模块282可以包括方位模块284和适配模块286。

方位模块284可以获得元数据和上下文数据以帮助识别第一媒体内容项目可以转换到的第二媒体内容项目。在一些实施例中,元数据可以包括与媒体内容项目相关联的包括运动数据的方位数据。方位数据可以包括照相机方位数据和用户视场数据。在一些实施例中,举一些例子,方位数据可以包括用于捕获内容的照相机的角度、照相机的平移速度(速率、方向)、照相机的旋转速度(速率、方向)、以及访问内容的用户的视角(或视角)。在一些实施例中,可以关于在由用户观看的媒体内容项目中反映的概念来确定或测量方位数据。可以基于从与照相机或照相机被实现于其上的计算设备(例如,加速度计、陀螺仪、gps设备等)相关联的方位或位置传感器、或者可以检测用户在消费媒体内容项目时的视角(或凝视方向)的传感器(例如,头戴式耳机、监控照相机等)获取的传感器数据来确定方位数据。方位数据可以基于在媒体内容项目中的视觉指示符,例如在媒体内容项目中的检测到的地平线或关于媒体内容项目确定的定向罗盘。为了优化转换,方位模块284可以选择或在媒体内容项目的选择中更重地加权与如下方位数据相关联的媒体内容项目,该方位数据类似于与第一媒体内容项目相关联的方位数据或在相对于与第一媒体内容项目相关联的方位数据的一个或更多个阈值差值内。这样的媒体内容项目可以构成第一媒体内容项目可以转换到的第二媒体内容项目。

例如,假设用具有关于反映第一媒体内容项目的概念的特定平移速度或特定旋转速度的一个或多个照相机来捕获第一媒体内容项目。由用户对与该概念相关联的转换标记的选择又可以提示用户可以转换到的合适的第二媒体内容项目的选择。如在本文更详细讨论的,反映与在第一媒体内容项目中反映的概念或相关联的标签相同或相似的概念或相关联的标签的一个或更多个媒体内容项目可以被识别为构成第二媒体内容项目的候选项。在该示例中,在一些实例中,方位模块284还可以选择、加权或优先考虑与关于所反映的概念的相同照相机平移速度或旋转速度相关联的一个或更多个媒体内容项目,用于选择作为第二媒体内容项目。在一些实例中,与关于所反映的概念的照相机平移速度或旋转速度相关联的一个或更多个媒体内容项目可以被潜在地选择作为第二媒体内容项目,所述照相机平移速度或旋转速度分别在相对于与第一媒体内容项目相关联的照相机平移速度和旋转速度的阈值差值内。在一些实施例中,媒体内容项目序列可以被链接为一连串媒体内容项目,使得通过转换连接的每对媒体内容项目具有相同或相似的方位数据。在一些实施例中,每个媒体内容项目可以至少部分地基于它的相关联的方位数据和与第一媒体内容项目相关联的方位数据匹配的程度来被评分和排序为潜在的第二媒体内容项目。在一些实例中,最高排名的媒体内容项目可以被选择作为第一媒体内容项目可以转换到的第二媒体内容项目。在一些实例中,阈值数量的最低排名的媒体内容项目可以被放弃考虑作为潜在的第二媒体内容项目,即使它们以其他方式反映与在第一媒体内容项目中的概念相同或相似的概念。以这种方式,某些媒体内容项目可以基于它们与第一媒体内容项目的不一致的水平来在转换中从考虑中被排除,即使它们反映与第一媒体内容项目共有的主题。

适配模块286可以适配媒体内容项目的用户视场以优化在媒体内容项目之间的转换。在一些实施例中,适配模块286可以调整第一媒体内容项目或第二媒体内容项目的方位数据,使得它们的相应方位数据相等或在相对于彼此的阈值差值内。例如,假设当用户选择对应于在第一媒体内容项目中反映的概念的转换标记时,与该概念相关的用户视场是基于特定角度、平移速度或旋转速度。为了优化到第二媒体内容项目的转换,适配模块286可以设置第二媒体内容项目对用户的呈现,使得在转换期间与在第二媒体内容项目中反映的概念相关的用户视场自动基于特定角度、平移速度或旋转速度或者在相对于其的阈值差值内。在一些实施例中,适配模块286可以基于由第二媒体内容项目的提供者预先确定的方位数据来为访问第二媒体内容项目的用户选择用户视场。例如,可以基于预先确定的方位数据来向用户呈现第二媒体内容项目的特定用户视场,即使在到第二媒体内容项目的转换之前该特定用户视场与用户关于第一媒体内容项目的用户视场不一致。

适配模块286可以修改与媒体内容项目相关联的方位数据以优化转换。在一些实施例中,可以修改或调整与第二媒体内容项目相关联的方位数据以和与第一媒体内容项目相关联的方位数据相匹配,以优化转换。例如,假设与第一媒体内容项目相关联的照相机旋转速度是特定值。进一步假设另一个媒体内容项目基于在媒体内容项目中反映的公共标签被选择为潜在的第二媒体内容项目。仍然进一步假设潜在的第二媒体内容项目与不同于与第一媒体内容项目相关联的照相机旋转速度的照相机旋转速度相关联。适配模块286可以处理并编辑第二媒体内容项目,使得与潜在的第二媒体内容项目相关联的旋转速度等于与第一媒体内容项目相关联的照相机旋转速度或在相对于与第一媒体内容项目相关联的照相机旋转速度的阈值差值内。例如,适配模块286可以调整第二媒体内容项目的帧数并且以其他方式修改第二媒体内容项目以改变第二媒体内容项目的旋转速度。

关于方位模块284和适配模块296,阈值差值可以是可调整的,以将方位数据中的可允许数量的偏差设置为在第一媒体内容项目和第二媒体内容项目之间。方位数据中的可允许数量的偏差可以与在从第一媒体内容项目到第二媒体内容项目的转换中的期望数量的平滑度相关。在各种实施例中,阈值差值可以由访问媒体内容项目的用户、第一媒体内容项目的提供者、第二媒体内容项目的提供者、或社交网络系统的管理员来选择或调整,媒体内容项目通过该社交网络系统被访问。

图3a示出了根据本技术的实施例的第一示例场景。该场景涉及用于向用户呈现第一媒体内容项目302的用户界面300。用户界面300可以通过合适的显示器呈现给用户。显示器可以由能够呈现一种或更多种媒体内容项目类型的计算设备或装备支持。尽管未示出,用户界面300也可以向用户提供音频内容、触觉内容和其他形式的内容。第一媒体内容项目302可以是任何合适类型的媒体内容项目,例如虚拟内容(例如,360视频)。在其他示例中,可以呈现其他类型的媒体内容项目。第一媒体内容项目302可以由媒体内容转换模块102进行分析以识别在其中描绘的概念。基于各种识别技术,识别在第一媒体内容项目302中反映的概念。如所示,云304、天空306、加拿大鹅(canadiangoose)308、山310、海洋312和飞机326是在第一媒体内容项目302中检测到的概念。基于如由社交网络系统确定的用户的兴趣,用户的潜在兴趣的概念由标签和相应的转换标记进行指示。特别是,标签314相邻于加拿大鹅308(或在离加拿大鹅308的阈值距离内)出现;标签316相邻于山310出现;以及标签318相邻于天空306出现。云304和飞机326的标签和相关联的转换标记没有出现在第一媒体内容项目302中,因为它们的相应概念被确定为缺乏阈值水平的与用户的相关性。

和与用户具有相关性的检测到的概念相关联的转换标记出现在第一媒体内容项目302中。如所示,转换标记320相邻于加拿大鹅308出现;转换标记322覆盖在天空306上;以及转换标记324覆盖在山310上。每个转换标记向用户传达可以基于相关联的概念来选择到第二媒体内容项目的转换。例如,与加拿大鹅308的概念相关联的转换标记320的选择可以触发允许用户访问也反映加拿大鹅308的概念的第二媒体内容项目的转换。作为另一示例,与山310的概念相关联的转换标记324的选择可以触发允许用户访问也反映山310的概念的第二媒体内容项目的转换。用户可以通过提供适当的用户命令或姿势(例如凝视转换标记一段预定量的时间)或者以其他方式经由支持虚拟内容中的用户交互的装备,应用适当的控制来选择转换标记。尽管以所示的方式描绘了每个转换标记,但是应当认识到,转换标记的其他形式和表示也是可能的。在未示出的一些实施例中,标签和转换标记可以集成到单个参考或元素中。在未示出的各种实施例中,标签或转换标记或者两者都没有被呈现。例如,可以基于由用户对概念本身的选择来执行到第二媒体内容项目的转换。

图3b示出了根据本技术的实施例的第二示例场景。在该场景中,向不同于在图3a中描述的用户的第二用户呈现第一媒体内容项目302。第一媒体内容项目302可以由媒体内容转换模块102进行分析以识别在其中描绘的概念。基于各种识别技术,识别在第一媒体内容项目302中反映的概念。如所示,云304、天空306、加拿大鹅308、山310、海洋312和飞机326是在第一媒体内容项目302中检测到的概念。基于如由社交网络系统确定的第二用户的兴趣,第二用户的潜在兴趣的概念由标签和相应的转换标记进行指示。特别是,标签330和转换标记332相邻于飞机326(或在离飞机326的阈值距离内)出现。云304、天空306、加拿大鹅308、山310和海洋312的标签和相关联的转换标记没有出现在第一媒体内容项目302中,因为它们的相应概念被确定为缺乏阈值水平的与第二用户的相关性。

图3c示出了根据本技术的实施例的第三示例场景。在该场景中,第一媒体内容项目302对用户的呈现从图3a所示的第一媒体内容项目302的呈现继续进行。当第一媒体内容项目302的呈现继续进行时,在其中反映的概念的位置改变了。媒体内容转换模块102跟踪在第一媒体内容项目302中的概念的运动轨迹。基于跟踪,媒体内容转换模块102可以以遵循概念的运动轨迹的方式呈现在第一媒体内容项目302中的概念的标签和转换标记。例如,加拿大鹅308在第一媒体内容项目302中的位置与它在图3a中的位置相比已经改变。作为结果,标签314的位置和与加拿大鹅308相关联的转换标记320的位置已经改变以遵循加拿大鹅308的运动轨迹。因为天空306的相对位置没有改变,所以标签318的位置和与天空306相关联的转换标记322的位置没有改变。

如所示,用户通过用户姿势340选择与加拿大鹅308相关联的转换标记320。响应于该选择,媒体内容转换模块102可以识别适当的媒体内容项目,可以从适当的媒体内容项目中选择第二媒体内容项目。可以确定反映与加拿大鹅308相同或相似的概念的媒体内容项目。此外,诸如方位数据和社交信号的各种数据和信号可以被应用于进一步完善媒体内容项目的列表以潜在地构成用户将被转换到的第二媒体内容项目。例如,由用户的关连提供到社交网络系统的媒体内容项目、由用户的关连点赞的媒体内容项目、或者被认为最流行的媒体内容项目可以优于其他媒体内容项目被优先考虑。此外,在选择第二媒体内容项目时可以考虑与第一媒体内容项目302相关联的方位数据。例如,与方位数据相关联的媒体内容项目可以被优先考虑,该方位数据和与第一媒体内容项目302相关联的方位数据相同或在适当的阈值差值内和与第一媒体内容项目302相关联的方位数据相似。一旦第二媒体内容项目被选择,媒体内容转换模块102就可以配置从第一媒体内容项目302的转换以优化用户体验并最小化从第一媒体内容项目302到第二媒体内容项目的呈现中的不一致性。

图3d示出了根据本技术的实施例的第四示例场景。在该场景中,响应于由用户对图3c中的转换标记320的选择而选择第二媒体内容项目350。如所示,第二媒体内容项目350反映与在第一媒体内容项目302中选择的概念相同的概念,即加拿大鹅308。此外,如所示,关于加拿大鹅308的与第二媒体内容项目350相关的方位数据与关于加拿大鹅308的第一媒体内容项目302的方位数据相同或在适当的阈值差值内与关于加拿大鹅308的第一媒体内容项目302的方位数据相似。方位数据可以包括例如,与加拿大鹅308的捕获相关的一个或更多个照相机的平移速度和旋转速度。

新的概念被反映在第二媒体内容项目350中。如所示,摩天大楼354和月亮352被识别为在第二媒体内容项目350中反映的概念。因为摩天大楼354被确定为与用户的兴趣相关,所以与摩天大楼354相关联的标签356和转换标记358被呈现。如果用户希望访问反映摩天大楼354的概念的附加内容,则用户可以选择转换标记358以转换到反映该概念的另一媒体内容项目。在第二媒体内容项目350中没有呈现与月亮352相关联的标签或转换标记,因为已经确定月亮352的概念不满足阈值水平的与用户的兴趣的相关性。

图3e示出了根据本技术的实施例的第五示例场景360。在场景360中,用户正在经历为用户提供沉浸式体验的vr环境。用户被呈现为化身362。在vr环境中,用户的化身362可以观看各种类型的媒体内容项目,例如缩略图、2d图像、全景图像、360照片、2d视频、360视频等。媒体内容项目的集合364由用户可选择。用户可以通过适当的用户命令或姿势从集合364中选择媒体内容项目。如所示,用户通过凝视媒体内容项目366一段预定的持续时间来从集合364中选择特定的媒体内容项目366。例如,媒体内容项目366可以是2d图像。响应于由用户对媒体内容项目366的选择,转换可以被执行,该转换使不同的第二媒体内容项目在vr环境中向用户呈现。与第一媒体内容项目相比,可以是第一媒体内容项目的适配的第二媒体内容项目可以向用户提供更沉浸式的体验。例如,如图3f所示,从第一媒体内容项目适配的第二媒体内容项目可以作为围绕用户的360度体验(例如全景照片或其他虚拟内容)被呈现给用户。

图3f示出了根据本技术的实施例的第六示例场景370。在场景370中,用户正在经历用户从图3e中的场景360转换(或远距离传送、隧道传递、跳转等)到的vr环境。在这点上,在图3e的场景360中媒体内容项目366对用户的呈现转换为媒体内容项目372对用户的呈现。如所示,媒体内容项目372可以是为用户提供沉浸式体验的3d媒体内容项目,例如360图像。用户可以查看并选择在媒体内容项目372中描绘的概念。用户可以通过适当的用户命令或姿势来选择在媒体内容项目372中描绘的概念。概念的选择可以使概念的标识符(例如标签)被呈现在媒体内容项目372中,并且可以引起到另一场景的作为结果的转换。如所示,可以在媒体内容项目372中描绘人374。用户可以通过凝视人374一段预定的第一持续时间来选择人374。人374的选择可以使识别人374的标签376被呈现在媒体内容项目372中。通过指示对关于人374的转换的期望,用户可以被转换,使得用户被呈现在vr环境中的与人374相关联的目的地。例如,可以通过凝视人374一段预定的第二持续时间来指示对转换的期望。如图3g所示,目的地可以是例如,与人374相关联的在vr环境中的位置、资源或其他简档或门户。

图3g示出了根据本技术的实施例的第七示例场景380。在场景380中,图3f中的媒体内容项目372的呈现被转换到在为用户提供沉浸式体验的vr环境中的媒体内容项目382的呈现。在这点上,在图3f的场景370中由用户对人374的选择使用户被转换,使得用户被呈现与人374相关联的在vr环境中的简档或门户。简档或门户可以包括与vr环境中的人374的存在和交互相关的信息。例如,简档或门户可以包括在vr环境中的人374的关连(例如,朋友)的集合384。人374的关连的集合384可以由例如,关连的图像、缩略图或化身表示。用户可以从集合384中选择人374的第一关连的化身386。可以通过适当的用户命令或姿势(例如凝视第一关连一段预定的持续时间)来执行该选择。响应于第一关连的选择,用户可以被转换,使得用户在vr环境中被呈现第一关连的简档或门户。以类似的方式,用户可以在第一关连的简档或门户中选择第二关连的化身,并以使得第二关连的简档或门户被呈现给用户的方式被转换。用户可以以这种方式执行到vr环境中的各种人的简档或门户或其他目的地的任何顺序或数量的转换。

图4a示出了根据本技术的实施例的与标记和元数据相关的示例方法400。应当认识到,根据本文讨论的各种实施例和特征,除非另有说明,否则可以以类似的或替代的顺序或者并行地执行额外的、更少的或替代的步骤。

在块402,方法400可以检测在用户被准许访问的第一媒体内容项目中反映的概念。在块404,方法400可以确定该概念具有阈值水平的与用户的相关性。在块406,方法400可以将该概念与一个元素相关联,该元素在选择时引起到用户被准许访问的第二媒体内容项目的转换,第二媒体内容项目反映该概念。在块408,方法400可以在第一媒体内容项目中为用户呈现该元素。合并本技术的各种特征和实施例的其他合适的技术是可能的。

图4b示出了根据本技术的实施例的与内容转换相关的示例方法450。应当认识到,根据本文讨论的各种实施例和特征,除非另有说明,否则可以以类似的或替代的顺序或并行地执行额外的、更少的或替代的步骤。

在块452,方法450可以从用户接收与第一媒体内容项目相关联的选择以引起从第一媒体内容项目的转换。在块454,方法450可以配置在第一媒体内容项目和第二媒体内容项目之间的转换。在块456,方法450可以响应于该选择而为用户呈现转换。合并本技术的各种特征和实施例的其他合适的技术是可能的。

图5示出了根据本技术的实施例的与转换匹配相关的示例方法500。应当认识到,根据本文讨论的各种实施例和特征,除非另有说明,否则可以以类似的或替代的顺序或者并行地执行额外的、更少的或替代的步骤。

在块502,方法500可以确定与第一媒体内容项目相关联的方位数据。在块504,方法500可以基于方位数据来选择第一媒体内容可以转换到的第二媒体内容项目。在块506,方法500可以呈现从第一媒体内容项目到第二媒体内容项目的转换。合并本技术的各种特征和实施例的其他合适的技术是可能的。

设想可以有与本技术的各种实施例相关联的许多其他用途、应用、特征、可能性和变形。例如,用户可以选择是否选择加入(opt-in)以利用本技术。本技术还可以确保各种隐私设置、偏好和配置被维护,并且可以防止隐私信息被泄露。在另一示例中,本技术的各种实施例可以随着时间的推移而学习、改进和以及被完善。

社交网络系统-示例实现

图6示出了根据本技术的实施例的可以在各种场景中被利用的示例系统600的网络图。系统600包括一个或更多个用户设备610、一个或更多个外部系统620、社交网络系统(或服务)630和网络655。在实施例中,关于上述实施例讨论的社交网络服务、提供者和/或系统可以被实现为社交网络系统630。为了说明的目的,图6所示的系统600的实施例包括单个外部系统620和单个用户设备610。然而在其他实施例中,系统600可以包括更多个用户设备610和/或更多个外部系统620。在某些实施例中,社交网络系统630由社交网络提供者进行操作,而外部系统620与社交网络系统630分离,因为它们可以由不同的实体进行操作。然而在各种实施例中,社交网络系统630和外部系统620协同操作以向社交网络系统630的用户(或成员)提供社交网络服务。在这个意义上,社交网络系统660提供了平台或骨干网,其他系统(例如外部系统620)可以使用该平台或骨干网来通过互联网向用户提供社交网络服务和功能。

用户设备610包括可以接收来自用户的输入并经由网络655来传输并接收数据的一个或更多个计算设备。在一个实施例中,用户设备610是执行例如microsoftwindows兼容操作系统(os)、appleosx和/或linux发行版的传统计算机系统。在另一实施例中,用户设备610可以是具有计算机功能的设备,例如智能电话、平板电脑、个人数字助理(pda)、移动电话等。用户设备610被配置成经由网络655进行通信。用户设备610可以执行允许用户设备610的用户与社交网络系统630交互的应用(例如浏览器应用)。在另一实施例中,用户设备610通过由用户设备610的本机(native)操作系统(例如ios和android)提供的应用编程接口(api)来与社交网络系统630交互。用户设备610被配置成使用有线和/或无线通信系统经由网络655来与外部系统620和社交网络系统630进行通信,网络655可以包括局域网和/或广域网的任何组合。

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

在一个实施例中,用户设备610可以通过使用浏览器应用612处理从外部系统620和从社交网络系统630接收的标记语言文档614来显示来自外部系统620和/或来自社交网络系统630的内容。标记语言文档614识别内容以及描述内容的格式或表现形式的一个或更多个指令。通过执行在标记语言文档614中包括的指令,浏览器应用612使用由标记语言文档614所描述的格式或表现形式来显示所识别的内容。例如,标记语言文档614包括用于生成并显示具有多个帧(frame)的网页的指令,这些帧包括从外部系统620和社交网络系统630检索的文本和/或图像数据。在各种实施例中,标记语言文档614包括数据文件,该数据文件包括可扩展标记语言(xml)数据、可扩展超文本标记语言(xhtml)数据或其他标记语言数据。此外,标记语言文档614可以包括javascript对象简谱(json)数据、带填充的json(jsonp)和javascript数据,以便于在外部系统620和用户设备610之间的数据交换。用户设备610上的浏览器应用612可以使用javascript编译器来对标记语言文档614进行解码。

标记语言文档614还可以包括或链接到应用或应用框架,例如flashtm或unitytm应用、silverlighttm应用框架等。

在一个实施例中,用户设备610还包括一个或更多个cookie616,cookie616包括指示用户设备610的用户是否登录到社交网络系统630内的数据,这可以实现从社交网络系统630传递到用户设备610的数据的修改。

外部系统620包括一个或更多个web服务器,其包括一个或更多个网页622a、622b,这些网页使用网络655被传递到用户设备610。外部系统620与社交网络系统630分离。例如,外部系统620与第一域相关联,而社交网络系统630与单独的社交网络域相关联。被包括在外部系统620中的网页622a、622b包括标记语言文档614,其识别内容并且包括指定所识别的内容的格式或表现形式的指令。

社交网络系统630包括用于社交网络(包括多个用户)并且向社交网络的用户提供与社交网络的其他用户通信并交互的能力的一个或更多个计算设备。在一些实例中,社交网络可以由图形(即,包括边和节点的数据结构)表示。其他数据结构也可以用来表示社交网络,包括但不限于数据库、对象、类、元元素(metaelement)、文件或任何其他数据结构。社交网络系统630可以由操作者掌管、管理或控制。社交网络系统630的操作者可以是人、自动化应用或用于管理内容、调节策略和收集在社交网络系统630内的使用度量的一系列应用。可以使用任何类型的操作者。

用户可以加入社交网络系统630,且然后添加对他们希望关连到的社交网络系统630的任何数量的其他用户的关连。如在本文所使用的,术语“朋友”指社交网络系统630的任何其他用户,用户经由社交网络系统630与任何其他用户形成关连、关联(association)或关系。例如在实施例中,如果在社交网络系统630中的用户被表示为在社交图中的节点,则术语“朋友”可以指在两个用户节点之间形成的并直接连接两个用户节点的边。

关连可以由用户明确地添加,或者可以由社交网络系统630基于用户(例如,作为同一教育机构的校友的用户)的共同特性来自动创建。例如,第一用户特别地将特定的其他用户选择为朋友。在社交网络系统630中的关连通常在两个方向上,但不需要是这样,因此术语“用户”和“朋友”取决于参考系。在社交网络系统630的用户之间的关连通常是双边的(“双向的”)或“相互的”,但是关连也可以是单边的或“单向的”。例如,如果鲍勃和乔都是社交网络系统630的用户并且关连到彼此,则鲍勃和乔是彼此的关连。另一方面,如果鲍勃希望关连到乔以查看由乔传递到社交网络系统630的数据,但是乔不希望形成相互关连,则单边连接可以被建立。在用户之间的关连可以是直接关连;然而,社交网络系统630的一些实施例允许经由一个或更多个级别的关连或分离的程度的关连是间接的。

除了建立并维护在用户之间的关连并允许在用户之间的交互之外,社交网络系统630还向用户提供对由社交网络系统630支持的各种类型的项目采取动作的能力。这些项目可以包括社交网络系统630的用户可能属于的群组或网络(即,人、实体和概念的社交网络)、用户可能感兴趣的事件或日历条目、用户可以经由社交网络系统630使用的基于计算机的应用、允许用户经由由社交网络系统630提供或通过社交网络系统630提供的服务来购买或销售项目的交易、以及用户可以在社交网络系统630上或外执行的与广告的交互。这些仅仅是用户可以在社交网络系统630上作用于的项目的几个示例,并且许多其他项目是可能的。用户可以与能够在社交网络系统630中或在外部系统620中被表示的、与社交网络系统630分离的、或者经由网络655耦合到社交网络系统630的任何事物进行交互。

社交网络系统630也能够链接各种实体。例如,社交网络系统630使用户能够通过api、web服务或其他通信渠道来与彼此以及外部系统620或其他实体进行交互。社交网络系统630生成并维护包括由多个边互连的多个节点的“社交图”。社交图中的每个节点可以表示可以作用于另一个节点和/或可以由另一个节点作用于的实体。社交图可以包括各种类型的节点。节点的类型的示例包括用户、非个人实体、内容项目、网页、群组、活动、消息、概念以及可以由社交网络系统630中的对象表示的任何其他事物。在社交图中的两个节点之间的边可以表示在两个节点之间的特定类型的关连或关联,这可以由节点关系或由节点中的一个节点在另一个节点上所执行的动作产生。在一些情况下,在节点之间的边可以被加权。边的权重可以表示与该边相关联的属性,例如在节点之间的关连或关联的强度。不同类型的边可以具有不同的权重。例如,当一个用户“赞”另一个用户时创建的边可以被赋予一个权重,而当一个用户加另一个用户为好友(befriend)时创建的边可以被赋予不同的权重。

作为示例,当第一用户将第二用户识别为朋友时,生成将表示第一用户的节点和表示第二用户的第二节点连接的在社交图中的边。当各种节点与彼此关联(relate)或交互时,社交网络系统630修改连接各种节点的边以反映关系和交互。

社交网络系统630还包括用户生成的内容,这增强了用户与社交网络系统630的交互。用户生成的内容可以包括用户可以添加、上传、发送或“发布”到社交网络系统630的任何内容。例如,用户将帖子从用户设备610传递到社交网络系统630。帖子可以包括数据(例如状态更新或其他文本数据)、位置信息、图像(例如照片)、视频、链接、音乐或其他类似数据或媒体。内容也可以由第三方添加到社交网络系统630。内容“项目”被表示为在社交网络系统630中的对象。以这种方式,通过经由各种通信渠道发布各种类型的媒体的文本和内容项目来鼓励社交网络系统630的用户与彼此进行通信。这种通信增加了用户与彼此之间的交互,并增加了用户与社交网络系统630交互的频率。

社交网络系统630包括web服务器632、api请求服务器634、用户简档储存器636、关连储存器638、动作记录器640、活动日志642和授权服务器644。在本发明的实施例中,社交网络系统630可以包括用于各种应用的附加的、更少的或不同的部件。没有示出其他部件(例如网络接口、安全机构、负载平衡器、故障转移服务器、管理和网络操作控制台等),以便不使系统的细节模糊。

用户简档储存器636维护关于用户账户的信息,包括传记、人口统计和其他类型的描述性信息,例如由用户声明或由社交网络系统630推断的工作经历、教育历史、爱好或偏好、位置等。该信息存储在用户简档储存器636中,使得每个用户被唯一地识别。社交网络系统630还在关连储存器638中存储描述在不同用户之间的一个或更多个关连的数据。关连信息可以指示具有相似或共同的工作经历、组成员资格、爱好或教育历史的用户。另外,社交网络系统630包括在不同用户之间的用户定义的关连,允许用户指定他们与其他用户的关系。例如,用户定义的关连允许用户生成与其他用户的关系,这些关系并行于用户的真实生活关系,例如朋友、同事、伙伴等。用户可以从预定义的类型的关连中进行选择,或者根据需要定义他们自己的关连类型。与社交网络系统630中的其他节点(例如非个人实体、存储桶(bucket)、集群中心、图像、兴趣、页面、外部系统、概念等)的关连也存储在关连储存器638中。

社交网络系统630维护关于对象的数据,用户可以与该对象交互。为了维护该数据,用户简档储存器636和关连储存器638存储由社交网络系统630维护的相应类型的对象的实例。每种对象类型都有适于存储适合于对象的类型的信息的信息字段。例如,用户简档储存器636包含具有适于描述用户的账户的字段和与用户的账户相关的信息的数据结构。当特定类型的新对象被创建时,社交网络系统630初始化相应类型的新数据结构,给它分配唯一的对象标识符,并开始根据需要来向对象添加数据。例如,这可能在用户成为社交网络系统630的用户时出现,社交网络系统630在用户简档储存器636中生成用户简档的新实例,给用户账户分配唯一标识符,并开始用由用户提供的信息来填充用户账户的字段。

关连储存器638包括适于描述用户到其他用户的关连、与外部系统620的关连或与其他实体的关连的数据结构。关连储存器638还可以使关连类型与用户的关连相关联,用户的关连可以结合用户的隐私设置来被使用以调节对关于用户的信息的访问。在本发明的实施例中,用户简档储存器636和关连储存器638可以被实现为联合数据库(federateddatabase)。

存储在关连储存器638、用户简档储存器636和活动日志642中的数据使社交网络系统630能够生成社交图,该社交图使用节点来识别各种对象并且使用连接节点的边来识别在不同对象之间的关系。例如,如果第一用户与社交网络系统630中的第二用户建立关连,则来自用户简档储存器636的第一用户和第二用户的用户账户可以充当社交图中的节点。由关连储存器638存储的在第一用户和第二用户之间的关连是在与第一用户和第二用户相关联的节点之间的边。继续该示例,第二用户然后可以在社交网络系统630内向第一用户发送消息。可以被存储的发送消息的动作是在社交图中的表示第一用户和第二用户的两个节点之间的另一条边。另外,消息本身可以被识别并被包括在社交图中,作为关连到表示第一用户和第二用户的节点的另一个节点。

在另一示例中,第一用户可以在由社交网络系统630维护的图像中(或者可选地,在由在社交网络系统630外部的另一系统维护的图像中)标记第二用户。图像本身可以被表示为社交网络系统630中的节点。该标记动作可以在第一用户和第二用户之间创建边,以及在每个用户和图像之间创建边,图像也是社交图中的节点。在又一示例中,如果用户确认参加事件,则用户和事件是从用户简档储存器36获得的节点,其中事件的参加是在可以从活动日志642检索的节点之间的边。通过生成并维护社交图,社交网络系统630包括描述许多不同类型的对象以及在这些对象当中的交互和关连的数据,提供了社交相关信息的丰富源。

web服务器632经由网络655来将社交网络系统630链接到一个或更多个用户设备610和/或一个或更多个外部系统620。web服务器632提供网页以及其他网络相关内容,例如java、javascript、flash、xml等。web服务器632可以包括邮件服务器或用于在社交网络系统630和一个或更多个用户设备610之间接收并按规定路线发送消息的其他消息传送功能。消息可以是即时消息、排队消息(例如,电子邮件)、文本和sms消息或者任何其他合适的消息格式。

api请求服务器634允许一个或更多个外部系统620和用户设备610通过调用一个或更多个api函数来调用来自社交网络系统630的访问信息。api请求服务器634还可以允许外部系统620通过调用api来向社交网络系统630发送信息。在一个实施例中,外部系统620经由网络655向社交网络系统630发送api请求,并且api请求服务器634接收该api请求。api请求服务器634通过调用与api请求相关联的api来处理该请求以生成适当的响应,api请求服务器634经由网络655来将该响应传递到外部系统620。例如,响应于api请求,api请求服务器634收集与用户相关联的数据(例如已经登录到外部系统620内的用户的关连),并将所收集的数据传递到外部系统620。在另一实施例中,用户设备610以与外部系统620相同的方式经由api来与社交网络系统630进行通信。

动作记录器640能够从web服务器632接收关于在社交网络系统630上和/或外的用户动作的通信。动作记录器640用关于用户动作的信息来填充活动日志642,使社交网络系统630能够发现由它的用户在社交网络系统630内和在社交网络系统630外采取的各种动作。特定用户相对于在社交网络系统630上的另一个节点采取的任何动作可以通过在活动日志642中或在类似数据库或其他数据仓库中维护的信息来与每个用户的账户相关联。被识别并存储的由用户在社交网络系统630内采取的动作的示例可以包括例如,添加到另一个用户的关连、向另一个用户发送消息、从另一个用户读取消息、查看与另一个用户相关联的内容、参加由另一个用户发布的事件、发布图像、尝试发布图像、或与另一个用户或另一个对象交互的其他动作。当用户在社交网络系统630内采取动作时,该动作被记录在活动日志642中。在一个实施例中,社交网络系统630将活动日志642维护为条目的数据库。当在社交网络系统630内采取动作时,该动作的条目被添加到活动日志642。活动日志642可以被称为动作日志。

此外,用户动作可以与在社交网络系统630外部的实体(例如与社交网络系统630分离的外部系统620)内出现的概念和动作相关联。例如,动作记录器640可以从web服务器632接收描述用户与外部系统620的交互的数据。在该示例中,外部系统620根据在社交图中的结构化动作和对象来报告用户的交互。

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

授权服务器644实施社交网络系统630的用户的一个或更多个隐私设置。用户的隐私设置确定与用户相关联的特定信息可以如何被共享。隐私设置包括与用户相关联的特定信息的规范以及信息可以被共享于的一个或更多个实体的规范。信息可以被共享于的实体的示例可以包括其他用户、应用、外部系统620、或可能潜在地访问信息的任何实体。可以由用户共享的信息包括用户账户信息(例如简档照片)、与用户相关联的电话号码、用户的关连、由用户采取的动作(例如添加关连)、改变用户简档信息等。

可以以不同的粒度级别提供隐私设置规范。例如,隐私设置可以识别要与其他用户共享的特定信息;隐私设置识别工作电话号码或一组特定的相关信息(例如,包括简档照片、家庭电话号码和状态的个人信息)。可选地,隐私设置可以应用于与用户相关联的所有信息。也可以以不同的粒度级别指定可以访问特定信息的该组实体的规范。信息可以被共享于的不同组的实体可以包括例如,用户的所有朋友、朋友的所有朋友、所有应用、或所有外部系统620。一个实施例允许该组实体的规范包括实体的枚举。例如,用户可以提供被允许访问某些信息的外部系统620的列表。另一实施例允许规范包括一组实体以及不被允许访问信息的例外。例如,用户可以允许所有外部系统620访问用户的工作信息,但是指定不被允许访问工作信息的外部系统620的列表。某些实施例将不被允许访问某些信息的例外的列表称为“黑名单”。属于由用户指定的黑名单的外部系统620被阻止访问在隐私设置中指定的信息。信息的规范的粒度和信息被共享于的实体的规范的粒度的各种组合是可能的。例如,所有个人信息可以与朋友共享,而所有工作信息可以与朋友的朋友共享。

授权服务器644包含确定与用户相关联的某些信息是否可以由用户的朋友、外部系统620和/或其他应用和实体访问的逻辑。外部系统620可能需要来自授权服务器644的授权来访问用户的更私密且敏感的信息,例如用户的工作电话号码。基于用户的隐私设置,授权服务器644确定另一用户、外部系统620、应用、或另一实体是否被允许访问与用户相关联的信息,包括关于由用户采取的动作的信息。

在一些实施例中,社交网络系统630可以包括媒体内容转换模块646。如在本文更详细讨论的,可以用媒体内容转换模块102来实现媒体内容转换模块646。在一些实施例中,可以在用户设备610中实现媒体内容转换模块646的一个或更多个功能。

硬件实现

前述过程和特征可以由各种机器和计算机系统架构以及在各种网络和计算环境中实现。图7示出了根据本发明的实施例的可以用于实现本文描述的一个或更多个实施例的计算机系统700的示例。计算机系统700包括用于使计算机系统700执行本文讨论的过程和特征的指令集。计算机系统700可以连接(例如,联网)到其他机器。在联网部署中,计算机系统700可以在客户端-服务器网络环境中的服务器机器或客户端机器的能力下进行操作,或者作为在对等(或分布式)网络环境中的对等机器来进行操作。在本发明的实施例中,计算机系统700可以是社交网络系统630、用户设备610和外部系统720、或者其部件。在本发明的实施例中,计算机系统700可以是在构成社交网络系统630的全部或部分的许多服务器当中的一个服务器。

计算机系统700包括处理器702、高速缓存704以及存储在计算机可读介质上的指向本文描述的过程和特征的一个或更多个可执行模块和驱动程序。另外,计算机系统700包括高性能输入/输出(i/o)总线706和标准i/o总线708。主桥(hostbridge)710将处理器702耦合到高性能i/o总线706,而i/o总线桥712将两个总线706和708耦合到彼此。系统存储器714和一个或更多个网络接口716耦合到高性能i/o总线706。计算机系统700还可以包括视频存储器和耦合到视频存储器的显示设备(未示出)。大容量存储装置718和i/o端口720耦合到标准i/o总线708。计算机系统700可以可选地包括键盘和定点设备、显示设备、或耦合到标准i/o总线708的其他输入/输出设备(未示出)。共同地,这些元件旨在表示广泛类别的计算机硬件系统,包括但不限于基于由加利福尼亚州(california)圣克拉拉(santaclara)的英特尔公司制造的x86兼容处理器和由加利福尼亚州森尼维尔(sunnyvale)的高级微器件(amd)公司制造的x86兼容处理器以及任何其他合适的处理器的计算机系统。

操作系统管理并控制计算机系统700的操作,包括往返软件应用(未示出)的数据输入和输出。操作系统提供在系统上执行的软件应用和系统的硬件部件之间的接口。可以使用任何合适的操作系统,例如linux操作系统、可从加利福尼亚州库比蒂诺(cupertino)的苹果计算机公司获得applemacintosh操作系统、unix操作系统、操作系统、bsd操作系统等。其他实现是可能的。

将在下面更详细地描述计算机系统700的元件。特别是,网络接口716提供在计算机系统700和各种网络(诸如以太网(例如,ieee802.3)网络)中的任一种、背板等之间的通信。大容量存储装置718提供数据和编程指令的永久存储,以执行由上面识别的相应计算系统实现的上述过程和特征,而系统存储器714(例如,dram)提供当由处理器702执行时的数据和编程指令的临时存储。i/o端口720可以是提供在可以耦合到计算机系统700的附加外围设备之间的通信的一个或更多个串行和/或并行通信端口。

计算机系统700可以包括各种系统架构,并且计算机系统700的各种部件可以被重新排列。例如,高速缓存704可以与处理器702一起在芯片上。可选地,高速缓存704和处理器702可以封装在一起作为“处理器模块”,处理器702被称为“处理器核心”。此外,本发明的某些实施例可能既不需要也不包括所有上述部件。例如,耦合到标准i/o总线708的外围设备可以耦合到高性能i/o总线706。此外,在一些实施例中,只有单个总线可以存在,计算机系统700的部件耦合到该单个总线。此外,计算机系统700可以包括附加部件,例如附加处理器、存储设备或存储器。

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

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

计算机可读介质的示例包括但不限于可记录类型的介质(例如易失性和非易失性存储设备);固态存储器;软盘和其他可移动盘;硬盘驱动器;磁性介质;光盘(例如,光盘只读存储器(cdrom)、数字通用盘(dvd));其他类似的非暂时性(或暂时性)、有形(或非有形)存储介质;或任何类型的介质,其适于存储、编码或携带一系列指令,用于由计算机系统700执行以执行本文描述的任何一个或更多个过程和特征。

为了解释的目的,阐述了许多具体细节,以便提供描述的透彻理解。然而对于本领域中的技术人员将明显,可以在没有这些具体细节的情况下实践本公开的实施例。在一些实例中,以框图形式示出了模块、结构、过程、特征和设备,以便避免使本描述模糊。在其他实例中,功能框图和流程图被示出为表示数据和逻辑流。框图和流程图的部件(例如,模块、块、结构、设备、特征等)可以以不同于如在本文明确描述并描绘的方式来被不同地组合、分离、移除、重新排序和替换。

在本说明书中对“一个实施例”、“实施例”、“其他实施例”、“一系列实施例”、“一些实施例”、“各种实施例”等的提及意指关于实施例描述的特定特征、设计、结构或特性被包括在本公开的至少一个实施例中。例如,短语“在一个实施例中”或“在实施例中”在说明书中的不同地方中的出现并不一定都指同一实施例,也不是与其他实施例相互排斥的单独的或可选的实施例。此外,无论是否存在对“实施例”等的明确提及,都描述了各种特征,这些特征可以多方面地被组合并且包括在一些实施例中,但是在其他实施例中也可以多方面地被省略。类似地,描述了各种特征,其可以是对于一些实施例而不是其他实施例的优先选择或要求。

本文使用的语言主要为了可读性和教学目的而被选择,并且它可以不被选择为描写或限制创造性主题。因此,意图是本发明的范围不由该详细描述进行限制,而是由在基于其的申请上发布的任何权利要求进行限制。因此,本发明的实施例的公开旨在是说明性的,但不是在下面的权利要求中阐述的本发明的范围的限制。

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