Monitoring et Viewer dans la page Fusion de Resolve


Fusion occupe une place un peu particulière dans Resolve : Il travaille sur les source mais en même temps peut avoir son propre Espace Colorimétrique (En fonction de Color Science). Cela pose des soucis de Monitoring et Viewer. De facto ils ne sont pas « réglés » comme le Monitoring et les Viewer du reste de Resolve.

Pour Rappel

  • le Monitoring est un Moniteur calibré pour un espace Colorimétrique et branché via 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.

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û Espaces colorimétriques dans Resolve.

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

Pour qu’ils correspondent aux autres pages Color et Edit de Resolve, il faut manuellement faire ce que fait resolve :

  1. Une conversion du Fusion ColorSpace vers le Timeline ColorSpace
  2. Une conversion du Timeline ColorSpace vers l’Output ColorSpace

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

Pour les Viewers, la LUT par défaut n’est pas bonne. L’espace colorimétrique des viewer est sRGB. Ajoutons un ColorSpaceTransform pour les Viewers

Bien penser à désactiver la LUT du viewer pour éviter un double gestion de la couleur.

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

ACEScct

Avec ACES il suffit d’un node ACESTransform, pour le monitoring et un pour les Viewers

Le fusion ColorSpace est ACEScg et l’ACES output Transform est Rec709

Bien penser à désactiver la LUT du viewer pour éviter un double gestion de la couleur.

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

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 } },
		}
	}
}
,

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 comment les données de vos commentaires sont utilisées.