IP Library › Granted Patent US 10,362,323
Granted Patent B2
US 10,362,323 · App. 15/979,380 · Granted Jul 23, 2019

Methods and apparatus of encoding real time media content

Inventors: Joseph Forehand (Lone Tree, CO); Niem Dang (Sterling, VA); John Patti (Lakewood, CO); Kenneth Gould (Reston, VA)
Assignee: Time Warner Cable Enterprises LLC
H04N19/436H04N19/39H04N21/23439H04N21/2404H04N21/8456H04N21/85406H04N19/65
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,362,323
App. No.
15/979,380
Filed
May 14, 2018
Granted
Jul 23, 2019
Kind
B2
Examiner
ZHOU, ZHIHAN
Art Unit
2482
USPC
375/240.26
Abstract

Methods, apparatus and systems of parallel encoding and publishing media content in a plurality of encoded formats. One exemplary embodiment includes the steps of receiving at least a first portion of a first content stream; communicating the first portion of the stream to a plurality of encoders including a first through Nth encoder, operating said first through Nth encoders in parallel to perform different encoding operations in real time to generate first through Nth encoded versions of said first portion of content; monitoring the encoding status of each of the first through Nth encoders; determining when at least the first through Nth encoders are done processing the first portion of the stream, and publishing, in response to determining that the first through Nth encoders are done processing the first portion of the stream, at the same time, the successfully encoded versions of the first portion of the stream.

Claims (36)

1. A method of encoding and distributing real time media content, the method comprising:

operating first through Nth encoders in parallel to perform different encoding operations in real time to generate first through Nth encoded versions of a first portion of a first content stream, respectively, each of the first through Nth encoded versions of said first portion of the first content stream being different with respect to at least one of an encoding standard, content format, resolution or data rate to which the encoded version corresponds;

determining when at least the first through Nth encoders are done processing the first portion of the first content stream, said determining including determining on an individual per encoder basis whether the individual encoder has successfully completed encoding of the first portion of the first content stream or has encountered a failure with regard to encoding said first portion of the first content stream; and

publishing, in response to determining that at least the first through Nth encoders are done processing the first portion of the first content stream, at the same time, the successfully encoded versions of the first portion of the first content stream, said publishing including communicating information identifying where successfully encoded versions of the first portion of the first content stream are stored,

wherein publishing, in response to determining that at least the first through Nth encoders are done processing the first portion of the first content stream, at the same time, the successfully encoded versions of the first portion of the first content stream, is performed without publishing a version of the encoded first portion of the first content stream that is generated by one of the first through Nth encoders that has encountered a failure thereby maintaining alignment of the published plurality of encoded versions of the first portion of the first content stream that were generated by encoders that successfully completed encoding of said first portion of the first content stream.

2. The method of claim 1 , further comprising:

determining, when at least one of the first through Nth encoders fails to complete encoding of the first portion of the first content stream in a predetermined time, that said one of the encoders has encountered a failure with regard to encoding the first portion of the first content stream.

3. The method of claim 2 , further comprising:

storing encoded versions of the first portion of the first content stream generated by different ones of said first through Nth encoders, as the encoders complete encoding different versions of said first portion of the first content stream, said storing preceding determining that the first through Nth encoders are done processing the first portion of the first content stream and preceding said publishing.

4. The method of claim 3 , further comprising:

in response to determining that one of said first through Nth encoders has encountered a failure with regard to encoding said first portion of the first content stream, setting a failure condition indicator associated with said one of said first through Nth encoders; and

treating said one of said first through Nth encoders to have encountered a failure as being in a failure condition with regard to encoding additional portions of the first content stream until it is determined that said encoder is no longer subject to the detected encoding failure.

5. The method of claim 4 wherein while said one of said encoders is in a failure condition treating the encoder in said failure condition as having encountered a failure with regard to encoding said additional portions of the first content stream.

6. The method of claim 4 , further comprising:

determining that said one of said first through Nth encoders is no longer in a failure condition by receiving from said one of said first through Nth encoders an indication of successful coding of a subsequent content portion within a time period expected for successfully completing encoding of said subsequent content portion or a signal indicating recovery from said failure condition.

7. The method of claim 6 , wherein said first portion of the first content stream and subsequent content portions correspond to a predetermined time interval of video content.

8. The method of claim 7 , wherein said predetermined interval of video content is a 2 or 6 second interval.

9. The method of claim 7 , wherein said first content stream is a content stream communicating video corresponding to a live event, said encoding and publishing occurring while said event is ongoing.

