Deinterlacing is a video processing function that is required to address legacy problems stemming from the generation of interlaced video that was widely used by the old analog CRT televisions.
An interlaced video is a succession of 50/60 fields per second, where each field carries only half of the rows that are displayed in each frame of video. In some ways interlaced video was an elementary compression technique when older display technologies were based on cathode ray tubes (i.e. CRTs).
Today deinterlacing video is an important video processing function, as much of the video content is available in the legacy interlaced format and almost all of the newer displays -- LCD or Plasma -- require progressive video input. While deinterlacing is required in many systems, it is by nature complex and no deinterlacing algorithm can produce a perfect progressive image.
This article explores the different deinterlacing techniques and examines how FPGAs are increasingly being used for any sufficiently complex deinterlacing function. The article also examines the hardware tradeoffs when implementing different deinterlacing algorithms.
Deinterlacing Background
In interlaced video one frame of video is broken into two fields -- one field contains the even lines and one contains the odd lines. However, to display any interlaced video on an LCD or plasma display, the display must be deinterlaced. All newer displays are progressive in that each frame is comprised of a set of pixels (i.e. 1920 x 1080).
Figure 1 shows how these two fields contain the pixels in one frame. Also note that each field is recording pixel values that are separated in time.

Figure 1: Two interlaced fields contain one frame data
If it is assumed that there are 30 frames per second or 60 fields per second, then field 0 is at time 't' and field 1 is at time 't+1/60'. Since the fields are recorded at slightly different time intervals, the two fields cannot be combined to create a progressive frame for any video that has motion. The complexity associated with deinterlacing is due to the need to estimate and compensate for the potential motion in that 1/60th of a second.
Next: Basic Deinterlacing Techniques