US 3893075 A
A hardware system for converting digital graphical line information into a form suitable for display on a raster-scan output device is provided. Each graphical line is encoded and stored in a memory device. Each encoded graphical line is read prior to each scan of the raster-scan output device. The intersections of each graphical line with each scan line are determined on a line-by-line basis and the raster-scan output device is activated and de-activated accordingly in order to reconstruct all of the vectors.
Description (OCR text may contain errors)
United States Patent Orban et al.
[ METHOD AND APPARATUS FOR DIGITAL SCAN CONVERSION  Inventors: Richard Orban, 2151 Sharon Rd.,
Menlo Park, Calif. 94025; Stephen C. Terry, l80l 9th Ave., San Francisco, Calif. 94122; Horace J. Enea, 1240 Lisa Lr1., Los Altos, Calif. 94022  Filed: Dec. 29, 1972 [2l] Appl. No.: 319,217
 US. Cl. 340/172.5; 340/324 AD  Int. Cl. G06i 3/14; G06f 13/06  Field of Search 340/l72.5, 324 AD  References Cited UNITED STATES PATENTS 3,343,030 9/1967 Dragon et al. 340/324 A X 3,382,436 5/l968 Wu 340/324 A X 3,396,377 8Il968 Strout 1. 340/324 AD 3,406,387 10/1968 Werme 340/l72.5 X
DATA FROM COMPUTER 16 r CALCULATE NE XT SCAN LINE 3o CONVERT INPUT TO UPDATE/ V SW RE SET VSW ADD/ DELETE V S W VE CT OR TO/FROM MEMORY MEMORY July 1, 1975 3,47l,848 lO/l969 Manber 340 324 AD 3,480,943 11/1969 Manber 340/324 AD 3.686.662 8/1972 13113116131 340/324 AD 3,792,464 2 1974 Hamada et al 340/324 AD Primary Examiner-Raulfe B. Zache Assistant Examiner]an E. Rhoads Attorney, Agent, or FirmLimbach, Limbach and Sutton 5 7 ABSTRACT 49 Claims, 24 Drawing Figures SWITCH 1 3e SCAN LINE BUFFER SET 1 SCAN LINE BUFFER SET 2 SWITCH 2 CONVERT BUFFER TO VIDEO SIGNAL TO TELEVlSlON MONITOR l2 Q'J'i-"HTFDJUU ms 893,075
SHEET 1 Y VECTOR AREA OF T g f 1, RASTER LINE 5 E L YB l I I l I I I l l L X XT XB INTENSIFIED HORIZONTALPOINTS DIRECTION OF SCAN FIG. 1A
F l (3. IC
VIDEO SIGNAL OFF X PQSITION (T) F I G.
SHEET 2 28 Q COMPUTER k CONTROLLER ig $5? MEMORY N22 FIG. 2
DATA FROM COMPUTER l6 r SWITCH l 38 CALCULATE SCAN UNE NEXT 9 UFFER SET I SCAN LINE B A CONVERT /4O INPUT TO UPDATE/ SCAN LINE 3 vsw RESET BUFFER SET 2 vsw SWITCH 2 CONVERT ADD/DELETE TO/FOROM MEMORY MEM RY TELEVISION MONITOR 12 SHEU 3 SCAN g I INTERSECTION LINES I I INE I SEGMENT (ILS) Y XCQUR XINC Lx FIG. 4
CLOCK PULSE EVERY so NsEc.;
o z (\l n q- 8 E 3 3 3 5 1:- m w w w 3 w a; \so
\ DATA PATH BIT I BI 2 I BIT 64 FIG. 5A
CLOCK] PULSE EVERY 5O NSEC.
I/ I b l DATA PATH FIG. 5B
SHEET CLOCK PULSE EVERY 200 NSEC.
S l B 4 m T m m 6W6 SHE 23R wtm w S W B R. 4 E 6 T xTm m m zwR wtm S W B R 4 E 6 T xTm 6W6 S E 28R 2.5
256x64 BITS SHIFT REGISTER wtm w DEMULTIPLEXER 64 BITS WRTTE LINE VVV MULTIPLEXER 64 BITS READ LINE FIG. 5C
PjIj'IEIII-I-IIIIII III: 893 075 SHEET 5 Y A I SCAN I INE I SCAN LINE 2 VECTOR 2- \VECTOR a FIG. 6A
/vEcToR s rvECTOR I T I I I l T ITI 1I\'.- I I I I I! ll I ll I I I I ll I I X a ILS :FOR vEoToR l I I I I iILs FOR vizcToR a g SLBS I I I I I I I III I I I I I I IoI I I IgnI I TURN ON IoIoIoIoIoI IoIoIoIoIoIoIoIoIIIoIoIoI IoIIIoI $533 OFF FIG. 6B
/-VECTOR 2 i lRASTER scAN LINE2 I l DX/ i II s; FOR VECTOR 2 I VECTOR I r II s FOB VECTOR I lohloIolol lolcplol lolcolol suas TURN ON I l loiolololol lolIlol |0|II0| SLBS TURN OFF FIG. 66
EVEN i SCAN LINES ODD I EVEN FIG. 7
qm'muuu ms 893; 075
SHEET 6 X0 Y0 x1 Yl MODE L?) ACTION DECODE/DETERMTNE l l T TWO ENDPOINTS x0 Y0 x\ Y! 78 OOMEARE= Y0, Y! F Y0 Yf Q YO Y| YO$Y| CALCULATE XINC SIGN v v W J! XT YT YB XCUR xmc 11 SlGN VECTOR MEMORY xmo HO V COMFjARE xmc xmc COMPARE MEMORY READOUT TO DATA REGISTER DATA REGISTER PHASE 2 RECEIVE INPUT TWO COMMANDS DECODE COMMAND BITS- ADD/DELETE ABSOLUTE/I-IEAD- TO -TAIL/ RELATIVE ABSOLUTE HEAD-TO-TAIL RELATIVE RECEIVE INPUT RECEIVE INPUT: RECEIVE INPUT TWO ENDPOINTS ONE ENDPOINT TWO DISPLACEMENTS GET FIRST GET FIRST ENDPOINT FROM ENDPOINT FROM SAVED ENDPOINT SAVED ENDPOINT AND DISPLACEMENTS SAVE SECOND ENDPOINT DETERMINE SIGN XT YT YB XCUR CALCULATE XINC ADD DELETE SORT NEW VSW SEARCH VECTOR MEMORY INTO VECTOR MEMORY FOR MATCH AND REMOVE VSW FIG. 9
umqmm I my? #893,075
SHEET 8 HEAD-TO-TAIL RELATIVE ABSOLUTE xs  Y8  x| Y X0 YO [a] DATA LINES 9 BIT ADD/SUB 9 BIT ADD/SUB g; a: o 0
X0 Y0 XI Yl TO ENDPOINT REGISTER 76 FIG. I 0
X0 XI YO Yl e5 9 BIT 9 BIT -89 SUBTRACT SUBTRACT W as 9 BIT i4. INTEGER OPERATION XINC 1A B I 04 SHEET A B A=B :i ITFHTEHJUL I LEAST SIGNIFICANT BIT MOST SIGNIFICANT BIT FIG.
p puxpn yqw T971 ,893,075
[Ys GAN 5I4T TYSCANe-S 3| DECREMENT E YSCAN BY 2 V YES RESET XCUR FOR YSCAN$O7 ALL VECTORS IN NO VECTOR MEMORY 22 READ A VSW FROM 1 VECTOR MEMORY 22 YES VECTOR MEMORY 22 COMPLETELY CYGLED \LNO NO YBYSCANsYT YES [CALCULATE NEW XCUR] WRITE XCUR INTO VSW TN VECTOR MEMORY 22 DETERMTNE FROM TO VALUES [Ts DPYON I42CFROMJ=I NO I [IS DPYOFF I44(TO)=| ?j- \LNO WRTTE AT I DPYONI42CFROM); DPY OFF 44(TO) FIG. l4
mmmuu ms #893075 SHEET 12 TO SWITCH 5e (FlGURE 13 r142 T DPYON H SLBS 3e XSCAN DPYOFF J RESET 44 T r142 DPYON J SLBS 40 H DPYOFF J COUNTER 44 XSCAN l, y 94 use READ ,d zERo READ zERo DPYON(XSCAN3 DPYOFF(XSCAN) O i Z |8l T \P ADD \lsue SINGLE SHOT COUNTER MULTIVIBRATOR l i :OFF
I82 DISPLAY SIGNAL y; CRT (ELECTRON BEAM) ON OUTPUT f, D1SPLAY |88 SYNCHRONlZiNG BLANmNS GENERATOR TO YSCAN COUNTER \22 (H6. l3)
.893.075 SHEET 13 IX -EI I I: TO SWITCH 5s COUNTER |a0 0 (FIG 3) I X -X+I 3 YES I SWITCH DISPLAY BUFFERS 38 AND 40 FIRE SINGLE SHOT MULTIVIBRAT OR I98 YES ADD ONE TO SUBTRACT ONE COUNTER I80 FROM COUNTER I80 I FIRE SINGLE SHOT MULTIVIBFIATOR I98 TURN ON BEAM FIG. I6
WTFEWF JUL 1 I975 SHEET 14 VECTOR MEMORY 22 I25 YSCANCLSB) FROM I22 [YTIXTISIGN XIN C[ I Q? LSB I [91 L Q -|29 xoR & SIGN W XINC Us] Y XT E LEFT l8 BIT I8 BIT [l SUB ADD w l8 BIT is] suB U1 1 METHOD AND APPARATUS FOR DIGITAL SCAN CONVERSION BACKGROUND OF THE INVENTION 5 The present invention relates to a system for scan conversion and, in particular, to a hardware system for converting coded graphical information, typically coded in the form ofCartesian or other suitable coordinates, into a format suitable for driving a raster-scan output device such as a conventional television monitor.
Scan conversion is the transformation necessary to change data in Cartesian coordinates, for example, into raster-scan line data. In television, for example, this is IS the conversion from digital data to a video signal.
One application for scan conversion is a part of a graphical output terminal in a computer system. Remote graphical terminals are one form of output devices used to communicate with a computer. One example of a non-graphical remote output terminal is the teletype. The teletype is a convenient and cheap input- /output device and is the most widely used terminal today. The major disadvantage of the teletype is that they are slow and cannot produce graphical output. 2
Two major types of display units utilize a cathode ray tube (CRT). The first type includes units which display only alphabetic, numeric (alphanumeric) and special characters at pre-defined positions of the face of the CRT.
Their main advantage over the teletype is their operating speed of 120 to 300 characters per second. Typically, they display 16 lines of 64 characters each, on a 9 inch by 7 inch viewing area. The number of characters is limited by the beam writing speed during a refresh cycle. Refresh memory is typically magnetic core or delay line. The characters are generated by one of three methods: dot matrix, stroke or extruded beam. The first method, and the simplest method, is to construct the characters from a matrix of 5 X 7 dots. In the second method, the beam actually traces out a series of line segments which form the matrix letters. In the third method, extruded beam character generation, the beam is shaped by deflecting it through the appropriate letter on a mask. It is then further deflected to the proper display position on the face of the CRT. Perfect font letters are generated by this method. The alphanumeric CRT displays usually have some form of line editing and deleting capability, tab and margin sets, and a cursor to indicate position.
The second major type of cathode ray tube includes devices which display graphical line drawings and alphanumeric data at random positions on the CRT face. These devices can be grouped into two further categories, the first, including those devices using a standard CRT and the second, those using a television or rasterscan CRT. The former type of CRT is used in such applications as Oscilloscopes, etc., and the second is used in conventional television sets. In the case of the former, the beam from the CRT is deflected to draw each of the individual lines making up the graphical display on the CRT screen. That is, the beam is scanned laterally or horizontally across the screen beginning from the top of the screen and moving downward.
There are two main forms of CRTs. Those using conventional fast decay phosphors, hereinafter called refresh CRTs and those using very slowly decaying phosphers. The latter kind are called storage tubes. CRTs using fast phosphors are expensive and usually require special duty computers, directed by the main computer, to store all of the vector information for the display. Since the CRT draws each vector individually, there is a maximum number of vectors which can be drawn before noticeable flicker" is observed by the user.
Remote graphical display devices using this type of storage tube include the Tektronix T4002 and Project Macs ARDS-l l. They accept low data rate information from the computer over telephone lines and have internal vector and alphanumeric generators. Such systems have several drawbacks. Principally, they can't selectively delete a vector without getting all of the display data from the computer. In addition. the storage tube cannot produce a bright image and must be viewed in a darkened room.
To best understand the operation of a television CRT, a brief summary of some of the terms and principles of television is required. A frame, as used in the television art, is the complete video picture, nominally about 512 distinguishable points by 5l2 lines. The latter are called raster-scan lines or scan lines. A frame is 5 created by overlapping two fields. A field is one-half of the scan lines of a frame. If the adjacent horizontal scan lines are numbered from 0 to 5 ll (total of 512), then one field contains all even numbered scan lines, and the other contains the odd numbered scan lines.
An electron gun is the part of the television picture tube that creates the image on the screen. The electron beam created by the electron gun is a stream of electrons, which, when they strike the phosphor on the inside surface of the screen, cause the phosphor to glow. The intensity of the glow at a point on the screen is determined by the number of electrons that strike the phosphor at that point. This glow immediately begins to fade away when the electron stream is stopped. The glow fade rate, called persistence, typically is from 1/10 to 1/30 second depending upon the type of phos phor utilized.
Because the image drawn on the television screen will not last indefinitely, it must be redrawn, i.e., refreshed, often enough to be visible to the human eye. The refresh rate is fixed at 30 frames per second. That is, the complete picture (two fields) is redrawn thirty times in each second. The reason for the two fields of alternate scan lines is to prevent the visual effect of the picture being swept out painted on the CRT 30 times a second.
The electrons from the beam can be selectively turned on or off, and the electron current (number of electrons) varied, resulting in approximately 64 detectable levels of intensification at each point on the CRT. The electron current is directed to various positions on the screen by applying deflection voltages to two pairs of parallel deflection plates which are located perpendicular to each other and to the electron current.
Moreover, a television CRT is a device which has constraints on the voltages applied to the deflection plates while conventional CRT's do not have such constraints. Specifically, V.\, the voltage applied to the plates of the CRT to cause deflection of the beam in the X-direction is analog, i.e., the beam (electron current) sweeps continuously from left to right. Vy, the voltage applied to the plates of the CRT to cause deflection of the beam in the Y-direction, is digital in that it is stepped from top to bottom in discrete steps, for a total of 512 lines. Higher performance CRTs are available with 800 and 1200 lines.
To produce one field, then, the beam scans the even lines from top to bottom, then goes back up to the top of the screen and fills in the odd lines, all in 1/30 second. It is, therefore, necessary to supply a video or modulation signal, which varies the CRT grid voltage, Vs, to produce the varying intensities that make up the picture on the screen.
Although the Vx signal is analog, there are only about 5l2 distinguishable points on a scan line for a good television monitor. Therefore, the electron beam modulation signal, Vs, can be made to have 5l2 discrete values along the scan line, one value for each scan line point.
For commercial television broadcasts, the video sig nal is created by a television camera which is basically the inverse of the monitor. It scans the image on an internal retina 30 times a second and transmits an analog intensity reading along each scan line to the monitor.
The fact about the television system that makes it difficult from an engineering standpoint is the time constraints imposed by the scanning deflection circuitry. A frame is scanned in 1/30 second (30 milliseconds). One line is scanned in 65 microseconds. This means the electron beam moves from one point to the next adjacent point of the same scan line in about I30 nanoseconds. So, after telling the beam whether or not to intensify a point, and with how many electrons, there is only 130 nsec to tell it whether or not and by how much to intensify the next point.
Retrace is the term for the time needed to re-position the beam. For instance, horizontal retrace occurs at the end ofa scan line to position the beam at the beginning of the next scan line. Vertical retrace occurs at the end of the last line ofa field to position the beam at the beginning of the first scan line of the next field. During the retract time, no signal is displayed. Horizontal retrace takes 13 usec', vertical retrace takes [.5 msec. To establish a time reference, today's medium-high speed logic requires nsec to do a logical AND very high speed requires 5 nsec, and the fastest logic is 3 nsec. These speeds are due to production processes and are not theoretical limits.
Presently, there are two types of systems for using a television monitor, i.e., a raster-scan CRT, as a computer display. A very straight-forward method is to point a television camera at the graphics to be displayed. The desired video signal is the output of the camera. There are several ways of producing the picture that the camera is pointed at. A standard CRT can be used to draw the graphics since the deflection voltages are not constrained as in a television monitor. it must be refreshed, however, for the same reasons as a television CRT. Some designs of storage CRTs allow random writing and raster-scan readout. Another design couples the CRT and camera in one electron tube, face to face.
There are several drawbacks to this technique. First, there is the need for a random scan writing device, es sentially a double display console. A second drawback is the comparably poor resolution: typically one-half of the capabilities of the television CRT. Third, this system has very slow writing speed since the storage CRT shares the electron beam between writing and reading.
The reading speed is fixed at 30 frames per second so the writing speed must be significantly less than that. Finally, to delete a portion of the picture on the storage CRT requires the picture be erased from the screen (0.2 seconds, typically) and then redrawn without the deleted element (0.2 to 0.5 seconds).
The second kind of system, digital television, is a technique which has been receiving increasing attention as a means for attaining some of the advantages associated with television systems, while avoiding most of the disadvantages resulting from use of the analog scan converters or television cameras to convert from digital inputs to television format. Although there must be a digital to analog conversion before the signals are applied to the television CRT, all data processing, conversion to television format, and display generation are done with digital signals.
A digital television system typically includes three units, the data process unit. the picture assembly unit, and the picture refresh unit. Since computer output data is delivered too rapidly to be converted to display format instantly, the data in inputed through a buffer memory. The computer generated data is in the form of digital words which contain the XX coordinate addresses as well as the coded designation of symbols, alpha-numerics, lines. or other conics to be displayed. The software conversion logic and the character-vector generators then decode the input data and transfer it to the picture assembly unit. There it is stored in magnetic core memory as a geometric pattern which duplicates, point for point, the desired display pattern. That is, there is one bit of core memory for every possible point on the television display. Typical digital displays are i000 by i000 points. After the total pattern is formed, it is transferred by destructive readout from the core memory to the refresh memory, which is a drum or magnetic disc memory. This transfer is necessary to relieve the storage burden on the core memory of the computer.
If a bit is a ONE, the corresponding screen location is intensified. If ZERO, it is not intensified. The drum or disc rotates at a speed sufficiently fast such that the value of each bit is available to the electron beam as needed. The video signal is therefore supplied, by the conversion of vectors to raster-scan coordinates is not a part of the device. A computer and software program are needed to turn on the appropriate bits of the bulk storage. To write all the bits for a full screen requires the transfer of up to 8k, 36-bit words from the computer to bulk storage.
Digital type television systems have several advantages over CRT display devices and analog scan conversion television systems. On refreshed CRT displays, the maximum number of characters is limited by the number of random deflections during a refresh cycle which can occur without flicker. This is usually 2000-3000 characters. Television systems aren't limited by this factor, but by the resolution of the picture. For a 12 inch X 12 inch television display, a maximum of approximately [0,000 characters is possible, though this is well beyond the limit imposed by human considerations.
Both television camera and analog scan conversion have the disadvantages of loss of resolution due to the Kell factor, the smearing of moving points because of scan conversion storage time, and difficulty in achieving selective updating. The Kell factor results from the possibility that data points may not be covered by a scanning line. It has been established empirically that resolution is 0.7 times the resolution before scan conversion. Digital TV eliminates this since each generated display point is associated with a scan line point. Magnetic memory eliminates smear since there is no retention of data after it has been updated.
There are a couple of important disadvantages using this of the latter type of digital TV scheme. Since the picture assembly unit needs one bit of memory for each point on the display, this is typically one megabit of core storage required. This isnt economical for driving one or several displays.
Another disadvantage is that a vector is lost" once it is stored in core storage. Thus, individual vectors cannot be added or deleted without completely rewriting the entire picture into the computer core memory. Since the latter operation utilizes expensive computer time, a graphical display with rapidly changing vectors becomes very expensive in operation.
Third, such systems require expensive bulk storage equipment such as a magnetic disc or drum. Besides being expensive, this equipment is subject to frequent maintenance and repair.
SUMMARY OF THE INVENTION It is therefore an object of the invention to provide a hardware system for converting digital graphical data into a form suitable for display on a raster-scan output device.
Another object of the invention is to provide a hardware system for providing digital scan conversion with television time and speed constraints.
Another object of the invention is to provide an improved vector display system using a television monitor.
Another object of the invention is to provide an improved line drawing system for display on a raster-scan device.
Another object of the invention is to provide a computer graphical display device using a conventional television monitor.
Another object of the invention is to provide a rasterscan conversion system applicable in television transmission systems.
Another object of the invention is to provide a conversion system for use in a conventional digital television system which eliminates the need for core memory storage.
Another object of the invention is to provide a selfrefreshing or regenerating raster output vector device.
Another object of the invention is to provide an unbuffered system for digital scan conversion.
In accordance with the invention, graphical line information is first received from a computer. Based on this information boundary data for each line or vector in the graphical display is stored, for example, in a memory device such as a shift register, From the graphical line information the incremental or intersection scan lengths or segments required to be provided by each scan of the raster-scan output device, such as a television CRT, in order to synthesize or reconstruct each of the lines or vectors, is determined. In the case of straight line vectors, the incremental scan lengths for each of the vectors is most conveniently stored with the boundary data for each vector.
Based upon the boundary data for each vector and the incremental scan lengths, means are provided for determining, for each sweep or scan of the raster-scan output device, the location of any and all vectors or lines which might be displayed, as an incremental scan segment, during that sweep. That is, the intersection of all vectors or lines with each individual scan line is determined.
Based upon this determination, means are provided for energizing and de-energizing the raster-scan output so that the incremental scan lengths are properly displayed or projected. In this manner, after a complete cycle of the output raster-scan device, the net effect of all of the incremental scan lengths is that the pattern of vectors and lines is synthesized or recreated.
One application where the invention is particularly useful is for vector display using a conventional television monitor. Thus, in one particular application of the invention graphics data is inputed from the computer in the form of binary coded boundary data for each vector to be drawn. The data passes through an arithmetic unit which calculates the value XINC, the length of the line segment of each horizontal raster-scan line which must be displayed to generate the desired vector. Where only straight line vectors are being displayed XINC is a constant for each vector and hence need only be determined once. Where curved lines are displayed XINC must be determined for each horizontal raster-scan line. From there the binary-coded words representing the boundary data for each line is loaded into a vector memory. If straight line segments only are displayed, then a coded value for XINC is also loaded with the boundary data for that word into the vector memory.
Where straight lines only are displayed, the memory, desirably, is a rotating type storage device. For example, shift registers, each N bits long can be used, where N is equal to the maximum number of vectors to be displayed. The shift register must be at least M-bits wide, where M is equal to the number of bits necessary to code the boundary data and XINC for each vector. Each word appearing at the output represents all the required data about one vector to be displayed. A salient feature of storing vector boundary data in the circulating memory as contrasted with core storage in a conventional digital television system is that the individuality of the input vectors is not lost. Since the boundary data and XINC for each vector are kept in memory, any vector can be identified when its word appears at the output of the shift registers, and it can be deleted if desired. New vector words are easily inserted into the circulating vector memory stream. The memory is circulated such that each of the vectors appears at the output during one raster-scan line period.
An arithmetic unit calculates the intersection of each of the vectors to be displayed with the next television scan line. Such intersections are in the form of scan line segments. The coordinates of the beam turn-on and turn-off points are calculated which will display the line segment in the proper position on the scan line. These coordinates are loaded into display turn-on and display turn-off bufiers respectively. This is done for each vec tor as it appears at the output of circulating memory. Thus, by the end of one scan line period, the buffers for beam turn-on and turn-off are loaded with the proper coordinates to display the intersections of all of the vectors with the next raster line to be scanned. By alternating between two display buffers, one buffer is being loaded while the other is being read and displayed.
The display buffers also drive the raster-scan output device, such as a television monitor. For each horizontal scan line about to be scanned, the appropriate buffer dictates the state of the video output as the beam moves across the display. In one embodiment each buffer comprises a pair of buffers, a turn-on and a turn-off buffer; the pair is read in parallel such that the output bit being read corresponds to the X-coordinate of the display beams present position. A common sync generator keeps the beam and each pair of buffers synchronized. An output 1 in the turn-on buffer increments an up-down counter, and a l in the turn-off buffer decrements the counter. Whenever the counter shows a l or greater, the display beam is turned on and it remains on until the counter is returned to zero by the turn-off buffer. This procedure is repeated for all of the scan lines, and the end result is that all of the vectors are displayed on the television. Since a frame is produced every 1/30 of a second, any new vector can be added or deleted in 1/30 sec. The selective insertion or deletion of vectors occurs, desirably, during horizontal retrace and can add and/or delete one vector every scan line. Therefore, up to 502 vectors may be changed per frame.
The present invention, as applied to graphical displays on a television monitor. has several important advantages over the conventional digital television systerns. Since the present system uses its vector storage memory for picture refreshing and input storage and conversion, it needs only one memory, needing only a fraction of the storage of conventional digital television. Further, it does not require a disc or drum refresh memory.
This is because the present invention does not require a full-frame buffer or storage memory. Rather than storing all of the bits necessary to display an entire frame of television, one horizontal scan line is developed at a time, based upon the vector boundary information and on XINC.
The conventional digital TV system stores the composite picture in its refresh memory and thus loses the data regarding individual input vectors which made up the geometrical pattern. Therefore, if a single vector is to be deleted. the system must ask the computer for all the input data so it can reconstruct the picture. This can be avoided if the input buffer is a complete memory, storing all the input data, but this requires another large memory for each display. Again, since the system according to the present invention stores the vector input data, any vector can be deleted without the necessity of requesting all input vectors from the computer.
The following detailed description of the invention is illustrative of only one, albeit attractive, embodiment of the invention, namely to a system for displaying graphical data, in the form of straight line vectors, on a conventional television monitor. However, with only minor modifications and additions, the basic features of the invention are equally applicable to other applica tions and modifications.
Thus, the present scan conversion system is suitable for use with raster-scan output devices other than television. For example, one very desirable application of the invention is as the interface with electrostatic or photo-printers which use a scan line output format.
In computer centers where terminals can be connected to the computer via high bandwidth cables, the present system is particularly applicable for making special purpose computations which lend themselves to television displays.
Also, the present invention can be incorporated into a conventional digital display system. It can be used as the data processing unit and picture assembly unit for a digital television system. When used in conjunction with a disc storage unit, it can be time-shared among many displays at once, making a digital television system which doesnt require the enormous picture assembly memory now required. In a digital television system such as the one manufactured by Data Disc Corp., the present invention, in this manner, with one disc drive could serve approximately 30 users simultaneously.
As cable television develops from its present function as a distribution system for entertainment television into a multifunctional, two-way communications sys tem, digital television will be a necessity. Scan conversion will be done at the computer end of the network, and video signals will be sent directly to the terminals. Thus, in future CATV system, the present system can be used to convert computer data concerning prices, inventories, current movies, and almost anything imag' inable into alphanumeric and graphical displays for the home viewers.
With minor modifications and additions, the present system is capable of providing alphanumeric displays, as well as graphical displays. Other modifications which can be made to the basic digital scan conversion system of the present invention include color display, halftone display, windowing and image expansion, and threedimensional rotation. When incorporated into a remote terminal, input devices such as a keyboard and light pen, and line editing subsystems can be added.
BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1A is a graphical illustration of a vector represented on a raster-scan device; FIG. 1B is a geometric representation of a graphical line; FIG. 1C is a representation of the line of FIG. 1B suitable for raster-scan output; and FIG. 1D is a graphical representation of a video signal for a typical scan line in accordance with the present invention.
FIG. 2 is a generalized block diagram of a system for displaying graphical information on a conventional television monitor in accordance with the present invention.
FIG. 3 is a detailed block schematic diagram of the scan conversion system 14 of FIG. 2 in accordance with the present invention.
FIG. 4 graphically illustrates XCUR and XINC utilized in the present invention.
FIG. 5A is a block illustration of a rotary storage device for storing vector storage words defining the vectors to be displayed; and FIGS. 58 and SC illustrate another embodiment of the rotary storage device of FIG. 5A.
FIG. 6A graphically illustrates the intersection of typical lines to be displayed and the scan lines of a rasterscan device; FIGS. 68 and 6C are detailed illustrations of the intersections of FIG. 6A.
FIG. 7 illustrates graphically the calculation of XCUR to compensate for alternate odd and even fields in video applications.
FIG. 8 is a detailed diagram of blocks 30 and 32 of FIG. 3.
FIG. 9 is a flow chart of the logical sequence of operation of the circuit of FIG. 8.
FIG. 10 is a detailed schematic diagram of block 73 of FIG. 8.
FIG. 11 is a detailed diagram of block 84 of FIG. 8.
FIG. 12 is a schematic diagram of a -bit compare circuit.
FIG. 13 is a detailed block schematic diagram of blocks 34 and 36 of FIG. 3.
FIG. 14 is a flow chart of the logical sequence of operation of the circuit of FIG. 13.
FIG. 15 is a schematic diagram of converter 12 of FIG. 3.
FIG. 16 is a flow chart of the logical sequence of operation of the circuit of FIG. 15.
FIG. 17 is a detailed schematic diagram of block I27 of FIG. 13.
DESCRIPTION OF THE PREFERRED EMBODIMENT Graphics as used here, refers to points and lines or vectors. Graphics are most conveniently dealt with in a computer as geometric quantities, with respect to a Cartesian coordinate x, y axis, in the case of straight lines or vectors. A point is represented by a single .\',y pair, i.e., two numbers. A line is represented by its endpoints, each endpoint represented by an x,y pair, for a total of 4 numbers.
A line can be specified by only two numbers, if one endpoint is assumed to be known; for example, the last endpoint of the previous line or the previously specified point. These two numbers may be interpreted in one of two ways; as an endpoint (called head-to-tail mode) or as a displacement in the x and y directions from the previous endpoint (called relative mode). The motivation behind this representation is to save computer memory space. Since much graphical data involves connected lines, this method prevents the repetitious specification of an endpoint that is common to two lines. This consideration is most important when this data must be transmitted to a display since only half the data need be transmitted. These endpoints are beam positions, and for simplicity, the video signal can be assumed to be an on-off signal.
Since the path of the beam of a raster-scan device does not necessarily follow along the vectors and, in fact, will only trace out vectors lying on a scan line, it is necessary to determine all the scan lines that the vectors intersect. and how much of those scan lines are covered by a vector. See FIG. 1A.
Referring now to FIGS. 18 and 1C, scan conversion is the term applied to the process of converting a line, geometrically represented in FIG. 18, into a form suitable for raster-scan output as shown in FIG. 1C. As illustrated therein e are endpoints.
The conversion should be such that er-e and e =e t Each of the line segments of the converted form occupies exactly one scan line. For each scan line, ail these segments, as well as points, are determined and, where the raster-scan output device is a television monitor, are the video signal for the television monitor. For any given scan line, the video signal as a function of time might look like that shown in FIG. 1D.
FIG. 2 is a general block diagram, in accordance with the invention, of a system 10 for displaying graphical information on a conventional television monitor 12 by the use of the present scan conversion system 14. The detailed description which follows is intended to be illustrative of only one embodiment of the invention. Thus, as explained previously, the system is equally applicable for use with other raster-scan devices other than television. Also, the invention is not limited to displaying straight line vectors. Graphical data to be displayed is sent in the form of binary coded numbers from a computer 16, via path 18 to a controller 20 of the digital scan conversion system 14. A controller as used herein is the generic term for a device that drives a display; in this case the television monitor.
The graphical data sent over the path 18, in the case ofa system for displaying straight line graphics, is in the form of binary-coded Cartesian coordinates. A point encoded in this manner is thus provided with .i' and y position numbers, where x is given by a 9-bit number and y is given by a 9-bit number. Nine-bit numbers are required since, as previously explained, a television picture may be considered to be a matrix of points 5l2 long by 5l2 wide.
As explained previously, a vector can be expressed in one of three ways; namely, in the absolute mode. the head-to-tail mode, and the relative mode.
In the absolute mode, the coordinates of the two endpoints of a vector are given. Thus, two 9-bit numbers for each of the endpoints is provided. In the head-totail mode only the second endpoint of the vector is given, i.e., only two 9-bit numbers are required. In the relative mode, where the displacements, dx and dy are given, two signed 9-bit numbers are given.
The representation of each vector called a vector storage word (VSW) is stored in the memory 22, which, for example, can comprise a rotating storage device such as a shift register. The vector storage words are sent along path 24 between the memory 22 and the controller 20. The controller 20 also provides update information for each of the VSWs stored in memory 22 via path 26, in a manner to be explained subsequently. Finally, the controller 20 provides signals representative of the analog video signal along the path 28. This signal dictates the intensity of each of the points along the scan beam, i.e., whether the beam is on" or off."
Referring now to FIG. 3, a block diagram of the present scan conversion system 14 for graphical displays of straight line vectors on a television monitor is shown. Graphical data, in either the absolute, head-to-tail, or relative mode is converted at 30 into the internally used vector storage words (VSW). The VSW for each vector contains the following data fields:
XT YT YB XINC XCUR sign These data fields contain the following number of bits: