Claims
- 1. A method for encoding a first block of a video frame having an encoded portion and an unencoded portion, said first block being in the unencoded portion of the video frame, the method comprising:
defining a search window; assigning a value to each pixel within the search window that is not in the encoded portion of the frame; calculating a differences between pixel values of said first block and corresponding pixel values of each block disposed in the search window and in accordance with a first difference criteria; selecting a block from the defined search window that has the smallest calculated difference; and using the selected block from the search window to encode the first block.
- 2. The method of claim 1 wherein said search window is positioned entirely within the encoded portion of the video frame.
- 3. The method of claim 1 wherein each assigned pixel value is selected from one of zero and 128.
- 4. The method of claim 1 wherein the first difference criteria is defined by a sum of differences of absolute values of corresponding pixels of two blocks with similar number of pixels.
- 5. The method of claim 1 wherein the first difference criteria is defined by a sum of squared differences of values of corresponding pixels of two blocks with similar number of pixels.
- 6. The method of claim 4 wherein the sum D is defined by
- 7. The method of claim 1 wherein the block in the unencoded portion of the frame includes one of 16×16 and 8×8 pixels.
- 8. The method of claim 1 wherein the search window includes the entire frame.
- 9. The method of claim 1 wherein the search window is set by a user.
- 10. The method of claim 1 further comprising:
adding the first block to the encoded portion of the frame after the first block is encoded; removing the first block from the unencoded portion of the frame after the first block is encoded; and encoding a second block in the unencoded portion of the video frame using the encoded portion of the video frame to which the first block is added.
- 11. The method of claim 1 wherein at least one of the blocks in the search window is positioned away from the first block by a fraction of a pixel.
- 12. The method of claim 11 further comprising:
updating a subset of the pixels of the frame after the first block is encoded.
- 13. The method of claim 1 wherein at least one of the blocks in the search window is positioned away from the first block by one-fourth of a pixel.
- 14. The method of claim 13 further comprising:
magnifying size of the at least one of the blocks by a factor of 4×4; determining pixel values of the magnified block by interpolating the pixel values of the at least one of the blocks.
- 15. The method of claim 14 wherein said pixel values of the magnified block are interpolated in accordance with a filter length defined by a user.
- 16. The method of claim 14 further comprising updating a region having 92×92 pixels after the first block is encoded, wherein the first block has 16×16 pixels and wherein a filter length is 8.
- 17. The method of claim 1 wherein at least one of the blocks in the search window is positioned away from the first block by one-eight of a pixel.
- 18. The method of claim 17 further comprising:
magnifying size of the at least one of the blocks by a factor of 8×8; and determining pixel values of the magnified block by interpolating the pixel values of the at least one of the blocks.
- 19. The method of claim 18 further comprising updating a region having 184×184 pixels after the first block is encoded, wherein the first block has 16×16 pixels and wherein a filter length is 8.
- 20. The method of claim 18 wherein said pixel values of the magnified block are interpolated in accordance with a filter length defined by a user.
- 21. The method of claim 1 wherein the frame is one I-frame, B-frame and P-frame.
- 22. An apparatus adapted to encode a first block of a video frame having an encoded portion and an unencoded portion, said first block being in the unencoded portion of the video frame, the apparatus comprising:
a module adapted to define a search window; a module adapted to assign a value to each pixel within the search window that is not in the encoded portion of the frame; a module adapted to calculate a differences between pixel values of said first block and corresponding pixel values of each block disposed in the search window and in accordance with a first difference criteria; a module adapted to select a block from the defined search window that has the smallest calculated difference; and a module adapted to use the selected block from the search window to encode the first block.
- 23. The apparatus of claim 22 wherein said selecting module selects a search window that is positioned entirely within the encoded portion of the video frame.
- 24. The apparatus of claim 22 wherein said assigning module assigns each pixel value from one of zero and 128.
- 25. The apparatus of claim 22 wherein the first difference criteria is defined by a sum of differences of absolute values of corresponding pixels of two blocks with similar number of pixels.
- 26. The apparatus of claim 22 wherein the first difference criteria is defined by a sum of squared differences of values of corresponding pixels of two blocks with similar number of pixels.
- 27. The apparatus of claim 25 wherein the sum D is defined by
CROSS-REFERENCES TO RELATED APPLICATIONS
[0001] The present application claims priority to provisional application Serial No. 60/376,674, filed Apr. 29, 2002, the content of which is incorporated herein by reference in its entirety.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60376674 |
Apr 2002 |
US |