Claims
- 1. A method comprising:
maintaining a number of lists for a number of interpolated blocks of an interpolated frame to determine a best-matched block from a frame pair for each interpolated block in the number of interpolated blocks, wherein each list of the number of lists has a current winning block; selecting the best-matched block for each interpolated block from the current winning block for each list of the number of lists based on an error criterion and an overlap criterion; and synthesizing the interpolated frame based on the best-matched block for each interpolated block.
- 2. The method of claim 1, wherein maintaining the number of lists for each interpolated block to determine the best matched block from the frame pair comprises:
selecting the number of lists from a group including a zero motion vector list, a forward motion vector list, and a backward motion vector list.
- 3. The method of claim 1, wherein selecting the best matched block for each interpolated block from the number of lists for each interpolated block based on the error criterion and the overlap criterion further comprises:
selecting the best matched block having a smallest ratio of a block matching error to a corresponding overlap.
- 4. The method of claim 3, further comprising:
substituting a zero motion vector for a best motion vector to create each interpolated block of the interpolated frame upon determining the corresponding overlap is less than a first predetermined threshold.
- 5. The method of claim 4, further comprising:
aborting the synthesis of the interpolated frame and repeating a previous frame upon determining that a number of interpolated blocks having the corresponding overlap less than the first predetermined threshold also have the corresponding overlap greater than a second predetermined threshold.
- 6. The method of claim 1, wherein the frame pair comprises a current frame and a previous frame.
- 7. A method comprising:
detecting a failure while synthesizing an interpolated frame upon determining that a zero motion vector has been selected for a number of non-stationary blocks in the interpolated frame; rejecting the interpolated frame; and repeating a previous frame associated with the interpolated frame.
- 8. The method of claim 7, wherein the zero motion vector has been selected for the number of non-stationary blocks in the interpolated frame as a consequence of an overlap ratio being smaller than a predetermined threshold.
- 9. The method of claim 7, further comprising:
determining that the zero motion vector has not been selected for a number of non-stationary blocks in a new interpolated frame; and synthesizing the new interpolated frame.
- 10. The method of claim 9, wherein the number of non-stationary blocks does not exceed a predetermined proportion of all the blocks in the new interpolated frame.
- 11. An article comprising a machine-accessible medium having associated data, wherein the data, when accessed, results in a machine performing:
selecting a block size based on a level of activity for a current frame and a previous frame; and synthesizing an interpolated frame based on the selected block size of the current frame and the previous frame.
- 12. The article of claim 11, wherein selecting the block size based on the level of activity for the current frame and the previous frame comprises:
selecting a variable block size within a frame based on the level of activity for the current frame and the previous frame.
- 13. The article of claim 11, wherein selecting the block size based on the level of activity for the current frame and the previous frame comprises:
determining a number of pixels in the current frame belonging to a number of classes.
- 14. The article of claim 13, wherein the number of classes include moving, stationary, covered background, and uncovered background.
- 15. An article comprising a machine-accessible medium having associated data, wherein the data, when accessed, results in a machine performing:
maintaining a number of lists for a number of interpolated blocks of an interpolated frame to determine a best-matched block from a frame pair for each interpolated block, wherein each list of the number of lists has a current winning block; selecting the best-matched block for each interpolated block from the current winning block for each list of the number of lists based on an error criterion and an overlap criterion; and synthesizing the interpolated frame based on the best-matched block for each interpolated block.
- 16. The article of claim 15, wherein the data, when accessed, results in the machine performing:
substituting a zero motion vector for a best motion vector to create at least one interpolated block of the interpolated frame upon determining a corresponding overlap is less than a predetermined threshold.
- 17. The article of claim 15, wherein the data, when accessed, results in the machine performing:
aborting the synthesizing of the interpolated frame and repeating a previous frame upon determining a number of interpolated blocks in the interpolated frame have a corresponding overlap that is less than a first predetermined threshold and greater than a second predetermined threshold.
- 18. An article comprising a machine-accessible medium having associated data, wherein the data, when accessed, results in a machine performing:
selecting a zero motion vector for a given pixel in an interpolated frame upon determining a current pixel in a current frame corresponding to the given pixel in the interpolated frame is classified as covered or uncovered; and synthesizing the interpolated frame based on selecting the zero motion vector for the given pixel in the interpolated frame upon determining the current pixel in the current frame corresponding to the given pixel in the interpolated frame is classified as covered or uncovered.
- 19. The article of claim 18, wherein the data, when accessed, results in the machine performing:
determining a first number of pixels in a block in the current frame to be covered; and determining a second number of pixels in the block in the current frame to be uncovered.
- 20. The article of claim 19, wherein the data, when accessed, results in the machine performing:
marking the block in the current frame as suspect upon determining a sum of a relative proportion of the first number of pixels and a relative proportion of the second number of pixels exceeds a predetermined threshold.
- 21. An article comprising a machine-accessible medium having associated data, wherein the data, when accessed, results in a machine performing:
classifying a number of pixels in a current frame into one of a number of different pixel classifications for synthesis of an interpolated frame; and aborting the synthesis of the interpolated frame and repeating a previous frame upon determining the interpolated frame has an unacceptable quality based on the classifying of the number of pixels in the current frame.
- 22. The article of claim 21, wherein the data, when accessed, results in the machine performing:
selecting a first block size included in the interpolated frame using the number of different pixel classifications.
- 23. The article of claim 22, wherein the data, when accessed, results in the machine performing:
selecting a second block size included in the interpolated frame using the number of different pixel classifications, wherein the second block size is different from the first block size.
- 24. An article comprising a machine-accessible medium having associated data, wherein the data, when accessed, results in a machine performing:
selecting a best motion vector for each of a number of blocks in a hypothetical interpolated frame situated temporally in between a current frame and a previous frame; scaling the best motion vector for each of the number of blocks for the hypothetical interpolated frame for a number of interpolated frames a relative distance of the number of interpolated frames from the current frame; and synthesizing the number of interpolated frames based on the best motion vector for each block within the number of interpolated frames.
- 25. The article of claim 24, wherein the data, when accessed, results in the machine performing:
creating a number of candidate lists including forward and backward motion vectors for each of the number of blocks in the hypothetical interpolated frame.
- 26. The article of claim 25, wherein selecting the best motion vector for each of the number of blocks in the hypothetical interpolated frame situated temporally in between the current frame and the previous frame comprises:
selecting the best motion vector from the number of candidate lists.
Parent Case Info
[0001] This application is a divisional of U.S. patent application Ser. No. 09/221,666, filed Dec. 23, 1998, which is herein incorporated by reference.
Divisions (1)
|
Number |
Date |
Country |
Parent |
09221666 |
Dec 1998 |
US |
Child |
10446913 |
May 2003 |
US |