System and method for generating multiple synchronized encoded representations of media data
First Claim
1. A method of producing a plurality of encoded representations of an input media signal, the method comprising:
- providing the input media signal to an encoder;
encoding said input media signal with said encoder to generate the plurality of encoded representations of the input media signal, wherein at least a portion of the media signal is included in a first encoded representation of said plurality of encoded representations and the same portion is also included in a second encoded representation of said plurality of encoded representations, and said first encoded representation is encoded according to a different set of encoding parameters than is said second encoded representation; and
designating and identifying a plurality of synchronization points within each of said encoded representations of the input media signal such that switching between a decoding of one of said encoded representations and another of said encoded representations can be performed without any substantial discontinuity.
5 Assignments
0 Petitions
Accused Products
Abstract
The present invention provides a system and methods for producing multiple encoded representations of a video input sequence. The multiple representations produced each contain identified synchronization frames that allow a server and a client to switch between streamed representations in real time without interruption. Synchronization frames are frames of encoded video that can be independently decoded. A representation can thus be decoded starting at a synchronization frame. Each synchronization frame in one representation has a corresponding synchronization frame at a substantially similar temporal location in any other generated representation of the same video input sequence. The temporal co-location of synchronization frames in all representations facilitates the dynamic switching between representations during the streaming process. The present invention also provides a video encoder application that shares data during the encoding of multiple representations of a video input sequence by reusing data calculated in the encoding of one representation to encode other representations. The application can also generate the multiple encoded representations simultaneously.
-
Citations
58 Claims
-
1. A method of producing a plurality of encoded representations of an input media signal, the method comprising:
-
providing the input media signal to an encoder; encoding said input media signal with said encoder to generate the plurality of encoded representations of the input media signal, wherein at least a portion of the media signal is included in a first encoded representation of said plurality of encoded representations and the same portion is also included in a second encoded representation of said plurality of encoded representations, and said first encoded representation is encoded according to a different set of encoding parameters than is said second encoded representation; and designating and identifying a plurality of synchronization points within each of said encoded representations of the input media signal such that switching between a decoding of one of said encoded representations and another of said encoded representations can be performed without any substantial discontinuity. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 36, 37, 38, 39, 40, 41, 42, 43, 57)
-
-
9. A series of executable instructions embodied in a tangible computer-readable medium which, when executed by a computer processor, causes the processor to:
-
accept an input media signal; encode said input media signal to generate a plurality of encoded representations of the input media signal, wherein at least a portion of the media signal is included in in a first of the plurality of encoded representations and said portion is included in a second of the plurality of the encoded representations and the first of the plurality of encoded representations is encoded according to a different set of encoding parameters than the second of the plurality of encoded representations; and indicate a plurality of synchronization points within each of the encoded representations of the input media signal such that switching between a decoding of the first of said encoded representations and the second of said encoded representations can be performed without any substantial discontinuity. - View Dependent Claims (44)
-
-
10. A system for producing a plurality of encoded representations of a media presentation, comprising:
-
a source, operable to provide a media presentation; and an encoder coupled to the source, the encoder configured to receive said media presentation and to generate a plurality of encoded representations of said media presentation, wherein at least a portion of the media presentation is included in one of the plurality of encoded representations and said portion is included in another one of the plurality of encoded representations and said encoder encodes at least two of the representations according to a different set of encoding parameters, and wherein the encoder is further configured to designate a plurality of synchronization points within each of said encoded representations of the media presentation such that switching between a decoding of one of said encoded representations to another of said encoded representations can be performed without any substantial discontinuity. - View Dependent Claims (11, 12, 13, 14, 45)
-
-
15. A video encoding system comprising:
-
a host computer; a digital video input sequence; output comprising a plurality of independent encoded representations of said digital video input sequence, wherein each representation is encoded according to a different set of encoding parameters, wherein at least a portion of the media signal is included in one of the plurality of encoded representations and said portion is included in another one of the plurality of encoded representations, and wherein each encoded representation contains synchronization frames identifying locations at which a switch from a decoding of one of said encoded representations to another of said encoded representations can be performed without any substantial discontinuity; and a video encoding application operating on said host computer, wherein said video encoding application generates said output from said digital video input sequence. - View Dependent Claims (16, 17, 18, 19)
-
-
20. A data file containing a plurality of independent encoded representations of a video sequence comprising:
-
a first of said encoded representations having a first set of synchronization frames; and a second of said encoded representations having a second set of designated synchronization frames, wherein each of said second set of synchronization frames is associated with one of the first set of synchronization frames, and wherein the associated synchronization frames have a substantially similar temporal location in the video sequence such that switching between a decoding of the first of said encoded representations and the second of said encoded representations can be performed without any substantial discontinuity. - View Dependent Claims (21, 22, 23)
-
-
24. A method of producing a plurality of encoded representations of an input media signal comprising:
-
receiving the input media signal with an encoder; and generating the plurality of encoded representations of said input media signal with the encoder, wherein at least a same portion of the media signal is included in each of a first encoded representation and a second encoded representation, wherein the first and second encoded representations are encoded according to a different set of encoding parameters, and wherein the first and second encoded representations each include a respective identified synchronization frame that enables switching between the first and second encoded representations. - View Dependent Claims (25, 26, 27, 28, 29, 30, 31, 32, 33)
-
-
34. A series of executable instructions embodied in a tangible computer-readable medium which, when executed by a processor, causes the processor to:
-
generate a plurality of encoded representations of said input media signal, wherein at least a same portion of the media signal is included in each of a first and second encoded representation, wherein the first and second encoded representations are encoded according to a different set of encoding parameters, and wherein the first and second encoded representations respectively include a designated synchronization frame that enables switching between the first and second encoded representations; and store at least one of the plurality of said encoded representations in a tangible computer-readable medium.
-
-
35. A system for producing a plurality of encoded representations of a video input sequence comprising:
-
a video encoder configured to generate a set of intermediate encoding data from said video input sequence, said video encoder using said set of intermediate encoding data to generate said plurality of independent encoded representations of said video input sequence, wherein at least a portion of the video input sequence is included in one of the plurality of the encoded representations and said portion is included in another one of the plurality of the encoded representations, wherein each encoded representation is encoded according to a different set of encoding parameters, and wherein each encoded representation respectively includes a designated synchronization frame that enables switching between encoded representations without substantial discontinuity; and an output module configured to output said encoded representations.
-
-
46. A method of encoding, the method comprising:
-
receiving a media signal; generating with an encoder a first encoded representation of at least a selected part of the media signal using a first set of data and a first set of encoding parameters; generating with the encoder a second encoded representation of the at least a selected part of the media signal using the first set of data and a second set of encoding parameters that is different than the first set of encoding parameters;
identifying corresponding synchronization points in the first and second encoded representations; and
storing at least one of said plurality of encoded representations in a tangible computer-readable medium. - View Dependent Claims (47, 48, 49, 50, 51, 52, 53, 54, 58)
-
-
55. A method of producing a plurality of encoded representations of an input media signal, the method comprising:
-
providing the input media signal to an encoder; encoding said input media signal with said encoder to generate the plurality of encoded representations of the input media signal, wherein at least a portion of the media signal is included in a first encoded representation of said plurality of encoded representations and the same portion is also included in a second encoded representation of said plurality of encoded representations, and said first encoded representation is encoded according to a different set of encoding parameters than is said second encoded representation; and designating a plurality of synchronization points within each of said encoded representations of the input media signal such that switching between a decoding of one of said encoded representations and another of said encoded representations can be performed without any substantial discontinuity; wherein designating a plurality of synchronization points includes; determining whether a frame in a master representation of the media presentation is intra-encoded, comparing a temporal period since the previous synchronization point to a maximum temporal period between adjacent synchronization points, and in response to the temporal period being equal to or greater than a predetermined percent of the maximum temporal period, and to the frame being intra-coded, designating the frame as a synchronization frame. - View Dependent Claims (56)
-
Specification