airZStudio
Solutions Products airZ Editor airZ Controller airZ Engine Docs Blog Request a demo

Fill and key, NDI with alpha and genlock: how graphics reach the vision mixer

A graphics engine does not put a finished picture on air. It sends the vision mixer two things: the graphic itself, called the fill, and a map of where the graphic should be see-through, called the key. The mixer lays the graphic over the camera with them, in time with every other source in the studio. This article explains how that works, what goes wrong, and how airZ Engine does it.

In short

  • Fill is the graphic's colour; key is its shape, white where it covers and black where the camera shows through.
  • Over SDI they travel on two cables. Over NDI one stream carries both.
  • Most dark edges around keyed graphics come from one setting: a premultiplied fill keyed as if it were straight.
  • Genlock locks the graphics to the studio's reference signal, so the mixer can combine them with the cameras frame for frame.
How a graphic reaches the vision mixer airZ Controllertakes, data airZ Enginerenders the graphic Camerathe studio picture Vision mixerkeyer: fill + keyover the camera Air House referenceblack burst / tri-level SDI fillSDI key or NDI: fill + alpha
The usual path. airZ Controller tells airZ Engine what to play; the engine sends fill and key to the vision mixer, which lays the graphic over the camera. The house reference keeps every source in step.

What are fill and key?

The fill is what the viewer sees of the graphic: its colours, text and bars. The key is a black-and-white picture of the same frame that says how much of the graphic covers the camera at each point. White covers completely, black lets the camera through, and the greys in between are the soft edges of letters and shapes, where the graphic and the camera blend.

Here is the quarterly revenue chart from Part 2 with its background panel switched off, so it can sit over a camera. The checkerboard marks where it is see-through.

A broadcast bar chart with a transparent background, shown over a grey checkerboard: the title, bars, labels and values are solid, and everything around them is see-through
The chart as an overlay. Everywhere the checkerboard shows, the camera will.

airZ Engine sends that one frame to the mixer as two pictures:

Fill and key of a broadcast bar chart: on the left the fill, the coloured chart on black; on the right the key, the same chart in solid white on black, showing where the graphic covers the camera
The same frame twice. Fill: the chart's colour. Key: its shape, white where it covers the camera.

The vision mixer's keyer combines them with the camera: where the key is white it shows the fill, where it is black it shows the camera, and in between it mixes the two.

Why keyed graphics get dark edges

A fill can be sent in one of two ways, and the keyer has to be told which.

  • Premultiplied (also called shaped): the colour has already been multiplied by the key, so soft edges are already faded towards black.
  • Straight (also called unshaped): the colour is full strength everywhere, and only the key says how much of it to use.

If a premultiplied fill is keyed as straight, the keyer fades the edges a second time. Every soft edge, on every letter and every rounded corner, gets a thin dark outline. It is easy to miss on a monitor and obvious on a large screen.

The chart's title QUARTERLY at four times size, keyed over a light background twice: keyed as premultiplied the letters have clean edges; keyed as straight every letter has a thin dark outline
The same fill keyed both ways, at four times size. Only the keyer setting differs.

airZ Engine's SDI fill is premultiplied, and fill and key come from the same pixels, so they always match. Set the mixer's keyer for a shaped, premultiplied fill. Over NDI, airZ Engine sends straight colour by default, because that is what NDI expects; a premultiplied option exists for receivers that want it.

Two SDI cables, one NDI stream, or keyed in the engine

There are three common ways to get a keyed graphic to air. airZ Engine supports all three; keying in the engine needs an output card with a keyer.

SDI fill and keyNDI with alphaKeyed in the engine
What travelsFill on one SDI output, key on anotherOne stream carrying colour and alpha togetherOne finished picture: the graphic already over a video input
Where the key happensIn the vision mixerIn the receiving mixer or softwareOn the output card's own keyer
EdgesPremultiplied: set the keyer to shapedStraight by defaultHandled inside the card
Typical useBroadcast studios and OB trucks with an SDI mixerIP and software-based productionsA channel with no mixer, or a simple single-camera feed

Why the graphics need genlock

A vision mixer combines its sources point by point, so every source has to start each frame at the same moment. Studios distribute a reference signal for this, black burst or tri-level sync, and every camera, playout server and graphics engine locks its output to it. That is genlock. A source that is not locked drifts against the others and cannot be keyed cleanly.

airZ Engine genlocks its SDI outputs to house reference, black burst or tri-level. An output can wait for the reference to lock before it plays, automatically, always or never, with a time limit, and the engine reports the reference as locked, not present or lost. Several SDI outputs, such as the feeds of a video wall, run frame-locked as one group.

Formats, frame rates and HDR

airZ Engine renders each channel at that channel's own format and frame rate, frame by frame as the graphic plays. Nothing is pre-rendered, so the graphic is always drawn natively for its output:

  • HD: 720p and 1080p at 23.98 to 60, and 1080i at 50, 59.94 and 60.
  • UHD and 4K: 3840×2160 and 4096×2160 at 23.98 to 60.
  • SD (PAL and NTSC), and any canvas size for video walls.
  • HDR: each channel is SDR, HLG or PQ, in BT.2020, processed at 16 bits, with an SDR view of an HDR channel for outputs that need SDR.

The number of channels is not fixed; it depends on the graphics card, memory and output hardware. Three 1080p59.94 channels have run together on our reference machine.

Questions people ask

Do I need two SDI outputs for one graphic?

For an external key, yes: one carries the fill and one the key, into the vision mixer's keyer. If the graphic is keyed in the engine instead, over a video input, one output carries the finished picture.

Why do my graphics have a dark outline?

Almost always the keyer is set for a straight fill while the fill is premultiplied, so the edges are faded twice. Set the keyer to shaped or premultiplied. airZ Engine's SDI fill is premultiplied.

Does NDI carry transparency?

Yes. NDI can carry an alpha channel with the picture in one stream. airZ Engine sends and receives NDI with alpha.

What does a graphics engine genlock to?

The studio's house reference: black burst or tri-level sync, fed to the output card. airZ Engine locks its SDI outputs to it and reports whether the reference is locked, not present or lost.

Can the same graphics go out in HDR?

Yes. A channel can be SDR, HLG or PQ. The graphic is rendered for the channel it plays on, and an HDR channel can also give an SDR view for SDR outputs.

Part 2, From design to air, follows this chart from airZ Editor to air. The full list of formats, inputs and outputs is in the airZ Engine specifications. To see it with your own mixer, request a demonstration.