Patent ID: 8892764

Claim:
A method, comprising: receiving, by a device including a processor, a media data stream; and performing, by the device, an iterative operation for transcoding the media data stream into a transcoded media data stream, wherein each iteration of the iterative operation comprises: receiving a current segment of the media data stream; transcoding the current segment into a first transcoded segment using a current parameter set that was employed to transcode a previous segment of the media data stream; determining whether the current parameter set is a final parameter set; in response to determining that the current parameter is the final parameter set, outputting the first transcoded segment as part of the transcoded media data stream; and in response to determining that the current parameter is not the final parameter set: determining a first fitness score of the first transcoded segment; determining whether the first fitness score exceeds a fitness score threshold; mutating the current parameter set into a mutated parameter set; transcoding the current segment into a second transcoded segment using the mutated parameter set; determining a second fitness score of the second transcoded segment; determining whether the second fitness score is greater than the first fitness score; in response to determining that the second fitness score is not greater than the first fitness score, outputting the first transcoded segment as part of the transcoded media data stream; and in response to determining that the second fitness score is greater than the first fitness score: setting the mutated parameter set as the current parameter set; outputting the second transcoded segment as part of the transcoded media data stream; determining whether the second fitness score exceeds a fitness score threshold; and in response to determining that the second fitness score exceeds the fitness score threshold setting the current parameter set as the final parameter set.