IP Library Granted Patent US 9,160,978
Granted Patent B2
US 9,160,978 · App. 13/206,892 · Granted Oct 13, 2015

Method and apparatus related to variable duration media segments

Inventors: Sean T. McCarthy (San Francisco, CA); Thomas L. Du Breuil (Ivyland, PA); Gary Hughes (Chelmford, MA); Mark R. Magee (Campbell, CA); Wendell Sun (San Diego, CA)
Assignee: GOOGLE TECHNOLOGY HOLDINGS LLC
H04N7/17318H04N21/23418H04N21/23439H04N21/26258H04N21/6125H04N21/6373H04N21/6377H04N21/658H04N21/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 9,160,978
App. No.
13/206,892
Granted
Oct 13, 2015
Kind
B2
Abstract

A method and apparatus for an adaptive bit rate system ( 300 ) that includes a media segmenter ( 304 ). The media segmenter divides a streaming media content into a plurality of variable duration segments wherein a first of the plurality of variable duration segments has a duration different from a second of the plurality of variable duration segments so that one of the plurality of variable duration segments ends at a determined discontinuity in the streaming media content. The system also can include an encoder ( 302 ) for encoding the variable duration segments of the streaming media content. In addition, the system includes an adaptive bit rate server ( 306 ) for storing and transmitting the variable duration segments of the streaming media content.

Claims (59)

1. A method comprising:

streaming media content at a server;

determining a discontinuity in streaming media content using a content analyzer executed by a processor, wherein determining the discontinuity in the streaming media content comprises analyzing the streaming media content for boundaries where the streaming media content changes;

dividing the streaming media content into a plurality of variable duration segments using a media segmenter executed by the processor, wherein a first segment of the plurality of variable duration segments has a first duration that is different from a second segment of the plurality of variable duration segments that has a second duration, wherein the second duration is to be adjusted based on the determined discontinuity, and wherein the second segment having the adjusted second duration is to end at the determined discontinuity in the streaming media content; and

transmitting the plurality of variable duration segments of the streaming media content from the server.

2. The method of claim 1 wherein analyzing the content of the streaming media content for boundaries comprises at least one of:

analyzing the streaming media content for scene change boundaries;

analyzing the streaming media content for ad avail boundaries;

analyzing the streaming media content for channel changes, or

analyzing the streaming media content for program access information.

3. The method of claim 1 wherein analyzing the content of the streaming media content comprises using multiple rates and multiple formats.

4. The method of claim 1 wherein dividing the streaming media content into a plurality of variable duration segments comprises:

determining the second duration of the second segment of the plurality of variable duration segments; and

extending the second duration of the second segment of the plurality of variable duration segments from the first duration of the first of the plurality of variable duration segments so that the second segment of the plurality of variable duration segments ends at the determined discontinuity in the streaming media content.

5. The method of claim 1 , wherein dividing the streaming media content into a plurality of variable duration segments comprises:

determining the second duration of the second of the plurality of variable duration segments; and

decreasing the second duration of the second of the plurality of variable duration segments from the first duration of the first of the plurality of variable duration segments so that the second of the plurality of variable duration segments ends at the determined discontinuity in the streaming media content.

6. The method of claim 1 further comprising encoding the streaming media content.

7. The method of claim 6 wherein encoding the streaming media content comprises creating metadata that signals a start point and an endpoint of the variable duration segments.

8. The method of claim 1 wherein dividing the streaming media content into a plurality of variable duration segments comprises aligning determined discontinuities with an endpoint of the first of the plurality of variable duration segments.

9. The method of claim 1 further comprising:

determining a best segment duration for the plurality of variable duration segments.

10. An apparatus comprising:

a memory; and

a processor operatively coupled to the memory, the processor to:

analyze streaming media content for boundaries where the streaming media content changes to determine a discontinuity in the streaming media content;

divide the streaming media content into a plurality of variable duration segments, wherein a first segment of the plurality of variable duration segments has a first duration that is different from a second segment of the plurality of variable duration segments that has a second duration, wherein the second duration is to be adjusted based on the determined discontinuity, and wherein the second segment having the adjusted second duration is to end at the determined discontinuity in the streaming media content;

encode the plurality of variable duration segments of the streaming media content, and

store the plurality of variable duration segments of the streaming media content.

11. The apparatus of claim 10 , the processor to perform at least one of:

determine changes in scenes as a discontinuity in the streaming media content;

determine ad avails as a discontinuity in the streaming media content;

determine channel changes as a discontinuity in the streaming media content, or

determine changes in content as a discontinuity in the streaming media content.

12. The apparatus of claim 10 wherein the processor is to determine the second duration of the second of the plurality of variable duration segments and extend the second duration of the second of the plurality of variable duration segments from the first duration of the first of the plurality of variable duration segments so that the second of the plurality of variable duration segments ends at the determined discontinuity in the streaming media content.

13. The apparatus of claim 10 wherein the processor is to determine the second duration of the second of the plurality of variable duration segments and decrease the second duration of the second of the plurality of variable duration segments from the first duration of the first of the plurality of variable duration segments so that the second of the plurality of variable duration segments ends at the determined discontinuity in the streaming media content.

14. The apparatus of claim 10 wherein the processor is to store and manage the plurality of variable duration segments.

15. The apparatus of claim 10 wherein the processor is to determine start points and endpoints of the variable duration segments and provide the start points and the endpoints to a media segmenter.

16. The apparatus of claim 10 wherein the processor is to align the determined discontinuities with an endpoint of the one of the plurality of variable duration segments.

17. The apparatus of claim 10 wherein the processor is to analyze the streaming media content using multiple rates and multiple formats.

18. A non-transitory computer readable storage medium having instructions encoded thereon which, when executed by a processor, cause the processor to perform operations comprising: streaming media content;

determining, by the processor, a discontinuity in streaming media content, wherein determining the discontinuity in the streaming media content comprises analyzing the streaming media content for boundaries where the streaming media content changes;

dividing the streaming media content into a plurality of variable duration segments, wherein a first segment of the plurality of variable duration segments has a first duration that is different from a second segment of the plurality of variable duration segments that has a second duration, wherein the second duration is to be adjusted based on the determined discontinuity, and wherein the second segment having the adjusted second duration is to end at the determined discontinuity in the streaming media content; and

transmitting the plurality of variable duration segments of the streaming media content from the server.

19. The non-transitory computer readable storage medium of claim 18 wherein analyzing the content of the streaming media content for boundaries comprises at least one of:

analyzing the streaming media content for scene change boundaries;

analyzing the streaming media content for ad avail boundaries;

analyzing the streaming media content for channel changes, or

analyzing the streaming media content for program access information.

20. The non-transitory computer readable storage medium of claim 18 wherein analyzing the content of the streaming media content comprises using multiple rates and multiple formats.

21. The non-transitory computer readable storage medium of claim 18 wherein dividing the streaming media content into a plurality of variable duration segments comprises:

determining the second duration of the second segment of the plurality of variable duration segments; and

extending the second duration of the second segment of the plurality of variable duration segments from the first duration of the first of the plurality of variable duration segments so that the second segment of the plurality of variable duration segments ends at the determined discontinuity in the streaming media content.

22. The non-transitory computer readable storage medium of claim 18 , wherein dividing the streaming media content into a plurality of variable duration segments comprises:

determining the second duration of the second of the plurality of variable duration segments; and

decreasing the second duration of the second of the plurality of variable duration segments from the first duration of the first of the plurality of variable duration segments so that the second of the plurality of variable duration segments ends at the determined discontinuity in the streaming media content.

23. The non-transitory computer readable storage medium of claim 18 wherein dividing the streaming media content into a plurality of variable duration segments comprises aligning determined discontinuities with an endpoint of the first of the plurality of variable duration segments.

24. The non-transitory computer readable storage medium of claim 18 , wherein the operations further comprise:

determining a best segment duration for the plurality of variable duration segments.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 24, 2014
From: MOTOROLA MOBILITY LLC
To: GOOGLE TECHNOLOGY HOLDINGS LLC
Reel/Frame 034469/0105 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 9, 2013
From: GENERAL INSTRUMENT CORPORATION
To: GENERAL INSTRUMENT HOLDINGS, INC.
Reel/Frame 030764/0575 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 9, 2013
From: GENERAL INSTRUMENT HOLDINGS, INC.
To: MOTOROLA MOBILITY LLC
Reel/Frame 030866/0113 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 21, 2011
From: MCCARTHY, SEAN T.; DU BREUIL, THOMAS L.; HUGHES, GARY; MAGEE, MARK R.; SUN, WENDELL
To: GENERAL INSTRUMENT CORPORATION
Reel/Frame 026942/0460 →
Continuity (2)
Provisional Application 61372229 · Aug 10, 2010
Related Publication 20120042091A1 · Feb 16, 2012