Video signal and encoding

SDI signal range

From the old days of analog TV, we inherited the "YUV" image encoding – with the Y’CbCr format being the variant for digital images. From its analog history, Y’CbCr also inherited the concept of "headroom". The headroom of analog signals was designed to make these signals more robust to visible image artifacts.

The Y‘CbCr encoding of the SDI signal still implements that headroom in the form of not-to-be-used code values. For example, let‘s consider the 10-bit signal of an SDI signal. 10-bits of information can encode 1024 different states (2^10 = 1024), typically used as code values numbered 0 to 1023.

The "regular" values for the Y‘ channel‘s encoding (luma) are specified as just the values from 64 to 940. That is the range called "legal range" (other names are "video range", "SMPTE range", or "narrow range"). Outside of the legal range lies the headroom.

When sticking to the standards for "legal range", the code value 64 represents the blackest black that a display can reproduce, and the code value 940 the brightest white that a display can reproduce.

The range is purely a mapping — it does not change the image, and it is independent of the color space (any color space can be carried in either range). But the receiver must decode with the same range the sender encoded with, and there is no way to detect the range from the signal data itself. Always verify what both the sending and the receiving device are set to.

Troubleshooting: symptoms of a range mismatch

  • Legal range signal decoded as full range → image looks washed out: muted whites, lifted greyish blacks, low contrast

  • Full range signal decoded as legal range → image looks too contrasty, with crushed blacks and clipped whites

In practice

In HD-SDI broadcast workflows, we still work almost exclusively with 4:2:2 signals, and 4:2:2 is Y‘CbCr encoded and that is almost always expected to be a video/legal range signal. The exception being some of the HDR and log based formats.

In film production we typically use 4:4:4, which normally is RGB (although it can be YUV as well) and RGB usually is expected to be a full range signal. In Pixotope we we do not currently support 4:4:4 and/or RGB.

Special Cases for Full/Extended range video

Already in the early years of HD-SDI, the idea came up to use the unused and "wasted" headroom for transferring image information in digital Y’CbCr signals. The outlook of 15% more code values per channel has led to two main approaches for extending the use of code values beyond the "legal range":

  • Some systems with digital video (SDI) interfaces include settings for switching between "full range" and "legal range" video signals. These settings change all video processing of the device from a range of 64..940 to 4..1020 to extend the fidelity of the video. For example, these settings have been used for HD-CAM SR video tapes in some use cases.

    • This is not relevant for Pixotope, as we convert all incoming video into 32bit floating point processing space, which offer essentially "unlimited" fidelity for processing.

  • Some cameras use the headroom above code value 940 for sending out "super whites" / "super brights" beyond white. That way the increased dynamic range of camera sensors beyond the "legal" white level of SDR monitors can be transferred for further use, without changing the default appearance on a monitor. Typically the code values from 64 to 1019 are used in an SDI signal, and that range is called "extended range".

    • This is something to be mindful of when working with HDR range content, see table below.

    • Note that "super whites" only exist as a concept in legal/extended range — in full range there is no headroom area

Please consult your camera documentation or video engineer to learn how the signal is encoded, but as a reference:

  • ARRI LogC, Canon CanonLog2, RED Log3G10: These log signals are encoded in a legal range Y’CbCr signal.

  • Sony Slog2/Slog3, Panasonic VLog: These log signals are encoded in an extended range Y’CbCr signal.

  • The recommendation is to use narrow/legal range for HLG

  • Some PQ Signals require extended range

  • Camera output set to Rec.709: This is almost in every case a legal range Y’CbCr signal.

  • SDI inputs of professional monitors expect a legal range signal on default.

RGB vs Y’CbCr and chroma subsampling

RGB and Y’CbCr are two ways of packing the same image into a signal — this is a property of the transport, not of the color space. Y’CbCr separates the image into luminance (Y) and two color difference channels (Cb, Cr). The reason for doing this is chroma subsampling: because our eyes are less sensitive to color detail than to brightness detail, the color channels can be stored at reduced resolution to save bandwidth.

  • 4:4:4 — no subsampling, full resolution color

  • 4:2:2 — color channels at half horizontal resolution. This is the broadcast standard: 3G-SDI cannot carry 4:4:4 RGB at 50/60 fps (no such SDI format exists), so essentially all broadcast video is 4:2:2

  • 4:2:0 — quarter resolution color, common in consumer delivery

Why this matters for keying

When 4:2:2 video is unpacked back to RGB, the color channels have to be scaled up, and the filtering this requires creates artifacts at color boundaries — typically a halo-like fringe right at the edge between a green screen and the foreground, exactly where the keyer is most sensitive. This is why broadcast chroma keyers are built differently from film keyers, and why Pixotope's keyer includes Edge correction to hide these artifacts.

Learn more about how to Use the video keyer — including why detail/sharpening filters on the camera should be turned off before keying

Why this matters for XR output mapping

When mapping multiple regions onto the same SDI output (for example a floor and a wall side by side), always leave a gap of pixels between the regions. Chroma upscaling on the receiving side samples neighboring pixels, so regions placed directly adjacent will bleed into each other along the seam.

Bit depth

Bit depth is the number of distinct values each channel of an image can store. An 8-bit channel has 256 steps, a 10-bit channel has 1,024. Be aware that bit depth is sometimes quoted per channel (8-bit) and sometimes as the total of all three channels (24-bit) — they mean the same thing.

Bit depth

Values per channel

Typical use

8-bit

256

Consumer SDR, web

10-bit

1,024

Professional broadcast, HDR delivery

16-bit float

~65,000 + values above 1.0 and below 0

Intermediate processing

32-bit float

effectively unlimited

Scene referred working space

Too few steps cause banding — gradients break up into visible bands instead of blending smoothly (the classic example being very dark TV episodes turning into floating grey blobs on 8-bit displays).

Integer vs floating point

16-bit integer and 16-bit float are not the same. Integer formats cap values at 1.0 — anything brighter is clipped and permanently lost. Floating point formats can carry values above 1.0 and below 0, which is essential for HDR and scene referred processing.

Inside Pixotope, all color processing happens in floating point and is non-destructive. If you see banding or unexpected clipping appear inside Pixotope, something is wrong — it should never happen in a correctly configured pipeline. Note that most traditional broadcast equipment does not process in floating point, so values clipped outside Pixotope do not come back.

Verify your pipeline is lossless: grade your input video far down (e.g. gain 0.1) and compensate on the final output (gain 10). The image should come back identical. If detail is lost, values are being clipped or quantized somewhere along the way.

White balance and color temperature

Color temperature is a measurement of the color of light, in Kelvin: lower values are warmer/orange (tungsten ≈ 3200K), higher values are cooler/blue (daylight ≈ 5600K, shade 7000K+).

White balance is a calibration that defines which color counts as "neutral" white under the current lighting, shifting everything else around that reference point. It is not a color space conversion. Ideally lights, cameras and displays in a production are balanced to the same reference so they agree on what white is.

Learn more about Color management in Pixotope