IP Library Granted Patent US 9,864,973
Granted Patent B2
US 9,864,973 · App. 13/841,799 · Granted Jan 9, 2018

Methods and systems for collaborative media creation

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,864,973
App. No.
13/841,799
Granted
Jan 9, 2018
Kind
B2
Abstract

A collaboration server hosts software for collaborative composition and editing of a media project with project collaborators using different media editing applications each having their own native data format. Project collaborators, such as video editors, sound editors, effects and graphics artists, and producers access a shared project workspace which contains a snapshot of the current state of the media project in a canonical format, as well as source media files, native application metadata, and change notes. Each editing application includes a module enabling it to read the canonical snapshot representation, and also to flatten its native data model representation into the canonical representation for writing to the shared project workspace. A collaboration server hosts the shared project space, and includes a workflow manager for issuing change notifications and handling versions, and an application server for the shared project user interface. Change notes are generated manually and also expressed automatically in terms of machine-readable change primitives that serve to direct an editor's attention to portions of the media project needing attention.

Claims (56)

1. A method of enabling collaborative editing of a media project, the method comprising:

providing storage for storing in a shared media project workspace:

a canonical representation of a current state a first element of the media project, wherein the canonical representation is based on a subset of media project data models of a plurality of different media processing applications, such that each of the plurality of different media processing applications is able to read the canonical representation of the current state of the media project and generate the canonical representation of the current state of the media project;

metadata native to each of the plurality of different media processing applications; and

data describing edits performed to the media project using one or more of the plurality of different media processing applications;

in response to a first user using a first media processing application of the plurality of different media processing applications to edit a first element of the media project:

generating metadata native to the first media processing application of the plurality of different media processing applications corresponding to a current state of the first element of the media project represented in a data model of the first media processing application;

generating data describing the edit to the first element of the media project performed by the first user using the first media processing applications;

generating an updated canonical representation of the current state of the media project; and

writing the updated canonical representation, the metadata native to the first media processing application, and the data describing the edit to the first element of the media project to the storage; and

in response to a second user using a second media processing application of the plurality of different media processing applications to edit a second element of the media project:

generating metadata native to the second media processing application corresponding to a current state of the second element of the media project represented in a data model of the second media processing application;

generating data describing the edit to the second element of the media project performed by the second user using the second media processing application;

generating a further updated canonical representation of the current state of the media project; and

writing the further update canonical representation, the metadata native to the second media processing application, and the data describing the edit to the second element of the media project to the storage.

2. The method of claim 1 , further comprising:

retrieving from the storage and playing back the canonical representation of the current state of the first element of the media project, wherein the retrieving and playing back is performed by one of the first media processing application and the second media processing application of the plurality of different media processing application.

3. The method of claim 2 , further comprising:

using the second media processing application to retrieve from the storage the data describing the edit to the first element of the media project; and

wherein the edit performed by the user of the second application on the second element of the media project is based at least in part on the data describing the edit to the first element of the media project.

4. The method of claim 2 , wherein the data describing the edit to the first element is expressed in terms of one or more machine-readable change primitives.

5. The method of claim 4 , wherein the machine-readable change primitives include one or more of the set consisting of a slip, a slide, a trim, a source swap-out, effect, and a time stretch.

6. The method of claim 4 , wherein a module of the second media processing application reads the one or more change primitives and provides information to the second application indicating a portion of the media project associated with the edit to the first element.

7. The method of claim 1 , further comprising enabling the user of the first media processing application to lock at least a portion of the first element of the media project, wherein a locked portion of the media project may be edited only by the user of the first media processing application.

8. The method of claim 7 , wherein the portion is layer of the media project.

9. The method of claim 7 , wherein the portion is span of the media project.

10. The method of claim 1 , further comprising issuing a notification of the edit to the first element of the media project to the plurality of different media processing applications.

11. A method for collaboratively editing a media project using a plurality of different media processing applications, the method comprising:

in response to a first user using a first media processing application of the plurality of different media processing applications to edit a first element of the media project, generating and storing in shared storage:

metadata native to the first media processing application of the plurality of different media processing applications corresponding to a current state of the first element of the media project represented in a data model of the first media processing application;

