IP Library Granted Patent US 11,615,817
Granted Patent B2
US 11,615,817 · App. 17/331,334 · Granted Mar 28, 2023

Context-based media indexing

Inventor: Shailendra Mathur (Beaconsfield, CA)
Assignee: AVID TECHNOLOGY, INC.
G11B27/10G06F9/541G11B20/00007G11B2020/00014G11B2020/00072
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 11,615,817
App. No.
17/331,334
Granted
Mar 28, 2023
Kind
B2
Abstract

Indexing of media sources available to media composition applications, such as video editing applications and digital audio workstations, is extended to sources of an arbitrary type, including non-file type sources. Examples of such sources include devices using baseband video and audio protocols, network ports and physical devices connected via USB, Thunderbolt, etc. The sources are discovered and indexed even when not previously known to the application with the result that any available bitstream becomes available to the application. Applications access the sources via feeders, which are addressable portals through which media essence is received. The indexing methods involve the instantiation of a hierarchy of plug-in software modules by a format-handling subsystem of the application or by a media indexing service servicing one or more applications.

Claims (63)

1. A method of indexing media sources available to at least one of a media composition application and a media indexing service, the method comprising:

receiving a specification of a first type of feeder over which media essence is to be received, wherein the specification is received when one of:

a change notification is received from a source monitoring service;

a user requests content via the media composition application; and

the media indexing service for the media composition application is launched; and

in response to receiving the specification of the first type of feeder over which media essence is to be received, wherein the first feeder type is not a file type:

performing an application program interface (API) call to a software plug-in module adapted to an attribute of a data stream to be received via the feeder of the first type, wherein the software plug-in module returns a handle to at least one of the media composition application and the media indexing service, wherein the handle enables the feeder of the first type to be accessed by the media composition application.

2. The method of claim 1 , wherein performing the API call to the software plug-in module causes metadata about content to be received via the feeder of the first type to be returned to at least one of the media composition application and the media indexing service.

3. The method of claim 2 , wherein the metadata is extracted by the software plug-in module.

4. The method of claim 2 wherein the metadata of the first feeder type is determined by the software plug-in module.

5. The method of claim 2 , wherein the metadata defines a technical quality of media content to be received via the feeder of the first type.

6. The method of claim 2 , wherein the metadata of the feeder of the first type specifies a type of media essence, a synchronization, and an encoding type, and further comprising:

executing a bitstream plug-in software module that:

parses a stream of data received from the feeder of the first type;

indexes at least one of video frames, audio samples, ancillary data and metadata present within the stream of data;

determines a decoding method; and

executing a decoding plug-in software module corresponding to the determined decoding method, wherein the decoding plug-in software module:

decodes the at least one of the video frames, audio samples, ancillary data and metadata present within the stream of data; and

sends the decoded at least one of the video frames, audio samples, and ancillary data to a media player of the media composition application.

7. The method of claim 6 , wherein the decoded at least one of the video frames, audio samples, and ancillary data are sent upon receipt of a request from a media player application.

8. The method of claim 1 , wherein the metadata defines an element type of media content to be received via the feeder of the first type.

9. The method of claim 1 , further comprising storing the handle as a media source entry in a database of media sources available to the media composition application.

10. The method of claim 9 , wherein the database of media sources is stored by the media indexing service.

11. The method of claim 9 , wherein the database of media sources is stored by the media composition application.

12. The method of claim 9 , wherein the database of media sources includes a given media source representing a given content that is available in a plurality of different technical qualities.

13. The method of claim 12 , wherein the user requests content via the media composition application, and the media composition application creates a master clip for a media source containing the requested content, and wherein the master clip is visible to the user and includes references to the given media source in each of the plurality of different technical qualities.

14. The method of claim 12 , wherein the given media source is available in a first technical quality via a feeder of a first type and in a second technical quality different from the first technical quality via a feeder of a second type.

15. The method of claim 1 , wherein the attribute of the data stream to be received via the feeder of the first type is a protocol type deployed by the data stream.

16. The method of claim 1 , wherein the attribute of the data stream to be received via the feeder of the first type is a metadata type contained within the data stream.

17. The method of claim 1 , wherein the attribute of the data stream to be received via the feeder of the first type is a channel type present within the data stream.

18. The method of claim 1 , wherein the feeder of the first type is one of a plurality of feeders and an arrangement of the plurality of feeders is specified by a volume plug-in software module.

19. The method of claim 18 , wherein the volume plug-in software module associates a channel label with content to be received via each of the plurality of feeders.

20. The method of claim 1 , wherein the feeder type is one of an SDI feeder type, and IP feeder type, and a USB feeder type.

21. The method of claim 1 , wherein the feeder type is one of a blob storage feeder type, a cloud storage feeder type and a remote FTP server feeder type.

22. The method of claim 1 , wherein the feeder type is one of uniform resource identifier and a uniform resource locator.

23. The method of claim 1 , further comprising:

in response to receiving the specification of the first type of feeder over which metadata and media essence corresponding to a media source is to be received:

locating in a plug-in registry of the media composition application an entry corresponding to the feeder of the first type; and

using information contained within the entry to instantiate and execute a copy of a feeder plug-in of the first type.

24. The method of claim 1 , further comprising:

in response to launching the media indexing service:

populating a registry within a format-handling subsystem of the media indexing service with a set of feeder types over which media source metadata and media essence may be received; and

receiving and instantiating a copy of a software plug-in module corresponding to each feeder type of the set of feeder types.

25. The method of claim 1 , wherein the source monitoring service is implemented by the media composition application.

26. The method of claim 1 , wherein the source monitoring service is implemented by the media indexing service.

27. The method of claim 1 , wherein the data stream to be received via the feeder of the first type is not yet available.

28. A computer program product comprising:

a non-transitory computer-readable medium with computer-readable instructions encoded thereon, wherein the computer-readable instructions, when processed by a processing device instruct the processing device to perform a method of indexing media sources available to at least one of a media composition application and a media indexing service, the method comprising:

receiving a specification of a first type of feeder over which media essence is to be received, wherein the specification is received when one of:

a change notification is received from a source monitoring service;

a user requests content via the media composition application; and

the media indexing service for the media composition application is launched; and

in response to receiving the specification of the first type of feeder over which media essence is to be received, wherein the first feeder type is not a file type:

performing an application program interface (API) call to a software plug-in module adapted to an attribute of a data stream to be received via the feeder of the first type, wherein the software plug-in module returns a handle to at least one of the media composition application and the media indexing service, wherein the handle enables the feeder of the first type to be accessed by the media composition application.

29. A 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 system to perform a method of indexing media sources available to at least one of a media composition application and a media indexing service, the method comprising:

receiving a specification of a first type of feeder over which media essence is to be received, wherein the specification is received when one of:

a change notification is received from a source monitoring service;

a user requests content via the media composition application; and

the media indexing service for the media composition application is launched; and

in response to receiving the specification of the first type of feeder over which media essence is to be received, wherein the first feeder type is not a file type:

performing an application program interface (API) call to a software plug-in module adapted to an attribute of a data stream to be received via the feeder of the first type, wherein the software plug-in module returns a handle to at least one of the media composition application and the media indexing service, wherein the handle enables the feeder of the first type to be accessed by the media composition application.

Assignments (4)
RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 059107/0976) Recorded Nov 8, 2023
From: JPMORGAN CHASE BANK, N.A.
To: AVID TECHNOLOGY, INC.
Reel/Frame 065523/0159 →
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 Feb 25, 2022
From: AVID TECHNOLOGY, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 059107/0976 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 19, 2021
From: MATHUR, SHAILENDRA
To: AVID TECHNOLOGY, INC.
Reel/Frame 057221/0660 →