Canon PowerShot SD800 IS

Die PowerShot SD800 IS von Canon heißt in Europa Digital IXUS 850 IS und ist eine schon etwas betagtere digitale Kompaktkamera. Obwohl sie bereits als veraltet gilt, überzeugen ihre technischen Daten auf ganzer Linie und stellen so manches modernere Modell in den Schatten: Optischer Bildstabilisator, Weitwinkelobjektiv mit 28 mm Äquivalentbrennweite, zahlreiche sinnvolle Einstellungsmöglichkeiten und “nur” 7,1 Megapixel.
Megapixelwahn und physikalische Realität
Was die Hersteller digitaler Kompaktkameras und die verantwortlichen Marketing-Abteilungen nicht wahr haben wollen, bringt 6mpixel.org auf den Punkt: die optimale Pixelzahl für digitale Kompaktkameras liegt in der Größenordnung von sechs bis acht Millionen Pixeln. Die Werbung versucht zwar beständig, uns vom Gegenteil zu überzeugen, damit die Hersteller ihre ultrakompakten 12 MPx-Boliden absetzen können, doch der Verbraucher profitiert davon nicht im geringsten — vielmehr ist das Gegenteil der Fall.
Da die Größe der Bildsensoren in Kompaktkameras nicht zuletzt aus Kostengründen auf ein winziges Maß von etwa 6x5 mm2 festgelegt ist, werden die einzelnen Pixel mit zunehmender Anzahl immer kleiner. Dadurch steigt zwar prinzipiell die Auflösung aber gleichzeitig sinkt auch das Lichtsammelvermögen, was zu stärkerem Bildrauschen führt. In der Summe wird die Bildqualität bei Kompaktkameras jenseits von etwa 6 MPx schlechter. Das Rauschen lässt sich zwar durch bessere Elektronik und ausgefeilte Bildverarbeitungsalgorithmen reduzieren — jedoch nicht gänzlich eliminieren — sodass ich die Grenze für aktuelle Modelle eher bei 8 MPx setzten würde.
Neben dem stärkerem Bildrauschen führen kleinere Pixel noch zu einem weiteren Problem: Schärfeverlust durch Beugung an der Pixelbegrenzung. In der Physik kann Licht (unter anderem) als elektromagnetische Welle beschrieben werden, deren Wellenlänge im Fall von sichtbarem Licht 0,4—0,8 µm beträgt. Wenn Licht nun auf ein Objekt in der Größenordnung der Lichtwellenlänge trifft, wird das Licht gebeugt und dadurch über einen größeren Raumbereich “verschmiert”. Bei der SD800 IS mit 7,1 MPx kommt die Pixelgröße mit knapp 2 µm der Lichtwellenlänge bereits nahe. In diesem Bereich tritt schon ein Schärfeverlust durch Beugung auf, der mit zunehmender Pixelzahl noch weiter ansteigt. Gegen diesen Effekt lässt sich auch mit technischem Fortschritt nichts ausrichten. Er kann einzig durch größere Pixel vermieden werden — also weniger als 8 MPx bei der heute in Kompaktkameras üblichen Sensorgröße oder größere Sensoren wie in Hybrid- oder Spiegelreflexkameras.
Die Konsequenz: Die modernsten MPx-Boliden unter den Kompaktkameras sind nicht nur teurer, sondern machen auch noch schlechtere Bilder als die Modelle der letzten Generation. Schade, dass sie trotzdem verkauft werden wie warme Semmeln.
CHDK — Der Turbo für Canons Kompaktkameras
CHDK steht für “Canon Hackers Development Kit” und bezeichnet eine opensource Firmware-Erweiterung, die für eine ganze Reihe von Canon Kompaktkameras verfügbar ist und diese um zahlreiche Funktionen erweitert. Da CHDK die Originalfirmware der Kamera nicht ersetzt, sondern beim Einschalten von der Speicherkarte als Zusatzprogramm geladen wird, birgt diese Modifikation obendrein kaum ein Risiko. Nähere Informationen, Download und Anleitung gibt es in englischer Sprache auf der CHDK-Webseite. Ich empfehle die Allbest Builds.
Für den ziemlich geringen Installations- und Einarbeitungsaufwand bekommt man einen ganzen Haufen äußerst nützlicher Funktionen — um nur einige zu nennen: RAW-Format, vollmanueller Aufnahmemodus, Mehrkanalhistogramm in Echtzeit, USB-Fernauslöser, zuverlässige Akkuanzeige und vieles mehr.
Zwei Merkmale verdienen ob ihres unglaublichen Potentials noch besondere Erwähnung. Zum einen lassen sich praktisch alle Kamera- und CHDK-Funktionen über uBASIC-Skripte steuern; die Kamera wird quasi vollständig programmierbar. Zum anderen bringt CHDK eine Bewegungserkennungsroutine mit, die es erlaubt, Photos oder Videos aufzunehmen, sobald sich etwas im Aufnahmebereich bewegt.
Bewegungserkennung schnell wie der Blitz
Bei der SD800 IS beträgt die Verzögerung zwischen Erkennung einer Bewegung und Auslösung nur etwa (74±7) ms. Damit ist die CHDK-Bewegungserkennung schnell genug, um während eines Gewitters die erste Hauptentladung eines Blitzes zu erkennen und dann die Folgeentladungen im Bild festzuhalten.
Mit aktuellen unmodifizierten CHDK-Versionen erreicht man diese Geschwindigkeit aus folgendem Grund allerdings nicht reproduzierbar. Die Kameras der PowerShot/Ixus-Serie benutzen drei interne Puffer zur Speicherung des auf dem Display angezeigten Vorschaubildes und alle 30 ms wird einer dieser Puffer aktualisiert. Da für die meisten von CHDK unterstützen Kameras momentan nur die Speicheradresse eines der drei Puffer bekannt ist, steht für CHDK und die Bewegungserkennung auch nur einer der drei Puffer zur Verfügung. Im schlimmsten Fall wertet die Erkennungsroutine also 90 statt 30 ms alte Bilder aus. Die Auslöseverzögerung steigt damit auf bis zu 160 ms an — zu langsam für Gewitterphotographie.
Nachdem ich die Adressen für die übrigen beiden Puffer sowie die Indexvariable, die den momentan aktuellen Puffer angibt, herausgefunden und einen entsprechenden Patch erstellt habe, benutzt CHDK nun stets den aktuellen Puffer und erreicht zuverlässig die genannten (74±7) ms als Auslöseverzögerung. Weitere Details zu dem im Folgenden beschriebenen Patch finden sich in meinem englischen Beitrag im CHDK-Forum.
Im CHDK-Quellcode muss in der Datei platform/ixus850_sd800/sub/100e/lib.c
80 81 82 83 | void *vid_get_viewport_live_fb() { return (void*)0; // 0x106571F0 + 0x7E900 } |
durch
80 81 82 83 84 85 86 87 88 89 90 | void *vid_get_viewport_live_fb() { void **fb=(void **)0x5564; unsigned char buff = *((unsigned char*)0x5574); if (buff == 0) { buff = 2; } else { buff--; } return fb[buff]; } |
ersetzt werden. Hinweise zum auschecken und übersetzen des CHDK-Quellcodes gibt es hier im CHDK-Wiki.
Die Adressen für Puffer-Array und Indexvariable sind für jedes Kameramodell unterschiedlich. Der hier veröffentlichte Patch gilt ausschließlich für die PowerShot SD800 IS bzw. Digital IXUS 850 IS. Speicheradressen und Patches für andere Kameramodelle gibt es, sofern bekannt, im oben verlinkten Foren-Thread.
Wer eine SD800 IS bzw. IXUS 850 IS hat aber den CHDK-Quellcode nicht selbst patchen und kompilieren will, kann eine angepasste und fertig kompilierte Version hier herunterladen und gemäß der weiter oben verlinkten Anleitung installieren. Ich würde mich in dem Fall über eine Rückmeldung hier im Blog und insbesondere im genannten Foren-Thread freuen. Letzteres ist besonders wichtig, damit der Patch einst in den offiziellen CHDK-Quellcode integriert wird.

20. August 2010 um 19:25
WO bekomme ich für die Canon Powershot SD800is einen fernauslöser?