NO303199B1 - graphics System - Google Patents
graphics System Download PDFInfo
- Publication number
- NO303199B1 NO303199B1 NO904299A NO904299A NO303199B1 NO 303199 B1 NO303199 B1 NO 303199B1 NO 904299 A NO904299 A NO 904299A NO 904299 A NO904299 A NO 904299A NO 303199 B1 NO303199 B1 NO 303199B1
- Authority
- NO
- Norway
- Prior art keywords
- pixel
- output
- data
- image memory
- color
- Prior art date
Links
- 230000015654 memory Effects 0.000 claims description 115
- 230000006870 function Effects 0.000 claims description 21
- 230000008901 benefit Effects 0.000 claims description 6
- 239000004973 liquid crystal related substance Substances 0.000 claims description 2
- 235000000396 iron Nutrition 0.000 claims 1
- 238000010409 ironing Methods 0.000 claims 1
- 238000012545 processing Methods 0.000 description 33
- 238000000034 method Methods 0.000 description 15
- 238000005516 engineering process Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 12
- 230000008859 change Effects 0.000 description 8
- 239000011159 matrix material Substances 0.000 description 7
- 239000000872 buffer Substances 0.000 description 4
- 239000003086 colorant Substances 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 230000018109 developmental process Effects 0.000 description 3
- 238000010894 electron beam technology Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000009877 rendering Methods 0.000 description 3
- 101100248200 Arabidopsis thaliana RGGB gene Proteins 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 238000003384 imaging method Methods 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 230000003595 spectral effect Effects 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09F—DISPLAYING; ADVERTISING; SIGNS; LABELS OR NAME-PLATES; SEALS
- G09F9/00—Indicating arrangements for variable information in which the information is built-up on a support by selection or combination of individual elements
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/22—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of characters or indicia using display control signals derived from coded signals representing the characters or indicia, e.g. with a character-code memory
- G09G5/24—Generation of individual character patterns
- G09G5/28—Generation of individual character patterns for enhancement of character form, e.g. smoothing
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/36—Control 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/39—Control of the bit-mapped memory
- G09G5/395—Arrangements specially adapted for transferring the contents of the bit-mapped memory to the screen
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/36—Control 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/39—Control of the bit-mapped memory
- G09G5/399—Control of the bit-mapped memory using two or more bit-mapped memories, the operations of which are switched in time, e.g. ping-pong buffers
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Image Generation (AREA)
- Controls And Circuits For Display Device (AREA)
- Digital Computer Display Output (AREA)
- Control Of Indicators Other Than Cathode Ray Tubes (AREA)
Description
Foreliggende oppfinnelse angår datastyrt bildedannelse i sin alminnelighet og særlig teknikker for anti-aliaserende datafrembragte bilder. Oppfinnelsen er beskrevet ved anvendelse av et anti-aliaserende filter ved utgangen fra en minneenhet for et delpiksel-bilde for å forbedre bildekvaliteten på skjermer i sin alminnelighet og særlig ved fargemosaikkskjermer. Resultatet er jevnere og mer strek-lignende bilder. The present invention relates to computer-controlled image formation in general and in particular techniques for anti-aliasing computer generated images. The invention is described using an anti-aliasing filter at the output of a memory unit for a sub-pixel image to improve the image quality of screens in general and color mosaic screens in particular. The result is smoother and more line-like images.
Nærmere bestemt vedrører oppfinnelsen et grafikksystem som implementerer et filter for å motvirke bildestøy for å forbedre bildekvaliteten på rasterskjerm-fremvisere. More specifically, the invention relates to a graphics system that implements a filter to counteract image noise in order to improve image quality on raster screen displays.
Til belysning av den kjente teknikk skal det særlig vises til "Dejagging raster graphies displays by flash filtering" av David Oakley og Donald I. Parsons, Proceedings of the SID, Vo. 28/4, 1987, side 425-429. For elucidation of the known technique, particular reference should be made to "Dejagging raster graphies displays by flash filtering" by David Oakley and Donald I. Parsons, Proceedings of the SID, Vo. 28/4, 1987, pages 425-429.
Publikasjonen beskriver en algoritme for raskt å motvirke bildestøy på skjermer for datamaskingrafikk. Algoritmen omfatter at bildedata sendes fra en piksel-generator(DVG, fig. 2) til et bildeminne (FBM). Piksel-generatoren avgir både heltalls (x,y) adressedata for adressering av bildeminnet, og delpiksel- eller fraksjonsdelsadressedata (u,v). Bildeminnet omfatter lager for heltalls og delpiksel- eller fraksjonsdelsadressedata som mottas fra piksel-generatoren, og en utgangsanordning for utlesing av delpiksel eller fraksjonsdelsdata. Delpiksel- eller fraksjonsdelsadressedata (u,v) fra bildeminnet styrer et digitalt filter slik at hver aktiv piksel av bildedataene fra bildeminnet ekspanderes, og høy oppløsning oppnås. The publication describes an algorithm for rapidly reducing image noise on computer graphics displays. The algorithm involves image data being sent from a pixel generator (DVG, fig. 2) to an image memory (FBM). The pixel generator emits both integer (x,y) address data for addressing the image memory, and sub-pixel or fractional sub-address data (u,v). The image memory comprises storage for integer and partial pixel or fractional part address data received from the pixel generator, and an output device for reading out partial pixel or fractional part data. Subpixel or fractional subaddress data (u,v) from the image memory controls a digital filter so that each active pixel of the image data from the image memory is expanded, and high resolution is achieved.
Særlig er publikasjonen knyttet til genereringen av video-signaler for et katodestrålerør, der det kjente systemet kan basere seg på elektronstrålen for å intensivere flere fargeflekker med overlappende Gaussiske profiler (som er naturlige for flekker dannet på en CRT-fremviser) for å danne en kontinuerlig linje. Imidlertid må denne funksjon emuleres for den korrekte operasjon i forbindelse med fremvisere av aktiv-matrisetype. Dessuten utfører det kjente systemet separat en vertikal og horisontal mikroposisjonering og baserer seg så på den analoge respons som er tilgjengelig i CRT fremviser. In particular, the publication relates to the generation of video signals for a cathode ray tube, where the known system can rely on the electron beam to intensify several color spots with overlapping Gaussian profiles (which are natural for spots formed on a CRT projector) to form a continuous line. However, this function must be emulated for correct operation in conjunction with active-matrix type displays. Moreover, the known system separately performs vertical and horizontal micro-positioning and then relies on the analog response available in the CRT display.
Forøvrig vises også til US patentene 4843380 og 4939671. Incidentally, reference is also made to US patents 4843380 and 4939671.
Det problem man står overfor når det gjelder flate panel-formede matriseskjermer og/eller rasterskjermer er at visse egenskaper ved en del skjermsystemer resulterer i en utgang som er usammenhengende eller har et hakket utseende som f.eks. den aliaserte linje 10 på en simulert skjerm 11 på fig. 1. Dette er i motsetning til den jevnt over aksepterte høykvalitetsstrek 12 som man vil se på skjermen på et bilderør der hver linje er jevn og sammenhengende (dvs. en anti-aliasert linje). Uten antialiasering vil datafrembragte bilder på rasterskjermer i typiske tilfeller vise for-styrrende uregelmessigheter som: boblemønstre, reinbue-virkninger, takkede kanter, usammenhengende bevegelser, tap av detaljer og/eller glitring. Disse uregelmessigheter er alle bekreftelser på et mer generelt problem som kalles aliasering. Aliasering oppstår når detaljene eller rom-frekvensinnholdet i bildet som skal gjengis, overskrider utvelgingens båndbreddekapasitet i skjermsystemet. Heldigvis kan, i henhold til utvalgsteorien, aliasering oppheves fullstendig. For å fjerne denne må signalet som underkastes utvelging, først båndbreddebegrenses for ikke å inneholde frekvenser som er høyere enn tø av systemets utvalgsfrekvens. For å hindre uregelmessighetene i å fremkomme i et bilde, må selve bildet først båndbegrenses slik at dets romfrekvens-innhold tilfredsstiller dette krav. The problem you face when it comes to flat panel-shaped matrix screens and/or raster screens is that certain characteristics of some screen systems result in an output that is incoherent or has a jagged appearance such as e.g. the aliased line 10 on a simulated screen 11 in fig. 1. This is in contrast to the uniformly accepted high quality line 12 that one would see on a picture tube screen where each line is smooth and continuous (ie an anti-aliased line). Without anti-aliasing, computer-generated images on raster screens will typically show disturbing irregularities such as: bubble patterns, rainbow effects, jagged edges, incoherent movements, loss of detail and/or glitter. These irregularities are all confirmations of a more general problem called aliasing. Aliasing occurs when the detail or spatial frequency content of the image to be rendered exceeds the bandwidth capacity of the selection in the display system. Fortunately, according to selection theory, aliasing can be completely canceled out. To remove this, the signal that is subjected to selection must first be bandwidth limited so as not to contain frequencies that are higher than the system's selection frequency. In order to prevent the irregularities from appearing in an image, the image itself must first be band-limited so that its spatial frequency content satisfies this requirement.
I datafrembragte bildesystemer kan bildet uttrykkes som et signal hvis amplitude varierer som en funksjon av posisjonen tvers over skjermens bildeflate. Når flere detaljer innføres i bildet, vil dette signal forandre seg hurtigere på tvers av skjermen. Når signalet stiger og faller hurtigere, vil virkningen være å heve det spektrale energiinnhold i bildet til høyere romfrekvensområder. Derfor betyr båndbegrensning av et datafrembragt bilde at datamaskinen må programmeres for å hindre plutselige overganger. Piksler i området ved detaljer, linjer eller kanter av polygoner f.eks., blir skygget slik at signalet stiger og faller med den rette hastighet. Den rette hastighet bestemmes ved anvendelse av utvalgsteorien som nevnt ovenfor. In computer-generated image systems, the image can be expressed as a signal whose amplitude varies as a function of the position across the screen's image surface. When more details are introduced into the image, this signal will change more quickly across the screen. When the signal rises and falls faster, the effect will be to raise the spectral energy content in the image to higher spatial frequency ranges. Therefore, band-limiting a computer-generated image means that the computer must be programmed to prevent sudden transitions. Pixels in the area of details, lines or edges of polygons, for example, are shaded so that the signal rises and falls at the right speed. The right speed is determined by applying the selection theory as mentioned above.
Tidligere har det vært gjort forsøk i forbindelse med den sentrale behandlingsenhet for matematisk å bestemme den rette styrke for hver piksel i skjermen. En vektet filter/ konvolvering ble innført over et vindusområde og resultatet benyttet som en indeks for styrkens rette verdi. Noen utførelser av maskinvare påtrykker en styrkeverdi på piksler på hver side av den ønskede piksel. Denne fremgangsmåte blir vanligvis valgt når en vektorgenerator benyttes for å gjengi de grafiske symboler. In the past, attempts have been made in connection with the central processing unit to mathematically determine the correct strength for each pixel in the screen. A weighted filter/convolution was introduced over a window area and the result used as an index for the correct value of the strength. Some implementations of hardware imprint a strength value on pixels on either side of the desired pixel. This method is usually chosen when a vector generator is used to render the graphic symbols.
Det er velkjent teknikk å benytte en skrivesyklusarkitektur, dvs. båndbegrensning i det datafrembragte bildet mens bildet skrives inn i minnet. Mange forskjellige algoritmer er blitt utviklet i årenes løp for å få til anti-aliasering. Én av de mer vanlige teknikker var basert på hvor langt pikseler var fra en gitt detalj. For hver nabopiksel ble avstanden fra detaljen, f.eks. en kant, bestemt. Desto lenger pikslen var fra kanten jo mindre innvirkning hadde kanten over den styrke som ble tildelt denne piksel. Jevnere overganger i lys-tettheten var resultatet samtidig med at spektralinnholdet i bildet ble passende begrenset til lavere frekvenser og de aliaserende uregelmessigheter ble eliminert. It is a well-known technique to use a write cycle architecture, i.e. band limitation in the data generated image while the image is written into the memory. Many different algorithms have been developed over the years to achieve anti-aliasing. One of the more common techniques was based on how far pixels were from a given detail. For each neighboring pixel, the distance from the detail, e.g. an edge, determined. The further the pixel was from the edge, the less influence the edge had on the strength assigned to this pixel. Smoother transitions in the light density were the result at the same time that the spectral content of the image was suitably limited to lower frequencies and the aliasing irregularities were eliminated.
En annen populær fremgangsmåte som teoretisk er mer nøyaktig, tildelte lysstyrke eller fargeverdier til nabopiksler som en funksjon av overlappingsområdet. Jo mer en piksel var dekket av en bestemt detalj,30mer innvirkning utøvet detaljen over pikslen. F. eks. vil en piksel som var helt dekket av et polygon bli tildelt den fulle verdi som kreves av polygonet. Hvis på den annen side, pikslen lå på kanten av polygonet slik at bare en tredjedel av pikslen var dekket, vil pikslen bli belyst med bare en tredjedel av den verdi som polygonet foreskrev. Denne fremgangsmåte førte også til en effektiv lavpassfilterdrift over bildet og begrenset romfrekvensinn-holdet som foreskrevet. Antialiasering ble også her oppnådd med hell. Another popular approach that is theoretically more accurate assigns brightness or color values to neighboring pixels as a function of the overlap area. The more a pixel was covered by a particular detail, the more impact the detail exerted over the pixel. For example a pixel that was completely covered by a polygon will be assigned the full value required by the polygon. If, on the other hand, the pixel was on the edge of the polygon so that only one third of the pixel was covered, the pixel would be illuminated with only one third of the value prescribed by the polygon. This procedure also led to an effective low-pass filter operation over the image and limited the spatial frequency content as prescribed. Anti-aliasing was also successfully achieved here.
Som et alternativ og mer nøyaktig for ikke-sanntids-anvendelser, er fremgangsmåten med filtersløyfer blitt benyttet. Båndbredden for et bilde ble redusert ved føring av en vindusbehandlende kjerne over et utgangsbilde hvis oppløsning var høyere enn i den ønskede utgang. En tre ganger tre behandlende kjerne ble valgt i typiske eksempler. Ved behandlingen ble kjerneantallet svarende til spredefunksjonen for et bestemt punkt lagret i et minne. Overføringsfunksjonen og formen på punktspredefunksjonen ble avledet fra utvalgsteorien. Kjernen ble ført på tvers og ned over utgangsbudet, piksel for piksel, noe som resulterte i en rettfrem konvolveringsprosess. Konvolveringsdannelsen med denne kjerne og et utgangsbilde med høy oppløsning, resulterte i et utgangsbilde hvis rombåndbredde passet til det utvelgende skjermsystem, slik at aliasering ennå en gang ble unngått. As an alternative and more accurate for non-real-time applications, the method with filter loops has been used. The bandwidth of an image was reduced by running a windowing kernel over an output image whose resolution was higher than in the desired output. A three by three processing core was chosen in typical examples. During processing, the number of kernels corresponding to the spread function for a specific point was stored in a memory. The transfer function and the shape of the point spread function were derived from selection theory. The kernel was passed across and down the output bid, pixel by pixel, resulting in a straightforward convolution process. The convolution with this kernel and a high-resolution output image resulted in an output image whose spatial bandwidth matched the selecting display system, so that aliasing was once again avoided.
De ovennevnte tre kategorier for antialiasering er alle basert på en skrivesyklus. Pga. dette har de alvorlige ulemper når det er behov for å arbeide i sanntid med høy oppløsning. Hastighet er den kritiske faktor. Den økte byrde antialiasering pålegger systemer selv med beskjedne opp-løsninger, f.eks. 512 x 512, har presset skrivesyklus-arkitekturene nesten til yttergrensen. Behandlingselementene må velges for arbeid på meget høyere nivåer med dermed følgende høyere omkostninger. Naturligvis kan parallelle teknikker innføres for å oppheve noen av problemene, men styring og systemets fleksibilitet blusser opp til å bli hovedinnvendinger. The above three categories of anti-aliasing are all based on a write cycle. Because of. this has serious disadvantages when there is a need to work in real time with high resolution. Speed is the critical factor. The increased burden antialiasing imposes on systems even with modest resolutions, e.g. 512 x 512, has pushed the write cycle architectures almost to the limit. The processing elements must be selected for work at much higher levels with the consequent higher costs. Of course, parallel techniques can be introduced to eliminate some of the problems, but control and the flexibility of the system flare up to become the main objections.
Problemene med skrivesyklusarkitektur blir enda mer fremtredende når teknologi for fargemosaikkskjermer benyttes i skjermanordningen. Oppløsningen ved utvikling av denne teknologi kan være mange ganger høyere enn det som allerede har vist seg å være vanskelig. Utviklingsretningen peker mot enda høyere oppløsninger. I tillegg må det bestemte farge-mønster i mosaikken tas i betraktning av grafikkgeneratoren for at den skal kunne gi vellykket antialiasert bildedannelse. Betraktninger som gjelder fargemønstre, setter bildegeneratoren i stand til å forme frekvensinnholdet i bildet i henhold til bestemte kapasiteter for en gitt fargemosaikkskjerm. Ved oppsummering av denne bakgrunn vil antialiasering med skrivesyklus medføre betydelige omkostninger ved frembringelse av sanntidsbilder med høy oppløsning, særlig når man tar sikte på fargemosaikkskjermer. The problems with write cycle architecture become even more prominent when color mosaic display technology is used in the display device. The resolution when developing this technology can be many times higher than what has already proven to be difficult. The direction of development points towards even higher resolutions. In addition, the specific color pattern in the mosaic must be taken into account by the graphics generator in order for it to be able to provide successful anti-aliased imaging. Color pattern considerations enable the image generator to shape the frequency content of the image according to specific capabilities of a given color mosaic display. Summarizing this background, anti-aliasing with a write cycle will entail significant costs when producing high-resolution real-time images, especially when aiming at color mosaic screens.
Den foreliggende oppfinnelse resulterer i effektiv anti-aliaserende virkning ved at man nærmer seg problemet fra et annet utgangspunkt enn det som er nevnt i forbindelse med teknikkens stand, nemlig systemnivået der man i stedet for å pålegge datamaskinen den stadige oppgave å filtrere bildet når det finnes detaljer i dette, vil oppfinnelsen tildele så meget som mulig av den overskytende aktivitet til en ny komponent 23 på utgangssiden eller som vanlig er, lesesiden for bildeminnet (fig. 3). Ved foreliggende oppfinnelse blir hver aktive piksel i bildeminnet ekspandert ut i en gaussisk profil i en stråledanner 23 (dvs. den nye komponent). Dette er vist bildemessig ved 13 på fig. 2 som gjengir denne ekspansjon. The present invention results in effective anti-aliasing effect by approaching the problem from a different starting point than that mentioned in connection with the state of the art, namely the system level where instead of imposing on the computer the constant task of filtering the image when it exists details in this, the invention will allocate as much as possible of the excess activity to a new component 23 on the output side or, as is usual, the read side of the image memory (fig. 3). In the present invention, each active pixel in the image memory is expanded into a Gaussian profile in a beam former 23 (ie the new component). This is shown pictorially at 13 in fig. 2 which reproduces this expansion.
Systemets nye komponent kalles stråledanner. Den har som ekstra oppgave å utføre antialiaseringen og virke som et tilpasningsfilter mellom grafikkgeneratoren og skjermanordningen 22. Den begrenser bildets båndbredde i overens stemmelse med utvalgsteorien om å benytte delpikselinformasjon som et middel til å øke den tilsynelatende utvalgsfrekvens for systemet, særlig når det gjelder skjerm-hodet hvis det benyttes fargemosaikkskjermer. I dette nye system ligger stråledanneren mellom skjermanordningen og datamaskinen (fig. 3b). De mest fremtredende trekk ved stråledanneren er: a) Den ekspanderer impulsdata fra bildeminnet 21a, inn i punktspredefunksjonen 13, hvis båndbredde ligger innenfor grensene i utvalgssysternet som kan være skjermen 22; og b) Den benytter delpikselinformasjon fra grafikkgeneratorsystemet 24, til justering av lystetthetssentroiden for The system's new component is called a beam former. It has the additional task of performing the anti-aliasing and acting as an adaptation filter between the graphics generator and the display device 22. It limits the bandwidth of the image in accordance with the sampling theory of using sub-pixel information as a means of increasing the apparent sampling frequency of the system, particularly when it comes to screen- the head if color mosaic screens are used. In this new system, the beam former is located between the display device and the computer (Fig. 3b). The most prominent features of the beamformer are: a) It expands impulse data from the image memory 21a, into the point spread function 13, the bandwidth of which lies within the limits of the selection system which may be the screen 22; and b) It uses subpixel information from the graphics generator system 24 to adjust the luminance centroid for
punktspredefunksjonen 13, slik at den opptrer mellom utvalgspunktene som kan være de man har i skjermen 22, slik at man oppnår bedre adresseringsmuligheter når det gjelder punktenes posisjon. the dot spread function 13, so that it acts between the selection points which can be the ones you have in the screen 22, so that you achieve better addressing possibilities when it comes to the position of the points.
I datamaskinen behøver bare noen få funksjonsmoduler å bli modifisert for å kunne arbeide i dette nye system. På fig. 3b må den første funksjonsmodul, nemlig grafikkgeneratoren 20a, avgi delpikselinformasjon i tillegg til standard adresse-utgang med hele posisjonstall. Delpikselinformasjon er vanligvis tilgjengelig på dette området, men blir ofte benyttet utenfor grafikkgeneratoren. In the computer, only a few function modules need to be modified to be able to work in this new system. In fig. 3b, the first function module, namely the graphics generator 20a, must output partial pixel information in addition to the standard address output with full position numbers. Subpixel information is usually available in this area, but is often used outside of the graphics generator.
Den andre modul, bildeminnet 21a, må modifiseres for å innbefatte et lager til den nye delpikselinformasjon som avgis av grafikkgeneratoren. Bildeminnet må sørge for dette lager i tillegg til at det utgjør det vanlige lager for fargeinformasjon og bildeattributtinformasjon. Oppfinnelsen omfatter derfor den nye stråledannende komponent 23, i tillegg til disse modifiserte komponenter 20a og 21a i datamaskinen. The second module, the image memory 21a, must be modified to include a store for the new sub-pixel information emitted by the graphics generator. The image memory must provide this storage in addition to constituting the usual storage for color information and image attribute information. The invention therefore includes the new beam-forming component 23, in addition to these modified components 20a and 21a in the computer.
Fordelene ved denne oppfinnelsen innbefatter: The advantages of this invention include:
betydelig forbedret behandlingsgjennomgang, systemets enkle oppbygging og lavere omkostninger særlig når det gjelder teknologi for fargemosaikkskjermer. Det er en videre fordel med denne oppfinnelse at den på en effektiv måte er anti-aliaserende for fargemosaikkskjermer. I tillegg byr oppfinnelsen på en stor grad av uavhengighet av grafikkprosessoren fra oppløsningen og pikselarrangementet i skjerm-teknologien . significantly improved treatment review, the system's simple structure and lower costs, especially when it comes to technology for color mosaic screens. It is a further advantage of this invention that it is effectively anti-aliasing for color mosaic displays. In addition, the invention offers a large degree of independence of the graphics processor from the resolution and pixel arrangement in the display technology.
På denne måte arbeider stråledanneren 23 med data som kommer fra bildeminnet og frembringer riktig antialiaserte data som vises på skjermen. Den ser på et vindu med data fra bildeminnet og beregner den rette styrkeverdi som skal vises. Den forflytter funksjonen med antialiasering fra grafikkgeneratoren til en egen dedikert maskinvareseksjon. Stråledanneren løser flere problemer man har i det vanlige system. Grafikkgeneratoren slipper å gjøre noe som helst antialiaserende arbeid og dermed økes systemets gjennomløpskapasitet. Dessuten gjør stråledanneren all behandling som er knyttet til fargemosaikkskjermer, noe som igjen øker systemets gjennomløpsevne ved at man reduserer arbeidsbelastningen for grafikkgeneratoren. In this way, the beamformer 23 works with data coming from the image memory and produces properly anti-aliased data that is displayed on the screen. It looks at a window of data from the image memory and calculates the correct strength value to display. It moves the function of anti-aliasing from the graphics generator to a separate dedicated hardware section. The beam generator solves several problems that are encountered in the usual system. The graphics generator does not have to do any anti-aliasing work and thus the system's throughput capacity is increased. In addition, the beamformer does all the processing associated with color mosaic screens, which in turn increases the system's throughput by reducing the workload for the graphics generator.
Oppfinnelsen er kjennetegnet ved de kravene i gjengitte trekk og vil i det følgende bli forklart nærmere under henvisning til tegningene der: Fig 1 viser forskjellen mellom formen på en aliasert linje og en anti-aliasert linje. Den aliaserte linjen er tagget mens den anti-aliaserte linje er jevn og sammenhengende. Fig. 2 viser bildemessig inngangs-/utgangsforholdet for den stråledannende komponent. Inngangen er impulsdata fra grafikkgeneratorsystemet. Utgangen er den punktspredte funksjon fra stråledanneren ført sammen med pulsinngangen. Resultatet er sentrering av delpikslen, noe som fører til høyere presisjon ved plasseringen av fargeenergi på skjermen. Fig. 3a viser en vanlig bildebehandlingsarkitektur som anvender en antialiaserende fremgangsmåte med skrivesyklus. Antialiasering utføres av grafikkprosessoren når bildet trekkes og skrives inn i bildeminnet. Fig. 3b viser oppfinnelsen der den driver en skjerm. Den stråledannende modul er blitt føyet til et modifisert system som nå er et antialiaserende system i lesesyklus. Fig. 4 viser ideen med delpikselposisjon i en piksel i bildeminnet. En delpikselposisjon er markert som et eksempel på hvor i en piksel oppfinnelsen kan instrueres om å plassere lystetthetssentroiden. Fig. 5 viser den modifiserte form for grafikkprosessor som benyttes i oppfinnelsen, i stedet for å gi standard hele tall x og y som adresseverdier for adressering av bildeminnet, sørger den modifiserte vektorgenerator også for delpiksler eller fraksjonsadressedata. Fig. 5a viser den modifiserte form for bildeminnet. Lager for farge- eller attributtdata, etc. 71, er vist på samme måte som et lager for delpikseladresseinformasjon 72, som fås fra den modifiserte vektorgenerator. Fig. 6 viser et eksempel på et forskyvbart vindu som benyttes for stråledannerbehandling og viser hvorledes stråledanneren virker. Den får et datavlndu fra bildeminnet og foretar passende behandling for å avgi en enkel utgangspiksel. Det forskyvbare vindu beveges fra venstre mot høyre på hver linje og fra topp til bunn. Fig. 7 viser et blokkskjema for stråleformerens innvendige detaljer. For det første utføres det fargebehandling for å sortere data i følge den neste utgangspiksel (bare for fargemosaikkskjermer). For det andre utføres det en skygge-sammenlikning for hver aktive piksel i vinduet basert på en gaussisk profil. For det tredje blir alle skygger sammenlignet for å bestemme den maksimale skygge. Til slutt blir denne skygge ført som utgang til skjermanordningen. Fig. 8 viser et eksempel på fargebehandling. Det er vist et forskyvbart vindu i et bildeminne som inneholder en gul (rød og grønn) linje og en rød linje. Fig. 9 er et eksempel på en f argebehandling for farge-sortering som utføres for en grønn neste utgangspiksel. Fig. 10 er et eksempel på en f argebehandling for farge-sortering utført for en rød neste utgangspiksel. Fig. 11 viser en gaussisk profil i et forskyvbart vindu. Dette eksempel på gaussisk profil i bevegelig vindu benyttes for sammenligningsverdier for skygge. Fig. 12-17 er eksempler på forskyvbare vinduer der det vises ett punkt i bildeminnet som passerer gjennom et forskyvbart vindu, og representerer 6 på hverandre følgende tidsrammer. Fig. 18-26 er eksempler på forskyvbare vinduer svarende til fig. 12-17 og viser tre punkter i bildeminnet nær hverandre. De 9 figurene representerer posisjonen for det forskyvbare vindu for 9 på hverandre følgende tidsrammer. Fig. 27 er en gaussisk profil basert på 8 nyanser av grått. Det er vist en lystetthetsprofil for en 0,5 mm bred halv-amplitudelinje som er tegnet med 8 nyanser av grått. Piksel-avstanden antas å være 0,17 mm. Fig. 28 er en gaussisk profil basert på 6 nyanser av grått. Det er vist en lystetthetsprof il for en 0,5 mm bred halv-amplitudelinje som er tegnet med 6 nyanser av grått. Piksel-avstanden antas å være 0,17 mm. Fig. 29 er en gaussisk profil basert på 4 nyanser av grått. Det er vist en lystetthetsprof il for en 0,5 mm bred halv-amplitudelinje som er tegnet med 4 nyanser av grått. Piksel-avstanden antas å være 0,17 mm. The invention is characterized by the claims in reproduced features and will be explained in more detail below with reference to the drawings therein: Fig 1 shows the difference between the shape of an aliased line and an anti-aliased line. The aliased line is jagged while the anti-aliased line is smooth and continuous. Fig. 2 shows the image-wise input/output ratio for the beam-forming component. The input is impulse data from the graphics generator system. The output is the point spread function from the beamformer combined with the pulse input. The result is centering of the sub-pixel, which leads to higher precision in the placement of color energy on the screen. Fig. 3a shows a common image processing architecture using a write-cycle anti-aliasing method. Anti-aliasing is performed by the graphics processor when the image is drawn and written to the image memory. Fig. 3b shows the invention where it drives a screen. The beamforming module has been added to a modified system which is now an anti-aliasing system in the read cycle. Fig. 4 shows the idea of sub-pixel position in a pixel in the image memory. A sub-pixel position is marked as an example of where in a pixel the invention can be instructed to place the light density centroid. Fig. 5 shows the modified form of graphics processor used in the invention, instead of giving standard whole numbers x and y as address values for addressing the image memory, the modified vector generator also provides partial pixels or fractional address data. Fig. 5a shows the modified form of the image memory. Store for color or attribute data, etc. 71 is shown similarly to store for sub-pixel address information 72, which is obtained from the modified vector generator. Fig. 6 shows an example of a movable window that is used for beamforming treatment and shows how the beamforming works. It receives a data signal from the image memory and performs appropriate processing to produce a single output pixel. The sliding window is moved from left to right on each line and from top to bottom. Fig. 7 shows a block diagram of the internal details of the beam shaper. First, color processing is performed to sort data according to the next output pixel (for color mosaic displays only). Second, a shadow comparison is performed for each active pixel in the window based on a Gaussian profile. Third, all shadows are compared to determine the maximum shadow. Finally, this shadow is passed as output to the display device. Fig. 8 shows an example of color processing. A sliding window is shown in an image memory containing a yellow (red and green) line and a red line. Fig. 9 is an example of a color processing for color sorting performed for a green next output pixel. Fig. 10 is an example of a color processing for color sorting carried out for a red next output pixel. Fig. 11 shows a Gaussian profile in a sliding window. This example of Gaussian profile in moving window is used for shadow comparison values. Fig. 12-17 are examples of sliding windows where one point is shown in the image memory that passes through a sliding window, and represents 6 consecutive time frames. Fig. 18-26 are examples of sliding windows corresponding to fig. 12-17 and shows three points in the image memory close to each other. The 9 figures represent the position of the sliding window for 9 consecutive time frames. Fig. 27 is a Gaussian profile based on 8 shades of gray. A luminance profile is shown for a 0.5 mm wide half-amplitude line drawn in 8 shades of grey. The pixel spacing is assumed to be 0.17 mm. Fig. 28 is a Gaussian profile based on 6 shades of gray. A light density profile is shown for a 0.5 mm wide half-amplitude line drawn with 6 shades of grey. The pixel spacing is assumed to be 0.17 mm. Fig. 29 is a Gaussian profile based on 4 shades of grey. A light density profile is shown for a 0.5 mm wide half-amplitude line drawn with 4 shades of grey. The pixel spacing is assumed to be 0.17 mm.
Fig. 30 viser et vektordiagram i et bildeminne. Fig. 30 shows a vector diagram in an image memory.
Fig. 31 viser et blokkskjema for en vektorgenerator og fig. 32 viser et blokkskjema for en vektorgenerator anvendt sammen med en stråledanner. Fig. 33 viser en vektor som er egnet ved anvendelse av den modifiserte vektorgenerator på fig. 32. Fig. 34 viser en utførelsesform for et dobbelt bildeminne-mønster (ping-pong-mønster) og fig. 35 viser en modifisert utførelsesform for en ping- eller pongdel av bildeminnet. Fig. 36 viser en utførelsesform for et blokkskjema med databaner for behandling av en 3 x 3 kjerne til frembringelse av fargepunktutganger. Fig. 31 shows a block diagram of a vector generator and fig. 32 shows a block diagram of a vector generator used in conjunction with a beamformer. Fig. 33 shows a vector which is suitable when using the modified vector generator of fig. 32. Fig. 34 shows an embodiment of a double image memory pattern (ping-pong pattern) and fig. 35 shows a modified embodiment of a ping or pong part of the image memory. Fig. 36 shows an embodiment of a block diagram of data paths for processing a 3 x 3 core to produce color point outputs.
På fig. 3A er det vist et vanlig skjermsystem med en grafikkgenerator 20, et bildeminne 21 og en matriseskjerm 22. Fig. 3B viser en foretrukket utførelsesform for oppfinnelsen. Den innbefatter den modifiserte grafikkgenerator 20a, det modifiserte bildeminnet 21a, og stråledannerens filterelement 23 sammen med skjermen 22. På fig. 5 er den modifiserte grafikkgenerator 20a vist. I stedet for å bare avgi standard hele tall x og y adresseverdier 50 for adressering av bildeminnet, avgir den modifiserte grafikkgenerator også delpikseldata eller fraksjonsadressedata 51. Denne delpikselinformasjon eller fraksjonsadresseinformasjon 51 kan benyttes til å innrette et påfølgende systemelement, nemlig stråledanneren 23, til å justere lysenergi til områder mellom atskilte piksler. Betraktet med utvalgsteorien som bakgrunn, gir delpikselinformasjonen ytterligere informasjon om det utvalgspunkt som skal skrives inn i bildeminnet. Den gir også fasen for de utvalgte amplitudedata. Fig. 4 viser at delpikselinformasjonen kan anvendes til å anbringe lysenergi i et hvilket som helst av 16 posisjoner, f.eks. innenfor en enkel piksel 31, i bildeminnet 32. En forstørret gjengivelse 30 av pikslen 31 viser de delpiksler som kan gjøres tilgjengelig for skjermsystemet med større presisjon ved plasseringen av lysenergien som vil danne bildet. Delpiksel 33 f.eks. kan designeres av grafikkgeneratoren og lagres i det modifiserte bildeminnet. In fig. 3A shows a conventional screen system with a graphics generator 20, an image memory 21 and a matrix screen 22. Fig. 3B shows a preferred embodiment of the invention. It includes the modified graphics generator 20a, the modified image memory 21a, and the beam former filter element 23 together with the screen 22. In fig. 5, the modified graphics generator 20a is shown. Instead of simply outputting the standard integer x and y address values 50 for addressing the image memory, the modified graphics generator also outputs subpixel data or fractional address data 51. This subpixel or fractional address information 51 can be used to direct a subsequent system element, namely the beamformer 23, to adjust light energy to areas between separate pixels. Considered with the selection theory as a background, the sub-pixel information provides additional information about the selection point to be written into the image memory. It also provides the phase for the selected amplitude data. Fig. 4 shows that the sub-pixel information can be used to place light energy in any of 16 positions, e.g. within a single pixel 31, in the image memory 32. An enlarged rendering 30 of the pixel 31 shows the sub-pixels that can be made available to the display system with greater precision in the location of the light energy that will form the image. Subpixel 33 e.g. can be designed by the graphics generator and stored in the modified image memory.
På fig. 5a er den modifiserte form for bildeminnet 21a vist. I stedet for lagring bare av farge- eller attributtdata, etc. 71, er det modifiserte bildeminnet i stand til også å lagre delpikseladresseinformasjonen 72, som fås fra den modifiserte grafikkgenerator. Ved utlesing vil dette bildeminnet senere føre standard videoinformasjon sammen med delpikselinformasjonen til stråledanneren. In fig. 5a, the modified form of the image memory 21a is shown. Instead of storing only color or attribute data, etc. 71, the modified image memory is capable of also storing the subpixel address information 72, which is obtained from the modified graphics generator. When read out, this image memory will later carry standard video information together with the sub-pixel information of the beamformer.
Det skal igjen vises til fig. 2 eller 3b der stråledanneren 23 er vist. Dette inngangs/utgangsforhold viser at den opptrer svært likt et standard todimensjonalt bildebe-handlingsfilter. En puls fra bildeminnet påtrykket inngangen til stråledanneren, kommer ved stråledannerens utgang i ekspandert tilstand. Ekspansjonen er punktspredefunksjonen som stråledanneren har svarende til dette filters karakteri-stikker når det gjelder romfrekvensoverføring. Sagt på en annen måte blir hver aktive piksel i bildeminnet 21a ekspandert ut i en gaussisk profil i stråledanneren 23. De data som avsøkes ut av bildeminnet 21a samles i stråledanneren 23 og tolkes for å bestemme det rette styrkenivå for hver piksel. Reference should again be made to fig. 2 or 3b where the beam former 23 is shown. This input/output ratio shows that it behaves very similar to a standard two-dimensional image processing filter. A pulse from the image memory applied to the input of the beamformer arrives at the output of the beamformer in an expanded state. The expansion is the point spread function that the beamformer has corresponding to this filter's characteristics in terms of spatial frequency transmission. In other words, each active pixel in the image memory 21a is expanded into a Gaussian profile in the beamformer 23. The data that is scanned out of the image memory 21a is collected in the beamformer 23 and interpreted to determine the correct strength level for each pixel.
Det finnes minst fire fremtredende forskjeller mellom stråledanneren og tidligere kjente todimensjonale bilde-behandlende filtre: There are at least four prominent differences between the beamformer and previously known two-dimensional image-processing filters:
1) stråledanneren utvider filterteknologien på todimensjonal bildebehandling til også å løse problemet med anti-aliaserende rasterbilder i sin alminnelighet; 2) løsning av problemet med antialiaserende fargemosaikkskjermer i særdeleshet; 3) anvendelse av punktspredefunksjonen som er avledet for det gitte pikselmønster i en fargemosaikk; og 4) sentroiden for punktspredefunskjonen er mikroplasserbar under anvisning fra inngangsdelpikselinformasjonen. (Dette betyr at filterkoeffisientene er en funksjon av inngangs-data, forskjellig fra standard filterbruk.) 1) the beamformer extends the filter technology of two-dimensional imaging to also solve the problem of anti-aliasing raster images in its generality; 2) solving the problem of anti-aliasing color mosaic displays in particular; 3) applying the point spread function derived for the given pixel pattern in a color mosaic; and 4) the centroid of the point spread function is microplaceable under the direction of the input subpixel information. (This means that the filter coefficients are a function of input data, different from standard filter usage.)
Et annet viktig trekk ved denne oppfinnelse som består av den modifiserte grafikkgenerator, det modifiserte bildeminnet og stråledanneren, er dens omformingsevne ved avsøkning. Fordi stråledanneren 23 utgjør et grensesnitt mellom datamaskinen og skjermen, kan datamaskinens tegneelementer, dvs. grafikkprosessoren 20a og bildeminnet 21a konstrueres slik at de er uavhengige av oppløsningen og pikselarrangementet i skjermen. Én-til-én-overensstemmelse mellom bildeminnets lagerplasseringer og skjermens piksler, er ikke nødvendig. Stråledanneren sørger for en interpoleringsfunksjon mellom datamaskinen og en hvilken som helst rasterskjermteknologi. Dette er særlig nyttig når det gjelder fargemosaikkskjermer der oppløsningen og pikselarrangementet kan forandre seg fra skjermhode til skjermhode og mens denne skjermteknologi fortsatt er under utvikling. Fordelen med systemet er at datamaskinen blir stabilisert og uavhengig av slike ut-viklinger eller forandringer. En annen fordel er at grafikk-behandlingen kan utføres med lavere oppløsning, noe som fører til enda større økning i den effektive ytelse enn den man oppnår ved avlastning av den antialiaserende byrde alene. Videre er lese/modifiserings/skrivesykluser ikke nødvendige slik tilfellet er med tidligere kjent utstyr, siden anti-aliaserende data tilføyes på utgangssiden av bildeminnet og derfor ikke kan slette underliggende eller tidligere tegnet/- skrevet antialiasert informasjon. Dette resulterer i en ytterligere økning i den effektive prosessytelse. Another important feature of this invention which consists of the modified graphics generator, the modified image memory and the beamformer is its reshaping capability during scanning. Because the beam former 23 constitutes an interface between the computer and the screen, the computer's drawing elements, i.e. the graphics processor 20a and the image memory 21a, can be constructed so that they are independent of the resolution and pixel arrangement in the screen. One-to-one correspondence between image memory storage locations and display pixels is not required. The beamformer provides an interpolation function between the computer and any raster display technology. This is particularly useful when it comes to color mosaic displays where the resolution and pixel arrangement can change from display head to display head and while this display technology is still under development. The advantage of the system is that the computer is stabilized and independent of such developments or changes. Another advantage is that the graphics processing can be performed at a lower resolution, which leads to an even greater increase in the effective performance than that achieved by relieving the anti-aliasing burden alone. Furthermore, read/modify/write cycles are not necessary as is the case with prior art equipment, since anti-aliasing data is added to the output side of the image memory and therefore cannot erase underlying or previously drawn/written anti-aliased information. This results in a further increase in the effective process performance.
Stråledanneren benytter informasjonen om delpikslenes posisjon fra bildeminnet til nøyaktigere posisjon av lysenergien på skjermen. Den kan enda nøyaktigere plassere lysenergien ved justering av sentroiden for lystetthet for punktspredefunksjonen som er utgangen. Da punktspredefunksjonen dekker en samling av piksler, kan energimengden fra pikslene justeres i forhold til hverandre, og ved å gjøre dette kan man få til at energien tilsynelatende kommer fra områder mellom piksler. I den foretrukne utførelsesform anbringer stråledanneren lysenergi innenfor en tredjedel av et bueminutt overfor det som sees med øyet. I et typisk tilfelle gjelder dette én firetusendel av skjermens bredde/- høyde når det gjelder plasseringsnøyaktighet. Man får muligheter for finjustering som kan benyttes for å eliminere utvalgsartifaktene i skjermsystemet. The beam former uses the information about the position of the sub-pixels from the image memory to more precisely position the light energy on the screen. It can place the light energy even more accurately by adjusting the light density centroid for the point spread function that is the output. As the point spread function covers a collection of pixels, the amount of energy from the pixels can be adjusted in relation to each other, and by doing this you can make the energy appear to come from areas between pixels. In the preferred embodiment, the beam former places light energy within one-third of an arcminute of what is seen with the eye. In a typical case, this applies to one four-thousandth of the screen's width/height in terms of placement accuracy. You get options for fine-tuning that can be used to eliminate the selection artefacts in the display system.
Bruk av stråledanneren eliminerer også behovet for at grafikkgeneratoren skal vite fargearrangementet i en farge-mosaikkskj erm , som tilfellet er når det gjelder teknologien for fargematriser med flytende krystallskjermer (LCD). Hver piksel i bildeminnet kan behandles uavhengig av pikselarrangementet i LCD. Farge kan skrives inn i bildeminnet uten hensyn til skjermens pikselarrangement slik man også kunne tidligere, men bare med mosaikkskjermteknologi uten farger på samme måte som skjermteknologi med katodestrålerør. Stråledanneren kan innbefatte en fargesekvenser og sammenlignings-mekanisme for å dele opp fargen fra bildeminnet i primære fargekomponenter som omfatter fargemosaikkmønstre i en bestemt skjerm. På denne måte kan de forskjellige piksel-mønstre lett styres slik at teknologien for fargemosaikkskjermer blir like hensiktsmessige, å håndtere som katode-strålerørteknologi. Typiske mønstre for primærfarger som benyttes i fargemosaikkskjermer innbefatter den vertikale RGB-stripe, den diagonale RGB-stripe, delta- eller heksagon- mønstre RGB, Quad-RGBG, Honeywell Ouad-RGBY og Quad-RGBW, der RGB betegner rødt, grønt og blått, og der Y og W angir gult og hvitt. Using the beamformer also eliminates the need for the graphics generator to know the color arrangement of a color mosaic display, as is the case with liquid crystal display (LCD) color matrix technology. Each pixel in the image memory can be processed independently of the pixel arrangement in the LCD. Color can be written into the image memory without regard to the screen's pixel arrangement as it could before, but only with mosaic screen technology without colors in the same way as screen technology with cathode ray tubes. The beamformer may include a color sequencer and comparison mechanism for dividing the color from the image memory into primary color components comprising color mosaic patterns in a particular display. In this way, the different pixel patterns can be easily controlled so that the technology for color mosaic screens becomes as convenient to handle as cathode ray tube technology. Typical primary color patterns used in color mosaic displays include the vertical RGB strip, the diagonal RGB strip, delta or hexagon patterns RGB, Quad-RGBG, Honeywell Ouad-RGBY and Quad-RGBW, where RGB stands for red, green and blue , and where Y and W denote yellow and white.
Stråledanneren 23 skaper antialiaserende styrkenivåer for hver primaerf arge. F.eks. i en rasterskjerm på et katode-strålerør, vil styrkenivåene for de røde, grønne og blå kanaler bli tolket hver for seg uavhengig av de andre fargekanaler. Man får dermed fargekontinuitet ved anvendelse av en stråledanner. The beamformer 23 creates anti-aliasing strength levels for each primary array. E.g. in a raster screen on a cathode ray tube, the strength levels of the red, green and blue channels will be interpreted separately independently of the other color channels. Color continuity is thus obtained by using a beam former.
Fig. 4 viser en forstørret gjengivelse 30 av én piksel 31 i bildeminnet 32, der adresserbarheten for hver delpiksel kan benyttes til å forbedre den tilsynelatende oppløsning. 16 delpiksler pr. piksel er vist på fig. 4 som eksempel. Adresserbarheten av delpikslen muliggjør mikroposisjonering av lystetthetsprofilen, som f.eks. ved 33 innenfor den forstørrede piksel 30. Linjeformen og plasseringen blir dermed mer nøyaktig. Delpikselinformasjonen blir lagret i bildeminnet 21a og benyttes av banedanneren 23 til fin-innstilling av det gaussiske strålesenter. Dette øker den effektive oppløsning i skjermanordningen 22, idet antall bits av delpikseladresserbarhet økes. Et 512 x 512 bildeminne med tre bits av x og y deladresserbarhet, kan plassere en piksel med en effektiv oppløsning for et 4k x 4k bildeminne. Fig. 4 shows an enlarged rendering 30 of one pixel 31 in the image memory 32, where the addressability of each sub-pixel can be used to improve the apparent resolution. 16 sub-pixels per pixel is shown in fig. 4 as an example. The addressability of the sub-pixel enables micro-positioning of the light density profile, which e.g. at 33 within the enlarged pixel 30. The line shape and location thus become more accurate. The sub-pixel information is stored in the image memory 21a and is used by the path former 23 for fine tuning of the Gaussian beam center. This increases the effective resolution in the display device 22, as the number of bits of sub-pixel addressability is increased. A 512 x 512 image memory with three bits of x and y subaddressability can accommodate a pixel with an effective resolution of a 4k x 4k image memory.
Banedanneren 23 danner et nytt system for anvendelse av et fastlagt mønster i vektorgeneratoren 20a og bildeminnet 21a, med forandringer bare krevet i stråledanneren for å drive forskjellige skjermanordninger. F.eks. vil en forandring fra et RGB-diagonalarrangement på en LCD-skjerm til en RGBG-quad-anordning, bare kreve en forandring i fargekodeopplegget for banedanneren 23 uten at forandringer er nødvendige i vektorgeneratoren 20a. Vektorgeneratoren trekker ut sitt bilde med det for øyet at hver piksel kan ha en hvilken som helst farge. Pikselfargearrangementet er helt ut bestemt av stråledanneren 23 som på sin side leser pikselarrangementet fra en liten PROM-enhet i den foretrukne utførelsesform. Det samme vektorgeneratorsystem kan drive skjermanordninger av forskjellige størrelser uten at det kreves noen forandring hverken i maskinvare eller programvare. Det er bare stråledanneren som endres ved endring av skjermanordninger. The path shaper 23 forms a new system for using a fixed pattern in the vector generator 20a and the image memory 21a, with changes only required in the beam shaper to drive different display devices. E.g. a change from an RGB diagonal arrangement on an LCD screen to an RGBG quad arrangement would only require a change in the color coding scheme of the path generator 23 without changes being necessary in the vector generator 20a. The vector generator extracts its image with the understanding that each pixel can be any color. The pixel color arrangement is completely determined by the beam former 23 which in turn reads the pixel arrangement from a small PROM unit in the preferred embodiment. The same vector generator system can drive display devices of different sizes without requiring any change in either hardware or software. It is only the beam former that is changed when the screen devices are changed.
Stråledanneren er en anordning som er beregnet på å bli anbrakt mellom bildeminnet og en rasterskjerm for å sørge for antialiasering for skjermanordningen. Stråledanneren inneholder et minne for å dannet et vindu av data. Arbeidsteorien bak stråledanneren er å eksaminere et datavindu i bildeminnet sentrert rundt den neste utgangspiksel og å bestemme det rette styrkenivå for utgangspikslen basert på data i det bevegelige vindu. The beamformer is a device intended to be placed between the image memory and a raster display to provide anti-aliasing for the display device. The beamformer contains a memory for forming a window of data. The working theory behind the beamformer is to examine a data window in the image memory centered around the next output pixel and to determine the correct power level for the output pixel based on data in the moving window.
Det skal nå vises til fig. 6 der man finner et eksempel på et bevegelig vindu som benyttes for stråledannerens behandling og den resulterende piksel som vises på skjermen. Denne figur viser et eksempel på hvorledes stråledanneren arbeider. Den tar et vindu med data fra bildeminnet og foretar en passende behandling til frembringelse av en enkel utgangspiksel. Det bevegelige vindu føres fra venstre mot høyre på hver linje og fra topp til bunn på samme måte som en typisk rasterskjerm-anordning. Reference should now be made to fig. 6 where one finds an example of a moving window used for the beamformer's processing and the resulting pixel displayed on the screen. This figure shows an example of how the beam former works. It takes a window of data from the image memory and performs appropriate processing to produce a single output pixel. The movable window is moved from left to right on each line and from top to bottom in the same way as a typical raster screen device.
Stråledanneren inneholder i et typisk eksempel flere linje-minner som gir adgang til et vindu med data rundt den neste utgangspiksel. Størrelsen på vinduet bestemmes av geometrien i pikselmønsteret for skjermanordningen og den ønskede linjebredde på skjermen. I eksemplene vil et 6 x 6 vindu bli vist. In a typical example, the beamformer contains several line memories which give access to a window of data around the next output pixel. The size of the window is determined by the geometry of the pixel pattern of the display device and the desired line width on the screen. In the examples, a 6 x 6 window will be displayed.
Det første trinn i stråledannerens drift er å sortere de aktive elementer i vinduet etter farge. På fig. 7 er det vist et blokkskjema over stråledannerens komponenter. Stråledanneren 23 omfatter en komponent 50 med styrkevalg fra fargebits, en nyansesammenlignende komponent 51, en av sluttende maksimalnyansekomponent 52, og en bevegelses-komponent 53 for vinduet. Blokken 50 er tilegnet fargebehandling. Den første fargebehandling går ut på å sortere data i overensstemmelse med den neste utgangspiksel (bare for fargemosaikkskjermer). Deretter foretas en nyansesammen-ligning for hver aktive piksel i vinduet basert på en gaussisk profil. For det tredje blir alle nyanser sammenlignet for å bestemme den maksimale nyanse. Denne maksimale nyanse blir utgangen til skjermen. Fig. 8 viser et eksempel på innholdene i et forskyvbart vindu før fargebehandlingen, idet det bevegelige vindu overlapper et bilde i bildeminnet inneholdende en gul (grønn og rød) linje og en rød linje. Fig. 9 viser et eksempel på innholdene i det forskyvbare vindu etter fargebehandling for en grønn neste utgangspiksel, og fig. 10 viser et eksempel på det bevegelige vindu etter f argebehandling for en rød neste utgangspiksel. For bilderør med raster der hver piksel inneholder hver farge, kan behandlingen gjøres parallelt med rødt i én kanal, blått i en annen og grønt i en tredje kanal. The first step in the beamformer's operation is to sort the active elements in the window by color. In fig. 7 shows a block diagram of the beam former's components. The beam generator 23 comprises a component 50 with strength selection from color bits, a shade comparison component 51, a final maximum shade component 52, and a movement component 53 for the window. Block 50 is dedicated to color processing. The first color processing involves sorting data according to the next output pixel (only for color mosaic displays). A shade comparison is then made for each active pixel in the window based on a Gaussian profile. Third, all shades are compared to determine the maximum shade. This maximum shade becomes the output of the screen. Fig. 8 shows an example of the contents of a movable window before the color processing, as the movable window overlaps an image in the image memory containing a yellow (green and red) line and a red line. Fig. 9 shows an example of the contents of the scrollable window after color processing for a green next output pixel, and Fig. 10 shows an example of the moving window after color processing for a red next output pixel. For picture tubes with rasters where each pixel contains each color, processing can be done in parallel with red in one channel, blue in another, and green in a third channel.
Etter at fargesorteringen har funnet stede benyttes en sammenligningstabellmetode til bestemmelse av styrke basert på avstand fra sentrum av vinduet for å bestemme styrken for hver aktive piksel i det forskyvbare vindu. En gaussisk profil tilpasset skjermanordningen benyttes til å bestemme styrken for hver aktive piksel. After the color sorting has occurred, a comparison table method is used to determine strength based on distance from the center of the window to determine the strength for each active pixel in the sliding window. A Gaussian profile adapted to the display device is used to determine the strength for each active pixel.
På fig. 11 er det vist et eksempel på en gaussisk profil innenfor det bevegelige vindu. Hver ring 60, 61, 62, 63, 64, 65 og 66 i profilen representerer et styrkenivå på samme måte som et topografisk kart representerer høydedata med koter. Et styrkenivå blir beregnet for hver aktive piksel i det forskyvbare vinduet basert på denne gaussiske profil. Delpikseldata benyttes ved bestemmelsen av styrkenivået. Delpikseldata benyttes til sammenligning av styrken i hovedblokkene som er vist på fig. 11. Det neste trinn i behandlingen er å bestemme det maksimale styrkenivå for alle de aktive piksler. Dette gjøres ved bruk av sammenlignere eller en annen sammenligningstabell. Det maksimale styrkenivå benyttes som utgangsstyrkenivået. In fig. 11 shows an example of a Gaussian profile within the moving window. Each ring 60, 61, 62, 63, 64, 65 and 66 in the profile represents a strength level in the same way that a topographic map represents elevation data with elevations. A power level is calculated for each active pixel in the sliding window based on this Gaussian profile. Sub-pixel data is used to determine the strength level. Sub-pixel data is used to compare the strength in the main blocks shown in fig. 11. The next step in the processing is to determine the maximum strength level for all the active pixels. This is done using comparators or another comparison table. The maximum strength level is used as the starting strength level.
Fig. 12-17 betraktes som en gruppe av tidsrammer. Fig. 12 viser et enkelt datapunkt 70 i bildeminnet idet det skal filtreres på én linje 83 i det forskyvbare vindu 72. Ingen andre punkter vil ha noe bidrag til bildet. De tykke linjer 80 til 86 og 90 til 96 representerer pikselgrenser, i dette tilfellet for et 6 x 6 vindu med piksler. De tynne linjer som f.eks. 87 og 97 representerer delpikseladresser, 16 pr. piksel i eksemplet på fig. 12. Sirklene 60-66 representerer grenser for hvert styrkenivå. I fig. 12-17 blir vinduet 72 forskjøvet én piksel til høyre med hver påfølgende ramme, slik at det oppstår en tilsynelatende bevegelse til venstre av det ene punkt 70 når gruppen av rammer undersøkes i rekkefølge. Det de seks på hverandre følgende rammer på fig. 12-17 og styrken og utgangsstyrken dette ene datapunkt 70 bidrar med, er vist i tabellen nedenfor: Fig. 12-17 is considered a group of time frames. Fig. 12 shows a single data point 70 in the image memory as it is to be filtered on one line 83 in the movable window 72. No other points will have any contribution to the image. The thick lines 80 to 86 and 90 to 96 represent pixel boundaries, in this case for a 6 x 6 window of pixels. The thin lines such as 87 and 97 represent sub-pixel addresses, 16 per pixel in the example of fig. 12. Circles 60-66 represent limits for each strength level. In fig. 12-17, the window 72 is shifted one pixel to the right with each successive frame, so that an apparent movement to the left of the one point 70 occurs as the group of frames is examined in sequence. The six consecutive frames in fig. 12-17 and the strength and output strength this one data point 70 contributes to, is shown in the table below:
Delpikseladressen benyttes for å bestemme den styrkeverdi som skal anvendes. Styrken er basert på den radielle posisjon, svært lik et typografisk kart. Den indre sirkel representerer styrkenivå 7 og faller ett nivåtrinn ned pr. omrissring til 0 utenfor den ytre sirkel. The sub-pixel address is used to determine the strength value to be used. The strength is based on the radial position, very similar to a typographic map. The inner circle represents strength level 7 and drops one level level per outline to 0 outside the outer circle.
Mens fig. 12-17 viste et eksempel på et enkelt datapunkt i bildeminnet idet punktet filtreres på linjen for det bevegelige vindu, skal det nå vises til fig. 18-26 der man finner et eksempel på flere datapunkter i bildeminnet nær hverandre idet de filtreres gjennom det forskyvbare vindu ved en enkel passasje over skjermen. De ni figurer representerer det bevegelige vindu for ni på hverandre følgende tidsrammer. Først foretas det en styrkesammenligning for hver punkt, deretter foretas det en sammenligning for å finne den maksimale styrke. I dette tilfellet blir den maksimale styrke som er bestemt ved sammenligning av alle aktive punkter i vinduet, benyttet som verdiutgang til skjermen. Tabell 2 nedenfor summerer opp tre punkter 97, 98 og 99 i bildeminnet nær hverandre idet de filtreres gjennom det forskyvbare vindu på en enkel linje. While fig. 12-17 showed an example of a single data point in the image memory as the point is filtered on the line for the moving window, it should now be shown to fig. 18-26 where one finds an example of several data points in the image memory close to each other as they are filtered through the sliding window by a simple passage over the screen. The nine figures represent the moving window for nine consecutive time frames. First a strength comparison is made for each point, then a comparison is made to find the maximum strength. In this case, the maximum strength determined by comparing all active points in the window is used as value output to the screen. Table 2 below summarizes three points 97, 98 and 99 in the image memory close to each other as they are filtered through the sliding window on a single line.
Stråledanneren 23 kan benyttes til å frembringe antialiaserte data for linjer med forskjellige lysprofiler. Dette er en forandring i den gaussiske profil. Flere lysprofiler kan benyttes i en stråledanner alene. Behandling av flere lysnivåer skiller seg bare i den opprinnelige gaussiske profil som benyttes til bestemmelse av styrkenivået for hver aktive piksel. En sammenligning gjøres for hver piksel basert på delpikselplassering og innstilling av styrkenivå. Deretter blir alle styrkenivåene sammenlignet for å finne den maksimale som skal anvendes som utgang. Forskjellige lysnivåer er omhandlet i sammenligningstabellen. Fig. 27, 28 og 29 viser tre forskjellige lysstyrkeprofiler. En antall av disse vil i et typisk eksempel være innlagt i stråledanneren for antialiasering av flere lysnivåer. The beam former 23 can be used to produce anti-aliased data for lines with different light profiles. This is a change in the Gaussian profile. Several light profiles can be used in one beamformer alone. Processing of multiple light levels differs only in the original Gaussian profile used to determine the strength level for each active pixel. A comparison is made for each pixel based on subpixel location and strength level setting. Then all the strength levels are compared to find the maximum to be used as output. Different light levels are discussed in the comparison table. Fig. 27, 28 and 29 show three different brightness profiles. A number of these will in a typical example be incorporated into the beam former for anti-aliasing of several light levels.
I denne oppfinnelse er en vektorgenerator en grafikkgenerator for et spesielt formål. Digitale vektorgeneratorer tegner i typiske tilfeller linjer og figurer ved inkrementell beregning av adresser for piksler, og kommanderer deretter en skriveoperasjon for hver av disse piksler. Den generelle ligning (yl-yO) = m(xl-xO) løses og anvendes som basis for beregning av adressen for hver piksel. Denne ligning brytes opp i de parametriske ekvivalenter som In this invention, a vector generator is a special purpose graphics generator. Digital vector generators typically draw lines and shapes by incrementally calculating addresses for pixels, and then command a write operation for each of those pixels. The general equation (yl-yO) = m(xl-xO) is solved and used as a basis for calculating the address for each pixel. This equation breaks down into the parametric equivalents which
xA= x0+ dx<*>i og yA= yQ+ dy<*>i xA= x0+ dx<*>i and yA= yQ+ dy<*>i
der m = dy/dx og i typiske tilfeller blir enten dy eller dx satt lik 1. where m = dy/dx and in typical cases either dy or dx is set equal to 1.
Fig. 30 viser en vektor som er tegnet i et vanlig bildeminne fra (0,0) til (7,5). Vektorgeneratoren løser grunnligningen for å få en verdi for m. Da delta Y er mindre enn delta X, benyttes dette uttrykk for å inkrementere Y-adressen når vektorgeneratoren beveger seg i trinn langs linjen. X-adressen inkrementeres med 1 hver gang. (Hvis delta Y > delta X, blir Y inkrementert med 1 og X inkrementert med l/m.) Fig. 31 viser et funksjonelt blokkskjema over en typisk vektorgenerator for X-adressen. Startpunktet blir først innført i akkumulatoren. Ved hver klokkesyklus vil akkumulatoren tilføye den tidligere akkumulatorutgang (lagret i sperreenheten) med det inkrement som spesifiseres av delta. Fig. 30 shows a vector drawn in a normal image memory from (0,0) to (7,5). The vector generator solves the basic equation to get a value for m. Since delta Y is less than delta X, this expression is used to increment the Y address as the vector generator moves in steps along the line. The X address is incremented by 1 each time. (If delta Y > delta X, Y is incremented by 1 and X is incremented by l/m.) Fig. 31 shows a functional block diagram of a typical vector generator for the X address. The starting point is first entered in the accumulator. At each clock cycle, the accumulator will add the previous accumulator output (stored in the latch) by the increment specified by delta.
Utgangen fra sperreenheten mates til en avrundingskrets for å frembringe X-adressen for neste piksel. Akkumulatoren har tilstrekkelig nøyaktighet til å håndtere fraksjonser. Avrundingskretsen avrunder tallene til hele verdier som kreves for pikseladresseringskretsen (f.eks. blir 27,862 avrundet til 28). En identisk krets benyttes til å frembringe Y-adressen. For fig. 30 vil utgangsverdiene og inkrementene for X og Y være: The output of the latch is fed to a rounding circuit to produce the X address of the next pixel. The accumulator has sufficient accuracy to handle fractions. The rounding circuit rounds the numbers to whole values required by the pixel addressing circuit (eg 27.862 is rounded to 28). An identical circuit is used to generate the Y address. For fig. 30, the output values and increments for X and Y will be:
Et vektordiagram som benyttes med stråledanneren drar fordel av brøkdelen av den informasjon som er tilgjengelig fra akkumulatoren. Fig. 32 viser et blokkskjema for en vektorgenerator som benyttes med en stråledanner. Det tilsvarer det som er vist på fig. 31 med to forskjeller. Avrundingskretsen som benyttet på fig. 31, er erstattet av en avkuttende krets til frembringelse av pikseladressen. Sperreutgangen mates til en ny blokk som trekker ut brøkdelene av pikseladressen. Denne fraksjonsdelsadresseinformasjon blir lagret i pikslen som delpikseldata sammen med datafeltet for normal farge og styrke. Delpikseldata lagres i hver piksel. Som et eksempel vil 27,862 bli kuttet av til 27 for adressen med helt tall og med 0,862 lagret i pikslen som delpikseldata. Fig. 33 viser en vektor som er tegnet under anvendelse av den modifiserte vektorgenerator. Ved å lagre delpikseldata i hver enkelt piksel, kan hver piksel posisjoneres meget nøyaktig. Fig. 33 viser 16 delpikselområder pr. piksel. En sammenligning av fig. 33 med fig. 30 viser hvorledes delpikseldata plasserer linjesenteret mere nøyaktig. (Fig. 33 er dobbelt så stor som fig. 30.) A vector diagram used with the beamformer takes advantage of the fraction of information available from the accumulator. Fig. 32 shows a block diagram for a vector generator used with a beam former. It corresponds to what is shown in fig. 31 with two differences. The rounding circuit used in fig. 31, is replaced by a clipping circuit for generating the pixel address. The latch output is fed to a new block which extracts the fractional parts of the pixel address. This fractional part address information is stored in the pixel as subpixel data along with the normal color and strength data field. Subpixel data is stored in each pixel. As an example, 27.862 would be truncated to 27 for the integer address and with 0.862 stored in the pixel as subpixel data. Fig. 33 shows a vector drawn using the modified vector generator. By storing sub-pixel data in each individual pixel, each pixel can be positioned very precisely. Fig. 33 shows 16 sub-pixel areas per pixel. A comparison of fig. 33 with fig. 30 shows how subpixel data places the line center more accurately. (Fig. 33 is twice as large as Fig. 30.)
I rasteravsøkende skjermanordninger vil elektronstrålen løpe over skjermen på en ordnet måte, oftest fra venstre til høyre og fra topp til bunn. Fordi skjermanordningene benytter hurtigreagerende fosforiserende stoffer for å gjengi bevegelse på skjermen, vil bildene som frembringes forsvinne straks etter at de er blitt aktivert og det er derfor behov for å friske opp disse med regelmessige mellomrom, i typiske tilfeller ved en frekvens på 60 Hz. In raster scanning screen devices, the electron beam will run across the screen in an orderly manner, most often from left to right and from top to bottom. Because the display devices use fast-reacting phosphorescent substances to reproduce movement on the screen, the images produced will disappear immediately after they have been activated and there is therefore a need to refresh these at regular intervals, in typical cases at a frequency of 60 Hz.
I datagrafikksystemer foregår oppfrisking av bildet ved anvendelse av en spesiell oppfriskingsbuffer, et bildeminne, som i et typisk eksempel kan anvende faststoffsdirektelager-teknologi. Hvert lagerpunkt i bildeminnet er i én-til-én-overensstemmelse med hvert punkt på skjermen. Bildeminnet kan da synliggjøres som en todimensjonal sats av lagerpunkter adressert med en x-adresse og en y-adresse. Disse adresser frembringes synkront med elektronstrålens avsøkningsbe-vegelse. x-adressen vil som regel bli inkrementert fra 0 til M-l, der M er antallet av horisontale bildeelementer på tvers av skjermen. Når verdien M-l blir nådd, blir x-adresseverdien tilbakestilt til 0 og y-adressen blir inkrementert. Y kan begynne ved 0 på toppen av skjermen og ender ved N-l, der N er antall rader nedad på skjermen. M og N ligger ofte i området 512 for rasterskjermer med katodestrålerør, men ligger i området på 1 280 for fargemosaikkskjermer. In computer graphics systems, the image is refreshed using a special refresh buffer, an image memory, which in a typical example can use solid state direct storage technology. Each storage point in the image memory is in one-to-one correspondence with each point on the screen. The image memory can then be visualized as a two-dimensional set of storage points addressed with an x-address and a y-address. These addresses are produced synchronously with the scanning movement of the electron beam. The x-address will usually be incremented from 0 to M-l, where M is the number of horizontal picture elements across the screen. When the value M-1 is reached, the x address value is reset to 0 and the y address is incremented. Y can start at 0 at the top of the screen and end at N-l, where N is the number of rows down the screen. M and N are often in the 512 range for cathode ray tube raster displays, but are in the 1280 range for color mosaic displays.
Hvert lagerpunkt inneholder data som benyttes til å aktivisere elektronkanonene i katodestrålerøret til et eller annet aktiviseringsnivå som tilsvarer den ønskede lysstyrke på skjermens flate. Data er vanligvis 8 bits for 256 grånivåer pr. rød, grønn eller blå kanon. På denne måte kan hvert minnepunkt være 24 bits dypt. I f argesystemer for luftbåret elektronikk er antall bits betydelig lavere, i alminnelighet 3 bits for å angi en hvilken som helst av 8 farger som kan gjengis på skjermen samtidig. Disse tre bits føres gjennom en sammenligningstabell som deler opp de designerte farger i primærfargekomponentene som er bestand- delene. Forholdet mellom rødt, grønt og blått kan velges med 8 bits presisjon, å gi en meget bred fargepalett som de 8 farger kan velges fra. Each storage point contains data that is used to activate the electron guns in the cathode ray tube to some activation level that corresponds to the desired brightness on the screen's surface. Data is usually 8 bits for 256 gray levels per red, green or blue cannon. In this way, each memory point can be 24 bits deep. In color systems for airborne electronics, the number of bits is significantly lower, typically 3 bits to specify any of 8 colors that can be displayed on the screen at the same time. These three bits are passed through a comparison table which divides the designated colors into the primary color components which are the constituents. The ratio between red, green and blue can be selected with 8-bit precision, giving a very wide color palette from which the 8 colors can be selected.
Bildeminner ble tidligere utført med statiske eller dynamiske direktelager-anordninger, hvis båndbredder ble forsterket til videohastigheter med oppfølgende skifteregistre. Et ord med en bredde på 16 piksler ville bli innlest i et skifte-register 16 som f.eks. er 16 enheter (bins) bredt og deretter klokket ut med skifteregisterets fulle hastighet som er langt høyere enn tilgjengelighetstiden for direktelagre. I dag er disse egne fremgangsmåter fra gamle dager pakket inn i en enkelt integrert krets som kalles Video RAM eller VRAM. Disse brikkene er meget effektive ved oppbygging av bildeminner og benyttes i den foretrukne utførelse. Enkeltvis kan de by på tilstrekkelige lagringsmuligheter til å dekke hele skjermen for mange anvendelser. Image memories were previously implemented with static or dynamic direct storage devices, the bandwidths of which were amplified to video rates with subsequent shift registers. A word with a width of 16 pixels would be read into a shift register 16 such as is 16 units (bins) wide and then clocked out at the full speed of the shift register which is far higher than the availability time of direct storage. Today, these proprietary methods from the old days are packaged into a single integrated circuit called Video RAM or VRAM. These chips are very effective in building up image memories and are used in the preferred design. Individually, they can offer sufficient storage options to cover the entire screen for many applications.
Skiftregisteret muliggjør adgang til minnet fra datamaskinen mens data leses ut til katodestrålerøret eller skjermanordningen. Dette muliggjør en sammenfletting av lese- og skrivesykluser. Bildet kan tegnes mens det vises. I sanntids-anvendelser der man venter en stor del bevegelse, kan imidlertid oppdatering av bildet ved oppfrisking av skjermen føre til visuelle artifakter. Gammel og ny data kan blandes sammen på skjermen og skape gap i bildet og merkelige svevefrekvenser i dette. For å unngå disse problemer er en oppbygning med dobbelt bildeminne nyttig (fig. 34). Med denne oppbygning blir én minnebuffer benyttet for å friske opp skjermen, mens en annen komplett bildeminnebuffer i sin helhet er viet grafikkgeneratoren til bildegjengivelse. Når generatoren har fullført tegning av bildet, gir den melding om dette til kretsene for synkronisering av maskinvaren. Disse kretser bytter om bufferne under den vertikale tilbakeløpsperiode da videosignalet slettes fra å bli vist. Resultatet er at fullstendige bilderammer kan gjengis til enhver tid uten synlige brudd i bildeinnholdet. The shift register enables access to memory from the computer while data is being read out to the cathode ray tube or display device. This enables an interlacing of read and write cycles. The image can be drawn while it is displayed. However, in real-time applications where a large amount of movement is expected, updating the image by refreshing the screen can lead to visual artifacts. Old and new data can be mixed together on the screen and create gaps in the image and strange floating frequencies in it. To avoid these problems, a structure with double image memory is useful (fig. 34). With this structure, one memory buffer is used to refresh the screen, while another complete image memory buffer is entirely devoted to the graphics generator for image rendering. When the generator has finished drawing the image, it notifies the hardware synchronization circuits. These circuits swap the buffers during the vertical rollback period when the video signal is erased from display. The result is that complete image frames can be rendered at any time without visible breaks in the image content.
Ved utøvelse av oppfinnelsen kan en hvilken som helst av de klassiske bildeminnemønstre benyttes. Det spiller ingen rolle om dynamiske minnebrikker eller direktelagerbrikker benyttes. Det som er forskjellig er lagringsdybden og tildelingen. Lagringsmuligheter finnes for delpikseldata i tillegg til de vanlige farge-, prioritets- og andre attributter. Det modifiserte bildeminnet er fremdeles tilgjengelig for grafikkgeneratoren og blir fremdeles benyttet til oppfrisking av skjermanordningen. En billig lese-/skrive-oppdaterings-anordning for sammenflettede bildeinformasjoner kan benyttes, eller som et alternativ kan en dobbel oppbygning velges. I den foretrukne utførelse (fig. 34) der det benyttes VRAM, er bildeminnet 512 x 512 piksler i en dobbel utførelse. Hver piksel er 12 bits dyp, 6 bits for farge og ytterligere seks bits for lagring av delpikseldata, 3 bits for x-deladressering og 3 bits for y-deladressering. Disse data kan når de er lagret på denne måte leses ut fra det modifiserte bildeminnet for behandling i den stråledannende anordning. Dermed er dette en lesesyklusorientert fremgangsmåte eller prosess. Fig. 35 viser en modifisert del av det dobbelte bildeminnet. When practicing the invention, any of the classic image memory patterns can be used. It does not matter whether dynamic memory chips or direct memory chips are used. What is different is the storage depth and allocation. Storage options exist for subpixel data in addition to the usual color, priority and other attributes. The modified image memory is still available to the graphics generator and is still used to refresh the display device. An inexpensive read/write update device for interleaved image information can be used, or alternatively a dual structure can be chosen. In the preferred embodiment (fig. 34) where VRAM is used, the image memory is 512 x 512 pixels in a double embodiment. Each pixel is 12 bits deep, 6 bits for color and another six bits for storing sub-pixel data, 3 bits for x-sub-addressing and 3 bits for y-sub-addressing. This data, when stored in this way, can be read from the modified image memory for processing in the beam forming device. Thus, this is a reading cycle-oriented method or process. Fig. 35 shows a modified part of the double image memory.
Fig. 34 og 35 er en gjengivelse av denne utførelsesform. For mer informasjon om bildeminneteknologi kan det vises til boken "Fundamentals of Interactive Computer Graphics" av J.D. Foley og A. Van Dam, fra juli 1984, s. 129-135. Fig. 34 and 35 are a reproduction of this embodiment. For more information on image memory technology, reference may be made to the book "Fundamentals of Interactive Computer Graphics" by J.D. Foley and A. Van Dam, from July 1984, pp. 129-135.
Blokkskjemaet på fig. 36 viser databanene til behandling av en 3 x 3 kjerne til frembringelse av fargepunktutgangene for et RGGB Quad flatt panel. Senterpikslen i 3 x 3 matrisen ekspanderes til 4 utganger, én utgang for hvert av fargepunktene i Ouad-utførelsen. Dette gjør det mulig for 512 x 512 fullfeltminnet (FFM, som er omhandlet i tidligere avsnitt) å bli ekspandert for å drive en 1024 x 1024 quad grønn flat bildeskjerm. Dette blokkskjema kan lett utvides videre til andre størrelser for behandling av kjerner eller det kan bygges opp på annen måte for å drive andre piksel-mønstere. Kravet til en 3 x 3 kjerne betyr at pikseldata fra FFM må avsøkes slik at FFM-utgangen alltid er 1 rad og 1 piksel foran den pikseladresse som i øyeblikket er under behandling. 3x3 behandlingen av kjernen krever at 9 innføringer finnes for hver piksel. Dette oppnås med de to 512 x 12 bits FIFO som forsinker pikslene med henholdsvis én og to linjer. For hver linje har man tre 12-bits registre som blir fylt i rekkefølge. Således vil den nye piksel fra hver linje bli innført i det første register, mens det andre register mottar det tidligere innhold i det første register, og det tredje register blir fylt med et tidligere innhold i det andre register. Dermed har de 9 registre ved sin utgang innholdene for den 3x3 matrisen til behandling av en gitt piksel. De øvre 3 registre holder 3 piksler fra den neste datalinje, de midtre 3 registre inneholder 3 piksler fra den datalinje som i øyeblikket gjennomløper, og de nedre 3 registre inneholder 3 piksler fra den foregående datalinje. Man skal her huske på at bildeminnet alltid ligger én datalinje foran behandlingen av kjernen. The block diagram in fig. 36 shows the data paths for processing a 3 x 3 core to produce the color point outputs for an RGGB Quad flat panel. The center pixel in the 3 x 3 matrix is expanded to 4 outputs, one output for each of the color points in the Ouad implementation. This allows the 512 x 512 full-field memory (FFM, discussed in the previous section) to be expanded to drive a 1024 x 1024 quad green flat panel display. This block diagram can be easily extended further to other sizes for processing cores or it can be built in another way to drive other pixel patterns. The requirement for a 3 x 3 core means that pixel data from the FFM must be scanned so that the FFM output is always 1 row and 1 pixel ahead of the pixel address currently being processed. The 3x3 processing of the kernel requires that 9 entries exist for each pixel. This is achieved with the two 512 x 12 bit FIFOs which delay the pixels by one and two lines respectively. For each line there are three 12-bit registers which are filled in order. Thus, the new pixel from each line will be entered into the first register, while the second register receives the previous content of the first register, and the third register is filled with a previous content of the second register. Thus, the 9 registers at their output have the contents for the 3x3 matrix for processing a given pixel. The upper 3 registers hold 3 pixels from the next data line, the middle 3 registers contain 3 pixels from the currently running data line, and the lower 3 registers contain 3 pixels from the previous data line. It must be remembered here that the image memory is always one data line ahead of the processing of the core.
12-bits dataene for hver piksel kan inneholde en hvilken som helst kombinasjon av farge, styrke og delpikseladressering. Den foretrukne kombinasjon er 6 bits av fargekoder, 3 bits for x-deladressering og 3 bits for y-deladressering. Dette resulterer i at stråledannere skaper 64 farge/styrkekombina-sjoner og ekvivalenten til 4096 x 4096 adresseringer fra 512 x 512 FFM-enheten. Andre ønskelige bit-tildelinger er 4 bits for farge, 4 bits for styrke og 2 bits for hver av x og y delpikseladresseringer. Denne utførelse av stråledanneren kan drive to sett bit-tildelinger med en modusbit. The 12-bit data for each pixel can contain any combination of color, strength, and subpixel addressing. The preferred combination is 6 bits of color codes, 3 bits for x-part addressing and 3 bits for y-part addressing. This results in beamformers creating 64 color/intensity combinations and the equivalent of 4096 x 4096 addressing from the 512 x 512 FFM unit. Other desirable bit assignments are 4 bits for color, 4 bits for strength, and 2 bits for each of the x and y subpixel addresses. This embodiment of the beamformer can drive two sets of bit assignments with one mode bit.
Det venstre sett av 8k x 16 bits minner sørger for den opprinnelige omdannelse av pikseldata i utgangene med RGGB-komponenter. Dette minnet krever 13 bits for adressering: 12 bits fra pikseldata og én modusbit. Minnene kan være basert på enten direktelager (RAM) eller et programmerbart leselager The left set of 8k x 16 bit memories provides the original conversion of pixel data in the outputs with RGGB components. This memory requires 13 bits for addressing: 12 bits from pixel data and one mode bit. The memories can be based on either random access memory (RAM) or a programmable read-only memory
(PROM). Innholdene i minnene er oppfylt med fargepunktstyrker svarende til posisjonen i behandlingsvinduet for data tilhørende denne piksel i hver av de 9 matriseposisjoner. Dermed vil hvert minne i et typisk eksempel ha forskjellig innhold. Det øvre minnet kan f.eks. inneholde omformingen for den piksel som er én linje foran i y og 1 piksel foran i x. Som tidligere omhandlet vil pikselposisjonen og delpiksel-adresseringen kompensere for avstanden mellom pikslen og sentrum av hvert av fargepunktene ved beregning av farge-bidraget denne piksel har i den endelige utgang for hvert fargepunkt. 16-bits utgangen for denne første sats av minner gir 4 bits av styrkebidrag for hvert av fargepunktene. Med en fargekode for svart, vil alle fargepunktutganger ha en styrke på 0, mens med en fargekode for hvitt, vil hvert fargepunktbidrag variere avhengig av avstanden til senteret for det fargepunkt som frembringes. Man skal merke seg at de 2 grønne utganger ofte vil være forskjellige, siden avstanden fra disse to punkter normalt vil være forskjellige i forhold til sentrum av vinduet for 3x3 behandlingen. Den avstand som her diskuteres er fra sentrum av de enkelte fargepunkter som frembringes til delpikselplasseringen i den piksel som behandles (et samlet antall på 9 piksler behandles parallelt for å frembringe 4 fargepunkter). (PROM). The contents of the memories are filled with color point strengths corresponding to the position in the processing window for data belonging to this pixel in each of the 9 matrix positions. Thus, in a typical example, each memory will have different contents. The upper memory can e.g. contain the transform for the pixel that is one line ahead in y and 1 pixel ahead in x. As previously discussed, the pixel position and sub-pixel addressing will compensate for the distance between the pixel and the center of each of the color points when calculating the color contribution this pixel has in the final output for each color point. The 16-bit output of this first set of memories provides 4 bits of strength contribution for each of the color points. With a color code for black, all color point outputs will have a strength of 0, while with a color code for white, each color point contribution will vary depending on the distance to the center of the color point produced. It should be noted that the 2 green outputs will often be different, since the distance from these two points will normally be different in relation to the center of the window for the 3x3 processing. The distance discussed here is from the center of the individual color points produced to the sub-pixel location in the pixel being processed (a total of 9 pixels are processed in parallel to produce 4 color points).
16-bits utgangene fra det første sett minner deles opp i 4 enheter med 4 bits (R, Gl, G2 og B). Det andre sett minner i diagrammet sørger for blanding av styrkedata for hver av de tre rader slik at hvert minne som utgang avgir styrkebidraget for denne rad for hvert av de fire fargepunkter. Dette annet sett minner i denne utførelsesform er hver på 8k x 8 bits, der 13 adressebits er satt sammen av 3 styrkeenheter på 4 bits og én modusbit. Modusbiten sørger for at det eksisterer to antialiaserende styrkeblandende algoritmer. PROM-enheten kan enten velge maksimal styrke, summere bidragene lineært, eller til og med utføre ikke-lineær summering av styrke-komponentene. Enhver blandingsfunksjon kan innføres i disse minner. Hver av de tre rader inneholder 4 slike minner. Hvert The 16-bit outputs from the first set of memories are divided into 4 units of 4 bits (R, Gl, G2 and B). The second set of memories in the diagram ensures mixing of strength data for each of the three rows so that each memory outputs the strength contribution for this row for each of the four color points. This second set of memories in this embodiment is each 8k x 8 bits, where 13 address bits are composed of 3 strength units of 4 bits and one mode bit. The mode bit ensures that two anti-aliasing strength mixing algorithms exist. The PROM can either select the maximum strength, sum the contributions linearly, or even perform non-linear summation of the strength components. Any mixing function can be introduced into these memories. Each of the three rows contains 4 such memories. Each
minne mottar 3 styrkeenheter på 4 bits fra det første sett minner for et bestemt fargepunkt. Dermed vil hver rad gi som utgang sitt styrkebidrag for hvert av de 4 fargepunkter. Man skal merke seg at bare 4 bits fra hvert 8-bits minne er nødvendig (8k x 4 bits minner er ikke lett tilgjengelige). memory receives 3 strength units of 4 bits from the first set of memories for a particular color point. Thus, each row will output its strength contribution for each of the 4 color points. Note that only 4 bits from each 8-bit memory are needed (8k x 4-bit memories are not readily available).
Det tredje sett minner kombinerer utgangene fra hver av de 3 rader for å frembringe den endelige utgang for hvert fargepunkt. Hvert minne mottar de 3 fire-bits styrker fra hver rad for et bestemt fargepunkt. Således blir alle 3 rødfarge-punkter (Ra, Rb, Rc) ledet til ett minne (sammen med en modusbit) der disse bidrag blandes for å frembringe den endelige utgang for det rød fargepunkt. Denne blandealgoritme er programmerbar, men vil normalt være den samme som ble benyttet i det andre sett minner. De to sett med grønne styrker og for blått, blir også ledet til atskilte minner for å frembringe de endelige utganger Gl, G2 og B. Ved denne anvendelse frembringes det bare 4 styrkebits, mens 8 bits i virkeligheten er tilgjengelige fra 8k x 8-minnet. The third set of memories combines the outputs from each of the 3 rows to produce the final output for each color point. Each memory receives the 3 four-bit strengths from each row for a particular color point. Thus, all 3 red color points (Ra, Rb, Rc) are routed to one memory (together with a mode bit) where these contributions are mixed to produce the final output for the red color point. This mixing algorithm is programmable, but will normally be the same as that used in the other set of memories. The two sets of green strengths and for blue are also routed to separate memories to produce the final outputs Gl, G2 and B. In this application, only 4 strength bits are produced, while 8 bits are actually available from the 8k x 8 memory .
For flate skjermer som bruker et annet fargepunktoppiegg, er det enkelt å tilpasse arkitekturen. For RGB-diagonale eller deltamønstre, kan fremdeles fargepunktene anordnes i grupper på fire, men fargepunktene vil da bevege seg rundt. Imidlertid oppstår det høyst 3 forskjellige mønstre (RGBR, BRGB og GBRG), slik at arkitekturen må modifiseres til å ha to modusbits i stedet for én. Hvert minne må da ha 16k-posisjoner i stedet for 8k. Modusbitene forandrer da hver klokkeperiode for å velge det minneområdet som er reservert for hvert av fargepunktmønstrene. Man skal merke seg at de avsluttende utganger nå er basert på posisjon i stedet for bare farge (for RBBG quad-skjermer vil fargetildelingene ikke forandre seg pga. posisjonen). Den øvre utgang (av de fire) driver R for RGBR-mønsteret, men B eller G for de andre to mønstre. Dermed kan 512 x 512 FFM fremdeles ekspanderes for å fylle alle fargepunktene i en 1024 x 1024 flat skjerm uavhengig av fargepunktopplegget. For flat screens that use a different color dot overlay, it's easy to adapt the architecture. For RGB diagonal or delta patterns, the color dots can still be arranged in groups of four, but the color dots will then move around. However, at most 3 different patterns occur (RGBR, BRGB, and GBRG), so the architecture must be modified to have two mode bits instead of one. Each memory must then have 16k locations instead of 8k. The mode bits then change each clock period to select the memory area reserved for each of the color dot patterns. Note that the final outputs are now based on position instead of just color (for RBBG quad displays, the color assignments will not change due to position). The upper output (of the four) drives R for the RGBR pattern, but B or G for the other two patterns. Thus, 512 x 512 FFM can still be expanded to fill all the color dots in a 1024 x 1024 flat screen regardless of the color dot layout.
Claims (5)
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US43210589A | 1989-11-06 | 1989-11-06 |
Publications (3)
| Publication Number | Publication Date |
|---|---|
| NO904299D0 NO904299D0 (en) | 1990-10-03 |
| NO904299L NO904299L (en) | 1991-05-07 |
| NO303199B1 true NO303199B1 (en) | 1998-06-08 |
Family
ID=23714799
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| NO904299A NO303199B1 (en) | 1989-11-06 | 1990-10-03 | graphics System |
Country Status (8)
| Country | Link |
|---|---|
| EP (1) | EP0427147B1 (en) |
| JP (1) | JP3089356B2 (en) |
| KR (1) | KR910010374A (en) |
| CA (1) | CA2024745C (en) |
| DE (1) | DE69016354T2 (en) |
| DK (1) | DK0427147T3 (en) |
| FI (1) | FI99215C (en) |
| NO (1) | NO303199B1 (en) |
Families Citing this family (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| FR2678462B1 (en) * | 1991-06-25 | 1993-12-24 | Sextant Avionique | REAL-TIME DEVICE FOR PRESENTING TELEVISION IMAGES ON A VISUALIZATION SCREEN. |
| US5264838A (en) * | 1991-08-29 | 1993-11-23 | Honeywell Inc. | Apparatus for generating an anti-aliased display image halo |
| FR2793588B1 (en) * | 1999-05-11 | 2002-03-15 | Sextant Avionique | DATA PROCESSING SYSTEM FOR DISPLAY ON A MATRIX SCREEN |
| FR3119262B1 (en) * | 2021-01-25 | 2023-06-30 | Thales Sa | A system and method for processing jumper mode plot display data provided by a symbol generator box. |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4843380A (en) * | 1987-07-13 | 1989-06-27 | Megatek Corporation | Anti-aliasing raster scan display system |
| US4939671A (en) * | 1987-09-08 | 1990-07-03 | Auto-Trol Technology Corporation | Method and system for line drawing with next matrix feature |
-
1990
- 1990-09-06 CA CA002024745A patent/CA2024745C/en not_active Expired - Lifetime
- 1990-10-03 NO NO904299A patent/NO303199B1/en not_active IP Right Cessation
- 1990-11-02 EP EP90121060A patent/EP0427147B1/en not_active Expired - Lifetime
- 1990-11-02 DK DK90121060.9T patent/DK0427147T3/en active
- 1990-11-02 DE DE69016354T patent/DE69016354T2/en not_active Expired - Fee Related
- 1990-11-05 FI FI905463A patent/FI99215C/en not_active IP Right Cessation
- 1990-11-06 KR KR1019900017873A patent/KR910010374A/en not_active Withdrawn
- 1990-11-06 JP JP02299104A patent/JP3089356B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| NO904299D0 (en) | 1990-10-03 |
| NO904299L (en) | 1991-05-07 |
| CA2024745C (en) | 2002-08-06 |
| FI99215C (en) | 1997-10-27 |
| EP0427147A3 (en) | 1992-03-25 |
| FI905463A0 (en) | 1990-11-05 |
| CA2024745A1 (en) | 1991-05-07 |
| KR910010374A (en) | 1991-06-29 |
| FI99215B (en) | 1997-07-15 |
| EP0427147A2 (en) | 1991-05-15 |
| EP0427147B1 (en) | 1995-01-25 |
| JPH03220597A (en) | 1991-09-27 |
| DE69016354D1 (en) | 1995-03-09 |
| JP3089356B2 (en) | 2000-09-18 |
| DE69016354T2 (en) | 1995-06-22 |
| DK0427147T3 (en) | 1995-06-26 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5339092A (en) | Beam former for matrix display | |
| US4225861A (en) | Method and means for texture display in raster scanned color graphic | |
| EP0681280B1 (en) | Vertical filtering method for raster scanner display | |
| US5534915A (en) | Method of color enhancing a monochrome image using multiple base colors for selected regions of the monochrome image | |
| US4843380A (en) | Anti-aliasing raster scan display system | |
| US5012163A (en) | Method and apparatus for gamma correcting pixel value data in a computer graphics system | |
| US4295135A (en) | Alignable electronic background grid generation system | |
| KR101093258B1 (en) | LCD Display | |
| US4808984A (en) | Gamma corrected anti-aliased graphic display apparatus | |
| EP0087868A2 (en) | Graphics display refresh memory architecture offering rapid access speed | |
| US5815169A (en) | Frame memory device for graphics allowing simultaneous selection of adjacent horizontal and vertical addresses | |
| EP0447225A2 (en) | Methods and apparatus for maximizing column address coherency for serial and random port accesses in a frame buffer graphics system | |
| US5457482A (en) | Method and apparatus for utilizing off-screen memory as a simultaneously displayable channel | |
| JPH04222066A (en) | Apparatus and method for expressing graphic element | |
| CA2191617C (en) | System for displaying calligraphic video on raster displays | |
| KR101989528B1 (en) | image display device and method of displaying image | |
| US4366476A (en) | Raster display generating system | |
| NO303199B1 (en) | graphics System | |
| US4952921A (en) | Graphic dot flare apparatus | |
| JP2761540B2 (en) | Method and apparatus for displaying an image on a hardware screen | |
| US5208583A (en) | Accelerated pixel data movement | |
| EP0413483B1 (en) | A display system | |
| US5519413A (en) | Method and apparatus for concurrently scanning and filling a memory | |
| JPS61273584A (en) | Display unit | |
| KR20190043122A (en) | Display Device and Method of Driving thereof |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| MM1K | Lapsed by not paying the annual fees |