Gå til innhold

Super resolution antialising skjerm


Anbefalte innlegg

Hei.

Satt å tenkte litt på dette med skjerm, skjermkort, pixler og alising.

Så fikk jeg en lur ide til en teknikk som kan implementeres i skjerm som fungerer som antialising. De fleste 21" CRT kan vise rundt 2048 x 1536 pixler, men er jo sjeldent man bruker høyere oppløsning enn 1600x1200.

Når jeg spiller bruker jeg som regel 1280x960, så da kan man kalle disse pixlene som renderes av skjermkortet for referansepixler. Men når dette vises på en skjerm med dobbelt så høy oppløsning, 2560 x 1920, så får man jo 3 pixler som vil vise samme farge som den siste referansepixelen. (dobbling av oppløsning gir 4-dobbling av antall pixler)

Hva om man da implementerer en teknikk som ytnytter de siste 3 pixlene og mixer fargene i disse med de andre nærliggende referansepixlene rundt?

Dette vil jo gi en form for antialising av bildet på 1280x960 som skjermkortet renderte.

Men da kan man jo spare skjermkortet for en del ytelsestap, samt all annen grafikk i 1280x960 vil se mye mindre kornete ut (pixelert).

 

Hvorfor er det ingen skjermprodusenter som har implementert noe slikt?

Dette må da bli aktuelt etterhvert når man får presset inn flere pixler pr tomme i framtiden.

 

Merk: Dette er mye tenke-mens-man-er-trøtt-ideer altså..

Også er jeg er langt ifra noe ekspert på dette, så drep meg ikke om jeg er på villspor :)

Endret av skag1
Lenke til kommentar
Videoannonse
Annonse

Lidende renderingsytelse.

Opplever at i selv 1600x1200 er spill kornete, og det blinker/flasher voldsomt blandt pixler i områder med store kontraster om man beveger litt på musa/synsvinkelen.

HL2 i 1024x768 med 4xAA husker jeg fikset det :)

Endret av skag1
Lenke til kommentar

For renderingen vil ha en oppløsning på 1280x960.

Skal ikke være så voldsomt krevende oppgave for en liten prosessor i skjermen (ikke skjermkort altså) å blende de 3 pixlene for hver refreshrate. Ved 75 Hz blir det 368 640 000 pixler pr sekund totalt, hvor 3/4 av disse skal blendes mot de resterende 1/4.

Vet om langt verre ting en vanlig CPU gjør uten så store problemer. :)

 

Edit: Tar jeg ikke helt feil er antialising slik som i dag basert på geometrien GPU'en jobber med (og evt texturer for transparent AA på GeForce). Mere avansert geometri vil gi større utslag i ytelsen ved bruk av AA. I min fantastiske AA-skjerm er det jo likegyldig hva som vises på skjermen.

Min teknikk kan jo ikke forbedre lavtoppløste teksturer - transparente eller ei. Så i tilfleller med lavoppløste transparente teksturer vil gammeldags AA (MSAA?) være bedre.

Endret av skag1
Lenke til kommentar

Anntar at du snakker om vanlig CRT-skjerm her. Disse skjermene tegner for så vidt ikke piksler - de er 100% analoge. Skjemkortet sender signaler som styrer R, G, og B ettersom billedrøret scanner (kontinuerlig), samt "klikk" for å synkronisere scanningen til skjermen (gjøres vel av egne oscilatorer i skjermen) med der DA-konverteren i skjermkortet tror scannerstrålen befinner seg.

 

Så "maksoppløsningen" til skjermen er ikke en helt fast størrelse, men en noe flytende greie som begrenser seg av skjermens scannerstrålenøyaktighet, samt tettheten på fosfor-"grid"-en. Faktisk så er vel også nøyaktigheten til skjemkortet også avgjørende - hadde en skjerm jeg trodde var dårlig (uskarp), men når den ble tatt av det billige ATI-skjermkortet det satt på, og koplet til et eldre, bedre GeForce-kort, så ble den plutselig knallskarp.

 

Ang bruke CPU til en slik "mixeoppgave" - dette ville man (i normale masseproduserte ting) brukt en spesiallaget integrert krets til, da denne ville kunnet gjort dette langt raskere med langt lavere strømforbruk, og samtidig kostet langt mindre.

Lenke til kommentar

Jeg vet ikke hvor vanlig det er med digital signalprosessering i CRT-skjermer. Men dersom man må innføre dette i skjermer som normalt ikke bruker dette, så vil det antagelig bety en viss kostnad som kanskje er større enn hva man får igjen for det i form av forbedret bilde med teknikken din.

 

