Deadline signaling for streaming of media data
AssigneeQUALCOMM Incorporated
InventorsThomas Stockhammer, Xipeng Zhu, Gordon Kent Walker
Life of this patent
Estimating the term…
Abstract
A client device includes a memory comprising a buffer for buffering data having real-time constraints and a hardware-based processor comprising digital logic circuitry. The processor is configured to execute a real-time application configured to determine times during which the data will be available for download, determine a time at which the data is needed to prevent a buffer underrun for the buffer, and when the data is available, send a request for the data and deadline information representative of the time at which the data is needed to avoid the buffer underrun. In this manner, a sending device can prioritize delivery of the requested data to prevent the buffer underrun for the client device.
Claims19
A method of retrieving data having real-time constraints, the method comprising, by a real-time application executed by a hardware-based processing unit implemented in circuitry of a client device:
- determining times during which the data will be available for download;
- determining, at a first time, a second time at which a subsequent portion of the data is needed, the first time being earlier than the second time, including:
- determining a latest portion of the data included in a buffer of the client device;
- and
- determining the subsequent portion of the data, the subsequent portion of the data being temporally adjacent to the latest portion of the data included in the buffer, not being present in the buffer, and being available at a third time less than the second time, the subsequent portion of the data and the latest portion of the data having a common bitrate;
- generating a hypertext transfer protocol (HTTP) request for the subsequent portion of the data and specifying, in a query parameter of a uniform resource locator (URL) of a header of the HTTP request, deadline information specifying a time by which the subsequent portion of the data must be received to avoid an underrun of the buffer;
- and
- in response to the subsequent portion of the data being available at a current time equal to or greater than the third time, sending, to a server device, the HTTP request for the subsequent portion of the data and the deadline information specifying the time by which the subsequent portion of the data must be received.
A client device for retrieving data having real-time constraints, the client device comprising:
- a memory comprising a buffer for buffering the data having the real-time constraints;
- and
- a hardware-based processor comprising digital logic circuitry, the processor configured to execute a real-time application configured to:
- determine times during which the data will be available for download;
- determine, at a first time, a second time at which a subsequent portion of the data is needed to prevent a buffer underrun for the buffer, the first time being earlier than the second time, wherein to determine the second time at which the subsequent portion of the data is needed to prevent the buffer underrun, the hardware-based processor is configured to:
- determine a latest portion of the data included in the buffer;
- and
- determine the subsequent portion of the data, the subsequent portion of the data being temporally adjacent to the latest portion of the data included in the buffer, not being present in the buffer, and being available at a third time less than the second time, the subsequent portion of the data and the latest portion of the data having a common bitrate;
- determine deadline information representative of a time by which the subsequent portion of the data needs to be received;
- generate a hypertext transfer protocol (HTTP) request for the subsequent portion of the data and specify, in a query parameter of a uniform resource locator (URL) of a header of the HTTP request, deadline information specifying a time by which the subsequent portion of the data must be received to avoid an underrun of the buffer;
- and
- in response to the subsequent portion of the data being available, send, to a server device, the HTTP request for the subsequent portion of the data and the deadline information specifying the time by which the subsequent portion of the data must be received.
A device for retrieving data having real-time constraints, the device comprising:
- means for determining times during which the data will be available for download;
- means for determining, at a first time, a second time at which a subsequent portion of the data is needed to prevent a buffer underrun for a buffer of a client device, the first time being earlier than the second time, including:
- means for determining a latest portion of the data included in the buffer;
- and
- means for determining the subsequent portion of the data, the subsequent portion of the data being temporally adjacent to the latest portion of the data included in the buffer, not being present in the buffer, and being available at a third time less than the second time, the subsequent portion of the data and the latest portion of the data having a common bitrate;
- means for determining deadline information representative of a time by which the subsequent portion of the data needs to be received;
- means for generating a hypertext transfer protocol (HTTP) request for the subsequent portion of the data and specifying, in a query parameter of a uniform resource locator (URL) of a header of the HTTP request, deadline information specifying a time by which the subsequent portion of the data must be received to avoid an underrun of the buffer;
- and
- means for sending, to a server device and in response to the subsequent portion of the data being available, the HTTP request for the subsequent portion of the data and the deadline information specifying the time by which the subsequent portion of the data must be received.
Dependencies are inferred from the claim text.