Qué es rolling shutter
Rolling shutter es una técnica que consiste en leer la información del sensor línea a línea. Es típica de los sensores CMOS. Este funcionamiento puede tener ciertos efectos no deseados, que reciben el mismo nombre: efectos rolling shutter.

Lectura de la información del sensor
Imagina que queremos hacer una foto de una escena. Cuando apretamos el botón de disparo ocurren muchas cosas, pero nos vamos a centrar en lo que afecta al sensor:
- El obturador mecánico se abre y deja pasar la luz de la escena.
- El sensor comienza a acumular luz en cada una de sus celdas. Cada celda representa un punto de la escena.
- El obturador se cierra. Deja de entrar luz. La información acumulada por el sensor se congela en ese momento, ya que no recibe más fotones.
- La cámara (procesador y electrónica auxiliar del sensor) lee la información del sensor y genera la imagen final.
La imagen final puede ser por ejemplo un fichero RAW (foto), un fichero JPEG (foto) o el fotograma actual en caso de que estemos grabando vídeo.
Leer la información de un sensor no es algo trivial, pensemos que son decenas de millones de celdas.
En los sensores CMOS se utilizan básicamente dos técnicas: global shutter y rolling shutter.
Global shutter consiste en congelar la información del sensor hasta que se completa la lectura de todas las celdas. Cuando esto ocurre, el sensor se pone a cero (se vacía toda la información) y queda listo para hacer la siguiente toma.
El principal problema de global shutter es que el sensor tiene que estar inactivo (congelado) durante el tiempo de lectura. Además, la arquitectura de este tipo de sensores es muchísimo más compleja.
La técnica de rolling shutter consiste en que la información del sensor se lee secuencialmente, línea a línea, de arriba a abajo de la imagen, mientras el sensor sigue recogiendo información de la escena.
Cada vez que se lee una línea, ésta se pone a cero (se vacía su información) y comienza de nuevo a recibir fotones de la escena si el obturador mecánico está abierto.
Es decir, si prescindimos del obturador mecánico, el sensor está constantemente funcionando, captando fotones sin parar. Cada cierto tiempo hay un barrido de lectura que, además de leer la información, se encarga de reiniciar una a una, cada línea del sensor.
La mayoría de las cámaras utilizan sensores CMOS con rolling shutter. Las cámaras con global shutter normalmente son cámaras de gama profesional diseñadas específicamente para vídeo. Tecnológicamente es difícil conseguir un sensor con global shutter que mantenga buenas características en cuanto a rango dinámico, sensibilidad, etc.
Obturador electrónico
La velocidad de lectura, es decir, el tiempo que tarda la electrónica en leer una fila, es un parámetro de diseño del sensor. Cuanto más rápida, mejor. Una vez que comienza un barrido, la lectura va a esa velocidad. Cada fila tarda un tiempo fijo en leerse y el barrido se completa en un tiempo fijo.
Pero el período entre barridos sí se puede ajustar, de tal forma que cada fila sólo esté acumulando fotones durante un cierto intervalo. Ese intervalo no es otra cosa que un tiempo de exposición de toda la vida.
Sin utilizar ningún mecanismo externo tenemos el equivalente a un obturador.
Y además es muy eficiente porque no hay tiempos de espera. Se pueden conseguir velocidades de obturación enormes, que serían extremadamente difíciles de lograr con dispositivos mecánicos. Y se puede utilizar perfectamente para vídeo, incluso con sensores relativamente lentos.
Efecto rolling shutter
La lectura mediante rolling shutter tiene muchas ventajas, pero también da lugar a efectos no deseados en determinadas situaciones.
El efecto más conocido, que recibe coloquialmente el mismo nombre, ocurre cuando hay movimiento en la imagen proyectada sobre el sensor. Puede ser movimiento dentro de la escena (un coche circulando) o puede ser movimiento de la propia cámara (barridos, tomas desde un vehículo…)
Este efecto ocurre fundamentalmente cuando no se utiliza un obturador mecánico. Es decir, aparece cuando grabamos vídeo o cuando usamos el obturador electrónico en fotografía.
Vamos a entenderlo de una forma muy sencilla.
Primero vamos a ver qué ocurre cuando usamos el obturador mecánico. Imagina que tenemos una escena con un objeto en movimiento, de izquierda a derecha por ejemplo. Vamos a suponer también que usamos un sensor con tiempos de lectura muy lentos.
Como nos han enseñado, configuramos en la cámara un tiempo de exposición muy corto. El obturador mecánico sólo permanece abierto un pequeño intervalo. Una vez que se cierra, ya no entra más luz al sensor. La información que captó el sensor queda congelada, no se altera. De igual lo que tarde en hacer la lectura. El aspecto de la imagen final queda determinado por el obturador mecánico.

