
Tre fotocamere e una che sceglie da sola: quale obiettivo lavora al buio
Toccate «0,5x» e il fotogramma si allarga. Toccate «5x» e la Luna riempie lo schermo. In mezzo c’è un pezzo di software che decide quale dei sensori del modulo lavorerà davvero, e nella sua decisione entra anche quanta luce c’è nella scena. Di notte la luce è la variabile che manca. È lì che il telefono comincia a scegliere per voi, e ogni tanto cambia idea mentre state ancora scattando.
Il moltiplicatore è un’etichetta
Le cifre che toccate nell’app indicano un fattore di zoom, e un fattore di zoom non è cablato a una lente. Su iOS l’applicazione apre quasi sempre un dispositivo virtuale: la documentazione di AVFoundation descrive builtInTripleCamera come «un tipo di fotocamera integrata composto da tre fotocamere a focale fissa, una ultragrandangolare, una grandangolare e una teleobiettivo», e in cima all’elenco delle sue funzioni mette il «passaggio automatico da una fotocamera all’altra quando il fattore di zoom, il livello di luce e la posizione di messa a fuoco lo consentono».
Su Android la faccenda ha nomi diversi e sostanza identica. Una logical camera raggruppa due o più fotocamere fisiche, e la documentazione avverte che quel che ottenete «dipende interamente dall’implementazione OEM del Camera HAL», portando come esempio un Pixel 3 che sceglie una delle fotocamere fisiche in base alla focale richiesta e alla regione di ritaglio. Nessuno dei due sistemi vi promette una lente. Vi promette un’inquadratura, e si tiene il diritto di ottenerla come crede.
Rileggete la condizione tripla che Apple mette per iscritto: zoom, luce, messa a fuoco. Due di quelle tre voci, sotto un cielo stellato, sono proprio quelle che avete portato al limite.
Le tre lenti non sono la stessa fotocamera in tre focali
Per un oggetto esteso (la Via Lattea, una nebulosa, il fondo cielo che sale dai lampioni) il conto è più corto di quanto sembri. I fotoni raccolti da un pixel in un secondo sono proporzionali al quadrato del rapporto fra il lato del fotosito e il numero f. La focale se ne va dall’equazione: una focale più lunga raccoglie più luce, e la spalma su una porzione di cielo più piccola, e i due effetti si cancellano a vicenda.
Mettiamo dei numeri di comodo, da sostituire con i vostri: un principale a f/1.8 con fotositi sommati da 1,4 micrometri contro un ultragrandangolare a f/2.2 con fotositi da 1,0. Il rapporto fra i due segnali vale quasi tre, cioè poco più di un diaframma e mezzo di svantaggio per l’ultragrandangolo, prima ancora che abbiate scelto il tempo di posa. L’apertura più chiusa e il fotosito più piccolo spingono nella stessa direzione. Sulla scatola del telefono quel cumulo di svantaggi non compare da nessuna parte.
Con le stelle il conto si ribalta a metà strada. Una stella è un punto, e il numero totale di fotoni che ne raccogliete dipende dall’area della pupilla d’ingresso, cioè dal quadrato del rapporto fra focale reale e numero f. Il teleobiettivo ha spesso la pupilla più larga di tutto il modulo, malgrado l’apertura peggiore, perché la sua focale è parecchie volte quella del grandangolo. Nello stesso identico fotogramma il fondo cielo peggiora e le stelle migliorano. Quale dei due effetti vi convenga dipende dal bersaglio della serata, e questa è una decisione che potete prendere solo voi.
I numeri veri stanno dentro il telefono
Le grandezze che servono per fare quel conto sul vostro apparecchio non sono un segreto industriale: le espone il sistema operativo. Su Android CameraCharacteristics dichiara le focali disponibili, le aperture disponibili, «le dimensioni fisiche dell’intero array di pixel» e il numero di pixel dell’array. Il lato del fotosito è la prima divisa per il secondo. Il campo inquadrato reale esce da focale e larghezza del sensore, con due righe di trigonometria.
Su iOS AVCaptureDevice espone lensAperture, «un float che indica la dimensione (il numero f) del diaframma», e aggiunge una precisazione che conviene tenere a mente: «questo valore non cambia». I telefoni hanno il diaframma fisso. Quindi l’unica cosa capace di cambiare l’apertura fra uno scatto e l’altro è il passaggio a un’altra lente.
Senza scrivere una riga di codice, comunque, bastano gli EXIF. Focale e numero f sono scritti in ogni file che il telefono salva, ed è la via più diretta per sapere quale obiettivo ha davvero fatto quella foto.
Lo scambio che vi rompe lo stack
A questo punto la documentazione Apple diventa parecchio interessante per chi somma centinaia di scatti. Sulla stessa pagina del dispositivo a tre fotocamere si legge che «anche quando sono bloccati, la durata dell’esposizione, l’ISO, l’apertura, i guadagni del bilanciamento del bianco o la posizione della lente possono cambiare quando il dispositivo passa da una fotocamera all’altra». Poco più sopra, fra le cose che il dispositivo virtuale non supporta, compaiono la modalità di esposizione personalizzata e il blocco della messa a fuoco su una posizione della lente scelta da voi.
Due frasi che valgono una serata intera. La prima dice che il tempo di posa che avete bloccato può smettere di essere quello a metà serie. La seconda dice che finché restate sul dispositivo virtuale la messa a fuoco all’infinito, quella che al buio bisogna imporre a mano, non è nemmeno una richiesta che l’API accetti di ricevere.
I danni allo stack sono tre, in ordine di gravità crescente. Cambia l’esposizione, e i fotogrammi smettono di condividere la stessa scala di luminosità. Cambia la scala d’immagine, perché è cambiata la focale, e l’allineamento si ritrova due geometrie diverse dentro la stessa serie: in AstroStackerPro come in qualunque software che allinea dopo lo scatto confrontando le stelle, quella è una serie da spezzare in due prima di sommarla. Cambia il sensore, e allora i vostri dark e i vostri bias raccontano un’elettronica che in metà dei fotogrammi non era in funzione.
Come si riprende il volante
Serve un’app che vi lasci scegliere la fotocamera fisica. Su iOS l’ultragrandangolo e il tele esistono come tipi di dispositivo a sé, builtInUltraWideCamera e builtInTelephotoCamera, e la documentazione avverte che si scoprono soltanto attraverso una discovery session: un’applicazione che ve li offre come voci separate quel lavoro l’ha fatto. Per chi resta sul dispositivo virtuale c’è comunque un interruttore documentato, primaryConstituentDeviceSwitchingBehavior, il cui valore locked «blocca il passaggio di fotocamera sul dispositivo costituente primario attivo». Su Android la strada equivalente passa da setPhysicalCameraId() nella configurazione di output, che lega uno stream a un singolo sensore fisico.
Dal vostro lato, sul campo, la verifica costa trenta secondi. Scattate una serie breve sul bersaglio della serata, poi aprite gli EXIF del primo fotogramma, di uno di mezzo e dell’ultimo, e confrontate focale e numero f. Se cambiano, il colpevole ce l’avete in mano. Restate anche lontani dai valori di zoom intermedi: fra un passo marcato e l’altro ricevete comunque un ritaglio digitale, e per giunta regalate al sistema la libertà di rimettersi a scegliere da capo.
Quale lente si merita la serata
L’ultragrandangolo va usato quando il campo è il soggetto: l’arco della Via Lattea da orizzonte a orizzonte, una tenda aurorale che occupa mezzo cielo, un paesaggio che deve entrare tutto nell’inquadratura. Si paga in rumore. Il conto di prima vi dice esattamente quanto.
Il principale resta la scelta di partenza per tutto il resto, ed è una scelta motivata: è il sensore più grande del modulo, ha l’apertura più aperta e i fotositi più larghi, ed è l’unico progettato pensando alla penuria di luce.
Il tele si merita la Luna, il Sole dietro un filtro certificato, le congiunzioni strette, il passaggio della Stazione Spaziale. Sono bersagli piccoli o luminosi, dove la pupilla larga e la scala d’immagine fine pesano più del fondo cielo che si alza.
Il telefono non vi sta ingannando. Sta ottimizzando per una cena al ristorante e per un tramonto sul mare, che è il novantanove per cento del suo lavoro, e lo fa benissimo. Voi però gli avete puntato addosso il cielo, e in quel caso l’unica configurazione affidabile è quella che gli toglie di mano una decisione.
Trasparenza: Questo articolo è stato scritto dalla redazione automatica di 3SIGNUM (claude-opus-5). È scritto nel manifesto, non è un segreto.