Saltar al contenido
Cien milisegundos garantizados: dónde termina la exposición larga en el móvil (Imagen generada con IA)
Imagen generada con IA

Cien milisegundos garantizados: dónde termina la exposición larga en el móvil

Abres una aplicación manual, buscas el tiempo de exposición y la rueda se planta. En tu móvil, en medio segundo. En el del amigo que te convenció para comprar el trípode llega a treinta, y en un tercer modelo el control aparece directamente en gris. Ese número se decide mucho más abajo que la aplicación, en una propiedad que el sistema operativo lee del hardware y entrega a quien la pida. Las dos plataformas la cuentan de forma bastante distinta como para merecer media hora de documentación.

Una décima de segundo, y nada más prometido

En Android el valor se llama SENSOR_INFO_EXPOSURE_TIME_RANGE, y la documentación de Camera2 lo presenta como «el rango de tiempos de exposición de imagen para android.sensor.exposureTime admitidos por este dispositivo de cámara». Unidad: nanosegundos. Hasta aquí, trámite. Luego llega la línea de los valores válidos, y conviene leerla dos veces: «el tiempo de exposición mínimo será inferior a 100 us. Para los dispositivos con capacidad FULL (android.info.supportedHardwareLevel == FULL), el tiempo de exposición máximo será superior a 100 ms».

Una décima de segundo. Ahí acaba la garantía de la plataforma, y solo vale para las cámaras que declaran el nivel FULL. Todo lo que tengas por encima de esa décima (los dos segundos, los diez, los treinta) te lo regala el fabricante del móvil, no el estándar. La clave lleva además la marca «Optional», con la coletilla de que «el valor de esta clave puede ser null en algunos dispositivos». Donde es null, el tiempo de exposición deja de ser algo que se pueda pedir.

Quién puede pedirlo lo decide la capacidad MANUAL_SENSOR, la que según la documentación garantiza «el control manual de la exposición», la sensibilidad y la duración de fotograma. Los dispositivos FULL siempre la declaran. Los LIMITED pueden declararla o no, y con el hardware LEGACY el asunto se cierra antes de abrirse, porque «un dispositivo LEGACY no admite control por fotograma, control manual del sensor, procesamiento posterior manual». Google añade un consuelo con fecha: «los dispositivos que salieron inicialmente con Android Q o posterior no incluirán ningún dispositivo de nivel LEGACY». El problema solo se ha movido de sitio. En el móvil, la cámara principal y las demás son dispositivos separados, cada uno con su nivel declarado y su rango de tiempos, y que el ultra gran angular llegue hasta donde llega la principal es cosa de comprobarlo en casa. Aprovecha para hacerlo junto a la otra comprobación de ópticas, la de qué objetivo trabaja de verdad de noche.

En iOS el techo pertenece al formato

AVFoundation guarda el mismo límite en otro punto del árbol. No cuelga del dispositivo: vive dentro de cada AVCaptureDevice.Format, el objeto que describe una combinación de resolución, cadencia y modo de funcionamiento del sensor. Las dos propiedades se llaman minExposureDuration y maxExposureDuration, y Apple las define en una línea cada una: «un valor de tiempo que indica la duración de exposición máxima admitida», y la imagen inversa para la mínima. Un iPhone expone decenas de formatos. Cada uno trae su propio techo.

La consecuencia se nota en el campo enseguida. Cambiar de resolución puede cambiarte la exposición máxima. Si la aplicación te deja elegir entre el formato con binning y la resolución completa, la decisión que de noche ya conviene tomar en cierta dirección arrastra también una rueda de tiempos potencialmente distinta. No hay capricho ninguno. Un formato es un modo de lectura del sensor, y modos distintos tienen tiempos distintos.

Está luego activeMaxExposureDuration, que se confunde con el techo real y habla de otra cosa. Apple la define como «la duración de exposición máxima, en segundos, definida en el algoritmo de exposición automática»: cuando la exposición es automática, el sistema «elige una duración de exposición máxima predeterminada, ajustada a la configuración actual, que equilibra la calidad de imagen con poca luz frente a la conservación del movimiento». Puedes subirla hasta el maxExposureDuration del formato. Eso sí, se deshace sola, porque «cuando cambian el activeFormat del dispositivo o el sessionPreset de la sesión de captura, esta propiedad vuelve a la duración máxima de exposición predeterminada para el nuevo formato o preset». Subes el techo, tocas la resolución, y estás otra vez en la casilla de salida sin que nadie te avise.

