US 12,088,652 B2
Deadline signaling for streaming of media data
Thomas Stockhammer, Bergen (DE); Xipeng Zhu, San Diego, CA (US); and Gordon Kent Walker, Poway, CA (US)
Assigned to QUALCOMM INCORPORATED, San Diego, CA (US)
Appl. No. 15/765,977
Filed by QUALCOMM Incorporated, San Diego, CA (US)
PCT Filed Oct. 14, 2016, PCT No. PCT/CN2016/102194
§ 371(c)(1), (2) Date Apr. 4, 2018,
PCT Pub. No. WO2017/063592, PCT Pub. Date Apr. 20, 2017.
Claims priority of application No. PCT/CN2015/092095 (WO), filed on Oct. 16, 2015.
Prior Publication US 2018/0316740 A1, Nov. 1, 2018
Int. Cl. H04N 21/845 (2011.01); H04L 9/40 (2022.01); H04L 65/40 (2022.01); H04L 65/65 (2022.01); H04L 67/02 (2022.01); H04N 21/262 (2011.01); H04N 21/433 (2011.01); H04N 21/44 (2011.01); H04N 21/643 (2011.01)
CPC H04L 65/65 (2022.05) [H04L 9/40 (2022.05); H04L 65/40 (2013.01); H04L 67/02 (2013.01); H04N 21/26241 (2013.01); H04N 21/26258 (2013.01); H04N 21/4331 (2013.01); H04N 21/44004 (2013.01); H04N 21/64322 (2013.01); H04N 21/8456 (2013.01)] 24 Claims
OG exemplary drawing
 
1. A method of retrieving data having real-time constraints, the method comprising, by a real-time application executed by a hardware-based processor comprising digital logic 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 to prevent a buffer underrun for a buffer of the client device, the first time being earlier than the second time, including:
determining a latest portion of the data included in the buffer;
determining the second time as being no later than a time at which the latest portion of the data will be played by 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;
determining deadline information, the deadline information comprising at least one of information representative of at least one of a wall-clock time by which the subsequent portion of the data needs to be received or a maximum round-trip time from issuing a hypertext transfer protocol (HTTP) request specifying the deadline information until the subsequent portion of the data specified in the HTTP request needs to be received;
generating the 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, the HTTP request comprising one of an HTTP GET or a partial GET request, the deadline information representative of the second time at which the subsequent portion of the data is needed to prevent the buffer underrun; 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 the HTTP request for the subsequent portion of the data and the deadline information representative of the second time at which the subsequent portion of the data is needed to prevent the buffer underrun to a server device.