IP Library Granted Patent US 8,589,871
Granted Patent B2
US 8,589,871 · App. 12/642,418 · Granted Nov 19, 2013

Metadata plug-in application programming interface

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 8,589,871
App. No.
12/642,418
Granted
Nov 19, 2013
Kind
B2
Abstract

Computer-based methods and systems for editing a time-based media program involve receiving an instruction to associate metadata with a selected portion of the program, determining a type of the metadata, wherein the type of the metadata is one of a predetermined set of metadata types, identifying a software component available to the editing system that is configured to process metadata of the determined type, and associating the metadata with the selected portion of the program by executing the identified software component to process the metadata. Metadata is represented using a scheme that is shared among the various computational components that manipulate the metadata; the scheme may also be shared with a host media processing system, as well as with other systems that are used in a time-based media editing and production workflow.

Claims (55)

1. In a computer-based editing system for editing a time-based media program, a method comprising:

the editing system receiving an instruction to associate metadata with a selected portion of the program, the selected portion being indicated by at least a position in time in the time-based media program, the metadata conforming to a metadata specification and having a type;

the editing system determining a type of the metadata, wherein the type of the metadata is one of a predetermined set of metadata types;

the editing system identifying a software component from among a plurality of software components available to the editing system, wherein the identified software component is configured to process metadata of the determined type, wherein the editing system and the plurality of software components read and write metadata conforming to the metadata specification; and

the editing system associating the metadata with the selected portion of the program by providing the metadata and context information of the editing system to the identified software component, executing the identified software component to process the metadata according to the context information, and receiving data from the identified computation component resulting from such processing.

2. The method of claim 1 , wherein processing of the metadata involves an interaction of the metadata with at least part of the time-based media included within the selected portion of the program.

3. The method of claim 1 , wherein a plurality of software components, including the first mentioned software component are available to the editing system, and

wherein the type of the metadata is represented using a convention that is shared among the plurality of software components.

4. The method of claim 1 , wherein the computer-based editing system includes a media processing engine, and the determined type of the metadata is represented using a convention that is shared between identified software component and the media processing engine.

5. The method of claim 1 , wherein execution of the identified software component causes the identified software component to import the metadata from a memory location that is shared with the computer-based editing system.

6. The method of claim 5 , wherein the imported metadata is dependent on a time at which the metadata is imported.

7. The method of claim 5 , wherein the imported metadata is dependent on a spatial location of the computer-based editing system at a time at which the metadata is imported.

8. The method of claim 1 , wherein execution of the identified software component causes the computer-based editing system to import the metadata from a source external to the computer-based editing system.

9. The method of claim 8 , wherein the imported metadata is dependent on a time at which the metadata is imported.

10. The method of claim 8 , wherein the imported metadata is dependent on a spatial location of the computer-based editing system at a time at which the metadata is imported.

11. The method of claim 1 , wherein execution of the identified software component causes the identified software component to generate output metadata having an output metadata type, the output metadata type being one of the predetermined set of metadata types.

12. The method of claim 11 , wherein the output metadata type is the same as the type of the first-mentioned metadata.

13. The method of claim 11 , wherein the output metadata type is different from the type of the first-mentioned metadata.

14. The method of claim 11 , wherein the output metadata includes information for use by a system external to the computer-based editing system.

15. The method of claim 1 , wherein the computer-based editing system displays a timeline to represent a state of the program of time-based media, the timeline including at least one track for time-based media, and wherein receiving the instruction to associate metadata with a selected portion of the program causes the editing system to:

create a metadata track on the timeline, the metadata track being characterized by the determined type of the metadata; and

display a representation of the metadata on a portion of the metadata track corresponding to the selected portion of the program.

16. The method of claim 15 , further comprising:

receiving a second instruction to associate a second set of metadata with a second selected portion of the program;

determining a type of the second set of metadata, wherein the type of the second set of metadata is one of the predetermined set of metadata types; and

if the determined type of the second set of metadata is the same as the type of the first-mentioned metadata, executing the identified software component to process the second set of metadata and displaying a representation of the second set of metadata on a portion of the metadata track corresponding to the second selected portion of the program.

17. A system for editing a time-based media program, the system comprising:

a processor;

a memory storing computer program instructions that, when processed by the processor instruct the processor to:

receive, through the editing system, an instruction to associate metadata with a selected portion of the program, the selected portion being indicated by at least a position in time in the time-based media program, the metadata conforming to a metadata specification and having a type;

identify a plurality of software components available to the editing system, wherein the editing system and the plurality of software components read and write metadata conforming to the metadata specification;

determine a type of the metadata, wherein the type of the metadata is one of a predetermined set of metadata types;

identify a software component from among a plurality of software components available to the editing system, wherein the identified software component is configured to process metadata of the determined type; and

associate the metadata with the selected portion of the program by providing the metadata and context information of the editing system to the identified software component, executing the identified software component to process the metadata according to the context information, and receiving data from the identified computation component resulting from such processing.

18. The system of claim 17 , wherein processing of the metadata involves an interaction of the metadata with at least part of the time-based media included within the selected portion of the program.

19. A computer program product comprising:

a computer-readable medium;

computer program instructions stored on the computer-readable medium that, when proceeded by a computer, instruct the computer to perform a method for editing a time-based media program, the method comprising:

the editing system receiving an instruction to associate metadata with a selected portion of the program, the selected portion being indicated by at least a position in time in the time-based media program, the metadata conforming to a metadata specification and having a type;

the editing system determining a type of the metadata, wherein the type of the metadata is one of a predetermined set of metadata types;

the editing system identifying a software component from among a plurality of software components available to the editing system, wherein the identified software component is configured to process metadata of the determined type, wherein editing system and the plurality of software components read and write metadata conforming to the metadata specification; and

the editing system associating the metadata with the selected portion of the program by providing the metadata and context information of the editing system to the identified software component, executing the identified software component to process the metadata according to the context information, and receiving data from the identified computation component resulting from such processing.

20. The computer program product of claim 19 , wherein processing of the metadata involves an interaction of the metadata with at least part of the time-based media included within the selected portion of the program.

21. A computer system for editing a program, the program comprising time-based media, the computer system comprising:

a processor;

a memory storing computer program instructions that, when processed by the processor configure the computer system to implement:

a host program having a graphical user interface presenting one or more timelines representing audio and video data, and one or more timelines representing metadata, wherein through the graphical user interface the host program receives instructions to associate metadata with selected portions of the program, the selected portions being indicated by a position one or more of the timelines representing metadata, wherein metadata is in a format defined by a metadata specification and has a type;

a plurality of computational components, each computational component being configured to process metadata conforming to the metadata specification, the computational component further being configured to process metadata of a particular type;

wherein the host program determines the metadata types for which computational components are available on the computer system; and

wherein the host program, in response to metadata conforming to the metadata specification being associated with a selected portion of the program:

determines a type of the metadata;

identifies one of the plurality of computational components available to process metadata of the determined type;

initializes the identified computational component to process the metadata;

provides the metadata and context information of the host program to the identified computational component; and

receives data from the identified computational component resulting from the identified computational component processing the metadata according to the context information.

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 Dec 28, 2009
From: KELLY, TODD
To: AVID TECHNOLOGY, INC.
Reel/Frame 023705/0433 →