Search Images Maps Play YouTube News Gmail Drive More »
Advanced Patent Search | Web History | Sign in

Patents

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: a) when values for sub-pixels at half unit horizontal and unit vertical locations, and unit horizontal and half unit vertical locations are required, interpolating such values directly using weighted sums of pixels residing at unit horizontal and unit vertical locations; b) when values for sub-pixels at half unit horizontal and half unit vertical locations are required, interpolating such values directly using a weighted sum of values for sub-pixels residing at half unit horizontal and unit vertical locations calculated according to step (a); and ...

InventorsMarta Karczewicz, Antti Olli Hallapuro
Original AssigneeNokia Corporation
Primary Examiner: Chris Kelley
Secondary Examiner: Matthew Haney
Attorney: Perman & Green, LLP
Current U.S. Classification375/240.17; 375/E07.26
International Classification: H04N007/12

View patent at USPTO
Search USPTO Assignment Database
Download USPTO Public PAIR data

Citations

Cited PatentFiling dateIssue dateOriginal AssigneeTitle
US4816913Nov 16, 1987Mar 28, 1989Technology, Inc., 64Pixel interpolation circuitry as for a video signal processor
US5485279Jul 2, 1993Jan 16, 1996Sony CorporationMethods and systems for encoding and decoding picture signals and related picture-signal records
US5521642Oct 7, 1993May 28, 1996Daewoo Electronics Co., Ltd.Decoding system for compact high definition television receivers
US5568597May 20, 1994Oct 22, 1996Canon Kabushiki KaishaAdapting image data resolution to match resolution of an output device
US5570436Dec 8, 1994Oct 29, 1996Matsushita Electric Industrial Co., Ltd.Method for interpolating missing pixels and an apparatus employing the method
US5594813Feb 19, 1992Jan 14, 1997Integrated Information Technology, Inc.Programmable architecture and methods for motion estimation
US5754240Oct 1, 1996May 19, 1998Matsushita Electric Industrial Co., Ltd.Method and apparatus for calculating the pixel values of a block from one or two prediction blocks
US5852468Feb 21, 1996Dec 22, 1998Sanyo Electric Co., Ltd.1-chip color video camera for generating inter-pixel color signal component by interpolating primary color signals from neighboring pixels
US5901248Aug 6, 1996May 4, 19998x8, Inc.Programmable architecture and methods for motion estimation
US6104753Feb 3, 1997Aug 15, 2000LG Electronics Inc.Device and method for decoding HDTV video
US6219464Aug 24, 1999Apr 17, 2001Genesis Microchip Inc.Source data interpolation method and apparatus
US6252576Aug 6, 1998Jun 26, 2001In-System Design, Inc.Hardware-efficient system for hybrid-bilinear image scaling
US6381279Jun 30, 2000Apr 30, 2002Hewlett-Packard CompanyMethod for providing motion-compensated multi-field enhancement of still images from video
US6714593Jun 5, 2000Mar 30, 2004Robert Bosch GmbHMotion compensating prediction of moving image sequences
US20020064229Nov 28, 2001Video coding/decoding system and video coder and video decoder used for the same system

Referenced by

