# US 12,003,556 B2 · Methods of streaming media file data and media file servers

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

- Number: US 12,003,556 B2
- Document ID: US12003556B2
- Status: Granted
- Kind: B2
- Application number: 17/810,707
- Filed: 2022-07-05
- Published: 2022-10-20
- Granted: 2024-06-04
- Earliest claimed: 2016-04-15
- Assignees: Grass Valley Limited
- Applicants: Grass Valley Limited
- Inventors: James Westland Cain
- Web page: https://patentgrep.com/patent/US12003556B2

## CPC

- H04L 65/60: Network streaming of media packets
- H04N 21/234309: {by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4 or from Quicktime to Realvideo (conversion of standards in analog television systems H04N7/01)}
- H04N 21/23439: {for generating different versions}
- H04N 21/26283: {for associating distribution time parameters to content, e.g. to generate electronic programme guide data}
- H04N 21/2662: Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
- H04N 21/47202: {for requesting content on demand, e.g. video on demand}
- H04N 21/6125: {involving transmission via Internet (transmission by internet of broadcast information H04H60/82)}
- H04N 21/8456: {by decomposing the content in the time domain, e.g. in time segments}
- G11B 27/031: Electronic editing of digitised analogue information signals, e.g. audio or video signals
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION
- 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)

## Abstract

A media file system, apparatus, computer program product and method are provided for of streaming media file data. An exemplary method includes receiving a request for media file data for a desired time, and determining from the desired time an available segment of media file data, wherein the segment includes media file data from a start time to an end time. The method further including returning the available segment of media file, wherein the step of returning the available segment of media file data includes returning information indicative of the start time to end time covered by the media file data of the available segment.

## Claims

### Claim 1

A media file system comprising:
an input configured to receive, from a client application, a request for media file data starting at a desired time within a media file, with the request from the client application defining the desired time independently of a start time of a plurality of predefined segments of the media file;
an available segment selector configured to determine whether the media file data contains an available segment by comparing the desired time to a manifest to determine the available segment according to a start time and an end time of the available segment within the media file, wherein the manifest comprises time data for each of the plurality of predefined segments; and
a segment output configured to return, to the client application, a separate file that includes only the available segment of media file data when the media file data is determined to contain the available segment and, in a header of the returned separate file, information indicative of a time period covered by the available segment including information indicating the desired start time that is defined in the request from the client application.

### Claim 2 (depends on 1)

The media file system according to claim 1, further comprising a database configured to store the media file data of the media file.

### Claim 3 (depends on 1)

The media file system according to claim 1, wherein the desired time does not correspond to the start time of any of the plurality of predefined segments.

### Claim 4 (depends on 1)

The media file system according to claim 1, wherein the desired time is between the start time and the end time inclusive of one of the plurality of predefined segments.

### Claim 5 (depends on 1)

The media file system according to claim 1, wherein the request for media file data includes desired properties for the media file data, which include a format quality of the media file data.

### Claim 6 (depends on 1)

The media file system according to claim 1, wherein the request for the media file data is an HTTP request that indicates the desired time by a requested URL associated with the HTTP request.

### Claim 7 (depends on 1)

The media file system according to claim 1, wherein the media file data is from the media file comprising a fragmented MPEG-4 format.

### Claim 8 (depends on 7)

The media file system according to claim 7, wherein the available segment is one of a moof and a GOP.

### Claim 9 (depends on 1)

The media file system according to claim 1, further comprising a network message responder configured to respond to a network message including the request by sending a redirect message to redirect the request, wherein the redirect comprises a URL of the available segment.

### Claim 10

A media file system comprising:
an available segment selector configured to determine whether a media file data contains an available segment by comparing a desired time, which is defined in a media file data request from a client application, to a manifest to determine the available segment according to a start time and an end time of the available segment, wherein the manifest comprises time data for each of a plurality of predefined segments of at least one media file; and
a segment output configured to return, to the client application, a separate file that includes only the available segment of media file data when the media file data is determined to contain the available segment and, in a header of the returned separate file, information indicative of a time period covered by the available segment including information indicating the desired start time that is defined in the request from the client application.

### Claim 11 (depends on 10)

The media file system according to claim 10, further comprising an input configured to receive, from the client application, the request for media file data that defines the desired time independently of a start time of any of the plurality of predefined segments of the at least one media file.

### Claim 12 (depends on 10)

The media file system according to claim 10, further comprising a database configured to store the media file data of the at least one media file.

### Claim 13 (depends on 11)

The media file system according to claim 11, wherein the desired time does not correspond to the start time of any of the plurality of predefined segments.

### Claim 14 (depends on 10)

The media file system according to claim 10, wherein the request for media file data includes desired properties for the media file data, which include a format quality of the media file data.

### Claim 15 (depends on 11)

The media file system according to claim 11, wherein the request for the media file data is an HTTP request that indicates the desired time by a requested URL associated with the HTTP request.

### Claim 16 (depends on 10)

The media file system according to claim 10, wherein the media file data of the at least one media file comprises a fragmented MPEG-4 format that is one of a moof and a GOP.

### Claim 17

A method comprising:
determining whether a media file data contains an available segment by comparing a desired time to a manifest to determine the available segment according to a start time and an end time of the available segment within the media file, wherein the manifest comprises time data for each of a plurality of predefined segments, wherein the desired time is defined in a media file data request from a client application;
returning, to the client application, a separate file that includes only the available segment of media file data when the media file data is determined to contain the available segment; and
returning, in a header of the returned separate file, information indicative of a time period covered by the available segment including information indicating the desired start time that is defined in the request from the client application.

### Claim 18 (depends on 17)

The method of claim 17, further comprising: receiving, from the client application, the request for media file data that defines the desired time independently of a start time of any of the plurality of predefined segments of the media file.

### Claim 19 (depends on 17)

The method of claim 17, wherein the desired time does not correspond to the start time of any of the plurality of predefined segments.

### Claim 20 (depends on 17)

The method of claim 17, wherein the request for the media file data is an HTTP request that indicates the desired time by a requested URL associated with the HTTP request.
