Upload
christal-walsh
View
218
Download
1
Embed Size (px)
Citation preview
H.264 STANDARD BASED SIDE INFORMATION
GENERATION IN WYNER-ZIV CODING
Subrahmanya M V(Under the guidance of Dr. Rao and Dr.Jin-
soo Kim)
Contents
Traditional Video coding
Wyner-Ziv video coding
Applications
Wyner-Ziv encoder◦ Key frame encoding◦ WZ frame encoding
Wyner-Ziv decoder◦ Key frame decoding◦ WZ frame decoding
Contents( contd.)
Side Information Generation◦ Inter-prediction◦ Intra-prediction
Motion estimation (ME)◦ Full-pixel◦ Half-pixel◦ Quarter-pixel
Motion compensation (MC)◦ Luma◦ Chroma
Bi-directional interpolationIntra-prediction
Contents( contd.)
ImplementationTestingResults
◦SI prediction schemes◦ME block sizes◦ME search ranges◦Key frame distances◦Bit rates
ConclusionsReferences
Traditional Video coding
Source coding Encoder removes temporal and spatial redundancies
Intra frame encoding Inter frame encoding: Computationally intensive
Complex Encoder + Simple decoder
[Dr. Jin-soo Kim]
Wyner-Ziv video coding
Source coding + Channel coding Decoding with side-information(SI)
Slepian-Wolf coding: Lossless Wyner-Ziv coding: Lossy
Simple encoder + Complex decoder
[Dr. Jin-soo Kim]
Applications
Light encoder and light decoder [20] Wireless low power video surveillance Sensor network Multi-view image acquisition Networked camcoders
[Dr. Jin-soo Kim]
Wyner-Ziv Encoder
Input YUV 420 Output: Bitstream Encoding Key frame + WZ frame
Key frame encoding
H.264 Intra frame coding Intra prediction Integer Transform Quantization Entropy Coding
[M. Lee, A. Moore]
Intra prediction
Predicted from top, left, top left and top right
neighbors 4x4 intra prediction Nine directional modes
[J. S. Park and H. J. Song]
[T. Wiegand and G.J Sullivan]
Key frame encoding
Integer Transform
Quantization
◦ Element by element Multiplication
Entropy Coding using Exp-Golomb codes
WZ frame encoding
Residual signal Generation
-26 -19 -12 -5 2 9 16 23 30 37 44 51 58 65 720
0.010.020.030.040.050.060.070.080.090.1
ForemanStefancoastguard
[Dr. Jin-soo Kim]Residual Signal
WZ frame encoding(contd.)
Residual bit plane extraction
WZ frame encoding(contd.)
Low Density Parity Check(LDPC) encoding Obtain parity bits for the message bits Message bits(90%) + Parity bits(10%) Only parity bits are sent to achieve compression
Wyner-Ziv Decoder
Decoding Key frame + WZ frame
[E. Peixoto, R. L. de Queiroz, and D. Mukherjee]
Key Frame
WZ Frame
Wyner-Ziv Decoder( Contd. )
Key frame decoding Intra prediction Entropy decoding Inverse Quantization Inverse Integer transform
Key frame decoding
Inverse Integer Transform
Inverse Quantization
◦ Element by Element Multiplication
Entropy decoding Exp-Golomb codes are decoded using prefix tables
Wyner-Ziv Decoder( Contd. )
WZ frame decoding SI generation: Prediction to obtain the message bits LDPC decoding: Correct prediction errors using parity bits
Message contains a pair of values [qij(0), qij(1)] or [rij(0), rij(1)] – Signify the amount of belief that yi is a ”0” or a ”1”.
Initial belief is based on message bits predicted and parity bits sent Belief is iteratively updated and new message bits are obtained Iteration proceeds till fixed iteration count or message bits remain
unchanged in an iteration
Side Information Generation
Motion estimation Estimate motion of a block between two key frames
to obtain motion vectors( MVx, MVy ) for each block Interpolate motion vectors to obtain motion
between key frame and WZ frame
Motion Compensation Interpolate key frame based on motion vectors to
obtain MC prediction for WZ frame
Intra prediction Prediction for blocks which are absent in key frames
Motion Estimation
Forward ME between key frames – MVF
Backward ME between key frames - MVB
Derive MVs for WZ frame using Key frame MVS
[E. Peixoto, R. L. de Queiroz, and D. Mukherjee 2008]
Higher key frame distance
For larger key frame distance hierarchical structure can be used
[A. Aaron, E. Setton and B. Girod 2003]
SAD based ME
Obtain absolute difference between each pixel in the block to be searched and the reference block
Best match is a block with least sum of absolute differences
(W+2SR) X (H+2SR)
Sub-pixel ME
Motion vector is estimated up to quarter-pixel units
Interpolation of reference is done to obtain half-pixel and quarter-pixel units
Half-pixel positions are obtained using five tap filter
Quarter pixels are obtained using bilinear interpolation
Half-pixel motion estimation
H33 = [F13 + -5 * F23 + 20 * F33 + 20 * F43 + -5 * F53 + F63 + 15] >> 5
G33 = [F31 + -5 * F32 + 20 * F33 + 20 * F34 + -5 * F35 + F36 + 15] >> 5
D33 = [H31 + -5 * H32 + 20 * H33 + 20 * H34 + -5 * H35 + H36 + 15] >> 5
quarter-pixel motion estimation
q1 = ( F33 + G33 + 1 ) >> 1
q2 = ( G33 + F34 + 1 ) >> 1
q3 = ( F33 + H33 + 1 ) >> 1
q4 = ( H33 + G33 + 1 ) >> 1
q5 = (G33 + D33 + 1 ) >> 1
q6 = ( G33 + H34 + 1 ) >> 1
q7 = ( H33 + D33 + 1 ) >> 1
q8 = ( D33 + H34 + 1 ) >> 1
q9 = ( H33 + F43 + 1 ) >> 1
q10 = ( H33 + G43 + 1 ) >> 1
q11 = ( D33 + G43 + 1 ) >> 1
q12 = ( G43 + H34 + 1 ) >> 1
Motion Compensation (Luma)
Obtain a block from key frame with offset specified by motion vector
Motion Compensation (Chroma)
Chroma MV = Luma MV / 2 Obtain A, B, C, D based on integer part of MV
Floor(MV/8)
Predict based on fractional part of MV (MV & 7)
Bi-directional interpolation
SI frame = (Forward prediction Frame + Backward Prediction frame + 1)/2
Intra prediction
4x4 prediction Prediction mode of co-located block from
previous key frame
Implementation
EncoderKey frame encoding is done using JM encoderWZ frame decoding is implemented in ‘C’
Residual generation Quantization Bit plane extraction LDPC encoder
DecoderKey frame is decoded using JM decoderWZ frame decoding is implemented in ‘C’
SI generation LDPC decoder De-quantization Reconstruction
LDPC encoder and decoder are implemented by Dr. Jin-soo Kim [4]
Testing
Comparison with traditional codingH.264 is used for comparison Generate H.264 reconstructed sequence
Encode using H.264 encoder Decode using H.264 decoder to obtain reconstructed
YUV sequenceGenerate Wyner-Ziv reconstructed sequence
Encode using Wyner-Ziv encoder Decode using Wyner-Ziv decoder to obtain
reconstructed YUV sequenceCompare two sequences using PSNR and SSIM
Significance of different parameters in Wyner-Ziv coding SI Prediction methodKey frame distanceME search rangeME block size
SI prediction schemes(Sample reconstructed images)
bus( CIF) [Average, Full pixel ME, Half-pixel ME, Quarter-pixel ME, Bi-prediction, Intra-prediction combined]
SI prediction schemes( Plots)
ME block sizes(Sample reconstructed images)
coastgaurd (CIF) [16x16, 8x8, 4x4]
ME block sizes( Plots)
ME search ranges (Sample reconstructed images)
stefan (CIF) [16, 8, 4]
ME search ranges( Plots)
Key frame distances (Sample reconstructed images)
garden (CIF) [1, 2, 3, 4, 5]
Key frame distances( Plots)
Comparison with H.264 (Sample reconstructed images)
Comparison with H.264( Plots)
Conclusions
H.264 based SI generation based on quarter-pixel ME performs better compared to previously done H.263which is based on half-pixel ME[1] .
ME block size 16x16 is ideal
Higher ME search range produces better results
At higher key frame distance quality drops sharply
Traditional video coding has better R-D performance
Future work
Wyner-Ziv to H.264 transcoder Light encoder + light decoderInter and intra prediction done in Wyner-
Ziv decoder can be reused for the H.264 encoder
Accepted conference paper
Subrahmanya Venkatrav and Dr. K. R. Rao,
“Side information generation in Wyner-Ziv
decoder”,
The 7th International Joint Conference on Computer Science and Software
Engineering
May 13-14, 2010 Bangkok, Thailand
References
1. E. Peixoto, R. L. de Queiroz, and D. Mukherjee, “Mobile video communications using a Wyner-Ziv transcoder,” Proc. SPIE 6822, VCIP, 68220R Jan. 2008.
2. A. Aaron, E. Setton and B. Girod, "Towards practical Wyner-Ziv coding of video," Proceedings. IEEE International Conference on Image Processing, 2003. ICIP 2003., vol.3, pp. III-869-872, 14-17 Sept. 2003.
3. K. R. Rao and J. J. Hwang, Techniques and standards for image, video, and audio coding, Prentice Hall PTR, 1996.
4. Jin-Soo Kim, "Brief overview of Wyner-Ziv CODEC" (Private Communication)
5. A. Aaron, D. Varodayan, and B. Girod, “Wyner-Ziv residual coding of video,” Proc. International Picture Coding Symposium, Beijing, P. R. China , April 2006.
6. T. Wiegand and G.J Sullivan, “The H.264/AVC video coding standard”, IEEE SP Magazine, vol. 24, pp. 148-153, March 2007.
7. G. J. Sullivan, P. Topiwala, and A. Luthra, "The H.264/AVC advanced video coding standard: Overview and introduction to the fidelity range extensions", SPIE Conf. on applications of digital image processing XXVII, vol. 5558, pp. 53-74, Aug. 2004.
8. S.K. Kwon, A. Tamhankar, and K.R. Rao “Overview of H.264/MPEG-4 Part 10” J. VCIR, Vol. 17, pp. 186-216, April 2006, Special Issue on “Emerging H.264/AVC Video Coding Standard,”.
References(Contd)
9. A. Wyner and J. Ziv, "The rate-distortion function for source coding with side information at the decoder," IEEE Trans., Information Theory, vol.22, pp. 1-10, Jan 1976.
10. D. Slepian and J. Wolf, “Noiseless coding of correlated information sources,” IEEE Trans. on Information Theory Vol. 19, pp. 471–480, July 1973.
11. D. Varodayan, A. Aaron and B. Girod, "Rate-adaptive distributed source coding using low-density parity-check codes," Conference Record of the Thirty-Ninth Asilomar Conference on Signals, Systems and Computers, pp. 1203-1207, Oct. 28 – Nov. 1, 2005.
12. Z. Li and E.J. Delp, "Wyner-Ziv video side estimator: conventional motion search methods revisited," IEEE International Conference on Image Processing, 2005. ICIP 2005, vol.1, pp. I-825-828, 11-14 Sept. 2005.
13. L. Liu and E. J. Delp, "Wyner-Ziv video coding using LDPC codes," Proceedings of the 7th Nordic Signal Processing Symposium, 2006. NORSIG 2006.
14. D. Kubasov, K. Lajnef and C. Guillemot, "A hybrid encoder/decoder rate control for Wyner-Ziv video coding with a feedback channel," IEEE 9th Workshop on Multimedia Signal Processing, 2007. MMSP 2007., pp.251-254, 1-3 Oct. 2007.
15. C. Brites and F. Pereira, "Encoder rate control for transform domain Wyner-Ziv video coding," IEEE International Conference on Image Processing, 2007. ICIP 2007., vol.2, pp.II -5-II -8, 16-19 Sept. 2007
16. A. Roca, et al, "Rate control algorithm for pixel-domain Wyner-Ziv video coding ," Proc. SPIE, vol. 6822, 68221T (2008).
References(Contd)
17. D. Mukherjee, “Optimal parameter choice for Wyner-Ziv coding of Laplacian sources with decoder side information,” HP Labs Technical Report HPL-2007-34, 2007.
18. Z. Wang, et al, "Image quality assessment: From error visibility to structural similarity," IEEE Trans., Image Processing, vol.13, pp. 600-612, April 2004
19. I. Richardson, “The H.264 advanced video compression standard,” Hoboken, NJ: Wiley, 2010.
20. D. Rebollo-Monedero, S. Rane, A. Aaron and B. Girod, "High-rate quantization and transform coding with side information at the decoder," EURASIP Signal Processing Journal, Special Issue on Distributed Source Coding.
21. S.-K Kwon, A. Tamhankar and K.R. Rao, ‘Overview of H.264 / MPEG-4 Part 10” ISME, Hong Kong, Oct. 2004.
22. JVT documents ftp://standards.polycom.com
http://ftp3.itu.ch/av-arch/jvt-site/23. M. Lee and A. Moore, “H.264 Encoder Design“, Group 3, May 17,
200624. J. S. Park and H. J. Song, “Selective Intra Prediction Mode Decision
for H.264 /AVC Encoders”, World Academy of Science, Engineering and Technology 13 2006.
25. B. M.J. Leiner, “LDPC Codes – a brief Tutorial”, April 8, 2005
References(Contd)
26. G. Cote, B. Erol, M. Gallant, and F. Kossentini, “H.263+: Video coding at low bit rates,” IEEE Trans. Circuits and Systems for Video Technology ,Vol.8, pp. 849–866, Nov. 1998
27. (2008, August) H.264/avc JM reference software. Joint Video Team (JVT) of ISO/IEC MPEG & ITU-T VCEG. [Online]. Available: http://iphome.hhi.de/suehring/tml/