Automatic selection of video from active cameras

10419715 ยท 2019-09-17

Assignee

Inventors

Cpc classification

International classification

Abstract

A method according to one embodiment includes: receiving, by a processing system, sensor data from a sensor device carried by a user or attached to the user's sports equipment during a sporting activity; identifying, by the processing system and based on the sensor data, an event engaged in by the user during a time period; determining, based on the sensor data, a position of the user during the event; identifying a camera that is operational and has the user in view during at least a portion of the time period; and selecting video footage of the event from the identified camera.

Claims

1. A computer-implemented method, comprising: receiving, by a processing system, sensor data from a sensor device coupled to a user during a sporting activity; identifying, by the processing system and based on the sensor data, an event engaged in by the user during a time period; identifying a camera that is operational and has the user in view during at least a portion of the time period; and selecting video footage of the event from the identified camera.

2. The method of claim 1, further comprising synchronizing video from the identified camera with the received sensor data using a common source.

3. The method of claim 1, wherein the common source comprises a wireless network time stamp.

4. The method of claim 1, wherein selecting video footage of the event further includes selecting at least one frame of the video footage and performing a digital zoom on the at least one frame to select a portion of the frame based on a predetermined criterion.

5. The method of claim 1, wherein identifying the camera includes: identifying a plurality of cameras that are operational during the time period; and identifying a subset of the operational cameras that have the user in view during the time period; and selecting a camera from the subset of operational cameras based on at least one criterion.

6. The method of claim 5, wherein the at least one criterion includes a focus level of each camera in the subset.

7. The method of claim 1, further comprising embedding performance data related to the event in the selected video footage.

8. The method of claim 1, further comprising tagging the selected video footage with one or more of: performance data related to the event, time information, location information, and information regarding the user.

9. The method of claim 1, wherein the sensor data includes inertial data.

10. The method of claim 1, wherein the sensor data includes at least one of: position data and time data.

11. The method of claim 1, wherein the identified event is selected from the group consisting of: a jump, a flip, a rotation, and a turn.

12. The method of claim 1, wherein the processing system is embedded in the sensor device.

13. The method of claim 1, wherein the processing system is a separate device from the sensor device.

14. The method of claim 1, wherein the processing system comprises a server.

15. The method of claim 1, wherein the sensor device is co-located with a camera that generates said video data.

16. The method according to claim 1, wherein the sensor device is separate and independent from the camera that generates the video footage.

17. A system, comprising: a processor; and memory coupled to the processor and storing instructions that, when executed by the processor, cause the system to: receive sensor data from a sensor device coupled to a user during a sporting activity; identify based on the sensor data, an event engaged in by the user during a time period; identify a camera that is operational and has the user in view during at least a portion of the time period; and select video footage of the event from the identified camera.

18. A computer program product comprising a non-transitory computer readable storage medium storing instructions that, when executed by a computing device, cause the computing device to: receive sensor data from a sensor device coupled to a user during a sporting activity; identify based on the sensor data, an event engaged in by the user during a time period; identify a camera that is operational and has the user in view during at least a portion of the time period; and select video footage of the event from the identified camera.

Description

BRIEF DESCRIPTION OF THE DRAWINGS

(1) The foregoing and other objects, features, and advantages of the invention will be apparent from the following more particular description of preferred embodiments as illustrated in the accompanying drawings, in which reference characters refer to the same parts throughout the various views. The drawings are not necessarily to scale, emphasis instead being placed upon illustrating principles of the invention.

(2) FIG. 1 shows a flowchart illustrating an embodiment of a method for automatic selection of a desired portion of video footage from an action video when sensors are collocated with the video camera.

(3) FIG. 2 shows a three-dimensional diagrammatic view illustrating a scenario in which a skier's trajectory crosses a field of view of Camera A but does not cross a field of view for Camera B.

(4) FIG. 3. shows a flowchart illustrating an embodiment of an appropriate algorithm which searches a database of active cameras.

(5) FIG. 4. shows a block diagram illustrating organization of the video and performance databases in accordance with an embodiment of the invention.

(6) FIG. 5 shows a flowchart illustrating a process for using performance meta data for search simplification.

DETAILED DESCRIPTION

