IP Library › Granted Patent US 10,902,676
Granted Patent B2
US 10,902,676 · App. 15/919,720 · Granted Jan 26, 2021

System and method of controlling a virtual camera

Inventor: Berty Jacques Alain Bhuruth (Bankstown, AU)
Assignee: Canon Kabushiki Kaisha
G06T19/003G06F3/04847A63F13/525A63F2300/6661G06T15/20G06T2200/24
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,902,676
App. No.
15/919,720
Granted
Jan 26, 2021
Kind
B2
Abstract

A system and method of controlling a virtual camera. The method comprises receiving a camera path of the virtual camera, the camera path defining movement of the virtual camera over a period of time to capture video data of a scene; and determining a plurality of control points on the camera path using a plurality of time markers within the period of time, each of the time markers corresponding to at least one event of a predetermined type being identified in the scene, wherein the control points at least partially define the camera path. The method further comprises controlling the virtual camera using the camera path modified based on the plurality of control points in response to a user input in relation to at least one of the control points.

Claims (46)

1. A method of controlling a virtual viewpoint, the method comprising:

receiving information for specifying a viewpoint path of a virtual viewpoint corresponding to a virtual viewpoint video to be generated based on video data of a scene captured by a plurality of imaging apparatus, the viewpoint path defining movement of the virtual viewpoint over a period of time when the plurality of imaging apparatus capture the video data of the scene;

detecting one or more events that have occurred in the scene in the period of time;

determining a plurality of control points on the viewpoint path based on a plurality of specified time points within the period of time, each of the specified time points corresponding to at least one event of a predetermined type detected in the scene, wherein the plurality of control points at least partially define the viewpoint path;

receiving an input for modifying at least one of the plurality of determined control points; and

controlling the virtual viewpoint according to a viewpoint path defined based on the plurality of control points, at least one of which is modified according to the received input.

2. The method according to claim 1 , wherein the virtual viewpoint is controlled by enabling modification of properties of the viewpoint path in response to user input in relation to at least one of the plurality of control points, wherein modification of the viewpoint path is disabled for user inputs in relation to the viewpoint path outside of a vicinity of the plurality of control points.

3. The method according to claim 1 , wherein the viewpoint path is recreated by interpolating a path between the plurality of control points using position in space of the virtual viewpoint at the determined plurality of control points.

4. The method according to claim 1 , wherein modification of the viewpoint path is enabled in a vicinity of each of the determined plurality of control points and disabled for other portions of the viewpoint path.

5. The method according to claim 1 , wherein modification of the viewpoint path in the vicinity of one of the plurality of control points is enabled, and in response to the modification, the viewpoint path is modified based on further control points of the plurality of control points.

6. The method according to claim 1 , further comprising recreating the viewpoint path using the plurality of control points such that a geometry of the recreated viewpoint path substantially matches a geometry of the received viewpoint path.

7. The method according to claim 1 , wherein each of the specified time points is associated with an importance score of a corresponding predetermined event, and wherein the plurality of control points is determined based on the associated importance scores.

8. The method according to claim 1 , wherein the plurality of control points is further identified based on a quality of a viewpoint path recreated by the determined plurality of control points.

9. The method according to claim 8 , wherein the quality of the recreated viewpoint path is determined by comparing the received viewpoint path to the viewpoint path recreated using the determined plurality of control points.

10. The method according to claim 1 , further comprising reproducing at a graphical user interface a timeline of the plurality of control points with each control point being accompanied by a type of a corresponding event, the input being received in relation to the timeline.

11. The method according to claim 1 , wherein the information comprises data of speed and acceleration of the virtual viewpoint on the viewpoint path, the speed and acceleration of the view point being measured and collected at regular intervals along the viewpoint path.

12. The method according to claim 11 , wherein the viewpoint path is recreated based on the speed and acceleration of the virtual viewpoint.

13. The method according to claim 1 , wherein the viewpoint path is recreated by interpolating data of speed and acceleration of the virtual viewpoint between the determined plurality of control points.

14. The method according to claim 1 , wherein the plurality of control points are determined based on a hierarchy of events of predetermined type detected in the video data.

15. The method according to claim 1 , wherein

the receiving of the input includes receiving a user input to a graphical user interface reproducing a timeline of the control points, the user input being in relation to at least one of the plurality of control points.

16. The method according to claim 15 , wherein the timeline includes at least one annotation identifying an event associated with each of the plurality control points.

17. A non-transitory computer readable storage medium storing program instructions for controlling a virtual viewpoint, the program comprising:

code for receiving information for specifying a viewpoint path of a virtual viewpoint corresponding to a virtual viewpoint video to be generated based on video data of a scene captured by a plurality of imaging apparatuses, the view point path defining movement of the virtual viewpoint over a period of time when the plurality of imaging apparatuses capture the video data of the scene;

code for detecting one or more events that have occurred in the scene in the period of time;

code for determining a plurality of control points on the viewpoint path based on a plurality of specified time points within the period of time, each of the specified time points corresponding to at least one event of a predetermined type detected in the scene, wherein the plurality of control points at least partially define the viewpoint path;

code for receiving an input for modifying at least one of the plurality of determined control points; and

code for controlling the virtual viewpoint according to a viewpoint path defined based on the plurality of control points, at least one of which is modified according to the received input.

18. An apparatus, comprising:

one or more processors; and

one or more memories storing instructions for directing the one or more processors to perform a method of controlling a virtual viewpoint, the method comprising:

receiving information for specifying a viewpoint path of a virtual viewpoint corresponding to a virtual viewpoint video to be generated based on video data of a scene captured by a plurality of imaging apparatuses, the viewpoint path defining movement of the virtual viewpoint over a period of time when the plurality of imaging apparatuses capture the video data of the scene;

detecting one or more events that have occurred in the scene in the period of time;

determining a plurality of control points on the viewpoint path based on a plurality of specified time points within the period of time, each of the specified time points corresponding to at least one event of a predetermined type detected in the scene, wherein the plurality of control points at least partially define the viewpoint path;

receiving an input for modifying at least one of the plurality of determined control points; and

controlling the virtual viewpoint according to a viewpoint path defined based on the plurality of control points, at least one of which is modified

according to the received input.

19. A system comprising:

one or more processors; and

one or more memories storing instructions for directing the one or more processors to perform a method of controlling a virtual viewpoint, the method comprising:

receiving information for specifying a viewpoint path of a virtual viewpoint corresponding to a virtual viewpoint video to be generated based on video data of a scene captured by a plurality of imaging apparatuses, the viewpoint path defining movement of the virtual viewpoint over a period of time when the plurality of imaging apparatuses capture the video data of the scene;

detecting one or more events that have occurred in the scene in the period of time;

determining a plurality of control points on the viewpoint path based on a plurality of specified time points within the period of time, each of the specified time points corresponding to at least one event of a predetermined type detected in the scene, wherein the plurality of control points at least partially define the viewpoint path;

receiving an input for modifying at least one of the plurality of determined control points; and

controlling the virtual viewpoint according to a viewpoint path defined based on the plurality of control points, at least one of which is modified

according to the received input.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 26, 2018
From: BHURUTH, BERTY JACQUES ALAIN
To: CANON KABUSHIKI KAISHA
Reel/Frame 045720/0571 →
Continuity (1)
Related Publication 20190287302A1 · Sep 19, 2019
Cited By (1)
US 12,293,470