NL193229C - Werkwijze en inrichting voor het verticaal filteren voor een rasterafgetaste weergave. - Google Patents
Werkwijze en inrichting voor het verticaal filteren voor een rasterafgetaste weergave. Download PDFInfo
- Publication number
- NL193229C NL193229C NL8921391A NL8921391A NL193229C NL 193229 C NL193229 C NL 193229C NL 8921391 A NL8921391 A NL 8921391A NL 8921391 A NL8921391 A NL 8921391A NL 193229 C NL193229 C NL 193229C
- Authority
- NL
- Netherlands
- Prior art keywords
- pixel data
- pixel
- data
- buffer
- scan lines
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 29
- 238000001914 filtration Methods 0.000 title description 8
- 239000000872 buffer Substances 0.000 claims abstract description 71
- 230000008859 change Effects 0.000 claims description 2
- 230000010355 oscillation Effects 0.000 claims 1
- 230000015654 memory Effects 0.000 description 19
- 238000010586 diagram Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 6
- 230000007704 transition Effects 0.000 description 6
- 238000009954 braiding Methods 0.000 description 3
- 238000012937 correction Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000010606 normalization Methods 0.000 description 3
- 238000003708 edge detection Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000016776 visual perception Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G1/00—Control arrangements or circuits, of interest only in connection with cathode-ray tube indicators; General aspects or details, e.g. selection emphasis on particular characters, dashed line or dotted line generation; Preprocessing of data
- G09G1/06—Control arrangements or circuits, of interest only in connection with cathode-ray tube indicators; General aspects or details, e.g. selection emphasis on particular characters, dashed line or dotted line generation; Preprocessing of data using single beam tubes, e.g. three-dimensional or perspective representation, rotation or translation of display pattern, hidden lines, shadows
- G09G1/14—Control arrangements or circuits, of interest only in connection with cathode-ray tube indicators; General aspects or details, e.g. selection emphasis on particular characters, dashed line or dotted line generation; Preprocessing of data using single beam tubes, e.g. three-dimensional or perspective representation, rotation or translation of display pattern, hidden lines, shadows the beam tracing a pattern independent of the information to be displayed, this latter determining the parts of the pattern rendered respectively visible and invisible
-
- 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
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/20—Image enhancement or restoration using local operators
-
- 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
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2310/00—Command of the display device
- G09G2310/02—Addressing, scanning or driving the display screen or processing steps related thereto
- G09G2310/0224—Details of interlacing
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2320/00—Control of display operating conditions
- G09G2320/02—Improving the quality of display appearance
- G09G2320/0247—Flicker reduction other than flicker reduction circuits used for single beam cathode-ray tubes
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2320/00—Control of display operating conditions
- G09G2320/02—Improving the quality of display appearance
- G09G2320/0271—Adjustment of the gradation levels within the range of the gradation scale, e.g. by redistribution or clipping
- G09G2320/0276—Adjustment of the gradation levels within the range of the gradation scale, e.g. by redistribution or clipping for the purpose of adaptation to the characteristics of a display device, i.e. gamma correction
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2360/00—Aspects of the architecture of display systems
- G09G2360/12—Frame memory handling
- G09G2360/123—Frame memory handling using interleaving
-
- 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/02—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the way in which colour is displayed
- G09G5/06—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the way in which colour is displayed using colour palettes, e.g. look-up tables
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Remote Sensing (AREA)
- Radar, Positioning & Navigation (AREA)
- Image Processing (AREA)
- Magnetic Resonance Imaging Apparatus (AREA)
- Measurement Of Resistance Or Impedance (AREA)
- Controls And Circuits For Display Device (AREA)
- Sampling And Sample Adjustment (AREA)
- Manipulator (AREA)
- Apparatus For Radiation Diagnosis (AREA)
- Facsimile Image Signal Circuits (AREA)
Description
1 193229
Werkwijze en inrichting voor het verticaal filteren voor een rasterafgetaste weergave
De uitvinding ligt op het terrein van het filteren van videosignalen voor een rasterafgetaste weergave, in het bijzonder waarbij door een computer opgewekte pixelgegevens worden toegepast.
5 De meeste kathodestraalbuis (CRT)-computervideoweergeeforganen zijn voorzien van een raster-aftasting. Vele van de bij deze weergeeforganen toegepaste standaarden kunnen worden herleid tot televisiestandaarden. Bijvoorbeeld worden dikwijls twee vervlochten velden gebruikt om een raster te vormen. Veie vroegere personal computers verschaffen compatibele NTSC-signalen om een gebruiker in staat te stellen goedkope televisie-ontvangers te gebruiken. In andere gevallen wekken computers signalen 10 zoals overlegsels op die worden gebruikt in samenhang met NTSC-signalen. Aldus wekken personal computers vaak pixelgegevens op om te worden gebruikt op rasterafgetaste weergeeforganen met interliniëring.
Door een computer opgewekte gegevens hebben kenmerken die deze minder geschikt maken voor een vervlochten, rasterafgetaste weergave van videosignalen die afkomstig zijn van een videocamera. Bijvoor-15 beeld kunnen pixelgegevens veranderingen (bijvoorbeeld in amplitude) vertonen over hun gehele bereik van pixel tot pixel. Dat wil zeggen dat praktisch elke verandering in pixelgegevens kan voorkomen van één pixel tot het volgende. Daarentegen wordt bij videogegevens van een gebruikelijke videocamera een bundeMek toegepast die meer dan een enkel pixeloppervlak beslaat. De gegevens die worden geïnterpreteerd voor een enkel pixel in dit geval nemen tot in zekere mate de intensiteit en de kleur van het omgevende gebied 20 in rekening. Er is dientengevolge een verzachting, zelfs een verdoezeling, die optreedt wanneer de bundel het beeld in een camera aftast.
Het menselijke visuele stelsel is een randdetectiestelsel. De ogen zijn zeer goed in het vinden van contouren die vormen afbakenen. Om een voorbeeld te geven, wanneer een opeenvolging van aangrenzende grijze balken met toenemende intensiteit wordt weergegeven op een computerweergeeforgaan, lijken 25 de randen tussen de balken benadrukt. Perceptueel zien de grijze balken er niet uit als met vaste kleuren, maar in plaats daarvan zien zij er uit alsof zij tussen hun randen donker zijn gemaakt. Met andere woorden, de grens tussen de grijze balken lijkt versterkt door de randdetectiemechanismen van het oog.
Wanneer een typisch realistisch tafereel wordt weergegeven op een weergeeforgaan met interliniëring, zijn er geen abrupte overgangen van de ene aftastlijn naar de andere. Voorwerpen hebben gewoonlijk geen 30 zeer scherpe randen, en die voorwerpen die dat wel hebben, hebben doorgaans geen randen die op één lijn liggen met een aftastlijn. Het gevolg is dat het oog geen rand kan vinden vanaf een aftastlijn naar de volgende. Wanneer het oog geen rand kan vinden tussen een aftastlijn en de volgende, kan het geen onderscheid maken tussen de lijnen. In een geïnterlinieerde weergave wordt een volledig raster elke 1/30 seconde getekend, evenwel flitst vanwege het interliniëren elke 1/60 seconde hetzij een gegeven aftastlijn 35 hetzij de volgende aftastlijn op. Het oog ontvangt deze meervoudige aftastlijnen als dikke enkele lijnen die opflitsen met een frequentie van 60 raster/seconde, zelfs ofschoon zij in feite met 30 raster/seconde opflitsen. Door dit model zou het van dichtbij aanschouwen van een geïnterlinieerde weergave leiden tot de perceptie van flikkeren bij 30 raster/seconde. Dit is in feite wat gebeurt; indien men afzonderlijke aftastlijnen op een NTSC-televisie voldoende nabij aanschouwt, wordt het flikkeren door interliniëring (dat wil zeggen 40 30 raster/seconde flitsen) gezien, zelfs bij een realistisch beeld.
In het geval van een door een computer opgewekt beeld, zoals een beeld van een MACINTOSH computer op een weergeeforgaan met interliniëring, zijn er op elke plaats waar geen getrokken wit of getrokken zwart is, abrupte overgangen in de verticale dimensie (Macintosh is een geregistreerd handelsmerk van Apple Computer Ine). In het geval van "lopende stroken” (afwisselend zwarte en witte horizontale 45 lijnen) bovenaan een kenmerkend Macintosh venster, is de meest abrupte overgang mogelijk, van zwart naar wit uitgestrekt over de lengte van het venster en herhaald voor verscheidene lijnen. Hier is het gemakkelijk voor het menselijke oog om de rand van één aftastlijn naar de volgende te detecteren, zodat het de aftastlijnen als afzonderlijk beschouwt, opflitsend met 30 raster/seconde. De visuele perceptie van de menselijke waarnemer is dat wanneer er abrupte overgangen zijn op het weergeefgebied, het NTSC-beeld 50 flikkert in een mate die voldoende is om storend te zijn.
Eén bijkomende subtiliteit is waard om te worden vermeld. Het menselijke oog zal een weergave zien flikkeren steeds wanneer er overgangen (dat wil zeggen randen) in de verticale dimensie zijn. Echter is de mate van flikkeren niet uniform voor elk type grafisch patroon. Het ongunstigste patroon is de lopende stroken over het bovenste deel van een venster, zoals hierboven vermeld. Tekst en andere willekeurige 55 patronen flikkeren eveneens, maar lang niet zo ernstig. Dit wordt verklaard door het feit dat het gemakkelijker is verticale randen te onderscheiden wanneer er een hoge horizontale correlatie met het patroon is (zoals in het geval van lopende stroken), maar het moeilijker is om de randen te vinden wanneer een lage 193229 2 horizontale correlatie is (zoals in het geval van tekst). (Zoals zal worden gezien voorziet de onderhavige uitvinding in zich aanpassend filteren voor deze subtiliteit.)
Talrijke technieken zijn bekend die ”anti-aliasing”-filters omvatten voor het verwijderen van dit flikkeren.
In sommige gevallen dupliceren filters de verzachtende effecten van de camerabundel, dat wil zeggen dat 5 pixelgegevens voor een cluster of vlek van pixels wordt ’’gemiddeld” of ’’geconvolueerd” om gefilterde pixelgegevens te produceren. In het algemeen vereisen deze technieken een aanzienlijke rekencapaciteit.
In het artikel ’’Dejagging raster graphic displays by flash filtering” van David Oakley en Donald I. Parsons in ’’Proceedings of the Society for Information Display (SID)”, vol. 28/4, 1987, bladzijden 425-429 wordt een werkwijze voor het verschaffen van filtering (anti-aliasing) voor een computerweergave beschreven. In deze 10 bekende werkwijze worden visuele kenmerk- en fractionele adresgegevens voor een pixel opgeslagen in een adres van een conventionele rasterbuffer. Elk pixel met lage resolutie dat in de rasterbuffer opgeslagen is wekt door de bekende werkwijze meerdere (gebruikelijk drie of vier) pixels met hoge resolutie op, waarbij de stap met grotere afstand tussen pixels met lage resolutie onderverdeeld wordt in stappen met kleinere afstand tussen pixels met hoge resolutie. Hierdoor wordt de overgang tussen de pixels minder zichtbaar en 15 wordt een filtering verschaft, waarbij gebruik gemaakt wordt van wegingsfactoren die aan betreffende pixels met hoge resolutie gekoppeld worden die van één pixel met lage resolutie afkomstig zijn.
De onderhavige uitvinding verschaft een werkwijze voor het opwekken van gefilterde pixelgegevens voor een eerste weergeeflijn in een videoweergave met rasteraftasting voor een computer, waarbij gegevens voor de weergave worden opgeslagen in een rasterbuffer en waarbij de gegevens worden geordend in de 20 rasterbuffer door aftastlijnen, waarbij gegevens worden opgeslagen voor elk pixel langs elke aftastlijn, omvattende: a. het opslaan van de pixelgegevens in een rasterbuffer die een eerste en een tweede bank video-RAM’s heeft, waarbij pixelgegevens voor aftastlijnen 4k, 4k+1, (k e {0,1,2,...}), worden opgeslagen in de eerste bank en pixelgegevens voor aftastlijnen 4k+2, 4k+3 (k e {0, 1, 2,...» worden opgeslagen in de tweede 25 bank, b. het uit de buffer lezen van de pixelgegevens voor een eerste pixel van N+1 opeenvolgende aftastlijnen alvorens uit de buffer de pixelgegevens voor daaropvolgende pixels van N+1 opeenvolgende aftastlijnen te lezen, c. het convolueren van de pixelgegevens voor het eerste pixel van N+1 aftastlijnen, teneinde de gefilterde 30 pixelgegevens voor het eerste pixel van de weergeeflijn te verschaffen, d. het herhalen van de stappen b en c voor elk daaropvolgend pixel op de weergeeflijn.
Hierdoor verschaft de onderhavige uitvinding gefilterde pixelgegevens, evenwel slechts in de verticale richting. Het convolueren dat wordt uitgevoerd door de onderhavige uitvinding om de gefilterde pixelgegevens te verschaffen wordt ’’terloops” uitgevoerd, aangezien de rekenvereisten aanzienlijk geringer zijn dan 35 die welke worden vereist door bekende stelsels.
Doordat pixelgegevens voor een pixel uitgelezen worden voordat pixelgegevens voor andere pixels langs de aftastlijnen worden uitgelezen door de rasterbuffer, wordt de noodzaak van een veelheid van lijnbuffers of zelfs aanvullende rasterbuffers vermeden indien alle gegevens worden gelezen van elk van de aftastlijnen. De pixelgegevens voor het eerste pixel van de n-de n+1, n+2.....n+N-de aftastlijnen worden 40 geconvolueerd om de pixelgegevens te verschaffen voor het eerste pixel van de eerste aftastlijn. Daar de pixelgegevens worden opgeslagen in twee banken video-RAM’s (VRAM’s), waarbij de videogegevens voor aftastlijnen 0,1,4, 5, 8, 9,... worden opgeslagen in één bank en de videogegevens voor aftastlijnen 2, 3, 6, 7,10,11,... worden opgeslagen in de andere bank, kan een tweewegvervlechting verkregen worden met een relatief geringe geheugencapaciteit.
45 In tegenstelling tot de bekende werkwijze zoals beschreven in het bovengenoemde artikel van David Oakley en Donald I. Parsons waarin één pixel meerdere pixels opwekt om filtering te verschaffen, worden in de werkwijze volgens de uitvinding de pixelgegevens van één pixel zodanig bewerkt dat één gefilterd pixel opgewekt wordt. Hiervoor zijn volgens de uitvinding de pixelgegevens in de rasterbuffer volgens aftastlijnen geordend. Een dergelijke ordening van de pixelgegevens in de rasterbuffer is niet beschreven in het 50 voornoemde artikel, eerder lijken volgens figuur 2 van het artikel de pixelgegevens in vlakken geordend te zijn. Verder spreekt het artikel van Oakley en Parsons niet over vervlechting.
De onderhavige uitvinding heeft tevens betrekking op een werkwijze voor het opwekken van gefilterde pixelgegevens voor een weergeeflijn in een videoweergave met rasteraftasting voor een computer, waarbij gegevens voor de weergave worden opgeslagen in een rasterbuffer en waarbij de gegevens worden 55 geordend in een rasterbuffer door aftastlijnen, waarbij gegevens worden opgeslagen voor eik pixel langs elke aftastlijn, omvattende: a. het opslaan van de pixelgegevens in een rasterbuffer die een eerste en een tweede bank video-RAM’s 3 193229 heeft, waarbij pixelgegevens voor aftastlijnen 4k, 4k+1, (k e {O, 1, 2,worden opgeslagen in de eerste bank en pixelgegevens voor aftastlijnen 4k+2, 4k+3 (k e {0,1, 2,...}) worden opgeslagen in de tweede bank, b. het uit de buffer lezen van de pixelgegevens voor een eerste groep pixels van N+1 opeenvolgende 5 aftastlijnen alvorens uit de buffer de pixelgegevens voor daaropvolgende groep pixels van N+1 opeenvolgende aftastlijnen te lezen, c. het convolueren van de pixelgegevens van de eerste groep van N+1 aftastlijnen, teneinde de gefilterde pixelgegevens te verschaffen, d. het herhalen van de stappen b en c voor elke daaropvolgende groep pixels op de weergeeflijn.
10 Verder voorziet de onderhavige uitvinding in een inrichting voor het opwekken van een rasterafgetaste weergave uit pixelgegevens die zijn opgeslagen in een buffer en geordend door aftastlijnen, waarbij pixelgegevens zijn opgeslagen voor pixels langs elke aftastlijn, waarbij de buffer een eerste en een tweede bank video-RAM’s omvat met pixelgegevens voor aftastlijnen 4k+2, 4k+3 (k e {0, 1, 2,opgeslagen in de eerste bank en pixelgegevens voor aftastlijnen 4k, 4k+1 (k e {0,1, 2,...» opgeslagen in de tweede 15 bank, omvattende een adresopwekkingsorgaan dat is gekoppeld aan de buffer voor het opwekken van een adres voor de buffer, zodanig dat de pixelgegevens voor een eerste pixel N+1 opeenvolgende aftastlijnen worden geadresseerd en uit de buffer worden gelezen voordat alle pixelgegevens voor daarop volgende pixels van N+1 opeenvolgende aftastlijnen uit de buffer worden gelezen; 20 een convolutie-orgaan voor het convolueren van de pixelgegevens voor het eerste pixel van de N+1 aftastlijnen om verticaal gefilterde gegevens te verschaffen voor het eerste pixel, waarbij het convolutie-orgaan aan de buffer is gekoppeld, en voorzien is van een opteller, een multiplexer die is gekoppeld aan een eerste invoerklem van de opteller, een voorschalingsorgaan voor het voorschalen van een invoer naar de opteller, waarbij het voorschalingsorgaan gekoppeld is aan een tweede invoerklem van de opteller, 25 waarbij de uitvoer van de opteller gekoppeld is met een grendelorgaan, waarbij de uitvoer van het grendelorgaan gekoppeld is met de multiplexer en met een normalisatie-orgaan voor het normaliseren van het grendelorgaan.
Enige uitvoeringsvormen van een werkwijze en inrichting volgens de uitvinding zullen hierna bij wijze van 30 voorbeeld aan de hand van de tekening nader toegelicht worden. Hierin toont: figuur 1 een algemeen blokschema dat de algemene plaatsing van een buffer in een videostelsel illustreert; figuur 2 een diagram dat wordt gebruikt om een manier te illustreren om gegevens uit een rasterbuffer te lezen; 35 figuur 3 een diagram dat wordt gebruikt om een alternatieve manier te illustreren om gegevens uit een rasterbuffer te lezen; figuur 4 een blokschema dat een uitvoeringsvorm van een convolutie-orgaan illustreert; figuur 5 een blokschema dat een andere uitvoeringsvorm van een convolutie-orgaan illustreert; figuur 6 een blokschema dat een andere werkwijze illustreert voor het verkrijgen van geconvolueerde 40 gegevens, die in het bijzonder bruikbaar is wanneer niet veel bits worden opgeslagen voor elk pixel; figuur 7A een blokschema van een algemeen voorschalingsorgaan dat kan worden gebruikt met het convolutie-orgaan; figuur 7B een blokschema van een ander voorschalingsorgaan dat kan worden gebruikt met het convolutie-orgaan; 45 figuur 8 een blokschema van een schakeling die de hardware-uitvoering illustreert, waarbij een tweeweg-vervlechting wordt toegepast; figuur 9 een diagram dat een pixelgegevensstroom illustreert, dat wordt gebruikt om de werking van de schakeling van figuur 8 te beschrijven; en figuur 10 een diagram dat de betrekking tussen CPU- en VRAM-adressen illustreert voor de tweeweg-50 vervlochten rasterbuffer van figuur 8.
in figuur 1 wordt een rasterbuffer 10 geïllustreerd die een gewone rasterbuffer kan zijn, bijvoorbeeld vervaardigd uit dynamische willekeurig toegankelijke geheugens (DRAM’s) of willekeurig toegankelijke videogeheugens (VRAM’s). De gegevens in de rasterbuffer zijn geordend door aftastlijnen, waarbij 55 gegevens worden opgeslagen voor elk pixel langs elke aftastlijn.
Een adresgenerator 11 wordt gebruikt om de gegevens in de buffer te adresseren om een uitgangssignaal voor een videoweergave te verschaffen. Zoals aan de hand van figuren 1,2 en 3 zal worden 193229 4 uitgelegd, is de volgorde waarin de gegevens worden afgetast uit de buffer verschillend van die welke wordt gebruikt in de bekende techniek en bij gevolg verschaft de adresgenerator 11 deze unieke adresserings-volgorde. (Dit wordt aangeduid als ”met kemaftasting” in figuur 1.) Deze specifieke volgorde die wordt toegepast zal duidelijk worden, in het bijzonder uit de onderstaande bespreking van de figuren 2 en 3.
5 Gebruikelijke schakelingen kunnen worden toegepast om de generator 11 te implementeren en om de in de figuren 2 en 3 beschreven volgorde te verschaffen. Zoals het geval is bij bekende generatoren, wordt de adresgenerator 11 gewoonlijk gesynchroniseerd met een stipklok.
Het uitgangssignaal vanuit de buffer 10 wordt geconvolueerd door een convolutie-orgaan 12. Het uitgangssignaal van het convolutie-orgaan 12 is pixelgegevens die op een gebruikelijke wijze kunnen 10 worden gebruikt voor een videoweergave. Het convolutie-orgaan 12 wordt in samenhang met de figuren 4 en 5 beschreven en gedeelten daarvan worden beschreven in samenhang met de figuren 7A en 7B.
Het uitgangssignaal van het convolutie-orgaan 12 kan een gammacorrectie ondergaan. Een dergelijke gammacorrectie is bekend in de techniek en wordt gebruikt om te compenseren voor de niet-lineaire lichtintensiteitskromme van cathodestraalbuisweergeeforganen. De digitale informatie op een lijn 14 wordt 15 omgezet in een analoge vorm om te worden gekoppeld aan een weergeeforgaan.
In de navolgende beschrijving wordt verondersteld dat de buffer 10 pixelgegevens opslaat. Het zal duidelijk zijn dat de buffer wijzers naar een ander geheugen zoals een kleurenopzoektabel kan opslaan. In dat geval wordt de uitgang van de buffer 10 gekoppeld aan een kleurenopzoektabel en wordt de uitgang van de kleurenopzoektabel gekoppeld aan het convolutie-orgaan.
20 In figuur 2 wordt verondersteld dat elk blok in het weergegeven rooster een pixel weergeeft in een buffer met bitafbeelding. In de horizontale richting zijn de pixels genummerd van 0 t/m 9; het zal duidelijk zijn dat in een kenmerkend geheugen, veel meer pixels worden gebruikt in de weergave. In de verticale richting zijn de rijen van pixelgegevens door een aftastlijn genummerd, beginnende met lijn 0 en eindigende met lijn 5. Wederom zal begrepen worden dat in een kenmerkend weergeeforgaan veel meer aftastlijnen zullen 25 worden gebruikt. Figuur 2 geeft aldus de gegevensorganisatie weer die wordt gevonden in een kenmerkend rasterbuffer.
De gegevens voor een gegeven pixel (bijvoorbeeld pixel 0) worden gelezen uit het geheugen voor verscheidene lijnen (bijvoorbeeld de lijnen 1, 2 en 3) voordat de pixelgegevens voor pixel 1 wordt gelezen uit het geheugen. De pixelgegevens voor de verscheidene lijnen van een gegeven pixel worden geconvolu-30 eerd teneinde de pixelgegevens te verschaffen die worden gebruikt door het weergeeforgaan.
Meer specifiek worden in figuur 2 de gegevens op de locaties 16, 17 en 18 uit het geheugen gelezen voordat de gegevens voor het pixel 19 worden gelezen uit het geheugen. De pixelgegevens vanaf de locaties 16,17 en 18 worden vervolgens geconvolueerd om pixelgegevens te verschaffen voor het pixel 0 van een weergeeflijn. Vervolgens worden de pixelgegevens bij de locaties 19, 20 en 21 uit het geheugen 35 gelezen en geconvolueerd om pixelgegevens voor het pixel 1 van de weergeeflijn te verschaffen. Dit proces zet zich voort voor eik van de pixels 0 t/m 9 voor de aftastlijnen 1-3, teneinde pixelgegevens voor een gegeven weergeeflijn te verschaffen.
In een uitvoeringsvorm worden drie lijnen met gegevens gebruikt in het convolutieproces. Evenwel kan elk aantal lijnen worden gebruikt, bijvoorbeeld kunnen de gegevens vanaf de lijnen n+1, n+2,..., N+n eerst 40 worden gebruikt om pixelgegevens voor een eerste weergeeflijn te verschaffen. Hierop volgend worden de gegevens vanaf de lijnen n+1, n+2, n+3,... n+N+1 gebruikt om de pixelgegevens voor een tweede weergeeflijn te verschaffen. Evenwel worden de gegevens vanuit de buffer zodanig gebruikt dat alle pixelgegevens voor bijvoorbeeld pixel M worden gelezen voor alle aftastiijnen die worden gebruikt bij de convolutie voordat de pixelgegevens voor het pixel M+1 worden gelezen uit de buffer.
45 In sommige gevallen verschaft het adresserings- en afbeeldingsschema dat wordt gebruikt voor een rasterbuffer meer dan de gegevens voor een enkel pixel voor elk adres. Veronderstel dat, zoals is geïllustreerd in figuur 3, een enkel adres de pixelgegevens verschaft voor een pixel 0 en een pixel 1 van een lijn 1, aangegeven door de gesloten lijn 23. De gegevens behorende bij de lijn 23 worden eerst uit het geheugen gelezen, gevolgd door de convolutie van gegevens behorende bij de lijnen 24 en 25. Daarna 50 wordt een convolutie uitgevoerd op de gegevens voor het pixel 0 van de lijnen 1,2 en 3, gevolgd door de gegevens voor pixel 1 voor de lijnen 1,2,3. Nu worden de gegevens behorende bij de lijnen 26, 27 en 28 uit het geheugen gelezen, enz.
In een op speciale wijze georganiseerde rasterbuffer, verschaft een enkel adres de gegevens voor verscheidene lijnen in de buffer. Bijvoorbeeld kan een enkel adres de gegevens verschaffen behorende bij 55 de lijnen 23, 24 en 25. In dit geval worden de eerste gegevens voor het pixel nul geconvolueerd, vervolgens worden die van pixel 1 geconvolueerd. Daarna worden de gegevens behorende bij de lijnen 26,27 en 28 uit het geheugen gelezen en worden de gegevens voor pixel 2 en vervolgens 3 geconvolueerd. Dit proces zet 5 193229 zich voort voor alle gegevens langs de lijn voor de aftastlijnen 1,2 en 3.
Aldus worden, in het algemeen, de gegevens voor een eerste pixel voor aftastlijnen n, n+1, n+2, ... n+N uit de buffer gelezen voordat de pixelgegevens voor daaropvolgende pixels op deze aftastlijnen uit de buffer worden gelezen. Deze gegevens worden dan geconvolueerd om pixelgegevens te verschaffen voor een 5 enkel pixel. Dit proces wordt herhaald voor elk pixel langs de aftastlijnen n, n+1, n+2 ... n+N. Dit volgende, worden de gegevens voor een eerste pixel langs lijnen n+1, n+2 ... n+N+1 uit de buffer gelezen, wederom voor de pixelgegevens voor daaropvolgende pixels langs deze lijnen. Deze gegevens worden vervolgens geconvolueerd om de gefilterde pixelgegevens voor het eerste pixel van de volgende weergeeflijn te verschaffen. Dit proces wordt herhaald totdat verticaal gefilterde gegevens voor de gehele weergave worden 10 verschaft.
Zoals hierboven vermeld, kunnen de pixelgegevens vanaf ”n+1” gegevenslijnen worden geconvolueerd.
In een uitvoeringsvorm is N = 2. (Een bespreking van de convolutie voor andere kernen volgt verderop in deze beschrijving.) In dit geval leidt N tot de vergelijking: aP^bPz+aPz 15 2S+b waarin P., de pixelgegevens zijn voor het eerste pixel van de n-de aftastlijn, P2 de pixelgegevens voor het eerste pixel van de (n+1)-de lijn en P3 de pixelgegevens voor de (n+2)-de aftastlijn. ”a” en ”b” zijn constanten, waarbij ”b” gewoonlijk groter is dan ”a”. In een kenmerkende toepassing is a=1 en b=2.
In figuur 4 omvat het convolutie-orgaan (corresponderende met het kernconvolutie-orgaan 12 in figuur 1) 20 een voorschalingsorgaan 32 dat de pixelgegevensinvoer vanuit de buffer ontvangt. De mate van voorscha-ling die wordt uitgevoerd door het voorschalingsorgaan 32 wordt bestuurd door het uitgangssignaal van een coëfficiëntentabel 33. Het uitgangssignaal van de tabel 33 wordt bestuurd door het huidige cyclusnummer dat zal worden besproken. Het uitgangssignaal van het voorschalingsorgaan 32 verschaft een ingangssignaal naar een opteller 34. Het andere ingangssignaal naar de opteller 34 is, in feite, het uitgangssignaal 25 van de opteller 34 na te zijn gekoppeld via het grendelorgaan 35 en de multiplexer 31. De multiplexer 31 verschaft als een ingangssignaal naar de opteller 34 hetzij het uitgangssignaal van het grendelorgaan 35 hetzij de waarde 0. Zoals zal blijken, wordt bij ’’cyclus 0” het O-ingangssignaal aan de opteller 34 aangeboden, in het andere geval wordt de inhoud van het grendelorgaan 35 het ingangssignaal naar de opteller 34. De inhoud van het grendelorgaan 35 wordt genormaliseerd door een normalisatie-orgaan 36, waarbij de 30 mate van normalisatie, kenmerkend een constante, wordt getoond als een normalisatiewaarde 37. Het uitgangssignaal van het normalisatie-orgaan 36 wordt vergrendeld door een grendelorgaan 38 en de inhoud van dit grendelorgaan verschaft de pixelgegevens voor een pixel langs de weergeeflijn.
In de praktijk is het voorschalingsorgaan eenvoudig een digitaal schuiforgaan dat een digitale vermenigvuldiging met een factor 1 of 2 verschaft en het normalisatie-orgaan 36 is een ander digitaal schuiforgaan 35 dat een deling uitvoert door de digitale gegevens bijvoorbeeld over twee plaatsen voor een deling door vier te schuiven.
Veronderstel allereerst dat a=1 en b=2 in de hierboven besproken vergelijking. Veronderstel voorts dat gegevens worden afgetast uit een buffer op de wijze die is geïllustreerd en beschreven in samenhang met figuur 2. Het convolutie-orgaan kan worden beschouwd als te werken volgens een opeenvolging van drie 40 klokcycli. Gedurende een cyclus 0 worden de gegevens behorende bij een cirkel 16 aan het voorschalingsorgaan 32 gekoppeld. Het cyclusnummer 0 veroorzaakt, wanneer aangelegd aan de coëfficiëntentabel 33, dat het voorschalingsorgaan 32 deze gegevens met één vermenigvuldigen, waardoor de gegevens rechtstreeks worden gekoppeld aan de opteller 34. De cyclus 0 die is gekoppeld aan de multiplexer 31 selecteert het O-ingangssignaal naar de opteller; dientengevolge wordt 0 opgeteld bij de gegevens 45 behorende bij de cirkel 16. Deze gegevens worden eenvoudig vergrendeld in het vergrendelorgaan 35 onder besturing van de pixeiklok. Vervolgens worden de gegevens behorende bij de cirkel 17 gekoppeld aan het voorschalingsorgaan 32 bij cyclus 1. De invoer van de cyclus 1 naar de tabel 33 veroorzaakt dat het voorschalingsorgaan deze gegevens met twee vermenigvuldigt (een verschuiving met één naar links) alvorens deze aan de opteller 34 te koppelen. Tegelijkertijd wordt de uitvoer van het grendelorgaan 35 via 50 de multiplexer 31 gekoppeld en opgeteld bij de uitvoer van het voorschalingsorgaan 32. Bij gevolg wordt de som P,+2P2 gevormd en aan het grendelorgaan 35 gekoppeld. Hieropvolgend worden bij cyclus 2 de gegevens behorende bij de cirkel 18 gekoppeld aan het voorschalingsorgaan 32. Het cyclusnummer ”2” dat wordt gekoppeld aan de tabel 33 veroorzaakt dat deze gegevens rechtstreeks aan de opteller 34 worden gekoppeld. Deze opteller 34 telt deze gegevens op bij de gegevens die zich bevinden in het grendelorgaan 55 35, waarbij de som P2+2P2+P3 wordt gevormd. Deze som wordt in het grendelorgaan 35 vergrendeld en vervolgens genormaliseerd door een normalisatie-orgaan 34. In de beschreven uitvoering, deelt het normalisatie-orgaan 36 de gegevens door een factor 4 (een verschuiving over 2 naar rechts), waarbij de 193229 6 uiteindelijke vergelijking: P2+2P2+P3 4 wordt gevormd. De resulterende pixeigegevens worden in het grendelorgaan 38 vergrendeld. Bij cyclus 0 5 kunnen deze gegevens uit het grendelorgaan 38 worden gelezen terwijl nieuwe gegevens voor het volgende pixel aan het voorschalingsorgaan 32 worden gekoppeld.
Een vierde cyclus kan worden gebruikt (bijvoorbeeld cyclus 3) in welk geval cyclus 3 het grendelorgaan 38 kan besturen zonder dat gegevens naar het voorschalingsorgaan 32 worden verschoven tijdens cyclus 3. Dit kan worden gebruikt indien een tijdafpassing met 3 cycli bezwaarlijk is.
10 Een alternatief convolutie-orgaan is in figuur 5 weergegeven. In deze uitvoeringsvorm ontvangt een optelier 40 als een eerste ingangssignaal het uitgangssignaal van het voorschalingsorgaan 43. Wederom ontvangt het voorschalingsorgaan 43 de pixeigegevens uit de buffer. De mate van voorschaling van het voorschalingsorgaan 43 wordt bestuurd door de coëfficiëntentabel 44. De uitvoer van tabel 44 wordt bestuurd door het cyclusnummer dat wordt gekoppeld aan de tabel. De andere ingangsaansiuitklem van de 15 optelier 40 ontvangt het uitgangssignaal van het grendelorgaan 42. Het ingangssignaal naar het grendel-orgaan is het uitgangssignaal van de multiplexer 41. De multiplexer 41 kiest hetzij het uitgangssignaal van het voorschalingsorgaan 43 hetzij het uitgangssignaal van de optelier 40. De multiplexer 41 wordt bestuurd door het cyclus 0-signaal; voor cyclus 0 kiest de multiplexer 41 het uitgangssignaal van het voorschalingsorgaan 43, anders kiest het uitgangssignaal van de optelier. Het uitgangssignaal van het grendelorgaan 42 20 wordt gekoppeld aan een normalisatie-orgaan 46. De mate van normalisatie wordt bestuurd door de waarden die zijn getoond als ’’normalisatiewaarde 45”. Het uitgangssignaal van het normalisatie-orgaan 45 wordt gekoppeld aan een grendelorgaan 47. Het uitgangssignaal van het grendelorgaan 47 verschaft de gefilterde pixeigegevens.
De schakeling volgens figuur 5 voert dezelfde convolutie uit als de schakeling van figuur 4.
25 Veronderstel dat de gegevens voor de lijn n voor pixel 0 aan het voorschalingsorgaan 43 worden gekoppeld. Gedurende de cylcus 0 kiest de multiplexer 41 het uitgangssignaal van het voorschalingsorgaan 43 en koppelt de gegevens in het grendelorgaan 42. Het voorschalingsorgaan 43 voert geen schaling van de gegevens uit omdat a=1 in de hierboven besproken vergelijking. De gegevens voor pixel 0 van de lijn n+1 worden voorgeschaald met 2 en deze gegevens worden vervolgens opgeteld bij de inhoud van het 30 grendelorgaan, waarbij de som wordt gekoppeld aan de multiplexer 41 en vergrendeld in het grendelorgaan 42. Het proces zet zich voort totdat de som aP1+2P2+aP3 gevormd, berekend en opgeslagen is in het grendelorgaan 42. Het normalisatie-orgaan 46 deelt deze som door een factor 4 en de resulterende genormaliseerde waarde wordt gekoppeld aan het grendelorgaan 47. Wederom worden, bij cyclus 0 (de start van nieuwe gegevens naar het voorschalingsorgaan 43 voor het volgende pixel) de gegevens geklokt 35 uit het grendelorgaan, waardoor de gefilterde pixeigegevens voor het weergeeforgaan worden verschaft. Wederom kan een schema met vier cycli worden gebruikt, waarbij de vierde cyclus (cyclus 3) het grendelorgaan 47 bestuurt.
In figuur 7A wordt een algemeen voorschalingsorgaan getoond dat een vermenigvuldiger 50 omvat. De pixelgegevensinvoer wordt aan de vermenigvuldiger gekoppeld, waarbij de uitgang van de vermenigvuldiger 40 de geschaalde pixeigegevens verschaft. De vermenigvuldigingsfactor wordt bestuurd door het uitgangssignaal van de coëfficiëntenopzoektabel 51. Dit uitgangssignaal wordt bepaald door het cyclusnummer. Het cyclusnummer (bijvoorbeeld 1,2, 3 ...) kiest de vermenigvuldigingsfactor die is vereist voor de convolutie die wordt gebruikt en bestuurt daardoor de vermenigvuldigingsfactor die wordt uitgevoerd door de vermenigvuldiger 50.
45 Figuur 7B illustreert een voorschalingsorgaan dat kan worden gebruikt wanneer de vermenigvuldiging die wordt toegepast door de convolutiestap een vermenigvuldiging met één of met twee met zich meebrengt. In dit geval ontvangt een vermenigvuldiger 53 de pixelgegevensinvoer bij één aansluitklem en de pixelgegevensinvoer vermenigvuldigd met twee (dat wil zeggen naar links over 1 verschoven met een opvulling met nul rechts) aan zijn andere aansluitklem. Het cyclusnummer vereist dat de ”x2” pixeigegevens worden 50 gebruikt om de ”0O”-invoer naar de multiplexer 53 te kiezen en het verschaft aldus de vereiste geschaalde pixelgegevensinvoer.
De hierboven besproken convolutie-organen zijn in het bijzonder geschikt voor een seriële kemgegevens-stroom. Figuur 6 illustreert een convoiutie-orgaan dat in een tabel 71 is geïmplementeerd die kan worden gebruikt voor een parallelle gegevensstroom. Het is in het bijzonder nuttig wanneer een beperkt aantal bits 55 worden gebruikt; bijvoorbeeld in een 1 bit/pixel weergave, waarbij de 1-2-1 kem wordt gebruikt. De resultaten van de convolutierekenkunde worden vooraf berekend en in de tabel geplaatst. Zoals zal worden gezien, wordt dit gebruikt voor software-uitvoeringsvormen, waarbij de kleurenopzoektabel vooraf wordt 7 193229 geladen om te worden gebruikt als een convolutie-opzoektabel.
De pixelgegevens worden opgeslagen in twee banken van een VRAM-geheugen, die tezamen een rasterbuffer omvatten. In figuur 8 is dit geïllustreerd door de bank 0 en bank 1 van het geheugen 58. De adressen voor de geheugenbanken worden hetzij verschaft vanuit de centrale verwerkingseenheid (CPU), 5 hetzij vanuit een pixeladrestetler 55. Eén van deze adressen wordt door de multiplexer 56 gekozen. Gegevens naar en van de CPU worden aan de RAM-poorten van het geheugen gekoppeld via de bus 59.
De schuifregisteruitgangen van elke bank 0 of 1 worden door de multiplexer 60 gekozen. (Deze multiplexer kan worden weggelaten indien de 3-toestandenvoorziening van het VRAM-schuifregister snel genoeg schakelt.) 10 De parallelle lijnen vanuit de multiplexer 60 worden aan drie grendelorganen gekoppeld, zoals grendel· orgaan 60, en vervolgens parallel naar drie schuifregisters, zoals schuifregister 63. De multiplexer 64 kiest gegevens uit één van de drie schuifregisters en koppelt deze aan de kleurenopzoektabel (CLUT) 65. De uitgang van de CLUT wordt gekoppeld aan een convolutie-orgaan, zoals convolutie-orgaan 68, dat kan zijn geconstrueerd zoals hierboven is beschreven. De digitale uitgangssignalen vanuit het convolutie-orgaan 15 worden omgezet door een digitaal-in-analoogomzetter, zoals omzetter 69, om RGB-signalen te verschaffen voor een kleurenmonitor. Normaal is na het convolutie-orgaan 68 digitaal of na de omzettere 69 analoog een gammacorrectie-orgaan geplaatst.
Zoals aangeduid in figuur 8, wordt de bank 0 gebruikt om even lijnparen van pixelgegevens op te slaan en de bank 1 wordt gebruikt om oneven lijnparen van pixelgegevens op te slaan. Merk op dat dit verwijst 20 naar ’’lijnparen”, niet naar lijnen zelf. Meer in het bijzonder, verwijzen de ’’even lijnparen” naar de lijnen 0 en 1, 4 en 5, 8 en 9, enz. De oneven lijnparen verwijzen naar de lijnen 2 en 3, 6 en 7, enz. De uitgangs-stromen vanuit de twee geheugenbanken (met tweewegvervlechting) worden met elkaar in multiplex gebracht, teneinde een enkele woordstroom te vormen, zoals is getoond in figuur 1. Dit verschaft groepen van vier woorden, waarbij één woord voor elke groep niet wordt gebruikt. De andere drie woorden worden 25 geconvolueerd zoals hierboven is beschreven.
Een uitvoer vanaf de bank 0, meer specifiek woord 0/lijn 0, woord 0/lijn 1, woord 1/lijn 0 en woord 1/Iijn 1, is getoond in figuur 9. Een bijbehorende uitvoer vanuit de bank 1 is ook getoond, meer specifiek woord 0/lijn 2, woord 0/lijn 3, woord 1/lijn 2 en woord 1/lijn 3. Na het multiplexen verschaffen zij een enkele woordstroom, zoals meer specifiek woord 0/lijn 0, woord 0/lijn 2, woord 0/lijn 1, woord 0/lijn 3, woord 1/lijn 0, 30 woord 1/lijn 2, woord 1/lijn 1 en woord 1/lijn 3. Dan worden, zoals aangeduid door convolueren, woord 0/lijn 0, woord 0/lijn 2 en woord 0/lijn 1 gebruikt om gegevens te verschaffen voor het pixel of de pixels (afhankelijk van hoeveel pixels voor elk woord worden opgeslagen) voor de lijn 1 in het vervlochten veld 1. Op soortgelijke wijze verschaffen woord 1/lijn 0, woord 1/lijn 2 en woord 1/lijn 1 gegevens voor het daaropvolgende pixel of de daaropvolgende pixels op die lijn. Tegelijkertijd worden woord 0/lijn 3 en woord 2/lijn 3 35 genegeerd. Bij een andere gang door het geheugen worden gegevens voor de pixels voor de lijn 2 in het vervlochten veld 2 gebruikt; dit keer worden woord 0/lijn 0 en woord 1/lijn 0 genegeerd.
Gezien vanuit de CPU wordt het VRAM gemaakt om te verschijnen als een aaneengesloten blok. Dit veroorzaakt dat het vervlechten transparant is voor de CPU. De onderlinge verbindingen die deze doorzichtigheid verschaffen worden hierna besproken.
40 In de linkerkolom van figuur 10 wordt een gebruikelijke koppeling van de adressen tussen de CPU en een VRAM getoond. In feite is er een één-op-één-verbinding tussen de CPU-adreslijnen en de VRAM-adreslijnen. Het voorbeeld van figuur 10 veronderstelt een 32-bits woordafmeting. De CPU-adresbits AO en A1 worden aldus gebruikt om VRAM-bytes en woorden vrij te geven, in plaats van specifieke VRAM-adresbits. Om deze reden wordt het CPU-adresbit A2 aan het VRAM-adresbit AO gekoppeld, CPU-adresbit 45 A3 aan VRAM-adresbit A1, enz. Ook moet één adreslijn, aangezien er twee VRAM-banken zijn, worden aangewezen als een bankselectiesignaal. Bij een gebruikelijke koppeling kan elk adresbit worden gebruikt dat geschikt is voor het ontwerp. Het CPU-adres A19 is in dit voorbeeld gekoppeld aan BANKSEL.
De verbindingen tussen de CPU-adresbits en de VRAM-adresbits voor het tweewegvervlechten wordt getoond in de tweede kolom van figuur 10. Dit voorbeeld veronderstelt dat er 1024 bytes per aftastlijn zijn. 50 Indien dit het geval is, is het adresbit A10 vanuit de CPU het bit dat tussen oneven en even aftastlijnen kiest. Dit bit wordt gekoppeld aan AO van het VRAM. Het effect van deze bitmanipulatie is dat in plaats van het kiezen tussen oneven en even aftastlijnen, het adresbit kiest tussen oneven en even woorden, waardoor twee lijnen per woord tezamen worden vervlochten. Ook wordt A11 gekoppeld aan BANKSEL om tussen de VRAM-banken 0 en 1 te kiezen om de andere aftastlijn. Het is deze bitmanipulatie die het tweeweg-55 vervlechten transparant doet voorkomen voor de CPU. (Verondersteld wordt dat de aftastlijnlengte een macht van twee is, in het andere geval is de adressering complexer.)
De schuifregisters, zoals het schuifregister 63 van figuur 8, worden gebruikt om een enkel pixel in staat
Claims (10)
1. Werkwijze voor het opwekken van gefilterde pixelgegevens voor een eerste weergeeflijn in een videoweergave met rasteraftasting voor een computer, waarbij gegevens voor de weergave worden opgeslagen in een rasterbuffer en waarbij de gegevens worden geordend in de rasterbuffer door aftastlijnen, waarbij gegevens worden opgeslagen voor elk pixel langs elke aftastlijn, omvattende: 35 a. het opslaan van de pixelgegevens in een rasterbuffer die een eerste en een tweede bank video- RAM’s heeft, waarbij pixelgegevens voor aftastlijnen 4k, 4k+1, (k e {0,1, 2, ...}), worden opgeslagen in de eerste bank en pixelgegevens voor aftastlijnen 4k+2, 4k+3 (k e {0, 1, 2,...}) worden opgeslagen in de tweede bank, b. het uit de buffer lezen van de pixelgegevens voor een eerste pixel van N+1 opeenvolgende aftast-40 lijnen alvorens uit de buffer de pixelgegevens voor daaropvolgende pixels van N+1 opeenvolgende aftastlijnen te lezen, c. het convolueren van de pixelgegevens voor het eerste pixel van N+1 aftastlijnen, teneinde de gefilterde pixelgegevens voor het eerste pixel van de weergeeflijn te verschaffen, d. het herhalen van de stappen b en c voor elk daaropvolgend pixel op de weergeeflijn.
2. Werkwijze volgens conclusie 1, met het kenmerk, dat N=2.
3. Werkwijze volgens conclusie 2, met het kenmerk, dat de leesstap het lezen uit de eerste bank omvat van de pixelgegevens van een (n)-de en een (n+1)-ste aftastlijn (n = 4k, k e {0,1,2,...}), en het lezen uit de tweede bank van de pixelgegevens van een (n+2)-de en een (n+3)-de aftastlijn, alvorens uit de eerste bank de pixelgegevens voor daarop volgende pixels van de (n)-de en (n+1)-ste aftastlijnen te lezen, en alvorens 50 uit de tweede bank de pixelgegevens voor daarop volgende pixels van de (n+2)-de en (n+3)-de aftastlijnen te lezen.
4. Werkwijze volgens conclusie 3, met het kenmerk, dat de convolutiestap het uitvoeren omvat van de volgende berekening: aP-i+bPo+aP·* 55 2a+b waarbij P, de pixelgegevens zijn voor het eerste pixel van de (n)-de aftastlijn, P2 de pixelgegevens voor het eerste pixel van de (n+1)-ste aftastlijn en P3 de pixelgegevens voor het eerste pixel van de (n+2)-de 9 193229 aftastlijn, en waarbij a en b constanten zijn.
5. Werkwijze volgens conclusie 4, met het kenmerk, dat b gelijk is aan 2a.
5 In de voorgaande beschrijving is de meeste nadruk gelegd op de 1-2-1 kem. Experimenten hebben getoond dat noch een 3-lijns convolutie noch een aan-uit-aan-uit reductie van 50% grijs wezenlijk is in alle situaties voor een effectieve flikkerreductie met vervlechting. Indien de voorwaarde dat aan-uit-aan-uit horizontale lijnpatronen worden gereduceerd tot een 50% grijs wordt gehandhaafd en andere kem-afmetingen anders dan 1x3 worden geprobeerd, is er voor elke kemafmeting een verandering coëfficiënten 10 om te voldoen aan de aan-uit-aan-uit voorwaarde. Deze coëfficiënten passen in de driehoek van Pascual (dat wil zeggen 1;1,1; 1,2,1;1,3,3,1;1,4,6,4,1; enz.) Zoals hierboven vermeld zijn de ergste flikkerpatronen die welke een hoge horizontale coherentie hebben (dat wil zeggen horizontaal herhalen). Horizontale getrokken lijnen, horizontale streeplijnen en grijsoscillatie-patronen zijn voorbeelden van patronen met een hoge horizontale coherentie. Tekst is een voorbeeld van 15 patronen zonder een dergelijke coherentie. De hierboven besproken convolutie kan zichzelf aanpassen, dat wil zeggen dat deze kan worden veranderd afhankelijk van het type patronen dat wordt weergegeven. Ten eerste wordt bepaald of een herhaald patroon optreedt in een lokale horizontale groep kernen, bijvoorbeeld over 8 pixels. Indien er een patroon in de kernen is, worden vervolgens alle kernen geconvolueerd, bijvoorbeeld met de 1 -2-1 coëfficiënten. Indien er niet een dergelijk patroon is, worden de 8 pixels 20 vervolgens geconvolueerd met coëfficiënten die een scherper filter maken (bijvoorbeeld 1-3-1 of 1-4-1). De toets om te bepalen of een patroon zich herhaalt moet voortdurend worden toegepast in een bewegend horizontaal venster, kem voor kern. Omdat de testvensters overlappen, kunnen sommige kernen deel uitmaken van een patroon in één testvenster maar niet in een ander. Voor deze kernen wordt de 1-2-1 convolutie gebruikt aangezien zij bij de rand van het patroon zijn. Verschillende toetsen kunnen worden 25 gebruikt om te bepalen of een patroon herhaald, bijvoorbeeld kunnen de vier linker kernen worden vergeleken met de vier rechter kernen binnen het venster. 30
6. Werkwijze volgens conclusie 1, met het kenmerk, dat de stappen bt/md worden herhaald voor elke weergeeflijn in de weergave.
7. Werkwijze volgens conclusie 1, met het kenmerk, dat pixelgegevens worden opgeslagen voor twee aftastlijnen voorafgaande aan de eerste weergegeven aftastlijn in de rasterbuffer.
8. Werkwijze volgens conclusie 7, met het kenmerk, dat de pixelgegevens die zijn opgeslagen voor de twee aftastlijnen voorafgaande aan de eerste weergegeven aftastlijn beide zwart representeren.
9. Werkwijze voor het opwekken van gefilterde pixelgegevens voor een weergeeflijn in een videoweergave 10 met rasteraftasting voor een computer, waarbij gegevens voor de weergave worden opgeslagen in een rasterbuffer en waarbij de gegevens worden geordend in de rasterbuffer door aftastlijnen, waarbij gegevens worden opgeslagen voor elk pixel langs elke aftastlijn, omvattende: a. het opslaan van de pixelgegevens in een rasterbuffer die een eerste en een tweede bank video-RAM’s heeft, waarbij pixelgegevens voor aftastlijnen 4k, 4k+1, (k e (0,1,2,...}), worden opgeslagen in 15 de eerste bank en pixelgegevens voor aftastlijnen 4k+2,4k+3 (k e {0,1,2,...» worden opgeslagen in de tweede bank, b. het uit de buffer lezen van de pixelgegevens voor een eerste groep pixels van N+1 opeenvolgende aftastlijnen alvorens uit de buffer de pixelgegevens voor daaropvolgende groep pixels van N+1 opeenvolgende aftastlijnen te lezen, 20 c. het convolueren van de pixelgegevens van de eerste groep van N+1 aftastlijnen, teneinde de gefilterde pixelgegevens te verschaffen, d. het herhalen van de stappen b en c voor elke daaropvolgende groep pixels op de weergeeflijn.
10. Inrichting voor het opwekken van een rasterafgetaste weergave uit pixelgegevens die zijn opgeslagen in een buffer en geordend door aftastlijnen, waarbij pixelgegevens zijn opgeslagen voor pixels langs elke 25 aftastlijn, waarbij de buffer een eerste en een tweede bank video-RAM’s omvat met pixelgegevens voor aftastlijnen 4k+2, 4k+3 (k £ {0, 1, 2,...}), opgeslagen in de eerste bank en pixelgegevens voor aftastlijnen 4k, 4k+1 (k e {0, 1, 2, ...» opgeslagen in de tweede bank, omvattende een adresopwekkingsorgaan dat is gekoppeld aan de buffer voor het opwekken van een adres voor de buffer, zodanig dat de pixelgegevens voor een eerste pixel N+1 opeenvolgende aftastlijnen 30 worden geadresseerd en uit de buffer worden gelezen voordat alle pixelgegevens voor daarop volgende pixels van N+1 opeenvolgende aftastlijnen uit de buffer worden gelezen; een convolutie-orgaan voor het convolueren van de pixelgegevens voor het eerste pixel van de N+1 aftastlijnen om verticaal gefilterde gegevens te verschaffen voor het eerste pixel, waarbij het convolutie-orgaan aan de buffer is gekoppeld, en voorzien is van een opteller, een multiplexer die is gekoppeld aan 35 een eerste invoerklem van de opteller, een voorschalingsorgaan voor het voorschalen van een invoer naar de opteller, waarbij het voorschalingsorgaan gekoppeld is aan een tweede invoerklem van de opteller, waarbij de uitvoer van de opteller gekoppeld is met een grendelorgaan, waarbij de uitvoer van het grendelorgaan gekoppeld is met de multiplexer en met een normalisatieorgaan voor het normaliseren van het grendelorgaan. Hierbij 10 bladen tekening
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/290,182 US5005011A (en) | 1988-12-23 | 1988-12-23 | Vertical filtering apparatus for raster scanned display |
US29018288 | 1988-12-23 | ||
US8905566 | 1989-12-08 | ||
PCT/US1989/005566 WO1990007767A1 (en) | 1988-12-23 | 1989-12-08 | Vertical filtering apparatus for raster scanned display |
Publications (3)
Publication Number | Publication Date |
---|---|
NL8921391A NL8921391A (nl) | 1990-12-03 |
NL193229B NL193229B (nl) | 1998-11-02 |
NL193229C true NL193229C (nl) | 1999-03-03 |
Family
ID=23114877
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
NL8921391A NL193229C (nl) | 1988-12-23 | 1989-12-08 | Werkwijze en inrichting voor het verticaal filteren voor een rasterafgetaste weergave. |
Country Status (12)
Country | Link |
---|---|
US (1) | US5005011A (nl) |
EP (4) | EP0681280B1 (nl) |
JP (1) | JP3081899B2 (nl) |
KR (1) | KR0138991B1 (nl) |
AT (4) | ATE168489T1 (nl) |
AU (1) | AU4828390A (nl) |
CA (1) | CA1320600C (nl) |
DE (5) | DE3991534T1 (nl) |
GB (1) | GB2233867B (nl) |
HK (3) | HK1012457A1 (nl) |
NL (1) | NL193229C (nl) |
WO (1) | WO1990007767A1 (nl) |
Families Citing this family (42)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
IE63461B1 (en) * | 1989-09-11 | 1995-04-19 | Jeremy Owen Jones | Improvements in and relating to stable memory circuits |
US5428456A (en) * | 1991-03-15 | 1995-06-27 | Eastman Kodak Company | Method and apparatus for adaptively reducing interline flicker of TV-displayed image |
US5264838A (en) * | 1991-08-29 | 1993-11-23 | Honeywell Inc. | Apparatus for generating an anti-aliased display image halo |
JP2585957B2 (ja) | 1992-08-18 | 1997-02-26 | 富士通株式会社 | ビデオデータ変換処理装置とビデオデータ変換装置を有する情報処理装置 |
GB9223492D0 (en) * | 1992-11-10 | 1992-12-23 | Display Research Lab | Processing of signals for interlaced display |
JPH07334669A (ja) * | 1994-06-07 | 1995-12-22 | Matsushita Electric Ind Co Ltd | 図形処理方法および図形処理装置 |
US5510843A (en) * | 1994-09-30 | 1996-04-23 | Cirrus Logic, Inc. | Flicker reduction and size adjustment for video controller with interlaced video output |
US5835948A (en) * | 1994-10-14 | 1998-11-10 | Compaq Computer Corporation | Single bank, multiple way cache memory |
US5640532A (en) * | 1994-10-14 | 1997-06-17 | Compaq Computer Corporation | Microprocessor cache memory way prediction based on the way of previous memory read |
US5838299A (en) * | 1995-05-03 | 1998-11-17 | Apple Computer, Inc. | RGB/YUV video convolution system |
US5748178A (en) * | 1995-07-18 | 1998-05-05 | Sybase, Inc. | Digital video system and methods for efficient rendering of superimposed vector graphics |
AU7435696A (en) * | 1995-10-13 | 1997-04-30 | Apple Computer, Inc. | Method and apparatus for video scaling and convolution for displaying computer graphics on a conventional television monitor |
US5996022A (en) | 1996-06-03 | 1999-11-30 | Webtv Networks, Inc. | Transcoding data in a proxy computer prior to transmitting the audio data to a client |
US6034689A (en) | 1996-06-03 | 2000-03-07 | Webtv Networks, Inc. | Web browser allowing navigation between hypertext objects using remote control |
US6311197B2 (en) | 1996-06-03 | 2001-10-30 | Webtv Networks, Inc. | Method for downloading a web page to a client for efficient display on a television screen |
US5935207A (en) | 1996-06-03 | 1999-08-10 | Webtv Networks, Inc. | Method and apparatus for providing remote site administrators with user hits on mirrored web sites |
US5918013A (en) * | 1996-06-03 | 1999-06-29 | Webtv Networks, Inc. | Method of transcoding documents in a network environment using a proxy server |
US5862220A (en) * | 1996-06-03 | 1999-01-19 | Webtv Networks, Inc. | Method and apparatus for using network address information to improve the performance of network transactions |
US5896444A (en) | 1996-06-03 | 1999-04-20 | Webtv Networks, Inc. | Method and apparatus for managing communications between a client and a server in a network |
US6473099B1 (en) * | 1996-06-03 | 2002-10-29 | Webtv Networks, Inc. | Automatically upgrading software over a satellite link |
US6957260B1 (en) | 1996-06-03 | 2005-10-18 | Microsoft Corporation | Method of improving access to services provided by a plurality of remote service providers |
US5862339A (en) * | 1996-07-09 | 1999-01-19 | Webtv Networks, Inc. | Client connects to an internet access provider using algorithm downloaded from a central server based upon client's desired criteria after disconnected from the server |
US5745909A (en) * | 1996-07-09 | 1998-04-28 | Webtv Networks, Inc. | Method and apparatus for reducing flicker when displaying HTML images on a television monitor |
US5838927A (en) * | 1996-11-22 | 1998-11-17 | Webtv Networks | Method and apparatus for compressing a continuous, indistinct data stream |
US6604242B1 (en) * | 1998-05-18 | 2003-08-05 | Liberate Technologies | Combining television broadcast and personalized/interactive information |
US5991799A (en) * | 1996-12-20 | 1999-11-23 | Liberate Technologies | Information retrieval system using an internet multiplexer to focus user selection |
AU721232B2 (en) * | 1997-01-24 | 2000-06-29 | Canon Kabushiki Kaisha | Scan line rendering of convolutions |
AUPO478897A0 (en) | 1997-01-24 | 1997-02-20 | Canon Information Systems Research Australia Pty Ltd | Scan line rendering of convolutions |
EP0869469A3 (en) * | 1997-04-01 | 1999-03-31 | Genesis Microchip Inc. | Pixelated display method and apparatus |
US5963262A (en) * | 1997-06-30 | 1999-10-05 | Cirrus Logic, Inc. | System and method for scaling images and reducing flicker in interlaced television images converted from non-interlaced computer graphics data |
US6348978B1 (en) | 1997-07-24 | 2002-02-19 | Electronics For Imaging, Inc. | Method and system for image format conversion |
JP3758362B2 (ja) * | 1998-04-13 | 2006-03-22 | コニカミノルタビジネステクノロジーズ株式会社 | 画像処理装置 |
US6650327B1 (en) | 1998-06-16 | 2003-11-18 | Silicon Graphics, Inc. | Display system having floating point rasterization and floating point framebuffering |
US6310697B1 (en) | 1998-07-07 | 2001-10-30 | Electronics For Imaging, Inc. | Text enhancement system |
US6501565B1 (en) * | 1998-07-07 | 2002-12-31 | Electronics For Imaging, Inc. | Method and apparatus for smoothing text outlines |
AU3712300A (en) | 1999-06-11 | 2001-01-02 | Liberate Technologies | Hierarchical open security information delegation and acquisition |
US6570562B1 (en) * | 2000-05-03 | 2003-05-27 | Hewlett-Packard Development Company, L.P. | Method for drawing patterned lines in a system supporting off-screen graphics |
US6903753B1 (en) * | 2000-10-31 | 2005-06-07 | Microsoft Corporation | Compositing images from multiple sources |
US20020167612A1 (en) * | 2001-04-02 | 2002-11-14 | Pelco | Device and method for reducing flicker in a video display |
JP4410997B2 (ja) * | 2003-02-20 | 2010-02-10 | パナソニック株式会社 | 表示パネルの駆動装置 |
KR100807601B1 (ko) | 2003-06-30 | 2008-03-03 | 엔이씨 일렉트로닉스 가부시키가이샤 | 평판 디스플레이용 메모리 제어기 및 데이터 드라이버 |
JP5732887B2 (ja) * | 2011-02-14 | 2015-06-10 | 株式会社リコー | フレームメモリ制御装置 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2640759C2 (de) * | 1976-09-10 | 1982-10-14 | Robert Bosch Gmbh, 7000 Stuttgart | System zur Wiedergabe von Videosignalen |
US4215414A (en) * | 1978-03-07 | 1980-07-29 | Hughes Aircraft Company | Pseudogaussian video output processing for digital display |
NL7901119A (nl) * | 1979-02-13 | 1980-08-15 | Philips Nv | Beeldweergeefinrichting voor het als een tweevoudig geinterlinieerd televisiebeeld weergeven van een door een beeldsignaalgenerator opgewekt tweewaardig signaal. |
US4322750A (en) * | 1979-05-08 | 1982-03-30 | British Broadcasting Corporation | Television display system |
US4454506A (en) * | 1981-09-04 | 1984-06-12 | Bell Telephone Laboratories, Incorporated | Method and circuitry for reducing flicker in symbol displays |
US4808984A (en) * | 1986-05-05 | 1989-02-28 | Sony Corporation | Gamma corrected anti-aliased graphic display apparatus |
US4843380A (en) * | 1987-07-13 | 1989-06-27 | Megatek Corporation | Anti-aliasing raster scan display system |
JPH06101039B2 (ja) * | 1988-05-11 | 1994-12-12 | 富士通株式会社 | ウインドウ画像データの読出処理方式 |
-
1988
- 1988-12-23 US US07/290,182 patent/US5005011A/en not_active Expired - Lifetime
-
1989
- 1989-09-25 CA CA000612710A patent/CA1320600C/en not_active Expired - Lifetime
- 1989-12-08 GB GB9017115A patent/GB2233867B/en not_active Expired - Lifetime
- 1989-12-08 JP JP02501867A patent/JP3081899B2/ja not_active Expired - Lifetime
- 1989-12-08 NL NL8921391A patent/NL193229C/nl not_active IP Right Cessation
- 1989-12-08 AT AT95110726T patent/ATE168489T1/de not_active IP Right Cessation
- 1989-12-08 AT AT90901361T patent/ATE138216T1/de not_active IP Right Cessation
- 1989-12-08 EP EP95110724A patent/EP0681280B1/en not_active Expired - Lifetime
- 1989-12-08 DE DE893991534T patent/DE3991534T1/de not_active Withdrawn
- 1989-12-08 AU AU48283/90A patent/AU4828390A/en not_active Abandoned
- 1989-12-08 EP EP95110726A patent/EP0685829B1/en not_active Expired - Lifetime
- 1989-12-08 AT AT95110724T patent/ATE176353T1/de not_active IP Right Cessation
- 1989-12-08 KR KR1019900701870A patent/KR0138991B1/ko not_active IP Right Cessation
- 1989-12-08 DE DE68928923T patent/DE68928923T2/de not_active Expired - Lifetime
- 1989-12-08 EP EP95110725A patent/EP0681281B1/en not_active Expired - Lifetime
- 1989-12-08 AT AT95110725T patent/ATE169419T1/de not_active IP Right Cessation
- 1989-12-08 DE DE68928744T patent/DE68928744T2/de not_active Expired - Lifetime
- 1989-12-08 WO PCT/US1989/005566 patent/WO1990007767A1/en active IP Right Grant
- 1989-12-08 DE DE68926502T patent/DE68926502T2/de not_active Expired - Lifetime
- 1989-12-08 EP EP90901361A patent/EP0404911B1/en not_active Expired - Lifetime
- 1989-12-08 DE DE68928773T patent/DE68928773T2/de not_active Expired - Lifetime
-
1998
- 1998-12-14 HK HK98113334A patent/HK1012457A1/xx not_active IP Right Cessation
- 1998-12-14 HK HK98113336A patent/HK1012458A1/xx not_active IP Right Cessation
- 1998-12-21 HK HK98114169A patent/HK1013160A1/xx not_active IP Right Cessation
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
NL193229C (nl) | Werkwijze en inrichting voor het verticaal filteren voor een rasterafgetaste weergave. | |
KR100320483B1 (ko) | 디스플레이회로 | |
EP0609980A2 (en) | Motion detection method and apparatus | |
JP2000004455A (ja) | ディスプレイコントロ―ラ及び3次元ディスプレイ並びにクロスト―ク低減方法 | |
KR20030029507A (ko) | 동작 적응성의 비-비월주사 방법 및 장치 | |
JPH06295338A (ja) | 画像生成方法 | |
EP0480564B1 (en) | Improvements in and relating to raster-scanned displays | |
JPH1175220A (ja) | 映像信号変換器 | |
JPS60263193A (ja) | 画像表示装置 | |
US6034664A (en) | Method and apparatus for pseudo-random noise generation based on variation of intensity and coloration | |
JP2666739B2 (ja) | 表示制御装置 | |
US6011538A (en) | Method and apparatus for displaying images when an analog-to-digital converter in a digital display unit is unable to sample an analog display signal at a desired high sampling frequency | |
JP2000324337A (ja) | 画像拡大縮小装置 | |
JP3484763B2 (ja) | 映像データ転送装置およびコンピュータシステム | |
JPH0756588B2 (ja) | Crt表示シンボル用ハロー発生装置 | |
TW527824B (en) | Adative-deflicker processing method and adaptive deflicker filter | |
US6559857B2 (en) | Method and apparatus for pseudo-random noise generation based on variation of intensity and coloration | |
JPH0571113B2 (nl) | ||
US6788348B1 (en) | Method and system for processing digital images | |
JP2000122594A (ja) | 画像表示方法と画像表示装置 | |
JP3226939B2 (ja) | 画像表示装置 | |
JP3894173B2 (ja) | 映像データ転送を行うコンピュータシステム | |
CN2567698Y (zh) | 可适性防闪烁滤镜装置 | |
JPH03291691A (ja) | 表示装置の駆動方法 | |
JP2004165828A (ja) | グラフィックスデータの処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
BA | A request for search or an international-type search has been filed | ||
BB | A search report has been drawn up | ||
BC | A request for examination has been filed | ||
TNT | Modifications of names of proprietors of patents or applicants of examined patent applications |
Owner name: APPLE INC. Effective date: 20080516 |
|
V4 | Discontinued because of reaching the maximum lifetime of a patent |
Effective date: 20091208 |