Intra-frame coding: Difference between revisions

Content deleted Content added
Reverted 1 edit by 114.33.8.54 (talk).
No edit summary
 
(33 intermediate revisions by 26 users not shown)
Line 1:
{{Short description|Data compression technique}}
{{Redirect|I-frame|other meaningsuses|IFrame (disambiguation)}}
 
{{Multiple issues|
{{Mergeto|Video compression picture types|date=June 2011}}
{{refimprove|date=March 2017}}
{{Technical|date=June 2019}}
}}
'''Intra-frame coding''' is a [[data compression]] technique used within a [[digital video|video]] frame, enabling smaller file sizes and lower bitrates. Since neighboring pixels within an image are often very similar, rather than storing each pixel independently, the frame image is divided into blocks and the typically minor difference between each pixel can be encoded using fewer bits.
 
Intra-frame prediction exploits spatial redundancy, i.e. correlation among pixels within one frame, by calculating prediction values through extrapolation from already coded pixels for effective [[delta coding]]. It is one of the two classes of predictive coding methods in [[video coding]]. Its counterpart is inter-frame prediction which exploits temporal redundancy. Temporally independently coded so-called intra frames use only intra coding. The temporally coded [[predicted frame]]s (e.g. MPEG's P- and B-frames) may use intra- as well as inter-frame prediction.
'''Intra-frame coding''' is used in video coding (compression). It is part of [[group of pictures]] with [[inter frame]]s.
 
[[File:Pixel-prediction.svg|thumb|128px|Usually known adjacent samples (or blocks) are above, above left, above right, and left (A–D).]]
The term intra-frame coding refers to the fact that the various lossless and lossy compression techniques are performed relative to information that is contained only within the ''current frame'', and ''not relative'' to any other frame in the video sequence. In other words, no temporal processing is performed outside of the current picture or frame. Non-intra coding techniques are extensions to these basics. It turns out that this block diagram is very similar to that of a JPEG still image video encoder, with only slight implementation detail differences.
Usually only few of the spatially closest known samples are used for the extrapolation. Formats that operate sample by sample like [[Portable Network Graphics]] (PNG) can usually use one of four adjacent pixels (above, above left, above right, left) or some function of them like e.g. their average. Block-based (frequency transform) formats prefill whole blocks with prediction values extrapolated from usually one or two straight lines of pixels that run along their top and left borders.
 
Inter frame has been specified by the [[CCITT]] in 1988-19901988–1990 by [[H.261]] for the first time. H.261 was meant for teleconferencing and ISDN telephoning.
 
== Coding process ==
Data is usually read from a video camera or a video card in the [[YCbCr]] data format (often wronglyinformally marked ascalled [[YUV]], which should be used for analog data onlybrevity). The coding process varies greatly depending on which type of encoder is used (e.g.:, [[JPEG]], or [[H.264/MPEG-4 AVC|H.264]]), but the most common steps usually include: partitioning into [[macroblock]]s, transformtransformation (e.g.:, using a [[Discrete cosine transform|DCT]], or [[Discrete wavelet transform|wavelet]]), [[Quantization (image processing)|quantization]] and [[entropy encoding]].
 
== Applications ==
Intra-frame coding is applied to the partitioning into macroblocks step.
It is used in codecs like [[ProRes 422|ProRes]]: a [[group of pictures]] codec without [[inter frame]]s.
 
== See also ==
* [[Video compression]]
http://www.cs.cf.ac.uk/Dave/Multimedia/node248.html
* [[I-Frame Delay]]
* [[es:Intra-Inter frame]]
* [[Group of pictures]] application of frame types
* [[Motion compensation]]
 
== External links ==
{{Commonscat|Intra-frame coding}}
 
* http://www.cs.cf.ac.uk/Dave/Multimedia/node248.html
 
{{VideoProcessing}}
 
[[Category:MPEG]]
Line 22 ⟶ 40:
 
{{Computer-stub}}
 
[[de:Intra-Frame]]
[[es:Intra-frame]]
[[it:Intra-frame]]
[[ms:Intra-bidang]]