You are on page 1of 20

Rate control in H.

264
ECE 241 Multimedia compression

Harinandan Srinivasamurthy
Winter 2010
Agenda
• What is rate control?
• Rate control algorithms.
• Factors affecting rate control.
• Experiments.
Rate control
• Rate control is a method to adjust encoder
parameters to achieve constant bit rate.

Block diagram showing encoder and decoder buffers Source [3]


Rate control
• This is required because of limited availability
of bandwidth and decoder buffer.
• Statistics of a frame is not known before
encoding. Hence the parameters have to be
predicted for bit allocation.
• The rate has to be chosen such that distortion
is minimized
Rate control algorithms

H.264 rate controller. Source [4]


Rate control algorithms
• Scalable rate control algorithm and it’s extension

• Where R = encoder rate, Q = Quantization step size, S = Mean


absolute difference of the residual frame, are model parameters.

• Bi is the no of bits, is the variance, Qi the quantization step size,


k, A and C are model parameters
Factors affecting rate control
• Quantization parameter (QP)
• Motion estimation
• Statistics of the frame
• Group of pictures (GOP)
Original YUV QP = 15

PSNR Y:48.32 U:50.19 V:50.69

QP = 30 QP = 40

PSNR Y:39.25 U:43.64 V:44.62 PSNR Y:33.64 U:39.01 V:41.49


Original YUV QP = 15

PSNR Y:46.48 U:48.51 V:49.37

QP = 30 QP = 40

PSNR Y:33.41 U:39.75 V:42.35 PSNR Y:26.33 U:37.29 V:39.31


Experiments
• Four sets of experiments.
• H.264 Main profile encoder
• First set – Constant QP
• Second set – Target bitrate
• QP vs PSNR
• Bitrate vs PSNR
• QP vs Bitrate
Constant QP
Akiyo Low motion CIF sequence QP=26

PSNR vs Frame nos


Constant QP
Akiyo Low motion CIF sequence QP=26
Akiyo Low motion CIF sequence target bitrate = 250 kbps
Akiyo Low motion CIF sequence target bitrate = 250 kbps
Akiyo Low motion CIF sequence target bitrate = 250 kbps
QP vs PSNR
Bitrate vs PSNR
QP vs Bitrate
References
• [1] , Gary J. Sullivan, Gisle Bjøntegaard, and Ajay Luthra, Overview of the
H.264/AVC Video Coding Standard, IEEE Transactions on Circuits and
Systems for Video Technology, July 2003
• [2] http://www.videolan.org/developers/x264.html, x264-snapshot-
20100115-2245.tar
• [3] Iain E.G. Richardson, H.264 and MPEG-4 Video Compression, John Wiley
and Sons, 2003
• [4] http://www.pixeltools.com/rate_control_paper.html
• [5] Khalid Sayood, Introduction to Data Compression, Morgan Kaufmann,
third edition, 2006
• [6] Gary J. Sullivan and Thomas Wiegand, Rate distortion optimization for
Video Compression, IEEE Signal Processing magazine, November 1998
• [7] Loren Merritt et al., X264: A high performance H.264/AVC encoder,
http://neuron2.net/library/avc/overview_x264_v8_5.pdf
• [8] Yoo-Sok Saw, Rate-Quality optimized video coding, Kluwer Academic
Publishers, 1999
• [9] A. Ortega and K. Ramchandran, “Rate-distortion methods for image and
video Compression: An Overview,” IEEE Signal Processing magazine,
November 1998, pp. 23-50.
• [10] Siwei Ma, Wen Gao, Peng Gao, and Yan Lu,Rate control for Advance
Video Coding (AVC) Standard, IEEE 2003
References
• [11] Loren Merritt, Rahul Vanam, Improved Rate Control and motion estimation for H.264 encoder,
IEEE International conference on Image processing 2007

• [12] Atul Puria, Xuemin Chen, Ajay Luthra, Video coding using the H.264/MPEG-4 AVC compression
standard Elsevier 2004

• [13] Koichi Takagi, Yasuhiro Takishima and Yasuyuki Nakajima, A study on Rate distortion
optimization scheme for JVT encoder, Proceedings of SPIE, Visual Communications 2003.

• [14] Gary J. Sullivan, Pankaj Topiwala, and Ajay Luthra, The H.264/AVC Advanced Video Coding
Standard: Overview and Introduction to the Fidelity Range Extensions, SPIE Conference on
Applications of Digital Image Processing, August 2004

• [15] Marc Servais, Content-Based Motion Compensation and its application to Video Compression,
PhD dissertation, University of Surrey, United Kingdom, February 2006.

• [16] Jerry D. Gibson, Rich Baker, Richard L. Baker, Toby Berger, Tom Lookabaugh, Digital
compression for multimedia, Morgan Kaufmann, 1998

• [17] http://en.wikibooks.org/wiki/MeGUI/x264_Settings

• [18] x264 options, http://www.digital-digest.com/articles/x264_options_page1.html

• [19] YUV sequences taken from http://trace.eas.asu.edu/yuv/ and
http://www.cipr.rpi.edu/resource/sequences/sif.html

You might also like