что такое роллинг шаттер
Rolling Shutter (роллинг шаттер) в видеосъемке
Появление роллинг шаттера совпадает с моментом, когда в фото/видеосъемочной технике стали применяться матрицы CMOS (КМОП-сенсор). В отличие от матриц CCD (ПЗС-сенсор), CMOS обычно фиксирует изображение построчно, сверху-вниз. Таким образом, при движении в кадре матрица не успевает зафиксировать информацию со всего кадра, и на обработку подается лишь информация с нескольких строк. Тем временем объект в кадре уже изменил свое положение, соответственно, изменилось и его положение на матрице. Такое нескончаемое запаздывание матрицы за движением в кадре приводит к появлению роллинг шаттера.
Скорость снятия информации в разных сенсорах может различаться. Более того — разные CMOS-матрицы имеют разное же количество пикселей, и, соответственно, строк, с которых требуется снять информацию. Неизбежный вывод: чем медленнее матрица, тем медленней происходит снятие информации с ее строк. Аналогично и с количеством пикселей — чем бо́льшим количеством пикселей обладает матрица, тем медленней происходит снятие с нее информации, строк-то ведь больше.
Как проявляется роллинг шаттер?
Следующие ролики покажут оба типа дефекта во всей красе:
2. Желе. Зрительно проявляется в виде нестабильной картинки, так, словно перед камерой колышется абсолютно прозрачная желеобразная масса, хаотично искажая весь кадр. Этот дефект возникает при неупорядоченном перемещении камеры во все стороны, или, иначе говоря, когда при съемке оператор машет камерой, словно метлой. Степень желейности зависит как от быстродействия матрицы, так и от скорости «подметания». В некоторых, особо запущенных случаях, когда матрица откровенно медленная и/или имеет слишком большое количество пикселей, желе может проявляться даже при почти, казалось бы, статичной съемке с рук. Дело в том, что мелкая дрожь, идущая от руки, преобразуется встроенным стабилизатором в более плавное перемещение, которого оказывается достаточно для появления роллинг шаттера.
3. Горизонтальные пересвеченные полосы в кадре. Возникают при срабатывании фотовспышки (молнии и пр.). Это абсолютно неизбежный дефект, который возникает всегда при резком изменении освещенности, и если камера оснащена CMOS-матрицей с построчным снятием информации. Появление этих полос гарантируется независимо от скорости считывания с матрицы. Медленная ли она, быстрая ли — неважно. Полосы обязательно будут, только длительность их присутствия в кадре окажется разной.
Резюмируем: чем бо́льшим количеством пикселей обладает матрица видеокамеры или фотоаппарата, и чем ниже скорость передачи данных с этой матрицы, тем сильнее выражен роллинг шаттер. Касаемо видеокамер хотелось бы отметить: для видеосъемки с разрешением Full HD вполне достаточно двух-мегапиксельной матрицы. Если же такая матрица окажется еще и быстрой, то роллинг шаттер проявится только в случае с фотовспышкой. А бороться с фотовспышками несложно: достаточно выгнать всех назойливых фотографов из помещения, где производится видеосъемка, это самый надежный способ борьбы с фотовспышечным роллинг шаттером.
Способы борьбы с роллинг шаттером
Обратите внимание на разницу углов в исходном и обработанном видео. Если в первом случае, когда весь кадр имеет наклон, программа сумела чуть исправить положение, то во втором случае с проезжающим автобусом фильтр оказался бессилен. Что и требовалось доказать.
Сделаем вывод: избежать роллинг шаттера в ваших съемках поможет только отсутствие тряски, фотовспышек, и быстродвижущихся объектов. Звучит смешно, однако факт. Где-то глубоко в душе — очень глубоко — теплится надежда, что разработчик наконец-то одумается, и перестанет встраивать медленные многомегапиксельные матрицы в видеосъемочные гаджеты. Но, поразмыслив, понимаешь, что это из области фантастики. Так как маркетологи, у которых задача продавать, немедленно вмешаются в ситуацию с быстрыми матрицами, и заставят инженеров довести количество пикселей в датчиках до очередных космических величин. Продажи таких камер, конечно же, вырастут:
— Ого, гляди-ка, 100 мегапикселей! Дайте две!
Но что станет результатом подобного увеличения количества пикселей в быстрых матрицах? Правильно!
Global shutter vs Rolling shutter: подробный разбор
Rolling shutter (Скользящий затвор) и Global shutter (Глобальный затвор) описывают две различные последовательности, с помощью которых изображение может считываться с датчика CMOS. В режиме скользящего затвора различные линии массива экспонируются в разное время, когда считываемая «волна» проходит через датчик, тогда как в режиме глобального затвора каждый пиксель в датчике начинает и заканчивает экспозицию одновременно (схематично, это можно увидеть на рисунке 1).
Рисунок 1.Принцип действия.
Режим скользящего затвора (Rolling Shutter)
Режим скользящего затвора, по сути, означает, что смежные ряды массива экспонируются в несколько разное время, когда считываемые «волны» проходят через каждую половину датчика. То есть каждая строка будет начинать и заканчивать свою экспозицию, слегка смещенную по времени от соседней строки. При максимальной скорости считывания 560 МГц это смещение между выдержками в соседних рядах составляет 10 мкс. Механизм считывания показан на рисунке 1. С точки зрения показаний датчик разделен пополам по горизонтали, и каждый столбец считывается параллельно, строка за строкой. При съемке серии изображений с помощью Rolling Shutter можно работать в режиме непрерывного «перекрытия», в результате чего, после считывания каждой строки он сразу входит в следующую экспозицию. Это обеспечивает рабочий цикл на 100%, что означает, что между экспозициями не теряется время и, что еще важнее, не теряются фотоны. При максимальной частоте кадров для данной скорости считывания (например, 100 кадров в секунду при 560 МГц) датчик непрерывно считывает данные в режиме перекрытия, т. е. как только полоса считывания достигает верха и низа сенсора, он немедленно возвращается в центр чтобы прочитать следующую экспозицию.
Потенциальным недостатком режима скользящего затвора являются искажения и артефакты на изображении. Артефакты появляются в сценах с быстрыми объектами, или при быстром панорамировании. Очень заметен эффект при съемки транспортных средств типа автобусов или поездов, когда они проезжают мимо камеры наблюдения. В целом, чем быстрее движение в кадре, тем более заметен эффект.
Еще одним недостатком является то, что различные области экспонированного изображения не будут точно соотнесены во времени с другими областями, что может быть важно для некоторых видов использования. Последний и очень важный фактор заключается в том, что синхронизация (например, активация источника света или движение периферийного устройства) с показаниями затвора может быть затруднительной, а также может привести к более медленным циклам и частоте кадров по сравнению с достижимыми в глобальном затворе.
Режим глобального затвора (Global Shutter)
В режиме глобального затвора все пиксели массива экспонируются одновременно, что позволяет захватывать «стоп-кадр» быстро движущихся или быстро меняющихся событий. Глобальный затвор может быть сконфигурирован для работы в режиме непрерывного «перекрытия», при котором экспозиция может продолжаться, пока предыдущая экспозиция считывается из узлов считывания каждого пикселя. В этом режиме датчик имеет полный рабочий цикл 100%, что снова приводит к оптимальному временному разрешению и эффективности сбора фотонов. В течение всего этого цикла не существует периода «кратковременного» считывания, как в скользящем затворе. Важно отметить, что режим Global Shutter очень прост в синхронизации и часто дает более высокую частоту кадров, чем попытки синхронизации с Rolling Shutter с тем же временем экспозиции.
Сравнительная таблица плюсов и минусов
Режим | Rolling Shutter | Global Shutter |
Снимок экспозиции | нет | да |
Порядок считывания | Нет — очень разная «временная» последовательность воздействия | Да — чрезвычайно похожая последовательность воздействия |
Временная задержка между различными регионами изображения области | Нет — разница до 10 мс (560 МГц) между центром и верхом или низом изображения | Да — все пиксели представляют одинаковое время экспозиции. |
Возможность синхронизации | Комплекс для синхронизации. Требуется источник стробоскопического света. Более длительное время цикла. | Просто синхронизировать. Любой источник света. Более короткое время цикла. |
Быстрая двойная экспозиция | нет | да |
Максимальная частота кадров | Максимально доступно (не синхронизировано). | Максимальная частота кадров уменьшается вдвое. |
Шум | Низкий уровень в районе 1 е — до 1,3 е — | Более высокий уровень в районе 2,3 е — до 2,6 е — |
Искажения,артефакты | Возможны | Нет |
Эффективность рабочего цикла | Уменьшено, например, если требуется отключить подсветку во время «переходных» фаз считывания | Как правило, намного больше, так как не требуется переходной фазы считывания. |
Рисунок 2.Съемка движущихся и вращающихся предметов (Global Shutter слева,Rolling Shutter справа).
В данный момент, подавляющее большинство камер используют CMOS-сенсоры со скользящим затвором. Поскольку сенсоры с роллинг-шаттером обеспечивают достаточно хорошие характеристики и позволяют снизить бюджет производителя, они в данный момент доминируют на рынке. Технология отработана и массово используется в самых различных устройствах. Эффект искажения на изображении при использовании камеры с роллинг-шаттером имеет достаточно большой разброс в разных сенсорах и как правило чем выше разрешение датчика изображения,тем более заметен этот эффект. Если сравнивать два идентичных сенсора, которые отличаются только способом считывания, то окажется, что глобальный затвор больше влияет на разогрев сенсора, снижает динамический диапазон и дает более шумное изображение, по сравнению с роллинг-шаттером, но в того же время обладает рядом существенных преимуществ по сравнению со скользящим затвором при съемке быстродвижущихся или вращающихся объектов (рисунок 2). Важно отметить, что сейчас можно разработать CMOS-сенсор с глобальным затвором таким образом, чтобы компенсировать различные негативные аспекты, однако расходы на разработку и изготовление таких матриц будут значительно выше.
Эффект Rolling Shutter при съёмке видео
В цифровых камерах такой же эффект даёт и сам принцип построчного считывания изображения с CMOS-матрицы (CCD-матрица, используемая в телефонах и мыльницах, теоретически может формировать изображение одновременно для всех пикселей, чем может избежать искажения, но зато не может дать приемлемого качества изображения. Да и на практике все аппараты, которые я видел, в том числе и с CCD, тоже имели построчную организацию работы).
Это касается и зеркальных камер. То, что в них есть механический затвор, дела не меняет. Всё равно матрица функционирует построчно.
Вот первая иллюстрация:
Мы видим, что от момента считывания первой строки до считывания последней проходит определённое время, и за это время объект съёмки может переместиться. Например, человек быстро бежит, а фотоаппарат стоит неподвижно. Тогда, грубо говоря, сначала фотографируется шапка, потом голова, потом тело. а ноги уже давно убежали, пока до них дойдёт очередь. И человек на снимке выйдет наклонённым.
Собственно говоря, способов борьбы с такими искажениями в бытовых фотоаппаратах нет.
Можно только более-менее успешно обработать уже снятое с искажениями видео.
Для этого я использую замечательный бесплатный плагин стабилизации Deshaker для бесплатной же программы обработки видео VirtualDub.
Даже коммерческий софт (тот же MAGIX Video Deluxe, которым я пользуюсь для видеомонтажа), стабилизирует видео гораздо хуже (а YouTube вроде чуть получше, но он годится только для тех, кто прямо с телефона видео в сеть выкладывает).
Мораль сей басни такова: не двигайте фотоаппарат вправо-влево при съёмке видео. Если же панорамирование необходимо, то делайте это помедленнее.
Роллинг-шаттер в камере смартфона: что это такое, почему возникает, как бороться
При съемке быстродвижущихся объектов нередко можно заметить, что на фото они получаются словно бы наклонившимися.
То же самое происходит и при фотографировании из транспортного средства: в этом случае «наклоняются» неподвижные предметы: здания, столбы, стоящие авто.
А уж какие искажения возникают, если в кадр попадает что-то вращающееся – любо-дорого посмотреть! Все это безобразие именуется «роллинг-шаттер», и является платой за использование в смартфонах CMOS матриц.
Причины возникновения дефекта
Чтобы понять, откуда берется это искажение, следует немного разобраться в принципах работы цифровых камер. Хотя справедливости ради стоит сказать, что термин возник еще задолго до появления электронных устройств.
Когда в пленочных фотоаппаратах начали использовать шторно-щелевые фокальные затворы, осуществляющие экспозицию не одновременно, а постепенно, предметы, угловая скорость которых была выше, чем у элементов затвора, получались на фото словно бы наклоненными.
Однако когда на смену механике пришли ПЗС (CCD) матрицы, проблема исчезла сама собой: в них данные с фоточувствительных элементов сканируются по столбцам, и никакого роллинг-шаттера не наблюдается.
Беда была лишь в том, что, в дополнение к ряду недостатков, такие сенсоры были еще и дороговаты для массового использования.
В отличие от них, в CMOS матрицах сканирование растра осуществляется попиксельно, сверху вниз.
И происходит это, естественно, не мгновенно: к тому времени, когда часть данных уже отправилась на обработку, объект съемки изменил свое положение в пространстве, и следующий участок растра уже содержит «обновленные» данные.
Математические расчёты, стоящие за феноменом роллинг-шаттера
Помню, как однажды увидел фотографию выше на Flickr и сломал мозг, пытаясь понять, что с ней не так. Дело было в том, что пропеллер вращался в то время, когда датчик движения в камере «считывал показания», то есть во время экспозиции камеры происходило какое-то движение. Об этом действительно стоит подумать, давайте-ка подумаем вместе.
Многие современные цифровые камеры используют КМОП-матрицу в качестве своего «чувствительного» устройства, также известную как активный датчик пикселей, который работает путем накопления электронного заряда при падении на него света. По истечении определенного времени – времени экспозиции – заряд построчно перемещается обратно в камеру для дальнейшей обработки. После этого камера сканирует изображение, построчно сохраняя ряды пикселей. Изображение будет искажено, если во время съемки присутствовало хоть какое-то движение. Для иллюстрации представьте съемку вращающегося пропеллера. В анимациях ниже красная линия соответствует текущему положению считывания, и пропеллер продолжает вращаться по мере считывания. Часть под красной линией – это полученное изображение.
Первый пропеллер совершает 1/10 оборота во время экспозиции:
Подписывайтесь на каналы:
@Ontol — самые интересные тексты/видео всех времен и народов, влияющие на картину мира
@META LEARNING — где я делюсь своими самыми полезными находками про образование и роль ИТ/игр в образовании (а так же мыслями на эту тему Антона Макаренко, Сеймура Пейперта, Пола Грэма, Джозефа Ликлайдера, Алана Кея)
Изображение немного исказилось, но ничего критичного. Теперь пропеллер будет двигаться в 10 раз быстрее, совершая полное вращение за время экспозиции:
Это уже похоже на ту картинку, что мы видели в начале. Пять раз за экспозицию:
Это уже немного чересчур, так можно и с катушек съехать. Давайте повеселимся и проверим как будут выглядеть различные объекты при различных скоростях вращения за экспозицию.
Точно такой же пропеллер:
Пропеллер с большими лопастями:
Мы можем воспринимать эффект роллинг-шаттера как некое преобразование координат реального объекта из «объектного пространства» в «пространство изображения» искаженного объекта. Анимация ниже показывает, что происходит с Декартовой системой координат при увеличении числа оборотов. При малых оборотах деформация незначительна – число увеличивается до единицы, и каждая сторона системы координат последовательно перемещается в правую сторону изображения. Это довольно сложная трансформация для восприятия, но легкая в понимании.
Пусть изображение будет I(r,θ), реальный (вращающийся) объект будет f(r,θ), где (r,θ) — это 2D полярные координаты. Мы выбрали полярные координаты для этой задачи из-за вращательного движения объектов.
Объект вращается с угловой частотой ω, а шаттер перемещается по изображению со скоростью v по вертикали. В положении (r,θ) на картинке, дистанция, которую прошел шаттер с начала экспозиции, равна y=rsinθ, где прошедшее с этого момента время равно (rsinθ)/v. За это время объект повернулся на (ω/v)rsinθ) радианов. Итак, мы получаем
что и является требуемой трансформацией. Коэффициент ω/v пропорционален числу вращений за экспозицию и параметризует трансформацию.
Чтобы получить более глубокое представление об очевидных формах пропеллеров, мы можем рассмотреть объект, состоящий из P пропеллеров, где f является ненулевым только для