Annons

Mindre brus vid lägre upplösning?

Produkter
(logga in för att koppla)
Det "lilla felet" ovan är att du blandar ihop addering och skalning i samma ekvationsräcka - vilket ger ett fullständigt felaktigt slutresultat. Det befinner sig en Bayerinterpolering mellan mätvärdena du utgår ifrån och resultatet per mm2 sensor, om du inte kan göra en tekniskt korrekt "binning" innan raw-omvandling.

Man kan alltså inte utgå från att [resultatet av] FWC/totalt läsbrus ökar linjärt med yta. Dina uppställningar gynnar alltså mindre pixlar relativt större pixlar med en faktor som närmar sig [1/kvadraten på ytan] jämfört med verkligheten, vilket du kan se stämmer ganska bra när man jämför [verkliga] faktiska mätningsjämförelser mellan 50D och 5D2.

Så, tyvärr köper jag inget av ovanstående.

Mina beräkningar har absolut inget med bayerinterpolering att göra. Detta är faktiska mätvärden som kommer direkt från ointerpolerade rådata, och vi pratar om sensoregenskaper här. Där kommer bayerinterpolering inte in i bilden.

Dessutom har du inte kommenterat min förra invändning mot ditt påstående att bayerinterpolerat data inte innehåller brus upp till nyquist-frekvensen. Jag har visat kurvor som pekar på motsatsen.

/John
 
Nej, men brusavståndet per pixel, med yta som helhetsmått står inte i den relation som du visade i din ekvationsuppställning, ett ganska basalt fel.

Ang Bayerinterpoleringen... Vill du ha FFT eller reella exempel? du kan få båda.
 
Jag plåtade en jämngrå yta, ordentligt felfokuserad, med min D700 på 3200ISO, och skalade den med PS BiCubic (vilket är lite fusk - eftersom BiCubic sig självt är brusreducerande, algoritmen "slänger" nämligen ca 20% av pixel-pixel-kontrasten. Därför "måste" man efterskärpa när man använt BiCubic som motor när man skalar om en bild... Det är INTE gjort i detta exempel)

Översta snittet är 100% förstoring, framkallad i DCraw med en modifierad AHD. Detta ger en betydligt finare "grain" än t.ex LR, DPP eller NX - men ändå syns det jag talade om tydligt.

De gröna siffrorna är förstoringsgraden (jag har valt att ta med mittstegen mellan "hela" halveringar också), de röda siffrorna är "förbättringen" i standardavvikelse (brusmängden) jämfört med förra snittet. Alla övriga snitt är förminskade (i ETT helt steg) från samma orginal, det översta.

Det viktiga i exemplet är att "förbättringen", eller brusreduceringen mellan varje steg är LÅGT i början, Och tenderar mot det teoretiskt perfekta värdet ju längre ner i förstoring vi kommer. Det översta (100%-förstoringen) innehåller altså inte information ända upp till Nyquist.

OM en raw-omvandling varit perfekt så hade förbättringen i procent varit samma för alla steg, redan mellan 100>70.7%. LR ger ett mycket lägre tal än omvandlaren jag valt i detta exempel, nere runt 1% för förstasteget, 100% till 70.7%.

Ge mig två minuter så ska du få en FFT på 100%-exemplet.
 

Bilagor

  • Wedges.png
    Wedges.png
    93.2 KB · Visningar: 225
Nej, men brusavståndet per pixel, med yta som helhetsmått står inte i den relation som du visade i din ekvationsuppställning, ett ganska basalt fel.
"Brusavstånd per pixel med yta som helhetsmått" sade mig inget vettigt. Hävdar du att mina FWC-beräkningar per ytenhet är fel? Hävdar du att man inte kan beräkna brus-bidraget per ytenhet som jag gjorde? Du får nog motivera dig bättre.

Ang Bayerinterpoleringen... Vill du ha FFT eller reella exempel? du kan få båda.
Du kan väl börja med att kommentera den länk jag gav dig.

/John
 
Och här en FFT, tagen på samma sample. Ett sample med "rätt" fördelning (rent Gaussisk brusfördelning) hade följt den röda projektionen, men som du kan se så viker kurvan ner kraftigt mot slutet (mot de högsta frekvenserna, nära 1-pixel radie).

