IP Library Patent Application 14675423
Patent Application
App. No. 14/675,423

DISTRIBUTED VIDEO PROCESSING IN A CLOUD ENVIRONMENT

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 None
App. No.
14/675,423
Filed
Mar 31, 2015
Art Unit
2449
USPC
709/219
Abstract

A cloud video system selectively uploads a high-resolution video and instructs one or more client devices to perform distributed processing on the high-resolution video. A client device registers high-resolution videos accessed by the client device from a camera communicatively coupled to the client device. A portion of interest within a low-resolution video transcoded from the high-resolution video is selected. A task list is generated specifying the selected portion of the high-resolution video and at least one task to perform on the portion of the high-resolution video. Commands are transmitted to prompt the client device to perform the at least one task on the specified portion of the high-resolution video according to the task list. The specified portion of the high-resolution video is modified according to the task list and uploaded to the cloud. Example tasks include transcoding, applying edits, extracting metadata, and generating highlight tags.

Claims (60)

1 . A method for processing a high-resolution video, the method comprising:

receiving, from a client device, registration of a high-resolution video accessed by the client device from a camera communicatively coupled to the client device;

generating a task list specifying a portion of the high-resolution video and at least one task to perform on the portion of the high-resolution video;

transmitting commands to prompt the client device to perform the at least one task on the specified portion of the high-resolution video according to the task list;

receiving the specified portion of the high-resolution video modified according to the task list; and

storing the modified portion of the high-resolution video.

2 . The method of claim 1 , wherein generating the task list comprises:

providing for display, through a video editing interface, a low-resolution video transcoded from the high-resolution video;

obtaining an edit decision list describing an edit made to the low-resolution video through the video editing interface;

identifying the portion of the high-resolution video comprising a video time corresponding to the edit, the edit time indicated by the edit decision list; and

generating the task list specifying the identified portion of the high-resolution video, the at least one task indicating to modify the identified portion of the high-resolution video according to the edit decision list.

3 . The method of claim 1 , wherein generating the task list comprises:

generating the task list specifying a transcoding task and specifying at least one of: a video format of a transcoded video transcoded from the high-resolution video, a video frame rate of the transcoded video, and a video frame resolution of the transcoded video.

4 . The method of claim 3 , wherein generating the task list comprises:

obtaining a device status report indicating available connectivity bandwidth for the client device to upload the portion of the high-resolution video; and

determining at least one of the video frame rate and the video frame resolution based on the available connectivity bandwidth.

5 . The method of claim 1 , wherein generating the task list comprises:

providing for display, through a video editing interface, a low-resolution video transcoded from the high-resolution video;

obtaining, through the video editing interface, a selection of a video time within the low-resolution video to generate a thumbnail image; and

generating the task list specifying a thumbnail image task, a video time from which to generate the thumbnail, and at least one of a format of the thumbnail image and a resolution of the thumbnail image.

6 . The method of claim 1 , wherein transmitting the commands to prompt the client device to perform the at least one task on the specified portion of the high-resolution video comprises:

transmitting commands to prompt the client device to generate condensed metadata from raw metadata captured concurrently with the high-resolution video, the condensed metadata comprising fewer samples of metadata than the raw metadata.

7 . The method of claim 1 , wherein transmitting the commands to prompt the client device to perform the at least one task on the specified portion of the high-resolution video comprises:

transmitting commands to prompt the client device to generate highlight tags corresponding to a portion of interest within the high-resolution video, the highlight tag generated according to a capture bit-rate of the high-resolution video equaling or exceeding a threshold capture bit-rate.

8 . The method of claim 1 , wherein transmitting the commands to prompt the client device to perform the at least one task on the specified portion of the high-resolution video comprises:

transmitting commands to prompt the client device to generate highlight tags corresponding to a portion of interest within the high-resolution video, the portion of interest identified from a threshold time interval around a video time in response to identifying a local extremum in at least one of: speed, acceleration, and rotation, the local extremem occurring at the video time.

9 . The method of claim 1 , wherein transmitting the commands to prompt the client device to perform the at least one task on the specified portion of the high-resolution video comprises:

transmitting commands to prompt the client device to generate highlight tags corresponding to a portion of interest within the high-resolution video, the portion of interest identified from a threshold time interval around a video time in response to determining that biometric data equals or exceeds a threshold value, the biometric data captured at the video time.

10 . The method of claim 1 , wherein transmitting the commands to prompt the client device to perform the at least one task on the specified portion of the high-resolution video comprises:

transmitting commands to prompt the client device to generate highlight tags corresponding to a portion of interest within the high-resolution video, the portion of interest identified in response to recognizing a particular phrase in audio captured during the portion of interest.

