Dynamic selection of parameter sets for transcoding media data
First Claim
Patent Images
1. A method for distributing media data, the method comprising:
- performing, by a device including a processor, an iterative operation until a final parameter set is selected for transcoding an initial segment, wherein each iteration of the iterative operation comprises;
transcoding the initial segment into a plurality of transcoded segments using parameter sets in a current generation of parameter sets;
calculating fitness scores of each transcoded segment in the plurality of transcoded segments;
determining whether a generation limit has been reached;
determining whether at least one of the fitness scores exceeds a fitness score threshold;
in response to the generation limit being reached or at least one of the fitness scores exceeding the fitness score threshold, outputting a given transcoded segment, the given transcoded segment being the transcoded segment generated by the iterative operation that has a fitness score greater than the fitness scores of each other transcoded segment generated by the iterative operation, and setting a parameter set employed for transcoding the initial segment into the given transcoded segment as the final parameter set; and
in response to the generation limit not being reached and none of the fitness scores exceeding the fitness score threshold;
calculating selection probabilities of the parameter sets in the current generation of parameter sets; and
performing the following steps until a new generation of parameter sets includes a threshold number of parameter sets;
selecting parent parameter sets based on the selection probabilities of the parameter sets in the current generation of parameter sets; and
generating a child parameter set in the new generation of parameter sets by recombining values of encoding parameters in the parent parameter sets; and
setting the new generation of parameter sets as the current generation of parameter sets; and
generating, by the device, a transcoded media data stream comprising the given transcoded segment.
3 Assignments
0 Petitions
Accused Products
Abstract
An iterative operation is performed at a computing device to identify a parameter set for an initial segment. A parameter set for an initial segment includes a plurality of encoding parameters and values assigned to the encoding parameters. The initial segment is re-encoded using the parameter set, thereby generating a transcoded segment. In some embodiments, the transcoded segment is transmitted to a client computing device that presents media represented by the transcoded segment.
-
Citations
27 Claims
-
1. A method for distributing media data, the method comprising:
-
performing, by a device including a processor, an iterative operation until a final parameter set is selected for transcoding an initial segment, wherein each iteration of the iterative operation comprises; transcoding the initial segment into a plurality of transcoded segments using parameter sets in a current generation of parameter sets; calculating fitness scores of each transcoded segment in the plurality of transcoded segments; determining whether a generation limit has been reached; determining whether at least one of the fitness scores exceeds a fitness score threshold; in response to the generation limit being reached or at least one of the fitness scores exceeding the fitness score threshold, outputting a given transcoded segment, the given transcoded segment being the transcoded segment generated by the iterative operation that has a fitness score greater than the fitness scores of each other transcoded segment generated by the iterative operation, and setting a parameter set employed for transcoding the initial segment into the given transcoded segment as the final parameter set; and in response to the generation limit not being reached and none of the fitness scores exceeding the fitness score threshold; calculating selection probabilities of the parameter sets in the current generation of parameter sets; and performing the following steps until a new generation of parameter sets includes a threshold number of parameter sets; selecting parent parameter sets based on the selection probabilities of the parameter sets in the current generation of parameter sets; and generating a child parameter set in the new generation of parameter sets by recombining values of encoding parameters in the parent parameter sets; and setting the new generation of parameter sets as the current generation of parameter sets; and generating, by the device, a transcoded media data stream comprising the given transcoded segment. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A system comprising:
-
a processor; and a memory communicatively coupled to the processor, the memory having stored therein computer-executable instructions comprising; a parameter identification module configured to perform an iterative operation until a final parameter set is selected to transcode an initial segment, wherein each iteration of the iterative operation comprises; transcode an initial segment into a plurality of transcoded segments using parameter sets in a current generation of parameter sets; calculate fitness scores of each transcoded segment in the plurality of transcoded segments; determine whether a generation limit has been reached; determine whether one of the fitness scores exceeds a fitness score threshold; in response to the generation limit being reached or at least one of the fitness scores exceeding the fitness score threshold, output a given transcoded segment, the given transcoded segment being the transcoded segment generated by the iterative operation that has a fitness score greater than the fitness scores of each other transcoded segment generated by the iterative operation, and set a parameter set employed for transcoding the initial segment into the given transcoded segment as the final parameter set; and in response to the generation limit not being reached and none of the fitness scores exceeding the fitness score threshold; calculate selection probabilities of the parameter sets in the current generation of parameter sets; and perform the following steps until a new generation of parameter sets includes a threshold number of parameter sets;
select parent parameter sets based on the selection probabilities of the parameter sets in the current generation of parameter sets; and
generate a child parameter set in the new generation of parameter sets by recombining values of encoding parameters in the parent parameter sets; andset the new generation of parameter sets as the current generation of parameter sets; and a transcoder configured to generate a transcoded media data stream comprising the given transcoded segment. - View Dependent Claims (14, 15, 16, 17)
-
-
18. A non-transitory computer readable medium having instructions stored thereon that, in response to execution, cause system including a processor to perform operations comprising:
-
performing an iterative operation until a final parameter set is selected for transcoding an initial segment, wherein each iteration of the iterative operation comprises; transcoding the initial segment into a plurality of transcoded segments using parameter sets in a current generation of parameter sets; calculating fitness scores of each transcoded segment in the plurality of transcoded segments; determining whether a generation limit has been reached; determining whether one of the fitness scores exceeds a fitness score threshold; in response to the generation limit being reached or at least one of the fitness scores exceeding the fitness score threshold, outputting a given transcoded segment, the given transcoded segment being the transcoded segment generated by the iterative operation that has a fitness score greater than the fitness scores of each other transcoded segment generated by the iterative operation, and setting a parameter set employed for transcoding the initial segment into the given transcoded segment as the final parameter set; and in response to the generation limit not being reached and none of the fitness scores exceeding the fitness score threshold; calculating selection probabilities of the parameter sets in the current generation of parameter sets; and performing the following steps until a new generation of parameter sets includes a threshold number of parameter sets; selecting parent parameter sets based on the selection probabilities of the parameter sets in the current generation of parameter sets; and generating a child parameter set in the new generation of parameter sets by recombining values of encoding parameters in the parent parameter sets; and setting the new generation of parameter sets as the current generation of parameter sets; and generating a transcoded media data stream comprising the given transcoded segment. - View Dependent Claims (19, 20, 21, 22, 23, 24, 25, 26)
-
-
27. A system comprising:
-
means for performing an iterative operation until a final parameter set is selected for transcoding an initial segment, wherein each iteration of the iterative operation comprises; transcoding the initial segment into a plurality of transcoded segments using parameter sets in a current generation of parameter sets; calculating fitness scores of each transcoded segment in the plurality of transcoded segments; determining whether a generation limit has been reached; determining whether one of the fitness scores exceeds a fitness score threshold; in response to the generation limit being reached or at least one of the fitness scores exceeding the fitness score threshold, outputting a given transcoded segment, the given transcoded segment being the transcoded segment generated by the iterative operation that has a fitness score greater than the fitness scores of each other transcoded segment generated by the iterative operation, and setting a parameter set employed for transcoding the initial segment into the given transcoded segment as the final parameter set; and in response to the generation limit not being reached and none of the fitness scores exceeding the fitness score threshold; calculating selection probabilities of the parameter sets in the current generation of parameter sets; and performing the following steps until a new generation of parameter sets includes a threshold number of parameter sets; selecting parent parameter sets based on the selection probabilities of the parameter sets in the current generation of parameter sets; and generating a child parameter set in the new generation of parameter sets by recombining values of encoding parameters in the parent parameter sets; and setting the new generation of parameter sets as the current generation of parameter sets; and means for generating a transcoded media data stream comprising the given transcoded segment.
-
Specification