A system and method for reducing the update package size used to convert
an original image into a new image based on the differences between the
two images. From comparison of original and new images, an update package
is generated which includes ADD and COPY operations. This design
introduces a RELOCATE operation. The update encoder attempts to
re-express submitted COPY operations with one or more RELOCATE operations
whose total length exceeds that of the original COPY. If this is the
case, the RELOCATE operation(s) have progressed further through the
images than the original COPY operation, thus producing a smaller update
package. Each individual RELOCATE operation includes a number of
instructions and a number of data items to be relocated.