In the field of video compression a video frame is compressed using different algorithms with different advantages and disadvantages, centered mainly around amount of data compression. These different algorithms for video frames are called picture types or frame types. The three major picture types used in the different video algorithms are I, P and B. They are different in the following characteristics:
Contents
- Summary
- Picturesframes
- Slices
- Macroblocks
- Intra coded framesslices Iframesslices or Key frames
- Predicted framesslices P framesslices
- Bi directional predicted framesslices B framesslices
- References
Summary
There are three types of pictures (or frames) used in video compression: I‑frames, P‑frames and B‑frames.
An I‑frame is an 'Intra-coded picture', in effect a fully specified picture, like a conventional static image file. P‑frames and B‑frames hold only part of the image information, so they need less space to store than an I‑frame and thus improve video compression rates.
A P‑frame ('Predicted picture') holds only the changes in the image from the previous frame. For example, in a scene where a car moves across a stationary background, only the car's movements need to be encoded. The encoder does not need to store the unchanging background pixels in the P‑frame, thus saving space. P‑frames are also known as delta‑frames.
A B‑frame ('Bi-predictive picture') saves even more space by using differences between the current frame and both the preceding and following frames to specify its content.
Pictures/frames
While the terms "frame" and "picture" are often used interchangeably, strictly speaking, the term picture is a more general notion, as a picture can be either a frame or a field. A frame is a complete image captured during a known time interval, and a field is the set of odd-numbered or even-numbered scanning lines composing a partial image. For example, in 1080 full HD mode, there are 1080 lines of pixels. An odd field consists of pixel information for lines 1, 3 ... 1079. And even field has pixel information of lines 2, 4 ... 1080. When video is sent in interlaced-scan format, in this example 1080i, each frame is sent in two cycles as the field of odd-numbered lines in one cycle followed by the field of even-numbered lines in the next cycle.
Frames that are used as a reference for predicting other frames are referred to as reference frames.
In such designs, the frames that are coded without prediction from other frames are called the I-frames, frames that use prediction from a single reference frame (or a single frame for prediction of each region) are called P-frames, and frames that use a prediction signal that is formed as a (possibly weighted) average of two reference frames are called B-frames.
Slices
In the latest international standard, known as H.264/MPEG-4 AVC, the granularity of the establishment of prediction types is brought down to a lower level called the slice level of the representation. A slice is a spatially distinct region of a frame that is encoded separately from any other region in the same frame. In that standard, instead of I-frames, P-frames, and B-frames, there are I-slices, P-slices, and B-slices.
Macroblocks
Typically, pictures (frames) are segmented into macroblocks, and individual prediction types can be selected on a macroblock basis rather than being the same for the entire picture, as follows:
Furthermore, in the video codec H.264, the frame can be segmented into sequences of macroblocks called slices, and instead of using I, B and P-frame type selections, the encoder can choose the prediction style distinctly on each individual slice. Also in H.264 are found several additional types of frames/slices:
Multi‑frame motion estimation will allow increases in the quality of the video while allowing the same compression ratio. SI- SP‑frames (defined for Extended Profile) will allow for increases in the error resistance. When such frames are used along with a smart decoder, it is possible to recover the broadcast streams of damaged DVDs.
Intra coded frames/slices (I‑frames/slices or Key frames)
Often, I‑frames are used for random access and are used as references for the decoding of other pictures. Intra refresh periods of a half-second are common on such applications as digital television broadcast and DVD storage. Longer refresh periods may be used in some environments. For example, in videoconferencing systems it is common to send I-frames very infrequently.