

There is a special type of I frame called an IDR (Instantaneous Decoder Refresh) frame. Without I frames errors can propagate into following frames. Using I frames allows errors due to transmission or storage in the decoded video stream to be cleared. Intra frames are vital for compression quality because they provide a higher quality version of the current picture to be used for motion compensation thus enabling better quality prediction and hence better compression. For inter coded frames, the user must find the most recent I frame, decode it, decode any other reference frames, then decode all the inter frames up to the desired frame. In order to skip forwards or backwards the user only has to decode the I frames.

Intra frames, also known as “I” frames, are sometimes described as key frames because they are suitable for navigation points in the video. This works well for areas that do not have a lot of detail. Intra frames can also be compressed by “intra prediction”, this is where blocks are predicted from neighboring blocks within the same frame. If too much detail is lost then quality will suffer. The human eye struggles to see very fine detail so we can get away with losing some of this information without compromising too much on image quality. The coefficients are quantized resulting in the removal of more higher frequency coefficients that correspond to fine detail, thus making the image easier to compress.

They are compressed using block transforms, such as the Discrete Cosine Transform (DCT) where the block is transformed into frequency based coefficients. Intra coded frames do not depend on any other frame in the video. For most purposes outside of production, a mix of intra and inter coding is preferable. If a codec is not Long GOP then it is intra only. Long GOP is when a mixture of intra and inter coding is used. If you only want to know what Long GOP means, here is the short version: video codecs use two types of frames, intra coded and inter coded. I prefer to use bit rate because video has to be read off storage or a network, converted into RGB values and transmitted to the display via decoding and using some kind of bandwidth limited cable or data bus. In this article I will be using the terms “bit rate” and “transmission” but I use them interchangeably with “file size” and “storage”. In this article I will be taking a closer look at GOP structures, discussing what Long GOP means and arguing that there is no one size fits all codec and that Long GOP, when used for the right content and application, is the only sensible choice. There have been several articles in the past discussing the choice of video codec and arguments for and against (usually against) so-called Long GOP codecs.