Detta stämmer väl överens med skillnaden i brusprocent per sqrt(2)-steg i exemplet ovan. Att skala ner en bild till 70.7% ger en väldigt liten brusminskning, och inte föränn under 50% så börjar brusminskningen motsvara det teoretiskt perfekta för en Gauss-fördelning.
 

Bilagor

  • WedgeFFT.png
    WedgeFFT.png
    9.3 KB · Visningar: 266
Du räknar FWC som en ADDERING, när den för brussammangets skull ska räknas som en SKALNING. Det är helt olika saker. Det ena är linjärt, det andra mostvarar en RMS. För ett verkligt slutresultat ligger resultatet nånstans därimellan, men närmre RMS.

Menar du länken som anklagar Phil för att göra en orättvis jämförelse när han använt jpg som bas innan han skalat ner bilderna?
Den är delvis korrekt, men mest felaktig...

MAN KAN INTE MED NORMALT TILLGÄNGLIGA VERKTYG SKALA NER EN BILD DIREKT I RAW, INNAN BAYERINTERPOLERINGEN!

När du kan påvisa att du klarar att göra det i ett normalt kommersiellt program som den normale användaren brukar till vardags, då kan jag acceptera argumentet. Fram tills dess är det bara att acceptera att det vi skalar ner när vi använder en verklig bild faktiskt är CFA-interpolerat.
 
Du räknar FWC som en ADDERING, när den för brussammangets skull ska räknas som en SKALNING. Det är helt olika saker. Det ena är linjärt, det andra mostvarar en RMS. För ett verkligt slutresultat ligger resultatet nånstans därimellan, men närmre RMS.

Menar du länken som anklagar Phil för att göra en orättvis jämförelse när han använt jpg som bas innan han skalat ner bilderna?
Den är delvis korrekt, men mest felaktig...

MAN KAN INTE MED NORMALT TILLGÄNGLIGA VERKTYG SKALA NER EN BILD DIREKT I RAW, INNAN BAYERINTERPOLERINGEN!

När du kan påvisa att du klarar att göra det i ett normalt kommersiellt program som den normale användaren brukar till vardags, då kan jag acceptera argumentet. Fram tills dess är det bara att acceptera att det vi skalar ner när vi använder en verklig bild faktiskt är CFA-interpolerat.

Påstår du att om ytan X rymmer Y elektroner så rymmer ytan 2X inte 2Y elektroner?

Det inlägg jag länkar till, det här:
http://forums.dpreview.com/forums/readflat.asp?forum=1000&message=30411131
Nämnet inget om skalning av raw. Istället står det "Proper demosaicing of raw data has noise up to the Nyquist frequency"
Sedan länkar han till mätningar. Den första länken visar brus som funktion av frekvensen. De ser väldigt raka ut, till skillnad från dina kurvor. Har du någon förklaring till skillnaden? Tyvärr talar han inte om vad han använder för verktyg.
 
Länken innehåller ingen graf över frekvensfördelningar...? Kolla en gång till är du snäll, så att vi diskuterar samma sak.

Personen som hävdar att "Proper demosaicing of raw data has noise up to the Nyquist frequency" har uppenbarligen aldrig någonsin gjort mätningen i verkligheten, för en sådan CFA-konvertering existerar inte. I alla fall inte vad mänskligheten känner till. Den absolut BÄSTA varianten som existerar idag ger full fördelning upp till ca 1.5 pixels radie, men bara under gynnsamma förhållanden.

En mätning direkt på en enskild raw-kanal innehåller alla frekvenser - men eftersom interpoleringen väger färg mot ljusstyrka så förlorar båda dessa parter en del på förfarandet - vare sig färginformationen eller ljusstyrkeinformationen innehåller alltså alla frekvenser när man väl kombinerat ihop dem. Det är utbytet av detta som gör att en Bayer-filtrering öht fungerar...!

Jag ska förtydliga mitt tidigare uttalande om din räkneuppställning:

Det som gör att den matematiska modell du använder inte stämmer med verkligheten är ett principfel -
Det är inte enskilda signalstyrkor man adderar för att få vad en viss pixelstorlek har för signal/brusnivå [för en viss yta], det är enskilda signal/brusnivåer - och det gör ganska mycket skillnad.

