In this documentation, we are going to talk about how interlaced video signals work in general, and in Aximmetry.
What is an interlaced video signal?
Interlaced video signal was originally developed to save bandwidth while keeping the original framerate of a video, or doubling the framerate without consuming extra bandwidth. This is accomplished by transmitting the odd-numbered lines of the entire frame during odd-numbered frames and the even-numbered lines during even-numbered frames - these "half-frames" are called fields. This essentially halves the required bandwidth for the same image, by using only half of the horizontal lines of each frame.
Unfortunately, interlaced video has its downsides too, mainly the brush-like effect it can exhibit.
To demonstrate how interlaced video signal works, we are going to use a black rectangle moving back and forth.
By taking out two consecutive fields - which creates a full frame -, you would see the following:
field 1: field 2:
You should notice two things here:
- how the lines are vertically shifted compared to each other
- field 1 is slightly more to the right than field 2 - this is because field 1 has already been updated while field 2 has not.
Finally, the full frame would look like this:
In actual videos, this brush-like effect manifests as showcased in this image:
In this document, the expressions of half-frame and field are used interchangeably.
What is a progressive video signal?
As technological advancements happened, interlaced video signals were replaced by progressive ones as we reached a point where interlaced signals were not required anymore to save bandwidth, instead, superior image quality could be achieved. This is done by sending full frames with each refresh cycle, doubling down on the useful information sent compared to the "half-frames" sent in interlaced signals. This way, the odd and even lines are not shifted, as they are refreshed simultaneously, which results in a cleaner image.
Setting Aximmetry to interlaced mode
If you wish to use interlaced video output, Aximmetry must be set to interlaced mode.
You can achieve this by two methods:
- Setting the rendering Frame rate to an interlaced one under Preferences→Rendering
- Syncing to an output with interlaced mode under Video Outputs
How interlaced signal works in Aximmetry
Aximmetry supports interlaced or progressive rendering modes. If Aximmetry is set to interlaced mode, the rendering itself is still done in progressive, full-frame images, at the set full frame rate - e.g. 50i renders 50 full-frames per second, instead of 50 half-frames or 25 full-frames. The difference compared to progressive mode is found in the in- and output handling. Part of this is a half-frame handling process that gets introduced: keeping track of whether the odd or even numbered lines are being processed.
Interlaced input handling
Interlaced signal is handled by full-frames in Aximmetry. Since a full-frame is constructed of two half-frames, Aximmetry needs to wait for two refresh cycles of the interlaced signal before it can start processing the full-frame. On the first refresh cycle, it stores the incoming half-frame, then, on the second refresh cycle, when the second half-frame is received, it combines the received two half-frames into one full-frame.
To make simultaneous handling of progressive and interlaced signals easier, once the full-frame is constructed in Aximmetry, it breaks down this image into two half-frames, by taking out the odd, and the even lines separately, which are then upscaled to full-frames, basically deinterlacing the signal.
Any further operations are done on these images instead of the original one.
This means that, when a full-frame has been collected in Aximmetry, it has enough data to output two half-frames in the next two refresh cycles of the frame rate. So, for the next two frames Aximmetry is working on these two half-frames for the output, and in the meantime, it collects the next two incoming half-frames.
NOTE: Handling interlaced input signals introduces a small latency (compared to progressive), which is exactly one half-frame, as during the construction of the first full-frame, when it has collected only the first frame, it doesn't have enough data to start processing the full-frame.
Interlaced output handling
When a video signal reaches an interlaced output, Aximmetry sends full-frames (instead of half-frames) to it. This is done by taking the odd numbered lines from one frame and the even numbered lines from the next frame. Then, these lines are combined into a full-frame that gets sent to the output. This applies to both progressive and interlaced signals: as an interlaced input gets deinterlaced when received, handling progressive and interlaced frames on the output can be done the same way. A constructed full-frame has enough data available for two refresh cycles of the output.
Once the output device receives this full-frame, it constructs the interlaced signal of it, by taking out only the odd or even numbered lines on its refresh cycles. This way, all the half-frames can be displayed.
NOTE: If an interlaced input signal is used, the interpolated lines created during upscaling won't be part of the final output, since Aximmetry keeps track of which half-frame is connected to which refresh cycle. The constructed full-frame will only have those lines that were not affected by the upscaling, meaning that there's no loss of quality.
The odd one out: Using interlaced input while Aximmetry is in progressive mode
In this case, the half-frame handling does not happen, all frames contain everything to represent a full image at every refresh cycle. Since the input is read by full-frames, these frames, however, contain both half-frames of the interlaced signal, where the odd and even numbered lines would have small differences in the time of being displayed, leading to the brush-like effect presented above.
Therefore, if you're using interlaced input, it is recommended to set rendering in Aximmetry to interlaced mode to avoid these artifacts.
When Aximmetry is in interlaced mode, the Video Recorder is automatically set to interlaced recording when the Realtime Frame Rate is selected. The signal to the Video Recorder is transmitted the same way as with an interlaced output: full-frames are constructed of half-frames, and these get sent to the Video Recorder. Then, during the encoding, the video codec takes the video signal being interlaced into account.
Keep in mind that not all Video Formats allow for interlaced video, so selecting one that does, e.g. DNxHD, is crucial to avoid artifacts.
Changing the speed of video playback
If a video's playback speed is changed, let it be slowing it down, speeding it up, or just pausing it, you will see only those frames where the first field of the whole frame is refreshed.
Interlaced video alteration
Interlaced video, when played on a device that supports interlacing, will display artifacts during transitions, such as camera angle changes.
Due to the characteristics of interlaced video signals, this cannot be avoided.
When you have an interlaced video signal and convert it to a progressive signal at any point, the occurrence of these artifacts is based on the frame's odd or even numbering:
- Odd-numbered frame changes: Making alterations, like changing the camera angle, on an odd-numbered half-frame results in a brush-like artifact.
- Even-numbered frame changes: Changes made on an even-numbered half-frame do not cause noticeable artifacts.
To mitigate these artifacts, it's recommended to aim for alterations on even-numbered frames when using Aximmetry.
However, we advise against using interlaced input whenever possible, to enhance the overall video quality.