CA2335889A1 - Method of and system for detecting and rendering of graphic elements - Google Patents

Method of and system for detecting and rendering of graphic elements Download PDF

Info

Publication number
CA2335889A1
CA2335889A1 CA002335889A CA2335889A CA2335889A1 CA 2335889 A1 CA2335889 A1 CA 2335889A1 CA 002335889 A CA002335889 A CA 002335889A CA 2335889 A CA2335889 A CA 2335889A CA 2335889 A1 CA2335889 A1 CA 2335889A1
Authority
CA
Canada
Prior art keywords
display
graphics
graphic objects
vector
detecting
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.)
Abandoned
Application number
CA002335889A
Other languages
French (fr)
Inventor
Kent Douglas Riley
Anthony Edward Sabatino
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.)
Honeywell International Inc
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
Publication of CA2335889A1 publication Critical patent/CA2335889A1/en
Abandoned 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
    • G09G1/00Control arrangements or circuits, of interest only in connection with cathode-ray tube indicators; General aspects or details, e.g. selection emphasis on particular characters, dashed line or dotted line generation; Preprocessing of data
    • G09G1/06Control arrangements or circuits, of interest only in connection with cathode-ray tube indicators; General aspects or details, e.g. selection emphasis on particular characters, dashed line or dotted line generation; Preprocessing of data using single beam tubes, e.g. three-dimensional or perspective representation, rotation or translation of display pattern, hidden lines, shadows
    • G09G1/14Control arrangements or circuits, of interest only in connection with cathode-ray tube indicators; General aspects or details, e.g. selection emphasis on particular characters, dashed line or dotted line generation; Preprocessing of data using single beam tubes, e.g. three-dimensional or perspective representation, rotation or translation of display pattern, hidden lines, shadows the beam tracing a pattern independent of the information to be displayed, this latter determining the parts of the pattern rendered respectively visible and invisible
    • G09G1/16Control arrangements or circuits, of interest only in connection with cathode-ray tube indicators; General aspects or details, e.g. selection emphasis on particular characters, dashed line or dotted line generation; Preprocessing of data using single beam tubes, e.g. three-dimensional or perspective representation, rotation or translation of display pattern, hidden lines, shadows the beam tracing a pattern independent of the information to be displayed, this latter determining the parts of the pattern rendered respectively visible and invisible the pattern of rectangular co-ordinates extending over the whole area of the screen, i.e. television type raster
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G1/00Control arrangements or circuits, of interest only in connection with cathode-ray tube indicators; General aspects or details, e.g. selection emphasis on particular characters, dashed line or dotted line generation; Preprocessing of data
    • G09G1/06Control arrangements or circuits, of interest only in connection with cathode-ray tube indicators; General aspects or details, e.g. selection emphasis on particular characters, dashed line or dotted line generation; Preprocessing of data using single beam tubes, e.g. three-dimensional or perspective representation, rotation or translation of display pattern, hidden lines, shadows
    • G09G1/07Control arrangements or circuits, of interest only in connection with cathode-ray tube indicators; General aspects or details, e.g. selection emphasis on particular characters, dashed line or dotted line generation; Preprocessing of data using single beam tubes, e.g. three-dimensional or perspective representation, rotation or translation of display pattern, hidden lines, shadows with combined raster scan and calligraphic display
    • 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/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • G09G5/393Arrangements for updating the contents of the bit-mapped memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Image Generation (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

A method and system for a rendering engine architecture wherein graphics or other objects are detected and rendered for display to a user independent of the source of the graphics to be rendered is presented. Stroke vectors are detected and rendered as raster graphics symbology for use in, for example, monochrome or color flat panel display devices. In one embodiment, analog stroke video analog to digital conversion is performed by over-sampling stro ke deflection and video signals relative to writing rate and display pixel resolution. Digitized stroke data is processed to create a display list of simple vectors. Rendering of graphics symbology with anti-aliasing is performed by graphics rendering of simple vectors with true anti-aliasing. F or hybrid stroke/raster formats, raster video analog to digital conversion is performed by oversampling relative to input resolution and display pixel resolution. Graphics symbology and raster video are merged through digital summation with symbology precedence. The overall effect is that maximum quality of symbology with background video is realized using the fullest capabilities of a high resolution color flat panel display. Analog stroke symbology inputs can be converted to high-quality, anti-aliased symbology wi th raster video on a color flat panel display.

Description

vuLVCH~~~~ o, : is- s- o : is:3s : sos s~s sso:~-~ +4s 83 : US 009914874 19-05-2000' __ . _. _ __ ___ ____ ___ .__..___ ___ REPLACEMENT PAGES

METHOD OF AND SYSTEM FOR GRAPHICS DETECTION AND RENDERING
I. BACKGROUND OF THE INVENTION
The present invention relates generally to the field of a rendering engine architecture for computer graphic displays and displays information processing technology. More specifically, the present invention relates generally to a method of and system for a rendering engine architecture wherein graphics or other objects are detected and rendered for display to a user independent of the source of the graphics to be rendered.
The two most common forms of display systems are stroke display systems and raster display systems. Stroke display systems include stroke deflection processors and Cathode Ray Tube (CRT stroke-type displays. Stroke display systems are capable of high-quality symbology with inherent anti-aliasing, due to the ability to position the electron beam in very fine increments and the Gaussian distribution of electrons within the electron beam. However, stroke display systems are now virtually obsolete and are plagued with problems. For example, CRT stmke-type displays experience high failure rates, high costs, low supply, and diminishing number of suppliers.
Raster display systems include raster image processors and raster type CRT or flat panel displays. Raster display images are typically more quantized than those of stroke images, either in terms of the number of horizontal lines in the image, or in the case of mosaic displays such as LCDs, the pixel resolution. Raster display images often require special processing techniques, such as anti-aliasing, to approach the symbol quality level available in legacy stroke systems. Raster mode flat AMENDED SHEET

--mr.:ynrrv' v~ : 1~- u- U : I8:;39 : 505 $Z3 Ei8Q3.-~ +45 8~J
19-05-2000 - '- ~ "" ' -' ' ' "' ' ' ' U S 009914874 1-'!
panel displays exhibit lower failure rates, lower costs, are readily available and represent the state of the art.
Flat panel displays can not directly replace CRT stroke-type displays in a stroke display system, however, because they require a raster image source. This suggests that when a CRT stroke-type display is replaced with a state of the art flat panel display, the corresponding stroke deflection processor must also be replaced.
Therefore, a method of and system for replacing stroke~type display with a flat panel display is desired which does not require the oorrespondirtg stroke deflection processor to be replaced.
lU Eliminating the need AMENDED SHEET
_~.~.~ ~.'..._~_ ''llI?NCIiEV 05 : lg- 5- 0 : 7 8 : 3~J : 505 8?8 6803 +4y 8g 1~9-05-2000 -- ~ -' ' " '-~ "" '-' '--' '--- '- ' US 009914874 _2_ to replace a stroke deflection processor reduces the costs and risks associated with a stroke-Type display replacement.
The translation of infomnation from its input domain to the graphics domain is necessarily destructive in a system that provides only graphics as output.
Graphics are rendered with tile intent of satisfying a specific set of display requirements. When display requirements change but the rendering method cannot change far the input graphics, one is forced to compromise graphics quality with conventional systems_ For example, a bit map image can include graphics that have been rendered for a specific display resolution and size. When the bit map image is to be rendered on a display having a different resolution and size than the original display, the bit map is converted using bilinear interpolation under conventional methods. The process can also involve converting stroke information to a bit map image (e.g., by sampling deflection, intensity, color, etc.) and then processing the image with software.
Information is distorted as well as lost during this process, yielding a bit map which indeed can be rendered on the new display (e.g., flat panel displays) but with lower quality than if the bit map had been rendered directly for the new display.
Further, the conversion process does not handle overlapping symbols and is not pacforrned in real-time.
For a hybrid strokeiraster display system, which are wail known in the art, using a flat panel display, a conventional method includes over-sampling stroke deflection, color and intensity informartion from a stroke deflection processor in order to create a stroke symbology bit map with. valor and intensriy 'for each pixel, then processing the stroke symbology bit map and merging the processed stroke symbology bit map with digitized raster video from a raster image processor_ The merged AMENDED SHEET

' ''UEIVC:~1EN 05 :19- 5- 0 : 18=40 : 505 828 6803-; +49 89 c 1.9-05-2000 - ' -- ! ' ' -" ' ' " "' ' ~ ~ ' " -- ' -' U S 009914874 strokelraster images are then provided to a flat panel display. Stroke symbology bit map processing can include anti-aiiasing, edge detection, image smoothing, and contrast enhancement. The possibility of errors increases with this method for longer vectors and larger symbols, when vectors and symbology intersect, when symbology of differing color are in Gose proximity, and where symbofogy is comprised of small features of complex shapes or arcs. The net effect of conventional methods is to generally blur stroke symbology, thus creating wider than necessary symbology with less AMENDED SHEET
_r..-_~..-.~...,.~.,..___.._~_._..-.~_~~_._______ __.

w4JtlVC.ttCIV t!~ : t~- S- a : I8:40 : 505 828 68t)3-~ +49 8~
19-05-2000 -_. __ _ __ ___ ____ ___ ._.. .___ ___ US 009914874 _3., accuracy than desired. This becomes a problem especially for small symbols, for symbols which must be rendered accurately, and where symbology elements intersect or overlap.
F1G. t , which represents stroke symbology image digitized into a bit map before image processing, illustrates why this is a problem for some conventional approaches.
The image-processing component in conventsonal approaches must process this bit map without the benefit of information lost when symbols interseck or overlap. The reference numeral 2 represents the two green lines connecting two small circles; the reference numeral 4 represents a red circle in the upper left comer of the figure; and the reference numeral fi represents a blue line (extending from the upper left comer to the lower right comer)_ When conventional processing methods are applied for intersecting lines, the intersection appears on a display to include a dot with diameter larger than the width of either line. Small circles may also appear as dots when processed using conventional methods. Thus symbology becomes ambiguous. V'dhen conventional processing methods are applied where symboiogy of differing colors are in close proximity, a third and false color is perceived on a display, creating still more ambiguity.
Further, where symbology of differing colors overlap, only one of the symbols is perceived on a display, effecting a loss of information from the other symbol.
Another example involves a method where vector graphics are rendered into a bit map image intended for a flat panel display. When viewed on the display, the graphics contain artifiacts such as aliasing (for example, stair stepping of lines drawn at angles other than 0 degrees or 90 degrees}. Conventional systems indude methods for post-processing the bit map image using techniques which detect lines and edges, then alter the bit map by blurring the detected lines and edges. When viewed on a flat panel AMENDED SHEET

-'mc!~ri.ncm vo : 1 ~- b- U : lti ~ øU : 505 8'?8 tif303~ +ø9 $9 ' 19-05-2000 -_ . __ _ . _ __ _ _ _ __ _ ~ .__. . ___ _ __ ' US 009914874 display, the effects of abasing appear diminished, but at the expense of graphics resolution and quality.
For the specific embodiment of stroke to raster conversion, the overall function of the invention is similar to that represented by WO 98 15941 A (Kaiser Aerospace 8~
Electronics) 16 April 1998 (1998-U4-16) Stroke-To-Raster Display Conversion.
{hen:after "15941 °). Differences between the invention 15941 include the following:
1. the invention is mere broad in its application; 15941 is specifically designed for stroke to raster conversion;
2. the invention uses methods different from those of 15941;
a) the invention creates a primitive display list from vectors detected in the sampled stroke input; 15941 creates a "hit map" based on the number of samples within a given display location {pixel);
b) the invention re-renders graphics from the primitive display list; 15941 moves a I5 best fit "pixel template pattem° into a raster frame buffer based on the "hit map;" because the invention re-renders from a pt7mitive display list, the output image quality can be enhanced for the target display using functions like anti-aliasing, alpha blending, haloing, interpolation, merging, etc.
Another prior art device is discussed in US-A-5 748 947 (Fukushima Tokutaro) 5 May 1998 {1998-05-05) (hereafter '947 patent). The '947 patent is a device that has its printer buffer filled (image memory) from a host computer or a scanner (hit rnap j. The '947 patent dues not teach detecting graphic objects. Instead in '947 a host computer provides a display list of sectors that is generated and creates a bitmap for an image.
~5 III. BRIEF= SUMMARY bF THE INVENTi~N
AMENDED SHEET

"I~~TJCIiE~ U5 : JH- 5- U : 18:47 X45 8'?8 Ei$U3-~ +,4,:3 8~J
19-05-2000 - . __ _ __ ___ _ ___ ___ .__. .___ .._. = US 009914874 The following summary of the invention is provided to facilitate an undersfianding of some of the innovative components unique to the present invention, and is not ntended to be a full description. A full appreciation of the AMENDED SHEET
.._ ..._ _......_.... .. __....._~.H._.._.~r~..~..._..

''LGIVCII~.J U5 :19- 5- 0 : 18:1 : 5U5 828 680:3-~ +49 89 ' 1.9-05-2000 -. . __ _ _ _ _ _ _ _ _ _ _ _ _. . __ . . _ _ _ _ _ _ ' U S

various aspects of the invention can be gained by taking the entire specficafion, claims, drawings, and abstract as a whole.
in accordance with the present invention, there is provided a method for detecting graphic objects (e.g.. vectors, arcs, circles, dots, polygons, three dimensiorsal shapes) that have been created for a first display (e.g., stroke-type display), the graphic objects representing an image, and re-rendering the graphic objects in a form adapted for a different display (e.g., raster-type flat panel display). The method includes the steps of:
receiving formatted graphics from a source (e.g., video) that have been formatted for the first display; detecting a plurality of graphic objects within the formatted graphics;
creating a display list of graphic objects that represents the original image, which contains information in a predetermined, prioritized manner {e.g. order of precedence for rendering overlapping graphic objects; order of priority for rendering graphic objects);
and re-formatting or re-rendering the pfuraf~ty of graphic objectgraphic objects for the different tyae of display. The re-rendered graphic objectgraphic objects are then stored for later use or displayed on the different type of display. The objects within the display fist an: then manipulated by anti-aliasing in order to smooth lines, texturing to enhance the appearance of graphic objectgraphic objects, alpha blending to combine graphic objectgraphic objects and maintain correct color perception, haloing to increase contrast between graphic objectgraphic objects and the background scene, interpolation for scaling and smoothing graphic objects, fogging to provide the perception of depth, fills in order to color graphic objects, merging with other graphics information and sources, and other functions. The step of detecting graphic objects includes the step of detecting the start point, end point, length, direction, color, intensity, width, type (dashed, solid) and AMENDED SHEET

''I:ENCHEN 05 : 1~3- S- 0 : 18:41 : 505 828 68U3~ +49 89 ~ US 009914874 19-05-2000 -_. __ _ _. ___ ____ ___.__. .___ ___ draw rate of vectors; detecting the center paint, radius, color, intensity, shading, fogging, and texture of circlES; detecting the vertices, color, intensity, shading, fogging, and texture of a polygons or three dimensional shapes: detecting the color, intensity, shading, fogging, and texture of the background.
In accordance with another aspect of the present invention, there is provided an apparatus far detecting graphic objects that have been created fir a first display, the graphic objects representing an image, and re-rendering the graphic objects in a form adapted for a different display. The apparatus includes means for receiving formatted graphics from a source, the formatted graphics having been formatted for the first display; detecting means, in communication with said receiving means, for detecting a plurality of graphic objects within the formatted graphics; generation means, in communication with said detecting means, for creating a display list of graphic objects from the plurality of graphic objects that represents the image based on the formatted 1~ graphics;
AMENDED SHEET

''I~ENCH6'~i OS :1J- 5- 0 : 18:42 : SC~a 828 F.803-~ +49 Ei9 1.9-05-2000 -. . __ _ __ _ ___ ____ ___ .__. .___ ___ ' US 009914874 -5.
and re-rendering means, in communica#ion with said generation means, for re-rendering the plurafrty of graphic objects formatted for the different display. The apparatus further includes means to digitize the graphic objects.
in an alternate embodiment, the present invention also combines the re-rendered graphic objects with other information including imagery. video, or graphics from another source in order to provide a more comprehensive display format to view.
The novel components of the present invention will become apparent to those of skill in the art upon examination of the following detailed description of the invention or ifl can be learned by practice of the present invention.
IV. BRIEF DESCR1PTI~N OF THE DRAWINGS
The accompanying figures, in which like reference numerals refer to identical or functionally-similar eternents throughout the separate views and which are incorporated in and farm part of the specification, further illustrate the present invention and, together with the detailed description of the invention, serve to explain the principles of the present invention.
FIG. 1 (prior art) is a bit map illustrating colors, small circles, intersections, and pverfap.
>0 FIG. 2 is a block diagram illustration of an embodiment 10 of the overall system components in accordance with the present invention.
FIG. 3 is a block diagram illustration of the Graphics Detection Processor 2t)Q in accordance with the present invention.
FIG. 4 is a block diagram illustration of the Encode Processor 3~0 in accordance with the present invention.
AMENDED SHEET

-~urwc.fir~v u5 :1:~- 5- U : 18:42 : 505 828 Ei803-> +4.9 89 ' 19-05-2000 -_. __ _ __ __. ____ ___ .__. . ___ _ __ - US 009914874 FiG. 5 is a block diagram illustration of the Graphics Rendering Processor 400 in accordance with the present invention.
AMENDED SHEET
FIG. 6 is a block diagram illustration of the Display 600 in accordance with the present invention.
FIG. 7 is a block diagram illustration of an alternate embodiment 800 of the information detection and regeneration process in accordance with the present invention.
FIG. 8 is a block diagram illustration of a more specific implementation 20 of the alternate embodiment 800 of the overall system components in accordance with the present invention.
FIG. 9 is a block diagram illustration of the Graphics Rendering Processor 1000 in accordance with the alternate embodiment 20 of the present invention.
FIG. 10 is a block diagram illustration of the Display Formatter 1100 in accordance with the alternate embodiment 20 of the present invention.
FIG. 11 is a diagram illustration of the Merge Processor 500. in accordance with the alternate embodiment 20 of the present invention.
FIG. 12 is a block diagram illustration of an implementation of the alternate embodiment 20 of the present invention to solve the problem of displaying high-quality, anti-aliased color stroke symbology along with high-quality color raster video on a color flat panel display FIG. 13 is a block diagram illustration of the stroke vector detection function of the alternate embodiment of the present invention.
FIG. 14 is a block diagram illustration of the stroke vector rendering function of the alternate embodiment of the present invention.
FIG. 15 is a block diagram illustration of the raster formatter function of the alternate embodiment of the present invention.
IV. DETAILED DESCRIPTION OF THE INVENTION
In order to facilitate an understanding of the present invention, a brief discussion is provided wherein a conventional implementation to stroke to raster conversion is compared with an embodiment of the present invention.
The approaches between a conventional implementation and that of the present invention vary considerably. The functions necessary for converting analog stroke symbology inputs to high quality, anti-aliased symbology with .~~.1~~.K:HE'J U5 :19- 5- U : 18:42 : 5U5 8'?8 68U3-~ +q.9 88 2 9-05-2000 -_. __ _ __ ___ ____ ___ .._. .___ ___ US 009914874 _7_ raster video on a color flat panel display are presented with the manner in which implemented conventionally versus the present invention.
Stroke deflections and video are digitized through aver-sampling. Instead of creating a bit map as in conventional approaches, the present invention detects start and end points far individual vectors within specific symbols, along with their color and intensity. Individual vectors are distinguished tf~rough a change in direction, a change in color, a change in intensity, a change in draw rate, or by the assertion or de-assertion of the symboiogy blanking signal. This effectively creates a facsimile of the vector display list used by the original stroke deflection processor. Once the facsimile of the original display list is created, stroke symbology can be re.-rendered without the errors experienced in conventional approaches. This is because the vectors from the display list are then rendered by graphics rendering components using state-of the-art algorithms for anti-aliasing, alpha blending, and other graphics rendering functions chosen to enhance the output image quality for the target display. These graphics rendering components are the same as those used on graphics cards for personal computers and workstations, and implement algorithms well understood by those skilled in the art. The process of dynamically shutting off and then turning on a stroke vector is called occlusion. Occlusion is typically accomplished for a stroke display system by 10 setting the stroke video signal for zero beam intens'~ty while the deflection is in the occlusion area. For the present invention, acdusion areas are precisely maintained as a result of re-rendering only those vectors present simultaneously with stroke video. The smallest symbols as well as intersections and arcs are accurately rendered with the highest possible quality. Once the stroke syrnbology has been re-rendered in raster form, it can be merged with digitized raster video.
AMENDED SHEET

w~mvmnv u~ : t~- 5- U : 18:43 : 505 8'?8 68U3-~ +49 89 19-05-2000 --. __ _ __ ___ ____ __. .__..___ __ US 009914874 Both conventional approaches and the present invention over sample the stroke video inputs for analog to digital conversion. Both conventional approaches and the present invention perform a merge of stroke symboiogy with digitized raster video in similar manners. However, conventions! approaches have the problem of performing bit map or image processing in the presence of arcs and intersections of varying colors to a degree which tyQically has been pertormed in non-real time systems or in systems with parallel digital signal processing components.

AMENDED SHEET

""' ' ~UEVCHEN -05 _ - _ : 19- 5-_ 0 : 18 : 43 : __ , _- , . -- 5U5- 828 6803 +49 89 ~ U S 009914874 1 ~ 05=2000 ---8_ The present invention shifts the problem from that of processing bit maps in real time (see discussion above with respect tv FIG. 1 ) to one of detecting the beginning and end of individual vectors, which can be pertomled in real time. The present invention removes the effects of lost and distorted stroke symboiogy information, and re-renders the stroke symbols in a manner optimized (e.g. re-render stroke symbols and other graphic objects with anti-aliasing, texturing, alpha blending, haloing, interpolation, fogging, shading, fills, and other rendering techniques) fior a high resolution, color flat panel display. Unlike conventional approaches, which must process a bit map, the present invention processes a display list of individual vectors. The display list represents each and every vector rendered for the stroke symbology with no Toss of information.
Conventionally, analog stroke video AlD is pertormed by oversampling relative to write rate and display pixel resolution. Digitized stroke video data processing is performed by first creating a bit map. Rendering of syrnboiogy with anti-aiiasing is pertormed by post processing the bit map using edge detection, image smoothing, contrast enhancement, nearest neighbor analysis (pseudo anti-aliasing) end other graphics and image processing techniques well understood by those skilled in the art.
The analog raster video AID is performed by oversampling relative to the input resolution and display pixel resolution. The stroke symbology and raster video are merged through digital summation with symbology precedence or priority. The end-to-end effect of this conventional approach is that the quality of the symbology is compromised while not fully realizing the capabilities of a high-resolution color, flat panel display.
By comparison, in one embodiment of the present invention described herein, analog stroke deflection and video AID is performed by over-sampling relative to write AMENDED SHEET

"UENCHEN 05 :19- 5- O : 18-44 : 5U5 828 6803-~ +49 89 2 19-05-2000 -_. __ _ __ ___ ____ __ .__. .___ ___ US 009914874 rate and display pixel resolution. Digitized stroke video data processing is performed by creating a display list. Rendering of symbology with anti-aliasing and alpha blending is performed by graphics rendering of simple vectors (true anti-aliasing) with sub-pixel positioning, using algorithms using anti-atiasing and alpha blending algorithms wel!
known and understood by these skitied in the art_ Anti-abasing algorithms have the capability to modulate pixels along and around a vector in a manner that makes the line appear straight and smooth when viewed on a dispiay. This is particularly important for flat panel displays which would otherwise present a vector as a stair-stepped tine. A~pha blending enables overlapping vectors to AMENDED SHEET

"UENCHEN 05 : 19- 5- 0 : 18 = 44 : 505 828 Ei803--~ +49 89 1~9-05-2000 -_. __ _ __ _-_ ____ ___ ._..___ ___ ' US 009914874 _g_ be rendered in a manner which ensures that the highest prioe'ity vector is not obscured by lower priority vectors. Alpha blending algorithms modify pixel colors along and around vectors in order to ensure that vectors of differing colors that ace rendered in close proximity or in an overlapping manner do not present a third (false) colar when viewed.
The analag raster video AID is perFom~ed by oversarnpling relative to input resolution and display pixel resolution. The stroke symbology and raster video are merged through digital summation with symbology precedence. The end-to-end effect of this approach of the present invention is that maximum quality of symboiogy is realized using fullest capabilities of a high-resolution, color flat panel display. Althaugh. the following discussion refers to stroke and raster displays, the methodology can be used in other displays such as hydrographic displays and virtual displays.
Having described the basic operation of an embodiment of the present invention, attention is now turned to FiG. 2 where there is shown an embodiment 10 of the present invention represented by its major components. Each component (200 through 600) is further described herein. For the present invention, graphic objects includes all information that is present in a graphics display system. The present invention enables one to render graphics for display purposes in an optimal manner without regard for the source of the graphics to be rendered. In particular, graphics already rendered in a manner that may not be the desired method can be re-rendered using the desired method. the present invention can convert analog stroke symbolagy inputs to high-quality, anti-aliased symbology with background raster video, for example, display on a color flat panel display.
The particular values and configura~ons discussed herein can be varied and are 15 cited merely to illustrate particular embodiments of the present invention and are not AMENDED SHEET

--ucrm.ncm V:~ : j ~- ;v- V : lti:44 : 5U5 8?8 68U3-~ +48 89 2-19-05-2000 -_. __ _ ._ ___ ____ ___.__..___ ___ US 009914874 intended to limit the scope of the invention. In the following discussion of this embodiment, it is desirable to process analog color video that has been rendered as stroke (vector) video signals for a vector-type display in order to render the video in an ~ optimized manner on a raster, color flat panel display. A restriction exists in such a system wherein the source of the stroke (vector) video cannot be altered.
Although the fiollowing description has been provided with a stroke to raster graphics rendering, it will be apparent to those skilled in the art that the present invention has other applications, including, without lirnitativn, image enhancement, video scene analysis, AMENDED SHEET
..........._.,M...__~.~..~._..~.._ _.~___ ~...___ "UENCFiEN OS :19- 5- 0 : 18:45 : 505 8'?8 6'803-~ +49 89 2 19-05-2000 -" -- - -' --- --" '-' ~--' ' --- ~" US 009914874 character recognition, target recognition, and other forms of information translation and analysis.
Referring again to F1G. 2, the Graphics Detection Processor 200 detects the individual vectars rendered by the original source, such as stroke (vector) video input for each video frame. To accomplish this, the Graphics betectian Processor 200 first digitizes the horizontal deflection (x display position) and vertical deflection (y display position} signals, color signals, intens'~ty signals, symbology blanking signal and other signals from the stroke (vector) video using analog to digital converters (AID) to form a digital sample of a vector in a manner well known to those skilled in the art.
Then the direction of a vector, ((x2-x,), (Ya~Y~). where x, is a first sample of horizontal deflection in a sequence, x2 is a second sample of horizontal deflecfion in a sequence, y~ is a first sample of vertical deflection in a sequence, y2 is a second sample of vertical deflection in a sequence, etc.}, or change in vector direction, is determined by comparing the digitized horizontal and vertical deflection signals in a digital sample of a vector to the digitized horizontal and vertical deflection signals in the previous digital sample of a vector. The start and end points of a vector are defiermined from changes in vector direction, from changes in color, from changes in intensity, from changes in draw rate (distance between two digital samples of a vector divided by the sample period), or from changes in otter digitized signals in a digital sample of a vector. Also, the present invention determines whether a plurality of small samples combine result in one large vector (i.e., many small veers can appear to be one vector). It is noted that vectors can be detected by determining end points from stroke-tike video, by recognition of vectors in a raster image, or by parsing vector draw commands in a display list in a manner known to those skilled in the art.
AMENDED SHEET

" ..",.. . ., ..~,,=,,v,_,ncm vc~ .15- a- v ~ ~rs:~i~ : bUb t3'.1.t5 titfU:.i-~ +4'J- i3'd 2~~~...,_. ..._..
19-05-2000 -_. __ _ __ ___ ____ __. .__. .___ ___ US 009914874 10-'t The presee~t invention declares a change in vector direction when a measured change in direction exceeds a predetermined static or dynamic threshold value (which is affected by noise or the processor characteristics) in a manner that that will be apparent to those skilled in the art. The length of a vector is determined from the distance between the start and end points in accordance with the following equation:
sqrt((x2 -x~)2 + (y2 - y~)2). The intensity of a vector is determined from the digitized intensity signal in a digital AMENDED SHEET
...,...~._ _. _..

"l~t:Nt;H~N U~ :1J- 5- U : 18:45 : 505 828 6803- +49 89 19-05-2000 - . __ _ __ ___ ____ __. .._. .___ ___ US 009914874 sample of a vector and from the draw rate for a digital sample of s vector. A
slower draw rate corresponds to a higher intensity for the vector. A vector primitive is then formed by combining the start and end points, length, direction, color, and intensity of a vector.
Vector primitsves are added to a display list (Graphics Array 260) for each image or video frame of vectors to be rendered on, for example, a color flat panel display fi30. The beginning and end of a video frame of vectors is determined directly from stroke video signals or other synchronizing information, by detecting a vector primitive already in the vector (graphics array 260, by a timer, or by other means. Changes in other vector measurements are declared in a similar manner and will become apparent to those skilled in the art.
Referring to FIG. 3, there is shown a Graphics Detection Processor 200 in accordance with the present invention. The Graphics Detection Processor 200 can be programmable in order to accept multiple forms of Rendered Graphics 220 as input. Rendered Graphics 220 can be imagery, video, graphics, graphics commands, or other appropriate input that are generated by a particular source such as stroke deflection processor, raster image processor, image scanner, still or motion camera, or a graphics application.
The ability to program the Graphics Detection Processor 200 provides for optimization for input types, input content, performance, security, transmission, storage, image quality, 2Q specific display characteristics, and other purposes as will become apparent to those skilled in the art. Programming can be based on defaults or dynamically assigned values for optimization in a manner known to those skilled in the art.
Whereas conventional systems provide as output a bit map from Rendered Graphics 220, the Graphics Detection Processor 200 provides as output a Graphics Array 260 that represents the graphics information provided in Rendered Graphics 220.
AMENDED SHEET

-~umunrrv ~~ : 15_ b- U : 18:46 : 505 828 6803- +49 89 19-05-2000 ~ ! -- - --' "' ~ ' --- -" US 009914874 The generation of a Graphics Array 280 is one novel component of the present invention.
A Graphics Array 260 is also refened to herein as a display list. Those skilled in the art can render graphics ~nrith a Graphics Array 260 in an optimal manner for a given display, Acquisition 230 module converts Rendered Graphics 220 to a form suitable for processing_ For example, if Rendered Graphics 22p is in the form of analog stroke video, Acquisifiion 230 can convert Rendered Graphics 220 to digital samples which AMENDED SHEET

"~'HN(:HI:N Uu : 1~J- S- U : 18 : g6 : 5C15 828 6803-~ +49 89 2"'~
19-05-2000 -_. _. _ __ ___ ____ __. .__..___ ___ US 009914874 can then be processed by a digital processor. Recognition 240 module identifies graphic objects within Rendered Graphics 220. For example, Recognition 240 can determine start and end points of vectors, position and type for graphic objects such as circles and spheres, or position, type, and font for characters in the digital samples provided by Acquisition 230. Array Generator 250 collects the information for each graphic object identified by Recognition 240 module and creates a Graphics Array 260 with information for each graphic object or primitive. For example, Graphics Array 260 can be a display list of vectors where each entry in the display list includes the following information: start point (x, y), end point (x, y), color (red level, green level, blue level), intensity (voltage or relative brightness level), draw rate (incheslsecond). In Graphics Array 260 the order of appearance in an array can be used to detemnine graphic object precedence or other processing functions.
Referring to FIG. 4, there is shown an Encode Processor 300 in accordance with the present invention. The Encode Processor 300 receives Graphics Array 260 as input.
The Encode Processor 300 provides as output an Optimized Graphics Array 330 that represents the graphics information in Graphics Array 2fi0. The Encode Processor 300 can be optimized for input types, input content, performance, security, transmission, storage, image quality, specific display characteristics, and other purposes.
As a non-limiting example, the Encode Processor 300 can perform vector quantization, data compressive, data encryption, graphic object sorting, alpha value assignment (e.g., precedence or transparency), or other processing functio~s_ As a further example, the Encode Processor 300 can filter each vector in a Graphics Array 260 to ensure that all vectors are of reasonable length, color, and intensity in order to optimize their appearance on the color flat panel display. As another example, Encode Processor 300 AMENDED SHEET

-m~b!VC.HCIV V5 :1~- 5- U : 113:47 : 505 828 6803-~ +4.9 89 2-19-05-2000 -_. __ _ __ __. ____ ___ .._. .___ ___ US 009914874 can encode Graphics Array 2S0 as an array of graphics commands or graphics routine calls such as those supported by OpenGL~ computer software available from Silicon Graphics, fnc. As another example, Encode Processor 300 can encode a chain of vectors which form a cirGe as a single draw circle command, which is also the case for Recognition 240. The output from the Encode processor 300 is the Optimized Graphics Array 330.
AMENDED SHEET

-~uravcatt~i 05 :1J- 5- 0 : 18:47 : 505 828 6803- +49 89 19-05-2000 -.. __ _ __ .__ ____ ___ .... .___ ___ -US 009914874 -'13-Referring to FIG. 5, there is shown a Graphics Rendering Processor 400 in accordance with the present invention. The Graphics Rendering Processor 400 receives as input a Graphics Array 280 or an Optimized Graphics Array 330 from the Encode Processor 300. fihe Graphics Rendering Processor 400 provides as output Display Data 530 which is a rendering (processing/formatting) of the graphics information contained within a Graphics Array 260 or an Optimized Graphics Array 330. Display Data 530 is appropriately formatted for a graphics display. Display Data 530 can contain any or all of the following types of information: bit map, texture map, raster graphics, vector graphics, t0 holographics and other graphics formats. The Graphics Rendering Processor 4.00 can perForm graphics processing functions including anti-aliasing in order to smooth lines, texturing to enhance the appearance of graphic objects, alpha blending to combine graphic objects and maintain correct color perception, haloing to increase contrast between graphic objects and the background scene, interpolation for scaling and a 5 smoothing graphic objects, fogging to provide the perception of depth, fills in order to color graphic objects, merging with other graphics information and sources, and other functions. The Graphics Rendering Processor 400 can be optimized for input types, input content, performance, security, transmission, storage, image quality, specfic display characteristics, and other purposes.
20 The Graphics Rendering Processor 400 can also be optimized for a color flan panel display 600. The Graphics Rendering Processor 400 processes the Graphics Array 260 or Optimized Graphics Array 330 by carrying out a graphics render command for each object or primitive in the array. Priority for vector primitive rendering is determined by the position of a vector primitive in the array, where the first primitive (or ~5 other predetermined value) has the highest priorifjr. Prio~~ty can also be assigned based AMENDED SHEET

-~urr~c.tttv u5 : 1~- 5 - U : 18 :4 r : 5U5 828 EiE3(13--~ +49 85 c 19-05-2000 --. __ _ __ ___ __. _ ___ .__..___ ___ US 009914874 on the type of graphic object recognized by Recognition 240. The Graphics Rendering Processor 400 operates in the raster domain and applies anti-aliasing, texturing, alpha blending, haioing, interpolation, fogging, shading, fills, other rendering techniques, and combinations thereof, as it renders individual primitives. The output from the Graphics Rendering Processor 400 is Display Data 530. Display Data 530 contains formatted visual information ready for transmission AMENDED SHEET
_..~..~.~._.H._.w__...._ _...e....~..__~...
to a display or other device (e.g., storage device). For example, Display Data 530 can be a bit map formatted for a color flat panel display.
Display Data 530 is transmitted over, for example, a pixel bus to a color flat panel Display 600 in a manner well known to those skilled in the art where it can be viewed by a person. Those skilled in the art will recognize, however, that any means of transmitting information from one location to another will operate in the present invention.
Referring to FIG. 6, there is shown a Display 600. A Display 600 receives as input Display Data 530. A Display 600 provides as output a Display SurfaceNolume 630 which is a representation of Rendered Graphics 220.
Display SurfacelVolume 630 represents the desired presentation of Rendered Graphics 220. The representation of Display SurfaceNolume 630 can be viewable information, transmitted information, stored information, or other appropriate form of information. A Display Surface/Volume 630 can be a cathode ray tube device, flat panel device, liquid crystal display device, projection device, holographic device, retinal projection device, storage device, printer, transmitter, or any other device or method for presenting, storing, transmitting, conveying, or making graphics information viewable, accessible, or usable.
Other forms of information can be re-generated using the method and system embodied in the present invention. For example, referring to FIG. 7 there is shown an alternate embodiment 800 of the present invention for this purpose. Information Detection Processor 820 is a more generalized form of the Graphics Detection Processor 200. Encode Processor 830 in FIG. 7 is a more generalized form of the Encode Processor 300 described earlier.
Information Processor 840 in FIG. 7 is a more generalized form of the Graphics Rendering Processor 400. Other Information 810 in FIG. 7 is a more generalized form of the Display Formatter 1100 (FIG. 10). Merge Processor 850 in FIG. 7 is a more generalized form of the Merge Processor 500 described herein. Information StoragelTransmission 860 in FIG. 7 is a more generalized form of the Display 600 of FIG. 6.
Having described one embodiment of the present invention, attention is now turned to an alternative embodiment of the graphics rendering apparatus and method previously described. In particular, reference is made to FIG. 8 where there is shown an alternate embodiment 20 of the present invention represented by its major components. The block diagram of FIG. 8 represents an alternate embodiment of the invention shown in FIG. 7. The discussion of the Graphics Detection Processor 200 and of Encode Processor 300 is the same as that provided earlier with respect to FIG. 3 and 4, respectively, and, accordingly, will not be discussed again.
Referring to FIG. 9, there is shown a Graphics Processing 1000 in accordance with the alternate embodiment of the present invention. The Graphics Processor 420 accepts as input a Graphics Array 260 or an Optimized Graphics Array 330. The Graphics Processor 420 provides as output Frame Buffer 430 which is a rendering of the graphics information contained within a Graphics Array 260 or an Optimized Graphics Array 330. Frame Buffer 430 can be a memory device for display systems that scan out of frame buffer memory, or a stream of information provided directly to Merge Processor 500 or Display 600 for display systems that employ a flow-through method. Frame Buffer 430 is appropriately formatted for a particular type of a graphics display.
Frame Buffer 430 can contain any or all of the following types of information:
bit map, texture map, raster graphics, vector graphics, holographics, and other graphics formats. The Graphics Processor 420 can perform certain graphics processing functions including anti-aliasing, texturing, alpha blending, haloing, interpolation, fogging, fills, merging with other graphics information and sources, and other functions. The Graphics Rendering Processor 1000 can be optimized for input types, input content, performance, security, transmission, storage, image quality, specific display characteristics, and other purposes.
Referring to FIG. 10, there is shown a Display Formatter 1100 in accordance with the alternate embodiment 800 of the present invention. The Acquisition 135 accepts as input 110 imagery, video, graphics, or graphics commands. The Formatter 130 receives the information from Acquisition 135 and provides as output Frame Buffer 140. Frame Buffer 140 includes a rendering of the imagery, video, graphics, or graphics commands appropriately formatted for a graphics display.
Referring to FIG. 11, there is shown a Merge Processor 500 in accordance with the alternate embodiment 800 of the present invention. The Merge Processor 500 accepts as input rendered graphics in multiple frame buffers 1 through n (510 and 540), combines the contents of the frame buffers in Combine 520, and provides as output Display Data 530. Display Data 530 is a combined rendering of graphics from any or all frame buffers appropriately formatted for a graphics display (display data 530). The Merge Processor 500 provides maximum flexibility in combining graphics information from many sources for a graphics display. The Merge Processor 500 can perform other graphics functions including anti-aliasing, texturing, alpha blending, haloing, interpolation, fogging, fills, merging with other graphics information and sources, and other functions. The Merge processor 500 is an optional component of the present invention in accordance with the alternate embodiment.
Referring again to FIG. 6, there is shown the Display 600 for use in the alternate embodiment. The discussion with respect to FIG. 6 above applies to this alternate embodiment, and accordingly, need not be discussed again. In the alternate embodiment, however, the output, Display Surface/Volume 630, is a representation of Rendered Graphics 220 combined with input 110. Display 630 represents the desired presentation of Rendered Graphics 220 combined with input 110.
Example 1 The following non-limiting example is provided to illustrate the operation of the alternate embodiment 20 as applied to stroke symbology to raster symbology conversion for use in a flat panel display. FIG. 8 shows functionally an implementation of the present invention to solve the problem of displaying high-quality, anti-aliased color stroke symbology along with high-quality color raster video on a color flat panel display.
Referring again to FIG. 3, the Graphics Detection Processor 200 detects the individual vectors provided by a legacy stroke (vector) video interface for each video frame. The Graphics Detection Processor 200 digitizes the horizontal and vertical deflection signals, color signals, intensity signals, symbology blanking signals and other signals from the stroke (vector) video using analog to digital converters to form digital samples of vectors. The direction of a vector is determined by comparing the digitized horizontal and vertical deflection signals in a digital sample of a vector to the digitized -1'7-horizontal and vertical deflection signals in the previous digital sample of a vector. The start and end points of a vector are determined from changes in vector direction, from changes in color, from changes in intensity, from changes in draw rate, or from changes in other digitized signals in a digital sample of a vector. A change in vector direction is declared when a measured change in direction exceeds a static or dynamic threshold value. Changes in other vector measurements are declared in a similar manner. The length of a vector is determined from the distance between the start and end points. The intensity of a vector is determined from the digitized intensity signal in a digital sample of a vector and from the draw rate for a digital sample of a vector. A slower draw rate corresponds to a higher intensity for the vector. A vector primitive is formed by combining the start and end points, length, direction, color, draw rate, and intensity of a vector. Vector primitives are added to a vector (graphics) array 260 for each video frame of vectors and prioritized to be rendered on a color flat panel display 630. The beginning and end of a video frame of vectors is determined directly from stroke video signals or other synchronizing information, by detecting a vector primitive already in the vector (graphics) array 260, by a timer, or by other means.
Referring again to FIG. 4, the Encode Processor 300 filters each vector in the vector array 260 to ensure that all vectors are of reasonable length, color, and intensity in order to optimize their appearance on the color flat panel display. For example, the measured color for a vector primitive can be encoded as a color optimized for presentation on the color flat panel display and for other considerations like night vision equipment compatibility. Also, the intensity of a vector primitive can be encoded to take into account the effects of draw rate or the desire to assign discrete intensity levels based on precedence or other criteria. In addition, the Encode Processor 300 can format information associated with each vector primitive in a manner optimized for the creation of a graphics rendering command. The output from the Encode Processor 300 is the optimized vector (graphics) array 330.
Referring again to FIG. 9, the Graphics Rendering Processor 1000 is optimized for a color flat panel display 600. The Graphics Rendering Processor 1000 processes the optimized vector (graphics) array 330 by issuing a vector (graphic) render command to a Graphics Processor 400 for each vector ,.. _..._.

primitive. Priority for vector primitive rendering is determined by the position of a vector primitive in the optimized vector (graphics) array 330, where the first vector primitive in the optimized vector (graphics) array 330 has the highest priority. The graphics processor operates in the raster domain and applies anti-s aliasing, texturing, alpha blending, haloing, interpolation, fogging, and fills as it renders individual vector primitives. The output from the Graphics Rendering Processor 400 is rendered vectors (Frame Buffer) 430.
Referring again to FIG. 10, the Display Formatter 1100 accepts input 110 analog raster video requiring minimal processing by Acquisition 135 for the purpose of rendering on the color flat panel display 630. Acquisition 135 can perform functions like analog to digital conversion, intensity and display size scaling, and other functions well understood by those skilled in the art. The output from the Formatter 130 is formatted raster video (Frame Buffer) 140.
Referring again to FIG. 11, the Merge Processor 500 combines the rendered vectors (Frame Buffer) 530 from the Graphics Rendering Processor 400 with the formatted raster video (Frame Buffer) 140 from the Display Formatter 1100 in order to provide a more comprehensive display format to view. The output from Merge Processor 500 is Display Data 530.
Example 2 The following non-limiting example is provided to illustrate the operation of the alternate embodiment 20 as applied to stroke to raster conversion for use in a flat panel display. FIG. 12 shows functionally an implementation of the alternate embodiment 20 of the present invention to solve the problem of displaying high-quality, anti-aliased color stroke symbology along with high-quality color raster video on a color flat panel display.
The present invention detects the individual vectors drawn by the stroke generator, for example, a Multipurpose Display Indicator (MDI) or display computer, with the Stroke Vector Detector. This function effectively creates the original symbology display list used by the stroke generator.
Stroke symbology vectors are then rendered and anti-aliased by Vector Rendering. This function takes advantage of off the-shelf graphics rendering components using commercially available, state-of the-art rendering algorithms.
The combination of display list recreation and vector rendering by Stroke Vector Detector and Stroke Vector Rendering, respectively, is a novel component of the present invention. Indeed, the present invention is capable of displaying stroke symbology with far greater quality and accuracy than any currently-available stroke generator is capable of providing it. Raster video is digitized and scaled by Raster Digitize/Scaling. This function is equivalent to that found in most flat panel displays and displays processing systems with analog video.
Rendered stroke symbology and digitized raster video are merged in Merge.
Finally, the merged video is displayed on the Display.
The stroke vector detection function performed by the Stroke Module are shown in FIG. 13. Deflection and bright up signals (Stroke Video) are switched by Stroke Switching. Stroke Switching also provides a repeater function for Stroke Video. The selected Stroke Video input is digitized by the Analog To Digital Converter at a, for example, 48 MHz sample rate. This sample rate corresponds to a minimum of 4 samples per display increment rendered at the fastest writing rate, or about 7 samples per pixel on the display. The digitization of stroke signals provides an effective symbology resolution of at least, for example, 4800 by 4800 pixels with a 12 bit AID, and possibly, for example, 9500 by 9500 pixels with a 13 bit AID. Once digitized, Vector Recognition determines the start and end points, color, and intensity of each vector within Stroke Video symbology and places this vector information into Display List.
Symbology quality is maximized by ensuring that the same point is used for the end point of one vector and the start point of the next vector in a vector sequence, like that in an arc. Variability in symbology writing rates are automatically accounted for with this method. In addition, variability in draw rate can be used to modify symbology intensity is required.
The Stroke Vector Detector can be contained in a single programmable logic device, array, or application specific integrated circuit (ASIC).
As shown in FIG. 14, Stroke symbology vectors are then rendered and anti-aliased from the Display List by Vector Rendering under control from the Display Control module described herein (not shown). The Frame Buffer is filled with high-quality, anti-aliased symbology ready for display. Stroke symbols drawn first in a frame are typically the highest priority symbols and could be rendered accordingly through alpha blending and other graphics functions.

The Stroke Module enables the present invention to render stroke symbology with unprecedented accuracy and quality. This is possible because Vector (Graphics) Rendering enables the present invention to process stroke symbology with anti-aliasing using an array of 16 by 16 color sub-pixels per display pixel. Visually, this translates to the ability to render each stroke symbology pixel within, for example, a 9500 by 9500 pixel virtual display registered to a, for example, 600 by 600 pixel actual display. These levels of pixel and sub-pixel processing resolution are necessary in order to display the highest possible quality symbology.
The functions performed by the Raster Module are shown in FIG. 15.
Raster video signals (Raster Video) are switched by Raster Switching. Raster Switching also provides a repeater function for Raster Video. The selected Raster Video input is digitized by the Analog To Digital Converter. A Sync Detect and phase locked loop (PLL) apparatus (not shown) performs synchronization detection on the incoming Raster Video and generates Raster Module clocks.
A commercially-available, off the-shelf integrated circuit and low cost field memory can be used to perform vertical/temporal de-interlacing, image scaling, and gamma correction. The present invention can be also adapted to provide a growth provision for zoom in a manner that will become apparent to those skilled in the art.
The Display Controller (not shown) performs processing functions and controls all modules of the present invention with plenty of available processing and throughput overhead. One important task performed by this module is the execution of built in tests. Another important task performed by this module is accessing the Display List created by the Stroke Module in order to form graphics commands for Vector (Graphics) Rendering on the Stroke Module.
A Liquid Crystal Display (LCD) assembly suitable for use in the present invention can be, for example, a high-resolution, state-of the-art design with a 600 by 600 color pixel Active Matrix Liquid Crystal Display (AMLCD) having 120 color groups per inch. Other raster-type displays can be used as will become apparent to those skilled in the art. Also, the present invention has multiple applications, including raster scanned or caligraphically-generated cathode ray ,. _ ~. . _..,~....,.,...~__.__ tube (CRT) displays, X-Y plotters, numerically-controlled machines, robotics, etc.
To create an analog video signal from digital raster data, a video display generator retrieves the digital data from memory to create a digital signal.
The display generator then creates an analog signal from the digital signal with a digital-to-analog (D/A) converter. The analog signal is then amplified and displayed as a video image.
During the video image creation process, many factors adversely affect the analog video signal output from the display generator. For example, signal interpolation within the D/A converter introduces distortions to the analog signal.
These distortions are then magnified during amplification of the signal. In addition, the analog amplifier, which functions differently at different signal frequencies, creates further distortion in the analog output. Because of the non-linearity introduced by the elements of the video display generator, the output analog signal is not a completely accurate representation of the digital data from which it was created. Although perfectly accurate video images cannot be expected, it is often necessary to ensure that the displayed image is as accurate a representation of the digital data as possible. Therefore, an all digital interface is preferred between the frame buffer and the display surface/volume, eliminating the conversion errors and distortions discussed herein.
The present invention is subject to many variations without departing from the spirit and scope of the present invention. For example, a digital map analog or digital interface can be added as an additional raster input in order to enable the system to overlay symbology onto digital map video. The resulting combination of the symbology with digital map is then provided through an analog or digital repeater.
Additionally, a digital map rendering module can be embedded in order to enable the system to overlay symbology onto an internally rendered digital map. The resuiting combination of symbology with digital map is then provided through an analog or digital repeater. An interface to a digital map mass memory unit can also be added.
The modular design of the present invention along with available processing and throughput overhead provide for maximum flexibility for future growth. For example, a modification to the Status/Control interface or the addition of a new data interface, along with Display Controller software modifications, would enable the system to become a smart display. A smart display enables raster symbology to be rendered in manner optimized for the display. Other functions and features such as zoom, alpha blending, and rendering stroke symbology with halos can also be accommodated in a manner that will become apparent to those skilled in the art.
Other variations and modifications of the present invention will be apparent to those of skill in the art, and it is the intent of the appended claims that such variations and modifications be covered. For example, text from books or other printed media can be converted to other fonts or even other languages. Graphics can be re-rendered and their quality improved upon.
Two-dimensional pictures of three-dimensional objects can be converted to three-dimensional virtual reality images. A system for converting books to electronic media can completely re-render all information in the book with the target media in mind. A single video source can be used to drive multiple display types, even simultaneously, where rendering is performed to optimize the video presentation for each display type.
The particular values and configurations discussed above can be varied and are cited merely to illustrate a particular embodiment of the present invention and are not intended to limit the scope of the invention. It is contemplated that the use of the present invention can involve components having different characteristics as long as the principle is followed. It is intended that the scope of the present invention be defined by the claims appended hereto.

Claims (33)

-23- The embodiments of an invention in which an exclusive property or right is claimed are defined as follows:
1. A method of detecting graphic objects that have been created for a first display, the graphic objects representing an image, and re-rendering the graphic objects in a form adapted for a different display (600, the method comprising the steps of:
receiving formatted graphics (220) from a source, the formatted graphics having been formatted for the first display;
detecting (200) the presence and characteristics of a plurality of graphic objects within the formatted graphics (220);
creating a display list (260, 330) from the plurality of graphic objects that represents the image based on the formatted graphics (220); and re-rendering (400, 1000) the plurality of graphic objects represented in the display list (260, 330) while retaining the same characteristics far the graphic objects that were detected in a manner formatted for the different display (600).
2. The method of Claim 1, wherein the graphic objects are graphics primitives.
3. The method of Claim 2, wherein the graphics primitives are vector primitives.
4, The method of Claim 1, wherein the graphic objects are vector primitives.
5. The method of Claim 1, wherein the graphic objects are combinations of a plurality of graphics primitives.
6. The method of Claim 5, wherein each of the plurality of graphics primitives are a plurality of vector primitives.
7. The method of Claim 1, further comprising the step of displaying the re-formatted graphic objects on the different display (600).
8. The method of Claim 1, further comprising the step of storing the re-formatted graphic objects in a frame buffer (430, 510) for subsequent display on the different display (600).
9. The method of Claim 1, further comprising the step of transmitting display data (530) representing re-formatted graphic objects for use by the different display (600).
10. The method of Claim 1, wherein the display list (260, 330) comprises characteristics of a portion of the image to be displayed (630).
11. The method of Claim 10, wherein the characteristics are selected from the group consisting of color, intensity, size, location, transparency, texture, shape, direction, precedence of a portion of the image to be displayed (630) and combinations thereof.
12. The method of Claim 1, wherein the display list (260, 330) comprises a plurality of vector primitives of a portion of the image to be displayed (630) that are compatible with a graphics processor (420) particular to the different display (600).
13. The method of Claim 1, further comprising the step of applying anti-aliasing techniques to the graphic objects within the display list (260, 330).
14. The method of Claim 1, further comprising the step of applying alpha blending techniques to the graphic objects within the display list (260, 330).
15. The method of Claim 1, further comprising the step of applying haloing techniques to the graphic objects within the display list (280, 330).
16. The method of Claim 1, further comprising the step of applying interpolation techniques to the graphic objects within the display list (260, 330).
17. The method of Claim 1, further comprising the step of applying fogging techniques to the graphic objects within the display list (260, 330).
18. The method of Claim 1, further comprising the step of merging (500) the re-rendered plurality of graphic objects (430, 510) with graphics information (440, 540) from sources other than the first display or different display (600).
19. The method of Claim 1, wherein the graphic objects can be characterized by a plurality of vectors, and further comprising the step of detecting (200) each individual vector within the plurality of graphic objects.
20. The method of Claim 19, further comprising the step of detecting (200) a start point and an end point for each individual vector.
21. The method of Claim 20, wherein the start point and the end point are detected (200) by sampling (230) the individual vector.
22. The method of Claim 19, wherein the step of detecting (200) each individual vector within the plurality of vectors further comprises the step of detecting (200) a change in direction of the graphic objects.
23. The method of Claim 20, wherein the step of detecting (200) each individual vector within the plurality of vectors further comprises the step of detecting a change in color of the graphic objects.
24. The method of Claim 19, wherein the step of detecting (200) each individual vector within the plurality of vectors further comprises the step of detecting (200) a change in intensity of the graphic objects.
25. The method of Claim 19, wherein the step of detecting (200) each individual vector within the plurality of vectors further comprises the step of detecting (200) a change in draw rate of the graphic objects.
26. The method of Claim 19, further comprising the step of detecting (200) a change in direction of each individual vector.
27. The method of Claim 26, wherein the change in direction is detected (240) by comparing a measured change in direction arid a predetermined threshold value of
28. The method of Claim 20, further comprising the step of creating a vector primitive for each individual vector by combining the start point and the end paint and a plurality of characteristics of each individual vector, wherein the plurality of characteristics of each individual vector comprise length, direction, color, draw rate, and intensity of each individual vector.
29. The method of Claim 28, further comprising the step of adding the vector primitive to the display list (260, 330) in a predetermined order.
30. The method of Claim 1, further comprising the step of optimizing (300) the display fist (260) and creating an optimized display list (330) for the purpose of enhancing the displayed image (630) for the different display (600).
31. The method of Claim 1, further comprising the step of prioritizing the plurality of graphic objects comprising ranking the graphic objects in the order in which they are to be rendered within the display list (260, 330).
32. An apparatus for detecting graphic objects that have been created for a first display, the graphic objects representing an image, and re-rendering (400, 1000) the graphic objects in a form adapted for a different display (600), the apparatus comprising:
receiving means for receiving formatted graphics (220) from a source, the formatted graphics (220) having been formatted for the first display;
detecting means (230, 240, 250), in communication with said receiving means, for detecting the presence and characteristics of a plurality of graphic objects within the formatted graphics (220);
generation means (300), in communication with said detecting means (230, 240, 250), for creating a display list (260, 330) from the plurality of graphic objects that represents the image based on the formatted graphics (220); and re-rendering means (400, 1000), in communication with said generation means (300), for re-rendering the plurality of graphic objects, retaining the same characteristics that were detected, formatted for the different display (600).
33. The apparatus of Claim 32, wherein the detecting means (230, 240, 250) comprises a means to sample (230) input graphic objects with analog to digital converters.
CA002335889A 1998-06-29 1999-06-29 Method of and system for detecting and rendering of graphic elements Abandoned CA2335889A1 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US9113598P 1998-06-29 1998-06-29
US60/091,135 1998-06-29
PCT/US1999/014874 WO2000000951A1 (en) 1998-06-29 1999-06-29 Method of and system for detecting and rendering of graphic elements

Publications (1)

Publication Number Publication Date
CA2335889A1 true CA2335889A1 (en) 2000-01-06

Family

ID=22226257

Family Applications (1)

Application Number Title Priority Date Filing Date
CA002335889A Abandoned CA2335889A1 (en) 1998-06-29 1999-06-29 Method of and system for detecting and rendering of graphic elements

Country Status (7)

Country Link
EP (1) EP1092217B1 (en)
JP (1) JP2002519793A (en)
KR (1) KR100576973B1 (en)
CA (1) CA2335889A1 (en)
DE (1) DE69927269T2 (en)
IL (1) IL140611A0 (en)
WO (1) WO2000000951A1 (en)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6330023B1 (en) * 1994-03-18 2001-12-11 American Telephone And Telegraph Corporation Video signal processing systems and methods utilizing automated speech analysis
US7002593B2 (en) * 2001-11-01 2006-02-21 Eastman Kodak Company Method for reducing the power used by emissive display devices
AUPS134202A0 (en) 2002-03-25 2002-05-09 Canon Kabushiki Kaisha System and method for optimizing halftoning printer performance
US7352374B2 (en) * 2003-04-07 2008-04-01 Clairvoyante, Inc Image data set with embedded pre-subpixel rendered image
ATE383627T1 (en) 2004-11-19 2008-01-15 Ericsson Telefon Ab L M METHOD AND DEVICE FOR GENERATING THREE-DIMENSIONAL IMAGES
US11481834B2 (en) * 2006-07-07 2022-10-25 Joseph R. Dollens Method and system for managing and displaying product images with progressive resolution display with artificial realities
CN101842813A (en) * 2007-05-22 2010-09-22 天宝导航有限公司 Handling raster image 3D objects
TWI386863B (en) * 2008-10-03 2013-02-21 Alpha Imaging Technology Corp Multi-media processor, hand-held electrical communication device and image processing method thereof
US11210981B2 (en) 2017-10-23 2021-12-28 Bae Systems Plc Method for operating an image generator, an image generator, a method for generating digital colour image data and a display system

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5748947A (en) * 1993-02-25 1998-05-05 Ricoh Company, Ltd. Information processing system for switchably processing data associated with straight line vectors
US5969699A (en) * 1996-10-08 1999-10-19 Kaiser Aerospace & Electronics Company Stroke-to-stroke

Also Published As

Publication number Publication date
KR20010085276A (en) 2001-09-07
DE69927269D1 (en) 2005-10-20
EP1092217A1 (en) 2001-04-18
JP2002519793A (en) 2002-07-02
EP1092217B1 (en) 2005-09-14
WO2000000951A9 (en) 2000-10-26
IL140611A0 (en) 2002-02-10
KR100576973B1 (en) 2006-05-10
DE69927269T2 (en) 2006-06-29
WO2000000951A1 (en) 2000-01-06

Similar Documents

Publication Publication Date Title
CA1207927A (en) Three-dimensional display system
US4609917A (en) Three-dimensional display system
US4914729A (en) Method of filling polygonal region in video display system
EP0813721B1 (en) Hardware architecture for image generation and manipulation
US4937761A (en) Method and apparatus for enhanced speed graphic image processing
US7884825B2 (en) Drawing method, image generating device, and electronic information apparatus
EP0786757B1 (en) Adjusting contrast in antialiasing
JP3375638B2 (en) Anti-aliasing device and method for automatic high-speed alignment of horizontal and vertical edges to target grid
EP0624849B1 (en) System and method of rendering curves
EP0817119A2 (en) Image resizing apparatus
JPH1098619A (en) Method for changing edge position of continuous tone image smaller
KR20050010846A (en) Adaptive scaling of video signals
US5680485A (en) Method and apparatus employing erosion-based filter pairs for image mapping
EP1092217B1 (en) Method of and system for detecting and rendering of graphic elements
US6496160B1 (en) Stroke to raster converter system
US6597365B1 (en) Indicating device with and without antialiasing
US5589851A (en) Multi-level to bi-level raster shape converter
EP0658858A2 (en) Graphics computer
US6529196B1 (en) Efficient stroking of vectors with arbitrary endpoints
US5371843A (en) Method and system for filling non-complex polygons using vertical spans
EP0568360B1 (en) Graphics system using quadratic polynomial fragments
EP0427147B1 (en) Graphics system
JP3493745B2 (en) Drawing device
Gupta et al. YODA: an advanced display for personal computers
US5305431A (en) Method and system for rendering polygons on a raster display

Legal Events

Date Code Title Description
EEER Examination request
FZDE Discontinued