En matematisk modell som inte stämmer med verkligheten ska förkastas. Att göra på det sätt som jag säger stämmer nästan perfekt med de faktiska mätresultat man kan ta fram, att göra som du säger stämmer inte med det man kan mäta fram.
 
Ah, nu hittade jag...

Nej, det där har Emil fått äta upp många gånger, för han har nämligen inte kunnat påvisa hur han gjorde mätningen - den går nämligen inte att återupprepa utan att få helt andra resultat :)
INGEN annan har lyckats få ett resultat som liknar detta, jag vet inte hur han har gjort.

Nu har jag inte DPP installerat på datorn, men annars kunde jag demonstrerat med en gång.
 
Ah, nu hittade jag...

Nej, det där har Emil fått äta upp många gånger, för han har nämligen inte kunnat påvisa hur han gjorde mätningen - den går nämligen inte att återupprepa utan att få helt andra resultat :)
INGEN annan har lyckats få ett resultat som liknar detta, jag vet inte hur han har gjort.

Nu har jag inte DPP installerat på datorn, men annars kunde jag demonstrerat med en gång.

Ja, jag kan varken säga bu eller bä om det, för jag har inte gjort några egna mätningar.
 
Det som gör att den matematiska modell du använder inte stämmer med verkligheten är ett principfel -
Det är inte enskilda signalstyrkor man adderar för att få vad en viss pixelstorlek har för signal/brusnivå [för en viss yta], det är enskilda signal/brusnivåer - och det gör ganska mycket skillnad.

Jag är rätt skeptisk.

http://theory.uchicago.edu/~ejm/pix/20d/tests/noise/noise-p3.html#pixelsize

Påstår du att detta (emil igen förstås) också är fel?
 
John och Joakim, läser detta med stort intresse. Men är inte med i matchen 100% så jag hoppas ni kan sammanfatta när och om ni möts!

Kommer att påminna er. :)
 
För första gången på länge har jag haft en så späckad helg att enda gången jag startat datorn har varit för att tanka av minneskorten... (och nu har jag att göra i veckan med framkallningsarbetet...)

Emils sida innehåller egentligen bara ett (1) direkt faktafel, och det är när han jämställer elektroner med fotoner i FWC. Detta gör man för bekvämlighets skull, och det är ganska allmänt accepterat att göra så (men likväl fel - det ger en snedvriden bild av skeendet och förlustfaktorerna i sensorn).

I övrigt så stämmer ekvationerna som du hänvisar till med länken,
Men med vissa inskränkningar som han väljer att inte nämna!:
Nerskalningsmodellen han hänvisar till (och använder) stämmer perfekt rent teoretiskt, men bara om man använder en matematiskt och geometriskt perfekt "binning" eller värdesaddering innan Bayerinterpolering. Försöker man återskapa resultat enligt den modellen på en verklig, färdiginterpolerad bild misslyckas man ganska rejält. Som matematisk modell är det korrekt, men det går tyvärr inte att översätta till ett verkligt resultat.

Så visst har du rätt att vara skeptisk (formlerna stämmer ju!), men resultaten du vill visa existerar tyvärr inte i den verklighet vi lever i idag. Den teoretiska modellen stämmer bra (eller iaf bättre) mot verkligheten först när man går till en nersampling högre än 4:1 i pixelförhållande, och även då får man en minskning av den totala signal/brus-nivån jämfört med den siffra man räknar fram - pga av att vi måste arbeta på interpolerade bilder. Hela pixelareor påverkas av enskilda pixlars signal/brus-värde när man Bayerinterpolerar, inte bara den enskilda pixeln. Om enskilda pixlar har en lägre användbar dynamik "sprider sig" alltså detta till större områden i bilden, och då gäller ju inte de strikt matematiska förutsättningarna per pixel längre.

