FazBrowse Wikipedia Viewer | Main Page |
Search Wikipedia:
|
Viewing: https://en.wikipedia.org/wiki/Advanced_Video_Coding

Advanced Video Coding

Contents
Naming
History
    Overall history
    Fidelity range extensions and professional profiles
    Derived formats
Design
    Features
    Profiles
    Levels
    Decoded picture buffering

{{cite tech report |publisher=Library of Congress |location=Washington, D.C. |series=Sustainability of Digital Formats |type=Full draft |title=MPEG-4, Advanced Video Coding (Part 10) (H.264) |date=5 December 2011 |url=https://www.loc.gov/preservation/digital/formats/fdd/fdd000081.shtml |access-date=1 December 2021}}</ref>"},"website":{"wt":"{{URL|https://www.itu.int/rec/T-REC-H.264}}"}},"i":0}}]}'>
Advanced Video Coding / H.264 / MPEG-4 Part 10
Advanced video coding for generic audiovisual services
StatusIn force
Year started2003(23 years ago) (2003)
First published17 August 2004 (2004-08-17)
Latest version15.0
13 August 2024 (2024-08-13)
OrganizationITU-T, ISO, IEC
CommitteeSG16 (VCEG), MPEG
Base standardsH.261, H.262 (aka MPEG-2 Video), H.263, ISO/IEC 14496-2 (aka MPEG-4 Part 2)
Related standardsH.265 (aka HEVC), H.266 (aka VVC)
PredecessorH.263
SuccessorH.265
DomainVideo compression
LicenseMPEG LA
Websitewww.itu.int/rec/T-REC-H.264
Block diagram of video coding layer of H.264 encoder with perceptual quality score

Advanced Video Coding (AVC), also referred to as H.264 or MPEG-4 Part 10, is a video compression standard based on block-oriented, motion-compensated coding. It is by far the most commonly used format for the recording, compression, and distribution of video content, used by 79% of video industry developers

Naming

edit

The H.264 name follows the ITU-T naming convention, where Recommendations are given a letter corresponding to their series and a recommendation number within the series. H.264 is part of "H-Series Recommendations: Audiovisual and multimedia systems". H.264 is further categorized into "H.200-H.499: Infrastructure of audiovisual services" and "H.260-H.279: Coding of moving video". The MPEG-4 AVC name relates to the naming convention in ISO/IEC MPEG, where the standard is part 10 of ISO/IEC 14496, which is the suite of standards known as MPEG-4. The standard was developed jointly in a partnership of VCEG and MPEG, after earlier development work in the ITU-T as a VCEG project called H.26L. It is thus common to refer to the standard with names such as H.264/AVC, AVC/H.264, H.264/MPEG-4 AVC, or MPEG-4/H.264 AVC, to emphasize the common heritage. Occasionally, it is also referred to as "the JVT codec", in reference to the Joint Video Team (JVT) organization that developed it. (Such partnership and multiple naming is not uncommon. For example, the video compression standard known as MPEG-2 also arose from the partnership between MPEG and the ITU-T, where MPEG-2 video is known to the ITU-T community as H.262.) Some software programs (such as VLC media player) internally identify this standard as AVC1.

History

edit

Overall history

edit

In early 1998, the Video Coding Experts Group (VCEG – ITU-T SG16 Q.6) issued a call for proposals on a project called H.26L, with the target to double the coding efficiency (which means halving the bit rate necessary for a given level of fidelity) in comparison to any other existing video coding standards for a broad variety of applications. VCEG was chaired by Gary Sullivan (Microsoft, formerly PictureTel, U.S.). The first draft design for that new standard was adopted in August 1999. In 2000, Thomas Wiegand (Heinrich Hertz Institute, Germany) became VCEG co-chair.

In December 2001, VCEG and the Moving Picture Experts Group (MPEG – ISO/IEC JTC 1/SC 29/WG 11) formed a Joint Video Team (JVT), with the charter to finalize the video coding standard. Formal approval of the specification came in March 2003. The JVT was (is) chaired by Gary Sullivan, Thomas Wiegand, and Ajay Luthra (Motorola, U.S.: later Arris, U.S.). In July 2004, the Fidelity Range Extensions (FRExt) project was finalized. From January 2005 to November 2007, the JVT was working on an extension of H.264/AVC towards scalability by an Annex (G) called Scalable Video Coding (SVC). The JVT management team was extended by Jens-Rainer Ohm (RWTH Aachen University, Germany). From July 2006 to November 2009, the JVT worked on Multiview Video Coding (MVC), an extension of H.264/AVC towards 3D television and limited-range free-viewpoint television. That work included the development of two new profiles of the standard: the Multiview High Profile and the Stereo High Profile.

Throughout the development of the standard, additional messages for containing supplemental enhancement information (SEI) have been developed. SEI messages can contain various types of data that indicate the timing of the video pictures or describe various properties of the coded video or how it can be used or enhanced. SEI messages are also defined that can contain arbitrary user-defined data. SEI messages do not affect the core decoding process, but can indicate how the video is recommended to be post-processed or displayed. Some other high-level properties of the video content are conveyed in video usability information (VUI), such as the indication of the color space for interpretation of the video content. As new color spaces have been developed, such as for high dynamic range and wide color gamut video, additional VUI identifiers have been added to indicate them.

Fidelity range extensions and professional profiles

edit

The standardization of the first version of H.264/AVC was completed in May 2003. In the first project to extend the original standard, the JVT then developed what was called the Fidelity Range Extensions (FRExt). These extensions enabled higher quality video coding by supporting increased sample bit depth precision and higher-resolution color information, including the sampling structures known as Y′CBCR 4:2:2 (a.k.a. YUV 4:2:2) and 4:4:4. Several other features were also included in the FRExt project, such as adding an 8×8 integer discrete cosine transform (integer DCT) with adaptive switching between the 4×4 and 8×8 transforms, encoder-specified perceptual-based quantization weighting matrices, efficient inter-picture lossless coding, and support of additional color spaces. The design work on the FRExt project was completed in July 2004, and the drafting work on them was completed in September 2004.

Five other new profiles (see version 7 below) intended primarily for professional applications were then developed, adding extended-gamut color space support, defining additional aspect ratio indicators, defining two additional types of "supplemental enhancement information" (post-filter hint and tone mapping), and deprecating one of the prior FRExt profiles (the High 4:4:4 profile) that industry feedback

The H.264 video format has a very broad application range that covers all forms of digital compressed video from low bit-rate Internet streaming applications to HDTV broadcast and Digital Cinema applications with nearly lossless coding. With the use of H.264, bit rate savings of 50% or more compared to MPEG-2 Part 2 are reported. For example, H.264 has been reported to give the same Digital Satellite TV quality as current MPEG-2 implementations with less than half the bitrate, with current MPEG-2 implementations working at around 3.5 Mbit/s and H.264 at only 1.5 Mbit/s. Sony claims that 9 Mbit/s AVC recording mode is equivalent to the image quality of the HDV format, which uses approximately 18–25 Mbit/s.

To ensure compatibility and problem-free adoption of H.264/AVC, many standards bodies have amended or added to their video-related standards so that users of these standards can employ H.264/AVC. Both the Blu-ray Disc format and the now-discontinued HD DVD format include the H.264/AVC High Profile as one of three mandatory video compression formats. The Digital Video Broadcast project (DVB) approved the use of H.264/AVC for broadcast television in late 2004.

The Advanced Television Systems Committee (ATSC) standards body in the United States approved the use of H.264/AVC for broadcast television in July 2008. It has also been approved for use with the more recent ATSC-M/H (Mobile/Handheld) standard, using the AVC and SVC portions of H.264.

The closed-circuit-television and video-surveillance markets have included the technology in many products.

Many common DSLRs use H.264 video wrapped in QuickTime MOV containers as the native recording format.

Derived formats

edit

AVCHD is a high-definition recording format designed by Sony and Panasonic that uses H.264 (conforming to H.264 while adding additional application-specific features and constraints).

AVC-Intra is an intraframe-only compression format, developed by Panasonic.

XAVC is a recording format designed by Sony that uses level 5.2 of H.264/MPEG-4 AVC, which is the highest level supported by that video standard. XAVC can support 4K resolution (4096 × 2160 and 3840 × 2160) at up to 60 frames per second (fps). Sony has announced that cameras that support XAVC include two CineAlta cameras—the Sony PMW-F55 and Sony PMW-F5. The Sony PMW-F55 can record XAVC with 4K resolution at 30 fps at 300 Mbit/s and 2K resolution at 30 fps at 100 Mbit/s. XAVC can record 4K resolution at 60 fps with 4:2:2 chroma sampling at 600 Mbit/s.

Design

edit

Features

edit

H.264/AVC/MPEG-4 Part 10 contains a number of new features that allow it to compress video much more efficiently than older standards and to provide more flexibility for application to a wide variety of network environments. In particular, some such key features include:

These techniques, along with several others, help H.264 to perform significantly better than any prior standard under a wide variety of circumstances in a wide variety of application environments. H.264 can often perform radically better than MPEG-2 video—typically obtaining the same quality at half of the bit rate or less, especially on high bit rate and high resolution video content.

Like other ISO/IEC MPEG video standards, H.264/AVC has a reference software implementation that can be freely downloaded. Its main purpose is to give examples of H.264/AVC features, rather than being a useful application per se. Some reference hardware design work has also been conducted in the Moving Picture Experts Group. The above-mentioned aspects include features in all profiles of H.264. A profile for a codec is a set of features of that codec identified to meet a certain set of specifications of intended applications. This means that many of the features listed are not supported in some profiles. Various profiles of H.264/AVC are discussed in next section.

Profiles

edit

The standard defines several sets of capabilities, which are referred to as profiles, targeting specific classes of applications. These are declared using a profile code (profile_idc) and sometimes a set of additional constraints applied in the encoder. The profile code and indicated constraints allow a decoder to recognize the requirements for decoding that specific bitstream. (And in many system environments, only one or two profiles are allowed to be used, so decoders in those environments do not need to be concerned with recognizing the less commonly used profiles.) By far the most commonly used profile is the High Profile.

Profiles for non-scalable 2D video applications include the following:

Constrained Baseline Profile (CBP, 66 with constraint set 1)
Primarily for low-cost applications, this profile is most typically used in videoconferencing and mobile applications. It corresponds to the subset of features that are in common between the Baseline, Main, and High Profiles.
Baseline Profile (BP, 66)
Primarily for low-cost applications that require additional data loss robustness, this profile is used in some videoconferencing and mobile applications. This profile includes all features that are supported in the Constrained Baseline Profile, plus three additional features that can be used for loss robustness (or for other purposes such as low-delay multi-point video stream compositing). The importance of this profile has faded somewhat since the definition of the Constrained Baseline Profile in 2009. All Constrained Baseline Profile bitstreams are also considered to be Baseline Profile bitstreams, as these two profiles share the same profile identifier code value.
Extended Profile (XP, 88)
Intended as the streaming video profile, this profile has relatively high compression capability and some extra tricks for robustness to data losses and server stream switching.
Main Profile (MP, 77)
This profile is used for standard-definition digital TV broadcasts that use the MPEG-4 format as defined in the DVB standard. It is not, however, used for high-definition television broadcasts, as the importance of this profile faded when the High Profile was developed in 2004 for that application.
High Profile (HiP, 100)
The primary profile for broadcast and disc storage applications, particularly for high-definition television applications (for example, this is the profile adopted by the Blu-ray Disc storage format and the DVB HDTV broadcast service).
Progressive High Profile (PHiP, 100 with constraint set 4)
Similar to the High profile, but without support of field coding features.
Constrained High Profile (100 with constraint set 4 and 5)
Similar to the Progressive High profile, but without support of B (bi-predictive) slices.
High 10 Profile (Hi10P, 110)
Going beyond typical mainstream consumer product capabilities, this profile builds on top of the High Profile, adding support for up to 10 bits per sample of decoded picture precision.
High 4:4:2 Intra Profile (122 with constraint set 3)
The High 4:2:2 Profile constrained to all-Intra use.
High 4:4YesYesYes888 to 104:2:0

 <br />&nbsp;"}},"i":0}}," "]}'>4:2:0

 <br />&nbsp;"}},"i":0}}," "]}'>4:2:0

 <br />&nbsp;"}},"i":0}}," "]}'>4:2:0

 <br />&nbsp;"}},"i":0}}," "]}'>4:2:0

 <br />&nbsp;"}},"i":0}}," "]}'>4:2:0

 4:2:2<br />&nbsp;"}},"i":0}}," "]}'>4:2:0/
4:2:2
 4:2:2/<br />4:4:4"}},"i":0}}]}'>4:2:0/
4:2:2/
4:4:4 Flexible macroblock ordering (FMO) YesNoNo Arbitrary slice ordering (ASO) YesNoNo Redundant slices (RS) YesNoNo Data Partitioning YesNoNo SI and SP slices YesNoNo Interlaced coding (PicAFF, MBAFF) YesYesYes B slices YesYesYes Multiple reference frames YesYesYes In-loop deblocking filter YesYesYes CAVLC entropy coding YesYesYes CABAC entropy coding NoYesYes 4:0:0 (Greyscale) NoYesYes 8×8 vs. 4×4 transform adaptivity NoYesYes Quantization scaling matrices NoYesYes Separate CB and CR QP control NoYesYes Separate color plane coding NoNoYes Predictive lossless coding NoNoYes

Levels

edit

As the term is used in the standard, a "level" is a specified set of constraints that indicate a degree of required decoder performance for a profile. For example, a level of support within a profile specifies the maximum picture resolution, frame rate, and bit rate that a decoder may use. A decoder that conforms to a given level must be able to decode all bitstreams encoded for that level and all lower levels.

Levels with maximum property values
Level
Maximum
decoding speed
(macroblocks/s)
Maximum
frame size
(macroblocks)
Maximum video
bit rate for video
coding layer (VCL)
(Constrained Baseline,
Baseline, Extended
and Main Profiles)
(kbits/s)
Examples for high resolution
@ highest frame rate
(maximum stored frames)
Toggle additional details
1 1,485 99 64
128×96@30.9 (8)
176×144@15.0 (4)
1b 1,485 99 128
128×96@30.9 (8)
176×144@15.0 (4)
1.1 3,000 396 192
176×144@30.3 (9)
320×240@10.0 (3)
352×288@7.5 (2)
1.2 6,000 396 384
320×240@20.0 (7)
352×288@15.2 (6)
1.3 11,880 396 768
320×240@36.0 (7)
352×288@30.0 (6)
2 11,880 396 2,000
320×240@36.0 (7)
352×288@30.0 (6)
2.1 19,800 792 4,000
352×480@30.0 (7)
352×576@25.0 (6)
2.2 20,250 1,620 4,000
352×480@30.7 (12)
352×576@25.6 (10)
720×480@15.0 (6)
720×576@12.5 (5)
3 40,500 1,620 10,000
352×480@61.4 (12)
352×576@51.1 (10)
720×480@30.0 (6)
720×576@25.0 (5)
3.1 108,000 3,600 14,000
720×480@80.0 (13)
720×576@66.7 (11)
1,280×720@30.0 (5)
3.2 216,000 5,120 20,000
1,280×720@60.0 (5)
1,280×1,024@42.2 (4)
4 245,760 8,192 20,000
1,280×720@68.3 (9)
1,920×1,080@30.1 (4)
2,048×1,024@30.0 (4)
4.1 245,760 8,192 50,000
1,280×720@68.3 (9)
1,920×1,080@30.1 (4)
2,048×1,024@30.0 (4)
4.2 522,240 8,704 50,000
1,280×720@145.1 (9)
1,920×1,080@64.0 (4)
2,048×1,080@60.0 (4)
5 589,824 22,080 135,000
1,920×1,080@72.3 (13)
2,048×1,024@72.0 (13)
2,048×1,080@67.8 (12)
2,560×1,920@30.7 (5)
3,672×1,536@26.7 (5)
5.1 983,040 36,864 240,000
1,920×1,080@120.5 (16)
2,560×1,920@51.2 (9)
3,840×2,160@31.7 (5)
4,096×2,048@30.0 (5)
4,096×2,160@28.5 (5)
4,096×2,304@26.7 (5)
5.2 2,073,600 36,864 240,000
1,920×1,080@172.0 (16)
2,560×1,920@108.0 (9)
3,840×2,160@66.8 (5)
4,096×2,048@63.3 (5)
4,096×2,160@60.0 (5)
4,096×2,304@56.3 (5)
6 4,177,920 139,264 240,000
3,840×2,160@128.9 (16)
7,680×4,320@32.2 (5)
8,192×4,320@30.2 (5)
6.1 8,355,840 139,264 480,000
3,840×2,160@257.9 (16)
7,680×4,320@64.5 (5)
8,192×4,320@60.4 (5)
6.2 16,711,680 139,264 800,000
3,840×2,160@300.0 (16)
7,680×4,320@128.9 (5)
8,192×4,320@120.9 (5)

The maximum bit rate for the High Profile is 1.25 times that of the Constrained Baseline, Baseline, Extended and Main Profiles; 3 times for Hi10P, and 4 times for Hi422P/Hi444PP.

The number of luma samples is 16×16=256 times the number of macroblocks (and the number of luma samples per second is 256 times the number of macroblocks per second).

Decoded picture buffering

edit

Previously encoded pictures are used by H.264/AVC encoders to provide predictions of the values of samples in other pictures. This allows the encoder to make efficient decisions on the best way to encode a given picture. At the decoder, such pictures are stored in a virtual decoded picture buffer (DPB). The maximum capacity of the DPB, in units of frames (or pairs of fields), as shown in parentheses in the right column of the table above, can be computed as follows:

DpbCapacity = min(floor(MaxDpbMbs / (PicWidthInMbs * FrameHeightInMbs)), 16)

Where FrameHeightInMbs are the picture width and frame height for the coded video data, expressed in units of macroblocks (rounded up to integer values and accounting for cropping and macroblock pairing when applicable). This formula is specified in sections A.3.1.h and A.3.2.f of the 2017 edition of the standard.

Level 1 1b 1.1 1.2 1.3 2 2.1 2.2 3 3.1 3.2 4 4.1 4.2 5 5.1 5.2 6 6.1 6.2
FrameHeightInMbs = 68), a Level 4 decoder has a maximum DPB storage capacity of YesYesYesYes
Multiple reference frames YesYesNoNoMBAFFNoYesYesYesYesYes
8×8 vs. 4×4 transform adaptivity YesYesNoNoYesNoNoNoYesNoNo
Extended chroma formats No[http://code.videolan.org/videolan/x264/commit/698c5a32e63a3ed6b976ed196abe479efd78530b \"x264 4:0:0 (monochrome) encoding support\"], Retrieved 2019-06-05.</ref><br />4:2:0<br />4:2:2<ref>[http://code.videolan.org/videolan/x264/commit/5b0cb86f27ba0c5433c404bed51c06a5124dfb49 \"x264 4:2:2 encoding support\"], Retrieved 2019-06-05.</ref><br />4:4:4<ref>[http://code.videolan.org/videolan/x264/commit/a93e4c4a75d05e7bf379cb9a39caad57f615eeb0 \"x264 4:4:4 encoding support\"], Retrieved 2019-06-05.</ref>&nbsp;&nbsp;"}},"i":0}}," "]}'>4:0:0
4:2:0
4:2:2
4:4:4  
4:2:24:2:0
4:2:2
810812
Predictive lossless coding No[http://code.videolan.org/videolan/x264/commit/a9e86d248d8d5f1e892159a7d86dcea2f884a859 \"x264 replace High 4:4:4 profile lossless with High 4:4:4 Predictive\"], Retrieved 2011-06-22.</ref>"}},"i":0}}," "]}'>YesNoNo

Because H.264 encoding and decoding require significant computational power for specific arithmetic operations, software implementations running on general-purpose CPUs are typically less power-efficient. However, consumer-grade CPUs with 6 or 8 cores since around 2016, and quad-core general-purpose x86 CPUs as of January 2020, have sufficient computational power to perform real-time SD and HD encoding.

In countries where patents on software algorithms are upheld, vendors and commercial users of products that use H.264/AVC are expected to pay patent licensing royalties for the patented technology that their products use. This applies to the Baseline Profile as well.

A private organization known as Via-LA administers the licenses for patents applying to this standard, as well as other patent pools, such as for MPEG-4 Part 2 Video, HEVC and MPEG-DASH. The patent holders include Fujitsu, Panasonic, Sony, Mitsubishi, Apple, Columbia University, KAIST, Dolby, Google, JVC Kenwood, LG Electronics, Microsoft, NTT Docomo, Philips, Samsung, Sharp, Toshiba and ZTE, although the majority of patents in the pool are held by Panasonic (990 patents).

On August 26, 2010, MPEG-LA announced that royalties would not be charged for H.264 encoded Internet video that is free to end users. All other royalties remain in place, such as royalties for products that decode and encode H.264 video as well as to operators of free television and subscription channels. The license terms are updated in 5-year blocks.

Since the first version of the standard was completed in May 2003 (23 years ago) and the most commonly used profile (the High profile) was completed in June 2004"H.264 : Advanced video coding for generic audiovisual services". www.itu.int. Archived from the original on October 31, 2019. Retrieved November 22, 2019.

  • ↑ Wang, Hanli; Kwong, S.; Kok, C. (2006). "Efficient prediction algorithm of integer DCT coefficients for H.264/AVC optimization". IEEE Transactions on Circuits and Systems for Video Technology. 16 (4): 547–552. Bibcode:2006ITCSV..16..547W. doi:10.1109/TCSVT.2006.871390. S2CID 2060937.
  • ↑ "H.262 : Information technology — Generic coding of moving pictures and associated audio information: Video". Retrieved April 15, 2007.
  • ↑ Joint Video Team, ITU-T Web site.
  • ↑ "Which recording mode is equivalent to the image quality of the High Definition Video (HDV) format?". Sony eSupport. Archived from the original on November 9, 2017. Retrieved December 8, 2018.
  • ↑ "ATSC Standard A/153 Part 7: AVC and SVC Video System Characteristics" (PDF). Archived from the original (PDF) on July 26, 2011. Retrieved July 30, 2011.
  • 1 2 Steve Dent (October 30, 2012). "Sony goes Red-hunting with PMW-F55 and PMW-F5 pro CineAlta 4K Super 35mm sensor camcorders". Engadget. Retrieved November 5, 2012.
  • ↑ "Ultra-fast "SxS PRO+" memory cards transform 4K video capture" (PDF). Sony. Archived from the original (PDF) on April 2, 2015. Retrieved November 5, 2012.
  • 1 2 Britanak, Vladimir; Yip, Patrick C.; Rao, K. R. (2010). Discrete Cosine and Sine Transforms: General Properties, Fast Algorithms and Integer Approximations. Elsevier. pp. ix, xiii, 1, 141–304. ISBN 9780080464640.
  • ↑ Apple Inc. (March 26, 1999). "H.264 FAQ". Apple. Archived from the original on March 7, 2010. Retrieved May 17, 2010.
  • ↑ "ITU-T Recommendation H.264 (04/2017)". ITU. April 13, 2017. See Tables A-1, A-6 and A-7 for the tabulated level-dependent capabilities. Retrieved June 14, 2017.
  • ↑ "Google Chrome Dropping Theora". Phoronix. November 1, 2023. Retrieved February 3, 2026.
  • ↑ "Video, Mobile, and the Open Web". March 18, 2012. Retrieved March 20, 2012.
  • ↑ "Open-Sourced H.264 Removes Barriers to WebRTC". October 30, 2013. Archived from the original on July 6, 2015. Retrieved November 1, 2013.
  • 1 2 "Video Interoperability on the Web Gets a Boost From Cisco's H.264 Codec". October 30, 2013. Retrieved November 1, 2013.
  • ↑ "Intel Quick Sync Video". www.intel.com. October 1, 2010. Retrieved January 19, 2011.
  • ↑ "Briefing portfolio" (PDF). www.mpegla.com. Archived from the original (PDF) on November 28, 2016. Retrieved December 1, 2016.
  • ↑ "Licensors Included in the AVC/H.264 Patent Portfolio License". MPEG LA. Archived from the original on October 11, 2021. Retrieved June 18, 2019.
  • 1 2 "AVC FAQ". MPEG LA. August 1, 2002. Archived from the original on May 7, 2010. Retrieved May 17, 2010.
  • ↑ "nokia h264".
  • ↑
    View original on Wikipedia | Back | FazBrowse Home