10. The method of claim 1 , wherein each of said first through N encoders is included in a first through N computing platforms, where N is an integer value greater than one, said method further including: querying, each of said first through N computing platforms including an encoder which has been determined to have successfully completed encoding of the first portion of the first content stream, for a storage location address in which the encoded version of the first portion of the first content stream has been stored by the computing platform, said querying preceding said publishing.

11. The method of claim 10 wherein said first through N computing platforms are first through N processing blades.

12. A content processing device for encoding and distributing real time media content comprising:

a plurality of encoders including a first through Nth encoder, where N is an integer value greater than one; said first through Nth encoders being configured to operate in parallel to perform different encoding operations in real time to generate first through Nth encoded versions of a first portion of a first content stream, respectively, each of the first through Nth encoded versions of said first portion of the first content stream being different with respect to at least one of an encoding standard, content format, resolution or data rate to which the encoded version corresponds; and

a processor configured to:

determine when at least the first through Nth encoders are done processing the first portion of the first content stream, said determining including determining on an individual per encoder basis whether the individual encoder has successfully completed encoding of the first portion of the first content stream or has encountered a failure with regard to encoding said first portion of the first content stream; and

publish, in response to determining that at least the first through Nth encoders are done processing the first portion of the first content stream, at the same time, the successfully encoded versions of the first portion of the first content stream, said publishing including communicating information identifying where successfully encoded versions of the first portion of the first content stream are stored, wherein said processor is further configured as part of said publishing, to:

publish the successfully encoded versions of the first portion of the first content stream, without publishing a version of the encoded first portion of the first content stream that is generated by one of the first through Nth encoders that has encountered a failure thereby maintaining alignment of the published plurality of encoded versions of the first portion of the first content stream that were generated by encoders that successfully completed encoding of said first portion of the first content stream.

13. The content processing device of claim 12 , wherein said processor is configured to:

determine, when at least one of the first through Nth encoders fails to complete encoding of the first portion of the first content stream in a predetermined time, that said one of the encoders has encountered a failure with regard to encoding the first portion of the first content stream.

14. The content processing device of claim 13 , further comprising:

a storage device for storing encoded versions of the first portion of the first content stream generated by different ones of said first through Nth encoders.

15. The content processing device of claim 13 , further comprising:

a failure condition indicator module configured to set a failure condition indicator associated with said one of said first through Nth encoders in response to determining that one of said first through Nth encoders has encountered a failure with regard to encoding said first portion of the first content stream; and

wherein said processor is further configured to treat said one of said first through Nth encoders to have encountered a failure as being in a failure condition with regard to encoding additional portions of the first content stream until it is determined that said encoder is no longer subject to the detected encoding failure.

16. The content processing device of claim 15 wherein said processor is further configured to make a determination that said one of said first through Nth encoders is no longer in a failure condition upon receiving from said one of said first through Nth encoders an indication of successful coding of a subsequent content portion within a time period expected for successfully completing encoding of said subsequent content portion or a signal indicating recovery from said failure condition.

17. The content processing device of claim 16 , wherein said first portion of the first content stream and subsequent content portions correspond to a predetermined time interval of video content.

18. The content processing device of claim 17 , wherein said first content stream is a content stream communicating video corresponding to a live event, said encoding and publishing occurring while said event is ongoing.

Assignments (3)
SECURITY INTEREST Recorded Dec 4, 2019
From: TIME WARNER CABLE ENTERPRISES, LLC; CHARTER COMMUNICATIONS OPERATING, LLC; BRIGHT HOUSE NETWORKS, LLC
To: BANK OF AMERICA, N.A.
Reel/Frame 051287/0057 →
SECURITY INTEREST Recorded Dec 4, 2019
From: CHARTER COMMUNICATIONS OPERATING, LLC; TIME WARNER CABLE ENTERPRISES, LLC; BRIGHT HOUSE NETWORKS, LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 051287/0087 →
SECURITY INTEREST Recorded Jul 25, 2018
From: BRIGHT HOUSE NETWORKS, LLC; CHARTER COMMUNICATIONS OPERATING, LLC; TIME WARNER CABLE ENTERPRISES LLC; TIME WARNER CABLE INTERNET LLC
To: WELLS FARGO TRUST COMPANY, N.A.
Reel/Frame 046630/0193 →
Continuity (2)
Continuation 14825061 · Aug 12, 2015
Related Publication 20180262771A1 · Sep 13, 2018
Cited By (1)
US 12,337,232