data describing the edit to the first element of the media project performed by the first user using the first media processing application; and

an updated canonical representation of the current state of the media project wherein the updated canonical representation is based on a subset of media project data models of the plurality of different media processing applications; and

in response to a second user using a second media processing application of the plurality of different media processing applications to edit a second element of the media project, generating and storing in the shared storage:

metadata native to the second media processing application corresponding to a current state of the second element of the media project represented in a data model of the second media processing application;

data describing the edit to the second element of the media project performed by the second user using the second media processing application; and

a further updated canonical representation of the current state of the media project, wherein the further updated canonical representation is based on an updated subset of media project data models of the plurality of different media processing applications; and

wherein each of the plurality of different media processing applications is able to read the updated and the further updated canonical representations of the current state of the media project.

12. The method of claim 11 , wherein the shared storage further includes media files containing source media upon which the media project is based.

13. The method of claim 11 , wherein the shared storage further includes data defining ownership of one or more portions of the media project by the one or more users of the plurality of different media processing applications.

14. The method of claim 11 , wherein the plurality of different media processing applications includes a non-linear video editing application, a digital audio workstation, and at least one of a set consisting of a graphics and effects editing application, review and approval tools, and a media asset manager.

15. A computer program product comprising:

a non transitory computer-readable storage medium with computer program instructions encoded thereon, wherein the computer program instructions, when processed by a computer, instruct the computer to perform a method for collaborative editing of a media project, the method comprising:

providing storage for storing in a shared media project workspace:

a canonical representation of a current state of the media project, wherein the canonical representation is based on a subset of media project data models of a plurality of different media processing applications, such that each of the plurality of different media processing applications is able to read the canonical representation of the current state of the media project and generate the canonical representation of the current state of the media project;

metadata native to each of the plurality of different media processing applications; and

data describing edits performed to the media project using one or more of the plurality of different media processing applications;

in response to a first user using a first media processing application of the plurality of different media processing applications to edit a first element of the media project:

generating metadata native to the first media processing application of the plurality of different media processing applications corresponding to a current state of the first element of the media project represented in a data model of the first media processing application;

generating data describing the edit to the first element of the media project performed by the first user using the first media processing application;

generating an updated canonical representation of the current state of the media project; and

writing the updated canonical representation, the metadata native to the first media processing application, and the data describing the edit to the first element of the media project to the storage; and

in response to a second user using a second media processing application of the plurality of different media processing applications to edit a second element of the media project:

generating metadata native to the second media processing application corresponding to a current state of the second element of the media project represented in a data model of the second media processing application;

generating data describing the edit to the second element of the media project performed by the second user using the second media processing application;

generating a further updated canonical representation of the current state of the media project; and

writing the further updated canonical representation, the metadata native to the second media processing application, and the data describing the edit to the second element of the media project to the storage.

Assignments (8)
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 →
RELEASE OF SECURITY INTEREST Recorded Jan 5, 2021
From: CERBERUS BUSINESS FINANCE, LLC
To: AVID TECHNOLOGY, INC.
Reel/Frame 055731/0019 →
RELEASE OF SECURITY INTEREST IN UNITED STATES PATENTS Recorded Mar 1, 2016
From: KEYBANK NATIONAL ASSOCIATION
To: AVID TECHNOLOGY, INC.
Reel/Frame 037970/0201 →
ASSIGNMENT FOR SECURITY -- PATENTS Recorded Feb 26, 2016
From: AVID TECHNOLOGY, INC.
To: CERBERUS BUSINESS FINANCE, LLC, AS COLLATERAL AGENT
Reel/Frame 037939/0958 →
PATENT SECURITY AGREEMENT Recorded Jun 23, 2015
From: AVID TECHNOLOGY, INC.
To: KEYBANK NATIONAL ASSOCIATION, AS THE ADMINISTRATIVE AGENT
Reel/Frame 036008/0824 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 8, 2013
From: CLAMAN, TIMOTHY H.; CONIGLIO, STRAKER J.; DAIGLE, STEPHANE; GONSALVES, ROBERT A.; WALLACE, RONALD C.
To: AVID TECHNOLOGY, INC.
Reel/Frame 030168/0470 →