Download Papers | Codecs

E-Shop

Electronics HDTV DVD TV @ Amazon

Amazon Store

Email this Page

Enter your email address above and submit.

News

Microsoft Announces Future Support For H.264 In Silverlight

Microsoft announced that H.264 and AAC support will be available in a future version of Silverlight.... more>>

 

QuickTime Alternative 2.7.0

New versions of QuickTime Alternative and QT Lite have been released today. They are now capable of installing the QuickTime browser plugin for the Google Chrome web browser. Note: these packs are currently not compatible with iTunes 8. A solution for this issue will be available soon.

 

Real Alternative 1.8.4

A new version of Real Alternative has been released. It is now capable of installing the RealMedia browser plugin for the Google Chrome web browser.

 

Flash Player supports H.264 video:

We’re announcing a new update to the Flash Player today code named “Moviestar” and it includes support for the widely used industry standard H.264 Codec... more>>

External Links

Comparison of Audio Codecs

Comparison of Video Codecs

Comparison of Container Formats

Free Tools & Softwares

 

vlc VLC media player- the cross-platformmedia player and streaming server

 

KLM CodecPack: allows you to play almost every movie file that you can find on the Internet

 

FLV to AVI Converter: Freeware Pazera FLV to AVI converter

 

AVI MPEG to SWF Converter: Freeware

 

3GP to AVI Converter: Freeware

 

MOV to AVI Converter: Freeware

 

Tips & Tricks

To Convert DVD to H.264, the best choice would be Fairuse Wizard. Other free solutions to convert DVD to H.264 are MeGUI and Gordian Knot.

 

Creating Content for iPod + iTunes, donwload the iTunes user guide from here

More Links

DoYouKnowWhat is H264 MPEG4 AVC? H264 Codec, also known as MPEG-4 AVC (Advanced Video Coding), is a video compression standard that offers significantly greater compression than its predecessors (MPEG-2(i), H.263(ii)). Commonly used for streaming video online, multimedia telephony, TV Broadcast , and DVD storage.

H.264 / MPEG-4 AVC Codec

 

H.264 is the next-generation video compression technology in the MPEG-4 standard, also known as MPEG-4 Part 10. MPEG-4 is a suite of standards which has many "parts", where each part standardizes various entities related to multimedia, such as audio, video, and file formats.

 

H.264 can match the best possible MPEG-2 quality at up to half the data rate. H.264 also delivers excellent video quality across the entire bandwidth spectrum — from 3G to HD and everything in between (from 40 Kbps to upwards of 10 Mbps).

Background of H264 Codec (H.26L, AVC, JVT)

 

H.264 is a standard for video compression. It is also known as MPEG-4 Part 10, or MPEG-4 AVC (for Advanced Video Coding). As of 2008, it is the latest block-oriented motion-compensation-based codec standard developed by the ITU-T Video Coding Experts Group (VCEG) together with the ISO/IEC Moving Picture Experts Group (MPEG), and it was the product of a partnership effort known as the Joint Video Team (JVT). The ITU-T H.264 standard and the ISO/IEC MPEG-4 Part 10 standard (formally, ISO/IEC 14496-10) are jointly maintained so that they have identical technical content. The final drafting work on the first version of the standard was completed in May 2003.

 

 

Overview of MPEG-4 H.264 Codec

 

The intent of the H.264/AVC project was to create a standard capable of providing good video quality at substantially lower bit rates than previous standards (e.g. half or less the bit rate of MPEG-2, H.263, or MPEG-4 Part 2), without increasing the complexity of design so much that it would be impractical or excessively expensive to implement. An additional goal was to provide enough flexibility to allow the standard to be applied to a wide variety of applications on a wide variety of networks and systems, including low and high bit rates, low and high resolution video, broadcast, DVD storage, RP/IP packet networks, and ITU-T multimedia telephony systems.

 

The H.264 name follows the ITU-T naming convention, where the standard is a member of the H.26x line of VCEG video coding standards; 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. The name H.26L, referring to its ITU-T history, is less common, but still used. 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 codec 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.)

 

 

Features of MPEG-4 H.264 Codec

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

 

  • Multi-picture inter-picture prediction including the following features:  
    • Using previously-encoded pictures as references in a much more flexible way than in past standards, allowing up to 16 reference frames (or 32 reference fields, in the case of interlaced encoding) to be used in some cases. This is in contrast to prior standards, where the limit was typically one; or, in the case of conventional "B pictures", two. This particular feature usually allows modest improvements in bit rate and quality in most scenes. But in certain types of scenes, such as those with repetitive motion or back-and-forth scene cuts or uncovered background areas, it allows a significant reduction in bit rate while maintaining clarity.
    •   Variable block-size motion compensation (VBSMC) with block sizes as large as 16×16 and as small as 4×4, enabling precise segmentation of moving regions. The supported luma prediction block sizes include 16×16, 16×8, 8×16, 8×8, 8×4, 4×8, and 4×4, many of which can be used together in a single macroblock. Chroma prediction block sizes are correspondingly smaller according to the chroma subsampling in use.
    • The ability to use multiple motion vectors per macroblock (one or two per partition) with a maximum of 32 in the case of a B macroblock constructed of 16 4x4 partitions. The motion vectors for each 8×8 or larger partition region can point to different reference pictures.
    • The ability to use any macroblock type in B-frames, including I-macroblocks, resulting in much more efficient encoding when using B-frames. This feature was notably left out from MPEG-4 ASP.
    • Six-tap filtering for derivation of half-pel luma sample predictions, for sharper subpixel motion-compensation. Quarter-pixel motion is derived by linear interpolation of the halfpel values, to save processing power.
    • Quarter-pixel precision for motion compensation, enabling precise description of the displacements of moving areas. For chroma the resolution is typically halved both vertically and horizontally (see 4:2:0) therefore the motion compensation of chroma uses one-eighth chroma pixel grid units.
    • Weighted prediction, allowing an encoder to specify the use of a scaling and offset when performing motion compensation, and providing a significant benefit in performance in special cases—such as fade-to-black, fade-in, and cross-fade transitions. This includes implicit weighted prediction for B-frames, and explicit weighted prediction for P-frames.
  • Spatial prediction from the edges of neighboring blocks for "intra"coding, rather than the "DC"-only prediction found in MPEG-2 Part 2 and the transform coefficient prediction found in H.263v2 and MPEG-4 Part 2. This includes luma prediction block sizes of 16×16, 8×8, and 4×4 (of which only one type can be used within each macroblock).
  • Lossless macroblock coding features including:
    • A lossless PCM macroblock representation mode in which video data samples are represented directly, allowing perfect representation of specific regions and allowing a strict limit to be placed on the quantity of coded data for each macroblock.
    • An enhanced lossless macroblock representation mode allowing perfect representation of specific regions while ordinarily using substantially fewer bits than the PCM mode.
  • Flexible interlaced-scan video coding features, including:
    • Macroblock-adaptive frame-field (MBAFF) coding, using a macroblock pair structure for pictures coded as frames, allowing 16×16 macroblocks in field mode (compared with 16×8 half-macroblocks in MPEG-2).
    • Picture-adaptive frame-field coding (PAFF or PicAFF) allowing a freely-selected mixture of pictures coded as MBAFF frames with pictures coded as individual single fields (half frames) of interlaced video.
      
  • New transform design features, including:
    • An exact-match integer 4×4 spatial block transform, allowing precise placement of residual signals with little of the "ringing" often found with prior codec designs. This is conceptually similar to the well-known DCT design, but simplified and made to provide exactly-specified decoding.
    • An exact-match integer 8×8 spatial block transform, allowing highly correlated regions to be compressed more efficiently than with the 4×4 transform. This is conceptually similar to the well-known DCT design, but simplified and made to provide exactly-specified decoding.
    • Adaptive encoder selection between the 4×4 and 8×8 transform block sizes for the integer transform operation.
    • A secondary Hadamard transform performed on "DC" coefficients of the primary spatial transform applied to chroma DC coefficients (and also luma in one special case) to obtain even more compression in smooth regions.
  • A quantization design including:
    • Logarithmic step size control for easier bit rate management by encoders and simplified inverse-quantization scaling.
    • Frequency-customized quantization scaling matrices selected by the encoder for perceptual-based quantization optimization.
  • An in-loop deblocking filter which helps prevent the blocking artifacts common to other DCT-based image compression techniques, resulting in better visual appearance and compression efficiency.
  • An entropy coding design including:
    • Context-adaptive binary arithmetic coding (CABAC), an algorithm to losslessly compress syntax elements in the video stream knowing the probabilities of syntax elements in a given context. CABAC compresses data more efficiently than CAVLC but requires considerably more processing to decode.
    • Context-adaptive variable-length coding (CAVLC), which is a lower-complexity alternative to CABAC for the coding of quantized transform coefficient values. Although lower complexity than CABAC, CAVLC is more elaborate and more efficient than the methods typically used to code coefficients in other prior designs.
    • A common simple and highly structured variable length coding (VLC) technique for many of the syntax elements not coded by CABAC or CAVLC, referred to as Exponential-Golomb coding (or Exp-Golomb).
  • Loss resilience features including:
    • A network abstraction layer (NAL) definition allowing the same video syntax to be used in many network environments, including features such as sequence parameter sets (SPSs) and picture parameter sets (PPSs) that provide more robustness and flexibility than provided in prior designs.
    • Flexible macroblock ordering (FMO), also known as slice groups, and arbitrary slice ordering (ASO), which are techniques for restructuring the ordering of the representation of the fundamental regions (macroblocks) in pictures. Typically considered an error/loss robustness feature, FMO and ASO can also be used for other purposes.
    • Data partitioning (DP), a feature providing the ability to separate more important and less important syntax elements into different packets of data, enabling the application of unequal error protection (UEP) and other types of improvement of error/loss robustness.
    • Redundant slices (RS), an error/loss robustness feature allowing an encoder to send an extra representation of a picture region (typically at lower fidelity) that can be used if the primary representation is corrupted or lost.
    • Frame numbering, a feature that allows the creation of "sub-sequences", enabling temporal scalability by optional inclusion of extra pictures between other pictures, and the detection and concealment of losses of entire pictures, which can occur due to network packet losses or channel errors.
  • Switching slices, called SP and SI slices, allowing an encoder to direct a decoder to jump into an ongoing video stream for such purposes as video streaming bit rate switching and "trick mode" operation. When a decoder jumps into the middle of a video stream using the SP/SI feature, it can get an exact match to the decoded pictures at that location in the video stream despite using different pictures, or no pictures at all, as references prior to the switch.
  • A simple automatic process for preventing the accidental emulation of start codes, which are special sequences of bits in the coded data that allow random access into the bitstream and recovery of byte alignment in systems that can lose byte synchronization.
  • Supplemental enhancement information (SEI) and video usability information (VUI), which are extra information that can be inserted into the bitstream to enhance the use of the video for a wide variety of purposes.
  • Auxiliary pictures, which can be used for such purposes as alpha compositing.
  • Support of monochrome, 4:2:0, 4:2:2, and 4:4:4 chroma subsampling (depending on the selected profile).
  • Support of sample bit depth precision ranging from 8 to 14 bits per sample (depending on the selected profile).
  • The ability to encode individual color planes as distinct pictures with their own slice structures, macroblock modes, motion vectors, etc., allowing encoders to be designed with a simple parallelization structure (supported only in the three 4:4:4-capable profiles).
  • Picture order count, a feature that serves to keep the ordering of the pictures and the values of samples in the decoded pictures isolated from timing information, allowing timing information to be carried and controlled/changed separately by a system without affecting decoded picture content.

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 situations.

 

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 is also under way in the Moving Picture Experts Group. The above mentioned are complete features of H.264/AVC covering all profiles of H.264. A profile for a codec is a set of features of that codec identified to meet 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.