Citing PatentFiling dateIssue dateOriginal AssigneeTitle
US7181070Oct 29, 2002Feb 20, 2007Altera CorporationMethods and apparatus for multiple stage video decoding
US7212676Dec 30, 2002May 1, 2007Intel CorporationMatch MSB digital image compression
US7231090Oct 29, 2002Jun 12, 2007Winbond Electronics Corp.Method for performing motion estimation with Walsh-Hadamard transform (WHT)
US7280599Mar 25, 2005Oct 9, 2007Nokia CorporationMethod for sub-pixel value interpolation
US7305034Mar 4, 2003Dec 4, 2007Microsoft CorporationRounding control for multi-stage interpolation
US7317839Sep 2, 2004Jan 8, 2008Microsoft CorporationChroma motion vector derivation for interlaced forward-predicted fields
US7352905Sep 2, 2004Apr 1, 2008Microsoft CorporationChroma motion vector derivation
US7400774Aug 29, 2003Jul 15, 2008The Regents of the University of CaliforniaEncoding and decoding of digital data using cues derivable at a decoder
US7408988Dec 20, 2002Aug 5, 2008LSI CorporationMotion estimation engine with parallel interpolation and search hardware
US7408990Jun 30, 2004Aug 5, 2008Microsoft CorporationEfficient motion vector coding for video compression
US7499495Jul 16, 2004Mar 3, 2009Microsoft CorporationExtended range motion vectors
US7526124Feb 27, 2007Apr 28, 2009Intel CorporationMatch MSB digital image compression
US7529302Sep 15, 2004May 5, 2009Microsoft CorporationFour motion vector coding and decoding in bi-directionally predicted interlaced pictures
US7567617May 27, 2004Jul 28, 2009Microsoft CorporationPredicting motion vectors for fields of forward-predicted interlaced video frames
US7577200Oct 6, 2004Aug 18, 2009Microsoft CorporationExtended range variable length coding/decoding of differential motion vector information
US7599438Sep 2, 2004Oct 6, 2009Microsoft CorporationMotion vector block pattern coding and decoding
US7616692Sep 2, 2004Nov 10, 2009Microsoft CorporationHybrid motion vector prediction for interlaced forward-predicted fields
US7620106Sep 2, 2004Nov 17, 2009Microsoft CorporationJoint coding and decoding of a reference field selection and differential motion vector information
US7620109Mar 4, 2003Nov 17, 2009Microsoft CorporationSub-pixel interpolation in motion estimation and compensation
US7623574Sep 2, 2004Nov 24, 2009Microsoft CorporationSelecting between dominant and non-dominant motion vector predictor polarities
US7630438Sep 15, 2004Dec 8, 2009Microsoft CorporationDirect mode motion vectors for Bi-directionally predicted interlaced pictures
US7630566Sep 20, 2002Dec 8, 2009Broadcom CorporationMethod and apparatus for improved estimation and compensation in digital video compression and decompression
US7653132Apr 1, 2005Jan 26, 2010STMicroelectronics, Inc.Method and system for fast implementation of subpixel interpolation
US7660471Nov 29, 2004Feb 9, 2010Tandberg Telecom ASMethod for correcting interpolated pixel values
US7720153Mar 26, 2004May 18, 2010NTT DoCoMo, Inc.Video encoding apparatus, video encoding method, video encoding program, video decoding apparatus, video decoding method and video decoding program
US7725641Jun 1, 2007May 25, 2010Samsung Electronics Co., Ltd.Memory array structure and single instruction multiple data processor including the same and methods thereof
US7792192Nov 19, 2004Sep 7, 2010Analog Devices, Inc.System and method for sub-pixel interpolation in motion vector estimation
US7852936Sep 15, 2004Dec 14, 2010Microsoft CorporationMotion vector prediction in bi-directionally predicted interlaced field-coded pictures
US7924920Sep 2, 2004Apr 12, 2011Microsoft CorporationMotion vector coding and decoding in interlaced frame coded pictures
US7991245May 29, 2009Aug 2, 2011Increasing image resolution method employing known background and specimen
US8014618Dec 12, 2007Sep 6, 2011Korea Advanced Institute of Science and TechnologyHigh-speed motion compensation apparatus and method
US8064520Jun 29, 2004Nov 22, 2011Microsoft CorporationAdvanced bi-directional predictive coding of interlaced video
US8200032Nov 5, 2008Jun 12, 2012MStar Semiconductor, Inc.Image processing method and related apparatus for performing image processing operation according to image blocks in horizontal direction

Claims

1. 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:

a) when values for sub-pixels at ½N−1 unit horizontal and unit vertical locations, and unit horizontal and ½N−1 unit vertical locations are required, interpolating such values directly using weighted sums of pixels residing at unit horizontal and unit vertical locations;

b) when values for sub-pixels at ½N−1 unit horizontal and ½N−1 unit vertical locations are required, interpolating such values directly using a choice of a first weighted sum of values for sub-pixels residing at ½N−1 unit horizontal and unit vertical locations and a second weighted sum of values for sub-pixels residing at unit horizontal and ½N−1 unit vertical locations, the first and second weighted sums of values being calculated according to step (a); and

c) when a value for a sub-pixel situated at a ½N unit horizontal and ½N unit vertical location is required, interpolating such a value by taking a weighted average of the value of a first sub-pixel or pixel situated at a ½N−m unit horizontal and ½N−n unit vertical location and the value of a second sub-pixel or pixel located at a ½N−p unit horizontal and ½N−q unit vertical location, variables m, n, p and q taking integer values in the range 1 to N such that the first and second sub-pixels or pixels are located diagonally with respect to the sub-pixel at ½N unit horizontal and ½N vertical location.

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:

a) when values for sub-pixels at half unit horizontal and unit vertical locations, and unit horizontal and half unit vertical locations are required, interpolating such values directly using weighted sums of pixels residing at unit horizontal and unit vertical locations;

b) when values for sub-pixels at half unit horizontal and half unit vertical locations are required, interpolating such values directly using a weighted sum of values for sub-pixels residing at half unit horizontal and unit vertical locations calculated according to step (a); and

