H.264/MPEG-4 AVC

H.264/MPEG-4 AVC is a standard for H. highly efficient video compression. He was first of the ITU ( Study Group 16, Video Coding Experts Group) developed under the name H.26L. In 2001, the ITU- group merged with MPEG- Visual and led the development jointly in the Joint Video Team ( JVT ) away. The aim of the project was to design a compression method that reduces compared with previous standards, both for mobile applications as well as in the TV and the HD domain, the required data rate for the same quality by at least half. Working group members are the Members of the Fraunhofer Institute for Telecommunications, Microsoft and Cisco Systems. In 2003, the standard was adopted by both organizations with identical wording. The ITU H.264 name is there. In ISO / IEC MPEG standard is currently called MPEG-4/AVC (Advanced Video Coding) and is the tenth part of the MPEG -4 standard ( MPEG-4/Part 10, ISO / IEC 14496-10 ). The standard should not be confused with the MPEG-4/ASP-Standard ( MPEG-4/Part 2, ISO / IEC 14496-2 ).

H.264 typically achieves about three times as high as H.262 codecs (MPEG -2) and is also available for high-resolution image data interpreted (eg, HDTV). That is, similar quality can be achieved in approximately one third of the MPEG-2 data. However, the computational cost is also higher by a factor 2 to 3.

The FourCCs used for the standard are AVC1, DAVC, H.264, x264 and VSSH. The Matroska codec ID is V_MPEG4/ISO/AVC.

The standardized file format / container format is MP4.

Areas of application

H.264 was not tailored to a specific use, but exerts its power in a fairly wide range of applications. Therefore, the currently most promising applications are also of very different shape:

Related Procedures

While the specification of H.264 several commercial development paths split from that build, although more or less directly to H.264, but ultimately represent a partially incompatible unit:

  • Sorenson Video 3, a very common in the environment of QuickTime and in the context of the *. Mov file format codec, which differs only in details from H.264.
  • Microsoft Windows Media Video 9 (* wmv, FourCC: . WMV9/wvc1 ) is a video codec from Microsoft, which also uses LoopFiltering. The variant VC -1 ( FourCC: WVC1 ) (formerly known as VC -9 after WMV9 ) is also one of the codecs that are used in HD DVD and Blu -ray Disc.

Developments

  • Multiview Video Coding (MVC ) for stereoscopic images.
  • High Efficiency Video Coding ( H.265 ) Codec planned succession

Technical details

H.264 is based largely on its predecessors MPEG- 1, MPEG- 2, MPEG- 4 and the H.261 family, but has significant changes and extensions:

  • Instead of a discrete cosine transform ( DCT ) with 8 × 8 pixel blocks an integer transform to 4 × 4 pixels ( in the high-profile addition selectable to 8 × 8 pixels) is used large blocks.
  • The entropy has been adapted to the changed transformation. H.264 supports in addition to the conventional Huffman codes like VLC ( CAVLC, Context Adaptive Variable Length Coding ) is also a more powerful arithmetic coding ( Context Adaptive Binary Arithmetic Coding ( CABAC ) ).
  • Macroblock partitioning: the macro-blocks of the size of 16 × 16 pixels can be divided into sub-blocks down to a size of 4 × 4 pixels. Since each block has its own motion vector is stored, thus spatially sharply defined, and especially complex movements can be better coded.
  • The motion compensation is always to ¼ pixel accurate ( H.263, ie MPEG-4/ASP, this was an option ). Motion compensating for half- pixel is not provided with a filter with two coefficients ( average value: 1 / 2 1 / 2), but with a more complex filter with six coefficients ( 1 / 32, -5/32, 20 / 32, 20 / 32, -5/32, 1 / 32) performed. Quarter- pixels are calculated from the half-pixel data of a further averaging.
  • Intra Prediction: Even within I-frames is a form of prediction ( prediction) are used. The pixel values ​​are estimated one block from the surrounding, already decoded pixels and then encodes only the difference to the actual image content. For smaller aspect ratios, this method is generally more efficient than JPEG 2000.
  • Long-Term Prediction: P- and B - frames can not only references to the most recent I or contain P-frame, but also to a maximum of 16 above, theoretically, any distant past, any frame to a more efficient encoding of the periodic movements allow.
  • Weighted Prediction: Will mixed picture content from multiple reference frames, the sources can arbitrarily weighted in the mixture received. Thus, for training and transitions encode very efficiently.
  • Deblocking filter: While the previous MPEG codecs ( postprocessing English) solely on an optional external postprocessing / filtering left is a deblocking filter integral part of H.264 ( as it did for the H.263 Annex J). References to already decoded frames also refer to the already filtered images. This achieves a very high perceived image quality. Especially in combination with the reduced transform size of 4 × 4 give huge subjective ( and to a lesser extent, objective ) improvements.
  • Switching slices: enable the seamless transition between different video streams without "expensive" ( because large ) the need to use I-frames.
  • Flexible Macroblock Ordering: The macroblocks within a frame or slices can be specified in a relatively free order. This can be used eg for error concealment at channel losses (mobile video ). FMO is not supported by most encoders and decoders, it is also not part of the main, and high profiles.

