基于说明性指令动态提供视频内容的系统和方法与流程

文档序号:17933839发布日期:2019-06-15 01:09阅读:166来源:国知局
基于说明性指令动态提供视频内容的系统和方法与流程

本技术涉及媒体处理的领域。更具体地,本技术涉及用于基于说明性指令动态提供视频内容的技术。



背景技术:

现今,为了各种各样的目的,人们经常应用计算装置(或者系统)。用户可以使用他们的计算装置例如彼此交互、访问内容、共享内容、以及创建内容。在一些情况下,用户可以使用他们的计算装置生成并提供内容项,诸如,图像、音频、文本、状态更新、评论和/或帖子。例如,内容项可以由社交网络系统(即,社交网络服务、社交媒体系统、社交媒体服务)呈现和存储。在一些情况下,用户可以利用计算装置访问或与多媒体或媒体内容(诸如经由社交网络系统可用的视频内容)交互。

在特别出现在计算机技术领域中的常规方法下,视频内容必须在用户观看或查看该视频内容之前的某时由一个或多个计算装置(或系统)进行渲染。在一个示例中,用户可以通过修改或编辑视频内容进一步与视频内容交互。在一些情况下,在常规方法下,用户可以编辑或者以其他方式修改视频内容,但是所编辑或修改的视频内容必须在其可以被观看、查看或访问之前再次渲染,这可以不方便或者无效率。这些或其他担心可能会对与访问或以其他方式与诸如视频的媒体内容交互相关联的整体用户体验产生挑战或者降低整体用户体验。



技术实现要素:

本公开的各种实施方式可以包括系统、方法和非易失性计算机可读介质,其被配置为获取第一选择以识别一组媒体内容项中的媒体内容项的子集。可以获取第二选择,以识别一组情绪中的情绪。可以基于第一选择和第二选择中的至少一个识别配乐。该配乐可以与用于确定媒体内容项的子集中的每个媒体内容项在配乐的播放期间何时被呈现的数据相关联。可以提供用于确定子集中的每个媒体内容项在配乐的播放期间如何被呈现的一组说明性指令。可以基于该组说明性指令动态呈现媒体内容项的子集。媒体内容项的子集可以在配乐的播放期间被呈现并且可以被呈现为表示视频内容。

在实施方式中,可以接收对第一选择的修改,使得所修改的媒体内容项的子集被识别。可以基于所修改的媒体内容项的子集识别所修改的配乐。可以提供用于确定所修改的子集中的每个媒体内容项在所修改的配乐的播放期间如何被呈现的所修改的该组说明性指令。可以基于所修改的该组说明性指令动态呈现所修改的媒体内容项的子集。所修改的媒体内容项的子集可以在所修改的配乐的播放期间被呈现并且可以被呈现为表示视频内容。

在实施方式中,可以接收对第二选择的修改,使得所修改的情绪被识别。可以基于所修改的情绪识别所修改的配乐。可以提供用于确定子集中的每个媒体内容项在所修改的配乐的播放期间如何被呈现的所修改的该组说明性指令。可以基于所修改的该组说明性指令动态呈现媒体内容项的子集。媒体内容项的子集可以在所修改的配乐的播放期间被呈现并且可以被呈现为表示视频内容。

在实施方式中,该配乐可以与用于确定媒体内容项的子集中的每个媒体内容项在配乐的播放期间何时被呈现的数据相关联。

在实施方式中,识别配乐可以包括基于媒体内容项的子集中的一些媒体内容项识别配乐的特定版本,并且其中,配乐的特定版本具有与媒体内容项的子集中的一些媒体内容项一致的特定的播放长度。

在实施方式中,该组说明性指令可以用于确定当子集被呈现时如何从子集中的特定的媒体内容项转变至子集中的下一个媒体内容项。

在实施方式中,该组说明性指令为媒体内容项的子集中的每个媒体内容项指定以下项中的至少一个:1)相应的开始状态、2)相应的结束状态、3)从相应的开始状态至相应的结束状态的相应的移动操作、4)从相应的开始状态至相应的结束状态的相应的缩放操作、和5)其中相应的开始状态转变至相应的结束状态的相应的持续时间。

