anwendung von bilddatenk ompressionsverfahrenprojektseminar (praktikum) bild verarbeitung – image...
Post on 03-Feb-2020
3 Views
Preview:
TRANSCRIPT
1
Guido H. BruckBildverarbeitung - Folie 1
25.09.2013
KommunikationsTechnik
Projektseminar Bildverarbeitung – Image Processing
Guido H. Bruckguido.bruck@kommunikationstechnik.org
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
Freitags von 12:00 Uhr -15:00 Uhr, Beginn 12.04.2019, Raum BB130
Guido H. BruckBildverarbeitung - Folie 3
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
Guido H. BruckBildverarbeitung - Folie 4
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.
2
Guido H. BruckBildverarbeitung - Folie 5
25.09.2013
KommunikationsTechnik
Interessierende Bildgrößen und Datenraten
• BildgrößenSD-Video-Quellmaterial 720 x 576 Bildelemente
• Datenratenvon 50 kBit/s bis 2MBit/s
Guido H. BruckBildverarbeitung - Folie 6
25.09.2013
KommunikationsTechnik
Testsequenzen zur Bildcodierung
Guido H. BruckBildverarbeitung - Folie 7
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
Guido H. BruckBildverarbeitung - Folie 8
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
3
Guido H. BruckBildverarbeitung - Folie 9
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 10
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 11
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/
Guido H. BruckBildverarbeitung - Folie 12
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
4
Guido H. BruckBildverarbeitung - Folie 13
25.09.2013
KommunikationsTechnik
Grundlagen
• Bildqualitätsbeurteilung, Untersuchungsparameter• Irrelevanzreduktion • Zeilensprung (Interlace)• Beispiel für Bilddatenkompression
– Pixelanzahlen– Abtastformate– MPEG-Codierung
Guido H. BruckBildverarbeitung - Folie 14
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 15
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
Guido H. BruckBildverarbeitung - Folie 16
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
5
Guido H. BruckBildverarbeitung - Folie 17
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 18
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 19
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
Guido H. BruckBildverarbeitung - Folie 20
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
6
Guido H. BruckBildverarbeitung - Folie 21
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 22
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 23
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:
Guido H. BruckBildverarbeitung - Folie 24
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.
7
Guido H. BruckBildverarbeitung - Folie 25
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 26
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 27
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 7 n=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
Guido H. BruckBildverarbeitung - Folie 28
25.09.2013
KommunikationsTechnik
3.1.8 Diskrete-Cosinus-Transformation (DCT)
Basisfunktionen der 2-dimensionalen DCT für eine Blocklänge von N=8:
8
Guido H. BruckBildverarbeitung - Folie 29
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 30
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 31
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
Guido H. BruckBildverarbeitung - Folie 32
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
9
Guido H. BruckBildverarbeitung - Folie 33
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 34
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 35
25.09.2013
KommunikationsTechnik
3.1.15 8x8 DCT Beispiel
Guido H. BruckBildverarbeitung - Folie 36
25.09.2013
KommunikationsTechnik
3.1.16 8x8 DCT-Beispiel
10
Guido H. BruckBildverarbeitung - Folie 37
25.09.2013
KommunikationsTechnik
3.1.17 8x8 DCT-Beispiel
Guido H. BruckBildverarbeitung - Folie 38
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 39
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
Guido H. BruckBildverarbeitung - Folie 40
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
11
Guido H. BruckBildverarbeitung - Folie 41
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 42
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 43
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.
Guido H. BruckBildverarbeitung - Folie 44
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.
12
Guido H. BruckBildverarbeitung - Folie 45
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 46
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 47
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.
Guido H. BruckBildverarbeitung - Folie 48
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
13
Guido H. BruckBildverarbeitung - Folie 49
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 50
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 51
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
Guido H. BruckBildverarbeitung - Folie 52
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
14
Guido H. BruckBildverarbeitung - Folie 53
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 54
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 55
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
Guido H. BruckBildverarbeitung - Folie 56
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
15
Guido H. BruckBildverarbeitung - Folie 57
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 58
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 59
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
Guido H. BruckBildverarbeitung - Folie 60
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
16
Guido H. BruckBildverarbeitung - Folie 61
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 62
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 63
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
Guido H. BruckBildverarbeitung - Folie 64
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)
17
Guido H. BruckBildverarbeitung - Folie 65
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 66
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 67
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
Guido H. BruckBildverarbeitung - Folie 68
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
18
Guido H. BruckBildverarbeitung - Folie 69
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 70
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 71
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
Guido H. BruckBildverarbeitung - Folie 72
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.
19
Guido H. BruckBildverarbeitung - Folie 73
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 74
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 75
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
Guido H. BruckBildverarbeitung - Folie 76
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
20
Guido H. BruckBildverarbeitung - Folie 77
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 78
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 79
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
Guido H. BruckBildverarbeitung - Folie 80
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
21
Guido H. BruckBildverarbeitung - Folie 81
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 82
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 83
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
Guido H. BruckBildverarbeitung - Folie 84
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
22
Guido H. BruckBildverarbeitung - Folie 85
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 86
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 87
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
Guido H. BruckBildverarbeitung - Folie 88
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
23
Guido H. BruckBildverarbeitung - Folie 89
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 90
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 91
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)
Guido H. BruckBildverarbeitung - Folie 92
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
24
Guido H. BruckBildverarbeitung - Folie 93
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 94
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 95
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
Guido H. BruckBildverarbeitung - Folie 96
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
25
Guido H. BruckBildverarbeitung - Folie 97
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 98
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 99
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
Guido H. BruckBildverarbeitung - Folie 100
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
26
Guido H. BruckBildverarbeitung - Folie 101
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 102
25.09.2013
KommunikationsTechnik
3.14.6 H.264/AVC - Variable Block Sizes
Guido H. BruckBildverarbeitung - Folie 103
25.09.2013
KommunikationsTechnik
3.14.7 H.264/AVC - Motion Scale Example
T=1 T=2
Guido H. BruckBildverarbeitung - Folie 104
25.09.2013
KommunikationsTechnik
3.14.8 H.264/AVC - Motion Scale Example
T=1 T=2
27
Guido H. BruckBildverarbeitung - Folie 105
25.09.2013
KommunikationsTechnik
3.14.9 H.264/AVC - Motion Scale Example
T=1 T=2
Guido H. BruckBildverarbeitung - Folie 106
25.09.2013
KommunikationsTechnik
3.14.10 H.264/AVC – Variable Block Size Example
T=1 T=2
Guido H. BruckBildverarbeitung - Folie 107
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
Guido H. BruckBildverarbeitung - Folie 108
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
28
Guido H. BruckBildverarbeitung - Folie 109
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 110
25.09.2013
KommunikationsTechnik
3.14.14 H.264/AVC – 4x4 Intra Prediction Modes
• 9 types for luminance signal
Guido H. BruckBildverarbeitung - Folie 111
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
Guido H. BruckBildverarbeitung - Folie 112
25.09.2013
KommunikationsTechnik
3.14.16 H.264/AVC – 4x4 Intra Prediction Modes
29
Guido H. BruckBildverarbeitung - Folie 113
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 114
25.09.2013
KommunikationsTechnik
3.14.18 H.264/AVC - Intra Prediction
Guido H. BruckBildverarbeitung - Folie 115
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)
Guido H. BruckBildverarbeitung - Folie 116
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
30
Guido H. BruckBildverarbeitung - Folie 117
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 118
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 119
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.
Guido H. BruckBildverarbeitung - Folie 120
25.09.2013
KommunikationsTechnik
3.14.24 H.264/AVC - Deblocking Filters
1) Without Filter 2) with H264/AVC Deblocking
31
Guido H. BruckBildverarbeitung - Folie 121
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 122
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 123
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
Guido H. BruckBildverarbeitung - Folie 124
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
32
Guido H. BruckBildverarbeitung - Folie 125
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 126
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 127
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
Guido H. BruckBildverarbeitung - Folie 128
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
33
Guido H. BruckBildverarbeitung - Folie 129
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 130
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 131
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
Guido H. BruckBildverarbeitung - Folie 132
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.
34
Guido H. BruckBildverarbeitung - Folie 133
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 134
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 135
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
Guido H. BruckBildverarbeitung - Folie 136
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
35
Guido H. BruckBildverarbeitung - Folie 137
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 138
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 139
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
Guido H. BruckBildverarbeitung - Folie 140
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
36
Guido H. BruckBildverarbeitung - Folie 141
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 142
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 143
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
Guido H. BruckBildverarbeitung - Folie 144
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
37
Guido H. BruckBildverarbeitung - Folie 145
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 146
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 147
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
Guido H. BruckBildverarbeitung - Folie 148
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
38
Guido H. BruckBildverarbeitung - Folie 149
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 150
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 151
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
top related