Citations
Referenced by
Claims1. A method of interpolation in video coding in which an image comprising pixels arranged in rows and columns and represented by values having a specified dynamic range, the pixels in the rows residing at unit horizontal locations and the pixels in the columns residing at unit vertical locations, is interpolated to generate values for sub-pixels at fractional horizontal and vertical locations, the fractional horizontal and vertical locations being defined according to ½x, where x is a positive integer having a maximum value N, the method comprising:
2. A method according to claim 1 wherein a first and a second weight are used in the weighted average referred to in (c), the relative magnitudes of the weights being inversely proportional to the (straight-line diagonal) proximity of the first and the second sub-pixel or pixel to the sub-pixel at ½N unit horizontal and ½N vertical location. 3. A method according to claim 2, wherein in a situation where the first and the second sub-pixel or pixel are symmetrically located with respect to (equidistant from) the sub-pixel at ½N unit horizontal and ½N vertical location, the first and second weights have equal values. 4. A method according to claim 1 in which the first weighted sum of values for sub-pixels residing at ½N−1 unit horizontal and unit vertical locations in step b) is used when a sub-pixel at ½N−1 unit horizontal and ½N unit vertical location is required. 5. A method according to claim 1 in which the second weighted sum of values for sub-pixels residing at unit horizontal and ½N−1 unit vertical locations in step b) is used when a sub-pixel at ½N unit horizontal and ½N−1 unit vertical location is required. 6. A method according to claim 1 in which, when values for sub-pixels at ½N unit horizontal and unit vertical locations, and ½N horizontal and ½N−1 vertical locations are required, interpolating such values by taking the average of the values of a first pixel or sub-pixel located at a vertical location corresponding to that of the sub-pixel being calculated and unit horizontal location and a second pixel or sub-pixel located at a vertical location corresponding to that of the sub-pixel being calculated and ½N−1 unit horizontal location. 7. A method according to claim 1 in which, when values for sub-pixels at unit horizontal and ½N unit vertical locations, and ½N−1 unit horizontal and ½N unit vertical locations are required, interpolating such values by taking the average of the values of a first pixel or sub-pixel located at a horizontal location corresponding to that of the sub-pixel being calculated and unit vertical location and a second pixel or sub-pixel located at a horizontal location corresponding to that of the sub-pixel being calculated and ½N−1 unit vertical location. 8. A method according to claim 1 in which values for sub-pixels at ½N unit horizontal and ½N unit vertical locations are interpolated by taking the average of values of a pixel located at a unit horizontal and unit vertical location, and a sub-pixel located at a ½N−1 unit horizontal and ½N−1 unit vertical location. 9. A method according to claim 1 in which values for sub-pixels at ½N unit horizontal and ½N unit vertical locations are interpolated by taking the average of values of a sub-pixel located at a ½N−1 unit horizontal and unit vertical location, and a sub-pixel located at a unit horizontal and ½N−1 unit vertical location. 10. A method according to claim 1 in which values for half of the sub-pixels at ½N unit horizontal and ½N unit vertical locations are interpolated by taking the average of a first pair of values of a sub-pixel located at a ½N−1 unit horizontal and unit vertical location, and a sub-pixel located at a unit horizontal and ½N−1 unit vertical location and values for the other half of the sub-pixels at ½N unit horizontal and ½N unit vertical locations are interpolated by taking the average of a second pair of values of a pixel located at a unit horizontal and unit vertical location, and a sub-pixel located at a ½N−1 unit horizontal and ½N−1 unit vertical location. 11. A method according to claim 10 in which values for sub-pixels at ½N unit horizontal and ½N unit vertical locations are alternately interpolated for one such sub-pixel by taking the average of a first pair of values of a sub-pixel located at a ½N−1 unit horizontal and unit vertical location, and a sub-pixel located at a unit horizontal and ½N−1 unit vertical location and values and for a neighbouring such sub-pixel by taking the average of a second pair of values of a pixel located at a unit horizontal and unit vertical location, and a sub-pixel located at a ½N−1 unit horizontal and ½N−1 unit vertical location. 12. A method according to claim 11 in which the sub-pixels at ½N unit horizontal and ½N unit vertical locations are alternately interpolated in a horizontal direction. 13. A method according to claim 11 in which the sub-pixels at ½N unit horizontal and ½N unit vertical locations are alternately interpolated in a horizontal direction. 14. A method according to claim 1 in which when values for some sub-pixels at ½N unit horizontal and ½N unit vertical locations are required, such values are interpolated by taking the average of a plurality of nearest neighbouring pixels. 15. A method according to claim 1 in which N equals an integer selected from a list consisting of the values 2, 3, and 4. 16. A method according to claim 1 in which in at least one of step a) and step b) interpolating sub-pixel values directly using weighted sums involves the calculation of an intermediate value for the sub-pixel values having a dynamic range greater than the specified dynamic range. 17. A method according to claim 14 in which the intermediate value for a sub-pixel having ½N−1 sub-pixel resolution is used the calculation of a sub-pixel value having ½N sub-pixel resolution. 18. A method of interpolation in video coding in which an image comprising pixels arranged in rows and columns and represented by values having a specified dynamic range, the pixels in the rows residing at unit horizontal locations and the pixels in the columns residing at unit vertical locations, is interpolated to generate values for sub-pixels at fractional horizontal and vertical locations, the method comprising:
19. A method of interpolation in video coding in which an image comprising pixels arranged in rows and columns and represented by values having a specified dynamic range, the pixels in the rows residing at unit horizontal locations and the pixels in the columns residing at unit vertical locations, is interpolated to generate values for sub-pixels at fractional horizontal and vertical locations, the fractional horizontal and vertical locations being defined according to ½x where x is a positive integer having a maximum value N, the method comprising:
20. A method according to claim 1 in which the sub-pixels used in the first weighted sum are sub-pixels residing at ½N−1 unit horizontal and unit vertical locations and the first weighted sum is used to interpolate a value for a sub-pixel at ½N−1 unit horizontal and ½N unit vertical location. 21. A method according to claim 1 in which the sub-pixels used in the second weighted sum are sub-pixels residing at unit horizontal and ½N−1 unit vertical locations and the second weighted sum is used to interpolate a value for a sub-pixel at ½N unit horizontal and ½N−1 unit vertical location. 22. A method according to claim 1 in which when values for sub-pixels at ½N unit horizontal and ½N unit vertical locations are required, they are interpolated by taking the average of at least one pair of a first pair of values of a sub-pixel located at a ½N−1 unit horizontal and unit vertical location, and a sub-pixel located at a unit horizontal and ½N−1 unit vertical location and a second pair of values of a pixel located at a unit horizontal and unit vertical location, and a sub-pixel located at a ½N−1 unit horizontal and ½N−1 unit vertical location. 23. A video coder for coding an image comprising pixels arranged in rows and columns and represented by values having a specified dynamic range, the pixels in the rows residing at unit horizontal locations and the pixels in the columns residing at unit vertical locations, the video coder comprising an interpolator adapted to generate values for sub-pixels at fractional horizontal and vertical locations, the fractional horizontal and vertical locations being defined according to ½x, where x is a positive integer having a maximum value N, the interpolator being adapted to:
24. A video coder according to claim 23, comprising a video encoder. 25. A video encoder according to claim 23, comprising a video decoder. 26. A codec comprising the video encoder of claim 24 or the video decoder of claim 25. 27. A communications terminal comprising a video coder for coding an image comprising pixels arranged in rows and columns and represented by values having a specified dynamic range, the pixels in the rows residing at unit horizontal locations and the pixels in the columns residing at unit vertical locations, the video coder comprising an interpolator adapted to generate values for sub-pixels at fractional horizontal and vertical locations, the fractional horizontal and vertical locations being defined according to ½x, where x is a positive integer having a maximum value N, the interpolator being adapted to:
28. A communications terminal according to claim 27 comprising a video encoder. 29. A communications terminal according to claim 27 comprising a video decoder. 30. A communications terminal according to claim 27 having a video codec comprising a video encoder and a video decoder. 31. A telecommunications system comprising a communications terminal and a network, the telecommunications network and the communications terminal being connected by a communications link over which coded video can be transmitted, the communications terminal comprising a video coder for coding for coding an image comprising pixels arranged in rows and columns and represented by values having a specified dynamic range, the pixels in the rows residing at unit horizontal locations and the pixels in the columns residing at unit vertical locations, the video coder comprising an interpolator adapted to generate values for sub-pixels at fractional horizontal and vertical locations, the fractional horizontal and vertical locations being defined according to ½x, where x is a positive integer having a maximum value N, the interpolator being adapted to:
32. A telecommunications system according to claim 31 which is a mobile telecommunications system comprising a mobile communications terminal and a wireless network, the connection between the mobile communications terminal and the wireless network being formed by a radio link. 33. A telecommunications system according to claim 31 in which the network enables the communications terminal to communicate with other communications terminals connected to the network over communications links between the other communications terminals and the network. 34. A telecommunications system comprising a communications terminal and a network, the telecommunications network and the communications terminal being connected by a communications link over which coded video can be transmitted, the network comprising a video coder for coding for coding an image comprising pixels arranged in rows and columns and represented by values having a specified dynamic range, the pixels in the rows residing at unit horizontal locations and the pixels in the columns residing at unit vertical locations, the video coder comprising an interpolator adapted to generate values for sub-pixels at fractional horizontal and vertical locations, the fractional horizontal and vertical locations being defined according to ½x, where x is a positive integer having a maximum value N, the interpolator being adapted to:
35. A video coder for coding an image comprising pixels arranged in rows and columns and represented by values having a specified dynamic range, the pixels in the rows residing at unit horizontal locations and the pixels in the columns residing at unit vertical locations, the coder comprising an interpolator adapted to generate values for sub-pixels at fractional horizontal and vertical locations, the resolution of the sub-pixels being determined by a positive integer N, the interpolator being adapted to:
36. A video coder according to claim 35 in which the interpolator is further adapted to form the first weighted sum using the values of sub-pixels residing at ½N−1 unit horizontal and unit vertical locations and to use the first weighted sum to interpolate a value for a sub-pixel at ½N−1 unit horizontal and ½N unit vertical location. 37. A video coder according to claim 35 in which the interpolator is further adapted to form the second weighted sum using the values of sub-pixels residing at unit horizontal and ½N−1 unit vertical locations and to use the second weighted sum to interpolate a value for a sub-pixel at ½N unit horizontal and ½N−1 unit vertical location. 38. A video coder according to claim 35 in which the interpolator is further adapted to interpolate values for sub-pixels at ½N unit horizontal and ½N unit vertical locations by taking the average of at least one pair of a first pair of values of a sub-pixel located at a ½N−1 unit horizontal and unit vertical location, and a sub-pixel located at a unit horizontal and ½N−1 unit vertical location and a second pair of values of a pixel located at a unit horizontal and unit vertical location, and a sub-pixel located at a ½N−1 unit horizontal and ½N−1 unit vertical location. 39. A video coder according to claim 35, comprising a video encoder. 40. A video encoder according to claim 35, comprising a video decoder. 41. A codec comprising the video encoder of claim 39 or the video decoder of claim 40. 42. A communications terminal comprising a video coder for coding an image comprising pixels arranged in rows and columns and represented by values having a specified dynamic range, the pixels in the rows residing at unit horizontal locations and the pixels in the columns residing at unit vertical locations, the coder comprising an interpolator adapted to generate values for sub-pixels at fractional horizontal and vertical locations, the resolution of the sub-pixels being determined by a positive integer N, the interpolator being adapted to:
43. A communications terminal according to claim 42 comprising a video encoder. 44. A communications terminal according to claim 42 comprising a video decoder. 45. A communications terminal according to claim 42 having a video codec comprising a video encoder and a video decoder. 46. A telecommunications system comprising a communications terminal and a network, the telecommunications network and the communications terminal being connected by a communications link over which coded video can be transmitted, the communications terminal comprising a video coder for coding an image comprising pixels arranged in rows and columns and represented by values having a specified dynamic range, the pixels in the rows residing at unit horizontal locations and the pixels in the columns residing at unit vertical locations, the coder comprising an interpolator adapted to generate values for sub-pixels at fractional horizontal and vertical locations, the resolution of the sub-pixels being determined by a positive integer N, the interpolator being adapted to:
47. A telecommunications system according to claim 46 which is a mobile telecommunications system comprising a mobile communications terminal and a wireless network, the connection between the mobile communications terminal and the wireless network being formed by a radio link. 48. A telecommunications system according to claim 46 in which the network enables the communications terminal to communicate with other communications terminals connected to the network over communications links between the other communications terminals and the network. 49. A telecommunications system comprising a communications terminal and a network, the telecommunications network and the communications terminal being connected by a communications link over which coded video can be transmitted, the network comprising a video coder for coding for coding an image comprising pixels arranged in rows and columns and represented by values having a specified dynamic range, the pixels in the rows residing at unit horizontal locations and the pixels in the columns residing at unit vertical locations, the coder comprising an interpolator adapted to generate values for sub-pixels at fractional horizontal and vertical locations, the resolution of the sub-pixels being determined by a positive integer N, the interpolator being adapted to:
50. A codec for coding an image comprising pixels arranged in rows and columns and represented by values having a specified dynamic range, the pixels in the rows residing at unit horizontal locations and the pixels in the columns residing at unit vertical locations, the codec comprising a video encoder and a video decoder, each of the video encoder and the video decoder comprising an interpolator adapted to generate values for sub-pixels at fractional horizontal and vertical locations, the fractional horizontal and vertical locations being defined according to ½x, where x is a positive integer having a maximum value N, the interpolator of the video encoder and the interpolator of the video decoder each being adapted to:
51. A codec for coding an image comprising pixels arranged in rows and columns and represented by values having a specified dynamic range, the pixels in the rows residing at unit horizontal locations and the pixels in the columns residing at unit vertical locations, the codec comprising a video encoder and a video decoder, each of the video encoder and the video decoder comprising an interpolator adapted to generate values for sub-pixels at fractional horizontal and vertical locations, the resolution of the sub-pixels being determined by a positive integer N, the interpolator of the video encoder and the interpolator of the video decoder each being adapted to:
|