FireWire-Kamera
# FireWire-Kamera

FireWire-Kameras nutzen den Bus-Standard IEEE 1394 zur Übertragung von Audio-, Video- und Steuerungsdaten. FireWire ist Apples Markenname für den Standard IEEE 1394.
FireWire-Kameras gibt es in Form von Fotokameras und Videokameras, die Bild- und Audiodaten liefern. Eine spezielle Form von Videokameras wird in Bereichen wie Industrie, Medizin, Astronomie, Mikroskopie und Wissenschaft genutzt. Diese Spezialkameras liefern keine Audiodaten.

## Aufbau

Der grundlegende Aufbau von FireWire-Kameras basiert auf folgenden sechs Modulen:

### Optik

FireWire-Kameras basieren auf CCD- bzw. CMOS-Chips. Deren lichtempfindliche Fläche sowie die einzelnen Pixel sind klein. Bei Kameras mit integrierter Optik kann man davon ausgehen, dass die Optik auf diese Chips abgestimmt ist.
Gerade im Bereich der professionellen und semiprofessionellen Fotografie sowie dem Bereich der Spezialkameras werden häufig Wechseloptiken benutzt. In diesen Fällen muss also ein Systemspezialist Optik, Chip und Anwendung aufeinander abstimmen (siehe Systemintegration). Bei den Wechseloptiken handelt es sich neben normalen Objektiven auch um Mikroskope, Endoskope, Teleskope etc. Mit Ausnahme der Standards C-Mount und CS-Mount sind die Anschlüsse von Wechseloptiken firmenspezifisch.

### Signalaufnahme

Da die Funktion von FireWire-Kameras auf elektrischen Signalen beruht, wandelt das Modul „Signalaufnahme“ das einfallende Licht sowie den einfallenden Schall in Elektronen. Im Fall des Lichts übernimmt diese Aufgabe ein CCD- oder CMOS-Chip. Die Wandlung des Schalls ist Aufgabe eines Mikrofons.

### Digitalisierung

Der erste Schritt der Digitalisierung des Bildes ergibt sich bereits durch den Aufbau der CCD- und CMOS-Chips. Sie zerlegen das Bild in Pixel. Hat ein Pixel viele Photonen eingesammelt, erzeugt es eine hohe Spannung, waren es nur wenige Photon, ist die Spannung niedrig. Dabei hat die Spannung analoge Werte. Daher wandelt ihn im zweiten Schritt der Digitalisierung ein A/D-Wandler in einen digitalen Wert. Damit steht das rohe, digitale Bild zur Verfügung.
Das Mikrofon wandelt Schall in Spannungen. Ein A/D-Wandler wandelt diese analogen Werte in digitale.

### Signalaufbereitung

Zur Erzeugung der Farben befindet sich vor dem CCD- bzw. CMOS-Chip ein Farbfilter. Es ist von Pixel zu Pixel wechselnd rot, grün oder blau. Der Filter heißt daher Mosaik-Filter oder nach seinem Erfinder Bayer-Sensor. Aus diesem rohen digitalen Bild erzeugt das Modul „Signalaufbereitung“ ein Bild, das ästhetischen Ansprüchen genügt. Das Gleiche gilt für die Audiodaten.
Abschließend komprimiert das Modul die Bild- und Audiodaten und stellt sie bei Videokameras als DV-Datenstrom zur Verfügung. Im Fall von Fotokameras stellt es die einzelnen Bilder und evtl. vorhandene Sprachkommentare als Dateien zur Verfügung.
Die Anwendungsbereiche Industrie, Medizin, Astronomie, Mikroskopie und Wissenschaft nutzen häufig monochrome Spezialkameras ohne Mikrofon. Sie verzichten auf jegliche Signalaufbereitung, geben also das rohe digitale Bild aus.
Bestimmte Varianten von Farbkameras geben ebenfalls nur das rohe digitale Bild aus. Man nennt sie ColorRAW- oder Bayer-Kamera. Sie kommen häufig in Industrie, Medizin, Astronomie, Mikroskopie und Wissenschaft zum Einsatz. Als Fotokamera werden sie von professionellen Fotografen verwendet. Semiprofessionelle Fotokameras bieten zumeist einen RAW-Modus als Option.
Die Aufbereitung der rohen digitalen Bilder findet außerhalb der Kamera auf einem Rechner statt und kann daher vom Anwender an die jeweilige Aufgabenstellung angepasst werden.

### Schnittstelle

