Getting the most out of H.264

3,885 views

Published on

Getting the best performance from a video codec is a real challenge. Learn strategies for optimizing compression, video quality and computational performance.

Published in: Technology, Business

Getting the most out of H.264

  1. 1. Getting the most out of H.264 17 th November 2010 Iain Richardson
  2. 2. H.264 : what’s essential and what’s optional?
  3. 4. slices macroblocks frames or fields
  4. 6. I slice P slice B slice I MB I P Skip I P Skip B
  5. 7. Intra prediction choices
  6. 8. Inter prediction choices
  7. 10. Quantization Parameter Transform + quantization choices
  8. 11. Quantized coefficients Motion vectors Macroblock headers … .. Coded bitstream Exp-Golomb / CAVLC encoder CABAC encoder Entropy coding choices
  9. 12. What are the trade-offs?
  10. 13. Quality (or Distortion) Rate Computation
  11. 14. Example: Group of Pictures structure
  12. 15. Encoder choices are based on: Decoder capabilities Video content Computing resources Profile + Level Current + previous statistics Time to encode
  13. 16. What’s important? Bitrate Quality Delay Real-time or offline Flexibility
  14. 17. H.264 mode decisions
  15. 19. MB header and vectors Coded residual Coded macroblock
  16. 20. I slice
  17. 21. P slice
  18. 22. B slice
  19. 23. Making the best decisions
  20. 24. Cost of coding Quality (or distortion) Bitrate Computation
  21. 25. Bitrate PSNR Rate-Distortion Curve for a video clip BETTER WORSE
  22. 27. Rate PSNR R-D points for one MB
  23. 28. <ul><li>Each MB mode has a D “cost” and an R “cost” </li></ul><ul><li>Calculate a combined cost J: </li></ul><ul><ul><li>J = D + λR </li></ul></ul>R D Choose the mode with the smallest value of J
  24. 29. Rate PSNR λ1 λ2
  25. 30. For every macroblock: 1. Try out every coding mode, measure D and R 2. Choose mode with minimum J = D + λR  Rate Distortion Optimised (RDO) Mode Selection
  26. 31. Rate cost Distortion cost Headers Residual Skip MB Intra MB P MB B MB Distortion J
  27. 32. Bitrate PSNR Few modes, no RDO Multiple modes, no RDO Multiple modes, with RDO
  28. 33. Computational overload?
  29. 34. Practical strategy 1: Reduce the number of modes
  30. 35. Practical strategy 2: Approximate cost measures <ul><li>Sub-sample number of search points </li></ul><ul><li>Use a less sophisticated comparison metric </li></ul><ul><li>Etc. </li></ul>
  31. 36. What’s next?
  32. 37. HD content everywhere & not enough bandwidth?
  33. 38. Computation increasing on every platform
  34. 39. More computation More coding options High Efficiency Video Coding Flexible Coding
  35. 40. Summary
  36. 41. Questions? onecodec.com www.dcktn.org.uk vcodex.com Email me: iain @ onecodec.com Follow me on Twitter: @onecodec elecard.com

×