RP-NDI-HDR_2019_11
proposal for HDR Profile description in NDI
This page contains a technical proposal which is not currently a published or formal standard. If you have comments or feedback on the content of this proposal PLEASE contact us with your contribution.
The published NDI IP Video protocol SDK does not currently offer any guidance on definition of HDR profile in an NDI Stream. However, NDI has multiple real time metadata mechanisms which could easily carry this information. This document is a proposal to standardise support for HDR in order to prevent different implementations by each vendor by way of a recommended practice technical note.
Basic Premise:
The focus is based on the need to communicate the HDR profile within a single NDI video stream. Whilst the NDI protocol dictates the color range used as BT.601 for SD, Rec.709 for HD and Rec.2020 for UHD, it does not provide a specification for the HDR color profile, be that PQ or HLG (which then implies Rec.2100 color space). This proposal adds this information to an NDI stream such that an NDI receiver can appropriately process the incoming data.
The documented XML metadata is passed within the per frame metadata of the NDI video stream. It allows the definition of which HDR profile is being used by the device creating the NDI Stream.
Example :
ndi_video_frame.p_metadata =
<HDR_PROFILE>HLG</HDR_PROFILE>
or
<HDR_PROFILE>PQ</HDR_PROFILE>
or
<HDR_PROFILE>Default</HDR_PROFILE>
or
<HDR_PROFILE>SDR</HDR_PROFILE>
in the case of non HDR video
To enhance this you can include additional detail in attributes as shown below :
<HDR_PROFILE primaries="bt_2020" transfer="bt_2100_hlg" matrix="bt_2020">HLG</HDR_PROFILE>
<HDR_PROFILE primaries="bt_2020" transfer="bt_2100_hlg" matrix="bt_2020">HLG</HDR_PROFILE>
<HDR_PROFILE primaries="bt_709" transfer="bt_709" matrix="bt_709">SDR</HDR_PROFILE>
and if adding attributes the implied value can be omitted and the tag shortened as shown below :
<HDR_PROFILE primaries="bt_2020" transfer="bt_2100_hlg" matrix="bt_2020"/>
<HDR_PROFILE primaries="bt_2020" transfer="bt_2100_hlg" matrix="bt_2020"/>
<HDR_PROFILE primaries="bt_709" transfer="bt_709" matrix="bt_709"/>
UPDATE: NDI6 introduced a definition for HDR metadata which does not follow the 2019 standard proposed.
The 2019 proposed standard remains as an option for applications using the standard NDI SDK and need to tag video with HDR metadata
If you have any questions, or you would like to engage Sienna for NDI Consultancy or Custom Development, please contact info @ sienna.tv
appsupport @ gallery.co.uk