在实施方式中,可以动态执行该组说明性指令中的一个或多个说明性指令,以便动态呈现媒体内容项的子集。

在实施方式中,媒体内容项的子集可以被呈现为表示视频内容,而无需生成视频文件。

在实施方式中,可以获取将基于该组说明性指令呈现的媒体内容项的子集作为视频内容发布的命令。可以基于该组说明性指令生成视频文件。

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

附图说明

图1示出了根据本公开的实施方式的包括被配置为促进基于说明性指令动态提供视频内容的示例性动态视频内容模块的示例系统。

图2a示出了根据本公开的实施方式的被配置为促进基于说明性指令动态提供视频内容的示例说明性指令模块。

图2b示出了根据本公开的实施方式的被配置为促进基于说明性指令动态提供视频内容的示例动态呈现模块。

图3a示出了根据本公开的实施方式的与基于说明性指令动态提供视频内容相关联的示例情形。

图3b示出了根据本公开的实施方式的与基于说明性指令动态提供视频内容相关联的示例情形。

图4示出了根据本公开的实施方式的与基于说明性指令动态提供视频内容相关联的示例方法。

图5a示出了根据本公开的实施方式的与基于说明性指令动态提供视频内容相关联的示例方法。

图5b示出了根据本公开的实施方式的与基于说明性指令动态提供视频内容相关联的示例方法。

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

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

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

具体实施方式

基于说明性指令动态提供视频内容

为了各种目的,人们使用计算系统(或装置)。用户可以利用他们的计算系统建立连接、参与通信、彼此交互、和/或与各种类型的内容交互。在一些情况下,计算装置可以包括或对应于能够捕捉或记录媒体内容,诸如图像或视频(例如,视频图像帧或静止帧)的相机。在一些情况下,用户可以利用他们的计算装置访问社交网络(或社交媒体)系统或服务以发布、编辑、共享和/或以其他方式参与(例如,评论、点赞等)诸如图像和视频的媒体内容。在一个示例中,用户可以结合或聚集媒体内容项以生成视频,诸如电影或影片文件。

在一些情况下,特别出现在用于创建视频的计算机技术领域中的常规方法可以将各种媒体内容项结合或缝合在一起,并且然后渲染或以其他方式处理媒体内容项以在稍后的时间产生视频(例如,视频文件)。时常地,尝试创建视频的用户可能希望修改用于创建视频的媒体内容项。然而,根据特别出现在计算机技术领域中的这种常规方法,在修改了用于创建视频的媒体内容项之后,必须有另一个渲染或处理过程以产生合并该修改的新视频。因此,特别出现在用于视频创建的计算机技术领域中的这种常规方法可能是无效率或不方便的。

由于这些或其他担心,特别出现在计算机技术领域中的常规方法可能是不利的或成问题的。因此,来源于计算机技术的克服与常规方法相关联的以上和其他缺点的改善方法可以是有益的。基于计算机技术,所公开的技术可以基于说明性指令动态提供视频内容。本公开的各种实施方式可以包括系统、方法和非易失性计算机可读介质,其被配置为获取第一个选择以识别一组媒体内容项中的媒体内容项的子集。可以获取第二选择,以识别一组情绪中的情绪。可以基于第一选择和第二选择中的至少一个识别配乐。该配乐可以与用于确定媒体内容项的子集中的每个媒体内容项在配乐的播放期间何时被呈现的数据相关联。可以提供用于确定子集中的每个媒体内容项在配乐的播放期间如何被呈现的一组说明性指令。可以基于该组说明性指令动态呈现媒体内容项的子集。媒体内容项的子集可以在配乐的播放期间被呈现并且可以被呈现为表示视频内容。预期的是可以存在与所公开的技术相关联的许多变化和/或其他可能性。

图1示出了根据本公开的实施方式的包括被配置为促进基于说明性指令动态提供视频内容的示例动态视频内容模块102的示例系统100。如图1的示例中所示,动态视频内容模块102可以包括选择模块104、配乐模块106、说明性指令模块108和动态呈现模块110。在一些情况下,示例系统100可以包括至少一个数据存储器120。该附图和本文中的所有附图中示出的部件(例如,模块、元件等)仅是示例性的,并且其他实现可以包括附加的、更少的、集成的或者不同的部件。可以不示出一些部件,以便模糊相关细节。

