# US 2014/0195651 A1 · Live timing for dynamic adaptive streaming over http (dash)

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

- Number: US 2014/0195651 A1
- Document ID: US20140195651A1
- Status: Published application
- Kind: A1
- Application number: 14/146,536
- Filed: 2014-01-02
- Published: 2014-07-10
- Earliest claimed: 2013-01-04
- Assignees: QUALCOMM Incorporated
- Applicants: QUALCOMM Incorporated
- Inventors: Thomas Stockhammer; Kevin Roland Fall
- Web page: https://patentgrep.com/patent/US20140195651A1

## CPC

- H04N 21/23439: {for generating different versions}
- H04N 21/242: Synchronisation processes, e.g. processing of PCR [Programme Clock References] {(arrangements for synchronising broadcast or distribution via plural systems in broadcast distribution systems H04H20/18)}
- H04N 21/26258: {for generating a list of items to be played back in a given order, e.g. playlist, or scheduling item distribution according to such list (retrieval of multimedia data based on playlists G06F16/40)}
- H04N 21/4305: {Synchronising client clock from received content stream, e.g. locking decoder clock with encoder clock, extraction of the PCR packets (arrangements for synchronising receiver with transmitter by comparing receiver clock with transmitter clock H04L7/0012; arrangements for synchronising receiver with transmitter wherein the receiver takes measures against momentary loss of synchronisation H04L7/0083)}
- 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}
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

In one example, a client device for receiving information for streaming of media data includes a clock, and one or more processors configured to receive a media presentation description (MPD) for media content, wherein the MPD includes data indicative of wall-clock times at which the client device can retrieve data of the media content from a source device, and wherein the data indicates a synchronization method by which the client device is to synchronize the wall-clock times with the clock, synchronize the clock with the wall-clock times using the method indicated by the MPD, and request data of the media content from the source device using the synchronized clock. A server device or source device may form and provide such an MPD to a client device.

## Claims

### Claim 1

A method of receiving information for streaming of media data, the method comprising:
receiving, by a client device, a media presentation description (MPD) for media content, wherein the MPD includes data indicative of wall-clock times at which the client device can retrieve data of the media content from a source device, and wherein the data indicates a synchronization method by which the client device is to synchronize the wall-clock times with a clock of the client device;
synchronizing the clock of the client device with the wall-clock times using the method indicated by the MPD; and
requesting data of the media content from the source device using the synchronized clock.

### Claim 2 (depends on 1)

The method of claim 1, wherein the synchronization method indicated by the MPD comprises network time protocol (NTP), wherein the MPD includes data indicative of network addresses for one or more NTP servers, and wherein synchronizing the clock comprises requesting a time from at least one of the NTP servers.

### Claim 3 (depends on 1)

The method of claim 1, wherein the synchronization method indicated by the MPD comprises HTTP Time Protocol (HTP), wherein the MPD includes data indicative of network addresses for one or more HTTP servers, and wherein synchronizing the clock comprises requesting a time from at least one of the HTTP servers.

### Claim 4 (depends on 1)

The method of claim 1, wherein the synchronization method indicated by the MPD comprises HTTP, wherein the MPD includes data indicative of network addresses for one or more HTTP servers, and wherein synchronizing the clock comprises requesting a time from at least one of the HTTP servers.

### Claim 5 (depends on 4)

The method of claim 4, wherein synchronizing the clock comprises sending an HTTP HEAD request to at least one of the HTTP servers and receiving, in response to the HTTP HEAD request, date information from the at least one of the HTTP servers in an HTTP Header.

### Claim 6 (depends on 4)

The method of claim 4, wherein synchronizing the clock comprises sending an HTTP GET request to at least one of the HTTP servers and receiving, in response to the HTTP GET request, a well-formatted time stamp value that is formatted according to one of network time protocol (NTP) and Extensible Markup Language (XML) and an international organization for standardization (ISO) time code.

### Claim 7 (depends on 1)

The method of claim 1, wherein the MPD includes data that indicates that the client device is to retrieve a segment of the media content at a first time and that a separate client device is to retrieve the segment at a second time different from the first time, and wherein requesting data comprises requesting the segment at or after the first time.

### Claim 8

A client device for receiving information for streaming of media data, the client device comprising:
a clock; and
one or more processors configured to receive a media presentation description (MPD) for media content, wherein the MPD includes data indicative of wall-clock times at which the client device can retrieve data of the media content from a source device, and wherein the data indicates a synchronization method by which the client device is to synchronize the wall-clock times with the clock, synchronize the clock with the wall-clock times using the method indicated by the MPD, and request data of the media content from the source device using the synchronized clock.

### Claim 9 (depends on 8)

The client device of claim 8, wherein the synchronization method indicated by the MPD comprises network time protocol (NTP), wherein the MPD includes data indicative of network addresses for one or more NTP servers, and wherein to synchronize the clock, the one or more processors are configured to request a time from at least one of the NTP servers.

### Claim 10 (depends on 8)

The client device of claim 8, wherein the synchronization method indicated by the MPD comprises HTTP Time Protocol (HTP), wherein the MPD includes data indicative of network addresses for one or more HTTP servers, and wherein to synchronize the clock, the one or more processors are configured to request a time from at least one of the HTTP servers.

### Claim 11 (depends on 8)

The client device of claim 8, wherein the synchronization method indicated by the MPD comprises HTTP, wherein the MPD includes data indicative of network addresses for one or more HTTP servers, and wherein to synchronize the clock, the one or more processors are configured to request a time from at least one of the HTTP servers.

