Gå til innhold

Sort/hvit vs. farger


Anbefalte innlegg

Ser at det er mange forskjellige oppfatninger av mangt her og at det sies mye jeg ikke fortstår/eller er litt uenig i. Jeg får prøve å komme med min forståelse uten å svare direkte på alle tidligere innlegg, da det ville ha blitt et møysommelig arbeid..

 

Fargespekter:

Frekvensområdet for lys sier bare hvilke typer elektromagnetisk stråling vi oppfatter som synlig lys, ikke hvor mange nivåer av styrke vi kan skille mellom.

Hjernen er imidlertid flink til å tilpasse signalene for oss, noe som gjør at vi oppfatter relativt normale farger i kunstig belysning hvor kameraene våre må gjøre relativt drastiske justeringer av hvitbalanse for ikke å vise monokrome bilder.

 

De første fargebildene som ble laget i større omfang, i tiden rundt første verdenskrig, ble laget ved å ta tre bilder av samme motiv - hvert med et dypt farget fargefilter i hver av primærfargene - for så å projisere bildene oppå hverandre med tre prosjektorer. Fargefilm er senere laget på samme måte - bare ved å la ulike lag i filmen være følsomme for ulike farger, og Foveon-sensorer gjør det samme digitalt. Bayer-sensorene løser problemet på en annen måte - ved å gruppere fire og fire piksler med forskjellige fargefiltre gjennom interpolering. Linjene av R-G og G-B i første post viser hvordan dette filtret er i praksis, og resultatet er i praksis to bilder i gråskala med med 1/4 oppløsning av sensorens potensiale for R og B, og ett bilde med 1/2 potensiell oppløsning for G. Hver fargekanal interpolerers så opp til full oppløsning ved hjelp av informasjon fra de andre kanalene, men denne trenger slett ikke å være rett.

 

Dynamisk omfang:

I maskinvare:

Tenk på hver fysisk piksel som en foton-teller som teller hvor mange fotoner som treffer den, mens lukkeren er åpen. La oss for eksempelets skyld si at den begynner på 0 og slutter på 256 (ikke la dette ha noe med bit-dybde å gjøre foreløpig). Hvis den blir truffet av 256 fotoner, er dens kapasitet fylt og ytterligere fotoner vil bli ignorert. (Hvilke fysiske/materielle fakta som bestemmer hvor høyt den enkelte pikselen kan telle vet jeg ikke) Den vil gjengi pikselen som helt hvit (vi hopper over bayer-filteret også inntil videre). Hvis den ikke blir truffet av noen fotoner får den verdien 0. Desverre vil intern støy (som blir tiført i elektronikken mellom billedbrikken og A/D-konverteringen) gi alle piksler en minimumsverdi på - la oss si 10 (denne vil variere litt pr. piksel, noe som vil gi oss faktisk digital støy - mer om dette lenger ned). Alle piksler som har talt 10 fotoner eller færre får verdien 10 når dataene konverteres (forrige setning er upresis, men representerer på en måte den praktiske effekten i neste setning). Dette gjør at kameraet i dette tilfellet får brukbar informasjon i området mellom 10 og 256. (bare se på DR-testene i nyere speilreflekstester på dpreview.com)

Hvis en kan utvide kapasiteten til hver piksel oppover eller redusere støyen innført av elektronikken, kan en utvide det dynamiske omfanget i den fysiske maskinvaren.

 

I programvare:

De enkelte sensorene teller ikke enkeltfotoner. Såvidt jeg vet registreres de ved at en spenning økes etterhvert som flere og flere fotoner treffer, før denne spenningen avleses og registreres som et nivå (mellom 0 og 256 hvis A/D-konverteren har 8bit presisjon, mellom 0 og 4096 hvis A/D-konverteren har 12bit presisjon og mellom mellom 0 og 65536 hvis A/D-konverteren har 16bit presisjon). Jeg har forstått det slik at det er forskjellig bit-dybde i det siste nivået før pikselen er "fylt" som gjør at en kan hente mer informasjon ut fra RAW-filer enn fra JPEG-filer i tillegg til at man kan tilpasse demosaikk-prosessen og senke kontrasten. Hvor en 8-bit fil runder av mellom 255 og 256 har en 12-bit fil ennå 16 nivåer å gå på, mens en 16-bit fil har 256 nivåer. Dermed vil en 16-bit fil gi dramatisk mye bedre utgangspunkt for å hente ut informasjon som "akkurat" blir klippet i en 8-bit fil (uten at de blir sterkt posteriserte) - imidlertid er vel dataene linjære - noe som begrenser den praktiske forskjellen noe. Dette er omtrent grensen for min kunnskap.

 

