Блог Amazon Web Services
Преобразование частоты кадровой развёртки с помощью использования технологии «FrameFormer» от компании Insync и облачного сервиса AWS Elemental MediaConvert
Оригинал статьи: ссылка (автор: Паола Хобсон, управляющий директор компании InSync Technology, Ltd.)
Компания AWS не несет ответственности за содержание или точность материалов в данной статье, т.к. она принадлежит стороннему автору.
Преобразование частоты кадровой развёртки
С первых дней начала телевизионного вещания зрители хотели смотреть прямые новостные включения, международные спортивные события, развлекательные и культурные программы из других стран. Однако международный обмен программами не такой простой процесс из-за различий в телевизионных стандартах, принятых в разных частях мира. Данное утверждение справедливо и для мировой индустрии кинопроката, где также необходимо создавать контент в форматах, подходящих для просмотра на клиентских устройствах (в основном речь идет про ТВ), используемых в той или иной стране. Это является сложной задачей и по своей сути требует преобразования формата и частоты кадровой развёртки в зависимости от выбранного региона потребления контента.
Преобразователи форматов и стандартов необходимы для обеспечения наиболее качественного воспроизведения исходного контента для любого типа аудитории, или, по крайней мере, обеспечение максимально возможного результата, на используемом зрителем устройстве отображения. Неправильное преобразование стандартов приводит к размытию изображения, дрожанию в сценах с движением и ломанным диагональным линиям. Неудовлетворенность качеством просмотра напрямую способствует оттоку абонентов и потере доходов оператора. Высококачественное преобразование частоты кадров важно для каждого владельца контента, стремящегося к глобальной монетизации своих активов. В этой статье объясняется, как добиться стабильных высококачественных результатов для преобразования частоты кадровой развёртки с помощью технологии компенсации движения от компании ”InSync”, которая используется в облачном сервисе для транскодирования видео файлов компании AWS — AWS Elemental MediaConvert (MediaConvert). Данный сервис позволяет легко обрабатывать контент видео по запросу (VOD) для обеспечения его вещания и доставки на широкое число приемных устройств.
Зачем нужно конвертировать частоту кадров?
Вы воспринимаете движение при просмотре фильма или видеоконтента, потому что устройство, на котором Вы осуществляете просмотр, каждую секунду отображает на экране определенное количество отдельных изображений или кадров, создавая иллюзию движения. В США, например, частота кадров домашнего телевизора обновляется со скоростью около 29,97 кадров в секунду (кадр/с).
Если Вы смотрите сериал или фильм, снятый в США, контент там снят со скоростью 29,97 кадров в секунду. Это точно соответствует требованиям к входному сигналу для телевизора в этой стране, и зритель только в этом случае может наслаждаться субъективным эффектом плавного движения на экране его ТВ.
В Европе же стандарт телевизионного отображения составляет 25 кадров в секунду. Ну а если вы смотрите контент на ноутбуке, планшете или смартфоне в какой точке мира, частота обновления экрана может составлять от 60 до 120 кадров в секунду, а на игровых дисплеях — 144 кадра в секунду и выше.
Производители контента создают видео с огромным диапазоном частот кадров, включая 23.98, 24, 25, 29.97, 30, 50, 59.94 и 60 кадров в секунду. Преобразование частоты кадров требуется каждый раз, когда частота кадров, используемая в производстве, и частота кадров устройства отображения различаются. ТВ Шоу, созданное со скоростью 29,97 кадра в секунду, не будет правильно отображаться на устройствах отображения с частотой 25 кадров в секунду, без соответствующего преобразования частоты кадров (конвертации стандартов). Плохо выполненное преобразование стандартов вызывает видимые артефакты, включая движение с рывками, пульсацию или мерцание детализированных областей сцены, затенение или «двоение изображения» объекта и другие видимые дефекты.
Простое преобразование частоты кадров
Вещатели используют определенную частоту кадров в зависимости от региона вещания. Для примера, европейские телевещательные компании передают видео со скоростью 25 кадров в секунду, и европейские телезрители в связи с этим будут иметь 25 кадров в секунду дома. Но если бы перед европейским вещателем стояла задача транслировать американское ток-шоу со скоростью 29,97 кадра в секунду, то теоретически он мог бы изменить метаданные в видеофайле так, чтобы он выглядел, как программа со скоростью 25 кадров в секунду. Однако это бы привело к более медленному воспроизведению содержимого и отрицательно повлияло на скорость движения объектов в сцене. Это также исказило бы воспроизведение звука. Данная практика «снижения скорости» используется в определенных, ограниченных ситуациях там, где требуется небольшое изменение частоты кадров, например, с 23.98 до 25 кадров в секунду. В этих случаях изменение звука незаметно. Однако вещательной компании придется согласиться с изменением длины программы на 4%.
При потоковой передаче видео на мобильные устройства (вещание/стриминг через интернет) частота кадров может быть любой из перечисленных выше. Стриминговый сервис, в этом случае, полагается на программный проигрыватель/декодер, который должен обеспечить, чтобы исходная частота кадров совпадала с частотой кадров отображающего устройства. Для таких преобразований частоты кадров используются очень простые приёмы: копирование кадров со входа на выход, там где время их представления близко или совпадает между входом и выходом, и отбрасывание или дублирование кадров, где это необходимо, для поддержания требуемой общей частоты кадров по выходу. Облачный сервис AWS для транскодирования файлов (AWS Elemental MediaConvert) имеет данный функционал в своем арсенале. Это параметр в списке меню алгоритмов преобразования частоты кадров: «отбрасывание/повтор или дублирование» кадров (“Drop duplicate”) (рис. 1).
Рисунок 1: Опция отбрасывания или дублирования кадров
Такой подход «отбрасывание/повтор» полезен в определенных случаях, но может вызвать и проблемы в ряде других случаев. Неестественное и прерывистое движение; звуковые артефакты, когда звуковые пакеты теряются или повторяются при отбрасывании/повторе кадра; повреждение метаданных, где пакеты с субтитрами могут быть потеряны или повторены – всё это недостатки, которые могут возникнуть при использовании этого метода. Учитывая все факты, перечисленные выше, данный метод может быть достаточным для уровня пользовательского видео или корпоративных видеоприложений, но для профессиональных видеоприложений обычно требуются другие, более сложные методы преобразования частоты кадровой развёртки.
Преобразование с компенсацией движения – решение без компромиссов
Линейная интерполяция – еще один простой способ создания новых кадров. MediaConvert включает данную опцию интерполяции, как показано на рисунке 1 выше. В простейшем смысле линейная интерполяция использует пиксели из двух входных кадров для создания пикселей в новом кадре, временно лежащих между ними. Простая линейная интерполяция с использованием взвешенной суммы существующих пикселей для создания новых выходных пикселей позволяет обойти некоторые проблемы, связанные с пропуском/повторением кадров, но, по-прежнему, может вызывать проблемы качества изображения, такие как размытие, потеря разрешения и неестественное движение объектов, также известное как « дрожание».
Даже с учетом адаптации движения, когда различная обработка применяется к неподвижным и движущимся областям изображения, линейное преобразование частоты кадров является лишь компромиссом. На практике реальные изображения редко бывают полностью стационарными, и общие эффекты, такие как изменение освещения и шум изображения, могут способствовать ложному обнаружению движения, что неизбежно снижает качество выходного изображения.
Самый надежный способ добиться высококачественного преобразования частоты кадров и избежать нежелательных визуальных или звуковых эффектов — это использовать технологию компенсации движения. Конвертер частоты кадров с компенсацией движения вычисляет движение между кадрами в контенте и определяет, куда перемещать объекты при создании новых кадров между ними, как показано на Рисунке 2.
Рисунок 2: Иллюстрация преобразования частоты кадров с компенсацией движения
Как показано на рисунке 2, если мы можем вычислить изменение положения объекта между кадрами 1 и 2, и мы знаем временной интервал между этими кадрами, а также, если мы предположим, что объект движется с постоянной скоростью, то мы можем определить где объект должен быть на любом другом временном интервале. Таким образом, преобразование с компенсацией движения может воспроизводить объект в любых интерполированных или повторно синхронизированных кадрах. Поэтому все объекты изображения при этом остаются резкими и в фокусе, а их движение отображается плавно, без дрожания или неравномерного перемещения.
“FrameFormer” преобразование с компенсацией движения
MediaConvert имеет в своем арсенале возможность использования технологии “FrameFormer” для выполнения высококачественного преобразования частоты кадров с использованием сложной обработки для обеспечения стабильных результатов. Создание новых изображений с разными временными интервалами требует чрезвычайно точного расчёта векторов движения. В простом случае, показанном на рисунке 2, одиночный объект движется с постоянной скоростью на ровном фоне. На практике настоящие телепрограммы содержат несколько объектов, которые движутся с разной скоростью, перекрывают друг друга, входят в сцену и выходят из нее, а также входят и выходят из поля зрения камеры. Даже предположение о постоянной скорости — огромное упрощение.
Рисунок 3: Иллюстрация различных типов движения в сцене
На рисунке 3 показан пример типичного движения, где стрелки разной длины показывают, как каждый человек идет в разном направлении и с разной скоростью. Люди пересекаются друг с другом, входят в кадр и выходят из него, некоторые идут к камере и кажутся больше, а другие уходят от камеры и кажутся меньше. Более того, хотя мы не видим этого на неподвижном изображении, камера может перемещаться по кадру, а это означает, что существует как глобальное, так и локальное движение. Типичные сцены также включают вращающиеся объекты, масштабирование камеры и специальные эффекты. Дополнительные сложности возникают из-за наложения графики на изображение, таких как заголовки и титры.
“FrameFormer” использует фазовую корреляцию для оценки движения. Метод фазовой корреляции использует преобразование Фурье для преобразования данных изображения в частотную область. Преобразование Фурье — это математический процесс, который разлагает временной сигнал на составляющие его частоты. Двумерное преобразование Фурье, применяемое к данным изображения (пространственная область), предоставляет информацию о вертикальной и горизонтальной фазе и частотных деталях изображения. Значения величины нормализованы, так что все они вносят одинаковый вклад. Размер и направление присутствующих движений затем могут быть получены путем вычитания фаз, полученных из двух последовательных кадров, и преобразования результата обратно в пространственную область.
Применение одной фазовой корреляции недостаточно для выполнения компенсации движения самостоятельно. Этот метод определяет движения, присутствующие в изображении, но не определяет, какие области изображения имеют это движение. Следовательно, измеренные движения должны быть сопоставлены с конкретными областями изображения, которые обычно представляют отдельные объекты реального мира.
Также следует, учесть, что в контенте с шумами, низким разрешением или размытием оценить движение еще сложнее. Другие свойства содержимого, такие как изменения кадра, скрытые и открытые элементы изображения, изменения яркости и наличие резких границ изображения, добавляют дополнительную сложность анализу оценки движения. В технологии “FrameFormer” используется ряд запатентованных приемов обработки видео для повышения точности и устойчивости, которые учитывает эти типовые проблемы с контентом.
Использование “FrameFormer”
В MediaConvert, когда Вы выбираете выходную частоту кадров, отличную от входной частоты кадров, вы получаете доступ к списку меню с выбором алгоритмов преобразования частоты кадров. Просто выберите “FrameFormer” для преобразования частоты кадров с компенсацией движения.
Настройка значений частоты кадровой развёртки
“FrameFormer” генерирует выходную последовательность с точно такой частотой кадров, которая необходима для вашего приложения. Работа с дробной частотой кадров требует дополнительной точности. Частота кадров, которую часто называют «59 кадр/с», на самом деле составляет 60/1.001 кадр/с. Если вы введете «59» в поле выбора частоты кадров, “FrameFormer” сгенерирует выходную последовательность ровно со скоростью 59 кадров в секунду. Это может привести к непредвиденным ошибкам при отображении 59 кадров в секунду на устройстве отображения 60/1.001 кадров в секунду или при загрузке видео 59 кадров в секунду в приложение 60/1.001 кадров в секунду для дальнейшего редактирования. Эти ошибки включают прерывистое движение или невозможность воспроизведения видео.
Как показано на рисунке 4, вы можете выбрать частоту кадров из раскрывающегося списка или, если вы работаете с дробной частотой кадров, вы можете ввести дробную часть в доступные поля. Например, вы должны ввести 60000/1001 для получения контента с частотой 59.94 кадров в секунду.
Рисунок 4: ввод дробной частоты кадров
Заключение
Поскольку преобразование частоты кадров критически важно для поддержания качества изображения при глобальном распространении контента, при использовании MediaConvert важно задействовать дополнительные технологии, такие как “FrameFormer”. “FrameFormer” предоставляет все важные элементы преобразования частоты кадров с компенсацией движения при использовании ее в MediaConvert. “FrameFormer” — это результат многолетнего опыта работы в сфере преобразования стандартов, который дает вам уверенность в достижении результата, которого ожидают ваши зрители.