forum projektseminar bildverarbe itung – image … · 3 guido h. bruck bildverarbeitung - folie 9...

38
1 Guido H. Bruck Bildverarbeitung - Folie 1 25.09.2013 Kommunikations Technik Projektseminar Bildverarbeitung – Image Processing Guido H. Bruck [email protected] Guido H. Bruck Bildverarbeitung - Folie 2 25.09.2013 Kommunikations Technik Projektseminar (Praktikum) Bildverarbeitung – Image Processing Wahlpflichtfach Projektseminar „Anwendung von Bilddatenkompressionsverfahren“ MPEG-1, -2, -4, Realmedia, Windows Media etc. Jede Gruppe ein Verfahren Besprechung und Vorträge der Gruppen bei Treffen Anmeldung online bis zum 11.4.2014 unter www.kommunikationstechnik.org Freitags von 11:00 Uhr -14:00 Uhr, Beginn 25.4.2014, Raum BB130 Guido H. Bruck Bildverarbeitung - Folie 3 25.09.2013 Kommunikations Technik Forum http://forum.uni-duisburg.de/ Guido H. Bruck Bildverarbeitung - Folie 4 25.09.2013 Kommunikations Technik Anwendung von Bilddatenkompressionsverfahren Kennenlernen von verschiedenen Verfahren zur Bilddatenkompression Software finden Software installieren Bildsequenzen für verschiedene Parameter codieren Bildqualitäten vergleichen Ziel: Welches Verfahren ist derzeit das geeignetste für welche Parameter und ... Quelle: c‘t 10/2001, S. 122ff ; c‘t 10/2003 S. 146ff ; c‘t 10/2005 S. 146ff

Upload: trinhhanh

Post on 28-Sep-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

1

Guido H. BruckBildverarbeitung - Folie 1

25.09.2013

KommunikationsTechnik

Projektseminar Bildverarbeitung – Image Processing

Guido H. [email protected]

Guido H. BruckBildverarbeitung - Folie 2

25.09.2013

KommunikationsTechnik

Projektseminar (Praktikum) Bildverarbeitung – Image Processing Wahlpflichtfach

Projektseminar „Anwendung von Bilddatenkompressionsverfahren“

MPEG-1, -2, -4, Realmedia, Windows Media etc.

Jede Gruppe ein Verfahren

Besprechung und Vorträge der Gruppen bei Treffen

Anmeldung online bis zum 11.4.2014 unterwww.kommunikationstechnik.org

Freitags von 11:00 Uhr -14:00 Uhr, Beginn 25.4.2014, Raum BB130

Guido H. BruckBildverarbeitung - Folie 3

25.09.2013

KommunikationsTechnik

Forumhttp://forum.uni-duisburg.de/

Guido H. BruckBildverarbeitung - Folie 4

25.09.2013

KommunikationsTechnik

Anwendung von Bilddatenkompressionsverfahren

• Kennenlernen von verschiedenen Verfahren zur Bilddatenkompression

• Software finden

• Software installieren

• Bildsequenzen für verschiedene Parameter codieren

• Bildqualitäten vergleichen

• Ziel: Welches Verfahren ist derzeit das geeignetste für welche Parameter und ...

• Quelle: c‘t 10/2001, S. 122ff ; c‘t 10/2003 S. 146ff ; c‘t 10/2005 S. 146ff

2

Guido H. BruckBildverarbeitung - Folie 5

25.09.2013

KommunikationsTechnik

Vorgehensweise

• Gesamtprojekt in Teilprojekte aufspalten• Gruppen von Studenten bilden• Teilprojekte den Studentengruppen zuordnen. Jede Studentengruppe

bearbeitet ein Teilprojekt selbständig• Jede Woche berichtet jede Gruppe mit einem kurzen Vortrag über den

Fortgang der Arbeiten, stellt Fragen zur Diskussion und sammelt Vorschläge ein.

• Die Präsentation fasst jede Gruppe auf „Papier“ zusammen und stellt sie allen anderen Gruppen zur Verfügung

• Am Ende des Semesters haben wir das Gesamtprojekt bearbeitet und die Fragen gelöst.

Guido H. BruckBildverarbeitung - Folie 6

25.09.2013

KommunikationsTechnik

Interessierende Bildgrößen und Datenraten

• BildgrößenVideo-Quellmaterial 720 x 576 BildelementeReduziertes Video-Quellmaterial 544 x 432 BildelementeSource Input Format 352 x 288 BildelementeQuarter SIF 176 x 144

• Datenratenvon 2MBit/s (LAN) bis 50kBit/s (ISDN, Modem, Mobil?)

Guido H. BruckBildverarbeitung - Folie 7

25.09.2013

KommunikationsTechnik

Testsequenzen zur Bildcodierung

Guido H. BruckBildverarbeitung - Folie 8

25.09.2013

KommunikationsTechnik

Verfahren zur Untersuchung

• MPEG-1, MPEG-2: Tsunami MPEG-Encoder: http://www.tmpgenc.net/

• DivX-3.11 http://www.divx-digest.com• DivX-6: http://www.divxnetworks.com• RealVideo: http://www.realnetworks.com• Windows Media Video 9: http://www.microsoft.com/windows/windowsmedia• MediaRig: http://www.ligos.com/• On2: http://www.on2.com/• Xvid http://www.xvid.org/

http://www.netzwelt.de/software/3384-xvid-codec.html/ http://www.netzwelt.de/software/3585-xvid-codec-koepi.html/http://www.netzwelt.de/software/3407-xvid-codec-nics.html

3

Guido H. BruckBildverarbeitung - Folie 9

25.09.2013

KommunikationsTechnik

Vorgehensweise

• Informationen zu Codierungsprogramm im Internet finden, lesen, nötige Software herunterladen

• Software auf PC installieren nach Absprache • Software in Betrieb nehmen• Verschiedene Bildsequenzen mit unterschiedlichen Parametereinstellungen

codieren und beurteilen

Guido H. BruckBildverarbeitung - Folie 10

25.09.2013

KommunikationsTechnik

Weitere interessante Internet-Seiten mit interessanter Software• Digital Digest http://www.digital-digest.com/• Vcd-Helper http://www.vcdhelp.com/• Tha video capturing source http://home.swipnet.se/~w-129483/• Virtual Dub http://www.virtualdub.org/• http://forum.dvdboard.de/• http://www.videotools.net/• http://www.math.berkeley.edu/~benrg/index.html• http://www.doom9.org/

Guido H. BruckBildverarbeitung - Folie 11

25.09.2013

KommunikationsTechnik

Gruppeneinteilung I

• Pro Gruppe bis zu 5 Teilnehmer• Gruppe 1 MPEG-1, MPEG-2• Gruppe 2 RealVideo• Gruppe 3 Windows Media Series 9• Gruppe 4 DivX-6, DivX-3.11• Gruppe 5 H.264/AVC

Guido H. BruckBildverarbeitung - Folie 12

25.09.2013

KommunikationsTechnik

H.264/AVC http://forum.doom9.org/showthread.php?s=95e4af6393a64adbc027f77ac360fef7&threadid=73022

x264http://de.wikipedia.org/wiki/X264

mpegablempegable provides a free VFW AVC/H.264 Enc/Decoder (not based on the reference), which uses P-Frames onlyhttp://mpegable-x4-live.softonic.de/

MainConceptMainConcept's AVC/H.264 implementation (based on the reference software?) is currently available as a free preview version (adds a watermark)http://www.mainconcept.com

JM (Reference Software)The Reference Software of the AVC/H.264 standard already offers a very rich featuresethttp://iphome.hhi.de/suehring/tml/

Hdot264Hdot264 is an opensource (GPL) VFW version of the reference software, written by doom9 member charact3rhttp://sourceforge.net/projects/hdot264/

4

Guido H. BruckBildverarbeitung - Folie 13

25.09.2013

KommunikationsTechnik

H.264/AVC http://forum.doom9.org/showthread.php?t=96059

- x264: the first publically available High Profile encoder, opensource (GPL) (Source), available for VFW: x264vfw, ffdshow (output .avi), as commandline: x264cli (outputs .mp4, .mkv, raw), mencoder (outputs raw, .avi) (Doom9's MeGUI) or ffmpegx264 supports 2pass, CABAC, Loop, multiple B-Frames, B-References, multiple Reference Frames, 4x4 P-Frame, 8x8 B-Frame Blocksizes, anamorphic signalling and High Profile: 8x8 dct and intra prediction, lossless and custom quant matrices- NeroDigital AVC: useable in Nero Recode2, outputs .mp4ND AVC supports 2pass, CABAC, (adaptive) Loop, multiple B-Frames, mulitple Reference Frames, weighted prediction, 8x8 P-Frame Blocksizes, 16x16 B-Frame Blocksizes, Adaptive Quant. (Psy High)- Sorenson: useable in Sorenson Squeeze 4, outputs .mp4, Sorenson supports 2pass, max 2 B-Frames, B-References, Loop and multiple Slices- Apple: useable in Quicktime 7, outputs .mp4, .3gp and .mov, totally slowuses 2pass, max 1 B-frame, Loop (0,0), P8x8,B8x8,I4x4, Adapt. Quant, 5 Slices, no CABAC, no Weighted Pred., no multi Ref.- JM: The AVC Reference Software offers in v9.3 Main and High Profile: B/SP-Frames, CABAC, Loop Filter, 4x4 Blocksizes, multiple Reference Frames, Adaptive Quant, Error Resilience, RDO, Lossless Coding, Custom Quants, Rate Control aso...- Hdot264: opensource (GPL) VFW version of the reference software by doom9 member charact3r, still based on a very old version of the reference (JM 4.0c)- VSS: free preview VFW Encoder (limited to 5 days), based on the reference encoder- Elecard: useable in Elecard Mobile Converter, outputs .mp4 and MainConcept's v2 encoder, outputs .264 and .mpg PS/TSnot publically available anymore:- Moonlight: useable in Moonlight's OneClick Compressor v1.1 and CyberLink's PowerEncoder, outputs .mpg Moonlight supports 1pass (VBR/CBR/Fixed Quants), CABAC, Loop, 2 B-Frames, 8x8 P-Frame Sizes, Adapt. Quant, PAR, Interlacing- MainConcept: was useable in the v1 encoder (adds a watermark), outputs .264 and .mpg PS/TS1pass (CBR/VBR/fixed Quants), P-Frame Reorder, CABAC, Loop, Multiple B-Vops, Multiple Ref, 4x4 P-Frame Sizes, PAR, RDO- mpegable: offered for some time a free VFW Encoder (not based on the reference), doesnt handle YV12mpegable supports 1pass (fixed quants) uses P-Frames only, 8x8 P-Frame Blocksizes, CAVLC only, Loop - Envivio: useable in 4Coder, outputs .mp4

Guido H. BruckBildverarbeitung - Folie 14

25.09.2013

KommunikationsTechnik

Grundlagen

• Bildqualitätsbeurteilung, Untersuchungsparameter• Irrelevanzreduktion • Zeilensprung (Interlace)• Beispiel für Bilddatenkompression

– Pixelanzahlen– Abtastformate– MPEG-Codierung

Guido H. BruckBildverarbeitung - Folie 15

25.09.2013

KommunikationsTechnik

Beurteilung der Qualität von Videosignalen

• Beurteilung auf der 5-stufigen „Impairment scale“ nach ITU-R BT 500• 5.0 = transparent (this should be the original signal)• 4.0 = perceptible, but not annoying (first differences noticable)• 3.0 = slightly annoying • 2.0 = annoying• 1.0 = very annoying

• to annoy = stören, ärgern, lästig sein

Guido H. BruckBildverarbeitung - Folie 16

25.09.2013

KommunikationsTechnik

Beurteilung der Qualität von Videosignalen

• Testsequenzen bei unterschiedlichen Datenraten beurteilen

0

0,5

1

1,5

2

2,5

3

3,5

4

4,5

5

0 100 200 300 400 500 600 700 800 900

Reihe2Reihe4Reihe6

5

Guido H. BruckBildverarbeitung - Folie 17

25.09.2013

KommunikationsTechnik

Beurteilung der Qualität von Videosignalen

• Testsequenzen bei unterschiedlichen Datenraten beurteilen– 2MBit/s 720x576 Pixel, 25fps– 1MBit/s 720x576 Pixel, 352x288 Pixel, 25fps– 500 kBit/s 720x576 Pixel, 352x288 Pixel, 25fps– 300 kBit/s 720x576 Pixel, 352x288 Pixel, 25fps– 150 kBit/s 352x288 Pixel, 25fps– 64 kBit/s 352x288 Pixel, 25fps

• Datenrate R: S=Dateigrößen=Anzahl der Bilder in der Sequenz

251 s25s

S SRnn

Guido H. BruckBildverarbeitung - Folie 18

25.09.2013

KommunikationsTechnik

1.4.1 Nutzung der Unvollkommenheiten des menschlichen Gesichtssinns zur Irrelevanzreduktion

In der elektronischen Bildübertragungstechnik nutzt man das begrenzte örtliche Auflösungsvermögen des menschlichen Auges dadurch aus, dass man das einzelne Bild in streifenförmige Elemente (“Zeilen” gelegentlich auch „Spalten“) mit Breiten zerlegt, die vom menschlichen Auge aus dem Normalbetrachtungsabstand unter einem Winkel gesehen werden, der kleiner als 1' ist und die über die Streifenbreite variierende Leuchtdichte z. B. durch deren “Mittelwert” ersetzt.Bei der elektronischen Bewegtbildübertragungstechnik wird zusätzlich das begrenzte zeitliche Auflösungsvermögen des menschlichen Gesichtssinns dadurch ausgenutzt, dass man eine begrenzte Anzahl von Bildern pro Zeiteinheit überträgt.Bei digitalen Bildübertragungsverfahren wird die Anzahl der Bits zur Amplitudendarstellung so gewählt, dass zu einem kontinuierlichen Signal kein Unterschied sichtbar wird.

Guido H. BruckBildverarbeitung - Folie 19

25.09.2013

KommunikationsTechnik

1.4.2 Nutzung der Unvollkommenheiten des menschlichen Gesichtssinns zur Irrelevanzreduktion

Horizontalrücklauf

Vertikalrücklauf

1

5

3

7

9

11

6

4

8

10

2

Blendenöffnung bei der Aufnahmebzw. Leuchtfleck bei der Wiedergabe

2. Teilbild1. Teilbild Zerlegung in 11 “Zeilen” nach

dem Zeilensprungverfahren

Bei den eingeführten Fernsehsystemen verwendet man das Teilbildverfahren. Bei ihm wird ein Vollbild in zwei Teilbilder (Halbbilder) zerlegt, die zeilenweise ineinander verschachtelt sind (Zeilensprungverfahren, Interlace-Verfahren).

Prinzip der Standard-Bildzerlegung in zwei Teilbilder:

Guido H. BruckBildverarbeitung - Folie 20

25.09.2013

KommunikationsTechnik

3.1.1a Digitale Fernsehstandards• DVB (-S, -C, -T…) Europa, teilw. Andere Kontinente• ATSC USA, Korea• ISDB (-T) Japan, Brasilien• ISDTV Brasilien• DTMB China

ATSC DVB-T ISDB-T ISDTV DTMBVideo Digitization MPEG-2 MPEG-2 MPEG-2 H.264 MPEG-2

Audio Digitization

Dolby AC-3 MPEG-2 AAC MPEG-2 AAC H.264 MPEG-2

Multiplexing MPEG MPEG MPEG MPEG MPEG

Signal Transmission

8-VSB modulation

Multiplex COFDM

Multiplex COFDM

Multiplex COFDM

SCM andMCM

6

Guido H. BruckBildverarbeitung - Folie 21

25.09.2013

KommunikationsTechnik

3.1.1b Digitale Fernsehstandards• DVB = Digital Video Broadcast• ATSC = Advanced Telecision Systems Comitee (USA, Korea)• ISDB = Integrated Services Digital Broadcasting (Japan, Brasilien)• ISDTV = International System for Digital Television (Brasilien)• DTMB = Digital Terrestrial Television Multimedia Broadcasting (China)• MPEG = Moving Pictures Experts Group• Dolby AC-3 = Dolby Digital („Audio Coding 3“)• AAC = Advanced Audio Coding• VSB = Vestigial Side Band – Restseitenband• COFDM = Coded Orthogonal Frequency Division Multiplex • SCM = Single Carrier Modulation• MCM = Multi Carrier Modulation

Guido H. BruckBildverarbeitung - Folie 22

25.09.2013

KommunikationsTechnik

3.1.1c Digitales Fernsehen - SDTVFür die digitale Übertragung von Videosignalen werden für die Übertragung im Studio und für die Übertragung zum Endteilnehmer unterschiedliche Standards verwendet.Standard für die Studioanwendung (ITU-R, BT.601)Bei diesem Standard werden das Luminanzsignal (Y) und zwei Chrominanzsignale (CR,CB) getrennt, aber in fester zeitlicher bzw. räumlicher Zuordnung zueinander abgetastet. Die Abtastfrequenzen werden im Verhältnis 4:2:2 gewählt. Für die Standards, denen die Parameter Z = 625 und fv = 50 Hz zugrunde liegen, gilt:

Anzahl der Abtastwerte pro Zeile AbtastfrequenzY: 864 (brutto) 720 (netto) 13,5MHzCR,CB: 432 (brutto) 360 (netto) 6,75MHzDie Signale werden einer gleichförmigen Quantisierung mit einer Auflösung entsprechend 8 Bit unterzogen.Im Interesse einer einfachen standardübergreifenden Konvertierbarkeit der Signale gelten die Werte für die Abtastfrequenz und die Anzahl der Abtastwerte pro Zeile weltweit.Aus den o.a. Werten ergibt sich eine Gesamtdatenrate von 216 Mbit/s (brutto).

Guido H. BruckBildverarbeitung - Folie 23

25.09.2013

KommunikationsTechnik

3.1.3 Bild-Abtastformate (Vollbild-Schemata)4:4:4-Format:

X: Luminanz-Signal (Y) ; : Chrominanz-Signal (CR,CB)

Guido H. BruckBildverarbeitung - Folie 24

25.09.2013

KommunikationsTechnik

3.1.4 Bild-Abtastformate (Vollbild-Schemata)4:2:2-Format:

X: Luminanz-Signal (Y) ; : Chrominanz-Signal (CR,CB)

4:2:0-Format:

7

Guido H. BruckBildverarbeitung - Folie 25

25.09.2013

KommunikationsTechnik

3.1.5 Standard für die Übertragung zum EndteilnehmerDie in 3.1.1 genannte Datenrate ist für die Übertragung zum Endteilnehmer viel zu hoch. Zur Senkung der Rate verwendet man eine redundanz- und irrelevanzreduzierende Datenreduktion („Datenkompression“). Sie erfolgt weltweit nach den sogenannten MPEG-Standards (Speziell: MPEG-2-Standard „ISO/IEC IS 13818“).Der MPEG-2-Standard: (MPEG: „Motion Picture Experts Group“)Bei Bildsignalen bestehen große Abhängigkeiten zwischen zeitlich aufeinanderfolgenden Bildern und ebenfalls Abhängigkeiten zwischen benachbarten Bildelementen in eine Bild. Diese Abhängigkeiten sind in den Quellsignalen enthalten. Durch eine Entfernung dieser Abhängigkeiten lässt sich die zur Übertragung nötige Datenmenge reduzieren. Die Abhängigkeiten können auf der Empfangsseite in das Signal wieder eingefügt und so das Quellsignal rekonstruiert werden.

Guido H. BruckBildverarbeitung - Folie 26

25.09.2013

KommunikationsTechnik

3.1.6 Diskrete-Cosinus-Transformation (DCT)

Bei Bildcodierungsverfahren wird häufig eine Transformationscodierung unter Verwendung einer 2-dimensionalen DCT verwendet. Damit lassen sich Abhängigkeiten der Bildelemente innerhalb eines Bildes verringern. Dies geschieht auch beim MPEG-2-Standard. Die 2-dimensionale DCT ist beschrieben durch:

1 1

0 0

1 1

0 0

2 1 2 12( , ) ( ) ( ) ( , ) cos cos2 2

2 1 2 12( , ) ( ) ( ) ( , ) cos cos2 2

1 für , 02mit ( ), ( ) und (üblich): 8

1 sonst

N N

x y

N N

x yF C C f x y

N N Nx y

f x y C C FN N N

C C N

Guido H. BruckBildverarbeitung - Folie 27

25.09.2013

KommunikationsTechnik

3.1.6a Diskrete-Cosinus-Transformation (DCT)Die 2-dimensionale DCT kann wegen ihrer Separierbarkeit auch als Hintereinanderschaltung zweier eindimensionaler DCT aufgefasst werden:

1

0

1

0

1

0

1

0

2 12( , ) ( ) ( , ) cos2

2 12( , ) ( ) ( , ) cos2

2 12( , ) ( ) ( , )cos2

2 12( , ) ( ) ( , )cos2

1 für , 02mit ( ), ( ) und (übli

1 sonst

N

y

N

x

N

x

N

x

yF x C f x y

N N

xF C F x

N Ny

f y C FN N

xf x y C f y

N N

C C

ch): 8N

Guido H. BruckBildverarbeitung - Folie 28

25.09.2013

KommunikationsTechnik

3.1.7 Diskrete-Cosinus-Transformation (DCT)

Basisfunktionen der 1-dimensionalen DCT für eine Blocklänge von N=8:

-0,25-0,15-0,050,050,150,25

0 1 2 3 4 5 6 7n=0

-0,25-0,15-0,050,050,150,25

0 1 2 3 4 5 6 7n=1

-0,25-0,15-0,050,050,150,25

0 1 2 3 4 5 6 7n=2

-0,25-0,15-0,050,050,150,25

0 1 2 3 4 5 6 7n=3

-0,25-0,15-0,050,050,150,25

0 1 2 3 4 5 6 7n=4

-0,25-0,15-0,050,050,150,25

0 1 2 3 4 5 6 7n=5

-0,25-0,15-0,050,050,150,25

0 1 2 3 4 5 6 7n=6

-0,25-0,15-0,050,050,150,25

0 1 2 3 4 5 6 7n=7

8

Guido H. BruckBildverarbeitung - Folie 29

25.09.2013

KommunikationsTechnik

3.1.8 Diskrete-Cosinus-Transformation (DCT)

Basisfunktionen der 2-dimensionalen DCT für eine Blocklänge von N=8:

Guido H. BruckBildverarbeitung - Folie 30

25.09.2013

KommunikationsTechnik

3.1.9 Diskrete-Cosinus-Transformation (DCT)DCT-Explorer von Lutz LißeckDownload von den Internet-Seiten des Fachgebiets KT („Freie Software“)

Guido H. BruckBildverarbeitung - Folie 31

25.09.2013

KommunikationsTechnik

3.1.10 Die QuantisierungZur Transformation werden jeweils 8*8 Bildelemente (Pixel) zu einem Transformationsblock zusammengefaßt. Aus 8*8 Originalwerten entstehen durch die Transformation 8*8 Spektralwerte. Zur im Regelfall irrelevanzreduzierenden Codierung werden in einem nachfolgenden Verarbeitungsschritt die Spektralkoeffizienten einer Quantisierung unterzogen.Sie geschieht dadurch, dass man die Spektralkoeffizienten zunächst durch ihnen zugeordnete Q-Werte dividiert und die Ergebniswerte auf ganze Zahlen rundet. Die Q-Werte sind den Blöcken entsprechend in zweidimensional angeordneten Tabellen zusammengefasst. Dabei sind für unterschiedliche Bildtypen und Verfahren auch unterschiedliche Tabellen üblich:

Guido H. BruckBildverarbeitung - Folie 32

25.09.2013

KommunikationsTechnik

3.1.11 Die Quantisierung

Quantisierungstabellen für MPEG-2:

8 16 19 22 26 27 29 34 16 16 16 16 16 16 16 1616 16 22 24 27 29 34 37 16 16 16 16 16 16 16 1619 22 26 27 29 34 34 38 16 16 16 16 16 16 16 1622 22 26 27 29 34 37 40 16 16 16 16 16 16 16 1622 26 27 29 32 35 40 48 16 16 16 16 16 16 16 1626 27 29 32 35 40 48 58 16 16 16 16 16 16 16 1626 27 29 34 38 46 56 69 16 16 16 16 16 16 16 1627 29 35 38 46 56 69 83 16 16 16 16 16 16 16 16

I ( , )Q P,B ( , )Q

9

Guido H. BruckBildverarbeitung - Folie 33

25.09.2013

KommunikationsTechnik

3.1.12 Codierung eines Blocks mittels der DCTDas folgende Beispiel einer JPEG-Codierung (Joint Photographic Experts Group), einem der MPEG-2-Codierung ähnlichen Codierungsverfahren für Standbilder, zeigt die Anwendung der 2-dimensionalen DCT mit N=8 und Quantisierung der Spektralkoeffizienten für einen Bildblock.

Signalwerte des Originalbildes DCT-Spektralkoeffizienten

139 144 149 153 155 155 155 155 1259,6 1144 151 153 156 159 156 156 156150 155 160 163 158 156 156 156159 161 162 160 160 159 159 159159 160 161 162 162 155 155 155161 161 161 161 160 157 157 157162 162 161 163 162 157 157 157162 162 161 161 163 158 158 158

,0 12,1 5,2 2,1 1,7 2,7 1,322,6 17,5 6,2 3,2 2,9 0,1 0, 4 1, 210,9 9,3 1,6 1,5 0,2 0,9 0,6 0,17,1 1,9 0,2 1,5 0,9 0,1 0,0 0,30,6 0,8 1,5 1,6 0,1 0,7 0,6 1,31,8 0,2 1,6 0,3 0,8 1,5 1,0 1,01,3 0,4 0,3 1,5 0,5 1,7 1,1 0

,82,6 1,6 3,8 1,8 1,9 1,2 0,6 0, 4

Guido H. BruckBildverarbeitung - Folie 34

25.09.2013

KommunikationsTechnik

3.1.13 Codierung eines Blocks mittels der DCTDie DCT Spektralkoeffizienten werden durch die ihnen zugeordneten Q-Werte dividiert und die Ergebniswerte auf ganze Zahlen gerundet. Die so entstandenen Zahlen seine als „normalisierte Spektralkoeffizienten“ bezeichnet.

Quantisierungstabelle (Q-Werte) Normalisierte Spektralkoeffizienten16 11 10 16 24 40 51 61 79 0 1 0 0 0 0 012 12 14 19 26 58 60 55 2 1 0 0 0 0 0 014 13 16 24 40 57 69 56 1 1 0 0 0 0 0 014 17 22 29 51 87 80 62 0 0 0 0 0 0 0 018 22 37 56 68 109 103 77 0 0 0 0 0 0 0 024 35 55 64 81 104 113 92 0 0 0 0 0 0 0 049 64 78 87 103 121 120 101 0 0 0 0 0 0 072 92 95 98 112 100 103 99

00 0 0 0 0 0 0 0

Guido H. BruckBildverarbeitung - Folie 35

25.09.2013

KommunikationsTechnik

3.1.14 Codierung eines Blocks mittels der DCTAuf der Empfangsseite werden die normalisierten Spektralkoeffizienten mit den zugehörigen Q-Werten multipliziert (oftmals irreführend als „inverse Quantisierung“ bezeichnet). Mittels der DCT-Rücktransformation wird dann aus den denormalisierten Spektralkoeffizienten ein Bildsignalblock rekonstruiert.

Denormalisierte Spektralkoeffizienten Rekonstruierte Bildsignalwerte1264 0 10 0 0 0 0 0 144 146 149 152 154 156 156 156

24 12 0 0 0 0 0 0 148 150 152 154 156 156 156 15614 13 0 0 0 0 0 0 155 156 157 158 158 157 156 1550 0 0 0 0 0 0 0 160 161 161 162 161 159 157 1550 0 0 0 0 0 0 0 163 163 164 163 162 160 158 1560 0 0 0 0 0 0 0 1630 0 0 0 0 0 0 00 0 0 0 0 0 0 0

164 164 164 162 160 158 157160 161 162 162 162 161 159 158158 159 161 161 162 161 159 158

Guido H. BruckBildverarbeitung - Folie 36

25.09.2013

KommunikationsTechnik

3.1.15 8x8 DCT Beispiel

10

Guido H. BruckBildverarbeitung - Folie 37

25.09.2013

KommunikationsTechnik

3.1.16 8x8 DCT-Beispiel

Guido H. BruckBildverarbeitung - Folie 38

25.09.2013

KommunikationsTechnik

3.1.17 8x8 DCT-Beispiel

Guido H. BruckBildverarbeitung - Folie 39

25.09.2013

KommunikationsTechnik

3.2.1 Der MPEG-2-StandardIm allgemeinen wird man davon ausgehen können, dass das zu codierende Programmaterial dem Studio-Standard entsprechend im 4:2:2-Format vorliegt. Die Werteauflösung entspricht dabei 8 Bit (in Sonderfällen 10 Bit).Der Codierung nach dem MPEG-2-Standard liegt in der Regel das 4:2:0–Abtastformat zugrunde. Ausgehend vom 4:2:2–Format wird bei den Chrominanzsignalen, im Standard mit CR und CB bezeichnet, eine Abtastraten-Konversion vorgenommen. Sie bewirkt neben der Konversion der Abtastfrequenzen in vertikaler Richtung auch die Veränderung der „Abtastposition“ um einen halben Zeilenabstand.Zur Transformation werden jeweils 8*8 Bildelemente (Pixel) zu einem Transformationsblock zusammengefaßt. Bei Vorliegen eines 4:2:0-Abtastformats deckt dementsprechend ein Chrominanzsignalblock die vierfache Bildfläche eines Luminanzsignalblocks ab. Vier im Quadrat angeordnete Luminanzsignalblöcke und zwei zugeordnete Chrominanzblöcke bilden einen Makroblock.

Guido H. BruckBildverarbeitung - Folie 40

25.09.2013

KommunikationsTechnik

3.2.2 Der MPEG-2-Standard

Makroblock-Struktur beim Main-Profile

Y (EY)

Block 0

Y (EY)

Block 1

Y (EY)

Block 2

Y (EY)

Block 3

CB (EU)

Block 4

CR (EV)

Block 5

11

Guido H. BruckBildverarbeitung - Folie 41

25.09.2013

KommunikationsTechnik

3.2.3 Der MPEG-2-StandardIm MPEG-2-Standard unterscheidet man verschiedene Bildtypen:I-Bilder: Intraframe codierte BilderP-Bilder: Unidirektional prädizierte BilderB-Bilder: Bidirektional prädizierte BilderDie Abfolge der verschiedenen Bildtypen in einer Bildfolge ist weitgehend durch den Codierer festlegbar. Eine für die fernsehtechnische Anwendung günstige Abfolge zeigt Abb. 1.

1

I

13

I

2

B

3

B

12

B

11

B

10

P

9

B

8

B

7

P

6

B

4

P

5

B

Abb. 1

Guido H. BruckBildverarbeitung - Folie 42

25.09.2013

KommunikationsTechnik

3.2.3 Der MPEG-2-StandardDie I-Bilder werden eigenständig, ohne den Einsatz einer Prädiktion codiert. Sie stellen „Stützbilder“ dar und erlauben dem Empfänger einen Einstieg in die Decodierung der Bilder.Die P-Bilder werden unter Verwendung eines jeweils vorausgegangenen I- oder P-Bildes prädiziert. Das prädizierte Bild ist aber nicht einfach ein entsprechendes vorausgegangenes Bild, sondern ein durch Bewegungsschätzung aus dem vorausgegangenen hervorgehendes Bild. Die Bewegungsschätzung erfolgt makroblockweise. Dazu wird untersucht, welcher Block mit den Abmessungen eines Makroblocks einen Makroblock in einem aktuellen Block am besten annähert. Die Blockbewegungen werden in Form von Bewegungsvektoren zum Empfänger übertragen.Die B-Bilder werden jeweils aus einem vorausgegangenen I- oder P-Bild und einem nachfolgenden I- oder P-Bild geschätzt. Dazu werden auch bidirektional geschätzte Bewegungsvektoren ermittelt. Durch die Verwendung von B-Bildern kann die datenreduzierende Wirkung der Codierung merklich gesteigert werden.

Guido H. BruckBildverarbeitung - Folie 43

25.09.2013

KommunikationsTechnik

3.2.4 Der MPEG-2-StandardEin zur Bewegungsvektorschätzung häufig eingesetztes Verfahren ist das Block-Matching-Verfahren.

Beispiel:

Guido H. BruckBildverarbeitung - Folie 44

25.09.2013

KommunikationsTechnik

3.2.5 Der MPEG-2-StandardZur Bildprädiktion werden Bildspeicher benötigt. Auch die Bewegungsvektorschätzung ist mit einem Speicherbedarf verbunden. Um den Speicherbedarf auf der Empfängerseite so klein wie möglich zu halten, sieht der MPEG-2-Standard eine Bildumsortierung vor. Z.B. die in 3.2.3 dargestellte Bildfolge erfährt zur Übertragung folgende Umsortierung:I B B P B B P B B P B B I I P B B P B B P B B I B B

Durch das beschriebene Bild-Prädiktionsverfahren wird eine Wertedekorrelation in den Differenz-Bildern erreicht. Dementsprechend ist die dekorrelierende Wirkung der DCT in diesen Bildern im Vergleich mit der in den I-Bildern gering. Dies findet Berücksichtigung in der Auslegung der Quantisierungtabellen in 3.1.10. Für die I-Bilder werden die QI(-Werte und für die P- und B-Bilder die QP,B(-Werte verwendet. Die Tabelle der QI(-Werte berücksichtigt, dass die wesentliche Energie eines I-Bild-Blocks in den „niederfrequenten“ Spektralanteilen steckt.Die I-, P- und B-Bilder werden in Blöcke eingeteilt und die DCT-Spektralkoeffizienten berechnet und quantisiert.

12

Guido H. BruckBildverarbeitung - Folie 45

25.09.2013

KommunikationsTechnik

3.2.6 Der MPEG-2-StandardDie quantisierten Spektralkoeffizienten werden vor ihrer Übertragung noch einer redundanzmindernden Codierung unterzogen, und zwar einer Lauflängencodierung und einer anschließenden „Optimalkodierung“ (z.B. Huffmann-Codierung).Die entsprechend den Originalwerten ebenfalls im Quadrat angeordneten Spektralwerte werden zunächst in eine eindimensionale Wertefolge umgewandelt. Die Wertefolge enthält im allgemeinen mehr oder weniger lange Null-Folgen, die als Runs bezeichnet werden. Ein Run wird jeweils in Kombination mit einem nachfolgenden Nicht-Null-Wert, einem sogenannten Level, codiert. Dabei sind auch Runs der Länge Null möglich. Die Run-Level-Kombinationen werden einer „Optimalcodierung“ (entsprechend einer abgebrochenen Huffmann-Codierung) unterzogen.

Guido H. BruckBildverarbeitung - Folie 46

25.09.2013

KommunikationsTechnik

3.2.7 Der MPEG-2-StandardDie Überführung der quadratisch angeordneten Spektralwerte-Koeffizienten in eindimensionaler Folge wird mithilfe eines sogenannten Zick-Zack-Scansvorgenommen. Ein solcher Scan ist in Abb. 1 gezeigt. Er schließt den Koeffizienten des Gleichanteils aus. Dieser wird in Form eines Differenzwertes gegenüber dem des vorausgegangenen Blocks getrennt codiert.

Abb. 1

Guido H. BruckBildverarbeitung - Folie 47

25.09.2013

KommunikationsTechnik

3.2.8 Der MPEG-2-StandardDie Gesamtstruktur des MPEG-2-Coders geht aus Abb. 1 hervor (z.B. mit P-Bildschätzung).

QFQD

P

DCT RLCVLC

MV

MC

ME PS

„Q-1“

BMUXQ

DCT-1

Abb. 1

DCT: Diskrete Kosinus-TransformationDCT-1: Inverse Diskrete Kosinus-TransformationQ: QuantisierungseinheitQ-1: Rückgewinnung der (quantisierten)

Spektralkoeff.RLC: Lauflängen-CodierungVLC: „Optimalcodierung“ME: BewegungsschätzungMC: BewegungskompensationP: PrädiktorPS: BildspeicherMV: BewegungsvektorenMUX: MultiplexerB: PufferQF: QuantisierungsfaktorQD: Quantisierungsdaten

Guido H. BruckBildverarbeitung - Folie 48

25.09.2013

KommunikationsTechnik

3.2.9 Der MPEG-2-StandardAbb. 1 zeigt die MPEG-2-Decodierungsschaltung.

Abb. 1

QD

MV

VLC-1

RLC-1MUX-1 DCT-1Q-1B

P

MUX-1: DemultiplexerRLC-1: Zu RLC und VLC inverse OperationenVLC-1: Zu RLC und VLC inverse Operationen

Durch die Verwendung der Operationen DCT-1 und Q-1 auch auf der Codierungsseite wird sichergestellt, dass im Coder und Decoder gleiche Werte prädiziert werden.

13

Guido H. BruckBildverarbeitung - Folie 49

25.09.2013

KommunikationsTechnik

3.2.10 Der MPEG-2-Standard

(wie Spat. Prof.,+ 4:2:2-Cod.)

(wie SNR Prof.,+ Spat. Scal.)

(wie Main Profile+ SNR Scal.)

(4:2:0, keineScal.)

(wie Main Profile,ohne B-Bilder)

LevelsProfiles

HighProfile

SNR ScalableProfile

Spatial ScalableProfile

MainProfile

SimpleProfile

352*288 Pixel

4 Mbit/s

1920*1152 Pixel(960*576)

100(80,25) Mbit/s

1440*1152 Pixel(720*576)

80(60,20) Mbit/s

1440*1152 Pixel(720*576)

60(40,15) Mbit/s

352*288 Pixel

4(3) Mbit/s

720*576 Pixel(352*288)

20(15,4) Mbit/s

720*576 Pixel

15(10) Mbit/s

720*576 Pixel

15 Mbit/s

720*576 Pixel

15 Mbit/s

1440*1152 Pixel

60 Mbit/s

1920*1152 Pixel

80 Mbit/s

HighLevel

LowLevel

MainLevel

High-1440Level

Guido H. BruckBildverarbeitung - Folie 50

25.09.2013

KommunikationsTechnik

3.2.11 Der MPEG-2-StandardDer MPEG-2-Standard beschreibt einen sogenannten generischen Code (Gatterungscode) für die „Gatterung“ Bewegtbildcodierung. Er unterteilt deren Gesamtbereich in Merkmalsbereiche, die hinsichtlich „qualitativer“ und „quantitativer“ Merkmale unterschieden werden. In der Sprache der MPEG werden die Merkmalsbereiche nach Profils und Levels unterschieden.

Eine Übersicht über die Profile-Level-Struktur des Standards gibt 3.2.10. Die in der Übersicht angegebenen Parameterkombinationen sind als Maximumwerte zu verstehen. Die in Klammern stehenden Werte beziehen sich auf niedere, sogenannte Layer der Profile-Level-Kombinationen der Formen der skalierbaren Codierung. Die MPEG-2-Codierung ist abwärtskompatibel aufgebaut. Das bedeutet: Ein Decoder, der einem Feld in der Tabelle zugeordnet ist, muss auch die Datenströme entsprechend den links und unterhalb dieses Feldes liegenden Felder decodieren können.

Guido H. BruckBildverarbeitung - Folie 51

25.09.2013

KommunikationsTechnik

3.3.1 MPEG-4MPEG-4 hat eine gegenüber MPEG-2 erweiterte Funktionalität:

• Kompression• Flexibilität• keine Festlegung auf bestimmtes Verfahren, oft nur Interfaces standardisiert• stattdessen: Sammlung verschiedener „Tools“• „Profiles“ limitieren Tools, die der Decoder implementieren kann

optimale Qualität für spezielle Anwendungen

• Wie bei MPEG-1 und –2 sind der Decoder und der Datenstrom standardisiert. Verschiedene Hersteller können so verschiedene Encoder herstellen, die zusammen mit einem standardgemäßen Decoder unterschiedliche Bildqualitäten liefern.

Wegen der besseren Darstellung wird hier teilweise der Codierungsvorgang dargestellt.

Guido H. BruckBildverarbeitung - Folie 52

25.09.2013

KommunikationsTechnik

3.3.2 MPEG-4MPEG-4 Entwicklungen des Standards im Bereich Visual:

MPEG-4-Standard ISO 14496, Part 2, Visual• Version 1: Basic MPEG-4, International Standard (IS) Mai 1999• Version 2: Neue Tools und Profiles, IS Feb. 2000• Amendment 1, Studio Profile: Tools und Profiles für Studio und Produktion IS

März 2001• Amendment 2, Streaming Video Profile: Weitere Tools und Profiles, IS März

2001• Amendment 3, Neue Levels und Tools: IS Dec. 2002

14

Guido H. BruckBildverarbeitung - Folie 53

25.09.2013

KommunikationsTechnik

Die zu übertragenen Daten werden auf unterschiedliche Art und Weise codiert:• Szene wird in „Einheiten“ unterteilt, sog. „Audio-Visual Objects“• Zusammensetzung der Audio-Visual Objects wird gespeichert im

„Szenengraph“• Audio-Visual Objects:

• Video Objects• Natural (Kamera)• Synthetic (computergeneriert)

• Audio Objects• Natural (Mikrofon)• Synthetic (computergeneriert)

• Szenengraph sorgt für korrekte Positionierung der Media Objects• räumlich• zeitlich• Realisiert durch gerichteten, azyklischen Graphen

3.3.3 MPEG-4

Guido H. BruckBildverarbeitung - Folie 54

25.09.2013

KommunikationsTechnik

Jedes Audio-Visual Object besitzt ein eigenes KoordinatensystemSzenengraph verfügt selbst auch über ein Koordinatensystem

• durch Berechnung: „virtuelle Kamera“ möglich• Blickwinkel• Ausschnitt

• Audio-Visual Objects einer Szene sind hierarchisch sortiert• Blätter: Primitive Audio-Visual Objects

• Still Images - unbewegte Bilder (z. B. Hintergrund)• Video Objects (z. B. Person)• Audio Objects (z. B. Stimme)

3.3.4 MPEG-4 Szenegraph

scene

Person 2D Background Video

picturevoiceQuelle: MPEG-4 – Ein Überblick, Paderborn Center for mobile Computing

Guido H. BruckBildverarbeitung - Folie 55

25.09.2013

KommunikationsTechnik

Bespiel für die Codierung einzelner Audio-Visual Objects

3.3.5 MPEG-4 Codierung

Quelle: Kohtaro Asai and Fuminobu Ogawa: MPEG Coding Technologies, Mitsubishi Electric ADVANCE December 1998

Guido H. BruckBildverarbeitung - Folie 56

25.09.2013

KommunikationsTechnik

Codierung von visuellen Objekten in natürlichen und synthetischen, bewegten Bildern.Hierarchische Beschreibung einer „visual scene“:• Visual Object Sequence (VS): Die komplette MPEG-4-Szene kann beliebig viele

2D oder 3D natürliche oder synthetische Objekte und deren Erweiterungen enthalten

• Video Object (VO): Entspricht einem bestimmten (2D-)Objekt in der Szene. Im einfachsten Fall ein rechteckiges Bild oder ein beliebig geformtes Objekt

• Video Object Layer (VOL): Jedes Video-Objekt kann skalierbar (multi layer) codiert werden. Es gibt räumliche (spatial) und zeitliche (temporal) Skalierbarkeit, von grober bis zu feiner Auflösung. Der Decoder kann die passende Skalierung einstellen.

• Group of Video Object Planes (GOV): Sie fasst mehrere Video Object Planes zusammen. Auf den Anfang einer GOV kann wahlfrei zugegriffen werden.

• Video Object Plane (VOP)

3.4.1 Datenstrom MPEG-4 Visual

15

Guido H. BruckBildverarbeitung - Folie 57

25.09.2013

KommunikationsTechnik

• Video Object Plane (VOP): Sie stellt einen zeitlichen Abtastwert eines Video-Objektes dar und kann unabhängig oder durch Bewegungskompensation in Abhängigkeit von anderen VOPs codiert werden. Ein herkömmliches Videobild kann durch eine VOP mit rechteckiger Form repräsentiert werden.

Ein natürliches Video-Objekt enthält die folgenden Informationen:• Form (shape)• Bewegungsinformation (motion)• Texturen (texture)

• Zusätzliche Kompression durch sprite CodingSprites: zeitunveränderliche Video-Objekte, größer als das übliche Bild, zur Repräsentation größerer, statischer Bildinhalte (Hintergrund).

3.4.2 Datenstrom MPEG-4 Visual

Guido H. BruckBildverarbeitung - Folie 58

25.09.2013

KommunikationsTechnik

• Entsprechend enthalten die VOPs in Makroblöcken:• Zeitliche Abtastwerte des Video-Objekts:

• Form-Informationen (Shape)• Bewegungsvektoren und –parameter• Texturdaten:

Luminanzsignal und unterabgetastetes Chrominanzsignal wie bei MPEG-2 im Abtastformat 4:2:0 für DCT-Codierung in 8x8-Blöcken

3.4.3 Datenstrom MPEG-4 Visual

Guido H. BruckBildverarbeitung - Folie 59

25.09.2013

KommunikationsTechnik

• Beispiel einer VOP-Decodierung in MPEG-4 ohne Sprites

3.4.4 Datenstrom MPEG-4 Visual

Quelle: Touradj Ebrahimi and Caspar Horne: MPEG-4 Natural Video Coding - An overview, aus dem Internet

Guido H. BruckBildverarbeitung - Folie 60

25.09.2013

KommunikationsTechnik

• Beispiel einer Überlagerung mehrerer Video Object Planes (VOPs):

3.4.5 Datenstrom MPEG-4 Visual

Quelle: Andrew Perkis: MPEG-4 visual, SIE2070 Multimedia signal processing, 4/3/2002

16

Guido H. BruckBildverarbeitung - Folie 61

25.09.2013

KommunikationsTechnik

• Shape Coding Tools• Binary Shape Coding• Gray Scale Shape Coding

• Bewegungskompensation (Motion Compensation Tools) mit optionalen Erweiterungen:• Overlapped Motion Compensation, • Advanced Motion Compensation

• Texturcodierung• Sprites• Skalierbarkeit

• Räumliche Skalierbarkeit• Zeitliche Skalierbarkeit

• Error Resilence• ...• ...

3.5.1 Tools zur Codierung von VOPs natürlicher Video-Objekte

Guido H. BruckBildverarbeitung - Folie 62

25.09.2013

KommunikationsTechnik

• Binary-Shape-Coding• Matrix (Binary Alpha Map)• definiert, ob Pixel zu Objekt gehört• 0 - liegt nicht drin• 255 - liegt drin

3.6.1 Binary-Shape-Coding

0 255

0 255 255 255

255 255 255

255 255 255

00

0

255

0 0

0

255

255

0

0

0

0

255255

255

Quelle: MPEG-4 – Ein Überblick, Paderborn Center for mobile Computing

Guido H. BruckBildverarbeitung - Folie 63

25.09.2013

KommunikationsTechnik

• Jede VOP wird von einer „Bounding Box“umschlossen

• Zu der VOP gehört eine binäre Maske, die für jedes Pixel, das zur VOP gehört, den Wert 255 enthält. Alle anderen Pixel haben der Wert 0.

• Die binäre Maske wird in „Binary Alpha Blocks“ (BAB) der Größe 16x16 Pixel unterteilt, die einzeln codiert werden.

• Haben alle Pixel den Wert 0, ist der Block transparent und es erfolgt keine weitere Codierung.

• Haben alle Pixel den Wert 255, ist der Block undurchsichtig, er gehört zur VOP und es erfolgt eine Codierung.

• BAB werden durch eine „Context based Arithmetic Encoding“ (CAE) mit Bewegungskompensation codiert. Dabei gibt es InterCAE und IntraCAE mit und ohne Bewegungskompensation.

3.6.2 Binary-Shape-Coding

Quelle: Touradj Ebrahimi, MPEG-4 Natural Video Tools, Signal Processing Laboratory Swiss Federal Institute of Technology, Lausanne

Guido H. BruckBildverarbeitung - Folie 64

25.09.2013

KommunikationsTechnik

• Entspricht der Binary-Shape-Coding mit dem Unterschied, dass jeder Wert der Maske Werte zwischen 0 (transparent) und 255 (undurchsichtig) annehmen kann und mit den dazwischen liegenden Werten die Transparenz des zugehörigen Pixels beschrieben wird.

• Gray-Scale-Shape-Information wird mit einer bewegungskompensierten DCT ähnlich der Texturcodierung codiert

3.6.3 Gray-Scale-Shape-Coding

17

Guido H. BruckBildverarbeitung - Folie 65

25.09.2013

KommunikationsTechnik

• Die bekannten Verfahren anderer Video-Codierungsstandards wurden an die VOP-Struktur von MPEG-4 angepasst. Daher gibt es drei Typen von Video Object Planes (VOP):• Eine VOP wird unabhängig von anderen VOPs codiert. Diese VOP wird

Intra-VOP (I-VOP) genannt.• Eine VOP wird durch Bewegungskompensation auf Basis einer anderen

vorher codierten VOP codiert. Solche VOPs werden Predicted VOP(P-VOP) genannt.

• Eine VOP wird durch Bewegungskompensation auf Basis von früheren und zukünftigen VOPs codiert. Diese VOP werden Bidirectional Interpolated VOPs (B-VOP) genannt. Sie dürfen nur auf Basis von I-VOPs und P-VOPs interpoliert werden.

3.7.1 Bewegungskompensation (Motion Compensation)

Guido H. BruckBildverarbeitung - Folie 66

25.09.2013

KommunikationsTechnik

• Die Skizze zeigt verschiedene Typen von VOPs.

• Wenn ein 16x16 Pixel großer Macroblock ganz in der VOP liegt, geschieht die Bewegungskompensation auf Basis eines Block-Matching mit den Macroblöcken bzw. mit 8x8 Pixeln großen Blöcken im „Advanced Prediction Mode“.

3.7.2 Bewegungskompensation (Motion Compensation)

Quelle: Touradj Ebrahimi, MPEG-4 Natural Video Tools, Signal Processing Laboratory Swiss Federal Institute of Technology, Lausanne

Guido H. BruckBildverarbeitung - Folie 67

25.09.2013

KommunikationsTechnik

• Wenn ein Macroblock nicht ganz innerhalb der VOP liegt, werden verschiedene Füllverfahren für die außerhalb liegenden Teile sowie modifizierte-Block (Polygon)-Matching-Verfahren verwendet.

3.7.3 Bewegungskompensation (Motion Compensation)

Quelle: Touradj Ebrahimi, MPEG-4 Natural Video Tools, Signal Processing Laboratory Swiss Federal Institute of Technology, Lausanne

Guido H. BruckBildverarbeitung - Folie 68

25.09.2013

KommunikationsTechnik

• Die Texturinformation eines Video-Objektes wird mit Hilfe des Luminanzsignals Y und den beiden Chrominanzsignalkomponenten CR und CB beschrieben.

• Im Fall von I-VOPs enthalten das Luminanzsignal und das Chrominanzsignal direkt die zugehörigen Werte. Im Fall von bewegungskompensierten VOPs enthalten sie nur die nach der Bewegungskompensation verbleibenden Fehlersignale.

• Zur Codierung der Texturinformation wird eine übliche 8x8 blockbasierte DCT verwendet.

• Zeilensprung-Bilder: Field-DCT Coding• Progressive Bilder: Frame DCT-Coding

Eine Übersicht über den Codierungsvorgang zeigt das folgende Bild:

3.8.1 Texturcodierung

DCT Quantisierung Prädiktion der Koeffizienten

Scan der Koeffizienten

Codierung mit variabler

Wortlänge

VOP

Textur

Datenstrom

18

Guido H. BruckBildverarbeitung - Folie 69

25.09.2013

KommunikationsTechnik

Diskrete Cosinus-Transformation (DCT)• Blöcke der Größe 8x8 Pixel werden der VOP überlagert. Blöcke innerhalb der VOP

werden ohne Veränderung codiert. Blöcke, die teilweise auf der Grenze der VOP liegen, werden anders behandelt.

3.8.2 Texturcodierung

Quelle: Touradj Ebrahimi, MPEG-4 Natural Video Tools, Signal Processing Laboratory Swiss Federal Institute of Technology, Lausanne

Guido H. BruckBildverarbeitung - Folie 70

25.09.2013

KommunikationsTechnik

• Blöcke der Größe 8x8 Pixel an den Grenzen der VOP enthalten nur teilweise Werte aus der VOP. Die übrigen Werte, die außerhalb der VOP lokalisiert sind, werden aus den Werten der VOP extrapoliert:

• Bei Luminanzsignal-Blöcken wird auf Basis 16x16 extrapoliert, bei Chrominanzsignal-Blöcken auf Basis 8x8.

• Bei P- und B-Blöcken werden außerhalb der VOP liegende Pixel mit dem Wert Null gefüllt.

• Bei I-Blöcken werden die außerhalb der VOP liegenden Werte durch einen zweistufigen Prozess mit Werten gefüllt. Dieser Prozess wird Low Pass Extrapolation (LPE) genannt.

3.8.3 Texturcodierung

Guido H. BruckBildverarbeitung - Folie 71

25.09.2013

KommunikationsTechnik

Low Pass Extrapolation:1. Die Werte außerhalb der VOP werden auf den Mittelwert der Werte innerhalb

der VOP gesetzt:

3.8.4 Texturcodierung

, ,, VOP

,, VOP

: Anzahl der Pixel pro Block1 mit:Signalwert an der Stelle ,r c x yr c

x yx y

Nf f

f x yN

2. Die Werte in der Nähe des Randes der VOP werden angepasst:

, 1 1, , 1 1,

, , VOP 4r c r c r c r c

r c r c

f f f ff

Als Signalwerte für die rechte Seite der obigen Gleichung kommen nur Werte in Betracht, die innerhalb der VOP liegen. Wenn Werte außerhalb liegen, werden sie nicht berücksichtigt und der Nenner des Bruches entsprechend angepasst.

Nach der Erweiterung werden die Randblöcke genauso behandelt wie die inneren Blöcke.

Guido H. BruckBildverarbeitung - Folie 72

25.09.2013

KommunikationsTechnik

Quantisierung• Die nach der Transformation vorliegenden Spektralkoeffizienten werden quantisiert,

indem die Spektralkoeffizienten durch einen Wert dividiert und die Ergebnisse auf ganze Zahlen gerundet werden. Dabei gibt es verschiedene Methoden:• Division durch Werte einer Quantisierungsmatrix ähnlich wie bei MPEG-2.• Division durch einen festen Wert.• Eine ungleichförmige Quantisierung („non-linear“) des DC-Koeffizienten ist

möglich.

3.8.5 Texturcodierung

19

Guido H. BruckBildverarbeitung - Folie 73

25.09.2013

KommunikationsTechnik

Prädiktion der Spektralkoeffizienten in Abhängigkeit der Unterschiede der Koeffizienten in den Blöcken A, B und C

DC-Prädktion AC-Prädiktion

3.8.6 Texturcodierung

Nachbar-block B

Kandidaten-block C

Kandidaten-block A

Aktueller Block

Nachbar-block B

Kandidaten-block C

Kandidaten-block A

Aktueller Block

Prädiktion des DC-Koeffizienten durch den Koeffizienten von Block A oder von Block C

Entweder die Koeffizienten der ersten Zeile oder der ersten Spalte werden aus den entsprechenden Koeffizienten eines ausgewählten Kandidatenblocks prädiziert.

Guido H. BruckBildverarbeitung - Folie 74

25.09.2013

KommunikationsTechnik

Scan der Koeffizienten

Die Koeffizienten werden in vorgegebener Weise in einen eindimensionalen Datenvektor überführt. Dazu dient der Zig-Zag-Scan nach 3.2.7 oder zwei alternative Muster (Alternate-horizontal scan und Alternate-vertical scan), die in Abhängigkeit von der Prädiktion der DC-Koeffizienten benutzt werden.

3.8.7 Texturcodierung

Guido H. BruckBildverarbeitung - Folie 75

25.09.2013

KommunikationsTechnik

Statische Texturen

Mit MPEG-4 können statische Texturen, die sich also nicht bewegen, auf animierte 2D-oder 3D-Oberflächen abgebildet werden. Zu diesem Zweck verfügt MPEG-4 über Methoden zur Codierung von statischen Texturen, die eine größere Skalierbarkeitermöglichen als die Codierung mittels der DCT.Die Codierung beruht auf einer Wavelet-Transformation, wobei die DC- und AC-Komponenten unterschiedlich codiert werden. Die sich ergebenden Koeffizienten werden quantisiert und mit einem sog. Zero-Tree-Algorithmus und arithmetischer Codierung codiert.

3.8.8 Texturcodierung

Guido H. BruckBildverarbeitung - Folie 76

25.09.2013

KommunikationsTechnik

Sprites sind Hintergrund-Objekte, die sich nicht bewegen und nur einmal übertragen werden. Sie werden wie I-VOPs am Anfang eines Datenstroms übertragen und stehen dann in einem Speicher dem Empfänger zur Verfügung. Bei einem Wechsel der Kameraposition rechnet der Empfänger den jeweils sichtbaren Teil aus den im Speicher vorliegenden Daten aus. Es lassen sich große Kompressionraten erzielen.

3.9.1 Sprites

Quelle: Touradj Ebrahimi, MPEG-4 Natural Video Tools, Signal Processing Laboratory Swiss Federal Institute of Technology, Lausanne

20

Guido H. BruckBildverarbeitung - Folie 77

25.09.2013

KommunikationsTechnik

Durch verschiedene Video-Object-Layer wird eine räumliche oder zeitliche Skalierung implementiert.Beispiel: Base-Layer und Enhancement-LayerIm Fall der räumlichen Skalierung enthält der Base-Layer Informationen über das Videoobjekt mit geringer Auflösung und der Enhancement-Layer die nötige Zusatzinformation zur Auflösungserhöhung.

3.10.1 Skalierbarkeit

Quelle: Touradj Ebrahimi, MPEG-4 Natural Video Tools, Signal Processing Laboratory Swiss Federal Institute of Technology, Lausanne

Guido H. BruckBildverarbeitung - Folie 78

25.09.2013

KommunikationsTechnik

Der VOPs des Base-Layers werden codiert wie vorher beschrieben.Die VOPs des Enhancement-Layers werden als P-VOPs oder als B-VOPs codiert.

3.10.2 Räumliche Skalierbarkeit (Spatial Scalability)

Quelle: Touradj Ebrahimi, MPEG-4 Natural Video Tools, Signal Processing Laboratory Swiss Federal Institute of Technology, Lausanne

Guido H. BruckBildverarbeitung - Folie 79

25.09.2013

KommunikationsTechnik

Beispiel für eine räumliche Skalierbarkeit, hier mit zwei Enhancement-Layern3.10.3 Räumliche Skalierbarkeit (Spatial Scalability)

Quelle: Andrew Perkis: MPEG-4 visual, SIE2070 Multimedia signal processing, 4/3/2002

Guido H. BruckBildverarbeitung - Folie 80

25.09.2013

KommunikationsTechnik

Bei der zeitlichen Skalierbarkeit wird die Wiederholrate der VOPs verbessert, der Enhancement-Layer enthält die Informationen, die zwischen den Bildern des Base-Layers wiedergegeben werden sollen.Zwei Typen:

• Typ I: Der Enhancement-Layer verbessert nur die Auflösung eines Teils des Base-Layers.

• Typ II: Der Enhancement-Layer verbessert die Auflösung des gesamten Base-Layers.

3.10.4 Zeitliche Skalierbarkeit (Temporal Scalability)

Quelle: Touradj Ebrahimi, MPEG-4 Natural Video Tools, Signal Processing Laboratory Swiss Federal Institute of Technology, Lausanne

Base Layer Enhancement Layer

Enhancement Typ II

Enhancement Typ I

VOL 0: Ges. Bild VOL 1: Auto

VOL 0: Ges. Bild VOL 1: Ges. Bild

VOL 0: Auto VOL 1: Auto

Verbesserter Bereich

VO 0

VO 1

21

Guido H. BruckBildverarbeitung - Folie 81

25.09.2013

KommunikationsTechnik

Typ I: Der Enhancement-Layer Verbessert nur die zeitliche Auflösung eines Teils des Base-Layers.

3.10.5 Zeitliche Skalierbarkeit (Temporal Scalability)

Quelle: Touradj Ebrahimi, MPEG-4 Natural Video Tools, Signal Processing Laboratory Swiss Federal Institute of Technology, Lausanne

Guido H. BruckBildverarbeitung - Folie 82

25.09.2013

KommunikationsTechnik

Typ II: Der Enhancement-Layer verbessert die zeitliche Auflösung des gesamten Base-Layers.

3.10.6 Zeitliche Skalierbarkeit (Temporal Scalability)

Quelle: Touradj Ebrahimi, MPEG-4 Natural Video Tools, Signal Processing Laboratory Swiss Federal Institute of Technology, Lausanne

Guido H. BruckBildverarbeitung - Folie 83

25.09.2013

KommunikationsTechnik

Beispiel für eine zeitliche Skalierbarkeit mit zwei Enhancement-Layern3.10.7 Zeitliche Skalierbarkeit (Temporal Scalability)

Quelle: Andrew Perkis: MPEG-4 visual, SIE2070 Multimedia signal processing, 4/3/2002

Guido H. BruckBildverarbeitung - Folie 84

25.09.2013

KommunikationsTechnik

Speziell für die Übertragung über gestörte Kanäle, wie z.B. über Mobilfunkkanäle, sind sog. Error-Risilence-Tools vorhanden, die die sichtbaren Auswirkungen von Übertragungsfehlern verringern sollen:

• Resynchronization Markers• Extended Header Code• Data Partitioning• Reversible VLCs

3.11.1 Error-Resilence-Tools

Quelle: Touradj Ebrahimi, MPEG-4 Natural Video Tools, Signal Processing Laboratory Swiss Federal Institute of Technology, Lausanne

Vorwärts-Decodierung Rückwärts-Decodierung

Das Bild zeigt die Auswirkungen dieser Tools auf die Datenstrom-Syntax

22

Guido H. BruckBildverarbeitung - Folie 85

25.09.2013

KommunikationsTechnik

MPEG-4 enthält verschiedene Tools, um synthetische Video-Objekte zu übertragen (Auswahl):

• Facial Animation - Animation von Gesichtern• Body Animation – Animation von Körpern• 2D-Meshes (2D-Gittermodelle) • 3D-Meshes (3D-Gittermodelle)• View-dependent Scalability

3.12.1 Synthetische Video-Objekte

Guido H. BruckBildverarbeitung - Folie 86

25.09.2013

KommunikationsTechnik

Form, Textur und Gesichtsausdruck werden nur durch Parameter übergeben

• Facial Definition Parameters (FDP)Gesicht wird durch 84 FDPs beschrieben

• FDPs werden vom Decoder in Gesicht umgesetzt

Animation:• Facial Animation Parameters

Gesichtsausdrücke

3.12.2 Facial Animation

Quelle: MPEG-4 – Ein Überblick, Paderborn Center for mobile Computing

Guido H. BruckBildverarbeitung - Folie 87

25.09.2013

KommunikationsTechnik

Vergleichbar mit der Face Animation.Form, Textur und Haltung des Körpers werden nur durch Parameter übergeben

3.12.3 Body Animation

Quelle: MPEG-4 – Ein Überblick, Paderborn Center for mobile Computing

„Body Control Points“ in unteren KörperteilenQuelle: Streaming Multimedia – The MPEG-4 Approach, Circuit Cellular, Issue 137, Dec. 2001

Guido H. BruckBildverarbeitung - Folie 88

25.09.2013

KommunikationsTechnik

Aufteilung des 2-dimensionalen Raumes in Polygone• in MPEG-4 nur Dreiecke

Textur wird über das Gittermodell gelegt• Texture Mapping

Animation• Verschieben der Knotenpunkte

3.12.4 2D-Meshes

Quelle: MPEG-4 – Ein Überblick, Paderborn Center for mobile Computing

23

Guido H. BruckBildverarbeitung - Folie 89

25.09.2013

KommunikationsTechnik

• wird in 3D-Welten benutzt• ermöglicht Übertragung von Texturen• nur sichtbare Informationen werden übertragen

spart Bandbreite• Berechnung auf Encoder- und Decoder-Seite

Rückkanal erforderlich

3.12.5 View-dependent Scalebility

Guido H. BruckBildverarbeitung - Folie 90

25.09.2013

KommunikationsTechnik

Die meisten Anwendungen benötigen nur einen Teil der vielfältigen Werkzeuge („Tools“), die im MPEG-4-Standard definiert sind. Die Codierungswerkzeuge werden zu sog. Profilen („Profiles“) zusammengefasst. Diese Profile werden auf bestimmte Anwendungen angepasst, dadurch verringert sich der Implementierungsaufwand in Encoder und Decoder. Für jedes Profil kann es verschiedene „Levels“ geben, die die Komplexität z.B. in Form von Bildgröße, Anzahl der Video-Objekte, Speicherbedarf, einschränken.Typen von Profilen:

• Szenenbeschreibung• Objektbeschreibungen• Audio (natürliche und synthetische): Typen von Objekten• Visual (natürliche und synthetische): Typen von Objekten• Grafiken

3.13.1 Profile (Profiles)

Guido H. BruckBildverarbeitung - Folie 91

25.09.2013

KommunikationsTechnik

Beispiel für die Bearbeitung von Profilen in einem MPEG-4 Encoder/Decoder. Profile werden in Form von Video-Objekt-Typen definiert

3.13.2 Profile (Profiles)

Quelle: Olivier Avaro: Overview of MPEG-4 Developments, Davic European Information Day, Geneva, 12 January 1999

Guido H. BruckBildverarbeitung - Folie 92

25.09.2013

KommunikationsTechnik

Auswahl von Video-Tools zu einigen Video-Objekttypen3.13.3 Profile (Profiles) für natürliche Videobilder („natural Video“)

Quelle: Touradj Ebrahimi and Caspar Horne: MPEG-4 Natural Video Coding - An overview, aus dem Internet

MPEG-4 video tools Basic(I and P-VOP, coefficient prediction, 4-MV, unrestricted MV)

x x x x x

Error resilience x x x x xShort Header x x x xB-VOP x x x xP-VOP with OBMC (Texture)Method 1/Method 2 Quantization x x xP-VOP based temporal scalability x x xBinary Shape x x xGrey Shape xInterlace xSprite xTemporal Scalability (Rectangular) xSpatial Scalability (Rectangular) xN-Bit xScalable Still Texture x

MPEG-4 video object types Simple Core Main Simple

ScalableN-bit Still

Scalable Texture

„Simple“: Nur rechteckförmige Video-Objekte (keine Shape-Verarbeitung)

24

Guido H. BruckBildverarbeitung - Folie 93

25.09.2013

KommunikationsTechnik

Auswahl von Typen von Video-Objekten, die innerhalb einer Auswahl von Profiles bearbeitet werden können:

3.13.4 Profile (Profiles) für natürliche Videobilder („natural Video“)

Quelle: Touradj Ebrahimi and Caspar Horne: MPEG-4 Natural Video Coding - An overview, aus dem Internet

MPEG-4 video object

types

Simple Core Main

Simple x x x x xCore x x xMain xSimple Scaleable

x

N-Bit xScalable Still Texture

x x

MPEG-4 video profiles

Simple Scalable

N-Bit Scalable Texture

Guido H. BruckBildverarbeitung - Folie 94

25.09.2013

KommunikationsTechnik

Wichtige vorgesehene Anwendungen der Profiles:• Simple: Einfache fehlergeschützte Übertragung von rechteckigen Bildern, z.B. für

Übertragung in Mobilfunksystemen• Simple Scalable: Anwendung, wo Skalierbarkeit z.B. wegen unterschiedlicher zur

Verfügung stehender Bandbreite eingeschränkt wird, oder bei Begrenzungen von Rechenleistungen: Internet oder Software-Decodierung

• Core: Übertragung für beliebig geformte Bildobjekte. Für einfache Interaktivität, z.B. Internet-Multimedia-Anwendungen

• Main Visual: Für interaktive, Fernseh- und DVD-Anwendungen

3.13.5 Profile (Profiles) für natürliche Videobilder („natural Video“)

Guido H. BruckBildverarbeitung - Folie 95

25.09.2013

KommunikationsTechnik

Weitere Ergänzungen durch neue Tools und Profiles:• Advanced Simple: Verbesserte Codierverfahren gegenüber dem simple Profile.• Simple Studio: Hohe Bildqualität, Verwendung für die Bildbearbeitung im Studio, nur

I-VOPs, Datenrate bis 2GBit/s.• Core Studio: Wie Simple-Studio, aber zusätzlich mit P-VOPs, die eine verbesserte

Datenreduktion erlauben aber gleichzeitig einen erhöhnten Implementierungsaufwand verlangen.

• Core Scalable: Wie Core, aber zusätzlich Skalierbarkeit. Anwendung im Internet, bei Mobilfunkübertragung und für Rundfunkzwecke.

• Advanced Real-Time Simple: Für Echtzeitanwendungen wie Videotelefon, Telekonferenz.

• Advanced Coding Efficiency: Mit allen neuen Verfahren zur verbesserten Codierung, für mobile Rundfunkübertragung, Camcorder etc.

• Fine Granularity Scalable: Mehrere Verfahren zur Skalierbarkeit, um den Datenstrom schnell veränderlichen Datenübertragungsraten besser anpassen zu können (Streaming Video).

3.13.6 Profile (Profiles) für natürliche Videobilder („natural Video“)

Guido H. BruckBildverarbeitung - Folie 96

25.09.2013

KommunikationsTechnik

Mit sog. Levels werden Parametervorgaben für den Datenstrom gemacht. Die folgende Tabelle gibt einige Levels für die wichtigsten Profiles wider. In der Spalte „Total mblk memory“ ist die für den Decodiervorgang nötige Speichermenge in „Macroblock-Units“ angegeben.

3.13.7 Levels

L1 QCIF 176x144 64 k 4 198L2 CIF 352x288 128 k 4 792L3 CIF 352x288 384 k 4 792L1 QCIF 176x144 384 k 4 594L2 CIF 352x288 2 M 16 2376L2 CIF 352x288 2 M 16 2376L3 ITU-R 601 720x576 15 M 32 9720L4 1920x1088 1920x1088 38.4 M 32 48960

Bitrate (bit/s)

Total mblk memory

(mblk units)

Maximum number of

objects

Profile and Level

Typical scene size

Simple Profile

Main Profile

Size in Pixels

Core Profile

Quelle: Touradj Ebrahimi and Caspar Horne: MPEG-4 Natural Video Coding - An overview, aus dem Internet

25

Guido H. BruckBildverarbeitung - Folie 97

25.09.2013

KommunikationsTechnik

Die Datenrate kann sowohl für Anwendungen mit variabler Datenrate (VBR – Variable Bitrate) als auch für Anwendungen mit fester Datenrate (CBR – Constant Bitrate) eingestellt werden. Dazu ist ein Algorithmus erforderlich, der die Quantisierung der zu übertragenden Größen einstellt.Bei VBR-Anwendungen wird versucht, die optimale Bildqualität mit einer vorgegebenen Bitrate zu erreichen.Bei CBR-Anwendungen muss die vorgegebene Verzögerungszeit und die vorgegebene Größe des Pufferspeichers berücksichtigt werden, der die ungleichmäßig anfallenden Datenbits zwischenspeichert, bevor sie mit konstanter Datenrate über den Übertragungskanal geschickt werden. Ein vergleichbarer Pufferspeicher ist auf der Decoderseite vorhanden.Wenn der Pufferspeicher droht überzulaufen, wird die Quantisierung vergröbert, so dass weniger Daten anfallen. Wenn der Pufferspeicher droht leer zu laufen, wird die Quantisierung feiner eingestellt, so dass mehr Daten anfallen.

3.13.8 Datenrate

Guido H. BruckBildverarbeitung - Folie 98

25.09.2013

KommunikationsTechnik

Quellen: Gidon Shavit The H.264/AVC Video Coding Standard, Based on Material from IEEE Transactions on Circuits and Systems for Video Technology, July 2003, www.cs.washington.edu/ homes/gidon/presentations/h264.ppt Tom McMahon: The Emerging H.264/AVC Video Coding Standard, www.itl.nist.gov/div895/isis/jvtslides.ppt Dr. Pankaj Topiwala H.264: The Next Revolution? www.hpaonline.com/files/public/topiwala.ppt Mohsen Saneei: H-264 ece.ut.ac.ir/classpages/Multimedia/h264.ppt

3.14.1 H.264/AVC

• In the early 1990’s, the first video compression standards were introduced:– H.261 (1990) and H.263 (1995) from ITU– MPEG-1 (1993) and MPEG-2 (1996) from ISO

• Since then, the technology has advanced rapidly– H.263 was followed by H.263+, H.263++, H.26L– MPEG-1/2 followed by MPEG-4 visual– But industry and research coders are still way ahead

• H.264/AVC is a joint project of ITU and ISO, to create an up-to-date standard.

Guido H. BruckBildverarbeitung - Folie 99

25.09.2013

KommunikationsTechnik

3.14.2 H.264/AVC - Scope and Context• Aimed at providing high-quality compression for various services:

– IP streaming media (50-1500 kbps)– SDTV and HDTV Broadcast and video-on-demand (1 - 8+ Mbps)– DVD– Conversational services (<1 Mbps, low latency)

• Standard defines:– Decoder functionality (but not encoder)– File and stream structure

• Final results: 2-fold improvement in compression• Same fidelity, half the size compared to H.263 and MPEG-2

– MPEG-4 Part 10 (Official MPEG Term)• ISO/IEC 14496-10 AVC

– H.264 (Official ITU Term)

Guido H. BruckBildverarbeitung - Folie 100

25.09.2013

KommunikationsTechnik

3.14.3 H.264/AVC - New features

• New features in H.264– Motion compensation and intra-prediction– Image transform – Deblocking filters– Entropy coding– Frames and slices

26

Guido H. BruckBildverarbeitung - Folie 101

25.09.2013

KommunikationsTechnik

3.14.4 H.264/AVC - Changes in Motion Compensation

• Quarter-pixel accuracy– A gain of 1.5-2dB across the board over ½-pixel

• Variable block-size:– Every 16x16 macroblock can be subdivided– Each sub-block gets predicted separately

• Multiple and arbitrary reference frames– Vs. only previous (H.263) or previous and next (MPEG).

• Anti-aliasing sub-pixel interpolation– Removes some common artifacts in residual

Guido H. BruckBildverarbeitung - Folie 102

25.09.2013

KommunikationsTechnik

3.14.5 H.264/AVC - Variable Block-Size MC

• Motivation: size of moving/stationary objects is variable– Many small blocks may take too many bits to encode– Few large blocks give lousy prediction

• In H.264/AVC, each 16x16 macroblock may be:– Kept whole,– Divided horizontally (vertically) into two sub-blocks of size 16x8 (8x16)– Divided into 4 sub-blocks– In the last case, the 4 sub-blocks may

be divided once more into 2 or 4 smaller blocks.

– Bit rate savings of more than 15% as compared to using only a 16x16 block size. Motion vector accuracy 1/4

8x8

0

4x8

0 10 12 3

4x48x4

108x8

Types

0

16x16

0 1

8x16MB

Types

8x80 12 3

16x8

1

0

Guido H. BruckBildverarbeitung - Folie 103

25.09.2013

KommunikationsTechnik

3.14.6 H.264/AVC - Variable Block Sizes

Guido H. BruckBildverarbeitung - Folie 104

25.09.2013

KommunikationsTechnik

3.14.7 H.264/AVC - Motion Scale Example

T=1 T=2

27

Guido H. BruckBildverarbeitung - Folie 105

25.09.2013

KommunikationsTechnik

3.14.8 H.264/AVC - Motion Scale Example

T=1 T=2

Guido H. BruckBildverarbeitung - Folie 106

25.09.2013

KommunikationsTechnik

3.14.9 H.264/AVC - Motion Scale Example

T=1 T=2

Guido H. BruckBildverarbeitung - Folie 107

25.09.2013

KommunikationsTechnik

3.14.10 H.264/AVC – Variable Block Size Example

T=1 T=2

Guido H. BruckBildverarbeitung - Folie 108

25.09.2013

KommunikationsTechnik

3.14.11 H.264/AVC – Arbitrary Reference Frames

• In H.263, the reference frame for prediction is always the previous frame• In MPEG and H.26L, some frames are predicted from both the previous

and the next frames (bi-prediction)• In H.264/AVC, any one frame may be used as reference:

– Encoder and decoder maintain synchronized buffers of available frames (previously decoded)

– Reference frame is specified as index into this buffer• In bi-predictive mode, each macroblock may be:

– Predicted from one of the two references– Predicted from both, using weighted

mean of predictors Multiple Reference Frames for Motion Compensation

28

Guido H. BruckBildverarbeitung - Folie 109

25.09.2013

KommunikationsTechnik

3.14.12 H.264/AVC – Intra Prediction

• Motivation: intra-frames are natural images, so they exhibit strong spatial correlation– Implemented to some extent in H.263++ and MPEG-4, but in transform

domain• Macroblocks in intra-coded frames are predicted based on previously-coded ones

– Above and/or to the left of the current block– The macroblock may be divided into 16 4x4 sub-blocks which are predicted in

cascading fashion• An encoded parameter specifies which neighbors should be used to predict, and

how

Guido H. BruckBildverarbeitung - Folie 110

25.09.2013

KommunikationsTechnik

3.14.13 H.264/AVC – Intra Prediction

• For I macroblocks• For luminance samples

– 4x4 prediction process – 16x16 prediction process

• For chrominance samples– 8x8 prediction process

Guido H. BruckBildverarbeitung - Folie 111

25.09.2013

KommunikationsTechnik

3.14.14 H.264/AVC – 4x4 Intra Prediction Modes

• 9 types for luminance signal

Guido H. BruckBildverarbeitung - Folie 112

25.09.2013

KommunikationsTechnik

3.14.15 H.264/AVC – 4x4 Intra Prediction Modes

• For example in Mode 3 (Diagonal-Down-Left prediction) the values of a to p are given as follows:– a is equal to (A+2B+C+2)/4– b, e are equal to (B+2C+D+2)/4– c, f, i are equal to (C+2D+E+2)/4– d, g, j, m are equal to (D+2E+F+2)/4– h, k, n are equal to (E+2F+G+2)/4– l, o are equal to (F+2G+H+2)/4– p is equal to (G+3H+2)/4

• Mode 2 (DC)– Predict all pixels from– (A+B+C+D+I+J+K+L+4)/8 or (A+B+C+D+2)/4 or (I+J+K+L+2)/4

29

Guido H. BruckBildverarbeitung - Folie 113

25.09.2013

KommunikationsTechnik

3.14.16 H.264/AVC – 4x4 Intra Prediction Modes

Guido H. BruckBildverarbeitung - Folie 114

25.09.2013

KommunikationsTechnik

3.14.17 H.264/AVC - Intra PredictionIntra 16x16 luminance (smooth macroblocks containing little detail) and 8x8 chrominance prediction modes

– Mode 0 (Vertical)– Mode 1 (Horizontal)– Mode 2 (DC)– Mode 4 (Plane): a linear “plane”

function is fitted to the upper and left-hand samples H and V.

If any of the 8x8 blocks in the luminancecomponent are coded in Intra mode, both chrominance blocks (Cr,Cb) are also intra coded

Guido H. BruckBildverarbeitung - Folie 115

25.09.2013

KommunikationsTechnik

3.14.18 H.264/AVC - Intra Prediction

Guido H. BruckBildverarbeitung - Folie 116

25.09.2013

KommunikationsTechnik

3.14.19 H.264/AVC - Image Transform

• Motivation:– DCT requires real-number operations, which may cause inaccuracies in

inversion– Better motion compensation means less spatial correlation – no need for 8x8

transform• H.264 uses a very simple integer 4x4 transform

– A (pretty crude) approximation to 4x4 DCT– Transform matrix contains only +/-1 and +/-2

• Can be computed with only additions, subtractions, and shifts• Results show negligible loss in quality (~0.02dB)

30

Guido H. BruckBildverarbeitung - Folie 117

25.09.2013

KommunikationsTechnik

3.14.20 H.264/AVC - Image Transform• EXACT MATCH Simplified Transform

• Based primarily on 4x4 transform (all prior standards: 8x8)

• Requires only 16 bit arithmetic (including intermediate values)• Easily extensible to 10-12 bits per component

1221111121121111

T1 11 1

T

Guido H. BruckBildverarbeitung - Folie 118

25.09.2013

KommunikationsTechnik

3.14.21 H.264/AVC - Image Transform

Transform in “baseline” profile of H.264/AVC • 4x4 block transform for residual data • 4x4 transform of luminance DC coefficients in intra macroblocks

(intra predicted in 16x16 mode) • 2x2 transform of chrominance DC coefficients (in any macroblock)

Luminance signal

Guido H. BruckBildverarbeitung - Folie 119

25.09.2013

KommunikationsTechnik

3.14.22 H.264/AVC - Image Transform

• In “adaptive block size transform” mode– further transforms are chosen depending on the motion

compensation block size(4x8, 8x4, 8x8, 16x8, etc)– transform operates on 4x4 blocks of residual data after motion-

compensated prediction or Intra prediction

Guido H. BruckBildverarbeitung - Folie 120

25.09.2013

KommunikationsTechnik

3.14.23 H.264/AVC - Deblocking Filters• Motivation: block-based MC and transforms generate blocking artifacts

– Very visible to human eye at low bit-rates• Previous standards applied simple filters to “smudge” edges between blocks• H.264/AVC adaptively chooses for each edge which one of 5 deblocking filters to

apply.– For instance, if both blocks have the same motion vector, less filtering is

needed.• Improves objective quality as well: about 7-9% reduction in bit-rate for same

PSNR.

31

Guido H. BruckBildverarbeitung - Folie 121

25.09.2013

KommunikationsTechnik

3.14.24 H.264/AVC - Deblocking Filters

1) Without Filter 2) with H264/AVC Deblocking

Guido H. BruckBildverarbeitung - Folie 122

25.09.2013

KommunikationsTechnik

3.14.25 H.264/AVC - Entropy Coding• Motivation: traditional coders use fixed, variable-length codes

– Essentially Huffman-style codes– Non-adaptive– Can’t encode symbols with probability > 0.5 efficiently, since at least one bit

required• H.263 Annex E defines an arithmetic coder

– Still non-adaptive– Uses multiple non-binary alphabets, which results in high computational

complexity• H.264/AVC uses two entropy codings:

– CAVLC (context-adaptive variable length coding) and UVLC (Uniform Variable Length Coding)

– CABAC (context-adaptive binary arithmetic coding)

Guido H. BruckBildverarbeitung - Folie 123

25.09.2013

KommunikationsTechnik

3.14.26 H.264/AVC - Entropy Coding: CABAC

• Arithmetic coding framework designed specifically for H.264• Binarization: all syntax symbols are translated to bit-strings• 399 predefined context models, used in groups

– E.g. models 14-20 used to code macroblock type for inter-frames– The model to use next is selected based on previously coded information (the

context)– Each context model adapts to empirical distribution

Guido H. BruckBildverarbeitung - Folie 124

25.09.2013

KommunikationsTechnik

3.14.27 H.264/AVC - Frames and Slices

• In H.263 and MPEG, each frame is either inter (P-frame) or intra (I-frame).– Exception: some macroblocks in P-frames may be intra-coded, and are called

I-blocks.• H.264/AVC generalizes this: each frame consists of one or more slices

– Contiguous groups of macroblocks– Processed in internal raster order– Each is independently encoded and decoded

• I-slices, P-slices, B-slices (two reference frames)

Slice 0

Slice 1

Slice 2

32

Guido H. BruckBildverarbeitung - Folie 125

25.09.2013

KommunikationsTechnik

3.14.28 H.264/AVC vs MPEG-2, Low Rate

MPEG-2203 kbps

H.26439 kbps!

Foreman, QCIF, 30 fps

Guido H. BruckBildverarbeitung - Folie 126

25.09.2013

KommunikationsTechnik

3.14.29 Quick Look at WM9• WM4 onward were variants of MPEG-4• WM9 is a variant of H.264/AVC

– Fast, 16-bit integer transform– Sophisticated motion estimation– Scalar quantization– Adaptive VLC (no CABAC)

• This would give it performance similar to H.264/AVC– Might expect ~10% less since no CABAC– In our tests, they appear comparable

• WM9 performed well in tests at DVD Forum. But– WM9 may have used optimized, tuned, 2-pass encoding, prefiltering. – H.264/AVT used 1-pass ref. sw. (No 2-pass, tuning, filtering, opt.)

Guido H. BruckBildverarbeitung - Folie 127

25.09.2013

KommunikationsTechnik

3.14.30 ProfilesBaseline Extended Main High High 10 High 4:2:2 High 4:4:4

I and P Slices Ja Ja Ja Ja Ja Ja JaB Slices Nein Ja Ja Ja Ja Ja JaSI and SP Slices Nein Ja Nein Nein Nein Nein NeinMultiple Reference Frames Ja Ja Ja Ja Ja Ja JaIn-Loop Deblocking Filter Ja Ja Ja Ja Ja Ja JaCAVLC Entropy Coding Ja Ja Ja Ja Ja Ja JaCABAC Entropy Coding Nein Nein Ja Ja Ja Ja JaFlexible Macroblock Ordering (FMO) Ja Ja Nein Nein Nein Nein NeinArbitrary Slice Ordering (ASO) Ja Ja Nein Nein Nein Nein NeinRedundant Slices (RS) Ja Ja Nein Nein Nein Nein NeinData Partitioning Nein Ja Nein Nein Nein Nein NeinInterlaced Coding (PicAFF, MBAFF) Nein Ja Ja Ja Ja Ja Ja4:2:0 Chroma Format Ja Ja Ja Ja Ja Ja Ja4:2:2 Chroma Format Nein Nein Nein Nein Nein Ja Ja4:4:4 Chroma Format Nein Nein Nein Nein Nein Nein Ja8 Bit Sample Depth Ja Ja Ja Ja Ja Ja Ja

Guido H. BruckBildverarbeitung - Folie 128

25.09.2013

KommunikationsTechnik

3.14.31 ProfilesBaseline Extended Main High High 10 High 4:2:2 High 4:4:4

9 and 10 Bit Sample Depth Nein Nein Nein Nein Ja Ja Ja11 and 12 Bit Sample Depth Nein Nein Nein Nein Nein Nein Ja8x8 vs. 4x4 Transform Adaptivity Nein Nein Nein Ja Ja Ja JaQuantization Scaling Matrices Nein Nein Nein Ja Ja Ja JaSeparate Cb and Cr QP control Nein Nein Nein Ja Ja Ja JaMonochrome Video Format Nein Nein Nein Ja Ja Ja JaResidual Color Transform Nein Nein Nein Nein Nein Nein JaPredictive Lossless Coding Nein Nein Nein Nein Nein Nein Ja

33

Guido H. BruckBildverarbeitung - Folie 129

25.09.2013

KommunikationsTechnik

3.14.32 Levels und ProfilesMacroblocks pro Beispiele für Videobitrate (VCL) für Profiles

Level Frame Sekunde Auflösung/Bildratedieses Levels

BaselineExtendedMain

High High 10 High 4:2:2High 4:4:4

1 99 1 485 176 × 144 / 15128 × 96 / 30

64 kbit/s 80 kbit/s 192 kbit/s 256 kbit/s1b 128 kbit/s 160 kbit/s 384 kbit/s 512 kbit/s

1.1

396

3 000352 × 288 / 7.5320 × 240 / 10176 × 144 / 30

192 kbit/s 240 kbit/s 576 kbit/s 768 kbit/s

1.2 6 000352 × 288 / 15320 × 240 / 20176 × 144 / 60

384 kbit/s 480 kbit/s 1152 kbit/s 1536 kbit/s

1.3 11 880 352 × 288 / 30320 × 240 / 40

768 kbit/s 960 kbit/s 2304 kbit/s 3072 kbit/s2 2 Mbit/s 2,5 Mbit/s 6 Mbit/s 8 Mbit/s

2.1 792 19 800 352 × 576 / 25352 × 288 / 50 4 Mbit/s 5 Mbit/s 12 Mbit/s 16 Mbit/s

2.2 1 620 20 250 720 × 480 / 15352 × 288 / 50 4 Mbit/s 5 Mbit/s 12 Mbit/s 16 Mbit/s

Guido H. BruckBildverarbeitung - Folie 130

25.09.2013

KommunikationsTechnik

3.14.33 Levels und ProfilesMacroblocks pro Beispiele für Videobitrate (VCL) für Profiles

Level Frame Sekunde Auflösung/Bildratedieses Levels

BaselineExtendedMain

High High 10 High 4:2:2High 4:4:4

3 1 620 40 500 720 × 576 / 25720 × 480 / 30 10 Mbit/s 12,5 Mbit/s 30 Mbit/s 40 Mbit/s

3.1 3 600 108 000 1280 × 720 / 30720 × 576 / 60 14 Mbit/s 17,5 Mbit/s 42 Mbit/s 56 Mbit/s

3.2 5 120 216 000 1280 × 1024 / 401280 × 720 / 60 20 Mbit/s 25 Mbit/s 60 Mbit/s 80 Mbit/s

4 8 192 245 760 1920 × 1080 / 301280 × 720 / 60

20 Mbit/s 25 Mbit/s 60 Mbit/s 80 Mbit/s4.1 50 Mbit/s 62,5 Mbit/s 150 Mbit/s 200 Mbit/s4.2 8 704 522 240 2048 × 1080 / 60 50 Mbit/s 62,5 Mbit/s 150 Mbit/s 200 Mbit/s

5 22 080 589 824 3072 × 1620 / 302048 × 1080 / 60 135 Mbit/s 168,75

Mbit/s 405 Mbit/s 540 Mbit/s

5.1 36 864 983 040 4096 × 2304 / 252048 × 1080 / 100 240 Mbit/s 300 Mbit/s 720 Mbit/s 960 Mbit/s

Guido H. BruckBildverarbeitung - Folie 131

25.09.2013

KommunikationsTechnik

3.14.34 AVCHDSubtype High Definition(AVCHD-HD) Standard Definition(AVCHD-SD)

Frame size in pixels 1920×10801440×1080 1280×720 720×480 720×576

Frame rate29.97, interlaced

25, interlaced23.976, progressive

59.94, progressive50, progressive

23.976, progressive29.97, interlaced 25, interlaced

Frame aspect ratio 16:9 4:3, 16:9Video Compression MPEG-4 AVC/H.264Luminance sampling frequency

74.25 MHz55.7 MHz 74.25 MHz 13.5 MHz 13.5 MHz

Chroma sampling format 4:2:0

Quantization 8 bits (both luminance and chrominance)SystemStream type MPEG transport stream

System data rate up to 18 Mbit/s (DVD media)up to 24 Mbit/s (all other media)

Guido H. BruckBildverarbeitung - Folie 132

25.09.2013

KommunikationsTechnik

3.14.35 AVCHD 2.0

Subtype AVCHD Progressive AVCHD 3D (stereoscopic)Frame size in pixels 1440×1080 1920×1080 1280×720 1920×1080

Frame rate 59.94, progressive50, progressive

59.94, progressive50, progressive

23.976, progressive25, interlaced

29.97, interlacedFrame aspect ratio 16:9Video Compression MPEG-4 AVC/H.264Luminance sampling frequency 111.4 MHz 148.5 MHz 74.25 MHz

Chroma sampling format 4:2:0

Quantization 8 bits (both luminance and chrominance)SystemStream type MPEG transport streamSystem data rate up to 28 Mbit/s

34

Guido H. BruckBildverarbeitung - Folie 133

25.09.2013

KommunikationsTechnik

3.15.1 High Efficiency Video Coding (HEVC)• MPEG-H part 2 (ISO/IEC 23008-2)• ITU-T Recommendation H.265• Increased video resolution• Increased parallel processing architectures

• The video coding layer of HEVC employs the same hybrid approach (inter-/intrapicture prediction and 2-D transform coding) used in all video compression standards since H.261.

Guido H. BruckBildverarbeitung - Folie 134

25.09.2013

KommunikationsTechnik

3.15.2 High Efficiency Video Coding (HEVC)Typical HEVC video encoder

Quelle: Gary J. Sullivan, Jens-Rainer Ohm, Woo-Jin Han, Thomas Wiegand: Overview of the High Efficiency Video Coding (HEVC) Standard IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, VOL. 22, NO. 12, DECEMBER 2012

Guido H. BruckBildverarbeitung - Folie 135

25.09.2013

KommunikationsTechnik

3.15.3 High Efficiency Video Coding (HEVC)• Each picture is split into block-shaped regions, with the exact block partitioning

being conveyed to the decoder. • The first picture of a video sequence is coded using only intrapicture prediction, with

no dependence on other pictures• For all remaining pictures of a sequence or between random access points,

interpicture temporally predictive coding modes are typically used for most blocks. The encoding process for interpicture prediction consists of choosing motion data comprising the selected reference picture and motion vector (MV) to be applied for predicting the samples of each block. The encoder and decoder generate identical interpicture prediction signals by applying motion compensation (MC) using the MV and mode decision data, which are transmitted as side information.

• The residual signal of the intra- or interpicture prediction, which is the difference between the original block and its prediction, is transformed by a linear spatial transform. The transform coefficients are then scaled, quantized, entropy coded, and transmitted together with the prediction information.

Quelle: Gary J. Sullivan, Jens-Rainer Ohm, Woo-Jin Han, Thomas Wiegand: Overview of the High Efficiency Video Coding (HEVC) Standard IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, VOL. 22, NO. 12, DECEMBER 2012

Guido H. BruckBildverarbeitung - Folie 136

25.09.2013

KommunikationsTechnik

3.15.4 High Efficiency Video Coding (HEVC)• The encoder duplicates the decoder processing loop (see gray-shaded boxes in

3.15.2 such that both will generate identical predictions for subsequent data.• Video material to be encoded by HEVC is generally expected to be input as

progressive scan imagery.• No explicit coding features are present in the HEVC design to support the use of

interlaced scanning, as interlaced scanning is no longer used for displays and is becoming substantially less common for distribution.

• A metadata syntax has been provided in HEVC to allow an encoder to indicate that interlace-scanned video has been sent by coding each field (i.e., the even or odd numbered lines of each video frame) of interlaced video as a separate picture or that it has been sent by coding each interlaced frame as an HEVC coded picture. This provides an efficient method of coding interlaced video without burdening decoders with a need to support a special decoding process for it.

Quelle: Gary J. Sullivan, Jens-Rainer Ohm, Woo-Jin Han, Thomas Wiegand: Overview of the High Efficiency Video Coding (HEVC) Standard IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, VOL. 22, NO. 12, DECEMBER 2012

35

Guido H. BruckBildverarbeitung - Folie 137

25.09.2013

KommunikationsTechnik

3.15.5 High Efficiency Video Coding (HEVC)

Quelle: Jérôme VIERON HEVC: High-Efficiency Video Coding - Next generation video compression - WBU-ISOG FORUM 27 28 November 2012

Guido H. BruckBildverarbeitung - Folie 138

25.09.2013

KommunikationsTechnik

3.15.6 High Efficiency Video Coding (HEVC)Coding tree units and coding tree block (CTB) structure:• size selected by the encoder, can be larger than a traditional macroblock. • The CTU consists of a luma CTB and the corresponding chroma CTBs and syntax

elements. The size L×L of a luma CTB can be chosen as L = 16, 32, or 64 samples, with the larger sizes typically enabling better compression.

• HEVC then supports a partitioning of the CTBs into smaller blocks using a tree structure and quadtree-like signaling.

Quelle: Gary J. Sullivan, Jens-Rainer Ohm, Woo-Jin Han, Thomas Wiegand: Overview of the High Efficiency Video Coding (HEVC) Standard IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, VOL. 22, NO. 12, DECEMBER 2012

Guido H. BruckBildverarbeitung - Folie 139

25.09.2013

KommunikationsTechnik

3.15.7 High Efficiency Video Coding (HEVC)Coding units (CUs) and coding blocks (CBs): • The quadtree syntax of the CTU specifies the size and positions of its luma and

chroma CBs. The root of the quadtree is associated with the CTU. • Hence, the size of the luma CTB is the largest supported size for a luma CB. The

splitting of a CTU into luma and chroma CBs is signaled jointly. One luma CB and ordinarily two chroma CBs, together with associated syntax, form a coding unit (CU).

• A CTB may contain only one CU or may be split to form multiple CUs, and each CU has an associated partitioning into prediction units (PUs) and a tree of transform units (TUs).

Prediction units and prediction blocks (PBs): • The decision whether to code a picture area using interpicture or intrapicture

prediction is made at the CU level. A PU partitioning structure has its root at the CU level.

Quelle: Gary J. Sullivan, Jens-Rainer Ohm, Woo-Jin Han, Thomas Wiegand: Overview of the High Efficiency Video Coding (HEVC) Standard IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, VOL. 22, NO. 12, DECEMBER 2012

Guido H. BruckBildverarbeitung - Folie 140

25.09.2013

KommunikationsTechnik

3.15.8 High Efficiency Video Coding (HEVC)

Quelle: Jérôme VIERON HEVC: High-Efficiency Video Coding - Next generation video compression - WBU-ISOG FORUM 27 28 November 2012

36

Guido H. BruckBildverarbeitung - Folie 141

25.09.2013

KommunikationsTechnik

3.15.9 High Efficiency Video Coding (HEVC)Transform Units (TUs) and transform blocks (TBs): • The prediction residual is coded using block transforms. A TU tree structure has its

root at the CU level. The luma CB residual may be identical to the luma transform block (TB) or may be further split into smaller luma TBs. The same applies to the chroma TBs. Integer basis functions similar to those of a discrete cosine transform (DCT) are defined for the square TB sizes 4×4, 8×8, 16×16, and 32×32. For the 4×4 transform of luma intrapicture prediction residuals, an integer transform derived from a form of discrete sine transform (DST) is alternatively specified.

Motion vector signaling: • Advanced motion vector prediction (AMVP) is used, including derivation of several

most probable candidates based on data from adjacent PBs and the reference picture. A merge mode for MV coding can also be used, allowing the inheritance of MVs from temporally or spatially neighboring PBs. Moreover, compared to H.264/MPEG-4 AVC, improved skipped and direct motion inference are also specified.

Quelle: Gary J. Sullivan, Jens-Rainer Ohm, Woo-Jin Han, Thomas Wiegand: Overview of the High Efficiency Video Coding (HEVC) Standard IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, VOL. 22, NO. 12, DECEMBER 2012

Guido H. BruckBildverarbeitung - Folie 142

25.09.2013

KommunikationsTechnik

3.15.10 High Efficiency Video Coding (HEVC)Motion compensation: • Quarter-sample precision is used for the MVs, and 7-tap or 8-tap filters are used for

interpolation of fractional-sample positions (compared to six-tap filtering of half-sample positions followed by linear interpolation for quarter-sample positions in H.264/MPEG-4 AVC). Similar to H.264/MPEG-4 AVC, multiple reference pictures are used. For each PB, either one or two motion vectors can be transmitted, resulting either in unipredictive or bipredictive coding, respectively.

Intrapicture prediction: • The decoded boundary samples of adjacent blocks are used as reference data for

spatial prediction in regions where interpicture prediction is not performed. Intrapicture prediction supports 33 directional modes (compared to eight such modes in H.264/MPEG-4 AVC), plus planar (surface fitting) and DC (flat) prediction modes. The selected intrapicture prediction modes are encoded by deriving most probable modes (e.g., prediction directions) based on those of previously decoded neighboring PBs.

Quelle: Gary J. Sullivan, Jens-Rainer Ohm, Woo-Jin Han, Thomas Wiegand: Overview of the High Efficiency Video Coding (HEVC) Standard IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, VOL. 22, NO. 12, DECEMBER 2012

Guido H. BruckBildverarbeitung - Folie 143

25.09.2013

KommunikationsTechnik

3.15.11 High Efficiency Video Coding (HEVC)Intrapicture prediction modes

Quelle: Gary J. Sullivan, Jens-Rainer Ohm, Woo-Jin Han, Thomas Wiegand: Overview of the High Efficiency Video Coding (HEVC) Standard IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, VOL. 22, NO. 12, DECEMBER 2012

Guido H. BruckBildverarbeitung - Folie 144

25.09.2013

KommunikationsTechnik

3.15.12 High Efficiency Video Coding (HEVC)Quantization control: • As in H.264/MPEG-4 AVC, uniform reconstruction quantization (URQ) is used in

HEVC, with quantization scaling matrices supported for the various transform block sizes.

Entropy coding: • Context adaptive binary arithmetic coding (CABAC) is used for entropy coding. This

is similar to the CABAC scheme in H.264/MPEG-4 AVC, but has undergone several improvements to improve its throughput speed (especially for parallel-processing architectures) and its compression performance, and to reduce its context memory requirements.

In-loop deblocking filtering: • A deblocking filter similar to the one used in H.264/MPEG-4 AVC is operated within

the interpicture prediction loop. However, the design is simplified in regard to its decision-making and filtering processes, and is made more friendly to parallel processing.

Quelle: Gary J. Sullivan, Jens-Rainer Ohm, Woo-Jin Han, Thomas Wiegand: Overview of the High Efficiency Video Coding (HEVC) Standard IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, VOL. 22, NO. 12, DECEMBER 2012

37

Guido H. BruckBildverarbeitung - Folie 145

25.09.2013

KommunikationsTechnik

3.15.13 High Efficiency Video Coding (HEVC)Sample adaptive offset (SAO): • A nonlinear amplitude mapping is introduced within the interpicture prediction loop

after the deblocking filter. Its goal is to better reconstruct the original signal amplitudes by using a look-up table that is described by a few additional parameters that can be determined by histogram analysis at the encoder side.

Quelle: Gary J. Sullivan, Jens-Rainer Ohm, Woo-Jin Han, Thomas Wiegand: Overview of the High Efficiency Video Coding (HEVC) Standard IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, VOL. 22, NO. 12, DECEMBER 2012

Guido H. BruckBildverarbeitung - Folie 146

25.09.2013

KommunikationsTechnik

3.15.14 High Efficiency Video Coding (HEVC)• New features are introduced in the HEVC standard to enhance the parallel

processing capability or modify the structuring of slice data for packetizationpurposes.

Tiles: • The option to partition a picture into rectangular regions called tiles has been

specified. The main purpose of tiles is to increase the capability for parallel processing rather than provide error resilience. Tiles are independently decodable regions of a picture that are encoded with some shared header information. Tiles can additionally be used for the purpose of spatial random access to local regions of video pictures. A typical tile configuration of a picture consists of segmenting the picture into rectangular regions with approximately equal numbers of CTUs in each tile. Tiles provide parallelism at a more coarse level of granularity (picture/ subpicture), and no sophisticated synchronization of threads is necessary for their use.

Quelle: Gary J. Sullivan, Jens-Rainer Ohm, Woo-Jin Han, Thomas Wiegand: Overview of the High Efficiency Video Coding (HEVC) Standard IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, VOL. 22, NO. 12, DECEMBER 2012

Guido H. BruckBildverarbeitung - Folie 147

25.09.2013

KommunikationsTechnik

3.15.15 High Efficiency Video Coding (HEVC)Wavefront parallel processing: • When wavefront parallel processing (WPP) is enabled, a slice is divided into rows of

CTUs. The first row is processed in an ordinary way, the second row can begin to be processed after only two CTUs have been processed in the first row, the third row can begin to be processed after only two CTUs have been processed in the second row, and so on. The context models of the entropy coder in each row are inferred from those in the preceding row with a two-CTU processing lag. WPP provides a form of processing parallelism at a rather fine level of granularity, i.e., within a slice. WPP may often provide better compression performance than tiles (and avoid some visual artifacts that may be induced by using tiles).

Quelle: Gary J. Sullivan, Jens-Rainer Ohm, Woo-Jin Han, Thomas Wiegand: Overview of the High Efficiency Video Coding (HEVC) Standard IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, VOL. 22, NO. 12, DECEMBER 2012

Guido H. BruckBildverarbeitung - Folie 148

25.09.2013

KommunikationsTechnik

3.15.16 High Efficiency Video Coding (HEVC)Dependent slice segments: • A structure called a dependent slice segment allows data associated with a

particular wavefront entry point or tile to be carried in a separate NAL unit, and thus potentially makes that data available to a system for fragmented packetization with lower latency than if it were all coded together in one slice. A dependent slice segment for a wavefront entry point can only be decoded after at least part of the decoding process of another slice segment has been performed. Dependent slice segments are mainly useful in low-delay encoding, where other parallel tools might penalize compression performance.

Quelle: Gary J. Sullivan, Jens-Rainer Ohm, Woo-Jin Han, Thomas Wiegand: Overview of the High Efficiency Video Coding (HEVC) Standard IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, VOL. 22, NO. 12, DECEMBER 2012

38

Guido H. BruckBildverarbeitung - Folie 149

25.09.2013

KommunikationsTechnik

3.15.17 High Efficiency Video Coding (HEVC)Transform Coding• HEVC uses transform coding of the prediction error residual in a similar manner as

in prior standards. The residual block is partitioned into multiple square TBs. The supported transform block sizes are 4×4, 8×8, 16×16, and 32×32.

Core Transform: • Two-dimensional transforms are computed by applying 1-D transforms in the

horizontal and vertical directions. The elements of the core transform matrices were derived by approximating scaled DCT basis functions, under considerations such as limiting the necessary dynamic range for transform computation and maximizing the precision and closeness to orthogonality when the matrix entries are specified as integer values. For simplicity, only one integer matrix for the length of 32 points is specified, and subsampled versions are used for other sizes.

Quelle: Gary J. Sullivan, Jens-Rainer Ohm, Woo-Jin Han, Thomas Wiegand: Overview of the High Efficiency Video Coding (HEVC) Standard IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, VOL. 22, NO. 12, DECEMBER 2012

Guido H. BruckBildverarbeitung - Folie 150

25.09.2013

KommunikationsTechnik

3.15.18 High Efficiency Video Coding (HEVC)

Quelle: Jérôme VIERON HEVC: High-Efficiency Video Coding - Next generation video compression - WBU-ISOG FORUM 27 28 November 2012

Guido H. BruckBildverarbeitung - Folie 151

25.09.2013

KommunikationsTechnik

3.15.19 High Efficiency Video Coding (HEVC)

Quelle: Gary J. Sullivan, Jens-Rainer Ohm, Woo-Jin Han, Thomas Wiegand: Overview of the High Efficiency Video Coding (HEVC) Standard IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, VOL. 22, NO. 12, DECEMBER 2012

Guido H. BruckBildverarbeitung - Folie 152

25.09.2013

KommunikationsTechnik

3.15.20 High Efficiency Video Coding (HEVC)

Quelle: Jérôme VIERON HEVC: High-Efficiency Video Coding - Next generation video compression - WBU-ISOG FORUM 27 28 November 2012

LevelMax Luma picture size

(samples)Max luma sample rate

(samples/sec)Main Tier

Max bit rate (1000 bits/s)

High Tiermax bit rate (1000 bits/s)

Min comp. ratio

122.133.144.155.15.266.16.2

36,864122 880245 760552 960983 040

2,228 2242,228,2248,912,8968,912 8968,912 896

33,423,36033,423 36033,423,360

552,9603,686 4007,372 800

16 588,80033 177 60066 846,720

133 693,440267 386,880534 773,760

1,069,547,5201,069,547,5202 005 401,6004,010,803,200

1281 5003 0006 000

10 00012 00020 00025 00040 00060 00060 000

120 000240 000

-----

3000050,000100 000160 000240 000240,000480 000800,000

2222244688886