WO2007051979A1 - Video processing - Google Patents

Video processing Download PDF

Info

Publication number
WO2007051979A1
WO2007051979A1 PCT/GB2006/004007 GB2006004007W WO2007051979A1 WO 2007051979 A1 WO2007051979 A1 WO 2007051979A1 GB 2006004007 W GB2006004007 W GB 2006004007W WO 2007051979 A1 WO2007051979 A1 WO 2007051979A1
Authority
WO
WIPO (PCT)
Prior art keywords
pixel
motion
field
pixels
image
Prior art date
Application number
PCT/GB2006/004007
Other languages
French (fr)
Inventor
Karl James Sharman
Original Assignee
Sony United Kingdom Limited
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony United Kingdom Limited filed Critical Sony United Kingdom Limited
Publication of WO2007051979A1 publication Critical patent/WO2007051979A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/01Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
    • H04N7/0117Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving conversion of the spatial resolution of the incoming video signal
    • H04N7/012Conversion between an interlaced and a progressive signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/14Picture signal circuitry for video frequency region
    • H04N5/142Edging; Contouring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/14Picture signal circuitry for video frequency region
    • H04N5/144Movement detection
    • H04N5/145Movement estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/14Picture signal circuitry for video frequency region
    • H04N5/20Circuitry for controlling amplitude response
    • H04N5/205Circuitry for controlling amplitude response for correcting amplitude versus frequency characteristic

