Context Adaptive Variable Length Coding
Context Adaptive Variable Length Coding (CAVLC, deutsch: Kontextadaptiver Code variabler Länge) beschreibt eine kontextabhängige Lauflängenkodierung und ist eine Art der verlustfreien Entropiekodierung. Ein Einsatzgebiet von CAVLC ist bei der Videokomprimierung MPEG-4/Part 10 (H.264/AVC). Der Entwurf des CAVLC wurde so ausgelegt, dass es möglichst viele Eigenheiten der MPEG-Quantisierung nutzen kann. Eigenheiten der MPEG-Quantisierung sind unter anderem:
- Die Ausgangsmenge enthält hauptsächlich Nullen.
- Die höchsten Werte stehen zu Beginn der Ausgangsmenge und werden zum Ende niedriger.
- Die höchsten Werte in der Ausgangsmenge sind oft Sequenzen von 1 und −1.
Ein mit CAVLC komprimierter Datenstrom ist gegenüber einem mit dem rechenintensiveren Context-Adaptive Binary Arithmetic Coding (CABAC) komprimierten Datenstrom um etwa 10–20 % größer.
Literatur
- Iain E. G. Richardson: H.264 and MPEG-4 Video Compression: Video Coding for Next-generation Multimedia. John Wiley & Sons Ltd., Chichester 2003.
Weblinks
- Iain E. G. Richardson, Variable Length Coding H.264 / MPEG-4 Part 10 White Paper, englisch
- Jie Liang, Simon Fraser University, CAVLC in H.264, PDF-Vortrag über CAVLC, englisch
- JVT Document JVT-C028, G. Bjontegaard and K. Lillevold, “Context-Adaptive VLC Coding of Coefficients”, Fairfax, VA, May 2002
- Unterschiede in der Kodiereffizient zwischen CABAC und CAVLC, dargestellt anhand eines Beispielbildes