Warum sind effektive Pixel größer als die tatsächliche Auflösung?

16

Diese Seite vergleicht Canon EOS 550D und Canon EOS 500D Kameras und erwähnt

18,7 Millionen effektive Pixel

für 550D. Die mit dieser Kamera bestmögliche Auflösung ist jedoch

5184 * 3456 = 17915904 ~ 17.9 million pixels

Was sind effektive Pixel und warum ist diese Zahl in diesem Fall größer als 17,9 Millionen?

Laser
quelle
1
Beachten Sie auch, dass "Auflösung" zwei Bedeutungen hat. In Computern beziehen wir uns damit auf die Pixelabmessungen eines Bildschirms oder Bildes. Und in einer Computerzeichnung oder einem generierten Bild entspricht dies normalerweise der "tatsächlichen" Auflösung - der tatsächlich im Bild aufgelösten Detailmenge. Auf einem Foto ist dies jedoch nicht unbedingt der Fall.
Mattdm
1
Das ist nicht das, was hier vor sich geht - nur eine zusätzliche Quelle der Verwirrung.
Mattdm

Antworten:

9

Ein Teil dessen, was wir hier sehen, ist (da bin ich mir ziemlich sicher) nichts weiter als ein einfacher Tippfehler (oder etwas in dieser Reihenfolge) von DPReview.com. Laut Canon [PDF, Seite 225] beträgt die Anzahl der Vertiefungen auf dem Sensor "ca. 18,00 Megapixel".

Diese werden dann auf ungefähr 17,9 Megapixel reduziert , wenn die Bayer-Mustereingaben in das umgewandelt werden, was die meisten von uns als Pixel betrachten würden. Der Unterschied ist ziemlich einfach: Jede Vertiefung auf dem Sensor erfasst nur eine Lichtfarbe, aber ein Pixel, wie Sie es normalerweise in der Ausgabe erwarten (z. B. eine JPEG- oder TIFF-Datei), hat drei Farben für jedes Pixel. Auf den ersten Blick scheint dies zu bedeuten, dass eine Datei nur etwa ein Drittel der Pixel hat, die in der Eingabe vorhanden sind. Offensichtlich ist das nicht der Fall. Hier ist (eine vereinfachte Ansicht), wie die Dinge funktionieren:

vereinfachtes Bayer-Muster

Jeder Buchstabe repräsentiert eine Vertiefung auf dem Sensor. Jedes Kästchen repräsentiert ein dreifarbiges Pixel, wie es in der Ausgabedatei angezeigt wird.

Im "inneren" Teil des Sensors hängt jedes Ausgabepixel von der Eingabe von vier Sensorwannen ab, aber jede Sensorwanne wird als Eingabe für vier verschiedene Ausgabepixel verwendet, sodass die Anzahl der Eingaben und die Anzahl der Ausgaben gleich bleibt.

An den Rändern haben wir jedoch Sensorwannen, die nur zu zwei statt zu vier Pixeln beitragen . An den Ecken trägt jeder Sensortopf nur zu einem Ausgabepixel bei.

Das heißt, die Gesamtzahl der Ausgabepixel ist kleiner als die Anzahl der Sensorkammern. Insbesondere ist das Ergebnis im Vergleich zur Eingabe um eine Zeile und eine Spalte kleiner (im Beispiel haben wir einen 8x3-Sensor, aber 7x2-Ausgabepixel).

Jerry Sarg
quelle
+1 speziell für das Diagramm. Aber ich bin immer noch verwirrt, weil dies das Fehlen von 2 (5184-1 + 3456-1) = ungefähr 17K Pixeln erklären würde, was nur bei der Rundung bei der Berechnung von 18,0 - 17,9 = 0,1M Pixeln verloren gehen würde. Es scheint, dass mindestens dreimal so viele Pixel von der Grenze entfernt werden müssen (da weniger als 50 KB auf 0,0 MB abgerundet werden sollten). Möglicherweise wird beim Demosaikieren eine größere Nachbarschaft als die hier gezeigten 2 x 2 verwendet: Möglicherweise wird eine Nachbarschaft mit einer Größe von 7 x 7 verwendet?
Whuber
1
@whuber: Nebenbei bin ich mir nicht sicher, ob ich den Rest direkt verantworten kann. Es ist sicherlich möglich , mehr Sensoren zu verwenden, um ein einzelnes Ausgabepixel zu erzeugen, aber ich habe keine wirkliche Vorstellung davon, dass Canon dies in diesem Fall tut. Eine Rohdatei von der Kamera würde die genaue Anzahl der Sensorbohrungen angeben, würde aber immer noch nicht genau sagen, wie Canon von Eingang X zu Ausgang Y gelangt.
Jerry Coffin
3
Bei guten Demosaikierungsalgorithmen (z. B. adaptive Homogenität) trägt jeder Sensor gut zu mehr als vier Ausgabepixeln bei, sodass mehr als nur eine Zeile oder Spalte verloren geht. Es ist einfach genug, die nicht mosaikartige Ausgabe von dcraw zu erfassen und die Bildabmessungen mit der Ausgabe von Canon DPP zu vergleichen, um eine endgültige Antwort zu erhalten. Ich werde es versuchen, wenn ich Zeit habe.
Matt Grum
@Matt Grum: Rückblickend ist mein vorheriger Kommentar ziemlich schlecht formuliert. Was ich versucht habe, ist, dass es mehrere Algorithmen gibt, die ~ 3 Zeilen / Spalten Pixel verlieren / verwerfen könnten (und werden), aber die Pixelanzahl allein sagt Ihnen nicht, welche von denen sie verwenden. Die Verwendung eines ausgefeilteren Algorithmus, der mehr Sensoren pro Ausgabepixel verwendet, ist jedoch praktisch eine Selbstverständlichkeit.
Jerry Coffin
5

