IP Library Granted Patent US 9,836,465
Granted Patent B2
US 9,836,465 · App. 14/375,708 · Granted Dec 5, 2017

Methods and systems for providing file data for a media file

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,836,465
App. No.
14/375,708
Granted
Dec 5, 2017
Kind
B2
Abstract

The present invention seeks to provide an improved file system that provides essence data for a media file in a way that does not require the contents of the entire file to be available before any file data can be provided. The present invention is reflected in a method of providing file data for a media file of a pre-determined format from a file system comprising a file record database and a data store, wherein the media file corresponds to a programme. The method comprises the steps of receiving details of the programme including the duration of the programme, and determining the layout of the media file in the pre-determined format from the received details of the programme, the layout including locations for essence data within the file. A file record for the media file is then created in the file record database. In response to a request for the location of essence data within the file, a location given by the determined layout of the media file is returned. Further, a stream of essence data corresponding to the contents of the programme is received and the received essence data is stored in the data store. In response to a request for a portion of essence data from the media file corresponding to a time period of the programme, essence data derived from the received essence data is returned according to the determined layout of the media file.

Claims (81)

1. A method of providing file data for a media file of a pre-determined format from a file system comprising a file record database and a data store, wherein the media file corresponds to a program, the method comprising the steps of:

receiving details of the program including the duration of the program;

determining the layout of the media file in the pre-determined format from the received details of the program, the layout including locations for essence data within the file;

creating a file record in the file record database for the media file;

in response to a request for the location of essence data within the file, returning a location given by determined layout of the media file;

receiving a stream of essence data corresponding to the contents of the program and storing the received essence data in the data store;

in response to a request for a portion of essence data from the media file corresponding to a time period of the program, returning essence data derived from the received essence data according to the determined layout of the media file;

wherein the format of the media file requires that it comprise a plurality of segments of essence data located at pre-declared locations within the file, and wherein the determining of the layout of the media file comprises the steps of:

determining a maximum segment length for the file based on the required properties of the media file;

in response to a request for the location of a segment within the file, returning a location calculated by considering each segment of the media file to have the maximum segment length;

in response to a request for essence data from a segment of the media file, returning generated essence data for the segment, wherein the generated essence data comprises the essence data derived from the received essence data and padding data to give the generated essence data the maximum segment length.

2. A method as claimed in claim 1 , wherein the format of the media file is MXF.

3. A method of providing file data for a media file of a pre-determined format from a file system comprising a file record database and a data store, wherein the media file corresponds to a program, the method comprising the steps of:

receiving details of the program including the duration of the program;

determining the layout of the media file in the pre-determined format from the received details of the program, the layout including locations for essence data within the file; creating a file record in the file record database for the media file;

in response to a request for the location of essence data within the file, returning a location given by determined layout of the media file;

receiving a stream of essence data corresponding to the contents of the program and storing the received essence data in the data store;

in response to a request for a portion of essence data from the media file corresponding to a time period of the program, returning essence data derived from the received essence data according to the determined layout of the media file;

further comprising the step of delaying the return of requested essence data to vary the speed with which essence data is provided by the file system.

4. A method of providing file data for a media file of a pre-determined format from a file system comprising a file record database and a data store, wherein the media file corresponds to a program, the method comprising the steps of:

receiving details of the program including the duration of the program;

determining the layout of the media file in the pre-determined format from the received details of the program, the layout including locations for essence data within the file; creating a file record in the file record database for the media file;

in response to a request for the location of essence data within the file, returning a location given by determined layout of the media file;

receiving a stream of essence data corresponding to the contents of the program and storing the received essence data in the data store;

in response to a request for a portion of essence data from the media file corresponding to a time period of the program, returning essence data derived from the received essence data according to the determined layout of the media file

wherein the requests for essence data are made by a software application that requests essence data derived from the received essence data sequentially;

further comprising the step of studying the behaviour of the software application to determine that it will request the essence data sequentially.

5. A computer network comprising:

a file system for providing file data for a media file of a pre-determined format corresponding to a program, wherein the file system comprises a file record database and a data store, and wherein the file system is arranged to:

receive details of the program including the duration of the program;

determine the layout of the media file in the pre-determined format from the received details of the program, the layout including locations for essence data within the file;

create a file record in the file record database for the media file;

in response to a request for the location of essence data within the file, return a location given by determined layout of the media file;

receive a stream of essence data corresponding to the contents of the program and store the received essence data in the data store;

in response to a request for a portion of essence data from the media file corresponding to a time period of the program, return essence data derived from the received essence data according to the determined layout of the media file; and

a computer device arranged to request the media file from the file system;

wherein the computer device is arranged to request essence data derived from the received essence data sequentially;

wherein the format of the media file requires that it comprise a plurality of segments of essence data located at pre-declared locations within the file, and wherein the file system is arranged, when determining of the layout of the media file, to:

determine a maximum segment length for the file based on the required properties of the media file;

in response to a request for the location of a segment within the file, return a location calculated by considering each segment of the media file to have the maximum segment length;

