Zusatz-Funktionen Gratis-Software rüstet Kompaktkameras auf

Belichtungsreihen, Raw-Format und HDR-Aufnahmen - das kostenlose Firmware-Add-on CHDK spendiert bestimmten Canon-Kompaktkameras viele interessante Funktionen, die völlig neue Möglichkeiten für Foto-Experimente eröffnen.
Von Jobst-H Kehrhahn und Reiko Kaps
Kompaktkamera: In der Stratosphäre mit einer per CHDK modifizierten Canon fotografiert

Kompaktkamera: In der Stratosphäre mit einer per CHDK modifizierten Canon fotografiert

Foto: Robert Harrison, robertharrison.org

Eine Gruppe MIT-Studenten schickt eine Canon-A560-Digitalkamera in die Stratosphäre - verpackt in einem Styropor-Behälter, befestigt an einem mit Helium gefüllten Wetterballon und zur Aufnahmesteuerung ausgerüstet mit CHDK. Über 28 Kilometer Höhe erreicht die spektakulär billige, weil insgesamt nur 150 US-Dollar teure Selbstbau-Konstruktion. Dann hat sich der Ballon mangels Atmosphäre schließlich so weit ausgedehnt, dass er wie geplant platzt und seinen Rücksturz zur Erde antritt - samt Digicam und Handy, das als GPS-Empfänger dient.

Das Equipment überlebt, der Lohn fasziniert: Fantastische Bilder (space.1337arts.com) , wie man sie sonst nur von millionenfach teureren Satellitenmissionen kennt. Eine kleine Sensation, die auch durch die amerikanische Presse ging: Fox, CNN und ABC News berichteten.

Ähnliche Projekte gab und gibt es eine ganze Reihe. So zum Beispiel das des Italieners Franceso Bonomi . Sein Ballon schaffte es bis in eine Höhe von über 33 Kilometern. Oder das des Briten Robert Harrison , dessen Kapsel sogar eine Höhe von über 35 Kilometern erreichte.

Canon

Alle Projekte haben zwei Dinge gemeinsam: Erstens nutzen sie eine ältere und damit billig zu ersteigernde -Kompaktkamera. Und zweitens: Zur Aufnahmesteuerung war auf den Digitalkameras ein Firmware-Add-on namens CHDK installiert - das "Canon Hack Development Kit".

Diese frei von einer weltweiten Community ohne jedwede Unterstützung von Canon entwickelte kostenlose Software läuft mittlerweile auf über 70 Ixus- und Powershot-Modellen und erweitert sie um jede Menge neue Funktionen, die sonst nur DSLRs vorbehalten sind - Spiegelreflex-Feeling für Kompakte sozusagen. Und mehr: Denn mit diesen neuen Funktionen bekommt man nicht nur ein Werkzeug an die Hand, mit dem man die eine oder andere werkseitige Einstellung überlisten kann. Man bekommt vor allem eins: eine ganze Reihe neuer fotografischer Möglichkeiten, angefangen von der Raw-Fotografie bis hin zur Stereo-Fotografie (StereoDataMaker - eine Entwicklung, die auf CHDK basiert).

Sie sind relativ billig, einfach zu bedienen und haben viele nette Funktionen - die Ixus- und Powershot-Kompaktkameras von Canon. Allerdings fehlen ihnen im Gegensatz zu mancher Spiegelreflexkamera auch eine ganze Reihe Fähigkeiten, die semiprofessionelles Fotografieren erst möglich machen. CHDK schafft Abhilfe.

Rohdatenformat, HDR-Fotos und Belichtungsreihen - so rüstet CHDK Kompaktkameras auf.

Die Garantiefrage

Der Trick: Die Kamera-Firmware prüft bei jedem Boot-Prozess, ob die Speicherkarte schreibgeschützt ist, ob an einer bestimmten Speicheradresse das Wort BOOTDISK steht und ob sich im Root-Verzeichnis eine Datei namens DISKBOOT.BIN befindet. Treffen alle drei Bedingungen zu, lädt und startet die Kamera letztere Datei - perfekt, um eigenen Code einzuschleusen.

So konnten die CHDK-Entwickler ihre eigene DISKBOOT.BIN schreiben, die zuerst die eigenen Routinen in den Kamera-Arbeitsspeicher überträgt und anschließend das Betriebssystem um einen eigenen, parallel ablaufenden Task erweitert.

Die Canon-eigene Firmware wird also nicht dauerhaft überschrieben, so die Entwickler: Geht bei CHDK tatsächlich einmal etwas schief, startet man die Kamera einfach neu, notfalls entnimmt man die Batterie. Und wer CHDK komplett entfernen möchte, formatiert die Speicherkarte. Nach einem Neustart ist CHDK dann spurlos verschwunden.

Wirklich spurlos? Eine heikle Frage, denn was ist, wenn eine CHDK-betriebene Kamera kaputt gehen sollte - aus welchen Gründen auch immer - und man den Garantiefall geltend machen will?

Canon Deutschland wollte sich zu diesem Thema auf Anfrage nicht äußern - was Raum für Spekulationen lässt, denn eigentlich hätte man ja auf Nummer sicher gehen und den Garantieverlust androhen können.

Eine mögliche Erklärung für diese Reaktion: Canon kennt CHDK; eine entsprechende Mail, zu lesen unter chdk.wikia.com/wiki/FAQ , beweist das - und das Unternehmen ist zumindest nicht sonderlich unglücklich über den (PR-)Mehrwert, den CHDK ja ausschließlich Canon-Kameras zuteilwerden lässt. Andererseits will man sich nicht zu einem Persilschein für eine frei entwickelte Software hinreißen lassen, die nicht durch die eigene Qualitätskontrolle gelaufen ist.

Denn klar ist: CHDK kann die Kamera tatsächlich beschädigen - zumindest theoretisch. Immerhin beruht CHDK auf dem Reverse Engineering eines undokumentierten Systems, das die Hardware direkt steuert. So sei es beispielsweise durchaus möglich, der Optik per Skript zu befehlen, auszufahren, obwohl der Verschluss eigentlich noch nicht offen ist, heißt es auf chdk.wikia.com . In der Praxis sei es aber "außerordentlich unwahrscheinlich", dass CHDK zu dauerhaften Schäden an der Kamera führe, so die Entwickler - und es gebe auch keine Berichte über derartige Fälle. Anders ausgedrückt: Bei sachgemäßem Umgang mit der Kamera sind keine Beschädigungen zu erwarten. Unsere eigenen und ausgiebigen Tests bestätigen das.

Die Installation

Um CHDK zu installieren, braucht man zunächst drei Dinge:

  • eine SD-Karte, die für die ersten Gehversuche nicht größer als 4 GByte sein sollte
  • einen Card-Reader inklusive PC
  • einen Internetzugang, um den für die jeweilige Kamera passenden CHDK-Build herunterzuladen. Wer gerne mit einem Utility arbeitet, findet unter chdk.wikia.com/wiki/CardTricks  ein gleichnamiges Hilfsprogramm, das die Installation erleichtert. Außerdem gibt es dort einige gut gemachte Installations-Guides.

Schritt 1: Gibt es CHDK für meine Kamera?

CHDK unterstützt zwar wie erwähnt insgesamt über 70 verschiedene Ixus- und Powershot-Modelle, aber eine einheitliche CHDK-Version gibt es nicht. Jede Kamera - oder besser gesagt: jede Firmware einer Kamera - hat ihren eigenen CHDK-Build. Auf chdk.wikia.com  findet sich auf der rechten Seite ein Kasten, der alle unterstützten Kameras und Firmware-Versionen aufführt. Als Gegenstück gibt es bei wirklemms.de  im Thread "Installation (Integration)" und dort unter "Ankündigung: nicht CHDK-unterstützte Kameras" eine Negativ-Liste.

Schritt 2: SD-Karte formatieren

Damit CHDK ordnungsgemäß läuft, muss die SD-Karte als FAT16 formatiert werden (deshalb auch die 4GByte Speicherbegrenzung). Unter Windows geht man dazu wie üblich vor, klickt also mit der rechten Maustaste das SD-Laufwerk an und wählt im Kontextmenü "formatieren…".

Schritt 3: Firmware-Version herausfinden

Um die richtige CHDK-Version für eine Kamera zu finden, benötigt man deren genaue Firmware-Versionsnummer - und zwar genauer, als sie die Kamera werkseitig angibt. Um diese zu erhalten, speichert man auf der SD-Karte am besten zwei leere Textdateien mit den Namen "ver.req" und "vers.req". Welche der beiden tatsächlich benötigt und von der Kamera genutzt wird, ist abhängig vom Modell.