### Claim 12 (depends on 11)

The client device of claim 11, wherein to synchronize the clock, the one or more processors are configured to send an HTTP HEAD request to at least one of the HTTP servers and receive, in response to the HTTP HEAD request, date information from the at least one of the HTTP servers in an HTTP Header.

### Claim 13 (depends on 11)

The client device of claim 11, wherein to synchronize the clock, the one or more processors are configured to send an HTTP GET request to at least one of the HTTP servers and receive, in response to the HTTP GET request, a well-formatted time stamp value that is formatted according to one of network time protocol (NTP) and Extensible Markup Language (XML).

### Claim 14 (depends on 8)

The client device of claim 8, wherein the MPD includes data that indicates that the client device is to retrieve a segment of the media content at a first time and that a separate client device is to retrieve the segment at a second time different from the first time, and wherein the one or more processors are configured to request the segment at or after the first time.

### Claim 15

A computer-readable storage medium having stored thereon instructions that, when executed, cause a processor of a client device to:
receive a media presentation description (MPD) for media content, wherein the MPD includes data indicative of wall-clock times at which the client device can retrieve data of the media content from a source device, and wherein the data indicates a synchronization method by which the client device is to synchronize the wall-clock times with a clock of the client device;
synchronize the clock of the client device with the wall-clock times using the method indicated by the MPD; and
request data of the media content from the source device using the synchronized clock.

### Claim 16 (depends on 15)

The computer-readable storage medium of claim 15, wherein the synchronization method indicated by the MPD comprises network time protocol (NTP), wherein the MPD includes data indicative of network addresses for one or more NTP servers, and wherein synchronizing the clock comprises requesting a time from at least one of the NTP servers.

### Claim 17 (depends on 15)

The computer-readable storage medium of claim 15, wherein the synchronization method indicated by the MPD comprises HTTP Time Protocol (HTP), wherein the MPD includes data indicative of network addresses for one or more HTTP servers, and wherein synchronizing the clock comprises requesting a time from at least one of the HTTP servers.

### Claim 18 (depends on 15)

The computer-readable storage medium of claim 15, wherein the synchronization method indicated by the MPD comprises HTTP, wherein the MPD includes data indicative of network addresses for one or more HTTP servers, and wherein synchronizing the clock comprises requesting a time from at least one of the HTTP servers.

### Claim 19 (depends on 18)

The computer-readable storage medium of claim 18, wherein synchronizing the clock comprises sending an HTTP HEAD request to at least one of the HTTP servers and receiving, in response to the HTTP HEAD request, date information from the at least one of the HTTP servers in an HTTP Header.

### Claim 20 (depends on 18)

The computer-readable storage medium of claim 18, wherein synchronizing the clock comprises sending an HTTP GET request to at least one of the HTTP servers and receiving, in response to the HTTP GET request, a well-formatted time stamp value that is formatted according to one of network time protocol (NTP) and Extensible Markup Language (XML).

### Claim 21 (depends on 15)

The computer-readable storage medium of claim 15, wherein the MPD includes data that indicates that the client device is to retrieve a segment of the media content at a first time and that a separate client device is to retrieve the segment at a second time different from the first time, and wherein requesting data comprises requesting the segment at or after the first time.

### Claim 22

A method of signaling information for streaming of media data, the method comprising:
generating data for a media presentation description (MPD) for media content, wherein the MPD includes data indicative of wall-clock times at which a client device can retrieve data of the media content from a source device, and wherein the generated data indicates a synchronization method by which the client device is to synchronize the wall-clock times with a clock of the client device; and
outputting the MPD.

### Claim 23 (depends on 22)

The method of claim 22, further comprising:
receiving a request for a segment of the media content following a wall-clock time for the segment as indicated by the MPD; and
sending the segment to the client device in response to the request.

### Claim 24 (depends on 22)

The method of claim 22, wherein generating the data comprises generating the data to indicate that the synchronization method comprises network time protocol (NTP) and to indicate network addresses for one or more NTP servers from which to request data for synchronizing the clock of the client device with the wall-clock times.

### Claim 25 (depends on 22)

The method of claim 22, wherein generating the data comprises generating the data to indicate that the synchronization method comprises HTTP Timing Protocol (HTP) and to indicate network addresses for one or more HTTP servers from which to request data for synchronizing the clock of the client device with the wall-clock times.

### Claim 26 (depends on 22)

The method of claim 22, wherein generating the data comprises generating the data to indicate that the synchronization method comprises HTTP and to indicate network addresses for one or more HTTP servers from which to request data for synchronizing the clock of the client device with the wall-clock times.

### Claim 27 (depends on 22)

The method of claim 22, wherein the client device comprises a first client device, and wherein generating the data for the MPD comprises generating the data for the MPD such that the data indicates that the first client device is to retrieve a segment of the media content at a first time and that a second client device is to retrieve the segment at a second time different from the first time, and wherein sending the MPD comprises sending the MPD to the first client device and the second client device.

### Claim 28 (depends on 23)

The method of claim 23, further comprising:
receiving a first request for the segment from the first client device at or after the first time;
sending data for the segment to the first client device in response to the first request;
receiving a second request for the segment from the second client device at or after the second time; and
sending the data for the segment to the second client device in response to the second request.

### Claim 29 (depends on 28)

The method of claim 28, wherein generating the data comprises generating specific values for the first time and the second time.

### Claim 30 (depends on 28)

The method of claim 28, further comprising determining a first priority for the first client device and a second priority for the second client device, wherein generating the data comprises generating the data based on the first priority and the second priority.
