What is claimed is:1. A method comprising:receiving a first frame and a first indication associated with the first frame;storing a reconstructed version of the first frame and the first indication;receiving a second frame, wherein the second frame is received after the first frame;storing a reconstructed version of the second frame;receiving a third frame and another indication associated with the third frame, wherein the third frame is received after the second frame;determining that the first indication matches the another indication; andencoding the third frame, wherein the encoding includes:encoding a portion of the third frame using the reconstructed version of the first frame based on the first indication and the another indication; andencoding at least some of a remaining portion of the third frame using the reconstructed version of the second frame.2. The method of claim 1, wherein the encoding further includes encoding the portion of the third frame using a corresponding portion of the reconstructed version of the first frame.3. The method of claim 2 further comprising:analyzing the third frame; andidentifying the corresponding portion of the reconstructed version of the first frame.4. The method of claim 1, wherein the first indication identifies a window in the first frame and the another indication identifies the window in the third frame.5. The method of claim 1, further comprising:dividing the first frame into multiple regions; anddividing the third frame into multiple regions.6. The method of claim 5, wherein the dividing the first frame and the dividing the third frame is based on an analysis of a content of the first frame and the third frame.7. The method of claim 1, further comprising:encoding the first frame;encoding the second frame; andstreaming the encoded first frame, the encoded second frame, and the encoded third frame.8. The method of claim 1, further comprising:tracking a cost of encoding the third frame using the first indication and the another indication; andadjusting a choice of a future reference frame based on the tracking.9. The method of claim 1, further comprising:analyzing the reconstructed version of the first frame and the third frame based on the first indication and the another indication;identifying a region in both the reconstructed version of the first frame and the third frame that contains same content; andupdating location information associated with the region and storing the location information along with a reconstructed version of the third frame.10. A non-transitory computer readable storage medium included in an apparatus, the non-transitory computer readable storage medium comprising executable instructions that when executed by at least one processor, cause the apparatus to:receive a first frame and a first indication associated with the first frame;store a reconstructed version of the first frame and the first indication;receive a second frame, wherein the second frame is received after the first frame;store a reconstructed version of the second frame;receive a third frame and another indication associated with the third frame, wherein the third frame is received after the second frame;determine that the first indication matches the another indication; andencode the third frame, wherein:a portion of the third frame is encoded using the reconstructed version of the first frame based on the first indication and the another indication; andat least some of a remaining portion of the third frame is encoded using the reconstructed version of the second frame.11. The non-transitory computer readable storage medium of claim 10, wherein the executable instructions, when executed by the at least one processor, further cause the apparatus to:encode the portion of the third frame using a corresponding portion of the reconstructed version of the first frame.12. The non-transitory computer readable storage medium of claim 11, wherein the executable instructions, when executed by the at least one processor, further cause apparatus to:analyze the third frame; andidentify the corresponding portion of the reconstructed version of the first frame.13. The non-transitory computer readable storage medium of claim 10, wherein the first indication identifies a window in the first frame and the another indication identifies the window in the third frame.14. The non-transitory computer readable storage medium of claim 10, wherein the executable instructions, when executed by the at least one processor, further cause the apparatus to:divide the first frame into multiple regions; anddivide the third frame into multiple regions.15. The non-transitory computer readable storage medium of claim 14, wherein the first frame and the third frame are divided based on an analysis of a content of the first frame and the third frame.16. The non-transitory computer readable storage medium of claim 10, wherein the executable instructions, when executed by the at least one processor, further cause the apparatus to:encode the first frame;encode the second frame; andstream the encoded first frame, the encoded second frame, and the encoded third frame.17. The non-transitory computer readable storage medium of claim 10, wherein the executable instructions, when executed by the at least one processor, further cause the apparatus to:track a cost of encoding the third frame using the first indication and the another indication; andadjust a choice of a future reference frame based on the tracking.18. The non-transitory computer readable storage medium of claim 10, wherein the executable instructions, when executed by the at least one processor, further cause the apparatus to:analyze the first frame and the third frame based on the first indication and the another indication;identify a region in both the first frame and the third frame that contains same content; andupdate location information associated with the region and storing the location information along with the third frame.19. A computing system comprising:a memory storing operational instructions thereon; anda processor operationally coupled to the memory, wherein the processor, when executing the operational instructions, is configured to:receive a first frame and a first indication associated with the first frame;store a reconstructed version of the first frame and the first indication;receive a second frame, wherein the second frame is received after the first frame;store a reconstructed version of the second frame;receive a third frame and another indication associated with the third frame, wherein the third frame is received after the second frame;determine that the first indication matches the another indication;encode the third frame, wherein:a portion of the third frame is encoded using the reconstructed version of the first frame based on the first indication and the another indication; andat least some of a remaining portion of the third frame is encoded using the reconstructed version of the second frame;track a cost of encoding the third frame using the first indication and the another indication; andadjust a choice of a future reference frame based on the tracking.20. The computer system of claim 19, wherein the processor is further configured to:determine that the first indication matches the another indication.21. The non-transitory computer readable storage medium of claim 10, wherein the executable instructions, when executed by the at least one processor, further cause the apparatus to:track a cost of encoding the third frame using the first indication and the another indication; andadjust a choice of a future reference frame based on the tracking.