Ich weiß nicht, warum der Begriff "effektiv" von DPReview verwendet wird, aber es gibt einige Gründe für die Diskrepanz zwischen der Anzahl der Photosites (Pixel) auf dem Chip und der Größe der resultierenden Bilder in Pixel.

Einige Kamerasensoren haben auf jeder Seite einen Streifen mit maskierten Pixeln. Diese Pixel sind identisch mit dem Hauptteil der Pixel auf dem Sensor, außer dass sie kein Licht empfangen. Sie werden verwendet, um Interferenzen zu erkennen und vom Signal der lichtempfindlichen Pixel zu subtrahieren.

Zweitens verwenden [gute] Demosaikierungsalgorithmen viele "Nachbarschaftsoperationen". Dies bedeutet, dass der Wert eines Pixels etwas vom Wert seiner Nachbarpixel abhängt. Pixel am äußersten Bildrand haben keine Nachbarn, tragen also zu anderen Pixeln bei, erhöhen jedoch nicht die Bildabmessungen.

Es ist auch möglich, dass die Kamera den Sensor aus anderen Gründen beschneidet (z. B. wenn der Linsenbildkreis den Sensor nicht vollständig abdeckt), obwohl ich bezweifle, dass dies bei der 550D der Fall ist.

Matt Grum
quelle
Werden die Randpixel zum Entfernen von Interferenzen oder nur zum Festlegen des Schwarzpunkts verwendet?
Mattdm
1
Beide, denke ich, wenn es keine Interferenz (einschließlich thermischer Reaktion) gäbe, wäre der Schwarzpunkt 0
Matt Grum
Beschreibung von DPReview . Es scheint mir, als würde es zwischen zwei entgegengesetzten Konzepten hin und her gehen, und ich sehe, dass es den Begriff nicht wirklich definiert, außer implizit. Ihre Antwort, denke ich, hilft ein wenig, lässt mich aber trotzdem fragen, warum die "effektiven" Pixel mehr als echte Fotoseiten sind, obwohl die dpreview-Seite einige Möglichkeiten bietet. Wirksam: Wird verwendet, um Bilddaten zu beeinflussen? Oder Bilddatum letztendlich so beeinflusst? Ich frage mich immer noch, was sie damit meinen.
Lindes
5

Es gibt zwei Gründe, warum die effektiven Pixel kleiner sind als die tatsächliche Anzahl von Sensorpixeln (Sensorelementen oder Sensoren). Erstens bestehen Bayer-Sensoren aus "Pixeln", die eine einzelne Lichtfarbe erfassen. Normalerweise gibt es rote, grüne und blaue Sinne, die in Zeilenpaaren angeordnet sind in Form von:

RGRGRGRG
GBGBGBGB

Ein einziges "Pixel", wie es die meisten von uns kennen, das RGB-Pixel eines Computerbildschirms, wird aus einem Bayer-Sensor durch Kombination von vier Sinnen, einem RGBG-Quartett, erzeugt:

          R G 
(sensor)       -->  RGB (computer)
          G B

Da ein 2x2-Raster mit vier RGBG-Sensen verwendet wird, um ein einzelnes RGB-Computerpixel zu erzeugen, befinden sich nicht immer genügend Pixel am Rand eines Sensors, um ein vollständiges Pixel zu erzeugen. Bei Bayer-Sensoren ist normalerweise ein "zusätzlicher" Pixelrand vorhanden, um dies zu berücksichtigen. Ein zusätzlicher Rand von Pixeln kann auch vorhanden sein, um einfach das vollständige Design eines Sensors zu kompensieren, als Kalibrierungspixel zu dienen und zusätzliche Sensorkomponenten aufzunehmen, die üblicherweise IR- und UV-Filter, Anti-Aliasing-Filter usw. enthalten, die a behindern können volle Lichtmenge vom Erreichen des Außenumfangs des Sensors.