Profiles

Profiles and levels to support the cooperation between the various implementations of the manufacturer. The profiles summarize certain features that must be supported. A Level sets restrictions on the variables of a data stream, such as maximum resolution and bit rate.

Level

H.264 defined as in MPEG -2 different levels. They are higher, the higher the bit rate of the video.

In the following table, the permissible limits of the different profiles are shown:

Implementations

  • AVCHD multimedia standard for high-resolution, digital consumer and prosumer video cameras.
  • AVC -Intra implementation of Panasonic professional video productions
  • JM reference software of the joint video team
  • X264 is a licensed under the GPL H.264 encoder.
  • The free, LGPL - licensed libavcodec library includes a H.264 decoder.
  • Apple has H.264 integrated into Mac OS X version 10.4 (Tiger), and QuickTime version 7.
  • Nero Digital, includes an H.264 encoder developed by Nero AG and Ateme.
  • Sorenson provides an implementation of H.264.
  • MainConcept offers a H.264 encoder.
  • Lead Technologies has an H.264 video codec.
  • CoreAVC is a software H.264 decoder
  • Pixel Tools Expert - H264
  • Flash Player 9 Update 3
  • Nanocosmos offers H.264 - codec for Windows and MacOS on
  • Citrix uses the compression method for its HDX protocol (formerly ICA) in the products XenApp 6.5 and XenDesktop 7 for the transmission of moving images.

Patents

Many of the procedures which come into H.264 for use are protected by patents. As with MPEG- 2, a fee is also required in MPEG -4 by the manufacturers and service providers who want to use this standard. So you do not have to ask for permission individually with each patent holder, identify their patents usually a patent pool to manage, to take care of the breakdown of individual income. However, since this is a voluntary measure, have been formed in two H.264 patent pool, which have not yet connected any patent holder. On the one hand this is the MPEG license management ( "MPEG Licensing Administration", short for "MPEG LA " ), which already manages the patent pools for MPEG -2, and on the other a patent pool Via Licensing, a subsidiary of Dolby Laboratories.

The first license period ( "Initial Term of License" ) - the video codec " H.264/AVC " by the MPEG LA - ran until 31 December 2010.

He may still another five years beyond be used (in the second license period from 1 January 2011 to 31 December 2015) for free, according to an announcement by MPEG LA by developers, as long as the video streaming for users remains free of charge. The MPEG LA has now announced that it will not impose a license fee for the use of free streaming services permanently.

Playback on a PC

With the help of ffdshow can be in H.264 encoded videos with DirectShow-based video player programs such as Windows Media Player or Media Player Classic to play.

An alternative to DirectShow - based players is given, for example, with the MPlayer or VLC media player. Both have mastered the decoding of H.264 and read all the relevant container. In addition, both programs are freely available. The ffdshow filter, MPlayer and VLC player access to decode H.264 back to the libavcodec library that supports custom quantization matrices.

Furthermore, Apple's QuickTime 7 is able to play H.264. QuickTime is available for current versions of Mac OS X and Windows. However, QuickTime 7 plays no content that is produced by the ffdshow H.264 encoder, but displays a black screen. Help this extension provides the Perian.

The Apple iPod plays H.264 in MP4 and. Mov containers from. Creating an iPod compatible H.264 video can be done this with either the QuickTime H.264 encoder or x264. For technical reasons, the qualitative capabilities of the encoder are indeed set narrower limits of the iPod, as the standard H.264 allow. In generation 6, however, with a resolution of up to 640 × 480 pixels, supports the iPod at 30 frames per second and a maximum data rate of 2.5 Mbit / s after all, a Low-Complexity version of the H.264 Baseline profile up to level 3.0.

Since H.264 is not tied to a particular container format, the videos can be present as MP4, but also as AVI, Matroska or Ogg Media file. It is even possible to save H.264 videos as raw data (.264 ). Such raw data can then, for example with MP4Box ( GPAC ) or mkvmerge are multiplexed into a suitable container. What is needed in addition to a decoder including a splitter ( demuxer ), which supports the container format used in each case. On Windows, the Haali Media Splitter is suitable for a source filter for DirectShow, which dominates almost all relevant container formats.

Playback via software decoding requires a lot of CPU power. Relief for the CPU is with a suitable hardware that is built into many graphics cards, in conjunction with its resultant decoder software, possible, eg using DXVA or VDPAU.

32304
de