# Telecamera FireWire

Le Telecamere FireWire utilizzano lo standard di bus IEEE 1394 per la trasmissione di dati audio e video e dei dati di controllo. FireWire è il marchio registrato di Apple per lo standard IEEE 1394.
Le telecamere FireWire sono disponibili in forma di fotocamere, videocamere e telecamere e sono in grado di trasmettere dati d'immagini e dati audio. Particolari telecamere vengono usate nei settori dell'industria, della medicina, dell'astronomia, della microscopia e della scienza. Queste telecamere non sono in grado di trasmettere dati audio.

## Struttura

La struttura fondamentale delle telecamere FireWire è basata sui seguenti sei moduli:

### Ottica

Le telecamere FireWire sono basate sui chip CCD o CMOS. La loro area fotosensibile e anche i singoli pixel sono molto piccoli. Per quanto riguarda le telecamere con un'ottica integrata consideriamo per certo che l'ottica è adatta a questi chip.
Specialmente nel settore della fotografia professionale e semiprofessionale, ma anche nel settore delle telecamere speciali, si usano spesso delle ottiche intercambiabili. In questi casi uno specialista di sistema dovrà armonizzare l'uno con l'altro, l'ottica, il chip e l'applicazione (vedi Integrazione di sistema). Le ottiche intercambiabili possono essere obiettivi normali ma anche microscopi, endoscopi, telescopi, ecc. Ad eccezione degli attacchi standard C e CS, gli attacchi delle ottiche intercambiabili sono proprietari.

### Ricezione del segnale

Siccome le funzioni delle telecamere FireWire si basano sui segnali elettrici, il modulo "rivelamento del segnale" trasforma in elettroni sia la luce incidente che il suono incidente. Nel caso della luce questa trasformazione viene eseguita da un chip CCD o CMOS. Per quanto riguarda il suono, la trasformazione avverrà tramite un microfono.

### Digitalizzazione

La prima fase della digitalizzazione dell'immagine risulterà dalla ricostruzione fatta dai chip di CCD e CMOS. Scompongono l'immagine in pixel. Se un pixel accumula tanti fotoni, allora si creerà un'alta tensione. Se si tratta invece di pochi fotoni, la tensione rimarrà bassa. La "tensione" è un valore analogico. Per questo, nella seconda fase della digitalizzazione, un convertitore A/D la trasformerà in un valore digitale. Adesso l'immagine digitale grezza è disponibile.
Per il suono sarà il microfono a trasformarlo in tensione. Un convertitore A/D trasformerà poi i valori analogici in digitali.

### Trattamento del segnale

Per rappresentare i colori esiste un filtro colorato posto prima del chip di CCD o CMOS. A seconda del pixel cambia colore, diventa rosso, verde o blu. Per questo il filtro si chiama filtro a mosaico o, secondo il nome del suo inventore, filtro Bayer. Partendo da quest'immagine digitale grezza, il modulo "trattamento del segnale" crea un'immagine che soddisfa le esigenze estetiche. Lo stesso vale per i dati audio.
Infine il modulo comprime i dati d'immagini e quelli audio, mettendoli a disposizione, nel caso di una videocamera, come flusso di dati DV . Nel caso di una fotocamera mette invece a disposizione le singoli immagini e, se disponibile, commenti verbali in forma di file.
I settori dell'industria, della medicina, dell'astronomia, della microscopia e della scienza usano spesso delle telecamere speciali monocromatiche senza microfono. Si riceverà quindi l'immagine digitale grezza, rinunciando a qualsiasi segnale sonoro.
Anche certe versioni di telecamere a colori consegnano solo l'immagine digitale grezza. Si chiamano telecamere "ColorRAW" o telecamera "Bayer". Queste varianti esistono anche in forma di fotocamere usate dai fotografi professionali. Le fotocamere semiprofessionali offrono in gran parte il modo RAW come opzione.
Il trattamento delle immagini digitali grezze avviene sul computer, fuori dalla telecamera. Possono essere perciò trattate secondo le esigenze del momento.

### Interfaccia

I primi tre moduli fanno parte di ogni telecamera e fotocamera digitale. L'interfaccia è il modulo che caratterizza una telecamera o fotocamera FireWire. È basata sullo standard IEEE 1394 dell'organizzazione Institute of Electrical and Electronics Engineers. Questo standard definisce un bus:
* per trasmettere dati che devono scorrere in tempo reale, come per esempio i video
* per trasmettere dati la cui integrità è il fattore principale, come per esempio dei parametri o dei file.
Inoltre permette l'uso simultaneo fino a 63 dispositivi differenti (telecamere, fotocamere, scanner, videoregistratori, dischi fissi, dispositivi DVD, etc.).
Altri standard descrivono invece il comportamento di questi dispositivi. Si chiamano protocolli. Le telecamere e fotocamere FireWire usano in gran parte uno dei protocolli seguenti:

#### AV/C

    AV/C sta per "Audio Video Control" e definisce il comportamento dei dispositivi DV, come per esempio videocamere e videoregistratori. È uno standard della "1394 Trade Association". L'Audio/Video Working Group che lo ha creato, è garante per questo standard.

#### DCAM

    DCAM sta per "1394-based Digital Camera Specification" e definisce il comportamento delle telecamere che trasmettono dati d'immagini senza compressione e senza audio. È uno standard della "1394 Trade Association". Il IIDC (Instrumentation and Industrial Control Working Group) che lo ha creato, è garante per questo standard.

#### IIDC

    IIDC viene spesso usato come sinonimo di DCAM.

#### SBP-2

    SBP-2 sta per "Serial Bus Protocol" e definisce il comportamento delle memorie di massa, come per esempio i dischi fissi. È uno standard ANSI. Il NCITS (National Committee for Information Technology Standardization) che lo ha creato, è garante per questo standard.
I dispositivi che usano lo stesso protocollo possono comunicare direttamente l'uno con l'altro. Un tipico esempio è il collegamento di una videocamera a un videoregistratore. Quindi al contrario del bus USB, non è necessario usare un computer per gestire i dispositivi FireWire. Se si utilizza comunque un computer, questo dovrà essere compatibile con i protocolli dei dispositivi con i quali si vuole comunicare (vedi Integrazione di sistema).

### Controllo

Il modulo "controllo" definisce l'interazione tra i singoli moduli. L'utente può influenzare il controllo tramite:
* gli interruttori della telecamera,
* il bus FireWire con un software applicativo
* forme miste dei primi due casi.

## Fotocamere

Le fotocamere professionali e semiprofessionali e specialmente i dorsi digitali offrono spesso delle interfacce FireWire per trasferire i dati d'immagini e per il controllo della fotocamera.
Per il trasferimento dei dati d'immagini viene impiegato il protocollo SBP-2. In questo modo la fotocamera si comporta come un Hard disk esterno e rende possibile un semplice scambio di file d'immagini con un computer (vedi Scambio di dati tramite computer).
Per aumentare l'efficienza del lavoro in uno studio fotografico, le fotocamere o i dorsi digitali sono controllabili tramite il bus FireWire. Di solito però i produttori delle fotocamere non pubblicano i protocolli usati per il controllo. Per questo è possibile controllare una fotocamera solo con il software speciale del produttore della fotocamera. Questi software sono in gran parte disponibili per i computer Macintosh e Windows.

## Videocamere

Il bus FireWire è diffuso nelle fotocamere d'alta qualità, mentre nelle videocamere lo troviamo anche nei modelli per i principianti. Le videocamere sono basate in gran parte sul protocollo AV/C). Definisce sia il flusso di dati audio e video, sia il controllo della videocamera.
La maggior parte delle videocamere permette, tramite il bus FireWire ("DVout"), solo l'uscita dei dati audio e video. Alcune videocamere però ne permettono anche la registrazione ("DVout/DVin"). Le videocamere scambiano i dati con i videoregistratori e/o i computer.

## Telecamere speciali