Die ersten drei Module sind Bestandteile jeder digitalen Kamera. Die Schnittstelle ist das die FireWire-Kamera charakterisierende Modul. Sie beruht auf dem Standard IEEE 1394 der Organisation „Institute of Electrical and Electronics Engineers“. Dieser Standard beschreibt einen Bus
* zur Übertragung von zeitkritischen Daten wie z. B. Videos sowie
* zur Übertragung von Daten, deren Integrität im Vordergrund steht (z. B. Parameter oder Dateien).
Er erlaubt den gleichzeitigen Betrieb von bis zu 63 unterschiedlichen Geräten (Kameras, Scanner, Videorekorder, Festplatten, DVD-Brenner usw.).
Andere Standards beschreiben das Verhalten dieser Geräte. Man nennt sie Protokoll. FireWire-Kameras nutzen zumeist eines der folgenden Protokolle:

#### AV/C

    AV/C steht für „Audio Video Control“ und definiert das Verhalten von DV-Geräten wie z. B. Videokameras und Videorekordern. Es ist ein Standard der 1394 Trade Association. Verantwortlich ist die Audio/Video Working Group.

#### DCAM

    DCAM steht für „1394-based Digital Camera Specification“ und definiert das Verhalten von Kameras, die unkomprimierte Bilddaten ohne Audioanteil ausgeben. Es ist ein Standard der 1394 Trade Association. Verantwortlich ist die IIDC (Instrumentation and Industrial Control Working Group).

#### IIDC

    IIDC wird häufig synonym mit DCAM benutzt.

#### SBP-2

    SBP-2 steht für „Serial Bus Protocol“ und definiert das Verhalten von Massenspeichern wie z. B. Festplatten. Es ist ein ANSI-Standard. Verantwortlich ist das NCITS (National Committee for Information Technology Standardization).
Geräte, die das gleiche Protokoll nutzen, können direkt miteinander kommunizieren. Ein typisches Beispiel ist der Anschluss einer Videokamera an einen Videorekorder. Anders als beim USB-Bus ist also ein übergeordneter Rechner nicht notwendig. Kommt ein Rechner zum Einsatz, muss er kompatibel zu den Protokollen derjenigen Geräte sein, mit denen er kommunizieren soll (siehe Datenaustausch mit Rechnern).

### Steuerung

Die Steuerung stimmt das Zusammenspiel der einzelnen Module aufeinander ab. Der Nutzer kann Einfluss auf die Steuerung nehmen über
* Schalter direkt an der Kamera,
* den FireWire-Bus mittels einer Anwendungssoftware oder
* Mischformen der ersten beiden Fälle

## Fotokameras

Professionelle und semiprofessionelle Fotokameras und insbesondere digitale Kamerarückwände bieten häufig FireWire-Schnittstellen zum Transfer der Bilddateien und zur Steuerung der Kamera.
Für den Transfer von Bilddateien kommt das Protokoll SBP-2 zum Einsatz. In diesem Modus verhält sich die Kamera wie eine externe Festplatte und ermöglicht somit einen einfachen Austausch von Bilddateien mit einem Rechner (siehe Datenaustausch mit Rechnern).
Zur Steigerung der Arbeitseffizienz im Fotostudio sind Fotokameras bzw. Kamerarückwände zusätzlich über den FireWire-Bus steuerbar. Für gewöhnlich veröffentlichen die Kamerahersteller die in diesem Modus verwendeten Protokolle nicht. Daher erfordert die Kamerasteuerung eine spezielle Software des Kameraherstellers, die zumeist für Macintosh- und Windows-Rechner verfügbar ist.

## Videokameras

Während der FireWire-Bus nur bei höherwertigen Fotokameras verbreitet ist, findet man ihn im Bereich der Videokameras bereits bei Amateurgeräten. Videokameras beruhen überwiegend auf dem Protokoll AV/C. Es definiert sowohl den Fluss der Audio- und Videodaten als auch die Steuerung der Kamera.
Die Mehrzahl der Videokameras erlaubt nur die Ausgabe der Audio- und Videodaten über den FireWire-Bus (DVout). Einige Videokameras bieten zusätzlich die Aufnahme von Audio- und Videodaten (DVout/DVin). Videokameras tauschen ihre Daten mit Videorekordern und/oder Rechnern aus.

## Spezialkameras

In den Bereichen Industrie, Medizin, Astronomie, Mikroskopie und Wissenschaft kommen häufig FireWire-Kameras zum Einsatz, die nicht ästhetischen, sondern analytischen Zwecken dienen. Sie geben unkomprimierte Bilddaten ohne Audioanteil aus. Diese Kameras beruhen entweder auf dem Standardprotokoll DCAM (IIDC) oder auf firmenspezifischen Protokollen.
Aufgrund ihres Einsatzgebietes unterscheiden sich die Spezialkameras in einigen Punkten deutlich von Foto- und Videokameras:
* Die Gehäuse sind klein, meist vollständig aus Metall und folgen nicht ästhetischen, sondern funktionellen Gestaltungskriterien.
* Die Mehrzahl von Spezialkameras bietet keine eingebauten Objektive, sondern einen standardisierten Objektivanschluss namens C-Mount oder CS-Mount. Auf diesem Standard beruhen nicht nur viele Objektive, sondern auch Mikroskope, Teleskope, Endoskope und andere optische Geräte.
* Daraus ergibt sich, dass Aufnahmehilfen wie Autofokus oder Bildstabilisierung nicht verfügbar sind.
* Spezialkameras nutzen häufig monochrome CCD- oder CMOS-Chips.
* Spezialkameras verzichten häufig auf Infrarotsperrfilter und optische Tiefpässe, um das Bild möglichst wenig zu beeinflussen.
* Spezialkameras liefern Bilddatenströme und Einzelbilder, deren Aufnahme durch ein externes Triggersignal ausgelöst wird. Auf diese Weise lassen sich diese Kameras einfach in industrielle Prozesse einbinden.
* Massenspeicher sind nicht vorhanden, da die Bilder zeitnah im an die Kamera angeschlossenen Rechner ausgewertet werden müssen.
* Die große Mehrzahl von Spezialkameras wird über die Anwendungssoftware eines Rechner gesteuert. Sie verfügen daher nicht über externe Schalter.
* Die Anwendungssoftware ist nur in Ausnahmefällen von der Stange verfügbar. Sie muss zumeist an die jeweilige Aufgabe angepasst werden. Die Hersteller bieten daher auf ihre Kameras zugeschnittene Programmierwerkzeuge an. Sofern eine Kamera das Standard-Protokoll DCAM (IIDC) nutzt, kann man sie auch mit Software von Drittanbietern betreiben. Viele Industrierechner und eingebetteten Systemen sind kompatibel zum Protokoll DCAM (IIDC) (siehe auch Datenaustausch mit Rechnern).
Spezialkameras an sich sind also im Vergleich zu Foto- oder Videokameras einfacher aufgebaut. Eine isolierte Nutzung dieser Kameras ist allerdings sinnlos. Sie sind, wie andere Sensoren auch, lediglich Komponenten eines größeren Systems (siehe Systemintegration).

## Datenaustausch mit Rechnern

FireWire-Kameras können mit jedem anderen FireWire-Gerät Daten austauschen, sofern beide Geräte dasselbe Protokoll nutzen (siehe Schnittstelle). Abhängig von der jeweiligen Kamera sind diese Daten
* Bild- und Audiodateien (Protokoll: SBP-2),
* Bild- und Audiodatenströme (Protokoll: AV/C oder DCAM (IIDC)) und
* Parameter zur Steuerung der Kamera (Protokoll: AV/C oder DCAM (IIDC))
Soll die FireWire-Kamera mit einem Rechner kommunizieren, so muss dieser über eine FireWire-Schnittstelle verfügen und das Protokoll der Kamera beherrschen. Die Anfangszeit der FireWire-Kameras wurde von firmenspezifischen Lösungen dominiert. Einige Spezialisten boten Schnittstellenkarten und Treiber an, auf die die Anwendungssoftware direkt zugriff. Bei diesem Ansatz ist die Anwendungssoftware verantwortlich für das Protokoll. Da diese Lösung die Rechnerressourcen sehr effizient nutzen kann, trifft man sie in speziellen industriellen Projekten auch heute noch an. Diese Vorgehensweise führt allerdings häufig dazu, dass keine anderen FireWire-Geräte wie z. B. Festplatten verwendet werden können. Offene Systeme vermeiden diesen Nachteil.
Offene Systeme beruhen auf einem Schichtenmodell. Das Verhalten der einzelnen Schichten (Schnittstellenkarten, Low-level-Treiber, High-level-Treiber und API) folgt den Vorgaben des jeweiligen Betriebssystemherstellers. Anwendungssoftware darf nur auf die APIs des Betriebssystems, niemals aber auf irgendeine Schicht darunter zugreifen. Im Kontext von FireWire-Kameras ist der High-level-Treiber für das Protokoll verantwortlich. Der Low-level-Treiber und die Schnittstellenkarten setzen die Vorgaben des Standards IEEE 1394 um. Der Vorteil dieser Strategie ist die einfache und von der Hardware und ihren Herstellern unabhängige Realisierung der Anwendungssoftware.
Insbesondere in den Bereichen Fotokameras und Spezialkameras findet man Mischformen zwischen offenen und firmenspezifischen Systemen. Typischerweise folgen in diesen Fällen die Schnittstellenkarten und die Low-level-Treiber dem Standard, während die darüber liegenden Schichten firmenspezifisch sind.
Das wesentliche Kennzeichen von offenen Systemen ist, nicht die APIs der Hardwarehersteller, sondern diejenigen des Betriebssystems zu nutzen. Für Apple und Microsoft hat die Thematik Bild und Ton einen hohen Stellenwert. Entsprechend bekannt sind ihre APIs QuickTime und DirectX. Sie sind in der öffentlichen Wahrnehmung allerdings auf die Wiedergabe von Audio und Video reduziert. Tatsächlich sind es mächtige APIs, die auch für die Bildakquisition zuständig sind.
Unter Linux heißt diese API video4linux. Da sie weniger mächtig als QuickTime und DirectX ist, haben sich parallel zu video4linux weitere APIs entwickelt:

### Fotokameras

    Für Fotokameras steht die Linux-Infrastruktur für Massenspeicher zur Verfügung. Ein typisches Anwendungsprogramm ist digiKam.

### Videokameras

    Videokameras werden über verschiedene APIs bedient. Stellvertretend wird im Bild rechts der Zugriff des Schnittprogramms Kino auf die API libavc1394 gezeigt. Kino greift auf weitere APIs zu, die im Bild aus Gründen der Übersichtlichkeit nicht gezeigt sind.

### Spezialkameras

    Die wichtigste API für Spezialkameras ist libdc1394. Das Bild rechts zeigt den Zugriff der Anwendungssoftware Coriander auf diese API. Coriander steuert FireWire-Kameras, die auf dem Protokoll DCAM (IIDC) basieren und akquiriert deren Bilder.
Um die Verwendung von video4linux und der dedizierten APIs zu vereinfachen, wurde die Meta-API unicap entwickelt. Sie verdeckt deren Einzelheiten mit Hilfe eines einfachen Programmiermodells.

## Systemintegration

FireWire-Kameras sind häufig nur Rädchen eines größeren Systems. Ein Systemspezialist nutzt zusätzlich verschiedene andere Komponenten zur Lösung einer bestimmten Aufgabe. Dabei gibt es zwei grundlegende Vorgehensweisen:
* Die Aufgabenstellung ist für eine Gruppe von Anwendern von Interesse. Typisches Kennzeichen für diese Situation ist die Verfügbarkeit von Anwendungssoftware von der Stange. Ein Beispiel ist die Studiofotografie.
* Die Aufgabenstellung ist nur für eine bestimmte Anwendung interessant. In diesen Fällen ist typischerweise keine Anwendersoftware von der Stange verfügbar und muss daher vom Systemspezialisten geschrieben werden. Ein Beispiel ist die Vermessung von Stahlplatten.
Viele Aspekte der Systemintegration sind unabhängig vom Einsatz einer FireWire-Kamera. Dieses betrifft insbesondere den hohen Einfluss der Beleuchtung auf das Ergebnis, sei es ein ästhetisch oder analytisch orientiertes.
Bei der Erstellung von Anwendungssoftware gibt es allerdings eine FireWire-typische Besonderheit, nämlich die Verfügbarkeit standardisierter Protokolle wie AV/C, DCAM, IIDC und SBP-2 (siehe auch Datenaustausch mit Rechnern). Diese Protokolle nutzend, schreibt man die Software unabhängig von einer bestimmten Kamera eines bestimmten Herstellers.
Überlässt man die Realisierung des Protokolls dem Betriebssystem und setzt seine Software ausschließlich auf die APIs dieses Betriebssystems auf, ist die Hardware-Unabhängigkeit maximal. Nutzt z. B. unter Linux eine Applikationssoftware die API libdc1394 (siehe Datenaustausch mit Rechnern), kann sie auf sämtliche FireWire-Kameras zugreifen, die das Protokoll DCAM (IIDC) verwenden. Die Nutzung der API unicap ermöglicht zusätzlich den Zugriff auf andere Bildquellen wie z. B. Frame Grabber.