IP Library Granted Patent US 10,388,324
Granted Patent B2
US 10,388,324 · App. 15/169,337 · Granted Aug 20, 2019

Synchronizing edits to low- and high-resolution versions of digital videos

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,388,324
App. No.
15/169,337
Granted
Aug 20, 2019
Kind
B2
Abstract

One or more embodiments of a video editing system enable one or more users to conveniently edit a digital video. In particular, an online content management system can provide a low resolution version of a digital video to a client device. A user can interact with the low resolution digital video and generate user edits to apply to the digital video. The online content management system can further apply any number of users edits to low and high resolution versions of the digital video at a server device. The video editing system enables users to more conveniently apply iterative edits to digital videos. Additionally, the video editing system enables multiple users to cooperatively edit a digital video from multiple client devices.

Claims (89)

1. A method for applying modifications to a digital video file, comprising:

maintaining, at an online content management system, a high resolution version of a digital video and a low resolution version of the digital video;

providing, to a first client device, the low resolution version of the digital video;

receiving, from the first client device, a first workflow comprising user edits to the low resolution version of the digital video generated at the first client device without rendering the user edits to the low resolution version of the digital video at the first client device;

generating a first revised low resolution version of the digital video by rendering, at the online content management system, the user edits to the low resolution version of the digital video;

providing, to a second client device, the first revised low resolution version of the digital video;

receiving, from the second client device, a second workflow comprising user edits to the first revised low resolution version of the digital video generated at the second client device without rendering the user edits to the first revised low resolution version of the digital video at the second client device;

generating a second revised low resolution version of the digital video by rendering, at the online content management system, the user edits from the second workflow to the first revised low resolution version of the digital video;

generating a revised high resolution version of the digital video by rendering, at the online content management system, the user edits from the first workflow and the user edits from the second workflow to the high resolution version of the digital video; and

synchronizing the revised high resolution version of the digital video to client devices associated with an account of the online content management system.

2. The method as recited by claim 1 , wherein:

receiving the first workflow comprising the user edits to the low resolution version of the digital video comprises receiving user edits to an audio layer of the low resolution version of the digital video without receiving user edits to a video layer of the low resolution version of the digital video; and

generating the first revised low resolution version of the digital video comprises rendering, at the online content management system, the user edits to the audio layer of the low resolution version of the digital video without rendering the user edits to the video layer of the low resolution version of the digital video.

3. The method as recited by claim 1 , wherein:

receiving the first workflow comprising the user edits to the low resolution version of the digital video comprises receiving user edits to a video layer of the low resolution version of the digital video without receiving user edits to an audio layer of the low resolution version of the digital video; and

generating the first revised low resolution version of the digital video comprises rendering, at the online content management system, the user edits to the video layer of the low resolution version of the digital video without rendering the user edits to the audio layer of the low resolution version of the digital video.

4. The method as recited by claim 1 , wherein:

receiving the first workflow comprising the user edits to the low resolution version of the digital video comprises receiving user edits reordering segments of the low resolution version of the digital video; and

generating the first revised low resolution version of the digital video comprises rendering, at the online content management system, the first revised low resolution version of the digital video comprising reordered segments.

5. The method as recited by claim 1 , wherein providing, to the first client device, the low resolution version of the digital video comprises:

selecting a first resolution for the low resolution version of the digital video based on one or more capabilities of the first client device; and

generating the low resolution version of the digital video at the first resolution.

6. The method as recited by claim 5 , further comprising:

detecting a bandwidth available to the first client device; and

selecting the first resolution further based on the bandwidth.

7. The method as recited by claim 5 , wherein providing, to the second client device, the first revised low resolution version of the digital video comprises:

selecting a second resolution for the first revised low resolution version of the digital video based on one or more capabilities of the second client device, the first resolution being lower than the second resolution; and

generating the first revised low resolution version of the digital video at the second resolution.

8. The method as recited by claim 1 , further comprising:

receiving, from the first client device, a first low resolution render command; and

wherein generating the first revised low resolution version of the digital video is performed in response to receiving the first low resolution render command.

9. The method as recited by claim 8 , further comprising:

receiving, from the second client device, a second low resolution render command; and

wherein generating the second revised low resolution version of the digital video is performed in response to receiving the second low resolution render command.

10. The method as recited by claim 1 , further comprising:

receiving, from the second client device, a high resolution render command; and

wherein generating the revised high resolution version of the digital video is performed in response to receiving the high resolution render command.

11. The method as recited in claim 1 , further comprising:

providing, to the first client device, the second revised low resolution version of the digital video;

receiving, from the first client device, a high resolution render command comprising instructions to reflect user edits applied to the second revised low resolution version of the digital video; and

wherein generating the high resolution version of the digital video is performed in response to receiving the high resolution render command from the first client device.

12. The method as recited in claim 1 , further comprising:

providing, to the second client device, the second revised low resolution version of the digital video;

receiving, from the second client device, a high resolution render command comprising instructions to reflect user edits applied to the second revised low resolution version of the digital video; and

wherein generating the revised high resolution version of the digital video is performed in response to receiving the high resolution render command.

13. The method as recited in claim 1 , further comprising:

maintaining, at the online content management system, user permissions associated with applying user edits to the digital video;

receiving, from the first client device associated with a first user, a rendering command to apply the user edits to the low resolution version of the digital video;

determining that the first user is associated with a user permission limited to applying user edits to low resolution versions of the digital video; and

wherein generating the first revised low resolution version of the digital video is performed in response to receiving the rendering command from the first client device in accordance with the user permission associated with the first user.

14. The method as recited in claim 13 , further comprising:

receiving, from the second client device associated with a second user, a rendering command to apply the user edits to the first revised low resolution version of the digital video;

determining that the second user is associated with a user permission that permits the second user to apply user edits to both low resolution versions and high resolution versions of the digital video; and

wherein generating the revised high resolution version of the digital video is performed in response to receiving the rendering command from the second client device in accordance with the user permission associated with the second user.

15. The method as recited in claim 1 , further comprising:

determining that a threshold period of time has passed without receiving any additional user edits of the digital video; and

wherein generating the revised high resolution version of the digital video is performed in response to determining that the threshold period of time has passed without receiving any additional user edits of the digital video.

16. A non-transitory computer readable storage medium storing instructions thereon that, when executed by at least one processor, cause a computer system to:

maintain, at an online content management system, a high resolution version of a digital video and a low resolution version of the digital video;

provide, to a client device, access to the low resolution version of the digital video;

receive, from the client device, a first workflow comprising user edits to the low resolution version of the digital video generated at the client device without rendering the user edits to the low resolution version of the digital video at the client device;

receive, from the client device, a first low resolution render command;

in response to receiving the first low resolution render command, generate, at the online content management system, a revised low resolution version of the digital video by rendering, at the online content management system, the user edits to the low resolution version of the digital video;

synchronize the revised low resolution version of the digital video to an account of the online content management system associated with the client device;

receive, from the client device, a high resolution render command; and

in response to receiving the high resolution render command, generate a revised high resolution version of the digital video by rendering, at the online content management system, the user edits to the high resolution version of the digital video.

17. The non-transitory computer readable storage medium of claim 16 , further comprising instructions that, when executed by the at least one processor, cause the computer system to:

receive, from the client device, a request for a current version of the high resolution version of the digital video; and

provide, in response to receiving the request for the current version of the high resolution version of the digital video, the revised high resolution version of the digital video to the client device.

18. The non-transitory computer readable storage medium of claim 16 , further comprising instructions that, when executed by the at least one processor, cause the computer system to:

receive, from the client device, a second workflow comprising additional edits to the revised low resolution version of the digital video;

receive, from the client device, a second low resolution render command;

in response to receiving the second low resolution render command, generate, at the online content management system, the additional edits to the first revised low resolution version of the digital video; and

generate the revised high resolution version of the digital video by rendering the additional edits to the high resolution version of the digital video.

19. A system, comprising:

at least one server; and

a non-transitory computer readable storage medium storing instructions thereon that, when executed by the at least one server, cause the system to:

maintain, at an online content management system, a high resolution version of a digital video and a low resolution version of the digital video;

provide, to a first client device, the low resolution version of the digital video;

receive, from the first client device, a first workflow comprising user edits to the low resolution version of the digital video generated at the first client device without rendering the user edits to the low resolution version of the digital video at the first client device;

generate a first revised low resolution version of the digital video by rendering, at the online content management system, the user edits to the low resolution version of the digital video;

provide, to a second client device, the first revised low resolution version of the digital video;

receive, from the second client device, a second workflow comprising user edits to the first revised low resolution version of the digital video generated at the second client device without rendering the user edits to the first revised low resolution version of the digital video at the second client device;

generate a second revised low resolution version of the digital video by rendering, at the online content management system, the user edits from the second workflow to the first revised low resolution version of the digital video;

generate a revised high resolution version of the digital video by rendering, at the online content management system, the user edits from the first workflow and the user edits from the second workflow to the high resolution version of the digital video; and

synchronize the revised high resolution version of the digital video to client devices associated with an account of the online content management system.

20. The system of claim 19 , further comprising instructions therein that, when executed by the at least one server, cause the system to:

receive the first workflow comprising the user edits to the low resolution version of the digital video by receiving user edits to a video layer of the low resolution version of the digital video; and

generate the first revised low resolution version of the digital video by rendering, at the online content management system, the user edits to the video layer of the low resolution version of the digital video.

Assignments (6)
RELEASE OF SECURITY INTEREST Recorded Dec 13, 2024
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: DROPBOX, INC.
Reel/Frame 069635/0332 →
SECURITY INTEREST Recorded Dec 12, 2024
From: DROPBOX, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 069604/0611 →
RELEASE OF SECURITY INTEREST Recorded Dec 12, 2024
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: DROPBOX, INC.
Reel/Frame 069613/0744 →
PATENT SECURITY AGREEMENT Recorded Mar 10, 2021
From: DROPBOX, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 055670/0219 →
SECURITY INTEREST Recorded Apr 14, 2017
From: DROPBOX, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 042254/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 31, 2016
From: MANVILLE, THOMAS; KASUNDRA, DIGANT
To: DROPBOX, INC.
Reel/Frame 038753/0986 →