Schließlich müssen Bayer-Sensoren "demosaikiert" werden, um ein normales RGB-Bild von Computerpixeln zu erzeugen. Es gibt verschiedene Möglichkeiten, einen Bayer-Sensor zu demosaikisieren. Die meisten Algorithmen versuchen jedoch, die Menge der RGB-Pixel zu maximieren, die durch Mischen von RGB-Pixeln aus jedem möglichen überlappenden Satz von 2x2 RGBG-Quartetten extrahiert werden können:

Bayer Demosaicing

Für einen Sensor mit insgesamt 36 Einfarbensensoren können insgesamt 24 RGB-Pixel extrahiert werden. Beachten Sie die Überlappung des Demosaikierungsalgorithmus, indem Sie das oben gezeigte animierte GIF betrachten. Beachten Sie auch, dass während des dritten und vierten Durchgangs die obere und untere Reihe nicht verwendet wurden. Dies zeigt, wie die Randpixel eines Sensors beim Demosaizieren eines Bayer Sensel Arrays möglicherweise nicht immer verwendet werden.

Was die DPReview-Seite angeht, glaube ich, dass ihre Informationen möglicherweise falsch sind. Ich glaube, die Gesamtzahl der Sensoren (Pixel) auf dem Canon 550D Bayer-Sensor beträgt 18,0 MP, während die effektiven Pixel oder die Anzahl der RGB-Computerpixel, die aus diesen Basis-18 MP generiert werden können, 5184 x 3456 oder 17.915.904 (17,9 MP) beträgt. Der Unterschied würde sich auf die Randpixel beschränken, die kein vollständiges Quartett ergeben können, und möglicherweise auf einige zusätzliche Randpixel, um das Design der Filter und der Montageteile vor dem Sensor zu kompensieren.

jrista
quelle
Mir ist gerade aufgefallen, dass ich in meinem animierten Bild die falschen Sinne gezählt habe. In den ersten beiden Schritten werden nicht 8 Sinne kombiniert, sondern 28 Sinne zu 8 Pixeln. In den letzten beiden Schritten werden 14 Sinne zu 4 Pixeln kombiniert. Entschuldigung für die Diskrepanz. Ich werde versuchen, es bald zu beheben.
jrista
-3

Entschuldigen Sie die Enttäuschung, aber keine dieser Erklärungen ist richtig. Auf jedem Sensor befindet sich ein Bereich außerhalb des Abbildungsbereichs, der auch Fotoseiten enthält. Einige davon sind ausgeschaltet, andere sind vollständig eingeschaltet und andere werden für andere Überwachungszwecke verwendet. Diese werden verwendet, um Verstärker- und Weißabgleichspegel als "Kontrollsatz" gegenüber denjenigen einzustellen, die die eigentliche Bildgebung durchführen.

Wenn Sie die RAW-Sensordaten von einer der CHDK-kompatiblen Powershot-Kameras abrufen und diese mit dcraw konvertieren, erhalten Sie das vollständige Sensorbild, einschließlich dieser 100% schwarzen und 100% weißen Bereiche.

Interessant ist jedoch, dass die Auflösung von RAW-Bildern in der Kamera immer größer ist als die von JPG-Bildern in der Kamera. Der Grund dafür ist, dass die einfacheren und schnelleren Interpolationsmethoden, die in der Kamera verwendet werden, um von RAW zu JPG zu wechseln, umgebende RGB-Fotoseiten erfordern, um die endgültige Farbe jedes Pixels zu bestimmen. Rand- und Eckfotoseiten haben diese umgebenden Farbreferenzen nicht auf allen Seiten, um dies zu tun. Wenn Sie den Vorgang später auf einem Computer mit einer besseren RAW-Interpolationssoftware ausführen, erhalten Sie eine etwas größere Bildauflösung als mit einem JPG in der Kamera.

ps DPReview-Rezensenten und Artikelautoren sollten niemals von irgendjemandem als Evangelium angesehen werden. Ich habe so viele Lücken in ihren Tests und offensichtlichen Beispielen gefunden, in denen die Tester nicht einmal wussten, wie man Kameras benutzt, dass ich ihren Rat vor vielen Jahren ignoriert habe.

Handlicher Andy
quelle
5
Trotz Ihrer Bemerkung, dass "keine dieser Erklärungen wahr ist", decken andere Antworten dies bereits ab.
Mattdm