IP Library Granted Patent US 9,420,317
Granted Patent B2
US 9,420,317 · App. 15/050,198 · Granted Aug 16, 2016

Adaptive streaming to multicast and constrained-fidelity constant bit rate encoding

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,420,317
App. No.
15/050,198
Granted
Aug 16, 2016
Kind
B2
Abstract

This disclosure describes and adaptive bit rate encoding and distribution techniques for conserving bandwidth usage in a channel. The invention comprises, an encoder or transcoder, a video fragmenter, a video-quality analyzer that output complexity values, a streaming server, a process by which individual fragments are selected for distribution, a video-quality threshold, and, optionally a bandwidth reclamation factor. A video-quality analyzer inspects any combination of the input and output of the encoder, transcoder, or fragmenter, and produces a video-quality metric for each fragment. A fragment-selection process responds to request from a client device. If the video-quality value of the fragment requested exceeds the video-quality threshold, a different fragment having a lower vide-quality value is selected instead. Otherwise, the fragment that would have been selected is selected. In some embodiments, the video-quality threshold can be dynamically adjusted to permit varying amounts of bandwidth reclamation.

Claims (43)

1. A method comprising:

encoding a video to produce a plurality of fragments in one or more adaptive bitrate formats;

storing the plurality of fragments;

receiving a request for content from a plurality of client devices;

determining whether the plurality of client devices support adaptive bitrate streaming;

responsive to determining that the plurality of client devices do not support adaptive bitrate streaming, creating a multicast stream from fragments from the plurality of fragments in a format supported by the plurality of client devices; and

transmitting the multicast stream to the plurality of client devices according to a multicast protocol.

2. The method of claim 1 , wherein the multicast protocol is an unfragmented real time delivery protocol and the multicast stream is created in the unfragmented real time delivery protocol.

3. The method of claim 1 , wherein the multicast stream is a MPEG2 transport stream.

4. The method of claim 1 , further comprising:

creating a plurality of multicast streams from fragments from the plurality of fragments, each of the plurality of multicast streams in a format supported by a client device.

5. The method of claim 1 , wherein the fragments used to create the multicast stream are selected based on available bandwidth of client devices in a group.

6. The method of claim 1 , wherein the fragments used to create the multicast stream are selected based on a service provider policy applicable to one or more subscribers of client devices.

7. The method of claim 1 , wherein the multicast protocol is Internet Protocol Television (IPTV).

8. The method of claim 1 , wherein the multicast protocol is an over-the-air broadcast protocol.

9. The method of claim 1 , wherein the plurality of client devices are set-top boxes.

10. A computer program product comprising a non-transitory computer-readable storage medium containing computer program instructions for:

encoding a video to produce a plurality of fragments in one or more adaptive bitrate formats;

storing the plurality of fragments;

receiving a request for content from a plurality of client devices;

determining whether the plurality of client devices support adaptive bitrate streaming;

responsive to determining that the plurality of client devices do not support adaptive bitrate streaming, creating a multicast stream from fragments from the plurality of fragments in a format supported by the plurality of client devices; and

transmitting the multicast stream to the plurality of client devices according to a multicast protocol.

11. The computer program product of claim 10 , wherein the computer program instructions further for:

creating a plurality of multicast streams from fragments from the plurality of fragments, each of the plurality of multicast streams in a format supported by a client device.

12. The computer program product of claim 10 , wherein the fragments used to create the multicast stream are selected based on available bandwidth of client devices in a group.

13. The computer program product of claim 10 , wherein the fragments used to create the multicast stream are selected based on a service provider policy applicable to one or more subscribers of client devices.

14. The computer program product of claim 10 , wherein the multicast protocol is an unfragmented real time delivery protocol and the multicast stream is created in the unfragmented real time delivery protocol.

15. The computer program product of claim 10 , wherein the multicast protocol is Internet Protocol Television (IPTV).

16. The computer program product of claim 10 , wherein the multicast protocol is an over-the-air broadcast protocol.

17. A computer system comprising:

one or more processors; and

one or more non-transitory computer-readable storage mediums containing computer program instructions executed by the one or more processors for:

encoding a video to produce a plurality of fragments in one or more adaptive bitrate formats;

storing the plurality of fragments;

receiving a request for content from a plurality of client devices;

determining whether the plurality of client devices support adaptive bitrate streaming;

responsive to determining that the plurality of client devices do not support adaptive bitrate streaming, creating a multicast stream from fragments from the plurality of fragments in a format supported by the plurality of client devices; and

transmitting the multicast stream to the plurality of client devices according to a multicast protocol.

18. The system of claim 17 , wherein the computer program instructions further for:

creating a plurality of multicast streams from fragments from the plurality of fragments, each of the plurality of multicast streams in a format supported by a client device.

19. The system of claim 17 , wherein the fragments used to create the multicast stream are selected based on available bandwidth of client devices in a group.

20. The system of claim 17 , wherein the fragments used to create the multicast stream are selected based on a service provider policy applicable to one or more subscribers of client devices.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 25, 2016
From: MAGEE, MARK R.
To: MOTOROLA MOBILITY LLC
Reel/Frame 037819/0694 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 25, 2016
From: MOTOROLA MOBILITY LLC
To: GOOGLE TECHNOLOGY HOLDINGS LLC
Reel/Frame 037915/0109 →