Low latency cacheable media streaming
US-9237387-B2 · Jan 12, 2016 · US
US10373196B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10373196-B2 |
| Application number | US-201414168734-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jan 30, 2014 |
| Priority date | Jun 28, 2012 |
| Publication date | Aug 6, 2019 |
| Grant date | Aug 6, 2019 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A method is provided for performing targeted ad insertion in over-the-top delivery of content by detecting ad replacement opportunities in a live content stream and preparing the content for seamless replacement with segmented HTTP adaptive streaming delivery. The method includes provisions for multi-stage proxy-based segment replacement for targeted ad delivery. The method provided works transparently with standard HTTP adaptive streaming clients. A system is also specified for implementing a client and server content delivery infrastructure in accordance with the provisions of the method.
Opening claim text (preview).
What is claimed is: 1. A method of operating a computer system for targeted advertisement replacement in a live content stream, comprising: detecting metadata indicating program boundaries in the live content stream; extracting advertisement decision server, program identifier, and/or advertisement spot information from the metadata; issuing an advertisement placement request to an advertisement decision server; including advertisement decision server, program identifier, and/or advertisement spot information in the advertisement placement request to the advertisement decision server; receiving and processing an advertisement placement response from the advertisement decision server, wherein the advertisement decision server response is cached locally for use in future advertisement replacement opportunities; determining advertisement program boundaries; and replacing stream advertisement asset segments of the live content stream with segments indicated in the advertisement placement response, wherein the segments indicated in the advertisement placement response are transparently proxied from a network proxy to the computer system. 2. The method of claim 1 , wherein the advertisement placement request employs a protocol selected from SCTE-130, Video Ad Serving Template/Video Multiple Ad Playlist, and a non-standard protocol. 3. The method of claim 1 , wherein the advertisement decision server, program identifier, and/or advertisement spot information are detected via inline metadata. 4. The method of claim 3 , wherein the in-band metadata includes one or more of ID3 tags, non-standard frame types, and non-standard metadata headers. 5. The method of claim 1 , wherein advertisement decision server, program identifier, and/or advertisement spot information are detected via manifest file metadata. 6. The method of claim 5 , wherein the metadata includes one or more of HLS m3u8 comments and DASH MPD tags/comments. 7. The method of claim 1 , wherein the advertisement decision server, program identifier, and/or advertisement spot information detected via segment URL metadata, e.g., appended as part of the query string. 8. The method of claim 1 , wherein subscriber identity, location, and/or demographic information are detected via segment URL metadata, e.g., appended as part of the query string. 9. The method of claim 8 , further comprising: providing subscriber identity, location, and/or demographic information to the advertisement decision server to enable advertisement personalization. 10. The method of claim 1 , further comprising: modifying advertisement segment requests to append subscriber identity, location, and/or demographic information to segment request URLs. 11. The method of claim 1 , further including sending beacon messages reporting on completed advertisement playback. 12. The method of claim 1 , further comprising: determining upcoming advertisement program boundaries, advertisement program start boundaries, and advertisement program end boundaries. 13. The method of claim 12 , wherein program boundaries are detected via in-band metadata. 14. The method of claim 13 , wherein the in-band metadata includes one or more of ID3 tags, non-standard frame types, and non-standard metadata headers. 15. The method of claim 12 , wherein program boundaries are detected via manifest file metadata. 16. The method of claim 15 , wherein the manifest file metadata includes one or more of HLS m3u8 comments and DASH MPD tags/comments. 17. The method of claim 15 , further comprising: transparently proxying and modifying the manifest file to append subscriber identity, location, and/or demographic information to segment URLs in the manifest file processed by the media player. 18. The method of claim 12 , further including: receiving a manifest request for a current live stream manifest file and retrieving the manifest file from a content delivery network; determining whether the manifest file contains a start of a new advertisement or contains segments of an advertisement currently being replaced; if the manifest file contains neither the start of a new advertisement nor segments of an advertisement currently being replaced, then responding to the manifest request with the manifest file unmodified; if the manifest file contains the start of a new advertisement, then (i) extracting advertisement decision server, program identifier, and/or advertisement spot information from the manifest request, (ii) issuing an advertisement placement request to the advertisement decision server, (iii) receiving and processing the advertisement placement response from the advertisement decision server, and responding to the manifest request with a first modified manifest file including an advertisement asset specified in the advertisement placement response; and if the manifest file contains segments of an advertisement currently being replaced, then (i) looking up segments of the advertisement currently being replaced, and (ii) responding to the manifest request with a second modified manifest file including the looked up segments. 19. The method of claim 18 , wherein the advertisement decision server returns a manifest file or a URL pointing to a manifest file specifying the segments for the replacement advertisement. 20. The method of claim 18 , wherein the advertisement decision server returns an advertisement media identifier used to look up the manifest and/or segment location information for the selected advertisement. 21. The method of claim 18 , further including storing the advertisement placement response as well as a mapping between a current client advertisement request and the advertisement placement response so that subsequent advertisement segment requests may be properly mapped for continuation of a selected advertisement. 22. A computerized device operable as a client or an ad segment proxy in a content delivery system, comprising: memory storing computer program instructions; one or more processors for executing the instructions; input/output (I/O) circuitry connecting the computerized device to external devices; and interconnect circuitry connecting the memory, processor(s) and I/O circuitry together, wherein the computer program instructions are operative when executed by the processor(s) to cause the computerized device to perform a method of processing a live content stream including: detecting metadata indicating program boundaries in the live content stream; extracting advertisement decision server, program identifier, and/or advertisement spot information from the metadata; issuing an advertisement placement request to an advertisement decision server; including advertisement decision server, program identifier, and/or advertisement spot information in the advertisement placement request to the advertisement decision server; receiving and processing the advertisement placement response from the advertisement decision server, wherein the advertisement decision server response is cached locally for use in future advertisement replacement opportunities; determining advertisement program boundaries; and replacing stream advertisement asset segments of the live content stream with segments indicated in the advertisement placement response, wherein the segments indicated in the advertisement placement response are transparently proxied from a network proxy to the computerized device. 23. The computerized device of claim 22 , wherein th
involving operations for analysing video streams, e.g. detecting features or characteristics (television picture signal circuitry for scene change detection H04N5/147; filtering for image enhancement G06T5/00; methods or arrangements for recognising scenes G06V20/00; arrangements characterised by components specially adapted for monitoring, identification or recognition of video in broadcast systems H04H60/59) · CPC title
Targeted advertisements · CPC title
for automatically generating descriptors from content, e.g. when it is not made available by its provider, using content analysis techniques · CPC title
Scheduling content for creating a personalised stream, e.g. by combining a locally stored advertisement with an incoming stream; Updating operations, e.g. for OS modules {; time-related management operations (arrangements for replacing or switching information during the broadcast or during the distribution H04H20/10)} · CPC title
Online advertisement · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.