Method and apparatus for synchronizing video and graphics data in a multimedia display system including a shared frame buffer

Abstract: A multimedia display system includes a central processing unit, a storage device associated with the central processing unit, a standard interface bus to which the central processing unit and the storage device are connected, a graphics processor connected to the bus for generating graphics data in response to commands from the central processor, a digitizer for converting an analog video signal to digital form and for producing synchronization signals, a video processor for processing the digitized video data to produce pixel representations of the digitized video signal, a shared frame buffer for storing the graphics data generated by the graphics processor and the pixel representations of the video signal, a device for converting the stored digital data to a data stream appropriate for driving a video monitor, and a video monitor for displaying the graphics data and the video information, wherein the video processor generates a programmable variable phase vertical synchronization signal for synchronizing video data and graphics data through a shared frame buffer with the capacity to handle relocatable windows.

Description: BACKGROUND OF THE INVENTION 1. FIELD OF THE INVENTION The present invention relates to data processing systems, and more particularly to multimedia data processing systems wherein graphics and video data are to be displayed simultaneously on a display monitor. 2. PRIOR ART U.S. Patent 4,490,741, entitled "Synchronization Signal Stabilization for Video Image Overlay", teaches a system for stabilizing the synchronization (sync) signal provided to a second video display generating a second video signal for precise overlay of a first video signal from a first video display having a relatively unstable sync signal. Although the patent generally describes apparatus for synchronizing two video signals, it does not teach nor suggest overlaying of a video data stream and a graphics data image in a single shared frame buffer. U.S. Patent 4,961,097, entitled "Apparatus for Receipt and Display of Raster Scan Imagery Signals in Relocatable Windows on a Video Monitor", shows an interface and memory system which receives a digital raster scan image from an external source and displays the image as an inset window on a video monitor display. The input image is asynchronous with respect to the display refresh timing. The pipeline dual memory system is composed of update and display buffers. Although the patent deals with overlaying two images on a single display monitor, the patent employs two separate buffers - an update buffer and a display buffer. Although the patent generally describes apparatus for synchronizing two video signals, it does not teach nor suggest overlaying of a video data stream and a graphics data image in a single shared frame buffer. U.S. Patent 4,994,912, entitled "Audio Video Interactive Display", teaches a method and apparatus for synchronizing two independent rasters such that a standard T.V. video and a high resolution computer generated graphics video may be each displayed on a high resolution graphics monitor concurrently. This is accomplished by using dual frame buffers - a first T.V. frame buffer and a second graphics buffer. Although the patent generally describes apparatus for synchronizing two video signals, it does not teach nor suggest overlaying of a video data stream and a graphics data image in a single shared frame buffer. U.S. Patent 5,227,863, entitled "Programmable Digital Video Processing System", teaches a programmable apparatus for digital processing of video signals from multiple sources converted to digital format to provide real time multiple simultaneous special video effects and suitable for direct interface to a conventional microcomputer bus. The patent also teaches means for synchronizing or "genlocking" signals from different sources for display on a single display monitor. The patent describes a video processing subsystem that uses a synchronized pixel clock for genlocking. This technique produces a pointer artifact for a resizable, repositioned video window. This pointer artifact produced by the system according to the patent is eliminated by invention described herein. U.S. Patent 5,229,853, entitled "System for Converting a Video Signal From a First Format to a Second Format", teaches an apparatus for converting a video input signal representing an image from a first format to a prescribed second format. The patent does not teach the merging of two separate multimedia images such as video and graphics and does not have the capability of readily handling relocatability of video windows. Although the patent generally describes apparatus for synchronizing two video signals, it does not teach nor suggest overlaying of a video data stream and a graphics data image in a single shared frame buffer. U.S.Patent 5,347,322, entitled "Video Storage and Synchronization", teaches a video storage and synchronization system having one or more frame buffers and an output buffer providing a selectable delay. Incoming video signals are digitized and routed to the memories and/or to the buffer. Storage signals are read out from the memories in synchronism with the incoming signals and can be mixed with the incoming signals before processing in the output buffer. The patent teaches how to synchronize a number of live video streams where the streams are always provided at a constant rate. The requirement for a constant rate is a severely limiting factor on the patent in that in many graphics display systems, update of graphics data is not always at a constant rate and cannot be handled by the system described in the patent. Although the patent generally describes apparatus for synchronizing two video signals, it does not teach nor suggest overlaying of a video data stream and a graphics data image in a single shared frame buffer. US Patent 5,517,612 teaches a system comprising a display device and a computer executing a software program partitioning a display screen into a plurality of windows and causing computer graphics and/or data to be inserted into a video buffer, a video processor providing a scaled image of the notion video signal and causing said video information to be displayed simultaneously with the computer graphics information on the screen. No problem is raised in this patent concerning the visual artifacts occurring when a video and a graphic signal are synchronized using a unique buffer. Summary of the invention Therefore, it is an object of the present invention to eliminate displayed artifacts resulting from phase or frequency differences between two sources of video data in a multimedia display system having a video processor, a graphics processor and a display monitor, all controlled by a central processor, the video processor having a programmable phase adjustable synchronization signal for synchronizing video output from the graphics processor with the video output from the video processor. Accordingly, a multimedia display system includes a central processing unit, a storage device associated with the central processing unit, a standard interface bus to which the central processing unit and the storage device are connected, a graphics processor connected to the bus for generating graphics data in response to commands from the central processor, a digitizer for converting an analog video signal to digital form and for producing synchronization signals, a video processor for processing the digitized video data, a shared frame buffer for storing a graphics data generated by the graphics processor, a device for converting the stored digital data to a data stream appropriate for driving a video monitor, and a video monitor for displaying the graphics data and the video information, wherein the video processor generates a programmable variable phase vertical synchronization signal for synchronizing video data and graphics data through a shared frame buffer with the capacity to handle relocatable windows. It is an advantage of the present invention that two sources of data to be displayed on a video monitor may be stored concurrently in a single shared frame buffer wherein displayed artifacts are eliminated through the use of a programmable vertical synchronization signal. The foregoing has outlined rather broadly the features and technical advantages of the present invention in order that the detailed description of the invention that follows may be better understood. Additional features and advantages of the invention will be described hereinafter which form the subject of the claims of the invention. BRIEF DESCRIPTION OF THE DRAWING For a more complete understanding of the present invention, and the advantages thereof, reference is now made to the following descriptions taken in conjunction with the accompanying drawings, in which: FIGURE 1 is a block diagram of a multimedia system embodying the present invention. FIGURE 2 is a block diagram of a programmable vertical synchronization signal generation circuit in accordance with the present invention. FIGURE 3 is a visual representation of the undesirable artifact. DETAILED DESCRIPTION OF A PREFERRED EMBODIMENT OF THE INVENTION In the prior art, the standard technique for eliminating artifacts in a displayed image resulting from changes in data from one frame to the next, is the use of dual frame buffers where one frame buffer is being loaded with the next frame of information while a second frame buffer is being read out to the display device. This technique works very well, but requires twice as much storage for the frame buffer, duplicate control circuits, and a much higher bandwidth in the frame buffer path. In contrast, a multimedia system in accordance with the present invention employs a single shared frame buffer wherein graphics data generated from a graphics processor under the command of a central processing unit are stored concurrently with video data such as a standard television signal in any one of a number of standard formats such as NTSC or PAL. Since the graphics data and the video data may have different frequency or phase of synchronization signals, it is required that the synchronization signals be synchronized or, as is commonly referred to in the television industry, genlocked. Referring now to FIGURE 1, a multimedia display system embodying the present invention will be described. Multimedia display system 100 includes a central processing unit 102 for controlling system 100 and for generating commands for drawing graphics images on a display monitor 114 as an output of the multimedia system 100. A storage device 104 is associated with central processing unit 102 for storing instructions and data for use in the system. The central processing unit 102 and storage device 104 are connected to a system bus 106 which may be implemented as any one of a number of standard system buses such as PCI or ISA, for example. Also attached to system bus 106 is graphics processor 108 which receives the commands from central processing unit 102 and generates pixel data representing the graphics images to be displayed. The pixel data output of graphics processor 108 is stored in shared frame buffer 110. To produce an image on display monitor 114, data is readout from shared frame buffer 110 to a conversion device 112 which may conveniently be implemented as a RAMDAC (random access memory digital to analog converter). Conversion device 112 generates a video stream to display monitor 114 including color and luminance data. System 100, being a multimedia display system, typically would also have a second source of information to be displayed on display monitor 114. For example, a standard television signal 122 in a standard format, such as, NTSC or PAL format may be input to system 100 for display on monitor 114. The video signal is digitized by genlock and digitizer circuit 124 which has outputs for the color/luminance signal of the video signal, the horizontal synchronization signal, the vertical synchronization signal, and a clocking signal. Each of these signals are input to a video processor 126 which generates pixel data for presentation on display monitor 114. The pixel data output from video processor 126 is stored in shared frame buffer 110, as is the data from graphics processor 108. Since the pixel data from video processor 126 may be running at a different clock frequency or phase than the data from graphics processor 108, there is a need to provide synchronization between the two sources of data. The synchronization between two sources of video data which are running at a different clock frequency or at the same clock frequency but at different phases, is called genlocking. Video processor 126 produces an adjustable vertical sync signal which is input to graphics processor 108 and is also driven to video monitor 114. The generation of the adjustable vertical synchronization signal will be described in greater detail with reference to FIGURE 2. Referring now to FIGURE 2, the Vertical Sync In (VSYNCIN) signal 202 from video processor 126 loads the programmed phase delay value on line 204 into counter 206, and enables counter 206. Horizontal Sync (HSYNC) signal on line 208 from video processor 126 decrements the count in Counter 206 by one for each HSYNC pulse. When the count in Counter 206 reaches 0, the counter output on line 210 goes high, generating a VSYNCOUT signal on line 211 from positive edge detector circuit 212. The VSYNCOUT signal on line 211 is connected to Graphics processor 108 for synchronization of the graphics and video data. Also, when counter output on line 210 goes high, a counter disable signal is transmitted to enable input 216 through invertor 214 to reset counter 206 for a next VSYNCIN signal. Referring now to Figure 3, the visual representation of the undesirable artifact will be described. Video monitor 114 displays graphics data in window 302 and video data in window 304. Video data 306 from frame n occupies an upper portion of window 304 and video data 308 from frame n-1 occupies a lower portion of window 304. The interface between video data 306 and video data 308 creates undesired pointer artifact 310 which is the boundary of data from the 2 video frames. The artifact is typically one pixel high and has a length equal to the length of window 304. The artifact is more noticeable with rapid video motion.

Claims: A multimedia display system, comprising : a central processing unit (102); a storage device (104) associated with the central processing unit; an interface bus (106) to which said central processing unit and one or more peripheral devices are connected; a graphics processor (108) connected to said interface bus for generating graphics data in response to commands from the central processor; a video processor (126) for processing digitized video data, a shared frame buffer (110) for storing graphics data generated by said graphics processor, and said digitized video data; a device for converting (112) data stored in said shared frame buffer to a data stream appropriate for driving a video monitor; and a video monitor (114) for displaying said graphics data and said digitized video data, said multimedia display system being characterized in that said video processor comprises a variable sync generation circuit, for generating a programmable variable phase vertical synchronization signal for synchronizing said video data and said graphics data through a shared frame buffer with the capacity to handle relocatable windows. The multimedia display system, according to claim 1, further comprising : a digitizer (124) for converting an analog video signal to digitized video data. The multimedia display system, according to claim 1 or 2, wherein said variable sync generation circuit further comprises : a counter (206) for counting a predetermined number of horizontal lines representative of a phase delay; and a sync pulse generation circuit (212) responsive to a predetermined output count of said counter. A method of synchronizing video data and graphics data for display on a video monitor in a data processing system, comprising the steps of : processing video data from a first data source in a video processor; processing graphics data from a second data source in a graphics processor; storing said data from video processor and said data from said graphics processor in a shared buffer; and displaying the data stored in said buffer on said video monitor; characterized in that the step for processing video data comprises the step of generating a programmable variable phase vertical synchronization signal in said video processor for synchronization display of said video data and said graphics data on said video monitor. The method of claim 4, wherein said generating step further comprises the steps of : storing a count representative of a predetermined phase delay between an input synchronization signal and an output synchronization signal ; counting in a counter a number of count signals to said stored count; generating a synchronization signal output when said counter reaches a predetermined count. The method of claim 5, wherein said counting step counts horizontal synchronization pulses. The method of claim 5 or 6, wherein said input and output synchronization signals are vertical synchronization signals. The method of anyone of claims 5 to 7, wherein said count represents a phase delay between said video data source and graphics data.

Inventors: LEE WILLIAM ROBERT, RUMPH DARRYL JONATHAN, LEE, WILLIAM ROBERT, RUMPH, DARRYL JONATHAN
Applicants: IBM, INTERNATIONAL BUSINESS MACHINES CORPORATION
Application year: 1996
Main classification: G09G5
IPC codes: H04N5, G09G5, H04N9