IP Library Granted Patent US 9,645,813
Granted Patent B2
US 9,645,813 · App. 15/193,193 · Granted May 9, 2017

Method of consolidating, synchronizing, and streaming production content for distributed editing of media compositions

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 9,645,813
App. No.
15/193,193
Granted
May 9, 2017
Kind
B2
Abstract

A synchronized media project, synchronization SDK, and synchronization service enable multiple users to produce a media composition collaboratively. A media project includes composition assets that reference media assets. A synchronization SDK enables multiple applications to edit the media project independent of an internal organization of the project. A project synchronization service synchronizes copies of media projects located on clients with a server-based versioned master project. User-selectable project synchronization modes determine whether media project assets are stored on clients, on the server, or on both, and when media assets are transferred. Synchronized media projects include composition assets in proprietary formats and in interoperable formats. Interoperable composition assets are rendered from proprietary composition assets on a track-by-track basis.

Claims (49)

1. A method of storing a synchronized media project, the method comprising:

on a client, storing metadata for the synchronized media project, the metadata comprising:

a compositional reference map, wherein the compositional reference map refers to:

a set of asset records, each asset record referring to a location and a synchronization state for a corresponding asset; and

a synchronization mode, wherein the synchronization mode specifies whether:

composition assets of the synchronized media project are to be stored on the client and not on a server, or stored on the server and not on the client, or stored on both the client and on the server; and

media assets of the synchronized media project are to be stored on the client and not on the server, or stored on the server and not on the client, or stored on both the client and on the server;

on the client, providing a project synchronization service, the project synchronization service issuing data and notifications to a server and receiving data and notifications from the server for maintaining synchrony between assets of the synchronized media project stored on the client and assets of the synchronized media project stored on the server; and

enabling a user of an application hosted by the client to select the synchronization mode for the synchronized media project, the synchronization mode specifying whether:

the project synchronization service maintains synchrony between client and server copies of one or more composition assets of the synchronized media project, wherein each of the composition assets comprises at least one of parameters and data that point directly or indirectly to media assets that form part of the synchronized media project; and

the project synchronization service maintains synchrony between client and server copies of media assets of the synchronized media project, wherein each of the media assets comprises data for at least one of video, audio, graphics, and special effects.

2. The method of claim 1 , wherein the application is able to read from the synchronized media project and write to the synchronized media project in a manner that is independent of a storage location of the assets of the synchronized media project.

3. The method of claim 1 , wherein the application is able to read from the synchronized media project and write to the synchronized media project in a manner that is independent of whether any given asset is stored on the client or stored on the server.

4. The method of claim 1 , wherein the assets of the synchronized media project include a composition asset in a format that is proprietary to the application.

5. The method of claim 4 , wherein the composition asset in a format proprietary to the application includes structural metadata that is opaque to applications other than the first-mentioned application.

6. The method of claim 1 , wherein the assets of the synchronized media project include an interoperable composition asset.

7. The method of claim 1 , wherein the interoperable composition asset references a playlist.

8. The method of claim 7 , wherein the playlist includes a plurality of tracks, each track of the plurality of tracks including at least one of video, audio, and non-media data.

9. The method of claim 8 , wherein at least one of the plurality of tracks references a set of clips, each clip of the set of clips in turn referencing a corresponding media asset.

10. The method of claim 1 , wherein the assets of the synchronized media project include at least one proprietary format composition asset and at least one interoperable composition asset.

11. The method of claim 1 , wherein the synchronization mode is changed automatically when at least one of:

the client is connected to a network after being disconnected from the network; and

the client is disconnected from a network after being connected to the network.

12. The method of claim 1 , wherein the project synchronization service maintaining synchrony between client and server copies of one or more media assets of the synchronized media project includes streaming a media asset to the client when the media asset is required by the application but is not present on the client.

13. A client system comprising:

a memory for storing computer-readable instructions; and

a processor connected to the memory, wherein the processor, when executing the computer-readable instructions, causes the client system to perform a method for storing a synchronized media project, the method comprising:

on the client, storing metadata for the synchronized media project, the metadata comprising:

a compositional reference map, wherein the compositional reference map refers to:

a set of asset records, each asset record referring to a location and a synchronization state for a corresponding asset; and

a synchronization mode, wherein the synchronization mode specifies whether:

 composition assets of the synchronized media project are to be stored on the client and not on a server, or stored on the server and not on the client, or stored on both the client and on the server; and

 media assets of the synchronized media project are to be stored on the client and not on the server, or stored on the server and not on the client, or stored on both the client and on the server;

on the client, providing a project synchronization service, the project synchronization service issuing data and notifications to a server and receiving data and notifications from the server for maintaining synchrony between assets of the synchronized media project stored on the client and assets of the synchronized media project stored on the server; and

enabling a user of an application hosted by the client to select the synchronization mode for the synchronized media project, the synchronization mode specifying whether:

the project synchronization service maintains synchrony between client and server copies of one or more composition assets of the synchronized media project, wherein each of the composition assets comprises at least one of parameters and data that point directly or indirectly to media assets that form part of the synchronized media project; and

the project synchronization service maintains synchrony between client and server copies of media assets of the synchronized media project, wherein each of the media assets comprises data for at least one of video, audio, graphics, and special effects.

14. A computer program product comprising:

a non-transitory computer-readable storage medium with computer program instructions stored thereon, wherein the computer program instructions, when processed by a client, instruct the client to perform a method of storing a synchronized media project, the method comprising:

on the client, storing metadata for the synchronized media project, the metadata comprising:

a compositional reference map, wherein the compositional reference map refers to:

a set of asset records, each asset record referring to a location and a synchronization state for a corresponding asset; and

a synchronization mode, wherein the synchronization mode specifies whether:

composition assets of the synchronized media project are to be stored on the client and not on a server, or stored on the server and not on the client, or stored on both the client and on the server; and

media assets of the synchronized media project are to be stored on the client and not on the server, or stored on the server and not on the client, or stored on both the client and on the server;

on the client, providing a project synchronization service, the project synchronization service issuing data and notifications to a server and receiving data and notifications from the server for maintaining synchrony between assets of the synchronized media project stored on the client and assets of the synchronized media project stored on the server; and

enabling a user of an application hosted by the client to select the synchronization mode for the synchronized media project, the project synchronization mode specifying whether:

the project synchronization service maintains synchrony between client and server copies of one or more composition assets of the synchronized media project, wherein each of the composition assets comprises at least one of parameters and data that point directly or indirectly to media assets that form part of the synchronized media project; and

the project synchronization service maintains synchrony between client and server copies of media assets of the synchronized media project, wherein each of the media assets comprises data for at least one of video, audio, graphics, and special effects.

Assignments (3)
RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 054900/0716) Recorded Nov 8, 2023
From: JPMORGAN CHASE BANK, N.A.
To: AVID TECHNOLOGY, INC.
Reel/Frame 065523/0146 →
PATENT SECURITY AGREEMENT Recorded Nov 8, 2023
From: AVID TECHNOLOGY, INC.
To: SIXTH STREET LENDING PARTNERS, AS ADMINISTRATIVE AGENT
Reel/Frame 065523/0194 →
SECURITY INTEREST Recorded Jan 5, 2021
From: AVID TECHNOLOGY, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 054900/0716 →