1. A method of encoding an input image divided into a set of image blocks and stored in computer readable memory, the method comprising: determining a sequence of block test patterns, wherein each block test pattern of the sequence (i) identifies, for each image block of the set, a separate portion of the image block; and (ii) minimizes a maximum size of an undetected image feature of the input image when used on all image blocks of the set; assembling, by a computer, an active block test pattern comprising one of the block test patterns of the sequence; comparing, by the computer, based on the active block test pattern, at least one image block of the set with a reference image comprising a previously encoded copy of the input image to generate a block change detection; and encoding, by an encoder, based on the block change detection, a changed image block of the at least one image block to generate a portion of an encoded image, wherein the sequence is a repeating sequence; for each image block of the set, an assembly of all block test patterns of the sequence identifies an entire image block; the active block test pattern comprises a combination of at least two sequential block test patterns of the sequence; and the sequence is determined to minimize maximum untested portion sizes of the input image resulting from sequential combinations of the block test patterns of the sequence.