¿Qué ocurre si no usamos obturador mecánico?
En este caso el sensor está siempre expuesto a la imagen de la escena. Pero cada fila habrá comenzado su exposición de forma secuencial, en instantes diferentes, tras el barrido anterior.
Pasado el tiempo de exposición programado en la cámara, comenzará el barrido de lectura.

Si contamos el tiempo desde el barrido anterior hasta la lectura actual para cada fila, cada una de las filas ha estado expuesta el mismo intervalo (el tiempo de exposición es idéntico), pero cada fila ha visto un instante diferente de la escena, de forma progresiva.
Si los tiempos de lectura son muy lentos o los movimientos son muy rápidos, el resultado será una imagen final con artefactos.
El más típico es que los elementos verticales de la escena aparecerán inclinados (skew).
Si estamos grabando vídeo y lo que se mueve es la cámara, el efecto combinado de esas inclinaciones hace que los objetos de la escena se deformen como si fueran de gelatina (efecto wobble o jello).
Si algún objeto de la escena rota muy rápido o se mueve verticalmente, puede aparecer totalmente deformado en la imagen final. Es típico por ejemplo con las hélices de los aviones.
Si durante el tiempo de lectura cambia bruscamente la exposición en la escena (se enciende un flash, hay un relámpago…) entonces algunas franjas de la imagen aparecerán con diferente exposición, un efecto de bandas (banding) muy exagerado.
En fotografía
En fotografía, cuando usamos obturador mecánico, es difícil que se perciba efecto rolling shutter.
Se puede producir debido al funcionamiento de las cortinillas deslizantes, que básicamente siguen el mismo principio: barrido vertical exponiendo sólo una franja del sensor a medida que se mueven. Esto ocurre con velocidades de obturación muy altas.
Pero el barrido de las cortinillas es muy rápido, por debajo de los 5ms normalmente. Mientras que la lectura completa del sensor está un orden de magnitud por encima, entre 10 y 30ms por dar una cifra orientativa.
Cuando usamos obturador electrónico sí pueden aparecer todos los efectos debidos al rolling shutter (excepto quizás el efecto gelatina), por ejemplo al fotografiar objetos en movimiento o si usamos alguna técnica de barrido con la cámara.
Y el obturador electrónico limita mucho el uso de flashes. El destello de un flash tiene un ancho del orden de 1ms o menos. Y el tiempo de lectura típico de una cámara está por encima de los 10ms.
En vídeo
No se utiliza obturador mecánico en vídeo, cada fotograma equivale a una fotografía realizada con obturador electrónico. Tendremos todos los efectos debidos al rolling shutter.
Si hay objetos en movimiento, pueden aparecer inclinados o deformados.
Cuando hay movimientos de cámara (paneos por ejemplo) puede aparecer el efecto gelatina. Y si la cámara está en movimiento pueden aparecer los objetos de la escena inclinados.
Los flashes, relámpagos o destellos también aparecerán como artefactos en algunos de los fotogramas, pero creo que no afectarían tanto como en fotografía.
Sensores y tiempos de lectura
Los tiempos de lectura en sensores CMOS de tipo rolling shutter dependen principalmente de dos factores:
- De la resolución.
- De la arquitectura y tecnología del sensor.
Cuanta más resolución tiene un sensor, más líneas hay que leer. Y más se tardará en procesar cada línea (ya que tendrá más celdas). A igualdad tecnológica, el tiempo de lectura será mayor.
Para extraer la información del sensor hay que convertir la señal almacenada por cada celda (voltaje o corriente eléctrica) en valores numéricos. Esta operación la hace un ADC. Cuantos más ADCs trabajen en paralelo (que depende de la arquitectura y del diseño de ese sensor) más rápido se procesará cada fila. La velocidad de los ADC también depende de la evolución tecnológica.
Los sensores apilados (stacked CMOS sensor) incluyen la electrónica de lectura en una capa situada debajo de los propios fotodiodos. Esto permite que se pueda procesar una gran cantidad de información en paralelo, por ejemplo todas las celdas de una fila a la vez. Este tipo de sensores son capaces de conseguir tiempos de lectura de sensor por debajo de los 5ms, eliminando casi por completo los efectos debidos al rolling shutter.
En sensores no apilados, el tamaño del sensor también influye. La señal tiene que recorrer más distancia por los buses de datos hasta llegar a la electrónica de lectura. Son distancias muy pequeñas, todo esto ocurre dentro del chip que ocupa el sensor, pero es un efecto acumulativo.
