Кіріспе
Цифрлық композиция – бұл әдетте баспаға, киноға немесе экранға көрсету үшін бірнеше кескінді цифрлық түрде біріктіріп, түпкілікті кескін жасау процесі. Бұл оптикалық пленкалық композицияның цифрлық аналогы. Ол VFX өңдеу процесінің бір бөлігі болып табылады.
Алгебралық қасиеттер
Көптеген жартылай мөлдір қабаттарды біріктіру қажет болғанда, қолданылатын композиция операторларының алгебралық қасиеттерін қарастыру маңызды. Атап айтқанда, ассоциативтілік және коммутативтілік қайта есептеуді қашан болдырмауға болатынын немесе қашан қажет екенін анықтайды. Соңғы кескінді алу үшін төрт қабатты біріктіруді қарастырайық: 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 болды, ол түсірілім материалдарының жарыққа жауабын жақынрақ бейнелейді (Kodak компаниясы жасаған Cineon жүйесі қазір өндірілмейді). Өңдеу жылдамдығы мен жадтың шектеулі болуына байланысты, композиторлар композициялау кезеңдері үшін жүйенің аралық сызықтық кеңістікке түрлендіруін жасау мүмкіндігіне ие болған жоқ. Уақыт өте келе, бұл шектеулердің маңыздылығы азайды және қазір композициялаудың көп бөлігі сызықтық түстер кеңістігінде жасалады, тіпті бастапқы суреттер логарифмдік түстер кеңістігінде болған жағдайларда да. Композициялауға көбінесе кескіндерді өлшемдеу, ретушьтеу және түс түзеу кіреді.
Тораптық және қабаттық композициялау
Екі түбегейлі түрлі цифрлық композициялау әдісі бар: түйінге негізделген композициялау және қабатқа негізделген композициялау. Түйінге негізделген композициялау бүкіл композицияны бағытталған ациклдік граф ретінде көрсетеді, медиа нысандарын және эффектілерді процедуралық картада байланыстырады, бастапқы дереккөзден соңғы нәтижеге дейінгі өрбуді интуитивті түрде көрсетеді және шындығында барлық композициялау қолданбалары композиттерді ішкі түрде осылай өңдейді. Осы типтегі композициялау интерфейсі үлкен икемділікті қамтамасыз етеді, соның ішінде ертерек кескін өңдеу қадамын "контексте" (соңғы композицияны қарап тұрып) өзгерту мүмкіндігі де бар. Түйінге негізделген композициялау пакеттері көбінесе негізгі кадрларды және уақыт эффектілерін нашар басқарады, өйткені олардың жұмыс ағыны қабатқа негізделген композициялау пакеттері сияқты тікелей уақыт шкаласынан туындамайды. Түйін интерфейсін қолданатын бағдарламалық құралдар: Natron, Shake, Blender, Blackmagic Fusion және Nuke. Түйіндер – бұл күрделі кадрдағы эффектілерді ұйымдастырудың және кішірек бөлшектерді бақылауда ұстаудың тамаша тәсілі. Қабатқа негізделген композициялау композиттегі әр медиа нысанын уақыт шкаласындағы жеке қабат ретінде көрсетеді, әрқайсысының өзіндік уақыт шегі, эффектілері және негізгі кадрлары болады. Барлық қабаттар бір-бірінің үстіне, кез келген ретпен жиналады; ал төменгі қабат әдетте алынған кескіннің негізі ретінде көрсетіледі, әр жоғары қабат бұрынғы композицияланған қабаттардың үстіне бірте-бірте салынады, барлық қабаттар соңғы композицияға біріктірілгенге дейін жоғары қарай жылжиды. Қабатқа негізделген композициялау жылдам 2D және шектеулі 3D эффектілер үшін өте қолайлы, мысалы, моушн-графикада, бірақ көптеген қабаттарды қамтитын күрделі композициялар үшін қиындық тудырады. Бұған жартылай шешім ретінде кейбір бағдарламалар элементтердің (мысалы, кескіндер, эффектілер немесе басқа атрибуттар) композициялық ретін ағымдық схема деп аталатын визуализациялық схема арқылы көруге мүмкіндік береді, сондай-ақ композицияларды ("комптерді") тікелей басқа композициялардың ішіне ендіруге болады, осылайша рендерлеу ретіне күрделілік қосылады – алдымен бастапқы композициядағы қабаттарды құрастыру, содан кейін алынған кескінді келесі композициядан алынған қабатты кескіндермен біріктіру және т.б.