在一些实施方式中,动态视频内容模块102可以部分地或者完全实现为软件、硬件、或者它们的任何组合。通常,如本文中讨论的模块可以与软件、硬件、或者它们的任何组合相关联。在一些实现中,可以通过软件程序、软件过程、硬件和/或它们的任何组合实施或执行模块的一个或多个功能、任务和/或操作。在一些情况下,动态视频内容模块102可以部分地或完全实现为在一个或多个计算装置或系统上(诸如在用户或客户端计算装置上)运行的软件。例如,动态视频内容模块102或其至少一部分可以实现为在用户计算装置或客户端计算系统(诸如图6的用户装置610)上运行的应用程序(例如,app)、程序、小程序或操作系统等或者可以在应用程序(例如,app)、程序、小程序或操作系统等内实现。在另一示例中,动态视频内容模块102或其至少一部分可以使用包括诸如网络服务器或者云服务器的一个或多个服务器的一个或多个计算装置或者系统实现。在一些情况下,动态视频内容模块102可以部分地或完全在诸如图6的社交网络系统630的社交网络系统(或服务)内实现或者被配置为结合该社交网络系统进行操作。应当理解,可以存在许多变化或其他可能性。

选择模块104可以被配置为促进获取第一选择以识别一组媒体内容项中的媒体内容项的子集。在一些实施方式中,选择模块104可以接收、检索、检测或以其他方式获取该选择以识别该组媒体内容项中的媒体内容项的子集。在一个示例中,用户的计算装置(或系统)可以包括存储该组媒体内容项(例如,图像、视频等)的媒体内容资料库,诸如本地相机卷。在该示例中,用户可以诸如通过轻敲、点击或以其他方式与子集中包括的一个或多个媒体内容项交互来选择或识别媒体内容项的子集。然后选择模块104可以获取识别媒体内容项的子集的用户的选择。在一些实现中,选择模块104可以自动(例如,无需手动/用户努力)选择或识别媒体内容项的子集。例如,选择模块104可以利用一个或多个图像处理技术(例如,图像分类、对象/面部检测、对象/面部识别等)来确定该组中的哪个媒体内容项感兴趣或相关,诸如描述面部的那些图像或视频帧。在这种情况下,可以通过选择模块104执行和/或获取这种感兴趣的或相关媒体内容项的选择。

在一些实现中,选择模块104可以获取与媒体内容项的子集相关联的元数据,诸如分辨率数据、尺寸数据、时间数据、位置数据、焦点数据、数量数据等。例如,随后可以利用这种元数据确定所选择的媒体内容项的子集如何被动态呈现以表示或作为视频内容。应当理解,为了说明性目的提供了本文中的所有示例并且与所公开的技术相关联的许多变化是可行的。

此外,选择模块104还可以被配置为促进获取第二选择以识别一组情绪中的情绪。在一些实施方式中,可以指定、预定义和/或预置等该组情绪。该组中的情绪的示例可以包括但不限于快乐情绪、乐观/期待情绪、冒险/刺激情绪、悲哀情绪和/或怀旧情绪等。在一些情况下,选择模块104可以基于用户输入获取该选择以识别该情绪。例如,用户可以轻敲、点击或以其他方式与该组情绪中的特定情绪交互,以便选择或识别特定情绪。在一些实施方式中,选择模块104可以诸如基于默认配置、系统设置或确定的偏好自动(例如,无需手动/用户努力)执行或获取情绪的选择。在一个示例中,选择模块104可以利用一个或多个图像处理技术来确定媒体内容项的子集中描述的一个或多个面部是否指示快乐情绪(例如,面带微笑)、悲哀情绪(例如,皱着眉头)或其他情感。在该示例中,基于如何在子集中描述面部,选择模块104可以执行和/或获取该组情绪中的情绪的选择。此外,许多变化是可行的。

此外,配乐模块106可以被配置为促进基于第一选择(以识别媒体内容项的子集)和第二选择(以识别情绪)中的至少一个来识别配乐。在一些实现中,多个配乐(包括各种播放长度配乐版本)可以存储在本地。基于情绪的第二选择,例如,配乐模块106可以识别多个情绪中的特定情绪。在一些情况下,选择或识别的特定配乐可以被指定或预定义为与所选择的情绪相关联、与所选择的情绪一致、和/或表示所选择的情绪。

