CA1200028A - Cathode ray tube display system with minimized distortion from aliasing - Google Patents

Cathode ray tube display system with minimized distortion from aliasing

Info

Publication number
CA1200028A
CA1200028A CA000421011A CA421011A CA1200028A CA 1200028 A CA1200028 A CA 1200028A CA 000421011 A CA000421011 A CA 000421011A CA 421011 A CA421011 A CA 421011A CA 1200028 A CA1200028 A CA 1200028A
Authority
CA
Canada
Prior art keywords
transition
cathode ray
ray tube
brightness
objects
Prior art date
Legal status (The legal status 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 status listed.)
Expired
Application number
CA000421011A
Other languages
French (fr)
Inventor
Steven D. Edelson
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Application granted granted Critical
Publication of CA1200028A publication Critical patent/CA1200028A/en
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/42Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of patterns using a display memory without fixed position correspondence between the display memory contents and the display position on the screen

Abstract

CATHODE RAY TUBE DISPLAY SYSTEM WITH MINIMIZED
DISTORTION FROM ALIASING

ABSTRACT
In a cathode ray tube display system in which objects to be displayed are represented by digital signals, a technique is employed to reduce distortion caused by aliasing. The objects to be displayed are represented in a memory by transition specifications which represent the object to be displayed by defining the character or the edges of the object to be displayed. From the transition specifications, a video signal is generated and applied to the cathode ray tube display device to display the object represented by the stored transition specifications. The circuitry generating the video signal causes the video to change in steps across the width of a transition from the brightness prior to the edge to the final brightness of the other side of the edge with the width of the transition varying in accordance with the slope that the edge makes with the raster scan line.

Description

lZ0~30Z~3 CATHODE RAY TU~E DISPL~Y SYSTE~ ITH ~IINI~IIZED
DISTORTION FRO~ LIASING
This invention relates to cathode ray display systems for displayin~ geometrical shapes, lines, and characters in response to digitally coded input com-mands and, more particularly, to such a cathode ray tube display system provided with means to minimize distortion in such displays caused by aliasing.
A typical high resolution cathode ray tube display device respondin~ to digital commands to generate geometric displays employs picture elements (pixels) to define areas of the screen. These pi~els are small areas of the screen de~ined by subdividing the scan lines into small parts along arbitrary boundaries. The display is created by specifying which of the pixels are to be illuminated and to what intensity or color. Pixels are indivisible and form the smallest unit of the display. Since a dia~onal line or edge of a geometric object must be expressed in ni~els, the edge will appear as a stair-step wnere a jump from one pi~el to the ne~t is made. This stair-step distortion is attributed to aliasing, which is a term for signal distortion caused by sampling at too widely spaced intervals. One cure for distortion caused by aliasing is to average the response of se~eral pixels at the edges of objects or lines to provide shading. Howe~er, this shading to simulate the edge falling between pi~els must also be expressed in !

-~ ~2~ 3Zt~

