EP0775974A2

Apparatus for image scaling using interpolation

Abstract

A display controller to upscale a source video image for display on a display unit of a computer system. An encoder circuit stores in a local memory pixel data of previous scan lines required for interpolation in a compressed format using differential pulse code modulation (DPCM) scheme. As a part of the DPCM scheme, encoder generates a predicted value for each source video pixel data as a function of at least one prior pixel data value in the scan line. However, when a slope over load condition is encountered, the decoder circuit changes the predicted value for a subsequent pixel data value to a different value, which may enable the graphics controller circuit to avoid a slope overload condition as to subsequent pixel data values. A decoder circuit decompresses the pixel data into original format prior to sending to an interpolator. The interpolator receives a present scan line and the decompressed data of previous scan lines, and interpolates the received pixels to generate additional pixels required for upscaling the source video image. When a slope overload condition is encountered, a override circuitry causes the interpolator to use for interpolation a pixel data value in the present scan line in stead of the pixel data value causing the slope overload condition.

EP0775974A2, drawing sheet 1
Sheet 1 of 10

Term

Term ended

Projected expiry passed 21 November 2016, 9.8 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

41 claims: 9 independent, 32 dependent

  1. 1
    A circuit for interpolating a set of source video pixel data of a source video image to generate an additional set of pixel data of an upscaled video image, said set of source video pixel data comprised in at least a previous scan line and a present scan line of said source video image, said circuit comprising:an interpolator for receiving at least two pixel data comprising a pixel data of said present scan line and a corresponding pixel data of said previous scan line, said interpolator normally interpolating the two pixel data to generate said additional pixel data;and an override circuit for causing said interpolator to generate said additional pixel data from pixel data other than said corresponding pixel data of said previous scan line upon a first condition.
  2. 4
    The circuit of claims 1 or 2 further comprising a line buffer for storing pixel data of said previous scan line in a compressed format, and wherein said line buffer provides said pixel data of said previous scan line to said interpolator.
  3. 12
    A graphics controller circuit for upscaling a source video image to an upscaled video image, comprising:a line buffer for storing source video pixel data of a previous scan line in a compressed pixel format, said line buffer comprising: a first predictor for generating a first predicted value for a next source video pixel data of said previous scan line normally from a first recoverer value;a first adder for receiving each source video pixel data and a corresponding first predicted value, said first adder generating a difference value of the source video pixel data and the corresponding first predicted value;a quantizer for quantizing the difference value to generate a compressed pixel data for the corresponding source pixel data;a first recoverer for receiving each of the compressed pixel data and generating said first recoverer value from the compressed pixel data, said first recoverer determining whether a slope overload condition is encountered when said quantizer quantizes the difference value, and forcing said first predicted value for said next pixel data to a different value if said slope overload condition is encountered, wherefore said quantizer avoids a slope overload condition when generating compressed pixel data for said next pixel data;a local memory for storing said set of compressed pixel data;a second predictor for generating a second predictor value normally from a second recoverer value;a second recoverer for receiving said compressed pixel data from said local memory, and generating said second recoverer value for each compressed pixel data, said second recoverer determining whether a slope overload condition is present, and forcing said second predictor to generate a different second predictor value for a next pixel data if said slope overload condition is present, said second recoverer also sending a slope overload condition signal on a slope overload condition signal line;and a second adder for receiving said second predicted value and said second recoverer value, and generating said pixel data of said previous scan line from said second predicted value;a multiplexor for receiving said pixel data of said previous scan line from said second adder and a corresponding pixel data of a present scan line, said multiplexor normally sending on an output line said pixel data of said previous scan line, and said corresponding pixel data of said present scan line when a slope overload condition is encountered under the control of said slope overload condition of signal line;and an interpolator coupled to said multiplexor for generating a set of additional pixel data of said upscaled video image by interpolating said pixel data sent by said multiplexor on said output line and corresponding pixel data of said present scan line.
  4. 13
    A circuit for generating a set of compressed pixel data corresponding to a series of pixel data of a scan line, comprising:a predictor for generating a predicted value for a next pixel data normally from a recoverer value;an adder for receiving each pixel data and a corresponding predicted value, said adder generating a difference value of the pixel data and the corresponding predicted value;a quantizer for quantizing the difference value to generate a compressed pixel data for the corresponding pixel data;and a recoverer for receiving each of the compressed pixel data and generating said recoverer value from the compressed pixel data, said recoverer determining whether a slope overload condition is encountered when said quantizer quantizes the difference value, and forcing said predicted value for said next pixel data to a different value if said slope overload condition is encountered, wherefore said quantizer avoids a slope overload condition when generating compressed pixel data for said next pixel data.
  5. 16
    A circuit for decompressing a set of decompressed pixel data to generate pixel data of a scan line, comprising:a predictor for generating a second predictor value normally from a recoverer value;a recoverer for receiving said compressed pixel data, and generating said recoverer value for each compressed pixel data, said recoverer determining whether a slope overload condition is present in compressing said pixel data of said scan line, and forcing said predictor to generate a different predictor value for a next pixel data if said slope overload condition is present;and an adder for receiving said predicted value and said recoverer value, and generating said pixel data of said previous scan line from said second predicted value.
  6. 19
    A computer system for displaying a source video image comprising at least a present scan line and a previous scan line represented by a set of source video pixel data, said computer system comprising:a graphics controller circuit for interpolating said set of source video pixel data of a source video image to generate an additional set of pixel data of an upscaled video image, said graphics controller circuit further comprising: an interpolator for receiving at least two pixel data comprising a pixel data of said present scan line and a corresponding pixel data of said previous scan line, said interpolator normally interpolating the two pixel data to generate said additional pixel data;and an override circuit for causing said interpolator to generate said additional pixel data from pixel data other than said corresponding pixel data of said previous scan line. a display unit for displaying said upscaled video image.
  7. 30
    A method of upscaling a source video image to generate an upscaled video image, wherein said source video image comprises at least a present scan line and a previous scan line represented by a set of source video pixel data, said method comprising the steps of:receiving at least two pixel data comprising a pixel data of said present scan line and a corresponding pixel data of said previous scan line;interpolating normally the two pixel data to generate a set of additional pixel data of said upscaled video image;and generating said set of additional pixel data from said pixel data of said present scan line and pixel data other than said corresponding pixel data of said previous scan line upon a first condition.
  8. 35
    A method of generating a set of compressed pixel data corresponding to a series of pixel data of a scan line, said method comprising the steps of:generating a predicted value for a next pixel data normally from a recoverer value;subtracting each pixel data from a corresponding predicted value to generate a difference value of the pixel data and the corresponding predicted value;quantizing the difference value to generate a compressed pixel data for the corresponding pixel data;and generating said recoverer value from the compressed pixel data;determining whether a slope overload condition is encountered in said step of quantizing;forcing said predicted value for said next pixel data to a different value if said slope overload condition is encountered for a present pixel data, wherefore said quantizer avoids a slope overload condition when generating compressed pixel data for said next pixel data.
  9. 38
    An interpolator of the type which receives lines of video input data and which produces video output data therefrom, the interpolator having a first mode of operation in which the currently received line of input video data and a previously received line of input video data are processed to provide said output data, wherein said interpolator comprises:means for receiving a signal indicative that pixel data in said previously received line, required for processing in said first mode of operation, cannot be provided;and means for causing said interpolator, upon receipt of said signal, to conduct processing in a second mode of operation in which pixel data other than that which cannot be provided is utilised for said processing.