Comparison Overview of Video Codecs:

 

(courtesy: LeadCodecs)

  Speed Compression
General
H.264

very slow,

slow,

medium.

low,

medium,

high,

very high

Inter-frame video compression. Achieve very high compression and generate very small file sizes. Suitable for real time compression and video storage.

H.263 slow, medium.

medium,

high.

Inter-frame video. Achieve high compression (not as high as H.264).  Suitable for real time compression and video storage.

MCMP super fast. low.

Intra-frame video compression, generate low compression files at very high speed. Suitable for video editing, real time video compression (video conferencing), video storage.

MJPEG super fast. low.

Intra-frame video compression, generate low compression files at very high speed. Suitable for video editing, real time video compression (video conferencing), video storage.

MCMW fast.

low,

medium.

Intra-frame video compression, generate medium compression files at high speed. Suitable for video editing, real time video compression (video conferencing), video storage.

MJ2K medium

low,

medium.

Intra-frame video compression, generate medium compression files at low speed. Suitable for video editing and video storage.

MPEG-4

slow,

medium,

fast.

low,

medium,

high.

Inter-frame video. Offers high compression (not as high as H.264), small file size and takes less time than H.264.  Suitable for real time compression and video storage.

MPEG-2

slow,

medium.

low,

medium,

high.

Inter-frame video. Offers high compression (not as high as MPEG-4), small file size when compared to MCMP, MCMW and MJ2K and takes less time than MPEG-4.  Suitable video storage.

 

Profiles of MPEG-4 H.264 Codec

 

The standard includes the following seven sets of capabilities, which are referred to as profiles, targeting specific classes of applications:

  • Baseline Profile (BP): Primarily for lower-cost applications with limited computing resources, this profile is used widely in videoconferencing and mobile applications.
  • Main Profile (MP): Originally intended as the mainstream consumer profile for broadcast and storage applications, the importance of this profile faded when the High profile was developed for those applications.
  • Extended Profile (XP): 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.
  • High Profile (HiP): The primary profile for broadcast and disc storage applications, particularly for high-definition television applications (this is the profile adopted into HD DVD and Blu-ray Disc, for example).
  • High 10 Profile (Hi10P): Going beyond today's 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:2:2 Profile (Hi422P): Primarily targeting professional applications that use interlaced video, this profile builds on top of the High 10 Profile—adding support for the 4:2:2 chroma subsampling format while using up to 10 bits per sample of decoded picture precision.
  • High 4:4:4 Predictive Profile (Hi444PP): This profile builds on top of the High 4:2:2 Profile—supporting up to 4:4:4 chroma sampling, up to 14 bits per sample, and additionally supporting efficient lossless region coding and the coding of each picture as three separate color planes.

In addition, the standard contains four additional all-Intra profiles, which are defined as simple subsets of other corresponding profiles. These are mostly for professional (e.g., camera and editing system) applications:

  • High 10 Intra Profile: The High 10 Profile constrained to all-Intra use.
  • High 4:2:2 Intra Profile: The High 4:2:2 Profile constrained to all-Intra use.
  • High 4:4:4 Intra Profile: The High 4:4:4 Profile constrained to all-Intra use.
  • CAVLC 4:4:4 Intra Profile: The High 4:4:4 Profile constrained to all-Intra use and to CAVLC entropy coding (i.e., not supporting CABAC).

As a result of the Scalable Video Coding extension, the standard contains three additional scalable profiles, which are defined as a combination of the H.264/AVC profile for the base layer (2nd word in scalable profile name) and tools that achieve the scalable extension:

  • Scalable Baseline Profile: Primarily targeting video conferencing, mobile, and surveillance applications, this profile builds on top of a constrained version of the H.264/AVC Baseline profile to which the base layer (a subset of the bitstream) must conform. For the scalability tools, a subset of the available tools is enabled.
  • Scalable High Profile: Primarily targeting broadcast and streaming applications, this profile builds on top of the H.264/AVC High Profile to which the base layer must conform.
  • Scalable High Intra Profile: Primarily targeting production applications, this profile is the Scalable High Profile constrained to all-Intra use.

Codec Downloads