terms of whole pixels and the shading cannot be finer than the pixels themselves. The result is a fuzzy, poorly defined image. In addition, since such correction is computation intensive, a more common technique for lessening the aliasing and distortion is to divide the screen into i`iner and finer pixels. Hi~h resolution CRT display devices are currently composed of 512 x 512 pixels or 1,024 x 1,024 pixels. These higher resolutions exceed both the ability of the cathode ray tube to disp]Lay the information and the ability of the user to distinguish sinole pixel entities. Tihe geometric ~,rowth of the pixels required to accurately depict an irnage without visible aliasing and distortion requires the graphic processor to keep track of a very large number of pixels for even a simple object. Another disadvantage of such high resolution is that the displays require more sophisticated cathode ray tubes and the display system is incompatible with video recording and hard copy devices which are normally set up for the ~STS standard of a 525 line scan.
The object of this inVentiQn is to provide a visually superior display by providing circuitry to control the positioning and gradation of colors and intensity in detail unobtainable by comparable pixel display systems using comparable cathndè ray tubes or hard copy devices. This objective is obtained by storing and displaying detailed inforQation about ~`` ~ 2 ~ ~ ~ Z ~

transitions in intensity and color required in the video signal to display the desired objects. These transitions are defined in much greater detail than the resolution provided by the logical space usually required by one ~ixel. The invention exploits the fact that the cathode ray tube display is not a matrix of square areas a~3 it is considered to be in a pixel display device, but rather can be considered a set of continuous horizontal lines with no divisions. This is true even though color cathode ray tubes are normally composed of discreet phosphor dots since in a pixel display device, the pixels are not related specifically to the color dots of the color cathode ray tube.
~loreover, typical accessories such as hard copy and projection systems make use of multiple monochrome images which have no phosphor patterns. The invention takes advantage of the fact that the cathode ray tube has the ability to display continuous gradations in brightness and color and the invention exploits the fact that the graphic information needed to define only edges of the objects constitutes only small areas of the screen with the majority of the screen being a background color or a homogeneous color of an object.

2a lZO~()Z~3 Onc embodinlent of the invention en~l.es objects to be iisplayed over].appi.n~ one ano~her w:ith automatic removal of hidden llnes ~Jithout exc~ss:ive complexity ~nd these hi(lden lines and sllrf~ces are automatically restore~ when the olscuring objects are re~oved from the d.isptay.
Another embodiment of the invention permits the display of blinking objects. In accordance ~ith a unique aspec~ of the in~ention, the e(lges, surfaces and lines, ~hich are lliddlen behind the blinking objects during the intervals ~rhen the blinking objects are present or "on", are lis;ihle in the alternate intervals when the blin!cing object;s are "off".
Spec.i~:ically, the invention relates to a cathode ray tube display system comprising a cathode ra~ tube display device provided ~ith a raster scan, encoding means responsive to input signals representing objects to be displayed by the cathode ray tube display de-Yice to store transition specifications representing each point on the objects to be displayed ~here the raster scan of the `cathode ray tube display tdevice crosses the edge of an object to be displayed, the transition specifications each containing digital data identifying the position of the point represented by such transition specification on the rast.er scan and containing digital data varying in accordance ~ith the slope that the edge of the ohject ~akes ~ith the raster 9VZ~
scan at such po:int, display creation mearls responsi.ve to the stor~d tran3ition specifications to ~enerate a v~ eo sigllal and apply such video si~nal to the cathode ray tube d:isplE~Iy device to caus~ the cathode ray display device to ~lisplay the objects represented by tlle input signals, the display creation means causing the vi(leo signal to under~,o a transition in intensity for each of the transition specifications at the location in the raster corresponding to the location represen,ed in sllch transition speci~ication, ~ith the width of the transition varying in accordance with the slope that the object e(lge makes with the raster scan line at the point corresponding to sllch transition specification.
In another aspectl the invcntion relates to a cathode ray tube display systeln comprising a cathode ray tube display device providecl l~ith a raster scan, storage means to store transition specifications representing transitions in video brightness at each point on an object to be displayed ~here the raster scan of the cathode ray tube display device crosses the ed~e oE the ohject to be displaye(l, the transition speci~icatlons each containing (1) data identifying the starting position of the corresponding transition in the raster scan, (2) data representing the ~idth of such trnnsistion, and (3) data representing the rate of chanse in briglltne3s in the transition, display cre~tioll means to read the transit:ion speciEications - 3a -~Z~3¢?(~2~

Ollt in the or~l~r that they occur in the raster scan and to generate a video signal in accordance lYlth the trans:i.tion specificatiolls and to apply the vi(leo signal to the cathode ray tube display device ~o cause the cathode ray display devic~ to display the object represented by the transition speci:Eications, the video lisplay device comprisi.ng a register for containino a digital value represent:ing video brightness, digital-to-analog converting means to generate the video s.ignal from the value stored i.n the register, and me~ns to change the value in the register for each of the transition specifications read out by the dis~lay creation means beginni.ng at the starting position identified in such transition specification and changing the value in the register in steps having amplitudes and spacings corresponding to the rate of change in brightness in the transition specification.
In still another aspect, the invention relates to a cathode ray tube display system comprising a cathode ray tube display device provided with a raster scan, encoding means responsive to input signals representing objects to be displayed by the cathode ray t.ube display device to store transition specifications representing each point on the objects to be displayed wllere the raster scan of the cathode ray tube display device crosses the edge of an object to be displayed, the objects to be displayed including one or more lZ~02~

hlillkillg oh jects, the transition spec:i~ic~tions inc:lu~1in~ a first set of translti.oil sT~ci~icati~ns repr~sen~ o t:hosc ~dge points which ar~ visible when the blin1cinp, objects are on and a sccond set of transition specifictions representinS tho~e edge points which are visible when the blinkino objects are off, the blinlcing objects obscuring object portions in the display which are not visible ~hen the blinking objects are on and ~lhich are visible when the hlin~ing objects are off, displ~1y creation means respon~ive to the stored transition speci~ications to generate a video signal and apply such video signal to the cathode ray tube display device to cause the cathode ray tube display device to display the objects represented by the first set of transition specifications during spaced time intervals and at alternate time intervals displaying the objects represente~ by tl1e second set of tr~nsition specifications ~hereby the object portions obscured by the blin1~ing objects are not visible ~hen the blinkino objects are on and are visible uhen the blin~ing objccts are ofE.
In its mcthod aspect, the invention relates to a method oE displaying a plurality of objects in a cathode ray tube display device havino a raster scan comprising (l) changing the displayed brightness on the cathot1e ray tube display device in transitions of brightness at each point in the raster scan where the raster scan crosses the ed~,e oE an object to be .

lZ()~'V~

clisp1ayed, ~ith the transitions each having a width corresponding ~o the slope tllat the rast~r scan li.n~
~akes ~ith the edge at the transition in those Lns~ances in the (lispl~y wl1erein such transitions representing adjacent or coextensive edges of different objects do not overlap, and (2) in tho5e instances wherein transitions hav:ing widths varying in accordance with the slope of the corresponding edges would overlap, changing the brightness of the display in a composite tra~lsition to represent both such edges ~ith the brightness being ch~nged at one rate during part oE
the composite transit:ion and being changed at a different rate in another part of the transition.
In accordance with the invention, each object to be displayed is defined as sets of scan line transitions. A transition is define(l as the cl-ange in brightness and color where the raster scan crosses over the edge of an object~ The details of each transition are stored in memory as a transition specification.
From these transition specifications, a video signal is generated and applied to the cathode ray tube display device to display the object represented by the stored transition specifications. The circuitry generating tl-e video signals ca~lses the video to change in steps ncross the width of the transition from the intensity prior to the edge to the final intcnsity at the other side of the edge with the width of the transition - 3d -~2(3~0Z~

varyin~ in accordance ~ith the slope that the e(lgc makes witll the raster ~can lin~. The goa] o~ the system is to generate a video si~nal simulating 1S
cl~sely ~s possible the signal that wollld be genercl~ed hy a video camera aimed at real object9 t~ith the same shape and colors as those being created. Because the transitions are represented in this manner, an~ also because the st:art of the transition can be controlled mùch more precisely than when objects are define~ in terms of pi~el elements, the object is displayed with distortion caused by aliasing substantially reduced.
Fllrther objects and advantages oE the present invention will become readily apparent from the fol-lowing detailed description - 3e -1 2 ~ ~ ~ 2 ~ , of the invention when considered in conjunction ~ith the accompanying dra~ings.

BRIEF DESCRIPTION OF THE DRA~I~GS

Fig, 1 is a block diagram illustrating the system o~ the present invention:
Fi~. 2 illustrates an e~ample of a display of a type which can be created by the system of the pr ese n t inventi on Fig. 3 is an example of a video intensity signal as a function oE time for one horizontal scan line to generate the display shown in Fig. 2;
Fig. 4 is a block diagram showing in more detail the display memory which is shown as a block in Fig. l;
Fig. 5 is a block diagram illustrating in more detail the display creation circuit which is sho-~n as a block in Fig. 1:
Fig. 6 is a block diagram illustrating in more detail one of the transition executors shown as blocks in Fig. 5;
Fig. 7 is a block diagram illustrating in more detail the timing section shown as a block in the diagram of Fig. 5;
Fig. 8 is a bloclc diagram illustrating in more detail the position trigger shown as a single bloclc in the diagram of Fig. 5;
Figs. 9A-9~ illustrate 11 different situations of overlapping displayed object edges, ~hich ~ ;~
I

l Z(3~VZB

situations a~ taken into account by the system of the present invention; and Figs. 10A and lOB illustrate a flow chart of the program of the present invention for calc~lating transition specifications to represent a polygon to be displayed by the system of the present invention.

DESCRIPTIO~ OF A PREF~P~RED EMBODI`IENT
AS shown in Fig. 1, the system of the present invention comprises a keyboard 11 for entering data representing objects to be displayed by a color cathode ray tube display 13 and representin~ the location of the objects on the screen of the cathode ray tube display. The information entered by the keyboard is received by a processing computer 15, which, under the control of a program stored in the program RO~I 17, computes ~rom the data entered by the keyboard series of transition specifications which are stored in a dis-play memory 19. The cathode ray tube display 13 scans electron beams across the screen of the cathode ray tube display 13 in a conventional TV raster scan and ~ill display images in response to applied colar vidèo signals in the manner of a conventional color TV
receiver.
The display creation circuitry 21 reads out the transition specifications from the display memory 19 and converts the data from the specifications into video si~nals which, when applied to the Cr~T display - ~z()~z~ ~

device 13, cause it to display the objects described by the data entered by the keyboard 11. Similarly, the objects to be displayed may be defined and selected by computer operations or computer data via a data linlc.
The transition specifications stored in the display memory 19 represent the ob jects to be displayed in ter~s of the location of wnere the raster scan lines of the CRT display 13 cross the edges of the objects to be displayed. Each time a horizontal scan line crosses the edge of an object to be displayed, there will be a transition in the video signal from the color and brightness level prior to the edge to the color and brightness after the edge. Thus, the crossings of the object's edges by the horizontal scan lines are referred to as transitions and the transition specifications stored in the display me~ory 19 provide all the information about each of the transitions necessary for the display creation circuitr~ 21 to generate the video signal which causes the CRT displa~
device 13 to display the objects.
The transition specifications, in addition to containing in~ormation as to the location of a transition, also contain information as to the character of the transition in terms of the width of the transition and the rate of change in brightness and color across the transition. In accordance with the present invention, to reduce aliasing distortion, each
2 ~

transition is considered to have a width, which depends upon the angle that the ob ject edge, which causes the transition, has with the horizontal scan line. The closer the angle between the edge an~ the horizontal scan line is to 90~, the smaller will be the width of the transition. The closer the edge is to parallel to the horizontal scan line, the greater will be the width of the transition. Specifically, the width of the transition is made approximately proportional to the cotangent of the angle of the horizontal scan line with the edge at the transition. ~ccordingly, an edge that makes an angle of 90 ~ith the horizontal scan line is represented by a transition with a zero width so that the brightness and color of the video signal changes immediately to the final value at the transition.
For purposes of simplifying the explanation of the invention, it will be first explained in terms of a monochromatic display system wherein the objects are displayed only in different degrees of brightness.
Thus, at each transition, the brightness of the video sional will be changed from the brightness level prior to the edge to the brightness after the edge. The logic of the display creation circuitry provides a horizontal resolution which is a multiple of the vertical resolution. The vertical resolution of the display depends upon the number of horizontal scan lines which is 5~5. The logic of the display creation circuitry 15 divides the horizontal scan lines into 12~ 02t3 4096 divisions. This provides abo~t 3,400 divisions of the usable or visible part of a scan line. Considering the 4 to 3 ratio in the display dimensions, the horizontal resolution comes out to be about 9 times the vertical resolution. In ord~r to provide the maximum reduction in aliasing, the width of each transition is made an approxinlation of the ratio of the horizontal resolution to the vertical resolution divided by the tangent of the angle that the horizontal scan line makes with the edge defining the transition. In the system of the present invention, the width of the transition, accordingly, is made equal to 8/tan 0 divisions, where 0 is the angle that the horizontal scan line makes with the edge defining the transition.
The intensity at the transition is caused to change in steps distributed across the width of the transition so as to cause the brightness change across the width of the transition from the initial brightness level to the final brightness level.
An example of how the system of the invention operates for one color or for a monochromatic system to control the width of the transition and the change in intensity across the transition is illustrated in Figs.
2 and ~. Fig. ~ illustrates objects to be displayed comprising a disc 31 and trapezoid 33 partially covering the disc 31. In the monochromatic e~ample of the explantion, the background intensity surrounding !

~Z~)~02~3 the objects 31 and 33 is zero, the circle has an intensity of 220, and the trapezoid 33 has an intensity of llO. (The intensity units correspond to the smallest increment by which the video -intensity can be changed by the system logic.) The hori20ntal scan line thus undergoes a transition from zero intensity to 220 at the point: 37, where the scan line 35 crosses into the disc 3]L, a transition from 220 to 110 at the point 39 where the scan line crosses into the trapezoid 33, and a transition from 110 to zero at the point 41 where the scan line crosses out of the trapezoid 33.
The angle that the disc edge makes with the scan line 35 at point 37 is 26 so 8/tan 26 = 16. Accordingly, the width of the transition at the point 37 is 16 units of the 3400 divisions of the visible horizontal scan line. Accordingly, it is desired to step the video intensity from zero to 220 in 16 divisions of the horizontal scan line as the cathode ray tube beam sweeps past the position of the point 37. The display creation circuitry 21 thus will produce a video signal to increase the intensity from 0 to 2~0 in 16 steps.
Since 220 divided by 16 is 13.75, the step size for each horizontal division is selected accordingly. The display creation circuitry 21 causes the intensity to increase in steps of 13 or 14 units for each horizontal division as the electron beam moves across the disc edge at the point. The step size t~ill vary between 13 and 14 so that the average intensity step is about l.Z0~(~2~3 13.75. After 15 steps, the intensity will have been increased to 206. In order to ensure an accurate final intensity, at the final or 16th step of the transition, the intensity is increased to the final intensity of 220.
At the point 39 on the edge of the trapezoid 33, the intensitr changes from 220 to 110. The angle 0 that the edge makes with the horizontal scan line is 90 at point 39 so the transition width is zero.
Accordingly, the intensity is changed at the point 39 in one step from 220 to 110. At the point 41 on the edge of the trapezoid, the intensity undergoes a change from 110 to zero. The angle 0 at the point 41 is 2.5 degrees and 8/tan 2.5 = 183. Since 110 divided by 183 is 0.601, less than one, the intensity is stepped either one unit or not at all for each horizontal di~ision so the a~erage increase in intensity per horizontal division is made to equal about 0.601. The resulting video intensity waveform as a function of time that would be produced by the example of Fig. 2 is shown in Fig. 3.
In addition to determining the transition width and step si2e, the starting position of the transition must be determined so as to center the transition on the edge point that it represents. In the e~amples shown in Fig. 3, the horizontal position of the point 37 is on the 100th horizontal scan line lZV~ 2~ .

division. Since one-half of the transition width i5 8, the starting position for the transition is selected to be 100 - 8 = 92. The point 39 is at hori~ontal division 170, so at the 170th horizontal division, the intensity is changed in one step ~rom 220 to 110. The horizontal posil:ion of the point ~1 is 490. One-half of the transition ~idth is 91 so the starting position for the transition at point 41 is 490 - 91 = 399.
The above description has been explained in terms of a monochromatic display. To provide a full color display, it will be understood that each of the three color video signals controlling the red, blue and green intensities will be controlled independently as described above in the monochromatic example.
As indicated above, data is entered by the keyboard 11 or from computer operations to represent the object to be displayed. If the object to be displayed is a polygon, then the data entered by the keyboard would specify (1) that the displayed object is a polygon, and (2) the positions of the vertices of the polygon. If the object to be displayed is a circular disc, then the data entered would specify the position of the center of the disc and the radius of the disc.
A straight line would be specified by its end points and its width. In addition to the above information, the entered data would specify the color brightness and depth level of the object to be displayed. Each object will be at one of eight depth levels to determine which .

j.

lZ~0;~8 objects will be in ~ront of and obscure which of the objects. From the entered data, the computer 15 computes the transition specifications and stores the transition specifications in the memory 19, Each transition specification will contain the following information: (1) a number identifying the object, the edge of which is represented by the transition; (2) whether the transition is a leading edge or a trailin~
edge, a leading edge being a point where the horizontal scan line crosses into the object and a trailing edge being where the horizontal scan line crosses out of the object; (3) a number identifying the horizontal scan line on which the transition occurs; (4) a number identifying the horizontal position of the start of the transition in horizontal scan line divisions (this starting position must be computed from the actual horizontal position of the edge point causing the transition minus half the width of the transition); (5) the address of the ne~t transition specification to be encountered in the raster scan (this address is referred to as a linking address and the list of linking addresses is referred to as a linked list);
(6) the step count which is equal to the width of the transition in horizontal scan line divisions; and (7) a number identifying the depth level of the object causing the transition. In addition, for each color red, green and blue, the following inEormation is ~ Z~ ~ 0 2 ~

stored; (1) the final intensity to which the color is to be changed at the transition: and (2) the transition intensity step size, ~hich is the average amount that the intensity is changed per horizontal division.
The linking addresses stored in the transition specifications are used to control the sequence in wh:ich the transitions represented by the transition specifications are read out of the display memory 19 and cause transitions to be generated by the display creation circuitry 21. In accordance with the present invention, the objects displayed may be made to blink on and off. To provide this feature, each transition specification contains one linking address to designate the location in the display memory of the next transition specification in the raster scan sequence with blinking objects on and anotner linking address to designate the ne~t transaction specification in the raster scan sequence with blinking objects off.
Since the objects may be positioned in front of one another, the edges of some of the objects to be displayed may be hidden or invisible. Transition specifications for the hidden edges are retained in the display memory. HoweYer, the display creation circuitry is not concerned with these invisible edges and the linking addresses controlling the sequence in which the transitions are generated disregard these hidden ed~es. Nevertheless, each transition specification, in addition to the linking addresses ~2(J~2 which control the sequence of transition generation, also contain additional linking addresses pointing to the ne~t transition in the display, ~hether hidden or not, thus forming another linked list. To distinguish the former linked list of addresses, which represent the chain of only displayed transitions, from the latter linked list of addresses, ~lhich represent all the object edge transitions in the display whether hidden or visible, the former linked list shall be referred to as the display linked list and the addresses thereof referred to as the display linking addresses. The latter linked list shall be referred to as the universal linked list and the addresses thereof referred to as the universal linking addresses. In addition, each object is considered to have a depth in the display to determine whether or not the object is in front or behind another object and, thus, determine whether a given transition specification represents a visible or invisible ed~e. For this purpose, when each object is entered into the system by the keyboard or by computer operations, it is assigned 1 of 8 possible depths and this depth information is indicated in each transition specification representin~ an edge point on the object. This depth information is not employed by the display creation circuitry, but it is used by the computer to determine where in the sequence of dis-played transitions, as determined by the display ` i `~`

12~V2~3 linking addresses, each transition specification is to go .
In the display memory, as ~hown in Fig. 4, the transition specifications are stored in the bulk memory 53 by the computer 15 via interface circuitry 51 as they are comp~lted by the computer 15. Each time the computer 15 stores a new transition specification in the bulk memory, it finds the transition specification immediately preceeding that currently being stored in the raster scan sequence and changes the universal linking addresses of the preceeding transition specifica~ion to indicate the location in l~hich the ne-transition specification is being stored. In addition, if the new transition specification represents a displayed transition, the computer finds the immediately preceeding transition specification representing a displayed transition and changes the display linking address of that preceeding transition specification to indicate the location in which the new transition specification is being stored. This operation is carried out for display linked lists for blinking objects on and for blinking objects off. The universal linking addresses in the new transition specification are set to point to the next transition specification representing an edge in the raster scan sequence whether visible or not and the display linking addresses of the new transition specification are set to a point to the next transition specification Z0S~2~

representing a visible object edge in the display. In this manner, each new transition specification is inserted in the universal chain or sequence of all object edge transitions and each transition specification representing a displayed transition is stored in the chain or sequence of all displayed transitions.
A buffer loader 57 operates to read the transition specifications representin~ displayed transitions out of the bulk memory 53 in the order that they occur in the raster scan and stores the transition specifications in the fast buffer 59. To accomplish this sequencing, the buffer loader stores the t-~o dis-play linking addresses read out from the previous transition specification and then uses one of these addresses to locate the next transition specification to be read out. As e~plained above, one of the display linking addresses is for blinking objects on and one is for blinking objects off. The display linking addresses are alternately selected in successive time intervals to provide the desired blinking.
I~ blinking object may obscure an edge, a surface, or a line w~ich is not visible ~hen the blinking object is on, but which is visible ~hen the blinking object is off. This feature results from the fact that each set of display linking addresses, one ~or blinking objects on and one for blinking objects 1 2 ~ ~ ~ 2 ~

off, links a set of transition specifications representing an entire displayed scene and the displayed scene for blinking objects on may cover up edges, lines or surfaces which appear in the displayed scene for blinking objects off.
A dummy transition specification is perma-nently stored in the bulk memory 53 and it is considered to represenlt a displayed transition occurring on line 525 at Iposition 4095 at ~background~' color. This dummy transition specification will contain a display linking address pointing to the location of a transition specification representing the first displayed transition to occur in the raster scan and the display linking addresses of the transition specification representing the last real displayed transition in the raster scan will point to the location of the dummy transition specification. To get into the display linking address sequence, the buffer loader 57 on being powered up reads out the dummy transition specification. The display linking addresses of the dummy transition specification will then select the transition specification of the first displayed transition in the raster scan to be the next transition specification read out by the buffer loader and the readout then proceeds in the proper sequence as controlled by the display linking addresses.
If desired, multiple scenes may be stored in the memory with each scene represented by an entire set --` lZ(3~'~2~3 of transition specifications. A given scene may be selected to be displayed by causing the linking address in the dummy transition specification to point to the first transition specification of the selected scene.
Memory logic 55 functions to prevent contention betwee!n storage of transition specifications by the computer 15 via thle interface circuitry 51 and the read out of transition specifications by the buffer loader 57. The bulk memory in the specific embodiment is a dynamic memory and the logic 55 also serves to periodically refresh the information in the bulk memory 53 to prevent loss of information. The transition specifications stored in the fast buffer 59 are read out by the interface 61 for the display creation circuitry 61 in the same sequence that the transition specifications are stored in the fast buffer 59. The fast buffer 59, thus, in effect, is a first-in first-out memory. The reason for having the fast buffer 59 is that the bulk memory 53 must be a large memory and, as a result, has a relatively slow access time, for e~ample, 300 nanoseconds~ The transitions that occur on a horizontal scan line, on the other hand, may occur at time intervals which are closer together than 300 nanoseconds. The fast buffer, by using a static random access memory, has a 30 nanosecond access time and the transition specifications stored in the fast buffer 59 can be read out at the same rate that the transitions . ~

-- lZ~l"aV;2~

occur in real time on the horizontal scan line. As each transition specification is rea~ out from the fast buffer 59, the display crea~ion circuitry interface 61 will apply to the display creation circuitry binary signals representing the scan line number and the horizontal pos:ition of the transition starting position. In addition, the interface 61 Yill apply sets of signals representing the step count, the step size, and the final intensity for each of the three colors red, green and blue~.
As shown in Fig. 5, the signals representing the horizontal scan line number and the horizontal positon of the transition starting position are applied to the position trigger 71-from the interface 61. The signals representing the step siæe and the final intensity for each of the colors and the step count are applied to the red transition executor 73, blue transition executor 75 and green transition executor 77, respectively, by the interface 61. A timing section 79 keeps track of the current position of the electron beam in the raster scan and sends signals representing the scan line and horizontal position of the electron beam to the position trigger 71. l~hen the scan line and horizontal position of the electron beam equal the scan line number and horizontal position number applied to the position trigger 71 by the inter~ace 61, the position trigger 71 tYill generate a load pulse applied to the red, blue and green ~:: 19 . .

~oq~z~

transition executors 73, 75 and 77. The load pulse applied to the transition executors causes the step count to be loaded into a counter in each executor as will be explained below with reference to Fig. 6.
Fig. 6 shows one of the three transition ~xecutors 73, 75 and 77, the circuitry for each transition executor being identical. As shown in Fig.
6, signals representing lehe step count are applied by the interface 61 to a stelp counter 81 where the step count is stored in response to the load pulse. Signals representing the step siæe, in 16 binary bits, are applied to a 16 bit adder 87. Signals representing the eight most slgnificant bits in the adder are applied to 8 bit multiplexer 89, which also receives signals representing the final intensity from the interface 61.
The output of the multiple~er 89 is applied to eight most significant bits of a 16 bit register 85. The eight least significant bits of the adder are applied to the eight least significant bits of the register 85.
Signals representing the 16 bit value in the register ô5 are applied to the adder 87 where the value is added to the value of the step size applied to the adder from the interface 61. The signals in the register 85 represent a video intensity and the value represented by the 8 most significant bits thereof is converted by a digital-to-analog converter 91 to an analog ~ignal to control the video intensity.

1~ 28 Before a load pulse is received, the value stored in the register 85 will normally be the final intensity from the previous transition specification last read out from the display memory and accordingly, the digital-to-analog converter 91 will be producing an analog signal to produce a video intensity corresponding to this previous final intensity.
Signals representing this final intensity will also be applied to the adder 87. I~hen the next transition specification is read out from the fast buffer 59, signals representing the step size in this next transition specification are applied to the adder 87 by the interface 61 and are added to the previous final intensity. The sum of the two applied values are applied to the multiplexer 89 by the adder 87. The multiplexer 89 applies either the applied signals from the adder 87 or the signals representing the final intensity to the register 85 depending upon whether the count in the counter 81 is zero. If the count is 2ero, the multiplexer applies the signals representing the final intensity and, at the same time, sets the eight least signficant bits in the register 85 to zero. If the count is not zero, the multiplexer 89 applies the signals from the adder 87. As indicated above, as soon as the load pulse is applied to the step counter 81, the step count is loaded into the counter 81 and, accordingly, at this time, the count would usually not be zero. Accordingly, the multiplexer 89 will begin `:

lZO~(~Z~3 applying the output of the adder 87 to the register 85.
Then, when the next clock pulse is received by the register 85, it will cause the output of the adder 87 to be stored in t.he register 85 and, at the same time, the counter 81 will count this clock pulse to begin counting down toward zero. As a result, the value stored in the register 85 will become the previous final intensity plus the aldded step size. Then, with each additional clock pulse, the value in the register 85 will be changed by the step size, until the count in the counter 81 reduces to .zero, whereupon the counter 81 will cease counting and will apply a signal to the multiple~er 89 and cause it to select the applied final intensity signals and store this value in the register 85. Thus, the value in the register 85 is changed in steps from the final intensity of the previous transition to the new final intensity of the current transition. The digital-to-analog converter controls the video intensity signal in steps corresponding to the changes in the value stored in the register 85.
It will be noted that while the step size is represented by 16 binary bit values and the current video intensity is computed to 16 binary bits by the adder 87 and stored in the register 85, only the 8 most significant bits are applied to the digital-to-analog converter and converted into an analog vicleo intensity signal. By using only the 8 most significant bits in ~ .

.

the computed intensity, only an 8 bit digital-to-analog converte~ ic required. Changes in int~nsity represented with higher precision would not be noticeable. With the units of intensity being defined as the smallest increment by which the intensity can be changed, the 8 most significant bits in the register 85 represent values of one and greater and the 8 least significant bits represent values of less than one. By representing the step size with a precision of 16 binary bits and computing the intensity with this precision in the register 85, the step increase per horizontal division of a scan line can be made to have an average value closely approximating the value of the step size as precisely represented by the 16 binary bits. This is significant when the transition is a wide, gradual transition and the average step size is less than one. By calculating and controlling the intensity as described above, the system will cause the intensity to increase in integral increments distributed across the width of the transition. For e~ample, if the step size is 0.5, then the intensity will be increased by one on every other horizontal division of the scan line. Note that since each of the three colors typically have different step sizes, their lack of synchronization enhance the illusion of a smooth, continuous transition.
When the transition has no width, the step count loaded into the counter 81 is zero and, lZV~0~8 accordingly, the first clock pulse will cause the new final intensity to be loaded in the register 85. In this manner, in the instance of zero transition width, the intensity value is changed immediately to its new value at the horiizontal position of the transition.
The tiLming section 79, as shown in more detail in Fig, 7, comprises a 64 megahertz oscillator 101l the output of which is applied to a 12~bit counter 105. The counter 105 provides a multi-bit binary signal representing the horizontal position of the electron beam sweep in the cathode ray tube raster scan. In addition, the output of the counter 105 is applied to comparators 107, 109 and 111 which generate the horizontal sync pulses, the horizontal front porch blanking and the horizontal back porch blanking, respectively, for the raster scan. The 12-bit counter 105 also generates a carry pulse at the end of each sweep of each horizontal line, ~hich carry pulse is applied to and counted by a line counter 112. The count in the line counter 112 continuously represents the line currently being scanned in the raster scan and the line counter 112 produces binary signals representing this ~alue. The output signals from the line counter are applied to comparators 115, 117, and 119 which generate the vertical sync pulse, the vertical front porch blanking and the vertical back porch blan~ing, respectively, for the raster scan. The ~2(~

sync pulses produced by the comparators 107 and 115 are combined into a composite sync signal by an OR gate 123. The outputs of the comparators 109, 111, 117 and 119 are combined in an OR gate 121 to provide a composite blanking signal. The composite blanking signal an~ composite sync are applied to the cathode ray tube display device 13, to provide synchronization and appropriate blanking of the raster scan generated by the display device 13.
The position trigger 71 as shown in Fig. 8 comprises a comparator 13] and a comparator 133. The comparator 131 receives thle scan line number applied thereto by the interface 61 in the latest transition specification read out from the fast buffer 59 and also receives signals representing the current vertical position of the electron beam in the raster scan represented by the output signals of the line counter 112 in the timing section. When the current vertical position of the electron beam in the raster scan equals the scan line number applied by the interface 61, the comparator 131 will provide an enabling signal to the comparator 133. The comparator 133 receives signals applied thereto by the interface 61 representing the horizontal position in the latest transition specification read out from the fast buffer 59 and it also receives `signals representing the current horizontal position of the electron beam in the raster scan represented by the output signals of the counter ~5 ` ~

12~ J2~il 105. I~hen the current horizontal position of the electron beam in the raste~ scan equals the horizontal position applied by the interface 61 and the comparator 133 is also receiving an enabling signal from the comparator 131, this will mean that the electron beam position in the cathode ra~y tube display device is at the position specified in the latest read out transition specification and the comparator 133 will generate a signal to enab~!e a flip-flop 135. On the next system clock signal generated by the oscillator 101, the flip-flop 135 will be switched to generate the load pulse which, as expla:ined above, is applied to the step counter 81 to load the step count from the transition specification currently being read out of the fast buffer 59.
Because in accordance with the present invention, the transitions have widths, it is possible for transitions adjacent to one another to overlap;
that is, the next transition may start before the preceeding transition is completed. There are 11 different situations of overlapping edges, which are taken into account by the system of the invention by means of a composite transition consisting of a plurality of contiguous transitions usually including e~tra transitions specially computed for the over-lapping situations. The specially computed transitions are called orphan transitions. Orphan lZ~

transition specifications are generated for the orphan transitions, which are inserted in the chain of displayed transitions by appropriate display linking addresses in the orphan transition specifications and in the specifications of transitions immediately preceeding the orphan transitions in the displayed chain of transitiLons. The orphan transitions are not included in the universal chain of transitions corresponding to object edges as they occur in the raster scan ~hether displayed or not. The orphan transition specifications contain only the starting position of the transition, the width of the transition, the step size for each color, the final brightness for each color, and the necessary display linking addresses.
The 11 different overlapping situations are schematically represented in Figs. 9A-9K. In each of these overlapping situations, the overlapping ransitions are designated T and T with T

designating the deep transitions and T indicating the shallow transitions in the display. To simplify the explanation, the different overlapping situations will be explained for a monochromatic example with the understanding that the computation for each overlapping situation is carried out in an analogous manner for each of the three video colors. In each of the 11 situations, the object brightness to which the transition T is changing in the case of a leading edge or from which the ~ransition is changing in the case of a trailing edge is B . The object brightness to or from which the transition T is changing is B . The background brightness is B .
Fig. 9A represents the overlapping situation in which T and T are both leading edges with the deep ransition T starting firc3t at position P and ending in the middle of transil:ion T at position P and ransition T starting at positon P and ending at P .

Accordingly, over both i:ransitions T and T , the brightness must be changed from B to B . Transition T is computed in a normal manner from brightness B to B over the width from position P to P and is inserted in the chain of displayed transitions.
However, instead of using transition T , two orphan ransitions O and O are computed and inserted in the displayed chain following transition T , the orphan ransition O extending from position P to P and the orphan transition O extending from the position P to P . To compute the orphan transition O and O , the
3 1 2 briohtness at the positions P and P must be computed.
The brightness at P is computed simply by determining the brightness of the transition T at the position P .
The brightness at the position P is computed by mixing the brightness B with the brightness B in proportion to the amount of the transition T that is traversed at point P . In other words, the brightness at point P

~8 ~ZV~P~)Z~3 ' is computed by assuming that the transition T is changing from brightness B to brightness B and determining what its brightness would be at position P , After the brightness at positions P and P are computed, the step size for the orphan transitions can be computed. The orphan transition O is computed by taking the brightness at position P as the final brightness and determining the step size f~om the width of the orphan transition from P to P and the change from the computed brightness at position P to the final brightness computed for position P , Orphan transition O is computed setting B as the final brightness and determining the step size ~rom the width of the transition and the change in bri~htness from the computed brightness at P to B .
The orphan transitions O and O are inserted in the chain of displayed transitions with O coming after the transition T and o coming after the transition O . The display creation circuitry will display the overlapping transitions by starting transition T in a normal manner. Then, when it gets to position P , it will leave the transition T
uncompleted and will immediately begin transition O
and carry out the display of transition O from positions P to P . In other words, the transition T

is superceded by the transition O . Then, after the display of transition O , the display of transition O
will be carried out from position P to position P .

` 29 lZ~UV2i~3 Thus, the overlapping transitions are represente~ by a composite transition comprising part of T superceded by O followed by O .
In the situation of Fig. 9B, the deep transition T is a trailing edge transition from osition P to P and the shallow transition T is a leading edge transi~ion which starts at P in the middle of the transition T and ends at P after the end of the transition T . For this situation, orphan transitions O and O are used in place of the transition T . The transition T is computed in the normal manner from brightness B to B and the orphan transitions O and O are computed in a similar manner as in the situation of Fig. 9A. The starting brightness for the orphan O is the brightness of the transition T at the position P . The brightness at the position P , which becomes the final brightness for the orphan O and the starting brightness for the orphan O is determined by mixing the brightness B
with the bri~htness B in proportion to the amount of the transition T that is traversed at the point P .
The final brightness for the orphan O is the brightness B , Once these brightness levels have been determined, the step sizes for the orphans can be computed as described above.
In the situation of Fig, 9C, the shallo~
transition T is a trailing edge transition and begins .. . . . . ..

before the start of the deep leading edge transitiOn T
at position P and ends in the middle of the transition T at position P . The transition T starts at position P and ends at position P , In this situation, the t:ransition T is computed selecting the brightness B as the final brightness and T is inserted in the chain of displayed transitions. An orphan transition O is computed for the traverse from P to P and an orphan tr'ansition 0 is computed for the traverse from P to P . These orphan transitions are also inserted in the chain of displayed transitions. To compute the orphan transitions O and O , the brightnesses at the points P and P have to be determined. The brightness at position P is determined by computing the brightness of the ransition T at the position P . The brightness at the position P is computed by mixing brightness B
with brightness B in proportion to the amount of transition T that is traversed at position P . As in the case of the situation of Fig~ 9A, the brightness at position P becomes the final brightness for the orphan transition O . The final brightness for the orphan ransition O is B . Once the brightness values at P , P snd P have been determined, the step size is determined as described above.
In the situation of Fig. 9D, both transitions are trailing transitions with the shallow transition T

2(:~(32~3 starting from position P before the deep transition T

and ending in the middle of the transition T at position P and the deep transition starting from position P and going to position P . In this situation, the transition T is computed considering the brightness B to be the final bri~htness at position P and T is inserted in the chain of displayed transitions. An orphan transition 0 is computed for the traverse from P to P and an orphan transition is computed for the traverse from P to P .
The brightness at the position P is computed by determining the brightness of the transition T at the position P and the brightness at the position P is determined by mixing the brightness B with B in proportion to the amount of transition T traversed at position P . The orphan transitions are then computed and inserted in the chain of displayed transitions in the same manner as described above.
In the situation of Fig. 9E, both transitions T and T are leading transitions with the shallow transition starting at point P in transition T and endin8 at position P in transition T . The transition T goes from pOSitiQn P to P . No orphan transitions are needed for the situation of Fig. 9E. The transition T is computed in the normal manner from rightness B and B and inserted in the displayed chain. ~lo~ever, in order to determine the step size for the transition T , the starting brightness for this ~z()~z~ ~

transition must be computed by determining the brightness in the transition T at the position P .
The transition T is then computed using the brightness B a the final brightness. I~hen the transitions are displayed, transition T will supercede the transition T at the position P .
Fig, 9F represents a situation in which the deep transition T is a leading transition ~rom position P to P and transition T is a trailing 0 3 2 ransition from P to P wholly within transition T .

For this situation, an orphan transition must be computed for the traverse between P and P and the brightness for the position P must be computed by mixing the brightness B with brightness B in proportion to the amount of the transition T traversed at position P , The transition T is computed from osition P to P with the knowledge that B is the starting brightness and using the brightness computed for the position P as the final brightness and the transition T is inserted in the displayed chain. The orphan transition is computed using the brightness B
as the final brightness with the knowledge that the computed brightness at position P is the starting brightness.
In the situation represented by Fig. 9G, both transitions are trailing edge transitions with the deep ransition T goin~ from poSitiQn P to position P and lZ~ Z8 the transition T starting at position P wi~hin the transition T and ending at position P wi~hin the transition T . This overlapping situation is represented by the composite of the transition T ~rom osition P to l? and an orphan transition from P to P . The brightness at t.he position P is computed by mixing the brightness B with the brightness B in proportion to the amount of transition T tra~ersed at position P . The transition T is computed with the knowledge that the brightness B is the starting brightness at position P and using the computed brightness at position P as the final brightness and the transition T is inserted in the displayed chain of transitions. The orphan tranisition 0 is computed in the same manner as described above using the brightness at position P as the starting brightness and the brightness B as the final brightness and this orphan transition is inserted in the displayed chain immediately after the transition T , In the situation of Fig. 9H, the transitions T and T are both leading edge transitions with the deep transition T beginning and ending within the shallow transition T . The transition T goes from osition P to P and the transition T goes from position P to P . For this situation, the transition T is computed in a normal manner for position P to P
2 . 0 3 with brightness changing from B to B and orphan ransitions 0 and 0 are computed from position P to 12~

P and from position P to P . The brightness at position P is computed by determining the brightness of the transition T at this position. The brightness at position P is computedl by mixing the brightness B
with the brightness B in proportion to the amount of the transition T traverse~d at position P . The orphan transitions O and O are then computed in the same manner as described above from the beginning and ending brightness levels and t:he composite transition is provided by inserting the transition T and the orphan transitions O and O in the displayed chain of transitions.
In the overlapping situation of Fig. 9I, the shallow transition T is a leading transition and the deep transition T is a trailing transition which begins and ends in the middle of transition T .

ransition T goes from position P to P and the transition T goes from position P to P . This over-lapping situation is represented in the displayed chain by the transition T computed in the normal manner from rightness B to B , an orphan transition O from position P to P and orphan transition O from position P to P . The brightness at the position P

is determined by the brightness of the transition T at the position P . The brightness at position P is computed by mi~ing the brightness B with the brightness B in proportion to the amount of the transition T traversed at position P . The orphan transitions O and O are then computed accordingly.
In the overlapping situation o~ Fig. 9J, the deep transition T is a leading transition and the shallow transitic,n ~ is a trailing transition with the transition T beginning and ending \~ithin the transition T . The transition T goes from position P

to P and the transition T goes from position P to P . l'his overlapping situation is represented by the transition T going from a brightness B at position P

to a brightness B at pos:ition P superceded by orphan transition O from position P to P and orphan transition O from P to P . The brightness at position P is computed by determining the brightness of the transition T at position P and the brightness at position P is computed by mixing the brightness B

with brightness B in proportion with the amount of the transition T traversed at P . The brightnesses determined for positions P and P are then used to compute the orphan transitions using B as the final brightness for the orphan transition O .
In the si~uation of Fig. 9~, both transitions are trailing transitions with the deep transition T
starting and ending within the transition T . The transition T goes from position P to P and the transition T goes from position P to P . This composite transition is represented in the display chain by the transition T superceded by orphan l~V~OZ~3 transitions 0 from pOSitiOIl P to P and 0 from position P to P . The tran~ition T goes from a brigh~ness B to the brightness B . The brightness at the point P is computed ~y determining the bri~htness of the transition T at the position P and the brightness at the position P is computed by mixing the brightness B with the brightness B in proportion to the amount of the transition T traversed at position P . The orphan transitions are then compu~ed from these computed brightness levels in the same manner as described above using the brightness B as the final brightness for the orphan transition 0 .
Figs. 10A and 10B show a flow chart of the software for computing the transition specifications for a polygon. In the portion of the program shown in Fig. 10A, a transition specification is mapped into the display memory for each point where a horizontal scan line crosses the edge of the polygon and the width and the starting position of each of the transitions is computed and stored in the corresponding transition specification. In addition, the transition specifications are inserted in the universal chain of all transition specifications representing object edges (e~cluding orphan transition specifications) in the display whether such edges are visible or not. The step size and starting and final brightness values are determined in the program portion shown in Fig. 10B and ~20V0~

are determined only for those transitions which are visible.
As indicated above, a polygon is specified by identifying the coordinate positions of the vertices of the polygon. These vertices are numbered in sequence proceeding clockl~ise around the polygon with one vertex being identified as the first vertex and the next counterclockwise vertex being identified as the last vertex, Upon the vertices of the polygon being received or determined by the computer as a polygon to be added to the display, the computer enters into the program illustrated in Figs. 10A and lOB, In the first instruction sequence 150 of the program, the coordinates of the last polygon vertex are set in a register of the processing computer 15 identified as the previous point register. In the ne~t instruction sequence 152, the coordinates of the first polygon verte~ are set in another register of the processing computer 15 identified as the new point register. In the following instruction sequence 154, the computer determines whether or not the edge of the polygon extending between the vertices at the positions represented in the previous point register and the new point register is a leading edge or a trailing edge.
This determination is accomplished by determining whether or not the vertex in the previous point register is above or below the vertex in the new point register. In the next instruction sequence 154, the 02~

position of each transition is calculated for the edge extending between the vertex in the previous point register and the vertex in the new point register and, in addition, the width of the transitions are calculated in accordance with the formula 8/tan 0 in which O is the ~ngle that the scan line makes with the edge. In this instruction sequence, the transition specifications defining the edge between the points represented in the previous point and next point registers are mapped into the display memory and the width information and the position information are stored in the transition specifications along with an indication of whether or not the edge is a leading or trailing edge. In addition, the dep~h of the object for the transition is stored in each of the transition specifications and the color of the object in terms of the three color brightness levels is stored in the transition specification.
In instruction sequence 158, the new transition specifications are inserted in the universal chain of all object edge transition specifications in the display (e~cluding orphans). This is accomplished by updating the universal linked list of addresses;
thst iS1 by finding the previous transition in the raster scan sequence and changing the universal linking address in this previous transition specification to point the transition specification being inserted and ~ 2 ~ ~ ~ Z ~

the universal linking address in the new transition specification to point to the following transition specification in the raster scan sequence. Following instruction sequence 158, the program enters decision instruction se,quence 160. In this instruction seq-lence, the colmputer determines whether the vertex in the new point register is identified as the last polygon verte~. If it is not, then the program proceeds into instruction sequence 161.
In instruction sequence 161, the coordinates in the previous point register are set equal to the coordinates which were in the new point register and the coordinates in the new point register are set to equal the coordinates of the next polygon vertex in the numbered sequence following the one which had been in the new point register. The coordinates in the previous point register and the new point register will then define the next edge proceeding around the polygon. The instruction sequences 154, 156 and 158 are then repeated to compute the transition widths and positions for this next polygon edge. The process continues to iterate through instruction sequences 154, 156 and 15~ until the last edge has been calculated whereupon the verte~ in the new point register will be the last polygon vertex and the program will proceed into Fig. lOB.
In the portion of the program of Fig. lOB, the beginning and final brightness levels of the new transition specifications are determined and the step sizes are calculated, In addition, all of the ~ransition specifications which occur on any affected scan line (thal: is, a scan line on which a new transition has Ibeen added by the process of Fig. lOA) are examined to see if they are visible and, if so, their beginning and final brightness levels are redetermined and their step sizes are recalculated. It will be understood that the calculation routine of Fig.
lOB must be carried out separately for both the condition of blinking objects on and for blinking objects off, but for purposes of simplication, the program is described for only one of these conditions.
In the calculation routine of Fig. lOB, the values in certain registers in the computer are initialized. One of these registers referred to as the depth register is intended to indicate the current visible depth in the display at the transition speciEication currently being calculated. In the initialization of this depth register, the value set therein is the background depth of the display which is the deepest depth in the display behind all of the 8 depths at which an object can be located. In addition, counters are provided, one corresponding to each of the 8 depths at which objects can be located in the display. These counters, which are referred to as activity counters, are each intended to contain a count - 12()~

of zero if no object is displayed at the corresponding depth immediately following the transition which is being calculated or recalculated and contain a count of one if an object is displayed at the corresponding depth. If the operator, or the computer itself, erroneously directs that more than one object be displayed at the same location at the same depth, then the corresponding activity counter will contain a corresponding count of more than one. These activity counters are all set to zero in the initialization sequence 162. In addition, a color register is provided for each of the 8 depths, each color register being associated with the activity counter for that depth. The color registers are intended to contain the brightness leYels of the three colors of any object in the display at that depth. Further, initialization sequence 162 removes any orphan transitions previously created on any affected scan line.
Following the initialization sequence 162, the progra~ proceeùs into instruction sequence 164 wherein the transition specification for the first transition on an affected scan line is obtained. The program then proceeds into decision sequence 166 where the program branches to instruction sequence 168 if the transition specification indicates that it is for a 1eading edge trasition. In instruction sequence 168, the count is incremented in the activity counter corresponding to the depth of the object for the _ ..~
I

120~)0ZI~

transition specification being currently calculated.
In addition, brightness values of the object are set into the color register corresponding to this depth.
Following instruction sequence 168, the program proceeds to the decision sequence 170 in which it is determined whether the object depth of the current transition is less than or equal to the depth in the depth register. If transition is visible, the object depth will be less than or equal to the depth currently in the depth register. If the value in the depth register were greater than the transaction object depth, this would mean that the new transition is hidden behind another displayed object and the program would branch to decision sequence 171. When the transition is visible, the program proceeds into instruction sequence 172 where a value is set into the depth register corresponding to the object depth of the current transition specification being calculated.
After instruction sequence 17~, the program proceeds into a decision sequence 174 wherein it is determined whether or not the transition currently being calculated overlaps another displayed transition.
If it does not, the program proceeds into instruction sequence 176 where the step size and final brightness are determined and inserted into the transition specification. The instruction sequence 174 actually determines whether or not an overlapping situation .; 43 _ 02~

corresponding to any of Figs. 9A-9K exist as there are some overlapping situations (not shown in Figs. 9A-9K) in which the deep transition is not visible and these overlapping situations can be treated the same as adjacent transiti.ons which are not overlapping. If it is determined th~lt the transition is ~'nvol~ed in one o~
the overlapping situations of 9A-9K, then the program proceeds into instruction sequence 178 wherein the step size and brightness values are computed for each of the transitions of the composite transition representing the overlapping situation including any necessary orphan transitions. In this instruction sequence, the orphan transition specifications are mapped into the display memory.
Following completion of instruction sequence 176 or 178, the program proceeds into instruction sequence 180 wherein the calculated transition or transitions are inserted in the displayed chain of transitions by correcting the display linking address of the previous transition specification for the displayed chain of transitions and setting the display linking address in the current transition specification to point to the ne~t transition specification in the displayed sequence.
Following completion of instruction sequence 1~0, the program proceeds into the decision sequence 171. In decision sequence 171, the program determines whether or not the transi~ion specification just 12()q~ 8 calculated was the last transition specification in the affected horizontal scan lines. If the transition speci~ication is not the last transition specification, the program branches to instruction sequence 183 wherein the program gets the next transition specification in the raster scan on the affected scan lines and then proceeds again into decision sequence 166. If decision sequence 166 determines that this next transition specification is another leading edge transition, then the program again branches into instruction sequence 168 and the program repeats as described above. On the other hand, if it is determined that the new transition specification is a trailing edge, then the program branches into instruction sequence 184 wherein the count in the activity counter corresponding to the depth of the object of the transition specification is decremented.
This action should change the count in the activity counter to zero provided not more than one object has been called for to be displayed at this depth and at this location.
Following instruction sequence 184, the program proceeds into decision sequence 186 wherein it is determined whether or not the count in the activily counter for the depth of the object of the current transition specification is zero and also whether or not the depth of the object of the current transition ~L2~

specification is equal to the depth in the depth register. If the activity count is not zero, as it should be, then the system is designed not to display this trailing edge transition and, accordingly, the program will branch to the decision sequence 171.
Similarly, if the object depth of the current transition specification does not equal the depth in the depth register, this means that there is an object at a shallower depth at this location on the scan line and, accordingly, the transition is not a displayed transition. Under these circumstances, the program also branches to decision sequence 171. If the count in the activity counter for the depth of the object of the current transition specification is equal to zero and the depth in the depth register is equal to the depth of the object of the current transition specificaition, then the transition is to be displayed and the program proceeds from decision sequence 186 into instruction sequence 188. In instruction sequence 188, the value in the depth register is set to the depth of any object to be displayed immediately following the current trailing edge transition being calculated and if no object is to be displayed, then the depth register is to represent the background depth of the display. The value to set in the depth register is determined by e~amining the activity counters. If, follo~ing the trailing edge transition, the display goes to the display of a deeper object behind the lZV(~)Z~3 currently displayed object, then the activity counter Eor the depth of the deeper object would have a count of one or greater. If no activity counters have a count of one or greater, then the depth will be that the background of` the display. If two or more activity counters have a count of one or greater, then the value set in the depth register corresponds to the depth of that activity counter which corresponds to the shallowest depth among the activity counters which have co~nts of one or greater. In this manner, the value in the depth register is set to represent the depth of the displayed object beyond the trailing edge transition currently being calculated on a given scan line. The program then proceeds into decision sequence 174 and the step size and brightness are computed in instruction sequences 176 or 178 and inserted in the displayed chain of transitions in instruction sequence 180 in the same manner as described above.
If, in decision sequence 171, it is determined that the transition specification represents the last transition on the affected scan lines, then the transition specification calculations have been completed and the program ends.
The above description has been described for a polygon. The same program will be used to calculate the transition specifications for a straight line by considering the straight line to have a width and thus .

12(3~
conform to a rectangular polygon. The vertices of the polyg~n, which are the corners of the rectangle comprising the line, are calculated by the computer from the specification of the positions or the ends of the line and the width of the line and the program of Fig. lOA and F'ig. lOB then uses these calculated vertices to compute the transition specifications to define the line. The transition specifications for characters are calculated in an analogous manner.
In the system as described above, the width of the transition in br:ightness and colors as the electron beam passes over the edge of an object being displayed is made proportional to the cotangent of the angle that the raster scan line makes with the edge and the change in brightness and color is stepped gradually from the beginning brightness and color before the edge to the final brightness and color after the edge. In addition, the transitions are centered with high percision on the edges ~hich are represented by the transitions. As a result, the system of the present invention generates video signals which approximate the analog signals that would be made by a video camera focusing on the objects being displayed and the staircase distortion caused by aliasing is substantially minimized.
In the above described system, the software operating on the input data and storing the transition specifications calculates and stores values lZ0~1~2~
representing the width of the transition values representing the starting position of the tra~sitions, and values representing the amounts that the intensity is to be increased on each step within the transition.
However, instead of storing all of this data, each transition specification could merely store signals representing the position of the transition, the final brightness, and the angle that the horizontal scan line makes with each edge and the control of the transition ~idth, position, intensity change in response to this stored information could be carried out by the display circuitry.
The preferred embodiment of the present invention has been described as a color display device.
It will be appreciated that the invention, however, is equally applicable to monochromatic displays.
Likewise, line counts other than 525 and horizontal increments different than 4096 could be used.
~ lany other modifications may be made to the above described specific embodiment o~ the invention ~ithout departing from the spirit and scope of the invention, which is defined in the appended claims.

Claims (10)

THE EMBODIMENTS OF THE INVENTION IN WHICH AN EXCLUSIVE
PROPERTY OR PRIVILEGE IS CLAIMED ARE DEFINED AS FOLLOWS:
1. A cathode ray tube display system comprising a cathode ray tube display device provided with a raster scan, encoding means responsive to input signals representing objects to be displayed by said cathode ray tube display device to store transition specifications representing each point on the objects to be displayed where the raster scan of said cathode ray tube display device crosses the edge of an object to be displayed, said transition specifications each containing digital data identifying the position of the point represented by such transition specification on said raster scan and containing digital data varying in accordance with the slope that the edge of the object makes with the raster scan at such point, display creation means responsive to the stored transition specifications to generate a video signal and apply such video signal to said cathode ray tube display device to cause said cathode ray display device to display the objects represented by said input signals, said display creation means causing the video signal to undergo a transition in intensity for each of said transition specifications at the location in said raster corresponding to the location represented in such transition specification, with the width of the transition varying in accordance with the slope that the object edge makes with the raster scan line at the point corresponding to such transition specification.
2. A cathode ray tube display device as recited in claim 1, wherein said data varying in accordance with the slope that the object edge makes with the raster scan line comprises data indicating the width of the transition to be generated by said display creation means in response to such transition specification.
3. A cathode ray tube display device as recited in claim 1, wherein each of said transition specifications identifies the rate that the video intensity is to be increased in the transition and wherein said display creation circuitry means changes the intensity of said video signal in steps with magnitudes and spacings to correspond with the rate identified in the corresponding transition specification.
4. A cathode ray tube display system as recited in claim 3, wherein each of said transition specifications contain digital data representing the final intensity to which the transition specification is being changed and wherein said display creation means changes the intensity of the video signal in each transition to the final intensity as represented in the digital data of the corresponding transition specification at the end of the transition.
5. A cathode ray display system as recited in claim 1, wherein said transition specifications and said display creation means comprise means to cause the transition for each transition specification to start at a location on said raster scan at a position displaced in said raster scan ahead of the point represented by such transition specification by about one-half the width of the transition represented by such transition specification.
6. A cathode ray tube display system as recited in claim 5, wherein each transition specification contains data indicating the starting position of the corresponding transition in said raster scan.
7. A cathode ray tube display system comprising a cathode ray tube display device provided with a raster scan, storage means to store transition specifications representing transitions in video brightness at each point on an object to be displayed where the raster scan of said cathode ray tube display device crosses the edge of the object to be displayed, said transition specifications each containing (1) data identifying the starting position of the corresponding transition in said raster scan, (2) data representing the width of such transition, and (3) data representing the rate of change in brightness in said transition, display creation means to read said transition specifications out in the order that they occur in said raster scan and to generate a video signal in accordance with said transition specifications and to apply said video signal to said cathode ray tube display device to cause said cathode ray display device to display the object represented by said transition specifications, said video display device comprising a register for containing a digital value representing video brightness, digital-to-analog converting means to generate said video signal from the value stored in said register, and means to change the value in said register for each of said transition specifications read out by said display creation means beginning at the starting position identified in such transition specification and changing the value in said register in steps having amplitudes and spacings corresponding to said rate of change in brightness in said transition specification.
8. A cathode ray tube display system as recited in claim 7, wherein each of said transition specifications contain data representing the final value for the video brightness at the end of said transition and wherein said means to change the value in said register changes the value in said register for each transition specification read out by said display creation means to the final brightness value indicated by the data in the corresponding transition specification.
9. A method of displaying a plurality of objects in a cathode ray tube display device having a raster scan comprising (1) changing the displayed brightness on the cathode ray tube display device in transitions of brightness at each point in the raster scan where the raster scan crosses the edge of an object to be displayed, with the transitions each having a width corresponding to the slope that the raster scan line makes with the edge at the transition in those instances in the display wherein such transitions representing adjacent or coextensive edges of different objects do not overlap, and (2) in those instances wherein transitions having widths varying in accordance with the slope of the corresponding edges would overlap, changing the brightness of the display in a composite transition to represent both such edges with the brightness being changed at one rate during part of the composite transition and being changed at a different rate in another part of said transition.
10. A cathode ray tube display system comprising a cathode ray tube display device provided with a raster scan, encoding means responsive to input signals representing objects to be displayed by said cathode ray tube display device to store transition specifications representing each point on the objects to be displayed where the raster scan of said cathode ray tube display device crosses the edge of an object to be displayed, said objects to be displayed including one or more blinking objects, said transition specifications including a first set of transition specifications representing those edge points which are visible when the blinking objects are on and a second set of transition specifications representing those edge points which are visible when the blinking objects are off, the blinking objects obscuring object portions in the display which are not visible when the blinking objects are on and which are visible when the blinking objects are off, display creation means responsive to the stored transition specifications to generate a video signal and apply such video signal to the cathode ray tube display device to cause said cathode ray tube display device to display the objects represented by the first set of transition specifications during spaced time intervals and at alternate time intervals displaying the objects represented by said second set of transition specifications whereby the object portions obscured by the blinking objects are not visible when the blinking objects are on and are visible when the blinking objects are off.
CA000421011A 1982-02-19 1983-02-07 Cathode ray tube display system with minimized distortion from aliasing Expired CA1200028A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US350,195 1982-02-19
US06/350,195 US4482893A (en) 1982-02-19 1982-02-19 Cathode ray tube display system with minimized distortion from aliasing

Publications (1)

Publication Number Publication Date
CA1200028A true CA1200028A (en) 1986-01-28

Family

ID=23375614

Family Applications (1)

Application Number Title Priority Date Filing Date
CA000421011A Expired CA1200028A (en) 1982-02-19 1983-02-07 Cathode ray tube display system with minimized distortion from aliasing

Country Status (5)

Country Link
US (1) US4482893A (en)
EP (1) EP0103007A4 (en)
JP (1) JPS58153994A (en)
CA (1) CA1200028A (en)
WO (1) WO1983003020A1 (en)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4593278A (en) * 1982-09-28 1986-06-03 Burroughs Corp. Real time graphic processor
US4586037A (en) * 1983-03-07 1986-04-29 Tektronix, Inc. Raster display smooth line generation
GB8330869D0 (en) * 1983-11-18 1983-12-29 Centurfax Ltd Page make-up system
US4591897A (en) * 1984-03-08 1986-05-27 Edelson Steven D System for generating a display of graphic objects over a video camera picture
US4679040A (en) * 1984-04-30 1987-07-07 The Singer Company Computer-generated image system to display translucent features with anti-aliasing
US4704605A (en) * 1984-12-17 1987-11-03 Edelson Steven D Method and apparatus for providing anti-aliased edges in pixel-mapped computer graphics
US4677571A (en) * 1985-02-08 1987-06-30 Rise Technology Inc. Electronic publishing
US4780711A (en) * 1985-04-12 1988-10-25 International Business Machines Corporation Anti-aliasing of raster images using assumed boundary lines
US4720705A (en) * 1985-09-13 1988-01-19 International Business Machines Corporation Virtual resolution displays
US4808984A (en) * 1986-05-05 1989-02-28 Sony Corporation Gamma corrected anti-aliased graphic display apparatus
US4816813A (en) * 1986-09-19 1989-03-28 Nicolet Instrument Corporation Raster scan emulation of conventional analog CRT displays
US5258750A (en) * 1989-09-21 1993-11-02 New Media Graphics Corporation Color synchronizer and windowing system for use in a video/graphics system
EP0419126A3 (en) * 1989-09-22 1992-03-18 Ampex Corporation System for generating anti-aliased video signal
US5041848A (en) * 1989-11-13 1991-08-20 Gilbert John M Non-gary scale anti-aliasing method for laser printers
US5122884A (en) * 1989-11-13 1992-06-16 Lasermaster Corporation Line rasterization technique for a non-gray scale anti-aliasing method for laser printers
US5065144A (en) * 1990-04-17 1991-11-12 Analog Devices, Inc. Apparatus for mix-run encoding of image data
US8073695B1 (en) 1992-12-09 2011-12-06 Adrea, LLC Electronic book with voice emulation features
US9053640B1 (en) 1993-12-02 2015-06-09 Adrea, LLC Interactive electronic book
US5808691A (en) * 1995-12-12 1998-09-15 Cirrus Logic, Inc. Digital carrier synthesis synchronized to a reference signal that is asynchronous with respect to a digital sampling clock
US5801710A (en) * 1996-08-19 1998-09-01 Eastman Kodak Company Computer program product for defining a soft edge in a digital mask
US6844880B1 (en) * 1999-12-06 2005-01-18 Nvidia Corporation System, method and computer program product for an improved programmable vertex processing model with instruction set
US7456838B1 (en) 2001-06-08 2008-11-25 Nvidia Corporation System and method for converting a vertex program to a binary format capable of being executed by a hardware graphics pipeline

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4119956A (en) * 1975-06-30 1978-10-10 Redifon Flight Simulation Limited Raster-scan display apparatus for computer-generated images
US4205389A (en) * 1976-09-24 1980-05-27 General Electric Company Apparatus for generating a raster image from line segments
GB1586169A (en) * 1976-11-15 1981-03-18 Elliott Brothers London Ltd Display apparatus
US4212009A (en) * 1977-11-16 1980-07-08 Hewlett-Packard Company Smoothing a raster display
US4262290A (en) * 1978-05-12 1981-04-14 Smiths Industries Limited Display systems
JPS54161839A (en) * 1978-06-13 1979-12-21 Sony Corp Picture generating device
US4208719A (en) * 1978-08-10 1980-06-17 The Singer Company Edge smoothing for real-time simulation of a polygon face object system as viewed by a moving observer
NL7901119A (en) * 1979-02-13 1980-08-15 Philips Nv IMAGE DISPLAY FOR DISPLAYING A TWO-INTERLINE TELEVISION IMAGE OF A TWO-VALUE SIGNAL GENERATED BY AN IMAGE SIGNAL GENERATOR.
DE2939489A1 (en) * 1979-09-28 1981-05-14 Siemens Ag SYSTEM FOR LOCALIZING AREAS WITH MIXED TEXT / IMAGE EDITING ON THE SCREEN
US4317114A (en) * 1980-05-12 1982-02-23 Cromemco Inc. Composite display device for combining image data and method
US4384286A (en) * 1980-08-29 1983-05-17 General Signal Corp. High speed graphics
US4370646A (en) * 1980-11-03 1983-01-25 General Electric Company Method and means for controlling electron beam in a raster scan monitor
US4396988A (en) * 1980-12-31 1983-08-02 International Business Machines Corporation Method and apparatus for automatically determining the X-Y intersection of two curves in a raster type display system including a buffer refresh memory
US4364037A (en) * 1981-06-15 1982-12-14 Cromemco Inc. Transition data image processor

Also Published As

Publication number Publication date
US4482893A (en) 1984-11-13
JPS58153994A (en) 1983-09-13
EP0103007A1 (en) 1984-03-21
WO1983003020A1 (en) 1983-09-01
JPH0444278B2 (en) 1992-07-21
EP0103007A4 (en) 1987-07-22

Similar Documents

Publication Publication Date Title
CA1200028A (en) Cathode ray tube display system with minimized distortion from aliasing
EP0098868B1 (en) Apparatus for controling a color display
US5164717A (en) Method and apparatus for the dithering of antialiased vectors
US7161634B2 (en) Encoding system for error diffusion dithering
US4591897A (en) System for generating a display of graphic objects over a video camera picture
US4225861A (en) Method and means for texture display in raster scanned color graphic
US5479590A (en) Anti-aliasing method for polynomial curves using integer arithmetics
AU611466B2 (en) System and method for color image enhancement
US5488687A (en) Dual resolution output system for image generators
US5420966A (en) Method and apparatus for filling an object based rasterized image
US5404427A (en) Video signal processing with added probabilistic dither
US6304300B1 (en) Floating point gamma correction method and system
JPH04246690A (en) Method of displaying image having high quality by normal resolution
IE76718B1 (en) System and method for color image enhancement
EP0639920A1 (en) System and method for rendering a color image
US5859645A (en) Method for point sampling in computer graphics systems
EP0270259A2 (en) Improvements relating to video signal processing systems
Sloan Jr et al. Color map techniques
CA2102032C (en) Digital color video image enhancement for a dither circuit
EP0346090B1 (en) Graphic dot flare apparatus
US6268860B1 (en) Imaging method and apparatus for executing the method
EP0206518A3 (en) Vertical raster scan controller
CA2021830A1 (en) Display system
KR20010089257A (en) Improved s-buffer anti-aliasing method
JPS58187997A (en) Pseudostereo display unit

Legal Events

Date Code Title Description
MKEX Expiry