Blog

Canons Dual-Pixel-Raw-Format: Wie funktioniert das?

Vor mehr als zwei Jahren habe ich eine ausführliche Beschreibung von Canons Dual-Pixel-Raw-Format und den dadurch eröffneten Möglichkeiten in einem Forum veröffentlicht, dessen Betrieb leider eingestellt wurde. Da das Thema nach wie vor aktuell ist, stelle ich den Text hier in leicht überarbeiteter Version erneut online.

Canon hatte schon in die EOS 80D einen Sensor eingebaut, bei dem sich unter jeder der 24 Millionen Mikrolinsen nicht nur ein, sondern zwei nebeneinander liegende Pixel befinden, und diese zur Implementation eines Phasendetektions-AF mit dem Bildsensor genutzt. Die aus den doppelten Pixeln ausgelesenen Werte wurden aber sofort addiert und nur diese Summe gespeichert. Die EOS 5D Mark IV konnte erstmals beide Pixel separat speichern, und diese Option bietet auch die neue, spiegellose EOS R. Genau genommen speichert die Kamera zunächst ein Raw-Bild, bei dem die beiden Pixel (Canon nennt sie A und B) wie bisher miteinander verrechnet sind, und dahinter – aber in derselben Datei – ein Bild, das nur aus den Werten der A-Pixel besteht. Ein Raw-Konverter findet also eine scheinbar gewöhnliche Raw-Datei vor und kann mit deren Pixeldaten wie gewohnt arbeiten, ohne sich mit den Besonderheiten des Dual-Raw-Formats zu beschäftigen – der zweite Datensatz wird einfach ignoriert. Der Konverter kann aber auch – und nur Canons eigener Konverter tut das bislang – die Werte des zweiten Datensatzes von denen des ersten Pixel für Pixel abziehen und damit die B-Werte rekonstruieren. Mit den so getrennten A- und B-Werten kann der Raw-Konverter dann die Schärfe (ein wenig) nach vorne oder hinten verschieben, unscharfe Bildbereiche vor oder hinter der Schärfenebene nach rechts oder links verschieben, oder störende Flares reduzieren.

Canons Dual-Pixel-Raw-Format: Wie funktioniert das?
Die spiegellose EOS R hat einen Dual-Pixel-CMOS-Sensor mit zweimal 30,3 Millionen Pixeln. (Quelle: Canon)

Um zu verstehen, wie das möglich ist, muss man sich veranschaulichen, was mit dem Licht passiert, das vom Motiv reflektiert wird und schließlich auf dem Sensor landet. Von jedem Punkt des Motivs geht ein Strahlenbündel aus, von dem ein Teil die Frontlinse des Objektivs erreicht. Ein Teil der Lichtstrahlen wird von den Blendenlamellen aufgehalten, aber die übrigen treten schließlich aus der Hinterlinse des Objektivs aus und treffen auf den Sensor. Wenn wir auf diesen Punkt des Motivs scharfgestellt haben, nehmen die Strahlen zwar alle einen anderen Weg durch das Objektiv, treffen aber am selben Punkt auf dem Sensor zusammen. Ein Punkt des Motivs wird also als Punkt in der Sensorebene abgebildet. 

Wenn wir uns so weit schrumpfen ließen, dass wir auf einem Sensor von Pixel zu Pixel spazieren könnten, würden wir über dem Sensor eine annähernd runde Fläche einheitlicher Farbe und Helligkeit sehen. Das ist die Austrittspupille, das Bild der Blende; und die Farbe und Helligkeit ist einheitlich, weil jeder Lichtstrahl, der uns erreicht, vom selben Punkt des Motivs stammt. Wenn nun aber jemand am Fokussierring dreht und die Schärfe nach vorne oder hinten verschiebt, gilt das nicht mehr. An unserem Standpunkt auf dem Sensor treffen sich immer noch Lichtstrahlen, aber jeder Lichtstrahl kommt von einem etwas anderen Punkt des Motivs. Diese Lichtstrahlen kommen nicht mehr von einem Punkt, sondern von einer annähernd kreisförmigen Fläche, die um so größer ist, je weiter man den Fokus verstellt. Es mischen sich also die Farben und Helligkeiten unterschiedlicher Punkte des Motivs, und das Pixel, auf dem wir stehen, registriert diese Mischung. Das Ergebnis gleicht einer Weichzeichnung; es ist ein unscharfes Bild. Durch Abblenden können wir die Lichtstrahlen ausschließen, die von den Rändern des vom Pixel erfassten Kreises liegen, und damit wird das Bild wieder schärfer – allerdings um den Preis, dass insgesamt weniger Licht auf jedem Pixel ankommt. 

