CN110753932A - 用于提供内容的系统和方法 - Google Patents

用于提供内容的系统和方法 Download PDF

Info

Publication number
CN110753932A
CN110753932A CN201880039963.9A CN201880039963A CN110753932A CN 110753932 A CN110753932 A CN 110753932A CN 201880039963 A CN201880039963 A CN 201880039963A CN 110753932 A CN110753932 A CN 110753932A
Authority
CN
China
Prior art keywords
interest
frame
region
determining
content item
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.)
Granted
Application number
CN201880039963.9A
Other languages
English (en)
Other versions
CN110753932B (zh
Inventor
叶夫根尼·V·库扎亚克夫
彭任斌
陈建男
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
Facebook 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
Application filed by Facebook Inc filed Critical Facebook Inc
Publication of CN110753932A publication Critical patent/CN110753932A/zh
Application granted granted Critical
Publication of CN110753932B publication Critical patent/CN110753932B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23418Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/12Panospheric to cylindrical image transformations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/16Spatio-temporal transformations, e.g. video cubism
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/80Geometric correction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/90Dynamic range modification of images or parts thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/46Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
    • G06V10/462Salient features, e.g. scale invariant feature transforms [SIFT]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/20Scenes; Scene-specific elements in augmented reality scenes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/30Scenes; Scene-specific elements in albums, collections or shared content, e.g. social network photos or video
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/816Monomedia components thereof involving special video data, e.g 3D video
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20068Projection on vertical or horizontal image axis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • User Interface Of Digital Computer (AREA)
  • Geometry (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

系统、方法和非暂时性计算机可读介质可以向显著性预测模型提供内容项的至少一个帧,显著性预测模型被训练以识别显现在内容项中的显著兴趣点。可以从显著性预测模型获得描述显现在至少一个帧中的至少第一显著兴趣点的信息。第一显著兴趣点可以被预测为是访问该内容项的用户感兴趣的。基于观看的投影可以应用到对应于第一显著兴趣点的区域,其中基于观看的投影增强该区域被呈现的质量。

Description

用于提供内容的系统和方法
发明领域
本技术涉及内容提供领域。更具体地,本技术涉及用于评估将要通过计算设备呈现的内容的技术。
背景
现今,人们常常出于各种各样的目的而利用计算设备(或系统)。用户可以操作他们的计算设备以,例如,与彼此交互、创建内容、共享内容和访问信息。在传统方法下,内容项(例如,图像、视频、音频文件等)可以通过内容共享平台获得。用户可以操作他们的计算设备来通过平台访问内容项。典型地,内容项可以由各种实体提供或上传,实体包括例如内容发布者以及内容共享平台的用户。
概述
本公开的各种实施例可以包括系统、方法和非暂时性计算机可读介质,这些系统、方法和非暂时性计算机可读介质被配置成:向显著性预测模型提供内容项的至少一个帧,该显著性预测模型被训练以识别显现在内容项中的显著兴趣点;从显著性预测模型获得描述显现在至少一个帧中的至少第一显著兴趣点的信息,其中第一显著兴趣点被预测为是访问该内容项的用户感兴趣的;以及将基于观看的投影应用到对应于第一显著兴趣点的区域,其中基于观看的投影增强该区域被呈现的质量。
在一些实施例中,系统、方法和非暂时性计算机可读介质被配置成:获得至少一个帧的显著性图;确定显著性图的基于矢量的表示;至少部分地根据基于矢量的表示来确定对应于至少一个帧的偏移;并且至少部分地基于所确定的偏移来增强对应于第一显著兴趣点的区域。
在一些实施例中,基于矢量的表示包括一组偏航仓(bin)和一组俯仰仓,并且其中每个仓与预定义的矢量和对应的幅度相关联。
在一些实施例中,系统、方法和非暂时性计算机可读介质被配置成:确定至少一个帧的球形表示,该球形表示包括位于球形表示中央的虚拟摄像机;至少部分地基于偏移来确定虚拟摄像机的位移;以及至少部分地基于虚拟摄像机的位移来确定为区域分配的像素量。
在一些实施例中,通过增加对应于区域的像素密度来增强该区域。
在一些实施例中,至少一个帧的一个或更多个其他区域的相应像素密度与虚拟摄像机的位移成比例地减小。
在一些实施例中,与至少一个帧相关联的总像素计数保持不变。
本公开的多种实施例可以包括系统、方法和非暂时性计算机可读介质,这些系统、方法和非暂时性计算机可读介质被配置成:至少部分地基于显著性预测模型来确定内容项的帧中的至少一个显著兴趣点,显著性预测模型被训练以识别显现在内容项中的显著兴趣点;确定帧的桶形投影表示;以及将基于观看的投影应用到帧的桶形投影表示,其中基于观看的投影增强对应于至少一个显著兴趣点的区域被呈现的质量。
在一些实施例中,桶形投影包括对应于帧的顶部部分、帧的底部部分和帧的中间部分的单独的面。
在一些实施例中,帧的中间部分表示在帧中被表示的场景的中间90度。
在一些实施例中,系统、方法和非暂时性计算机可读介质被配置成偏置帧的中间部分中对应于至少一个显著兴趣点的区域,其中该区域被偏置以增加与该区域相关联的像素密度。
在一些实施例中,该区域被水平拉伸一阈值量。
在一些实施例中,系统、方法和非暂时性计算机可读介质被配置成偏置帧的中部部分中的一个或更多个其他区域,其中一个或更多个区域被偏置以减小与该一个或更多个区域相关联的相应像素密度。
在一些实施例中,一个或更多个区域被水平缩短一阈值量。
应当理解,从附图中和从下面的详细描述中,所公开的技术的许多其他特征、应用、实施例和/或变型将是明显的。本文描述的结构、系统、非暂时性计算机可读介质和方法的附加和/或替代实现可以被使用而不偏离所公开的技术的原理。
特别地,在涉及方法、系统和存储介质的所附权利要求中公开了根据本发明的实施例,其中,在一个权利要求类别(例如方法)中提到的任何特征也可以在另一个权利要求类别(例如系统、存储介质、计算机程序产品)中被要求保护。在所附权利要求中的从属或往回引用仅为了形式原因而被选择。然而,也可以要求保护由对任何前面权利要求的有意往回引用(特别是多项引用)而产生的任何主题,使得权利要求及其特征的任何组合被公开并可被要求保护,而不考虑在所附权利要求中选择的从属性。可以被要求保护的主题不仅包括如在所附权利要求中阐述的特征的组合,而且还包括在权利要求中的特征的任何其他组合,其中,在权利要求中提到的每个特征可以与在权利要求中的任何其他特征或其他特征的组合相结合。此外,本文描述或描绘的实施例和特征中的任一个可以在单独的权利要求中和/或与本文描述或描绘的任何实施例或特征任意组合或与所附权利要求的任何特征任意组合来要求保护。
附图简述
图1示出了根据本公开实施例的示例系统,包括示例内容提供商模块。
图2示出了根据本公开实施例的内容特征模块的示例。
图3示出了根据本公开实施例的基于观看的投影模块的示例。
图4A-4H示出了根据本公开实施例的示例图示。
图5A-5B示出了根据本公开实施例的示例方法。
图6示出了根据本公开实施例的可以在各种场景中利用的示例系统的网络图,该示例系统包括示例社交网络系统。
图7示出了根据本公开实施例的可以在各种场景中利用的计算机系统或计算设备的示例。
附图仅为了说明的目的描绘了所公开的技术的各种实施例,其中附图使用相似的参考数字来标识相似的元素。本领域中的技术人员将从下面的讨论中容易认识到,在附图中示出的结构和方法的替代实施例可以被采用而不偏离本文描述的所公开的技术的原理。
详细描述
用于提供内容的方法
人们出于各种各样的目的使用计算设备(或系统)。如上所述,在传统方法下,用户可以利用计算设备来与其他用户共享内容项(例如,文档、图像、视频、音频等)。这种内容项可以通过内容共享平台获得。用户可以操作他们的计算设备来通过平台访问内容项。典型地,内容项可以由各种实体提供或上传,实体包括例如内容发布者以及内容共享平台的用户。
在某些情况下,用户可以通过内容提供商访问虚拟现实内容。这种虚拟现实内容可以在,例如,通过计算设备(例如,虚拟现实设备、头戴式耳机或能够呈现虚拟现实内容的任何计算设备)可访问的视口中呈现。通常,虚拟现实内容项(或沉浸式视频)对应于围绕(或包围)观众(或用户)的任何虚拟现实媒体。虚拟现实内容项的一些示例包括球形视频、半球视频(例如,180度视频)、任意部分球、225度视频和3D 360视频。这种虚拟现实内容项不需要局限于使用球形形状格式化的视频,而是也可应用于使用其他形状格式化的沉浸式视频,包括例如立方体、金字塔、以及视频记录的三维世界的其他形状表示。在一些实施例中,虚拟现实内容项可以通过将由放置在特定地点和/或位置的摄像机捕获的各种视频流(或信息流(feeds))拼接在一起来创建,以捕获场景的视图(例如,180度视图、225度视图、360度视图等)。拼接在一起后,用户可以访问或呈现(例如,回放)虚拟现实内容项。通常,当访问虚拟现实内容项时,用户可以缩放和改变视口的方向(例如,俯仰、偏航、滚动),以访问虚拟现实内容项中场景的不同部分。视口的方向可用于确定呈现虚拟现实内容项的哪个流。通常,内容项(例如,虚拟现实内容项、沉浸式视频、球形视频等)可以捕获包括各种兴趣点(例如,人、对象、风景等)的场景。在一些情况下,可以训练传统模型(例如,神经网络)来评估内容项,以识别在内容项的呈现(例如,回放)期间场景(例如,帧)中显现的兴趣点。尽管常规方法可以用于识别给定内容项中多个不同的兴趣点,但是这些方法通常无法指示这些识别的兴趣点中的哪些兴趣点可能与给定用户或用户组相关(或是给定用户或用户组感兴趣的)。此外,传统方法可能缺乏在内容项中强调相关(或感兴趣)内容的能力。因此,这种传统方法可能无法有效地解决计算机技术中出现的这些和其他问题。
一种改进的方法克服了与传统方法相关的前述和其他缺点。在各种实施例中,显著性预测模型可以被训练来识别在给定内容项的呈现期间用户可能感兴趣的内容(例如,显著兴趣点)。在一些实施例中,显著性预测模型预测的内容被期望与给定用户或用户组(例如,共享一个或更多个人口统计属性的用户)更相关或是该给定用户或用户组更感兴趣的。在一些实施例中,这些显著兴趣点可以用于改善内容项的传送(或流式传输)。例如,在一些实施例中,显著性预测模型输出的显著性信息可以用于实现动态流式传输。例如,在动态流式传输中,内容项可以与多个不同的流相关联,在这些流中,帧的不同部分被增强(或强调)。在该示例中,将要呈现的流取决于观众计算设备(例如,虚拟现实设备)的观看方向。在一些实施例中,显著性信息可以用于实现取决于内容的流式传输。在这样的实施例中,包括显著兴趣点的帧中的区域可以作为单个流被强调和分布。在各种实施例中,可以使用基于观看的投影来实现内容的增强(或强调)。例如,在一些实施例中,显著性信息可用于实现基于观看的投影,该投影强调内容项(或帧)中许多潜在观看中的一个观看(例如,最相关的、最感兴趣的观看),而不改变(例如,增加)与内容项(或帧)相关联的总像素计数。因此,用户可以享受沉浸式和交互式的虚拟体验,该虚拟体验是视觉上令人愉悦的,而不必经历由增加的资源需求(例如,处理、带宽等)而可能导致的缺点。下文提供了与所公开技术相关的更多细节。
图1示出了根据本公开实施例的示例系统100,包括示例内容提供商模块102。如图1的示例所示,内容提供商模块102可以包括内容模块104、流式传输模块106和内容特征模块108。在一些情况下,示例系统100可以包括至少一个数据储存器112客户端模块114可以通过一个或更多个网络150(例如,互联网、局域网等)与内容提供商模块102交互。客户端模块114可以在运行在计算设备(例如,虚拟现实设备、头戴式耳机(headset)、或能够呈现虚拟现实内容的任何计算设备)上的软件应用中实现。在各种实施例中,网络150可以是设备可以通过其交换数据的任何有线或无线计算机网络。例如,举例来说,网络150可以是个人区域网络、局域网或广域网。在该附图和本文的所有附图中示出的部件(例如,模块、元件等)仅仅是示例性的,且其他实现可以包括附加的、更少的、集成的、或不同的部件。一些部件可能未示出,以便不使相关细节模糊。
在一些实施例中,内容提供商模块102可以部分地或整体地被实现为软件、硬件或其任何组合。通常,如本文讨论的模块可以与软件、硬件或其任何组合相关联。在一些实现中,模块的一个或更多个功能、任务和/或操作可以由软件例程、软件过程、硬件和/或其任何组合来实施或执行。在一些情形中,内容提供商模块102可以部分地或整体地被实现为运行在一个或更多个计算设备或系统上的软件,如运行在用户计算设备或客户端计算系统上的软件。例如,内容提供商模块102或其至少一部分可以被实现为在用户计算设备或客户端计算系统(如图6的用户设备610)上运行的应用(例如,app)、程序或小应用等,或者可以在这些应用、程序或小应用等内部实现。进一步,内容提供商模块102或其至少一部分可以使用包括一个或更多个服务器(如网络服务器或云服务器)的一个或更多个计算设备或系统来实现。在某些情况下,内容提供商模块102可以部分地或整体地在社交网络系统(或服务)(如图6的社交网络系统630)内实现,或者可以被配置成与社交网络系统(或服务)联合操作。应当理解,可以有许多变型或其他可能。
在一些实施例中,内容提供商模块102可以被配置成与示例系统100中的至少一个数据储存器112通信和/或一起操作。在各种实施例中,至少一个数据储存器112可以存储与内容提供商模块102的功能和操作相关的数据。这种数据的一个示例可以是可用于访问(例如,流式传输)的内容项(例如,虚拟现实内容项)。在一些实现方式中,至少一个数据储存器112可以存储与社交网络系统(例如,图6的社交网络系统630)相关联的信息。与社交网络系统相关联的信息可以包括关于用户、社交关连、社交互动、定位、地理围栏区域、地图、地点、事件、页面、群组、帖子、通信、内容、信息流(feeds)、账户设置、隐私设置、社交图和各种其他类型的数据。在一些实现中,至少一个数据储存器112可以存储与用户相关联的信息,如用户身份、用户信息、简档信息、用户特定的设置、用户制造或发布的内容以及各种其他类型的用户数据。应当理解,可以有许多变型或其他可能。
在各种实施例中,内容模块104可以提供对将要通过视口呈现的各种类型的内容项(例如,虚拟现实内容项、沉浸式视频等)的访问。例如,该视口可以通过在其中实现了客户端模块114的计算设备(例如,虚拟现实计算设备)的显示器来提供。在一些情况下,计算设备可以运行被配置成呈现内容项的软件应用(例如,社交网络应用)。举例来说,虚拟现实内容的一些示例可以包括使用单视场360度视图合成的视频或者使用立体视场180度视图合成的视频。在各种实施例中,虚拟现实内容项可以在某个时间段上捕获一个或更多个场景的视图(例如,180度视图、225度视图、360度视图等)。这种场景可以从现实世界捕获和/或是计算机生成的。在一些情况下,可以通过将由放置在特定地点和/或位置的摄像机捕获的各种视频流(或信息流)拼接在一起来创建虚拟现实内容项以捕获场景的视图。这些流可以被预先确定用于可在虚拟现实内容项中访问的各种方向,例如,角度(例如,0度、30度、60度等)。拼接在一起后,用户可以访问或呈现虚拟现实内容项,以沿着某个方向(或角度)观看虚拟现实内容项的一部分。向用户显示的虚拟现实内容项的该部分(例如,流)可以基于动态流式传输技术来确定。在一些情况下,虚拟现实内容项可以仅包括一个对应的流,其中基于取决于内容的流式传输技术来强调不同的部分。许多变型是可能的。
在一个示例中,其中实现了客户端模块114的计算设备可以请求呈现虚拟现实内容项(例如,球形视频)。在该示例中,流式传输模块106可以提供将要通过计算设备呈现的虚拟现实内容项的一个或更多个流。在动态流式传输中,所提供的流通常对应于正被访问的虚拟现实内容项中的视口的方向。随着虚拟现实内容项的呈现的进行,客户端模块114可以持续地向内容提供商模块102提供描述视口所朝向的方向的信息。流式传输模块106可以使用该信息来确定向客户端模块114提供哪个流。相反,在取决于内容的流式传输中,流式传输模块106可以提供与要通过计算设备呈现的虚拟现实内容项相关联的流。如上所述,可以基于显著性信息来强调该流的不同区域(或部分)。
在一些实施例中,内容特征模块108提供许多不同的特征来增强内容项的呈现。例如,在一些实施例中,内容特征模块108可以生成显著性预测模型,该模型可以用于识别给定内容项中的显著兴趣点。内容特征模块108可以使用所识别的显著兴趣点来改善内容项的呈现。下面将参考图2提供描述内容特征模块108的更多细节。
图2示出了根据本公开实施例的内容特征模块202的示例。在一些实施例中,可以用内容特征模块202来实现图1的内容特征模块108。如图2的示例所示,内容特征模块202可以包括训练内容模块204、观看跟踪数据模块206、热图数据模块208、显著性模块210和基于观看的投影模块212。
在各种实施例中,训练内容模块204可以被配置成获得将要用于训练一个或更多个模型(例如,显著性预测模型)的内容项。这种内容项可以包括视频(例如,虚拟现实内容项、沉浸式视频等)。通常,虚拟现实内容项(或沉浸式视频)对应于围绕(或包围)观众(或用户)的任何虚拟现实媒体。虚拟现实内容项的一些示例包括球形视频、半球视频(例如,180度视频)、任意部分球、225度视频和3D 360视频。这种虚拟现实内容项不需要局限于使用球形形状格式化的视频,而是也可应用于使用其他形状格式化的沉浸式视频,包括例如立方体、金字塔、以及视频记录的三维世界的其他形状表示。
由训练内容模块204获得的内容项可以根据被训练模型的类型而变化。例如,在一些实施例中,可以使用由各种发布者创建的各种不相关的内容项以及那些内容项的对应的热图数据来训练通用显著性预测模型。在一些实施例中,如下所述,给定内容项的这种热图数据可以基于该内容项的观看跟踪数据来生成。这种通用显著性预测模型可用于确定各种类型的内容项中的显著兴趣点。在一些实施例中,可以使用由给定发布者(例如,内容创建者)发布的内容项以及那些内容项的对应的热图数据来训练特定于发布者的显著性预测模型。这种特定于发布者的显著性预测模型可用于确定该发布者随后发布的内容中的显著兴趣点,该内容中的显著兴趣点最初是未知的。在一些实施例中,可以使用所有对应于给定类别(例如,流派、主题、兴趣等)的内容项以及那些内容项的对应的热图数据来训练特定于类别的显著性预测模型。这种特定于类别的显著性预测模型可用于确定对应于给定类别的新内容项中的显著兴趣点。
在一些实施例中,观看跟踪数据模块206可以被配置成获得用来训练模型的每个内容项的相应观看跟踪数据。例如,可以针对已经访问了内容项的每个用户(或观众)收集给定内容项的观看跟踪数据。用户的观看跟踪数据可以识别在内容项的呈现期间通过用户的视口访问的区域。可以针对每个帧收集对应于内容项的这种观看跟踪数据。在一些实施例中,可以基于内容项呈现期间用户视口的改变来确定内容项的用户观看跟踪数据。视口的这种改变可以使用各种方法来测量,这些方法可以单独使用或组合使用。例如,可以使用传感器数据(例如,陀螺仪数据、惯性测量单元数据等)来测量视口的改变,该传感器数据描述正用于呈现内容项的计算设备的移动。在另一示例中,可以使用手势数据来测量视口的改变,该手势数据描述在内容项呈现期间执行的手势的类型(例如,平移、缩放等)。举例来说,用于测量视口改变的一些其他示例包括使用描述在内容项呈现期间执行的输入操作(例如,鼠标移动、拖动等)的输入设备数据、描述内容项呈现期间视口方向改变的头戴式耳机移动数据、以及在内容项的呈现期间收集的眼睛跟踪数据。
在一些实施例中,热图数据模块208可以被配置成生成(或获得)用来训练模型的每个内容项的热图。在一些实施例中,给定内容项的热图可以基于该内容项的观看跟踪数据来生成。如上所述,观看跟踪数据模块206可以获得观看内容项的用户的相应观看跟踪数据。每个用户的观看跟踪数据可以指示在内容项的呈现期间使用用户的视口访问了给定帧(或一组帧)的哪些区域。也就是说,对于内容项中的任何给定帧,热图数据模块208可以生成(或获得)特定于用户的热图,该热图以图形方式表示给定用户感兴趣的帧中的区域。在一些实施例中,可以为对应于某个时间间隔的一组帧生成热图。例如,可以针对内容项的每一秒生成相应热图。在一些实施例中,给定内容项的特定于用户的热图可以被组合以生成聚集的热图,该聚集的热图表示对应于内容项的帧中聚集的感兴趣区域。因此,例如,特定于用户的相应热图可以逐帧聚集,使得内容项的每一帧与它自己的聚集的热图相关联,该聚集的热图识别帧中的感兴趣区域。这些感兴趣的区域可以对应于各种兴趣点,这些兴趣点显现在帧中并被确定为是观看内容项的一些或所有用户感兴趣的。在一些实施例中,这些感兴趣区域可以对应于各种兴趣点,这些兴趣点显现在帧中并被确定为对与要观看内容项的用户共享一个或更多个公共特征的用户来说是感兴趣的。
在一些实施例中,显著性模块210可以被配置成训练显著性预测模型。在这种实施例中,显著性预测模型可用于识别访问其中显现所识别内容的内容项的给定用户可能感兴趣的内容(例如,兴趣点)。例如,显著性预测模型可以确定用户对显现在内容项的给定帧中的第一兴趣点的兴趣可能超过也显现在该帧中的第二兴趣点。在一些实施例中,使用由训练内容模块204获得的内容项和它们相应的聚集的热图来训练显著性预测模型。例如,在一些实施例中,可以向显著性预测模型提供内容项的每一帧及其对应的聚集热图作为训练示例。在一些实施例中,显著性预测模型使用已经被标识来识别兴趣点的聚集的热图数据进行训练。聚集的热图可用于识别被观看的比其他区域更多的帧的区域。这种观看活动可以使用描述观看区域大小的各种形状和/或指示帧的任何给定区域中观看活动的集中度(concentration)的颜色在聚集的热图中进行表示。基于该信息,显著性预测模型可以学习帧中的哪些像素总体上是用户感兴趣(或相关)的。在一些实施例中,落入聚集的热图中所表示的形状和/或颜色内的帧像素可以被识别为总体上是用户感兴趣(或相关)的。在一些实施例中,这些像素与显现在帧中的兴趣点关联。因此,显著性预测模型可以学习显现在帧中的哪些兴趣点相对于也显现在帧中的其他兴趣点总体上是用户感兴趣的。被训练后,显著性预测模型可以用于识别新内容项中可能会被感兴趣的内容(例如,兴趣点)。在一些实施例中,显著性预测模型可以用于预测存储的内容项(例如,视频点播)的显著兴趣点。在一些实施例中,显著性预测模型可用于预测直播内容项(例如,直播视频广播)的显著兴趣点(例如,可能感兴趣的兴趣点)。在一些实施例中,显著性预测模型可以被训练以输出内容项的对应显著性图。例如,在一些实施例中,显著性预测模型可以为内容项的每一帧输出对应的显著性图。在一些实施例中,给定帧的显著性图可以为该帧中的每个像素分配相应的显著性值。像素的显著性值可以提供与该像素相关联的显著性的度量。在多种实施例中,用于生成显著性预测模型的热图数据,不管是聚集的还是其他的,不必是以图形方式表示的实际热图,而可以是观看跟踪数据的某种表示。例如,在一些实施例中,热图数据可以识别内容项的单个帧内的观看活动集群。在一些实施例中,从热图数据中识别的观看活动集群可以独立地用于识别各种内容项中的显著兴趣点。例如,在一些实施例中,识别直播视频广播期间(例如,在广播的过去n秒上)帧中观看活动集群的热图数据可以用于识别显现在后续帧中的显著兴趣点。许多变型是可能的。
预测内容项中显著内容(例如,兴趣点)的能力提供了许多优点。例如,在一些实施例中,基于观看的投影模块212可以使用显著性信息在呈现期间选择性地增强(或强调)内容(或内容的部分)。下面将参考图3提供描述基于观看的投影模块212的更多细节。
图3出了根据本公开实施例的基于观看的投影模块300的示例。在一些实施例中,可以用基于观看的投影模块300来实现图2的基于观看的投影模块212。如图3的示例所示,基于观看的投影模块300可以包括帧模块302、显著性图模块304、矢量化模块306和投影模块308。
帧模块302可以被配置成获得正被增强的内容项的帧,该帧根据基于观看的投影被增强。在各种实施例中,基于观看的投影模块300可以使用本文描述的基于观看的投影技术来增强(或强调)内容项的帧中的区域。
显著性图模块304可以被配置成获得正被增强的内容项的帧的显著性图。如上所述,这种显著性图可以基于由显著性预测模型生成的信息来确定。在一些实施例中,帧的显著性图可以指示帧中每个像素的相应显著性值。在一些实施例中,像素的显著性值提供了与该像素相关联的显著性的度量。
矢量化模块306可以确定帧的相应的基于矢量的表示。例如,在一些实施例中,矢量化模块306可以将对应于帧的显著性图分割成一组仓。例如,显著性图可以被分割成一组偏航仓(例如,32个偏航仓)和一组俯仰仓(例如,16个俯仰仓)。在这样的实施例中,每个仓可以与它自己对应的矢量和幅度相关联。例如,在一些实施例中,所述一组偏航仓中的每一个可以与范围从负180度到正180度的预定义矢量方向相关联。类似地,所述一组俯仰仓中的每一个可以与范围从负180度到正180度的预定义矢量方向相关联。在多种实施例中,矢量化模块306可以基于显著性图的基于矢量的表示来确定净矢量和幅度。例如,在一些实施例中,矢量化模块306可以通过将帧的基于矢量的表示中每个仓(例如,偏航仓、俯仰仓)的对应矢量和幅度相加来确定帧的净矢量和幅度。在一些实施例中,净幅度被归一化,例如,作为0和1之间的数字。在一些实施例中,净矢量和归一化幅度可以反映观看者(例如,摄像机、计算设备等)在观看帧时预期的位移或偏移量。
投影模块308可以被配置以增强帧。在多种实施例中,投影模块308使用偏移技术实现基于观看的投影。在一些实施例中,偏移技术可被应用以在鉴于矢量化模块306所确定的净矢量和归一化幅度而预期的位移量的基础上来增强帧的不同区域。例如,在这样的实施例中,被增强的帧的球形表示可以被投影。投影模块308然后可以将净矢量和归一化幅度与像素的量(或比例)相关联,以向帧中对应于净矢量和归一化幅度的区域进行分配。下面参考图4D-4E对描述像素分配的更多细节进行描述。在一些实施例中,投影模块308可以应用这种内容增强技术来在桶形布局(或桶形投影)中输出帧412的增强版本,如下面参考图4F-4G所述。许多变型是可能的。
图4A示出了内容项的示例帧412,其包括第一兴趣点414和第二兴趣点416。帧412可以被提供给显著性预测模型,以确定显著兴趣点。在该示例中,显著性预测模型可以确定第二兴趣点416是观看内容项的用户可能感兴趣的显著兴趣点。在一些实施例中,第二兴趣点416可以在内容项的呈现期间被视觉增强。例如,在一些实施例中,对应于帧412的显著性图可以由显著性预测模型来确定。在一些实施例中,显著性图指示帧412中每个像素的相应显著性值。如上所述,像素的显著性值可以提供与该像素相关联的显著性的度量。接下来,可以从显著性图中确定帧412的基于矢量的表示422,如图4B的示例所示。例如,在一些实施例中,显著性图可以被分割成一组偏航仓424和一组俯仰仓426。在这种实施例中,每个仓428可以与它自己对应的矢量430和幅度432(例如,显著性值)相关联。例如,在一些实施例中,所述一组偏航仓中的每一个可以与范围从负180度到正180度的预定义矢量方向相关联。类似地,所述一组俯仰仓中的每一个可以与范围从负180度到正180度的预定义矢量方向相关联。在多种实施例中,净矢量和幅度434可以根据基于矢量的表示422来确定,如图4C的示例所示。例如,帧412的净矢量和幅度434可以通过将基于矢量的表示422中每个仓(例如,偏航仓424、俯仰仓426)的对应矢量和幅度相加来确定。在一些实施例中,净幅度被归一化。
如上所述,在一些实施例中,可以应用偏移技术来基于净矢量和归一化幅度增强帧412的显著区域。例如,在一些实施例中,可以确定正被增强的帧412的球形表示440,如图4D的示例所示。球形表示440可以基于从位于球形表示440的中央的虚拟摄像机442发出的预定数量的光线444被划分成多个区域。在一些实施例中,向球形表示440中的区域(例如,第一兴趣点414或第二兴趣点416)分配的像素量(或比例)至少部分地基于捕获(或完全观看)该区域所需的光线数量来确定。例如,当虚拟摄像机442位于球形表示440的中央时,需要三条光线来捕获第一兴趣点414,并且也需要三条光线来捕获第二兴趣点416,如图4D的示例所示。因此,第一兴趣点414和第二兴趣点416二者被分配相同(或相似)量的像素。在一些实施例中,帧412的净矢量和归一化幅度可用于确定虚拟摄像机442的偏移。换句话说,偏移可以表示虚拟摄像机442为了观看球形表示440中某个区域而预期要移动的方向和幅度。例如,在图4E中,针对帧412确定的偏移(即,净矢量和归一化幅度)用于在球形表示440内重新定位虚拟摄像机442。在该示例中,捕获第一兴趣点414所需的光线数量现在是1,而捕获第二兴趣点416所需的光线数量现在是5。由于捕获第一兴趣点414所需的光线数量从3减少到1,所以可以将较低密度(或数量)的像素分配给帧412中对应于第一兴趣点414的区域。类似地,由于捕获第二兴趣点416所需的光线数量从3增加到5,所以可以将较高密度(或数量)的像素分配给帧412中对应于第二兴趣点416的区域。在多种实施例中,可以在不必增加与帧相关联的总像素计数的情况下,动态执行向帧的不同区域分配(或重新分配)像素。
图4F示出了帧412的示例桶形布局(或桶形投影)450的表示。在一些实施例中,帧412可以表示为桶形布局,其中帧412的顶部部分452(例如,顶部25%)和帧412的底部部分454(例如,底部25%)被格式化为等矩形布局。然后,帧412的剩余中间部分456(例如,场景的中间90度)对应于包含非常均匀的角度样本分布的图像。在一些实施例中,部分456中的区域可以被偏置(例如,拉伸)以增加那些区域中的像素密度。类似地,部分456中的区域可以被偏置(例如,缩减、缩短),以减小那些区域中的像素密度。如上所述,在各种实施例中,针对帧412确定的偏移(即,净矢量和归一化幅度)可以用于增强部分456。在该示例中,偏移指示对应于第二兴趣点416的区域的像素密度应该增加,而对应于第一兴趣点414的区域的像素密度应该减小。相应地,对应于第一兴趣点414的区域可以水平拉伸,如图4G的示例所示。进一步,对应于第一兴趣点414的区域可以水平缩短,也如图4G的示例所示。许多变型是可能的。在多种实施例中,帧412可以使用公知的环境映射技术从其桶形投影450重建。桶形投影450提供多个优点。例如,对于相同的表面积,当与立方体贴图(cube map)相比,桶形投影450在中间90度具有更高的像素密度。针对相同的纹理分辨率,桶形投影450也比立方体贴图压缩得更好,因为桶形投影450针对水平面上的移动重新使用了大量数据。
图4H示出了根据本公开实施例的示例活动图示480。应当认识到,在本文所讨论的各种实施例的范围内,除非另有说明,否则可以以类似的或替代的顺序或者并行地执行额外的、更少的或替代的步骤。
在框482,获得用于训练一个或更多个模型(例如,显著性预测模型)的内容项。如上所述,这种内容项可以包括视频(例如,虚拟现实内容项、沉浸式视频等)。通常,虚拟现实内容项(或沉浸式视频)对应于围绕(或包围)观众(或用户)的任何虚拟现实媒体。虚拟现实内容项的一些示例包括球形视频、半球视频(例如,180度视频)、任意部分球、225度视频和3D 360视频。这种沉浸式视频不需要局限于使用球形形状格式化的视频,而是也可应用于使用其他形状格式化的沉浸式视频,包括,例如立方体、金字塔、以及视频记录的三维世界的其他形状表示。
在框484,获得用于训练模型的每个内容项的相应观看跟踪数据。例如,可以针对访问了内容项的每个用户(或观众)收集给定内容项的观看跟踪数据。用户的观看跟踪数据可以识别在内容项的呈现期间通过用户的视口访问的区域。可以针对每个帧收集对应于内容项的这种观看跟踪数据。在一些实施例中,如上所述,给定内容项的热图可以基于该内容项的观看跟踪数据来生成。例如,可以基于那些用户的相应观看活动为给定的内容项生成特定于用户的热图。在一些实施例中,这种特定于用户的热图可以被组合以生成内容项的聚集的热图。这种聚集的热图可以指示内容项的给定帧中哪些区域对观看该内容项的用户是最受欢迎或最感兴趣的。
在框486,可以生成一个或更多个显著性预测模型。例如,在一些实施例中,如上所述,可以使用描述各种内容项的用户观看跟踪数据的聚集的热图来训练通用显著性预测模型。在一些实施例中,该显著性预测模型可用于在内容项呈现期间预测用户可能感兴趣的内容(例如,兴趣点)。
在框488,如上所述,可以使用基于观看的投影技术来增强内容项。例如,给定内容项的帧中对应于显著兴趣点的区域可以被分配较多的像素,而帧的剩余部分可以被分配较少的像素。许多变型是可能的。
在框490,可以为内容项的帧确定相应的桶形投影。在一些实施例中,为正被增强的内容项的每一帧确定桶形投影。许多变型是可能的。
图5A示出了根据本公开实施例的示例方法500。应当认识到,在本文所讨论的各种实施例的范围内,除非另有说明,否则可以以类似的或替代的顺序或者并行地执行额外的、更少的或替代的步骤。
在框502,内容项的至少一个帧被提供给显著性预测模型,显著性预测模型被训练以识别显现在内容项中的显著兴趣点。在框504,从显著性预测模型获得描述显现在至少一个帧中的至少第一显著兴趣点的信息,其中第一显著兴趣点被预测为是访问该内容项的用户感兴趣的。在框506,将基于观看的投影应用于对应于第一显著兴趣点的区域,其中基于观看的投影增强该区域被呈现的质量。
图5B示出了根据本公开实施例的示例方法550。应当认识到,在本文所讨论的各种实施例的范围内,除非另有说明,否则可以以类似的或替代的顺序或者并行地执行额外的、更少的或替代的步骤。
在框552,至少部分地基于显著性预测模型来确定内容项的帧中的至少一个显著兴趣点,显著性预测模型被训练以识别显现在内容项中的显著兴趣点。在框554,确定帧的桶形投影表示。在框556,基于观看的投影被应用于帧的桶形投影表示。基于观看的投影增强了对应于至少一个显著兴趣点的区域被呈现的质量。
设想可以有与本公开的各种实施例相关联的许多其他用途、应用和/或变型。例如,在一些情形中,用户可以选择是否选择加入(opt-in)以利用所公开的技术。所公开的技术还可以确保各种隐私设置和偏好被维护,并且可以防止隐私信息被泄露。在另一示例中,本公开的各种实施例可以随着时间的推移而学习、改进和/或被完善。
社交网络系统——示例实现方式
图6示出了根据本公开实施例的可以在各种场景中被利用的示例系统600的网络图。系统600包括一个或更多个用户设备610、一个或更多个外部系统620、社交网络系统(或服务)630和网络650。在实施例中,关于上述实施例讨论的社交网络服务、提供者和/或系统可以被实现为社交网络系统630。为了说明的目的,图6所示的系统600的实施例包括单个外部系统620和单个用户设备610。然而在其他实施例中,系统600可以包括更多个用户设备610和/或更多个外部系统620。在某些实施例中,社交网络系统630由社交网络提供者操作,而外部系统620与社交网络系统630分离,因为它们可以由不同的实体操作。然而,在各种实施例中,社交网络系统630和外部系统620协同操作以向社交网络系统630的用户(或成员)提供社交网络服务。在这个意义上,社交网络系统630提供了平台或骨干网,其他系统(例如外部系统620)可以使用该平台或骨干网来通过互联网向用户提供社交网络服务和功能。
用户设备610包括可以接收来自用户的输入并经由网络650来传输并接收数据的一个或更多个计算设备(或系统)。在一个实施例中,用户设备610是执行例如MicrosoftWindows兼容操作系统(OS)、Apple OS X和/或Linux发行版的传统计算机系统。在另一实施例中,用户设备610可以是计算设备,或具有计算机功能的设备,如智能电话、平板电脑、个人数字助理(PDA)、移动电话、膝上型计算机、可佩戴设备(例如,眼镜、手表、手链等)、摄像机、家用电器等。用户设备610被配置成经由网络650进行通信。用户设备610可以执行允许用户设备610的用户与社交网络系统630交互的应用(例如,浏览器应用)。在另一实施例中,用户设备610通过由用户设备610的本机(native)操作系统(例如iOS和ANDROID)提供的应用编程接口(API)来与社交网络系统630交互。用户设备610被配置成使用有线和/或无线通信系统经由网络650来与外部系统620和社交网络系统630进行通信,网络655可以包括局域网和/或广域网的任何组合。
在一个实施例中,网络650使用标准通信技术和协议。因此,网络650可以包括使用诸如以太网、802.11、全球互通微波接入(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包括用于生成并显示具有多个帧(frame)的网页的指令,这些帧包括从外部系统620和社交网络系统630检索的文本和/或图像数据。在多种实施例中,标记语言文档614包括数据文件,该数据文件包括可扩展标记语言(XML)数据、可扩展超文本标记语言(XHTML)数据或其他标记语言数据。此外,标记语言文档614可以包括JavaScript对象简谱(JSON)数据、带填充的JSON(JSONP)和JavaScript数据,以便于在外部系统620和用户设备610之间的数据交换。用户设备610上的浏览器应用612可以使用JavaScript编译器来对标记语言文档614进行解码。
标记语言文档614还可以包括或链接到应用或应用框架,例如FLASHTM或UnityTM应用、SilverlightTM应用框架等。
在一个实施例中,用户设备610还包括一个或更多个cookie 616,cookie616包括指示用户设备610的用户是否登录到社交网络系统630内的数据,这可以实现从社交网络系统630传递到用户设备610的数据的修改。
外部系统620包括一个或更多个web服务器,其包括一个或更多个网页622a、622b,这些网页使用网络650被传递到用户设备610。外部系统620与社交网络系统630分离。例如,外部系统620与第一域相关联,而社交网络系统630与单独的社交网络域相关联。被包括在外部系统620中的网页622a、622b包括标记语言文档614,其识别内容并且包括指定所识别的内容的格式或呈现的指令。如前所述,应当理解,可以有许多变型或其他可能。
社交网络系统630包括用于社交网络(包括多个用户)并且向社交网络的用户提供与社交网络的其他用户通信并交互的能力的一个或更多个计算设备。在一些实例中,社交网络可以由图形(即,包括边和节点的数据结构)表示。其他数据结构也可以用来表示社交网络,包括但不限于数据库、对象、类、meta元素、文件或任何其他数据结构。社交网络系统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分离的、或者经由网络650耦合到社交网络系统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中的节点。该标记动作可以在第一用户和第二用户之间创建边,以及在每个用户和图像之间创建边,图像也是社交图中的节点。在又一示例中,如果用户确认参加事件,则用户和事件是从用户简档储存器636获得的节点,其中事件的参加是在可以从活动日志642检索的节点之间的边。通过生成并维护社交图,社交网络系统630包括描述许多不同类型的对象以及在这些对象当中的交互和关连的数据,提供了社交相关信息的丰富源。
web服务器632经由网络650来将社交网络系统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经由网络650向社交网络系统630发送API请求,并且API请求服务器634接收该API请求。API请求服务器634通过调用与API请求相关联的API来处理该请求以生成适当的响应,API请求服务器634经由网络650来将该响应传递到外部系统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。内容提供商模块646可以,例如,被实现为如图1的内容提供商模块102。在一些实施例中,内容提供商模块646或其一些特征可以在计算设备(例如,用户设备610)中实现。在一些实施例中,用户设备610可以包括客户端模块618。客户端模块618可以,例如,被实现为如图1的客户端模块114。网络650可以,例如,被实现为如图1的网络150。如前所述,应当理解,可以有许多变型或其他可能。
硬件实现方式
前述过程和特征可以由各种机器和计算机系统架构以及在各种网络和计算环境中实现。图7示出了根据本发明实施例的可以用于实现本文描述的一个或更多个实施例的计算机系统700的示例。计算机系统700包括用于使计算机系统700执行本文讨论的过程和特征的指令集。计算机系统700可以连接(例如,联网)到其他机器。在联网部署中,计算机系统700可以在客户端-服务器网络环境中的服务器机器或客户端机器的能力下进行操作,或者作为在对等(peer-to-peer)(或分布式)网络环境中的对等机器来进行操作。在本发明的实施例中,计算机系统700可以是社交网络系统630、用户设备610和外部系统720、或者其部件。在本发明的实施例中,计算机系统700可以是在构成社交网络系统630的全部或部分的许多服务器当中的一个服务器。
计算机系统700包括处理器702、高速缓存704以及存储在计算机可读介质上的指向本文描述的过程和特征的一个或更多个可执行模块和驱动程序。另外,计算机系统700包括高性能输入/输出(I/O)总线706和标准I/O总线708。主桥(host bridge)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)的苹果计算机公司获得Apple Macintosh操作系统、UNIX操作系统、操作系统、BSD操作系统等。其他实现方式是可能的。
将在下面更详细地描述计算机系统700的元件。特别是,网络接口716提供在计算机系统700和各种网络(诸如以太网(例如,IEEE 802.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执行的一系列指令,以执行本文描述的过程和特征中的任一个或更多个。
为了解释的目的,阐述了许多具体细节,以便提供对本描述的透彻理解。然而对于本领域中的技术人员将明显,可以在没有这些具体细节的情况下实践本公开的实施例。在一些实例中,以框图形式示出了模块、结构、过程、特征和设备,以便避免使本描述模糊。在其他实例中,功能框图和流程图被示出为表示数据和逻辑流。框图和流程图的部件(例如,模块、块、结构、设备、特征等)可以以不同于如在本文明确描述并描绘的方式来被不同地组合、分离、移除、重新排序和替换。
在本说明书中对“一个实施例”、“实施例”、“其他实施例”、“一系列实施例”、“一些实施例”、“各种实施例”等的提及意指关于实施例描述的特定特征、设计、结构或特性被包括在本公开的至少一个实施例中。例如,短语“在一个实施例中”或“在实施例中”在说明书中的不同地方中的出现并不一定都指同一实施例,也不是与其他实施例相互排斥的单独的或可选的实施例。此外,无论是否存在对“实施例”等的明确提及,都描述了各种特征,这些特征可以多方面地被组合并且包括在一些实施例中,但是在其他实施例中也可以多方面地被省略。类似地,描述了各种特征,其可以是对于一些实施例而不是其他实施例的优先选择或要求。
本文使用的语言主要为了可读性和教学目的而被选择,并且它可以不被选择为描写或限制创造性主题。因此,意图是本发明的范围不由该详细描述限制,而是由在基于它的申请上发布的任何权利要求进行限制。因此,本发明的实施例的公开旨在是说明性的,但不是对在所附的权利要求中阐述的本发明的范围的限制。

Claims (35)

1.一种计算机实现的方法,包括:
由计算系统向显著性预测模型提供内容项的至少一个帧,所述显著性预测模型被训练以识别显现在内容项中的显著兴趣点;
由所述计算系统从所述显著性预测模型获得描述显现在所述至少一个帧中的至少第一显著兴趣点的信息,其中所述第一显著兴趣点被预测为是访问所述内容项的用户感兴趣的;以及
由所述计算系统将基于观看的投影应用到对应于所述第一显著兴趣点的区域,其中所述基于观看的投影增强所述区域被呈现的质量。
2.根据权利要求1所述的计算机实现的方法,其中,应用所述基于观看的投影还包括:
由所述计算系统获得所述至少一个帧的显著性图;
由所述计算系统确定所述显著性图的基于矢量的表示;
由所述计算系统至少部分地基于所述基于矢量的表示来确定对应于所述至少一个帧的偏移;以及
由所述计算系统至少部分地基于所确定的偏移来增强对应于所述第一显著兴趣点的区域。
3.根据权利要求2所述的计算机实现的方法,其中,所述基于矢量的表示包括一组偏航仓和一组俯仰仓,并且其中每个仓与预定义的矢量和对应的幅度相关联。
4.根据权利要求2所述的计算机实现的方法,其中,至少部分地基于所确定的偏移来增强对应于所述第一显著兴趣点的区域还包括:
由所述计算系统确定所述至少一个帧的球形表示,所述球形表示包括位于所述球形表示的中央的虚拟摄像机;
由所述计算系统至少部分地基于所述偏移来确定所述虚拟摄像机的位移;以及
由所述计算系统至少部分地基于所述虚拟摄像机的位移来确定要为所述区域分配的像素量。
5.根据权利要求4所述的计算机实现的方法,其中,通过增加对应于所述区域的像素密度来增强所述区域。
6.根据权利要求4所述的计算机实现的方法,其中,所述至少一个帧的一个或更多个其他区域的相应像素密度与所述虚拟摄像机的位移成比例地减小。
7.根据权利要求4所述的计算机实现的方法,其中,与所述至少一个帧相关联的总像素计数保持不变。
8.一种系统,包括:
至少一个处理器;以及
存储器,其存储指令,所述指令在由所述至少一个处理器执行时使所述系统执行:
向显著性预测模型提供内容项的至少一个帧,所述显著性预测模型被训练以识别显现在内容项中的显著兴趣点;
从所述显著性预测模型获得描述显现在所述至少一个帧中的至少第一显著兴趣点的信息,其中所述第一显著兴趣点被预测为是访问所述内容项的用户感兴趣的;以及
将基于观看的投影应用到对应于所述第一显著兴趣点的区域,其中所述基于观看的投影增强所述区域被呈现的质量。
9.根据权利要求8所述的系统,其中,应用所述基于观看的投影还使所述系统执行:
获得所述至少一个帧的显著性图;
确定所述显著性图的基于矢量的表示;
至少部分地基于所述基于矢量的表示来确定对应于所述至少一个帧的偏移;以及
至少部分地基于所确定的偏移来增强对应于所述第一显著兴趣点的区域。
10.根据权利要求9所述的系统,其中,所述基于矢量的表示包括一组偏航仓和一组俯仰仓,并且其中每个仓与预定义的矢量和对应的幅度相关联。
11.根据权利要求9所述的系统,其中,至少部分地基于所确定的偏移来增强对应于所述第一显著兴趣点的区域还使所述系统执行:
确定所述至少一个帧的球形表示,所述球形表示包括位于所述球形表示的中央的虚拟摄像机;
至少部分地基于所述偏移来确定所述虚拟摄像机的位移;以及
至少部分地基于所述虚拟摄像机的位移来确定要为所述区域分配的像素量。
12.根据权利要求11所述的系统,其中,通过增加对应于所述区域的像素密度来增强所述区域。
13.根据权利要求11所述的系统,其中,所述至少一个帧的一个或更多个其他区域的相应像素密度与所述虚拟摄像机的位移成比例地减小。
14.根据权利要求11所述的系统,其中,与所述至少一个帧相关联的总像素计数保持不变。
15.一种非暂时性计算机可读存储介质,其包括指令,所述指令在由计算系统的至少一个处理器执行时使所述计算系统执行一种方法,所述方法包括:
向显著性预测模型提供内容项的至少一个帧,所述显著性预测模型被训练以识别显现在内容项中的显著兴趣点;
从所述显著性预测模型获得描述显现在所述至少一个帧中的至少第一显著兴趣点的信息,其中所述第一显著兴趣点被预测为是访问所述内容项的用户感兴趣的;以及
将基于观看的投影应用到对应于所述第一显著兴趣点的区域,其中所述基于观看的投影增强所述区域被呈现的质量。
16.根据权利要求15所述的非暂时性计算机可读存储介质,其中,应用所述基于观看的投影还使所述计算系统执行:
获得所述至少一个帧的显著性图;
确定所述显著性图的基于矢量的表示;
至少部分地基于所述基于矢量的表示来确定对应于所述至少一个帧的偏移;以及
至少部分地基于所确定的偏移来增强对应于所述第一显著兴趣点的区域。
17.根据权利要求16所述的非暂时性计算机可读存储介质,其中,所述基于矢量的表示包括一组偏航仓和一组俯仰仓,并且其中每个仓与预定义的矢量和对应的幅度相关联。
18.根据权利要求16所述的非暂时性计算机可读存储介质,其中,至少部分地基于所确定的偏移来增强对应于所述第一显著兴趣点的区域还使所述计算系统执行:
确定所述至少一个帧的球形表示,所述球形表示包括位于所述球形表示的中央的虚拟摄像机;
至少部分地基于所述偏移来确定所述虚拟摄像机的位移;以及
至少部分地基于所述虚拟摄像机的位移来确定要为所述区域分配的像素量。
19.根据权利要求18所述的非暂时性计算机可读存储介质,其中,通过增加对应于所述区域的像素密度来增强所述区域。
20.根据权利要求18所述的非暂时性计算机可读存储介质,其中,所述至少一个帧的一个或更多个其他区域的相应像素密度与所述虚拟摄像机的位移成比例地减小。
21.一种计算机实现的方法,包括:
由计算系统向显著性预测模型提供内容项的至少一个帧,所述显著性预测模型被训练以识别显现在内容项中的显著兴趣点;
由所述计算系统从所述显著性预测模型获得描述显现在所述至少一个帧中的至少第一显著兴趣点的信息,其中所述第一显著兴趣点被预测为是访问所述内容项的用户感兴趣的;以及
由所述计算系统将基于观看的投影应用到对应于所述第一显著兴趣点的区域,其中所述基于观看的投影增强所述区域被呈现的质量。
22.根据权利要求21所述的计算机实现的方法,其中,应用所述基于观看的投影还包括:
由所述计算系统获得所述至少一个帧的显著性图;
由所述计算系统确定所述显著性图的基于矢量的表示;
由所述计算系统至少部分地基于所述基于矢量的表示来确定对应于所述至少一个帧的偏移;以及
由所述计算系统至少部分地基于所确定的偏移来增强对应于所述第一显著兴趣点的区域。
23.根据权利要求22所述的计算机实现的方法,其中,所述基于矢量的表示包括一组偏航仓和一组俯仰仓,并且其中每个仓与预定义的矢量和对应的幅度相关联。
24.根据权利要求22或23所述的计算机实现的方法,其中,至少部分地基于所确定的偏移来增强对应于所述第一显著兴趣点的区域还包括:
由所述计算系统确定所述至少一个帧的球形表示,所述球形表示包括位于所述球形表示的中央的虚拟摄像机;
由所述计算系统至少部分地基于所述偏移来确定所述虚拟摄像机的位移;以及
由所述计算系统至少部分地基于所述虚拟摄像机的位移来确定要为所述区域分配的像素量。
25.根据权利要求24所述的计算机实现的方法,其中,通过增加对应于所述区域的像素密度来增强所述区域;和/或
其中所述至少一个帧的一个或更多个其他区域的相应像素密度与所述虚拟摄像机的位移成比例地减小;和/或
其中与所述至少一个帧相关联的总像素计数保持不变。
26.一种系统,包括:
至少一个处理器;以及
存储器,其存储指令,所述指令在由所述至少一个处理器执行时使所述系统执行:
向显著性预测模型提供内容项的至少一个帧,所述显著性预测模型被训练以识别显现在内容项中的显著兴趣点;
从所述显著性预测模型获得描述显现在所述至少一个帧中的至少第一显著兴趣点的信息,其中所述第一显著兴趣点被预测为是访问所述内容项的用户感兴趣的;以及
将基于观看的投影应用到对应于所述第一显著兴趣点的区域,其中所述基于观看的投影增强所述区域被呈现的质量。
27.根据权利要求26所述的系统,其中,应用所述基于观看的投影还使所述系统执行:
获得所述至少一个帧的显著性图;
确定所述显著性图的基于矢量的表示;
至少部分地基于所述基于矢量的表示来确定对应于所述至少一个帧的偏移;以及
至少部分地基于所确定的偏移来增强对应于所述第一显著兴趣点的区域。
28.根据权利要求27所述的系统,其中,所述基于矢量的表示包括一组偏航仓和一组俯仰仓,并且其中每个仓与预定义的矢量和对应的幅度相关联。
29.根据权利要求27或28所述的系统,其中,至少部分地基于所确定的偏移来增强对应于所述第一显著兴趣点的区域还使所述系统执行:
确定所述至少一个帧的球形表示,所述球形表示包括位于所述球形表示的中央的虚拟摄像机;
至少部分地基于所述偏移来确定所述虚拟摄像机的位移;以及
至少部分地基于所述虚拟摄像机的位移来确定要为所述区域分配的像素量。
30.根据权利要求29所述的系统,其中,通过增加对应于所述区域的像素密度来增强所述区域;和/或
其中所述至少一个帧的一个或更多个其他区域的相应像素密度与所述虚拟摄像机的位移成比例地减小;和/或
其中与所述至少一个帧相关联的总像素计数保持不变。
31.一种非暂时性计算机可读存储介质,其包括指令,所述指令在由计算系统的至少一个处理器执行时使所述计算系统执行一种方法,所述方法包括:
向显著性预测模型提供内容项的至少一个帧,所述显著性预测模型被训练以识别显现在内容项中的显著兴趣点;
从所述显著性预测模型获得描述显现在所述至少一个帧中的至少第一显著兴趣点的信息,其中所述第一显著兴趣点被预测为是访问所述内容项的用户感兴趣的;以及
将基于观看的投影应用到对应于所述第一显著兴趣点的区域,其中所述基于观看的投影增强所述区域被呈现的质量。
32.根据权利要求31所述的非暂时性计算机可读存储介质,其中,应用所述基于观看的投影还使所述计算系统执行:
获得所述至少一个帧的显著性图;
确定所述显著性图的基于矢量的表示;
至少部分地基于所述基于矢量的表示来确定对应于所述至少一个帧的偏移;以及
至少部分地基于所确定的偏移来增强对应于所述第一显著兴趣点的区域。
33.根据权利要求32所述的非暂时性计算机可读存储介质,其中,所述基于矢量的表示包括一组偏航仓和一组俯仰仓,并且其中每个仓与预定义的矢量和对应的幅度相关联。
34.根据权利要求32或33所述的非暂时性计算机可读存储介质,其中,至少部分地基于所确定的偏移来增强对应于所述第一显著兴趣点的区域还使所述计算系统执行:
确定所述至少一个帧的球形表示,所述球形表示包括位于所述球形表示的中央的虚拟摄像机;
至少部分地基于所述偏移来确定所述虚拟摄像机的位移;以及
至少部分地基于所述虚拟摄像机的位移来确定要为所述区域分配的像素量。
35.根据权利要求34所述的非暂时性计算机可读存储介质,其中,通过增加对应于所述区域的像素密度来增强所述区域;和/或
其中所述至少一个帧的一个或更多个其他区域的相应像素密度与所述虚拟摄像机的位移成比例地减小。
CN201880039963.9A 2017-04-16 2018-04-14 用于提供内容的系统和方法 Active CN110753932B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201762485983P 2017-04-16 2017-04-16
US62/485,983 2017-04-16
US15/953,107 US11182639B2 (en) 2017-04-16 2018-04-13 Systems and methods for provisioning content
US15/953,107 2018-04-13
PCT/US2018/027684 WO2018194941A1 (en) 2017-04-16 2018-04-14 Systems and methods for provisioning content

Publications (2)

Publication Number Publication Date
CN110753932A true CN110753932A (zh) 2020-02-04
CN110753932B CN110753932B (zh) 2023-05-23

Family

ID=63790151

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201880039963.9A Active CN110753932B (zh) 2017-04-16 2018-04-14 用于提供内容的系统和方法
CN201880039996.3A Active CN110754084B (zh) 2017-04-16 2018-04-14 用于提供内容的系统和方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201880039996.3A Active CN110754084B (zh) 2017-04-16 2018-04-14 用于提供内容的系统和方法

Country Status (3)

Country Link
US (2) US10579898B2 (zh)
CN (2) CN110753932B (zh)
WO (2) WO2018194942A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111369304A (zh) * 2020-05-27 2020-07-03 支付宝(杭州)信息技术有限公司 广告页面处理方法、装置、设备和存储介质

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10672164B2 (en) * 2017-10-16 2020-06-02 Adobe Inc. Predicting patch displacement maps using a neural network
US11804007B2 (en) * 2021-03-31 2023-10-31 Disney Enterprises, Inc. 3D digital model surface rendering and conversion
US20230137744A1 (en) * 2021-10-29 2023-05-04 Microsoft Technology Licensing, Llc Deep gradient activation map model refinement

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090003712A1 (en) * 2007-06-28 2009-01-01 Microsoft Corporation Video Collage Presentation
US20110026837A1 (en) * 2009-07-31 2011-02-03 Casio Computer Co., Ltd. Image processing device and method
US20120176471A1 (en) * 2011-01-07 2012-07-12 Cyberlink Corp. Systems and Methods for Performing Video Conversion Based on Non-Linear Stretch Information
CN103218830A (zh) * 2013-04-07 2013-07-24 北京航空航天大学 基于形心跟踪和改进GVF Snake的视频对象轮廓提取方法
US20130336590A1 (en) * 2012-05-03 2013-12-19 Stmicroelectronics S.R.L. Method and apparatus for generating a visual story board in real time
CN104463191A (zh) * 2014-10-30 2015-03-25 华南理工大学 一种基于注意机制的机器人视觉处理方法
CN104574335A (zh) * 2015-01-14 2015-04-29 西安电子科技大学 一种基于显著图和兴趣点凸包的红外与可见光图像融合方法
CN104854619A (zh) * 2012-10-25 2015-08-19 谷歌公司 对社交活动流软张贴
CN104969547A (zh) * 2013-03-12 2015-10-07 英特尔公司 用于3d视觉内容的自动化评估的技术
US20160104055A1 (en) * 2014-10-09 2016-04-14 Adobe Systems Incorporated Image Cropping Suggestion Using Multiple Saliency Maps
CN106060515A (zh) * 2016-07-14 2016-10-26 腾讯科技(深圳)有限公司 全景媒体文件推送方法及装置
KR101681104B1 (ko) * 2015-07-09 2016-11-30 한국외국어대학교 연구산학협력단 부분적 가림을 갖는 영상 객체 내의 주요 특징점 기반 다중 객체 추적 방법
EP3113159A1 (en) * 2015-06-30 2017-01-04 Thomson Licensing Method and device for processing a part of an immersive video content according to the position of reference parts
CN107431803A (zh) * 2015-05-27 2017-12-01 谷歌公司 全景虚拟现实内容的捕捉和渲染

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030095131A1 (en) * 2001-11-08 2003-05-22 Michael Rondinelli Method and apparatus for processing photographic images
US6709116B1 (en) * 2003-03-21 2004-03-23 Mitsubishi Electric Research Laboratories, Inc. Shape-adaptive projector system
KR100739686B1 (ko) 2004-08-13 2007-07-13 경희대학교 산학협력단 영상 코딩 방법, 코딩 장치, 영상 디코딩 방법 및 디코딩장치
US8218895B1 (en) 2006-09-27 2012-07-10 Wisconsin Alumni Research Foundation Systems and methods for generating and displaying a warped image using fish eye warping
EP2215588B1 (en) * 2007-11-28 2012-04-04 Honda Research Institute Europe GmbH Artificial cognitive system with amari-type dynamics of a neural field
US8577156B2 (en) 2008-10-03 2013-11-05 3M Innovative Properties Company Systems and methods for multi-perspective scene analysis
US8175376B2 (en) * 2009-03-09 2012-05-08 Xerox Corporation Framework for image thumbnailing based on visual similarity
JP5702377B2 (ja) 2009-06-29 2015-04-15 トムソン ライセンシングThomson Licensing コード化されていないシンタックスに対する適応型確率更新のための方法および装置
US8649606B2 (en) * 2010-02-10 2014-02-11 California Institute Of Technology Methods and systems for generating saliency models through linear and/or nonlinear integration
US8692867B2 (en) 2010-03-05 2014-04-08 DigitalOptics Corporation Europe Limited Object detection and rendering for wide field of view (WFOV) image acquisition systems
US9282321B2 (en) 2011-02-17 2016-03-08 Legend3D, Inc. 3D model multi-reviewer system
AU2011253982B9 (en) * 2011-12-12 2015-07-16 Canon Kabushiki Kaisha Method, system and apparatus for determining a subject and a distractor in an image
AU2011254040B2 (en) 2011-12-14 2015-03-12 Canon Kabushiki Kaisha Method, apparatus and system for determining a saliency map for an input image
KR20140030668A (ko) * 2012-09-03 2014-03-12 엘지전자 주식회사 이동 단말기 및 그 제어방법
US9055216B1 (en) 2012-11-19 2015-06-09 A9.Com, Inc. Using sensor data to enhance image data
US9129155B2 (en) 2013-01-30 2015-09-08 Aquifi, Inc. Systems and methods for initializing motion tracking of human hands using template matching within bounded regions determined using a depth map
JP2014165841A (ja) 2013-02-27 2014-09-08 Brother Ind Ltd 情報処理装置及び情報処理方法
US9165203B2 (en) 2013-03-15 2015-10-20 Arris Technology, Inc. Legibility enhancement for a logo, text or other region of interest in video
EP2972506B1 (en) 2013-03-15 2020-04-22 Chevron U.S.A., Inc. Beam inversion by monte carlo back projection
US9996797B1 (en) 2013-10-31 2018-06-12 Leap Motion, Inc. Interactions with virtual objects for machine control
CN103778435A (zh) 2014-01-16 2014-05-07 大连理工大学 一种基于视频的行人快速检测方法
US9946795B2 (en) 2014-01-27 2018-04-17 Fujitsu Limited User modeling with salience
US20170078694A1 (en) 2014-03-04 2017-03-16 Mitsubishi Electric Corporation Image encoding apparatus, image decoding apparatus, image encoding method, image decoding method, and computer readable medium
US9665925B2 (en) 2014-06-24 2017-05-30 Xiaomi Inc. Method and terminal device for retargeting images
US20160150212A1 (en) 2014-11-26 2016-05-26 Sony Corporation Live selective adaptive bandwidth
US10038887B2 (en) * 2015-05-27 2018-07-31 Google Llc Capture and render of panoramic virtual reality content
EP3112985A1 (en) * 2015-06-30 2017-01-04 Nokia Technologies Oy An apparatus for video output and associated methods
US9693049B2 (en) 2015-08-28 2017-06-27 Christie Digital Systems Usa, Inc. Projection mapping video pipeline
US10424003B2 (en) 2015-09-04 2019-09-24 Accenture Global Solutions Limited Management of physical items based on user analytics
US10339629B2 (en) * 2015-10-09 2019-07-02 Samsung Electronics Co., Ltd. Method for providing indication in multi-dimensional media in electronic device
US9715638B1 (en) 2015-12-31 2017-07-25 Nokia Technologies Oy Method and apparatus for identifying salient subimages within a panoramic image
US9830529B2 (en) 2016-04-26 2017-11-28 Xerox Corporation End-to-end saliency mapping via probability distribution prediction
US11172005B2 (en) * 2016-09-09 2021-11-09 Nokia Technologies Oy Method and apparatus for controlled observation point and orientation selection audiovisual content
EP3364342A1 (en) * 2017-02-17 2018-08-22 Cogisen SRL Method for image processing and video compression
US10957044B2 (en) * 2017-03-22 2021-03-23 Qualcomm Incorporated Sphere pole projections for efficient compression of 360-degree video
US10839480B2 (en) 2017-03-22 2020-11-17 Qualcomm Incorporated Sphere equator projection for efficient compression of 360-degree video

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090003712A1 (en) * 2007-06-28 2009-01-01 Microsoft Corporation Video Collage Presentation
US20110026837A1 (en) * 2009-07-31 2011-02-03 Casio Computer Co., Ltd. Image processing device and method
US20120176471A1 (en) * 2011-01-07 2012-07-12 Cyberlink Corp. Systems and Methods for Performing Video Conversion Based on Non-Linear Stretch Information
US20130336590A1 (en) * 2012-05-03 2013-12-19 Stmicroelectronics S.R.L. Method and apparatus for generating a visual story board in real time
CN104854619A (zh) * 2012-10-25 2015-08-19 谷歌公司 对社交活动流软张贴
CN104969547A (zh) * 2013-03-12 2015-10-07 英特尔公司 用于3d视觉内容的自动化评估的技术
CN103218830A (zh) * 2013-04-07 2013-07-24 北京航空航天大学 基于形心跟踪和改进GVF Snake的视频对象轮廓提取方法
US20160104055A1 (en) * 2014-10-09 2016-04-14 Adobe Systems Incorporated Image Cropping Suggestion Using Multiple Saliency Maps
CN104463191A (zh) * 2014-10-30 2015-03-25 华南理工大学 一种基于注意机制的机器人视觉处理方法
CN104574335A (zh) * 2015-01-14 2015-04-29 西安电子科技大学 一种基于显著图和兴趣点凸包的红外与可见光图像融合方法
CN107431803A (zh) * 2015-05-27 2017-12-01 谷歌公司 全景虚拟现实内容的捕捉和渲染
EP3113159A1 (en) * 2015-06-30 2017-01-04 Thomson Licensing Method and device for processing a part of an immersive video content according to the position of reference parts
KR101681104B1 (ko) * 2015-07-09 2016-11-30 한국외국어대학교 연구산학협력단 부분적 가림을 갖는 영상 객체 내의 주요 특징점 기반 다중 객체 추적 방법
CN106060515A (zh) * 2016-07-14 2016-10-26 腾讯科技(深圳)有限公司 全景媒体文件推送方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
QINGPENG XIE ET AL.: "OMAF VDC CE:Experimentation conditions on viewport dependent omnidirectional video coding considering SHVC", 《118. MPEG MEETING》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111369304A (zh) * 2020-05-27 2020-07-03 支付宝(杭州)信息技术有限公司 广告页面处理方法、装置、设备和存储介质

Also Published As

Publication number Publication date
WO2018194941A1 (en) 2018-10-25
WO2018194942A1 (en) 2018-10-25
CN110753932B (zh) 2023-05-23
US20180300584A1 (en) 2018-10-18
CN110754084A (zh) 2020-02-04
US10579898B2 (en) 2020-03-03
CN110754084B (zh) 2021-09-10
US20180300848A1 (en) 2018-10-18
US11182639B2 (en) 2021-11-23

Similar Documents

Publication Publication Date Title
US10657667B2 (en) Systems and methods for content streaming
US10657702B2 (en) Systems and methods for content streaming
US10645376B2 (en) Systems and methods for presenting content
US10692187B2 (en) Systems and methods for presenting content
US10445614B2 (en) Systems and methods for evaluating content
US10542328B2 (en) Systems and methods for providing content
CN110754084B (zh) 用于提供内容的系统和方法
US11688072B2 (en) Systems and methods for processing content
US10362265B2 (en) Systems and methods for presenting content
US10484675B2 (en) Systems and methods for presenting content
US20220092332A1 (en) Systems and methods for provisioning content
US11166080B2 (en) Systems and methods for presenting content
US20180183845A1 (en) Systems and methods for providing content
US20180300747A1 (en) Systems and methods for providing demographic analysis for media content based on user view or activity
US11386607B1 (en) Systems and methods for capturing content
EP3388955A1 (en) Systems and methods for presenting content
EP3389281B1 (en) Systems and methods for provisioning content
EP3389282B1 (en) Systems and methods for provisioning content
US20190200088A1 (en) Systems and methods for presenting content

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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: California, USA

Applicant after: Yuan platform Co.

Address before: California, USA

Applicant before: Facebook, Inc.

GR01 Patent grant
GR01 Patent grant