Så... Teoretiskt sett har han rätt, men normalanvändaren har inget sätt att tillgodogöra sig denna "prestandalikvärdighet" just nu - det krävs bättre och betydligt mer avancerade verktyg än PhotoShop BiCubic i efterhand på en färdig, "framkallad", bild för det... :)
Men visst önskar jag att t.ex LightRoom (som jag tycker är bra rent användarmässigt/ergonomiskt) skulle implementera en alternativ inläsningsprocess för bilder som man förvalt till att ha lägre upplösning! Detta hade varit fullständigt lysande, och gett betydligt bättre resultat än vad som är tillgängligt för höga ISO idag. Jag kan göra, och har gjort, jämförelser på alternativa CFA-interpoleringsmönster i MathCad, och man blir ordentligt imponerad av kvalitetsvinsterna som finns kvar att "krama ur" en sensor. Tyvärr blir man inte lika imponerad av tidsprestanda - jag är inte speciellt duktig på att knacka C#, så jag får hålla mig till MathCads högnivårutiner. En normal D700-raw tar då ca två minuter att konvertera... Plus meckandet innan med att manuellt "läsa ut" rawfilen till en linjär, ointerpolerad 16-bit gråvärdestif innan jag skickar vidare bilden till MathCad, plus att jag inte har något sätt att behålla Exif-informationen, plus, plus, plus osv... EN bild tar mig ca 20-30 minuter att "raw-konvertera" då. Men för ett mjukvaruföretag med lite resurser bakom hade det inte varit speciellt svårt att göra processen kortare/mer automatiserad...

Tyvärr finns kanske bara köpgruppen bland de professionella användarna - de flesta hobbyanvändare är mer imponerade av hur många pixlar en bild innehåller än hur pixlarna/bilden som helhet ser ut. Alltså är vinstmöjligheterna för investeringen i utvecklingen ganska skrala...
 
Argumentet för att en lika stor sensor till ytan delas in i mindre och fler antal pixlar (om allt annat är lika) och att detta då kommer medföra en viss förlust pga fler mellanväggar har också tagits upp ett antal gånger i den gamla tråden bla av mig.

Joakim, min tanke var då som nu, för att ett flertal småpixlar i en Cmos skall uppväga en stor pixel egenskaper så måste den lilla pixelns verkningsgrad vara högre för att täcka de förluster som blir genom att ytan har delats in med fler mellanväggar. Att öka cmos filfactor i en liten enskild pixel är idag tämligen svårt med tanke på elektronikens plats och att göra elektroniken mindre för att öka den ljusmottagande ytan ses knappast som genomförbart idag. Inte ens Sheehy tror på detta vad det gäller cmos och riktigt små pixlar.Det måste till andra typer av sensorer exv backlight.

Frågan om flera små pixlar eller färre och större är därmed komplex. Är det ccd eller cmos vi menar, de flesta kompaktkameror är fortfarande bestyckade med ccd.

Lars intervju med Theuwissen. http://www.cei.se/instructors/theuwissen_albert.htm

Sedan ställde jag en fråga om var i kedjan binningen fungerar bäst.
LK: "My guess is that pixel bining ideally should be performed with the analouge signal, or at leased with higt bit-rate binary signal before amplification. So: exposure – binning – amplification for ISO."
AT: "The situation is even a bit more complex. With a CCD, binning is being done on-chip and in the charge domain. The latter is very important : binning in a CCD is done by adding charge packets together, and any CCD operation in the charge domain is fully noise free. On the other hand, binning with CMOS is always done in the voltage domain or in the digital domain. Adding voltages or digital numbers is not noise free. That is the main reason why binning with CCDs can give quite nice noise reductions (at the expense of resolution reduction as well).

AT: Binning n x n pixels in a CCD increases the S/N by a factor of n at the output level of the CCD!
Binning n x n pixels in a CMOS increases the S/N by a factor sqrt(n) at the output level of the CMOS.
Any noise that will be added after the sensor will not be influenced by binning.
 
Senast ändrad:
Så visst har du rätt att vara skeptisk (formlerna stämmer ju!), men resultaten du vill visa existerar tyvärr inte i den verklighet vi lever i idag. Den teoretiska modellen stämmer bra (eller iaf bättre) mot verkligheten först när man går till en nersampling högre än 4:1 i pixelförhållande, och även då får man en minskning av den totala signal/brus-nivån jämfört med den siffra man räknar fram - pga av att vi måste arbeta på interpolerade bilder.

Jag skulle gärna vilja se med egna ögon att bayerinterpoleringen gör så mycket som du säger. Tyvärr har jag ingen mjukvara för att undersöka saken. Du känner förstås inte till någon lätt tillgänglig som kan göra fina FFT-plottar eller liknande?

Bortsett från det så tycker jag inte att det spelar någon roll. Du har rätt i att en bild som inte innehåller information upp till nyquist inte ökar sin dynamik per pixel enligt formlerna vid nedskalning, men låt oss ta ett exempel:

Lek med tanken att bayerinterpoleringen tar bort all information över halva nyquist för att göra det enkelt att resonera. Vi har två kameror: A och B. Kameran B har fyra gånger så många pixlar som A, och de ointerpolerade bilderna från B har precis dubbelt så mycket brus per pixel, vilket de teoretiskt ska ha. Mitt påstående är att de två kamerorna är likvärdiga i brushänseende. Du håller alltså inte med?

Nu skalar vi ned bilden från kamera B en faktor fyra i pixelantal så att bilderna blir lika stora. Ökningen i dynamik per pixel blir då noll, eftersom brusnivån inte sjunker, men numera har den bilden information precis upp till nyquist. Bilden har alltså mer detaljer (och brus) än bilden från kamera A, som fortfarande bara når upp till halva nyquist.

Skala sedan ner båda bilderna en faktor fyra. Den här gången kommer brusnivån för kamera B att halveras (som hade info upp till nyquist), medan inget händer för kamera A (som hade info upp till halva). Brusnivåerna är nu utjämnade. Båda går upp till nyquist. Pixeldynamik och detaljinformation är exakt lika.

Detta är som jag sade tidigare. Man har ett val. Väljer man att utnyttja kamera B:s högre upplösning så syns även bruset bättre. Väljer man att skriva ut i en sån storlek, eller betrakta bilden på ett sådan avstånd, så att bilderna ser lika skarpa ut så blir även brus och dynamik lika. Jag tycker att det blir så rent matematiskt, och det känns även intiutivt rätt.

/John
 
Jag har inte glömt tråden, men det verkar inte meningsfullt att svara innan jag sammanställt lite mätvärden och exempel... Diskussionen blir gärna lite teologisk annars :)
 
Jag har inte glömt tråden, men det verkar inte meningsfullt att svara innan jag sammanställt lite mätvärden och exempel... Diskussionen blir gärna lite teologisk annars :)
Föredömligt, det ser jag fram emot! Speciellt som jag tycker mig ha sett flera tester (med riktiga bilder och inte Matlab/FT/Nyquist kurvor) som pekar på en brusbild som är väldigt lika mellan D3 och D3x vid normaliserad storlek. Något som dock inte gäller nere på Matlab-nivå pga Bayerinterpolation om jag har förstått dig rätt Joakim?
 
Föredömligt, det ser jag fram emot! Speciellt som jag tycker mig ha sett flera tester (med riktiga bilder och inte Matlab/FT/Nyquist kurvor) som pekar på en brusbild som är väldigt lika mellan D3 och D3x vid normaliserad storlek. Något som dock inte gäller nere på Matlab-nivå pga Bayerinterpolation om jag har förstått dig rätt Joakim?

det kan bero på flera orsaker, bla att du kan inte jämföra de två sensorerna rakt av. Att nya d3x liksom d90 har fler än en avläsning vid en exponering enligt diskussioner som pågår på bla dpreview då d3x DR samt d90 DR är stort vid uppmätning.
 
Jämför du d90 med d3 som har samma antal pixlar så har de ganska likvärdiga DR egenskaper enligt DXO, otroligt med tanke på d90 lilla sensoryta.
http://www.dxomark.com/index.php/en...297|0/(onglet)/0/(brand)/Nikon/(brand2)/Nikon

Förklaringen lär ligga i att d90 har lägre antal bilder/sek samt att Nikon har 4 avläsningar i d90 av sensordata (likaså i d3x) vid en exponering.(enligt diskussioner som pågår på dpreview)

Ja, jag finner också det helt anmärkningsvärt. Intressant att få en förklaring till detta.

Jag vet inte om min ursprungsfråga är relevant längre men den var ju huruvida man tjänar något i brushänseende på att använda kameran (vilken som helst) i en lägre upplösning än den maximala, genom att man kan få bättre information per pixel. Något helt entydligt evar tycker jag mig inte ha fått och man kan väl säga att därom tvista de lärde. Vi mindre insatta får väl inse att diskussionen är mer komplex än vad frågeställningen antyder och kanske dra våra egna slutsatser av den diskussion som pågår.
 
ANNONS
Götaplatsens foto – en riktig fotobutik.