Øyets dynamiske omfang:

Jeg har null vitenskapelige tall og data på dette, men jeg regner med det går an å forstå øyet på samme måte som sensoren når det gjelder å telle fotoner. Øyet kan imidlertid justere sensitiviteten til individuelle (eller grupper av) sensorpunkter - stirr på en lampe i et mørkt rom til du får igjen "nattsynet" i områdene rundt, og du vil kunne se "negativet" av lampen i området rundt. Dette kommer i tillegg til øyets egen blender og en generell justering av lysfølsomhet som gjør at vi kan se klart i dagslys og konturer hvor ISO3200 og blender 1.4 ville gi flere sekunders lukkertid.

 

Støy:

Etter som lyssensitiviteten skrus opp, blir dette støygulvet som jeg ga verdien "10 nivåer" i andre avsnitt få større påvirkning på filen. Med samme lukkertid og blender ved svakere belysning vil færre fotoner nå sensorpunktene og det laveste punktet for detaljer i skyggene vil krype oppover histogrammet. (Dette vises også på DR-testene på dpreview.com når Askey tester forskjellige ISO-verdier mot hverandre). Siden mer strøm tilføres brikken for å oppnå lesbare verdier fra de tilgjengelige fotonene blir variasjonen i resultat fra piksel til piksel større.

Siden 6MP-filen fra min 7D inneholder 3 forsjellige fargekanaler á 6MP som henter grunninformasjonen fra enkeltområder delt etter piksler i et rutenett med tre forskjellige farger, vil variasjonen i støy fra piksel til piksel føre til at fargene blir ujevne. Fargeflekkene vi får ved høy iso kommer av at f.eks den blå pikselen i en gruppe på fire RGRB har fått litt mindre strøm enn de andre. Dette gir de to andre fargekanalene mindre tilføring av "blåfiltrert" lysdata i demosaikk-prosessen og området får et blåskjær.

 

Når vi nå vet at fargekanaler med liten informasjon er mer påvirket av elektronisk støy, kan vi tenke oss til hvorfor det er så vanskelig å få rene blå himler med bayer-baserte kamera. Hver blå piksel inneholder to deler "grønnfiltrert" informasjon og en del "rødfiltrert" informasjon. De røde og grønne kanalene teller imidlertid veldig få fotoner her, og de blir påvirket av støygulvet ved 10 nivåer (fortsatt et tenkt tall). Derfor blir himmelen sjelden jevn på Bayer-kamera mens Foveon-brikker ikke har samme problem..

 

S/H-kamera:

Disse har omtrent samme pr-piksel-skarphet som Foveon-kameraene. Dette gjør at mange synes det er fullt sammenliknbart å gange megapikselantallet deres med nesten 3 for å finne hva du må ha for å få like detaljerte bilder med kamera med Bayer-filter. De tar fremdeles alle slags fargefiltre foran objektivet, og kan derfor lage like gode bilder som "Channel Mixer" i Photoshop, bare en kan teorien og bruker riktig filter til riktig tid.

 

Film:

Fargefilm oppfører seg som Foveon-sensorer ved at ulike lag er følsomme for ulike farger. Den taper dermed ikke oppløsning i forhold til sorhvittfilm, da dette kommer an på kornstørrelse. Imidlertid ville jeg tro at hovedskillet for dynamisk omfang gikk mellom negativ og positiv film, da filmen har en ulinjær følsomhet for lys (hvert korn blir ikke "fylt" på samme måte som de digitale pikslene) noe som gjør at det med negativ film er lettere å blokkere skyggene, mens man med positiv film fortere kan blåse ut høylysene. Jeg har imidlertid nesten ikke prøvd negativ fargefilm - stort sett bare S/H-film og treg lysbildefilm - og vil derfor ikke kommentere ytterligere.

 

Konklusjon:

En ren sorthvittsensor vil på mange måter tilsvare en Foveon-sensor eller skannet film i pikselskarphet (med mindre - gud forby - filmskannere bruker interpoleringsmetoden - jeg har ikke sjekket). Bayer-sensorer vil alltid ligge bak.

 

Jeg skulle gjerne skrevet mer om "oppfattet" dynamisk omfang på papir/skjerm og demosaikkalgoritmer, men føler jeg er på grensen til O/T allerede :)

 

Mvh

Kjetil

 

PS: Rapporter om skrivefeil og teoretiske bommerter mottas med takk.

