1. A computer-implemented method, comprising: identifying, at a host machine, a current image of a stream of images generated by a virtual machine (VM) executing on the host machine, the stream of images including images previously transmitted to a client associated with the VM via a network; for each segment of pixels in the current image, searching a shared dictionary using the segment of pixels, the dictionary storing data identifying segments of pixels for each of the stream of images generated by the VM; and if the dictionary includes data corresponding to the segment of pixels in the current image, determining, by a processing device, metadata for the segment of pixels in the current image using the corresponding data from the dictionary, and transmitting the metadata to the client without transmitting the segment of pixels from the current image, wherein the metadata comprises an identifier of a previously transmitted image that includes a matching segment of pixels, a location of the matching segment of pixels within the previously transmitted image, and a length of the matching segment of pixels.