FI107196B - Menetelmä ja laite kuvaelementtien käsittelemiseksi - Google Patents

Menetelmä ja laite kuvaelementtien käsittelemiseksi Download PDF

Info

Publication number
FI107196B
FI107196B FI972923A FI972923A FI107196B FI 107196 B FI107196 B FI 107196B FI 972923 A FI972923 A FI 972923A FI 972923 A FI972923 A FI 972923A FI 107196 B FI107196 B FI 107196B
Authority
FI
Finland
Prior art keywords
pixel
pixels
state
turned
storage area
Prior art date
Application number
FI972923A
Other languages
English (en)
Swedish (sv)
Other versions
FI972923A (fi
FI972923A0 (fi
Inventor
Eero Pajarre
Original Assignee
Vlsi Solution Oy
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Vlsi Solution Oy filed Critical Vlsi Solution Oy
Priority to FI972923A priority Critical patent/FI107196B/fi
Publication of FI972923A0 publication Critical patent/FI972923A0/fi
Priority to US09/112,053 priority patent/US6088033A/en
Publication of FI972923A publication Critical patent/FI972923A/fi
Application granted granted Critical
Publication of FI107196B publication Critical patent/FI107196B/fi

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Image Generation (AREA)

Description

107196
Menetelmä ja laite kuvaelementtien käsittelemiseksi
Keksinnön tausta
Kolmeulotteisen eli 3-D -grafiikan tuottaminen (rendering) on yhä tärkeämpi tietojenkäsittely-yksiköiden sovellusalue. Tätä prosessia avustetaan 5 usein integroituina piireinä toteutetulla laitteistolla.
3-D -grafiikan tuottamisprosessi koostuu tyypillisesti useista tehtävistä. Tuottamisprosessi alkaa kokoamalla ylätason sovellusdataa, joka kuvaa tuotettavan näkymän kokoelmana olioita. Nämä oliot sovitetaan sitten sopivaan koordinaattiavaruuteen tuottamisjärjestelmää varten ja niiden eri attri-10 buuttiarvot lasketaan. Sovitettu olioinformaatio muunnetaan rasteroinniksi kutsutussa prosessissa joukoksi data-arvoja kullekin olion peittämälle pikselille (=picture element, kuvaelementti). Kuten yleisesti tunnetaan, rasteroija muuntaa vektoriperusteiset oliot pikseleiksi, jotka on sovitettu tuottamislaitteelle, kuten näyttösovittimelle. Yksinkertaisuuden vuoksi keksintö selostetaan näyt-15 tölaitteiden yhteydessä, mutta se soveltuu yhtä hyvin tulostuslaitteisiin (kirjoittimille tai filmigeneraattoreille), vaikka nopeusvaatimus on yleensä mer-kittävimmillään tosiaikaisten näyttöjärjestelmien yhteydessä.
Data-arvot (tai parametrit) kullekin pikselille voidaan luokitella karkeasti kahteen tyyppiin. Ensimmäinen parametrityyppi osoittaa, missä ja miten 20 pikseli tulisi tuottaa. Näihin parametreihin kuuluu pikselin koordinaatti (X, Y) ja väri (C). ("Värin” käsite voi viitata myös yhden värin asteisiin, kuten harmaus-asteisiin.) Toinen parametrityyppi sisältää informaatiota siitä, onko pikseli piirrettävä vai sammutettava. Näihin parametreihin kuuluu tyypillisesti Z-arvo, joka :· edustaa pikselin syvyyttä kuvaruudulla. Z-arvoa käytetään koottaessa kuvaa 25 oikein, niin että näkymän edessä olevat kuvat peittävät takanaan olevat oliot näkymästä. (Tämän hakemuksen puitteissa termit "edessä” ja "takana” tulisi tulkita nähdyiksi kuvitteellisen katsojan kuvakulmasta.) Kuhunkin pikseliin voidaan lisäksi liittää yksi tai useampia pinta- eli tekstuurikartan ("T") koordinaat-tijoukkoja. Muita syitä rasteroijan kehittämän pikselin sammuttamiseksi voi olla - ’* 30 esimerkiksi läpinäkyvyysefektin toteuttaminen. Tämä voidaan saavuttaa valit semalla sammutettavat pikselit rasterikuvion perusteella tai toteuttamalla pintoja, joissa on erityisten tekstuuriattribuuttien määrittämiä reikiä. Kokonaisvaikutus on, että huomattavaa osaa rasteroijan kehittämistä pikseleistä ei kirjoiteta näyttömuistiin.
• # l 2 107196
Tuottamisprosessin viimeinen vaihe kokoaa ja yhdistää tämän dja-tavirran olemassaolevan graafisen tilan kanssa, lopullisten pikseliarvoj^n tuottamiseksi. Kokoamisprosessi yhden pikselin osalta riippuu yleensä useassa parametrista ja myös näytölle aiemmin tuotettujen pikseleiden arvoista. Tyypjil-5 lisin pikselien välinen riippuvuus on Z-puskurijärjestys. Jos kahdella pikselijlä on samat koordinaattiarvot (X, Y), niiden Z-arvoja verrataan, ja jälkimmäinen pikseli piirretään vain, jos sen Z-arvo osoittaa sen olevan aiemman pikselin edessä. Z-puskurin vertaaminen voi siis aiheuttaa pikselin sammuttamisen (pikseliä ei piirretä).
10 Piirtämisoperaatio voidaan käsitellä kytkemällä kuhunkin tehtävään määrätyt yksiköt sarjaan eli peräkkäin. Tämän arkkitehtuurin ongelmana oh, että se ei ole erityisen joustava. Tuettujen ominaisuuksien suurin monimutkaisuus on myös rajallinen, koska putkilinjan kukin aste kasvattaa laitteiston kokonaismäärää.
15 Toinen aiemman arkkitehtuurin ongelma on, että se vaatii erilliset, ominaiset muistit kullekin osalle, eli Z-, T- ja C-puskureille. Muussa tapauksensa eri tehtävien lomitus johtaisi tehottomaan muistinkäyttökaavioon.
Koska kaikki operaatiot ovat samassa putkilinjassa, on vaikeaa poistaa siitä pikseleitä, esimerkiksi Z-vertailun jälkeen. Tunnetuissa järjest^l-20 missä sammutettavat pikselit leimataan (merkitään) lippubitillä. Z- ja C-kirjoitusvaiheiden aikana tällaisilla lippubiteillä merkittyä pikselidataa ei kirjoiteta ulkoiseen muistiin.
Muistia voidaan osoittaa tehokkaammin suorittamalla kaikki piksejli-ryhmään kohdistettavat operaation sekvenssissä ja etenemällä prosessoinni^- " 25 sa seuraavaan vaiheeseen. Koska kunkin ajanhetkenä suoritetaan vain yh|tä prosessointivaihetta, on mahdollista käyttää samaa datatietä eri asteiden toteuttamiseen. Tällaisessa arkkitehtuurissa pikselivektorin prosessointi eten^e seuraavasti: 1) Z-arvot luetaan muistista ja verrataan; 2) kukin pikseli medeltään vertailutuloksella ; 3) pikselin Z-arvot kirjoitetaan Z-puskuriin, mutta niijle 30 pikseleille, jotka eivät läpäisseet Z-vertailua, varsinainen kirjoitus estetääh. Samat vaiheet toistetaan tekstuuri- (T) ja väri- (C) -informaatiolle. Jälleen niille • · k pikseleille, jotka eivät läpäisseet Z-vertailua, varsinainen kirjoitus estetääh-Huomattakoon, että tämän arkkitehtuurin olemassaolevissa toteutuksissa niiltä pikseleitä, jotka eivät läpäisseet Z-vertailua, ei poisteta, mikä tarkoittaa etjtä 35 olennaisesti kaikki tekstuuria, läpinäkyvyyttä jne. koskeva prosessointi toteutetaan kullekin pikselille riippumatta siitä, tullaanko sitä piirtämään vai ei.
• •tr 3 107196
Julkaisusta WO 95/27267 tunnetaan järjestely, jossa ensimmäisessä vaiheessa tarkistetaan z-puskurin avulla pyyhkäisyjuovan näkyvyys. Samalla talletetaan tieto päivitettävistä pikseleistä ja päivitetään z-puskuri. Seuraa vie n vaiheiden jälkeen päivitetään kuvapuskurin sisältö ainoastaan silloin 5 jos z-puskurin sisältö on muuttunut. Toinen vaihe sisältää tekstuurin muodostamisen näkyville pikseleille ja samalla talletetaan x-arvot uudelleen. Kolmannessa vaiheessa näkyvien pikseleiden uudet arvot talletetaan käyttämällä x-arvoja tai suoritetaan alfa-sekoitus. Neljännessä vaiheessa näkyvien pikseleiden lista käydään vielä kerran läpi ja pikselit talletetaan kuvapuskuriin. Kysei-10 sen julkaisun mukaisesti muistiin kirjoittaminen sallitaan vain, jos z-puskurin sisältö on muuttunut vertailussa. Kellosyklejä kuitenkin haaskataan, koska jokainen osoite joudutaan generoimaan riippumatta siitä, käytetäänkö osoitetta tallentamiseen vai ei.
Keksinnön lyhyt selostus 15 Keksinnön tavoitteena on siten kehittää menetelmä ja menetelmän toteuttava laitteisto 3-ulotteisen grafiikan tulostamiseen siten, että päästään tehokkaampaan muistinkäyttöön ja/tai nopeampaan suoritukseen kuin tunnetuissa järjestelmissä. Keksinnön tavoite saavutetaan menetelmällä ja järjestelmällä, joille on tunnusomaista se, mitä sanotaan itsenäisissä patenttivaati-20 muksissa. Keksinnön edulliset suoritusmuodot ovat epäitsenäisten patenttivaatimusten kohteena.
Keksinnön yleisenä ajatuksena on välttää laskelmien suoritus pikseleille, joita myöhemmin ei tulla piirtämään. Tämä idea voidaan toteuttaa uu-:·. denlaisella lomituksella eri prosessointiasteiden välillä. Keksinnön mukaisesti 25 päätöstä pikselin piirtämisestä siirretään lähemmän prosessoinnin alkua. Näiden yleisten ajatusten toteutus ei kuitenkaan ole suoraviivaista, sillä pikseli-muistin osoittaminen hankaloituu, mutta voidaan osoittaa että pikselien prosessoinnista syntyvät säästöt ylittävät osoitteen generoinnista johtuvan ylimäärän. Jos keksintö toteutetaan optimaalisesti, sammutettaviin pikseleihin, eli nii-30 hin joiden on todettu olevan muiden pikseleiden takana, läpinäkyviä, tai muista syistä, ei haaskata enää yhtään kellojaksoa. Tämä optimaalinen toteutus perustuu tilaosoittimeen kullekin prosessoitavalle pikselille. Tätä tilaosoitinta käytetään estämään osoitteen generointi niihin muistipaikkoihin, jotka sisältävät sammutettavia pikseleitä.
• · I
4 107196
Kuvioiden lyhyt selostus
Keksinnön mukaista menetelmää ja laitteistoa selostetaan nyt lähemmin edullisten suoritusmuotojen yhteydessä, viitaten oheisiin piirroksiin, joista: 5 Kuvio 1 esittää esimerkinomaista laitteistoa keksinnön toteuttami seksi; ja
Kuvio 2 esittää vuokaaviota erään keksinnön mukaisen menetelmän havainnollistamiseksi.
Keksinnön yksityiskohtainen selostus 10 Viitaten kuvioon 1, esimerkinomainen laitteisto keksinnön toteutta miseksi koostuu neljästä pääosasta: muistialueesta 110, datatieyksiköstä 120, ohjauslogiikkayksiköstä 130 ja aktiivitilan rekisterivektorista 140. Pikselidatan muistialueen 110 ja aktiivitilan rekisterivektorin 140 koko (8) on valittu vain keksinnön havainnollistamiseksi.
15 Kuvion 1 mukainen laitteisto kytketään pikselidatan lähteeseen 100.
Tämä on tyypillisesti rasteroija, jota ei ole erikseen näytetty. Kuten hyvin tiedetään, rasteroija muuntaa vektoriperustaisia olioita tulostuslaitteelle, kuten näyttölaitteelle, sovitetuiksi pikseleiksi.
Viitaten nyt kuvioon 2, selostetaan keksinnön yleistä ajatusta. Vai-20 heessa 200 kuvion 1 mukainen laitteisto vastaanottaa joukon pikseleitä rastd-roijalta. Pikselit tallennetaan pikselimuistialueelle 110. Kullekin vastaanotetulle pikselille vastaava tilabitti aktiivitilan rekisterissä 140 alustetaan aktiiviseen tilaan, esim. ykköseksi. Ideaalisesti aktiivitilan rekisteri alustetaan seuraavasti.
*·' Pikseleitä vastaanotettaessa niiden lukumäärä lasketaan. Tätä lukumäärää 25 tarvitaan myös seuraavan pikselin paikan määrittämiseen. Pikselijoukon vastaanoton jälkeen aktiivitilan rekisterin vastaavat bitit alustetaan ykkösiksi.
Vaiheissa 202 ja 204 prosessointi alustetaan alkaen ensimmäisestä matemaattisesta operaatiosta ja muistialueen ensimmäisestä pikselistä. Tämä alustaminen käsittää lähinnä tiettyjen osoittimien asettamisen oikeisiin osoittei-30 siin ja operaatioihin. Vaiheessa 206 pikseli luetaan tallennusalueelta 110 data- • ·« tieyksikköön 120. Lukuosoitteen generoi ohjauslogiikkayksikkö 130. DatatieyH-sikkö 120 suorittaa pikselille tiettyjä matemaattisia operaatioita. Vaiheessa 200 datatieyksikkö määrittää, tuleeko prosessoitava pikseli sammuttaa. Tämä määrittäminen perustuu tyypillisesti yllä kuvattuihin Z-puskurin vertailuun t0i 35 tekstuurikartta-analyysiin. Vaiheessa 210, jos pikseli on sammutettava, vas- ♦ · ·.
« 5 107196 taava tilaosoitin asetetaan passiivitilaan, siis nollaksi. Vaiheessa 212, kulloinkin suoritettavasta operaatiosta riippuen, prosessointi joko jatkuu vaiheessa 214, missä pikselidata kirjoitetaan ulkoiseen muistiin, tai vaiheessa 216, missä pikselidata kirjoitetaan takaisin sisäiselle tallennusalueelle 110. Vaiheessa 5 218, jos lisää pikseleitä on käsiteltävänä, prosessi jatkuu vaiheeseen 220, missä valitaan seuraava aktiivinen pikseli, missä ’’aktiivinen” tarkoittaa että vastaava tilaosoitin on aktiivitilassa. Optimaalisesti tämä käsittää osoitteenge-neroinnin ohittamisen niihin tallennusalueen 110 paikkoihin, jotka sisältävät sammutettavia pikseleitä.
10 Jos vaiheessa 218 testattu pikseli oli viimeinen prosessoitava pik seli, prosessi etenee vaiheeseen 222, missä testataan onko suorittava muita matemaattisia operaatioita. Jos on, prosessi etenee vaiheeseen 224, missä seuraava operaatio alustetaan.
Huomattakoon, että kuvion 2 vuokaavion tarkoituksena on havain-15 nollistaa eikä rajoittaa keksintöä. On esimerkiksi mahdollista vastaanottaa, prosessoida ja tulostaa useita pikseleitä kerrallaan. Kuvion 2 vuokaavion tärkein näkökohta on se, että optimaalisesti vaiheessa 216 ja/tai 220 datatieyksi-költä 120 estetään pääsy (luku ja/tai kirjoitus) pikseliin tallennusalueella 110, jos on määritetty, että kyseinen pikseli on sammutettava, siis se on muiden 20 pikselien takana, läpinäkyvä tai muista syistä.
Kuvion 1 lohkojen toimintaa selostetaan nyt lähemmin. Tallennus-alue 110 tallentaa data-arvoja, jotka kuvaavat kulloinkin prosessoitavaa pikse-lijoukkoa. Tallennusalue 110 esitetään moniporttisena RAM-muistina. Käytännössä tallennusalue 110 voidaan toteuttaa käyttämällä multiplekseria ja tavan- T 25 omaista kaksiporttista RAM-muistia (luku ja kirjoitus samanaikaisesti). Tallennusalueen 110 jotkut osat täytetään tulevalla datavirralla rasteroijalta 100, ja tallennusalueen joihinkin osiin kirjoitetaan datatieyksiköltä 120 tulevia arvoja pikselin prosessoinnin aikana. Voi olla edullista käyttää pikseleille suurempaa datan tallennusaluetta ja hyödyntää sitä puskurina täyttämällä tallennusalueen 30 osa (puolet) rasteroijalta samaan aikaan, kun prosessointia suoritetaan tallen- »»« nusalueen toisella osalla.
* »a
Datatieyksikkö 120 vastaanottaa data-arvojen virran tallennusalu-eelta 110 ja se prosessoi datavirran suorittamalla pikselidatalle aritmeettisia ja/tai loogisia operaatioita. Se myös osoittaa ulkoista muistia (luku- tai kirjoi-35 tusoperaatioita) datan perusteella. Datatieyksikön 120 suorittamia tyypillisiä operaatioita ovat: * · « s.
6 107196 - Ottodatavirran osien (X- ja Y-koordinaattien) käyttäminen osoitteina Z-puskurin paikkoihin ja Z-puskurin (ulkoisen muistin) lukeminen näiden osoitteiden perusteella. Vertailutulokset lähetetään ohjauslogiikkayksikölle 130.
5 - Z-puskurin arvojen kirjoittaminen tallennusalueelta 110 ulkoiseen muistiin.
- Ottodatavirran osien käyttäminen tekstuurikartan osoitteina ja tekstuurin (ulkoisen muistin) lukeminen syntyvien osoitteiden perusteella. Syntyvät tekstuuriarvot tallennetaan takaisin tallennusalueelle 110.
10 - Sekoitusoperaation (blend) suorittaminen tallennusalueelle 110 tallennettujen eri väriarvojen välillä. Syntyvät väriarvot tallennetaan takaisin tallennusalueelle 110.
-Väriarvojen kirjoittaminen tallennusalueelta 110 ulkoiseen muistiin 160.
15 Ohjauslogiikkayksikkö 130 ohjaa operaatioiden sekvenssiä. Se ge neroi osoitteet, joita käytetään luettaessa ja kirjoitettaessa tallennusalueejn dataa. Se myös generoi ohjaussignaalit datatieyksikölle 120. Nämä ohjaussignaalit määrittelevät suoritettavan operaation. Ohjauslogiikkayksikkö 130 myös hyväksyy tilasignaalit datatieyksiköltä ja ohjaa aktiivisen tilan rekisteriä näiden 20 signaalien perusteella.
Aktiivisen tilan rekisteri 140 on mieluiten järjestetty vektoriksi (yksiulotteiseksi taulukoksi), joka käsittää ainakin yhden bitin kutakin talleiji-nusalueen 110 pikseliä kohti. Kun pikselijoukon prosessointi aloitetaan, kullakin pikselille vastaava bitti asetetaan aktiiviseen loogiseen tilaan, esimerkiksi 25 ykköseksi. Kun pikseli on sammutettava, vastaava aktiivinen bitti käännetääiii, siis asetetaan nollaksi. Joustavuuden vuoksi voi olla useita ehtoja pikselih sammuttamiseksi, kuten Z-puskurin vertailu tai rasterin läpinäkyvyystarkistus.
Kuviossa 1 näytetyssä esimerkissä aktiivisen tilan rekisteri 140 oh kytketty suoraan ohjauslogiikkayksikköön 130. Suoran kytkennän etu on, ettjä 30 aktiivisen tilan rekisterin 140 arvot voivat suoraan vaikuttaa esimerkiksi osoit-teengenerointiyksiköihin tallennusalueelle 110. Tämä tekee mahdolliseksi ai vain ohittaa tarpeettomat matemaattiset operaatiot, vaan myös estää data-tieyksikköä vastaanottamasta pikseli, jos on määritetty että kyseinen pikseli oh sammutettava. Tästä aiheutuu parannettu muistinkäyttökaavio ja se lisää jär-35 jestelmän suorituskykyä.
7 107196
Kuviossa 1 näytetyn suoritusmuodon toimintaa selostetaan nyt yksityiskohtaisen esimerkin yhteydessä. Selostuksen pitämiseksi kompaktina oletetaan, että tässä esimerkissä aktiivisen tilan rekisteri käsittää 8 bittiä, joista oikeanpuoleisin on vähiten merkitsevä. Bittien valittu määrä ja käytetyt merkin-5 nät ovat kuitenkin vain esimerkkejä eikä niitä ole tarkoitettu keksinnön rajoittamiseksi.
1. Operaatio alkaa niin, että prosessointiyksikössä on kuusi pikseli-sä. Nämä pikselit on tallennettu tallennusalueelle 110. Aktiivisen tilan rekisteri-vektorin tila on ”00111111 ”.
10 2. Z-luku suoritetaan. Ohjauslogiikkayksikkö 130 generoi lukuosoit- teita tallennusalueen 110 kuhunkin paikkaan, joille aktiivisen tilan 140 rekisterin vastaava bitti on ”1”. Tässä esimerkissä generoidaan peräkkäin seuraavat lukuosoitteet: 0, 1, 2, 3, 4 ja 5. Pikselin näyttöosoitteen arvoja, jotka luetaan näistä paikoista, käytetään suorittamaan Z-puskurin lukuja datatieyksikössä 15 120. Tämä vaihe kestää 6 kellojaksoa plus sen määrän kellojaksoja, joka tarvitaan käynnistämään ja sammuttamaan putkilinjan toiminta. Oletetaan, että Z-vertailun aikana pikselien 1, 3 ja 4 todetaan olevan Z-puskurin muiden olioiden takana. Vasteena tälle ohjauslogiikkayksikkö 130 sammuttaa aktiivisen tilan rekisterin 140 vastaavat bitit ja sen tila on nyt ”00100101”.
20 3. Z-kirjoitus suoritetaan. Ohjauslogiikkayksikkö 130 generoi seu raavat lukuosoitteet pikselidatamuistiin sekvenssissä: 0, 2 ja 5. Pikselin näyttöosoitteen arvoja, jotka luetaan näistä paikoista, käytetään suorittamaan Z-puskurin kirjoitusta datatieyksikössä 120. Tämä vaihe kestää 3 kellojaksoa plus sen määrän kellojaksoja, joka tarvitaan käynnistämään ja sammuttamaan : 25 putkilinjan toiminta.
4. Tekstuuri- (T) kartoitus suoritetaan. Ohjauslogiikkayksikkö 130 generoi seuraavat lukuosoitteet pikselidatamuistiin sekvenssissä: 0, 2 ja 5. Tekstuurikoordinaattiarvoja, jotka luetaan näistä paikoista, käytetään suorittamaan tekstuurilukuja datatieyksikössä 120. Tämä vaihe kestää 3 kellojaksoa 30 plus sen määrän kellojaksoja, joka tarvitaan käynnistämään ja sammuttamaan putkilinjan toiminta.
5. Väri- (C) kirjoitus suoritetaan. Ohjauslogiikkayksikkö 130 generoi seuraavat lukuosoitteet pikselidatamuistiin sekvenssissä: 0, 2 ja 5. Pikselin näyttöosoitteen arvoja, jotka luetaan näistä paikoista, käytetään suorittamaan 35 C-puskurin kirjoitusta datatieyksikössä 120. Tämä vaihe kestää 3 kellojaksoa 8 107196 plus sen määrän kellojaksoja, joka tarvitaan käynnistämään ja sammuttamaan putkilinjan toiminta.
Keksinnön mukainen laitteisto generoi tallennusalueelle 110 tuotettavan osoitesekvenssin niin, että osoitteet pikselipaikkoihin, joista aktihan 5 tilan rekisterin 140 vastaava bitti on ”0”, ohitetaan täysin (jätetään pois osoitjs-sekvenssistä). Keksinnön mukainen menetelmä ja laitteisto siis säästävjät huomattavan määrän kellojaksoja. Yllä kuvatuissa vaiheissa 3-5 kellojaksojen muuttuva määrä (poislukien kiinteä määrä kellojaksoja, joka tarvitaan käynnistämään ja sammuttamaan putkilinjan toiminta) alenee suhteessa sammuit) tettavien pikseleiden lukumäärään. Monimutkaisissa kuvissa hyvin suuri osa pikseleistä on toisten pikseleiden takana (tai niitä ei tule piirtää muista yllä selostetuista syistä). Keksintö siis säästää suuren osan kellojaksoja. Tulisi kuitenkin huomata, että kellojaksojen esitetyt määrät ovat vain esimerkkejä. Tietyssä toimintavaiheessa kutakin pikseliä kohti voidaan tarvita enemmän kujn 15 yksi kellojakso. On myös mahdollista, että vaadittavien kellojaksojen määrä vaihtelee pikselikohtaisesti.

Claims (6)

107196 g
1. Menetelmä graafisten operaatioiden suorittamiseksi kuvaelementeille eli pikseleille, jotka on järjestetty joukoiksi data-arvoja, jotka osoittavat ainakin kahta tyyppiä parametreja, missä ainakin yksi tyyppi sisältää infor- 5 maatiota siitä, onko kyseinen pikseli sammutettava vai ei; jossa menetelmässä; - vastaanotetaan pikselit ulkoisesta lähteestä ja tallennetaan jokainen niistä ennalta määrättyyn osoitteeseen tallennusalueella; - muodostetaan joukko tilaosoittimia, joista kullakin on aktiivinen tila 10 ja passiivinen tila, siten että tilaosoittimien lukumäärä ainakin vastaa pikselien maksimimäärää tallennusalueella; - pikselien vastaanoton yhteydessä vastaavat tilaosoittimet alustetaan aktiivitilaan; - ennalta määrättyyn osoitteeseen tallennetulle pikselille suoritetaan 15 ennalta määrättyjä matemaattisia operaatioita, joista ainakin osa sisältää päätöksen siitä, onko pikseli sammutettava vai ei; - ehdollisesti kirjoitetaan pikseli takaisin tallennusalueelle, mikäli sille on suoritettava lisää matemaattisia operaatioita, ja muussa tapauksessa tulostetaan se ulkoiseen kohteeseen; 20. mikäli mainittu päätös osoittaa, että ainakin jokin pikseli on sam mutettava, muutetaan kutakin sammutettavaa pikseliä vastaava tilaosoitin passiiviseen tilaan; tunnettu siitä, että ennalta määrätyt osoitteet kehitetään: - ohittamalla vastaava osoite vasteena sille, että vastaava tilaosoitin ; : 25 on passiivisessa tilassa; ja - olennaisesti yhtä pitkin väliajoin usealle peräkkäiselle pikselille, riippumatta siitä ohitetaanko yksi tai useampia osoitteita.
2. Patenttivaatimuksen 1 mukainen menetelmä, tunnettu siitä, että kukin mainittu olennaisesti yhtä pitkä väliaika vastaa yhden kellojakson 30 kestoa.
3. Laitteisto datan prosessointiin, graafisten operaatioiden suorittamiseksi kuvaelementeille eli pikseleille, jotka on järjestetty joukoiksi data-arvoja, jotka osoittavat ainakin kahta tyyppiä parametreja, missä ainakin yksi tyyppi sisältää informaatiota (Z, T) siitä, onko kyseinen pikseli sammutettava 35 vai ei; 10 107196 joka laitteisto käsittää: - vastaanottovälineet vastaanottamaan pikselit ulkoisesta lähteestä (100) ja tallentamaan kukin pikseli ennalta määrättyyn osoitteeseen tallennus-alueella (110); 5. datatieyksikön (120), joka on järjestetty vastaanottamaan pikse- leitä tallennusalueelta (110) ja kirjoittamaan niitä sinne, sekä suorittamaan eh-nalta määrättyihin osoitteisiin tallennetuille pikseleille ennalta määrättyjä matemaattisia operaatioita, joista ainakin osa sisältää päätöksen siitä, onko pikseli sammutettava vai ei; 10 tunnettu siitä, että laitteisto lisäksi käsittää; - ohjauslogiikkavälineet (130) tuottamaan mainitut ennalta määrätyt osoitteet tallennusalueelle (110); - tilarekisterin (140) osoittamaan onko kukin tallennusalueen (110) pikseli sammutettava, missä tilarekisteri (140) on toiminnallisesti kytketty oh- 15 jauslogiikkavälineisiin (130); missä ohjauslogiikkavälineet (130) on - toiminnallisesti kytketty datatieyksikköön (120) tilatiedon vastaanottamiseksi siltä, missä tilatieto osoittaa onko datatieyksikön (120) äskettäin prosessoima pikseli sammutettava vai ei; 20. järjestetty muuttamaan tilarekisterin (140) sisältöä datatieyksiköltä (120) saatavan tilatiedon perusteella; ja - järjestetty olennaisesti estämään datatieyksikköä (120) kirjoittamasta pikseli tallennusalueelle (110) tai lukemasta pikseliä sieltä, ohittamalla vastaava osoite, mikäli tilarekisteri (140) osoittaa, että kyseinen pikseli on - ' 25 sammutettava; ja - järjestetty tuottamaan ennalta määrätyt osoitteet olennaisesti yhtä pitkin väliajoin usealle peräkkäiselle pikselille, riippumatta siitä ohitetaanko yksi tai useampia osoitteita.
4. Patenttivaatimuksen 3 mukainen laitteisto, tunnettu siitä, ” 30 että tilarekisteri (140) on järjestetty yksiulotteiseksi matriisiksi osoittimia, edullj- ' sesti bittejä, joiden lukumäärä ainakin vastaa pikselien maksimimäärää tallerj- nusalueella (110).
5. Patenttivaatimuksen 3 tai 4 mukainen laitteisto, tunnettu siitä, että tilarekisteri on suoraan kytketty ohjauslogiikkavälineisiin (130). 11 107196
6. Jonkin patenttivaatimuksen 3 - 5 mukainen laitteisto, tunnettu siitä, että kukin mainittu olennaisesti yhtä pitkä väliaika vastaa yhden kellojakson kestoa. > « » 12 107196
FI972923A 1997-07-09 1997-07-09 Menetelmä ja laite kuvaelementtien käsittelemiseksi FI107196B (fi)

Priority Applications (2)

Application Number Priority Date Filing Date Title
FI972923A FI107196B (fi) 1997-07-09 1997-07-09 Menetelmä ja laite kuvaelementtien käsittelemiseksi
US09/112,053 US6088033A (en) 1997-07-09 1998-07-09 Method and apparatus for processing picture elements

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FI972923 1997-07-09
FI972923A FI107196B (fi) 1997-07-09 1997-07-09 Menetelmä ja laite kuvaelementtien käsittelemiseksi

Publications (3)

Publication Number Publication Date
FI972923A0 FI972923A0 (fi) 1997-07-09
FI972923A FI972923A (fi) 1999-01-10
FI107196B true FI107196B (fi) 2001-06-15

Family

ID=8549226

Family Applications (1)

Application Number Title Priority Date Filing Date
FI972923A FI107196B (fi) 1997-07-09 1997-07-09 Menetelmä ja laite kuvaelementtien käsittelemiseksi

Country Status (2)

Country Link
US (1) US6088033A (fi)
FI (1) FI107196B (fi)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3403707B2 (ja) * 2000-09-29 2003-05-06 松下電器産業株式会社 描画装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5081698A (en) * 1989-02-14 1992-01-14 Intel Corporation Method and apparatus for graphics display data manipulation
JPH07120435B2 (ja) * 1990-12-06 1995-12-20 インターナショナル・ビジネス・マシーンズ・コーポレイション 高速zバッファの初期化および更新方法ならびにそのシステム
US5307449A (en) * 1991-12-20 1994-04-26 Apple Computer, Inc. Method and apparatus for simultaneously rendering multiple scanlines
DE69331031T2 (de) * 1992-07-27 2002-07-04 Matsushita Electric Ind Co Ltd Vorrichtung zur parallelen Bilderzeugung
GB9406511D0 (en) * 1994-03-31 1994-05-25 Argonaut Software Limited Z-buffering in 3-d computer graphics
FR2732134B1 (fr) * 1995-03-23 1997-06-06 Suisse Electronique Microtech Systeme informatique avec memoires hierarchisees

Also Published As

Publication number Publication date
FI972923A (fi) 1999-01-10
FI972923A0 (fi) 1997-07-09
US6088033A (en) 2000-07-11

Similar Documents

Publication Publication Date Title
US6943800B2 (en) Method and apparatus for updating state data
US5801711A (en) Polyline and triangle strip data management techniques for enhancing performance of computer graphics system
KR100635437B1 (ko) 프리미티브를 렌더링하기 위한 상태 변수를 관리하는 방법, 프리미티브를 포함하는 장면을 렌더링하는 장치 및 머신 판독가능 매체
US5815166A (en) Graphics subsystem with slaveable rasterizer
US20030218614A1 (en) Dynamically adjusting sample density in a graphics system
US5877773A (en) Multi-pass clipping in a geometry accelerator
US5898437A (en) Method for fast rendering of three-dimensional objects by generating lists of like-facing coherent primitives
US4924414A (en) Apparatus and method for obtaining priority numbers for drawing figures forming a display figure
US6975322B2 (en) Dynamically adjusting a number of rendering passes in a graphics system
CA2216915C (en) Picture drawing apparatus and picture drawing method
US6411294B1 (en) Image display apparatus and image display method
US20050195198A1 (en) Graphics pipeline and method having early depth detection
US7898549B1 (en) Faster clears for three-dimensional modeling applications
US7053904B1 (en) Position conflict detection and avoidance in a programmable graphics processor
CA2216698C (en) Method and apparatus for simultaneous shape-dependent access to picture data stored at a plurality of addresses
US7053893B1 (en) Position conflict detection and avoidance in a programmable graphics processor using tile coverage data
US7075549B2 (en) Graphic image rendering apparatus
US9916675B2 (en) Graphics processing systems
US5696944A (en) Computer graphics system having double buffered vertex ram with granularity
US5784075A (en) Memory mapping techniques for enhancing performance of computer graphics system
FI107196B (fi) Menetelmä ja laite kuvaelementtien käsittelemiseksi
US5917503A (en) Converging data pipeline device
US20210295586A1 (en) Methods and apparatus for decoupled shading texture rendering
US7385609B1 (en) Apparatus, system, and method for increased processing flexibility of a graphic pipeline
JPH09120278A (ja) コンピュータグラフィックスシステムにおけるラインスキャンコンバージョン装置とその方法