IP Library Granted Patent US 9,350,780
Granted Patent B2
US 9,350,780 · App. 14/268,176 · Granted May 24, 2016

Insertion of graphic overlays into a stream

Inventors: Charles F. Good (Cincinnati, OH); Ian Zenoni (Highlands Ranch, CO)
Assignee: WOWZA MEDIA SYSTEMS, LLC
H04L65/602H04L65/608H04N19/40H04N21/2662H04N21/47202H04N21/8153H04N21/845
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 9,350,780
App. No.
14/268,176
Granted
May 24, 2016
Kind
B2
Abstract

A particular method includes receiving, at a media server, a request for a first rendition of a stream. The method also includes generating a portion of the first rendition. Generating the portion of the first rendition includes determining whether one or more first overlay images are enabled and inserting the one or more first overlay images into one or more frames of the portion of the first rendition conditioned on the one or more first overlay images being enabled. The method further includes sending the portion of the first rendition to a computing device.

Claims (44)

1. A non-transitory computer-readable medium comprising instructions that, when executed, cause a processor to perform operations including:

receiving, at a media server, a request for a first adaptive bitrate rendition of a plurality of adaptive bitrate renditions of a stream, wherein at least two of the plurality of adaptive bitrate renditions have different bitrates;

determining whether a first overlay image is enabled for the first adaptive bitrate rendition based on a first set of transcoding parameters identified by a transcoding template; and

performing one of:

inserting the first overlay image into at least one frame of a portion of the first adaptive bitrate rendition and sending the portion of the first adaptive bitrate rendition to a computing device when a transcoding parameter of the first set of transcoding parameters identified by the transcoding template indicates that the first overlay image is enabled; or

sending the portion of the first adaptive bitrate rendition to the computing device without inserting the first overlay image into the at least one frame of the portion when the transcoding parameter of the first set of transcoding parameters identified by the transcoding template indicates that the first overlay image is not enabled.

2. A method comprising:

receiving, at a media server, a request for a first adaptive bitrate rendition of a plurality of adaptive bitrate renditions of a stream, wherein at least two of the plurality of adaptive bitrate renditions have different bitrates;

determining whether a first overlay image is enabled for the first adaptive bitrate rendition based on a first set of transcoding parameters identified by a transcoding template; and

performing one of:

inserting the first overlay image into at least one frame of a portion of the first adaptive bitrate rendition and sending the portion of the first adaptive bitrate rendition to a computing device when a transcoding parameter of the first set of transcoding parameters identified by the transcoding template indicates that the first overlay image is enabled; or

sending the portion of the first adaptive bitrate rendition to the computing device without inserting the first overlay image into the at least one frame of the portion when the transcoding parameter of the first set of transcoding parameters identified by the transcoding template indicates that the first overlay image is not enabled.

3. The method of claim 2 , further comprising:

receiving, at the media server, a second request for a second adaptive bitrate rendition of the stream;

determining whether a second overlay image is enabled for the second adaptive bitrate rendition; and

inserting the second overlay image into at least one frame of a portion of the second adaptive bitrate rendition and sending the portion of the second adaptive bitrate rendition to a second computing device when a second transcoding parameter identified by the transcoding template indicates that the second overlay image is enabled.

4. The method of claim 2 , wherein the transcoding template identifies at least one adaptive streaming parameter.

5. The method of claim 2 , wherein the first adaptive bitrate rendition is requested by the computing device based on at least one of playback conditions at the computing device or network conditions at the computing device.

6. The method of claim 2 , wherein the transcoding template includes data associated with at least one of a stream bitrate, an enabled or disabled image overlay, a path of an image, a display location, a display alignment, a display frame size, a display frame rate, a CODEC, a Z-order of the image, a display opacity, a number of audio channels, or a check for updates.

7. The method of claim 3 , wherein at least one of the first overlay image or the second overlay image corresponds to a static overlay.

8. The method of claim 3 , wherein at least one of the first overlay image or the second overlay image corresponds to a dynamic overlay.

9. The method of claim 2 , further comprising scaling the stream to generate a plurality of scaled streams.

10. The method of claim 9 , wherein the transcoding template identifies a number of the plurality of scaled streams and at least one parameter of at least one scaled stream of the plurality of scaled streams.

11. The method of claim 3 , wherein the portion of the first adaptive bitrate rendition is sent to the computing device while the portion of the second adaptive bitrate rendition is sent to the second computing device.

12. A media server comprising:

a memory configured to store a transcoding template;

a processor; and

a transcoder executable by the processor to:

receive a request for a first adaptive bitrate rendition of a plurality of adaptive bitrate renditions of a stream, wherein at least two of the plurality of adaptive bitrate renditions have different bitrates;

determine whether a first overlay image is enabled for the first adaptive bitrate rendition based on a first set of transcoding parameters identified by the transcoding template; and

perform one of:

insert the first overlay image into at least one frame of a portion of the first adaptive bitrate rendition and send, by a network interface, the portion of the first adaptive bitrate rendition to a computing device when a transcoding parameter of the first set of transcoding parameters identified by the transcoding template indicates that the first overlay image is enabled; or

send, by the network interface, the portion of the first adaptive bitrate rendition to the computing device without inserting the first overlay image into the at least one frame of the portion when the transcoding parameter of the first set of transcoding parameters identified by the transcoding template indicates that the first overlay image is not enabled.

13. The media server of claim 12 , wherein the transcoder is further executable by the processor to:

receive a second request for a second adaptive bitrate rendition of the stream;

determine whether a second overlay image is enabled for the second adaptive bitrate rendition; and

insert the second overlay image into at least one frame of a portion of the second adaptive bitrate rendition and send the portion of the second adaptive bitrate rendition to a second computer device when a second transcoding parameter identified by the transcoding template indicates that the second overlay image is enabled.

14. The media server of claim 12 , wherein the transcoding template identifies at least one adaptive streaming parameter.

15. The media server of claim 12 , wherein the first adaptive bitrate rendition is requested by the computing device based on at least one of playback conditions at the computing device or network conditions at the computing device.

16. The media server of claim 13 , wherein the transcoding template includes data associated with at least one of a stream bitrate, an enabled or disabled image overlay, a path of an image, a display location, a display alignment, a display frame size, a display frame rate, a CODEC, a Z-order of the image, a display opacity, a number of audio channels, or a check for updates.

17. The media server of claim 13 , wherein at least one of the first overlay image or the second overlay image corresponds to a static overlay.

18. The media server of claim 13 , wherein at least one of the first overlay image or the second overlay image corresponds to a dynamic overlay.

19. The media server of claim 12 , wherein the transcoder is executable by the processor to scale the stream to generate a plurality of scaled streams.

20. The media server of claim 19 , wherein the transcoding template identifies a number of the plurality of scaled streams and at least one parameter of at least one scaled stream of the plurality of scaled streams.

Assignments (2)
SECURITY INTEREST Recorded May 28, 2021
From: WOWZA MEDIA SYSTEMS, LLC
To: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
Reel/Frame 056422/0263 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 2, 2014
From: GOOD, CHARLES F.; ZENONI, IAN
To: WOWZA MEDIA SYSTEMS, LLC
Reel/Frame 032808/0768 →
Continuity (2)
Continuation 13842464 · Mar 15, 2013
Related Publication 20140281014A1 · Sep 18, 2014