进一步地,在一些情况下,识别该配乐可以包括基于媒体内容项的子集中的一些媒体内容项识别该配乐的特定版本。配乐的特定版本可以具有被指定或预定义为与子集中的这些媒体内容项的特定播放长度相关联、与这些媒体内容项的特定播放长度一致、和/或符合这些媒体内容项的特定播放长度。例如,当更多媒体内容项被选择为包括在子集中时,被识别或选择的配乐的特定版本可以具有比更少媒体内容项被选择为包括在子集中时更长的播放长度。

此外,在一些实施方式中,该配乐可以与用于确定媒体内容项的子集中的每个媒体内容项在配乐的播放期间何时被呈现的数据相关联。例如,节拍检测处理可以应用于配乐以识别配乐中的一个或多个节拍。在一些情况下,可以以特定顺序优先考虑一个或多个节拍(例如,相对较不重要感兴趣的节拍可以优先考虑更重要或感兴趣的节拍)。关于节拍的该信息可以存储为与配乐相关联的数据(例如,元数据)或者可以包括在该数据中。基于关于节拍的信息或者其他类似信息(例如,在配乐中指定/预定义的分割点),可以确定媒体内容项的子集中的每个媒体内容项在配乐的播放期间何时被呈现。在一些情况下,人工努力或人工管理可以促进上述处理的至少一部分。

此外,说明性指令模块108可以被配置为促进提供用于确定子集中的每个媒体内容项在配乐的播放期间如何被呈现的一组说明性指令。以下将参考图2a提供关于说明性指令模块108的更多细节。

此外,动态呈现模块110可以被配置为促进基于该组说明性指令动态呈现媒体内容项的子集。媒体内容项的子集可以在配乐的播放期间被呈现并且可以被呈现为表示视频内容。以下将参考图2b更详细地讨论动态呈现模块110。

在一个示例中,选择模块104可以接收对识别子集的第一选择的修改,使得所修改的媒体内容项的子集被识别。在该示例中,可以由用户提供对第一选择的修改,以便选择或识别所修改的子集。可以基于所修改的媒体内容项的子集由配乐模块106识别所修改的配乐。可以由说明性指令模块108提供用于确定所修改的子集中的每个媒体内容项在所修改的配乐的播放期间如何被呈现的所修改的一组说明性指令。可以基于所修改的该组说明性指令由动态呈现模块110动态呈现所修改的媒体内容项的子集。所修改的媒体内容项的子集可以在所修改的配乐的播放期间被呈现并且可以被呈现为表示视频内容。

在另一示例中,选择模块104可以接收对识别情绪的第二选择的修改,使得所修改的情绪被识别。在这个示例中,可以由用户提供对第二选择的修改,以便选择或识别所修改的情绪。可以基于所修改的情绪由配乐模块106识别所修改的配乐。可以由说明性指令模块108提供用于确定子集中的每个媒体内容项在所修改的配乐的播放期间如何被呈现的所修改的一组说明性指令。可以基于所修改的该组说明性指令由动态呈现模块110动态呈现媒体内容项的子集。媒体内容项的子集可以在所修改的配乐的播放期间被呈现并且可以被呈现为表示视频内容。

此外,在一些实施方式中,如示例系统100中所示,动态视频内容模块102可以被配置为与至少一个数据存储器120通信和/或操作。至少一个数据存储器120可以被配置为存储并维护各种类型的数据。在一些实现中,至少一个数据存储器120可以存储与社交网络系统(例如,图6的社交网络系统630)相关联的信息。与社交网络系统相关联的信息可以包括关于用户、社交连接、社交交互、位置、地理围栏区域、地图、地点、事件、页面、组、帖子、通信、内容、推送、账号设置、隐私设置、社交图谱的数据、以及各种其他类型的数据。在一些实现中,至少一个数据存储器120可以存储与用户相关联的信息,诸如用户标识符、用户信息、资料信息、用户位置、用户指定设置、由用户产生或发布的内容以及各种其他类型的用户数据。在一些实施方式中,至少一个数据存储器120可以存储由动态视频内容模块102利用的信息。此外,预期的是可以存在与所公开的技术相关联的许多变化或其他可能性。