Unter jeder Mikrolinse eines Dual-Pixel-Sensors liegen zwei Photodioden, die unabhängig voneinander ausgelesen werden. (Quelle: Canon)

Was aber, wenn unter jeder Mikrolinse nicht ein, sondern zwei lichtempfindliche Pixel nebeneinander liegen? Das linke Pixel sieht dann nur die Strahlen, die aus der rechten Hälfte des Objektivs kommen, während das rechte Pixel nur die Strahlen aus der linken Hälfte sieht. Jedenfalls gilt das für das Querformat; wenn man die Kamera in das Hochformat dreht, werden aus rechts und links natürlich oben und unten. Vermutlich deshalb bezeichnet Canon die Pixel neutral als A- und B-Pixel.

Wenn das Motiv scharfgestellt ist, spielt der Unterschied zwischen A- und B-Pixeln keine Rolle; beide bekommen ihr Licht vom selben Punkt des Motivs und registrieren daher dasselbe. Anders sieht es bei einem unscharfen Bild aus: Beide Pixel empfangen ihr Licht aus einer größeren Fläche statt von einem Punkt, wobei diese Fläche halb so groß wie beim konventionellen Sensor ist – beide Pixel sehen ja nur jeweils eine Hälfte der Austrittspupille. Das entspricht einer Abblendung um eine Blendenstufe, und die A- und B-Bilder sind daher etwas schärfer. Vor allem aber sind sie gegeneinander verschoben. Abhängig davon, ob die Schärfe vor oder hinter dem Motiv liegt, schielt entweder das A-Pixel weiter nach links und das B-Pixel nach rechts – oder umgekehrt. Diese Verschiebung bezeichnet man als Phasenverschiebung und auf ihr beruht der Phasendetektions-Autofokus, für den früher ein eigenständiger AF-Sensor nötig war. Aus dem Ausmaß und der Richtung der Verschiebung kann die Kamera berechnen, wo der optimale Fokus liegt, und den Fokussiermotor des Objektivs so steuern, dass er diese Position direkt anfährt. 

Bei der EOS 80D ist es noch so, dass die dualen Pixel nur zur Fokussierung genutzt werden; für die Erzeugung einer Raw-Datei wird nur jeweils die Summe A+B gespeichert. Die Raw-Daten der EOS 80D sind daher praktisch identisch mit denen, die eine Kamera mit einem gewöhnlichen Sensor aufgezeichnet hätte. 

Nachträgliche Verschiebung der Schärfe

Wie Canon nun die verschiedenen Nutzanwendungen des Dual-Pixel-Raw-Formats realisiert hat, haben sie leider nicht publiziert. Ich war daher auf „reverse engineering“ angewiesen, musste mir also überlegen, wie ich es selbst anstellen würde. Ob es Canon genauso gemacht hat, weiß ich nicht, aber so wie ich es hier beschreibe, würde es funktionieren. 

Fangen wir mit der Verschiebung des Fokus an. Wir haben auf eine bestimmte Entfernung scharfgestellt, möchten die Schärfe aber auf ein Motivdetail verschieben, das wenige Millimeter davor oder dahinter liegt und daher leicht unscharf abgebildet wird. Die A- und B-Bilder sind ja schon mal etwas schärfer als das kombinierte Bild, weil sie mit einer um eine Stufe kleineren Blende entstanden sind. Dieser Vorteil geht aber in dem Moment verloren, in dem man die A- und B-Pixel addiert. Das liegt daran, dass die A-und B-Bilder des nachzuschärfenden Motivdetails gegeneinander verschoben sind. Nun kann man aber die im vorigen Beitrag beschriebene Phasendetektion in umgekehrter Richtung anwenden: Statt aus einer gemessenen Phasenverschiebung zu berechnen, wo die optimale Fokusposition liegt, berechnet man aus der gewünschten Verschiebung der Schärfe nach vorne oder hinten, wie weit sich dabei der Phase verschiebt. Nehmen wir an, dass sich durch die gewünschte Fokusverschiebung eine Verschiebung des B-Bildes um die Breite zweier Mikrolinsen nach rechts ergibt. Wir dürfen ein A-Pixel also nicht mit dem B-Pixel verrechnen, das neben ihm unter derselben Mikrolinse liegt, sondern mit dem jeweils um zwei Mikrolinsen nach rechts verschobenen B-Pixel. 

