Claims
- 1. A method of reducing drift in connection with an application of ½ pixel resolution motion vectors during prediction filtering comprising the following steps:a) down converting received P and B frame and field DCT coded blocks; b) selecting reference pixels based upon a received motion vector; c) performing prediction filtering on the selected reference pixels to produce a prediction output; d) if the motion vector is a ½ pixel resolution motion vector, adding a drift compensation value to the prediction output; and, e) adding the prediction output to the down converted P and B frame and field DCT coded blocks in order to form lower resolution reconstructed pixel blocks.
- 2. The method of claim 1 wherein the motion vector includes both a vertical motion vector and a horizontal motion vector, and wherein the drift compensation value is substantially 0.25 if one of the vertical and horizontal motion vectors is odd valued.
- 3. The method of claim 1 wherein the motion vector includes both a vertical motion vector and a horizontal motion vector, and wherein the drift compensation value is substantially 0.125 if both of the vertical and horizontal motion vectors are odd valued.
- 4. The method of claim 1 wherein the motion vector includes both a vertical motion vector and a horizontal motion vector, and wherein the drift compensation value is substantially 0.25 if one but not both of the vertical and horizontal motion vectors is odd valued.
- 5. The method of claim 1 wherein step d) comprises the step of adding no drift compensation to the prediction output if the motion vector is not a ½ pixel resolution motion vector.
- 6. The method of claim 1 wherein step a) comprises the following steps:a1) converting the received P and B frame DCT coded blocks to converted P and B field DCT coded blocks; and, a2) down converting the received P and B field DCT coded blocks and the converted P and B field DCT coded blocks.
- 7. The method of claim 6 wherein the motion vector includes both a vertical motion vector and a horizontal motion vector, and wherein the drift compensation value is substantially 0.25 if one of the vertical and horizontal motion vectors is odd valued.
- 8. The method of claim 6 wherein the motion vector includes both a vertical motion vector and a horizontal motion vector, and wherein the drift compensation value is substantially 0.125 if both of the vertical and horizontal motion vectors are odd valued.
- 9. The method of claim 6 wherein the motion vector includes both a vertical motion vector and a horizontal motion vector, and wherein the drift compensation value is substantially 0.25 if one but not both of the vertical and horizontal motion vectors is odd valued.
- 10. The method of claim 6 wherein each of the received P and B frame and field DCT coded blocks contains N×N values, wherein step a2) comprises the step of performing a horizontal M point IDCT, a vertical N point IDCT, vertical spatial filtering, and down sampling on the received P and B field DCT coded blocks and the converted P and B field DCT coded blocks, wherein at least the vertical spatial filtering and down sampling encompasses more than N points, and wherein N>M.
- 11. The method of claim 10 wherein the motion vector includes both a vertical motion vector and a horizontal motion vector, and wherein the drift compensation value is substantially 0.25 if one of the vertical and horizontal motion vectors is odd valued.
- 12. The method of claim 10 wherein the motion vector includes both a vertical motion vector and a horizontal motion vector, and wherein the drift compensation value is substantially 0.125 if both of the vertical and horizontal motion vectors are odd valued.
- 13. The method of claim 10 wherein the motion vector includes both a vertical motion vector and a horizontal motion vector, and wherein the drift compensation value is substantially 0.25 if one but not both of the vertical and horizontal motion vectors is odd valued.
- 14. The method of claim 10 wherein N=8>M.
- 15. The method of claim 14 wherein M=4.
- 16. The method of claim 10 wherein the vertical spatial filtering and down sampling are combined as a single operator.
- 17. The method of claim 10 wherein the vertical IDCT, spatial filtering, and down sampling are combined as a single operator.
- 18. The method of claim 10 wherein step al) comprises the step of applying an unshuffling operator to the received frame DCT coded blocks in order to convert the received frame DCT coded blocks to corresponding converted field DCT coded blocks.
- 19. A method of reconstructing pixel blocks from P and B DCT coded blocks comprising the following steps:a) selecting reference pixels from a memory in response to a motion vector; b) filtering the selected reference pixels to produce a filtered output; c) if the motion vector has ½ pixel resolution, adding a drift compensation value to the filtered output; and, d) adding the filtered output to the P and B DCT coded blocks in order to form the reconstructed pixel blocks.
- 20. The method of claim 19 wherein the motion vector includes both a vertical motion vector and a horizontal motion vector, and wherein the drift compensation value is substantially 0.25 if one of the vertical and horizontal motion vectors is odd valued.
- 21. The method of claim 19 wherein the motion vector includes both a vertical motion vector and a horizontal motion vector, and wherein the drift compensation value is substantially 0.125 if both of the vertical and horizontal motion vectors are odd valued.
- 22. The method of claim 19 wherein the motion vector includes both a vertical motion vector and a horizontal motion vector, and wherein the drift compensation value is substantially 0.25 if one but not both of the vertical and horizontal motion vectors is odd valued.
- 23. The method of claim 19 wherein step c) comprises the step of adding no drift compensation to the prediction output if the motion vector is not a ½ pixel resolution motion vector.
- 24. The method of claim 19 wherein the P and B DCT coded blocks are received P and B frame and field DCT coded blocks, and wherein step a) comprises the following steps:a1) converting the received P and B frame DCT coded blocks to converted P and B field DCT coded blocks; a2) down converting the received P and B field DCT coded blocks and the converted P and B field DCT coded blocks; and, a3) selecting reference pixels from a memory in response to a motion vector.
- 25. The method of claim 24 wherein the motion vector includes both a vertical motion vector and a horizontal motion vector, and wherein the drift compensation value is substantially 0.25 if one of the vertical and horizontal motion vectors is odd valued.
- 26. The method of claim 24 wherein the motion vector includes both a vertical motion vector and a horizontal motion vector, and wherein the drift compensation value is substantially 0.125 if both of the vertical and horizontal motion vectors are odd valued.
- 27. The method of claim 24 wherein the motion vector includes both a vertical motion vector and a horizontal motion vector, and wherein the drift compensation value is substantially 0.25 if one but not both of the vertical and horizontal motion vectors is odd valued.
- 28. The method of claim 24 wherein each of the received P and B frame and field DCT coded blocks contains N×N values, wherein step a2) comprises the step of performing a horizontal M point IDCT, a vertical N point IDCT, vertical spatial filtering, and down sampling on the received P and B field DCT coded blocks and the converted P and B field DCT coded blocks, wherein at least the vertical spatial filtering and down sampling encompasses more than:N points, and wherein N>M.
- 29. The method of claim 28 wherein the motion vector includes both a vertical motion vector and a horizontal motion vector, and wherein the drift compensation value is substantially 0.25 if one of the vertical and horizontal motion vectors is odd valued.
- 30. The method of claim 28 wherein the motion vector includes both a vertical motion vector and a horizontal motion vector, and wherein the drift compensation value is substantially 0.125 if both of the vertical and horizontal motion vectors are odd valued.
- 31. The method of claim 28 wherein the motion vector includes both a vertical motion vector and a horizontal motion vector, and wherein the drift compensation value is substantially 0.25 if one but not both of the vertical and horizontal motion vectors is odd valued.
- 32. The method of claim 28 wherein N=8>M.
- 33. The method of claim 32 wherein M=4.
- 34. The method of claim 28 wherein the vertical spatial filtering and down sampling are combined as a single operator.
- 35. The method of claim 28 wherein the vertical IDCT, spatial filtering, and down sampling are combined as a single operator.
- 36. The method of claim 28 wherein step a1) comprises the step of applying an unshuffling operator to the received frame DCT coded blocks in order to convert the received frame DCT coded blocks to corresponding converted field DCT coded blocks.
- 37. A method of reconstructing pixel blocks from P and B DCT coded blocks comprising the following steps:a) selecting reference pixels from a memory in response to a motion vector; b) if the motion vector has ½ pixel resolution, adding drift compensation to the selected reference pixels; and, c) adding the selected reference pixels to the P and B DCT coded blocks in order to form the reconstructed pixel blocks.
- 38. The method of claim 37 wherein the motion vector includes both a vertical motion vector and a horizontal motion vector, and wherein the drift compensation is a value substantially equal to 0.25 if one of the vertical and horizontal motion vectors is odd valued.
- 39. The method of claim 37 wherein the motion vector includes both a vertical motion vector and a horizontal motion vector, and wherein the drift compensation is a value substantially equal to 0.125 if both of the vertical and horizontal motion vectors are odd valued.
- 40. The method of claim 37 wherein the motion vector includes both a vertical motion vector and-a horizontal motion vector, and wherein the drift compensation is a value substantially equal to 0.25 if one but not both of the vertical and horizontal motion vectors is odd valued.
- 41. The method of claim 37 wherein step b) comprises the step of adding no drift compensation to the selected reference pixels if the motion vector is not a ½ pixel resolution motion vector.
- 42. The method of claim 37 wherein the P and B DCT coded blocks are received P and B frame and field DCT coded blocks, and wherein step a) comprises the following steps:a1) converting the received P and B frame DCT coded blocks to converted P and B field DCT coded blocks; a2) down converting the received P and B field DCT coded blocks and the converted P and B field DCT coded blocks; and, a3) selecting reference pixels from a memory in response to a motion vector.
- 43. The method of claim 42 wherein the motion vector includes both a vertical motion vector and a horizontal motion vector, and wherein the drift compensation is a value substantially equal to 0.25 if one of the vertical and horizontal motion vectors is odd valued.
- 44. The method of claim 42 wherein the motion vector includes both a vertical motion vector and a horizontal motion vector, and wherein the drift compensation is a value substantially equal to 0.125 if both of the vertical and horizontal motion vectors are odd valued.
- 45. The method of claim 42 wherein the motion vector includes both a vertical motion vector and a horizontal motion vector, and wherein the drift compensation is a value substantially equal to 0.25 if one but not both of the vertical and horizontal motion vectors is odd valued.
- 46. The method of claim 42 wherein each of the received P and B frame and field DCT coded blocks contains N×N values, wherein step a2) comprises the step of performing a horizontal M point IDCT, a vertical N point IDCT, vertical spatial filtering, and down sampling on the received P and B field DCT coded blocks and the converted P and B field DCT coded blocks, wherein at least the vertical spatial filtering and down sampling encompasses more than N points, and wherein N>M.
- 47. The method of claim 46 wherein the motion vector includes both a vertical motion vector and a horizontal motion vector, and wherein the drift compensation is a value substantially equal to 0.25 if one of the vertical and horizontal motion vectors is odd valued.
- 48. The method of claim 46 wherein the motion vector includes both a vertical motion vector and a horizontal motion vector, and wherein the drift compensation is a value substantially equal to 0.125 if both of the vertical and horizontal motion vectors are odd valued.
- 49. The method of claim 46 wherein the motion vector includes both a vertical motion vector and a horizontal motion vector, and wherein the drift compensation is a value substantially equal to 0.25 if one but not both of the vertical and horizontal motion vectors is odd valued.
RELATED APPLICATIONS
This application claims subject matter similar to the subject matter disclosed in U.S. patent application Ser. No. 09/106,367 filed Jun. 29, 1998 and in U.S. patent application Ser. No. 09/460,645 filed Dec. 15, 1999.
US Referenced Citations (6)
Number |
Name |
Date |
Kind |
6075906 |
Fenwick et al. |
Jun 2000 |
A |
6148033 |
Pearlstein et al. |
Nov 2000 |
A |
6243421 |
Nakajima et al. |
Jun 2001 |
B1 |
6249549 |
Kim |
Jun 2001 |
B1 |
6262770 |
Boyce et al. |
Jul 2001 |
B1 |
6310919 |
Florencio |
Oct 2001 |
B1 |