in response to a request for essence data from a segment of the media file, return generated essence data for the segment, wherein the generated essence data comprises the essence data derived from the received essence data and padding data to give the generated essence data the maximum segment length.

6. A computer network as claimed in claim 5 , wherein the format of the media file is MXF.

7. A computer network comprising:

a file system for providing file data for a media file of a pre-determined format corresponding to a program, wherein the file system comprises a file record database and a data store, and wherein the file system is arranged to:

receive details of the program including the duration of the program;

determine the layout of the media file in the pre-determined format from the received details of the program, the layout including locations for essence data within the file;

create a file record in the file record database for the media file;

in response to a request for the location of essence data within the file, return a location given by determined layout of the media file;

receive a stream of essence data corresponding to the contents of the program and store the received essence data in the data store;

in response to a request for a portion of essence data from the media file corresponding to a time period of the program, return essence data derived from the received essence data according to the determined layout of the media file; and

a computer device arranged to request the media file from the file system;

wherein the computer device is arranged to request essence data derived from the received essence data sequentially;

wherein the file system is further arranged to delay the return of requested essence data to vary the speed with which essence data is provided by the file system.

8. A non-transitory computer readable medium storing a computer program product to provide file data for a media file of a pre-determined format from a file system including a file record database and a data store, wherein the media file corresponds to a program, the computer program product arranged, when executed, to:

receive details of the program including the duration of the program;

determine the layout of the media file in the pre-determined format from the received details of the program, the layout including locations for essence data within the file;

create a file record in the file record database for the media file;

in response to a request for the location of essence data within the file, return a location given by determined layout of the media file;

receive a stream of essence data corresponding to the contents of the program and store the received essence data in the data store;

in response to a request for a portion of essence data from the media file corresponding to a time period of the program, return essence data derived from the received essence data according to the determined layout of the media file;

wherein the format of the media file requires that the media file include a plurality of segments of essence data located at pre-declared locations within the file, and wherein the determine the layout of the media file includes:

determine a maximum segment length for the file based on the required properties of the media file;

in response to a request for the location of a segment within the file, return a location calculated by considering each segment of the media file to have the maximum segment length; in response to a request for essence data from a segment of the media file, return generated essence data for the segment, wherein the generated essence data includes the essence data derived from the received essence data and padding data to give the generated essence data the maximum segment length.

9. A non-transitory computer readable medium storing a computer program product as claimed in claim 8 , wherein the format of the media file is MXF.

10. A non-transitory computer readable medium storing a computer program product to provide file data for a media file of a pre-determined format from a file system including a file record database and a data store, wherein the media file corresponds to a program, the computer program product arranged, when executed, to:

receive details of the program including the duration of the program;

determine the layout of the media file in the pre-determined format from the received details of the program, the layout including locations for essence data within the file;

create a file record in the file record database for the media file;

in response to a request for the location of essence data within the file, return a location given by determined layout of the media file;

receive a stream of essence data corresponding to the contents of the program and store the received essence data in the data store;

in response to a request for a portion of essence data from the media file corresponding to a time period of the program, return essence data derived from the received essence data according to the determined layout of the media file;

wherein the computer program product is arranged, when executed, to delay the return of requested essence data to vary the speed with which essence data is provided by the file system.

11. A non-transitory computer readable medium storing a computer program product to provide file data for a media file of a pre-determined format from a file system including a file record database and a data store, wherein the media file corresponds to a program, the computer program product arranged, when executed, to:

receive details of the program including the duration of the program;

determine the layout of the media file in the pre-determined format from the received details of the program, the layout including locations for essence data within the file;

create a file record in the file record database for the media file;

in response to a request for the location of essence data within the file, return a location given by determined layout of the media file;

receive a stream of essence data corresponding to the contents of the program and store the received essence data in the data store;

in response to a request for a portion of essence data from the media file corresponding to a time period of the program, return essence data derived from the received essence data according to the determined layout of the media file;

wherein the requests for essence data are made by a software application that requests essence data derived from the received essence data sequentially;

wherein the computer program product is arranged, when executed, to study the behaviour of the software application to determine that the software application will request the essence data sequentially.

Assignments (3)
ASSIGNMENT OF INTELLECTUAL PROPERTY SECURITY AGREEMENTS Recorded Dec 12, 2025
From: MS PRIVATE CREDIT ADMINISTRATIVE SERVICES LLC
To: MGG INVESTMENT GROUP LP
Reel/Frame 073959/0584 →
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT Recorded Mar 21, 2024
From: MGG INVESTMENT GROUP LP
To: GRASS VALLEY USA, LLC; GRASS VALLEY CANADA; GRASS VALLEY LIMITED
Reel/Frame 066867/0336 →
SECURITY INTEREST Recorded Mar 20, 2024
From: GRASS VALLEY CANADA; GRASS VALLEY LIMITED
To: MS PRIVATE CREDIT ADMINISTRATIVE SERVICES LLC
Reel/Frame 066850/0869 →