Auf diese Weise bleibt der Schärfegewinn der A- und B-Bilder annähernd erhalten; das Motivdetail, auf das wir die Schärfe legen wollen, wird also tatsächlich schärfer abgebildet. Da wir nicht die eigentlich zusammengehörigen A- und B-Pixel verrechnen, werden Details in der tatsächlich fokussierten Entfernung dafür unschärfer. Das Ergebnis ist eine Verschiebung des Fokus. 

Eine wirklich knackige Schärfe können wir auf diesem Wege aber nicht erzielen und insgesamt wird das Bild sogar etwas unschärfer. Der Zugewinn an Schärfe durch die nachträgliche Fokusverschiebung im Raw-Konverter entspricht lediglich dem, was wir auch durch Abblenden um eine Blendenstufe erreicht hätten – nur dass wir keine größere Schärfentiefe, sondern eine Verlagerung der Schärfenzone erhalten. Außerdem nimmt die Schärfe nur in horizontaler Richtung zu. Genau genommen ist es so, dass die Schärfe in horizontaler Richtung entsprechend zwei Blendenstufen steigt, in vertikaler Richtung aber gar nicht (wenn wir die Kamera hochkant halten, ist es umgekehrt), was im Durchschnitt einer Blendenstufe entspricht. 

Die Tester bei dpreview.com konnten nur einen zwar sichtbaren, aber doch begrenzten Effekt entdecken. Sie mutmaßten, eine Weiterentwicklung der Software könnte das Ergebnis verbessern, aber die beschriebenen Grenzen des Verfahrens sind bereits durch die Hardware des Sensors gesetzt. Eine nennenswerte Verbesserung könnte erst ein Sensor bringen, bei dem vier (2 × 2) Pixel unter jeder Mikrolinse liegen. Damit würde sich die Schärfe in horizontaler wie in vertikaler Richtung verbessern. Außerdem ließe sich damit ein Phasendetektions-AF mit Kreuzsensoren realisieren, der auf horizontale wie vertikale Strukturen scharfstellen kann. Die Pixel wären dann allerdings sehr klein und ihr Wirkungsgrad schlechter; zudem verdoppelt sich noch einmal die zu bewältigende Datenmenge.

Verschiebung des Vorder- und Hintergrund-Bokehs

Bisher war ich stillschweigend davon ausgegangen, wir hätten es nur mit einem Motiv in einer bestimmten Entfernung zu tun, aber natürlich gibt es hinter dem Motiv, auf das man fokussiert, noch einen mehr oder weniger unscharfen Hintergrund. Es können sich auch Gegenstände im unscharfen Vordergrund befinden, die der Kamera also näher als das Motiv sind. Manchmal stört der Hintergrund, öfter aber noch der Vordergrund, wenn – im Moment der Aufnahme vielleicht nicht bemerkt – das Motiv teilweise verdeckt wird. Auf Basis einer Dual-Pixel-Raw-Datei kann man nun den Vorder- und Hintergrund gegenüber dem Motiv verschieben – zumindest nach links oder rechts (und bei Hochkantaufnahmen nach oben und unten). Canon bezeichnet das als Bokeh-Verschiebung. 

Aufgrund der Phasenverschiebung vor und hinter der Schärfenebene zeigen die A- und B-Bilder den unscharfen Vorder- und Hintergrund nicht an derselben Position. Wenn man sich die A- und B-Bilder im schnellen Wechsel anschaut, fällt auf, dass das scharfgestellte Motiv immer an der gleichen Stelle steht, während der unscharfe Vordergrund beim Umschalten nach links und der Hintergrund nach rechts springt, und beim nächsten Umschalten in der jeweils umgekehrten Richtung. Je nachdem, in welchem Mischungsverhältnis man die A- und B-Pixel verrechnet, verschieben sich die unscharfen Bereiche, und so kann man sie – innerhalb gewisser Grenzen – an eine passendere Position schieben. Je größer die Blende, desto größer ist auch die maximal mögliche Verschiebung. 

Reduzierung von Flares

Die dritte Funktion, die Canons Raw-Konverter bei der Entwicklung von Dual-Pixel-Raw-Dateien anbietet, ist eine Unterdrückung von Flares. Im Idealfall sollten sich die Lichtstrahlen ja nur in einer Richtung durch das Objektiv ausbreiten, nämlich von der Frontlinse zur Hinterlinse und von dort schließlich zum Sensor. Leider wird aber ein Teil des Lichts von einer der Linsenoberflächen reflektiert und dann ein weiteres Mal in Richtung Sensor gespiegelt. Meist fällt das nicht auf und beeinträchtigt höchstens den Kontrast, aber wenn eine helle Lichtquelle direkt in das Objektiv strahlt, kann das Streulicht das scharfe Bild störend überlagern. 

