CN108293152A - 球形视频映射 - Google Patents

球形视频映射 Download PDF

Info

Publication number
CN108293152A
CN108293152A CN201680067976.8A CN201680067976A CN108293152A CN 108293152 A CN108293152 A CN 108293152A CN 201680067976 A CN201680067976 A CN 201680067976A CN 108293152 A CN108293152 A CN 108293152A
Authority
CN
China
Prior art keywords
face
spherical
items
media content
viewport
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
CN201680067976.8A
Other languages
English (en)
Other versions
CN108293152B (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 CN108293152A publication Critical patent/CN108293152A/zh
Application granted granted Critical
Publication of CN108293152B publication Critical patent/CN108293152B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/10Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/08Projecting images onto non-planar surfaces, e.g. geodetic screens
    • 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/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/21805Source of audio or video content, e.g. local disk arrays enabling multiple viewpoints, e.g. using a plurality of cameras
    • 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/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/23439Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements for generating different versions
    • 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/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2387Stream processing in response to a playback request from an end-user, e.g. for trick-play
    • 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/27Server based end-user applications
    • H04N21/274Storing end-user multimedia data in response to end-user request, e.g. network recorder
    • H04N21/2743Video hosting of uploaded data from client
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • H04N21/4351Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream involving reassembling additional data, e.g. rebuilding an executable program from recovered modules
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/438Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving encoded video stream packets from an IP network
    • H04N21/4383Accessing a communication channel
    • H04N21/4384Accessing a communication channel involving operations to reduce the access time, e.g. fast-tuning for reducing channel switching latency
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44004Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/4728End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for selecting a Region Of Interest [ROI], e.g. for requesting a higher resolution version of a selected region
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6587Control parameters, e.g. trick play commands, viewpoint selection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/04Indexing scheme for image data processing or generation, in general involving 3D image data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/61Network physical structure; Signal processing
    • H04N21/6106Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
    • H04N21/6125Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving transmission via Internet
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Geometry (AREA)
  • Human Computer Interaction (AREA)
  • Computer Graphics (AREA)
  • Databases & Information Systems (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Processing Or Creating Images (AREA)
  • Information Transfer Between Computers (AREA)
  • Image Generation (AREA)
  • Computer Vision & Pattern Recognition (AREA)

Abstract

系统、方法、以及非暂时性计算机可读介质可以获得从多个不同的位置捕获至少一个场景的球形媒体内容项。确定具有多个面的三维形状,每个面与相应的一组原始边界相关联。确定多个面中的一个或多个面的相应的一组扩展边界。将球形媒体内容项的相应部分映射至一个或多个面中的每一个,其中,球形媒体内容项的第一部分映射至具有一组扩展边界的第一面。

Description

球形视频映射
技术领域
本技术涉及内容流的领域。更具体地,本技术涉及用于编码并且流传送球形或三维(3D)内容的技术。
发明内容
本公开的各种实施方式可以包括被配置为确定要呈现的至少一个内容项的系统、方法、以及非暂时性计算机可读介质,内容项是使用从多个不同的位置捕获至少一个场景的一组内容流组成的。确定用于呈现内容项的视口界面,其中,视口界面与视口形状相关联。通过显示器提供视口界面,其中,通过视口界面呈现至少一个内容流,并且其中,以第一内容质量呈现内容流的与视口形状内部的区域相对应的一部分。
在一些实施方式中,以低于第一内容质量的第二内容质量呈现内容流的与视口形状外部的区域相对应的另一部分。
在一些实施方式中,系统、方法、以及非暂时性计算机可读介质被配置为获得描述访问内容项的用户的观看模式的信息并且至少部分基于观看模式确定视口形状,观看模式是至少部分基于由用户访问的一个或多个其他内容项来确定的。
在一些实施方式中,观看模式对应于在内容项的至少一部分的播放期间视口界面的方向上的改变。
在一些实施方式中,系统、方法、以及非暂时性计算机可读介质被配置为获得描述访问内容项的多个用户的聚合观看模式的信息并且至少部分基于聚合观看模式确定视口形状。
在一些实施方式中,系统、方法、以及非暂时性计算机可读介质被配置为确定视口形状降低在内容项的播放期间内容流切换的速率。
在一些实施方式中,视口形状对应于菱形、椭圆形、矩形、以及另一多边形中的一项。
在一些实施方式中,该组内容流共同捕获360度的场景视图。
在一些实施方式中,至少部分基于视口界面相对于场景的方向来选择通过视口界面呈现的至少一个内容流。
在一些实施方式中,系统、方法、以及非暂时性计算机可读介质被配置为确定视口界面的方向上的改变,确定改变后的方向与在第二内容流中捕获的场景的不同部分相对应,并且通过视口界面提供第二内容流。
本公开的各种实施方式可包括被配置为获得从多个不同的位置捕获至少一个场景的球形媒体内容项的系统、方法、以及非暂时性计算机可读介质。确定具有多个面的三维对象,每个面与相应的一组原始边界相关联。确定针对多个面中的一个或多个面的相应的一组扩展边界。将球形媒体内容项的相应部分映射至一个或多个面中的每一个,其中,球形媒体内容项的第一部分映射至具有一组扩展边界的第一面。
在一些实施方式中,至少部分基于调整后的映射角确定对应于第一面的扩展边界。
在一些实施方式中,系统、方法、以及非暂时性计算机可读介质被配置为至少部分基于与第一面相对应的一组原始边界确定用于将球形媒体内容项的第一部分投射至三维对象的第一面的映射角并且调整该映射角,其中,以调整后的映射角将球形媒体内容项的第一部分投射到第一面上。
在一些实施方式中,调整后的映射角大于映射角。
在一些实施方式中,系统、方法、以及非暂时性计算机可读介质被配置为使球形媒体内容项的第二部分投射至三维对象的第二面,第二面具有一组扩展边界,其中,第二面邻近于第一面,并且其中,所投射的第一部分和所投射的第二部分至少部分地重叠。
在一些实施方式中,三维对象是立方体,并且其中,球形媒体内容项的相应部分被映射至立方体的每个面。
在一些实施方式中,球形媒体内容项的顶视图部分被映射至立方体中的顶视图正方形,球形媒体内容项的左视图部分被映射至立方体中的左视图正方形,球形媒体内容项的右视图部分被映射至立方体中的右视图正方形,球形媒体内容项的前视图部分被映射至立方体中的前视图正方形,球形媒体内容项的后视图部分被映射至立方体中的后视图正方形,并且球形媒体内容项的底视图部分被映射至立方体中的底视图正方形。
在一些实施方式中,系统、方法、以及非暂时性计算机可读介质被配置为将图像模糊处理应用于第一面的至少一部分。
在一些实施方式中,系统、方法、以及非暂时性计算机可读介质被配置为将低通滤波器应用于第一面的一部分。
在一些实施方式中,系统、方法、以及非暂时性计算机可读介质被配置为将模糊应用于第一面的一部分。
本公开的各种实施方式可以包括被配置为获得从多个不同的位置捕获至少一个场景的球形媒体内容项。确定具有会聚在一点的多个面的三维对象。将球形媒体内容项的至少第一部分映射至多个面中的至少第一面。
在一些实施方式中,系统、方法、以及非暂时性计算机可读介质被配置为使球形媒体内容项的第一部分被投射到第一面上。
在一些实施方式中,第一部分对应于场景的第一视图,并且其中,第一面对应于三维对象的基部区域。
在一些实施方式中,系统、方法、以及非暂时性计算机可读介质被配置为将球形媒体内容项的第二部分投射到多个面中的第二面上,其中,第二面对应于三维对象的侧面区域。
在一些实施方式中,被投射到第一面上的第一部分比被投射到第二面上的第二部分具有更高的图形质量。
在一些实施方式中,由于第二面在该点会聚,第二部分被投射到第二面上的图形质量变得逐渐降低。
在一些实施方式中,三维对象包括与多个面连接的基部,并且其中,多个面会聚在顶点。
在一些实施方式中,三维对象是金字塔形,并且其中,基部对应于菱形。
在一些实施方式中,三维对象是锥形,并且其中,基部对应于椭圆形。
在一些实施方式中,三维对象对应于泪滴形。
应当理解,从附图以及下面的具体描述中所公开的技术的许多其他特征、应用、实施方式、和/或变化将是显而易见的。在不偏离所公开的技术的原理的情况下,可以采用本文中描述的结构、系统、非暂时性计算机可读介质以及方法的另外的和/或可替换的实现方式。
在所附权利要求中特别地公开了根据本发明的实施方式,该实施方式指向一种方法、存储介质、系统和计算机程序产品,其中,在一个权利要求范畴(例如,方法)中提及的任何特征也可以在另一个权利要求范畴(例如,系统)中要求保护。仅为了形式原因而选择了所附权利要求中的从属关系或者后向引用。然而,也可要求保护由有意后向引用任何先前的权利要求(具体地,多个从属权利要求)而导致的任何主题内容,使得权利要求及其特征的任何组合被公开并且可被要求保护,而不管在所附权利要求中选择的从属关系。可以要求保护的主题内容不仅包括所附权利要求中阐述的特征的组合而且包括权利要求中的特征的任何其他组合,其中,权利要求中提及的每个特征都可以与任何其他特征或者权利要求中的其他特征的组合相结合。此外,本文中描述或者描绘的任何实施方式和特征可以在单独权利要求中和/或在与本文中描述或描绘的任何实施方式或特征或者与所述权利要求的任何特征的任何组合中要求保护。
附图说明
图1A至图1E示出了根据本公开的实施方式的流传送球形视频的实例。
图2A至图2D示出了根据本公开的实施方式的基于用户行为生成球形视频的新流的实例。
图3A至图3B示出了根据本公开的实施方式的基于社交预测数据的流传送球形视频的实例。
图4A示出了根据本公开的实施方式的与利用多边形媒体映射相关联的示例性情形。
图4B示出了根据本公开的实施方式的与利用用于多边形媒体映射的边扩展相关联的示例性情形。
图4C示出了根据本公开的实施方式的与利用用于多边形媒体映射的边扩展相关联的示例性情形。
图4D示出了根据本公开的实施方式的与利用用于多边形媒体映射的边扩展相关联的示例性情形。
图4E示出了根据本公开的实施方式的与利用用于多边形媒体映射的边扩展相关联的示例性情形。
图5A示出了根据本公开的实施方式的与利用多边形媒体映射相关联的示例性情形。
图5B示出了根据本公开的实施方式的与利用多边形媒体映射相关联的示例性情形。
图5C示出了根据本公开的实施方式的与利用多边形媒体映射相关联的示例性情形。
图5D示出了根据本公开的实施方式的与利用多边形媒体映射相关联的示例性情形。
图6A示出了根据本公开的实施方式的与利用会聚点将球形媒体映射至三维几何对象相关联的示例性情形。
图6B示出了根据本公开的实施方式的与利用会聚点将球形媒体映射至三维几何对象相关联的示例性情形。
图6C示出了根据本公开的实施方式的与利用会聚点将球形媒体映射至三维几何对象相关联的示例性情形。
图6D示出了根据本公开的实施方式的与利用会聚点将球形媒体映射至三维几何对象相关联的示例性情形。
图6E示出了根据本公开的实施方式的与利用会聚点将球形媒体映射至三维几何对象相关联的示例性情形。
图6F示出了根据本公开的实施方式的与利用会聚点将球形媒体映射至三维几何对象相关联的示例性情形。
图7示出了根据本公开的实施方式的用于呈现内容的示例性方法。
图8示出了根据本公开的实施方式的用于呈现内容的另一示例性方法。
图9示出了根据本公开的实施方式的用于呈现内容的又一示例性方法。
图10示出了根据本公开的实施方式的可在各种情形中利用的包含示例性社交网络系统的示例性系统的网络图。
图11示出了根据本公开的实施方式的可在各种情形中利用的计算机系统或计算装置的实例。
附图仅出于说明的目的描述了所公开技术的各种实施方式,其中,附图使用相同的参考标号来表示相同的元件。本领域的技术人员将从以下讨论中容易认识到,在不背离本文中描述的所公开技术的原理的情况下,可以采用在图中示出的结构和方法的可替换的实施方式。
具体实施方式
内容流传送
人们出于各种目的使用计算系统(或装置)。用户可利用他们的计算系统建立连接、进行通信、相互交互、和/或与各种类型的内容交互。在一些情况下,计算装置可被配置为提供球形媒体内容,诸如,球形视频。例如,虚拟现实(VR)计算装置可被配置为显示球形媒体内容。当虚拟现实计算装置(例如,耳机、眼镜等)的用户转动他或她的头部时,可相应地调整用户的球形媒体内容的视图或显示区域。在另一实例中,移动或可穿戴计算装置(诸如,智能电话、平板电脑或智能手表)可被配置为显示球形媒体内容。移动或可穿戴计算装置在位置上的移动或变化会引起球形媒体内容的显示部分也要被修改。在又一实例中,台式计算装置可显示球形媒体内容。基于经由台式计算装置的输入机构(例如,鼠标、键盘)的命令或交互,球形媒体内容的显示或可视部分可相应改变。
在一些情况下,植根于用于媒体处理的计算机技术的常规方法为了数据效率的目的可尝试诸如经由球形投影技术将球形媒体内容项(例如,球形图像、球形视频等)映射到矩形上。然而,当映射到矩形上时,球形投影可能导致球形媒体内容项在表示时被不期望地失真。此外,在一些情况下,植根于用于媒体处理的计算机技术的常规方法可尝试诸如经由立方体映射技术将球形媒体内容项映射到三维立方体上。例如,球形媒体内容项的对应部分可被映射到立方体的六个面(例如,内表面)上。然而,根据这种常规方法,当六个面连接在一起以形成球形媒体内容项的立方体表示时,可能存在六个面的边连接处的不期望的可见接缝和/或失真。
由于这些担忧或其他担忧,常规方法可能是不利的或是有问题的。因此,用于解决或缓和与常规方法相关联的各种缺点的改进的方法可以是有利的。在一个实例中,所公开的技术能够利用球形媒体映射的多边形边扩展。本公开的各种实施方式可以获取(即,检索、接收、识别、选择、访问等)球形媒体内容项。可以选择(即,限定、预设、识别等)包含多个多边形面的三维几何对象。每个多边形面包含的相应的一组边可向外扩展以产生每个多边形面包含的相应的一组扩展边。球形媒体内容项的相应部分可以映射至包含相应的该组扩展边的每个多边形面。包含第一组扩展边的至少第一多边形面可连接至包含第二组扩展边的至少第二多边形面以产生球形媒体内容项的表示的至少一部分。本文中还描述了克服通常在常规方法中出现的缺点的其他改进的方法。
图1A至图1E示出了根据本公开的实施方式流传送球形视频的实例。图1A示出了显示球形视频的视频流106的一部分的视口104的实例100。视口104在图1A的图中被示出为位于球形视频的表示102以内以便于理解本文中描述的各种实施方式。在一些实施方式中,球形视频捕获360度的三维场景视图。球形视频可由单个照相机创建,或者通过将由放置在不同位置和/或地点以捕获360度的场景视图的照相机捕获的各种视频流或馈送拼接在一起来创建。
一旦拼接在一起,用户可通过视口104访问或播放球形视频以便以某一角度观看球形视频的一部分。例如,可通过台式计算机、膝上计算机、移动装置(诸如移动电话或平板电脑)、和/或虚拟现实系统或头戴式显示器上的视频播放器软件观看视口104。如由表示102所示出的,拼接的球形视频可被投射为球面。通常,在访问球形视频时,用户可以改变视口104的方向(例如,俯仰、偏转、滚转)以访问由球形视频捕获的场景的另一部分。图1B示出了视口154的方向在向上运动中已改变(例如,与视口104相比)的实例150,并且因此,通过视口154访问的球形视频的视频流156已更新(例如,与视频流106相比)以示出球形视频的对应于更新的视口方向的部分。
可以根据实现方式以各种方式改变视口104的方向。例如,在通过在计算装置上运行的视频播放器访问球形视频时,用户可以使用鼠标或者类似装置或者通过由计算装置识别的手势来改变视口104的方向。随着方向改变,可例如从内容提供商系统向视口104提供与该方向对应的流,内容提供商系统例如可以远程托管在一个或多个服务器上。在另一实例中,在通过移动装置的显示屏幕访问球形视频时,用户可以通过改变例如使用移动装置中的陀螺仪、加速计、触摸传感器和/或惯性测量单元所确定的移动装置的方向(例如,俯仰、偏转、滚转)来改变视口104的方向。此外,如果通过虚拟现实头戴式显示器访问球形视频,则用户可以通过改变用户头部的方向(例如,俯仰、偏转、滚转)来改变视口104的方向。自然地,可以利用其他方法(包括例如触摸屏或其他合适的手势)操纵球形视频的播放。
如所提到的,可通过将在各个位置拍摄的场景的照相机馈送拼接在一起来创建场景的球形视频。当改变视口104的方向时,可向视口104提供可由拍摄场景的一个或多个照相机馈送组成的球形视频的流。可以针对球形视频的各种角度(例如,0度、30度、60度等)预先确定这种流并且可以基于其方向(例如,考虑整个360度场景内的角度和位置中的一者或两者)向该视口提供合适的流。
在一些实施方式中,例如,可以基于所确定的视口104的方向实时提供由内容提供商系统提供的流。例如,当视口104的方向改变为新位置时,通过其访问视口104的计算装置和/或内容提供商系统可以确定视口104的新位置并且内容提供商系统可以向计算装置发送对应于新位置的流数据。因此,在这种实施方式中,实时(例如,持续或以指定的时间间隔)监控视口104位置上的每个改变并且将与改变相关联的信息提供至内容提供商系统使得内容提供商系统可以发送对应于方向改变的合适的流。
在一些实施方式中,如在图1C至图1E中示出的,可基于或者部分基于视口形状来调整所提供的流(例如,数据、比特等)。在一些实施方式中,基于观看球形视频的方向(例如,角度)和用于该视口的形状来确定球形视频的视口。例如,视口可以与反映通过球形视频捕获的场景的普通观看模式的形状相关联。在各种实施方式中,视口形状边界内的视频内容(例如,像素)可以以较高的编码或比特率被流传送,使得用户在对应于普通观看模式的场景的区域中可以看见较高质量的内容,而在用户通常不观看的场景的区域中提供较低质量的内容。在各种实施方式中,可以针对特定用户和/或球形视频定制视口形状。此外,不同的视口形状可以用于给定的球形视频的不同部分。例如,可以通过分析个人用户的观看模式和/或通过作为总体分析各种球形视频的用户观看模式来确定这种视口形状。当分析观看模式时,计算系统可以分析用户在某一时间段或贯穿整个球形视频的播放期间对视口的方向做出的改变。这种改变可以是用户通过使用鼠标或者手势、通过改变移动装置的方位、或者改变虚拟现实头戴式显示器的方位(例如,如通过头部追踪信息所确定的俯仰、偏转、滚转的改变)来改变视口的方向的结果。在一些实施方式中,可以部分地基于针对每个时间间隔(例如,一秒)利用不同的视口形状的成本函数来确定视口形状。例如,成本函数可基于利用在球形视频的播放期间降低流切换的速率的视口形状。在一个实例中,如果视口形状使得流经常切换(例如,由于视口形状太小),那么可能需要下载更多的数据以便于连续的视频播放。这可能导致用户的次优观看体验。
图1C示出了示例性场景160,针对其可以确定观看场景160的用户通常呈现垂直和水平观看模式而不观看场景的角落。在该实例中,基于用户行为,可以利用菱形视口形状162使得在视口形状边界162内的视频内容可以以较高的质量(例如,比特率)流传送,而在视口形状162外部164的视频内容可以以较低的质量(例如,比特率)流传送。
图1D示出了针对其使用椭圆形的视口形状172的示例性场景170。例如,当确定观看球形视频的用户通常从左到右改变视口的位置(例如,多于竖直地改变位置)时,可以利用椭圆形的视口形状172。在该实例中,场景170的视频内容可以在视口172内部以较高的质量(例如,比特率)流传送,而视口形状172外部174的视频内容可以以较低的质量流传送。
图1E示出了针对其使用矩形的视口形状182的示例性场景180。在该实例中,场景180的视频内容可以在视口182内部以较高的质量(例如,比特率)流传送,而视口形状182外部184的视频内容可以以较低的质量流传送。
图2A至图2D示出了根据本公开的实施方式的基于用户行为生成球形视频的新流的实例。如所提到的,可通过将在各个位置拍摄的场景的照相机馈送拼接在一起来创建场景的球形视频。当通过视口访问球形视频时,可以向视口提供与球形视频中的视口的方向(包括,例如,角度或位置)相对应的流。所提供的流可以由所拍摄的场景的一个或多个照相机馈送组成。可以针对球形视频的各种角度(例如,0度、30度、60度等)预先确定这种流并且可以基于其方向来向视口提供合适的流。
图2A示出了球形视频的示例性示图202。示图202以二维形式提供以便于理解本文中描述的各种实施方式。如图2A所示,示例性球形视频由流204、206、208以及210组成。内容提供商系统可以基于与计算装置相关联的视口212的方向来确定将哪个流发送给计算装置。在一个实例中,如在图2B中示出的,视口232面向对应于与流226相关联的方向的方向。在该实例中,内容提供商系统可以发送与要通过视口232呈现的流226相对应的数据。所示出的流的数量仅用作实例并且针对给定的球形视频可以利用任意数量的流。
在一些实施方式中,可以至少部分基于用户观看模式来精炼或调整球形视频的流(例如,流的角度)。例如,图2C示出了由流246、248、250以及252组成的球形视频的示图242。如所示,视口244面向两个流246与248之间的方向。在视口244面向流之间的方向的情况下,所呈现的球形视频的质量和/或体验可能下降。因此,在一些实施方式中,如图2C所示,例如,如果确定阈值数量的用户要观看现有的流246、248、250或252没有很好地服务的球形视频的区域或方向,那么可针对与正在观看的区域或者方向相对应的方向的球形视频生成附加流。例如,可以做出确定:具有对应于第一方向(例如,0度)的第一流和对应于第二方向(例如,30度)的第二流的球形视频需要生成对应于第三方向(例如,15度)的第三流来提高用户观看体验。图2D示出了球形视频的示例性视图262,其中,图2C的流246和248的角度已被调整为流266和270,伴随与先前在图2C的实例中不可用的区域的角度或观看方向相对应的附加流268。
图3A至图3B示出了根据本公开的实施方式的基于社交预测数据的流传送球形视频的实例。在一些实施方式中,可以作为总体测量并且评估访问球形视频时各个用户对视口方向做出的改变。这些总体改变可以用于确定用户在给定播放时间观看球形视频时通常将视口定位在的方向。这些确定的方向可以用于为还没观看过球形视频的用户预测用户在给定的时间可能将视口定位在什么方向。例如,通过在视口方向改变为该方向之前发送针对特定方向的合适的流数据(例如,在流使用之前缓冲流),可以利用这种预测来增强视频的播放。例如,可以做出确定:在观看球形视频时,百分之70的用户在播放5秒的时间(即,播放了球形视频5秒)将观看方向从视口A开始改成视口B,而百分之30的用户在播放5秒的时间将观看方向从视口A开始改成视口C。在该实例中,视口A对应于球形视频的第一观看方向,视口B对应于球形视频的第二观看方向,并且视口C对应于球形视频的第三观看方向。在各种实施方式中,这种用户数据可用于生成概率转换映射(例如,马尔可夫模型),该概率转换映射提供在给定的播放时间观看第一视口方向的用户转换为第二视口方向的可能性。
例如,图3A示出了通过监控并且测量用户在观看球形视频302时对视口方向做出的改变而生成的针对球形视频302的概率转换映射304的示例性部分。概率转换映射中包括的视口的数量以及进行转换的间隔可以根据所使用的实现方式或模型而改变。例如,概率转换映射可以包括在球形视频的播放时间的每一秒的几个视口的转换信息。在该实例中,概率转换映射304指示在播放时间0秒在视口A(VA)观看球形视频的用户有百分之90可能在播放时间5秒仍观看视口A并且这样的用户有百分之10可能在播放时间5秒进行转换以切换至观看视口B(VB)。概率转换映射304还指示在播放时间0秒在视口B观看球形视频的用户有百分之85可能在播放时间5秒转换为视口A并且这样的用户有百分之15可能在播放时间5秒仍观看视口B。在该实例中,可以确定在播放时间0秒访问视口A或视口B的用户很可能在播放时间5秒访问视口A。
在各种实施方式中,可以利用球形视频的概率转换映射来预测在任何给定的播放时间用户对球形视频的观看方向。可利用这种信息来改进正通过其访问球形视频的计算装置(例如,移动装置、虚拟现实头戴式设备等)与内容提供商系统之间的视频内容的流传送。如在图3B中示出的,在一些实施方式中,计算装置350和内容提供商系统354两者可以利用计算装置350正在访问的球形视频的概率转换映射。在一个实例中,例如,内容提供商系统354可以使用概率转换映射来确定应当将球形视频的哪些视口或流缓存到内容提供商系统354正使用的数据储存器356中,使得这种数据可以被迅速提供给合适的计算装置。类似地,在一些实施方式中,计算装置350可以利用概率转换映射来请求并且缓冲访问计算装置350的用户在某个时间段可能观看的视口或流。例如,如果概率转换映射指示在播放时间1秒注视球形视频的视口A的百分之99的用户将会在播放时间5秒继续注视视口A,那么计算装置350可以请求和/或缓冲对应于视口A的数据。在另一实例中,如果概率转换映射指示在播放时间1秒注视视口A的百分之50的用户将会在播放时间5秒注视视口A并且在播放时间1秒注视视口A的百分之40的用户将会在播放时间5秒注视视口B,那么计算装置350可以请求和/或缓冲对应于视口A和视口B两者的数据。
如所提到的,可通过总体分析用户观看模式来生成对于给定球形视频的概率转换映射。然而,在一些实施方式中,可以用与例如表现出类似的观看模式或表现出任何其他类似的特性(例如,人口统计,包括地理位置、年龄、动作或者对社交网络系统表达的兴趣等)的特定组的用户相对应的每个概率转换映射来生成对于给定球形视频的多个概率转换映射。在一个实例中,可能存在一组用户更喜欢观看动作场景而另一组用户更喜欢观看舞台场景。在一些实施方式中,可以基于在给定的播放时间观看的用户与哪些视口相关联而应用聚类算法将这样的用户分成单独的组。单独的概率转换映射可以被确定并且用于这样的组的用户。例如,如果已知通过计算装置350访问球形视频的用户属于在特定播放时间更喜欢观看视频的某个流或视口的一组用户,那么计算装置350可以被配置为利用这种信息定制在特定播放时间请求和/或缓冲该流或视口。类似地,内容提供商系统354可以基于这种信息优化对相关流或视口的缓存。
在一些实施方式中,本文中描述的方法可以应用于不能播放球形视频和/或利用虚拟现实设备的传统客户端(例如,视频播放器)。在一个实例中,这种传统客户端的视口可以基于由贯穿球形视频的时间轴的阈值数量的用户观看的球形视频的方向来确定。例如,可以使用针对球形视频已确定的概率转换映射确定这种信息。针对传统客户端确定的视口因此可以随着时间推移在球形视频内移动,使得即使没有能够处理球形视频的视频播放器传统客户端也仍然可以看到球形视频的相关部分。
图4A示出了根据本公开的实施方式的与利用多边形媒体映射相关联的示例性情形400。示例性情形400示出了三维立方体对象404内的球形媒体内容项402,球形媒体内容项402例如出于数据效率的目的被映射到三维立方体对象404上。在一些情况下,球形媒体内容项402可以对应于球形视频(例如,360度的球形视频)。如所示,三维立方体对象404可以由六个面或表面(例如,正方形)形成,包括前面406。
在一些实施方式中,球形视频402的前部部分可以映射到立方体对象404的前面406上。类似地,球形视频402的后部部分可以映射到立方体对象404的后面。球形视频402的顶部部分可以映射到立方体对象404的顶面上。球形视频402的底部部分可以映射到立方体对象404的底面上。球形视频402的左侧部分可以映射到立方体对象404的左面上。球形视频402的右侧部分可以映射到立方体对象404的右面上。
图4B示出了根据本公开的实施方式的与利用用于多边形媒体映射的边扩展相关联的示例性情形420。示例性情形420示出了图4A的球形媒体内容项402和三维立方体对象404(即,立方体)的截面图。在一些情况下,截面图可以对应于垂直截面图,诸如,通过立方体404的右侧观看。在一些情况下,截面图可以对应于水平截面图,诸如,通过立方体404的顶侧观看。
如前面所讨论的,可以将球形媒体内容项402(例如,球形视频)的前部部分映射或者投射到立方体404的前面406上。在一些情况下,如图4B所示,立方体映射的常规方法可以使用90度的映射角408。因而,映射角408的两个侧边之间的球形视频402的部分可以对应于球形视频402的前部部分并且可以映射或者投射到立方体404的前面406上。
所公开的技术的各种实施方式可以利用用于球形媒体映射的多边形边扩展。如在示例性情形420中所示,所公开的技术可以基于扩展的映射角410(比90度的原始映射角408大)向外扩展前面406的边。因此,前面406可以被扩展以包括扩展边412。此外,球形视频402的前部部分可以对应于扩展的映射角410的两个侧边之间的球形视频402的部分并且可以映射或者投射到包含扩展边412的前面406上。对于立方体404所有其他的面可重复该过程。因此,当六个面(包含它们相应的扩展边)连接以形成球形视频402的立方体表示以供呈现时,通过所公开的技术可以减少或去除潜在位于面连接处的失真和/或其他不期望的视觉质量。相应的扩展边可导致面或段中重叠的部分或子区域。
在一个实例中,当原始映射角408对应于90度时,扩展的映射角410可以对应于100度。应当理解可以使用任何合适的度值。还考虑了本文中所有的实例仅出于说明性目的提供,并且与所公开技术相关联的许多变化是可能的。
图4C示出了根据本公开的实施方式的与利用用于多边形媒体映射的边扩展相关联的示例性情形440。示例性情形440示出了图4B的球形视频402、立方体404、以及包含扩展边412的前面406的另一视图。
图4D示出了根据本公开的实施方式的与利用用于多边形媒体映射的边扩展相关联的示例性情形460。示例性情形460示出了图4C的球形视频402、立方体404、以及包含扩展边412的前面406。此外,图4D的示例性情形460示出了立方体406的所有六个面包含的所有其他扩展边。
图4E示出了根据本公开的实施方式的与利用多边形媒体映射的边扩展相关联的示例性情形480。示例性情形480示出了图4D的球形视频402、立方体404、以及前面406。在一些实现方式中,如图4E的示例性情形480所示,立方体404的所有六个面的扩展边412可表现为从每个面向外延伸的翼。
再次,与所公开技术相关联的许多变化是可能的。例如,三维几何对象不必限于立方体对象,并且任何合适的多边形可以用作三维几何对象的面。此外,如上所述,本公开的各种实施方式可以获取(即,检索、接收、识别、选择、访问等)球形媒体内容项。可以选择(即,限定、预设、识别等)包含多个多边形面的三维几何对象。在多个多边形面中的每个多边形面包含的相应的一组边可向外扩展以产生每个多边形面包含的相应的一组扩展边。球形媒体内容项的相应部分可以映射至包含相应的该组扩展边的每个多边形面。包含第一组扩展边的至少第一多边形面可连接至包含第二组扩展边的至少第二多边形面以产生球形媒体内容项的表示的至少一部分。在实施方式中,包含第一组扩展边的至少第一多边形面可连接至包含第二组扩展边的至少第二多边形面可以减少至少第一多边形面和至少第二多边形面可连接的地方的一个或多个失真。
在实施方式中,三维几何对象可以对应于立方体。多个多边形面可以对应于六个正方形。六个正方形可以包括顶视图正方形、左视图正方形、前视图正方形、右视图正方形、后视图正方形、以及底视图正方形。
在实施方式中,可以确定相应的该组边的向外扩展的量。向外扩展的量可以基于大于90度的扩大映射角。
图5A示出了根据本公开的实施方式的与利用多边形媒体映射相关联的示例性情形500。示例性情形500示出了其中多个多边形面可以包装或者封装的虚拟矩形502。虚拟矩形的面积例如可以表示用来表示内容项的数据总量(例如,文件大小)或者与其相联系。多个多边形面可以包括在三维几何对象中、可以形成三维几何对象、和/或可以作为三维几何对象的部分而被包括。在该示例性情形500中,多个多边形面可以包括六个可连接的正方形或面以形成三维立方体对象。三维立方体对象可以表示球形媒体内容项和/或可以用于映射球形媒体内容项。在一些实施方式中,六个正方形可以封装到虚拟矩形502中以用于发送和潜在呈现。然而,常规方法可能是低效的。
例如,如所示,可以存在顶视图正方形504(用于映射或表示球形媒体内容项的顶部部分),左视图正方形506(用于映射或表示球形媒体内容项的左侧部分),前视图正方形508(用于映射或表示球形媒体内容项的前部部分),右视图正方形510(用于映射或表示球形媒体内容项的右侧部分),后视图正方形512(用于映射或表示球形媒体内容项的后部部分),以及底视图正方形514(用于映射或表示球形媒体内容项的底部部分)。然而,如图5A所示,根据将六个正方形装入和/或放入虚拟矩形502以用于媒体发送和/或处理的常规方法,可能存在大量浪费的数据空间516。
图5B示出了根据本公开的实施方式的与利用多边形媒体映射相关联的示例性情形520。示例性情形520示出其中一组六个正方形(例如,右视图正方形524、左视图正方形526、顶视图正方形528、底视图正方形530、前视图正方形532、以及后视图正方形534)可以被装配、放置、包装或封装的虚拟矩形522。
在一些实现方式中,所公开技术可以提供改进的方法以封装这种数据以用于发送、存储、使用、和/或其他处理。如在示例性情形520中所示,在实施方式中,可以将六个正方形组织成两个水平行和三个垂直列。可以组织六个正方形以形成虚拟矩形522,与虚拟矩形502相比虚拟矩形522的总尺寸较小。因此,如所示,所公开技术可以减少和/或去除浪费的数据空间。这提高了数据效率。虚拟矩形522然后可以被发送用于呈现。可以基于重新组织六个正方形使得能够呈现球形媒体内容项的表示。球形媒体内容项的表示可以对应于立方体表示。
在实施方式中,重新组织六个正方形可以包括将顶视图正方形放入立方体表示的内部的顶部正方形,将左视图正方形放入立方体表示的内部的左侧正方形,将前视图正方形放入立方体表示的内部的前部正方形,将右视图正方形放入立方体表示的内部的右侧正方形,将后视图正方形放入立方体表示的内部的后部正方形,并且将底视图正方形放入立方体表示的内部的底部正方形。
在一个实例中,可以修改虚拟矩形522中的六个正方形的放置和/或顺序。在另一实例中,可以修改虚拟矩形522的方位、位置、和/或形状,代之以具有三个水平行和两个垂直列。应当理解,很多变化都是可以的。
图5C示出了根据本公开的实施方式的与利用多边形媒体映射相关联的示例性情形540。示例性情形540示出该组六个正方形(例如,右视图正方形524、左视图正方形526、顶视图正方形528、底视图正方形530、前视图正方形532、以及后视图正方形534)可以装配、放置、堆积或封装的图5B的虚拟矩形522。六个正方形或面可连接以形成可表示球形媒体内容项和/或球形媒体内容项可映射到其上的三维立方体。
在实施方式中,所公开的技术可以识别立方体的后部部分。至少部分地表示立方体的后部部分的六个正方形的子集也能够被识别出。图像模糊处理(例如,低通滤波或模糊)可应用于子集中每个正方形的至少一部分。在一些情况下,应用于子集中的每个正方形的至少部分的图像模糊处理可提高用于球形媒体内容项的媒体处理(诸如,球形视频的视频压缩)的效率。如图5C的示例性情形540所示,模糊处理可以应用于右视图正方形524的右侧部分544,左视图正方形526的左侧部分546,顶视图正方形528的顶部部分548,底视图正方形530的底部部分550,前视图正方形532不能应用,以及后视图正方形534的全部。此外,当基于六个正方形形成球形媒体内容项的立方体表示时,立方体表示在其前部部分(或者当前看到的或用户通常更频繁地看到的任何部分)可以具有较高的视觉质量(例如,分辨率)并在用户当前未观看或他们通常不那么频繁观看的后部部分具有较低的视觉质量。
应当理解,很多变化都是可能的。例如,图像模糊处理可以使所识别的子集中的每个正方形的至少一部分像素化,在所识别的子集中的每个正方形的至少一部分上绘图/涂色,和/或移除/擦除所识别的子集中的每个正方形的至少一部分等。
图5D示出了根据本公开的实施方式的与利用多边形媒体映射相关联的示例性情形560。示例性情形560示出了可以表示球形媒体内容项564和/或球形媒体内容项564可以映射到其上的三维立方体562。
在实施方式中,所公开的技术可以识别立方体的后部部分。剩余部分(例如,非后部部分、前部部分等)也可以被识别出。从六个正方形中可识别出至少部分地表示立方体的后部部分的矩形部分的第一子集566和至少部分地表示立方体的剩余部分(例如,前部部分)的矩形部分的第二子集568。矩形部分的第一子集566可以缩减以产生矩形部分的缩减子集570。矩形部分的缩减子集570和矩形部分的第二子集568可以缩减以形成虚拟矩形572。因此,当基于矩形部分的缩减子集570和矩形部分的第二子集568形成球形媒体内容项564的立方体表示时,立方体表示在其前部部分可具有较高的视觉质量(例如,分辨率)并且在用户通常较不频繁观看的后部部分具有较低的视觉质量。再次,可存在许多变化或其他可能性。例如,在一些情况下,后部部分的视频播放的帧速率可小于前部部分的视频播放的帧速率。
图6A示出了根据本公开的实施方式的与利用会聚点将球形媒体映射至三维几何对象相关联的示例性情形600。在一些情况下,所公开的技术的各种实施方式可以获取球形媒体内容项602。可选择包含基部606和连接到基部的一个或多个对象侧的三维几何对象604。一个或多个对象侧可以向后延伸并且逐渐变窄为会聚点608。球形媒体内容项602可以映射到三维几何对象604上。球形媒体内容项602的前部部分可以映射到基部606的至少一部分上。球形媒体内容项的后部部分可以映射到一个或多个对象侧的至少一部分上。
如在示例性情形600中所示,在实施方式中,三维几何对象604可以与棱锥形相关联。基部606可以与菱形相关联。球形媒体内容项602的前部部分的顶部子部分可以映射到菱形的顶部区域。球形媒体内容项602的前部部分的底部子部分可以映射到菱形的底部区域。球形媒体内容项602的前部部分的左侧子部分可以映射到菱形的左侧区域。球形媒体内容项602的前部部分的右侧子部分可以映射到菱形的右侧区域。另外,在实施方式中,一个或多个对象侧包括四个三角形,如图6A所示。
此外,在实施方式中,相对于一个或多个对象侧中逐渐变低的图形质量,将球形媒体内容项映射到三维几何对象上可在基部产生较高的图形质量。这是有益的,因为用户通常花费更多的时间观看对应于球形媒体内容项的前部部分的基部。此外,菱形可以是有利的,因为用户通常花费更多的时间观看菱形的中心和拐角(顶部、底部、左侧、以及右侧)而不是正方形或者矩形的中心和拐角(左上部、右上部、左下部、右下部)。例如,用户更可能上下及左右地移动他们的头部,而不是呈对角线地移动。
图6B示出了根据本公开的实施方式的与利用会聚点将球形媒体映射至三维几何对象相关联的示例性情形620。示例性情形620示出了图6A的球形媒体内容项602。然而,在图6B的示例性情形620中,三维几何对象604的一个或多个对象侧被示出为向外折叠并且被带入与基部606相同的平面中。
图6C示出了根据本公开的实施方式的与利用会聚点将球形媒体映射至三维几何对象相关联的示例性情形640。示例性情形640示出了球形媒体内容项642和具有基部646的三维几何对象644。在该示例性情形640中,三维几何对象644的基部646对应于宽度比其高度长的菱形。因此,当将球形媒体内容项642的前部部分映射到基部646上时,用户可以水平地而非垂直地观看更多的内容。许多变化是可能的。
图6D示出了根据本公开的实施方式的与利用会聚点将球形媒体映射至三维几何对象相关联的示例性情形660。示例性情形660示出了图6C的球形媒体内容项622。然而,在图6D的示例性情形660中,三维几何对象624的一个或多个对象侧(例如,第一三角形632、第二三角形634、第三三角形636、第四三角形638)被示出为向外折叠并且被带入与基部626相同的平面中。
图6E示出了根据本公开的实施方式的与利用会聚点将球形媒体映射到三维几何对象相关联的示例性情形680。在实施方式中,菱形(与基部626相关联)可以装配到虚拟矩形682内。这可提高数据效率以便诸如用于发送和/或视频压缩。菱形的顶点可以与虚拟矩形682的顶侧(例如,顶部边、顶端边框等)接触。菱形的底点可以与虚拟矩形682的底侧接触。菱形的左点可以与虚拟矩形682的左侧接触。菱形的右点可以与虚拟矩形682的右侧接触。
在实施方式中,如在示例性情形680中所示,可以将四个三角形(例如,第一三角形632、第二三角形634、第三三角形636、第四三角形638)装配到虚拟矩形682内。四个三角形中的每个三角形的至少相应部分可以形成虚拟矩形682的各个角。
在实施方式中,可以发送虚拟矩形682以用于呈现。使得能够呈现球形媒体内容项的棱锥形表示。许多变化是可能的。
图6F示出了根据本公开的实施方式的与利用会聚点将球形媒体映射至三维几何对象相关联的示例性情形690。在该示例性情形690中,基部696可以与椭圆形相关联并且三维几何对象可以与圆锥形和泪滴形相关联。如图6F所示,基部696和一个或多个对象侧可以装配到虚拟矩形692中用于提高的数据效率(例如,数据发送、数据压缩等)。
再次,考虑了本文中所有的实例出于说明性目的而提供,并且可以有与所公开的技术相关联的许多变化或其他可能性。如上所述,所公开的技术的各种实施方式可以获取球形媒体内容项。可选择包含基部和连接到基部的一个或多个对象侧的三维几何对象。一个或多个对象侧可以向后延伸并且逐渐变窄为会聚点。球形媒体内容项可以映射到三维几何对象上。球形媒体内容项的前部部分可以映射到基部的至少一部分上。球形媒体内容项的后部部分可以映射到一个或多个对象侧的至少一部分上。在实施方式中,三维几何对象可以与棱锥形、圆锥形、或泪滴形中的至少一个相关联。
在实施方式中,基部可以与矩形、菱形、圆形、椭圆形、或球形部分形状中的至少一种相关联。
在实施方式中,可以向外扩展四个三角形中的每个三角形包含的相应的一组两个边。两个边可与基部不相邻。球形媒体内容项的后部部分可以映射到包含相应的一组两个边的四个三角形中的每个三角形的至少一部分上。
图7示出了根据本公开的实施方式的用于呈现内容的示例性方法700。应当理解,除非另有说明,否则在本文中论述的各种实施方式的范围内,可存在以相似或可替换的顺序执行的、或者并行地执行的额外、较少、或者替代的步骤。
在方框702中,确定要呈现的至少一个内容项,内容项是使用从多个不同的位置捕获至少一个场景的一组内容流组成的。在方框704中,确定用于呈现内容项的视口界面,其中,视口界面与视口形状相关联。在方框706中,通过显示器提供视口界面,其中,通过视口界面呈现至少一个内容流,并且其中,以第一内容质量呈现内容流的与视口形状内部的区域相对应的部分。
图8示出了根据本公开的实施方式的用于呈现内容的示例性方法800。应当理解,除非另有说明,否则在本文中论述的各种实施方式的范围内,可存在以相似或可替换的顺序执行的、或者并行地执行的额外、较少、或者替代的步骤。
在方框802中,获得从多个不同的位置捕获至少一个场景的球形媒体内容项。在方框804中,确定具有多个面的三维对象,每个面与相应的一组原始边界相关联。在方框806中,确定多个面中的一个或多个面的相应的一组扩展边界。在方框808中,将球形媒体内容项的相应部分映射至一个或多个面中的每一个,其中,球形媒体内容项的第一部分映射至具有一组扩展边界的第一面。
图9示出了根据本公开的实施方式的用于呈现内容的示例性方法900。应当理解,除非另有说明,否则在本文中论述的各种实施方式的范围内,可存在以相似或可替换的顺序执行的、或者并行地执行的额外、较少、或者替代的步骤。
在方框902中,获得从多个不同的位置捕获至少一个场景的球形媒体内容项。在方框904中,确定具有会聚在一点的多个面的三维对象。在方框906中,将球形媒体内容项的至少第一部分映射至多个面中的至少第一面。
考虑到可存在与本公开的各种实施方式相关联的许多其他的用途、应用、特征、可能性、和/或变化。在一个实例中,在一些情况下,用户可以选择是否选择进入使用所公开的技术。例如,所公开的技术还可以确保维护各种隐私设置和偏好并且可以防止私密信息被泄露。在另一实例中,随着时间的过去,本公开的各种实施方式可以学习、改进、和/或精炼(例如,使用机器学习或者其他统计技术)。
社交网络系统-示例性实施方式
图10示出了根据本公开的实施方式的可在各种情形中利用的示例性系统1000的网络图。系统1000包括一个或多个用户装置1010、一个或多个外部系统1020、社交网络系统(或服务)1030、以及网络1050。在实施方式中,结合上面描述的实施方式讨论的社交网络服务、提供商、和/或系统可以实现为社交网络系统1030。为了说明的目的,由图10示出的系统1000的实施方式包括单个外部系统1020和单个用户装置1010。然而,在其他实施方式中,系统1000可包括更多的用户装置1010和/或更多的外部系统1020。在某些实施方式中,社交网络系统1030由社交网络供应商操作,而外部系统1020与社交网络系统1030分离,这是因为这些系统可以由不同的实体操作。然而,在各种实施方式中,社交网络系统1030和外部系统1020一起操作以向社交网络系统1030的用户(或成员)提供社交网络服务。在这个意义上,社交网络系统1030提供平台或骨干,其他系统(例如,外部系统1020)可以使用该平台或骨干来通过互联网向用户提供社交网络服务和功能。在一些实施方式中,社交网络系统1030可以包括或者对应于社交媒体系统(或服务)。
用户装置1010包括可以从用户接收输入并且经由网络1050发送和接收数据的一个或多个计算装置(或系统)。在一个实施方式中,用户装置1010是执行例如MicrosoftWindows兼容的操作系统(OS)、Apple OS X和/或Linux分布程序的常规计算机系统。在另一个实施方式中,用户装置1010可以是计算装置或具有计算机功能的装置,诸如,智能手机、平板电脑、个人数字助理(PDA)、移动电话、膝上计算机、可穿戴装置(例如,一副眼镜、手表、手镯等)、相机、电器等。用户装置1010被配置为经由网络1050通信。用户装置1010可以执行应用程序,例如,允许用户装置1010的用户与社交网络系统1030交互的浏览器应用程序。在另一实施方式中,用户装置1010通过由用户装置1010的本地操作系统(诸如,iOS和ANDROID)提供的应用程序编程接口(API)与社交网络系统1030交互。用户装置1010被配置为使用有线和/或无线通信系统经由可以包括局域网和/或广域网的任何组合的网络1050,与外部系统1020和社交网络系统1030通信。
在一个实施方式中,网络1050使用标准通信技术和协议。因此,网络1050可包括使用诸如以太网、802.11、微波存取全球互操作性(WiMAX)、3G、4G、CDMA、GSM、LTE、数字订户线路(DSL)等的技术的链路。类似地,网络1050上使用的网络协议可包括多协议标记交换(MPLS)、传输控制协议/互联网协议(TCP/IP)、用户数据报协议(UDP)、超文本传输协议(HTTP)、简单邮件传输协议(SMTP)、文件传输协议(FTP)等。可以使用包括超文本标记语言(HTML)和可扩展标记语言(XML)的技术和/或格式表示经由网络1050交换的数据。此外,可以使用诸如安全套接层(SSL)、传输层安全(TLS)、以及互联网协议安全(IPsec)的常规加密技术对所有或者一些链路进行加密。
在一个实施方式中,通过使用浏览器应用程序1012处理从外部系统1020以及从社交网络系统1030接收的标记语言文档1014,用户装置1010可以显示来自外部系统1020和/或来自社交网络系统1030的内容。标记语言文档1014识别内容和一个或多个描述该内容的格式或表示的指令。通过执行包含在标记语言文档1014内的指令,浏览器应用程序1012使用由标记语言文档1014描述的格式或表示来显示所识别的内容。例如,标记语言文档1014包括用于生成和显示具有多个帧的网页的指令,该多个帧包括从外部系统1020和社交网络系统1030中检索的文本和/或图像数据。在各种实施方式中,标记语言文档1014包括数据文件,数据文件包括可扩展标记语言(XML)数据、可扩展超文本标记语言(XHTML)数据、或者其他标记语言数据。此外,标记语言文档1014可包括JavaScript对象表示法(JSON)数据、具有填充的JSON(JSONP)以及JavaScript数据,以促进外部系统1020与用户装置1010之间的数据交换。用户装置1010上的浏览器应用程序1012可使用JavaScript编译器来解码标记语言文档1014。
标记语言文档1014还可以包括或者链接至应用程序或应用程序框架,例如,FLASHTM或UnityTM应用程序、SilverLightTM应用程序框架等。
在一个实施方式中,用户装置1010还包括一个或多个小程序1016,其包括表示用户装置1010的用户是否登录到社交网络系统1030的数据,该小程序可以使能够修改从社交网络系统1030传送给用户装置1010的数据。
外部系统1020包括一个或多个网络服务器,该网络服务器包括使用网络1050传送至用户装置1010的一个或多个网页1022a、1022b。外部系统1020独立于社交网络系统1030。例如,外部系统1020与第一域相关联,而社交网络系统1030与单独的社交网络域相关。包含在外部系统1020内的网页1022a、1022b包括标记语言文档1014,标记语言文档识别内容并且包括指定所识别的内容的格式或表示的指令。
社交网络系统1030包括用于社交网络的一个或多个计算装置,包括多个用户,并且为社交网络的用户提供与社交网络的其他用户通信和交互的能力。在一些情况下,社交网络可由图谱表示,即,包含边线与节点的数据结构。其他数据结构也可以用于表示社交网络,包含但不限于数据库、目标、类、元元素、文件、或任何其他数据结构。社交网络系统1030可以由运营商监管、管理或控制。社交网络系统1030的运营商可以是人类、自动化应用程序或用于管理内容、调节政策以及在社交网络系统1030内收集使用度量的一系列应用程序。可以使用任何类型的运营商。
用户可以加入社交网络系统1030并然后添加与他们希望连接的社交网络系统1030的任意数量的其他用户的连接。如本文使用的,术语“好友”指社交网络系统1030中的用户经由社交网络系统1030与其形成连接、关联、或者关系的任何其他用户。例如,在实施方式中,如果社交网络系统1030中的用户表示为社交图谱中的节点,那么术语“好友”可以指形成在两个用户节点之间并且直接连接这两个用户节点的边线。
用户可以明确地添加连接,或者可以由社交网络系统1030基于用户(例如,是相同的教育机构的校友的用户)的共同特征自动创建连接。例如,第一用户明确选择特定的其他用户成为好友。社交网络系统1030中的连接通常是双向的,但不必如此,因此,术语“用户”和“好友”取决于参照系。社交网络系统1030的用户之间的连接通常是双边的(“双向的”),或者“相互的”,但连接同样可以是单边的或者“单向的”。例如,如果Bob和Joe是社交网络系统1030的两个用户并且连接至彼此,那么Bob和Joe是彼此的连接。另一方面,如果Bob希望连接至Joe以观看由Joe传送至社交网络系统1030的数据,但是Joe不希望形成相互连接,那么可以建立单边连接。用户之间的连接可以是直接连接;然而,社交网络系统1030的一些实施方式允许经由一个或多个连接等级或分离程度的间接的连接。
除了建立和维护用户之间的连接并且允许用户之间进行交互之外,社交网络系统1030向用户提供对社交网络系统1030支持的各类项采取动作的能力。这些项目可以包括社交网络系统1030的用户可以归属的群组或网络(即,人、实体、以及概念的社交网络),用户可能感兴趣的事件或日历条目,用户可以经由社交网络系统1030使用的基于计算机的应用程序,允许用户经由社交网络系统提供的服务或通过社交网络系统1030购买或者出售项目的交易,以及用户可以执行打开或关闭社交网络系统1030的与广告的交互。这些仅是用户可在社交网络系统1030上对其进行动作的项目的几个实例,并且许多其他实例是可能的。用户可以与能够在社交网络系统1030中或者在外部系统1020中表示的、与社交网络系统1030分离的或者经由网络1050与社交网络系统1030耦接的任何事物交互。
社交网络系统1030还能够链接各种实体。例如,社交网络系统1030使用户能够通过API、网络服务或其他通信信道彼此交互以及与外部系统1020或其他实体交互。社交网络系统1030生成和维护“社交图谱”,社交图谱包括由多个边线互连的多个节点。社交图谱中的每个节点可表示可作用于另一节点和/或被另一节点作用的任何实体。社交图谱可包括各种类型的节点。节点的类型的实例包括用户、非人类实体、内容项、网页、群组、活动、消息、概念、以及可以由社交网络系统1030中的对象表示的任何其他事物。在社交图谱中的两个节点之间的边线可以表示在这两个节点之间的特定类型的连接或关联,这可以因节点关系或者因由一个节点对另一个节点执行的动作而产生。在某些情况下,节点之间的边线可以加权。边线的权重可以表示与边线相关联的属性,例如,节点之间的联系或关联的强度。不同类型的边线可设置有不同的权重。例如,可以向在一个用户“点赞”另一个用户时创建的边线赋予一个权重,同时可以向在用户与另一个用户成为好友时创建的边线赋予不同的权重。
举例来说,当第一用户将第二用户识别为好友时,社交图谱中生成将表示第一用户的节点与表示第二用户的第二节点连接的边线。由于各种节点彼此相关或交互,所以社交网络系统1030修改连接各种节点的边线,以反映关系和交互。
社交网络系统1030还包括增强用户与社交网络系统1030之间交互的用户生成的内容。用户生成的内容可包括用户可添加、上传、发送、或者“发布”到社交网络系统1030的任何事物。例如,用户将帖子从用户装置1010传送到社交网络系统1030。帖子可包括数据(例如,状态更新或其他文本数据)、位置信息、图像(例如,照片)、视频、链接、音乐或其他相似数据和/或媒体。还可通过第三方将内容添加到社交网络系统1030。内容“项”表示为社交网络系统1030中的对象。以这种方式,社交网络系统1030的用户被鼓励通过经由各种通信信道发布文本和各种类型的媒体的内容项来彼此通信。这种通信增加用户彼此的交互,并且提高了用户与社交网络系统1030交互的频率。
社交网络系统1030包括网络服务器1032、API请求服务器1034、用户配置文件储存器1036、连接储存器1038、动作记录器1040、活动日志1042、以及授权服务器1044。在本发明的实施方式中,社交网络系统1030可以包括用于各种应用程序的额外的、更少的、或不同的部件。诸如网络接口、安全机构、负载平衡器、故障切换服务器、管理和网络操作控制台的其他部件未示出,以便不混淆系统的细节。
用户配置文件储存器1036维护关于用户账户的信息,包括档案、人口或其他类型的描述信息,例如,用户声称的或者由社交网络系统1030推断的工作经历、教育背景、爱好或偏好、位置等。该信息存储在用户配置文件储存器1036内,以便唯一地识别每个用户。社交网络系统1030还在连接储存器1038中存储描述不同用户之间的一个或多个连接的数据。连接信息可表示具有相似或者共同工作经验、团体成员资格、爱好或者教育背景的用户。此外,社交网络系统1030包括在不同的用户之间的用户定义连接,允许用户指定他们与其他用户的关系。例如,用户定义连接允许用户与其他用户生成平行于该用户的现实生活关系的关系,诸如好友、同事、伙伴等。用户可从预定类型的连接中选择或者根据需要定义其自身的连接类型。与社交网络系统1030中诸如非人实体、储存区(bucket)、集群中心、图像、兴趣、页面、外部系统、概念等的其他节点的连接也可存储在连接储存器1038中。
社交网络系统1030维护关于用户可以与之交互的对象的数据。为了维护该数据,用户配置文件储存器1036和连接储存器1038存储通过社交网络系统1030维护的对应类型的对象的实例。每种对象类型具有适合于将适当信息存储到该类型对象的信息字段。例如,用户配置文件储存器1036包含数据结构,其字段适用于描述用户的账户以及与用户的账户相关的信息。在创建特定类型的新对象时,社交网络系统1030初始化对应类型的新数据结构,将唯一对象标识符分配给该数据结构,并且根据需要开始将数据添加至对象。例如,这种情况可能发生在用户变成社交网络系统1030的用户时、社交网络系统1030在用户配置文件储存器1036中生成用户配置文件的新实例时、将唯一标识符分配给用户账户时、以及开始使用由用户提供的信息来填充用户账号的字段时。
连接储存器1038包括适合于描述用户与其他用户的连接、与外部系统1020的连接或者与其他实体的连接的数据结构。连接储存器1038还可以使连接类型与用户的连接相关联,用户的连接可以与用户的隐私设置一起用于调节对关于该用户的信息的访问。在本发明的实施方式中,用户配置文件储存器1036和连接储存器1038可实现为联合数据库。
存储在连接储存器1038、用户配置文件储存器1036、以及活动日志1042中的数据能够使社交网络系统1030生成这样一种社交图谱,即,使用节点来识别各种对象并且使用连接节点的边线来识别不同对象之间的关系。例如,如果社交网络系统1030中的第一用户与第二用户建立连接,则来自用户配置文件储存器1036中的第一用户和第二用户的用户账户可用作社交图谱中的节点。通过连接储存器1038存储的第一用户与第二用户之间的连接是与第一用户和第二用户相关联的节点之间的边线。继续这个实例,第二用户然后可以在社交网络系统1030内向第一用户发送消息。发送消息的动作(可被存储)是社交图谱中表示第一用户与第二用户的两个节点之间的另一边线。此外,可以识别消息本身,并且消息本身可被包括在社交图谱中作为连接至表示第一用户和第二用户的节点的另一节点。
在另一实例中,第一用户可给由社交网络系统1030维护的图像中(或者,可替换地,由社交网络系统1030之外的另一系统维护的图像中)的第二用户加标签。图像本身可表示作为社交网络系统1030中的节点。加标签动作可在第一用户与第二用户之间创建边线以及在各个用户与图像(也是社交图谱中的节点)之间创建边线。在又一实例中,如果用户确认参加一个事件,则用户和事件是从用户配置文件储存器1036中获得的节点,其中,事件的参加是在可以从活动日志1042检索的节点之间的边线。通过生成并维护社交图谱,社交网络系统1030包括描述多种不同类型的对象以及这些对象之间的交互和连接的数据,从而提供社交相关信息的丰富来源。
网络服务器1032经由网络1050将社交网络系统1030链接至一个或者多个用户装置1010和/或一个或者多个外部系统1020。网络服务器1032为网页以及网页相关的其他内容(例如,Java、JavaScript、Flash、XML等)服务。网络服务器1032可包括用于接收和路由社交网络系统1030与一个或者多个用户装置1010之间的消息的邮件服务器或者其他消息收发功能。消息可以是即时消息、队列消息(例如,电子邮件)、文本和SMS消息、或者任何其他合适的消息收发格式。
API请求服务器1034允许一个或多个外部系统1020和用户装置1010通过调用一个或多个API功能来从社交网络系统1030调用访问信息。API请求服务器1034还可允许外部系统1020通过调用API来将信息发送至社交网络系统1030。在一种实施方式中,外部系统1020经由网络1050将API请求发送至社交网络系统1030,并且API请求服务器1034接收API请求。API请求服务器1034通过调用与API请求相关联的API来处理请求以生成合适的响应,API请求服务器1034经由网络1050将该合适的响应传送至外部系统1020。例如,API请求服务器1034响应于API请求收集与用户相关联的数据,诸如,已经登录到外部系统1020的用户连接,并且将所收集数据传送到外部系统1020。在另一实施方式中,用户装置1010以与外部系统1020相同的方式经由API与社交网络系统1030通信。
动作记录器1040能够从网络服务器1032接收有关用户在社交网络系统1030上和/或社交网络系统1030外的动作的通信。动作记录器1040利用有关用户动作的信息填充活动日志1042,从而能够使社交网络系统1030发现其用户在社交网络系统1030内和在社交网络系统1030之外所采取的各种动作。特定用户相对于社交网络系统1030中另一节点采取的任何动作可以通过在活动日志1042中或者类似的数据库中或者其他数据存储库中维护的信息而与每个用户的账户相关联。例如,由社交网络系统1030内的用户采取的被识别和存储的动作的实例可包括将连接添加到另一用户、将消息发送给另一用户、从另一用户读取消息、观看与另一用户相关联的内容、参加由另一用户发布的事件、发布图像、尝试发布图像、或者与另一用户或另一对象交互的其他动作。当社交网络系统1030内的用户采取动作时,该动作被记录在活动日志1042中。在一个实施方式中,社交网络系统1030将活动日志1042维护为条目的数据库。当在社交网络系统1030中采取动作时,针对该动作的条目被添加到活动日志1042中。活动日志1042可被称为动作日志。
此外,用户动作可与在位于社交网络系统1030的外部的实体(例如,与社交网络系统1030分离的外部系统1020)内发生的概念和动作相关联。例如,动作记录器1040可以从网络服务器1032接收描述用户与外部系统1020的交互的数据。在该实例中,外部系统1020根据社交图谱中的结构化的动作和对象报告用户的交互。
用户与外部系统1020交互的动作的其他实例包括用户表示对外部系统1020或另一实体感兴趣,用户将讨论外部系统1020或外部系统1020内的网页1022a的评论张贴到社交网络系统1030,用户将与外部系统1020相关联的统一资源定位符(URL)或其他标识符张贴到社交网络系统1030,用户参加与外部系统1020相关联的事件,或者用户做出的与外部系统1020有关的任何其他动作。因此,活动日志1042可包括描述社交网络系统1030中的用户和与社交网络系统1030分离的外部系统1020之间的交互的动作。
授权服务器1044对社交网络系统1030中的用户强制实施一种或者多种隐私设置。用户的隐私设置确定可共享与用户相关联的特定信息的方式。隐私设置包括与用户相关联的特定信息的规范和可与其共享信息的实体的规范。可与其共享信息的实体的实例可包括其他用户、应用程序、外部系统1020、或者可潜在访问该信息的任何实体。用户可以共享的信息包括用户账户信息,例如,配置文件照片、与用户相关联的电话号码、用户的联系人、用户采取的动作(例如,增加联系人)、改变用户配置文件信息等。
可以不同的粒度级别提供隐私设置规范。例如,隐私设置可以确定与其他用户共享的特定信息;隐私设置识别工作电话号码或者特定的一组相关信息,诸如,包括配置文件照片、主页电话号码、以及状态的个人信息。可替代地,隐私设置可应用于与用户相关联的所有信息。还可以以不同的粒度级别指定能够访问特定信息的一组实体的规范。例如,可以共享信息的各组实体可包括用户的所有好友、好友的所有好友、所有应用程序或者所有外部系统1020。一个实施方式允许该组实体的规范包括实体的枚举。例如,用户可提供允许访问特定信息的外部系统1020的列表。另一实施方式允许该规范包括一组实体,以及不允许访问该信息的例外。例如,用户可允许所有外部系统1020访问用户的工作信息,但是指定不允许访问该工作信息的外部系统1020的列表。某些实施方式将不被允许访问某些信息的例外的列表称为“黑名单”。由用户指定的属于黑名单的外部系统1020被阻止访问隐私设置中指定的该信息。信息的规范的粒度以及与其共享信息的实体的规范的粒度的各种组合是可能的。例如,可以与好友共享所有个人信息,而可以与好友的好友共享所有工作信息。
授权服务器1044包括逻辑以确定用户的好友、外部系统1020、和/或其他应用程序和实体是否能够访问与用户相关联的某些信息。外部系统1020可能需要来自授权服务器1044的授权以访问用户的更加隐私且更加敏感的信息,例如,用户的工作电话号码。授权服务器1044基于用户的隐私设置来确定是否允许另一用户、外部系统1020、应用程序、或另一实体访问与该用户相关联的信息,包括有关用户采取的动作的信息。
所公开的技术的各种实施方式(诸如参考图1A到图9论述的那些)可以实现为社交网络系统1030(例如,内容提供商模块1046)和/或用户装置1010,可以被包括在社交网络系统1030和/或用户装置1010中,和/或可以与社交网络系统1030和/或用户装置1010一起操作。应当理解,可存在许多变化或者与所公开的技术相关联的其他可能性。
硬件实现方式
可以通过各种机器和计算机系统架构以及各种网络和计算环境实现上述过程和特征。图11示出了根据本发明的实施方式的可用于实现在本文中描述的一个或多个实施方式的计算机系统1100的实例。计算机系统1100包括用于使计算机系统1100执行本文所讨论的过程和特征的多组指令。计算机系统1100可连接(例如,联网)至其他机器。在联网部署中,计算机系统1100可在客户端服务器网络环境中的服务器机器或客户端机器的能力内运行,或作为对等(或分布式)网络环境中的对等机器运行。在本发明的实施方式中,计算机系统1100可以是社交网络系统1030、用户装置1010、以及外部系统1120、或者其组件。在本发明的实施方式中,计算机系统1100可以是在构成社交网络系统1030的全部或一部分的多个服务器中的一个服务器。
计算机系统1100包括处理器1102、缓存1104以及存储在计算机可读介质上针对本文中描述的过程和特征的一个或多个可执行的模块和驱动器。此外,计算机系统1100包括高性能输入/输出(I/O)总线1106和标准I/O总线1108。主桥1110使处理器1102与高性能I/O总线1106耦接,而I/O总线桥1112使两个总线1106和1108彼此耦接。系统存储器1114和一个或多个网络接口1116耦接至高性能I/O总线1106。计算机系统1100可进一步包括视频存储器和耦接至视频存储器(未示出)的显示装置。大容量存储介质1118和I/O端口1120耦接到标准I/O总线1108。计算机系统1100可以可选地包括键盘和点控设备、显示装置、或耦接至标准I/O总线1108的其他输入/输出装置(未显示)。共同地,这些元件旨在表示广泛类别的计算机硬件系统,包括但不限于基于由位于加利福尼亚的圣克拉拉的英特尔公司制造的x86兼容处理器以及由位于加利福尼亚的森尼韦尔的超微半导体(Advanced MicroDevices)(AMD)公司制造的x86兼容处理器以及任意其他合适处理器的计算机系统。
操作系统管理并控制计算机系统1100的操作,包括向软件应用程序(未示出)输入数据以及从软件应用程序输出数据。操作系统提供在系统上执行的软件应用程序与系统的硬件部件之间的接口。可以使用任意合适的操作系统,诸如,可从加利福利亚的库比蒂诺的苹果计算机公司获得的LINUX操作系统、苹果Macintosh操作系统,UNIX操作系统、 操作系统、BSD操作系统等。其他实现方式也是可行的。
下面将更为详细地描述计算机系统1100的元件。具体地,网络接口1116在计算机系统1100与任何广泛的网络(诸如,以太网(例如,IEEE 802.3)网络、底板等)之间提供通信。大容量存储介质1118提供用于数据和编程指令的永久存储以执行通过以上识别的相应计算系统所实现的上述过程和特征,而系统存储器1114(例如,DRAM)提供数据和编程指令在由处理器1102执行时的的临时存储。I/O端口1120可以是提供额外的外围装置之间的通信的一个或多个串联和/或并联的通信端口,这些外围装置可耦接至计算机系统1100。
计算机系统1100可包括各种系统架构并且可重新布置计算机系统1100的各种部件。例如,缓存1104可以与处理器1102一起在芯片上。可替换地,缓存1104和处理器1102可共同封装为“处理器模块”,其中,处理器1102被称为“处理器核”。此外,本发明的某些实施方式既不需要也不包括所有的上述部件。例如,耦接至标准I/O总线1108的外围装置可耦接至高性能I/O总线1106。此外,在一些实施方式中,只存在单个总线,其中,计算机系统1100的部件耦接至该单个总线。此外,计算机系统1100可包括额外的部件,例如,额外的处理器、储存装置或存储器。
通常,本文中描述的过程和特征可以实现为操作系统或特定应用程序的部分、部件、程序、对象、模块、或被称为“程序”的一系列指令。例如,一个或多个程序可用于执行本文描述的特定过程。通常,程序包括计算机系统1100中的各种存储器和存储装置中的一个或者多个指令,该一个或者多个指令在由一个或者多个处理器读取并执行时,使计算机系统1100进行操作以执行本文描述的过程和特征。在软件、固件、硬件(例如,专用集成电路)、或者其任意组合中可以实现本文描述的过程和特征。
在一种实施方式中,本文描述的过程和特征被计算机系统1100实现为独自或者统一在分布式计算环境中运行的一系列可执行模块。前述模块可以由硬件、存储在计算机可读介质(或机器可读介质)上的可执行模块或这两者的组合来实现。例如,模块可包括由硬件系统中的处理器(诸如,处理器1102)执行的多个或者一系列指令。最初,该系列指令可被存储在存储装置(诸如,大容量存储介质1118)上。然而,该系列指令可被存储在任何合适的计算机可读存储介质上。此外,该系列指令不需要被本地存储,并且可经由网络接口1116从远程存储装置(例如,网络上的服务器)接收。指令从诸如大容量存储介质1118的存储装置复制到系统存储器1114中,并且然后被处理器1102访问和执行。在各种实现方式中,一个或多个模块可由一个或多个位置(例如,在并行处理环境中的多个服务器)中的一个或多个处理器执行。
计算机可读介质的实例包括但不限于:可记录类介质,诸如,易失性和非易失性存储装置;固态存储器;软盘和其他可移除盘;硬盘驱动器;磁性介质;光盘(例如,光盘只读存储器(CD ROMS)、数字多用途磁盘(DVD));其他类似的非暂时性(或暂时性)、有形(或非有形)存储介质;或者适于存储、编码、或承载用于由计算机系统1100执行以执行本文中描述的任一个或多个过程和特征的一系列指令的任何类型的介质。
为了说明性目的,提出很多具体细节以提供描述的详尽理解。然而,对本领域技术人员显而易见的是,在没有这些具体细节的情况下可以实践本公开的实施方式。在一些情况下,模块、结构、过程、特征、以及装置以框图形式示出,以避免使描述模糊。在其他情况下,示出了表示数据和逻辑流程的功能框图和流程图。可以通过除了本文中明确描述和描绘的方式以外的方式不同地组合、分离、去除、重新排列以及替换框图和流程图的部件(例如,模块、方框、结构、装置、特征等)。
在本说明书中对“一个实施方式”、“实施方式”、“其他实施方式”、“一系列实施方式”、“一些实施方式”、“各种实施方式”等的引用意味着与实施方式相关联地描述的特定特征、设计、结构、或特性包括在本公开的至少一个实施方式中。在说明书中不同的地方出现的例如短语“在一个实施方式中”或“在实施方式中”未必都指同一个实施方式,也不是指与其他实施方式互相排除的分离的或可替代的实施方式。而且,无论是否明确引用“实施方式”等,都描述了各种特征,这些特征可以不同地组合并且包含在一些实施方式中,但是还可以在其他实施方式中不同地省略。类似地,所描述的各种特征可以是一些实施方式而不是其他实施方式的偏好或要求。此外,本说明书对“基于”的引用可以意味着“至少部分基于”、“基于...的至少一部分/部分”、“其基于...的至少一部分/部分”、和/或它们的任意组合。
本文使用的语言主要出于可读性和指导性目的而选择,并且选择其不是为了划定或限制发明的主题。因此,本发明的范围并不旨在由具体描述来限定,而是由基于具体实施方式的本申请所发布的任何权利要求来限定。因此,本发明的实施方式的公开内容旨在是说明性的,而不是对所附权利要求书中阐述的本发明的范围进行限制。

Claims (46)

1.一种计算机实现方法,包括:
由计算系统获得从多个不同的位置捕获至少一个场景的球形媒体内容项;
由所述计算系统确定具有多个面的三维对象,每个面与相应的一组原始边界相关联;
由所述计算系统确定所述多个面中的一个或多个面的相应的一组扩展边界;以及
由所述计算系统将所述球形媒体内容项的相应部分映射至所述一个或多个面中的每一个,其中,所述球形媒体内容项的第一部分映射至具有一组扩展边界的第一面。
2.根据权利要求1所述的计算机实现方法,其中,对应于所述第一面的扩展边界至少部分基于调整后的映射角而确定。
3.根据权利要求2所述的计算机实现方法,所述方法进一步包括:
由所述计算系统至少部分基于与所述第一面相对应的一组原始边界确定用于将所述球形媒体内容项的所述第一部分投射至所述三维对象的所述第一面的映射角;以及
由所述计算系统调整所述映射角,其中,所述球形媒体内容项的所述第一部分以所述调整后的映射角投射到所述第一面上。
4.根据权利要求3所述的计算机实现方法,其中,所述调整后的映射角大于所述映射角。
5.根据权利要求1所述的计算机实现方法,其中,将所述球形媒体内容项的相应部分映射至所述一个或多个面中的每一个进一步包括:
由所述计算系统使所述球形媒体内容项的第二部分投射至所述三维对象的第二面,所述第二面具有一组扩展边界,其中,所述第二面邻近于所述第一面,并且其中,所投射的第一部分和所投射的第二部分至少部分地重叠。
6.根据权利要求1所述的计算机实现方法,其中,所述三维对象是立方体,并且其中,所述球形媒体内容项的相应部分被映射至所述立方体的每个面。
7.根据权利要求6所述的计算机实现方法,其中,所述球形媒体内容项的顶视图部分被映射至所述立方体中的顶视图正方形,所述球形媒体内容项的左视图部分被映射至所述立方体中的左视图正方形,所述球形媒体内容项的右视图部分被映射至所述立方体中的右视图正方形,所述球形媒体内容项的前视图部分被映射至所述立方体中的前视图正方形,所述球形媒体内容项的后视图部分被映射至所述立方体中的后视图正方形,并且所述球形媒体内容项的底视图部分被映射至所述立方体中的底视图正方形。
8.根据权利要求1所述的计算机实现方法,所述方法进一步包括:
由所述计算系统将图像模糊处理应用于所述第一面的至少一部分。
9.根据权利要求8所述的计算机实现方法,其中,应用所述图像模糊处理进一步包括:
由所述计算系统将低通滤波器应用于所述第一面的所述部分。
10.根据权利要求8所述的计算机实现方法,其中,应用所述图像模糊处理进一步包括:
由所述计算系统将模糊应用于所述第一面的所述部分。
11.一种系统,包括:
至少一个处理器;以及
存储指令的存储器,当所述指令被所述至少一个处理器执行时,使所述系统执行:
获得从多个不同的位置捕获至少一个场景的球形媒体内容项;
确定具有多个面的三维对象,每个面与相应的一组原始边界相关联;
确定所述多个面中的一个或多个面的相应的一组扩展边界;以及
将所述球形媒体内容项的相应部分映射至所述一个或多个面中的每一个,其中,所述球形媒体内容项的第一部分映射至具有一组扩展边界的第一面。
12.根据权利要求11所述的系统,其中,对应于所述第一面的扩展边界至少部分基于调整后的映射角而确定。
13.根据权利要求12所述的系统,其中,所述系统进一步执行:
至少部分基于与所述第一面相对应的一组原始边界确定用于将所述球形媒体内容项的所述第一部分投射至所述三维对象的所述第一面的映射角;以及
调整所述映射角,其中,所述球形媒体内容项的所述第一部分以所述调整后的映射角投射到所述第一面上。
14.根据权利要求13所述的系统,其中,所述调整后的映射角大于所述映射角。
15.根据权利要求11所述的系统,其中,将所述球形媒体内容项的相应部分映射至所述一个或多个面中的每一个进一步使所述系统执行:
使所述球形媒体内容项的第二部分投射至所述三维对象的第二面,所述第二面具有一组扩展边界,其中,所述第二面邻近于所述第一面,并且其中,所投射的第一部分和所投射的第二部分至少部分地重叠。
16.一种包括指令的非暂时性计算机可读存储介质,所述指令在被计算系统的至少一个处理器执行时,使所述计算系统执行包括以下步骤的方法:
获得从多个不同的位置捕获至少一个场景的球形媒体内容项;
确定具有多个面的三维对象,每个面与相应的一组原始边界相关联;
确定所述多个面中的一个或多个面的相应的一组扩展边界;以及
将所述球形媒体内容项的相应部分映射至所述一个或多个面中的每一个,其中,所述球形媒体内容项的第一部分映射至具有一组扩展边界的第一面。
17.根据权利要求16所述的非暂时性计算机可读存储介质,其中,对应于所述第一面的扩展边界至少部分基于调整后的映射角而确定。
18.根据权利要求17所述的非暂时性计算机可读存储介质,其中,所述系统进一步执行:
至少部分基于与所述第一面相对应的一组原始边界确定用于将所述球形媒体内容项的所述第一部分投射至所述三维对象的所述第一面的映射角;以及
调整所述映射角,其中,所述球形媒体内容项的所述第一部分以所述调整后的映射角投射到所述第一面上。
19.根据权利要求18所述的非暂时性计算机可读存储介质,其中,所述调整后的映射角大于所述映射角。
20.根据权利要求16所述的非暂时性计算机可读存储介质,其中,将所述球形媒体内容项的相应部分映射至所述一个或多个面中的每一个进一步使所述系统执行:
使所述球形媒体内容项的第二部分投射至所述三维对象的第二面,所述第二面具有一组扩展边界,其中,所述第二面邻近于所述第一面,并且其中,所投射的第一部分和所投射的第二部分至少部分地重叠。
21.一种计算机实现方法,包括:
由计算系统获得从多个不同的位置捕获至少一个场景的球形媒体内容项;
由所述计算系统确定具有多个面的三维对象,每个面与相应的一组原始边界相关联;
由所述计算系统确定所述多个面中的一个或多个面的相应的一组扩展边界;以及
由所述计算系统将所述球形媒体内容项的相应部分映射至所述一个或多个面中的每一个,其中,所述球形媒体内容项的第一部分映射至具有一组扩展边界的第一面。
22.根据权利要求21所述的计算机实现方法,其中,对应于所述第一面的扩展边界至少部分基于调整后的映射角而确定;
优选地,所述方法进一步包括:
由所述计算系统至少部分基于与所述第一面相对应的一组原始边界确定用于将所述球形媒体内容项的所述第一部分投射至所述三维对象的所述第一面的映射角;以及
由所述计算系统调整所述映射角,其中,所述球形媒体内容项的所述第一部分以所述调整后的映射角投射到所述第一面上;
优选地,其中,所述调整后的映射角大于所述映射角。
23.根据权利要求21或22所述的计算机实现方法,其中,将所述球形媒体内容项的相应部分映射至所述一个或多个面中的每一个进一步包括:
由所述计算系统使所述球形媒体内容项的第二部分投射至所述三维对象的第二面,所述第二面具有一组扩展边界,其中,所述第二面邻近于所述第一面,并且其中,所投射的第一部分和所投射的第二部分至少部分地重叠。
24.根据权利要求21至23中任一项所述的计算机实现方法,其中,所述三维对象是立方体,并且其中,所述球形媒体内容项的相应部分被映射至所述立方体的每个面;
优选地,其中,所述球形媒体内容项的顶视图部分被映射至所述立方体中的顶视图正方形,所述球形媒体内容项的左视图部分被映射至所述立方体中的左视图正方形,所述球形媒体内容项的右视图部分被映射至所述立方体中的右视图正方形,所述球形媒体内容项的前视图部分被映射至所述立方体中的前视图正方形,所述球形媒体内容项的后视图部分被映射至所述立方体中的后视图正方形,并且所述球形媒体内容项的底视图部分被映射至所述立方体中的底视图正方形。
25.根据权利要求21至24中任一项所述的计算机实现方法,所述方法进一步包括:
由所述计算系统将图像模糊处理应用于所述第一面的至少一部分;
优选地,其中应用所述图像模糊处理进一步包括:
由所述计算系统将低通滤波器应用于所述第一面的一部分;和/或
优选地,其中,应用所述图像模糊处理进一步包括:
由所述计算系统将模糊应用于所述第一面的所述一部分。
26.一种系统,包括:
至少一个处理器;以及
存储指令的存储器,当所述指令被所述至少一个处理器执行时,使所述系统执行:
获得从多个不同的位置捕获至少一个场景的球形媒体内容项;
确定具有多个面的三维对象,每个面与相应的一组原始边界相关联;
确定所述多个面中的一个或多个面的相应的一组扩展边界;以及
将所述球形媒体内容项的相应部分映射至所述一个或多个面中的每一个,其中,所述球形媒体内容项的第一部分映射至具有一组扩展边界的第一面。
27.根据权利要求26所述的系统,其中,对应于所述第一面的扩展边界至少部分基于调整后的映射角而确定;
优选地,其中,所述系统进一步执行:
至少部分基于与所述第一面相对应的一组原始边界确定用于将所述球形媒体内容项的所述第一部分投射至所述三维对象的所述第一面的映射角;以及
调整所述映射角,其中,所述球形媒体内容项的所述第一部分以所述调整后的映射角投射到所述第一面上;
优选地,其中,所述调整后的映射角大于所述映射角。
28.根据权利要求26或27所述的系统,其中,将所述球形媒体内容项的相应部分映射至所述一个或多个面中的每一个进一步使所述系统执行:
使所述球形媒体内容项的第二部分投射至所述三维对象的第二面,所述第二面具有一组扩展边界,其中,所述第二面邻近于所述第一面,并且其中,所投射的第一部分和所投射的第二部分至少部分地重叠。
29.一种包括指令的非暂时性计算机可读存储介质,所述指令在被计算系统的至少一个处理器执行时,使所述计算系统执行包括以下步骤的方法:
获得从多个不同的位置捕获至少一个场景的球形媒体内容项;
确定具有多个面的三维对象,每个面与相应的一组原始边界相关联;
确定所述多个面中的一个或多个面的相应的一组扩展边界;以及
将所述球形媒体内容项的相应部分映射至所述一个或多个面中的每一个,其中,所述球形媒体内容项的第一部分映射至具有一组扩展边界的第一面。
30.根据权利要求29所述的非暂时性计算机可读存储介质,其中,对应于所述第一面的扩展边界至少部分基于调整后的映射角而确定;
优选地,其中,所述系统进一步执行:
至少部分基于与所述第一面相对应的一组原始边界确定用于将所述球形媒体内容项的所述第一部分投射至所述三维对象的所述第一面的映射角;以及
调整所述映射角,其中,所述球形媒体内容项的所述第一部分以所述调整后的映射角投射到所述第一面上;
优选地,其中,所述调整后的映射角大于所述映射角。
31.根据权利要求29或30所述的非暂时性计算机可读存储介质,其中,将所述球形媒体内容项的相应部分映射至所述一个或多个面中的每一个进一步使所述系统执行:
使所述球形媒体内容项的第二部分投射至所述三维对象的第二面,所述第二面具有一组扩展边界,其中,所述第二面邻近于所述第一面,并且其中,所投射的第一部分和所投射的第二部分至少部分地重叠。
32.一种计算机实现方法,包括:
由计算装置确定要呈现的至少一个内容项,所述内容项是使用从多个不同的位置捕获至少一个场景的一组内容流组成的;
由所述计算装置确定用于呈现所述内容项的视口界面,其中,所述视口界面与视口形状相关联;以及
由所述计算装置通过显示器提供所述视口界面,其中,通过所述视口界面呈现至少一个内容流,并且其中,以第一内容质量呈现所述内容流的与所述视口形状内部的区域相对应的一部分。
33.根据权利要求32所述的计算机实现方法,其中,以低于所述第一内容质量的第二内容质量呈现所述内容流的与所述视口形状外部的区域相对应的另一部分。
34.根据权利要求32或33所述的计算机实现方法,其中,确定所述视口界面进一步包括:
由所述计算装置获得描述访问所述内容项的用户的观看模式的信息,所述观看模式至少部分基于由所述用户访问的一个或多个其他内容项确定;以及
由所述计算装置至少部分基于所述观看模式确定所述视口形状;
优选地,其中,所述观看模式对应于在所述内容项的至少一部分的播放期间所述视口界面的方向上的改变。
35.根据权利要求32至34中任一项所述的计算机实现方法,其中,确定所述视口界面进一步包括:
由所述计算装置获得描述访问所述内容项的多个用户的聚合观看模式的信息;以及
由所述计算装置至少部分基于所述聚合观看模式确定所述视口形状。
36.根据权利要求32至36中任一项所述的计算机实现方法,其中,确定所述视口界面进一步包括:
由所述计算装置确定所述视口形状降低在所述内容项的播放期间所述内容流切换的速率。
37.根据权利要求32至36中任一项所述的计算机实现方法,其中,所述视口形状对应于菱形、椭圆形、矩形、以及另一多边形中的一项。
38.根据权利要求32至37中任一项所述的计算机实现方法,其中,一组所述内容流共同捕获360度的场景视图。
39.根据权利要求32至38中任一项所述的计算机实现方法,其中,至少部分基于所述视口界面相对于所述场景的方向来选择通过所述视口界面呈现的至少一个所述内容流;
优选地,进一步包括:
由所述计算装置确定所述视口界面的方向上的改变;
由所述计算装置确定改变后的方向与在第二内容流中捕获的场景的不同部分相对应;以及
由所述计算装置通过所述视口界面提供所述第二内容流。
40.一种系统,包括:
至少一个处理器;以及
存储指令的存储器,当所述指令被所述至少一个处理器执行时,使所述系统执行:
确定要呈现的至少一个内容项,所述内容项是使用从多个不同的位置捕获至少一个场景的一组内容流组成的;
确定用于呈现所述内容项的视口界面,其中,所述视口界面与视口形状相关联;以及
通过显示器提供所述视口界面,其中,通过所述视口界面呈现至少一个内容流,并且其中,以第一内容质量呈现所述内容流的与所述视口形状内部的区域相对应的一部分。
41.根据权利要求40所述的系统,其中,以低于所述第一内容质量的第二内容质量呈现所述内容流的与所述视口形状外部的区域相对应的另一部分。
42.根据权利要求40或41所述的系统,其中,确定所述视口界面进一步使所述系统执行:
获得描述访问所述内容项的用户的观看模式的信息,所述观看模式至少部分基于由所述用户访问的一个或多个其他内容项确定;
以及
至少部分基于所述观看模式确定所述视口形状;
优选地,其中,所述观看模式对应于在所述内容项的至少一部分的播放期间所述视口界面的方向上的改变。
43.根据权利要求40至42中任一项所述的系统,其中,确定所述视口界面进一步使所述系统执行:
获得描述访问所述内容项的多个用户的聚合观看模式的信息;
以及
至少部分基于所述聚合观看模式确定所述视口形状。
44.一种包括指令的非暂时性计算机可读存储介质,所述指令在被计算系统的至少一个处理器执行时,使所述计算系统执行包括以下步骤的方法:
确定要呈现的至少一个内容项,所述内容项是使用从多个不同的位置捕获至少一个场景的一组内容流组成的;
确定用于呈现所述内容项的视口界面,其中,所述视口界面与视口形状相关联;以及
通过显示器提供所述视口界面,其中,通过所述视口界面呈现至少一个内容流,并且其中,以第一内容质量呈现所述内容流的与所述视口形状内部的区域相对应的一部分。
45.根据权利要求44所述的非暂时性计算机可读存储介质,其中,以低于所述第一内容质量的第二内容质量呈现所述内容流的与所述视口形状外部的区域相对应的另一部分。
46.根据权利要求44或45所述的非暂时性计算机可读存储介质,其中,确定所述视口界面进一步使所述计算系统执行:
获得描述访问所述内容项的用户的观看模式的信息,所述观看模式至少部分基于由所述用户访问的一个或多个其他内容项确定;
以及
至少部分基于所述观看模式确定所述视口形状;
优选地,其中,所述观看模式对应于在所述内容项的至少一部分的播放期间所述视口界面的方向上的改变;和/或
其中,确定所述视口界面进一步使所述计算系统执行:
获得描述访问所述内容项的多个用户的聚合观看模式的信息;
以及
至少部分基于所述聚合观看模式确定所述视口形状。
CN201680067976.8A 2015-09-22 2016-09-21 用于映射球形媒体内容项的计算机实现方法、系统及存储介质 Active CN108293152B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201562222154P 2015-09-22 2015-09-22
US62/222,154 2015-09-22
US15/271,081 2016-09-20
US15/271,081 US9858706B2 (en) 2015-09-22 2016-09-20 Systems and methods for content streaming
PCT/US2016/052797 WO2017053370A1 (en) 2015-09-22 2016-09-21 Spherical videos mappings

Publications (2)

Publication Number Publication Date
CN108293152A true CN108293152A (zh) 2018-07-17
CN108293152B CN108293152B (zh) 2021-01-26

Family

ID=56997331

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680067976.8A Active CN108293152B (zh) 2015-09-22 2016-09-21 用于映射球形媒体内容项的计算机实现方法、系统及存储介质

Country Status (10)

Country Link
US (2) US9858706B2 (zh)
EP (2) EP3147758B1 (zh)
JP (1) JP2018534661A (zh)
KR (1) KR20180045049A (zh)
CN (1) CN108293152B (zh)
AU (1) AU2016326378B2 (zh)
CA (1) CA2999267A1 (zh)
IL (1) IL258156A (zh)
MX (1) MX2018003593A (zh)
WO (1) WO2017053370A1 (zh)

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9858706B2 (en) * 2015-09-22 2018-01-02 Facebook, Inc. Systems and methods for content streaming
US10096130B2 (en) * 2015-09-22 2018-10-09 Facebook, Inc. Systems and methods for content streaming
US10319071B2 (en) * 2016-03-23 2019-06-11 Qualcomm Incorporated Truncated square pyramid geometry and frame packing structure for representing virtual reality video content
US10616620B1 (en) * 2016-04-06 2020-04-07 Ambarella International Lp Low bitrate encoding of spherical video to support live streaming over a high latency and/or low bandwidth network
US10666941B1 (en) * 2016-04-06 2020-05-26 Ambarella International Lp Low bitrate encoding of panoramic video to support live streaming over a wireless peer-to-peer connection
JP6741784B2 (ja) 2016-04-08 2020-08-19 ヴィズビット インコーポレイテッド ビューを意識した360度ビデオストリーミング
US10602191B2 (en) * 2016-05-13 2020-03-24 Gopro, Inc. Apparatus and methods for video compression
US20170353737A1 (en) * 2016-06-07 2017-12-07 Mediatek Inc. Method and Apparatus of Boundary Padding for VR Video Processing
KR20190052129A (ko) * 2016-10-04 2019-05-15 김기백 영상 데이터 부호화/복호화 방법 및 장치
US10867445B1 (en) * 2016-11-16 2020-12-15 Amazon Technologies, Inc. Content segmentation and navigation
US20180160194A1 (en) * 2016-12-01 2018-06-07 Google Inc. Methods, systems, and media for enhancing two-dimensional video content items with spherical video content
US10542328B2 (en) * 2016-12-30 2020-01-21 Facebook, Inc. Systems and methods for providing content
US10313664B2 (en) * 2017-01-11 2019-06-04 Qualcomm Incorporated Adjusting field of view of truncated square pyramid projection for 360-degree video
WO2019062714A1 (en) * 2017-09-27 2019-04-04 Mediatek Inc. PROJECTION-BASED FRAME PROCESSING METHOD COMPRISING AT LEAST ONE CONDITIONED PROJECTION FACE IN A 360 DEGREE VIRTUAL REALITY PROJECTION LAYOUT
US11004173B2 (en) * 2017-03-13 2021-05-11 Mediatek Inc. Method for processing projection-based frame that includes at least one projection face packed in 360-degree virtual reality projection layout
US11057643B2 (en) 2017-03-13 2021-07-06 Mediatek Inc. Method and apparatus for generating and encoding projection-based frame that includes at least one padding region and at least one projection face packed in 360-degree virtual reality projection layout
US10547704B2 (en) 2017-04-06 2020-01-28 Sony Interactive Entertainment Inc. Predictive bitrate selection for 360 video streaming
US10362265B2 (en) 2017-04-16 2019-07-23 Facebook, Inc. Systems and methods for presenting content
US11386607B1 (en) 2017-04-16 2022-07-12 Meta Platforms, Inc. Systems and methods for capturing content
EP3388955A1 (en) * 2017-04-16 2018-10-17 Facebook, Inc. Systems and methods for presenting content
US10692187B2 (en) * 2017-04-16 2020-06-23 Facebook, Inc. Systems and methods for presenting content
CN108965917B (zh) * 2017-05-27 2021-07-20 华为技术有限公司 视频图像的呈现、封装方法和视频图像的呈现、封装装置
US10542300B2 (en) * 2017-05-31 2020-01-21 Verizon Patent And Licensing Inc. Methods and systems for customizing virtual reality data
MX2019014416A (es) * 2017-06-02 2020-02-05 Vid Scale Inc Suministro de video en 360 grados a través de la red de próxima generación.
WO2018236715A1 (en) * 2017-06-19 2018-12-27 Bitmovin, Inc. STORING PREDICTIVE CONTINUOUS DIFFUSION CONTENT OF IMMERSIVE VIDEO
US9998664B1 (en) 2017-06-20 2018-06-12 Sliver VR Technologies, Inc. Methods and systems for non-concentric spherical projection for multi-resolution view
DE112018002432T5 (de) 2017-08-18 2020-01-23 Mediatek Inc. Verfahren und Vorrichtung zum Reduzieren von Artefakten in einem projektionsbasierten Rahmen
WO2019038473A1 (en) * 2017-08-24 2019-02-28 Nokia Technologies Oy APPARATUS, METHOD AND COMPUTER PROGRAM FOR OMNIDIRECTIONAL VIDEO
WO2019107175A1 (ja) * 2017-11-30 2019-06-06 ソニー株式会社 送信装置、送信方法、受信装置および受信方法
US10701462B2 (en) * 2018-04-12 2020-06-30 International Business Machines Corporation Generating video montage of an event
US10735765B2 (en) 2018-06-07 2020-08-04 Hong Kong Applied Science and Technology Research Institute Company, Limited Modified pseudo-cylindrical mapping of spherical video using linear interpolation of empty areas for compression of streamed images
WO2019240425A1 (ko) * 2018-06-11 2019-12-19 에스케이텔레콤 주식회사 인터 예측 방법 및 영상 복호화 장치
KR20190140387A (ko) 2018-06-11 2019-12-19 에스케이텔레콤 주식회사 360도 영상의 인터 예측 방법 및 이를 이용한 영상 복호화 장치
US11032590B2 (en) 2018-08-31 2021-06-08 At&T Intellectual Property I, L.P. Methods, devices, and systems for providing panoramic video content to a mobile device from an edge server
US10638165B1 (en) * 2018-11-08 2020-04-28 At&T Intellectual Property I, L.P. Adaptive field of view prediction
US20220150464A1 (en) * 2019-03-08 2022-05-12 Sony Group Corporation Image processing apparatus, image processing method, and image processing program
US11985290B2 (en) * 2019-07-03 2024-05-14 Sony Group Corporation Information processing device, information processing method, reproduction processing device, and reproduction processing method
KR102295264B1 (ko) * 2019-11-28 2021-08-30 주식회사 알파서클 하나의 스트리밍영상을 이용하여 복수의 가상현실영상을 재생하는 가상현실영상재생장치 및 방법
CN113453025B (zh) * 2020-03-26 2023-02-28 杭州海康威视系统技术有限公司 数据获取方法及装置
KR102300570B1 (ko) * 2020-07-31 2021-09-09 주식회사 쓰리아이 전방위 이미지 촬영 어셈블리 및 이에 의해 수행되는 방법
US11800184B2 (en) 2021-01-06 2023-10-24 Tencent America LLC Method and apparatus for media scene description
US11880499B2 (en) * 2022-05-12 2024-01-23 Science Applications International Corporation Systems and methods for providing observation scenes corresponding to extended reality (XR) content

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5754182A (en) * 1994-11-09 1998-05-19 Matsushita Electric Industrial Co., Ltd. Shape model generation device for generating shape models with a reduced number of polygons while maintaining quality of the two-dimensional image of the generated shape models
US20020141650A1 (en) * 2001-03-29 2002-10-03 Electronics For Imaging, Inc. Digital image compression with spatially varying quality levels determined by identifying areas of interest
US20020140702A1 (en) * 2001-04-03 2002-10-03 Koller Dieter O. Image filtering on 3D objects using 2D manifolds
US6515673B1 (en) * 2000-02-16 2003-02-04 Enroute, Inc. Displaying immersive videos using tiled decompression
US20060256113A1 (en) * 2005-05-13 2006-11-16 Micoy Corporation Image processing and display
US20080143727A1 (en) * 2006-11-13 2008-06-19 Byong Mok Oh Method for Scripting Inter-scene Transitions
CN101606177A (zh) * 2007-01-04 2009-12-16 鸣川肇 信息处理方法
US20120105601A1 (en) * 2010-10-27 2012-05-03 Samsung Electronics Co., Ltd. Apparatus and method for creating three-dimensional panoramic image by using single camera
US20130093839A1 (en) * 2011-10-12 2013-04-18 Samsung Electronics Co., Ltd. Apparatus and method of generating three-dimensional (3d) panoramic image
CN103155538A (zh) * 2010-10-05 2013-06-12 索尼电脑娱乐公司 图像显示装置及图像显示方法
KR101359011B1 (ko) * 2013-12-23 2014-02-07 (주)미디어스페이스 지구 환경 3차원 가시화 시스템
CN103607568A (zh) * 2013-11-20 2014-02-26 深圳先进技术研究院 立体街景视频投影方法及系统
CN103777455A (zh) * 2014-02-25 2014-05-07 浙江大学 基于光场拼接的球形沉浸式三维显示方法及系统
US20150249815A1 (en) * 2013-05-01 2015-09-03 Legend3D, Inc. Method for creating 3d virtual reality from 2d images

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB8518803D0 (en) * 1985-07-25 1985-08-29 Rca Corp Locating target patterns within images
US6141034A (en) * 1995-12-15 2000-10-31 Immersive Media Co. Immersive imaging method and apparatus
US6417867B1 (en) * 1999-05-27 2002-07-09 Sharp Laboratories Of America, Inc. Image downscaling using peripheral vision area localization
US7015954B1 (en) * 1999-08-09 2006-03-21 Fuji Xerox Co., Ltd. Automatic video system using multiple cameras
US6567086B1 (en) * 2000-07-25 2003-05-20 Enroute, Inc. Immersive video system using multiple video streams
EP1223757B1 (en) * 2001-01-09 2006-03-22 Metabyte Networks, Inc. System, method, and software application for targeted advertising via behavioral model clustering, and preference programming based on behavioral model clusters
US20030011714A1 (en) * 2001-07-10 2003-01-16 Nevins Robert W. System and method for transmitting program data including immersive content
US20030067476A1 (en) * 2001-10-04 2003-04-10 Eastman Kodak Company Method and system for displaying an image
US20070035562A1 (en) * 2002-09-25 2007-02-15 Azuma Ronald T Method and apparatus for image enhancement
EP1557038A4 (en) * 2002-10-30 2009-05-13 Nds Ltd INTERACTIVE DIFFUSION SYSTEM
US20070182812A1 (en) * 2004-05-19 2007-08-09 Ritchey Kurtis J Panoramic image-based virtual reality/telepresence audio-visual system and method
US8797352B2 (en) * 2005-08-09 2014-08-05 Total Immersion Method and devices for visualising a digital model in a real environment
CN100501566C (zh) * 2006-01-05 2009-06-17 李明 曲面电影投影系统及方法
US8553028B1 (en) * 2007-10-29 2013-10-08 Julian Michael Urbach Efficiently implementing and displaying independent 3-dimensional interactive viewports of a virtual world on multiple client devices
EP2499827A4 (en) * 2009-11-13 2018-01-03 Pixel Velocity, Inc. Method for tracking an object through an environment across multiple cameras
KR20110068764A (ko) 2009-12-15 2011-06-22 (주)지에스엠솔루션 전방위 카메라로부터 취득한 구면 영상을 이용한 객체정보 제공 시스템 및 그 방법
EP2408196B1 (en) * 2010-07-14 2017-01-11 Alcatel Lucent A method, server and terminal for generating a composite view from multiple content items
EP2643820B1 (en) * 2010-11-24 2018-01-24 Google LLC Rendering and navigating photographic panoramas with depth information in a geographic information system
CN102971770B (zh) * 2011-03-31 2016-02-10 松下电器产业株式会社 进行全周围立体图像的描绘的图像描绘装置、图像描绘方法
US20130249947A1 (en) * 2011-08-26 2013-09-26 Reincloud Corporation Communication using augmented reality
SG11201502194QA (en) * 2012-09-21 2015-04-29 Nokia Technologies Oy Method and apparatus for video coding
WO2014067566A1 (en) * 2012-10-30 2014-05-08 Telefonaktiebolaget L M Ericsson (Publ) Method and device for streaming video
US9245372B2 (en) * 2012-12-04 2016-01-26 Nintendo Co., Ltd. Map systems and methods for displaying panoramic images
KR20140100656A (ko) * 2013-02-06 2014-08-18 한국전자통신연구원 전방향 영상 및 3차원 데이터를 이용한 시점 영상 제공 장치 및 방법
US20160165259A1 (en) * 2013-07-18 2016-06-09 Lg Electronics Inc. Method and apparatus for processing video signal
US9426192B2 (en) * 2014-01-02 2016-08-23 International Business Machines Corporation Predicting viewing activity of a posting to an activity stream
US10368097B2 (en) * 2014-01-07 2019-07-30 Nokia Technologies Oy Apparatus, a method and a computer program product for coding and decoding chroma components of texture pictures for sample prediction of depth pictures
US9438745B2 (en) * 2014-02-28 2016-09-06 Verizon Patent And Licensing Inc. Program services including adaptive failover and backup services
WO2016018487A2 (en) * 2014-05-09 2016-02-04 Eyefluene, Inc. Systems and methods for biomechanically-based eye signals for interacting with real and virtual objects
US10204658B2 (en) * 2014-07-14 2019-02-12 Sony Interactive Entertainment Inc. System and method for use in playing back panorama video content
JP6501904B2 (ja) * 2015-05-27 2019-04-17 グーグル エルエルシー 球面ビデオのストリーミング
US9858706B2 (en) * 2015-09-22 2018-01-02 Facebook, Inc. Systems and methods for content streaming

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5754182A (en) * 1994-11-09 1998-05-19 Matsushita Electric Industrial Co., Ltd. Shape model generation device for generating shape models with a reduced number of polygons while maintaining quality of the two-dimensional image of the generated shape models
US6515673B1 (en) * 2000-02-16 2003-02-04 Enroute, Inc. Displaying immersive videos using tiled decompression
US20020141650A1 (en) * 2001-03-29 2002-10-03 Electronics For Imaging, Inc. Digital image compression with spatially varying quality levels determined by identifying areas of interest
US20020140702A1 (en) * 2001-04-03 2002-10-03 Koller Dieter O. Image filtering on 3D objects using 2D manifolds
US20060256113A1 (en) * 2005-05-13 2006-11-16 Micoy Corporation Image processing and display
US20080143727A1 (en) * 2006-11-13 2008-06-19 Byong Mok Oh Method for Scripting Inter-scene Transitions
CN101606177A (zh) * 2007-01-04 2009-12-16 鸣川肇 信息处理方法
CN103155538A (zh) * 2010-10-05 2013-06-12 索尼电脑娱乐公司 图像显示装置及图像显示方法
US20120105601A1 (en) * 2010-10-27 2012-05-03 Samsung Electronics Co., Ltd. Apparatus and method for creating three-dimensional panoramic image by using single camera
US20130093839A1 (en) * 2011-10-12 2013-04-18 Samsung Electronics Co., Ltd. Apparatus and method of generating three-dimensional (3d) panoramic image
US20150249815A1 (en) * 2013-05-01 2015-09-03 Legend3D, Inc. Method for creating 3d virtual reality from 2d images
CN103607568A (zh) * 2013-11-20 2014-02-26 深圳先进技术研究院 立体街景视频投影方法及系统
KR101359011B1 (ko) * 2013-12-23 2014-02-07 (주)미디어스페이스 지구 환경 3차원 가시화 시스템
CN103777455A (zh) * 2014-02-25 2014-05-07 浙江大学 基于光场拼接的球形沉浸式三维显示方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
李忠炤: "自由视点视频采集及其传输系统研究", 《中国优秀硕士学位论文全文数据库(电子期刊)》 *

Also Published As

Publication number Publication date
MX2018003593A (es) 2018-06-18
EP3147758A1 (en) 2017-03-29
US20180108171A1 (en) 2018-04-19
EP3147758B1 (en) 2022-02-16
CN108293152B (zh) 2021-01-26
US20170084073A1 (en) 2017-03-23
CA2999267A1 (en) 2017-03-30
EP3985489A1 (en) 2022-04-20
AU2016326378A1 (en) 2018-04-12
AU2016326378B2 (en) 2019-08-29
KR20180045049A (ko) 2018-05-03
US9858706B2 (en) 2018-01-02
WO2017053370A1 (en) 2017-03-30
US10657702B2 (en) 2020-05-19
JP2018534661A (ja) 2018-11-22
IL258156A (en) 2018-05-31

Similar Documents

Publication Publication Date Title
CN108293152A (zh) 球形视频映射
US10657667B2 (en) Systems and methods for content streaming
CN109417655A (zh) 用于呈现内容的系统和方法
US10645376B2 (en) Systems and methods for presenting content
US10692187B2 (en) Systems and methods for presenting content
US10445614B2 (en) Systems and methods for evaluating content
CN109076187A (zh) 用于呈现内容的系统和方法
US10362265B2 (en) Systems and methods for presenting content
US11182639B2 (en) Systems and methods for provisioning content
US10484675B2 (en) Systems and methods for presenting content
US20220092332A1 (en) Systems and methods for provisioning content
US20190200083A1 (en) Systems and methods for presenting content
US10489979B2 (en) Systems and methods for providing nested content items associated with virtual content items
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
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: California, USA

Patentee after: Yuan platform Co.

Address before: California, USA

Patentee before: Facebook, Inc.