图2a示出了根据本公开的实施方式的被配置为促进基于说明性指令动态提供视频内容的示例说明性指令模块202。在一些实施方式中,图1的说明性指令模块108可以实现为说明性指令模块202。如图2a的示例中所示,说明性指令模块202可以包括开始状态模块204、结束状态模块206、操作模块208和时间模块210。

如上所述,说明性指令模块202可以被配置为促进提供用于确定所选择的媒体内容项的子集中的每个媒体内容项在所识别的配乐的播放期间如何被呈现的一组说明性指令(即,该子集被呈现为表示具有对应于配乐的音频的视频内容)。在一些情况下,说明性指令可以是专有的。在一些情况下,所公开的技术可以利用说明性指令而不是命令性指令。通常,命令性编程指令指定计算系统(或装置)如何执行操作或任务。因此,将发生预期或期望发生的事情。相反,说明性编程指令指定计算系统预期或期望发生的事情,并且允许计算系统判定或确定如何执行该操作或任务。例如,命令性编程指令指定编译器如何逐步地执行预期或期望的操作或任务,然而说明性编程指令描述预期或期望发生什么结果,而无需描述如何实现预期或期望的结果。

在一些实现中,基于与媒体内容项的子集相关联的元数据,利用所选择的情绪和/或利用所识别的配乐,说明性指令模块202可以生成该组说明性指令。在一些情况下,说明性指令模块202可以使得该组说明性指令用于确定当子集被呈现(例如,被呈现为表示或作为视频内容)时如何从子集中的特定媒体内容项转变至子集中的下一个媒体内容项。许多变化是可行的。

在一些实施方式中,该组说明性指令可以为媒体内容项的子集中的每个媒体内容项指定以下项中的至少一个:1)相应的开始状态、2)相应的结束状态、3)从相应的开始状态至相应的结束状态的相应的移动操作、4)从相应的开始状态至相应的结束状态的相应的缩放操作、和5)其中相应的开始状态转变至相应的结束状态的相应的持续时间。可以由开始状态模块204提供在该组说明性指令中指定的相应的开始状态并且可以由结束状态模块206提供在该组说明性指令中指定的相应的结束状态。此外,操作模块208可以提供从相应的开始状态至相应的结束状态的相应的移动操作和/或从相应的开始状态至相应的结束状态的相应的缩放操作。进一步地,时间模块210可以提供其中相应的开始状态转变至相应的结束状态的相应的持续时间。

在一个示例中,开始状态模块204可以指定子集中的特定的媒体内容项具有对应于x×x个像素的特定的开始状态并且处于显示屏幕的左侧(或者显示屏幕的可视区域)。结束状态模块206可以指定特定的媒体内容项具有对应于y×y个像素的特定的结束状态并且处于显示屏幕的右侧(或者显示屏幕的可视区域)。操作模块208可以为特定的内容项指定从特定的开始状态(例如,左侧)至特定的结束状态(例如,右侧)的特定的移动操作是线性的。操作模块208还可以为特定的移动操作指定速度和/或方向。操作模块208可以进一步为特定的内容项指定从特定的开始状态(例如,x×x个像素)至特定的结束状态(例如,y×y个像素)的特定的放大或缩小操作是线性的。操作模块208还可以为特定的缩放操作指定速度和/或方向。进一步地,时间模块210可以为特定的内容项指定其中特定的开始状态转变至特定的结束状态的特定的持续时间是两秒。如上所述,预期的是为了说明性目的提供了本文中的所有示例并且许多变化是可行的。

图2b示出了根据本公开的实施方式的被配置为促进基于说明性指令动态提供视频内容的示例动态呈现模块222。在一些实施方式中,图1的动态呈现模块110可以实现为示例动态呈现模块222。如图2b所示,动态呈现模块222可以包括动态执行模块224和视频文件模块226。

