stringtranslate.com

Цифровой композитинг

Четыре изображения собраны в одно окончательное изображение

Цифровая композиция — это процесс цифровой сборки нескольких изображений для создания окончательного изображения, обычно для печати, кинофильмов или отображения на экране. Это цифровой аналог оптического пленочного композитинга . Это часть обработки VFX .

Математика

Основная операция, используемая в цифровой композиции, известна как альфа-смешение , где значение непрозрачности «α» используется для управления пропорциями двух значений входных пикселей , которые в конечном итоге образуют один выходной пиксель.

В качестве простого примера предположим, что имеются два изображения одинакового размера, и их необходимо объединить. Входные изображения называются изображением переднего плана и фоновым изображением. Каждое изображение состоит из одинакового количества пикселей. Компоновка выполняется путем математического объединения информации от соответствующих пикселей двух входных изображений и записи результата в третье изображение, которое называется составным изображением.

Рассмотрим три пикселя;

и

Затем, учитывая все три цветовых канала и предполагая, что цветовые каналы выражены в цветовом пространстве γ=1 (то есть измеренные значения пропорциональны интенсивности света), мы имеем:

c р знак равно α ж р + (1 − α) б р
c г знак равно α ж г + (1 - α) б г
c b знак равно α f b + (1 − α) b b

Обратите внимание: если операции выполняются в цветовом пространстве, где γ не равно 1, то операция приведет к нелинейным эффектам, которые потенциально можно рассматривать как артефакты сглаживания (или « зубцы ») вдоль острых краев подложки. В более общем смысле, нелинейная композиция может иметь такие эффекты, как «ореолы» вокруг составных объектов, поскольку влияние альфа-канала нелинейно. Художник по композиции может компенсировать эффекты композиции в нелинейном пространстве.

Выполнение альфа-смешивания является дорогостоящей операцией, если оно выполняется для всего изображения или 3D-сцены. Если эту операцию необходимо выполнить в видеоиграх в реальном времени, есть простой способ повысить производительность.

c out = α f in + (1 − α) b in
c out = α f in + b in − α b in
c out = b in + α (f in − b in )

Просто переписав математическое выражение, можно сэкономить 50% необходимых умножений.

Алгебраические свойства

Когда необходимо скомпоновать множество частично прозрачных слоев, стоит учитывать алгебраические свойства используемых операторов композиции. В частности, ассоциативность и коммутативность определяют, когда можно или нельзя избежать повторных вычислений.

Рассмотрим случай, когда нам нужно смешать четыре слоя для создания окончательного изображения: F=A*(B*(C*D)), где A, B, C, D — частично прозрачные слои изображения, а «*» обозначает оператор композиции. (левый слой находится поверх правого слоя). Если изменится только слой C, мы должны найти способ избежать повторного смешивания всех слоев при вычислении F. Без каких-либо особых соображений необходимо будет выполнить четыре смешивания полных изображений. Для коммутативных операторов композиции , таких как аддитивное смешивание , можно безопасно переупорядочить операции смешивания. В этом случае мы могли бы вычислить T=A*(B*D) только один раз и просто смешать T*C для получения F, за одну операцию. К сожалению, большинство операторов некоммутативны. Однако многие из них являются ассоциативными , что позволяет безопасно перегруппировать операции в F=(A*B)*(C*D), т. е. не меняя их порядка. В этом случае мы можем вычислить S:=A*B один раз и сохранить этот результат. Чтобы сформировать F с помощью ассоциативного оператора, нам нужно выполнить всего две дополнительные операции композиции для интеграции нового слоя S, вычислив F:=S*(C*D). Это выражение указывает на композицию C со всеми слоями ниже него за один шаг, а затем смешивание всех слоев поверх него с предыдущим результатом для получения окончательного изображения на втором шаге.

Если все слои изображения регулярно изменяются, но многие слои все еще необходимо скомпоновать (например, при распределенном рендеринге ), коммутативность оператора композиции все равно можно использовать для ускорения вычислений за счет параллелизма , даже если предварительное вычисление не дает никакой выгоды. . Снова рассмотрим изображение F=A*(B*(C*D)). Каждая операция композиции в этом выражении зависит от следующей, что приводит к последовательным вычислениям. Однако ассоциативность может позволить нам переписать F=(A*B)*(C*D), где явно есть две операции, которые не зависят друг от друга и могут выполняться параллельно. В общем, мы можем построить дерево парных операций компоновки с высотой, логарифмической по числу слоев.

Программное обеспечение

Наиболее исторически значимой системой нелинейного композитинга была Cineon , которая работала в логарифмическом цветовом пространстве, которое более точно имитирует естественный световой отклик пленочных эмульсий (система Cineon, созданная Kodak , больше не производится). Из-за ограничений скорости обработки и памяти художники по композиции обычно не могли позволить себе роскошь заставлять систему выполнять промежуточные преобразования в линейное пространство для этапов композиции. Со временем ограничения стали гораздо менее существенными, и теперь большая часть композиции выполняется в линейном цветовом пространстве, даже в тех случаях, когда исходное изображение находится в логарифмическом цветовом пространстве.

Композитинг часто также включает в себя масштабирование , ретушь и цветокоррекцию изображений.

Композитинг на основе узлов и слоев

Существует два радикально разных рабочих процесса цифрового композитинга: композитинг на основе узлов и композитинг на основе слоев.

Композитинг на основе узлов представляет всю композицию в виде направленного ациклического графа , связывающего медиа-объекты и эффекты в процедурной карте, интуитивно определяющей прогресс от исходного ввода до конечного вывода, и фактически это способ внутренней обработки композитов во всех приложениях композитинга. Этот тип интерфейса композитинга обеспечивает большую гибкость, включая возможность изменять параметры более раннего этапа обработки изображения «в контексте» (при просмотре окончательного композита ). Пакеты композитинга на основе узлов часто плохо обрабатывают ключевые кадры и временные эффекты, поскольку их рабочий процесс не вытекает непосредственно из временной шкалы, как пакеты композитинга на основе слоев. Программное обеспечение, включающее интерфейс на основе узлов, включает Natron , Shake , Blender , Blackmagic Fusion и Nuke . Узлы — отличный способ организовать эффекты в сложном кадре, сохраняя при этом внимание к мелким деталям.

Компоновка на основе слоев представляет каждый медиа-объект в композиции как отдельный слой на временной шкале, каждый со своими временными границами, эффектами и ключевыми кадрами. Все слои укладываются один над другим в любом желаемом порядке; а нижний слой обычно визуализируется как основа результирующего изображения, при этом каждый более высокий слой постепенно визуализируется поверх ранее составленных слоев, перемещаясь вверх до тех пор, пока все слои не будут преобразованы в окончательную композицию. Композитинг на основе слоев очень хорошо подходит для быстрых 2D- эффектов и ограниченных 3D- эффектов, например, в анимированной графике, но становится неудобным для более сложных композиций, предполагающих множество слоев. Частичным решением этой проблемы является способность некоторых программ просматривать составной порядок элементов (таких как изображения, эффекты или другие атрибуты) с помощью визуальной диаграммы, называемой блок-схемой , для вложения композиций или «композиций» непосредственно в другие композиции. тем самым усложняя порядок рендеринга за счет сначала композиции слоев в начальной композиции, затем объединения этого результирующего изображения с многослойными изображениями из последующей композиции и так далее.

Смотрите также

Внешние ссылки

дальнейшее чтение