Endret av rotekaizer
Lenke til kommentar
Videoannonse
Annonse
Ser at det er mange forskjellige oppfatninger av mangt her og at det sies mye jeg ikke fortstår/eller er litt uenig i. Jeg får prøve å komme med min forståelse uten å svare direkte på alle tidligere innlegg, da det ville ha blitt et møysommelig arbeid..

 

Fargespekter:

Frekvensområdet for lys sier bare hvilke typer elektromagnetisk stråling vi oppfatter som synlig lys, ikke hvor mange nivåer av styrke vi kan skille mellom.

Hjernen er imidlertid flink til å tilpasse signalene for oss, noe som gjør at vi oppfatter relativt normale farger i kunstig belysning hvor kameraene våre må gjøre relativt drastiske justeringer av hvitbalanse for ikke å vise monokrome bilder.

 

De første fargebildene som ble laget i større omfang, i tiden rundt første verdenskrig, ble laget ved å ta tre bilder av samme motiv - hvert med et dypt farget fargefilter i hver av primærfargene. Fargefilm er senere laget på samme måte - bare ved å la ulike lag i filmen være følsomme for ulike farger, og Foveon-sensorer gjør det samme digitalt. Bayer-sensorene løser problemet på en annen måte - ved å gruppere fire og fire piksler med forskjellige fargefiltre gjennom interpolering. Linjene av R-G og G-B i første post viser hvordan dette filtret er i praksis, og resultatet er i praksis to bilder i gråskala med med 1/4 oppløsning av sensorens potensiale for R og B, og ett bilde med 1/2 potensiell oppløsning for G. Hver fargekanal interpolerers så opp til full oppløsning ved hjelp av informasjon fra de andre kanalene, men denne trenger slett ikke å være rett.

 

Dynamisk omfang:

I maskinvare:

Tenk på hver fysisk piksel som en foton-teller som teller hvor mange fotoner som treffer den, mens lukkeren er åpen. La oss for eksempelets skyld si at den begynner på 0 og slutter på 256 (ikke la dette ha noe med bit-dybde å gjøre foreløpig). Hvis den blir truffet av 256 fotoner, er dens kapasitet fylt og ytterligere fotoner vil bli ignorert. (Hvilke fysiske/materielle fakta som bestemmer hvor høyt den enkelte pikselen kan telle vet jeg ikke) Den vil gjengi pikselen som helt hvit (vi hopper over bayer-filteret også inntil videre). Hvis den ikke blir truffet av noen fotoner får den verdien 0. Desverre vil intern støy (som blir tiført i elektronikken mellom billedbrikken og A/D-konverteringen) gi alle piksler en minimumsverdi på - la oss si 10 (denne vil variere litt pr. piksel, noe som vil gi oss faktisk digital støy - mer om dette lenger ned). Alle piksler som har talt 10 fotoner eller færre får verdien 10 når dataene konverteres (forrige setning er upresis, men representerer på en måte den praktiske effekten i neste setning). Dette gjør at kameraet i dette tilfellet får brukbar informasjon i området mellom 10 og 256. (bare se på DR-testene i nyere speilreflekstester på dpreview.com)

Hvis en kan utvide kapasiteten til hver piksel oppover eller redusere støyen innført av elektronikken, kan en utvide det dynamiske omfanget i den fysiske maskinvaren.

 

I programvare:

De enkelte sensorene teller ikke enkeltfotoner. Såvidt jeg vet registreres de ved at en spenning økes etterhvert som flere og flere fotoner treffer, før denne spenningen avleses og registreres som et nivå (mellom 0 og 256 hvis A/D-konverteren har 8bit presisjon, mellom 0 og 4096 hvis A/D-konverteren har 12bit presisjon og mellom mellom 0 og 65536 hvis A/D-konverteren har 16bit presisjon). Jeg har forstått det slik at det er forskjellig bit-dybde i det siste nivået før pikselen er "fylt" som gjør at en kan hente mer informasjon ut fra RAW-filer enn fra JPEG-filer i tillegg til at man kan tilpasse demosaikk-prosessen og senke kontrasten. Hvor en 8-bit fil runder av mellom 255 og 256 har en 12-bit fil ennå 16 nivåer å gå på, mens en 16-bit fil har 256 nivåer. Dermed vil en 16-bit fil gi dramatisk mye bedre utgangspunkt for å hente ut informasjon som "akkurat" blir klippet i en 8-bit fil (uten at de blir sterkt posteriserte) - imidlertid er vel dataene linjære - noe som begrenser den praktiske forskjellen noe. Dette er omtrent grensen for min kunnskap.

 

Øyets dynamiske omfang:

Jeg har null vitenskapelige tall og data på dette, men jeg regner med det går an å forstå øyet på samme måte som sensoren når det gjelder å telle fotoner. Øyet kan imidlertid justere sensitiviteten til individuelle (eller grupper av) sensorpunkter - stirr på en lampe i et mørkt rom til du får igjen "nattsynet" i områdene rundt, og du vil kunne se "negativet" av lampen i området rundt. Dette kommer i tillegg til øyets egen blender og en generell justering av lysfølsomhet som gjør at vi kan se klart i dagslys og konturer hvor ISO3200 og blender 1.4 ville gi flere sekunders lukkertid.

 

Støy:

Etter som lyssensitiviteten skrus opp, blir dette støygulvet som jeg ga verdien "10 nivåer" i andre avsnitt få større påvirkning på filen. Med samme lukkertid og blender ved svakere belysning vil færre fotoner nå sensorpunktene og det laveste punktet for detaljer i skyggene vil krype oppover histogrammet. (Dette vises også på DR-testene på dpreview.com når Askey tester forskjellige ISO-verdier mot hverandre). Siden mer strøm tilføres brikken for å oppnå lesbare verdier fra de tilgjengelige fotonene blir variasjonen i resultat fra piksel til piksel større.

Siden 6MP-filen fra min 7D inneholder 3 forsjellige fargekanaler á 6MP som henter grunninformasjonen fra enkeltområder delt etter piksler i et rutenett med tre forskjellige farger, vil variasjonen i støy fra piksel til piksel føre til at fargene blir ujevne. Fargeflekkene vi får ved høy iso kommer av at f.eks den blå pikselen i en gruppe på fire RGRB har fått litt mindre strøm enn de andre. Dette gir de to andre fargekanalene mindre tilføring av "blåfiltrert" lysdata i demosaikk-prosessen og området får et blåskjær.

 

Når vi nå vet at fargekanaler med liten informasjon er mer påvirket av elektronisk støy, kan vi tenke oss til hvorfor det er så vanskelig å få rene blå himler med bayer-baserte kamera. Hver blå piksel inneholder to deler "grønnfiltrert" informasjon og en del "rødfiltrert" informasjon. De røde og grønne kanalene teller imidlertid veldig få fotoner her, og de blir påvirket av støygulvet ved 10 nivåer (fortsatt et tenkt tall). Derfor blir himmelen sjelden jevn på Bayer-kamera mens Foveon-brikker ikke har samme problem..

 

S/H-kamera:

Disse har omtrent samme pr-piksel-skarphet som Foveon-kameraene. Dette gjør at mange synes det er fullt sammenliknbart å gange megapikselantallet deres med nesten 3 for å finne hva du må ha for å få like detaljerte bilder med kamera med Bayer-filter. De tar fremdeles alle slags fargefiltre foran objektivet, og kan derfor lage like gode bilder som "Channel Mixer" i Photoshop, bare en kan teorien og bruker riktig filter til riktig tid.

 

Film:

Fargefilm oppfører seg som Foveon-sensorer ved at ulike lag er følsomme for ulike farger. Den taper dermed ikke oppløsning i forhold til sorhvittfilm, da dette kommer an på kornstørrelse. Imidlertid ville jeg tro at hovedskillet for dynamisk omfang gikk mellom negativ og positiv film, da filmen har en ulinjær følsomhet for lys (hvert korn blir ikke "fylt" på samme måte som de digitale pikslene) noe som gjør at det med negativ film er lettere å blokkere skyggene, mens man med positiv film fortere kan blåse ut høylysene. Jeg har imidlertid nesten ikke prøvd negativ fargefilm - stort sett bare S/H-film og treg lysbildefilm - og vil derfor ikke kommentere ytterligere.

 

Konklusjon:

En ren sorthvittsensor vil på mange måter tilsvare en Foveon-sensor eller skannet film i pikselskarphet (med mindre - gud forby - filmskannere bruker interpoleringsmetoden - jeg har ikke sjekket). Bayer-sensorer vil alltid ligge bak.

 

Jeg skulle gjerne skrevet mer om "oppfattet" dynamisk omfang på papir/skjerm og demosaikkalgoritmer, men føler jeg er på grensen til O/T allerede :)

 

Mvh

Kjetil

 

PS: Rapporter om skrivefeil og teoretiske bommerter mottas med takk.

6267847[/snapback]

En fin oppsummering rundt digital bildecapture. Men heller tynt om menneskelig persepsjon =)

 

Jeg stemmer for å kutte ut alt om farger og bare snakke som om verden var svart-hvit for en stund.

 