(7) Reference will now be made in detail to the preferred embodiments of the present invention, examples of which are illustrated in the accompanying drawings.

(8) The present invention is described below with reference to block diagrams and operational illustrations of a system and method for automatic digital curation and tagging of action videos. It is understood that each block of the block diagrams or operational illustrations, and combinations of blocks in the block diagrams or operational illustrations, may be implemented by means of analog or digital hardware and computer program instructions. These computer program instructions may be stored on computer-readable media and provided to a processor of a general purpose computer, special purpose computer, ASIC, or other programmable data processing apparatus, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, implement the functions/acts specified in the block diagrams or operational block or blocks. In some alternate implementations, the functions/acts noted in the blocks may occur out of the order noted in the operational illustrations. For example, two blocks shown in succession may in fact be executed substantially concurrently or the blocks may sometimes be executed in the reverse order, depending upon the functionality/acts involved.

(9) In an embodiment, a user is equipped with a sensor-based device that records his/her motions. The sensor-based device may be, e.g., a portable device that includes GPS and inertial sensors. Also provided is a processing system, which may be embedded in the sensor-based device, may be a separate device, or may be server-based, that is capable of detecting such events as jumps, flips, rotations, high speed, fast turns, etc. As a result, a detailed record of the motions with detailed trajectory, speed, acceleration, jumps, tricks, etc. is created and stored in a performance database. Also provided is a video camera for which location, time, and, optionally, direction information are known for the time when video is taken. The camera may be collocated with the sensors, or may be an independent device.

(10) The following is a non-limiting example of the operation of the system and method in accordance with an embodiment of the invention. A video camera records a sports activity that occurs between time t=T.sub.start and t=T.sub.end. In this example, the same activity performance parameters have also been recorded using a set of sensors. A particular event of interest, e.g. a jump, is detected using sensory data at time t=t.sub.k, T.sub.start<t.sub.k<T.sub.end. Then, if sensory data and video are time-synchronized, the video footage of the event of interest can be cut out between time t.sub.kT and t.sub.k+T where T is a half period of the desired video footage. In an embodiment, if video is shorter than a desired time 2T, then the entire video is used. Time synchronization between video and sensor data can be conducted using GPS Time stamps, or wireless network time stamps, or any other method known to those who are proficient in the art

(11) FIG. 1 shows a flowchart illustrating an embodiment of a method for automatic selection of a desired portion of video footage from an action video when sensors are collocated with the video camera. Time and position coordination allows a system to automatically associate video footage and sport performance. If camera position, direction, and focus length are known, then a more sophisticated paring between video and sensory data can be made. The method begins with a step 101 wherein time is synchronized between video and sensor records. At step 103, an event of interest is selected based on sensor data. This event may be, e.g., a jump, a flip, a rotation, a high speed portion, a turn, a fast turn, or any other finite portion of a user's performance that may be of interest. At step 105, the processing device automatically determines where the event of interest occurs in the sensor data, with t=T.sub.sns. Various systems and methods for identifying an event of interest in sensor data are taught, for example, in U.S. patent application Ser. No. 13/612,470 entitled Method and Apparatus for Determining Sportsman Jumps Using Fuzzy Logic filed Sep. 12, 2012, the entire disclosure of which is incorporated herein by reference.

(12) With continued reference to FIG. 1, at step 107, the time determined in step 105 above is transferred into the time frame of video in the video database such that Tv=Sync(T.sub.sns). Then, at step 109, the video between TvT: Tv+T is selected. Performance data is then embedded (displayed, annotated) in the video data at step 111. The video data may be automatically tagged with performance data at step 113. The automated tagging may include user name, event time and location, and the key performance characteristics such as speed, slope value, jump time and/or height, flip angle, or trade name, etc. Alternatively, or in addition, the video may then be automatically edited step 111 is complete.

(13) It will be understood by those skilled in the art that a similar operation can be done by selecting an appropriate performance segment when a video is short and a performance record covers a much longer overlapping time period.

(14) FIG. 2. shows a three-dimensional diagrammatic view illustrating a scenario in which a skier's trajectory crosses the field of view of Camera A but does not cross the field of view for Camera B. If an event of interest occurs during the time that camera A is operational then the appropriate footage can be identified and selected. The trajectory of Event B does not cross any camera field of view, and cannot be synchronized. This implementation illustrates a possible case where multiple unattended cameras constantly record any activity in their field of view and then a video of interest is auto selected based on the performance, time, and location data that are collected separately.

(15) FIG. 3. shows a flowchart illustrating an embodiment of an appropriate algorithm which searches a database of active cameras. At step 301, an event of interest is identified using sensor data. As noted above, such event may be, a jump, a flip, a rotation, a high speed portion, a turn, a fast turn, or any other finite portion of a user's performance that may be of interest. Once the event is identified, at step 303 the processing system determines the geographic position and time duration of the event. At step 305, the processing system finds all cameras that are operational at time T.sub.k (determined in step 303 above). If there are no cameras operational, as determined at step 307, the process ends. Otherwise, the process proceeds to step 309, in which operational cameras or camera data are time synchronized with sensors or sensor data. Once the operational cameras or their data are time synchronized with sensors or sensor data, the process proceeds to select, at step 311, a subset of the cameras that has the position of the event (as determined above in step 303) in their field of view. If there are no such cameras, as determined at step 313, the process ends. Among the previously selected subset of cameras, a further subset of cameras is selected at step 315, this further subset being those cameras or camera data that meet other criteria. Examples of such other criteria include, e.g., the camera that has the best focus. From the further subset of cameras, the video footage recorded at time T.sub.kT: T.sub.k+T is selected at step 317. At step 319, the performance data for the event of interest, or for all of the performance, is embedded into the video data. Finally, the video data is tagged with performance data as well as with other informationtime, location, user, at step 321.

(16) FIG. 4. shows a block diagram illustrating an example of the organization of the video and performance databases in accordance with an embodiment of the invention. FIG. 5 shows a flowchart illustrating a process for using performance meta data for search simplification.

(17) Thus, an embodiment of the presently disclosed system and method allows editing, annotation, and searching of an individual video or a video library by performance characteristics. A subject selection can be further refined by selecting performance data from the users that belong to a particular subgroup, say friends. Suppose several users have performance data trajectory that corresponds to a particular video clip. However, only one user among them belongs to the friends subgroup of the person who made the video. Then the performance data of this friend can be automatically selected to be synchronized with the video. This resolves a common situation wherein a person records a video of his or her friends and other people activity are also recorded in the frame. The automatic selection in accordance with various embodiments of the invention can further improve the performance of the system and simplifies the process of video creation.

(18) The processing steps described herein may be performed on one or more computing devices. For example, the steps may be performed on any combination of (a) a portable data collection device carried by the user, (b) a portable video recording computing device carried by a spectator at a sporting event or by a user participating in the event, or (c) a remote server computing device. An example of portable data collection devices is a portable computing device or smartphone with an accelerometer and GPS capability therein. Examples of a portable video recording computing device include a video camera with processing capability, or a smart phone with video recording hardware and software. Each such computing device may comprise, e.g., a processor for carrying out instructions; computer readable media such as static memory and/or dynamic memory for storing computer program instructions; input means such as a touch screen, keyboard, voice input, mouse, or the like; a network interface for communicating over a wireless and/or wired network, and a user interface such as a display, speaker, and hard or soft buttons. The portable data collection device may further include an accelerometer, such as a three-axis accelerometer, and may also include a GPS receiver and the capability to determine its position using the same. The remote server computing device may be a device that is remote from the portable data collection device. For example, server or desktop computer may be provided and process raw or preprocessed accelerometer data from the portable data collection device. The transmission of data from a portable data collection device to the computing device or to the remote server computing device may be performed via a wireless and/or wired network interface associated with the portable data collection device and a wireless and/or wired network interface associated with the remote server or remote desktop computer.

(19) The above embodiments and preferences are illustrative of the present invention. It is neither necessary, nor intended for this patent to outline or define every possible combination or embodiment. The inventor has disclosed sufficient information to permit one skilled in the art to practice at least one embodiment of the invention. The above description and drawings are merely illustrative of the present invention and that changes in components, structure and procedure are possible without departing from the scope of the present invention as defined in the following claims. For example, elements and/or steps described above and/or in the following claims in a particular order may be practiced in a different order without departing from the invention. Thus, while the invention has been particularly shown and described with reference to embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention.