US 12,075,133 B2
Dynamic conditional advertisement insertion
Thomas Stockhammer, Bergen (DE); Charles Nung Lo, San Diego, CA (US); Gordon Kent Walker, Poway, CA (US); and Giridhar Dhati Mandyam, San Diego, CA (US)
Assigned to QUALCOMM Incorporated, San Diego, CA (US)
Filed by QUALCOMM Incorporated, San Diego, CA (US)
Filed on Jan. 30, 2019, as Appl. No. 16/262,273.
Claims priority of provisional application 62/633,472, filed on Feb. 21, 2018.
Claims priority of provisional application 62/624,603, filed on Jan. 31, 2018.
Prior Publication US 2019/0238950 A1, Aug. 1, 2019
Int. Cl. H04N 21/81 (2011.01); H04N 21/43 (2011.01); H04N 21/433 (2011.01); H04N 21/434 (2011.01); H04N 21/44 (2011.01); H04N 21/462 (2011.01); H04N 21/6587 (2011.01); H04N 21/643 (2011.01)
CPC H04N 21/812 (2013.01) [H04N 21/43072 (2020.08); H04N 21/433 (2013.01); H04N 21/434 (2013.01); H04N 21/44016 (2013.01); H04N 21/4622 (2013.01); H04N 21/6587 (2013.01); H04N 21/643 (2013.01)] 28 Claims
OG exemplary drawing
 
1. A method of retrieving media data, the method comprising:
retrieving, by a processing system comprising one or more processors implemented in circuitry of a client device, main media data from a main media server device according to an initial manifest file for the main media data in real time as part of a live stream, the main media data comprising media data of a representation that is assigned a non-zero value for a presentation time offset in the initial manifest file, the main media server device being separate from an advertisement server device, wherein retrieving the main media data comprises receiving the main media data via a first stream from the main media server device, the first stream comprising the live stream;
receiving, by the processing system, data indicating that the initial manifest file has expired for the live stream;
sending, by the processing system, a request for an updated manifest file for the main media data;
receiving, by the processing system, the updated manifest file for the main media data, the updated manifest file including data for continuing to retrieve the main media data in real time as part of the live stream, and the updated manifest file further including data for retrieving one or more remote periods including advertisement content;
determining, by the processing system, an advertisement insertion time slot of the main media data from the updated manifest file for the main media data, the advertisement insertion time slot representing a defined gap in the main media data at a presentation time;
sending, by the processing system, advertisement information to the advertisement server device, the advertisement information representing characteristics of the advertisement content to be received to fill the defined gap in the main media data, the characteristics including data representing the advertisement insertion time slot and matching qualities of the main media data, wherein sending the advertisement information to the advertisement server device comprises constructing one or more network packets including an Internet protocol (IP) address of the advertisement server device, the one or more network packets including the advertisement information, and sending the one or more network packets to the advertisement server device;
in response to sending the advertisement information, receiving, by the processing system, the advertisement content from the advertisement server device conforming to the characteristics, the advertisement content being formatted to fill the defined gap at the presentation time and to prevent overlap between the advertisement content and the main media data, wherein receiving the advertisement content comprises receiving the advertisement content via a second stream from the advertisement server device, the second stream being separate from the first stream, such that the advertisement content as received by the processing system is separate from the main media data;
provisioning, by the processing system, the advertisement content to the main media data, wherein provisioning the advertisement content to the main media data comprises inserting, by the processing system, the advertisement content into the main media data at the advertisement insertion time slot of the main media data to fill the defined gap at the presentation time and to prevent overlap between the advertisement content and the main media data; and
sending, by the processing system, the main media data including the advertisement content at the advertisement insertion time slot to a video decoder of the client device.