sys8.png

 

Over er det bildet av karakteristikken for en generell kvantiserer. En analog inngangsfunksjon går fra -1 til +1, og dette representeres med diskrete verdier fra 0 til 7. Alle inngangsverdier som er mindre enn -1 eller større enn +1 klippes (saturation). Alle verdier mellom blir utsatt for en spesiell type støy, kvantiseringsstøy, som har en begrenset amplitude og er korrelert med inngangssignalet.

 

Hvis vi antar at denne kvantisereren er en A/D konverter koblet til en bildesensor så vil det være en diskretisering av analoge spenninger fra CCD som estimerer antall fotoner innen diskrete areal på sensor (pixel) og innen et begrenset tidsrom (lukketid).

 

Hvis estimeringen av antall fotoner er veldig god, får vi en veldig "ren" trappekurve, og i slike tilfeller kan det være noe å hente på å øke antall bits. I det mest ekstreme tilfellet kan et trappetrinn på A/D tilsvare en enkelt foton, og da er det garantert ikke mer å hente. I realiteten introduserer vi støy i sensor og forsterkning, slik at gevinsten ved å øke antall bits i A/D konverter etterhvert forsvinner i støy. Det har ingen hensikt å måle støy med veldig god nøyaktighet, det kan vi simulere med å kaste terning senere i stedet =)

 

Ved å justere på ISO eller en eller annen gain-funksjon, justerer vi hvor grensene for A/D konverteren går. Hvis vi setter grensene for langt ned oppstår det klipping eller saturasjon som skyldes at signalet inneholder informasjon utenfor kvantisererens representasjonsnivåer. Hvis vi setter grensene for høyt, blir tilgjengelige bits spredd ut over et unødvendig stort område, og det reelle signalet befinner seg innenfor et mindre antall bits, altså blir kvantiseringsstøyen unødig høy. Dette er analogt med å justere "kontrast" på en skjerm/tv.

 

Forsterkere er ikke ideelle, derfor kan vi ikke forsterke signalet opp uendelig før A/D. Det introduserer støy.

 

 

Om syn og persepsjon

Her har jeg mindre forståelse og følgelig mer interesse av en diskusjon=)

 

Starten på denne diskusjonen var hvor mange diskrete trinn vi kan oppfatte, og tallet 100 var nevnt. Dette er analogt med trinn i en kvantiserer, og 100 trinn tilsvarer ca 7 bit. Jeg antar at dette er gitt at synet kan skille mellom intensitet1 og intensitet2 hvis differansen (I2-I1)>Iterskel. Altså at vi har en fundamentalt begrenset stegstørrelse, som gjerne kan være en funksjon av "hvor på skalaen vi er" etc.

 

Videre er øyet begrenset til en maksimal intensitet vi kan oppfatte. Jeg innbiller meg at denne er veldig stor. Kanskje er det som å se direkte på sola. Da inntrer ulineære mekanismer som iris som lukker seg etc. Men hvis vi ikke kan se forskjell på sola og en dobbelt så sterk sol ved å se direkte på, så har vi funnet et punkt hvor synet saturerer.

 

Vi kan selvfølgelig også se en scene som er 100% mørk.

 

Men om vi da lager en gradient som går i fra "0 fotoner" til "som å se på sola" i 100 diskrete, lineære steg, så nekter jeg å tro at vi ikke ser banding. Jeg tror heller at tallet 100 kommer av at trykk/display har mindre total dynamikk enn det øyet kan observere, og at vi innen det begrensede området evt greier oss med 100 steg. Men det er i så fall en begrensning ved teknikken og ikke ved øyet =)

 

Et annet moment er om vi snakker om dynamikk i tid eller rom. For å ta høyde for den totale dynamikken i øyet må vi kanskje veksle mellom to video-frames som er "maks intensitet" og "maks intensitet minus 1", eller dele et bilde inn i to hvor de to halvdelene skiller med et minimum-trinn. Øyets iris vil (med en tidskonstant) prøve å justere dynamikken i bildet slik at sensoren (øyet) får utnyttet sin begrensede dynamikk optimalt. Vi kjenner til en rekke maskeringseffekter som kommer av begrensninger i synets sensor og etterprosessering. F.eks settes følsomheten ned rett etter et kraftig lysglimt, slik at video-kompresjon kan redusere antall bits etter et glimt av sola. Dette kommer vel av at irisen ikke greier å "flytte" dynamikken i scenen til sensorens optimale arbeidsområde fort nok.

 

mvh

Knut

Endret av knutinh
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å
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...