quarta-feira, 1 de abril de 2009

Desmistificando o CMOS - Rolling Shutter

Já faz algum tempo que escrevi esse texto abaixo, no fórum VideoBR, e resolvi colocá-lo aqui também.
--
Andei lendo e estudando bastante sobre sensores de imagem nos últimos tempos, e tenho algo a adicionar sobre o velho "problema" do rolling shutter. Resumindo: o problema não é o Rolling Shutter em si, mas sim o chamado "read-reset time" do sensor.
Mas por quê? Bom, numa câmera de cinema, que usa película fotográfica, o obturador (shutter) mecânico funciona como se fosse um rolling shutter de um sensor CMOS. Abaixo uma animação em gif tirada da 
wikipedia, ilustrando o funcionamento de um shutter mecânico de uma câmera de película 35mm:

Notem na animação que, enquanto o semicírculo está bloqueando a entrada de luz, o mecanismo de transporte da película está posicionando o próximo fotograma. Tudo sincronizado. Assim que o fotograma está em posição, parado, o semicírculo libera a entrada de luz para expor o fotograma. Nesse momento, é possível ver que a borda do semicírculo funciona como o rolling shutter do CMOS, que forma a imagem no sensor à partir da parte de cima até embaixo, progressivamente. Ou seja, acontecem os mesmos efeitos nas duas situações.

Sendo assim, o rolling shutter do CMOS só é problema quando o tempo de read-reset dele é maior do que a velocidade com que o semicírculo expõe o fotograma de película. O que acontece é que a maioria dos sensores CMOS das câmeras do mercado tem o tempo de read-reset alto, deixando os efeitos de "skew" e "wobble" muito aparentes.

Por exemplo, a câmera RED One. Nas suas primeiras versões de firmware, segundo o próprio Jim Jannard (dono da empresa), o sensor CMOS Mysterium tinha um tempo de read-reset de algo próximo a 25, o que gerava uma quantidade razoável de skew. Já nas versões atuais de firmware, esse tempo caiu para algo entre 8 e 9. Ele também cita que o tempo que a borda do shutter mecânico demora para abrir a entrada de luz numa câmera de cinema é de 4. Não fica claro nas mensagens dele, mas acredito que esse tempo seja em milissegundos. Os próximos sensores, que estarão presentes nas câmeras RED Scarlet e Epic (Mysterium-X e Monstro), terão tempos de 5 e 3 respectivamente. Ainda segundo Jim, eles passaram 2 anos pesquisando essas questões sobre o rolling shutter, e chegaram à conclusão que o ideal é ter um sensor com rolling shutter de read-reset baixo, para manter a sensação que a filmagem em película passa. Eles até poderiam fazer um sensor com Global Shutter, mas o resultado seria, segundo ele, um material com uma sensação muito estéril, diferente do filme. E numa câmera de cinema digital, o objetivo é se aproximar das características visuais do cinema em película. E o sensor Monstro basicamente será o mais próximo possível da experiência fílmica, pois terá um tempo de read-reset menor do que uma câmera com shutter mecânico (3 contra 4), mas ainda assim mantendo o "feeling" do movimento. As considerações do dono da RED podem ser vistas aqui neste tópico:http://reduser.net/forum/showpost.php?p=257426&postcount=199.

Só pra citar, mesmo não tendo achado uma informação específica, estima-se que os sensores CMOS que equipam a EX1 ou câmeras similares têm read-reset de 30 ou mais.

Agora para casos específicos, como cobertura de eventos, onde há flashes disparando a todo momento, a melhor solução para uma câmera de vídeo ainda é o global shutter, para evitar aqueles frames com o flash iluminando apenas metade do quadro. Inclusive a câmera de cinema tem o mesmo problema do CMOS com flashes, só que amenizado pelo tempo de abertura menor do que a média dos read-resets atuais. Ou mesmo uma câmera fotográfica, DSLR ou 35mm, tem o mesmo problema, onde o shutter é mecânico. Por isso existe a sincronização de flash, exatamente para evitar a iluminação parcial do fotograma.

Nenhum comentário: