H.264

MPEG4

MPEG4 part2

  • DivX
  • Xvid
  • 3ivx

MPEG4 part 10

  • AVC - H.264

Type of frames

I-frame (intra frame)

  • Full information about the image

P-frame (inter frame)

  • Predictive frame
  • size 50% of I frame

B-frames (inter frame)

  • Bi predictive frame
  • Prediction based on previous or later
  • size 25% of i-frame

Gap of picture (GoP)

Closed vs Open GoP

Predictions and macroblocks

Amout of information

Macroblocks

Macroblocks

Finding a referece macroblock

Predictions
multiple references

Predictions information

Motion vectors example

Prediction error

Direkt/skip macroblock

  • SPATIAL - copy neighborhood block vector
  • TEMPORAL - skipping middle frame

Transform and quantization

Prediction error

Visualization

more in google ;)

CABAC CAVLC entropy coding

entropy coding?

Lossless compression

 type of data compressed (CAVLC)

  • 10% more efficient
  • High and main profile
  • H264 / H265
  • Base profile
  • less demanding

Profiles / levels

Most important profiles

  • Baseline
  • Main
  • High

Base

  • CAVLC
  • Frames: I,P

Main

  • CABAC
  • Frames: I,B,P
  • interlaced coding

High

  • quantization scaling
  • 8x8, 4x4 transform adaptivity

All profiles ;)

Comparison

Levels

limitation to macroblocks/s

(bitrates)

Levels

Example support - Apple TN 2224

Avaliable encoders

Software

  • x264
  • MainConcept 
  • Divix H.264

Hardware

  • nvenc
  • VCE 2.0
  • MainConcept (CUDA)
  • MainConcept (OpenCL)
  • Intel QuickSync

More...

http://www.vcodex.com/h264.html

H.264

By Konrad Pietrzkiewicz