- CHDK
-
Die Abkürzung CHDK steht für Canon Hacker Development Kit. Dabei handelt es sich um einen unabhängigen Firmware-Aufsatz für digitale Kompaktkameras der Firma Canon mit DIGIC-II, III oder IV-Prozessor. CHDK wird als Open Source-Projekt betrieben. Der Quellcode[1] und die fertig compilierte Software[2] sind unter GNU GPL-Bedingungen verfügbar. Diese Software erweitert den Funktionsumfang der digitalen Kamera erheblich. Die wichtigste Eigenschaft von CHDK ist, dass die Firmware der Kamera unangetastet bleibt. Die originale Firmware wird weder ersetzt noch verändert.
Inhaltsverzeichnis
Entwicklungsgeschichte
In der zweiten Hälfte 2006 begann die CHDK-Geschichte. Der Programmierer VitalyB konnte ein offizielles Ixus-Firmware-Update soweit analysieren, dass er die Update-Prozedur verstand. Mit diesem Wissen schrieb er ein Programm zum Auslesen der Firmware. Dazu wurden die Daten an eine der Kamera-LEDs geschickt und per optische Kopplung ausgelesen.
Mit den Erkenntnissen aus der Auswertung der Daten wurde ein Programm geschrieben, das 10-Bit-RAW-Dateien der PowerShot A610 speichern konnte. Es erhielt den Namen RAW-Enabler.
Im nächsten Entwicklungsschritt erfolgte die Integration eines Interpreters für den BASIC-Dialekt uBasic. Damit waren einfache Skripte zur Steuerung der Kamera möglich.
Die Kamera-Modelle PowerShot A620, A630 und A710 wurden in das Projekt einbezogen. Als neue Funktionen kamen eine Histogramm-Anzeige, erste Möglichkeiten für Belichtungsreihen, OSD-Anzeigen und ein Layout-Editor zur Positionierung der OSD-Elemente hinzu.
Ab Anfang 2007 fügte der Programmierer GrAnd[3] die Anzeige diverser Kamera-Werte, Über- und Unterbelichtung im Histogramm, einen DOF-Rechner, eine Batterie-Anzeige, einen Datei-Browser, einen Text-Anzeiger, die Organisation der RAW-Speicherung sowie eine Autostart-Funktion hinzu und nannte das Projekt CHDK.
Im September 2007 entwickelte der Programmierer MX3 eine Bewegungserkennung für den Firmware-Aufsatz. Ein weiterer Programmierer, Fingalo, erweiterte uBasic wesentlich durch eine Vielzahl von Kamera-spezifischen Befehlen. Die nächsten acht Kameramodelle konnten CHDK nutzen. Lange Belichtungszeiten und Belichtungsreihen im Serienmodus folgten als neue Funktionen.
Erstmalig gelang es, DIGIC-III-Kameras mit VxWorks- und DRYOS-Betriebssystem erfolgreich anzupassen. USB-Fernbedienmöglichkeiten entstanden.
Anfang 2008 gingen ein Vielzahl neuer Funktionen in der Version ALLBEST auf. Mitte 2008 entwickelte sich die Experimental-Version Juciphox mit einer ganzen Reihe an neuen Funktionen, u.a. die Skriptsprache Lua, zum Standard, so wie wir CHDK heute kennen. Die letzte wichtige Neuerung war der kamerainterne DNG-Support.
Im Laufe der Zeit bildete sich eine große Gemeinschaft heraus, die die Weiterentwicklung von CHDK gemeinsam betreibt. Gegenwärtig werden mehr als 75 Kamera-Modelle der Ixus- und PowerShot-Serien unterstützt.
Arbeitsweise
Die notwendigen Binär-Daten werden auf die in der Kamera benutzen Speicherkarte kopiert. Zum Start von CHDK ruft man die Firmware-Update-Funktion im Kamera-Menü auf, um die Daten in den Arbeitsspeicher der Kamera zu laden. Per Kamera-Taste kann nun ein zusätzliches Konfigurationsmenü aufgerufen werden, in dem sämtliche Einstellungen von CHDK organisiert werden. Wird die Update-Funktion nicht ausgeführt, arbeitet die Kamera ganz normal ohne CHDK.
Bei Bedarf kann CHDK bei Einschalten der Kamera auch automatisch gestartet werden. Dazu macht man die Speicherkarte bootfähig und setzt den Schreibschutzschalter auf "Schreibschutz".
Funktionsüberblick
CHDK bietet sehr viele Funktionen an. Diese können hier nur als Überblick zusammengefasst werden.
- Aufnahme von RAW/DNG-Bildern.
- Schnelle Belichtungsreihen mit frei einstellbaren Belichtungswerten.
- Manuell einstellbare Belichtungszeit von 1/100000 s bis 65 s (Bei einigen Kameras ist die max. Belichtungszeit unbegrenzt.)
- Manuell einstellbare Fokusdistanz
- Manuell einstellbare Blendenwerte/ND-Filter-Stellung (in Abhängigkeit von der Kamera-Hardware)
- Manuell bestimmbare ISO-Werte (Ober- und Untergrenze ist abhängig von der Hardware.)
- Einstellbare Auto-ISO-Werte für unterschiedliche Aufgaben
- Erweiterte einstellbare Belichtungskorrektur (Ev)
- Viele weitere Zusatzinformationen und Einstellungen für den ambitionierten Fotografen (z.B. Schärfentiefe-Rechner, Einstellung der hyperfokalen Entfernung)
- Mehrfachbelichtung und Weiterverarbeitung zu einem Bild in der Kamera.
- Erweiterte Video-Funktionen (Zoomen und Fokussieren während der Aufnahme)
- Stufenlos einstellbare Videoqualität für die Videoaufnahme
- Tonwertkurven können direkt in der Kamera eingerechnet werden.
- Konturenüberlagerungen als Hilfsmittel für Trickaufnahmen
- Fernauslösung mit Hilfe einer Fernbedienung (Selbstbau)
- Erweiterte Funktionen durch Skripte (uBasic und Lua)
- Belichtungsreihen für HDR
- Zeitintervall-Aufnahmen für Zeitraffer
- automatisches Focus stacking
- Kamera löst aus, wenn Bewegung im Bild erkannt wird.
- Zeitgesteuerte Abläufe
- Virtuelle Kameramodi und Funktionen, die die Kamera nativ nicht unterstützt (z.B. Tv-Modus für Kameras ohne diesen Modus).
- Fernbedienung-gesteuerte Abläufe (Selbstbau-Fernbedienung für USB-Anschluss der Kamera)
- Dateimanagement, Logdateien erstellen, zusätzliche Informationen in Exif-Daten schreiben
- Autostart für Skripte, ermöglicht bestimmte persönliche Voreinstellungen beim Einschalten der Kamera.
- Live-Histogramm mit gesonderter Einstellung für RGB und Luminanz.
- Markiert Flächen ohne Bildinformationen (Zebra-Modus, Anzeige von Über- und Unterbelichtung).
- Anzeige der aktuellen Kapazität von Akku und Speicherkarte.
- Anzeige von Uhrzeit und Kameratemperatur.
- Anzeige eigener Gitternetze zur besseren Orientierung auf dem LCD.
- Kleine Zusatztools, wie zum Beispiel Kalender, Textbetrachter, Datei-Browser und Spiele
- Alle Funktionen sind über ein einheitliches Menü einstellbar.
- Persönliches Benutzermenü zur Zusammenfassung der wichtigsten Funktionen.
- Persönliche Einstellungen für CHDK-OSD-Elemente (Farbe, Position) und das CHDK-Menü (Farbe, Zeichensatz).
- Tastaturkürzel zur schnellen Bedienbarkeit der wichtigsten CHDK-Funktionen über die Bedientasten der Kamera.
Was kann CHDK nicht?
CHDK überschreitet die physikalischen Grenzen der Kamera nicht. Es sind, mit Ausnahme von Rohdaten, keine anderen als von der Kamera vorgegebenen Bild- und Video-Formate möglich. CHDK eignet sich nicht als Abspielprogramm für diverse Multimedia-Formate wie z.B. MP3.
Varianten
Neben der allgemeinen internationalen CHDK-Version gibt es weitere Varianten.
Speziell für den deutschen Sprachraum wurde eine Version entwickelt, die alle Voreinstellungen für eine deutsche Benutzerführung sowie einen erweiterten Umfang von Skript-Befehlen beinhaltet. Die deutsche CHDK-Nutzergemeinschaft hat sich besonders auf die Anwendung von Skripten spezialisiert.
Eine weitere sehr beliebte Variante nennt sich SDM, Stereo Data Maker. Hier geht es vorrangig um die Erstellung von Stereo-Bildern. SDM unterstützt dabei die Synchronisation mehrerer Kameras, beinhaltet aber auch die wesentlichen CHDK-Funktionen.
Es gibt diverse Ansätze, digitale Spiegelreflexkameras der Canon EOS-Reihe mit zusätzlichen Funktionen auszustatten. Diese Entwicklungen unterscheiden sich deutlich vom CHDK für digitale Kompaktkameras.
Weblinks
- http://chdk.wikia.com - Internationales CHDK-Wiki
- http://chdk.wikia.com/wiki/German - Deutscher Bereich der CHDK-Wiki
- http://www.chdk-treff.de - Weiterführende deutschsprachige Informationen
- http://chdk.bplaced.net - Beschreibung einzelner CHDK-Funktionen
- http://www.assembla.com/spaces/chdkde/trac_subversion_tool - CHDK-Quellcode-Repositorium
- http://chdk.setepontos.com/index.php - Internationale Informationsseite
- http://hacki.someserver.de - Autobuildserver für CHDK-Binärdateien (englisch)
- http://forum.chdk-treff.de/download.php - Downloadbereich für CHDK-DE
- http://stereo.jpn.org/eng/sdm/index.htm - Internationale Informationsseite der SDM-Version
Einzelnachweise
Wikimedia Foundation.