Viewer dans la page Fusion de Resolve 19

Fusion occupe une place un peu particulière dans Resolve : Il travaille sur les sources mais en même temps peut avoir son propre Espace Colorimétrique (En fonction de la Color Science). Cela posait des soucis de Monitoring et Viewer. Voyons comment Resolve 19 permet une bonne adéquation de la couleur entre les viewers de Fusion et Color/Edit.

Voici la version courte de l’article : Le soucis de fidélité des couleurs des viewer, c’est du passé ! par contre le monitoring est toujours problématique.

Pour Rappel

  • Relisez l’article précédent qui reste valable pour le monitoring (un Moniteur calibré pour un espace Colorimétrique branché à une DeckLink ou un UltraStudio
  • le Video CleanFeed est un moniteur informatique supplémentaire branché sur la carte Graphique

Le facteur essentiel est la Color Science :

Davinci YRGB

Dans ce cas l’espace colorimétrique de fusion est le même que celui de la timeline. Il devrait être donc aussi celui du Monitoring. Il n’y a pas de « problème », car tous les viewer montres la même chose …. les données brutes du fichier.

Davinci YRGB Color Managed

Lors du travail dans Fusion si on regarde/envoie un node sur le moniteur externe, il risque très probablement de ne pas avoir la bonne luminance et chrominance… c’est dû aux différents Espaces colorimétriques dans Resolve.

L’espace colorimétrique de fusion est celui de la timeline mais linéarisé. C’est donc cela qui est envoyé sur les Viewers et le Monitoring

Pour que les Viewer correspondent aux autres pages Color et Edit de Resolve, une Transformation colorimétrique est appliquée. Initialement ce sont des LUTs qui assuraient cela, on continue de dire : (dés)active « la LUT du viewer ».

(dés)active « la LUT du viewer »

On va donc utiliser 2 nodes ColorSpaceTransform car ils ont la même mathématique que la ColorScience Davinci YRGB Color Managed

Dans les réglages de projet le timeline ColorSpace est le Davinci Wide Gamut / Davinci Intermediate et l’output ColorSpace est le Rec709 Gamma 2,4

Si le Output Gamma est de 2.4 ➧ cocher « Apply Forward OOTF »

On se retrouve avec un Monitoring identique dans Edit/Color et Fusion

Le video Clean Feed à l’air de fonctionner de la même manière (A confirmer)

Pour les Viewers, la LUT par défaut est désormais bonne. c’est la nouveauté.

ACEScct

Avec ACES il suffit d’un node ACESTransform, pour le monitoring & le video CleanFeed … voir l’article précédent

Et les Viewers sont désormais fidèles en couleur avec une « Lut » magique qui n’est autre qu’un ACEStransform

Les Nodes…

… a copier-coller dans votre node graph

le Davinci ColorManaged :

{
	Tools = ordered() {
		TimelineColorSpace = ColorSpaceTransform {
			NameSet = true,
			Inputs = {
				InputColorSpace = Input {
					SourceOp = "Publish1",
					Source = "Value",
				},
				OutputColorSpace = Input {
					SourceOp = "Publish1",
					Source = "Value",
				},
				OutputGamma = Input {
					SourceOp = "Publish2",
					Source = "Value",
				},
				SrcLumMax = Input { Disabled = true, },
				DstLumMax = Input { Disabled = true, },
			},
			ViewInfo = OperatorInfo { Pos = { 770, 16.5 } },
		},
		Publish1 = PublishFuID {
			CtrlWZoom = false,
			Inputs = {
				Value = Input { Value = FuID { "DWG_COLORSPACE" }, }
			},
		},
		Publish2 = PublishFuID {
			CtrlWZoom = false,
			Inputs = {
				Value = Input { Value = FuID { "DAV_INTER_OETF_GAMMA" }, }
			},
		},
		Viewer_sRGB = ColorSpaceTransform {
			CtrlWZoom = false,
			NameSet = true,
			Inputs = {
				InputColorSpace = Input {
					SourceOp = "Publish1_1",
					Source = "Value",
				},
				InputGamma = Input {
					SourceOp = "Publish2_1",
					Source = "Value",
				},
				OutputColorSpace = Input { Value = FuID { "SRGB_COLORSPACE" }, },
				OutputGamma = Input { Value = FuID { "SRGB_GAMMA" }, },
				SrcLumMax = Input { Disabled = true, },
				DstLumMax = Input { Disabled = true, },
				Input = Input {
					SourceOp = "TimelineColorSpace",
					Source = "Output",
				},
				Comments = Input { Value = "Use this node to Monitoriing via Decklink or ultraStudio\nOutput Gamut and Gamma must match with project settings", },
			},
			ViewInfo = OperatorInfo { Pos = { 935, 49.5 } },
		},
		Publish1_1 = PublishFuID {
			CtrlWZoom = false,
			Inputs = {
				Value = Input { Value = FuID { "DWG_COLORSPACE" }, }
			},
		},
		Publish2_1 = PublishFuID {
			CtrlWZoom = false,
			Inputs = {
				Value = Input { Value = FuID { "DAV_INTER_OETF_GAMMA" }, }
			},
		},
		OutputColorSpace = ColorSpaceTransform {
			NameSet = true,
			Inputs = {
				InputColorSpace = Input {
					SourceOp = "Publish1",
					Source = "Value",
				},
				InputGamma = Input {
					SourceOp = "Publish2",
					Source = "Value",
				},
				OutputColorSpace = Input { Value = FuID { "SRGB_COLORSPACE" }, },
				OutputGamma = Input { Value = FuID { "SRGB_GAMMA" }, },
				SrcLumMax = Input { Disabled = true, },
				DstLumMax = Input { Disabled = true, },
				Input = Input {
					SourceOp = "TimelineColorSpace",
					Source = "Output",
				},
				Comments = Input { Value = "Use this node to Monitoriing via Decklink or ultraStudio\nOutput Gamut and Gamma must match with project settings", },
			},
			ViewInfo = OperatorInfo { Pos = { 935, -16.5 } },
		}
	}
}

le ACES :

{
	Tools = ordered() {
		PipeRouter1 = PipeRouter {
			ViewInfo = PipeRouterInfo { Pos = { 770, 49.5 } },
		},
		Viewers = AcesTransform {
			CtrlWZoom = false,
			NameSet = true,
			Inputs = {
				InputTransform130 = Input { Value = FuID { "IDT_ACESCG" }, },
				OutputTransform130 = Input { Value = FuID { "ODT_SRGB" }, },
				Input = Input {
					SourceOp = "PipeRouter1",
					Source = "Output",
				},
			},
			ViewInfo = OperatorInfo { Pos = { 880, 82.5 } },
		},
		OutputColorSpace = AcesTransform {
			NameSet = true,
			Inputs = {
				InputTransform130 = Input { Value = FuID { "IDT_ACESCG" }, },
				OutputTransform130 = Input { Value = FuID { "ODT_REC_709" }, },
				Input = Input {
					SourceOp = "PipeRouter1",
					Source = "Output",
				},
			},
			ViewInfo = OperatorInfo { Pos = { 880, 16.5 } },
		}
	}
}

Commentaires

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur la façon dont les données de vos commentaires sont traitées.