# US 12,205,618 B2 · Context-based media indexing

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,205,618 B2
- Document ID: US12205618B2
- Status: Granted
- Kind: B2
- Application number: 18/171,157
- Filed: 2023-02-17
- Published: 2023-07-27
- Granted: 2025-01-21
- Earliest claimed: 2021-05-26
- Assignees: Avid Technology, Inc.
- Applicants: Avid Technology, Inc.
- Inventors: Shailendra Mathur
- Web page: https://patentgrep.com/patent/US12205618B2

## CPC

- G11B 27/10: Indexing; Addressing; Timing or synchronising; Measuring tape travel
- G11B 27/102: {Programmed access in sequence to addressed parts of tracks of operating record carriers (access by moving the head G11B3/08, G11B5/54, G11B7/085, G11B21/022; by moving the record carrier G11B15/005, G11B17/005, by driving of both record carrier and head G11B15/1816)}
- G06F 9/541: {via adapters, e.g. between incompatible applications}
- G11B 20/00007: {Time or data compression or expansion (audio compression based on psychoacoustics G10L19/00; data processing for reproducing audio data at different playback speeds G10L21/04; video compression H04N19/00; data compression per se H03M7/30)}
- G11B 2020/00014: {the compressed signal being an audio signal}
- G11B 2020/00072: {the compressed signal including a video signal}
- G11B: INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER (recording measured values in a way that does not require playback through a transducer G01D9/00; recording or playback apparatus using mechanically marked tape, e.g. punched paper tape, or using unit records, e.g. punched or magnetically marked cards G06K; transferring data from one type of record carrier to another G06K1/18; circuits for coupling output of reproducer to radio receiver H04B1/20; gramophone pick-ups or like acoustic electromechanical transducers or circuits therefor H04R)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## 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

### Claim 1

A method of accessing a media source the method comprising:
receiving a specification of a feeder of a first type over which media essence is to be received, wherein the first 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; and wherein:
the software plug-in module returns a handle to a media composition application; and
the media composition application uses the handle to access via the feeder of the first type at least one of media essence from the media source, metadata pertaining to the media essence, and metadata pertaining to the media source.

### Claim 2 (depends on 1)

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

### Claim 3 (depends on 2)

The method of claim 2, wherein the metadata 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.

### Claim 4 (depends on 1)

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.

### Claim 5 (depends on 4)

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

### Claim 6 (depends on 4)

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

### Claim 7 (depends on 4)

The method of claim 4, 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.

### Claim 8 (depends on 7)

The method of claim 7, 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.

### Claim 9 (depends on 1)

The method of claim 1, wherein the attribute of the data stream to be received via the feeder of the first type is at least one of a protocol type deployed by the data stream, a metadata type contained within the data stream, and a channel type present within the data stream.

### Claim 10 (depends on 1)

The method of claim 1, wherein the first type is one of an SDI feeder type, an IP feeder type, a USB feeder type, a blob storage feeder type, a cloud storage feeder type, and a remote FTP server feeder type.

### Claim 11 (depends on 1)

The method of claim 1, wherein the feeder of the first type is an HTTP endpoint and the handle is one of a uniform resource identifier and a uniform resource locator.

### Claim 12 (depends on 1)

The method of claim 1, further comprising:
in response to receiving the specification of the feeder of first type:
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.

### Claim 13 (depends on 1)

The method of claim 1, further comprising:
in response to launching a 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.

### Claim 14 (depends on 1)

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

### Claim 15

A method of indexing a media source the method comprising:
receiving a specification of a feeder of a first type over which media essence is to be received, wherein the first type is not a file type;
performing an 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; and wherein:
the software plug-in module returns a handle to a media indexing service; and
the handle enables the media indexing service to access the feeder of the first type to obtain at least one of metadata pertaining to the media source and metadata pertaining to the media essence to be received from the media source.

### Claim 16 (depends on 15)

The method of claim 15, wherein the media indexing service passes to a media composition application the specification of the feeder of the first type and the at least one of the metadata pertaining to the media source and the metadata pertaining to the media essence to be received.

### Claim 17 (depends on 15)

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

### Claim 18 (depends on 15)

The method of claim 15, wherein the metadata specifies a type of media essence, a synchronization, and an encoding type.

### Claim 19 (depends on 15)

The method of claim 15, wherein the 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.

### Claim 20 (depends on 15)

The method of claim 15, wherein the attribute of the data stream to be received via the feeder of the first type is at least one of a protocol type deployed by the data stream, a metadata type contained within the data stream, and a channel type present within the data stream.

### Claim 21 (depends on 15)

The method of claim 15, wherein the feeder of the first type is one of an SDI feeder type, an IP feeder type, a USB feeder type, a blob storage feeder type, a cloud storage feeder type, and a remote FTP server feeder type.

### Claim 22 (depends on 15)

The method of claim 15, wherein the feeder of the first type is an HTTP endpoint, and the handle is one of a uniform resource identifier and a uniform resource locator.

### Claim 23 (depends on 15)

The method of claim 15, further comprising:
when the media indexing service is launched:
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.

### Claim 24 (depends on 15)

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