CN110944727A - 控制虚拟照相机的系统和方法 - Google Patents

控制虚拟照相机的系统和方法 Download PDF

Info

Publication number
CN110944727A
CN110944727A CN201880048403.XA CN201880048403A CN110944727A CN 110944727 A CN110944727 A CN 110944727A CN 201880048403 A CN201880048403 A CN 201880048403A CN 110944727 A CN110944727 A CN 110944727A
Authority
CN
China
Prior art keywords
virtual camera
pose
location
scene
control
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201880048403.XA
Other languages
English (en)
Other versions
CN110944727B (zh
Inventor
B·M·叶
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Publication of CN110944727A publication Critical patent/CN110944727A/zh
Application granted granted Critical
Publication of CN110944727B publication Critical patent/CN110944727B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/1633Constructional details or arrangements of portable computers not specific to the type of enclosures covered by groups G06F1/1615 - G06F1/1626
    • G06F1/1684Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675
    • G06F1/1694Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675 the I/O peripheral being a single or a set of motion sensors for pointer control or gesture input obtained by sensing movements of the portable computer
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/214Input arrangements for video game devices characterised by their sensors, purposes or types for locating contacts on a surface, e.g. floor mats or touch pads
    • A63F13/2145Input arrangements for video game devices characterised by their sensors, purposes or types for locating contacts on a surface, e.g. floor mats or touch pads the surface being also a display device, e.g. touch screens
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/25Output arrangements for video game devices
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/40Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/90Constructional details or arrangements of video game devices not provided for in groups A63F13/20 or A63F13/25, e.g. housing, wiring, connections or cabinets
    • A63F13/92Video game devices specially adapted to be hand-held while playing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04815Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04845Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04847Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/111Transformation of image signals corresponding to virtual viewpoints, e.g. spatial image interpolation
    • H04N13/117Transformation 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/282Image signal generators for generating image signals corresponding to three or more geometrical viewpoints, e.g. multi-view systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/21805Source of audio or video content, e.g. local disk arrays enabling multiple viewpoints, e.g. using a plurality of cameras
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/414Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
    • H04N21/41407Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance embedded in a portable device, e.g. video client on a mobile phone, PDA, laptop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/485End-user interface for client configuration
    • H04N21/4854End-user interface for client configuration for modifying image parameters, e.g. image brightness, contrast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/695Control of camera direction for changing a field of view, e.g. pan, tilt or based on tracking of objects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/698Control of cameras or camera modules for achieving an enlarged field of view, e.g. panoramic image capture
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/18Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
    • H04N7/181Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast for receiving images from a plurality of remote sources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/038Indexing scheme relating to G06F3/038
    • G06F2203/0381Multimodal input, i.e. interface arrangements enabling the user to issue commands by simultaneous use of input devices of different nature, e.g. voice plus gesture on digitizer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/66Remote control of cameras or camera parts, e.g. by remote control devices
    • H04N23/661Transmitting camera control signals through networks, e.g. control via the Internet

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Databases & Information Systems (AREA)
  • Computing Systems (AREA)
  • Geometry (AREA)
  • Computer Graphics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Image Generation (AREA)
  • Studio Devices (AREA)

Abstract

一种用于控制虚拟照相机的方法,包括:在装置处于第一姿态的情况下,将场景的视图显示在装置上。基于在装置上检测到的用户输入,确定在装置处于第一姿态的状态下场景中的地点。装置上的供虚拟照相机用的控件被配置为响应于检测到装置的姿态已从第一姿态改变为第二姿态来控制虚拟照相机,这些控件的配置基于所确定的地点。接收针对所配置的控件的命令以控制虚拟照相机。

Description

控制虚拟照相机的系统和方法
技术领域
本发明涉及虚拟照相机的控制,尤其涉及虚拟照相机视图的生成和通过交互方式的虚拟照相机设置的控制。本发明还涉及用于控制虚拟照相机的方法和设备、以及包括记录有用于控制虚拟照相机的计算机程序的计算机可读介质的计算机程序产品。
背景技术
基于图像的绘制(rendering)允许从照相机图像的集合合成虚拟视点。例如,在被摄体被一圈物理照相机包围的布置中,在足够了解照相机配置和物理照相机所捕捉的场景的情况下,可以从所捕捉到的视图或视频流合成与(物理照相机)所捕捉到的视图之间的位置相对应的被摄体的新(虚拟照相机)视图。
近年来,为了“自由视点”视频的目的,用以合成任意视点的能力得以提高。在“自由视点”视频中,观看者能够在视频捕捉系统的约束内根据他或她的偏好主动调整照相机视点。可替代地,视频制作者或摄影者可以采用自由视点技术来为被动播送观众构建视点。在体育播送的情况下,制作者或摄影者的任务是以准确且及时的方式构建虚拟照相机视点,以便在体育直播期间捕捉相关视点。
诸如3D Studio Max和Blender等的产品概念生成和绘制所使用的、将虚拟照相机放置在虚拟环境中的工业标准方法(诸如在3D建模软件中所采用的方法等)是已知的。在这样的系统中,虚拟照相机是通过选择、移动和拖动虚拟照相机、虚拟照相机的视线、或者虚拟照相机和虚拟照相机的视线这两者来配置的。可以通过改变观看三维(3D)世界的角度、通过使用3D定位小部件、或者通过激活用户界面(UI)中的约束(例如,选择活动平面)来约束照相机的移动。可以利用鼠标点击和拖动以在3D环境中设置照相机位置和视线(姿态)这两者。然而,使用用户界面控件来编辑诸如视场或焦距等的其它照相机设置。
在现实世界中移动物理照相机的方法(诸如对基于线缆凸轮和无人机的照相机或者其它机器人照相机的远程控制等)是已知的。涉及远程控制的方法可用于在现实或虚拟环境中配置虚拟照相机,诸如用于电影特效序列或主机游戏等。配置线缆凸轮和无人机照相机涉及使用一个或多个操纵杆或者其它硬件控制器来改变照相机的位置和视点。线缆凸轮和无人机系统可以准确地但不能快速地定位照相机,因为需要时间将照相机导航到位置。由导航引起的延迟使远程控制系统对运动场、竞技场或体育馆上的通常可以是快节奏的动作的反应不那么灵敏。通过同时操纵诸如“变焦摇杆”或“调焦轮”等的其它硬件控制器来实现改变诸如变焦(视场)、焦距(焦点)等的其它照相机设置。操纵硬件控制器经常需要两只手,有时需要两个操作者(四只手),并且耗时。
配置虚拟照相机的另一已知方法涉及使用向用户呈现存在于虚拟场景中的外观的虚拟现实头盔、移动电话或平板计算机来在空间中导航。虚拟现实头盔、移动电话或平板计算机可以通过使装置的动作与对虚拟照相机在虚拟场景中的位置和姿态的补偿变化匹配,来对用户的动作作出响应,以便维持观看虚拟空间的幻觉。通常,使用诸如加速度计等的惯性导航方法、通过使用照相机跟踪环绕物、或者通过使用GPS单元定位诸如城市等的大空间中的用户,来使虚拟照相机运动与用户的运动匹配。
上述的照相机控制交互通常不适合诸如体育播送等的应用,因为上述的使用交互的照相机导航以及系统相对耗时或者不能实时地跟随快速动作。在虚拟照相机控制中关于以准确且及时的方式生成并控制虚拟照相机视图的方法的需求仍未得到满足。
发明内容
本发明的目的是基本上克服或者至少改善现有布置的至少一个缺点。
公开了用于控制虚拟照相机并且生成虚拟照相机视图的布置。在所公开的布置中,可以通过使用移动装置的姿态的交互来控制虚拟照相机设置。在移动计算装置处于一个姿态时可以在移动计算装置上显示场景的视图,并且可以响应于使用移动计算装置输入的用户输入来确定场景内的地点。在重定位移动计算装置之后,可以使用场景内的地点来配置用户能够使用移动计算装置控制虚拟照相机所利用的虚拟照相机控件。
在一个布置中,用户输入可用于定义虚拟照相机随后穿过模拟场景行进所沿着的路径。在使装置重定位之后,可以显示描绘来自虚拟照相机的视角(point of view)的场景的虚拟照相机取景器,并且虚拟照相机可以由用户控制,使得虚拟照相机沿着先前定义的路径行进。不受路径的定义约束的虚拟照相机的参数和属性可以由用户使用系统所配置的各种控件来自由地控制,从而例如允许对被摄体进行正确取景。
根据本发明的一方面,提供一种用于控制虚拟照相机的方法,所述方法包括:在装置处于第一姿态的情况下,将场景的视图显示在所述装置上;基于在所述装置上检测到的用户输入,确定在所述装置处于所述第一姿态的状态下所述场景中的地点;响应于检测到所述装置的姿态已从所述第一姿态改变为第二姿态,在所述装置上配置针对所述虚拟照相机的控件以控制所述虚拟照相机,对所述虚拟照相机的控件的配置基于所确定的地点;以及接收针对所配置的控件的命令以控制所述虚拟照相机。
根据本发明的另一方面,提供一种存储有计算机程序的非瞬时性计算机可读介质,所述计算机程序用于配置虚拟照相机,方法包括:用于在装置处于第一姿态的情况下、将场景的视图显示在所述装置上的代码;用于基于在所述装置上检测到的用户输入、确定在所述装置处于所述第一姿态的状态下所述场景中的地点的代码;用于响应于检测到所述装置的姿态已从所述第一姿态改变为第二姿态、在所述装置上配置针对所述虚拟照相机的控件以控制所述虚拟照相机的代码,对所述虚拟照相机的控件的配置基于所确定的地点;以及用于接收针对所配置的控件的命令以控制所述虚拟照相机的代码。
根据本发明的又一方面,提供一种系统,包括:接口;显示器;存储器;以及处理器,其中所述处理器被配置为执行所述存储器上所存储的代码,以实现用于配置虚拟照相机的方法,所述方法包括:在装置处于第一姿态的情况下,将场景的视图显示在所述装置上;基于在所述装置上检测到的用户输入,确定在所述装置处于所述第一姿态的状态下所述场景中的地点;响应于检测到所述装置的姿态已从所述第一姿态改变为第二姿态,在所述装置上配置针对所述虚拟照相机的控件以控制所述虚拟照相机,对所述虚拟照相机的控件的配置基于所确定的地点;以及接收针对所配置的控件的命令以控制所述虚拟照相机
根据本发明的又一方面,提供一种平板装置,其被适配为配置虚拟照相机,所述平板装置包括:触摸屏;存储器;处理器,其被配置为执行所述存储器上所存储的代码,以进行以下操作:在装置处于第一姿态的情况下,将场景的视图显示在所述装置上;基于在所述装置上检测到的用户输入,确定在所述装置处于所述第一姿态的状态下所述场景中的地点;响应于检测到所述装置的姿态已从所述第一姿态改变为第二姿态,在所述装置上配置针对所述虚拟照相机的控件以控制所述虚拟照相机,对所述虚拟照相机的控件的配置基于所确定的地点;以及接收针对所配置的控件的命令以控制所述虚拟照相机。
根据本发明的又一方面,提供一种用于控制远程装置的方法,所述方法包括:在装置处于第一姿态的情况下,显示第一用户界面,所述第一用户界面包括场景的第一视图;在所述装置上接收用户输入,所述用户输入定义在所述装置处于显示所述第一用户界面的所述第一姿态的情况下所述场景的所述第一视图中的地点,所定义的地点与用于使所述远程装置工作的预定约束相关联;以及响应于检测到所述装置的姿态已从所述第一姿态改变为第二姿态,根据所述预定约束基于所定义的地点来配置所述远程装置的控件,以捕捉所述场景的第二视图。
根据本发明的又一方面,提供一种用于控制装置的方法,所述方法包括:在装置处于第一姿态的情况下,显示第一用户界面;在所述装置处于显示所述第一用户界面的所述第一姿态的情况下,在所述装置上接收定义在所述装置处于第二姿态的情况下的进一步用户输入的解释的用户输入;以及响应于检测到所述装置的姿态已从所述第一姿态改变为所述第二姿态,使用第二用户界面来控制所述装置,其中基于所定义的解释来解释与所述第二用户界面有关的至少一个用户输入。
还公开了本发明的其它方面。
附图说明
现在将参考以下的附图来说明本发明的一个或多个示例实施例,其中:
图1示出围绕体育馆的网络摄像机的布置;
图2示出用于控制虚拟照相机的方法的示意流程图;
图3A示出处于特定姿态的电子装置;
图3B示出处于与图3A所示的姿态不同的姿态的图3A的电子装置;
图4A示出在电子装置的示例布置上使用触摸手势在两个端点之间追踪的路径的示例;
图4B示出使用电子装置的另一示例布置的、用户扫划出在配置虚拟照相机时要使用的区域的示例;
图4C示出使用电子装置的另一示例布置的、用于在场景的表现中指示单个地点或对象的手势的示例;
图5A示出电子装置的一个布置中的、创建还与时间线控件相关联的路径的用户交互;
图5B示出电子装置上所显示的时间滑块;
图5C示出电子装置上所显示的时间线;
图6A示出电子装置的触摸屏上所显示的可见导航控件;
图6B示出可用于使用电子装置控制虚拟照相机的移动;
图7示出接受用以配置和控制虚拟照相机导航的用户手势和/或装置运动的系统;以及
图8A和图8B共同形成可以实践所述的布置的电子装置的示意框图表示。
具体实施方式
在任一个或多个附图中参考具有相同附图标记的步骤和/或特征的情况下,除非出现相反意图,否则这些步骤和/或特征为了本说明书的目的而具有相同的功能或操作。
已知的用于生成和控制虚拟照相机视图的方法通常不适合需要相对快速的虚拟照相机配置的应用,诸如现场体育播送等。
在本文所述的布置中,通过用户使用诸如触摸屏等的界面做出手势来实现诸如虚拟照相机等的远程装置的特性的定义。该手势的属性定义虚拟照相机的多个特性。该手势允许在响应性的虚拟体育播送系统所需的时间帧中设置虚拟照相机。此外,装置(例如,如图8A和8B所示的通用电子装置801)的姿态变化允许在新的交互模式中使用虚拟照相机的先前定义的特性,其中可能通过在新的模式中与装置的用户交互来定义虚拟照相机的新的或附加的特性。
本文所述的方法适合于在如图1所示的表演舞台110、体育或类似的表演场地的背景中使用。图1示出包括以大致矩形、椭圆形或圆形的现实物理比赛场地为中心的竞技场110的系统100。竞技场110的形状允许竞技场110被一圈或多圈物理照相机120A~120X围绕。如图1所示,竞技场110包括单圈照相机120A~120X。照相机120A~120X各自在物理上位于相对于竞技场110的各个预定地点。在示例系统100中,竞技场110是场地。然而,在另一布置中,竞技场110可以是音乐舞台、剧场、公共或私人场所、或者具有物理照相机的类似布置和已知的空间布局的任何场所。例如,所述的布置也可用于诸如火车站站台等的区域中的监视。
在图1的示例中,竞技场110包含对象140。各个对象140可以是人、球、车辆、或者竞技场110上或附近的任何构造物。使照相机120A~120X同步以在相同时刻捕捉帧,使得从大量视角(视点)同时捕捉竞技场110上的所有点。
在一些变形例中,不使用如图1所示的整圈照相机,而是可以使用该圈照相机的一些子集。在提前已知不需要某些视点的情况下,使用一圈照相机的子集的布置可以是有利的。
照相机120A~120X所捕捉到的视频帧在经由网络连接821被提供给被配置用于进行视频处理的处理器805(参见图8A和8B)之前,在照相机120A~120X的附近经受处理和临时存储。处理器805接收来自控制器180的界面的控制输入,该控制输入指定虚拟照相机的位置、姿态、变焦和可能的其它模拟照相机特征。虚拟照相机表示根据从照相机120A~120X接收到的视频数据所生成的地点、方向和视场。控制器180识别来自用户的触摸输入。识别来自用户的触摸输入可以通过诸如电容检测、电阻检测、电导检测和视觉检测等的多个不同的技术来实现。处理器805被配置为基于处理器805可用的视频流来合成指定虚拟照相机透视图190,并且将合成后的透视图显示在视频显示器814上。视频显示器814可以是各种配置其中之一,例如,触摸屏显示器或虚拟现实耳机。在视频显示器814是触摸屏的情况下,视频显示器814还可以提供控制器180的界面。虚拟照相机透视图表示从虚拟照相机的生成得到的视频数据的帧。
“虚拟照相机”被称为虚拟的,是因为虚拟照相机的功能是通过诸如照相机之间的插值等的方法、或者通过根据使用来自围绕场景(诸如竞技场110等)的许多照相机(诸如照相机120A~120X等)的数据所构建的虚拟建模三维(3D)场景(而不仅仅是任何单个物理照相机的输出)进行绘制,通过计算所导出的。
虚拟照相机位置输入可以由人类虚拟照相机操作者生成,并且可以基于来自用户接口装置(诸如操纵杆、鼠标、或者包括包含多个输入组件的专用控制器的类似控制器等)的输入。可替代地,照相机位置可以是基于对比赛玩法的分析完全自动生成的。混合控制配置也是可以的,由此照相机定位的一些方面由人类操作者引导,并且其它方面通过自动算法来引导。例如,粗略定位可以由人类操作者进行,并且包括稳定和路径平滑的精细定位可以通过自动算法来进行。
处理器805可被配置为使用任何合适的基于图像的绘制方法来实现帧合成。基于图像的绘制方法可以基于对来自已知几何布置的一组照相机120A~120X的像素数据进行采样。该绘制方法将采样得到的像素数据信息组合成合成帧。除了对请求帧的基于样本的绘制之外,处理器805可以附加地被配置为根据需要对区域进行合成、3D建模、图像修复(in-painting)或插值,从而覆盖采样不足,并且创建高质量视觉外观的帧。处理器805所创建的示例视频视图190随后可被提供给制作台(未图示),使得可以将从照相机120A~120X接收到的视频流编辑在一起以形成播送视频。可替代地,虚拟照相机透视图190可以以未经编辑的方式播送或者可被存储以供稍后汇编。
处理器805还可被配置为对照相机120A~120X所捕捉到的视频数据进行包括对象检测和对象跟踪的图像分析。特别地,处理器805可用于检测和跟踪虚拟照相机视场中的对象。
上述的图1的布置所提供的灵活性提出了在使用物理照相机的实时视频覆盖中先前未预料到的一组次要问题。特别地,如上所述,已识别出关于为了响应于体育场上的动作而应如何在任何时间在该场地上的任何地点生成虚拟照相机的问题。
图8A和图8B共同形成期望地实践所要说明的方法的、包括嵌入式组件的通用电子装置801的示意框图。在一个布置中,图1的控制器180形成电子装置801(例如,平板装置)的一部分。在其它布置中,控制器180可以形成相对于处理器805(例如,云服务器)的单独装置(例如,平板电脑)的一部分,其中这些单独装置通过诸如因特网等的网络进行通信。
电子装置801例如可以是处理资源有限的移动电话或平板电脑。然而,所要描述的方法也可以在诸如台式计算机、服务器计算机和具有明显更大的处理资源的其它这样的装置等的更高级别的装置上进行。
如图8A和图8B所示,装置801包括双向连接至内部存储模块809的处理器(或处理单元)805。如图8B所示,存储模块809可以由非易失性半导体只读存储器(ROM)860和半导体随机存取存储器(RAM)870形成。RAM 870可以是易失性存储器、非易失性存储器、或者易失性存储器和非易失性存储器的组合。ROM模块和RAM模块这两者都可以经由数据总线或其它方式连接至处理器805。
电子装置801包括显示控制器807,该显示控制器807连接至诸如液晶显示器(LCD)面板等的视频显示器814。显示控制器807被配置用于根据从与显示控制器807相连接的嵌入式控制器802接收到的指示来在视频显示器814上显示图形图像。
电子装置801还包括通常由键、小键盘或类似控件形成的用户输入装置813。在一个布置中,用户输入装置813包括以物理方式与视频显示器814相关联以共同形成触摸屏的触摸传感器829。因而,与通常用于小键盘-显示组合的提示或菜单驱动型GUI相反,触摸屏可以作为一个形式的图形用户界面(GUI)工作。还可以使用其它形式的用户输入装置,诸如供语音命令用的麦克风(未示出)或者为了便于与菜单有关的导航的操纵杆/拇指轮(未示出)等。在所描述的布置中,视频显示器814和触摸传感器829形成控制器180的触摸屏界面,其中经由该触摸屏界面接收手势以配置虚拟照相机的控制。
如图8A所示,电子装置801还包括便携式存储器接口806,其经由连接819连接至处理器805。便携式存储器接口806允许数据的源或目的地补充内部存储模块809。这样的接口的示例许可与诸如以下等的便携式存储器装置连接:通用串行总线(USB)存储器装置、安全数字(SD)卡、个人计算机存储卡国际协会(PCMIA)卡、光盘和磁盘。
电子装置801还具有通信接口808,以许可装置801经由连接821连接至计算机或通信网络820。连接821可以是有线的或无线的。例如,连接821可以是射频的或光学的。有线连接的示例包括以太网(Ethernet)。此外,无线连接的示例包括BluetoothTM(蓝牙)型本地互连、Wi-Fi(包括基于IEEE 802.11族的标准的协议)、以及红外数据协会(IrDa)等。物理照相机120A~120X通常经由连接821与电子装置801进行通信。
通常,电子装置801被配置为进行一些特殊功能。例如,在装置801是平板电脑的情况下,组件829可以表示平板电脑的悬停传感器或触摸屏。
作为另一示例,装置801可以是移动电话手机。在这种情况下,通信接口808可以在蜂窝电话环境中提供通信。
在装置801是便携式装置的情况下,运动传感器828和/或照相机827可以使用现有技术中已知的方法(诸如特征点视差、飞行时间感测、激光测距、电容式触摸感测和加速度计测量等)来提供用于感测空间地点、距离、姿态、速度、加速度、重力、磁性、声纳、雷达或这些方面的变化的能力。
在装置801是媒体播放器的情况下,显示控制器807可以包括包含联合图像专家组(JPEG)、(运动图像专家组)MPEG和MPEG-1音频第3层(MP3)等的类型的多个编码器和解码器。
以下所述的方法可以使用嵌入式控制器802来实现,其中图2的处理可被实现为在嵌入式控制器802内可执行的一个或多个软件应用程序833。图8A的电子装置801实现所述的方法。特别地,参考图8B,所述方法的步骤由在控制器802内执行的软件833中的指令来实现。软件指令可被形成为各自用于进行一个或多个特定任务的一个或多个代码模块。软件可被分割成两个单独部分,其中第一部分和相应的代码模块进行所述的方法,并且第二部分和相应的代码模块管理第一部分和用户之间的用户界面。
嵌入式控制器802的软件833通常存储在内部存储模块809的非易失性ROM 860中。ROM 860中所存储的软件833可以在需要时从计算机可读介质或经由网络更新。软件833可被载入处理器805并由处理器805执行。在一些实例中,处理器805可以执行位于RAM 870中的软件指令。可以通过处理器805发起将一个或多个代码模块从ROM 860复制到RAM 870中来将软件指令载入RAM 870。可替代地,一个或多个代码模块的软件指令可以由制造商预先安装在RAM 870的非易失性区域中。在一个或多个代码模块已位于RAM870中之后,处理器805可以执行该一个或多个代码模块的软件指令。
在电子装置801的分发之前,应用程序833通常由制造商预先安装并存储在ROM860中。然而,在一些实例中,应用程序833在存储在内部存储模块809中之前,可以通过编码在外部存储介质825上并经由图8A的便携式存储器接口806读取而被供给至用户。在另一替代中,软件应用程序833可以由处理器805从网络820读取,或者从其它计算机可读介质被载入处理器805或便携式存储介质825。计算机可读存储介质是指参与将指令和/或数据提供至控制器802以供执行和/或处理的任何非暂时性有形存储介质。这样的存储介质的示例包括软盘、磁带、CD-ROM、硬盘驱动器、ROM或集成电路、USB存储器、磁光盘、闪速存储器、或者诸如PCMCIA卡等的计算机可读卡,而与这些装置在装置801的内部还是外部无关。还可以参与将软件、应用程序、指令和/或数据提供至装置801的暂时性或非有形计算机可读传输介质的示例包括:无线电或红外线传输通道及向着另一计算机或联网装置的网络连接、以及包括电子邮件发送和网站上所记录的信息等的因特网或内联网。记录有这样的软件或计算机程序的计算机可读介质是计算机程序产品。
可以执行上述的应用程序833的第二部分和相应的代码模块来实现要绘制或以其它方式呈现在图8A的显示器814上的一个或多个图形用户界面(GUI)。通过对用户输入装置827、828和829进行操纵,装置801的用户和应用程序833可以以在功能上可适用的方式对界面进行操纵,以将控制命令和/或输入提供至与这些GUI相关联的应用。还可以实现其它形式的在功能上可适用的用户界面,诸如利用经由扬声器(未示出)所输出的语音提示和经由麦克风(未示出)所输入的用户声音命令的音频界面等。
图8B详细示出嵌入式控制器802,该嵌入式控制器802具有用于执行应用程序833的处理器805、以及内部存储器809。内部存储器809包括只读存储器(ROM)860和随机存取存储器(RAM)870。处理器805能够执行所连接的存储器860和870中的一个或这两者中所存储的应用程序833。在初始对电子装置801通电的情况下,执行驻留在ROM 860中的系统程序。应用程序833在永久地存储在ROM 860中的情况下有时被称为“固件”。处理器805执行固件可以实现包括处理器管理、存储器管理、装置管理、存储管理和用户界面的各种功能。
处理器805通常包括多个功能模块,其中这多个功能模块包括控制单元(CU)851、算术逻辑单元(ALU)852、可选的数字信号处理器(DSP)853和包括通常包含数据元素856、857的一组寄存器854的本地或内部存储器、以及内部缓冲器或高速缓冲存储器855。一个或多个内部总线859使这些功能模块相互连接。处理器805通常还具有用于使用连接861经由系统总线881与外部装置进行通信的一个或多个接口858。
应用程序833包括可以包含条件分支指令和循环指令的指令序列862~863。程序833还可以包括执行程序833时所使用的数据。该数据可被存储为指令的一部分,或者可被存储在ROM 860或RAM 870内的单独位置864中。
通常,向处理器805赋予一组指令,其中在该处理器805内执行该组指令。该组指令可被组织成块,这些块进行特定任务或者处理在电子装置801中发生的特定事件。通常,应用程序833等待事件,并且随后执行与该事件相关的代码块。事件可以响应于如由处理器805检测到的从用户经由通过图8A的I/O接口813所连接的用户输入装置进行的输入而被触发。事件也可以响应于电子装置801中的其它传感器和接口而被触发。
执行一组指令可能需要读取和修改数字变量。这些数字变量可以存储在RAM 870中。所公开的方法使用存储器870内的已知位置872、873中所存储的输入变量871。处理输入变量871以产生输出变量877,这些输出变量877被存储在存储器870内的已知位置878、879中。中间变量874可被存储在存储器870的位置875、876内的附加存储器位置中。可替代地,一些中间变量可以仅存在于处理器805的寄存器854中。
在处理器805中通过重复应用提取执行周期来实现指令序列的执行。处理器805的控制单元851维护被称为程序计数器的寄存器,该寄存器包含要执行的下一指令在ROM 860或RAM 870中的地址。在提取执行周期开始时,将由程序计数器编索引的存储器地址的内容载入控制单元851。如此载入的指令控制处理器805的后续操作,例如使得数据从ROM存储器860被载入处理器寄存器854,寄存器的内容与另一寄存器的内容进行算术组合,寄存器的内容被写入另一寄存器内所存储的位置,等等。在提取执行周期结束时,更新程序计数器以指向系统程序代码中的下一指令。根据刚刚执行的指令,这可以涉及使程序计数器中所包含的地址递增、或者向程序计数器加载新地址以实现分支操作。
以下所述的方法的处理中的各步骤或子处理与应用程序833的一个或多个区段相关联,并且通过重复执行处理器805中的提取执行周期或者电子装置801中的其它独立处理器块的类似编程操作来进行。
在所述的布置中,控制器180与平板装置801的屏幕814有关。视频显示器814和传感器829提供用户可以与竞技场110的显示表现交互并且观看与竞技场110相关联的视频片段所利用的界面。
现在将参考图2来说明控制虚拟照相机的方法200。方法200可被实现为驻留在装置801的ROM 860和/或RAM 870中并且由处理器805控制其执行的软件应用程序833的一个或多个软件代码模块。将参考控制虚拟照相机来说明方法200。然而,方法200和以下所述的其它方法可用于控制可以采取虚拟照相机或物理照相机(例如,120A)的形式的任何远程装置。
方法200从识别步骤210开始,其中在识别步骤210中,在处理器805的执行下识别电子装置801的姿态。例如,电子装置801可以由用户保持成某姿态,并且在步骤210中识别该装置姿态。通常通过使用诸如加速度计、照相机、重力传感器等的传感器来被动地识别该姿态。可以相对于重力方向、或者相对于用户的姿态、或者相对于用户的环绕物等、或者相对于这些方法的组合来识别姿态。在微重力情形中(诸如在空间站上等),可以相对于装置801的当前加速度计测量指定的任何内容来识别装置801的姿态。稍后可以在不一定需要特定外部姿态参考的情况下确定装置801的加速度计测量的变化。如以下所述,稍后可以在步骤230中感测如在步骤210中识别的装置姿态的变化。
方法200继续检测步骤220,其中在该检测步骤220中,在处理器805的执行下检测装置801的用户界面处的用户输入。步骤220通常包含数个有用的性质。通常,在装置801处于第一姿态时,装置801显示场景的相关视图。例如,在装置801被定向成基本上平行于地面(即,垂直于重力方向,其中重力方向是从加速度计、图像传感器、重力传感器或其它传感器确定的)的情况下,可将场景的俯视视图(或直升机视图)显示在显示器814上。场景可以是场景的预先记录的三维记录,或者场景的实时视图,或者场景的一些其它表现,诸如二维(2D)图、架构绘制、示意图、图形或一些其它视觉抽象等。在另一布置中,装置801相对于用户面部的经度轴的姿态可用于选择场景的相关视图。此外,穿过用户眼睛的横向轴可用于确定装置801相对于用户的姿态。例如,如果面部的经度轴相对于装置801以低于四十五(45)度的角度定向,则装置801被视为定向成基本上垂直,并且可以显示侧视图。然而,如果面部的经度轴相对于装置801以超过四十五(45)度的角度定向,则装置801被视为定向成基本上平行于地面,并且可以将俯视视图显示在装置801的视频显示器814上。
在经度轴被定向成平行于装置801的情况下,该轴和装置801之间的角度被视为零(0)度。然而,装置姿态向所显示的视图的许多映射都是可以的。
作为步骤220的一部分,在处理器805的执行下检测来自用户的任何输入。检测用户输入可以采取检测触摸屏上的触摸手势的形式。
用户可以使用数个方法中的任何方法来定义路径。例如,可以指示开始和停止点;可以追踪一个或多个手绘线;可以指示诸如圆形或矩形等的形状;可以使用一个或多个手指来扫划出区域;可以使用多个手指来一个接一个地或者同时指定这些方法的序列。在步骤220中检测到的输入用于通过与场景的视图相关联来确定场景内的一个或多个地点。通常,各这样的地点至少包括空间分量。
在又一布置中,场景内的地点与时间数据相关联。时间数据可以与场景内的时间的进展相关联。例如,手势的开始点可以与场景内的特定时间相关联,并且手势的停止点可以与场景内的稍后时间相关联。
手势本身的速度可用于控制时间数据。在另一布置中,可以经由时间线控件或其它接口机制来明确地控制与场景内的地点相关联的时间数据(即,该地点的时间分量)。
在虚拟照相机在场景内工作时,场景内的地点随后可用于约束虚拟照相机的运动或操作。通常,通过配置虚拟照相机控件来约束运动或操作,使得所确定的地点影响虚拟照相机的配置,以在正移动虚拟照相机时应用预定约束。
虚拟照相机控件可被配置为影响虚拟照相机的各种性质。虚拟照相机可以在场景内具有与空间的三维重建内的视点相对应的位置。在一个布置中,空间是物理场所的表现,诸如照相机120A~120X所记录的竞技场110等。在另一布置中,空间可以是在诸如电子装置801等的计算机内定义的架构模型。虚拟照相机通常具有定义虚拟照相机的操作的数个属性。这些属性包括空间内的由空间分量(例如,X、Y、Z)构成的位置,其还可以包括姿态值(例如,横摆、俯仰、侧倾)以及时间分量(被称为时间或时间码)。这些属性还包括数个其它模拟光学性质,诸如焦距、变焦、快门速度、感光度(ISO)等。这些属性通常用于确定包括视锥体的性质,该视锥体在一个布置中是涉及近剪裁面和远剪裁面的截锥体形状。这样的性质影响虚拟照相机的明显视场,并且影响虚拟照相机的用于描述场景内的事件的时空部署。
如以下将说明的,虚拟照相机的各种属性可以由用户控制,并且可以通过响应于在步骤220内检测到地点而配置虚拟照相机控件来约束。
在检测步骤230中,在处理器205的执行下检测装置801的姿态变化。在如上所述识别装置801的姿态时,可以使用步骤210中原本使用的相同方式中的任何方式来检测该变化。通常,装置801的姿态变化是由用户发起的。在一个布置中,用户使装置801从基本上垂直于重力方向的姿态斜移成基本上平行于重力方向的新姿态。装置801的这种姿态变化用于向装置801指示模式的变化将发生。在另一布置中,作为步骤230中的检测的结果,将虚拟照相机取景器显示在视频显示器814上。
在配置步骤240中,响应于在步骤230中检测到装置801的姿态已从第一姿态改变为第二姿态,在处理器805的执行下配置虚拟照相机控件。虚拟照相机的属性和性质由这些虚拟照相机控件控制。虚拟照相机的这些属性和性质可以包括虚拟照相机的位置、姿态、视场、时间码、焦距、变焦、快门速度、感光度或其它照相机性质,或者虚拟照相机的位置、姿态、视场、时间码、焦距、变焦、快门速度、感光度的任何子集。此外,可以以各种方式控制虚拟照相机的属性的值的变化。例如,控制虚拟照相机的位置可以如何改变能够影响虚拟照相机的最小或最大速度。控制虚拟照相机的位置可以如何改变还能够通过控制运动的平滑度来影响虚拟照相机的加速度、表观质量或惯性,尽管虚拟照相机是无明确建模质量的虚拟照相机这一事实。虚拟照相机控件的配置在步骤240中发生,并且根据步骤220中所确定的地点来进行。
虚拟照相机控件的配置例如可以涉及:将屏幕上控件的轴与特定虚拟照相机属性相关,或者将用户触摸手势与虚拟照相机性质的变化相关联。虚拟照相机控件的配置还可以涉及:在虚拟照相机沿着空间轴、时间轴或其它轴的运动范围与用户控件的可变性范围之间建立映射。虚拟照相机控件的配置还可以涉及:显示或隐藏特定虚拟照相机控件,或者限制特定虚拟照相机控件可以影响哪些虚拟照相机性质。
在检测步骤250中,在处理器805的执行下检测用户输入。用户输入用于接收命令以根据步骤240中所配置的虚拟照相机控件来控制虚拟照相机。在一个布置中,可以通过解释打算影响虚拟照相机以使得选择性地影响所需属性的用户输入来实现这些控件。例如,如果打算影响虚拟照相机位置、而不是虚拟照相机姿态,则在步骤250期间,可能影响姿态的用户输入可能被装置忽略。在另一布置中,显示界面可以在步骤240期间或作为步骤240的结果而改变,使得在步骤250中不向用户呈现姿态修改选项。
在步骤250中,响应于检测到用户输入,通过合成更新后的虚拟照相机图像来更新视频显示器814。显示的更新是由于检测到用户输入而发生的,从而导致对虚拟照相机的一个或多个属性或性质的改变。例如,如果用户触摸在步骤240中已配置的虚拟照相机控件、并且这导致虚拟照相机在空间中移动,则将发生新图像的合成,从而向用户示出虚拟照相机的新更新的视角。虚拟照相机影像的合成使用从多个物理照相机生成的场景的三维模型和虚拟照相机在场景空间中的位置(通常是三个空间维度)、以及虚拟照相机的姿态(通常是另外三个转动维度)和变焦。产生了与该虚拟照相机的七维数据和相应的第八维(即,正可视化的场景中的时间)相对应的图像。
图3A示出根据一个示例布置的、以相对于可以暗示重力方向的垂直的角度α保持于特定姿态320的装置801。如步骤210那样,检测装置801的姿态320。在装置801的视频显示器814上示出运动竞技场350的俯视视图。竞技场350上的对象360是以缩图形式示出的。这样的对象360可以包括选手、球、球门区、运动场标记等。如图3A所示的竞技场110的鸟瞰视图对于导航目的(诸如在体育教练正回顾比赛的情况或者观看人或对象的大规模运动很重要的另一情形等)是有用的。如步骤220那样,装置801的显示屏幕814上所显示的俯视视图是装置801的一个模式的示例,并且允许检测到有意义的用户输入。
在图3B中,装置801已被重定向成与图3A所示的姿态320不同的姿态330。在图3B中,装置801相对于垂直成角度β。如步骤230那样,检测如图3B所示的装置801的姿态变化。在图3A和3B所示的示例布置中,响应于姿态的变化,在视频显示器814上呈现给用户的视图表明虚拟照相机已改变为前视图,使得可以更接近地且以更正常的方式观看对象360。在图3B中呈现给用户的视图是虚拟照相机取景器可能采取的一个形式,并且是装置801的另一模式的示例。如在图3B中示例所示,这种前视图可用于如体育播送、监视视图等那样的娱乐或识别目的。在图3B的示例中,如步骤240那样配置虚拟照相机控件,并且根据所配置的虚拟照相机控件,可以如步骤250那样检测用户输入。
在分别如图3A和3B所示的装置801的第一模式和第二模式之间的转变可以由超过角度阈值的装置姿态的变化触发。例如,角度α可以是如下的角度阈值,其中低于该角度阈值,装置801被视为处于特定姿态,且高于该角度阈值,装置801被视为处于不同姿态。
在另一布置中,可以考虑姿态之间的转变的稳定性。例如,如在滞后曲线中那样,可以使用多个阈值或装置运动的历史来确定装置模式变化。围绕特定阈值角度的小运动无需触发装置模式之间的立即往返移动。相反,将装置801重定向成向着特定姿态可能引起从以特定阈值角度的一个装置模式的转变,并且将装置801重定向回成向着另一姿态可能引起向着以不同阈值角度的另一装置模式的转变。例如,如果相对于装置801的重力方向的角度超过β,则可以触发从水平模式向垂直模式的转变,而相对于装置801的重力方向的角度可能需要减小到小于α的角度,以触发从垂直模式向水平模式的转变,由此提供以这两个极值之间的角度的稳定性。对于α和β之间的角度,模式不改变。类似地,装置801的角度运动的历史可用于忽略随机摆动或其它虚假运动。装置801的角度运动的历史也可用于使用诸如识别在特定最小或最大持续时间阈值内的平滑角度变化等的方式或者其它这样的方式来直接推断何时打算进行深思熟虑用户的适度姿态变化。
通过在第一模式下配置虚拟照相机控件的某些方面、然后转变为使用这些配置的控件来交互地控制虚拟照相机的第二模式,可以有利地采用功能的自然分离来简化用户的工作流程。在一个布置中,如图3A所示在第一模式下在视频显示器814上显示的俯视图使得用户能够容易地建立可以影响虚拟照相机如何移动的导航控件。然后,视频显示器814上所显示的视图可以切换到如图3B所示的在第二模式下的前视图,从而允许用户根据先前配置的控件来引导虚拟照相机。如图3A和3B所示启用显示器814上所显示的视图来切换,这允许减少用于对虚拟照相机进行导航的硬件装置的数量。方法200使得诸如平板电脑或智能电话等的多用途装置能够促进七个自由度中的复杂导航。图3A和3B所示的示例布置利用重力、装置801的姿态和装置801上所显示的竞技场350的姿态之间的映射。
现在将参考图4A、4B和4C来说明建立可用于在步骤220中配置虚拟照相机的约束。
图4A示出在装置801的另一示例布置中的、使用触摸手势在两个端点440和450之间追踪的路径460的示例。路径460用于确定场景410中的地点。在一个布置中,用户仅指定开始点和结束点,并且路径由装置801推断。例如,路径可被推断为直线。在另一布置中,用户指定多个点(例如,超过两(2)个点),并且路径被推断为通过这些点。例如,可以使用线性插值、三次插值或一些其它合适的插值方法来推断为路径通过这多个点。在又一布置中,多个点对应于观看场景的物理照相机,并且在这多个点之间以通过这多个点的方式对路径进行插值。在还一布置中,通过用户的手指手势扫划出路径460,从而完整地指定路径的整个长度。也可以以交互方式向用户示出所确定的路径(例如,460)的视觉表现,并且稍后可以进行路径的编辑或其它细化。
可以以数个方式使用诸如路径460等的路径来配置虚拟照相机控件。例如,路径460可用于在随后的用户交互期间控制虚拟照相机的可能位置,从而充当虚拟照相机可以往返移动的“准则”或“导轨”。在路径460用于在随后的用户交互期间控制虚拟照相机的可能位置的情况下,当装置801已从第一姿态移动到第二姿态时,可以配置控件以仅对用以使虚拟照相机沿着路径移动的左右手势作出响应(即,其它手势可以被控件忽略)。
在另一布置中,可以使用路径信息来约束虚拟照相机在场景上方的高度。在使用路径来约束虚拟照相机的高度的情况下,当装置801已从第一姿态移动到第二姿态时,可以配置控件以允许虚拟照相机移动通过场景。然而,虚拟照相机的高度不是由用户在第二姿态视图(例如,图3B所示的视图)中控制的,而是根据路径信息确定的。
在另一布置中,尽管虚拟照相机的位置由用户自由地控制,但虚拟照相机在第二姿态上的转动可被约束为跟随与由用户在第一姿态上定义的路径相对应的场景中的点。用户可以将路径定义为时间上的路径。例如,这样的路径可以对应于场景中的关注对象或关注区域的位移。如以下所述,也可以添加时间作为约束。
可以使用上述方法中的一个或多个方法来指定多个路径。可以在步骤220中或在步骤250中或在这两个步骤中向用户提供在不同路径之间移动的方法。隐式方法也可用于推断哪个或哪些路径对虚拟照相机控件的配置有意义。在一个布置中,与路径相对应的空间地点可能影响控件如何工作,例如在路径接近足球比赛中的球门区的情况下,某些控件可以起作用。例如,可以存在在保持虚拟照相机指向球门的同时、使虚拟照相机围绕球门以圆弧转动的滑块控件,或者可以存在用于使虚拟照相机向着球门放大的滑块控件。存在可以定义的许多空间感知控件。
在另一布置中,路径具有时间分量,并且在步骤250期间用户对时间进行导航可以禁用与一个路径相对应的某些控件,并且启用与另一路径相对应的其它控件。例如,在存在沿着足球场的长度延伸的第一路径和环绕该体育场的一端的球门的第二路径的情况下,在正沿着第一路径对虚拟照相机进行导航的时间期间,左右控件可能足以控制虚拟照相机沿着体育场的长度的运动;而上下控件可能影响虚拟照相机的变焦。然而,在到达与第二个路径相对应的时间之后,可以允许向上运动,以便从高处示出球门,其中此时,可以禁用供第一路径用的上下变焦控件,并且可以启用与第二路径相对应的上下高度控件。存在可以定义的许多其它的时间感知控件。
图4B示出使用装置801的另一示例布置的、用户扫划出在配置虚拟照相机时要使用的区域470的示例。区域470用于确定所例示的场景420内的地点。存在用以在触摸屏上扫划出区域的数个方法。可以经由两个触摸手势来指示相对的角部。可以追踪形状的周界。如果装置801正使用的触摸传感器能够同时检测多个触摸,则多个手指的放置可用于指定矩形或其它形状。类似地,可以通过使手指的平面沿着显示屏幕814移动来追踪区域470。如上所述的插值方法也可用于填充缺失的信息。可以向用户示出区域470的表现,并且可以允许交互式编辑。
诸如区域470等的区域可用于确定场景420内的可用于配置虚拟照相机控件的地点。在一个布置中,区域470用作虚拟照相机被约束移动的边界。例如,在装置801处于如上所述的第二姿态时,可以使允许用户向左、向右、向前或向后移动虚拟照相机的控件可见并启用。然而,可以对这些控件进行约束,使得在装置801处于第一姿态时、虚拟照相机的位置到达先前定义的边界区域的边缘的情况下,相应控件变为对进一步的用户输入不响应,以防止虚拟照相机离开边界区域。然而,一旦虚拟照相机远离先前定义的边界区域的边缘,相应控件可能再次变得能够响应。
在另一布置中,区域470可用于约束虚拟照相机的视场,使得虚拟照相机的姿态不能改变成观看场景的在所指定的地点之外的部分。约束虚拟照相机的视场在观看诸如球门区等的重要区域时可以是有用的。例如,在装置801处于如上所述的第二姿态时,可以使允许用户向后向左、向右、向上或向下转动或者放大或缩小虚拟照相机的控件可见并启用。然而,可以对这些控件进行约束,使得在虚拟照相机的视场偏离球门区时,相应控件变得对进一步的用户输入不响应,而继续在该方向上的转动将产生在先前指定的区域470之外的视图。在另一示例中,控件不是变得不响应,而是随着离用户进行导航的区域的外部更近而逐渐地变得不太响应,从而强制进行警告用户即将违反由输入区域470施加的约束的减慢。
图4C示出使用装置801的另一示例布置的、用于在场景430中的表现中指示单个地点或对象480的手势的示例。单次触摸手势识别虚拟照相机所要观看的场景内的地点或场景中的对象,使得该地点或对象保持在虚拟照相机的视野中。这样的识别场景内的地点或对象的单次触摸手势将虚拟照相机的转动约束成始终指向该地点或对象,同时仍允许虚拟照相机围绕该地点或对象移动或者远离该地点或对象。可以使用用于跟踪移动对象的任何合适的方法来随时间的经过跟随这些对象,该方法例如包括光学跟踪、用以读取对象上印有的字母或数字的光学字符识别、或者使用贴附至对象的射频标签。在一个布置中,可以自动控制虚拟照相机的变焦,以确保对象或地点被取景,从而基本上填充视图,或者遵守其它取景约束(诸如三分法等)。在另一布置中,环绕对象的手势可用于指示该对象,或者环绕多个对象可以表示所有这些对象都应保持在虚拟照相机的视野内。在又一布置中,上述手势其中之一可用于表示虚拟照相机可以保持与对象或地点的固定距离,从而响应于用户输入而围绕该对象或地点运动、但同时聚焦于该对象或地点。
现在将参考图5A、图5B和图5C来说明时间信息与通过步骤220中的用户交互所确定的地点的关联。
图5A示出在装置801的一个布置中的、创建还与时间线控件510相关联的路径560的用户交互。路径560的端点540可以与时间线控件510上的特定时间标记570相关联,并且另一端点550可以与另一时间标记580相关联。标记570和580可以是预先设置的、或者通过输入路径560的动作所推断的、或者以其它方式指派的。用户可能有机会稍后移动时间标记570和580。时间标记570和580通常指示路径560上的点将被指派至的场景中的时间。因而,时间标记570和580向根据路径560所确定的地点除了提供这些地点可以具有的任何空间或转动分量之外还提供时间分量。通过标记路径560上的点所对应的时间,可以推断虚拟照相机沿着路径560的移动将发生的速度。此外,通过允许移动时间标记570和580,可以改变虚拟照相机将沿着路径560移动的速度。例如,如果路径的开始在十(10)秒处具有时间标记、并且路径的结束在三十(30)秒处具有时间标记,则可以推断出路径是二十(20)秒长。继续该示例,也可以推断出,虚拟照相机沿着这该路径的速度将是路径距离除以二十(20)秒。操纵时间标记570和580可以改变该时间间隔,并由此改变速度,从而允许用户控制在场景中何时路径560将开始或结束,由此允许在时间上对重要场景事件的取景进行控制。在另一布置中,可以使用与路径560上的不同点相对应的多于两个的时间标记来独立地改变沿着一个路径的不同分区的速度。
将手指保持在装置801的触摸屏上可用于建立路径。在将手指按在装置801的触摸屏上时,可以前进播放场景时间,使得可以看到场景中所显示的对象移动,因而可以在时间向前移动时追踪路径。在另一布置中,时间仅在手指移动时才向前移动。
路径560上的未被明确提供时间标记的点处的时间分量可以通过各种方式来推断,这些方式包括使用线性插值或三次插值或任何其它合适的方法。通常,开始时间标记和结束时间标记规定路径560上的点的场景时间。在一个布置中,仅路径560的开始点标记和结束点的时间标记需要被指派时间标记,其中沿着路径560的所有中间地点都被指派推断时间。
在另一布置中,路径560上的开始点和结束点以及一个或多个附加点被指派时间标记,并且使用三次Hermite样条插值方法来确保附加点匹配所指派的时间。三次Hermite样条插值方法还用于确保虚拟照相机在该时间经过该地点的视在加速度是平滑的。
如前面在论述图4时所述,路径可以是直的、弯曲的、轨道的或其它形状的,并且可以仅包括端点或多个中间点。在一个布置中,通过使用触摸手势添加两个或更多个点来输入路径560。对于路径560上的各点,可以将相应的时间标记添加到时间线控件510,然后可以通过插值方法推断路径560的地点的中间空间分量和中间时间分量。针对路径560上的各点将相应的时间标记添加至时间线控件510提供了在路径560上指示的空间地点与时间线控件510上的相应时间标记之间的一对一关系。然后可以通过移动时间线控件510上的相应时间标记来调整空间地点的时间。例如,如果路径的中点被标记有时间标记,则移动该标记使得该标记在时间上更接近表示路径的开始的时间标记这一情况与移动同一时间标记使得该标记在时间上更接近表示路径的结束的时间标记这一情况相比,使得更快地遍历路径的前半部分。可以使用颜色编码或其它突出显示机制来向用户通知路径地点和时间标记之间的对应关系。例如,在装置801处于第一姿态时,可以利用不同色调的圆点在不同的点处标记路径,并且在装置801处于第二姿态时,在与各个点相对应的时间标记上使用相应的色调。
图5B示出连同如先前在步骤220中建立的虚拟照相机路径一起使用的装置801上所显示的时间滑块520。在图5B的示例中,可以期望在步骤250中对虚拟照相机视野进行取景,使得例如连续地观看场景中的某些对象360,以确保在两个选手之间被踢的球不会离开视野。可以在步骤230中检测到装置801的姿态变化之后将时间滑块520显示在装置801上,使得用户已建立了路径或选择了在步骤220中要观看的对象。利用装置801上所显示的时间滑块520,用户现在可以使用步骤240中所配置的控件来在步骤250中控制虚拟照相机。
时间线520上的时间滑块590用于通过增加或减少场景时间来沿着先前生成的路径560移动。例如,虚拟照相机可被配置为在一定距离处自动跟随对象,并且通过操控时间滑块590,用户可以预览如此得到的视频。
在另一布置中,如图5A那样通过路径560在步骤220中确定虚拟照相机的时空地点;现在,在如图5B所示的步骤250中,用户可以通过以相应方式改变装置801的姿态以调整虚拟照相机的姿态来控制虚拟照相机观看场景中的对象360的取景。在图5B的示例中,在步骤250期间虚拟照相机穿过场景的空间运动与在步骤220中先前确定的路径匹配。而在步骤220中先前确定的路径与先前也在步骤220中建立的时间标记570、580相匹配。因而,用户在步骤250期间对时间滑块590的控制仅仅通过沿着时间线520滑动拇指就足以控制虚拟照相机在场景中的空间地点。使用时间滑块590通过使用装置801的动作来正确地对视频进行取景,使得用户在步骤250中能够自由地集中于进行该操作。
图5C示出控制重放的定时的附加方法。在图5C的示例中,在装置801上显示时间线530。时间线530的特征是随着用户对场景时间进行导航而更新的时间指示器591。用户可以通过使装置801顺时针地或逆时针地倾斜来对时间进行导航,并且时间指示器591分别向前或向后移动。在另一布置中,可以使用注视跟踪来允许用户看见时间线530上的点,并且相应地,装置801可以相应地设置时间指示器,并由此使时间指示器591沿着先前确定的路径移动到适当场所。在另一布置中,用户可以通过一些方式(诸如播放按钮、手势、或者隐含地通过等待短的持续时间等)来发起播放。然后,在用户操纵装置801以控制虚拟照相机时,时间可以自动前进。
在步骤220期间,用户可以指定多个路径、区域、关注对象、或者地点。这些地点的时间分量(时间码)可用于选择控件如何响应、或者对用户启用或示出哪些控件。在布置中,用户定义多个路径,其中各路径具有关联的时间段。用户首先输入确定所显示的第一地点的一个路径。用户输入也显示的第二路径。各个路径的定时是由用户输入的。在步骤250期间用户控制虚拟照相机时,检查虚拟照相机的时间分量(时间码)。在与第一路径相对应的时间段期间,根据第一路径的地点来配置控件,并且在与第二路径相对应的时间段期间,根据第二路径的地点来配置控件。如果在这些时间段中存在重叠,则在较晚时间段的虚拟照相机控件在工作中之前,较早时间段必须被虚拟照相机的时间分量超过。时间段重叠可用于实现第一路径和第二路径之间的“跳跃剪接”。在另一布置中,可以在任何时间段重叠期间启用与这两个路径相对应的控件。在任何时间段重叠期间启用与这两个路径相对应的控件可用于允许沿着场地的轨状照相机运动平滑地过渡到球门区附近的轨道照相机运动。
存在可用于在先前建立要跟随的路径、地点或对象之后对场景时间和/或路径时间进行导航的装置运动、手势或其它输入的许多其它可能的映射。如以上所述,所述方法分开以下操作:在步骤220中先建立地点,之后在步骤230中经由姿态变化对导航模式作出改变,之后在步骤240中配置控件,并且在步骤250中约束虚拟照相机导航。
图6A示出装置801的触摸屏上的可见导航控件610。可见导航控件610可以被放置成:在步骤250期间,可以方便地输入用户的触摸手势,并且这些触摸手势可用于对虚拟照相机进行导航。
一组控件可以使虚拟照相机向上、向下、向左或向右斜移。另一组控件可以使虚拟照相机向左、向右、向前或向后移动,这可以是在装置801处于第一姿态时用户正在先前定义的区域内进行导航的情况。在另一布置中,这两组控件可以使得虚拟照相机向左或向右移动或者向上或向下斜移,这可以是在装置801处于第一姿态时虚拟照相机被约束成沿着先前定义的路径移动的情况。控件及其子组件根据先前建立的地点、路径或区域,可被配置为可见或不可见、启用或禁用、或者以可变的方式对用户输入作出响应。
在一个布置中,在步骤220中,如图4B所示,用户指示了区域470。在步骤240中可以配置控件,使得在步骤250期间虚拟照相机不能在区域470的外部查看。可以通过确保防止将使虚拟照相机移动得离区域过远或者使虚拟照相机指向错误方向的控件进行这样的操作来施加这种约束。例如,在这种情况下,控件可能变得对用户输入不响应。
在具有上述的手动控件的系统中,场景时间的经过可以由装置801隐含地(例如,以与用户所经历的时间经过一一对应的方式)控制。可替代地,场景时间可能会减慢,从而允许用户有时间构建镜头的正确取景。
在一个布置中,导航控件610其中之一具有控制时间的轴。例如,左侧控件可以在横轴上调整场景时间,并且在纵轴上调整虚拟照相机变焦。可以连续地(可能地(例如使用多个级别的快进或回退速度)呈指数地)控制场景时间。例如,用手指按住一个时间控件可以开始使时间以正常速度向前移动。然而,按下手指的时间越长,速度变得越快,从而产生“快进”的效果,直到用户松开为止。在另一布置中,时间的经过可以是线性的,使得按住一个时间控件仅能以单一速度移动。
在一个布置中,这样的时间控件以线性方式或者以加速或指数方式起作用的配置可以取决于在装置801处于第一姿态时所描述的路径的长度。例如,长的路径可以使控件以指数方式起作用,而短的路径可能不会如此。
在又一布置中,时间的经过不是连续的,而是涉及不连贯的阶段。不连贯的阶段可能对应于如以上关于图5A所述的在建立路径时先前表示的独特时空点。例如,轻击向右时间控件可以使场景时间前进到在定义路径时使用的下一点,而轻击向左时间控件可以使场景时间回退到先前的这样的点。在一个布置中,与区域相反,控件向时间导航的这种映射可被配置为在装置801处于用户正描述路径的第一方向时进行检测的结果。
在一个布置中,控件选择要跟随或显示的一个或多个对象360。例如,触摸控件可以在该时间点逐步通过靠近先前建立的路径的对象,从而使虚拟照相机的姿态能够从属于视场中的所选择的对象的表观运动。在另一布置中,触摸控件可以在该时间点逐步通过先前建立的区域内的对象。在又一布置中,触摸控件可以逐步通过先前建立的数个路径或区域,从而选择与各路径或区域相关的对象。
除了图6A所示的种类的触摸操作的虚拟照相机控件之外,还可以使用与图5有关地论述的形式的显式时间导航控件。作为使用步骤220中的用户的先前输入来确定场景中的地点的结果,可以建立步骤240期间的控件的配置。先前的输入可用于通知控件的配置,并由此允许步骤250期间的虚拟照相机的简化导航和控制。
图6B示出可用于控制虚拟照相机的运动。在图6B的示例中,用户移动装置801,并且这些移动被装置801感测到。各种移动从上下文都与调整虚拟照相机性质(诸如空间坐标、转动值、时间坐标和变焦值等)的控制操作相关联。移动可以包括使装置801上下移动630、侧向移动640、更靠近或进一步远离670、或者使装置801顺时针地或逆时针地转动620。移动还可以包括使装置801水平地650或垂直地660倾斜,并且可以存在装置801可以可靠地感测的其它形式的移动。
如图6B所示的装置801的运动620、630、640、650、660和670可用于控制虚拟照相机。例如,侧向移动640可用于使虚拟照相机在场景内侧向移动。类似地,使装置801向上倾斜660可以使虚拟照相机向上斜移。然而,响应于步骤220中的建立了场景内的地点的用户的先前输入,可以在步骤240中配置移动控件的重要特征。
在一个示例中,用户可能先前已在步骤220中建立了供虚拟照相机跟随用的路径。因而,在步骤250中用户正直接控制虚拟照相机时,如图6B所示的装置801的移动将以与先前建立的路径一致的方式影响虚拟照相机。例如,步骤220中所建立的路径可以在不约束虚拟照相机的转动角度的情况下,在步骤250期间有效地约束虚拟照相机的空间位置。装置801的移动可被解释为影响虚拟照相机的转动,但如果这样做使虚拟照相机脱离先前建立的路径,则将不改变虚拟照相机的位置。因而,用户通过单独提供较早步骤220中的地点信息和在稍后步骤250中要使用的虚拟照相机240的配置,自由地集中于提供正确控制虚拟照相机所需的虚拟照相机转向。
如以上与图5C有关地所述,一种或多种可能的装置运动可以与对时间的进行导航的方法相关联。例如,代替使虚拟照相机转动,可以使用装置801的转动620来对场景时间进行导航,并由此使虚拟照相机沿着预定义的路径往返移动。在另一示例中,可以使用使装置801向前倾斜来进入下一预定义的路径或区域,从而触发向场景的另一部分的“跳跃剪接”,并且触发其它控件的重新配置符合该路径或区域。例如,踏向足球比赛的边线处的区域可以重新配置控件以最好地例示掷界外球,从而配置控件以允许虚拟照相机沿着边线移动或者向上或向下斜移以进行取景。
在一个示例中,在步骤220中,用户选择了要观看的对象。虚拟照相机被指向成维持与对象的固定距离,但在视野内对对象进行取景。因而,当对象在场景中移动时,虚拟照相机将跟随对象并从固定距离观看对象。然而,跟随对象没有约束要观看对象的角度。在该示例中,可以在步骤240中配置虚拟照相机控件,使得在步骤250中,当用户交互地控制虚拟照相机时,装置801的侧向运动640或转动650被解释为用以使虚拟照相机围绕对象旋转的命令,从而从不同的角度观看对象。如以上所述使虚拟照相机围绕对象旋转以从不同角度观看对象,这可用于确保可以正确地观察到对象的各方面(例如,选手的面部、球、选手的腿、抢断球、截球)。
滑动手势可用于进行类似的受约束的虚拟照相机导航操作。例如,在魁地奇的比赛中,可能期望从选手追逐金色飞贼的视角观看飞贼。在该示例中,可以在步骤220中选择扮演“找球手”的选手,使得相应地配置虚拟照相机控件,以允许用户在步骤250中适当地对任何附加对象进行取景。用户可以通过配置控件以允许左右上下转动来对任何附加对象进行取景,仿佛用户正骑在扫帚柄的背上一样。为了维持用户与找球手一起行进的幻觉,配置控件以使得将使虚拟照相机从扫帚柄离开的左右运动将是不可取的。
配置虚拟照相机控件的配置步骤240可以以各种方式工作。配置步骤可能会影响步骤250内的对用户手势或装置移动的解释。装置801的运动和虚拟照相机的运动之间的对应关系可以根据用户先前选择了路径还是轨道而改变。例如,路径可以配置控件,使得装置801的转动影响虚拟照相机的转动,但装置801的空间移动不会修改虚拟照相机的空间位置。作为另一示例,围绕比赛中的选手的轨道可能配置控件,使得装置801的转动使虚拟照相机围绕被环绕的选手旋转,而使装置801前后移动会改变轨道的半径。
可替代地或附加地,配置步骤240可用于向在步骤250期间用户经由控件可以应用的可表达输入范围施加限制。例如,如果在步骤220中给出多个用户定义的点以用于推断路径,则在步骤250期间,(例如,通过多次按下触摸控件)相同数量的点可以是离散地可选择的。可替代地,可以接受滑动手势以在点之间切换,从而允许调整各个点的取景。可以使用滑动手势的次数可能受到在步骤220期间输入的点数所限制。类似地,可以通过分析步骤220中的用户输入来确定虚拟照相机的运动范围,并且用户对虚拟照相机的控制可以受到步骤240的限制,使得缩放步骤250期间的装置运动的速率以匹配虚拟照相机的允许运动。
类似地,可以使用配置步骤240来修改控件的外观,使得控件的可见性、响应性或控制程度受到限制。例如,滑块可以变长或变短,使得滑块对应于允许的可用空间或时间范围。在一个布置中,可以从虚拟照相机的所有移动方向中选择允许的虚拟照相机移动方向,并且可以将供允许的移动方向用的虚拟照相机控件显示在装置801的显示器814上。
图7示出可用于实现所述的方法的软件架构700。输入传感器780将用户的输入供给至系统100。客户端软件710实现了数个软件模块。客户端软件710可被实现为驻留在ROM860和/或RAM 870中并且由处理器805控制其执行的软件应用程序833的一个或多个软件代码模块。在图7的软件架构700中,用户交互软件模块720包含数个软件模块。运动模块730负责对装置801和/或用户的运动进行建模,以向其它模块提供运动的知识。手势识别模块740可以使用来自输入传感器780和/或运动模块730的输入来识别用户的手势。虚拟照相机配置模块750负责管理虚拟照相机的参数的配置以及与虚拟照相机相关联的控件。导航约束模块760配置控件以实现约束,并且可选地约束虚拟照相机的参数以实现对虚拟照相机的操作的约束。虚拟照相机配置模块750的输出例如向绘制器模块770通知如何在显示器814上绘制控件、虚拟照相机结果和场景等。
所述的布置可应用于计算机和数据处理行业,并且特别可用于视频播送行业。所述的布置特别适合于诸如体育或安全等的直播应用、以及用于娱乐目的的家庭用户。
所述的布置提供了允许用户随着动作的进行而近实时地生成虚拟照相机的优势。用户可以在装置801的一个姿态上容易地配置虚拟照相机,并且控制虚拟照相机的各种参数(例如,地点、方向和移动)。此外,可以在不包括专业控制器的情况下实现所述的布置。相反,可以使用诸如平板电脑等的装置801来交互地配置虚拟照相机。
在一个示例应用中,制作者正在观看足球比赛的片段,并且可以在球被传递给特定球员时指示虚拟照相机跟随。然后,制作者可以配置虚拟照相机,以在遵守早期的约束或配置的同时,以自然的方式正确地对动作取景。
参考控制虚拟照相机说明了上述的方法。然而,所述的方法可用于控制可以采取虚拟照相机或物理照相机(例如,120A)的形式的任何远程装置。
前述仅说明本发明的一些实施例,并且可以在没有背离本发明的范围和精神的情况下对本发明进行修改和/或改变,其中这些实施例仅是示例性而非限制性的。

Claims (24)

1.一种用于控制虚拟照相机的方法,所述方法包括:
在装置处于第一姿态的情况下,将场景的视图显示在所述装置上;
基于在所述装置上检测到的用户输入,确定在所述装置处于所述第一姿态的状态下所述场景中的地点;
响应于检测到所述装置的姿态已从所述第一姿态改变为第二姿态,在所述装置上配置针对所述虚拟照相机的控件以控制所述虚拟照相机,对所述虚拟照相机的控件的配置基于所确定的地点;以及
接收针对所配置的控件的命令以控制所述虚拟照相机。
2.根据权利要求1所述的方法,其中,响应于检测到所述装置的姿态已从所述第一姿态改变为所述第二姿态,所述装置显示虚拟照相机取景器。
3.根据权利要求1所述的方法,还包括:
基于针对所确定的地点所定义的至少一个约束来选择允许的移动方向;以及
显示针对所述允许的移动方向的控件。
4.根据权利要求1所述的方法,其中,所述装置包括触摸屏,并且所检测到的用户输入基于施加至所述触摸屏的一个或多个手势。
5.根据权利要求1所述的方法,还包括:改变所述装置相对于重力的角度。
6.根据权利要求1所述的方法,其中,基于所检测到的用户输入来确定所述场景中的多个地点。
7.根据权利要求6所述的方法,其中,在正控制所述虚拟照相机时,使用所述地点来约束所述虚拟照相机的运动。
8.根据权利要求6所述的方法,其中,所述地点定义对所述虚拟照相机能够位于的位置进行约束的区域。
9.根据权利要求6所述的方法,其中,所述地点定义所述虚拟照相机能够移动所沿着的路径,所述路径定义多个点以及所述点之间的转变。
10.根据权利要求9所述的方法,其中,所述路径是直线、曲线、轨道至少之一。
11.根据权利要求6所述的方法,还包括:
使用所述场景中的所述地点来确定路径,使得所述路径通过观看所述场景的物理照相机的地点;以及
使所述虚拟照相机沿着所确定的路径移动。
12.根据权利要求6所述的方法,其中,所述多个地点中的各地点与相应的观看时间相关联,所述观看时间控制点之间的转变的速度。
13.根据权利要求1所述的方法,其中,所述地点对应于所述场景中的对象的地点,并且所述虚拟照相机被配置为在所述对象在所述场景中移动时,维持相对于所述对象的位置和向着所述对象的方向。
14.根据权利要求1所述的方法,其中,所述地点和所述虚拟照相机的位置这两者都包括空间分量和时间分量。
15.根据权利要求6所述的方法,还包括:在界面处检测确定所述场景中的第二地点的第二用户输入,从而显示第一地点和所述第二地点的指示;以及在所述虚拟照相机的时间分量超过所有第一地点的时间分量的情况下,根据所述第二地点来配置所述虚拟照相机的控件。
16.根据权利要求14所述的方法,还包括:使用所述空间分量和所述时间分量至少之一来对地点进行插值。
17.根据权利要求15所述的方法,还包括:基于相应的约束来确定所述第一地点和所述第二地点之间的转变。
18.根据权利要求1所述的方法,其中,响应于检测到所述装置的姿态已从所述第二姿态基本上变回为所述第一姿态,确定所述场景中的其它地点。
19.一种存储有计算机程序的非瞬时性计算机可读介质,所述计算机程序用于配置虚拟照相机,方法包括:
用于在装置处于第一姿态的情况下、将场景的视图显示在所述装置上的代码;
用于基于在所述装置上检测到的用户输入确定在所述装置处于所述第一姿态的状态下所述场景中的地点的代码;
用于响应于检测到所述装置的姿态已从所述第一姿态改变为第二姿态、在所述装置上配置针对所述虚拟照相机的控件以控制所述虚拟照相机的代码,对所述虚拟照相机的控件的配置基于所确定的地点;以及
用于接收针对所配置的控件的命令以控制所述虚拟照相机的代码。
20.一种系统,包括:
接口;
显示器;
存储器;以及
处理器,其中所述处理器被配置为执行所述存储器上所存储的代码,以实现用于配置虚拟照相机的方法,所述方法包括:
在装置处于第一姿态的情况下,将场景的视图显示在所述装置上;
基于在所述装置上检测到的用户输入,确定在所述装置处于所述第一姿态的状态下所述场景中的地点;
响应于检测到所述装置的姿态已从所述第一姿态改变为第二姿态,在所述装置上配置针对所述虚拟照相机的控件以控制所述虚拟照相机,对所述虚拟照相机的控件的配置基于所确定的地点;以及
接收针对所配置的控件的命令以控制所述虚拟照相机。
21.一种平板装置,其被适配为配置虚拟照相机,所述平板装置包括:
触摸屏;
存储器;
处理器,其被配置为执行所述存储器上所存储的代码,以进行以下操作:
在装置处于第一姿态的情况下,将场景的视图显示在所述装置上;
基于在所述装置上检测到的用户输入,确定在所述装置处于所述第一姿态的状态下所述场景中的地点;
响应于检测到所述装置的姿态已从所述第一姿态改变为第二姿态,在所述装置上配置针对所述虚拟照相机的控件以控制所述虚拟照相机,对所述虚拟照相机的控件的配置基于所确定的地点;以及
接收针对所配置的控件的命令以控制所述虚拟照相机。
22.一种用于控制远程装置的方法,所述方法包括:
在装置处于第一姿态的情况下,显示第一用户界面,所述第一用户界面包括场景的第一视图;
在所述装置上接收用户输入,所述用户输入定义在所述装置处于显示所述第一用户界面的所述第一姿态的情况下所述场景的所述第一视图中的地点,所定义的地点与用于使所述远程装置工作的预定约束相关联;以及
响应于检测到所述装置的姿态已从所述第一姿态改变为第二姿态,根据所述预定约束基于所定义的地点来配置所述远程装置的控件,以捕捉所述场景的第二视图。
23.根据权利要求22所述的方法,还包括:使用所述装置以基于所配置的控件来控制所述远程装置,其中响应于控制所述远程装置,所述装置显示捕捉所述场景的所述第二视图的第二用户界面。
24.一种用于控制装置的方法,所述方法包括:
在装置处于第一姿态的情况下,显示第一用户界面;
在所述装置处于显示所述第一用户界面的所述第一姿态的情况下,在所述装置上接收定义在所述装置处于第二姿态的情况下的进一步用户输入的解释的用户输入;以及
响应于检测到所述装置的姿态已从所述第一姿态改变为所述第二姿态,使用第二用户界面来控制所述装置,其中基于所定义的解释来解释与所述第二用户界面有关的至少一个用户输入。
CN201880048403.XA 2017-09-19 2018-09-18 控制虚拟照相机的系统和方法 Active CN110944727B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/709,327 US10569172B2 (en) 2017-09-19 2017-09-19 System and method of configuring a virtual camera
US15/709,327 2017-09-19
PCT/AU2018/000177 WO2019056041A1 (en) 2017-09-19 2018-09-18 SYSTEM AND METHOD FOR VIRTUAL CAMERA CONTROL

Publications (2)

Publication Number Publication Date
CN110944727A true CN110944727A (zh) 2020-03-31
CN110944727B CN110944727B (zh) 2023-11-07

Family

ID=65719789

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880048403.XA Active CN110944727B (zh) 2017-09-19 2018-09-18 控制虚拟照相机的系统和方法

Country Status (5)

Country Link
US (1) US10569172B2 (zh)
JP (1) JP7348895B2 (zh)
KR (1) KR102309079B1 (zh)
CN (1) CN110944727B (zh)
WO (1) WO2019056041A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112891943A (zh) * 2021-03-19 2021-06-04 腾讯科技(深圳)有限公司 一种镜头处理方法、设备以及可读存储介质
CN113304471A (zh) * 2020-08-26 2021-08-27 北京完美赤金科技有限公司 虚拟对象的展示方法、装置、设备
CN115209203A (zh) * 2021-04-12 2022-10-18 佳能株式会社 电子装置、电子装置的控制方法以及存储介质

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10600245B1 (en) * 2014-05-28 2020-03-24 Lucasfilm Entertainment Company Ltd. Navigating a virtual environment of a media content item
JP2019161462A (ja) * 2018-03-13 2019-09-19 キヤノン株式会社 制御装置、画像処理システム、制御方法、及びプログラム
US10496366B2 (en) * 2018-04-18 2019-12-03 Comcast Cable Communications, Llc Method to determine intended direction of a vocal command and target for vocal interaction
JP7233867B2 (ja) * 2018-07-20 2023-03-07 キヤノン株式会社 情報処理装置、情報処理方法及びプログラム
WO2020097750A1 (en) * 2018-11-12 2020-05-22 Intel Corporation Automated field of view estimation from game participant perspectives
WO2020132784A1 (en) * 2018-12-24 2020-07-02 Intel Corporation Methods and apparatus to detect collision of virtual camera with objects in three-dimensional volumetric model
CN109568956B (zh) * 2019-01-10 2020-03-10 网易(杭州)网络有限公司 游戏中的显示控制方法、装置、存储介质、处理器及终端
US10776993B1 (en) * 2019-02-27 2020-09-15 Snap Inc. Continuous device pose representation in AR/VR displays
US10674084B1 (en) * 2019-03-26 2020-06-02 Lenovo (Singapore) Pte Ltd Selecting cameras with different orientations
JP7335335B2 (ja) * 2019-06-28 2023-08-29 富士フイルム株式会社 情報処理装置、情報処理方法、及びプログラム
US11420122B2 (en) * 2019-12-23 2022-08-23 Activision Publishing, Inc. Systems and methods for controlling camera perspectives, movements, and displays of video game gameplay
JPWO2021131991A1 (zh) * 2019-12-23 2021-07-01
JP7458889B2 (ja) * 2020-05-08 2024-04-01 キヤノン株式会社 画像表示装置、制御方法、およびプログラム
US11776205B2 (en) * 2020-06-09 2023-10-03 Ptc Inc. Determination of interactions with predefined volumes of space based on automated analysis of volumetric video
TWI808336B (zh) * 2020-07-30 2023-07-11 杰悉科技股份有限公司 影像顯示方法與影像監控系統
US11439904B2 (en) 2020-11-11 2022-09-13 Activision Publishing, Inc. Systems and methods for imparting dynamic and realistic movement to player-controlled avatars in video games
US11847746B2 (en) 2020-12-03 2023-12-19 Electronics And Telecommunications Research Institute Server and method for generating best view spots
CN112843692B (zh) * 2020-12-31 2023-04-18 上海米哈游天命科技有限公司 拍摄图像的方法、装置、电子设备及存储介质
JP7289152B2 (ja) * 2021-03-17 2023-06-09 株式会社RedDotDroneJapan 飛行制御システム
US20220398002A1 (en) * 2021-06-11 2022-12-15 Microsoft Technology Licensing, Llc Editing techniques for interactive videos
US11943565B2 (en) * 2021-07-12 2024-03-26 Milestone Systems A/S Computer implemented method and apparatus for operating a video management system
US20230018560A1 (en) * 2021-07-19 2023-01-19 Lifecast Incorporated Virtual Reality Systems and Methods
JP7406528B2 (ja) * 2021-07-28 2023-12-27 キヤノン株式会社 画像処理装置、画像処理方法、及びプログラム

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100045666A1 (en) * 2008-08-22 2010-02-25 Google Inc. Anchored Navigation In A Three Dimensional Environment On A Mobile Device
US20150363965A1 (en) * 2014-06-17 2015-12-17 Chief Architect Inc. Virtual Model Navigation Methods and Apparatus
US20150363967A1 (en) * 2014-06-17 2015-12-17 Chief Architect Inc. Virtual Model Navigation Methods and Apparatus
CN106507094A (zh) * 2016-10-31 2017-03-15 北京疯景科技有限公司 校正全景视频显示视角的方法及装置
CN107533230A (zh) * 2015-03-06 2018-01-02 索尼互动娱乐股份有限公司 头戴式显示器用追踪系统

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7903084B2 (en) 2004-03-23 2011-03-08 Fujitsu Limited Selective engagement of motion input modes
US20100053151A1 (en) 2008-09-02 2010-03-04 Samsung Electronics Co., Ltd In-line mediation for manipulating three-dimensional content on a display device
US8294766B2 (en) 2009-01-28 2012-10-23 Apple Inc. Generating a three-dimensional model using a portable electronic device recording
US8212788B2 (en) 2009-05-07 2012-07-03 Microsoft Corporation Touch input to modulate changeable parameter
WO2012048252A1 (en) 2010-10-07 2012-04-12 Aria Glassworks, Inc. System and method for transitioning between interface modes in virtual and augmented reality applications
US9159153B2 (en) 2012-06-05 2015-10-13 Apple Inc. Method, system and apparatus for providing visual feedback of a map view change
US20140002580A1 (en) 2012-06-29 2014-01-02 Monkeymedia, Inc. Portable proprioceptive peripatetic polylinear video player
JP5878438B2 (ja) * 2012-08-13 2016-03-08 株式会社コナミデジタルエンタテインメント 表示制御装置、表示制御システム、及びプログラム
EP2911393B1 (en) 2012-10-16 2018-06-06 Jae Woong Jeon Method and system for controlling virtual camera in virtual 3d space and computer-readable recording medium
JP5942844B2 (ja) * 2012-12-25 2016-06-29 カシオ計算機株式会社 表示制御装置、表示制御システム、表示制御方法及びプログラム
GB2512628A (en) 2013-04-04 2014-10-08 Sony Corp Method and apparatus
US9589354B2 (en) * 2014-06-17 2017-03-07 Chief Architect Inc. Virtual model viewing methods and apparatus
JP6778912B2 (ja) * 2016-02-03 2020-11-04 パナソニックIpマネジメント株式会社 映像表示方法及び映像表示装置
JP6074525B1 (ja) 2016-02-12 2017-02-01 株式会社コロプラ 仮想空間における視界領域調整方法、およびプログラム
JP6539253B2 (ja) * 2016-12-06 2019-07-03 キヤノン株式会社 情報処理装置、その制御方法、およびプログラム
JP6878014B2 (ja) * 2017-01-13 2021-05-26 キヤノン株式会社 画像処理装置及びその方法、プログラム、画像処理システム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100045666A1 (en) * 2008-08-22 2010-02-25 Google Inc. Anchored Navigation In A Three Dimensional Environment On A Mobile Device
US20150363965A1 (en) * 2014-06-17 2015-12-17 Chief Architect Inc. Virtual Model Navigation Methods and Apparatus
US20150363967A1 (en) * 2014-06-17 2015-12-17 Chief Architect Inc. Virtual Model Navigation Methods and Apparatus
CN107533230A (zh) * 2015-03-06 2018-01-02 索尼互动娱乐股份有限公司 头戴式显示器用追踪系统
CN106507094A (zh) * 2016-10-31 2017-03-15 北京疯景科技有限公司 校正全景视频显示视角的方法及装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113304471A (zh) * 2020-08-26 2021-08-27 北京完美赤金科技有限公司 虚拟对象的展示方法、装置、设备
CN112891943A (zh) * 2021-03-19 2021-06-04 腾讯科技(深圳)有限公司 一种镜头处理方法、设备以及可读存储介质
CN112891943B (zh) * 2021-03-19 2022-08-02 腾讯科技(深圳)有限公司 一种镜头处理方法、设备以及可读存储介质
CN115209203A (zh) * 2021-04-12 2022-10-18 佳能株式会社 电子装置、电子装置的控制方法以及存储介质

Also Published As

Publication number Publication date
JP2020534592A (ja) 2020-11-26
JP7348895B2 (ja) 2023-09-21
US20190083885A1 (en) 2019-03-21
CN110944727B (zh) 2023-11-07
KR102309079B1 (ko) 2021-10-08
WO2019056041A1 (en) 2019-03-28
KR20200023634A (ko) 2020-03-05
US10569172B2 (en) 2020-02-25

Similar Documents

Publication Publication Date Title
CN110944727B (zh) 控制虚拟照相机的系统和方法
JP6770061B2 (ja) いつでもどこからでもビデオコンテンツを再生するための方法および装置
US10671239B2 (en) Three dimensional digital content editing in virtual reality
US11798594B2 (en) Systems and methods for generating time lapse videos
US9928665B2 (en) Method and system for editing scene in three-dimensional space
US11128984B1 (en) Content presentation and layering across multiple devices
US11533438B2 (en) Method to configure a virtual camera path
US20240078703A1 (en) Personalized scene image processing method, apparatus and storage medium
CN108377361B (zh) 一种监控视频的显示控制方法及装置
CN109189302B (zh) Ar虚拟模型的控制方法及装置
US11024090B2 (en) Virtual frame for guided image composition
US20200106967A1 (en) System and method of configuring a virtual camera
JP7458889B2 (ja) 画像表示装置、制御方法、およびプログラム
JP6628343B2 (ja) 装置および関連する方法
KR20190067893A (ko) 가상 뷰에서 객체를 렌더링하기 위한 방법 및 시스템
US11423549B2 (en) Interactive body-driven graphics for live video performance
US20160344946A1 (en) Screen System
US20210256751A1 (en) Generating animations in an augmented reality environment
KR20180045668A (ko) 터치 유저 인터페이스를 이용한 카메라의 이동경로와 이동시간의 동기화를 위한 사용자 단말장치 및 컴퓨터 구현 방법
JP6224465B2 (ja) 映像配信システム、映像配信方法及び映像配信プログラム
KR101743888B1 (ko) 터치 유저 인터페이스를 이용한 카메라의 이동경로와 이동시간의 동기화를 위한 사용자 단말장치 및 컴퓨터 구현 방법
JP7241628B2 (ja) 動画合成装置、動画合成方法、および動画合成プログラム
KR20240038728A (ko) 정보 처리 장치, 정보 처리 방법 및 컴퓨터 프로그램
CN116570917A (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