c) when values for sub-pixels at quarter unit horizontal and quarter unit vertical locations are required, interpolating such values by taking the average of at least one pair of a first pair of values of a sub-pixel located at a half unit horizontal and unit vertical location, and a sub-pixel located at a unit horizontal and half 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 half unit horizontal and half unit vertical location.

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:

a) when values for sub-pixels at ½N−1 unit horizontal and unit vertical locations, and unit horizontal and ½N−1 unit vertical locations are required, interpolating such values directly using weighted sums of pixels residing at unit horizontal and unit vertical locations;

b) when a value for a sub-pixel at a sub-pixel horizontal and sub-pixel vertical location is required, interpolating such a value directly using a choice of a first weighted sum of values for sub-pixels located at a vertical location corresponding to that of the sub-pixel being calculated and a second weighted sum of values for sub-pixels located at a horizontal location corresponding to that of the sub-pixel being calculated.

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:

a) interpolate values for sub-pixels at ½N−1 unit horizontal and unit vertical locations, and unit horizontal and ½N−1 unit vertical locations directly using weighted sums of pixels residing at unit horizontal and unit vertical locations;

b) interpolate values for sub-pixels at ½N−1 unit horizontal and ½N−1 unit vertical locations directly using a choice of a first weighted sum of values for sub-pixels residing at ½N−1 unit horizontal and unit vertical locations and a second weighted sum of values for sub-pixels residing at unit horizontal and ½N−1 unit vertical locations, the first and second weighted sums of values being calculated according to step (a); and

c) interpolate a value for a sub-pixel situated at a ½N unit horizontal and ½N unit vertical location by taking a weighted average of the value of a first sub-pixel or pixel situated at a ½N−m unit horizontal and ½N−n unit vertical location and the value of a second sub-pixel or pixel located at a ½N−p unit horizontal and ½N−q unit vertical location, variables m, n, p and q taking integer values in the range 1 to N such that the first and second sub-pixels or pixels are located diagonally with respect to the sub-pixel at ½N unit horizontal and ½N vertical location.

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:

a) interpolate values for sub-pixels at ½N−1 unit horizontal and unit vertical locations, and unit horizontal and ½N−1 unit vertical locations directly using weighted sums of pixels residing at unit horizontal and unit vertical locations;

b) interpolate values for sub-pixels at ½N−1 unit horizontal and ½N−1 unit vertical locations directly using a choice of a first weighted sum of values for sub-pixels residing at ½N−1 unit horizontal and unit vertical locations and a second weighted sum of values for sub-pixels residing at unit horizontal and ½N−1 unit vertical locations, the first and second weighted sums of values being calculated according to step (a); and

c) interpolate a value for a sub-pixel situated at a ½N unit horizontal and ½N unit vertical location by taking a weighted average of the value of a first sub-pixel or pixel situated at a ½N−m unit horizontal and ½N−n unit vertical location and the value of a second sub-pixel or pixel located at a ½N−p unit horizontal and ½N−q unit vertical location, variables m, n, p and q taking integer values in the range 1 to N such that the first and second sub-pixels or pixels are located diagonally with respect to the sub-pixel at ½N unit horizontal and ½N vertical location.

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:

a) interpolate values for sub-pixels at ½N−1 unit horizontal and unit vertical locations, and unit horizontal and ½N−1 unit vertical locations directly using weighted sums of pixels residing at unit horizontal and unit vertical locations;

b) interpolate values for sub-pixels at ½N−1 unit horizontal and ½N−1 unit vertical locations directly using a choice of a first weighted sum of values for sub-pixels residing at ½N−1 unit horizontal and unit vertical locations and a second weighted sum of values for sub-pixels residing at unit horizontal and ½N−1 unit vertical locations, the first and second weighted sums of values being calculated according to step (a); and

c) interpolate a value for a sub-pixel situated at a ½N unit horizontal and ½N unit vertical location by taking a weighted average of the value of a first sub-pixel or pixel situated at a ½N−m unit horizontal and ½N−n unit vertical location and the value of a second sub-pixel or pixel located at a ½N−p unit horizontal and ½N−q unit vertical location, variables m, n, p and q taking integer values in the range 1 to N such that the first and second sub-pixels or pixels are located diagonally with respect to the sub-pixel at ½N unit horizontal and ½N vertical location.

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:

a) interpolate values for sub-pixels at ½N−1 unit horizontal and unit vertical locations, and unit horizontal and ½N−1 unit vertical locations directly using weighted sums of pixels residing at unit horizontal and unit vertical locations;

b) interpolate values for sub-pixels at ½N−1 unit horizontal and ½N−1 unit vertical locations directly using a choice of a first weighted sum of values for sub-pixels residing at ½N−1 unit horizontal and unit vertical locations and a second weighted sum of values for sub-pixels residing at unit horizontal and ½N−1 unit vertical locations, the first and second weighted sums of values being calculated according to step (a); and

c) interpolate a value for a sub-pixel situated at a ½N unit horizontal and ½N unit vertical location by taking a weighted average of the value of a first sub-pixel or pixel situated at a ½N−m unit horizontal and ½N−n unit vertical location and the value of a second sub-pixel or pixel located at a ½N−p unit horizontal and ½N−q unit vertical location, variables m, n, p and q taking integer values in the range 1 to N such that the first and second sub-pixels or pixels are located diagonally with respect to the sub-pixel at ½N unit horizontal and ½N vertical location.

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:

a) interpolate values for sub-pixels at ½N−1 unit horizontal and unit vertical locations, and unit horizontal and ½N−1 unit vertical locations directly using weighted sums of pixels residing at unit horizontal and unit vertical locations;

b) interpolate a value for a sub-pixel at a sub-pixel horizontal and sub-pixel vertical location is required directly using a choice of a first weighted sum of values for sub-pixels located at a vertical location corresponding to that of the sub-pixel being calculated and a second weighted sum of values for sub-pixels located at a horizontal location corresponding to that of the sub-pixel being calculated.

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:

a) interpolate values for sub-pixels at ½N−1 unit horizontal and unit vertical locations, and unit horizontal and ½N−1 unit vertical locations directly using weighted sums of pixels residing at unit horizontal and unit vertical locations;

b) interpolate a value for a sub-pixel at a sub-pixel horizontal and sub-pixel vertical location is required directly using a choice of a first weighted sum of values for sub-pixels located at a vertical location corresponding to that of the sub-pixel being calculated and a second weighted sum of values for sub-pixels located at a horizontal location corresponding to that of the sub-pixel being calculated.

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:

a) interpolate values for sub-pixels at ½N−1 unit horizontal and unit vertical locations, and unit horizontal and ½N−1 unit vertical locations directly using weighted sums of pixels residing at unit horizontal and unit vertical locations;

b) interpolate a value for a sub-pixel at a sub-pixel horizontal and sub-pixel vertical location is required directly using a choice of a first weighted sum of values for sub-pixels located at a vertical location corresponding to that of the sub-pixel being calculated and a second weighted sum of values for sub-pixels located at a horizontal location corresponding to that of the sub-pixel being calculated.

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:

a) interpolate values for sub-pixels at ½N−1 unit horizontal and unit vertical locations, and unit horizontal and ½N−1 unit vertical locations directly using weighted sums of pixels residing at unit horizontal and unit vertical locations;

b) interpolate a value for a sub-pixel at a sub-pixel horizontal and sub-pixel vertical location is required directly using a choice of a first weighted sum of values for sub-pixels located at a vertical location corresponding to that of the sub-pixel being calculated and a second weighted sum of values for sub-pixels located at a horizontal location corresponding to that of the sub-pixel being calculated.

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:

a) interpolate values for sub-pixels at ½N−1 unit horizontal and unit vertical locations, and unit horizontal and ½N−1 unit vertical locations directly using weighted sums of pixels residing at unit horizontal and unit vertical locations;

b) interpolate values for sub-pixels at ½N−1 unit horizontal and ½N−1 unit vertical locations directly using a choice of a first weighted sum of values for sub-pixels residing at ½N−1 unit horizontal and unit vertical locations and a second weighted sum of values for sub-pixels residing at unit horizontal and ½N−1 unit vertical locations, the first and second weighted sums of values being calculated according to step (a); and

c) interpolate a value for a sub-pixel situated at a ½N unit horizontal and ½N unit vertical location by taking a weighted average of the value of a first sub-pixel or pixel situated at a ½N−m unit horizontal and ½N−n unit vertical location and the value of a second sub-pixel or pixel located at a ½N−p unit horizontal and ½N−q unit vertical location, variables m, n, p and q taking integer values in the range 1 to N such that the first and second sub-pixels or pixels are located diagonally with respect to the sub-pixel at ½N unit horizontal and ½N vertical location.

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:

a) interpolate values for sub-pixels at ½N−1 unit horizontal and unit vertical locations, and unit horizontal and ½N−1 unit vertical locations directly using weighted sums of pixels residing at unit horizontal and unit vertical locations;

b) interpolate a value for a sub-pixel at a sub-pixel horizontal and sub-pixel vertical location directly using a choice of a first weighted sum of values for sub-pixels located at a vertical location corresponding to that of the sub-pixel being calculated and a second weighted sum of values for sub-pixels located at a horizontal location corresponding to that of the sub-pixel being calculated.