Video compression picture types

Short description: Class of video frames processed in a distinct way by a compression algorithm

"I-frame" redirects here. For invincibility frames in video games, see Glossary of video game terms § flashing invulnerability.

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.[1] They are different in the following characteristics:

* I‑frames are the least compressible but don't require other video frames to decode.
* P‑frames can use data from previous frames to decompress and are more compressible than I‑frames.
* B‑frames can use both previous and forward frames for data reference to get the highest amount of data compression.

## Contents

* 1 Summary
* 2 Pictures/frames
* 3 Slices
* 4 Macroblocks
* 5 Intra-coded (I) frames/slices (key frames)
* 6 Predicted (P) frames/slices
* 7 Bi-directional predicted (B) frames/slices (macroblocks)
* 8 See also
* 9 References
* 10 External links

## Summary

A sequence of video frames, consisting of two keyframes (I), one forward-predicted frame (P) and one bi-directionally predicted frame (B).

Three types of pictures (or frames) are used in video compression: I, P, and B frames.

An I‑frame (intra-coded picture) is a self-contained image, like a JPG or BMP image file.

A P‑frame (predicted picture) allows each macroblock to be predicted from a region of any previously decoded frame that is in the decoded frame buffer. The encoder does not need to resend regions that have not changed at all relative to a previously decoded frame, thus saving space.

A B‑frame (bidirectional predicted picture) saves even more space by generating more precise macroblock predictions. They do so by allowing each macroblock to be predicted by combining regions from each of two previously decoded frame that are in the decoded frame buffer, typically one frame that precedes it in display order and one that follows it.

P and B frames are also called inter frames. The order in which the I, P and B frames are arranged is called the group of pictures.

## Pictures/frames

While the terms frame and picture are often used interchangeably, picture is a more general notion, as a picture can be either a frame or a field. A frame is a complete image, and a field is the set of odd-numbered or even-numbered scan lines composing a partial image. For example, an HD 1080 picture has 1080 lines (rows) of pixels. An odd field consists of pixel information for lines 1, 3, 5, ..., 1079. An even field has pixel information for lines 2, 4, 6, ..., 1080. When video is sent in interlaced-scan format, fields are sent in sequence, alternating between odd-line fields and even-line fields, with each carrying half as much information as a frame would but separated in time like sequential frames (that is, a given odd-line field represents a time between that of the preceding even-line field and the following even-line field).

A frame used as a reference for predicting other frames is called a reference frame.

A frame encoded as a complete still image without information from other frames is called an I-frame. A frame that uses prediction from a single preceding reference frame (or a single frame for prediction of each region) is a P-frame. A B-frame uses prediction from a (possibly weighted) average of two reference frames, one preceding and one succeeding.

## Slices

In the H.264/MPEG-4 AVC standard, the granularity of prediction types is brought down to the "slice level." A slice is a spatially distinct region of a frame that is encoded separately from any other region in the same frame. I-slices, P-slices, and B-slices take the place of I-, P-, and B-frames.

## 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:

* I-frames can contain only intra macroblocks
* P-frames can contain both intra macroblocks and predicted macroblocks
* B-frames can contain intra, predicted, and bi-predicted macroblocks

Furthermore, in the H.264 video coding standard, 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:

* SI‑frames/slices (Switching I): Facilitates switching between coded streams; contains SI-macroblocks (a special type of intra coded macroblock).
* SP‑frames/slices (Switching P): Facilitates switching between coded streams; contains P and/or I-macroblocks
* Multi‑frame motion estimation (up to 16 reference frames or 32 reference fields)

Multi‑frame motion estimation increases the quality of the video, while allowing the same compression ratio. SI and SP frames (defined for the Extended Profile) improve error correction. When such frames are used along with a smart decoder, it is possible to recover the broadcast streams of damaged DVDs.

## Intra-coded (I) frames/slices (key frames)

See also: Key frame (animation) and Intra-frame

* I-frames contain an entire image. They are coded without reference to any other frame except (parts of) themselves.
* May be generated by an encoder to create a random access point (to allow a decoder to start decoding properly from scratch at that picture location).
* May also be generated when differentiating image details prohibit generation of effective P or B-frames.
* Typically require more bits to encode than other frame types.

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.

## Predicted (P) frames/slices

* Require the prior decoding of some other picture(s) in order to be decoded.
* May contain both image data and motion vector displacements and combinations of the two.
* Can reference previous pictures in decoding order.
* Older standard designs (such as MPEG-2) use only one previously decoded picture as a reference during decoding, and require that picture to also precede the P picture in display order.
* H.264 can use multiple previously decoded pictures as references during decoding, and can have any arbitrary display-order relationship relative to the picture(s) used for its prediction.
* Typically require fewer bits for encoding compared to I-frames.