Nei settori dell'industria, della medicina, dell'astronomia, della microscopia e della scienza, vengono impiegate spesso delle telecamere FireWire che non servono a scopi estetici ma a scopi analitici. Trasmettono dati d'immagini senza compressione e senza audio. Queste telecamere sono basate sia sul protocollo standard DCAM, (IIDC) che sui protocolli proprietari.
A causa del loro campo di applicazione, le telecamere speciali si distinguono considerevolmente dalle fotocamere e dalle videocamere nei seguenti punti:
* I contenitori sono piccoli, in gran parte di metallo e non seguono dei principi estetici ma solo funzionali.
* La maggior parte delle telecamere speciali non offre degli obiettivi integrati ma un attacco obiettivo standardizzato, che si chiama "attacco C" o "attacco CS". Questo standard non è solo la base per tanti obiettivi ma anche per microscopi, endoscopi, telescopi ed altri dispositivi ottici.
* Non esistono aiuti di ripresa come l'autofocus o lo stabilizzatore d'immagine.
* Le telecamere speciali usano spesso i chip CCD o CMOS monocromatici.
* Le telecamere speciali rinunciano spesso all'uso di filtri taglia IR e di filtri ottici passo-basso, per influenzare il meno possibile l'immagine.
* Le telecamere speciali consegnano flussi di dati d'immagini e singole immagini, le cui riprese scattano tramite un segnale trigger esterno. Per questo è semplice integrare queste telecamere in un processo industriale.
* Non presentano delle memorie di massa, perché le immagini devono essere analizzate più o meno immediatamente al computer collegato alla telecamera.
* La stragrande maggioranza delle telecamere speciali viene controllata tramite il software applicativo di un computer. Per questo non hanno degli interruttori esterni.
* Normalmente un software applicativo prefabbricato non è disponibile. Per lo più dovranno essere adattati all'applicazione specifica. Per questo i produttori offrono degli strumenti di programmazione fatti su misura per le loro telecamere. Se una telecamera usa il protocollo standard DCAM (IIDC), si potrà anche usarla con il software di altri produttori. Molti computer industriali e sistemi embedded sono compatibili con il protocollo DCAM (IIDC) (vedi Scambio di dati con il computer).
Se ne deduce quindi che le telecamere speciali sono costruite in modo più semplice rispetto alle fotocamere e videocamere. Ma l'uso isolato di queste telecamere è inutile. Sono, come altri sensori, solo componenti di un sistema più complesso (vedi Integrazione di sistema).

## Scambio di dati tramite computer

Le fotocamere, videocamere e telecamere FireWire possono scambiare dati con ogni altro dispositivo FireWire, sempreché entrambi i dispositivi usino lo stesso protocollo (vedi Interfaccia). I dati che possono essere scambiati sono i seguenti:
* dati d'immagini e audio (protocollo: SBP-2),
* flussi di dati d'immagini e audio (protocollo: AV/C o DCAM (IIDC))
* parametri per la regolazione della fotocamera, videocamera o telecamera (protocollo: AV/C o DCAM (IIDC))
Se la fotocamera, videocamera o telecamera FireWire dovesse comunicare con un computer, questo computer deve mettere a disposizione un'interfaccia FireWire e usare il protocollo della fotocamera, videocamera o telecamera. Una volta, sistemi del genere, erano dominati dalle risoluzioni proprietarie. Alcuni specialisti offrivano delle schede interfaccia e dei driver, ai quali accedeva direttamente il software applicativo. In questo modo il software applicativo era responsabile del protocollo. Siccome questa soluzione usa le risorse computazionali in modo molto efficiente, la si trova ancora oggi nel contesto di speciali progetti industriali. Ma questo modo di procedere porta spesso a problemi di collegamento con altri dispositivi FireWire, come per esempio i dischi duri. I sistemi aperti non presentano questo inconveniente.
I sistemi aperti sono basati sul modello a strati. Il comportamento dei singoli livelli (scheda interfaccia, driver a basso livello, driver ad alto livello ed API) segue le direttive dei produttori dei sistemi operativi. Il software applicativo deve accedere esclusivamente alle API del sistema operativo, ma non deve mai accedere ad un qualsiasi livello sotto l'API. Per quanto riguarda le telecamere FireWire, il driver ad alto livello è responsabile del protocollo. Il driver a basso livello e la scheda interfaccia mettono in pratica le direttive dello standard IEEE 1394. Il vantaggio di questo metodo è che la realizzazione del software applicativo è semplice e indipendente dall'hardware ed i suoi produttori.
Specialmente nei settori delle fotocamere e telecamere speciali si trovano delle forme miste di sistemi aperti e proprietari. È tipico per questi casi che le schede interfaccia ed i driver a basso livello seguano lo standard, mentre i livelli superiori siano proprietari.
Quello che contraddistingue i sistemi aperti è l'utilizzo delle API dei sistemi operativi e non quelle dei produttori dell'hardware. Per la Apple e la Microsoft l'argomento "immagine e suono" ha una grande importanza. Per questo le API QuickTime e DirectX sono molto conosciute. Per un pubblico normale queste API sono tuttavia ridotte alla rappresentazione audio e video. In realtà si tratta effettivamente di API molto potenti responsabili anche dell'acquisizione d'immagini.
Sotto Linux questa API si chiama video4linux. Siccome è meno potente rispetto all'API QuickTime o DirectX, contemporaneamente a video4linux sono state sviluppate altre API:

### Fotocamere

    Per le fotocamere FireWire, Linux mette a disposizione l'infrastruttura per le memorie di massa. Un programma applicativo è digiKam.

### Videocamere

    Diverse sono le API che possono accedere alle videocamere FireWire. L'immagine a destra mostra un tipico accesso del programma di montaggio video "Kino" ad un modulo, in questo caso si tratta Kino dell'API libavc1394. Per motivi di chiarezza non mostriamo qui l'accesso del programma "Kino" alle altre API.

### Telecamere speciali

    L'API più importante per le telecamere speciali è la libdc1394. L'immagine a destra mostra l'accesso del programma applicativo Coriander a questa API.
Per facilitare l'applicazione di video4linux e delle API dedicate, è stata sviluppata la meta API unicap. Nasconde tutti i dettagli tramite un semplice modello di programmazione.

## Integrazione di sistema

Le fotocamere, videocamere e telecamere FireWire sono spesso solo una rotella dell'ingranaggio. Uno specialista di sistema usa anche altri componenti per risolvere un certo problema. Due sono i modi principali di procedere:
* L'impostazione del problema è interessante per un gruppo di utenti. Tipico segnale di questa situazione è la disponibilità di un software applicativo prefabbricato. Un esempio è la fotografia in uno studio.
* L'impostazione del problema è interessante solo per un'applicazione particolare. In questi casi non è disponibile un software applicativo prefabbricato. Per questo il software applicativo dovrà essere sviluppato dallo specialista di sistema. Un esempio è il rilevamento di una piastra d'acciaio.
Molti aspetti dell'integrazione di sistema sono indipendenti dall'uso di una fotocamera, videocamera o telecamera FireWire. Questo Vale specialmente per quanto riguarda l'illuminazione, che ha una grande influenza sul risultato, sia dal punto di vista estetico, sia dal punto di vista analitico.
Tuttavia, nel contesto dello sviluppo dei software applicativi, c'è una particolarità che è tipica del bus FireWire: si tratta della disponibilità dei protocolli standardizzati come AV/C, DCAM, IIDC e SBP-2 (vedi Scambio di dati con dei computer). Usando questi protocolli Utilizzando questi protocolli si può scrivere un software in modo indipendente da una fotocamera, videocamera o telecamera di un certo produttore.
Se si lascia la realizzazione del protocollo al sistema operativo, facendo accedere il software esclusivamente all'API del sistema operativo, l'indipendenza dall'hardware è portata al massimo. Se per esempio, un software applicativo usa sotto Linux l'API "libdc1394" (vedi Integrazione di sistema), allora potrà accedere a tutte le telecamere FireWire che usano il protocollo DCAM (IIDC). L'uso dell'API "unicap" rende anche possibile l'accesso ad altre fonti di immagini, come per esempio dei frame grabber.