Patent ID: 8711928

Claim:
A method, comprising: encoding a video sequence, including, within an encoding pass: during a first exploitation phase of the encoding pass, encoding a first plurality of macro-blocks employing a first set of values of a set of at least one encoding parameter; evaluating at least one encoder statistic based on the encoding of the first plurality of macro-blocks; during a first exploration phase of the encoding pass that is distinct from the first exploitation phase, encoding a second plurality of macro-blocks employing a second set of values for the set of at least one encoding parameter, wherein the second set of values is different than the first set of values; evaluating the at least one encoder statistic based on the encoding of the second plurality of macro-blocks; comparing the at least one encoder statistic based on the encoding of the first plurality of macro-blocks with the at least one encoder statistic based on the encoding of the second plurality of macro-blocks; and updating a steady-state value for each parameter in the set of at least one encoding parameter based on the comparison wherein the encoding of the video sequence is performed such that, within the encoding pass, a plurality of additional exploitation phases and a plurality of exploration phases occur after the first exploitation phase and the first exploration phase, such that during each of the additional exploration phases, a new set of values for the set of at least one encoding parameters is employed, and for each of the additional exploration phases, the at least one encoder statistic is evaluated based on the encoding during the phase, the at least one encoder statistic based on the encoding during the phase is compared with the at least one encoder statistic based on the encoding while employing the steady-state set of encoding parameters, and the steady-state set of values of the at least one encoding parameters is updated based on the most recent comparison, wherein the steady-state set of values of each of the encoding parameters is employing during each of the additional exploration phases; wherein the encoding of the video sequence is further performed such that during each of the additional exploration phases, the new set of values for the set of at least one encoding parameters is determined based on the at least encoder statistics evaluated during each of the previous exploration phases; and wherein the encoding of the video sequence is further performed such that during each of the additional exploration phases, the new set of values for the set of at least one encoding parameters is determined based on at least one of a reinforcement theory algorithm or a control theory algorithm.