## Bi-directional predicted (B) frames/slices (macroblocks)

* Require the prior decoding of subsequent frame(s) to be displayed.
* May contain image data and/or motion vector displacements. Older standards allow only a single global motion compensation vector for the entire frame or a single motion compensation vector per macroblock.
* Include some prediction modes that form a prediction of a motion region (e.g., a macroblock or a smaller area) by averaging the predictions obtained using two different previously decoded reference regions. Some standards allow two motion compensation vectors per macroblock (biprediction).
* In older standards (such as MPEG-2), B-frames are never used as references for the prediction of other pictures. As a result, a lower quality encoding (requiring less space) can be used for such B-frames because the loss of detail will not harm the prediction quality for subsequent pictures.
* H.264 relaxes this restriction, and allows B-frames to be used as references for the decoding of other frames at the encoder's discretion.
* Older standards (such as MPEG-2), use exactly two previously decoded pictures as references during decoding, and require one of those pictures to precede the B-frame in display order and the other one to follow it.
* H.264 allows for one, two, or more than two previously decoded pictures as references during decoding, and can have any arbitrary display-order relationship relative to the picture(s) used for its prediction.
* The heightened flexibility of information retrieval means that B-frames typically require fewer bits for encoding than either I or P-frames.

## See also

* Key frame term in animation
* Video compression
* Intra frame
* Inter frame
* Group of pictures application of frame types
* Datamosh
* Video

## References

1. ↑ Beach, Andy; Owen, Aaron (2019). Video compression handbook (2nd ed.). Place of publication not identified: Peachpit Press. ISBN 978-0-13-486621-5. OCLC on1006298938. https://www.worldcat.org/title/on1006298938.

## External links

* Video streaming with SP and SI frames

* v
* t
* e

Data compression methods

Lossless|

| Entropy type|

* Arithmetic
* Asymmetric numeral systems
* Golomb
* Huffman
* Adaptive
* Canonical
* Modified
* Range
* Shannon
* Shannon–Fano
* Shannon–Fano–Elias
* Tunstall
* Unary
* Universal
* Exp-Golomb
* Fibonacci
* Gamma
* Levenshtein

|

Dictionary type|

* Byte pair encoding
* Lempel–Ziv
* Brotli
* DEFLATE
* LZ4
* LZFSE
* LZJB
* LZMA
* LZO
* LZRW
* LZS
* LZSS
* LZW
* LZWL
* LZX
* Snappy
* Zstandard

Other types|

* BWT
* CTW
* Delta
* DMC
* DPCM
* LDCT
* MTF
* PAQ
* PPM
* RLE

Lossy|

| Transform type|

* Discrete cosine transform
* DCT
* MDCT
* DST
* FFT
* Wavelet
* Daubechies
* DWT
* SPIHT

|

Predictive type|

* DPCM
* ADPCM
* LPC
* ACELP
* CELP
* LAR
* LSP
* WLPC
* Motion
* Compensation
* Estimation
* Vector
* Psychoacoustic

Audio|

| Concepts|

* Bit rate
* ABR
* CBR
* VBR
* Companding
* Convolution
* Dynamic range
* Latency
* Nyquist–Shannon theorem
* Sampling
* Sound quality
* Speech coding
* Sub-band coding

|

Codec parts|

* A-law
* μ-law
* DPCM
* ADPCM
* FT
* FFT
* LPC
* ACELP
* CELP
* LAR
* LSP
* WLPC
* MDCT
* Psychoacoustic model

Image|

| Concepts|

* Chroma subsampling
* Coding tree unit
* Color space
* Compression artifact
* Image resolution
* Macroblock
* Pixel
* PSNR
* Quantization
* Standard test image

|

Methods|

* Chain code
* DCT
* DEFLATE
* Fractal
* KLT
* LP
* RLE
* Wavelet
* Daubechies
* DWT
* EZW
* SPIHT

Video|

| Concepts|

* Bit rate
* ABR
* CBR
* VBR
* Display resolution
* Frame
* Frame rate
* Frame types
* Interlace
* Video characteristics
* Video quality

|

Codec parts|

* DCT
* DPCM
* Deblocking filter
* Lapped transform
* Motion
* Compensation
* Estimation
* Vector
* Wavelet
* Daubechies
* DWT

Theory|

* Entropy
* Information theory
* Timeline
* Kolmogorov complexity
* Quantization
* Rate–distortion
* Redundancy

* Compression formats
* Compression software (codecs)

0.00

(0 votes)

Original source: https://en.wikipedia.org/wiki/Video compression picture types. Read more

|

Retrieved from "https://handwiki.org/wiki/index.php?title=Video_compression_picture_types&oldid=4299544"
*[v]: View this template
*[t]: Discuss this template
*[e]: Edit this template