Anschließend legt man die SD-Karte in die Kamera ein, startet im Wiedergabe-Modus und drückt gleichzeitig die Tasten FUNC SET und DISP. Jetzt zeigt die Kamera statt beispielsweise 1.0.1.0 die hier benötigte Firmware-Version an - etwa "GM1.01B" oder Ähnliches. Wichtig ist die Angabe der Versionsnummer wie 1.01B.

Schritt 4: CHDK laden

Von CHDK gibt es verschiedene Distributionen, beispielsweise auch eine deutsche CHDK-DE, die sich in manchen Punkten von der internationalen Version unterscheidet. Sie bietet unter anderem eine deutsche Menüführung und Umlaute per Default, reichlich Tonwertkurven zur direkten Anwendung in der Kamera und verbesserte Fehlermeldungen.

Heruntergeladen werden kann CHDK-DE von der deutschen Seite wirklemms.de  unter dem Menüpunkt "Downloads". Um die richtige Version herunterzuladen, braucht man das Kameramodell und die in Schritt 3 ermittelte Firmware-Version.

Schritt 5: CHDK-installieren

Entpacken, auf SD-Karte kopieren, fertig! Im Root-Verzeichnis findet sich dann neben anderen Dateien die besagte DISKBOOT.BIN und ein Verzeichnis CHDK. Jetzt legt man die SD-Karte ein und startet die Kamera im Wiedergabemodus (das Objektiv muss eingefahren sein). Das aktiviert im Canon-Wiedergabe-Menü ganz am Ende einen zusätzlichen Menüpunkt namens "Firm Update…", den man auswählt, um CHDK das erste Mal manuell zu starten. Die Kamera bootet neu und lädt CHDK, zu erkennen am charakteristischen Logo.

Schritt 6: CHDK automatisch starten

Damit CHDK beim nächsten Start automatisch geladen wird, muss man nach dem manuellen Start noch zwei Dinge erledigen: Zunächst wechselt man mit der Tastenkombination ‹Alt›+Menü ins CHDK-Menü, wobei die ‹Alt›-Taste je nach Modell variiert. Bei der Ixus 70 liegt sie beispielsweise auf der Print-Taste. Dann drückt man "Verschiedene Einstellungen › Mache SD-Karte bootfähig …" via FUNC.SET. Im letzten Schritt setzt man den Schreibschutz der SD-Karte. Das war's: Künftig sollte CHDK bei jedem Kamerastart automatisch geladen werden.

CHDK anwenden

Wie bereits erwähnt, werden viele CHDK-Elemente (Menüs, Skripte …) erst dann aktiv, wenn die ‹Alt›-Taste den gleichnamigen Modus aktiviert. Welche Taste die ‹Alt›-Taste ist, variiert dabei von Kamera zu Kamera beziehungsweise von Serie zu Serie. So wird bei den A- und SD-Modellen die Print-Taste genutzt, wobei es hier auch auf die Länge des Klicks ankommt. Kurzes Drücken aktiviert den ‹Alt›-Modus, zu erkennen an einem entsprechenden Zeichen am unteren Rand des Displays. Langes Drücken ruft das entsprechende Canon-Menü auf.

Die Bedienung der CHDK-Menüs ist selbsterklärend: Die Menü-Anwahl geschieht über die entsprechenden Pfeiltasten, FUNC.SET übernimmt die Funktion der Return-Taste und mit DISP gelangt man eine Menüebene höher. Eine Besonderheit bieten manche Overrides, wie etwa das explizite Setzen der ISO-Werte unter "Extra-Foto-Einstellungen › Ersetze ISO-Wert". Hier ist der Wertebereich so groß, dass unterhalb dieses Menüpunkts noch ein Multiplikator angegeben ist.

CHDK anpassen

CHDK bietet reichlich Anpassungsmöglichkeiten - nicht nur für die Menüs, sondern auch für das sogenannte OSD (= On Screen Display), also für das, was CHDK an zusätzlichen Info-Elementen auf dem Kamera-Display einblendet (siehe Kasten auf S. 148). Im Wesentlichen übernehmen zwei Menüpunkte diese Einstellungen:

Anzeige-Einstellungen kümmert sich um Fonts, Symbole und Farben, also um die Art und Weise, wie sich CHDK präsentiert. So kann man dem CHDK-Menü ein komplett eigenes Look & Feel geben.

OSD-Einstellungen legt dagegen fest, wo CHDK welche Elemente positionieren soll. Unter dem Menüpunkt "OSD-Einstellungen › OSD-Layouteditor" legt man beispielsweise fest, wo auf dem Display welche Information erscheinen soll und unter "Gitternetz-Einstellungen" kann man eine ganze Reihe verschiedener Gitternetze über das Display legen (Goldener Schnitt, Lineale, …).

Praktisch sind auch die drei Benutzer-Menü-Optionen, mit denen man ein eigenes Menü zusammenstellen kann. Dazu wählt man zunächst unter "OSD-Einstellungen › Benutzermenü-Status" den Eintrag "Edit", navigiert zu dem Menüpunkt, den man dem Benutzermenü hinzufügen möchte und drückt die Auslösetaste leicht herunter (Achtung: keine Rückmeldung). Sind alle Einträge gemacht (siehe "OSD-Einstellungen › Benutzermenü"), schaltet man den Status auf "On" und bei Bedarf "OSD-Einstellungen › Benutzermenü" als Hauptmenü an.

Das kann CHDK

Eingestellt werden diese neuen Funktionen über ein zusätzliches Kamera-Menü, das CHDK der Kamera spendiert und das mit einer speziellen Tastenkombination an- oder ausgeschaltet wird. Die eigentlichen Canon-Menüs bleiben optisch oder im Workflow unverändert - getreu dem Motto: Wer nicht will, der muss nicht. Hier eine Auswahl der interessantesten Features:

Raw-Format: Mit CHDK kann man nicht nur im Bilder im Raw- beziehungsweise DNG-Format abspeichern (also die unverfälschte Bildinformation direkt vom Sensor), sondern auch in der Kamera entwickeln, entrauschen oder verarbeiten. Weil Raw-Aufnahmen einen größeren Kontrastumfang als herkömmliche JPEG-Bilder beherrschen, gehen so weniger Bildinformationen verloren, die Nachbearbeitung kann auf dem PC mit einem leistungsfähigen Raw-Entwickler stattfinden.

Live-Histogramm: Viele Canon-Kompaktkameras zeigen im Wiedergabemodus zwar ein Histogramm an, nicht aber im Live-View-Modus vor oder während einer Aufnahme. CHDK ändert das und blendet insgesamt bis zu acht verschiedene RGB- und Luminanz-Histogrammkombinationen ein. Ob und welche, ist per Menü einstellbar.

Zebra-Modus: Zu große Bildkontraste oder Unter- beziehungsweise Überbelichtung führen oft zu Fotos ohne Zeichnung in den Lichtern und/oder Schatten (schwarze oder weiße Flächen). Im Zebra-Modus schraffiert CHDK diese Flächen - und zwar in Echtzeit vor und während einer Aufnahme und nicht erst bei der Wiedergabe, also nachdem das Foto missglückt ist.

Belichtungsreihen: Wer HDR- beziehungsweise DRI-Aufnahmen machen möchte, braucht Belichtungsreihen - also eine Serie von Bildern, die sich sukzessive um einen bestimmten Belichtungswert unterscheiden. Mit CHDK kann man die Belichtung über die Verschlusszeit, den ISO-Wert oder die Blende, sofern vorhanden, variieren.

Fokusreihen: Gerade in der Makrofotografie hat man oft mit geringer Schärfentiefe zu kämpfen, selbst bei Verwendung kleiner Blenden. Fokusreihen, wie man sie mit CHDK machen kann, sind ein interessantes Konzept, um dem zu begegnen: Man nimmt mehrere Bilder hintereinander auf, wobei die Kamera den Fokus bei jeder Aufnahme um eine bestimmte Distanz verschiebt - Stichwort "Focus stacking". Zusammengerechnet zu einem Bild sehr viel größerer Schärfentiefe werden die Reihenaufnahmen dann auf dem PC mit Hilfe spezieller Software.

Overrides: In Kompaktkameras passieren viele Dinge automatisch und können auch im manuellen Modus nicht festgelegt werden. Hier hilft CHDK mit sogenannten Overrides. Sie überschreiben die von der Kamera vorgegebenen Werte, etwa die:

Auto-ISO: Viele Canon-Kompakte verfügen über einen Auto-ISO-Modus, die Kamera entscheidet dann per Automatismus über ISO-Werte, Blende und Belichtungszeit. CHDK ändert das: In einem eigenen Menü legt man beispielsweise fest, wie lang eine Belichtungszeit längstenfalls werden darf.

Eigene Skripte: Fehlt eine bestimmte Funktion in CHDK, bedeutet das noch lange nicht, dass man sie nicht nachrüsten kann, denn in CHDK eingebaut ist die Möglichkeit, eigene Skripte zu laden und auf der Kamera ablaufen zu lassen. Das machen sich beispielsweise viele High Area Ballooning-Projekte zunutze, indem sie während des Fluges programmgesteuert etwa vom Foto- in den Videoaufnahmemodus wechseln und zeitgesteuert Bilder aufnehmen - beim Start wenige, in der Stratosphäre dann viele. Auch die Bewegungserkennung, also das ereignisgesteuerte Aufnehmen von Bildern (jemand läuft ins Bild oder es blitzt bei einem Gewitter) ist via Skript nutzbar.

  • Belichtungszeit (von 1/100000s bis 2048s, je nach Kameramodell),
  • Fokusdistanz (manuelle Fokussierung, nicht bei jeder Kamera implementiert),
  • Blende (nur verfügbar bei Kameras mit echter Blende) und die
  • ISO-Werte.

Profiaufnahmen mit Magic Lantern und der Canon 5D Mark II

Es war schon eine kleine Sensation, als Greg Yaitanes, Producer und Regisseur von Dr. House, ankündigte, das Finale seiner Erfolgsserie mit einer Canon 5D Mark II zu drehen statt mit einer traditionellen Filmkamera. Die Bilder seien "richer", man könne das Equipment leichter in engen Räumen benutzen und schließlich liefere die 5D nun einmal hervorragende HD-Aufnahmen, schrieb Yaitanes in einem Twitter-/Brizzley-Live-Chat. Diesen Ball nahm Canon Europe natürlich gerne auf und veröffentlichte eine entsprechende Pressemeldung inklusive dem Hinweis, dass Yaitanes mit 24 Bildern pro Sekunde gedreht habe - ein Feature eben, das Canons neustes Firmware-Update 2.0.4 biete.

Foto: c't

Tatsächlich haben viele Filmemacher sehnlich auf die neuen Bildraten gewartet, so auch Trammel Hudson. Der im Großraum New York ansässige Programmierer und Forschungs-Chef einer Technikfirma entwickelt seit Jahren ein eigenes, frei verfügbares Firmware-Add-on namens Magic Lantern speziell für die 5D Mark II (magiclantern.wikia.com) , das auf Canons Firmware-Version 1.1.0 aufsetzt. Auch er lobt die neue Firmware ausdrücklich, sieht aber Nachbesserungsbedarf: So sei die Audioqualität noch immer nicht optimal, da sich die kamerainterne automatische Tonaussteuerung auch in der neuen Firmware nicht wie bei Magic Lantern abschalten lasse. Und auch weiterhin würden wichtige Features, wie etwa der Zebra-Modus, fehlen oder deutlich umständlicher sein. Magic Lantern behebt dieses Manko.

CHDK und Magic Lantern

Ähnlich wie CHDK ist auch Magic Lantern ein Firmware-Add-on, an dessen Anfang ebenfalls ein Firmware-Dump stand. Deshalb verweist Hudson auch gerne auf CHDK, denn ohne die "heroischen Bemühungen des CHDK-Entwicklerteams" hätte es Magic Lantern nie gegeben, so Hudson. Gemeinsamen Code gebe es aber trotzdem nicht, obwohl es mal eine Zeit gegeben habe, zu der er das zwar geplant, die Idee dann aber wieder verworfen habe.

Eine wichtige Gemeinsamkeit zwischen CHDK und Magic Lantern gibt es aber doch: Genau wie CHDK überschreibt Magic Lantern nicht die Canon-eigene Firmware, sondern wird bei jedem Start neu in den Speicher geladen.

Gefunden in: Sonderheft vom Computermagazin c't  "Digitale Fotografie"