Performance Analysis and Comparison of JM by wanghonghx


									        Performance Analysis and Comparison of JM, Intel IPP
                            and X264 for H.264 Softwares
                                  Guided by – Dr. K. R. Rao
                                  Santosh Kumar Muniyappa
                                     UTA Id – 1000661813

Objective: To carry out a performance analysis of the H.264 softwares like JM software, Intel
IPP and X264.

Motivation: H.264 [2] is the most widely-accepted video standard in years and has spawned a
huge amount of software that implements it viz., JM [6], Intel IPP [8], X264 [5], FFmpeg [9].
Hence performance analysis projects helps in choosing a suitable codec specific to your
application and needs.

Problem Statement: Here the H.264 softwares like JM, Intel IPP and X264 are going to be
analyzed and compared based on their performances different test sequences.

H.264: H.264/AVC is newest video coding standard of the ITU-T Video Coding Experts Group
(VCEG) and the ISO/IEC Moving Picture Experts Group (MPEG). H.264 is a new video
compression scheme that is becoming the worldwide digital video standard for consumer
electronics and personal computers. In particular, H.264 has already been selected as a key
compression scheme (codec) for the next generation of optical disc formats, HD-DVD and Blu-
ray disc (sometimes referred to as BD or BD-ROM).

        H.264 has been adopted by the Moving Picture Experts Group (MPEG) to be a key video
compression scheme in the MPEG-4 format for digital media exchange. H.264 is sometimes
referred to as “MPEG-4 Part 10” (part of the MPEG-4 specification), or as “AVC” (MPEG-4’s
Advanced Video Coding).
       H.264/AVC has achieved a significant improvement in the rate-distortion efficiency
providing, typically, a factor of two in bit-rate savings when compared with existing standards
such as MPEG-2 [13] Video.

Profiles of H.264 (Fig1):
                              Fig1: Profiles of H.264 [3]

H.264 Encoding Block Diagram (Fig2):

                        Fig2: Encoding Block Diagram H.264 [3]
H.264 Decoding Block Diagram (Fig3):

                            Fig3: Decoding Block Diagram H.264 [3]

JM Software [6]:

This software is a product of Joint Video Team (JVT) of ISO/IEC MPEG and ITU-T VCEG.
The latest version of JM Software is 17.2. It supports both planar and interleaved/packed raw
image data (viz., yuv, rgb). The input file is a configuration file (text file) and some of the
parameters passed in that file are:

   Input file
   Number of frames to be encoded
   Frame rate
   Output frame width and Height
   Profile, level selection
   GOP size
   Bit rate control

X264 [5]:

The high performance of x264 is attributed to its rate control, motion estimation, macroblock
mode decision, quantization and frame type decision algorithms. In addition, x264 uses assembly
optimized code for many of the primitive operations. Comparing x264 with JM, it is shown that
on an average x264 is 50x faster and provides rate-distortion performance close to that of JM [7].
It supports raw video data (yuv4mpeg or y4m only 4:2:0) and the output file formats are .264,
.mkv, mp4. The inputs are provided through the command prompt. Some of the parameters that
can be provided are:

   Profile
   Rate control
   GOP size
   Quantization parameter
   Frame rate

Intel IPP [8]:
Intel® Integrated Performance Primitives (Intel® IPP) is an extensive library of multicore-ready,
highly optimized software functions for digital media and data-processing applications. Intel IPP
offers thousands of optimized functions covering frequently-used fundamental algorithms. Intel
IPP functions are designed to deliver performance beyond what optimized compilers alone can
deliver [10].

Known Limitations:

       The encoder assumes that input video data object contains frame in YUV420 format.
       Encoder does not support frame resizing. Thus input and output frame sizes should be the
       Supports only main and high profiles.
       Input file is h264.par
            Source file
            Number of frames to encode
            Frame rate


A detailed analysis on different profiles and bit rates using CIF, QCIF, SDTV and HDTV video
test sequences will be done. Performance comparison will be done based on these parameters:

   Encoding and decoding times (seconds)
   Compression ratio
   Mean squared error
   Peak to peak signal to noise ratio
   Structural similarity index metric [12]

   1. I. E. Richardson, “The H.264 advance video compression standard”, 2nd Edition. Wiley

   2. T. Wiegand, et al “Overview of the H.264/AVC video coding standard”, IEEE Trans. on
      circuits and systems for video technology, vol. 13, pp. 560-576, July 2003

   3. D. Marpe, T. Wiegand and G. J. Sullivan, “The H.264/MPEG-4 AVC standard and its
      applications”, IEEE Communications Magazine, vol. 44, pp. 134-143, Aug. 2006.

   4. G. Sullivan, et al “The H.264/AVC Advanced Video Coding Standard: Overview and
      Introduction to the Fidelity Range Extensions”. Presented at the SPIE Conference on
      Applications of Digital Image Processing XXVII, Special Session on Advances in the
      New Emerging Standard: H.264/AVC, Vol. 5558, pp. 53.

   5. GIT repository of X264 -;a=summary

   6. JM software –

   7. L. Merritt et al., “X264: A High Performance H.264/AVC Encoder”.

   8. Intel IPP -

   9. FFmpeg software -

   10. Intel IPP Overview -

   11. Swaroop, K.V.S. and Rao, KR, “Performance Analysis and Comparison of JM 15.1 and
       Intel IPP H.264 Encoder and Decoder”, IEEE 2010 42nd Southeastern Symposium on
       System Theory (SSST), pp. 371-375.

   12. Z. Wang, A. C. Bovik, H. R. Sheikh and E. P. Simoncelli, "Image quality assessment:
       From error visibility to structural similarity," IEEE Transactions on Image Processing,
       vol. 13, no. 4, pp. 600-612, Apr. 2004.

   13. Tudor, PN, “MPEG-2 video compression”, Electronics \& communication engineering
       journal, vol. 7, pp. 257-264, 2005

To top