High Dynamic Range (HDR), often in combination with wide color gamut (WCG), is a way to improve the colors shown on screens. 

Info: HDR support is implemented on 1080p or higher resolutions only. For hardware limitations check the corresponding section below.

Introduction

There are several implementations and standards that define High Dynamic Range video as input, output or a combination with rendered content. The following is a short overview of the most common standards:

BT.2020

BT.2020 is a color space with a WCG. It covers a larger subset of visible colors than, for example, BT.709. Currently, all HDR settings in Viz Engine use the BT.2020 color space with ten bits per component (bpc) color depth.

PQ (Perceptual Quantization)

PQ is standardized as SMPTE ST 2084. PQ defines the luminance levels up to 10,000 cd/m2 (nit).

HLG (Hybrid Log-Gamma)

HLG provides a relative value tied to the gamma and logarithmic curve. This system supports practical luminance levels from 1,000 up to 2,000 cd/m2. HLG is compatible with conventional SDR systems, which means that TVs that do not support HDR are able to reproduce HDR.

S-LOG3

S-Log is a gamma curve with a wide dynamic range optimized under the assumption that grading is performed in the post-production process. S-Log3 provides better reproduction of gradation characteristics in shadows and in the mid-tone range than previous S-Log versions; it has characteristics closer to those of scanned film.

HDR Support in Viz Engine with Matrox Boards

Viz Engine supports the following use cases:

  • DVE pass-through of HDR signals in SDI and ST 2110 (since 3.12 or higher).

  • Pass-through of HLG (since 3.12 or higher) and S-Log3 (since 5.3 or higher) texture inputs as scene background.

  • SDR overlay on HLG (since 3.12 or higher) or S-Log3 (since 5.3 or higher) content.

Requirements

  • Matrox X.mio3 or newer video board.

  • 1080p or UHD resolution.

  • P6000 or higher GPU.

  • Super-Black and Super-White settings need to be set accordingly.

Limitations

  • Expect higher delays when using HDR in UHD environments due to increased processing requirements; in that case, the ring buffer needs to be enabled but can be set lower than the default value of 5 (for example, =1).

  • Rendering for HDR requires much more GPU power than SDR does.

  • Only live (SDI & ST 2110) and clip inputs are currently supported.

  • No conversions between different frame rates or resolutions are currently supported when HDR is used. Clip input channels can only play clips that have the same resolution.

  • Ringing Filter is not available in HDR.

  • The number of available DVE layers is lower when using 10-bit inputs.

Note: Due to hardware limitations X.mio3 does not support HDR with 2160p resolutions. For UHD/HDR resolutions and higher, an X.mio5 is required.

How to Configure HDR

Most of the settings required for HDR are not yet exposed in the GUI. These settings must be changed in the Viz Engine config file.

  • Set the output format to 1080p or UHD.

  • Set the colorimetry of the output: output_colorimetry = ITUR_BT_2100_HLG or output_colorimetry = ITUR_BT_2100_SLOG3.

  • Set the bits per component of the output: output_bpc = 10.

  • Set the renderer to use 16 bits per channel: bits_per_channel = 16.

  • Set the color space conversion to shader: rgb_2_yuv = 1.

For Inputs

  • Set the input to the same resolution, frame rate and colorimetry as the output.

  • Set input bits per component to 10 if required. Example: clip_bpc1 = 10.

For SDR Overlays

  • Enable Color LUT in configuration Render Options.

  • Select the conversion to use. You can use a built-in conversion for HLG or use a custom conversion by providing a LUT as a cube file.

    • Select Display-referred direct mapping of SDR to HLG to use the built-in LUT

    • or provide a file path in the config file: color_lut_filepath = C:\path\to\file.cube.

If a LUT file path is set in the configuration file, that LUT is used instead of the build-in one.

SDR Overlay in HDR Environment

To maintain the appearance of SDR signals in an HDR environment, the signals must be converted. This is useful for rendering existing overlays on HDR content. Viz Engine currently supports this conversion in HLG environments. The recommended scene design is an input as scene background or DVE with an SDR overlay. Depending on the render sequence, the conversion is applied to keyed elements of a scene. The conversion is not applied on additional GFX Channel DVE layers.

Additional Information for S-Log3

A proper LUT needs to be provided when using S-Log3 HDR.

Note: As the Sony documentation is somewhat unclear whether any given value encoded in the LUT is meant to be used in narrow (64 to 940) or full range (0 to 1023) scaling, it is dependent on the used LUT. To compensate, use the configuration setting color_lut_scale_to_full_range = 1 if necessary.

HDR Support in Viz Engine with NDI

Viz Engine 5.3 supports pass-through of HLG texture inputs as scene background and SDR overlays with NDI.

Note: HDR with NDI requires software I/O mode NDI and does not work with Classic scenes

How to Configure HDR with NDI

Most of the settings required for HDR are not yet exposed in the GUI. These settings must be changed in the Viz Engine config file.

  • Select software I/O mode NDI in section Video Board.

  • Output:

    • Set the output format to 1080p or UHD.

    • Set the colorimetry of the output to HLG: output_colorimetry = ITUR_BT_2100_HLG.

    • Set the renderer to use 16 bits per channel: bits_per_channel = 16.

  • Input:

    • Set Type to NDI.

    • Set Bits Per Channel to 16.

Note: NDI input streams are only treated as HLG if the streams metadata is set accordingly by the sender.

SDR Overlay in HDR Environment

The scene design rules for HDR in SDI environments also apply to NDI environments, with two notable differences:

  1. Hardware DVE is not available.

  2. S-Log3 is not supported.