动态呈现模块222可以被配置为促进基于所提供的一组说明性指令动态呈现所选择的媒体内容项的子集。在一些情况下,媒体内容项的子集可以在所识别的配乐的播放期间被呈现并且可以被呈现为表示或作为视频内容。在一些实现中,动态呈现模块222可以利用动态执行模块224来动态执行该组说明性指令中的一个或多个说明性指令以便动态呈现媒体内容项的子集。例如,因为子集被呈现为表示视频内容,因此动态执行模块224可以实时(或接近实时)动态执行说明性指令。此外,在一些情况下,媒体内容项的子集可以呈现为表示视频内容,而无需生成视频文件(例如,编码/渲染的视频文件)。因此,所呈现的媒体内容项的子集可以对应于视频内容预览。

此外,在一些实施方式中,动态呈现模块222可以利用视频文件模块226促进接收、检索、检测、确定、或以其他方式获取命令以将基于该组说明性指令呈现的媒体内容项的子集公布、共享或以其他方式发布为视频内容。在一些情况下,然后视频文件模块226可以促进基于该组说明性指令生成视频文件。例如,可以本地生成视频文件,以便利用可用的本地gpu资源。此外,应当理解,可以存在与所公开的技术相关联的许多变化或其他可能性。

图3a示出了根据本公开的实施方式的与基于说明性指令动态提供视频内容相关联的示例情形300。示例情形300示出了计算装置(或系统)302,该计算装置可以被配置为呈现与基于说明性指令动态提供视频内容相关联的界面304。

在这个示例中,界面304可以使计算装置302的用户能够选择一组媒体内容项306中的媒体内容项的子集,诸如计算装置302的本地相机卷中的图像和/或视频。如所示,例如,用户目前选择了该组媒体内容项306中的五个媒体内容项。此外,在一些实施方式中,其中用户选择媒体内容项的子集的顺序可以至少部分用于确定子集中的每个媒体内容项将何时被动态呈现为表示视频内容。许多变化是可行的。

图3b示出了根据本公开的实施方式的与基于说明性指令动态提供视频内容相关联的示例情形320。示例情形320示出了在选择或识别媒体内容项的子集之后的计算装置(或系统)322,诸如图3a的计算装置302。在图3b的该示例情形320中,计算装置322可以被配置为呈现与基于说明性指令动态提供视频内容相关联的界面324。界面324可以显示正在动态呈现为表示或作为视频内容326的媒体内容项的子集。

此外,如所示,界面324还可以为用户提供可选择的一组情绪328。在这个示例情形320中,该组情绪328至少可以包括快乐情绪、期待情绪、怀旧情绪、冒险情绪等。所公开的技术可以获取该组中的特定情绪的选择(例如,用户选择、系统选择等)。当子集被动态呈现为表示或作为视频内容326时,所选择的特定情绪可以至少部分用于确定或识别要播放的配乐。应当理解,为了说明性目的提供了本文中的所有示例并且与所公开的技术相关联的许多变化是可行的。

图4示出了根据本公开的实施方式的与基于说明性指令动态提供视频内容相关联的示例方法400。应当理解,除非另有说明,否则在各种实施方式的范围内,可以存在以类似或者可选的顺序、或者同时执行的附加的、较少的、或者可选的步骤。

在框402处,示例方法400可以获取第一选择以识别一组情绪中的情绪。在框404处,示例方法400可以获取第二选择以识别一组媒体内容项中的媒体内容项的子集。在框406处,示例方法400可以基于第一选择和第二选择中的至少一个识别配乐。该配乐可以与用于确定媒体内容项的子集中的每个媒体内容项在配乐的播放期间何时被呈现的数据相关联。在框408处,示例方法400可以提供用于确定子集中的每个媒体内容项在配乐的播放期间如何被呈现的一组说明性指令。在框410处,示例方法400可以基于该组说明性指令动态呈现媒体内容项的子集。媒体内容项的子集可以在配乐的播放期间被呈现并且可以被呈现为表示视频内容。

在一些实施方式中,可以在利用所公开的技术的计算装置(或系统)中在本地执行以上描述的各种操作和/或任务。在一些实现中,远离计算装置(或系统)的一个或多个服务器可以帮助或者可以促进执行各种操作和/或任务。此外,在一些情况下,可以利用媒体内容项的至少一些子集呈现(或者在这些子集上覆盖)图形、文本、动画、运动模糊形状、纹理、滤纸、和/或其他视觉处理/效果/类型。此外,许多变化是可行的。

