CN110495166B - 一种计算机实现的方法、计算装置以及可读存储介质 - Google Patents
一种计算机实现的方法、计算装置以及可读存储介质 Download PDFInfo
- Publication number
- CN110495166B CN110495166B CN201880023571.3A CN201880023571A CN110495166B CN 110495166 B CN110495166 B CN 110495166B CN 201880023571 A CN201880023571 A CN 201880023571A CN 110495166 B CN110495166 B CN 110495166B
- Authority
- CN
- China
- Prior art keywords
- video data
- computing device
- frame
- data
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 65
- 230000033001 locomotion Effects 0.000 claims abstract description 71
- 238000013507 mapping Methods 0.000 claims description 11
- 238000013519 translation Methods 0.000 claims description 9
- 230000009466 transformation Effects 0.000 claims description 5
- 230000008859 change Effects 0.000 abstract description 13
- 238000007726 management method Methods 0.000 description 36
- 238000004891 communication Methods 0.000 description 24
- 230000006870 function Effects 0.000 description 14
- 230000003287 optical effect Effects 0.000 description 14
- 230000008569 process Effects 0.000 description 13
- 230000000694 effects Effects 0.000 description 10
- 230000000007 visual effect Effects 0.000 description 10
- 210000003128 head Anatomy 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 8
- 230000014616 translation Effects 0.000 description 8
- 230000008878 coupling Effects 0.000 description 7
- 238000010168 coupling process Methods 0.000 description 7
- 238000005859 coupling reaction Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 230000004044 response Effects 0.000 description 7
- 230000001413 cellular effect Effects 0.000 description 6
- 238000013499 data model Methods 0.000 description 6
- 238000001514 detection method Methods 0.000 description 5
- 230000002093 peripheral effect Effects 0.000 description 5
- 241000699666 Mus <mouse, genus> Species 0.000 description 4
- 239000008186 active pharmaceutical agent Substances 0.000 description 4
- 238000007792 addition Methods 0.000 description 3
- 238000012937 correction Methods 0.000 description 3
- 238000009795 derivation Methods 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000006855 networking Effects 0.000 description 3
- 238000012805 post-processing Methods 0.000 description 3
- 241001465754 Metazoa Species 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 239000003086 colorant Substances 0.000 description 2
- 238000013481 data capture Methods 0.000 description 2
- 230000005484 gravity Effects 0.000 description 2
- 238000007654 immersion Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 238000010079 rubber tapping Methods 0.000 description 2
- 239000004984 smart glass Substances 0.000 description 2
- 230000008093 supporting effect Effects 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 241000976924 Inca Species 0.000 description 1
- 241000699670 Mus sp. Species 0.000 description 1
- 241000282320 Panthera leo Species 0.000 description 1
- 241000278713 Theora Species 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 230000009118 appropriate response Effects 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000036772 blood pressure Effects 0.000 description 1
- 230000036760 body temperature Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 239000003344 environmental pollutant Substances 0.000 description 1
- 210000000887 face Anatomy 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- 230000008921 facial expression Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 229910000078 germane Inorganic materials 0.000 description 1
- 231100001261 hazardous Toxicity 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 231100000719 pollutant Toxicity 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000008261 resistance mechanism Effects 0.000 description 1
- 230000004266 retinal recognition Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000002604 ultrasonography Methods 0.000 description 1
- 230000001755 vocal effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/106—Processing image signals
- H04N13/111—Transformation of image signals corresponding to virtual viewpoints, e.g. spatial image interpolation
- H04N13/117—Transformation of image signals corresponding to virtual viewpoints, e.g. spatial image interpolation the virtual viewpoint locations being selected by the viewers or determined by viewer tracking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/017—Gesture based interaction, e.g. based on a set of recognized hand gestures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/0346—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/16—Spatio-temporal transformations, e.g. video cubism
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4038—Image mosaicing, e.g. composing plane images from plane sub-images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/292—Multi-camera tracking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/02—Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
- G11B27/031—Electronic editing of digitised analogue information signals, e.g. audio or video signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/20—Image signal generators
- H04N13/282—Image signal generators for generating image signals corresponding to three or more geometrical viewpoints, e.g. multi-view systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/30—Image reproducers
- H04N13/366—Image reproducers using viewer tracking
- H04N13/383—Image reproducers using viewer tracking for tracking with gaze detection, i.e. detecting the lines of sight of the viewer's eyes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/698—Control of cameras or camera modules for achieving an enlarged field of view, e.g. panoramic image capture
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/90—Arrangement of cameras or camera modules, e.g. multiple cameras in TV studios or sports stadiums
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/222—Studio circuitry; Studio devices; Studio equipment
- H04N5/262—Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
- H04N5/2628—Alteration of picture size, shape, position or orientation, e.g. zooming, rotation, rolling, perspective, translation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/222—Studio circuitry; Studio devices; Studio equipment
- H04N5/262—Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
- H04N5/265—Mixing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
- H04N5/765—Interface circuits between an apparatus for recording and another apparatus
- H04N5/77—Interface circuits between an apparatus for recording and another apparatus between a recording apparatus and a television camera
- H04N5/772—Interface circuits between an apparatus for recording and another apparatus between a recording apparatus and a television camera the recording apparatus and the television camera being placed in the same enclosure
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
- H04N5/91—Television signal processing therefor
- H04N5/92—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
- H04N5/9201—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving the multiplexing of an additional signal and the video signal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N9/00—Details of colour television systems
- H04N9/79—Processing of colour television signals in connection with recording
- H04N9/80—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
- H04N9/804—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components
- H04N9/8042—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components involving data reduction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N9/00—Details of colour television systems
- H04N9/79—Processing of colour television signals in connection with recording
- H04N9/80—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
- H04N9/82—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only
- H04N9/8205—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only involving the multiplexing of an additional signal and the colour video signal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/22—Cropping
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Geometry (AREA)
- Computer Graphics (AREA)
- Television Signal Processing For Recording (AREA)
- User Interface Of Digital Computer (AREA)
- Controls And Circuits For Display Device (AREA)
- Processing Or Creating Images (AREA)
Abstract
***和方法提供球形视频数据的编辑。在一个示例中,计算装置可以接收球形视频(或与大于与计算装置的显示屏相关联的角视场的角视场相关联的视频),诸如通过内置的球形视频捕获***或从另一个装置获取视频数据。计算装置可以显示球形视频数据。在显示球形视频数据时,计算装置可以跟踪对象(例如,计算装置、用户、球形视频数据中表示的真实或虚拟对象等)的移动以改变进入球形视频的视口的位置。计算装置可以从视口的新位置生成新视频。
Description
优先权
本申请要求于2017年12月15日提交的美国专利申请序列号 15/844,089的优先权权益,在此声明其每一个的优先权权益,并且其每一个通过引用整体并入本文。
技术领域
本公开一般涉及视频编辑领域,并且更特别地涉及球形视频编辑。
背景技术
球形视频(有时被称为虚拟现实(VR)视频、沉浸式视频、180度或 360度视频等)正成为用户享受数字的越来越流行的方式。这些视频允许用户左右平移,放大和缩小,以及从当前视角旋转到新视角,以模拟沉浸在由视频数据表示的虚拟环境中。球形视频通常使用捕获场景的不同视角的多个摄像头来制作,并且呈现在头戴式显示器(HMD)和其它计算装置 (例如,台式机、膝上型计算机、平板计算机、智能电话等)中。
附图说明
本公开将参考附图描述各种实施例,在附图中:
图1示出了根据实施例的用于创建球形视频数据的工作流程的示例;
图2A和图2B示出了根据实施例的用于内容共享网络的客户端应用的图形用户界面的示例;
图3A-3D示出了根据实施例的用于确定用于控制进入球形视频数据的视口的移动数据的方法的示例;
图4A-4G示出了根据实施例的用于编辑球形视频数据的方法的示例;
图5A-5F示出了根据实施例的用于表示基于用于控制进入视频中的视口的输入移动数据从球形视频数据编辑的视频的方法的示例;
图6示出了根据实施例的用于基于用于控制进入视频的视口的输入移动数据来编辑球形视频数据的过程的示例;
图7示出了根据实施例的网络环境的示例;
图8示出了根据实施例的内容管理***的示例;
图9示出了根据实施例的内容管理***的数据模型的示例;
图10示出了根据实施例的消息的数据结构的示例;
图11示出了根据实施例的用于时间限制内容的数据流的示例;
图12示出了根据实施例的软件架构的示例;以及
图13示出了根据实施例的计算***的示例。
具体实施方式
尽管球形视频正变成用户分享他们的更多体验的越来越流行的介质,但是可能并非所有能够播放视频的计算装置都能够显示球形视频(或以球形视频制作者预期的方式显示球形视频),因为与传统视频相比,呈现球形视频通常需要更多的计算资源。在一些情况下,由于处理(CPU和/或图形)和网络延迟,播放球形视频可能会提供较差的用户体验。由于移动计算装置通常有限的计算资源(例如,相对于台式机、膝上型计算机等),用户可能特别不愿意在这些装置上播放和共享球形视频。球形视频的另一个潜在缺点是视频制作者不太倾向于使用球形视频摄像头(有时称为全方位摄像头、360度摄像头、VR摄像头等)、支架或另一种球形视频捕获***直接跟踪关注的对象,因为球形视频捕获***的增大的角视场在这方面比传统的视频摄像头更宽容。此外,制作人假设他们可以在后期处理中编辑球形视频,但是经由传统的球形视频编辑工具进行编辑通常需要大量的时间和精力。该因素还可能阻止用户关注于进行随意视频编辑,或者有时用户可能仅想要短暂地共享球形视频内容。
根据本公开的各种实施例的***和方法可以克服在用于编辑球形视频数据的传统方法中经历的一个或多个前述和其它缺陷。在实施例中,计算装置可以接收球形视频数据或与大于计算装置的显示屏的角视场的角视场 (例如,120°、180°、270°、360°等)相关联的视频数据。例如,计算装置可以能够从多个视点捕获相同场景的多个视频,或者计算装置可以从另一个计算装置接收球形视频数据,诸如通过在因特网下载视频数据或者传输来自球形视频捕获***的视频数据。
当计算装置播放球形视频数据时,计算装置可以接收与基于输入移动数据编辑或记录球形视频相关联的输入。例如,计算装置可以包括用于内容共享网络的客户端应用,该客户端应用包括用户可以按下以启动编辑/ 记录并保持联系以继续编辑/记录的虚拟按钮。作为另一示例,计算装置可以接收用于启动编辑/记录的第一手势(例如,物理或虚拟按钮的致动、语音命令、手势、眼睛手势、头部姿势等)以及用于暂停或停止编辑/记录的第二手势。
计算装置可以跟踪对象的移动以改变进入球形视频数据的视口的位置。计算装置可以使用位置的改变来使编辑的视频的帧居中。被跟踪对象可以包括计算装置本身、计算用户的一部分(例如,眼睛、头部等),或计算装置所安装的其它对象(例如,无人机、车辆等)。计算装置可以使用运动和位置传感器、摄像头、其它传感器或装置或这些组件的组合来跟踪移动对象。在一些实施例中,被跟踪对象还可以包括球形视频数据中表示的对象(真实或虚拟)。
计算装置可以使用视口的新位置和与那些位置对应的球形视频数据的像素的至少一部分来生成编辑的视频。新位置可以映射到在编辑视频的回放时显示的球形视频数据的区域的质心;用于更新球形视频数据的旋转、平移和/或变换信息;从原始球形视频数据中提取的表面或体积。在一些实施例中,编辑的视频的帧可以限于可在计算装置的显示屏上显示的帧。在其它实施例中,编辑的视频的帧可包括与角视场(例如,水平、垂直、对角线等)相关联的球形视频数据的裁剪帧,该角视场大于显示屏的角视场但是沿至少一个维度小于360°(例如,120°、180°等)。在其它实施例中,计算装置或内容服务器可以取决于接收方计算装置的计算资源(例如,处理、存储器、存储、网络带宽、功率等)的可用性来确定所编辑的视频的格式。在一些实施例中,计算装置或内容服务器可以另外地或可替代地使用其它策略来减小编辑的视频的大小以用于分发,诸如通过修改编辑的视频的视频分辨率(例如,均匀的视频分辨率,或者变化视频分辨率的区域)、编辑视频的每秒帧率(fps)等。
图1示出了用于创建球形视频数据的工作流程100的示例。对于在此所讨论的任何方法、过程或流程,除非另有说明,否则可以在各种实施例的范围内存在以相似或替代顺序或并行地执行的附加的、更少的或替代的步骤或发生的阶段。工作流程100包括四个主要阶段,数据捕获阶段120 (例如,音频数据、视频数据、静止图像数据等)、拼接阶段140、后处理阶段160和呈现阶段180。在数据捕获阶段120中,球形视频制作者可以使用以彼此已知的偏移定位和/或包括具有不同焦距或角视场(例如,鱼眼、广角等)的镜头的多个摄像头,以同时捕获同一场景的多个视角的视频数据。多个摄像头可以是单个装置的一部分,诸如360度数字摄像头122 (例如,SAMSUNG等)、360 度摄像头无人机124(例如,VR 360、QUEEN BROBOTICS EXO360DRONETM、360DESIGNS FLYING EYETM等)、智能车辆126(例如,等)、智能电话128 (例如,APPLESAMSUNGHUAWEI等)、可穿戴装置130(例如,头戴式装置、智能眼镜、耳机等)或其它装置。也可以使用安装架或支架132(例如,FREEDOM360TM、 VARAVONTM等)来耦接单独且不同的摄像头。安装架或支架可以手持或耦接到推车、无人机、车辆、用户头部或其他身体部位以及其它对象。
球形视频捕获***的多个摄像头可具有不同的角视场。单个摄像头的角视场α取决于镜头的焦距f和摄像头传感器的大小d:
除非另有说明,否则角视场可以水平、垂直或对角地测量,但在此将被称为水平和垂直角视场二者。鱼眼镜头可以具有大约180°或更大的角视场,广角镜头可以具有大约在60°和120°之间的角视场(尽管一些广角镜头可以具有大于120°的角视场),标准镜头可以具有大约在30°和60°之间的角视场,并且长焦镜头可以具有大约35°或更小的角视场。用于球形视频捕获***的配置的示例可以包括具有鱼眼镜头的一对摄像头,其中第一摄像头面向前方,并且第二摄像头面向后方。鱼眼镜头可具有大于180°(例如,210°)的角视场,因此在摄像头捕获的图像数据中存在用于在拼接阶段140期间改善输出的重叠。另一示例是包括具有以立方体形状配置的广角或标准镜头的六个摄像头的***。其它球形视频捕获***可以包括更少或更多数量的摄像头和/或可以以不同配置布置。
在拼接阶段140中,将来自每个摄像头的视频数据拼接在一起以创建与角视场相关联的单个视频,该角视场可以大于球形视频捕获***的单个摄像头的角视场。一些球形视频摄像头具有内置于摄像头中的拼接功能。其他用户可能更喜欢从原始视频数据拼接球形视频,或者可能缺少具有该内置功能的***。在这些情况下,这些用户将运行拼接软件将来自每个摄像头的连续镜头组合成球形视频数据。这种软件的示例包括来自 (的子公司)的来自的(原名);以及来自 STEREOSTITCHTM(黎巴嫩Jounieh的DERMANDARTMS.A.L.的子公司) 的StereoStitch等。视频拼接软件通常要求来自每个摄像头的连续镜头具有相同的格式(例如,MP4或MOV)和相同的每秒帧数(fps),但是一些拼接软件可以处理不同格式和fps的连续镜头。该软件还可能需要来自每个摄像头的连续镜头的同步142。拼接软件可以使用在捕获开始时记录的音频或运动信号来提供用于手动同步或自动同步的选项。拼接软件还可以允许用户从视频的时间线进行修剪,并且在拼接146来自每个摄像头的连续镜头之前选择用于校准144的特定帧以生成球形视频数据。
在后处理阶段160中,球形视频制作者可以使用来自***公司的诸如Adobe和/或AfterCYBERLINK 和来自公司的FINAL等的软件来编辑球形视频数据。该球形视频编辑软件可以帮助用户对球形视频数据进行校正162,诸如对径向失真、曝光差异、渐晕等的校正。在一些情况下,也可以在预处理期间进行这些校正以改善拼接阶段140的输出。取决于视频编辑软件的特征,用户还可以添加、修改或删除某些效果164,诸如编辑与视频一起的音频;以及添加剪辑或以其它方式重新排列视频的时间线;添加虚拟对象或其它特殊效果;添加标题、副标题和其它文字等。编辑可以涉及对元数据和/或视频数据的改变。例如,众所周知的切割或过渡类型是特写镜头,其可以从远距离开始并且缓慢地缩放到关注的对象中。视频编辑软件可以通过操纵一组帧上的像素来***该类型的过渡以产生该效果。可替代地或另外地,视频编辑软件可以改变元数据以创建相同或类似的效果。
在已经添加(或修改、删除等)效果164之后,球形视频制作者可以使用视频编辑软件将球形视频数据导出166到合适的格式以供呈现。这可以涉及将最初捕获为球形点数据的视频数据映射到特定投影上,诸如方位角投影、圆锥投影或圆柱投影等。用于投影球形视频数据的其它方法包括立方体映射或其它多面体映射、抛物面映射、正弦映射、分层等面积等间隔像素化(HEALPix),以及许多其它可能性。
方位角投影将球体直接投射到平面上。方位角投影的变体包括:等面积方位角投影,这是沿赤道未失真的投影,但是失真朝向极点显著增加;等距方位角投影,其中所有点处于距中心点成比例正确的距离的投影;所有投影线(例如,球体的纬度和经线)与投影平面正交的正射投影;以及立体投影,除了投影点之外的整个球体的投影。
圆锥投影将球体投射到锥体上,并且然后将锥体展开到平面上。圆锥投影的变体包括:等面积圆锥投影,这是使用两个标准平行线的投影,使得标准平行线之间的失真最小,但不保留尺度和形状;以及等距圆锥投影,这是使用两个标准平行线的投影,使得沿着经线的距离按比例正确,并且沿投影仪选择的两个标准平行线的距离也是正确的。
圆柱投影将球体投射到圆柱体上,并且然后将圆柱体展开到平面上。圆柱投影的变体包括:等距圆柱投影(有时称为等角矩形投影或地理投影),其是将经线映射到恒定间隔的垂直直线并且将纬线映射到恒定间隔的水平线的投影;以及墨卡托(Mercator)投影,其是如下的投影,其中线性尺度在任何点周围的所有方向中相等,以保持小对象的角度和形状,但使对象的大小失真,该大小从赤道到极点在纬度上增加。
在立方体映射中,场景被投影到立方体的六个面上,每个面表示场景的顶部、底部、左侧、右侧、前部和后部的正交90°视图。立方体映射的变体是等角立方体映射,其中立方体的每个面具有更均匀的像素覆盖。这可以通过如下实现:绘制视频像素密度与观看者正在观看的每个方向的显示像素密度的比率的饱和度图(例如,像素密度比(PDR)),并确定要显示的最优像素数,使得对于每个采样的视图方向,该比率尽可能接近1。其它基于多面体的映射可以使用不同的多面体(例如,金字塔、正方形金字塔、三角形棱柱、矩形棱柱、十二面体等)。
作为一个示例,可以使用以下关系将球形视频数据投影到等角矩形帧上:
其中r是从原点到球体上的点的距离(例如,球体的半径),是极角(例如,角度r与正z轴相交),并且θ是方位角(例如,r到x-y平面的投影和正x轴之间的角度)。这些相同的关系可用于将等角矩形帧数据投影回球形点数据:
除了选择投影表面之外,在导出166期间的另一个考虑是视频分辨率。球形视频帧包括用于拟在传统矩形显示屏上显示的视频帧的像素数的大约 4倍。例如,表1提供了具有沿水平轴和垂直轴的视频帧分辨率、近似等效的传统视频标准(以16:9比率编码为矩形帧)、以及假设对于使用提供近似90°角视场的球形视频播放器(例如,头戴式装置)来显示球形视频帧可用的2:1宽高比的沿水平轴的近似像素数的示例。如表1中所示,通过球形视频播放器看到的HD或1080p分辨率的球形视频帧可以使用与传统视频标准中的4K视频帧大致相同的像素,并且4K分辨率的球形视频帧可以使用与传统视频标准中的16K视频帧大致相同的像素。
表1:视频帧分辨率
在导出166期间的相关考虑是是否以单视场或立体格式存储球形视频。用于编码立体视频的典型方法是将视频识别为元数据中的立体,并将左侧和右侧帧放置在彼此之上或彼此相邻并且识别元数据中的帧布置。这可以将每个视频帧的分辨率减半。用于实现立体视频的其它方法可以使用单个视频帧和元数据来平移、旋转或以其它方式变换单个帧以创建左侧帧和/ 或右侧帧。
导出166还可以包括选择用于封装球形视频的数字媒体容器以及用于编码内容的视频、音频和静止图像编码格式和编解码器。数字媒体容器的示例包括:公司的音频视频交错(AVI)或高级***格式 (ASF);公司的Quicktime(MOV);来自ISO/IEC JTC1运动图像专家组(MPEG)的MPEG-4(MP4);来自XIPH.ORGTM的Ogg (OGG);来自MATROSKA.ORGTM的Matroska(MKV);等等。
数字媒体编码格式/编解码器的示例包括高级音频编码(AAC)、 MPEG-x音频(例如,MPEG-1音频、MPEG-2音频、MPEG第三层音频 (MP3)、MPEG-4音频等)或来自MPEG的MPEG-x第2部分;来自 ALLIANCE FOR OPEN MEDIATM的AOMedia Video 1(AV1);公司的Apple无损音频编解码器(ALAC)或音频交换文件格式(AIFF);来自XIPH.ORG的免费无损音频编解码器(FLAC)、Opus、Theora或 Vorbis;来自ITU-T视频编码专家组(VCEG)和MPEG的联合视频小组的H.26x(例如,H.264或MPEG-4第10部分、高级视频编码(MPEG-4 AVC)、H.265或高效视频编码(HEVC)等);来自公司的 VPx(例如,VP8、VP9等);以及来自公司的Windows 音频文件格式(WAV)、Windows Media Video(WMV)或Windows Media Audio(WMA);等等。
在后处理阶段160之后,可以在呈现阶段180期间分发球形视频数据以用于回放。例如,接收方可以通过如下接收球形视频数据:使用蜂窝、卫星或Wi-Fi连接通过广域网(WAN)(例如,因特网);局域网(LAN) (有线或无线)或其它本地无线通信交换(例如,近场通信(NFC)、红外(IR)、超声波等);或其它物理交换(例如,通用串行总线(USB)闪存驱动器或其它磁盘或驱动器)。用户可以利用各种类型的装置查看球形视频内容并与之交互,该装置诸如:头戴式显示器 (HMD)182、计算装置184(例如,服务器、工作站、台式计算机、膝上型计算机、平板计算机、智能电话、可穿戴装置(例如,智能手表、智能眼镜等)等,或专用媒体播放装置186(例如,数字电视、机顶盒、DVD 播放器、DVR、视频游戏控制台、电子阅读器、便携式媒体播放器等)。回放装置将具有运行球形视频回放软件和球形视频数据的足够的处理、存储器、存储、网络、电源和其它资源;用于显示视频数据的一个或多个显示屏(例如,集成在膝上型计算机、平板计算机、智能电话、可穿戴装置等内,或***装置);用于发出音频数据的扬声器(集成或***);以及用于改变球形视频数据的视角的输入装置(集成或***)(例如,物理方向按钮、触摸屏、指点装置(例如,鼠标、轨迹球、指点杆、触控笔、触摸板等)、运动传感器(例如,加速度计、陀螺仪等)、位置传感器(例如,磁力计等)、光学传感器(例如,电荷耦接器件(CCD)、互补金属氧化物半导体(CMOS)传感器、红外传感器等)、麦克风和其它传感器和装置)。
图2A和图2B分别示出了在计算装置202上执行并在触摸屏204上显示的(例如,文本、图像、音频、视频、应用等)编辑和分发应用的图形用户界面200和250的示例。图形用户界面200和250仅是用于内容共享网络的客户端应用的一组用户界面的一个示例,并且其它实施例可以包括更少或更多的元素。例如,其它实施例可以利用不具有图形元素的用户界面(例如,语音用户界面)。客户端应用的示例包括来自公司的或SPECTACLESTM。然而,本公开通常适用于创建和编辑内容(例如,文本、音频、视频或其它数据)以及与内容共享网络的其他用户共享内容的任何应用,诸如社交媒体和社交联网;照片、视频和其它共享;网络日志(博客);新闻聚合者;内容管理***平台;等等。
在该示例中,客户端应用可以响应于捕获球形视频数据的计算装置 202或者从另一电子装置接收球形视频数据并且在内容共享网络客户端应用、电子通信客户端应用(例如,电子邮件客户端、短消息服务(SMS) 文本消息客户端、即时消息程序等)、网络浏览器/网络应用、文件管理器或其它操作***实用程序、数据库或其它合适的应用内呈现球形视频数据的计算装置202,来呈现图形用户界面200。图形用户界面200包括视频图标206,该视频图标206可以与用于向本地存储装置、远程存储装置和/或其它计算装置发送球形视频数据、球形视频数据的一部分或球形视频数据的编辑版本的界面相关联。
图形用户界面200还包括可以与客户端应用的特定功能或特征相关联的各种图标,诸如文本工具图标208、绘图工具图标210、虚拟对象编辑器图标212、剪刀工具图标214、回形针工具图标216、定时器图标218、声音工具图标220、保存工具图标222、添加工具图标222和退出图标224。诸如通过接收来自物理指针的触摸或敲击或来自虚拟指针的点击的计算装置202,文本工具图标208的选择可以使计算装置202显示文本编辑界面以添加、删除、编辑、格式化(例如,粗体、下划线、斜体等)、着色和调整文本大小和/或对视频应用其它文本效果。响应于接收到绘图工具图标 210的选择,计算装置202可以呈现用于选择不同的颜色和笔刷大小的绘图编辑器界面以便在视频中绘图;添加、删除和编辑视频中的绘图;和/或将其它图像效果应用于视频。
剪刀工具图标214可以与用于创建计算装置202可以合并到视频中的“贴纸(sticker)”或虚拟对象的剪切、复制和粘贴界面相关联。在一些实施例中,剪刀工具图标214还可以与如下特征相关联,诸如“Magic Eraser”,用于删除视频中的指定对象;“TintBrush”,用于以不同颜色绘制指定对象;以及“Backdrop”,用于添加、删除和/或编辑视频中的背景。回形针工具图标216可以与用于将网站(例如,URL)、搜索查询和类似内容附加在视频中的界面相关联。定时器图标218可以与用于设置视频可以被其他用户访问多长时间的界面相关联。声音工具图标220的选择可以导致计算装置202呈现用于打开/关闭音频和/或调节音频音量的界面。保存工具图标222可以与用于将视频保存到照片、图像和其它内容的个人或私人存储库(例如,在应用中称为“存储器”)的界面相关联。添加工具图标224可以与用于将视频添加到照片、图像和其它内容的共享存储库(例如,在应用中称为“故事”)的界面相关联。退出图标226的选择可以使计算装置202退出视频编辑模式并呈现在客户端应用中导航到的最后用户界面。
图2B示出了图形用户界面250,计算装置202可以在客户端应用进入视频编辑模式时显示该图形用户界面250。图形用户界面250可以包括360°图标252以指示正在播放或编辑的当前视频包括球形视频数据。图形用户界面250还包括图形用户界面元素254,该图形用户界面元素254包括两个元素,记录按钮256和擦除器258。记录按钮256可以指示客户端应用正在记录当前正在由应用呈现的球形视频数据的副本。例如,用户可以在与记录按钮256对应的区域按压触摸屏204指定的时间段(例如,1s、2s 等),以使客户端应用显示图形用户界面元素254。在一些实施例中,客户端应用可以在最初接收到潜在的记录输入时将视频数据缓冲指定的时间段以确保记录视频的该部分,并且如果客户端应用已停止接收记录输入(例如,用户将他的手指抬离触摸屏204)或以其它方式接收与暂停或停止编辑或记录相关联的输入(例如,双击到计算装置202),则在指定的时间段后丢弃缓冲的视频数据。以该方式,客户端应用可以忽略误报记录输入。此外,指定的时间段可以作为最小记录长度操作。
在其它实施例中,用户可以在与图形用户界面元素254对应的一般区域中按压触摸屏204(例如,在定时器图标218下方以及视频图标206和其它底部对齐图标上方)和/或与图标或其它用户界面元素不相关联的触摸屏204的其它部分(例如,在360°图标252下方,在定时器图标218和其它右对齐图标的左侧,以及在视频图标206和其它底部对齐图标上方)。在一些实施例中,当客户端应用处于视频编辑模式时,可以始终显示图形用户界面元素254,但是记录按钮256将是半透明的(或第一颜色),直到客户端应用接收到记录输入并且记录按钮256将变得不透明(或第二种颜色)以指示客户端应用正在记录。
擦除器258可以指示相对于球形视频数据的总长度已经经过的球形视频数据的时间量。例如,在该示例中,擦除器258被示出为包括以半透明 (或第一颜色)从环的顶部开始并且逆时针方向行进的240°弧以及以不透明(或第二颜色)从环的顶部开始并且顺时针方向行进的120°弧的环。如果环的顶部表示球形视频的开始并且前进进度由从半透明到不透明(或第一颜色到第二颜色)转动的环表示,则擦除器258指示约三分之一的球形视频数据已经经过。除了指示进度之外,用户还可以通过执行左轻扫或顺时针轻扫来使用擦除器258推进球形视频数据,并通过执行右或逆时针轻扫来反转球形视频。用户可以通过保持与触摸屏204的接触并使用相同的接触点或使用第二接触点(例如,如果触摸屏支持多点触摸)来执行轻扫,从而在前进或回退球形视频的同时继续记录。
在图2B的示例中,计算装置202在触摸屏204内显示等角矩形帧260 的一部分。等角矩形帧260包括场景的其它部分(以虚线表示),其未在触摸屏204内显示而是可以通过导引将从场景的当前视角到场景的不同视角的移动来访问。客户端应用可以使用各种输入机制来检测该移动数据,诸如键盘输入组件(例如,物理键盘的方向键、包括虚拟键盘的触摸屏、光电键盘等)、基于指针的输入组件(例如,鼠标、触摸板、轨迹球、操纵杆或其它指点工具)、运动传感器(例如,加速度计、重力传感器、陀螺仪、旋转矢量传感器等)、位置传感器(例如,取向传感器、磁力计等)、触觉输入组件(例如,物理按钮、提供触摸或触摸手势的位置和/或力度的触摸屏等)、音频输入组件(例如,用于提供语音命令的麦克风)、高频输入组件(例如,超声波、声纳、雷达收发机等)、光学输入组件(例如, CCD或CMOS摄像头、红外摄像头、激光雷达***和其它激光***、LED 收发机等,用于基于用户的眼睛、嘴唇、舌头、头部、手指、手、手臂、脚、腿、身体等的移动来检测手势);以及这些类型的输入组件的组合。
在一些实施例中,移动输入数据还可以基于显示屏上显示的内容,诸如跟踪球形视频数据中表示的移动对象的选择;用于导航球形视频数据的路径、模式或其它移动数据的选择;或字母数字文本(例如,地图方向、坐标列表等);以及许多其它可能性。
图3A-3D示出了用于确定用于控制进入球形视频数据的视口以在计算装置302的显示屏上显示的移动数据的方法的示例。计算装置302可以与小于球形视频数据的角视场的角视场相关联。在该示例中,计算装置302 可以移动大约六个自由度,包括沿三个垂直轴(x,y和z轴)的平移和围绕三个垂直轴的旋转。特别地,图3A示出了在示例320中,计算装置302 可以从左到右和从右到左(例如,沿着x轴分别朝向x+和远离x+),向前和向后以及向后和向前(例如,沿着y轴分别朝向y+和远离y+),以及上下和下上(例如,沿着z轴分别朝向z+和远离z+)移动,其中四个角通常与用户等距。图3B示出了在示例340中计算装置302可以滚动(例如,向前倾斜使得装置的底角比顶角更靠近用户,以及向后倾斜使得装置的顶角比底角更靠近用户;围绕x轴旋转)。图3C示出了在示例360中计算装置302可以俯仰(例如,逆时针倾斜使得右上角是最高角,或顺时针倾斜使得左上角是最高角;围绕y轴旋转)。图3D示出在示例380中计算装置302可以偏航(例如,向右扭转使得装置的左角比右角更靠近用户,并且向左扭转使得右角比左角更靠近用户;围绕z轴旋转)。每种类型的移动(例如,图3A中所示的平移或图3B-3D中所示的旋转中的一种) 可以与一种或多种其它类型的移动结合以限定表示装置可以从一个姿势 (例如,位置和取向)移动到下一个姿势的三维空间的球体。
在一些实施例中,计算装置302可包括一个或多个运动和/或位置传感器(例如,加速度计、陀螺仪、磁力计等)、光学输入组件(例如,CCD 摄像头、CMOS摄像头、红外摄像头等)和/或其它输入组件(未示出) 以检测装置的移动。用于使用这些传感器确定装置移动和位置的示例包括用于ANDROIDTM平台的传感器或Project TangoTM应用程序编程接口 (API)或增强现实核心(ARCore)软件开发套件(SDK),用于来自公司的平台的CoreMotion或增强现实套件(ARKit)框架,或各种MICROSOFT平台的传感器或混合现实API。这些 API和框架使用视觉惯性测距法(VIO),其结合了计算装置的运动和位置传感器数据以及装置的物理环境的图像数据,以确定装置随时间推移的姿势。例如,实现这些API或框架之一的计算装置可以使用计算机视觉来识别场景中表示的对象或特征,跟踪横跨视频帧的那些对象和特征的位置中的差异,并比较该差异与运动和位置感测数据,以到达比单独使用一种运动跟踪技术更准确的姿势数据。装置的姿势通常作为两个坐标系之间的旋转和平移返回。坐标系不一定共享坐标系,但API和框架可以支持多个坐标系(例如笛卡儿(右手或左手)、极、圆柱、世界、摄像头、投影,来自KHRONOS公司的OpenGL、来自UNITY TECHNOLOGIESTM的软件,来自EPIC的UNREAL 等)。
图4A-4G示出了使用计算装置402编辑球形视频数据的方法的示例。在该示例中,计算装置402在触摸屏404a上显示球形视频数据,其内容在视口404b中表示。在这些示例中,球形视频数据以缺少深度信息的单视场格式编码,使得视口的控制限于三个自由度。在其它实施例中,球形视频数据可以包括立体视频数据、三维(3D)虚拟现实环境数据或其它计算机生成的数据、下一代视频分辨率数据,以及用于传送或外推深度的其它信息,使得视口404b可以根据六个自由度到处移动。
用户可以诸如通过选择视频图标206启动球形视频数据的回放。在这些示例中,客户端应用可以支持基于由计算装置402处理的输入移动数据 (诸如由运动传感器、位置传感器、光学传感器和其它传感器或组件检测的装置的移动)的编辑。这里,视口控制限于三个自由度,使得客户端应用可以被配置为检测装置的旋转(例如,滚动、俯仰和偏转)以将进入触摸屏404a上显示的球形视频数据中的视口的位置改变。其它实施例可以使用笛卡尔空间、球面空间、圆柱空间或其它合适的坐标系中的平移来控制进入球形视频数据中的视口的位置。用户可以诸如通过按下图2A的记录按钮256,敲击记录按钮256,发出语音命令以开始记录,或提供另一个合适的输入,来启动编辑模式或记录模式。用户可以通过释放记录按钮256,重新敲击记录按钮256,发出语音命令以停止记录或提供另一个合适的输入来停止编辑或记录。计算装置402可以检测其移动以改变视口404b的位置,并且可以记录装置的姿势数据和/或在视口内显示的内容。
例如,图4A示出了计算装置402的初始姿势的示例410,其中用户的注视可以与触摸屏404a基本上正交,使得装置的四个角基本上与用户等距,并且视口404b包括矩形隧道的完整视图,该矩形隧道具有看起来更接近x 标记的用户的部分和远离+标记的用户的部分。图4B示出了示例420,其中用户已经从初始姿势向前倾斜计算装置402(例如,绕着地平线的顺时针方向旋转计算装置402),使得装置的底角比顶角更靠近用户,并且视口404b显示以隧道底部为中心的视图。图4C示出了示例430,其中用户已经从初始姿势向后倾斜计算装置(例如,绕着地平线的逆时针方向旋转计算装置402),使得装置的顶角比底角更靠近用户,并且视口404b包括以隧道顶部为中心的视图。
图4D示出了示例440,其中用户已经从初始姿势向上转动计算装置 402的右侧(例如,沿着进入隧道的轴以逆时针方向旋转计算装置402),使得右上角是最高角并且视口404b显示隧道的倾斜视图(例如,相对于地平线向上倾斜)。图4E示出了示例450,其中用户已经从初始姿势向上转动计算装置402的左侧(例如,沿着进入隧道的轴以顺时针方向旋转计算装置402),使得左上角是最高角并且该视口404b包括隧道的歪斜视图 (例如,相对于地平线向下倾斜)。
图4F示出了示例460,其中用户将计算装置402从初始姿势向右扭转 (例如,围绕垂直于地平线并且与触摸屏404a共面的轴以逆时针方向旋转计算装置402),使得左角比右角更接近用户,并且视口402b显示以隧道左侧为中心的视图。图4G示出了示例470,其中用户将计算装置402从初始姿势向左扭转(例如,围绕垂直于地平线并且与触摸屏404a共面的轴以顺时针方向旋转计算装置402),使得该装置的右角比左角更靠近用户,并且视口404b包括以隧道右侧为中心的视图。
虽然这些示例描述了用户倾斜、转动或扭转计算装置402,但是在其它实施例中也可以使用其它动作,诸如用户头部的移动或用户注视方向中的改变。例如,用户向左转动他的头部或他的注视方向可以导致视口404b 示出与图4F的示例460类似的视角(例如,以隧道的左侧为中心的视图),并且向右转动他的头部或他的注视方向可以导致视口404b示出与图4的示例470类似的视角(例如,以隧道的右侧为中心的视图)。作为另一示例,用鼠标的向上拖动手势或向上轻扫触摸手势可导致视口404b示出与图4B的示例420类似的视角(例如,以隧道的底部为中心的视图),并且相反地,用鼠标的向下拖动手势或向下轻扫触摸手势可以导致视口404b 示出与图4C的示例430类似的视角(例如,以隧道顶部为中心的视图)。
除了运动传感器、位置传感器和用于导航球形视频数据的摄像头之外或作为其替代,一些实施例可以使用语音或其它音频命令、物理或虚拟键或按钮、字母数字文本(例如,地图方向、GPS坐标等)等。例如,用于将视图绕轴逆时针旋转到隧道中的音频命令或物理或虚拟键或按钮的选择可导致视口404b显示与图4D的示例440类似的视角(例如,隧道的倾斜视图),并且用于将视图绕轴顺时针旋转到隧道中的命令可导致视口404b 示出与图4E的示例450类似的视角(例如,隧道的歪斜视图)。
一些实施例可以使用在触摸屏404a上显示用于改变视口404b中所示的视角的内容。例如,球形视频数据可以包括关注对象的表示,并且客户端应用可以支持横跨球形视频数据的帧的关注对象的跟踪。作为另一示例,客户端应用可以使用户能够选择用于将视口导航进入球形视频数据的路径、模式或其它移动。作为另一示例,客户端应用可以接收用于控制视口进入编辑的视频中的字母数字文本(例如,地图方向、一组坐标等)。
图5A-5F示出了用于表示基于用于控制进入视频中的视口的输入移动数据从球形视频数据编辑的视频的方法的示例。图5A示出了球形视频数据帧、帧512和球体上的点(点516和518)的概念表示的示例510。在该示例中,点516可以对应于计算装置(例如,计算装置402)用于显示帧 512的一部分的视口(例如,图4A-4G的视口404b)的原始质心。例如,帧512是360°球形视频帧,而计算装置可以具有与小于360°的角视场相关联的显示屏。点512可以是相对值(例如,相对于原点,相对于前一帧的质心等)或绝对值(例如,极坐标、球坐标、笛卡尔坐标、GPS坐标等)。点512可以是隐式值(例如,如果帧512未定义则为默认值或前一帧的质心的值)或显式值(例如,为元数据中的帧512定义)。在一些实施例中,点512可以从某些元数据导出(例如,帧512的元数据可以定义将帧512 的一部分映射到视口的一组坐标,如果帧512被投影到矩形帧上,则元数据可以包括帧512的长度和宽度等)。
点518可以基于编辑模式期间的输入移动数据对应于帧512的视口的新质心。例如,如果用户在回放期间正在记录球形视频数据的副本并且旋转他的装置以使得通过视口看到场景的不同部分,则在球形视频数据的副本的回放期间重新创建移动的帧512的旋转、平移和/或变换的量可以由点 518表示。在该示例中,没有修改帧512的像素以生成复制的帧,但是元数据可被注入(如果先前没有定义质心)或者编辑以指示在编辑/复制的视频的回放期间帧512的副本的哪一部分居中。
如所讨论的,球形视频数据的回放可能消耗大量资源(例如,处理、存储器、存储、网络、电源和其它计算资源)。这可能不利地影响计算装置的性能,特别是相对于台式机和服务器可能具有更少计算资源的便携式计算装置。在一些实施例中,对球形视频帧的改变还可以包括至少修剪未在视口内显示的帧的部分。例如,图5B示出了投影到等角矩形帧522上的球形视频数据帧的示例520。在该示例中,帧522的一部分,裁剪帧524 (例如,白色部分)是在编辑模式期间由计算装置显示的帧522的部分。裁剪的帧524被存储为编辑副本的新帧,而帧522的剩余部分(例如,灰色部分)被裁剪掉。在实施例中,客户端应用可以取得用于新帧的视频数据的图形缓冲器的内容。在其它实施例中,客户端应用可以从存储器或存储装置取得新帧的视频数据。
尽管示例520示出了投影到等角矩形帧上的球形视频数据帧,但是其它实施例可以保留球面坐标系中的帧。例如,图5C示出了示例530,其中板534从球形视频帧532裁剪。其它实施例仍可以使用其它类型的投影或映射(例如,圆柱投影、立方体映射等)。图5A和5C-5F将球形视频帧 532、542、552和562描绘为用于概念目的的球体,但是这些帧可以投影到任何合适的表面或体积上或者可以根本不投影。一些实施例还支持使用类似技术的立体球形视频编辑,但是考虑每个视频帧的左侧帧和右侧帧。
另外,并非所有实施例在编辑期间将球形视频数据裁剪到显示部分。在一些实施例中,可以使用其它裁剪策略来减小编辑副本中的帧的大小,但保留一些未显示的部分以继续在回放期间支持至少一些交互性。图5D 示出了示例540,其中半球544从球形视频帧542裁剪。在回放编辑的副本时,视口的视图可以在质心546上居中,并且对于缺少深度信息的球形视频数据,允许从质心达90°的三个自由度的移动,并且对于具有深度信息的球形视频数据,允许从质心达90°的六个自由度的移动。图5E示出了示例550,其中带554从球形视频帧552裁剪。在回放编辑的副本时,视口的视图可以在质心556上居中并且允许围绕穿过极的轴的一个自由度的移动(假设θ约为90°并且显示屏的角视场约为90°。也就是说,计算装置可以检测左右扭转以改变进入球形视频数据中的视口的位置,但是可以忽略前、后、左和右倾斜。图5F示出了示例560,其中半个半球564从球形视频帧562裁剪。在回放编辑的副本时,视口的视图可以在质心566上居中并且允许围绕赤道的一个自由度的移动(假设θ是约90°,并且显示屏的角视场约为90°)。也就是说,计算装置可以检测向前和向后倾斜以改变进入球形视频数据中的视口的位置,但是可以忽略左右倾斜和扭转。
图6示出了过程600,其是用于基于控制进入球形视频中的视口的移动数据来编辑球形视频的过程的示例。计算装置(例如,图13的计算装置1300),并且更具体地,在计算装置上执行的应用(例如,图12的客户端应用1234)可以执行过程600。过程600可以在步骤602处开始,其中计算装置接收用于在装置上回放的球形视频数据。计算装置可以从内置球形视频捕获***或从另一装置接收球形视频数据(例如,如电子邮件或其它电子通信的附件,如从因特网的下载,如从USB闪存驱动器或其它磁盘或驱动器通过本地无线通信信道(例如,Wi-Fi、近场通信(NFC)等)的传输等)。
在步骤604处,计算装置可以基于视频的fps(例如,24fps、48fps、60fps等)逐帧地显示球形视频数据。球形视频数据可以与大于与计算装置的显示屏/触摸屏/头戴式显示器(例如,显示元件)相关联的角视场(例如,60°、90°、120°等)的角视场(例如,180°、270°、360°)相关联,使得显示元件作为在特定位置(例如,原点、球体的本初子午线和赤道的交点、视口的质心等)处进入球形视频数据的视口操作。球形视频数据可以被投影或映射到各种类型的表面和体积上(例如,等角矩形帧、圆柱形帧、立方体图等)。球形视频数据可以包括各种分辨率(例如,1920x1080、 2560x1440、3840x2160等),包括均匀分辨率(例如,整个帧中的相同分辨率)或者凹状(foveated)分辨率(例如,横跨具有分辨率高于其它区域的一个或多个区域的帧的变化)或其它不同的分辨率。球形视频数据可以是单视场或立体的。
当显示球形视频数据时,计算装置可以前进到步骤606,其中装置可以确定它是否处于球形视频编辑/重新记录模式。例如,装置可以在接收到与编辑球形视频数据相关联的第一输入时和接收到与停止编辑/记录球形视频数据相关联的第二输入时之间的持续时间内确定它处于编辑/重新记录模式。在一些实施例中,第一输入可以包括与计算装置的触摸屏的区域的连续接触(例如,图2B的记录按钮256;在360°图标252下方、在定时器图标218和其它右对齐的图标的左侧以及在视频图标2067和其它底部对齐的图标上方的触摸屏204的区域;等等);并且第二输入可以包括中断与触摸屏204的该区域的接触。在其它实施例中,计算装置可以检测用于启动编辑/记录的各种其它类型的输入(例如,一个或多个物理或虚拟键或按钮的致动、语音命令、触摸手势、手势、眼睛姿势、头部姿势、身体姿势、装置运动姿势等),以及用于暂停或停止编辑/重新记录的相同或类似输入。如果没有接收到编辑/重新记录输入,则客户端应用继续到步骤 614以确定球形视频数据是否包括任何更多帧。
在编辑/重新记录模式中,计算装置可以继续到步骤608,其中计算装置跟踪用于控制视口位置的对象的移动。例如,装置的向前旋转可以如图 4B中所示向下移动视口,向后旋转可以如图4C中所示向上移动视口,装置向右旋转可以如图4F中所示的向左移动视口,向右旋转可以如图4G中所示的向右移动视口,装置向左的扭转可以如图4D中所示对角地移动视口并向上倾斜,并且向右的扭转可以如图4E中所示对角地移动视口并且向下倾斜。另外,如果与编辑/重新记录的视频数据相关联的角视场小于或等于显示器的角视场,则视口可以构成编辑/重新记录的视频数据的整个帧。另一方面,如果与编辑/重新记录的视频相关联的角视场大于与显示器相关联的角视场,则编辑/重新记录的视频的每个帧可以在视口的新位置处居中。
在一些实施例中,被跟踪对象可以是计算装置本身。计算装置可以使用视觉惯性测距(VIO)技术或用于确定装置运动和位置的运动/位置/取向传感器(例如,加速度计、陀螺仪、磁力计等)和光学传感器(例如,CCD 或CMOS摄像头、红外线收发机等)的组合来检测其移动。当装置跟踪其自身的移动(或相对于其环境的移动)时,视口到球形视频数据的位置可以响应于移动而改变。例如,如果计算装置检测到围绕地平线的旋转,如图4B和图4C中所示,则球形视频数据的视口可以分别与示例420和430 类似地改变。类似地,如图4D和图4E中所示,围绕垂直于装置平面的轴的旋转可以分别将视口的位置改变为示例440和450的位置,并且如图4F 和图4G中所示,围绕与装置共面并垂直于地平线的轴的旋转可以分别将视口的位置改变为示例460和470的位置。
在其它实施例中,被跟踪对象可以是眼睛、嘴唇、舌头、头部、手指、手、手臂、脚、腿、身体和/或用户的其它部分或计算装置安装或合并到的其它对象(例如,无人机、智能车等)。除了视觉惯性测距法之外,在许多可能性中,还可以使用各种其它技术来跟踪对象,诸如电容感测、感应感测、磁感测、雷达、激光雷达、声纳或超声波感测。在某些实施例中,被跟踪对象不一定是物理对象。例如,被跟踪对象还可以包括以球形视频数据(真实或虚拟)表示的对象,并且可以使用用于跟踪对象的计算机视觉技术来跟踪,诸如光流(例如,密集光流、双总变差(TV)(resp.L1范数)、Farneback光流、稀疏光流等)、卡尔曼滤波、增强(例如AdaBoost)、神经网络(例如GOTURN)、核化相关滤波器(KCF)、中值流、多实例学习(MIL)、跟踪、学习和检测(TLD),或其它合适的对象跟踪算法。
过程600可以继续到步骤610,其中客户端应用可以基于被跟踪对象的移动来计算进入球形视频数据中的视口的新位置。在一些实施例中,移动数据可以存储为帧到质心(例如,极坐标、柱面坐标、等角坐标、GPS 坐标等)的映射,该质心表示进入球形视频中的视口的新位置。移动数据可包括基于定义的坐标系的绝对值或取决于前一视频帧的质心的相对值。在其它实施例中,移动数据可以包括旋转、平移和/或变换信息,用于将视口重新居中到新位置。移动数据可以作为元数据被注入到编辑的视频中(如果在球形视频数据中未定义),或者客户端应用可以更新用于编辑的视频的球形视频数据的元数据。在其它实施例中,移动数据可以定义表面或体积,以从原始球形视频帧中提取编辑副本的对应帧。
如关于图5D-5F所讨论的,为编辑的副本提取的球形视频帧不必限于计算装置的显示屏的角视场,并且还可以包括截断或裁剪球形视频部分以减小其大小但保留一些交互性或“沉浸感”的其它尺寸的表面或体积。在一些实施例中,客户端应用或其与之通信的服务器可以制定动态传输方案,用于将编辑的视频分发给其他用户的计算装置。例如,客户端应用或服务器可以接收与球形视频数据编辑器如何将视口重定向到球形视频相对应的移动数据。客户端应用或服务器可以确定其他用户的计算资源(例如,处理、存储器、存储、网络带宽、电源等)的范围和可用性,并流式传输或发送最适合那些用户的计算装置的编辑视频的版本。如果另一用户的计算装置具有足够的资源,则客户端应用或服务器可以分发球形视频数据的完整编辑版本(例如,全分辨率的360°视频,其中元数据指示如何旋转/平移/扭曲原始球形视频帧以生成编辑器定义的新帧)。如果网络带宽较低或者其他用户的计算装置缺少回放球形视频数据的完整编辑版本的资源,则客户端应用可以发送编辑的视频的裁剪版本、较低分辨率版本、具有较低fps 率的版本、凹状版本,这些方法的组合,或其它较小的版本。发送用户和接收用户还可以在编辑和/或分发期间配置版本。
在步骤612处,客户端应用可以评估球形视频数据是否包含任何更多帧。如果存在另外的帧,则过程600可以重复步骤604-612。如果没有附加帧,则过程600可以结束。在一些实施例中,计算装置还可以将编辑的视频发送到一个或多个其它计算装置,诸如与朋友和用户的其他联系人相关联的装置。在一些实施例中,计算装置可以向其它计算装置发送原始球形视频数据,以及用于改变进入球形视频数据中的视口的位置的元数据(例如,帧到质心映射;坐标;旋转、平移和/或变换信息等)。这可以使其他计算装置能够显示原始球形视频数据以及编辑的视频。
图7示出了***,网络环境700的示例,其中可以部署本公开的各种实施例。对于在此讨论的任何***或***元件,除非另有说明,否则在各种实施例的范围内可以存在以类似或替代顺序或并行地布置的附加、更少或替代的组件。虽然网络环境700是客户端-服务器架构,但是其它实施例可以利用其它网络架构,诸如对等或分布式网络环境。
在该示例中,网络环境700包括内容管理***702。内容管理***702 可以基于包括接口层704、应用逻辑层706和数据层708的三层架构。网络环境700的每个模块或组件可以表示一组可执行软件指令和用于执行指令的对应硬件(例如,存储器和处理器)。为了避免以不必要的细节模糊本公开的主题,已经省略了可能与传达对主题的理解没有密切关系的各种功能模块和组件。当然,附加功能模块和组件可以与内容管理***702一起使用,以促进在此未具体描述的附加功能。此外,网络环境700中示出的各种功能模块和组件可以驻留在单个服务器上,或者可以以各种布置横跨多个服务器分布。此外,尽管内容管理***702具有三层架构,但是本公开的主题决不限于这种架构。
接口层704包括接口模块710(例如,web接口、移动应用(app)接口、restful状态转移(REST)应用编程接口(API)或其它API等),该接口模块710可以接收来自各种客户端计算装置和服务器(诸如执行客户端应用(未示出)的客户端装置720和执行第三方应用724的第三方服务器722)的请求。响应于所接收的请求,接口模块710经由广域网(WAN) 726(例如,因特网)向请求装置传送适当的响应。例如,接口模块710 可以接收诸如HTTP请求或其它应用编程接口(API)请求的请求。
客户端装置720可以执行已经为特定平台开发的web浏览器或应用,以包括各种移动计算装置和移动专用操作***中的任何一个(例如,来自公司的iOS平台,来自公司的ANDROIDTM平台,来自公司的WINDOWS平台等)。客户端装置 720可以提供向用户呈现信息并且经由WAN 726通信以与内容管理*** 702交换信息的功能。
在一些实施例中,客户端装置720可以包括诸如的客户端应用,其与一些实施例一致,允许用户交换包括媒体内容(包括视频消息或文本消息)的短时消息。在该示例中,客户端应用可以结合在此描述的实施例的各方面。可以在删除触发事件(诸如观看时间或观看完成)之后删除短时消息。在这种实施例中,装置可以在生成、发送、接收或显示短时消息的方面中的任何一个方面的上下文中使用在此描述的各种组件。
客户端装置720每个可以至少包括与WAN 726的显示和通信能力以访问内容管理***702。客户端装置720可以包括远程装置、工作站、计算机、通用计算机、网络家电、手持装置、无线装置、便携式装置、可穿戴计算机、蜂窝或移动电话、个人数字助理(PDA)、智能电话、平板计算机、超极本、上网本、膝上型计算机、台式机、多处理器***、基于微处理器或可编程的消费电子产品、游戏机、机顶盒、网络PC、小型计算机等。
数据层708包括可以促进对信息存储的存储库或数据库718的访问的数据库服务器716。数据库718可以是存储数据(诸如成员简档数据、社交图数据(例如,内容管理***702的成员之间的关系))以及其他用户数据和内容数据(诸如不同分辨率的球形视频数据)等的存储装置。
应用逻辑层706包括用于支持在此所讨论的各种视频特征的视频模块 714,以及应用逻辑模块712,该应用逻辑模块712与接口模块710一起可以采用从数据层708中的各种数据源或数据服务取得的数据生成各种用户界面。可以使用单独的应用逻辑模块712来实现与内容管理***702的各种应用、服务和特征相关联的功能。例如,可以使用一个或多个应用逻辑模块712来实现客户端应用。客户端应用可以为客户端装置720的用户提供消息传递机制,以发送和接收包括诸如图片和视频的文本和媒体内容的消息。客户端装置720可以针对指定的时间段(例如,有限的或无限制的) 访问和查看来自客户端应用的消息达。在实施例中,消息接收方可以针对预定义的持续时间(例如,由消息发送者指定)访问特定消息,该预定义的持续时间在首次访问特定消息时开始。在预定义的持续时间经过之后,消息将被删除,并且无法再由消息接收方访问。当然,其它应用和服务可以分别体现在它们自己的应用逻辑模块712中。
图8示出了内容管理***800的示例,该内容管理***800包括客户端应用802(例如,在图8的客户端装置820上运行)和应用服务器804 (例如,应用逻辑层806的实现)。在该示例中,内容管理***800的操作包括客户端应用802和应用服务器804之间在短时定时器界面806、集合管理界面808和注释界面810上的各种交互。
短时定时器界面806可以是内容管理***800的子***,其负责实施对客户端应用802和服务器应用804所允许的内容的临时访问。为此,短时定时器界面1014可以包含多个定时器,该定时器基于与内容或内容的集合(例如,消息、视频、故事等)相关联的持续时间和显示参数,经由客户端应用802选择性地显示和启用对内容的访问。下面提供了关于短时定时器界面806的操作的进一步细节。
集合管理界面808可以是内容管理***800的子***,其负责管理媒体集合(例如,文本、图像、视频、音频、应用等的集合)。在一些实施例中,可以将内容的集合(例如,消息,包括文本、图像、视频、音频、应用等)组织成“事件库”或“事件故事”。可以使这种集合可用达到指定的时间段,诸如与内容相关的事件的持续时间。例如,与音乐会有关的内容可以针对该音乐会的持续时间作为“故事”可用。集合管理界面808 还可以负责将特定集合的存在的通知发布到客户端应用802的用户界面。
在该示例中,集合管理界面808包括策展界面812,以允许集合管理器管理和策展特定的内容集合。例如,策展界面812可以使事件组织者能够策展与特定事件有关的内容集合(例如,删除不适当的内容或冗余消息)。另外,集合管理界面808可以采用机器视觉(或图像识别技术)和内容规则来自动策展内容集合。在某些实施例中,可以向用户支付补偿以将用户生成的内容包括在集合中。在这种情况下,策展界面812可以自动向这些用户付款以使用其内容。
注释界面810可以是内容管理***800的子***,其提供各种功能以使用户能够注释或以其它方式修改或编辑内容。例如,注释界面810可以提供与内容管理***800处理的消息或其它内容的媒体覆盖的生成和发布相关的功能。注释界面810可以基于客户端装置的地理位置向客户端应用 802提供媒体覆盖(例如,过滤器)。作为另一示例,注释界面810可基于其它信息(诸如客户端装置的用户的社交网络信息)向客户端应用802提供媒体覆盖。媒体覆盖可以包括音频和视觉内容以及视觉效果。音频和视觉内容的示例包括图片、文本、徽标、动画和声音效果。视觉效果的示例包括颜色覆盖。可以将音频和视觉内容或视觉效果应用于客户端装置处的媒体内容项(例如,照片)。例如,媒体覆盖包括可以覆盖在客户端装置生成的照片之上的文本。在另一示例中,媒体覆盖可以包括位置覆盖(例如,威尼斯海滩)的标识、直播事件的名称或商家覆盖的名称(例如,海滩咖啡馆)。在另一示例中,注释界面810可以使用客户端装置的地理位置来识别包括客户端装置的地理位置处的商家名称的媒体覆盖。媒体覆盖图可以包括与商家相关联的其它标记。媒体覆盖可以存储在数据库(例如,图7的数据库718)中,并通过数据库服务器(例如,数据库服务器716)访问。
在实施例中,注释界面810可以提供基于用户的发布平台,该平台使用户能够在地图上选择地理位置,并上传与所选地理位置相关联的内容。用户还可以指定应该向其他用户提供特定媒体覆盖的环境。注释界面810 可以生成包括所上传的内容的媒体覆盖,并将所上传的内容与所选的地理位置相关联。
在另一个实施例中,注释界面810可以提供基于商家的发布平台,该平台使商家能够经由投标过程选择与地理位置相关联的特定媒体覆盖。例如,注释界面810可以将最高投标商家的媒体覆盖与对应的地理位置关联预定义的时间量。
图9示出了用于诸如内容管理***900的内容管理***的数据模型 900的示例。虽然数据模型900的内容被示出为包括多个表,但是应当理解,数据可以存储在其它类型的数据结构中,诸如对象数据库、非关系或“not only”SQL(NoSQL)数据库、高度分布式文件***(例如,分布式文件***(HDFS))等。
数据模型900包括存储在消息表914内的消息数据。实体表902存储实体数据,包括实体图904。在实体表902内维护记录的实体可以包括个人、公司实体、组织、对象、地点、事件等。无论类型如何,关于内容管理***900存储数据的任何实体可以是识别的实体。为每个实体提供唯一标识符,以及实体类型标识符(未示出)。
实体图904存储关于实体之间的关系和关联的信息。这种关系可以是社交的、专业的(例如,在共同的公司或组织工作)、基于兴趣的、基于活动的,或基于其它特性的。
数据模型900还以过滤器的示例形式将注释数据存储在注释表912中。在注释表912内存储数据的过滤器与视频(数据存储在视频表910中)和/ 或图像(数据存储在图像表908中)相关联并应用于视频和/或图像。在一个示例中,过滤器是在向接收方用户呈现期间显示为覆盖在图像或视频上的覆盖。过滤器可以是各种类型的,包括当发送用户正在编写消息时由客户端应用902向发送用户呈现的过滤器库中的用户选择的过滤器。其它类型的过滤器包括地理位置过滤器(也称为地理过滤器),其可以基于地理位置呈现给发送用户。例如,特定于邻域或特殊位置的地理位置过滤器可以基于客户端装置的GPS单元确定的地理位置信息,由图8的客户端应用 802在用户界面内呈现。另一种类型的过滤器是数据过滤器,该数据过滤器可以基于客户端装置在消息创建过程期间收集的其它输入或信息,由客户端应用802选择性地呈现给发送用户。数据过滤器的示例包括特定位置处的当前温度、发送用户正在行进的当前速度、客户端装置的电池寿命、当前时间或客户端装置捕获或接收的其它数据。
可存储在图像表908内的其它注释数据可包括“镜头”数据。“镜头”可以是可以添加到图像或视频的实时特殊效果和声音。
如上所述,视频表910存储视频数据,在一个实施例中,该视频数据与在消息表914内维护记录的消息相关联。类似地,图像表908存储与消息数据存储在实体表902中的消息相关联的图像数据。实体表902可以将来自注释表912的各种注释与存储在图像表908和视频表910中的各种图像和视频相关联。
故事表906存储关于消息和相关联图像、视频或音频数据的集合的数据,其被编译成集合(例如,故事或图库)。特定集合的创建可以由特定用户(例如,在实体表902中维护记录的每个用户)发起。用户可以以该用户已经创建和发送/广播的内容集合的形式创建“个人故事”。为此,客户端应用902的用户界面可以包括用户可选择的图标,以使发送用户能够将特定内容添加到他或她的个人故事。
集合还可以构成“现场故事”,其是来自多个用户的手动、自动或使用手动和自动技术的组合创建的内容的集合。例如,“现场故事”可以构成来自各种位置和事件的用户提交的内容的策展流。在一些实施例中,其客户端装置具有启用的位置服务并且在特定时间处于共同位置事件的用户可以经由客户端应用802的用户界面呈现选项,以向特定的现场故事贡献内容。可以由客户端应用802基于其位置向用户识别现场故事。最终结果是从社区角度讲述的“现场故事”。
另一种类型的内容集合被称为“位置故事”,其使得其客户端装置位于特定地理位置(例如,在学院或大学校园内)的用户能够对特定集合做出贡献。在一些实施例中,对位置故事的贡献可能需要第二程度的认证以验证最终用户属于特定组织或其它实体(例如,是大学校园中的学生)。
图10示出了第一客户端应用(例如,图8的客户端应用802)可以生成用于与第二客户端应用或服务器应用(例如,内容管理***702)通信的消息1000的数据结构的示例。消息1000的内容可用于填充存储在图9 的数据模型900内的消息表914,并且可由客户端应用802访问。类似地,消息1000的内容可以作为客户端装置或应用服务器的“传输中”或“正在处理中”数据存储在存储器中。消息1000示出包括以下组件:
·消息标识符1002:标识消息1000的唯一标识符;
·消息文本有效载荷1004:文本,其由用户经由客户端装置的用户界面生成并包含在消息1000中;
·消息图像有效载荷1006:图像数据,其由客户端装置的摄像头组件捕获或从客户端装置的存储器取得并且包括在消息1000中;
·消息视频有效载荷1008:视频数据,其由摄像头组件捕获或从客户端装置的存储器组件取得并包括在消息1000中;
·消息音频有效载荷1010:音频数据,其由麦克风捕获或从客户端装置的存储器组件取得,并且包括在消息1000中;
·消息注释1012:注释数据(例如,过滤器、贴纸或其它增强),其表示要应用于消息1000的消息图像有效载荷1006、消息视频有效载荷1008 或消息音频有效载荷1010的注释;
·消息持续时间1014:以秒为单位指示消息的内容(例如,消息图像有效载荷1006、消息视频有效载荷1008、消息音频有效载荷1010)经由客户端应用1002呈现或使用户可访问的时间量的参数;
·消息地理位置1016:与消息的内容有效载荷相关联的地理位置数据 (例如,纬度和纵向坐标)。多个消息地理位置参数值可以包括在有效载荷中,这些参数值中的每一个关于内容中包括的内容项相关联(例如,消息图像有效载荷1006内的特定图像,或消息视频有效载荷1008中的特定视频);
·消息故事标识符1018:标识消息1000的消息图像有效载荷1006中的特定内容项与之关联的一个或多个内容集合(例如,“故事”)的标识符值。例如,消息图像有效载荷1006内的多个图像可以各自使用标识符值与多个内容集合相关联;
·消息标签1020:每个消息1000可以用多个标签标记,每个标签指示消息有效载荷中包括的内容的主题。例如,在消息图像有效载荷1006 中包括的特定图像描绘动物(例如,狮子)的情况下,标签值可以包括在指示相关动物的消息标签1020内。标签值可以基于用户输入手动生成,或者可以使用例如图像识别自动生成;
·消息发送者标识符1022:指示客户端装置的用户的标识符(例如,消息***标识符、电子邮件地址或装置标识符),在该客户端装置上生成消息1000并且从该客户端装置发送消息1000;
·消息接收者标识符1024:指示消息1000被寻址的客户端装置的用户的标识符(例如,消息***标识符、电子邮件地址或装置标识符);
消息1000的各种组件的值或数据可以是指向其中存储值或数据的表中的位置的指针。例如,消息图像有效载荷1006中的图像值可以是指向图像表908内的位置(或地址)的指针。类似地,消息视频有效载荷1008 内的值可以指向存储在视频表910内的数据,存储在消息注释912内的值可以指向存储在注释表912中的数据,存储在消息故事标识符1018内的值可以指向存储在故事表906中的数据,并且存储在消息发送者标识符1022 和消息接收者标识符1024中的值可以指向存储在实体表902内的用户记录。
图11示出了数据流1100的示例,其中对内容的访问(例如,短时消息1102和相关联的数据有效载荷)和/或内容集合(例如,短时故事1104) 可以是受内容管理***(例如,图7的内容管理***702)时间限制的(例如,短时的)。
在该示例中,短时消息1102被示出与消息持续时间参数1106相关联,该消息持续时间参数1106的值确定短时消息1102将由客户端应用(例如,图8的客户端应用802)向短时消息1102的接收用户显示的时间量。在一个实施例中,在客户端应用802是应用客户端的情况下,短时消息1102可以由接收用户查看最多10秒,该10秒可以由发送用户针对较短的持续时间定制。
消息持续时间参数1106和消息接收者标识符1124可以是消息定时器 1112的输入,该消息定时器1112可以负责确定向消息接收者标识符1124 所识别的特定接收用户显示短时消息1102的时间量。例如。短时消息1102 可以仅被显示给相关接收用户由消息持续时间参数1106的值确定的时间段。消息定时器1112可以向短时定时器界面1114提供输出(例如,短时定时器界面1106的实现的示例),其可以负责向接收用户显示内容(例如,短时消息1102)的整体定时。
短时消息1102在图11中示出为包括在短时故事1104中(例如,个人故事、事件故事、内容图库或其它内容集合)。短时故事1104 可以与故事持续时间1108相关联,该故事持续时间1108的值可以建立短时故事1104被呈现并且内容管理***702的用户可访问的持续时间。在实施例中,故事持续时间参数1108可以是音乐会的持续时间,并且短时故事 1104可以是与该音乐会有关的内容的集合。可替代地,用户(拥有用户或策展人)可以在执行短时故事1104的设置和创建时指定故事持续时间参数 1108的值。
在一些实施例中,短时故事1104内的每个短时消息1102可以与故事参与参数1110相关联,该故事参与参数1110的值可以阐明在短时故事 1104的上下文中将可以访问短时消息1102的持续时间。例如,在短时故事1104本身在故事持续时间参数1108方面到期之前,特定短时故事可能在短时故事1104的上下文中“过期”并变得不可访问。故事持续时间参数1108、故事参与参数1110和消息接收者标识符1124每个都可以向故事定时器1116提供输入,该故事定时器1116可以控制是否将向特定接收用户显示短时故事1104的特定短时消息,并且如果是,则显示多长时间。在一些实施例中,短时故事1104还可以经由消息接收者标识符1124与接收用户的身份相关联。
在一些实施例中,故事定时器1116可以控制短时故事1104以及短时故事1104中包括的短时消息1102的总体寿命。在实施例中,短时故事1104 内的每个短时消息1102可以保持可见并且可由故事持续时间参数1108针对指定的时间段可访问。在另一个实施例中,短时消息1102可以在短时故事1104的上下文中基于故事参与参数1110到期。在一些实施例中,即使在短时故事1104的上下文中,消息持续时间参数1106仍然可以确定向接收用户显示特定短时消息的持续时间。例如,消息持续时间参数1106可以阐明特定短时消息被显示给接收用户的持续时间,无论接收用户是否正在观看短时故事1104的上下文内部或外部的短时消息。
短时定时器界面1114可以基于短时消息1102已经超过故事参与参数1110的确定从短时故事1104移除短时消息1102。例如,当发送用户已经建立了从发布起24小时的故事参与参数时,短时定时器界面1114将在指定的24小时之后从短时故事1104中移除短时消息1102。当短时故事1104 内的每个短时消息1102的故事参与参数1110已经到期时,或者当短时故事1104本身已经根据故事持续时间参数1108到期时,短时定时器界面 1114还可以移除短时故事1104。
在实施例中,短时消息故事1104的创建者可以指定不确定的故事持续时间参数。在该情况下,短时故事1104内的最后剩余短时消息的故事参与参数1110的到期将确定短时故事1104本身何时到期。在实施例中,可以将新的短时消息添加到短时故事1104,其具有新的故事参与参数以有效地将短时故事1104的寿命延长到等于故事参与参数1110的值。
在一些实施例中,响应于短时定时器界面1114确定短时故事1104已经到期(例如,不再可访问),短时定时器界面1114可以与图7的内容管理***702(并且例如,具体地,使图8的与相关短时消息故事相关联的标记(例如,图标)不再显示在客户端应用802的用户界面内的客户端应用802)通信。类似地,当短时定时器界面1114确定短时消息1102的消息持续时间参数1106已经到期时,短时定时器界面1114可以使客户端应用802不再显示与短时消息1102相关联的标记(例如,图标或文本标识)。
图12示出了软件架构1200的示例,其可以与在此描述的各种硬件架构结合使用。图12仅是用于实现本公开的各种实施例的软件架构的一个示例,并且其它实施例可以利用其它架构来提供在此描述的功能。软件架构 1200可以在诸如图13的计算***1300的硬件上执行,该计算***1300 包括处理器1304、存储器/存储装置1306和I/O组件1318。硬件层1250 可以表示计算***,诸如图13的计算***1300。硬件层1250可以包括具有相关联的可执行指令1254A的一个或多个处理单元1252。可执行指令 1254A可以表示软件架构1200(包括图1、2A和2B、3A-3D、4A-4G、5A-5F 和6的方法、模块等的实现方式)的可执行指令。硬件层1250还可以包括存储器和/或存储模块1256,该存储器和/或存储模块1256也具有可执行指令1254B。硬件层1250还可以包括其它硬件1258,该其它硬件1258可以表示任何其它硬件,诸如作为计算***1300的一部分示出的其它硬件。
在图12的示例中,软件架构1200可以概念化为层的堆栈,其中每个层提供特定功能。例如,软件架构1200可以包括诸如操作***1220、库 1216、框架/中间件1214、应用1212和表示层1210的层。在操作上,应用 1212和/或层内的其它组件可以通过软件栈调用API调用1204,并接收响应、返回值等作为消息1208。所示的层本质上是代表性的,并且并非所有软件架构都具有所有层。例如,一些移动或专用操作***可能不提供框架/ 中间件层1214,而其它移动或专用操作***可以提供这种层。其它软件架构可以包括附加或不同的层。
操作***1220可以管理硬件资源并提供公共服务。在该示例中,操作***1220包括内核1218、服务1222和驱动器1224。内核1218可以作为硬件和其它软件层之间的抽象层来操作。例如,内核1218可以负责存储器管理、处理器管理(例如,调度)、组件管理、联网、安全设置等。服务 1222可以为其它软件层提供其它公共服务。驱动器1224可以负责控制底层硬件或与底层硬件接口连接。例如,取决于硬件配置,驱动器1224可以包括显示驱动器、摄像头驱动器、蓝牙驱动器、闪存驱动器、串行通信驱动器(例如,通用串行总线(USB)驱动器)、Wi-Fi驱动器、音频驱动器、电源管理驱动器等等。
库1216可以提供可以由应用1212和/或其它组件和/或层利用的公共基础结构。库1216通常提供允许其它软件模块以比直接与底层操作***功能(例如,内核1218、服务1222和/或驱动器1224)直接接口连接更容易的方式执行任务的功能。库1216可以包括***库1242(例如,C标准库),该***库1242可以提供诸如存储器分配功能、字符串操作功能、数学功能等的功能。另外,库1216可以包括API库1244,诸如媒体库(例如,用于支持各种媒体格式(诸如MPEG4、H.264、MP3、AAC、AMR、JPG、 PNG)的呈现和操作的库)、图形库(例如,可以用于渲染用于显示的2D 和3D图形的OpenGL框架)、数据库的库(例如,可以提供各种关系数据库功能的SQLite)、web库(例如,可以提供web浏览功能的WebKit) 等。库1216还可以包括各种其它库1246,以向应用1212和其它软件组件 /模块提供许多其它API。
框架1214(有时也称为中间件)可以提供可以由应用1212和/或其它软件组件/模块利用的更高级别的公共基础结构。例如,框架1214可以提供各种图形用户界面(GUI)功能、高级资源管理、高级位置服务等。框架1214可以提供可以由应用1212和/或其它软件组件/模块利用的广谱的其它API,其中的一些可以专用于特定操作***或平台。
应用1212包括内容共享网络客户端应用1234、内置应用1236和/或第三方应用1238。代表性内置应用1236的示例包括联系人应用、浏览器应用、书籍阅读器应用、位置应用、媒体应用、消息传递应用和/或游戏应用。第三方应用1238可以包括任何内置应用1236以及各种分类的其它应用。在实施例中,第三方应用1238(例如,由特定平台的供应商以外的实体使用ANDROIDTM或IOS软件开发套件(SDK)开发的应用)可以是在诸如ANDROIDTM、WINDOWS的移动操作***或其它移动操作***上运行的移动软件。在该示例中,第三方应用1238可以调用由操作***1220提供的API调用1204,以促进在此描述的功能。
应用1212可以利用内置操作***功能(例如,内核1218、服务1222 和/或驱动器1224)、库(例如,***库1242、API库1244和其它库1246) 或创建用户界面以与***的用户交互的框架/中间件1214。可替代地或另外地,可以通过表示层1210发生与用户的交互。在这些***中,应用/模块“逻辑”可以与和用户交互的应用/模块的方面分离。
一些软件架构利用虚拟机。在图12的示例中,这由虚拟机1206示出。虚拟机创建软件环境,其中应用/模块可以像在物理计算装置(例如,图 13的计算***1300)上执行一样执行。虚拟机1206可以由主机操作*** (例如,操作***1220)托管。主机操作***通常具有虚拟机监视器1260,该虚拟机监视器1260可以管理虚拟机1206的操作以及与主机操作***(例如,操作***1220)的接口。软件架构在虚拟机1206内执行,并且可以包括操作***1234、库1232、框架/中间件1230、应用1228和/或表示层 1226。在虚拟机1206内执行的这些层可以与先前描述的对应层类似地或不同地操作。
图13示出了计算装置,计算***1300的示例,其中可以实现本公开的各种实施例。在该示例中,计算***1300可以从计算机可读介质(例如,计算机可读存储介质)读取指令1310,并执行在此所讨论的任何一种或多种方法。指令1310可以包括用于使计算***1300执行在此所讨论的任何一种或多种方法的软件、程序、应用、小应用程序、app或其它可执行代码。例如,指令1310可以使计算***1300执行图6的过程600。另外或可替代地,指令1310可以实现图1的工作流程100、图2A和2B的图形用户界面200和250,用于确定图3A-3D的移动数据的方法;用于编辑图 4A-4G的球形视频数据的方法;用于表示从图5A-5F的球形视频数据编辑的视频的方法;图7的应用逻辑模块712或视频模块714;图12的客户端应用1234等等。指令1310可以将诸如计算***1300的通用非编程计算机变换为被编程为执行在此所述功能的特定计算机。
在一些实施例中,计算***1300可以作为独立装置操作或者可以耦接 (例如,联网)到其它装置。在联网部署中,计算***1300可以在服务器 -客户端网络环境中以服务器或客户端装置的能力操作,或者作为对等(或分布式)网络环境中的对等装置操作。计算***1300可以包括开关、控制器、服务器计算机、客户端计算机、个人计算机(PC)、平板计算机、膝上型计算机、上网本、机顶盒(STB)、个人数字助理(PDA)、娱乐媒体***、蜂窝电话、智能电话、移动装置、可穿戴装置(例如,智能手表)、智能家居装置(例如,智能电器)、其它智能装置、网络装置、网络路由器、网络交换机、网络桥接器或能够顺序地或以其它方式执行指定计算***1300要采取的动作的指令1310的任何电子装置。此外,尽管在该示例中示出了单个装置,但是术语“装置”还应被视为包括单独或联合执行指令1310以执行在此所讨论的任何一种或多种方法的装置集合。
计算***1300可以包括处理器1304、存储器/存储装置1306和I/O组件1318,其可以被配置为例如经由总线1302彼此通信。在一些实施例中,处理器1304(例如,中央处理单元(CPU)、精简指令集计算(RISC) 处理器、复杂指令集计算(CISC)处理器、图形处理单元(GPU)、数字信号处理器(DSP)、专用集成电路(ASIC)、射频集成电路(RFIC)、另一处理器或其任何合适的组合)可以包括处理器1308和处理器1312,用于执行指令1310中的一些或全部指令。术语“处理器”旨在包含可以包括可同时执行指令的两个或更多个独立处理器(有时也称为“核”)的多核处理器。虽然图13示出了多个处理器1304,但是计算***1300可以包括具有单个核的单个处理器、具有多个核的单个处理器(例如,多核处理器)、具有单个核的多个处理器、具有多个核的多个处理器,或其任何组合。
存储器/存储装置1306可包括存储器1314(例如,主存储器或其它存储器存储装置)和存储装置1316(例如,硬盘驱动器(HDD)或固态装置 (SSD)可诸如经由总线1302访问处理器1304)。存储装置1316和存储器1314存储指令1310,该指令可以体现在此所述的任何一种或多种方法或功能。存储装置1316还可以存储视频数据1350,包括球形视频数据、编辑的视频和本公开中讨论的其它数据。在计算***1300执行期间,指令 1310还可以完全或部分地驻留在存储器1314内、存储装置1316内、处理器1304内(例如,处理器的高速缓存存储器内)或其任何合适的组合。因此,存储器1314、存储装置1316和处理器1304的存储器是计算机可读介质的示例。
如在此所使用的,“计算机可读介质”是指能够临时或永久地存储指令和数据的对象,并且可以包括随机存取存储器(RAM)、只读存储器 (ROM)、缓冲存储器、闪存、光学介质、磁介质、高速缓冲存储器、其它类型的存储装置(例如,可擦除可编程只读存储器(EEPROM))和/ 或其任何合适的组合。术语“计算机可读介质”可以包括能够存储指令1310 的单个介质或多个介质(例如,集中式或分布式数据库,或相关联的高速缓存和服务器)。术语“计算机可读介质”还可以包括任何介质,或者多个介质的组合,其能够存储用于由计算机(例如,计算***1300)执行的指令(例如,指令1310),使得指令在由计算机的一个或多个处理器(例如,处理器1304)执行时使计算机执行在此描述的任何一种或多种方法。因此,“计算机可读介质”是指单个存储设备或装置,以及包括多个存储设备或装置的“基于云的”存储***或存储网络。术语“计算机可读介质”不包括信号本身。
I/O组件1318可以包括各种各样的组件以接收输入,提供输出,产生输出,发送信息,交换信息,捕获测量等。特定装置中包括的特定I/O组件将取决于装置的类型。例如,诸如移动电话的便携式装置可能包括触摸屏或其它这种输入机构,而无头服务器可能不包括触摸传感器。在一些实施例中,I/O组件1318可以包括输出组件1326和输入组件1328。输出组件1326可以包括可视组件(例如显示器,诸如等离子显示面板(PDP)、发光二极管(LED)显示器、液晶显示器(LCD)、投影仪或阴极射线管 (CRT))、声学组件(例如,扬声器)、触觉组件(例如,振动马达、阻力机构)、其它信号发生器等。输入组件1318可以包括字母数字输入组件(例如,键盘、配置为接收字母数字输入的触摸屏、光学式光学键盘或其它字母数字输入组件)、基于指针的输入组件(例如,鼠标、触摸板、轨迹球、操纵杆、运动传感器或其它指示工具)、触知输入组件(例如,物理按钮、提供触摸或触摸手势的位置和/或力的触摸屏,或其它触觉输入组件)、音频输入组件(例如,麦克风)等。
在一些实施例中,I/O组件1318还可以包括生物度量组件1330、运动组件1334、定位组件1336或环境组件1338,或者多种其它组件。例如,生物度量组件1330可以包括用于检测表情(例如,手的表达、面部表情、声音表达、身体姿势或眼睛跟踪),测量生物信号(例如,血压、心率、体温、出汗、或者脑波),识别人(例如,语音识别、视网膜识别、面部识别、指纹识别或基于脑电图的识别)等的组件。运动组件1334可包括加速度传感器组件(例如,加速度计)、重力传感器组件、旋转传感器组件 (例如,陀螺仪)等。定位组件1336可包括位置传感器组件(例如,全球定位***(GPS)接收机组件)、高度传感器组件(例如,检测可从其导出高度的气压的高度计或气压计)、取向传感器组件(例如,磁力计)等。环境组件1338可以包括照明传感器组件(例如,光度计)、温度传感器组件(例如,检测环境温度的一个或多个温度计)、湿度传感器组件、压力传感器组件(例如,气压计)、声学传感器组件(例如,检测背景噪声的一个或多个麦克风)、接近传感器组件(例如,检测附近对象的红外传感器)、气体传感器(例如,用于检测危险气体浓度以确保安全或测量大气中污染物的气体检测传感器)或可以提供与周围物理环境相对应的指示、测量或信号的其它组件。
可以使用各种技术来实现通信。I/O组件1318可以包括通信组件1340,该通信组件1340可操作以分别经由耦接1324和耦接1322将计算***1300 耦接到WAN 1332或装置1320。例如,通信组件1340可以包括网络接口组件或与WAN 1332接口连接的其它合适的装置。在一些实施例中,通信组件1340可以包括有线通信组件、无线通信组件、蜂窝通信组件、近场通信(NFC)组件、蓝牙组件(例如,蓝牙低功耗)、Wi-Fi组件和经由其它模式提供通信的其它通信组件。装置1320可以是另一计算装置或各种***装置中的任何一种(例如,经由USB耦接的***装置)。
此外,通信组件1340可以检测标识符或包括可操作以检测标识符的组件。例如,通信组件1340可以包括射频识别(RFID)标签读取器组件、 NFC智能标签检测组件、光学读取器组件(例如,光学传感器,其用于检测诸如通用产品代码(UPC)条形码的一维条形码、诸如快速响应(QR) 代码、Aztec代码、数据矩阵、数字图形、MaxiCode、PDF417、超码、 UCC RSS-2D条形码和其它光学代码的多维条形码),或声学检测组件(例如,用于识别标记音频信号的麦克风)。另外,可以经由通信组件1340 导出各种信息,诸如经由因特网协议(IP)地理位置的位置、经由信号三角测量的位置、经由检测可以指示特定位置的NFC信标信号的位置等。
在各种实施例中,WAN 1332的一个或多个部分可以是ad hoc网络、内联网、外联网、虚拟专用网络(VPN)、局域网(LAN)、无线LAN (WLAN)、广域网(WAN)、无线广域网(WWAN)、城域网(MAN)、因特网、因特网的一部分、公共交换电话网(PSTN)的一部分、普通老式电话服务(POTS)网络、蜂窝电话网络、无线网络、Wi-Fi网络,另一种类型的网络,或两个或更多这种网络的组合。例如,WAN 1332或WAN 1332的一部分可以包括无线或蜂窝网络,并且耦接1324可以是码分多址(CDMA)连接、全球移动通信***(GSM)连接或另一类型的蜂窝或无线耦接。在该示例中,耦接1324可以实现各种类型的数据传输技术中的任何一种,诸如单载波无线传输技术(1xRTT)、演进数据优化(EVDO) 技术、通用分组无线服务(GPRS)技术、增强的GSM演进数据速率(EDGE) 技术、包括3G的第三代合作伙伴计划(3GPP)、***无线(4G)网络、通用移动电信***(UMTS)、高速分组接入(HSPA)、全球微波接入互操作性(WiMAX)、长期演进(LTE)标准、由各种标准制定组织定义的其它标准、其它远程协议或其它数据传输技术。
指令1310可以经由网络接口装置(例如,通信组件1340中包括的网络接口组件)使用传输介质并且利用若干众所周知的传输协议中的任何一种(例如,HTTP)通过WAN 1332发送或接收。类似地,可以使用传输介质经由耦接1322(例如,对等耦接)向装置1320发送或接收指令1310。术语“传输介质”包括能够存储、编码或承载用于由计算***1300执行的指令1310的任何无形介质,并且包括数字或模拟通信信号或其它无形介质以促进这种软件的通信。
在整个说明书中,多个实例可以实现被描述为单个实例的组件、操作或结构。尽管一个或多个方法的各个操作被示出并描述为单独的操作,但是可以同时执行一个或多个单独的操作。在示例配置中作为单独组件呈现的结构和功能可以实现为组合结构或组件。类似地,作为单个组件呈现的结构和功能可以实现为单独的组件。这些和其它变化、修改、添加和改进都落入本文主题的范围内。
足够详细地描述了在此所示的实施例,以使本领域技术人员能够实践所公开的教导。其它实施例可被使用并从中导出,使得可以在不脱离本公开的范围的情况下进行结构和逻辑替换和改变。因此,具体实施方式不应被视为具有限制意义,并且各种实施例的范围由所附权利要求以及这些权利要求所赋予的等同物的全部范围来限定。
如在此所使用的,术语“或”可以以包含性或排他性的含义来解释。此外,可以为在此描述为单个实例的资源、操作或结构提供多个实例。另外,各种资源、操作、模块、引擎和数据存储之间的边界在某种程度上是任意的,并且特定操作在特定说明性配置的上下文中示出。其它功能分配被设想,并且可以落入本公开的各种实施例的范围内。通常,在示例配置中作为单独资源呈现的结构和功能可以实现为组合结构或资源。类似地,作为单个资源呈现的结构和功能可以实现为单独的资源。这些和其它变化、修改、添加和改进落入由所附权利要求表示的本公开的实施例的范围内。因此,说明书和附图应被视为说明性的而非限制性的。
Claims (20)
1.一种计算机实现的方法,包括:
使用计算装置的一个或多个处理器接收包括球形视频数据的第一视频数据;
在与所述计算装置相关联的显示屏上显示所述第一视频数据的帧的一部分,其中,所述帧的所述部分表示进入所述第一视频数据的视口,并且所述视口与所述第一视频数据的每一帧的原始位置相关联;
在所述计算装置检测到与从所述第一视频数据生成第二视频数据相关联的第一输入和与停止生成所述第二视频数据相关联的第二输入时之间的持续时间内,确定在所述显示屏显示所述第一视频数据的所述帧的所述部分时的时间段内与对象相关联的移动数据;
使用所述移动数据确定所述视口的多个新位置,其中,新位置对应于在所述显示屏显示所述第一视频数据的所述帧的所述部分时的所述时间段内与所述对象相关联的移动;以及
使用所述多个新位置从所述第一视频数据生成所述第二视频数据,其中,所述第二视频数据的帧的像素对应于在所述新位置处由所述视口包围的所述第一视频数据的所述帧的像素。
2.根据权利要求1所述的计算机实现的方法,其中,所述对象包括所述计算装置。
3.根据权利要求2所述的计算机实现的方法,进一步包括:
捕获所述计算装置的运动传感器数据或位置传感器数据中的至少一个,
其中,使用所述运动传感器数据或所述位置传感器数据中的至少一个来确定所述移动数据。
4.根据权利要求3所述的计算机实现的方法,进一步包括:
捕获表示所述计算装置的物理环境的图像数据,
其中,使用所述运动传感器数据或所述位置传感器数据中的至少一个和所述图像数据的组合来确定所述移动数据。
5.根据权利要求1所述的计算机实现的方法,其中,所述对象显示在所述第一视频数据中。
6.根据权利要求1所述的计算机实现的方法,其中,所述多个新位置对应于所述视口的多个质心,并且其中,从所述第一视频数据生成所述第二视频数据包括使用所述多个质心使所述视口重新居中。
7.根据权利要求1所述的计算机实现的方法,进一步包括:
确定旋转信息、平移信息或变换信息中的至少一个,以使所述视口从所述原始位置重新居中到所述新位置。
8.根据权利要求1所述的计算机实现的方法,进一步包括:
确定从所述第一视频数据的所述帧中提取用于所述第二视频数据的所述帧的表面或体积。
9.根据权利要求1所述的计算机实现的方法,其中,所述第二视频数据包括具有与所述显示屏的角视场对应的角视场的等角矩形帧。
10.根据权利要求1所述的计算机实现的方法,其中,所述第二视频数据的所述帧与沿着至少一个维度的角视场相关联,所述至少一个维度的角视场大于沿所述计算装置的显示屏的至少一个对应维度但小于360度的角视场。
11.根据权利要求10所述的计算机实现的方法,其中,所述第二视频数据的所述帧与沿至少一个第二维度等于360度的角视场相关联。
12.根据权利要求1所述的计算机实现的方法,进一步包括:
确定第二计算装置的可用资源;以及
基于所述可用资源,发送所述第二视频数据的裁剪版本、具有较低视频分辨率的所述第二视频数据的版本、具有较低的每秒帧速率的所述第二视频数据的版本或者具有不同视频分辨率的区域的所述第二视频数据的版本中的至少一个。
13.一种计算装置,包括:
一个或多个处理器;
显示屏;以及
包括指令的存储器,所述指令在由所述一个或多个处理器执行时使所述计算装置:
接收与大于与所述显示屏相关联的角视场的角视场相关联的第一视频数据;
在所述显示屏上显示所述第一视频数据的帧的一部分,其中,所述帧的所述部分表示进入所述第一视频数据的视口,并且所述视口与所述第一视频数据的每一帧的原始位置相关联;
接收与从所述第一视频数据生成第二视频数据相关联的所述计算装置的第一输入;
确定在所述显示屏显示所述第一视频数据的所述帧的所述部分时的时间段内与对象相关联的移动数据;
使用所述移动数据确定所述视口的多个新位置,其中,新位置对应于当所述显示屏显示所述第一视频数据的所述帧的所述部分时的所述时间段内与所述对象相关联的移动;以及
使用所述多个新位置从所述第一视频数据生成所述第二视频数据,其中,所述第二视频数据的帧的像素对应于在所述新位置处由所述视口包围的所述第一视频数据的所述帧的像素。
14.根据权利要求13所述的计算装置,进一步包括多个摄像头,其中,所述指令在执行时进一步使所述计算装置:
使用所述多个摄像头捕获多个视频;以及
将所述多个视频拼接在一起以生成所述第一视频数据。
15.根据权利要求13所述的计算装置,其中,所述对象包括所述计算装置的用户的至少一部分。
16.根据权利要求15所述的计算装置,其中,所述指令在执行时进一步使所述计算装置:
确定用于将所述第一视频数据的所述帧的所述像素映射到所述第二视频数据的所述帧的所述像素的多个坐标。
17.一种存储指令的非暂态计算机可读存储介质,所述指令在由计算装置的一个或多个处理器执行时使所述计算装置:
接收包括球形视频数据的第一视频数据;
接收与从所述第一视频数据生成第二视频数据相关联的所述计算装置的第一输入;
确定在所述计算装置显示所述第一视频数据的帧的一部分时的时间段内与对象相关联的移动数据,其中,所述帧的所述部分表示进入所述第一视频数据的视口,并且所述视口与所述第一视频数据的每一帧的原始位置相关联;
使用所述移动数据确定所述视口的多个新位置,其中,新位置对应于在所述计算装置显示所述第一视频数据的所述帧的所述部分时的时间段内与所述对象相关联的移动;以及
使用所述多个新位置从所述第一视频数据生成所述第二视频数据,其中,所述第二视频数据的帧的像素对应于在所述新位置处由所述视口包围的所述第一视频数据的所述帧的像素。
18.根据权利要求17所述的非暂态计算机可读存储介质,其中,所述指令在执行时进一步使所述计算装置:
从所述计算装置的图形缓冲器取得所述第一视频数据的所述帧的所述像素。
19.根据权利要求17所述的非暂态计算机可读存储介质,其中,所述第二视频数据的所述帧与沿着至少一个第一维度的角视场相关联,所述至少一个第一维度的角视场大于沿所述计算装置的显示屏的至少一个对应维度但小于360度的角视场,以及其中,所述第二视频数据的所述帧与沿至少一个第二维度等于360度的角视场相关联。
20.根据权利要求17所述的非暂态计算机可读存储介质,其中,所述指令在执行时进一步使所述计算装置:
向第二计算装置发送包括所述第二视频数据的短时消息,
其中,在已经观看所述第二视频数据之后或在所述第二计算装置接收所述第二视频数据的指定时间段之后删除所述第二视频数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011131842.2A CN112256127B (zh) | 2017-12-15 | 2018-12-14 | 球形视频编辑 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/844,089 | 2017-12-15 | ||
US15/844,089 US10217488B1 (en) | 2017-12-15 | 2017-12-15 | Spherical video editing |
PCT/US2018/065750 WO2019118877A1 (en) | 2017-12-15 | 2018-12-14 | Spherical video editing |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011131842.2A Division CN112256127B (zh) | 2017-12-15 | 2018-12-14 | 球形视频编辑 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110495166A CN110495166A (zh) | 2019-11-22 |
CN110495166B true CN110495166B (zh) | 2020-11-10 |
Family
ID=65410761
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880023571.3A Active CN110495166B (zh) | 2017-12-15 | 2018-12-14 | 一种计算机实现的方法、计算装置以及可读存储介质 |
CN202011131842.2A Active CN112256127B (zh) | 2017-12-15 | 2018-12-14 | 球形视频编辑 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011131842.2A Active CN112256127B (zh) | 2017-12-15 | 2018-12-14 | 球形视频编辑 |
Country Status (4)
Country | Link |
---|---|
US (5) | US10217488B1 (zh) |
KR (3) | KR102469263B1 (zh) |
CN (2) | CN110495166B (zh) |
WO (1) | WO2019118877A1 (zh) |
Families Citing this family (112)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8121361B2 (en) * | 2006-05-19 | 2012-02-21 | The Queen's Medical Center | Motion tracking system for real time adaptive imaging and spectroscopy |
US10509466B1 (en) | 2011-05-11 | 2019-12-17 | Snap Inc. | Headwear with computer and optical element for use therewith and systems utilizing same |
US10439972B1 (en) | 2013-05-30 | 2019-10-08 | Snap Inc. | Apparatus and method for maintaining a message thread with opt-in permanence for entries |
US10438631B2 (en) | 2014-02-05 | 2019-10-08 | Snap Inc. | Method for real-time video processing involving retouching of an object in the video |
US9276886B1 (en) | 2014-05-09 | 2016-03-01 | Snapchat, Inc. | Apparatus and method for dynamically configuring application component tiles |
US9396354B1 (en) | 2014-05-28 | 2016-07-19 | Snapchat, Inc. | Apparatus and method for automated privacy protection in distributed images |
US9537811B2 (en) | 2014-10-02 | 2017-01-03 | Snap Inc. | Ephemeral gallery of ephemeral messages |
US9225897B1 (en) | 2014-07-07 | 2015-12-29 | Snapchat, Inc. | Apparatus and method for supplying content aware photo filters |
US10775996B2 (en) | 2014-11-26 | 2020-09-15 | Snap Inc. | Hybridization of voice notes and calling |
US9385983B1 (en) | 2014-12-19 | 2016-07-05 | Snapchat, Inc. | Gallery of messages from individuals with a shared interest |
US10311916B2 (en) | 2014-12-19 | 2019-06-04 | Snap Inc. | Gallery of videos set to an audio time line |
EP3272078B1 (en) | 2015-03-18 | 2022-01-19 | Snap Inc. | Geo-fence authorization provisioning |
US9668217B1 (en) | 2015-05-14 | 2017-05-30 | Snap Inc. | Systems and methods for wearable initiated handshaking |
US10503264B1 (en) | 2015-06-16 | 2019-12-10 | Snap Inc. | Radial gesture navigation |
US10354425B2 (en) | 2015-12-18 | 2019-07-16 | Snap Inc. | Method and system for providing context relevant media augmentation |
US10055895B2 (en) | 2016-01-29 | 2018-08-21 | Snap Inc. | Local augmented reality persistent sticker objects |
US10474353B2 (en) | 2016-05-31 | 2019-11-12 | Snap Inc. | Application control using a gesture based trigger |
US11404056B1 (en) | 2016-06-30 | 2022-08-02 | Snap Inc. | Remoteless control of drone behavior |
US10102423B2 (en) | 2016-06-30 | 2018-10-16 | Snap Inc. | Object modeling and replacement in a video stream |
US10609036B1 (en) | 2016-10-10 | 2020-03-31 | Snap Inc. | Social media post subscribe requests for buffer user accounts |
KR20180051288A (ko) * | 2016-11-08 | 2018-05-16 | 삼성전자주식회사 | 디스플레이 장치 및 그 제어 방법 |
US10867445B1 (en) * | 2016-11-16 | 2020-12-15 | Amazon Technologies, Inc. | Content segmentation and navigation |
US11272160B2 (en) * | 2017-06-15 | 2022-03-08 | Lenovo (Singapore) Pte. Ltd. | Tracking a point of interest in a panoramic video |
US10579869B1 (en) | 2017-07-18 | 2020-03-03 | Snap Inc. | Virtual object machine learning |
US11204949B1 (en) | 2017-07-31 | 2021-12-21 | Snap Inc. | Systems, devices, and methods for content selection |
US11323398B1 (en) | 2017-07-31 | 2022-05-03 | Snap Inc. | Systems, devices, and methods for progressive attachments |
JP2019036914A (ja) * | 2017-08-21 | 2019-03-07 | ウエストユニティス株式会社 | 連携表示システム |
US10591730B2 (en) | 2017-08-25 | 2020-03-17 | II Jonathan M. Rodriguez | Wristwatch based interface for augmented reality eyewear |
US11531357B1 (en) | 2017-10-05 | 2022-12-20 | Snap Inc. | Spatial vector-based drone control |
WO2019094618A1 (en) | 2017-11-08 | 2019-05-16 | Signall Technologies Zrt | Computer vision based sign language interpreter |
US10217488B1 (en) | 2017-12-15 | 2019-02-26 | Snap Inc. | Spherical video editing |
US10523606B2 (en) | 2018-01-02 | 2019-12-31 | Snap Inc. | Generating interactive messages with asynchronous media content |
US10567321B2 (en) | 2018-01-02 | 2020-02-18 | Snap Inc. | Generating interactive messages with asynchronous media content |
US11063889B2 (en) | 2018-06-08 | 2021-07-13 | Snap Inc. | Generating interactive messages with entity assets |
US10770035B2 (en) | 2018-08-22 | 2020-09-08 | Google Llc | Smartphone-based radar system for facilitating awareness of user presence and orientation |
US10890653B2 (en) * | 2018-08-22 | 2021-01-12 | Google Llc | Radar-based gesture enhancement for voice interfaces |
US10698603B2 (en) | 2018-08-24 | 2020-06-30 | Google Llc | Smartphone-based radar system facilitating ease and accuracy of user interactions with displayed objects in an augmented-reality interface |
US10788880B2 (en) | 2018-10-22 | 2020-09-29 | Google Llc | Smartphone-based radar system for determining user intention in a lower-power mode |
US10761611B2 (en) | 2018-11-13 | 2020-09-01 | Google Llc | Radar-image shaper for radar-based applications |
US11099862B1 (en) * | 2018-11-30 | 2021-08-24 | Snap Inc. | Interface to configure media content |
US11323684B2 (en) * | 2018-11-30 | 2022-05-03 | Ricoh Company, Ltd. | Apparatus, system, and method of processing image data to be relayed |
US10796482B2 (en) | 2018-12-05 | 2020-10-06 | Snap Inc. | 3D hand shape and pose estimation |
US11012390B1 (en) | 2019-03-28 | 2021-05-18 | Snap Inc. | Media content response in a messaging system |
US11019011B1 (en) | 2019-03-29 | 2021-05-25 | Snap Inc. | Messaging system with discard user interface |
US11036368B1 (en) | 2019-03-29 | 2021-06-15 | Snap Inc. | Messaging system with message transmission user interface |
KR102094397B1 (ko) * | 2019-04-19 | 2020-03-27 | (주)코어센스 | 유니티 프로젝트 내 모션센서 장비를 통한 애니메이션 익스포트 시스템 |
US11106342B1 (en) | 2019-06-03 | 2021-08-31 | Snap Inc. | User interfaces to facilitate multiple modes of electronic communication |
US11151794B1 (en) | 2019-06-28 | 2021-10-19 | Snap Inc. | Messaging system with augmented reality messages |
US10997693B2 (en) * | 2019-07-03 | 2021-05-04 | Gopro, Inc. | Apparatus and methods for non-uniform processing of image data |
US11307747B2 (en) | 2019-07-11 | 2022-04-19 | Snap Inc. | Edge gesture interface with smart interactions |
KR102582407B1 (ko) * | 2019-07-28 | 2023-09-26 | 구글 엘엘씨 | 포비에이티드 메시들로 몰입형 비디오 콘텐츠를 렌더링하기 위한 방법들, 시스템들, 및 매체들 |
US11905675B2 (en) * | 2019-08-05 | 2024-02-20 | Topcon Positioning Systems, Inc. | Vision-based blade positioning |
US11282547B1 (en) | 2019-08-30 | 2022-03-22 | Gopro, Inc. | Interface for framing videos |
US11336832B1 (en) * | 2019-08-30 | 2022-05-17 | Gopro, Inc. | Systems and methods for horizon leveling videos |
KR20220062338A (ko) | 2019-09-09 | 2022-05-16 | 스냅 인코포레이티드 | 스테레오 카메라들로부터의 손 포즈 추정 |
US11792472B2 (en) * | 2019-09-18 | 2023-10-17 | Wayne Fueling Systems Llc | Schedule-based uninterrupted buffering and streaming |
US11958183B2 (en) | 2019-09-19 | 2024-04-16 | The Research Foundation For The State University Of New York | Negotiation-based human-robot collaboration via augmented reality |
US11935288B2 (en) | 2019-12-01 | 2024-03-19 | Pointivo Inc. | Systems and methods for generating of 3D information on a user display from processing of sensor data for objects, components or features of interest in a scene and user navigation thereon |
US11216663B1 (en) * | 2020-12-01 | 2022-01-04 | Pointivo, Inc. | Systems and methods for generating of 3D information on a user display from processing of sensor data for objects, components or features of interest in a scene and user navigation thereon |
US11064118B1 (en) * | 2019-12-18 | 2021-07-13 | Gopro, Inc. | Systems and methods for dynamic stabilization adjustment |
WO2021134183A1 (zh) * | 2019-12-30 | 2021-07-08 | 深圳市大疆创新科技有限公司 | 图像处理方法、装置、可移动平台、摄像装置及存储介质 |
US11062498B1 (en) | 2019-12-30 | 2021-07-13 | Snap Inc. | Animated pull-to-refresh |
US11488358B2 (en) | 2020-02-05 | 2022-11-01 | Snap Inc. | Augmented reality session creation using skeleton tracking |
US11265274B1 (en) | 2020-02-28 | 2022-03-01 | Snap Inc. | Access and routing of interactive messages |
US11675494B2 (en) | 2020-03-26 | 2023-06-13 | Snap Inc. | Combining first user interface content into second user interface |
US11409368B2 (en) | 2020-03-26 | 2022-08-09 | Snap Inc. | Navigating through augmented reality content |
US11960651B2 (en) | 2020-03-30 | 2024-04-16 | Snap Inc. | Gesture-based shared AR session creation |
US11455078B1 (en) | 2020-03-31 | 2022-09-27 | Snap Inc. | Spatial navigation and creation interface |
US11538231B2 (en) * | 2020-04-06 | 2022-12-27 | Nvidia Corporation | Projecting images captured using fisheye lenses for feature detection in autonomous machine applications |
CN112997506A (zh) * | 2020-05-28 | 2021-06-18 | 深圳市大疆创新科技有限公司 | 视频文件编辑方法、设备、***及计算机可读存储介质 |
CN116261850A (zh) | 2020-06-30 | 2023-06-13 | 斯纳普公司 | 用于实时虚拟效果的骨骼跟踪 |
CN111887834B (zh) * | 2020-07-15 | 2021-11-02 | 西安电子科技大学 | 基于多示例学习和进化优化的逐搏心率检测方法 |
US11200918B1 (en) * | 2020-07-29 | 2021-12-14 | Gopro, Inc. | Video framing based on device orientation |
US11832015B2 (en) | 2020-08-13 | 2023-11-28 | Snap Inc. | User interface for pose driven virtual effects |
US11417004B2 (en) * | 2020-08-24 | 2022-08-16 | Vmware, Inc. | Variable transforms for three-dimensional engines |
US11360733B2 (en) | 2020-09-10 | 2022-06-14 | Snap Inc. | Colocated shared augmented reality without shared backend |
US11671559B2 (en) | 2020-09-30 | 2023-06-06 | Snap Inc. | Real time video editing |
CN112203110B (zh) * | 2020-12-03 | 2021-04-06 | 首望体验科技文化有限公司 | 适配于720胶囊型屏幕的直播方法、装置及相关产品 |
US11797162B2 (en) | 2020-12-22 | 2023-10-24 | Snap Inc. | 3D painting on an eyewear device |
US11782577B2 (en) | 2020-12-22 | 2023-10-10 | Snap Inc. | Media content player on an eyewear device |
EP4272406A1 (en) | 2020-12-29 | 2023-11-08 | Snap Inc. | Body ui for augmented reality components |
CN116685941A (zh) | 2020-12-31 | 2023-09-01 | 斯纳普公司 | 具有触觉反馈增强的媒体内容项 |
KR20230124086A (ko) | 2020-12-31 | 2023-08-24 | 스냅 인코포레이티드 | 햅틱 피드백 응답을 갖는 전자 통신 인터페이스 |
CN116670635A (zh) | 2020-12-31 | 2023-08-29 | 斯纳普公司 | 具有触觉反馈的实时视频通信界面 |
US12008152B1 (en) | 2020-12-31 | 2024-06-11 | Snap Inc. | Distance determination for mixed reality interaction |
CN112804511B (zh) * | 2021-01-04 | 2022-04-01 | 烽火通信科技股份有限公司 | 一种动态渲染全景视频的方法和装置 |
US11978283B2 (en) | 2021-03-16 | 2024-05-07 | Snap Inc. | Mirroring device with a hands-free mode |
US11798201B2 (en) | 2021-03-16 | 2023-10-24 | Snap Inc. | Mirroring device with whole-body outfits |
US11908243B2 (en) | 2021-03-16 | 2024-02-20 | Snap Inc. | Menu hierarchy navigation on electronic mirroring devices |
US11734959B2 (en) | 2021-03-16 | 2023-08-22 | Snap Inc. | Activating hands-free mode on mirroring device |
US11809633B2 (en) | 2021-03-16 | 2023-11-07 | Snap Inc. | Mirroring device with pointing based navigation |
USD998637S1 (en) | 2021-03-16 | 2023-09-12 | Snap Inc. | Display screen or portion thereof with a graphical user interface |
EP4064691A1 (en) * | 2021-03-23 | 2022-09-28 | Ricoh Company, Ltd. | Communication management device, image communication system, communication management method, and carrier means |
US11928306B2 (en) | 2021-05-19 | 2024-03-12 | Snap Inc. | Touchpad navigation for augmented reality display device |
US11880542B2 (en) | 2021-05-19 | 2024-01-23 | Snap Inc. | Touchpad input for augmented reality display device |
US11647294B2 (en) * | 2021-05-25 | 2023-05-09 | Shanghai Bilibili Technology Co., Ltd. | Panoramic video data process |
US11818414B2 (en) * | 2021-08-06 | 2023-11-14 | Sony Group Corporation | Telepresence through OTA VR broadcast streams |
US11670059B2 (en) | 2021-09-01 | 2023-06-06 | Snap Inc. | Controlling interactive fashion based on body gestures |
CN114125556B (zh) * | 2021-11-12 | 2024-03-26 | 深圳麦风科技有限公司 | 视频数据的处理方法、终端和存储介质 |
US11748958B2 (en) | 2021-12-07 | 2023-09-05 | Snap Inc. | Augmented reality unboxing experience |
US11960784B2 (en) | 2021-12-07 | 2024-04-16 | Snap Inc. | Shared augmented reality unboxing experience |
CN114155356A (zh) * | 2021-12-07 | 2022-03-08 | 大连工业大学 | 基于Unity的全空间分布光度计虚拟现实仿真方法 |
US11861801B2 (en) | 2021-12-30 | 2024-01-02 | Snap Inc. | Enhanced reading with AR glasses |
US11579747B1 (en) | 2022-03-14 | 2023-02-14 | Snap Inc. | 3D user interface depth forgiveness |
US11949527B2 (en) | 2022-04-25 | 2024-04-02 | Snap Inc. | Shared augmented reality experience in video chat |
US11960653B2 (en) | 2022-05-10 | 2024-04-16 | Snap Inc. | Controlling augmented reality effects through multi-modal human interaction |
US12001878B2 (en) | 2022-06-03 | 2024-06-04 | Snap Inc. | Auto-recovery for AR wearable devices |
US12002168B2 (en) | 2022-06-20 | 2024-06-04 | Snap Inc. | Low latency hand-tracking in augmented reality systems |
US11948266B1 (en) | 2022-09-09 | 2024-04-02 | Snap Inc. | Virtual object manipulation with gestures in a messaging system |
US11995780B2 (en) | 2022-09-09 | 2024-05-28 | Snap Inc. | Shooting interaction using augmented reality content in a messaging system |
US11797099B1 (en) | 2022-09-19 | 2023-10-24 | Snap Inc. | Visual and audio wake commands |
US11747912B1 (en) | 2022-09-22 | 2023-09-05 | Snap Inc. | Steerable camera for AR hand tracking |
Family Cites Families (181)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5758257A (en) | 1994-11-29 | 1998-05-26 | Herz; Frederick | System and method for scheduling broadcast of and access to video programs and other data using customer profiles |
US5978773A (en) | 1995-06-20 | 1999-11-02 | Neomedia Technologies, Inc. | System and method for using an ordinary article of commerce to access a remote computer |
DE59708043D1 (de) | 1996-06-17 | 2002-10-02 | Siemens Ag | Kommunikationssystem und Verfahren zur Aufnahme und Verwaltung digitaler Bilder |
JP3783331B2 (ja) | 1997-05-14 | 2006-06-07 | ブラザー工業株式会社 | メール送信システム、メール受信システムおよび記録媒体 |
US6158044A (en) | 1997-05-21 | 2000-12-05 | Epropose, Inc. | Proposal based architecture system |
HUP0001042A3 (en) | 1997-06-17 | 2000-10-30 | Purdue Pharma Lp | Self-destructing document and e-mail messaging system, apparatus and method |
FI973945A (fi) | 1997-10-13 | 1999-04-14 | Nokia Telecommunications Oy | Lyhytsanomia välittävä tiedonsiirtojärjestelmä |
US6484196B1 (en) | 1998-03-20 | 2002-11-19 | Advanced Web Solutions | Internet messaging system and method for use in computer networks |
US7173651B1 (en) | 1998-06-02 | 2007-02-06 | Knowles Andrew T | Apparatus and system for prompt digital photo delivery and archival |
US6205432B1 (en) | 1998-06-05 | 2001-03-20 | Creative Internet Concepts, Llc | Background advertising system |
US6324569B1 (en) | 1998-09-23 | 2001-11-27 | John W. L. Ogilvie | Self-removing email verified or designated as such by a message distributor for the convenience of a recipient |
US6757713B1 (en) | 1998-09-23 | 2004-06-29 | John W. L. Ogilvie | Method for including a self-removing indicator in a self-removing message |
WO2000017768A1 (en) | 1998-09-23 | 2000-03-30 | Ogilvie John W L | Self-removing email |
US6701347B1 (en) | 1998-09-23 | 2004-03-02 | John W. L. Ogilvie | Method for including a self-removing code in a self-removing email message that contains an advertisement |
US6167435A (en) | 1998-10-30 | 2000-12-26 | Netcreations, Inc. | Double opt-in™ method and system for verifying subscriptions to information distribution services |
US7240199B2 (en) | 2000-12-06 | 2007-07-03 | Rpost International Limited | System and method for verifying delivery and integrity of electronic messages |
US7149893B1 (en) | 1999-09-07 | 2006-12-12 | Poofaway.Com, Inc. | System and method for enabling the originator of an electronic mail message to preset an expiration time, date, and/or event, and to control processing or handling by a recipient |
EP1087618A3 (en) * | 1999-09-27 | 2003-12-17 | Be Here Corporation | Opinion feedback in presentation imagery |
US7124164B1 (en) | 2001-04-17 | 2006-10-17 | Chemtob Helen J | Method and apparatus for providing group interaction via communications networks |
US20010056574A1 (en) | 2000-06-26 | 2001-12-27 | Richards Angus Duncan | VTV system |
US6505123B1 (en) | 2000-07-24 | 2003-01-07 | Weatherbank, Inc. | Interactive weather advisory system |
US6754621B1 (en) | 2000-10-06 | 2004-06-22 | Andrew Cunningham | Asynchronous hypertext messaging system and method |
JP2002132647A (ja) | 2000-10-19 | 2002-05-10 | Kizna Corp | 電子掲示板及び電子掲示板システム |
US7243163B1 (en) | 2001-08-07 | 2007-07-10 | Good Technology, Inc. | System and method for full wireless synchronization of a data processing apparatus with a messaging system |
JP4440503B2 (ja) | 2001-09-20 | 2010-03-24 | 富士通株式会社 | 情報一覧作成装置及びそのプログラム |
US20100098702A1 (en) | 2008-09-16 | 2010-04-22 | Longgui Wang | Method of treating androgen independent prostate cancer |
US7356564B2 (en) | 2002-01-09 | 2008-04-08 | At&T Delaware Intellectual Property, Inc. | Method, system, and apparatus for providing self-destructing electronic mail messages |
US20030217106A1 (en) | 2002-03-25 | 2003-11-20 | Eytan Adar | System and method for profiling clients within a system for harvesting community knowledge |
US7278168B1 (en) | 2002-11-27 | 2007-10-02 | Adobe Systems Incorporated | Dynamic enabling of functionality in electronic document readers |
US7411493B2 (en) | 2003-03-01 | 2008-08-12 | User-Centric Ip, L.P. | User-centric event reporting |
US6978147B2 (en) | 2003-03-19 | 2005-12-20 | Motorola, Inc. | Wireless messaging device with selectable scroll display and message pre-fetch |
GB0308991D0 (en) | 2003-04-17 | 2003-05-28 | Psion Digital Ltd | A data access replication or communication system comprising a distributed software application |
US7703140B2 (en) | 2003-09-30 | 2010-04-20 | Guardian Data Storage, Llc | Method and system for securing digital assets using process-driven security policies |
US7191221B2 (en) | 2003-10-30 | 2007-03-13 | International Business Machines Corporation | Method for managing electronic mail receipts using audio-visual notification enhancements |
US7535890B2 (en) | 2003-12-18 | 2009-05-19 | Ayalogic, Inc. | System and method for instant VoIP messaging |
CN1886753A (zh) | 2003-12-19 | 2006-12-27 | 富士通株式会社 | 现状信息处理方法和程序、终端装置、计算机及现状信息管理服务器 |
US7478402B2 (en) | 2004-02-12 | 2009-01-13 | Microsoft Corporation | Configurable message pipelines |
US7904510B2 (en) | 2004-02-23 | 2011-03-08 | Microsoft Corporation | Systems and methods for managing discussion threads based on ratings |
US7912904B2 (en) | 2004-03-31 | 2011-03-22 | Google Inc. | Email system with conversation-centric user interface |
US7607096B2 (en) | 2004-05-01 | 2009-10-20 | Microsoft Corporation | System and method for a user interface directed to discovering and publishing presence information on a network |
US7593740B2 (en) | 2004-05-12 | 2009-09-22 | Google, Inc. | Location-based social software for mobile devices |
EP1752000A1 (fr) | 2004-05-27 | 2007-02-14 | France Telecom S.A. | Procede et installation de transmission d"un message a duree de validite predeterminee a destination d"un terminal d"abonne |
US7519670B2 (en) | 2004-08-12 | 2009-04-14 | International Business Machines Corporation | Method for disappearing ink for text messaging |
US8745132B2 (en) | 2004-09-10 | 2014-06-03 | Silver State Intellectual Technologies, Inc. | System and method for audio and video portable publishing system |
US7496347B2 (en) | 2004-11-12 | 2009-02-24 | Velocita Wireless Llc | Method and apparatus for providing secure wireless communication |
US8396456B2 (en) | 2005-06-28 | 2013-03-12 | Avaya Integrated Cabinet Solutions Inc. | Visual voicemail management |
US8266219B2 (en) | 2005-07-20 | 2012-09-11 | Research In Motion Limited | Method and system for instant messaging conversation security |
US7610345B2 (en) | 2005-07-28 | 2009-10-27 | Vaporstream Incorporated | Reduced traceability electronic message system and method |
CN1794708A (zh) | 2005-07-29 | 2006-06-28 | 华为技术有限公司 | 呈现业务***及发布呈现信息的方法 |
US8332475B2 (en) | 2005-08-22 | 2012-12-11 | Triplay Communications Ltd. | Messaging system and method |
US7949107B2 (en) | 2005-08-24 | 2011-05-24 | International Business Machines Corporation | Method, system, and computer program product for providing privacy measures in instant messaging systems |
US20070073823A1 (en) | 2005-09-29 | 2007-03-29 | International Business Machines Corporation | Method and apparatus to secure and retrieve instant messages |
US8284663B2 (en) | 2005-10-14 | 2012-10-09 | Turbine, Inc. | Selectively ordered protocol for unreliable channels |
ITMI20052290A1 (it) | 2005-11-30 | 2007-06-01 | Pasqua Roberto Della | Servizio di messaggistica istantanea con interfaccia utente minimizzata |
US7856360B2 (en) | 2006-01-30 | 2010-12-21 | Hoozware, Inc. | System for providing a service to venues where people aggregate |
US7743009B2 (en) | 2006-02-10 | 2010-06-22 | Strands, Inc. | System and methods for prioritizing mobile media player files |
US8112478B2 (en) | 2006-03-13 | 2012-02-07 | Oracle International Corporation | Email and discussion forum system |
US8255473B2 (en) | 2006-04-04 | 2012-08-28 | International Business Machines Corporation | Caching message fragments during real-time messaging conversations |
US9304675B2 (en) | 2006-09-06 | 2016-04-05 | Apple Inc. | Portable electronic device for instant messaging |
US7971156B2 (en) | 2007-01-12 | 2011-06-28 | International Business Machines Corporation | Controlling resource access based on user gesturing in a 3D captured image stream of the user |
USRE47534E1 (en) | 2007-04-23 | 2019-07-23 | Ramot At Tel Aviv University Ltd. | System, method and a computer readable medium for providing an output image |
US20080270938A1 (en) | 2007-04-29 | 2008-10-30 | Elizabeth Marie Carlson | System for self-registering visitor information with geographic specificity and searchable fields |
CN100423007C (zh) * | 2007-07-03 | 2008-10-01 | 浙江大学 | 一种用于跨媒体数字城市景区建模方法 |
US8170957B2 (en) | 2007-08-08 | 2012-05-01 | Sinart Points Technology, Inc. | System and method for managing digital interactions |
US8909714B2 (en) | 2007-08-21 | 2014-12-09 | Microsoft Corporation | Electronic mail delay adaptation |
US8244593B2 (en) | 2007-11-20 | 2012-08-14 | Pure Verticals, Inc. | Method and system for monetizing content |
KR101387527B1 (ko) | 2007-12-06 | 2014-04-23 | 엘지전자 주식회사 | 단말기 및 그 메뉴 아이콘 디스플레이 방법 |
US8214443B2 (en) | 2008-03-05 | 2012-07-03 | Aol Inc. | Electronic mail forwarding service |
AP2010005442A0 (en) | 2008-03-28 | 2010-10-31 | Celltrust Corp | Systems and methods for secure short messaging service and multimedia messaging service. |
US20100082427A1 (en) | 2008-09-30 | 2010-04-01 | Yahoo! Inc. | System and Method for Context Enhanced Ad Creation |
US8719238B2 (en) | 2009-01-22 | 2014-05-06 | Sunstein Kann Murphy & Timbers LLP | Office-based notification messaging system |
US8214446B1 (en) | 2009-06-04 | 2012-07-03 | Imdb.Com, Inc. | Segmenting access to electronic message boards |
US8479080B1 (en) | 2009-07-12 | 2013-07-02 | Apple Inc. | Adaptive over-provisioning in memory systems |
KR101051389B1 (ko) * | 2009-08-31 | 2011-07-22 | 주식회사 이미지넥스트 | 적응적 배경 기반의 객체 검출 및 추적 장치 및 방법 |
US20110099507A1 (en) | 2009-10-28 | 2011-04-28 | Google Inc. | Displaying a collection of interactive elements that trigger actions directed to an item |
CN102118419B (zh) | 2009-12-30 | 2014-07-16 | 华为技术有限公司 | 一种图片信息的传输方法、装置和通信*** |
WO2011101784A1 (en) | 2010-02-16 | 2011-08-25 | Tigertext Inc. | A messaging system apparatuses circuits and methods of operation thereof |
US20110213845A1 (en) | 2010-02-26 | 2011-09-01 | Research In Motion Limited | Automatic deletion of electronic messages |
US8570907B2 (en) | 2010-04-07 | 2013-10-29 | Apple Inc. | Multi-network architecture for media data exchange |
US8582727B2 (en) | 2010-04-21 | 2013-11-12 | Angel.Com | Communication of information during a call |
US20110320373A1 (en) | 2010-06-25 | 2011-12-29 | Microsoft Corporation | Product conversations among social groups |
CA2804188C (en) | 2010-07-01 | 2019-06-18 | Absolute Software Corporation | Automatic creation and modification of dynamic geofences |
US8233887B2 (en) | 2010-07-28 | 2012-07-31 | Sprint Communications Company L.P. | Covert message redaction and recovery in a wireless communication device |
US8457668B2 (en) | 2011-01-18 | 2013-06-04 | Claremont Speede | Mobile sender initiated SMS message deletion method and system |
US20120209921A1 (en) | 2011-02-10 | 2012-08-16 | International Business Machines Corporation | Instant Message Management Method and Apparatus |
US9331972B2 (en) | 2011-03-31 | 2016-05-03 | Loment, Inc. | Automatic expiration of messages communicated to an end user communication device |
US10509466B1 (en) | 2011-05-11 | 2019-12-17 | Snap Inc. | Headwear with computer and optical element for use therewith and systems utilizing same |
WO2013008251A2 (en) | 2011-07-08 | 2013-01-17 | Hughes Systique India Private Limited | Method and system for social networking in a restricted connectivity environment |
US20130071093A1 (en) | 2011-09-16 | 2013-03-21 | William Turner Hanks | Maintaining viewer activity information of a recorded program for program deletion decisions |
CA2861391A1 (en) * | 2012-01-18 | 2013-07-25 | Logos Technologies Llc | Method, device, and system for computing a spherical projection image based on two-dimensional images |
US20130194301A1 (en) | 2012-01-30 | 2013-08-01 | Burn Note, Inc. | System and method for securely transmiting sensitive information |
US20130201328A1 (en) * | 2012-02-08 | 2013-08-08 | Hing Ping Michael CHUNG | Multimedia processing as a service |
US9560006B2 (en) | 2012-07-26 | 2017-01-31 | Google Inc. | Method and apparatus for expiring messages in electronic communications |
US20150199082A1 (en) | 2012-11-13 | 2015-07-16 | Google Inc. | Displaying actionable items in an overscroll area |
US20140201527A1 (en) | 2013-01-17 | 2014-07-17 | Zohar KRIVOROT | Systems and methods for secure and private delivery of content |
GB2509953B (en) * | 2013-01-18 | 2015-05-20 | Canon Kk | Method of displaying a region of interest in a video stream |
US9264463B2 (en) | 2013-03-15 | 2016-02-16 | Facebook, Inc. | Method and system of managing ephemeral post in a social networking system |
US9736218B2 (en) | 2013-04-24 | 2017-08-15 | Blackberry Limited | Device, system and method for processing character data |
CN103279187B (zh) * | 2013-05-09 | 2018-05-04 | 西安电子科技大学 | 一种用于构建多场景虚拟全景空间的方法及智能终端 |
US9705831B2 (en) | 2013-05-30 | 2017-07-11 | Snap Inc. | Apparatus and method for maintaining a message thread with opt-in permanence for entries |
US10439972B1 (en) | 2013-05-30 | 2019-10-08 | Snap Inc. | Apparatus and method for maintaining a message thread with opt-in permanence for entries |
US9742713B2 (en) | 2013-05-30 | 2017-08-22 | Snap Inc. | Apparatus and method for maintaining a message thread with opt-in permanence for entries |
US8914752B1 (en) | 2013-08-22 | 2014-12-16 | Snapchat, Inc. | Apparatus and method for accelerated display of ephemeral messages |
CN203405772U (zh) * | 2013-09-09 | 2014-01-22 | 北京诺亦腾科技有限公司 | 一种基于运动捕捉的浸入式虚拟现实*** |
US9083770B1 (en) | 2013-11-26 | 2015-07-14 | Snapchat, Inc. | Method and system for integrating real time communication features in applications |
CA2863124A1 (en) | 2014-01-03 | 2015-07-03 | Investel Capital Corporation | User content sharing system and method with automated external content integration |
US9628950B1 (en) | 2014-01-12 | 2017-04-18 | Investment Asset Holdings Llc | Location-based messaging |
US10438631B2 (en) | 2014-02-05 | 2019-10-08 | Snap Inc. | Method for real-time video processing involving retouching of an object in the video |
US20150227602A1 (en) | 2014-02-13 | 2015-08-13 | Actifio, Inc. | Virtual data backup |
US8909725B1 (en) | 2014-03-07 | 2014-12-09 | Snapchat, Inc. | Content delivery network for ephemeral objects |
US9479909B2 (en) | 2014-03-20 | 2016-10-25 | Tigertext, Inc. | Method of sending messages to devices not configured to receive them |
US9276886B1 (en) | 2014-05-09 | 2016-03-01 | Snapchat, Inc. | Apparatus and method for dynamically configuring application component tiles |
US9396354B1 (en) | 2014-05-28 | 2016-07-19 | Snapchat, Inc. | Apparatus and method for automated privacy protection in distributed images |
US9537811B2 (en) | 2014-10-02 | 2017-01-03 | Snap Inc. | Ephemeral gallery of ephemeral messages |
US9113301B1 (en) | 2014-06-13 | 2015-08-18 | Snapchat, Inc. | Geo-location based event gallery |
US9225897B1 (en) | 2014-07-07 | 2015-12-29 | Snapchat, Inc. | Apparatus and method for supplying content aware photo filters |
US10824654B2 (en) | 2014-09-18 | 2020-11-03 | Snap Inc. | Geolocation-based pictographs |
US11783898B2 (en) | 2014-09-18 | 2023-10-10 | Jonker Llc | Ephemeral storage elements, circuits, and systems |
US11216869B2 (en) | 2014-09-23 | 2022-01-04 | Snap Inc. | User interface to augment an image using geolocation |
US10284508B1 (en) | 2014-10-02 | 2019-05-07 | Snap Inc. | Ephemeral gallery of ephemeral messages with opt-in permanence |
EP3210179A1 (en) | 2014-10-24 | 2017-08-30 | Snap Inc. | Prioritization of messages |
US9854219B2 (en) | 2014-12-19 | 2017-12-26 | Snap Inc. | Gallery of videos set to an audio time line |
US10311916B2 (en) | 2014-12-19 | 2019-06-04 | Snap Inc. | Gallery of videos set to an audio time line |
US9385983B1 (en) | 2014-12-19 | 2016-07-05 | Snapchat, Inc. | Gallery of messages from individuals with a shared interest |
US9754355B2 (en) | 2015-01-09 | 2017-09-05 | Snap Inc. | Object recognition based photo filters |
US9111164B1 (en) | 2015-01-19 | 2015-08-18 | Snapchat, Inc. | Custom functional patterns for optical barcodes |
US10127714B1 (en) * | 2015-01-27 | 2018-11-13 | Google Llc | Spherical three-dimensional video rendering for virtual reality |
US9294425B1 (en) | 2015-02-06 | 2016-03-22 | Snapchat, Inc. | Storage and processing of ephemeral messages |
US9148424B1 (en) | 2015-03-13 | 2015-09-29 | Snapchat, Inc. | Systems and methods for IP-based intrusion detection |
EP3272078B1 (en) | 2015-03-18 | 2022-01-19 | Snap Inc. | Geo-fence authorization provisioning |
US9482883B1 (en) | 2015-04-15 | 2016-11-01 | Snapchat, Inc. | Eyewear having linkage assembly between a temple and a frame |
US9482882B1 (en) | 2015-04-15 | 2016-11-01 | Snapchat, Inc. | Eyewear having selectively exposable feature |
US9881094B2 (en) | 2015-05-05 | 2018-01-30 | Snap Inc. | Systems and methods for automated local story generation and curation |
KR20180004218A (ko) | 2015-05-06 | 2018-01-10 | 스냅 인코포레이티드 | 단기 그룹 채팅을 위한 시스템 및 방법 |
US10503264B1 (en) | 2015-06-16 | 2019-12-10 | Snap Inc. | Radial gesture navigation |
EP3156110A4 (en) * | 2015-08-28 | 2017-07-05 | Tomy Company, Ltd. | Information processing device provided with head-mounted display |
US9869863B2 (en) * | 2015-10-05 | 2018-01-16 | Unity IPR ApS | Systems and methods for processing a 2D video |
US9652896B1 (en) | 2015-10-30 | 2017-05-16 | Snap Inc. | Image based tracking in augmented reality systems |
US20170161382A1 (en) | 2015-12-08 | 2017-06-08 | Snapchat, Inc. | System to correlate video data and contextual data |
US10354425B2 (en) | 2015-12-18 | 2019-07-16 | Snap Inc. | Method and system for providing context relevant media augmentation |
US10977764B2 (en) * | 2015-12-29 | 2021-04-13 | Dolby Laboratories Licensing Corporation | Viewport independent image coding and rendering |
US10055895B2 (en) | 2016-01-29 | 2018-08-21 | Snap Inc. | Local augmented reality persistent sticker objects |
CN108702528B (zh) * | 2016-02-17 | 2021-06-01 | Lg电子株式会社 | 发送360视频的方法、接收360视频的方法、发送360视频的设备和接收360视频的设备 |
US11900418B2 (en) | 2016-04-04 | 2024-02-13 | Snap Inc. | Mutable geo-fencing system |
US10686899B2 (en) | 2016-04-06 | 2020-06-16 | Snap Inc. | Messaging achievement pictograph display system |
US20170302714A1 (en) * | 2016-04-15 | 2017-10-19 | Diplloid Inc. | Methods and systems for conversion, playback and tagging and streaming of spherical images and video |
CN107318008A (zh) * | 2016-04-27 | 2017-11-03 | 深圳看到科技有限公司 | 全景视频播放方法及播放装置 |
WO2017203098A1 (en) * | 2016-05-24 | 2017-11-30 | Nokia Technologies Oy | Method and an apparatus and a computer program for encoding media content |
EP3466076A1 (en) * | 2016-05-26 | 2019-04-10 | VID SCALE, Inc. | Methods and apparatus of viewport adaptive 360 degree video delivery |
US10360721B2 (en) * | 2016-05-26 | 2019-07-23 | Mediatek Inc. | Method and apparatus for signaling region of interests |
CN106095235B (zh) * | 2016-06-07 | 2018-05-08 | 腾讯科技(深圳)有限公司 | 基于虚拟现实的控制方法和装置 |
US9681265B1 (en) | 2016-06-28 | 2017-06-13 | Snap Inc. | System to track engagement of media items |
US10102423B2 (en) | 2016-06-30 | 2018-10-16 | Snap Inc. | Object modeling and replacement in a video stream |
US11404056B1 (en) | 2016-06-30 | 2022-08-02 | Snap Inc. | Remoteless control of drone behavior |
JP6093473B1 (ja) * | 2016-08-19 | 2017-03-08 | 株式会社コロプラ | 情報処理方法及び当該情報処理方法をコンピュータに実行させるためのプログラム |
US20180103197A1 (en) * | 2016-10-06 | 2018-04-12 | Gopro, Inc. | Automatic Generation of Video Using Location-Based Metadata Generated from Wireless Beacons |
US10652553B2 (en) * | 2016-12-07 | 2020-05-12 | Qualcomm Incorporated | Systems and methods of signaling of regions of interest |
US10368047B2 (en) * | 2017-02-15 | 2019-07-30 | Adone Inc. | Six-degree of freedom video playback of a single monoscopic 360-degree video |
CN107124589A (zh) * | 2017-05-24 | 2017-09-01 | 武汉大学 | 基于Cardboard的360度沉浸式远程视频监控***及方法 |
US10579869B1 (en) | 2017-07-18 | 2020-03-03 | Snap Inc. | Virtual object machine learning |
CN107396077B (zh) * | 2017-08-23 | 2022-04-08 | 深圳看到科技有限公司 | 虚拟现实全景视频流投影方法和设备 |
US10591730B2 (en) | 2017-08-25 | 2020-03-17 | II Jonathan M. Rodriguez | Wristwatch based interface for augmented reality eyewear |
US10217488B1 (en) | 2017-12-15 | 2019-02-26 | Snap Inc. | Spherical video editing |
US10962809B1 (en) | 2018-01-10 | 2021-03-30 | Snap Inc. | Eyewear device with finger activated touch sensor |
US11092998B1 (en) | 2018-01-12 | 2021-08-17 | Snap Inc. | Eyewear device with fingerprint sensor for user input |
US10687039B1 (en) * | 2018-05-16 | 2020-06-16 | Gopro, Inc. | Systems and methods for identifying viewing directions for video content |
US11227626B1 (en) | 2018-05-21 | 2022-01-18 | Snap Inc. | Audio response messages |
EP3857337A1 (en) | 2018-09-28 | 2021-08-04 | Snap Inc. | Neural network system for gesture, wear, activity, or carry detection on a wearable or mobile device |
US10796482B2 (en) | 2018-12-05 | 2020-10-06 | Snap Inc. | 3D hand shape and pose estimation |
US11012390B1 (en) | 2019-03-28 | 2021-05-18 | Snap Inc. | Media content response in a messaging system |
US11036368B1 (en) | 2019-03-29 | 2021-06-15 | Snap Inc. | Messaging system with message transmission user interface |
US11106342B1 (en) | 2019-06-03 | 2021-08-31 | Snap Inc. | User interfaces to facilitate multiple modes of electronic communication |
US11307747B2 (en) | 2019-07-11 | 2022-04-19 | Snap Inc. | Edge gesture interface with smart interactions |
KR20220062338A (ko) | 2019-09-09 | 2022-05-16 | 스냅 인코포레이티드 | 스테레오 카메라들로부터의 손 포즈 추정 |
US11169600B1 (en) | 2019-12-06 | 2021-11-09 | Snap Inc. | Virtual object display interface between a wearable device and a mobile device |
US11087728B1 (en) | 2019-12-21 | 2021-08-10 | Snap Inc. | Computer vision and mapping for audio applications |
US11062498B1 (en) | 2019-12-30 | 2021-07-13 | Snap Inc. | Animated pull-to-refresh |
US11488358B2 (en) | 2020-02-05 | 2022-11-01 | Snap Inc. | Augmented reality session creation using skeleton tracking |
US11675494B2 (en) | 2020-03-26 | 2023-06-13 | Snap Inc. | Combining first user interface content into second user interface |
US11409368B2 (en) | 2020-03-26 | 2022-08-09 | Snap Inc. | Navigating through augmented reality content |
US11960651B2 (en) | 2020-03-30 | 2024-04-16 | Snap Inc. | Gesture-based shared AR session creation |
-
2017
- 2017-12-15 US US15/844,089 patent/US10217488B1/en active Active
-
2018
- 2018-12-14 WO PCT/US2018/065750 patent/WO2019118877A1/en active Application Filing
- 2018-12-14 CN CN201880023571.3A patent/CN110495166B/zh active Active
- 2018-12-14 KR KR1020217038607A patent/KR102469263B1/ko active IP Right Grant
- 2018-12-14 KR KR1020207009804A patent/KR102332950B1/ko active IP Right Grant
- 2018-12-14 KR KR1020197026639A patent/KR102100744B1/ko active IP Right Grant
- 2018-12-14 CN CN202011131842.2A patent/CN112256127B/zh active Active
-
2019
- 2019-01-17 US US16/250,955 patent/US10614855B2/en active Active
-
2020
- 2020-02-21 US US16/798,028 patent/US11037601B2/en active Active
-
2021
- 2021-05-13 US US17/319,425 patent/US11380362B2/en active Active
-
2022
- 2022-06-03 US US17/831,986 patent/US20220301593A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US10217488B1 (en) | 2019-02-26 |
KR20210149206A (ko) | 2021-12-08 |
US20190189160A1 (en) | 2019-06-20 |
US20200194033A1 (en) | 2020-06-18 |
KR102469263B1 (ko) | 2022-11-22 |
KR20190108181A (ko) | 2019-09-23 |
US10614855B2 (en) | 2020-04-07 |
KR20200038561A (ko) | 2020-04-13 |
CN112256127A (zh) | 2021-01-22 |
CN110495166A (zh) | 2019-11-22 |
US11380362B2 (en) | 2022-07-05 |
CN112256127B (zh) | 2024-05-28 |
WO2019118877A1 (en) | 2019-06-20 |
US20210264949A1 (en) | 2021-08-26 |
KR102100744B1 (ko) | 2020-05-15 |
KR102332950B1 (ko) | 2021-12-01 |
US20220301593A1 (en) | 2022-09-22 |
US11037601B2 (en) | 2021-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110495166B (zh) | 一种计算机实现的方法、计算装置以及可读存储介质 | |
KR102653793B1 (ko) | 비디오 클립 객체 추적 | |
US11809633B2 (en) | Mirroring device with pointing based navigation | |
CN116671121A (zh) | 用于多视频片段捕获的ar内容 | |
US20220207840A1 (en) | Recording augmented reality content on an eyewear device | |
KR20230121919A (ko) | 증강 현실 콘텐츠를 생성하기 위한 응시 방향의 결정 | |
KR20230119005A (ko) | 안경류 디바이스 상의 제스처 제어 | |
US20240144616A1 (en) | Post-capture editing of augmented reality content | |
CN116685941A (zh) | 具有触觉反馈增强的媒体内容项 | |
KR20230066635A (ko) | 사용자들을 동기화하기 위한 그래픽 마커 생성 시스템 | |
US20230334790A1 (en) | Interactive reality computing experience using optical lenticular multi-perspective simulation | |
US20230334792A1 (en) | Interactive reality computing experience using optical lenticular multi-perspective simulation | |
US20240185546A1 (en) | Interactive reality computing experience using multi-layer projections to create an illusion of depth | |
US20240037882A1 (en) | Video processing with preview of ar effects | |
US20230326095A1 (en) | Overlaying displayed digital content with regional transparency and regional lossless compression transmitted over a communication network via processing circuitry | |
US20230419559A1 (en) | Double camera streams | |
US20240098213A1 (en) | Modifying digital content transmitted to devices in real time via processing circuitry | |
WO2024039885A1 (en) | Interactive reality computing experience using optical lenticular multi-perspective simulation | |
WO2023215637A1 (en) | Interactive reality computing experience using optical lenticular multi-perspective simulation | |
WO2024039887A1 (en) | Interactive reality computing experience using optical lenticular multi-perspective simulation | |
CN117337563A (zh) | 用于立体拼接的硬件编码器 |
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 |