Académique Documents
Professionnel Documents
Culture Documents
Guided by Dr K.R.Rao
By Kiran Jonnavittula
Why codecs?
Because video and music files are large, they become difficult to transfer across the Internet quickly. To help speed up downloads, mathematical "codecs" were built to encode ("shrink") a signal for transmission and then decode it for viewing or editing, and also for storage purposes. A video codec is a device or software that enables video compression and/or decompression for digital video.
Decoder
Bitstream Input Entropy Decoding Inverse Quantization & Inverse Transform + Deblocking Filter Video Output +
Picture Buffering
Intra Prediction
Motion Compensation
Profiles of H.264
FFMPEG
Fast Forwarding Mpeg. Ffmpeg 0.6.1. FFmpeg is a free software / open source project that produces libraries and programs for handling multimedia data. The most notable parts of FFmpeg are libavcodec, an audio/video codec library used by several other projects, libavformat, an audio/video container mux and demux library, and the ffmpeg command line program for transcoding multimedia files Download the source code, link the files, build and get the required excecutable. [1]
FFMPEG syntax
ffmpeg [[infile options][`-i' infile]]... {[outfile options] outfile} Default Profile: Main Profile
JM Software
Current software version 17.2 Modify .config file based on each Profile:
encoder_baseline.cfg encoder.cfg encoder_main.cfg encoder_extended.cfg [3]
JM commands
Access lencode.exe and appropriate config file. Change the config file parameters such as quantization parameter, number of frames to be encoded etc.
Figure 6 : Command prompt of JM software.
10
28 40 51
38.428
35.715 34.04 33.082
51.832
38.431 29.836 12.79
0.9975
0.9722 0.8609 0.3909
1292.51
204.14 66.05 12.76
7.058
44.202 137.518 618.833
4.471
2.727 2.102 1.204
SSIM 0.9861
3
4 6 10 20 30 31
2.4
2.4 2.4 2.4 2.4 2.4 2.4
39.1
36.99 34.2 30.97 27.01 24.99 24.84
0.9755
3696
7.562
9.975 15.452 27.575 63.984 103.67 107.763
2.4
2.4 2.4 2.4 2.4 2.4 2.4
0.96422 2802.3 0.9392 0.8889 0.7853 0.7075 0.7033 1807 1010.7 434.8 268.1 258.4
1313.604
64.735
0.995
16857.59
1.987
30.77
1211.569
55.792
0.993
12825.1
2.614
25.088
20
1141.293
42.57
0.965
3626.32
9.246
15.59
40
1163.053
26.759
0.867
193.94
170.625
3.754
50
1055.155
20.722
0.386
48.48
682.5
4.141
0
0 10 20 30 Quantization Parameter 40 50 60
0.8 SSIM
0.6
FFMPEG
JM
0.4
0.2
0 0 10 20 30 40 50 60 Quantization Parameter
Figure9 : Plot of quantization parameter versus bit rate for bus_cif sequence.
1000
100
FFMPEG JM
10
10
20
30
40
50
60
Quantization Parameter
Figure10 : Plot of quantization parameter versus encoding time for bus_cif sequence.
Figure11 : Plot of quantization parameter versus compression ratio for bus_cif sequence.
10
FFMPEG
JM
1 0 10 20 30 Quantization Parameter 40 50 60
Figure12 : Plot of quantization parameter versus decoding time for bus_cif sequence.
60
50 PSNR in Db 40 30 20 10 0 0 10 20 30 Quantization Parameter 40 50 60 FFMPEG JM
0.8 SSIM
0.6
FFMPEG JM
0.4
0.2
0 0 10 20 30 Quantization Parameter 40 50 60
100
FFMPEG JM
10
1 0 10 20 30 Quantization Parameter 40 50 60
Figure15 : Plot of quantization parameter versus bit rates for Akiyo_qcif sequence.
300
200 100 0 0 10 20 30 Quantization Parameter 40 50 60
Figure16 : Plot of quantization parameter versus compression ratio for Akiyo_qcif sequence.
100
FFMPEG 10 JM
1 0 10 20 30 Quaization Parameter 40 50 60
Figure17 : Plot of quantization parameter versus encoding time for Akiyo_qcif sequence.
FFMPEG JM
0 0 10 20 30 Quantization Parameter 40 50 60
Figure18 : Plot of quantization parameter versus decoding time for Akiyo_qcif sequence.
Conclusion
Parameter Analyzed Encoding time. Qcif FFMPEG offers faster encoding time than JM software. Cif FFMPEG offers faster encoding time than JM software.
Bit rates.
Compression ratio.
PSNR.
JM offers better PSNR than JM offers better PSNR than FFMPEG FFMPEG. FFMPEG offers better SSIM FFMPEG offers better SSIM that JM. that JM. FFMPEG offers faster decoding time than JM software. FFMPEG offers faster decoding time than JM software.
SSIM.
Decoding Time.
References
1. 2. 3. 4. 5. 6. 7. 8. http://ffmpeg.org/ - FFMPEG source code. http://www.ffmpeg.org/ffmpeg-doc.html - FFMPEG commands documentation. http://iphome.hhi.de/suehring/tml/ - JM software source code https://helixcommunity.org developers guide. 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 Joint Video Team (JVT) of ISO/IEC MPEG & ITU-T VCEG (ISO/IEC JTC1/SC29/WG11 and ITU-T SG16 Q.6), 16th Meeting: Poznan, Poland, 24-29 July, 2005. Soon-kak Kwon, A. Tamhankar and K.R. Rao Overview of H.264 / MPEG-4 Part 10, J. Visual Communication and Image Representation, vol. 17, pp.186-216, April 2006. The H.264 Advanced Video Compression Standard, Iain E. Richardson, Wiley publications, Second Edition, Copyright 2010 John Wiley & Sons, Ltd. 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. P. N. Tudor, MPEG-2 video compression, Electronics \& communication engineering journal, vol. 7, pp. 257-264, 2005. K. V. S. Swaroop, and K. R Rao, 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, 2010. G. Sullivan, et al The H.264/AVC Advanced Video Coding Standard: Overview and Introduction to the Fidelity Range Extensions. Proceedings of SPIE - The International Society for Optical Engineering, vol. 5558, pp. 454-474, Applications of Digital Image Processing XXVII , 2004. Video Sequences : http://trace.eas.asu.edu/yuv/ http://personals.ac.upc.edu/alvarez/hdvideobench/node3.html - H.264 benchmarks summarization and their applications. http://www.ece.uwaterloo.ca/~z70wang/research/ssim/ - SSIM reference. S.Kwon, A. Tamhankar and K.R. Rao, Overview of H.264 / MPEG-4 Part 10, J. Visual Communication and Image Representation, vol. 17, pp.186-216, April 2006.
9.
10. 11. 12.