11 . The method of claim 1 , wherein the high-resolution video is accessible by a plurality of client devices, wherein transmitting the commands to prompt the client device to perform the at least one task on the specified portion of the high-resolution video comprises:

generating sub-tasks lists for each of the plurality of client devices, the transmitting commands to prompt the plurality of client devices to generate highlight tags corresponding to a portion of interest within the high-resolution video, the portion of interest identified in response to recognizing a particular phrase in audio captured during the portion of interest.

12 . A non-transitory computer-readable medium storing instructions that when executed cause a processor to:

receive, from a client device, registration of a high-resolution video accessed by the client device from a camera communicatively coupled to the client device;

generate a task list specifying a portion of the high-resolution video and at least one task to perform on the portion of the high-resolution video;

transmit commands to prompt the client device to perform the at least one task on the specified portion of the high-resolution video according to the task list;

receive the specified portion of the high-resolution video modified according to the task list; and

store the modified portion of the high-resolution video.

13 . The computer-readable medium of claim 12 , wherein the instructions to generate the task list further comprise instructions that when executed cause the processor to:

provide for display, through a video editing interface, a low-resolution video transcoded from the high-resolution video;

obtain an edit decision list describing an edit made to the low-resolution video through the video editing interface;

identify the portion of the high-resolution video comprising a video time corresponding to the edit, the edit time indicated by the edit decision list; and

generate the task list specifying the identified portion of the high-resolution video, the at least one task indicating to modify the identified portion of the high-resolution video according to the edit decision list.

14 . The computer-readable medium of claim 12 , wherein the instructions to generate the task list further comprise instructions that when executed cause the processor to:

generate the task list specifying a transcoding task and specifying at least one of: a video format of a transcoded video transcoded from the high-resolution video, a video frame rate of the transcoded video, and a video frame resolution of the transcoded video.

15 . The computer-readable medium of claim 14 , wherein the instructions to generate the task list further comprise instructions that when executed cause the processor to:

obtain a device status report indicating available connectivity bandwidth for the client device to upload the portion of the high-resolution video; and

determine at least one of the video frame rate and the video frame resolution based on the available connectivity bandwidth.

16 . The computer-readable medium of claim 12 , wherein the instructions to generate the task list further comprise instructions that when executed cause the processor to:

provide for display, through a video editing interface, a low-resolution video transcoded from the high-resolution video;

obtain, through the video editing interface, a selection of a video time within the low-resolution video to generate a thumbnail image; and

generate the task list specifying a thumbnail image task, a video time from which to generate the thumbnail, and at least one of a format of the thumbnail image and a resolution of the thumbnail image.

17 . The computer-readable medium of claim 12 , wherein the instructions to transmit commands to prompt the client device to perform the at least one task on the specified portion of the high-resolution video further comprise instructions that when executed cause the processor to:

transmit commands to prompt the client device to generate condensed metadata from raw metadata captured concurrently with the high-resolution video, the condensed metadata comprising fewer samples of metadata than the raw metadata.

18 . The computer-readable medium of claim 12 , wherein the instructions to transmit commands to prompt the client device to perform the at least one task on the specified portion of the high-resolution video further comprise instructions that when executed cause the processor to:

transmit commands to prompt the client device to generate highlight tags corresponding to a portion of interest within the high-resolution video, the highlight tag generated according to a capture bit-rate of the high-resolution video equaling or exceeding a threshold capture bit-rate.

19 . The computer-readable medium of claim 12 , wherein the instructions to transmit commands to prompt the client device to perform the at least one task on the specified portion of the high-resolution video further comprise instructions that when executed cause the processor to:

transmit commands to prompt the client device to generate highlight tags corresponding to a portion of interest within the high-resolution video, the portion of interest identified from a threshold time interval around a video time in response to identifying a local extremem in at least one of: speed, acceleration, and rotation, the local extremem occurring at the video time.

20 . The computer-readable medium of claim 12 , wherein the instructions to transmit commands to prompt the client device to perform the at least one task on the specified portion of the high-resolution video further comprise instructions that when executed cause the processor to:

transmit commands to prompt the client device to generate highlight tags corresponding to a portion of interest within the high-resolution video, the portion of interest identified from a threshold time interval around a video time in response to determining that biometric data equals or exceeds a threshold value, the biometric data captured at the video time.

Assignments (3)
RELEASE OF PATENT SECURITY INTEREST Recorded Jan 25, 2021
From: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
To: GOPRO, INC.
Reel/Frame 055106/0434 →
SECURITY AGREEMENT Recorded Mar 28, 2016
From: GOPRO, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 038184/0779 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 2, 2016
From: SIEVERT, OTTO K.; WOODMAN, NICHOLAS D.; YOUEL, JEFFREY S.; DUDAS, DAVID
To: GOPRO, INC.
Reel/Frame 037648/0762 →