IP Library Granted Patent US 10,986,379
Granted Patent B2
US 10,986,379 · App. 15/580,593 · Granted Apr 20, 2021

Content management and provisioning system

Inventors: Robert D. Green (Seattle, WA); John W. Morris (Washougal, WA); James M. Kott (Kirkland, WA); Brian S. Bosworth (Edgewater, MD)
Assignee: WIDEORBIT LLC
H04N21/23424H04N21/233H04N21/235H04N21/2335H04N21/6125H04N21/812H04N21/8455H04N21/8456
View Patent ↗
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 10,986,379
App. No.
15/580,593
Granted
Apr 20, 2021
Kind
B2
Abstract

Systems and methods for content and program type detection, including identification of true boundaries between content segments. A broadcast provider sends a broadcast as an encoded stream. During a switch between content types, an automation system sends identifying metadata indicative of an approximate boundary between content types. A mediacast generation system receives the encoded stream of content and metadata, processes the metadata, time corrects the metadata, and slices the content on the exact boundary where the content change occurs. The mediacast generation system decodes an audio stream directly into Waveform Audio File Format (WAVE) while using an envelope follower to measure amplitude. When the system detects a metadata marker, an analyzer may look inside a buffered time window. The WAVE data may be analyzed to look for a period most likely to be the true boundary or split point between content segments. The content may then be split up on the new true boundary.

Claims (63)

1. A method of operation in a content management system, the content management system comprising at least one processor and at least one nontransitory processor-readable medium communicatively coupled to the at least one processor, the method comprising:

receiving, by the at least one processor, an encoded mediacast source data flow from one of a plurality of broadcasters or Webcasters over a data communications channel, the encoded mediacast source data flow comprises a plurality of encoded content segments each encoding at least audio data, the plurality of encoded content segments interspersed with a plurality of encoded metadata;

decoding, by the at least one processor, the encoded mediacast source data flow to extract the audio data and the metadata;

monitoring, in real-time by the at least one processor, the decoded mediacast source data flow to detect a switch between content types by attempting to detect a metadata marker in the mediacast source data flow, the metadata marker comprising in-band identifying metadata in the decoded mediacast data flow;

in response to the metadata marker being detected:

determining, by the at least one processor, an approximate boundary between two of the plurality of encoded content segments by associating the detected metadata marker with the approximate boundary between the two of the plurality of encoded content segments;

selecting, by the at least one processor, an evaluation time window of the audio data proximate the detected metadata marker;

detecting, by the at least one processor, a true boundary between two of the plurality of content segments within the evaluation time window of the audio data;

storing, by the at least one processor, a logical association between the detected metadata marker and the detected true boundary between the two of the plurality of content segments in the at least one nontransitory processor-readable medium, the logical association being a marker offset indicating a period of mistiming between the detected metadata marker and the detected true boundary; and

logically shifting, by the at least one processor, the detected metadata marker in time to a point that corresponds with the detected true boundary between the two of the plurality of content segments;

in response to the metadata marker not being detected:

utilizing, by the at least one processor, an original metadata split point as the detected true boundary between two of the plurality of content segments; and

generating, by the at least one processor, a modified mediacast flow by logically splitting the mediacast source data flow at the detected true boundary.

2. The method of claim 1 wherein detecting the true boundary between two of the plurality of content segments within the evaluation time window of the audio data comprises detecting amplitude variations of the audio data.

3. The method of claim 2 wherein detecting amplitude variations of the audio data comprises detecting amplitude variations utilizing an envelope follower.

4. The method of claim 1 wherein detecting the true boundary between two of the plurality of content segments within the evaluation time window of the audio data comprises detecting a period of low amplitude for the audio data within the evaluation time window.

5. The method of claim 1 wherein selecting an evaluation time window of audio data proximate the detected metadata marker comprises selecting an evaluation time window of audio data that extends at least from at least one second before the detected metadata marker to at least on second after the detected metadata marker.

6. The method of claim 1 wherein selecting an evaluation time window of audio data proximate the detected metadata marker comprises selecting an evaluation time window having a duration of at least ten seconds.

7. The method of claim 1 wherein selecting an evaluation time window of audio data proximate the detected metadata marker comprises selecting an evaluation time window that extends from a time before the detected metadata marker to a time after the detected metadata marker.

8. The method of claim 1 wherein receiving an encoded mediacast source data flow comprises receiving an encoded mediacast source data flow from a remotely located processor-based system associated with at least one of a plurality of mediacasters.

9. The method of claim 1 wherein receiving an encoded mediacast source dataflow comprises receiving a mediacast source data flow encoded in one of an ICECAST, SHOUTCAST®, RealMedia®, Windows Media®, or QuickTime® format, and decoding the encoded mediacast source data flow comprises decoding the encoded mediacast source data flow using an ICECAST, SHOUTCAST®, RealMedia®, Windows Media®, or QuickTime® encoder, respectively.

10. The method of claim 1 , further comprising:

causing delivery of the modified mediacast source data flow over a network by at least one component of the content management system.

11. The method of claim 1 , further comprising:

encoding the modified mediacast flow as content fragments; and

providing the content fragments to a number of content delivery networks for retrieval of the content fragments by content consumers.

12. A content management system, comprising:

at least one communications port communicatively coupleable to receive an encoded mediacast source data flow from a broadcaster or a Webcaster, the encoded mediacast source data flow comprising a plurality of encoded content segments each encoding at least audio data, the plurality of encoded content segments interspersed with a plurality of encoded metadata, at least some of the metadata including a metadata marker indicative of a presence of a boundary between two of the plurality of encoded content segments at a time proximate the metadata marker;

at least one nontransitory processor-readable medium which stores a number of processor-executable instructions; and

at least one processor communicatively coupled to the at least one communications port and communicatively coupled to the at least one nontransitory processor-readable medium to execute the processor-executable instructions, which execution causes the at least one processor to:

receive, via the at least one communications port, an encoded mediacast source data flow from the broadcaster or the Webcaster, the encoded mediacast source data flow comprises a plurality of encoded content segments each encoding at least audio data, the plurality of encoded content segments interspersed with a plurality of encoded metadata;

decode the encoded mediacast source data flow to extract the audio data and the metadata;

monitor, in real-time, the decoded mediacast source data flow to detect a switch between content types by attempting to detect a metadata marker in the mediacast source data flow, the metadata marker comprising in-band identifying metadata in the decoded mediacast data flow;

in response to the metadata marker being detected:

determine an approximate boundary between two of the plurality of encoded content segments by associating the detected metadata marker with the approximate boundary between the two of the plurality of encoded content segments;

select an evaluation time window of the audio data proximate the detected metadata marker;

detect a true boundary between two of the plurality of content segments within the evaluation time window of the audio data;

store a marker offset indicating a period of mistiming between the detected metadata marker and the detected true boundary between the two of the plurality of content segments in the at least one nontransitory processor-readable medium; and

logically shift the detected metadata marker in time to a point that corresponds with the detected true boundary between the two of the plurality of content segments;

in response to the metadata marker not being detected:

utilize an original metadata split point as the detected true boundary between two of the plurality of content segments; and

logically split the mediacast source data flow at the detected true boundary to generate a modified mediacast flow.

13. The content management system of claim 12 wherein the at least one processor:

detects amplitude variations of the audio data.

14. The content management system of claim 12 wherein the at least one processor:

detects amplitude variations utilizing an envelope follower.

15. The content management system of claim 12 wherein the at least one processor:

detects a period of low amplitude for the audio data within the evaluation time window.

16. The content management system of claim 12 wherein the at least one processor:

selects an evaluation time window of audio data that extends at least from at least one second before the detected metadata marker to at least on second after the detected metadata marker.

17. The content management system of claim 12 wherein the at least one processor:

selects an evaluation time window having a duration of at least ten seconds.

18. The content management system of claim 12 wherein the at least one processor:

selects an evaluation time window that extends from a time before the detected metadata marker to a time after the detected metadata marker.

19. The content management system of claim 12 wherein the at least one processor:

receives an encoded mediacast source data flow from a remotely located processor-based system associated with at least one of a plurality of mediacasters.

20. The content management system of claim 12 wherein the at least one processor:

receives a mediacast source data flow encoded in one of an ICECAST, SHOUTCAST®, RealMedia®, Windows Media®, or QuickTime® format, and decoding the encoded mediacast source data flow comprises decoding the encoded mediacast source data flow using an ICECAST, SHOUTCAST®, RealMedia®, Windows Media®, or QuickTime® encoder, respectively.

21. The content management system of claim 12 wherein the at least one processor:

causes delivery of the modified mediacast source data flow over a network via the at least one communications port of the content management system.

22. The content management system of claim 12 wherein the at least one processor:

encodes the modified mediacast flow as content fragments; and

provides the content fragments to a number of content delivery networks for retrieval of the content fragments by content consumers.

Assignments (8)
SECURITY AGREEMENT Recorded Mar 6, 2023
From: WIDEORBIT LLC
To: ROYAL BANK OF CANADA, AS AGENT
Reel/Frame 062958/0222 →
RELEASE OF SECURITY INTEREST Recorded Feb 28, 2023
From: TC LENDING, LLC, AS COLLATERAL AGENT
To: WIDEORBIT LLC
Reel/Frame 062820/0541 →
RELEASE OF SECURITY INTEREST Recorded Feb 28, 2023
From: TC LENDING, LLC, AS COLLATERAL AGENT
To: WIDEORBIT LLC
Reel/Frame 062820/0836 →
GRANT OF A SECURITY INTEREST - PATENTS Recorded Jul 12, 2021
From: WIDEORBIT LLC
To: TC LENDING, LLC, AS COLLATERAL AGENT
Reel/Frame 056845/0516 →
CERTIFICATE OF CONVERSION Recorded Nov 23, 2020
From: WIDEORBIT OPCO INC.
To: WIDEORBIT LLC
Reel/Frame 054503/0108 →
MERGER Recorded Nov 23, 2020
From: WIDEORBIT MERGER CORPORATION; WIDEORBIT INC.
To: WIDEORBIT OPCO INC.
Reel/Frame 054449/0362 →
CERTIFICATE OF FORMATION Recorded Nov 23, 2020
From: WIDEORBIT LLC
To: WIDEORBIT LLC
Reel/Frame 054503/0078 →
GRANT OF A SECURITY INTEREST -- PATENTS Recorded Jul 8, 2020
From: WIDEORBIT INC.
To: TC LENDING, LLC, AS COLLATERAL AGENT
Reel/Frame 053146/0322 →