Claims
- 1. A method for correcting video tearing in a non-interlaced display system comprising a memory for storing graphics data and video data, the video data being arranged in video fields of scan lines of pixel data, the method comprising the steps of:
- writing scan lines of pixel data into the memory at a first selected rate;
- reading scan lines of pixel data from the memory at a second selected rate;
- determining a scan line of overtake of reading video data from the memory if the second selected rate is faster than the first selected rate;
- determining whether the read scan line is the scan line before the scan line of overtake; and
- interpolating at least one scan line of video data from a video field currently being written in the memory and that ends one scan line before the scan line of overtake and at least one scan line of video data from a video field last written in the memory and that ends one scan line before the scan line of overtake.
- 2. The method of claim 1 further comprising the steps of:
- storing at least one scan line of video from the video field last stored in the memory that ends one line before the scan line of overtake;
- displaying the current video field, except, in response to the occurrence of the scan line of overtake, displaying at least one interpolated scan line of video data;
- displaying read scan lines of video data from the video field currently being written in the memory that are scan lines above the at least one interpolated scan line of video data;
- displaying the at least one interpolated scan line of video data, in response to the occurrence of the scan line of overtake; and
- displaying read scan lines of video data from the video field last written in the memory that are scan lines below the at least one interpolated scan line of video data.
- 3. The method of claim 1 wherein the step of interpolating further comprises the step of calculating a weighted average of said at least one scan line of video data from the video field currently being written in the memory and that ends one scan line before the scan line of overtake and said at least one scan line of video data from the video field last written in the memory and that ends one scan line before the scan line of overtake.
- 4. The method of claim 1 wherein the step of determining a scan line of overtake includes the step of determining the location of the overtake.
- 5. The method of claim 1 wherein the step of determining a scan line of overtake includes the step of determining a pixel location of the scan line of overtake.
- 6. Apparatus for providing video and graphics data to an external display system, the display system comprising a monitor, a graphics processor for generating graphics data, a memory coupled to the graphics processor for storing the graphics data at a first selected rate and for storing video data from an external video source at a second selected rate, and a multiplexer having a first input coupled to the memory, having a second input, and having an output coupled to the monitor for supplying data applied to the first input of the multiplexer in response to a selection signal having a first logic state, and for supplying data applied to the second input of the multiplexer in response to a selection signal having a second logic state, the video data being arranged in video fields comprising scan lines of pixel data, the apparatus comprising:
- a control processor having a first input coupled to the external video source and having a second input coupled to the graphics processor and for determining the scan line of overtake of reading graphics data from the memory if the first selected rate is faster than the second selected rate of storing video data into the memory and for generating the selection signal having the first logic state indicative of either no scan line of overtake or the scan line being read is not the line of overtake and having the second logic state indicative of a scan line of overtake; and
- a generator having an input coupled to the external video source and having an output, coupled to the second input of the multiplexer, for supplying at least one scan line of video data that is an interpolation of at least one scan line of video data from the video field currently being stored in the memory and that ends one scan line before the scan line of overtake and of at least one scan line of video data from a video field last stored in the memory and that ends one scan line before the scan line of overtake.
- 7. The apparatus of claim 6 wherein the control processor determines the location of the scan line of overtake.
- 8. The apparatus of claim 6 wherein the control processor determines a pixel location of the scan line of overtake.
- 9. A video and graphics circuit for providing video and graphics data to a computer system for displaying such data on an external display and for receiving video data from an external video source, the computer system having a system processor and having a system memory, each coupled to a bus, the video data being arranged in video fields comprising scan lines of pixel data, the circuit comprising:
- a graphics processor having an input for coupling to the bus and having an output for supplying graphics data in response to data received over the bus from the system processor or the system memory;
- a buffer having a first input coupled to the output of the graphics processor and having a second input for receiving video data from the external video source and for storing graphics data at a first selected rate and for storing video data at a second selected rate;
- a control processor having a first input for coupling to the external video source and having a second input coupled to the graphics processor and for determining the scan line of overtake of reading graphics data into the buffer if the first selected rate is faster than the second selected rate of storing video data of a current video field into the buffer and for generating a selection signal having a first logic state indicative of either no scan line of overtake or the scan line being read is not the line of overtake and having a second logic state indicative of a scan line of overtake;
- a video data generator having an input for coupling to the external video source and having an output for supplying at least one scan line of video data as an interpolation of at least one scan line of video data from the video field currently being stored in the buffer and of at least one scan line of video data from a video field last stored in the buffer; and
- a multiplexer having a first input coupled to the buffer, having a second input coupled to the output of the generator, and having an output for coupling to the external display and for supplying scan lines of video data from the buffer to the output of the multiplexer in response to the selection signal being in the first logic state, and for supplying the at least one interpolated scan line of video data from the video data generator to the output of the multiplexer in response to the selection signal being in the second logic state.
- 10. The video and graphics circuit of claim 9 wherein the control processor determines the location of the scan line of overtake.
- 11. The video and graphics circuit of claim 9 wherein the control processor determines a pixel location of the scan line of overtake.
- 12. A computer system for displaying video data from an external video source and graphics data, the video data being arranged in video fields comprising scan lines of pixel data, the system comprising:
- a bus;
- a system processor coupled to the bus;
- a system memory coupled to the bus;
- a display;
- a graphics processor having an input for coupling to the bus and having an output for supplying graphics data in response to data received over the bus from the system processor or the system memory;
- a buffer having a first input coupled to the output of the graphics processor and having a second input for receiving video data from the external video source and for storing graphics data at a first selected rate and for storing video data at a second selected rate;
- a control processor having a first input for coupling to the external video source and having a second input coupled to the graphics processor and for determining the scan line of overtake of reading graphics data from the buffer if the first selected rate is faster than the second selected rate of storing video data of a current video field into the buffer and for generating a selection signal having a first logic state indicative of either no scan line of overtake or the scan line being read is not the line of overtake and having a second logic state indicative of a scan line of overtake;
- a video data generator having an input for coupling to the external video source and having an output for supplying at least one scan line of video data as an interpolation of at least one scan line of video data from the video field currently being stored in the buffer and of at least one scan line of video data from a video field last stored in the buffer; and
- a multiplexer having a first input coupled to the buffer, having a second input coupled to the output of the video data generator, and having an output coupled to the display, and for supplying scan lines of video data from the buffer to the output of the multiplexer in response to the selection signal being in the first logic state, and for supplying the at least one interpolated scan line of video data from the generator to the output of the multiplexer in response to the selection signal being in the second logic state.
- 13. The computer system of claim 12 wherein the control processor determines the location of the scan line of overtake.
- 14. The computer system of claim 12 wherein the control processor determines a pixel location of the scan line of overtake.
"RELATED APPLICATIONS
This is a continuation of application Ser. No. 08/299,048 filed on Aug. 31, 1994, now abandoned."
US Referenced Citations (4)
Number |
Name |
Date |
Kind |
4231063 |
Ito et al. |
Oct 1980 |
|
5097257 |
Clough et al. |
Mar 1992 |
|
5243447 |
Bodenkamp et al. |
Sep 1993 |
|
5274753 |
Roskowski et al. |
Dec 1993 |
|
Continuations (1)
|
Number |
Date |
Country |
Parent |
299048 |
Aug 1994 |
|