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;
encoding said input media signal to generate the plurality of encoded representations, 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 said second encoded representation; and
designating a plurality of synchronization points 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
54 Claims
-
1. A method of producing a plurality of encoded representations of an input media signal, the method comprising:
-
providing the input media signal;
encoding said input media signal to generate the plurality of encoded representations, 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 said second encoded representation; and
designating a plurality of synchronization points 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)
-
-
9. A computer readable medium having stored thereon a plurality of instructions which, when executed by a processor in a computer system, cause the processor to perform the steps of:
-
accepting an input media signal;
encoding said input media signal to generate a plurality of encoded representations, wherein at least a portion of the media signal is included 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
indicating a plurality of synchronization points 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 (44)
-
-
10. A system for producing a plurality of encoded representations of a video input sequence comprising:
-
a video encoder configured to generate said plurality of encoded representations of said video input sequence, 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 said video encoder encodes at least two of the representations according to a different set of encoding parameters, and wherein the video encoder is further configured to designate a plurality of synchronization points 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; and
an output module configured to output said encoded representations. - 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 synchronization frames, wherein each of said second set of synchronization frames is associated with one of the first set of synchronization frames having a substantially similar temporal location in the video sequence. - View Dependent Claims (21, 22, 23)
-
-
24. A method of producing a plurality of encoded representations of an input media signal comprising:
-
providing the input media signal; and
using said input media signal to generate the plurality of encoded representations of said input media signal, 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 at least two of the plurality of encoded representations are encoded according to a different set of encoding parameters. - View Dependent Claims (25, 26, 27, 28, 29, 30, 31, 32, 33)
-
-
34. A computer readable medium having stored thereon a plurality of instructions which, when executed by a processor in a computer system, cause the processor to perform the steps of:
-
accepting an input media signal; and
using said input media signal to generate a plurality of independently encoded representations of said input media signal, 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 at least two of the encoded representations are encoded according to a different set of encoding parameters.
-
-
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, and wherein each encoded representation is encoded according to a different set of encoding parameters; and
an output module configured to output said encoded representations.
-
-
46. A method of encoding, the method comprising:
encoding a media signal to generate the plurality of encoded representations for at least a selected part of the media signal, wherein each of the plurality of encoded representations is encoded according to a different set of encoding parameters, wherein each of the plurality of the encoded representations is adapted to be decoded to play the selected part of the media signal, and wherein each of the plurality of encoded representations are encoded using shared color data, motion vector data, and/or discrete cosine coefficients. - View Dependent Claims (47, 48, 49, 50, 51, 52, 53, 54)
Specification