Während die Lichtstrahlen, die das scharfe Bild erzeugen, in einem breiten Lichtkegel auf jedes Sensorpixel treffen, kommt das Streulicht oft nur aus einer bestimmten Richtung. Da ein Sensor mit dualen Pixeln die Lichtstrahlen aus der linken und rechten Hälfte des Objektivs getrennt registriert, gibt es die Chance, dass das Streulicht nur aus einer Hälfte des Objektivs kommt und daher eines der beiden Pixel unter jeder Mikrolinse unbeeinflusst bleibt. Es kommt nun darauf an zu erkennen, ob eine Abweichung zwischen den A- und B-Pixeln auf Flares zurückgeht, und welches der beiden Pixel frei von Flares geblieben ist. Man kann dann das jeweils andere Pixel ignorieren und das Bildpixel nur aus dem Flare-freien Sensorpixel berechnen. Wie Canon hier im Detail vorgeht und welche Kriterien sie zur Flare-Erkennung heranziehen, konnte ich nicht herausfinden. Es ist auch möglich, dass das aktuell genutzte Verfahren künftig noch weiter verbessert werden wird.  

Geht noch mehr?

Wenn man weiter über das Dual-Pixel-Raw-Format nachdenkt, fallen einem diverse Funktionen ein, die man damit realisieren könnte. Ein Beispiel dafür wäre die Freistellung des fokussierten Motivs. In Photoshop beispielsweise würde man mit »Auswahl > Fokusbereich« das Motiv auswählen, um es dann vielleicht vor einen anderen Hintergrund zu montieren. Photoshop muss dazu den Mikrokontrast der Pixel auswerten, um das freizustellende Motiv zu erkennen. Dabei kann das Verfahren auch in die Irre gehen – etwa wenn es Bewegungsunschärfe im Bild gibt und Photoshop daher meint, diese unscharfen Bereiche gehörten nicht zum Motiv. Die A- und B-Bilder einer Dual-Pixel-Raw-Datei geben einem dagegen ein verlässlicheres Kriterium: Die Bildbereiche, in denen beide Bilder an derselben Position denselben Inhalt enthalten, gehören zum fokussierten Motiv, alle anderen nicht. Der Raw-Konverter könnte auf dieser Grundlage eine Auswahl des Motivs erzeugen und das entwickelte Bild mit dieser Auswahl exportieren. In Photoshop oder einer anderen geeigneten Anwendung ließe sich die Auswahl gegebenenfalls noch verbessern, um dann beispielsweise einen anderen Hintergrund darunterzulegen. 

Eine weitere Möglichkeit wäre die Erzeugung eines 3D-Modells – oder zumindest einer „depth map“, die für jedes Bildpixel die Entfernung angibt. Zu einem vollständigen 3D-Modell fehlen nur die Daten über die Rückseite der Motive, die die Kamera ja nicht sehen konnte. Zur Erzeugung einer „depth map“ wäre eine Phasendetektion für jeden Bildpunkt nötig, die zwar nicht wirklich pixelgenau sein kann, weil für eine Phasendetektion immer mehrere Pixel ausgewertet werden müssen, aber selbst etwas gröbere Daten können bereits nützlich sein. Aus den Bilddaten selbst könnte der Raw-Konverter die Textur erzeugen, in die das 3D-Modell eingekleidet wird, und die kompletten Daten an eine 3D-Software übergeben. 

Eine dritte naheliegende Funktion wäre die Entfernung störender Elemente im Vordergrund. Mit Canons Bokeh-Verlagerung kann man sie bereits verschieben, aber noch nicht eliminieren. Sofern die störenden Elemente klein genug und die Verschiebung zwischen den A- und B-Bildern groß genug ist, kann der Raw-Konverter überall dort, wo im A-Bild ein Vordergrund-Element (das sich mit einer Phasendetektion als solches erkennen lässt) auftaucht, allein auf die entsprechenden Pixel des B-Bildes zurückgreifen, und ebenso umgekehrt. Nur dort, wo das Motiv in keinem der beiden Bilder verdeckt wird, verrechnet der Raw-Konverter beide Pixel.

Zeig mehr

Michael J. Hußmann

Michael J. Hußmann gilt als führender Experte für die Technik von Kameras und Objektiven im deutschsprachigen Raum. Er hat Informatik und Linguistik studiert und für einige Jahre als Wissenschaftler im Bereich der Künstlichen Intelligenz gearbeitet.

Ähnliche Artikel

Schreiben Sie einen Kommentar

Bitte melden Sie sich an, um einen Kommentar zu schreiben.

Das könnte Dich interessieren
Close
Back to top button