El tiempo que has elegido te lo pueden retirar a mitad de disparo

El párrafo más útil de las dos documentaciones está bajo setExposureModeCustom, el método con el que una aplicación fija exposición e ISO en valores explícitos. El aviso de Apple: «cuando se usa AVCapturePhotoOutput para tomar fotos, la propiedad photoQualityPrioritization de AVCapturePhotoSettings tiene como valor predeterminado balanced, lo que permite que la captura anule temporalmente la duración de exposición y el ISO del dispositivo de captura si la escena es lo bastante oscura como para requerir la fusión de varias imágenes para mejorar la calidad».

Vuelve a leerlo poniéndote tú dentro, a la intemperie, con el trípode ya nivelado. Has puesto ocho segundos a una ganancia elegida con criterio, y la escena es oscura por definición: la condición que autoriza al sistema a pasar por encima de ti se cumple en cada fotograma. El remedio está en la frase siguiente y es el único: para que el sistema respete la duración de exposición y el ISO en modo custom o locked, la aplicación tiene que poner la prioridad de calidad de foto en speed. Una aplicación pensada para astrofotografía lo hace. Una aplicación de fotografía general a la que le han añadido un modo manual puede perfectamente no hacerlo, y entonces te llevas a casa una serie en la que los fotogramas ya no pesan igual, que es la manera más silenciosa de arruinar un apilado.

El modo noche no entra en esta conversación

La objeción sale sola: la cámara de fábrica, en modo noche, aguanta diez segundos sin pedirle permiso a nadie. Esa es otra máquina. Android lo coloca entre las extensiones, una rama de la API apartada de los controles del sensor, y EXTENSION_NIGHT queda definida como «implementación de extensión específica del dispositivo cuyo objetivo es suprimir el ruido y mejorar la calidad general de la imagen en condiciones de poca luz». Fíjate en lo que falta en esa frase. Un tiempo. La extensión promete un resultado y se guarda el procedimiento, y ese procedimiento puede ser una ráfaga sumada o una toma única, y puede cambiar entre dos versiones del firmware sin que nadie te lo diga.

En iOS la palanca pública más cercana se llama photoQualityPrioritization, y arbitra entre calidad y velocidad de entrega. La documentación enumera las técnicas implicadas, «reducir el ruido, preservar el detalle con poca luz, congelar el movimiento», y no promete nunca una duración. Quien desarrolla puede pedir calidad. Cuánto tiempo estuvo abierto el obturador lo sabrá después.

Diez minutos para saber cuánto te concede el tuyo

La prueba es trivial y se hace en el salón con la luz encendida. Abre la aplicación manual que usas de verdad, apunta dónde se detiene la rueda de tiempos y repite con cada objetivo y cada resolución seleccionable. Acabas con una tablita de cuatro o cinco números que describe tu móvil mejor que cualquier ficha técnica.

Después comprueba que esos números se respetan. Diez fotogramas al tiempo máximo, abres los EXIF de los diez y comparas el campo de exposición. Si los valores no coinciden, alguien está decidiendo por ti más arriba, y ahora también sabes quién.

Por qué ese techo escuece menos de lo que parece

Hay un motivo por el que el asunto duele menos de lo que se lee, y está en otro límite, más bajo, que ya llevas encima. El cielo corre, y en un 24 mm equivalente te concede un puñado de segundos antes de que las estrellas se vuelvan comas: cuántos exactamente depende de la focal y de la declinación del objetivo. Si tu móvil se planta en treinta segundos, no vas a tocar jamás el techo de las API. Si se planta en dos, la jaula es tuya, y es de silicio.

En medio está la franja donde se juega la partida de verdad, y también el motivo por el que en un móvil acumular fotogramas rinde más que alargarlos. Conviene quedarse lo más cerca posible del techo que tu aparato concede de verdad, en vez de perseguir un número que la app enseña y el sensor nunca cumple. La suma hace el resto, y de eso el live stacking ya dijo lo suyo. Quien se sabe su máximo de memoria sale de casa con una decisión menos que tomar en el frío, y en el frío se decide mal.

#astrofotografía#móvil#exposición#técnica#sensor

Redacción 3SIGNUM, dirigida por Stefano Monticciolo. Cómo trabajamos →

Sigue leyendo