Definitions

  • This invention relates to video processing.
  • an image of an output video signal is derived by interpolation or the like from one or more images of an input video signal.
  • Examples include video standards conversion, where new temporal image positions are introduced, scan conversion such as interlaced to progressive scan conversion, and resolution alteration (e.g. up-converting from standard definition to high definition).
  • scan conversion such as interlaced to progressive scan conversion
  • resolution alteration e.g. up-converting from standard definition to high definition.
  • more than one of these could be performed as a composite or single operation; and of course, the list is by way of an example rather than an exhaustive definition.
  • the output frame can be formed as a simple combination of two adjacent input fields, one field providing the odd pixel lines of the frame, and the other field providing the even pixel lines. This offers both simplicity, in terms of processing requirements, and accuracy.
  • motion-dependent processing where image motion from field to field is detected, allowing the missing pixels to be interpolated between image positions representing a moving object in two or more fields. Motion-dependent processing allows improved accuracy but at the expense of hugely increased processing requirements. Indeed, these processing requirements may make it impractical to use motion-dependent processing at all in some situations.
  • This invention provides video processing apparatus in which pixels of a progressive scan output image are generated either by a first pixel generation technique involving intra- field interpolation from an input field or by a second pixel generation technique involving selection of a corresponding pixel from an input field of the appropriate field polarity, the apparatus comprising: a motion detector for detecting image motion at an output pixel position; a high frequency detector for detecting high vertical frequency components in an image region around the output pixel position; and means for selecting between the first pixel generation technique and the second pixel generation technique in dependence on a comparison of the detected image motion and the detected high vertical frequency components at the output pixel position.
  • the invention allows alias problems to be reduced by avoiding erroneous use of inter- field pixel interleaving where the vertical frequency components that would result are high.
  • Figure 1 schematically illustrates a flat-screen display arrangement
  • Figure 2 schematically illustrates video mixing operation in a studio environment
  • Figure 3 schematically illustrates an interlace to progressive converter
  • Figures 4a to 4c schematically illustrate gradient detection
  • Figures 5 and 6a to 6e schematically illustrate a spatial block matching operation
  • Figures 7a and 7b schematically illustrate an alias situation
  • Figures 8a to 8d schematically illustrate alias detection techniques
  • Figure 9 schematically illustrates a Kell-factor filtering operation
  • Figures 10 and 11 schematically illustrate stages in a Kell-factor filtering operation
  • Figure 12a schematically illustrates a motion adaptive interpolator
  • Figure 12b schematically illustrates motion detection between successive video fields
  • Figure 13 schematically illustrates a high frequency check operation
  • Figures 14a and 14b schematically illustrates a variation which reduces the need for image scaling
  • Figures 15, 16a, 16b, 17a and 17b schematically illustrate a primary and an alternative pixel testing strategy
  • Figure 18 schematically illustrates the generation of a difference value.
  • Figure 1 schematically illustrates a flat screen display arrangement 10 comprising a source of interlaced video material 20, an interlace to progressive scan converter 30 and a display panel 40 such as a liquid crystal (LCD) or plasma display.
  • LCD liquid crystal
  • FIG. 1 illustrates a typical use of interlace to progressive scan conversion, in that many broadcast signals are in the interlaced format whereas many flat panel displays operate most successfully in a progressive scan format.
  • a broadcast signal received by the source of interlaced material 20 is used to generate an interlaced signal for display. This is passed to the interlace to progressive scan converter 30 to generate a progressive scan signal from the interlaced signal. It is the progressive scan signal which is passed to the display 40.
  • the source of interlaced material 20 need not be a broadcast receiver, but could be a video replay apparatus such as a DVD player, a network connection such as an internet connection and so on.
  • Figure 2 schematically illustrates a video mixing operation in a studio environment, in order to give another example of the use of interlace to progressive scan conversion.
  • a source of interlace material 50 and source of progressive scan material 60 are provided. These sources could be cameras, video replay apparatus such as video tape recorders or hard disk recorders, broadcast receivers or the like.
  • the interlaced output from the source of interlaced material 50 is supplied to an interlace to progress scan converter 70 to generate a progressive scan signal.
  • This can be processed by the vision mixer 80 along with the progressive scan material from the source 60 to generate a processed progressive scan output.
  • the progressive scan output of the vision mixer 80 can be converted back to an interlaced format if required, e.g. for subsequent broadcast or recording.
  • the vision mixer 80 is just one example of video processing apparatus; instead, a digital video effects unit, for example, could be used at this position in Figure 2.
  • Figure 3 schematically shows an interlace to progressive scan converter.
  • the converter comprises a spatial interpolator 100, a motion adaptive interpolator 110 and a set of three field stores 120.
  • the converter of Figure 3 operates to generate output progressive scan frames at the same repetition frequency as the input interlaced fields. Therefore, a main requirement of the converter is to generate the "missing" pixels in each interlaced field to turn that interlaced field into a progressive scan frame.
  • the spatial interpolator 100 generates the "missing" pixels by spatial interpolation within the field concerned. In other words, this is an intra-field operation.
  • the motion adaptive interpolator generates the missing pixels by inserting pixels from an adjacent field of the opposite polarity.
  • the output of the spatial interpolator 100 is used at image positions where image motion is detected, while the output of the motion adaptive interpolator 110 is used at pixel positions where image motion is not detected.
  • the spatial interpolator operates at each pixel position, and the motion adaptive interpolator either selects the output of the spatial interpolator, or selects a pixel from another field of the opposite polarity for output, or mixes the two.
  • the motion adaptive interpolator will be described in more detail below. First, the spatial interpolator will be described.
  • the spatial interpolator comprises a 1-2 horizontal pixel sealer 130, a spatial block matcher 140, a minimum error selector 150, a diagonal interpolator 160, a dot noise reducer 170 and a Kell-factor corrector 180. The operation of each of these will be described in more detail below.
  • the sealer 130 uses horizontal linear interpolation to generate one additional pixel value between each two pixels of the input interlaced field. So, the horizontal resolution (at least in terms of number of available pixel values) is doubled, but no difference is made at this stage to the vertical resolution.
  • the overall operation of the spatial block matcher 140 and the diagonal interpolator 160 is to detect the orientation of an image feature relevant to a pixel position where a new pixel is to be interpolated, and then to apply an interpolation along that image feature direction. So, if a current pixel position to be interpolated lies within a diagonal image feature (a line, an edge etc.) at, say, 45° to the horizontal, interpolation of that new pixel would take place along that 45° direction. This can tend to give a better output result than restricting the interpolation to horizontal or vertical interpolation. A key part of this process, clearly, is therefore to detect the direction of an image feature at each pixel position.
  • Figure 4A schematically illustrates a successful block match between two blocks 200, 210 of pixels around the position of an unknown pixel 220 (a circle with a question mark inside).
  • the notation used in the present drawings is that a square indicates a known pixel where as a circle indicates a pixel to be interpolated by the diagonal interpolator 160.
  • the shading in Figures 4A to 4C is a schematic representation of an image feature.
  • the image feature has a gradient of 1/1. It is not possible to obtain a successful block match with the blocks at integral pixel positions. A successful match between blocks 250, 260 occurs at a half integral pixel position. Accordingly, in order to detect gradients of this nature (indeed any gradients sharper than 1/2), it is necessary to operate at a sub-pixel accuracy. In the present case, a half-pixel accuracy was adopted. If a greater accuracy still was used, (e.g. quarter-pixel accuracy) then gradients yet closer to vertical could be detected. In this embodiment, half-pixel accuracy was selected as a balance between processing requirements and accuracy at very acute gradients.
  • FIGS 5 and 6A to 6E schematically illustrate the spatial block matching operation.
  • spatial block matching is carried out at sub-pixel accuracy; in this case half-pixel accuracy.
  • a range of block sizes is used, with corresponding search ranges (maximum displacements relative to the pixel position under test). Taking into account the 1:2 scaling operation, example block sizes and search ranges are given in the following table:
  • Figure 5 schematically illustrates a block match operation between two blocks of 3v x 7h pixels 300, 310, around an unknown pixel position 320.
  • the variable d signifies a horizontal displacement of the block's horizontal centre from the pixel position under test.
  • a condition applied to the block matches is that the blocks must always overlap the pixel position under test.
  • the blocks are displaced in integral numbers of real pixel displacements (so a displacement of m corresponds to a displacement of 2/7? interpolated pixels). Accordingly, the particular block size shown in Figure 5 allows five possible tests at a displacement of -2 pixels (Figure 6A) -1 pixel ( Figure 6B), 0 pixels ( Figure 6C), +1 pixel
  • the displacement is indicated as a displacement from the centre, in scaled pixels.
  • the two blocks are displaced by equal amounts, though in opposite directions. Symmetrical displacements are used because otherwise the block matching could detect lines or edges which are not relevant to the pixel under test.
  • SAD sum of absolute differences
  • the SAD values for three colour components are combined, and a minimum normalised SAD value determines a gradient for interpolation.
  • Figures 7A and 7B illustrate a possible alias situation.
  • a block match between blocks 340 and 350 suggests that an unknown pixel 330 should be a dark grey colour.
  • the block match is 100% successful and so the SAD value would be zero (note that this is a schematic example).
  • a block match between blocks 360 and 370 is also 100% successful, again giving a SAD value of zero.
  • the block match of Figure 7B suggests that the unknown pixel 330 should be a light grey colour.
  • each block in a block match should contain a line segment.
  • a digitised line segment is considered to have two properties. Firstly, it is monotonic along the central scan line row of the block in question, and secondly there is a vertical transition between scan lines in the block in question.
  • Figures 8A to 8D a source field contains multiple diagonal lines.
  • Figure 8B schematically illustrates one row of pixels within the image of Figure 8A.
  • Figures 8C and 8D illustrate the two edges of the diagonal line shown in Figure 8B. It will be seen that each of these edges has a region of pixels which show a monotonic variation in luminance. Also, referring back to Figure 8A, it can be seen that such segments exhibit a vertical transition between adjacent rows of pixels.
  • tests are performed separately in respect of each of the colour components (e.g. R, G and B). All three tests must be passed separately. Alternatively, for example to save hardware, fewer than three tests could be performed. For example, only the luminance, or only one colour component, might be tested. Of course, a YCbCr or YPbPr representation could be tested instead.
  • a second rule, hinted at above, which is applied to block matching is that the minimum normalised SAD value determines the gradient for subsequent interpolation. Normally, the direction is selected from the block match with the smallest error
  • a third rule applicable to block matching is as follows. The basis of the rule is that neighbouring 'unknown' (to be interpolated) pixels should indicate a similar gradient to a current pixel under consideration.
  • the diagonal interpolator 160 is a simple pixel averager: given a direction it picks the pixel in that direction on the line below and the pixel in that direction on the line above and averages them.
  • the dot noise reducer 170 involves a process which is applied to the output of the diagonal interpolator 160. A test is applied to detect whether an interpolated pixel lies within the maximum and minimum values of the four vertically and horizontally pixels, i.e. the pixels immediately above, below, left and right of the interpolated pixel. Note that the pixels above and below the interpolated pixel will be real pixels, whereas those to the left and right will be interpolated themselves.
  • v be the original value of the pixel under consideration, and let v' be v, clipped to lie within the range of the four locally neighbouring pixels.
  • the new pixel value be kDNR v' + (1- kDNR)v, where kDNR is programmable.
  • Kell-factor is a quantity which represents a property of progressive scan and interlaced images. In order to represent the information being scanned, it is generally considered that only 70% (the Kell-factor) of the possible vertical bandwidth is (or should be) represented. Hence when performing an interlace to progressive scan conversion, it is potentially hazardous to attempt to produce a full vertical bandwidth image. Instead, a compensation to account for a Kell-factor of less than unity may be used.
  • Kell-factor filtering operation is schematically illustrated in Figure 9.
  • Figures 10 and 11 schematically demonstrate the concept. The general idea is shown in Figure 10, whereby a vertical filter is (selectively) applied to real pixels I and interpolated pixels S in a progressive scan frame.
  • the interlaced field 520 is supplied to an interlace-to-progressive converter, which then generates the missing field lines to produce a reconstructed frame 530.
  • the frame 530 may now contain frequencies that are above 70% of the available bandwidth. Generating such frequencies is not always desired, since the information was not present in the source data to the interlace to progressive scan converter.
  • a version 540 of this frame that does not exceed this bandwidth limit should be created, and this should be achieved by adjusting just the reconstructed field lines and not the source field lines - those source field lines are from an image that has already been passed through such a filter, and are therefore 'perfect'.
  • Producing the required output can therefore be thought of as the low-pass filter output of a theoretical image 550 constructed from the lines from the original 100% vertical bandwidth image interlaced with the reconstructed field.
  • the original 100% vertical bandwidth image is not available, and so a technique to circumvent this problem is now described.
  • F are pixels from a real field of data, and / are interpolated pixels. Note that these values are known.
  • the initial symmetrical 3-tap filter has relatively poor filtering characteristics, and thus a method to improve upon this by using an initial symmetrical 5-tap filter was developed.
  • the example 3-tap filter defined above is: vFiIter3Tap70pcnt
  • the 7-tap method requires the use of a 7-tap filter, a 5-tap filter and a 3-tap filter.
  • the symmetrical 7 tap filter consist of four coefficients: a, b, c, d, and the full filter be described by [ a, b, c, d, c, b, a] ⁇ .
  • the 5 tap filter consist of three coefficients: e,f, g, and the full filter be described by [e,f, g,f, e] ⁇ .
  • An example 70% 7-tap filter is: vFilterlTaplQpcnt
  • the example 5-tap filter defined above is:
  • the example 3-tap filter defined above is:
  • This equation is used on each spatially interpolated pixel.
  • the response is a bandstop filter, with the stop band between 0.66 and 0.8 f s /2; however, interpreting the response is complicated as it is only used for alternate output pixels.
  • FIG 12a schematically illustrates the operation of the motion adaptive interpolator 110.
  • the interpolator 110 comprises and inter-field block matcher 600, a high frequency checker 610 and a mixer 620.
  • the inter-field block matcher 600 uses data from the current input field and the three field stores 120 to carry out inter-field motion comparisons. This involves comparing blocks of pixels the current field (F N in Figure 12b) with correspondingly positioned blocks in the previous field of the same type (F N-2 ) and likewise comparing the preceding field (F N -O ar *d the previous field of the same type (F N-3 ). The results of these comparisons are used to detect a degree of motion in the image.
  • SWADs weighted sums of absolute differences
  • Weighted block matches sum weighted absolute differences between coincident pixels, SWAD.
  • SWAD AREA Summing the latter two SWADs gives a localised block match
  • the high frequency checker 610 is arranged to detect high frequencies in the input fields. The algorithm is based on the following principle.
  • the high frequency checker uses the lines above and below the currently interpolated pixel from the current field FN and the line from the preceding field FN- I that corresponds to the missing line.
  • the HFC may be considered as a 5x3 pixel neighbourhood check. Let HFC thr es h i and HFCthres h 2 be two programmable constants, with the former greater than the latter.
  • SWAD A REA The increase in SWAD A REA will tend to act against the use of the motion adaptive pixel at that output position.
  • the mixer 620 operates according to the criteria SWAD AREA and SWAD LO C A L and also various thresholds threshi ....
  • Figures 14a and 14b schematically illustrates a variation which reduces the need for image scaling.
  • Figure 14a schematically illustrates the operation of embodiment described above, where each row of pixels (indicated in this diagram as GO ⁇ O ... contains real pixels and 1:2 interpolated pixels from the sealer 130.
  • An example block match between two blocks 700, 710 and another between two blocks 720, 730 is illustrated.
  • the blocks are changed in size very slightly so that the extreme edge pixels are real rather than interpolated pixels.
  • the same image feature angle is tested as in the upper part of Figure 14a, but the blocks 740, 750 are made slightly wider so that their edge pixels are real pixels ⁇ .
  • Similar considerations apply to the lower part of Figure 14b, which shows a match between blocks 760, 770 which tests the same image feature angle as the match shown in the lower part of Figure 14a. It is then the case that the comparisons between pairs of interpolated pixels are not actually needed for large blocks such as those shown in Figures 14a and 14b.
  • the same information can be obtained from a basic comparison of the real (non-interpolate) pixels.
  • the present embodiment retains the 1 :2 interpolation operation for smaller block offsets, in order to allow such steep angles to be better detected. For example, a range of block offsets of +1 and 0 could use 1:2 interpolated pixels, whereas block offsets of greater than this need not use the 1 :2 interpolated pixels.
  • each block size is used in a match operation for only its most positive and most negative offsets. This can dramatically reduce the number of block matching operations needed, while not actually losing any information, since the previous scheme repeated (for example) the block matching tests at zero displacement (vertical image feature) for each block size.
  • a further alternative to the arrangement described above is another alteration to alter the rules applicable to block matching in order to reduce the hardware requirements of this operation.
  • the revised test is symmetrical about the interpolated row.
  • Figure 15 schematically illustrates a block match.
  • Figures 16a and 16b schematically illustrate the original test for horizontal and vertical energy which would have been performed in respect of that block match.
  • Figures 17a and 17b schematically illustrate the revised tests which show that the same two rows are used for both tests.
  • Figure 18 schematically illustrates the generation of a difference value.
  • SAD values are calculated as a rolling average, with a new value being inserted and an old one discarded. This again can cut down the processing and hardware required to implement this feature.
  • the same techniques could be applicable to altering the size (e.g. height) of an image such as a progressive scan image.
  • the techniques could perform a 1:3 or 1 :4 scaling.
  • the invention can be implemented in programmable or semi- programmable hardware operating under the control of appropriate software.
  • This could be a general purpose computer or arrangements such as an ASIC (application specific integrated circuit) or an FPGA (field programmable gate array).
  • the software could be supplied on a storage medium such as a disk or solid state memory, or via a transmission medium such as a network or internet connection, or via combinations of these. Appendix

Abstract

Video processing apparatus in which pixels of a progressive scan output image are generated either by a first pixel generation technique involving intra-field interpolation from an input field or by a second pixel generation technique involving selection of a corresponding pixel from an input field of the appropriate field polarity comprises a motion detector for detecting image motion at an output pixel position; a high frequency detector for detecting high vertical frequency components in an image region around the output pixel position; and means for selecting between the first pixel generation technique and the second pixel generation technique in dependence on a comparison of the detected image motion and the detected high vertical frequency components at the output pixel position.

Description

VIDEO PROCESSING
This invention relates to video processing.
There are several circumstances in which an image of an output video signal is derived by interpolation or the like from one or more images of an input video signal. Examples include video standards conversion, where new temporal image positions are introduced, scan conversion such as interlaced to progressive scan conversion, and resolution alteration (e.g. up-converting from standard definition to high definition). Of course, more than one of these could be performed as a composite or single operation; and of course, the list is by way of an example rather than an exhaustive definition.
Taking the specific example of interlaced to progressive scan conversion, various options are available to generate an output progressive scan frame from one or more input interlaced fields.
If no image motion is present, then the output frame can be formed as a simple combination of two adjacent input fields, one field providing the odd pixel lines of the frame, and the other field providing the even pixel lines. This offers both simplicity, in terms of processing requirements, and accuracy.
But if motion is present, other techniques have to be used. One such technique is intra-field processing, where the "missing" pixels in a. particular field are derived from other pixels within that field. This lacks the accuracy of the simple .combination described above, because - in comparison with the combination of two fields - only half the information is being used to generate the output frame. Another technique is motion-dependent processing, where image motion from field to field is detected, allowing the missing pixels to be interpolated between image positions representing a moving object in two or more fields. Motion-dependent processing allows improved accuracy but at the expense of hugely increased processing requirements. Indeed, these processing requirements may make it impractical to use motion-dependent processing at all in some situations.
This invention provides video processing apparatus in which pixels of a progressive scan output image are generated either by a first pixel generation technique involving intra- field interpolation from an input field or by a second pixel generation technique involving selection of a corresponding pixel from an input field of the appropriate field polarity, the apparatus comprising: a motion detector for detecting image motion at an output pixel position; a high frequency detector for detecting high vertical frequency components in an image region around the output pixel position; and means for selecting between the first pixel generation technique and the second pixel generation technique in dependence on a comparison of the detected image motion and the detected high vertical frequency components at the output pixel position.
The invention allows alias problems to be reduced by avoiding erroneous use of inter- field pixel interleaving where the vertical frequency components that would result are high.
Further respective aspects and features of the invention are defined in the appended claims. Embodiments of the invention will now be described, by way of example only, with reference to the accompanying drawings in which:
Figure 1 schematically illustrates a flat-screen display arrangement; Figure 2 schematically illustrates video mixing operation in a studio environment; Figure 3 schematically illustrates an interlace to progressive converter; Figures 4a to 4c schematically illustrate gradient detection;
Figures 5 and 6a to 6e schematically illustrate a spatial block matching operation; Figures 7a and 7b schematically illustrate an alias situation; Figures 8a to 8d schematically illustrate alias detection techniques; Figure 9 schematically illustrates a Kell-factor filtering operation; Figures 10 and 11 schematically illustrate stages in a Kell-factor filtering operation;
Figure 12a schematically illustrates a motion adaptive interpolator; Figure 12b schematically illustrates motion detection between successive video fields;
Figure 13 schematically illustrates a high frequency check operation; Figures 14a and 14b schematically illustrates a variation which reduces the need for image scaling;
Figures 15, 16a, 16b, 17a and 17b schematically illustrate a primary and an alternative pixel testing strategy; and
Figure 18 schematically illustrates the generation of a difference value. Figure 1 schematically illustrates a flat screen display arrangement 10 comprising a source of interlaced video material 20, an interlace to progressive scan converter 30 and a display panel 40 such as a liquid crystal (LCD) or plasma display. This illustrates a typical use of interlace to progressive scan conversion, in that many broadcast signals are in the interlaced format whereas many flat panel displays operate most successfully in a progressive scan format. Accordingly, in Figure 1, a broadcast signal received by the source of interlaced material 20 is used to generate an interlaced signal for display. This is passed to the interlace to progressive scan converter 30 to generate a progressive scan signal from the interlaced signal. It is the progressive scan signal which is passed to the display 40. It will be appreciated that the source of interlaced material 20 need not be a broadcast receiver, but could be a video replay apparatus such as a DVD player, a network connection such as an internet connection and so on.
Figure 2 schematically illustrates a video mixing operation in a studio environment, in order to give another example of the use of interlace to progressive scan conversion. Here, a source of interlace material 50 and source of progressive scan material 60 are provided. These sources could be cameras, video replay apparatus such as video tape recorders or hard disk recorders, broadcast receivers or the like.
The interlaced output from the source of interlaced material 50 is supplied to an interlace to progress scan converter 70 to generate a progressive scan signal. This can be processed by the vision mixer 80 along with the progressive scan material from the source 60 to generate a processed progressive scan output. Of course, the progressive scan output of the vision mixer 80 can be converted back to an interlaced format if required, e.g. for subsequent broadcast or recording. It will also be appreciated that the vision mixer 80 is just one example of video processing apparatus; instead, a digital video effects unit, for example, could be used at this position in Figure 2.
Figure 3 schematically shows an interlace to progressive scan converter. In general terms, the converter comprises a spatial interpolator 100, a motion adaptive interpolator 110 and a set of three field stores 120.
The converter of Figure 3 operates to generate output progressive scan frames at the same repetition frequency as the input interlaced fields. Therefore, a main requirement of the converter is to generate the "missing" pixels in each interlaced field to turn that interlaced field into a progressive scan frame. This can be achieved in one of two ways. On one hand, the spatial interpolator 100 generates the "missing" pixels by spatial interpolation within the field concerned. In other words, this is an intra-field operation. On the other hand, the motion adaptive interpolator generates the missing pixels by inserting pixels from an adjacent field of the opposite polarity. This is valid only if there is no image motion between the fields, so the basic organisation of Figure 3 is that the output of the spatial interpolator 100 is used at image positions where image motion is detected, while the output of the motion adaptive interpolator 110 is used at pixel positions where image motion is not detected. For simplicity of operation, the spatial interpolator operates at each pixel position, and the motion adaptive interpolator either selects the output of the spatial interpolator, or selects a pixel from another field of the opposite polarity for output, or mixes the two.
The motion adaptive interpolator will be described in more detail below. First, the spatial interpolator will be described.
The spatial interpolator comprises a 1-2 horizontal pixel sealer 130, a spatial block matcher 140, a minimum error selector 150, a diagonal interpolator 160, a dot noise reducer 170 and a Kell-factor corrector 180. The operation of each of these will be described in more detail below. The sealer 130 uses horizontal linear interpolation to generate one additional pixel value between each two pixels of the input interlaced field. So, the horizontal resolution (at least in terms of number of available pixel values) is doubled, but no difference is made at this stage to the vertical resolution.
The reason why horizontal scaling is appropriate will be described with reference to Figures 4A to 4C.
As will be described below, the overall operation of the spatial block matcher 140 and the diagonal interpolator 160 is to detect the orientation of an image feature relevant to a pixel position where a new pixel is to be interpolated, and then to apply an interpolation along that image feature direction. So, if a current pixel position to be interpolated lies within a diagonal image feature (a line, an edge etc.) at, say, 45° to the horizontal, interpolation of that new pixel would take place along that 45° direction. This can tend to give a better output result than restricting the interpolation to horizontal or vertical interpolation. A key part of this process, clearly, is therefore to detect the direction of an image feature at each pixel position.
This detection is carried out using a block matching process. The actual block matching process will be described in much more detail below. But at this stage, Figure 4A schematically illustrates a successful block match between two blocks 200, 210 of pixels around the position of an unknown pixel 220 (a circle with a question mark inside). Indeed, the notation used in the present drawings is that a square indicates a known pixel where as a circle indicates a pixel to be interpolated by the diagonal interpolator 160. The shading in Figures 4A to 4C is a schematic representation of an image feature.
So, referring to Figure 4A, a successful block match is obtained between the blocks 200, 210 around the unknown pixel position 220, indicating a gradient of an image feature of 1/2. Turning now to Figure 4C, an image feature is vertical and there is again a successful block match between overlapping blocks 230, 240.
However, in Figure 4B, the image feature has a gradient of 1/1. It is not possible to obtain a successful block match with the blocks at integral pixel positions. A successful match between blocks 250, 260 occurs at a half integral pixel position. Accordingly, in order to detect gradients of this nature (indeed any gradients sharper than 1/2), it is necessary to operate at a sub-pixel accuracy. In the present case, a half-pixel accuracy was adopted. If a greater accuracy still was used, (e.g. quarter-pixel accuracy) then gradients yet closer to vertical could be detected. In this embodiment, half-pixel accuracy was selected as a balance between processing requirements and accuracy at very acute gradients.
In fact, in embodiments of the invention to be described below, not all of the image is subjected to 1:2 scaling by the sealer 130 at any one stage. This selective use of scaling will be described in more detail below.
Figures 5 and 6A to 6E schematically illustrate the spatial block matching operation. As noted above, spatial block matching is carried out at sub-pixel accuracy; in this case half-pixel accuracy.
A range of block sizes is used, with corresponding search ranges (maximum displacements relative to the pixel position under test). Taking into account the 1:2 scaling operation, example block sizes and search ranges are given in the following table:
Figure imgf000006_0001
Figure 5 schematically illustrates a block match operation between two blocks of 3v x 7h pixels 300, 310, around an unknown pixel position 320. The variable d signifies a horizontal displacement of the block's horizontal centre from the pixel position under test. A condition applied to the block matches is that the blocks must always overlap the pixel position under test. Also, the blocks are displaced in integral numbers of real pixel displacements (so a displacement of m corresponds to a displacement of 2/7? interpolated pixels). Accordingly, the particular block size shown in Figure 5 allows five possible tests at a displacement of -2 pixels (Figure 6A) -1 pixel (Figure 6B), 0 pixels (Figure 6C), +1 pixel
(Figure 6D), and +2 pixels (Figure 6E).
Note that the displacement is indicated as a displacement from the centre, in scaled pixels. The two blocks are displaced by equal amounts, though in opposite directions. Symmetrical displacements are used because otherwise the block matching could detect lines or edges which are not relevant to the pixel under test.
A sum of absolute differences (SAD) is calculated for each block match. This is defined as:
Figure imgf000007_0001
where x, y represent the current pixel co-ordinate (y being a frame line number), d is the displacement being tested, and n is the radius of the block (the block width is n'=2n+l).
In general terms, the SAD values for three colour components (red, green and blue) are combined, and a minimum normalised SAD value determines a gradient for interpolation.
Various checks are made to avoid poor interpolation, as described below. Measures are taken to avoid problems caused by alias situations. Figures 7A and 7B illustrate a possible alias situation.
Referring to Figure 7A, a block match between blocks 340 and 350 suggests that an unknown pixel 330 should be a dark grey colour. Here, the block match is 100% successful and so the SAD value would be zero (note that this is a schematic example!) However, in Figure 7B, a block match between blocks 360 and 370 is also 100% successful, again giving a SAD value of zero. The block match of Figure 7B suggests that the unknown pixel 330 should be a light grey colour.
This conflict of block match results is a product of aliasing between the closely spaced diagonal image features in the image portions shown in Figures 7A and 7B. While it may at first appear that either diagonal line is equally valid (i.e. a steep diagonal line from upper left to lower right or a more gentle diagonal line from upper right to lower left) is valid, a processing rule has been set up to allow an appropriate selection to be made. This rule will now be described.
The basis of the rule is that the block match process is restricted to that only areas considered to be "line segments" are detected. That is to say, each block in a block match should contain a line segment. A digitised line segment is considered to have two properties. Firstly, it is monotonic along the central scan line row of the block in question, and secondly there is a vertical transition between scan lines in the block in question. The way in which these tests are applied will be described with reference to Figures 8A to 8D. In Figure 8A, a source field contains multiple diagonal lines. Figure 8B schematically illustrates one row of pixels within the image of Figure 8A. Figures 8C and 8D illustrate the two edges of the diagonal line shown in Figure 8B. It will be seen that each of these edges has a region of pixels which show a monotonic variation in luminance. Also, referring back to Figure 8A, it can be seen that such segments exhibit a vertical transition between adjacent rows of pixels.
So, turning back to Figures 7A and 7B, the block match of Figure 7A would be rejected in favour of the block match of Figure 7B according to the rule described above. This is because the central line of pixels of the two blocks of Figure 7B shows a monotonic variation in luminance, whereas the centre line of pixels of the blocks 340, 350 in Figure 7A does not.
In fact, the rule is not expressed in such stark terms. The actual rule involves a balance between the various properties of the line as follows:
Monotonicity =
Figure imgf000008_0001
Average Vertical Energy
Figure imgf000008_0002
The rule is that:
Monotonicity + Cl + (C2/blockwidth) < Average vertical energy where Cl, C2 are constants which allow for noise in the data. If this condition is met, the relevant block match is used as a valid interpolation direction.
Note that the tests are performed separately in respect of each of the colour components (e.g. R, G and B). All three tests must be passed separately. Alternatively, for example to save hardware, fewer than three tests could be performed. For example, only the luminance, or only one colour component, might be tested. Of course, a YCbCr or YPbPr representation could be tested instead.
A second rule, hinted at above, which is applied to block matching is that the minimum normalised SAD value determines the gradient for subsequent interpolation. Normally, the direction is selected from the block match with the smallest error
(smallest normalised SAD). In such cases, the Kell-factor correction of the corrector 180 will not later be used if the normalised SAD is less than a threshold KFQhresh-
However, if the normalised SAD value is similar (within a threshold amount) for multiple block offsets or if the smallest normalised SAD value obtained across all of the block matches is greater than a predetermined maximum value, then vertical interpolation will be used, Kell-factor correction will always be used in these cases and the normalised SAD value is set to the predetermined maximum value mentioned above. A third rule applicable to block matching is as follows. The basis of the rule is that neighbouring 'unknown' (to be interpolated) pixels should indicate a similar gradient to a current pixel under consideration.
For the current 'unknown' pixel, let G be the predicted gradient. Let the search range be |G|/4+l (the division is necessary since 'G' is in terms of scaled pixels). Let C3 ...be programmable constants To apply the rule, examine all pixels in the current missing line at positions from - search range to +search range (inclusive) relative to the current pixel. Each predicted gradient, g, in that range that satisfies the following inequality increments a value 'counter': (|G| - d) <= C3(g-G) <= (|G| + d)
Then, if counter*C4 < C5*(2 x range+1), let v be the original value and v' be the vertically interpolated value, and set the result to C6 v' + (1- C6)v (preferred version) or C6 v' + C7v (more general version). Increment the normalised SAD score for the pixel by C8, which constant can be set to encourage the use of the KFC.
The diagonal interpolator 160 is a simple pixel averager: given a direction it picks the pixel in that direction on the line below and the pixel in that direction on the line above and averages them.
The dot noise reducer 170 involves a process which is applied to the output of the diagonal interpolator 160. A test is applied to detect whether an interpolated pixel lies within the maximum and minimum values of the four vertically and horizontally pixels, i.e. the pixels immediately above, below, left and right of the interpolated pixel. Note that the pixels above and below the interpolated pixel will be real pixels, whereas those to the left and right will be interpolated themselves.
If the interpolated pixel does not lie within this range, then;
Let v be the original value of the pixel under consideration, and let v' be v, clipped to lie within the range of the four locally neighbouring pixels. Let the new pixel value be kDNR v' + (1- kDNR)v, where kDNR is programmable.
The operation of the Kell-factor corrector 180 will now be described with reference to Figures 9 to 11.
Kell-Factor Correction
In the present discussion, references to the Kell-factor are simply to help explain the operation of this part of the system. What the filter is actually exploiting is simply the knowledge that the source image did not use the full bandwidth available to it, whether that is because of scanning artefacts or because of a low pass filtering process. The Kell-factor is a quantity which represents a property of progressive scan and interlaced images. In order to represent the information being scanned, it is generally considered that only 70% (the Kell-factor) of the possible vertical bandwidth is (or should be) represented. Hence when performing an interlace to progressive scan conversion, it is potentially hazardous to attempt to produce a full vertical bandwidth image. Instead, a compensation to account for a Kell-factor of less than unity may be used.
One method to compensate for the Kell-factor would be to use a 70% bandwidth filter on the frame output of any interlace to progressive scan algorithm. However, one of the fields in the frame is 'real' data - i.e. it was sampled correctly, so the content arising from that field must by definition be perfect. Thus a method to filter just the interpolated lines is used. A generic Kell-factor filtering operation is schematically illustrated in Figure 9.
The following mathematics and algorithm describe a filter suitable for performing a
70% bandwidth filter on interpolated lines. In empirical tests the filter has been found to significantly reduce artefacts, and it is important to note that the results are also significantly better than simply performing a 1:2 vertical up-scaling operation on the input interlaced video.
Figures 10 and 11 schematically demonstrate the concept. The general idea is shown in Figure 10, whereby a vertical filter is (selectively) applied to real pixels I and interpolated pixels S in a progressive scan frame.
To explain the technique it will be useful to consider some data which does not exist - in particular, the missing lines of an interlaced field. By treating these lines (for part of the derivation) as though they do exist, filter techniques can be derived to apply to the interpolated versions of those lines so as to generate an approximation to a filtered version of the missing lines. This will become clear from the following explanation. Referring to Figure 11, a hypothetical 100% vertical bandwidth progressive image 500 is considered. This does not of course exist; at best it would be 70% filtered, due to the inherent filtering in the sampling process. This forms a realisable progressive frame 510. However, even this frame is not available to us; instead, it is provided in interlaced form as a field 520. The field 520 is the source data to the present interlace to progressive scan conversion process.
The interlaced field 520 is supplied to an interlace-to-progressive converter, which then generates the missing field lines to produce a reconstructed frame 530. However, the frame 530 may now contain frequencies that are above 70% of the available bandwidth. Generating such frequencies is not always desired, since the information was not present in the source data to the interlace to progressive scan converter. Hence a version 540 of this frame that does not exceed this bandwidth limit should be created, and this should be achieved by adjusting just the reconstructed field lines and not the source field lines - those source field lines are from an image that has already been passed through such a filter, and are therefore 'perfect'.
Producing the required output can therefore be thought of as the low-pass filter output of a theoretical image 550 constructed from the lines from the original 100% vertical bandwidth image interlaced with the reconstructed field. However, the original 100% vertical bandwidth image is not available, and so a technique to circumvent this problem is now described.
A 3 -tap source filter method
This is the first of the three methods to create a suitable filter; only the latter two methods are recommended, and this method is included in the present description to show progression.
Consider a 3 tap low-pass symmetrical filter of the form
filter
Figure imgf000011_0001
and also a column of pixels, P, from five lines of video that has been converted from interlace to progressive scan: input
Figure imgf000012_0001
where F are pixels from a real field of data, and / are interpolated pixels. Note that these values are known.
The real field pixels, F, must be output from the system. These have already been filtered according to the Kell-factor during the recording of the video. Hence consider the raw video prior to the filtering - this is a conceptual video source, since the actual Kell-factor filter would be intrinsic in the sampling of the optical information. Let this raw, or pseudo input video be described as:
pseudolnput
Figure imgf000012_0002
where x are unknown values from the conceptual 100% vertical bandwidth source, and the / are pixels that have been spatially interpolated, and output - pseudolnput * filter
Let us now consider output pixel, y0, which is vertically aligned with pseudo input pixel /o.
Figure imgf000012_0003
We do not know the value of x.\ and x\, and thus the value of the output pixel, >>0, is not immediately known. However, we know that y.i=F.j and yi=Fj, since the output field lines for the current field are known.
Thus x.\ and x\ can be found, and subsequently so can>>o:
Figure imgf000013_0001
Now, a suitable 70% vertical bandwidth filter is given by the vector:
vFilter3Tap70pcnt
Figure imgf000013_0002
Hence α=5138 and b=22492. Thus:
for P0 aligned to interpolated lines
otherwise
Figure imgf000013_0003
Hence the problem is actually solved using a 5-tap filter.
A 5 -tap source filter method
The initial symmetrical 3-tap filter has relatively poor filtering characteristics, and thus a method to improve upon this by using an initial symmetrical 5-tap filter was developed.
However, this method also requires the use of the 3-tap filter, otherwise the problem does not have a solution.
Let the symmetrical 5 tap filter consist of three coefficients: a, b, c, and the full filter be described by [ a, b, c, b, a] τ. Similarly, let the 3 tap filter consist of two coefficients: d, e, and the full filter be described by [d, e, d] τ.
From before, but extending to use the 5-tap filter,
Figure imgf000014_0001
If we attempt to solve this using the same method as before, the problem requires solving a set of simultaneous equations with as many unknowns as half the height of the image. This would thus not be suitable for a sensible hardware design.
Instead, considering the predicted form of the filter, it is likely that the results from the more distant neighbours have a reduced effect on the output than the immediate neighbours of yo'. standard low-pass filters have this form of heavy weighting around the central tap. Therefore, when considering a pixel yo, the result from the central tap and the immediate neighbours can be considered to be formed from a 5-tap filter, and the more distant results from a 3-tap filter. Hence the following equation:
Figure imgf000014_0002
We can now solve for y0, eliminating the unknown 'x's:
Figure imgf000014_0003
An example
vFilter5Tap70pcnt
Figure imgf000014_0004
The example 3-tap filter defined above is: vFiIter3Tap70pcnt
Figure imgf000015_0001
Hence the output pixel jy0 can be calculated using the following matrix:
Figure imgf000015_0002
where the +2 is used to ensure there is unity DC gain (this is required due to rounding errors). A 7-tap source filter method
Similar to the 5-tap method, the 7-tap method requires the use of a 7-tap filter, a 5-tap filter and a 3-tap filter.
Let the symmetrical 7 tap filter consist of four coefficients: a, b, c, d, and the full filter be described by [ a, b, c, d, c, b, a] τ. Similarly, let the 5 tap filter consist of three coefficients: e,f, g, and the full filter be described by [e,f, g,f, e] τ.
Finally, let the 3 tap filter consist of two coefficients j, k, and the full filter by described by [/, k,J] τ.
Let us now consider the output pixel yo, and its neighbours:
+ blo + ax{
+ + e exx., + + b ML2 + + a axx~3 + bx3 + al^
Figure imgf000015_0003
Again, this is not practical to solve, and thus we shall solve this using a combination of a 7-tap, 5-tap and 3-tap filter:
Figure imgf000016_0001
This equation can be solved:
Figure imgf000016_0002
An example 70% 7-tap filter is: vFilterlTaplQpcnt
Figure imgf000017_0001
The example 5-tap filter defined above is:
vFilter5Tap70pcnt =
Figure imgf000017_0002
The example 3-tap filter defined above is:
vFilter3Tap70pcnt
Figure imgf000017_0003
Hence the output pixel >Ό can be calculated using the following matrix:
Figure imgf000017_0004
This equation is used on each spatially interpolated pixel. The response is a bandstop filter, with the stop band between 0.66 and 0.8 fs/2; however, interpreting the response is complicated as it is only used for alternate output pixels.
Figure 12a schematically illustrates the operation of the motion adaptive interpolator 110. The interpolator 110 comprises and inter-field block matcher 600, a high frequency checker 610 and a mixer 620. The inter-field block matcher 600 uses data from the current input field and the three field stores 120 to carry out inter-field motion comparisons. This involves comparing blocks of pixels the current field (FN in Figure 12b) with correspondingly positioned blocks in the previous field of the same type (FN-2) and likewise comparing the preceding field (FN-O ar*d the previous field of the same type (FN-3). The results of these comparisons are used to detect a degree of motion in the image.
In particular, weighted sums of absolute differences (SWADs) are generated as follows.
Four block matches are performed to produce two weighted SADs. These are: ' • a 5hx4v weighted block match on fields FN and FN-2.
• a 5hx3v weighted block match on fields FN- 1 and FN-3.
• a lhxlv weighted block match on fields FN-1 and FN-3.
• a Ihx2v weighted block match on fields FN and FN-2.
Weighted block matches sum weighted absolute differences between coincident pixels, SWAD.
Figure imgf000018_0001
where FN-i(dx,dy) is the value at the frame-relative position dx, dy to the current pixel. Example values of w can be found in the Appendix.
Summing the first two SWADs gives an area-based block match, SWADAREA Summing the latter two SWADs gives a localised block match, SWADLOCAL
All three colour components contribute to the SWADs in the same manner. The system need only maintain a SAD of the three components for each pixel, which is then weighted and combined with the values from the other pixels in the block. This means that this aspect of the process requires only 5 line stores of about 10 bpp (bits per pixel). The high frequency checker 610 is arranged to detect high frequencies in the input fields. The algorithm is based on the following principle.
If interleaving the two source fields produces a lot of high frequency energy, then it is appropriate to try to make sure that the inputs are reasonably static. Only static video can produce reliable high frequencies; highly aliased motion can produce high frequencies, but this is not a desirable situation for inter-field interpolation. If motion is present, then high frequencies may be produced where the fields are incorrectly interleaved. Referring to Figure 13, the high frequency checker uses the lines above and below the currently interpolated pixel from the current field FN and the line from the preceding field FN-I that corresponds to the missing line. The HFC may be considered as a 5x3 pixel neighbourhood check. Let HFCthreshi and HFCthresh2 be two programmable constants, with the former greater than the latter.
Set a flag: exceededHighEnergy=false
Over each component for a subset of them) (RGB/YPbPr) - where YPbPr indicate the colour space in a high definition system, in a similar way to YCbCr in a standard definition system :
Set energy=0
For the pixels having a horizontal position x=-2,-l,0,l,2 (relative to the current pixel), let the interleaved field value be V0, and the current field value of the line above and below be V-I and V1, then: if Vo<min(v1,v-i), set diff= min(vi,v.i)-vθ else if vθ>max(vl,v-l), set diff= vθ - max(vl,v-l) else set diff=O
If (diff>HFCthreshi)> set energy = energy + (HFCthreshi - HFCthresh2)*weighting[x] else if (diff> HFCtiiresh2), set energy = energy + (diff- HFCthresh2)*weighting[x] If energy > HFCaii0Wance, set flag exceededHighEnergy=true
This ends the processing carried out over each component.
Subsequently, if exceededHighEnergy=true, increase SWADAREA by a programmable constant value, HFCpenaity
The increase in SWADAREA will tend to act against the use of the motion adaptive pixel at that output position.
The mixer 620 operates according to the criteria SWADAREA and SWADLOCAL and also various thresholds threshi ....
If SWADLOCAL > thresh], use only spatially interpolated field, FN- Else if SWADAREA > thresh2, use only spatially interpolated field, FN', only Else if SWADAREA < thresh3, use only field FN-i
Else mix field FN-I and FN': let a=(thresh2-SWADAREA)/(thresh2-thresh3) The resulting pixel value = a FN-I + (1-a) FN- Figures 14a and 14b schematically illustrates a variation which reduces the need for image scaling. In particular, Figure 14a schematically illustrates the operation of embodiment described above, where each row of pixels (indicated in this diagram as GOΠO ... contains real pixels and 1:2 interpolated pixels from the sealer 130. An example block match between two blocks 700, 710 and another between two blocks 720, 730 is illustrated.
In common between the two block matches in Figure 14a is the fact that the extreme edge pixels of the blocks are 1:2 interpolated pixels o. Therefore, this method relies on the whole image having been scaled by the 1 :2 sealer.
In Figure 14b, the blocks are changed in size very slightly so that the extreme edge pixels are real rather than interpolated pixels. In the upper part of Figure 14b, the same image feature angle is tested as in the upper part of Figure 14a, but the blocks 740, 750 are made slightly wider so that their edge pixels are real pixels π. Similar considerations apply to the lower part of Figure 14b, which shows a match between blocks 760, 770 which tests the same image feature angle as the match shown in the lower part of Figure 14a. It is then the case that the comparisons between pairs of interpolated pixels are not actually needed for large blocks such as those shown in Figures 14a and 14b. The same information can be obtained from a basic comparison of the real (non-interpolate) pixels. Recall, however, that the original reason why the pixel interpolation was introduced was to allow for steep (near vertical) image feature angles to be detected. Therefore, in one arrangement, the present embodiment retains the 1 :2 interpolation operation for smaller block offsets, in order to allow such steep angles to be better detected. For example, a range of block offsets of +1 and 0 could use 1:2 interpolated pixels, whereas block offsets of greater than this need not use the 1 :2 interpolated pixels.
In a further variation, each block size is used in a match operation for only its most positive and most negative offsets. This can dramatically reduce the number of block matching operations needed, while not actually losing any information, since the previous scheme repeated (for example) the block matching tests at zero displacement (vertical image feature) for each block size.
Taken together, these measures can allow the 1 :2 interpolation to be carried out "as required", for example within the block matcher, rather than as a whole field of interpolated pixels by the sealer 130. This reduces the need for a field store to hold the field of interpolated pixels. Instead, just a few interpolated pixels over a few lines need to be buffered by the block matcher. Figures 15, 16a, 16b, 17a and 17b schematically illustrate a primary and an alternative pixel testing strategy.
A further alternative to the arrangement described above is another alteration to alter the rules applicable to block matching in order to reduce the hardware requirements of this operation.
The original equation for horizontal energy, described above, was:
[ Λvll|
Figure imgf000021_0001
where x referred to the centre row of the block. This can be replaced by the equation:
Figure imgf000021_0002
The revised test is symmetrical about the interpolated row. Figure 15 schematically illustrates a block match. Figures 16a and 16b schematically illustrate the original test for horizontal and vertical energy which would have been performed in respect of that block match. Figures 17a and 17b schematically illustrate the revised tests which show that the same two rows are used for both tests.
This means that the same logic can carry out both tests, leading to a reduction in the hardware required to implement this rule. Finally, Figure 18 schematically illustrates the generation of a difference value. With the arrangement of Figure 18, SAD values are calculated as a rolling average, with a new value being inserted and an old one discarded. This again can cut down the processing and hardware required to implement this feature.
Although the embodiments have been described in respect of interlace to progressive scan conversion, the same techniques could be applicable to altering the size (e.g. height) of an image such as a progressive scan image. For example, the techniques could perform a 1:3 or 1 :4 scaling.
It will be appreciated that the invention can be implemented in programmable or semi- programmable hardware operating under the control of appropriate software. This could be a general purpose computer or arrangements such as an ASIC (application specific integrated circuit) or an FPGA (field programmable gate array). The software could be supplied on a storage medium such as a disk or solid state memory, or via a transmission medium such as a network or internet connection, or via combinations of these. Appendix
Some example parameters:
Figure imgf000022_0001

Claims

1. Video processing apparatus in which pixels of a progressive scan output image are generated either by a first pixel generation technique involving intra-field interpolation from an input field or by a second pixel generation technique involving selection of a corresponding pixel from an input field of the appropriate field polarity, the apparatus comprising: a motion detector for detecting image motion at an output pixel position; a high frequency detector for detecting high vertical frequency components in an image region around the output pixel position; and means for selecting between the first pixel generation technique and the second pixel generation technique in dependence on a comparison of the detected image motion and the detected high vertical frequency components at the output pixel position.
2. Apparatus according to claim 1, in which the motion detector is operable to detect high vertical frequency components in an image region around the output pixel position if that region were to contain a pixel selected in accordance with the second pixel generation technique.
3. Apparatus according to claim 1 or claim 2, in which the motion detector is operable to detect motion between at least one pair of fields of the same polarity.
4. Apparatus according to claim 3, in which the motion detector is operable to detect motion between two pairs of fields, being one field pair of each polarity.
5. Apparatus according to claim 4, in which the two pairs of fields are formed from a current field and the three immediately preceding fields.
6. Apparatus according to any one of the preceding claims, in which the motion detector is operable to detect motion by comparing blocks of pixels between input fields.
7. Apparatus according to claim 6, in which the motion detector is operable to detect motion by comparing at least two sets of blocks of pixels, the sets having different respective block sizes.
8. Vision mixing apparatus comprising video processing apparatus according to any one of the preceding claims.
9. Video display apparatus comprising video processing apparatus according to any one of claims 1 to 7.
10. A video processing method in which pixels of a progressive scan output image are generated either by a first pixel generation technique involving intra-field interpolation from an input field or by a second pixel generation technique involving selection of a corresponding pixel from an input field of the appropriate field polarity, the method comprising the steps of: detecting image motion at an output pixel position; detecting high vertical frequency components in an image region around the output pixel position; and selecting between the first pixel generation technique and the second pixel generation technique in dependence on a comparison of the detected image motion and the detected high vertical frequency components at the output pixel position.
11. Computer software having program code which, when executed by a computer, is arranged to cause the computer to carry out a method according to claim 10.
12. A medium by which software according to claim 11 is provided.
13. A medium according to claim 12, the medium being a storage medium.
14. A medium according to claim 12, the medium being a transmission medium.
PCT/GB2006/004007 2005-10-31 2006-10-27 Video processing WO2007051979A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB0522156.9 2005-10-31
GB0522156A GB2431792A (en) 2005-10-31 2005-10-31 Video scan conversion

Publications (1)

Publication Number Publication Date
WO2007051979A1 true WO2007051979A1 (en) 2007-05-10

Family

ID=35516026

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/GB2006/004007 WO2007051979A1 (en) 2005-10-31 2006-10-27 Video processing

Country Status (2)

Country Link
GB (1) GB2431792A (en)
WO (1) WO2007051979A1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0690617A2 (en) * 1994-06-30 1996-01-03 Eastman Kodak Company Method for controllably deinterlacing sequential lines of video data fields based upon pixel signals associated with four successive interlaced video fields
US5602654A (en) * 1995-01-06 1997-02-11 National Science Council Contour-sensitive, single-field deinterlacing method
US20020149703A1 (en) * 2000-04-18 2002-10-17 Adams Dale R. Method, system and article of manufacture for identifying the source type and quality level of a video sequence
US20020163595A1 (en) * 1999-08-11 2002-11-07 Adams Dale R. Interlace motion artifact detection using vertical frequency detection and analysis

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100995398B1 (en) * 2004-01-20 2010-11-19 삼성전자주식회사 Global motion compensated deinterlaing method considering horizontal and vertical patterns

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0690617A2 (en) * 1994-06-30 1996-01-03 Eastman Kodak Company Method for controllably deinterlacing sequential lines of video data fields based upon pixel signals associated with four successive interlaced video fields
US5602654A (en) * 1995-01-06 1997-02-11 National Science Council Contour-sensitive, single-field deinterlacing method
US20020163595A1 (en) * 1999-08-11 2002-11-07 Adams Dale R. Interlace motion artifact detection using vertical frequency detection and analysis
US20020149703A1 (en) * 2000-04-18 2002-10-17 Adams Dale R. Method, system and article of manufacture for identifying the source type and quality level of a video sequence

Also Published As

Publication number Publication date
GB2431792A (en) 2007-05-02
GB0522156D0 (en) 2005-12-07

Similar Documents

Publication Publication Date Title
KR100272582B1 (en) Scan converter
KR100914619B1 (en) Spatio-temporal adaptive video de-interlacing
US8743281B2 (en) Alias avoidance in image processing
US8000534B2 (en) Alias avoidance in image processing
US8358374B2 (en) Apparatus and method for converting between interlaced and progressive scan video
US8743280B2 (en) Scan conversion image filtering
US8055094B2 (en) Apparatus and method of motion adaptive image processing
US7733420B2 (en) Judder detection apparatus, de-interlacing apparatus using the same, and de-interlacing method
US8532177B2 (en) Motion adaptive image processing
US8086075B2 (en) Motion adaptive image processing
US8212920B2 (en) Apparatus and method of motion adaptive image processing
WO2007051979A1 (en) Video processing
US8243196B2 (en) Motion adaptive image processing
US20050163401A1 (en) Display image enhancement apparatus and method using adaptive interpolation with correlation
WO2008059229A2 (en) Alias avoidance in image processing
US8107774B2 (en) Image data processing method and image display apparatus

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application
NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 06808362

Country of ref document: EP

Kind code of ref document: A1