图5a示出了根据本公开的实施方式的与基于说明性指令动态提供视频内容相关联的示例方法500。如所讨论的,应当理解,除非另有说明,否则在各种实施方式的范围内可以有以类似或可选的顺序或并行地执行的附加的、更少的或可选的步骤。

在框502处,示例方法500可以接收对第二选择的修改,使得所修改的媒体内容项的子集被识别。在框504处,示例方法500可以基于所修改的媒体内容项的子集识别所修改的配乐。在框506处,示例方法500可以提供用于确定所修改的子集中的每个媒体内容项在所修改的配乐的播放期间如何被呈现的所修改的一组说明性指令。在框508处,示例方法500可以基于所修改的该组说明性指令动态呈现所修改的媒体内容项的子集。所修改的媒体内容项的子集可以在所修改的配乐的播放期间被呈现并且可以被呈现为表示视频内容。

图5b示出了根据本公开的实施方式的与基于说明性指令动态提供视频内容相关联的示例方法520。此外,预期的是,除非另有说明,否则在各种实施方式的范围内,可以存在以类似或者可选的顺序、或者并行执行的附加的、较少的、或者可选的步骤。

在框522处,示例方法520可以接收对第一选择的修改,使得所修改的情绪被识别。在框524处,示例方法520可以基于所修改的情绪识别所修改的配乐。在框526处,示例方法520可以提供用于确定子集中的每个媒体内容项在所修改的配乐的播放期间如何被呈现的所修改的一组说明性指令。在框528处,示例方法520可以基于所修改的该组说明性指令动态呈现媒体内容项的子集。媒体内容项的子集可以在所修改的配乐的播放期间被呈现并且可以被呈现为表示视频内容。

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

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

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

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

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

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

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

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

外部系统620包括一个或多个网络服务器,其包括使用网络650传送到用户装置610的一个或多个网页622a、622b。外部系统620与社交网络系统630分离。例如,外部系统620与第一域相关联,而社交网络系统630与单独的社交网络域相关联。包括在外部系统620中的网页622a、622b包括识别内容并包括指定所识别的内容的格式或展示的指令的标记语言文档614。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

此外,用户动作可以与在社交网络系统630外部的实体(诸如与社交网络系统630分开的外部系统620)内发生的概念和动作相关联。例如,动作记录器640可以从网络服务器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、应用程序或者另一实体访问与用户相关联的信息,包括关于用户采取的动作的信息。

在一些实施方式中,用户装置610可以包括动态视频内容模块618。例如,动态视频内容模块618可以被实现为图1的动态视频内容模块102。如上所述,应当理解,可以存在许多变化或者其他可能性。例如,在一些情况下,在社交网络系统630中可以包括或实现动态视频内容模块(或其至少一部分)。本文中结合动态视频内容模块102讨论了动态视频内容模块618的其他特征。

硬件实现

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

计算机系统700包括处理器702、缓存器704以及存储在计算机可读介质上的针对本文中描述的处理和特征的一个或多个可执行模块和驱动器。此外,计算机系统700包括高性能输入/输出(i/o)总线706和标准i/o总线708。主桥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的其他输入/输出装置(未示出)。共同地,这些元件旨在表示广泛类别的计算机硬件系统,包括但不限于基于由位于加利福尼亚的圣克拉拉的英特尔公司制造的x86兼容处理器以及由位于加利福尼亚的森尼韦尔的超微半导体(amd)公司制造的x86兼容处理器以及任意其他合适处理器的计算机系统。

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

下面将更详细地描述计算机系统700的元件。具体地,网络接口716在计算机系统700与任何广泛的网络(诸如以太网(例如,ieee802.3)网络、背板等)之间提供通信。大容量存储器718为数据和编程指令提供永久存储,以便执行由以上识别的相应计算系统实现的上述处理和特征,而当由处理器702执行时,系统存储器714(例如,dram)为数据和编程指令提供暂时存储。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访问和执行。在各种实现方式中,一个或多个模块可以由一个或多个位置中的一个或多个处理器执行,诸如并行处理环境中的多个服务器。

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

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

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

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

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