Sie sind auf Seite 1von 19
Chair for Chip Design for Embedded Computing Performance and Computational Complexity Analysis of High-Efficiency Video

Chair for Chip Design for Embedded Computing

Performance and Computational Complexity Analysis of High-Efficiency Video Coding (HEVC) Seminarvortrag Karsten
Performance and Computational Complexity Analysis of
High-Efficiency Video Coding (HEVC)
Seminarvortrag
Karsten Schnitzler
January 6, 2014

Inhalt

Einf¨uhrung in HEVC(H.265)Inhalt Unterschiede in der Komplexit¨at zwischen H.264 und HEVC Decoder Quadtree-based block partitioning Intra

Unterschiede in der Komplexit¨at zwischen H.264 und HEVCInhalt Einf¨uhrung in HEVC(H.265) Decoder Quadtree-based block partitioning Intra prediction and Inter prediction/Motion

DecoderUnterschiede in der Komplexit¨at zwischen H.264 und HEVC Quadtree-based block partitioning Intra prediction and Inter

Quadtree-based block partitioningin der Komplexit¨at zwischen H.264 und HEVC Decoder Intra prediction and Inter prediction/Motion compensation

Intra prediction and Inter prediction/Motion compensationH.264 und HEVC Decoder Quadtree-based block partitioning Transforms and quantization Entropy Coding Deblocking Filter

Transforms and quantizationIntra prediction and Inter prediction/Motion compensation Entropy Coding Deblocking Filter Sample adaptive offset

Entropy Codingprediction/Motion compensation Transforms and quantization Deblocking Filter Sample adaptive offset filter High-level

Deblocking Filtercompensation Transforms and quantization Entropy Coding Sample adaptive offset filter High-level parallelism

Sample adaptive offset filterTransforms and quantization Entropy Coding Deblocking Filter High-level parallelism Ergebnis Encoder HM Encoder Ergebnis

High-level parallelismCoding Deblocking Filter Sample adaptive offset filter Ergebnis Encoder HM Encoder Ergebnis Fazit Decoding Encoding

ErgebnisSample adaptive offset filter High-level parallelism Encoder HM Encoder Ergebnis Fazit Decoding Encoding Karsten

Encoderadaptive offset filter High-level parallelism Ergebnis HM Encoder Ergebnis Fazit Decoding Encoding Karsten

HM Encoderoffset filter High-level parallelism Ergebnis Encoder Ergebnis Fazit Decoding Encoding Karsten Schnitzler |

Ergebnisfilter High-level parallelism Ergebnis Encoder HM Encoder Fazit Decoding Encoding Karsten Schnitzler | Performance

FazitHigh-level parallelism Ergebnis Encoder HM Encoder Ergebnis Decoding Encoding Karsten Schnitzler | Performance and

Decodingparallelism Ergebnis Encoder HM Encoder Ergebnis Fazit Encoding Karsten Schnitzler | Performance and Computational

EncodingErgebnis Encoder HM Encoder Ergebnis Fazit Decoding Karsten Schnitzler | Performance and Computational

Ergebnis Encoder HM Encoder Ergebnis Fazit Decoding Encoding Karsten Schnitzler | Performance and Computational

Karsten Schnitzler |

Performance and Computational Complexity Analysis of High-Efficiency Video Coding (HEVC) | 2

Complexity Analysis of High-Efficiency Video Coding (HEVC) | 2 Chair for Chip Design for Embedded Computing

Chair for

Chip Design for Embedded Computing

Was ist HEVC

Was ist HEVC ? Beginn der Entwicklung 2004 als Erweitrung/Nachfolger zu H.264

der Entwicklung 2004 als Erweitrung/Nachfolger zu H.264 April 2013 HEVC(H.265) wird als ITU-T Standart anerkannt

April 2013 HEVC(H.265) wird als ITU-T Standart anerkannt November 2014 Ver¨offentlichung der ISO/IECder Entwicklung 2004 als Erweitrung/Nachfolger zu H.264 Karsten Schnitzler | Performance and Computational

anerkannt November 2014 Ver¨offentlichung der ISO/IEC Karsten Schnitzler | Performance and Computational
anerkannt November 2014 Ver¨offentlichung der ISO/IEC Karsten Schnitzler | Performance and Computational

Karsten Schnitzler |

Performance and Computational Complexity Analysis of High-Efficiency Video Coding (HEVC) | 3

Complexity Analysis of High-Efficiency Video Coding (HEVC) | 3 Chair for Chip Design for Embedded Computing

Chair for

Chip Design for Embedded Computing

Geschichte

Geschichte Beginn der Entwicklung 2004 als Erweitrung/Nachfolger zu H.264

der Entwicklung 2004 als Erweitrung/Nachfolger zu H.264 April 2013 HEVC(H.265) wird als ITU-T Standart anerkannt

April 2013 HEVC(H.265) wird als ITU-T Standart anerkannt November 2014 Ver¨offentlichung der ISO/IECder Entwicklung 2004 als Erweitrung/Nachfolger zu H.264 Karsten Schnitzler | Performance and Computational

anerkannt November 2014 Ver¨offentlichung der ISO/IEC Karsten Schnitzler | Performance and Computational
anerkannt November 2014 Ver¨offentlichung der ISO/IEC Karsten Schnitzler | Performance and Computational

Karsten Schnitzler |

Performance and Computational Complexity Analysis of High-Efficiency Video Coding (HEVC) | 4

Complexity Analysis of High-Efficiency Video Coding (HEVC) | 4 Chair for Chip Design for Embedded Computing

Chair for

Chip Design for Embedded Computing

Anforderungen

Anforderungen Doppelt so hohe Kompression bei gleichbleibender Qualit¨at

Doppelt so hohe Kompression bei gleichbleibender Qualit¨at Skalierbarkeit von 320 x 240 bis 8192 x 4320

Skalierbarkeit von 320 x 240 bis 8192 x 4320 Pixel Bis zu 300 fpsDoppelt so hohe Kompression bei gleichbleibender Qualit¨at Karsten Schnitzler | Performance and Computational

von 320 x 240 bis 8192 x 4320 Pixel Bis zu 300 fps Karsten Schnitzler |
von 320 x 240 bis 8192 x 4320 Pixel Bis zu 300 fps Karsten Schnitzler |

Karsten Schnitzler |

Performance and Computational Complexity Analysis of High-Efficiency Video Coding (HEVC) | 5

Complexity Analysis of High-Efficiency Video Coding (HEVC) | 5 Chair for Chip Design for Embedded Computing

Chair for

Chip Design for Embedded Computing

Quadtree-based block partitioning Benutzung einer adaptiven quadtree structure basierend auf einer coding tree unit(CTU)

Quadtree-based block partitioning

Benutzung einer adaptiven quadtree structure basierend auf einer coding tree unit(CTU)

Ein Block definiert ein Sample-Arrayquadtree structure basierend auf einer coding tree unit(CTU) Eine Unit beinhaltet: einen luma Block zum luna

Eine Unit beinhaltet:coding tree unit(CTU) Ein Block definiert ein Sample-Array einen luma Block zum luna Block dazugeh¨orige chroma

einen luma BlockEin Block definiert ein Sample-Array Eine Unit beinhaltet: zum luna Block dazugeh¨orige chroma Bl¨ocke Syntax, um

zum luna Block dazugeh¨orige chroma Bl¨ockeein Sample-Array Eine Unit beinhaltet: einen luma Block Syntax, um diese Bl¨ocke zu codieren. Karsten Schnitzler

Syntax, um diese Bl¨ocke zu codieren.luma Block zum luna Block dazugeh¨orige chroma Bl¨ocke Karsten Schnitzler | Performance and Computational

chroma Bl¨ocke Syntax, um diese Bl¨ocke zu codieren. Karsten Schnitzler | Performance and Computational

Karsten Schnitzler |

Performance and Computational Complexity Analysis of High-Efficiency Video Coding (HEVC) | 6

Complexity Analysis of High-Efficiency Video Coding (HEVC) | 6 Chair for Chip Design for Embedded Computing

Chair for

Chip Design for Embedded Computing

Quadtree-based block partitioning Karsten Schnitzler | Performance and Computational Complexity Analysis of

Quadtree-based block partitioning

Quadtree-based block partitioning Karsten Schnitzler | Performance and Computational Complexity Analysis of
Quadtree-based block partitioning Karsten Schnitzler | Performance and Computational Complexity Analysis of

Karsten Schnitzler |

Performance and Computational Complexity Analysis of High-Efficiency Video Coding (HEVC) | 7

Complexity Analysis of High-Efficiency Video Coding (HEVC) | 7 Chair for Chip Design for Embedded Computing

Chair for

Chip Design for Embedded Computing

Quadtree-based block partitioning Figure: 4k x 2k Sequenz. Coding block (Weiß), nested tranform block (rot)

Quadtree-based block partitioning

Quadtree-based block partitioning Figure: 4k x 2k Sequenz. Coding block (Weiß), nested tranform block (rot) Karsten

Figure: 4k x 2k Sequenz. Coding block (Weiß), nested tranform block (rot)

Sequenz. Coding block (Weiß), nested tranform block (rot) Karsten Schnitzler | Performance and Computational

Karsten Schnitzler |

Performance and Computational Complexity Analysis of High-Efficiency Video Coding (HEVC) | 8

Complexity Analysis of High-Efficiency Video Coding (HEVC) | 8 Chair for Chip Design for Embedded Computing

Chair for

Chip Design for Embedded Computing

Intra prediction Intra Prediction hat die gleichen Modiearten wie H.264 DC plane Horizontal/Vertikal

Intra prediction

Intra Prediction hat die gleichen Modiearten wie H.264Intra prediction DC plane Horizontal/Vertikal directional, palar und angular 35 prediction modes anstatt 9 in

DC

DC

plane

plane

Horizontal/Vertikal

Horizontal/Vertikal

directional, palar und angular

directional, palar und angular

35 prediction modes anstatt 9 in H.264(Blockgr¨oßen von 4x4 bisHorizontal/Vertikal directional, palar und angular 32x32) mehr prediction modes erfordern gute Heuristiken, um

32x32)

mehr prediction modes erfordern gute Heuristiken, um die Komplexit¨at gering zu halten.modes anstatt 9 in H.264(Blockgr¨oßen von 4x4 bis 32x32) Karsten Schnitzler | Performance and Computational

gute Heuristiken, um die Komplexit¨at gering zu halten. Karsten Schnitzler | Performance and Computational

Karsten Schnitzler |

Performance and Computational Complexity Analysis of High-Efficiency Video Coding (HEVC) | 9

Complexity Analysis of High-Efficiency Video Coding (HEVC) | 9 Chair for Chip Design for Embedded Computing

Chair for

Chip Design for Embedded Computing

Inter prediction / Motion compensation Platzhalter Karsten Schnitzler | Performance and Computational Complexity Analysis

Inter prediction / Motion compensation

Inter prediction / Motion compensation Platzhalter Karsten Schnitzler | Performance and Computational Complexity Analysis

Platzhalter

Inter prediction / Motion compensation Platzhalter Karsten Schnitzler | Performance and Computational Complexity Analysis

Karsten Schnitzler |

Performance and Computational Complexity Analysis of High-Efficiency Video Coding (HEVC) | 10

Complexity Analysis of High-Efficiency Video Coding (HEVC) | 10 Chair for Chip Design for Embedded Computing

Chair for

Chip Design for Embedded Computing

Transforms and quantization Karsten Schnitzler | Performance and Computational Complexity Analysis of High-Efficiency

Transforms and quantization

Transforms and quantization Karsten Schnitzler | Performance and Computational Complexity Analysis of High-Efficiency

Karsten Schnitzler |

Performance and Computational Complexity Analysis of High-Efficiency Video Coding (HEVC) | 11

Complexity Analysis of High-Efficiency Video Coding (HEVC) | 11 Chair for Chip Design for Embedded Computing

Chair for

Chip Design for Embedded Computing

Entropy Coding Karsten Schnitzler | Performance and Computational Complexity Analysis of High-Efficiency Video Coding

Entropy Coding

Entropy Coding Karsten Schnitzler | Performance and Computational Complexity Analysis of High-Efficiency Video Coding

Karsten Schnitzler |

Performance and Computational Complexity Analysis of High-Efficiency Video Coding (HEVC) | 12

Complexity Analysis of High-Efficiency Video Coding (HEVC) | 12 Chair for Chip Design for Embedded Computing

Chair for

Chip Design for Embedded Computing

Deblocking Filter Selben Prinzipien wie bei H.264 Statt 4x4 Bl¨ocke 8x8 Bl¨ocke Figure: Durchgehende Linien

Deblocking Filter

Selben Prinzipien wie bei H.264Deblocking Filter Statt 4x4 Bl¨ocke 8x8 Bl¨ocke Figure: Durchgehende Linien sind CTB Boundaries Karsten Schnitzler |

Statt 4x4 Bl¨ocke 8x8 Bl¨ockeDeblocking Filter Selben Prinzipien wie bei H.264 Figure: Durchgehende Linien sind CTB Boundaries Karsten Schnitzler |

Prinzipien wie bei H.264 Statt 4x4 Bl¨ocke 8x8 Bl¨ocke Figure: Durchgehende Linien sind CTB Boundaries Karsten

Figure: Durchgehende Linien sind CTB Boundaries

Bl¨ocke Figure: Durchgehende Linien sind CTB Boundaries Karsten Schnitzler | Performance and Computational

Karsten Schnitzler |

Performance and Computational Complexity Analysis of High-Efficiency Video Coding (HEVC) | 13

Complexity Analysis of High-Efficiency Video Coding (HEVC) | 13 Chair for Chip Design for Embedded Computing

Chair for

Chip Design for Embedded Computing

Sample adaptive offset filter Neue Funktion: Sample adaptive offset Filter(SAO Filter) Erg¨anzt die Samples um

Sample adaptive offset filter

Neue Funktion:Sample adaptive offset filter Sample adaptive offset Filter(SAO Filter) Erg¨anzt die Samples um Offsets: f¨uhrt zu

Sample adaptive offset Filter(SAO Filter)Sample adaptive offset filter Neue Funktion: Erg¨anzt die Samples um Offsets: f¨uhrt zu einer h¨oheren

Erg¨anzt die Samples um Offsets:Neue Funktion: Sample adaptive offset Filter(SAO Filter) f¨uhrt zu einer h¨oheren Bildqualit¨at und weniger

Filter(SAO Filter) Erg¨anzt die Samples um Offsets: f¨uhrt zu einer h¨oheren Bildqualit¨at und weniger

f¨uhrt zu einer h¨oheren Bildqualit¨at und weniger ArtifakteFilter(SAO Filter) Erg¨anzt die Samples um Offsets: Karsten Schnitzler | Performance and Computational

zu einer h¨oheren Bildqualit¨at und weniger Artifakte Karsten Schnitzler | Performance and Computational

Karsten Schnitzler |

Performance and Computational Complexity Analysis of High-Efficiency Video Coding (HEVC) | 14

Complexity Analysis of High-Efficiency Video Coding (HEVC) | 14 Chair for Chip Design for Embedded Computing

Chair for

Chip Design for Embedded Computing

High-level parallelism Karsten Schnitzler | Performance and Computational Complexity Analysis of High-Efficiency Video

High-level parallelism

High-level parallelism Karsten Schnitzler | Performance and Computational Complexity Analysis of High-Efficiency Video

Karsten Schnitzler |

Performance and Computational Complexity Analysis of High-Efficiency Video Coding (HEVC) | 15

Complexity Analysis of High-Efficiency Video Coding (HEVC) | 15 Chair for Chip Design for Embedded Computing

Chair for

Chip Design for Embedded Computing

Ergebnis Zusammenfassung: Erh¨ohung der Komplexit¨at bei transforms intra prediction motion compensation Verringerung

Ergebnis

Zusammenfassung:

Erh¨ohung der Komplexit¨at beiErgebnis Zusammenfassung: transforms intra prediction motion compensation Verringerung der Komplexit¨at bei entropy

transformsErgebnis Zusammenfassung: Erh¨ohung der Komplexit¨at bei intra prediction motion compensation Verringerung der

intra predictionZusammenfassung: Erh¨ohung der Komplexit¨at bei transforms motion compensation Verringerung der Komplexit¨at bei

motion compensationErh¨ohung der Komplexit¨at bei transforms intra prediction Verringerung der Komplexit¨at bei entropy coding deblocking

Verringerung der Komplexit¨at beibei transforms intra prediction motion compensation entropy coding deblocking Karsten Schnitzler | Performance

entropy codingmotion compensation Verringerung der Komplexit¨at bei deblocking Karsten Schnitzler | Performance and

deblockingVerringerung der Komplexit¨at bei entropy coding Karsten Schnitzler | Performance and Computational

Verringerung der Komplexit¨at bei entropy coding deblocking Karsten Schnitzler | Performance and Computational

Karsten Schnitzler |

Performance and Computational Complexity Analysis of High-Efficiency Video Coding (HEVC) | 16

Complexity Analysis of High-Efficiency Video Coding (HEVC) | 16 Chair for Chip Design for Embedded Computing

Chair for

Chip Design for

Embedded Computing

Fazit

Decoding

Echtzeit Decoding ist auf heutiger Hardware m¨oglichFazit Decoding Encoding Auf Encoder Seite ist noch viel Arbeit. Echtzeicht codierung ist nicht mit annehmbarer

Encoding

Auf Encoder Seite ist noch viel Arbeit.Decoding ist auf heutiger Hardware m¨oglich Encoding Echtzeicht codierung ist nicht mit annehmbarer Qualit¨at

Echtzeicht codierung ist nicht mit annehmbarer Qualit¨at m¨oglich (Qualit¨atsvergleich mit HM Encoder)m¨oglich Encoding Auf Encoder Seite ist noch viel Arbeit. Karsten Schnitzler | Performance and Computational

Qualit¨at m¨oglich (Qualit¨atsvergleich mit HM Encoder) Karsten Schnitzler | Performance and Computational

Karsten Schnitzler |

Performance and Computational Complexity Analysis of High-Efficiency Video Coding (HEVC) | 17

Complexity Analysis of High-Efficiency Video Coding (HEVC) | 17 Chair for Chip Design for Embedded Computing

Chair for

Chip Design for Embedded Computing

Quellen

G. J. Sullivan, J.-R. Ohm, W.-J. Han, and T. Wiegand, ”Overview

G.

J. Sullivan, J.-R. Ohm, W.-J. Han, and T. Wiegand, ”Overview

of the High Efficiency Video Coding (HEVC) Standard”, IEEE Trans. Circuits and Systems for Video Technology, Vol. 22, No. 12, pp. 1649-1668, Dec. 2012.

J.-R. Ohm, G. J. Sullivan, H. Schwarz, T. K. Tan, and T. Wiegand, ”Comparison of

J.-R. Ohm, G. J. Sullivan, H. Schwarz, T. K. Tan, and T. Wiegand, ”Comparison of the Coding Efficiency of Video Coding Standards - Including High Efficiency Video Coding (HEVC)”, IEEE Trans. Circuits and Systems for Video Technology, Vol. 22, No. 12, pp. 1669-1684, Dec. 2012.

F. Bossen, B. Bross, K. S¨uhring, and D. Flynn, ”HEVC Complexity

F.

Bossen, B. Bross, K. S¨uhring, and D. Flynn, ”HEVC Complexity

and Implementation Analysis,” IEEE Trans. Circuits and Systems

for Video Technology, Vol. 22, No. 12, December 2012.

for Video Technology, Vol. 22, No. 12, December 2012. Karsten Schnitzler | Performance and Computational

Karsten Schnitzler |

Performance and Computational Complexity Analysis of High-Efficiency Video Coding (HEVC) | 18

Complexity Analysis of High-Efficiency Video Coding (HEVC) | 18 Chair for Chip Design for Embedded Computing

Chair for

Chip Design for Embedded Computing

Dankesch¨on

Dankesch¨on f¨ur eure Aufmerksamkeit.

Dankesch¨on Dankesch¨on f¨ur eure Aufmerksamkeit. Karsten Schnitzler | Performance and Computational Complexity

Karsten Schnitzler |

Performance and Computational Complexity Analysis of High-Efficiency Video Coding (HEVC) | 19

Complexity Analysis of High-Efficiency Video Coding (HEVC) | 19 Chair for Chip Design for Embedded Computing

Chair for

Chip Design for Embedded Computing