Og det er ikke sikkert slik antialiasing er ønskelig i alle tilfelle heller. Spille og se på film er én ting, men i andre tilfeller ønsker man kanskje å tydelig se de forskjellige pixlene et bilde består av.

 

MS har forresten en teknologi kalt ClearType hvor antialiasingen av fonter foregår i farger for å best utnytte den fargematrisen som finnes i LCD skjermer, omtrent på den måten du foreslår. Men dette gjøres i software, og bør kalibreres til skjermen. Og personlig synes jeg ikke forbedringen er spesielt stor i forhold til vanlig antialiasing...

Lenke til kommentar
Jeg vet ikke hvor vanlig det er med digital signalprosessering i CRT-skjermer. Men dersom man må innføre dette i skjermer som normalt ikke bruker dette, så vil det antagelig bety en viss kostnad som kanskje er større enn hva man får igjen for det i form av forbedret bilde med teknikken din.

 

Og det er ikke sikkert slik antialiasing er ønskelig i alle tilfelle heller. Spille og se på film er én ting, men i andre tilfeller ønsker man kanskje å tydelig se de forskjellige pixlene et bilde består av.

 

MS har forresten en teknologi kalt ClearType hvor antialiasingen av fonter foregår i farger for å best utnytte den fargematrisen som finnes i LCD skjermer, omtrent på den måten du foreslår. Men dette gjøres i software, og bør kalibreres til skjermen. Og personlig synes jeg ikke forbedringen er spesielt stor i forhold til vanlig antialiasing...

6008672[/snapback]

 

En tilsvarende teknik brukes også av GTK under f.eks. Linux. Er sørenmeg et eget "kontroll-panel" for det, men du kan få skikkelig gode resultater ved å titte litt på LCD'en i forstørrelsesglass og stille inn etter det du ser!

Lenke til kommentar

Det er flere måter man kan ta i bruk en slik teknikk når man tenker etter. F.eks som siste oppgave før framebufferen på skjermkortet gjøres om til signalet skjermen mottar.

Men å blåse opp bildet til 2x størrelse og gjøre blendingen av referansepixlene skal ikke være så vanskelig, men må ha en god algoritme for å velge riktig farge/blending på pixlene når bildet reduserers igjen - ellers blir det jo "alised" igjen :hmm:

 

@kyrsjo: Selve bilderørsteknikken er ikke spesielt interresant her, men at en CRT-skjerm med oppløsning på 2560x1920 punkter faktisk vil bruke 4 punkter pr pixel rendert av skjermkortet jeg syntes var interresant å påpeke og dra nytte av :)

Endret av skag1
Lenke til kommentar
Det er flere måter man kan ta i bruk en slik teknikk når man tenker etter. F.eks som siste oppgave før framebufferen på skjermkortet gjøres om til signalet skjermen mottar.

Men å blåse opp bildet til 2x størrelse og gjøre blendingen av referansepixlene skal ikke være så vanskelig, men må ha en god algoritme for å velge riktig farge/blending på pixlene når bildet reduserers igjen - ellers blir det jo "alised" igjen :hmm:

 

@kyrsjo: Selve bilderørsteknikken er ikke spesielt interresant her, men at en CRT-skjerm med oppløsning på 2560x1920 punkter faktisk vil bruke 4 punkter pr pixel rendert av skjermkortet jeg syntes var interresant å påpeke og dra nytte av :)

6009518[/snapback]

 

Poenget er at den ville ikke bruke 4 "punkter" pr "pixel" fordi "punkter" og "pixel" er ikke definert for analog teknologi, med andre ord ville to nærliggende "pixler" gli over i hverandre - det er det som kalles "uskarphet"

Lenke til kommentar
Enn hvis man bytter CRT-skjermen ut med en LCD skjerm? Vil der fortsatt være slik at det er 4 punkter pr. pixel? Hvis ikke kan man jo bruke denne "fantasi" teknologien på LCD og plasmaskjermer.

6026576[/snapback]

 

Jeg har denne innstillingsdialogen for skrift i gnome 2.6 (gammel versjon, men whatever). Se på boksen til høyre - her kan jeg velge mellom en hel del måter de fargede pikslene er satt opp på. Dette skyldes at på LCD-skjermer så er hver piksel delt opp i tre "subpiksler", en av hver farge. Ved å utnytte dette, kan systemet effektivt tredoble oppløsningen på skjermen, og få ganske mye skarpere tekst etc.

 

Det som er ennå mer spennende, er vektor-rendring ala Cairo:

http://en.wikipedia.org/wiki/Cairo_%28graphics%29

 

Slik kjører man skjermen alt hva den og kortet greier, men uten at alt blir "bittelite". Enkelt forklart i allefall...

 

Uansett - mat!

post-25283-1146672099_thumb.png

Endret av kyrsjo
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...