IP Library Patent Application 14168709
Patent Application
App. No. 14/168,709

METHOD AND SYSTEM FOR AD INSERTION IN OVER-THE-TOP LIVE MEDIA DELIVERY

Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US None
App. No.
14/168,709
Abstract

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.

Claims (49)

1 . A method for operating a server computer system to distribute content, comprising:

processing a live content stream as source content in real-time;

detecting program boundaries in the source content;

obtaining program information for a program in the source content;

transforming the source content such that it is suitable for rendering on a plurality of client devices while maintaining program boundaries, the transformed source content including the program information and being uploaded to a content delivery network for delivery to the client devices;

generating manifest files for the transformed content and uploading the manifest files to a content delivery network for retrieval and use by the client devices in downloading the uploaded transformed content;

providing program boundary information to the client devices by one or both of inserting program boundary indicators into the transformed content and inserting program boundary information into the manifest files; and

including in the program boundary information indicators of upcoming program boundaries, the start of new programs, and the end of current programs.

2 . The method of claim 1 , wherein the program information includes timestamp and program identification information included in the source content, and wherein obtaining the program information includes extracting the timestamp and program identification information from the source content.

3 . The method of claim 1 , wherein the content is audio/video content.

4 . The method of claim 1 , wherein the content transformations include transcoding video content into a plurality of different bitrates, frame rates, resolutions, codecs, languages and container formats, including segmented formats which store content in fixed duration segments.

5 . The method of claim 4 , further comprising: generating segments with truncated durations such that segment boundaries match program boundaries.

6 . The method of claim 1 , wherein the program boundaries include advertisement boundaries.

7 . The method of claim 6 , further comprising: detecting advertisement pod boundaries based on in-band signaling.

8 . The method of claim 7 , wherein the in-band signaling includes SCTE-35 cue tones.

9 . The method of claim 6 , further comprising: detecting advertisement pod boundaries provided out-of-band signaling.

10 . The method of claim 9 , wherein the out-of-band signaling is based on wall-clock timestamps.

11 . The method of claim 6 , wherein a request is issued to an advertisement decision server to retrieve replacement advertisements.

12 . The method of claim 11 , wherein the request employs a protocol selected from SCTE-130, Video Ad Serving Template/Video Multiple Ad Playlist, and a non-standard protocol.

13 . The method of claim 11 , further comprising: determining individual advertisement asset boundaries based on the placement and availability information in an advertisement decision server response.

14 . The method of claim 11 , further comprising: parsing replacement advertisement location information from an advertisement decision server response.

15 . The method of claim 14 , further comprising: caching advertisement decision server responses locally for use in future advertisement replacement opportunities.

16 . The method of claim 14 , further comprising: retrieving advertisement asset segments and replacing generated segments with advertisement segments prior to uploading the segment to the content delivery networks.

17 . The method of claim 14 , further comprising: replacing generated segment URLs in the manifest with advertisement segment URLs segments prior to uploading the manifest to the content delivery networks.

18 . The method of claim 1 , further comprising: supporting the representing of program boundaries in a plurality of manifest file formats using explicit tags and comments as well as implicitly via segment durations.

19 . The method of claim 18 , wherein the manifest file formats include HLS m3u8 and DASH MPD.

20 . The method of claim 1 , further comprising: inserting proxy URLs into the manifest file for segments within an advertisement program boundary.

21 . The method of claim 20 , further comprising: appending advertisement decision server, program identifier, and/or advertisement spot information to the proxy URLs.

22 . The method of claim 21 , further comprising: including a unique, sequentially increasing identifier for specifying the relative position of segment requests.

23 . The method of claim 1 , further comprising: supporting the representing of program boundaries in transformed content using a plurality of in-band metadata formats.

24 . The method of claim 23 , wherein the in-band metadata includes one or more of ID3 tags, non-standard frame types, and non-standard metadata headers.

25 . The method of claim 23 , further comprising: inserting advertisement decision server, program identifier, and/or advertisement spot information into advertisement program boundary metadata.

26 . A computerized device operable as a live stream processor 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 distributing content, the method including:

processing a live content stream as source content in real-time;

detecting program boundaries in the source content;

obtaining program information for a program in the source content;

transforming the source content such that it is suitable for rendering on a plurality of client devices while maintaining program boundaries, the transformed source content including the program information and being uploaded to a content delivery network for delivery to the client devices;

generating manifest files for the transformed content and uploading the manifest files to a content delivery network for retrieval and use by the client devices in downloading the uploaded transformed content;

providing program boundary information to the client devices by one or both of inserting program boundary indicators into the transformed content and inserting program boundary information into the manifest files; and

including in the program boundary information indicators of upcoming program boundaries, the start of new programs, and the end of current programs.

27 . The computerized device of claim 26 , wherein, in the method performed by execution of the computer program instructions, the program boundaries include advertisement boundaries.

28 . The computerized device of claim 27 , wherein, in the method performed by execution of the computer program instructions, a request is issued to an advertisement decision server to retrieve replacement advertisements.

29 . The computerized device of claim 28 , wherein the method performed by execution of the computer program instructions includes parsing replacement advertisement location information from an advertisement decision server response.

30 . The computerized device of claim 26 , wherein the method performed by execution of the computer program instructions includes supporting the representing of program boundaries in a plurality of manifest file formats using explicit tags and comments as well as implicitly via segment durations.

31 . The computerized device of claim 26 , wherein the method performed by execution of the computer program instructions includes inserting proxy URLs into the manifest file for segments within an advertisement program boundary.

Assignments (3)
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE NAME PREVIOUSLY RECORDED AT REEL: 034532 FRAME: 0988. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jul 14, 2015
From: AZUKI SYSTEMS, INC.
To: ERICSSON AB
Reel/Frame 036099/0513 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 17, 2014
From: AZUKI SYSTEMS, INC.
To: TELEFONAKTIEBOLAGET LM ERICSSON (PUBL)
Reel/Frame 034532/0988 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 19, 2014
From: MA, KEVIN J.; HICKEY, ROBERT; NAIR, RAJ; TWEEDALE, PAUL; BIAGINI, DANIEL; XU, JIANGUO; NAVALI, PRABHUDEV
To: AZUKI SYSTEMS, INC.
Reel/Frame 032472/0006 →