Linear/16-bit RGBA display output too dark in Aximmetry.

Studio Operators Content Creation Composer Unreal

 

When running Unreal in Linear mode, we receive 16-bit RGBA feeds as expected. When Aximmetry outputs the 16-bit data for display on a 8-bit display, how do we control the conversion that gets applied?
The 8-bit signal appears way too dark, which makes us think Aximmetry is not using the right conversion to convert back the linear signal from Unreal to 8-bit RGB.

   jim4586

 
Profile Image
Eifert@Aximmetry
8/29/2022 11:31:09 AM
  -  

Hi Jim,

First, you probably want to make sure that all the textures and videos you use were also recorded in the right color space when using Linear.

Aximmetry will not automatically convert an output bit format based on where or how that output is connected.

You can change from 16-bit to 8-bit format with the Converter module in the Flow Editor.

Warmest regards,

 
Profile Image
jim4586
8/29/2022 12:49:16 PM
  -  

Hmm. No, this simply looks like Aximmetry is not using the right transform when displaying the linear content from Unreal on a rgb screen. It’s too saturated which means you apply the wrong gamma curve probably when converting linear to rgb for display.

 
Profile Image
Eifert@Aximmetry
8/30/2022 11:10:54 AM
  -  

Hi Jim,

Which gamma curves do you use in the Converter module? Or which one do you think is wrong?

Warmest regards,

 
Profile Image
jim4586
8/30/2022 11:27:57 AM
  -  

We are not using custom converters node, but whatever Aximmetry is using to convert linear output from Unreal to display on a monitor is not the right gamma curve. It’s over saturated. This is the curve Aximmetry uses internally to convert the linear data for display on rgb888.

 
Profile Image
Eifert@Aximmetry
8/30/2022 11:36:25 AM
  -  

Hi Jim,

Aximmetry doesn't use anything to convert the linear output from Unreal to display on a monitor. Aximmetry will not automatically convert an output bit format based on where or how that output is connected. You have to set up this conversion with the Converter module.

Warmest regards,

 
Profile Image
jim4586
8/30/2022 11:39:48 AM
  -  

That’s not correct.

Aximmetry does use something to display the image. Otherwise the linear data would look very desaturated. You cannot actually display linear data without converting it. So you have some kind of transform, and this looks a lot like the wrong gamma curve since otherwise it wouldn’t like this…

 
Profile Image
Eifert@Aximmetry
8/30/2022 11:53:32 AM
  -  

Hi Jim,

We will need more information.
Where did you set Unreal in Linear mode? The Unreal video output goes through a camera compound, if so, which one?
Can you share a screenshot of the Unreal video output when peeked?

Warmest regards,

 
Profile Image
jim4586
8/30/2022 12:02:03 PM
  -  

Just put Unreal to 16-bit output then you get Unreal looking very desaturated, but in Aximmetry all the pictures from Unreal are over saturated (wrong gamma curve). If you have the right gamma curve, the pictures in Aximmetry would look like close Unreal at 8-bit (before the switch to linear). It’s over saturated in Aximmetry.

 
Profile Image
Eifert@Aximmetry
8/31/2022 10:45:27 AM
  -  

Hi Jim,

Did you put Unreal to 16-bit output by changing the pipeline color space in Aximmetry (File->Properties->Rendering)?
Does an Aximmetry compound process the Unreal compound's video output?

Warmest regards,


 
Profile Image
jim4586
8/31/2022 1:36:30 PM
  -  

Yes and yes.

 
Profile Image
Eifert@Aximmetry
9/5/2022 1:41:46 PM
  -  

Hi Jim,

Just by changing the pipeline color space in Aximmetry you see different colors? And you have a normal 8-bit display?
If so, can you try this with a new Unreal project with starter content, to see if you experience the same behavior? Cause I was unable to recreate this.

Warmest regards,

 
Profile Image
jim4586
9/5/2022 1:55:41 PM
  -  

As said before you need to change the color space in Unreal to linear. Otherwise Unreal creates just 8 bit color. 

You will see that Aximmetry when displaying the linear data, does not use the right gamma / SRGB conversion.

 
Profile Image
Eifert@Aximmetry
9/12/2022 5:44:08 PM
  -  

Hi Jim,

Unreal renders in linear color space. There is no simple way to change that. What you can do for example is to change the textures to sRGB or linear which Unreal will convert to linear before rendering, or change the tone mapping of the rendered image...

I am still not sure what you change in Unreal.

Warmest regards,

 
Profile Image
jim4586
9/12/2022 5:47:14 PM
  -  

Again the problem is not Unreal. The problem is how Aximmetry renders linear to display those images then on a RGB8 monitor. You are using the wrong gamma curve which makes the images from unreal appear too saturated/dark.

unreal is set to linear that’s all. No changes, but your image pipeline in Aximmetry has a bug.

 
Profile Image
Eifert@Aximmetry
9/21/2022 5:02:56 PM
  -  

Hi Jim,

Do you use AR Camera?
If so, you can read here why you will see a different image in Aximmetry than in Unreal in the case of AR Camera: https://my.aximmetry.com/post/2186-unreal-ar-graphics-and-post-processing-v

Warmest regards,

 
Profile Image
jim4586
9/21/2022 5:29:12 PM
  -  

I am not saying it’s different. I am saying Aximmetry conversion of Unreal linear data to rgb8 for display is using the wrong gamma / linear conversion which is not consistent how Unreal encodes the linear data.

Here is an article that gives some back drop. There can be many different functions to convert from linear to RGB. And the one used by AXIMMETRY  is not right / comes our way too saturated when applied to linear color data from Unreal.

https://prolost.com/blog/aces

 
Profile Image
Eifert@Aximmetry
9/22/2022 6:11:22 AM
  -  

Hi Jim,

Just to confirm, you experience this problem with the AR camera or with other cameras? Cause they work very differently in this aspect.

Warmest regards,